merchi_product_form
Version:
A React component for Merchi product forms
78 lines (77 loc) • 15.7 kB
JavaScript
'use client';
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); }
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; }
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; }
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; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
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); }
import * as React from 'react';
import { useController } from 'react-hook-form';
import VariationError from './VariationError';
import VariationLabel from './VariationLabel';
import VariationFieldOptionDefaultInputs from './VariationFieldOptionDefaultInputs';
import { variationCostDetail } from './utils';
import { useMerchiFormContext } from '../context/MerchiProductFormProvider';
import { jsx as _jsx } from "react/jsx-runtime";
import { jsxs as _jsxs } from "react/jsx-runtime";
var VariationSelect = function VariationSelect(_ref) {
var disabled = _ref.disabled,
name = _ref.name,
variation = _ref.variation;
var _useMerchiFormContext = useMerchiFormContext(),
classNameInputContainer = _useMerchiFormContext.classNameInputContainer,
classNameInput = _useMerchiFormContext.classNameInput,
control = _useMerchiFormContext.control,
hideCost = _useMerchiFormContext.hideCost,
getQuote = _useMerchiFormContext.getQuote;
var _useController = useController({
name: "".concat(name, ".value"),
control: control
}),
field = _useController.field,
_useController$fieldS = _useController.fieldState,
invalid = _useController$fieldS.invalid,
error = _useController$fieldS.error;
var _variation$selectable = variation.selectableOptions,
selectableOptions = _variation$selectable === void 0 ? [] : _variation$selectable,
variationField = variation.variationField;
var _variationField$optio = variationField.options,
options = _variationField$optio === void 0 ? [] : _variationField$optio;
var optionAvailable = function optionAvailable(index) {
return selectableOptions[index] ? selectableOptions[index].available : true;
};
var validationClass = invalid ? 'is-invalid' : '';
return /*#__PURE__*/_jsxs("div", {
className: "".concat(classNameInputContainer, " merchi-input-select-container"),
children: [/*#__PURE__*/_jsx(VariationLabel, {
variationClassName: "merchi-embed-form_input-select",
name: name,
variation: variation
}), options.map(function (option, index) {
return /*#__PURE__*/_jsx("span", {
children: /*#__PURE__*/_jsx(VariationFieldOptionDefaultInputs, {
option: option,
optionName: "".concat(name, ".variationField.options[").concat(index, "]")
})
}, "".concat(name, "-select-option-values-").concat(index));
}), /*#__PURE__*/_jsx("select", _objectSpread(_objectSpread({}, field), {}, {
disabled: disabled,
className: "".concat(classNameInput, " ").concat(validationClass),
onChange: function onChange(e) {
field.onChange(e); // Ensure the original onChange is called
getQuote();
},
children: options.map(function (option, index) {
return /*#__PURE__*/_jsxs("option", {
value: option.id,
disabled: !optionAvailable(index),
children: [option.value, !optionAvailable(index) ? ' - insufficient stock' : '', !hideCost && selectableOptions[index] && variationCostDetail(selectableOptions[index])]
}, "variation-option-".concat(option.id));
})
})), /*#__PURE__*/_jsx(VariationError, {
name: name
})]
});
};
export default VariationSelect;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdHlwZW9mIiwibyIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiY29uc3RydWN0b3IiLCJwcm90b3R5cGUiLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJvYmoiLCJrZXkiLCJ2YWx1ZSIsIl90b1Byb3BlcnR5S2V5IiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJpIiwiX3RvUHJpbWl0aXZlIiwiU3RyaW5nIiwidG9QcmltaXRpdmUiLCJjYWxsIiwiVHlwZUVycm9yIiwiTnVtYmVyIiwiUmVhY3QiLCJ1c2VDb250cm9sbGVyIiwiVmFyaWF0aW9uRXJyb3IiLCJWYXJpYXRpb25MYWJlbCIsIlZhcmlhdGlvbkZpZWxkT3B0aW9uRGVmYXVsdElucHV0cyIsInZhcmlhdGlvbkNvc3REZXRhaWwiLCJ1c2VNZXJjaGlGb3JtQ29udGV4dCIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJWYXJpYXRpb25TZWxlY3QiLCJfcmVmIiwiZGlzYWJsZWQiLCJuYW1lIiwidmFyaWF0aW9uIiwiX3VzZU1lcmNoaUZvcm1Db250ZXh0IiwiY2xhc3NOYW1lSW5wdXRDb250YWluZXIiLCJjbGFzc05hbWVJbnB1dCIsImNvbnRyb2wiLCJoaWRlQ29zdCIsImdldFF1b3RlIiwiX3VzZUNvbnRyb2xsZXIiLCJjb25jYXQiLCJmaWVsZCIsIl91c2VDb250cm9sbGVyJGZpZWxkUyIsImZpZWxkU3RhdGUiLCJpbnZhbGlkIiwiZXJyb3IiLCJfdmFyaWF0aW9uJHNlbGVjdGFibGUiLCJzZWxlY3RhYmxlT3B0aW9ucyIsInZhcmlhdGlvbkZpZWxkIiwiX3ZhcmlhdGlvbkZpZWxkJG9wdGlvIiwib3B0aW9ucyIsIm9wdGlvbkF2YWlsYWJsZSIsImluZGV4IiwiYXZhaWxhYmxlIiwidmFsaWRhdGlvbkNsYXNzIiwiY2xhc3NOYW1lIiwiY2hpbGRyZW4iLCJ2YXJpYXRpb25DbGFzc05hbWUiLCJtYXAiLCJvcHRpb24iLCJvcHRpb25OYW1lIiwib25DaGFuZ2UiLCJpZCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL1ZhcmlhdGlvblNlbGVjdC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnO1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlQ29udHJvbGxlciB9IGZyb20gJ3JlYWN0LWhvb2stZm9ybSc7XG5pbXBvcnQgVmFyaWF0aW9uRXJyb3IgZnJvbSAnLi9WYXJpYXRpb25FcnJvcic7XG5pbXBvcnQgVmFyaWF0aW9uTGFiZWwgZnJvbSAnLi9WYXJpYXRpb25MYWJlbCc7XG5pbXBvcnQgVmFyaWF0aW9uRmllbGRPcHRpb25EZWZhdWx0SW5wdXRzIGZyb20gJy4vVmFyaWF0aW9uRmllbGRPcHRpb25EZWZhdWx0SW5wdXRzJztcbmltcG9ydCB7IHZhcmlhdGlvbkNvc3REZXRhaWwgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IHVzZU1lcmNoaUZvcm1Db250ZXh0IH0gZnJvbSAnLi4vY29udGV4dC9NZXJjaGlQcm9kdWN0Rm9ybVByb3ZpZGVyJztcblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICBuYW1lOiBzdHJpbmc7XG4gIHZhcmlhdGlvbjogYW55O1xufVxuXG5jb25zdCBWYXJpYXRpb25TZWxlY3Q6IFJlYWN0LkZDPFByb3BzPiA9ICh7IGRpc2FibGVkLCBuYW1lLCB2YXJpYXRpb24gfSkgPT4ge1xuICBjb25zdCB7XG4gICAgY2xhc3NOYW1lSW5wdXRDb250YWluZXIsXG4gICAgY2xhc3NOYW1lSW5wdXQsXG4gICAgY29udHJvbCxcbiAgICBoaWRlQ29zdCxcbiAgICBnZXRRdW90ZSxcbiAgfSA9IHVzZU1lcmNoaUZvcm1Db250ZXh0KCk7XG5cbiAgY29uc3Qge1xuICAgIGZpZWxkLFxuICAgIGZpZWxkU3RhdGU6IHsgaW52YWxpZCwgZXJyb3IgfSxcbiAgfSA9IHVzZUNvbnRyb2xsZXIoe1xuICAgIG5hbWU6IGAke25hbWV9LnZhbHVlYCxcbiAgICBjb250cm9sLFxuICB9KTtcblxuICBjb25zdCB7IHNlbGVjdGFibGVPcHRpb25zID0gW10sIHZhcmlhdGlvbkZpZWxkIH0gPSB2YXJpYXRpb247XG4gIGNvbnN0IHsgb3B0aW9ucyA9IFtdIH0gPSB2YXJpYXRpb25GaWVsZDtcblxuICBjb25zdCBvcHRpb25BdmFpbGFibGUgPSAoaW5kZXg6IG51bWJlcikgPT4ge1xuICAgIHJldHVybiBzZWxlY3RhYmxlT3B0aW9uc1tpbmRleF0gPyBzZWxlY3RhYmxlT3B0aW9uc1tpbmRleF0uYXZhaWxhYmxlIDogdHJ1ZTtcbiAgfTtcblxuICBjb25zdCB2YWxpZGF0aW9uQ2xhc3MgPSBpbnZhbGlkID8gJ2lzLWludmFsaWQnIDogJyc7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17YCR7Y2xhc3NOYW1lSW5wdXRDb250YWluZXJ9IG1lcmNoaS1pbnB1dC1zZWxlY3QtY29udGFpbmVyYH0+XG4gICAgICA8VmFyaWF0aW9uTGFiZWxcbiAgICAgICAgdmFyaWF0aW9uQ2xhc3NOYW1lPSdtZXJjaGktZW1iZWQtZm9ybV9pbnB1dC1zZWxlY3QnXG4gICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgIHZhcmlhdGlvbj17dmFyaWF0aW9ufVxuICAgICAgLz5cbiAgICAgIHtvcHRpb25zLm1hcCgob3B0aW9uOiBhbnksIGluZGV4OiBudW1iZXIpID0+IChcbiAgICAgICAgPHNwYW4ga2V5PXtgJHtuYW1lfS1zZWxlY3Qtb3B0aW9uLXZhbHVlcy0ke2luZGV4fWB9PlxuICAgICAgICAgIDxWYXJpYXRpb25GaWVsZE9wdGlvbkRlZmF1bHRJbnB1dHNcbiAgICAgICAgICAgIG9wdGlvbj17b3B0aW9ufVxuICAgICAgICAgICAgb3B0aW9uTmFtZT17YCR7bmFtZX0udmFyaWF0aW9uRmllbGQub3B0aW9uc1ske2luZGV4fV1gfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICkpfVxuICAgICAgPHNlbGVjdFxuICAgICAgICB7Li4uZmllbGR9XG4gICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgY2xhc3NOYW1lPXtgJHtjbGFzc05hbWVJbnB1dH0gJHt2YWxpZGF0aW9uQ2xhc3N9YH1cbiAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiB7XG4gICAgICAgICAgZmllbGQub25DaGFuZ2UoZSk7IC8vIEVuc3VyZSB0aGUgb3JpZ2luYWwgb25DaGFuZ2UgaXMgY2FsbGVkXG4gICAgICAgICAgZ2V0UXVvdGUoKTtcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAge29wdGlvbnMubWFwKChvcHRpb246IGFueSwgaW5kZXg6IG51bWJlcikgPT4gKFxuICAgICAgICAgIDxvcHRpb25cbiAgICAgICAgICAgIHZhbHVlPXtvcHRpb24uaWR9XG4gICAgICAgICAgICBkaXNhYmxlZD17IW9wdGlvbkF2YWlsYWJsZShpbmRleCl9XG4gICAgICAgICAgICBrZXk9e2B2YXJpYXRpb24tb3B0aW9uLSR7b3B0aW9uLmlkfWB9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge29wdGlvbi52YWx1ZX1cbiAgICAgICAgICAgIHshb3B0aW9uQXZhaWxhYmxlKGluZGV4KSA/ICcgLSBpbnN1ZmZpY2llbnQgc3RvY2snIDogJyd9XG4gICAgICAgICAgICB7IWhpZGVDb3N0ICYmXG4gICAgICAgICAgICAgIHNlbGVjdGFibGVPcHRpb25zW2luZGV4XSAmJlxuICAgICAgICAgICAgICB2YXJpYXRpb25Db3N0RGV0YWlsKHNlbGVjdGFibGVPcHRpb25zW2luZGV4XSl9XG4gICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICkpfVxuICAgICAgPC9zZWxlY3Q+XG4gICAgICA8VmFyaWF0aW9uRXJyb3IgbmFtZT17bmFtZX0gLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFZhcmlhdGlvblNlbGVjdDtcbiJdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTs7QUFBQyxTQUFBQSxRQUFBQyxDQUFBLHNDQUFBRCxPQUFBLHdCQUFBRSxNQUFBLHVCQUFBQSxNQUFBLENBQUFDLFFBQUEsYUFBQUYsQ0FBQSxrQkFBQUEsQ0FBQSxnQkFBQUEsQ0FBQSxXQUFBQSxDQUFBLHlCQUFBQyxNQUFBLElBQUFELENBQUEsQ0FBQUcsV0FBQSxLQUFBRixNQUFBLElBQUFELENBQUEsS0FBQUMsTUFBQSxDQUFBRyxTQUFBLHFCQUFBSixDQUFBLEtBQUFELE9BQUEsQ0FBQUMsQ0FBQTtBQUFBLFNBQUFLLFFBQUFDLENBQUEsRUFBQUMsQ0FBQSxRQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsSUFBQSxDQUFBSixDQUFBLE9BQUFHLE1BQUEsQ0FBQUUscUJBQUEsUUFBQVgsQ0FBQSxHQUFBUyxNQUFBLENBQUFFLHFCQUFBLENBQUFMLENBQUEsR0FBQUMsQ0FBQSxLQUFBUCxDQUFBLEdBQUFBLENBQUEsQ0FBQVksTUFBQSxXQUFBTCxDQUFBLFdBQUFFLE1BQUEsQ0FBQUksd0JBQUEsQ0FBQVAsQ0FBQSxFQUFBQyxDQUFBLEVBQUFPLFVBQUEsT0FBQU4sQ0FBQSxDQUFBTyxJQUFBLENBQUFDLEtBQUEsQ0FBQVIsQ0FBQSxFQUFBUixDQUFBLFlBQUFRLENBQUE7QUFBQSxTQUFBUyxjQUFBWCxDQUFBLGFBQUFDLENBQUEsTUFBQUEsQ0FBQSxHQUFBVyxTQUFBLENBQUFDLE1BQUEsRUFBQVosQ0FBQSxVQUFBQyxDQUFBLFdBQUFVLFNBQUEsQ0FBQVgsQ0FBQSxJQUFBVyxTQUFBLENBQUFYLENBQUEsUUFBQUEsQ0FBQSxPQUFBRixPQUFBLENBQUFJLE1BQUEsQ0FBQUQsQ0FBQSxP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