@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
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
export var ProductType = /*#__PURE__*/function (ProductType) {
|
|
2
|
+
ProductType[ProductType["SUPPLIER_MOD"] = 0] = "SUPPLIER_MOD";
|
|
3
|
+
ProductType[ProductType["SUPPLIER"] = 1] = "SUPPLIER";
|
|
4
|
+
ProductType[ProductType["SELLER"] = 2] = "SELLER";
|
|
5
|
+
ProductType[ProductType["SELLER_MOD"] = 3] = "SELLER_MOD";
|
|
6
|
+
ProductType[ProductType["CLONED_SUPPLIER_MOD"] = 4] = "CLONED_SUPPLIER_MOD";
|
|
7
|
+
ProductType[ProductType["CLONED_SELLER_MOD"] = 5] = "CLONED_SELLER_MOD";
|
|
8
|
+
ProductType[ProductType["PRODUCTION_MOD"] = 6] = "PRODUCTION_MOD";
|
|
9
|
+
ProductType[ProductType["CLONED_SUPPLIER"] = 7] = "CLONED_SUPPLIER";
|
|
10
|
+
ProductType[ProductType["INVENTORY_SELLER"] = 8] = "INVENTORY_SELLER";
|
|
11
|
+
ProductType[ProductType["INVENTORY_SUPPLIER"] = 9] = "INVENTORY_SUPPLIER";
|
|
12
|
+
ProductType[ProductType["SELLER_GROUP_BUY"] = 10] = "SELLER_GROUP_BUY";
|
|
13
|
+
ProductType[ProductType["SUPPLIER_RESELL_MOD"] = 11] = "SUPPLIER_RESELL_MOD";
|
|
14
|
+
ProductType[ProductType["SUPPLIER_RESELL"] = 12] = "SUPPLIER_RESELL";
|
|
15
|
+
ProductType[ProductType["SUPPLIER_GROUP_BUY_INVENTORY"] = 13] = "SUPPLIER_GROUP_BUY_INVENTORY";
|
|
16
|
+
ProductType[ProductType["CLONED_INVENTORY_SELLER"] = 14] = "CLONED_INVENTORY_SELLER";
|
|
17
|
+
ProductType[ProductType["CLONED_SELLER_GROUP_BUY_INVENTORY"] = 15] = "CLONED_SELLER_GROUP_BUY_INVENTORY";
|
|
18
|
+
ProductType[ProductType["CLONED_SUPPLIER_RESELL_MOD"] = 16] = "CLONED_SUPPLIER_RESELL_MOD";
|
|
19
|
+
ProductType[ProductType["SUPPLIER_TO_SUPPLIER_RESELL_MOD"] = 17] = "SUPPLIER_TO_SUPPLIER_RESELL_MOD";
|
|
20
|
+
ProductType[ProductType["CLONED_SUPPLIER_RESELL"] = 18] = "CLONED_SUPPLIER_RESELL";
|
|
21
|
+
ProductType[ProductType["SUPPLY_DOMAIN_REFERENCE"] = 19] = "SUPPLY_DOMAIN_REFERENCE";
|
|
22
|
+
ProductType[ProductType["SELLER_FILE_DOWNLOAD"] = 20] = "SELLER_FILE_DOWNLOAD";
|
|
23
|
+
ProductType[ProductType["SUPPLIER_MOD_SUPPLY_CHAIN_REQUEST"] = 21] = "SUPPLIER_MOD_SUPPLY_CHAIN_REQUEST";
|
|
24
|
+
ProductType[ProductType["SUPPLIER_SUPPLY_CHAIN_REQUEST"] = 22] = "SUPPLIER_SUPPLY_CHAIN_REQUEST";
|
|
25
|
+
ProductType[ProductType["LEAD_FORM"] = 23] = "LEAD_FORM";
|
|
26
|
+
return ProductType;
|
|
27
|
+
}({});
|
|
28
|
+
export var FieldType = /*#__PURE__*/function (FieldType) {
|
|
29
|
+
FieldType[FieldType["TEXT_INPUT"] = 1] = "TEXT_INPUT";
|
|
30
|
+
FieldType[FieldType["SELECT"] = 2] = "SELECT";
|
|
31
|
+
FieldType[FieldType["FILE_UPLOAD"] = 3] = "FILE_UPLOAD";
|
|
32
|
+
FieldType[FieldType["TEXT_AREA"] = 4] = "TEXT_AREA";
|
|
33
|
+
FieldType[FieldType["NUMBER_INPUT"] = 5] = "NUMBER_INPUT";
|
|
34
|
+
FieldType[FieldType["CHECKBOX"] = 6] = "CHECKBOX";
|
|
35
|
+
FieldType[FieldType["RADIO"] = 7] = "RADIO";
|
|
36
|
+
FieldType[FieldType["FIELD_INSTRUCTIONS"] = 8] = "FIELD_INSTRUCTIONS";
|
|
37
|
+
FieldType[FieldType["IMAGE_SELECT"] = 9] = "IMAGE_SELECT";
|
|
38
|
+
FieldType[FieldType["COLOUR_PICKER"] = 10] = "COLOUR_PICKER";
|
|
39
|
+
FieldType[FieldType["COLOUR_SELECT"] = 11] = "COLOUR_SELECT";
|
|
40
|
+
FieldType[FieldType["TURNAROUND_TIME"] = 12] = "TURNAROUND_TIME";
|
|
41
|
+
FieldType[FieldType["COLOUR_EXTRACT"] = 13] = "COLOUR_EXTRACT";
|
|
42
|
+
FieldType[FieldType["AREA"] = 14] = "AREA";
|
|
43
|
+
return FieldType;
|
|
44
|
+
}({});
|
|
45
|
+
export var BLANK_TEMPLATE_ID = 0;
|
|
46
|
+
export var DEFAULT_ARTBOARD = {
|
|
47
|
+
width: 1000,
|
|
48
|
+
height: 1000
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJQcm9kdWN0VHlwZSIsIkZpZWxkVHlwZSIsIkJMQU5LX1RFTVBMQVRFX0lEIiwiREVGQVVMVF9BUlRCT0FSRCIsIndpZHRoIiwiaGVpZ2h0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL3R5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFByb2R1Y3RUeXBlIHtcbiAgU1VQUExJRVJfTU9EID0gMCxcbiAgU1VQUExJRVIgPSAxLFxuICBTRUxMRVIgPSAyLFxuICBTRUxMRVJfTU9EID0gMyxcbiAgQ0xPTkVEX1NVUFBMSUVSX01PRCA9IDQsXG4gIENMT05FRF9TRUxMRVJfTU9EID0gNSxcbiAgUFJPRFVDVElPTl9NT0QgPSA2LFxuICBDTE9ORURfU1VQUExJRVIgPSA3LFxuICBJTlZFTlRPUllfU0VMTEVSID0gOCxcbiAgSU5WRU5UT1JZX1NVUFBMSUVSID0gOSxcbiAgU0VMTEVSX0dST1VQX0JVWSA9IDEwLFxuICBTVVBQTElFUl9SRVNFTExfTU9EID0gMTEsXG4gIFNVUFBMSUVSX1JFU0VMTCA9IDEyLFxuICBTVVBQTElFUl9HUk9VUF9CVVlfSU5WRU5UT1JZID0gMTMsXG4gIENMT05FRF9JTlZFTlRPUllfU0VMTEVSID0gMTQsXG4gIENMT05FRF9TRUxMRVJfR1JPVVBfQlVZX0lOVkVOVE9SWSA9IDE1LFxuICBDTE9ORURfU1VQUExJRVJfUkVTRUxMX01PRCA9IDE2LFxuICBTVVBQTElFUl9UT19TVVBQTElFUl9SRVNFTExfTU9EID0gMTcsXG4gIENMT05FRF9TVVBQTElFUl9SRVNFTEwgPSAxOCxcbiAgU1VQUExZX0RPTUFJTl9SRUZFUkVOQ0UgPSAxOSxcbiAgU0VMTEVSX0ZJTEVfRE9XTkxPQUQgPSAyMCxcbiAgU1VQUExJRVJfTU9EX1NVUFBMWV9DSEFJTl9SRVFVRVNUID0gMjEsXG4gIFNVUFBMSUVSX1NVUFBMWV9DSEFJTl9SRVFVRVNUID0gMjIsXG4gIExFQURfRk9STSA9IDIzLFxufVxuXG5leHBvcnQgZW51bSBGaWVsZFR5cGUge1xuICBURVhUX0lOUFVUID0gMSxcbiAgU0VMRUNUID0gMixcbiAgRklMRV9VUExPQUQgPSAzLFxuICBURVhUX0FSRUEgPSA0LFxuICBOVU1CRVJfSU5QVVQgPSA1LFxuICBDSEVDS0JPWCA9IDYsXG4gIFJBRElPID0gNyxcbiAgRklFTERfSU5TVFJVQ1RJT05TID0gOCxcbiAgSU1BR0VfU0VMRUNUID0gOSxcbiAgQ09MT1VSX1BJQ0tFUiA9IDEwLFxuICBDT0xPVVJfU0VMRUNUID0gMTEsXG4gIFRVUk5BUk9VTkRfVElNRSA9IDEyLFxuICBDT0xPVVJfRVhUUkFDVCA9IDEzLFxuICBBUkVBID0gMTQsXG59XG5cbmV4cG9ydCB0eXBlIERyYWZ0Q2FudmFzT2JqZWN0VHlwZSA9ICd0ZXh0JyB8ICdpbWFnZScgfCAncmVjdCc7XG5cbmV4cG9ydCB0eXBlIERyYWZ0QXJ0d29ya1JvbGUgPVxuICB8ICdhdXRvJ1xuICB8ICd0ZXh0J1xuICB8ICdpbWFnZSdcbiAgfCAndGV4dF9maWxsJ1xuICB8ICdib2R5X2NvbG91cl9maWxsJztcblxuZXhwb3J0IGludGVyZmFjZSBEcmFmdEZpZWxkQmluZGluZyB7XG4gIGZpZWxkSWQ6IG51bWJlcjtcbiAgcm9sZT86IERyYWZ0QXJ0d29ya1JvbGU7XG4gIHRhcmdldEZpZWxkSWQ/OiBudW1iZXI7XG4gIGxvY2tBc3BlY3RSYXRpbz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRHJhZnRDYW52YXNPYmplY3Qge1xuICBpZDogc3RyaW5nO1xuICB0eXBlOiBEcmFmdENhbnZhc09iamVjdFR5cGU7XG4gIG1lcmNoaUZpZWxkSWQ/OiBudW1iZXI7XG4gIGNvbG91ckZpZWxkSWQ/OiBudW1iZXI7XG4gIGFydHdvcmtSb2xlPzogRHJhZnRBcnR3b3JrUm9sZTtcbiAgbG9ja2VkPzogYm9vbGVhbjtcbiAgbG9ja0FzcGVjdFJhdGlvPzogYm9vbGVhbjtcbiAgeDogbnVtYmVyO1xuICB5OiBudW1iZXI7XG4gIHdpZHRoOiBudW1iZXI7XG4gIGhlaWdodDogbnVtYmVyO1xuICByb3RhdGlvbjogbnVtYmVyO1xuICBzY2FsZVg6IG51bWJlcjtcbiAgc2NhbGVZOiBudW1iZXI7XG4gIHRleHQ/OiBzdHJpbmc7XG4gIGZvbnRTaXplPzogbnVtYmVyO1xuICBmaWxsPzogc3RyaW5nO1xuICBmb250RmFtaWx5Pzogc3RyaW5nO1xuICBhbGlnbj86IHN0cmluZztcbiAgc3JjPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERyYWZ0Q2FudmFzU3RhdGUge1xuICB3aWR0aDogbnVtYmVyO1xuICBoZWlnaHQ6IG51bWJlcjtcbiAgb2JqZWN0czogRHJhZnRDYW52YXNPYmplY3RbXTtcbiAgZGV0YWNoZWRGaWVsZElkcz86IG51bWJlcltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERyYWZ0Q2FudmFzSGFuZGxlIHtcbiAgZXhwb3J0UG5nczogKCkgPT4gUHJvbWlzZTx7IGRyYWZ0OiBzdHJpbmc7IGNhbnZhc1ByZXZpZXc6IHN0cmluZyB9Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZW5kZXJlZERyYWZ0UHJldmlldyB7XG4gIHRlbXBsYXRlSWQ6IG51bWJlcjtcbiAgZHJhZnQ6IHN0cmluZzsgLy8gYmFzZTY0IHN0cmluZyBvZiB0aGUgdGVtcGxhdGUgYXJ0d29yayBhcyBhIGRyYWZ0XG4gIGNhbnZhc1ByZXZpZXc6IHN0cmluZzsgLy8gYmFzZTY0IHN0cmluZyBvZiB0aGUgdGVtcGxhdGUgcmVuZGVyZWQgd2l0aCB0aGUgZnVsbCBjYW52YXNcbiAgY2FudmFzSnNvbj86IERyYWZ0Q2FudmFzU3RhdGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRHJhZnRUZW1wbGF0ZURhdGEge1xuICBncm91cEluZGV4OiBudW1iZXI7XG4gIHByb2R1Y3RJZDogbnVtYmVyO1xuICB0ZW1wbGF0ZURhdGE6IFJlbmRlcmVkRHJhZnRQcmV2aWV3W107XG4gIHByZXZpZXdzOiBhbnlbXTtcbn1cblxuZXhwb3J0IGNvbnN0IEJMQU5LX1RFTVBMQVRFX0lEID0gMDtcbmV4cG9ydCBjb25zdCBERUZBVUxUX0FSVEJPQVJEID0geyB3aWR0aDogMTAwMCwgaGVpZ2h0OiAxMDAwIH07XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVyY2hpRmlsZSB7XG4gIGlkPzogbnVtYmVyO1xuICB1cGxvYWRJZD86IHN0cmluZztcbiAgbmFtZT86IHN0cmluZyB8IG51bGw7XG4gIG1pbWV0eXBlPzogc3RyaW5nIHwgbnVsbDtcbiAgc2l6ZT86IG51bWJlcjtcbiAgY3JlYXRpb25EYXRlPzogRGF0ZSB8IG51bGw7XG4gIGFyY2hpdmVkPzogRGF0ZSB8IG51bGw7XG4gIGNhY2hlZFZpZXdVcmw/OiBzdHJpbmcgfCBudWxsO1xuICB2aWV3VXJsRXhwaXJlcz86IERhdGUgfCBudWxsO1xuICBjYWNoZWREb3dubG9hZFVybD86IHN0cmluZyB8IG51bGw7XG4gIGZpbGVEYXRhPzogRmlsZTtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsV0FBWUEsV0FBVywwQkFBWEEsV0FBVztFQUFYQSxXQUFXLENBQVhBLFdBQVc7RUFBWEEsV0FBVyxDQUFYQSxXQUFXO0VBQVhBLFdBQVcsQ0FBWEEsV0FBVztFQUFYQSxXQUFXLENBQVhBLFdBQVc7RUFBWEEsV0FBVyxDQUFYQSxXQUFXO0VBQVhBLFdBQVcsQ0FBWEEsV0FBVztFQUFYQSxXQUFXLENBQVhBLFdBQVc7RUFBWEEsV0FBVyxDQUFYQSxXQUFXO0VBQVhBLFdBQVcsQ0FBWEEsV0FBVztFQUFYQSxXQUFXLENBQVhBLFdBQVc7RUFBWEEsV0FBVyxDQUFYQSxXQUFXO0VBQVhBLFdBQVcsQ0FBWEEsV0FBVztFQUFYQSxXQUFXLENBQVhBLFdBQVc7RUFBWEEsV0FBVyxDQUFYQSxXQUFXO0VBQVhBLFdBQVcsQ0FBWEEsV0FBVztFQUFYQSxXQUFXLENBQVhBLFdBQVc7RUFBWEEsV0FBVyxDQUFYQSxXQUFXO0VBQVhBLFdBQVcsQ0FBWEEsV0FBVztFQUFYQSxXQUFXLENBQVhBLFdBQVc7RUFBWEEsV0FBVyxDQUFYQSxXQUFXO0VBQVhBLFdBQVcsQ0FBWEEsV0FBVztFQUFYQSxXQUFXLENBQVhBLFdBQVc7RUFBWEEsV0FBVyxDQUFYQSxXQUFXO0VBQVhBLFdBQVcsQ0FBWEEsV0FBVztFQUFBLE9BQVhBLFdBQVc7QUFBQTtBQTJCdkIsV0FBWUMsU0FBUywwQkFBVEEsU0FBUztFQUFUQSxTQUFTLENBQVRBLFNBQVM7RUFBVEEsU0FBUyxDQUFUQSxTQUFTO0VBQVRBLFNBQVMsQ0FBVEEsU0FBUztFQUFUQSxTQUFTLENBQVRBLFNBQVM7RUFBVEEsU0FBUyxDQUFUQSxTQUFTO0VBQVRBLFNBQVMsQ0FBVEEsU0FBUztFQUFUQSxTQUFTLENBQVRBLFNBQVM7RUFBVEEsU0FBUyxDQUFUQSxTQUFTO0VBQVRBLFNBQVMsQ0FBVEEsU0FBUztFQUFUQSxTQUFTLENBQVRBLFNBQVM7RUFBVEEsU0FBUyxDQUFUQSxTQUFTO0VBQVRBLFNBQVMsQ0FBVEEsU0FBUztFQUFUQSxTQUFTLENBQVRBLFNBQVM7RUFBVEEsU0FBUyxDQUFUQSxTQUFTO0VBQUEsT0FBVEEsU0FBUztBQUFBO0FBaUZyQixPQUFPLElBQU1DLGlCQUFpQixHQUFHLENBQUM7QUFDbEMsT0FBTyxJQUFNQyxnQkFBZ0IsR0FBRztFQUFFQyxLQUFLLEVBQUUsSUFBSTtFQUFFQyxNQUFNLEVBQUU7QUFBSyxDQUFDIiwiaWdub3JlTGlzdCI6W119
|
package/lib/utils/url.js
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
2
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
3
|
+
function _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; } }
|
|
4
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
5
|
+
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
6
|
+
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; } }
|
|
7
|
+
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; }
|
|
8
|
+
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); }
|
|
9
|
+
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; }
|
|
10
|
+
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; }
|
|
11
|
+
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; }
|
|
12
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
13
|
+
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); }
|
|
14
|
+
export function urlSearchParams(inputParams) {
|
|
15
|
+
var params = _objectSpread({}, inputParams); // Create a shallow copy to prevent mutation
|
|
16
|
+
|
|
17
|
+
Object.keys(params).forEach(function (key) {
|
|
18
|
+
if (params[key] === undefined || params[key] === null || params[key] === "") {
|
|
19
|
+
delete params[key];
|
|
20
|
+
} else if (Array.isArray(params[key])) {
|
|
21
|
+
params[key] = params[key].join(',');
|
|
22
|
+
} else if (_typeof(params[key]) === 'object') {
|
|
23
|
+
params[key] = JSON.stringify(params[key]);
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
return new URLSearchParams(params).toString();
|
|
27
|
+
}
|
|
28
|
+
export function updateRouteParams(pathname, router, params) {
|
|
29
|
+
// Remove keys with undefined values
|
|
30
|
+
Object.keys(params).forEach(function (key) {
|
|
31
|
+
if (params[key] === undefined) {
|
|
32
|
+
delete params[key];
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
var embed = JSON.stringify(params.embed || {});
|
|
36
|
+
delete params.embed;
|
|
37
|
+
var queryString = new URLSearchParams(params).toString();
|
|
38
|
+
router.push("".concat(pathname, "?").concat(queryString));
|
|
39
|
+
}
|
|
40
|
+
export function paramsToObject(queryString) {
|
|
41
|
+
var searchParams = new URLSearchParams(queryString);
|
|
42
|
+
var obj = {};
|
|
43
|
+
var _iterator = _createForOfIteratorHelper(searchParams.entries()),
|
|
44
|
+
_step;
|
|
45
|
+
try {
|
|
46
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
47
|
+
var _step$value = _slicedToArray(_step.value, 2),
|
|
48
|
+
key = _step$value[0],
|
|
49
|
+
value = _step$value[1];
|
|
50
|
+
try {
|
|
51
|
+
// Try to parse as JSON
|
|
52
|
+
obj[key] = JSON.parse(value);
|
|
53
|
+
} catch (e) {
|
|
54
|
+
// If it's not valid JSON, use the raw value
|
|
55
|
+
obj[key] = value;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
} catch (err) {
|
|
59
|
+
_iterator.e(err);
|
|
60
|
+
} finally {
|
|
61
|
+
_iterator.f();
|
|
62
|
+
}
|
|
63
|
+
return obj;
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1cmxTZWFyY2hQYXJhbXMiLCJpbnB1dFBhcmFtcyIsInBhcmFtcyIsIl9vYmplY3RTcHJlYWQiLCJPYmplY3QiLCJrZXlzIiwiZm9yRWFjaCIsImtleSIsInVuZGVmaW5lZCIsIkFycmF5IiwiaXNBcnJheSIsImpvaW4iLCJfdHlwZW9mIiwiSlNPTiIsInN0cmluZ2lmeSIsIlVSTFNlYXJjaFBhcmFtcyIsInRvU3RyaW5nIiwidXBkYXRlUm91dGVQYXJhbXMiLCJwYXRobmFtZSIsInJvdXRlciIsImVtYmVkIiwicXVlcnlTdHJpbmciLCJwdXNoIiwiY29uY2F0IiwicGFyYW1zVG9PYmplY3QiLCJzZWFyY2hQYXJhbXMiLCJvYmoiLCJfaXRlcmF0b3IiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsImVudHJpZXMiLCJfc3RlcCIsInMiLCJuIiwiZG9uZSIsIl9zdGVwJHZhbHVlIiwiX3NsaWNlZFRvQXJyYXkiLCJ2YWx1ZSIsInBhcnNlIiwiZSIsImVyciIsImYiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvdXJsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiB1cmxTZWFyY2hQYXJhbXMoaW5wdXRQYXJhbXM6IGFueSk6IHN0cmluZyB7XG4gIGNvbnN0IHBhcmFtcyA9IHsgLi4uaW5wdXRQYXJhbXMgfTsgIC8vIENyZWF0ZSBhIHNoYWxsb3cgY29weSB0byBwcmV2ZW50IG11dGF0aW9uXG5cbiAgT2JqZWN0LmtleXMocGFyYW1zKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgaWYgKHBhcmFtc1trZXldID09PSB1bmRlZmluZWQgfHwgcGFyYW1zW2tleV0gPT09IG51bGwgfHwgcGFyYW1zW2tleV0gPT09IFwiXCIpIHtcbiAgICAgIGRlbGV0ZSBwYXJhbXNba2V5XTtcbiAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkocGFyYW1zW2tleV0pKSB7XG4gICAgICBwYXJhbXNba2V5XSA9IHBhcmFtc1trZXldLmpvaW4oJywnKTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBwYXJhbXNba2V5XSA9PT0gJ29iamVjdCcpIHtcbiAgICAgIHBhcmFtc1trZXldID0gSlNPTi5zdHJpbmdpZnkocGFyYW1zW2tleV0pO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIG5ldyBVUkxTZWFyY2hQYXJhbXMocGFyYW1zKS50b1N0cmluZygpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlUm91dGVQYXJhbXMocGF0aG5hbWU6IHN0cmluZywgcm91dGVyOiBhbnksIHBhcmFtczogYW55KSB7XG5cbiAgLy8gUmVtb3ZlIGtleXMgd2l0aCB1bmRlZmluZWQgdmFsdWVzXG4gIE9iamVjdC5rZXlzKHBhcmFtcykuZm9yRWFjaChrZXkgPT4ge1xuICAgIGlmIChwYXJhbXNba2V5XSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBkZWxldGUgcGFyYW1zW2tleV07XG4gICAgfVxuICB9KTtcbiAgY29uc3QgZW1iZWQgPSBKU09OLnN0cmluZ2lmeShwYXJhbXMuZW1iZWQgfHwge30pO1xuICBkZWxldGUgcGFyYW1zLmVtYmVkO1xuXG4gIGNvbnN0IHF1ZXJ5U3RyaW5nID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhwYXJhbXMpLnRvU3RyaW5nKCk7XG4gIHJvdXRlci5wdXNoKGAke3BhdGhuYW1lfT8ke3F1ZXJ5U3RyaW5nfWApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyYW1zVG9PYmplY3QocXVlcnlTdHJpbmc6IHN0cmluZyk6IGFueSB7XG4gIGNvbnN0IHNlYXJjaFBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMocXVlcnlTdHJpbmcpO1xuICBjb25zdCBvYmo6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7fTtcblxuICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBzZWFyY2hQYXJhbXMuZW50cmllcygpIGFzIGFueSkge1xuICAgIHRyeSB7XG4gICAgICAvLyBUcnkgdG8gcGFyc2UgYXMgSlNPTlxuICAgICAgb2JqW2tleV0gPSBKU09OLnBhcnNlKHZhbHVlKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAvLyBJZiBpdCdzIG5vdCB2YWxpZCBKU09OLCB1c2UgdGhlIHJhdyB2YWx1ZVxuICAgICAgb2JqW2tleV0gPSB2YWx1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gb2JqO1xufVxuXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLFNBQVNBLGVBQWVBLENBQUNDLFdBQWdCLEVBQVU7RUFDeEQsSUFBTUMsTUFBTSxHQUFBQyxhQUFBLEtBQVFGLFdBQVcsQ0FBRSxDQUFDLENBQUU7O0VBRXBDRyxNQUFNLENBQUNDLElBQUksQ0FBQ0gsTUFBTSxDQUFDLENBQUNJLE9BQU8sQ0FBQyxVQUFBQyxHQUFHLEVBQUk7SUFDakMsSUFBSUwsTUFBTSxDQUFDSyxHQUFHLENBQUMsS0FBS0MsU0FBUyxJQUFJTixNQUFNLENBQUNLLEdBQUcsQ0FBQyxLQUFLLElBQUksSUFBSUwsTUFBTSxDQUFDSyxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUU7TUFDM0UsT0FBT0wsTUFBTSxDQUFDSyxHQUFHLENBQUM7SUFDcEIsQ0FBQyxNQUFNLElBQUlFLEtBQUssQ0FBQ0MsT0FBTyxDQUFDUixNQUFNLENBQUNLLEdBQUcsQ0FBQyxDQUFDLEVBQUU7TUFDckNMLE1BQU0sQ0FBQ0ssR0FBRyxDQUFDLEdBQUdMLE1BQU0sQ0FBQ0ssR0FBRyxDQUFDLENBQUNJLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDckMsQ0FBQyxNQUFNLElBQUlDLE9BQUEsQ0FBT1YsTUFBTSxDQUFDSyxHQUFHLENBQUMsTUFBSyxRQUFRLEVBQUU7TUFDMUNMLE1BQU0sQ0FBQ0ssR0FBRyxDQUFDLEdBQUdNLElBQUksQ0FBQ0MsU0FBUyxDQUFDWixNQUFNLENBQUNLLEdBQUcsQ0FBQyxDQUFDO0lBQzNDO0VBQ0YsQ0FBQyxDQUFDO0VBRUYsT0FBTyxJQUFJUSxlQUFlLENBQUNiLE1BQU0sQ0FBQyxDQUFDYyxRQUFRLENBQUMsQ0FBQztBQUMvQztBQUVBLE9BQU8sU0FBU0MsaUJBQWlCQSxDQUFDQyxRQUFnQixFQUFFQyxNQUFXLEVBQUVqQixNQUFXLEVBQUU7RUFFNUU7RUFDQUUsTUFBTSxDQUFDQyxJQUFJLENBQUNILE1BQU0sQ0FBQyxDQUFDSSxPQUFPLENBQUMsVUFBQUMsR0FBRyxFQUFJO0lBQ2pDLElBQUlMLE1BQU0sQ0FBQ0ssR0FBRyxDQUFDLEtBQUtDLFNBQVMsRUFBRTtNQUM3QixPQUFPTixNQUFNLENBQUNLLEdBQUcsQ0FBQztJQUNwQjtFQUNGLENBQUMsQ0FBQztFQUNGLElBQU1hLEtBQUssR0FBR1AsSUFBSSxDQUFDQyxTQUFTLENBQUNaLE1BQU0sQ0FBQ2tCLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQztFQUNoRCxPQUFPbEIsTUFBTSxDQUFDa0IsS0FBSztFQUVuQixJQUFNQyxXQUFXLEdBQUcsSUFBSU4sZUFBZSxDQUFDYixNQUFNLENBQUMsQ0FBQ2MsUUFBUSxDQUFDLENBQUM7RUFDMURHLE1BQU0sQ0FBQ0csSUFBSSxJQUFBQyxNQUFBLENBQUlMLFFBQVEsT0FBQUssTUFBQSxDQUFJRixXQUFXLENBQUUsQ0FBQztBQUMzQztBQUVBLE9BQU8sU0FBU0csY0FBY0EsQ0FBQ0gsV0FBbUIsRUFBTztFQUN2RCxJQUFNSSxZQUFZLEdBQUcsSUFBSVYsZUFBZSxDQUFDTSxXQUFXLENBQUM7RUFDckQsSUFBTUssR0FBMkIsR0FBRyxDQUFDLENBQUM7RUFBQyxJQUFBQyxTQUFBLEdBQUFDLDBCQUFBLENBRVpILFlBQVksQ0FBQ0ksT0FBTyxDQUFDLENBQUM7SUFBQUMsS0FBQTtFQUFBO0lBQWpELEtBQUFILFNBQUEsQ0FBQUksQ0FBQSxNQUFBRCxLQUFBLEdBQUFILFNBQUEsQ0FBQUssQ0FBQSxJQUFBQyxJQUFBLEdBQTBEO01BQUEsSUFBQUMsV0FBQSxHQUFBQyxjQUFBLENBQUFMLEtBQUEsQ0FBQU0sS0FBQTtRQUE5QzdCLEdBQUcsR0FBQTJCLFdBQUE7UUFBRUUsS0FBSyxHQUFBRixXQUFBO01BQ3BCLElBQUk7UUFDRjtRQUNBUixHQUFHLENBQUNuQixHQUFHLENBQUMsR0FBR00sSUFBSSxDQUFDd0IsS0FBSyxDQUFDRCxLQUFLLENBQUM7TUFDOUIsQ0FBQyxDQUFDLE9BQU9FLENBQUMsRUFBRTtRQUNWO1FBQ0FaLEdBQUcsQ0FBQ25CLEdBQUcsQ0FBQyxHQUFHNkIsS0FBSztNQUNsQjtJQUNGO0VBQUMsU0FBQUcsR0FBQTtJQUFBWixTQUFBLENBQUFXLENBQUEsQ0FBQUMsR0FBQTtFQUFBO0lBQUFaLFNBQUEsQ0FBQWEsQ0FBQTtFQUFBO0VBRUQsT0FBT2QsR0FBRztBQUNaIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/** Split product fields that were serialized into the wrong array. */
|
|
2
|
+
export declare function sanitizeProductVariationFields(product: any): any;
|
|
3
|
+
export declare function groupFieldTemplates(product: any): any[];
|
|
4
|
+
/** Move whole-order fields out of variation groups before quote/buy submit. */
|
|
5
|
+
export declare function liftIndependentVariationsFromGroups(job: any, product?: any): any;
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
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; }
|
|
2
|
+
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; }
|
|
3
|
+
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; }
|
|
4
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
5
|
+
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); }
|
|
6
|
+
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
7
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
8
|
+
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
9
|
+
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
10
|
+
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); }
|
|
11
|
+
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
12
|
+
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; } }
|
|
13
|
+
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; }
|
|
14
|
+
/** Split product fields that were serialized into the wrong array. */
|
|
15
|
+
|
|
16
|
+
function numericIds(values) {
|
|
17
|
+
var ids = new Set();
|
|
18
|
+
var _iterator = _createForOfIteratorHelper(values),
|
|
19
|
+
_step;
|
|
20
|
+
try {
|
|
21
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
22
|
+
var value = _step.value;
|
|
23
|
+
var id = Number(value);
|
|
24
|
+
if (Number.isFinite(id)) ids.add(id);
|
|
25
|
+
}
|
|
26
|
+
} catch (err) {
|
|
27
|
+
_iterator.e(err);
|
|
28
|
+
} finally {
|
|
29
|
+
_iterator.f();
|
|
30
|
+
}
|
|
31
|
+
return ids;
|
|
32
|
+
}
|
|
33
|
+
export function sanitizeProductVariationFields(product) {
|
|
34
|
+
if (!product || _typeof(product) !== 'object') return product;
|
|
35
|
+
var independent = _toConsumableArray(product.independentVariationFields || []);
|
|
36
|
+
var independentIds = numericIds(independent.map(function (field) {
|
|
37
|
+
return field === null || field === void 0 ? void 0 : field.id;
|
|
38
|
+
}));
|
|
39
|
+
var group = [];
|
|
40
|
+
var _iterator2 = _createForOfIteratorHelper(product.groupVariationFields || []),
|
|
41
|
+
_step2;
|
|
42
|
+
try {
|
|
43
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
44
|
+
var field = _step2.value;
|
|
45
|
+
if ((field === null || field === void 0 ? void 0 : field.independent) === true) {
|
|
46
|
+
var id = Number(field === null || field === void 0 ? void 0 : field.id);
|
|
47
|
+
if (Number.isFinite(id) && !independentIds.has(id)) {
|
|
48
|
+
independent.push(field);
|
|
49
|
+
independentIds.add(id);
|
|
50
|
+
}
|
|
51
|
+
continue;
|
|
52
|
+
}
|
|
53
|
+
group.push(field);
|
|
54
|
+
}
|
|
55
|
+
} catch (err) {
|
|
56
|
+
_iterator2.e(err);
|
|
57
|
+
} finally {
|
|
58
|
+
_iterator2.f();
|
|
59
|
+
}
|
|
60
|
+
return _objectSpread(_objectSpread({}, product), {}, {
|
|
61
|
+
groupVariationFields: group,
|
|
62
|
+
independentVariationFields: independent.filter(function (field) {
|
|
63
|
+
return (field === null || field === void 0 ? void 0 : field.independent) !== false;
|
|
64
|
+
})
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
export function groupFieldTemplates(product) {
|
|
68
|
+
var _sanitizeProductVaria;
|
|
69
|
+
return ((_sanitizeProductVaria = sanitizeProductVariationFields(product)) === null || _sanitizeProductVaria === void 0 ? void 0 : _sanitizeProductVaria.groupVariationFields) || [];
|
|
70
|
+
}
|
|
71
|
+
function variationFieldId(variation) {
|
|
72
|
+
var _variation$variationF;
|
|
73
|
+
var id = variation === null || variation === void 0 || (_variation$variationF = variation.variationField) === null || _variation$variationF === void 0 ? void 0 : _variation$variationF.id;
|
|
74
|
+
if (id === undefined || id === null || id === '') return null;
|
|
75
|
+
var n = Number(id);
|
|
76
|
+
return Number.isFinite(n) ? n : null;
|
|
77
|
+
}
|
|
78
|
+
function isIndependentVariation(variation, independentIds) {
|
|
79
|
+
var _variation$variationF2;
|
|
80
|
+
if ((variation === null || variation === void 0 || (_variation$variationF2 = variation.variationField) === null || _variation$variationF2 === void 0 ? void 0 : _variation$variationF2.independent) === true) return true;
|
|
81
|
+
var id = variationFieldId(variation);
|
|
82
|
+
return id != null && independentIds.has(id);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/** Move whole-order fields out of variation groups before quote/buy submit. */
|
|
86
|
+
export function liftIndependentVariationsFromGroups(job, product) {
|
|
87
|
+
var _sanitizeProductVaria2;
|
|
88
|
+
if (!job || _typeof(job) !== 'object') return job;
|
|
89
|
+
var sourceProduct = product || job.product;
|
|
90
|
+
var independentIds = numericIds((((_sanitizeProductVaria2 = sanitizeProductVariationFields(sourceProduct)) === null || _sanitizeProductVaria2 === void 0 ? void 0 : _sanitizeProductVaria2.independentVariationFields) || []).map(function (field) {
|
|
91
|
+
return field === null || field === void 0 ? void 0 : field.id;
|
|
92
|
+
}));
|
|
93
|
+
if (!Array.isArray(job.variationsGroups) || !job.variationsGroups.length) {
|
|
94
|
+
return job;
|
|
95
|
+
}
|
|
96
|
+
var lifted = _toConsumableArray(job.variations || []);
|
|
97
|
+
var liftedIds = numericIds(lifted.map(variationFieldId));
|
|
98
|
+
var variationsGroups = job.variationsGroups.map(function (group) {
|
|
99
|
+
return _objectSpread(_objectSpread({}, group), {}, {
|
|
100
|
+
variations: ((group === null || group === void 0 ? void 0 : group.variations) || []).filter(function (variation) {
|
|
101
|
+
if (!isIndependentVariation(variation, independentIds)) return true;
|
|
102
|
+
var id = variationFieldId(variation);
|
|
103
|
+
if (id != null && !liftedIds.has(id)) {
|
|
104
|
+
lifted.push(variation);
|
|
105
|
+
liftedIds.add(id);
|
|
106
|
+
}
|
|
107
|
+
return false;
|
|
108
|
+
})
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
return _objectSpread(_objectSpread({}, job), {}, {
|
|
112
|
+
variations: lifted,
|
|
113
|
+
variationsGroups: variationsGroups
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJudW1lcmljSWRzIiwidmFsdWVzIiwiaWRzIiwiU2V0IiwiX2l0ZXJhdG9yIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJfc3RlcCIsInMiLCJuIiwiZG9uZSIsInZhbHVlIiwiaWQiLCJOdW1iZXIiLCJpc0Zpbml0ZSIsImFkZCIsImVyciIsImUiLCJmIiwic2FuaXRpemVQcm9kdWN0VmFyaWF0aW9uRmllbGRzIiwicHJvZHVjdCIsIl90eXBlb2YiLCJpbmRlcGVuZGVudCIsIl90b0NvbnN1bWFibGVBcnJheSIsImluZGVwZW5kZW50VmFyaWF0aW9uRmllbGRzIiwiaW5kZXBlbmRlbnRJZHMiLCJtYXAiLCJmaWVsZCIsImdyb3VwIiwiX2l0ZXJhdG9yMiIsImdyb3VwVmFyaWF0aW9uRmllbGRzIiwiX3N0ZXAyIiwiaGFzIiwicHVzaCIsIl9vYmplY3RTcHJlYWQiLCJmaWx0ZXIiLCJncm91cEZpZWxkVGVtcGxhdGVzIiwiX3Nhbml0aXplUHJvZHVjdFZhcmlhIiwidmFyaWF0aW9uRmllbGRJZCIsInZhcmlhdGlvbiIsIl92YXJpYXRpb24kdmFyaWF0aW9uRiIsInZhcmlhdGlvbkZpZWxkIiwidW5kZWZpbmVkIiwiaXNJbmRlcGVuZGVudFZhcmlhdGlvbiIsIl92YXJpYXRpb24kdmFyaWF0aW9uRjIiLCJsaWZ0SW5kZXBlbmRlbnRWYXJpYXRpb25zRnJvbUdyb3VwcyIsImpvYiIsIl9zYW5pdGl6ZVByb2R1Y3RWYXJpYTIiLCJzb3VyY2VQcm9kdWN0IiwiQXJyYXkiLCJpc0FycmF5IiwidmFyaWF0aW9uc0dyb3VwcyIsImxlbmd0aCIsImxpZnRlZCIsInZhcmlhdGlvbnMiLCJsaWZ0ZWRJZHMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvdmFyaWF0aW9uRmllbGRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBTcGxpdCBwcm9kdWN0IGZpZWxkcyB0aGF0IHdlcmUgc2VyaWFsaXplZCBpbnRvIHRoZSB3cm9uZyBhcnJheS4gKi9cblxuZnVuY3Rpb24gbnVtZXJpY0lkcyh2YWx1ZXM6IHVua25vd25bXSk6IFNldDxudW1iZXI+IHtcbiAgY29uc3QgaWRzID0gbmV3IFNldDxudW1iZXI+KCk7XG4gIGZvciAoY29uc3QgdmFsdWUgb2YgdmFsdWVzKSB7XG4gICAgY29uc3QgaWQgPSBOdW1iZXIodmFsdWUpO1xuICAgIGlmIChOdW1iZXIuaXNGaW5pdGUoaWQpKSBpZHMuYWRkKGlkKTtcbiAgfVxuICByZXR1cm4gaWRzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2FuaXRpemVQcm9kdWN0VmFyaWF0aW9uRmllbGRzKHByb2R1Y3Q6IGFueSkge1xuICBpZiAoIXByb2R1Y3QgfHwgdHlwZW9mIHByb2R1Y3QgIT09ICdvYmplY3QnKSByZXR1cm4gcHJvZHVjdDtcblxuICBjb25zdCBpbmRlcGVuZGVudCA9IFsuLi4ocHJvZHVjdC5pbmRlcGVuZGVudFZhcmlhdGlvbkZpZWxkcyB8fCBbXSldO1xuICBjb25zdCBpbmRlcGVuZGVudElkcyA9IG51bWVyaWNJZHMoaW5kZXBlbmRlbnQubWFwKChmaWVsZDogYW55KSA9PiBmaWVsZD8uaWQpKTtcbiAgY29uc3QgZ3JvdXA6IGFueVtdID0gW107XG5cbiAgZm9yIChjb25zdCBmaWVsZCBvZiBwcm9kdWN0Lmdyb3VwVmFyaWF0aW9uRmllbGRzIHx8IFtdKSB7XG4gICAgaWYgKGZpZWxkPy5pbmRlcGVuZGVudCA9PT0gdHJ1ZSkge1xuICAgICAgY29uc3QgaWQgPSBOdW1iZXIoZmllbGQ/LmlkKTtcbiAgICAgIGlmIChOdW1iZXIuaXNGaW5pdGUoaWQpICYmICFpbmRlcGVuZGVudElkcy5oYXMoaWQpKSB7XG4gICAgICAgIGluZGVwZW5kZW50LnB1c2goZmllbGQpO1xuICAgICAgICBpbmRlcGVuZGVudElkcy5hZGQoaWQpO1xuICAgICAgfVxuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGdyb3VwLnB1c2goZmllbGQpO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5wcm9kdWN0LFxuICAgIGdyb3VwVmFyaWF0aW9uRmllbGRzOiBncm91cCxcbiAgICBpbmRlcGVuZGVudFZhcmlhdGlvbkZpZWxkczogaW5kZXBlbmRlbnQuZmlsdGVyKFxuICAgICAgKGZpZWxkOiBhbnkpID0+IGZpZWxkPy5pbmRlcGVuZGVudCAhPT0gZmFsc2VcbiAgICApLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3JvdXBGaWVsZFRlbXBsYXRlcyhwcm9kdWN0OiBhbnkpOiBhbnlbXSB7XG4gIHJldHVybiAoc2FuaXRpemVQcm9kdWN0VmFyaWF0aW9uRmllbGRzKHByb2R1Y3QpPy5ncm91cFZhcmlhdGlvbkZpZWxkcyB8fCBbXSk7XG59XG5cbmZ1bmN0aW9uIHZhcmlhdGlvbkZpZWxkSWQodmFyaWF0aW9uOiBhbnkpOiBudW1iZXIgfCBudWxsIHtcbiAgY29uc3QgaWQgPSB2YXJpYXRpb24/LnZhcmlhdGlvbkZpZWxkPy5pZDtcbiAgaWYgKGlkID09PSB1bmRlZmluZWQgfHwgaWQgPT09IG51bGwgfHwgaWQgPT09ICcnKSByZXR1cm4gbnVsbDtcbiAgY29uc3QgbiA9IE51bWJlcihpZCk7XG4gIHJldHVybiBOdW1iZXIuaXNGaW5pdGUobikgPyBuIDogbnVsbDtcbn1cblxuZnVuY3Rpb24gaXNJbmRlcGVuZGVudFZhcmlhdGlvbih2YXJpYXRpb246IGFueSwgaW5kZXBlbmRlbnRJZHM6IFNldDxudW1iZXI+KSB7XG4gIGlmICh2YXJpYXRpb24/LnZhcmlhdGlvbkZpZWxkPy5pbmRlcGVuZGVudCA9PT0gdHJ1ZSkgcmV0dXJuIHRydWU7XG4gIGNvbnN0IGlkID0gdmFyaWF0aW9uRmllbGRJZCh2YXJpYXRpb24pO1xuICByZXR1cm4gaWQgIT0gbnVsbCAmJiBpbmRlcGVuZGVudElkcy5oYXMoaWQpO1xufVxuXG4vKiogTW92ZSB3aG9sZS1vcmRlciBmaWVsZHMgb3V0IG9mIHZhcmlhdGlvbiBncm91cHMgYmVmb3JlIHF1b3RlL2J1eSBzdWJtaXQuICovXG5leHBvcnQgZnVuY3Rpb24gbGlmdEluZGVwZW5kZW50VmFyaWF0aW9uc0Zyb21Hcm91cHMoam9iOiBhbnksIHByb2R1Y3Q/OiBhbnkpIHtcbiAgaWYgKCFqb2IgfHwgdHlwZW9mIGpvYiAhPT0gJ29iamVjdCcpIHJldHVybiBqb2I7XG4gIGNvbnN0IHNvdXJjZVByb2R1Y3QgPSBwcm9kdWN0IHx8IGpvYi5wcm9kdWN0O1xuICBjb25zdCBpbmRlcGVuZGVudElkcyA9IG51bWVyaWNJZHMoXG4gICAgKHNhbml0aXplUHJvZHVjdFZhcmlhdGlvbkZpZWxkcyhzb3VyY2VQcm9kdWN0KT8uaW5kZXBlbmRlbnRWYXJpYXRpb25GaWVsZHMgfHwgW10pXG4gICAgICAubWFwKChmaWVsZDogYW55KSA9PiBmaWVsZD8uaWQpXG4gICk7XG5cbiAgaWYgKCFBcnJheS5pc0FycmF5KGpvYi52YXJpYXRpb25zR3JvdXBzKSB8fCAham9iLnZhcmlhdGlvbnNHcm91cHMubGVuZ3RoKSB7XG4gICAgcmV0dXJuIGpvYjtcbiAgfVxuXG4gIGNvbnN0IGxpZnRlZCA9IFsuLi4oam9iLnZhcmlhdGlvbnMgfHwgW10pXTtcbiAgY29uc3QgbGlmdGVkSWRzID0gbnVtZXJpY0lkcyhsaWZ0ZWQubWFwKHZhcmlhdGlvbkZpZWxkSWQpKTtcblxuICBjb25zdCB2YXJpYXRpb25zR3JvdXBzID0gam9iLnZhcmlhdGlvbnNHcm91cHMubWFwKChncm91cDogYW55KSA9PiAoe1xuICAgIC4uLmdyb3VwLFxuICAgIHZhcmlhdGlvbnM6IChncm91cD8udmFyaWF0aW9ucyB8fCBbXSkuZmlsdGVyKCh2YXJpYXRpb246IGFueSkgPT4ge1xuICAgICAgaWYgKCFpc0luZGVwZW5kZW50VmFyaWF0aW9uKHZhcmlhdGlvbiwgaW5kZXBlbmRlbnRJZHMpKSByZXR1cm4gdHJ1ZTtcbiAgICAgIGNvbnN0IGlkID0gdmFyaWF0aW9uRmllbGRJZCh2YXJpYXRpb24pO1xuICAgICAgaWYgKGlkICE9IG51bGwgJiYgIWxpZnRlZElkcy5oYXMoaWQpKSB7XG4gICAgICAgIGxpZnRlZC5wdXNoKHZhcmlhdGlvbik7XG4gICAgICAgIGxpZnRlZElkcy5hZGQoaWQpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0pLFxuICB9KSk7XG5cbiAgcmV0dXJuIHsgLi4uam9iLCB2YXJpYXRpb25zOiBsaWZ0ZWQsIHZhcmlhdGlvbnNHcm91cHMgfTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBOztBQUVBLFNBQVNBLFVBQVVBLENBQUNDLE1BQWlCLEVBQWU7RUFDbEQsSUFBTUMsR0FBRyxHQUFHLElBQUlDLEdBQUcsQ0FBUyxDQUFDO0VBQUMsSUFBQUMsU0FBQSxHQUFBQywwQkFBQSxDQUNWSixNQUFNO0lBQUFLLEtBQUE7RUFBQTtJQUExQixLQUFBRixTQUFBLENBQUFHLENBQUEsTUFBQUQsS0FBQSxHQUFBRixTQUFBLENBQUFJLENBQUEsSUFBQUMsSUFBQSxHQUE0QjtNQUFBLElBQWpCQyxLQUFLLEdBQUFKLEtBQUEsQ0FBQUksS0FBQTtNQUNkLElBQU1DLEVBQUUsR0FBR0MsTUFBTSxDQUFDRixLQUFLLENBQUM7TUFDeEIsSUFBSUUsTUFBTSxDQUFDQyxRQUFRLENBQUNGLEVBQUUsQ0FBQyxFQUFFVCxHQUFHLENBQUNZLEdBQUcsQ0FBQ0gsRUFBRSxDQUFDO0lBQ3RDO0VBQUMsU0FBQUksR0FBQTtJQUFBWCxTQUFBLENBQUFZLENBQUEsQ0FBQUQsR0FBQTtFQUFBO0lBQUFYLFNBQUEsQ0FBQWEsQ0FBQTtFQUFBO0VBQ0QsT0FBT2YsR0FBRztBQUNaO0FBRUEsT0FBTyxTQUFTZ0IsOEJBQThCQSxDQUFDQyxPQUFZLEVBQUU7RUFDM0QsSUFBSSxDQUFDQSxPQUFPLElBQUlDLE9BQUEsQ0FBT0QsT0FBTyxNQUFLLFFBQVEsRUFBRSxPQUFPQSxPQUFPO0VBRTNELElBQU1FLFdBQVcsR0FBQUMsa0JBQUEsQ0FBUUgsT0FBTyxDQUFDSSwwQkFBMEIsSUFBSSxFQUFFLENBQUU7RUFDbkUsSUFBTUMsY0FBYyxHQUFHeEIsVUFBVSxDQUFDcUIsV0FBVyxDQUFDSSxHQUFHLENBQUMsVUFBQ0MsS0FBVTtJQUFBLE9BQUtBLEtBQUssYUFBTEEsS0FBSyx1QkFBTEEsS0FBSyxDQUFFZixFQUFFO0VBQUEsRUFBQyxDQUFDO0VBQzdFLElBQU1nQixLQUFZLEdBQUcsRUFBRTtFQUFDLElBQUFDLFVBQUEsR0FBQXZCLDBCQUFBLENBRUpjLE9BQU8sQ0FBQ1Usb0JBQW9CLElBQUksRUFBRTtJQUFBQyxNQUFBO0VBQUE7SUFBdEQsS0FBQUYsVUFBQSxDQUFBckIsQ0FBQSxNQUFBdUIsTUFBQSxHQUFBRixVQUFBLENBQUFwQixDQUFBLElBQUFDLElBQUEsR0FBd0Q7TUFBQSxJQUE3Q2lCLEtBQUssR0FBQUksTUFBQSxDQUFBcEIsS0FBQTtNQUNkLElBQUksQ0FBQWdCLEtBQUssYUFBTEEsS0FBSyx1QkFBTEEsS0FBSyxDQUFFTCxXQUFXLE1BQUssSUFBSSxFQUFFO1FBQy9CLElBQU1WLEVBQUUsR0FBR0MsTUFBTSxDQUFDYyxLQUFLLGFBQUxBLEtBQUssdUJBQUxBLEtBQUssQ0FBRWYsRUFBRSxDQUFDO1FBQzVCLElBQUlDLE1BQU0sQ0FBQ0MsUUFBUSxDQUFDRixFQUFFLENBQUMsSUFBSSxDQUFDYSxjQUFjLENBQUNPLEdBQUcsQ0FBQ3BCLEVBQUUsQ0FBQyxFQUFFO1VBQ2xEVSxXQUFXLENBQUNXLElBQUksQ0FBQ04sS0FBSyxDQUFDO1VBQ3ZCRixjQUFjLENBQUNWLEdBQUcsQ0FBQ0gsRUFBRSxDQUFDO1FBQ3hCO1FBQ0E7TUFDRjtNQUNBZ0IsS0FBSyxDQUFDSyxJQUFJLENBQUNOLEtBQUssQ0FBQztJQUNuQjtFQUFDLFNBQUFYLEdBQUE7SUFBQWEsVUFBQSxDQUFBWixDQUFBLENBQUFELEdBQUE7RUFBQTtJQUFBYSxVQUFBLENBQUFYLENBQUE7RUFBQTtFQUVELE9BQUFnQixhQUFBLENBQUFBLGFBQUEsS0FDS2QsT0FBTztJQUNWVSxvQkFBb0IsRUFBRUYsS0FBSztJQUMzQkosMEJBQTBCLEVBQUVGLFdBQVcsQ0FBQ2EsTUFBTSxDQUM1QyxVQUFDUixLQUFVO01BQUEsT0FBSyxDQUFBQSxLQUFLLGFBQUxBLEtBQUssdUJBQUxBLEtBQUssQ0FBRUwsV0FBVyxNQUFLLEtBQUs7SUFBQSxDQUM5QztFQUFDO0FBRUw7QUFFQSxPQUFPLFNBQVNjLG1CQUFtQkEsQ0FBQ2hCLE9BQVksRUFBUztFQUFBLElBQUFpQixxQkFBQTtFQUN2RCxPQUFRLEVBQUFBLHFCQUFBLEdBQUFsQiw4QkFBOEIsQ0FBQ0MsT0FBTyxDQUFDLGNBQUFpQixxQkFBQSx1QkFBdkNBLHFCQUFBLENBQXlDUCxvQkFBb0IsS0FBSSxFQUFFO0FBQzdFO0FBRUEsU0FBU1EsZ0JBQWdCQSxDQUFDQyxTQUFjLEVBQWlCO0VBQUEsSUFBQUMscUJBQUE7RUFDdkQsSUFBTTVCLEVBQUUsR0FBRzJCLFNBQVMsYUFBVEEsU0FBUyxnQkFBQUMscUJBQUEsR0FBVEQsU0FBUyxDQUFFRSxjQUFjLGNBQUFELHFCQUFBLHVCQUF6QkEscUJBQUEsQ0FBMkI1QixFQUFFO0VBQ3hDLElBQUlBLEVBQUUsS0FBSzhCLFNBQVMsSUFBSTlCLEVBQUUsS0FBSyxJQUFJLElBQUlBLEVBQUUsS0FBSyxFQUFFLEVBQUUsT0FBTyxJQUFJO0VBQzdELElBQU1ILENBQUMsR0FBR0ksTUFBTSxDQUFDRCxFQUFFLENBQUM7RUFDcEIsT0FBT0MsTUFBTSxDQUFDQyxRQUFRLENBQUNMLENBQUMsQ0FBQyxHQUFHQSxDQUFDLEdBQUcsSUFBSTtBQUN0QztBQUVBLFNBQVNrQyxzQkFBc0JBLENBQUNKLFNBQWMsRUFBRWQsY0FBMkIsRUFBRTtFQUFBLElBQUFtQixzQkFBQTtFQUMzRSxJQUFJLENBQUFMLFNBQVMsYUFBVEEsU0FBUyxnQkFBQUssc0JBQUEsR0FBVEwsU0FBUyxDQUFFRSxjQUFjLGNBQUFHLHNCQUFBLHVCQUF6QkEsc0JBQUEsQ0FBMkJ0QixXQUFXLE1BQUssSUFBSSxFQUFFLE9BQU8sSUFBSTtFQUNoRSxJQUFNVixFQUFFLEdBQUcwQixnQkFBZ0IsQ0FBQ0MsU0FBUyxDQUFDO0VBQ3RDLE9BQU8zQixFQUFFLElBQUksSUFBSSxJQUFJYSxjQUFjLENBQUNPLEdBQUcsQ0FBQ3BCLEVBQUUsQ0FBQztBQUM3Qzs7QUFFQTtBQUNBLE9BQU8sU0FBU2lDLG1DQUFtQ0EsQ0FBQ0MsR0FBUSxFQUFFMUIsT0FBYSxFQUFFO0VBQUEsSUFBQTJCLHNCQUFBO0VBQzNFLElBQUksQ0FBQ0QsR0FBRyxJQUFJekIsT0FBQSxDQUFPeUIsR0FBRyxNQUFLLFFBQVEsRUFBRSxPQUFPQSxHQUFHO0VBQy9DLElBQU1FLGFBQWEsR0FBRzVCLE9BQU8sSUFBSTBCLEdBQUcsQ0FBQzFCLE9BQU87RUFDNUMsSUFBTUssY0FBYyxHQUFHeEIsVUFBVSxDQUMvQixDQUFDLEVBQUE4QyxzQkFBQSxHQUFBNUIsOEJBQThCLENBQUM2QixhQUFhLENBQUMsY0FBQUQsc0JBQUEsdUJBQTdDQSxzQkFBQSxDQUErQ3ZCLDBCQUEwQixLQUFJLEVBQUUsRUFDN0VFLEdBQUcsQ0FBQyxVQUFDQyxLQUFVO0lBQUEsT0FBS0EsS0FBSyxhQUFMQSxLQUFLLHVCQUFMQSxLQUFLLENBQUVmLEVBQUU7RUFBQSxFQUNsQyxDQUFDO0VBRUQsSUFBSSxDQUFDcUMsS0FBSyxDQUFDQyxPQUFPLENBQUNKLEdBQUcsQ0FBQ0ssZ0JBQWdCLENBQUMsSUFBSSxDQUFDTCxHQUFHLENBQUNLLGdCQUFnQixDQUFDQyxNQUFNLEVBQUU7SUFDeEUsT0FBT04sR0FBRztFQUNaO0VBRUEsSUFBTU8sTUFBTSxHQUFBOUIsa0JBQUEsQ0FBUXVCLEdBQUcsQ0FBQ1EsVUFBVSxJQUFJLEVBQUUsQ0FBRTtFQUMxQyxJQUFNQyxTQUFTLEdBQUd0RCxVQUFVLENBQUNvRCxNQUFNLENBQUMzQixHQUFHLENBQUNZLGdCQUFnQixDQUFDLENBQUM7RUFFMUQsSUFBTWEsZ0JBQWdCLEdBQUdMLEdBQUcsQ0FBQ0ssZ0JBQWdCLENBQUN6QixHQUFHLENBQUMsVUFBQ0UsS0FBVTtJQUFBLE9BQUFNLGFBQUEsQ0FBQUEsYUFBQSxLQUN4RE4sS0FBSztNQUNSMEIsVUFBVSxFQUFFLENBQUMsQ0FBQTFCLEtBQUssYUFBTEEsS0FBSyx1QkFBTEEsS0FBSyxDQUFFMEIsVUFBVSxLQUFJLEVBQUUsRUFBRW5CLE1BQU0sQ0FBQyxVQUFDSSxTQUFjLEVBQUs7UUFDL0QsSUFBSSxDQUFDSSxzQkFBc0IsQ0FBQ0osU0FBUyxFQUFFZCxjQUFjLENBQUMsRUFBRSxPQUFPLElBQUk7UUFDbkUsSUFBTWIsRUFBRSxHQUFHMEIsZ0JBQWdCLENBQUNDLFNBQVMsQ0FBQztRQUN0QyxJQUFJM0IsRUFBRSxJQUFJLElBQUksSUFBSSxDQUFDMkMsU0FBUyxDQUFDdkIsR0FBRyxDQUFDcEIsRUFBRSxDQUFDLEVBQUU7VUFDcEN5QyxNQUFNLENBQUNwQixJQUFJLENBQUNNLFNBQVMsQ0FBQztVQUN0QmdCLFNBQVMsQ0FBQ3hDLEdBQUcsQ0FBQ0gsRUFBRSxDQUFDO1FBQ25CO1FBQ0EsT0FBTyxLQUFLO01BQ2QsQ0FBQztJQUFDO0VBQUEsQ0FDRixDQUFDO0VBRUgsT0FBQXNCLGFBQUEsQ0FBQUEsYUFBQSxLQUFZWSxHQUFHO0lBQUVRLFVBQVUsRUFBRUQsTUFBTTtJQUFFRixnQkFBZ0IsRUFBaEJBO0VBQWdCO0FBQ3ZEIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { liftIndependentVariationsFromGroups, sanitizeProductVariationFields } from './variationFields';
|
|
2
|
+
import { needsProductLevelQuantity, productHasGroupRows, productHasGroups } from './products';
|
|
3
|
+
var dateRequired = {
|
|
4
|
+
id: 356203,
|
|
5
|
+
independent: true,
|
|
6
|
+
name: 'Date required'
|
|
7
|
+
};
|
|
8
|
+
var notes = {
|
|
9
|
+
id: 219073,
|
|
10
|
+
independent: true,
|
|
11
|
+
name: 'Notes / Comments'
|
|
12
|
+
};
|
|
13
|
+
var colour = {
|
|
14
|
+
id: 219076,
|
|
15
|
+
independent: false,
|
|
16
|
+
name: 'Lanyard colour (CMYK)'
|
|
17
|
+
};
|
|
18
|
+
var message = {
|
|
19
|
+
id: 219075,
|
|
20
|
+
independent: false,
|
|
21
|
+
name: 'Enter your custom lanyard message'
|
|
22
|
+
};
|
|
23
|
+
test('sanitizeProductVariationFields moves independent fields out of the group list', function () {
|
|
24
|
+
var product = sanitizeProductVariationFields({
|
|
25
|
+
groupVariationFields: [colour, dateRequired, notes, message],
|
|
26
|
+
independentVariationFields: [dateRequired, notes]
|
|
27
|
+
});
|
|
28
|
+
expect(product.groupVariationFields.map(function (field) {
|
|
29
|
+
return field.id;
|
|
30
|
+
})).toEqual([219076, 219075]);
|
|
31
|
+
expect(product.independentVariationFields.map(function (field) {
|
|
32
|
+
return field.id;
|
|
33
|
+
})).toEqual([356203, 219073]);
|
|
34
|
+
});
|
|
35
|
+
test('sanitizeProductVariationFields recovers independent fields missing from that array', function () {
|
|
36
|
+
var product = sanitizeProductVariationFields({
|
|
37
|
+
groupVariationFields: [colour, dateRequired, message],
|
|
38
|
+
independentVariationFields: []
|
|
39
|
+
});
|
|
40
|
+
expect(product.groupVariationFields.map(function (field) {
|
|
41
|
+
return field.id;
|
|
42
|
+
})).toEqual([219076, 219075]);
|
|
43
|
+
expect(product.independentVariationFields.map(function (field) {
|
|
44
|
+
return field.id;
|
|
45
|
+
})).toEqual([356203]);
|
|
46
|
+
});
|
|
47
|
+
test('productHasGroups ignores independent fields parked in the group list', function () {
|
|
48
|
+
expect(productHasGroups({
|
|
49
|
+
groupVariationFields: [dateRequired, notes]
|
|
50
|
+
})).toBe(false);
|
|
51
|
+
expect(productHasGroups({
|
|
52
|
+
groupVariationFields: [colour, dateRequired]
|
|
53
|
+
})).toBe(true);
|
|
54
|
+
expect(productHasGroups({
|
|
55
|
+
groupVariationFields: []
|
|
56
|
+
})).toBe(false);
|
|
57
|
+
expect(productHasGroups({})).toBe(false);
|
|
58
|
+
});
|
|
59
|
+
test('needsProductLevelQuantity shows a product qty when groups never materialise', function () {
|
|
60
|
+
expect(productHasGroupRows({
|
|
61
|
+
variationsGroups: []
|
|
62
|
+
})).toBe(false);
|
|
63
|
+
expect(needsProductLevelQuantity({
|
|
64
|
+
groupVariationFields: []
|
|
65
|
+
}, {})).toBe(true);
|
|
66
|
+
expect(needsProductLevelQuantity({
|
|
67
|
+
groupVariationFields: [colour]
|
|
68
|
+
}, {
|
|
69
|
+
variationsGroups: []
|
|
70
|
+
})).toBe(true);
|
|
71
|
+
expect(needsProductLevelQuantity({
|
|
72
|
+
groupVariationFields: [colour]
|
|
73
|
+
}, {
|
|
74
|
+
variationsGroups: [{
|
|
75
|
+
quantity: 10,
|
|
76
|
+
variations: []
|
|
77
|
+
}]
|
|
78
|
+
})).toBe(false);
|
|
79
|
+
});
|
|
80
|
+
test('liftIndependentVariationsFromGroups moves whole-order rows to job.variations', function () {
|
|
81
|
+
var job = liftIndependentVariationsFromGroups({
|
|
82
|
+
variations: [],
|
|
83
|
+
variationsGroups: [{
|
|
84
|
+
quantity: 120,
|
|
85
|
+
variations: [{
|
|
86
|
+
value: '#ffffff',
|
|
87
|
+
variationField: colour
|
|
88
|
+
}, {
|
|
89
|
+
value: '991905',
|
|
90
|
+
variationField: dateRequired
|
|
91
|
+
}, {
|
|
92
|
+
value: 'hello',
|
|
93
|
+
variationField: message
|
|
94
|
+
}]
|
|
95
|
+
}]
|
|
96
|
+
}, {
|
|
97
|
+
groupVariationFields: [colour, dateRequired, message],
|
|
98
|
+
independentVariationFields: [dateRequired]
|
|
99
|
+
});
|
|
100
|
+
expect(job.variations).toEqual([{
|
|
101
|
+
value: '991905',
|
|
102
|
+
variationField: dateRequired
|
|
103
|
+
}]);
|
|
104
|
+
expect(job.variationsGroups[0].variations.map(function (v) {
|
|
105
|
+
return v.variationField.id;
|
|
106
|
+
})).toEqual([219076, 219075]);
|
|
107
|
+
});
|
|
108
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsaWZ0SW5kZXBlbmRlbnRWYXJpYXRpb25zRnJvbUdyb3VwcyIsInNhbml0aXplUHJvZHVjdFZhcmlhdGlvbkZpZWxkcyIsIm5lZWRzUHJvZHVjdExldmVsUXVhbnRpdHkiLCJwcm9kdWN0SGFzR3JvdXBSb3dzIiwicHJvZHVjdEhhc0dyb3VwcyIsImRhdGVSZXF1aXJlZCIsImlkIiwiaW5kZXBlbmRlbnQiLCJuYW1lIiwibm90ZXMiLCJjb2xvdXIiLCJtZXNzYWdlIiwidGVzdCIsInByb2R1Y3QiLCJncm91cFZhcmlhdGlvbkZpZWxkcyIsImluZGVwZW5kZW50VmFyaWF0aW9uRmllbGRzIiwiZXhwZWN0IiwibWFwIiwiZmllbGQiLCJ0b0VxdWFsIiwidG9CZSIsInZhcmlhdGlvbnNHcm91cHMiLCJxdWFudGl0eSIsInZhcmlhdGlvbnMiLCJqb2IiLCJ2YWx1ZSIsInZhcmlhdGlvbkZpZWxkIiwidiJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy92YXJpYXRpb25GaWVsZHMudGVzdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBsaWZ0SW5kZXBlbmRlbnRWYXJpYXRpb25zRnJvbUdyb3VwcyxcbiAgc2FuaXRpemVQcm9kdWN0VmFyaWF0aW9uRmllbGRzLFxufSBmcm9tICcuL3ZhcmlhdGlvbkZpZWxkcyc7XG5pbXBvcnQge1xuICBuZWVkc1Byb2R1Y3RMZXZlbFF1YW50aXR5LFxuICBwcm9kdWN0SGFzR3JvdXBSb3dzLFxuICBwcm9kdWN0SGFzR3JvdXBzLFxufSBmcm9tICcuL3Byb2R1Y3RzJztcblxuY29uc3QgZGF0ZVJlcXVpcmVkID0ge1xuICBpZDogMzU2MjAzLFxuICBpbmRlcGVuZGVudDogdHJ1ZSxcbiAgbmFtZTogJ0RhdGUgcmVxdWlyZWQnLFxufTtcbmNvbnN0IG5vdGVzID0ge1xuICBpZDogMjE5MDczLFxuICBpbmRlcGVuZGVudDogdHJ1ZSxcbiAgbmFtZTogJ05vdGVzIC8gQ29tbWVudHMnLFxufTtcbmNvbnN0IGNvbG91ciA9IHtcbiAgaWQ6IDIxOTA3NixcbiAgaW5kZXBlbmRlbnQ6IGZhbHNlLFxuICBuYW1lOiAnTGFueWFyZCBjb2xvdXIgKENNWUspJyxcbn07XG5jb25zdCBtZXNzYWdlID0ge1xuICBpZDogMjE5MDc1LFxuICBpbmRlcGVuZGVudDogZmFsc2UsXG4gIG5hbWU6ICdFbnRlciB5b3VyIGN1c3RvbSBsYW55YXJkIG1lc3NhZ2UnLFxufTtcblxudGVzdCgnc2FuaXRpemVQcm9kdWN0VmFyaWF0aW9uRmllbGRzIG1vdmVzIGluZGVwZW5kZW50IGZpZWxkcyBvdXQgb2YgdGhlIGdyb3VwIGxpc3QnLCAoKSA9PiB7XG4gIGNvbnN0IHByb2R1Y3QgPSBzYW5pdGl6ZVByb2R1Y3RWYXJpYXRpb25GaWVsZHMoe1xuICAgIGdyb3VwVmFyaWF0aW9uRmllbGRzOiBbY29sb3VyLCBkYXRlUmVxdWlyZWQsIG5vdGVzLCBtZXNzYWdlXSxcbiAgICBpbmRlcGVuZGVudFZhcmlhdGlvbkZpZWxkczogW2RhdGVSZXF1aXJlZCwgbm90ZXNdLFxuICB9KTtcblxuICBleHBlY3QocHJvZHVjdC5ncm91cFZhcmlhdGlvbkZpZWxkcy5tYXAoKGZpZWxkOiBhbnkpID0+IGZpZWxkLmlkKSkudG9FcXVhbChbXG4gICAgMjE5MDc2LFxuICAgIDIxOTA3NSxcbiAgXSk7XG4gIGV4cGVjdChwcm9kdWN0LmluZGVwZW5kZW50VmFyaWF0aW9uRmllbGRzLm1hcCgoZmllbGQ6IGFueSkgPT4gZmllbGQuaWQpKS50b0VxdWFsKFtcbiAgICAzNTYyMDMsXG4gICAgMjE5MDczLFxuICBdKTtcbn0pO1xuXG50ZXN0KCdzYW5pdGl6ZVByb2R1Y3RWYXJpYXRpb25GaWVsZHMgcmVjb3ZlcnMgaW5kZXBlbmRlbnQgZmllbGRzIG1pc3NpbmcgZnJvbSB0aGF0IGFycmF5JywgKCkgPT4ge1xuICBjb25zdCBwcm9kdWN0ID0gc2FuaXRpemVQcm9kdWN0VmFyaWF0aW9uRmllbGRzKHtcbiAgICBncm91cFZhcmlhdGlvbkZpZWxkczogW2NvbG91ciwgZGF0ZVJlcXVpcmVkLCBtZXNzYWdlXSxcbiAgICBpbmRlcGVuZGVudFZhcmlhdGlvbkZpZWxkczogW10sXG4gIH0pO1xuXG4gIGV4cGVjdChwcm9kdWN0Lmdyb3VwVmFyaWF0aW9uRmllbGRzLm1hcCgoZmllbGQ6IGFueSkgPT4gZmllbGQuaWQpKS50b0VxdWFsKFtcbiAgICAyMTkwNzYsXG4gICAgMjE5MDc1LFxuICBdKTtcbiAgZXhwZWN0KHByb2R1Y3QuaW5kZXBlbmRlbnRWYXJpYXRpb25GaWVsZHMubWFwKChmaWVsZDogYW55KSA9PiBmaWVsZC5pZCkpLnRvRXF1YWwoW1xuICAgIDM1NjIwMyxcbiAgXSk7XG59KTtcblxudGVzdCgncHJvZHVjdEhhc0dyb3VwcyBpZ25vcmVzIGluZGVwZW5kZW50IGZpZWxkcyBwYXJrZWQgaW4gdGhlIGdyb3VwIGxpc3QnLCAoKSA9PiB7XG4gIGV4cGVjdChwcm9kdWN0SGFzR3JvdXBzKHsgZ3JvdXBWYXJpYXRpb25GaWVsZHM6IFtkYXRlUmVxdWlyZWQsIG5vdGVzXSB9KSkudG9CZShmYWxzZSk7XG4gIGV4cGVjdChwcm9kdWN0SGFzR3JvdXBzKHsgZ3JvdXBWYXJpYXRpb25GaWVsZHM6IFtjb2xvdXIsIGRhdGVSZXF1aXJlZF0gfSkpLnRvQmUodHJ1ZSk7XG4gIGV4cGVjdChwcm9kdWN0SGFzR3JvdXBzKHsgZ3JvdXBWYXJpYXRpb25GaWVsZHM6IFtdIH0pKS50b0JlKGZhbHNlKTtcbiAgZXhwZWN0KHByb2R1Y3RIYXNHcm91cHMoe30pKS50b0JlKGZhbHNlKTtcbn0pO1xuXG50ZXN0KCduZWVkc1Byb2R1Y3RMZXZlbFF1YW50aXR5IHNob3dzIGEgcHJvZHVjdCBxdHkgd2hlbiBncm91cHMgbmV2ZXIgbWF0ZXJpYWxpc2UnLCAoKSA9PiB7XG4gIGV4cGVjdChwcm9kdWN0SGFzR3JvdXBSb3dzKHsgdmFyaWF0aW9uc0dyb3VwczogW10gfSkpLnRvQmUoZmFsc2UpO1xuICBleHBlY3QobmVlZHNQcm9kdWN0TGV2ZWxRdWFudGl0eSh7IGdyb3VwVmFyaWF0aW9uRmllbGRzOiBbXSB9LCB7fSkpLnRvQmUodHJ1ZSk7XG4gIGV4cGVjdChcbiAgICBuZWVkc1Byb2R1Y3RMZXZlbFF1YW50aXR5KFxuICAgICAgeyBncm91cFZhcmlhdGlvbkZpZWxkczogW2NvbG91cl0gfSxcbiAgICAgIHsgdmFyaWF0aW9uc0dyb3VwczogW10gfVxuICAgIClcbiAgKS50b0JlKHRydWUpO1xuICBleHBlY3QoXG4gICAgbmVlZHNQcm9kdWN0TGV2ZWxRdWFudGl0eShcbiAgICAgIHsgZ3JvdXBWYXJpYXRpb25GaWVsZHM6IFtjb2xvdXJdIH0sXG4gICAgICB7IHZhcmlhdGlvbnNHcm91cHM6IFt7IHF1YW50aXR5OiAxMCwgdmFyaWF0aW9uczogW10gfV0gfVxuICAgIClcbiAgKS50b0JlKGZhbHNlKTtcbn0pO1xuXG50ZXN0KCdsaWZ0SW5kZXBlbmRlbnRWYXJpYXRpb25zRnJvbUdyb3VwcyBtb3ZlcyB3aG9sZS1vcmRlciByb3dzIHRvIGpvYi52YXJpYXRpb25zJywgKCkgPT4ge1xuICBjb25zdCBqb2IgPSBsaWZ0SW5kZXBlbmRlbnRWYXJpYXRpb25zRnJvbUdyb3VwcyhcbiAgICB7XG4gICAgICB2YXJpYXRpb25zOiBbXSxcbiAgICAgIHZhcmlhdGlvbnNHcm91cHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHF1YW50aXR5OiAxMjAsXG4gICAgICAgICAgdmFyaWF0aW9uczogW1xuICAgICAgICAgICAgeyB2YWx1ZTogJyNmZmZmZmYnLCB2YXJpYXRpb25GaWVsZDogY29sb3VyIH0sXG4gICAgICAgICAgICB7IHZhbHVlOiAnOTkxOTA1JywgdmFyaWF0aW9uRmllbGQ6IGRhdGVSZXF1aXJlZCB9LFxuICAgICAgICAgICAgeyB2YWx1ZTogJ2hlbGxvJywgdmFyaWF0aW9uRmllbGQ6IG1lc3NhZ2UgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGdyb3VwVmFyaWF0aW9uRmllbGRzOiBbY29sb3VyLCBkYXRlUmVxdWlyZWQsIG1lc3NhZ2VdLFxuICAgICAgaW5kZXBlbmRlbnRWYXJpYXRpb25GaWVsZHM6IFtkYXRlUmVxdWlyZWRdLFxuICAgIH1cbiAgKTtcblxuICBleHBlY3Qoam9iLnZhcmlhdGlvbnMpLnRvRXF1YWwoW1xuICAgIHsgdmFsdWU6ICc5OTE5MDUnLCB2YXJpYXRpb25GaWVsZDogZGF0ZVJlcXVpcmVkIH0sXG4gIF0pO1xuICBleHBlY3Qoam9iLnZhcmlhdGlvbnNHcm91cHNbMF0udmFyaWF0aW9ucy5tYXAoKHY6IGFueSkgPT4gdi52YXJpYXRpb25GaWVsZC5pZCkpLnRvRXF1YWwoW1xuICAgIDIxOTA3NixcbiAgICAyMTkwNzUsXG4gIF0pO1xufSk7XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQ0VBLG1DQUFtQyxFQUNuQ0MsOEJBQThCLFFBQ3pCLG1CQUFtQjtBQUMxQixTQUNFQyx5QkFBeUIsRUFDekJDLG1CQUFtQixFQUNuQkMsZ0JBQWdCLFFBQ1gsWUFBWTtBQUVuQixJQUFNQyxZQUFZLEdBQUc7RUFDbkJDLEVBQUUsRUFBRSxNQUFNO0VBQ1ZDLFdBQVcsRUFBRSxJQUFJO0VBQ2pCQyxJQUFJLEVBQUU7QUFDUixDQUFDO0FBQ0QsSUFBTUMsS0FBSyxHQUFHO0VBQ1pILEVBQUUsRUFBRSxNQUFNO0VBQ1ZDLFdBQVcsRUFBRSxJQUFJO0VBQ2pCQyxJQUFJLEVBQUU7QUFDUixDQUFDO0FBQ0QsSUFBTUUsTUFBTSxHQUFHO0VBQ2JKLEVBQUUsRUFBRSxNQUFNO0VBQ1ZDLFdBQVcsRUFBRSxLQUFLO0VBQ2xCQyxJQUFJLEVBQUU7QUFDUixDQUFDO0FBQ0QsSUFBTUcsT0FBTyxHQUFHO0VBQ2RMLEVBQUUsRUFBRSxNQUFNO0VBQ1ZDLFdBQVcsRUFBRSxLQUFLO0VBQ2xCQyxJQUFJLEVBQUU7QUFDUixDQUFDO0FBRURJLElBQUksQ0FBQywrRUFBK0UsRUFBRSxZQUFNO0VBQzFGLElBQU1DLE9BQU8sR0FBR1osOEJBQThCLENBQUM7SUFDN0NhLG9CQUFvQixFQUFFLENBQUNKLE1BQU0sRUFBRUwsWUFBWSxF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
|
package/package.json
ADDED
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@merchi/product-form",
|
|
3
|
+
"version": "1.19.12",
|
|
4
|
+
"description": "A React component for Merchi product forms",
|
|
5
|
+
"main": "lib/index.js",
|
|
6
|
+
"module": "lib/index.js",
|
|
7
|
+
"types": "lib/index.d.ts",
|
|
8
|
+
"scripts": {
|
|
9
|
+
"build": "babel src --out-dir lib --extensions .ts,.tsx --source-maps inline --verbose --copy-files --ignore \"**/*.test.*\" && npm run copy-assets && npm run compile-sass && npm run build:types",
|
|
10
|
+
"build:types": "tsc -p tsconfig.build.json",
|
|
11
|
+
"copy-assets": "copyfiles -u 1 src/**/*.png lib",
|
|
12
|
+
"compile-sass": "sass src/styles/globals.scss lib/styles/globals.css",
|
|
13
|
+
"start": "react-scripts start",
|
|
14
|
+
"test": "react-scripts test",
|
|
15
|
+
"eject": "react-scripts eject"
|
|
16
|
+
},
|
|
17
|
+
"repository": {
|
|
18
|
+
"type": "git",
|
|
19
|
+
"url": "git+https://github.com/merchisdk/merchi_ts.git",
|
|
20
|
+
"directory": "packages/product-form"
|
|
21
|
+
},
|
|
22
|
+
"publishConfig": {
|
|
23
|
+
"access": "public"
|
|
24
|
+
},
|
|
25
|
+
"keywords": [
|
|
26
|
+
"react",
|
|
27
|
+
"merchi",
|
|
28
|
+
"product",
|
|
29
|
+
"form",
|
|
30
|
+
"component",
|
|
31
|
+
"merch",
|
|
32
|
+
"merchandise",
|
|
33
|
+
"library"
|
|
34
|
+
],
|
|
35
|
+
"author": "Merchi SDK <james@merchi.co>",
|
|
36
|
+
"license": "MIT",
|
|
37
|
+
"bugs": {
|
|
38
|
+
"url": "https://github.com/merchisdk/merchi_ts/issues"
|
|
39
|
+
},
|
|
40
|
+
"homepage": "https://github.com/merchisdk/merchi_ts/tree/main/packages/product-form#readme",
|
|
41
|
+
"files": [
|
|
42
|
+
"lib"
|
|
43
|
+
],
|
|
44
|
+
"peerDependencies": {
|
|
45
|
+
"react": "^18.0.0 || ^19.0.0",
|
|
46
|
+
"react-dom": "^18.0.0 || ^19.0.0"
|
|
47
|
+
},
|
|
48
|
+
"devDependencies": {
|
|
49
|
+
"@babel/cli": "^7.23.0",
|
|
50
|
+
"@babel/core": "^7.23.0",
|
|
51
|
+
"@babel/plugin-transform-react-jsx": "^7.22.15",
|
|
52
|
+
"@babel/plugin-transform-runtime": "^7.23.3",
|
|
53
|
+
"@babel/preset-env": "^7.23.3",
|
|
54
|
+
"@babel/preset-react": "^7.23.3",
|
|
55
|
+
"@babel/preset-typescript": "^7.23.3",
|
|
56
|
+
"@types/lodash": "^4.14.199",
|
|
57
|
+
"@types/node": "20.5.0",
|
|
58
|
+
"@types/react": "^19.0.0",
|
|
59
|
+
"@types/react-dom": "^19.0.0",
|
|
60
|
+
"@types/uuid": "^9.0.5",
|
|
61
|
+
"compile-sass": "^2.0.0",
|
|
62
|
+
"copyfiles": "^2.4.1",
|
|
63
|
+
"eslint": "8.47.0",
|
|
64
|
+
"eslint-config-next": "13.4.16",
|
|
65
|
+
"react": "^19.0.0",
|
|
66
|
+
"react-dom": "^19.0.0",
|
|
67
|
+
"sass": "1.99.0",
|
|
68
|
+
"typescript": "^5.1.6"
|
|
69
|
+
},
|
|
70
|
+
"dependencies": {
|
|
71
|
+
"@draft-js-plugins/alignment": "^5.0.3",
|
|
72
|
+
"@draft-js-plugins/drag-n-drop": "^4.2.3",
|
|
73
|
+
"@draft-js-plugins/editor": "^4.1.3",
|
|
74
|
+
"@draft-js-plugins/focus": "^4.1.4",
|
|
75
|
+
"@draft-js-plugins/image": "^4.1.4",
|
|
76
|
+
"@draft-js-plugins/resizeable": "^5.0.4",
|
|
77
|
+
"@draft-js-plugins/text-alignment": "^2.0.1",
|
|
78
|
+
"@draft-js-plugins/video": "^4.1.2",
|
|
79
|
+
"@hcaptcha/react-hcaptcha": "^1.8.1",
|
|
80
|
+
"@types/draft-js": "^0.11.4",
|
|
81
|
+
"draft-js": "^0.11.7",
|
|
82
|
+
"konva": "^10.3.2",
|
|
83
|
+
"lodash": "^4.17.21",
|
|
84
|
+
"@merchi/sdk": "^1.40.2",
|
|
85
|
+
"moment-timezone": "^0.5.45",
|
|
86
|
+
"react-dropzone": "^14.2.3",
|
|
87
|
+
"react-hook-form": "^7.45.4",
|
|
88
|
+
"react-icons": "^4.10.1",
|
|
89
|
+
"react-konva": "^19.2.5",
|
|
90
|
+
"react-tooltip": "^5.23.0",
|
|
91
|
+
"uuid": "^9.0.0"
|
|
92
|
+
}
|
|
93
|
+
}
|