@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.
- package/README.md +272 -0
- package/lib/actions/jobs.d.ts +3 -0
- package/lib/actions/jobs.js +80 -0
- package/lib/actions/leads.d.ts +7 -0
- package/lib/actions/leads.js +67 -0
- package/lib/components/AlertVariationSellerEditable.d.ts +6 -0
- package/lib/components/AlertVariationSellerEditable.js +46 -0
- package/lib/components/Collapse.d.ts +3 -0
- package/lib/components/Collapse.js +34 -0
- package/lib/components/DateCountdown.d.ts +44 -0
- package/lib/components/DateCountdown.js +188 -0
- package/lib/components/DropzoneInput.d.ts +10 -0
- package/lib/components/DropzoneInput.js +169 -0
- package/lib/components/DynamicVariationInput.d.ts +9 -0
- package/lib/components/DynamicVariationInput.js +71 -0
- package/lib/components/FormLead.d.ts +10 -0
- package/lib/components/FormLead.js +215 -0
- package/lib/components/GroupInventory.d.ts +6 -0
- package/lib/components/GroupInventory.js +16 -0
- package/lib/components/InputGroupQuantity.d.ts +8 -0
- package/lib/components/InputGroupQuantity.js +117 -0
- package/lib/components/InputHiddenStatic.d.ts +8 -0
- package/lib/components/InputHiddenStatic.js +24 -0
- package/lib/components/InputProductQuantity.d.ts +7 -0
- package/lib/components/InputProductQuantity.js +102 -0
- package/lib/components/InventoryStatus.d.ts +7 -0
- package/lib/components/InventoryStatus.js +67 -0
- package/lib/components/MerchiProductForm.d.ts +62 -0
- package/lib/components/MerchiProductForm.js +51 -0
- package/lib/components/PriceMatrix.d.ts +27 -0
- package/lib/components/PriceMatrix.js +106 -0
- package/lib/components/ProductButtonsSubmit.d.ts +3 -0
- package/lib/components/ProductButtonsSubmit.js +52 -0
- package/lib/components/ProductFeatureDeadline.d.ts +3 -0
- package/lib/components/ProductFeatureDeadline.js +25 -0
- package/lib/components/ProductGroupBuyStatus.d.ts +3 -0
- package/lib/components/ProductGroupBuyStatus.js +47 -0
- package/lib/components/ProductPriceMatrix.d.ts +3 -0
- package/lib/components/ProductPriceMatrix.js +51 -0
- package/lib/components/ProductTitle.d.ts +3 -0
- package/lib/components/ProductTitle.js +36 -0
- package/lib/components/ProductTotalCost.d.ts +3 -0
- package/lib/components/ProductTotalCost.js +74 -0
- package/lib/components/ProductUnitPrice.d.ts +7 -0
- package/lib/components/ProductUnitPrice.js +51 -0
- package/lib/components/TooltipElement.d.ts +9 -0
- package/lib/components/TooltipElement.js +35 -0
- package/lib/components/VariationAreaInput.d.ts +8 -0
- package/lib/components/VariationAreaInput.js +219 -0
- package/lib/components/VariationCheckBoxOrRadioOption.d.ts +10 -0
- package/lib/components/VariationCheckBoxOrRadioOption.js +82 -0
- package/lib/components/VariationCheckboxRadio.d.ts +17 -0
- package/lib/components/VariationCheckboxRadio.js +57 -0
- package/lib/components/VariationColourExtractInput.d.ts +8 -0
- package/lib/components/VariationColourExtractInput.js +395 -0
- package/lib/components/VariationError.d.ts +7 -0
- package/lib/components/VariationError.js +52 -0
- package/lib/components/VariationFieldInputInstructions.d.ts +10 -0
- package/lib/components/VariationFieldInputInstructions.js +50 -0
- package/lib/components/VariationFieldInstructions.d.ts +3 -0
- package/lib/components/VariationFieldInstructions.js +22 -0
- package/lib/components/VariationFieldNameAndCostInputs.d.ts +7 -0
- package/lib/components/VariationFieldNameAndCostInputs.js +34 -0
- package/lib/components/VariationFieldOptionDefaultInputs.d.ts +7 -0
- package/lib/components/VariationFieldOptionDefaultInputs.js +48 -0
- package/lib/components/VariationFieldStaticValues.d.ts +8 -0
- package/lib/components/VariationFieldStaticValues.js +57 -0
- package/lib/components/VariationFileInput.d.ts +8 -0
- package/lib/components/VariationFileInput.js +229 -0
- package/lib/components/VariationInput.d.ts +11 -0
- package/lib/components/VariationInput.js +97 -0
- package/lib/components/VariationLabel.d.ts +11 -0
- package/lib/components/VariationLabel.js +85 -0
- package/lib/components/VariationOptionColour.d.ts +8 -0
- package/lib/components/VariationOptionColour.js +50 -0
- package/lib/components/VariationOptionImage.d.ts +8 -0
- package/lib/components/VariationOptionImage.js +52 -0
- package/lib/components/VariationSelect.d.ts +8 -0
- package/lib/components/VariationSelect.js +66 -0
- package/lib/components/VariationSelectElements.d.ts +16 -0
- package/lib/components/VariationSelectElements.js +141 -0
- package/lib/components/VariationTurnaroundTime.d.ts +9 -0
- package/lib/components/VariationTurnaroundTime.js +156 -0
- package/lib/components/Variations.d.ts +9 -0
- package/lib/components/Variations.js +109 -0
- package/lib/components/VariationsGroups.d.ts +8 -0
- package/lib/components/VariationsGroups.js +79 -0
- package/lib/components/buttons/ButtonAddGroup.d.ts +7 -0
- package/lib/components/buttons/ButtonAddGroup.js +38 -0
- package/lib/components/buttons/ButtonProductSubmit.d.ts +7 -0
- package/lib/components/buttons/ButtonProductSubmit.js +33 -0
- package/lib/components/buttons/ButtonRemoveGroup.d.ts +8 -0
- package/lib/components/buttons/ButtonRemoveGroup.js +25 -0
- package/lib/components/buttons/index.d.ts +4 -0
- package/lib/components/buttons/index.js +5 -0
- package/lib/components/cost.d.ts +11 -0
- package/lib/components/cost.js +44 -0
- package/lib/components/currency.d.ts +16 -0
- package/lib/components/currency.js +184 -0
- package/lib/components/drafts/DraftApprovePanel.d.ts +6 -0
- package/lib/components/drafts/DraftApprovePanel.js +315 -0
- package/lib/components/drafts/DraftCanvas.d.ts +13 -0
- package/lib/components/drafts/DraftCanvas.js +496 -0
- package/lib/components/drafts/DraftDesignerSheet.d.ts +9 -0
- package/lib/components/drafts/DraftDesignerSheet.js +685 -0
- package/lib/components/drafts/ProductDraftsHost.d.ts +3 -0
- package/lib/components/drafts/ProductDraftsHost.js +207 -0
- package/lib/components/drafts/useHtmlImage.d.ts +1 -0
- package/lib/components/drafts/useHtmlImage.js +45 -0
- package/lib/components/icons/IconChecked.d.ts +3 -0
- package/lib/components/icons/IconChecked.js +10 -0
- package/lib/components/icons/IconCheckedOrNoStock.d.ts +7 -0
- package/lib/components/icons/IconCheckedOrNoStock.js +13 -0
- package/lib/components/icons/IconCountryFlag.d.ts +8 -0
- package/lib/components/icons/IconCountryFlag.js +27 -0
- package/lib/components/icons/IconFile.d.ts +7 -0
- package/lib/components/icons/IconFile.js +41 -0
- package/lib/components/icons/IconNoStock.d.ts +3 -0
- package/lib/components/icons/IconNoStock.js +12 -0
- package/lib/components/icons/index.d.ts +5 -0
- package/lib/components/icons/index.js +6 -0
- package/lib/components/quoteAfterFieldChange.d.ts +7 -0
- package/lib/components/quoteAfterFieldChange.js +11 -0
- package/lib/components/quoteAfterFieldChange.test.js +58 -0
- package/lib/components/utils.d.ts +26 -0
- package/lib/components/utils.js +500 -0
- package/lib/context/MerchiProductFormProvider.d.ts +177 -0
- package/lib/context/MerchiProductFormProvider.js +1020 -0
- package/lib/images/product-not-found.png +0 -0
- package/lib/index.d.ts +42 -0
- package/lib/index.js +41 -0
- package/lib/styles/globals.css +1590 -0
- package/lib/styles/globals.css.map +1 -0
- package/lib/styles/globals.scss +1698 -0
- package/lib/utils/area.d.ts +77 -0
- package/lib/utils/area.js +298 -0
- package/lib/utils/cleanFormVariationJson.d.ts +5 -0
- package/lib/utils/cleanFormVariationJson.js +39 -0
- package/lib/utils/cleanFormVariationJson.test.js +54 -0
- package/lib/utils/countries.d.ts +7 -0
- package/lib/utils/countries.js +290 -0
- package/lib/utils/currency.d.ts +2 -0
- package/lib/utils/currency.js +188 -0
- package/lib/utils/draftExport.d.ts +21 -0
- package/lib/utils/draftExport.js +481 -0
- package/lib/utils/draftExport.test.js +78 -0
- package/lib/utils/draftFonts.d.ts +55 -0
- package/lib/utils/draftFonts.js +68 -0
- package/lib/utils/draftStorage.d.ts +25 -0
- package/lib/utils/draftStorage.js +148 -0
- package/lib/utils/draftStorage.test.js +125 -0
- package/lib/utils/draftTemplates.d.ts +87 -0
- package/lib/utils/draftTemplates.js +579 -0
- package/lib/utils/draftTemplates.test.js +476 -0
- package/lib/utils/formErrors.d.ts +2 -0
- package/lib/utils/formErrors.js +29 -0
- package/lib/utils/index.d.ts +3 -0
- package/lib/utils/index.js +4 -0
- package/lib/utils/priceMatrix.d.ts +57 -0
- package/lib/utils/priceMatrix.js +82 -0
- package/lib/utils/priceMatrix.test.js +200 -0
- package/lib/utils/products.d.ts +40 -0
- package/lib/utils/products.js +68 -0
- package/lib/utils/quantity.d.ts +7 -0
- package/lib/utils/quantity.js +19 -0
- package/lib/utils/quantity.test.js +42 -0
- package/lib/utils/reconcileVariations.d.ts +25 -0
- package/lib/utils/reconcileVariations.js +246 -0
- package/lib/utils/reconcileVariations.test.js +239 -0
- package/lib/utils/selectedVariationCosts.d.ts +6 -0
- package/lib/utils/selectedVariationCosts.js +59 -0
- package/lib/utils/selectedVariationCosts.test.js +66 -0
- package/lib/utils/selections.d.ts +23 -0
- package/lib/utils/selections.js +76 -0
- package/lib/utils/selections.test.js +159 -0
- package/lib/utils/singleOptionVariation.d.ts +2 -0
- package/lib/utils/singleOptionVariation.js +22 -0
- package/lib/utils/singleOptionVariation.test.js +59 -0
- package/lib/utils/supportedNumbers.d.ts +1 -0
- package/lib/utils/supportedNumbers.js +27 -0
- package/lib/utils/types.d.ts +114 -0
- package/lib/utils/types.js +50 -0
- package/lib/utils/url.d.ts +3 -0
- package/lib/utils/url.js +65 -0
- package/lib/utils/variationFields.d.ts +5 -0
- package/lib/utils/variationFields.js +116 -0
- package/lib/utils/variationFields.test.js +108 -0
- package/package.json +93 -0
package/README.md
ADDED
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
# Merchi Product Form
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/@merchi/product-form)
|
|
4
|
+
[](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,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+IHtcbiAgICBjb25zdCBjbGVhbmVkT2JqID0gcmVtb3ZlTnVsbFZhbHVlcyhvYmopO1xuICAgIGlmIChjbGVhbmVkT2JqLnZhcmlhdGlvbnMpIHtcbiAgICAgIC8vIFJlY3Vyc2l2ZWx5IGNsZWFuIHZhcmlhdGlvbnMgaWYgaXQncyBhbiBvYmplY3RcbiAgICAgIGNsZWFuZWRPYmoudmFyaWF0aW9ucyA9IGNsZWFuZWRPYmoudmFyaWF0aW9ucy5tYXAoXG4gICAgICAgICh2YXJpYXRpb246IEFueU9iamVjdCkgPT4gcmVtb3ZlTnVsbFZhbHVlcyh2YXJpYXRpb24pXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4ge2lkOiB1bmRlZmluZWQsIC4uLmNsZWFuZWRPYmp9O1xuICB9KTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGZldGNoSm9iUXVvdGUoam9iSnNvbjogQW55T2JqZWN0LCBhcGlVcmw6IHN0cmluZykge1xuICBjb25zdCBtZXJjaGkgPSBuZXcgTWVyY2hpKFxuICAgIHVuZGVmaW5lZCwgICAgLy8gb3Igc2Vzc2lvblRva2VuXG4gICAgdW5kZWZpbmVkLCAgICAvLyBvciBjbGllbnRUb2tlbiAgXG4gICAgdW5kZWZpbmVkLCAgICAvLyBvciBpbnZvaWNlVG9rZW5cbiAgICB1bmRlZmluZWQsICAgICAgIC8vIG9yIHVuZGVmaW5lZFxuICAgIGFwaVVybCwgIC8vIGJhY2tlbmRVcmlcbiAgKTtcbiAgY29uc3QgbWVyY2hpSm9iID0gbmV3IG1lcmNoaS5Kb2IoKTtcbiAgY29uc3QgeyB2YXJpYXRpb25zID0gW10sIHZhcmlhdGlvbnNHcm91cHMgPSBbXSB9ID0gam9iSnNvbjtcbiAgXG4gIC8vIENsZWFuIHRoZSBpbnB1dCBkYXRhIGJ5IHJlbW92aW5nIG51bGxzXG4gIGNvbnN0IGNsZWFuZWRWYXJpYXRpb25zR3JvdXBzID0gcmVtb3ZlTnVsbFZhbHVlc0Zyb21BcnJheSh2YXJpYXRpb25zR3JvdXBzKTtcbiAgY29uc3QgY2xlYW5lZFZhcmlhdGlvbnMgPSByZW1vdmVOdWxsVmFsdWVzRnJvbUFycmF5KHZhcmlhdGlvbnMpO1xuICBjb25zdCBjbGVhbmVkSm9iID0gcmVtb3ZlTnVsbFZhbHVlcyhqb2JKc29uKTtcblxuICAvLyBQYXNzaW5nIGNsZWFuZWQgZGF0YSBpbnRvIG1lcmNoaUpvYiBvYmplY3RcbiAgbWVyY2hpSm9iLmZyb21Kc29uKFxuICAgIHtcbiAgICAgIC4uLmNsZWFuZWRKb2IsXG4gICAgICB2YXJpYXRpb25zOiBjbGVhbmVkVmFyaWF0aW9ucyxcbiAgICAgIHZhcmlhdGlvbnNHcm91cHM6IGNsZWFuZWRWYXJpYXRpb25zR3JvdXBzLFxuICAgIH0sXG4gICAgeyBtYWtlRGlydHk6IGZhbHNlLCBhcnJheVZhbHVlU3RyaWN0OiBmYWxzZSB9XG4gICk7XG5cbiAgcmV0dXJuIG1lcmNoaUpvYi5nZXRRdW90ZSgpO1xufVxuIl0sIm1hcHBpbmdzIjoiOzBCQUNBLHVLQUFBQSxDQUFBLEVBQUFDLENBQUEsRUFBQUMsQ0FBQSx3QkFBQUMsTUFBQSxHQUFBQSxNQUFBLE9BQUFDLENBQUEsR0FBQUYsQ0FBQSxDQUFBRyxRQUFBLGtCQUFBQyxDQUFBLEdBQUFKLENBQUEsQ0FBQUssV0FBQSw4QkFBQUMsRUFBQU4sQ0FBQSxFQUFBRSxDQUFBLEVBQUFFLENBQUEsRUFBQUUsQ0FBQSxRQUFBQyxDQUFBLEdBQUFMLENBQUEsSUFBQUEsQ0FBQSxDQUFBTSxTQUFBLFlBQUFDLFNBQUEsR0FBQVAsQ0FBQSxHQUFBTyxTQUFBLEVBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxNQUFBLENBQUFMLENBQUEsQ0FBQUMsU0FBQSxVQUFBSyxtQkFBQSxDQUFBSCxDQUFBLHVCQUFBVixDQUFBLEVBQUFFLENBQUEsRUFBQUUsQ0FBQSxRQUFBRSxDQUFBLEVBQUFDLENBQUEsRUFBQUcsQ0FBQSxFQUFBSSxDQUFBLE1BQUFDLENBQUEsR0FBQVgsQ0FBQSxRQUFBWSxDQUFBLE9BQUFDLENBQUEsS0FBQUYsQ0FBQSxLQUFBYixDQUFBLEtBQUFnQixDQUFBLEVBQUFwQixDQUFBLEVBQUFxQixDQUFBLEVBQUFDLENBQUEsRUFBQU4sQ0FBQSxFQUFBTSxDQUFBLENBQUFDLElBQUEsQ0FBQXZCLENBQUEsTUFBQXNCLENBQUEsV0FBQUEsRUFBQXJCLENBQUEsRUFBQUMsQ0FBQSxXQUFBTSxDQUFBLEdBQUFQLENBQUEsRUFBQVEsQ0FBQSxNQUFBRyxDQUFBLEdBQUFaLENBQUEsRUFBQW1CLENBQUEsQ0FBQWYsQ0FBQSxHQUFBRixDQUFBLEVBQUFtQixDQUFBLGdCQUFBQyxFQUFBcEIsQ0FBQSxFQUFBRSxDQUFBLFNBQUFLLENBQUEsR0FBQVAsQ0FBQSxFQUFBVSxDQUFBLEdBQUFSLENBQUEsRUFBQUgsQ0FBQSxPQUFBaUIsQ0FBQSxJQUFBRixDQUFBLEtBQUFWLENBQUEsSUFBQUwsQ0FBQSxHQUFBZ0IsQ0FBQSxDQUFBTyxNQUFBLEVBQUF2QixDQUFBLFVBQUFLLENBQUEsRUFBQUUsQ0FBQSxHQUFBUyxDQUFBLENBQUFoQixDQUFBLEdBQUFxQixDQUFBLEdBQUFILENBQUEsQ0FBQUYsQ0FBQSxFQUFBUSxDQUFBLEdBQUFqQixDQUFBLEtBQUFOLENBQUEsUUFBQUksQ0FBQSxHQUFBbUIsQ0FBQSxLQUFBckIsQ0FBQSxNQUFBUSxDQUFBLEdBQUFKLENBQUEsRUFBQUMsQ0FBQSxHQUFBRCxDQUFBLFlBQUFDLENBQUEsV0FBQUQsQ0FBQSxNQUFBQSxDQUFBLE1BQUFSLENBQUEsSUFBQVEsQ0FBQSxPQUFBYyxDQUFBLE1BQUFoQixDQUFBLEdBQUFKLENBQUEsUUFBQW9CLENBQUEsR0FBQWQsQ0FBQSxRQUFBQyxDQUFBLE1BQUFVLENBQUEsQ0FBQUMsQ0FBQSxHQUFBaEIsQ0FBQSxFQUFBZSxDQUFBLENBQUFmLENBQUEsR0FBQUksQ0FBQSxPQUFBYyxDQUFBLEdBQUFHLENBQUEsS0FBQW5CLENBQUEsR0FBQUosQ0FBQSxRQUFBTSxDQUFBLE1BQUFKLENBQUEsSUFBQUEsQ0FBQSxHQUFBcUIsQ0FBQSxNQUFBakIsQ0FBQSxNQUFBTixDQUFBLEVBQUFNLENBQUEsTUFBQUosQ0FBQSxFQUFBZSxDQUFBLENBQUFmLENBQUEsR0FBQXFCLENBQUEsRUFBQWhCLENBQUEsY0FBQUgsQ0FBQSxJQUFBSixDQUFBLGFBQUFtQixDQUFBLFFBQUFILENBQUEsT0FBQWQsQ0FBQSxxQkFBQUUsQ0FBQSxFQUFBVyxDQUFBLEVBQUFRLENBQUEsUUFBQVQsQ0FBQSxZQUFBVSxTQUFBLHVDQUFBUixDQUFBLFVBQUFELENBQUEsSUFBQUssQ0FBQSxDQUFBTCxDQUFBLEVBQUFRLENBQUEsR0FBQWhCLENBQUEsR0FBQVEsQ0FBQSxFQUFBTCxDQUFBLEdBQUFhLENBQUEsR0FBQXhCLENBQUEsR0FBQVEsQ0FBQSxPQUFBVCxDQUFBLEdBQUFZLENBQUEsTUFBQU0sQ0FBQSxLQUFBVixDQUFBLEtBQUFDLENBQUEsR0FBQUEsQ0FBQSxRQUFBQSxDQUFBLFNBQUFVLENBQUEsQ0FBQWYsQ0FBQSxRQUFBa0IsQ0FBQSxDQUFBYixDQUFBLEVBQUFHLENBQUEsS0FBQU8sQ0FBQSxDQUFBZixDQUFBLEdBQUFRLENBQUEsR0FBQU8sQ0FBQSxDQUFBQyxDQUFBLEdBQUFSLENBQUEsYUFBQUksQ0FBQSxNQUFBUixDQUFBLFFBQUFDLENBQUEsS0FBQUgsQ0FBQSxZQUFBTCxDQUFBLEdBQUFPLENBQUEsQ0FBQUYsQ0FBQSxXQUFBTCxDQUFBLEdBQUFBLENBQUEsQ0FBQTBCLElBQUEsQ0FBQW5CLENBQUEsRUFBQUksQ0FBQSxVQUFBYyxTQUFBLDJDQUFBekIsQ0FBQSxDQUFBMkIsSUFBQSxTQUFBM0IsQ0FBQSxFQUFBVyxDQUFBLEdBQUFYLENBQUEsQ0FBQTRCLEtBQUEsRUFBQXBCLENBQUEsU0FBQUEsQ0FBQSxvQkFBQUEsQ0FBQSxLQUFBUixDQUFBLEdBQUFPLENBQUEsZUFBQVAsQ0FBQSxDQUFBMEIsSUFBQSxDQUFBbkIsQ0FBQSxHQUFBQyxDQUFBLFNBQUFHLENBQUEsR0FBQWMsU0FBQSx1Q0FBQXBCLENBQUEsZ0JBQUFHLENBQUEsT0FBQUQsQ0FBQSxHQUFBUixDQUFBLGNBQUFDLENBQUEsSUFBQWlCLENBQUEsR0FBQUMsQ0FBQSxDQUFBZixDQUFBLFFBQUFRLENBQUEsR0FBQVYsQ0FBQSxDQUFBeUIsSUFBQSxDQUFBdkIsQ0FBQSxFQUFBZSxDQUFBLE9BQUFFLENBQUEsa0JBQUFwQixDQUFBLElBQUFPLENBQUEsR0FBQVIsQ0FBQSxFQUFBUyxDQUFBLE1BQUFHLENBQUEsR0FBQVgsQ0FBQSxjQUFBZSxDQUFBLG1CQUFBYSxLQUFBLEVBQUE1QixDQUFBLEVBQUEyQixJQUFBLEVBQUFWLENBQUEsU0FBQWhCLENBQUEsRUFBQUksQ0FBQSxFQUFBRSxDQUFBLFFBQUFJLENBQUEsUUFBQVMsQ0FBQSxnQkFBQVYsVUFBQSxjQUFBbUIsa0JBQUEsY0FBQUMsMkJBQUEsS0FBQTlCLENBQUEsR0FBQVksTUFBQSxDQUFBbUIsY0FBQSxNQUFBdkIsQ0FBQSxNQUFBTCxDQUFBLElBQUFILENBQUEsQ0FBQUEsQ0FBQSxJQUFBRyxDQUFBLFNBQUFXLG1CQUFBLENBQUFkLENBQUEsT0FBQUcsQ0FBQSxpQ0FBQUgsQ0FBQSxHQUFBVyxDQUFBLEdBQUFtQiwwQkFBQSxDQUFBckIsU0FBQSxHQUFBQyxTQUFBLENBQUFELFNBQUEsR0FBQUcsTUFBQSxDQUFBQyxNQUFBLENBQUFMLENBQUEsWUFBQU8sRUFBQWhCLENBQUEsV0FBQWEsTUFBQSxDQUFBb0IsY0FBQSxHQUFBcEIsTUFBQSxDQUFBb0IsY0FBQSxDQUFBakMsQ0FBQSxFQUFBK0IsMEJBQUEsS0FBQS9CLENBQUEsQ0FBQWtDLFNBQUEsR0FBQUgsMEJBQUEsRUFBQWhCLG1CQUFBLENBQUFmLENBQUEsRUFBQU0sQ0FBQSx5QkFBQU4sQ0FBQSxDQUFBVSxTQUFBLEdBQUFHLE1BQUEsQ0FBQUMsTUFBQSxDQUFBRixDQUFBLEdBQUFaLENBQUEsV0FBQThCLGlCQUFBLENBQUFwQixTQUFBLEdBQUFxQiwwQkFBQSxFQUFBaEIsbUJBQUEsQ0FBQUgsQ0FBQSxpQkFBQW1CLDBCQUFBLEdBQUFoQixtQkFBQSxDQUFBZ0IsMEJBQUEsaUJBQUFELGlCQUFBLEdBQUFBLGlCQUFBLENBQUFLLFdBQUEsd0JBQUFwQixtQkFBQSxDQUFBZ0IsMEJBQUEsRUFBQXpCLENBQUEsd0JBQUFTLG1CQUFBLENBQUFILENBQUEsR0FBQUcsbUJBQUEsQ0FBQUgsQ0FBQSxFQUFBTixDQUFBLGdCQUFBUyxtQkFBQSxDQUFBSCxDQUFBLEVBQUFSLENBQUEsaUNBQUFXLG1CQUFBLENBQUFILENBQUEsOERBQUF3QixZQUFBLFlBQUFBLGFBQUEsYUFBQUMsQ0FBQSxFQUFBN0IsQ0FBQSxFQUFBOEIsQ0FBQSxFQUFBdEIsQ0FBQTtBQUFBLFNBQUFELG9CQUFBZixDQUFBLEVBQUFFLENBQUEsRUFBQUUsQ0FBQSxFQUFBSCxDQUFBLFFBQUFPLENBQUEsR0FBQUssTUFBQSxDQUFBMEIsY0FBQSxRQUFBL0IsQ0FBQSx1QkFBQVIsQ0FBQSxJQUFBUSxDQUFBLFFBQUFPLG1CQUFBLFlBQUF5QixtQkFBQXhDLENBQUEsRUFBQUUsQ0FBQSxFQUFBRSxDQUFBLEVBQUFILENBQUEsYUFBQUssRUFBQUosQ0FBQSxFQUFBRSxDQUFBLElBQUFXLG1CQUFBLENBQUFmLENBQUEsRUFBQUUsQ0FBQSxZQUFBRixDQUFBLGdCQUFBeUMsT0FBQSxDQUFBdkMsQ0FBQSxFQUFBRSxDQUFBLEVBQUFKLENBQUEsU0FBQUUsQ0FBQSxHQUFBTSxDQUFBLEdBQUFBLENBQUEsQ0FBQVIsQ0FBQSxFQUFBRSxDQUFBLElBQUEyQixLQUFBLEVBQUF6QixDQUFBLEVBQUFzQyxVQUFBLEdBQUF6QyxDQUFBLEVBQUEwQyxZQUFBLEdBQUExQyxDQUFBLEVBQUEyQyxRQUFBLEdBQUEzQyxDQUFBLE1BQUFELENBQUEsQ0FBQUUsQ0FBQSxJQUFBRSxDQUFBLElBQUFFLENBQUEsYUFBQUEsQ0FBQSxjQUFBQSxDQUFBLG1CQUFBUyxtQkFBQSxDQUFBZixDQUFBLEVBQUFFLENBQUEsRUFBQUUsQ0FBQSxFQUFBSCxDQUFBO0FBQUEsU0FBQTRDLG1CQUFBekMsQ0FBQSxFQUFBSCxDQUFBLEVBQUFELENBQUEsRUFBQUUsQ0FBQSxFQUFBSSxDQUFBLEVBQUFlLENBQUEsRUFBQVosQ0FBQSxjQUFBRCxDQUFBLEdBQUFKLENBQUEsQ0FBQWlCLENBQUEsRUFBQVosQ0FBQSxHQUFBRyxDQUFBLEdBQUFKLENBQUEsQ0FBQXFCLEtBQUEsV0FBQXpCLENBQUEsZ0JBQUFKLENBQUEsQ0FBQUksQ0FBQSxLQUFBSSxDQUFBLENBQUFvQixJQUFBLEdBQUEzQixDQUFBLENBQUFXLENBQUEsSUFBQWtDLE9BQUEsQ0FBQUMsT0FBQSxDQUFBbkMsQ0FBQSxFQUFBb0MsSUFBQSxDQUFBOUMsQ0FBQSxFQUFBSSxDQUFBO0FBQUEsU0FBQTJDLGtCQUFBN0MsQ0FBQSw2QkFBQUgsQ0FBQSxTQUFBRCxDQUFBLEdBQUFrRCxTQUFBLGFBQUFKLE9BQUEsV0FBQTVDLENBQUEsRUFBQUksQ0FBQSxRQUFBZSxDQUFBLEdBQUFqQixDQUFBLENBQUErQyxLQUFBLENBQUFsRCxDQUFBLEVBQUFELENBQUEsWUFBQW9ELE1BQUFoRCxDQUFBLElBQUF5QyxrQkFBQSxDQUFBeEIsQ0FBQSxFQUFBbkIsQ0FBQSxFQUFBSSxDQUFBLEVBQUE4QyxLQUFBLEVBQUFDLE1BQUEsVUFBQWpELENBQUEsY0FBQWlELE9BQUFqRCxDQUFBLElBQUF5QyxrQkFBQSxDQUFBeEIsQ0FBQSxFQUFBbkIsQ0FBQSxFQUFBSSxDQUFBLEVBQUE4QyxLQUFBLEVBQUFDLE1BQUEsV0FBQWpELENBQUEsS0FBQWdELEtBQUE7QUFBQSxTQUFBRSxRQUFBdEQsQ0FBQSxFQUFBRSxDQUFBLFFBQUFELENBQUEsR0FBQVksTUFBQSxDQUFBMEMsSUFBQSxDQUFBdkQsQ0FBQSxPQUFBYSxNQUFBLENBQUEyQyxxQkFBQSxRQUFBbEQsQ0FBQSxHQUFBTyxNQUFBLENBQUEyQyxxQkFBQSxDQUFBeEQsQ0FBQSxHQUFBRSxDQUFBLEtBQUFJLENBQUEsR0FBQUEsQ0FBQSxDQUFBbUQsTUFBQSxXQUFBdkQsQ0FBQSxXQUFBVyxNQUFBLENBQUE2Qyx3QkFBQSxDQUFBMUQsQ0FBQSxFQUFBRSxDQUFBLEVBQUF3QyxVQUFBLE9BQUF6QyxDQUFBLENBQUEwRCxJQUFBLENBQUFSLEtBQUEsQ0FBQWxELENBQUEsRUFBQUssQ0FBQSxZQUFBTCxDQUFBO0FBQUEsU0FBQTJELGNBQUE1RCxDQUFBLGFBQUFFLENBQUEsTUFBQUEsQ0FBQSxHQUFBZ0QsU0FBQSxDQUFBMUIsTUFBQSxFQUFBdEIsQ0FBQSxVQUFBRCxDQUFBLFdBQUFpRCxTQUFBLENBQUFoRCxDQUFBLElBQUFnRCxTQUFBLENBQUFoRCxDQUFBLFFBQUFBLENBQUEsT0FBQW9ELE9BQUEsQ0FBQXpDLE1BQUEsQ0FBQVosQ0FBQSxPQUFBNEQsT0FBQSxXQUFBM0QsQ0FBQSxJQUFBNEQsZUFBQSxDQUFBOUQsQ0FBQSxFQUFBRSxDQUFBLEVBQUFELENBQUEsQ0FBQUMsQ0FBQSxTQUFBVyxNQUFBLENBQUFrRCx5QkFBQSxHQUFBbEQsTUFBQSxDQUFBbUQsZ0JBQUEsQ0FBQWhFLENBQUEsRUFBQWEsTUFBQSxDQUFBa0QseUJBQUEsQ0FBQTlELENBQUEsS0FBQXFELE9BQUEsQ0FBQXpDLE1BQUEsQ0FBQVosQ0FBQSxHQUFBNEQsT0FBQSxXQUFBM0QsQ0FBQSxJQUFBVyxNQUFBLENBQUEwQixjQUFBLENBQUF2QyxDQUFBLEVBQUFFLENBQUEsRUFBQVcsTUFBQSxDQUFBNkMsd0JBQUEsQ0FBQXpELENBQUEsRUFBQUMsQ0FBQSxpQkFBQUYsQ0FBQTtBQUFBLFNBQUE4RCxnQkFBQTlELENBQUEsRUFBQUUsQ0FBQSxFQUFBRCxDQUFBLFlBQUFDLENBQUEsR0FBQStELGNBQUEsQ0FBQS9ELENBQUEsTUFBQUYsQ0FBQSxHQUFBYSxNQUFBLENBQUEwQixjQUFBLENBQUF2QyxDQUFBLEVBQUFFLENBQUEsSUFBQTJCLEtBQUEsRUFBQTVCLENBQUEsRUFBQXlDLFVBQUEsTUFBQUMsWUFBQSxNQUFBQyxRQUFBLFVBQUE1QyxDQUFBLENBQUFFLENBQUEsSUFBQUQsQ0FBQSxFQUFBRCxDQUFBO0FBQUEsU0FBQWlFLGVBQUFoRSxDQUFBLFFBQUFPLENBQUEsR0FBQTBELFlBQUEsQ0FBQWpFLENBQUEsZ0NBQUFrRSxPQUFBLENBQUEzRCxDQUFBLElBQUFBLENBQUEsR0FBQUEsQ0FBQTtBQUFBLFNBQUEwRCxhQUFBakUsQ0FBQSxFQUFBQyxDQUFBLG9CQUFBaUUsT0FBQSxDQUFBbEUsQ0FBQSxNQUFBQSxDQUFBLFNBQUFBLENBQUEsTUFBQUQsQ0FBQSxHQUFBQyxDQUFBLENBQUFFLE1BQUEsQ0FBQWlFLFdBQUEsa0JBQUFwRSxDQUFBLFFBQUFRLENBQUEsR0FBQVIsQ0FBQSxDQUFBMkIsSUFBQSxDQUFBMUIsQ0FBQSxFQUFBQyxDQUFBLGdDQUFBaUUsT0FBQSxDQUFBM0QsQ0FBQSxVQUFBQSxDQUFBLFlBQUFrQixTQUFBLHlFQUFBeEIsQ0FBQSxHQUFBbUUsTUFBQSxHQUFBQyxNQUFBLEVBQUFyRSxDQUFBO0FBQUEsU0FBQXNFLGVBQUFyRSxDQUFBLEVBQUFGLENBQUEsV0FBQXdFLGVBQUEsQ0FBQXRFLENBQUEsS0FBQXVFLHFCQUFBLENBQUF2RSxDQUFBLEVBQUFGLENBQUEsS0FBQTBFLDJCQUFBLENBQUF4RSxDQUFBLEVBQUFGLENBQUEsS0FBQTJFLGdCQUFBO0FBQUEsU0FBQUEsaUJBQUEsY0FBQWpELFNBQUE7QUFBQSxTQUFBZ0QsNEJBQUF4RSxDQUFBLEVBQUFtQixDQUFBLFFBQUFuQixDQUFBLDJCQUFBQSxDQUFBLFNBQUEwRSxpQkFBQSxDQUFBMUUsQ0FBQSxFQUFBbUIsQ0FBQSxPQUFBcEIsQ0FBQSxNQUFBNEUsUUFBQSxDQUFBbEQsSUFBQSxDQUFBekIsQ0FBQSxFQUFBNEUsS0FBQSw2QkFBQTdFLENBQUEsSUFBQUMsQ0FBQSxDQUFBNkUsV0FBQSxLQUFBOUUsQ0FBQSxHQUFBQyxDQUFBLENBQUE2RSxXQUFBLENBQUFDLElBQUEsYUFBQS9FLENBQUEsY0FBQUEsQ0FBQSxHQUFBZ0YsS0FBQSxDQUFBQyxJQUFBLENBQUFoRixDQUFBLG9CQUFBRCxDQUFBLCtDQUFBa0YsSUFBQSxDQUFBbEYsQ0FBQSxJQUFBMkUsaUJBQUEsQ0FBQTFFLENBQUEsRUFBQW1CLENBQUE7QUFBQSxTQUFBdUQsa0JBQUExRSxDQUFBLEVBQUFtQixDQUFBLGFBQUFBLENBQUEsSUFBQUEsQ0FBQSxHQUFBbkIsQ0FBQSxDQUFBc0IsTUFBQSxNQUFBSCxDQUFBLEdBQUFuQixDQUFBLENBQUFzQixNQUFBLFlBQUF4QixDQUFBLE1BQUFJLENBQUEsR0FBQTZFLEtBQUEsQ0FBQTVELENBQUEsR0FBQXJCLENBQUEsR0FBQXFCLENBQUEsRUFBQXJCLENBQUEsSUFBQUksQ0FBQSxDQUFBSixDQUFBLElBQUFFLENBQUEsQ0FBQUYsQ0FBQSxVQUFBSSxDQUFBO0FBQUEsU0FBQXFFLHNCQUFBdkUsQ0FBQSxFQUFBdUIsQ0FBQSxRQUFBeEIsQ0FBQSxXQUFBQyxDQUFBLGdDQUFBQyxNQUFBLElBQUFELENBQUEsQ0FBQUMsTUFBQSxDQUFBRSxRQUFBLEtBQUFILENBQUEsNEJBQUFELENBQUEsUUFBQUQsQ0FBQSxFQUFBSSxDQUFBLEVBQUFJLENBQUEsRUFBQUksQ0FBQSxFQUFBUyxDQUFBLE9BQUFMLENBQUEsT0FBQVYsQ0FBQSxpQkFBQUUsQ0FBQSxJQUFBUCxDQUFBLEdBQUFBLENBQUEsQ0FBQTBCLElBQUEsQ0FBQXpCLENBQUEsR0FBQWtGLElBQUEsUUFBQTNELENBQUEsUUFBQVosTUFBQSxDQUFBWixDQUFBLE1BQUFBLENBQUEsVUFBQWUsQ0FBQSx1QkFBQUEsQ0FBQSxJQUFBaEIsQ0FBQSxHQUFBUSxDQUFBLENBQUFtQixJQUFBLENBQUExQixDQUFBLEdBQUEyQixJQUFBLE1BQUFQLENBQUEsQ0FBQXNDLElBQUEsQ0FBQTNELENBQUEsQ0FBQTZCLEtBQUEsR0FBQVIsQ0FBQSxDQUFBRyxNQUFBLEtBQUFDLENBQUEsR0FBQVQsQ0FBQSxpQkFBQWQsQ0FBQSxJQUFBSSxDQUFBLE9BQUFGLENBQUEsR0FBQUYsQ0FBQSx5QkFBQWMsQ0FBQSxZQUFBZixDQUFBLGVBQUFXLENBQUEsR0FBQVgsQ0FBQSxjQUFBWSxNQUFBLENBQUFELENBQUEsTUFBQUEsQ0FBQSwyQkFBQU4sQ0FBQSxRQUFBRixDQUFBLGFBQUFpQixDQUFBO0FBQUEsU0FBQW1ELGdCQUFBdEUsQ0FBQSxRQUFBK0UsS0FBQSxDQUFBSSxPQUFBLENBQUFuRixDQUFBLFVBQUFBLENBQUE7QUFEQSxTQUFTb0YsTUFBTSxRQUFRLGFBQWE7QUFJcEMsU0FBU0MsZ0JBQWdCQSxDQUFDQyxHQUFjLEVBQWE7RUFDbkQsSUFBTUMsU0FBUyxHQUFHNUUsTUFBTSxDQUFDNkUsV0FBVyxDQUNsQzdFLE1BQU0sQ0FBQzhFLE9BQU8sQ0FBQ0gsR0FBRyxDQUFDLENBQUMvQixNQUFNLENBQUMsVUFBQW1DLElBQUE7SUFBQSxJQUFBQyxLQUFBLEdBQUF0QixjQUFBLENBQUFxQixJQUFBO01BQUVFLENBQUMsR0FBQUQsS0FBQTtNQUFFaEUsS0FBSyxHQUFBZ0UsS0FBQTtJQUFBLE9BQU1oRSxLQUFLLEtBQUssSUFBSTtFQUFBLEVBQzNELENBQUM7RUFDRCxPQUFBK0IsYUFBQSxDQUFBQSxhQUFBLEtBQVc2QixTQUFTO0lBQUVNLEVBQUUsRUFBRUM7RUFBUztBQUNyQztBQUVBLFNBQVNDLHlCQUF5QkEsQ0FBQ0MsSUFBaUIsRUFBZTtFQUNqRSxPQUFPQSxJQUFJLENBQUNDLEdBQUcsQ0FBQyxVQUFDWCxHQUFHLEVBQUs7SUFDdkIsSUFBTVksVUFBVSxHQUFHYixnQkFBZ0IsQ0FBQ0MsR0FBRyxDQUFDO0lBQ3hDLElBQUlZLFVBQVUsQ0FBQ0MsVUFBVSxFQUFFO01BQ3pCO01BQ0FELFVBQVUsQ0FBQ0MsVUFBVSxHQUFHRCxVQUFVLENBQUNDLFVBQVUsQ0FBQ0YsR0FBRyxDQUMvQyxVQUFDVixTQUFvQjtRQUFBLE9BQUtGLGdCQUFnQixDQUFDRSxTQUFTLENBQUM7TUFBQSxDQUN2RCxDQUFDO0lBQ0g7SUFDQSxPQUFBN0IsYUFBQTtNQUFRbUMsRUFBRSxFQUFFQztJQUFTLEdBQUtJLFVBQVU7RUFDdEMsQ0FBQyxDQUFDO0FBQ0o7QUFFQSxnQkFBc0JFLGFBQWFBLENBQUFDLEVBQUEsRUFBQUMsR0FBQTtFQUFBLE9BQUFDLGNBQUEsQ0FBQXRELEtBQUEsT0FBQUQsU0FBQTtBQUFBO0FBMkJsQyxTQUFBdUQsZUFBQTtFQUFBQSxjQUFBLEdBQUF4RCxpQkFBQSxjQUFBYixZQUFBLEdBQUFFLENBQUEsQ0EzQk0sU0FBQW9FLFFBQTZCQyxPQUFrQixFQUFFQyxNQUFjO0lBQUEsSUFBQUMsTUFBQSxFQUFBQyxTQUFBLEVBQUFDLG1CQUFBLEVBQUFWLFVBQUEsRUFBQVcscUJBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsdUJBQUEsRUFBQUMsaUJBQUEsRUFBQUMsVUFBQTtJQUFBLE9BQUFoRixZQUFBLEdBQUFDLENBQUEsV0FBQWdGLFFBQUE7TUFBQSxrQkFBQUEsUUFBQSxDQUFBakgsQ0FBQTtRQUFBO1VBQzlEeUcsTUFBTSxHQUFHLElBQUl2QixNQUFNLENBQ3ZCVSxTQUFTO1VBQUs7VUFDZEEsU0FBUztVQUFLO1VBQ2RBLFNBQVM7VUFBSztVQUNkQSxTQUFTO1VBQVE7VUFDakJZLE1BQU0sQ0FBRztVQUNYLENBQUM7VUFDS0UsU0FBUyxHQUFHLElBQUlELE1BQU0sQ0FBQ1MsR0FBRyxDQUFDLENBQUM7VUFBQVAsbUJBQUEsR0FDaUJKLE9BQU8sQ0FBbEROLFVBQVUsRUFBVkEsVUFBVSxHQUFBVSxtQkFBQSxjQUFHLEVBQUUsR0FBQUEsbUJBQUEsRUFBQUMscUJBQUEsR0FBNEJMLE9BQU8sQ0FBakNNLGdCQUFnQixFQUFoQkEsZ0JBQWdCLEdBQUFELHFCQUFBLGNBQUcsRUFBRSxHQUFBQSxxQkFBQSxFQUU5QztVQUNNRSx1QkFBdUIsR0FBR2pCLHlCQUF5QixDQUFDZ0IsZ0JBQWdCLENBQUM7VUFDckVFLGlCQUFpQixHQUFHbEIseUJBQXlCLENBQUNJLFVBQVUsQ0FBQztVQUN6RGUsVUFBVSxHQUFHN0IsZ0JBQWdCLENBQUNvQixPQUFPLENBQUMsRUFFNUM7VUFDQUcsU0FBUyxDQUFDUyxRQUFRLENBQUEzRCxhQUFBLENBQUFBLGFBQUEsS0FFWHdELFVBQVU7WUFDYmYsVUFBVSxFQUFFYyxpQkFBaUI7WUFDN0JGLGdCQUFnQixFQUFFQztVQUF1QixJQUUzQztZQUFFTSxTQUFTLEVBQUUsS0FBSztZQUFFQyxnQkFBZ0IsRUFBRTtVQUFNLENBQzlDLENBQUM7VUFBQyxPQUFBSixRQUFBLENBQUFoRyxDQUFBLElBRUt5RixTQUFTLENBQUNZLFFBQVEsQ0FBQyxDQUFDO01BQUE7SUFBQSxHQUFBaEIsT0FBQTtFQUFBLENBQzVCO0VBQUEsT0FBQUQsY0FBQSxDQUFBdEQsS0FBQSxPQUFBRCxTQUFBO0FBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -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,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,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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
|