@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
package/README.md ADDED
@@ -0,0 +1,272 @@
1
+ # Merchi Product Form
2
+
3
+ [![npm version](https://img.shields.io/npm/v/@merchi/product-form.svg)](https://www.npmjs.com/package/@merchi/product-form)
4
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
5
+
6
+ A React component library for rendering customizable e-commerce product forms for Merchi products. This package provides a seamless integration for Next.js applications, allowing for interactive product forms with various customization options.
7
+
8
+ ## Features
9
+
10
+ - Interactive product form with real-time price calculations
11
+ - Customizable styling through extensive class name props
12
+ - Support for product variations, groups, and options
13
+ - File upload capability for product customizations
14
+ - Cart and quote request functionality
15
+ - Responsive design suitable for all devices
16
+
17
+ ## Table of Contents
18
+
19
+ - [Installation](#installation)
20
+ - [Quick Start](#quick-start)
21
+ - [Usage Example](#usage-example)
22
+ - [Component Props](#component-props)
23
+ - [CSS Class Props](#css-class-props)
24
+ - [Styling](#styling)
25
+ - [Advanced Usage](#advanced-usage)
26
+ - [Contributing](#contributing)
27
+ - [License](#license)
28
+
29
+ ## Installation
30
+
31
+ ```bash
32
+ # Using npm
33
+ npm install @merchi/product-form
34
+
35
+ # Using yarn
36
+ yarn add @merchi/product-form
37
+ ```
38
+
39
+ ## Quick Start
40
+
41
+ ```jsx
42
+ import MerchiProductForm from '@merchi/product-form';
43
+
44
+ function ProductPage({ product }) {
45
+ return (
46
+ <MerchiProductForm
47
+ initProduct={product}
48
+ onBuyNow={(job) => console.log(job)}
49
+ onGetQuote={(job) => console.log(job)}
50
+ />
51
+ );
52
+ }
53
+ ```
54
+
55
+ ## Usage Example
56
+
57
+ Here's a complete example of how to use the `MerchiProductForm` component in a Next.js page:
58
+
59
+ ```jsx
60
+ import MerchiProductForm from '@merchi/product-form';
61
+ import { notFound } from 'next/navigation';
62
+
63
+ export async function fetchProduct(id) {
64
+ const url = `https://api.merchi.co/v6/products/${id}/`;
65
+ try {
66
+ const response = await fetch(url);
67
+ if (!response.ok) {
68
+ throw new Error(`HTTP error! Status: ${response.status}`);
69
+ }
70
+ const responseJson = await response.json();
71
+ return responseJson.product;
72
+ } catch (e) {
73
+ throw new Error(e);
74
+ }
75
+ }
76
+
77
+ export default async function Page({ params: { id } }) {
78
+ const initProduct = await fetchProduct(id);
79
+ if (!initProduct) return notFound();
80
+
81
+ const onBuyNow = (job) => {
82
+ // Handle buy now action
83
+ console.log('Buy now job:', job);
84
+ };
85
+
86
+ const onGetQuote = (job) => {
87
+ // Handle quote request
88
+ console.log('Quote request job:', job);
89
+ };
90
+
91
+ return (
92
+ <div className="product-container">
93
+ <MerchiProductForm
94
+ initProduct={initProduct}
95
+ onBuyNow={onBuyNow}
96
+ onGetQuote={onGetQuote}
97
+ showCurrency={true}
98
+ />
99
+ </div>
100
+ );
101
+ }
102
+ ```
103
+
104
+ ## Component Props
105
+
106
+ The `MerchiProductForm` component accepts the following props:
107
+
108
+ | Name | Type | Default | Description |
109
+ |------|------|---------|-------------|
110
+ | `apiUrl` | `string?` | `'https://api.merchi.co/v6/'` | The Merchi API endpoint URL |
111
+ | `initProduct` | `Product` | *required* | The Merchi product object to use for the form |
112
+ | `allowAddToCart` | `boolean?` | `false` | Controls if the add to cart button is shown |
113
+ | `btnNameAddToCart` | `string?` | `"Add to Cart"` | The text on the add to cart button |
114
+ | `currentUser` | `User?` | `undefined` | A Merchi client object to be used as the form's client |
115
+ | `draftApproveCallback` | `(job) => Promise<void> \| null` | `null` | Async callback function that is triggered when drafts are approved |
116
+ | `hideTitle` | `boolean?` | `false` | Hide the product title |
117
+ | `hideCost` | `boolean?` | `false` | Hide the cost (useful for quote requests) |
118
+ | `hideCountry` | `boolean?` | `false` | Hide the country flag |
119
+ | `hideCalculatedPrice` | `boolean?` | `false` | Hide calculated price (useful for quote requests) |
120
+ | `hideDomainName` | `boolean?` | `false` | Hide product domain |
121
+ | `hideQuantityField` | `boolean?` | `false` | Hide the quantity field |
122
+ | `hideRequestQuotationButton` | `boolean?` | `false` | Hide request quote button |
123
+ | `hidePaymentUpfrontButton` | `boolean?` | `false` | Hide buy now button |
124
+ | `isCartItem` | `boolean?` | `false` | Used if the product form is being used in cart item context |
125
+ | `initJob` | `job | cartItem` | `undefined` | The Merchi job or cartItem to be used for the form |
126
+ | `onAddToCart` | `(job) => void?` | `undefined` | Callback function for the add to cart button |
127
+ | `onBuyNow` | `(job) => void?` | `undefined` | Callback function for the buy now button |
128
+ | `onGetQuote` | `(job) => void?` | `undefined` | Callback function for the get quote button |
129
+ | `onSubmit` | `(job) => void?` | `undefined` | Callback function that returns the latest job data |
130
+ | `productFormId` | `string?` | `undefined` | Optional ID to be applied to the product form |
131
+ | `showCurrency` | `boolean?` | `false` | Show the currency symbol |
132
+ | `showCurrencyCode` | `boolean?` | `false` | Show the currency code |
133
+ | `showFeatureDeadline` | `boolean?` | `false` | Will display a countdown timer |
134
+ | `showGroupBuyStatus` | `boolean?` | `false` | Will show the group buy status bar |
135
+ | `showPriceMatrix` | `boolean?` | `true` | Fetch pricing-rules for `ProductPriceMatrix`. The default form does not render the table — place it yourself |
136
+ | `showUnitPrice` | `boolean?` | `false` | Show the unit price to the user |
137
+
138
+ ## CSS Class Props
139
+
140
+ The component provides extensive CSS class customization options:
141
+
142
+ | Name | Type | Default | Description |
143
+ |------|------|---------|-------------|
144
+ | `classNameAlertSellerEditable` | `string?` | `'alert alert-light'` | Class for the seller editable alert element |
145
+ | `classNameButtonSubmit` | `string?` | `'btn btn-primary w-100 merchi-embed-form_button-submit'` | Class for the Submit button element |
146
+ | `classNameButtonGroupAdd` | `string?` | `'btn btn-white'` | Class for the add group button element |
147
+ | `classNameButtonGroupRemove` | `string?` | `'btn btn-danger'` | Class for the delete group button element |
148
+ | `classNameButtonsSubmitContainer` | `string?` | `'merchi-product-buttons-submit-container'` | Class for the container of the submit buttons |
149
+ | `classNameButtonApproveDrafts` | `string?` | `'btn btn-success'` | Class for the approve drafts button element |
150
+ | `classNameButtonCloseDrafts` | `string?` | `'btn btn-secondary'` | Class for the close drafts button element |
151
+ | `classNameFileUploadContainer` | `string?` | `'merchi-input-file-container'` | Class for the input file container |
152
+ | `classNameFileUpload` | `string?` | `'merchi-embed-form_dropzone'` | Class for the dropzone container |
153
+ | `classNameFilePreviewContainer` | `string?` | `'uploaded-variation-file'` | Class for the file variation upload element |
154
+ | `classNameFileUploadTextContainer` | `string?` | `'merchi-embed-form_dropzone-text-container'` | Class for the dropzone text element |
155
+ | `classNameFilePreviewIconWrapper` | `string?` | `'uploaded-variation-file-icon-wrapper'` | Class for the upload variation icon wrapper |
156
+ | `classNameFileUploadButton` | `string?` | `'btn btn-sm btn-link ml-auto'` | Class for the file upload button element |
157
+ | `classNameFileUploadIcon` | `string?` | `'merchi-embed-form_dropzone-icon'` | Class for the form dropzone icon element |
158
+ | `classNameFileUploadIconSecond` | `string?` | `'merchi-embed-form_dropzone-icon-plus'` | Class for the form dropzone plus icon element |
159
+ | `classNameFileUploadIconContainer` | `string?` | `'merchi-embed-form_dropzone-icon-container'` | Class for the form dropzone icon container |
160
+ | `classNameFileListItem` | `string?` | `'list-group-item no-z-index-hover'` | Class for file list item element |
161
+ | `classNameFileButtonDownload` | `string?` | `'btn btn-sm btn-secondary'` | Class for the file download button element |
162
+ | `classNameFileButtonDelete` | `string?` | `'btn btn-sm btn-danger ml-2'` | Class for the file delete button element |
163
+ | `classNameFileListItemContainer` | `string?` | `'list-group'` | Class for the file item list |
164
+ | `classNameGroupsContainer` | `string?` | `'merchi-embed-form_product-group-container'` | Class for the product variation group container |
165
+ | `classNameGroupPriceContainer` | `string?` | `'merchi-embed-form_product-group-total-cost'` | Class for the variation group total cost |
166
+ | `classNameInput` | `string?` | `'form-control'` | Class for form inputs |
167
+ | `classNameInventoryStatus` | `string?` | `'flex-fill'` | Class for the inventory status element |
168
+ | `classNameInputContainer` | `string?` | `'merchi-embed-form_product-group-input-qty-container'` | Class for the input container |
169
+ | `classNameOptionContainer` | `string?` | `'merchi-embed-form_checkbox_radio-item'` | Class for the radio/checkbox container |
170
+ | `classNameOptionInput` | `string?` | `'merchi-embed-form_checkbox_radio-input'` | Class for the radio input |
171
+ | `classNameOptionLabel` | `string?` | `'merchi-embed-form_checkbox_radio-label'` | Class for the radio label |
172
+ | `classNameOptionSuper` | `string?` | `'merchi-embed-form_checkbox_radio-super'` | Class for the checkbox radio super |
173
+ | `classNameOptionsCheckboxRadioContainer` | `string?` | `''` | Class for the option checkbox/radio container |
174
+ | `classNameOptionImage` | `string?` | `'merchi-embed-form_image-select-option-item-img'` | Class for the variation image select element |
175
+ | `classNameOptionImageContainer` | `string?` | `'merchi-embed-form_image-select-option-item-container'` | Class for the variation image container element |
176
+ | `classNameOptionColour` | `string?` | `'merchi-embed-form_color-select-option'` | Class for the variation colour element |
177
+ | `classNameOptionColourContainer` | `string?` | `'merchi-embed-form_color-select-item'` | Class for the variation colour container element |
178
+ | `classNameProductTitle` | `string?` | `'merchi-product-title'` | Class for the product title element |
179
+ | `classNameProductOriginTitle` | `string?` | `'merchi-product-origin-title'` | Class for the product origin title element |
180
+ | `classNameProductTotalContainer` | `string?` | `'merchi-embed-form_summary-product-cost-container'` | Class for the product total cost container element |
181
+ | `classNameProductTotal` | `string?` | `'merchi-embed-form_summary-product-cost'` | Class for the product total cost element |
182
+ | `classNameQuantityLabelContainer` | `string?` | `'merchi-embed-form_quantity-label-container'` | Class for the product quantity label element |
183
+ | `classNameUnitPrice` | `string?` | `undefined` | Class for the unit price element |
184
+ | `classNamePriceMatrix` | `string?` | `'merchi-price-matrix'` | Class for the bulk price table container |
185
+
186
+ ## Styling
187
+
188
+ The component provides extensive customization options through class name props. Here are some of the most commonly used styling props:
189
+
190
+ ```jsx
191
+ <MerchiProductForm
192
+ initProduct={product}
193
+ classNameButtonSubmit="custom-submit-button"
194
+ classNameInput="custom-input"
195
+ classNameProductTitle="custom-product-title"
196
+ classNameProductTotal="custom-product-total"
197
+ />
198
+ ```
199
+
200
+ ## Advanced Usage
201
+
202
+ ### Bulk price table
203
+
204
+ `PriceMatrix` is a standalone table. It does not need the product form — pass a product, pricing-rules bundle, or a precomputed matrix:
205
+
206
+ ```jsx
207
+ import { PriceMatrix } from '@merchi/product-form';
208
+
209
+ <PriceMatrix
210
+ product={product}
211
+ quantity={120}
212
+ onSelectBand={(qty) => setQuantity(qty)}
213
+ />
214
+ ```
215
+
216
+ `ProductPriceMatrix` is the form-connected wrapper (live selections, click-to-set quantity). It is **not** included on the default `MerchiProductForm` — place it where you want inside `MerchiProductFormProvider`:
217
+
218
+ ```jsx
219
+ import {
220
+ MerchiProductFormProvider,
221
+ ProductPriceMatrix,
222
+ ProductTotalCost,
223
+ } from '@merchi/product-form';
224
+
225
+ <MerchiProductFormProvider initProduct={product}>
226
+ {/* your fields */}
227
+ <ProductPriceMatrix />
228
+ <ProductTotalCost />
229
+ </MerchiProductFormProvider>
230
+ ```
231
+
232
+ Pass `showPriceMatrix={false}` to hide a placed `ProductPriceMatrix`.
233
+
234
+ ### Working with Product Variations
235
+
236
+ ```jsx
237
+ <MerchiProductForm
238
+ initProduct={product}
239
+ classNameGroupsContainer="custom-groups-container"
240
+ classNameOptionContainer="custom-option-container"
241
+ onBuyNow={handleBuyNow}
242
+ />
243
+ ```
244
+
245
+ ### Handling File Uploads
246
+
247
+ ```jsx
248
+ <MerchiProductForm
249
+ initProduct={product}
250
+ classNameFileUploadContainer="custom-file-upload"
251
+ classNameFilePreviewContainer="custom-file-preview"
252
+ onGetQuote={handleQuoteRequest}
253
+ />
254
+ ```
255
+
256
+ ## Contributing
257
+
258
+ Contributions are welcome! Please feel free to submit a Pull Request.
259
+
260
+ 1. Fork the repository
261
+ 2. Create your feature branch (`git checkout -b feature/amazing-feature`)
262
+ 3. Commit your changes (`git commit -m 'Add some amazing feature'`)
263
+ 4. Push to the branch (`git push origin feature/amazing-feature`)
264
+ 5. Open a Pull Request
265
+
266
+ ## License
267
+
268
+ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
269
+
270
+ ---
271
+
272
+ For detailed information about all available props, please refer to the TypeScript definitions in the source code.
@@ -0,0 +1,3 @@
1
+ type AnyObject = Record<string, any>;
2
+ export declare function fetchJobQuote(jobJson: AnyObject, apiUrl: string): Promise<any>;
3
+ export {};
@@ -0,0 +1,80 @@
1
+ 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); }
2
+ 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 }; })(); }
3
+ 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); }
4
+ 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); }
5
+ 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); }); }; }
6
+ 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; }
7
+ 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; }
8
+ 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; }
9
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
10
+ 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); }
11
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
12
+ 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."); }
13
+ 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; } }
14
+ 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; }
15
+ 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; } }
16
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
17
+ import { Merchi } from '@merchi/sdk';
18
+ function removeNullValues(obj) {
19
+ var variation = Object.fromEntries(Object.entries(obj).filter(function (_ref) {
20
+ var _ref2 = _slicedToArray(_ref, 2),
21
+ _ = _ref2[0],
22
+ value = _ref2[1];
23
+ return value !== null;
24
+ }));
25
+ return _objectSpread(_objectSpread({}, variation), {}, {
26
+ id: undefined
27
+ });
28
+ }
29
+ function removeNullValuesFromArray(objs) {
30
+ return objs.map(function (obj) {
31
+ var cleanedObj = removeNullValues(obj);
32
+ if (cleanedObj.variations) {
33
+ // Recursively clean variations if it's an object
34
+ cleanedObj.variations = cleanedObj.variations.map(function (variation) {
35
+ return removeNullValues(variation);
36
+ });
37
+ }
38
+ return _objectSpread({
39
+ id: undefined
40
+ }, cleanedObj);
41
+ });
42
+ }
43
+ export function fetchJobQuote(_x, _x2) {
44
+ return _fetchJobQuote.apply(this, arguments);
45
+ }
46
+ function _fetchJobQuote() {
47
+ _fetchJobQuote = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(jobJson, apiUrl) {
48
+ var merchi, merchiJob, _jobJson$variations, variations, _jobJson$variationsGr, variationsGroups, cleanedVariationsGroups, cleanedVariations, cleanedJob;
49
+ return _regenerator().w(function (_context) {
50
+ while (1) switch (_context.n) {
51
+ case 0:
52
+ merchi = new Merchi(undefined,
53
+ // or sessionToken
54
+ undefined,
55
+ // or clientToken
56
+ undefined,
57
+ // or invoiceToken
58
+ undefined,
59
+ // or undefined
60
+ apiUrl // backendUri
61
+ );
62
+ merchiJob = new merchi.Job();
63
+ _jobJson$variations = jobJson.variations, variations = _jobJson$variations === void 0 ? [] : _jobJson$variations, _jobJson$variationsGr = jobJson.variationsGroups, variationsGroups = _jobJson$variationsGr === void 0 ? [] : _jobJson$variationsGr; // Clean the input data by removing nulls
64
+ cleanedVariationsGroups = removeNullValuesFromArray(variationsGroups);
65
+ cleanedVariations = removeNullValuesFromArray(variations);
66
+ cleanedJob = removeNullValues(jobJson); // Passing cleaned data into merchiJob object
67
+ merchiJob.fromJson(_objectSpread(_objectSpread({}, cleanedJob), {}, {
68
+ variations: cleanedVariations,
69
+ variationsGroups: cleanedVariationsGroups
70
+ }), {
71
+ makeDirty: false,
72
+ arrayValueStrict: false
73
+ });
74
+ return _context.a(2, merchiJob.getQuote());
75
+ }
76
+ }, _callee);
77
+ }));
78
+ return _fetchJobQuote.apply(this, arguments);
79
+ }
80
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJlIiwidCIsInIiLCJTeW1ib2wiLCJuIiwiaXRlcmF0b3IiLCJvIiwidG9TdHJpbmdUYWciLCJpIiwiYyIsInByb3RvdHlwZSIsIkdlbmVyYXRvciIsInUiLCJPYmplY3QiLCJjcmVhdGUiLCJfcmVnZW5lcmF0b3JEZWZpbmUyIiwiZiIsInAiLCJ5IiwiRyIsInYiLCJhIiwiZCIsImJpbmQiLCJsZW5ndGgiLCJsIiwiVHlwZUVycm9yIiwiY2FsbCIsImRvbmUiLCJ2YWx1ZSIsIkdlbmVyYXRvckZ1bmN0aW9uIiwiR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUiLCJnZXRQcm90b3R5cGVPZiIsInNldFByb3RvdHlwZU9mIiwiX19wcm90b19fIiwiZGlzcGxheU5hbWUiLCJfcmVnZW5lcmF0b3IiLCJ3IiwibSIsImRlZmluZVByb3BlcnR5IiwiX3JlZ2VuZXJhdG9yRGVmaW5lIiwiX2ludm9rZSIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsImFzeW5jR2VuZXJhdG9yU3RlcCIsIlByb21pc2UiLCJyZXNvbHZlIiwidGhlbiIsIl9hc3luY1RvR2VuZXJhdG9yIiwiYXJndW1lbnRzIiwiYXBwbHkiLCJfbmV4dCIsIl90aHJvdyIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwicHVzaCIsIl9vYmplY3RTcHJlYWQiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJfdG9Qcm9wZXJ0eUtleSIsIl90b1ByaW1pdGl2ZSIsIl90eXBlb2YiLCJ0b1ByaW1pdGl2ZSIsIlN0cmluZyIsIk51bWJlciIsIl9zbGljZWRUb0FycmF5IiwiX2FycmF5V2l0aEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheUxpbWl0IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlUmVzdCIsIl9hcnJheUxpa2VUb0FycmF5IiwidG9TdHJpbmciLCJzbGljZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsIkFycmF5IiwiZnJvbSIsInRlc3QiLCJuZXh0IiwiaXNBcnJheSIsIk1lcmNoaSIsInJlbW92ZU51bGxWYWx1ZXMiLCJvYmoiLCJ2YXJpYXRpb24iLCJmcm9tRW50cmllcyIsImVudHJpZXMiLCJfcmVmIiwiX3JlZjIiLCJfIiwiaWQiLCJ1bmRlZmluZWQiLCJyZW1vdmVOdWxsVmFsdWVzRnJvbUFycmF5Iiwib2JqcyIsIm1hcCIsImNsZWFuZWRPYmoiLCJ2YXJpYXRpb25zIiwiZmV0Y2hKb2JRdW90ZSIsIl94IiwiX3gyIiwiX2ZldGNoSm9iUXVvdGUiLCJfY2FsbGVlIiwiam9iSnNvbiIsImFwaVVybCIsIm1lcmNoaSIsIm1lcmNoaUpvYiIsIl9qb2JKc29uJHZhcmlhdGlvbnMiLCJfam9iSnNvbiR2YXJpYXRpb25zR3IiLCJ2YXJpYXRpb25zR3JvdXBzIiwiY2xlYW5lZFZhcmlhdGlvbnNHcm91cHMiLCJjbGVhbmVkVmFyaWF0aW9ucyIsImNsZWFuZWRKb2IiLCJfY29udGV4dCIsIkpvYiIsImZyb21Kc29uIiwibWFrZURpcnR5IiwiYXJyYXlWYWx1ZVN0cmljdCIsImdldFF1b3RlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FjdGlvbnMvam9icy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNZXJjaGkgfSBmcm9tICdAbWVyY2hpL3Nkayc7XG5cbnR5cGUgQW55T2JqZWN0ID0gUmVjb3JkPHN0cmluZywgYW55PjtcblxuZnVuY3Rpb24gcmVtb3ZlTnVsbFZhbHVlcyhvYmo6IEFueU9iamVjdCk6IEFueU9iamVjdCB7XG4gIGNvbnN0IHZhcmlhdGlvbiA9IE9iamVjdC5mcm9tRW50cmllcyhcbiAgICBPYmplY3QuZW50cmllcyhvYmopLmZpbHRlcigoW18sIHZhbHVlXSkgPT4gdmFsdWUgIT09IG51bGwpXG4gICk7XG4gIHJldHVybiB7Li4udmFyaWF0aW9uLCBpZDogdW5kZWZpbmVkfTtcbn1cblxuZnVuY3Rpb24gcmVtb3ZlTnVsbFZhbHVlc0Zyb21BcnJheShvYmpzOiBBbnlPYmplY3RbXSk6IEFueU9iamVjdFtdIHtcbiAgcmV0dXJuIG9ianMubWFwKChvYmopID0+IHtcbiAgICBjb25zdCBjbGVhbmVkT2JqID0gcmVtb3ZlTnVsbFZhbHVlcyhvYmopO1xuICAgIGlmIChjbGVhbmVkT2JqLnZhcmlhdGlvbnMpIHtcbiAgICAgIC8vIFJlY3Vyc2l2ZWx5IGNsZWFuIHZhcmlhdGlvbnMgaWYgaXQncyBhbiBvYmplY3RcbiAgICAgIGNsZWFuZWRPYmoudmFyaWF0aW9ucyA9IGNsZWFuZWRPYmoudmFyaWF0aW9ucy5tYXAoXG4gICAgICAgICh2YXJpYXRpb246IEFueU9iamVjdCkgPT4gcmVtb3ZlTnVsbFZhbHVlcyh2YXJpYXRpb24pXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4ge2lkOiB1bmRlZmluZWQsIC4uLmNsZWFuZWRPYmp9O1xuICB9KTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGZldGNoSm9iUXVvdGUoam9iSnNvbjogQW55T2JqZWN0LCBhcGlVcmw6IHN0cmluZykge1xuICBjb25zdCBtZXJjaGkgPSBuZXcgTWVyY2hpKFxuICAgIHVuZGVmaW5lZCwgICAgLy8gb3Igc2Vzc2lvblRva2VuXG4gICAgdW5kZWZpbmVkLCAgICAvLyBvciBjbGllbnRUb2tlbiAgXG4gICAgdW5kZWZpbmVkLCAgICAvLyBvciBpbnZvaWNlVG9rZW5cbiAgICB1bmRlZmluZWQsICAgICAgIC8vIG9yIHVuZGVmaW5lZFxuICAgIGFwaVVybCwgIC8vIGJhY2tlbmRVcmlcbiAgKTtcbiAgY29uc3QgbWVyY2hpSm9iID0gbmV3IG1lcmNoaS5Kb2IoKTtcbiAgY29uc3QgeyB2YXJpYXRpb25zID0gW10sIHZhcmlhdGlvbnNHcm91cHMgPSBbXSB9ID0gam9iSnNvbjtcbiAgXG4gIC8vIENsZWFuIHRoZSBpbnB1dCBkYXRhIGJ5IHJlbW92aW5nIG51bGxzXG4gIGNvbnN0IGNsZWFuZWRWYXJpYXRpb25zR3JvdXBzID0gcmVtb3ZlTnVsbFZhbHVlc0Zyb21BcnJheSh2YXJpYXRpb25zR3JvdXBzKTtcbiAgY29uc3QgY2xlYW5lZFZhcmlhdGlvbnMgPSByZW1vdmVOdWxsVmFsdWVzRnJvbUFycmF5KHZhcmlhdGlvbnMpO1xuICBjb25zdCBjbGVhbmVkSm9iID0gcmVtb3ZlTnVsbFZhbHVlcyhqb2JKc29uKTtcblxuICAvLyBQYXNzaW5nIGNsZWFuZWQgZGF0YSBpbnRvIG1lcmNoaUpvYiBvYmplY3RcbiAgbWVyY2hpSm9iLmZyb21Kc29uKFxuICAgIHtcbiAgICAgIC4uLmNsZWFuZWRKb2IsXG4gICAgICB2YXJpYXRpb25zOiBjbGVhbmVkVmFyaWF0aW9ucyxcbiAgICAgIHZhcmlhdGlvbnNHcm91cHM6IGNsZWFuZWRWYXJpYXRpb25zR3JvdXBzLFxuICAgIH0sXG4gICAgeyBtYWtlRGlydHk6IGZhbHNlLCBhcnJheVZhbHVlU3RyaWN0OiBmYWxzZSB9XG4gICk7XG5cbiAgcmV0dXJuIG1lcmNoaUpvYi5nZXRRdW90ZSgpO1xufVxuIl0sIm1hcHBpbmdzIjoiOzBCQUNBLHVLQUFBQSxDQUFBLEVBQUFDLENBQUEsRUFBQUMsQ0FBQSx3QkFBQUMsTUFBQSxHQUFBQSxNQUFBLE9BQUFDLENBQUEsR0FBQUYsQ0FBQSxDQUFBRyxRQUFBLGtCQUFBQyxDQUFBLEdBQUFKLENBQUEsQ0FBQUssV0FBQSw4QkFBQUMsRUFBQU4sQ0FBQSxFQUFBRSxDQUFBLEVBQUFFLENBQUEsRUFBQUUsQ0FBQSxRQUFBQyxDQUFBLEdBQUFMLENBQUEsSUFBQUEsQ0FBQSxDQUFBTSxTQUFBLFlBQUFDLFNBQUEsR0FBQVAsQ0FBQSxHQUFBTyxTQUFBLEVBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxNQUFBLENBQUFMLENBQUEsQ0FBQUMsU0FBQSxVQUFBSyxtQkFBQSxDQUFBSCxDQUFBLHVCQUFBVixDQUFBLEVBQUFFLENBQUEsRUFBQUUsQ0FBQSxRQUFBRSxDQUFBLEVBQUFDLENB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
@@ -0,0 +1,7 @@
1
+ type AnyObject = Record<string, any>;
2
+ export declare function buildLeadJobPayload(jobJson: AnyObject): AnyObject;
3
+ export declare function submitLead(jobJson: AnyObject, apiUrl: string, spamExtras?: {
4
+ website?: string;
5
+ hcaptchaToken?: string;
6
+ }): Promise<unknown>;
7
+ export {};
@@ -0,0 +1,67 @@
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 { Merchi } from '@merchi/sdk';
6
+ import { cleanJobVariationsAndGroups } from '../components/utils';
7
+ export function buildLeadJobPayload(jobJson) {
8
+ var client = jobJson.client,
9
+ product = jobJson.product,
10
+ domain = jobJson.domain,
11
+ variations = jobJson.variations,
12
+ variationsGroups = jobJson.variationsGroups;
13
+ var cleaned = cleanJobVariationsAndGroups({
14
+ variations: variations !== null && variations !== void 0 ? variations : [],
15
+ variationsGroups: variationsGroups !== null && variationsGroups !== void 0 ? variationsGroups : []
16
+ });
17
+ var payload = {
18
+ client: client,
19
+ variations: cleaned.variations,
20
+ variationsGroups: cleaned.variationsGroups
21
+ };
22
+ if ((product === null || product === void 0 ? void 0 : product.id) != null) {
23
+ payload.product = {
24
+ id: product.id
25
+ };
26
+ } else if (product) {
27
+ payload.product = product;
28
+ }
29
+ if (domain) {
30
+ payload.domain = domain;
31
+ } else if (product !== null && product !== void 0 && product.domain) {
32
+ payload.domain = product.domain;
33
+ }
34
+ return payload;
35
+ }
36
+ export function submitLead(_x, _x2, _x3) {
37
+ return _submitLead.apply(this, arguments);
38
+ }
39
+ function _submitLead() {
40
+ _submitLead = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(jobJson, apiUrl, spamExtras) {
41
+ var _spamExtras$website;
42
+ var merchi, merchiJob, leadPayload, formData;
43
+ return _regenerator().w(function (_context) {
44
+ while (1) switch (_context.n) {
45
+ case 0:
46
+ merchi = new Merchi(undefined, undefined, undefined, undefined, apiUrl);
47
+ merchiJob = new merchi.Job();
48
+ leadPayload = buildLeadJobPayload(jobJson);
49
+ merchiJob.fromJson(leadPayload, {
50
+ makeDirty: true,
51
+ arrayValueStrict: false
52
+ });
53
+ formData = merchiJob.toFormData(); // Honeypot + captcha are not Job attributes; append as top-level form fields.
54
+ formData.append('website', (_spamExtras$website = spamExtras === null || spamExtras === void 0 ? void 0 : spamExtras.website) !== null && _spamExtras$website !== void 0 ? _spamExtras$website : '');
55
+ if (spamExtras !== null && spamExtras !== void 0 && spamExtras.hcaptchaToken) {
56
+ formData.append('hcaptchaToken', spamExtras.hcaptchaToken);
57
+ }
58
+ return _context.a(2, merchi.authenticatedFetch('create_new_lead/', {
59
+ body: formData,
60
+ method: 'POST'
61
+ }));
62
+ }
63
+ }, _callee);
64
+ }));
65
+ return _submitLead.apply(this, arguments);
66
+ }
67
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJlIiwidCIsInIiLCJTeW1ib2wiLCJuIiwiaXRlcmF0b3IiLCJvIiwidG9TdHJpbmdUYWciLCJpIiwiYyIsInByb3RvdHlwZSIsIkdlbmVyYXRvciIsInUiLCJPYmplY3QiLCJjcmVhdGUiLCJfcmVnZW5lcmF0b3JEZWZpbmUyIiwiZiIsInAiLCJ5IiwiRyIsInYiLCJhIiwiZCIsImJpbmQiLCJsZW5ndGgiLCJsIiwiVHlwZUVycm9yIiwiY2FsbCIsImRvbmUiLCJ2YWx1ZSIsIkdlbmVyYXRvckZ1bmN0aW9uIiwiR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUiLCJnZXRQcm90b3R5cGVPZiIsInNldFByb3RvdHlwZU9mIiwiX19wcm90b19fIiwiZGlzcGxheU5hbWUiLCJfcmVnZW5lcmF0b3IiLCJ3IiwibSIsImRlZmluZVByb3BlcnR5IiwiX3JlZ2VuZXJhdG9yRGVmaW5lIiwiX2ludm9rZSIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsImFzeW5jR2VuZXJhdG9yU3RlcCIsIlByb21pc2UiLCJyZXNvbHZlIiwidGhlbiIsIl9hc3luY1RvR2VuZXJhdG9yIiwiYXJndW1lbnRzIiwiYXBwbHkiLCJfbmV4dCIsIl90aHJvdyIsIk1lcmNoaSIsImNsZWFuSm9iVmFyaWF0aW9uc0FuZEdyb3VwcyIsImJ1aWxkTGVhZEpvYlBheWxvYWQiLCJqb2JKc29uIiwiY2xpZW50IiwicHJvZHVjdCIsImRvbWFpbiIsInZhcmlhdGlvbnMiLCJ2YXJpYXRpb25zR3JvdXBzIiwiY2xlYW5lZCIsInBheWxvYWQiLCJpZCIsInN1Ym1pdExlYWQiLCJfeCIsIl94MiIsIl94MyIsIl9zdWJtaXRMZWFkIiwiX2NhbGxlZSIsImFwaVVybCIsInNwYW1FeHRyYXMiLCJfc3BhbUV4dHJhcyR3ZWJzaXRlIiwibWVyY2hpIiwibWVyY2hpSm9iIiwibGVhZFBheWxvYWQiLCJmb3JtRGF0YSIsIl9jb250ZXh0IiwidW5kZWZpbmVkIiwiSm9iIiwiZnJvbUpzb24iLCJtYWtlRGlydHkiLCJhcnJheVZhbHVlU3RyaWN0IiwidG9Gb3JtRGF0YSIsImFwcGVuZCIsIndlYnNpdGUiLCJoY2FwdGNoYVRva2VuIiwiYXV0aGVudGljYXRlZEZldGNoIiwiYm9keSIsIm1ldGhvZCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hY3Rpb25zL2xlYWRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1lcmNoaSB9IGZyb20gJ0BtZXJjaGkvc2RrJztcblxuaW1wb3J0IHsgY2xlYW5Kb2JWYXJpYXRpb25zQW5kR3JvdXBzIH0gZnJvbSAnLi4vY29tcG9uZW50cy91dGlscyc7XG5cbnR5cGUgQW55T2JqZWN0ID0gUmVjb3JkPHN0cmluZywgYW55PjtcblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkTGVhZEpvYlBheWxvYWQoam9iSnNvbjogQW55T2JqZWN0KTogQW55T2JqZWN0IHtcbiAgY29uc3QgeyBjbGllbnQsIHByb2R1Y3QsIGRvbWFpbiwgdmFyaWF0aW9ucywgdmFyaWF0aW9uc0dyb3VwcyB9ID0gam9iSnNvbjtcbiAgY29uc3QgY2xlYW5lZCA9IGNsZWFuSm9iVmFyaWF0aW9uc0FuZEdyb3Vwcyh7XG4gICAgdmFyaWF0aW9uczogdmFyaWF0aW9ucyA/PyBbXSxcbiAgICB2YXJpYXRpb25zR3JvdXBzOiB2YXJpYXRpb25zR3JvdXBzID8/IFtdLFxuICB9KTtcblxuICBjb25zdCBwYXlsb2FkOiBBbnlPYmplY3QgPSB7XG4gICAgY2xpZW50LFxuICAgIHZhcmlhdGlvbnM6IGNsZWFuZWQudmFyaWF0aW9ucyxcbiAgICB2YXJpYXRpb25zR3JvdXBzOiBjbGVhbmVkLnZhcmlhdGlvbnNHcm91cHMsXG4gIH07XG5cbiAgaWYgKHByb2R1Y3Q/LmlkICE9IG51bGwpIHtcbiAgICBwYXlsb2FkLnByb2R1Y3QgPSB7IGlkOiBwcm9kdWN0LmlkIH07XG4gIH0gZWxzZSBpZiAocHJvZHVjdCkge1xuICAgIHBheWxvYWQucHJvZHVjdCA9IHByb2R1Y3Q7XG4gIH1cblxuICBpZiAoZG9tYWluKSB7XG4gICAgcGF5bG9hZC5kb21haW4gPSBkb21haW47XG4gIH0gZWxzZSBpZiAocHJvZHVjdD8uZG9tYWluKSB7XG4gICAgcGF5bG9hZC5kb21haW4gPSBwcm9kdWN0LmRvbWFpbjtcbiAgfVxuXG4gIHJldHVybiBwYXlsb2FkO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc3VibWl0TGVhZChcbiAgam9iSnNvbjogQW55T2JqZWN0LFxuICBhcGlVcmw6IHN0cmluZyxcbiAgc3BhbUV4dHJhcz86IHsgd2Vic2l0ZT86IHN0cmluZzsgaGNhcHRjaGFUb2tlbj86IHN0cmluZyB9LFxuKTogUHJvbWlzZTx1bmtub3duPiB7XG4gIGNvbnN0IG1lcmNoaSA9IG5ldyBNZXJjaGkoXG4gICAgdW5kZWZpbmVkLFxuICAgIHVuZGVmaW5lZCxcbiAgICB1bmRlZmluZWQsXG4gICAgdW5kZWZpbmVkLFxuICAgIGFwaVVybCxcbiAgKTtcbiAgY29uc3QgbWVyY2hpSm9iID0gbmV3IG1lcmNoaS5Kb2IoKTtcbiAgY29uc3QgbGVhZFBheWxvYWQgPSBidWlsZExlYWRKb2JQYXlsb2FkKGpvYkpzb24pO1xuXG4gIG1lcmNoaUpvYi5mcm9tSnNvbihsZWFkUGF5bG9hZCwgeyBtYWtlRGlydHk6IHRydWUsIGFycmF5VmFsdWVTdHJpY3Q6IGZhbHNlIH0pO1xuXG4gIGNvbnN0IGZvcm1EYXRhID0gbWVyY2hpSm9iLnRvRm9ybURhdGEoKTtcbiAgLy8gSG9uZXlwb3QgKyBjYXB0Y2hhIGFyZSBub3QgSm9iIGF0dHJpYnV0ZXM7IGFwcGVuZCBhcyB0b3AtbGV2ZWwgZm9ybSBmaWVsZHMuXG4gIGZvcm1EYXRhLmFwcGVuZCgnd2Vic2l0ZScsIHNwYW1FeHRyYXM/LndlYnNpdGUgPz8gJycpO1xuICBpZiAoc3BhbUV4dHJhcz8uaGNhcHRjaGFUb2tlbikge1xuICAgIGZvcm1EYXRhLmFwcGVuZCgnaGNhcHRjaGFUb2tlbicsIHNwYW1FeHRyYXMuaGNhcHRjaGFUb2tlbik7XG4gIH1cbiAgcmV0dXJuIG1lcmNoaS5hdXRoZW50aWNhdGVkRmV0Y2goJ2NyZWF0ZV9uZXdfbGVhZC8nLCB7IGJvZHk6IGZvcm1EYXRhLCBtZXRob2Q6ICdQT1NUJyB9KTtcbn1cbiJdLCJtYXBwaW5ncyI6IjBCQUNBLHVLQUFBQSxDQUFBLEVBQUFDLENBQUEsRUFBQUMsQ0FBQSx3QkFBQUMsTUFBQSxHQUFBQSxNQUFBLE9BQUFDLENBQUEsR0FBQUYsQ0FBQSxDQUFBRyxRQUFBLGtCQUFBQyxDQUFBLEdBQUFKLENBQUEsQ0FBQUssV0FBQSw4QkFBQUMsRUFBQU4sQ0FBQSxFQUFBRSxDQUFBLEVBQUFFLENBQUEsRUFBQUUsQ0FBQSxRQUFBQyxDQUFBLEdBQUFMLENBQUEsSUFBQUEsQ0FBQSxDQUFBTSxTQUFBLFlBQUFDLFNBQUEsR0FBQVAsQ0FBQSxHQUFBTyxTQUFBLEVBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxNQUFBLENBQUFMLENBQUEsQ0FBQUMsU0FBQSxVQUFBSyxtQkFBQSxDQUFBSCxDQUFBLHVCQUFBVixDQUFBLEVBQUFFLENBQUEsRUFBQUUsQ0FBQSxRQUFBRSxDQUFBLEVBQUFDLENBQUEsRUFBQUcsQ0FBQSxFQUFBSSxDQUFBLE1BQUFDLENBQUEsR0FBQVgsQ0FBQSxRQUFBWSxDQUFBLE9BQUFDLENBQUEsS0FBQUYsQ0FBQSxLQUFBYixDQUFBLEtBQUFnQixDQUFBLEVBQUFwQixDQUFBLEVBQUFxQixDQUFBLEVBQUFDLENBQUEsRUFBQU4sQ0FBQSxFQUFBTSxDQUFBLENBQUFDLElBQUEsQ0FBQXZCLENBQUEsTUFBQXNCLENBQUEsV0FBQUEsRUFBQXJCLENBQUEsRUFBQUMsQ0FBQSxXQUFBTSxDQUFBLEdBQUFQLENBQUEsRUFBQVEsQ0FBQSxNQUFBRyxDQUFBLEdBQUFaLENBQUEsRUFBQW1CLENBQUEsQ0FBQWYsQ0FBQSxHQUFBRixDQUFBLEVBQUFtQixDQUFBLGdCQUFBQyxFQUFBcEIsQ0FBQSxFQUFBRSxDQUFBLFNBQUFLLENBQUEsR0FBQVAsQ0FBQSxFQUFBVSxDQUFBLEdBQUFSLENBQUEsRUFBQUgsQ0FBQSxPQUFBaUIs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
@@ -0,0 +1,6 @@
1
+ import * as React from 'react';
2
+ interface Props {
3
+ variationField: any;
4
+ }
5
+ declare function AlertVariationSellerEditable({ variationField }: Props): React.JSX.Element;
6
+ export default AlertVariationSellerEditable;
@@ -0,0 +1,46 @@
1
+ 'use client';
2
+
3
+ import * as React from 'react';
4
+ import { supplierSellerEditableProductTypes } from './utils';
5
+ import { FaClipboardCheck } from 'react-icons/fa';
6
+ import { useMerchiFormContext } from '../context/MerchiProductFormProvider';
7
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
8
+ function isTrue(value) {
9
+ return [true, 'true'].includes(value);
10
+ }
11
+ function AlertVariationSellerEditable(_ref) {
12
+ var variationField = _ref.variationField;
13
+ var _useMerchiFormContext = useMerchiFormContext(),
14
+ classNameAlertSellerEditable = _useMerchiFormContext.classNameAlertSellerEditable,
15
+ product = _useMerchiFormContext.product;
16
+ var productType = product.productType;
17
+ var sellerProductEditable = variationField.sellerProductEditable;
18
+ var show = isTrue(sellerProductEditable) && productType === undefined || productType && isTrue(sellerProductEditable) && supplierSellerEditableProductTypes.includes(Number(productType));
19
+ return show ? /*#__PURE__*/_jsx("div", {
20
+ className: classNameAlertSellerEditable,
21
+ style: {
22
+ display: 'flex',
23
+ fontSize: 18,
24
+ fontWeight: 600,
25
+ justifyContent: 'space-between'
26
+ },
27
+ children: /*#__PURE__*/_jsxs("div", {
28
+ style: {
29
+ alignItems: 'center',
30
+ display: 'flex'
31
+ },
32
+ children: [/*#__PURE__*/_jsx("div", {
33
+ style: {
34
+ marginRight: '1rem'
35
+ },
36
+ children: /*#__PURE__*/_jsx(FaClipboardCheck, {
37
+ size: 32
38
+ })
39
+ }), /*#__PURE__*/_jsx("div", {
40
+ children: "Select variation options you would like to offer your customers on your product."
41
+ })]
42
+ })
43
+ }) : /*#__PURE__*/_jsx(_Fragment, {});
44
+ }
45
+ export default AlertVariationSellerEditable;
46
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInN1cHBsaWVyU2VsbGVyRWRpdGFibGVQcm9kdWN0VHlwZXMiLCJGYUNsaXBib2FyZENoZWNrIiwidXNlTWVyY2hpRm9ybUNvbnRleHQiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJpc1RydWUiLCJ2YWx1ZSIsImluY2x1ZGVzIiwiQWxlcnRWYXJpYXRpb25TZWxsZXJFZGl0YWJsZSIsIl9yZWYiLCJ2YXJpYXRpb25GaWVsZCIsIl91c2VNZXJjaGlGb3JtQ29udGV4dCIsImNsYXNzTmFtZUFsZXJ0U2VsbGVyRWRpdGFibGUiLCJwcm9kdWN0IiwicHJvZHVjdFR5cGUiLCJzZWxsZXJQcm9kdWN0RWRpdGFibGUiLCJzaG93IiwidW5kZWZpbmVkIiwiTnVtYmVyIiwiY2xhc3NOYW1lIiwic3R5bGUiLCJkaXNwbGF5IiwiZm9udFNpemUiLCJmb250V2VpZ2h0IiwianVzdGlmeUNvbnRlbnQiLCJjaGlsZHJlbiIsImFsaWduSXRlbXMiLCJtYXJnaW5SaWdodCIsInNpemUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcG9uZW50cy9BbGVydFZhcmlhdGlvblNlbGxlckVkaXRhYmxlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCc7XG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBzdXBwbGllclNlbGxlckVkaXRhYmxlUHJvZHVjdFR5cGVzIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBGYUNsaXBib2FyZENoZWNrIH0gZnJvbSAncmVhY3QtaWNvbnMvZmEnO1xuaW1wb3J0IHsgdXNlTWVyY2hpRm9ybUNvbnRleHQgfSBmcm9tICcuLi9jb250ZXh0L01lcmNoaVByb2R1Y3RGb3JtUHJvdmlkZXInO1xuXG5mdW5jdGlvbiBpc1RydWUodmFsdWU6IGFueSkge1xuICByZXR1cm4gW3RydWUsICd0cnVlJ10uaW5jbHVkZXModmFsdWUpO1xufVxuXG5pbnRlcmZhY2UgUHJvcHMge1xuICB2YXJpYXRpb25GaWVsZDogYW55O1xufVxuXG5mdW5jdGlvbiBBbGVydFZhcmlhdGlvblNlbGxlckVkaXRhYmxlKHsgdmFyaWF0aW9uRmllbGQgfTogUHJvcHMpIHtcbiAgY29uc3QgeyBjbGFzc05hbWVBbGVydFNlbGxlckVkaXRhYmxlLCAgcHJvZHVjdCB9ID0gdXNlTWVyY2hpRm9ybUNvbnRleHQoKTtcbiAgY29uc3QgeyBwcm9kdWN0VHlwZSB9ID0gcHJvZHVjdDtcbiAgY29uc3QgeyBzZWxsZXJQcm9kdWN0RWRpdGFibGUgfSA9IHZhcmlhdGlvbkZpZWxkO1xuICBjb25zdCBzaG93ID0gaXNUcnVlKHNlbGxlclByb2R1Y3RFZGl0YWJsZSkgJiYgcHJvZHVjdFR5cGUgPT09IHVuZGVmaW5lZCB8fFxuICBwcm9kdWN0VHlwZSAmJiBpc1RydWUoc2VsbGVyUHJvZHVjdEVkaXRhYmxlKSAmJiBzdXBwbGllclNlbGxlckVkaXRhYmxlUHJvZHVjdFR5cGVzLlxuICAgICAgaW5jbHVkZXMoTnVtYmVyKHByb2R1Y3RUeXBlKSk7XG4gIHJldHVybiAoXG4gICAgc2hvdyA/XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lQWxlcnRTZWxsZXJFZGl0YWJsZX1cbiAgICAgICAgc3R5bGU9e3tkaXNwbGF5OiAnZmxleCcsIGZvbnRTaXplOiAxOCwgZm9udFdlaWdodDogNjAwLCBqdXN0aWZ5Q29udGVudDogJ3NwYWNlLWJldHdlZW4nfX1cbiAgICAgID5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgbWFyZ2luUmlnaHQ6ICcxcmVtJyxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPEZhQ2xpcGJvYXJkQ2hlY2sgc2l6ZT17MzJ9IC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIFNlbGVjdCB2YXJpYXRpb24gb3B0aW9ucyB5b3Ugd291bGQgbGlrZVxuICAgICAgICAgICAgdG8gb2ZmZXIgeW91ciBjdXN0b21lcnMgb24geW91ciBwcm9kdWN0LlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PiA6IDw+PC8+XG4gICk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IEFsZXJ0VmFyaWF0aW9uU2VsbGVyRWRpdGFibGU7XG4iXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7O0FBQ1osT0FBTyxLQUFLQSxLQUFLLE1BQU0sT0FBTztBQUM5QixTQUFTQyxrQ0FBa0MsUUFBUSxTQUFTO0FBQzVELFNBQVNDLGdCQUFnQixRQUFRLGdCQUFnQjtBQUNqRCxTQUFTQyxvQkFBb0IsUUFBUSxzQ0FBc0M7QUFBQyxTQUFBQyxHQUFBLElBQUFDLElBQUEsRUFBQUMsSUFBQSxJQUFBQyxLQUFBLEVBQUFDLFFBQUEsSUFBQUMsU0FBQTtBQUU1RSxTQUFTQyxNQUFNQSxDQUFDQyxLQUFVLEVBQUU7RUFDMUIsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQ0MsUUFBUSxDQUFDRCxLQUFLLENBQUM7QUFDdkM7QUFNQSxTQUFTRSw0QkFBNEJBLENBQUFDLElBQUEsRUFBNEI7RUFBQSxJQUF6QkMsY0FBYyxHQUFBRCxJQUFBLENBQWRDLGNBQWM7RUFDcEQsSUFBQUMscUJBQUEsR0FBbURiLG9CQUFvQixDQUFDLENBQUM7SUFBakVjLDRCQUE0QixHQUFBRCxxQkFBQSxDQUE1QkMsNEJBQTRCO0lBQUdDLE9BQU8sR0FBQUYscUJBQUEsQ0FBUEUsT0FBTztFQUM5QyxJQUFRQyxXQUFXLEdBQUtELE9BQU8sQ0FBdkJDLFdBQVc7RUFDbkIsSUFBUUMscUJBQXFCLEdBQUtMLGNBQWMsQ0FBeENLLHFCQUFxQjtFQUM3QixJQUFNQyxJQUFJLEdBQUdYLE1BQU0sQ0FBQ1UscUJBQXFCLENBQUMsSUFBSUQsV0FBVyxLQUFLRyxTQUFTLElBQ3ZFSCxXQUFXLElBQUlULE1BQU0sQ0FBQ1UscUJBQXFCLENBQUMsSUFBSW5CLGtDQUFrQyxDQUM5RVcsUUFBUSxDQUFDVyxNQUFNLENBQUNKLFdBQVcsQ0FBQyxDQUFDO0VBQ2pDLE9BQ0VFLElBQUksZ0JBQ0ZoQixJQUFBO0lBQ0VtQixTQUFTLEVBQUVQLDRCQUE2QjtJQUN4Q1EsS0FBSyxFQUFFO01BQUNDLE9BQU8sRUFBRSxNQUFNO01BQUVDLFFBQVEsRUFBRSxFQUFFO01BQUVDLFVBQVUsRUFBRSxHQUFHO01BQUVDLGNBQWMsRUFBRTtJQUFlLENBQUU7SUFBQUMsUUFBQSxlQUV6RnZCLEtBQUE7TUFDRWtCLEtBQUssRUFBRTtRQUNMTSxVQUFVLEVBQUUsUUFBUTtRQUNwQkwsT0FBTyxFQUFFO01BQ1gsQ0FBRTtNQUFBSSxRQUFBLGdCQUVGekIsSUFBQTtRQUNFb0IsS0FBSyxFQUFFO1VBQ0xPLFdBQVcsRUFBRTtRQUNmLENBQUU7UUFBQUYsUUFBQSxlQUVGekIsSUFBQSxDQUFDSCxnQkFBZ0I7VUFBQytCLElBQUksRUFBRTtRQUFHLENBQUU7TUFBQyxDQUMzQixDQUFDLGVBQ041QixJQUFBO1FBQUF5QixRQUFBLEVBQUs7TUFHTCxDQUFLLENBQUM7SUFBQSxDQUNIO0VBQUMsQ0FDSCxDQUFDLGdCQUFHekIsSUFBQSxDQUFBSSxTQUFBLElBQUksQ0FBQztBQUVwQjtBQUVBLGVBQWVJLDRCQUE0QiIsImlnbm9yZUxpc3QiOltdfQ==
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare function Collapse({ isOpen, children }: any): React.JSX.Element;
3
+ export default Collapse;
@@ -0,0 +1,34 @@
1
+ 'use client';
2
+
3
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
4
+ 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."); }
5
+ 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; } }
6
+ 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; }
7
+ 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; } }
8
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
9
+ import React from 'react';
10
+ import { jsx as _jsx } from "react/jsx-runtime";
11
+ function Collapse(_ref) {
12
+ var isOpen = _ref.isOpen,
13
+ children = _ref.children;
14
+ var _React$useState = React.useState(isOpen ? 'auto' : '0'),
15
+ _React$useState2 = _slicedToArray(_React$useState, 2),
16
+ height = _React$useState2[0],
17
+ setHeight = _React$useState2[1];
18
+ var ref = React.useRef(null);
19
+ React.useEffect(function () {
20
+ setHeight(isOpen ? "".concat(ref.current.scrollHeight, "px") : '0');
21
+ }, [isOpen]);
22
+ return /*#__PURE__*/_jsx("div", {
23
+ className: "merchi-collapse ".concat(isOpen ? 'show' : ''),
24
+ ref: ref,
25
+ style: {
26
+ transition: 'height 0.35s ease',
27
+ overflow: 'hidden',
28
+ height: height
29
+ },
30
+ children: children
31
+ });
32
+ }
33
+ export default Collapse;
34
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc2xpY2VkVG9BcnJheSIsInIiLCJlIiwiX2FycmF5V2l0aEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheUxpbWl0IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlUmVzdCIsIlR5cGVFcnJvciIsImEiLCJfYXJyYXlMaWtlVG9BcnJheSIsInQiLCJ0b1N0cmluZyIsImNhbGwiLCJzbGljZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsIkFycmF5IiwiZnJvbSIsInRlc3QiLCJsZW5ndGgiLCJuIiwibCIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiaSIsInUiLCJmIiwibyIsIm5leHQiLCJPYmplY3QiLCJkb25lIiwicHVzaCIsInZhbHVlIiwiaXNBcnJheSIsIlJlYWN0IiwianN4IiwiX2pzeCIsIkNvbGxhcHNlIiwiX3JlZiIsImlzT3BlbiIsImNoaWxkcmVuIiwiX1JlYWN0JHVzZVN0YXRlIiwidXNlU3RhdGUiLCJfUmVhY3QkdXNlU3RhdGUyIiwiaGVpZ2h0Iiwic2V0SGVpZ2h0IiwicmVmIiwidXNlUmVmIiwidXNlRWZmZWN0IiwiY29uY2F0IiwiY3VycmVudCIsInNjcm9sbEhlaWdodCIsImNsYXNzTmFtZSIsInN0eWxlIiwidHJhbnNpdGlvbiIsIm92ZXJmbG93Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvQ29sbGFwc2UudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50JztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmZ1bmN0aW9uIENvbGxhcHNlKHsgaXNPcGVuLCBjaGlsZHJlbiB9OiBhbnkpIHtcbiAgY29uc3QgW2hlaWdodCwgc2V0SGVpZ2h0XSA9IFJlYWN0LnVzZVN0YXRlKGlzT3BlbiA/ICdhdXRvJyA6ICcwJyk7XG4gIGNvbnN0IHJlZiA9IFJlYWN0LnVzZVJlZihudWxsKTtcblxuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgIHNldEhlaWdodChpc09wZW4gPyBgJHsocmVmIGFzIGFueSkuY3VycmVudC5zY3JvbGxIZWlnaHR9cHhgIDogJzAnKTtcbiAgfSwgW2lzT3Blbl0pO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY2xhc3NOYW1lPXtgbWVyY2hpLWNvbGxhcHNlICR7aXNPcGVuID8gJ3Nob3cnIDogJyd9YH1cbiAgICAgIHJlZj17cmVmfVxuICAgICAgc3R5bGU9e3sgdHJhbnNpdGlvbjogJ2hlaWdodCAwLjM1cyBlYXNlJywgb3ZlcmZsb3c6ICdoaWRkZW4nLCBoZWlnaHQgfX1cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9kaXY+XG4gICk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IENvbGxhcHNlO1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxZQUFZOztBQUFDLFNBQUFBLGVBQUFDLENBQUEsRUFBQUMsQ0FBQSxXQUFBQyxlQUFBLENBQUFGLENBQUEsS0FBQUcscUJBQUEsQ0FBQUgsQ0FBQSxFQUFBQyxDQUFBLEtBQUFHLDJCQUFBLENBQUFKLENBQUEsRUFBQUMsQ0FBQSxLQUFBSSxnQkFBQTtBQUFBLFNBQUFBLGlCQUFBLGNBQUFDLFNBQUE7QUFBQSxTQUFBRiw0QkFBQUosQ0FBQSxFQUFBTyxDQUFBLFFBQUFQLENBQUEsMkJBQUFBLENBQUEsU0FBQVEsaUJBQUEsQ0FBQVIsQ0FBQSxFQUFBTyxDQUFBLE9BQUFFLENBQUEsTUFBQUMsUUFBQSxDQUFBQyxJQUFBLENBQUFYLENBQUEsRUFBQVksS0FBQSw2QkFBQUgsQ0FBQSxJQUFBVCxDQUFBLENBQUFhLFdBQUEsS0FBQUosQ0FBQSxHQUFBVCxDQUFBLENBQUFhLFdBQUEsQ0FBQUMsSUFBQSxhQUFBTCxDQUFBLGNBQUFBLENBQUEsR0FBQU0sS0FBQSxDQUFBQyxJQUFBLENBQUFoQixDQUFBLG9CQUFBUyxDQUFBLCtDQUFBUSxJQUFBLENBQUFSLENBQUEsSUFBQUQsaUJBQUEsQ0FBQVIsQ0FBQSxFQUFBTyxDQUFBO0FBQUEsU0FBQUMsa0JBQUFSLENBQUEsRUFBQU8sQ0FBQSxhQUFBQSxD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