1import{Dr as e,Et as t,Gn as n,Kn as r,Ot as i,Tr as a,Vn as o,_r as s,_t as c,at as l,br as u,ei as d,en as f,f as p,gt as m,hr as h,ht as g,p as _,pn as v,vt as y,yn as b,yt as x}from"./DKhRV_XD.js";import{q as ee}from"./CJ1xrPqG.js";import{k as te,t as ne}from"./CzadGzg9.js";import{n as re}from"./C-6T4v8M.js";import{w as S}from"#entry";import{n as ie}from"./BeSqUgIc.js";import{n as ae}from"./Cekqz4ly.js";import{n as oe,t as C}from"./BWXkXPQ2.js";import{c as w,i as se,r as T,s as ce}from"./ClpPPQOZ.js";import{a as le}from"./ldA8f0dC.js";import{n as E,r as ue,t as de}from"./CkG9v1V3.js";import{l as fe}from"./BMk7McAj.js";import{t as pe}from"./DXTqc9oR.js";import{n as me,t as he}from"./yrJLThl2.js";import{t as ge}from"./Pr8xqFQO.js";import{a as D,t as O}from"./BSdv-uEB.js";import{t as k}from"./CIO3uBgH.js";import{t as _e}from"./CKeaZ8bB.js";var A={class:`flex h-44 items-center justify-center bg-white`},j={key:1,class:`text-xs font-semibold text-copy-muted`},ve={class:`card-body min-h-0 gap-2 bg-base-200`},M={class:`card-title line-clamp-2 text-base`},ye={class:`line-clamp-3 text-sm leading-6 text-base-content/70`},be=Object.assign(i({__name:`ProductCatalogCard`,props:{product:{},to:{}},setup(t){let{t:n}=re(),i=t,a=g(()=>w(i.product.imageMedia||i.product.image)||i.product.image||i.product.name);return(i,o)=>{let s=C,l=te;return v(),c(l,{to:t.to,class:`app-hover-lift card h-full max-h-88 overflow-hidden rounded-box bg-base-200 shadow-sm hover:-translate-y-1.5 hover:shadow-lg`},{default:r(()=>[m(`figure`,A,[t.product.image||t.product.imageMedia?(v(),c(s,{key:e(a),media:t.product.imageMedia||t.product.image,alt:t.product.name,sizes:`(min-width: 1280px) 20vw, (min-width: 1024px) 30vw, (min-width: 640px) 40vw, calc(100vw - 6rem)`,class:`h-full w-full object-contain`},null,8,[`media`,`alt`])):(v(),x(`span`,j,d(e(n)(`common.noImage`)),1))]),m(`div`,ve,[m(`h4`,M,d(t.product.name),1),m(`p`,ye,d(t.product.desc),1)])]),_:1},8,[`to`])}}}),{__name:`ProductCatalogCard`}),xe=[`instrument`,`reagent`,`consumables`],Se={id:``,label:``,hint:``};function N(e){let t=de(e);if(t)return t;let n=e.trim().toLowerCase().replace(/[\s_]+/g,`-`);return n.includes(`仪å¨`)?`instrument`:n.includes(`è¯å`)?`reagent`:n.includes(`èæ`)?`consumables`:null}function Ce(e){return E(e)}function we(e){return typeof e==`string`&&N(e)||`instrument`}function P(e){let t={instrument:[],reagent:[],consumables:[]},n=D(e,O);for(let e of n){let n=N(e.menuId||e.label);if(!n)continue;let r=[];for(let t of e.children)t.children.length?r.push({title:t.label,items:t.children.map(e=>({id:e.menuId||e.id,label:e.label,hint:e.label}))}):r.push({title:t.label,items:[{id:t.menuId||t.id,label:t.label,hint:t.label}]});t[n]=r}return t}function Te(e){let t={},n=D(e,O),r=(e,n)=>{for(let i of e){for(let[e,r]of Oe(i,n))t[e]=r;i.children.length&&r(i.children,n)}};for(let e of n){let t=N(e.menuId||e.label);t&&r(e.children,t)}return t}function F(e){let t={},n=D(e,O),r=e=>{for(let n of e){let e=n.menuId||n.id;t[e]=L(n),n.children.length&&r(n.children)}};return r(n),t}function Ee(e,t,n){let r={instrument:{},reagent:{},consumables:{}};for(let i of e){let e=ke(i,t,n);if(!e)continue;let a=r[e.tab];a[e.menuId]||(a[e.menuId]=[]);let o=a[e.menuId];o&&o.push({id:e.id,documentId:e.documentId,slug:e.slug,tab:e.tab,menuId:e.menuId,name:e.name,desc:e.desc,image:e.image,imageMedia:e.imageMedia})}return r}function De(e,t,n){let r=je(e?.videos||[],n),i=r[0]||``,a=r[1]||i,o=i,s=e?.covers||[],c=n.extractMediaUrl(s)||Me(t,n),l=s.length?s:R(t,n)||c;return{title:e?.title||``,description:e?.description||``,inlineVideoUrl:o,fullscreenVideoUrl:a||o,poster:c,posterMedia:l}}function I(e){return e.trim().toLowerCase()}function Oe(e,t){let n={tab:t,menuId:e.menuId||e.id};return[[`id:${e.id}`,n],[`slug:${e.menuId}`,n],[`name:${I(e.label)}`,n]]}function L(e){return[e.menuId||e.id,...e.children.flatMap(L)]}function ke(e,t,n){let r=e.category,i=r?.id?t[`id:${r.id}`]:void 0,a=r?.slug?t[`slug:${r.slug}`]:void 0,o=r?.name?t[`name:${I(r.name)}`]:void 0,s=i||a||o,c=s?.tab;if(!c)return null;let l=s?.menuId||r?.slug||`default`,u=e.covers,d=n.extractMediaUrl(u);return{id:e.id,documentId:e.documentId,slug:e.slug,tab:c,menuId:l,name:e.name,desc:e.description,image:d,imageMedia:u}}function Ae(e){return/\.(mp4|webm|ogg|mov|m4v)(\?|#|$)/i.test(e)}function je(e,t){return e.filter(e=>e.mime.startsWith(`video/`)||Ae(e.url)).map(e=>
1t.toAbsoluteMediaUrl(e.url)).filter((e,t,n)=>!!e&&n.indexOf(e)===t)}function Me(e,t){for(let n of e){let e=t.extractMediaUrl(n.covers);if(e)return e}return``}function R(e,t){for(let n of e){let e=n.covers;if(t.extractMediaUrl(e))return e}return null}function z(e,t,n,r){return[e,t,n||`default`,Math.max(1,r)].join(`:`)}function B(e,t){let n=t.trim();return(n?e.find(e=>e.id===n||e.id.toLowerCase()===n.toLowerCase()):null)?.id||e[0]?.id||``}function V(e,t){let n=t[e]||(e?[e]:[]);return n.length?{filters:{product_category:{product_category_slug:{$in:n}}}}:{}}function H(e,t){let n=e.filters&&typeof e.filters==`object`&&!Array.isArray(e.filters)?e.filters:{},r=t===`collapsed`?{listing_visibility:{$eq:`collapsed`}}:{$or:[{listing_visibility:{$eq:`standard`}},{listing_visibility:{$null:!0}}]};return{...e,filters:{$and:[n,r]}}}async function Ne(e){let{fetchProductCategories:t,fetchProductsPageItems:n,fetchAllProductItems:r,fetchProductsCount:i,fetchProductBanner:c}=k(`product-catalog`),l=ge({namespace:`product-catalog`,locale:e.locale,selectionKey:g(()=>`${a(e.tab)}:${a(e.menu)||`default`}:${Math.max(1,a(e.page))}`),emptySnapshot:()=>({products:[],categories:[],categoryTree:[],banner:null,selectedTab:`instrument`,selectedMenu:``,page:1,pageCount:1,total:0,collapsedTotal:0,partial:!1}),async loadShared(){let e=!1,[n,r]=await Promise.all([t(),c().catch(t=>(e=!0,T(`product-catalog:banner`,t),null))]);return{categories:n.categories,categoryTree:n.categoryTree,banner:r,partial:e}},resolveCacheKey(t,n){let r=a(e.tab);return z(n,r,B(P(t.categoryTree)[r].flatMap(e=>e.items),a(e.menu)),a(e.page))},async loadSnapshot(t){let r=a(e.tab),o=B(P(t.categoryTree)[r].flatMap(e=>e.items),a(e.menu)),s=V(o,F(t.categoryTree)),[c,l]=o?await Promise.all([n(H(s,`standard`),a(e.page),9),i(H(s,`collapsed`))]):[{items:[],page:1,pageSize:9,pageCount:1,total:0},0];return{...t,products:c.items,selectedTab:r,selectedMenu:o,page:c.page,pageCount:c.pageCount,total:c.total,collapsedTotal:l,partial:t.partial}},getSnapshotCacheKey(e,t){return z(t,e.selectedTab,e.selectedMenu,e.page)},getSharedFromSnapshot(e){return{categories:e.categories,categoryTree:e.categoryTree,banner:e.banner,partial:e.partial}},getReadState(e){return e.partial?`partial`:e.products.length?`ready`:`empty`},onError(e){T(`product-catalog:primary`,e)}}),d=u(null),f=u([]),p=s(!1),m=u(null),h=0;async function _(){let t=++h,n=d.value?.data.value;if(!e.showCollapsed||!a(e.showCollapsed)||!n?.selectedMenu||!n.collapsedTotal){f.value=[],m.value=null,p.value=!1;return}p.value=!0,m.value=null;try{let e=F(n.categoryTree),i=await r(H(V(n.selectedMenu,e),`collapsed`));t===h&&(f.value=i)}catch(e){t===h&&(f.value=[],m.value=e,T(`product-catalog:collapsed`,e))}finally{t===h&&(p.value=!1)}}o([()=>!!(e.showCollapsed&&a(e.showCollapsed)),()=>a(e.locale),()=>d.value?.data.value.selectedTab,()=>d.value?.data.value.selectedMenu,()=>d.value?.data.value.collapsedTotal],()=>{_()},{immediate:!0});let v=await l;d.value=v;function y(t,n,r=1){return v.applyCachedSnapshot(z(a(e.locale),t,n,r))}return{...v,applyCachedSelection:y,collapsedProducts:f,collapsedLoading:p,collapsedError:m,refreshCollapsedProducts:_}}var Pe={class:`app-page-stack`},Fe={class:`app-section-heading`},Ie={class:`app-section-kicker`},Le={class:`app-section-title uppercase`},Re={class:`app-section-copy`},ze={class:`app-list-tabs tabs tabs-box rounded-box bg-base-100 p-2 shadow-md sm:p-3`},Be=[`aria-label`,`checked`,`onChange`],Ve={class:`tab-content min-w-0 rounded-box bg-base-100 p-2 sm:p-4`},He={class:`grid min-w-0 gap-6 lg:grid-cols-[minmax(0,0.3fr)_minmax(0,0.7fr)] lg:items-start lg:gap-8`},Ue={class:`min-w-0`},We={class:`app-panel-heading mb-5`},Ge={class:`text-2xl font-black sm:text-3xl`},Ke={class:`mt-2 text-sm leading-7 text-base-content/70`},qe={key:2,class:`grid gap-4 sm:grid-cols-2 xl:grid-cols-3`},Je={key:5,class:`mt-6 border-t border-base-300 pt-5`},Ye=[`aria-expanded`,`aria-controls`,`onClick`],Xe=[`id`],Ze={class:`min-h-0 pt-5`},Qe={key:2,class:`grid gap-4 sm:grid-cols-2 xl:grid-cols-3`},U=S(i({__name:`index`,async setup(i){let a,u,te=xe,S=p(),C=_(),{t:w,locale:T}=re(),E=ne();le(()=>w(`products.title`),{description:()=>w(`products.heroDesc`)});let{extractMediaUrl:de,toAbsoluteMediaUrl:ge}=ce(oe()),D=s(null),O=s(U(S.query.category)),k=G(S.query.menu),A=s(!1),j=h({instrument:O.value===`instrument`?k:``,reagent:O.value===`reagent`?k:``,consumables:O.value===`consumables`?k:``}),ve=g(()=>j[O.value]||G(S.query.menu)),M=h({instrument:O.value===`instrument`?W(S.query.page):1,reagent:O.value===`reagent`?W(S.query.page):1,consumables:O.value===`consumables`?W(S.query.page):1}),ye=g(()=>M[O.value]),{data:N,loading:F,readState:I,refresh:Oe,applyCachedSelection:L,collapsedProducts:ke,collapsedLoading:Ae,collapsedError:je,refreshCollapsedProducts:Me}=([a,u]=n(()=>Ne({locale:T,tab:O,menu:ve,page:ye,showCollapsed:A})),a=await a,u(),a),R=g(()=>N.value.products),z=g(()=>N.value.categoryTree),B=g(()=>N.value.banner);function V(e){return w(e===`instrument`?`nav.products.instrument`:e===`reagent`?`nav.products.reagent`:`nav.products.consumables`)}function H(e){return Ce(e)}function U(e){return we(e)}function W(e){let t=Array.isArray(e)?e[0]:e,n=Number.parseInt(String(t||``),
110);return Number.isFinite(n)&&n>1?n:1}function G(e){return Array.isArray(e)?String(e[0]||``):typeof e==`string`?e:``}function $e(e){return L(e,Y(e),M[e])}function et(e,t=Y(e),n=M[e]||1){let r={category:H(e)};return t&&(r.menu=t),n>1&&(r.page=String(n)),r}function K(e,t=M[e]){let n=et(e,Y(e),t),r=`#product-tabs`;(S.query.category!==n.category||S.query.menu!==n.menu||S.query.page!==n.page||Object.keys(S.query).length>Object.keys(n).length||S.hash!==r)&&C.replace({query:n,hash:r})}function tt(e){O.value!==e&&(O.value=e),$e(e),K(e)}let q={extractMediaUrl:de,toAbsoluteMediaUrl:ge},nt=g(()=>P(z.value)),rt=g(()=>Te(z.value)),it=g(()=>Ee(R.value,rt.value,q)),at=g(()=>Ee(ke.value,rt.value,q)),J=g(()=>De(B.value,R.value,q)),ot=g(()=>J.value.title),st=g(()=>J.value.description),ct=g(()=>J.value.inlineVideoUrl),lt=g(()=>J.value.fullscreenVideoUrl),ut=g(()=>J.value.poster),dt=g(()=>J.value.posterMedia),ft=nt;function pt(e,t){j[e]=t,St(e),$e(e),O.value===e&&K(e,1)}function Y(e){return mt(e,j[e])||(e===O.value?mt(e,G(S.query.menu)):``)||(N.value.selectedTab===e?N.value.selectedMenu:``)||X(e)[0]?.id||``}function X(e){return ft.value[e].flatMap(e=>e.items)}function mt(e,t){let n=t.trim();return n&&X(e).find(e=>e.id===n||e.id.toLowerCase()===n.toLowerCase())?.id||``}function ht(e){let t=Y(e);return X(e).find(e=>e.id===t)||(X(e)[0]??{...Se,label:w(`products.allProducts`),hint:w(`products.selectCategoryHint`)})}function gt(e){let t=Y(e);return t&&(it.value[e]||{})[t]||[]}function _t(e){return N.value.selectedTab===e?N.value.pageCount:1}function Z(e){return N.value.selectedTab===e?N.value.collapsedTotal:0}function Q(e){return O.value===e&&A.value}function vt(e){if(!Q(e))return[];let t=Y(e);return at.value[e]?.[t]||[]}function yt(e){O.value===e&&(A.value=!A.value)}function bt(e){return he(M[e],_t(e))}function xt(e,t){M[e]=Math.min(Math.max(1,t),_t(e)),O.value===e&&(K(e),f($))}function St(e){M[e]=1}function Ct(e){return N.value.selectedTab===e?gt(e):[]}function wt(e,t,n){let r=t.documentId||t.slug||t.id||t.name||String(n);return`${e}-${Y(e)||`none`}-${t.menuId||`none`}-${r}`}function Tt(e){let t=e.slug||e.documentId,n=et(e.tab,Y(e.tab),M[e.tab]);return E(t?{path:ue(e.tab,t),query:n}:{path:`/products`,query:n})}function $(){ie(D.value,{block:`start`})}function Et(){C.push(E({path:`/resources`,query:{category:`solution`}}))}return o(()=>[S.query.category,S.query.menu,S.query.page],async([e,t,n])=>{O.value=U(e),M[O.value]=W(n),typeof e==`string`&&e.trim()&&(await f(),$())},{immediate:!0}),(n,i)=>{let a=pe,o=_e,s=fe,u=ae,f=be,p=se,h=me;return v(),x(`div`,Pe,[t(a,{eyebrow:e(w)(`products.byline`),title:e(ot),description:e(st),poster:e(ut),"poster-media":e(dt),"inline-video-url":e(ct),"fullscreen-video-url":e(lt)||e(ct),"image-alt":e(w)(`products.bannerAlt`),"primary-label":e(w)(`products.browseProducts`),"secondary-label":e(w)(`products.findSolutions`),"video-primary-label":e(w)(`common.fullVideo`),onPrimary:$,onSecondary:Et},null,8,[`eyebrow`,`title`,`description`,`poster`,`poster-media`,`inline-video-url`,`fullscreen-video-url`,`image-alt`,`primary-label`,`secondary-label`,`video-primary-label`]),m(`section`,{id:`product-tabs`,ref_key:`productTabsRef`,ref:D,class:`app-reveal min-w-0 scroll-mt-26`},[m(`div`,Fe,[m(`div`,null,[m(`p`,Ie,d(e(w)(`products.byline`)),1),m(`h2`,Le,d(e(w)(`products.title`)),1)]),m(`p`,Re,d(e(w)(`products.subtitle`)),1)]),m(`div`,ze,[(v(!0),x(l,null,b(e(te),n=>(v(),x(l,{key:n},[m(`input`,{type:`radio`,name:`product_tabs`,class:`mb-2 tab h-14 px-4 text-base font-semibold checked:border-primary checked:bg-primary checked:text-primary-content sm:px-6 sm:text-lg`,"aria-label":V(n),checked:e(O)===n,onChange:e=>tt(n)},null,40,Be),m(`div`,Ve,[m(`div`,He,[t(o,{groups:e(ft)[n],"selected-id":Y(n),onSelect:e=>pt(n,e)},null,8,[`groups`,`selected-id`,`onSelect`]),m(`div`,Ue,[m(`div`,We,[m(`h3`,Ge,d(ht(n).label),1),m(`p`,Ke,d(ht(n).hint),1)]),e(F)?(v(),c(s,{key:0,label:e(w)(`common.loading`),class:`grid gap-4 sm:grid-cols-2 xl:grid-cols-3`},{default:r(()=>[(v(),x(l,null,b(6,e=>m(`div`,{key:`${n}-loading-${e}`,class:`app-skeleton-card`},[...i[0]||=[m(`div`,{class:`skeleton aspect-4/3 w-full rounded-box`},null,-1),m(`div`,{class:`skeleton mt-4 h-5 w-4/5 rounded-field`},null,-1),m(`div`,{class:`skeleton mt-3 h-4 w-3/5 rounded-field`},null,-1)]])),64))]),_:2},1032,[`label`])):e(I)===`upstream_error`?(v(),c(u,{key:1,onRetry:e(Oe)},null,8,[`onRetry`])):Ct(n).length?(v(),x(`div`,qe,[(v(!0),x(l,null,b(Ct(n),(e,t)=>(v(),c(f,{key:wt(n,e,t),product:e,to:Tt(e)},null,8,[`product`,`to`]))),128))])):(v(),c(p,{key:3})),e(I)===`upstream_error`?y(``,!0):(v(),c(h,{key:4,class:`mt-6`,"current-page":e(M)[n],"total-pages":_t(n),"page-range":bt(n),onPage:e=>xt(n,e)},null,8,[`current-page`,`total-pages`,`page-range`,`onPage`])),Z(n)?(v(),x(`div`,Je,[m(`button`,{type:`button`,class:`app-btn app-btn-secondary app-btn-sm`,"aria-expanded":Q(n),"aria-controls":`collapsed-products-${n}`,onClick:e=>yt(n)},d(Q(n)?e(w)(`products.hideAdditionalProducts`):e(w)(`products.showAdditionalProducts`,{count:Z(n)})),9,Ye),t(ee,{name:`collapsed-products`},{default:r(()=>[Q(n)?(v(),x(`div`,{key:0,id:`collapsed-products-${n}`,class:`collapsed-products-panel opacity-100`},[m(`div`,Ze,[e(Ae)?(v(),c(s,{key:0,label:e(w)(`common.loading`),class:`grid gap-4 sm:grid-cols-2 xl:grid-cols-3`},{default:r(()=>[(v(!0),x(l,null,b(Math.min(Z(n),3),e=>(v(),x(`div`,{key:`${n}-collapsed-loading-${e}`,class:`app-skeleton-card`},[...i[1]||=[m(`div`,{class:`skeleton aspect-4/3 w-full rounded-box`},null,-1),m(`div`,{class:`skeleton mt-4 h-5 w-4/5 rounded-field`},null,-1)]]))),128))]),_:2},1032,[`label`])):e(je)?(v(),c(u,{key:1,onRetry:e(Me)},null,8,[`onRetry`])):vt(n).length?(v(),x(`div`,Qe,[(v(!0),x(l,null,b(vt(n),(e,t)=>(v(),c(f,{key:wt(n,e,t),product:e,to:Tt(e)},null,8,[`product`,`to`]))),128))])):(v(),c(p,{key:3}))])],8,Xe)):y(``,!0)]),_:2},1024)])):y(``,!0)])])])],64))),128))])],512)])}}}),[[`__scopeId`,`data-v-3bec0a81`]]);export{U as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.