@merchi/product-form 1.19.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +272 -0
- package/lib/actions/jobs.d.ts +3 -0
- package/lib/actions/jobs.js +80 -0
- package/lib/actions/leads.d.ts +7 -0
- package/lib/actions/leads.js +67 -0
- package/lib/components/AlertVariationSellerEditable.d.ts +6 -0
- package/lib/components/AlertVariationSellerEditable.js +46 -0
- package/lib/components/Collapse.d.ts +3 -0
- package/lib/components/Collapse.js +34 -0
- package/lib/components/DateCountdown.d.ts +44 -0
- package/lib/components/DateCountdown.js +188 -0
- package/lib/components/DropzoneInput.d.ts +10 -0
- package/lib/components/DropzoneInput.js +169 -0
- package/lib/components/DynamicVariationInput.d.ts +9 -0
- package/lib/components/DynamicVariationInput.js +71 -0
- package/lib/components/FormLead.d.ts +10 -0
- package/lib/components/FormLead.js +215 -0
- package/lib/components/GroupInventory.d.ts +6 -0
- package/lib/components/GroupInventory.js +16 -0
- package/lib/components/InputGroupQuantity.d.ts +8 -0
- package/lib/components/InputGroupQuantity.js +117 -0
- package/lib/components/InputHiddenStatic.d.ts +8 -0
- package/lib/components/InputHiddenStatic.js +24 -0
- package/lib/components/InputProductQuantity.d.ts +7 -0
- package/lib/components/InputProductQuantity.js +102 -0
- package/lib/components/InventoryStatus.d.ts +7 -0
- package/lib/components/InventoryStatus.js +67 -0
- package/lib/components/MerchiProductForm.d.ts +62 -0
- package/lib/components/MerchiProductForm.js +51 -0
- package/lib/components/PriceMatrix.d.ts +27 -0
- package/lib/components/PriceMatrix.js +106 -0
- package/lib/components/ProductButtonsSubmit.d.ts +3 -0
- package/lib/components/ProductButtonsSubmit.js +52 -0
- package/lib/components/ProductFeatureDeadline.d.ts +3 -0
- package/lib/components/ProductFeatureDeadline.js +25 -0
- package/lib/components/ProductGroupBuyStatus.d.ts +3 -0
- package/lib/components/ProductGroupBuyStatus.js +47 -0
- package/lib/components/ProductPriceMatrix.d.ts +3 -0
- package/lib/components/ProductPriceMatrix.js +51 -0
- package/lib/components/ProductTitle.d.ts +3 -0
- package/lib/components/ProductTitle.js +36 -0
- package/lib/components/ProductTotalCost.d.ts +3 -0
- package/lib/components/ProductTotalCost.js +74 -0
- package/lib/components/ProductUnitPrice.d.ts +7 -0
- package/lib/components/ProductUnitPrice.js +51 -0
- package/lib/components/TooltipElement.d.ts +9 -0
- package/lib/components/TooltipElement.js +35 -0
- package/lib/components/VariationAreaInput.d.ts +8 -0
- package/lib/components/VariationAreaInput.js +219 -0
- package/lib/components/VariationCheckBoxOrRadioOption.d.ts +10 -0
- package/lib/components/VariationCheckBoxOrRadioOption.js +82 -0
- package/lib/components/VariationCheckboxRadio.d.ts +17 -0
- package/lib/components/VariationCheckboxRadio.js +57 -0
- package/lib/components/VariationColourExtractInput.d.ts +8 -0
- package/lib/components/VariationColourExtractInput.js +395 -0
- package/lib/components/VariationError.d.ts +7 -0
- package/lib/components/VariationError.js +52 -0
- package/lib/components/VariationFieldInputInstructions.d.ts +10 -0
- package/lib/components/VariationFieldInputInstructions.js +50 -0
- package/lib/components/VariationFieldInstructions.d.ts +3 -0
- package/lib/components/VariationFieldInstructions.js +22 -0
- package/lib/components/VariationFieldNameAndCostInputs.d.ts +7 -0
- package/lib/components/VariationFieldNameAndCostInputs.js +34 -0
- package/lib/components/VariationFieldOptionDefaultInputs.d.ts +7 -0
- package/lib/components/VariationFieldOptionDefaultInputs.js +48 -0
- package/lib/components/VariationFieldStaticValues.d.ts +8 -0
- package/lib/components/VariationFieldStaticValues.js +57 -0
- package/lib/components/VariationFileInput.d.ts +8 -0
- package/lib/components/VariationFileInput.js +229 -0
- package/lib/components/VariationInput.d.ts +11 -0
- package/lib/components/VariationInput.js +97 -0
- package/lib/components/VariationLabel.d.ts +11 -0
- package/lib/components/VariationLabel.js +85 -0
- package/lib/components/VariationOptionColour.d.ts +8 -0
- package/lib/components/VariationOptionColour.js +50 -0
- package/lib/components/VariationOptionImage.d.ts +8 -0
- package/lib/components/VariationOptionImage.js +52 -0
- package/lib/components/VariationSelect.d.ts +8 -0
- package/lib/components/VariationSelect.js +66 -0
- package/lib/components/VariationSelectElements.d.ts +16 -0
- package/lib/components/VariationSelectElements.js +141 -0
- package/lib/components/VariationTurnaroundTime.d.ts +9 -0
- package/lib/components/VariationTurnaroundTime.js +156 -0
- package/lib/components/Variations.d.ts +9 -0
- package/lib/components/Variations.js +109 -0
- package/lib/components/VariationsGroups.d.ts +8 -0
- package/lib/components/VariationsGroups.js +79 -0
- package/lib/components/buttons/ButtonAddGroup.d.ts +7 -0
- package/lib/components/buttons/ButtonAddGroup.js +38 -0
- package/lib/components/buttons/ButtonProductSubmit.d.ts +7 -0
- package/lib/components/buttons/ButtonProductSubmit.js +33 -0
- package/lib/components/buttons/ButtonRemoveGroup.d.ts +8 -0
- package/lib/components/buttons/ButtonRemoveGroup.js +25 -0
- package/lib/components/buttons/index.d.ts +4 -0
- package/lib/components/buttons/index.js +5 -0
- package/lib/components/cost.d.ts +11 -0
- package/lib/components/cost.js +44 -0
- package/lib/components/currency.d.ts +16 -0
- package/lib/components/currency.js +184 -0
- package/lib/components/drafts/DraftApprovePanel.d.ts +6 -0
- package/lib/components/drafts/DraftApprovePanel.js +315 -0
- package/lib/components/drafts/DraftCanvas.d.ts +13 -0
- package/lib/components/drafts/DraftCanvas.js +496 -0
- package/lib/components/drafts/DraftDesignerSheet.d.ts +9 -0
- package/lib/components/drafts/DraftDesignerSheet.js +685 -0
- package/lib/components/drafts/ProductDraftsHost.d.ts +3 -0
- package/lib/components/drafts/ProductDraftsHost.js +207 -0
- package/lib/components/drafts/useHtmlImage.d.ts +1 -0
- package/lib/components/drafts/useHtmlImage.js +45 -0
- package/lib/components/icons/IconChecked.d.ts +3 -0
- package/lib/components/icons/IconChecked.js +10 -0
- package/lib/components/icons/IconCheckedOrNoStock.d.ts +7 -0
- package/lib/components/icons/IconCheckedOrNoStock.js +13 -0
- package/lib/components/icons/IconCountryFlag.d.ts +8 -0
- package/lib/components/icons/IconCountryFlag.js +27 -0
- package/lib/components/icons/IconFile.d.ts +7 -0
- package/lib/components/icons/IconFile.js +41 -0
- package/lib/components/icons/IconNoStock.d.ts +3 -0
- package/lib/components/icons/IconNoStock.js +12 -0
- package/lib/components/icons/index.d.ts +5 -0
- package/lib/components/icons/index.js +6 -0
- package/lib/components/quoteAfterFieldChange.d.ts +7 -0
- package/lib/components/quoteAfterFieldChange.js +11 -0
- package/lib/components/quoteAfterFieldChange.test.js +58 -0
- package/lib/components/utils.d.ts +26 -0
- package/lib/components/utils.js +500 -0
- package/lib/context/MerchiProductFormProvider.d.ts +177 -0
- package/lib/context/MerchiProductFormProvider.js +1020 -0
- package/lib/images/product-not-found.png +0 -0
- package/lib/index.d.ts +42 -0
- package/lib/index.js +41 -0
- package/lib/styles/globals.css +1590 -0
- package/lib/styles/globals.css.map +1 -0
- package/lib/styles/globals.scss +1698 -0
- package/lib/utils/area.d.ts +77 -0
- package/lib/utils/area.js +298 -0
- package/lib/utils/cleanFormVariationJson.d.ts +5 -0
- package/lib/utils/cleanFormVariationJson.js +39 -0
- package/lib/utils/cleanFormVariationJson.test.js +54 -0
- package/lib/utils/countries.d.ts +7 -0
- package/lib/utils/countries.js +290 -0
- package/lib/utils/currency.d.ts +2 -0
- package/lib/utils/currency.js +188 -0
- package/lib/utils/draftExport.d.ts +21 -0
- package/lib/utils/draftExport.js +481 -0
- package/lib/utils/draftExport.test.js +78 -0
- package/lib/utils/draftFonts.d.ts +55 -0
- package/lib/utils/draftFonts.js +68 -0
- package/lib/utils/draftStorage.d.ts +25 -0
- package/lib/utils/draftStorage.js +148 -0
- package/lib/utils/draftStorage.test.js +125 -0
- package/lib/utils/draftTemplates.d.ts +87 -0
- package/lib/utils/draftTemplates.js +579 -0
- package/lib/utils/draftTemplates.test.js +476 -0
- package/lib/utils/formErrors.d.ts +2 -0
- package/lib/utils/formErrors.js +29 -0
- package/lib/utils/index.d.ts +3 -0
- package/lib/utils/index.js +4 -0
- package/lib/utils/priceMatrix.d.ts +57 -0
- package/lib/utils/priceMatrix.js +82 -0
- package/lib/utils/priceMatrix.test.js +200 -0
- package/lib/utils/products.d.ts +40 -0
- package/lib/utils/products.js +68 -0
- package/lib/utils/quantity.d.ts +7 -0
- package/lib/utils/quantity.js +19 -0
- package/lib/utils/quantity.test.js +42 -0
- package/lib/utils/reconcileVariations.d.ts +25 -0
- package/lib/utils/reconcileVariations.js +246 -0
- package/lib/utils/reconcileVariations.test.js +239 -0
- package/lib/utils/selectedVariationCosts.d.ts +6 -0
- package/lib/utils/selectedVariationCosts.js +59 -0
- package/lib/utils/selectedVariationCosts.test.js +66 -0
- package/lib/utils/selections.d.ts +23 -0
- package/lib/utils/selections.js +76 -0
- package/lib/utils/selections.test.js +159 -0
- package/lib/utils/singleOptionVariation.d.ts +2 -0
- package/lib/utils/singleOptionVariation.js +22 -0
- package/lib/utils/singleOptionVariation.test.js +59 -0
- package/lib/utils/supportedNumbers.d.ts +1 -0
- package/lib/utils/supportedNumbers.js +27 -0
- package/lib/utils/types.d.ts +114 -0
- package/lib/utils/types.js +50 -0
- package/lib/utils/url.d.ts +3 -0
- package/lib/utils/url.js +65 -0
- package/lib/utils/variationFields.d.ts +5 -0
- package/lib/utils/variationFields.js +116 -0
- package/lib/utils/variationFields.test.js +108 -0
- package/package.json +93 -0
|
@@ -0,0 +1,315 @@
|
|
|
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 _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; } } }; }
|
|
8
|
+
function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
|
|
9
|
+
function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
|
|
10
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
11
|
+
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."); }
|
|
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
|
+
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; } }
|
|
15
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
16
|
+
function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
|
|
17
|
+
function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
|
|
18
|
+
import React, { useState } from 'react';
|
|
19
|
+
import { useMerchiFormContext } from '../../context/MerchiProductFormProvider';
|
|
20
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
21
|
+
function DraftPreview(_ref) {
|
|
22
|
+
var templateData = _ref.templateData;
|
|
23
|
+
var canvasPreview = templateData.canvasPreview;
|
|
24
|
+
return /*#__PURE__*/_jsx("div", {
|
|
25
|
+
children: /*#__PURE__*/_jsx("img", {
|
|
26
|
+
src: canvasPreview,
|
|
27
|
+
alt: "Draft Preview"
|
|
28
|
+
})
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
function uploadBase64Image(_x, _x2, _x3, _x4) {
|
|
32
|
+
return _uploadBase64Image.apply(this, arguments);
|
|
33
|
+
}
|
|
34
|
+
/** @merchi/checkout cleanClientFiles reads `.file`, not a bare `{ id }`. */
|
|
35
|
+
function _uploadBase64Image() {
|
|
36
|
+
_uploadBase64Image = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(apiUrl, groupId, templateId, base64) {
|
|
37
|
+
var suffix,
|
|
38
|
+
base64Data,
|
|
39
|
+
binaryString,
|
|
40
|
+
bytes,
|
|
41
|
+
i,
|
|
42
|
+
blob,
|
|
43
|
+
file,
|
|
44
|
+
formData,
|
|
45
|
+
response,
|
|
46
|
+
data,
|
|
47
|
+
uploaded,
|
|
48
|
+
_args3 = arguments;
|
|
49
|
+
return _regenerator().w(function (_context3) {
|
|
50
|
+
while (1) switch (_context3.n) {
|
|
51
|
+
case 0:
|
|
52
|
+
suffix = _args3.length > 4 && _args3[4] !== undefined ? _args3[4] : 'preview';
|
|
53
|
+
// Remove "data:image/..." prefix if present
|
|
54
|
+
base64Data = typeof base64 === 'string' && base64.includes(',') ? base64.split(',')[1] : base64; // Convert base64 to binary data
|
|
55
|
+
binaryString = atob(base64Data);
|
|
56
|
+
bytes = new Uint8Array(binaryString.length);
|
|
57
|
+
for (i = 0; i < binaryString.length; i++) {
|
|
58
|
+
bytes[i] = binaryString.charCodeAt(i);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
// Create a Blob from the binary data
|
|
62
|
+
blob = new Blob([bytes], {
|
|
63
|
+
type: 'image/png'
|
|
64
|
+
}); // Create a File from the Blob
|
|
65
|
+
file = new File([blob], "group-".concat(groupId, "-template-").concat(templateId, "-draft-").concat(suffix, "-").concat(Date.now(), ".png"), {
|
|
66
|
+
type: 'image/png'
|
|
67
|
+
});
|
|
68
|
+
formData = new FormData();
|
|
69
|
+
formData.append('0', file);
|
|
70
|
+
_context3.n = 1;
|
|
71
|
+
return fetch("".concat(apiUrl, "public-upload-job-files/"), {
|
|
72
|
+
method: 'POST',
|
|
73
|
+
body: formData
|
|
74
|
+
});
|
|
75
|
+
case 1:
|
|
76
|
+
response = _context3.v;
|
|
77
|
+
if (response.ok) {
|
|
78
|
+
_context3.n = 2;
|
|
79
|
+
break;
|
|
80
|
+
}
|
|
81
|
+
throw new Error("Server responded with ".concat(response.status, ": ").concat(response.statusText));
|
|
82
|
+
case 2:
|
|
83
|
+
_context3.n = 3;
|
|
84
|
+
return response.json();
|
|
85
|
+
case 3:
|
|
86
|
+
data = _context3.v;
|
|
87
|
+
uploaded = data.file;
|
|
88
|
+
if (!((uploaded === null || uploaded === void 0 ? void 0 : uploaded.id) == null)) {
|
|
89
|
+
_context3.n = 4;
|
|
90
|
+
break;
|
|
91
|
+
}
|
|
92
|
+
throw new Error('Draft upload did not return a file id');
|
|
93
|
+
case 4:
|
|
94
|
+
return _context3.a(2, uploaded);
|
|
95
|
+
case 5:
|
|
96
|
+
return _context3.a(2);
|
|
97
|
+
}
|
|
98
|
+
}, _callee3);
|
|
99
|
+
}));
|
|
100
|
+
return _uploadBase64Image.apply(this, arguments);
|
|
101
|
+
}
|
|
102
|
+
function asCheckoutClientFile(file) {
|
|
103
|
+
return {
|
|
104
|
+
file: {
|
|
105
|
+
id: file.id
|
|
106
|
+
},
|
|
107
|
+
objectId: String(file.id)
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
export default function DraftApprovePanel(_ref2) {
|
|
111
|
+
var customFooterContent = _ref2.customFooterContent;
|
|
112
|
+
var _useMerchiFormContext = useMerchiFormContext(),
|
|
113
|
+
apiUrl = _useMerchiFormContext.apiUrl,
|
|
114
|
+
classNameDraftGroupContainer = _useMerchiFormContext.classNameDraftGroupContainer,
|
|
115
|
+
classNameDraftGroupTitle = _useMerchiFormContext.classNameDraftGroupTitle,
|
|
116
|
+
draftApproveCallback = _useMerchiFormContext.draftApproveCallback,
|
|
117
|
+
job = _useMerchiFormContext.job,
|
|
118
|
+
product = _useMerchiFormContext.product,
|
|
119
|
+
setIsDraftModalOpen = _useMerchiFormContext.setIsDraftModalOpen,
|
|
120
|
+
setJob = _useMerchiFormContext.setJob,
|
|
121
|
+
showAlert = _useMerchiFormContext.showAlert,
|
|
122
|
+
hookForm = _useMerchiFormContext.hookForm;
|
|
123
|
+
var _useState = useState(false),
|
|
124
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
125
|
+
isLoading = _useState2[0],
|
|
126
|
+
setIsLoading = _useState2[1];
|
|
127
|
+
var key = "productDraftTemplate-".concat(product.id);
|
|
128
|
+
var raw = localStorage.getItem(key);
|
|
129
|
+
if (!raw) return null;
|
|
130
|
+
var allDrafts = JSON.parse(raw);
|
|
131
|
+
var groupVariationFields = hookForm.getValues('variationsGroups') || [];
|
|
132
|
+
var currentCount = groupVariationFields.length;
|
|
133
|
+
var draftData = allDrafts.filter(function (d) {
|
|
134
|
+
return d.groupIndex < currentCount;
|
|
135
|
+
});
|
|
136
|
+
if (draftData.length !== allDrafts.length) {
|
|
137
|
+
localStorage.setItem(key, JSON.stringify(draftData));
|
|
138
|
+
}
|
|
139
|
+
var doUpload = /*#__PURE__*/function () {
|
|
140
|
+
var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(groupIndex, templateId, base64, suffix) {
|
|
141
|
+
return _regenerator().w(function (_context) {
|
|
142
|
+
while (1) switch (_context.n) {
|
|
143
|
+
case 0:
|
|
144
|
+
return _context.a(2, uploadBase64Image(apiUrl, groupIndex, templateId, base64, suffix));
|
|
145
|
+
}
|
|
146
|
+
}, _callee);
|
|
147
|
+
}));
|
|
148
|
+
return function doUpload(_x5, _x6, _x7, _x8) {
|
|
149
|
+
return _ref3.apply(this, arguments);
|
|
150
|
+
};
|
|
151
|
+
}();
|
|
152
|
+
function approveDrats() {
|
|
153
|
+
return _approveDrats.apply(this, arguments);
|
|
154
|
+
}
|
|
155
|
+
function _approveDrats() {
|
|
156
|
+
_approveDrats = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() {
|
|
157
|
+
var draftFiles, clientFiles, _iterator, _step, group, _iterator2, _step2, template, clientFile, draftFile, jobData, message, _t, _t2, _t3;
|
|
158
|
+
return _regenerator().w(function (_context2) {
|
|
159
|
+
while (1) switch (_context2.p = _context2.n) {
|
|
160
|
+
case 0:
|
|
161
|
+
if (draftApproveCallback) {
|
|
162
|
+
_context2.n = 1;
|
|
163
|
+
break;
|
|
164
|
+
}
|
|
165
|
+
showAlert({
|
|
166
|
+
message: "No draftApproveCallback, aborting."
|
|
167
|
+
});
|
|
168
|
+
return _context2.a(2);
|
|
169
|
+
case 1:
|
|
170
|
+
setIsLoading(true);
|
|
171
|
+
_context2.p = 2;
|
|
172
|
+
draftFiles = [];
|
|
173
|
+
clientFiles = [];
|
|
174
|
+
_iterator = _createForOfIteratorHelper(draftData);
|
|
175
|
+
_context2.p = 3;
|
|
176
|
+
_iterator.s();
|
|
177
|
+
case 4:
|
|
178
|
+
if ((_step = _iterator.n()).done) {
|
|
179
|
+
_context2.n = 14;
|
|
180
|
+
break;
|
|
181
|
+
}
|
|
182
|
+
group = _step.value;
|
|
183
|
+
_iterator2 = _createForOfIteratorHelper(group.templateData);
|
|
184
|
+
_context2.p = 5;
|
|
185
|
+
_iterator2.s();
|
|
186
|
+
case 6:
|
|
187
|
+
if ((_step2 = _iterator2.n()).done) {
|
|
188
|
+
_context2.n = 10;
|
|
189
|
+
break;
|
|
190
|
+
}
|
|
191
|
+
template = _step2.value;
|
|
192
|
+
_context2.n = 7;
|
|
193
|
+
return doUpload(group.groupIndex, template.templateId, template.draft, "client");
|
|
194
|
+
case 7:
|
|
195
|
+
clientFile = _context2.v;
|
|
196
|
+
_context2.n = 8;
|
|
197
|
+
return doUpload(group.groupIndex, template.templateId, template.canvasPreview, "draft");
|
|
198
|
+
case 8:
|
|
199
|
+
draftFile = _context2.v;
|
|
200
|
+
clientFiles.push(clientFile);
|
|
201
|
+
draftFiles.push(draftFile);
|
|
202
|
+
case 9:
|
|
203
|
+
_context2.n = 6;
|
|
204
|
+
break;
|
|
205
|
+
case 10:
|
|
206
|
+
_context2.n = 12;
|
|
207
|
+
break;
|
|
208
|
+
case 11:
|
|
209
|
+
_context2.p = 11;
|
|
210
|
+
_t = _context2.v;
|
|
211
|
+
_iterator2.e(_t);
|
|
212
|
+
case 12:
|
|
213
|
+
_context2.p = 12;
|
|
214
|
+
_iterator2.f();
|
|
215
|
+
return _context2.f(12);
|
|
216
|
+
case 13:
|
|
217
|
+
_context2.n = 4;
|
|
218
|
+
break;
|
|
219
|
+
case 14:
|
|
220
|
+
_context2.n = 16;
|
|
221
|
+
break;
|
|
222
|
+
case 15:
|
|
223
|
+
_context2.p = 15;
|
|
224
|
+
_t2 = _context2.v;
|
|
225
|
+
_iterator.e(_t2);
|
|
226
|
+
case 16:
|
|
227
|
+
_context2.p = 16;
|
|
228
|
+
_iterator.f();
|
|
229
|
+
return _context2.f(16);
|
|
230
|
+
case 17:
|
|
231
|
+
jobData = _objectSpread(_objectSpread({}, job), {}, {
|
|
232
|
+
clientFiles: clientFiles.map(asCheckoutClientFile),
|
|
233
|
+
ownDrafts: [{
|
|
234
|
+
accepted: Math.floor(Date.now() / 1000),
|
|
235
|
+
images: draftFiles.map(function (f) {
|
|
236
|
+
return {
|
|
237
|
+
id: f.id
|
|
238
|
+
};
|
|
239
|
+
})
|
|
240
|
+
}]
|
|
241
|
+
});
|
|
242
|
+
setJob(jobData);
|
|
243
|
+
_context2.n = 18;
|
|
244
|
+
return draftApproveCallback(jobData);
|
|
245
|
+
case 18:
|
|
246
|
+
setIsDraftModalOpen(false);
|
|
247
|
+
_context2.n = 20;
|
|
248
|
+
break;
|
|
249
|
+
case 19:
|
|
250
|
+
_context2.p = 19;
|
|
251
|
+
_t3 = _context2.v;
|
|
252
|
+
message = _t3.errorMessage || _t3.message || "Upload error";
|
|
253
|
+
showAlert({
|
|
254
|
+
message: message
|
|
255
|
+
});
|
|
256
|
+
console.error(_t3);
|
|
257
|
+
case 20:
|
|
258
|
+
_context2.p = 20;
|
|
259
|
+
setIsLoading(false);
|
|
260
|
+
return _context2.f(20);
|
|
261
|
+
case 21:
|
|
262
|
+
return _context2.a(2);
|
|
263
|
+
}
|
|
264
|
+
}, _callee2, null, [[5, 11, 12, 13], [3, 15, 16, 17], [2, 19, 20, 21]]);
|
|
265
|
+
}));
|
|
266
|
+
return _approveDrats.apply(this, arguments);
|
|
267
|
+
}
|
|
268
|
+
var draftCount = draftData.length;
|
|
269
|
+
var approveLabel = draftCount === 1 ? 'Approve draft' : 'Approve drafts';
|
|
270
|
+
return /*#__PURE__*/_jsxs("div", {
|
|
271
|
+
className: "merchi-product-draft-approve-layout",
|
|
272
|
+
children: [/*#__PURE__*/_jsxs("div", {
|
|
273
|
+
className: "merchi-product-draft-approve-intro",
|
|
274
|
+
children: [/*#__PURE__*/_jsx("h2", {
|
|
275
|
+
id: "merchi-product-draft-approve-title",
|
|
276
|
+
children: approveLabel
|
|
277
|
+
}), /*#__PURE__*/_jsx("p", {
|
|
278
|
+
children: draftCount === 1 ? 'Please approve your draft before you proceed.' : 'Please approve your drafts before you proceed.'
|
|
279
|
+
})]
|
|
280
|
+
}), /*#__PURE__*/_jsx("div", {
|
|
281
|
+
className: "merchi-product-draft-approve-body",
|
|
282
|
+
children: draftData.map(function (draft, index) {
|
|
283
|
+
return /*#__PURE__*/_jsxs("div", {
|
|
284
|
+
className: classNameDraftGroupContainer,
|
|
285
|
+
children: [/*#__PURE__*/_jsxs("h3", {
|
|
286
|
+
className: classNameDraftGroupTitle,
|
|
287
|
+
children: ["Group ", index + 1]
|
|
288
|
+
}), draft.templateData.map(function (tD, tDIndex) {
|
|
289
|
+
return /*#__PURE__*/_jsx(DraftPreview, {
|
|
290
|
+
templateData: tD
|
|
291
|
+
}, tDIndex);
|
|
292
|
+
})]
|
|
293
|
+
}, index);
|
|
294
|
+
})
|
|
295
|
+
}), /*#__PURE__*/_jsxs("div", {
|
|
296
|
+
className: "merchi-product-draft-approve-footer",
|
|
297
|
+
children: [customFooterContent, /*#__PURE__*/_jsx("button", {
|
|
298
|
+
type: "button",
|
|
299
|
+
className: "merchi-product-draft-btn merchi-product-draft-btn-secondary",
|
|
300
|
+
onClick: function onClick() {
|
|
301
|
+
setIsDraftModalOpen(false);
|
|
302
|
+
},
|
|
303
|
+
disabled: isLoading,
|
|
304
|
+
children: "Close"
|
|
305
|
+
}), /*#__PURE__*/_jsx("button", {
|
|
306
|
+
type: "button",
|
|
307
|
+
className: "merchi-product-draft-btn merchi-product-draft-btn-primary",
|
|
308
|
+
disabled: isLoading,
|
|
309
|
+
onClick: approveDrats,
|
|
310
|
+
children: isLoading ? 'Approving…' : approveLabel
|
|
311
|
+
})]
|
|
312
|
+
})]
|
|
313
|
+
});
|
|
314
|
+
}
|
|
315
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJlIiwidCIsInIiLCJTeW1ib2wiLCJuIiwiaXRlcmF0b3IiLCJvIiwidG9TdHJpbmdUYWciLCJpIiwiYyIsInByb3RvdHlwZSIsIkdlbmVyYXRvciIsInUiLCJPYmplY3QiLCJjcmVhdGUiLCJfcmVnZW5lcmF0b3JEZWZpbmUyIiwiZiIsInAiLCJ5IiwiRyIsInYiLCJhIiwiZCIsImJpbmQiLCJsZW5ndGgiLCJsIiwiVHlwZUVycm9yIiwiY2FsbCIsImRvbmUiLCJ2YWx1ZSIsIkdlbmVyYXRvckZ1bmN0aW9uIiwiR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUiLCJnZXRQcm90b3R5cGVPZiIsInNldFByb3RvdHlwZU9mIiwiX19wcm90b19fIiwiZGlzcGxheU5hbWUiLCJfcmVnZW5lcmF0b3IiLCJ3IiwibSIsImRlZmluZVByb3BlcnR5IiwiX3JlZ2VuZXJhdG9yRGVmaW5lIiwiX2ludm9rZSIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsIl9zbGljZWRUb0FycmF5IiwiX2FycmF5V2l0aEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheUxpbWl0IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlUmVzdCIsIl9hcnJheUxpa2VUb0FycmF5IiwidG9TdHJpbmciLCJzbGljZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsIkFycmF5IiwiZnJvbSIsInRlc3QiLCJuZXh0IiwicHVzaCIsImlzQXJyYXkiLCJhc3luY0dlbmVyYXRvclN0ZXAiLCJQcm9taXNlIiwicmVzb2x2ZSIsInRoZW4iLCJfYXN5bmNUb0dlbmVyYXRvciIsImFyZ3VtZW50cyIsImFwcGx5IiwiX25leHQiLCJfdGhyb3ciLCJSZWFjdCIsInVzZVN0YXRlIiwidXNlTWVyY2hpRm9ybUNvbnRleHQiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRHJhZnRQcmV2aWV3IiwiX3JlZiIsInRlbXBsYXRlRGF0YSIsImNhbnZhc1ByZXZpZXciLCJjaGlsZHJlbiIsInNyYyIsImFsdCIsInVwbG9hZEJhc2U2NEltYWdlIiwiX3giLCJfeDIiLCJfeDMiLCJfeDQiLCJfdXBsb2FkQmFzZTY0SW1hZ2UiLCJfY2FsbGVlMyIsImFwaVVybCIsImdyb3VwSWQiLCJ0ZW1wbGF0ZUlkIiwiYmFzZTY0Iiwic3VmZml4IiwiYmFzZTY0RGF0YSIsImJpbmFyeVN0cmluZyIsImJ5dGVzIiwiYmxvYiIsImZpbGUiLCJmb3JtRGF0YSIsInJlc3BvbnNlIiwiZGF0YSIsInVwbG9hZGVkIiwiX2FyZ3MzIiwiX2NvbnRleHQzIiwidW5kZWZpbmVkIiwiaW5jbHVkZXMiLCJzcGxpdCIsImF0b2IiLCJVaW50OEFycmF5IiwiY2hhckNvZGVBdCIsIkJsb2IiLCJ0eXBlIiwiRmlsZSIsImNvbmNhdCIsIkRhdGUiLCJub3ciLCJGb3JtRGF0YSIsImFwcGVuZCIsImZldGNoIiwibWV0aG9kIiwiYm9keSIsIm9rIiwiRXJyb3IiLCJzdGF0dXMiLCJzdGF0dXNUZXh0IiwianNvbiIsImlkIiwiYXNDaGVja291dENsaWVudEZpbGUiLCJvYmplY3RJZCIsIlN0cmluZyIsIkRyYWZ0QXBwcm92ZVBhbmVsIiwiX3JlZjIiLCJjdXN0b21Gb290ZXJDb250ZW50IiwiX3VzZU1lcmNoaUZvcm1Db250ZXh0IiwiY2xhc3NOYW1lRHJhZnRHcm91cENvbnRhaW5lciIsImNsYXNzTmFtZURyYWZ0R3JvdXBUaXRsZSIsImRyYWZ0QXBwcm92ZUNhbGxiYWNrIiwiam9iIiwicHJvZHVjdCIsInNldElzRHJhZnRNb2RhbE9wZW4iLCJzZXRKb2IiLCJzaG93QWxlcnQiLCJob29rRm9ybSIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJpc0xvYWRpbmciLCJzZXRJc0xvYWRpbmciLCJrZXkiLCJyYXciLCJsb2NhbFN0b3JhZ2UiLCJnZXRJdGVtIiwiYWxsRHJhZnRzIiwiSlNPTiIsInBhcnNlIiwiZ3JvdXBWYXJpYXRpb25GaWVsZHMiLCJnZXRWYWx1ZXMiLCJjdXJyZW50Q291bnQiLCJkcmFmdERhdGEiLCJmaWx0ZXIiLCJncm91cEluZGV4Iiwic2V0SXRlbSIsInN0cmluZ2lmeSIsImRvVXBsb2FkIiwiX3JlZjMiLCJfY2FsbGVlIiwiX2NvbnRleHQiLCJfeDUiLCJfeDYiLCJfeDciLCJfeDgiLCJhcHByb3ZlRHJhdHMiLCJfYXBwcm92ZURyYXRzIiwiX2NhbGxlZTIiLCJkcmFmdEZpbGVzIiwiY2xpZW50RmlsZXMiLCJfaXRlcmF0b3IiLCJfc3RlcCIsImdyb3VwIiwiX2l0ZXJhdG9yMiIsIl9zdGVwMiIsInRlbXBsYXRlIiwiY2xpZW50RmlsZSIsImRyYWZ0RmlsZSIsImpvYkRhdGEiLCJtZXNzYWdlIiwiX3QiLCJfdDIiLCJfdDMiLCJfY29udGV4dDIiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsInMiLCJkcmFmdCIsIl9vYmplY3RTcHJlYWQiLCJtYXAiLCJvd25EcmFmdHMiLCJhY2NlcHRlZCIsIk1hdGgiLCJmbG9vciIsImltYWdlcyIsImVycm9yTWVzc2FnZSIsImNvbnNvbGUiLCJlcnJvciIsImRyYWZ0Q291bnQiLCJhcHByb3ZlTGFiZWwiLCJjbGFzc05hbWUiLCJpbmRleCIsInREIiwidERJbmRleCIsIm9uQ2xpY2siLCJkaXNhYmxlZCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2RyYWZ0cy9EcmFmdEFwcHJvdmVQYW5lbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlTWVyY2hpRm9ybUNvbnRleHQgfSBmcm9tICcuLi8uLi9jb250ZXh0L01lcmNoaVByb2R1Y3RGb3JtUHJvdmlkZXInO1xuaW1wb3J0IHsgRHJhZnRUZW1wbGF0ZURhdGEsIFJlbmRlcmVkRHJhZnRQcmV2aWV3LCBNZXJjaGlGaWxlIH0gZnJvbSAnLi4vLi4vdXRpbHMvdHlwZXMnO1xuXG5mdW5jdGlvbiBEcmFmdFByZXZpZXcoeyB0ZW1wbGF0ZURhdGEgfTogeyB0ZW1wbGF0ZURhdGE6IFJlbmRlcmVkRHJhZnRQcmV2aWV3IH0pIHtcbiAgY29uc3Qge1xuICAgIGNhbnZhc1ByZXZpZXcsXG4gIH0gPSB0ZW1wbGF0ZURhdGE7XG4gIHJldHVybiAoXG4gICAgPGRpdj5cbiAgICAgIDxpbWcgc3JjPXtjYW52YXNQcmV2aWV3fSBhbHQ9XCJEcmFmdCBQcmV2aWV3XCIgLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gdXBsb2FkQmFzZTY0SW1hZ2UoXG4gIGFwaVVybDogc3RyaW5nLFxuICBncm91cElkOiBudW1iZXIsXG4gIHRlbXBsYXRlSWQ6IG51bWJlcixcbiAgYmFzZTY0OiBzdHJpbmcsXG4gIHN1ZmZpeDogc3RyaW5nID0gJ3ByZXZpZXcnXG4pOiBQcm9taXNlPE1lcmNoaUZpbGU+IHtcbiAgLy8gUmVtb3ZlIFwiZGF0YTppbWFnZS8uLi5cIiBwcmVmaXggaWYgcHJlc2VudFxuICBjb25zdCBiYXNlNjREYXRhID0gdHlwZW9mIGJhc2U2NCA9PT0gJ3N0cmluZycgJiYgYmFzZTY0LmluY2x1ZGVzKCcsJykgPyBiYXNlNjQuc3BsaXQoJywnKVsxXSA6IGJhc2U2NDtcblxuICAvLyBDb252ZXJ0IGJhc2U2NCB0byBiaW5hcnkgZGF0YVxuICBjb25zdCBiaW5hcnlTdHJpbmcgPSBhdG9iKGJhc2U2NERhdGEpO1xuICBjb25zdCBieXRlcyA9IG5ldyBVaW50OEFycmF5KGJpbmFyeVN0cmluZy5sZW5ndGgpO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgYmluYXJ5U3RyaW5nLmxlbmd0aDsgaSsrKSB7XG4gICAgYnl0ZXNbaV0gPSBiaW5hcnlTdHJpbmcuY2hhckNvZGVBdChpKTtcbiAgfVxuXG4gIC8vIENyZWF0ZSBhIEJsb2IgZnJvbSB0aGUgYmluYXJ5IGRhdGFcbiAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtieXRlc10sIHsgdHlwZTogJ2ltYWdlL3BuZycgfSk7XG5cbiAgLy8gQ3JlYXRlIGEgRmlsZSBmcm9tIHRoZSBCbG9iXG4gIGNvbnN0IGZpbGUgPSBuZXcgRmlsZShcbiAgICBbYmxvYl0sXG4gICAgYGdyb3VwLSR7Z3JvdXBJZH0tdGVtcGxhdGUtJHt0ZW1wbGF0ZUlkfS1kcmFmdC0ke3N1ZmZpeH0tJHtEYXRlLm5vdygpfS5wbmdgLFxuICAgIHsgdHlwZTogJ2ltYWdlL3BuZycgfVxuICApO1xuXG4gIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gIGZvcm1EYXRhLmFwcGVuZCgnMCcsIGZpbGUpO1xuXG4gIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goYCR7YXBpVXJsfXB1YmxpYy11cGxvYWQtam9iLWZpbGVzL2AsIHtcbiAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICBib2R5OiBmb3JtRGF0YVxuICB9KTtcblxuICBsZXQgZGF0YTtcbiAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgIHRocm93IG5ldyBFcnJvcihgU2VydmVyIHJlc3BvbmRlZCB3aXRoICR7cmVzcG9uc2Uuc3RhdHVzfTogJHtyZXNwb25zZS5zdGF0dXNUZXh0fWApO1xuICB9IGVsc2Uge1xuICAgIGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKCk7XG4gICAgY29uc3QgdXBsb2FkZWQgPSBkYXRhLmZpbGU7XG4gICAgaWYgKHVwbG9hZGVkPy5pZCA9PSBudWxsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0RyYWZ0IHVwbG9hZCBkaWQgbm90IHJldHVybiBhIGZpbGUgaWQnKTtcbiAgICB9XG4gICAgcmV0dXJuIHVwbG9hZGVkO1xuICB9XG59XG5cbi8qKiBAbWVyY2hpL2NoZWNrb3V0IGNsZWFuQ2xpZW50RmlsZXMgcmVhZHMgYC5maWxlYCwgbm90IGEgYmFyZSBgeyBpZCB9YC4gKi9cbmZ1bmN0aW9uIGFzQ2hlY2tvdXRDbGllbnRGaWxlKGZpbGU6IE1lcmNoaUZpbGUpIHtcbiAgcmV0dXJuIHtcbiAgICBmaWxlOiB7IGlkOiBmaWxlLmlkIH0sXG4gICAgb2JqZWN0SWQ6IFN0cmluZyhmaWxlLmlkKSxcbiAgfTtcbn1cblxuaW50ZXJmYWNlIERyYWZ0QXBwcm92ZVBhbmVsUHJvcHMge1xuICBjdXN0b21Gb290ZXJDb250ZW50PzogUmVhY3QuUmVhY3ROb2RlO1xufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBEcmFmdEFwcHJvdmVQYW5lbCh7XG4gIGN1c3RvbUZvb3RlckNvbnRlbnQsXG59OiBEcmFmdEFwcHJvdmVQYW5lbFByb3BzKSB7XG5cbiAgY29uc3Qge1xuICAgIGFwaVVybCxcbiAgICBjbGFzc05hbWVEcmFmdEdyb3VwQ29udGFpbmVyLFxuICAgIGNsYXNzTmFtZURyYWZ0R3JvdXBUaXRsZSxcbiAgICBkcmFmdEFwcHJvdmVDYWxsYmFjayxcbiAgICBqb2IsXG4gICAgcHJvZHVjdCxcbiAgICBzZXRJc0RyYWZ0TW9kYWxPcGVuLFxuICAgIHNldEpvYixcbiAgICBzaG93QWxlcnQsXG4gICAgaG9va0Zvcm0sXG4gIH0gPSB1c2VNZXJjaGlGb3JtQ29udGV4dCgpO1xuXG4gIGNvbnN0IFtpc0xvYWRpbmcsIHNldElzTG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgY29uc3Qga2V5ID0gYHByb2R1Y3REcmFmdFRlbXBsYXRlLSR7cHJvZHVjdC5pZH1gO1xuICBjb25zdCByYXcgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xuICBpZiAoIXJhdykgcmV0dXJuIG51bGw7XG5cbiAgY29uc3QgYWxsRHJhZnRzOiBEcmFmdFRlbXBsYXRlRGF0YVtdID0gSlNPTi5wYXJzZShyYXcpO1xuICBjb25zdCBncm91cFZhcmlhdGlvbkZpZWxkczogYW55W10gPSBob29rRm9ybS5nZXRWYWx1ZXMoJ3ZhcmlhdGlvbnNHcm91cHMnKSB8fCBbXTtcbiAgY29uc3QgY3VycmVudENvdW50ID0gZ3JvdXBWYXJpYXRpb25GaWVsZHMubGVuZ3RoO1xuXG4gIGNvbnN0IGRyYWZ0RGF0YSA9IGFsbERyYWZ0cy5maWx0ZXIoZCA9PiBkLmdyb3VwSW5kZXggPCBjdXJyZW50Q291bnQpO1xuICBpZiAoZHJhZnREYXRhLmxlbmd0aCAhPT0gYWxsRHJhZnRzLmxlbmd0aCkge1xuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgSlNPTi5zdHJpbmdpZnkoZHJhZnREYXRhKSk7XG4gIH1cblxuICBjb25zdCBkb1VwbG9hZCA9IGFzeW5jIChcbiAgICBncm91cEluZGV4OiBudW1iZXIsXG4gICAgdGVtcGxhdGVJZDogbnVtYmVyLFxuICAgIGJhc2U2NDogc3RyaW5nLFxuICAgIHN1ZmZpeDogc3RyaW5nLFxuICApID0+IHVwbG9hZEJhc2U2NEltYWdlKFxuICAgIChhcGlVcmwgYXMgc3RyaW5nKSxcbiAgICBncm91cEluZGV4LFxuICAgIHRlbXBsYXRlSWQsXG4gICAgYmFzZTY0LFxuICAgIHN1ZmZpeCxcbiAgKTtcblxuICBhc3luYyBmdW5jdGlvbiBhcHByb3ZlRHJhdHMoKSB7XG4gICAgaWYgKCFkcmFmdEFwcHJvdmVDYWxsYmFjaykge1xuICAgICAgc2hvd0FsZXJ0KHsgbWVzc2FnZTogXCJObyBkcmFmdEFwcHJvdmVDYWxsYmFjaywgYWJvcnRpbmcuXCIgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc2V0SXNMb2FkaW5nKHRydWUpO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBkcmFmdEZpbGVzOiBNZXJjaGlGaWxlW10gPSBbXTtcbiAgICAgIGNvbnN0IGNsaWVudEZpbGVzOiBNZXJjaGlGaWxlW10gPSBbXTtcbiAgICAgIGZvciAoY29uc3QgZ3JvdXAgb2YgZHJhZnREYXRhKSB7XG4gICAgICAgIGZvciAoY29uc3QgdGVtcGxhdGUgb2YgZ3JvdXAudGVtcGxhdGVEYXRhKSB7XG4gICAgICAgICAgY29uc3QgY2xpZW50RmlsZSA9IGF3YWl0IGRvVXBsb2FkKGdyb3VwLmdyb3VwSW5kZXgsIHRlbXBsYXRlLnRlbXBsYXRlSWQsIHRlbXBsYXRlLmRyYWZ0LCBcImNsaWVudFwiKTtcbiAgICAgICAgICBjb25zdCBkcmFmdEZpbGUgPSBhd2FpdCBkb1VwbG9hZChncm91cC5ncm91cEluZGV4LCB0ZW1wbGF0ZS50ZW1wbGF0ZUlkLCB0ZW1wbGF0ZS5jYW52YXNQcmV2aWV3LCBcImRyYWZ0XCIpO1xuICAgICAgICAgIGNsaWVudEZpbGVzLnB1c2goY2xpZW50RmlsZSk7XG4gICAgICAgICAgZHJhZnRGaWxlcy5wdXNoKGRyYWZ0RmlsZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3Qgam9iRGF0YSA9IHtcbiAgICAgICAgLi4uam9iLFxuICAgICAgICBjbGllbnRGaWxlczogY2xpZW50RmlsZXMubWFwKGFzQ2hlY2tvdXRDbGllbnRGaWxlKSxcbiAgICAgICAgb3duRHJhZnRzOiBbe1xuICAgICAgICAgIGFjY2VwdGVkOiBNYXRoLmZsb29yKERhdGUubm93KCkgLyAxMDAwKSxcbiAgICAgICAgICBpbWFnZXM6IGRyYWZ0RmlsZXMubWFwKGYgPT4gKHsgaWQ6IGYuaWQgfSkpLFxuICAgICAgICB9XVxuICAgICAgfTtcbiAgICAgIHNldEpvYihqb2JEYXRhKTtcblxuICAgICAgYXdhaXQgZHJhZnRBcHByb3ZlQ2FsbGJhY2soam9iRGF0YSk7XG4gICAgICBzZXRJc0RyYWZ0TW9kYWxPcGVuKGZhbHNlKTtcblxuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IGUuZXJyb3JNZXNzYWdlIHx8IGUubWVzc2FnZSB8fCBcIlVwbG9hZCBlcnJvclwiO1xuICAgICAgc2hvd0FsZXJ0KHsgbWVzc2FnZSB9KTtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHNldElzTG9hZGluZyhmYWxzZSk7XG4gICAgfVxuICB9XG4gIGNvbnN0IGRyYWZ0Q291bnQgPSBkcmFmdERhdGEubGVuZ3RoO1xuICBjb25zdCBhcHByb3ZlTGFiZWwgPSBkcmFmdENvdW50ID09PSAxID8gJ0FwcHJvdmUgZHJhZnQnIDogJ0FwcHJvdmUgZHJhZnRzJztcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1hcHByb3ZlLWxheW91dCc+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtYXBwcm92ZS1pbnRybyc+XG4gICAgICAgIDxoMiBpZD0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtYXBwcm92ZS10aXRsZSc+XG4gICAgICAgICAge2FwcHJvdmVMYWJlbH1cbiAgICAgICAgPC9oMj5cbiAgICAgICAgPHA+XG4gICAgICAgICAge2RyYWZ0Q291bnQgPT09IDFcbiAgICAgICAgICAgID8gJ1BsZWFzZSBhcHByb3ZlIHlvdXIgZHJhZnQgYmVmb3JlIHlvdSBwcm9jZWVkLidcbiAgICAgICAgICAgIDogJ1BsZWFzZSBhcHByb3ZlIHlvdXIgZHJhZnRzIGJlZm9yZSB5b3UgcHJvY2VlZC4nfVxuICAgICAgICA8L3A+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1hcHByb3ZlLWJvZHknPlxuICAgICAgICB7ZHJhZnREYXRhLm1hcCgoZHJhZnQsIGluZGV4KSA9PiAoXG4gICAgICAgICAgPGRpdiBrZXk9e2luZGV4fSBjbGFzc05hbWU9e2NsYXNzTmFtZURyYWZ0R3JvdXBDb250YWluZXJ9PlxuICAgICAgICAgICAgPGgzIGNsYXNzTmFtZT17Y2xhc3NOYW1lRHJhZnRHcm91cFRpdGxlfT5Hcm91cCB7aW5kZXggKyAxfTwvaDM+XG4gICAgICAgICAgICB7ZHJhZnQudGVtcGxhdGVEYXRhLm1hcCgodEQ6IFJlbmRlcmVkRHJhZnRQcmV2aWV3LCB0REluZGV4OiBudW1iZXIpID0+IChcbiAgICAgICAgICAgICAgPERyYWZ0UHJldmlldyBrZXk9e3RESW5kZXh9IHRlbXBsYXRlRGF0YT17dER9IC8+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKSl9XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1hcHByb3ZlLWZvb3Rlcic+XG4gICAgICAgIHtjdXN0b21Gb290ZXJDb250ZW50fVxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1idG4gbWVyY2hpLXByb2R1Y3QtZHJhZnQtYnRuLXNlY29uZGFyeSdcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICBzZXRJc0RyYWZ0TW9kYWxPcGVuKGZhbHNlKTtcbiAgICAgICAgICB9fVxuICAgICAgICAgIGRpc2FibGVkPXtpc0xvYWRpbmd9XG4gICAgICAgID5cbiAgICAgICAgICBDbG9zZVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtYnRuIG1lcmNoaS1wcm9kdWN0LWRyYWZ0LWJ0bi1wcmltYXJ5J1xuICAgICAgICAgIGRpc2FibGVkPXtpc0xvYWRpbmd9XG4gICAgICAgICAgb25DbGljaz17YXBwcm92ZURyYXRzfVxuICAgICAgICA+XG4gICAgICAgICAge2lzTG9hZGluZyA/ICdBcHByb3ZpbmfigKYnIDogYXBwcm92ZUxhYmVsfVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OzBCQUNBLHVLQUFBQSxDQUFBLEVBQUFDLENBQUEsRUFBQUMsQ0FBQSx3QkFBQUMsTUFBQSxHQUFBQSxNQUFBLE9BQUFDLENBQUEsR0FBQUYsQ0FBQSxDQUFBRyxRQUFBLGtCQUFBQyxDQUFBLEdBQUFKLENBQUEsQ0FBQUssV0FBQSw4QkFBQUMsRUFBQU4sQ0FBQSxFQUFBRSxDQUFBLEVBQUFFLENBQUEsRUFBQUUsQ0FBQSxRQUFBQyxDQUFBLEdBQUFMLENBQUEsSUFBQUEsQ0FBQSxDQUFBTSxTQUFBLFlBQUFDLFNBQUEsR0FBQVAsQ0FBQSxHQUFBTyxTQUFBLEVBQUFDLENBQUEsR0FBQUMsTUFB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
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import type { DraftCanvasHandle, DraftCanvasState } from '../../utils/types';
|
|
3
|
+
interface Props {
|
|
4
|
+
state: DraftCanvasState;
|
|
5
|
+
templateSrc?: string | string[] | null;
|
|
6
|
+
template?: any;
|
|
7
|
+
selectedId: string | null;
|
|
8
|
+
onSelect: (id: string | null) => void;
|
|
9
|
+
onChange: (state: DraftCanvasState) => void;
|
|
10
|
+
onEditText: (id: string) => void;
|
|
11
|
+
}
|
|
12
|
+
declare const DraftCanvas: React.ForwardRefExoticComponent<Props & React.RefAttributes<DraftCanvasHandle>>;
|
|
13
|
+
export default DraftCanvas;
|