@orderingstack/front-components-product-configurator 1.2.2 → 1.3.0

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 (47) hide show
  1. package/dist/components/Counter/Counter.d.ts +1 -0
  2. package/dist/components/Counter/Counter.d.ts.map +1 -1
  3. package/dist/components/DisplayState/DisplayState.d.ts +1 -0
  4. package/dist/components/DisplayState/DisplayState.d.ts.map +1 -1
  5. package/dist/components/GroupStateInfo/GroupStateInfo.d.ts +1 -0
  6. package/dist/components/GroupStateInfo/GroupStateInfo.d.ts.map +1 -1
  7. package/dist/components/InfoLine/InfoLine.d.ts +1 -0
  8. package/dist/components/InfoLine/InfoLine.d.ts.map +1 -1
  9. package/dist/components/MenuItemsDispatcher/MenuItemsDispatcher.d.ts +1 -0
  10. package/dist/components/MenuItemsDispatcher/MenuItemsDispatcher.d.ts.map +1 -1
  11. package/dist/components/MenuOptions/MenuOptions.d.ts +1 -0
  12. package/dist/components/MenuOptions/MenuOptions.d.ts.map +1 -1
  13. package/dist/components/MenuOptions/MenuOptionsDefaultUI.d.ts +1 -0
  14. package/dist/components/MenuOptions/MenuOptionsDefaultUI.d.ts.map +1 -1
  15. package/dist/components/MenuProduct/MenuProduct.d.ts +1 -0
  16. package/dist/components/MenuProduct/MenuProduct.d.ts.map +1 -1
  17. package/dist/components/MenuProductRoot/MenuProductRoot.d.ts +1 -0
  18. package/dist/components/MenuProductRoot/MenuProductRoot.d.ts.map +1 -1
  19. package/dist/components/MenuProductRoot/MenuProductRootDefaultUI.d.ts +1 -0
  20. package/dist/components/MenuProductRoot/MenuProductRootDefaultUI.d.ts.map +1 -1
  21. package/dist/components/MenuProductRoot/MenuProductRootDefaultUIModal.d.ts +1 -0
  22. package/dist/components/MenuProductRoot/MenuProductRootDefaultUIModal.d.ts.map +1 -1
  23. package/dist/components/Price/Price.d.ts +1 -0
  24. package/dist/components/Price/Price.d.ts.map +1 -1
  25. package/dist/components/ProductConfigurator/ProductConfigurator.d.ts +1 -0
  26. package/dist/components/ProductConfigurator/ProductConfigurator.d.ts.map +1 -1
  27. package/dist/components/ProductConfigurator/useProductConfigurator.d.ts.map +1 -1
  28. package/dist/components/SimpleCheckbox/SimpleCheckbox.d.ts +1 -0
  29. package/dist/components/SimpleCheckbox/SimpleCheckbox.d.ts.map +1 -1
  30. package/dist/components/SimpleRadio/SimpleRadio.d.ts +1 -0
  31. package/dist/components/SimpleRadio/SimpleRadio.d.ts.map +1 -1
  32. package/dist/components/SubmitRow/SubmitRow.d.ts +1 -0
  33. package/dist/components/SubmitRow/SubmitRow.d.ts.map +1 -1
  34. package/dist/context/Components.d.ts +3 -11
  35. package/dist/context/Components.d.ts.map +1 -1
  36. package/dist/context/ProductData.d.ts +11 -0
  37. package/dist/context/ProductData.d.ts.map +1 -0
  38. package/dist/index.cjs.js +6 -9
  39. package/dist/index.cjs.js.map +1 -1
  40. package/dist/index.es.js +480 -186
  41. package/dist/index.es.js.map +1 -1
  42. package/dist/types/index.d.ts +1 -0
  43. package/dist/types/index.d.ts.map +1 -1
  44. package/dist/utils/getSelCtxCntFromSelectedState.d.ts.map +1 -1
  45. package/dist/utils/getValidSelectedState.d.ts +5 -0
  46. package/dist/utils/getValidSelectedState.d.ts.map +1 -0
  47. package/package.json +88 -88
package/dist/index.es.js CHANGED
@@ -5129,12 +5129,12 @@ var root = freeGlobal$1 || freeSelf || Function("return this")();
5129
5129
  var root$1 = root;
5130
5130
  var Symbol$1 = root$1.Symbol;
5131
5131
  var Symbol$2 = Symbol$1;
5132
- var objectProto$c = Object.prototype;
5133
- var hasOwnProperty$a = objectProto$c.hasOwnProperty;
5134
- var nativeObjectToString$1 = objectProto$c.toString;
5132
+ var objectProto$f = Object.prototype;
5133
+ var hasOwnProperty$c = objectProto$f.hasOwnProperty;
5134
+ var nativeObjectToString$1 = objectProto$f.toString;
5135
5135
  var symToStringTag$1 = Symbol$2 ? Symbol$2.toStringTag : void 0;
5136
5136
  function getRawTag(value) {
5137
- var isOwn = hasOwnProperty$a.call(value, symToStringTag$1), tag = value[symToStringTag$1];
5137
+ var isOwn = hasOwnProperty$c.call(value, symToStringTag$1), tag = value[symToStringTag$1];
5138
5138
  try {
5139
5139
  value[symToStringTag$1] = void 0;
5140
5140
  var unmasked = true;
@@ -5150,8 +5150,8 @@ function getRawTag(value) {
5150
5150
  }
5151
5151
  return result;
5152
5152
  }
5153
- var objectProto$b = Object.prototype;
5154
- var nativeObjectToString = objectProto$b.toString;
5153
+ var objectProto$e = Object.prototype;
5154
+ var nativeObjectToString = objectProto$e.toString;
5155
5155
  function objectToString(value) {
5156
5156
  return nativeObjectToString.call(value);
5157
5157
  }
@@ -5166,9 +5166,9 @@ function baseGetTag(value) {
5166
5166
  function isObjectLike(value) {
5167
5167
  return value != null && typeof value == "object";
5168
5168
  }
5169
- var symbolTag$1 = "[object Symbol]";
5169
+ var symbolTag$3 = "[object Symbol]";
5170
5170
  function isSymbol(value) {
5171
- return typeof value == "symbol" || isObjectLike(value) && baseGetTag(value) == symbolTag$1;
5171
+ return typeof value == "symbol" || isObjectLike(value) && baseGetTag(value) == symbolTag$3;
5172
5172
  }
5173
5173
  var isArray = Array.isArray;
5174
5174
  var isArray$1 = isArray;
@@ -5222,13 +5222,13 @@ function toFinite(value) {
5222
5222
  }
5223
5223
  return value === value ? value : 0;
5224
5224
  }
5225
- var asyncTag = "[object AsyncFunction]", funcTag$1 = "[object Function]", genTag = "[object GeneratorFunction]", proxyTag = "[object Proxy]";
5225
+ var asyncTag = "[object AsyncFunction]", funcTag$2 = "[object Function]", genTag$1 = "[object GeneratorFunction]", proxyTag = "[object Proxy]";
5226
5226
  function isFunction(value) {
5227
5227
  if (!isObject(value)) {
5228
5228
  return false;
5229
5229
  }
5230
5230
  var tag = baseGetTag(value);
5231
- return tag == funcTag$1 || tag == genTag || tag == asyncTag || tag == proxyTag;
5231
+ return tag == funcTag$2 || tag == genTag$1 || tag == asyncTag || tag == proxyTag;
5232
5232
  }
5233
5233
  var coreJsData = root$1["__core-js_shared__"];
5234
5234
  var coreJsData$1 = coreJsData;
@@ -5256,11 +5256,11 @@ function toSource(func) {
5256
5256
  }
5257
5257
  var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
5258
5258
  var reIsHostCtor = /^\[object .+?Constructor\]$/;
5259
- var funcProto = Function.prototype, objectProto$a = Object.prototype;
5259
+ var funcProto = Function.prototype, objectProto$d = Object.prototype;
5260
5260
  var funcToString = funcProto.toString;
5261
- var hasOwnProperty$9 = objectProto$a.hasOwnProperty;
5261
+ var hasOwnProperty$b = objectProto$d.hasOwnProperty;
5262
5262
  var reIsNative = RegExp(
5263
- "^" + funcToString.call(hasOwnProperty$9).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
5263
+ "^" + funcToString.call(hasOwnProperty$b).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
5264
5264
  );
5265
5265
  function baseIsNative(value) {
5266
5266
  if (!isObject(value) || isMasked(value)) {
@@ -5278,6 +5278,50 @@ function getNative(object, key) {
5278
5278
  }
5279
5279
  var WeakMap = getNative(root$1, "WeakMap");
5280
5280
  var WeakMap$1 = WeakMap;
5281
+ var objectCreate = Object.create;
5282
+ var baseCreate = function() {
5283
+ function object() {
5284
+ }
5285
+ return function(proto) {
5286
+ if (!isObject(proto)) {
5287
+ return {};
5288
+ }
5289
+ if (objectCreate) {
5290
+ return objectCreate(proto);
5291
+ }
5292
+ object.prototype = proto;
5293
+ var result = new object();
5294
+ object.prototype = void 0;
5295
+ return result;
5296
+ };
5297
+ }();
5298
+ var baseCreate$1 = baseCreate;
5299
+ function copyArray(source, array) {
5300
+ var index = -1, length = source.length;
5301
+ array || (array = Array(length));
5302
+ while (++index < length) {
5303
+ array[index] = source[index];
5304
+ }
5305
+ return array;
5306
+ }
5307
+ var defineProperty = function() {
5308
+ try {
5309
+ var func = getNative(Object, "defineProperty");
5310
+ func({}, "", {});
5311
+ return func;
5312
+ } catch (e2) {
5313
+ }
5314
+ }();
5315
+ var defineProperty$1 = defineProperty;
5316
+ function arrayEach(array, iteratee) {
5317
+ var index = -1, length = array == null ? 0 : array.length;
5318
+ while (++index < length) {
5319
+ if (iteratee(array[index], index, array) === false) {
5320
+ break;
5321
+ }
5322
+ }
5323
+ return array;
5324
+ }
5281
5325
  var MAX_SAFE_INTEGER$1 = 9007199254740991;
5282
5326
  var reIsUint = /^(?:0|[1-9]\d*)$/;
5283
5327
  function isIndex(value, length) {
@@ -5285,9 +5329,47 @@ function isIndex(value, length) {
5285
5329
  length = length == null ? MAX_SAFE_INTEGER$1 : length;
5286
5330
  return !!length && (type == "number" || type != "symbol" && reIsUint.test(value)) && (value > -1 && value % 1 == 0 && value < length);
5287
5331
  }
5332
+ function baseAssignValue(object, key, value) {
5333
+ if (key == "__proto__" && defineProperty$1) {
5334
+ defineProperty$1(object, key, {
5335
+ "configurable": true,
5336
+ "enumerable": true,
5337
+ "value": value,
5338
+ "writable": true
5339
+ });
5340
+ } else {
5341
+ object[key] = value;
5342
+ }
5343
+ }
5288
5344
  function eq(value, other) {
5289
5345
  return value === other || value !== value && other !== other;
5290
5346
  }
5347
+ var objectProto$c = Object.prototype;
5348
+ var hasOwnProperty$a = objectProto$c.hasOwnProperty;
5349
+ function assignValue(object, key, value) {
5350
+ var objValue = object[key];
5351
+ if (!(hasOwnProperty$a.call(object, key) && eq(objValue, value)) || value === void 0 && !(key in object)) {
5352
+ baseAssignValue(object, key, value);
5353
+ }
5354
+ }
5355
+ function copyObject(source, props, object, customizer) {
5356
+ var isNew = !object;
5357
+ object || (object = {});
5358
+ var index = -1, length = props.length;
5359
+ while (++index < length) {
5360
+ var key = props[index];
5361
+ var newValue = customizer ? customizer(object[key], source[key], key, object, source) : void 0;
5362
+ if (newValue === void 0) {
5363
+ newValue = source[key];
5364
+ }
5365
+ if (isNew) {
5366
+ baseAssignValue(object, key, newValue);
5367
+ } else {
5368
+ assignValue(object, key, newValue);
5369
+ }
5370
+ }
5371
+ return object;
5372
+ }
5291
5373
  var MAX_SAFE_INTEGER = 9007199254740991;
5292
5374
  function isLength(value) {
5293
5375
  return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
@@ -5295,9 +5377,9 @@ function isLength(value) {
5295
5377
  function isArrayLike(value) {
5296
5378
  return value != null && isLength(value.length) && !isFunction(value);
5297
5379
  }
5298
- var objectProto$9 = Object.prototype;
5380
+ var objectProto$b = Object.prototype;
5299
5381
  function isPrototype(value) {
5300
- var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto$9;
5382
+ var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto$b;
5301
5383
  return value === proto;
5302
5384
  }
5303
5385
  function baseTimes(n2, iteratee) {
@@ -5307,34 +5389,34 @@ function baseTimes(n2, iteratee) {
5307
5389
  }
5308
5390
  return result;
5309
5391
  }
5310
- var argsTag$2 = "[object Arguments]";
5392
+ var argsTag$3 = "[object Arguments]";
5311
5393
  function baseIsArguments(value) {
5312
- return isObjectLike(value) && baseGetTag(value) == argsTag$2;
5394
+ return isObjectLike(value) && baseGetTag(value) == argsTag$3;
5313
5395
  }
5314
- var objectProto$8 = Object.prototype;
5315
- var hasOwnProperty$8 = objectProto$8.hasOwnProperty;
5316
- var propertyIsEnumerable$1 = objectProto$8.propertyIsEnumerable;
5396
+ var objectProto$a = Object.prototype;
5397
+ var hasOwnProperty$9 = objectProto$a.hasOwnProperty;
5398
+ var propertyIsEnumerable$1 = objectProto$a.propertyIsEnumerable;
5317
5399
  var isArguments = baseIsArguments(function() {
5318
5400
  return arguments;
5319
5401
  }()) ? baseIsArguments : function(value) {
5320
- return isObjectLike(value) && hasOwnProperty$8.call(value, "callee") && !propertyIsEnumerable$1.call(value, "callee");
5402
+ return isObjectLike(value) && hasOwnProperty$9.call(value, "callee") && !propertyIsEnumerable$1.call(value, "callee");
5321
5403
  };
5322
5404
  var isArguments$1 = isArguments;
5323
5405
  function stubFalse() {
5324
5406
  return false;
5325
5407
  }
5326
- var freeExports$1 = typeof exports == "object" && exports && !exports.nodeType && exports;
5327
- var freeModule$1 = freeExports$1 && typeof module == "object" && module && !module.nodeType && module;
5328
- var moduleExports$1 = freeModule$1 && freeModule$1.exports === freeExports$1;
5329
- var Buffer = moduleExports$1 ? root$1.Buffer : void 0;
5330
- var nativeIsBuffer = Buffer ? Buffer.isBuffer : void 0;
5408
+ var freeExports$2 = typeof exports == "object" && exports && !exports.nodeType && exports;
5409
+ var freeModule$2 = freeExports$2 && typeof module == "object" && module && !module.nodeType && module;
5410
+ var moduleExports$2 = freeModule$2 && freeModule$2.exports === freeExports$2;
5411
+ var Buffer$1 = moduleExports$2 ? root$1.Buffer : void 0;
5412
+ var nativeIsBuffer = Buffer$1 ? Buffer$1.isBuffer : void 0;
5331
5413
  var isBuffer = nativeIsBuffer || stubFalse;
5332
5414
  var isBuffer$1 = isBuffer;
5333
- var argsTag$1 = "[object Arguments]", arrayTag$1 = "[object Array]", boolTag$1 = "[object Boolean]", dateTag$1 = "[object Date]", errorTag$1 = "[object Error]", funcTag = "[object Function]", mapTag$3 = "[object Map]", numberTag$1 = "[object Number]", objectTag$2 = "[object Object]", regexpTag$1 = "[object RegExp]", setTag$3 = "[object Set]", stringTag$1 = "[object String]", weakMapTag$1 = "[object WeakMap]";
5334
- var arrayBufferTag$1 = "[object ArrayBuffer]", dataViewTag$2 = "[object DataView]", float32Tag = "[object Float32Array]", float64Tag = "[object Float64Array]", int8Tag = "[object Int8Array]", int16Tag = "[object Int16Array]", int32Tag = "[object Int32Array]", uint8Tag = "[object Uint8Array]", uint8ClampedTag = "[object Uint8ClampedArray]", uint16Tag = "[object Uint16Array]", uint32Tag = "[object Uint32Array]";
5415
+ var argsTag$2 = "[object Arguments]", arrayTag$2 = "[object Array]", boolTag$3 = "[object Boolean]", dateTag$3 = "[object Date]", errorTag$2 = "[object Error]", funcTag$1 = "[object Function]", mapTag$6 = "[object Map]", numberTag$3 = "[object Number]", objectTag$3 = "[object Object]", regexpTag$3 = "[object RegExp]", setTag$6 = "[object Set]", stringTag$3 = "[object String]", weakMapTag$2 = "[object WeakMap]";
5416
+ var arrayBufferTag$3 = "[object ArrayBuffer]", dataViewTag$4 = "[object DataView]", float32Tag$2 = "[object Float32Array]", float64Tag$2 = "[object Float64Array]", int8Tag$2 = "[object Int8Array]", int16Tag$2 = "[object Int16Array]", int32Tag$2 = "[object Int32Array]", uint8Tag$2 = "[object Uint8Array]", uint8ClampedTag$2 = "[object Uint8ClampedArray]", uint16Tag$2 = "[object Uint16Array]", uint32Tag$2 = "[object Uint32Array]";
5335
5417
  var typedArrayTags = {};
5336
- typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true;
5337
- typedArrayTags[argsTag$1] = typedArrayTags[arrayTag$1] = typedArrayTags[arrayBufferTag$1] = typedArrayTags[boolTag$1] = typedArrayTags[dataViewTag$2] = typedArrayTags[dateTag$1] = typedArrayTags[errorTag$1] = typedArrayTags[funcTag] = typedArrayTags[mapTag$3] = typedArrayTags[numberTag$1] = typedArrayTags[objectTag$2] = typedArrayTags[regexpTag$1] = typedArrayTags[setTag$3] = typedArrayTags[stringTag$1] = typedArrayTags[weakMapTag$1] = false;
5418
+ typedArrayTags[float32Tag$2] = typedArrayTags[float64Tag$2] = typedArrayTags[int8Tag$2] = typedArrayTags[int16Tag$2] = typedArrayTags[int32Tag$2] = typedArrayTags[uint8Tag$2] = typedArrayTags[uint8ClampedTag$2] = typedArrayTags[uint16Tag$2] = typedArrayTags[uint32Tag$2] = true;
5419
+ typedArrayTags[argsTag$2] = typedArrayTags[arrayTag$2] = typedArrayTags[arrayBufferTag$3] = typedArrayTags[boolTag$3] = typedArrayTags[dataViewTag$4] = typedArrayTags[dateTag$3] = typedArrayTags[errorTag$2] = typedArrayTags[funcTag$1] = typedArrayTags[mapTag$6] = typedArrayTags[numberTag$3] = typedArrayTags[objectTag$3] = typedArrayTags[regexpTag$3] = typedArrayTags[setTag$6] = typedArrayTags[stringTag$3] = typedArrayTags[weakMapTag$2] = false;
5338
5420
  function baseIsTypedArray(value) {
5339
5421
  return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[baseGetTag(value)];
5340
5422
  }
@@ -5343,13 +5425,13 @@ function baseUnary(func) {
5343
5425
  return func(value);
5344
5426
  };
5345
5427
  }
5346
- var freeExports = typeof exports == "object" && exports && !exports.nodeType && exports;
5347
- var freeModule = freeExports && typeof module == "object" && module && !module.nodeType && module;
5348
- var moduleExports = freeModule && freeModule.exports === freeExports;
5349
- var freeProcess = moduleExports && freeGlobal$1.process;
5428
+ var freeExports$1 = typeof exports == "object" && exports && !exports.nodeType && exports;
5429
+ var freeModule$1 = freeExports$1 && typeof module == "object" && module && !module.nodeType && module;
5430
+ var moduleExports$1 = freeModule$1 && freeModule$1.exports === freeExports$1;
5431
+ var freeProcess = moduleExports$1 && freeGlobal$1.process;
5350
5432
  var nodeUtil = function() {
5351
5433
  try {
5352
- var types = freeModule && freeModule.require && freeModule.require("util").types;
5434
+ var types = freeModule$1 && freeModule$1.require && freeModule$1.require("util").types;
5353
5435
  if (types) {
5354
5436
  return types;
5355
5437
  }
@@ -5361,12 +5443,12 @@ var nodeUtil$1 = nodeUtil;
5361
5443
  var nodeIsTypedArray = nodeUtil$1 && nodeUtil$1.isTypedArray;
5362
5444
  var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
5363
5445
  var isTypedArray$1 = isTypedArray;
5364
- var objectProto$7 = Object.prototype;
5365
- var hasOwnProperty$7 = objectProto$7.hasOwnProperty;
5446
+ var objectProto$9 = Object.prototype;
5447
+ var hasOwnProperty$8 = objectProto$9.hasOwnProperty;
5366
5448
  function arrayLikeKeys(value, inherited) {
5367
5449
  var isArr = isArray$1(value), isArg = !isArr && isArguments$1(value), isBuff = !isArr && !isArg && isBuffer$1(value), isType = !isArr && !isArg && !isBuff && isTypedArray$1(value), skipIndexes = isArr || isArg || isBuff || isType, result = skipIndexes ? baseTimes(value.length, String) : [], length = result.length;
5368
5450
  for (var key in value) {
5369
- if ((inherited || hasOwnProperty$7.call(value, key)) && !(skipIndexes && (key == "length" || isBuff && (key == "offset" || key == "parent") || isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || isIndex(key, length)))) {
5451
+ if ((inherited || hasOwnProperty$8.call(value, key)) && !(skipIndexes && (key == "length" || isBuff && (key == "offset" || key == "parent") || isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || isIndex(key, length)))) {
5370
5452
  result.push(key);
5371
5453
  }
5372
5454
  }
@@ -5379,15 +5461,15 @@ function overArg(func, transform) {
5379
5461
  }
5380
5462
  var nativeKeys = overArg(Object.keys, Object);
5381
5463
  var nativeKeys$1 = nativeKeys;
5382
- var objectProto$6 = Object.prototype;
5383
- var hasOwnProperty$6 = objectProto$6.hasOwnProperty;
5464
+ var objectProto$8 = Object.prototype;
5465
+ var hasOwnProperty$7 = objectProto$8.hasOwnProperty;
5384
5466
  function baseKeys(object) {
5385
5467
  if (!isPrototype(object)) {
5386
5468
  return nativeKeys$1(object);
5387
5469
  }
5388
5470
  var result = [];
5389
5471
  for (var key in Object(object)) {
5390
- if (hasOwnProperty$6.call(object, key) && key != "constructor") {
5472
+ if (hasOwnProperty$7.call(object, key) && key != "constructor") {
5391
5473
  result.push(key);
5392
5474
  }
5393
5475
  }
@@ -5396,6 +5478,32 @@ function baseKeys(object) {
5396
5478
  function keys(object) {
5397
5479
  return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);
5398
5480
  }
5481
+ function nativeKeysIn(object) {
5482
+ var result = [];
5483
+ if (object != null) {
5484
+ for (var key in Object(object)) {
5485
+ result.push(key);
5486
+ }
5487
+ }
5488
+ return result;
5489
+ }
5490
+ var objectProto$7 = Object.prototype;
5491
+ var hasOwnProperty$6 = objectProto$7.hasOwnProperty;
5492
+ function baseKeysIn(object) {
5493
+ if (!isObject(object)) {
5494
+ return nativeKeysIn(object);
5495
+ }
5496
+ var isProto = isPrototype(object), result = [];
5497
+ for (var key in object) {
5498
+ if (!(key == "constructor" && (isProto || !hasOwnProperty$6.call(object, key)))) {
5499
+ result.push(key);
5500
+ }
5501
+ }
5502
+ return result;
5503
+ }
5504
+ function keysIn(object) {
5505
+ return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);
5506
+ }
5399
5507
  var nativeCreate = getNative(Object, "create");
5400
5508
  var nativeCreate$1 = nativeCreate;
5401
5509
  function hashClear() {
@@ -5408,8 +5516,8 @@ function hashDelete(key) {
5408
5516
  return result;
5409
5517
  }
5410
5518
  var HASH_UNDEFINED$2 = "__lodash_hash_undefined__";
5411
- var objectProto$5 = Object.prototype;
5412
- var hasOwnProperty$5 = objectProto$5.hasOwnProperty;
5519
+ var objectProto$6 = Object.prototype;
5520
+ var hasOwnProperty$5 = objectProto$6.hasOwnProperty;
5413
5521
  function hashGet(key) {
5414
5522
  var data = this.__data__;
5415
5523
  if (nativeCreate$1) {
@@ -5418,8 +5526,8 @@ function hashGet(key) {
5418
5526
  }
5419
5527
  return hasOwnProperty$5.call(data, key) ? data[key] : void 0;
5420
5528
  }
5421
- var objectProto$4 = Object.prototype;
5422
- var hasOwnProperty$4 = objectProto$4.hasOwnProperty;
5529
+ var objectProto$5 = Object.prototype;
5530
+ var hasOwnProperty$4 = objectProto$5.hasOwnProperty;
5423
5531
  function hashHas(key) {
5424
5532
  var data = this.__data__;
5425
5533
  return nativeCreate$1 ? data[key] !== void 0 : hasOwnProperty$4.call(data, key);
@@ -5558,6 +5666,8 @@ function arrayPush(array, values) {
5558
5666
  }
5559
5667
  return array;
5560
5668
  }
5669
+ var getPrototype = overArg(Object.getPrototypeOf, Object);
5670
+ var getPrototype$1 = getPrototype;
5561
5671
  function stackClear() {
5562
5672
  this.__data__ = new ListCache();
5563
5673
  this.size = 0;
@@ -5598,6 +5708,24 @@ Stack.prototype["delete"] = stackDelete;
5598
5708
  Stack.prototype.get = stackGet;
5599
5709
  Stack.prototype.has = stackHas;
5600
5710
  Stack.prototype.set = stackSet;
5711
+ function baseAssign(object, source) {
5712
+ return object && copyObject(source, keys(source), object);
5713
+ }
5714
+ function baseAssignIn(object, source) {
5715
+ return object && copyObject(source, keysIn(source), object);
5716
+ }
5717
+ var freeExports = typeof exports == "object" && exports && !exports.nodeType && exports;
5718
+ var freeModule = freeExports && typeof module == "object" && module && !module.nodeType && module;
5719
+ var moduleExports = freeModule && freeModule.exports === freeExports;
5720
+ var Buffer = moduleExports ? root$1.Buffer : void 0, allocUnsafe = Buffer ? Buffer.allocUnsafe : void 0;
5721
+ function cloneBuffer(buffer, isDeep) {
5722
+ if (isDeep) {
5723
+ return buffer.slice();
5724
+ }
5725
+ var length = buffer.length, result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);
5726
+ buffer.copy(result);
5727
+ return result;
5728
+ }
5601
5729
  function arrayFilter(array, predicate) {
5602
5730
  var index = -1, length = array == null ? 0 : array.length, resIndex = 0, result = [];
5603
5731
  while (++index < length) {
@@ -5611,19 +5739,35 @@ function arrayFilter(array, predicate) {
5611
5739
  function stubArray() {
5612
5740
  return [];
5613
5741
  }
5614
- var objectProto$3 = Object.prototype;
5615
- var propertyIsEnumerable = objectProto$3.propertyIsEnumerable;
5616
- var nativeGetSymbols = Object.getOwnPropertySymbols;
5617
- var getSymbols = !nativeGetSymbols ? stubArray : function(object) {
5742
+ var objectProto$4 = Object.prototype;
5743
+ var propertyIsEnumerable = objectProto$4.propertyIsEnumerable;
5744
+ var nativeGetSymbols$1 = Object.getOwnPropertySymbols;
5745
+ var getSymbols = !nativeGetSymbols$1 ? stubArray : function(object) {
5618
5746
  if (object == null) {
5619
5747
  return [];
5620
5748
  }
5621
5749
  object = Object(object);
5622
- return arrayFilter(nativeGetSymbols(object), function(symbol) {
5750
+ return arrayFilter(nativeGetSymbols$1(object), function(symbol) {
5623
5751
  return propertyIsEnumerable.call(object, symbol);
5624
5752
  });
5625
5753
  };
5626
5754
  var getSymbols$1 = getSymbols;
5755
+ function copySymbols(source, object) {
5756
+ return copyObject(source, getSymbols$1(source), object);
5757
+ }
5758
+ var nativeGetSymbols = Object.getOwnPropertySymbols;
5759
+ var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {
5760
+ var result = [];
5761
+ while (object) {
5762
+ arrayPush(result, getSymbols$1(object));
5763
+ object = getPrototype$1(object);
5764
+ }
5765
+ return result;
5766
+ };
5767
+ var getSymbolsIn$1 = getSymbolsIn;
5768
+ function copySymbolsIn(source, object) {
5769
+ return copyObject(source, getSymbolsIn$1(source), object);
5770
+ }
5627
5771
  function baseGetAllKeys(object, keysFunc, symbolsFunc) {
5628
5772
  var result = keysFunc(object);
5629
5773
  return isArray$1(object) ? result : arrayPush(result, symbolsFunc(object));
@@ -5631,39 +5775,197 @@ function baseGetAllKeys(object, keysFunc, symbolsFunc) {
5631
5775
  function getAllKeys(object) {
5632
5776
  return baseGetAllKeys(object, keys, getSymbols$1);
5633
5777
  }
5778
+ function getAllKeysIn(object) {
5779
+ return baseGetAllKeys(object, keysIn, getSymbolsIn$1);
5780
+ }
5634
5781
  var DataView = getNative(root$1, "DataView");
5635
5782
  var DataView$1 = DataView;
5636
5783
  var Promise$1 = getNative(root$1, "Promise");
5637
5784
  var Promise$2 = Promise$1;
5638
5785
  var Set$1 = getNative(root$1, "Set");
5639
5786
  var Set$2 = Set$1;
5640
- var mapTag$2 = "[object Map]", objectTag$1 = "[object Object]", promiseTag = "[object Promise]", setTag$2 = "[object Set]", weakMapTag = "[object WeakMap]";
5641
- var dataViewTag$1 = "[object DataView]";
5787
+ var mapTag$5 = "[object Map]", objectTag$2 = "[object Object]", promiseTag = "[object Promise]", setTag$5 = "[object Set]", weakMapTag$1 = "[object WeakMap]";
5788
+ var dataViewTag$3 = "[object DataView]";
5642
5789
  var dataViewCtorString = toSource(DataView$1), mapCtorString = toSource(Map$2), promiseCtorString = toSource(Promise$2), setCtorString = toSource(Set$2), weakMapCtorString = toSource(WeakMap$1);
5643
5790
  var getTag = baseGetTag;
5644
- if (DataView$1 && getTag(new DataView$1(new ArrayBuffer(1))) != dataViewTag$1 || Map$2 && getTag(new Map$2()) != mapTag$2 || Promise$2 && getTag(Promise$2.resolve()) != promiseTag || Set$2 && getTag(new Set$2()) != setTag$2 || WeakMap$1 && getTag(new WeakMap$1()) != weakMapTag) {
5791
+ if (DataView$1 && getTag(new DataView$1(new ArrayBuffer(1))) != dataViewTag$3 || Map$2 && getTag(new Map$2()) != mapTag$5 || Promise$2 && getTag(Promise$2.resolve()) != promiseTag || Set$2 && getTag(new Set$2()) != setTag$5 || WeakMap$1 && getTag(new WeakMap$1()) != weakMapTag$1) {
5645
5792
  getTag = function(value) {
5646
- var result = baseGetTag(value), Ctor = result == objectTag$1 ? value.constructor : void 0, ctorString = Ctor ? toSource(Ctor) : "";
5793
+ var result = baseGetTag(value), Ctor = result == objectTag$2 ? value.constructor : void 0, ctorString = Ctor ? toSource(Ctor) : "";
5647
5794
  if (ctorString) {
5648
5795
  switch (ctorString) {
5649
5796
  case dataViewCtorString:
5650
- return dataViewTag$1;
5797
+ return dataViewTag$3;
5651
5798
  case mapCtorString:
5652
- return mapTag$2;
5799
+ return mapTag$5;
5653
5800
  case promiseCtorString:
5654
5801
  return promiseTag;
5655
5802
  case setCtorString:
5656
- return setTag$2;
5803
+ return setTag$5;
5657
5804
  case weakMapCtorString:
5658
- return weakMapTag;
5805
+ return weakMapTag$1;
5659
5806
  }
5660
5807
  }
5661
5808
  return result;
5662
5809
  };
5663
5810
  }
5664
5811
  var getTag$1 = getTag;
5812
+ var objectProto$3 = Object.prototype;
5813
+ var hasOwnProperty$3 = objectProto$3.hasOwnProperty;
5814
+ function initCloneArray(array) {
5815
+ var length = array.length, result = new array.constructor(length);
5816
+ if (length && typeof array[0] == "string" && hasOwnProperty$3.call(array, "index")) {
5817
+ result.index = array.index;
5818
+ result.input = array.input;
5819
+ }
5820
+ return result;
5821
+ }
5665
5822
  var Uint8Array = root$1.Uint8Array;
5666
5823
  var Uint8Array$1 = Uint8Array;
5824
+ function cloneArrayBuffer(arrayBuffer) {
5825
+ var result = new arrayBuffer.constructor(arrayBuffer.byteLength);
5826
+ new Uint8Array$1(result).set(new Uint8Array$1(arrayBuffer));
5827
+ return result;
5828
+ }
5829
+ function cloneDataView(dataView, isDeep) {
5830
+ var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;
5831
+ return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);
5832
+ }
5833
+ var reFlags = /\w*$/;
5834
+ function cloneRegExp(regexp) {
5835
+ var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));
5836
+ result.lastIndex = regexp.lastIndex;
5837
+ return result;
5838
+ }
5839
+ var symbolProto$1 = Symbol$2 ? Symbol$2.prototype : void 0, symbolValueOf$1 = symbolProto$1 ? symbolProto$1.valueOf : void 0;
5840
+ function cloneSymbol(symbol) {
5841
+ return symbolValueOf$1 ? Object(symbolValueOf$1.call(symbol)) : {};
5842
+ }
5843
+ function cloneTypedArray(typedArray, isDeep) {
5844
+ var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;
5845
+ return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);
5846
+ }
5847
+ var boolTag$2 = "[object Boolean]", dateTag$2 = "[object Date]", mapTag$4 = "[object Map]", numberTag$2 = "[object Number]", regexpTag$2 = "[object RegExp]", setTag$4 = "[object Set]", stringTag$2 = "[object String]", symbolTag$2 = "[object Symbol]";
5848
+ var arrayBufferTag$2 = "[object ArrayBuffer]", dataViewTag$2 = "[object DataView]", float32Tag$1 = "[object Float32Array]", float64Tag$1 = "[object Float64Array]", int8Tag$1 = "[object Int8Array]", int16Tag$1 = "[object Int16Array]", int32Tag$1 = "[object Int32Array]", uint8Tag$1 = "[object Uint8Array]", uint8ClampedTag$1 = "[object Uint8ClampedArray]", uint16Tag$1 = "[object Uint16Array]", uint32Tag$1 = "[object Uint32Array]";
5849
+ function initCloneByTag(object, tag, isDeep) {
5850
+ var Ctor = object.constructor;
5851
+ switch (tag) {
5852
+ case arrayBufferTag$2:
5853
+ return cloneArrayBuffer(object);
5854
+ case boolTag$2:
5855
+ case dateTag$2:
5856
+ return new Ctor(+object);
5857
+ case dataViewTag$2:
5858
+ return cloneDataView(object, isDeep);
5859
+ case float32Tag$1:
5860
+ case float64Tag$1:
5861
+ case int8Tag$1:
5862
+ case int16Tag$1:
5863
+ case int32Tag$1:
5864
+ case uint8Tag$1:
5865
+ case uint8ClampedTag$1:
5866
+ case uint16Tag$1:
5867
+ case uint32Tag$1:
5868
+ return cloneTypedArray(object, isDeep);
5869
+ case mapTag$4:
5870
+ return new Ctor();
5871
+ case numberTag$2:
5872
+ case stringTag$2:
5873
+ return new Ctor(object);
5874
+ case regexpTag$2:
5875
+ return cloneRegExp(object);
5876
+ case setTag$4:
5877
+ return new Ctor();
5878
+ case symbolTag$2:
5879
+ return cloneSymbol(object);
5880
+ }
5881
+ }
5882
+ function initCloneObject(object) {
5883
+ return typeof object.constructor == "function" && !isPrototype(object) ? baseCreate$1(getPrototype$1(object)) : {};
5884
+ }
5885
+ var mapTag$3 = "[object Map]";
5886
+ function baseIsMap(value) {
5887
+ return isObjectLike(value) && getTag$1(value) == mapTag$3;
5888
+ }
5889
+ var nodeIsMap = nodeUtil$1 && nodeUtil$1.isMap;
5890
+ var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;
5891
+ var isMap$1 = isMap;
5892
+ var setTag$3 = "[object Set]";
5893
+ function baseIsSet(value) {
5894
+ return isObjectLike(value) && getTag$1(value) == setTag$3;
5895
+ }
5896
+ var nodeIsSet = nodeUtil$1 && nodeUtil$1.isSet;
5897
+ var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;
5898
+ var isSet$1 = isSet;
5899
+ var CLONE_DEEP_FLAG$1 = 1, CLONE_FLAT_FLAG = 2, CLONE_SYMBOLS_FLAG$1 = 4;
5900
+ var argsTag$1 = "[object Arguments]", arrayTag$1 = "[object Array]", boolTag$1 = "[object Boolean]", dateTag$1 = "[object Date]", errorTag$1 = "[object Error]", funcTag = "[object Function]", genTag = "[object GeneratorFunction]", mapTag$2 = "[object Map]", numberTag$1 = "[object Number]", objectTag$1 = "[object Object]", regexpTag$1 = "[object RegExp]", setTag$2 = "[object Set]", stringTag$1 = "[object String]", symbolTag$1 = "[object Symbol]", weakMapTag = "[object WeakMap]";
5901
+ var arrayBufferTag$1 = "[object ArrayBuffer]", dataViewTag$1 = "[object DataView]", float32Tag = "[object Float32Array]", float64Tag = "[object Float64Array]", int8Tag = "[object Int8Array]", int16Tag = "[object Int16Array]", int32Tag = "[object Int32Array]", uint8Tag = "[object Uint8Array]", uint8ClampedTag = "[object Uint8ClampedArray]", uint16Tag = "[object Uint16Array]", uint32Tag = "[object Uint32Array]";
5902
+ var cloneableTags = {};
5903
+ cloneableTags[argsTag$1] = cloneableTags[arrayTag$1] = cloneableTags[arrayBufferTag$1] = cloneableTags[dataViewTag$1] = cloneableTags[boolTag$1] = cloneableTags[dateTag$1] = cloneableTags[float32Tag] = cloneableTags[float64Tag] = cloneableTags[int8Tag] = cloneableTags[int16Tag] = cloneableTags[int32Tag] = cloneableTags[mapTag$2] = cloneableTags[numberTag$1] = cloneableTags[objectTag$1] = cloneableTags[regexpTag$1] = cloneableTags[setTag$2] = cloneableTags[stringTag$1] = cloneableTags[symbolTag$1] = cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;
5904
+ cloneableTags[errorTag$1] = cloneableTags[funcTag] = cloneableTags[weakMapTag] = false;
5905
+ function baseClone(value, bitmask, customizer, key, object, stack) {
5906
+ var result, isDeep = bitmask & CLONE_DEEP_FLAG$1, isFlat = bitmask & CLONE_FLAT_FLAG, isFull = bitmask & CLONE_SYMBOLS_FLAG$1;
5907
+ if (customizer) {
5908
+ result = object ? customizer(value, key, object, stack) : customizer(value);
5909
+ }
5910
+ if (result !== void 0) {
5911
+ return result;
5912
+ }
5913
+ if (!isObject(value)) {
5914
+ return value;
5915
+ }
5916
+ var isArr = isArray$1(value);
5917
+ if (isArr) {
5918
+ result = initCloneArray(value);
5919
+ if (!isDeep) {
5920
+ return copyArray(value, result);
5921
+ }
5922
+ } else {
5923
+ var tag = getTag$1(value), isFunc = tag == funcTag || tag == genTag;
5924
+ if (isBuffer$1(value)) {
5925
+ return cloneBuffer(value, isDeep);
5926
+ }
5927
+ if (tag == objectTag$1 || tag == argsTag$1 || isFunc && !object) {
5928
+ result = isFlat || isFunc ? {} : initCloneObject(value);
5929
+ if (!isDeep) {
5930
+ return isFlat ? copySymbolsIn(value, baseAssignIn(result, value)) : copySymbols(value, baseAssign(result, value));
5931
+ }
5932
+ } else {
5933
+ if (!cloneableTags[tag]) {
5934
+ return object ? value : {};
5935
+ }
5936
+ result = initCloneByTag(value, tag, isDeep);
5937
+ }
5938
+ }
5939
+ stack || (stack = new Stack());
5940
+ var stacked = stack.get(value);
5941
+ if (stacked) {
5942
+ return stacked;
5943
+ }
5944
+ stack.set(value, result);
5945
+ if (isSet$1(value)) {
5946
+ value.forEach(function(subValue) {
5947
+ result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));
5948
+ });
5949
+ } else if (isMap$1(value)) {
5950
+ value.forEach(function(subValue, key2) {
5951
+ result.set(key2, baseClone(subValue, bitmask, customizer, key2, value, stack));
5952
+ });
5953
+ }
5954
+ var keysFunc = isFull ? isFlat ? getAllKeysIn : getAllKeys : isFlat ? keysIn : keys;
5955
+ var props = isArr ? void 0 : keysFunc(value);
5956
+ arrayEach(props || value, function(subValue, key2) {
5957
+ if (props) {
5958
+ key2 = subValue;
5959
+ subValue = value[key2];
5960
+ }
5961
+ assignValue(result, key2, baseClone(subValue, bitmask, customizer, key2, value, stack));
5962
+ });
5963
+ return result;
5964
+ }
5965
+ var CLONE_DEEP_FLAG = 1, CLONE_SYMBOLS_FLAG = 4;
5966
+ function cloneDeep(value) {
5967
+ return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);
5968
+ }
5667
5969
  var HASH_UNDEFINED = "__lodash_hash_undefined__";
5668
5970
  function setCacheAdd(value) {
5669
5971
  this.__data__.set(value, HASH_UNDEFINED);
@@ -5803,7 +6105,7 @@ function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {
5803
6105
  }
5804
6106
  var COMPARE_PARTIAL_FLAG$1 = 1;
5805
6107
  var objectProto$2 = Object.prototype;
5806
- var hasOwnProperty$3 = objectProto$2.hasOwnProperty;
6108
+ var hasOwnProperty$2 = objectProto$2.hasOwnProperty;
5807
6109
  function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {
5808
6110
  var isPartial = bitmask & COMPARE_PARTIAL_FLAG$1, objProps = getAllKeys(object), objLength = objProps.length, othProps = getAllKeys(other), othLength = othProps.length;
5809
6111
  if (objLength != othLength && !isPartial) {
@@ -5812,7 +6114,7 @@ function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {
5812
6114
  var index = objLength;
5813
6115
  while (index--) {
5814
6116
  var key = objProps[index];
5815
- if (!(isPartial ? key in other : hasOwnProperty$3.call(other, key))) {
6117
+ if (!(isPartial ? key in other : hasOwnProperty$2.call(other, key))) {
5816
6118
  return false;
5817
6119
  }
5818
6120
  }
@@ -5850,7 +6152,7 @@ function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {
5850
6152
  var COMPARE_PARTIAL_FLAG = 1;
5851
6153
  var argsTag = "[object Arguments]", arrayTag = "[object Array]", objectTag = "[object Object]";
5852
6154
  var objectProto$1 = Object.prototype;
5853
- var hasOwnProperty$2 = objectProto$1.hasOwnProperty;
6155
+ var hasOwnProperty$1 = objectProto$1.hasOwnProperty;
5854
6156
  function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {
5855
6157
  var objIsArr = isArray$1(object), othIsArr = isArray$1(other), objTag = objIsArr ? arrayTag : getTag$1(object), othTag = othIsArr ? arrayTag : getTag$1(other);
5856
6158
  objTag = objTag == argsTag ? objectTag : objTag;
@@ -5868,7 +6170,7 @@ function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {
5868
6170
  return objIsArr || isTypedArray$1(object) ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);
5869
6171
  }
5870
6172
  if (!(bitmask & COMPARE_PARTIAL_FLAG)) {
5871
- var objIsWrapped = objIsObj && hasOwnProperty$2.call(object, "__wrapped__"), othIsWrapped = othIsObj && hasOwnProperty$2.call(other, "__wrapped__");
6173
+ var objIsWrapped = objIsObj && hasOwnProperty$1.call(object, "__wrapped__"), othIsWrapped = othIsObj && hasOwnProperty$1.call(other, "__wrapped__");
5872
6174
  if (objIsWrapped || othIsWrapped) {
5873
6175
  var objUnwrapped = objIsWrapped ? object.value() : object, othUnwrapped = othIsWrapped ? other.value() : other;
5874
6176
  stack || (stack = new Stack());
@@ -5907,7 +6209,7 @@ function inRange(number, start, end) {
5907
6209
  }
5908
6210
  var mapTag = "[object Map]", setTag = "[object Set]";
5909
6211
  var objectProto = Object.prototype;
5910
- var hasOwnProperty$1 = objectProto.hasOwnProperty;
6212
+ var hasOwnProperty = objectProto.hasOwnProperty;
5911
6213
  function isEmpty(value) {
5912
6214
  if (value == null) {
5913
6215
  return true;
@@ -5923,7 +6225,7 @@ function isEmpty(value) {
5923
6225
  return !baseKeys(value).length;
5924
6226
  }
5925
6227
  for (var key in value) {
5926
- if (hasOwnProperty$1.call(value, key)) {
6228
+ if (hasOwnProperty.call(value, key)) {
5927
6229
  return false;
5928
6230
  }
5929
6231
  }
@@ -6108,12 +6410,56 @@ const useStore = create((set2, get2) => ({
6108
6410
  ...createValidationSlice(set2, get2),
6109
6411
  ...createExpandedSlice(set2, get2)
6110
6412
  }));
6413
+ function findItem(id, items) {
6414
+ if (!items) {
6415
+ return null;
6416
+ }
6417
+ for (const item of items) {
6418
+ if (item.id === id) {
6419
+ return item;
6420
+ }
6421
+ if (item.items) {
6422
+ const found = findItem(id, item.items);
6423
+ if (found) {
6424
+ return found;
6425
+ }
6426
+ }
6427
+ }
6428
+ return null;
6429
+ }
6430
+ function haveItem(id, items) {
6431
+ return findItem(id, items) !== null;
6432
+ }
6433
+ function getValidSelectedState(product, selected) {
6434
+ if (selected === null || selected === void 0 || isEmpty(selected)) {
6435
+ return {};
6436
+ }
6437
+ try {
6438
+ const copy2 = cloneDeep(selected);
6439
+ for (const [selCtx, value] of Object.entries(copy2)) {
6440
+ if (value && typeof value === "object" && !Array.isArray(value)) {
6441
+ Object.keys(value).forEach((id) => {
6442
+ if (!haveItem(id, product.items)) {
6443
+ console.warn(
6444
+ `deleting selected selCtx ${selCtx} id ${id}, not found in product`
6445
+ );
6446
+ delete copy2[selCtx][id];
6447
+ }
6448
+ });
6449
+ }
6450
+ }
6451
+ return cleanSelected(copy2);
6452
+ } catch (e2) {
6453
+ console.error(e2);
6454
+ return selected;
6455
+ }
6456
+ }
6111
6457
  function useProductConfigurator(product) {
6458
+ var _a;
6112
6459
  const [productQuantity, setProductQuantity] = useState(1);
6113
6460
  const encodedProduct = iterateOverObject(product, encodeValue);
6114
- const {
6115
- state: { filter: initFilter = {}, selected: initSelected = {} } = {}
6116
- } = encodedProduct;
6461
+ const { state: { filter: initFilter = {} } = {} } = encodedProduct;
6462
+ const initSelected = getValidSelectedState(product, (_a = product.state) == null ? void 0 : _a.selected);
6117
6463
  const setInitialFilter = useStore((state) => state.setInitialFilter);
6118
6464
  const setInitialSelected = useStore((state) => state.setInitialSelected);
6119
6465
  const setInitialValidate = useStore((state) => state.setInitialValidate);
@@ -6370,75 +6716,8 @@ function useMenuOptions(product, nestedLvl, parentKind, parentSelCtx) {
6370
6716
  }
6371
6717
  var jsxRuntime = { exports: {} };
6372
6718
  var reactJsxRuntime_production_min = {};
6373
- /*
6374
- object-assign
6375
- (c) Sindre Sorhus
6376
- @license MIT
6377
- */
6378
- var getOwnPropertySymbols = Object.getOwnPropertySymbols;
6379
- var hasOwnProperty = Object.prototype.hasOwnProperty;
6380
- var propIsEnumerable = Object.prototype.propertyIsEnumerable;
6381
- function toObject(val) {
6382
- if (val === null || val === void 0) {
6383
- throw new TypeError("Object.assign cannot be called with null or undefined");
6384
- }
6385
- return Object(val);
6386
- }
6387
- function shouldUseNative() {
6388
- try {
6389
- if (!Object.assign) {
6390
- return false;
6391
- }
6392
- var test1 = new String("abc");
6393
- test1[5] = "de";
6394
- if (Object.getOwnPropertyNames(test1)[0] === "5") {
6395
- return false;
6396
- }
6397
- var test2 = {};
6398
- for (var i2 = 0; i2 < 10; i2++) {
6399
- test2["_" + String.fromCharCode(i2)] = i2;
6400
- }
6401
- var order2 = Object.getOwnPropertyNames(test2).map(function(n2) {
6402
- return test2[n2];
6403
- });
6404
- if (order2.join("") !== "0123456789") {
6405
- return false;
6406
- }
6407
- var test3 = {};
6408
- "abcdefghijklmnopqrst".split("").forEach(function(letter) {
6409
- test3[letter] = letter;
6410
- });
6411
- if (Object.keys(Object.assign({}, test3)).join("") !== "abcdefghijklmnopqrst") {
6412
- return false;
6413
- }
6414
- return true;
6415
- } catch (err) {
6416
- return false;
6417
- }
6418
- }
6419
- shouldUseNative() ? Object.assign : function(target, source) {
6420
- var from;
6421
- var to = toObject(target);
6422
- var symbols;
6423
- for (var s2 = 1; s2 < arguments.length; s2++) {
6424
- from = Object(arguments[s2]);
6425
- for (var key in from) {
6426
- if (hasOwnProperty.call(from, key)) {
6427
- to[key] = from[key];
6428
- }
6429
- }
6430
- if (getOwnPropertySymbols) {
6431
- symbols = getOwnPropertySymbols(from);
6432
- for (var i2 = 0; i2 < symbols.length; i2++) {
6433
- if (propIsEnumerable.call(from, symbols[i2])) {
6434
- to[symbols[i2]] = from[symbols[i2]];
6435
- }
6436
- }
6437
- }
6438
- }
6439
- return to;
6440
- };
6441
- /** @license React v17.0.2
6719
+ /**
6720
+ * @license React
6442
6721
  * react-jsx-runtime.production.min.js
6443
6722
  *
6444
6723
  * Copyright (c) Facebook, Inc. and its affiliates.
@@ -6446,26 +6725,20 @@ shouldUseNative() ? Object.assign : function(target, source) {
6446
6725
  * This source code is licensed under the MIT license found in the
6447
6726
  * LICENSE file in the root directory of this source tree.
6448
6727
  */
6449
- var f$3 = React, g = 60103;
6450
- reactJsxRuntime_production_min.Fragment = 60107;
6451
- if ("function" === typeof Symbol && Symbol.for) {
6452
- var h$3 = Symbol.for;
6453
- g = h$3("react.element");
6454
- reactJsxRuntime_production_min.Fragment = h$3("react.fragment");
6455
- }
6456
- var m$3 = f$3.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, n$2 = Object.prototype.hasOwnProperty, p$3 = { key: true, ref: true, __self: true, __source: true };
6457
- function q(c, a2, k2) {
6458
- var b, d2 = {}, e2 = null, l2 = null;
6459
- void 0 !== k2 && (e2 = "" + k2);
6728
+ var f$3 = React, k$2 = Symbol.for("react.element"), l$4 = Symbol.for("react.fragment"), m$3 = Object.prototype.hasOwnProperty, n$2 = f$3.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, p$3 = { key: true, ref: true, __self: true, __source: true };
6729
+ function q(c, a2, g) {
6730
+ var b, d2 = {}, e2 = null, h2 = null;
6731
+ void 0 !== g && (e2 = "" + g);
6460
6732
  void 0 !== a2.key && (e2 = "" + a2.key);
6461
- void 0 !== a2.ref && (l2 = a2.ref);
6733
+ void 0 !== a2.ref && (h2 = a2.ref);
6462
6734
  for (b in a2)
6463
- n$2.call(a2, b) && !p$3.hasOwnProperty(b) && (d2[b] = a2[b]);
6735
+ m$3.call(a2, b) && !p$3.hasOwnProperty(b) && (d2[b] = a2[b]);
6464
6736
  if (c && c.defaultProps)
6465
6737
  for (b in a2 = c.defaultProps, a2)
6466
6738
  void 0 === d2[b] && (d2[b] = a2[b]);
6467
- return { $$typeof: g, type: c, key: e2, ref: l2, props: d2, _owner: m$3.current };
6739
+ return { $$typeof: k$2, type: c, key: e2, ref: h2, props: d2, _owner: n$2.current };
6468
6740
  }
6741
+ reactJsxRuntime_production_min.Fragment = l$4;
6469
6742
  reactJsxRuntime_production_min.jsx = q;
6470
6743
  reactJsxRuntime_production_min.jsxs = q;
6471
6744
  {
@@ -7015,7 +7288,7 @@ var Dinero = function Dinero2(options) {
7015
7288
  var factor = Math.pow(10, digits);
7016
7289
  return calculator$1.divide(calculator$1.round(calculator$1.multiply(this.toUnit(), factor), roundingMode), factor);
7017
7290
  },
7018
- toObject: function toObject2() {
7291
+ toObject: function toObject() {
7019
7292
  return {
7020
7293
  amount,
7021
7294
  currency,
@@ -9059,8 +9332,8 @@ function p$1(r2, t2 = {}, e2, a2) {
9059
9332
  let d2 = {};
9060
9333
  if (t2) {
9061
9334
  let f2 = false, y2 = [];
9062
- for (let [h2, g2] of Object.entries(t2))
9063
- typeof g2 == "boolean" && (f2 = true), g2 === true && y2.push(h2);
9335
+ for (let [h2, g] of Object.entries(t2))
9336
+ typeof g == "boolean" && (f2 = true), g === true && y2.push(h2);
9064
9337
  f2 && (d2["data-headlessui-state"] = y2.join(" "));
9065
9338
  }
9066
9339
  if (o2 === Fragment$1 && Object.keys(F$3(s2)).length > 0) {
@@ -9484,31 +9757,31 @@ let Se$1 = "div", Le = S$1.RenderStrategy | S$1.Static, Me = C$1(function(e2, r2
9484
9757
  throw new Error(`You provided an \`open\` prop to the \`Dialog\`, but the value is not a boolean. Received: ${a2}`);
9485
9758
  if (typeof o2 != "function")
9486
9759
  throw new Error(`You provided an \`onClose\` prop to the \`Dialog\`, but the value is not a function. Received: ${o2}`);
9487
- let g2 = a2 ? 0 : 1, [h2, Q2] = useReducer(Ce$1, { titleId: null, descriptionId: null, panelRef: createRef() }), R = o$3(() => o2(false)), j2 = o$3((T2) => Q2({ type: 0, id: T2 })), x2 = a$2() ? f2 ? false : g2 === 0 : false, w2 = n$12 > 1, X2 = useContext(H) !== null, Z = w2 ? "parent" : "leaf";
9760
+ let g = a2 ? 0 : 1, [h2, Q2] = useReducer(Ce$1, { titleId: null, descriptionId: null, panelRef: createRef() }), R = o$3(() => o2(false)), j2 = o$3((T2) => Q2({ type: 0, id: T2 })), x2 = a$2() ? f2 ? false : g === 0 : false, w2 = n$12 > 1, X2 = useContext(H) !== null, Z = w2 ? "parent" : "leaf";
9488
9761
  M$3(u2, w2 ? x2 : false);
9489
9762
  let N2 = o$3(() => {
9490
9763
  var b, D2;
9491
9764
  return [...Array.from((b = y$1 == null ? void 0 : y$1.querySelectorAll("body > *, [data-headlessui-portal]")) != null ? b : []).filter((E2) => !(!(E2 instanceof HTMLElement) || E2.contains(U2.current) || h2.panelRef.current && E2.contains(h2.panelRef.current))), (D2 = h2.panelRef.current) != null ? D2 : u2.current];
9492
9765
  });
9493
9766
  L(() => N2(), R, x2 && !w2), E(y$1 == null ? void 0 : y$1.defaultView, "keydown", (T2) => {
9494
- T2.defaultPrevented || T2.key === o$1.Escape && g2 === 0 && (w2 || (T2.preventDefault(), T2.stopPropagation(), R()));
9495
- }), Oe(y$1, g2 === 0 && !X2, N2), useEffect(() => {
9496
- if (g2 !== 0 || !u2.current)
9767
+ T2.defaultPrevented || T2.key === o$1.Escape && g === 0 && (w2 || (T2.preventDefault(), T2.stopPropagation(), R()));
9768
+ }), Oe(y$1, g === 0 && !X2, N2), useEffect(() => {
9769
+ if (g !== 0 || !u2.current)
9497
9770
  return;
9498
9771
  let T2 = new IntersectionObserver((b) => {
9499
9772
  for (let D2 of b)
9500
9773
  D2.boundingClientRect.x === 0 && D2.boundingClientRect.y === 0 && D2.boundingClientRect.width === 0 && D2.boundingClientRect.height === 0 && R();
9501
9774
  });
9502
9775
  return T2.observe(u2.current), () => T2.disconnect();
9503
- }, [g2, u2, R]);
9504
- let [ee, te] = k$1(), oe2 = useMemo(() => [{ dialogState: g2, close: R, setTitleId: j2 }, h2], [g2, h2, R, j2]), V = useMemo(() => ({ open: g2 === 0 }), [g2]), re2 = { ref: _24, id: d2, role: "dialog", "aria-modal": g2 === 0 ? true : void 0, "aria-labelledby": h2.titleId, "aria-describedby": ee };
9505
- return React.createElement(M$2, { type: "Dialog", enabled: g2 === 0, element: u2, onUpdate: o$3((T2, b, D2) => {
9776
+ }, [g, u2, R]);
9777
+ let [ee, te] = k$1(), oe2 = useMemo(() => [{ dialogState: g, close: R, setTitleId: j2 }, h2], [g, h2, R, j2]), V = useMemo(() => ({ open: g === 0 }), [g]), re2 = { ref: _24, id: d2, role: "dialog", "aria-modal": g === 0 ? true : void 0, "aria-labelledby": h2.titleId, "aria-describedby": ee };
9778
+ return React.createElement(M$2, { type: "Dialog", enabled: g === 0, element: u2, onUpdate: o$3((T2, b, D2) => {
9506
9779
  b === "Dialog" && u$3(T2, { [s.Add]() {
9507
9780
  P2.current.add(D2), i2((E2) => E2 + 1);
9508
9781
  }, [s.Remove]() {
9509
9782
  P2.current.add(D2), i2((E2) => E2 - 1);
9510
9783
  } });
9511
- }) }, React.createElement(P$1, { force: true }, React.createElement($, null, React.createElement(H.Provider, { value: oe2 }, React.createElement($.Group, { target: u2 }, React.createElement(P$1, { force: false }, React.createElement(te, { slot: V, name: "Dialog.Description" }, React.createElement(de, { initialFocus: p$12, containers: P2, features: x2 ? u$3(Z, { parent: de.features.RestoreFocus, leaf: de.features.All & ~de.features.FocusLock }) : de.features.None }, $$1({ ourProps: re2, theirProps: c, slot: V, defaultTag: Se$1, features: Le, visible: g2 === 0, name: "Dialog" })))))))), React.createElement(h$1, { features: s$4.Hidden, ref: U2 }));
9784
+ }) }, React.createElement(P$1, { force: true }, React.createElement($, null, React.createElement(H.Provider, { value: oe2 }, React.createElement($.Group, { target: u2 }, React.createElement(P$1, { force: false }, React.createElement(te, { slot: V, name: "Dialog.Description" }, React.createElement(de, { initialFocus: p$12, containers: P2, features: x2 ? u$3(Z, { parent: de.features.RestoreFocus, leaf: de.features.All & ~de.features.FocusLock }) : de.features.None }, $$1({ ourProps: re2, theirProps: c, slot: V, defaultTag: Se$1, features: Le, visible: g === 0, name: "Dialog" })))))))), React.createElement(h$1, { features: s$4.Hidden, ref: U2 }));
9512
9785
  }), ke = "div", we = C$1(function(e2, r2) {
9513
9786
  let s2 = I$2(), { id: d2 = `headlessui-dialog-overlay-${s2}`, ...a2 } = e2, [{ dialogState: o2, close: p2 }] = k("Dialog.Overlay"), f2 = y(r2), c = o$3((l2) => {
9514
9787
  if (l2.target === l2.currentTarget) {
@@ -9555,7 +9828,7 @@ function F(t2, e2) {
9555
9828
  if (!t2)
9556
9829
  return n2.dispose;
9557
9830
  let { transitionDuration: a2, transitionDelay: i2 } = getComputedStyle(t2), [m2, d2] = [a2, i2].map((o2) => {
9558
- let [r2 = 0] = o2.split(",").filter(Boolean).map((l2) => l2.includes("ms") ? parseFloat(l2) : parseFloat(l2) * 1e3).sort((l2, g2) => g2 - l2);
9831
+ let [r2 = 0] = o2.split(",").filter(Boolean).map((l2) => l2.includes("ms") ? parseFloat(l2) : parseFloat(l2) * 1e3).sort((l2, g) => g - l2);
9559
9832
  return r2;
9560
9833
  });
9561
9834
  if (m2 + d2 !== 0) {
@@ -9984,6 +10257,25 @@ const MenuProductRoot = (props) => {
9984
10257
  });
9985
10258
  };
9986
10259
  var style = "";
10260
+ const ProductDataContext = React.createContext(null);
10261
+ function ProductDataProvider({
10262
+ rootProduct,
10263
+ children
10264
+ }) {
10265
+ return /* @__PURE__ */ jsx(ProductDataContext.Provider, {
10266
+ value: {
10267
+ rootProduct
10268
+ },
10269
+ children
10270
+ });
10271
+ }
10272
+ function useProductData() {
10273
+ const context = useContext(ProductDataContext);
10274
+ if (!context) {
10275
+ throw new Error("Missing ComponentsContext");
10276
+ }
10277
+ return context;
10278
+ }
9987
10279
  function ProductConfigurator(props) {
9988
10280
  const {
9989
10281
  product,
@@ -10029,7 +10321,6 @@ function ProductConfigurator(props) {
10029
10321
  }
10030
10322
  });
10031
10323
  const {
10032
- handleSubmit,
10033
10324
  getValues
10034
10325
  } = methods;
10035
10326
  const countedProductPrice = Number((parseFloat(price || "0") + countPrice(getValues("selected"), product)).toFixed(2));
@@ -10056,32 +10347,35 @@ function ProductConfigurator(props) {
10056
10347
  };
10057
10348
  const handleOnSubmit = () => onSubmit();
10058
10349
  return /* @__PURE__ */ jsx(Fragment, {
10059
- children: /* @__PURE__ */ jsx(ComponentsContext.Provider, {
10060
- value: props.components,
10061
- children: /* @__PURE__ */ jsx(FormProvider, {
10062
- ...methods,
10063
- children: /* @__PURE__ */ jsxs("form", {
10064
- children: [showDebugState && /* @__PURE__ */ jsx("div", {
10065
- className: "hidden",
10066
- children: /* @__PURE__ */ jsx(DisplayState, {})
10067
- }), /* @__PURE__ */ jsx(MenuProductRoot, {
10068
- product: encodedProduct,
10069
- productQuantity,
10070
- validationMap,
10071
- isOpen,
10072
- handleClose,
10073
- handleGoBack,
10074
- handleOnSubmit,
10075
- countedProductPrice,
10076
- countedProductTotalPrice: countedProductPrice * productQuantity,
10077
- increaseProductQuantity,
10078
- decreaseProductQuantity,
10079
- currency
10080
- })]
10350
+ children: /* @__PURE__ */ jsx(ProductDataProvider, {
10351
+ rootProduct: product,
10352
+ children: /* @__PURE__ */ jsx(ComponentsContext.Provider, {
10353
+ value: props.components,
10354
+ children: /* @__PURE__ */ jsx(FormProvider, {
10355
+ ...methods,
10356
+ children: /* @__PURE__ */ jsxs("form", {
10357
+ children: [showDebugState && /* @__PURE__ */ jsx("div", {
10358
+ className: "hidden",
10359
+ children: /* @__PURE__ */ jsx(DisplayState, {})
10360
+ }), /* @__PURE__ */ jsx(MenuProductRoot, {
10361
+ product: encodedProduct,
10362
+ productQuantity,
10363
+ validationMap,
10364
+ isOpen,
10365
+ handleClose,
10366
+ handleGoBack,
10367
+ handleOnSubmit,
10368
+ countedProductPrice,
10369
+ countedProductTotalPrice: countedProductPrice * productQuantity,
10370
+ increaseProductQuantity,
10371
+ decreaseProductQuantity,
10372
+ currency
10373
+ })]
10374
+ })
10081
10375
  })
10082
10376
  })
10083
10377
  })
10084
10378
  });
10085
10379
  }
10086
- export { ContextType, MainView, ProductConfigurator, ProductKinds, ProductTypes, SelMinSelMaxStatus, index_esm as hookForm };
10380
+ export { ContextType, MainView, ProductConfigurator, ProductKinds, ProductTypes, SelMinSelMaxStatus, index_esm as hookForm, useProductData };
10087
10381
  //# sourceMappingURL=index.es.js.map