PageSourceSearch

https://extraoptical.com/47.4dfb37524d61c8082c83.js

js extraoptical.com collected 2026-09-26 17:14:15 UTC 46,209 bytes, 210 lines download raw bytes

1/*! @version 1.1.8 */
2(window.webpackJsonp=window.webpackJsonp||[]).push([[47],{"+uHG":function(e,t,n){"use strict"
3n.d(t,"a",function(){return d})
4var r,a=n("J4zp"),c=n.n(a),i=n("VX74"),o=n("q1tI"),s=n("VkAN"),u=n.n(s),l=Object(i.gql)(r||(r=u()(['\n    query getCheckoutCategoryProducts($categoryId: String!, $pageSize: Int!) {\n        categories(filters: { ids: { eq: $categoryId } }) {\n            items {\n                uid\n                id\n                name\n                products(pageSize: $pageSize) {\n                    total_count\n                    items {\n                        uid\n                        id\n                        sku\n                        name\n                        url_key\n                        url_suffix\n                        stock_status\n                        # Needs a prescription first; see AccessoryCard.\n                        prescription_glasses\n                        power_fastframe\n                        cyl_fastframe\n                        axis_fastframe\n                        small_image {\n                            url\n                        }\n                        price_range {\n                            minimum_price {\n                                final_price {\n                                    currency\n                                    value\n                                }\n                                regular_price {\n                                    currency\n                                    value\n                                }\n                                discount {\n                                    percent_off\n                                }\n                            }\n                        }\n                        price {\n                            regularPrice {\n                                amount {\n                                    currency\n                                    value\n                                }\n                            }\n                        }\n                        ... on ConfigurableProduct {\n                            configurable_options {\n                                attribute_id\n                                attribute_code\n                                label\n                                values {\n                                    uid\n                                    value_index\n                                    label\n                                    store_label\n                                    # A colour swatch answers with a thumbnail\n                                    # or a hex value; a size answers with\n                                    # neither, and renders as a text tile.\n                                    swatch_data {\n                                        value\n                                        ... on ImageSwatchData {\n                                            thumbnail\n                                        }\n                                    }\n                                }\n                            }\n                            variants {\n                                attributes {\n                                    code\n                                    value_index\n                                }\n                                product {\n                                    uid\n                                    sku\n                                    # The services are told apart by variant\n                                    # name ("Synstest" / "AI Synstest"); their\n                                    # option labels are colours and say nothing.\n                                    name\n                                    small_image {\n                                        url\n                                    }\n                                    # Also for useGalleryItemSwatches: its\n                                    # getConfigPrice reads the variant\'s own\n                                    # deprecated price field once a selection\n                                    # matches one.\n                                    price {\n                                        regularPrice {\n                                            amount {\n                                                currency\n                                                value\n                                            }\n                                        }\n                                    }\n                                    price_range {\n                                        minimum_price {\n                                            final_price {\n                                                currency\n                                                value\n                                            }\n                                            regular_price {\n                                                currency\n                                                value\n                                            }\n                                            discount {\n                                                percent_off\n                                            }\n                                        }\n                                    }\n                                }\n                            }\n                        }\n                    }\n                }\n            }\n        }\n    }
4\n'])))
5function readCategoryProducts(e){var t=e&&e.categories&&e.categories.items
6if(!t||!t.length||!t[0])return null
7var n=t[0].products
8return n&&n.items||null}var d=function useCategoryProducts(e,t){var n=e.categoryId,r=e.pageSize,a=e.deferDelayMs,s=e.label,u=Object(o.useState)(!1),d=c()(u,2),g=d[0],m=d[1],h=Object(o.useRef)(null),p=Object(o.useRef)(null)
9Object(o.useEffect)(function(){if(t&&t.length&&!g){if(a)return h.current=setTimeout(function(){m(!0)},a),function(){h.current&&clearTimeout(h.current)}
10m(!0)}},[t,g,a])
11var f=Object(o.useMemo)(function(){return{categoryId:n,pageSize:r}},[n,r]),b=Object(i.useQuery)(l,{fetchPolicy:"cache-and-network",nextFetchPolicy:"cache-first",variables:f,skip:!g}),y=b.data,_=b.loading,v=b.error
12Object(o.useEffect)(function(){},[g,_,v,y,n,s])
13var k=Object(o.useMemo)(function(){var e=readCategoryProducts(y)
14return e&&e.length?(p.current=e,e):p.current},[y])
15return{products:k,isLoading:!(!t||!t.length||v)&&!k&&(!g||!!_)}}},"+uOo":function(e,t,n){"use strict"
16var r=n("lwsE"),a=n.n(r),c=n("PJYZ"),i=n.n(c),o=n("7W2i"),s=n.n(o),u=n("a1gu"),l=n.n(u),d=n("Nsbk"),g=n.n(d),m=n("oShl"),h=n.n(m),p=n("lSNA"),f=n.n(p)
17function _createSuper(e){var t=function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1
18if(Reflect.construct.sham)return!1
19if("function"==typeof Proxy)return!0
20try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}()
21return function _createSuperInternal(){var n,r=g()(e)
22if(t){var a=g()(this).constructor
23n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments)
24return l()(this,n)}}var b=function(e){s()(CheckoutError,e)
25var t=_createSuper(CheckoutError)
26function CheckoutError(e){var n
27a()(this,CheckoutError)
28for(var r=arguments.length,c=new Array(r>1?r-1:0),o=1;o<r;o++)c[o-1]=arguments[o]
29return n=t.call(this,c),f()(i()(n),"hasPaymentExpired",function(){return n.error.graphQLErrors.some(function(e){return e.message.includes("Unable to place order:")})}),n.name="CheckoutError",n.message=function removeGQLTag(e){return e.replace(/GraphQL error:/,"")}(e.message),n.error=e,n}return CheckoutError}(h()(Error))
30t.a=b},"/vD/":function(e,t,n){"use strict"
31n.d(t,"a",function(){return c}),n.d(t,"b",function(){return i})
32var r=n("q1tI"),a=Object(r.createContext)({}),c=a.Provider,i=function useCheckoutUI(){return Object(r.useContext)(a)}},"0yUf":function(e,t,n){"use strict"
33n.d(t,"a",function(){return c}),n.d(t,"b",function(){return i})
34var r=n("q1tI"),a=Object(r.createContext)({}),c=a.Provider,i=function useCheckoutDataContext(){return Object(r.useContext)(a)}},"30eM":function(e,t,n){"use strict"
35n.d(t,"a",function(){return StockStatusMessageSafe})
36var r=n("pVnL"),a=n.n(r),c=n("cDf5"),i=n.n(c),o=n("QbOh"),s=n("q1tI"),u=n.n(s)
37function StockStatusMessageSafe(e){for(var t=Array.isArray(e&&e.cartItems)?e.cartItems:[],n=[],r=0;r<t.length;r++){var c=t[r]
38c&&c.product&&"object"===i()(c.product)&&"stock_status"in c.product&&n.push(c)}return 0===n.length?null:u.a.createElement(o.a,a()({},e,{cartItems:n}))}},B6X2:function(e,t,n){"use strict"
39n.d(t,"a",function(){return r}),n.d(t,"b",function(){return a}),n.d(t,"c",function(){return c})
40var r={categoryId:"1491",pageSize:12,deferDelayMs:3e3,label:"accessories"},a={categoryId:r.categoryId,pageSize:r.pageSize,deferDelayMs:0,label:"accessories offer"},c={categoryId:"1492",pageSize:5,deferDelayMs:0,label:"synstest"}},F6vj:function(e,t,n){"use strict"
41n.d(t,"a",function(){return m}),n.d(t,"b",function(){return b})
42var r,a,c,i,o,s=n("VkAN"),u=n.n(s),l=n("VX74"),d=n("W9vc"),g=n("j8eB"),m=Object(l.gql)(r||(r=u()(["\n    fragment AvailablePaymentMethodsFragment on Cart {\n        id\n        available_payment_methods {\n            code\n            title\n        }\n    }\n"]))),h=Object(l.gql)(a||(a=u()(["\n    query getPaymentInformation($cartId: String!) {\n        cart(cart_id: $cartId) {\n            id\n            selected_payment_method {\n                code\n            }\n            billing_address {\n                firstname\n                lastname\n                country {\n                    code\n                }\n                street\n                city\n                region {\n                    code\n                }\n                postcode\n                telephone\n            }\n            shipping_addresses {\n                firstname\n                lastname\n                street\n                city\n                region {\n                    code\n                }\n                postcode\n                country {\n                    code\n                }\n                telephone\n            }\n            ...AvailablePaymentMethodsFragment\n        }\n    }\n    ","\n"])),m),p=Object(l.gql)(c||(c=u()(["\n    query getPaymentNonce($cartId: String!) {\n        cart(cart_id: $cartId) @client {\n            id\n            paymentNonce\n        }\n    }\n"]))),f=Object(l.gql)(i||(i=u()(['\n    mutation setBillingAddress(\n        $cartId: String!\n        $firstname: String!\n        $lastname: String!\n        $street: [String]!\n        $city: String!\n        $regionCode: String!\n        $postcode: String!\n        $countryCode: String!\n        $telephone: String!\n    ) {\n        setBillingAddressOnCart(\n            input: {\n                cart_id: $cartId\n                billing_address: {\n                    address: {\n                        firstname: $firstname\n                        lastname: $lastname\n                        street: $street\n                        city: $city\n                        region: $regionCode\n                        postcode: $postcode\n                        country_code: $countryCode\n                        telephone: $telephone\n                        save_in_address_book: fal
42se\n                    }\n                }\n            }\n        ) @connection(key: "setBillingAddressOnCart") {\n            cart {\n                id\n                billing_address {\n                    firstname\n                    lastname\n                    country {\n                        code\n                    }\n                    street\n                    city\n                    region {\n                        code\n                    }\n                    postcode\n                    telephone\n                }\n                ...ShippingMethodsCheckoutFragment\n                ...PriceSummaryFragment\n                ...AvailablePaymentMethodsFragment\n            }\n        }\n    }\n    ',"\n    ","\n    ","\n"])),g.c,d.a,m),b=Object(l.gql)(o||(o=u()(['\n    mutation setPaymentMethodOnCart($cartId: String!, $code: String!) {\n        setPaymentMethodOnCart(\n            input: { cart_id: $cartId, payment_method: { code: $code } }\n        ) @connection(key: "setPaymentMethodOnCart") {\n            cart {\n                id\n                selected_payment_method {\n                    code\n                    title\n                }\n            }\n        }\n    }\n'])))
43t.c={queries:{getPaymentNonceQuery:p,getPaymentInformation:h},mutations:{setBillingAddressMutation:f,setPaymentMethodMutation:b}}},FS65:function(e,t,n){(t=e.exports=n("JPst")(!1)).push([e.i,".stockStatusMessage-root-2Xp {\n    border-left: 5px solid rgb(var(--venia-global-color-error));\n    color: rgb(var(--venia-global-color-error));\n    font-size: var(--venia-typography-body-S-fontSize);\n    font-weight: var(--venia-global-fontWeight-semibold);\n    line-height: var(--venia-global-lineHeight-300);\n    padding: 1rem 0 1rem 1rem;\n}\n",""]),t.locals={root:"stockStatusMessage-root-2Xp"}},LTPd:function(e,t,n){"use strict"
44n.d(t,"a",function(){return isPhysicalTerminalStore})
45var r=["physical_no"]
46function whichStore(e){var t=function getStoreCode(e){try{var t=e
47if(!t){var r=n("wNa6"),a=r&&r.default
48t=a&&a.getState&&a.getState()}var c=t&&t.storeConfig
49return c&&c.code||""}catch(e){return""}}(e).toLowerCase()
50if(!t||0!==t.indexOf("physical"))return"online"
51for(var a=0;a<r.length;a++)if(t===r[a])return"screen"
52return"terminal"}function isPhysicalTerminalStore(e){return"terminal"===whichStore(e)}},OsiK:function(e,t,n){"use strict"
53n.r(t),n.d(t,"default",function(){return je})
54var r=n("o0o1"),a=n.n(r),c=n("yXPU"),i=n.n(c),o=n("J4zp"),s=n.n(o),u=n("VX74"),l=n("17x9"),d=n("q1tI"),g=n.n(d),m=n("dDsW"),h=n("Ty5D"),p=n("J3e4"),f=n("lcLu"),b=n("uyCd"),y=n("y1Xp"),_=n("MVZn"),v=n.n(_),k=n("+uOo"),O=n("LTPd"),P=n("zyrO"),S=n("9872"),C=n("FITH")
55var j=n("vjVk"),I=n("h7jq"),M=[]
56function waitForCartMergeWindow(e){var t=Date.now()
57return new Promise(function(n){var r=!1
58!function tick(){if(e())n()
59else{var a=Date.now()-t,c=function isCartMergeInProgress(){try{if("true"!==localStorage.getItem("cartMergeInProgress"))return!1
60var e=parseInt(localStorage.getItem("cartMergeInProgressTimestamp"),10)
61return!!e&&Date.now()-e<1e4}catch(e){return!1}}()
62c&&(r=!0),(r||a>=2e3)&&!c||a>=15e3?n():setTimeout(tick,100)}}()})}var E=function useCheckoutData(){var e=Object(y.a)(P.b),t=Object(y.a)(I.b),n=e.getCheckoutDetailsQuery,r=e.getCustomerQuery,a=t.getCustomAttributeMetadata,c=Object(C.b)(),i=s()(c,1)[0].isSignedIn,o=Object(S.b)(),l=s()(o,1)[0].cartId,g=Object(u.useQuery)(r,{fetchPolicy:"cache-and-network",nextFetchPolicy:"cache-first",skip:!i}),m=g.data,h=g.loading,p=g.error,f=g.refetch,b=Object(d.useState)(!1),_=s()(b,2),v=_[0],k=_[1],O=Object(d.useRef)(i),E=v||i&&!O.current
63Object(d.useEffect)(function(){var e=O.current
64O.current=i,!e&&i&&k(!0),i||k(!1)},[i]),Object(d.useEffect)(function(){if(v){var e=!1
65return waitForCartMergeWindow(function isCancelled(){return e}).then(function(){e||k(!1)}),function(){e=!0}}},[v])
66var w=!!l&&!E,x=Object(u.useQuery)(n,{fetchPolicy:"cache-and-network",nextFetchPolicy:"cache-first",n
66otifyOnNetworkStatusChange:!0,variables:{cartId:l},skip:!w}),A=x.data,N=x.loading,D=x.networkStatus,T=x.error,R=x.refetch,L=Object(u.useQuery)(a,{fetchPolicy:"cache-and-network",nextFetchPolicy:"cache-first"}).data,q=!(!A||!A.cart),$=w&&(!!N||D<7),B=Object(d.useRef)($)
67B.current=$
68var z=Object(u.useApolloClient)()
69Object(d.useRef)(q?l:null)
70Object(d.useEffect)(function(){},[q,w,l,z,n])
71var F=Object(d.useState)(null),Q=s()(F,2),U=Q[0],V=Q[1],W=Object(d.useRef)(null),X=Object(d.useRef)(null),Y=Object(d.useRef)(!1)
72Object(d.useEffect)(function(){if(w){var e=W.current
73if(W.current=l,X.current||(X.current=l),e&&e!==l&&!B.current){var t=!1
74return Y.current=!0,Promise.resolve(R({cartId:l})).catch(function(e){0}).then(function(){Y.current=!1,t||V(l)}),function(){t=!0}}}},[l,w,R]),Object(d.useEffect)(function(){if(w&&q&&!Y.current){var e=l===X.current
75$&&!e||V(function(e){return e===l?e:l})}},[l,w,$,q])
76var G=q&&U===l,H=!(!l||$||q||!T),J=Object(d.useState)(!1),K=s()(J,2),Z=K[0],ee=K[1]
77Object(d.useEffect)(function(){if(!l){var e=setTimeout(function(){ee(!0)},8e3)
78return function(){clearTimeout(e)}}ee(!1)},[l])
79var te=Object(d.useMemo)(function(){return G?function formatCheckoutData(e){if(!e||!e.cart)return{cartItems:[],isCartEmpty:!0,isSubscribeNewsletter:!1}
80var t=e.cart
81return{cartItems:t.items||[],isCartEmpty:!t.total_quantity,isSubscribeNewsletter:t.newsletter_subscribe||!1}}(A):{cartItems:M,isCartEmpty:!l&&Z||H,isSubscribeNewsletter:!1}},[G,A,l,Z,H]),ne=te.cartItems,re=te.isCartEmpty,ae=te.isSubscribeNewsletter,ce=Object(d.useMemo)(function(){return ne&&ne.length&&L&&L.customAttributeMetadata&&L.customAttributeMetadata.items?Object(j.b)(ne,null,L.customAttributeMetadata.items):ne},[ne,L]),ie=m&&m.customer,oe=G?A.cart:void 0,se=oe&&oe.available_payment_methods?oe.available_payment_methods:null,ue=Object(d.useMemo)(function(){return oe&&Array.isArray(oe.shipping_addresses)?oe.shipping_addresses:M},[oe]),le=ue.length>0?ue[0]:null,de=!(!le||!le.firstname),ge=!!(le&&le.selected_shipping_method&&le.selected_shipping_method.method_code),me=!(!i||!h||m),he=!l&&!Z||E||!!l&&!G&&!H||me
82return{cartId:l,isSignedIn:i,customer:ie,cart:oe,cartItems:ce,isCartEmpty:re,isSubscribeNewsletter:ae,hasShippingAddress:de,hasShippingMethod:ge,shippingAddresses:ue,availablePaymentMethods:se,customAttributeMetadata:L&&L.customAttributeMetadata?L.customAttributeMetadata:void 0,customerLoading:me,customerError:p,refetchCustomer:f,hasCartData:G,isDataLoading:he,checkoutQueryError:T,refetchCheckout:R}},w=function useCheckoutState(){var e=Object(d.useState)(!1),t=s()(e,2),n=t[0],r=t[1],a=Object(d.useState)(!1),c=s()(a,2),i=c[0],o=c[1],u=Object(d.useState)(!1),l=s()(u,2),g=l[0],m=l[1],h=Object(d.useCallback)(function(e){r("function"!=typeof e?!!e:function(t){try{var n=e(t)
83return"boolean"==typeof n?n:!!n}catch(e){return t}})},[]),p=Object(d.useCallback)(function(){o(!0)},[]),f=Object(d.useCallback)(function(){o(!1)},[]),b=Object(d.useCallback)(function(){globalThis.scrollTo({left:0,top:0,behavior:"smooth"}),o(!0)},[])
84return Object(d.useMemo)(function(){return{isUpdating:n,setIsUpdating:h,reviewOrderButtonClicked:i,setReviewOrderButtonClicked:o,synstestDismissed:g,setSynstestDismissed:m,handleReviewOrder:p,resetReviewOrderButtonClicked:f,setPaymentInformationDone:b}},[n,h,i,g,p,f,b])},x=function usePlaceOrder(e){var t=e.cartId,n=e.placeOrderMutation,r=Object(u.useMutation)(n),c=s()(r,2),o=c[0],l=c[1],g=l.data,m=l.error,h=l.loading,p=Object(d.useCallback)(i()(a.a.mark(function _callee(){return a.a.wrap(function _callee$(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,o({variables:{cartId:t}})
85case 3:e.next=8
86break
87case 5:e.prev=5,e.t0=e.catch(0)
88case 8:case"end":return e.stop()}},_callee,null,[[0,5]])})),[o,t]),f=Object(d.useMemo)(function(){return g&&g.placeOrder&&g.placeOrder.order&&g.placeOrder.order.order_number?g.placeOrder.order.order_number:null},[g])
89return{handlePlaceOrder:p,order:g&&g.placeOrder&&g.placeOrder.order||null,placeOrderLoading:h,orderNumber:f,placeOrderError:m}},A=n("YDDe"),N=function useTerminalSession(){var e=Object(A.a)(),t=Object(d.useState)(!e),n=s()(t,2),r=n[0],a=n[1],c=Object(d.useRef)(!1)
90return Object(d.useEffect)(function(){e&&(c.current||(c.current=!0,a(!0)))},[e]),{isTerminalSessionInitialized:r,terminalStore:e}},D=n("+uHG"),T=n("B6X2"),R=n("ySXH"),L=["right","left","pd","pd_r_l","add","usage"]
91var q=[],$={}
92function toOption(e){var t=Object(R.a)(e,"sku","")
93if(!t)return null
94var n=Object(R.a)(e,"price_range.minimum_price.final_price",null),r=n&&"number"==typeof n.value?n.value:null
95return{sku:t,name:Object(R.a)(e,"name","")||t,value:r,currency:Object(R.a)(n,"currency")||"
95NOK"}}var B=[],z=[],F=function useCheckoutPage(){var e=Object(y.a)(P.b).placeOrderMutation,t=E(),n=t.cartId,r=t.isSignedIn,a=t.customer,c=t.cart,i=t.cartItems,o=t.isCartEmpty,s=t.isSubscribeNewsletter,u=t.hasShippingAddress,l=t.hasShippingMethod,g=t.shippingAddresses,m=t.availablePaymentMethods,h=(t.customAttributeMetadata,t.hasCartData),p=t.isDataLoading,f=t.checkoutQueryError,b=t.refetchCheckout,_=t.customerLoading,S=t.customerError,C=t.refetchCustomer,j=Object(d.useMemo)(function(){return a&&Array.isArray(a.addresses)?a.addresses:B},[a]),I=Object(d.useMemo)(function(){return{cartId:n,cart:c,cartItems:i,refetchCheckout:b,customer:a,customerLoading:_,customerError:S,refetchCustomer:C,addresses:j,addressesLoading:_,addressesError:S,refetchAddresses:C}},[n,c,i,b,a,_,S,C,j]),M=Object(d.useMemo)(function(){return c&&c.id?c.id:n},[c,n]),A=Object(d.useMemo)(function(){return c&&"boolean"==typeof c.is_virtual?!c.is_virtual:!(!i||0===i.length)&&i.some(function(e){if(!e)return!1
96var t=e.configured_variant&&e.configured_variant.__typename
97if(t)return"VirtualProduct"!==t&&"DownloadableProduct"!==t
98var n=e.product&&e.product.__typename
99return!n||"VirtualProduct"!==n&&"DownloadableProduct"!==n})},[c,i]),F=N(),Q=F.isTerminalSessionInitialized,U=F.terminalStore,V=w(),W=Object(D.a)(T.a,i),X=W.products,Y=W.isLoading,G=V.synstestDismissed,H=Object(O.a)(),J=Object(d.useMemo)(function(){return!(!H||G)&&function hasPrescriptionContext(e){if(!Array.isArray(e)||!e.length)return!1
100for(var t=0;t<e.length;t++){var n=Object(R.a)(e[t],"prescription",null)
101if(n){var r=Object(R.a)(n,"prescription_data",null)
102if(r)for(var a=0;a<L.length;a++)if(r[L[a]])return!0
103if(Object(R.a)(n,"selections_data.lenses",null))return!0}}return!1}(i)},[i,H,G]),K=Object(D.a)(T.c,J?i:z),Z=K.products,ee=K.isLoading,te=Object(d.useMemo)(function(){return function getSynstestOptions(e){if(!Array.isArray(e)||!e.length)return q
104for(var t=[],n=0;n<e.length;n++){var r=e[n]
105if(r){var a=Object(R.a)(r,"variants",null)
106if(Array.isArray(a)&&a.length)for(var c=0;c<a.length;c++){var i=toOption(Object(R.a)(a[c],"product",null))
107i&&t.push(i)}else{var o=toOption(r)
108o&&t.push(o)}}}return t.length<2?t.length?t:q:(t.sort(function(e,t){var n=null===e.value?-1:e.value
109return(null===t.value?-1:t.value)-n}),t)}(Z)},[Z]),ne=Object(d.useMemo)(function(){return function getSynstestCartQuantities(e,t){if(!(Array.isArray(e)&&e.length&&Array.isArray(t)&&t.length))return $
110for(var n=new Set,r=0;r<e.length;r++)n.add(e[r].sku)
111for(var a={},c=!1,i=0;i<t.length;i++){var o=t[i],s=Object(R.a)(o,"configured_variant.sku",null)||Object(R.a)(o,"product.sku",null)
112if(s&&n.has(s)){var u=Number(Object(R.a)(o,"quantity",0))||0
113a[s]=(a[s]||0)+u,c=!0}}return c?a:$}(te,i)},[te,i]),re=Object(d.useMemo)(function(){return!!J&&(!function hasCategoryProductInCart(e,t){if(!Array.isArray(e)||!e.length)return!1
114var n=Number(t)
115if(!n)return!1
116for(var r=0;r<e.length;r++){var a=Object(R.a)(e[r],"product.categories",null)
117if(Array.isArray(a)&&a.length)for(var c=0;c<a.length;c++)if(a[c]&&Number(a[c].id)===n)return!0}return!1}(i,T.c.categoryId)&&!Object.keys(ne).length)},[i,J,ne]),ae=Object(d.useMemo)(function(){return v()({},V,{isSynstestAsked:J,isSynstestUnanswered:re,isSynstestLoading:ee,synstestOptions:te,synstestQuantities:ne})},[V,J,re,ee,te,ne]),ce=x({cartId:M,placeOrderMutation:e}),ie=ce.handlePlaceOrder,oe=ce.placeOrderLoading,se=ce.orderNumber,ue=ce.placeOrderError,le=Object(d.useMemo)(function(){return p||U&&!Q},[p,U,Q]),de=Object(d.useMemo)(function(){return ue?new k.a(ue):f?new k.a(f):void 0},[ue,f])
118return{cartItems:i,customer:a,cart:c,shippingAddresses:g,isCartEmpty:o,isGuestCheckout:!r,isSignedIn:r,isLoading:le,hasCartData:h,hasShippingAddress:u,hasShippingMethod:l,requiresShipping:A,checkoutUIState:ae,checkoutDataState:I,handlePlaceOrder:ie,orderNumber:se,placeOrderLoading:oe,error:de,hasError:!!de,additionalProducts:X,isLoadingAdditionalProducts:Y,isSubscribeNewsletter:s,availablePaymentMethods:m}},Q=n("QMhA"),U=n("dgmk"),V=g.a.createElement(U.a,{src:Q.a,size:20}),W=n("NPhT"),X=[],Y=function resolveCartItems(e,t){return e&&e.length>0?e:t&&t.items&&t.items.length>0?t.items:X},G=function hasItemsWithPrices(e){return e.some(function(e){var t=Object(R.a)(e,"prices.row_total_including_tax.value")
119return null!=t&&t>0})},H=function isCartEventReady(e,t){if(!e||!e.id)return!1
120if(!t||0===t.length)return!1
121if(!function hasValidItemProducts(e){return e.some(function(e){var t=e&&e.product
122return!(!t||!(t.sku||t.name||t.id||e.id))})}(t))return!1
123if(!function hasCartCurrency(e){return!!Object(R.a)(e,"prices.subtotal_including_tax.currency")}(e))return!1
124var n=function getCartValue(e){if(!e||!e.prices)return null
125var t=e.prices
126return t.subtotal_including_tax&&t.subtotal_including_tax.value||t.grand_total&&t.grand_total.value||t.total_price&&t.total_price.value||null}(e)
127return!(null==n||n<=0)&&function hasItemsWithPositiveQuantity(e){return e.some(function(e){var t=e&&e.quantity
128return null!=t&&t>0})}(t)},J=function hasAddressData(e){return!(!e||!(e.city||e.postcode||e.country&&e.country.code))},K=function useAddPaymentInfoEvent(e){var t=e.cart,n=e.cartItems,r=e.isLoading,c=e.isCartEmpty,o=e.cartMergeInProgress,s=Object(d.useRef)(null),u=Object(d.useCallback)(function(){var e=i()(a.a.mark(function _callee(e){var i,u
129return a.a.wrap(function _callee$(a){for(;;)switch(a.prev=a.next){case 0:if(!(r||c||o)){a.next=2
130break}return a.abrupt("return")
131case 2:if(e){a.next=4
132break}return a.abrupt("return")
133case 4:if(i=(t&&t.id)+"|"+e,s.current!==i){a.next=7
134break}return a.abrupt("return")
135case 7:if(u=Y(n,t),H(t,u)){a.next=10
136break}return a.abrupt("return")
137case 10:return s.current=i,a.next=13,Object(W.a)({cart:t,items:u,payment_method:e},"ADD_PAYMENT_INFO")
138case 13:case"end":return a.stop()}},_callee)}))
139return function(t){return e.apply(this,arguments)}}(),[t,n,r,c,o])
140return{sendAddPaymentInfo:u,addPaymentInfoSentRef:s}},Z=function useAddShippingInfoEvent(e){var t=e.cart,n=e.cartItems,r=e.isLoading,a=e.cartMergeInProgress,c=e.hasS
140hippingAddress,i=e.hasShippingMethod,o=e.shippingAddresses,s=Object(d.useRef)(null),u=Object(d.useMemo)(function(){return function isCartDataReady(e,t){if(!e||!e.id)return!1
141if(!t||0===t.length)return!1
142var n=e.items&&e.items.length>0?e.items:t
143if(0===n.length)return!1
144var r=n.some(function(e){return!(!e.product||!(e.product.sku||e.product.id||e.product.url_key))}),a=!(!e.prices||!e.prices.subtotal_including_tax),c=a?e.prices.subtotal_including_tax.value:null
145return r&&a&&(null!=c&&c>0||G(n))}(t,n)},[t,n])
146Object(d.useEffect)(function(){if(!r&&u&&!a&&c&&i&&o&&o[0]){var e=o[0],l=function buildShippingInfoKey(e){var t=e.selected_shipping_method
147return[e.firstname,e.lastname,e.street&&e.street[0],e.city,e.postcode,t&&t.method_code].join("|")}(e)
148if(l!==s.current){var d=Y(n,t)
149if(0!==d.length)t&&t.prices&&t.prices.subtotal_including_tax&&t.prices.subtotal_including_tax.value&&G(d)&&J(e)&&(s.current=l,Object(W.a)(function buildAddShippingInfoPayload(e){var t=e.cart,n=e.items,r=e.address,a=r.selected_shipping_method
150return{cart:t,items:n,shipping_method:a&&a.carrier_title?a.carrier_title+" - "+a.method_title:"",shipping_cost:a&&a.amount?a.amount.value:0,shipping_address:{city:r.city,region:r.region&&r.region.code,country:r.country&&r.country.code,postal_code:r.postcode}}}({cart:t,items:d,address:e}),"ADD_SHIPPING_INFO"))}}},[r,u,a,c,i,o,t,n])},ee=function useBeginCheckoutEvent(e){var t=e.cart,n=e.cartItems,r=e.customer,a=e.isLoading,c=e.isCartEmpty,i=e.cartMergeInProgress,o=e.viewCartSentRef,s=Object(d.useRef)(!1)
151return Object(d.useEffect)(function(){if(!(s.current||a||c||!o.current||i)){var e=Y(n,t)
152if(H(t,e)){s.current=!0
153var u=t.billing_address
154Object(W.a)(v()({cart:t,items:e,customer:r},J(u)&&{billing_address:u}),"BEGIN_CHECKOUT")}}},[t,n,r,a,c,i,o]),{beginCheckoutSentRef:s}},te=function useCartMergeDetection(e){var t=e.isSignedIn,n=e.cart,r=Object(d.useRef)(t),a=Object(d.useRef)(n&&n.id),c=Object(d.useState)(!1),i=s()(c,2),o=i[0],u=i[1],l=Object(d.useRef)([])
155Object(d.useEffect)(function(){var e=n&&n.id
156if(!r.current&&t){u(!0)
157for(var c=l.current,i=0;i<c.length;i++)c[i]()}o&&e&&e!==a.current&&u(!1),r.current=t,a.current=e},[t,n,o]),Object(d.useEffect)(function(){if(o){var e=setTimeout(function(){u(!1)},1e4)
158return function(){clearTimeout(e)}}},[o])
159return{cartMergeInProgress:o,onMergeDetected:function onMergeDetected(e){"function"==typeof e&&l.current.push(e)}}},ne=function useViewCartEvent(e){var t=e.cart,n=e.cartItems,r=e.isLoading,a=e.isCartEmpty,c=e.cartMergeInProgress,i=Object(d.useRef)(!1)
160return Object(d.useEffect)(function(){if(!(i.current||r||a||c)){var e=Y(n,t)
161H(t,e)&&(i.current=!0,Object(W.a)({cart:t,items:e},"VIEW_CART"))}},[r,a,t,n,c]),{viewCartSentRef:i}},re=function useCheckoutAnalytics(e){var t=e.cart,n=e.cartItems,r=e.customer,a=e.isLoading,c=e.isCartEmpty,i=e.isSignedIn,o=e.hasShippingAddress,s=e.hasShippingMethod,u=e.shippingAddresses,l=te({isSignedIn:i,cart:t}),g=l.cartMergeInProgress,m=l.onMergeDetected,h={cart:t,cartItems:n,isLoading:a,isCartEmpty:c,cartMergeInProgress:g},p=ne(h).viewCartSentRef
162Z({cart:t,cartItems:n,isLoading:a,cartMergeInProgress:g,hasShippingAddress:o,hasShippingMethod:s,shippingAddresses:u})
163var f=ee(v()({},h,{customer:r,viewCartSentRef:p})).beginCheckoutSentRef,b=K(h),y=b.sendAddPaymentInfo,_=b.addPaymentInfoSentRef
164return Object(d.useEffect)(function(){m(function(){p.current=!1,f.current=!1,_.current=null})},[]),{sendAddPaymentInfo:y,cartMergeInProgress:g}},ae=n("/vD/"),ce=n("0yUf"),ie=n("F6vj"),oe=function useStableCallback(e){var t=Object(d.useRef)(e)
165return t.current=e,Object(d.useCallback)(function(){if(t.current)return t.current.apply(null,arguments)},[])},se=n("kriW"),ue=n("55Ip"),le=function CheckoutEmptyState(e){var t=e.classes
166return g.a.createElement("section",{className:t.empty_cart_container},g.a.createElement("h1",{className:t.empty_cart_heading},g.a.createElement(se.a,{id:"checkoutPage.emptyMessage",defaultMessage:"There are no items in your cart."})),g.a.createElement("p",{className:t.empty_cart_text},g.a.createElement(se.a,{id:"checkoutPage.emptyDescription",defaultMessage:"Add something to your cart to continue to checkout."})),g.a.createElement(ue.b,{to:"/",className:t.empty_cart_cta},g.a.createElement(se.a,{id:"checkoutPage.emptyCta",defaultMessage:"Continue shopping"})))}
167le.propTypes={classes:Object(l.shape)({empty_cart_container:l.string,empty_cart_heading:l.string,empty_cart_text:l.string,empty_cart_cta:l.string}).isRequired}
168var de=g.a.memo(le),ge=n("30eM"),me=function CheckoutPageHeading(e){var t=e.classes,n=e.cartItems,r=e.isSignedIn,a=e.customer,c=a&&a.firstname
169return g.a.createElement("header",{className:t.heading_container},g.a.createElement(ge.a,{cartItems:n,message:g.a.createElement(se.a,{id:"checkoutPage.stockStatusMessage",defaultMessage:"An item in your cart is out of stock."})}),g.a.createElement("h1",{className:t.heading},g.a.createElement(se.a,{id:"checkoutPage.heading",defaultMessage:"Your order"})),r&&g.a.createElement("p",{className:t.greeting},c&&g.a.createElement(se.a,{id:"checkoutPage.greeting",defaultMessage:"Welcome {firstname}!",values:{firstname:c}})))}
170me.propTypes={classes:Object(l.shape)({heading_container:l.string,heading:l.string,greeting:l.string}).isRequired,cartItems:l.array,isSignedIn:l.bool,customer:l.object}
171var he=g.a.memo(me),pe=n("LboF"),fe=n.n(pe),be=n("Pbk+"),ye=n.n(be),_e={injectType:"singletonStyleTag",insert:"head",singleton:!0},ve=(fe()(ye.a,_e),ye.a.locals||{}),ke=Object(d.lazy)(function(){return Promise.all([n.e(0),n.e(4),n.e(6),n.e(11),n.e(31)]).then(n.bind(null,"j16r"))}),Oe=Object(d.lazy)(function(){return Promise.all([n.e(0),n.e(12),n.e(35)]).then(n.bind(null,"PaE4"))}),Pe=Object(d.lazy)(function(){return Promise.all([n.e(1),n.e(2),n.e(8),n.e(67)]).then(n.bind(null,"I575"))}),Se="checkmo",Ce=function CheckoutPage(e){var t=e.classes,n=Object(m.a)().formatMessage,r=Object(h.g)(),c=Object(p.a)(),o=s()(c,2)[1].addToast,l=Object(d.useMemo)(function(){return Object(y.a)(ve,t)},[t]),_=Object(u.useMutation)(ie.b),v=s()(_,1)[0],k=F(),P=k.cartItems,S=k.customer,C=k.error,j=k.hasError,I=k.isCartEmpty,M=k.isGuestCheckout,E=k.isSignedIn,w=k.isLoading,x=k.hasCartData,A=k.orderNumber,N=k.placeOrderLoading,D=k.handlePlaceOrder,T=k.additionalProducts,L=k.isLoadingAdditionalProducts,q=k.isSubscribeNewsletter,$=k.hasShippingAddress,B=k.hasShippingMethod,z=k.requiresShipping,Q=k.shippingAddresses,U=k.cart,W=k.availablePaymentMethods,X=k.checkoutUIState,Y=k.checkoutDataState,G=Object(O.a)()||!1,H=Object(d.useMemo)(function(){if(!G)return!1
172if(!W||!W.length)return!1
173for(var e=0;e<W.length;e++)if(W[e]&&W[e].code===Se)return!0
174return!1},[W,G]),J=!!(T&&T.length||L),K=E&&z&&!$,Z=E&&z&&$&&!B,ee=re({cart:U,cartItems:P,customer:S,isLoading:w,isCartEmpty:I,isSignedIn:E,hasShippingAddress:$,hasShippingMethod:B,shippingAddresses:Q}).sendAddPaymentInfo,te=oe(function(){o({type:"error",message:n({id:"checkoutPage.missingShippingAddress",defaultMessage:"Select a shipping address before placing your order."}),dismissable:!0,timeout:5e3})}),ne=oe(i()(a.a.mark(function _callee(){var e,t,r,c,i,s
175return a.a.wrap(function _callee$(a){for(;;)switch(a.prev=a.next){case 0:if(!K){a.next=4
176break}return te(),a.abrupt("return")
177case 4:if(!Z){a.next=7
178break}return a.abrupt("return")
179case 7:if(e=U&&U.email,t=S&&S.email,e||t){a.next=13
180break}return o({type:"error",message:n({id:"checkoutPage.missingEmail",defaultMessage:"Email is required to place an order. Please provide your email address."}),dismissable:!0,timeout:5e3}),a.abrupt("return")
181case 13:if(r=U&&U.selected_payment_method,c=r&&r.code,i=Object(R.a)(U,"prices.grand_total.value",null),s="free"===c&&null!==i&&i<=0,"nets_pos"===c||s){a.next=21
182break}return o({type:"error",message:n({id:"checkoutPage.invalidTerminalPaymentMethod",defaultMessage:"Terminal checkout requires Nets POS payment method. Please wait a moment and try again."}),dismissable:!0,timeout:5e3}),a.abrupt("return")
183case 21:return a.next=23,ee(c)
184case 23:return a.next=25,D()
185case 25:case"end":return a.stop()}},_callee)}))),se=oe(i()(a.a.mark(function _callee2(){var e,t,r
186return a.a.wrap(function _callee2$(a){for(;;)switch(a.prev=a.next){case 0:if(!K){a.next=4
187break}return te(),a.abrupt("return")
188case 4:if(!Z){a.next=7
189break}return a.abrupt("return")
190case 7:if(e=U&&U.email,t=S&&S.email,e||t){a.next=13
191break}return o({type:"error",message:n({id:"checkoutPage.missingEmail",defaultMessage:"Email is required to place an order. Please provide your email address."}),dismissable:!0,timeout:5e3}),a.abrupt("return")
192case 13:if(r=U&&U.id){a.next=16
193break}return a.abrupt("return")
194case 16:return a.next=18,v({variables:{cartId:r,code:Se}})
195case 18:return a.next=20,ee(Se)
196case 20:return a.next=22,D()
197case 22:case"end":return a.stop()}},_callee2)}
197)))
198!function useCheckoutErrorToasts(e){var t=e.error,n=e.hasError,r=e.orderNumber,a=Object(m.a)().formatMessage,c=Object(p.a)(),i=s()(c,2)[1].addToast,o=Object(d.useRef)({msg:null,at:0}),u=Object(d.useCallback)(function(){if(n&&!r){var e=t&&t.message?t.message:a({id:"checkoutPage.errorSubmit",defaultMessage:"Oops! An error occurred while submitting. Please try again."}),c=Date.now(),s=o.current,u=s.msg===e,l=c-s.at>5e3
199u&&!l||(i({type:"error",icon:V,message:e,dismissable:!0,timeout:7e3}),o.current={msg:e,at:c})}},[i,t,a,n,r])
200Object(d.useEffect)(function(){u()},[u])}({error:C,hasError:j,orderNumber:A})
201var ue=n({id:"checkoutPage.titleCheckout",defaultMessage:"Checkout"}),le=Object(d.useRef)(!1)
202return Object(d.useEffect)(function(){A&&!le.current&&(le.current=!0,r.push("/success?order_id="+A))},[A,r]),w&&!x?b.a:I?g.a.createElement("div",{className:l.root},g.a.createElement(f.b,null,ue),g.a.createElement(de,{classes:l})):g.a.createElement(ce.a,{value:Y},g.a.createElement(ae.a,{value:X},g.a.createElement("div",{className:l.root},g.a.createElement(f.b,null,ue),g.a.createElement(he,{classes:l,cartItems:P,isSignedIn:E,customer:S}),g.a.createElement(d.Suspense,{fallback:null},g.a.createElement(ke,{classes:l,cartData:U,isSubscribeNewsletter:q})),g.a.createElement(d.Suspense,{fallback:null},g.a.createElement(Oe,{classes:l,isSignedIn:E,isGuestCheckout:M,customer:S,requiresShipping:z,hasShippingAddress:$,isPlaceOrderBlocked:K||Z,handlePlaceOrder:ne,handlePlaceOrderWithCash:se,hasCashPayment:H,placeOrderLoading:N,checkoutError:C})),J&&g.a.createElement("section",{"aria-label":"Additional products",className:l.cartSectionContainer},g.a.createElement(d.Suspense,{fallback:null},g.a.createElement(Pe,{products:T,isLoading:L,isCartUpdating:X.isUpdating}))))))},je=g.a.memo(Ce)
203Ce.propTypes={classes:Object(l.shape)({root:l.string,heading_container:l.string,heading:l.string,greeting:l.string,empty_cart_container:l.string,empty_cart_heading:l.string,empty_cart_text:l.string,empty_cart_cta:l.string})}},"Pbk+":function(e,t,n){(t=e.exports=n("JPst")(!1)).i(n("WIzc"),""),t.push([e.i,".checkoutPage-root-1yY {\n    padding: 4.5rem 1.5rem;\n}\n\n.checkoutPage-checkoutContent-375 {\n    display: flex;\n    flex-direction: column;\n    gap: 3rem;\n}\n\n.checkoutPage-cartSectionContainer-1R9 {\n    margin: 0 auto;\n    width: 100%;\n    max-width: 75rem;\n}\n\n.checkoutPage-cartSectionContainerMedium-6ZX {\n    margin: 0 auto;\n    width: 100%;\n    max-width: 64rem;\n}\n\n.checkoutPage-cartSectionContainerSmall-3VX {\n    margin: 0 auto;\n    width: 100%;\n    max-width: 48rem;\n}\n\n/* The synstest question, sized to the buttons it sits above rather than to\n   the page: a 500px card reads as part of the place-order moment. */\n.checkoutPage-synstestSection-3mA {\n    margin: 0 auto;\n    width: 100%;\n    max-width: 500px;\n}\n\n/*\n.checkoutContent_hidden {\n    composes: checkoutContent;\n    display: none;\n}
203 */\n\n.checkoutPage-heading_container-3Bm {\n    align-items: center;\n    display: flex;\n    flex-direction: column;\n    gap: 0.5rem;\n    margin-bottom: 2rem;\n}\n\n.checkoutPage-heading-YSM {\n    line-height: 1.25em;\n    text-align: center;\n}\n\n/* Reserved from the first render: the name arrives with the customer query,\n   and an empty box keeps the checkout from jumping when it does. */\n.checkoutPage-greeting-6BC {\n    color: rgb(var(--venia-global-color-gray-700));\n    line-height: 1.5rem;\n    min-height: 1.5rem;\n    text-align: center;\n}\n\n/* .cartLink {\n    composes: root from '~@magento/venia-ui/lib/components/LinkButton/linkButton.css';\n    font-size: inherit;\n} */\n\n/* .stepper_heading {\n    border-bottom: 1px solid rgb(var(--venia-global-color-border));\n    font-size: 1rem;\n    font-weight: 600;\n    padding-bottom: 2rem;\n    text-transform: uppercase;\n} */\n\n/* .shipping_method_heading {\n    composes: stepper_heading;\n}\n\n.payment_information_heading {\n    composes: stepper_heading;\n} */\n\n.checkoutPage-galleryClasses-ESi {\n    padding: 0;\n}\n\n.checkoutPage-signInContainer-3kx {\n    display: grid;\n    grid-auto-flow: column;\n    gap: 1rem;\n    align-items: center;\n    border: 2px solid rgb(var(--venia-global-color-gray-400));\n    border-radius: 0.375rem;\n    padding: 1rem;\n}\n\n.checkoutPage-signInLabel-U3M {\n    font-weight: var(--venia-global-fontWeight-semibold);\n}\n\n.checkoutPage-signInButton-VSf {\n    min-height: auto;\n    min-width: auto;\n    padding: 0.25rem 2rem;\n}\n\n.checkoutPage-empty_cart_container-2mE {\n    align-items: center;\n    display: flex;\n    flex-direction: column;\n    gap: 1rem;\n    margin: 0 auto 1.5rem;\n    max-width: 32rem;\n    padding: 4rem 0;\n    text-align: center;\n}\n\n.checkoutPage-empty_cart_heading-2Id {\n    line-height: 1.25em;\n}\n\n.checkoutPage-empty_cart_text-1fv {\n    color: rgb(var(--venia-global-color-gray-700));\n}\n\n.checkoutPage-empty_cart_cta-n3m {\n    align-items: center;\n    display: inline-flex;\n    justify-content: center;\n    text-decoration: none;\n}\n\n.checkoutPage-shipping_container-2U_ {\n    padding: 4rem 0;\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    gap: 1rem;\n    margin: 0 auto;\n    max-width: 500px;\n}\n\n.checkoutPage-shipping_block-vmm {\n    display: flex;\n    flex-direction: column;\n    width: 100%;\n}\n\n.checkoutPage-shipping_block-vmm:empty {\n    display: none;\n}\n\n.checkoutPage-payment_section-3ft {\n    margin-top: 1rem;\n}\n\n.checkoutPage-payment_information-pFA {\n    /* PaymentInformation component has own styles */\n}\n\n.checkoutPage-price_adjustments_container-3xQ {\n    margin: 0 auto;\n    max-width: 500px;\n    width: 100%;\n}\n\n.checkoutPage-items_review_container-2bT {\n    grid-column: 1 / span 1;\n}\n\n/* TODO: price_summary_container */\n/* .summaryContainer {\n    grid-column: 1 / span 1;\n} */\n\n.checkoutPage-formErrors-3Ol {\n    padding: 1rem;\n    display: grid;\n    grid-column: 1 / span 1;\n    color: var(--global-color-error);\n    text-align: center;\n}\n\n@media (min-width: 961px) {\n    .checkoutPage-summaryContainer-3Om {\n        top: 8.5rem;\n        height: min-content;\n    }\n}\n\n.checkoutPage-review_order_button-1_U {\n    grid-column: 1 / span 1;\n    margin: auto;\n}\n\n.checkoutPage-placeholderButtons-1Nv {\n    display: flex;\n    justify-content: center;\n    flex-wrap: wrap;\n    align-items: center;\n    gap: var(--space-text-tight);\n}\n\n.checkoutPage-placeholderButton-38C {\n    flex-grow: 1;\n}\n\n/*\n * Mobile-specific styles.\n */\n\n@media (max-width: 960px) {\n    .checkoutPage-root-1yY {\n        padding: 1.5rem;\n    }\n\n    .checkoutPage-signInContainer-3kx {\n        grid-row-start: 1;\n        grid-auto-flow: row;\n        justify-items: center;\n        margin-bottom: 1rem;\n    }\n\n    .checkoutPage-stepper_heading-12y {\n        padding-bottom: 1rem;\n    }\n\n    .checkoutPage-payment_information_heading-33Y {\n        /* On mobile, order summary has a top border, so avoid doubling up. */\n        border-bottom-width: 0;\n    }\n}\n",""]),t.locals={root:"checkoutPage-root-1yY",checkoutContent:"checkoutPage-checkoutContent-375",cartSectionContainer:"checkoutPage-cartSectionContainer-1R9",cartSectionContainerMedium:"checkoutPage-cartSectionContainerMedium-6ZX",cartSectionContainerSmall:"checkoutPage-cartSectionContainerSmall-3VX",synstestSection:"checkoutPage-synstestSection-3mA",heading_container:"checkoutPage-heading_container-3Bm",heading:"checkoutPage-heading-YSM",greeting:"checkoutPage-greeting-6BC",galleryClasses:"checkoutPage-galleryClasses-ESi",signInContainer:"checkoutPage-signInContainer-3kx",signInLabel:"checkoutPage-signInLabel-U3M",signInButton:"checkoutPage-signInButton-VSf "+n("WIzc").locals.root_normalPriority,empty_cart_container:"checkoutPage-empty_cart_container-2mE",empty_cart_heading:"checkoutPage-empty_cart_heading-2Id",empty_cart_text:"checkoutPage-empty_cart_text-1fv",empty_cart_cta:"checkoutPage-empty_cart_cta-n3m "+n("WIzc").locals.root_highPriority,shipping_container:"checkoutPage-shipping_container-2U_",shipping_block:"checkoutPage-shipping_block-vmm",payment_section:"checkoutPage-payment_section-3ft",payment_information:"checkoutPage-payment_information-pFA",price_adjustments_container:"checkoutPage-price_adjustments_container-3xQ",items_review_container:"checkoutPage-items_review_container-2bT",formErrors:"checkoutPage-formErrors-3Ol",summaryContainer:"checkoutPage-summaryContainer-3Om",review_order_button:"checkoutPage-review_order_button-1_U "+n("WIzc").locals.root_highPriority,placeholderButtons:"checkoutPage-placeholderButtons-1Nv",placeholderButton:"checkoutPage-placeholderButton-38C "+n("WIzc").locals.root,stepper_heading:"checkoutPage-stepper_heading-12y",payment_information_heading:"checkoutPage-payment_information_heading-33Y checkoutPage-stepper_heading-12y"}},QbOh:function(e,t,n){"use strict"
204var r=n("q1tI"),a=n.n(r),c=n("kriW"),i=n("17x9"),o=n("y1Xp"),s=n("LboF"),u=n.n(s),l=n("FS65"),d=n.n(l),g={injectType:"singletonStyleTag",insert:"head",singleton:!0},m=(u()(d.a,g),d.a.locals||{}),h=function StockStatusMessage(e){var t=e.cartItems,n=e.messageId,i=e.message,s=Object(o.a)(m,e.classes),u=function useStockStatusMessage(e){var t=e.cartItems
205return{hasOutOfStockItem:Object(r.useMemo)(function(){if(t)return!!t.find(function(e){return"OUT_OF_STOCK"===e.product.stock_status})},[t])}}({cartItems:t})
206return u.hasOutOfStockItem?a.a.createElement("div",{className:s.root},a.a.createElement(c.a,{id:n,defaultMessage:i})):null}
207t.a=h
208h.defaultProps={messageId:"stockStatusMessage.message",message:"An item in your cart is currently out-of-stock and must be removed in order to Checkout."},h.propTypes={cartItems:Object(i.arrayOf)(Object(i.shape)({product:Object(i.shape)({stock_status:i.string})})),messageId:i.string,message:i.node}},j8eB:function(e,t,n){"use strict"
209n.d(t,"a",function(){return u}),n.d(t,"b",function(){return l}),n.d(t,"c",function(){return d})
210var r,a,c,i=n("VkAN"),o=n.n(i),s=n("VX74"),u=Object(s.gql)(r||(r=o()(["\n    fragment AvailableShippingMethodsCheckoutFragment on Cart {\n        id\n        shipping_addresses {\n            available_shipping_methods {\n                amount {\n                    currency\n                    value\n                }\n                carrier_code\n                method_code\n                method_title\n            }\n            street\n        }\n    }\n"]))),l=Object(s.gql)(a||(a=o()(["\n    fragment SelectedShippingMethodCheckoutFragment on Cart {\n        id\n        shipping_addresses {\n            selected_shipping_method {\n                amount {\n                    currency\n                    value\n                }\n                carrier_code\n                carrier_title\n                method_code\n                method_title\n            }\n            street\n        }\n    }\n"]))),d=Object(s.gql)(c||(c=o()(["\n    fragment ShippingMethodsCheckoutFragment on Cart {\n        id\n        ...AvailableShippingMethodsCheckoutFragment\n        ...SelectedShippingMethodCheckoutFragment\n        shipping_addresses {\n            country {\n                code\n            }\n            postcode\n            region {\n                code\n            }\n            street\n        }\n    }\n    ","\n    ","\n"])),u,l)}}])

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.