merchi_checkout 1.3.2 → 1.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/lib/actions/confirm.d.ts +2 -0
  2. package/lib/actions/customer.d.ts +2 -0
  3. package/lib/actions/domain.d.ts +2 -0
  4. package/lib/actions/files.d.ts +1 -0
  5. package/lib/actions/helpers.d.ts +19 -0
  6. package/lib/actions/invoice.d.ts +3 -0
  7. package/lib/actions/shipping.js +39 -0
  8. package/lib/area.d.ts +77 -0
  9. package/lib/checkoutSession.d.ts +32 -0
  10. package/lib/components/Alerts.d.ts +2 -0
  11. package/lib/components/CancelOrderConfirmModal.d.ts +9 -0
  12. package/lib/components/CheckoutSummaryFields.d.ts +11 -0
  13. package/lib/components/Collapse.d.ts +2 -0
  14. package/lib/components/CustomerCheckoutMethodTabs.d.ts +5 -0
  15. package/lib/components/DiscountCode.js +254 -0
  16. package/lib/components/DiscountInputGroup.d.ts +1 -0
  17. package/lib/components/DraftImageUploaded.d.ts +7 -0
  18. package/lib/components/FooterButtons.d.ts +10 -0
  19. package/lib/components/InvoiceInfo.d.ts +5 -0
  20. package/lib/components/JobInfoContent.d.ts +1 -0
  21. package/lib/components/MerchiCheckout.d.ts +45 -0
  22. package/lib/components/MerchiCheckoutProvider.d.ts +166 -0
  23. package/lib/components/MerchiCheckoutTabs.d.ts +1 -0
  24. package/lib/components/TabPane.d.ts +6 -0
  25. package/lib/components/TabPane.js +1 -1
  26. package/lib/components/TabPaneAddress.d.ts +2 -0
  27. package/lib/components/TabPaneConfirm.d.ts +10 -0
  28. package/lib/components/TabPaneContainer.d.ts +5 -0
  29. package/lib/components/TabPaneCustomer.d.ts +4 -0
  30. package/lib/components/TabPaneDrafting.js +117 -0
  31. package/lib/components/TabPaneNewDomain.d.ts +2 -0
  32. package/lib/components/TabPanePayment.d.ts +2 -0
  33. package/lib/components/TabPaneSubmitted.d.ts +2 -0
  34. package/lib/components/TitleStep.d.ts +5 -0
  35. package/lib/components/buttons/ButtonInvoiceDownload.d.ts +2 -0
  36. package/lib/components/buttons/ButtonNext.d.ts +9 -0
  37. package/lib/components/buttons/ButtonPrevious.d.ts +6 -0
  38. package/lib/components/buttons/index.d.ts +3 -0
  39. package/lib/components/currency.d.ts +5 -0
  40. package/lib/components/forms/CheckboxBillingAddressSameAsShippingAddress.d.ts +6 -0
  41. package/lib/components/forms/FormAddresses.d.ts +5 -0
  42. package/lib/components/forms/FormCustomerNew.d.ts +3 -0
  43. package/lib/components/forms/FormCustomerReturning.d.ts +2 -0
  44. package/lib/components/forms/FormDomainNew.d.ts +1 -0
  45. package/lib/components/forms/FormWhatsappCustomer.d.ts +3 -0
  46. package/lib/components/forms/InputAcceptUserTermsAndConditions.d.ts +6 -0
  47. package/lib/components/forms/InputCheckStoreName.d.ts +6 -0
  48. package/lib/components/forms/InputError.d.ts +8 -0
  49. package/lib/components/forms/InputFileUpload.d.ts +11 -0
  50. package/lib/components/forms/InputSelect.d.ts +13 -0
  51. package/lib/components/forms/InputText.d.ts +11 -0
  52. package/lib/components/forms/InputsAddress.d.ts +11 -0
  53. package/lib/components/forms/index.d.ts +5 -0
  54. package/lib/components/lists/ListShipmentQuoteOptions.d.ts +8 -0
  55. package/lib/components/lists/index.d.ts +2 -0
  56. package/lib/components/merchi_image_editor/EditorImages.js +73 -0
  57. package/lib/components/merchi_image_editor/ImageEditor.js +253 -0
  58. package/lib/components/merchi_image_editor/MerchiImageEditor.js +40 -0
  59. package/lib/components/merchi_image_editor/actions/file.js +132 -0
  60. package/lib/components/merchi_image_editor/utils.js +4 -0
  61. package/lib/index.d.ts +3 -0
  62. package/lib/merchi_source.d.ts +2 -0
  63. package/lib/tabs_utils.d.ts +31 -0
  64. package/lib/tabs_utils.js +1 -1
  65. package/lib/types.d.ts +43 -0
  66. package/lib/types.js +2 -1
  67. package/lib/utils.d.ts +68 -0
  68. package/package.json +3 -2
@@ -0,0 +1,10 @@
1
+ interface PropsConfirmInfoPanel {
2
+ content: any;
3
+ minHeight: any;
4
+ onClick: () => void;
5
+ showClickToEdit?: boolean;
6
+ title: string;
7
+ }
8
+ export declare function ConfirmInfoPanel({ content, minHeight, onClick, showClickToEdit, }: PropsConfirmInfoPanel): import("react/jsx-runtime").JSX.Element;
9
+ declare function TabPaneConfirm(): import("react/jsx-runtime").JSX.Element;
10
+ export default TabPaneConfirm;
@@ -0,0 +1,5 @@
1
+ interface Props {
2
+ children: any;
3
+ }
4
+ declare function TabPaneContainer({ children }: Props): import("react/jsx-runtime").JSX.Element;
5
+ export default TabPaneContainer;
@@ -0,0 +1,4 @@
1
+ export declare function CustomerInfo(): import("react/jsx-runtime").JSX.Element;
2
+ export declare function SmallCustomerInfo(): import("react/jsx-runtime").JSX.Element;
3
+ declare function TabPaneCustomer(): import("react/jsx-runtime").JSX.Element;
4
+ export default TabPaneCustomer;
@@ -0,0 +1,117 @@
1
+ 'use client';
2
+
3
+ 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); }
4
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
5
+ 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."); }
6
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
7
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
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(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
11
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(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); }
13
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
14
+ 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."); }
15
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
16
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
17
+ 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; } }
18
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
19
+ import { useState } from 'react';
20
+ import TabPane from './TabPane';
21
+ import TitleStep from './TitleStep';
22
+ import FooterButtons from './FooterButtons';
23
+ import { tabIdDrafting } from '../tabs_utils';
24
+ import { useMerchiCheckboutContext } from './MerchiCheckoutProvider';
25
+ import MerchiImageEditor from './merchi_image_editor/MerchiImageEditor';
26
+ import InputFileUpload from './forms/InputFileUpload';
27
+ import { useForm } from 'react-hook-form';
28
+ import { jsx as _jsx } from "react/jsx-runtime";
29
+ import { Fragment as _Fragment } from "react/jsx-runtime";
30
+ import { jsxs as _jsxs } from "react/jsx-runtime";
31
+ function TabPaneDrafting() {
32
+ var _useMerchiCheckboutCo = useMerchiCheckboutContext(),
33
+ editDraftTemplate = _useMerchiCheckboutCo.editDraftTemplate,
34
+ job = _useMerchiCheckboutCo.job,
35
+ nextTab = _useMerchiCheckboutCo.nextTab,
36
+ product = _useMerchiCheckboutCo.product,
37
+ setJob = _useMerchiCheckboutCo.setJob,
38
+ toggleMerchiCheckout = _useMerchiCheckboutCo.toggleMerchiCheckout;
39
+ var allowClientDraftContribution = product.allowClientDraftContribution,
40
+ _product$draftTemplat = product.draftTemplates,
41
+ draftTemplates = _product$draftTemplat === void 0 ? [] : _product$draftTemplat;
42
+ var clientFiles = job.clientFiles || [];
43
+ var _useState = useState(0),
44
+ _useState2 = _slicedToArray(_useState, 2),
45
+ activeTemplateIndex = _useState2[0],
46
+ setActiveTemplateIndex = _useState2[1];
47
+ var templates = draftTemplates.map(function (template, index) {
48
+ var ownDraftImages = job.ownDrafts && job.ownDrafts[0] && job.ownDrafts[0].images || [];
49
+ var newTemplate = _objectSpread({}, template);
50
+ newTemplate.file = ownDraftImages && ownDraftImages[index] || template.file;
51
+ return newTemplate;
52
+ });
53
+ var setClientFiles = function setClientFiles(clientFiles) {
54
+ setJob(_objectSpread(_objectSpread({}, job), {}, {
55
+ clientFiles: clientFiles
56
+ }));
57
+ };
58
+ function onClickNext() {
59
+ if (allowClientDraftContribution && draftTemplates.length) {
60
+ if (activeTemplateIndex === draftTemplates.length - 1) {
61
+ nextTab();
62
+ } else {
63
+ setActiveTemplateIndex(activeTemplateIndex + 1);
64
+ }
65
+ } else {
66
+ nextTab();
67
+ }
68
+ }
69
+ function onClickBack() {
70
+ if (activeTemplateIndex) {
71
+ setActiveTemplateIndex(activeTemplateIndex - 1);
72
+ } else {
73
+ toggleMerchiCheckout();
74
+ }
75
+ }
76
+ var _useForm = useForm({
77
+ defaultValues: {
78
+ clientFiles: ''
79
+ }
80
+ }),
81
+ control = _useForm.control;
82
+ return /*#__PURE__*/_jsxs(TabPane, {
83
+ tabId: tabIdDrafting,
84
+ children: [allowClientDraftContribution && draftTemplates.length ? /*#__PURE__*/_jsxs(_Fragment, {
85
+ children: [/*#__PURE__*/_jsx(TitleStep, {
86
+ title: "Customise"
87
+ }), /*#__PURE__*/_jsx(MerchiImageEditor, {
88
+ activeTemplateIndex: activeTemplateIndex,
89
+ clientFiles: job.clientFiles || [],
90
+ draftTemplates: templates,
91
+ editDraftTemplate: editDraftTemplate,
92
+ setClientFiles: setClientFiles,
93
+ setActiveTemplateIndex: setActiveTemplateIndex
94
+ })]
95
+ }) : /*#__PURE__*/_jsxs(_Fragment, {
96
+ children: [/*#__PURE__*/_jsx(TitleStep, {
97
+ title: "Customise - Upload Files"
98
+ }), /*#__PURE__*/_jsx(InputFileUpload, {
99
+ control: control,
100
+ name: "clientFiles",
101
+ onFileUploaded: function onFileUploaded(clientFile) {
102
+ return setClientFiles([].concat(_toConsumableArray(clientFiles), [{
103
+ file: clientFile,
104
+ id: 'id'
105
+ }]));
106
+ }
107
+ })]
108
+ }), /*#__PURE__*/_jsx(FooterButtons, {
109
+ forceDisabled: false,
110
+ isActive: true,
111
+ onClickBack: onClickBack,
112
+ onClickNext: onClickNext
113
+ })]
114
+ });
115
+ }
116
+ export default TabPaneDrafting;
117
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdHlwZW9mIiwibyIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiY29uc3RydWN0b3IiLCJwcm90b3R5cGUiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJhcnIiLCJfYXJyYXlXaXRob3V0SG9sZXMiLCJfaXRlcmFibGVUb0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlU3ByZWFkIiwiVHlwZUVycm9yIiwiaXRlciIsIkFycmF5IiwiZnJvbSIsImlzQXJyYXkiLCJfYXJyYXlMaWtlVG9BcnJheSIsIm93bktleXMiLCJlIiwiciIsInQiLCJPYmplY3QiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsIm9iaiIsImtleSIsInZhbHVlIiwiX3RvUHJvcGVydHlLZXkiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsImkiLCJfdG9QcmltaXRpdmUiLCJTdHJpbmciLCJ0b1ByaW1pdGl2ZSIsImNhbGwiLCJOdW1iZXIiLCJfc2xpY2VkVG9BcnJheSIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIl9ub25JdGVyYWJsZVJlc3QiLCJtaW5MZW4iLCJuIiwidG9TdHJpbmciLCJzbGljZSIsIm5hbWUiLCJ0ZXN0IiwibGVuIiwiYXJyMiIsImwiLCJ1IiwiYSIsImYiLCJuZXh0IiwiZG9uZSIsInVzZVN0YXRlIiwiVGFiUGFuZSIsIlRpdGxlU3RlcCIsIkZvb3RlckJ1dHRvbnMiLCJ0YWJJZERyYWZ0aW5nIiwidXNlTWVyY2hpQ2hlY2tib3V0Q29udGV4dCIsIk1lcmNoaUltYWdlRWRpdG9yIiwiSW5wdXRGaWxlVXBsb2FkIiwidXNlRm9ybSIsImpzeCIsIl9qc3giLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsImpzeHMiLCJfanN4cyIsIlRhYlBhbmVEcmFmdGluZyIsIl91c2VNZXJjaGlDaGVja2JvdXRDbyIsImVkaXREcmFmdFRlbXBsYXRlIiwiam9iIiwibmV4dFRhYiIsInByb2R1Y3QiLCJzZXRKb2IiLCJ0b2dnbGVNZXJjaGlDaGVja291dCIsImFsbG93Q2xpZW50RHJhZnRDb250cmlidXRpb24iLCJfcHJvZHVjdCRkcmFmdFRlbXBsYXQiLCJkcmFmdFRlbXBsYXRlcyIsImNsaWVudEZpbGVzIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsImFjdGl2ZVRlbXBsYXRlSW5kZXgiLCJzZXRBY3RpdmVUZW1wbGF0ZUluZGV4IiwidGVtcGxhdGVzIiwibWFwIiwidGVtcGxhdGUiLCJpbmRleCIsIm93bkRyYWZ0SW1hZ2VzIiwib3duRHJhZnRzIiwiaW1hZ2VzIiwibmV3VGVtcGxhdGUiLCJmaWxlIiwic2V0Q2xpZW50RmlsZXMiLCJvbkNsaWNrTmV4dCIsIm9uQ2xpY2tCYWNrIiwiX3VzZUZvcm0iLCJkZWZhdWx0VmFsdWVzIiwiY29udHJvbCIsInRhYklkIiwiY2hpbGRyZW4iLCJ0aXRsZSIsIm9uRmlsZVVwbG9hZGVkIiwiY2xpZW50RmlsZSIsImNvbmNhdCIsImlkIiwiZm9yY2VEaXNhYmxlZCIsImlzQWN0aXZlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvVGFiUGFuZURyYWZ0aW5nLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCc7XG5pbXBvcnQgeyB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBUYWJQYW5lIGZyb20gJy4vVGFiUGFuZSc7XG5pbXBvcnQgVGl0bGVTdGVwIGZyb20gJy4vVGl0bGVTdGVwJztcbmltcG9ydCBGb290ZXJCdXR0b25zIGZyb20gJy4vRm9vdGVyQnV0dG9ucyc7XG5pbXBvcnQgeyB0YWJJZERyYWZ0aW5nIH0gZnJvbSAnLi4vdGFic191dGlscyc7XG5pbXBvcnQgeyB1c2VNZXJjaGlDaGVja2JvdXRDb250ZXh0IH0gZnJvbSAnLi9NZXJjaGlDaGVja291dFByb3ZpZGVyJztcbmltcG9ydCBNZXJjaGlJbWFnZUVkaXRvciBmcm9tICcuL21lcmNoaV9pbWFnZV9lZGl0b3IvTWVyY2hpSW1hZ2VFZGl0b3InO1xuaW1wb3J0IElucHV0RmlsZVVwbG9hZCBmcm9tICcuL2Zvcm1zL0lucHV0RmlsZVVwbG9hZCc7XG5pbXBvcnQgeyB1c2VGb3JtIH0gZnJvbSAncmVhY3QtaG9vay1mb3JtJztcblxuZnVuY3Rpb24gVGFiUGFuZURyYWZ0aW5nKCkge1xuICBjb25zdCB7XG4gICAgZWRpdERyYWZ0VGVtcGxhdGUsXG4gICAgam9iLFxuICAgIG5leHRUYWIsXG4gICAgcHJvZHVjdCxcbiAgICBzZXRKb2IsXG4gICAgdG9nZ2xlTWVyY2hpQ2hlY2tvdXQsXG4gIH0gPSB1c2VNZXJjaGlDaGVja2JvdXRDb250ZXh0KCk7XG5cbiAgY29uc3QgeyBhbGxvd0NsaWVudERyYWZ0Q29udHJpYnV0aW9uLCBkcmFmdFRlbXBsYXRlcyA9IFtdIH0gPSBwcm9kdWN0O1xuICBjb25zdCBjbGllbnRGaWxlcyA9IGpvYi5jbGllbnRGaWxlcyB8fCBbXTtcbiAgY29uc3QgW2FjdGl2ZVRlbXBsYXRlSW5kZXgsIHNldEFjdGl2ZVRlbXBsYXRlSW5kZXhdID0gdXNlU3RhdGUoMCk7XG4gIGNvbnN0IHRlbXBsYXRlcyA9IGRyYWZ0VGVtcGxhdGVzLm1hcCgodGVtcGxhdGU6IGFueSwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgIGNvbnN0IG93bkRyYWZ0SW1hZ2VzID1cbiAgICAgIChqb2Iub3duRHJhZnRzICYmIGpvYi5vd25EcmFmdHNbMF0gJiYgam9iLm93bkRyYWZ0c1swXS5pbWFnZXMpIHx8IFtdO1xuICAgIGNvbnN0IG5ld1RlbXBsYXRlID0geyAuLi50ZW1wbGF0ZSB9O1xuICAgIG5ld1RlbXBsYXRlLmZpbGUgPVxuICAgICAgKG93bkRyYWZ0SW1hZ2VzICYmIG93bkRyYWZ0SW1hZ2VzW2luZGV4XSkgfHwgdGVtcGxhdGUuZmlsZTtcbiAgICByZXR1cm4gbmV3VGVtcGxhdGU7XG4gIH0pO1xuICBjb25zdCBzZXRDbGllbnRGaWxlcyA9IChjbGllbnRGaWxlczogYW55W10pID0+IHtcbiAgICBzZXRKb2IoeyAuLi5qb2IsIGNsaWVudEZpbGVzIH0pO1xuICB9O1xuICBmdW5jdGlvbiBvbkNsaWNrTmV4dCgpIHtcbiAgICBpZiAoYWxsb3dDbGllbnREcmFmdENvbnRyaWJ1dGlvbiAmJiBkcmFmdFRlbXBsYXRlcy5sZW5ndGgpIHtcbiAgICAgIGlmIChhY3RpdmVUZW1wbGF0ZUluZGV4ID09PSBkcmFmdFRlbXBsYXRlcy5sZW5ndGggLSAxKSB7XG4gICAgICAgIG5leHRUYWIoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNldEFjdGl2ZVRlbXBsYXRlSW5kZXgoYWN0aXZlVGVtcGxhdGVJbmRleCArIDEpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBuZXh0VGFiKCk7XG4gICAgfVxuICB9XG4gIGZ1bmN0aW9uIG9uQ2xpY2tCYWNrKCkge1xuICAgIGlmIChhY3RpdmVUZW1wbGF0ZUluZGV4KSB7XG4gICAgICBzZXRBY3RpdmVUZW1wbGF0ZUluZGV4KGFjdGl2ZVRlbXBsYXRlSW5kZXggLSAxKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdG9nZ2xlTWVyY2hpQ2hlY2tvdXQoKTtcbiAgICB9XG4gIH1cbiAgY29uc3QgeyBjb250cm9sIH0gPSB1c2VGb3JtKHsgZGVmYXVsdFZhbHVlczogeyBjbGllbnRGaWxlczogJycgfSB9KTtcbiAgcmV0dXJuIChcbiAgICA8VGFiUGFuZSB0YWJJZD17dGFiSWREcmFmdGluZ30+XG4gICAgICB7YWxsb3dDbGllbnREcmFmdENvbnRyaWJ1dGlvbiAmJiBkcmFmdFRlbXBsYXRlcy5sZW5ndGggPyAoXG4gICAgICAgIDw+XG4gICAgICAgICAgPFRpdGxlU3RlcCB0aXRsZT0nQ3VzdG9taXNlJyAvPlxuICAgICAgICAgIDxNZXJjaGlJbWFnZUVkaXRvclxuICAgICAgICAgICAgYWN0aXZlVGVtcGxhdGVJbmRleD17YWN0aXZlVGVtcGxhdGVJbmRleH1cbiAgICAgICAgICAgIGNsaWVudEZpbGVzPXtqb2IuY2xpZW50RmlsZXMgfHwgW119XG4gICAgICAgICAgICBkcmFmdFRlbXBsYXRlcz17dGVtcGxhdGVzfVxuICAgICAgICAgICAgZWRpdERyYWZ0VGVtcGxhdGU9e2VkaXREcmFmdFRlbXBsYXRlfVxuICAgICAgICAgICAgc2V0Q2xpZW50RmlsZXM9e3NldENsaWVudEZpbGVzfVxuICAgICAgICAgICAgc2V0QWN0aXZlVGVtcGxhdGVJbmRleD17c2V0QWN0aXZlVGVtcGxhdGVJbmRleH1cbiAgICAgICAgICAvPlxuICAgICAgICA8Lz5cbiAgICAgICkgOiAoXG4gICAgICAgIDw+XG4gICAgICAgICAgPFRpdGxlU3RlcCB0aXRsZT0nQ3VzdG9taXNlIC0gVXBsb2FkIEZpbGVzJyAvPlxuICAgICAgICAgIDxJbnB1dEZpbGVVcGxvYWRcbiAgICAgICAgICAgIGNvbnRyb2w9e2NvbnRyb2x9XG4gICAgICAgICAgICBuYW1lPSdjbGllbnRGaWxlcydcbiAgICAgICAgICAgIG9uRmlsZVVwbG9hZGVkPXsoY2xpZW50RmlsZTogYW55KSA9PlxuICAgICAgICAgICAgICBzZXRDbGllbnRGaWxlcyhbLi4uY2xpZW50RmlsZXMsIHsgZmlsZTogY2xpZW50RmlsZSwgaWQ6ICdpZCcgfV0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC8+XG4gICAgICApfVxuICAgICAgPEZvb3RlckJ1dHRvbnNcbiAgICAgICAgZm9yY2VEaXNhYmxlZD17ZmFsc2V9XG4gICAgICAgIGlzQWN0aXZlPXt0cnVlfVxuICAgICAgICBvbkNsaWNrQmFjaz17b25DbGlja0JhY2t9XG4gICAgICAgIG9uQ2xpY2tOZXh0PXtvbkNsaWNrTmV4dH1cbiAgICAgIC8+XG4gICAg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
@@ -0,0 +1,2 @@
1
+ declare function TabPaneNewDomain(): import("react/jsx-runtime").JSX.Element;
2
+ export default TabPaneNewDomain;
@@ -0,0 +1,2 @@
1
+ declare function TabPanePayment(): import("react/jsx-runtime").JSX.Element;
2
+ export default TabPanePayment;
@@ -0,0 +1,2 @@
1
+ declare function TabPaneSubmitted(): import("react/jsx-runtime").JSX.Element;
2
+ export default TabPaneSubmitted;
@@ -0,0 +1,5 @@
1
+ interface Props {
2
+ title: string;
3
+ }
4
+ declare function TitleStep({ title }: Props): import("react/jsx-runtime").JSX.Element;
5
+ export default TitleStep;
@@ -0,0 +1,2 @@
1
+ declare function ButtonInvoiceDownload(): import("react/jsx-runtime").JSX.Element;
2
+ export default ButtonInvoiceDownload;
@@ -0,0 +1,9 @@
1
+ interface Props {
2
+ buttonText?: string;
3
+ formId?: string;
4
+ forceDisabled?: boolean;
5
+ loading?: boolean;
6
+ onClick?: () => void;
7
+ }
8
+ declare function ButtonNext({ buttonText, formId, forceDisabled, loading, onClick }: Props): import("react/jsx-runtime").JSX.Element;
9
+ export default ButtonNext;
@@ -0,0 +1,6 @@
1
+ interface Props {
2
+ buttonText?: string;
3
+ onClick?: () => void;
4
+ }
5
+ declare function ButtonPrevious({ buttonText, onClick }: Props): import("react/jsx-runtime").JSX.Element;
6
+ export default ButtonPrevious;
@@ -0,0 +1,3 @@
1
+ import ButtonNext from './ButtonNext';
2
+ import ButtonPrevious from './ButtonPrevious';
3
+ export { ButtonNext, ButtonPrevious };
@@ -0,0 +1,5 @@
1
+ export declare const currencyMap: any;
2
+ export declare function formatCurrency(amount: any, options: any): any;
3
+ export declare function calculateTotalWithTax(total: number, tax: any): number;
4
+ export declare function currencyTaxAndCost(currency: string, tax: any, theCost: number): string;
5
+ export declare function currencyTotalCostShowIncTax(job: any): string;
@@ -0,0 +1,6 @@
1
+ interface Props {
2
+ billingAddressSameAsShippingAddress: boolean;
3
+ setBillingAddressSameAsShippingAddress: (value: boolean) => void;
4
+ }
5
+ export default function CheckboxBillingAddressSameAsShippingAddress({ billingAddressSameAsShippingAddress, setBillingAddressSameAsShippingAddress }: Props): import("react/jsx-runtime").JSX.Element;
6
+ export {};
@@ -0,0 +1,5 @@
1
+ interface Props {
2
+ formId: string;
3
+ }
4
+ declare function FormAddresses({ formId }: Props): import("react/jsx-runtime").JSX.Element;
5
+ export default FormAddresses;
@@ -0,0 +1,3 @@
1
+ export declare const emailValidation: RegExp;
2
+ export declare function FormCustomerNew(): import("react/jsx-runtime").JSX.Element;
3
+ export default FormCustomerNew;
@@ -0,0 +1,2 @@
1
+ declare function FormCustomerReturning(): import("react/jsx-runtime").JSX.Element;
2
+ export default FormCustomerReturning;
@@ -0,0 +1 @@
1
+ export default function FormDomainNew(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ export declare const emailValidation: RegExp;
2
+ export declare function FormWhatsappCustomer(): import("react/jsx-runtime").JSX.Element;
3
+ export default FormWhatsappCustomer;
@@ -0,0 +1,6 @@
1
+ interface Props {
2
+ isChecked: boolean;
3
+ setIsChecked: (isChecked: boolean) => void;
4
+ }
5
+ declare function InputAcceptUserTermsAndConditions({ isChecked, setIsChecked }: Props): import("react/jsx-runtime").JSX.Element;
6
+ export default InputAcceptUserTermsAndConditions;
@@ -0,0 +1,6 @@
1
+ interface Props {
2
+ control: any;
3
+ errors: any;
4
+ }
5
+ declare function InputCheckStoreName({ control, errors }: Props): import("react/jsx-runtime").JSX.Element;
6
+ export default InputCheckStoreName;
@@ -0,0 +1,8 @@
1
+ import * as React from 'react';
2
+ interface InputErrorProps {
3
+ error?: {
4
+ message?: string;
5
+ };
6
+ }
7
+ declare const InputError: React.FC<InputErrorProps>;
8
+ export default InputError;
@@ -0,0 +1,11 @@
1
+ interface Props {
2
+ accept?: any;
3
+ control: any;
4
+ name: string;
5
+ onFileUploaded?: (file: any) => void;
6
+ disabled?: boolean;
7
+ placeholder?: string;
8
+ rules?: Record<string, any>;
9
+ }
10
+ declare function InputFileUpload({ accept, control, name, onFileUploaded, disabled, placeholder, rules, }: Props): import("react/jsx-runtime").JSX.Element;
11
+ export default InputFileUpload;
@@ -0,0 +1,13 @@
1
+ interface Option {
2
+ label: string;
3
+ value: string;
4
+ }
5
+ interface Props {
6
+ control: any;
7
+ label?: string;
8
+ name: string;
9
+ options: Option[];
10
+ rules?: any;
11
+ }
12
+ declare function InputSelect({ control, label, name, options, rules, }: Props): import("react/jsx-runtime").JSX.Element;
13
+ export default InputSelect;
@@ -0,0 +1,11 @@
1
+ interface Props {
2
+ control: any;
3
+ label?: string;
4
+ name: string;
5
+ placeholder: string;
6
+ type?: string;
7
+ onChange?: (event: any) => void;
8
+ rules?: Record<string, any>;
9
+ }
10
+ declare function InputText({ control, label, name, placeholder, type, onChange, rules, }: Props): import("react/jsx-runtime").JSX.Element;
11
+ export default InputText;
@@ -0,0 +1,11 @@
1
+ interface Props {
2
+ defaultAddress?: any;
3
+ labelGeoSuggest?: string;
4
+ hookForm: any;
5
+ name: string;
6
+ placeholder?: string;
7
+ recommendedAddress?: any;
8
+ updateAddress: (address: any) => void;
9
+ }
10
+ export declare function InputsAddress({ defaultAddress, labelGeoSuggest, hookForm, name, placeholder, recommendedAddress, updateAddress }: Props): import("react/jsx-runtime").JSX.Element;
11
+ export default InputsAddress;
@@ -0,0 +1,5 @@
1
+ import FormAddresses from './FormAddresses';
2
+ import FormCustomerNew from './FormCustomerNew';
3
+ import FormCustomerReturning from './FormCustomerReturning';
4
+ import FormWhatsappCustomer from './FormWhatsappCustomer';
5
+ export { FormAddresses, FormCustomerNew, FormCustomerReturning, FormWhatsappCustomer, };
@@ -0,0 +1,8 @@
1
+ interface Props {
2
+ doSelectShipmentOption: (option: any) => void;
3
+ loading: boolean;
4
+ selectedOption?: any;
5
+ shipmentOptions: Array<any>;
6
+ }
7
+ declare function ListShipmentQuoteOptions({ doSelectShipmentOption, loading, selectedOption, shipmentOptions, }: Props): import("react/jsx-runtime").JSX.Element;
8
+ export default ListShipmentQuoteOptions;
@@ -0,0 +1,2 @@
1
+ import ListShipmentQuoteOptions from "./ListShipmentQuoteOptions";
2
+ export { ListShipmentQuoteOptions };
@@ -0,0 +1,73 @@
1
+ import React from 'react';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { jsxs as _jsxs } from "react/jsx-runtime";
4
+ import { Fragment as _Fragment } from "react/jsx-runtime";
5
+ var DraftTemplateThumbnail = function DraftTemplateThumbnail(_ref) {
6
+ var draft = _ref.draft;
7
+ // Implement the DraftTemplateThumbnail here.
8
+ // I don't have the details so I'm just rendering a placeholder.
9
+
10
+ return /*#__PURE__*/_jsx("img", {
11
+ style: {
12
+ objectFit: 'cover'
13
+ },
14
+ src: draft.file.viewUrl,
15
+ height: "100",
16
+ width: "100",
17
+ alt: "Draft Thumbnail"
18
+ });
19
+ };
20
+ var EditorImages = function EditorImages(_ref2) {
21
+ var activeIndex = _ref2.activeIndex,
22
+ _ref2$classNameEditor = _ref2.classNameEditorImagesContainer,
23
+ classNameEditorImagesContainer = _ref2$classNameEditor === void 0 ? 'd-flex mb-3' : _ref2$classNameEditor,
24
+ _ref2$classNameEditor2 = _ref2.classNameEditorImagesImage,
25
+ classNameEditorImagesImage = _ref2$classNameEditor2 === void 0 ? 'nav-item mr-2' : _ref2$classNameEditor2,
26
+ draftTemplates = _ref2.draftTemplates,
27
+ setActiveTemplateIndex = _ref2.setActiveTemplateIndex;
28
+ function isActive(index) {
29
+ return index === activeIndex;
30
+ }
31
+ var activeDraftTemplate = draftTemplates[activeIndex];
32
+ return /*#__PURE__*/_jsxs(_Fragment, {
33
+ children: [/*#__PURE__*/_jsx("div", {
34
+ className: classNameEditorImagesContainer,
35
+ children: draftTemplates.map(function (d, index) {
36
+ return /*#__PURE__*/_jsx("div", {
37
+ className: "".concat(classNameEditorImagesImage, " ").concat(isActive(index) ? 'active' : ''),
38
+ onClick: function onClick() {
39
+ return setActiveTemplateIndex(index);
40
+ },
41
+ style: {
42
+ borderRadius: '0.75rem',
43
+ border: isActive(index) ? '2px #888 dashed' : '2px rgb(213, 213, 213) dashed',
44
+ height: 101,
45
+ overflow: 'hidden',
46
+ width: 101,
47
+ cursor: 'pointer',
48
+ transition: 'border-color 0.2s ease-in-out'
49
+ },
50
+ children: /*#__PURE__*/_jsx(DraftTemplateThumbnail, {
51
+ draft: d
52
+ })
53
+ }, "".concat(index, "-draft-image"));
54
+ })
55
+ }), activeDraftTemplate ? /*#__PURE__*/_jsxs("div", {
56
+ className: "d-flex flex-column",
57
+ children: [/*#__PURE__*/_jsxs("h4", {
58
+ className: "mb-0",
59
+ children: [activeDraftTemplate.name, " ", activeDraftTemplate.height, " *", ' ', activeDraftTemplate.width, "px"]
60
+ }), /*#__PURE__*/_jsx("small", {
61
+ className: "mt-0",
62
+ children: activeDraftTemplate.description
63
+ })]
64
+ }) : /*#__PURE__*/_jsx("div", {
65
+ children: /*#__PURE__*/_jsx("h5", {
66
+ className: "mb-0",
67
+ children: "Loading template..."
68
+ })
69
+ })]
70
+ });
71
+ };
72
+ export default EditorImages;
73
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsIkRyYWZ0VGVtcGxhdGVUaHVtYm5haWwiLCJfcmVmIiwiZHJhZnQiLCJzdHlsZSIsIm9iamVjdEZpdCIsInNyYyIsImZpbGUiLCJ2aWV3VXJsIiwiaGVpZ2h0Iiwid2lkdGgiLCJhbHQiLCJFZGl0b3JJbWFnZXMiLCJfcmVmMiIsImFjdGl2ZUluZGV4IiwiX3JlZjIkY2xhc3NOYW1lRWRpdG9yIiwiY2xhc3NOYW1lRWRpdG9ySW1hZ2VzQ29udGFpbmVyIiwiX3JlZjIkY2xhc3NOYW1lRWRpdG9yMiIsImNsYXNzTmFtZUVkaXRvckltYWdlc0ltYWdlIiwiZHJhZnRUZW1wbGF0ZXMiLCJzZXRBY3RpdmVUZW1wbGF0ZUluZGV4IiwiaXNBY3RpdmUiLCJpbmRleCIsImFjdGl2ZURyYWZ0VGVtcGxhdGUiLCJjaGlsZHJlbiIsImNsYXNzTmFtZSIsIm1hcCIsImQiLCJjb25jYXQiLCJvbkNsaWNrIiwiYm9yZGVyUmFkaXVzIiwiYm9yZGVyIiwib3ZlcmZsb3ciLCJjdXJzb3IiLCJ0cmFuc2l0aW9uIiwibmFtZSIsImRlc2NyaXB0aW9uIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbWVyY2hpX2ltYWdlX2VkaXRvci9FZGl0b3JJbWFnZXMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmludGVyZmFjZSBEcmFmdCB7XG4gIC8vIERlZmluZSB0aGUgc3RydWN0dXJlIG9mIGRyYWZ0IGhlcmUuIEkgZG9uJ3QgaGF2ZSB0aGUgZGV0YWlscyBzbyBJJ3ZlIGxlZnQgaXQgZ2VuZXJpYy5cbn1cblxuaW50ZXJmYWNlIERyYWZ0VGVtcGxhdGVUaHVtYm5haWxQcm9wcyB7XG4gIGRyYWZ0OiBEcmFmdDtcbn1cblxuY29uc3QgRHJhZnRUZW1wbGF0ZVRodW1ibmFpbDogUmVhY3QuRkM8RHJhZnRUZW1wbGF0ZVRodW1ibmFpbFByb3BzPiA9ICh7XG4gIGRyYWZ0LFxufTogYW55KSA9PiB7XG4gIC8vIEltcGxlbWVudCB0aGUgRHJhZnRUZW1wbGF0ZVRodW1ibmFpbCBoZXJlLlxuICAvLyBJIGRvbid0IGhhdmUgdGhlIGRldGFpbHMgc28gSSdtIGp1c3QgcmVuZGVyaW5nIGEgcGxhY2Vob2xkZXIuXG5cbiAgcmV0dXJuIChcbiAgICA8aW1nXG4gICAgICBzdHlsZT17eyBvYmplY3RGaXQ6ICdjb3ZlcicgfX1cbiAgICAgIHNyYz17ZHJhZnQuZmlsZS52aWV3VXJsfVxuICAgICAgaGVpZ2h0PScxMDAnXG4gICAgICB3aWR0aD0nMTAwJ1xuICAgICAgYWx0PSdEcmFmdCBUaHVtYm5haWwnXG4gICAgLz5cbiAgKTtcbn07XG5cbmludGVyZmFjZSBQcm9wcyB7XG4gIGFjdGl2ZUluZGV4OiBudW1iZXI7XG4gIGNsYXNzTmFtZUVkaXRvckltYWdlc0NvbnRhaW5lcj86IHN0cmluZztcbiAgY2xhc3NOYW1lRWRpdG9ySW1hZ2VzSW1hZ2U/OiBzdHJpbmc7XG4gIGRyYWZ0VGVtcGxhdGVzOiBEcmFmdFtdO1xuICBzZXRBY3RpdmVUZW1wbGF0ZUluZGV4OiAoaW5kZXg6IG51bWJlcikgPT4gdm9pZDtcbn1cblxuY29uc3QgRWRpdG9ySW1hZ2VzOiBSZWFjdC5GQzxQcm9wcz4gPSAoe1xuICBhY3RpdmVJbmRleCxcbiAgY2xhc3NOYW1lRWRpdG9ySW1hZ2VzQ29udGFpbmVyID0gJ2QtZmxleCBtYi0zJyxcbiAgY2xhc3NOYW1lRWRpdG9ySW1hZ2VzSW1hZ2UgPSAnbmF2LWl0ZW0gbXItMicsXG4gIGRyYWZ0VGVtcGxhdGVzLFxuICBzZXRBY3RpdmVUZW1wbGF0ZUluZGV4LFxufSkgPT4ge1xuICBmdW5jdGlvbiBpc0FjdGl2ZShpbmRleDogbnVtYmVyKSB7XG4gICAgcmV0dXJuIGluZGV4ID09PSBhY3RpdmVJbmRleDtcbiAgfVxuICBjb25zdCBhY3RpdmVEcmFmdFRlbXBsYXRlOiBhbnkgPSBkcmFmdFRlbXBsYXRlc1thY3RpdmVJbmRleF07XG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc05hbWVFZGl0b3JJbWFnZXNDb250YWluZXJ9PlxuICAgICAgICB7ZHJhZnRUZW1wbGF0ZXMubWFwKChkLCBpbmRleCkgPT4gKFxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGtleT17YCR7aW5kZXh9LWRyYWZ0LWltYWdlYH1cbiAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7Y2xhc3NOYW1lRWRpdG9ySW1hZ2VzSW1hZ2V9ICR7XG4gICAgICAgICAgICAgIGlzQWN0aXZlKGluZGV4KSA/ICdhY3RpdmUnIDogJydcbiAgICAgICAgICAgIH1gfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0QWN0aXZlVGVtcGxhdGVJbmRleChpbmRleCl9XG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6ICcwLjc1cmVtJyxcbiAgICAgICAgICAgICAgYm9yZGVyOiBpc0FjdGl2ZShpbmRleClcbiAgICAgICAgICAgICAgICA/ICcycHggIzg4OCBkYXNoZWQnXG4gICAgICAgICAgICAgICAgOiAnMnB4IHJnYigyMTMsIDIxMywgMjEzKSBkYXNoZWQnLFxuICAgICAgICAgICAgICBoZWlnaHQ6IDEwMSxcbiAgICAgICAgICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgICAgICAgICAgICB3aWR0aDogMTAxLFxuICAgICAgICAgICAgICBjdXJzb3I6ICdwb2ludGVyJyxcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogJ2JvcmRlci1jb2xvciAwLjJzIGVhc2UtaW4tb3V0JyxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPERyYWZ0VGVtcGxhdGVUaHVtYm5haWwgZHJhZnQ9e2R9IC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICkpfVxuICAgICAgPC9kaXY+XG4gICAgICB7YWN0aXZlRHJhZnRUZW1wbGF0ZSA/IChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9J2QtZmxleCBmbGV4LWNvbHVtbic+XG4gICAgICAgICAgPGg0IGNsYXNzTmFtZT0nbWItMCc+XG4gICAgICAgICAgICB7YWN0aXZlRHJhZnRUZW1wbGF0ZS5uYW1lfSB7YWN0aXZlRHJhZnRUZW1wbGF0ZS5oZWlnaHR9ICp7JyAnfVxuICAgICAgICAgICAge2FjdGl2ZURyYWZ0VGVtcGxhdGUud2lkdGh9cHhcbiAgICAgICAgICA8L2g0PlxuICAgICAgICAgIDxzbWFsbCBjbGFzc05hbWU9J210LTAnPnthY3RpdmVEcmFmdFRlbXBsYXRlLmRlc2NyaXB0aW9ufTwvc21hbGw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKSA6IChcbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8aDUgY2xhc3NOYW1lPSdtYi0wJz5Mb2FkaW5nIHRlbXBsYXRlLi4uPC9oNT5cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuICAgIDwvPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRWRpdG9ySW1hZ2VzO1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxLQUFLLE1BQU0sT0FBTztBQUFDLFNBQUFDLEdBQUEsSUFBQUMsSUFBQTtBQUFBLFNBQUFDLElBQUEsSUFBQUMsS0FBQTtBQUFBLFNBQUFDLFFBQUEsSUFBQUMsU0FBQTtBQVUxQixJQUFNQyxzQkFBNkQsR0FBRyxTQUFoRUEsc0JBQTZEQSxDQUFBQyxJQUFBLEVBRXhEO0VBQUEsSUFEVEMsS0FBSyxHQUFBRCxJQUFBLENBQUxDLEtBQUs7RUFFTDtFQUNBOztFQUVBLG9CQUNFUCxJQUFBO0lBQ0VRLEtBQUssRUFBRTtNQUFFQyxTQUFTLEVBQUU7SUFBUSxDQUFFO0lBQzlCQyxHQUFHLEVBQUVILEtBQUssQ0FBQ0ksSUFBSSxDQUFDQyxPQUFRO0lBQ3hCQyxNQUFNLEVBQUMsS0FBSztJQUNaQyxLQUFLLEVBQUMsS0FBSztJQUNYQyxHQUFHLEVBQUM7RUFBaUIsQ0FDdEIsQ0FBQztBQUVOLENBQUM7QUFVRCxJ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