@merchi/product-form 1.19.33 → 1.19.35
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/lib/components/Variations.js +28 -5
- package/lib/components/drafts/DraftDesignerSheet.js +6 -4
- package/lib/styles/globals.css +10 -1
- package/lib/styles/globals.css.map +1 -1
- package/lib/styles/globals.scss +11 -1
- package/lib/utils/designerInputs.d.ts +1 -0
- package/lib/utils/designerInputs.js +5 -1
- package/lib/utils/designerInputs.test.js +12 -1
- package/lib/utils/quantityAdjustedCosts.d.ts +41 -0
- package/lib/utils/quantityAdjustedCosts.js +141 -0
- package/lib/utils/quantityAdjustedCosts.test.js +159 -0
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../../src/styles/globals.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAGC;AAEC;;AAEE;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAbL;AAiBC;;AACA;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAGF;EAZF;IAaI;;EAEA;IACE;;;AAKN;AAAA;EAGE;EACA;EACA;EACA;;AApDH;AAuDC;;AACA;EACE;;AAEA;EAHF;IAII;;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;EACA;;AAzEL;AA6EC;;AAKI;EACE;EACA;;AAIJ;EACE;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAvGL;AA2GC;;AAEE;EACE;EACA;;AA/GL;AAmHC;;AAEE;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;;AAtIL;AA0IC;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAtMP;AA2MC;;AAEE;EACE;EACA;EACA;;AAGF;EACE;EACA;;AAEA;EAJF;IAKI;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAnQP;AAwQC;;AAEE;EACE;EACA;EACA;;AAEA;EALF;IAMI;;;AAIJ;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;;AArUP;AA0UC;;AAEE;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAMF;EACE;EACA;EACA;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAKF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAIF;EACE;;AAIF;EACE;;AAKJ;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAtcL;AA0cC;;AAEE;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAIF;EACE;EACA;EACA;;AAIF;EACE;EACA;EACA;;AAIF;EACE;EACA;EACA;;AA1eL;AA+eC;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAvgBH;AA0gBC;;AAEE;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAEA;EANF;IAOI;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;;AAEA;EAHF;IAII;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAIJ;EACE;;AAplBH;AAulBC;;AAIE;EACE;EACA;EACA;;;AAKN;AAAA;AAAA;AAIA;AACA;EACE;;AAEA;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;;AAKN;AAEA;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;AACA;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAKF;EAEE;;AAGF;EAEE;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;AAAA;EAEE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;AAAA;AAAA;EAGE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;IACE;;EAGF;IACE;IACA;IACA;IACA;;EAGF;AAAA;IAEE;IACA;IACA;IACA;;EAGF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;IACA;;;AAIJ;EACE;IACE","file":"globals.css"}
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../../src/styles/globals.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAGC;AAEC;;AAEE;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAbL;AAiBC;;AACA;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAGF;EAZF;IAaI;;EAEA;IACE;;;AAKN;AAAA;EAGE;EACA;EACA;EACA;;AApDH;AAuDC;;AACA;EACE;;AAEA;EAHF;IAII;;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;EACA;;AAzEL;AA6EC;;AAKI;EACE;EACA;;AAIJ;EACE;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAvGL;AA2GC;;AAEE;EACE;EACA;;AA/GL;AAmHC;;AAEE;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;;AAtIL;AA0IC;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAtMP;AA2MC;;AAEE;EACE;EACA;EACA;;AAGF;EACE;EACA;;AAEA;EAJF;IAKI;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAnQP;AAwQC;;AAEE;EACE;EACA;EACA;;AAEA;EALF;IAMI;;;AAIJ;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;;AArUP;AA0UC;;AAEE;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAMF;EACE;EACA;EACA;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAKF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAIF;EACE;;AAIF;EACE;;AAKJ;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAtcL;AA0cC;;AAEE;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAIF;EACE;EACA;EACA;;AAIF;EACE;EACA;EACA;;AAIF;EACE;EACA;EACA;;AA1eL;AA+eC;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAvgBH;AA0gBC;;AAEE;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAEA;EANF;IAOI;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;;AAEA;EAHF;IAII;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAIJ;EACE;;AAplBH;AAulBC;;AAIE;EACE;EACA;EACA;;;AAKN;AAAA;AAAA;AAIA;AACA;EACE;;AAEA;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;;AAKN;AAEA;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;AACA;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAKF;EAEE;;AAGF;EAEE;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;AAAA;EAEE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;AAAA;AAAA;EAGE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;IACE;;EAGF;IACE;IACA;IACA;IACA;;EAGF;AAAA;IAEE;IACA;IACA;IACA;;EAGF;IACE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;IACA;;;AAIJ;EACE;IACE;;;AAIJ;EACE;;;AAGF;EACE;IACE","file":"globals.css"}
|
package/lib/styles/globals.scss
CHANGED
|
@@ -520,7 +520,7 @@
|
|
|
520
520
|
background: #f2f4fb;
|
|
521
521
|
border-top: 1px solid white;
|
|
522
522
|
border-left: 1px solid white;
|
|
523
|
-
margin: 0
|
|
523
|
+
margin: 0;
|
|
524
524
|
}
|
|
525
525
|
|
|
526
526
|
/* product groups */
|
|
@@ -1852,3 +1852,13 @@
|
|
|
1852
1852
|
flex: 1 1 calc(50% - 0.4rem);
|
|
1853
1853
|
}
|
|
1854
1854
|
}
|
|
1855
|
+
|
|
1856
|
+
.animate_spin {
|
|
1857
|
+
animation: merchi-product-form-spin 0.8s linear infinite;
|
|
1858
|
+
}
|
|
1859
|
+
|
|
1860
|
+
@keyframes merchi-product-form-spin {
|
|
1861
|
+
to {
|
|
1862
|
+
transform: rotate(360deg);
|
|
1863
|
+
}
|
|
1864
|
+
}
|
|
@@ -30,5 +30,6 @@ export interface CheckoutDesignInput {
|
|
|
30
30
|
textStyle?: DesignerTextStyle;
|
|
31
31
|
groupIndex?: number;
|
|
32
32
|
}
|
|
33
|
+
export declare function productAllowsAdditionalDesignObjects(product: any): boolean;
|
|
33
34
|
export declare function collectDesignerInputs(product: any, drafts: DraftTemplateData[]): DesignerInput[];
|
|
34
35
|
export declare function packDesignInputNotes(inputs: CheckoutDesignInput[]): string | undefined;
|
|
@@ -46,7 +46,11 @@ function clipName(value, fallback) {
|
|
|
46
46
|
var name = trimmed || fallback;
|
|
47
47
|
return name.length > NAME_LIMIT ? name.slice(0, NAME_LIMIT).trim() : name;
|
|
48
48
|
}
|
|
49
|
+
export function productAllowsAdditionalDesignObjects(product) {
|
|
50
|
+
return (product === null || product === void 0 ? void 0 : product.allowAdditionalDesignObjects) !== false;
|
|
51
|
+
}
|
|
49
52
|
export function collectDesignerInputs(product, drafts) {
|
|
53
|
+
if (!productAllowsAdditionalDesignObjects(product)) return [];
|
|
50
54
|
var grouped = productHasVariationGroups(product);
|
|
51
55
|
var inputs = [];
|
|
52
56
|
var _iterator2 = _createForOfIteratorHelper(drafts || []),
|
|
@@ -138,4 +142,4 @@ export function packDesignInputNotes(inputs) {
|
|
|
138
142
|
});
|
|
139
143
|
return "".concat(DESIGN_PREFIX).concat(btoa(binary)).concat(DESIGN_SUFFIX);
|
|
140
144
|
}
|
|
141
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwcm9kdWN0SGFzVmFyaWF0aW9uR3JvdXBzIiwiTkFNRV9MSU1JVCIsIkRFU0lHTl9QUkVGSVgiLCJERVNJR05fU1VGRklYIiwiVEVYVF9CT1hfTlVNQkVSUyIsImZpbml0ZU51bWJlciIsInZhbHVlIiwibnVtYmVyIiwiTnVtYmVyIiwiaXNGaW5pdGUiLCJ1bmRlZmluZWQiLCJ0ZXh0U3R5bGVGcm9tT2JqZWN0Iiwib2JqIiwic3R5bGUiLCJjb2xvdXIiLCJTdHJpbmciLCJmaWxsIiwidHJpbSIsInRleHRTaXplIiwiZm9udFNpemUiLCJmb250IiwiZm9udEZhbWlseSIsImFsaWduIiwiX2l0ZXJhdG9yIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJfc3RlcCIsInMiLCJuIiwiZG9uZSIsImtleSIsImVyciIsImUiLCJmIiwiT2JqZWN0Iiwia2V5cyIsImxlbmd0aCIsImNsaXBOYW1lIiwiZmFsbGJhY2siLCJ0cmltbWVkIiwicmVwbGFjZSIsIm5hbWUiLCJzbGljZSIsImNvbGxlY3REZXNpZ25lcklucHV0cyIsInByb2R1Y3QiLCJkcmFmdHMiLCJncm91cGVkIiwiaW5wdXRzIiwiX2l0ZXJhdG9yMiIsIl9zdGVwMiIsImRyYWZ0IiwiZ3JvdXBJbmRleCIsIl9pdGVyYXRvcjMiLCJ0ZW1wbGF0ZURhdGEiLCJfc3RlcDMiLCJfdGVtcGxhdGUkY2FudmFzSnNvbiIsInRlbXBsYXRlIiwiX2l0ZXJhdG9yNCIsImNhbnZhc0pzb24iLCJvYmplY3RzIiwiX3N0ZXA0IiwibWVyY2hpRmllbGRJZCIsInR5cGUiLCJ0ZXh0IiwidGV4dFN0eWxlIiwicHVzaCIsIl9vYmplY3RTcHJlYWQiLCJraW5kIiwic3JjIiwicGFja0Rlc2lnbklucHV0Tm90ZXMiLCJwYXlsb2FkIiwiZmlsdGVyIiwiaXRlbSIsIl9pdGVtJGZpbGUiLCJmaWxlIiwiaWQiLCJtYXAiLCJfaXRlbSRmaWxlMiIsImJ5dGVzIiwiVGV4dEVuY29kZXIiLCJlbmNvZGUiLCJKU09OIiwic3RyaW5naWZ5IiwiYmluYXJ5IiwiZm9yRWFjaCIsImJ5dGUiLCJmcm9tQ2hhckNvZGUiLCJjb25jYXQiLCJidG9hIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2Rlc2lnbmVySW5wdXRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHByb2R1Y3RIYXNWYXJpYXRpb25Hcm91cHMgfSBmcm9tICcuL2RyYWZ0VGVtcGxhdGVzJztcbmltcG9ydCB7IERyYWZ0VGVtcGxhdGVEYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5cbmNvbnN0IE5BTUVfTElNSVQgPSA4MDtcbmNvbnN0IERFU0lHTl9QUkVGSVggPSAnW1tjbGllbnQtZGVzaWduLWlucHV0czonO1xuY29uc3QgREVTSUdOX1NVRkZJWCA9ICddXSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVzaWduZXJUZXh0U3R5bGUge1xuICBjb2xvdXI/OiBzdHJpbmc7XG4gIHRleHRTaXplPzogbnVtYmVyO1xuICBmb250Pzogc3RyaW5nO1xuICBhbGlnbj86IHN0cmluZztcbiAgeD86IG51bWJlcjtcbiAgeT86IG51bWJlcjtcbiAgd2lkdGg/OiBudW1iZXI7XG4gIGhlaWdodD86IG51bWJlcjtcbiAgcm90YXRpb24/OiBudW1iZXI7XG4gIHNjYWxlWD86IG51bWJlcjtcbiAgc2NhbGVZPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlc2lnbmVySW5wdXQge1xuICBraW5kOiAndGV4dCcgfCAnZmlsZSc7XG4gIG5hbWU6IHN0cmluZztcbiAgdmFsdWU/OiBzdHJpbmc7XG4gIHNyYz86IHN0cmluZztcbiAgdGV4dFN0eWxlPzogRGVzaWduZXJUZXh0U3R5bGU7XG4gIGdyb3VwSW5kZXg/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlY2tvdXREZXNpZ25JbnB1dCB7XG4gIGtpbmQ6ICd0ZXh0JyB8ICdmaWxlJztcbiAgbmFtZTogc3RyaW5nO1xuICB2YWx1ZT86IHN0cmluZztcbiAgZmlsZT86IHsgaWQ6IG51bWJlciB8IHN0cmluZyB9O1xuICB0ZXh0U3R5bGU/OiBEZXNpZ25lclRleHRTdHlsZTtcbiAgZ3JvdXBJbmRleD86IG51bWJlcjtcbn1cblxuY29uc3QgVEVYVF9CT1hfTlVNQkVSUyA9IFtcbiAgJ3gnLFxuICAneScsXG4gICd3aWR0aCcsXG4gICdoZWlnaHQnLFxuICAncm90YXRpb24nLFxuICAnc2NhbGVYJyxcbiAgJ3NjYWxlWScsXG5dIGFzIGNvbnN0O1xuXG5mdW5jdGlvbiBmaW5pdGVOdW1iZXIodmFsdWU6IHVua25vd24pOiBudW1iZXIgfCB1bmRlZmluZWQge1xuICBjb25zdCBudW1iZXIgPSBOdW1iZXIodmFsdWUpO1xuICByZXR1cm4gTnVtYmVyLmlzRmluaXRlKG51bWJlcikgPyBudW1iZXIgOiB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIHRleHRTdHlsZUZyb21PYmplY3Qob2JqOiB7XG4gIGZpbGw/OiBzdHJpbmc7XG4gIGZvbnRTaXplPzogbnVtYmVyO1xuICBmb250RmFtaWx5Pzogc3RyaW5nO1xuICBhbGlnbj86IHN0cmluZztcbiAgeD86IG51bWJlcjtcbiAgeT86IG51bWJlcjtcbiAgd2lkdGg/OiBudW1iZXI7XG4gIGhlaWdodD86IG51bWJlcjtcbiAgcm90YXRpb24/OiBudW1iZXI7XG4gIHNjYWxlWD86IG51bWJlcjtcbiAgc2NhbGVZPzogbnVtYmVyO1xufSk6IERlc2lnbmVyVGV4dFN0eWxlIHwgdW5kZWZpbmVkIHtcbiAgY29uc3Qgc3R5bGU6IERlc2lnbmVyVGV4dFN0eWxlID0ge307XG4gIGNvbnN0IGNvbG91ciA9IFN0cmluZyhvYmouZmlsbCB8fCAnJykudHJpbSgpO1xuICBpZiAoY29sb3VyKSBzdHlsZS5jb2xvdXIgPSBjb2xvdXI7XG4gIGNvbnN0IHRleHRTaXplID0gZmluaXRlTnVtYmVyKG9iai5mb250U2l6ZSk7XG4gIGlmICh0ZXh0U2l6ZSAhPSBudWxsKSBzdHlsZS50ZXh0U2l6ZSA9IHRleHRTaXplO1xuICBjb25zdCBmb250ID0gU3RyaW5nKG9iai5mb250RmFtaWx5IHx8ICcnKS50cmltKCk7XG4gIGlmIChmb250KSBzdHlsZS5mb250ID0gZm9udDtcbiAgY29uc3QgYWxpZ24gPSBTdHJpbmcob2JqLmFsaWduIHx8ICcnKS50cmltKCk7XG4gIGlmIChhbGlnbikgc3R5bGUuYWxpZ24gPSBhbGlnbjtcbiAgZm9yIChjb25zdCBrZXkgb2YgVEVYVF9CT1hfTlVNQkVSUykge1xuICAgIGNvbnN0IG51bWJlciA9IGZpbml0ZU51bWJlcihvYmpba2V5XSk7XG4gICAgaWYgKG51bWJlciAhPSBudWxsKSBzdHlsZVtrZXldID0gbnVtYmVyO1xuICB9XG4gIHJldHVybiBPYmplY3Qua2V5cyhzdHlsZSkubGVuZ3RoID8gc3R5bGUgOiB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIGNsaXBOYW1lKHZhbHVlOiBzdHJpbmcsIGZhbGxiYWNrOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCB0cmltbWVkID0gdmFsdWUucmVwbGFjZSgvXFxzKy9nLCAnICcpLnRyaW0oKTtcbiAgY29uc3QgbmFtZSA9IHRyaW1tZWQgfHwgZmFsbGJhY2s7XG4gIHJldHVybiBuYW1lLmxlbmd0aCA+IE5BTUVfTElNSVQgPyBuYW1lLnNsaWNlKDAsIE5BTUVfTElNSVQpLnRyaW0oKSA6IG5hbWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb2xsZWN0RGVzaWduZXJJbnB1dHMoXG4gIHByb2R1Y3Q6IGFueSxcbiAgZHJhZnRzOiBEcmFmdFRlbXBsYXRlRGF0YVtdLFxuKTogRGVzaWduZXJJbnB1dFtdIHtcbiAgY29uc3QgZ3JvdXBlZCA9IHByb2R1Y3RIYXNWYXJpYXRpb25Hcm91cHMocHJvZHVjdCk7XG4gIGNvbnN0IGlucHV0czogRGVzaWduZXJJbnB1dFtdID0gW107XG4gIGZvciAoY29uc3QgZHJhZnQgb2YgZHJhZnRzIHx8IFtdKSB7XG4gICAgY29uc3QgZ3JvdXBJbmRleCA9IGdyb3VwZWQgPyBkcmFmdC5ncm91cEluZGV4IDogdW5kZWZpbmVkO1xuICAgIGZvciAoY29uc3QgdGVtcGxhdGUgb2YgZHJhZnQudGVtcGxhdGVEYXRhIHx8IFtdKSB7XG4gICAgICBmb3IgKGNvbnN0IG9iaiBvZiB0ZW1wbGF0ZS5jYW52YXNKc29uPy5vYmplY3RzIHx8IFtdKSB7XG4gICAgICAgIGlmIChvYmo/Lm1lcmNoaUZpZWxkSWQgIT0gbnVsbCkgY29udGludWU7XG4gICAgICAgIGlmIChvYmo/LnR5cGUgPT09ICd0ZXh0Jykge1xuICAgICAgICAgIGNvbnN0IHZhbHVlID0gU3RyaW5nKG9iai50ZXh0IHx8ICcnKS50cmltKCk7XG4gICAgICAgICAgaWYgKCF2YWx1ZSkgY29udGludWU7XG4gICAgICAgICAgY29uc3QgdGV4dFN0eWxlID0gdGV4dFN0eWxlRnJvbU9iamVjdChvYmopO1xuICAgICAgICAgIGlucHV0cy5wdXNoKHtcbiAgICAgICAgICAgIGtpbmQ6ICd0ZXh0JyxcbiAgICAgICAgICAgIG5hbWU6IGNsaXBOYW1lKHZhbHVlLCAnQ3VzdG9tIHRleHQnKSxcbiAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgLi4uKHRleHRTdHlsZSA/IHsgdGV4dFN0eWxlIH0gOiB7fSksXG4gICAgICAgICAgICAuLi4oZ3JvdXBJbmRleCAhPSBudWxsID8geyBncm91cEluZGV4IH0gOiB7fSksXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSBpZiAob2JqPy50eXBlID09PSAnaW1hZ2UnICYmIG9iai5zcmMpIHtcbiAgICAgICAgICBpbnB1dHMucHVzaCh7XG4gICAgICAgICAgICBraW5kOiAnZmlsZScsXG4gICAgICAgICAgICBuYW1lOiAnQ3VzdG9tIGltYWdlJyxcbiAgICAgICAgICAgIHNyYzogU3RyaW5nKG9iai5zcmMpLFxuICAgICAgICAgICAgLi4uKGdyb3VwSW5kZXggIT0gbnVsbCA/IHsgZ3JvdXBJbmRleCB9IDoge30pLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBpbnB1dHM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYWNrRGVzaWduSW5wdXROb3RlcyhcbiAgaW5wdXRzOiBDaGVja291dERlc2lnbklucHV0W10sXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBjb25zdCBwYXlsb2FkID0gKGlucHV0cyB8fCBbXSlcbiAgICAuZmlsdGVyKChpdGVtKSA9PiBpdGVtLmtpbmQgPT09ICd0ZXh0JyB8fCBpdGVtLmZpbGU/LmlkICE9IG51bGwpXG4gICAgLm1hcCgoaXRlbSkgPT4gKHtcbiAgICAgIGtpbmQ6IGl0ZW0ua2luZCxcbiAgICAgIG5hbWU6IGl0ZW0ubmFtZSxcbiAgICAgIC4uLihpdGVtLnZhbHVlICE9IG51bGwgPyB7IHZhbHVlOiBpdGVtLnZhbHVlIH0gOiB7fSksXG4gICAgICAuLi4oaXRlbS50ZXh0U3R5bGUgPyB7IHRleHRTdHlsZTogaXRlbS50ZXh0U3R5bGUgfSA6IHt9KSxcbiAgICAgIC4uLihpdGVtLmZpbGU/LmlkICE9IG51bGwgPyB7IGZpbGU6IHsgaWQ6IGl0ZW0uZmlsZS5pZCB9IH0gOiB7fSksXG4gICAgICAuLi4oaXRlbS5ncm91cEluZGV4ICE9IG51bGwgPyB7IGdyb3VwSW5kZXg6IGl0ZW0uZ3JvdXBJbmRleCB9IDoge30pLFxuICAgIH0pKTtcbiAgaWYgKCFwYXlsb2FkLmxlbmd0aCkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgY29uc3QgYnl0ZXMgPSBuZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoSlNPTi5zdHJpbmdpZnkocGF5bG9hZCkpO1xuICBsZXQgYmluYXJ5ID0gJyc7XG4gIGJ5dGVzLmZvckVhY2goKGJ5dGUpID0+IHtcbiAgICBiaW5hcnkgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShieXRlKTtcbiAgfSk7XG4gIHJldHVybiBgJHtERVNJR05fUFJFRklYfSR7YnRvYShiaW5hcnkpfSR7REVTSUdOX1NVRkZJWH1gO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxTQUFTQSx5QkFBeUIsUUFBUSxrQkFBa0I7QUFHNUQsSUFBTUMsVUFBVSxHQUFHLEVBQUU7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
|
|
145
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwcm9kdWN0SGFzVmFyaWF0aW9uR3JvdXBzIiwiTkFNRV9MSU1JVCIsIkRFU0lHTl9QUkVGSVgiLCJERVNJR05fU1VGRklYIiwiVEVYVF9CT1hfTlVNQkVSUyIsImZpbml0ZU51bWJlciIsInZhbHVlIiwibnVtYmVyIiwiTnVtYmVyIiwiaXNGaW5pdGUiLCJ1bmRlZmluZWQiLCJ0ZXh0U3R5bGVGcm9tT2JqZWN0Iiwib2JqIiwic3R5bGUiLCJjb2xvdXIiLCJTdHJpbmciLCJmaWxsIiwidHJpbSIsInRleHRTaXplIiwiZm9udFNpemUiLCJmb250IiwiZm9udEZhbWlseSIsImFsaWduIiwiX2l0ZXJhdG9yIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJfc3RlcCIsInMiLCJuIiwiZG9uZSIsImtleSIsImVyciIsImUiLCJmIiwiT2JqZWN0Iiwia2V5cyIsImxlbmd0aCIsImNsaXBOYW1lIiwiZmFsbGJhY2siLCJ0cmltbWVkIiwicmVwbGFjZSIsIm5hbWUiLCJzbGljZSIsInByb2R1Y3RBbGxvd3NBZGRpdGlvbmFsRGVzaWduT2JqZWN0cyIsInByb2R1Y3QiLCJhbGxvd0FkZGl0aW9uYWxEZXNpZ25PYmplY3RzIiwiY29sbGVjdERlc2lnbmVySW5wdXRzIiwiZHJhZnRzIiwiZ3JvdXBlZCIsImlucHV0cyIsIl9pdGVyYXRvcjIiLCJfc3RlcDIiLCJkcmFmdCIsImdyb3VwSW5kZXgiLCJfaXRlcmF0b3IzIiwidGVtcGxhdGVEYXRhIiwiX3N0ZXAzIiwiX3RlbXBsYXRlJGNhbnZhc0pzb24iLCJ0ZW1wbGF0ZSIsIl9pdGVyYXRvcjQiLCJjYW52YXNKc29uIiwib2JqZWN0cyIsIl9zdGVwNCIsIm1lcmNoaUZpZWxkSWQiLCJ0eXBlIiwidGV4dCIsInRleHRTdHlsZSIsInB1c2giLCJfb2JqZWN0U3ByZWFkIiwia2luZCIsInNyYyIsInBhY2tEZXNpZ25JbnB1dE5vdGVzIiwicGF5bG9hZCIsImZpbHRlciIsIml0ZW0iLCJfaXRlbSRmaWxlIiwiZmlsZSIsImlkIiwibWFwIiwiX2l0ZW0kZmlsZTIiLCJieXRlcyIsIlRleHRFbmNvZGVyIiwiZW5jb2RlIiwiSlNPTiIsInN0cmluZ2lmeSIsImJpbmFyeSIsImZvckVhY2giLCJieXRlIiwiZnJvbUNoYXJDb2RlIiwiY29uY2F0IiwiYnRvYSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9kZXNpZ25lcklucHV0cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwcm9kdWN0SGFzVmFyaWF0aW9uR3JvdXBzIH0gZnJvbSAnLi9kcmFmdFRlbXBsYXRlcyc7XG5pbXBvcnQgeyBEcmFmdFRlbXBsYXRlRGF0YSB9IGZyb20gJy4vdHlwZXMnO1xuXG5jb25zdCBOQU1FX0xJTUlUID0gODA7XG5jb25zdCBERVNJR05fUFJFRklYID0gJ1tbY2xpZW50LWRlc2lnbi1pbnB1dHM6JztcbmNvbnN0IERFU0lHTl9TVUZGSVggPSAnXV0nO1xuXG5leHBvcnQgaW50ZXJmYWNlIERlc2lnbmVyVGV4dFN0eWxlIHtcbiAgY29sb3VyPzogc3RyaW5nO1xuICB0ZXh0U2l6ZT86IG51bWJlcjtcbiAgZm9udD86IHN0cmluZztcbiAgYWxpZ24/OiBzdHJpbmc7XG4gIHg/OiBudW1iZXI7XG4gIHk/OiBudW1iZXI7XG4gIHdpZHRoPzogbnVtYmVyO1xuICBoZWlnaHQ/OiBudW1iZXI7XG4gIHJvdGF0aW9uPzogbnVtYmVyO1xuICBzY2FsZVg/OiBudW1iZXI7XG4gIHNjYWxlWT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZXNpZ25lcklucHV0IHtcbiAga2luZDogJ3RleHQnIHwgJ2ZpbGUnO1xuICBuYW1lOiBzdHJpbmc7XG4gIHZhbHVlPzogc3RyaW5nO1xuICBzcmM/OiBzdHJpbmc7XG4gIHRleHRTdHlsZT86IERlc2lnbmVyVGV4dFN0eWxlO1xuICBncm91cEluZGV4PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoZWNrb3V0RGVzaWduSW5wdXQge1xuICBraW5kOiAndGV4dCcgfCAnZmlsZSc7XG4gIG5hbWU6IHN0cmluZztcbiAgdmFsdWU/OiBzdHJpbmc7XG4gIGZpbGU/OiB7IGlkOiBudW1iZXIgfCBzdHJpbmcgfTtcbiAgdGV4dFN0eWxlPzogRGVzaWduZXJUZXh0U3R5bGU7XG4gIGdyb3VwSW5kZXg/OiBudW1iZXI7XG59XG5cbmNvbnN0IFRFWFRfQk9YX05VTUJFUlMgPSBbXG4gICd4JyxcbiAgJ3knLFxuICAnd2lkdGgnLFxuICAnaGVpZ2h0JyxcbiAgJ3JvdGF0aW9uJyxcbiAgJ3NjYWxlWCcsXG4gICdzY2FsZVknLFxuXSBhcyBjb25zdDtcblxuZnVuY3Rpb24gZmluaXRlTnVtYmVyKHZhbHVlOiB1bmtub3duKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgbnVtYmVyID0gTnVtYmVyKHZhbHVlKTtcbiAgcmV0dXJuIE51bWJlci5pc0Zpbml0ZShudW1iZXIpID8gbnVtYmVyIDogdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiB0ZXh0U3R5bGVGcm9tT2JqZWN0KG9iajoge1xuICBmaWxsPzogc3RyaW5nO1xuICBmb250U2l6ZT86IG51bWJlcjtcbiAgZm9udEZhbWlseT86IHN0cmluZztcbiAgYWxpZ24/OiBzdHJpbmc7XG4gIHg/OiBudW1iZXI7XG4gIHk/OiBudW1iZXI7XG4gIHdpZHRoPzogbnVtYmVyO1xuICBoZWlnaHQ/OiBudW1iZXI7XG4gIHJvdGF0aW9uPzogbnVtYmVyO1xuICBzY2FsZVg/OiBudW1iZXI7XG4gIHNjYWxlWT86IG51bWJlcjtcbn0pOiBEZXNpZ25lclRleHRTdHlsZSB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IHN0eWxlOiBEZXNpZ25lclRleHRTdHlsZSA9IHt9O1xuICBjb25zdCBjb2xvdXIgPSBTdHJpbmcob2JqLmZpbGwgfHwgJycpLnRyaW0oKTtcbiAgaWYgKGNvbG91cikgc3R5bGUuY29sb3VyID0gY29sb3VyO1xuICBjb25zdCB0ZXh0U2l6ZSA9IGZpbml0ZU51bWJlcihvYmouZm9udFNpemUpO1xuICBpZiAodGV4dFNpemUgIT0gbnVsbCkgc3R5bGUudGV4dFNpemUgPSB0ZXh0U2l6ZTtcbiAgY29uc3QgZm9udCA9IFN0cmluZyhvYmouZm9udEZhbWlseSB8fCAnJykudHJpbSgpO1xuICBpZiAoZm9udCkgc3R5bGUuZm9udCA9IGZvbnQ7XG4gIGNvbnN0IGFsaWduID0gU3RyaW5nKG9iai5hbGlnbiB8fCAnJykudHJpbSgpO1xuICBpZiAoYWxpZ24pIHN0eWxlLmFsaWduID0gYWxpZ247XG4gIGZvciAoY29uc3Qga2V5IG9mIFRFWFRfQk9YX05VTUJFUlMpIHtcbiAgICBjb25zdCBudW1iZXIgPSBmaW5pdGVOdW1iZXIob2JqW2tleV0pO1xuICAgIGlmIChudW1iZXIgIT0gbnVsbCkgc3R5bGVba2V5XSA9IG51bWJlcjtcbiAgfVxuICByZXR1cm4gT2JqZWN0LmtleXMoc3R5bGUpLmxlbmd0aCA/IHN0eWxlIDogdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiBjbGlwTmFtZSh2YWx1ZTogc3RyaW5nLCBmYWxsYmFjazogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgdHJpbW1lZCA9IHZhbHVlLnJlcGxhY2UoL1xccysvZywgJyAnKS50cmltKCk7XG4gIGNvbnN0IG5hbWUgPSB0cmltbWVkIHx8IGZhbGxiYWNrO1xuICByZXR1cm4gbmFtZS5sZW5ndGggPiBOQU1FX0xJTUlUID8gbmFtZS5zbGljZSgwLCBOQU1FX0xJTUlUKS50cmltKCkgOiBuYW1lO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvZHVjdEFsbG93c0FkZGl0aW9uYWxEZXNpZ25PYmplY3RzKHByb2R1Y3Q6IGFueSk6IGJvb2xlYW4ge1xuICByZXR1cm4gcHJvZHVjdD8uYWxsb3dBZGRpdGlvbmFsRGVzaWduT2JqZWN0cyAhPT0gZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb2xsZWN0RGVzaWduZXJJbnB1dHMoXG4gIHByb2R1Y3Q6IGFueSxcbiAgZHJhZnRzOiBEcmFmdFRlbXBsYXRlRGF0YVtdLFxuKTogRGVzaWduZXJJbnB1dFtdIHtcbiAgaWYgKCFwcm9kdWN0QWxsb3dzQWRkaXRpb25hbERlc2lnbk9iamVjdHMocHJvZHVjdCkpIHJldHVybiBbXTtcbiAgY29uc3QgZ3JvdXBlZCA9IHByb2R1Y3RIYXNWYXJpYXRpb25Hcm91cHMocHJvZHVjdCk7XG4gIGNvbnN0IGlucHV0czogRGVzaWduZXJJbnB1dFtdID0gW107XG4gIGZvciAoY29uc3QgZHJhZnQgb2YgZHJhZnRzIHx8IFtdKSB7XG4gICAgY29uc3QgZ3JvdXBJbmRleCA9IGdyb3VwZWQgPyBkcmFmdC5ncm91cEluZGV4IDogdW5kZWZpbmVkO1xuICAgIGZvciAoY29uc3QgdGVtcGxhdGUgb2YgZHJhZnQudGVtcGxhdGVEYXRhIHx8IFtdKSB7XG4gICAgICBmb3IgKGNvbnN0IG9iaiBvZiB0ZW1wbGF0ZS5jYW52YXNKc29uPy5vYmplY3RzIHx8IFtdKSB7XG4gICAgICAgIGlmIChvYmo/Lm1lcmNoaUZpZWxkSWQgIT0gbnVsbCkgY29udGludWU7XG4gICAgICAgIGlmIChvYmo/LnR5cGUgPT09ICd0ZXh0Jykge1xuICAgICAgICAgIGNvbnN0IHZhbHVlID0gU3RyaW5nKG9iai50ZXh0IHx8ICcnKS50cmltKCk7XG4gICAgICAgICAgaWYgKCF2YWx1ZSkgY29udGludWU7XG4gICAgICAgICAgY29uc3QgdGV4dFN0eWxlID0gdGV4dFN0eWxlRnJvbU9iamVjdChvYmopO1xuICAgICAgICAgIGlucHV0cy5wdXNoKHtcbiAgICAgICAgICAgIGtpbmQ6ICd0ZXh0JyxcbiAgICAgICAgICAgIG5hbWU6IGNsaXBOYW1lKHZhbHVlLCAnQ3VzdG9tIHRleHQnKSxcbiAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgLi4uKHRleHRTdHlsZSA/IHsgdGV4dFN0eWxlIH0gOiB7fSksXG4gICAgICAgICAgICAuLi4oZ3JvdXBJbmRleCAhPSBudWxsID8geyBncm91cEluZGV4IH0gOiB7fSksXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSBpZiAob2JqPy50eXBlID09PSAnaW1hZ2UnICYmIG9iai5zcmMpIHtcbiAgICAgICAgICBpbnB1dHMucHVzaCh7XG4gICAgICAgICAgICBraW5kOiAnZmlsZScsXG4gICAgICAgICAgICBuYW1lOiAnQ3VzdG9tIGltYWdlJyxcbiAgICAgICAgICAgIHNyYzogU3RyaW5nKG9iai5zcmMpLFxuICAgICAgICAgICAgLi4uKGdyb3VwSW5kZXggIT0gbnVsbCA/IHsgZ3JvdXBJbmRleCB9IDoge30pLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBpbnB1dHM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYWNrRGVzaWduSW5wdXROb3RlcyhcbiAgaW5wdXRzOiBDaGVja291dERlc2lnbklucHV0W10sXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBjb25zdCBwYXlsb2FkID0gKGlucHV0cyB8fCBbXSlcbiAgICAuZmlsdGVyKChpdGVtKSA9PiBpdGVtLmtpbmQgPT09ICd0ZXh0JyB8fCBpdGVtLmZpbGU/LmlkICE9IG51bGwpXG4gICAgLm1hcCgoaXRlbSkgPT4gKHtcbiAgICAgIGtpbmQ6IGl0ZW0ua2luZCxcbiAgICAgIG5hbWU6IGl0ZW0ubmFtZSxcbiAgICAgIC4uLihpdGVtLnZhbHVlICE9IG51bGwgPyB7IHZhbHVlOiBpdGVtLnZhbHVlIH0gOiB7fSksXG4gICAgICAuLi4oaXRlbS50ZXh0U3R5bGUgPyB7IHRleHRTdHlsZTogaXRlbS50ZXh0U3R5bGUgfSA6IHt9KSxcbiAgICAgIC4uLihpdGVtLmZpbGU/LmlkICE9IG51bGwgPyB7IGZpbGU6IHsgaWQ6IGl0ZW0uZmlsZS5pZCB9IH0gOiB7fSksXG4gICAgICAuLi4oaXRlbS5ncm91cEluZGV4ICE9IG51bGwgPyB7IGdyb3VwSW5kZXg6IGl0ZW0uZ3JvdXBJbmRleCB9IDoge30pLFxuICAgIH0pKTtcbiAgaWYgKCFwYXlsb2FkLmxlbmd0aCkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgY29uc3QgYnl0ZXMgPSBuZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoSlNPTi5zdHJpbmdpZnkocGF5bG9hZCkpO1xuICBsZXQgYmluYXJ5ID0gJyc7XG4gIGJ5dGVzLmZvckVhY2goKGJ5dGUpID0+IHtcbiAgICBiaW5hcnkgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShieXRlKTtcbiAgfSk7XG4gIHJldHVybiBgJHtERVNJR05fUFJFRklYfSR7YnRvYShiaW5hcnkpfSR7REVTSUdOX1NVRkZJWH1gO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxTQUFTQSx5QkFBeUIsUUFBUSxrQkFBa0I7QUFHNUQsSUFBTUMsVUFBVSxHQUFHLEVBQUU7QUFDckIsSUFBTUMsYUFBYSxHQUFHLHlCQUF5QjtBQUMvQyxJQUFNQyxhQUFhLEdBQUcsSUFBSTtBQWtDMUIsSUFBTUMsZ0JBQWdCLEdBQUcsQ0FDdkIsR0FBRyxFQUNILEdBQUcsRUFDSCxPQUFPLEVBQ1AsUUFBUSxFQUNSLFVBQVUsRUFDVixRQUFRLEVBQ1IsUUFBUSxDQUNBO0FBRVYsU0FBU0MsWUFBWUEsQ0FBQ0MsS0FBYyxFQUFzQjtFQUN4RCxJQUFNQyxNQUFNLEdBQUdDLE1BQU0sQ0FBQ0YsS0FBSyxDQUFDO0VBQzVCLE9BQU9FLE1BQU0sQ0FBQ0MsUUFBUSxDQUFDRixNQUFNLENBQUMsR0FBR0EsTUFBTSxHQUFHRyxTQUFTO0FBQ3JEO0FBRUEsU0FBU0MsbUJBQW1CQSxDQUFDQyxHQVk1QixFQUFpQztFQUNoQyxJQUFNQyxLQUF3QixHQUFHLENBQUMsQ0FBQztFQUNuQyxJQUFNQyxNQUFNLEdBQUdDLE1BQU0sQ0FBQ0gsR0FBRyxDQUFDSSxJQUFJLElBQUksRUFBRSxDQUFDLENBQUNDLElBQUksQ0FBQyxDQUFDO0VBQzVDLElBQUlILE1BQU0sRUFBRUQsS0FBSyxDQUFDQyxNQUFNLEdBQUdBLE1BQU07RUFDakMsSUFBTUksUUFBUSxHQUFHYixZQUFZLENBQUNPLEdBQUcsQ0FBQ08sUUFBUSxDQUFDO0VBQzNDLElBQUlELFFBQVEsSUFBSSxJQUFJLEVBQUVMLEtBQUssQ0FBQ0ssUUFBUSxHQUFH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
|
|
@@ -1,9 +1,15 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
1
2
|
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
2
3
|
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
4
|
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
4
5
|
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
5
6
|
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
6
7
|
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
8
|
+
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; }
|
|
9
|
+
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; }
|
|
10
|
+
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; }
|
|
11
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
12
|
+
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); }
|
|
7
13
|
import { collectDesignerInputs, packDesignInputNotes } from './designerInputs';
|
|
8
14
|
var groupedProduct = {
|
|
9
15
|
groupVariationFields: [{
|
|
@@ -103,6 +109,11 @@ test('collectDesignerInputs keeps only text and images the customer added', func
|
|
|
103
109
|
src: 'data:image/png;base64,aaa'
|
|
104
110
|
}]);
|
|
105
111
|
});
|
|
112
|
+
test('collectDesignerInputs drops extra text and images when the product disallows them', function () {
|
|
113
|
+
expect(collectDesignerInputs(_objectSpread(_objectSpread({}, plainProduct), {}, {
|
|
114
|
+
allowAdditionalDesignObjects: false
|
|
115
|
+
}), drafts())).toEqual([]);
|
|
116
|
+
});
|
|
106
117
|
test('collectDesignerInputs records the variation group when the product has groups', function () {
|
|
107
118
|
var _collectDesignerInput = collectDesignerInputs(groupedProduct, drafts()),
|
|
108
119
|
_collectDesignerInput2 = _slicedToArray(_collectDesignerInput, 1),
|
|
@@ -151,4 +162,4 @@ test('packDesignInputNotes hides the checkout payload in the cart marker', funct
|
|
|
151
162
|
}
|
|
152
163
|
}]);
|
|
153
164
|
});
|
|
154
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb2xsZWN0RGVzaWduZXJJbnB1dHMiLCJwYWNrRGVzaWduSW5wdXROb3RlcyIsImdyb3VwZWRQcm9kdWN0IiwiZ3JvdXBWYXJpYXRpb25GaWVsZHMiLCJpZCIsInBsYWluUHJvZHVjdCIsImRyYWZ0cyIsImdyb3VwSW5kZXgiLCJwcm9kdWN0SWQiLCJwcmV2aWV3cyIsInRlbXBsYXRlRGF0YSIsInRlbXBsYXRlSWQiLCJkcmFmdCIsImNhbnZhc1ByZXZpZXciLCJjYW52YXNKc29uIiwid2lkdGgiLCJoZWlnaHQiLCJvYmplY3RzIiwidHlwZSIsIm1lcmNoaUZpZWxkSWQiLCJ0ZXh0IiwieCIsInkiLCJyb3RhdGlvbiIsInNjYWxlWCIsInNjYWxlWSIsImZpbGwiLCJmb250U2l6ZSIsImZvbnRGYW1pbHkiLCJhbGlnbiIsInNyYyIsInRlc3QiLCJleHBlY3QiLCJ0b0VxdWFsIiwia2luZCIsIm5hbWUiLCJ2YWx1ZSIsInRleHRTdHlsZSIsImNvbG91ciIsInRleHRTaXplIiwiZm9udCIsIl9jb2xsZWN0RGVzaWduZXJJbnB1dCIsIl9jb2xsZWN0RGVzaWduZXJJbnB1dDIiLCJfc2xpY2VkVG9BcnJheSIsInRvQmUiLCJub3RlcyIsImZpbGUiLCJzdGFydHNXaXRoIiwiaW5jbHVkZXMiLCJlbmNvZGVkIiwic2xpY2UiLCJsZW5ndGgiLCJwYXJzZWQiLCJKU09OIiwicGFyc2UiLCJUZXh0RGVjb2RlciIsImRlY29kZSIsIlVpbnQ4QXJyYXkiLCJmcm9tIiwiYXRvYiIsImNoYXIiLCJjaGFyQ29kZUF0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2Rlc2lnbmVySW5wdXRzLnRlc3QudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgY29sbGVjdERlc2lnbmVySW5wdXRzLFxuICBwYWNrRGVzaWduSW5wdXROb3Rlcyxcbn0gZnJvbSAnLi9kZXNpZ25lcklucHV0cyc7XG5pbXBvcnQgeyBEcmFmdFRlbXBsYXRlRGF0YSB9IGZyb20gJy4vdHlwZXMnO1xuXG5jb25zdCBncm91cGVkUHJvZHVjdCA9IHsgZ3JvdXBWYXJpYXRpb25GaWVsZHM6IFt7IGlkOiA5IH1dIH07XG5jb25zdCBwbGFpblByb2R1Y3QgPSB7IGdyb3VwVmFyaWF0aW9uRmllbGRzOiBbXSB9O1xuXG5mdW5jdGlvbiBkcmFmdHMoKTogRHJhZnRUZW1wbGF0ZURhdGFbXSB7XG4gIHJldHVybiBbe1xuICAgIGdyb3VwSW5kZXg6IDAsXG4gICAgcHJvZHVjdElkOiA0LFxuICAgIHByZXZpZXdzOiBbXSxcbiAgICB0ZW1wbGF0ZURhdGE6IFt7XG4gICAgICB0ZW1wbGF0ZUlkOiAxLFxuICAgICAgZHJhZnQ6ICdkcmFmdCcsXG4gICAgICBjYW52YXNQcmV2aWV3OiAncHJldmlldycsXG4gICAgICBjYW52YXNKc29uOiB7XG4gICAgICAgIHdpZHRoOiAxMDAsXG4gICAgICAgIGhlaWdodDogMTAwLFxuICAgICAgICBvYmplY3RzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgaWQ6ICdsaW5rZWQnLFxuICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgbWVyY2hpRmllbGRJZDogOSxcbiAgICAgICAgICAgIHRleHQ6ICdGcm9tIHRoZSBmb3JtJyxcbiAgICAgICAgICAgIHg6IDAsIHk6IDAsIHdpZHRoOiAxMCwgaGVpZ2h0OiAxMCwgcm90YXRpb246IDAsIHNjYWxlWDogMSwgc2NhbGVZOiAxLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgaWQ6ICdhZGRlZCcsXG4gICAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgICAgICB0ZXh0OiAnVGVhbSBuaWdodCcsXG4gICAgICAgICAgICBmaWxsOiAnIzExMjIzMycsXG4gICAgICAgICAgICBmb250U2l6ZTogNTYsXG4gICAgICAgICAgICBmb250RmFtaWx5OiAnT3N3YWxkJyxcbiAgICAgICAgICAgIGFsaWduOiAnY2VudGVyJyxcbiAgICAgICAgICAgIHg6IDEyLCB5OiAyMCwgd2lkdGg6IDI0MCwgaGVpZ2h0OiA2NCwgcm90YXRpb246IDAsIHNjYWxlWDogMSwgc2NhbGVZOiAxLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgaWQ6ICdsb2dvJyxcbiAgICAgICAgICAgIHR5cGU6ICdpbWFnZScsXG4gICAgICAgICAgICBzcmM6ICdkYXRhOmltYWdlL3BuZztiYXNlNjQsYWFhJyxcbiAgICAgICAgICAgIHg6IDAsIHk6IDAsIHdpZHRoOiAxMCwgaGVpZ2h0OiAxMCwgcm90YXRpb246IDAsIHNjYWxlWDogMSwgc2NhbGVZOiAxLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgaWQ6ICdmaWxsJyxcbiAgICAgICAgICAgIHR5cGU6ICdyZWN0JyxcbiAgICAgICAgICAgIGZpbGw6ICcjMTExMTExJyxcbiAgICAgICAgICAgIHg6IDAsIHk6IDAsIHdpZHRoOiAxMCwgaGVpZ2h0OiAxMCwgcm90YXRpb246IDAsIHNjYWxlWDogMSwgc2NhbGVZOiAxLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH1dLFxuICB9XTtcbn1cblxudGVzdCgnY29sbGVjdERlc2lnbmVySW5wdXRzIGtlZXBzIG9ubHkgdGV4dCBhbmQgaW1hZ2VzIHRoZSBjdXN0b21lciBhZGRlZCcsICgpID0+IHtcbiAgZXhwZWN0KGNvbGxlY3REZXNpZ25lcklucHV0cyhwbGFpblByb2R1Y3QsIGRyYWZ0cygpKSkudG9FcXVhbChbXG4gICAge1xuICAgICAga2luZDogJ3RleHQnLFxuICAgICAgbmFtZTogJ1RlYW0gbmlnaHQnLFxuICAgICAgdmFsdWU6ICdUZWFtIG5pZ2h0JyxcbiAgICAgIHRleHRTdHlsZToge1xuICAgICAgICBjb2xvdXI6ICcjMTEyMjMzJyxcbiAgICAgICAgdGV4dFNpemU6IDU2LFxuICAgICAgICBmb250OiAnT3N3YWxkJyxcbiAgICAgICAgYWxpZ246ICdjZW50ZXInLFxuICAgICAgICB4OiAxMixcbiAgICAgICAgeTogMjAsXG4gICAgICAgIHdpZHRoOiAyNDAsXG4gICAgICAgIGhlaWdodDogNjQsXG4gICAgICAgIHJvdGF0aW9uOiAwLFxuICAgICAgICBzY2FsZVg6IDEsXG4gICAgICAgIHNjYWxlWTogMSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7IGtpbmQ6ICdmaWxlJywgbmFtZTogJ0N1c3RvbSBpbWFnZScsIHNyYzogJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxhYWEnIH0sXG4gIF0pO1xufSk7XG5cbnRlc3QoJ2NvbGxlY3REZXNpZ25lcklucHV0cyByZWNvcmRzIHRoZSB2YXJpYXRpb24gZ3JvdXAgd2hlbiB0aGUgcHJvZHVjdCBoYXMgZ3JvdXBzJywgKCkgPT4ge1xuICBjb25zdCBbdGV4dF0gPSBjb2xsZWN0RGVzaWduZXJJbnB1dHMoZ3JvdXBlZFByb2R1Y3QsIGRyYWZ0cygpKTtcbiAgZXhwZWN0KHRleHQuZ3JvdXBJbmRleCkudG9CZSgwKTtcbn0pO1xuXG50ZXN0KCdwYWNrRGVzaWduSW5wdXROb3RlcyBoaWRlcyB0aGUgY2hlY2tvdXQgcGF5bG9hZCBpbiB0aGUgY2FydCBtYXJrZXInLCAoKSA9PiB7XG4gIGNvbnN0IG5vdGVzID0gcGFja0Rlc2lnbklucHV0Tm90ZXMoW1xuICAgIHtcbiAgICAgIGtpbmQ6ICd0ZXh0JyxcbiAgICAgIG5hbWU6ICdUZWFtIG5pZ2h0JyxcbiAgICAgIHZhbHVlOiAnVGVhbSBuaWdodCcsXG4gICAgICB0ZXh0U3R5bGU6IHtcbiAgICAgICAgY29sb3VyOiAnIzExMjIzMycsXG4gICAgICAgIHRleHRTaXplOiA1NixcbiAgICAgICAgZm9udDogJ09zd2FsZCcsXG4gICAgICAgIGFsaWduOiAnY2VudGVyJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7IGtpbmQ6ICdmaWxlJywgbmFtZTogJ0N1c3RvbSBpbWFnZScsIGZpbGU6IHsgaWQ6ICdmaWxlLTEnIH0gfSxcbiAgXSk7XG4gIGV4cGVjdChub3Rlcz8uc3RhcnRzV2l0aCgnW1tjbGllbnQtZGVzaWduLWlucHV0czonKSkudG9CZSh0cnVlKTtcbiAgZXhwZWN0KG5vdGVzPy5pbmNsdWRlcygnZGF0YTppbWFnZScpKS50b0JlKGZhbHNlKTtcbiAgY29uc3QgZW5jb2RlZCA9IG5vdGVzIS5zbGljZSgnW1tjbGllbnQtZGVzaWduLWlucHV0czonLmxlbmd0aCwgLTIpO1xuICBjb25zdCBwYXJzZWQgPSBKU09OLnBhcnNlKG5ldyBUZXh0RGVjb2RlcigpLmRlY29kZShcbiAgICBVaW50OEFycmF5LmZyb20oYXRvYihlbmNvZGVkKSwgKGNoYXIpID0+IGNoYXIuY2hhckNvZGVBdCgwKSksXG4gICkpO1xuICBleHBlY3QocGFyc2VkKS50b0VxdWFsKFtcbiAgICB7XG4gICAgICBraW5kOiAndGV4dCcsXG4gICAgICBuYW1lOiAnVGVhbSBuaWdodCcsXG4gICAgICB2YWx1ZTogJ1RlYW0gbmlnaHQnLFxuICAgICAgdGV4dFN0eWxlOiB7XG4gICAgICAgIGNvbG91cjogJyMxMTIyMzMnLFxuICAgICAgICB0ZXh0U2l6ZTogNTYsXG4gICAgICAgIGZvbnQ6ICdPc3dhbGQnLFxuICAgICAgICBhbGlnbjogJ2NlbnRlcicsXG4gICAgICB9LFxuICAgIH0sXG4gICAgeyBraW5kOiAnZmlsZScsIG5hbWU6ICdDdXN0b20gaW1hZ2UnLCBmaWxlOiB7IGlkOiAnZmlsZS0xJyB9IH0sXG4gIF0pO1xufSk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLFNBQ0VBLHFCQUFxQixFQUNyQkMsb0JBQW9CLFFBQ2Ysa0JBQWtCO0FBR3pCLElBQU1DLGNBQWMsR0FBRztFQUFFQyxvQkFBb0IsRUFBRSxDQUFDO0lBQUVDLEVBQUUsRUFBRTtFQUFFLENBQUM7QUFBRSxDQUFDO0FBQzVELElBQU1DLFlBQVksR0FBRztFQUFFRixvQkFBb0IsRUFBRTtBQUFHLENBQUM7QUFFakQsU0FBU0csTUFBTUEsQ0FBQSxFQUF3QjtFQUNyQyxPQUFPLENBQUM7SUFDTkMsVUFBVSxFQUFFLENBQUM7SUFDYkMsU0FBUyxFQUFFLENBQUM7SUFDWkMsUUFBUSxF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
|
|
165
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb2xsZWN0RGVzaWduZXJJbnB1dHMiLCJwYWNrRGVzaWduSW5wdXROb3RlcyIsImdyb3VwZWRQcm9kdWN0IiwiZ3JvdXBWYXJpYXRpb25GaWVsZHMiLCJpZCIsInBsYWluUHJvZHVjdCIsImRyYWZ0cyIsImdyb3VwSW5kZXgiLCJwcm9kdWN0SWQiLCJwcmV2aWV3cyIsInRlbXBsYXRlRGF0YSIsInRlbXBsYXRlSWQiLCJkcmFmdCIsImNhbnZhc1ByZXZpZXciLCJjYW52YXNKc29uIiwid2lkdGgiLCJoZWlnaHQiLCJvYmplY3RzIiwidHlwZSIsIm1lcmNoaUZpZWxkSWQiLCJ0ZXh0IiwieCIsInkiLCJyb3RhdGlvbiIsInNjYWxlWCIsInNjYWxlWSIsImZpbGwiLCJmb250U2l6ZSIsImZvbnRGYW1pbHkiLCJhbGlnbiIsInNyYyIsInRlc3QiLCJleHBlY3QiLCJ0b0VxdWFsIiwia2luZCIsIm5hbWUiLCJ2YWx1ZSIsInRleHRTdHlsZSIsImNvbG91ciIsInRleHRTaXplIiwiZm9udCIsIl9vYmplY3RTcHJlYWQiLCJhbGxvd0FkZGl0aW9uYWxEZXNpZ25PYmplY3RzIiwiX2NvbGxlY3REZXNpZ25lcklucHV0IiwiX2NvbGxlY3REZXNpZ25lcklucHV0MiIsIl9zbGljZWRUb0FycmF5IiwidG9CZSIsIm5vdGVzIiwiZmlsZSIsInN0YXJ0c1dpdGgiLCJpbmNsdWRlcyIsImVuY29kZWQiLCJzbGljZSIsImxlbmd0aCIsInBhcnNlZCIsIkpTT04iLCJwYXJzZSIsIlRleHREZWNvZGVyIiwiZGVjb2RlIiwiVWludDhBcnJheSIsImZyb20iLCJhdG9iIiwiY2hhciIsImNoYXJDb2RlQXQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvZGVzaWduZXJJbnB1dHMudGVzdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBjb2xsZWN0RGVzaWduZXJJbnB1dHMsXG4gIHBhY2tEZXNpZ25JbnB1dE5vdGVzLFxufSBmcm9tICcuL2Rlc2lnbmVySW5wdXRzJztcbmltcG9ydCB7IERyYWZ0VGVtcGxhdGVEYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5cbmNvbnN0IGdyb3VwZWRQcm9kdWN0ID0geyBncm91cFZhcmlhdGlvbkZpZWxkczogW3sgaWQ6IDkgfV0gfTtcbmNvbnN0IHBsYWluUHJvZHVjdCA9IHsgZ3JvdXBWYXJpYXRpb25GaWVsZHM6IFtdIH07XG5cbmZ1bmN0aW9uIGRyYWZ0cygpOiBEcmFmdFRlbXBsYXRlRGF0YVtdIHtcbiAgcmV0dXJuIFt7XG4gICAgZ3JvdXBJbmRleDogMCxcbiAgICBwcm9kdWN0SWQ6IDQsXG4gICAgcHJldmlld3M6IFtdLFxuICAgIHRlbXBsYXRlRGF0YTogW3tcbiAgICAgIHRlbXBsYXRlSWQ6IDEsXG4gICAgICBkcmFmdDogJ2RyYWZ0JyxcbiAgICAgIGNhbnZhc1ByZXZpZXc6ICdwcmV2aWV3JyxcbiAgICAgIGNhbnZhc0pzb246IHtcbiAgICAgICAgd2lkdGg6IDEwMCxcbiAgICAgICAgaGVpZ2h0OiAxMDAsXG4gICAgICAgIG9iamVjdHM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZDogJ2xpbmtlZCcsXG4gICAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgICAgICBtZXJjaGlGaWVsZElkOiA5LFxuICAgICAgICAgICAgdGV4dDogJ0Zyb20gdGhlIGZvcm0nLFxuICAgICAgICAgICAgeDogMCwgeTogMCwgd2lkdGg6IDEwLCBoZWlnaHQ6IDEwLCByb3RhdGlvbjogMCwgc2NhbGVYOiAxLCBzY2FsZVk6IDEsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZDogJ2FkZGVkJyxcbiAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgIHRleHQ6ICdUZWFtIG5pZ2h0JyxcbiAgICAgICAgICAgIGZpbGw6ICcjMTEyMjMzJyxcbiAgICAgICAgICAgIGZvbnRTaXplOiA1NixcbiAgICAgICAgICAgIGZvbnRGYW1pbHk6ICdPc3dhbGQnLFxuICAgICAgICAgICAgYWxpZ246ICdjZW50ZXInLFxuICAgICAgICAgICAgeDogMTIsIHk6IDIwLCB3aWR0aDogMjQwLCBoZWlnaHQ6IDY0LCByb3RhdGlvbjogMCwgc2NhbGVYOiAxLCBzY2FsZVk6IDEsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZDogJ2xvZ28nLFxuICAgICAgICAgICAgdHlwZTogJ2ltYWdlJyxcbiAgICAgICAgICAgIHNyYzogJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxhYWEnLFxuICAgICAgICAgICAgeDogMCwgeTogMCwgd2lkdGg6IDEwLCBoZWlnaHQ6IDEwLCByb3RhdGlvbjogMCwgc2NhbGVYOiAxLCBzY2FsZVk6IDEsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZDogJ2ZpbGwnLFxuICAgICAgICAgICAgdHlwZTogJ3JlY3QnLFxuICAgICAgICAgICAgZmlsbDogJyMxMTExMTEnLFxuICAgICAgICAgICAgeDogMCwgeTogMCwgd2lkdGg6IDEwLCBoZWlnaHQ6IDEwLCByb3RhdGlvbjogMCwgc2NhbGVYOiAxLCBzY2FsZVk6IDEsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfV0sXG4gIH1dO1xufVxuXG50ZXN0KCdjb2xsZWN0RGVzaWduZXJJbnB1dHMga2VlcHMgb25seSB0ZXh0IGFuZCBpbWFnZXMgdGhlIGN1c3RvbWVyIGFkZGVkJywgKCkgPT4ge1xuICBleHBlY3QoY29sbGVjdERlc2lnbmVySW5wdXRzKHBsYWluUHJvZHVjdCwgZHJhZnRzKCkpKS50b0VxdWFsKFtcbiAgICB7XG4gICAgICBraW5kOiAndGV4dCcsXG4gICAgICBuYW1lOiAnVGVhbSBuaWdodCcsXG4gICAgICB2YWx1ZTogJ1RlYW0gbmlnaHQnLFxuICAgICAgdGV4dFN0eWxlOiB7XG4gICAgICAgIGNvbG91cjogJyMxMTIyMzMnLFxuICAgICAgICB0ZXh0U2l6ZTogNTYsXG4gICAgICAgIGZvbnQ6ICdPc3dhbGQnLFxuICAgICAgICBhbGlnbjogJ2NlbnRlcicsXG4gICAgICAgIHg6IDEyLFxuICAgICAgICB5OiAyMCxcbiAgICAgICAgd2lkdGg6IDI0MCxcbiAgICAgICAgaGVpZ2h0OiA2NCxcbiAgICAgICAgcm90YXRpb246IDAsXG4gICAgICAgIHNjYWxlWDogMSxcbiAgICAgICAgc2NhbGVZOiAxLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHsga2luZDogJ2ZpbGUnLCBuYW1lOiAnQ3VzdG9tIGltYWdlJywgc3JjOiAnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGFhYScgfSxcbiAgXSk7XG59KTtcblxudGVzdCgnY29sbGVjdERlc2lnbmVySW5wdXRzIGRyb3BzIGV4dHJhIHRleHQgYW5kIGltYWdlcyB3aGVuIHRoZSBwcm9kdWN0IGRpc2FsbG93cyB0aGVtJywgKCkgPT4ge1xuICBleHBlY3QoY29sbGVjdERlc2lnbmVySW5wdXRzKFxuICAgIHsgLi4ucGxhaW5Qcm9kdWN0LCBhbGxvd0FkZGl0aW9uYWxEZXNpZ25PYmplY3RzOiBmYWxzZSB9LFxuICAgIGRyYWZ0cygpLFxuICApKS50b0VxdWFsKFtdKTtcbn0pO1xuXG50ZXN0KCdjb2xsZWN0RGVzaWduZXJJbnB1dHMgcmVjb3JkcyB0aGUgdmFyaWF0aW9uIGdyb3VwIHdoZW4gdGhlIHByb2R1Y3QgaGFzIGdyb3VwcycsICgpID0+IHtcbiAgY29uc3QgW3RleHRdID0gY29sbGVjdERlc2lnbmVySW5wdXRzKGdyb3VwZWRQcm9kdWN0LCBkcmFmdHMoKSk7XG4gIGV4cGVjdCh0ZXh0Lmdyb3VwSW5kZXgpLnRvQmUoMCk7XG59KTtcblxudGVzdCgncGFja0Rlc2lnbklucHV0Tm90ZXMgaGlkZXMgdGhlIGNoZWNrb3V0IHBheWxvYWQgaW4gdGhlIGNhcnQgbWFya2VyJywgKCkgPT4ge1xuICBjb25zdCBub3RlcyA9IHBhY2tEZXNpZ25JbnB1dE5vdGVzKFtcbiAgICB7XG4gICAgICBraW5kOiAndGV4dCcsXG4gICAgICBuYW1lOiAnVGVhbSBuaWdodCcsXG4gICAgICB2YWx1ZTogJ1RlYW0gbmlnaHQnLFxuICAgICAgdGV4dFN0eWxlOiB7XG4gICAgICAgIGNvbG91cjogJyMxMTIyMzMnLFxuICAgICAgICB0ZXh0U2l6ZTogNTYsXG4gICAgICAgIGZvbnQ6ICdPc3dhbGQnLFxuICAgICAgICBhbGlnbjogJ2NlbnRlcicsXG4gICAgICB9LFxuICAgIH0sXG4gICAgeyBraW5kOiAnZmlsZScsIG5hbWU6ICdDdXN0b20gaW1hZ2UnLCBmaWxlOiB7IGlkOiAnZmlsZS0xJyB9IH0sXG4gIF0pO1xuICBleHBlY3Qobm90ZXM/LnN0YXJ0c1dpdGgoJ1tbY2xpZW50LWRlc2lnbi1pbnB1dHM6JykpLnRvQmUodHJ1ZSk7XG4gIGV4cGVjdChub3Rlcz8uaW5jbHVkZXMoJ2RhdGE6aW1hZ2UnKSkudG9CZShmYWxzZSk7XG4gIGNvbnN0IGVuY29kZWQgPSBub3RlcyEuc2xpY2UoJ1tbY2xpZW50LWRlc2lnbi1pbnB1dHM6Jy5sZW5ndGgsIC0yKTtcbiAgY29uc3QgcGFyc2VkID0gSlNPTi5wYXJzZShuZXcgVGV4dERlY29kZXIoKS5kZWNvZGUoXG4gICAgVWludDhBcnJheS5mcm9tKGF0b2IoZW5jb2RlZCksIChjaGFyKSA9PiBjaGFyLmNoYXJDb2RlQXQoMCkpLFxuICApKTtcbiAgZXhwZWN0KHBhcnNlZCkudG9FcXVhbChbXG4gICAge1xuICAgICAga2luZDogJ3RleHQnLFxuICAgICAgbmFtZTogJ1RlYW0gbmlnaHQnLFxuICAgICAgdmFsdWU6ICdUZWFtIG5pZ2h0JyxcbiAgICAgIHRleHRTdHlsZToge1xuICAgICAgICBjb2xvdXI6ICcjMTEyMjMzJyxcbiAgICAgICAgdGV4dFNpemU6IDU2LFxuICAgICAgICBmb250OiAnT3N3YWxkJyxcbiAgICAgICAgYWxpZ246ICdjZW50ZXInLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHsga2luZDogJ2ZpbGUnLCBuYW1lOiAnQ3VzdG9tIGltYWdlJywgZmlsZTogeyBpZDogJ2ZpbGUtMScgfSB9LFxuICBdKTtcbn0pO1xuIl0sIm1hcHBpbmdz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
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Quantity-adjusted once-off and per-unit costs for select options and field labels.
|
|
3
|
+
*
|
|
4
|
+
* The server sets these in Variations.generate_variation_option by pricing each
|
|
5
|
+
* option with get_variation_cost([quantity]) and get_variation_unit_cost([quantity]).
|
|
6
|
+
* One quantity means both restricted and unrestricted discounts use that quantity.
|
|
7
|
+
* Independent fields use the job quantity (the sum of the groups). A group field
|
|
8
|
+
* uses that group's quantity.
|
|
9
|
+
*
|
|
10
|
+
* The discount step matches @merchi/sdk pricing applyDiscount / variationUnitCosts.
|
|
11
|
+
*/
|
|
12
|
+
interface DiscountTier {
|
|
13
|
+
lowerLimit: number;
|
|
14
|
+
amount: number;
|
|
15
|
+
}
|
|
16
|
+
interface DiscountGroup {
|
|
17
|
+
discounts?: DiscountTier[];
|
|
18
|
+
}
|
|
19
|
+
interface CostSource {
|
|
20
|
+
variationCost?: number;
|
|
21
|
+
variationUnitCost?: number;
|
|
22
|
+
variationCostDiscountGroup?: DiscountGroup | null;
|
|
23
|
+
variationUnitCostDiscountGroup?: DiscountGroup | null;
|
|
24
|
+
}
|
|
25
|
+
export declare function costsAtQuantity(source: CostSource, quantity: number): {
|
|
26
|
+
onceOffCost: number;
|
|
27
|
+
unitCost: number;
|
|
28
|
+
};
|
|
29
|
+
export declare function groupIndexFromVariationName(name: string): number | null;
|
|
30
|
+
export declare function displayQuantity(options: {
|
|
31
|
+
groupIndex: number | null;
|
|
32
|
+
groupQuantity: unknown;
|
|
33
|
+
groups?: Array<{
|
|
34
|
+
quantity?: unknown;
|
|
35
|
+
}> | null;
|
|
36
|
+
jobQuantity: unknown;
|
|
37
|
+
hasGroups: boolean;
|
|
38
|
+
}): number;
|
|
39
|
+
/** Replace stale base rates on a variation with the costs for `quantity`. */
|
|
40
|
+
export declare function withQuantityAdjustedDisplayCosts(variation: any, rules: any, quantity: number): any;
|
|
41
|
+
export {};
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function 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; }
|
|
3
|
+
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; }
|
|
4
|
+
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; }
|
|
5
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
6
|
+
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); }
|
|
7
|
+
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
8
|
+
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."); }
|
|
9
|
+
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; } }
|
|
10
|
+
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
11
|
+
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
12
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
13
|
+
import { FieldType } from './types';
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Quantity-adjusted once-off and per-unit costs for select options and field labels.
|
|
17
|
+
*
|
|
18
|
+
* The server sets these in Variations.generate_variation_option by pricing each
|
|
19
|
+
* option with get_variation_cost([quantity]) and get_variation_unit_cost([quantity]).
|
|
20
|
+
* One quantity means both restricted and unrestricted discounts use that quantity.
|
|
21
|
+
* Independent fields use the job quantity (the sum of the groups). A group field
|
|
22
|
+
* uses that group's quantity.
|
|
23
|
+
*
|
|
24
|
+
* The discount step matches @merchi/sdk pricing applyDiscount / variationUnitCosts.
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
function roundHalfEven(value, dp) {
|
|
28
|
+
if (!Number.isFinite(value)) return value;
|
|
29
|
+
var factor = Math.pow(10, dp);
|
|
30
|
+
var scaled = value * factor;
|
|
31
|
+
var floor = Math.floor(scaled);
|
|
32
|
+
var diff = scaled - floor;
|
|
33
|
+
var EPS = 1e-9;
|
|
34
|
+
var rounded;
|
|
35
|
+
if (Math.abs(diff - 0.5) < EPS) {
|
|
36
|
+
rounded = floor % 2 === 0 ? floor : floor + 1;
|
|
37
|
+
} else {
|
|
38
|
+
rounded = Math.round(scaled);
|
|
39
|
+
}
|
|
40
|
+
return rounded / factor;
|
|
41
|
+
}
|
|
42
|
+
function applyDiscount(price, qty, group) {
|
|
43
|
+
var tiers = (group === null || group === void 0 ? void 0 : group.discounts) || [];
|
|
44
|
+
if (!tiers.length) return roundHalfEven(price, 3);
|
|
45
|
+
var applicable = tiers.filter(function (tier) {
|
|
46
|
+
return tier.lowerLimit <= qty;
|
|
47
|
+
}).sort(function (a, b) {
|
|
48
|
+
return b.lowerLimit - a.lowerLimit;
|
|
49
|
+
});
|
|
50
|
+
var amount = applicable.length ? applicable[0].amount : 0;
|
|
51
|
+
return roundHalfEven(price * (1 - amount / 100), 3);
|
|
52
|
+
}
|
|
53
|
+
export function costsAtQuantity(source, quantity) {
|
|
54
|
+
var qty = Number(quantity);
|
|
55
|
+
var safeQty = Number.isFinite(qty) ? qty : 0;
|
|
56
|
+
var setupBase = Number(source.variationCost);
|
|
57
|
+
var unitBase = Number(source.variationUnitCost);
|
|
58
|
+
var onceOffBase = Number.isFinite(setupBase) ? setupBase : 0;
|
|
59
|
+
var unitStart = Number.isFinite(unitBase) ? unitBase : 0;
|
|
60
|
+
var onceOffCost = source.variationCostDiscountGroup ? applyDiscount(onceOffBase, safeQty, source.variationCostDiscountGroup) : roundHalfEven(onceOffBase, 3);
|
|
61
|
+
var unitCost = source.variationUnitCostDiscountGroup ? roundHalfEven(applyDiscount(unitStart, safeQty, source.variationUnitCostDiscountGroup), 3) : roundHalfEven(unitStart, 3);
|
|
62
|
+
return {
|
|
63
|
+
onceOffCost: onceOffCost,
|
|
64
|
+
unitCost: unitCost
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
function sameId(left, right) {
|
|
68
|
+
var a = Number(left);
|
|
69
|
+
var b = Number(right);
|
|
70
|
+
return Number.isFinite(a) && a === b;
|
|
71
|
+
}
|
|
72
|
+
function findPricingField(rules, fieldId) {
|
|
73
|
+
var fields = [].concat(_toConsumableArray((rules === null || rules === void 0 ? void 0 : rules.fields) || []), _toConsumableArray((rules === null || rules === void 0 ? void 0 : rules.groupFields) || []));
|
|
74
|
+
return fields.find(function (field) {
|
|
75
|
+
return sameId(field === null || field === void 0 ? void 0 : field.id, fieldId) || sameId(field === null || field === void 0 ? void 0 : field.originalId, fieldId);
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
function findPricingOption(field, optionId) {
|
|
79
|
+
return ((field === null || field === void 0 ? void 0 : field.options) || []).find(function (option) {
|
|
80
|
+
return sameId(option === null || option === void 0 ? void 0 : option.id, optionId) || sameId(option === null || option === void 0 ? void 0 : option.originalId, optionId);
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
export function groupIndexFromVariationName(name) {
|
|
84
|
+
var match = /^variationsGroups\[(\d+)\]/.exec(name || '');
|
|
85
|
+
return match ? Number(match[1]) : null;
|
|
86
|
+
}
|
|
87
|
+
export function displayQuantity(options) {
|
|
88
|
+
var toQty = function toQty(value) {
|
|
89
|
+
var n = Number(value);
|
|
90
|
+
return Number.isFinite(n) ? n : 0;
|
|
91
|
+
};
|
|
92
|
+
if (options.groupIndex != null) return toQty(options.groupQuantity);
|
|
93
|
+
if (options.hasGroups) {
|
|
94
|
+
return (options.groups || []).reduce(function (sum, group) {
|
|
95
|
+
return sum + toQty(group === null || group === void 0 ? void 0 : group.quantity);
|
|
96
|
+
}, 0);
|
|
97
|
+
}
|
|
98
|
+
return toQty(options.jobQuantity);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/** Replace stale base rates on a variation with the costs for `quantity`. */
|
|
102
|
+
export function withQuantityAdjustedDisplayCosts(variation, rules, quantity) {
|
|
103
|
+
var _variation$variationF, _field$fieldType, _variation$variationF2;
|
|
104
|
+
if (!rules || rules.unsupported || !variation) return variation;
|
|
105
|
+
var field = findPricingField(rules, variation === null || variation === void 0 || (_variation$variationF = variation.variationField) === null || _variation$variationF === void 0 ? void 0 : _variation$variationF.id);
|
|
106
|
+
if (!field) return variation;
|
|
107
|
+
var fieldType = Number((_field$fieldType = field.fieldType) !== null && _field$fieldType !== void 0 ? _field$fieldType : variation === null || variation === void 0 || (_variation$variationF2 = variation.variationField) === null || _variation$variationF2 === void 0 ? void 0 : _variation$variationF2.fieldType);
|
|
108
|
+
if (fieldType === FieldType.AREA) return variation;
|
|
109
|
+
if (field.isSelectable && Array.isArray(variation.selectableOptions) && variation.selectableOptions.length) {
|
|
110
|
+
var changed = false;
|
|
111
|
+
var selectableOptions = variation.selectableOptions.map(function (option) {
|
|
112
|
+
var _option$optionId;
|
|
113
|
+
var pricingOption = findPricingOption(field, (_option$optionId = option === null || option === void 0 ? void 0 : option.optionId) !== null && _option$optionId !== void 0 ? _option$optionId : option === null || option === void 0 ? void 0 : option.id);
|
|
114
|
+
if (!pricingOption) return option;
|
|
115
|
+
var costs = costsAtQuantity(pricingOption, quantity);
|
|
116
|
+
if (Number(option.onceOffCost) === costs.onceOffCost && Number(option.unitCost) === costs.unitCost) {
|
|
117
|
+
return option;
|
|
118
|
+
}
|
|
119
|
+
changed = true;
|
|
120
|
+
return _objectSpread(_objectSpread({}, option), {}, {
|
|
121
|
+
onceOffCost: costs.onceOffCost,
|
|
122
|
+
unitCost: costs.unitCost,
|
|
123
|
+
currency: option.currency || rules.currency
|
|
124
|
+
});
|
|
125
|
+
});
|
|
126
|
+
return changed ? _objectSpread(_objectSpread({}, variation), {}, {
|
|
127
|
+
selectableOptions: selectableOptions
|
|
128
|
+
}) : variation;
|
|
129
|
+
}
|
|
130
|
+
if (field.isSelectable) return variation;
|
|
131
|
+
var costs = costsAtQuantity(field, quantity);
|
|
132
|
+
if (Number(variation.onceOffCost) === costs.onceOffCost && Number(variation.unitCost) === costs.unitCost) {
|
|
133
|
+
return variation;
|
|
134
|
+
}
|
|
135
|
+
return _objectSpread(_objectSpread({}, variation), {}, {
|
|
136
|
+
onceOffCost: costs.onceOffCost,
|
|
137
|
+
unitCost: costs.unitCost,
|
|
138
|
+
currency: variation.currency || rules.currency
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJGaWVsZFR5cGUiLCJyb3VuZEhhbGZFdmVuIiwidmFsdWUiLCJkcCIsIk51bWJlciIsImlzRmluaXRlIiwiZmFjdG9yIiwiTWF0aCIsInBvdyIsInNjYWxlZCIsImZsb29yIiwiZGlmZiIsIkVQUyIsInJvdW5kZWQiLCJhYnMiLCJyb3VuZCIsImFwcGx5RGlzY291bnQiLCJwcmljZSIsInF0eSIsImdyb3VwIiwidGllcnMiLCJkaXNjb3VudHMiLCJsZW5ndGgiLCJhcHBsaWNhYmxlIiwiZmlsdGVyIiwidGllciIsImxvd2VyTGltaXQiLCJzb3J0IiwiYSIsImIiLCJhbW91bnQiLCJjb3N0c0F0UXVhbnRpdHkiLCJzb3VyY2UiLCJxdWFudGl0eSIsInNhZmVRdHkiLCJzZXR1cEJhc2UiLCJ2YXJpYXRpb25Db3N0IiwidW5pdEJhc2UiLCJ2YXJpYXRpb25Vbml0Q29zdCIsIm9uY2VPZmZCYXNlIiwidW5pdFN0YXJ0Iiwib25jZU9mZkNvc3QiLCJ2YXJpYXRpb25Db3N0RGlzY291bnRHcm91cCIsInVuaXRDb3N0IiwidmFyaWF0aW9uVW5pdENvc3REaXNjb3VudEdyb3VwIiwic2FtZUlkIiwibGVmdCIsInJpZ2h0IiwiZmluZFByaWNpbmdGaWVsZCIsInJ1bGVzIiwiZmllbGRJZCIsImZpZWxkcyIsImNvbmNhdCIsIl90b0NvbnN1bWFibGVBcnJheSIsImdyb3VwRmllbGRzIiwiZmluZCIsImZpZWxkIiwiaWQiLCJvcmlnaW5hbElkIiwiZmluZFByaWNpbmdPcHRpb24iLCJvcHRpb25JZCIsIm9wdGlvbnMiLCJvcHRpb24iLCJncm91cEluZGV4RnJvbVZhcmlhdGlvbk5hbWUiLCJuYW1lIiwibWF0Y2giLCJleGVjIiwiZGlzcGxheVF1YW50aXR5IiwidG9RdHkiLCJuIiwiZ3JvdXBJbmRleCIsImdyb3VwUXVhbnRpdHkiLCJoYXNHcm91cHMiLCJncm91cHMiLCJyZWR1Y2UiLCJzdW0iLCJqb2JRdWFudGl0eSIsIndpdGhRdWFudGl0eUFkanVzdGVkRGlzcGxheUNvc3RzIiwidmFyaWF0aW9uIiwiX3ZhcmlhdGlvbiR2YXJpYXRpb25GIiwiX2ZpZWxkJGZpZWxkVHlwZSIsIl92YXJpYXRpb24kdmFyaWF0aW9uRjIiLCJ1bnN1cHBvcnRlZCIsInZhcmlhdGlvbkZpZWxkIiwiZmllbGRUeXBlIiwiQVJFQSIsImlzU2VsZWN0YWJsZSIsIkFycmF5IiwiaXNBcnJheSIsInNlbGVjdGFibGVPcHRpb25zIiwiY2hhbmdlZCIsIm1hcCIsIl9vcHRpb24kb3B0aW9uSWQiLCJwcmljaW5nT3B0aW9uIiwiY29zdHMiLCJfb2JqZWN0U3ByZWFkIiwiY3VycmVuY3kiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvcXVhbnRpdHlBZGp1c3RlZENvc3RzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIFF1YW50aXR5LWFkanVzdGVkIG9uY2Utb2ZmIGFuZCBwZXItdW5pdCBjb3N0cyBmb3Igc2VsZWN0IG9wdGlvbnMgYW5kIGZpZWxkIGxhYmVscy5cbiAqXG4gKiBUaGUgc2VydmVyIHNldHMgdGhlc2UgaW4gVmFyaWF0aW9ucy5nZW5lcmF0ZV92YXJpYXRpb25fb3B0aW9uIGJ5IHByaWNpbmcgZWFjaFxuICogb3B0aW9uIHdpdGggZ2V0X3ZhcmlhdGlvbl9jb3N0KFtxdWFudGl0eV0pIGFuZCBnZXRfdmFyaWF0aW9uX3VuaXRfY29zdChbcXVhbnRpdHldKS5cbiAqIE9uZSBxdWFudGl0eSBtZWFucyBib3RoIHJlc3RyaWN0ZWQgYW5kIHVucmVzdHJpY3RlZCBkaXNjb3VudHMgdXNlIHRoYXQgcXVhbnRpdHkuXG4gKiBJbmRlcGVuZGVudCBmaWVsZHMgdXNlIHRoZSBqb2IgcXVhbnRpdHkgKHRoZSBzdW0gb2YgdGhlIGdyb3VwcykuIEEgZ3JvdXAgZmllbGRcbiAqIHVzZXMgdGhhdCBncm91cCdzIHF1YW50aXR5LlxuICpcbiAqIFRoZSBkaXNjb3VudCBzdGVwIG1hdGNoZXMgQG1lcmNoaS9zZGsgcHJpY2luZyBhcHBseURpc2NvdW50IC8gdmFyaWF0aW9uVW5pdENvc3RzLlxuICovXG5cbmludGVyZmFjZSBEaXNjb3VudFRpZXIge1xuICBsb3dlckxpbWl0OiBudW1iZXI7XG4gIGFtb3VudDogbnVtYmVyO1xufVxuXG5pbnRlcmZhY2UgRGlzY291bnRHcm91cCB7XG4gIGRpc2NvdW50cz86IERpc2NvdW50VGllcltdO1xufVxuXG5pbnRlcmZhY2UgQ29zdFNvdXJjZSB7XG4gIHZhcmlhdGlvbkNvc3Q/OiBudW1iZXI7XG4gIHZhcmlhdGlvblVuaXRDb3N0PzogbnVtYmVyO1xuICB2YXJpYXRpb25Db3N0RGlzY291bnRHcm91cD86IERpc2NvdW50R3JvdXAgfCBudWxsO1xuICB2YXJpYXRpb25Vbml0Q29zdERpc2NvdW50R3JvdXA/OiBEaXNjb3VudEdyb3VwIHwgbnVsbDtcbn1cblxuZnVuY3Rpb24gcm91bmRIYWxmRXZlbih2YWx1ZTogbnVtYmVyLCBkcDogbnVtYmVyKTogbnVtYmVyIHtcbiAgaWYgKCFOdW1iZXIuaXNGaW5pdGUodmFsdWUpKSByZXR1cm4gdmFsdWU7XG4gIGNvbnN0IGZhY3RvciA9IE1hdGgucG93KDEwLCBkcCk7XG4gIGNvbnN0IHNjYWxlZCA9IHZhbHVlICogZmFjdG9yO1xuICBjb25zdCBmbG9vciA9IE1hdGguZmxvb3Ioc2NhbGVkKTtcbiAgY29uc3QgZGlmZiA9IHNjYWxlZCAtIGZsb29yO1xuICBjb25zdCBFUFMgPSAxZS05O1xuICBsZXQgcm91bmRlZDogbnVtYmVyO1xuICBpZiAoTWF0aC5hYnMoZGlmZiAtIDAuNSkgPCBFUFMpIHtcbiAgICByb3VuZGVkID0gZmxvb3IgJSAyID09PSAwID8gZmxvb3IgOiBmbG9vciArIDE7XG4gIH0gZWxzZSB7XG4gICAgcm91bmRlZCA9IE1hdGgucm91bmQoc2NhbGVkKTtcbiAgfVxuICByZXR1cm4gcm91bmRlZCAvIGZhY3Rvcjtcbn1cblxuZnVuY3Rpb24gYXBwbHlEaXNjb3VudChcbiAgcHJpY2U6IG51bWJlcixcbiAgcXR5OiBudW1iZXIsXG4gIGdyb3VwOiBEaXNjb3VudEdyb3VwIHwgbnVsbCB8IHVuZGVmaW5lZFxuKTogbnVtYmVyIHtcbiAgY29uc3QgdGllcnMgPSBncm91cD8uZGlzY291bnRzIHx8IFtdO1xuICBpZiAoIXRpZXJzLmxlbmd0aCkgcmV0dXJuIHJvdW5kSGFsZkV2ZW4ocHJpY2UsIDMpO1xuICBjb25zdCBhcHBsaWNhYmxlID0gdGllcnNcbiAgICAuZmlsdGVyKCh0aWVyKSA9PiB0aWVyLmxvd2VyTGltaXQgPD0gcXR5KVxuICAgIC5zb3J0KChhLCBiKSA9PiBiLmxvd2VyTGltaXQgLSBhLmxvd2VyTGltaXQpO1xuICBjb25zdCBhbW91bnQgPSBhcHBsaWNhYmxlLmxlbmd0aCA/IGFwcGxpY2FibGVbMF0uYW1vdW50IDogMDtcbiAgcmV0dXJuIHJvdW5kSGFsZkV2ZW4ocHJpY2UgKiAoMSAtIGFtb3VudCAvIDEwMCksIDMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29zdHNBdFF1YW50aXR5KFxuICBzb3VyY2U6IENvc3RTb3VyY2UsXG4gIHF1YW50aXR5OiBudW1iZXJcbik6IHsgb25jZU9mZkNvc3Q6IG51bWJlcjsgdW5pdENvc3Q6IG51bWJlciB9IHtcbiAgY29uc3QgcXR5ID0gTnVtYmVyKHF1YW50aXR5KTtcbiAgY29uc3Qgc2FmZVF0eSA9IE51bWJlci5pc0Zpbml0ZShxdHkpID8gcXR5IDogMDtcbiAgY29uc3Qgc2V0dXBCYXNlID0gTnVtYmVyKHNvdXJjZS52YXJpYXRpb25Db3N0KTtcbiAgY29uc3QgdW5pdEJhc2UgPSBOdW1iZXIoc291cmNlLnZhcmlhdGlvblVuaXRDb3N0KTtcbiAgY29uc3Qgb25jZU9mZkJhc2UgPSBOdW1iZXIuaXNGaW5pdGUoc2V0dXBCYXNlKSA/IHNldHVwQmFzZSA6IDA7XG4gIGNvbnN0IHVuaXRTdGFydCA9IE51bWJlci5pc0Zpbml0ZSh1bml0QmFzZSkgPyB1bml0QmFzZSA6IDA7XG4gIGNvbnN0IG9uY2VPZmZDb3N0ID0gc291cmNlLnZhcmlhdGlvbkNvc3REaXNjb3VudEdyb3VwXG4gICAgPyBhcHBseURpc2NvdW50KG9uY2VPZmZCYXNlLCBzYWZlUXR5LCBzb3VyY2UudmFyaWF0aW9uQ29zdERpc2NvdW50R3JvdXApXG4gICAgOiByb3VuZEhhbGZFdmVuKG9uY2VPZmZCYXNlLCAzKTtcbiAgY29uc3QgdW5pdENvc3QgPSBzb3VyY2UudmFyaWF0aW9uVW5pdENvc3REaXNjb3VudEdyb3VwXG4gICAgPyByb3VuZEhhbGZFdmVuKFxuICAgICAgICBhcHBseURpc2NvdW50KHVuaXRTdGFydCwgc2FmZVF0eSwgc291cmNlLnZhcmlhdGlvblVuaXRDb3N0RGlzY291bnRHcm91cCksXG4gICAgICAgIDNcbiAgICAgIClcbiAgICA6IHJvdW5kSGFsZkV2ZW4odW5pdFN0YXJ0LCAzKTtcbiAgcmV0dXJuIHsgb25jZU9mZkNvc3QsIHVuaXRDb3N0IH07XG59XG5cbmZ1bmN0aW9uIHNhbWVJZChsZWZ0OiB1bmtub3duLCByaWdodDogdW5rbm93bik6IGJvb2xlYW4ge1xuICBjb25zdCBhID0gTnVtYmVyKGxlZnQpO1xuICBjb25zdCBiID0gTnVtYmVyKHJpZ2h0KTtcbiAgcmV0dXJuIE51bWJlci5pc0Zpbml0ZShhKSAmJiBhID09PSBiO1xufVxuXG5mdW5jdGlvbiBmaW5kUHJpY2luZ0ZpZWxkKHJ1bGVzOiBhbnksIGZpZWxkSWQ6IHVua25vd24pIHtcbiAgY29uc3QgZmllbGRzID0gWy4uLihydWxlcz8uZmllbGRzIHx8IFtdKSwgLi4uKHJ1bGVzPy5ncm91cEZpZWxkcyB8fCBbXSldO1xuICByZXR1cm4gZmllbGRzLmZpbmQoXG4gICAgKGZpZWxkOiBhbnkpID0+IHNhbWVJZChmaWVsZD8uaWQsIGZpZWxkSWQpIHx8IHNhbWVJZChmaWVsZD8ub3JpZ2luYWxJZCwgZmllbGRJZClcbiAgKTtcbn1cblxuZnVuY3Rpb24gZmluZFByaWNpbmdPcHRpb24oZmllbGQ6IGFueSwgb3B0aW9uSWQ6IHVua25vd24pIHtcbiAgcmV0dXJuIChmaWVsZD8ub3B0aW9ucyB8fCBbXSkuZmluZChcbiAgICAob3B0aW9uOiBhbnkpID0+XG4gICAgICBzYW1lSWQob3B0aW9uPy5pZCwgb3B0aW9uSWQpIHx8IHNhbWVJZChvcHRpb24/Lm9yaWdpbmFsSWQsIG9wdGlvbklkKVxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3JvdXBJbmRleEZyb21WYXJpYXRpb25OYW1lKG5hbWU6IHN0cmluZyk6IG51bWJlciB8IG51bGwge1xuICBjb25zdCBtYXRjaCA9IC9edmFyaWF0aW9uc0dyb3Vwc1xcWyhcXGQrKVxcXS8uZXhlYyhuYW1lIHx8ICcnKTtcbiAgcmV0dXJuIG1hdGNoID8gTnVtYmVyKG1hdGNoWzFdKSA6IG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkaXNwbGF5UXVhbnRpdHkob3B0aW9uczoge1xuICBncm91cEluZGV4OiBudW1iZXIgfCBudWxsO1xuICBncm91cFF1YW50aXR5OiB1bmtub3duO1xuICBncm91cHM/OiBBcnJheTx7IHF1YW50aXR5PzogdW5rbm93biB9PiB8IG51bGw7XG4gIGpvYlF1YW50aXR5OiB1bmtub3duO1xuICBoYXNHcm91cHM6IGJvb2xlYW47XG59KTogbnVtYmVyIHtcbiAgY29uc3QgdG9RdHkgPSAodmFsdWU6IHVua25vd24pID0+IHtcbiAgICBjb25zdCBuID0gTnVtYmVyKHZhbHVlKTtcbiAgICByZXR1cm4gTnVtYmVyLmlzRmluaXRlKG4pID8gbiA6IDA7XG4gIH07XG4gIGlmIChvcHRpb25zLmdyb3VwSW5kZXggIT0gbnVsbCkgcmV0dXJuIHRvUXR5KG9wdGlvbnMuZ3JvdXBRdWFudGl0eSk7XG4gIGlmIChvcHRpb25zLmhhc0dyb3Vwcykge1xuICAgIHJldHVybiAob3B0aW9ucy5ncm91cHMgfHwgW10pLnJlZHVjZShcbiAgICAgIChzdW0sIGdyb3VwKSA9PiBzdW0gKyB0b1F0eShncm91cD8ucXVhbnRpdHkpLFxuICAgICAgMFxuICAgICk7XG4gIH1cbiAgcmV0dXJuIHRvUXR5KG9wdGlvbnMuam9iUXVhbnRpdHkpO1xufVxuXG4vKiogUmVwbGFjZSBzdGFsZSBiYXNlIHJhdGVzIG9uIGEgdmFyaWF0aW9uIHdpdGggdGhlIGNvc3RzIGZvciBgcXVhbnRpdHlgLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdpdGhRdWFudGl0eUFkanVzdGVkRGlzcGxheUNvc3RzKFxuICB2YXJpYXRpb246IGFueSxcbiAgcnVsZXM6IGFueSxcbiAgcXVhbnRpdHk6IG51bWJlclxuKSB7XG4gIGlmICghcnVsZXMgfHwgcnVsZXMudW5zdXBwb3J0ZWQgfHwgIXZhcmlhdGlvbikgcmV0dXJuIHZhcmlhdGlvbjtcbiAgY29uc3QgZmllbGQgPSBmaW5kUHJpY2luZ0ZpZWxkKHJ1bGVzLCB2YXJpYXRpb24/LnZhcmlhdGlvbkZpZWxkPy5pZCk7XG4gIGlmICghZmllbGQpIHJldHVybiB2YXJpYXRpb247XG4gIGNvbnN0IGZpZWxkVHlwZSA9IE51bWJlcihmaWVsZC5maWVsZFR5cGUgPz8gdmFyaWF0aW9uPy52YXJpYXRpb25GaWVsZD8uZmllbGRUeXBlKTtcbiAgaWYgKGZpZWxkVHlwZSA9PT0gRmllbGRUeXBlLkFSRUEpIHJldHVybiB2YXJpYXRpb247XG5cbiAgaWYgKFxuICAgIGZpZWxkLmlzU2VsZWN0YWJsZSAmJlxuICAgIEFycmF5LmlzQXJyYXkodmFyaWF0aW9uLnNlbGVjdGFibGVPcHRpb25zKSAmJlxuICAgIHZhcmlhdGlvbi5zZWxlY3RhYmxlT3B0aW9ucy5sZW5ndGhcbiAgKSB7XG4gICAgbGV0IGNoYW5nZWQgPSBmYWxzZTtcbiAgICBjb25zdCBzZWxlY3RhYmxlT3B0aW9ucyA9IHZhcmlhdGlvbi5zZWxlY3RhYmxlT3B0aW9ucy5tYXAoKG9wdGlvbjogYW55KSA9PiB7XG4gICAgICBjb25zdCBwcmljaW5nT3B0aW9uID0gZmluZFByaWNpbmdPcHRpb24oZmllbGQsIG9wdGlvbj8ub3B0aW9uSWQgPz8gb3B0aW9uPy5pZCk7XG4gICAgICBpZiAoIXByaWNpbmdPcHRpb24pIHJldHVybiBvcHRpb247XG4gICAgICBjb25zdCBjb3N0cyA9IGNvc3RzQXRRdWFudGl0eShwcmljaW5nT3B0aW9uLCBxdWFudGl0eSk7XG4gICAgICBpZiAoXG4gICAgICAgIE51bWJlcihvcHRpb24ub25jZU9mZkNvc3QpID09PSBjb3N0cy5vbmNlT2ZmQ29zdCAmJlxuICAgICAgICBOdW1iZXIob3B0aW9uLnVuaXRDb3N0KSA9PT0gY29zdHMudW5pdENvc3RcbiAgICAgICkge1xuICAgICAgICByZXR1cm4gb3B0aW9uO1xuICAgICAgfVxuICAgICAgY2hhbmdlZCA9IHRydWU7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5vcHRpb24sXG4gICAgICAgIG9uY2VPZmZDb3N0OiBjb3N0cy5vbmNlT2ZmQ29zdCxcbiAgICAgICAgdW5pdENvc3Q6IGNvc3RzLnVuaXRDb3N0LFxuICAgICAgICBjdXJyZW5jeTogb3B0aW9uLmN1cnJlbmN5IHx8IHJ1bGVzLmN1cnJlbmN5LFxuICAgICAgfTtcbiAgICB9KTtcbiAgICByZXR1cm4gY2hhbmdlZCA/IHsgLi4udmFyaWF0aW9uLCBzZWxlY3RhYmxlT3B0aW9ucyB9IDogdmFyaWF0aW9uO1xuICB9XG5cbiAgaWYgKGZpZWxkLmlzU2VsZWN0YWJsZSkgcmV0dXJuIHZhcmlhdGlvbjtcbiAgY29uc3QgY29zdHMgPSBjb3N0c0F0UXVhbnRpdHkoZmllbGQsIHF1YW50aXR5KTtcbiAgaWYgKFxuICAgIE51bWJlcih2YXJpYXRpb24ub25jZU9mZkNvc3QpID09PSBjb3N0cy5vbmNlT2ZmQ29zdCAmJlxuICAgIE51bWJlcih2YXJpYXRpb24udW5pdENvc3QpID09PSBjb3N0cy51bml0Q29zdFxuICApIHtcbiAgICByZXR1cm4gdmFyaWF0aW9uO1xuICB9XG4gIHJldHVybiB7XG4gICAgLi4udmFyaWF0aW9uLFxuICAgIG9uY2VPZmZDb3N0OiBjb3N0cy5vbmNlT2ZmQ29zdCxcbiAgICB1bml0Q29zdDogY29zdHMudW5pdENvc3QsXG4gICAgY3VycmVuY3k6IHZhcmlhdGlvbi5jdXJyZW5jeSB8fCBydWxlcy5jdXJyZW5jeSxcbiAgfTtcbn1c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
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import { costsAtQuantity, displayQuantity, groupIndexFromVariationName, withQuantityAdjustedDisplayCosts } from './quantityAdjustedCosts';
|
|
2
|
+
var smallDiscounts = {
|
|
3
|
+
discounts: [{
|
|
4
|
+
amount: 30.25,
|
|
5
|
+
lowerLimit: 20
|
|
6
|
+
}, {
|
|
7
|
+
amount: 33.61,
|
|
8
|
+
lowerLimit: 30
|
|
9
|
+
}, {
|
|
10
|
+
amount: 38.66,
|
|
11
|
+
lowerLimit: 40
|
|
12
|
+
}, {
|
|
13
|
+
amount: 43.7,
|
|
14
|
+
lowerLimit: 50
|
|
15
|
+
}, {
|
|
16
|
+
amount: 45.38,
|
|
17
|
+
lowerLimit: 60
|
|
18
|
+
}]
|
|
19
|
+
};
|
|
20
|
+
var mediumDiscounts = {
|
|
21
|
+
discounts: [{
|
|
22
|
+
amount: 8.33,
|
|
23
|
+
lowerLimit: 10
|
|
24
|
+
}, {
|
|
25
|
+
amount: 27.78,
|
|
26
|
+
lowerLimit: 20
|
|
27
|
+
}, {
|
|
28
|
+
amount: 31.25,
|
|
29
|
+
lowerLimit: 30
|
|
30
|
+
}, {
|
|
31
|
+
amount: 34.72,
|
|
32
|
+
lowerLimit: 40
|
|
33
|
+
}, {
|
|
34
|
+
amount: 38.19,
|
|
35
|
+
lowerLimit: 50
|
|
36
|
+
}, {
|
|
37
|
+
amount: 39.58,
|
|
38
|
+
lowerLimit: 60
|
|
39
|
+
}]
|
|
40
|
+
};
|
|
41
|
+
var embroideryRules = {
|
|
42
|
+
currency: 'AUD',
|
|
43
|
+
fields: [{
|
|
44
|
+
id: 399949,
|
|
45
|
+
fieldType: 2,
|
|
46
|
+
isSelectable: true,
|
|
47
|
+
variationCost: 0,
|
|
48
|
+
variationUnitCost: 0,
|
|
49
|
+
options: [{
|
|
50
|
+
id: 1133340,
|
|
51
|
+
variationCost: 40,
|
|
52
|
+
variationUnitCost: 8.92,
|
|
53
|
+
variationCostDiscountGroup: null,
|
|
54
|
+
variationUnitCostDiscountGroup: smallDiscounts
|
|
55
|
+
}, {
|
|
56
|
+
id: 1133341,
|
|
57
|
+
variationCost: 40,
|
|
58
|
+
variationUnitCost: 10.8,
|
|
59
|
+
variationCostDiscountGroup: null,
|
|
60
|
+
variationUnitCostDiscountGroup: mediumDiscounts
|
|
61
|
+
}]
|
|
62
|
+
}],
|
|
63
|
+
groupFields: []
|
|
64
|
+
};
|
|
65
|
+
test('applies the quantity tier to an option unit cost', function () {
|
|
66
|
+
expect(costsAtQuantity({
|
|
67
|
+
variationCost: 40,
|
|
68
|
+
variationUnitCost: 8.92,
|
|
69
|
+
variationUnitCostDiscountGroup: smallDiscounts
|
|
70
|
+
}, 50)).toEqual({
|
|
71
|
+
onceOffCost: 40,
|
|
72
|
+
unitCost: 5.022
|
|
73
|
+
});
|
|
74
|
+
expect(costsAtQuantity({
|
|
75
|
+
variationCost: 40,
|
|
76
|
+
variationUnitCost: 10.8,
|
|
77
|
+
variationUnitCostDiscountGroup: mediumDiscounts
|
|
78
|
+
}, 50)).toEqual({
|
|
79
|
+
onceOffCost: 40,
|
|
80
|
+
unitCost: 6.675
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
test('keeps the base unit cost below the first discount tier', function () {
|
|
84
|
+
expect(costsAtQuantity({
|
|
85
|
+
variationCost: 40,
|
|
86
|
+
variationUnitCost: 8.92,
|
|
87
|
+
variationUnitCostDiscountGroup: smallDiscounts
|
|
88
|
+
}, 1)).toEqual({
|
|
89
|
+
onceOffCost: 40,
|
|
90
|
+
unitCost: 8.92
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
test('rewrites select option costs used by labels', function () {
|
|
94
|
+
var variation = {
|
|
95
|
+
variationField: {
|
|
96
|
+
id: 399949,
|
|
97
|
+
fieldType: 2
|
|
98
|
+
},
|
|
99
|
+
selectableOptions: [{
|
|
100
|
+
optionId: 1133340,
|
|
101
|
+
value: 'Small (5 x 5cm)',
|
|
102
|
+
onceOffCost: 40,
|
|
103
|
+
unitCost: 8.92,
|
|
104
|
+
currency: 'AUD'
|
|
105
|
+
}, {
|
|
106
|
+
optionId: 1133341,
|
|
107
|
+
value: 'Medium (7.5 x 5cm)',
|
|
108
|
+
onceOffCost: 40,
|
|
109
|
+
unitCost: 10.8,
|
|
110
|
+
currency: 'AUD'
|
|
111
|
+
}]
|
|
112
|
+
};
|
|
113
|
+
var priced = withQuantityAdjustedDisplayCosts(variation, embroideryRules, 50);
|
|
114
|
+
expect(priced.selectableOptions.map(function (option) {
|
|
115
|
+
return option.unitCost;
|
|
116
|
+
})).toEqual([5.022, 6.675]);
|
|
117
|
+
expect(priced.selectableOptions[0].onceOffCost).toBe(40);
|
|
118
|
+
expect(priced.selectableOptions[0].value).toBe('Small (5 x 5cm)');
|
|
119
|
+
});
|
|
120
|
+
test('leaves options alone when pricing rules are missing', function () {
|
|
121
|
+
var variation = {
|
|
122
|
+
variationField: {
|
|
123
|
+
id: 399949
|
|
124
|
+
},
|
|
125
|
+
selectableOptions: [{
|
|
126
|
+
optionId: 1133340,
|
|
127
|
+
onceOffCost: 40,
|
|
128
|
+
unitCost: 8.92
|
|
129
|
+
}]
|
|
130
|
+
};
|
|
131
|
+
expect(withQuantityAdjustedDisplayCosts(variation, null, 50)).toBe(variation);
|
|
132
|
+
});
|
|
133
|
+
test('prices an independent field from the summed group quantity', function () {
|
|
134
|
+
expect(groupIndexFromVariationName('variations')).toBeNull();
|
|
135
|
+
expect(groupIndexFromVariationName('variationsGroups[1].variations')).toBe(1);
|
|
136
|
+
expect(displayQuantity({
|
|
137
|
+
groupIndex: null,
|
|
138
|
+
groupQuantity: 0,
|
|
139
|
+
groups: [{
|
|
140
|
+
quantity: 20
|
|
141
|
+
}, {
|
|
142
|
+
quantity: '30'
|
|
143
|
+
}],
|
|
144
|
+
jobQuantity: 1,
|
|
145
|
+
hasGroups: true
|
|
146
|
+
})).toBe(50);
|
|
147
|
+
expect(displayQuantity({
|
|
148
|
+
groupIndex: 1,
|
|
149
|
+
groupQuantity: '30',
|
|
150
|
+
groups: [{
|
|
151
|
+
quantity: 20
|
|
152
|
+
}, {
|
|
153
|
+
quantity: 30
|
|
154
|
+
}],
|
|
155
|
+
jobQuantity: 50,
|
|
156
|
+
hasGroups: true
|
|
157
|
+
})).toBe(30);
|
|
158
|
+
});
|
|
159
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb3N0c0F0UXVhbnRpdHkiLCJkaXNwbGF5UXVhbnRpdHkiLCJncm91cEluZGV4RnJvbVZhcmlhdGlvbk5hbWUiLCJ3aXRoUXVhbnRpdHlBZGp1c3RlZERpc3BsYXlDb3N0cyIsInNtYWxsRGlzY291bnRzIiwiZGlzY291bnRzIiwiYW1vdW50IiwibG93ZXJMaW1pdCIsIm1lZGl1bURpc2NvdW50cyIsImVtYnJvaWRlcnlSdWxlcyIsImN1cnJlbmN5IiwiZmllbGRzIiwiaWQiLCJmaWVsZFR5cGUiLCJpc1NlbGVjdGFibGUiLCJ2YXJpYXRpb25Db3N0IiwidmFyaWF0aW9uVW5pdENvc3QiLCJvcHRpb25zIiwidmFyaWF0aW9uQ29zdERpc2NvdW50R3JvdXAiLCJ2YXJpYXRpb25Vbml0Q29zdERpc2NvdW50R3JvdXAiLCJncm91cEZpZWxkcyIsInRlc3QiLCJleHBlY3QiLCJ0b0VxdWFsIiwib25jZU9mZkNvc3QiLCJ1bml0Q29zdCIsInZhcmlhdGlvbiIsInZhcmlhdGlvbkZpZWxkIiwic2VsZWN0YWJsZU9wdGlvbnMiLCJvcHRpb25JZCIsInZhbHVlIiwicHJpY2VkIiwibWFwIiwib3B0aW9uIiwidG9CZSIsInRvQmVOdWxsIiwiZ3JvdXBJbmRleCIsImdyb3VwUXVhbnRpdHkiLCJncm91cHMiLCJxdWFudGl0eSIsImpvYlF1YW50aXR5IiwiaGFzR3JvdXBzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL3F1YW50aXR5QWRqdXN0ZWRDb3N0cy50ZXN0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGNvc3RzQXRRdWFudGl0eSxcbiAgZGlzcGxheVF1YW50aXR5LFxuICBncm91cEluZGV4RnJvbVZhcmlhdGlvbk5hbWUsXG4gIHdpdGhRdWFudGl0eUFkanVzdGVkRGlzcGxheUNvc3RzLFxufSBmcm9tICcuL3F1YW50aXR5QWRqdXN0ZWRDb3N0cyc7XG5cbmNvbnN0IHNtYWxsRGlzY291bnRzID0ge1xuICBkaXNjb3VudHM6IFtcbiAgICB7IGFtb3VudDogMzAuMjUsIGxvd2VyTGltaXQ6IDIwIH0sXG4gICAgeyBhbW91bnQ6IDMzLjYxLCBsb3dlckxpbWl0OiAzMCB9LFxuICAgIHsgYW1vdW50OiAzOC42NiwgbG93ZXJMaW1pdDogNDAgfSxcbiAgICB7IGFtb3VudDogNDMuNywgbG93ZXJMaW1pdDogNTAgfSxcbiAgICB7IGFtb3VudDogNDUuMzgsIGxvd2VyTGltaXQ6IDYwIH0sXG4gIF0sXG59O1xuXG5jb25zdCBtZWRpdW1EaXNjb3VudHMgPSB7XG4gIGRpc2NvdW50czogW1xuICAgIHsgYW1vdW50OiA4LjMzLCBsb3dlckxpbWl0OiAxMCB9LFxuICAgIHsgYW1vdW50OiAyNy43OCwgbG93ZXJMaW1pdDogMjAgfSxcbiAgICB7IGFtb3VudDogMzEuMjUsIGxvd2VyTGltaXQ6IDMwIH0sXG4gICAgeyBhbW91bnQ6IDM0LjcyLCBsb3dlckxpbWl0OiA0MCB9LFxuICAgIHsgYW1vdW50OiAzOC4xOSwgbG93ZXJMaW1pdDogNTAgfSxcbiAgICB7IGFtb3VudDogMzkuNTgsIGxvd2VyTGltaXQ6IDYwIH0sXG4gIF0sXG59O1xuXG5jb25zdCBlbWJyb2lkZXJ5UnVsZXMgPSB7XG4gIGN1cnJlbmN5OiAnQVVEJyxcbiAgZmllbGRzOiBbXG4gICAge1xuICAgICAgaWQ6IDM5OTk0OSxcbiAgICAgIGZpZWxkVHlwZTogMixcbiAgICAgIGlzU2VsZWN0YWJsZTogdHJ1ZSxcbiAgICAgIHZhcmlhdGlvbkNvc3Q6IDAsXG4gICAgICB2YXJpYXRpb25Vbml0Q29zdDogMCxcbiAgICAgIG9wdGlvbnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGlkOiAxMTMzMzQwLFxuICAgICAgICAgIHZhcmlhdGlvbkNvc3Q6IDQwLFxuICAgICAgICAgIHZhcmlhdGlvblVuaXRDb3N0OiA4LjkyLFxuICAgICAgICAgIHZhcmlhdGlvbkNvc3REaXNjb3VudEdyb3VwOiBudWxsLFxuICAgICAgICAgIHZhcmlhdGlvblVuaXRDb3N0RGlzY291bnRHcm91cDogc21hbGxEaXNjb3VudHMsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogMTEzMzM0MSxcbiAgICAgICAgICB2YXJpYXRpb25Db3N0OiA0MCxcbiAgICAgICAgICB2YXJpYXRpb25Vbml0Q29zdDogMTAuOCxcbiAgICAgICAgICB2YXJpYXRpb25Db3N0RGlzY291bnRHcm91cDogbnVsbCxcbiAgICAgICAgICB2YXJpYXRpb25Vbml0Q29zdERpc2NvdW50R3JvdXA6IG1lZGl1bURpc2NvdW50cyxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgXSxcbiAgZ3JvdXBGaWVsZHM6IFtdLFxufTtcblxudGVzdCgnYXBwbGllcyB0aGUgcXVhbnRpdHkgdGllciB0byBhbiBvcHRpb24gdW5pdCBjb3N0JywgKCkgPT4ge1xuICBleHBlY3QoXG4gICAgY29zdHNBdFF1YW50aXR5KFxuICAgICAge1xuICAgICAgICB2YXJpYXRpb25Db3N0OiA0MCxcbiAgICAgICAgdmFyaWF0aW9uVW5pdENvc3Q6IDguOTIsXG4gICAgICAgIHZhcmlhdGlvblVuaXRDb3N0RGlzY291bnRHcm91cDogc21hbGxEaXNjb3VudHMsXG4gICAgICB9LFxuICAgICAgNTBcbiAgICApXG4gICkudG9FcXVhbCh7IG9uY2VPZmZDb3N0OiA0MCwgdW5pdENvc3Q6IDUuMDIyIH0pO1xuICBleHBlY3QoXG4gICAgY29zdHNBdFF1YW50aXR5KFxuICAgICAge1xuICAgICAgICB2YXJpYXRpb25Db3N0OiA0MCxcbiAgICAgICAgdmFyaWF0aW9uVW5pdENvc3Q6IDEwLjgsXG4gICAgICAgIHZhcmlhdGlvblVuaXRDb3N0RGlzY291bnRHcm91cDogbWVkaXVtRGlzY291bnRzLFxuICAgICAgfSxcbiAgICAgIDUwXG4gICAgKVxuICApLnRvRXF1YWwoeyBvbmNlT2ZmQ29zdDogNDAsIHVuaXRDb3N0OiA2LjY3NSB9KTtcbn0pO1xuXG50ZXN0KCdrZWVwcyB0aGUgYmFzZSB1bml0IGNvc3QgYmVsb3cgdGhlIGZpcnN0IGRpc2NvdW50IHRpZXInLCAoKSA9PiB7XG4gIGV4cGVjdChcbiAgICBjb3N0c0F0UXVhbnRpdHkoXG4gICAgICB7XG4gICAgICAgIHZhcmlhdGlvbkNvc3Q6IDQwLFxuICAgICAgICB2YXJpYXRpb25Vbml0Q29zdDogOC45MixcbiAgICAgICAgdmFyaWF0aW9uVW5pdENvc3REaXNjb3VudEdyb3VwOiBzbWFsbERpc2NvdW50cyxcbiAgICAgIH0sXG4gICAgICAxXG4gICAgKVxuICApLnRvRXF1YWwoeyBvbmNlT2ZmQ29zdDogNDAsIHVuaXRDb3N0OiA4LjkyIH0pO1xufSk7XG5cbnRlc3QoJ3Jld3JpdGVzIHNlbGVjdCBvcHRpb24gY29zdHMgdXNlZCBieSBsYWJlbHMnLCAoKSA9PiB7XG4gIGNvbnN0IHZhcmlhdGlvbiA9IHtcbiAgICB2YXJpYXRpb25GaWVsZDogeyBpZDogMzk5OTQ5LCBmaWVsZFR5cGU6IDIgfSxcbiAgICBzZWxlY3RhYmxlT3B0aW9uczogW1xuICAgICAgeyBvcHRpb25JZDogMTEzMzM0MCwgdmFsdWU6ICdTbWFsbCAoNSB4IDVjbSknLCBvbmNlT2ZmQ29zdDogNDAsIHVuaXRDb3N0OiA4LjkyLCBjdXJyZW5jeTogJ0FVRCcgfSxcbiAgICAgIHsgb3B0aW9uSWQ6IDExMzMzNDEsIHZhbHVlOiAnTWVkaXVtICg3LjUgeCA1Y20pJywgb25jZU9mZkNvc3Q6IDQwLCB1bml0Q29zdDogMTAuOCwgY3VycmVuY3k6ICdBVUQnIH0sXG4gICAgXSxcbiAgfTtcblxuICBjb25zdCBwcmljZWQgPSB3aXRoUXVhbnRpdHlBZGp1c3RlZERpc3BsYXlDb3N0cyh2YXJpYXRpb24sIGVtYnJvaWRlcnlSdWxlcywgNTApO1xuXG4gIGV4cGVjdChwcmljZWQuc2VsZWN0YWJsZU9wdGlvbnMubWFwKChvcHRpb246IGFueSkgPT4gb3B0aW9uLnVuaXRDb3N0KSkudG9FcXVhbChbXG4gICAgNS4wMjIsXG4gICAgNi42NzUsXG4gIF0pO1xuICBleHBlY3QocHJpY2VkLnNlbGVjdGFibGVPcHRpb25zWzBdLm9uY2VPZmZDb3N0KS50b0JlKDQwKTtcbiAgZXhwZWN0KHByaWNlZC5zZWxlY3RhYmxlT3B0aW9uc1swXS52YWx1ZSkudG9CZSgnU21hbGwgKDUgeCA1Y20pJyk7XG59KTtcblxudGVzdCgnbGVhdmVzIG9wdGlvbnMgYWxvbmUgd2hlbiBwcmljaW5nIHJ1bGVzIGFyZSBtaXNzaW5nJywgKCkgPT4ge1xuICBjb25zdCB2YXJpYXRpb24gPSB7XG4gICAgdmFyaWF0aW9uRmllbGQ6IHsgaWQ6IDM5OTk0OSB9LFxuICAgIHNlbGVjdGFibGVPcHRpb25zOiBbeyBvcHRpb25JZDogMTEzMzM0MCwgb25jZU9mZkNvc3Q6IDQwLCB1bml0Q29zdDogOC45MiB9XSxcbiAgfTtcbiAgZXhwZWN0KHdpdGhRdWFudGl0eUFkanVzdGVkRGlzcGxheUNvc3RzKHZhcmlhdGlvbiwgbnVsbCwgNTApKS50b0JlKHZhcmlhdGlvbik7XG59KTtcblxudGVzdCgncHJpY2VzIGFuIGluZGVwZW5kZW50IGZpZWxkIGZyb20gdGhlIHN1bW1lZCBncm91cCBxdWFudGl0eScsICgpID0+IHtcbiAgZXhwZWN0KGdyb3VwSW5kZXhGcm9tVmFyaWF0aW9uTmFtZSgndmFyaWF0aW9ucycpKS50b0JlTnVsbCgpO1xuICBleHBlY3QoZ3JvdXBJbmRleEZyb21WYXJpYXRpb25OYW1lKCd2YXJpYXRpb25zR3JvdXBzWzFdLnZhcmlhdGlvbnMnKSkudG9CZSgxKTtcbiAgZXhwZWN0KFxuICAgIGRpc3BsYXlRdWFudGl0eSh7XG4gICAgICBncm91cEluZGV4OiBudWxsLFxuICAgICAgZ3JvdXBRdWFudGl0eTogMCxcbiAgICAgIGdyb3VwczogW3sgcXVhbnRpdHk6IDIwIH0sIHsgcXVhbnRpdHk6ICczMCcgfV0sXG4gICAgICBqb2JRdWFudGl0eTogMSxcbiAgICAgIGhhc0dyb3VwczogdHJ1ZSxcbiAgICB9KVxuICApLnRvQmUoNTApO1xuICBleHBlY3QoXG4gICAgZGlzcGxheVF1YW50aXR5KHtcbiAgICAgIGdyb3VwSW5kZXg6IDEsXG4gICAgICBncm91cFF1YW50aXR5OiAnMzAnLFxuICAgICAgZ3JvdXBzOiBbeyBxdWFudGl0eTogMjAgfSwgeyBxdWFudGl0eTogMzAgfV0sXG4gICAgICBqb2JRdWFudGl0eTogNTAsXG4gICAgICBoYXNHcm91cHM6IHRydWUsXG4gICAgfSlcbiAgKS50b0JlKDMwKTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUNFQSxlQUFlLEVBQ2ZDLGVBQWUsRUFDZkMsMkJBQTJCLEVBQzNCQyxnQ0FBZ0MsUUFDM0IseUJBQXlCO0FBRWhDLElBQU1DLGNBQWMsR0FBRztFQUNyQkMsU0FBUyxFQUFFLENBQ1Q7SUFBRUMsTUFBTSxFQUFFLEtBQUs7SUFBRUMsVUFBVSxFQUFFO0VBQUcsQ0FBQyxFQUNqQztJQUFFRCxNQUFNLEVBQUUsS0FBSztJQUFFQyxVQUFVLEVBQUU7RUFBRyxDQUFDLEVBQ2pDO0lBQUVELE1BQU0sRUFBRSxLQUFLO0lBQUVDLFVBQVUsRUFBRTtFQUFHLENBQUMsRUFDakM7SUFBRUQsTUFBTSxFQUFFLElBQUk7SUFBRUMsVUFBVSxFQUFFO0VBQUcsQ0FBQyxFQUNoQztJQUFFRCxNQUFNLEVBQUUsS0FBSztJQUFFQyxVQUFVLEVBQUU7RUFBRyxDQUFDO0FBRXJDLENBQUM7QUFFRCxJQUFNQyxlQUFlLEdBQUc7RUFDdEJILFNBQVMsRUFBRSxDQUNUO0lBQUVDLE1BQU0sRUFBRSxJQUFJO0lBQUVDLFVBQVUsRUFBRTtFQUFHLENBQUMsRUFDaEM7SUFBRUQsTUFBTSxFQUFFLEtBQUs7SUFBRUMsVUFBVSxFQUFFO0VBQUcsQ0FBQyxFQUNqQztJQUFFRCxNQUFNLEVBQUUsS0FBSztJQUFFQyxVQUFVLEVBQUU7RUFBRyxDQUFDLEVBQ2pDO0lBQUVELE1BQU0sRUFBRSxLQUFLO0lBQUVDLFVBQVUsRUFBRTtFQUFHLENBQUMsRUFDakM7SUFBRUQsTUFBTSxFQUFFLEtBQUs7SUFBRUMsVUFBVSxFQUFFO0VBQUcsQ0FBQyxFQUNqQztJQUFFRCxNQUFNLEVBQUUsS0FBSztJQUFFQyxVQUFVLEVBQUU7RUFBRyxDQUFDO0FBRXJDLENBQUM7QUFFRCxJQUFNRSxlQUFlLEdBQUc7RUFDdEJDLFFBQVEsRUFBRSxLQUFLO0VBQ2ZDLE1BQU0sRUFBRSxDQUNOO0lBQ0VDLEVBQUUsRUFBRSxNQUFNO0lBQ1ZDLFNBQVMsRUFBRSxDQUFDO0lBQ1pDLFlBQVksRUFBRSxJQUFJO0lBQ2xCQyxhQUFhLEVBQUUsQ0FBQztJQUNoQkMsaUJBQWlCLEVBQUUsQ0FBQztJQUNwQkMsT0FBTyxFQUFFLENBQ1A7TUFDRUwsRUFBRSxFQUFFLE9BQU87TUFDWEcsYUFBYSxFQUFFLEVBQUU7TUFDakJDLGlCQUFpQixFQUFFLElBQUk7TUFDdkJFLDBCQUEwQixFQUFFLElBQUk7TUFDaENDLDhCQUE4QixFQUFFZjtJQUNsQyxDQUFDLEVBQ0Q7TUFDRVEsRUFBRSxFQUFFLE9BQU87TUFDWEcsYUFBYSxFQUFFLEVBQUU7TUFDakJDLGlCQUFpQixFQUFFLElBQUk7TUFDdkJFLDBCQUEwQixFQUFFLElBQUk7TUFDaENDLDhCQUE4QixFQUFFWDtJQUNsQyxDQUFDO0VBRUwsQ0FBQyxDQUNGO0VBQ0RZLFdBQVcsRUFBRTtBQUNmLENBQUM7QUFFREMsSUFBSSxDQUFDLGtEQUFrRCxFQUFFLFlBQU07RUFDN0RDLE1BQU0sQ0FDSnRCLGVBQWUsQ0FDYjtJQUNFZSxhQUFhLEVBQUUsRUFBRTtJQUNqQkMsaUJBQWlCLEVBQUUsSUFBSTtJQUN2QkcsOEJBQThCLEVBQUVmO0VBQ2xDLENBQUMsRUFDRCxFQUNGLENBQ0YsQ0FBQyxDQUFDbUIsT0FBTyxDQUFDO0lBQUVDLFdBQVcsRUFBRSxFQUFFO0lBQUVDLFFBQVEsRUFBRTtFQUFNLENBQUMsQ0FBQztFQUMvQ0gsTUFBTSxDQUNKdEIsZUFBZSxDQUNiO0lBQ0VlLGFBQWEsRUFBRSxFQUFFO0lBQ2pCQyxpQkFBaUIsRUFBRSxJQUFJO0lBQ3ZCRyw4QkFBOEIsRUFBRVg7RUFDbEMsQ0FBQyxFQUNELEVBQ0YsQ0FDRixDQUFDLENBQUNlLE9BQU8sQ0FBQztJQUFFQyxXQUFXLEVBQUUsRUFBRTtJQUFFQyxRQUFRLEVBQUU7RUFBTSxDQUFDLENBQUM7QUFDakQsQ0FBQyxDQUFDO0FBRUZKLElBQUksQ0FBQyx3REFBd0QsRUFBRSxZQUFNO0VBQ25FQyxNQUFNLENBQ0p0QixlQUFlLENBQ2I7SUFDRWUsYUFBYSxFQUFFLEVBQUU7SUFDakJDLGlCQUFpQixFQUFFLElBQUk7SUFDdkJHLDhCQUE4QixFQUFFZjtFQUNsQyxDQUFDLEVBQ0QsQ0FDRixDQUNGLENBQUMsQ0FBQ21CLE9BQU8sQ0FBQztJQUFFQyxXQUFXLEVBQUUsRUFBRTtJQUFFQyxRQUFRLEVBQUU7RUFBSyxDQUFDLENBQUM7QUFDaEQsQ0FBQyxDQUFDO0FBRUZKLElBQUksQ0FBQyw2Q0FBNkMsRUFBRSxZQUFNO0VBQ3hELElBQU1LLFNBQVMsR0FBRztJQUNoQkMsY0FBYyxFQUFFO01BQUVmLEVBQUUsRUFBRSxNQUFNO01BQUVDLFNBQVMsRUFBRTtJQUFFLENBQUM7SUFDNUNlLGlCQUFpQixFQUFFLENBQ2pCO01BQUVDLFFBQVEsRUFBRSxPQUFPO01BQUVDLEtBQUssRUFBRSxpQkFBaUI7TUFBRU4sV0FBVyxFQUFFLEVBQUU7TUFBRUMsUUFBUSxFQUFFLElBQUk7TUFBRWYsUUFBUSxFQUFFO0lBQU0sQ0FBQyxFQUNqRztNQUFFbUIsUUFBUSxFQUFFLE9BQU87TUFBRUMsS0FBSyxFQUFFLG9CQUFvQjtNQUFFTixXQUFXLEVBQUUsRUFBRTtNQUFFQyxRQUFRLEVBQUUsSUFBSTtNQUFFZixRQUFRLEVBQUU7SUFBTSxDQUFDO0VBRXhHLENBQUM7RUFFRCxJQUFNcUIsTUFBTSxHQUFHNUIsZ0NBQWdDLENBQUN1QixTQUFTLEVBQUVqQixlQUFlLEVBQUUsRUFBRSxDQUFDO0VBRS9FYSxNQUFNLENBQUNTLE1BQU0sQ0FBQ0gsaUJBQWlCLENBQUNJLEdBQUcsQ0FBQyxVQUFDQyxNQUFXO0lBQUEsT0FBS0EsTUFBTSxDQUFDUixRQUFRO0VBQUEsRUFBQyxDQUFDLENBQUNGLE9BQU8sQ0FBQyxDQUM3RSxLQUFLLEVBQ0wsS0FBSyxDQUNOLENBQUM7RUFDRkQsTUFBTSxDQUFDUyxNQUFNLENBQUNILGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDSixXQUFXLENBQUMsQ0FBQ1UsSUFBSSxDQUFDLEVBQUUsQ0FBQztFQUN4RFosTUFBTSxDQUFDUyxNQUFNLENBQUNILGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDRSxLQUFLLENBQUMsQ0FBQ0ksSUFBSSxDQUFDLGlCQUFpQixDQUFDO0FBQ25FLENBQUMsQ0FBQztBQUVGYixJQUFJLENBQUMscURBQXFELEVBQUUsWUFBTTtFQUNoRSxJQUFNSyxTQUFTLEdBQUc7SUFDaEJDLGNBQWMsRUFBRTtNQUFFZixFQUFFLEVBQUU7SUFBTyxDQUFDO0lBQzlCZ0IsaUJBQWlCLEVBQUUsQ0FBQztNQUFFQyxRQUFRLEVBQUUsT0FBTztNQUFFTCxXQUFXLEVBQUUsRUFBRTtNQUFFQyxRQUFRLEVBQUU7SUFBSyxDQUFDO0VBQzVFLENBQUM7RUFDREgsTUFBTSxDQUFDbkIsZ0NBQWdDLENBQUN1QixTQUFTLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUNRLElBQUksQ0FBQ1IsU0FBUyxDQUFDO0FBQy9FLENBQUMsQ0FBQztBQUVGTCxJQUFJLENBQUMsNERBQTRELEVBQUUsWUFBTTtFQUN2RUMsTUFBTSxDQUFDcEIsMkJBQTJCLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQ2lDLFFBQVEsQ0FBQyxDQUFDO0VBQzVEYixNQUFNLENBQUNwQiwyQkFBMkIsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDLENBQUNnQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0VBQzdFWixNQUFNLENBQ0pyQixlQUFlLENBQUM7SUFDZG1DLFVBQVUsRUFBRSxJQUFJO0lBQ2hCQyxhQUFhLEVBQUUsQ0FBQztJQUNoQkMsTUFBTSxFQUFFLENBQUM7TUFBRUMsUUFBUSxFQUFFO0lBQUcsQ0FBQyxFQUFFO01BQUVBLFFBQVEsRUFBRTtJQUFLLENBQUMsQ0FBQztJQUM5Q0MsV0FBVyxFQUFFLENBQUM7SUFDZEMsU0FBUyxFQUFFO0VBQ2IsQ0FBQyxDQUNILENBQUMsQ0FBQ1AsSUFBSSxDQUFDLEVBQUUsQ0FBQztFQUNWWixNQUFNLENBQ0pyQixlQUFlLENBQUM7SUFDZG1DLFVBQVUsRUFBRSxDQUFDO0lBQ2JDLGFBQWEsRUFBRSxJQUFJO0lBQ25CQyxNQUFNLEVBQUUsQ0FBQztNQUFFQyxRQUFRLEVBQUU7SUFBRyxDQUFDLEVBQUU7TUFBRUEsUUFBUSxFQUFFO0lBQUcsQ0FBQyxDQUFDO0lBQzVDQyxXQUFXLEVBQUUsRUFBRTtJQUNmQyxTQUFTLEVBQUU7RUFDYixDQUFDLENBQ0gsQ0FBQyxDQUFDUCxJQUFJLENBQUMsRUFBRSxDQUFDO0FBQ1osQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119
|