@faststore/core 2.0.67-alpha.0 → 2.0.70-alpha.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.
Files changed (153) hide show
  1. package/.next/BUILD_ID +1 -0
  2. package/.next/build-manifest.json +103 -0
  3. package/.next/cache/.tsbuildinfo +1 -0
  4. package/.next/cache/config.json +7 -0
  5. package/.next/cache/eslint/.cache_1gneedd +1 -0
  6. package/.next/cache/next-server.js.nft.json +1 -0
  7. package/.next/cache/webpack/client-production/0.pack +0 -0
  8. package/.next/cache/webpack/client-production/index.pack +0 -0
  9. package/.next/cache/webpack/server-production/0.pack +0 -0
  10. package/.next/cache/webpack/server-production/index.pack +0 -0
  11. package/.next/export-marker.json +1 -0
  12. package/.next/images-manifest.json +1 -0
  13. package/.next/next-server.js.nft.json +1 -0
  14. package/.next/package.json +1 -0
  15. package/.next/prerender-manifest.json +1 -0
  16. package/.next/react-loadable-manifest.json +50 -0
  17. package/.next/required-server-files.json +1 -0
  18. package/.next/routes-manifest.json +1 -0
  19. package/.next/server/chunks/104.js +196 -0
  20. package/.next/server/chunks/143.js +106 -0
  21. package/.next/server/chunks/154.js +201 -0
  22. package/.next/server/chunks/183.js +72 -0
  23. package/.next/server/chunks/247.js +61 -0
  24. package/.next/server/chunks/264.js +67 -0
  25. package/.next/server/chunks/280.js +417 -0
  26. package/.next/server/chunks/287.js +79 -0
  27. package/.next/server/chunks/307.js +109 -0
  28. package/.next/server/chunks/312.js +669 -0
  29. package/.next/server/chunks/350.js +120 -0
  30. package/.next/server/chunks/352.js +158 -0
  31. package/.next/server/chunks/371.js +1480 -0
  32. package/.next/server/chunks/394.js +3801 -0
  33. package/.next/server/chunks/439.js +175 -0
  34. package/.next/server/chunks/444.js +464 -0
  35. package/.next/server/chunks/465.js +91 -0
  36. package/.next/server/chunks/528.js +126 -0
  37. package/.next/server/chunks/576.js +72 -0
  38. package/.next/server/chunks/650.js +216 -0
  39. package/.next/server/chunks/676.js +32 -0
  40. package/.next/server/chunks/731.js +282 -0
  41. package/.next/server/chunks/732.js +51 -0
  42. package/.next/server/chunks/746.js +237 -0
  43. package/.next/server/chunks/849.js +665 -0
  44. package/.next/server/chunks/854.js +72 -0
  45. package/.next/server/chunks/859.js +959 -0
  46. package/.next/server/chunks/872.js +378 -0
  47. package/.next/server/chunks/881.js +320 -0
  48. package/.next/server/chunks/898.js +240 -0
  49. package/.next/server/chunks/914.js +96 -0
  50. package/.next/server/chunks/953.js +687 -0
  51. package/.next/server/chunks/98.js +124 -0
  52. package/.next/server/chunks/992.js +562 -0
  53. package/.next/server/chunks/font-manifest.json +1 -0
  54. package/.next/server/font-manifest.json +1 -0
  55. package/.next/server/middleware-build-manifest.js +1 -0
  56. package/.next/server/middleware-manifest.json +6 -0
  57. package/.next/server/middleware-react-loadable-manifest.js +1 -0
  58. package/.next/server/pages/404.js.nft.json +1 -0
  59. package/.next/server/pages/500.js.nft.json +1 -0
  60. package/.next/server/pages/[...slug].js +609 -0
  61. package/.next/server/pages/[...slug].js.nft.json +1 -0
  62. package/.next/server/pages/[slug]/p.js +2563 -0
  63. package/.next/server/pages/[slug]/p.js.nft.json +1 -0
  64. package/.next/server/pages/_app.js +2069 -0
  65. package/.next/server/pages/_app.js.nft.json +1 -0
  66. package/.next/server/pages/_document.js +304 -0
  67. package/.next/server/pages/_document.js.nft.json +1 -0
  68. package/.next/server/pages/_error.js +164 -0
  69. package/.next/server/pages/_error.js.nft.json +1 -0
  70. package/.next/server/pages/account.js.nft.json +1 -0
  71. package/.next/server/pages/api/graphql.js +259 -0
  72. package/.next/server/pages/api/graphql.js.nft.json +1 -0
  73. package/.next/server/pages/api/preview.js +118 -0
  74. package/.next/server/pages/api/preview.js.nft.json +1 -0
  75. package/.next/server/pages/checkout.js.nft.json +1 -0
  76. package/.next/server/pages/en-US/404.html +81 -0
  77. package/.next/server/pages/en-US/500.html +81 -0
  78. package/.next/server/pages/en-US/account.html +81 -0
  79. package/.next/server/pages/en-US/checkout.html +81 -0
  80. package/.next/server/pages/en-US/login.html +81 -0
  81. package/.next/server/pages/en-US/s.html +81 -0
  82. package/.next/server/pages/en-US.html +81 -0
  83. package/.next/server/pages/en-US.json +1 -0
  84. package/.next/server/pages/index.js +407 -0
  85. package/.next/server/pages/index.js.nft.json +1 -0
  86. package/.next/server/pages/login.js.nft.json +1 -0
  87. package/.next/server/pages/s.js.nft.json +1 -0
  88. package/.next/server/pages-manifest.json +16 -0
  89. package/.next/server/webpack-api-runtime.js +229 -0
  90. package/.next/server/webpack-runtime.js +229 -0
  91. package/.next/static/chunks/143.dd8a556e6957baa1.js +1 -0
  92. package/.next/static/chunks/153-a20e3f2da180607e.js +1 -0
  93. package/.next/static/chunks/158.b4898013c4a4f10c.js +1 -0
  94. package/.next/static/chunks/260-994385416f68673d.js +1 -0
  95. package/.next/static/chunks/307.10facde65af3066a.js +1 -0
  96. package/.next/static/chunks/337-12ae3c3ff71e4dcf.js +1 -0
  97. package/.next/static/chunks/351-a4e28d64f48c5269.js +1 -0
  98. package/.next/static/chunks/588.591fb3bf1a136c66.js +1 -0
  99. package/.next/static/chunks/650.32d18858075fbe98.js +1 -0
  100. package/.next/static/chunks/651.7142f31ce1e052b3.js +1 -0
  101. package/.next/static/chunks/686.36adeba271636edd.js +1 -0
  102. package/.next/static/chunks/741.52f7fb873418346f.js +1 -0
  103. package/.next/static/chunks/817-728f854c2948afc0.js +1 -0
  104. package/.next/static/chunks/953.b6387969c2dcdcae.js +1 -0
  105. package/.next/static/chunks/98.97381d2021f86cd9.js +1 -0
  106. package/.next/static/chunks/framework-dfd14d7ce6600b03.js +1 -0
  107. package/.next/static/chunks/main-9746772201fe3ac1.js +1 -0
  108. package/.next/static/chunks/pages/404-ba608a2a9f0c420a.js +1 -0
  109. package/.next/static/chunks/pages/500-910883c20541d9ce.js +1 -0
  110. package/.next/static/chunks/pages/[...slug]-320aee38665be1f9.js +1 -0
  111. package/.next/static/chunks/pages/[slug]/p-d64952a99f04e24d.js +1 -0
  112. package/.next/static/chunks/pages/_app-8bf35fcba4db8198.js +1 -0
  113. package/.next/static/chunks/pages/_error-a7a0c1d9bfbb4f38.js +1 -0
  114. package/.next/static/chunks/pages/account-f19102933e6fd84c.js +1 -0
  115. package/.next/static/chunks/pages/checkout-f8cb7cb22225ef9d.js +1 -0
  116. package/.next/static/chunks/pages/index-d6f91f5ff8ab8b48.js +1 -0
  117. package/.next/static/chunks/pages/login-0b9ea80d9fa0f91b.js +1 -0
  118. package/.next/static/chunks/pages/s-86fe1e3303388123.js +1 -0
  119. package/.next/static/chunks/polyfills-c67a75d1b6f99dc8.js +1 -0
  120. package/.next/static/chunks/webpack-1bf4acba8ca90a1e.js +1 -0
  121. package/.next/static/css/1bc30e7e0de1217d.css +1 -0
  122. package/.next/static/css/43d61b402f41569b.css +1 -0
  123. package/.next/static/css/4d4cbc524ba58b0a.css +1 -0
  124. package/.next/static/css/4d7e7f156483493d.css +1 -0
  125. package/.next/static/css/5f6541bfaaa52b08.css +1 -0
  126. package/.next/static/css/6507cb48401e73a4.css +1 -0
  127. package/.next/static/css/8e980d3191396e67.css +1 -0
  128. package/.next/static/css/bd743407c8049677.css +1 -0
  129. package/.next/static/css/e8f44fcf61ab2e4a.css +1 -0
  130. package/.next/static/css/f03ffa52b8ad3e4c.css +1 -0
  131. package/.next/static/gidMrsbL6xhTavmj2FN7p/_buildManifest.js +1 -0
  132. package/.next/static/gidMrsbL6xhTavmj2FN7p/_ssgManifest.js +1 -0
  133. package/.next/static/media/brandless-neutral.76ddf63a.png +0 -0
  134. package/.next/trace +65 -0
  135. package/.turbo/turbo-build.log +9 -9
  136. package/CHANGELOG.md +12 -0
  137. package/package.json +4 -4
  138. package/public/~partytown/debug/partytown-atomics.js +556 -0
  139. package/public/~partytown/debug/partytown-media.js +374 -0
  140. package/public/~partytown/debug/partytown-sandbox-sw.js +543 -0
  141. package/public/~partytown/debug/partytown-sw.js +59 -0
  142. package/public/~partytown/debug/partytown-ww-atomics.js +1789 -0
  143. package/public/~partytown/debug/partytown-ww-sw.js +1781 -0
  144. package/public/~partytown/debug/partytown.js +72 -0
  145. package/public/~partytown/partytown-atomics.js +2 -0
  146. package/public/~partytown/partytown-media.js +2 -0
  147. package/public/~partytown/partytown-sw.js +2 -0
  148. package/public/~partytown/partytown.js +2 -0
  149. package/src/components/search/SearchProductCard/SearchProductCard.tsx +22 -56
  150. package/src/components/search/search.module.scss +3 -0
  151. package/src/components/ui/Breadcrumb/Breadcrumb.tsx +14 -96
  152. package/src/components/search/SearchProductCard/search-product-card.module.scss +0 -54
  153. package/src/components/ui/Breadcrumb/breadcrumb.module.scss +0 -144
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ exports.id = 350;
3
+ exports.ids = [350];
4
+ exports.modules = {
5
+
6
+ /***/ 9685:
7
+ /***/ ((module, __webpack_exports__, __webpack_require__) => {
8
+
9
+ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
10
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
11
+ /* harmony export */ "h": () => (/* binding */ execute)
12
+ /* harmony export */ });
13
+ /* unused harmony export apiSchema */
14
+ /* harmony import */ var _envelop_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9664);
15
+ /* harmony import */ var _envelop_graphql_jit__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7886);
16
+ /* harmony import */ var _envelop_parser_cache__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4656);
17
+ /* harmony import */ var _envelop_validation_cache__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6093);
18
+ /* harmony import */ var _faststore_api__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5363);
19
+ /* harmony import */ var _faststore_api__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_faststore_api__WEBPACK_IMPORTED_MODULE_4__);
20
+ /* harmony import */ var graphql__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(7343);
21
+ /* harmony import */ var graphql__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(graphql__WEBPACK_IMPORTED_MODULE_5__);
22
+ /* harmony import */ var _generated_graphql_persisted_json__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(6984);
23
+ /* harmony import */ var _faststore_config__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(7183);
24
+ /* harmony import */ var _faststore_config__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_faststore_config__WEBPACK_IMPORTED_MODULE_7__);
25
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_envelop_core__WEBPACK_IMPORTED_MODULE_0__, _envelop_graphql_jit__WEBPACK_IMPORTED_MODULE_1__, _envelop_parser_cache__WEBPACK_IMPORTED_MODULE_2__, _envelop_validation_cache__WEBPACK_IMPORTED_MODULE_3__]);
26
+ ([_envelop_core__WEBPACK_IMPORTED_MODULE_0__, _envelop_graphql_jit__WEBPACK_IMPORTED_MODULE_1__, _envelop_parser_cache__WEBPACK_IMPORTED_MODULE_2__, _envelop_validation_cache__WEBPACK_IMPORTED_MODULE_3__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
27
+ /* eslint-disable react-hooks/rules-of-hooks */
28
+
29
+
30
+
31
+
32
+
33
+
34
+
35
+
36
+ const persistedQueries = new Map(Object.entries(_generated_graphql_persisted_json__WEBPACK_IMPORTED_MODULE_6__));
37
+ const apiOptions = {
38
+ platform: (_faststore_config__WEBPACK_IMPORTED_MODULE_7___default().platform),
39
+ account: (_faststore_config__WEBPACK_IMPORTED_MODULE_7___default().api.storeId),
40
+ environment: (_faststore_config__WEBPACK_IMPORTED_MODULE_7___default().api.environment),
41
+ hideUnavailableItems: (_faststore_config__WEBPACK_IMPORTED_MODULE_7___default().api.hideUnavailableItems),
42
+ channel: (_faststore_config__WEBPACK_IMPORTED_MODULE_7___default().session.channel),
43
+ locale: (_faststore_config__WEBPACK_IMPORTED_MODULE_7___default().session.locale),
44
+ flags: {
45
+ enableOrderFormSync: true
46
+ }
47
+ };
48
+ const apiSchema = (0,_faststore_api__WEBPACK_IMPORTED_MODULE_4__.getSchema)(apiOptions);
49
+ const apiContextFactory = (0,_faststore_api__WEBPACK_IMPORTED_MODULE_4__.getContextFactory)(apiOptions);
50
+
51
+ const formatError = err => {
52
+ if (err instanceof graphql__WEBPACK_IMPORTED_MODULE_5__.GraphQLError && (0,_faststore_api__WEBPACK_IMPORTED_MODULE_4__.isFastStoreError)(err.originalError)) {
53
+ return err;
54
+ }
55
+
56
+ console.error(err);
57
+ return new graphql__WEBPACK_IMPORTED_MODULE_5__.GraphQLError('Sorry, something went wrong.');
58
+ };
59
+
60
+ const getEnvelop = async () => (0,_envelop_core__WEBPACK_IMPORTED_MODULE_0__.envelop)({
61
+ plugins: [(0,_envelop_core__WEBPACK_IMPORTED_MODULE_0__.useAsyncSchema)(apiSchema), (0,_envelop_core__WEBPACK_IMPORTED_MODULE_0__.useExtendContext)(apiContextFactory), (0,_envelop_core__WEBPACK_IMPORTED_MODULE_0__.useMaskedErrors)({
62
+ formatError
63
+ }), (0,_envelop_graphql_jit__WEBPACK_IMPORTED_MODULE_1__.useGraphQlJit)(), (0,_envelop_validation_cache__WEBPACK_IMPORTED_MODULE_3__.useValidationCache)(), (0,_envelop_parser_cache__WEBPACK_IMPORTED_MODULE_2__.useParserCache)()]
64
+ });
65
+
66
+ const envelopPromise = getEnvelop();
67
+ const execute = async (options, envelopContext = {
68
+ headers: {}
69
+ }) => {
70
+ const {
71
+ operationName,
72
+ variables,
73
+ query: maybeQuery
74
+ } = options;
75
+ const query = maybeQuery ?? persistedQueries.get(operationName);
76
+
77
+ if (query == null) {
78
+ throw new Error(`No query found for operationName: ${operationName}`);
79
+ }
80
+
81
+ const enveloped = await envelopPromise;
82
+ const {
83
+ parse,
84
+ contextFactory,
85
+ execute: run,
86
+ schema
87
+ } = enveloped(envelopContext);
88
+ const contextValue = await contextFactory(envelopContext);
89
+ const {
90
+ data,
91
+ errors
92
+ } = await run({
93
+ schema,
94
+ document: parse(query),
95
+ variableValues: variables,
96
+ contextValue,
97
+ operationName
98
+ });
99
+ return {
100
+ data,
101
+ errors,
102
+ extensions: {
103
+ cacheControl: contextValue.cacheControl
104
+ }
105
+ };
106
+ };
107
+ __webpack_async_result__();
108
+ } catch(e) { __webpack_async_result__(e); } });
109
+
110
+ /***/ }),
111
+
112
+ /***/ 6984:
113
+ /***/ ((module) => {
114
+
115
+ module.exports = JSON.parse('{"ProductGalleryQuery":"query ProductGalleryQuery($first: Int!, $after: String!, $sort: StoreSort!, $term: String!, $selectedFacets: [IStoreSelectedFacet!]!) {\\n search(\\n first: $first\\n after: $after\\n sort: $sort\\n term: $term\\n selectedFacets: $selectedFacets\\n ) {\\n products {\\n pageInfo {\\n totalCount\\n }\\n }\\n facets {\\n ... on StoreFacetRange {\\n key\\n label\\n min {\\n selected\\n absolute\\n }\\n max {\\n selected\\n absolute\\n }\\n __typename\\n }\\n ... on StoreFacetBoolean {\\n key\\n label\\n values {\\n label\\n value\\n selected\\n quantity\\n }\\n __typename\\n }\\n }\\n }\\n}\\n","ServerCollectionPageQuery":"query ServerCollectionPageQuery($slug: String!) {\\n collection(slug: $slug) {\\n seo {\\n title\\n description\\n }\\n breadcrumbList {\\n itemListElement {\\n item\\n name\\n position\\n }\\n }\\n meta {\\n selectedFacets {\\n key\\n value\\n }\\n }\\n }\\n}\\n","ServerProductPageQuery":"query ServerProductPageQuery($slug: String!) {\\n product(locator: [{key: \\"slug\\", value: $slug}]) {\\n id: productID\\n seo {\\n title\\n description\\n canonical\\n }\\n brand {\\n name\\n }\\n sku\\n gtin\\n name\\n description\\n releaseDate\\n breadcrumbList {\\n itemListElement {\\n item\\n name\\n position\\n }\\n }\\n image {\\n url\\n alternateName\\n }\\n offers {\\n lowPrice\\n highPrice\\n priceCurrency\\n offers {\\n availability\\n price\\n priceValidUntil\\n priceCurrency\\n itemCondition\\n seller {\\n identifier\\n }\\n listPrice\\n }\\n }\\n isVariantOf {\\n productGroupID\\n name\\n skuVariants {\\n activeVariations\\n slugsMap(dominantVariantName: \\"Color\\")\\n availableVariations(dominantVariantName: \\"Color\\")\\n }\\n }\\n additionalProperty {\\n propertyID\\n name\\n value\\n valueReference\\n }\\n }\\n}\\n","ValidateCartMutation":"mutation ValidateCartMutation($cart: IStoreCart!, $session: IStoreSession!) {\\n validateCart(cart: $cart, session: $session) {\\n order {\\n orderNumber\\n acceptedOffer {\\n seller {\\n identifier\\n }\\n quantity\\n price\\n listPrice\\n itemOffered {\\n sku\\n name\\n image {\\n url\\n alternateName\\n }\\n brand {\\n name\\n }\\n isVariantOf {\\n productGroupID\\n name\\n skuVariants {\\n activeVariations\\n slugsMap(dominantVariantName: \\"Color\\")\\n availableVariations(dominantVariantName: \\"Color\\")\\n }\\n }\\n gtin\\n additionalProperty {\\n propertyID\\n name\\n value\\n valueReference\\n }\\n }\\n }\\n }\\n messages {\\n text\\n status\\n }\\n }\\n}\\n","SubscribeToNewsletter":"mutation SubscribeToNewsletter($data: IPersonNewsletter!) {\\n subscribeToNewsletter(data: $data) {\\n id\\n }\\n}\\n","BrowserProductQuery":"query BrowserProductQuery($locator: [IStoreSelectedFacet!]!) {\\n product(locator: $locator) {\\n id: productID\\n sku\\n name\\n gtin\\n description\\n isVariantOf {\\n name\\n productGroupID\\n skuVariants {\\n activeVariations\\n slugsMap(dominantVariantName: \\"Color\\")\\n availableVariations(dominantVariantName: \\"Color\\")\\n }\\n }\\n image {\\n url\\n alternateName\\n }\\n brand {\\n name\\n }\\n offers {\\n lowPrice\\n offers {\\n availability\\n price\\n listPrice\\n seller {\\n identifier\\n }\\n }\\n }\\n breadcrumbList {\\n itemListElement {\\n item\\n name\\n position\\n }\\n }\\n additionalProperty {\\n propertyID\\n name\\n value\\n valueReference\\n }\\n }\\n}\\n","ProductsQuery":"query ProductsQuery($first: Int!, $after: String, $sort: StoreSort!, $term: String!, $selectedFacets: [IStoreSelectedFacet!]!) {\\n search(\\n first: $first\\n after: $after\\n sort: $sort\\n term: $term\\n selectedFacets: $selectedFacets\\n ) {\\n products {\\n pageInfo {\\n totalCount\\n }\\n edges {\\n node {\\n id: productID\\n slug\\n sku\\n brand {\\n brandName: name\\n name\\n }\\n name\\n gtin\\n isVariantOf {\\n productGroupID\\n name\\n }\\n image {\\n url\\n alternateName\\n }\\n offers {\\n lowPrice\\n offers {\\n availability\\n price\\n listPrice\\n quantity\\n seller {\\n identifier\\n }\\n }\\n }\\n }\\n }\\n }\\n }\\n}\\n","SearchSuggestionsQuery":"query SearchSuggestionsQuery($term: String!, $selectedFacets: [IStoreSelectedFacet!]) {\\n search(first: 5, term: $term, selectedFacets: $selectedFacets) {\\n suggestions {\\n terms {\\n value\\n }\\n products {\\n id: productID\\n slug\\n sku\\n brand {\\n brandName: name\\n name\\n }\\n name\\n gtin\\n isVariantOf {\\n productGroupID\\n name\\n }\\n image {\\n url\\n alternateName\\n }\\n offers {\\n lowPrice\\n offers {\\n availability\\n price\\n listPrice\\n quantity\\n seller {\\n identifier\\n }\\n }\\n }\\n }\\n }\\n }\\n}\\n","TopSearchSuggestionsQuery":"query TopSearchSuggestionsQuery($term: String!, $selectedFacets: [IStoreSelectedFacet!]) {\\n search(first: 5, term: $term, selectedFacets: $selectedFacets) {\\n suggestions {\\n terms {\\n value\\n }\\n }\\n }\\n}\\n","ValidateSession":"mutation ValidateSession($session: IStoreSession!, $search: String!) {\\n validateSession(session: $session, search: $search) {\\n locale\\n channel\\n country\\n postalCode\\n currency {\\n code\\n symbol\\n }\\n person {\\n id\\n email\\n givenName\\n familyName\\n }\\n }\\n}\\n","ShippingSimulationQuery":"query ShippingSimulationQuery($postalCode: String!, $country: String!, $items: [IShippingItem!]!) {\\n shipping(items: $items, postalCode: $postalCode, country: $country) {\\n logisticsInfo {\\n slas {\\n carrier\\n price\\n shippingEstimate\\n localizedEstimates\\n }\\n }\\n address {\\n city\\n neighborhood\\n }\\n }\\n}\\n"}');
116
+
117
+ /***/ })
118
+
119
+ };
120
+ ;
@@ -0,0 +1,158 @@
1
+ exports.id = 352;
2
+ exports.ids = [352];
3
+ exports.modules = {
4
+
5
+ /***/ 7377:
6
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7
+
8
+ "use strict";
9
+
10
+ // EXPORTS
11
+ __webpack_require__.d(__webpack_exports__, {
12
+ "Z": () => (/* binding */ QuantitySelector_QuantitySelector)
13
+ });
14
+
15
+ // EXTERNAL MODULE: external "react"
16
+ var external_react_ = __webpack_require__(6689);
17
+ var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
18
+ // EXTERNAL MODULE: ../components/dist/molecules/IconButton/IconButton.js
19
+ var IconButton = __webpack_require__(2765);
20
+ // EXTERNAL MODULE: ../components/dist/atoms/Input/Input.js
21
+ var Input = __webpack_require__(875);
22
+ ;// CONCATENATED MODULE: ../components/dist/assets/Minus.js
23
+
24
+ // Icon from Phosphor Icons
25
+ const Minus = () => (external_react_default().createElement("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", viewBox: "0 0 256 256", strokeWidth: "24", width: 16, height: 16 },
26
+ external_react_default().createElement("rect", { width: "256", height: "256", fill: "none" }),
27
+ external_react_default().createElement("line", { x1: "40", y1: "128", x2: "216", y2: "128", fill: "none", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round" })));
28
+ /* harmony default export */ const assets_Minus = (Minus);
29
+ //# sourceMappingURL=Minus.js.map
30
+ ;// CONCATENATED MODULE: ../components/dist/assets/Plus.js
31
+
32
+ // Icon from Phosphor Icons
33
+ const Plus = () => (external_react_default().createElement("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", viewBox: "0 0 256 256", strokeWidth: "24", width: 16, height: 16 },
34
+ external_react_default().createElement("rect", { width: "256", height: "256", fill: "none" }),
35
+ external_react_default().createElement("line", { x1: "40", y1: "128", x2: "216", y2: "128", fill: "none", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round" }),
36
+ external_react_default().createElement("line", { x1: "128", y1: "40", x2: "128", y2: "216", fill: "none", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round" })));
37
+ /* harmony default export */ const assets_Plus = (Plus);
38
+ //# sourceMappingURL=Plus.js.map
39
+ ;// CONCATENATED MODULE: ../components/dist/molecules/QuantitySelector/QuantitySelector.js
40
+
41
+
42
+
43
+ const QuantitySelector = ({ max, min = 1, initial, disabled = false, onChange, testId = 'fs-quantity-selector', ...otherProps }) => {
44
+ const [quantity, setQuantity] = (0,external_react_.useState)(initial ?? min);
45
+ const isLeftDisabled = quantity === min;
46
+ const isRightDisabled = quantity === max;
47
+ const changeQuantity = (increaseValue) => {
48
+ const quantityValue = validateQuantityBounds(quantity + increaseValue);
49
+ onChange?.(quantityValue);
50
+ setQuantity(quantityValue);
51
+ };
52
+ const increase = () => changeQuantity(1);
53
+ const decrease = () => changeQuantity(-1);
54
+ function validateQuantityBounds(n) {
55
+ const maxValue = min ? Math.max(n, min) : n;
56
+ return max ? Math.min(maxValue, max) : maxValue;
57
+ }
58
+ function validateInput(e) {
59
+ const val = e.currentTarget.value;
60
+ if (!Number.isNaN(Number(val))) {
61
+ setQuantity(() => {
62
+ const quantityValue = validateQuantityBounds(Number(val));
63
+ onChange?.(quantityValue);
64
+ return quantityValue;
65
+ });
66
+ }
67
+ }
68
+ (0,external_react_.useEffect)(() => {
69
+ initial && setQuantity(initial);
70
+ }, [initial]);
71
+ return (external_react_default().createElement("div", { "data-fs-quantity-selector": disabled ? 'disabled' : 'true', "data-testid": testId, ...otherProps },
72
+ external_react_default().createElement(IconButton/* default */.Z, { "data-quantity-selector-button": "left", icon: external_react_default().createElement(assets_Minus, null), "aria-label": "Decrement Quantity", "aria-controls": "quantity-selector-input", disabled: isLeftDisabled || disabled, onClick: decrease, testId: `${testId}-left-button` }),
73
+ external_react_default().createElement(Input/* default */.Z, { "data-quantity-selector-input": true, id: "quantity-selector-input", "aria-label": "Quantity", value: quantity, onChange: validateInput, disabled: disabled }),
74
+ external_react_default().createElement(IconButton/* default */.Z, { "data-quantity-selector-button": "right", "aria-controls": "quantity-selector-input", "aria-label": "Increment Quantity", disabled: isRightDisabled || disabled, icon: external_react_default().createElement(assets_Plus, null), onClick: increase, testId: `${testId}-right-button` })));
75
+ };
76
+ /* harmony default export */ const QuantitySelector_QuantitySelector = (QuantitySelector);
77
+ //# sourceMappingURL=QuantitySelector.js.map
78
+
79
+ /***/ }),
80
+
81
+ /***/ 7902:
82
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
83
+
84
+ "use strict";
85
+
86
+ // EXPORTS
87
+ __webpack_require__.d(__webpack_exports__, {
88
+ "Z": () => (/* reexport */ ui_Price_Price)
89
+ });
90
+
91
+ // EXTERNAL MODULE: ../components/dist/atoms/SROnly/SROnly.js
92
+ var SROnly = __webpack_require__(2691);
93
+ // EXTERNAL MODULE: ../components/dist/atoms/Price/Price.js
94
+ var Price = __webpack_require__(7549);
95
+ // EXTERNAL MODULE: external "react"
96
+ var external_react_ = __webpack_require__(6689);
97
+ // EXTERNAL MODULE: ./src/components/ui/Price/price.module.scss
98
+ var price_module = __webpack_require__(9204);
99
+ var price_module_default = /*#__PURE__*/__webpack_require__.n(price_module);
100
+ // EXTERNAL MODULE: external "react/jsx-runtime"
101
+ var jsx_runtime_ = __webpack_require__(997);
102
+ ;// CONCATENATED MODULE: ./src/components/ui/Price/Price.tsx
103
+ const _excluded = ["classes", "SRText"];
104
+
105
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
106
+
107
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
108
+
109
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
110
+
111
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
112
+
113
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
114
+
115
+
116
+
117
+
118
+
119
+
120
+
121
+
122
+ function Price_Price(_ref) {
123
+ let {
124
+ classes = '',
125
+ SRText
126
+ } = _ref,
127
+ props = _objectWithoutProperties(_ref, _excluded);
128
+
129
+ return /*#__PURE__*/(0,jsx_runtime_.jsxs)(jsx_runtime_.Fragment, {
130
+ children: [/*#__PURE__*/jsx_runtime_.jsx(SROnly/* default */.Z, {
131
+ text: SRText
132
+ }), /*#__PURE__*/jsx_runtime_.jsx(Price/* default */.Z, _objectSpread({
133
+ "data-fs-price": true,
134
+ className: `${(price_module_default()).fsPrice} ${classes}`
135
+ }, props))]
136
+ });
137
+ }
138
+
139
+ /* harmony default export */ const ui_Price_Price = (/*#__PURE__*/(0,external_react_.memo)(Price_Price));
140
+ ;// CONCATENATED MODULE: ./src/components/ui/Price/index.ts
141
+
142
+
143
+ /***/ }),
144
+
145
+ /***/ 9204:
146
+ /***/ ((module) => {
147
+
148
+ // Exports
149
+ module.exports = {
150
+ "fs-price": "price_fs-price__7Y_0s",
151
+ "fsPrice": "price_fs-price__7Y_0s"
152
+ };
153
+
154
+
155
+ /***/ })
156
+
157
+ };
158
+ ;