@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,3 @@
1
+ import * as React from 'react';
2
+ export declare function ProductDraftsCta(): React.JSX.Element;
3
+ export default function ProductDraftsHost(): React.JSX.Element;
@@ -0,0 +1,207 @@
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
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
10
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
11
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
12
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
13
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
14
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
15
+ import * as React from 'react';
16
+ import { useLayoutEffect, useMemo, useState } from 'react';
17
+ import { createPortal } from 'react-dom';
18
+ import { FaPaintBrush } from 'react-icons/fa';
19
+ import { useMerchiFormContext } from '../../context/MerchiProductFormProvider';
20
+ import { productAllowsClientDesign } from '../../utils/draftTemplates';
21
+ import { isProductLeadForm } from '../utils';
22
+ import { clearDrafts, completeGroupCount, loadArtworkPath, loadDrafts, missingDesignSlots, saveArtworkPath } from '../../utils/draftStorage';
23
+ import DraftApprovePanel from './DraftApprovePanel';
24
+ import DraftDesignerSheet from './DraftDesignerSheet';
25
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
26
+ function findCheckoutButtonsEl() {
27
+ var marked = document.querySelector('[data-merchi-checkout-buttons]');
28
+ if (marked instanceof HTMLElement) return marked;
29
+ var named = document.querySelector('.merchi-product-buttons-submit-container, .merchi-action-buttons-container');
30
+ if (named instanceof HTMLElement) return named;
31
+ var submit = document.querySelector('.merchi-embed-form_button-submit');
32
+ return submit instanceof HTMLElement ? submit.parentElement : null;
33
+ }
34
+ export function ProductDraftsCta() {
35
+ var _hookForm$getValues;
36
+ var _useMerchiFormContext = useMerchiFormContext(),
37
+ classNameDraftCta = _useMerchiFormContext.classNameDraftCta,
38
+ hookForm = _useMerchiFormContext.hookForm,
39
+ job = _useMerchiFormContext.job,
40
+ product = _useMerchiFormContext.product,
41
+ setIsDraftDesignerOpen = _useMerchiFormContext.setIsDraftDesignerOpen,
42
+ setJob = _useMerchiFormContext.setJob;
43
+ var _useState = useState(0),
44
+ _useState2 = _slicedToArray(_useState, 2),
45
+ draftRevision = _useState2[0],
46
+ setDraftRevision = _useState2[1];
47
+ var _useState3 = useState('self'),
48
+ _useState4 = _slicedToArray(_useState3, 2),
49
+ artworkPath = _useState4[0],
50
+ setArtworkPath = _useState4[1];
51
+ var allowed = productAllowsClientDesign(product);
52
+ var formValues = hookForm.watch ? hookForm.watch() : ((_hookForm$getValues = hookForm.getValues) === null || _hookForm$getValues === void 0 ? void 0 : _hookForm$getValues.call(hookForm)) || {};
53
+ var drafts = typeof window !== 'undefined' && product !== null && product !== void 0 && product.id ? loadDrafts(product.id) : [];
54
+ var status = useMemo(function () {
55
+ return completeGroupCount(product, formValues, drafts);
56
+ }, [product, formValues, drafts, draftRevision]);
57
+ var missing = useMemo(function () {
58
+ return missingDesignSlots(product, formValues, drafts);
59
+ }, [product, formValues, drafts, draftRevision]);
60
+ var hasSaved = status.complete > 0;
61
+ React.useEffect(function () {
62
+ if (!(product !== null && product !== void 0 && product.id)) return;
63
+ setArtworkPath(loadArtworkPath(product.id));
64
+ }, [product === null || product === void 0 ? void 0 : product.id]);
65
+ if (!allowed || isProductLeadForm(product)) return null;
66
+ function choosePath(path) {
67
+ setArtworkPath(path);
68
+ if (product !== null && product !== void 0 && product.id) saveArtworkPath(product.id, path);
69
+ }
70
+ function startAgain() {
71
+ if (!(product !== null && product !== void 0 && product.id)) return;
72
+ var confirmed = window.confirm('This will clear your saved artwork. Start again from scratch?');
73
+ if (!confirmed) return;
74
+ clearDrafts(product.id);
75
+ setJob(_objectSpread(_objectSpread({}, job), {}, {
76
+ ownDrafts: [],
77
+ clientFiles: []
78
+ }));
79
+ setDraftRevision(function (value) {
80
+ return value + 1;
81
+ });
82
+ choosePath('self');
83
+ setIsDraftDesignerOpen(true);
84
+ }
85
+ return /*#__PURE__*/_jsxs("div", {
86
+ className: "".concat(classNameDraftCta || '', " merchi-product-draft-cta"),
87
+ children: [/*#__PURE__*/_jsx("strong", {
88
+ className: "merchi-product-draft-cta-heading",
89
+ children: "Artwork"
90
+ }), /*#__PURE__*/_jsxs("div", {
91
+ className: "merchi-product-draft-cta-tabs",
92
+ role: "tablist",
93
+ "aria-label": "Artwork options",
94
+ children: [/*#__PURE__*/_jsx("button", {
95
+ type: "button",
96
+ role: "tab",
97
+ "aria-selected": artworkPath === 'self',
98
+ className: "merchi-product-draft-cta-tab".concat(artworkPath === 'self' ? ' is-active' : ''),
99
+ onClick: function onClick() {
100
+ return choosePath('self');
101
+ },
102
+ children: "Design myself"
103
+ }), /*#__PURE__*/_jsx("button", {
104
+ type: "button",
105
+ role: "tab",
106
+ "aria-selected": artworkPath === 'service',
107
+ className: "merchi-product-draft-cta-tab".concat(artworkPath === 'service' ? ' is-active' : ''),
108
+ onClick: function onClick() {
109
+ return choosePath('service');
110
+ },
111
+ children: "Free design service"
112
+ })]
113
+ }), artworkPath === 'self' ? /*#__PURE__*/_jsxs("div", {
114
+ className: "merchi-product-draft-cta-panel",
115
+ role: "tabpanel",
116
+ children: [/*#__PURE__*/_jsx("span", {
117
+ children: "Use the online designer to place text, colours, and logos on the template."
118
+ }), hasSaved ? /*#__PURE__*/_jsx("span", {
119
+ children: status.total === 1 ? 'Draft saved' : "".concat(status.complete, " of ").concat(status.total, " groups saved")
120
+ }) : null, /*#__PURE__*/_jsxs("div", {
121
+ className: "merchi-product-draft-cta-actions",
122
+ children: [/*#__PURE__*/_jsxs("button", {
123
+ type: "button",
124
+ className: "merchi-product-draft-cta-btn",
125
+ onClick: function onClick() {
126
+ return setIsDraftDesignerOpen(true);
127
+ },
128
+ children: [/*#__PURE__*/_jsx(FaPaintBrush, {}), missing.length ? 'Open designer' : 'Edit']
129
+ }), hasSaved ? /*#__PURE__*/_jsx("button", {
130
+ type: "button",
131
+ className: "merchi-product-draft-cta-reset",
132
+ onClick: startAgain,
133
+ children: "Start again"
134
+ }) : null]
135
+ })]
136
+ }) : /*#__PURE__*/_jsx("div", {
137
+ className: "merchi-product-draft-cta-panel",
138
+ role: "tabpanel",
139
+ children: /*#__PURE__*/_jsx("span", {
140
+ children: "Skip the designer and add to cart, buy now, or get a quote. We'll create a free draft for you after the order."
141
+ })
142
+ })]
143
+ });
144
+ }
145
+ export default function ProductDraftsHost() {
146
+ var _hookForm$getValues2, _missing$;
147
+ var _useMerchiFormContext2 = useMerchiFormContext(),
148
+ hookForm = _useMerchiFormContext2.hookForm,
149
+ isDraftDesignerOpen = _useMerchiFormContext2.isDraftDesignerOpen,
150
+ isDraftModalOpen = _useMerchiFormContext2.isDraftModalOpen,
151
+ product = _useMerchiFormContext2.product,
152
+ setIsDraftDesignerOpen = _useMerchiFormContext2.setIsDraftDesignerOpen,
153
+ consumePendingCheckout = _useMerchiFormContext2.consumePendingCheckout;
154
+ var allowed = productAllowsClientDesign(product);
155
+ var formValues = hookForm.watch ? hookForm.watch() : ((_hookForm$getValues2 = hookForm.getValues) === null || _hookForm$getValues2 === void 0 ? void 0 : _hookForm$getValues2.call(hookForm)) || {};
156
+ var drafts = typeof window !== 'undefined' && product !== null && product !== void 0 && product.id ? loadDrafts(product.id) : [];
157
+ var missing = useMemo(function () {
158
+ return missingDesignSlots(product, formValues, drafts);
159
+ }, [product, formValues, drafts]);
160
+ var _useState5 = useState(null),
161
+ _useState6 = _slicedToArray(_useState5, 2),
162
+ ctaAnchor = _useState6[0],
163
+ setCtaAnchor = _useState6[1];
164
+ useLayoutEffect(function () {
165
+ if (!allowed || isProductLeadForm(product)) return;
166
+ if (document.querySelector('.merchi-product-draft-cta')) return;
167
+ var buttons = findCheckoutButtonsEl();
168
+ if (!(buttons !== null && buttons !== void 0 && buttons.parentElement)) return;
169
+ var slot = document.createElement('div');
170
+ slot.setAttribute('data-merchi-draft-cta-slot', 'true');
171
+ buttons.parentElement.insertBefore(slot, buttons);
172
+ setCtaAnchor(slot);
173
+ return function () {
174
+ slot.remove();
175
+ setCtaAnchor(null);
176
+ };
177
+ }, [allowed, product]);
178
+ if (!allowed || isProductLeadForm(product)) return null;
179
+ function handleSaved() {
180
+ setIsDraftDesignerOpen(false);
181
+ var pending = consumePendingCheckout === null || consumePendingCheckout === void 0 ? void 0 : consumePendingCheckout();
182
+ if (pending) {
183
+ pending();
184
+ return;
185
+ }
186
+ }
187
+ return /*#__PURE__*/_jsxs(_Fragment, {
188
+ children: [ctaAnchor ? /*#__PURE__*/createPortal(/*#__PURE__*/_jsx(ProductDraftsCta, {}), ctaAnchor) : null, /*#__PURE__*/_jsx(DraftDesignerSheet, {
189
+ open: Boolean(isDraftDesignerOpen),
190
+ initialGroupIndex: ((_missing$ = missing[0]) === null || _missing$ === void 0 ? void 0 : _missing$.groupIndex) || 0,
191
+ onClose: function onClose() {
192
+ return setIsDraftDesignerOpen(false);
193
+ },
194
+ onSaved: handleSaved
195
+ }), isDraftModalOpen && typeof document !== 'undefined' ? /*#__PURE__*/createPortal(/*#__PURE__*/_jsx("div", {
196
+ className: "merchi-product-draft-approve",
197
+ role: "dialog",
198
+ "aria-modal": "true",
199
+ "aria-labelledby": "merchi-product-draft-approve-title",
200
+ children: /*#__PURE__*/_jsx("div", {
201
+ className: "merchi-product-draft-approve-panel",
202
+ children: /*#__PURE__*/_jsx(DraftApprovePanel, {})
203
+ })
204
+ }), document.body) : null]
205
+ });
206
+ }
207
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdHlwZW9mIiwibyIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiY29uc3RydWN0b3IiLCJwcm90b3R5cGUiLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJfdG9Qcm9wZXJ0eUtleSIsInZhbHVlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJpIiwiX3RvUHJpbWl0aXZlIiwidG9QcmltaXRpdmUiLCJjYWxsIiwiVHlwZUVycm9yIiwiU3RyaW5nIiwiTnVtYmVyIiwiX3NsaWNlZFRvQXJyYXkiLCJfYXJyYXlXaXRoSG9sZXMiLCJfaXRlcmFibGVUb0FycmF5TGltaXQiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVSZXN0IiwiYSIsIl9hcnJheUxpa2VUb0FycmF5IiwidG9TdHJpbmciLCJzbGljZSIsIm5hbWUiLCJBcnJheSIsImZyb20iLCJ0ZXN0IiwibiIsImwiLCJ1IiwiZiIsIm5leHQiLCJkb25lIiwiaXNBcnJheSIsIlJlYWN0IiwidXNlTGF5b3V0RWZmZWN0IiwidXNlTWVtbyIsInVzZVN0YXRlIiwiY3JlYXRlUG9ydGFsIiwiRmFQYWludEJydXNoIiwidXNlTWVyY2hpRm9ybUNvbnRleHQiLCJwcm9kdWN0QWxsb3dzQ2xpZW50RGVzaWduIiwiaXNQcm9kdWN0TGVhZEZvcm0iLCJjbGVhckRyYWZ0cyIsImNvbXBsZXRlR3JvdXBDb3VudCIsImxvYWRBcnR3b3JrUGF0aCIsImxvYWREcmFmdHMiLCJtaXNzaW5nRGVzaWduU2xvdHMiLCJzYXZlQXJ0d29ya1BhdGgiLCJEcmFmdEFwcHJvdmVQYW5lbCIsIkRyYWZ0RGVzaWduZXJTaGVldCIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsImZpbmRDaGVja291dEJ1dHRvbnNFbCIsIm1hcmtlZCIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvciIsIkhUTUxFbGVtZW50IiwibmFtZWQiLCJzdWJtaXQiLCJwYXJlbnRFbGVtZW50IiwiUHJvZHVjdERyYWZ0c0N0YSIsIl9ob29rRm9ybSRnZXRWYWx1ZXMiLCJfdXNlTWVyY2hpRm9ybUNvbnRleHQiLCJjbGFzc05hbWVEcmFmdEN0YSIsImhvb2tGb3JtIiwiam9iIiwicHJvZHVjdCIsInNldElzRHJhZnREZXNpZ25lck9wZW4iLCJzZXRKb2IiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiZHJhZnRSZXZpc2lvbiIsInNldERyYWZ0UmV2aXNpb24iLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImFydHdvcmtQYXRoIiwic2V0QXJ0d29ya1BhdGgiLCJhbGxvd2VkIiwiZm9ybVZhbHVlcyIsIndhdGNoIiwiZ2V0VmFsdWVzIiwiZHJhZnRzIiwid2luZG93IiwiaWQiLCJzdGF0dXMiLCJtaXNzaW5nIiwiaGFzU2F2ZWQiLCJjb21wbGV0ZSIsInVzZUVmZmVjdCIsImNob29zZVBhdGgiLCJwYXRoIiwic3RhcnRBZ2FpbiIsImNvbmZpcm1lZCIsImNvbmZpcm0iLCJvd25EcmFmdHMiLCJjbGllbnRGaWxlcyIsImNsYXNzTmFtZSIsImNvbmNhdCIsImNoaWxkcmVuIiwicm9sZSIsInR5cGUiLCJvbkNsaWNrIiwidG90YWwiLCJQcm9kdWN0RHJhZnRzSG9zdCIsIl9ob29rRm9ybSRnZXRWYWx1ZXMyIiwiX21pc3NpbmckIiwiX3VzZU1lcmNoaUZvcm1Db250ZXh0MiIsImlzRHJhZnREZXNpZ25lck9wZW4iLCJpc0RyYWZ0TW9kYWxPcGVuIiwiY29uc3VtZVBlbmRpbmdDaGVja291dCIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwiY3RhQW5jaG9yIiwic2V0Q3RhQW5jaG9yIiwiYnV0dG9ucyIsInNsb3QiLCJjcmVhdGVFbGVtZW50Iiwic2V0QXR0cmlidXRlIiwiaW5zZXJ0QmVmb3JlIiwicmVtb3ZlIiwiaGFuZGxlU2F2ZWQiLCJwZW5kaW5nIiwib3BlbiIsIkJvb2xlYW4iLCJpbml0aWFsR3JvdXBJbmRleCIsImdyb3VwSW5kZXgiLCJvbkNsb3NlIiwib25TYXZlZCIsImJvZHkiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9kcmFmdHMvUHJvZHVjdERyYWZ0c0hvc3QudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50JztcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZUxheW91dEVmZmVjdCwgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjcmVhdGVQb3J0YWwgfSBmcm9tICdyZWFjdC1kb20nO1xuaW1wb3J0IHsgRmFQYWludEJydXNoIH0gZnJvbSAncmVhY3QtaWNvbnMvZmEnO1xuaW1wb3J0IHsgdXNlTWVyY2hpRm9ybUNvbnRleHQgfSBmcm9tICcuLi8uLi9jb250ZXh0L01lcmNoaVByb2R1Y3RGb3JtUHJvdmlkZXInO1xuaW1wb3J0IHtcbiAgcHJvZHVjdEFsbG93c0NsaWVudERlc2lnbixcbn0gZnJvbSAnLi4vLi4vdXRpbHMvZHJhZnRUZW1wbGF0ZXMnO1xuaW1wb3J0IHsgaXNQcm9kdWN0TGVhZEZvcm0gfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQge1xuICBBcnR3b3JrUGF0aCxcbiAgY2xlYXJEcmFmdHMsXG4gIGNvbXBsZXRlR3JvdXBDb3VudCxcbiAgbG9hZEFydHdvcmtQYXRoLFxuICBsb2FkRHJhZnRzLFxuICBtaXNzaW5nRGVzaWduU2xvdHMsXG4gIHNhdmVBcnR3b3JrUGF0aCxcbn0gZnJvbSAnLi4vLi4vdXRpbHMvZHJhZnRTdG9yYWdlJztcbmltcG9ydCBEcmFmdEFwcHJvdmVQYW5lbCBmcm9tICcuL0RyYWZ0QXBwcm92ZVBhbmVsJztcbmltcG9ydCBEcmFmdERlc2lnbmVyU2hlZXQgZnJvbSAnLi9EcmFmdERlc2lnbmVyU2hlZXQnO1xuXG5mdW5jdGlvbiBmaW5kQ2hlY2tvdXRCdXR0b25zRWwoKTogSFRNTEVsZW1lbnQgfCBudWxsIHtcbiAgY29uc3QgbWFya2VkID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignW2RhdGEtbWVyY2hpLWNoZWNrb3V0LWJ1dHRvbnNdJyk7XG4gIGlmIChtYXJrZWQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkgcmV0dXJuIG1hcmtlZDtcbiAgY29uc3QgbmFtZWQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFxuICAgICcubWVyY2hpLXByb2R1Y3QtYnV0dG9ucy1zdWJtaXQtY29udGFpbmVyLCAubWVyY2hpLWFjdGlvbi1idXR0b25zLWNvbnRhaW5lcicsXG4gICk7XG4gIGlmIChuYW1lZCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSByZXR1cm4gbmFtZWQ7XG4gIGNvbnN0IHN1Ym1pdCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5tZXJjaGktZW1iZWQtZm9ybV9idXR0b24tc3VibWl0Jyk7XG4gIHJldHVybiBzdWJtaXQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCA/IHN1Ym1pdC5wYXJlbnRFbGVtZW50IDogbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByb2R1Y3REcmFmdHNDdGEoKSB7XG4gIGNvbnN0IHtcbiAgICBjbGFzc05hbWVEcmFmdEN0YSxcbiAgICBob29rRm9ybSxcbiAgICBqb2IsXG4gICAgcHJvZHVjdCxcbiAgICBzZXRJc0RyYWZ0RGVzaWduZXJPcGVuLFxuICAgIHNldEpvYixcbiAgfSA9IHVzZU1lcmNoaUZvcm1Db250ZXh0KCk7XG4gIGNvbnN0IFtkcmFmdFJldmlzaW9uLCBzZXREcmFmdFJldmlzaW9uXSA9IHVzZVN0YXRlKDApO1xuICBjb25zdCBbYXJ0d29ya1BhdGgsIHNldEFydHdvcmtQYXRoXSA9IHVzZVN0YXRlPEFydHdvcmtQYXRoPignc2VsZicpO1xuXG4gIGNvbnN0IGFsbG93ZWQgPSBwcm9kdWN0QWxsb3dzQ2xpZW50RGVzaWduKHByb2R1Y3QpO1xuICBjb25zdCBmb3JtVmFsdWVzID0gaG9va0Zvcm0ud2F0Y2ggPyBob29rRm9ybS53YXRjaCgpIDogaG9va0Zvcm0uZ2V0VmFsdWVzPy4oKSB8fCB7fTtcbiAgY29uc3QgZHJhZnRzID0gdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgcHJvZHVjdD8uaWRcbiAgICA/IGxvYWREcmFmdHMocHJvZHVjdC5pZClcbiAgICA6IFtdO1xuICBjb25zdCBzdGF0dXMgPSB1c2VNZW1vKFxuICAgICgpID0+IGNvbXBsZXRlR3JvdXBDb3VudChwcm9kdWN0LCBmb3JtVmFsdWVzLCBkcmFmdHMpLFxuICAgIFtwcm9kdWN0LCBmb3JtVmFsdWVzLCBkcmFmdHMsIGRyYWZ0UmV2aXNpb25dLFxuICApO1xuICBjb25zdCBtaXNzaW5nID0gdXNlTWVtbyhcbiAgICAoKSA9PiBtaXNzaW5nRGVzaWduU2xvdHMocHJvZHVjdCwgZm9ybVZhbHVlcywgZHJhZnRzKSxcbiAgICBbcHJvZHVjdCwgZm9ybVZhbHVlcywgZHJhZnRzLCBkcmFmdFJldmlzaW9uXSxcbiAgKTtcbiAgY29uc3QgaGFzU2F2ZWQgPSBzdGF0dXMuY29tcGxldGUgPiAwO1xuXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFwcm9kdWN0Py5pZCkgcmV0dXJuO1xuICAgIHNldEFydHdvcmtQYXRoKGxvYWRBcnR3b3JrUGF0aChwcm9kdWN0LmlkKSk7XG4gIH0sIFtwcm9kdWN0Py5pZF0pO1xuXG4gIGlmICghYWxsb3dlZCB8fCBpc1Byb2R1Y3RMZWFkRm9ybShwcm9kdWN0KSkgcmV0dXJuIG51bGw7XG5cbiAgZnVuY3Rpb24gY2hvb3NlUGF0aChwYXRoOiBBcnR3b3JrUGF0aCkge1xuICAgIHNldEFydHdvcmtQYXRoKHBhdGgpO1xuICAgIGlmIChwcm9kdWN0Py5pZCkgc2F2ZUFydHdvcmtQYXRoKHByb2R1Y3QuaWQsIHBhdGgpO1xuICB9XG5cbiAgZnVuY3Rpb24gc3RhcnRBZ2FpbigpIHtcbiAgICBpZiAoIXByb2R1Y3Q/LmlkKSByZXR1cm47XG4gICAgY29uc3QgY29uZmlybWVkID0gd2luZG93LmNvbmZpcm0oXG4gICAgICAnVGhpcyB3aWxsIGNsZWFyIHlvdXIgc2F2ZWQgYXJ0d29yay4gU3RhcnQgYWdhaW4gZnJvbSBzY3JhdGNoPycsXG4gICAgKTtcbiAgICBpZiAoIWNvbmZpcm1lZCkgcmV0dXJuO1xuICAgIGNsZWFyRHJhZnRzKHByb2R1Y3QuaWQpO1xuICAgIHNldEpvYih7XG4gICAgICAuLi5qb2IsXG4gICAgICBvd25EcmFmdHM6IFtdLFxuICAgICAgY2xpZW50RmlsZXM6IFtdLFxuICAgIH0pO1xuICAgIHNldERyYWZ0UmV2aXNpb24oKHZhbHVlKSA9PiB2YWx1ZSArIDEpO1xuICAgIGNob29zZVBhdGgoJ3NlbGYnKTtcbiAgICBzZXRJc0RyYWZ0RGVzaWduZXJPcGVuKHRydWUpO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17YCR7Y2xhc3NOYW1lRHJhZnRDdGEgfHwgJyd9IG1lcmNoaS1wcm9kdWN0LWRyYWZ0LWN0YWB9PlxuICAgICAgPHN0cm9uZyBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWN0YS1oZWFkaW5nJz5BcnR3b3JrPC9zdHJvbmc+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtY3RhLXRhYnMnIHJvbGU9J3RhYmxpc3QnIGFyaWEtbGFiZWw9J0FydHdvcmsgb3B0aW9ucyc+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPSdidXR0b24nXG4gICAgICAgICAgcm9sZT0ndGFiJ1xuICAgICAgICAgIGFyaWEtc2VsZWN0ZWQ9e2FydHdvcmtQYXRoID09PSAnc2VsZid9XG4gICAgICAgICAgY2xhc3NOYW1lPXtgbWVyY2hpLXByb2R1Y3QtZHJhZnQtY3RhLXRhYiR7YXJ0d29ya1BhdGggPT09ICdzZWxmJyA/ICcgaXMtYWN0aXZlJyA6ICcnfWB9XG4gICAgICAgICAgb25DbGljaz17KCkgPT4gY2hvb3NlUGF0aCgnc2VsZicpfVxuICAgICAgICA+XG4gICAgICAgICAgRGVzaWduIG15c2VsZlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9J2J1dHRvbidcbiAgICAgICAgICByb2xlPSd0YWInXG4gICAgICAgICAgYXJpYS1zZWxlY3RlZD17YXJ0d29ya1BhdGggPT09ICdzZXJ2aWNlJ31cbiAgICAgICAgICBjbGFzc05hbWU9e2BtZXJjaGktcHJvZHVjdC1kcmFmdC1jdGEtdGFiJHthcnR3b3JrUGF0aCA9PT0gJ3NlcnZpY2UnID8gJyBpcy1hY3RpdmUnIDogJyd9YH1cbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBjaG9vc2VQYXRoKCdzZXJ2aWNlJyl9XG4gICAgICAgID5cbiAgICAgICAgICBGcmVlIGRlc2lnbiBzZXJ2aWNlXG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgICB7YXJ0d29ya1BhdGggPT09ICdzZWxmJyA/IChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWN0YS1wYW5lbCcgcm9sZT0ndGFicGFuZWwnPlxuICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgVXNlIHRoZSBvbmxpbmUgZGVzaWduZXIgdG8gcGxhY2UgdGV4dCwgY29sb3VycywgYW5kIGxvZ29zIG9uIHRoZSB0ZW1wbGF0ZS5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAge2hhc1NhdmVkID8gKFxuICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgIHtzdGF0dXMudG90YWwgPT09IDFcbiAgICAgICAgICAgICAgICA/ICdEcmFmdCBzYXZlZCdcbiAgICAgICAgICAgICAgICA6IGAke3N0YXR1cy5jb21wbGV0ZX0gb2YgJHtzdGF0dXMudG90YWx9IGdyb3VwcyBzYXZlZGB9XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWN0YS1hY3Rpb25zJz5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgdHlwZT0nYnV0dG9uJ1xuICAgICAgICAgICAgICBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWN0YS1idG4nXG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldElzRHJhZnREZXNpZ25lck9wZW4odHJ1ZSl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxGYVBhaW50QnJ1c2ggLz5cbiAgICAgICAgICAgICAge21pc3NpbmcubGVuZ3RoID8gJ09wZW4gZGVzaWduZXInIDogJ0VkaXQnfVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICB7aGFzU2F2ZWQgPyAoXG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPSdidXR0b24nXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1jdGEtcmVzZXQnXG4gICAgICAgICAgICAgICAgb25DbGljaz17c3RhcnRBZ2Fpbn1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIFN0YXJ0IGFnYWluXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKSA6IChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWN0YS1wYW5lbCcgcm9sZT0ndGFicGFuZWwnPlxuICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgU2tpcCB0aGUgZGVzaWduZXIgYW5kIGFkZCB0byBjYXJ0LCBidXkgbm93LCBvciBnZXQgYSBxdW90ZS4gV2UmYXBvcztsbCBjcmVhdGUgYSBmcmVlXG4gICAgICAgICAgICBkcmFmdCBmb3IgeW91IGFmdGVyIHRoZSBvcmRlci5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKX1cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gUHJvZHVjdERyYWZ0c0hvc3QoKSB7XG4gIGNvbnN0IHtcbiAgICBob29rRm9ybSxcbiAgICBpc0RyYWZ0RGVzaWduZXJPcGVuLFxuICAgIGlzRHJhZnRNb2RhbE9wZW4sXG4gICAgcHJvZHVjdCxcbiAgICBzZXRJc0RyYWZ0RGVzaWduZXJPcGVuLFxuICAgIGNvbnN1bWVQZW5kaW5nQ2hlY2tvdXQsXG4gIH0gPSB1c2VNZXJjaGlGb3JtQ29udGV4dCgpO1xuXG4gIGNvbnN0IGFsbG93ZWQgPSBwcm9kdWN0QWxsb3dzQ2xpZW50RGVzaWduKHByb2R1Y3QpO1xuICBjb25zdCBmb3JtVmFsdWVzID0gaG9va0Zvcm0ud2F0Y2ggPyBob29rRm9ybS53YXRjaCgpIDogaG9va0Zvcm0uZ2V0VmFsdWVzPy4oKSB8fCB7fTtcbiAgY29uc3QgZHJhZnRzID0gdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgcHJvZHVjdD8uaWRcbiAgICA/IGxvYWREcmFmdHMocHJvZHVjdC5pZClcbiAgICA6IFtdO1xuICBjb25zdCBtaXNzaW5nID0gdXNlTWVtbyhcbiAgICAoKSA9PiBtaXNzaW5nRGVzaWduU2xvdHMocHJvZHVjdCwgZm9ybVZhbHVlcywgZHJhZnRzKSxcbiAgICBbcHJvZHVjdCwgZm9ybVZhbHVlcywgZHJhZnRzXSxcbiAgKTtcbiAgY29uc3QgW2N0YUFuY2hvciwgc2V0Q3RhQW5jaG9yXSA9IHVzZVN0YXRlPEhUTUxFbGVtZW50IHwgbnVsbD4obnVsbCk7XG5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWFsbG93ZWQgfHwgaXNQcm9kdWN0TGVhZEZvcm0ocHJvZHVjdCkpIHJldHVybjtcbiAgICBpZiAoZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLm1lcmNoaS1wcm9kdWN0LWRyYWZ0LWN0YScpKSByZXR1cm47XG5cbiAgICBjb25zdCBidXR0b25zID0gZmluZENoZWNrb3V0QnV0dG9uc0VsKCk7XG4gICAgaWYgKCFidXR0b25zPy5wYXJlbnRFbGVtZW50KSByZXR1cm47XG5cbiAgICBjb25zdCBzbG90ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgc2xvdC5zZXRBdHRyaWJ1dGUoJ2RhdGEtbWVyY2hpLWRyYWZ0LWN0YS1zbG90JywgJ3RydWUnKTtcbiAgICBidXR0b25zLnBhcmVudEVsZW1lbnQuaW5zZXJ0QmVmb3JlKHNsb3QsIGJ1dHRvbnMpO1xuICAgIHNldEN0YUFuY2hvcihzbG90KTtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgc2xvdC5yZW1vdmUoKTtcbiAgICAgIHNldEN0YUFuY2hvcihudWxsKTtcbiAgICB9O1xuICB9LCBbYWxsb3dlZCwgcHJvZHVjdF0pO1xuXG4gIGlmICghYWxsb3dlZCB8fCBpc1Byb2R1Y3RMZWFkRm9ybShwcm9kdWN0KSkgcmV0dXJuIG51bGw7XG5cbiAgZnVuY3Rpb24gaGFuZGxlU2F2ZWQoKSB7XG4gICAgc2V0SXNEcmFmdERlc2lnbmVyT3BlbihmYWxzZSk7XG4gICAgY29uc3QgcGVuZGluZyA9IGNvbnN1bWVQZW5kaW5nQ2hlY2tvdXQ/LigpO1xuICAgIGlmIChwZW5kaW5nKSB7XG4gICAgICBwZW5kaW5nKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAge2N0YUFuY2hvciA/IGNyZWF0ZVBvcnRhbCg8UHJvZHVjdERyYWZ0c0N0YSAvPiwgY3RhQW5jaG9yKSA6IG51bGx9XG5cbiAgICAgIDxEcmFmdERlc2lnbmVyU2hlZXRcbiAgICAgICAgb3Blbj17Qm9vbGVhbihpc0RyYWZ0RGVzaWduZXJPcGVuKX1cbiAgICAgICAgaW5pdGlhbEdyb3VwSW5kZXg9e21pc3NpbmdbMF0/Lmdyb3VwSW5kZXggfHwgMH1cbiAgICAgICAgb25DbG9zZT17KCkgPT4gc2V0SXNEcmFmdERlc2lnbmVyT3BlbihmYWxzZSl9XG4gICAgICAgIG9uU2F2ZWQ9e2hhbmRsZVNhdmVkfVxuICAgICAgLz5cblxuICAgICAge2lzRHJhZnRNb2RhbE9wZW4gJiYgdHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJ1xuICAgICAgICA/IGNyZWF0ZVBvcnRhbChcbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWFwcHJvdmUnXG4gICAgICAgICAgICByb2xlPSdkaWFsb2cnXG4gICAgICAgICAgICBhcmlhLW1vZGFsPSd0cnVlJ1xuICAgICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PSdtZXJjaGktcHJvZHVjdC1kcmFmdC1hcHByb3ZlLXRpdGxlJ1xuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1hcHByb3ZlLXBhbmVsJz5cbiAgICAgICAgICAgICAgPERyYWZ0QXBwcm92ZVBhbmVsIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj4sXG4gICAgICAgICAgZG9jdW1lbnQuYm9keSxcbiAgICAgICAgKVxuICAgICAgICA6IG51bGx9XG4gICAgPC8+XG4gICk7XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7O0FBQUMsU0FBQUEsUUFBQUMsQ0FBQSxzQ0FBQUQsT0FBQSx3QkFBQUUsTUFBQSx1QkFBQUEsTUFBQSxDQUFBQyxRQUFBLGFBQUFGLENBQUEsa0JBQUFBLENBQUEsZ0JBQUFBLENBQUEsV0FBQUEsQ0FBQSx5QkFBQUMsTUFBQSxJQUFBRCxDQUFBLENBQUFHLFdBQUEsS0FBQUYsTUFBQSxJQUFBRCxDQUFBLEtBQUFDLE1BQUEsQ0FBQUcsU0FBQSxxQkFBQUosQ0FBQSxLQUFBRCxPQUFBLENBQUFDLENBQUE7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
@@ -0,0 +1 @@
1
+ export declare function useHtmlImage(src?: string | string[] | null): HTMLImageElement | undefined;
@@ -0,0 +1,45 @@
1
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
2
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
4
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
5
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
6
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
7
+ import { useEffect, useState } from 'react';
8
+ import { loadHtmlImageFromSources } from '../../utils/draftExport';
9
+ function asSources(src) {
10
+ if (!src) return [];
11
+ return (Array.isArray(src) ? src : [src]).filter(Boolean);
12
+ }
13
+ export function useHtmlImage(src) {
14
+ var _useState = useState(undefined),
15
+ _useState2 = _slicedToArray(_useState, 2),
16
+ image = _useState2[0],
17
+ setImage = _useState2[1];
18
+ var sources = asSources(src);
19
+ var sourceKey = sources.join('|');
20
+ useEffect(function () {
21
+ if (!sources.length) {
22
+ setImage(undefined);
23
+ return undefined;
24
+ }
25
+ var cancelled = false;
26
+ var objectUrl = '';
27
+ loadHtmlImageFromSources(sources, true).then(function (img) {
28
+ if (cancelled) {
29
+ var persisted = img._merchiObjectUrl;
30
+ if (persisted) URL.revokeObjectURL(persisted);
31
+ return;
32
+ }
33
+ objectUrl = img._merchiObjectUrl || '';
34
+ setImage(img);
35
+ })["catch"](function () {
36
+ if (!cancelled) setImage(undefined);
37
+ });
38
+ return function () {
39
+ cancelled = true;
40
+ if (objectUrl) URL.revokeObjectURL(objectUrl);
41
+ };
42
+ }, [sourceKey]);
43
+ return image;
44
+ }
45
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsImxvYWRIdG1sSW1hZ2VGcm9tU291cmNlcyIsImFzU291cmNlcyIsInNyYyIsIkFycmF5IiwiaXNBcnJheSIsImZpbHRlciIsIkJvb2xlYW4iLCJ1c2VIdG1sSW1hZ2UiLCJfdXNlU3RhdGUiLCJ1bmRlZmluZWQiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJpbWFnZSIsInNldEltYWdlIiwic291cmNlcyIsInNvdXJjZUtleSIsImpvaW4iLCJsZW5ndGgiLCJjYW5jZWxsZWQiLCJvYmplY3RVcmwiLCJ0aGVuIiwiaW1nIiwicGVyc2lzdGVkIiwiX21lcmNoaU9iamVjdFVybCIsIlVSTCIsInJldm9rZU9iamVjdFVSTCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2RyYWZ0cy91c2VIdG1sSW1hZ2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGxvYWRIdG1sSW1hZ2VGcm9tU291cmNlcyB9IGZyb20gJy4uLy4uL3V0aWxzL2RyYWZ0RXhwb3J0JztcblxuZnVuY3Rpb24gYXNTb3VyY2VzKHNyYz86IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbCk6IHN0cmluZ1tdIHtcbiAgaWYgKCFzcmMpIHJldHVybiBbXTtcbiAgcmV0dXJuIChBcnJheS5pc0FycmF5KHNyYykgPyBzcmMgOiBbc3JjXSkuZmlsdGVyKEJvb2xlYW4pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXNlSHRtbEltYWdlKHNyYz86IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbCk6IEhUTUxJbWFnZUVsZW1lbnQgfCB1bmRlZmluZWQge1xuICBjb25zdCBbaW1hZ2UsIHNldEltYWdlXSA9IHVzZVN0YXRlPEhUTUxJbWFnZUVsZW1lbnQgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIGNvbnN0IHNvdXJjZXMgPSBhc1NvdXJjZXMoc3JjKTtcbiAgY29uc3Qgc291cmNlS2V5ID0gc291cmNlcy5qb2luKCd8Jyk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIXNvdXJjZXMubGVuZ3RoKSB7XG4gICAgICBzZXRJbWFnZSh1bmRlZmluZWQpO1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgbGV0IGNhbmNlbGxlZCA9IGZhbHNlO1xuICAgIGxldCBvYmplY3RVcmwgPSAnJztcblxuICAgIGxvYWRIdG1sSW1hZ2VGcm9tU291cmNlcyhzb3VyY2VzLCB0cnVlKS50aGVuKChpbWcpID0+IHtcbiAgICAgIGlmIChjYW5jZWxsZWQpIHtcbiAgICAgICAgY29uc3QgcGVyc2lzdGVkID0gKGltZyBhcyBIVE1MSW1hZ2VFbGVtZW50ICYgeyBfbWVyY2hpT2JqZWN0VXJsPzogc3RyaW5nIH0pLl9tZXJjaGlPYmplY3RVcmw7XG4gICAgICAgIGlmIChwZXJzaXN0ZWQpIFVSTC5yZXZva2VPYmplY3RVUkwocGVyc2lzdGVkKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgb2JqZWN0VXJsID0gKGltZyBhcyBIVE1MSW1hZ2VFbGVtZW50ICYgeyBfbWVyY2hpT2JqZWN0VXJsPzogc3RyaW5nIH0pLl9tZXJjaGlPYmplY3RVcmwgfHwgJyc7XG4gICAgICBzZXRJbWFnZShpbWcpO1xuICAgIH0pLmNhdGNoKCgpID0+IHtcbiAgICAgIGlmICghY2FuY2VsbGVkKSBzZXRJbWFnZSh1bmRlZmluZWQpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGNhbmNlbGxlZCA9IHRydWU7XG4gICAgICBpZiAob2JqZWN0VXJsKSBVUkwucmV2b2tlT2JqZWN0VVJMKG9iamVjdFVybCk7XG4gICAgfTtcbiAgfSwgW3NvdXJjZUtleV0pO1xuXG4gIHJldHVybiBpbWFnZTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsU0FBU0EsU0FBUyxFQUFFQyxRQUFRLFFBQVEsT0FBTztBQUMzQyxTQUFTQyx3QkFBd0IsUUFBUSx5QkFBeUI7QUFFbEUsU0FBU0MsU0FBU0EsQ0FBQ0MsR0FBOEIsRUFBWTtFQUMzRCxJQUFJLENBQUNBLEdBQUcsRUFBRSxPQUFPLEVBQUU7RUFDbkIsT0FBTyxDQUFDQyxLQUFLLENBQUNDLE9BQU8sQ0FBQ0YsR0FBRyxDQUFDLEdBQUdBLEdBQUcsR0FBRyxDQUFDQSxHQUFHLENBQUMsRUFBRUcsTUFBTSxDQUFDQyxPQUFPLENBQUM7QUFDM0Q7QUFFQSxPQUFPLFNBQVNDLFlBQVlBLENBQUNMLEdBQThCLEVBQWdDO0VBQ3pGLElBQUFNLFNBQUEsR0FBMEJULFFBQVEsQ0FBK0JVLFNBQVMsQ0FBQztJQUFBQyxVQUFBLEdBQUFDLGNBQUEsQ0FBQUgsU0FBQTtJQUFwRUksS0FBSyxHQUFBRixVQUFBO0lBQUVHLFFBQVEsR0FBQUgsVUFBQTtFQUN0QixJQUFNSSxPQUFPLEdBQUdiLFNBQVMsQ0FBQ0MsR0FBRyxDQUFDO0VBQzlCLElBQU1hLFNBQVMsR0FBR0QsT0FBTyxDQUFDRSxJQUFJLENBQUMsR0FBRyxDQUFDO0VBRW5DbEIsU0FBUyxDQUFDLFlBQU07SUFDZCxJQUFJLENBQUNnQixPQUFPLENBQUNHLE1BQU0sRUFBRTtNQUNuQkosUUFBUSxDQUFDSixTQUFTLENBQUM7TUFDbkIsT0FBT0EsU0FBUztJQUNsQjtJQUNBLElBQUlTLFNBQVMsR0FBRyxLQUFLO0lBQ3JCLElBQUlDLFNBQVMsR0FBRyxFQUFFO0lBRWxCbkIsd0JBQXdCLENBQUNjLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQ00sSUFBSSxDQUFDLFVBQUNDLEdBQUcsRUFBSztNQUNwRCxJQUFJSCxTQUFTLEVBQUU7UUFDYixJQUFNSSxTQUFTLEdBQUlELEdBQUcsQ0FBc0RFLGdCQUFnQjtRQUM1RixJQUFJRCxTQUFTLEVBQUVFLEdBQUcsQ0FBQ0MsZUFBZSxDQUFDSCxTQUFTLENBQUM7UUFDN0M7TUFDRjtNQUNBSCxTQUFTLEdBQUlFLEdBQUcsQ0FBc0RFLGdCQUFnQixJQUFJLEVBQUU7TUFDNUZWLFFBQVEsQ0FBQ1EsR0FBRyxDQUFDO0lBQ2YsQ0FBQyxDQUFDLFNBQU0sQ0FBQyxZQUFNO01BQ2IsSUFBSSxDQUFDSCxTQUFTLEVBQUVMLFFBQVEsQ0FBQ0osU0FBUyxDQUFDO0lBQ3JDLENBQUMsQ0FBQztJQUVGLE9BQU8sWUFBTTtNQUNYUyxTQUFTLEdBQUcsSUFBSTtNQUNoQixJQUFJQyxTQUFTLEVBQUVLLEdBQUcsQ0FBQ0MsZUFBZSxDQUFDTixTQUFTLENBQUM7SUFDL0MsQ0FBQztFQUNILENBQUMsRUFBRSxDQUFDSixTQUFTLENBQUMsQ0FBQztFQUVmLE9BQU9ILEtBQUs7QUFDZCIsImlnbm9yZUxpc3QiOltdfQ==
@@ -0,0 +1,3 @@
1
+ import * as React from 'react';
2
+ declare function IconChecked(): React.JSX.Element;
3
+ export default IconChecked;
@@ -0,0 +1,10 @@
1
+ 'use client';
2
+
3
+ import * as React from 'react';
4
+ import { FaRegCheckCircle } from 'react-icons/fa';
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
+ function IconChecked() {
7
+ return /*#__PURE__*/_jsx(FaRegCheckCircle, {});
8
+ }
9
+ export default IconChecked;
10
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIkZhUmVnQ2hlY2tDaXJjbGUiLCJqc3giLCJfanN4IiwiSWNvbkNoZWNrZWQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9pY29ucy9JY29uQ2hlY2tlZC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnO1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgRmFSZWdDaGVja0NpcmNsZSB9IGZyb20gJ3JlYWN0LWljb25zL2ZhJztcblxuZnVuY3Rpb24gSWNvbkNoZWNrZWQoKSB7XG4gIHJldHVybiA8RmFSZWdDaGVja0NpcmNsZSAvPjtcbn1cblxuZXhwb3J0IGRlZmF1bHQgSWNvbkNoZWNrZWQ7XG4iXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7O0FBQ1osT0FBTyxLQUFLQSxLQUFLLE1BQU0sT0FBTztBQUM5QixTQUFTQyxnQkFBZ0IsUUFBUSxnQkFBZ0I7QUFBQyxTQUFBQyxHQUFBLElBQUFDLElBQUE7QUFFbEQsU0FBU0MsV0FBV0EsQ0FBQSxFQUFHO0VBQ3JCLG9CQUFPRCxJQUFBLENBQUNGLGdCQUFnQixJQUFFLENBQUM7QUFDN0I7QUFFQSxlQUFlRyxXQUFXIiwiaWdub3JlTGlzdCI6W119
@@ -0,0 +1,7 @@
1
+ import * as React from 'react';
2
+ interface Props {
3
+ isChecked: boolean;
4
+ noStock: boolean;
5
+ }
6
+ declare function IconCheckedOrNoStock({ isChecked, noStock }: Props): React.JSX.Element;
7
+ export default IconCheckedOrNoStock;
@@ -0,0 +1,13 @@
1
+ 'use client';
2
+
3
+ import * as React from 'react';
4
+ import IconChecked from './IconChecked';
5
+ import IconNoStock from './IconNoStock';
6
+ import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
7
+ function IconCheckedOrNoStock(_ref) {
8
+ var isChecked = _ref.isChecked,
9
+ noStock = _ref.noStock;
10
+ return noStock ? /*#__PURE__*/_jsx(IconNoStock, {}) : isChecked ? /*#__PURE__*/_jsx(IconChecked, {}) : /*#__PURE__*/_jsx(_Fragment, {});
11
+ }
12
+ export default IconCheckedOrNoStock;
13
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIkljb25DaGVja2VkIiwiSWNvbk5vU3RvY2siLCJqc3giLCJfanN4IiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJJY29uQ2hlY2tlZE9yTm9TdG9jayIsIl9yZWYiLCJpc0NoZWNrZWQiLCJub1N0b2NrIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvaWNvbnMvSWNvbkNoZWNrZWRPck5vU3RvY2sudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50JztcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBJY29uQ2hlY2tlZCBmcm9tICcuL0ljb25DaGVja2VkJztcbmltcG9ydCBJY29uTm9TdG9jayBmcm9tICcuL0ljb25Ob1N0b2NrJztcblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgaXNDaGVja2VkOiBib29sZWFuO1xuICBub1N0b2NrOiBib29sZWFuO1xufVxuXG5mdW5jdGlvbiBJY29uQ2hlY2tlZE9yTm9TdG9jayh7IGlzQ2hlY2tlZCwgbm9TdG9jayB9OiBQcm9wcykge1xuICByZXR1cm4gbm9TdG9jayA/IDxJY29uTm9TdG9jayAvPiA6IGlzQ2hlY2tlZCA/IDxJY29uQ2hlY2tlZCAvPiA6IDw+PC8+O1xufVxuXG5leHBvcnQgZGVmYXVsdCBJY29uQ2hlY2tlZE9yTm9TdG9jaztcbiJdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTs7QUFDWixPQUFPLEtBQUtBLEtBQUssTUFBTSxPQUFPO0FBQzlCLE9BQU9DLFdBQVcsTUFBTSxlQUFlO0FBQ3ZDLE9BQU9DLFdBQVcsTUFBTSxlQUFlO0FBQUMsU0FBQUMsR0FBQSxJQUFBQyxJQUFBLEVBQUFDLFFBQUEsSUFBQUMsU0FBQTtBQU94QyxTQUFTQyxvQkFBb0JBLENBQUFDLElBQUEsRUFBZ0M7RUFBQSxJQUE3QkMsU0FBUyxHQUFBRCxJQUFBLENBQVRDLFNBQVM7SUFBRUMsT0FBTyxHQUFBRixJQUFBLENBQVBFLE9BQU87RUFDaEQsT0FBT0EsT0FBTyxnQkFBR04sSUFBQSxDQUFDRixXQUFXLElBQUUsQ0FBQyxHQUFHTyxTQUFTLGdCQUFHTCxJQUFBLENBQUNILFdBQVcsSUFBRSxDQUFDLGdCQUFHRyxJQUFBLENBQUFFLFNBQUEsSUFBSSxDQUFDO0FBQ3hFO0FBRUEsZUFBZUMsb0JBQW9CIiwiaWdub3JlTGlzdCI6W119
@@ -0,0 +1,8 @@
1
+ import * as React from 'react';
2
+ interface Props {
3
+ className?: string;
4
+ countryCode: string;
5
+ tooltip?: string;
6
+ }
7
+ declare function IconCountryFlag({ className, countryCode, tooltip }: Props): React.JSX.Element;
8
+ export default IconCountryFlag;
@@ -0,0 +1,27 @@
1
+ 'use client';
2
+
3
+ import * as React from 'react';
4
+ import TooltipElement from '../TooltipElement';
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
+ function IconCountryFlag(_ref) {
7
+ var className = _ref.className,
8
+ countryCode = _ref.countryCode,
9
+ tooltip = _ref.tooltip;
10
+ var c = "fi fi-".concat(countryCode, " ").concat(className ? className : '');
11
+ var style = {
12
+ borderRadius: '2px'
13
+ };
14
+ return tooltip ? /*#__PURE__*/_jsx(TooltipElement, {
15
+ id: "merchi-country-flag_tooltip-".concat(countryCode),
16
+ tooltip: tooltip,
17
+ children: /*#__PURE__*/_jsx("span", {
18
+ className: c,
19
+ style: style
20
+ })
21
+ }) : /*#__PURE__*/_jsx("span", {
22
+ className: c,
23
+ style: style
24
+ });
25
+ }
26
+ export default IconCountryFlag;
27
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIlRvb2x0aXBFbGVtZW50IiwianN4IiwiX2pzeCIsIkljb25Db3VudHJ5RmxhZyIsIl9yZWYiLCJjbGFzc05hbWUiLCJjb3VudHJ5Q29kZSIsInRvb2x0aXAiLCJjIiwiY29uY2F0Iiwic3R5bGUiLCJib3JkZXJSYWRpdXMiLCJpZCIsImNoaWxkcmVuIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvaWNvbnMvSWNvbkNvdW50cnlGbGFnLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCc7XG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgVG9vbHRpcEVsZW1lbnQgZnJvbSAnLi4vVG9vbHRpcEVsZW1lbnQnO1xuXG5pbnRlcmZhY2UgUHJvcHMge1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gIGNvdW50cnlDb2RlOiBzdHJpbmc7XG4gIHRvb2x0aXA/OiBzdHJpbmc7XG59XG5cbmZ1bmN0aW9uIEljb25Db3VudHJ5RmxhZyhcbiAge1xuICAgIGNsYXNzTmFtZSwgY291bnRyeUNvZGUsIHRvb2x0aXBcbiAgfTogUHJvcHMpIHtcbiAgY29uc3QgYyA9IGBmaSBmaS0ke2NvdW50cnlDb2RlfSAke2NsYXNzTmFtZSA/IGNsYXNzTmFtZSA6ICcnfWA7XG4gIGNvbnN0IHN0eWxlID0ge2JvcmRlclJhZGl1czogJzJweCd9XG4gIHJldHVybiAoXG4gICAgdG9vbHRpcCA/XG4gICAgICA8VG9vbHRpcEVsZW1lbnRcbiAgICAgICAgaWQ9e2BtZXJjaGktY291bnRyeS1mbGFnX3Rvb2x0aXAtJHtjb3VudHJ5Q29kZX1gfVxuICAgICAgICB0b29sdGlwPXt0b29sdGlwfVxuICAgICAgPlxuICBcdCAgICA8c3BhbiBjbGFzc05hbWU9e2N9IHN0eWxlPXtzdHlsZX0+PC9zcGFuPlxuICAgICAgPC9Ub29sdGlwRWxlbWVudD5cbiAgICA6IDxzcGFuIGNsYXNzTmFtZT17Y30gc3R5bGU9e3N0eWxlfT48L3NwYW4+XG4gICk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IEljb25Db3VudHJ5RmxhZztcbiJdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTs7QUFDWixPQUFPLEtBQUtBLEtBQUssTUFBTSxPQUFPO0FBQzlCLE9BQU9DLGNBQWMsTUFBTSxtQkFBbUI7QUFBQyxTQUFBQyxHQUFBLElBQUFDLElBQUE7QUFRL0MsU0FBU0MsZUFBZUEsQ0FBQUMsSUFBQSxFQUdaO0VBQUEsSUFEUkMsU0FBUyxHQUFBRCxJQUFBLENBQVRDLFNBQVM7SUFBRUMsV0FBVyxHQUFBRixJQUFBLENBQVhFLFdBQVc7SUFBRUMsT0FBTyxHQUFBSCxJQUFBLENBQVBHLE9BQU87RUFFakMsSUFBTUMsQ0FBQyxZQUFBQyxNQUFBLENBQVlILFdBQVcsT0FBQUcsTUFBQSxDQUFJSixTQUFTLEdBQUdBLFNBQVMsR0FBRyxFQUFFLENBQUU7RUFDOUQsSUFBTUssS0FBSyxHQUFHO0lBQUNDLFlBQVksRUFBRTtFQUFLLENBQUM7RUFDbkMsT0FDRUosT0FBTyxnQkFDTEwsSUFBQSxDQUFDRixjQUFjO0lBQ2JZLEVBQUUsaUNBQUFILE1BQUEsQ0FBaUNILFdBQVcsQ0FBRztJQUNqREMsT0FBTyxFQUFFQSxPQUFRO0lBQUFNLFFBQUEsZUFFbEJYLElBQUE7TUFBTUcsU0FBUyxFQUFFRyxDQUFFO01BQUNFLEtBQUssRUFBRUE7SUFBTSxDQUFPO0VBQUMsQ0FDMUIsQ0FBQyxnQkFDakJSLElBQUE7SUFBTUcsU0FBUyxFQUFFRyxDQUFFO0lBQUNFLEtBQUssRUFBRUE7RUFBTSxDQUFPLENBQUM7QUFFL0M7QUFFQSxlQUFlUCxlQUFlIiwiaWdub3JlTGlzdCI6W119
@@ -0,0 +1,7 @@
1
+ import * as React from 'react';
2
+ export declare function isPdf(file: any): boolean;
3
+ interface FileIconProps {
4
+ file: any;
5
+ }
6
+ declare function IconFile({ file }: FileIconProps): React.JSX.Element;
7
+ export default IconFile;
@@ -0,0 +1,41 @@
1
+ import * as React from 'react';
2
+ import { FaFilePdf } from "react-icons/fa";
3
+ import { CgSpinner } from "react-icons/cg";
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
+ function IconContainer(_ref) {
6
+ var className = _ref.className,
7
+ Icon = _ref.icon,
8
+ _ref$spin = _ref.spin,
9
+ spin = _ref$spin === void 0 ? false : _ref$spin;
10
+ if (!Icon) {
11
+ return null;
12
+ }
13
+ return /*#__PURE__*/_jsx("span", {
14
+ className: className || 'avatar rounded-circle',
15
+ children: /*#__PURE__*/_jsx(Icon, {
16
+ className: spin ? 'animate_spin' : ''
17
+ })
18
+ });
19
+ }
20
+ export function isPdf(file) {
21
+ return file.mimetype === 'application/pdf' || file.mimetype === 'application/x-pdf';
22
+ }
23
+ function IconFile(_ref2) {
24
+ var file = _ref2.file;
25
+ var fileUrl = file ? String(file.viewUrl) : '';
26
+ return file.id ? isPdf(file) ? /*#__PURE__*/_jsx(IconContainer, {
27
+ className: "avatar avatar-md align-middle bg-secondary text-dark shadow",
28
+ icon: FaFilePdf
29
+ }) : /*#__PURE__*/_jsx("div", {
30
+ className: "avatar avatar-bg avatar-md align-middle",
31
+ style: {
32
+ backgroundImage: "url(".concat(fileUrl, ")")
33
+ }
34
+ }) : /*#__PURE__*/_jsx(IconContainer, {
35
+ className: "avatar avatar-md align-middle text-dark shadow",
36
+ icon: CgSpinner,
37
+ spin: true
38
+ });
39
+ }
40
+ export default IconFile;
41
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIkZhRmlsZVBkZiIsIkNnU3Bpbm5lciIsImpzeCIsIl9qc3giLCJJY29uQ29udGFpbmVyIiwiX3JlZiIsImNsYXNzTmFtZSIsIkljb24iLCJpY29uIiwiX3JlZiRzcGluIiwic3BpbiIsImNoaWxkcmVuIiwiaXNQZGYiLCJmaWxlIiwibWltZXR5cGUiLCJJY29uRmlsZSIsIl9yZWYyIiwiZmlsZVVybCIsIlN0cmluZyIsInZpZXdVcmwiLCJpZCIsInN0eWxlIiwiYmFja2dyb3VuZEltYWdlIiwiY29uY2F0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvaWNvbnMvSWNvbkZpbGUudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEZhRmlsZVBkZiB9IGZyb20gXCJyZWFjdC1pY29ucy9mYVwiO1xuaW1wb3J0IHsgQ2dTcGlubmVyIH0gZnJvbSBcInJlYWN0LWljb25zL2NnXCI7XG5cbmZ1bmN0aW9uIEljb25Db250YWluZXIoeyBjbGFzc05hbWUsIGljb246IEljb24sIHNwaW4gPSBmYWxzZSB9OiBhbnkpIHtcbiAgaWYgKCFJY29uKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgcmV0dXJuIChcbiAgICA8c3BhbiBjbGFzc05hbWU9e2NsYXNzTmFtZSB8fCAnYXZhdGFyIHJvdW5kZWQtY2lyY2xlJ30+XG4gICAgICA8SWNvbiBjbGFzc05hbWU9e3NwaW4gPyAnYW5pbWF0ZV9zcGluJyA6ICcnfSAvPlxuICAgIDwvc3Bhbj5cbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzUGRmKGZpbGU6IGFueSkge1xuICByZXR1cm4gZmlsZS5taW1ldHlwZSA9PT0gJ2FwcGxpY2F0aW9uL3BkZicgfHxcbiAgICAgICAgIGZpbGUubWltZXR5cGUgPT09ICdhcHBsaWNhdGlvbi94LXBkZic7XG59XG5cbmludGVyZmFjZSBGaWxlSWNvblByb3BzIHtcbiAgZmlsZTogYW55O1xufVxuXG5mdW5jdGlvbiBJY29uRmlsZSh7IGZpbGUgfTogRmlsZUljb25Qcm9wcykge1xuICBjb25zdCBmaWxlVXJsID0gZmlsZSA/IFN0cmluZyhmaWxlLnZpZXdVcmwpIDogJyc7XG5cbiAgcmV0dXJuIGZpbGUuaWQgPyBpc1BkZihmaWxlKSA/XG4gICAgPEljb25Db250YWluZXJcbiAgICAgIGNsYXNzTmFtZT0nYXZhdGFyIGF2YXRhci1tZCBhbGlnbi1taWRkbGUgYmctc2Vjb25kYXJ5IHRleHQtZGFyayBzaGFkb3cnXG4gICAgICBpY29uPXtGYUZpbGVQZGZ9XG4gICAgLz5cbiAgOlxuICAgIDxkaXZcbiAgICAgIGNsYXNzTmFtZT0nYXZhdGFyIGF2YXRhci1iZyBhdmF0YXItbWQgYWxpZ24tbWlkZGxlJ1xuICAgICAgc3R5bGU9e3sgYmFja2dyb3VuZEltYWdlOiBgdXJsKCR7ZmlsZVVybH0pYH19XG4gICAgLz5cbiAgOlxuICAgIDxJY29uQ29udGFpbmVyXG4gICAgICBjbGFzc05hbWU9J2F2YXRhciBhdmF0YXItbWQgYWxpZ24tbWlkZGxlIHRleHQtZGFyayBzaGFkb3cnXG4gICAgICBpY29uPXtDZ1NwaW5uZXJ9XG4gICAgICBzcGluPXt0cnVlfVxuICAgIC8+O1xufVxuXG5leHBvcnQgZGVmYXVsdCBJY29uRmlsZTtcbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLQSxLQUFLLE1BQU0sT0FBTztBQUM5QixTQUFTQyxTQUFTLFFBQVEsZ0JBQWdCO0FBQzFDLFNBQVNDLFNBQVMsUUFBUSxnQkFBZ0I7QUFBQyxTQUFBQyxHQUFBLElBQUFDLElBQUE7QUFFM0MsU0FBU0MsYUFBYUEsQ0FBQUMsSUFBQSxFQUErQztFQUFBLElBQTVDQyxTQUFTLEdBQUFELElBQUEsQ0FBVEMsU0FBUztJQUFRQyxJQUFJLEdBQUFGLElBQUEsQ0FBVkcsSUFBSTtJQUFBQyxTQUFBLEdBQUFKLElBQUEsQ0FBUUssSUFBSTtJQUFKQSxJQUFJLEdBQUFELFNBQUEsY0FBRyxLQUFLLEdBQUFBLFNBQUE7RUFDMUQsSUFBSSxDQUFDRixJQUFJLEVBQUU7SUFDVCxPQUFPLElBQUk7RUFDYjtFQUNBLG9CQUNFSixJQUFBO0lBQU1HLFNBQVMsRUFBRUEsU0FBUyxJQUFJLHVCQUF3QjtJQUFBSyxRQUFBLGVBQ3BEUixJQUFBLENBQUNJLElBQUk7TUFBQ0QsU0FBUyxFQUFFSSxJQUFJLEdBQUcsY0FBYyxHQUFHO0lBQUcsQ0FBRTtFQUFDLENBQzNDLENBQUM7QUFFWDtBQUVBLE9BQU8sU0FBU0UsS0FBS0EsQ0FBQ0MsSUFBUyxFQUFFO0VBQy9CLE9BQU9BLElBQUksQ0FBQ0MsUUFBUSxLQUFLLGlCQUFpQixJQUNuQ0QsSUFBSSxDQUFDQyxRQUFRLEtBQUssbUJBQW1CO0FBQzlDO0FBTUEsU0FBU0MsUUFBUUEsQ0FBQUMsS0FBQSxFQUEwQjtFQUFBLElBQXZCSCxJQUFJLEdBQUFHLEtBQUEsQ0FBSkgsSUFBSTtFQUN0QixJQUFNSSxPQUFPLEdBQUdKLElBQUksR0FBR0ssTUFBTSxDQUFDTCxJQUFJLENBQUNNLE9BQU8sQ0FBQyxHQUFHLEVBQUU7RUFFaEQsT0FBT04sSUFBSSxDQUFDTyxFQUFFLEdBQUdSLEtBQUssQ0FBQ0MsSUFBSSxDQUFDLGdCQUMxQlYsSUFBQSxDQUFDQyxhQUFhO0lBQ1pFLFNBQVMsRUFBQyw2REFBNkQ7SUFDdkVFLElBQUksRUFBRVI7RUFBVSxDQUNqQixDQUFDLGdCQUVGRyxJQUFBO0lBQ0VHLFNBQVMsRUFBQyx5Q0FBeUM7SUFDbkRlLEtBQUssRUFBRTtNQUFFQyxlQUFlLFNBQUFDLE1BQUEsQ0FBU04sT0FBTztJQUFHO0VBQUUsQ0FDOUMsQ0FBQyxnQkFFRmQsSUFBQSxDQUFDQyxhQUFhO0lBQ1pFLFNBQVMsRUFBQyxnREFBZ0Q7SUFDMURFLElBQUksRUFBRVAsU0FBVTtJQUNoQlMsSUFBSSxFQUFFO0VBQUssQ0FDWixDQUFDO0FBQ047QUFFQSxlQUFlSyxRQUFRIiwiaWdub3JlTGlzdCI6W119
@@ -0,0 +1,3 @@
1
+ import * as React from 'react';
2
+ declare function IconNoStock(): React.JSX.Element;
3
+ export default IconNoStock;
@@ -0,0 +1,12 @@
1
+ import * as React from 'react';
2
+ import TooltipElement from '../TooltipElement';
3
+ import { FaTimesCircle } from 'react-icons/fa';
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
+ function IconNoStock() {
6
+ return /*#__PURE__*/_jsx(TooltipElement, {
7
+ tooltip: "Insufficient stock",
8
+ children: /*#__PURE__*/_jsx(FaTimesCircle, {})
9
+ });
10
+ }
11
+ export default IconNoStock;
12
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIlRvb2x0aXBFbGVtZW50IiwiRmFUaW1lc0NpcmNsZSIsImpzeCIsIl9qc3giLCJJY29uTm9TdG9jayIsInRvb2x0aXAiLCJjaGlsZHJlbiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2ljb25zL0ljb25Ob1N0b2NrLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgVG9vbHRpcEVsZW1lbnQgZnJvbSAnLi4vVG9vbHRpcEVsZW1lbnQnO1xuaW1wb3J0IHsgRmFUaW1lc0NpcmNsZSB9IGZyb20gJ3JlYWN0LWljb25zL2ZhJztcblxuZnVuY3Rpb24gSWNvbk5vU3RvY2soKSB7XG4gIHJldHVybiAoXG4gIFx0PFRvb2x0aXBFbGVtZW50IHRvb2x0aXA9J0luc3VmZmljaWVudCBzdG9jayc+XG4gICAgICA8RmFUaW1lc0NpcmNsZSAvPlxuICAgIDwvVG9vbHRpcEVsZW1lbnQ+XG4gICk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IEljb25Ob1N0b2NrO1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUtBLEtBQUssTUFBTSxPQUFPO0FBQzlCLE9BQU9DLGNBQWMsTUFBTSxtQkFBbUI7QUFDOUMsU0FBU0MsYUFBYSxRQUFRLGdCQUFnQjtBQUFDLFNBQUFDLEdBQUEsSUFBQUMsSUFBQTtBQUUvQyxTQUFTQyxXQUFXQSxDQUFBLEVBQUc7RUFDckIsb0JBQ0NELElBQUEsQ0FBQ0gsY0FBYztJQUFDSyxPQUFPLEVBQUMsb0JBQW9CO0lBQUFDLFFBQUEsZUFDekNILElBQUEsQ0FBQ0YsYUFBYSxJQUFFO0VBQUMsQ0FDSCxDQUFDO0FBRXJCO0FBRUEsZUFBZUcsV0FBVyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -0,0 +1,5 @@
1
+ import IconFile from './IconFile';
2
+ import IconNoStock from "./IconNoStock";
3
+ import IconCheckedOrNoStock from './IconCheckedOrNoStock';
4
+ import IconCountryFlag from './IconCountryFlag';
5
+ export { IconFile, IconNoStock, IconCheckedOrNoStock, IconCountryFlag, };
@@ -0,0 +1,6 @@
1
+ import IconFile from './IconFile';
2
+ import IconNoStock from "./IconNoStock";
3
+ import IconCheckedOrNoStock from './IconCheckedOrNoStock';
4
+ import IconCountryFlag from './IconCountryFlag';
5
+ export { IconFile, IconNoStock, IconCheckedOrNoStock, IconCountryFlag };
6
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJJY29uRmlsZSIsIkljb25Ob1N0b2NrIiwiSWNvbkNoZWNrZWRPck5vU3RvY2siLCJJY29uQ291bnRyeUZsYWciXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9pY29ucy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgSWNvbkZpbGUgZnJvbSAnLi9JY29uRmlsZSc7XG5pbXBvcnQgSWNvbk5vU3RvY2sgZnJvbSBcIi4vSWNvbk5vU3RvY2tcIjtcbmltcG9ydCBJY29uQ2hlY2tlZE9yTm9TdG9jayBmcm9tICcuL0ljb25DaGVja2VkT3JOb1N0b2NrJztcbmltcG9ydCBJY29uQ291bnRyeUZsYWcgZnJvbSAnLi9JY29uQ291bnRyeUZsYWcnO1xuXG5leHBvcnQge1xuICBJY29uRmlsZSxcbiAgSWNvbk5vU3RvY2ssXG4gIEljb25DaGVja2VkT3JOb1N0b2NrLFxuICBJY29uQ291bnRyeUZsYWcsXG59O1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxRQUFRLE1BQU0sWUFBWTtBQUNqQyxPQUFPQyxXQUFXLE1BQU0sZUFBZTtBQUN2QyxPQUFPQyxvQkFBb0IsTUFBTSx3QkFBd0I7QUFDekQsT0FBT0MsZUFBZSxNQUFNLG1CQUFtQjtBQUUvQyxTQUNFSCxRQUFRLEVBQ1JDLFdBQVcsRUFDWEMsb0JBQW9CLEVBQ3BCQyxlQUFlIiwiaWdub3JlTGlzdCI6W119
@@ -0,0 +1,7 @@
1
+ type FieldOnChange = (value: any) => void;
2
+ type GetQuote = () => void;
3
+ type Mutation = () => void;
4
+ export declare function quoteAfterFieldChange(onChange: FieldOnChange, getQuote: GetQuote, value: any): void;
5
+ /** Run getQuote after a form mutation (append/remove) has been applied. */
6
+ export declare function quoteAfterMutation(mutate: Mutation, getQuote: GetQuote): void;
7
+ export {};
@@ -0,0 +1,11 @@
1
+ export function quoteAfterFieldChange(onChange, getQuote, value) {
2
+ onChange(value);
3
+ Promise.resolve().then(getQuote);
4
+ }
5
+
6
+ /** Run getQuote after a form mutation (append/remove) has been applied. */
7
+ export function quoteAfterMutation(mutate, getQuote) {
8
+ mutate();
9
+ Promise.resolve().then(getQuote);
10
+ }
11
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJxdW90ZUFmdGVyRmllbGRDaGFuZ2UiLCJvbkNoYW5nZSIsImdldFF1b3RlIiwidmFsdWUiLCJQcm9taXNlIiwicmVzb2x2ZSIsInRoZW4iLCJxdW90ZUFmdGVyTXV0YXRpb24iLCJtdXRhdGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcG9uZW50cy9xdW90ZUFmdGVyRmllbGRDaGFuZ2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsidHlwZSBGaWVsZE9uQ2hhbmdlID0gKHZhbHVlOiBhbnkpID0+IHZvaWQ7XG50eXBlIEdldFF1b3RlID0gKCkgPT4gdm9pZDtcbnR5cGUgTXV0YXRpb24gPSAoKSA9PiB2b2lkO1xuXG5leHBvcnQgZnVuY3Rpb24gcXVvdGVBZnRlckZpZWxkQ2hhbmdlKFxuICBvbkNoYW5nZTogRmllbGRPbkNoYW5nZSxcbiAgZ2V0UXVvdGU6IEdldFF1b3RlLFxuICB2YWx1ZTogYW55XG4pIHtcbiAgb25DaGFuZ2UodmFsdWUpO1xuICBQcm9taXNlLnJlc29sdmUoKS50aGVuKGdldFF1b3RlKTtcbn1cblxuLyoqIFJ1biBnZXRRdW90ZSBhZnRlciBhIGZvcm0gbXV0YXRpb24gKGFwcGVuZC9yZW1vdmUpIGhhcyBiZWVuIGFwcGxpZWQuICovXG5leHBvcnQgZnVuY3Rpb24gcXVvdGVBZnRlck11dGF0aW9uKG11dGF0ZTogTXV0YXRpb24sIGdldFF1b3RlOiBHZXRRdW90ZSkge1xuICBtdXRhdGUoKTtcbiAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbihnZXRRdW90ZSk7XG59XG4iXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sU0FBU0EscUJBQXFCQSxDQUNuQ0MsUUFBdUIsRUFDdkJDLFFBQWtCLEVBQ2xCQyxLQUFVLEVBQ1Y7RUFDQUYsUUFBUSxDQUFDRSxLQUFLLENBQUM7RUFDZkMsT0FBTyxDQUFDQyxPQUFPLENBQUMsQ0FBQyxDQUFDQyxJQUFJLENBQUNKLFFBQVEsQ0FBQztBQUNsQzs7QUFFQTtBQUNBLE9BQU8sU0FBU0ssa0JBQWtCQSxDQUFDQyxNQUFnQixFQUFFTixRQUFrQixFQUFFO0VBQ3ZFTSxNQUFNLENBQUMsQ0FBQztFQUNSSixPQUFPLENBQUNDLE9BQU8sQ0FBQyxDQUFDLENBQUNDLElBQUksQ0FBQ0osUUFBUSxDQUFDO0FBQ2xDIiwiaWdub3JlTGlzdCI6W119
@@ -0,0 +1,58 @@
1
+ function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
2
+ function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
3
+ function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
4
+ function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
5
+ import { quoteAfterFieldChange, quoteAfterMutation } from './quoteAfterFieldChange';
6
+ test('runs quote after the field change has been applied', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
7
+ var calls, onChange, getQuote;
8
+ return _regenerator().w(function (_context) {
9
+ while (1) switch (_context.n) {
10
+ case 0:
11
+ calls = [];
12
+ onChange = jest.fn(function () {
13
+ return calls.push('change');
14
+ });
15
+ getQuote = jest.fn(function () {
16
+ return calls.push('quote');
17
+ });
18
+ quoteAfterFieldChange(onChange, getQuote, '200');
19
+ expect(onChange).toHaveBeenCalledWith('200');
20
+ expect(getQuote).not.toHaveBeenCalled();
21
+ expect(calls).toEqual(['change']);
22
+ _context.n = 1;
23
+ return Promise.resolve();
24
+ case 1:
25
+ expect(getQuote).toHaveBeenCalledTimes(1);
26
+ expect(calls).toEqual(['change', 'quote']);
27
+ case 2:
28
+ return _context.a(2);
29
+ }
30
+ }, _callee);
31
+ })));
32
+ test('runs quote after a group mutation has been applied', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() {
33
+ var calls, mutate, getQuote;
34
+ return _regenerator().w(function (_context2) {
35
+ while (1) switch (_context2.n) {
36
+ case 0:
37
+ calls = [];
38
+ mutate = jest.fn(function () {
39
+ return calls.push('mutate');
40
+ });
41
+ getQuote = jest.fn(function () {
42
+ return calls.push('quote');
43
+ });
44
+ quoteAfterMutation(mutate, getQuote);
45
+ expect(mutate).toHaveBeenCalledTimes(1);
46
+ expect(getQuote).not.toHaveBeenCalled();
47
+ expect(calls).toEqual(['mutate']);
48
+ _context2.n = 1;
49
+ return Promise.resolve();
50
+ case 1:
51
+ expect(getQuote).toHaveBeenCalledTimes(1);
52
+ expect(calls).toEqual(['mutate', 'quote']);
53
+ case 2:
54
+ return _context2.a(2);
55
+ }
56
+ }, _callee2);
57
+ })));
58
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJlIiwidCIsInIiLCJTeW1ib2wiLCJuIiwiaXRlcmF0b3IiLCJvIiwidG9TdHJpbmdUYWciLCJpIiwiYyIsInByb3RvdHlwZSIsIkdlbmVyYXRvciIsInUiLCJPYmplY3QiLCJjcmVhdGUiLCJfcmVnZW5lcmF0b3JEZWZpbmUyIiwiZiIsInAiLCJ5IiwiRyIsInYiLCJhIiwiZCIsImJpbmQiLCJsZW5ndGgiLCJsIiwiVHlwZUVycm9yIiwiY2FsbCIsImRvbmUiLCJ2YWx1ZSIsIkdlbmVyYXRvckZ1bmN0aW9uIiwiR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUiLCJnZXRQcm90b3R5cGVPZiIsInNldFByb3RvdHlwZU9mIiwiX19wcm90b19fIiwiZGlzcGxheU5hbWUiLCJfcmVnZW5lcmF0b3IiLCJ3IiwibSIsImRlZmluZVByb3BlcnR5IiwiX3JlZ2VuZXJhdG9yRGVmaW5lIiwiX2ludm9rZSIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsImFzeW5jR2VuZXJhdG9yU3RlcCIsIlByb21pc2UiLCJyZXNvbHZlIiwidGhlbiIsIl9hc3luY1RvR2VuZXJhdG9yIiwiYXJndW1lbnRzIiwiYXBwbHkiLCJfbmV4dCIsIl90aHJvdyIsInF1b3RlQWZ0ZXJGaWVsZENoYW5nZSIsInF1b3RlQWZ0ZXJNdXRhdGlvbiIsInRlc3QiLCJfY2FsbGVlIiwiY2FsbHMiLCJvbkNoYW5nZSIsImdldFF1b3RlIiwiX2NvbnRleHQiLCJqZXN0IiwiZm4iLCJwdXNoIiwiZXhwZWN0IiwidG9IYXZlQmVlbkNhbGxlZFdpdGgiLCJub3QiLCJ0b0hhdmVCZWVuQ2FsbGVkIiwidG9FcXVhbCIsInRvSGF2ZUJlZW5DYWxsZWRUaW1lcyIsIl9jYWxsZWUyIiwibXV0YXRlIiwiX2NvbnRleHQyIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvcXVvdGVBZnRlckZpZWxkQ2hhbmdlLnRlc3QudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcXVvdGVBZnRlckZpZWxkQ2hhbmdlLCBxdW90ZUFmdGVyTXV0YXRpb24gfSBmcm9tICcuL3F1b3RlQWZ0ZXJGaWVsZENoYW5nZSc7XG5cbnRlc3QoJ3J1bnMgcXVvdGUgYWZ0ZXIgdGhlIGZpZWxkIGNoYW5nZSBoYXMgYmVlbiBhcHBsaWVkJywgYXN5bmMgKCkgPT4ge1xuICBjb25zdCBjYWxsczogc3RyaW5nW10gPSBbXTtcbiAgY29uc3Qgb25DaGFuZ2UgPSBqZXN0LmZuKCgpID0+IGNhbGxzLnB1c2goJ2NoYW5nZScpKTtcbiAgY29uc3QgZ2V0UXVvdGUgPSBqZXN0LmZuKCgpID0+IGNhbGxzLnB1c2goJ3F1b3RlJykpO1xuXG4gIHF1b3RlQWZ0ZXJGaWVsZENoYW5nZShvbkNoYW5nZSwgZ2V0UXVvdGUsICcyMDAnKTtcblxuICBleHBlY3Qob25DaGFuZ2UpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKCcyMDAnKTtcbiAgZXhwZWN0KGdldFF1b3RlKS5ub3QudG9IYXZlQmVlbkNhbGxlZCgpO1xuICBleHBlY3QoY2FsbHMpLnRvRXF1YWwoWydjaGFuZ2UnXSk7XG5cbiAgYXdhaXQgUHJvbWlzZS5yZXNvbHZlKCk7XG5cbiAgZXhwZWN0KGdldFF1b3RlKS50b0hhdmVCZWVuQ2FsbGVkVGltZXMoMSk7XG4gIGV4cGVjdChjYWxscykudG9FcXVhbChbJ2NoYW5nZScsICdxdW90ZSddKTtcbn0pO1xuXG50ZXN0KCdydW5zIHF1b3RlIGFmdGVyIGEgZ3JvdXAgbXV0YXRpb24gaGFzIGJlZW4gYXBwbGllZCcsIGFzeW5jICgpID0+IHtcbiAgY29uc3QgY2FsbHM6IHN0cmluZ1tdID0gW107XG4gIGNvbnN0IG11dGF0ZSA9IGplc3QuZm4oKCkgPT4gY2FsbHMucHVzaCgnbXV0YXRlJykpO1xuICBjb25zdCBnZXRRdW90ZSA9IGplc3QuZm4oKCkgPT4gY2FsbHMucHVzaCgncXVvdGUnKSk7XG5cbiAgcXVvdGVBZnRlck11dGF0aW9uKG11dGF0ZSwgZ2V0UXVvdGUpO1xuXG4gIGV4cGVjdChtdXRhdGUpLnRvSGF2ZUJlZW5DYWxsZWRUaW1lcygxKTtcbiAgZXhwZWN0KGdldFF1b3RlKS5ub3QudG9IYXZlQmVlbkNhbGxlZCgpO1xuICBleHBlY3QoY2FsbHMpLnRvRXF1YWwoWydtdXRhdGUnXSk7XG5cbiAgYXdhaXQgUHJvbWlzZS5yZXNvbHZlKCk7XG5cbiAgZXhwZWN0KGdldFF1b3RlKS50b0hhdmVCZWVuQ2FsbGVkVGltZXMoMSk7XG4gIGV4cGVjdChjYWxscykudG9FcXVhbChbJ211dGF0ZScsICdxdW90ZSddKTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiMEJBQ0EsdUtBQUFBLENBQUEsRUFBQUMsQ0FBQSxFQUFBQyxDQUFBLHdCQUFBQyxNQUFBLEdBQUFBLE1BQUEsT0FBQUMsQ0FBQSxHQUFBRixDQUFBLENBQUFHLFFBQUEsa0JBQUFDLENBQUEsR0FBQUosQ0FBQSxDQUFBSyxXQUFBLDhCQUFBQyxFQUFBTixDQUFBLEVBQUFFLENBQUEsRUFBQUUsQ0FBQSxFQUFBRSxDQUFBLFFBQUFDLENBQUEsR0FBQUwsQ0FBQSxJQUFBQSxDQUFBLENBQUFNLFNBQUEsWUFBQUMsU0FBQSxHQUFBUCxDQUFBLEdBQUFPLFNBQUEsRUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLE1BQUEsQ0FBQUwsQ0FBQSxDQUFBQyxTQUFBLFVBQUFLLG1CQUFBLENBQUFILENBQUEsdUJBQUFWLENBQUEsRUFBQUUsQ0FBQSxFQUFBRSxDQUFBLFFBQUFFLENBQUEsRUFBQUMsQ0FBQSxFQUFBRyxDQUFBLEVBQUFJLENBQUEsTUFBQUMsQ0FBQSxHQUFBWCxDQUFBLFFBQUFZLENBQUEsT0FBQUMsQ0FBQSxLQUFBRixDQUFBLEtBQUFiLENBQUEsS0FBQWdCLENBQUEsRUFBQXBCLENBQUEsRUFBQXFCLENBQUEsRUFBQUMsQ0FBQSxFQUFBTixDQUFBLEVBQUFNLENBQUEsQ0FBQUMsSUFBQSxDQUFBdkIsQ0FBQSxNQUFBc0IsQ0FBQSxXQUFBQSxFQUFBckIsQ0FBQSxFQUFBQyxDQUFBLFdBQUFNLENBQUEsR0FBQVAsQ0FBQSxFQUFBUSxDQUFBLE1BQUFHLENB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