@merchi/product-form 1.19.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (188) hide show
  1. package/README.md +272 -0
  2. package/lib/actions/jobs.d.ts +3 -0
  3. package/lib/actions/jobs.js +80 -0
  4. package/lib/actions/leads.d.ts +7 -0
  5. package/lib/actions/leads.js +67 -0
  6. package/lib/components/AlertVariationSellerEditable.d.ts +6 -0
  7. package/lib/components/AlertVariationSellerEditable.js +46 -0
  8. package/lib/components/Collapse.d.ts +3 -0
  9. package/lib/components/Collapse.js +34 -0
  10. package/lib/components/DateCountdown.d.ts +44 -0
  11. package/lib/components/DateCountdown.js +188 -0
  12. package/lib/components/DropzoneInput.d.ts +10 -0
  13. package/lib/components/DropzoneInput.js +169 -0
  14. package/lib/components/DynamicVariationInput.d.ts +9 -0
  15. package/lib/components/DynamicVariationInput.js +71 -0
  16. package/lib/components/FormLead.d.ts +10 -0
  17. package/lib/components/FormLead.js +215 -0
  18. package/lib/components/GroupInventory.d.ts +6 -0
  19. package/lib/components/GroupInventory.js +16 -0
  20. package/lib/components/InputGroupQuantity.d.ts +8 -0
  21. package/lib/components/InputGroupQuantity.js +117 -0
  22. package/lib/components/InputHiddenStatic.d.ts +8 -0
  23. package/lib/components/InputHiddenStatic.js +24 -0
  24. package/lib/components/InputProductQuantity.d.ts +7 -0
  25. package/lib/components/InputProductQuantity.js +102 -0
  26. package/lib/components/InventoryStatus.d.ts +7 -0
  27. package/lib/components/InventoryStatus.js +67 -0
  28. package/lib/components/MerchiProductForm.d.ts +62 -0
  29. package/lib/components/MerchiProductForm.js +51 -0
  30. package/lib/components/PriceMatrix.d.ts +27 -0
  31. package/lib/components/PriceMatrix.js +106 -0
  32. package/lib/components/ProductButtonsSubmit.d.ts +3 -0
  33. package/lib/components/ProductButtonsSubmit.js +52 -0
  34. package/lib/components/ProductFeatureDeadline.d.ts +3 -0
  35. package/lib/components/ProductFeatureDeadline.js +25 -0
  36. package/lib/components/ProductGroupBuyStatus.d.ts +3 -0
  37. package/lib/components/ProductGroupBuyStatus.js +47 -0
  38. package/lib/components/ProductPriceMatrix.d.ts +3 -0
  39. package/lib/components/ProductPriceMatrix.js +51 -0
  40. package/lib/components/ProductTitle.d.ts +3 -0
  41. package/lib/components/ProductTitle.js +36 -0
  42. package/lib/components/ProductTotalCost.d.ts +3 -0
  43. package/lib/components/ProductTotalCost.js +74 -0
  44. package/lib/components/ProductUnitPrice.d.ts +7 -0
  45. package/lib/components/ProductUnitPrice.js +51 -0
  46. package/lib/components/TooltipElement.d.ts +9 -0
  47. package/lib/components/TooltipElement.js +35 -0
  48. package/lib/components/VariationAreaInput.d.ts +8 -0
  49. package/lib/components/VariationAreaInput.js +219 -0
  50. package/lib/components/VariationCheckBoxOrRadioOption.d.ts +10 -0
  51. package/lib/components/VariationCheckBoxOrRadioOption.js +82 -0
  52. package/lib/components/VariationCheckboxRadio.d.ts +17 -0
  53. package/lib/components/VariationCheckboxRadio.js +57 -0
  54. package/lib/components/VariationColourExtractInput.d.ts +8 -0
  55. package/lib/components/VariationColourExtractInput.js +395 -0
  56. package/lib/components/VariationError.d.ts +7 -0
  57. package/lib/components/VariationError.js +52 -0
  58. package/lib/components/VariationFieldInputInstructions.d.ts +10 -0
  59. package/lib/components/VariationFieldInputInstructions.js +50 -0
  60. package/lib/components/VariationFieldInstructions.d.ts +3 -0
  61. package/lib/components/VariationFieldInstructions.js +22 -0
  62. package/lib/components/VariationFieldNameAndCostInputs.d.ts +7 -0
  63. package/lib/components/VariationFieldNameAndCostInputs.js +34 -0
  64. package/lib/components/VariationFieldOptionDefaultInputs.d.ts +7 -0
  65. package/lib/components/VariationFieldOptionDefaultInputs.js +48 -0
  66. package/lib/components/VariationFieldStaticValues.d.ts +8 -0
  67. package/lib/components/VariationFieldStaticValues.js +57 -0
  68. package/lib/components/VariationFileInput.d.ts +8 -0
  69. package/lib/components/VariationFileInput.js +229 -0
  70. package/lib/components/VariationInput.d.ts +11 -0
  71. package/lib/components/VariationInput.js +97 -0
  72. package/lib/components/VariationLabel.d.ts +11 -0
  73. package/lib/components/VariationLabel.js +85 -0
  74. package/lib/components/VariationOptionColour.d.ts +8 -0
  75. package/lib/components/VariationOptionColour.js +50 -0
  76. package/lib/components/VariationOptionImage.d.ts +8 -0
  77. package/lib/components/VariationOptionImage.js +52 -0
  78. package/lib/components/VariationSelect.d.ts +8 -0
  79. package/lib/components/VariationSelect.js +66 -0
  80. package/lib/components/VariationSelectElements.d.ts +16 -0
  81. package/lib/components/VariationSelectElements.js +141 -0
  82. package/lib/components/VariationTurnaroundTime.d.ts +9 -0
  83. package/lib/components/VariationTurnaroundTime.js +156 -0
  84. package/lib/components/Variations.d.ts +9 -0
  85. package/lib/components/Variations.js +109 -0
  86. package/lib/components/VariationsGroups.d.ts +8 -0
  87. package/lib/components/VariationsGroups.js +79 -0
  88. package/lib/components/buttons/ButtonAddGroup.d.ts +7 -0
  89. package/lib/components/buttons/ButtonAddGroup.js +38 -0
  90. package/lib/components/buttons/ButtonProductSubmit.d.ts +7 -0
  91. package/lib/components/buttons/ButtonProductSubmit.js +33 -0
  92. package/lib/components/buttons/ButtonRemoveGroup.d.ts +8 -0
  93. package/lib/components/buttons/ButtonRemoveGroup.js +25 -0
  94. package/lib/components/buttons/index.d.ts +4 -0
  95. package/lib/components/buttons/index.js +5 -0
  96. package/lib/components/cost.d.ts +11 -0
  97. package/lib/components/cost.js +44 -0
  98. package/lib/components/currency.d.ts +16 -0
  99. package/lib/components/currency.js +184 -0
  100. package/lib/components/drafts/DraftApprovePanel.d.ts +6 -0
  101. package/lib/components/drafts/DraftApprovePanel.js +315 -0
  102. package/lib/components/drafts/DraftCanvas.d.ts +13 -0
  103. package/lib/components/drafts/DraftCanvas.js +496 -0
  104. package/lib/components/drafts/DraftDesignerSheet.d.ts +9 -0
  105. package/lib/components/drafts/DraftDesignerSheet.js +685 -0
  106. package/lib/components/drafts/ProductDraftsHost.d.ts +3 -0
  107. package/lib/components/drafts/ProductDraftsHost.js +207 -0
  108. package/lib/components/drafts/useHtmlImage.d.ts +1 -0
  109. package/lib/components/drafts/useHtmlImage.js +45 -0
  110. package/lib/components/icons/IconChecked.d.ts +3 -0
  111. package/lib/components/icons/IconChecked.js +10 -0
  112. package/lib/components/icons/IconCheckedOrNoStock.d.ts +7 -0
  113. package/lib/components/icons/IconCheckedOrNoStock.js +13 -0
  114. package/lib/components/icons/IconCountryFlag.d.ts +8 -0
  115. package/lib/components/icons/IconCountryFlag.js +27 -0
  116. package/lib/components/icons/IconFile.d.ts +7 -0
  117. package/lib/components/icons/IconFile.js +41 -0
  118. package/lib/components/icons/IconNoStock.d.ts +3 -0
  119. package/lib/components/icons/IconNoStock.js +12 -0
  120. package/lib/components/icons/index.d.ts +5 -0
  121. package/lib/components/icons/index.js +6 -0
  122. package/lib/components/quoteAfterFieldChange.d.ts +7 -0
  123. package/lib/components/quoteAfterFieldChange.js +11 -0
  124. package/lib/components/quoteAfterFieldChange.test.js +58 -0
  125. package/lib/components/utils.d.ts +26 -0
  126. package/lib/components/utils.js +500 -0
  127. package/lib/context/MerchiProductFormProvider.d.ts +177 -0
  128. package/lib/context/MerchiProductFormProvider.js +1020 -0
  129. package/lib/images/product-not-found.png +0 -0
  130. package/lib/index.d.ts +42 -0
  131. package/lib/index.js +41 -0
  132. package/lib/styles/globals.css +1590 -0
  133. package/lib/styles/globals.css.map +1 -0
  134. package/lib/styles/globals.scss +1698 -0
  135. package/lib/utils/area.d.ts +77 -0
  136. package/lib/utils/area.js +298 -0
  137. package/lib/utils/cleanFormVariationJson.d.ts +5 -0
  138. package/lib/utils/cleanFormVariationJson.js +39 -0
  139. package/lib/utils/cleanFormVariationJson.test.js +54 -0
  140. package/lib/utils/countries.d.ts +7 -0
  141. package/lib/utils/countries.js +290 -0
  142. package/lib/utils/currency.d.ts +2 -0
  143. package/lib/utils/currency.js +188 -0
  144. package/lib/utils/draftExport.d.ts +21 -0
  145. package/lib/utils/draftExport.js +481 -0
  146. package/lib/utils/draftExport.test.js +78 -0
  147. package/lib/utils/draftFonts.d.ts +55 -0
  148. package/lib/utils/draftFonts.js +68 -0
  149. package/lib/utils/draftStorage.d.ts +25 -0
  150. package/lib/utils/draftStorage.js +148 -0
  151. package/lib/utils/draftStorage.test.js +125 -0
  152. package/lib/utils/draftTemplates.d.ts +87 -0
  153. package/lib/utils/draftTemplates.js +579 -0
  154. package/lib/utils/draftTemplates.test.js +476 -0
  155. package/lib/utils/formErrors.d.ts +2 -0
  156. package/lib/utils/formErrors.js +29 -0
  157. package/lib/utils/index.d.ts +3 -0
  158. package/lib/utils/index.js +4 -0
  159. package/lib/utils/priceMatrix.d.ts +57 -0
  160. package/lib/utils/priceMatrix.js +82 -0
  161. package/lib/utils/priceMatrix.test.js +200 -0
  162. package/lib/utils/products.d.ts +40 -0
  163. package/lib/utils/products.js +68 -0
  164. package/lib/utils/quantity.d.ts +7 -0
  165. package/lib/utils/quantity.js +19 -0
  166. package/lib/utils/quantity.test.js +42 -0
  167. package/lib/utils/reconcileVariations.d.ts +25 -0
  168. package/lib/utils/reconcileVariations.js +246 -0
  169. package/lib/utils/reconcileVariations.test.js +239 -0
  170. package/lib/utils/selectedVariationCosts.d.ts +6 -0
  171. package/lib/utils/selectedVariationCosts.js +59 -0
  172. package/lib/utils/selectedVariationCosts.test.js +66 -0
  173. package/lib/utils/selections.d.ts +23 -0
  174. package/lib/utils/selections.js +76 -0
  175. package/lib/utils/selections.test.js +159 -0
  176. package/lib/utils/singleOptionVariation.d.ts +2 -0
  177. package/lib/utils/singleOptionVariation.js +22 -0
  178. package/lib/utils/singleOptionVariation.test.js +59 -0
  179. package/lib/utils/supportedNumbers.d.ts +1 -0
  180. package/lib/utils/supportedNumbers.js +27 -0
  181. package/lib/utils/types.d.ts +114 -0
  182. package/lib/utils/types.js +50 -0
  183. package/lib/utils/url.d.ts +3 -0
  184. package/lib/utils/url.js +65 -0
  185. package/lib/utils/variationFields.d.ts +5 -0
  186. package/lib/utils/variationFields.js +116 -0
  187. package/lib/utils/variationFields.test.js +108 -0
  188. package/package.json +93 -0
@@ -0,0 +1,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
@@ -0,0 +1,3 @@
1
+ export declare function urlSearchParams(inputParams: any): string;
2
+ export declare function updateRouteParams(pathname: string, router: any, params: any): void;
3
+ export declare function paramsToObject(queryString: string): any;
@@ -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/OiBhbnkpIHtcbiAgaWYgKCFqb2IgfHwgdHlwZW9mIGpvYiAhPT0gJ29iamVjdCcpIHJldHVybiBqb2I7XG4gIGNvbnN0IHNvdXJjZVByb2R1Y3QgPSBwcm9kdWN0IHx8IGpvYi5wcm9kdWN0O1xuICBjb25zdCBpbmRlcGVuZGVudElkcyA9IG51bWVyaWNJZHMoXG4gICAgKHNhbml0aXplUHJvZHVjdFZhcmlhdGlvbkZpZWxkcyhzb3VyY2VQcm9kdWN0KT8uaW5kZXBlbmRlbnRWYXJpYXRpb25GaWVsZHMgfHwgW10pXG4gICAgICAubWFwKChmaWVsZDogYW55KSA9PiBmaWVsZD8uaWQpXG4gICk7XG5cbiAgaWYgKCFBcnJheS5pc0FycmF5KGpvYi52YXJpYXRpb25zR3JvdXBzKSB8fCAham9iLnZhcmlhdGlvbnNHcm91cHMubGVuZ3RoKSB7XG4gICAgcmV0dXJuIGpvYjtcbiAgfVxuXG4gIGNvbnN0IGxpZnRlZCA9IFsuLi4oam9iLnZhcmlhdGlvbnMgfHwgW10pXTtcbiAgY29uc3QgbGlmdGVkSWRzID0gbnVtZXJpY0lkcyhsaWZ0ZWQubWFwKHZhcmlhdGlvbkZpZWxkSWQpKTtcblxuICBjb25zdCB2YXJpYXRpb25zR3JvdXBzID0gam9iLnZhcmlhdGlvbnNHcm91cHMubWFwKChncm91cDogYW55KSA9PiAoe1xuICAgIC4uLmdyb3VwLFxuICAgIHZhcmlhdGlvbnM6IChncm91cD8udmFyaWF0aW9ucyB8fCBbXSkuZmlsdGVyKCh2YXJpYXRpb246IGFueSkgPT4ge1xuICAgICAgaWYgKCFpc0luZGVwZW5kZW50VmFyaWF0aW9uKHZhcmlhdGlvbiwgaW5kZXBlbmRlbnRJZHMpKSByZXR1cm4gdHJ1ZTtcbiAgICAgIGNvbnN0IGlkID0gdmFyaWF0aW9uRmllbGRJZCh2YXJpYXRpb24pO1xuICAgICAgaWYgKGlkICE9IG51bGwgJiYgIWxpZnRlZElkcy5oYXMoaWQpKSB7XG4gICAgICAgIGxpZnRlZC5wdXNoKHZhcmlhdGlvbik7XG4gICAgICAgIGxpZnRlZElkcy5hZGQoaWQpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0pLFxuICB9KSk7XG5cbiAgcmV0dXJuIHsgLi4uam9iLCB2YXJpYXRpb25zOiBsaWZ0ZWQsIHZhcmlhdGlvbnNHcm91cHMgfTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBOztBQUVBLFNBQVNBLFVBQVVBLENBQUNDLE1BQWlCLEVBQWU7RUFDbEQsSUFBTUMsR0FBRyxHQUFHLElBQUlDLEdBQUcsQ0FBUyxDQUFDO0VBQUMsSUFBQUMsU0FBQSxHQUFBQywwQkFBQSxDQUNWSixNQUFNO0lBQUFLLEtBQUE7RUFBQTtJQUExQixLQUFBRixTQUFBLENBQUFHLENBQUEsTUFBQUQsS0FBQSxHQUFBRixTQUFBLENBQUFJLENBQUEsSUFBQUMsSUFBQSxHQUE0QjtNQUFBLElBQWpCQyxLQUFLLEdBQUFKLEtBQUEsQ0FBQUksS0FBQTtNQUNkLElBQU1DLEVBQUUsR0FBR0MsTUFBTSxDQUFDRixLQUFLLENBQUM7TUFDeEIsSUFBSUUsTUFBTSxDQUFDQyxRQUFRLENBQUNGLEVBQUUsQ0FBQyxFQUFFVCxHQUFHLENBQUNZLEdBQUcsQ0FBQ0gsRUFBRSxDQUFDO0lBQ3RDO0VBQUMsU0FBQUksR0FBQTtJQUFBWCxTQUFBLENBQUFZLENBQUEsQ0FBQUQsR0FBQTtFQUFBO0lBQUFYLFNBQUEsQ0FBQWEsQ0FBQTtFQUFBO0VBQ0QsT0FBT2YsR0FBRztBQUNaO0FBRUEsT0FBTyxTQUFTZ0IsOEJBQThCQSxDQUFDQyxPQUFZLEVBQUU7RUFDM0QsSUFBSSxDQUFDQSxPQUFPLElBQUlDLE9BQUEsQ0FBT0QsT0FBTyxNQUFLLFFBQVEsRUFBRSxPQUFPQSxPQUFPO0VBRTNELElBQU1FLFdBQVcsR0FBQUMsa0JBQUEsQ0FBUUgsT0FBTyxDQUFDSSwwQkFBMEIsSUFBSSxFQUFFLENBQUU7RUFDbkUsSUFBTUMsY0FBYyxHQUFHeEIsVUFBVSxDQUFDcUIsV0FBVyxDQUFDSSxHQUFHLENBQUMsVUFBQ0MsS0FBVTtJ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
@@ -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
+ }