@faststore/core 3.86.4 → 3.88.0
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.
- package/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +115 -116
- package/.next/cache/.tsbuildinfo +1 -1
- package/.next/cache/config.json +3 -3
- package/.next/cache/webpack/client-production/0.pack +0 -0
- package/.next/cache/webpack/client-production/index.pack +0 -0
- package/.next/cache/webpack/server-production/0.pack +0 -0
- package/.next/cache/webpack/server-production/index.pack +0 -0
- package/.next/prerender-manifest.js +1 -1
- package/.next/prerender-manifest.json +1 -1
- package/.next/react-loadable-manifest.json +178 -169
- package/.next/routes-manifest.json +1 -1
- package/.next/server/chunks/3006.js +1 -1
- package/.next/server/chunks/3945.js +1 -1
- package/.next/server/chunks/6870.js +1 -0
- package/.next/server/chunks/83.js +1 -1
- package/.next/server/chunks/8474.js +3 -3
- package/.next/server/chunks/948.js +1 -1
- package/.next/server/chunks/9563.js +2 -2
- package/.next/server/chunks/9630.js +1 -1
- package/.next/server/chunks/UIBannerText.js +1 -1
- package/.next/server/functions-config-manifest.json +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/server/pages/404.js.nft.json +1 -1
- package/.next/server/pages/500.js.nft.json +1 -1
- package/.next/server/pages/[...slug].js +1 -1
- package/.next/server/pages/[...slug].js.nft.json +1 -1
- package/.next/server/pages/[slug]/p.js +1 -1
- package/.next/server/pages/[slug]/p.js.nft.json +1 -1
- package/.next/server/pages/_app.js.nft.json +1 -1
- package/.next/server/pages/_document.js.nft.json +1 -1
- package/.next/server/pages/_error.js.nft.json +1 -1
- package/.next/server/pages/api/graphql.js +2 -2
- package/.next/server/pages/api/graphql.js.nft.json +1 -1
- package/.next/server/pages/api/health/live.js.nft.json +1 -1
- package/.next/server/pages/api/health/ready.js.nft.json +1 -1
- package/.next/server/pages/api/preview.js.nft.json +1 -1
- package/.next/server/pages/checkout.js.nft.json +1 -1
- package/.next/server/pages/en-US/404.html +1 -1
- package/.next/server/pages/en-US/500.html +1 -1
- package/.next/server/pages/en-US/checkout.html +1 -1
- package/.next/server/pages/en-US/login.html +1 -1
- package/.next/server/pages/en-US/s.html +1 -1
- package/.next/server/pages/en-US.html +1 -1
- package/.next/server/pages/index.js.nft.json +1 -1
- package/.next/server/pages/login.js.nft.json +1 -1
- package/.next/server/pages/pvt/account/403.js.nft.json +1 -1
- package/.next/server/pages/pvt/account/404.js.nft.json +1 -1
- package/.next/server/pages/pvt/account/[...unknown].js.nft.json +1 -1
- package/.next/server/pages/pvt/account/orders/[id].js.nft.json +1 -1
- package/.next/server/pages/pvt/account/orders.js.nft.json +1 -1
- package/.next/server/pages/pvt/account/profile.js.nft.json +1 -1
- package/.next/server/pages/pvt/account/security.js.nft.json +1 -1
- package/.next/server/pages/pvt/account/user-details.js.nft.json +1 -1
- package/.next/server/pages/pvt/account.js.nft.json +1 -1
- package/.next/server/pages/s.js.nft.json +1 -1
- package/.next/server/pages-manifest.json +1 -1
- package/.next/static/JaRUyeLgqhw17hCxdW6B5/_buildManifest.js +1 -0
- package/.next/static/chunks/1208-9118a8f14ecf05c8.js +8 -0
- package/.next/static/chunks/1841.b3a98a2a1886b09c.js +1 -0
- package/.next/static/chunks/2284.17a3e4c3af092981.js +1 -0
- package/.next/static/chunks/2500.02f018a354c612fb.js +1 -0
- package/.next/static/chunks/294.ac8fb1e24849b0c4.js +1 -0
- package/.next/static/chunks/3155.f521c771a8c355a5.js +1 -0
- package/.next/static/chunks/3399.b1311b661da6b316.js +1 -0
- package/.next/static/chunks/3483.ef53d632a763da3f.js +1 -0
- package/.next/static/chunks/349.235b18ceb82aa256.js +1 -0
- package/.next/static/chunks/3836.5a76d717d95d1f2d.js +1 -0
- package/.next/static/chunks/4799.46dca5f8076f9448.js +1 -0
- package/.next/static/chunks/4803.c1405eca2ccf78c8.js +1 -0
- package/.next/static/chunks/5796.4351370494d8b8b6.js +1 -0
- package/.next/static/chunks/5859.cf66c492751f5680.js +1 -0
- package/.next/static/chunks/6031-a7dfc540189ff57c.js +28 -0
- package/.next/static/chunks/6393.e4b26fee060438d6.js +1 -0
- package/.next/static/chunks/6700.a72869377e81146c.js +1 -0
- package/.next/static/chunks/6789.856de844108ee5da.js +1 -0
- package/.next/static/chunks/6852-97b424676696b449.js +1 -0
- package/.next/static/chunks/7191-0063121dcadf6b82.js +1 -0
- package/.next/static/chunks/7351.2d0d3a1fb538d97a.js +1 -0
- package/.next/static/chunks/7692.a352cce6d744fa8b.js +1 -0
- package/.next/static/chunks/7861.7f9f1a124a43da30.js +6 -0
- package/.next/static/chunks/8068.43663fb64762f7b8.js +1 -0
- package/.next/static/chunks/83.7723de7199118a99.js +1 -0
- package/.next/static/chunks/8325.dabe9aa22eaadeed.js +1 -0
- package/.next/static/chunks/8587.53c8ce185ed1a2cb.js +1 -0
- package/.next/static/chunks/9173-2dc082a086a959c3.js +1 -0
- package/.next/static/chunks/9399.132e63584d15075f.js +1 -0
- package/.next/static/chunks/941.417f354fd61bae91.js +1 -0
- package/.next/static/chunks/9465.8754a1b3cd5c4c83.js +1 -0
- package/.next/static/chunks/9714.2e2c2f0eb526ba23.js +1 -0
- package/.next/static/chunks/9781.a221de71d6b10ba0.js +1 -0
- package/.next/static/chunks/9909.787576b171184aa5.js +1 -0
- package/.next/static/chunks/BannerNewsletter.840a840b7a616260.js +1 -0
- package/.next/static/chunks/BannerText.b675fb19df87b7cb.js +1 -0
- package/.next/static/chunks/ButtonSignIn.308336a54a58f436.js +1 -0
- package/.next/static/chunks/CartItem.afa42120880fcb94.js +1 -0
- package/.next/static/chunks/CartSidebar.71d3ea99611c87a3.js +1 -0
- package/.next/static/chunks/Dropdown.38b48c749bad6b60.js +1 -0
- package/.next/static/chunks/DropdownButton.66fa6b25dddb3a07.js +1 -0
- package/.next/static/chunks/DropdownItem.38b8f5a07c7f422a.js +1 -0
- package/.next/static/chunks/DropdownMenu.48b11521a24c6efd.js +1 -0
- package/.next/static/chunks/EmptyCart.320e2f94a0d5e6b1.js +1 -0
- package/.next/static/chunks/FilterSkeleton.7ab99e28f92341c9.js +1 -0
- package/.next/static/chunks/Footer.63a7682a81a96f8e.js +1 -0
- package/.next/static/chunks/Gift.9d0570cbe866077f.js +1 -0
- package/.next/static/chunks/Newsletter.dbf35a8ea6d2067e.js +1 -0
- package/.next/static/chunks/OrderSummary.f9adad5622605046.js +1 -0
- package/.next/static/chunks/PreviewTag.f4f0c8710a7bcad9.js +1 -0
- package/.next/static/chunks/ProductShelf.632b93b2c0e1ca9a.js +1 -0
- package/.next/static/chunks/ProductTiles.778c483734598736.js +1 -0
- package/.next/static/chunks/RegionModal.2a8f6662c3a64d2a.js +1 -0
- package/.next/static/chunks/RegionSlider.bd14bfba15836ea0.js +1 -0
- package/.next/static/chunks/ScrollToTopButton.c15431f2e8bb93ef.js +1 -0
- package/.next/static/chunks/Toast.f583e19c7fcb2527.js +1 -0
- package/.next/static/chunks/UIBannerText.6715ba9ae0b6065c.js +1 -0
- package/.next/static/chunks/UISKUMatrixSidebar.072f0b5bf8e172f6.js +1 -0
- package/.next/static/chunks/UIToast.1ac644a9d787435c.js +1 -0
- package/.next/static/chunks/framework-d514426edf885c68.js +33 -0
- package/.next/static/chunks/main-595f5e3b626b9fff.js +1 -0
- package/.next/static/chunks/pages/404-4b3f1e22c77f849a.js +1 -0
- package/.next/static/chunks/pages/500-bb2de0c11524b2b8.js +1 -0
- package/.next/static/chunks/pages/[...slug]-8c829cc01fdb1a38.js +1 -0
- package/.next/static/chunks/pages/[slug]/p-4900eb3e616324c7.js +1 -0
- package/.next/static/chunks/pages/_app-8b7d8e9c9021b0cf.js +1 -0
- package/.next/static/chunks/pages/_error-2b0148be56a716e9.js +1 -0
- package/.next/static/chunks/pages/checkout-dc07d72b3514c83d.js +1 -0
- package/.next/static/chunks/pages/index-8e36d989396a7544.js +1 -0
- package/.next/static/chunks/pages/login-e97ef92769456bf6.js +1 -0
- package/.next/static/chunks/pages/pvt/account/403-e4315ace8609a7ff.js +1 -0
- package/.next/static/chunks/pages/pvt/account/404-1e450ae9476bbcaa.js +1 -0
- package/.next/static/chunks/pages/pvt/account/[...unknown]-f80f645594d2740c.js +1 -0
- package/.next/static/chunks/pages/pvt/account/orders/[id]-a3e46af1be9816a4.js +1 -0
- package/.next/static/chunks/pages/pvt/account/orders-db7a364869130660.js +1 -0
- package/.next/static/chunks/pages/pvt/account/profile-e8a7ad7a7d7c60fb.js +1 -0
- package/.next/static/chunks/pages/pvt/account/security-cad4e4260be8b0cd.js +1 -0
- package/.next/static/chunks/pages/pvt/account/user-details-401f6f6e4ce4b9ce.js +1 -0
- package/.next/static/chunks/pages/pvt/account-65fefcc699344bdb.js +1 -0
- package/.next/static/chunks/pages/s-5319ae49907c3391.js +1 -0
- package/.next/static/chunks/webpack-50869061879531a0.js +1 -0
- package/.next/static/css/175fa823349dc534.css +1 -0
- package/.next/static/css/{18e4be87b97035da.css → 45fac71f6411cceb.css} +1 -1
- package/.next/static/css/f63d693715093ed1.css +1 -0
- package/.next/trace +137 -136
- package/.turbo/turbo-build.log +29 -30
- package/.turbo/turbo-test.log +5 -5
- package/@generated/graphql.ts +3 -3
- package/@generated/schema.graphql +1 -1
- package/CHANGELOG.md +12 -0
- package/cms/faststore/content-types.json +22 -0
- package/package.json +13 -5
- package/src/components/search/Filter/FilterDesktop.tsx +8 -10
- package/src/components/search/Filter/FilterSlider.tsx +9 -10
- package/src/components/sections/Newsletter/section.module.scss +2 -0
- package/src/components/ui/Newsletter/NewsletterAddendum.tsx +22 -73
- package/src/components/ui/RichText/RichText.tsx +202 -0
- package/src/components/ui/RichText/index.ts +2 -0
- package/src/sdk/deliveryPromise/index.ts +3 -0
- package/src/sdk/deliveryPromise/useDeliveryPromise.ts +124 -92
- package/src/utils/globalSettings.ts +5 -0
- package/.next/server/chunks/8640.js +0 -1
- package/.next/static/-2c_JOi0FOzMdeFIuzNgV/_buildManifest.js +0 -1
- package/.next/static/chunks/1417.feb3146f627742b7.js +0 -1
- package/.next/static/chunks/2284.6e01b30c38bb74fd.js +0 -1
- package/.next/static/chunks/294.d57cdd543091b533.js +0 -1
- package/.next/static/chunks/3155.8ff6efc44151971f.js +0 -1
- package/.next/static/chunks/3166-b1ac316afe18625b.js +0 -1
- package/.next/static/chunks/3399.15d4dbadc57c3f42.js +0 -1
- package/.next/static/chunks/3483.4aa5b8186f9288b8.js +0 -1
- package/.next/static/chunks/353.3e74b28c8ca649a2.js +0 -1
- package/.next/static/chunks/3836.c7f8d69a151682bc.js +0 -1
- package/.next/static/chunks/4799.685d618907cf7026.js +0 -1
- package/.next/static/chunks/4803.74cf987971db6d93.js +0 -1
- package/.next/static/chunks/4836.ef87204971e182f4.js +0 -1
- package/.next/static/chunks/5796.31fc3b14839d2bc0.js +0 -1
- package/.next/static/chunks/6031-18797e7ebff417ab.js +0 -28
- package/.next/static/chunks/6393.4ad395e06f7dbbc6.js +0 -1
- package/.next/static/chunks/6700.ddae2aa02d2dd401.js +0 -1
- package/.next/static/chunks/6789.c37c2ec891333684.js +0 -1
- package/.next/static/chunks/7026.9ab6a9b610831b85.js +0 -1
- package/.next/static/chunks/7191-d39597fc204602cb.js +0 -1
- package/.next/static/chunks/7351.8ef7b6b1d6e1505a.js +0 -1
- package/.next/static/chunks/7692.d434a8499fb2aa03.js +0 -1
- package/.next/static/chunks/7861.3fe27a385fea2fb7.js +0 -6
- package/.next/static/chunks/8068.374d1641856d8b1b.js +0 -1
- package/.next/static/chunks/83.730576d7ded8dfe2.js +0 -1
- package/.next/static/chunks/8325.40b7331df742c2f5.js +0 -1
- package/.next/static/chunks/8587.1d6d458c9b697351.js +0 -1
- package/.next/static/chunks/9173-188afceabcbccdbb.js +0 -1
- package/.next/static/chunks/9399.6bd7f24a04ccfff4.js +0 -1
- package/.next/static/chunks/941.2a946730a9174ed7.js +0 -1
- package/.next/static/chunks/9666-1bd33f872ad66b42.js +0 -1
- package/.next/static/chunks/9714.68af2d4bf27f560b.js +0 -1
- package/.next/static/chunks/9781.60f28efd7e165f54.js +0 -1
- package/.next/static/chunks/9909.dcc319593a7c09f1.js +0 -1
- package/.next/static/chunks/BannerNewsletter.d91d065d644d15f3.js +0 -1
- package/.next/static/chunks/BannerText.3bc2f0af3687e984.js +0 -1
- package/.next/static/chunks/ButtonSignIn.c9bc322071e80856.js +0 -1
- package/.next/static/chunks/CartItem.d4c2664933f93606.js +0 -1
- package/.next/static/chunks/CartSidebar.e21ad4975e18e6db.js +0 -1
- package/.next/static/chunks/Dropdown.7fe839c5ffce4687.js +0 -1
- package/.next/static/chunks/DropdownButton.47ba6e75ee7435de.js +0 -1
- package/.next/static/chunks/DropdownItem.0b3c39f881ca0832.js +0 -1
- package/.next/static/chunks/DropdownMenu.943b2d11ffa50ff6.js +0 -1
- package/.next/static/chunks/EmptyCart.2fac8149cc511b0d.js +0 -1
- package/.next/static/chunks/FilterSkeleton.2e156182f33d8116.js +0 -1
- package/.next/static/chunks/Footer.0eb7e5cc7bce8103.js +0 -1
- package/.next/static/chunks/Gift.5891ca280b4f0164.js +0 -1
- package/.next/static/chunks/Newsletter.46c9113fa222890a.js +0 -1
- package/.next/static/chunks/OrderSummary.35d859a1e467ad91.js +0 -1
- package/.next/static/chunks/PreviewTag.0b16a5b6ac35ce1c.js +0 -1
- package/.next/static/chunks/ProductShelf.ee5cec2ae121df87.js +0 -1
- package/.next/static/chunks/ProductTiles.2bd64de5bcd5f6d8.js +0 -1
- package/.next/static/chunks/RegionModal.b5edb6ada60d37ec.js +0 -1
- package/.next/static/chunks/RegionSlider.3d9063b0cb6733d9.js +0 -1
- package/.next/static/chunks/ScrollToTopButton.7acc3be2dcad2695.js +0 -1
- package/.next/static/chunks/Toast.c06d4e2e2e7913c5.js +0 -1
- package/.next/static/chunks/UIBannerText.08c65db460bd1695.js +0 -1
- package/.next/static/chunks/UISKUMatrixSidebar.5793df7899038286.js +0 -1
- package/.next/static/chunks/UIToast.55af19d2eba3d8a1.js +0 -1
- package/.next/static/chunks/framework-807b0f81cbc129f0.js +0 -33
- package/.next/static/chunks/main-f658704b53a96ab1.js +0 -1
- package/.next/static/chunks/pages/404-cc5de07438cb53b5.js +0 -1
- package/.next/static/chunks/pages/500-926ab913425651bc.js +0 -1
- package/.next/static/chunks/pages/[...slug]-1e68a914dfca7da9.js +0 -1
- package/.next/static/chunks/pages/[slug]/p-60dd0938ba92424b.js +0 -1
- package/.next/static/chunks/pages/_app-02ac96e27a9cbbb4.js +0 -1
- package/.next/static/chunks/pages/_error-d820b4586477c368.js +0 -1
- package/.next/static/chunks/pages/checkout-b0637ee59b1cdca8.js +0 -1
- package/.next/static/chunks/pages/index-004d6444cfaf59cb.js +0 -1
- package/.next/static/chunks/pages/login-3043634ec00661a8.js +0 -1
- package/.next/static/chunks/pages/pvt/account/403-a1c5772740914141.js +0 -1
- package/.next/static/chunks/pages/pvt/account/404-eaed7a7c92d499ff.js +0 -1
- package/.next/static/chunks/pages/pvt/account/[...unknown]-a8bcdec2e6ed7b0e.js +0 -1
- package/.next/static/chunks/pages/pvt/account/orders/[id]-3bdaf71be192669b.js +0 -1
- package/.next/static/chunks/pages/pvt/account/orders-10475517a29223cb.js +0 -1
- package/.next/static/chunks/pages/pvt/account/profile-449314f16e1c132c.js +0 -1
- package/.next/static/chunks/pages/pvt/account/security-8b024c8877f125d0.js +0 -1
- package/.next/static/chunks/pages/pvt/account/user-details-0caf3ce4cb6df66e.js +0 -1
- package/.next/static/chunks/pages/pvt/account-412a3bb2b0f22dea.js +0 -1
- package/.next/static/chunks/pages/s-c624c961a98a1be0.js +0 -1
- package/.next/static/chunks/webpack-5b7c916f31abc68d.js +0 -1
- package/.next/static/css/37ee6a2c6adab309.css +0 -1
- package/.next/static/css/3d7be7043aee15df.css +0 -1
- package/.next/static/css/fe0bcc13a2b68605.css +0 -1
- /package/.next/static/{-2c_JOi0FOzMdeFIuzNgV → JaRUyeLgqhw17hCxdW6B5}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This component supports both DraftJS and Lexical content formats:
|
|
3
|
+
* - For hCMS content source: Uses DraftJS (legacy, will be deprecated)
|
|
4
|
+
* - For Content Platform (CP): Uses Lexical (actively maintained)
|
|
5
|
+
*
|
|
6
|
+
* The draftjs-to-html library (used for CMS) hasn't been updated in 4 years and should be removed
|
|
7
|
+
* when CMS content is fully migrated to Content Platform or a different approach.
|
|
8
|
+
*
|
|
9
|
+
* This is a reusable component that can be used by any component that needs to render rich text content.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
// @ts-ignore motivation: cannot find the draftjs-to-html package types.
|
|
13
|
+
import draftToHtml from 'draftjs-to-html'
|
|
14
|
+
import { $generateHtmlFromNodes } from '@lexical/html'
|
|
15
|
+
import { createHeadlessEditor } from '@lexical/headless'
|
|
16
|
+
import { LinkNode } from '@lexical/link'
|
|
17
|
+
import { HeadingNode, QuoteNode } from '@lexical/rich-text'
|
|
18
|
+
import { ListNode, ListItemNode } from '@lexical/list'
|
|
19
|
+
import { CodeNode } from '@lexical/code'
|
|
20
|
+
import { HorizontalRuleNode } from '@lexical/react/LexicalHorizontalRuleNode'
|
|
21
|
+
import {
|
|
22
|
+
ParagraphNode,
|
|
23
|
+
TextNode,
|
|
24
|
+
RootNode,
|
|
25
|
+
type SerializedEditorState,
|
|
26
|
+
} from 'lexical'
|
|
27
|
+
import { RichText as UIRichText } from '@faststore/ui'
|
|
28
|
+
import { isContentPlatformSource } from 'src/server/content/utils'
|
|
29
|
+
|
|
30
|
+
export interface RichTextProps {
|
|
31
|
+
/**
|
|
32
|
+
* Content to render. Can be:
|
|
33
|
+
* - A string of a JSON object in the form of draftjs's raw content state (for hCMS)
|
|
34
|
+
* - Lexical's serialized editor state (for Content Platform)
|
|
35
|
+
* - Plain HTML string
|
|
36
|
+
* - Plain text
|
|
37
|
+
*/
|
|
38
|
+
content: string
|
|
39
|
+
/**
|
|
40
|
+
* ID to find this component in testing tools (e.g.: cypress, testing library, and jest).
|
|
41
|
+
*/
|
|
42
|
+
testId?: string
|
|
43
|
+
/**
|
|
44
|
+
* Additional props to pass to the underlying RichText component
|
|
45
|
+
*/
|
|
46
|
+
[key: string]: any
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
function getLinkElementAsString(url: string, text: string) {
|
|
50
|
+
return `
|
|
51
|
+
<a
|
|
52
|
+
data-fs-link="true"
|
|
53
|
+
data-fs-link-variant="inline"
|
|
54
|
+
data-fs-link-inverse="true"
|
|
55
|
+
data-fs-link-size="regular"
|
|
56
|
+
data-testid="fs-link"
|
|
57
|
+
href="${url}"
|
|
58
|
+
>${text}</a>`
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
function replaceLinkElements(html: string): string {
|
|
62
|
+
return html.replace(
|
|
63
|
+
/<a[^>]*href="([^"]*)"[^>]*>([^<]*)<\/a>/g,
|
|
64
|
+
(match, url, text) => getLinkElementAsString(url, text)
|
|
65
|
+
)
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
function replaceLists(html: string): string {
|
|
69
|
+
return html
|
|
70
|
+
.replace(
|
|
71
|
+
/<ol([^>]*)>/g,
|
|
72
|
+
'<ol$1 data-fs-rich-text-list="true" data-fs-list-type="ordered">'
|
|
73
|
+
)
|
|
74
|
+
.replace(
|
|
75
|
+
/<ul([^>]*)>/g,
|
|
76
|
+
'<ul$1 data-fs-rich-text-list="true" data-fs-list-type="unordered">'
|
|
77
|
+
)
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
function fixNestedListStructure(html: string): string {
|
|
81
|
+
let result = html
|
|
82
|
+
|
|
83
|
+
// Remove completely empty list items
|
|
84
|
+
result = result.replace(/<li[^>]*>\s*<\/li>/g, '')
|
|
85
|
+
|
|
86
|
+
// Fix empty <li> elements that directly contain nested lists
|
|
87
|
+
result = result.replace(/<li([^>]*)>\s*(<(?:ul|ol)[^>]*>)/g, '$2')
|
|
88
|
+
|
|
89
|
+
// Fix closing tags: </ul></li> should become </ul>
|
|
90
|
+
result = result.replace(/(<\/(?:ul|ol)>)\s*<\/li>/g, '$1')
|
|
91
|
+
|
|
92
|
+
// Clean up remaining structural issues
|
|
93
|
+
result = result.replace(/\s*<li[^>]*>\s*(?=<(?:ul|ol))/g, '')
|
|
94
|
+
|
|
95
|
+
return result
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
function lexicalToHtml(content: string) {
|
|
99
|
+
let lexicalState: SerializedEditorState | null = null
|
|
100
|
+
|
|
101
|
+
try {
|
|
102
|
+
lexicalState = JSON.parse(content)
|
|
103
|
+
} catch (e) {
|
|
104
|
+
const error = new Error(
|
|
105
|
+
'RichText\'s prop "content" is not a valid JSON string. This is happening because the content is malformed or the Content Platform is providing malformed content.'
|
|
106
|
+
)
|
|
107
|
+
error.cause = e
|
|
108
|
+
throw error
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
if (!lexicalState) {
|
|
112
|
+
return ''
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
const editor = createHeadlessEditor({
|
|
116
|
+
nodes: [
|
|
117
|
+
RootNode,
|
|
118
|
+
ParagraphNode,
|
|
119
|
+
TextNode,
|
|
120
|
+
LinkNode,
|
|
121
|
+
HeadingNode,
|
|
122
|
+
QuoteNode,
|
|
123
|
+
ListNode,
|
|
124
|
+
ListItemNode,
|
|
125
|
+
CodeNode,
|
|
126
|
+
HorizontalRuleNode,
|
|
127
|
+
],
|
|
128
|
+
onError: (error) => {
|
|
129
|
+
throw error
|
|
130
|
+
},
|
|
131
|
+
})
|
|
132
|
+
|
|
133
|
+
let html = ''
|
|
134
|
+
|
|
135
|
+
editor.update(() => {
|
|
136
|
+
const editorState = editor.parseEditorState(lexicalState)
|
|
137
|
+
editor.setEditorState(editorState)
|
|
138
|
+
})
|
|
139
|
+
|
|
140
|
+
editor.read(() => {
|
|
141
|
+
html = $generateHtmlFromNodes(editor, null)
|
|
142
|
+
})
|
|
143
|
+
|
|
144
|
+
const withLinks = replaceLinkElements(html)
|
|
145
|
+
const withLists = replaceLists(withLinks)
|
|
146
|
+
return fixNestedListStructure(withLists)
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
function cmsToHtml(content: string) {
|
|
150
|
+
let rawDraftContentState: any = null
|
|
151
|
+
|
|
152
|
+
try {
|
|
153
|
+
rawDraftContentState = JSON.parse(content)
|
|
154
|
+
} catch (e) {
|
|
155
|
+
const error = new Error(
|
|
156
|
+
'RichText\'s prop "content" is not a valid JSON string. This is happening because the content is malformed or the CMS is providing malformed content.'
|
|
157
|
+
)
|
|
158
|
+
error.cause = e
|
|
159
|
+
throw error
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
if (!rawDraftContentState) {
|
|
163
|
+
return ''
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
return draftToHtml(
|
|
167
|
+
rawDraftContentState,
|
|
168
|
+
undefined,
|
|
169
|
+
undefined,
|
|
170
|
+
(entity: { type: string; data: { url: string } }, text: string) => {
|
|
171
|
+
if (entity.type !== 'LINK') {
|
|
172
|
+
return null
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
return getLinkElementAsString(entity.data.url, text)
|
|
176
|
+
}
|
|
177
|
+
)
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
function isJsonString(str: string): boolean {
|
|
181
|
+
try {
|
|
182
|
+
JSON.parse(str)
|
|
183
|
+
return true
|
|
184
|
+
} catch {
|
|
185
|
+
return false
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
export function RichText({
|
|
190
|
+
content,
|
|
191
|
+
testId = 'fs-rich-text',
|
|
192
|
+
...otherProps
|
|
193
|
+
}: Readonly<RichTextProps>) {
|
|
194
|
+
let htmlContent = content
|
|
195
|
+
|
|
196
|
+
if (isJsonString(content)) {
|
|
197
|
+
const convertToHtml = isContentPlatformSource() ? lexicalToHtml : cmsToHtml
|
|
198
|
+
htmlContent = convertToHtml(content)
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
return <UIRichText content={htmlContent} testId={testId} {...otherProps} />
|
|
202
|
+
}
|
|
@@ -14,9 +14,10 @@ import type {
|
|
|
14
14
|
} from '@generated/graphql'
|
|
15
15
|
|
|
16
16
|
import type { useFilter } from 'src/sdk/search/useFilter'
|
|
17
|
-
import { useSession } from 'src/sdk/session'
|
|
18
17
|
import type { GlobalCmsData } from 'src/utils/globalSettings'
|
|
19
18
|
|
|
19
|
+
import { useSession } from 'src/sdk/session'
|
|
20
|
+
|
|
20
21
|
import { deliveryPromise as deliveryPromiseConfig } from 'discovery.config'
|
|
21
22
|
import {
|
|
22
23
|
initialPickupPointsSimulation,
|
|
@@ -32,6 +33,7 @@ export const PICKUP_ALL_FACET_VALUE = 'pickup-all' as const
|
|
|
32
33
|
export const ALL_DELIVERY_OPTIONS_FACET_VALUE = 'all-delivery-options' as const
|
|
33
34
|
export const DELIVERY_OPTIONS_FACET_KEY = 'delivery-options' as const
|
|
34
35
|
export const DYNAMIC_ESTIMATE_FACET_KEY = 'dynamic-estimate' as const
|
|
36
|
+
export const IN_STOCK_FACET_KEY = 'in-stock' as const
|
|
35
37
|
|
|
36
38
|
type Facet = SearchState['selectedFacets'][number]
|
|
37
39
|
type DeliveryType = 'delivery' | 'pickup-in-point'
|
|
@@ -116,6 +118,7 @@ export function useDeliveryPromise({
|
|
|
116
118
|
const isDeliveryPromiseEnabled = deliveryPromiseConfig.enabled
|
|
117
119
|
const isDeliveryOptionsEnabled =
|
|
118
120
|
deliveryPromiseSettings?.deliveryOptions?.enabled ?? true
|
|
121
|
+
const isInStockEnabled = deliveryPromiseSettings?.inStock?.enabled ?? false
|
|
119
122
|
|
|
120
123
|
const selectedFacets = useMemo(
|
|
121
124
|
() => selectedFilterFacets ?? searchState.selectedFacets,
|
|
@@ -210,6 +213,25 @@ export function useDeliveryPromise({
|
|
|
210
213
|
[defaultPickupPoint, selectedFacets]
|
|
211
214
|
)
|
|
212
215
|
|
|
216
|
+
const inStockFacet = useMemo(
|
|
217
|
+
(): Filter_FacetsFragment => ({
|
|
218
|
+
key: IN_STOCK_FACET_KEY,
|
|
219
|
+
label: IN_STOCK_FACET_KEY,
|
|
220
|
+
__typename: 'StoreFacetBoolean',
|
|
221
|
+
values: [
|
|
222
|
+
{
|
|
223
|
+
value: 'true',
|
|
224
|
+
label: deliveryPromiseSettings?.inStock?.label ?? 'In-stock only',
|
|
225
|
+
selected: selectedFacets.some(
|
|
226
|
+
({ key, value }) => key === IN_STOCK_FACET_KEY && value === 'true'
|
|
227
|
+
),
|
|
228
|
+
quantity: null,
|
|
229
|
+
},
|
|
230
|
+
],
|
|
231
|
+
}),
|
|
232
|
+
[deliveryPromiseSettings, selectedFacets]
|
|
233
|
+
)
|
|
234
|
+
|
|
213
235
|
const [allDeliveryMethodsFacet, allDeliveryOptionsFacet] = useMemo(
|
|
214
236
|
() => [
|
|
215
237
|
{
|
|
@@ -300,101 +322,105 @@ export function useDeliveryPromise({
|
|
|
300
322
|
const facets = useMemo(() => {
|
|
301
323
|
if (!allFacets) return []
|
|
302
324
|
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
.filter(({ key }) => key !== DYNAMIC_ESTIMATE_FACET_KEY) // TODO: remove this filter when dynamic estimate is implemented
|
|
312
|
-
.filter(({ key }) => {
|
|
313
|
-
if (
|
|
314
|
-
!isDeliveryOptionsEnabled &&
|
|
315
|
-
key === DELIVERY_OPTIONS_FACET_KEY
|
|
316
|
-
) {
|
|
317
|
-
return false
|
|
318
|
-
}
|
|
325
|
+
if (!isDeliveryPromiseEnabled || !postalCode) {
|
|
326
|
+
return allFacets.filter(
|
|
327
|
+
({ key }) =>
|
|
328
|
+
key !== SHIPPING_FACET_KEY &&
|
|
329
|
+
key !== DELIVERY_OPTIONS_FACET_KEY &&
|
|
330
|
+
key !== DYNAMIC_ESTIMATE_FACET_KEY
|
|
331
|
+
)
|
|
332
|
+
}
|
|
319
333
|
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
334
|
+
const filteredFacets = allFacets
|
|
335
|
+
.filter(({ key }) => key !== DYNAMIC_ESTIMATE_FACET_KEY) // TODO: remove this filter when dynamic estimate is implemented
|
|
336
|
+
.filter(({ key }) => {
|
|
337
|
+
if (!isDeliveryOptionsEnabled && key === DELIVERY_OPTIONS_FACET_KEY) {
|
|
338
|
+
return false
|
|
339
|
+
}
|
|
324
340
|
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
facet.values,
|
|
328
|
-
allDeliveryOptionsFacet
|
|
329
|
-
)
|
|
341
|
+
return true
|
|
342
|
+
})
|
|
330
343
|
|
|
331
|
-
|
|
332
|
-
|
|
344
|
+
if (
|
|
345
|
+
isInStockEnabled &&
|
|
346
|
+
!filteredFacets.find(({ key }) => key === IN_STOCK_FACET_KEY) &&
|
|
347
|
+
filteredFacets.find(({ key }) => key === SHIPPING_FACET_KEY) // Avoid adding in-stock facet if IS doesn't return any shipping facet
|
|
348
|
+
) {
|
|
349
|
+
filteredFacets.push(inStockFacet)
|
|
350
|
+
}
|
|
333
351
|
|
|
334
|
-
|
|
352
|
+
return filteredFacets
|
|
353
|
+
.map((facet) => {
|
|
354
|
+
if (facet.__typename !== 'StoreFacetBoolean') return facet
|
|
335
355
|
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
allDeliveryMethodsFacet
|
|
339
|
-
)
|
|
340
|
-
const pickupInPointFacetIndex = facet.values.findIndex(
|
|
341
|
-
(item) => item?.value === PICKUP_IN_POINT_FACET_VALUE
|
|
342
|
-
)
|
|
356
|
+
if (facet.key === DELIVERY_OPTIONS_FACET_KEY) {
|
|
357
|
+
facet.values = withUniqueFacet(facet.values, allDeliveryOptionsFacet)
|
|
343
358
|
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
value === PICKUP_IN_POINT_FACET_VALUE ||
|
|
354
|
-
key === PICKUP_POINT_FACET_KEY
|
|
355
|
-
)
|
|
356
|
-
|
|
357
|
-
selectedPickupInPointFacets.length
|
|
358
|
-
? onDeliveryFacetChange({
|
|
359
|
-
facets: selectedPickupInPointFacets,
|
|
360
|
-
})
|
|
361
|
-
: onDeliveryFacetChange({ facet: selectedShippingFacet })
|
|
362
|
-
}
|
|
363
|
-
|
|
364
|
-
// Removes pickupInPointIndex from array
|
|
365
|
-
facet.values = facet.values.filter(
|
|
366
|
-
(_, index) => index !== pickupInPointFacetIndex
|
|
367
|
-
)
|
|
368
|
-
}
|
|
369
|
-
// Prevent multiple `pickup in point` facet
|
|
370
|
-
else if (pickupInPointFacetIndex === -1 && defaultPickupPoint) {
|
|
371
|
-
facet.values.push(pickupInPointFacet)
|
|
372
|
-
}
|
|
373
|
-
// Replace current `pickup-in-point` facet with the updated one
|
|
374
|
-
else if (
|
|
375
|
-
facet.values[pickupInPointFacetIndex] &&
|
|
376
|
-
facet.values[pickupInPointFacetIndex]?.label !==
|
|
377
|
-
pickupInPointFacet.label
|
|
378
|
-
) {
|
|
379
|
-
facet.values[pickupInPointFacetIndex] = pickupInPointFacet
|
|
380
|
-
}
|
|
359
|
+
return facet
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
if (facet.key !== SHIPPING_FACET_KEY) return facet
|
|
363
|
+
|
|
364
|
+
facet.values = withUniqueFacet(facet.values, allDeliveryMethodsFacet)
|
|
365
|
+
const pickupInPointFacetIndex = facet.values.findIndex(
|
|
366
|
+
(item) => item?.value === PICKUP_IN_POINT_FACET_VALUE
|
|
367
|
+
)
|
|
381
368
|
|
|
382
|
-
|
|
383
|
-
|
|
369
|
+
// Remove old pickup `pickup in point` facet from list and search state
|
|
370
|
+
if (pickupInPointFacetIndex !== -1 && !defaultPickupPoint) {
|
|
371
|
+
const selectedShippingFacet = selectedFacets.find(
|
|
372
|
+
({ key }) => key === SHIPPING_FACET_KEY
|
|
373
|
+
)
|
|
374
|
+
|
|
375
|
+
if (selectedShippingFacet) {
|
|
376
|
+
const selectedPickupInPointFacets = selectedFacets.filter(
|
|
377
|
+
({ key, value }) =>
|
|
378
|
+
value === PICKUP_IN_POINT_FACET_VALUE ||
|
|
379
|
+
key === PICKUP_POINT_FACET_KEY
|
|
384
380
|
)
|
|
385
381
|
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
382
|
+
selectedPickupInPointFacets.length
|
|
383
|
+
? onDeliveryFacetChange({
|
|
384
|
+
facets: selectedPickupInPointFacets,
|
|
385
|
+
})
|
|
386
|
+
: onDeliveryFacetChange({ facet: selectedShippingFacet })
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
// Removes pickupInPointIndex from array
|
|
390
|
+
facet.values = facet.values.filter(
|
|
391
|
+
(_, index) => index !== pickupInPointFacetIndex
|
|
392
|
+
)
|
|
393
|
+
}
|
|
394
|
+
// Prevent multiple `pickup in point` facet
|
|
395
|
+
else if (pickupInPointFacetIndex === -1 && defaultPickupPoint) {
|
|
396
|
+
facet.values.push(pickupInPointFacet)
|
|
397
|
+
}
|
|
398
|
+
// Replace current `pickup-in-point` facet with the updated one
|
|
399
|
+
else if (
|
|
400
|
+
facet.values[pickupInPointFacetIndex] &&
|
|
401
|
+
facet.values[pickupInPointFacetIndex]?.label !==
|
|
402
|
+
pickupInPointFacet.label
|
|
403
|
+
) {
|
|
404
|
+
facet.values[pickupInPointFacetIndex] = pickupInPointFacet
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
facet.values = facet.values.sort((a, b) =>
|
|
408
|
+
(a.value ?? '').localeCompare(b.value ?? '')
|
|
409
|
+
)
|
|
395
410
|
|
|
396
|
-
|
|
397
|
-
|
|
411
|
+
return facet
|
|
412
|
+
})
|
|
413
|
+
.sort((a, b) => {
|
|
414
|
+
// Define priority order: shipping (0), delivery-options (1), in-stock (2), others (3)
|
|
415
|
+
const getPriority = (key: string) => {
|
|
416
|
+
if (key === SHIPPING_FACET_KEY) return 0
|
|
417
|
+
if (key === DELIVERY_OPTIONS_FACET_KEY) return 1
|
|
418
|
+
if (key === IN_STOCK_FACET_KEY) return 2
|
|
419
|
+
return 3
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
return getPriority(a.key) - getPriority(b.key)
|
|
423
|
+
})
|
|
398
424
|
}, [
|
|
399
425
|
allDeliveryMethodsFacet,
|
|
400
426
|
pickupInPointFacet,
|
|
@@ -441,6 +467,15 @@ export function useDeliveryPromise({
|
|
|
441
467
|
[]
|
|
442
468
|
)
|
|
443
469
|
|
|
470
|
+
const labelsMap = {
|
|
471
|
+
[SHIPPING_FACET_KEY]:
|
|
472
|
+
deliveryPromiseSettings?.deliveryMethods?.title ?? 'Delivery',
|
|
473
|
+
[DELIVERY_OPTIONS_FACET_KEY]:
|
|
474
|
+
deliveryPromiseSettings?.deliveryOptions?.title ?? 'Delivery Option',
|
|
475
|
+
[IN_STOCK_FACET_KEY]:
|
|
476
|
+
deliveryPromiseSettings?.inStock?.title ?? 'Availability',
|
|
477
|
+
}
|
|
478
|
+
|
|
444
479
|
function getBadgeLabel(value: DeliveryType, isAvailable: boolean) {
|
|
445
480
|
const labelMap: Record<
|
|
446
481
|
DeliveryType,
|
|
@@ -539,10 +574,7 @@ export function useDeliveryPromise({
|
|
|
539
574
|
facets,
|
|
540
575
|
onPostalCodeChange,
|
|
541
576
|
onDeliveryFacetChange,
|
|
542
|
-
|
|
543
|
-
deliveryPromiseSettings?.deliveryMethods?.title ?? 'Delivery',
|
|
544
|
-
deliveryOptionsLabel:
|
|
545
|
-
deliveryPromiseSettings?.deliveryOptions?.title ?? 'Delivery Option',
|
|
577
|
+
labelsMap,
|
|
546
578
|
isPickupAllEnabled:
|
|
547
579
|
pickupPoints?.length > 0 &&
|
|
548
580
|
(deliveryPromiseSettings?.deliveryMethods?.pickupAll?.enabled ?? false),
|
|
@@ -552,12 +584,12 @@ export function useDeliveryPromise({
|
|
|
552
584
|
}
|
|
553
585
|
}
|
|
554
586
|
|
|
555
|
-
type
|
|
587
|
+
type BooleanFacet = Extract<
|
|
556
588
|
Filter_FacetsFragment,
|
|
557
589
|
{ __typename: 'StoreFacetBoolean' }
|
|
558
590
|
>['values'][number]
|
|
559
591
|
|
|
560
|
-
function withUniqueFacet(facets: Array<
|
|
592
|
+
function withUniqueFacet(facets: Array<BooleanFacet>, facet: BooleanFacet) {
|
|
561
593
|
return [facet, ...facets.filter((item) => item.value !== facet.value)]
|
|
562
594
|
}
|
|
563
595
|
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=8640,exports.ids=[8640],exports.modules={339:(e,t,r)=>{r.d(t,{K:()=>useSlideVisibility});var a=r(16689);let useSlideVisibility=({currentSlide:e,itemsPerPage:t,totalItems:r})=>{let l=(0,a.useRef)(new Set);(0,a.useEffect)(()=>{for(let r=0;r<t;r++)l.current.add(e+r)},[e,t]);let isItemVisible=a=>(function({itemsPerPage:e,currentSlide:t,slideIdx:r,totalItems:a}){return t<0||t>=a||r>=t&&r<t+e})({slideIdx:a,currentSlide:e,itemsPerPage:t,totalItems:r});return{shouldRenderItem:e=>l.current.has(e)||isItemVisible(e),isItemVisible}}},3525:(e,t,r)=>{r.d(t,{oN:()=>useSlider});var a=r(16689),l=r(81280);let nextPage=(e,t)=>(e+1)%t,previousPage=(e,t)=>(t-(t-e+1)%t)%t;function reducer(e,t){switch(t.type){case"NEXT_PAGE":{let t=e.infinite?e.totalPages+1:e.totalPages,r=nextPage(e.currentPage,t),a=r%t*e.itemsPerPage;return{...e,sliding:!0,slideDirection:"next",currentItem:a,currentPage:r}}case"PREVIOUS_PAGE":{let t=e.infinite?e.totalPages+1:e.totalPages,r=e.infinite&&0===e.currentPage,a=r?-1:previousPage(e.currentPage,e.totalPages);return{...e,sliding:!0,slideDirection:"previous",currentItem:a%t*e.itemsPerPage,currentPage:a}}case"GO_TO_PAGE":if(t.payload.pageIndex===e.currentPage)return e;return{...e,sliding:t.payload.shouldSlide,slideDirection:t.payload.pageIndex>e.currentPage?"next":"previous",currentItem:t.payload.pageIndex%e.totalPages*e.itemsPerPage,currentPage:t.payload.pageIndex};case"STOP_SLIDE":return{...e,sliding:!1};default:return e}}let defaultSliderState=(e,t,r)=>({currentItem:0,currentPage:0,sliding:!1,slideDirection:"next",totalItems:e,itemsPerPage:t,totalPages:Math.ceil(e/t),infinite:r}),slide=(e,t)=>{"next"===e&&t({type:"NEXT_PAGE"}),"previous"===e&&t({type:"PREVIOUS_PAGE"}),"number"==typeof e&&t({type:"GO_TO_PAGE",payload:{pageIndex:e,shouldSlide:!0}})},useSlider=({totalItems:e,itemsPerPage:t=1,infiniteMode:r=!1,shouldSlideOnSwipe:n=!0,...i})=>{let[s,o]=(0,a.useReducer)(reducer,void 0,()=>defaultSliderState(e,t,r)),d=(0,l.QS)({onSwipedRight:()=>n&&slide("previous",o),onSwipedLeft:()=>n&&slide("next",o),trackMouse:!0,...i});return{handlers:d,slide,sliderState:s,sliderDispatch:o}}},39237:(e,t,r)=>{r.d(t,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});var a=r(16689),l=r.n(a),n=r(37041),i=r(2614),s=r(3525),o=r(9654),d=r(86487);let createTransformValues=(e,t)=>{let r={},a=100/t;for(let l=0;l<t;++l){let t=e?l-1:l,n=-(a*l);r[t]=n}return r},__WEBPACK_DEFAULT_EXPORT__=function({children:e,className:t,"aria-label":r,infiniteMode:c=!1,controls:u="complete",testId:f="fs-carousel",transition:g={duration:400,property:"transform"},id:m="fs-carousel",variant:P="scroll",itemsPerPage:p=1,navigationIcons:E,...h}){if(p<1)throw Error("itemsPerPage must be greater than or equal to 1");let w=(0,a.useRef)(null),v="slide"===P,S="scroll"===P,b=l().Children.toArray(e),_=b.length,y=c?_+2:_,x=`${g.property} ${g.duration}ms ${g.timing??""} ${g.delay??""}`,{handlers:I,slide:A,sliderState:R,sliderDispatch:T}=(0,s.oN)({itemsPerPage:p,infiniteMode:c,totalItems:_,shouldSlideOnSwipe:v,...h}),$=Math.ceil(_/R.itemsPerPage),[Z,O]=(0,a.useState)("16px"),[C,k]=(0,a.useState)(0);(0,a.useEffect)(()=>{let e=w.current?.firstElementChild;e&&(O(getComputedStyle(e).getPropertyValue("margin-right")),k(Number(e.clientWidth)+Number.parseInt(Z,10)+1))},[C]);let G=(0,a.useMemo)(()=>createTransformValues(c,y),[y,c]),N=c&&e?b.slice(0,1):[],L=c&&e?b.slice(_-1):[],D=L.concat(e??[],N),V=(0,a.useMemo)(()=>({width:`${100*y}%`,transition:R.sliding?x:void 0,transform:`translate3d(${G[R.currentPage]}%, 0, 0)`}),[y,G,x,R.sliding,R.currentPage]),M=(0,a.useMemo)(()=>({width:"100%",overflowX:"scroll",whiteSpace:"nowrap"}),[]),slidePrevious=()=>{!R.sliding&&(c||0!==R.currentPage)&&A("previous",T)},slideNext=()=>{!R.sliding&&(c||R.currentPage!==_-1)&&A("next",T)},onScrollPagination=async(e,t)=>{if("previous"===t&&0===R.currentPage||"next"===t&&R.currentPage===R.totalPages-1)return;let r=e*C*p;w.current?.scrollTo({left:r,behavior:"smooth"}),A(e,T)};return l().createElement("section",{id:m,"data-fs-carousel":!0,"data-fs-carousel-variant":P,className:t,"data-testid":f,"aria-label":r},l().createElement("div",{"data-fs-carousel-track-container":!0,style:{width:"100%",overflow:"hidden",display:S?"block":void 0},...I},l().createElement("ul",{"aria-live":"polite",ref:w,style:v&&V||S&&M,"data-fs-carousel-track":!0,onScroll:e=>{if(v||p>1)return;let t=Number(e.currentTarget.firstElementChild?.scrollWidth),r=e.currentTarget?.scrollLeft,a=r>t/2?Math.round:Math.floor,l=a(r/t);A(l,T)},onTransitionEnd:()=>{T({type:"STOP_SLIDE"}),c&&R.currentItem>=_&&T({type:"GO_TO_PAGE",payload:{pageIndex:0,shouldSlide:!1}}),c&&R.currentItem<0&&T({type:"GO_TO_PAGE",payload:{pageIndex:R.totalPages-1,shouldSlide:!1}})}},D.map((e,t)=>l().createElement(d.Z,{id:m,index:t,key:String(t),state:R,totalItems:_,infiniteMode:c,isScrollCarousel:S,marginRightValue:Z},e)))),1!==$&&("complete"===u||"navigationArrows"===u)&&l().createElement("div",{"data-fs-carousel-controls":!0},l().createElement(n.Z,{"data-fs-carousel-control":"left","aria-controls":m,disabled:!c&&0===R.currentPage,"aria-label":"previous",icon:E?.left??l().createElement(i.Z,{name:"ArrowLeft",width:20,height:20,weight:"bold"}),onClick:()=>{v&&slidePrevious(),S&&onScrollPagination(R.currentPage-1,"previous")}}),l().createElement(n.Z,{"data-fs-carousel-control":"right","aria-controls":m,disabled:!c&&R.currentPage===R.totalPages-1,"aria-label":"next",icon:E?.right??l().createElement(i.Z,{name:"ArrowRight",width:20,height:20,weight:"bold"}),onClick:()=>{v&&slideNext(),S&&onScrollPagination(R.currentPage+1,"next")}})),1!==$&&("complete"===u||"paginationBullets"===u)&&l().createElement(o.Z,{id:m,tabIndex:0,activeBullet:R.currentPage,totalQuantity:$,onKeyDown:e=>{switch(e.key){case"ArrowLeft":v&&slidePrevious(),S&&onScrollPagination(R.currentPage-1,"previous");break;case"ArrowRight":v&&slideNext(),S&&onScrollPagination(R.currentPage+1,"next");break;case"Home":A(0,T);break;case"End":A(_-1,T)}},onClick:async(e,t)=>{v&&!R.sliding&&A(t,T),S&&onScrollPagination(t)},onFocus:e=>e.currentTarget.focus(),ariaControlsGenerator:e=>`${m}-carousel-item-${e}`}))}},9654:(e,t,r)=>{r.d(t,{Z:()=>s});var a=r(16689),l=r.n(a),n=r(83339);let defaultAriaLabel=(e,t,r)=>r?`Current page from ${e}`:`Go to page ${t+1} from ${e}`,i=(0,a.forwardRef)(function({id:e,totalQuantity:t,activeBullet:r,onClick:i,testId:s="fs-carousel-bullets",ariaLabelGenerator:o=defaultAriaLabel,ariaControlsGenerator:d,...c},u){let f=(0,a.useMemo)(()=>Array(t).fill(0),[t]);return l().createElement("div",{ref:u,"data-fs-carousel-bullets":!0,"data-testid":s,role:"tablist",...c},f.map((t,a)=>{let c=r===a;return l().createElement(n.Z,{key:`${e}-${a}`,role:"tab",tabIndex:-1,"data-fs-carousel-bullet":!0,testId:`${s}-bullet`,onClick:e=>i(e,a),"aria-label":o(e,a,c),"aria-controls":d?.(a),"aria-selected":c,variant:"tertiary"})}))}),s=i},86487:(e,t,r)=>{r.d(t,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});var a=r(16689),l=r.n(a),n=r(339);let __WEBPACK_DEFAULT_EXPORT__=function({id:e,index:t,state:r,children:a,totalItems:i,infiniteMode:s,isScrollCarousel:o,marginRightValue:d}){let{isItemVisible:c,shouldRenderItem:u}=(0,n.K)({totalItems:i,currentSlide:r.currentItem,itemsPerPage:r.itemsPerPage}),f={width:`calc((100% - ${d} * ${r.itemsPerPage-1}) / ${r.itemsPerPage})`},g=o&&r.itemsPerPage>1?{...f}:{width:"100%"},m=o||u(t-Number(s));return l().createElement("li",{style:g,id:`${e}-carousel-item-${t}`,"data-fs-carousel-item":!0,"data-fs-carousel-item-visible":c(t-Number(s))||void 0},m?a:null)}},37115:(e,t,r)=>{r.d(t,{Z:()=>i});var a=r(16689),l=r.n(a);let n=(0,a.forwardRef)(function({card:e,children:t,colorVariant:r="main",testId:a="fs-newsletter",...n},i){return l().createElement("div",{ref:i,"data-testid":a,"data-fs-content":"newsletter","data-fs-newsletter":e?"card":"","data-fs-newsletter-color-variant":r,...n},t)}),i=n},92294:(e,t,r)=>{r.d(t,{Z:()=>i});var a=r(16689),l=r.n(a);let n=(0,a.forwardRef)(function({addendum:e,testId:t="fs-newsletter-addendum",...r},a){return l().createElement("span",{ref:a,"data-testid":t,"data-fs-newsletter-addendum":!0,...r},e)}),i=n},84207:(e,t,r)=>{r.d(t,{Z:()=>i});var a=r(16689),l=r.n(a);let n=(0,a.forwardRef)(function({children:e,testId:t="fs-newsletter-content",...r},a){return l().createElement("div",{ref:a,"data-testid":t,"data-fs-newsletter-content":!0,...r},e)}),i=n},32571:(e,t,r)=>{r.d(t,{Z:()=>i});var a=r(16689),l=r.n(a);let n=(0,a.forwardRef)(function({children:e,onSubmit:t,testId:r="fs-newsletter-form",...a},n){return l().createElement("form",{ref:n,"data-testid":r,"data-fs-newsletter-form":!0,onSubmit:t,...a},e)}),i=n},4796:(e,t,r)=>{r.d(t,{Z:()=>i});var a=r(16689),l=r.n(a);let n=(0,a.forwardRef)(function({icon:e,title:t,description:r,testId:a="fs-newsletter-header",...n},i){return l().createElement("header",{ref:i,"data-testid":a,"data-fs-newsletter-header":!0,...n},l().createElement("h3",{"data-fs-newsletter-header-title":!0},e,t),r&&l().createElement("span",{"data-fs-newsletter-header-description":!0},r))}),i=n},16737:(e,t,r)=>{r.d(t,{Z:()=>i});var a=r(16689),l=r.n(a);let n=(0,a.forwardRef)(function({testId:e="fs-product-shelf",children:t,...r},a){return l().createElement("div",{ref:a,"data-fs-product-shelf":!0,"data-fs-content":"product-shelf","data-testid":e,...r},t)}),i=n},67901:(e,t,r)=>{r.d(t,{Z:()=>i});var a=r(16689),l=r.n(a);let n=(0,a.forwardRef)(function({testId:e="store-tile",children:t,...r},a){return l().createElement("li",{ref:a,role:"listitem","data-fs-tile":!0,"data-testid":e,...r},t)}),i=n},23877:(e,t,r)=>{r.d(t,{Z:()=>i});var a=r(16689),l=r.n(a);let n=(0,a.forwardRef)(function({testId:e="store-tiles",children:t,...r},n){let i=a.Children.count(t);return l().createElement("ul",{ref:n,role:"list","data-fs-tiles":!0,"data-fs-tiles-variant":3===i?"expanded-first":2===i?"expanded-first-two":"","data-fs-content":"tiles","data-testid":e,...r},t)}),i=n}};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
self.__BUILD_MANIFEST=function(c,s,t,a,e,u){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},"/":[c,s,t,"static/css/b1806cbafd0c1f81.css","static/chunks/pages/index-004d6444cfaf59cb.js"],"/404":[c,s,t,a,"static/chunks/pages/404-cc5de07438cb53b5.js"],"/500":[c,s,t,a,"static/chunks/pages/500-926ab913425651bc.js"],"/_error":["static/chunks/pages/_error-d820b4586477c368.js"],"/checkout":[c,s,t,"static/chunks/pages/checkout-b0637ee59b1cdca8.js"],"/login":[c,s,t,a,"static/chunks/pages/login-3043634ec00661a8.js"],"/pvt/account":["static/chunks/pages/pvt/account-412a3bb2b0f22dea.js"],"/pvt/account/403":[c,s,t,"static/css/b7bba8fce075688b.css","static/chunks/pages/pvt/account/403-a1c5772740914141.js"],"/pvt/account/404":[c,s,t,"static/css/5347dbc8b71de47d.css","static/chunks/pages/pvt/account/404-eaed7a7c92d499ff.js"],"/pvt/account/orders":[c,s,t,"static/css/b7fc24e8f1eb011f.css","static/chunks/pages/pvt/account/orders-10475517a29223cb.js"],"/pvt/account/orders/[id]":[c,s,t,"static/css/297be4be3be36ff0.css","static/chunks/pages/pvt/account/orders/[id]-3bdaf71be192669b.js"],"/pvt/account/profile":[c,s,t,"static/css/831a1f72fe4b2d80.css","static/chunks/pages/pvt/account/profile-449314f16e1c132c.js"],"/pvt/account/security":[c,s,t,"static/css/ec7fdad03808422d.css","static/chunks/pages/pvt/account/security-8b024c8877f125d0.js"],"/pvt/account/user-details":[c,s,t,"static/css/e46393a76c5d93a9.css","static/chunks/pages/pvt/account/user-details-0caf3ce4cb6df66e.js"],"/pvt/account/[...unknown]":["static/chunks/pages/pvt/account/[...unknown]-a8bcdec2e6ed7b0e.js"],"/s":[c,s,t,e,u,a,"static/chunks/pages/s-c624c961a98a1be0.js"],"/[slug]/p":[c,s,t,"static/chunks/9666-1bd33f872ad66b42.js","static/css/6cd282d958f613bc.css","static/css/3d7be7043aee15df.css","static/chunks/3166-b1ac316afe18625b.js","static/css/37ee6a2c6adab309.css","static/chunks/pages/[slug]/p-60dd0938ba92424b.js"],"/[...slug]":[c,s,t,e,u,"static/chunks/pages/[...slug]-1e68a914dfca7da9.js"],sortedPages:["/","/404","/500","/_app","/_error","/checkout","/login","/pvt/account","/pvt/account/403","/pvt/account/404","/pvt/account/orders","/pvt/account/orders/[id]","/pvt/account/profile","/pvt/account/security","/pvt/account/user-details","/pvt/account/[...unknown]","/s","/[slug]/p","/[...slug]"]}}("static/chunks/6031-18797e7ebff417ab.js","static/css/0f990bb4836247c7.css","static/chunks/9173-188afceabcbccdbb.js","static/css/2980acad3f8e1028.css","static/css/fe0bcc13a2b68605.css","static/chunks/7191-d39597fc204602cb.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1417],{1417:function(t){t.exports=function(){"use strict";function forEach(t,e){if(t)for(var n in t)({}).hasOwnProperty.call(t,n)&&e(n,t[n])}var t={unstyled:"p","header-one":"h1","header-two":"h2","header-three":"h3","header-four":"h4","header-five":"h5","header-six":"h6","unordered-list-item":"ul","ordered-list-item":"ol",blockquote:"blockquote",code:"pre"};function getBlockTag(e){return e&&t[e]}function getBlockStyle(t){var e="";return forEach(t,function(t,n){n&&(e+="".concat(t,":").concat(n,";"))}),e}function getEntityMarkup(t,e,n,a){var r=t[e];if("function"==typeof a){var c=a(r,n);if(c)return c}if("MENTION"===r.type)return'<a href="'.concat(r.data.url,'" class="wysiwyg-mention" data-mention data-value="').concat(r.data.value,'">').concat(n,"</a>");if("LINK"===r.type){var o=r.data.targetOption||"_self";return'<a href="'.concat(r.data.url,'" target="').concat(o,'">').concat(n,"</a>")}if("IMAGE"===r.type){var s=r.data.alignment;return s&&s.length?'<div style="text-align:'.concat(s,';"><img src="').concat(r.data.src,'" alt="').concat(r.data.alt,'" style="height: ').concat(r.data.height,";width: ").concat(r.data.width,'"/></div>'):'<img src="'.concat(r.data.src,'" alt="').concat(r.data.alt,'" style="height: ').concat(r.data.height,";width: ").concat(r.data.width,'"/>')}return"EMBEDDED_LINK"===r.type?'<iframe width="'.concat(r.data.width,'" height="').concat(r.data.height,'" src="').concat(r.data.src,'" frameBorder="0"></iframe>'):n}function getInlineStyleSections(t,e,n,a){var r=[],c=Array.from(t.text);if(c.length>0)for(var o,s,i,u,l=(o=t.text,s=t.inlineStyleRanges,i={BOLD:Array(o.length),ITALIC:Array(o.length),UNDERLINE:Array(o.length),STRIKETHROUGH:Array(o.length),CODE:Array(o.length),SUPERSCRIPT:Array(o.length),SUBSCRIPT:Array(o.length),COLOR:Array(o.length),BGCOLOR:Array(o.length),FONTSIZE:Array(o.length),FONTFAMILY:Array(o.length),length:o.length},s&&s.length>0&&s.forEach(function(t){for(var e=t.offset,n=e+t.length,a=e;a<n;a+=1)0===t.style.indexOf("color-")?i.COLOR[a]=t.style.substring(6):0===t.style.indexOf("bgcolor-")?i.BGCOLOR[a]=t.style.substring(8):0===t.style.indexOf("fontsize-")?i.FONTSIZE[a]=t.style.substring(9):0===t.style.indexOf("fontfamily-")?i.FONTFAMILY[a]=t.style.substring(11):i[t.style]&&(i[t.style][a]=!0)}),i),h=n;h<a;h+=1)h!==n&&function(t,e,n){var a=!0;return n>0&&n<t.length?e.forEach(function(e){a=a&&t[e][n]===t[e][n-1]}):a=!1,a}(l,e,h)?(u.text.push(c[h]),u.end=h+1):r.push(u={styles:function(t,e){var n={};return t.COLOR[e]&&(n.COLOR=t.COLOR[e]),t.BGCOLOR[e]&&(n.BGCOLOR=t.BGCOLOR[e]),t.FONTSIZE[e]&&(n.FONTSIZE=t.FONTSIZE[e]),t.FONTFAMILY[e]&&(n.FONTFAMILY=t.FONTFAMILY[e]),t.UNDERLINE[e]&&(n.UNDERLINE=!0),t.ITALIC[e]&&(n.ITALIC=!0),t.BOLD[e]&&(n.BOLD=!0),t.STRIKETHROUGH[e]&&(n.STRIKETHROUGH=!0),t.CODE[e]&&(n.CODE=!0),t.SUBSCRIPT[e]&&(n.SUBSCRIPT=!0),t.SUPERSCRIPT[e]&&(n.SUPERSCRIPT=!0),n}(l,h),text:[c[h]],start:h,end:h+1});return r}function getBlockInnerMarkup(t,e,n,a){var r,c,o=[],s=(r=[],c=0,t.entityRanges.map(function(t){return{offset:t.offset,length:t.length,key:t.key,type:"ENTITY"}}).concat(function(t,e){var n=[];if(e){for(var a=0,r=0,c=t,o=e.trigger||"#",s=e.separator||" ";c.length>0&&r>=0;)if(c[0]===o?(r=0,a=0,c=c.substr(o.length)):(r=c.indexOf(s+o))>=0&&(c=c.substr(r+(s+o).length),a+=r+s.length),r>=0){var i=c.indexOf(s)>=0?c.indexOf(s):c.length,u=c.substr(0,i);u&&u.length>0&&n.push({offset:a,length:u.length+o.length,type:"HASHTAG"}),a+=o.length}}return n}(t.text,n)).sort(function(t,e){return t.offset-e.offset}).forEach(function(t){t.offset>c&&r.push({start:c,end:t.offset}),r.push({start:t.offset,end:t.offset+t.length,entityKey:t.key,type:t.type}),c=t.offset+t.length}),c<t.text.length&&r.push({start:c,end:t.text.length}),r);return s.forEach(function(n,r){var c=function(t,e,n,a){var r=[];getInlineStyleSections(t,["COLOR","BGCOLOR","FONTSIZE","FONTFAMILY"],n.start,n.end).forEach(function(e){var n,a;r.push((n=getInlineStyleSections(t,["BOLD","ITALIC","UNDERLINE","STRIKETHROUGH","CODE","SUPERSCRIPT","SUBSCRIPT"],e.start,e.end),a="",n.forEach(function(t){var e,n,r;a+=(e=t.styles,r=(n=t.text)&&n.length>0?n.map(function(t){switch(t){case"\n":return"<br>";case"&":return"&";case"<":return"<";case">":return">";default:return t}}).join(""):"",forEach(e,function(t,e){var n;n=r,r="BOLD"===t?"<strong>".concat(n,"</strong>"):"ITALIC"===t?"<em>".concat(n,"</em>"):"UNDERLINE"===t?"<ins>".concat(n,"</ins>"):"STRIKETHROUGH"===t?"<del>".concat(n,"</del>"):"CODE"===t?"<code>".concat(n,"</code>"):"SUPERSCRIPT"===t?"<sup>".concat(n,"</sup>"):"SUBSCRIPT"===t?"<sub>".concat(n,"</sub>"):n}),r)}),a=function(t,e){if(t&&(t.COLOR||t.BGCOLOR||t.FONTSIZE||t.FONTFAMILY)){var n='style="';return t.COLOR&&(n+="color: ".concat(t.COLOR,";")),t.BGCOLOR&&(n+="background-color: ".concat(t.BGCOLOR,";")),t.FONTSIZE&&(n+="font-size: ".concat(t.FONTSIZE).concat(/^\d+$/.test(t.FONTSIZE)?"px":"",";")),t.FONTFAMILY&&(n+="font-family: ".concat(t.FONTFAMILY,";")),n+='"',"<span ".concat(n,">").concat(e,"</span>")}return e}(e.styles,a)))});var c=r.join("");return"ENTITY"===n.type?void 0!==n.entityKey&&null!==n.entityKey&&(c=getEntityMarkup(e,n.entityKey,c,a)):"HASHTAG"===n.type&&(c='<a href="'.concat(c,'" class="wysiwyg-hashtag">').concat(c,"</a>")),c}(t,e,n,a);0===r&&(c=function(t){if(t){for(var e=t,n=0;n<e.length;n+=1)if(" "===t[n])e=e.replace(" "," ");else break;return e}return t}(c)),r===s.length-1&&(c=function(t){if(t){for(var e=t,n=e.length-1;n>=0;n-=1)if(" "===e[n])e="".concat(e.substring(0,n)," ").concat(e.substring(n+1));else break;return e}return t}(c)),o.push(c)}),o.join("")}function getListMarkup(t,e,n,a,r){var c,o=[],s=[];return t.forEach(function(t){var i=!1;if(c?c.type!==t.type?(o.push("</".concat(getBlockTag(c.type),">\n")),o.push("<".concat(getBlockTag(t.type),">\n"))):c.depth===t.depth?s&&s.length>0&&(o.push(getListMarkup(s,e,n,a,r)),s=[]):(i=!0,s.push(t)):o.push("<".concat(getBlockTag(t.type),">\n")),!i){o.push("<li");var u=getBlockStyle(t.data);u&&o.push(' style="'.concat(u,'"')),a&&o.push(' dir = "auto"'),o.push(">"),o.push(getBlockInnerMarkup(t,e,n,r)),o.push("</li>\n"),c=t}}),s&&s.length>0&&o.push(getListMarkup(s,e,n,a,r)),o.push("</".concat(getBlockTag(c.type),">\n")),o.join("")}return function(t,e,n,a){var r=[];if(t){var c=t.blocks,o=t.entityMap;if(c&&c.length>0){var s=[];if(c.forEach(function(t){var c;if("unordered-list-item"===(c=t.type)||"ordered-list-item"===c)s.push(t);else{if(s.length>0){var i=getListMarkup(s,o,e,a);r.push(i),s=[]}var u=function(t,e,n,a,r){var c,o=[];if(t.entityRanges.length>0&&(null==(c=t.text)||0===c.length||0===c.trim().length||"atomic"===t.type)?0:1){var s=getBlockTag(t.type);if(s){o.push("<".concat(s));var i=getBlockStyle(t.data);i&&o.push(' style="'.concat(i,'"')),a&&o.push(' dir = "auto"'),o.push(">"),o.push(getBlockInnerMarkup(t,e,n,r)),o.push("</".concat(s,">"))}}else o.push(getEntityMarkup(e,t.entityRanges[0].key,void 0,r));return o.push("\n"),o.join("")}(t,o,e,n,a);r.push(u)}}),s.length>0){var i=getListMarkup(s,o,e,n,a);r.push(i),s=[]}}}return r.join("")}}()}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2284],{2284:function(e,t,r){r.r(t),r.d(t,{default:function(){return search_SearchDropdown_SearchDropdown},sendAutocompleteClickEvent:function(){return sendAutocompleteClickEvent}});var a=r(3067),n=r(4235),i=r(1933),o=r(4583),c=r(2174),s=r(757),l=r(9994),u=r(2701),d=r(9482),m=r(1379),f=r(1549);function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,a)}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 search_SearchHistory_SearchHistory=e=>{var t=Object.assign({},e),{values:{onSearchSelection:r}}=(0,i.R)(),{searchHistory:a,clearSearchHistory:n}=(0,m.Z)();return a.length?(0,f.jsx)(u.Z,_objectSpread(_objectSpread({title:"History",onClear:n},t),{},{children:a.map(e=>(0,f.jsx)(d.Z,{value:e.term,linkProps:{href:e.path,onClick:()=>null==r?void 0:r(e.term,e.path)}},e.term))})):null},p=r(3311),h=r(1287),v=r(704),y=r(5487),g=r(2693),b=r(7358),O=y.M,search_useTopSearch=function(){var{channel:e,locale:t}=(0,b.kP)(),{data:r,error:a}=(0,g.aM)(O,{term:"",selectedFacets:[{key:"channel",value:null!=e?e:""},{key:"locale",value:t}]});return{data:r,error:a}},w=["topTerms","sort"];function SearchTop_ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,a)}return r}function SearchTop_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?SearchTop_ownKeys(Object(r),!0).forEach(function(t){(0,a.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):SearchTop_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var search_SearchTop_SearchTop=function(e){var t,{topTerms:r=[],sort:a}=e,o=(0,n.Z)(e,w),{values:{onSearchSelection:c}}=(0,i.R)(),{data:s}=search_useTopSearch(),l=(null!==(t=null==s?void 0:s.search.suggestions.terms)&&void 0!==t?t:r).slice(0,5);return 0===l.length?null:(0,f.jsx)(p.Z,SearchTop_objectSpread(SearchTop_objectSpread({title:"Top Search"},o),{},{children:l.map((e,t)=>(0,f.jsx)(h.Z,{value:e.value,index:t,linkProps:{href:(0,v.u)({term:e.value,sort:a}),onClick:()=>null==c?void 0:c(e.value,(0,v.u)({term:e.value,sort:a}))}},t))}))},E=r(6652),S=r(6035),k=r(9082),j=r(7190),P=r(2614),_=r(7866),Z=r(7859),C=r(4194),x=r(2056),D=r(8687),I=r(9746),q=r(643),R=r(8563),T=r(1090),M=r.n(T),K=["product","index","quickOrderSettings","onChangeCustomSearchDropdownVisible"],V=["href","onClick"];function SearchProductItem_ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,a)}return r}function SearchProductItem_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?SearchProductItem_ownKeys(Object(r),!0).forEach(function(t){(0,a.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):SearchProductItem_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var search_SearchProductItem_SearchProductItem=function(e){var{product:t,index:r,quickOrderSettings:a,onChangeCustomSearchDropdownVisible:o}=e,c=(0,n.Z)(e,K),{values:{term:s,onSearchSelection:l}}=(0,i.R)(),{pushToast:u}=(0,E.l8)(),{__experimentalSKUMatrixSidebar:d}=(0,I.r3)(),m=(0,R.w)({product:t,selectedOffer:0,index:r}),{href:p,onClick:h}=m,v=(0,n.Z)(m,V),{0:y,1:g}=(0,C.useState)(1),{id:b,sku:O,gtin:w,brand:T,isVariantOf:L,isVariantOf:{name:Q},unitMultiplier:B,image:[F],offers:{lowPrice:N,offers:[{listPrice:U,availability:A,price:H,listPriceWithTaxes:G,seller:z,priceWithTaxes:W,quantity:$}]},additionalProperty:J}=t,X=SearchProductItem_objectSpread({href:p,onClick:()=>{var e;h(),null==l||l(Q,p),sendAutocompleteClickEvent({url:p,term:s,position:r,productId:null!==(e=t.isVariantOf.productGroupID)&&void 0!==e?e:t.sku})}},v),Y=(0,C.useMemo)(()=>"https://schema.org/OutOfStock"===A,[A]),ee=(0,C.useMemo)(()=>!!Object.keys(t.isVariantOf.skuVariants.allVariantsByName).length,[t]),et=(0,D.Q)({id:b,price:H,priceWithTaxes:W,listPrice:U,listPriceWithTaxes:G,seller:z,quantity:y,itemOffered:{sku:O,name:Q,gtin:w,image:[F],brand:T,isVariantOf:L,additionalProperty:J,unitMultiplier:B}},!1);return(0,f.jsxs)(S.Z,SearchProductItem_objectSpread(SearchProductItem_objectSpread({linkProps:X},c),{},{children:[(0,f.jsx)(k.Z,{children:(0,f.jsx)(x.Z,{src:F.url,alt:F.alternateName,width:56,height:56})}),(0,f.jsx)(j.Z,{title:Q,price:{value:N,listPrice:U,formatter:q.P},onValidateBlur:(e,t,r)=>u({title:"Invalid quantity!",message:"The quantity you entered is outside the range of ".concat(e," to ").concat(t,". The quantity was set to ").concat(r,"."),status:"INFO",icon:(0,f.jsx)(P.Z,{name:"CircleWavyWarning",width:30,height:30})}),quickOrder:{enabled:null==a?void 0:a.quickOrder,outOfStockLabel:"Out of stock",availability:!Y,hasVariants:ee,buyProps:et,quantity:y,onChangeQuantity:g,max:$,skuMatrixControl:(0,f.jsx)(f.Fragment,{children:(null==a?void 0:a.quickOrder)&&(0,f.jsxs)(_.Z,{children:[(0,f.jsx)(Z.Z,{children:null==a?void 0:a.skuMatrix.triggerButtonLabel}),(0,f.jsx)(d.Component,{overlayProps:{className:M().section},formatter:q.P,columns:null==a?void 0:a.skuMatrix.columns,product:t,status:e=>o("visible"===e)})]})})}})]}))},L=["sort","quickOrderSettings","onChangeCustomSearchDropdownVisible"];function SearchDropdown_ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,a)}return r}function SearchDropdown_objectSpread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?SearchDropdown_ownKeys(Object(r),!0).forEach(function(t){(0,a.Z)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):SearchDropdown_ownKeys(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function sendAutocompleteClickEvent(e){var{url:t,term:a,position:n,productId:i}=e;r.e(6393).then(r.bind(r,6393)).then(e=>{var{sendAnalyticsEvent:r}=e;r({name:"intelligent_search_autocomplete_click",params:{term:a,url:t,productId:i,position:n}})})}var search_SearchDropdown_SearchDropdown=function(e){var{sort:t,quickOrderSettings:r,onChangeCustomSearchDropdownVisible:a}=e,u=(0,n.Z)(e,L),{values:{onSearchSelection:d,products:m,term:p,terms:h}}=(0,i.R)();return(0,f.jsxs)(o.Z,SearchDropdown_objectSpread(SearchDropdown_objectSpread({},u),{},{children:[(0,f.jsx)(search_SearchHistory_SearchHistory,{sort:t}),(0,f.jsx)(search_SearchTop_SearchTop,{sort:t}),(0,f.jsx)(c.Z,{children:null==h?void 0:h.map(e=>{var{value:r}=e;return(0,f.jsx)(s.Z,{term:p,suggestion:r,linkProps:{href:(0,v.u)({term:r,sort:t}),onClick:()=>{null==d||d(p,(0,v.u)({term:p,sort:t})),sendAutocompleteClickEvent({term:p,url:window.location.href})}}},r)})}),(0,f.jsx)(l.Z,{children:m.map((e,t)=>(0,f.jsx)(search_SearchProductItem_SearchProductItem,{product:e,index:t,quickOrderSettings:r,onChangeCustomSearchDropdownVisible:a},e.id))})]}))}},8687:function(e,t,r){r.d(t,{Q:function(){return useBuyButton}});var a=r(4194),n=r(6652),i=r(7358),o=r(1041),useBuyButton=function(e){var t,c=!(arguments.length>1)||void 0===arguments[1]||arguments[1],{openCart:s}=(0,n.l8)(),{currency:{code:l}}=(0,i.kP)(),u=Array.isArray(e);return{onClick:(0,a.useCallback)(t=>{if(t.preventDefault(),e){var a=u?e.reduce((e,t)=>e+=t.price*t.quantity,0):e.price*e.quantity;r.e(6393).then(r.bind(r,6393)).then(t=>{var{sendAnalyticsEvent:r}=t;r({name:"add_to_cart",params:{currency:l,value:a,items:u?e.map(generatedItem):[generatedItem(e)]}})}),u?e.forEach(e=>o.i8.addItem(e)):o.i8.addItem(e),c&&s()}function generatedItem(e){return{item_id:e.itemOffered.isVariantOf.productGroupID,item_name:e.itemOffered.isVariantOf.name,item_brand:e.itemOffered.brand.name,item_variant:e.itemOffered.sku,quantity:e.quantity,price:e.price,discount:e.listPrice-e.price,currency:l,item_variant_name:e.itemOffered.name,product_reference_id:e.itemOffered.gtin}}},[l,e,s,u]),"data-testid":"buy-button","data-sku":u?"sku-matrix-sidebar":null==e?void 0:e.itemOffered.sku,"data-seller":u?null===(t=e[0])||void 0===t?void 0:t.seller.identifier:null==e?void 0:e.seller.identifier}}},643:function(e,t,r){r.d(t,{P:function(){return useFormattedPrice}});var a=r(4194),n=r(7358),usePriceFormatter=function(){var{decimals:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{currency:t,locale:r}=(0,n.kP)();return(0,a.useCallback)(a=>Intl.NumberFormat(r,{style:"currency",currency:t.code,minimumFractionDigits:e?2:0}).format(a),[t.code,r,e])},useFormattedPrice=e=>{var t=usePriceFormatter();return(0,a.useMemo)(()=>t(e),[t,e])}},8563:function(e,t,r){r.d(t,{w:function(){return useProductLink}});var a=r(4194),n=r(7358),useProductLink=e=>{var{index:t,product:i,selectedOffer:o}=e,{slug:c}=i,{currency:{code:s}}=(0,n.kP)(),l=(0,a.useCallback)(()=>{r.e(6393).then(r.bind(r,6393)).then(e=>{var{sendAnalyticsEvent:r}=e;r({name:"select_item",params:{items:[{item_id:i.isVariantOf.productGroupID,item_name:i.isVariantOf.name,item_brand:i.brand.name,item_variant:i.sku,index:t,price:i.offers.offers[o].price,discount:i.offers.offers[o].listPrice-i.offers.offers[o].price,currency:s,item_variant_name:i.name,product_reference_id:i.gtin}]}}),r({name:"search_select_item",params:{url:window.location.href,items:[{item_id:i.isVariantOf.productGroupID,item_variant:i.sku,index:t}]}})})},[s,i,t,o]);return{href:"/".concat(c,"/p"),onClick:l,"data-testid":"product-link"}}},9767:function(e,t,r){var a=r(4194),n=r(5450);let i=(0,a.forwardRef)(function({value:e,as:t="span",variant:r="selling",testId:i="fs-price",formatter:o=e=>e,SRText:c,...s},l){let u=o(e,r);return a.createElement(t,{ref:l,"data-fs-price":!0,"data-fs-price-variant":r,"data-testid":i,...s},c&&a.createElement(n.Z,{text:c}),u)});t.Z=i},5450:function(e,t,r){var a=r(4194);t.Z=function({text:e,as:t}){let r=t??"span";return a.createElement(r,{"data-fs-sr-only":!0},e)}},2955:function(e,t,r){r.d(t,{_:function(){return useSKUMatrix}});var a=r(4194),n=r(3442);function useSKUMatrix(){let e=(0,a.useContext)(n.m);if(!e)throw Error("Do not use SKUMatrix components outside the SKUMatrix context.");return e}},1933:function(e,t,r){r.d(t,{R:function(){return useSearch}});var a=r(4194),n=r(101);let useSearch=()=>{let e=(0,a.useContext)(n.c);return e?{inContext:!0,values:e}:{inContext:!1}}},9088:function(e,t,r){var a=r(4194),n=r(9767);let i=(0,a.forwardRef)(function({testId:e="fs-product-price",value:t,listPrice:r,formatter:i,...o},c){let s=r??0,l=t??0;return a.createElement("div",{ref:c,"data-fs-product-price":!0,"data-testid":e,...o},l!==s&&0!==s?a.createElement(a.Fragment,null,a.createElement(n.Z,{value:s,formatter:i,testId:"list-price","data-value":s,variant:"listing",SRText:"Original price:"}),a.createElement(n.Z,{value:l,formatter:i,testId:"price","data-value":l,variant:"spot",SRText:"Price:"})):a.createElement(n.Z,{value:l,formatter:i,testId:"price","data-value":l,variant:"spot",SRText:"Price:"}))});t.Z=i},6693:function(e,t,r){var a=r(4194),n=r(7041),i=r(2614),o=r(2256);t.Z=({max:e,min:t=1,unitMultiplier:r=1,useUnitMultiplier:c,initial:s,disabled:l=!1,onChange:u,onValidateBlur:d,testId:m="fs-quantity-selector",...f})=>{let[p,h]=(0,a.useState)(s??t),[v,y]=(0,a.useState)(p*r),roundUpQuantityIfNeeded=e=>c?Math.ceil(e/r)*r:e,g=p===t,b=p===e,changeQuantity=e=>{let t=validateQuantityBounds(p+e);u?.(t),h(t),y(t*r)};function validateQuantityBounds(a){let n=t?Math.max(a,t):a;return e?Math.min(n,c?e*r:e):n}return(0,a.useEffect)(()=>{s&&h(s)},[s]),a.createElement("div",{"data-fs-quantity-selector":l?"disabled":"true","data-testid":m,...f},a.createElement(n.Z,{"data-quantity-selector-button":"left",icon:a.createElement(i.Z,{name:"Minus",width:16,height:16,weight:"bold"}),"aria-label":"Decrement Quantity","aria-controls":"quantity-selector-input",disabled:g||l,onClick:()=>changeQuantity(-1),testId:`${m}-left-button`,size:"small"}),a.createElement(o.Z,{"data-quantity-selector-input":!0,id:"quantity-selector-input","aria-label":"Quantity",value:c?v:p,onChange:e=>{let t=e.target.value.replace(/\D/g,"");h(Number(t))},onBlur:function(){let a=validateQuantityBounds(p),n=roundUpQuantityIfNeeded(a),i=e??(t?Math.max(p,t):p),o=p>i||p<t;o&&d?.(t,i,n),h(()=>(y(n),u?.(n/r),n/r))},onInput:e=>{let t=e.currentTarget;t.value=t.value.replace(/\D/g,"")},disabled:l}),a.createElement(n.Z,{"data-quantity-selector-button":"right","aria-controls":"quantity-selector-input","aria-label":"Increment Quantity",disabled:b||l,icon:a.createElement(i.Z,{name:"Plus",width:16,height:16,weight:"bold"}),onClick:()=>changeQuantity(1),testId:`${m}-right-button`,size:"small"}))}},2174:function(e,t,r){var a=r(4194),n=r(1933),i=r(4564);t.Z=({testId:e="fs-search-auto-complete",children:t,...r})=>{let{inContext:o,values:c}=(0,n.R)();return o&&(c.terms.length<=0||c.term.length<=0)?null:a.createElement("section",{"data-testid":e,"data-fs-search-auto-complete":!0,...r},a.createElement(i.Z,{as:"ol"},t))}},757:function(e,t,r){var a=r(4194),n=r(2614),i=r(727);t.Z=({testId:e="fs-search-auto-complete-term",suggestion:t,term:r,linkProps:o,icon:c=a.createElement(n.Z,{name:"MagnifyingGlass",width:18,height:18})})=>{let s=t.toLowerCase().split(r.toLowerCase());return a.createElement("li",{"data-fs-search-auto-complete-item":!0,"data-testid":e},a.createElement(i.Z,{...o,"data-fs-search-auto-complete-item-link":!0,variant:"display"},a.createElement("span",{"data-fs-search-auto-complete-item-icon":!0},c),a.createElement("p",null,s.map((e,n)=>a.createElement(a.Fragment,{key:[e,n].join()},e.length>0&&a.createElement("strong",{"data-fs-search-auto-complete-item-suggestion":!0},0===n?e.charAt(0).toUpperCase()+e.slice(1):e),n!==s.length-1&&(0===n?r.split("").map((e,r)=>0===r&&0===t.indexOf(e.toUpperCase())?e.toUpperCase():e.toLowerCase()).join(""):r.toLowerCase()))))))}},4583:function(e,t,r){var a=r(4194),n=r(1933);let SearchLoading=()=>{let{inContext:e,values:t}=(0,n.R)();return a.createElement(a.Fragment,null,e&&t.isLoading&&a.createElement("p",{"data-fs-search-dropdown-loading-text":!0},"Loading..."))},i=(0,a.forwardRef)(function({testId:e="fs-search-dropdown",children:t,...r},n){return a.createElement("div",{ref:n,"data-fs-search-dropdown":!0,"data-testid":e,...r},a.createElement("section",null,a.createElement(SearchLoading,null),t))});t.Z=i},2701:function(e,t,r){var a=r(4194),n=r(1933),i=r(9009),o=r(4564);t.Z=({testId:e="fs-search-history",title:t="History",clearLabel:r="Clear History",onClear:c,children:s,...l})=>{let{inContext:u,values:d}=(0,n.R)();return u&&(0!==d.term.length||d.isLoading)?null:a.createElement("section",{"data-testid":e,"data-fs-search-history":!0,...l},a.createElement("header",{"data-fs-search-history-header":!0},a.createElement("p",{"data-fs-search-history-title":!0},t),a.createElement(i.Z,{variant:"tertiary",onClick:c,size:"small"},r)),a.createElement(o.Z,{as:"ol"},s))}},9482:function(e,t,r){var a=r(4194),n=r(2614),i=r(727);t.Z=({testId:e="fs-search-history-term",value:t,linkProps:r,icon:o=a.createElement(n.Z,{name:"ClockClockwise",width:18,height:18})})=>a.createElement("li",{"data-fs-search-history-item":!0,"data-testid":e},a.createElement(i.Z,{...r,"data-fs-search-history-item-link":!0,variant:"display"},a.createElement("span",{"data-fs-search-history-item-icon":!0},o),a.createElement("span",null,t)))},6035:function(e,t,r){var a=r(4194),n=r(727);let i=(0,a.forwardRef)(function({testId:e="fs-search-product-item",linkProps:t,children:r},i){return a.createElement("li",{ref:i,"data-fs-search-product-item":!0,"data-testid":e},a.createElement(n.Z,{...t,"data-fs-search-product-item-link":!0,variant:"display"},r))});t.Z=i},7190:function(e,t,r){r.d(t,{Z:function(){return f}});var a=r(4194),n=r(9088),i=r(1667),o=r(2614),c=r(276),s=r(6693),l=r(2256),u=r(7041);let d=(0,a.forwardRef)(function({availability:e,children:t,hasVariants:r,skuMatrixControl:n,quantity:d,outOfStockLabel:m,min:f=1,max:p,onClick:h,onChangeQuantity:v,onValidateBlur:y,...g},b){let[O,w]=(0,a.useState)("default"),E=e&&r;function stopPropagationClick(e){e.preventDefault(),e.stopPropagation()}let S=(0,a.useCallback)(()=>{switch(O){case"inProgress":return a.createElement(i.Z,null);case"completed":return a.createElement(o.Z,{name:"Checked",width:24,height:24});default:return a.createElement(o.Z,{name:"ShoppingCart",width:24,height:24})}},[O]);return a.createElement("div",{ref:b,"data-fs-search-product-item-control":!0,...g},a.createElement("div",{"data-fs-search-product-item-control-content":!0},!e&&a.createElement(c.Z,{"data-fs-search-product-item-control-badge":!0,variant:"warning"},m),t),e&&!r&&a.createElement("div",{"data-fs-search-product-item-control-actions":!0,role:"group","aria-hidden":!0,tabIndex:-1,onKeyDown:()=>{},onClick:stopPropagationClick},a.createElement("div",{"data-fs-search-product-item-control-actions-desktop":!0},a.createElement(s.Z,{disabled:"default"!==O,max:p,onValidateBlur:y,initial:d,onChange:v})),a.createElement("div",{"data-fs-search-product-item-control-actions-mobile":!0},a.createElement(l.Z,{"data-fs-product-item-control-input":!0,min:1,value:d,onChange:e=>v(e.target.value?Number(e.target.value):0),onBlur:function(){let e=p??(f?Math.max(d,f):d),t=d>e||d<f,r=d>e?e:d<f?f:d;t&&y?.(f,e,r),v(r)},onInput:e=>{let t=e.currentTarget;t.value=t.value.replace(/\D/g,"")}})),a.createElement(u.Z,{variant:"primary","aria-label":"Add product to cart",onClick:function(e){h&&(w("inProgress"),setTimeout(()=>{w("completed"),h(e)},1e3),setTimeout(()=>{w("default"),v(1)},2e3))},disabled:"inProgress"===O,icon:S()})),E&&a.createElement("div",{onClick:stopPropagationClick,"aria-hidden":!0,tabIndex:-1,onKeyDown:()=>{}},n))}),m=(0,a.forwardRef)(function({price:e,title:t,quickOrder:r,onValidateBlur:i,...o},c){let s=(0,a.useCallback)(()=>a.createElement(a.Fragment,null,a.createElement("p",{"data-fs-search-product-item-title":!0},t),0!==e.value&&a.createElement(n.Z,{"data-fs-search-product-item-prices":!0,listPrice:e.listPrice,value:e.value,formatter:e.formatter})),[e.formatter,e.listPrice,e.value,t]);return a.createElement("section",{ref:c,"data-fs-search-product-item-content":!0,...o},!r?.enabled&&s(),r?.enabled&&a.createElement(d,{outOfStockLabel:r.outOfStockLabel,availability:r.availability,hasVariants:r.hasVariants,skuMatrixControl:r.skuMatrixControl,quantity:r.quantity,onChangeQuantity:r.onChangeQuantity,max:r.max,onValidateBlur:i,...r.buyProps},s()))});var f=m},9082:function(e,t,r){var a=r(4194);let n=(0,a.forwardRef)(function({testId:e="fs-search-product-item-image",children:t,...r},n){return a.createElement("div",{ref:n,"data-fs-search-product-item-image":!0,"data-testid":e,...r},t)});t.Z=n},9994:function(e,t,r){var a=r(4194),n=r(1933),i=r(4564);t.Z=({testId:e="fs-search-products",title:t="Suggested Products",children:r,...o})=>{let{inContext:c,values:s}=(0,n.R)();return c&&s.products.length<=0?null:a.createElement("section",{"data-testid":e,"data-fs-search-products":!0,...o},a.createElement("header",{"data-fs-search-products-header":!0},a.createElement("p",{"data-fs-search-products-title":!0},t)),a.createElement(i.Z,{as:"ol"},r))}},3311:function(e,t,r){var a=r(4194),n=r(1933),i=r(4564);let o=(0,a.forwardRef)(function({testId:e="fs-top-search",title:t="Top Search",children:r,...o},c){let{inContext:s,values:l}=(0,n.R)();return s&&(0!==l.term.length||l.isLoading)?null:a.createElement("section",{ref:c,"data-testid":e,"data-fs-search-top":!0,...o},a.createElement("header",{"data-fs-search-top-header":!0},a.createElement("p",{"data-fs-search-top-title":!0},t)),a.createElement(i.Z,{as:"ol"},r))});t.Z=o},1287:function(e,t,r){var a=r(4194),n=r(727),i=r(276);let o=(0,a.forwardRef)(function({testId:e="fs-top-search-term",value:t,linkProps:r,index:o},c){return a.createElement("li",{ref:c,"data-fs-search-top-item":!0,"data-testid":e},a.createElement(n.Z,{...r,"data-fs-search-top-item-link":!0,variant:"display"},a.createElement(i.Z,{"data-fs-search-top-item-badge":!0,variant:"info"},o+1),t))});t.Z=o},7866:function(e,t,r){var a=r(4194),n=r(3442);let i=(0,a.forwardRef)(function({testId:e="fs-sku-matrix",children:t,...r},i){return a.createElement("div",{ref:i,"data-fs-sku-matrix":!0,"data-testid":e,...r},a.createElement(n.Z,null,t))});t.Z=i},7859:function(e,t,r){var a=r(4194),n=r(9009),i=r(2955);let o=(0,a.forwardRef)(function({children:e,variant:t="secondary",onClick:r,...o},c){let{setIsOpen:s}=(0,i._)();return a.createElement(n.Z,{ref:c,variant:t,onClick:e=>{s(!0),r?.(e)},...o},e)});t.Z=o},3442:function(e,t,r){r.d(t,{m:function(){return n}});var a=r(4194);let n=(0,a.createContext)(null);t.Z=function({children:e}){let[t,r]=(0,a.useState)(!1),[i,o]=(0,a.useState)([]),c=(0,a.useCallback)((e,t)=>{let r=[...i],a=r.find(t=>t.id===e);return a&&(a.selectedCount=t),o(r),r},[i]);return a.createElement(n.Provider,{value:{isOpen:t,allVariantProducts:i,setAllVariantProducts:o,onChangeQuantityItem:c,setIsOpen:r}},e)}}}]);
|