@merchi/product-form 1.19.12

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 (188) hide show
  1. package/README.md +272 -0
  2. package/lib/actions/jobs.d.ts +3 -0
  3. package/lib/actions/jobs.js +80 -0
  4. package/lib/actions/leads.d.ts +7 -0
  5. package/lib/actions/leads.js +67 -0
  6. package/lib/components/AlertVariationSellerEditable.d.ts +6 -0
  7. package/lib/components/AlertVariationSellerEditable.js +46 -0
  8. package/lib/components/Collapse.d.ts +3 -0
  9. package/lib/components/Collapse.js +34 -0
  10. package/lib/components/DateCountdown.d.ts +44 -0
  11. package/lib/components/DateCountdown.js +188 -0
  12. package/lib/components/DropzoneInput.d.ts +10 -0
  13. package/lib/components/DropzoneInput.js +169 -0
  14. package/lib/components/DynamicVariationInput.d.ts +9 -0
  15. package/lib/components/DynamicVariationInput.js +71 -0
  16. package/lib/components/FormLead.d.ts +10 -0
  17. package/lib/components/FormLead.js +215 -0
  18. package/lib/components/GroupInventory.d.ts +6 -0
  19. package/lib/components/GroupInventory.js +16 -0
  20. package/lib/components/InputGroupQuantity.d.ts +8 -0
  21. package/lib/components/InputGroupQuantity.js +117 -0
  22. package/lib/components/InputHiddenStatic.d.ts +8 -0
  23. package/lib/components/InputHiddenStatic.js +24 -0
  24. package/lib/components/InputProductQuantity.d.ts +7 -0
  25. package/lib/components/InputProductQuantity.js +102 -0
  26. package/lib/components/InventoryStatus.d.ts +7 -0
  27. package/lib/components/InventoryStatus.js +67 -0
  28. package/lib/components/MerchiProductForm.d.ts +62 -0
  29. package/lib/components/MerchiProductForm.js +51 -0
  30. package/lib/components/PriceMatrix.d.ts +27 -0
  31. package/lib/components/PriceMatrix.js +106 -0
  32. package/lib/components/ProductButtonsSubmit.d.ts +3 -0
  33. package/lib/components/ProductButtonsSubmit.js +52 -0
  34. package/lib/components/ProductFeatureDeadline.d.ts +3 -0
  35. package/lib/components/ProductFeatureDeadline.js +25 -0
  36. package/lib/components/ProductGroupBuyStatus.d.ts +3 -0
  37. package/lib/components/ProductGroupBuyStatus.js +47 -0
  38. package/lib/components/ProductPriceMatrix.d.ts +3 -0
  39. package/lib/components/ProductPriceMatrix.js +51 -0
  40. package/lib/components/ProductTitle.d.ts +3 -0
  41. package/lib/components/ProductTitle.js +36 -0
  42. package/lib/components/ProductTotalCost.d.ts +3 -0
  43. package/lib/components/ProductTotalCost.js +74 -0
  44. package/lib/components/ProductUnitPrice.d.ts +7 -0
  45. package/lib/components/ProductUnitPrice.js +51 -0
  46. package/lib/components/TooltipElement.d.ts +9 -0
  47. package/lib/components/TooltipElement.js +35 -0
  48. package/lib/components/VariationAreaInput.d.ts +8 -0
  49. package/lib/components/VariationAreaInput.js +219 -0
  50. package/lib/components/VariationCheckBoxOrRadioOption.d.ts +10 -0
  51. package/lib/components/VariationCheckBoxOrRadioOption.js +82 -0
  52. package/lib/components/VariationCheckboxRadio.d.ts +17 -0
  53. package/lib/components/VariationCheckboxRadio.js +57 -0
  54. package/lib/components/VariationColourExtractInput.d.ts +8 -0
  55. package/lib/components/VariationColourExtractInput.js +395 -0
  56. package/lib/components/VariationError.d.ts +7 -0
  57. package/lib/components/VariationError.js +52 -0
  58. package/lib/components/VariationFieldInputInstructions.d.ts +10 -0
  59. package/lib/components/VariationFieldInputInstructions.js +50 -0
  60. package/lib/components/VariationFieldInstructions.d.ts +3 -0
  61. package/lib/components/VariationFieldInstructions.js +22 -0
  62. package/lib/components/VariationFieldNameAndCostInputs.d.ts +7 -0
  63. package/lib/components/VariationFieldNameAndCostInputs.js +34 -0
  64. package/lib/components/VariationFieldOptionDefaultInputs.d.ts +7 -0
  65. package/lib/components/VariationFieldOptionDefaultInputs.js +48 -0
  66. package/lib/components/VariationFieldStaticValues.d.ts +8 -0
  67. package/lib/components/VariationFieldStaticValues.js +57 -0
  68. package/lib/components/VariationFileInput.d.ts +8 -0
  69. package/lib/components/VariationFileInput.js +229 -0
  70. package/lib/components/VariationInput.d.ts +11 -0
  71. package/lib/components/VariationInput.js +97 -0
  72. package/lib/components/VariationLabel.d.ts +11 -0
  73. package/lib/components/VariationLabel.js +85 -0
  74. package/lib/components/VariationOptionColour.d.ts +8 -0
  75. package/lib/components/VariationOptionColour.js +50 -0
  76. package/lib/components/VariationOptionImage.d.ts +8 -0
  77. package/lib/components/VariationOptionImage.js +52 -0
  78. package/lib/components/VariationSelect.d.ts +8 -0
  79. package/lib/components/VariationSelect.js +66 -0
  80. package/lib/components/VariationSelectElements.d.ts +16 -0
  81. package/lib/components/VariationSelectElements.js +141 -0
  82. package/lib/components/VariationTurnaroundTime.d.ts +9 -0
  83. package/lib/components/VariationTurnaroundTime.js +156 -0
  84. package/lib/components/Variations.d.ts +9 -0
  85. package/lib/components/Variations.js +109 -0
  86. package/lib/components/VariationsGroups.d.ts +8 -0
  87. package/lib/components/VariationsGroups.js +79 -0
  88. package/lib/components/buttons/ButtonAddGroup.d.ts +7 -0
  89. package/lib/components/buttons/ButtonAddGroup.js +38 -0
  90. package/lib/components/buttons/ButtonProductSubmit.d.ts +7 -0
  91. package/lib/components/buttons/ButtonProductSubmit.js +33 -0
  92. package/lib/components/buttons/ButtonRemoveGroup.d.ts +8 -0
  93. package/lib/components/buttons/ButtonRemoveGroup.js +25 -0
  94. package/lib/components/buttons/index.d.ts +4 -0
  95. package/lib/components/buttons/index.js +5 -0
  96. package/lib/components/cost.d.ts +11 -0
  97. package/lib/components/cost.js +44 -0
  98. package/lib/components/currency.d.ts +16 -0
  99. package/lib/components/currency.js +184 -0
  100. package/lib/components/drafts/DraftApprovePanel.d.ts +6 -0
  101. package/lib/components/drafts/DraftApprovePanel.js +315 -0
  102. package/lib/components/drafts/DraftCanvas.d.ts +13 -0
  103. package/lib/components/drafts/DraftCanvas.js +496 -0
  104. package/lib/components/drafts/DraftDesignerSheet.d.ts +9 -0
  105. package/lib/components/drafts/DraftDesignerSheet.js +685 -0
  106. package/lib/components/drafts/ProductDraftsHost.d.ts +3 -0
  107. package/lib/components/drafts/ProductDraftsHost.js +207 -0
  108. package/lib/components/drafts/useHtmlImage.d.ts +1 -0
  109. package/lib/components/drafts/useHtmlImage.js +45 -0
  110. package/lib/components/icons/IconChecked.d.ts +3 -0
  111. package/lib/components/icons/IconChecked.js +10 -0
  112. package/lib/components/icons/IconCheckedOrNoStock.d.ts +7 -0
  113. package/lib/components/icons/IconCheckedOrNoStock.js +13 -0
  114. package/lib/components/icons/IconCountryFlag.d.ts +8 -0
  115. package/lib/components/icons/IconCountryFlag.js +27 -0
  116. package/lib/components/icons/IconFile.d.ts +7 -0
  117. package/lib/components/icons/IconFile.js +41 -0
  118. package/lib/components/icons/IconNoStock.d.ts +3 -0
  119. package/lib/components/icons/IconNoStock.js +12 -0
  120. package/lib/components/icons/index.d.ts +5 -0
  121. package/lib/components/icons/index.js +6 -0
  122. package/lib/components/quoteAfterFieldChange.d.ts +7 -0
  123. package/lib/components/quoteAfterFieldChange.js +11 -0
  124. package/lib/components/quoteAfterFieldChange.test.js +58 -0
  125. package/lib/components/utils.d.ts +26 -0
  126. package/lib/components/utils.js +500 -0
  127. package/lib/context/MerchiProductFormProvider.d.ts +177 -0
  128. package/lib/context/MerchiProductFormProvider.js +1020 -0
  129. package/lib/images/product-not-found.png +0 -0
  130. package/lib/index.d.ts +42 -0
  131. package/lib/index.js +41 -0
  132. package/lib/styles/globals.css +1590 -0
  133. package/lib/styles/globals.css.map +1 -0
  134. package/lib/styles/globals.scss +1698 -0
  135. package/lib/utils/area.d.ts +77 -0
  136. package/lib/utils/area.js +298 -0
  137. package/lib/utils/cleanFormVariationJson.d.ts +5 -0
  138. package/lib/utils/cleanFormVariationJson.js +39 -0
  139. package/lib/utils/cleanFormVariationJson.test.js +54 -0
  140. package/lib/utils/countries.d.ts +7 -0
  141. package/lib/utils/countries.js +290 -0
  142. package/lib/utils/currency.d.ts +2 -0
  143. package/lib/utils/currency.js +188 -0
  144. package/lib/utils/draftExport.d.ts +21 -0
  145. package/lib/utils/draftExport.js +481 -0
  146. package/lib/utils/draftExport.test.js +78 -0
  147. package/lib/utils/draftFonts.d.ts +55 -0
  148. package/lib/utils/draftFonts.js +68 -0
  149. package/lib/utils/draftStorage.d.ts +25 -0
  150. package/lib/utils/draftStorage.js +148 -0
  151. package/lib/utils/draftStorage.test.js +125 -0
  152. package/lib/utils/draftTemplates.d.ts +87 -0
  153. package/lib/utils/draftTemplates.js +579 -0
  154. package/lib/utils/draftTemplates.test.js +476 -0
  155. package/lib/utils/formErrors.d.ts +2 -0
  156. package/lib/utils/formErrors.js +29 -0
  157. package/lib/utils/index.d.ts +3 -0
  158. package/lib/utils/index.js +4 -0
  159. package/lib/utils/priceMatrix.d.ts +57 -0
  160. package/lib/utils/priceMatrix.js +82 -0
  161. package/lib/utils/priceMatrix.test.js +200 -0
  162. package/lib/utils/products.d.ts +40 -0
  163. package/lib/utils/products.js +68 -0
  164. package/lib/utils/quantity.d.ts +7 -0
  165. package/lib/utils/quantity.js +19 -0
  166. package/lib/utils/quantity.test.js +42 -0
  167. package/lib/utils/reconcileVariations.d.ts +25 -0
  168. package/lib/utils/reconcileVariations.js +246 -0
  169. package/lib/utils/reconcileVariations.test.js +239 -0
  170. package/lib/utils/selectedVariationCosts.d.ts +6 -0
  171. package/lib/utils/selectedVariationCosts.js +59 -0
  172. package/lib/utils/selectedVariationCosts.test.js +66 -0
  173. package/lib/utils/selections.d.ts +23 -0
  174. package/lib/utils/selections.js +76 -0
  175. package/lib/utils/selections.test.js +159 -0
  176. package/lib/utils/singleOptionVariation.d.ts +2 -0
  177. package/lib/utils/singleOptionVariation.js +22 -0
  178. package/lib/utils/singleOptionVariation.test.js +59 -0
  179. package/lib/utils/supportedNumbers.d.ts +1 -0
  180. package/lib/utils/supportedNumbers.js +27 -0
  181. package/lib/utils/types.d.ts +114 -0
  182. package/lib/utils/types.js +50 -0
  183. package/lib/utils/url.d.ts +3 -0
  184. package/lib/utils/url.js +65 -0
  185. package/lib/utils/variationFields.d.ts +5 -0
  186. package/lib/utils/variationFields.js +116 -0
  187. package/lib/utils/variationFields.test.js +108 -0
  188. package/package.json +93 -0
@@ -0,0 +1,102 @@
1
+ 'use client';
2
+
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
6
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
7
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
8
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
9
+ import * as React from 'react';
10
+ import { useController } from 'react-hook-form';
11
+ import ProductUnitPrice from './ProductUnitPrice';
12
+ import VariationError from './VariationError';
13
+ import { productMoqFloor, productMinimumQuantity } from '../utils/quantity';
14
+ import { needsProductLevelQuantity } from '../utils/products';
15
+ import { isProductFileDownload, isProductSupplierMOD } from './utils';
16
+ import { useMerchiFormContext } from '../context/MerchiProductFormProvider';
17
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
18
+ function InputProductQuantity(_ref) {
19
+ var disabled = _ref.disabled,
20
+ _ref$name = _ref.name,
21
+ name = _ref$name === void 0 ? 'quantity' : _ref$name;
22
+ var _useMerchiFormContext = useMerchiFormContext(),
23
+ classNameInputContainer = _useMerchiFormContext.classNameInputContainer,
24
+ classNameInput = _useMerchiFormContext.classNameInput,
25
+ classNameQuantityLabelContainer = _useMerchiFormContext.classNameQuantityLabelContainer,
26
+ job = _useMerchiFormContext.job,
27
+ control = _useMerchiFormContext.control,
28
+ getQuote = _useMerchiFormContext.getQuote,
29
+ hookForm = _useMerchiFormContext.hookForm,
30
+ hideQuantityField = _useMerchiFormContext.hideQuantityField,
31
+ product = _useMerchiFormContext.product;
32
+ var moq = productMinimumQuantity(product);
33
+ var minQuantity = productMoqFloor(product);
34
+ var showInput = !hideQuantityField && !isProductFileDownload(product) && !isProductSupplierMOD(product) && needsProductLevelQuantity(product, job);
35
+ var validators = {
36
+ required: {
37
+ value: true,
38
+ message: 'Quantity is required'
39
+ },
40
+ valueAsNumber: true,
41
+ min: {
42
+ value: minQuantity,
43
+ message: moq > 1 ? "".concat(product.name, " can not be less than ").concat(moq) : 'Quantity must be at least 1'
44
+ },
45
+ validate: {
46
+ positive: function positive(value) {
47
+ var n = typeof value === 'number' ? value : parseInt(value, 10);
48
+ if (!Number.isFinite(n) || n < minQuantity) {
49
+ return moq > 1 ? "".concat(product.name, " can not be less than ").concat(moq) : 'Quantity must be at least 1';
50
+ }
51
+ return true;
52
+ }
53
+ }
54
+ };
55
+ var inputId = "merchi-qty-".concat(name);
56
+ var _useController = useController({
57
+ name: name,
58
+ control: control,
59
+ rules: showInput ? validators : undefined
60
+ }),
61
+ field = _useController.field,
62
+ fieldState = _useController.fieldState;
63
+ if (!showInput) return null;
64
+ return /*#__PURE__*/_jsxs("div", {
65
+ className: classNameInputContainer,
66
+ children: [/*#__PURE__*/_jsx("div", {
67
+ className: classNameQuantityLabelContainer,
68
+ children: /*#__PURE__*/_jsxs("div", {
69
+ children: [/*#__PURE__*/_jsx("label", {
70
+ htmlFor: inputId,
71
+ style: {
72
+ display: 'inline'
73
+ },
74
+ children: "Quantity"
75
+ }), ' ', /*#__PURE__*/_jsxs("small", {
76
+ children: [/*#__PURE__*/_jsx(ProductUnitPrice, {}), " ", moq > 1 && "(MOQ of ".concat(moq, ")")]
77
+ })]
78
+ })
79
+ }), /*#__PURE__*/_jsx("input", _objectSpread(_objectSpread({
80
+ id: inputId,
81
+ disabled: disabled,
82
+ min: minQuantity,
83
+ type: "number",
84
+ className: classNameInput,
85
+ "aria-invalid": fieldState.invalid || undefined
86
+ }, field), {}, {
87
+ onChange: function onChange(e) {
88
+ field.onChange(e);
89
+ hookForm.trigger(name);
90
+ getQuote();
91
+ },
92
+ onBlur: function onBlur() {
93
+ field.onBlur();
94
+ hookForm.trigger(name);
95
+ }
96
+ })), /*#__PURE__*/_jsx(VariationError, {
97
+ name: name
98
+ })]
99
+ });
100
+ }
101
+ export default InputProductQuantity;
102
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdHlwZW9mIiwibyIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiY29uc3RydWN0b3IiLCJwcm90b3R5cGUiLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJfdG9Qcm9wZXJ0eUtleSIsInZhbHVlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJpIiwiX3RvUHJpbWl0aXZlIiwidG9QcmltaXRpdmUiLCJjYWxsIiwiVHlwZUVycm9yIiwiU3RyaW5nIiwiTnVtYmVyIiwiUmVhY3QiLCJ1c2VDb250cm9sbGVyIiwiUHJvZHVjdFVuaXRQcmljZSIsIlZhcmlhdGlvbkVycm9yIiwicHJvZHVjdE1vcUZsb29yIiwicHJvZHVjdE1pbmltdW1RdWFudGl0eSIsIm5lZWRzUHJvZHVjdExldmVsUXVhbnRpdHkiLCJpc1Byb2R1Y3RGaWxlRG93bmxvYWQiLCJpc1Byb2R1Y3RTdXBwbGllck1PRCIsInVzZU1lcmNoaUZvcm1Db250ZXh0IiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIklucHV0UHJvZHVjdFF1YW50aXR5IiwiX3JlZiIsImRpc2FibGVkIiwiX3JlZiRuYW1lIiwibmFtZSIsIl91c2VNZXJjaGlGb3JtQ29udGV4dCIsImNsYXNzTmFtZUlucHV0Q29udGFpbmVyIiwiY2xhc3NOYW1lSW5wdXQiLCJjbGFzc05hbWVRdWFudGl0eUxhYmVsQ29udGFpbmVyIiwiam9iIiwiY29udHJvbCIsImdldFF1b3RlIiwiaG9va0Zvcm0iLCJoaWRlUXVhbnRpdHlGaWVsZCIsInByb2R1Y3QiLCJtb3EiLCJtaW5RdWFudGl0eSIsInNob3dJbnB1dCIsInZhbGlkYXRvcnMiLCJyZXF1aXJlZCIsIm1lc3NhZ2UiLCJ2YWx1ZUFzTnVtYmVyIiwibWluIiwiY29uY2F0IiwidmFsaWRhdGUiLCJwb3NpdGl2ZSIsIm4iLCJwYXJzZUludCIsImlzRmluaXRlIiwiaW5wdXRJZCIsIl91c2VDb250cm9sbGVyIiwicnVsZXMiLCJ1bmRlZmluZWQiLCJmaWVsZCIsImZpZWxkU3RhdGUiLCJjbGFzc05hbWUiLCJjaGlsZHJlbiIsImh0bWxGb3IiLCJzdHlsZSIsImRpc3BsYXkiLCJpZCIsInR5cGUiLCJpbnZhbGlkIiwib25DaGFuZ2UiLCJ0cmlnZ2VyIiwib25CbHVyIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvSW5wdXRQcm9kdWN0UXVhbnRpdHkudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50JztcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZUNvbnRyb2xsZXIgfSBmcm9tICdyZWFjdC1ob29rLWZvcm0nO1xuaW1wb3J0IFByb2R1Y3RVbml0UHJpY2UgZnJvbSAnLi9Qcm9kdWN0VW5pdFByaWNlJztcbmltcG9ydCBWYXJpYXRpb25FcnJvciBmcm9tICcuL1ZhcmlhdGlvbkVycm9yJztcbmltcG9ydCB7IHByb2R1Y3RNb3FGbG9vciwgcHJvZHVjdE1pbmltdW1RdWFudGl0eSB9IGZyb20gJy4uL3V0aWxzL3F1YW50aXR5JztcbmltcG9ydCB7IG5lZWRzUHJvZHVjdExldmVsUXVhbnRpdHkgfSBmcm9tICcuLi91dGlscy9wcm9kdWN0cyc7XG5pbXBvcnQgeyBpc1Byb2R1Y3RGaWxlRG93bmxvYWQsIGlzUHJvZHVjdFN1cHBsaWVyTU9EIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyB1c2VNZXJjaGlGb3JtQ29udGV4dCB9IGZyb20gJy4uL2NvbnRleHQvTWVyY2hpUHJvZHVjdEZvcm1Qcm92aWRlcic7XG5cbmludGVyZmFjZSBQcm9wcyB7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgbmFtZT86IHN0cmluZztcbn1cblxuZnVuY3Rpb24gSW5wdXRQcm9kdWN0UXVhbnRpdHkoeyBkaXNhYmxlZCwgbmFtZSA9ICdxdWFudGl0eScgfTogUHJvcHMpIHtcbiAgY29uc3Qge1xuICAgIGNsYXNzTmFtZUlucHV0Q29udGFpbmVyLFxuICAgIGNsYXNzTmFtZUlucHV0LFxuICAgIGNsYXNzTmFtZVF1YW50aXR5TGFiZWxDb250YWluZXIsXG4gICAgam9iLFxuICAgIGNvbnRyb2wsXG4gICAgZ2V0UXVvdGUsXG4gICAgaG9va0Zvcm0sXG4gICAgaGlkZVF1YW50aXR5RmllbGQsXG4gICAgcHJvZHVjdCxcbiAgfSA9IHVzZU1lcmNoaUZvcm1Db250ZXh0KCk7XG4gIGNvbnN0IG1vcSA9IHByb2R1Y3RNaW5pbXVtUXVhbnRpdHkocHJvZHVjdCk7XG4gIGNvbnN0IG1pblF1YW50aXR5ID0gcHJvZHVjdE1vcUZsb29yKHByb2R1Y3QpO1xuICBjb25zdCBzaG93SW5wdXQgPVxuICAgICFoaWRlUXVhbnRpdHlGaWVsZCAmJlxuICAgICFpc1Byb2R1Y3RGaWxlRG93bmxvYWQocHJvZHVjdCkgJiZcbiAgICAhaXNQcm9kdWN0U3VwcGxpZXJNT0QocHJvZHVjdCkgJiZcbiAgICBuZWVkc1Byb2R1Y3RMZXZlbFF1YW50aXR5KHByb2R1Y3QsIGpvYik7XG4gIGNvbnN0IHZhbGlkYXRvcnM6IGFueSA9IHtcbiAgICByZXF1aXJlZDoge1xuICAgICAgdmFsdWU6IHRydWUsXG4gICAgICBtZXNzYWdlOiAnUXVhbnRpdHkgaXMgcmVxdWlyZWQnLFxuICAgIH0sXG4gICAgdmFsdWVBc051bWJlcjogdHJ1ZSxcbiAgICBtaW46IHtcbiAgICAgIHZhbHVlOiBtaW5RdWFudGl0eSxcbiAgICAgIG1lc3NhZ2U6XG4gICAgICAgIG1vcSA+IDFcbiAgICAgICAgICA/IGAke3Byb2R1Y3QubmFtZX0gY2FuIG5vdCBiZSBsZXNzIHRoYW4gJHttb3F9YFxuICAgICAgICAgIDogJ1F1YW50aXR5IG11c3QgYmUgYXQgbGVhc3QgMScsXG4gICAgfSxcbiAgICB2YWxpZGF0ZToge1xuICAgICAgcG9zaXRpdmU6ICh2YWx1ZTogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IG4gPSB0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInID8gdmFsdWUgOiBwYXJzZUludCh2YWx1ZSwgMTApO1xuICAgICAgICBpZiAoIU51bWJlci5pc0Zpbml0ZShuKSB8fCBuIDwgbWluUXVhbnRpdHkpIHtcbiAgICAgICAgICByZXR1cm4gbW9xID4gMVxuICAgICAgICAgICAgPyBgJHtwcm9kdWN0Lm5hbWV9IGNhbiBub3QgYmUgbGVzcyB0aGFuICR7bW9xfWBcbiAgICAgICAgICAgIDogJ1F1YW50aXR5IG11c3QgYmUgYXQgbGVhc3QgMSc7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9LFxuICAgIH0sXG4gIH07XG4gIGNvbnN0IGlucHV0SWQgPSBgbWVyY2hpLXF0eS0ke25hbWV9YDtcbiAgY29uc3QgeyBmaWVsZCwgZmllbGRTdGF0ZSB9ID0gdXNlQ29udHJvbGxlcih7XG4gICAgbmFtZTogbmFtZSxcbiAgICBjb250cm9sLFxuICAgIHJ1bGVzOiBzaG93SW5wdXQgPyB2YWxpZGF0b3JzIDogdW5kZWZpbmVkLFxuICB9KTtcbiAgaWYgKCFzaG93SW5wdXQpIHJldHVybiBudWxsO1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc05hbWVJbnB1dENvbnRhaW5lcn0+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NOYW1lUXVhbnRpdHlMYWJlbENvbnRhaW5lcn0+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPGxhYmVsIGh0bWxGb3I9e2lucHV0SWR9IHN0eWxlPXt7IGRpc3BsYXk6ICdpbmxpbmUnIH19PlF1YW50aXR5PC9sYWJlbD57JyAnfVxuICAgICAgICAgIDxzbWFsbD5cbiAgICAgICAgICAgIDxQcm9kdWN0VW5pdFByaWNlIC8+IHttb3EgPiAxICYmIGAoTU9RIG9mICR7bW9xfSlgfVxuICAgICAgICAgIDwvc21hbGw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8aW5wdXRcbiAgICAgICAgaWQ9e2lucHV0SWR9XG4gICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgbWluPXttaW5RdWFudGl0eX1cbiAgICAgICAgdHlwZT0nbnVtYmVyJ1xuICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZUlucHV0fVxuICAgICAgICBhcmlhLWludmFsaWQ9e2ZpZWxkU3RhdGUuaW52YWxpZCB8fCB1bmRlZmluZWR9XG4gICAgICAgIHsuLi5maWVsZH1cbiAgICAgICAgb25DaGFuZ2U9eyhlOiBhbnkpID0+IHtcbiAgICAgICAgICBmaWVsZC5vbkNoYW5nZShlKTtcbiAgICAgICAgICBob29rRm9ybS50cmlnZ2VyKG5hbWUpO1xuICAgICAgICAgIGdldFF1b3RlKCk7XG4gICAgICAgIH19XG4gICAgICAgIG9uQmx1cj17KCkgPT4ge1xuICAgICAgICAgIGZpZWxkLm9uQmx1cigpO1xuICAgICAgICAgIGhvb2tGb3JtLnRyaWdnZXIobmFtZSk7XG4gICAgICAgIH19XG4gICAgICAvPlxuICAgICAgPFZhcmlhdGlvbkVycm9yIG5hbWU9e25hbWV9IC8+XG4gICAgPC9kaXY+XG4gICk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IElucHV0UHJvZHVjdFF1YW50aXR5O1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxZQUFZOztBQUFDLFNBQUFBLFFBQUFDLENBQUEsc0NBQUFELE9BQUEsd0JBQUFFLE1BQUEsdUJBQUFBLE1BQUEsQ0FBQUMsUUFBQSxhQUFBRixDQUFBLGtCQUFBQSxDQUFBLGdCQUFBQSxDQUFBLFdBQUFBLENBQUEseUJBQUFDLE1BQUEsSUFBQUQsQ0FBQSxDQUFBRyxXQUFBLEtBQUFGLE1BQUEsSUFBQUQsQ0FBQSxLQUFBQyxNQUFBLENBQUFHLFNBQUEscUJBQUFKLENBQUEsS0FBQUQsT0FB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
@@ -0,0 +1,7 @@
1
+ import * as React from 'react';
2
+ interface Props {
3
+ inventoryCount: number;
4
+ inventorySufficient: boolean;
5
+ }
6
+ declare function InventoryStatus({ inventoryCount, inventorySufficient }: Props): React.JSX.Element;
7
+ export default InventoryStatus;
@@ -0,0 +1,67 @@
1
+ 'use client';
2
+
3
+ import * as React from 'react';
4
+ import { useMerchiFormContext } from '../context/MerchiProductFormProvider';
5
+ import { CgSpinner } from 'react-icons/cg';
6
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
7
+ function StatusDot(_ref) {
8
+ var color = _ref.color;
9
+ return /*#__PURE__*/_jsx("span", {
10
+ className: "badge",
11
+ style: {
12
+ backgroundColor: '#fff',
13
+ display: 'flex',
14
+ padding: '3px',
15
+ borderRadius: '100%',
16
+ margin: '0 1px'
17
+ },
18
+ children: /*#__PURE__*/_jsx("div", {
19
+ className: "inventory-icon-indicator",
20
+ style: {
21
+ backgroundColor: color,
22
+ borderRadius: '100%',
23
+ height: 8,
24
+ width: 8
25
+ }
26
+ })
27
+ });
28
+ }
29
+ function InventoryStatus(_ref2) {
30
+ var _ref2$inventoryCount = _ref2.inventoryCount,
31
+ inventoryCount = _ref2$inventoryCount === void 0 ? 0 : _ref2$inventoryCount,
32
+ inventorySufficient = _ref2.inventorySufficient;
33
+ var _useMerchiFormContext = useMerchiFormContext(),
34
+ classNameInventoryStatus = _useMerchiFormContext.classNameInventoryStatus,
35
+ loading = _useMerchiFormContext.loading,
36
+ inventoryLoading = _useMerchiFormContext.inventoryLoading;
37
+ var isLoading = loading || inventoryLoading;
38
+ var color = '#65cf85';
39
+ var msg = 'In stock';
40
+ if (!inventorySufficient) {
41
+ color = '#ff4449';
42
+ msg = 'no stock';
43
+ if (inventoryCount) {
44
+ color = '#ffc928';
45
+ msg = "insufficient stock (".concat(inventoryCount, " in stock)");
46
+ }
47
+ }
48
+ return /*#__PURE__*/_jsx("div", {
49
+ className: "".concat(classNameInventoryStatus, " merchi-embed-form_product-group-inventory-status"),
50
+ style: {
51
+ background: color
52
+ },
53
+ children: isLoading ? /*#__PURE__*/_jsx(CgSpinner, {
54
+ fontSize: "1.1rem",
55
+ className: "animate_spin"
56
+ }) : /*#__PURE__*/_jsxs(_Fragment, {
57
+ children: [/*#__PURE__*/_jsx(StatusDot, {
58
+ color: color
59
+ }), " ", /*#__PURE__*/_jsx("span", {
60
+ className: "mr-1",
61
+ children: msg
62
+ })]
63
+ })
64
+ });
65
+ }
66
+ export default InventoryStatus;
67
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZU1lcmNoaUZvcm1Db250ZXh0IiwiQ2dTcGlubmVyIiwianN4IiwiX2pzeCIsIkZyYWdtZW50IiwiX0ZyYWdtZW50IiwianN4cyIsIl9qc3hzIiwiU3RhdHVzRG90IiwiX3JlZiIsImNvbG9yIiwiY2xhc3NOYW1lIiwic3R5bGUiLCJiYWNrZ3JvdW5kQ29sb3IiLCJkaXNwbGF5IiwicGFkZGluZyIsImJvcmRlclJhZGl1cyIsIm1hcmdpbiIsImNoaWxkcmVuIiwiaGVpZ2h0Iiwid2lkdGgiLCJJbnZlbnRvcnlTdGF0dXMiLCJfcmVmMiIsIl9yZWYyJGludmVudG9yeUNvdW50IiwiaW52ZW50b3J5Q291bnQiLCJpbnZlbnRvcnlTdWZmaWNpZW50IiwiX3VzZU1lcmNoaUZvcm1Db250ZXh0IiwiY2xhc3NOYW1lSW52ZW50b3J5U3RhdHVzIiwibG9hZGluZyIsImludmVudG9yeUxvYWRpbmciLCJpc0xvYWRpbmciLCJtc2ciLCJjb25jYXQiLCJiYWNrZ3JvdW5kIiwiZm9udFNpemUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcG9uZW50cy9JbnZlbnRvcnlTdGF0dXMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50JztcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZU1lcmNoaUZvcm1Db250ZXh0IH0gZnJvbSAnLi4vY29udGV4dC9NZXJjaGlQcm9kdWN0Rm9ybVByb3ZpZGVyJztcbmltcG9ydCB7IENnU3Bpbm5lciB9IGZyb20gJ3JlYWN0LWljb25zL2NnJztcblxuZnVuY3Rpb24gU3RhdHVzRG90KHsgY29sb3IgfTogYW55KSB7XG4gIHJldHVybiAoXG4gICAgPHNwYW5cbiAgICAgIGNsYXNzTmFtZT0nYmFkZ2UnXG4gICAgICBzdHlsZT17e1xuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICcjZmZmJyxcbiAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICBwYWRkaW5nOiAnM3B4JyxcbiAgICAgICAgYm9yZGVyUmFkaXVzOiAnMTAwJScsXG4gICAgICAgIG1hcmdpbjogJzAgMXB4JyxcbiAgICAgIH19XG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzc05hbWU9J2ludmVudG9yeS1pY29uLWluZGljYXRvcidcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGNvbG9yLFxuICAgICAgICAgIGJvcmRlclJhZGl1czogJzEwMCUnLFxuICAgICAgICAgIGhlaWdodDogOCxcbiAgICAgICAgICB3aWR0aDogOCxcbiAgICAgICAgfX1cbiAgICAgIC8+XG4gICAgPC9zcGFuPlxuICApO1xufVxuXG5pbnRlcmZhY2UgUHJvcHMge1xuICBpbnZlbnRvcnlDb3VudDogbnVtYmVyO1xuICBpbnZlbnRvcnlTdWZmaWNpZW50OiBib29sZWFuO1xufVxuXG5mdW5jdGlvbiBJbnZlbnRvcnlTdGF0dXMoeyBpbnZlbnRvcnlDb3VudCA9IDAsIGludmVudG9yeVN1ZmZpY2llbnQgfTogUHJvcHMpIHtcbiAgY29uc3QgeyBjbGFzc05hbWVJbnZlbnRvcnlTdGF0dXMsIGxvYWRpbmcsIGludmVudG9yeUxvYWRpbmcgfSA9XG4gICAgdXNlTWVyY2hpRm9ybUNvbnRleHQoKTtcbiAgY29uc3QgaXNMb2FkaW5nID0gbG9hZGluZyB8fCBpbnZlbnRvcnlMb2FkaW5nO1xuICBsZXQgY29sb3IgPSAnIzY1Y2Y4NSc7XG4gIGxldCBtc2cgPSAnSW4gc3RvY2snO1xuICBpZiAoIWludmVudG9yeVN1ZmZpY2llbnQpIHtcbiAgICBjb2xvciA9ICcjZmY0NDQ5JztcbiAgICBtc2cgPSAnbm8gc3RvY2snO1xuICAgIGlmIChpbnZlbnRvcnlDb3VudCkge1xuICAgICAgY29sb3IgPSAnI2ZmYzkyOCc7XG4gICAgICBtc2cgPSBgaW5zdWZmaWNpZW50IHN0b2NrICgke2ludmVudG9yeUNvdW50fSBpbiBzdG9jaylgO1xuICAgIH1cbiAgfVxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNsYXNzTmFtZT17YCR7Y2xhc3NOYW1lSW52ZW50b3J5U3RhdHVzfSBtZXJjaGktZW1iZWQtZm9ybV9wcm9kdWN0LWdyb3VwLWludmVudG9yeS1zdGF0dXNgfVxuICAgICAgc3R5bGU9e3sgYmFja2dyb3VuZDogY29sb3IgfX1cbiAgICA+XG4gICAgICB7aXNMb2FkaW5nID8gKFxuICAgICAgICA8Q2dTcGlubmVyIGZvbnRTaXplPScxLjFyZW0nIGNsYXNzTmFtZT0nYW5pbWF0ZV9zcGluJyAvPlxuICAgICAgKSA6IChcbiAgICAgICAgPD5cbiAgICAgICAgICA8U3RhdHVzRG90IGNvbG9yPXtjb2xvcn0gLz4gPHNwYW4gY2xhc3NOYW1lPSdtci0xJz57bXNnfTwvc3Bhbj5cbiAgICAgICAgPC8+XG4gICAgICApfVxuICAgIDwvZGl2PlxuICApO1xufVxuXG5leHBvcnQgZGVmYXVsdCBJbnZlbnRvcnlTdGF0dXM7XG4iXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7O0FBQ1osT0FBTyxLQUFLQSxLQUFLLE1BQU0sT0FBTztBQUM5QixTQUFTQyxvQkFBb0IsUUFBUSxzQ0FBc0M7QUFDM0UsU0FBU0MsU0FBUyxRQUFRLGdCQUFnQjtBQUFDLFNBQUFDLEdBQUEsSUFBQUMsSUFBQSxFQUFBQyxRQUFBLElBQUFDLFNBQUEsRUFBQUMsSUFBQSxJQUFBQyxLQUFBO0FBRTNDLFNBQVNDLFNBQVNBLENBQUFDLElBQUEsRUFBaUI7RUFBQSxJQUFkQyxLQUFLLEdBQUFELElBQUEsQ0FBTEMsS0FBSztFQUN4QixvQkFDRVAsSUFBQTtJQUNFUSxTQUFTLEVBQUMsT0FBTztJQUNqQkMsS0FBSyxFQUFFO01BQ0xDLGVBQWUsRUFBRSxNQUFNO01BQ3ZCQyxPQUFPLEVBQUUsTUFBTTtNQUNmQyxPQUFPLEVBQUUsS0FBSztNQUNkQyxZQUFZLEVBQUUsTUFBTTtNQUNwQkMsTUFBTSxFQUFFO0lBQ1YsQ0FBRTtJQUFBQyxRQUFBLGVBRUZmLElBQUE7TUFDRVEsU0FBUyxFQUFDLDBCQUEwQjtNQUNwQ0MsS0FBSyxFQUFFO1FBQ0xDLGVBQWUsRUFBRUgsS0FBSztRQUN0Qk0sWUFBWSxFQUFFLE1BQU07UUFDcEJHLE1BQU0sRUFBRSxDQUFDO1FBQ1RDLEtBQUssRUFBRTtNQUNUO0lBQUUsQ0FDSDtFQUFDLENBQ0UsQ0FBQztBQUVYO0FBT0EsU0FBU0MsZUFBZUEsQ0FBQUMsS0FBQSxFQUFxRDtFQUFBLElBQUFDLG9CQUFBLEdBQUFELEtBQUEsQ0FBbERFLGNBQWM7SUFBZEEsY0FBYyxHQUFBRCxvQkFBQSxjQUFHLENBQUMsR0FBQUEsb0JBQUE7SUFBRUUsbUJBQW1CLEdBQUFILEtBQUEsQ0FBbkJHLG1CQUFtQjtFQUNoRSxJQUFBQyxxQkFBQSxHQUNFMUIsb0JBQW9CLENBQUMsQ0FBQztJQURoQjJCLHdCQUF3QixHQUFBRCxxQkFBQSxDQUF4QkMsd0JBQXdCO0lBQUVDLE9BQU8sR0FBQUYscUJBQUEsQ0FBUEUsT0FBTztJQUFFQyxnQkFBZ0IsR0FBQUgscUJBQUEsQ0FBaEJHLGdCQUFnQjtFQUUzRCxJQUFNQyxTQUFTLEdBQUdGLE9BQU8sSUFBSUMsZ0JBQWdCO0VBQzdDLElBQUluQixLQUFLLEdBQUcsU0FBUztFQUNyQixJQUFJcUIsR0FBRyxHQUFHLFVBQVU7RUFDcEIsSUFBSSxDQUFDTixtQkFBbUIsRUFBRTtJQUN4QmYsS0FBSyxHQUFHLFNBQVM7SUFDakJxQixHQUFHLEdBQUcsVUFBVTtJQUNoQixJQUFJUCxjQUFjLEVBQUU7TUFDbEJkLEtBQUssR0FBRyxTQUFTO01BQ2pCcUIsR0FBRywwQkFBQUMsTUFBQSxDQUEwQlIsY0FBYyxlQUFZO0lBQ3pEO0VBQ0Y7RUFDQSxvQkFDRXJCLElBQUE7SUFDRVEsU0FBUyxLQUFBcUIsTUFBQSxDQUFLTCx3QkFBd0Isc0RBQW9EO0lBQzFGZixLQUFLLEVBQUU7TUFBRXFCLFVBQVUsRUFBRXZCO0lBQU0sQ0FBRTtJQUFBUSxRQUFBLEVBRTVCWSxTQUFTLGdCQUNSM0IsSUFBQSxDQUFDRixTQUFTO01BQUNpQyxRQUFRLEVBQUMsUUFBUTtNQUFDdkIsU0FBUyxFQUFDO0lBQWMsQ0FBRSxDQUFDLGdCQUV4REosS0FBQSxDQUFBRixTQUFBO01BQUFhLFFBQUEsZ0JBQ0VmLElBQUEsQ0FBQ0ssU0FBUztRQUFDRSxLQUFLLEVBQUVBO01BQU0sQ0FBRSxDQUFDLEtBQUMsZUFBQVAsSUFBQTtRQUFNUSxTQUFTLEVBQUMsTUFBTTtRQUFBTyxRQUFBLEVBQUVhO01BQUcsQ0FBTyxDQUFDO0lBQUEsQ0FDL0Q7RUFDSCxDQUNFLENBQUM7QUFFVjtBQUVBLGVBQWVWLGVBQWUiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -0,0 +1,62 @@
1
+ import * as React from 'react';
2
+ import '../styles/globals.css';
3
+ interface Props {
4
+ allowAddToCart?: boolean;
5
+ apiUrl?: string;
6
+ hcaptchaSiteKey?: string;
7
+ classNameAlertSellerEditable?: string;
8
+ classNameButtonSubmit?: string;
9
+ classNameButtonGroupAdd?: string;
10
+ classNameButtonGroupRemove?: string;
11
+ classNameButtonsSubmitContainer?: string;
12
+ classNameFileUploadContainer?: string;
13
+ classNameFileUpload?: string;
14
+ classNameFilePreviewContainer?: string;
15
+ classNameFileUploadTextContainer?: string;
16
+ classNameFilePreviewIconWrapper?: string;
17
+ classNameFileUploadButton?: string;
18
+ classNameFileUploadIcon?: string;
19
+ classNameFileUploadIconSecond?: string;
20
+ classNameFileUploadIconContainer?: string;
21
+ classNameFileListItem?: string;
22
+ classNameFileButtonDownload?: string;
23
+ classNameFileButtonDelete?: string;
24
+ classNameFileListItemContainer?: string;
25
+ classNameGroupsContainer?: string;
26
+ classNameGroupPriceContainer?: string;
27
+ classNameInput?: string;
28
+ classNameInputContainer?: string;
29
+ classNameInventoryStatus?: string;
30
+ classNameOptionContainer?: string;
31
+ classNameOptionInput?: string;
32
+ classNameOptionLabel?: string;
33
+ classNameOptionSuper?: string;
34
+ classNameOptionsCheckboxRadioContainer?: string;
35
+ classNameOptionImage?: string;
36
+ classNameOptionImageContainer?: string;
37
+ classNameOptionColour?: string;
38
+ classNameOptionColourContainer?: string;
39
+ classNameProductTitle?: string;
40
+ classNameProductOriginTitle?: string;
41
+ classNameProductTotalContainer?: string;
42
+ classNameProductTotal?: string;
43
+ classNameQuantityLabelContainer?: string;
44
+ classNameUnitPrice?: string;
45
+ classNamePriceMatrix?: string;
46
+ hideCalculatedPrice?: boolean;
47
+ hideQuantityField?: boolean;
48
+ hideSubmitButtons?: boolean;
49
+ hideCost?: boolean;
50
+ hideCountry?: boolean;
51
+ hideTitle?: boolean;
52
+ initJob?: any;
53
+ initProduct: any;
54
+ onBuyNow?: (job: any) => void;
55
+ onGetQuote?: (job: any) => void;
56
+ onSubmit?: (job: any) => void;
57
+ showFeatureDeadline?: boolean;
58
+ showGroupBuyStatus?: boolean;
59
+ showPriceMatrix?: boolean;
60
+ }
61
+ declare function MerchiProductForm(props: Props): React.JSX.Element;
62
+ export default MerchiProductForm;
@@ -0,0 +1,51 @@
1
+ 'use client';
2
+
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
6
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
7
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
8
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
9
+ import * as React from 'react';
10
+ import { MerchiProductFormProvider } from '../context/MerchiProductFormProvider';
11
+ import InputProductQuantity from './InputProductQuantity';
12
+ import ProductTotalCost from './ProductTotalCost';
13
+ import ProductButtonsSubmit from './ProductButtonsSubmit';
14
+ import { ProductDraftsCta } from './drafts/ProductDraftsHost';
15
+ import ProductTitle from './ProductTitle';
16
+ import Variations from './Variations';
17
+ import VariationsGroups from './VariationsGroups';
18
+ import { isProductLeadForm } from './utils';
19
+ import FormLead from './FormLead';
20
+ import ProductFeatureDeadline from './ProductFeatureDeadline';
21
+ import ProductGroupBuyStatus from './ProductGroupBuyStatus';
22
+ import '../styles/globals.css';
23
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
24
+ function MerchiProductForm(props) {
25
+ var _props$hideQuantityFi = props.hideQuantityField,
26
+ hideQuantityField = _props$hideQuantityFi === void 0 ? false : _props$hideQuantityFi,
27
+ _props$hideSubmitButt = props.hideSubmitButtons,
28
+ hideSubmitButtons = _props$hideSubmitButt === void 0 ? false : _props$hideSubmitButt,
29
+ _props$hideTitle = props.hideTitle,
30
+ hideTitle = _props$hideTitle === void 0 ? false : _props$hideTitle,
31
+ initProduct = props.initProduct,
32
+ showFeatureDeadline = props.showFeatureDeadline,
33
+ showGroupBuyStatus = props.showGroupBuyStatus;
34
+ var groupsFirst = initProduct.groupsFirst;
35
+ var isLeadForm = isProductLeadForm(initProduct);
36
+ if (isLeadForm) {
37
+ return /*#__PURE__*/_jsx(MerchiProductFormProvider, _objectSpread(_objectSpread({}, props), {}, {
38
+ children: /*#__PURE__*/_jsx(FormLead, {
39
+ hideSubmitButtons: hideSubmitButtons
40
+ })
41
+ }));
42
+ }
43
+ return /*#__PURE__*/_jsxs(MerchiProductFormProvider, _objectSpread(_objectSpread({}, props), {}, {
44
+ children: [!hideTitle && /*#__PURE__*/_jsx(ProductTitle, {}), showFeatureDeadline && /*#__PURE__*/_jsx(ProductFeatureDeadline, {}), showGroupBuyStatus && /*#__PURE__*/_jsx(ProductGroupBuyStatus, {}), !hideQuantityField && /*#__PURE__*/_jsx(InputProductQuantity, {}), /*#__PURE__*/_jsxs("div", {
45
+ className: "merchi-embed-form_variantion-container",
46
+ children: [groupsFirst && /*#__PURE__*/_jsx(VariationsGroups, {}), /*#__PURE__*/_jsx(Variations, {}), !groupsFirst && /*#__PURE__*/_jsx(VariationsGroups, {})]
47
+ }), /*#__PURE__*/_jsx(ProductTotalCost, {}), /*#__PURE__*/_jsx(ProductDraftsCta, {}), !hideSubmitButtons && /*#__PURE__*/_jsx(ProductButtonsSubmit, {})]
48
+ }));
49
+ }
50
+ export default MerchiProductForm;
51
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdHlwZW9mIiwibyIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiY29uc3RydWN0b3IiLCJwcm90b3R5cGUiLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJfdG9Qcm9wZXJ0eUtleSIsInZhbHVlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJpIiwiX3RvUHJpbWl0aXZlIiwidG9QcmltaXRpdmUiLCJjYWxsIiwiVHlwZUVycm9yIiwiU3RyaW5nIiwiTnVtYmVyIiwiUmVhY3QiLCJNZXJjaGlQcm9kdWN0Rm9ybVByb3ZpZGVyIiwiSW5wdXRQcm9kdWN0UXVhbnRpdHkiLCJQcm9kdWN0VG90YWxDb3N0IiwiUHJvZHVjdEJ1dHRvbnNTdWJtaXQiLCJQcm9kdWN0RHJhZnRzQ3RhIiwiUHJvZHVjdFRpdGxlIiwiVmFyaWF0aW9ucyIsIlZhcmlhdGlvbnNHcm91cHMiLCJpc1Byb2R1Y3RMZWFkRm9ybSIsIkZvcm1MZWFkIiwiUHJvZHVjdEZlYXR1cmVEZWFkbGluZSIsIlByb2R1Y3RHcm91cEJ1eVN0YXR1cyIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJNZXJjaGlQcm9kdWN0Rm9ybSIsInByb3BzIiwiX3Byb3BzJGhpZGVRdWFudGl0eUZpIiwiaGlkZVF1YW50aXR5RmllbGQiLCJfcHJvcHMkaGlkZVN1Ym1pdEJ1dHQiLCJoaWRlU3VibWl0QnV0dG9ucyIsIl9wcm9wcyRoaWRlVGl0bGUiLCJoaWRlVGl0bGUiLCJpbml0UHJvZHVjdCIsInNob3dGZWF0dXJlRGVhZGxpbmUiLCJzaG93R3JvdXBCdXlTdGF0dXMiLCJncm91cHNGaXJzdCIsImlzTGVhZEZvcm0iLCJjaGlsZHJlbiIsImNsYXNzTmFtZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL01lcmNoaVByb2R1Y3RGb3JtLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCc7XG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBNZXJjaGlQcm9kdWN0Rm9ybVByb3ZpZGVyIH0gZnJvbSAnLi4vY29udGV4dC9NZXJjaGlQcm9kdWN0Rm9ybVByb3ZpZGVyJztcbmltcG9ydCBJbnB1dFByb2R1Y3RRdWFudGl0eSBmcm9tICcuL0lucHV0UHJvZHVjdFF1YW50aXR5JztcbmltcG9ydCBQcm9kdWN0VG90YWxDb3N0IGZyb20gJy4vUHJvZHVjdFRvdGFsQ29zdCc7XG5pbXBvcnQgUHJvZHVjdEJ1dHRvbnNTdWJtaXQgZnJvbSAnLi9Qcm9kdWN0QnV0dG9uc1N1Ym1pdCc7XG5pbXBvcnQgeyBQcm9kdWN0RHJhZnRzQ3RhIH0gZnJvbSAnLi9kcmFmdHMvUHJvZHVjdERyYWZ0c0hvc3QnO1xuaW1wb3J0IFByb2R1Y3RUaXRsZSBmcm9tICcuL1Byb2R1Y3RUaXRsZSc7XG5pbXBvcnQgVmFyaWF0aW9ucyBmcm9tICcuL1ZhcmlhdGlvbnMnO1xuaW1wb3J0IFZhcmlhdGlvbnNHcm91cHMgZnJvbSAnLi9WYXJpYXRpb25zR3JvdXBzJztcbmltcG9ydCB7IGlzUHJvZHVjdExlYWRGb3JtIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgRm9ybUxlYWQgZnJvbSAnLi9Gb3JtTGVhZCc7XG5pbXBvcnQgUHJvZHVjdEZlYXR1cmVEZWFkbGluZSBmcm9tICcuL1Byb2R1Y3RGZWF0dXJlRGVhZGxpbmUnO1xuaW1wb3J0IFByb2R1Y3RHcm91cEJ1eVN0YXR1cyBmcm9tICcuL1Byb2R1Y3RHcm91cEJ1eVN0YXR1cyc7XG5pbXBvcnQgJy4uL3N0eWxlcy9nbG9iYWxzLmNzcyc7XG5cbmludGVyZmFjZSBQcm9wcyB7XG4gIGFsbG93QWRkVG9DYXJ0PzogYm9vbGVhbjtcbiAgYXBpVXJsPzogc3RyaW5nO1xuICBoY2FwdGNoYVNpdGVLZXk/OiBzdHJpbmc7XG4gIGNsYXNzTmFtZUFsZXJ0U2VsbGVyRWRpdGFibGU/OiBzdHJpbmc7XG4gIGNsYXNzTmFtZUJ1dHRvblN1Ym1pdD86IHN0cmluZztcbiAgY2xhc3NOYW1lQnV0dG9uR3JvdXBBZGQ/OiBzdHJpbmc7XG4gIGNsYXNzTmFtZUJ1dHRvbkdyb3VwUmVtb3ZlPzogc3RyaW5nO1xuICBjbGFzc05hbWVCdXR0b25zU3VibWl0Q29udGFpbmVyPzogc3RyaW5nO1xuICBjbGFzc05hbWVGaWxlVXBsb2FkQ29udGFpbmVyPzogc3RyaW5nO1xuICBjbGFzc05hbWVGaWxlVXBsb2FkPzogc3RyaW5nO1xuICBjbGFzc05hbWVGaWxlUHJldmlld0NvbnRhaW5lcj86IHN0cmluZztcbiAgY2xhc3NOYW1lRmlsZVVwbG9hZFRleHRDb250YWluZXI/OiBzdHJpbmc7XG4gIGNsYXNzTmFtZUZpbGVQcmV2aWV3SWNvbldyYXBwZXI/OiBzdHJpbmc7XG4gIGNsYXNzTmFtZUZpbGVVcGxvYWRCdXR0b24/OiBzdHJpbmc7XG4gIGNsYXNzTmFtZUZpbGVVcGxvYWRJY29uPzogc3RyaW5nO1xuICBjbGFzc05hbWVGaWxlVXBsb2FkSWNvblNlY29uZD86IHN0cmluZztcbiAgY2xhc3NOYW1lRmlsZVVwbG9hZEljb25Db250YWluZXI/OiBzdHJpbmc7XG4gIGNsYXNzTmFtZUZpbGVMaXN0SXRlbT86IHN0cmluZztcbiAgY2xhc3NOYW1lRmlsZUJ1dHRvbkRvd25sb2FkPzogc3RyaW5nO1xuICBjbGFzc05hbWVGaWxlQnV0dG9uRGVsZXRlPzogc3RyaW5nO1xuICBjbGFzc05hbWVGaWxlTGlzdEl0ZW1Db250YWluZXI/OiBzdHJpbmc7XG4gIGNsYXNzTmFtZUdyb3Vwc0NvbnRhaW5lcj86IHN0cmluZztcbiAgY2xhc3NOYW1lR3JvdXBQcmljZUNvbnRhaW5lcj86IHN0cmluZztcbiAgY2xhc3NOYW1lSW5wdXQ/OiBzdHJpbmc7XG4gIGNsYXNzTmFtZUlucHV0Q29udGFpbmVyPzogc3RyaW5nO1xuICBjbGFzc05hbWVJbnZlbnRvcnlTdGF0dXM/OiBzdHJpbmc7XG4gIGNsYXNzTmFtZU9wdGlvbkNvbnRhaW5lcj86IHN0cmluZztcbiAgY2xhc3NOYW1lT3B0aW9uSW5wdXQ/OiBzdHJpbmc7XG4gIGNsYXNzTmFtZU9wdGlvbkxhYmVsPzogc3RyaW5nO1xuICBjbGFzc05hbWVPcHRpb25TdXBlcj86IHN0cmluZztcbiAgY2xhc3NOYW1lT3B0aW9uc0NoZWNrYm94UmFkaW9Db250YWluZXI/OiBzdHJpbmc7XG4gIGNsYXNzTmFtZU9wdGlvbkltYWdlPzogc3RyaW5nO1xuICBjbGFzc05hbWVPcHRpb25JbWFnZUNvbnRhaW5lcj86IHN0cmluZztcbiAgY2xhc3NOYW1lT3B0aW9uQ29sb3VyPzogc3RyaW5nO1xuICBjbGFzc05hbWVPcHRpb25Db2xvdXJDb250YWluZXI/OiBzdHJpbmc7XG4gIGNsYXNzTmFtZVByb2R1Y3RUaXRsZT86IHN0cmluZztcbiAgY2xhc3NOYW1lUHJvZHVjdE9yaWdpblRpdGxlPzogc3RyaW5nO1xuICBjbGFzc05hbWVQcm9kdWN0VG90YWxDb250YWluZXI/OiBzdHJpbmc7XG4gIGNsYXNzTmFtZVByb2R1Y3RUb3RhbD86IHN0cmluZztcbiAgY2xhc3NOYW1lUXVhbnRpdHlMYWJlbENvbnRhaW5lcj86IHN0cmluZztcbiAgY2xhc3NOYW1lVW5pdFByaWNlPzogc3RyaW5nO1xuICBjbGFzc05hbWVQcmljZU1hdHJpeD86IHN0cmluZztcbiAgaGlkZUNhbGN1bGF0ZWRQcmljZT86IGJvb2xlYW47XG4gIGhpZGVRdWFudGl0eUZpZWxkPzogYm9vbGVhbjtcbiAgaGlkZVN1Ym1pdEJ1dHRvbnM/OiBib29sZWFuO1xuICBoaWRlQ29zdD86IGJvb2xlYW47XG4gIGhpZGVDb3VudHJ5PzogYm9vbGVhbjtcbiAgaGlkZVRpdGxlPzogYm9vbGVhbjtcbiAgaW5pdEpvYj86IGFueTtcbiAgaW5pdFByb2R1Y3Q6IGFueTtcbiAgb25CdXlOb3c/OiAoam9iOiBhbnkpID0+IHZvaWQ7XG4gIG9uR2V0UXVvdGU/OiAoam9iOiBhbnkpID0+IHZvaWQ7XG4gIG9uU3VibWl0PzogKGpvYjogYW55KSA9PiB2b2lkO1xuICBzaG93RmVhdHVyZURlYWRsaW5lPzogYm9vbGVhbjtcbiAgc2hvd0dyb3VwQnV5U3RhdHVzPzogYm9vbGVhbjtcbiAgc2hvd1ByaWNlTWF0cml4PzogYm9vbGVhbjtcbn1cblxuZnVuY3Rpb24gTWVyY2hpUHJvZHVjdEZvcm0ocHJvcHM6IFByb3BzKSB7XG4gIGNvbnN0IHtcbiAgICBoaWRlUXVhbnRpdHlGaWVsZCA9IGZhbHNlLFxuICAgIGhpZGVTdWJtaXRCdXR0b25zID0gZmFsc2UsXG4gICAgaGlkZVRpdGxlID0gZmFsc2UsXG4gICAgaW5pdFByb2R1Y3QsXG4gICAgc2hvd0ZlYXR1cmVEZWFkbGluZSxcbiAgICBzaG93R3JvdXBCdXlTdGF0dXMsXG4gIH0gPSBwcm9wcztcbiAgY29uc3QgeyBncm91cHNGaXJzdCB9ID0gaW5pdFByb2R1Y3Q7XG4gIGNvbnN0IGlzTGVhZEZvcm0gPSBpc1Byb2R1Y3RMZWFkRm9ybShpbml0UHJvZHVjdCk7XG5cbiAgaWYgKGlzTGVhZEZvcm0pIHtcbiAgICByZXR1cm4gKFxuICAgICAgPE1lcmNoaVByb2R1Y3RGb3JtUHJvdmlkZXIgey4uLnByb3BzfT5cbiAgICAgICAgPEZvcm1MZWFkIGhpZGVTdWJtaXRCdXR0b25zPXtoaWRlU3VibWl0QnV0dG9uc30gLz5cbiAgICAgIDwvTWVyY2hpUHJvZHVjdEZvcm1Qcm92aWRlcj5cbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8TWVyY2hpUHJvZHVjdEZvcm1Qcm92aWRlciB7Li4ucHJvcHN9PlxuICAgICAgeyFoaWRlVGl0bGUgJiYgPFByb2R1Y3RUaXRsZSAvPn1cbiAgICAgIHtzaG93RmVhdHVyZURlYWRsaW5lICYmIDxQcm9kdWN0RmVhdHVyZURlYWRsaW5lIC8+fVxuICAgICAge3Nob3dHcm91cEJ1eVN0YXR1cyAmJiA8UHJvZHVjdEdyb3VwQnV5U3RhdHVzIC8+fVxuICAgICAgeyFoaWRlUXVhbnRpdHlGaWVsZCAmJiA8SW5wdXRQcm9kdWN0UXVhbnRpdHkgLz59XG4gICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLWVtYmVkLWZvcm1fdmFyaWFudGlvbi1jb250YWluZXInPlxuICAgICAgICB7Z3JvdXBzRmlyc3QgJiYgPFZhcmlhdGlvbnNHcm91cHMgLz59XG4gICAgICAgIDxWYXJpYXRpb25zIC8+XG4gICAgICAgIHshZ3JvdXBzRmlyc3QgJiYgPFZhcmlhdGlvbnNHcm91cHMgLz59XG4gICAgICA8L2Rpdj5cbiAgICAgIDxQcm9kdWN0VG90YWxDb3N0IC8+XG4gICAgICA8UHJvZHVjdERyYWZ0c0N0YSAvPlxuICAgICAgeyFoaWRlU3VibWl0QnV0dG9ucyAmJiA8UHJvZHVjdEJ1dHRvbnNTdWJtaXQgLz59XG4gICAgPC9NZXJjaGlQcm9kdWN0Rm9ybVByb3ZpZGVyPlxuICApO1xufVxuXG5leHBvcnQgZGVmYXVsdCBNZXJjaGlQcm9kdWN0Rm9ybTtcbiJdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTs7QUFBQyxTQUFBQSxRQUFBQyxDQUFBLHNDQUFBRCxPQUFBLHdCQUFBRSxNQUFBLHVCQUFBQSxNQUFBLENBQUFDLFFBQUEsYUFBQUYsQ0FBQSxrQkFBQUEsQ0FBQSxnQkFBQUEsQ0FBQSxXQUFBQSxDQUFBLHlCQUFBQyxNQUFBLElBQUFELENBQUEsQ0FBQUcsV0FBQSxLQUFBRixNQUFBLElBQUFELENBQUEsS0FBQUMsTUFBQSxDQUFBRyxTQUFBLHFCQUFBSixDQUFBLEtBQUFELE9BQUEsQ0FBQUMsQ0FBQTtBQUFBLFNBQUFLLFFBQUFDLENBQUEsRUFBQUMsQ0FBQSxRQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsSUFBQSxDQUFBSixDQUFBLE9BQUFHLE1BQUEsQ0FBQUUscUJBQUEsUUFBQVgsQ0FBQSxHQUFBUyxNQUFBLENB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
@@ -0,0 +1,27 @@
1
+ import * as React from 'react';
2
+ import { type PriceMatrixData } from '../utils/priceMatrix';
3
+ export interface PriceMatrixProps {
4
+ /** Precomputed table. Wins over `rules` / `product`. */
5
+ matrix?: PriceMatrixData | null;
6
+ /** Live pricing-rules bundle from `/products/:id/pricing-rules/`. */
7
+ rules?: any;
8
+ /** Product JSON; used for fallback breaks and MOQ when `rules` is absent. */
9
+ product?: any;
10
+ selections?: {
11
+ quantity?: number;
12
+ fieldValues?: Record<number, any>;
13
+ groups?: any[];
14
+ };
15
+ minQuantity?: number;
16
+ /** Current order quantity; highlights the matching column. */
17
+ quantity?: number;
18
+ onSelectBand?: (quantity: number) => void;
19
+ /** When false, quantity labels are not buttons. Defaults to whether `onSelectBand` is set. */
20
+ selectable?: boolean;
21
+ className?: string;
22
+ caption?: string;
23
+ showCurrency?: boolean;
24
+ showCurrencyCode?: boolean;
25
+ }
26
+ declare function PriceMatrix({ matrix: matrixProp, rules, product, selections, minQuantity, quantity, onSelectBand, selectable, className, caption, showCurrency, showCurrencyCode, }: PriceMatrixProps): React.JSX.Element;
27
+ export default PriceMatrix;
@@ -0,0 +1,106 @@
1
+ 'use client';
2
+
3
+ import * as React from 'react';
4
+ import { formatCurrency } from './currency';
5
+ import { productSetupCostDetail } from './utils';
6
+ import { activeBandIndex, resolvePriceMatrix } from '../utils/priceMatrix';
7
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
+ function priceMatrixSetupDetail(product, rules) {
9
+ var _product$setupPrice, _rules$product, _product$setupPerGrou, _rules$product2, _product$currency;
10
+ var setupPrice = Number((_product$setupPrice = product === null || product === void 0 ? void 0 : product.setupPrice) !== null && _product$setupPrice !== void 0 ? _product$setupPrice : rules === null || rules === void 0 || (_rules$product = rules.product) === null || _rules$product === void 0 ? void 0 : _rules$product.setupPrice);
11
+ if (!setupPrice || setupPrice <= 0) return '';
12
+ return productSetupCostDetail({
13
+ setupPrice: setupPrice,
14
+ setupPerGroup: (_product$setupPerGrou = product === null || product === void 0 ? void 0 : product.setupPerGroup) !== null && _product$setupPerGrou !== void 0 ? _product$setupPerGrou : rules === null || rules === void 0 || (_rules$product2 = rules.product) === null || _rules$product2 === void 0 ? void 0 : _rules$product2.setupPerGroup,
15
+ currency: (_product$currency = product === null || product === void 0 ? void 0 : product.currency) !== null && _product$currency !== void 0 ? _product$currency : rules === null || rules === void 0 ? void 0 : rules.currency
16
+ }).trim();
17
+ }
18
+ function PriceMatrix(_ref) {
19
+ var matrixProp = _ref.matrix,
20
+ rules = _ref.rules,
21
+ product = _ref.product,
22
+ selections = _ref.selections,
23
+ minQuantity = _ref.minQuantity,
24
+ _ref$quantity = _ref.quantity,
25
+ quantity = _ref$quantity === void 0 ? 0 : _ref$quantity,
26
+ onSelectBand = _ref.onSelectBand,
27
+ selectable = _ref.selectable,
28
+ className = _ref.className,
29
+ _ref$caption = _ref.caption,
30
+ caption = _ref$caption === void 0 ? 'Bulk price' : _ref$caption,
31
+ _ref$showCurrency = _ref.showCurrency,
32
+ showCurrency = _ref$showCurrency === void 0 ? false : _ref$showCurrency,
33
+ _ref$showCurrencyCode = _ref.showCurrencyCode,
34
+ showCurrencyCode = _ref$showCurrencyCode === void 0 ? false : _ref$showCurrencyCode;
35
+ var matrix = resolvePriceMatrix({
36
+ matrix: matrixProp,
37
+ rules: rules,
38
+ product: product,
39
+ selections: selections,
40
+ minQuantity: minQuantity
41
+ });
42
+ if (!matrix) return null;
43
+ var active = activeBandIndex(matrix, quantity);
44
+ var canSelect = selectable !== null && selectable !== void 0 ? selectable : Boolean(onSelectBand);
45
+ var currencyOptions = {
46
+ currency: matrix.currency || (product === null || product === void 0 ? void 0 : product.currency) || 'AUD',
47
+ codeBeforeSymbol: showCurrencyCode,
48
+ showCodeIfNoSymbol: showCurrency
49
+ };
50
+ var setupDetail = priceMatrixSetupDetail(product, rules);
51
+ return /*#__PURE__*/_jsx("div", {
52
+ className: className || 'merchi-price-matrix',
53
+ children: /*#__PURE__*/_jsxs("table", {
54
+ className: "merchi-price-matrix_table",
55
+ children: [caption || setupDetail ? /*#__PURE__*/_jsxs("caption", {
56
+ className: "merchi-price-matrix_caption",
57
+ children: [caption ? /*#__PURE__*/_jsx("span", {
58
+ className: "merchi-price-matrix_caption-title",
59
+ children: caption
60
+ }) : null, setupDetail ? /*#__PURE__*/_jsx("span", {
61
+ className: "merchi-price-matrix_setup",
62
+ children: setupDetail
63
+ }) : null]
64
+ }) : null, /*#__PURE__*/_jsx("thead", {
65
+ children: /*#__PURE__*/_jsxs("tr", {
66
+ children: [/*#__PURE__*/_jsx("th", {
67
+ scope: "row",
68
+ className: "merchi-price-matrix_corner",
69
+ children: "Qty"
70
+ }), matrix.bands.map(function (band, index) {
71
+ var isActive = index === active;
72
+ var classNameTh = ['merchi-price-matrix_th', isActive ? 'merchi-price-matrix_col-active' : ''].filter(Boolean).join(' ');
73
+ return /*#__PURE__*/_jsx("th", {
74
+ scope: "col",
75
+ className: classNameTh,
76
+ "aria-current": isActive ? 'true' : undefined,
77
+ children: canSelect ? /*#__PURE__*/_jsx("button", {
78
+ type: "button",
79
+ className: "merchi-price-matrix_band",
80
+ onClick: function onClick() {
81
+ return onSelectBand === null || onSelectBand === void 0 ? void 0 : onSelectBand(band.quantity);
82
+ },
83
+ children: band.label
84
+ }) : band.label
85
+ }, band.quantity);
86
+ })]
87
+ })
88
+ }), /*#__PURE__*/_jsx("tbody", {
89
+ children: /*#__PURE__*/_jsxs("tr", {
90
+ children: [/*#__PURE__*/_jsx("th", {
91
+ scope: "row",
92
+ className: "merchi-price-matrix_row-label",
93
+ children: "Unit"
94
+ }), matrix.cells.map(function (cell, index) {
95
+ return /*#__PURE__*/_jsx("td", {
96
+ className: index === active ? 'merchi-price-matrix_col-active' : undefined,
97
+ children: formatCurrency(cell.costPerUnit, currencyOptions)
98
+ }, "unit-".concat(cell.quantity));
99
+ })]
100
+ })
101
+ })]
102
+ })
103
+ });
104
+ }
105
+ export default PriceMatrix;
106
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsImZvcm1hdEN1cnJlbmN5IiwicHJvZHVjdFNldHVwQ29zdERldGFpbCIsImFjdGl2ZUJhbmRJbmRleCIsInJlc29sdmVQcmljZU1hdHJpeCIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJwcmljZU1hdHJpeFNldHVwRGV0YWlsIiwicHJvZHVjdCIsInJ1bGVzIiwiX3Byb2R1Y3Qkc2V0dXBQcmljZSIsIl9ydWxlcyRwcm9kdWN0IiwiX3Byb2R1Y3Qkc2V0dXBQZXJHcm91IiwiX3J1bGVzJHByb2R1Y3QyIiwiX3Byb2R1Y3QkY3VycmVuY3kiLCJzZXR1cFByaWNlIiwiTnVtYmVyIiwic2V0dXBQZXJHcm91cCIsImN1cnJlbmN5IiwidHJpbSIsIlByaWNlTWF0cml4IiwiX3JlZiIsIm1hdHJpeFByb3AiLCJtYXRyaXgiLCJzZWxlY3Rpb25zIiwibWluUXVhbnRpdHkiLCJfcmVmJHF1YW50aXR5IiwicXVhbnRpdHkiLCJvblNlbGVjdEJhbmQiLCJzZWxlY3RhYmxlIiwiY2xhc3NOYW1lIiwiX3JlZiRjYXB0aW9uIiwiY2FwdGlvbiIsIl9yZWYkc2hvd0N1cnJlbmN5Iiwic2hvd0N1cnJlbmN5IiwiX3JlZiRzaG93Q3VycmVuY3lDb2RlIiwic2hvd0N1cnJlbmN5Q29kZSIsImFjdGl2ZSIsImNhblNlbGVjdCIsIkJvb2xlYW4iLCJjdXJyZW5jeU9wdGlvbnMiLCJjb2RlQmVmb3JlU3ltYm9sIiwic2hvd0NvZGVJZk5vU3ltYm9sIiwic2V0dXBEZXRhaWwiLCJjaGlsZHJlbiIsInNjb3BlIiwiYmFuZHMiLCJtYXAiLCJiYW5kIiwiaW5kZXgiLCJpc0FjdGl2ZSIsImNsYXNzTmFtZVRoIiwiZmlsdGVyIiwiam9pbiIsInVuZGVmaW5lZCIsInR5cGUiLCJvbkNsaWNrIiwibGFiZWwiLCJjZWxscyIsImNlbGwiLCJjb3N0UGVyVW5pdCIsImNvbmNhdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL1ByaWNlTWF0cml4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCc7XG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBmb3JtYXRDdXJyZW5jeSB9IGZyb20gJy4vY3VycmVuY3knO1xuaW1wb3J0IHsgcHJvZHVjdFNldHVwQ29zdERldGFpbCB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHtcbiAgYWN0aXZlQmFuZEluZGV4LFxuICByZXNvbHZlUHJpY2VNYXRyaXgsXG4gIHR5cGUgUHJpY2VNYXRyaXhEYXRhLFxufSBmcm9tICcuLi91dGlscy9wcmljZU1hdHJpeCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJpY2VNYXRyaXhQcm9wcyB7XG4gIC8qKiBQcmVjb21wdXRlZCB0YWJsZS4gV2lucyBvdmVyIGBydWxlc2AgLyBgcHJvZHVjdGAuICovXG4gIG1hdHJpeD86IFByaWNlTWF0cml4RGF0YSB8IG51bGw7XG4gIC8qKiBMaXZlIHByaWNpbmctcnVsZXMgYnVuZGxlIGZyb20gYC9wcm9kdWN0cy86aWQvcHJpY2luZy1ydWxlcy9gLiAqL1xuICBydWxlcz86IGFueTtcbiAgLyoqIFByb2R1Y3QgSlNPTjsgdXNlZCBmb3IgZmFsbGJhY2sgYnJlYWtzIGFuZCBNT1Egd2hlbiBgcnVsZXNgIGlzIGFic2VudC4gKi9cbiAgcHJvZHVjdD86IGFueTtcbiAgc2VsZWN0aW9ucz86IHtcbiAgICBxdWFudGl0eT86IG51bWJlcjtcbiAgICBmaWVsZFZhbHVlcz86IFJlY29yZDxudW1iZXIsIGFueT47XG4gICAgZ3JvdXBzPzogYW55W107XG4gIH07XG4gIG1pblF1YW50aXR5PzogbnVtYmVyO1xuICAvKiogQ3VycmVudCBvcmRlciBxdWFudGl0eTsgaGlnaGxpZ2h0cyB0aGUgbWF0Y2hpbmcgY29sdW1uLiAqL1xuICBxdWFudGl0eT86IG51bWJlcjtcbiAgb25TZWxlY3RCYW5kPzogKHF1YW50aXR5OiBudW1iZXIpID0+IHZvaWQ7XG4gIC8qKiBXaGVuIGZhbHNlLCBxdWFudGl0eSBsYWJlbHMgYXJlIG5vdCBidXR0b25zLiBEZWZhdWx0cyB0byB3aGV0aGVyIGBvblNlbGVjdEJhbmRgIGlzIHNldC4gKi9cbiAgc2VsZWN0YWJsZT86IGJvb2xlYW47XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgY2FwdGlvbj86IHN0cmluZztcbiAgc2hvd0N1cnJlbmN5PzogYm9vbGVhbjtcbiAgc2hvd0N1cnJlbmN5Q29kZT86IGJvb2xlYW47XG59XG5cbmZ1bmN0aW9uIHByaWNlTWF0cml4U2V0dXBEZXRhaWwocHJvZHVjdD86IGFueSwgcnVsZXM/OiBhbnkpOiBzdHJpbmcge1xuICBjb25zdCBzZXR1cFByaWNlID0gTnVtYmVyKHByb2R1Y3Q/LnNldHVwUHJpY2UgPz8gcnVsZXM/LnByb2R1Y3Q/LnNldHVwUHJpY2UpO1xuICBpZiAoIXNldHVwUHJpY2UgfHwgc2V0dXBQcmljZSA8PSAwKSByZXR1cm4gJyc7XG4gIHJldHVybiBwcm9kdWN0U2V0dXBDb3N0RGV0YWlsKHtcbiAgICBzZXR1cFByaWNlLFxuICAgIHNldHVwUGVyR3JvdXA6IHByb2R1Y3Q/LnNldHVwUGVyR3JvdXAgPz8gcnVsZXM/LnByb2R1Y3Q/LnNldHVwUGVyR3JvdXAsXG4gICAgY3VycmVuY3k6IHByb2R1Y3Q/LmN1cnJlbmN5ID8/IHJ1bGVzPy5jdXJyZW5jeSxcbiAgfSkudHJpbSgpO1xufVxuXG5mdW5jdGlvbiBQcmljZU1hdHJpeCh7XG4gIG1hdHJpeDogbWF0cml4UHJvcCxcbiAgcnVsZXMsXG4gIHByb2R1Y3QsXG4gIHNlbGVjdGlvbnMsXG4gIG1pblF1YW50aXR5LFxuICBxdWFudGl0eSA9IDAsXG4gIG9uU2VsZWN0QmFuZCxcbiAgc2VsZWN0YWJsZSxcbiAgY2xhc3NOYW1lLFxuICBjYXB0aW9uID0gJ0J1bGsgcHJpY2UnLFxuICBzaG93Q3VycmVuY3kgPSBmYWxzZSxcbiAgc2hvd0N1cnJlbmN5Q29kZSA9IGZhbHNlLFxufTogUHJpY2VNYXRyaXhQcm9wcykge1xuICBjb25zdCBtYXRyaXggPSByZXNvbHZlUHJpY2VNYXRyaXgoe1xuICAgIG1hdHJpeDogbWF0cml4UHJvcCxcbiAgICBydWxlcyxcbiAgICBwcm9kdWN0LFxuICAgIHNlbGVjdGlvbnMsXG4gICAgbWluUXVhbnRpdHksXG4gIH0pO1xuICBpZiAoIW1hdHJpeCkgcmV0dXJuIG51bGw7XG5cbiAgY29uc3QgYWN0aXZlID0gYWN0aXZlQmFuZEluZGV4KG1hdHJpeCwgcXVhbnRpdHkpO1xuICBjb25zdCBjYW5TZWxlY3QgPSBzZWxlY3RhYmxlID8/IEJvb2xlYW4ob25TZWxlY3RCYW5kKTtcbiAgY29uc3QgY3VycmVuY3lPcHRpb25zID0ge1xuICAgIGN1cnJlbmN5OiBtYXRyaXguY3VycmVuY3kgfHwgcHJvZHVjdD8uY3VycmVuY3kgfHwgJ0FVRCcsXG4gICAgY29kZUJlZm9yZVN5bWJvbDogc2hvd0N1cnJlbmN5Q29kZSxcbiAgICBzaG93Q29kZUlmTm9TeW1ib2w6IHNob3dDdXJyZW5jeSxcbiAgfTtcbiAgY29uc3Qgc2V0dXBEZXRhaWwgPSBwcmljZU1hdHJpeFNldHVwRGV0YWlsKHByb2R1Y3QsIHJ1bGVzKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc05hbWUgfHwgJ21lcmNoaS1wcmljZS1tYXRyaXgnfT5cbiAgICAgIDx0YWJsZSBjbGFzc05hbWU9J21lcmNoaS1wcmljZS1tYXRyaXhfdGFibGUnPlxuICAgICAgICB7Y2FwdGlvbiB8fCBzZXR1cERldGFpbCA/IChcbiAgICAgICAgICA8Y2FwdGlvbiBjbGFzc05hbWU9J21lcmNoaS1wcmljZS1tYXRyaXhfY2FwdGlvbic+XG4gICAgICAgICAgICB7Y2FwdGlvbiA/IChcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPSdtZXJjaGktcHJpY2UtbWF0cml4X2NhcHRpb24tdGl0bGUnPntjYXB0aW9ufTwvc3Bhbj5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAge3NldHVwRGV0YWlsID8gKFxuICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9J21lcmNoaS1wcmljZS1tYXRyaXhfc2V0dXAnPntzZXR1cERldGFpbH08L3NwYW4+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8L2NhcHRpb24+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgICA8dGhlYWQ+XG4gICAgICAgICAgPHRyPlxuICAgICAgICAgICAgPHRoIHNjb3BlPSdyb3cnIGNsYXNzTmFtZT0nbWVyY2hpLXByaWNlLW1hdHJpeF9jb3JuZXInPlxuICAgICAgICAgICAgICBRdHlcbiAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICB7bWF0cml4LmJhbmRzLm1hcCgoYmFuZCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgaXNBY3RpdmUgPSBpbmRleCA9PT0gYWN0aXZlO1xuICAgICAgICAgICAgICBjb25zdCBjbGFzc05hbWVUaCA9IFtcbiAgICAgICAgICAgICAgICAnbWVyY2hpLXByaWNlLW1hdHJpeF90aCcsXG4gICAgICAgICAgICAgICAgaXNBY3RpdmUgPyAnbWVyY2hpLXByaWNlLW1hdHJpeF9jb2wtYWN0aXZlJyA6ICcnLFxuICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgLmZpbHRlcihCb29sZWFuKVxuICAgICAgICAgICAgICAgIC5qb2luKCcgJyk7XG4gICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPHRoXG4gICAgICAgICAgICAgICAgICBrZXk9e2JhbmQucXVhbnRpdHl9XG4gICAgICAgICAgICAgICAgICBzY29wZT0nY29sJ1xuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVUaH1cbiAgICAgICAgICAgICAgICAgIGFyaWEtY3VycmVudD17aXNBY3RpdmUgPyAndHJ1ZScgOiB1bmRlZmluZWR9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge2NhblNlbGVjdCA/IChcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU9J2J1dHRvbidcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9J21lcmNoaS1wcmljZS1tYXRyaXhfYmFuZCdcbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvblNlbGVjdEJhbmQ/LihiYW5kLnF1YW50aXR5KX1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIHtiYW5kLmxhYmVsfVxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgIGJhbmQubGFiZWxcbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC90aD5cbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgIDwvdHI+XG4gICAgICAgIDwvdGhlYWQ+XG4gICAgICAgIDx0Ym9keT5cbiAgICAgICAgICA8dHI+XG4gICAgICAgICAgICA8dGggc2NvcGU9J3JvdycgY2xhc3NOYW1lPSdtZXJjaGktcHJpY2UtbWF0cml4X3Jvdy1sYWJlbCc+XG4gICAgICAgICAgICAgIFVuaXRcbiAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICB7bWF0cml4LmNlbGxzLm1hcCgoY2VsbCwgaW5kZXgpID0+IChcbiAgICAgICAgICAgICAgPHRkXG4gICAgICAgICAgICAgICAga2V5PXtgdW5pdC0ke2NlbGwucXVhbnRpdHl9YH1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e1xuICAgICAgICAgICAgICAgICAgaW5kZXggPT09IGFjdGl2ZSA/ICdtZXJjaGktcHJpY2UtbWF0cml4X2NvbC1hY3RpdmUnIDogdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2Zvcm1hdEN1cnJlbmN5KGNlbGwuY29zdFBlclVuaXQsIGN1cnJlbmN5T3B0aW9ucyl9XG4gICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L3RyPlxuICAgICAgICA8L3Rib2R5PlxuICAgICAgPC90YWJsZT5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgUHJpY2VNYXRyaXg7XG4iXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7O0FBQ1osT0FBTyxLQUFLQSxLQUFLLE1BQU0sT0FBTztBQUM5QixTQUFTQyxjQUFjLFFBQVEsWUFBWTtBQUMzQyxTQUFTQyxzQkFBc0IsUUFBUSxTQUFTO0FBQ2hELFNBQ0VDLGVBQWUsRUFDZkMsa0JBQWtCLFFBRWIsc0JBQXNCO0FBQUMsU0FBQUMsR0FBQSxJQUFBQyxJQUFBLEVBQUFDLElBQUEsSUFBQUMsS0FBQTtBQTBCOUIsU0FBU0Msc0JBQXNCQSxDQUFDQyxPQUFhLEVBQUVDLEtBQVcsRUFBVTtFQUFBLElBQUFDLG1CQUFBLEVBQUFDLGNBQUEsRUFBQUMscUJBQUEsRUFBQUMsZUFBQSxFQUFBQyxpQkFBQTtFQUNsRSxJQUFNQyxVQUFVLEdBQUdDLE1BQU0sRUFBQU4sbUJBQUEsR0FBQ0YsT0FBTyxhQUFQQSxPQUFPLHVCQUFQQSxPQUFPLENBQUVPLFVBQVUsY0FBQUwsbUJBQUEsY0FBQUEsbUJBQUEsR0FBSUQsS0FBSyxhQUFMQSxLQUFLLGdCQUFBRSxjQUFBLEdBQUxGLEtBQUssQ0FBRUQsT0FBTyxjQUFBRyxjQUFBLHVCQUFkQSxjQUFBLENBQWdCSSxVQUFVLENBQUM7RUFDNUUsSUFBSSxDQUFDQSxVQUFVLElBQUlBLFVBQVUsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFO0VBQzdDLE9BQU9mLHNCQUFzQixDQUFDO0lBQzVCZSxVQUFVLEVBQVZBLFVBQVU7SUFDVkUsYUFBYSxHQUFBTCxxQkFBQSxHQUFFSixPQUFPLGFBQVBBLE9BQU8sdUJBQVBBLE9BQU8sQ0FBRVMsYUFBYSxjQUFBTCxxQkFBQSxjQUFBQSxxQkFBQSxHQUFJSCxLQUFLLGFBQUxBLEtBQUssZ0JBQUFJLGVBQUEsR0FBTEosS0FBSyxDQUFFRCxPQUFPLGNB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
@@ -0,0 +1,3 @@
1
+ import * as React from 'react';
2
+ declare function ProductButtonsSubmit(): React.JSX.Element;
3
+ export default ProductButtonsSubmit;
@@ -0,0 +1,52 @@
1
+ 'use client';
2
+
3
+ import * as React from 'react';
4
+ import { useMerchiFormContext } from '../context/MerchiProductFormProvider';
5
+ import { ButtonProductSubmit } from './buttons';
6
+ import { isProductSupplierMOD } from './utils';
7
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
8
+ function ProductButtonsSubmit() {
9
+ var _useMerchiFormContext = useMerchiFormContext(),
10
+ allowAddToCart = _useMerchiFormContext.allowAddToCart,
11
+ classNameButtonSubmit = _useMerchiFormContext.classNameButtonSubmit,
12
+ classNameButtonsSubmitContainer = _useMerchiFormContext.classNameButtonsSubmitContainer,
13
+ _useMerchiFormContext2 = _useMerchiFormContext.btnNameAddToCart,
14
+ btnNameAddToCart = _useMerchiFormContext2 === void 0 ? 'Add To Cart' : _useMerchiFormContext2,
15
+ loading = _useMerchiFormContext.loading,
16
+ onAddToCart = _useMerchiFormContext.onAddToCart,
17
+ onBuyNow = _useMerchiFormContext.onBuyNow,
18
+ onGetQuote = _useMerchiFormContext.onGetQuote,
19
+ product = _useMerchiFormContext.product,
20
+ productFormId = _useMerchiFormContext.productFormId,
21
+ hidePaymentUpfrontButton = _useMerchiFormContext.hidePaymentUpfrontButton,
22
+ hideRequestQuotationButton = _useMerchiFormContext.hideRequestQuotationButton;
23
+ var isSupplierMOD = isProductSupplierMOD(product);
24
+ var allowPaymentUpfront = product.allowPaymentUpfront,
25
+ allowQuotation = product.allowQuotation;
26
+ return /*#__PURE__*/_jsx(_Fragment, {
27
+ children: !productFormId && /*#__PURE__*/_jsx("div", {
28
+ className: classNameButtonsSubmitContainer,
29
+ "data-merchi-checkout-buttons": "",
30
+ children: isSupplierMOD ? /*#__PURE__*/_jsx("button", {
31
+ className: classNameButtonSubmit,
32
+ onClick: onGetQuote,
33
+ children: "Request Customisation"
34
+ }) : /*#__PURE__*/_jsxs(_Fragment, {
35
+ children: [!!(allowAddToCart && onAddToCart) && /*#__PURE__*/_jsx(ButtonProductSubmit, {
36
+ onClick: onAddToCart,
37
+ text: btnNameAddToCart
38
+ }), !!(allowPaymentUpfront && !hidePaymentUpfrontButton && onBuyNow) && /*#__PURE__*/_jsx(ButtonProductSubmit, {
39
+ onClick: onBuyNow,
40
+ text: "Buy Now"
41
+ }), !!(allowQuotation && !hideRequestQuotationButton && onGetQuote) && /*#__PURE__*/_jsx("button", {
42
+ disabled: loading,
43
+ className: classNameButtonSubmit,
44
+ onClick: onGetQuote,
45
+ children: loading ? 'Loading...' : 'Get Quote'
46
+ })]
47
+ })
48
+ })
49
+ });
50
+ }
51
+ export default ProductButtonsSubmit;
52
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZU1lcmNoaUZvcm1Db250ZXh0IiwiQnV0dG9uUHJvZHVjdFN1Ym1pdCIsImlzUHJvZHVjdFN1cHBsaWVyTU9EIiwianN4IiwiX2pzeCIsIkZyYWdtZW50IiwiX0ZyYWdtZW50IiwianN4cyIsIl9qc3hzIiwiUHJvZHVjdEJ1dHRvbnNTdWJtaXQiLCJfdXNlTWVyY2hpRm9ybUNvbnRleHQiLCJhbGxvd0FkZFRvQ2FydCIsImNsYXNzTmFtZUJ1dHRvblN1Ym1pdCIsImNsYXNzTmFtZUJ1dHRvbnNTdWJtaXRDb250YWluZXIiLCJfdXNlTWVyY2hpRm9ybUNvbnRleHQyIiwiYnRuTmFtZUFkZFRvQ2FydCIsImxvYWRpbmciLCJvbkFkZFRvQ2FydCIsIm9uQnV5Tm93Iiwib25HZXRRdW90ZSIsInByb2R1Y3QiLCJwcm9kdWN0Rm9ybUlkIiwiaGlkZVBheW1lbnRVcGZyb250QnV0dG9uIiwiaGlkZVJlcXVlc3RRdW90YXRpb25CdXR0b24iLCJpc1N1cHBsaWVyTU9EIiwiYWxsb3dQYXltZW50VXBmcm9udCIsImFsbG93UXVvdGF0aW9uIiwiY2hpbGRyZW4iLCJjbGFzc05hbWUiLCJvbkNsaWNrIiwidGV4dCIsImRpc2FibGVkIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvUHJvZHVjdEJ1dHRvbnNTdWJtaXQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50JztcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZU1lcmNoaUZvcm1Db250ZXh0IH0gZnJvbSAnLi4vY29udGV4dC9NZXJjaGlQcm9kdWN0Rm9ybVByb3ZpZGVyJztcbmltcG9ydCB7IEJ1dHRvblByb2R1Y3RTdWJtaXQgfSBmcm9tICcuL2J1dHRvbnMnO1xuaW1wb3J0IHsgaXNQcm9kdWN0U3VwcGxpZXJNT0QgfSBmcm9tICcuL3V0aWxzJztcblxuZnVuY3Rpb24gUHJvZHVjdEJ1dHRvbnNTdWJtaXQoKSB7XG4gIGNvbnN0IHtcbiAgICBhbGxvd0FkZFRvQ2FydCxcbiAgICBjbGFzc05hbWVCdXR0b25TdWJtaXQsXG4gICAgY2xhc3NOYW1lQnV0dG9uc1N1Ym1pdENvbnRhaW5lcixcbiAgICBidG5OYW1lQWRkVG9DYXJ0ID0gJ0FkZCBUbyBDYXJ0JyxcbiAgICBsb2FkaW5nLFxuICAgIG9uQWRkVG9DYXJ0LFxuICAgIG9uQnV5Tm93LFxuICAgIG9uR2V0UXVvdGUsXG4gICAgcHJvZHVjdCxcbiAgICBwcm9kdWN0Rm9ybUlkLFxuICAgIGhpZGVQYXltZW50VXBmcm9udEJ1dHRvbixcbiAgICBoaWRlUmVxdWVzdFF1b3RhdGlvbkJ1dHRvbixcbiAgfSA9IHVzZU1lcmNoaUZvcm1Db250ZXh0KCk7XG4gIGNvbnN0IGlzU3VwcGxpZXJNT0QgPSBpc1Byb2R1Y3RTdXBwbGllck1PRChwcm9kdWN0KTtcbiAgY29uc3QgeyBhbGxvd1BheW1lbnRVcGZyb250LCBhbGxvd1F1b3RhdGlvbiB9ID0gcHJvZHVjdDtcbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgeyFwcm9kdWN0Rm9ybUlkICYmIChcbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lQnV0dG9uc1N1Ym1pdENvbnRhaW5lcn1cbiAgICAgICAgICBkYXRhLW1lcmNoaS1jaGVja291dC1idXR0b25zPScnXG4gICAgICAgID5cbiAgICAgICAgICB7aXNTdXBwbGllck1PRCA/IChcbiAgICAgICAgICAgIDxidXR0b24gY2xhc3NOYW1lPXtjbGFzc05hbWVCdXR0b25TdWJtaXR9IG9uQ2xpY2s9e29uR2V0UXVvdGV9PlxuICAgICAgICAgICAgICBSZXF1ZXN0IEN1c3RvbWlzYXRpb25cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICA8PlxuICAgICAgICAgICAgICB7ISEoYWxsb3dBZGRUb0NhcnQgJiYgb25BZGRUb0NhcnQpICYmIChcbiAgICAgICAgICAgICAgICA8QnV0dG9uUHJvZHVjdFN1Ym1pdFxuICAgICAgICAgICAgICAgICAgb25DbGljaz17b25BZGRUb0NhcnR9XG4gICAgICAgICAgICAgICAgICB0ZXh0PXtidG5OYW1lQWRkVG9DYXJ0fVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIHshIShcbiAgICAgICAgICAgICAgICBhbGxvd1BheW1lbnRVcGZyb250ICYmXG4gICAgICAgICAgICAgICAgIWhpZGVQYXltZW50VXBmcm9udEJ1dHRvbiAmJlxuICAgICAgICAgICAgICAgIG9uQnV5Tm93XG4gICAgICAgICAgICAgICkgJiYgPEJ1dHRvblByb2R1Y3RTdWJtaXQgb25DbGljaz17b25CdXlOb3d9IHRleHQ9J0J1eSBOb3cnIC8+fVxuICAgICAgICAgICAgICB7ISEoXG4gICAgICAgICAgICAgICAgYWxsb3dRdW90YXRpb24gJiZcbiAgICAgICAgICAgICAgICAhaGlkZVJlcXVlc3RRdW90YXRpb25CdXR0b24gJiZcbiAgICAgICAgICAgICAgICBvbkdldFF1b3RlXG4gICAgICAgICAgICAgICkgJiYgKFxuICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17bG9hZGluZ31cbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVCdXR0b25TdWJtaXR9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uR2V0UXVvdGV9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHtsb2FkaW5nID8gJ0xvYWRpbmcuLi4nIDogJ0dldCBRdW90ZSd9XG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuICAgIDwvPlxuICApO1xufVxuXG5leHBvcnQgZGVmYXVsdCBQcm9kdWN0QnV0dG9uc1N1Ym1pdDtcbiJd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
@@ -0,0 +1,3 @@
1
+ import * as React from 'react';
2
+ declare function ProductFeatureDeadline(): React.JSX.Element;
3
+ export default ProductFeatureDeadline;
@@ -0,0 +1,25 @@
1
+ import * as React from 'react';
2
+ import * as moment from 'moment-timezone';
3
+ import DateCountdown from './DateCountdown';
4
+ import { useMerchiFormContext } from '../context/MerchiProductFormProvider';
5
+ import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
6
+ function ProductFeatureDeadline() {
7
+ var _useMerchiFormContext = useMerchiFormContext(),
8
+ product = _useMerchiFormContext.product;
9
+ var featureDeadline = product.featureDeadline;
10
+ var tz = Intl && Intl.DateTimeFormat() && Intl.DateTimeFormat().resolvedOptions() ? Intl.DateTimeFormat().resolvedOptions().timeZone : '';
11
+ var deadlineUnix = featureDeadline > 1e12 ? featureDeadline / 1000 : featureDeadline;
12
+ var tooltip = deadlineUnix ? "Available until ".concat(moment.unix(deadlineUnix).tz(tz).format('ddd Do MMM')) : '';
13
+ return /*#__PURE__*/_jsx(_Fragment, {
14
+ children: featureDeadline && /*#__PURE__*/_jsx("div", {
15
+ className: "merchi-feature-deadline-container",
16
+ children: /*#__PURE__*/_jsx(DateCountdown, {
17
+ deadline: deadlineUnix,
18
+ hideSeconds: false,
19
+ tooltip: tooltip
20
+ })
21
+ })
22
+ });
23
+ }
24
+ export default ProductFeatureDeadline;
25
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIm1vbWVudCIsIkRhdGVDb3VudGRvd24iLCJ1c2VNZXJjaGlGb3JtQ29udGV4dCIsImpzeCIsIl9qc3giLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsIlByb2R1Y3RGZWF0dXJlRGVhZGxpbmUiLCJfdXNlTWVyY2hpRm9ybUNvbnRleHQiLCJwcm9kdWN0IiwiZmVhdHVyZURlYWRsaW5lIiwidHoiLCJJbnRsIiwiRGF0ZVRpbWVGb3JtYXQiLCJyZXNvbHZlZE9wdGlvbnMiLCJ0aW1lWm9uZSIsImRlYWRsaW5lVW5peCIsInRvb2x0aXAiLCJjb25jYXQiLCJ1bml4IiwiZm9ybWF0IiwiY2hpbGRyZW4iLCJjbGFzc05hbWUiLCJkZWFkbGluZSIsImhpZGVTZWNvbmRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvUHJvZHVjdEZlYXR1cmVEZWFkbGluZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0ICogYXMgbW9tZW50IGZyb20gJ21vbWVudC10aW1lem9uZSc7XG5pbXBvcnQgRGF0ZUNvdW50ZG93biBmcm9tICcuL0RhdGVDb3VudGRvd24nO1xuaW1wb3J0IHsgdXNlTWVyY2hpRm9ybUNvbnRleHQgfSBmcm9tICcuLi9jb250ZXh0L01lcmNoaVByb2R1Y3RGb3JtUHJvdmlkZXInO1xuXG5mdW5jdGlvbiBQcm9kdWN0RmVhdHVyZURlYWRsaW5lKCkge1xuICBjb25zdCB7IHByb2R1Y3QgfSA9IHVzZU1lcmNoaUZvcm1Db250ZXh0KCk7XG4gIGNvbnN0IHsgZmVhdHVyZURlYWRsaW5lIH0gPSBwcm9kdWN0O1xuICBjb25zdCB0eiA9IChJbnRsIGFzIGFueSkgJiYgKEludGwgYXMgYW55KS5EYXRlVGltZUZvcm1hdCgpICYmIChJbnRsIGFzIGFueSkuRGF0ZVRpbWVGb3JtYXQoKS5yZXNvbHZlZE9wdGlvbnMoKSA/XG4gICAgKEludGwgYXMgYW55KS5EYXRlVGltZUZvcm1hdCgpLnJlc29sdmVkT3B0aW9ucygpLnRpbWVab25lIDogJyc7XG4gIGNvbnN0IGRlYWRsaW5lVW5peCA9XG4gICAgZmVhdHVyZURlYWRsaW5lID4gMWUxMiA/IGZlYXR1cmVEZWFkbGluZSAvIDEwMDAgOiBmZWF0dXJlRGVhZGxpbmU7XG4gIGNvbnN0IHRvb2x0aXAgPSBkZWFkbGluZVVuaXggP1xuICAgIGBBdmFpbGFibGUgdW50aWwgJHttb21lbnQudW5peChkZWFkbGluZVVuaXgpLnR6KHR6KS5mb3JtYXQoJ2RkZCBEbyBNTU0nKX1gIDogJyc7XG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIHtmZWF0dXJlRGVhZGxpbmUgJiZcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1mZWF0dXJlLWRlYWRsaW5lLWNvbnRhaW5lcic+XG4gICAgICAgICAgPERhdGVDb3VudGRvd25cbiAgICAgICAgICAgIGRlYWRsaW5lPXtkZWFkbGluZVVuaXh9XG4gICAgICAgICAgICBoaWRlU2Vjb25kcz17ZmFsc2V9XG4gICAgICAgICAgICB0b29sdGlwPXt0b29sdGlwfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvPlxuICApO1xufVxuXG5leHBvcnQgZGVmYXVsdCBQcm9kdWN0RmVhdHVyZURlYWRsaW5lO1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUtBLEtBQUssTUFBTSxPQUFPO0FBQzlCLE9BQU8sS0FBS0MsTUFBTSxNQUFNLGlCQUFpQjtBQUN6QyxPQUFPQyxhQUFhLE1BQU0saUJBQWlCO0FBQzNDLFNBQVNDLG9CQUFvQixRQUFRLHNDQUFzQztBQUFDLFNBQUFDLEdBQUEsSUFBQUMsSUFBQSxFQUFBQyxRQUFBLElBQUFDLFNBQUE7QUFFNUUsU0FBU0Msc0JBQXNCQSxDQUFBLEVBQUc7RUFDaEMsSUFBQUMscUJBQUEsR0FBb0JOLG9CQUFvQixDQUFDLENBQUM7SUFBbENPLE9BQU8sR0FBQUQscUJBQUEsQ0FBUEMsT0FBTztFQUNmLElBQVFDLGVBQWUsR0FBS0QsT0FBTyxDQUEzQkMsZUFBZTtFQUN2QixJQUFNQyxFQUFFLEdBQUlDLElBQUksSUFBYUEsSUFBSSxDQUFTQyxjQUFjLENBQUMsQ0FBQyxJQUFLRCxJQUFJLENBQVNDLGNBQWMsQ0FBQyxDQUFDLENBQUNDLGVBQWUsQ0FBQyxDQUFDLEdBQzNHRixJQUFJLENBQVNDLGNBQWMsQ0FBQyxDQUFDLENBQUNDLGVBQWUsQ0FBQyxDQUFDLENBQUNDLFFBQVEsR0FBRyxFQUFFO0VBQ2hFLElBQU1DLFlBQVksR0FDaEJOLGVBQWUsR0FBRyxJQUFJLEdBQUdBLGVBQWUsR0FBRyxJQUFJLEdBQUdBLGVBQWU7RUFDbkUsSUFBTU8sT0FBTyxHQUFHRCxZQUFZLHNCQUFBRSxNQUFBLENBQ1BsQixNQUFNLENBQUNtQixJQUFJLENBQUNILFlBQVksQ0FBQyxDQUFDTCxFQUFFLENBQUNBLEVBQUUsQ0FBQyxDQUFDUyxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUssRUFBRTtFQUNqRixvQkFDRWhCLElBQUEsQ0FBQUUsU0FBQTtJQUFBZSxRQUFBLEVBQ0dYLGVBQWUsaUJBQ2ROLElBQUE7TUFBS2tCLFNBQVMsRUFBQyxtQ0FBbUM7TUFBQUQsUUFBQSxlQUNoRGpCLElBQUEsQ0FBQ0gsYUFBYTtRQUNac0IsUUFBUSxFQUFFUCxZQUFhO1FBQ3ZCUSxXQUFXLEVBQUUsS0FBTTtRQUNuQlAsT0FBTyxFQUFFQTtNQUFRLENBQ2xCO0lBQUMsQ0FDQztFQUFDLENBRVIsQ0FBQztBQUVQO0FBRUEsZUFBZVYsc0JBQXNCIiwiaWdub3JlTGlzdCI6W119
@@ -0,0 +1,3 @@
1
+ import * as React from 'react';
2
+ declare function ProductGroupBuyStatus(): React.JSX.Element;
3
+ export default ProductGroupBuyStatus;