@faststore/core 3.99.0-dev.2 → 3.99.0-dev.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +38 -38
  3. package/.next/cache/.tsbuildinfo +1 -1
  4. package/.next/cache/config.json +3 -3
  5. package/.next/cache/webpack/client-production/0.pack +0 -0
  6. package/.next/cache/webpack/client-production/index.pack +0 -0
  7. package/.next/cache/webpack/server-production/0.pack +0 -0
  8. package/.next/cache/webpack/server-production/index.pack +0 -0
  9. package/.next/prerender-manifest.js +1 -1
  10. package/.next/prerender-manifest.json +1 -1
  11. package/.next/react-loadable-manifest.json +6 -6
  12. package/.next/routes-manifest.json +1 -1
  13. package/.next/server/chunks/1741.js +2 -2
  14. package/.next/server/chunks/5133.js +1 -1
  15. package/.next/server/chunks/5212.js +1 -1
  16. package/.next/server/chunks/7121.js +1 -1
  17. package/.next/server/chunks/8971.js +5 -4
  18. package/.next/server/functions-config-manifest.json +1 -1
  19. package/.next/server/middleware-build-manifest.js +1 -1
  20. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  21. package/.next/server/pages/api/graphql.js +3 -3
  22. package/.next/server/pages/en-US/404.html +2 -2
  23. package/.next/server/pages/en-US/500.html +2 -2
  24. package/.next/server/pages/en-US/checkout.html +2 -2
  25. package/.next/server/pages/en-US/login.html +2 -2
  26. package/.next/server/pages/en-US/s.html +2 -2
  27. package/.next/server/pages/en-US.html +2 -2
  28. package/.next/server/pages/pvt/account/403.js +1 -1
  29. package/.next/server/pages-manifest.json +1 -1
  30. package/.next/static/{OZ8Lk7JM4bzozJAoz6cqt → T_jYtdcAXYxkLOxLasDa4}/_buildManifest.js +1 -1
  31. package/.next/static/chunks/2221-3b8af0bc108994c0.js +2 -0
  32. package/.next/static/chunks/{2927.5a79877943a6bf7c.js → 2927.23bae2c79f0ac0f3.js} +1 -1
  33. package/.next/static/chunks/{UIToast.19a8664c01a00d3a.js → UIToast.de15325248043ce5.js} +1 -1
  34. package/.next/static/chunks/pages/_app-ec4b3e60344d1bab.js +1 -0
  35. package/.next/static/chunks/pages/pvt/account/{403-d44b70591d2c86dc.js → 403-f3cb4fbbbb801a00.js} +1 -1
  36. package/.next/static/chunks/{webpack-fc37ce1526507eaf.js → webpack-da79ff7bed51ca28.js} +1 -1
  37. package/.next/trace +143 -142
  38. package/.turbo/turbo-build.log +16 -16
  39. package/.turbo/turbo-test.log +11 -9
  40. package/@generated/gql.ts +2 -2
  41. package/@generated/graphql.ts +6 -1
  42. package/@generated/persisted-documents.json +1 -1
  43. package/@generated/schema.graphql +2 -0
  44. package/CHANGELOG.md +19 -0
  45. package/discovery.config.default.js +1 -0
  46. package/package.json +7 -7
  47. package/src/components/account/MyAccountDrawer/OrganizationDrawer/useReloadAfterLogoutReturn.ts +6 -1
  48. package/src/pages/api/graphql.ts +10 -22
  49. package/src/sdk/account/useRefreshToken.ts +3 -14
  50. package/src/sdk/cart/index.ts +12 -2
  51. package/src/sdk/session/index.ts +106 -59
  52. package/src/sdk/session/storageKeys.ts +2 -0
  53. package/src/sdk/useStore.ts +7 -1
  54. package/src/utils/validateSessionRefreshToken.ts +29 -0
  55. package/test/utils/validateSessionRefreshToken.test.ts +69 -0
  56. package/.next/static/chunks/2221-b085ff74b21a2c2c.js +0 -2
  57. package/.next/static/chunks/pages/_app-be3fecd37c6b273c.js +0 -1
  58. /package/.next/static/{OZ8Lk7JM4bzozJAoz6cqt → T_jYtdcAXYxkLOxLasDa4}/_ssgManifest.js +0 -0
@@ -1,6 +1,6 @@
1
1
  import type { Session } from '@faststore/sdk'
2
2
  import { createSessionStore } from '@faststore/sdk'
3
- import { useEffect, useMemo, useRef, useState } from 'react'
3
+ import { useEffect, useMemo, useState } from 'react'
4
4
 
5
5
  import { gql } from '@generated'
6
6
  import type {
@@ -17,8 +17,23 @@ import { cartStore } from '../cart'
17
17
  import { request } from '../graphql/request'
18
18
  import { createValidationStore, useStore } from '../useStore'
19
19
  import { getPostalCode } from '../userLocation/index'
20
+ import { RELOAD_AFTER_LOGOUT_KEY, SESSION_READY_KEY } from './storageKeys'
20
21
 
21
- const SESSION_READY_KEY = 'faststore_session_ready'
22
+ const isLocalEnvironment = (): boolean =>
23
+ typeof window !== 'undefined' &&
24
+ (window.location.hostname === 'localhost' ||
25
+ window.location.hostname === '127.0.0.1')
26
+
27
+ const isReloadAfterLogoutPending = (): boolean => {
28
+ try {
29
+ return (
30
+ typeof sessionStorage !== 'undefined' &&
31
+ !!sessionStorage.getItem(RELOAD_AFTER_LOGOUT_KEY)
32
+ )
33
+ } catch {
34
+ return false
35
+ }
36
+ }
22
37
 
23
38
  export const mutation = gql(`
24
39
  mutation ValidateSession($session: IStoreSession!, $search: String!) {
@@ -77,7 +92,52 @@ export const mutation = gql(`
77
92
  }
78
93
  `)
79
94
 
95
+ async function handleRefreshToken(session: Session): Promise<Session | null> {
96
+ const result = await refreshTokenRequest()
97
+
98
+ if (isRefreshTokenSuccessful(result)) {
99
+ return {
100
+ ...session,
101
+ refreshAfter: String(
102
+ Math.floor(new Date(result?.refreshAfter).getTime() / 1000)
103
+ ),
104
+ }
105
+ }
106
+
107
+ await logoutAndClearSession(session)
108
+ return null
109
+ }
110
+
111
+ function isRefreshAfterExpired(session: Session): boolean {
112
+ return (
113
+ !!session.refreshAfter &&
114
+ Math.floor(Date.now() / 1000) > Number(session.refreshAfter)
115
+ )
116
+ }
117
+
80
118
  export const validateSession = async (session: Session) => {
119
+ // Skip validation if the page is about to reload after logout — avoids an
120
+ // aborted-fetch TypeError when the forced reload navigates the page away.
121
+ if (isReloadAfterLogoutPending()) {
122
+ return null
123
+ }
124
+
125
+ // If the refreshToken is enabled and the refreshAfter is expired, refresh the token.
126
+ // On success, continue to the validation flow with the refreshed session.
127
+ // On failure (logoutAndClearSession already triggered), bail out.
128
+ // Skipped in local environments where the refresh token infrastructure is unavailable.
129
+ if (
130
+ !isLocalEnvironment() &&
131
+ storeConfig.experimental?.refreshToken &&
132
+ isRefreshAfterExpired(session)
133
+ ) {
134
+ const refreshed = await handleRefreshToken(session)
135
+ if (!refreshed) {
136
+ return null
137
+ }
138
+ session = refreshed
139
+ }
140
+
81
141
  // If deliveryPromise is enabled and there is no postalCode in the session
82
142
  if (
83
143
  storeConfig.deliveryPromise?.enabled &&
@@ -120,33 +180,21 @@ export const validateSession = async (session: Session) => {
120
180
  return data.validateSession
121
181
  } catch (error) {
122
182
  const shouldRefreshToken =
123
- error?.status === 401 && storeConfig.experimental?.refreshToken
183
+ !isLocalEnvironment() &&
184
+ error?.status === 401 &&
185
+ storeConfig.experimental?.refreshToken
124
186
 
125
187
  if (shouldRefreshToken) {
126
- const result = await refreshTokenRequest()
127
-
128
- if (isRefreshTokenSuccessful(result)) {
129
- const refreshAfter = String(
130
- Math.floor(new Date(result?.refreshAfter).getTime() / 1000)
131
- )
132
-
133
- sessionStore.set({
134
- ...session,
135
- refreshAfter,
136
- })
137
- } else {
138
- // If the refresh token fails 3x, set the refreshAfter to now + 1 hour
139
- // so that we can postpone refreshToken request and continue the ValidateSession request
140
- sessionStore.set({
141
- ...session,
142
- refreshAfter: String(Math.floor(Date.now() / 1000) + 1 * 60 * 60), // now + 1 hour
143
- })
188
+ const refreshed = await handleRefreshToken(session)
189
+ if (refreshed) {
190
+ sessionStore.set(refreshed)
144
191
  }
145
192
  }
146
193
  }
147
194
  }
148
195
 
149
- const [validationStore, onValidate] = createValidationStore(validateSession)
196
+ const [validationStore, onValidate, hasValidatedStore] =
197
+ createValidationStore(validateSession)
150
198
 
151
199
  const defaultStore = createSessionStore(storeConfig.session, onValidate)
152
200
 
@@ -162,6 +210,21 @@ export const sessionStore = {
162
210
  },
163
211
  }
164
212
 
213
+ export async function logoutAndClearSession(session: Session) {
214
+ try {
215
+ await fetch('/api/fs/logout', { method: 'POST' })
216
+ } catch (logoutError) {
217
+ console.error('Failed to call logout endpoint:', logoutError)
218
+ }
219
+
220
+ sessionStore.set({
221
+ ...session,
222
+ person: null,
223
+ b2b: null,
224
+ refreshAfter: null,
225
+ })
226
+ }
227
+
165
228
  interface SessionOptions {
166
229
  filter?: boolean
167
230
  }
@@ -184,7 +247,8 @@ export const useSession = ({ filter }: SessionOptions = { filter: true }) => {
184
247
  const currentSessionStore = sessionStore.read() ?? sessionStore.readInitial()
185
248
  const resultSessionStore = useStore(sessionStore)
186
249
  const isValidating = useStore(validationStore)
187
- const { isSessionReady } = useSessionReady({ isValidating })
250
+ const hasValidated = useStore(hasValidatedStore)
251
+ const { isSessionReady } = useSessionReady({ isValidating, hasValidated })
188
252
 
189
253
  let { channel, ...session } = resultSessionStore ?? currentSessionStore
190
254
 
@@ -211,12 +275,21 @@ export const useSession = ({ filter }: SessionOptions = { filter: true }) => {
211
275
  * The session ready state is persisted in sessionStorage to maintain consistency across page navigations
212
276
  * and provide faster loading times on subsequent page visits.
213
277
  *
278
+ * Uses `hasValidated` (a reactive store value) instead of a ref-based transition tracker to avoid
279
+ * a React 18 automatic batching race condition where `isValidating` goes true→false so fast that
280
+ * the effect never observes the `true` state, leaving `isSessionReady` stuck at false.
281
+ *
214
282
  * @param isValidating - Whether the session is currently being validated
283
+ * @param hasValidated - Whether at least one validation cycle has ever completed
215
284
  * @returns An object containing the session readiness status
216
285
  */
217
286
  export const useSessionReady = ({
218
287
  isValidating,
219
- }: { isValidating: boolean }) => {
288
+ hasValidated,
289
+ }: {
290
+ isValidating: boolean
291
+ hasValidated: boolean
292
+ }) => {
220
293
  // Initialize with persisted state from sessionStorage
221
294
  const [isSessionReady, setIsSessionReady] = useState(() => {
222
295
  if (typeof window === 'undefined') return false
@@ -227,44 +300,18 @@ export const useSessionReady = ({
227
300
  }
228
301
  })
229
302
 
230
- // Wait for session to be stable (not validating and has consistent data)
231
- const hasValidatedRef = useRef(false)
232
-
233
303
  useEffect(() => {
234
- // Only run the effect if there has already been a change in isValidating (that is, validateSession has already been called at least once)
235
- if (!hasValidatedRef.current && isValidating) {
236
- hasValidatedRef.current = true
237
- return
238
- }
239
-
240
- if (!hasValidatedRef.current) {
241
- return
242
- }
243
-
244
- if (!isValidating) {
245
- setIsSessionReady(true)
246
- // Persist the ready state in sessionStorage
247
- try {
248
- sessionStorage.setItem(SESSION_READY_KEY, 'true')
249
- } catch {
250
- // Ignore storage errors
251
- }
252
- return
253
- }
304
+ // Only mark ready once at least one full validation cycle has completed
305
+ // and validation is not currently in flight.
306
+ if (isValidating || !hasValidated) return
254
307
 
255
- // Only set to false if we don't have a persisted ready state
256
- if (typeof window !== 'undefined') {
257
- try {
258
- const persistedReady =
259
- sessionStorage.getItem(SESSION_READY_KEY) === 'true'
260
- if (!persistedReady) {
261
- setIsSessionReady(false)
262
- }
263
- } catch {
264
- setIsSessionReady(false)
265
- }
308
+ setIsSessionReady(true)
309
+ try {
310
+ sessionStorage.setItem(SESSION_READY_KEY, 'true')
311
+ } catch {
312
+ // Ignore storage errors
266
313
  }
267
- }, [isValidating])
314
+ }, [isValidating, hasValidated])
268
315
 
269
316
  return { isSessionReady }
270
317
  }
@@ -0,0 +1,2 @@
1
+ export const RELOAD_AFTER_LOGOUT_KEY = 'faststore_reload_after_logout_return'
2
+ export const SESSION_READY_KEY = 'faststore_session_ready'
@@ -9,6 +9,7 @@ type CB<T> = (val: T) => Promise<T | null>
9
9
 
10
10
  export const createValidationStore = <T>(cb: CB<T>) => {
11
11
  const store = createBaseStore(false)
12
+ const hasValidatedStore = createBaseStore(false)
12
13
 
13
14
  const onValidate = async (val: T) => {
14
15
  try {
@@ -17,8 +18,13 @@ export const createValidationStore = <T>(cb: CB<T>) => {
17
18
  return await cb(val)
18
19
  } finally {
19
20
  store.set(false)
21
+ hasValidatedStore.set(true)
20
22
  }
21
23
  }
22
24
 
23
- return [store, onValidate] as [Store<boolean>, CB<T>]
25
+ return [store, onValidate, hasValidatedStore] as [
26
+ Store<boolean>,
27
+ CB<T>,
28
+ Store<boolean>,
29
+ ]
24
30
  }
@@ -0,0 +1,29 @@
1
+ interface ShouldForceRefreshParams {
2
+ jwt: { exp: number } | null | undefined
3
+ sessionRefreshAfter: string | null | undefined
4
+ /** Defaults to `Math.floor(Date.now() / 1000)` — pass explicitly in tests. */
5
+ nowSeconds?: number
6
+ }
7
+
8
+ /**
9
+ * Decides whether the GraphQL handler should force a token-refresh 401
10
+ * for a ValidateSession request.
11
+ *
12
+ * Two independent triggers:
13
+ * 1. JWT exists but the client has never received a refreshAfter
14
+ * → first refresh-token round-trip.
15
+ * 2. refreshAfter is set and already in the past
16
+ * → scheduled retry window elapsed.
17
+ */
18
+ export function shouldForceRefreshTokenForValidateSession({
19
+ jwt,
20
+ sessionRefreshAfter,
21
+ nowSeconds = Math.floor(Date.now() / 1000),
22
+ }: ShouldForceRefreshParams): boolean {
23
+ const refreshAfterExists = !!sessionRefreshAfter
24
+ const firstRefreshRequest = !!jwt && !refreshAfterExists
25
+ const refreshAfterExpired =
26
+ refreshAfterExists && nowSeconds > Number(sessionRefreshAfter)
27
+
28
+ return firstRefreshRequest || refreshAfterExpired
29
+ }
@@ -0,0 +1,69 @@
1
+ import { shouldForceRefreshTokenForValidateSession } from '../../src/utils/validateSessionRefreshToken'
2
+
3
+ describe('shouldForceRefreshTokenForValidateSession', () => {
4
+ const now = 1_700_000_000
5
+
6
+ describe('when client has no refreshAfter yet', () => {
7
+ it('returns true if JWT exists (access token still valid)', () => {
8
+ expect(
9
+ shouldForceRefreshTokenForValidateSession({
10
+ jwt: { exp: now + 3600 },
11
+ sessionRefreshAfter: undefined,
12
+ nowSeconds: now,
13
+ })
14
+ ).toBe(true)
15
+ })
16
+
17
+ it('returns true if JWT exists (access token already expired)', () => {
18
+ expect(
19
+ shouldForceRefreshTokenForValidateSession({
20
+ jwt: { exp: now - 60 },
21
+ sessionRefreshAfter: null,
22
+ nowSeconds: now,
23
+ })
24
+ ).toBe(true)
25
+ })
26
+
27
+ it('returns false if there is no JWT and no refreshAfter', () => {
28
+ expect(
29
+ shouldForceRefreshTokenForValidateSession({
30
+ jwt: null,
31
+ sessionRefreshAfter: undefined,
32
+ nowSeconds: now,
33
+ })
34
+ ).toBe(false)
35
+ })
36
+ })
37
+
38
+ describe('when session.refreshAfter is set', () => {
39
+ it('returns false if refreshAfter is in the future', () => {
40
+ expect(
41
+ shouldForceRefreshTokenForValidateSession({
42
+ jwt: { exp: now + 3600 },
43
+ sessionRefreshAfter: String(now + 100),
44
+ nowSeconds: now,
45
+ })
46
+ ).toBe(false)
47
+ })
48
+
49
+ it('returns true if refreshAfter is in the past', () => {
50
+ expect(
51
+ shouldForceRefreshTokenForValidateSession({
52
+ jwt: { exp: now + 3600 },
53
+ sessionRefreshAfter: String(now - 1),
54
+ nowSeconds: now,
55
+ })
56
+ ).toBe(true)
57
+ })
58
+
59
+ it('returns true if refreshAfter is past even without JWT', () => {
60
+ expect(
61
+ shouldForceRefreshTokenForValidateSession({
62
+ jwt: null,
63
+ sessionRefreshAfter: String(now - 1),
64
+ nowSeconds: now,
65
+ })
66
+ ).toBe(true)
67
+ })
68
+ })
69
+ })
@@ -1,2 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2221],{34828:function(e,t,r){"use strict";r.d(t,{o:function(){return OrganizationSignInButton}});var n,a,o=r(83339),i=r(2614),l=r(44194),s=r(12306),c=r(92160),u=r(13666),d=r(77215),expireCookieClient=e=>{var{name:t,path:r,domain:n,secure:a=!1}=e,o=n?"; domain=".concat(n):"";document.cookie="".concat(t,"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; max-age=0; path=").concat(r).concat(o,"; samesite=lax").concat(a?"; secure":"")},getCookieDomains=e=>[void 0,e,e.startsWith(".")?e:".".concat(e)],getVtexCookieNames=e=>e.filter(e=>e.toLowerCase().includes("vtex")),getCookiePaths=e=>{var t=["/"],r=e.split("/").filter(Boolean),n="";for(var a of r)n+="/".concat(a),t.includes(n)||t.push(n);return t},f=r(10271),p=r.n(f),v=r(47723),b=r(2693),m=r(50557),g=r.n(m),h=r(31549),y=["onLogoutClick","person","orgName","bordered","showManageLink"];function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){(0,v.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var ProfileSummary=e=>{var{onLogoutClick:t,person:{image:r,name:n,email:a},orgName:l,bordered:c=!1,showManageLink:u=!1}=e,d=(0,b.Z)(e,y),{b2b:f}=(0,s.kP)();return(0,h.jsxs)("section",_objectSpread(_objectSpread({"data-fs-profile-summary":!0,"data-fs-profile-summary-bordered":c},d),{},{children:[(0,h.jsxs)("div",{"data-fs-profile-summary-header":!0,children:[(0,h.jsx)("h2",{"data-fs-profile-summary-org-name":!0,children:l}),u&&(0,h.jsxs)(g(),{"data-fs-profile-summary-org-link":!0,href:"/pvt/organization-account/org-unit/".concat(null==f?void 0:f.unitId),children:["Manage ",(0,h.jsx)(i.Z,{name:"OpenInNew",width:23,height:23})]})]}),(0,h.jsxs)("div",{"data-fs-profile-summary-person-actions":!0,children:[(0,h.jsxs)("div",{"data-fs-profile-summary-person-info":!0,children:[(0,h.jsx)("div",{"data-fs-profile-summary-person-image":!0,children:null!=r?r:(0,h.jsx)(i.Z,{name:"Profile",width:14,height:14})}),(0,h.jsxs)("div",{"data-fs-profile-summary-person-data":!0,children:[(0,h.jsx)("p",{"data-fs-profile-summary-person-name":!0,children:n}),a&&(0,h.jsx)("p",{"data-fs-profile-summary-person-email":!0,children:a})]})]}),(0,h.jsx)(o.Z,{"data-fs-profile-summary-logout-button":!0,onClick:t,variant:"tertiary",size:"small",children:"Logout"})]})]}))},w=r(40727),O=r(10051),j=[r(79087).d3],OrganizationDrawerBody=e=>{var{isRepresentative:t}=e,r=t?O.Z:O.Z.filter(e=>{var{route:t}=e;return!j.includes(t)});return(0,h.jsx)("div",{"data-fs-organization-drawer-body":!0,children:(0,h.jsx)("div",{"data-fs-organization-drawer-body-contents":!0,children:r.map(e=>(0,h.jsx)(w.Z,{"data-fs-organization-drawer-body-link":!0,href:e.route,children:e.title},e.route))})})},S=r(45049);function OrganizationDrawerHeader_ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function OrganizationDrawerHeader_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?OrganizationDrawerHeader_ownKeys(Object(r),!0).forEach(function(t){(0,v.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):OrganizationDrawerHeader_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var OrganizationDrawerHeader=e=>{var t,r,{contractUrl:n,contractName:a,contractImage:o,onCloseDrawer:i}=e;return(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(S.Z,{onClose:()=>null==i?void 0:i()}),(0,h.jsx)("div",{"data-fs-organization-drawer-header":!0,children:(0,h.jsxs)(w.Z,OrganizationDrawerHeader_objectSpread(OrganizationDrawerHeader_objectSpread({"data-fs-organization-drawer-header-contract-link":!0},n&&{href:n}),{},{children:[(0,h.jsx)("div",{"data-fs-organization-drawer-header-contract-image":!0,children:null!=o?o:(0,h.jsx)("span",{"data-fs-organization-drawer-header-contract-image-fallback":!0,children:null!==(t=null==a?void 0:null===(r=a.at(0))||void 0===r?void 0:r.toUpperCase())&&void 0!==t?t:""})}),(0,h.jsx)("h1",{"data-fs-organization-drawer-header-contract-name":!0,children:a})]}))})]})},E=r(84281),P=r(58109),k=r.n(P),Z=(n=(0,c.Z)(function*(){if(p()){try{var e;for(var t of["faststore_session_ready","faststore_auth_cookie_value","faststore_person_id","faststore_cache_bust_last_value"])try{null===(e=window.sessionStorage)||void 0===e||e.removeItem(t)}catch(e){}try{for(var n=[],a=0;a<window.sessionStorage.length;a++){var o=window.sessionStorage.key(a);o&&o.startsWith("__fs_gallery_page_")&&n.push(o)}for(var i of n)try{window.sessionStorage.removeItem(i)}catch(e){}}catch(e){}}catch(e){}try{if("indexedDB"in window){var{del:l}=yield Promise.resolve().then(r.bind(r,87337));yield l("fs::session").catch(()=>{})}var s=window.indexedDB;s&&(yield new Promise(e=>{var t=s.deleteDatabase("keyval-store");t.onsuccess=()=>e(),t.onerror=()=>e(),t.onblocked=()=>e()}))}catch(e){}try{var c=window.location.hostname,u="https:"===window.location.protocol,d=document.cookie.split(";").map(e=>e.trim()).filter(Boolean).map(e=>e.split("=")[0]).filter(Boolean),f=getVtexCookieNames(d),v=getCookiePaths(window.location.pathname||"/"),b=getCookieDomains(c);for(var m of f)for(var g of v)for(var h of b)try{expireCookieClient({name:m,path:g,domain:h,secure:u})}catch(e){}}catch(e){}}}),function(){return n.apply(this,arguments)}),C=(a=(0,c.Z)(function*(e){if(p())try{yield Z();try{var t=yield fetch("/api/fs/logout",{method:"POST",credentials:"include"});yield t.json().catch(()=>null)}catch(e){}}finally{(0,E.sU)(),window.location.assign("".concat(p().secureSubdomain,"/api/vtexid/pub/logout?scope=").concat(p().api.storeId,"&returnUrl=").concat(p().storeUrl))}}),function(e){return a.apply(this,arguments)}),OrganizationDrawer=e=>{var t,r,n,a,o,i,l,{isOpen:c,closeDrawer:f,isRepresentative:p}=e,{fade:v,fadeOut:b}=(0,u.b)(),{b2b:m,person:g}=(0,s.kP)(),y=null!==(t=null!==(r=null==m?void 0:m.contractName)&&void 0!==r?r:"".concat((null!==(n=null==g?void 0:g.givenName)&&void 0!==n?n:"").trim()," ").concat((null!==(a=null==g?void 0:g.familyName)&&void 0!==a?a:"").trim()).trim())&&void 0!==t?t:"",w=null!=m&&m.unitId?"/pvt/organization-account/org-unit/".concat(null==m?void 0:m.unitId):null,O=(null==m?void 0:m.organizationManager)||!1;return(0,h.jsxs)(d.Z,{"data-fs-organization-drawer":!0,fade:v,onDismiss:b,onTransitionEnd:()=>"out"===v&&f(),isOpen:c,size:"partial",direction:"rightSide",overlayProps:{className:"section ".concat(k().section," section-organization-drawer")},children:[(0,h.jsx)(OrganizationDrawerHeader,{onCloseDrawer:f,contractName:y,contractUrl:w}),(0,h.jsx)(OrganizationDrawerBody,{isRepresentative:p}),(0,h.jsx)("footer",{"data-fs-organization-drawer-footer-wrapper":!0,children:(0,h.jsx)(ProfileSummary,{showManageLink:O,bordered:!0,onLogoutClick:C,person:{name:null!==(o=null==m?void 0:m.userName)&&void 0!==o?o:"",email:null!==(i=null==m?void 0:m.userEmail)&&void 0!==i?i:""},orgName:null!==(l=null==m?void 0:m.unitName)&&void 0!==l?l:""})})]})},OrganizationSignInButton=e=>{var{icon:{alt:t,icon:r},isRepresentative:n}=e,{0:a,1:c}=(0,l.useState)(!1),{person:u}=(0,s.kP)(),openDrawer=e=>{e.preventDefault(),c(!0)};return(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(o.Z,{"data-fs-button-signin-link":!0,onClick:e=>openDrawer(e),className:"text__title-mini","aria-label":t,variant:"tertiary",icon:(0,h.jsx)(i.Z,{name:r,width:18,height:18,weight:"bold"}),iconPosition:"left",children:null!=u&&u.id?"Company":"Contract"}),a&&(0,h.jsx)(OrganizationDrawer,{isOpen:a,closeDrawer:()=>{c(!1)},isRepresentative:n})]})}},32221:function(e,t,r){"use strict";r.d(t,{wQ:function(){return LazyLoadingSection},AI:function(){return RenderSectionsBase},ZP:function(){return m}});var n=r(47723),a=r(44194),o=r(16652),i=r(76649),l=r.n(i),s=r(94122);function ric(e){window.requestIdleCallback?window.requestIdleCallback(e):window.setTimeout(e,1)}var c=r(37089),u=r(97920);let SectionBoundary=class SectionBoundary extends a.Component{constructor(){super(...arguments),(0,n.Z)(this,"state",{hasError:!1,error:null})}static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidCatch(e,t){console.error("Error while rendering section ".concat(this.props.name," with:\n").concat(e.message," ").concat(t.componentStack))}render(){return this.state.hasError?null:this.props.children}};var d=r(96972),f=r(31549);function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){(0,n.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var p=["CartSidebar","RegionModal","RegionSlider"],v=l()(()=>r.e(9513).then(r.bind(r,40478)),{ssr:!1,loadableGenerated:{webpack:()=>[40478]}}),b=l()(()=>r.e(5388).then(r.bind(r,29856)),{ssr:!1,loadableGenerated:{webpack:()=>[29856]}}),useDividedSections=e=>(0,a.useMemo)(()=>{var t=e.findIndex(e=>{var{name:t}=e;return"Children"===t}),r=t>-1;return _objectSpread({hasChildren:r,firstSections:r?e.slice(0,t):e},r&&{lastSections:e.slice(t+1)})},[e]),LazyLoadingSection=e=>{var{sectionName:t,children:r,debug:n=!1,isInteractive:a=!1}=e,{cart:i,modal:l,regionSlider:s}=(0,o.l8)();if(p.includes(t)){var c=a||"CartSidebar"===t&&i||"RegionModal"===t&&l||"RegionSlider"===t&&s.isOpen&&"none"!==s.type;return n&&console.log("section SECTIONS_OUT_OF_VIEWPORT '".concat(t,"' shouldLoad:"),c),c?(0,f.jsx)(f.Fragment,{children:r}):null}return(0,f.jsx)(d.Z,{sectionName:t,debug:n,isInteractive:a,children:r})},RenderSectionsBase=e=>{var{sections:t=[],components:r,isInteractive:n}=e;return(0,f.jsx)(f.Fragment,{children:t.map((e,t)=>{var{name:a,data:o={},$componentKey:i}=e,l=null!=i?i:a,s=r[l];return s?(0,f.jsx)(SectionBoundary,{name:a,children:o.skipLazyLoadingSection?(0,f.jsx)(s,_objectSpread({},o)):(0,f.jsx)(LazyLoadingSection,{sectionName:a,isInteractive:n,children:(0,f.jsx)(s,_objectSpread({},o))})},"cms-section-".concat(a,"-").concat(t)):(console.warn("".concat(l," not found. Add a new component for this section or remove it from the CMS")),null)})})},m=(0,a.memo)(function(e){var{children:t,globalSections:r,sections:n,components:o=u.Z}=e,{firstSections:i,lastSections:l}=useDividedSections(null!=r?r:n),{isInteractive:d}=function(){var{0:e,1:t}=(0,a.useState)(!1);return(0,a.useEffect)(()=>{if("PerformanceObserver"in window){var e=0,r=new PerformanceObserver(t=>{for(var r of t.getEntries())e=r.startTime+r.duration});r.observe({type:"longtask",buffered:!0});var checkTTI=()=>{performance.now()-e>=5e3?(r.disconnect(),t(!0)):ric(checkTTI)};ric(checkTTI)}},[]),{isInteractive:e}}(),p=(0,s.useRouter)(),m=(0,c.w)()&&p.isPreview;return(0,f.jsxs)(f.Fragment,{children:[m&&(0,f.jsx)(LazyLoadingSection,{sectionName:"PreviewTag",isInteractive:d,children:(0,f.jsx)(b,{})}),i&&(0,f.jsx)(RenderSectionsBase,{sections:i,components:o,isInteractive:d}),n&&n.length>0&&(0,f.jsx)(RenderSectionsBase,{sections:n,components:o,isInteractive:d}),t,(0,f.jsx)(LazyLoadingSection,{sectionName:"Toast",isInteractive:d,children:(0,f.jsx)(v,{})}),l&&(0,f.jsx)(RenderSectionsBase,{sections:l,components:o,isInteractive:d})]})})},96972:function(e,t,r){"use strict";var n=r(44194),a=r(31549);t.Z=function(e){var{sectionName:t="",threshold:r=0,root:o=null,rootMargin:i,children:l,debug:s=!1,isInteractive:c=!1}=e,{0:u,1:d}=(0,n.useState)(!1),f=(0,n.useRef)(null),p=(0,n.useCallback)((e,r)=>{var[n]=e;n.isIntersecting?(s&&(console.log("section '".concat(t,"' VISIBLE")),document.body.style.border="2px solid green"),d(!0),f.current&&r.unobserve(f.current)):(d(!1),s&&(console.log("section '".concat(t,"' NOT VISIBLE")),document.body.style.border="2px solid red",document.body.style.height="".concat(823,"px"),document.body.style.boxSizing="border-box"))},[s,t]);return(0,n.useEffect)(()=>{var e=new IntersectionObserver(p,{root:o,rootMargin:i,threshold:r});return f.current&&e.observe(f.current),()=>e.disconnect()},[p,o,i,r]),(0,a.jsxs)(a.Fragment,{children:[!u&&(0,a.jsx)("div",{"data-store-section-name":t,ref:f,style:{border:s?"2px solid red":void 0,backgroundColor:s?"red":void 0,height:823,width:"100%"}}),(u||c)&&l]})}},97920:function(e,t,r){"use strict";r.d(t,{Z:function(){return eX}});var n,a=r(47723),o=r(76649),i=r.n(o),l=r(92160),s=r(2693),c=r(16652),u=r(2614),d=r(93779),f=r(40727),p=r(74584),v=r(44194),b=r(64921),m=r(57966),g=r(12306),h=r(99471),y=r(44997),w=r(89052),O=r.n(w),j=r(31549),S=["title","closeButtonAriaLabel","textBeforeLocation","textAfterLocation","description","triggerRef","offsetTop","offsetLeft","placement"],E=["isValidating","isSessionReady"];function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function RegionPopover(e){var t,r,{title:n="Set your location",closeButtonAriaLabel:o,textBeforeLocation:i="Your current location is:",textAfterLocation:w="Use the field below to change it.",description:P="Offers and availability vary by location.",triggerRef:k,offsetTop:Z=6,offsetLeft:C,placement:_="bottom-start"}=e,x=(0,s.Z)(e,S),D=(0,h.T)(x),{inputField:{label:R="",errorMessage:L="",noProductsAvailableErrorMessage:B="",buttonActionText:N=""}={},idkPostalCodeLink:{text:I="",to:A="",icon:{icon:T="",alt:F=""}={}}={}}=null!==(r=null==D?void 0:D.regionalization)&&void 0!==r?r:{},K=(0,v.useRef)(null),z=(0,g.kP)(),{isValidating:M,isSessionReady:q}=z,U=(0,s.Z)(z,E),{popover:W,closePopover:Q}=(0,c.l8)(),{onPostalCodeChange:V}=(0,m.z0)(),{city:$,postalCode:G}=g.Qf.read(),H=$?"".concat((0,y._W)($),", ").concat(G):G,{0:X,1:Y}=(0,v.useState)(""),{loading:J,setRegion:ee,regionError:et,setRegionError:er}=(0,b.Z)(),en=(t=(0,l.Z)(function*(){M||(yield ee({session:U,onSuccess:()=>{V(),Y(""),Q()},postalCode:X,errorMessage:L,noProductsAvailableErrorMessage:B}))}),function(){return t.apply(this,arguments)}),ea={href:A,children:(0,j.jsxs)(j.Fragment,{children:[I,!!T&&(0,j.jsx)(u.Z,{name:T,"aria-label":F,width:20,height:20})]})},eo=(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)("span",{"data-fs-region-popover-description":!0,children:G?(0,j.jsxs)(j.Fragment,{children:[i," ",(0,j.jsx)("span",{children:H}),". ",w]}):(0,j.jsx)(j.Fragment,{children:P})}),(0,j.jsx)(d.Z,{"data-fs-region-popover-input":!0,id:"region-popover-input-postal-code",inputRef:K,label:R,actionable:!0,value:X,onInput:e=>{""!==et&&er(""),Y(e.currentTarget.value)},onSubmit:en,onClear:()=>{Y(""),er("")},buttonActionText:J?"...":N,error:et}),A&&(0,j.jsx)(f.Z,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){(0,a.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({"data-fs-region-popover-link":!0},ea))]});return(0,j.jsx)(j.Fragment,{children:W.isOpen&&(0,j.jsx)("div",{className:"".concat(O().section," section-region-popover"),children:(0,j.jsx)(p.Z,{"data-fs-region-popover":!0,title:n,isOpen:W.isOpen,content:eo,placement:_,dismissible:!0,triggerRef:k,offsetTop:Z,offsetLeft:C,closeButtonAriaLabel:o,onEntered:()=>{!G&&K.current&&K.current.focus()}})})})}RegionPopover.$componentKey="RegionPopover";var P={section:"Alert"},k=r(66995),Z=r(58769),C=r(60811),_=r.n(C),x=r(96991),D=["content","children"];function Alert_ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Alert_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Alert_ownKeys(Object(r),!0).forEach(function(t){(0,a.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Alert_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var Alert_Alert=function(e){var{content:t,children:r}=e,n=(0,s.Z)(e,D),{Alert:a}=(0,x.r3)(),{0:o,1:i}=(0,v.useState)(!0),l=(0,v.useCallback)(()=>i(!1),[i]);return!1===o?null:(0,j.jsx)(Z.Z,{className:"".concat(_().section," section-alert"),children:(0,j.jsx)(a.Component,Alert_objectSpread(Alert_objectSpread({},n),{},{onClose:l,children:null!=t?t:r}))})},R={Alert:r(28138).Z,Icon:u.Z};function Alert_Alert_ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Alert_Alert_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Alert_Alert_ownKeys(Object(r),!0).forEach(function(t){(0,a.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Alert_Alert_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function Alert_Alert_Alert(e){var t,r,n,a,o,{icon:i,content:l,link:{text:s,to:c},dismissible:u}=e,{Alert:d,Icon:f}=(0,x.r3)();return(0,j.jsx)(Alert_Alert,Alert_Alert_objectSpread(Alert_Alert_objectSpread({icon:(0,j.jsx)(f.Component,Alert_Alert_objectSpread(Alert_Alert_objectSpread({},f.props),{},{name:null!=i?i:f.props.name}))},d.props),{},{link:Alert_Alert_objectSpread(Alert_Alert_objectSpread({},null!==(t=d.props.link)&&void 0!==t?t:{}),{},{children:null!=s?s:null===(r=d.props.link)||void 0===r?void 0:r.children,href:null!=c?c:null===(n=d.props.link)||void 0===n?void 0:n.href,target:null!==(a=null===(o=d.props.link)||void 0===o?void 0:o.target)&&void 0!==a?a:"_self"}),dismissible:null!=u?u:d.props.dismissible,children:l}))}Alert_Alert_Alert.$componentKey="Alert";var L=(0,k.B)("Alert",Alert_Alert_Alert,R);function OverriddenDefaultAlert_ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function OverriddenDefaultAlert_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?OverriddenDefaultAlert_ownKeys(Object(r),!0).forEach(function(t){(0,a.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):OverriddenDefaultAlert_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var B=(0,k.v)(OverriddenDefaultAlert_objectSpread(OverriddenDefaultAlert_objectSpread(OverriddenDefaultAlert_objectSpread({},P),P),{},{Section:L})),N={section:"Navbar"},I=r(77021),A=r.n(I),T=r(41037),F=r(10792),K=r(34828),z=r(37041),M=r(40276),q=r(7994),useCartToggleButton=()=>{var{totalItems:e}=(0,q.jD)(),{cart:t,openCart:r,closeCart:n}=(0,c.l8)();return{onClick:(0,v.useCallback)(()=>{t?n():r()},[n,t,r]),"data-testid":"cart-toggle","data-items":e}};function CartToggle_ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function CartToggle_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?CartToggle_ownKeys(Object(r),!0).forEach(function(t){(0,a.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):CartToggle_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var CartToggle_CartToggle=function(e){var{alt:t,icon:r}=e,n=useCartToggleButton(),a=n["data-items"];return(0,j.jsx)(z.Z,CartToggle_objectSpread(CartToggle_objectSpread({"data-fs-cart-toggle":!0,"aria-label":t,icon:(0,j.jsx)(u.Z,{name:r,width:32,height:32})},n),{},{children:(0,j.jsx)(M.Z,{counter:!0,children:a})}))},U=r(94122),W=r(15660),Q=r(81990),V=r(49684),$=r(97683),G=r(95017),H=r(6190),X=r(87170),Y=r(19282),J=r(8305),ee=r(85124),et=r(18599),er=r(10484),en=et.Ce,search_useSuggestions=function(e){var{channel:t,locale:n}=(0,g.kP)(),a=(0,v.useMemo)(()=>({term:e,selectedFacets:[{key:"channel",value:null!=t?t:""},{key:"locale",value:n}]}),[e,n,t]),{data:o,error:i}=(0,er.aM)(en,a,{doNotRun:null==e,onSuccess:t=>{t&&e&&r.e(9399).then(r.bind(r,66393)).then(r=>{var a,o,i,l,{sendAnalyticsEvent:s}=r;s({name:"intelligent_search_autocomplete_query",params:{locale:n,term:e,url:window.location.href,logicalOperator:null!==(a=null===(o=t.search.metadata)||void 0===o?void 0:o.logicalOperator)&&void 0!==a?a:"and",isTermMisspelled:null!==(i=null===(l=t.search.metadata)||void 0===l?void 0:l.isTermMisspelled)&&void 0!==i&&i,totalCount:t.search.products.pageInfo.totalCount}})})}});return{data:o,error:i}},convertProductToQuickOrder=(e,t)=>{if(!e||!e.offers||!e.offers.offers.length)return null;var r,n,a,o,i,l,s,c,u,d=e.offers.offers[0],f="https://schema.org/OutOfStock"===d.availability,p="https://schema.org/InStock"===d.availability,v=d.quantity,b=null!=v?v:p?999999:0,m=Number.isFinite(t)&&t>0?Math.floor(t):1;f?(c=0,u=!0):0===b?(c=0,u=!0):null!=v&&m>b?(c=b,u=!0):(c=m,u=m!==t);var g=null===(r=e.isVariantOf)||void 0===r?void 0:null===(n=r.skuVariants)||void 0===n?void 0:null===(a=n.allVariantProducts)||void 0===a?void 0:a.find(t=>t.productID===e.id||t.productID===e.sku),h=null!==(o=null==g?void 0:g.name)&&void 0!==o?o:e.name;return{id:e.sku,name:h,price:d.price,quantityUpdated:u,image:{url:null!==(i=null===(l=e.image[0])||void 0===l?void 0:l.url)&&void 0!==i?i:"",alternateName:(null===(s=e.image[0])||void 0===s?void 0:s.alternateName)||e.name},inventory:b,availability:p?"available":"outOfStock",selectedCount:c}},ea=r(92612),eo=et.wA,useBulkProductsQuery=e=>{var{channel:t,locale:r}=(0,g.kP)(),{0:n,1:a}=(0,v.useState)([]),{0:o,1:i}=(0,v.useState)(!1),{0:s,1:c}=(0,v.useState)(null),u=(0,v.useMemo)(()=>e.join(","),[e]);return(0,v.useEffect)(()=>{var n;if(0===e.length){a([]),i(!1);return}(n=(0,l.Z)(function*(){i(!0),c(null);try{if(!t)throw Error("useBulkProductsQuery: 'channel' from session is an empty string.");for(var n=[],o=0;o<e.length;o+=10){var s=e.slice(o,o+10).map(function(){var e=(0,l.Z)(function*(e){try{var n={locator:[{key:"id",value:e},{key:"channel",value:t},{key:"locale",value:r}]};return{sku:e,product:(yield(0,ea.W)(eo,n,{fetchOptions:{method:"POST"}})).product}}catch(t){return console.error("Failed to fetch product ".concat(e,":"),t),{sku:e,error:t instanceof Error?t:Error("Failed to fetch product: ".concat(e))}}});return function(t){return e.apply(this,arguments)}}()),u=yield Promise.all(s);n.push(...u),o+10<e.length&&(yield new Promise(e=>setTimeout(e,100)))}a(n)}catch(e){c(e instanceof Error?e:Error("Failed to fetch products")),a([])}finally{i(!1)}}),function(){return n.apply(this,arguments)})()},[u,t,r,e.length]),{products:n,isLoading:o,error:s}},ei=r(76663),el=r(96492),es=["onSearchClick","buttonTestId","containerStyle","sort","placeholder","quickOrderSettings","onFileSearch"];function SearchInput_ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function SearchInput_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?SearchInput_ownKeys(Object(r),!0).forEach(function(t){(0,a.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):SearchInput_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var ec=(0,v.lazy)(()=>r.e(7534).then(r.bind(r,57534))),eu=i()(()=>Promise.all([r.e(3496),r.e(9237),r.e(4436),r.e(9701),r.e(5906)]).then(r.bind(r,34436)).then(e=>e.SearchInputField),{loadableGenerated:{webpack:()=>[null]}}),ed=(n=(0,l.Z)(function*(e){r.e(9399).then(r.bind(r,66393)).then(t=>{var{sendAnalyticsEvent:r}=t;r({name:"search",params:{search_term:e}})})}),function(e){return n.apply(this,arguments)}),ef=(0,v.forwardRef)(function(e,t){var r,n,a,o,i,d,f,p,b,m,g,h,{onSearchClick:w,buttonTestId:O="fs-search-button",containerStyle:S,sort:E,placeholder:P,quickOrderSettings:k,onFileSearch:Z}=e,C=(0,s.Z)(e,es),{hidden:_}=C,{0:x,1:D}=(0,v.useState)(""),{0:R,1:L}=(0,v.useState)(!1),B=(0,v.useDeferredValue)(x),{0:N,1:I}=(0,v.useState)(!1),{0:A,1:T}=(0,v.useState)(!1),{0:F,1:K}=(0,v.useState)(!1),{0:M,1:et}=(0,v.useState)(!1),{0:er,1:en}=(0,v.useState)(!1),{0:ea,1:eo}=(0,v.useState)([]),{0:ef,1:ep}=(0,v.useState)(!1),ev=(0,v.useRef)(null),{addToSearchHistory:eb}=(0,ee.Z)(),em=(0,U.useRouter)(),eg=(0,ei.o)(),{pushToast:eh}=(0,c.l8)(),{0:ey,1:ew}=(0,v.useState)(null),{0:eO,1:ej}=(0,v.useState)(null),{0:eS,1:eE}=(0,v.useState)([]),{0:eP,1:ek}=(0,v.useState)({}),{0:eZ,1:eC}=(0,v.useState)(!1),e_=(0,v.useMemo)(()=>({delimiter:",",skipEmptyLines:!0}),[]),{error:ex,isParsing:eD,onParseFile:eR,onClearError:eL,onGenerateTemplate:eB}=(0,W.F)(e_),eN=null!==(o=null==k?void 0:k.quickOrder)&&void 0!==o&&o,eI=null==k?void 0:k.attachmentButton,eA=null==k?void 0:k.toastMessages,eT=null==k?void 0:k.drawer,eF=null==k?void 0:k.accessibilityLabels,eK=null==k?void 0:k.fileUploadCard;(0,v.useImperativeHandle)(t,()=>({resetSearchInput:()=>D("")}));var onSearchSelection=(e,t)=>{eb({term:e,path:t}),ed(e),I(!1)},ez=(r=(0,l.Z)(function*(e){if(0!==e.length){et(!0),K(!0);var t=e[0];ej(t),eL(),ew(null),eo([]),eE([]),ek({}),en(!1),ep(!1);var r=yield eR(t);r&&r.data&&r.data.length>0&&ew(r)}}),function(e){return r.apply(this,arguments)}),eM=(n=(0,l.Z)(function*(){try{var e=yield eB();if(e){var t=new Blob([e],{type:"text/csv"}),r=window.URL.createObjectURL(t),n=document.createElement("a");n.href=r,n.download="template.csv",document.body.appendChild(n),n.click(),document.body.removeChild(n),window.URL.revokeObjectURL(r)}}catch(e){console.error("Failed to download template:",e)}}),function(){return n.apply(this,arguments)}),eq=(a=(0,l.Z)(function*(e){var t,r,n=ey;if(!n||!n.data||0===n.data.length){var a=e||eO;if(!a){eh({title:null==eA?void 0:null===(o=eA.noFileSelected)||void 0===o?void 0:o.title,message:null==eA?void 0:null===(i=eA.noFileSelected)||void 0===i?void 0:i.message,status:"ERROR",icon:(0,j.jsx)(u.Z,{name:"CircleWavyWarning",width:30,height:30})});return}try{var o,i,l,s,c=eR(a),d=new Promise((e,t)=>{setTimeout(()=>{var e;t(Error(null==eA?void 0:null===(e=eA.fileTimeout)||void 0===e?void 0:e.message))},3e4)}),f=yield Promise.race([c,d]);if(f&&f.data&&f.data.length>0)n=f,ew(f);else{eh({title:null==eA?void 0:null===(l=eA.noDataFound)||void 0===l?void 0:l.title,message:null==eA?void 0:null===(s=eA.noDataFound)||void 0===s?void 0:s.message,status:"ERROR",icon:(0,j.jsx)(u.Z,{name:"CircleWavyWarning",width:30,height:30})});return}}catch(e){var p,v,b=e instanceof Error?e.message:null==eA?void 0:null===(p=eA.fileProcessingError)||void 0===p?void 0:p.defaultMessage;eh({title:null==eA?void 0:null===(v=eA.fileProcessingError)||void 0===v?void 0:v.title,message:b,status:"ERROR",icon:(0,j.jsx)(u.Z,{name:"CircleWavyWarning",width:30,height:30})});return}}if(!n||!n.data||0===n.data.length){eh({title:null==eA?void 0:null===(y=eA.noDataAvailable)||void 0===y?void 0:y.title,message:null==eA?void 0:null===(w=eA.noDataAvailable)||void 0===w?void 0:w.message,status:"ERROR",icon:(0,j.jsx)(u.Z,{name:"CircleWavyWarning",width:30,height:30})});return}var m={fileName:n.fileName,totalRows:n.totalRows,fileSize:n.fileSize,data:n.data};try{window.dispatchEvent(new CustomEvent("faststore:file-search",{detail:m}))}catch(e){}null==Z||Z(n);var g={};for(var h of n.data){var y,w,O,S,E,P=null===(O=h.sku)||void 0===O?void 0:O.trim();P&&(g[P]=(null!==(S=g[P])&&void 0!==S?S:0)+(null!==(E=h.quantity)&&void 0!==E?E:1))}var k=Object.keys(g);if(0===k.length){eh({title:null==eA?void 0:null===(t=eA.noValidSkus)||void 0===t?void 0:t.title,message:null==eA?void 0:null===(r=eA.noValidSkus)||void 0===r?void 0:r.message,status:"ERROR",icon:(0,j.jsx)(u.Z,{name:"CircleWavyWarning",width:30,height:30})});return}eo([]),ep(!1),eC(!0),ek(g),en(!0),T(!1),eE(k)}),function(e){return a.apply(this,arguments)}),{products:eU,isLoading:eW}=useBulkProductsQuery(eS);(0,v.useEffect)(()=>{if(eS.length>0&&eW){eo([]),eC(!0),en(!0),T(!1),ep(!1);return}if(!eW&&eS.length>0&&Object.keys(eP).length>0&&eU.length>0){eC(!0);var e=setTimeout(()=>{var e=[];eU.forEach(t=>{if(t.product&&!t.error){var r,n,a=null!==(r=eP[null!==(n=t.sku)&&void 0!==n?n:""])&&void 0!==r?r:1,o=convertProductToQuickOrder(t.product,a);o&&e.push(o)}}),eo(e),eC(!1),e.length>0?(en(!0),T(!1),ep(!1)):(eo([]),en(!0),T(!1),ep(!0))},2e3);return()=>{clearTimeout(e)}}!eW&&eS.length>0&&Object.keys(eP).length>0&&0===eU.length&&(eo([]),en(!0),T(!1),ep(!0),eC(!1))},[eU,eS,eP,eW]),(0,V.t)(ev,()=>{I(null!=R&&R),T(!1)});var{data:eQ,error:eV}=search_useSuggestions(B),e$=(null!==(i=null==eQ?void 0:eQ.search.suggestions.terms)&&void 0!==i?i:[]).slice(0,5),eG=(null!==(d=null==eQ?void 0:eQ.search.suggestions.products)&&void 0!==d?d:[]).slice(0,5),eH=null==eQ?void 0:eQ.search.searchId,eX={onClick:w,testId:O},eY=(0,v.useCallback)(e=>{e.forEach(e=>{if(e.selectedCount>0&&"available"===e.availability){var t=null===(r=eU.find(t=>{var r;return(null===(r=t.product)||void 0===r?void 0:r.sku)===e.id}))||void 0===r?void 0:r.product;if(t&&null!==(n=t.offers)&&void 0!==n&&n.offers[0]){var r,n,a,o,i,l,s=t.offers.offers[0];q.i8.addItem({itemOffered:{sku:t.sku,name:t.name,unitMultiplier:null!==(a=t.unitMultiplier)&&void 0!==a?a:1,image:t.image,brand:t.brand,isVariantOf:t.isVariantOf,gtin:t.gtin,additionalProperty:t.additionalProperty},seller:s.seller,quantity:e.selectedCount,price:e.price,listPrice:null!==(o=s.listPrice)&&void 0!==o?o:e.price,priceWithTaxes:null!==(i=s.priceWithTaxes)&&void 0!==i?i:e.price,listPriceWithTaxes:null!==(l=s.listPriceWithTaxes)&&void 0!==l?l:e.price})}}}),en(!1)},[eU]),eJ=(0,v.useCallback)(e=>{var t;return(null!==(t=null==eK?void 0:eK.completedStatusTemplate)&&void 0!==t?t:"").replace("{fileSize}",(e/1024).toFixed(1))},[null==eK?void 0:eK.completedStatusTemplate]),e0=(0,v.useMemo)(()=>{var e,t=null!==(e=null==eK?void 0:eK.errorMessages)&&void 0!==e?e:{},r={};for(var[n,a]of Object.entries(t))null!=a&&a.title&&null!=a&&a.description&&(r[n]={title:a.title,description:a.description});return r},[null==eK?void 0:eK.errorMessages]);return(0,j.jsxs)(j.Fragment,{children:[_?(0,j.jsx)(z.Z,SearchInput_objectSpread({type:"submit","aria-label":null==eF?void 0:eF.searchButtonAriaLabel,icon:(0,j.jsx)(u.Z,{name:"MagnifyingGlass"}),size:"small"},eX)):(0,j.jsxs)($.Z,{ref:ev,visibleDropdown:N,onSearchSelection:onSearchSelection,term:B,terms:e$,products:eG,isLoading:!eV&&!eQ,searchId:eH,children:[(0,j.jsx)(eu,SearchInput_objectSpread({ref:t,buttonProps:eX,placeholder:P,showAttachmentButton:eN,attachmentButtonIcon:eN&&null!=eI&&eI.icon?(0,j.jsx)(u.Z,{name:eI.icon.icon,"aria-label":eI.icon.alt}):void 0,attachmentButtonAriaLabel:null!==(f=null==eI?void 0:eI.ariaLabel)&&void 0!==f?f:null==eF?void 0:eF.attachButtonAriaLabel,attachmentButtonProps:{onClick:()=>{T(!0)},"aria-label":null!==(p=null==eI?void 0:eI.ariaLabel)&&void 0!==p?p:null==eF?void 0:eF.attachButtonAriaLabel},onChange:e=>D(e.target.value),onSubmit:e=>{var t=(0,el.u)({term:e,sort:E});onSearchSelection(e,t),em.push(t)},onFocus:()=>I(!0),value:x},C)),N&&(0,j.jsx)(v.Suspense,{fallback:null,children:(0,j.jsx)(ec,{sort:E,quickOrderSettings:k,onChangeCustomSearchDropdownVisible:L})}),A&&(0,j.jsx)(G.Z,SearchInput_objectSpread({title:null==eK?void 0:eK.title,fileInputAriaLabel:null==eK?void 0:eK.fileInputAriaLabel,dropzoneAriaLabel:null==eK?void 0:eK.dropzoneAriaLabel,dropzoneTitle:null==eK?void 0:eK.dropzoneTitle,selectFileButtonLabel:null==eK?void 0:eK.selectFileButtonLabel,downloadTemplateButtonLabel:null==eK?void 0:eK.downloadTemplateButtonLabel,removeButtonAriaLabel:null==eK?void 0:eK.removeButtonAriaLabel,searchButtonLabel:null==eK?void 0:eK.searchButtonLabel,uploadingStatusText:null==eK?void 0:eK.uploadingStatusText,getCompletedStatusText:eJ,errorMessages:e0,accept:null==eK?void 0:eK.acceptedFileTypes,isOpen:F||M||A,onDismiss:()=>{ew(null),ej(null),eE([]),ek({}),eo([]),T(!1),et(!1),K(!1),ep(!1),eL()},onFileSelect:ez,onDownloadTemplate:eM,formatterFileSize:y.sS,formatterFileName:y.y4,onSearch:eq,isUploading:eD||eW,hasError:(!!ex||ef)&&!eW},(ex||ef&&!eW)&&{errorType:ef?Q.B4.NoProductsFound:"FILE_ERROR"===ex.type?Q.B4.Unreadable:Q.B4.InvalidStructure,errorMessage:ef?void 0:null==ex?void 0:ex.message}))]}),(0,j.jsxs)(H.Z,{isOpen:er,overlayProps:{onClick:()=>{en(!1),eo([]),eE([]),ek({})}},providerProps:{initialProducts:ea,isLoading:eW||eZ,totalRequestedSkus:Object.keys(eP).length||0,onAddToCart:eY,alertMessages:null==eT?void 0:eT.alertMessages},children:[(0,j.jsx)(X.Z,{title:eO?(0,y.y4)(eO.name):null==eT?void 0:eT.defaultTitle,onCloseDrawer:()=>{en(!1),eo([]),eE([]),ek({})}}),(0,j.jsx)(Y.Z,{columns:{name:null==eT?void 0:null===(b=eT.columns)||void 0===b?void 0:b.name,availability:{label:null==eT?void 0:null===(m=eT.columns)||void 0===m?void 0:m.availabilityLabel,stockDisplaySettings:"showAvailability"},price:null==eT?void 0:null===(g=eT.columns)||void 0===g?void 0:g.price,quantity:null==eT?void 0:null===(h=eT.columns)||void 0===h?void 0:h.quantity},formatter:e=>eg(e),messages:null==eT?void 0:eT.messages}),(0,j.jsx)(J.Z,{formatter:e=>eg(e),labels:null==eT?void 0:eT.footer})]})]})}),ep=r(978),ev=r(37322),eb=r(6099),em=r(10271),eg=r.n(em);function Navbar_ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Navbar_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Navbar_ownKeys(Object(r),!0).forEach(function(t){(0,a.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Navbar_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var eh=i()(()=>r.e(2564).then(r.bind(r,42564)),{ssr:!1,loadableGenerated:{webpack:()=>[42564]}}),ey=i()(()=>r.e(1756).then(r.bind(r,11756)),{ssr:!1,loadableGenerated:{webpack:()=>[11756]}}),Navbar_Navbar=function(e){var t,{cart:r,logo:n,searchInput:a,home:o,links:i,signIn:l,region:s,home:{label:d},signIn:{button:f},menu:{icon:{icon:p,alt:b}}}=e,{Navbar:m,NavbarHeader:h,NavbarRow:y,NavbarButtons:w,IconButton:O,_experimentalButtonSignIn:S}=(0,x.r3)(),E=(0,T.C)(),{openNavbar:P,navbar:k}=(0,c.l8)(),{isDesktop:Z}=(0,eb.Z)(),{b2b:C,isSessionReady:_}=(0,g.kP)(),D=(0,v.useRef)(null),{0:R,1:L}=(0,v.useState)(!1),B=null===(t=eg().experimental)||void 0===t?void 0:t.enableFaststoreMyAccount,N=null==C?void 0:C.isRepresentative,I=(0,v.useCallback)(()=>{var e,t;L(!0),null===(e=D.current)||void 0===e||null===(t=e.inputRef)||void 0===t||t.focus()},[]),A=(0,v.useCallback)(()=>{var e;L(!1),null===(e=D.current)||void 0===e||e.resetSearchInput()},[]);return(0,j.jsxs)(m.Component,Navbar_objectSpread(Navbar_objectSpread({scrollDirection:E},m.props),{},{children:[(0,j.jsx)(h.Component,Navbar_objectSpread(Navbar_objectSpread({},h.props),{},{children:(0,j.jsxs)(y.Component,Navbar_objectSpread(Navbar_objectSpread({},y.props),{},{children:[!R&&(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(O.Component,Navbar_objectSpread(Navbar_objectSpread({"data-fs-navbar-button-menu":!0,onClick:P,icon:(0,j.jsx)(u.Z,{name:p,width:32,height:32})},O.props),{},{"aria-label":null!=b?b:O.props["aria-label"]})),(0,j.jsx)(ep.Z,{"data-fs-navbar-logo":!0,href:n.link?n.link.url:"/",title:n.link?n.link.title:d,prefetch:!1,children:(0,j.jsx)(ev.Z,{src:n.src,alt:n.alt})})]}),Z&&(0,j.jsx)(ef,{placeholder:null==a?void 0:a.placeholder,sort:null==a?void 0:a.sort,quickOrderSettings:null==a?void 0:a.quickOrderSettings}),(0,j.jsxs)(w.Component,Navbar_objectSpread(Navbar_objectSpread({searchExpanded:R},w.props),{},{children:[R&&(0,j.jsx)(O.Component,Navbar_objectSpread(Navbar_objectSpread({"data-fs-button-collapse":!0,"aria-label":"Collapse search bar",icon:(0,j.jsx)(u.Z,{name:"CaretLeft",width:32,height:32})},O.props),{},{onClick:A})),!Z&&(0,j.jsx)(ef,{placeholder:"",ref:D,testId:"store-input-mobile",buttonTestId:"store-input-mobile-button",onSearchClick:I,sort:null==a?void 0:a.sort,quickOrderSettings:null==a?void 0:a.quickOrderSettings,hidden:!R,"aria-hidden":!R}),Z&&(_?B&&N?(0,j.jsx)(K.o,{icon:f.icon,isRepresentative:N}):(0,j.jsx)(S.Component,Navbar_objectSpread({},f)):(0,j.jsx)(F.Z,{"data-fs-navbar-signin-skeleton":!0,size:{width:"140px",height:"2.5rem"}})),(0,j.jsx)(CartToggle_CartToggle,Navbar_objectSpread({},r))]}))]}))})),Z&&(0,j.jsx)(eh,{links:i,region:s}),k&&(0,j.jsx)(ey,{home:o,logo:n,links:i,signIn:l,region:s})]}))},ew=r(33295),eO=r(53976),ej=r(71616),eS=r(78357),eE=r(36276),eP=r(74609),ek=i()(()=>r.e(5647).then(r.bind(r,10122)).then(e=>e.ButtonSignIn),{loadableGenerated:{webpack:()=>[10122]}}),eZ=i()(()=>Promise.all([r.e(3496),r.e(9237),r.e(4436),r.e(9701),r.e(5906)]).then(r.bind(r,34436)).then(e=>e.NavbarSlider),{loadableGenerated:{webpack:()=>[null]}}),eC=i()(()=>Promise.all([r.e(3496),r.e(9237),r.e(4436),r.e(9701),r.e(5906)]).then(r.bind(r,34436)).then(e=>e.NavbarSliderHeader),{loadableGenerated:{webpack:()=>[null]}}),e_=i()(()=>Promise.all([r.e(3496),r.e(9237),r.e(4436),r.e(9701),r.e(5906)]).then(r.bind(r,34436)).then(e=>e.NavbarSliderContent),{loadableGenerated:{webpack:()=>[null]}}),ex=i()(()=>Promise.all([r.e(3496),r.e(9237),r.e(4436),r.e(9701),r.e(5906)]).then(r.bind(r,34436)).then(e=>e.NavbarSliderFooter),{loadableGenerated:{webpack:()=>[null]}}),eD=i()(()=>r.e(1044).then(r.bind(r,27666)).then(e=>e.default),{loadableGenerated:{webpack:()=>[27666]}}),eR={Navbar:ew.Z,NavbarLinks:eO.Z,NavbarLinksList:ej.Z,NavbarSlider:eZ,NavbarSliderHeader:eC,NavbarSliderContent:e_,NavbarSliderFooter:ex,NavbarHeader:eS.Z,NavbarRow:eE.Z,NavbarButtons:eP.Z,IconButton:z.Z,_experimentalButtonSignIn:ek,__experimentalSKUMatrixSidebar:eD};function NavbarSection(e){var{logo:t,searchInput:r,cartIcon:n,signInButton:a,navigation:{menu:o,home:i,pageLinks:l,regionalization:{label:s,icon:{icon:c},enabled:u}}}=e;return(0,j.jsx)(Z.Z,{className:"".concat(A().section," section-navbar"),children:(0,j.jsx)(Navbar_Navbar,{home:i,menu:o,logo:t,searchInput:r,cart:n,links:l,signIn:{button:a},region:{icon:c,label:s,shouldDisplayRegion:u}})})}NavbarSection.$componentKey="Navbar";var eL=(0,k.B)("Navbar",NavbarSection,eR);function OverriddenDefaultNavbar_ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function OverriddenDefaultNavbar_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?OverriddenDefaultNavbar_ownKeys(Object(r),!0).forEach(function(t){(0,a.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):OverriddenDefaultNavbar_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var eB=(0,k.v)(OverriddenDefaultNavbar_objectSpread(OverriddenDefaultNavbar_objectSpread(OverriddenDefaultNavbar_objectSpread({},N),N),{},{Section:eL})),eN={section:"RegionBar"},eI=r(4912),eA=["icon","buttonIcon","label","editLabel"];function RegionBar_ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function RegionBar_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?RegionBar_ownKeys(Object(r),!0).forEach(function(t){(0,a.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):RegionBar_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var RegionBar_RegionBar=function(e){var t,r,n,a,o,i,l,u,{icon:{icon:d,alt:f},buttonIcon:p,label:b,editLabel:w}=e,O=(0,s.Z)(e,eA),{RegionBar:S,LocationIcon:E,ButtonIcon:P,FilterButtonIcon:k}=(0,x.r3)(),{city:Z,postalCode:C}=(0,g.kP)(),_=(0,v.useRef)(null),{openPopover:D,openRegionSlider:R}=(0,c.l8)(),{openModal:L}=(0,eI.MS)(_),{globalPickupPoint:B}=(0,m.z0)(),{deliveryPromise:{filterByPickupPoint:N}={}}=(0,h.T)(),I=g.Qf.readInitial(),A=em.deliveryPromise.enabled&&!!C&&(null==N?void 0:N.enabled);return(0,v.useEffect)(()=>{em.deliveryPromise.enabled&&(null!=I&&I.postalCode&&C===I.postalCode||!C&&!em.deliveryPromise.mandatory)&&_.current&&D({isOpen:!0,triggerRef:_})},[]),(0,j.jsx)(S.Component,RegionBar_objectSpread(RegionBar_objectSpread(RegionBar_objectSpread({icon:(0,j.jsx)(E.Component,RegionBar_objectSpread(RegionBar_objectSpread({},E.props),{},{name:null!=d?d:E.props.name,"aria-label":null!=f?f:E.props["aria-label"]})),buttonIcon:null!=p&&p.icon?(0,j.jsx)(P.Component,RegionBar_objectSpread(RegionBar_objectSpread({},P.props),{},{name:null!==(t=null==p?void 0:p.icon)&&void 0!==t?t:P.props.name,"aria-label":null!==(r=null==p?void 0:p.alt)&&void 0!==r?r:P.props["aria-label"]})):void 0,filterButton:{label:null==N?void 0:N.label,icon:(0,j.jsx)(k.Component,RegionBar_objectSpread(RegionBar_objectSpread({},k.props),{},{name:null!==(n=null==N?void 0:null===(a=N.icon)||void 0===a?void 0:a.icon)&&void 0!==n?n:k.props.name,"aria-label":null!==(o=null==N?void 0:null===(i=N.icon)||void 0===i?void 0:i.alt)&&void 0!==o?o:k.props["aria-label"]})),selectedFilter:null!==(l=(null==B?void 0:B.name)||(null==B?void 0:null===(u=B.address)||void 0===u?void 0:u.street))&&void 0!==l?l:void 0,shouldDisplayFilterButton:A,onClick:()=>R(c.gK.globalChangePickupPoint)}},S.props),{},{label:null!=b?b:S.props.label,editLabel:null!=w?w:S.props.editLabel,onButtonClick:L,postalCode:C,city:(0,y._W)(null!=Z?Z:"")},O),{},{ref:_}))},eT={RegionBar:r(72220).Z,LocationIcon:u.Z,ButtonIcon:u.Z,FilterButtonIcon:u.Z},eF=r(10043),eK=r.n(eF);function RegionBar_RegionBar_ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function RegionBarSection(e){var t=Object.assign({},e),{isDesktop:r}=(0,eb.Z)();return!r&&(0,j.jsx)(Z.Z,{className:"".concat(eK().section," section-region-bar"),children:(0,j.jsx)(RegionBar_RegionBar,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?RegionBar_RegionBar_ownKeys(Object(r),!0).forEach(function(t){(0,a.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):RegionBar_RegionBar_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({},t))})}RegionBarSection.$componentKey="RegionBar";var ez=(0,k.B)("RegionBar",RegionBarSection,eT);function OverriddenDefaultRegionBar_ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function OverriddenDefaultRegionBar_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?OverriddenDefaultRegionBar_ownKeys(Object(r),!0).forEach(function(t){(0,a.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):OverriddenDefaultRegionBar_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var eM=(0,k.v)(OverriddenDefaultRegionBar_objectSpread(OverriddenDefaultRegionBar_objectSpread(OverriddenDefaultRegionBar_objectSpread({},eN),eN),{},{Section:ez})),eq=r(2074),eU=r(54390),eW=r(26134);function Components_ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Components_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Components_ownKeys(Object(r),!0).forEach(function(t){(0,a.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Components_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var eQ=i()(()=>r.e(1781).then(r.bind(r,57953)),{ssr:!1,loadableGenerated:{webpack:()=>[57953]}}),eV=i()(()=>r.e(1736).then(r.bind(r,62012)),{ssr:!1,loadableGenerated:{webpack:()=>[62012]}}),e$=i()(()=>r.e(9097).then(r.bind(r,48586)),{ssr:!1,loadableGenerated:{webpack:()=>[48586]}}),eG=i()(()=>r.e(554).then(r.bind(r,61226)),{ssr:!1,loadableGenerated:{webpack:()=>[61226]}}),eH=i()(()=>r.e(6501).then(r.bind(r,97106)),{ssr:!1,loadableGenerated:{webpack:()=>[97106]}}),eX=Components_objectSpread(Components_objectSpread({[(0,eW.x)(B,"Alert")]:B,[(0,eW.x)(eB,"Navbar")]:eB,[(0,eW.x)(eM,"RegionBar")]:eM,[(0,eW.x)(RegionPopover,"RegionPopover")]:RegionPopover,[(0,eW.x)(eQ,"CartSidebar")]:eQ,[(0,eW.x)(eV,"RegionModal")]:eV,[(0,eW.x)(eG,"RegionSlider")]:eG,[(0,eW.x)(e$,"Footer")]:e$,[(0,eW.x)(eH,"ShoppingAssistant")]:eH},eU.Z),eq.Z)},64921:function(e,t,r){"use strict";r.d(t,{Z:function(){return useRegion}});var n,a=r(47723),o=r(92160),i=r(44194),l=r(10271),s=r(18599),c=r(92612),u=s.bi,d=(n=(0,o.Z)(function*(e){var{productCount:t}=yield(0,c.W)(u,{term:e});return t.total}),function(e){return n.apply(this,arguments)}),f=r(12306);function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){(0,a.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function useRegion(){var e,{0:t,1:r}=(0,i.useState)(!1),{0:n,1:a}=(0,i.useState)("");return{loading:t,setRegion:(e=(0,o.Z)(function*(e){var{postalCode:t,errorMessage:n,session:o,onSuccess:i,noProductsAvailableErrorMessage:s,simulation:c=!1}=e;if("string"==typeof t){r(!0);try{var u=_objectSpread(_objectSpread({},o),{},{postalCode:t,geoCoordinates:null}),p=yield(0,f.je)(u);if(l.deliveryPromise.enabled){var v,b=yield d();if(0===b){a(null!==(v=null==s?void 0:s.replace(/%s/g,t))&&void 0!==v?v:"There are no products available for ".concat(t,".")),r(!1);return}}c||f.Qf.set(null!=p?p:u),a(""),null==i||i(c?p:void 0)}catch(e){a(n)}finally{r(!1)}}}),function(t){return e.apply(this,arguments)}),regionError:n,setRegionError:a}}},58769:function(e,t,r){"use strict";var n=r(47723),a=r(2693),o=r(44194),i=r(96991),l=r(31549),s=["as","className"];function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}var c=(0,o.forwardRef)(function(e,t){var r,{as:o,className:c=""}=e,u=(0,a.Z)(e,s),d=null!==(r=(0,i.WB)())&&void 0!==r?r:"",f=null!=o?o:"section";return(0,l.jsx)(f,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){(0,n.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({ref:t,className:"section ".concat(c," ").concat(d).trim()},u))});t.Z=c},63845:function(e,t,r){"use strict";var n=r(47723),a=r(2693),o=r(44194),i=r(76711),l=r.n(i),s=r(65255),c=r(31549),u=["loading"];function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Image(e){var{loading:t="lazy"}=e,r=(0,a.Z)(e,u);return(0,c.jsx)(l(),function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){(0,n.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({"data-fs-image":!0,loader:s.faststoreLoader,loading:t,priority:"eager"===t},r))}Image.displayName="Image",t.Z=(0,o.memo)(Image)},65255:function(e,t,r){"use strict";function handleVtexUrls(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:8,n=r>10?Math.ceil(Math.min(r,100)/10):r,a=/(\/ids\/\d+)\/([^/?]+)(\.[^/?]+)(\?.+)?$/;if(a.test(e))return e.replace(a,function(e,r,a,o){var i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"",l=new URLSearchParams(i);return l.set("quality",n.toString()),"".concat(r,"-").concat(t,"-auto/").concat(a,".webp?").concat(l.toString())});if(e.includes("vtexassets")&&e.includes("/assets")){var o=new URL(e);return o.searchParams.set("width",t.toString()),o.searchParams.set("aspect","true"),o.searchParams.set("quality",n.toString()),o.toString()}return null}function customImageLoader(e){var{src:t,width:r,quality:n}=e,a=handleVtexUrls(t,r,n);if(a)return a;try{new URL(t);var o=new URLSearchParams;return o.set("url",t),o.set("w",r.toString()),n&&o.set("q",n.toString()),"/_next/image?".concat(o.toString())}catch(e){return t}}function faststoreLoader(e){var{src:t,width:r,quality:n}=e;return handleVtexUrls(t,r,n)||t}r.r(t),r.d(t,{default:function(){return customImageLoader},faststoreLoader:function(){return faststoreLoader}})},978:function(e,t,r){"use strict";var n=r(47723),a=r(2693),o=r(44194),i=r(50557),l=r.n(i),s=r(40727),c=r(31549),u=["href","inverse","children","variant"];function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){(0,n.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var d=(0,o.forwardRef)(function(e,t){var{href:r,inverse:n,children:i,variant:d="default"}=e,f=(0,a.Z)(e,u);return(0,o.useMemo)(()=>"/"===r[0]&&"/"!==r[1],[r])?(0,c.jsx)(s.Z,_objectSpread(_objectSpread({as:l(),ref:t,variant:d,inverse:n,passHref:!0,href:r,legacyBehavior:!1},f),{},{children:i})):(0,c.jsx)(s.Z,_objectSpread(_objectSpread({ref:t,href:r,variant:d,inverse:n},f),{},{children:i}))});t.Z=d},37322:function(e,t,r){"use strict";var n=r(63845),a=r(31549);t.Z=function(e){var{alt:t,src:r,loading:o="lazy"}=e;return r?(0,a.jsx)("div",{"data-fs-logo":!0,children:(0,a.jsx)(n.Z,{alt:t,src:r,width:0,height:0,sizes:"15vw",loading:o,style:{width:"100%",height:"auto"}})}):(console.error("Logo image src is required."),null)}},2074:function(e,t){"use strict";t.Z={}},10051:function(e,t,r){"use strict";var n=r(79087);t.Z=(0,n.Ql)({routes:[]})},54390:function(e,t){"use strict";t.Z={}},79087:function(e,t,r){"use strict";r.d(t,{Ql:function(){return getMyAccountRoutes},d3:function(){return i}});var n=r(47723),a=r(2693),o=["route"];function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){(0,n.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var i="/pvt/account/user-details",l=[{title:"Profile",route:"/pvt/account/profile"},{title:"Orders",route:"/pvt/account/orders"},{title:"User Details",route:i},{title:"Security",route:"/pvt/account/security"}];function getMyAccountRoutes(e){var{routes:t}=e;return[...l,...t.map(e=>{var{route:t}=e;return _objectSpread(_objectSpread({},(0,a.Z)(e,o)),{},{route:t.startsWith("/pvt")?t:"/pvt".concat(t)})})]}},10484:function(e,t,r){"use strict";r.d(t,{WN:function(){return s},aM:function(){return useQuery},km:function(){return getKey}});var n=r(92160),a=r(47723),o=r(25209),i=r(13121),l=r(92612);function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){(0,a.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var getKey=(e,t)=>"".concat(e,"::").concat(JSON.stringify(t)),getSessionCacheKeySuffix=()=>{var e=(0,i.so)();return null!=e?e:""},s={errorRetryCount:3,refreshWhenHidden:!1,refreshWhenOffline:!1,revalidateOnFocus:!1,revalidateOnReconnect:!1,shouldRetryOnError:!0},useQuery=(e,t,r)=>(0,o.ZP)(()=>{if(null!=r&&r.doNotRun)return null;var n=getKey(e.__meta__.operationName,t),a=getSessionCacheKeySuffix();return"".concat(n,"::").concat(a)},_objectSpread(_objectSpread({fetcher:()=>new Promise(a=>{setTimeout((0,n.Z)(function*(){a((yield(0,l.W)(e,t,r)))}))})},s),r))},96991:function(e,t,r){"use strict";r.d(t,{Ju:function(){return o},WB:function(){return useOverrideClassName},r3:function(){return useOverrideComponents}});var n=r(44194),a=(0,n.createContext)({components:{}}),o=a.Provider,useOverrideComponents=()=>(0,n.useContext)(a).components,useOverrideClassName=()=>{var e;return null===(e=(0,n.useContext)(a))||void 0===e?void 0:e.className}},64774:function(e,t,r){"use strict";r.d(t,{En:function(){return isSearchPage},OJ:function(){return isPLP},al:function(){return usePDP},qt:function(){return usePage},tS:function(){return isPDP}});var n=r(44194),a=r(31549),isPDP=e=>{var t,r,n,a;return(null==e?void 0:null===(t=e.data)||void 0===t?void 0:null===(r=t.product)||void 0===r?void 0:r.sku)!=void 0&&(null==e?void 0:null===(n=e.data)||void 0===n?void 0:null===(a=n.product)||void 0===a?void 0:a.sku)!=null},isPLP=e=>{var t,r,n,a,o,i;return(null==e?void 0:null===(t=e.data)||void 0===t?void 0:null===(r=t.collection)||void 0===r?void 0:r.seo)!=void 0&&(null==e?void 0:null===(n=e.data)||void 0===n?void 0:null===(a=n.collection)||void 0===a?void 0:a.seo)!=null&&(null==e?void 0:null===(o=e.data)||void 0===o?void 0:null===(i=o.collection)||void 0===i?void 0:i.sku)==void 0},isSearchPage=e=>{var t,r;return void 0===e||(null==e?void 0:null===(t=e.data)||void 0===t?void 0:t.title)!=void 0||(null==e?void 0:null===(r=e.data)||void 0===r?void 0:r.searchTerm)!=void 0},o=(0,n.createContext)(null);function usePage(){var{context:e}=(0,n.useContext)(o);if(null==e)throw Error("Missing Overrides context on React tree");return e}var usePDP=()=>usePage();t.ZP=function(e){var{context:t,children:r}=e,i=(0,n.useMemo)(()=>({context:t}),[t]);return(0,a.jsx)(o.Provider,{value:i,children:r})}},66995:function(e,t,r){"use strict";r.d(t,{B:function(){return getOverridableSection},v:function(){return getOverriddenSection}});var n=r(47723),a=r(2693),o=r(44194),i=r(96991),l=r(31549),s=["__overrides"],c=["Section"];function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach(function(t){(0,n.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function getOverridableSection(e,t,r){return function(n){var{__overrides:c}=n,u=(0,a.Z)(n,s),d=(0,o.useMemo)(()=>{var t,n;return _objectSpread(_objectSpread({},null!=c?c:{}),{},{components:(t=_objectSpread(_objectSpread({},null!=c?c:{}),{},{section:e}),n={},Object.entries(r).forEach(e=>{var r,a,[o,i]=e,l=null===(r=t.components)||void 0===r?void 0:r[o];if(!l){n[o]={Component:i,props:{}};return}l.Component&&l.props&&console.warn("Mixed use of Component and props overrides detected. Defaulting to Component override: component ".concat(o," in the ").concat(t.section," section.")),l.Component?n[o]={Component:l.Component,props:{}}:n[o]={Component:i,props:null!==(a=l.props)&&void 0!==a?a:{}}}),n)})},[c]);return(0,l.jsx)(i.Ju,{value:d,children:(0,l.jsx)(t,_objectSpread({},u))})}}function getOverriddenSection(e){var{Section:t}=e,r=(0,a.Z)(e,c);return function(e){return(0,l.jsx)(t,_objectSpread(_objectSpread({},e),{},{__overrides:r}))}}},76663:function(e,t,r){"use strict";r.d(t,{P:function(){return useFormattedPrice},o:function(){return usePriceFormatter}});var n=r(44194),a=r(12306),usePriceFormatter=function(){var{decimals:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{currency:t,locale:r}=(0,a.kP)();return(0,n.useCallback)(n=>Intl.NumberFormat(r,{style:"currency",currency:t.code,minimumFractionDigits:e?2:0}).format(n),[t.code,r,e])},useFormattedPrice=e=>{var t=usePriceFormatter();return(0,n.useMemo)(()=>t(e),[t,e])}},96492:function(e,t,r){"use strict";r.d(t,{u:function(){return formatSearchPath}});var n=r(72339),a=r(1054),formatSearchPath=e=>{var{term:t,sort:r}=e,{pathname:o,search:i}=(0,n.Z)((0,a.j)({term:t,sort:r,base:"/s"}));return"".concat(o).concat(i)}},85124:function(e,t,r){"use strict";r.d(t,{Z:function(){return useSearchHistory}});var n=r(49578),a=r(94222),o=(0,n.M)([],"fs::searchHistory");function useSearchHistory(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:4,t=(0,a.o)(o);return{searchHistory:t,addToSearchHistory:function(r){var n=new Set,a=[r,...t].slice(0,e).filter(e=>!n.has(e.term)&&n.add(e.term),n);o.set(a)},clearSearchHistory:function(){o.set([])}}}},6099:function(e,t,r){"use strict";var n=r(44194);t.Z=function(){var{0:e,1:t}=(0,n.useState)(void 0),{0:r,1:a}=(0,n.useState)(void 0),{0:o,1:i}=(0,n.useState)(void 0);return(0,n.useEffect)(()=>{var handleResize=()=>{t(window.innerWidth<=420),a(window.innerWidth>420&&window.innerWidth<=768),i(window.innerWidth>=1280)};return handleResize(),window.addEventListener("resize",handleResize),()=>{window.removeEventListener("resize",handleResize)}},[]),{isMobile:e,isTablet:r,isDesktop:o,loading:void 0===e||void 0===r||void 0===o}}},37089:function(e,t,r){"use strict";r.d(t,{b:function(){return isBranchPreview},w:function(){return isContentPlatformSource}});var n=r(10271);function isContentPlatformSource(){return"cp"===n.contentSource.type.toLocaleLowerCase()}function isBranchPreview(e){return isContentPlatformSource()&&!!(null!=e&&e.versionId||null!=e&&e.releaseId)}},26134:function(e,t,r){"use strict";r.d(t,{x:function(){return getComponentKey}});var getComponentKey=(e,t)=>{var r;return null!==(r=e.$componentKey)&&void 0!==r?r:t}},99471:function(e,t,r){"use strict";r.d(t,{T:function(){return getGlobalSettings}});var n=r(64876),a=r.n(n),o=r(64774);function getGlobalSettings(e){var t,r=(0,o.qt)(),n=null!==(t=null==r?void 0:r.globalSettings)&&void 0!==t?t:{};return void 0===e?n:a()(n,{regionalization:e})}},58109:function(e){e.exports={section:"section_section__ehLs7"}},60811:function(e){e.exports={section:"section_section__AmDVi"}},89052:function(e){e.exports={section:"section_section__ju6uZ"}},77021:function(e){e.exports={section:"section_section__8YaQ0",load:"section_load__gXacA",spin:"section_spin__4mNIk",loading:"section_loading__Bpg6k","loading-rtl":"section_loading-rtl__i1zF_",loadingRtl:"section_loading-rtl__i1zF_"}},10043:function(e){e.exports={section:"section_section__uCdcm"}},40276:function(e,t,r){"use strict";var n=r(44194);let a=(0,n.forwardRef)(function({testId:e="fs-badge",size:t="small",variant:r="neutral",counter:a=!1,"aria-label":o,children:i,...l},s){return n.createElement("div",{ref:s,"data-fs-badge":!0,"aria-label":o,"data-fs-badge-variant":a?null:r,"data-fs-badge-size":t,"data-fs-badge-counter":a,"data-testid":e,...l},n.createElement("div",{"data-fs-badge-wrapper":!0},i))});t.Z=a},83339:function(e,t,r){"use strict";var n=r(44194),a=r(83982);let o=(0,n.forwardRef)(function({children:e,variant:t,inverse:r,size:o="regular",testId:i="fs-button",loading:l,loadingLabel:s,icon:c,iconPosition:u="left",disabled:d,...f},p){return n.createElement("button",{ref:p,"data-fs-button":!0,"data-fs-button-inverse":r,"data-fs-button-size":o,"data-fs-button-loading":l,"data-fs-button-variant":t,disabled:d,"data-testid":i,...f},n.createElement("div",{"data-fs-button-wrapper":!0},l&&n.createElement("p",{"data-fs-button-loading-label":!0},s,n.createElement(a.Z,{variant:"primary"!==t||r?"dark":"light"})),!!c&&"left"===u&&n.createElement("span",{"data-fs-button-icon":!0},c),e&&n.createElement("span",null,e),!!c&&"right"===u&&n.createElement("span",{"data-fs-button-icon":!0},c)))});t.Z=o},2614:function(e,t,r){"use strict";var n=r(44194);let a={bold:24,regular:16,light:12,thin:8},o=(0,n.forwardRef)(function({testId:e="fs-icon",name:t,weight:r="regular",...o},i){let{width:l,height:s}=o;return n.createElement("svg",{ref:i,"data-fs-icon":!0,"data-testid":e,width:l??24,height:s??24,strokeWidth:a[r],...o},n.createElement("use",{href:`/icons.svg#${t}`}))});t.Z=o},42256:function(e,t,r){"use strict";var n=r(44194);let a=(0,n.forwardRef)(function({testId:e="fs-input",...t},r){return n.createElement("input",{ref:r,"data-fs-input":!0,"data-testid":e,...t})});t.Z=a},31953:function(e,t,r){"use strict";var n=r(44194);let a=(0,n.forwardRef)(function({testId:e="fs-label",children:t,...r},a){return n.createElement("label",{ref:a,"data-fs-label":!0,"data-testid":e,...r},t)});t.Z=a},40727:function(e,t,r){"use strict";var n=r(44194);let a=(0,n.forwardRef)(function({as:e,children:t,variant:r="default",size:a="regular",inverse:o,testId:i="fs-link",...l},s){let c=e??"a";return n.createElement(c,{ref:s,"data-fs-link":!0,"data-fs-link-variant":r,"data-fs-link-inverse":o,"data-fs-link-size":a,"data-testid":i,...l},t)});t.Z=a},94564:function(e,t,r){"use strict";var n=r(44194);let a=(0,n.forwardRef)(function({as:e,marker:t,testId:r="fs-list",...a},o){let i=e??"ul";return n.createElement(i,{ref:o,role:"list","data-fs-list":!0,"data-fs-list-marker":t,"data-testid":r,...a})});t.Z=a},83982:function(e,t,r){"use strict";var n=r(44194);let a=(0,n.forwardRef)(function({testId:e="fs-loader",variant:t="dark",...r},a){return n.createElement("span",{ref:a,"data-fs-loader":!0,"data-fs-loader-variant":t,"data-testid":e,...r},n.createElement("span",{"data-fs-loader-item":!0}),n.createElement("span",{"data-fs-loader-item":!0}),n.createElement("span",{"data-fs-loader-item":!0}))});t.Z=a},71857:function(e,t,r){"use strict";var n=r(44194);let a=(0,n.forwardRef)(function({testId:e="fs-overlay",...t},r){return n.createElement("div",{ref:r,"data-fs-overlay":!0,role:"presentation","data-testid":e,...t})});t.Z=a},99767:function(e,t,r){"use strict";var n=r(44194),a=r(55450);let o=(0,n.forwardRef)(function({value:e,as:t="span",variant:r="selling",testId:o="fs-price",formatter:i=e=>e,SRText:l,...s},c){let u=i(e,r);return n.createElement(t,{ref:c,"data-fs-price":!0,"data-fs-price-variant":r,"data-testid":o,...s},l&&n.createElement(a.Z,{text:l}),u)});t.Z=o},55450:function(e,t,r){"use strict";var n=r(44194);t.Z=function({text:e,as:t}){let r=t??"span";return n.createElement(r,{"data-fs-sr-only":!0},e)}},10792:function(e,t,r){"use strict";var n=r(44194);let a=(0,n.forwardRef)(function({testId:e="fs-skeleton",loading:t=!0,shimmer:r=!0,children:a,size:o,border:i,borderRadius:l,...s},c){let u={width:o.width,height:o.height};return t?n.createElement("div",{ref:c,"data-fs-skeleton":!0,"data-testid":e,"data-fs-skeleton-border":i||null,style:l?{...u,borderRadius:l}:u,...s},r&&n.createElement("div",{"data-fs-skeleton-shimmer":!0})):n.createElement(n.Fragment,null,a)});t.Z=a},15660:function(e,t,r){"use strict";r.d(t,{F:function(){return useCSVParser}});var n=r(4982),a=r.n(n),o=r(44194);let i={};function useCSVParser(e){let[t,r]=(0,o.useState)(null),[n,a]=(0,o.useState)(!1),[l,s]=(0,o.useState)(!1),c=(0,o.useMemo)(()=>({...i,...e}),[e]),u=(0,o.useCallback)(async e=>{try{r(null),a(!0);let t=await parseCSVFile(e,c);return t}catch(t){let e={message:t instanceof Error?t.message:"Failed to parse CSV file",type:"PARSE_ERROR"};return r(e),null}finally{a(!1)}},[c]),d=(0,o.useCallback)(async()=>{try{s(!0);let e=generateCSVTemplate();return e}catch(t){let e={message:t instanceof Error?t.message:"Failed to generate template",type:"PARSE_ERROR"};return r(e),null}finally{s(!1)}},[]),f=(0,o.useCallback)(()=>{r(null)},[]);return{error:t,isParsing:n,isGeneratingTemplate:l,onParseFile:u,onGenerateTemplate:d,onClearError:f}}let parseCSVFile=(e,t={})=>new Promise(async(r,n)=>{let o={skuColumnNames:["sku","id","product","productid","item"],quantityColumnNames:["quantity","qty","amount","count"],delimiter:"",skipEmptyLines:!0,chunkSize:1048576,...t},i=await (o.delimiter?Promise.resolve(o.delimiter):new Promise(t=>{let r=new FileReader;r.onload=e=>{let r=e.target?.result,n=(r.split(/\r?\n/)[0]||"").replace(/\r$/,""),a=(n.match(/,/g)||[]).length,o=(n.match(/;/g)||[]).length,i=(n.match(/\t/g)||[]).length;o>0&&o>=a?t(";"):i>a&&i>o?t(" "):t(",")},r.onerror=()=>t(","),r.readAsText(e.slice(0,1024))})),l=[],s=-1,c=-1,u=!1,d=[],f=[],p=0,v=0,findColumnIndex=(e,t)=>e.findIndex(e=>t.some(t=>e.toLowerCase().trim()===t.toLowerCase())),validateAndTransformRow=(e,t)=>{try{let t=e[s],r=e[c];if(!t||""===t||void 0===r||""===r)return null;let n=String(t).trim(),a=Number(r);if(!n)throw Error("Empty SKU found");if(Number.isNaN(a)||a<0)throw Error(`Invalid quantity value: ${r} for SKU: ${n}`);return{sku:n,quantity:a}}catch(r){let e=r instanceof Error?r.message:"Unknown error";return f.push(`Row ${t+2}: ${e}`),f.length>1e3&&f.splice(0,500),null}};v=Math.floor(e.size/50),a().parse(e,{header:!1,dynamicTyping:!1,skipEmptyLines:o.skipEmptyLines,delimiter:i,worker:!0,chunk:(e,t)=>{try{let r=e.data;if(!u&&r.length>0){if(l=r[0],s=findColumnIndex(l,o.skuColumnNames),c=findColumnIndex(l,o.quantityColumnNames),-1===s){t.abort(),n(Error(`SKU column not found. Expected one of: ${o.skuColumnNames.join(", ")}`));return}if(-1===c){t.abort(),n(Error(`Quantity column not found. Expected one of: ${o.quantityColumnNames.join(", ")}`));return}r=r.slice(1),u=!0}if(r.forEach((e,t)=>{let r=p+t,n=validateAndTransformRow(e,r);n&&d.push(n)}),p+=r.length,o.onProgress){let e=Math.min(100,Math.round(p/v*100));o.onProgress({processed:p,total:v,percentage:e})}}catch(e){t.abort(),n(e)}},complete:()=>{try{if(0===d.length){f.length>0?n(Error(`No valid data found. First few errors:
2
- ${f.slice(0,5).join("\n")}`)):n(Error("No valid data found in file"));return}f.length>0&&console.warn(`CSV parsing completed with ${f.length} warnings. Sample:`,f.slice(0,10)),o.onProgress&&o.onProgress({processed:p,total:p,percentage:100}),r({data:d,fileName:e.name,totalRows:d.length,fileSize:e.size})}catch(e){n(e)}},error:e=>{let t=e instanceof Error?e.message:"Unknown parsing error";n(Error(`PapaParse error: ${t}`))},fastMode:!1,chunkSize:o.chunkSize,preview:0,encoding:"UTF-8"})}),generateCSVTemplate=()=>a().unparse([{sku:"PROD-001",quantity:5},{sku:"ITEM-234",quantity:12},{sku:"SKU789",quantity:3},{sku:"ABC-XYZ-456",quantity:8},{sku:"SAMPLE-100",quantity:25}],{header:!0,delimiter:",",newline:"\n",skipEmptyLines:!0})},13666:function(e,t,r){"use strict";r.d(t,{b:function(){return useFadeEffect}});var n=r(44194);let useFadeEffect=()=>{let[e,t]=(0,n.useState)("out"),r=(0,n.useCallback)(()=>t("out"),[]),a=(0,n.useCallback)(()=>t("in"),[]);return(0,n.useEffect)(()=>(a(),()=>{r()}),[a,r]),{fade:e,fadeIn:a,fadeOut:r}}},49684:function(e,t,r){"use strict";r.d(t,{t:function(){return useOnClickOutside}});var n=r(44194);function useOnClickOutside(e,t){(0,n.useEffect)(()=>{if(!e?.current)return;let listener=r=>{!e?.current||e.current.contains(r.target)||t(r)};return document.addEventListener("mousedown",listener),document.addEventListener("touchstart",listener),()=>{document.removeEventListener("mousedown",listener),document.removeEventListener("touchstart",listener)}},[e,t])}},41037:function(e,t,r){"use strict";r.d(t,{C:function(){return useScrollDirection}});var n=r(44194);let useScrollDirection=()=>{let[e,t]=(0,n.useState)(""),[r,a]=(0,n.useTransition)();return(0,n.useEffect)(()=>{let n=window.scrollY,updateScrollDirection=()=>{let{scrollY:o}=window,i=o>n?"down":"up";!r&&i!==e&&(o-n>10||o-n<-10)&&a(()=>t(i)),n=o>0?o:0};return window.addEventListener("scroll",updateScrollDirection),()=>window.removeEventListener("scroll",updateScrollDirection)},[r,e]),e}},96973:function(e,t,r){"use strict";r.d(t,{E:function(){return useTrapFocus}});var n=r(44194),a=r(47092);let useTrapFocus=({trapFocusRef:e,beforeElementRef:t,afterElementRef:r})=>{let o=(0,n.useRef)(),i=(0,n.useRef)(document.hasFocus()?document.activeElement:null);(0,n.useEffect)(()=>{let e=i.current;return()=>{e?.focus()}},[i]),(0,n.useEffect)(()=>{if(!e.current)return;o.current||(o.current=(0,a.ht)(e.current));let[t]=o.current;if(!t){e.current.focus();return}t.focus()},[e]),(0,n.useEffect)(()=>{if(!e.current||!t.current||!r.current)return;let n=t.current,i=r.current,l=e.current,handleLoopFocus=t=>{document.hasFocus()&&(o.current=(0,a.ht)(e.current),o.current.length||l.focus(),t.target===n&&o.current[o.current.length-1]?.focus(),t.target===i&&o.current[0]?.focus())};return n?.addEventListener("focusin",handleLoopFocus),i?.addEventListener("focusin",handleLoopFocus),()=>{n?.removeEventListener("focusin",handleLoopFocus),i?.removeEventListener("focusin",handleLoopFocus)}},[o,r,t,e])}},28138:function(e,t,r){"use strict";var n=r(44194),a=r(40727),o=r(37041),i=r(2614);let l=(0,n.forwardRef)(function({testId:e="fs-alert",children:t,icon:r,dismissible:l,link:s,onClose:c,...u},d){let f=(0,n.useCallback)(e=>{e.defaultPrevented||c?.(e)},[c]);return n.createElement("div",{ref:d,role:"alert","data-fs-alert":!0,"data-fs-alert-dismissible":l,"data-fs-content":"alert","data-testid":e,...u},!!r&&r,n.createElement("p",{"data-fs-alert-content":!0},t),s&&n.createElement(a.Z,{"data-fs-alert-link":!0,variant:"inline",...s}),l&&n.createElement(o.Z,{"data-fs-alert-button":!0,size:"small","aria-label":"Close",icon:n.createElement(i.Z,{name:"X"}),onClick:f}))});t.Z=l},46678:function(e,t,r){"use strict";var n=r(44194),a=r(37041),o=r(2614);let i=(0,n.forwardRef)(function({title:e,maxWidth:t,testId:r="fs-card",iconName:i,iconAction:l,children:s,...c},u){return n.createElement("section",{"data-testid":r,ref:u,"data-fs-card":!0,style:{maxWidth:`${t}`},...c},n.createElement("div",{"data-fs-card-header":!0},n.createElement("div",{"data-fs-card-title":!0},e),i&&n.createElement(a.Z,{icon:n.createElement(o.Z,{name:i,width:20,height:20}),"aria-label":`${e} action`,onClick:l})),n.createElement("div",{"data-fs-card-body":!0},s))});t.Z=i},95017:function(e,t,r){"use strict";var n=r(44194),a=r(46678),o=r(42256),i=r(2614),l=r(83339),s=r(49684),c=r(81990);t.Z=({testId:e="fs-file-upload-card",isOpen:t,onDismiss:r,onFileSelect:u,onDownloadTemplate:d,onSearch:f,accept:p=".csv",multiple:v=!1,title:b,fileInputAriaLabel:m,dropzoneAriaLabel:g,dropzoneTitle:h,selectFileButtonLabel:y,downloadTemplateButtonLabel:w,removeButtonAriaLabel:O,searchButtonLabel:j,uploadingStatusText:S,getCompletedStatusText:E,errorMessages:P,formatterFileSize:k,formatterFileName:Z,isUploading:C=!1,hasError:_=!1,errorType:x,errorMessage:D,...R})=>{let L=(0,n.useRef)(null),B=(0,n.useRef)(null),[N,I]=(0,n.useState)(!1),[A,T]=(0,n.useState)(null),[F,K]=(0,n.useState)(c.mb.Uploading),[z,M]=(0,n.useState)(void 0);(0,s.t)(t?B:void 0,()=>{t&&r?.()}),(0,n.useEffect)(()=>{let handleEscape=e=>{"Escape"===e.key&&t&&r?.()};return window.addEventListener("keydown",handleEscape),()=>window.removeEventListener("keydown",handleEscape)},[t,r]),(0,n.useEffect)(()=>{if(A){if(_){K(c.mb.Error),M(x??c.B4.InvalidStructure);return}if(C){K(c.mb.Uploading),M(void 0);return}K(c.mb.Completed),M(void 0)}},[_,A,C,x]);let isValidFileType=e=>{let t=e.name.toLowerCase(),r=p.split(",").map(e=>e.trim().toLowerCase()).filter(Boolean);return 0===r.length?t.endsWith(".csv"):r.some(r=>r.startsWith(".")?t.endsWith(r):e.type.toLowerCase()===r)},handleDrag=e=>{t&&(e.preventDefault(),e.stopPropagation(),"dragenter"===e.type||"dragover"===e.type?I(!0):"dragleave"===e.type&&I(!1))},triggerFileInput=()=>{L.current&&(L.current.value=""),L.current?.click()},handleDownloadTemplate=()=>{if(d)d();else{let e=new Blob(["SKU,Quantity\nAB001,2\nAB100,5\nAB999,49"],{type:"text/csv"}),t=window.URL.createObjectURL(e),r=document.createElement("a");r.href=t,r.download="template.csv",r.click(),window.URL.revokeObjectURL(t)}};return n.createElement(a.Z,{ref:B,title:b,"data-fs-file-upload-card":!0,"data-fs-file-upload-card-open":t,"data-fs-file-upload-card-has-file":null!==A,testId:e,"aria-hidden":!t,...R},n.createElement(o.Z,{ref:L,type:"file",onChange:e=>{let t=Array.from(e.target.files||[]);if(t.length>0){let e=t[0];if(T(e),!isValidFileType(e)){K(c.mb.Error),M(c.B4.Unsupported);return}M(void 0),C?K(c.mb.Uploading):K(c.mb.Completed),u&&u(t)}},accept:p,multiple:v,style:{display:"none"},"aria-label":m}),A?n.createElement(c.ZP,{file:A,state:F,errorType:x??z,errorMessages:P,errorMessage:D,onRemove:()=>{T(null),K(c.mb.Uploading),M(void 0),L.current&&(L.current.value="")},onSearch:()=>{A&&f&&f(A)},onDownloadTemplate:handleDownloadTemplate,onSelectFile:triggerFileInput,removeButtonAriaLabel:O,searchButtonLabel:j,downloadTemplateButtonLabel:w,selectFileButtonLabel:y,uploadingStatusText:S,completedStatusText:E(A.size),fileName:Z?Z(A.name):A.name}):n.createElement("div",{"data-fs-file-upload-card-dropzone":!0,"data-fs-file-upload-card-dragging":N,onDragEnter:handleDrag,onDragLeave:handleDrag,onDragOver:handleDrag,onDrop:e=>{if(t&&(e.preventDefault(),e.stopPropagation(),I(!1),e.dataTransfer.files&&e.dataTransfer.files[0])){let t=Array.from(e.dataTransfer.files),r=t[0];if(T(r),!isValidFileType(r)){K(c.mb.Error),M(c.B4.Unsupported);return}M(void 0),C?K(c.mb.Uploading):K(c.mb.Completed),u&&u(t)}},role:"region","aria-label":g},n.createElement("div",{"data-fs-file-upload-card-icon":!0},n.createElement("div",{"data-fs-file-upload-card-icon-shadow":!0}),n.createElement("div",{"data-fs-file-upload-card-icon-wrapper":!0},n.createElement(i.Z,{name:"Paperclip",width:24,height:32})),n.createElement("div",{"data-fs-file-upload-card-icon-badge":!0},n.createElement(i.Z,{name:"Plus",width:16,height:16}))),n.createElement("p",{"data-fs-file-upload-card-title":!0},h),n.createElement(l.Z,{variant:"secondary",size:"regular",onClick:triggerFileInput,"data-fs-file-upload-card-select-button":!0},y),n.createElement(l.Z,{type:"button",onClick:handleDownloadTemplate,"data-fs-file-upload-card-template-link":!0},w)))}},81990:function(e,t,r){"use strict";r.d(t,{B4:function(){return i},mb:function(){return o}});var n,a,o,i,l=r(44194),s=r(2614),c=r(83339);(n=o||(o={})).Uploading="uploading",n.Completed="completed",n.Error="error",(a=i||(i={})).Unexpected="unexpected",a.Unsupported="unsupported",a.Unreadable="unreadable",a.InvalidStructure="invalid-structure",a.Empty="empty",a.TooLarge="too-large",a.NoProductsFound="no-products-found";let FileUploadStatus=({testId:e="fs-file-upload-status",file:t,state:r=o.Uploading,errorType:n,errorMessage:a,onRemove:u,onSearch:d,onDownloadTemplate:f,onSelectFile:p,removeButtonAriaLabel:v,searchButtonLabel:b,downloadTemplateButtonLabel:m,selectFileButtonLabel:g,errorMessages:h,uploadingStatusText:y,completedStatusText:w,fileName:O,...j})=>{let getErrorMessage=()=>a?{title:a,description:""}:n&&h?.[n]?h[n]:h?.[i.Unexpected]??{title:"",description:""};return l.createElement("div",{"data-fs-file-upload-status":!0,"data-fs-file-upload-status-state":r,"data-testid":e,...j},l.createElement("div",{"data-fs-file-upload-status-file-info":!0,"data-fs-file-upload-state":r},l.createElement("div",{"data-fs-file-upload-status-icon":!0},(()=>{switch(r){case o.Uploading:return l.createElement("div",{"data-fs-file-upload-status-icon-loading":!0},l.createElement(s.Z,{name:"CircleNotch",width:24,height:24,strokeWidth:5}));case o.Completed:return l.createElement("div",{"data-fs-file-upload-status-icon-completed":!0},l.createElement(s.Z,{name:"Table",width:24,height:24,strokeWidth:5}));case o.Error:return l.createElement("div",{"data-fs-file-upload-status-icon-error":!0},l.createElement(s.Z,{name:"WarningOctagon",width:24,height:24,strokeWidth:5}));default:return null}})()),l.createElement("div",{"data-fs-file-upload-status-details":!0},r===o.Error?l.createElement(l.Fragment,null,l.createElement("p",{"data-fs-file-upload-status-text-error":!0},getErrorMessage().title),l.createElement("p",{"data-fs-file-upload-status-text-error":!0},getErrorMessage().description)):l.createElement(l.Fragment,null,l.createElement("p",{"data-fs-file-upload-status-filename":!0},O??t.name),l.createElement("p",{"data-fs-file-upload-status-text":!0},(()=>{switch(r){case o.Uploading:return y;case o.Completed:return w;default:return""}})()))),u&&l.createElement(c.Z,{type:"button",onClick:u,"data-fs-file-upload-status-remove":!0,"aria-label":v},l.createElement(s.Z,{name:"X",width:16,height:16}))),r===o.Completed&&d&&l.createElement(c.Z,{type:"button",variant:"primary",size:"regular",onClick:d,"data-fs-file-upload-status-search-button":!0},b),r===o.Error&&l.createElement("div",{"data-fs-file-upload-status-error-actions":!0},f&&l.createElement(c.Z,{type:"button",variant:"secondary",size:"regular",onClick:f,"data-fs-file-upload-status-download-button":!0},m),p&&l.createElement(c.Z,{type:"button",variant:"primary",size:"regular",onClick:p,"data-fs-file-upload-status-select-button":!0},g)))};t.ZP=FileUploadStatus},37041:function(e,t,r){"use strict";var n=r(44194),a=r(83339);let o=(0,n.forwardRef)(function({icon:e,children:t,testId:r="fs-icon-button","aria-label":o,size:i="regular",variant:l,...s},c){return n.createElement(a.Z,{ref:c,"data-fs-button":!0,"data-fs-icon-button":!0,variant:l??"tertiary",icon:e,"aria-label":o,testId:r,size:i,...s},t)});t.Z=o},93779:function(e,t,r){"use strict";var n=r(44194),a=r(42256),o=r(31953),i=r(37041),l=r(2614),s=r(83339);t.Z=({id:e,label:t,type:r="text",error:c,displayClearButton:u,actionable:d,buttonActionText:f="Apply",onSubmit:p,onClear:v,placeholder:b=" ",inputRef:m,disabled:g,value:h,testId:y="fs-input-field",...w})=>{let O=!g&&c&&""!==c,j=d&&!g&&""!==h;return n.createElement("div",{"data-fs-input-field":!0,"data-fs-input-field-actionable":d,"data-fs-input-field-error":c&&""!==c,"data-testid":y},n.createElement(a.Z,{id:e,type:r,value:h,ref:m,disabled:g,placeholder:b,...w}),n.createElement(o.Z,{htmlFor:e},t),j&&(u||c?n.createElement(i.Z,{size:"small","aria-label":"Clear Field",icon:n.createElement(l.Z,{name:"XCircle"}),onClick:()=>{v?.(),m?.current?.focus()}}):n.createElement(s.Z,{variant:"tertiary",size:"small",onClick:p},f)),O&&n.createElement("span",{"data-fs-input-field-error-message":!0},c))}},68373:function(e,t,r){"use strict";r.d(t,{Z:function(){return Modal_Modal}});var n=r(44194),a=r(56321),o=r(71857),i=r(16652),l=r(13666),s=r(96973);let ModalContentPure=({beforeElementRef:e,trapFocusRef:t,afterElementRef:r,testId:a="store-modal-content",children:o,...i})=>n.createElement(n.Fragment,null,n.createElement("div",{ref:e,"data-testid":"beforeElement",tabIndex:0,"aria-hidden":"true"}),n.createElement("div",{"data-fs-modal-content":!0,"data-testid":a,ref:t,"aria-modal":"true",role:"dialog",tabIndex:-1,...i},o),n.createElement("div",{ref:r,"data-testid":"afterElement",tabIndex:0,"aria-hidden":"true"}));var Modal_ModalContent=({children:e,...t})=>{let r=(0,n.useRef)(null),a=(0,n.useRef)(null),o=(0,n.useRef)(null);return(0,s.E)({beforeElementRef:a,trapFocusRef:r,afterElementRef:o}),n.createElement(ModalContentPure,{...t,trapFocusRef:r,beforeElementRef:a,afterElementRef:o,onClick:e=>{e.stopPropagation()}},e)},Modal_Modal=({children:e,testId:t="fs-modal",isOpen:r=!0,onDismiss:s,overlayProps:c,disableEscapeKeyDown:u=!1,onEntered:d,...f})=>{let{closeModal:p}=(0,i.l8)(),{fade:v,fadeOut:b,fadeIn:m}=(0,l.b)();return r?(0,a.createPortal)(n.createElement(o.Z,{onClick:e=>{u||e.defaultPrevented||(e.stopPropagation(),b?.(),s?.())},onKeyDown:e=>{u||"Escape"!==e.key||e.defaultPrevented||(e.stopPropagation(),b?.(),s?.())},...c},n.createElement(Modal_ModalContent,{onTransitionEnd:e=>{e.target?.dataset?.testid===t&&("out"===v?p():"in"===v&&d&&d())},"data-fs-modal":!0,"data-fs-modal-state":v,testId:t,...f},"function"==typeof e?e({fade:v,fadeOut:b,fadeIn:m}):e)),document.body):null}},53976:function(e,t,r){"use strict";var n=r(44194);let a=(0,n.forwardRef)(function({children:e,testId:t="fs-navbar-links",...r},a){return n.createElement("nav",{"data-fs-navbar-links":!0,ref:a,"data-testid":t,...r},e)});t.Z=a},71616:function(e,t,r){"use strict";var n=r(44194),a=r(94564);let o=(0,n.forwardRef)(function({children:e,testId:t="fs-navbar-links-list",...r},o){return n.createElement(a.Z,{"data-fs-navbar-links-list":!0,ref:o,"data-testid":t,...r},e)});t.Z=o},74584:function(e,t,r){"use strict";var n=r(44194),a=r(2614),o=r(37041),i=r(16652),l=r(49684);let calculatePosition=(e,t,r,n)=>{let{top:a,left:o,height:i}=e;switch(!0){case t.startsWith("top"):return{top:a+i+window.scrollY-r,left:o+window.scrollX+n};case t.startsWith("bottom"):return{top:a+i+window.scrollY+r,left:o+window.scrollX+n};default:return{top:0,left:0}}},s=(0,n.forwardRef)(function({title:e,content:t,placement:r="bottom-start",dismissible:s=!1,onDismiss:c,isOpen:u,triggerRef:d,offsetTop:f=8,offsetLeft:p=0,closeButtonAriaLabel:v="Close Popover",testId:b="fs-popover",style:m,onEntered:g,...h},y){let w=y||(0,n.useRef)(null),[O,j]=(0,n.useState)({top:0,left:0}),{popover:S,closePopover:E}=(0,i.l8)(),P=S.triggerRef,k=d||P;(0,n.useEffect)(()=>{if(!u||!k?.current)return;let e=k.current.getBoundingClientRect();j(calculatePosition(e,r,f,p)),g&&g()},[u,k,f,p,r]);let Z=(0,n.useCallback)(()=>{E(),c?.()},[E,c]);(0,l.t)(u?w:void 0,Z);let C=(0,n.useCallback)(e=>{"Escape"===e.key&&Z()},[Z]);return u?n.createElement("div",{"data-fs-popover":!0,role:"dialog",ref:w,"data-fs-popover-placement":r,onKeyDown:C,"data-testid":b,style:{position:"absolute",...O,...m},...h},n.createElement("header",{"data-fs-popover-header":!0},e&&n.createElement("h3",{"data-fs-popover-header-title":!0},e),s&&n.createElement(o.Z,{"data-fs-popover-header-dismiss-button":!0,size:"small",variant:"tertiary",icon:n.createElement(a.Z,{name:"X",width:20,height:20}),"aria-label":v,onClick:Z})),n.createElement("div",{"data-fs-popover-content":!0},t),n.createElement("span",{"data-fs-popover-indicator":!0,"aria-hidden":"true"})):null});t.Z=s},6693:function(e,t,r){"use strict";var n=r(44194),a=r(37041),o=r(2614),i=r(42256);t.Z=({max:e,min:t=1,unitMultiplier:r=1,useUnitMultiplier:l,initial:s,disabled:c=!1,onChange:u,onValidateBlur:d,testId:f="fs-quantity-selector",...p})=>{let[v,b]=(0,n.useState)(s??t),[m,g]=(0,n.useState)(v*r),roundUpQuantityIfNeeded=e=>l?Math.ceil(e/r)*r:e,h=v===t,y=v===e,changeQuantity=e=>{let t=validateQuantityBounds(v+e);u?.(t),b(t),g(t*r)};function validateQuantityBounds(n){let a=t?Math.max(n,t):n;return e?Math.min(a,l?e*r:e):a}return(0,n.useEffect)(()=>{s&&b(s)},[s]),n.createElement("div",{"data-fs-quantity-selector":c?"disabled":"true","data-testid":f,...p},n.createElement(a.Z,{"data-quantity-selector-button":"left",icon:n.createElement(o.Z,{name:"Minus",width:16,height:16,weight:"bold"}),"aria-label":"Decrement Quantity","aria-controls":"quantity-selector-input",disabled:h||c,onClick:()=>changeQuantity(-1),testId:`${f}-left-button`,size:"small"}),n.createElement(i.Z,{"data-quantity-selector-input":!0,id:"quantity-selector-input","aria-label":"Quantity",value:l?m:v,onChange:e=>{let t=e.target.value.replace(/\D/g,"");b(Number(t))},onBlur:function(){let n=validateQuantityBounds(v),a=roundUpQuantityIfNeeded(n),o=e??(t?Math.max(v,t):v),i=v>o||v<t;i&&d?.(t,o,a),b(()=>(g(a),u?.(a/r),a/r))},onInput:e=>{let t=e.currentTarget;t.value=t.value.replace(/\D/g,"")},disabled:c}),n.createElement(a.Z,{"data-quantity-selector-button":"right","aria-controls":"quantity-selector-input","aria-label":"Increment Quantity",disabled:y||c,icon:n.createElement(o.Z,{name:"Plus",width:16,height:16,weight:"bold"}),onClick:()=>changeQuantity(1),testId:`${f}-right-button`,size:"small"}))}},72220:function(e,t,r){"use strict";var n=r(44194),a=r(83339);let o=(0,n.forwardRef)(function({city:e,postalCode:t,icon:r,label:o,editLabel:i,buttonIcon:l,onButtonClick:s,shouldDisplayPostalCode:c=!0,filterButton:{icon:u,label:d,selectedFilter:f,shouldDisplayFilterButton:p=!1,onClick:v}={},...b},m){return n.createElement("div",{ref:m,"data-fs-region-bar":!0,...b},n.createElement(a.Z,{variant:"tertiary",iconPosition:l?"right":void 0,onClick:s,icon:l??void 0},!!r&&r,t&&(c||e)?n.createElement("div",{"data-fs-region-bar-location":!0},e&&n.createElement("span",{"data-fs-region-bar-postal-code":!0,"data-fs-region-bar-location-city":!0},e),c&&n.createElement("span",{"data-fs-region-bar-location-postal-code":!0},e?`, ${t}`:t)):n.createElement("span",{"data-fs-region-bar-message":!0,"data-fs-region-bar-location-message":!0},o)),p&&n.createElement(a.Z,{variant:"tertiary",iconPosition:l?"right":void 0,onClick:v,icon:l??void 0},!!u&&u,f?n.createElement("span",{"data-fs-region-bar-filter":!0},f):n.createElement("span",{"data-fs-region-bar-filter-message":!0},d)))});t.Z=o},50101:function(e,t,r){"use strict";r.d(t,{c:function(){return a}});var n=r(44194);let a=(0,n.createContext)(null);t.Z=function({onSearchSelection:e,children:t,term:r,terms:o,products:i,isLoading:l,searchId:s}){return n.createElement(a.Provider,{value:{onSearchSelection:e,term:r,terms:o,products:i,isLoading:l,searchId:s}},t)}},97336:function(e,t,r){"use strict";var n=r(44194);let a=(0,n.forwardRef)(function({children:e,variant:t="colored",testId:r="fs-table",...a},o){return n.createElement("div",{"data-fs-table":!0},n.createElement("table",{ref:o,"data-fs-table-content":!0,"data-fs-table-variant":t,"data-testid":r,...a},e))});t.Z=a},9336:function(e,t,r){"use strict";var n=r(44194);let a=(0,n.forwardRef)(function({children:e,testId:t="fs-table-body",...r},a){return n.createElement("tbody",{ref:a,"data-testid":t,"data-fs-table-body":!0,...r},e)});t.Z=a},84256:function(e,t,r){"use strict";var n=r(44194);let a=(0,n.forwardRef)(function({scope:e,align:t,children:r,variant:a="data",testId:o="fs-table-cell",...i},l){return n.createElement("header"===a?"th":"td",{ref:l,"data-fs-table-cell":a,"data-fs-table-cell-align":t,"data-testid":o,scope:e,...i},r)});t.Z=a},60411:function(e,t,r){"use strict";var n=r(44194);let a=(0,n.forwardRef)(function({children:e,testId:t="fs-table-head",...r},a){return n.createElement("thead",{ref:a,"data-testid":t,"data-fs-table-head":!0,...r},e)});t.Z=a},44236:function(e,t,r){"use strict";var n=r(44194);let a=(0,n.forwardRef)(function({children:e,testId:t="fs-table-row",...r},a){return n.createElement("tr",{ref:a,"data-fs-table-row":!0,"data-testid":t,...r},e)});t.Z=a},62939:function(e,t,r){"use strict";var n=r(44194),a=r(2614),o=r(37041);let i=(0,n.forwardRef)(function({content:e,placement:t="top-center",dismissible:r=!1,onDismiss:i,children:l,testId:s="fs-tooltip",maxWidth:c=300,describedById:u="tooltip-content",...d},f){let[p,v]=(0,n.useState)(!1),[b,m]=(0,n.useState)(!1),g=(0,n.useRef)(null),h=(0,n.useRef)(null),handleDismiss=e=>{i?.(e),v(!1),m(!0)},toggleOpen=()=>{b&&m(!1),v(!0)},handleKeyDown=e=>{"Escape"===e.key&&handleDismiss(e)};return(0,n.useEffect)(()=>{p&&r&&g.current?.focus()},[p,r]),n.createElement("div",{"data-fs-tooltip":!0,onMouseEnter:toggleOpen,onMouseLeave:()=>v(!1),onFocus:toggleOpen,onBlur:()=>v(!1),"data-testid":s,"aria-describedby":u,onKeyDown:handleKeyDown,tabIndex:0,ref:h},l,p&&!b&&n.createElement("div",{ref:f,"data-fs-tooltip-wrapper":!0,"data-fs-tooltip-placement":t,"data-fs-tooltip-dismissible":r,role:"tooltip",onKeyDown:handleKeyDown,style:{maxWidth:c},...d},n.createElement("div",{"data-fs-tooltip-content":!0,id:u},e),r&&n.createElement(o.Z,{size:"small",variant:"tertiary",inverse:!0,icon:n.createElement(a.Z,{name:"X",width:20,height:20}),"aria-label":"Dismiss tooltip","data-fs-tooltip-dismiss-button":!0,onClick:handleDismiss,ref:g}),n.createElement("div",{"data-fs-tooltip-indicator":!0,"aria-hidden":"true"})))});t.Z=i},33295:function(e,t,r){"use strict";var n=r(44194);let a=(0,n.forwardRef)(function({children:e,scrollDirection:t,testId:r="fs-navbar",...a},o){return n.createElement("header",{"data-fs-navbar":!0,role:"banner","data-fs-navbar-scroll":t,ref:o,"data-testid":r,...a},e)});t.Z=a},74609:function(e,t,r){"use strict";var n=r(44194);let a=(0,n.forwardRef)(function({children:e,searchExpanded:t,testId:r="fs-navbar-buttons",...a},o){return n.createElement("div",{"data-fs-navbar-buttons":!0,ref:o,"data-testid":r,"data-fs-navbar-search-expanded":t,...a},e)});t.Z=a},78357:function(e,t,r){"use strict";var n=r(44194);let a=(0,n.forwardRef)(function({children:e,testId:t="fs-navbar-header",...r},a){return n.createElement("section",{"data-fs-navbar-header":!0,ref:a,"data-testid":t,...r},e)});t.Z=a},36276:function(e,t,r){"use strict";var n=r(44194);let a=(0,n.forwardRef)(function({children:e,testId:t="fs-navbar-row",...r},a){return n.createElement("div",{"data-fs-navbar-row":!0,"data-fs-content":"navbar",ref:a,"data-testid":t,...r},e)});t.Z=a},6190:function(e,t,r){"use strict";var n=r(44194),a=r(13666),o=r(77215),i=r(41689);t.Z=({testId:e="fs-quick-order-drawer",isOpen:t,overlayProps:r,providerProps:l,children:s})=>{let{fade:c}=(0,a.b)();return n.createElement(i.H,{...l},n.createElement(o.Z,{testId:e,fade:c,isOpen:t,size:"partial",direction:"rightSide",overlayProps:r,"data-fs-quick-order-drawer":!0},s))}},8305:function(e,t,r){"use strict";var n=r(44194),a=r(83339),o=r(2614),i=r(99767),l=r(41689);t.Z=({formatter:e,labels:t})=>{let[r,s]=(0,n.useState)(!1),{itemsCount:c,totalPrice:u,onAddToCart:d,formatter:f}=(0,l.S)(),{itemsLabel:p,addToCartLabel:v,addToCartAriaLabel:b}=t||{},handleAddToCart=async()=>{if(0!==c){s(!0);try{d()}finally{s(!1)}}};return n.createElement("div",{"data-fs-quick-order-drawer-footer":!0},n.createElement("div",{"data-fs-quick-order-drawer-footer-items":!0},n.createElement(o.Z,{name:"Inventory",width:24,height:24}),n.createElement("span",null,c," ",p||"")),n.createElement("div",{"data-fs-quick-order-drawer-footer-actions":!0},n.createElement(i.Z,{value:u,variant:"selling",formatter:e||f}),n.createElement(a.Z,{"data-fs-quick-order-drawer-add-to-cart-btn":!0,variant:"primary",disabled:0===c,loading:r,onClick:handleAddToCart,"aria-label":b},v)))}},87170:function(e,t,r){"use strict";var n=r(44194),a=r(2614),o=r(45049);t.Z=({onCloseDrawer:e,title:t,titleCharLimit:r=30})=>{let i=t.length>r?`${t.slice(0,Math.floor(r/2)-3)}...${t.slice(-Math.floor(r/2))}`:t;return n.createElement(o.Z,{"data-fs-quick-order-drawer-header":!0,closeBtnProps:{variant:"tertiary",color:"black","aria-label":"Close quick order drawer"},onClose:()=>e?.()},n.createElement("div",{"data-fs-quick-order-drawer-title-container":!0},n.createElement("div",{"data-fs-quick-order-drawer-icon":!0},n.createElement(a.Z,{name:"Table",weight:"bold",width:32,height:32})),n.createElement("div",{"data-fs-quick-order-drawer-title":!0},i)))}},19282:function(e,t,r){"use strict";var n=r(44194),a=r(2614),o=r(37041),i=r(6693),l=r(97336),s=r(60411),c=r(44236),u=r(84256),d=r(9336),f=r(40276),p=r(99767),v=r(10792),b=r(16652),m=r(28138),g=r(62939),h=r(41689);let DefaultImageComponent=({src:e,alt:t,width:r,height:a,...o})=>n.createElement("img",{src:e,alt:t,width:r,height:a,...o});t.Z=({columns:e,formatter:t,ImageComponent:r=DefaultImageComponent,messages:y})=>{let{pushToast:w}=(0,b.l8)(),{products:O,onChangeQuantityItem:j,onDelete:S,isLoading:E,alertMessage:P,setAlertMessage:k,formatter:Z}=(0,h.S)(),C=t||Z;return n.createElement("div",{"data-fs-quick-order-drawer-content":!0},n.createElement(n.Fragment,null,!E&&P&&n.createElement(m.Z,{icon:n.createElement(a.Z,{name:"AlertFilled",weight:"bold"}),dismissible:!0,onClick:()=>k(""),"aria-label":y?.alertAriaLabel},P),n.createElement(l.Z,{"data-fs-quick-order-drawer-table":!0,variant:"bordered","aria-label":y?.tableAriaLabel},n.createElement(s.Z,null,n.createElement(c.Z,null,n.createElement(u.Z,{"data-fs-quick-order-drawer-product-header":!0,align:"left",variant:"header",scope:"col"},e.name),n.createElement(u.Z,{align:"left",variant:"header",scope:"col"},e.availability.label),n.createElement(u.Z,{align:"center",variant:"header",scope:"col"},e.price),n.createElement(u.Z,{align:"left",variant:"header",scope:"col"},e.quantity),n.createElement(u.Z,{align:"right",variant:"header",scope:"col"}))),n.createElement(d.Z,null,E?n.createElement(n.Fragment,null,Array.from({length:5}).map((e,t)=>n.createElement(c.Z,{key:`table-row-skeleton-${t}`},Array.from({length:5}).map((e,t)=>n.createElement(u.Z,{key:`table-cell-skeleton-${t}`},n.createElement(v.Z,{size:{width:"96%",height:"30px"}})))))):O.length>0?n.createElement(n.Fragment,null,O.map(t=>n.createElement(c.Z,{key:`${t.name}-${t.id}`,"data-fs-quick-order-table-row":t.availability},n.createElement(u.Z,{"data-fs-quick-order-cell":"product",align:"left"},n.createElement("div",{"data-fs-quick-order-table-cell-img-container":!0},n.createElement(r,{height:48,src:t.image.url,alt:t.image.alternateName||t.name})),n.createElement("div",{"data-fs-quick-order-table-cell-name-container":!0},n.createElement("div",{"data-fs-quick-order-text":"primary"},t.name),n.createElement("span",{"data-fs-quick-order-text":"secondary"},t.id)),"available"===t.availability&&t.quantityUpdated&&n.createElement(g.Z,{content:y?.quantityUpdatedTooltip,placement:"left-center"},n.createElement(o.Z,{"aria-label":y?.quantityUpdatedAriaLabel,icon:n.createElement(a.Z,{name:"CircleWarning",weight:"bold"})}))),n.createElement(u.Z,{align:"left"},"showAvailability"===e.availability.stockDisplaySettings&&n.createElement(f.Z,{variant:"outOfStock"===t.availability?"warning":"success"},"outOfStock"===t.availability?y?.outOfStockLabel:y?.availableLabel),"showStockQuantity"===e.availability.stockDisplaySettings&&t.inventory),n.createElement(u.Z,{"data-fs-quick-order-cell":"price",align:"right"},n.createElement(p.Z,{value:t.price,variant:"spot",formatter:C,"data-fs-quick-order-table-price":t.availability})),n.createElement(u.Z,{align:"right","data-fs-quick-order-cell":"quantity-selector"},n.createElement("div",{"data-fs-quick-order-table-action":!0},n.createElement(i.Z,{min:0,max:t.inventory,disabled:!t.inventory||"outOfStock"===t.availability,initial:t.selectedCount,onChange:e=>j(t.id,e),"aria-label":y?.selectQuantityAriaLabel?.replace("{productName}",t.name),onValidateBlur:(e,t,r)=>{let o=y?.invalidQuantityTitle,i=y?.invalidQuantityMessage?y.invalidQuantityMessage(e,t,r):"";w({title:o,message:i,status:"INFO",icon:n.createElement(a.Z,{name:"CircleWavyWarning",width:30,height:30})})}}))),n.createElement(u.Z,{align:"right","data-fs-quick-order-delete-cell":!0},n.createElement(o.Z,{onClick:()=>S(t.id),icon:n.createElement(a.Z,{name:"Thrash",color:"#1F1F1F"}),"aria-label":y?.removeProductAriaLabel?.replace("{productName}",t.name)}))))):n.createElement(c.Z,null,n.createElement(u.Z,{align:"center","data-fs-quick-order-empty-state":!0,colSpan:5},n.createElement("div",{"data-fs-quick-order-empty-state-container":!0},n.createElement(a.Z,{name:"MagnifyingGlass",width:48,height:48,weight:"thin","data-fs-quick-order-empty-state-icon":!0}),n.createElement("div",{"data-fs-quick-order-empty-state-content":!0},n.createElement("p",{"data-fs-quick-order-empty-state-title":!0},y?.emptyStateTitle),n.createElement("p",{"data-fs-quick-order-empty-state-message":!0},y?.emptyStateMessage)))))))))}},41689:function(e,t,r){"use strict";r.d(t,{H:function(){return QuickOrderDrawerProvider},S:function(){return useQuickOrderDrawer}});var n=r(44194);let a=(0,n.createContext)(void 0),QuickOrderDrawerProvider=({children:e,initialProducts:t=[],isLoading:r=!1,totalRequestedSkus:o,onAddToCart:i,formatter:l,initialAlertMessage:s,alertMessages:c})=>{let[u,d]=(0,n.useState)(t||[]),getAlertMessage=(e,t)=>{if(0===e.length)return"";let r=e.some(e=>"outOfStock"===e.availability),n=void 0!==t&&t>0&&e.length<t;return n&&r?c?.notFoundAndOutOfStock??"":n?c?.notFound??"":r?c?.outOfStock??"":""},[f,p]=(0,n.useState)(s??"");(0,n.useEffect)(()=>{let e=t||[];d(e)},[t]),(0,n.useEffect)(()=>{r?r&&p(""):p(getAlertMessage(u,o))},[u,r,o]);let{totalPrice:v,itemsCount:b}=(0,n.useMemo)(()=>{let e=u.filter(e=>e.selectedCount>0&&"available"===e.availability);return e.reduce((e,t)=>({totalPrice:e.totalPrice+t.price*t.selectedCount,itemsCount:e.itemsCount+t.selectedCount}),{totalPrice:0,itemsCount:0})},[u]),m=(0,n.useCallback)((e,t)=>{d(r=>r.map(r=>r.id!==e?r:{...r,selectedCount:t}))},[]),g=(0,n.useCallback)(e=>{d(t=>t.filter(t=>t.id!==e))},[]),h=(0,n.useCallback)(()=>{let e=u.filter(e=>e.selectedCount>0&&"available"===e.availability);i?.(e,v,b)},[u,v,b,i]);return n.createElement(a.Provider,{value:{products:u,totalPrice:v,itemsCount:b,alertMessage:f,isLoading:r,setAlertMessage:p,onChangeQuantityItem:m,onDelete:g,onAddToCart:h,formatter:l}},e)},useQuickOrderDrawer=()=>{let e=(0,n.useContext)(a);if(void 0===e)throw Error("useQuickOrderDrawer should be used within a QuickOrderDrawerProvider");return e}},97683:function(e,t,r){"use strict";var n=r(44194),a=r(50101);let o=(0,n.forwardRef)(function({children:e,visibleDropdown:t=!1,testId:r="fs-search-input",isLoading:o,products:i,term:l,terms:s,onSearchSelection:c,searchId:u,...d},f){return n.createElement("div",{ref:f,"data-fs-search-input":!0,"data-fs-search-input-dropdown-visible":t,"data-testid":r,...d},n.createElement(a.Z,{onSearchSelection:c,isLoading:o,term:l,products:i,terms:s,searchId:u},e))});t.Z=o},77215:function(e,t,r){"use strict";var n=r(44194),a=r(68373);t.Z=function({testId:e="fs-slide-over",isOpen:t,direction:r="leftSide",size:o="full",fade:i="out",children:l,overlayProps:s,onDismiss:c,...u}){return n.createElement(a.Z,{"data-fs-modal":null,"data-fs-slide-over":!0,"data-fs-slide-over-direction":r,"data-fs-slide-over-size":o,"data-fs-slide-over-state":i,isOpen:t,onDismiss:c,testId:e,overlayProps:s,...u},l)}},45049:function(e,t,r){"use strict";var n=r(44194),a=r(37041),o=r(2614);t.Z=({children:e,closeBtnProps:t={},onClose:r,...i})=>n.createElement("header",{"data-fs-slide-over-header":!0,...i},e,n.createElement(a.Z,{"data-fs-slide-over-header-icon":!0,"aria-label":"Close",icon:n.createElement(o.Z,{name:"X"}),onClick:r,...t}))}}]);