@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,141 @@
|
|
|
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 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; }
|
|
5
|
+
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; }
|
|
6
|
+
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; }
|
|
7
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
8
|
+
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); }
|
|
9
|
+
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
10
|
+
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."); }
|
|
11
|
+
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; } }
|
|
12
|
+
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
13
|
+
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
14
|
+
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; }
|
|
15
|
+
import * as React from 'react';
|
|
16
|
+
import { useController } from 'react-hook-form';
|
|
17
|
+
import { isBoolean } from 'lodash';
|
|
18
|
+
import VariationOptionColour from './VariationOptionColour';
|
|
19
|
+
import VariationOptionImage from './VariationOptionImage';
|
|
20
|
+
import VariationError from './VariationError';
|
|
21
|
+
import VariationLabel from './VariationLabel';
|
|
22
|
+
import { useMerchiFormContext } from '../context/MerchiProductFormProvider';
|
|
23
|
+
import { quoteAfterFieldChange } from './quoteAfterFieldChange';
|
|
24
|
+
import { sortByPosition, splitSelectedOptions } from './utils';
|
|
25
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
26
|
+
function determineBoolean(value) {
|
|
27
|
+
return isBoolean(value) ? value : value === 'true' ? true : false;
|
|
28
|
+
}
|
|
29
|
+
function optionType(variation) {
|
|
30
|
+
var _variation$variationF = variation.variationField,
|
|
31
|
+
multipleSelect = _variation$variationF.multipleSelect,
|
|
32
|
+
sellerProductEditable = _variation$variationF.sellerProductEditable;
|
|
33
|
+
return determineBoolean(multipleSelect) || determineBoolean(sellerProductEditable) ? 'checkbox' : 'radio';
|
|
34
|
+
}
|
|
35
|
+
function VariationFieldOptionElement(_ref) {
|
|
36
|
+
var disabled = _ref.disabled,
|
|
37
|
+
index = _ref.index,
|
|
38
|
+
inputType = _ref.inputType,
|
|
39
|
+
name = _ref.name,
|
|
40
|
+
option = _ref.option,
|
|
41
|
+
variation = _ref.variation;
|
|
42
|
+
var _useMerchiFormContext = useMerchiFormContext(),
|
|
43
|
+
control = _useMerchiFormContext.control,
|
|
44
|
+
getQuote = _useMerchiFormContext.getQuote;
|
|
45
|
+
var _useController = useController({
|
|
46
|
+
name: "".concat(name, ".value"),
|
|
47
|
+
control: control
|
|
48
|
+
}),
|
|
49
|
+
field = _useController.field;
|
|
50
|
+
var variationField = variation.variationField;
|
|
51
|
+
var sellerProductEditable = variationField.sellerProductEditable;
|
|
52
|
+
var optionId = option.optionId;
|
|
53
|
+
var inputId = "".concat(name, ".options.id-").concat(optionId);
|
|
54
|
+
var activeIds = splitSelectedOptions(field.value).map(String).filter(Boolean);
|
|
55
|
+
var isActive = activeIds.includes(String(optionId));
|
|
56
|
+
var optionInputType = optionType(variation);
|
|
57
|
+
var doClick = function doClick() {
|
|
58
|
+
var updatedIds = _toConsumableArray(activeIds);
|
|
59
|
+
if (sellerProductEditable || optionInputType === 'checkbox') {
|
|
60
|
+
// Checkbox Logic
|
|
61
|
+
if (!updatedIds.includes(String(optionId))) {
|
|
62
|
+
updatedIds.push(String(optionId));
|
|
63
|
+
} else {
|
|
64
|
+
updatedIds = updatedIds.filter(function (existingId) {
|
|
65
|
+
return existingId !== String(optionId);
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
} else if (optionInputType === 'radio') {
|
|
69
|
+
// Radio Logic
|
|
70
|
+
updatedIds = [String(optionId)];
|
|
71
|
+
}
|
|
72
|
+
quoteAfterFieldChange(field.onChange, getQuote, updatedIds.filter(Boolean).join(','));
|
|
73
|
+
};
|
|
74
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
75
|
+
children: [/*#__PURE__*/_jsx("input", {
|
|
76
|
+
style: {
|
|
77
|
+
display: 'none'
|
|
78
|
+
},
|
|
79
|
+
checked: isActive,
|
|
80
|
+
value: optionId,
|
|
81
|
+
type: optionInputType,
|
|
82
|
+
id: inputId,
|
|
83
|
+
name: "".concat(name, ".value"),
|
|
84
|
+
onChange: function onChange() {
|
|
85
|
+
return true;
|
|
86
|
+
},
|
|
87
|
+
disabled: disabled
|
|
88
|
+
}), inputType === 'image' ? /*#__PURE__*/_jsx(VariationOptionImage, {
|
|
89
|
+
doClick: doClick,
|
|
90
|
+
isChecked: isActive,
|
|
91
|
+
option: option
|
|
92
|
+
}) : /*#__PURE__*/_jsx(VariationOptionColour, {
|
|
93
|
+
doClick: doClick,
|
|
94
|
+
isChecked: isActive,
|
|
95
|
+
option: option
|
|
96
|
+
})]
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
export var VariationSelectElements = function VariationSelectElements(_ref2) {
|
|
100
|
+
var disabled = _ref2.disabled,
|
|
101
|
+
_ref2$inputType = _ref2.inputType,
|
|
102
|
+
inputType = _ref2$inputType === void 0 ? 'image' : _ref2$inputType,
|
|
103
|
+
name = _ref2.name,
|
|
104
|
+
variation = _ref2.variation;
|
|
105
|
+
var _variation$selectable = variation.selectableOptions,
|
|
106
|
+
selectableOptions = _variation$selectable === void 0 ? [] : _variation$selectable;
|
|
107
|
+
var isImage = inputType === 'image';
|
|
108
|
+
return /*#__PURE__*/_jsxs("div", {
|
|
109
|
+
className: isImage ? 'merchi-image-select-container' : '',
|
|
110
|
+
children: [/*#__PURE__*/_jsx(VariationLabel, {
|
|
111
|
+
name: name,
|
|
112
|
+
variationClassName: "merchi-embed-form_input".concat(isImage ? '-image' : '', "-select"),
|
|
113
|
+
variation: variation
|
|
114
|
+
}), /*#__PURE__*/_jsx("div", {
|
|
115
|
+
className: isImage ? 'merchi-embed-form_image-select-option-container' : 'merchi-embed-form_color-select-container',
|
|
116
|
+
children: sortByPosition(selectableOptions).map(function (option, index) {
|
|
117
|
+
return /*#__PURE__*/_jsx(VariationFieldOptionElement, {
|
|
118
|
+
disabled: disabled,
|
|
119
|
+
index: index,
|
|
120
|
+
inputType: inputType,
|
|
121
|
+
name: name,
|
|
122
|
+
option: option,
|
|
123
|
+
variation: variation
|
|
124
|
+
}, "variation-option-".concat(option.optionId, "-").concat(index));
|
|
125
|
+
})
|
|
126
|
+
}), /*#__PURE__*/_jsx(VariationError, {
|
|
127
|
+
name: name
|
|
128
|
+
})]
|
|
129
|
+
});
|
|
130
|
+
};
|
|
131
|
+
export var VariationSelectImage = function VariationSelectImage(props) {
|
|
132
|
+
return /*#__PURE__*/_jsx(VariationSelectElements, _objectSpread(_objectSpread({}, props), {}, {
|
|
133
|
+
inputType: "image"
|
|
134
|
+
}));
|
|
135
|
+
};
|
|
136
|
+
export var VariationSelectColour = function VariationSelectColour(props) {
|
|
137
|
+
return /*#__PURE__*/_jsx(VariationSelectElements, _objectSpread(_objectSpread({}, props), {}, {
|
|
138
|
+
inputType: "colour"
|
|
139
|
+
}));
|
|
140
|
+
};
|
|
141
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdHlwZW9mIiwibyIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiY29uc3RydWN0b3IiLCJwcm90b3R5cGUiLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJfdG9Qcm9wZXJ0eUtleSIsInZhbHVlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJpIiwiX3RvUHJpbWl0aXZlIiwidG9QcmltaXRpdmUiLCJjYWxsIiwiVHlwZUVycm9yIiwiU3RyaW5nIiwiTnVtYmVyIiwiX3RvQ29uc3VtYWJsZUFycmF5IiwiX2FycmF5V2l0aG91dEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheSIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIl9ub25JdGVyYWJsZVNwcmVhZCIsImEiLCJfYXJyYXlMaWtlVG9BcnJheSIsInRvU3RyaW5nIiwic2xpY2UiLCJuYW1lIiwiQXJyYXkiLCJmcm9tIiwidGVzdCIsImlzQXJyYXkiLCJuIiwiUmVhY3QiLCJ1c2VDb250cm9sbGVyIiwiaXNCb29sZWFuIiwiVmFyaWF0aW9uT3B0aW9uQ29sb3VyIiwiVmFyaWF0aW9uT3B0aW9uSW1hZ2UiLCJWYXJpYXRpb25FcnJvciIsIlZhcmlhdGlvbkxhYmVsIiwidXNlTWVyY2hpRm9ybUNvbnRleHQiLCJxdW90ZUFmdGVyRmllbGRDaGFuZ2UiLCJzb3J0QnlQb3NpdGlvbiIsInNwbGl0U2VsZWN0ZWRPcHRpb25zIiwianN4IiwiX2pzeCIsIkZyYWdtZW50IiwiX0ZyYWdtZW50IiwianN4cyIsIl9qc3hzIiwiZGV0ZXJtaW5lQm9vbGVhbiIsIm9wdGlvblR5cGUiLCJ2YXJpYXRpb24iLCJfdmFyaWF0aW9uJHZhcmlhdGlvbkYiLCJ2YXJpYXRpb25GaWVsZCIsIm11bHRpcGxlU2VsZWN0Iiwic2VsbGVyUHJvZHVjdEVkaXRhYmxlIiwiVmFyaWF0aW9uRmllbGRPcHRpb25FbGVtZW50IiwiX3JlZiIsImRpc2FibGVkIiwiaW5kZXgiLCJpbnB1dFR5cGUiLCJvcHRpb24iLCJfdXNlTWVyY2hpRm9ybUNvbnRleHQiLCJjb250cm9sIiwiZ2V0UXVvdGUiLCJfdXNlQ29udHJvbGxlciIsImNvbmNhdCIsImZpZWxkIiwib3B0aW9uSWQiLCJpbnB1dElkIiwiYWN0aXZlSWRzIiwibWFwIiwiQm9vbGVhbiIsImlzQWN0aXZlIiwiaW5jbHVkZXMiLCJvcHRpb25JbnB1dFR5cGUiLCJkb0NsaWNrIiwidXBkYXRlZElkcyIsImV4aXN0aW5nSWQiLCJvbkNoYW5nZSIsImpvaW4iLCJjaGlsZHJlbiIsInN0eWxlIiwiZGlzcGxheSIsImNoZWNrZWQiLCJ0eXBlIiwiaWQiLCJpc0NoZWNrZWQiLCJWYXJpYXRpb25TZWxlY3RFbGVtZW50cyIsIl9yZWYyIiwiX3JlZjIkaW5wdXRUeXBlIiwiX3ZhcmlhdGlvbiRzZWxlY3RhYmxlIiwic2VsZWN0YWJsZU9wdGlvbnMiLCJpc0ltYWdlIiwiY2xhc3NOYW1lIiwidmFyaWF0aW9uQ2xhc3NOYW1lIiwiVmFyaWF0aW9uU2VsZWN0SW1hZ2UiLCJwcm9wcyIsIlZhcmlhdGlvblNlbGVjdENvbG91ciJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL1ZhcmlhdGlvblNlbGVjdEVsZW1lbnRzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCc7XG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VDb250cm9sbGVyIH0gZnJvbSAncmVhY3QtaG9vay1mb3JtJztcbmltcG9ydCB7IGlzQm9vbGVhbiB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgVmFyaWF0aW9uT3B0aW9uQ29sb3VyIGZyb20gJy4vVmFyaWF0aW9uT3B0aW9uQ29sb3VyJztcbmltcG9ydCBWYXJpYXRpb25PcHRpb25JbWFnZSBmcm9tICcuL1ZhcmlhdGlvbk9wdGlvbkltYWdlJztcbmltcG9ydCBWYXJpYXRpb25FcnJvciBmcm9tICcuL1ZhcmlhdGlvbkVycm9yJztcbmltcG9ydCBWYXJpYXRpb25MYWJlbCBmcm9tICcuL1ZhcmlhdGlvbkxhYmVsJztcbmltcG9ydCB7IHVzZU1lcmNoaUZvcm1Db250ZXh0IH0gZnJvbSAnLi4vY29udGV4dC9NZXJjaGlQcm9kdWN0Rm9ybVByb3ZpZGVyJztcbmltcG9ydCB7IHF1b3RlQWZ0ZXJGaWVsZENoYW5nZSB9IGZyb20gJy4vcXVvdGVBZnRlckZpZWxkQ2hhbmdlJztcbmltcG9ydCB7IHNvcnRCeVBvc2l0aW9uLCBzcGxpdFNlbGVjdGVkT3B0aW9ucyB9IGZyb20gJy4vdXRpbHMnO1xuXG5mdW5jdGlvbiBkZXRlcm1pbmVCb29sZWFuKHZhbHVlOiBhbnkpIHtcbiAgcmV0dXJuIGlzQm9vbGVhbih2YWx1ZSkgPyB2YWx1ZSA6IHZhbHVlID09PSAndHJ1ZScgPyB0cnVlIDogZmFsc2U7XG59XG5cbmZ1bmN0aW9uIG9wdGlvblR5cGUodmFyaWF0aW9uOiBhbnkpIHtcbiAgY29uc3QgeyBtdWx0aXBsZVNlbGVjdCwgc2VsbGVyUHJvZHVjdEVkaXRhYmxlIH0gPSB2YXJpYXRpb24udmFyaWF0aW9uRmllbGQ7XG4gIHJldHVybiBkZXRlcm1pbmVCb29sZWFuKG11bHRpcGxlU2VsZWN0KSB8fFxuICAgIGRldGVybWluZUJvb2xlYW4oc2VsbGVyUHJvZHVjdEVkaXRhYmxlKVxuICAgID8gJ2NoZWNrYm94J1xuICAgIDogJ3JhZGlvJztcbn1cblxuaW50ZXJmYWNlIE9wdGlvblByb3BzIHtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICBpbmRleDogbnVtYmVyO1xuICBpbnB1dFR5cGU6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBvcHRpb246IGFueTtcbiAgdmFyaWF0aW9uOiBhbnk7XG59XG5cbmZ1bmN0aW9uIFZhcmlhdGlvbkZpZWxkT3B0aW9uRWxlbWVudCh7XG4gIGRpc2FibGVkLFxuICBpbmRleCxcbiAgaW5wdXRUeXBlLFxuICBuYW1lLFxuICBvcHRpb24sXG4gIHZhcmlhdGlvbixcbn06IE9wdGlvblByb3BzKSB7XG4gIGNvbnN0IHsgY29udHJvbCwgZ2V0UXVvdGUgfSA9IHVzZU1lcmNoaUZvcm1Db250ZXh0KCk7XG4gIGNvbnN0IHsgZmllbGQgfSA9IHVzZUNvbnRyb2xsZXIoeyBuYW1lOiBgJHtuYW1lfS52YWx1ZWAsIGNvbnRyb2wgfSk7XG4gIGNvbnN0IHsgdmFyaWF0aW9uRmllbGQgfSA9IHZhcmlhdGlvbjtcbiAgY29uc3QgeyBzZWxsZXJQcm9kdWN0RWRpdGFibGUgfSA9IHZhcmlhdGlvbkZpZWxkO1xuICBjb25zdCB7IG9wdGlvbklkIH0gPSBvcHRpb247XG4gIGNvbnN0IGlucHV0SWQgPSBgJHtuYW1lfS5vcHRpb25zLmlkLSR7b3B0aW9uSWR9YDtcbiAgY29uc3QgYWN0aXZlSWRzID0gc3BsaXRTZWxlY3RlZE9wdGlvbnMoZmllbGQudmFsdWUpLm1hcChTdHJpbmcpLmZpbHRlcihCb29sZWFuKTtcbiAgY29uc3QgaXNBY3RpdmUgPSBhY3RpdmVJZHMuaW5jbHVkZXMoU3RyaW5nKG9wdGlvbklkKSk7XG4gIGNvbnN0IG9wdGlvbklucHV0VHlwZSA9IG9wdGlvblR5cGUodmFyaWF0aW9uKTtcbiAgY29uc3QgZG9DbGljayA9ICgpID0+IHtcbiAgICBsZXQgdXBkYXRlZElkcyA9IFsuLi5hY3RpdmVJZHNdO1xuXG4gICAgaWYgKHNlbGxlclByb2R1Y3RFZGl0YWJsZSB8fCBvcHRpb25JbnB1dFR5cGUgPT09ICdjaGVja2JveCcpIHtcbiAgICAgIC8vIENoZWNrYm94IExvZ2ljXG4gICAgICBpZiAoIXVwZGF0ZWRJZHMuaW5jbHVkZXMoU3RyaW5nKG9wdGlvbklkKSkpIHtcbiAgICAgICAgdXBkYXRlZElkcy5wdXNoKFN0cmluZyhvcHRpb25JZCkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdXBkYXRlZElkcyA9IHVwZGF0ZWRJZHMuZmlsdGVyKFxuICAgICAgICAgIChleGlzdGluZ0lkKSA9PiBleGlzdGluZ0lkICE9PSBTdHJpbmcob3B0aW9uSWQpXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChvcHRpb25JbnB1dFR5cGUgPT09ICdyYWRpbycpIHtcbiAgICAgIC8vIFJhZGlvIExvZ2ljXG4gICAgICB1cGRhdGVkSWRzID0gW1N0cmluZyhvcHRpb25JZCldO1xuICAgIH1cbiAgICBxdW90ZUFmdGVyRmllbGRDaGFuZ2UoXG4gICAgICBmaWVsZC5vbkNoYW5nZSxcbiAgICAgIGdldFF1b3RlLFxuICAgICAgdXBkYXRlZElkcy5maWx0ZXIoQm9vbGVhbikuam9pbignLCcpXG4gICAgKTtcbiAgfTtcbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPGlucHV0XG4gICAgICAgIHN0eWxlPXt7IGRpc3BsYXk6ICdub25lJyB9fVxuICAgICAgICBjaGVja2VkPXtpc0FjdGl2ZX1cbiAgICAgICAgdmFsdWU9e29wdGlvbklkfVxuICAgICAgICB0eXBlPXtvcHRpb25JbnB1dFR5cGV9XG4gICAgICAgIGlkPXtpbnB1dElkfVxuICAgICAgICBuYW1lPXtgJHtuYW1lfS52YWx1ZWB9XG4gICAgICAgIG9uQ2hhbmdlPXsoKSA9PiB0cnVlfVxuICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAvPlxuICAgICAge2lucHV0VHlwZSA9PT0gJ2ltYWdlJyA/IChcbiAgICAgICAgPFZhcmlhdGlvbk9wdGlvbkltYWdlXG4gICAgICAgICAgZG9DbGljaz17ZG9DbGlja31cbiAgICAgICAgICBpc0NoZWNrZWQ9e2lzQWN0aXZlfVxuICAgICAgICAgIG9wdGlvbj17b3B0aW9ufVxuICAgICAgICAvPlxuICAgICAgKSA6IChcbiAgICAgICAgPFZhcmlhdGlvbk9wdGlvbkNvbG91clxuICAgICAgICAgIGRvQ2xpY2s9e2RvQ2xpY2t9XG4gICAgICAgICAgaXNDaGVja2VkPXtpc0FjdGl2ZX1cbiAgICAgICAgICBvcHRpb249e29wdGlvbn1cbiAgICAgICAgLz5cbiAgICAgICl9XG4gICAgPC8+XG4gICk7XG59XG5cbmludGVyZmFjZSBQcm9wcyB7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgaW5wdXRUeXBlPzogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIHZhcmlhdGlvbjogYW55O1xufVxuXG5leHBvcnQgY29uc3QgVmFyaWF0aW9uU2VsZWN0RWxlbWVudHM6IFJlYWN0LkZDPFByb3BzPiA9ICh7XG4gIGRpc2FibGVkLFxuICBpbnB1dFR5cGUgPSAnaW1hZ2UnLFxuICBuYW1lLFxuICB2YXJpYXRpb24sXG59KSA9PiB7XG4gIGNvbnN0IHsgc2VsZWN0YWJsZU9wdGlvbnMgPSBbXSB9ID0gdmFyaWF0aW9uO1xuICBjb25zdCBpc0ltYWdlID0gaW5wdXRUeXBlID09PSAnaW1hZ2UnO1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtpc0ltYWdlID8gJ21lcmNoaS1pbWFnZS1zZWxlY3QtY29udGFpbmVyJyA6ICcnfT5cbiAgICAgIDxWYXJpYXRpb25MYWJlbFxuICAgICAgICBuYW1lPXtuYW1lfVxuICAgICAgICB2YXJpYXRpb25DbGFzc05hbWU9e2BtZXJjaGktZW1iZWQtZm9ybV9pbnB1dCR7XG4gICAgICAgICAgaXNJbWFnZSA/ICctaW1hZ2UnIDogJydcbiAgICAgICAgfS1zZWxlY3RgfVxuICAgICAgICB2YXJpYXRpb249e3ZhcmlhdGlvbn1cbiAgICAgIC8+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzTmFtZT17XG4gICAgICAgICAgaXNJbWFnZVxuICAgICAgICAgICAgPyAnbWVyY2hpLWVtYmVkLWZvcm1faW1hZ2Utc2VsZWN0LW9wdGlvbi1jb250YWluZXInXG4gICAgICAgICAgICA6ICdtZXJjaGktZW1iZWQtZm9ybV9jb2xvci1zZWxlY3QtY29udGFpbmVyJ1xuICAgICAgICB9XG4gICAgICA+XG4gICAgICAgIHtzb3J0QnlQb3NpdGlvbihzZWxlY3RhYmxlT3B0aW9ucykubWFwKChvcHRpb246IGFueSwgaW5kZXg6IG51bWJlcikgPT4gKFxuICAgICAgICAgIDxWYXJpYXRpb25GaWVsZE9wdGlvbkVsZW1lbnRcbiAgICAgICAgICAgIGtleT17YHZhcmlhdGlvbi1vcHRpb24tJHtvcHRpb24ub3B0aW9uSWR9LSR7aW5kZXh9YH1cbiAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgIGluZGV4PXtpbmRleH1cbiAgICAgICAgICAgIGlucHV0VHlwZT17aW5wdXRUeXBlfVxuICAgICAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgICAgIG9wdGlvbj17b3B0aW9ufVxuICAgICAgICAgICAgdmFyaWF0aW9uPXt2YXJpYXRpb259XG4gICAgICAgICAgLz5cbiAgICAgICAgKSl9XG4gICAgICA8L2Rpdj5cbiAgICAgIDxWYXJpYXRpb25FcnJvciBuYW1lPXtuYW1lfSAvPlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuaW50ZXJmYWNlIEZpZWxkUHJvcHMge1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIG5hbWU6IHN0cmluZztcbiAgdmFyaWF0aW9uOiBhbnk7XG59XG5cbmV4cG9ydCBjb25zdCBWYXJpYXRpb25TZWxlY3RJbWFnZSA9IChwcm9wczogRmllbGRQcm9wcykgPT4gKFxuICA8VmFyaWF0aW9uU2VsZWN0RWxlbWVudHMgey4uLnByb3BzfSBpbnB1dFR5cGU9J2ltYWdlJyAvPlxuKTtcbmV4cG9ydCBjb25zdCBWYXJpYXRpb25TZWxlY3RDb2xvdXIgPSAocHJvcHM6IEZpZWxkUHJvcHMpID0+IChcbiAgPFZhcmlhdGlvblNlbGVjdEVsZW1lbnRzIHsuLi5wcm9wc30gaW5wdXRUeXBlPSdjb2xvdXInIC8+XG4pO1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxZQUFZOztBQUFDLFNBQUFBLFFBQUFDLENBQUEs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
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
interface Props {
|
|
3
|
+
disabled?: boolean;
|
|
4
|
+
name: string;
|
|
5
|
+
onChange?: () => void;
|
|
6
|
+
variation: any;
|
|
7
|
+
}
|
|
8
|
+
declare function VariationTurnaroundTime({ disabled, name, onChange, variation, }: Props): React.JSX.Element;
|
|
9
|
+
export default VariationTurnaroundTime;
|
|
@@ -0,0 +1,156 @@
|
|
|
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 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; }
|
|
5
|
+
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; }
|
|
6
|
+
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; }
|
|
7
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
8
|
+
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); }
|
|
9
|
+
import * as React from 'react';
|
|
10
|
+
import TooltipElement from './TooltipElement';
|
|
11
|
+
import { sortByPosition, variationFieldOptionCostDetail } from './utils';
|
|
12
|
+
import IconCheckedOrNoStock from './icons/IconCheckedOrNoStock';
|
|
13
|
+
import VariationError from './VariationError';
|
|
14
|
+
import VariationLabel from './VariationLabel';
|
|
15
|
+
import { useMerchiFormContext } from '../context/MerchiProductFormProvider';
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Formats a date for display
|
|
19
|
+
*/
|
|
20
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
21
|
+
function formatDate(date) {
|
|
22
|
+
var dayNames = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
|
|
23
|
+
var monthNames = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
|
|
24
|
+
return {
|
|
25
|
+
dayName: dayNames[date.getDay()],
|
|
26
|
+
dayNumber: String(date.getDate()),
|
|
27
|
+
month: monthNames[date.getMonth()]
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
function TurnaroundOption(_ref) {
|
|
31
|
+
var disabled = _ref.disabled,
|
|
32
|
+
name = _ref.name,
|
|
33
|
+
onChange = _ref.onChange,
|
|
34
|
+
option = _ref.option,
|
|
35
|
+
variation = _ref.variation,
|
|
36
|
+
considerBusinessHours = _ref.considerBusinessHours,
|
|
37
|
+
shippingTimeIncluded = _ref.shippingTimeIncluded;
|
|
38
|
+
var _useMerchiFormContext = useMerchiFormContext(),
|
|
39
|
+
hookForm = _useMerchiFormContext.hookForm,
|
|
40
|
+
getQuote = _useMerchiFormContext.getQuote;
|
|
41
|
+
var register = hookForm.register,
|
|
42
|
+
watch = hookForm.watch;
|
|
43
|
+
var _variation$selectedOp = variation.selectedOptions,
|
|
44
|
+
selectedOptions = _variation$selectedOp === void 0 ? [] : _variation$selectedOp;
|
|
45
|
+
var _option$available = option.available,
|
|
46
|
+
available = _option$available === void 0 ? true : _option$available,
|
|
47
|
+
_option$isVisible = option.isVisible,
|
|
48
|
+
isVisible = _option$isVisible === void 0 ? true : _option$isVisible,
|
|
49
|
+
userDeadline = option.userDeadline,
|
|
50
|
+
value = option.value,
|
|
51
|
+
optionId = option.optionId;
|
|
52
|
+
var selectedValues = selectedOptions.map(function (o) {
|
|
53
|
+
return o.optionId;
|
|
54
|
+
});
|
|
55
|
+
var optionCost = variationFieldOptionCostDetail(option);
|
|
56
|
+
var isSelected = selectedValues ? selectedValues.includes(optionId) : false;
|
|
57
|
+
|
|
58
|
+
// Watch form value for real-time updates
|
|
59
|
+
var watchedValue = watch("".concat(name, ".value"));
|
|
60
|
+
var isActive = watchedValue ? String(watchedValue) === String(optionId) : isSelected;
|
|
61
|
+
|
|
62
|
+
// Calculate the turnaround date based on days value
|
|
63
|
+
var days = parseInt(value, 10) || 0;
|
|
64
|
+
var formattedDate = userDeadline ? formatDate(new Date(userDeadline * 1000)) : null;
|
|
65
|
+
var isDisabled = disabled || !available || !isVisible;
|
|
66
|
+
var outOfStock = !isVisible ? ' - disabled' : !available ? ' - insufficient stock' : '';
|
|
67
|
+
var deliveryLabel = shippingTimeIncluded ? 'Delivery by' : 'Produced by';
|
|
68
|
+
var tooltipText = formattedDate ? "".concat(days, " day").concat(days !== 1 ? 's' : '', " - ").concat(deliveryLabel, " ").concat(formattedDate.dayName, ", ").concat(formattedDate.month, " ").concat(formattedDate.dayNumber).concat(outOfStock) : "".concat(days, " day").concat(days !== 1 ? 's' : '', " - ").concat(deliveryLabel).concat(outOfStock);
|
|
69
|
+
var handleOnChange = function handleOnChange() {
|
|
70
|
+
if (onChange) onChange();
|
|
71
|
+
getQuote();
|
|
72
|
+
};
|
|
73
|
+
return /*#__PURE__*/_jsx("div", {
|
|
74
|
+
className: "turnaround-option ".concat(isActive ? 'turnaround-option-selected' : '', " ").concat(isDisabled ? 'turnaround-option-disabled' : ''),
|
|
75
|
+
children: /*#__PURE__*/_jsxs("label", {
|
|
76
|
+
className: "turnaround-option-label",
|
|
77
|
+
children: [/*#__PURE__*/_jsx("input", _objectSpread({
|
|
78
|
+
type: "radio",
|
|
79
|
+
className: "turnaround-option-input",
|
|
80
|
+
defaultChecked: isSelected,
|
|
81
|
+
disabled: isDisabled,
|
|
82
|
+
value: optionId
|
|
83
|
+
}, register("".concat(name, ".value"), {
|
|
84
|
+
onChange: handleOnChange
|
|
85
|
+
}))), /*#__PURE__*/_jsx(TooltipElement, {
|
|
86
|
+
tooltip: tooltipText,
|
|
87
|
+
children: /*#__PURE__*/_jsxs("div", {
|
|
88
|
+
className: "turnaround-option-box",
|
|
89
|
+
children: [/*#__PURE__*/_jsx(IconCheckedOrNoStock, {
|
|
90
|
+
isChecked: isActive,
|
|
91
|
+
noStock: !available
|
|
92
|
+
}), formattedDate && /*#__PURE__*/_jsxs("div", {
|
|
93
|
+
className: "turnaround-option-date",
|
|
94
|
+
children: [/*#__PURE__*/_jsx("span", {
|
|
95
|
+
className: "turnaround-option-month",
|
|
96
|
+
children: formattedDate.month
|
|
97
|
+
}), /*#__PURE__*/_jsx("span", {
|
|
98
|
+
className: "turnaround-option-day",
|
|
99
|
+
children: formattedDate.dayNumber
|
|
100
|
+
}), /*#__PURE__*/_jsx("span", {
|
|
101
|
+
className: "turnaround-option-dayname",
|
|
102
|
+
children: formattedDate.dayName
|
|
103
|
+
})]
|
|
104
|
+
}), /*#__PURE__*/_jsxs("div", {
|
|
105
|
+
className: "turnaround-option-days",
|
|
106
|
+
children: [days, " day", days !== 1 ? 's' : '']
|
|
107
|
+
})]
|
|
108
|
+
})
|
|
109
|
+
}), optionCost && /*#__PURE__*/_jsx("small", {
|
|
110
|
+
className: "turnaround-option-cost",
|
|
111
|
+
children: optionCost
|
|
112
|
+
})]
|
|
113
|
+
})
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
function VariationTurnaroundTime(_ref2) {
|
|
117
|
+
var disabled = _ref2.disabled,
|
|
118
|
+
name = _ref2.name,
|
|
119
|
+
onChange = _ref2.onChange,
|
|
120
|
+
variation = _ref2.variation;
|
|
121
|
+
var _variation$selectable = variation.selectableOptions,
|
|
122
|
+
selectableOptions = _variation$selectable === void 0 ? [] : _variation$selectable,
|
|
123
|
+
_variation$variationF = variation.variationField,
|
|
124
|
+
variationField = _variation$variationF === void 0 ? {} : _variation$variationF;
|
|
125
|
+
var _variationField$consi = variationField.considerBusinessHours,
|
|
126
|
+
considerBusinessHours = _variationField$consi === void 0 ? false : _variationField$consi,
|
|
127
|
+
_variationField$shipp = variationField.shippingTimeIncluded,
|
|
128
|
+
shippingTimeIncluded = _variationField$shipp === void 0 ? false : _variationField$shipp;
|
|
129
|
+
return /*#__PURE__*/_jsxs("div", {
|
|
130
|
+
className: "merchi-turnaround-time-container",
|
|
131
|
+
children: [/*#__PURE__*/_jsx(VariationLabel, {
|
|
132
|
+
variationClassName: "merchi-turnaround-time",
|
|
133
|
+
forceHideCost: true,
|
|
134
|
+
variation: variation
|
|
135
|
+
}), /*#__PURE__*/_jsx("div", {
|
|
136
|
+
className: "turnaround-options-grid",
|
|
137
|
+
children: sortByPosition(selectableOptions).map(function (option) {
|
|
138
|
+
return /*#__PURE__*/_jsx(TurnaroundOption, {
|
|
139
|
+
disabled: disabled,
|
|
140
|
+
name: name,
|
|
141
|
+
onChange: onChange,
|
|
142
|
+
option: option,
|
|
143
|
+
variation: variation,
|
|
144
|
+
considerBusinessHours: considerBusinessHours,
|
|
145
|
+
shippingTimeIncluded: shippingTimeIncluded
|
|
146
|
+
}, "".concat(option.optionId, "-").concat(name, "-turnaround"));
|
|
147
|
+
})
|
|
148
|
+
}), /*#__PURE__*/_jsx(VariationError, {
|
|
149
|
+
name: name
|
|
150
|
+
}), /*#__PURE__*/_jsx("style", {
|
|
151
|
+
children: "\n .merchi-turnaround-time-container {\n margin-bottom: 1rem;\n }\n \n .turnaround-options-grid {\n display: flex;\n flex-wrap: wrap;\n gap: 0.75rem;\n padding-top: 0.5rem;\n }\n \n .turnaround-option {\n position: relative;\n }\n \n .turnaround-option-label {\n display: flex;\n flex-direction: column;\n align-items: center;\n cursor: pointer;\n margin: 0;\n }\n \n .turnaround-option-input {\n position: absolute;\n opacity: 0;\n width: 0;\n height: 0;\n }\n \n .turnaround-option-box {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n width: 90px;\n height: 100px;\n border: 2px solid #dee2e6;\n border-radius: 8px;\n background: #fff;\n transition: all 0.2s ease;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);\n }\n \n .turnaround-option-box:hover {\n border-color: #adb5bd;\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);\n transform: translateY(-2px);\n }\n \n .turnaround-option-selected .turnaround-option-box {\n border-color: #303dbf;\n background: linear-gradient(135deg, #f8f9ff 0%, #fff 100%);\n box-shadow: 0 4px 12px rgba(48, 61, 191, 0.2);\n }\n \n .turnaround-option-disabled .turnaround-option-box {\n background: #f8f9fa;\n border-color: #dee2e6;\n cursor: not-allowed;\n opacity: 0.6;\n }\n \n .turnaround-option-disabled .turnaround-option-label {\n cursor: not-allowed;\n }\n \n .turnaround-option-box i,\n .turnaround-option-box svg {\n position: absolute;\n top: -8px;\n right: -8px;\n border-radius: 50%;\n background: #fff;\n padding: 2px;\n color: #303dbf;\n font-size: 18px !important;\n animation: fadeInOpacity 0.2s ease;\n }\n \n .turnaround-option-date {\n display: flex;\n flex-direction: column;\n align-items: center;\n line-height: 1.2;\n }\n \n .turnaround-option-month {\n font-size: 0.7rem;\n font-weight: 600;\n text-transform: uppercase;\n color: #dc3545;\n letter-spacing: 0.5px;\n }\n \n .turnaround-option-day {\n font-size: 1.75rem;\n font-weight: 700;\n color: #212529;\n line-height: 1;\n }\n \n .turnaround-option-dayname {\n font-size: 0.7rem;\n color: #6c757d;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n }\n \n .turnaround-option-days {\n font-size: 0.65rem;\n color: #6c757d;\n margin-top: 4px;\n padding: 2px 6px;\n background: #f8f9fa;\n border-radius: 4px;\n }\n \n .turnaround-option-selected .turnaround-option-days {\n background: rgba(48, 61, 191, 0.1);\n color: #303dbf;\n }\n \n .turnaround-option-cost {\n display: block;\n margin-top: 4px;\n font-size: 0.75rem;\n color: #6c757d;\n text-align: center;\n }\n \n @keyframes fadeInOpacity {\n from { opacity: 0; }\n to { opacity: 1; }\n }\n "
|
|
152
|
+
})]
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
export default VariationTurnaroundTime;
|
|
156
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdHlwZW9mIiwibyIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiY29uc3RydWN0b3IiLCJwcm90b3R5cGUiLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJfdG9Qcm9wZXJ0eUtleSIsInZhbHVlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJpIiwiX3RvUHJpbWl0aXZlIiwidG9QcmltaXRpdmUiLCJjYWxsIiwiVHlwZUVycm9yIiwiU3RyaW5nIiwiTnVtYmVyIiwiUmVhY3QiLCJUb29sdGlwRWxlbWVudCIsInNvcnRCeVBvc2l0aW9uIiwidmFyaWF0aW9uRmllbGRPcHRpb25Db3N0RGV0YWlsIiwiSWNvbkNoZWNrZWRPck5vU3RvY2siLCJWYXJpYXRpb25FcnJvciIsIlZhcmlhdGlvbkxhYmVsIiwidXNlTWVyY2hpRm9ybUNvbnRleHQiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiZm9ybWF0RGF0ZSIsImRhdGUiLCJkYXlOYW1lcyIsIm1vbnRoTmFtZXMiLCJkYXlOYW1lIiwiZ2V0RGF5IiwiZGF5TnVtYmVyIiwiZ2V0RGF0ZSIsIm1vbnRoIiwiZ2V0TW9udGgiLCJUdXJuYXJvdW5kT3B0aW9uIiwiX3JlZiIsImRpc2FibGVkIiwibmFtZSIsIm9uQ2hhbmdlIiwib3B0aW9uIiwidmFyaWF0aW9uIiwiY29uc2lkZXJCdXNpbmVzc0hvdXJzIiwic2hpcHBpbmdUaW1lSW5jbHVkZWQiLCJfdXNlTWVyY2hpRm9ybUNvbnRleHQiLCJob29rRm9ybSIsImdldFF1b3RlIiwicmVnaXN0ZXIiLCJ3YXRjaCIsIl92YXJpYXRpb24kc2VsZWN0ZWRPcCIsInNlbGVjdGVkT3B0aW9ucyIsIl9vcHRpb24kYXZhaWxhYmxlIiwiYXZhaWxhYmxlIiwiX29wdGlvbiRpc1Zpc2libGUiLCJpc1Zpc2libGUiLCJ1c2VyRGVhZGxpbmUiLCJvcHRpb25JZCIsInNlbGVjdGVkVmFsdWVzIiwibWFwIiwib3B0aW9uQ29zdCIsImlzU2VsZWN0ZWQiLCJpbmNsdWRlcyIsIndhdGNoZWRWYWx1ZSIsImNvbmNhdCIsImlzQWN0aXZlIiwiZGF5cyIsInBhcnNlSW50IiwiZm9ybWF0dGVkRGF0ZSIsIkRhdGUiLCJpc0Rpc2FibGVkIiwib3V0T2ZTdG9jayIsImRlbGl2ZXJ5TGFiZWwiLCJ0b29sdGlwVGV4dCIsImhhbmRsZU9uQ2hhbmdlIiwiY2xhc3NOYW1lIiwiY2hpbGRyZW4iLCJ0eXBlIiwiZGVmYXVsdENoZWNrZWQiLCJ0b29sdGlwIiwiaXNDaGVja2VkIiwibm9TdG9jayIsIlZhcmlhdGlvblR1cm5hcm91bmRUaW1lIiwiX3JlZjIiLCJfdmFyaWF0aW9uJHNlbGVjdGFibGUiLCJzZWxlY3RhYmxlT3B0aW9ucyIsIl92YXJpYXRpb24kdmFyaWF0aW9uRiIsInZhcmlhdGlvbkZpZWxkIiwiX3ZhcmlhdGlvbkZpZWxkJGNvbnNpIiwiX3ZhcmlhdGlvbkZpZWxkJHNoaXBwIiwidmFyaWF0aW9uQ2xhc3NOYW1lIiwiZm9yY2VIaWRlQ29zdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL1ZhcmlhdGlvblR1cm5hcm91bmRUaW1lLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCc7XG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgVG9vbHRpcEVsZW1lbnQgZnJvbSAnLi9Ub29sdGlwRWxlbWVudCc7XG5pbXBvcnQgeyBzb3J0QnlQb3NpdGlvbiwgdmFyaWF0aW9uRmllbGRPcHRpb25Db3N0RGV0YWlsIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgSWNvbkNoZWNrZWRPck5vU3RvY2sgZnJvbSAnLi9pY29ucy9JY29uQ2hlY2tlZE9yTm9TdG9jayc7XG5pbXBvcnQgVmFyaWF0aW9uRXJyb3IgZnJvbSAnLi9WYXJpYXRpb25FcnJvcic7XG5pbXBvcnQgVmFyaWF0aW9uTGFiZWwgZnJvbSAnLi9WYXJpYXRpb25MYWJlbCc7XG5pbXBvcnQgeyB1c2VNZXJjaGlGb3JtQ29udGV4dCB9IGZyb20gJy4uL2NvbnRleHQvTWVyY2hpUHJvZHVjdEZvcm1Qcm92aWRlcic7XG5cblxuLyoqXG4gKiBGb3JtYXRzIGEgZGF0ZSBmb3IgZGlzcGxheVxuICovXG5mdW5jdGlvbiBmb3JtYXREYXRlKGRhdGU6IERhdGUpOiB7IGRheU5hbWU6IHN0cmluZzsgZGF5TnVtYmVyOiBzdHJpbmc7IG1vbnRoOiBzdHJpbmcgfSB7XG4gIGNvbnN0IGRheU5hbWVzID0gWydTdW4nLCAnTW9uJywgJ1R1ZScsICdXZWQnLCAnVGh1JywgJ0ZyaScsICdTYXQnXTtcbiAgY29uc3QgbW9udGhOYW1lcyA9IFsnSmFuJywgJ0ZlYicsICdNYXInLCAnQXByJywgJ01heScsICdKdW4nLCBcbiAgICAgICAgICAgICAgICAgICAgICAnSnVsJywgJ0F1ZycsICdTZXAnLCAnT2N0JywgJ05vdicsICdEZWMnXTtcbiAgXG4gIHJldHVybiB7XG4gICAgZGF5TmFtZTogZGF5TmFtZXNbZGF0ZS5nZXREYXkoKV0sXG4gICAgZGF5TnVtYmVyOiBTdHJpbmcoZGF0ZS5nZXREYXRlKCkpLFxuICAgIG1vbnRoOiBtb250aE5hbWVzW2RhdGUuZ2V0TW9udGgoKV0sXG4gIH07XG59XG5cbmludGVyZmFjZSBUdXJuYXJvdW5kT3B0aW9uUHJvcHMge1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIG5hbWU6IHN0cmluZztcbiAgb25DaGFuZ2U/OiAoKSA9PiB2b2lkO1xuICBvcHRpb246IGFueTtcbiAgdmFyaWF0aW9uOiBhbnk7XG4gIGNvbnNpZGVyQnVzaW5lc3NIb3VyczogYm9vbGVhbjtcbiAgc2hpcHBpbmdUaW1lSW5jbHVkZWQ6IGJvb2xlYW47XG59XG5cbmZ1bmN0aW9uIFR1cm5hcm91bmRPcHRpb24oe1xuICBkaXNhYmxlZCxcbiAgbmFtZSxcbiAgb25DaGFuZ2UsXG4gIG9wdGlvbixcbiAgdmFyaWF0aW9uLFxuICBjb25zaWRlckJ1c2luZXNzSG91cnMsXG4gIHNoaXBwaW5nVGltZUluY2x1ZGVkLFxufTogVHVybmFyb3VuZE9wdGlvblByb3BzKSB7XG4gIGNvbnN0IHsgaG9va0Zvcm0sIGdldFF1b3RlIH0gPSB1c2VNZXJjaGlGb3JtQ29udGV4dCgpO1xuICBjb25zdCB7IHJlZ2lzdGVyLCB3YXRjaCB9ID0gaG9va0Zvcm07XG4gIGNvbnN0IHsgc2VsZWN0ZWRPcHRpb25zID0gW10gfSA9IHZhcmlhdGlvbjtcbiAgY29uc3QgeyBhdmFpbGFibGUgPSB0cnVlLCBpc1Zpc2libGUgPSB0cnVlLCB1c2VyRGVhZGxpbmUsIHZhbHVlLCBvcHRpb25JZCB9ID0gb3B0aW9uO1xuXG4gIGNvbnN0IHNlbGVjdGVkVmFsdWVzID0gc2VsZWN0ZWRPcHRpb25zLm1hcCgobzogYW55KSA9PiBvLm9wdGlvbklkKTtcbiAgY29uc3Qgb3B0aW9uQ29zdCA9IHZhcmlhdGlvbkZpZWxkT3B0aW9uQ29zdERldGFpbChvcHRpb24pO1xuICBjb25zdCBpc1NlbGVjdGVkID0gc2VsZWN0ZWRWYWx1ZXMgPyBzZWxlY3RlZFZhbHVlcy5pbmNsdWRlcyhvcHRpb25JZCkgOiBmYWxzZTtcbiAgXG4gIC8vIFdhdGNoIGZvcm0gdmFsdWUgZm9yIHJlYWwtdGltZSB1cGRhdGVzXG4gIGNvbnN0IHdhdGNoZWRWYWx1ZSA9IHdhdGNoKGAke25hbWV9LnZhbHVlYCk7XG4gIGNvbnN0IGlzQWN0aXZlID0gd2F0Y2hlZFZhbHVlID8gU3RyaW5nKHdhdGNoZWRWYWx1ZSkgPT09IFN0cmluZyhvcHRpb25JZCkgOiBpc1NlbGVjdGVkO1xuICBcbiAgLy8gQ2FsY3VsYXRlIHRoZSB0dXJuYXJvdW5kIGRhdGUgYmFzZWQgb24gZGF5cyB2YWx1ZVxuICBjb25zdCBkYXlzID0gcGFyc2VJbnQodmFsdWUsIDEwKSB8fCAwO1xuICBcbiAgY29uc3QgZm9ybWF0dGVkRGF0ZSA9IHVzZXJEZWFkbGluZSA/IGZvcm1hdERhdGUobmV3IERhdGUodXNlckRlYWRsaW5lICogMTAwMCkpIDogbnVsbDtcbiAgY29uc3QgaXNEaXNhYmxlZCA9IGRpc2FibGVkIHx8ICFhdmFpbGFibGUgfHwgIWlzVmlzaWJsZTtcbiAgY29uc3Qgb3V0T2ZTdG9jayA9ICFpc1Zpc2libGUgPyAnIC0gZGlzYWJsZWQnIDogIWF2YWlsYWJsZSA/ICcgLSBpbnN1ZmZpY2llbnQgc3RvY2snIDogJyc7XG4gIFxuICBjb25zdCBkZWxpdmVyeUxhYmVsID0gc2hpcHBpbmdUaW1lSW5jbHVkZWQgPyAnRGVsaXZlcnkgYnknIDogJ1Byb2R1Y2VkIGJ5JztcbiAgY29uc3QgdG9vbHRpcFRleHQgPSBmb3JtYXR0ZWREYXRlXG4gICAgPyBgJHtkYXlzfSBkYXkke2RheXMgIT09IDEgPyAncycgOiAnJ30gLSAke2RlbGl2ZXJ5TGFiZWx9ICR7Zm9ybWF0dGVkRGF0ZS5kYXlOYW1lfSwgJHtmb3JtYXR0ZWREYXRlLm1vbnRofSAke2Zvcm1hdHRlZERhdGUuZGF5TnVtYmVyfSR7b3V0T2ZTdG9ja31gXG4gICAgOiBgJHtkYXlzfSBkYXkke2RheXMgIT09IDEgPyAncycgOiAnJ30gLSAke2RlbGl2ZXJ5TGFiZWx9JHtvdXRPZlN0b2NrfWA7XG5cbiAgY29uc3QgaGFuZGxlT25DaGFuZ2UgPSAoKSA9PiB7XG4gICAgaWYgKG9uQ2hhbmdlKSBvbkNoYW5nZSgpO1xuICAgIGdldFF1b3RlKCk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjbGFzc05hbWU9e2B0dXJuYXJvdW5kLW9wdGlvbiAke2lzQWN0aXZlID8gJ3R1cm5hcm91bmQtb3B0aW9uLXNlbGVjdGVkJyA6ICcnfSAke2lzRGlzYWJsZWQgPyAndHVybmFyb3VuZC1vcHRpb24tZGlzYWJsZWQnIDogJyd9YH1cbiAgICA+XG4gICAgICA8bGFiZWwgY2xhc3NOYW1lPVwidHVybmFyb3VuZC1vcHRpb24tbGFiZWxcIj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgICBjbGFzc05hbWU9XCJ0dXJuYXJvdW5kLW9wdGlvbi1pbnB1dFwiXG4gICAgICAgICAgZGVmYXVsdENoZWNrZWQ9e2lzU2VsZWN0ZWR9XG4gICAgICAgICAgZGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgICAgICAgdmFsdWU9e29wdGlvbklkfVxuICAgICAgICAgIHsuLi5yZWdpc3RlcihgJHtuYW1lfS52YWx1ZWAsIHsgb25DaGFuZ2U6IGhhbmRsZU9uQ2hhbmdlIH0pfVxuICAgICAgICAvPlxuICAgICAgICA8VG9vbHRpcEVsZW1lbnQgdG9vbHRpcD17dG9vbHRpcFRleHR9PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidHVybmFyb3VuZC1vcHRpb24tYm94XCI+XG4gICAgICAgICAgICA8SWNvbkNoZWNrZWRPck5vU3RvY2tcbiAgICAgICAgICAgICAgaXNDaGVja2VkPXtpc0FjdGl2ZX1cbiAgICAgICAgICAgICAgbm9TdG9jaz17IWF2YWlsYWJsZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB7Zm9ybWF0dGVkRGF0ZSAmJiAoXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidHVybmFyb3VuZC1vcHRpb24tZGF0ZVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInR1cm5hcm91bmQtb3B0aW9uLW1vbnRoXCI+e2Zvcm1hdHRlZERhdGUubW9udGh9PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInR1cm5hcm91bmQtb3B0aW9uLWRheVwiPntmb3JtYXR0ZWREYXRlLmRheU51bWJlcn08L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidHVybmFyb3VuZC1vcHRpb24tZGF5bmFtZVwiPntmb3JtYXR0ZWREYXRlLmRheU5hbWV9PC9zcGFuPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInR1cm5hcm91bmQtb3B0aW9uLWRheXNcIj5cbiAgICAgICAgICAgICAge2RheXN9IGRheXtkYXlzICE9PSAxID8gJ3MnIDogJyd9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Ub29sdGlwRWxlbWVudD5cbiAgICAgICAge29wdGlvbkNvc3QgJiYgKFxuICAgICAgICAgIDxzbWFsbCBjbGFzc05hbWU9XCJ0dXJuYXJvdW5kLW9wdGlvbi1jb3N0XCI+XG4gICAgICAgICAgICB7b3B0aW9uQ29zdH1cbiAgICAgICAgICA8L3NtYWxsPlxuICAgICAgICApfVxuICAgICAgPC9sYWJlbD5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICBuYW1lOiBzdHJpbmc7XG4gIG9uQ2hhbmdlPzogKCkgPT4gdm9pZDtcbiAgdmFyaWF0aW9uOiBhbnk7XG59XG5cbmZ1bmN0aW9uIFZhcmlhdGlvblR1cm5hcm91bmRUaW1lKHtcbiAgZGlzYWJsZWQsXG4gIG5hbWUsXG4gIG9uQ2hhbmdlLFxuICB2YXJpYXRpb24sXG59OiBQcm9wcykge1xuICBjb25zdCB7IHNlbGVjdGFibGVPcHRpb25zID0gW10sIHZhcmlhdGlvbkZpZWxkID0ge30gfSA9IHZhcmlhdGlvbjtcbiAgY29uc3QgeyBjb25zaWRlckJ1c2luZXNzSG91cnMgPSBmYWxzZSwgc2hpcHBpbmdUaW1lSW5jbHVkZWQgPSBmYWxzZSB9ID0gdmFyaWF0aW9uRmllbGQ7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cIm1lcmNoaS10dXJuYXJvdW5kLXRpbWUtY29udGFpbmVyXCI+XG4gICAgICA8VmFyaWF0aW9uTGFiZWxcbiAgICAgICAgdmFyaWF0aW9uQ2xhc3NOYW1lPVwibWVyY2hpLXR1cm5hcm91bmQtdGltZVwiXG4gICAgICAgIGZvcmNlSGlkZUNvc3Q9e3RydWV9XG4gICAgICAgIHZhcmlhdGlvbj17dmFyaWF0aW9ufVxuICAgICAgLz5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwidHVybmFyb3VuZC1vcHRpb25zLWdyaWRcIj5cbiAgICAgICAge3NvcnRCeVBvc2l0aW9uKHNlbGVjdGFibGVPcHRpb25zKS5tYXAoKG9wdGlvbjogYW55KSA9PiAoXG4gICAgICAgICAgPFR1cm5hcm91bmRPcHRpb25cbiAgICAgICAgICAgIGtleT17YCR7b3B0aW9uLm9wdGlvbklkfS0ke25hbWV9LXR1cm5hcm91bmRgfVxuICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZX1cbiAgICAgICAgICAgIG9wdGlvbj17b3B0aW9ufVxuICAgICAgICAgICAgdmFyaWF0aW9uPXt2YXJpYXRpb259XG4gICAgICAgICAgICBjb25zaWRlckJ1c2luZXNzSG91cnM9e2NvbnNpZGVyQnVzaW5lc3NIb3Vyc31cbiAgICAgICAgICAgIHNoaXBwaW5nVGltZUluY2x1ZGVkPXtzaGlwcGluZ1RpbWVJbmNsdWRlZH1cbiAgICAgICAgICAvPlxuICAgICAgICApKX1cbiAgICAgIDwvZGl2PlxuICAgICAgPFZhcmlhdGlvbkVycm9yIG5hbWU9e25hbWV9IC8+XG4gICAgICBcbiAgICAgIDxzdHlsZT57YFxuICAgICAgICAubWVyY2hpLXR1cm5hcm91bmQtdGltZS1jb250YWluZXIge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC50dXJuYXJvdW5kLW9wdGlvbnMtZ3JpZCB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgZ2FwOiAwLjc1cmVtO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC50dXJuYXJvdW5kLW9wdGlvbiB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAudHVybmFyb3VuZC1vcHRpb24tbGFiZWwge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC50dXJuYXJvdW5kLW9wdGlvbi1pbnB1dCB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAudHVybmFyb3VuZC1vcHRpb24tYm94IHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgd2lkdGg6IDkwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjZGVlMmU2O1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC50dXJuYXJvdW5kLW9wdGlvbi1ib3g6aG92ZXIge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogI2FkYjViZDtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDRweCA4cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLnR1cm5hcm91bmQtb3B0aW9uLXNlbGVjdGVkIC50dXJuYXJvdW5kLW9wdGlvbi1ib3gge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogIzMwM2RiZjtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZjhmOWZmIDAlLCAjZmZmIDEwMCUpO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSg0OCwgNjEsIDE5MSwgMC4yKTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLnR1cm5hcm91bmQtb3B0aW9uLWRpc2FibGVkIC50dXJuYXJvdW5kLW9wdGlvbi1ib3gge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmOGY5ZmE7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjZGVlMmU2O1xuICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAudHVybmFyb3VuZC1vcHRpb24tZGlzYWJsZWQgLnR1cm5hcm91bmQtb3B0aW9uLWxhYmVsIHtcbiAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAudHVybmFyb3VuZC1vcHRpb24tYm94IGksXG4gICAgICAgIC50dXJuYXJvdW5kLW9wdGlvbi1ib3ggc3ZnIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAtOHB4O1xuICAgICAgICAgIHJpZ2h0OiAtOHB4O1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgIHBhZGRpbmc6IDJweDtcbiAgICAgICAgICBjb2xvcjogIzMwM2RiZjtcbiAgICAgICAgICBmb250LXNpemU6IDE4cHggIWltcG9ydGFudDtcbiAgICAgICAgICBhbmltYXRpb246IGZhZGVJbk9wYWNpdHkgMC4ycyBlYXNlO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAudHVybmFyb3VuZC1vcHRpb24tZGF0ZSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLnR1cm5hcm91bmQtb3B0aW9uLW1vbnRoIHtcbiAgICAgICAgICBmb250LXNpemU6IDAuN3JlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgY29sb3I6ICNkYzM1NDU7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAudHVybmFyb3VuZC1vcHRpb24tZGF5IHtcbiAgICAgICAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICBjb2xvcjogIzIxMjUyOTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLnR1cm5hcm91bmQtb3B0aW9uLWRheW5hbWUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC43cmVtO1xuICAgICAgICAgIGNvbG9yOiAjNmM3NTdkO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAudHVybmFyb3VuZC1vcHRpb24tZGF5cyB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjY1cmVtO1xuICAgICAgICAgIGNvbG9yOiAjNmM3NTdkO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICAgICAgICBwYWRkaW5nOiAycHggNnB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmOGY5ZmE7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAudHVybmFyb3VuZC1vcHRpb24tc2VsZWN0ZWQgLnR1cm5hcm91bmQtb3B0aW9uLWRheXMge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoNDgsIDYxLCAxOTEsIDAuMSk7XG4gICAgICAgICAgY29sb3I6ICMzMDNkYmY7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC50dXJuYXJvdW5kLW9wdGlvbi1jb3N0IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICAgIGNvbG9yOiAjNmM3NTdkO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgQGtleWZyYW1lcyBmYWRlSW5PcGFjaXR5IHtcbiAgICAgICAgICBmcm9tIHsgb3BhY2l0eTogMDsgfVxuICAgICAgICAgIHRvIHsgb3BhY2l0eTogMTsgfVxuICAgICAgICB9XG4gICAgICBgfTwvc3R5bGU+XG4gICAgPC9kaXY+XG4gICk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IFZhcmlhdGlvblR1cm5hcm91bmRU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
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
interface Props {
|
|
3
|
+
containerClass?: string;
|
|
4
|
+
disabled?: boolean;
|
|
5
|
+
name?: string;
|
|
6
|
+
keyName?: string;
|
|
7
|
+
}
|
|
8
|
+
declare function Variations({ containerClass, disabled, name, keyName, }: Props): React.JSX.Element;
|
|
9
|
+
export default Variations;
|
|
@@ -0,0 +1,109 @@
|
|
|
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 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; }
|
|
5
|
+
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; }
|
|
6
|
+
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; }
|
|
7
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
8
|
+
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); }
|
|
9
|
+
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
10
|
+
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."); }
|
|
11
|
+
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
12
|
+
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
13
|
+
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; } } }; }
|
|
14
|
+
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; } }
|
|
15
|
+
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; }
|
|
16
|
+
import * as React from 'react';
|
|
17
|
+
import DynamicVariationInput from './DynamicVariationInput';
|
|
18
|
+
import { useFieldArray } from 'react-hook-form';
|
|
19
|
+
import { useMerchiFormContext } from '../context/MerchiProductFormProvider';
|
|
20
|
+
import { shouldHideSingleOptionSelection } from '../utils/singleOptionVariation';
|
|
21
|
+
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
22
|
+
function getSelectedOptionIds(variations) {
|
|
23
|
+
var ids = new Set();
|
|
24
|
+
var _iterator = _createForOfIteratorHelper(variations),
|
|
25
|
+
_step;
|
|
26
|
+
try {
|
|
27
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
28
|
+
var variation = _step.value;
|
|
29
|
+
var value = variation.value;
|
|
30
|
+
if (!value) continue;
|
|
31
|
+
String(value).split(',').forEach(function (id) {
|
|
32
|
+
var parsed = parseInt(id.trim(), 10);
|
|
33
|
+
if (!isNaN(parsed)) ids.add(parsed);
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
} catch (err) {
|
|
37
|
+
_iterator.e(err);
|
|
38
|
+
} finally {
|
|
39
|
+
_iterator.f();
|
|
40
|
+
}
|
|
41
|
+
return ids;
|
|
42
|
+
}
|
|
43
|
+
function isDynamicVariationVisible(variation, selectedOptionIds) {
|
|
44
|
+
var _variation$variationF;
|
|
45
|
+
var selectedBy = variation === null || variation === void 0 || (_variation$variationF = variation.variationField) === null || _variation$variationF === void 0 ? void 0 : _variation$variationF.selectedBy;
|
|
46
|
+
if (!selectedBy || selectedBy.length === 0) return true;
|
|
47
|
+
return selectedBy.some(function (opt) {
|
|
48
|
+
return opt.id && selectedOptionIds.has(opt.id);
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
function Variations(_ref) {
|
|
52
|
+
var containerClass = _ref.containerClass,
|
|
53
|
+
disabled = _ref.disabled,
|
|
54
|
+
_ref$name = _ref.name,
|
|
55
|
+
name = _ref$name === void 0 ? 'variations' : _ref$name,
|
|
56
|
+
_ref$keyName = _ref.keyName,
|
|
57
|
+
keyName = _ref$keyName === void 0 ? 'variationArrayFieldId' : _ref$keyName;
|
|
58
|
+
var _useMerchiFormContext = useMerchiFormContext(),
|
|
59
|
+
control = _useMerchiFormContext.control,
|
|
60
|
+
hookForm = _useMerchiFormContext.hookForm;
|
|
61
|
+
var watch = hookForm.watch;
|
|
62
|
+
var _useFieldArray = useFieldArray({
|
|
63
|
+
control: control,
|
|
64
|
+
keyName: keyName,
|
|
65
|
+
name: name
|
|
66
|
+
}),
|
|
67
|
+
fields = _useFieldArray.fields;
|
|
68
|
+
var currentVariations = watch(name) || [];
|
|
69
|
+
// Group fields can be gated by independent options (and vice versa is rare).
|
|
70
|
+
// Mirror the server: group selected_options = group.variations + job.variations.
|
|
71
|
+
var independentVariations = name === 'variations' ? [] : watch('variations') || [];
|
|
72
|
+
var selectedOptionIds = getSelectedOptionIds([].concat(_toConsumableArray(independentVariations), _toConsumableArray(currentVariations)));
|
|
73
|
+
return /*#__PURE__*/_jsx(_Fragment, {
|
|
74
|
+
children: fields.map(function (fieldItem, index) {
|
|
75
|
+
var _current$value, _current$variationFil, _current$onceOffCost, _current$unitCost, _current$cost, _current$selectableOp, _fieldItem$variationF;
|
|
76
|
+
var current = currentVariations[index];
|
|
77
|
+
// Field-array items are the source of truth for variationField /
|
|
78
|
+
// selectableOptions. Watched values can omit those after a value-only
|
|
79
|
+
// update; never let that strip metadata or the input tree crashes and
|
|
80
|
+
// the form collapses.
|
|
81
|
+
var variation = _objectSpread(_objectSpread({}, fieldItem), {}, {
|
|
82
|
+
value: (_current$value = current === null || current === void 0 ? void 0 : current.value) !== null && _current$value !== void 0 ? _current$value : fieldItem.value,
|
|
83
|
+
variationFiles: (_current$variationFil = current === null || current === void 0 ? void 0 : current.variationFiles) !== null && _current$variationFil !== void 0 ? _current$variationFil : fieldItem.variationFiles,
|
|
84
|
+
onceOffCost: (_current$onceOffCost = current === null || current === void 0 ? void 0 : current.onceOffCost) !== null && _current$onceOffCost !== void 0 ? _current$onceOffCost : fieldItem.onceOffCost,
|
|
85
|
+
unitCost: (_current$unitCost = current === null || current === void 0 ? void 0 : current.unitCost) !== null && _current$unitCost !== void 0 ? _current$unitCost : fieldItem.unitCost,
|
|
86
|
+
cost: (_current$cost = current === null || current === void 0 ? void 0 : current.cost) !== null && _current$cost !== void 0 ? _current$cost : fieldItem.cost,
|
|
87
|
+
selectableOptions: (_current$selectableOp = current === null || current === void 0 ? void 0 : current.selectableOptions) !== null && _current$selectableOp !== void 0 ? _current$selectableOp : fieldItem.selectableOptions,
|
|
88
|
+
variationField: (_fieldItem$variationF = fieldItem.variationField) !== null && _fieldItem$variationF !== void 0 ? _fieldItem$variationF : current === null || current === void 0 ? void 0 : current.variationField
|
|
89
|
+
});
|
|
90
|
+
if (!isDynamicVariationVisible(variation, selectedOptionIds)) {
|
|
91
|
+
return null;
|
|
92
|
+
}
|
|
93
|
+
var hideSelection = shouldHideSingleOptionSelection(variation);
|
|
94
|
+
return /*#__PURE__*/_jsx("fieldset", {
|
|
95
|
+
className: hideSelection ? undefined : containerClass,
|
|
96
|
+
name: "".concat(name, "[").concat(index, "]"),
|
|
97
|
+
hidden: hideSelection,
|
|
98
|
+
children: /*#__PURE__*/_jsx(DynamicVariationInput, {
|
|
99
|
+
disabled: disabled,
|
|
100
|
+
index: index,
|
|
101
|
+
name: name,
|
|
102
|
+
variation: variation
|
|
103
|
+
})
|
|
104
|
+
}, fieldItem[keyName]);
|
|
105
|
+
})
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
export default Variations;
|
|
109
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdHlwZW9mIiwibyIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiY29uc3RydWN0b3IiLCJwcm90b3R5cGUiLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJfdG9Qcm9wZXJ0eUtleSIsInZhbHVlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJpIiwiX3RvUHJpbWl0aXZlIiwidG9QcmltaXRpdmUiLCJjYWxsIiwiVHlwZUVycm9yIiwiU3RyaW5nIiwiTnVtYmVyIiwiX3RvQ29uc3VtYWJsZUFycmF5IiwiX2FycmF5V2l0aG91dEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheSIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIl9ub25JdGVyYWJsZVNwcmVhZCIsIkFycmF5IiwiZnJvbSIsImlzQXJyYXkiLCJfYXJyYXlMaWtlVG9BcnJheSIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwiX24iLCJGIiwicyIsIm4iLCJkb25lIiwiZiIsImEiLCJ1IiwibmV4dCIsInRvU3RyaW5nIiwic2xpY2UiLCJuYW1lIiwidGVzdCIsIlJlYWN0IiwiRHluYW1pY1ZhcmlhdGlvbklucHV0IiwidXNlRmllbGRBcnJheSIsInVzZU1lcmNoaUZvcm1Db250ZXh0Iiwic2hvdWxkSGlkZVNpbmdsZU9wdGlvblNlbGVjdGlvbiIsImpzeCIsIl9qc3giLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsImdldFNlbGVjdGVkT3B0aW9uSWRzIiwidmFyaWF0aW9ucyIsImlkcyIsIlNldCIsIl9pdGVyYXRvciIsIl9zdGVwIiwidmFyaWF0aW9uIiwic3BsaXQiLCJpZCIsInBhcnNlZCIsInBhcnNlSW50IiwidHJpbSIsImlzTmFOIiwiYWRkIiwiZXJyIiwiaXNEeW5hbWljVmFyaWF0aW9uVmlzaWJsZSIsInNlbGVjdGVkT3B0aW9uSWRzIiwiX3ZhcmlhdGlvbiR2YXJpYXRpb25GIiwic2VsZWN0ZWRCeSIsInZhcmlhdGlvbkZpZWxkIiwic29tZSIsIm9wdCIsImhhcyIsIlZhcmlhdGlvbnMiLCJfcmVmIiwiY29udGFpbmVyQ2xhc3MiLCJkaXNhYmxlZCIsIl9yZWYkbmFtZSIsIl9yZWYka2V5TmFtZSIsImtleU5hbWUiLCJfdXNlTWVyY2hpRm9ybUNvbnRleHQiLCJjb250cm9sIiwiaG9va0Zvcm0iLCJ3YXRjaCIsIl91c2VGaWVsZEFycmF5IiwiZmllbGRzIiwiY3VycmVudFZhcmlhdGlvbnMiLCJpbmRlcGVuZGVudFZhcmlhdGlvbnMiLCJjb25jYXQiLCJjaGlsZHJlbiIsIm1hcCIsImZpZWxkSXRlbSIsImluZGV4IiwiX2N1cnJlbnQkdmFsdWUiLCJfY3VycmVudCR2YXJpYXRpb25GaWwiLCJfY3VycmVudCRvbmNlT2ZmQ29zdCIsIl9jdXJyZW50JHVuaXRDb3N0IiwiX2N1cnJlbnQkY29zdCIsIl9jdXJyZW50JHNlbGVjdGFibGVPcCIsIl9maWVsZEl0ZW0kdmFyaWF0aW9uRiIsImN1cnJlbnQiLCJ2YXJpYXRpb25GaWxlcyIsIm9uY2VPZmZDb3N0IiwidW5pdENvc3QiLCJjb3N0Iiwic2VsZWN0YWJsZU9wdGlvbnMiLCJoaWRlU2VsZWN0aW9uIiwiY2xhc3NOYW1lIiwidW5kZWZpbmVkIiwiaGlkZGVuIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvVmFyaWF0aW9ucy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnO1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IER5bmFtaWNWYXJpYXRpb25JbnB1dCBmcm9tICcuL0R5bmFtaWNWYXJpYXRpb25JbnB1dCc7XG5pbXBvcnQgeyB1c2VGaWVsZEFycmF5IH0gZnJvbSAncmVhY3QtaG9vay1mb3JtJztcbmltcG9ydCB7IHVzZU1lcmNoaUZvcm1Db250ZXh0IH0gZnJvbSAnLi4vY29udGV4dC9NZXJjaGlQcm9kdWN0Rm9ybVByb3ZpZGVyJztcbmltcG9ydCB7IHNob3VsZEhpZGVTaW5nbGVPcHRpb25TZWxlY3Rpb24gfSBmcm9tICcuLi91dGlscy9zaW5nbGVPcHRpb25WYXJpYXRpb24nO1xuXG5pbnRlcmZhY2UgUHJvcHMge1xuICBjb250YWluZXJDbGFzcz86IHN0cmluZztcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICBuYW1lPzogc3RyaW5nO1xuICBrZXlOYW1lPzogc3RyaW5nO1xufVxuXG5mdW5jdGlvbiBnZXRTZWxlY3RlZE9wdGlvbklkcyh2YXJpYXRpb25zOiBhbnlbXSk6IFNldDxudW1iZXI+IHtcbiAgY29uc3QgaWRzID0gbmV3IFNldDxudW1iZXI+KCk7XG4gIGZvciAoY29uc3QgdmFyaWF0aW9uIG9mIHZhcmlhdGlvbnMpIHtcbiAgICBjb25zdCB7IHZhbHVlIH0gPSB2YXJpYXRpb247XG4gICAgaWYgKCF2YWx1ZSkgY29udGludWU7XG4gICAgU3RyaW5nKHZhbHVlKS5zcGxpdCgnLCcpLmZvckVhY2goKGlkOiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IHBhcnNlZCA9IHBhcnNlSW50KGlkLnRyaW0oKSwgMTApO1xuICAgICAgaWYgKCFpc05hTihwYXJzZWQpKSBpZHMuYWRkKHBhcnNlZCk7XG4gICAgfSk7XG4gIH1cbiAgcmV0dXJuIGlkcztcbn1cblxuZnVuY3Rpb24gaXNEeW5hbWljVmFyaWF0aW9uVmlzaWJsZShcbiAgdmFyaWF0aW9uOiBhbnksXG4gIHNlbGVjdGVkT3B0aW9uSWRzOiBTZXQ8bnVtYmVyPixcbik6IGJvb2xlYW4ge1xuICBjb25zdCBzZWxlY3RlZEJ5OiBhbnlbXSA9IHZhcmlhdGlvbj8udmFyaWF0aW9uRmllbGQ/LnNlbGVjdGVkQnk7XG4gIGlmICghc2VsZWN0ZWRCeSB8fCBzZWxlY3RlZEJ5Lmxlbmd0aCA9PT0gMCkgcmV0dXJuIHRydWU7XG4gIHJldHVybiBzZWxlY3RlZEJ5LnNvbWUoKG9wdDogYW55KSA9PiBvcHQuaWQgJiYgc2VsZWN0ZWRPcHRpb25JZHMuaGFzKG9wdC5pZCkpO1xufVxuXG5mdW5jdGlvbiBWYXJpYXRpb25zKHtcbiAgY29udGFpbmVyQ2xhc3MsXG4gIGRpc2FibGVkLFxuICBuYW1lID0gJ3ZhcmlhdGlvbnMnLFxuICBrZXlOYW1lID0gJ3ZhcmlhdGlvbkFycmF5RmllbGRJZCcsXG59OiBQcm9wcykge1xuICBjb25zdCB7IGNvbnRyb2wsIGhvb2tGb3JtIH0gPSB1c2VNZXJjaGlGb3JtQ29udGV4dCgpO1xuICBjb25zdCB7IHdhdGNoIH0gPSBob29rRm9ybTtcbiAgY29uc3QgeyBmaWVsZHMgfSA9IHVzZUZpZWxkQXJyYXkoeyBjb250cm9sLCBrZXlOYW1lLCBuYW1lIH0pO1xuICBjb25zdCBjdXJyZW50VmFyaWF0aW9uczogYW55W10gPSB3YXRjaChuYW1lKSB8fCBbXTtcbiAgLy8gR3JvdXAgZmllbGRzIGNhbiBiZSBnYXRlZCBieSBpbmRlcGVuZGVudCBvcHRpb25zIChhbmQgdmljZSB2ZXJzYSBpcyByYXJlKS5cbiAgLy8gTWlycm9yIHRoZSBzZXJ2ZXI6IGdyb3VwIHNlbGVjdGVkX29wdGlvbnMgPSBncm91cC52YXJpYXRpb25zICsgam9iLnZhcmlhdGlvbnMuXG4gIGNvbnN0IGluZGVwZW5kZW50VmFyaWF0aW9uczogYW55W10gPVxuICAgIG5hbWUgPT09ICd2YXJpYXRpb25zJyA/IFtdIDogd2F0Y2goJ3ZhcmlhdGlvbnMnKSB8fCBbXTtcbiAgY29uc3Qgc2VsZWN0ZWRPcHRpb25JZHMgPSBnZXRTZWxlY3RlZE9wdGlvbklkcyhbXG4gICAgLi4uaW5kZXBlbmRlbnRWYXJpYXRpb25zLFxuICAgIC4uLmN1cnJlbnRWYXJpYXRpb25zLFxuICBdKTtcbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAge2ZpZWxkcy5tYXAoKGZpZWxkSXRlbTogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnQgPSBjdXJyZW50VmFyaWF0aW9uc1tpbmRleF07XG4gICAgICAgIC8vIEZpZWxkLWFycmF5IGl0ZW1zIGFyZSB0aGUgc291cmNlIG9mIHRydXRoIGZvciB2YXJpYXRpb25GaWVsZCAvXG4gICAgICAgIC8vIHNlbGVjdGFibGVPcHRpb25zLiBXYXRjaGVkIHZhbHVlcyBjYW4gb21pdCB0aG9zZSBhZnRlciBhIHZhbHVlLW9ubHlcbiAgICAgICAgLy8gdXBkYXRlOyBuZXZlciBsZXQgdGhhdCBzdHJpcCBtZXRhZGF0YSBvciB0aGUgaW5wdXQgdHJlZSBjcmFzaGVzIGFuZFxuICAgICAgICAvLyB0aGUgZm9ybSBjb2xsYXBzZXMuXG4gICAgICAgIGNvbnN0IHZhcmlhdGlvbiA9IHtcbiAgICAgICAgICAuLi5maWVsZEl0ZW0sXG4gICAgICAgICAgdmFsdWU6IGN1cnJlbnQ/LnZhbHVlID8/IGZpZWxkSXRlbS52YWx1ZSxcbiAgICAgICAgICB2YXJpYXRpb25GaWxlczogY3VycmVudD8udmFyaWF0aW9uRmlsZXMgPz8gZmllbGRJdGVtLnZhcmlhdGlvbkZpbGVzLFxuICAgICAgICAgIG9uY2VPZmZDb3N0OiBjdXJyZW50Py5vbmNlT2ZmQ29zdCA/PyBmaWVsZEl0ZW0ub25jZU9mZkNvc3QsXG4gICAgICAgICAgdW5pdENvc3Q6IGN1cnJlbnQ/LnVuaXRDb3N0ID8/IGZpZWxkSXRlbS51bml0Q29zdCxcbiAgICAgICAgICBjb3N0OiBjdXJyZW50Py5jb3N0ID8/IGZpZWxkSXRlbS5jb3N0LFxuICAgICAgICAgIHNlbGVjdGFibGVPcHRpb25zOlxuICAgICAgICAgICAgY3VycmVudD8uc2VsZWN0YWJsZU9wdGlvbnMgPz8gZmllbGRJdGVtLnNlbGVjdGFibGVPcHRpb25zLFxuICAgICAgICAgIHZhcmlhdGlvbkZpZWxkOiBmaWVsZEl0ZW0udmFyaWF0aW9uRmllbGQgPz8gY3VycmVudD8udmFyaWF0aW9uRmllbGQsXG4gICAgICAgIH07XG4gICAgICAgIGlmICghaXNEeW5hbWljVmFyaWF0aW9uVmlzaWJsZSh2YXJpYXRpb24sIHNlbGVjdGVkT3B0aW9uSWRzKSkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGhpZGVTZWxlY3Rpb24gPSBzaG91bGRIaWRlU2luZ2xlT3B0aW9uU2VsZWN0aW9uKHZhcmlhdGlvbik7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPGZpZWxkc2V0XG4gICAgICAgICAgICBjbGFzc05hbWU9e2hpZGVTZWxlY3Rpb24gPyB1bmRlZmluZWQgOiBjb250YWluZXJDbGFzc31cbiAgICAgICAgICAgIGtleT17ZmllbGRJdGVtW2tleU5hbWVdfVxuICAgICAgICAgICAgbmFtZT17YCR7bmFtZX1bJHtpbmRleH1dYH1cbiAgICAgICAgICAgIGhpZGRlbj17aGlkZVNlbGVjdGlvbn1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8RHluYW1pY1ZhcmlhdGlvbklucHV0XG4gICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgaW5kZXg9e2luZGV4fVxuICAgICAgICAgICAgICBuYW1lPXtuYW1lfVxuICAgICAgICAgICAgICB2YXJpYXRpb249e3ZhcmlhdGlvbn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9maWVsZHNldD5cbiAgICAgICAgKTtcbiAgICAgIH0pfVxuICAgIDwvPlxuICApO1xufVxuXG5leHBvcnQgZGVmYXVsdCBWYXJpYXRpb25zO1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxZQUFZOztBQUFDLFNBQUFBLFFBQUFDLENBQUEsc0NBQUFELE9BQUEsd0JBQUFFLE1BQUEsdUJBQUFBLE1BQUEsQ0FBQUMsUUFBQSxhQUFBRixDQUFBLGtCQUFBQSxDQUFBLGdCQUFBQSxDQUFBLFdBQUFBLENBQUEseUJBQUFDLE1BQUEsSUFBQUQsQ0FBQSxDQUFB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
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
interface Props {
|
|
3
|
+
disabled?: boolean;
|
|
4
|
+
name?: string;
|
|
5
|
+
renderBetweenGroups?: (index: number) => React.ReactNode;
|
|
6
|
+
}
|
|
7
|
+
declare function VariationsGroups({ disabled, name, renderBetweenGroups }: Props): React.JSX.Element;
|
|
8
|
+
export default VariationsGroups;
|