@asantemedia-org/edwardsvacuum-design-system 1.6.686 → 1.7.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 (163) hide show
  1. package/README.md +123 -123
  2. package/dist/.next/types/app/api/hello/route.d.ts +9 -0
  3. package/dist/.next/types/app/layout.d.ts +9 -0
  4. package/dist/.next/types/app/page.d.ts +9 -0
  5. package/dist/fonts/calibri.ttf +0 -0
  6. package/dist/fonts/calibrib.ttf +0 -0
  7. package/dist/fonts/calibril.ttf +0 -0
  8. package/dist/index.css +1 -3
  9. package/dist/index.esm.css +1 -3
  10. package/dist/index.esm.js +9 -8
  11. package/dist/index.esm.js.map +1 -1
  12. package/dist/index.js +9 -8
  13. package/dist/index.js.map +1 -1
  14. package/dist/index.scss +1 -3
  15. package/dist/{stories → src/stories}/components/Card/card.types.d.ts +1 -1
  16. package/dist/{stories → src/stories}/experiences/Algolia-dynamic-search/algolia-dynamic-search.types.d.ts +1 -1
  17. package/dist/{stories → src/stories}/experiences/Header/header.content.d.ts +0 -1
  18. package/dist/{stories → src/stories}/experiences/QRFormJourney/Qr-form/i18n.d.ts +5 -0
  19. package/dist/{stories → src/stories}/experiences/Quote/quote.d.ts +0 -1
  20. package/dist/tsconfig.tsbuildinfo +1 -1
  21. package/package.json +121 -121
  22. package/types/@asantemedia-org__edwardsvacuum-design-system.d.ts +5 -5
  23. package/types/assets.d.ts +13 -13
  24. /package/dist/{app → src/app}/api/hello/route.d.ts +0 -0
  25. /package/dist/{app → src/app}/layout.d.ts +0 -0
  26. /package/dist/{app → src/app}/page.d.ts +0 -0
  27. /package/dist/{index.d.ts → src/index.d.ts} +0 -0
  28. /package/dist/{stories → src/stories}/atoms/forms/checkbox/checkbox.d.ts +0 -0
  29. /package/dist/{stories → src/stories}/atoms/forms/checkbox/checkbox.stories.d.ts +0 -0
  30. /package/dist/{stories → src/stories}/atoms/forms/input/input.d.ts +0 -0
  31. /package/dist/{stories → src/stories}/atoms/forms/input/input.stories.d.ts +0 -0
  32. /package/dist/{stories → src/stories}/atoms/forms/select/script.d.ts +0 -0
  33. /package/dist/{stories → src/stories}/atoms/forms/select/select.d.ts +0 -0
  34. /package/dist/{stories → src/stories}/atoms/forms/select/select.stories.d.ts +0 -0
  35. /package/dist/{stories → src/stories}/atoms/forms/text/counrty-selector.d.ts +0 -0
  36. /package/dist/{stories → src/stories}/atoms/forms/text/text.d.ts +0 -0
  37. /package/dist/{stories → src/stories}/atoms/forms/text/text.stories.d.ts +0 -0
  38. /package/dist/{stories → src/stories}/components/AccordionSection/AccordionSection.d.ts +0 -0
  39. /package/dist/{stories → src/stories}/components/AccordionSection/index.d.ts +0 -0
  40. /package/dist/{stories → src/stories}/components/Banner/Banner.d.ts +0 -0
  41. /package/dist/{stories → src/stories}/components/Banner/Banner.stories.d.ts +0 -0
  42. /package/dist/{stories → src/stories}/components/Banner/banner.dialog.d.ts +0 -0
  43. /package/dist/{stories → src/stories}/components/Banner/banner.html.d.ts +0 -0
  44. /package/dist/{stories → src/stories}/components/Button/Button.d.ts +0 -0
  45. /package/dist/{stories → src/stories}/components/Button/Button.stories.d.ts +0 -0
  46. /package/dist/{stories → src/stories}/components/Card/card.d.ts +0 -0
  47. /package/dist/{stories → src/stories}/components/Card/card.stories.d.ts +0 -0
  48. /package/dist/{stories → src/stories}/components/Expert-banner/expert.banner.d.ts +0 -0
  49. /package/dist/{stories → src/stories}/components/Expert-banner/expert.banner.stories.d.ts +0 -0
  50. /package/dist/{stories → src/stories}/components/FacetUnitSelector/FacetUnitSelector.d.ts +0 -0
  51. /package/dist/{stories → src/stories}/components/FacetUnitSelector/index.d.ts +0 -0
  52. /package/dist/{stories → src/stories}/components/Pagination/pagination.d.ts +0 -0
  53. /package/dist/{stories → src/stories}/components/Pagination/pagination.stories.d.ts +0 -0
  54. /package/dist/{stories → src/stories}/components/Pagination/pagination.utils.d.ts +0 -0
  55. /package/dist/{stories → src/stories}/components/Popup/Popup.d.ts +0 -0
  56. /package/dist/{stories → src/stories}/components/Popup/Popup.stories.d.ts +0 -0
  57. /package/dist/{stories → src/stories}/components/Popup/icons/ChevronDown.d.ts +0 -0
  58. /package/dist/{stories → src/stories}/components/Popup/icons/Close.d.ts +0 -0
  59. /package/dist/{stories → src/stories}/components/Popup/popup.dialog.d.ts +0 -0
  60. /package/dist/{stories → src/stories}/components/Popup/popup.html.d.ts +0 -0
  61. /package/dist/{stories → src/stories}/components/Video/Video.d.ts +0 -0
  62. /package/dist/{stories → src/stories}/components/Video/Video.stories.d.ts +0 -0
  63. /package/dist/{stories → src/stories}/experiences/Accordion/accordion.d.ts +0 -0
  64. /package/dist/{stories → src/stories}/experiences/Accordion/accordion.item.d.ts +0 -0
  65. /package/dist/{stories → src/stories}/experiences/Accordion/accordion.stories.d.ts +0 -0
  66. /package/dist/{stories → src/stories}/experiences/Accordion/accordion.types.d.ts +0 -0
  67. /package/dist/{stories → src/stories}/experiences/Accordion/scripts.d.ts +0 -0
  68. /package/dist/{stories → src/stories}/experiences/Algolia-dynamic-search/algolia-dynamic-search-base.d.ts +0 -0
  69. /package/dist/{stories → src/stories}/experiences/Algolia-dynamic-search/algolia-dynamic-search.d.ts +0 -0
  70. /package/dist/{stories → src/stories}/experiences/Algolia-dynamic-search/algolia-dynamic-search.stories.d.ts +0 -0
  71. /package/dist/{stories → src/stories}/experiences/Anchor/anchor.d.ts +0 -0
  72. /package/dist/{stories → src/stories}/experiences/Anchor/anchor.stories.d.ts +0 -0
  73. /package/dist/{stories → src/stories}/experiences/Brand-promise-paragraph/Brand.promise.paragraph.d.ts +0 -0
  74. /package/dist/{stories → src/stories}/experiences/Brand-promise-paragraph/Brand.promise.paragraph.stories.d.ts +0 -0
  75. /package/dist/{stories → src/stories}/experiences/Breadcrumb/breadcrumb.d.ts +0 -0
  76. /package/dist/{stories → src/stories}/experiences/Breadcrumb/breadcrumb.stories.d.ts +0 -0
  77. /package/dist/{stories → src/stories}/experiences/Careers-search/careers-search-results-item.d.ts +0 -0
  78. /package/dist/{stories → src/stories}/experiences/Careers-search/careers-search-results.d.ts +0 -0
  79. /package/dist/{stories → src/stories}/experiences/Careers-search/careers-search.d.ts +0 -0
  80. /package/dist/{stories → src/stories}/experiences/Careers-search/careers-search.stories.d.ts +0 -0
  81. /package/dist/{stories → src/stories}/experiences/Carousel/dynamic/carousel.dynamic.d.ts +0 -0
  82. /package/dist/{stories → src/stories}/experiences/Carousel/dynamic/carousel.dynamic.stories.d.ts +0 -0
  83. /package/dist/{stories → src/stories}/experiences/Carousel/static/carousel.d.ts +0 -0
  84. /package/dist/{stories → src/stories}/experiences/Carousel/static/carousel.stories.d.ts +0 -0
  85. /package/dist/{stories → src/stories}/experiences/Carousel/utils/NextArrow.d.ts +0 -0
  86. /package/dist/{stories → src/stories}/experiences/Carousel/utils/PrevArrow.d.ts +0 -0
  87. /package/dist/{stories → src/stories}/experiences/Download/download-item.d.ts +0 -0
  88. /package/dist/{stories → src/stories}/experiences/Download/download-library.d.ts +0 -0
  89. /package/dist/{stories → src/stories}/experiences/Download/download.stories.d.ts +0 -0
  90. /package/dist/{stories → src/stories}/experiences/Dynamic-list/dynamic.list.d.ts +0 -0
  91. /package/dist/{stories → src/stories}/experiences/Dynamic-list/dynamic.list.stories.d.ts +0 -0
  92. /package/dist/{stories → src/stories}/experiences/Faq/faq.d.ts +0 -0
  93. /package/dist/{stories → src/stories}/experiences/Faq/faq.stories.d.ts +0 -0
  94. /package/dist/{stories → src/stories}/experiences/Footer/footer-links/footer.links.d.ts +0 -0
  95. /package/dist/{stories → src/stories}/experiences/Footer/footer-socials/footer.socials.d.ts +0 -0
  96. /package/dist/{stories → src/stories}/experiences/Footer/footer-subfooter/footer.subfooter.d.ts +0 -0
  97. /package/dist/{stories → src/stories}/experiences/Footer/footer.d.ts +0 -0
  98. /package/dist/{stories → src/stories}/experiences/Footer/footer.model.d.ts +0 -0
  99. /package/dist/{stories → src/stories}/experiences/Footer/footer.stories.d.ts +0 -0
  100. /package/dist/{stories → src/stories}/experiences/Header/header-brand/header.brand.d.ts +0 -0
  101. /package/dist/{stories → src/stories}/experiences/Header/header-button/header.button.d.ts +0 -0
  102. /package/dist/{stories → src/stories}/experiences/Header/header-lang/header.language.switcher.d.ts +0 -0
  103. /package/dist/{stories → src/stories}/experiences/Header/header-megamenu/header.megamenu.d.ts +0 -0
  104. /package/dist/{stories → src/stories}/experiences/Header/header-nav/header.nav.d.ts +0 -0
  105. /package/dist/{stories → src/stories}/experiences/Header/header-search/header.search.d.ts +0 -0
  106. /package/dist/{stories → src/stories}/experiences/Header/header.d.ts +0 -0
  107. /package/dist/{stories → src/stories}/experiences/Header/header.stories.d.ts +0 -0
  108. /package/dist/{stories → src/stories}/experiences/Header/scripts.d.ts +0 -0
  109. /package/dist/{stories → src/stories}/experiences/Header/toggle.d.ts +0 -0
  110. /package/dist/{stories → src/stories}/experiences/Header-twentytwentyfour/button.d.ts +0 -0
  111. /package/dist/{stories → src/stories}/experiences/Header-twentytwentyfour/header.d.ts +0 -0
  112. /package/dist/{stories → src/stories}/experiences/Header-twentytwentyfour/header.stories.d.ts +0 -0
  113. /package/dist/{stories → src/stories}/experiences/Header-twentytwentyfour/list.d.ts +0 -0
  114. /package/dist/{stories → src/stories}/experiences/Interactive-cards/InteractiveCards.d.ts +0 -0
  115. /package/dist/{stories → src/stories}/experiences/Interactive-cards/InteractiveCards.stories.d.ts +0 -0
  116. /package/dist/{stories → src/stories}/experiences/Interactive-cards/icons/ArrowRight.d.ts +0 -0
  117. /package/dist/{stories → src/stories}/experiences/Interactive-cards/icons/ChevronDown.d.ts +0 -0
  118. /package/dist/{stories → src/stories}/experiences/Interactive-cards/icons/Close.d.ts +0 -0
  119. /package/dist/{stories → src/stories}/experiences/Interactive-container/InteractiveContainer.d.ts +0 -0
  120. /package/dist/{stories → src/stories}/experiences/Interactive-container/InteractiveContainer.stories.d.ts +0 -0
  121. /package/dist/{stories → src/stories}/experiences/Interactive-container/utils/ScrollAnimator.d.ts +0 -0
  122. /package/dist/{stories → src/stories}/experiences/Interactive-group/InteractiveGroup.d.ts +0 -0
  123. /package/dist/{stories → src/stories}/experiences/Interactive-group/InteractiveGroup.stories.d.ts +0 -0
  124. /package/dist/{stories → src/stories}/experiences/Interactive-map/Map.d.ts +0 -0
  125. /package/dist/{stories → src/stories}/experiences/Interactive-map/Map.stories.d.ts +0 -0
  126. /package/dist/{stories → src/stories}/experiences/Menu/menu.d.ts +0 -0
  127. /package/dist/{stories → src/stories}/experiences/Menu/menu.model.d.ts +0 -0
  128. /package/dist/{stories → src/stories}/experiences/Menu/menu.stories.d.ts +0 -0
  129. /package/dist/{stories → src/stories}/experiences/Menu/scripts.d.ts +0 -0
  130. /package/dist/{stories → src/stories}/experiences/Numbers/card.d.ts +0 -0
  131. /package/dist/{stories → src/stories}/experiences/Numbers/numbers.d.ts +0 -0
  132. /package/dist/{stories → src/stories}/experiences/Numbers/numbers.stories.d.ts +0 -0
  133. /package/dist/{stories → src/stories}/experiences/QRFormJourney/FormFieldType.d.ts +0 -0
  134. /package/dist/{stories → src/stories}/experiences/QRFormJourney/Friendly-captcha/FriendlyCaptcha.d.ts +0 -0
  135. /package/dist/{stories → src/stories}/experiences/QRFormJourney/NetEaseCaptcha/NetEaseCaptcha.d.ts +0 -0
  136. /package/dist/{stories → src/stories}/experiences/QRFormJourney/Qr-form/Qr-form.d.ts +0 -0
  137. /package/dist/{stories → src/stories}/experiences/QRFormJourney/Qr-form/Qr-form.stories.d.ts +0 -0
  138. /package/dist/{stories → src/stories}/experiences/QRFormJourney/Qr-form-field/Qr-form-field.d.ts +0 -0
  139. /package/dist/{stories → src/stories}/experiences/Quote/quote.stories.d.ts +0 -0
  140. /package/dist/{stories → src/stories}/experiences/Tabs/tabs.d.ts +0 -0
  141. /package/dist/{stories → src/stories}/experiences/Tabs/tabs.scroll.d.ts +0 -0
  142. /package/dist/{stories → src/stories}/experiences/Tabs/tabs.stories.d.ts +0 -0
  143. /package/dist/{stories → src/stories}/experiences/Video-playlist/Video.playlist.d.ts +0 -0
  144. /package/dist/{stories → src/stories}/experiences/Video-playlist/Video.playlist.stories.d.ts +0 -0
  145. /package/dist/{stories → src/stories}/experiences/Video-playlist/video.playlist.dialog.d.ts +0 -0
  146. /package/dist/{stories → src/stories}/experiences/Video-playlist/video.playlist.html.d.ts +0 -0
  147. /package/dist/{stories → src/stories}/experiences/market-picker-prompt/Market.picker.prompt.d.ts +0 -0
  148. /package/dist/{stories → src/stories}/experiences/market-picker-prompt/Market.picker.prompt.stories.d.ts +0 -0
  149. /package/dist/{stories → src/stories}/structure/page/page.dialog.d.ts +0 -0
  150. /package/dist/{stories → src/stories}/structure/page/page.html.d.ts +0 -0
  151. /package/dist/{stories → src/stories}/templates/content.d.ts +0 -0
  152. /package/dist/{stories → src/stories}/templates/content.stories.d.ts +0 -0
  153. /package/dist/{stories → src/stories}/templates/product.d.ts +0 -0
  154. /package/dist/{stories → src/stories}/templates/product.stories.d.ts +0 -0
  155. /package/dist/{utils → src/utils}/components/anchor.links.d.ts +0 -0
  156. /package/dist/{utils → src/utils}/components/anchor.links.script.d.ts +0 -0
  157. /package/dist/{utils → src/utils}/components/swatch.d.ts +0 -0
  158. /package/dist/{utils → src/utils}/components/type.d.ts +0 -0
  159. /package/dist/{utils → src/utils}/content/content.demo.d.ts +0 -0
  160. /package/dist/{utils → src/utils}/content/content.model.d.ts +0 -0
  161. /package/dist/{utils → src/utils}/fontawesome/fac-edwardsicons.d.ts +0 -0
  162. /package/dist/{utils → src/utils}/helpers/formatFacetValue.d.ts +0 -0
  163. /package/dist/{utils → src/utils}/helpers/isMobile.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../node_modules/tslib/tslib.es6.js","../node_modules/classnames/index.js","../src/stories/components/AccordionSection/AccordionSection.tsx","../public/assets/edwards-webshop-placeholder.png","../src/utils/helpers/formatFacetValue.ts","../src/stories/components/FacetUnitSelector/FacetUnitSelector.tsx","../src/stories/components/Card/card.tsx","../src/stories/components/Button/Button.tsx","../src/stories/experiences/Algolia-dynamic-search/algolia-dynamic-search-base.tsx","../src/stories/experiences/Algolia-dynamic-search/algolia-dynamic-search.tsx","../src/stories/experiences/QRFormJourney/FormFieldType.tsx","../src/stories/experiences/QRFormJourney/Qr-form-field/Qr-form-field.tsx","../src/utils/helpers/isMobile.ts","../src/stories/experiences/QRFormJourney/Qr-form/i18n.ts","../src/stories/experiences/QRFormJourney/Friendly-captcha/FriendlyCaptcha.tsx","../src/stories/experiences/QRFormJourney/NetEaseCaptcha/NetEaseCaptcha.tsx","../src/stories/experiences/QRFormJourney/Qr-form/Qr-form.tsx"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import React, { useState, useCallback, useRef, ReactNode } from 'react';\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faChevronDown } from \"@fortawesome/pro-solid-svg-icons\";\nimport './AccordionSection.scss';\n\ninterface AccordionSectionProps {\n title: string;\n children: ReactNode;\n className?: string;\n defaultOpen?: boolean;\n lazyLoad?: boolean;\n}\n\nexport const AccordionSection = ({\n title,\n children,\n className = '',\n defaultOpen = false,\n lazyLoad = false\n}: AccordionSectionProps) => {\n const [isOpen, setIsOpen] = useState(defaultOpen);\n const [hasBeenOpened, setHasBeenOpened] = useState(defaultOpen);\n \n // Prevent rapid clicks\n const isToggling = useRef(false);\n\n const toggleAccordion = useCallback((e: React.MouseEvent | React.KeyboardEvent) => {\n // Stop event propagation to prevent AEM handlers\n e.stopPropagation();\n e.preventDefault();\n \n // Prevent multiple rapid toggles\n if (isToggling.current) return;\n isToggling.current = true;\n \n // Use requestAnimationFrame to defer state update\n requestAnimationFrame(() => {\n setIsOpen(prev => !prev);\n if (!hasBeenOpened) {\n setHasBeenOpened(true);\n }\n \n // Reset toggle lock\n setTimeout(() => {\n isToggling.current = false;\n }, 300);\n });\n }, [hasBeenOpened]);\n\n const handleKeyDown = useCallback((e: React.KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n toggleAccordion(e);\n }\n }, [toggleAccordion]);\n\n // Only render children if not lazy loading, or if accordion has been opened\n const shouldRenderChildren = !lazyLoad || hasBeenOpened;\n\n return (\n <div className={`accordion-section ${className} ${isOpen ? 'open' : ''}`}>\n <h4 \n className=\"accordion-section__header\"\n onClick={toggleAccordion}\n role=\"button\"\n tabIndex={0}\n onKeyDown={handleKeyDown}\n aria-expanded={isOpen}\n >\n <span className=\"accordion-section__title\">{title}</span>\n <span \n className=\"accordion-section__icon\"\n style={{ \n transform: isOpen ? 'rotate(180deg)' : 'rotate(0deg)',\n transition: 'transform 0.2s ease'\n }}\n >\n <FontAwesomeIcon icon={faChevronDown} color=\"#C4262E\" />\n </span>\n </h4>\n {/* Override CSS max-height with inline styles to avoid layout thrashing */}\n <div \n className=\"accordion-section__content\"\n style={{ \n display: isOpen ? 'block' : 'none',\n maxHeight: isOpen ? 'none' : '0',\n overflow: isOpen ? 'visible' : 'hidden'\n }}\n >\n {shouldRenderChildren ? children : null}\n </div>\n </div>\n );\n};\n\n","export default \"3697809e28f9e0fe.png\"","/**\n * Parses delimited facet values into a structured format\n * \n * Input format: \"pressure_psi|2.90#pressure_inHg|5.91#pressure_bar|0.200\"\n * Where:\n * - `#` separates different unit entries\n * - `|` separates the unit key from the value\n */\n\nexport interface ParsedFacetEntry {\n unit: string;\n value: string;\n rawKey: string;\n}\n\n/**\n * Checks if a value is in the delimited facet format\n */\nexport const isDelimitedFacetValue = (value: unknown): boolean => {\n if (typeof value !== 'string') return false;\n // Must contain both # (entry separator) and | (key-value separator)\n return value.includes('#') && value.includes('|');\n};\n\n/**\n * Extracts the display unit from a raw key\n * e.g., \"pressure_psi\" -> \"psi\"\n * e.g., \"volumeFlowRate_l/s\" -> \"l/s\"\n * e.g., \"power_kW\" -> \"kW\"\n */\nconst extractUnit = (rawKey: string): string => {\n const parts = rawKey.split('_');\n if (parts.length > 1) {\n // Return everything after the first underscore (handles units like \"m/³h\")\n return parts.slice(1).join('_');\n }\n return rawKey;\n};\n\n/**\n * Parses a delimited facet string into an array of entries\n */\nexport const parseDelimitedFacetValue = (value: string): ParsedFacetEntry[] => {\n if (!isDelimitedFacetValue(value)) {\n return [];\n }\n\n const entries = value.split('#');\n return entries\n .map((entry) => {\n const [rawKey, val] = entry.split('|');\n if (!rawKey || val === undefined) return null;\n \n return {\n unit: extractUnit(rawKey),\n value: val,\n rawKey,\n };\n })\n .filter((entry): entry is ParsedFacetEntry => entry !== null);\n};\n\n/**\n * Formats a delimited facet value into a human-readable string list\n * Returns null if the value is not in delimited format\n */\nexport const formatFacetValueAsString = (value: unknown): string | null => {\n if (!isDelimitedFacetValue(value)) return null;\n \n const entries = parseDelimitedFacetValue(value as string);\n return entries.map((e) => `${e.value} ${e.unit}`).join(', ');\n};\n\n","import React, { useState, useRef, useCallback } from \"react\";\nimport styles from \"./FacetUnitSelector.module.scss\";\nimport { ParsedFacetEntry } from \"../../../utils/helpers/formatFacetValue\";\n\ninterface FacetUnitSelectorProps {\n entries: ParsedFacetEntry[];\n usePlainClasses?: boolean;\n}\n\n// Utility function to retrieve correct SCSS module class names\nconst getStyle = (className: string) => {\n if (styles[className]) return styles[className];\n const nestedMatch = Object.keys(styles).find((key) =>\n key.includes(className)\n );\n return nestedMatch ? styles[nestedMatch] : \"\";\n};\n\nexport const FacetUnitSelector: React.FC<FacetUnitSelectorProps> = ({\n entries,\n usePlainClasses = false,\n}) => {\n const [selectedIndex, setSelectedIndex] = useState(0);\n const isChanging = useRef(false);\n\n const getClassName = (name: string) =>\n usePlainClasses ? name : getStyle(name);\n\n if (!entries || entries.length === 0) return null;\n\n const selectedEntry = entries[selectedIndex];\n\n const handleUnitChange = useCallback((e: React.ChangeEvent<HTMLSelectElement>) => {\n // Stop event propagation to prevent AEM handlers\n e.stopPropagation();\n \n // Prevent multiple rapid changes\n if (isChanging.current) return;\n isChanging.current = true;\n \n const newIndex = Number(e.target.value);\n \n // Use requestAnimationFrame to defer state update\n requestAnimationFrame(() => {\n setSelectedIndex(newIndex);\n \n // Reset change lock\n setTimeout(() => {\n isChanging.current = false;\n }, 100);\n });\n }, []);\n\n return (\n <div className={getClassName(\"facet-unit-selector\")}>\n <span className={getClassName(\"facet-unit-selector__value\")}>\n {selectedEntry.value}\n </span>\n {entries.length > 1 ? (\n <select\n className={getClassName(\"facet-unit-selector__dropdown\")}\n value={selectedIndex}\n onChange={handleUnitChange}\n aria-label=\"Select unit\"\n >\n {entries.map((entry, index) => (\n <option key={entry.rawKey} value={index}>\n {entry.unit}\n </option>\n ))}\n </select>\n ) : (\n <span className={getClassName(\"facet-unit-selector__unit\")}>\n {selectedEntry.unit}\n </span>\n )}\n </div>\n );\n};\n\nexport default FacetUnitSelector;\n\n","import React from \"react\";\nimport styles from \"./card.module.scss\"; // Importing SCSS Module\nimport classnames from \"classnames\"; // For managing class names dynamically\nimport {CardProps} from \"./card.types\";\nimport {FontAwesomeIcon} from \"@fortawesome/react-fontawesome\";\nimport {faArrowRight, faChevronRight, faPause, faPlay} from \"@fortawesome/pro-solid-svg-icons\";\nimport {AccordionSection} from \"../AccordionSection\";\nimport placholderimg from \"../../../../public/assets/edwards-webshop-placeholder.png\";\nimport {isDelimitedFacetValue, parseDelimitedFacetValue,} from \"../../../utils/helpers/formatFacetValue\";\nimport {FacetUnitSelector} from \"../FacetUnitSelector\";\n\nif (process.env.STORYBOOK === \"true\") {\n require(\"./card.scss\");\n}\n\nconst PLACEHOLDER_INDICATOR = \"?placeholder-storybook\";\n\n// Utility function to retrieve correct SCSS module class names\nconst getStyle = (className: string) => {\n if (styles[className]) return styles[className];\n const nestedMatch = Object.keys(styles).find((key) =>\n key.includes(className)\n );\n return nestedMatch ? styles[nestedMatch] : \"\";\n};\n\nconst cardSizeMapping = (size: any) => {\n let classSrting;\n if (size === \"small\") {\n classSrting = \"col-3\";\n } else if (size === \"medium\") {\n classSrting = \"col-4\";\n } else if (size === \"large\") {\n classSrting = \"col-6\";\n } else {\n classSrting = \"\";\n }\n return classSrting;\n};\n\n// Helper function to check if image is a placeholder (from ACAS-14821)\nconst isPlaceholderImg = (imageUrl?: string): boolean => {\n console.log(imageUrl)\n return !!imageUrl && imageUrl.indexOf(PLACEHOLDER_INDICATOR) > -1;\n};\n\nexport const Card = ({\n contentCategoryLabel,\n className,\n colour,\n date,\n size,\n title,\n cta,\n imageUrl,\n imageAlt,\n cardStyle,\n cardLink,\n city,\n country,\n onClick,\n usePlainClasses = false,\n }: CardProps) => {\n // Helper to get class name - plain or CSS module\n const getClassName = (name: string) => usePlainClasses ? name : getStyle(name);\n\n const mode = usePlainClasses ? `cmp-card--${cardStyle}` : getStyle(`cmp-card--${cardStyle}`);\n const width = cardSizeMapping(size);\n const categoryColour = colour\n ? (usePlainClasses ? `cmp-card__content-category-wrapper__colour-${colour}` : getStyle(`cmp-card__content-category-wrapper__colour-${colour}`))\n : \"\";\n const cardFooterColour = colour\n ? (usePlainClasses ? `cmp-card__footer--color-${colour}` : getStyle(`cmp-card__footer--color-${colour}`))\n : \"\";\n\n // Image placeholder fallback logic from ACAS-14821\n const contentImage = !imageUrl ? placholderimg + PLACEHOLDER_INDICATOR : imageUrl;\n\n return (\n <div\n className={classnames(\n getClassName(\"cmp-card\"),\n mode,\n width,\n className && (usePlainClasses ? className : getStyle(className))\n )}\n >\n <a\n className={getClassName(\"cmp-card__link\")}\n href={cardLink}\n onClick={onClick}\n >\n <div className={getClassName(\"cmp-card__content-wrapper\")}>\n {cardStyle !== \"type-card-panel\" &&\n cardStyle !== \"type-card-no-image\" && (\n <div\n className={`${getClassName(\"cmp-card__image-wrapper\")} ${\n isPlaceholderImg(contentImage) ? getClassName(\"placeholderImage\") : \"\"\n }`}\n >\n <picture>\n <img src={contentImage} alt={imageAlt}/>\n </picture>\n </div>\n )}\n {cardStyle === \"type-card-label\" && (\n <div\n className={classnames(\n getClassName(\"cmp-card__content-category-wrapper\"),\n categoryColour\n )}\n >\n {contentCategoryLabel && <p>{contentCategoryLabel}</p>}\n </div>\n )}\n\n <div className={getClassName(\"cmp-card__title-wrapper\")}>\n {date && <div className={getClassName(\"cmp-card__date\")}>{date}</div>}\n {title && <h4 className={getClassName(\"cmp-card__title\")}>{title}</h4>}\n {(city || country) && (\n <p className={getClassName(\"cmp-card__city-country\")}>\n {city} {city && country ? \", \" : \"\"} {country}\n </p>\n )}\n\n {cardStyle === \"type-card-panel\" ? (\n <span\n className={classnames(\n getClassName(\"cmp-card__footer\"),\n cardFooterColour\n )}\n >\n <FontAwesomeIcon icon={faChevronRight}/>\n </span>\n ) : cardStyle === \"label\" ? (\n <span className={getClassName(\"cmp-card__footer\")}>\n <FontAwesomeIcon icon={faArrowRight}/>\n </span>\n ) : (\n <span className={getClassName(\"cmp-card__footer\")}>\n <span>{cta}</span>\n </span>\n )}\n </div>\n </div>\n </a>\n </div>\n );\n};\n\nexport const ProductCard = ({\n className,\n size,\n title,\n imageUrl,\n imageAlt,\n showImage = true,\n productPrice,\n showProductPrice,\n cardLink,\n cta,\n cardStyle,\n onClick,\n usePlainClasses = false,\n }: CardProps) => {\n // Helper to get class name - plain or CSS module\n const getClassName = (name: string) => usePlainClasses ? name : getStyle(name);\n\n const width = cardSizeMapping(size);\n const mode = usePlainClasses ? `cmp-card--${cardStyle}` : getStyle(`cmp-card--${cardStyle}`);\n\n // Image placeholder fallback logic from ACAS-14821\n const productImage = !imageUrl || imageUrl === 'https://uk.my.edwardsvacuum.com?placeholder-storybook'\n ? placholderimg.src + PLACEHOLDER_INDICATOR\n : imageUrl;\n\n return (\n <div className={classnames(getClassName(\"cmp-card\"), mode, width, className)}>\n <a\n href={cardLink}\n className={getClassName(\"cmp-card__link\")}\n onClick={onClick}\n target=\"_blank\"\n >\n <div\n className={classnames(getClassName(\"cmp-card--type-card-product__wrapper\"), showImage ? \"\" : getClassName(\"cmp-card--type-card-product-no-image__wrapper\"))}>\n {showImage && (\n <div className={getClassName(\"cmp-card--type-card-product__image\")}>\n <figure>\n <img\n src={productImage}\n alt={imageAlt}\n className={isPlaceholderImg(productImage) ? \"placeholderImage\" : ''}\n />\n </figure>\n </div>\n )}\n <div className={getClassName(\"cmp-card--type-card-product__meta\")}>\n <p className={getClassName(\"cmp-card--type-card-product__title\")}>\n {title}\n </p>\n {productPrice && showProductPrice !== false ? (\n <p className={getClassName(\"cmp-card--type-card-product__prices\")}>\n {productPrice}\n </p>\n ) : (\n \"\"\n )}\n <p className={getClassName(\"cmp-card--type-card-product__cta\")}>\n {cta ? cta : <FontAwesomeIcon icon={faArrowRight}/>}\n </p>\n </div>\n </div>\n </a>\n </div>\n );\n};\n\nexport const VideoCard = ({\n className,\n title,\n imageUrl,\n imageAlt,\n cardStyle,\n duration,\n videoSrc,\n videoTitle,\n videoThumbnail,\n onClick,\n }: CardProps) => {\n return (\n <div\n className={classnames(\n className,\n getStyle(\"cmp-video-playlist__card\"),\n getStyle(`cmp-video-playlist__card--${cardStyle}`)\n )}\n data-videothumbnail={videoThumbnail}\n data-videosrc={videoSrc}\n data-videotitle={videoTitle}\n tabIndex={0}\n onClick={onClick}\n >\n <div className={getStyle(\"cmp-video-playlist__card__thumbnail\")}>\n <img src={imageUrl} alt={imageAlt} loading=\"lazy\"/>\n </div>\n\n <div className={getStyle(\"cmp-video-playlist__card__info\")}>\n <div className={getStyle(\"cmp-video-playlist__card__info__title\")}>\n <h6>{title}</h6>\n </div>\n\n <div className={getStyle(\"cmp-video-playlist__card__info__bottom\")}>\n <div className={getStyle(\"cmp-video-playlist__card__info__duration\")}>\n <span\n className={getStyle(\n \"cmp-video-playlist__card__info__duration-current\"\n )}\n ></span>\n <span\n className={getStyle(\n \"cmp-video-playlist__card__info__duration-total\"\n )}\n >\n {duration}\n </span>\n </div>\n <div className={getStyle(\"cmp-video-playlist__card__info__icons\")}>\n <div\n className={getStyle(\n \"cmp-video-playlist__card__info__icons--play\"\n )}\n >\n <FontAwesomeIcon icon={faPlay}/>\n </div>\n <div\n className={getStyle(\n \"cmp-video-playlist__card__info__icons--pause\"\n )}\n >\n <FontAwesomeIcon icon={faPause}/>\n </div>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\n// Maximum spares to render to prevent browser freeze\nconst MAX_SPARES_TO_RENDER = 20;\n\nexport const ProductDetailsCard = ({\n className,\n title,\n imageUrl,\n imageAlt,\n onClick,\n hit,\n facets,\n usePlainClasses = false,\n ProductCardComponent,\n hidespares,\n }: CardProps) => {\n // Helper to get class name - plain or CSS module\n const getClassName = (name: string) => usePlainClasses ? name : getStyle(name);\n const hideSparesBool = hidespares === \"true\";\n // Use custom ProductCard if provided, otherwise use default\n const SpareCard = ProductCardComponent || ProductCard;\n\n // transfomr hidespares to a boolean\n console.log(\"hidespares\", hidespares);\n console.log(\"hideSparesBool\", hideSparesBool);\n // Memoize spares rendering with a limit to prevent freeze\n const renderSpares = () => {\n if (!hit?.spares || !Array.isArray(hit.spares) || hit.spares.length === 0) return null;\n\n // Limit the number of spares to prevent freeze\n const sparesToRender = hit.spares.slice(0, MAX_SPARES_TO_RENDER);\n\n return (<ul className={getClassName(\"folding-spares-list\")}>\n {sparesToRender.map((spare: any, index: number) => {\n // Safety check - skip if spare is not a valid object\n if (!spare || typeof spare !== 'object') return null;\n\n return (\n <li key={spare.objectID || spare.code || `spare-${index}`}>\n <SpareCard\n cardStyle=\"type-card-product\"\n className={getClassName(\"cmp-card\")}\n title={spare.name || 'Spare Part'}\n imageUrl={spare['img-product'] || spare.image || ''}\n imageAlt={spare.name || 'Spare Part'}\n productPrice={spare.priceValue || spare.price || '$450.00'}\n showProductPrice={true}\n cardLink={spare.url || spare.link || '#'}\n cta=\"Go to webshop\"\n showImage={false}\n usePlainClasses={usePlainClasses}\n spare={spare}\n />\n </li>\n );\n })}\n {hit.spares.length > MAX_SPARES_TO_RENDER && (\n <li className={getClassName(\"folding-spares-list__more\")}>\n +{hit.spares.length - MAX_SPARES_TO_RENDER} more items\n </li>\n )}\n </ul>);\n };\n\n return (\n <div className={getClassName(\"cmp-card--type-product_details\")}>\n <div className={getClassName(\"cmp-card--type-product_details__product-info\")}>\n <div className={getClassName(\"cmp-card--type-product_details__header\")}>\n <h3 className={getClassName(\"cmp-card--type-product_details__header__title\")}>\n {title}\n </h3>\n <p className={getClassName(\"cmp-card--type-product_details__header__product-code\")}>\n Product: {hit?.code}\n </p>\n <img\n src={hit?.image}\n alt={imageAlt}\n className={getClassName(\"cmp-card--type-product_details__header__product-image\")}\n />\n </div>\n {facets && (\n <AccordionSection\n title=\"Specifications\"\n className={getClassName(\"folding-specification-holder\")}\n defaultOpen={true}\n >\n <ul className={getClassName(\"folding-specification-list\")}>\n {facets &&\n facets.map((facet) => {\n const facetValue = hit[facet.name];\n if (!facetValue) return null;\n\n // Check if value is in delimited format (e.g., \"pressure_psi|2.90#pressure_bar|0.200\")\n const isDelimited = isDelimitedFacetValue(facetValue);\n\n return (\n <li key={facet.name}>\n <strong>{facet.label}</strong>\n <br/>\n {facet.returnsHTML ? (\n <span\n dangerouslySetInnerHTML={{\n __html: facetValue,\n }}\n />\n ) : isDelimited ? (\n <FacetUnitSelector\n entries={parseDelimitedFacetValue(facetValue)}\n usePlainClasses={usePlainClasses}\n />\n ) : (\n facetValue\n )}\n </li>\n );\n })}\n </ul>\n </AccordionSection>\n )}\n </div>\n {\n hideSparesBool ? null : (\n <div className={getClassName(\"cmp-card--type-product_details__spares-list\")}>\n {hit?.spares && hit.spares.length > 0 && (\n <AccordionSection\n title=\"Spares & Parts\"\n className={getClassName(\"folding-spares-holder\")}\n lazyLoad={true}\n defaultOpen={true}\n >\n {renderSpares()}\n </AccordionSection>\n )}\n </div>\n )\n }\n </div>\n );\n};\n","import React from 'react';\nimport styles from './Button.module.scss';\n\nif (process.env.STORYBOOK === 'true') {\n require('./button.scss');\n}\n\ninterface ButtonProps extends React.HTMLAttributes<HTMLElement> {\n className?: string;\n style?: React.CSSProperties;\n buttonStyle?: string;\n label?: string;\n element?: 'button' | 'a';\n onClick?: (() => void) | ((ev: any) => void);\n href?: string;\n target?: string;\n rel?: string;\n type?: string;\n ['data-target-selector']?: string;\n}\n\n// Utility to safely retrieve SCSS class names\nconst getStyle = (className: string) => {\n if (styles[className]) return styles[className];\n const nestedMatch = Object.keys(styles).find((key) => key.includes(className));\n return nestedMatch ? styles[nestedMatch] : '';\n};\n\nexport const Button = ({\n className = '',\n buttonStyle,\n label,\n element,\n onClick,\n href,\n target,\n rel,\n type = 'button',\n ['data-target-selector']: dataTargetSelector,\n ...props\n }: ButtonProps) => {\n const mode = buttonStyle ? getStyle(`cmp-button--style-${buttonStyle}`) : '';\n const baseClass = getStyle('cmp-button');\n\n // Add js-modal class if data-target-selector is present\n const conditionalClasses = [\n baseClass,\n mode,\n className,\n dataTargetSelector ? 'js-modal' : ''\n ].filter(Boolean).join(' ').trim();\n\n // Infer element type\n const inferredElement: 'a' | 'button' = element\n || (href || dataTargetSelector ? 'a' : 'button');\n\n if (inferredElement === 'a') {\n return (\n <a\n className={conditionalClasses}\n href={href}\n target={target}\n rel={rel}\n data-target-selector={dataTargetSelector}\n {...props}\n >\n {label}\n </a>\n );\n }\n\n return (\n <button\n className={conditionalClasses}\n type={type as 'button' | 'submit' | 'reset'}\n onClick={onClick}\n {...props}\n >\n {label}\n </button>\n );\n};","import React, {HTMLAttributes, ReactNode, useCallback, useMemo} from \"react\";\nimport {AlgoliaDynamicSearchProps} from \"./algolia-dynamic-search.types\";\nimport {\n Card as DefaultCard,\n ProductCard as DefaultProductCard,\n ProductDetailsCard as DefaultProductDetailsCard,\n} from \"../../components/Card/card\";\nimport {Button as DefaultButton} from \"../../components/Button/Button\";\n\nif (process.env.STORYBOOK === \"true\") {\n require(\"./algolia-dynamic-search.scss\");\n}\n\nconst PRODUCT_DETAILS = \"productDetails\";\n\nexport interface DynamicHeadingProps\n extends HTMLAttributes<HTMLHeadingElement> {\n titleSize?: \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\";\n children?: ReactNode;\n}\n\nconst DynamicHeading: React.FC<DynamicHeadingProps> = ({\n titleSize = \"h2\",\n children,\n ...props\n }: DynamicHeadingProps) => {\n const Tag = [\"h2\", \"h3\", \"h4\", \"h5\", \"h6\"].includes(titleSize)\n ? titleSize\n : \"h2\";\n return <Tag {...props}>{children}</Tag>;\n};\n\nconst getCallToActionProps = (type: string | undefined, url: string) => {\n const callType = type?.toLowerCase();\n let finalUrl = url || \"\";\n let target = \"\";\n\n switch (callType) {\n case \"external\":\n target = \"_blank\";\n break;\n case \"email\":\n finalUrl = `mailto:${url}`;\n break;\n case \"phone\":\n finalUrl = `tel:${url}`;\n break;\n case \"internal\":\n default:\n // target remains empty, for same-window navigation\n break;\n }\n\n return {finalUrl, target};\n};\n\nexport const AlgoliaDynamicSearch = (\n {\n className = \"\",\n heading,\n titleSize,\n subtext,\n callToActionType,\n callToActionText,\n callToActionUrl,\n callToActionTargetSelector,\n queryType = \"unknown\",\n hits,\n hitCta,\n showProductPrice,\n query,\n hidespares,\n backgroundColour = \"\",\n maxResults = 10,\n isLoading = false,\n analytics,\n facets,\n innerComponents,\n }: AlgoliaDynamicSearchProps,\n useScopedStyles?: boolean,\n styles?: Record<string, string>\n) => {\n // Extract components from innerComponents with defaults\n\n const Card = innerComponents?.Card || DefaultCard;\n 3\n const ProductCard = innerComponents?.ProductCard || DefaultProductCard;\n const ProductDetailsCard =\n innerComponents?.ProductDetailsCard || DefaultProductDetailsCard;\n const Button = innerComponents?.Button || DefaultButton;\n\n // Helper to resolve CSS module class names properly\n const getClass = useCallback(\n (suffix: string) => {\n const fullClassName = `cmpAlgoliaDynamicSearchWidget${suffix}`;\n return useScopedStyles && styles ? styles[fullClassName] : fullClassName;\n },\n [useScopedStyles, styles]\n );\n\n // Helper for modifier classes (without the base prefix)\n const getModifierClass = useCallback(\n (modifier: string) => {\n return useScopedStyles && styles ? styles[modifier] : modifier;\n },\n [useScopedStyles, styles]\n );\n\n // Memoize background styling to prevent re-renders\n const widgetStyleProps = useMemo(() => {\n const backgroundStyles: {\n [key: string]: {\n buttonStyle: string;\n containerBackground: string;\n textColour: string;\n };\n } = {\n \"dark-grey\": {\n buttonStyle: \"outlineWhite\",\n containerBackground: getModifierClass(\"hasStyleGreyBackground\"),\n textColour: \"white\",\n },\n silver: {\n buttonStyle: \"primary\",\n containerBackground: getModifierClass(\n \"hasStyleSilverGradientBackground\"\n ),\n textColour: \"black\",\n },\n };\n return (\n backgroundStyles[backgroundColour.toLowerCase()] || {\n buttonStyle: \"primary\",\n containerBackground: \"\",\n textColour: \"black\",\n }\n );\n }, [backgroundColour, getModifierClass]);\n\n if (!hits || hits.length === 0) {\n return null;\n }\n\n const baseClass = getClass(\"\");\n\n // Memoize wrapper class names\n const wrapperClasses = useMemo(\n () =>\n [\n baseClass,\n widgetStyleProps.containerBackground,\n isLoading ? getModifierClass(\"isLoading\") : \"\",\n queryType === \"content\" ? getModifierClass(\"isQueryContent\") : \"\",\n ]\n .filter(Boolean)\n .join(\" \"),\n [\n baseClass,\n widgetStyleProps.containerBackground,\n isLoading,\n queryType,\n getModifierClass,\n ]\n );\n\n return (\n <div className={wrapperClasses}>\n {isLoading && (\n <div className={getClass(\"__placeholder\")}>\n <div className={getClass(\"__placeholder__loading\")}></div>\n </div>\n )}\n\n <div className={getClass(\"__container\")}>\n {queryType != PRODUCT_DETAILS && (\n <>\n <div className={getClass(\"__header\")}>\n <div className={getClass(\"__header__text\")}>\n <DynamicHeading titleSize={titleSize}>{heading}</DynamicHeading>\n <p>{subtext}</p>\n </div>\n {callToActionUrl && (\n <div className={getClass(\"__header__cta\")}>\n {(() => {\n const {finalUrl, target} = getCallToActionProps(\n callToActionType,\n callToActionUrl\n );\n const isAnchor =\n !!callToActionTargetSelector ||\n callToActionType?.toLowerCase() !== \"internal\";\n\n return (\n <Button\n element={isAnchor ? \"a\" : \"button\"}\n buttonStyle={widgetStyleProps?.buttonStyle}\n label={callToActionText}\n href={isAnchor ? finalUrl : undefined}\n target={target}\n rel={\n target === \"_blank\"\n ? \"noopener noreferrer\"\n : undefined\n }\n data-target-selector={callToActionTargetSelector}\n onClick={\n !isAnchor\n ? () => {\n if (finalUrl) {\n window.open(\n finalUrl,\n target || \"_self\",\n target === \"_blank\"\n ? \"noopener,noreferrer\"\n : undefined\n );\n }\n }\n : undefined\n }\n />\n );\n })()}\n </div>\n )}\n </div>\n </>\n )}\n <div\n className={\n queryType == PRODUCT_DETAILS\n ? getClass(\"__cards__cardSingle\")\n : getClass(\"__cards\")\n }\n >\n {hits.slice(0, maxResults).map((hit: any, index: number) => {\n let Component = Card;\n let title = hit.title;\n let cardStyle = \"\";\n let imageUrl = hit.image;\n\n const hitUtm = new URLSearchParams({\n utm_source: \"web\",\n utm_medium: \"alg\",\n utm_campaign: query || \"dynamic search\",\n }).toString();\n\n let separator = hit.link.includes(\"?\") ? \"&\" : \"?\";\n let cardLink = `${hit.link}${separator}${hitUtm}`;\n\n let contentCategoryLabel = hit.contentCategoryLabel || \"\";\n let contentCategoryColour = hit.contentCategoryColour || \"\";\n let price = showProductPrice ? hit.price : \"\";\n\n let cardClassName = styles?.cmpCard;\n\n switch (queryType) {\n case \"products\":\n Component = ProductCard;\n cardStyle = \"type-card-product\";\n break;\n case \"content\":\n cardStyle = \"type-card-label\";\n break;\n case \"careers\":\n cardStyle = \"type-card-panel\";\n cardClassName = `cmp-card--type-careers`;\n imageUrl = \"\";\n break;\n case PRODUCT_DETAILS:\n cardStyle = \"type-card-panel\";\n Component = ProductDetailsCard;\n break;\n default:\n return null;\n }\n\n // Only create onClick handler if analytics is provided\n const handleClick = analytics\n ? () => {\n const {objectID, __position, __queryID} = hit;\n analytics(objectID, __queryID, __position);\n }\n : undefined;\n\n return (\n <>\n <Component\n key={hit.objectID || index}\n className={cardClassName}\n title={title}\n imageUrl={imageUrl}\n hit={hit}\n cta={hitCta}\n size=\"\"\n cardStyle={cardStyle}\n facets={facets}\n contentCategoryLabel={contentCategoryLabel}\n colour={contentCategoryColour}\n productPrice={price}\n showProductPrice={showProductPrice}\n cardLink={cardLink}\n city={hit.city}\n hidespares={hidespares}\n country={hit.country}\n onClick={handleClick}\n />\n </>\n );\n })}\n </div>\n </div>\n </div>\n );\n};\n\nexport default AlgoliaDynamicSearch;\n","import AlgoBase from \"./algolia-dynamic-search-base\";\nimport styles from './algolia-dynamic-search.module.scss';\nimport { AlgoliaDynamicSearchProps, InnerComponents } from \"./algolia-dynamic-search.types\";\nimport { Card, ProductCard, ProductDetailsCard } from \"../../components/Card/card\";\nimport { Button } from \"../../components/Button/Button\";\n\n// Edwards-specific components\nconst edwardsComponents: InnerComponents = {\n Card,\n ProductCard,\n ProductDetailsCard,\n Button,\n};\n\nexport const AlgoliaDynamicSearchEdwards = (props: AlgoliaDynamicSearchProps) => {\n return AlgoBase({...props, innerComponents: edwardsComponents}, true, styles);\n};\n\nexport const AlgoliaDynamicSearchRaw = (props: AlgoliaDynamicSearchProps) => {\n return AlgoBase(props, false);\n};\n","import React from 'react';\nimport { PhoneInput } from 'react-international-phone';\n// Note: Consumer apps need to import 'react-international-phone/style.css' \n// or include equivalent styles for the phone input to display correctly\n\ninterface FormFieldBase {\n name: string;\n label?: string | React.ReactNode;\n id?: string;\n required?: boolean;\n hasError?: boolean;\n value?: string;\n placeholder?: string;\n errorMessage?: string;\n isDisabled?: boolean;\n onChange?: (e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement>) => void; // Add onChange\n checked?: boolean; // For checkboxes\n}\n\ninterface TextField extends FormFieldBase {\n type: \"text\" | \"email\" | \"textarea\";\n placeholder?: string;\n maxLength?: number;\n regex?: string;\n}\n\ninterface TelField extends FormFieldBase {\n type: \"tel\";\n placeholder?: string;\n defaultCountry?: string;\n onPhoneChange?: (phone: string) => void;\n regex?: string;\n}\n\ninterface HiddenField extends FormFieldBase {\n type: \"hidden\";\n}\n\ninterface SelectField extends FormFieldBase {\n type: \"select\";\n options?: option[];\n}\ninterface InfoField extends FormFieldBase {\n type: \"info\";\n}\n\ninterface option {\n value: string;\n label: string;\n disabled?: boolean;\n selected?: boolean;\n}\n\ninterface NumberField extends FormFieldBase {\n type: \"number\";\n min?: number;\n max?: number;\n step?: number;\n regex?: string;\n}\n\ninterface CheckboxField extends FormFieldBase {\n type: \"checkbox\";\n checked?: boolean; // Make checked explicit for checkbox\n}\n\nexport type FormFieldType = TextField | TelField | NumberField | CheckboxField | HiddenField | SelectField | InfoField;\n\nfunction RenderField(field: FormFieldType & {\n onChange?: (e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement>) => void;\n onPhoneChange?: (phone: string) => void;\n id?: string; // Add id prop here to pass to input\n}) {\n switch (field.type) {\n case \"text\":\n case \"email\":\n return <input\n value={field.value}\n name={field.name}\n type={field.type}\n placeholder={field.placeholder}\n disabled={field.isDisabled}\n onChange={field.onChange}\n id={field.id}\n maxLength={field.maxLength}\n />;\n case \"tel\":\n return <PhoneInput\n value={field.value || ''}\n onChange={(phone) => {\n if (field.onPhoneChange) {\n field.onPhoneChange(phone);\n } else if (field.onChange) {\n // Create a synthetic event for backwards compatibility\n const syntheticEvent = {\n target: { name: field.name, value: phone }\n } as React.ChangeEvent<HTMLInputElement>;\n field.onChange(syntheticEvent);\n }\n }}\n defaultCountry={field.defaultCountry || 'gb'}\n disabled={field.isDisabled}\n placeholder={field.placeholder}\n inputProps={{\n id: field.id,\n name: field.name\n }}\n />;\n case \"textarea\":\n return <textarea\n value={field.value}\n name={field.name}\n placeholder={field.placeholder}\n disabled={field.isDisabled}\n onChange={field.onChange as React.ChangeEventHandler<HTMLTextAreaElement>} // Cast for textarea\n id={field.id}\n maxLength={field.maxLength}\n />;\n case \"number\":\n return <input\n value={field.value}\n name={field.name}\n type={field.type}\n min={field.min}\n max={field.max}\n step={field.step}\n disabled={field.isDisabled}\n onChange={field.onChange}\n id={field.id}\n />;\n case \"checkbox\":\n return <input\n type=\"checkbox\"\n name={field.name}\n checked={field.checked}\n disabled={field.isDisabled}\n onChange={field.onChange}\n id={field.id}\n />;\n case \"info\":\n return <>\n <p>{field.label}</p>\n </>\n case \"hidden\":\n return <input value={field.value} type={field.type} name={field.name} id={field.id}/>;\n case \"select\":\n return (\n <>\n <select\n name={field.name}\n onChange={field.onChange}\n disabled={field.isDisabled}\n value={field.value}\n id={field.id}\n >\n {field.options && field.options.length > 0 && field.options?.map((o: option) => (\n <option disabled={o.disabled} selected={o.selected} key={o.value}\n value={o.value}>{o.label}</option>\n ))}\n </select>\n <span className=\"select-custom-arrow\"></span>\n </>\n );\n default:\n return null;\n }\n}\n\nexport const FormFieldRenderer = (props: FormFieldType & {\n onChange?: (e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement>) => void;\n onPhoneChange?: (phone: string) => void;\n id?: string;\n checked?: boolean;\n}) => {\n return RenderField(props)\n}","import React, {useEffect, useState} from 'react'\nimport {v4 as uuidv4} from 'uuid';\nimport {FormFieldRenderer, FormFieldType} from \"@stories/experiences/QRFormJourney/FormFieldType\";\n\n\nexport const QrFormField = (props: FormFieldType & {\n onChange?: (e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement>) => void;\n errorMessage?: string;\n required?: boolean;\n}) => {\n\n const [inputId, setInputId] = useState('');\n\n useEffect(() => {\n setInputId(uuidv4());\n }, []);\n\n const supportsValue = props.type !== \"checkbox\";\n\n return (props.type ?\n <div\n className={(props.hasError ? \"error\" : \"\") + \" qr-form-filed-wrapper\" + (props.isDisabled ? \" disabled\" : \"\") + \" \" + props.type\n + (!!props.value && props.value.length > 0 ? \"\" : \" has-no-value\")}>\n <label htmlFor={inputId}>\n <span className=\"label\">{props.label} {props.required &&\n <span className=\"required-asterisk\">*</span>}</span>\n <FormFieldRenderer\n key={props.name}\n type={props.type}\n value={supportsValue ? props.value : undefined}\n {...(props.type === \"checkbox\" ? {checked: props.checked} : {})}\n name={props.name}\n isDisabled={props.isDisabled}\n {...(props.type === \"text\" || props.type === \"email\" || props.type === \"tel\" || props.type === \"textarea\" || props.type === \"number\"\n ? {regex: props.regex}\n : {})}\n id={inputId}\n onChange={props.onChange}\n {...(props.type === \"number\" ? {\n min: (props as any).min,\n max: (props as any).max,\n step: (props as any).step\n } : {})}\n {...(props.type === \"select\" ? {options: (props as any).options} : {})}\n placeholder={`${props.placeholder} ${props.required ? \"*\" : \"\"}`}\n maxLength={(props as any).maxLength}\n />\n </label>\n {props.errorMessage && props.hasError &&\n <span className=\"formfield-error\"> {props.errorMessage}</span>}\n </div> : <></>\n )\n}","import { useEffect, useState } from \"react\";\n\nexport function useIsMobile() {\n const query = \"(max-width: 960px)\";\n const media = typeof window !== \"undefined\" ? window.matchMedia(query) : null;\n\n const [isMobile, setIsMobile] = useState(media ? media.matches : false);\n\n useEffect(() => {\n if (!media) return;\n\n const handler = () => setIsMobile(media.matches);\n media.addEventListener(\"change\", handler);\n return () => media.removeEventListener(\"change\", handler);\n }, [media]);\n\n return isMobile;\n}\n","export type qrFormTranslations = {\n next?: string\n previous?: string\n submit?: string\n validationError?: string\n\n pageTitle_productInformation?: string,\n pageTitle_aboutYou?: string,\n pageTitle_contactDetails?: string,\n pageTitle_consents?: string,\n\n label_howMayWeHelpYou?: string,\n label_customerSupport?: string,\n label_technicalSupport?: string,\n label_ProductDetails?: string,\n label_warrantyClaim?: string,\n label_serviceRequest?: string,\n label_oilAndSpares?: string,\n label_other?: string,\n\n label_tellUsMore?: string,\n label_tellUsMoreOptional?: string,\n section_scannedProductDetails?: string,\n\n label_title?: string,\n label_lastName?: string,\n label_firstName?: string,\n label_company?: string,\n\n label_country?: string,\n label_email?: string,\n label_phone?: string,\n label_city?: string,\n label_postcodeOrZip?: string,\n\n consent_acceptPolicy?: string,\n consent_viewPolicy?: string,\n consent_default?: string,\n consent_requiredMessage?: string\n lang?: string\n form_generic_error?: string\n}\n\nexport const defaultQrFormTranslations: Required<qrFormTranslations> = {\n next: \"Next\",\n previous: \"Previous\",\n submit: \"Submit\",\n validationError: \"Please ensure the information provided in this field is valid and complete.\",\n\n pageTitle_productInformation: \"Product information\",\n pageTitle_aboutYou: \"About you\",\n pageTitle_contactDetails: \"Your contact details\",\n pageTitle_consents: \"Form consent\",\n\n label_howMayWeHelpYou: \"How may we help you?\",\n label_customerSupport: \"Customer support\",\n label_technicalSupport: \"Technical support\",\n label_ProductDetails: \"Product information\",\n label_warrantyClaim: \"Warranty claim\",\n label_serviceRequest: \"Service request\",\n label_oilAndSpares: \"Oil and spares\",\n label_other: \"Other\",\n label_tellUsMore: \"Tell us more\",\n label_tellUsMoreOptional: \"Tell us more about your issue (optional)\",\n section_scannedProductDetails: \"Scanned Product Details\",\n\n label_title: \"Title\",\n label_lastName: \"Last Name\",\n label_firstName: \"First Name\",\n label_company: \"Company\",\n\n label_country: \"Country\",\n label_email: \"Email\",\n label_phone: \"Phone\",\n label_city: \"City\",\n label_postcodeOrZip: \"Postcode or ZIP\",\n\n consent_acceptPolicy: \"I accept the policy\",\n consent_viewPolicy: \"View Policy\",\n consent_default: \"Consent\",\n consent_requiredMessage: \"Please acknowledge this consent\",\n lang: \"en\",\n form_generic_error: \"We couldn’t process your form. Please try again shortly\"\n}\n","import {useEffect} from \"react\";\nimport {WidgetInstance} from \"friendly-challenge\";\nimport \"./FriendlyCaptcha.scss\";\n\ntype Props = {\n onComplete?: (response: string) => void;\n sitekey: string;\n element?: HTMLElement | null;\n onExpire?: () => void;\n doneCallback?: () => void;\n};\n\nexport const FriendlyCaptcha = (props: Props) => {\n\n useEffect(() => {\n console.log(props.element, \"element\");\n if (props.element) {\n const sdk = new WidgetInstance(props.element, {startMode: \"auto\",\n doneCallback: (solution: string) => {\n if (props.onComplete) props.onComplete(solution);\n if (props.doneCallback) props.doneCallback();\n },\n });\n\n try {\n sdk.start();\n } catch (e) {\n console.error(\"FriendlyCaptcha initialization failed\", e);\n }\n }\n }, [props.element]);\n return null;\n};\n","import React, {memo, useEffect, useRef} from \"react\";\nimport \"./NetEaseCaptcha.scss\";\n\ninterface NetEaseCaptchaProps {\n captchaId: string;\n onSuccess: (validate: string) => void;\n}\n\nexport const NetEaseCaptcha = memo(({captchaId, onSuccess}: NetEaseCaptchaProps) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const isInitialized = useRef(false); // Track if already loaded\n\n useEffect(() => {\n // Prevent double initialization in Strict Mode or on parent re-renders\n if (isInitialized.current) return;\n\n const initCaptcha = () => {\n if ((window as any).initNECaptcha && containerRef.current) {\n (window as any).initNECaptcha({\n captchaId: captchaId,\n element: containerRef.current,\n mode: 'float',\n width: 'auto',\n onVerify: (err: any, data: any) => {\n if (!err && data.validate) {\n onSuccess(data.validate);\n }\n }\n }, (instance: any) => {\n isInitialized.current = true;\n });\n }\n };\n\n if (!(window as any).initNECaptcha) {\n const script = document.createElement(\"script\");\n script.src = \"https://cstaticdun.126.net/load.min.js\";\n script.async = true;\n script.onload = initCaptcha;\n document.body.appendChild(script);\n } else {\n initCaptcha();\n }\n\n // Note: We removed the .destroy() on unmount here\n // to keep the instance alive if the component stays in the DOM.\n }, [captchaId]); // Only restart if the ID changes\n\n return <div ref={containerRef} style={{minHeight: '50px'}}/>;\n});\n\nNetEaseCaptcha.displayName = \"NetEaseCaptcha\";","import React, {useEffect, useRef, useState} from \"react\";\nimport {FormFieldType as FormFieldDefinition} from \"../FormFieldType\";\nimport './qr-form.scss';\nimport {QrFormField} from \"@stories/experiences/QRFormJourney/Qr-form-field/Qr-form-field\";\nimport {Button as DefaultButton} from \"@stories/components/Button/Button\";\nimport {useIsMobile} from \"../../../../utils/helpers/isMobile\";\nimport {defaultQrFormTranslations, qrFormTranslations} from \"./i18n\"\nimport {FriendlyCaptcha} from \"@stories/experiences/QRFormJourney/Friendly-captcha/FriendlyCaptcha\";\nimport {NetEaseCaptcha} from \"./../NetEaseCaptcha/NetEaseCaptcha\";\n\n\ntype FormValues = {\n [key: string]: any;\n};\n\ntype FormErrors = {\n [key: string]: boolean;\n};\n\n\nexport type qrCodeFormProps = {\n hubspotId: string\n hubspotAppId: string\n formAction: string\n fields: FormFieldDefinition[]\n formHeader?: string\n validate?: (values: FormValues, currentPage: number) => FormErrors | null;\n onSubmit?: (values: FormValues) => void | boolean;\n thankYouTitle?: string\n thankYouText?: string\n thankYouButtonLabel?: string\n noThankYou?: boolean\n showThankYou?: boolean\n consentTypeId?: string\n consents?: consentProps[]\n /** Custom Button component - defaults to Edwards Button if not provided */\n ButtonComponent?: React.ComponentType<any>;\n captchaKey?: string | undefined\n isChina?: boolean\n fatalError?: boolean\n};\n\nexport type consentProps = {\n policyMandatory?: boolean\n policyText?: string\n policyLink?: string\n type?: string | null\n}\n\nexport type qrFormButtonProps = {\n buttonText: string\n linkType: string\n url: string\n newTab: boolean\n};\n\nexport type allQrFromProps = qrCodeFormProps & qrFormTranslations & qrFormButtonProps;\n\nexport const QrForm = (props: allQrFromProps) => {\n const [currentPage, setCurrentPage] = useState(0);\n const [formValues, setFormValues] = useState<FormValues>({});\n const [errors, setErrors] = useState<FormErrors>({});\n const [showErrors, setShowErrors] = useState<boolean>(false);\n const isMobile: boolean = useIsMobile();\n const [countryOptions, setCountryOptions] = useState<{ value: string; label: string }[] | null>(null);\n const [isLoadingCountries, setIsLoadingCountries] = useState(true);\n const [captchaElRef, setCaptchaElRef] = useState<HTMLDivElement | null>(null);\n // Use custom Button component if provided, otherwise use default\n const Button = props.ButtonComponent || DefaultButton;\n const [showSubmit, setShowSubmit] = useState(false);\n const i18n = {...defaultQrFormTranslations, ...props} as Required<qrFormTranslations>;\n const buttonProps = props as qrFormButtonProps;\n\n const consentFields: FormFieldDefinition[] =\n props.consents?.map((consent, index) => ({\n type: consent.type === \"info\" ? \"info\" : \"checkbox\",\n name: `consent_${index + 1}`,\n label: consent.policyLink\n ? <span>{consent.policyText || i18n.consent_acceptPolicy} <a href={consent.policyLink} target=\"_blank\"\n rel=\"noopener noreferrer\">{i18n.consent_viewPolicy || \"View Policy\"}</a></span>\n : consent.policyText\n ? consent.policyText\n : `${i18n.consent_default}${index + 1}`,\n value: \"true\",\n required: !!consent.policyMandatory,\n errorMessage: consent.policyMandatory\n ? i18n.consent_requiredMessage\n : \"\",\n })) || [];\n\n const captchaWidgetRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const initialValues: FormValues = {};\n props.fields.forEach(field => {\n initialValues[field.name] = field.value || '';\n });\n\n setFormValues(initialValues);\n }, [props.fields]);\n\n useEffect(() => {\n async function loadCountries() {\n const fallbackCountries = [\n {value: \"us\", label: \"United States\"},\n {value: \"gb\", label: \"United Kingdom\"},\n {value: \"de\", label: \"Germany\"},\n {value: \"fr\", label: \"France\"},\n {value: \"cn\", label: \"China\"},\n {value: \"other\", label: \"Other\"},\n ];\n\n try {\n const res = await fetch(\"/etc.clientlibs/vtba/clientlibs/resources/countries.json\");\n if (!res.ok) throw new Error(`HTTP ${res.status}`);\n const data = await res.json();\n setCountryOptions(data?.options || fallbackCountries);\n } catch (err) {\n console.warn(\"Could not fetch countries.json, using fallback:\", err);\n setCountryOptions(fallbackCountries);\n } finally {\n setIsLoadingCountries(false);\n }\n }\n\n loadCountries();\n }, []);\n\n\n useEffect(() => {\n async function fetchCity() {\n try {\n const res = await fetch('https://ipapi.co/json/');\n if (!res.ok) throw new Error('IP lookup failed');\n const data = await res.json();\n if (data.city) {\n setFormValues(prev => ({...prev, ip_location: data.city}));\n }\n } catch (err) {\n console.warn('Could not resolve city from IP:', err);\n }\n }\n\n fetchCity();\n }, []);\n\n\n const pageTitles: string[] = [\n i18n.pageTitle_productInformation,\n i18n.pageTitle_aboutYou,\n i18n.pageTitle_contactDetails,\n i18n.pageTitle_consents\n ]\n\n const pages: (FormFieldDefinition[])[] = [\n /*page 1*/\n [...props.fields, {\n type: \"select\",\n name: \"how_can_we_help\",\n options: [\n {label: i18n.label_howMayWeHelpYou, value: \"\", selected: true, disabled: true},\n {label: i18n.label_technicalSupport, value: \"technical support\"},\n {label: i18n.label_warrantyClaim, value: \"warranty claim\"},\n {label: i18n.label_serviceRequest, value: \"service request\"},\n {label: i18n.label_oilAndSpares, value: \"oil and spares\"},\n {label: i18n.label_other, value: \"other\"}\n ]\n },\n {\n type: \"textarea\",\n name: \"tell_us_more\",\n placeholder: i18n.label_tellUsMoreOptional,\n label: i18n.label_tellUsMoreOptional\n }\n ],\n /*page 2*/\n [\n {type: \"text\", name: \"title\", label: i18n.label_title, placeholder: i18n.label_title},\n {\n type: \"text\",\n name: \"lastname\",\n label: i18n.label_lastName,\n placeholder: i18n.label_lastName,\n required: true\n },\n {\n type: \"text\",\n name: \"firstname\",\n label: i18n.label_firstName,\n placeholder: i18n.label_firstName,\n required: true\n },\n {type: \"text\", name: \"company\", label: i18n.label_company, placeholder: i18n.label_company},\n\n ],\n /*page 3*/\n [\n {type: \"select\", name: \"country\", label: i18n.label_country, options: countryOptions || []},\n {\n type: \"email\",\n name: \"email\",\n label: i18n.label_email,\n placeholder: i18n.label_email,\n required: true,\n errorMessage: i18n.validationError\n },\n {\n type: \"tel\",\n name: \"phone\",\n label: i18n.label_phone,\n placeholder: i18n.label_phone,\n required: false,\n }, {\n type: \"text\",\n name: \"city\",\n label: i18n.label_city,\n placeholder: i18n.label_city,\n required: false,\n }, {\n type: \"text\",\n name: \"postcodeOrZip\",\n label: i18n.label_postcodeOrZip,\n placeholder: i18n.label_postcodeOrZip,\n required: false,\n },\n\n ],\n /*Page 4*/\n [...consentFields]\n ]\n\n const handleChange = (name: string, value: any) => {\n setFormValues(prevValues => ({\n ...prevValues,\n [name]: value\n }));\n // When a field changes, we might want to clear its error IF errors are currently shown\n // but for now, we'll only show errors AFTER a navigation/submit attempt.\n // So, we don't clear individual errors here to maintain the \"show all errors on validation\" behavior.\n };\n\n const validatePage = (page: number): boolean => {\n let pageIsValid = true;\n const newErrors: FormErrors = {};\n\n const getFieldsForPage = (pageNumber: number): FormFieldDefinition[] => {\n return pages[pageNumber] ? pages[pageNumber] : []\n };\n\n const fieldsToValidate = getFieldsForPage(page);\n\n fieldsToValidate.forEach(field => {\n const value = formValues[field.name];\n\n if (field.required) {\n if (!value || (typeof value === 'string' && value.trim() === '')) {\n newErrors[field.name] = true;\n pageIsValid = false;\n }\n }\n\n // Regex Validation\n const fieldWithRegex = field as (FormFieldDefinition & { regex?: string });\n if (fieldWithRegex.regex && value && typeof value === 'string' && value.trim() !== '') {\n try {\n const regex = new RegExp(fieldWithRegex.regex);\n if (!regex.test(value)) {\n newErrors[field.name] = true;\n pageIsValid = false;\n }\n } catch (e) {\n console.error(`Invalid regex for field ${field.name}:`, fieldWithRegex.regex, e);\n }\n }\n\n });\n\n if (props.validate) {\n const customErrors = props.validate(formValues, page);\n if (customErrors) {\n Object.assign(newErrors, customErrors);\n if (Object.keys(customErrors).some(key => customErrors[key] !== undefined)) {\n pageIsValid = false;\n }\n }\n }\n setErrors(newErrors); // Set the errors for the *current* validation run\n return pageIsValid;\n };\n\n const handleSubmit = async (ev: React.FormEvent) => {\n ev.preventDefault();\n setShowErrors(true); // Attempting to submit, so show errors\n if (validatePage(currentPage)) {\n if (props.onSubmit) {\n props.onSubmit(formValues);\n } else {\n console.log(\"Form submitted with values:\", formValues);\n }\n } else {\n console.log(\"Form has errors on the current page, cannot submit.\");\n }\n };\n\n function formNavigate(ev: React.MouseEvent<HTMLButtonElement>): void {\n ev.preventDefault();\n const el = ev.target as HTMLButtonElement;\n const pageTarget = el.dataset.page_target;\n let pageTargetInt = currentPage;\n if (pageTarget) {\n pageTargetInt = parseInt(pageTarget, 10)\n }\n setShowErrors(true); // Attempting to navigate, so show errors\n if (pageTargetInt > -1) {\n\n if (currentPage > pageTargetInt || validatePage(currentPage)) {\n setCurrentPage(pageTargetInt);\n setShowErrors(false); // Hide errors when successfully navigated to a new page\n setErrors({}); // Clear errors from previous page as well\n\n } else {\n console.log(\"Validation failed on current page, cannot navigate.\");\n }\n }\n }\n\n const renderQrFormField = (field: FormFieldDefinition) => {\n // if field name is equal to \"serial-number\", \"product-number\", \"software-version\", or \"running-time\", don't render the field if the value is empty\n if (field.name === \"serial-number\" || field.name === \"product-number\" || field.name === \"software-version\" || field.name === \"running-time\") {\n if (!formValues[field.name]) {\n return null;\n }\n }\n return (\n <QrFormField\n {...field}\n key={field.name}\n label={field.label}\n value={formValues[field.name]}\n onChange={(e) => handleChange(field.name, e.target.value)}\n isDisabled={field.isDisabled}\n errorMessage={field.errorMessage}\n hasError={errors[field.name] || false}\n required={field.required}\n {...(field.type === \"text\" || field.type === \"email\" || field.type === \"tel\" || field.type === \"textarea\" || field.type === \"number\"\n ? {regex: (field as any).regex}\n : {})}\n />\n );\n }\n\n interface FormSectionProps {\n pageIndex: number,\n startFromFieldIndex?: number,\n endFieldIndex?: number,\n generateButtons?: boolean,\n sectionTitle?: string\n }\n\n const renderProgressBar = (pageIndex: number) => {\n\n return isMobile ? (<div className=\"progress-indicator\">\n <span className=\"progress-text\">{pageIndex + 1} / {pages.length}</span>\n\n <span className=\"progress-visual\"\n // @ts-ignore --percent is a css variable I used it to manipulate the chart i.e. its pure css but ts set for style pros doesnt include variables yet\n style={{'--percent': `${(100 / pages.length) * (pageIndex + 1)}%`}}></span>\n </div>) : <></>\n }\n const renderFormSection = (fsp: FormSectionProps) => {\n\n const {\n pageIndex,\n startFromFieldIndex,\n endFieldIndex,\n generateButtons = true,\n sectionTitle\n } = fsp;\n\n const fields = pages[pageIndex] || [];\n\n\n if (currentPage !== pageIndex) return null;\n\n const from = startFromFieldIndex ?? 0;\n const to = endFieldIndex ?? fields.length;\n const fieldsSubset = fields.slice(from, to);\n\n const isPartial = startFromFieldIndex !== undefined || endFieldIndex !== undefined;\n const isFirstPage = pageIndex === 0;\n const isLastPage = pageIndex === pages.length - 1;\n\n\n const navButtons = generateButtons && (\n <div className=\"qr-form-navigation\">\n {!isFirstPage ? (\n <Button label={i18n?.previous} onClick={formNavigate}\n data-page_target={pageIndex - 1} buttonStyle=\"secondary\"/>\n ) : <div></div>}\n {!isLastPage ? (\n <Button label={i18n?.next} onClick={formNavigate}\n data-page_target={pageIndex + 1} buttonStyle=\"primary\"/>\n ) : (\n <>\n {(!props.captchaKey || showSubmit) &&\n <Button label={i18n?.submit} onClick={handleSubmit} buttonStyle=\"primary\"\n element=\"button\"\n type=\"submit\"/>}\n </>\n )}\n </div>\n );\n\n if (isPartial) {\n return (\n <>\n <div className=\"qr-form-fields\">\n {fieldsSubset.map((field) => renderQrFormField(field))}\n </div>\n {generateButtons && navButtons}\n </>\n );\n }\n\n return (\n <section\n key={pageIndex}\n className=\"qr-form-page-section active\"\n data-page={pageIndex + 1}\n >\n {isMobile && <div className=\"header-wrapper\">\n {renderProgressBar(pageIndex)}\n <h2>{sectionTitle}</h2>\n </div>}\n <div className=\"qr-form-fields\">\n {fieldsSubset.map((field) => renderQrFormField(field))}\n </div>\n {navButtons}\n </section>\n );\n };\n\n\n return (\n <div className={`qr-journey-form-wrapper desktop-${!isMobile}`}>\n {!props.showThankYou ?\n (<>\n {!isMobile && <div className={\"form-progress\"}>\n {props.formHeader && currentPage === 0 && <h1>{props.formHeader}</h1>}\n <ul className={`progress-indicator-desktop current-page-${currentPage} ${currentPage === 0 ? \"first-page\" : \"\"}`}>\n {pages.map((_, index) => (\n <li className={`${currentPage >= index ? \"checked\" : \"\"} ${index === currentPage ? \"current-page\" : \"\"}`}\n key={index}>\n <div className=\"bullet-point\">\n <span>{index + 1}</span>\n </div>\n <h3>{pageTitles[index]}</h3>\n </li>\n ))}\n </ul>\n </div>}\n <form action={`${props.formAction}`}\n onSubmit={handleSubmit}>\n <div hidden={!props.fatalError} className=\"qr-form-critical-error-msg\">{i18n.form_generic_error}<span\n className=\"qr-form-critical-error-msg-close\"></span>\n </div>\n {currentPage === 0 && (\n <section\n key={1}\n className=\"qr-form-page-section\"\n data-page={1}>\n {isMobile && props.formHeader && <h1>{props.formHeader}</h1>}\n {isMobile &&\n <div className=\"header-wrapper\">\n <h2>{i18n.pageTitle_productInformation}</h2>\n {renderProgressBar(0)}\n </div>}\n <div className=\"disabled-product-fields-section\">\n <h2>{i18n.section_scannedProductDetails}</h2>\n {renderFormSection({\n pageIndex: 0,\n startFromFieldIndex: 0,\n endFieldIndex: 4,\n generateButtons: false\n })}\n </div>\n {renderFormSection({\n pageIndex: 0,\n startFromFieldIndex: 4,\n endFieldIndex: 6,\n generateButtons: true\n })}\n\n </section>\n )}\n\n {renderFormSection({pageIndex: 1, sectionTitle: pageTitles[1]})}\n {renderFormSection({pageIndex: 2, sectionTitle: pageTitles[2]})}\n {renderFormSection({pageIndex: 3, sectionTitle: pageTitles[3]})}\n {currentPage === pages.length - 1 &&\n (!props.isChina ?\n <>\n <div id=\"frc-widget\" className=\"vtba-friendly-captcha-react\"\n data-lang={i18n.lang}\n data-sitekey={props.captchaKey}\n ref={(el) => {\n setCaptchaElRef(el)\n }}>\n </div>\n {!!props.captchaKey && captchaElRef &&\n <FriendlyCaptcha sitekey={props.captchaKey}\n doneCallback={() => {\n setShowSubmit(true);\n }}\n element={captchaElRef}/>\n }\n </>\n :\n <>\n <div id=\"netease-widget\" className=\"ac-netease-captcha-wrapper\">\n {!!props.captchaKey && (\n <NetEaseCaptcha\n captchaId={props.captchaKey}\n onSuccess={(validateToken) => {\n setShowSubmit(true);\n }}\n />\n )}\n </div>\n </>\n )}\n <input type=\"hidden\" name=\"ip_location\" value={formValues.ip_location || ''}/>\n </form>\n </>) : (\n <div className=\"qr-form-thank-you-page\">\n <div className=\"title-wrapper\">\n <div className=\"submitted-checked\"></div>\n <h2>{props.thankYouTitle}</h2>\n </div>\n <p>{props.thankYouText}</p>\n <Button label={buttonProps.buttonText} href={buttonProps.url}\n target={buttonProps.newTab ? '_blank' : ''} buttonStyle='primary'/>\n </div>\n )}\n </div>\n );\n};"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","rejected","result","done","then","__generator","body","_","label","sent","trys","ops","f","y","g","create","Iterator","verb","Symbol","iterator","v","op","TypeError","pop","push","__spreadArray","to","from","pack","l","ar","Array","slice","concat","SuppressedError","error","suppressed","message","Error","name","hasOwn","classNames","classes","arg","appendClass","parseValue","isArray","toString","includes","key","newClass","module","exports","default","window","AccordionSection","_a","title","children","_b","className","_c","defaultOpen","_d","lazyLoad","_e","useState","isOpen","setIsOpen","_f","hasBeenOpened","setHasBeenOpened","isToggling","useRef","toggleAccordion","useCallback","stopPropagation","preventDefault","current","requestAnimationFrame","prev","setTimeout","handleKeyDown","shouldRenderChildren","React","createElement","onClick","role","tabIndex","onKeyDown","style","transform","transition","FontAwesomeIcon","icon","faChevronDown","color","display","maxHeight","overflow","isDelimitedFacetValue","extractUnit","rawKey","parts","split","join","parseDelimitedFacetValue","entries","map","entry","val","undefined","unit","filter","getStyle","styles","nestedMatch","keys","find","FacetUnitSelector","usePlainClasses","selectedIndex","setSelectedIndex","isChanging","getClassName","selectedEntry","handleUnitChange","newIndex","Number","target","onChange","index","PLACEHOLDER_INDICATOR","cardSizeMapping","size","classSrting","isPlaceholderImg","imageUrl","console","log","Card","contentCategoryLabel","colour","date","cta","imageAlt","cardStyle","cardLink","city","country","mode","width","categoryColour","cardFooterColour","contentImage","placholderimg","classnames","href","src","alt","faChevronRight","faArrowRight","ProductCard","showImage","productPrice","showProductPrice","productImage","MAX_SPARES_TO_RENDER","ProductDetailsCard","hit","facets","ProductCardComponent","hidespares","hideSparesBool","SpareCard","renderSpares","spares","sparesToRender","spare","objectID","code","image","priceValue","price","url","link","facet","facetValue","isDelimited","returnsHTML","dangerouslySetInnerHTML","__html","Button","buttonStyle","element","rel","type","dataTargetSelector","props","baseClass","conditionalClasses","Boolean","trim","inferredElement","_extends","PRODUCT_DETAILS","DynamicHeading","titleSize","Tag","getCallToActionProps","callType","toLowerCase","finalUrl","AlgoliaDynamicSearch","useScopedStyles","heading","subtext","callToActionType","callToActionText","callToActionUrl","callToActionTargetSelector","queryType","hits","hitCta","query","backgroundColour","maxResults","isLoading","analytics","innerComponents","DefaultCard","DefaultProductCard","DefaultProductDetailsCard","DefaultButton","getClass","suffix","fullClassName","getModifierClass","modifier","widgetStyleProps","useMemo","backgroundStyles","containerBackground","textColour","silver","wrapperClasses","Fragment","isAnchor","open","Component","hitUtm","URLSearchParams","utm_source","utm_medium","utm_campaign","separator","contentCategoryColour","cardClassName","cmpCard","handleClick","__position","__queryID","edwardsComponents","AlgoliaDynamicSearchEdwards","AlgoBase","AlgoliaDynamicSearchRaw","RenderField","field","placeholder","disabled","isDisabled","id","maxLength","PhoneInput","phone","onPhoneChange","syntheticEvent","defaultCountry","inputProps","min","max","checked","options","o","selected","FormFieldRenderer","QrFormField","inputId","setInputId","useEffect","uuidv4","supportsValue","hasError","htmlFor","required","regex","errorMessage","useIsMobile","media","matchMedia","matches","isMobile","setIsMobile","handler","addEventListener","removeEventListener","defaultQrFormTranslations","previous","submit","validationError","pageTitle_productInformation","pageTitle_aboutYou","pageTitle_contactDetails","pageTitle_consents","label_howMayWeHelpYou","label_customerSupport","label_technicalSupport","label_ProductDetails","label_warrantyClaim","label_serviceRequest","label_oilAndSpares","label_other","label_tellUsMore","label_tellUsMoreOptional","section_scannedProductDetails","label_title","label_lastName","label_firstName","label_company","label_country","label_email","label_phone","label_city","label_postcodeOrZip","consent_acceptPolicy","consent_viewPolicy","consent_default","consent_requiredMessage","lang","form_generic_error","FriendlyCaptcha","sdk","WidgetInstance","startMode","doneCallback","solution","onComplete","start","NetEaseCaptcha","memo","captchaId","onSuccess","containerRef","isInitialized","initCaptcha","initNECaptcha","onVerify","err","data","validate","instance","script","document","async","onload","appendChild","ref","minHeight","displayName","QrForm","currentPage","setCurrentPage","formValues","setFormValues","errors","setErrors","showErrors","setShowErrors","countryOptions","setCountryOptions","_g","isLoadingCountries","setIsLoadingCountries","_h","captchaElRef","setCaptchaElRef","ButtonComponent","_j","showSubmit","setShowSubmit","i18n","buttonProps","consentFields","consents","consent","policyLink","policyText","policyMandatory","initialValues","fields","forEach","loadCountries","fallbackCountries","fetch","res","ok","status","json","warn","err_1","fetchCity","data_1","ip_location","err_2","pageTitles","pages","handleChange","prevValues","validatePage","page","pageIsValid","newErrors","getFieldsForPage","pageNumber","fieldsToValidate","fieldWithRegex","RegExp","test","customErrors_1","some","handleSubmit","ev","onSubmit","formNavigate","el","pageTarget","dataset","page_target","pageTargetInt","parseInt","renderQrFormField","renderProgressBar","pageIndex","renderFormSection","fsp","startFromFieldIndex","endFieldIndex","generateButtons","sectionTitle","fieldsSubset","isPartial","isFirstPage","isLastPage","navButtons","captchaKey","showThankYou","formHeader","action","formAction","hidden","fatalError","isChina","sitekey","validateToken","thankYouTitle","thankYouText","buttonText","newTab"],"mappings":"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","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"index.esm.js","sources":["../node_modules/tslib/tslib.es6.js","../node_modules/classnames/index.js","../../src/stories/components/AccordionSection/AccordionSection.tsx","../public/assets/edwards-webshop-placeholder.png","../../src/utils/helpers/formatFacetValue.ts","../../src/stories/components/FacetUnitSelector/FacetUnitSelector.tsx","../../src/stories/components/Card/card.tsx","../../src/stories/components/Button/Button.tsx","../../src/stories/experiences/Algolia-dynamic-search/algolia-dynamic-search-base.tsx","../../src/stories/experiences/Algolia-dynamic-search/algolia-dynamic-search.tsx","../../src/stories/experiences/QRFormJourney/FormFieldType.tsx","../../src/stories/experiences/QRFormJourney/Qr-form-field/Qr-form-field.tsx","../../src/utils/helpers/isMobile.ts","../../src/stories/experiences/QRFormJourney/Qr-form/i18n.ts","../../src/stories/experiences/QRFormJourney/Friendly-captcha/FriendlyCaptcha.tsx","../../src/stories/experiences/QRFormJourney/NetEaseCaptcha/NetEaseCaptcha.tsx","../../src/stories/experiences/QRFormJourney/Qr-form/Qr-form.tsx"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import React, { useState, useCallback, useRef, ReactNode } from 'react';\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faChevronDown } from \"@fortawesome/pro-solid-svg-icons\";\r\nimport './AccordionSection.scss';\r\n\r\ninterface AccordionSectionProps {\r\n title: string;\r\n children: ReactNode;\r\n className?: string;\r\n defaultOpen?: boolean;\r\n lazyLoad?: boolean;\r\n}\r\n\r\nexport const AccordionSection = ({\r\n title,\r\n children,\r\n className = '',\r\n defaultOpen = false,\r\n lazyLoad = false\r\n}: AccordionSectionProps) => {\r\n const [isOpen, setIsOpen] = useState(defaultOpen);\r\n const [hasBeenOpened, setHasBeenOpened] = useState(defaultOpen);\r\n \r\n // Prevent rapid clicks\r\n const isToggling = useRef(false);\r\n\r\n const toggleAccordion = useCallback((e: React.MouseEvent | React.KeyboardEvent) => {\r\n // Stop event propagation to prevent AEM handlers\r\n e.stopPropagation();\r\n e.preventDefault();\r\n \r\n // Prevent multiple rapid toggles\r\n if (isToggling.current) return;\r\n isToggling.current = true;\r\n \r\n // Use requestAnimationFrame to defer state update\r\n requestAnimationFrame(() => {\r\n setIsOpen(prev => !prev);\r\n if (!hasBeenOpened) {\r\n setHasBeenOpened(true);\r\n }\r\n \r\n // Reset toggle lock\r\n setTimeout(() => {\r\n isToggling.current = false;\r\n }, 300);\r\n });\r\n }, [hasBeenOpened]);\r\n\r\n const handleKeyDown = useCallback((e: React.KeyboardEvent) => {\r\n if (e.key === 'Enter' || e.key === ' ') {\r\n toggleAccordion(e);\r\n }\r\n }, [toggleAccordion]);\r\n\r\n // Only render children if not lazy loading, or if accordion has been opened\r\n const shouldRenderChildren = !lazyLoad || hasBeenOpened;\r\n\r\n return (\r\n <div className={`accordion-section ${className} ${isOpen ? 'open' : ''}`}>\r\n <h4 \r\n className=\"accordion-section__header\"\r\n onClick={toggleAccordion}\r\n role=\"button\"\r\n tabIndex={0}\r\n onKeyDown={handleKeyDown}\r\n aria-expanded={isOpen}\r\n >\r\n <span className=\"accordion-section__title\">{title}</span>\r\n <span \r\n className=\"accordion-section__icon\"\r\n style={{ \r\n transform: isOpen ? 'rotate(180deg)' : 'rotate(0deg)',\r\n transition: 'transform 0.2s ease'\r\n }}\r\n >\r\n <FontAwesomeIcon icon={faChevronDown} color=\"#C4262E\" />\r\n </span>\r\n </h4>\r\n {/* Override CSS max-height with inline styles to avoid layout thrashing */}\r\n <div \r\n className=\"accordion-section__content\"\r\n style={{ \r\n display: isOpen ? 'block' : 'none',\r\n maxHeight: isOpen ? 'none' : '0',\r\n overflow: isOpen ? 'visible' : 'hidden'\r\n }}\r\n >\r\n {shouldRenderChildren ? children : null}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\n","export default \"3697809e28f9e0fe.png\"","/**\r\n * Parses delimited facet values into a structured format\r\n * \r\n * Input format: \"pressure_psi|2.90#pressure_inHg|5.91#pressure_bar|0.200\"\r\n * Where:\r\n * - `#` separates different unit entries\r\n * - `|` separates the unit key from the value\r\n */\r\n\r\nexport interface ParsedFacetEntry {\r\n unit: string;\r\n value: string;\r\n rawKey: string;\r\n}\r\n\r\n/**\r\n * Checks if a value is in the delimited facet format\r\n */\r\nexport const isDelimitedFacetValue = (value: unknown): boolean => {\r\n if (typeof value !== 'string') return false;\r\n // Must contain both # (entry separator) and | (key-value separator)\r\n return value.includes('#') && value.includes('|');\r\n};\r\n\r\n/**\r\n * Extracts the display unit from a raw key\r\n * e.g., \"pressure_psi\" -> \"psi\"\r\n * e.g., \"volumeFlowRate_l/s\" -> \"l/s\"\r\n * e.g., \"power_kW\" -> \"kW\"\r\n */\r\nconst extractUnit = (rawKey: string): string => {\r\n const parts = rawKey.split('_');\r\n if (parts.length > 1) {\r\n // Return everything after the first underscore (handles units like \"m/³h\")\r\n return parts.slice(1).join('_');\r\n }\r\n return rawKey;\r\n};\r\n\r\n/**\r\n * Parses a delimited facet string into an array of entries\r\n */\r\nexport const parseDelimitedFacetValue = (value: string): ParsedFacetEntry[] => {\r\n if (!isDelimitedFacetValue(value)) {\r\n return [];\r\n }\r\n\r\n const entries = value.split('#');\r\n return entries\r\n .map((entry) => {\r\n const [rawKey, val] = entry.split('|');\r\n if (!rawKey || val === undefined) return null;\r\n \r\n return {\r\n unit: extractUnit(rawKey),\r\n value: val,\r\n rawKey,\r\n };\r\n })\r\n .filter((entry): entry is ParsedFacetEntry => entry !== null);\r\n};\r\n\r\n/**\r\n * Formats a delimited facet value into a human-readable string list\r\n * Returns null if the value is not in delimited format\r\n */\r\nexport const formatFacetValueAsString = (value: unknown): string | null => {\r\n if (!isDelimitedFacetValue(value)) return null;\r\n \r\n const entries = parseDelimitedFacetValue(value as string);\r\n return entries.map((e) => `${e.value} ${e.unit}`).join(', ');\r\n};\r\n\r\n","import React, { useState, useRef, useCallback } from \"react\";\r\nimport styles from \"./FacetUnitSelector.module.scss\";\r\nimport { ParsedFacetEntry } from \"../../../utils/helpers/formatFacetValue\";\r\n\r\ninterface FacetUnitSelectorProps {\r\n entries: ParsedFacetEntry[];\r\n usePlainClasses?: boolean;\r\n}\r\n\r\n// Utility function to retrieve correct SCSS module class names\r\nconst getStyle = (className: string) => {\r\n if (styles[className]) return styles[className];\r\n const nestedMatch = Object.keys(styles).find((key) =>\r\n key.includes(className)\r\n );\r\n return nestedMatch ? styles[nestedMatch] : \"\";\r\n};\r\n\r\nexport const FacetUnitSelector: React.FC<FacetUnitSelectorProps> = ({\r\n entries,\r\n usePlainClasses = false,\r\n}) => {\r\n const [selectedIndex, setSelectedIndex] = useState(0);\r\n const isChanging = useRef(false);\r\n\r\n const getClassName = (name: string) =>\r\n usePlainClasses ? name : getStyle(name);\r\n\r\n if (!entries || entries.length === 0) return null;\r\n\r\n const selectedEntry = entries[selectedIndex];\r\n\r\n const handleUnitChange = useCallback((e: React.ChangeEvent<HTMLSelectElement>) => {\r\n // Stop event propagation to prevent AEM handlers\r\n e.stopPropagation();\r\n \r\n // Prevent multiple rapid changes\r\n if (isChanging.current) return;\r\n isChanging.current = true;\r\n \r\n const newIndex = Number(e.target.value);\r\n \r\n // Use requestAnimationFrame to defer state update\r\n requestAnimationFrame(() => {\r\n setSelectedIndex(newIndex);\r\n \r\n // Reset change lock\r\n setTimeout(() => {\r\n isChanging.current = false;\r\n }, 100);\r\n });\r\n }, []);\r\n\r\n return (\r\n <div className={getClassName(\"facet-unit-selector\")}>\r\n <span className={getClassName(\"facet-unit-selector__value\")}>\r\n {selectedEntry.value}\r\n </span>\r\n {entries.length > 1 ? (\r\n <select\r\n className={getClassName(\"facet-unit-selector__dropdown\")}\r\n value={selectedIndex}\r\n onChange={handleUnitChange}\r\n aria-label=\"Select unit\"\r\n >\r\n {entries.map((entry, index) => (\r\n <option key={entry.rawKey} value={index}>\r\n {entry.unit}\r\n </option>\r\n ))}\r\n </select>\r\n ) : (\r\n <span className={getClassName(\"facet-unit-selector__unit\")}>\r\n {selectedEntry.unit}\r\n </span>\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nexport default FacetUnitSelector;\r\n\r\n","import React from \"react\";\r\nimport styles from \"./card.module.scss\"; // Importing SCSS Module\r\nimport classnames from \"classnames\"; // For managing class names dynamically\r\nimport {CardProps} from \"./card.types\";\r\nimport {FontAwesomeIcon} from \"@fortawesome/react-fontawesome\";\r\nimport {faArrowRight, faChevronRight, faPause, faPlay} from \"@fortawesome/pro-solid-svg-icons\";\r\nimport {AccordionSection} from \"../AccordionSection\";\r\nimport placholderimg from \"../../../../public/assets/edwards-webshop-placeholder.png\";\r\nimport {isDelimitedFacetValue, parseDelimitedFacetValue,} from \"../../../utils/helpers/formatFacetValue\";\r\nimport {FacetUnitSelector} from \"../FacetUnitSelector\";\r\n\r\nif (process.env.STORYBOOK === \"true\") {\r\n require(\"./card.scss\");\r\n}\r\n\r\nconst PLACEHOLDER_INDICATOR = \"?placeholder-storybook\";\r\n\r\n// Utility function to retrieve correct SCSS module class names\r\nconst getStyle = (className: string) => {\r\n if (styles[className]) return styles[className];\r\n const nestedMatch = Object.keys(styles).find((key) =>\r\n key.includes(className)\r\n );\r\n return nestedMatch ? styles[nestedMatch] : \"\";\r\n};\r\n\r\nconst cardSizeMapping = (size: any) => {\r\n let classSrting;\r\n if (size === \"small\") {\r\n classSrting = \"col-3\";\r\n } else if (size === \"medium\") {\r\n classSrting = \"col-4\";\r\n } else if (size === \"large\") {\r\n classSrting = \"col-6\";\r\n } else {\r\n classSrting = \"\";\r\n }\r\n return classSrting;\r\n};\r\n\r\n// Helper function to check if image is a placeholder (from ACAS-14821)\r\nconst isPlaceholderImg = (imageUrl?: string): boolean => {\r\n return !!imageUrl && imageUrl.indexOf(PLACEHOLDER_INDICATOR) > -1;\r\n};\r\n\r\nexport const Card = ({\r\n contentCategoryLabel,\r\n className,\r\n colour,\r\n date,\r\n size,\r\n title,\r\n cta,\r\n imageUrl,\r\n imageAlt,\r\n cardStyle,\r\n cardLink,\r\n city,\r\n country,\r\n onClick,\r\n usePlainClasses = false,\r\n }: CardProps) => {\r\n // Helper to get class name - plain or CSS module\r\n const getClassName = (name: string) => usePlainClasses ? name : getStyle(name);\r\n\r\n const mode = usePlainClasses ? `cmp-card--${cardStyle}` : getStyle(`cmp-card--${cardStyle}`);\r\n const width = cardSizeMapping(size);\r\n const categoryColour = colour\r\n ? (usePlainClasses ? `cmp-card__content-category-wrapper__colour-${colour}` : getStyle(`cmp-card__content-category-wrapper__colour-${colour}`))\r\n : \"\";\r\n const cardFooterColour = colour\r\n ? (usePlainClasses ? `cmp-card__footer--color-${colour}` : getStyle(`cmp-card__footer--color-${colour}`))\r\n : \"\";\r\n\r\n // Image placeholder fallback logic from ACAS-14821\r\n const contentImage = !imageUrl ? placholderimg + PLACEHOLDER_INDICATOR : imageUrl;\r\n\r\n return (\r\n <div\r\n className={classnames(\r\n getClassName(\"cmp-card\"),\r\n mode,\r\n width,\r\n className && (usePlainClasses ? className : getStyle(className))\r\n )}\r\n >\r\n <a\r\n className={getClassName(\"cmp-card__link\")}\r\n href={cardLink}\r\n onClick={onClick}\r\n >\r\n <div className={getClassName(\"cmp-card__content-wrapper\")}>\r\n {cardStyle !== \"type-card-panel\" &&\r\n cardStyle !== \"type-card-no-image\" && (\r\n <div\r\n className={`${getClassName(\"cmp-card__image-wrapper\")} ${\r\n isPlaceholderImg(contentImage) ? getClassName(\"placeholderImage\") : \"\"\r\n }`}\r\n >\r\n <picture>\r\n <img src={contentImage} alt={imageAlt}/>\r\n </picture>\r\n </div>\r\n )}\r\n {cardStyle === \"type-card-label\" && (\r\n <div\r\n className={classnames(\r\n getClassName(\"cmp-card__content-category-wrapper\"),\r\n categoryColour\r\n )}\r\n >\r\n {contentCategoryLabel && <p>{contentCategoryLabel}</p>}\r\n </div>\r\n )}\r\n\r\n <div className={getClassName(\"cmp-card__title-wrapper\")}>\r\n {date && <div className={getClassName(\"cmp-card__date\")}>{date}</div>}\r\n {title && <h4 className={getClassName(\"cmp-card__title\")}>{title}</h4>}\r\n {(city || country) && (\r\n <p className={getClassName(\"cmp-card__city-country\")}>\r\n {city} {city && country ? \", \" : \"\"} {country}\r\n </p>\r\n )}\r\n\r\n {cardStyle === \"type-card-panel\" ? (\r\n <span\r\n className={classnames(\r\n getClassName(\"cmp-card__footer\"),\r\n cardFooterColour\r\n )}\r\n >\r\n <FontAwesomeIcon icon={faChevronRight}/>\r\n </span>\r\n ) : cardStyle === \"label\" ? (\r\n <span className={getClassName(\"cmp-card__footer\")}>\r\n <FontAwesomeIcon icon={faArrowRight}/>\r\n </span>\r\n ) : (\r\n <span className={getClassName(\"cmp-card__footer\")}>\r\n <span>{cta}</span>\r\n </span>\r\n )}\r\n </div>\r\n </div>\r\n </a>\r\n </div>\r\n );\r\n};\r\n\r\nexport const ProductCard = ({\r\n className,\r\n size,\r\n title,\r\n imageUrl,\r\n imageAlt,\r\n showImage = true,\r\n productPrice,\r\n showProductPrice,\r\n cardLink,\r\n cta,\r\n cardStyle,\r\n onClick,\r\n usePlainClasses = false,\r\n }: CardProps) => {\r\n // Helper to get class name - plain or CSS module\r\n const getClassName = (name: string) => usePlainClasses ? name : getStyle(name);\r\n\r\n const width = cardSizeMapping(size);\r\n const mode = usePlainClasses ? `cmp-card--${cardStyle}` : getStyle(`cmp-card--${cardStyle}`);\r\n\r\n // Image placeholder fallback logic from ACAS-14821\r\n const productImage = !imageUrl || imageUrl === 'https://uk.my.edwardsvacuum.com?placeholder-storybook'\r\n ? placholderimg.src + PLACEHOLDER_INDICATOR\r\n : imageUrl;\r\n\r\n return (\r\n <div className={classnames(getClassName(\"cmp-card\"), mode, width, className)}>\r\n <a\r\n href={cardLink}\r\n className={getClassName(\"cmp-card__link\")}\r\n onClick={onClick}\r\n target=\"_blank\"\r\n >\r\n <div\r\n className={classnames(getClassName(\"cmp-card--type-card-product__wrapper\"), showImage ? \"\" : getClassName(\"cmp-card--type-card-product-no-image__wrapper\"))}>\r\n {showImage && (\r\n <div className={getClassName(\"cmp-card--type-card-product__image\")}>\r\n <figure>\r\n <img\r\n src={productImage}\r\n alt={imageAlt}\r\n className={isPlaceholderImg(productImage) ? \"placeholderImage\" : ''}\r\n />\r\n </figure>\r\n </div>\r\n )}\r\n <div className={getClassName(\"cmp-card--type-card-product__meta\")}>\r\n <p className={getClassName(\"cmp-card--type-card-product__title\")}>\r\n {title}\r\n </p>\r\n {productPrice && showProductPrice !== false ? (\r\n <p className={getClassName(\"cmp-card--type-card-product__prices\")}>\r\n {productPrice}\r\n </p>\r\n ) : (\r\n \"\"\r\n )}\r\n <p className={getClassName(\"cmp-card--type-card-product__cta\")}>\r\n {cta ? cta : <FontAwesomeIcon icon={faArrowRight}/>}\r\n </p>\r\n </div>\r\n </div>\r\n </a>\r\n </div>\r\n );\r\n};\r\n\r\nexport const VideoCard = ({\r\n className,\r\n title,\r\n imageUrl,\r\n imageAlt,\r\n cardStyle,\r\n duration,\r\n videoSrc,\r\n videoTitle,\r\n videoThumbnail,\r\n onClick,\r\n }: CardProps) => {\r\n return (\r\n <div\r\n className={classnames(\r\n className,\r\n getStyle(\"cmp-video-playlist__card\"),\r\n getStyle(`cmp-video-playlist__card--${cardStyle}`)\r\n )}\r\n data-videothumbnail={videoThumbnail}\r\n data-videosrc={videoSrc}\r\n data-videotitle={videoTitle}\r\n tabIndex={0}\r\n onClick={onClick}\r\n >\r\n <div className={getStyle(\"cmp-video-playlist__card__thumbnail\")}>\r\n <img src={imageUrl} alt={imageAlt} loading=\"lazy\"/>\r\n </div>\r\n\r\n <div className={getStyle(\"cmp-video-playlist__card__info\")}>\r\n <div className={getStyle(\"cmp-video-playlist__card__info__title\")}>\r\n <h6>{title}</h6>\r\n </div>\r\n\r\n <div className={getStyle(\"cmp-video-playlist__card__info__bottom\")}>\r\n <div className={getStyle(\"cmp-video-playlist__card__info__duration\")}>\r\n <span\r\n className={getStyle(\r\n \"cmp-video-playlist__card__info__duration-current\"\r\n )}\r\n ></span>\r\n <span\r\n className={getStyle(\r\n \"cmp-video-playlist__card__info__duration-total\"\r\n )}\r\n >\r\n {duration}\r\n </span>\r\n </div>\r\n <div className={getStyle(\"cmp-video-playlist__card__info__icons\")}>\r\n <div\r\n className={getStyle(\r\n \"cmp-video-playlist__card__info__icons--play\"\r\n )}\r\n >\r\n <FontAwesomeIcon icon={faPlay}/>\r\n </div>\r\n <div\r\n className={getStyle(\r\n \"cmp-video-playlist__card__info__icons--pause\"\r\n )}\r\n >\r\n <FontAwesomeIcon icon={faPause}/>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\n// Maximum spares to render to prevent browser freeze\r\nconst MAX_SPARES_TO_RENDER = 20;\r\n\r\nexport const ProductDetailsCard = ({\r\n className,\r\n title,\r\n imageUrl,\r\n imageAlt,\r\n onClick,\r\n hit,\r\n facets,\r\n usePlainClasses = false,\r\n ProductCardComponent,\r\n hidespares,\r\n }: CardProps) => {\r\n // Helper to get class name - plain or CSS module\r\n const getClassName = (name: string) => usePlainClasses ? name : getStyle(name);\r\n // Handle both boolean and string values from AEM\r\n const hideSparesBool = hidespares === true || hidespares === \"true\";\r\n // Use custom ProductCard if provided, otherwise use default\r\n const SpareCard = ProductCardComponent || ProductCard;\r\n // Memoize spares rendering with a limit to prevent freeze\r\n const renderSpares = () => {\r\n if (!hit?.spares || !Array.isArray(hit.spares) || hit.spares.length === 0) return null;\r\n\r\n // Limit the number of spares to prevent freeze\r\n const sparesToRender = hit.spares.slice(0, MAX_SPARES_TO_RENDER);\r\n\r\n return (<ul className={getClassName(\"folding-spares-list\")}>\r\n {sparesToRender.map((spare: any, index: number) => {\r\n // Safety check - skip if spare is not a valid object\r\n if (!spare || typeof spare !== 'object') return null;\r\n\r\n return (\r\n <li key={spare.objectID || spare.code || `spare-${index}`}>\r\n <SpareCard\r\n cardStyle=\"type-card-product\"\r\n className={getClassName(\"cmp-card\")}\r\n title={spare.name || 'Spare Part'}\r\n imageUrl={spare['img-product'] || spare.image || ''}\r\n imageAlt={spare.name || 'Spare Part'}\r\n productPrice={spare.priceValue || spare.price || '$450.00'}\r\n showProductPrice={true}\r\n cardLink={spare.url || spare.link || '#'}\r\n cta=\"Go to webshop\"\r\n showImage={false}\r\n usePlainClasses={usePlainClasses}\r\n spare={spare}\r\n />\r\n </li>\r\n );\r\n })}\r\n {hit.spares.length > MAX_SPARES_TO_RENDER && (\r\n <li className={getClassName(\"folding-spares-list__more\")}>\r\n +{hit.spares.length - MAX_SPARES_TO_RENDER} more items\r\n </li>\r\n )}\r\n </ul>);\r\n };\r\n\r\n return (\r\n <div className={getClassName(\"cmp-card--type-product_details\")}>\r\n <div className={getClassName(\"cmp-card--type-product_details__product-info\")}>\r\n <div className={getClassName(\"cmp-card--type-product_details__header\")}>\r\n <h3 className={getClassName(\"cmp-card--type-product_details__header__title\")}>\r\n {title}\r\n </h3>\r\n <p className={getClassName(\"cmp-card--type-product_details__header__product-code\")}>\r\n Product: {hit?.code}\r\n </p>\r\n <img\r\n src={hit?.image}\r\n alt={imageAlt}\r\n className={getClassName(\"cmp-card--type-product_details__header__product-image\")}\r\n />\r\n </div>\r\n {facets && (\r\n <AccordionSection\r\n title=\"Specifications\"\r\n className={getClassName(\"folding-specification-holder\")}\r\n defaultOpen={true}\r\n >\r\n <ul className={getClassName(\"folding-specification-list\")}>\r\n {facets &&\r\n facets.map((facet) => {\r\n const facetValue = hit[facet.name];\r\n if (!facetValue) return null;\r\n\r\n // Check if value is in delimited format (e.g., \"pressure_psi|2.90#pressure_bar|0.200\")\r\n const isDelimited = isDelimitedFacetValue(facetValue);\r\n\r\n return (\r\n <li key={facet.name}>\r\n <strong>{facet.label}</strong>\r\n <br/>\r\n {facet.returnsHTML ? (\r\n <span\r\n dangerouslySetInnerHTML={{\r\n __html: facetValue,\r\n }}\r\n />\r\n ) : isDelimited ? (\r\n <FacetUnitSelector\r\n entries={parseDelimitedFacetValue(facetValue)}\r\n usePlainClasses={usePlainClasses}\r\n />\r\n ) : (\r\n facetValue\r\n )}\r\n </li>\r\n );\r\n })}\r\n </ul>\r\n </AccordionSection>\r\n )}\r\n </div>\r\n {\r\n hideSparesBool ? null : (\r\n <div className={getClassName(\"cmp-card--type-product_details__spares-list\")}>\r\n {hit?.spares && hit.spares.length > 0 && (\r\n <AccordionSection\r\n title=\"Spares & Parts\"\r\n className={getClassName(\"folding-spares-holder\")}\r\n lazyLoad={true}\r\n defaultOpen={true}\r\n >\r\n {renderSpares()}\r\n </AccordionSection>\r\n )}\r\n </div>\r\n )\r\n }\r\n </div>\r\n );\r\n};\r\n","import React from 'react';\r\nimport styles from './Button.module.scss';\r\n\r\nif (process.env.STORYBOOK === 'true') {\r\n require('./button.scss');\r\n}\r\n\r\ninterface ButtonProps extends React.HTMLAttributes<HTMLElement> {\r\n className?: string;\r\n style?: React.CSSProperties;\r\n buttonStyle?: string;\r\n label?: string;\r\n element?: 'button' | 'a';\r\n onClick?: (() => void) | ((ev: any) => void);\r\n href?: string;\r\n target?: string;\r\n rel?: string;\r\n type?: string;\r\n ['data-target-selector']?: string;\r\n}\r\n\r\n// Utility to safely retrieve SCSS class names\r\nconst getStyle = (className: string) => {\r\n if (styles[className]) return styles[className];\r\n const nestedMatch = Object.keys(styles).find((key) => key.includes(className));\r\n return nestedMatch ? styles[nestedMatch] : '';\r\n};\r\n\r\nexport const Button = ({\r\n className = '',\r\n buttonStyle,\r\n label,\r\n element,\r\n onClick,\r\n href,\r\n target,\r\n rel,\r\n type = 'button',\r\n ['data-target-selector']: dataTargetSelector,\r\n ...props\r\n }: ButtonProps) => {\r\n const mode = buttonStyle ? getStyle(`cmp-button--style-${buttonStyle}`) : '';\r\n const baseClass = getStyle('cmp-button');\r\n\r\n // Add js-modal class if data-target-selector is present\r\n const conditionalClasses = [\r\n baseClass,\r\n mode,\r\n className,\r\n dataTargetSelector ? 'js-modal' : ''\r\n ].filter(Boolean).join(' ').trim();\r\n\r\n // Infer element type\r\n const inferredElement: 'a' | 'button' = element\r\n || (href || dataTargetSelector ? 'a' : 'button');\r\n\r\n if (inferredElement === 'a') {\r\n return (\r\n <a\r\n className={conditionalClasses}\r\n href={href}\r\n target={target}\r\n rel={rel}\r\n data-target-selector={dataTargetSelector}\r\n {...props}\r\n >\r\n {label}\r\n </a>\r\n );\r\n }\r\n\r\n return (\r\n <button\r\n className={conditionalClasses}\r\n type={type as 'button' | 'submit' | 'reset'}\r\n onClick={onClick}\r\n {...props}\r\n >\r\n {label}\r\n </button>\r\n );\r\n};","import React, {HTMLAttributes, ReactNode, useCallback, useMemo} from \"react\";\r\nimport {AlgoliaDynamicSearchProps} from \"./algolia-dynamic-search.types\";\r\nimport {\r\n Card as DefaultCard,\r\n ProductCard as DefaultProductCard,\r\n ProductDetailsCard as DefaultProductDetailsCard,\r\n} from \"../../components/Card/card\";\r\nimport {Button as DefaultButton} from \"../../components/Button/Button\";\r\n\r\nif (process.env.STORYBOOK === \"true\") {\r\n require(\"./algolia-dynamic-search.scss\");\r\n}\r\n\r\nconst PRODUCT_DETAILS = \"productDetails\";\r\n\r\nexport interface DynamicHeadingProps\r\n extends HTMLAttributes<HTMLHeadingElement> {\r\n titleSize?: \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\";\r\n children?: ReactNode;\r\n}\r\n\r\nconst DynamicHeading: React.FC<DynamicHeadingProps> = ({\r\n titleSize = \"h2\",\r\n children,\r\n ...props\r\n }: DynamicHeadingProps) => {\r\n const Tag = [\"h2\", \"h3\", \"h4\", \"h5\", \"h6\"].includes(titleSize)\r\n ? titleSize\r\n : \"h2\";\r\n return <Tag {...props}>{children}</Tag>;\r\n};\r\n\r\nconst getCallToActionProps = (type: string | undefined, url: string) => {\r\n const callType = type?.toLowerCase();\r\n let finalUrl = url || \"\";\r\n let target = \"\";\r\n\r\n switch (callType) {\r\n case \"external\":\r\n target = \"_blank\";\r\n break;\r\n case \"email\":\r\n finalUrl = `mailto:${url}`;\r\n break;\r\n case \"phone\":\r\n finalUrl = `tel:${url}`;\r\n break;\r\n case \"internal\":\r\n default:\r\n // target remains empty, for same-window navigation\r\n break;\r\n }\r\n\r\n return {finalUrl, target};\r\n};\r\n\r\nexport const AlgoliaDynamicSearch = (\r\n {\r\n className = \"\",\r\n heading,\r\n titleSize,\r\n subtext,\r\n callToActionType,\r\n callToActionText,\r\n callToActionUrl,\r\n callToActionTargetSelector,\r\n queryType = \"unknown\",\r\n hits,\r\n hitCta,\r\n showProductPrice,\r\n query,\r\n hidespares,\r\n backgroundColour = \"\",\r\n maxResults = 10,\r\n isLoading = false,\r\n analytics,\r\n facets,\r\n innerComponents,\r\n }: AlgoliaDynamicSearchProps,\r\n useScopedStyles?: boolean,\r\n styles?: Record<string, string>\r\n) => {\r\n // Extract components from innerComponents with defaults\r\n\r\n const Card = innerComponents?.Card || DefaultCard;\r\n 3\r\n const ProductCard = innerComponents?.ProductCard || DefaultProductCard;\r\n const ProductDetailsCard =\r\n innerComponents?.ProductDetailsCard || DefaultProductDetailsCard;\r\n const Button = innerComponents?.Button || DefaultButton;\r\n\r\n // Helper to resolve CSS module class names properly\r\n const getClass = useCallback(\r\n (suffix: string) => {\r\n const fullClassName = `cmpAlgoliaDynamicSearchWidget${suffix}`;\r\n return useScopedStyles && styles ? styles[fullClassName] : fullClassName;\r\n },\r\n [useScopedStyles, styles]\r\n );\r\n\r\n // Helper for modifier classes (without the base prefix)\r\n const getModifierClass = useCallback(\r\n (modifier: string) => {\r\n return useScopedStyles && styles ? styles[modifier] : modifier;\r\n },\r\n [useScopedStyles, styles]\r\n );\r\n\r\n // Memoize background styling to prevent re-renders\r\n const widgetStyleProps = useMemo(() => {\r\n const backgroundStyles: {\r\n [key: string]: {\r\n buttonStyle: string;\r\n containerBackground: string;\r\n textColour: string;\r\n };\r\n } = {\r\n \"dark-grey\": {\r\n buttonStyle: \"outlineWhite\",\r\n containerBackground: getModifierClass(\"hasStyleGreyBackground\"),\r\n textColour: \"white\",\r\n },\r\n silver: {\r\n buttonStyle: \"primary\",\r\n containerBackground: getModifierClass(\r\n \"hasStyleSilverGradientBackground\"\r\n ),\r\n textColour: \"black\",\r\n },\r\n };\r\n return (\r\n backgroundStyles[backgroundColour.toLowerCase()] || {\r\n buttonStyle: \"primary\",\r\n containerBackground: \"\",\r\n textColour: \"black\",\r\n }\r\n );\r\n }, [backgroundColour, getModifierClass]);\r\n\r\n if (!hits || hits.length === 0) {\r\n return null;\r\n }\r\n\r\n const baseClass = getClass(\"\");\r\n\r\n // Memoize wrapper class names\r\n const wrapperClasses = useMemo(\r\n () =>\r\n [\r\n baseClass,\r\n widgetStyleProps.containerBackground,\r\n isLoading ? getModifierClass(\"isLoading\") : \"\",\r\n queryType === \"content\" ? getModifierClass(\"isQueryContent\") : \"\",\r\n ]\r\n .filter(Boolean)\r\n .join(\" \"),\r\n [\r\n baseClass,\r\n widgetStyleProps.containerBackground,\r\n isLoading,\r\n queryType,\r\n getModifierClass,\r\n ]\r\n );\r\n\r\n return (\r\n <div className={wrapperClasses}>\r\n {isLoading && (\r\n <div className={getClass(\"__placeholder\")}>\r\n <div className={getClass(\"__placeholder__loading\")}></div>\r\n </div>\r\n )}\r\n\r\n <div className={getClass(\"__container\")}>\r\n {queryType != PRODUCT_DETAILS && (\r\n <>\r\n <div className={getClass(\"__header\")}>\r\n <div className={getClass(\"__header__text\")}>\r\n <DynamicHeading titleSize={titleSize}>{heading}</DynamicHeading>\r\n <p>{subtext}</p>\r\n </div>\r\n {callToActionUrl && (\r\n <div className={getClass(\"__header__cta\")}>\r\n {(() => {\r\n const {finalUrl, target} = getCallToActionProps(\r\n callToActionType,\r\n callToActionUrl\r\n );\r\n const isAnchor =\r\n !!callToActionTargetSelector ||\r\n callToActionType?.toLowerCase() !== \"internal\";\r\n\r\n return (\r\n <Button\r\n element={isAnchor ? \"a\" : \"button\"}\r\n buttonStyle={widgetStyleProps?.buttonStyle}\r\n label={callToActionText}\r\n href={isAnchor ? finalUrl : undefined}\r\n target={target}\r\n rel={\r\n target === \"_blank\"\r\n ? \"noopener noreferrer\"\r\n : undefined\r\n }\r\n data-target-selector={callToActionTargetSelector}\r\n onClick={\r\n !isAnchor\r\n ? () => {\r\n if (finalUrl) {\r\n window.open(\r\n finalUrl,\r\n target || \"_self\",\r\n target === \"_blank\"\r\n ? \"noopener,noreferrer\"\r\n : undefined\r\n );\r\n }\r\n }\r\n : undefined\r\n }\r\n />\r\n );\r\n })()}\r\n </div>\r\n )}\r\n </div>\r\n </>\r\n )}\r\n <div\r\n className={\r\n queryType == PRODUCT_DETAILS\r\n ? getClass(\"__cards__cardSingle\")\r\n : getClass(\"__cards\")\r\n }\r\n >\r\n {hits.slice(0, maxResults).map((hit: any, index: number) => {\r\n let Component = Card;\r\n let title = hit.title;\r\n let cardStyle = \"\";\r\n let imageUrl = hit.image;\r\n\r\n const hitUtm = new URLSearchParams({\r\n utm_source: \"web\",\r\n utm_medium: \"alg\",\r\n utm_campaign: query || \"dynamic search\",\r\n }).toString();\r\n\r\n let separator = hit.link.includes(\"?\") ? \"&\" : \"?\";\r\n let cardLink = `${hit.link}${separator}${hitUtm}`;\r\n\r\n let contentCategoryLabel = hit.contentCategoryLabel || \"\";\r\n let contentCategoryColour = hit.contentCategoryColour || \"\";\r\n let price = showProductPrice ? hit.price : \"\";\r\n\r\n let cardClassName = styles?.cmpCard;\r\n\r\n switch (queryType) {\r\n case \"products\":\r\n Component = ProductCard;\r\n cardStyle = \"type-card-product\";\r\n break;\r\n case \"content\":\r\n cardStyle = \"type-card-label\";\r\n break;\r\n case \"careers\":\r\n cardStyle = \"type-card-panel\";\r\n cardClassName = `cmp-card--type-careers`;\r\n imageUrl = \"\";\r\n break;\r\n case PRODUCT_DETAILS:\r\n cardStyle = \"type-card-panel\";\r\n Component = ProductDetailsCard;\r\n break;\r\n default:\r\n return null;\r\n }\r\n\r\n // Only create onClick handler if analytics is provided\r\n const handleClick = analytics\r\n ? () => {\r\n const {objectID, __position, __queryID} = hit;\r\n analytics(objectID, __queryID, __position);\r\n }\r\n : undefined;\r\n\r\n return (\r\n <>\r\n <Component\r\n key={hit.objectID || index}\r\n className={cardClassName}\r\n title={title}\r\n imageUrl={imageUrl}\r\n hit={hit}\r\n cta={hitCta}\r\n size=\"\"\r\n cardStyle={cardStyle}\r\n facets={facets}\r\n contentCategoryLabel={contentCategoryLabel}\r\n colour={contentCategoryColour}\r\n productPrice={price}\r\n showProductPrice={showProductPrice}\r\n cardLink={cardLink}\r\n city={hit.city}\r\n hidespares={hidespares}\r\n country={hit.country}\r\n onClick={handleClick}\r\n />\r\n </>\r\n );\r\n })}\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default AlgoliaDynamicSearch;\r\n","import AlgoBase from \"./algolia-dynamic-search-base\";\r\nimport styles from './algolia-dynamic-search.module.scss';\r\nimport { AlgoliaDynamicSearchProps, InnerComponents } from \"./algolia-dynamic-search.types\";\r\nimport { Card, ProductCard, ProductDetailsCard } from \"../../components/Card/card\";\r\nimport { Button } from \"../../components/Button/Button\";\r\n\r\n// Edwards-specific components\r\nconst edwardsComponents: InnerComponents = {\r\n Card,\r\n ProductCard,\r\n ProductDetailsCard,\r\n Button,\r\n};\r\n\r\nexport const AlgoliaDynamicSearchEdwards = (props: AlgoliaDynamicSearchProps) => {\r\n return AlgoBase({...props, innerComponents: edwardsComponents}, true, styles);\r\n};\r\n\r\nexport const AlgoliaDynamicSearchRaw = (props: AlgoliaDynamicSearchProps) => {\r\n return AlgoBase(props, false);\r\n};\r\n","import React from 'react';\r\nimport { PhoneInput } from 'react-international-phone';\r\n// Note: Consumer apps need to import 'react-international-phone/style.css' \r\n// or include equivalent styles for the phone input to display correctly\r\n\r\ninterface FormFieldBase {\r\n name: string;\r\n label?: string | React.ReactNode;\r\n id?: string;\r\n required?: boolean;\r\n hasError?: boolean;\r\n value?: string;\r\n placeholder?: string;\r\n errorMessage?: string;\r\n isDisabled?: boolean;\r\n onChange?: (e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement>) => void; // Add onChange\r\n checked?: boolean; // For checkboxes\r\n}\r\n\r\ninterface TextField extends FormFieldBase {\r\n type: \"text\" | \"email\" | \"textarea\";\r\n placeholder?: string;\r\n maxLength?: number;\r\n regex?: string;\r\n}\r\n\r\ninterface TelField extends FormFieldBase {\r\n type: \"tel\";\r\n placeholder?: string;\r\n defaultCountry?: string;\r\n onPhoneChange?: (phone: string) => void;\r\n regex?: string;\r\n}\r\n\r\ninterface HiddenField extends FormFieldBase {\r\n type: \"hidden\";\r\n}\r\n\r\ninterface SelectField extends FormFieldBase {\r\n type: \"select\";\r\n options?: option[];\r\n}\r\ninterface InfoField extends FormFieldBase {\r\n type: \"info\";\r\n}\r\n\r\ninterface option {\r\n value: string;\r\n label: string;\r\n disabled?: boolean;\r\n selected?: boolean;\r\n}\r\n\r\ninterface NumberField extends FormFieldBase {\r\n type: \"number\";\r\n min?: number;\r\n max?: number;\r\n step?: number;\r\n regex?: string;\r\n}\r\n\r\ninterface CheckboxField extends FormFieldBase {\r\n type: \"checkbox\";\r\n checked?: boolean; // Make checked explicit for checkbox\r\n}\r\n\r\nexport type FormFieldType = TextField | TelField | NumberField | CheckboxField | HiddenField | SelectField | InfoField;\r\n\r\nfunction RenderField(field: FormFieldType & {\r\n onChange?: (e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement>) => void;\r\n onPhoneChange?: (phone: string) => void;\r\n id?: string; // Add id prop here to pass to input\r\n}) {\r\n switch (field.type) {\r\n case \"text\":\r\n case \"email\":\r\n return <input\r\n value={field.value}\r\n name={field.name}\r\n type={field.type}\r\n placeholder={field.placeholder}\r\n disabled={field.isDisabled}\r\n onChange={field.onChange}\r\n id={field.id}\r\n maxLength={field.maxLength}\r\n />;\r\n case \"tel\":\r\n return <PhoneInput\r\n value={field.value || ''}\r\n onChange={(phone) => {\r\n if (field.onPhoneChange) {\r\n field.onPhoneChange(phone);\r\n } else if (field.onChange) {\r\n // Create a synthetic event for backwards compatibility\r\n const syntheticEvent = {\r\n target: { name: field.name, value: phone }\r\n } as React.ChangeEvent<HTMLInputElement>;\r\n field.onChange(syntheticEvent);\r\n }\r\n }}\r\n defaultCountry={field.defaultCountry || 'gb'}\r\n disabled={field.isDisabled}\r\n placeholder={field.placeholder}\r\n inputProps={{\r\n id: field.id,\r\n name: field.name\r\n }}\r\n />;\r\n case \"textarea\":\r\n return <textarea\r\n value={field.value}\r\n name={field.name}\r\n placeholder={field.placeholder}\r\n disabled={field.isDisabled}\r\n onChange={field.onChange as React.ChangeEventHandler<HTMLTextAreaElement>} // Cast for textarea\r\n id={field.id}\r\n maxLength={field.maxLength}\r\n />;\r\n case \"number\":\r\n return <input\r\n value={field.value}\r\n name={field.name}\r\n type={field.type}\r\n min={field.min}\r\n max={field.max}\r\n step={field.step}\r\n disabled={field.isDisabled}\r\n onChange={field.onChange}\r\n id={field.id}\r\n />;\r\n case \"checkbox\":\r\n return <input\r\n type=\"checkbox\"\r\n name={field.name}\r\n checked={field.checked}\r\n disabled={field.isDisabled}\r\n onChange={field.onChange}\r\n id={field.id}\r\n />;\r\n case \"info\":\r\n return <>\r\n <p>{field.label}</p>\r\n </>\r\n case \"hidden\":\r\n return <input value={field.value} type={field.type} name={field.name} id={field.id}/>;\r\n case \"select\":\r\n return (\r\n <>\r\n <select\r\n name={field.name}\r\n onChange={field.onChange}\r\n disabled={field.isDisabled}\r\n value={field.value}\r\n id={field.id}\r\n >\r\n {field.options && field.options.length > 0 && field.options?.map((o: option) => (\r\n <option disabled={o.disabled} selected={o.selected} key={o.value}\r\n value={o.value}>{o.label}</option>\r\n ))}\r\n </select>\r\n <span className=\"select-custom-arrow\"></span>\r\n </>\r\n );\r\n default:\r\n return null;\r\n }\r\n}\r\n\r\nexport const FormFieldRenderer = (props: FormFieldType & {\r\n onChange?: (e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement>) => void;\r\n onPhoneChange?: (phone: string) => void;\r\n id?: string;\r\n checked?: boolean;\r\n}) => {\r\n return RenderField(props)\r\n}","import React, {useEffect, useState} from 'react'\r\nimport {v4 as uuidv4} from 'uuid';\r\nimport {FormFieldRenderer, FormFieldType} from \"@stories/experiences/QRFormJourney/FormFieldType\";\r\n\r\n\r\nexport const QrFormField = (props: FormFieldType & {\r\n onChange?: (e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement>) => void;\r\n errorMessage?: string;\r\n required?: boolean;\r\n}) => {\r\n\r\n const [inputId, setInputId] = useState('');\r\n\r\n useEffect(() => {\r\n setInputId(uuidv4());\r\n }, []);\r\n\r\n const supportsValue = props.type !== \"checkbox\";\r\n\r\n return (props.type ?\r\n <div\r\n className={(props.hasError ? \"error\" : \"\") + \" qr-form-filed-wrapper\" + (props.isDisabled ? \" disabled\" : \"\") + \" \" + props.type\r\n + (!!props.value && props.value.length > 0 ? \"\" : \" has-no-value\")}>\r\n <label htmlFor={inputId}>\r\n <span className=\"label\">{props.label} {props.required &&\r\n <span className=\"required-asterisk\">*</span>}</span>\r\n <FormFieldRenderer\r\n key={props.name}\r\n type={props.type}\r\n value={supportsValue ? props.value : undefined}\r\n {...(props.type === \"checkbox\" ? {checked: props.checked} : {})}\r\n name={props.name}\r\n isDisabled={props.isDisabled}\r\n {...(props.type === \"text\" || props.type === \"email\" || props.type === \"tel\" || props.type === \"textarea\" || props.type === \"number\"\r\n ? {regex: props.regex}\r\n : {})}\r\n id={inputId}\r\n onChange={props.onChange}\r\n {...(props.type === \"number\" ? {\r\n min: (props as any).min,\r\n max: (props as any).max,\r\n step: (props as any).step\r\n } : {})}\r\n {...(props.type === \"select\" ? {options: (props as any).options} : {})}\r\n placeholder={`${props.placeholder} ${props.required ? \"*\" : \"\"}`}\r\n maxLength={(props as any).maxLength}\r\n />\r\n </label>\r\n {props.errorMessage && props.hasError &&\r\n <span className=\"formfield-error\"> {props.errorMessage}</span>}\r\n </div> : <></>\r\n )\r\n}","import { useEffect, useState } from \"react\";\r\n\r\nexport function useIsMobile() {\r\n const query = \"(max-width: 960px)\";\r\n const media = typeof window !== \"undefined\" ? window.matchMedia(query) : null;\r\n\r\n const [isMobile, setIsMobile] = useState(media ? media.matches : false);\r\n\r\n useEffect(() => {\r\n if (!media) return;\r\n\r\n const handler = () => setIsMobile(media.matches);\r\n media.addEventListener(\"change\", handler);\r\n return () => media.removeEventListener(\"change\", handler);\r\n }, [media]);\r\n\r\n return isMobile;\r\n}\r\n","export type qrFormTranslations = {\r\n next?: string\r\n previous?: string\r\n submit?: string\r\n validationError?: string\r\n\r\n pageTitle_productInformation?: string,\r\n pageTitle_aboutYou?: string,\r\n pageTitle_contactDetails?: string,\r\n pageTitle_consents?: string,\r\n\r\n label_howMayWeHelpYou?: string,\r\n label_customerSupport?: string,\r\n label_technicalSupport?: string,\r\n label_ProductDetails?: string,\r\n label_warrantyClaim?: string,\r\n label_serviceRequest?: string,\r\n label_oilAndSpares?: string,\r\n label_other?: string,\r\n\r\n label_tellUsMore?: string,\r\n label_tellUsMoreOptional?: string,\r\n section_scannedProductDetails?: string,\r\n\r\n label_serialNumber?:string,\r\n label_productNumber?:string,\r\n label_softwareVersion?:string,\r\n label_runningTime?:string,\r\n label_productHierarchy?:string,\r\n\r\n label_title?: string,\r\n label_lastName?: string,\r\n label_firstName?: string,\r\n label_company?: string,\r\n\r\n label_country?: string,\r\n label_email?: string,\r\n label_phone?: string,\r\n label_city?: string,\r\n label_postcodeOrZip?: string,\r\n\r\n consent_acceptPolicy?: string,\r\n consent_viewPolicy?: string,\r\n consent_default?: string,\r\n consent_requiredMessage?: string\r\n lang?: string\r\n form_generic_error?: string\r\n}\r\n\r\nexport const defaultQrFormTranslations: Required<qrFormTranslations> = {\r\n next: \"Next\",\r\n previous: \"Previous\",\r\n submit: \"Submit\",\r\n validationError: \"Please ensure the information provided in this field is valid and complete.\",\r\n\r\n pageTitle_productInformation: \"Product information\",\r\n pageTitle_aboutYou: \"About you\",\r\n pageTitle_contactDetails: \"Your contact details\",\r\n pageTitle_consents: \"Form consent\",\r\n\r\n label_howMayWeHelpYou: \"How may we help you?\",\r\n label_customerSupport: \"Customer support\",\r\n label_technicalSupport: \"Technical support\",\r\n label_ProductDetails: \"Product information\",\r\n label_warrantyClaim: \"Warranty claim\",\r\n label_serviceRequest: \"Service request\",\r\n label_oilAndSpares: \"Oil and spares\",\r\n label_other: \"Other\",\r\n label_tellUsMore: \"Tell us more\",\r\n label_tellUsMoreOptional: \"Tell us more about your issue (optional)\",\r\n section_scannedProductDetails: \"Scanned Product Details\",\r\n\r\n\r\n label_serialNumber:\"Serial number\",\r\n label_productNumber:\"Product number\",\r\n label_softwareVersion:\"Software version\",\r\n label_runningTime:\"Running time\",\r\n label_productHierarchy:\"Product hierarchy\",\r\n\r\n label_title: \"Title\",\r\n label_lastName: \"Last Name\",\r\n label_firstName: \"First Name\",\r\n label_company: \"Company\",\r\n\r\n label_country: \"Country\",\r\n label_email: \"Email\",\r\n label_phone: \"Phone\",\r\n label_city: \"City\",\r\n label_postcodeOrZip: \"Postcode or ZIP\",\r\n\r\n consent_acceptPolicy: \"I accept the policy\",\r\n consent_viewPolicy: \"View Policy\",\r\n consent_default: \"Consent\",\r\n consent_requiredMessage: \"Please acknowledge this consent\",\r\n lang: \"en\",\r\n form_generic_error: \"We couldn’t process your form. Please try again shortly\"\r\n}\r\n","import {useEffect} from \"react\";\r\nimport {WidgetInstance} from \"friendly-challenge\";\r\nimport \"./FriendlyCaptcha.scss\";\r\n\r\ntype Props = {\r\n onComplete?: (response: string) => void;\r\n sitekey: string;\r\n element?: HTMLElement | null;\r\n onExpire?: () => void;\r\n doneCallback?: () => void;\r\n};\r\n\r\nexport const FriendlyCaptcha = (props: Props) => {\r\n\r\n useEffect(() => {\r\n \r\n if (props.element) {\r\n const sdk = new WidgetInstance(props.element, {startMode: \"auto\",\r\n doneCallback: (solution: string) => {\r\n if (props.onComplete) props.onComplete(solution);\r\n if (props.doneCallback) props.doneCallback();\r\n },\r\n });\r\n\r\n try {\r\n sdk.start();\r\n } catch (e) {\r\n console.error(\"FriendlyCaptcha initialization failed\", e);\r\n }\r\n }\r\n }, [props.element]);\r\n return null;\r\n};\r\n","import React, {memo, useEffect, useRef} from \"react\";\r\nimport \"./NetEaseCaptcha.scss\";\r\n\r\ninterface NetEaseCaptchaProps {\r\n captchaId: string;\r\n onSuccess: (validate: string) => void;\r\n}\r\n\r\nexport const NetEaseCaptcha = memo(({captchaId, onSuccess}: NetEaseCaptchaProps) => {\r\n const containerRef = useRef<HTMLDivElement>(null);\r\n const isInitialized = useRef(false); // Track if already loaded\r\n\r\n useEffect(() => {\r\n // Prevent double initialization in Strict Mode or on parent re-renders\r\n if (isInitialized.current) return;\r\n\r\n const initCaptcha = () => {\r\n if ((window as any).initNECaptcha && containerRef.current) {\r\n (window as any).initNECaptcha({\r\n captchaId: captchaId,\r\n element: containerRef.current,\r\n mode: 'float',\r\n width: 'auto',\r\n onVerify: (err: any, data: any) => {\r\n if (!err && data.validate) {\r\n onSuccess(data.validate);\r\n }\r\n }\r\n }, (instance: any) => {\r\n isInitialized.current = true;\r\n });\r\n }\r\n };\r\n\r\n if (!(window as any).initNECaptcha) {\r\n const script = document.createElement(\"script\");\r\n script.src = \"https://cstaticdun.126.net/load.min.js\";\r\n script.async = true;\r\n script.onload = initCaptcha;\r\n document.body.appendChild(script);\r\n } else {\r\n initCaptcha();\r\n }\r\n\r\n // Note: We removed the .destroy() on unmount here\r\n // to keep the instance alive if the component stays in the DOM.\r\n }, [captchaId]); // Only restart if the ID changes\r\n\r\n return <div ref={containerRef} style={{minHeight: '50px'}}/>;\r\n});\r\n\r\nNetEaseCaptcha.displayName = \"NetEaseCaptcha\";","import React, {useEffect, useRef, useState} from \"react\";\r\nimport {FormFieldType as FormFieldDefinition} from \"../FormFieldType\";\r\nimport './qr-form.scss';\r\nimport {QrFormField} from \"@stories/experiences/QRFormJourney/Qr-form-field/Qr-form-field\";\r\nimport {Button as DefaultButton} from \"@stories/components/Button/Button\";\r\nimport {useIsMobile} from \"../../../../utils/helpers/isMobile\";\r\nimport {defaultQrFormTranslations, qrFormTranslations} from \"./i18n\"\r\nimport {FriendlyCaptcha} from \"@stories/experiences/QRFormJourney/Friendly-captcha/FriendlyCaptcha\";\r\nimport {NetEaseCaptcha} from \"./../NetEaseCaptcha/NetEaseCaptcha\";\r\n\r\n\r\ntype FormValues = {\r\n [key: string]: any;\r\n};\r\n\r\ntype FormErrors = {\r\n [key: string]: boolean;\r\n};\r\n\r\n\r\nexport type qrCodeFormProps = {\r\n hubspotId: string\r\n hubspotAppId: string\r\n formAction: string\r\n fields: FormFieldDefinition[]\r\n formHeader?: string\r\n validate?: (values: FormValues, currentPage: number) => FormErrors | null;\r\n onSubmit?: (values: FormValues) => void | boolean;\r\n thankYouTitle?: string\r\n thankYouText?: string\r\n thankYouButtonLabel?: string\r\n noThankYou?: boolean\r\n showThankYou?: boolean\r\n consentTypeId?: string\r\n consents?: consentProps[]\r\n /** Custom Button component - defaults to Edwards Button if not provided */\r\n ButtonComponent?: React.ComponentType<any>;\r\n captchaKey?: string | undefined\r\n isChina?: boolean\r\n fatalError?: boolean\r\n};\r\n\r\nexport type consentProps = {\r\n policyMandatory?: boolean\r\n policyText?: string\r\n policyLink?: string\r\n type?: string | null\r\n}\r\n\r\nexport type qrFormButtonProps = {\r\n buttonText: string\r\n linkType: string\r\n url: string\r\n newTab: boolean\r\n};\r\n\r\nexport type allQrFromProps = qrCodeFormProps & qrFormTranslations & qrFormButtonProps;\r\n\r\nexport const QrForm = (props: allQrFromProps) => {\r\n const [currentPage, setCurrentPage] = useState(0);\r\n const [formValues, setFormValues] = useState<FormValues>({});\r\n const [errors, setErrors] = useState<FormErrors>({});\r\n const [showErrors, setShowErrors] = useState<boolean>(false);\r\n const isMobile: boolean = useIsMobile();\r\n const [countryOptions, setCountryOptions] = useState<{ value: string; label: string }[] | null>(null);\r\n const [isLoadingCountries, setIsLoadingCountries] = useState(true);\r\n const [captchaElRef, setCaptchaElRef] = useState<HTMLDivElement | null>(null);\r\n // Use custom Button component if provided, otherwise use default\r\n const Button = props.ButtonComponent || DefaultButton;\r\n const [showSubmit, setShowSubmit] = useState(false);\r\n const i18n = {...defaultQrFormTranslations, ...props} as Required<qrFormTranslations>;\r\n const buttonProps = props as qrFormButtonProps;\r\n\r\n const consentFields: FormFieldDefinition[] =\r\n props.consents?.map((consent, index) => ({\r\n type: consent.type === \"info\" ? \"info\" : \"checkbox\",\r\n name: `consent_${index + 1}`,\r\n label: consent.policyLink\r\n ? <span>{consent.policyText || i18n.consent_acceptPolicy} <a href={consent.policyLink} target=\"_blank\"\r\n rel=\"noopener noreferrer\">{i18n.consent_viewPolicy || \"View Policy\"}</a></span>\r\n : consent.policyText\r\n ? consent.policyText\r\n : `${i18n.consent_default}${index + 1}`,\r\n value: \"true\",\r\n required: !!consent.policyMandatory,\r\n errorMessage: consent.policyMandatory\r\n ? i18n.consent_requiredMessage\r\n : \"\",\r\n })) || [];\r\n\r\n const captchaWidgetRef = useRef<HTMLDivElement>(null);\r\n\r\n useEffect(() => {\r\n const initialValues: FormValues = {};\r\n props.fields.forEach(field => {\r\n initialValues[field.name] = field.value || '';\r\n });\r\n\r\n setFormValues(initialValues);\r\n }, [props.fields]);\r\n\r\n useEffect(() => {\r\n async function loadCountries() {\r\n const fallbackCountries = [\r\n {value: \"us\", label: \"United States\"},\r\n {value: \"gb\", label: \"United Kingdom\"},\r\n {value: \"de\", label: \"Germany\"},\r\n {value: \"fr\", label: \"France\"},\r\n {value: \"cn\", label: \"China\"},\r\n {value: \"other\", label: \"Other\"},\r\n ];\r\n\r\n try {\r\n const res = await fetch(\"/etc.clientlibs/vtba/clientlibs/resources/countries.json\");\r\n if (!res.ok) throw new Error(`HTTP ${res.status}`);\r\n const data = await res.json();\r\n setCountryOptions(data?.options || fallbackCountries);\r\n } catch (err) {\r\n console.warn(\"Could not fetch countries.json, using fallback:\", err);\r\n setCountryOptions(fallbackCountries);\r\n } finally {\r\n setIsLoadingCountries(false);\r\n }\r\n }\r\n\r\n loadCountries();\r\n }, []);\r\n\r\n\r\n useEffect(() => {\r\n async function fetchCity() {\r\n try {\r\n const res = await fetch('https://ipapi.co/json/');\r\n if (!res.ok) throw new Error('IP lookup failed');\r\n const data = await res.json();\r\n if (data.city) {\r\n setFormValues(prev => ({...prev, ip_location: data.city}));\r\n }\r\n } catch (err) {\r\n console.warn('Could not resolve city from IP:', err);\r\n }\r\n }\r\n\r\n fetchCity();\r\n }, []);\r\n\r\n\r\n const pageTitles: string[] = [\r\n i18n.pageTitle_productInformation,\r\n i18n.pageTitle_aboutYou,\r\n i18n.pageTitle_contactDetails,\r\n i18n.pageTitle_consents\r\n ]\r\n\r\n const pages: (FormFieldDefinition[])[] = [\r\n /*page 1*/\r\n [...props.fields, {\r\n type: \"select\",\r\n name: \"how_can_we_help\",\r\n options: [\r\n {label: i18n.label_howMayWeHelpYou, value: \"\", selected: true, disabled: true},\r\n {label: i18n.label_technicalSupport, value: \"technical support\"},\r\n {label: i18n.label_warrantyClaim, value: \"warranty claim\"},\r\n {label: i18n.label_serviceRequest, value: \"service request\"},\r\n {label: i18n.label_oilAndSpares, value: \"oil and spares\"},\r\n {label: i18n.label_other, value: \"other\"}\r\n ]\r\n },\r\n {\r\n type: \"textarea\",\r\n name: \"tell_us_more\",\r\n placeholder: i18n.label_tellUsMoreOptional,\r\n label: i18n.label_tellUsMoreOptional\r\n }\r\n ],\r\n /*page 2*/\r\n [\r\n {type: \"text\", name: \"title\", label: i18n.label_title, placeholder: i18n.label_title},\r\n {\r\n type: \"text\",\r\n name: \"lastname\",\r\n label: i18n.label_lastName,\r\n placeholder: i18n.label_lastName,\r\n required: true\r\n },\r\n {\r\n type: \"text\",\r\n name: \"firstname\",\r\n label: i18n.label_firstName,\r\n placeholder: i18n.label_firstName,\r\n required: true\r\n },\r\n {type: \"text\", name: \"company\", label: i18n.label_company, placeholder: i18n.label_company},\r\n\r\n ],\r\n /*page 3*/\r\n [\r\n {type: \"select\", name: \"country\", label: i18n.label_country, options: countryOptions || []},\r\n {\r\n type: \"email\",\r\n name: \"email\",\r\n label: i18n.label_email,\r\n placeholder: i18n.label_email,\r\n required: true,\r\n errorMessage: i18n.validationError\r\n },\r\n {\r\n type: \"tel\",\r\n name: \"phone\",\r\n label: i18n.label_phone,\r\n placeholder: i18n.label_phone,\r\n required: false,\r\n }, {\r\n type: \"text\",\r\n name: \"city\",\r\n label: i18n.label_city,\r\n placeholder: i18n.label_city,\r\n required: false,\r\n }, {\r\n type: \"text\",\r\n name: \"postcodeOrZip\",\r\n label: i18n.label_postcodeOrZip,\r\n placeholder: i18n.label_postcodeOrZip,\r\n required: false,\r\n },\r\n\r\n ],\r\n /*Page 4*/\r\n [...consentFields]\r\n ]\r\n\r\n const handleChange = (name: string, value: any) => {\r\n setFormValues(prevValues => ({\r\n ...prevValues,\r\n [name]: value\r\n }));\r\n // When a field changes, we might want to clear its error IF errors are currently shown\r\n // but for now, we'll only show errors AFTER a navigation/submit attempt.\r\n // So, we don't clear individual errors here to maintain the \"show all errors on validation\" behavior.\r\n };\r\n\r\n const validatePage = (page: number): boolean => {\r\n let pageIsValid = true;\r\n const newErrors: FormErrors = {};\r\n\r\n const getFieldsForPage = (pageNumber: number): FormFieldDefinition[] => {\r\n return pages[pageNumber] ? pages[pageNumber] : []\r\n };\r\n\r\n const fieldsToValidate = getFieldsForPage(page);\r\n\r\n fieldsToValidate.forEach(field => {\r\n const value = formValues[field.name];\r\n\r\n if (field.required) {\r\n if (!value || (typeof value === 'string' && value.trim() === '')) {\r\n newErrors[field.name] = true;\r\n pageIsValid = false;\r\n }\r\n }\r\n\r\n // Regex Validation\r\n const fieldWithRegex = field as (FormFieldDefinition & { regex?: string });\r\n if (fieldWithRegex.regex && value && typeof value === 'string' && value.trim() !== '') {\r\n try {\r\n const regex = new RegExp(fieldWithRegex.regex);\r\n if (!regex.test(value)) {\r\n newErrors[field.name] = true;\r\n pageIsValid = false;\r\n }\r\n } catch (e) {\r\n console.error(`Invalid regex for field ${field.name}:`, fieldWithRegex.regex, e);\r\n }\r\n }\r\n\r\n });\r\n\r\n if (props.validate) {\r\n const customErrors = props.validate(formValues, page);\r\n if (customErrors) {\r\n Object.assign(newErrors, customErrors);\r\n if (Object.keys(customErrors).some(key => customErrors[key] !== undefined)) {\r\n pageIsValid = false;\r\n }\r\n }\r\n }\r\n setErrors(newErrors); // Set the errors for the *current* validation run\r\n return pageIsValid;\r\n };\r\n\r\n const handleSubmit = async (ev: React.FormEvent) => {\r\n ev.preventDefault();\r\n setShowErrors(true); // Attempting to submit, so show errors\r\n if (validatePage(currentPage)) {\r\n if (props.onSubmit) {\r\n props.onSubmit(formValues);\r\n } else {\r\n console.log(\"Form submitted with values:\", formValues);\r\n }\r\n } else {\r\n console.error(\"Form has errors on the current page, cannot submit.\");\r\n }\r\n };\r\n\r\n function formNavigate(ev: React.MouseEvent<HTMLButtonElement>): void {\r\n ev.preventDefault();\r\n const el = ev.target as HTMLButtonElement;\r\n const pageTarget = el.dataset.page_target;\r\n let pageTargetInt = currentPage;\r\n if (pageTarget) {\r\n pageTargetInt = parseInt(pageTarget, 10)\r\n }\r\n setShowErrors(true); // Attempting to navigate, so show errors\r\n if (pageTargetInt > -1) {\r\n\r\n if (currentPage > pageTargetInt || validatePage(currentPage)) {\r\n setCurrentPage(pageTargetInt);\r\n setShowErrors(false); // Hide errors when successfully navigated to a new page\r\n setErrors({}); // Clear errors from previous page as well\r\n\r\n } else {\r\n console.error(\"Validation failed on current page, cannot navigate.\");\r\n }\r\n }\r\n }\r\n\r\n const renderQrFormField = (field: FormFieldDefinition) => {\r\n // if field name is equal to \"serial-number\", \"product-number\", \"software-version\", or \"running-time\", don't render the field if the value is empty\r\n if (field.name === \"serial-number\" || field.name === \"product-number\" || field.name === \"software-version\" || field.name === \"running-time\") {\r\n if (!formValues[field.name]) {\r\n return null;\r\n }\r\n }\r\n return (\r\n <QrFormField\r\n {...field}\r\n key={field.name}\r\n label={field.label}\r\n value={formValues[field.name]}\r\n onChange={(e) => handleChange(field.name, e.target.value)}\r\n isDisabled={field.isDisabled}\r\n errorMessage={field.errorMessage}\r\n hasError={errors[field.name] || false}\r\n required={field.required}\r\n {...(field.type === \"text\" || field.type === \"email\" || field.type === \"tel\" || field.type === \"textarea\" || field.type === \"number\"\r\n ? {regex: (field as any).regex}\r\n : {})}\r\n />\r\n );\r\n }\r\n\r\n interface FormSectionProps {\r\n pageIndex: number,\r\n startFromFieldIndex?: number,\r\n endFieldIndex?: number,\r\n generateButtons?: boolean,\r\n sectionTitle?: string\r\n }\r\n\r\n const renderProgressBar = (pageIndex: number) => {\r\n\r\n return isMobile ? (<div className=\"progress-indicator\">\r\n <span className=\"progress-text\">{pageIndex + 1} / {pages.length}</span>\r\n\r\n <span className=\"progress-visual\"\r\n // @ts-ignore --percent is a css variable I used it to manipulate the chart i.e. its pure css but ts set for style pros doesnt include variables yet\r\n style={{'--percent': `${(100 / pages.length) * (pageIndex + 1)}%`}}></span>\r\n </div>) : <></>\r\n }\r\n const renderFormSection = (fsp: FormSectionProps) => {\r\n\r\n const {\r\n pageIndex,\r\n startFromFieldIndex,\r\n endFieldIndex,\r\n generateButtons = true,\r\n sectionTitle\r\n } = fsp;\r\n\r\n const fields = pages[pageIndex] || [];\r\n\r\n\r\n if (currentPage !== pageIndex) return null;\r\n\r\n const from = startFromFieldIndex ?? 0;\r\n const to = endFieldIndex ?? fields.length;\r\n const fieldsSubset = fields.slice(from, to);\r\n\r\n const isPartial = startFromFieldIndex !== undefined || endFieldIndex !== undefined;\r\n const isFirstPage = pageIndex === 0;\r\n const isLastPage = pageIndex === pages.length - 1;\r\n\r\n\r\n const navButtons = generateButtons && (\r\n <div className=\"qr-form-navigation\">\r\n {!isFirstPage ? (\r\n <Button label={i18n?.previous} onClick={formNavigate}\r\n data-page_target={pageIndex - 1} buttonStyle=\"secondary\"/>\r\n ) : <div></div>}\r\n {!isLastPage ? (\r\n <Button label={i18n?.next} onClick={formNavigate}\r\n data-page_target={pageIndex + 1} buttonStyle=\"primary\"/>\r\n ) : (\r\n <>\r\n {(!props.captchaKey || showSubmit) &&\r\n <Button label={i18n?.submit} onClick={handleSubmit} buttonStyle=\"primary\"\r\n element=\"button\"\r\n type=\"submit\"/>}\r\n </>\r\n )}\r\n </div>\r\n );\r\n\r\n if (isPartial) {\r\n return (\r\n <>\r\n <div className=\"qr-form-fields\">\r\n {fieldsSubset.map((field) => renderQrFormField(field))}\r\n </div>\r\n {generateButtons && navButtons}\r\n </>\r\n );\r\n }\r\n\r\n return (\r\n <section\r\n key={pageIndex}\r\n className=\"qr-form-page-section active\"\r\n data-page={pageIndex + 1}\r\n >\r\n {isMobile && <div className=\"header-wrapper\">\r\n {renderProgressBar(pageIndex)}\r\n <h2>{sectionTitle}</h2>\r\n </div>}\r\n <div className=\"qr-form-fields\">\r\n {fieldsSubset.map((field) => renderQrFormField(field))}\r\n </div>\r\n {navButtons}\r\n </section>\r\n );\r\n };\r\n\r\n\r\n return (\r\n <div className={`qr-journey-form-wrapper desktop-${!isMobile}`}>\r\n {!props.showThankYou ?\r\n (<>\r\n {!isMobile && <div className={\"form-progress\"}>\r\n {props.formHeader && currentPage === 0 && <h1>{props.formHeader}</h1>}\r\n <ul className={`progress-indicator-desktop current-page-${currentPage} ${currentPage === 0 ? \"first-page\" : \"\"}`}>\r\n {pages.map((_, index) => (\r\n <li className={`${currentPage >= index ? \"checked\" : \"\"} ${index === currentPage ? \"current-page\" : \"\"}`}\r\n key={index}>\r\n <div className=\"bullet-point\">\r\n <span>{index + 1}</span>\r\n </div>\r\n <h3>{pageTitles[index]}</h3>\r\n </li>\r\n ))}\r\n </ul>\r\n </div>}\r\n <form action={`${props.formAction}`}\r\n onSubmit={handleSubmit}>\r\n <div hidden={!props.fatalError} className=\"qr-form-critical-error-msg\">{i18n.form_generic_error}<span\r\n className=\"qr-form-critical-error-msg-close\"></span>\r\n </div>\r\n {currentPage === 0 && (\r\n <section\r\n key={1}\r\n className=\"qr-form-page-section\"\r\n data-page={1}>\r\n {isMobile && props.formHeader && <h1>{props.formHeader}</h1>}\r\n {isMobile &&\r\n <div className=\"header-wrapper\">\r\n <h2>{i18n.pageTitle_productInformation}</h2>\r\n {renderProgressBar(0)}\r\n </div>}\r\n <div className=\"disabled-product-fields-section\">\r\n <h2>{i18n.section_scannedProductDetails}</h2>\r\n {renderFormSection({\r\n pageIndex: 0,\r\n startFromFieldIndex: 0,\r\n endFieldIndex: 4,\r\n generateButtons: false\r\n })}\r\n </div>\r\n {renderFormSection({\r\n pageIndex: 0,\r\n startFromFieldIndex: 4,\r\n endFieldIndex: 6,\r\n generateButtons: true\r\n })}\r\n\r\n </section>\r\n )}\r\n\r\n {renderFormSection({pageIndex: 1, sectionTitle: pageTitles[1]})}\r\n {renderFormSection({pageIndex: 2, sectionTitle: pageTitles[2]})}\r\n {renderFormSection({pageIndex: 3, sectionTitle: pageTitles[3]})}\r\n {currentPage === pages.length - 1 &&\r\n (!props.isChina ?\r\n <>\r\n <div id=\"frc-widget\" className=\"vtba-friendly-captcha-react\"\r\n data-lang={i18n.lang}\r\n data-sitekey={props.captchaKey}\r\n ref={(el) => {\r\n setCaptchaElRef(el)\r\n }}>\r\n </div>\r\n {!!props.captchaKey && captchaElRef &&\r\n <FriendlyCaptcha sitekey={props.captchaKey}\r\n doneCallback={() => {\r\n setShowSubmit(true);\r\n }}\r\n element={captchaElRef}/>\r\n }\r\n </>\r\n :\r\n <>\r\n <div id=\"netease-widget\" className=\"ac-netease-captcha-wrapper\">\r\n {!!props.captchaKey && (\r\n <NetEaseCaptcha\r\n captchaId={props.captchaKey}\r\n onSuccess={(validateToken) => {\r\n setShowSubmit(true);\r\n }}\r\n />\r\n )}\r\n </div>\r\n </>\r\n )}\r\n <input type=\"hidden\" name=\"ip_location\" value={formValues.ip_location || ''}/>\r\n </form>\r\n </>) : (\r\n <div className=\"qr-form-thank-you-page\">\r\n <div className=\"title-wrapper\">\r\n <div className=\"submitted-checked\"></div>\r\n <h2>{props.thankYouTitle}</h2>\r\n </div>\r\n <p>{props.thankYouText}</p>\r\n <Button label={buttonProps.buttonText} href={buttonProps.url}\r\n target={buttonProps.newTab ? '_blank' : ''} buttonStyle='primary'/>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n};"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","rejected","result","done","then","__generator","body","_","label","sent","trys","ops","f","y","g","create","Iterator","verb","Symbol","iterator","v","op","TypeError","pop","push","__spreadArray","to","from","pack","l","ar","Array","slice","concat","SuppressedError","error","suppressed","message","Error","name","hasOwn","classNames","classes","arg","appendClass","parseValue","isArray","toString","includes","key","newClass","module","exports","default","window","AccordionSection","_a","title","children","_b","className","_c","defaultOpen","_d","lazyLoad","_e","useState","isOpen","setIsOpen","_f","hasBeenOpened","setHasBeenOpened","isToggling","useRef","toggleAccordion","useCallback","stopPropagation","preventDefault","current","requestAnimationFrame","prev","setTimeout","handleKeyDown","shouldRenderChildren","React","createElement","onClick","role","tabIndex","onKeyDown","style","transform","transition","FontAwesomeIcon","icon","faChevronDown","color","display","maxHeight","overflow","isDelimitedFacetValue","extractUnit","rawKey","parts","split","join","parseDelimitedFacetValue","entries","map","entry","val","undefined","unit","filter","getStyle","styles","nestedMatch","keys","find","FacetUnitSelector","usePlainClasses","selectedIndex","setSelectedIndex","isChanging","getClassName","selectedEntry","handleUnitChange","newIndex","Number","target","onChange","index","PLACEHOLDER_INDICATOR","cardSizeMapping","size","classSrting","isPlaceholderImg","imageUrl","Card","contentCategoryLabel","colour","date","cta","imageAlt","cardStyle","cardLink","city","country","mode","width","categoryColour","cardFooterColour","contentImage","placholderimg","classnames","href","src","alt","faChevronRight","faArrowRight","ProductCard","showImage","productPrice","showProductPrice","productImage","MAX_SPARES_TO_RENDER","ProductDetailsCard","hit","facets","ProductCardComponent","hidespares","hideSparesBool","SpareCard","renderSpares","spares","sparesToRender","spare","objectID","code","image","priceValue","price","url","link","facet","facetValue","isDelimited","returnsHTML","dangerouslySetInnerHTML","__html","Button","buttonStyle","element","rel","type","dataTargetSelector","props","baseClass","conditionalClasses","Boolean","trim","inferredElement","_extends","PRODUCT_DETAILS","DynamicHeading","titleSize","Tag","getCallToActionProps","callType","toLowerCase","finalUrl","AlgoliaDynamicSearch","useScopedStyles","heading","subtext","callToActionType","callToActionText","callToActionUrl","callToActionTargetSelector","queryType","hits","hitCta","query","backgroundColour","maxResults","isLoading","analytics","innerComponents","DefaultCard","DefaultProductCard","DefaultProductDetailsCard","DefaultButton","getClass","suffix","fullClassName","getModifierClass","modifier","widgetStyleProps","useMemo","backgroundStyles","containerBackground","textColour","silver","wrapperClasses","Fragment","isAnchor","open","Component","hitUtm","URLSearchParams","utm_source","utm_medium","utm_campaign","separator","contentCategoryColour","cardClassName","cmpCard","handleClick","__position","__queryID","edwardsComponents","AlgoliaDynamicSearchEdwards","AlgoBase","AlgoliaDynamicSearchRaw","RenderField","field","placeholder","disabled","isDisabled","id","maxLength","PhoneInput","phone","onPhoneChange","syntheticEvent","defaultCountry","inputProps","min","max","checked","options","o","selected","FormFieldRenderer","QrFormField","inputId","setInputId","useEffect","uuidv4","supportsValue","hasError","htmlFor","required","regex","errorMessage","useIsMobile","media","matchMedia","matches","isMobile","setIsMobile","handler","addEventListener","removeEventListener","defaultQrFormTranslations","previous","submit","validationError","pageTitle_productInformation","pageTitle_aboutYou","pageTitle_contactDetails","pageTitle_consents","label_howMayWeHelpYou","label_customerSupport","label_technicalSupport","label_ProductDetails","label_warrantyClaim","label_serviceRequest","label_oilAndSpares","label_other","label_tellUsMore","label_tellUsMoreOptional","section_scannedProductDetails","label_serialNumber","label_productNumber","label_softwareVersion","label_runningTime","label_productHierarchy","label_title","label_lastName","label_firstName","label_company","label_country","label_email","label_phone","label_city","label_postcodeOrZip","consent_acceptPolicy","consent_viewPolicy","consent_default","consent_requiredMessage","lang","form_generic_error","FriendlyCaptcha","sdk","WidgetInstance","startMode","doneCallback","solution","onComplete","start","console","NetEaseCaptcha","memo","captchaId","onSuccess","containerRef","isInitialized","initCaptcha","initNECaptcha","onVerify","err","data","validate","instance","script","document","async","onload","appendChild","ref","minHeight","displayName","QrForm","currentPage","setCurrentPage","formValues","setFormValues","errors","setErrors","showErrors","setShowErrors","countryOptions","setCountryOptions","_g","isLoadingCountries","setIsLoadingCountries","_h","captchaElRef","setCaptchaElRef","ButtonComponent","_j","showSubmit","setShowSubmit","i18n","buttonProps","consentFields","consents","consent","policyLink","policyText","policyMandatory","initialValues","fields","forEach","loadCountries","fallbackCountries","fetch","res","ok","status","json","warn","err_1","fetchCity","data_1","ip_location","err_2","pageTitles","pages","handleChange","prevValues","validatePage","page","pageIsValid","newErrors","getFieldsForPage","pageNumber","fieldsToValidate","fieldWithRegex","RegExp","test","customErrors_1","some","handleSubmit","ev","onSubmit","log","formNavigate","el","pageTarget","dataset","page_target","pageTargetInt","parseInt","renderQrFormField","renderProgressBar","pageIndex","renderFormSection","fsp","startFromFieldIndex","endFieldIndex","generateButtons","sectionTitle","fieldsSubset","isPartial","isFirstPage","isLastPage","navButtons","captchaKey","showThankYou","formHeader","action","formAction","hidden","fatalError","isChina","sitekey","validateToken","thankYouTitle","thankYouText","buttonText","newTab"],"mappings":"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","x_google_ignoreList":[0,1]}