@prorobotech/openapi-k8s-toolkit 1.5.0-alpha.2 → 1.5.0-alpha.3

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 (25) hide show
  1. package/dist/{index-BYGA57EJ.mjs → index-BsjtTIr1.mjs} +954 -147
  2. package/dist/index-BsjtTIr1.mjs.map +1 -0
  3. package/dist/{index-DoND5hQh.mjs → index-D0cUc0Rp.mjs} +2 -2
  4. package/dist/{index-DoND5hQh.mjs.map → index-D0cUc0Rp.mjs.map} +1 -1
  5. package/dist/openapi-k8s-toolkit.es.js +1 -1
  6. package/dist/openapi-k8s-toolkit.umd.js +952 -145
  7. package/dist/openapi-k8s-toolkit.umd.js.map +1 -1
  8. package/dist/types/components/molecules/BlackholeForm/molecules/FormListInput/FormListInput.d.ts +2 -0
  9. package/dist/types/components/molecules/BlackholeForm/molecules/FormNamespaceInput/FormNamespaceInput.d.ts +9 -2
  10. package/dist/types/components/molecules/BlackholeForm/molecules/FormNamespaceInput/FormNamespaceInput.test.d.ts +1 -0
  11. package/dist/types/components/molecules/BlackholeForm/molecules/FormNumberInput/FormNumberInput.d.ts +3 -0
  12. package/dist/types/components/molecules/BlackholeForm/molecules/FormObjectFromSwagger/FormObjectFromSwagger.d.ts +2 -1
  13. package/dist/types/components/molecules/BlackholeForm/molecules/FormStringInput/FormStringInput.d.ts +4 -0
  14. package/dist/types/components/molecules/BlackholeForm/molecules/FormStringMultilineInput/FormStringMultilineInput.d.ts +4 -0
  15. package/dist/types/components/molecules/BlackholeForm/molecules/helpers/oneOfBranch.d.ts +9 -0
  16. package/dist/types/components/molecules/BlackholeForm/molecules/helpers/oneOfBranch.test.d.ts +1 -0
  17. package/dist/types/components/molecules/BlackholeForm/molecules/helpers/validation.d.ts +18 -0
  18. package/dist/types/components/molecules/BlackholeForm/organisms/BlackholeForm/helpers/oneOfBranchCleanup.d.ts +7 -0
  19. package/dist/types/components/molecules/BlackholeForm/organisms/BlackholeForm/helpers/oneOfBranchCleanup.test.d.ts +1 -0
  20. package/dist/types/components/molecules/BlackholeForm/organisms/BlackholeForm/helpers/oneOfBranchVisibility.d.ts +6 -0
  21. package/dist/types/components/molecules/BlackholeForm/organisms/BlackholeForm/helpers/oneOfBranchVisibility.test.d.ts +1 -0
  22. package/dist/types/components/molecules/BlackholeForm/organisms/BlackholeForm/utils.d.ts +20 -5
  23. package/dist/types/localTypes/formSchema.d.ts +15 -0
  24. package/package.json +1 -1
  25. package/dist/index-BYGA57EJ.mjs.map +0 -1
@@ -1699,7 +1699,7 @@ const typeOfTest = type => thing => typeof thing === type;
1699
1699
  *
1700
1700
  * @returns {boolean} True if value is an Array, otherwise false
1701
1701
  */
1702
- const {isArray: isArray$4} = Array;
1702
+ const {isArray: isArray$5} = Array;
1703
1703
 
1704
1704
  /**
1705
1705
  * Determine if a value is undefined
@@ -1945,7 +1945,7 @@ function forEach(obj, fn, {allOwnKeys = false} = {}) {
1945
1945
  obj = [obj];
1946
1946
  }
1947
1947
 
1948
- if (isArray$4(obj)) {
1948
+ if (isArray$5(obj)) {
1949
1949
  // Iterate over array values
1950
1950
  for (i = 0, l = obj.length; i < l; i++) {
1951
1951
  fn.call(null, obj[i], i, obj);
@@ -2021,7 +2021,7 @@ function merge$2(/* obj1, obj2, obj3, ... */) {
2021
2021
  result[targetKey] = merge$2(result[targetKey], val);
2022
2022
  } else if (isPlainObject$6(val)) {
2023
2023
  result[targetKey] = merge$2({}, val);
2024
- } else if (isArray$4(val)) {
2024
+ } else if (isArray$5(val)) {
2025
2025
  result[targetKey] = val.slice();
2026
2026
  } else if (!skipUndefined || !isUndefined(val)) {
2027
2027
  result[targetKey] = val;
@@ -2151,7 +2151,7 @@ const endsWith = (str, searchString, position) => {
2151
2151
  */
2152
2152
  const toArray$3 = (thing) => {
2153
2153
  if (!thing) return null;
2154
- if (isArray$4(thing)) return thing;
2154
+ if (isArray$5(thing)) return thing;
2155
2155
  let i = thing.length;
2156
2156
  if (!isNumber$1(i)) return null;
2157
2157
  const arr = new Array(i);
@@ -2229,7 +2229,7 @@ const toCamelCase = str => {
2229
2229
  };
2230
2230
 
2231
2231
  /* Creating a function that will check if an object has a property. */
2232
- const hasOwnProperty$5 = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);
2232
+ const hasOwnProperty$7 = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);
2233
2233
 
2234
2234
  /**
2235
2235
  * Determine if a value is a RegExp object
@@ -2294,7 +2294,7 @@ const toObjectSet = (arrayOrString, delimiter) => {
2294
2294
  });
2295
2295
  };
2296
2296
 
2297
- isArray$4(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));
2297
+ isArray$5(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));
2298
2298
 
2299
2299
  return obj;
2300
2300
  };
@@ -2335,7 +2335,7 @@ const toJSONObject = (obj) => {
2335
2335
 
2336
2336
  if(!('toJSON' in source)) {
2337
2337
  stack[i] = source;
2338
- const target = isArray$4(source) ? [] : {};
2338
+ const target = isArray$5(source) ? [] : {};
2339
2339
 
2340
2340
  forEach(source, (value, key) => {
2341
2341
  const reducedValue = visit(value, i + 1);
@@ -2394,7 +2394,7 @@ const isIterable = (thing) => thing != null && isFunction$4(thing[iterator]);
2394
2394
 
2395
2395
 
2396
2396
  const utils$1 = {
2397
- isArray: isArray$4,
2397
+ isArray: isArray$5,
2398
2398
  isArrayBuffer,
2399
2399
  isBuffer,
2400
2400
  isFormData,
@@ -2433,8 +2433,8 @@ const utils$1 = {
2433
2433
  forEachEntry,
2434
2434
  matchAll,
2435
2435
  isHTMLForm,
2436
- hasOwnProperty: hasOwnProperty$5,
2437
- hasOwnProp: hasOwnProperty$5, // an alias to avoid ESLint no-prototype-builtins detection
2436
+ hasOwnProperty: hasOwnProperty$7,
2437
+ hasOwnProp: hasOwnProperty$7, // an alias to avoid ESLint no-prototype-builtins detection
2438
2438
  reduceDescriptors,
2439
2439
  freezeMethods,
2440
2440
  toObjectSet,
@@ -36470,14 +36470,14 @@ function isFunction$2(value) {
36470
36470
  return typeof value === 'function';
36471
36471
  }
36472
36472
 
36473
- function hasOwnProperty$4(object, property) {
36473
+ function hasOwnProperty$6(object, property) {
36474
36474
  return Object.prototype.hasOwnProperty.call(object, property);
36475
36475
  }
36476
36476
 
36477
36477
  function validateChanges(initial, changes) {
36478
36478
  if (!isObject$7(changes)) errorHandler$1('changeType');
36479
36479
  if (Object.keys(changes).some(function (field) {
36480
- return !hasOwnProperty$4(initial, field);
36480
+ return !hasOwnProperty$6(initial, field);
36481
36481
  })) errorHandler$1('changeField');
36482
36482
  return changes;
36483
36483
  }
@@ -44642,7 +44642,8 @@ const HiddenContainer$1 = ({ name, secondName, children }) => {
44642
44642
  const secondArr = toArray$2(secondName);
44643
44643
  const isHidden = !!hiddenPaths && !!nameArr && includesPath(hiddenPaths, nameArr);
44644
44644
  const isHiddenSecond = !!hiddenPaths && !!secondArr && includesPath(hiddenPaths, secondArr);
44645
- return /* @__PURE__ */ jsxRuntimeExports.jsx(PossibleHiddenContainer, { $isHidden: !hiddenPaths || isHidden || isHiddenSecond, children });
44645
+ const shouldHide = !hiddenPaths || isHidden || isHiddenSecond;
44646
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(PossibleHiddenContainer, { $isHidden: shouldHide, "aria-hidden": shouldHide, hidden: shouldHide || void 0, children });
44646
44647
  };
44647
44648
 
44648
44649
  const HeightContainer = styled.div`
@@ -49647,7 +49648,7 @@ var isDeepKey = {};
49647
49648
  exports.isDeepKey = isDeepKey;
49648
49649
  } (isDeepKey));
49649
49650
 
49650
- var toKey$2 = {};
49651
+ var toKey$3 = {};
49651
49652
 
49652
49653
  (function (exports) {
49653
49654
 
@@ -49664,7 +49665,7 @@ var toKey$2 = {};
49664
49665
  }
49665
49666
 
49666
49667
  exports.toKey = toKey;
49667
- } (toKey$2));
49668
+ } (toKey$3));
49668
49669
 
49669
49670
  var toPath = {};
49670
49671
 
@@ -49699,7 +49700,7 @@ var toString$3 = {};
49699
49700
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
49700
49701
 
49701
49702
  const toString = toString$3;
49702
- const toKey = toKey$2;
49703
+ const toKey = toKey$3;
49703
49704
 
49704
49705
  function toPath(deepKey) {
49705
49706
  if (Array.isArray(deepKey)) {
@@ -49784,7 +49785,7 @@ var toString$3 = {};
49784
49785
 
49785
49786
  const isUnsafeProperty$1 = isUnsafeProperty;
49786
49787
  const isDeepKey$1 = isDeepKey;
49787
- const toKey = toKey$2;
49788
+ const toKey = toKey$3;
49788
49789
  const toPath$1 = toPath;
49789
49790
 
49790
49791
  function get(object, path, defaultValue) {
@@ -50342,7 +50343,7 @@ var isArrayLikeObject = {};
50342
50343
 
50343
50344
  var isArrayLike = {};
50344
50345
 
50345
- var isLength = {};
50346
+ var isLength$2 = {};
50346
50347
 
50347
50348
  (function (exports) {
50348
50349
 
@@ -50353,22 +50354,22 @@ var isLength = {};
50353
50354
  }
50354
50355
 
50355
50356
  exports.isLength = isLength;
50356
- } (isLength));
50357
+ } (isLength$2));
50357
50358
 
50358
50359
  (function (exports) {
50359
50360
 
50360
50361
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
50361
50362
 
50362
- const isLength$1 = isLength;
50363
+ const isLength = isLength$2;
50363
50364
 
50364
50365
  function isArrayLike(value) {
50365
- return value != null && typeof value !== 'function' && isLength$1.isLength(value.length);
50366
+ return value != null && typeof value !== 'function' && isLength.isLength(value.length);
50366
50367
  }
50367
50368
 
50368
50369
  exports.isArrayLike = isArrayLike;
50369
50370
  } (isArrayLike));
50370
50371
 
50371
- var isObjectLike$3 = {};
50372
+ var isObjectLike$5 = {};
50372
50373
 
50373
50374
  (function (exports) {
50374
50375
 
@@ -50379,14 +50380,14 @@ var isObjectLike$3 = {};
50379
50380
  }
50380
50381
 
50381
50382
  exports.isObjectLike = isObjectLike;
50382
- } (isObjectLike$3));
50383
+ } (isObjectLike$5));
50383
50384
 
50384
50385
  (function (exports) {
50385
50386
 
50386
50387
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
50387
50388
 
50388
50389
  const isArrayLike$1 = isArrayLike;
50389
- const isObjectLike = isObjectLike$3;
50390
+ const isObjectLike = isObjectLike$5;
50390
50391
 
50391
50392
  function isArrayLikeObject(value) {
50392
50393
  return isObjectLike.isObjectLike(value) && isArrayLike$1.isArrayLike(value);
@@ -51005,9 +51006,9 @@ var cloneDeepWith = {};
51005
51006
  exports.cloneDeep = cloneDeep;
51006
51007
  } (cloneDeep));
51007
51008
 
51008
- var has$1 = {};
51009
+ var has$3 = {};
51009
51010
 
51010
- var isIndex = {};
51011
+ var isIndex$2 = {};
51011
51012
 
51012
51013
  (function (exports) {
51013
51014
 
@@ -51029,9 +51030,9 @@ var isIndex = {};
51029
51030
  }
51030
51031
 
51031
51032
  exports.isIndex = isIndex;
51032
- } (isIndex));
51033
+ } (isIndex$2));
51033
51034
 
51034
- var isArguments = {};
51035
+ var isArguments$2 = {};
51035
51036
 
51036
51037
  (function (exports) {
51037
51038
 
@@ -51044,15 +51045,15 @@ var isArguments = {};
51044
51045
  }
51045
51046
 
51046
51047
  exports.isArguments = isArguments;
51047
- } (isArguments));
51048
+ } (isArguments$2));
51048
51049
 
51049
51050
  (function (exports) {
51050
51051
 
51051
51052
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
51052
51053
 
51053
51054
  const isDeepKey$1 = isDeepKey;
51054
- const isIndex$1 = isIndex;
51055
- const isArguments$1 = isArguments;
51055
+ const isIndex = isIndex$2;
51056
+ const isArguments = isArguments$2;
51056
51057
  const toPath$1 = toPath;
51057
51058
 
51058
51059
  function has(object, path) {
@@ -51073,7 +51074,7 @@ var isArguments = {};
51073
51074
  for (let i = 0; i < resolvedPath.length; i++) {
51074
51075
  const key = resolvedPath[i];
51075
51076
  if (current == null || !Object.hasOwn(current, key)) {
51076
- const isSparseIndex = (Array.isArray(current) || isArguments$1.isArguments(current)) && isIndex$1.isIndex(key) && key < current.length;
51077
+ const isSparseIndex = (Array.isArray(current) || isArguments.isArguments(current)) && isIndex.isIndex(key) && key < current.length;
51077
51078
  if (!isSparseIndex) {
51078
51079
  return false;
51079
51080
  }
@@ -51084,17 +51085,17 @@ var isArguments = {};
51084
51085
  }
51085
51086
 
51086
51087
  exports.has = has;
51087
- } (has$1));
51088
+ } (has$3));
51088
51089
 
51089
51090
  (function (exports) {
51090
51091
 
51091
51092
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
51092
51093
 
51093
51094
  const isMatch$1 = isMatch;
51094
- const toKey = toKey$2;
51095
+ const toKey = toKey$3;
51095
51096
  const cloneDeep$1 = cloneDeep;
51096
51097
  const get = get$4;
51097
- const has = has$1;
51098
+ const has = has$3;
51098
51099
 
51099
51100
  function matchesProperty(property, source) {
51100
51101
  switch (typeof property) {
@@ -52153,7 +52154,7 @@ var isIterateeCall = {};
52153
52154
 
52154
52155
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
52155
52156
 
52156
- const isIndex$1 = isIndex;
52157
+ const isIndex = isIndex$2;
52157
52158
  const isArrayLike$1 = isArrayLike;
52158
52159
  const isObject = isObject$4;
52159
52160
  const eq = eq$2;
@@ -52162,7 +52163,7 @@ var isIterateeCall = {};
52162
52163
  if (!isObject.isObject(object)) {
52163
52164
  return false;
52164
52165
  }
52165
- if ((typeof index === 'number' && isArrayLike$1.isArrayLike(object) && isIndex$1.isIndex(index) && index < object.length) ||
52166
+ if ((typeof index === 'number' && isArrayLike$1.isArrayLike(object) && isIndex.isIndex(index) && index < object.length) ||
52166
52167
  (typeof index === 'string' && index in object)) {
52167
52168
  return eq.eq(object[index], value);
52168
52169
  }
@@ -52700,7 +52701,7 @@ function getArchtype(thing) {
52700
52701
  const state = thing[DRAFT_STATE];
52701
52702
  return state ? state.type_ : Array.isArray(thing) ? 1 /* Array */ : isMap(thing) ? 2 /* Map */ : isSet(thing) ? 3 /* Set */ : 0 /* Object */;
52702
52703
  }
52703
- function has(thing, prop) {
52704
+ function has$2(thing, prop) {
52704
52705
  return getArchtype(thing) === 2 /* Map */ ? thing.has(prop) : Object.prototype.hasOwnProperty.call(thing, prop);
52705
52706
  }
52706
52707
  function set(thing, propOrOldValue, value) {
@@ -52922,7 +52923,7 @@ function finalizeProperty(rootScope, parentState, targetObject, prop, childValue
52922
52923
  die(5);
52923
52924
  if (isDraft(childValue)) {
52924
52925
  const path = rootPath && parentState && parentState.type_ !== 3 /* Set */ && // Set objects are atomic since they have no keys.
52925
- !has(parentState.assigned_, prop) ? rootPath.concat(prop) : void 0;
52926
+ !has$2(parentState.assigned_, prop) ? rootPath.concat(prop) : void 0;
52926
52927
  const res = finalize(rootScope, childValue, path);
52927
52928
  set(targetObject, prop, res);
52928
52929
  if (isDraft(res)) {
@@ -52989,7 +52990,7 @@ var objectTraps = {
52989
52990
  if (prop === DRAFT_STATE)
52990
52991
  return state;
52991
52992
  const source = latest(state);
52992
- if (!has(source, prop)) {
52993
+ if (!has$2(source, prop)) {
52993
52994
  return readPropFromProto(state, source, prop);
52994
52995
  }
52995
52996
  const value = source[prop];
@@ -53022,7 +53023,7 @@ var objectTraps = {
53022
53023
  state.assigned_[prop] = false;
53023
53024
  return true;
53024
53025
  }
53025
- if (is$1(value, current2) && (value !== void 0 || has(state.base_, prop)))
53026
+ if (is$1(value, current2) && (value !== void 0 || has$2(state.base_, prop)))
53026
53027
  return true;
53027
53028
  prepareCopy(state);
53028
53029
  markChanged(state);
@@ -61585,8 +61586,8 @@ var MAX_DIGITS = 1e9, // 0 to 1e9
61585
61586
  ONE,
61586
61587
  BASE = 1e7,
61587
61588
  LOG_BASE = 7,
61588
- MAX_SAFE_INTEGER = 9007199254740991,
61589
- MAX_E = mathfloor(MAX_SAFE_INTEGER / LOG_BASE), // 1286742750677284
61589
+ MAX_SAFE_INTEGER$2 = 9007199254740991,
61590
+ MAX_E = mathfloor(MAX_SAFE_INTEGER$2 / LOG_BASE), // 1286742750677284
61590
61591
 
61591
61592
  // Decimal.prototype object
61592
61593
  P = {};
@@ -62276,7 +62277,7 @@ P.toPower = P.pow = function (y) {
62276
62277
  if (sign < 0) throw Error(decimalError + 'NaN');
62277
62278
 
62278
62279
  // If y is a small integer use the 'exponentiation by squaring' algorithm.
62279
- } else if ((k = yn < 0 ? -yn : yn) <= MAX_SAFE_INTEGER) {
62280
+ } else if ((k = yn < 0 ? -yn : yn) <= MAX_SAFE_INTEGER$2) {
62280
62281
  r = new Ctor(ONE);
62281
62282
 
62282
62283
  // Max k of 9007199254740991 takes 53 loop iterations.
@@ -78888,7 +78889,7 @@ const TolerationsModal = ({
78888
78889
  };
78889
78890
 
78890
78891
  const LazyEnrichedTableModal = lazy(
78891
- () => import('./index-DoND5hQh.mjs').then((mod) => ({ default: mod.EnrichedTableModal }))
78892
+ () => import('./index-D0cUc0Rp.mjs').then((mod) => ({ default: mod.EnrichedTableModal }))
78892
78893
  );
78893
78894
  const renderActiveType = (activeType, extraProps) => {
78894
78895
  if (!activeType) return null;
@@ -83288,14 +83289,14 @@ var freeSelf$1 = typeof self == 'object' && self && self.Object === Object && se
83288
83289
  var root$4 = freeGlobal$2 || freeSelf$1 || Function('return this')();
83289
83290
 
83290
83291
  /** Used for built-in method references. */
83291
- var objectProto$5 = Object.prototype;
83292
+ var objectProto$7 = Object.prototype;
83292
83293
 
83293
83294
  /**
83294
83295
  * Used to resolve the
83295
83296
  * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
83296
83297
  * of values.
83297
83298
  */
83298
- var objectToString$2 = objectProto$5.toString;
83299
+ var objectToString$2 = objectProto$7.toString;
83299
83300
 
83300
83301
  /* Built-in method references for those with the same name as other `lodash` methods. */
83301
83302
  var nativeMax = Math.max,
@@ -83551,7 +83552,7 @@ function isObject$3(value) {
83551
83552
  * _.isObjectLike(null);
83552
83553
  * // => false
83553
83554
  */
83554
- function isObjectLike$2(value) {
83555
+ function isObjectLike$4(value) {
83555
83556
  return !!value && typeof value == 'object';
83556
83557
  }
83557
83558
 
@@ -83574,7 +83575,7 @@ function isObjectLike$2(value) {
83574
83575
  */
83575
83576
  function isSymbol$4(value) {
83576
83577
  return typeof value == 'symbol' ||
83577
- (isObjectLike$2(value) && objectToString$2.call(value) == symbolTag$1);
83578
+ (isObjectLike$4(value) && objectToString$2.call(value) == symbolTag$1);
83578
83579
  }
83579
83580
 
83580
83581
  /**
@@ -84016,9 +84017,9 @@ const useDefaultValueButton = (formFieldName, defaultValue, nullable) => {
84016
84017
  * // => false
84017
84018
  */
84018
84019
 
84019
- var isArray$3 = Array.isArray;
84020
+ var isArray$4 = Array.isArray;
84020
84021
 
84021
- var isArray_1 = isArray$3;
84022
+ var isArray_1 = isArray$4;
84022
84023
 
84023
84024
  /** Detect free variable `global` from Node.js. */
84024
84025
 
@@ -84046,17 +84047,17 @@ var _Symbol = Symbol$4;
84046
84047
  var Symbol$3 = _Symbol;
84047
84048
 
84048
84049
  /** Used for built-in method references. */
84049
- var objectProto$4 = Object.prototype;
84050
+ var objectProto$6 = Object.prototype;
84050
84051
 
84051
84052
  /** Used to check objects for own properties. */
84052
- var hasOwnProperty$3 = objectProto$4.hasOwnProperty;
84053
+ var hasOwnProperty$5 = objectProto$6.hasOwnProperty;
84053
84054
 
84054
84055
  /**
84055
84056
  * Used to resolve the
84056
84057
  * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
84057
84058
  * of values.
84058
84059
  */
84059
- var nativeObjectToString$1 = objectProto$4.toString;
84060
+ var nativeObjectToString$1 = objectProto$6.toString;
84060
84061
 
84061
84062
  /** Built-in value references. */
84062
84063
  var symToStringTag$1 = Symbol$3 ? Symbol$3.toStringTag : undefined;
@@ -84069,7 +84070,7 @@ var symToStringTag$1 = Symbol$3 ? Symbol$3.toStringTag : undefined;
84069
84070
  * @returns {string} Returns the raw `toStringTag`.
84070
84071
  */
84071
84072
  function getRawTag$1(value) {
84072
- var isOwn = hasOwnProperty$3.call(value, symToStringTag$1),
84073
+ var isOwn = hasOwnProperty$5.call(value, symToStringTag$1),
84073
84074
  tag = value[symToStringTag$1];
84074
84075
 
84075
84076
  try {
@@ -84092,14 +84093,14 @@ var _getRawTag = getRawTag$1;
84092
84093
 
84093
84094
  /** Used for built-in method references. */
84094
84095
 
84095
- var objectProto$3 = Object.prototype;
84096
+ var objectProto$5 = Object.prototype;
84096
84097
 
84097
84098
  /**
84098
84099
  * Used to resolve the
84099
84100
  * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
84100
84101
  * of values.
84101
84102
  */
84102
- var nativeObjectToString = objectProto$3.toString;
84103
+ var nativeObjectToString = objectProto$5.toString;
84103
84104
 
84104
84105
  /**
84105
84106
  * Converts `value` to a string using `Object.prototype.toString`.
@@ -84132,7 +84133,7 @@ var symToStringTag = Symbol$2 ? Symbol$2.toStringTag : undefined;
84132
84133
  * @param {*} value The value to query.
84133
84134
  * @returns {string} Returns the `toStringTag`.
84134
84135
  */
84135
- function baseGetTag$2(value) {
84136
+ function baseGetTag$3(value) {
84136
84137
  if (value == null) {
84137
84138
  return value === undefined ? undefinedTag : nullTag;
84138
84139
  }
@@ -84141,7 +84142,7 @@ function baseGetTag$2(value) {
84141
84142
  : objectToString(value);
84142
84143
  }
84143
84144
 
84144
- var _baseGetTag = baseGetTag$2;
84145
+ var _baseGetTag = baseGetTag$3;
84145
84146
 
84146
84147
  /**
84147
84148
  * Checks if `value` is object-like. A value is object-like if it's not `null`
@@ -84168,14 +84169,14 @@ var _baseGetTag = baseGetTag$2;
84168
84169
  * // => false
84169
84170
  */
84170
84171
 
84171
- function isObjectLike$1(value) {
84172
+ function isObjectLike$3(value) {
84172
84173
  return value != null && typeof value == 'object';
84173
84174
  }
84174
84175
 
84175
- var isObjectLike_1 = isObjectLike$1;
84176
+ var isObjectLike_1 = isObjectLike$3;
84176
84177
 
84177
- var baseGetTag$1 = _baseGetTag,
84178
- isObjectLike = isObjectLike_1;
84178
+ var baseGetTag$2 = _baseGetTag,
84179
+ isObjectLike$2 = isObjectLike_1;
84179
84180
 
84180
84181
  /** `Object#toString` result references. */
84181
84182
  var symbolTag = '[object Symbol]';
@@ -84199,12 +84200,12 @@ var symbolTag = '[object Symbol]';
84199
84200
  */
84200
84201
  function isSymbol$3(value) {
84201
84202
  return typeof value == 'symbol' ||
84202
- (isObjectLike(value) && baseGetTag$1(value) == symbolTag);
84203
+ (isObjectLike$2(value) && baseGetTag$2(value) == symbolTag);
84203
84204
  }
84204
84205
 
84205
84206
  var isSymbol_1 = isSymbol$3;
84206
84207
 
84207
- var isArray$2 = isArray_1,
84208
+ var isArray$3 = isArray_1,
84208
84209
  isSymbol$2 = isSymbol_1;
84209
84210
 
84210
84211
  /** Used to match property names within property paths. */
@@ -84220,7 +84221,7 @@ var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,
84220
84221
  * @returns {boolean} Returns `true` if `value` is a property name, else `false`.
84221
84222
  */
84222
84223
  function isKey$1(value, object) {
84223
- if (isArray$2(value)) {
84224
+ if (isArray$3(value)) {
84224
84225
  return false;
84225
84226
  }
84226
84227
  var type = typeof value;
@@ -84267,7 +84268,7 @@ function isObject$2(value) {
84267
84268
 
84268
84269
  var isObject_1 = isObject$2;
84269
84270
 
84270
- var baseGetTag = _baseGetTag,
84271
+ var baseGetTag$1 = _baseGetTag,
84271
84272
  isObject$1 = isObject_1;
84272
84273
 
84273
84274
  /** `Object#toString` result references. */
@@ -84299,7 +84300,7 @@ function isFunction$1(value) {
84299
84300
  }
84300
84301
  // The use of `Object#toString` avoids issues with the `typeof` operator
84301
84302
  // in Safari 9 which returns 'object' for typed arrays and other constructors.
84302
- var tag = baseGetTag(value);
84303
+ var tag = baseGetTag$1(value);
84303
84304
  return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
84304
84305
  }
84305
84306
 
@@ -84377,17 +84378,17 @@ var reIsHostCtor = /^\[object .+?Constructor\]$/;
84377
84378
 
84378
84379
  /** Used for built-in method references. */
84379
84380
  var funcProto = Function.prototype,
84380
- objectProto$2 = Object.prototype;
84381
+ objectProto$4 = Object.prototype;
84381
84382
 
84382
84383
  /** Used to resolve the decompiled source of functions. */
84383
84384
  var funcToString = funcProto.toString;
84384
84385
 
84385
84386
  /** Used to check objects for own properties. */
84386
- var hasOwnProperty$2 = objectProto$2.hasOwnProperty;
84387
+ var hasOwnProperty$4 = objectProto$4.hasOwnProperty;
84387
84388
 
84388
84389
  /** Used to detect if a method is native. */
84389
84390
  var reIsNative = RegExp('^' +
84390
- funcToString.call(hasOwnProperty$2).replace(reRegExpChar, '\\$&')
84391
+ funcToString.call(hasOwnProperty$4).replace(reRegExpChar, '\\$&')
84391
84392
  .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'
84392
84393
  );
84393
84394
 
@@ -84490,10 +84491,10 @@ var nativeCreate$2 = _nativeCreate;
84490
84491
  var HASH_UNDEFINED$1 = '__lodash_hash_undefined__';
84491
84492
 
84492
84493
  /** Used for built-in method references. */
84493
- var objectProto$1 = Object.prototype;
84494
+ var objectProto$3 = Object.prototype;
84494
84495
 
84495
84496
  /** Used to check objects for own properties. */
84496
- var hasOwnProperty$1 = objectProto$1.hasOwnProperty;
84497
+ var hasOwnProperty$3 = objectProto$3.hasOwnProperty;
84497
84498
 
84498
84499
  /**
84499
84500
  * Gets the hash value for `key`.
@@ -84510,7 +84511,7 @@ function hashGet$1(key) {
84510
84511
  var result = data[key];
84511
84512
  return result === HASH_UNDEFINED$1 ? undefined : result;
84512
84513
  }
84513
- return hasOwnProperty$1.call(data, key) ? data[key] : undefined;
84514
+ return hasOwnProperty$3.call(data, key) ? data[key] : undefined;
84514
84515
  }
84515
84516
 
84516
84517
  var _hashGet = hashGet$1;
@@ -84518,10 +84519,10 @@ var _hashGet = hashGet$1;
84518
84519
  var nativeCreate$1 = _nativeCreate;
84519
84520
 
84520
84521
  /** Used for built-in method references. */
84521
- var objectProto = Object.prototype;
84522
+ var objectProto$2 = Object.prototype;
84522
84523
 
84523
84524
  /** Used to check objects for own properties. */
84524
- var hasOwnProperty = objectProto.hasOwnProperty;
84525
+ var hasOwnProperty$2 = objectProto$2.hasOwnProperty;
84525
84526
 
84526
84527
  /**
84527
84528
  * Checks if a hash value for `key` exists.
@@ -84534,7 +84535,7 @@ var hasOwnProperty = objectProto.hasOwnProperty;
84534
84535
  */
84535
84536
  function hashHas$1(key) {
84536
84537
  var data = this.__data__;
84537
- return nativeCreate$1 ? (data[key] !== undefined) : hasOwnProperty.call(data, key);
84538
+ return nativeCreate$1 ? (data[key] !== undefined) : hasOwnProperty$2.call(data, key);
84538
84539
  }
84539
84540
 
84540
84541
  var _hashHas = hashHas$1;
@@ -85134,7 +85135,7 @@ var _arrayMap = arrayMap$1;
85134
85135
 
85135
85136
  var Symbol$1 = _Symbol,
85136
85137
  arrayMap = _arrayMap,
85137
- isArray$1 = isArray_1,
85138
+ isArray$2 = isArray_1,
85138
85139
  isSymbol$1 = isSymbol_1;
85139
85140
 
85140
85141
  /** Used to convert symbols to primitives and strings. */
@@ -85154,7 +85155,7 @@ function baseToString$1(value) {
85154
85155
  if (typeof value == 'string') {
85155
85156
  return value;
85156
85157
  }
85157
- if (isArray$1(value)) {
85158
+ if (isArray$2(value)) {
85158
85159
  // Recursively convert values (susceptible to call stack limits).
85159
85160
  return arrayMap(value, baseToString$1) + '';
85160
85161
  }
@@ -85196,7 +85197,7 @@ function toString$1(value) {
85196
85197
 
85197
85198
  var toString_1 = toString$1;
85198
85199
 
85199
- var isArray = isArray_1,
85200
+ var isArray$1 = isArray_1,
85200
85201
  isKey = _isKey,
85201
85202
  stringToPath = _stringToPath,
85202
85203
  toString = toString_1;
@@ -85209,14 +85210,14 @@ var isArray = isArray_1,
85209
85210
  * @param {Object} [object] The object to query keys on.
85210
85211
  * @returns {Array} Returns the cast property path array.
85211
85212
  */
85212
- function castPath$1(value, object) {
85213
- if (isArray(value)) {
85213
+ function castPath$2(value, object) {
85214
+ if (isArray$1(value)) {
85214
85215
  return value;
85215
85216
  }
85216
85217
  return isKey(value, object) ? [value] : stringToPath(toString(value));
85217
85218
  }
85218
85219
 
85219
- var _castPath = castPath$1;
85220
+ var _castPath = castPath$2;
85220
85221
 
85221
85222
  var isSymbol = isSymbol_1;
85222
85223
 
@@ -85227,7 +85228,7 @@ var isSymbol = isSymbol_1;
85227
85228
  * @param {*} value The value to inspect.
85228
85229
  * @returns {string|symbol} Returns the key.
85229
85230
  */
85230
- function toKey$1(value) {
85231
+ function toKey$2(value) {
85231
85232
  if (typeof value == 'string' || isSymbol(value)) {
85232
85233
  return value;
85233
85234
  }
@@ -85235,10 +85236,10 @@ function toKey$1(value) {
85235
85236
  return (result == '0' && (1 / value) == -Infinity) ? '-0' : result;
85236
85237
  }
85237
85238
 
85238
- var _toKey = toKey$1;
85239
+ var _toKey = toKey$2;
85239
85240
 
85240
- var castPath = _castPath,
85241
- toKey = _toKey;
85241
+ var castPath$1 = _castPath,
85242
+ toKey$1 = _toKey;
85242
85243
 
85243
85244
  /**
85244
85245
  * The base implementation of `_.get` without support for default values.
@@ -85249,13 +85250,13 @@ var castPath = _castPath,
85249
85250
  * @returns {*} Returns the resolved value.
85250
85251
  */
85251
85252
  function baseGet$1(object, path) {
85252
- path = castPath(path, object);
85253
+ path = castPath$1(path, object);
85253
85254
 
85254
85255
  var index = 0,
85255
85256
  length = path.length;
85256
85257
 
85257
85258
  while (object != null && index < length) {
85258
- object = object[toKey(path[index++])];
85259
+ object = object[toKey$1(path[index++])];
85259
85260
  }
85260
85261
  return (index && index == length) ? object : undefined;
85261
85262
  }
@@ -85298,10 +85299,82 @@ var get_1 = get;
85298
85299
 
85299
85300
  const get$1 = /*@__PURE__*/getDefaultExportFromCjs(get_1);
85300
85301
 
85302
+ const toOneOfBranchPath = (path) => path.split(".").filter(Boolean);
85303
+ const getOneOfBranchPathKey = (path) => JSON.stringify(path);
85304
+ const matchesOneOfBranch = (value, branch) => {
85305
+ const matchEntries = Object.entries(branch.match || {});
85306
+ if (matchEntries.length === 0) {
85307
+ return false;
85308
+ }
85309
+ return matchEntries.every(([path, expectedValue]) => get$1(value, path) === expectedValue);
85310
+ };
85311
+ const collectOneOfBranchMatchKeys = (branches) => {
85312
+ const set = /* @__PURE__ */ new Set();
85313
+ branches.forEach((branch) => {
85314
+ Object.keys(branch.match || {}).forEach((key) => {
85315
+ set.add(key);
85316
+ });
85317
+ });
85318
+ return Array.from(set);
85319
+ };
85320
+ const collectInactiveOneOfBranchPaths = ({
85321
+ branches,
85322
+ activeBranch
85323
+ }) => {
85324
+ const visibleBranchPathKeys = /* @__PURE__ */ new Set([
85325
+ ...Object.keys(activeBranch.match || {}).map((matchPath) => getOneOfBranchPathKey(toOneOfBranchPath(matchPath))),
85326
+ ...(activeBranch.required || []).map((requiredPath) => getOneOfBranchPathKey(toOneOfBranchPath(requiredPath)))
85327
+ ]);
85328
+ const candidatePathKeys = /* @__PURE__ */ new Set();
85329
+ const candidatePaths = [];
85330
+ const addCandidatePath = (branchPath) => {
85331
+ const normalizedPath = toOneOfBranchPath(branchPath);
85332
+ const key = getOneOfBranchPathKey(normalizedPath);
85333
+ if (visibleBranchPathKeys.has(key) || candidatePathKeys.has(key)) {
85334
+ return;
85335
+ }
85336
+ candidatePathKeys.add(key);
85337
+ candidatePaths.push(normalizedPath);
85338
+ };
85339
+ (activeBranch.forbidden || []).forEach(addCandidatePath);
85340
+ branches.filter((branch) => branch !== activeBranch).forEach((branch) => {
85341
+ (branch.required || []).forEach(addCandidatePath);
85342
+ (branch.forbidden || []).forEach(addCandidatePath);
85343
+ });
85344
+ return candidatePaths;
85345
+ };
85346
+
85301
85347
  const prettyFieldPath = (name) => {
85302
85348
  return Array.isArray(name) ? name.map((segment) => String(segment)).join(".") : String(name);
85303
85349
  };
85304
85350
  const isEmptyValue = (value) => value === void 0 || value === "" || Array.isArray(value) && value.length === 0;
85351
+ const INT32_MIN = -2147483648;
85352
+ const INT32_MAX = 2147483647;
85353
+ const DATE_PATTERN = /^(\d{4})-(\d{2})-(\d{2})$/;
85354
+ const DATE_TIME_PATTERN = /^(\d{4})-(\d{2})-(\d{2})[Tt](\d{2}):(\d{2}):(\d{2})(\.\d+)?([Zz]|[+-](\d{2}):(\d{2}))$/;
85355
+ const isValidDateParts = (year, month, day) => {
85356
+ if (month < 1 || month > 12) return false;
85357
+ const isLeapYear = year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);
85358
+ const daysByMonth = [31, isLeapYear ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
85359
+ return day >= 1 && day <= daysByMonth[month - 1];
85360
+ };
85361
+ const matchesDateFormat = (value) => {
85362
+ const match = DATE_PATTERN.exec(value);
85363
+ if (!match) return false;
85364
+ const [, year, month, day] = match.map(Number);
85365
+ return isValidDateParts(year, month, day);
85366
+ };
85367
+ const matchesDateTimeFormat = (value) => {
85368
+ const match = DATE_TIME_PATTERN.exec(value);
85369
+ if (!match) return false;
85370
+ const [, year, month, day, hour, minute, second, , , offsetHour, offsetMinute] = match;
85371
+ const parsedHour = Number(hour);
85372
+ const parsedMinute = Number(minute);
85373
+ const parsedSecond = Number(second);
85374
+ const parsedOffsetHour = offsetHour === void 0 ? void 0 : Number(offsetHour);
85375
+ const parsedOffsetMinute = offsetMinute === void 0 ? void 0 : Number(offsetMinute);
85376
+ return isValidDateParts(Number(year), Number(month), Number(day)) && parsedHour >= 0 && parsedHour <= 23 && parsedMinute >= 0 && parsedMinute <= 59 && parsedSecond >= 0 && parsedSecond <= 59 && (parsedOffsetHour === void 0 || parsedOffsetHour >= 0 && parsedOffsetHour <= 23) && (parsedOffsetMinute === void 0 || parsedOffsetMinute >= 0 && parsedOffsetMinute <= 59);
85377
+ };
85305
85378
  const isPresentForOneOf = (value) => {
85306
85379
  if (value === null) return true;
85307
85380
  if (value === void 0) return false;
@@ -85329,23 +85402,75 @@ const getOneOfRequiredGroupsError = ({
85329
85402
  }
85330
85403
  return getOneOfRequiredGroupsMessage(name, groups);
85331
85404
  };
85405
+ const formatOneOfBranchMatch = (branch) => {
85406
+ const matchEntries = Object.entries(branch.match || {});
85407
+ if (matchEntries.length === 0) {
85408
+ return "selected branch";
85409
+ }
85410
+ return matchEntries.map(([path, expectedValue]) => `${path}=${String(expectedValue)}`).join(", ");
85411
+ };
85412
+ const getOneOfBranchErrors = ({
85413
+ value,
85414
+ name,
85415
+ branches
85416
+ }) => {
85417
+ if (!isPresentForOneOf(value)) {
85418
+ return [];
85419
+ }
85420
+ const matchedBranches = branches.filter((branch) => matchesOneOfBranch(value, branch));
85421
+ if (matchedBranches.length === 0) {
85422
+ return [];
85423
+ }
85424
+ if (matchedBranches.length > 1) {
85425
+ const branchText2 = matchedBranches.map(formatOneOfBranchMatch).join(", ");
85426
+ return [`Please match exactly one branch for ${prettyFieldPath(name)}: ${branchText2}`];
85427
+ }
85428
+ const [activeBranch] = matchedBranches;
85429
+ const branchText = formatOneOfBranchMatch(activeBranch);
85430
+ const missingRequiredFields = (activeBranch.required || []).filter((path) => !isPresentForOneOf(get$1(value, path)));
85431
+ const presentForbiddenFields = (activeBranch.forbidden || []).filter((path) => isPresentForOneOf(get$1(value, path)));
85432
+ const errors = [];
85433
+ if (missingRequiredFields.length > 0) {
85434
+ errors.push(
85435
+ `Please provide required fields for ${prettyFieldPath(name)} when ${branchText}: ${formatOneOfGroup(
85436
+ missingRequiredFields
85437
+ )}`
85438
+ );
85439
+ }
85440
+ if (presentForbiddenFields.length > 0) {
85441
+ errors.push(
85442
+ `Please remove forbidden fields for ${prettyFieldPath(name)} when ${branchText}: ${formatOneOfGroup(
85443
+ presentForbiddenFields
85444
+ )}`
85445
+ );
85446
+ }
85447
+ return errors;
85448
+ };
85332
85449
  const getCurrentOneOfRequiredGroupState = ({
85333
85450
  path,
85334
85451
  nodeOneOfRequiredGroups,
85452
+ nodeOneOfBranches,
85335
85453
  value
85336
85454
  }) => {
85337
- if (!nodeOneOfRequiredGroups || nodeOneOfRequiredGroups.length === 0) {
85455
+ const hasRequiredGroups = Boolean(nodeOneOfRequiredGroups && nodeOneOfRequiredGroups.length > 0);
85456
+ const hasBranches = Boolean(nodeOneOfBranches && nodeOneOfBranches.length > 0);
85457
+ if (!hasRequiredGroups && !hasBranches) {
85338
85458
  return [];
85339
85459
  }
85340
- const error = getOneOfRequiredGroupsError({
85460
+ const requiredGroupError = hasRequiredGroups ? getOneOfRequiredGroupsError({
85341
85461
  value,
85342
85462
  name: path,
85343
- groups: nodeOneOfRequiredGroups
85344
- });
85463
+ groups: nodeOneOfRequiredGroups || []
85464
+ }) : void 0;
85465
+ const branchErrors = hasBranches ? getOneOfBranchErrors({
85466
+ value,
85467
+ name: path,
85468
+ branches: nodeOneOfBranches || []
85469
+ }) : [];
85345
85470
  return [
85346
85471
  {
85347
85472
  name: path,
85348
- errors: error ? [error] : []
85473
+ errors: [...requiredGroupError ? [requiredGroupError] : [], ...branchErrors]
85349
85474
  }
85350
85475
  ];
85351
85476
  };
@@ -85360,6 +85485,7 @@ const collectOneOfRequiredGroupStates = ({
85360
85485
  const currentState = getCurrentOneOfRequiredGroupState({
85361
85486
  path,
85362
85487
  nodeOneOfRequiredGroups: node.oneOfRequiredGroups,
85488
+ nodeOneOfBranches: node.oneOfBranches,
85363
85489
  value
85364
85490
  });
85365
85491
  const nestedObjectStates = node.properties && value && typeof value === "object" && !Array.isArray(value) ? collectOneOfRequiredGroupStates({
@@ -85371,6 +85497,7 @@ const collectOneOfRequiredGroupStates = ({
85371
85497
  ...getCurrentOneOfRequiredGroupState({
85372
85498
  path: [...path, index],
85373
85499
  nodeOneOfRequiredGroups: node.items?.oneOfRequiredGroups,
85500
+ nodeOneOfBranches: node.items?.oneOfBranches,
85374
85501
  value: get$1(values, [...path, index])
85375
85502
  }),
85376
85503
  ...node.items?.properties ? collectOneOfRequiredGroupStates({
@@ -85401,6 +85528,145 @@ const getRequiredRule = (isRequired, name, nullable) => {
85401
85528
  }
85402
85529
  return { required: true, message };
85403
85530
  };
85531
+ const getPatternRule = (pattern, name) => {
85532
+ if (!pattern) {
85533
+ return void 0;
85534
+ }
85535
+ let regexp;
85536
+ const fieldPath = prettyFieldPath(name);
85537
+ try {
85538
+ regexp = new RegExp(pattern);
85539
+ } catch (error) {
85540
+ console.warn("[BlackholeForm] OpenAPI pattern cannot be compiled as JavaScript RegExp", {
85541
+ fieldPath,
85542
+ pattern,
85543
+ error
85544
+ });
85545
+ return void 0;
85546
+ }
85547
+ const message = `Value must match pattern for ${fieldPath}: ${pattern}`;
85548
+ return {
85549
+ validator: async (_, value) => {
85550
+ if (value === void 0 || value === null || value === "") return;
85551
+ if (typeof value !== "string") return;
85552
+ if (!regexp.test(value)) {
85553
+ throw new Error(message);
85554
+ }
85555
+ }
85556
+ };
85557
+ };
85558
+ const getStringLengthRule = ({
85559
+ minLength,
85560
+ maxLength,
85561
+ name
85562
+ }) => {
85563
+ if (minLength === void 0 && maxLength === void 0) {
85564
+ return void 0;
85565
+ }
85566
+ let message = `Value must be at most ${maxLength} characters for ${prettyFieldPath(name)}`;
85567
+ if (minLength !== void 0 && maxLength !== void 0) {
85568
+ message = `Value must be between ${minLength} and ${maxLength} characters for ${prettyFieldPath(name)}`;
85569
+ } else if (minLength !== void 0) {
85570
+ message = `Value must be at least ${minLength} characters for ${prettyFieldPath(name)}`;
85571
+ }
85572
+ return {
85573
+ validator: async (_, value) => {
85574
+ if (value === void 0 || value === null || value === "") return;
85575
+ if (typeof value !== "string") return;
85576
+ if (minLength !== void 0 && value.length < minLength) {
85577
+ throw new Error(message);
85578
+ }
85579
+ if (maxLength !== void 0 && value.length > maxLength) {
85580
+ throw new Error(message);
85581
+ }
85582
+ }
85583
+ };
85584
+ };
85585
+ const getStringFormatRule = (format, name) => {
85586
+ if (!format || format !== "date" && format !== "date-time") {
85587
+ return void 0;
85588
+ }
85589
+ const message = format === "date" ? `Value must match date format for ${prettyFieldPath(name)}: YYYY-MM-DD` : `Value must match date-time format for ${prettyFieldPath(name)}: RFC 3339 date-time`;
85590
+ return {
85591
+ validator: async (_, value) => {
85592
+ if (value === void 0 || value === null || value === "") return;
85593
+ if (typeof value !== "string") return;
85594
+ const matchesFormat = format === "date" ? matchesDateFormat(value) : matchesDateTimeFormat(value);
85595
+ if (!matchesFormat) {
85596
+ throw new Error(message);
85597
+ }
85598
+ }
85599
+ };
85600
+ };
85601
+ const getArrayItemsRule = ({
85602
+ minItems,
85603
+ maxItems,
85604
+ name
85605
+ }) => {
85606
+ if (minItems === void 0 && maxItems === void 0) {
85607
+ return void 0;
85608
+ }
85609
+ let message = `Value must contain at most ${maxItems} items for ${prettyFieldPath(name)}`;
85610
+ if (minItems !== void 0 && maxItems !== void 0) {
85611
+ message = `Value must contain between ${minItems} and ${maxItems} items for ${prettyFieldPath(name)}`;
85612
+ } else if (minItems !== void 0) {
85613
+ message = `Value must contain at least ${minItems} items for ${prettyFieldPath(name)}`;
85614
+ }
85615
+ return {
85616
+ validator: async (_, value) => {
85617
+ if (value === void 0 || value === null) return;
85618
+ if (!Array.isArray(value)) return;
85619
+ if (minItems !== void 0 && value.length < minItems) {
85620
+ throw new Error(message);
85621
+ }
85622
+ if (maxItems !== void 0 && value.length > maxItems) {
85623
+ throw new Error(message);
85624
+ }
85625
+ }
85626
+ };
85627
+ };
85628
+ const getNumberFormatRule = (format, name) => {
85629
+ if (format !== "int32") {
85630
+ return void 0;
85631
+ }
85632
+ const message = `Value must be a 32-bit signed integer for ${prettyFieldPath(name)}`;
85633
+ return {
85634
+ validator: async (_, value) => {
85635
+ if (value === void 0 || value === null || value === "") return;
85636
+ if (typeof value !== "number") return;
85637
+ if (!Number.isInteger(value) || value < INT32_MIN || value > INT32_MAX) {
85638
+ throw new Error(message);
85639
+ }
85640
+ }
85641
+ };
85642
+ };
85643
+ const getNumberRangeRule = ({
85644
+ minimum,
85645
+ maximum,
85646
+ name
85647
+ }) => {
85648
+ if (minimum === void 0 && maximum === void 0) {
85649
+ return void 0;
85650
+ }
85651
+ let message = `Value must be at most ${maximum} for ${prettyFieldPath(name)}`;
85652
+ if (minimum !== void 0 && maximum !== void 0) {
85653
+ message = `Value must be between ${minimum} and ${maximum} for ${prettyFieldPath(name)}`;
85654
+ } else if (minimum !== void 0) {
85655
+ message = `Value must be at least ${minimum} for ${prettyFieldPath(name)}`;
85656
+ }
85657
+ return {
85658
+ validator: async (_, value) => {
85659
+ if (value === void 0 || value === null || value === "") return;
85660
+ if (typeof value !== "number") return;
85661
+ if (minimum !== void 0 && value < minimum) {
85662
+ throw new Error(message);
85663
+ }
85664
+ if (maximum !== void 0 && value > maximum) {
85665
+ throw new Error(message);
85666
+ }
85667
+ }
85668
+ };
85669
+ };
85404
85670
 
85405
85671
  const FormListInput = ({
85406
85672
  name,
@@ -85416,7 +85682,9 @@ const FormListInput = ({
85416
85682
  customProps,
85417
85683
  urlParams,
85418
85684
  onRemoveByMinus,
85419
- defaultValue
85685
+ defaultValue,
85686
+ minItems,
85687
+ maxItems
85420
85688
  }) => {
85421
85689
  const designNewLayout = useDesignNewLayout();
85422
85690
  const onValuesChangeCallBack = useOnValuesChangeCallback();
@@ -85428,6 +85696,7 @@ const FormListInput = ({
85428
85696
  const fixedName = name === "nodeName" ? "nodeNameBecauseOfSuddenBug" : name;
85429
85697
  const formFieldName = arrName || fixedName;
85430
85698
  const defaultBtn = useDefaultValueButton(formFieldName, defaultValue);
85699
+ const arrayItemsRule = getArrayItemsRule({ minItems, maxItems, name });
85431
85700
  const fullFieldPath = normalizeNameToPath(fixedName);
85432
85701
  const baseForRelative = listItemBasePath(fullFieldPath);
85433
85702
  const relatedPath = customProps.relatedValuePath ? resolveFormPath(customProps.relatedValuePath, baseForRelative) : void 0;
@@ -85563,7 +85832,10 @@ const FormListInput = ({
85563
85832
  ResetedFormItem$1,
85564
85833
  {
85565
85834
  name: formFieldName,
85566
- rules: [getRequiredRule(forceNonRequired === false && !!required?.includes(getStringByName(name)), name)],
85835
+ rules: [
85836
+ getRequiredRule(forceNonRequired === false && !!required?.includes(getStringByName(name)), name),
85837
+ ...arrayItemsRule ? [arrayItemsRule] : []
85838
+ ],
85567
85839
  validateTrigger: "onBlur",
85568
85840
  hasFeedback: designNewLayout ? { icons: feedbackIcons } : true,
85569
85841
  style: { flex: 1 },
@@ -85974,15 +86246,42 @@ const FormRangeInput = ({
85974
86246
  );
85975
86247
  };
85976
86248
 
86249
+ const isNamespaceAvailable = (candidate, namespaceData) => namespaceData.selectValues.some((option) => option.value === candidate);
85977
86250
  const FormNamespaceInput = ({
85978
86251
  name,
85979
86252
  namespaceData,
85980
86253
  isAdditionalProperties,
85981
86254
  removeField,
85982
- defaultValue
86255
+ defaultValue,
86256
+ contextNamespace
85983
86257
  }) => {
85984
86258
  const designNewLayout = useDesignNewLayout();
86259
+ const form = Form.useFormInstance();
85985
86260
  const defaultBtn = useDefaultValueButton(name, defaultValue);
86261
+ const cascadeAppliedRef = useRef(false);
86262
+ useEffect(() => {
86263
+ if (cascadeAppliedRef.current) return;
86264
+ if (!namespaceData) return;
86265
+ const currentValue = form.getFieldValue(name);
86266
+ if (currentValue !== void 0 && currentValue !== null && currentValue !== "") {
86267
+ cascadeAppliedRef.current = true;
86268
+ return;
86269
+ }
86270
+ const defaultIsValid = defaultValue !== void 0 && isNamespaceAvailable(defaultValue, namespaceData);
86271
+ if (defaultValue !== void 0 && !defaultIsValid) {
86272
+ console.warn(
86273
+ `[FormNamespaceInput] Default namespace "${defaultValue}" is not available in this cluster for ${prettyFieldPath(
86274
+ name
86275
+ )}, falling back to URL context`
86276
+ );
86277
+ }
86278
+ if (defaultIsValid) {
86279
+ form.setFieldValue(name, defaultValue);
86280
+ } else if (contextNamespace !== void 0 && isNamespaceAvailable(contextNamespace, namespaceData)) {
86281
+ form.setFieldValue(name, contextNamespace);
86282
+ }
86283
+ cascadeAppliedRef.current = true;
86284
+ }, [namespaceData, defaultValue, contextNamespace, form, name]);
85986
86285
  if (!namespaceData) {
85987
86286
  return null;
85988
86287
  }
@@ -86065,7 +86364,11 @@ const FormStringInput = ({
86065
86364
  onRemoveByMinus,
86066
86365
  defaultValue,
86067
86366
  example,
86068
- nullable
86367
+ nullable,
86368
+ format,
86369
+ pattern,
86370
+ minLength,
86371
+ maxLength
86069
86372
  }) => {
86070
86373
  const designNewLayout = useDesignNewLayout();
86071
86374
  const fixedName = name === "nodeName" ? "nodeNameBecauseOfSuddenBug" : name;
@@ -86073,6 +86376,9 @@ const FormStringInput = ({
86073
86376
  const defaultBtn = useDefaultValueButton(formFieldName, defaultValue, nullable);
86074
86377
  const nullBtn = useNullToggleButton(formFieldName, nullable);
86075
86378
  const exampleTooltip = getExampleTooltip(defaultValue, example);
86379
+ const formatRule = getStringFormatRule(format, name);
86380
+ const patternRule = getPatternRule(pattern, name);
86381
+ const lengthRule = getStringLengthRule({ minLength, maxLength, name });
86076
86382
  const title = /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
86077
86383
  getStringByName(name),
86078
86384
  required?.includes(getStringByName(name)) && /* @__PURE__ */ jsxRuntimeExports.jsx(Typography.Text, { type: "danger", children: "*" }),
@@ -86102,7 +86408,10 @@ const FormStringInput = ({
86102
86408
  {
86103
86409
  name: formFieldName,
86104
86410
  rules: [
86105
- getRequiredRule(forceNonRequired === false && !!required?.includes(getStringByName(name)), name, nullable)
86411
+ getRequiredRule(forceNonRequired === false && !!required?.includes(getStringByName(name)), name, nullable),
86412
+ ...formatRule ? [formatRule] : [],
86413
+ ...patternRule ? [patternRule] : [],
86414
+ ...lengthRule ? [lengthRule] : []
86106
86415
  ],
86107
86416
  validateTrigger: "onBlur",
86108
86417
  hasFeedback: designNewLayout ? { icons: feedbackIcons } : true,
@@ -86160,7 +86469,11 @@ const FormStringMultilineInput = ({
86160
86469
  isBase64,
86161
86470
  defaultValue,
86162
86471
  example,
86163
- nullable
86472
+ nullable,
86473
+ format,
86474
+ pattern,
86475
+ minLength,
86476
+ maxLength
86164
86477
  }) => {
86165
86478
  const designNewLayout = useDesignNewLayout();
86166
86479
  const placeholder = buildPlaceholder(name, defaultValue, example);
@@ -86171,6 +86484,9 @@ const FormStringMultilineInput = ({
86171
86484
  const form = Form.useFormInstance();
86172
86485
  const defaultBtn = useDefaultValueButton(formFieldName, defaultValue, nullable);
86173
86486
  const nullBtn = useNullToggleButton(formFieldName, nullable);
86487
+ const formatRule = !isBase64 ? getStringFormatRule(format, name) : void 0;
86488
+ const patternRule = !isBase64 ? getPatternRule(pattern, name) : void 0;
86489
+ const lengthRule = !isBase64 ? getStringLengthRule({ minLength, maxLength, name }) : void 0;
86174
86490
  const title = /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
86175
86491
  getStringByName(name),
86176
86492
  required?.includes(getStringByName(name)) && /* @__PURE__ */ jsxRuntimeExports.jsx(Typography.Text, { type: "danger", children: "*" }),
@@ -86209,7 +86525,10 @@ const FormStringMultilineInput = ({
86209
86525
  {
86210
86526
  name: arrName || fixedName,
86211
86527
  rules: [
86212
- getRequiredRule(forceNonRequired === false && !!required?.includes(getStringByName(name)), name, nullable)
86528
+ getRequiredRule(forceNonRequired === false && !!required?.includes(getStringByName(name)), name, nullable),
86529
+ ...formatRule ? [formatRule] : [],
86530
+ ...patternRule ? [patternRule] : [],
86531
+ ...lengthRule ? [lengthRule] : []
86213
86532
  ],
86214
86533
  validateTrigger: "onBlur",
86215
86534
  hasFeedback: designNewLayout ? { icons: feedbackIcons } : true,
@@ -86401,13 +86720,18 @@ const FormNumberInput = ({
86401
86720
  onRemoveByMinus,
86402
86721
  defaultValue,
86403
86722
  example,
86404
- nullable
86723
+ nullable,
86724
+ format,
86725
+ minimum,
86726
+ maximum
86405
86727
  }) => {
86406
86728
  const designNewLayout = useDesignNewLayout();
86407
86729
  const formFieldName = arrName || name;
86408
86730
  const defaultBtn = useDefaultValueButton(formFieldName, defaultValue, nullable);
86409
86731
  const nullBtn = useNullToggleButton(formFieldName, nullable);
86410
86732
  const exampleTooltip = getExampleTooltip(defaultValue, example);
86733
+ const formatRule = getNumberFormatRule(format, name);
86734
+ const rangeRule = getNumberRangeRule({ minimum, maximum, name });
86411
86735
  const title = /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
86412
86736
  getStringByName(name),
86413
86737
  required?.includes(getStringByName(name)) && /* @__PURE__ */ jsxRuntimeExports.jsx(Typography.Text, { type: "danger", children: "*" }),
@@ -86437,7 +86761,9 @@ const FormNumberInput = ({
86437
86761
  {
86438
86762
  name: formFieldName,
86439
86763
  rules: [
86440
- getRequiredRule(forceNonRequired === false && !!required?.includes(getStringByName(name)), name, nullable)
86764
+ getRequiredRule(forceNonRequired === false && !!required?.includes(getStringByName(name)), name, nullable),
86765
+ ...formatRule ? [formatRule] : [],
86766
+ ...rangeRule ? [rangeRule] : []
86441
86767
  ],
86442
86768
  validateTrigger: "onBlur",
86443
86769
  hasFeedback: designNewLayout ? { icons: feedbackIcons } : true,
@@ -86446,6 +86772,8 @@ const FormNumberInput = ({
86446
86772
  {
86447
86773
  placeholder: buildPlaceholder(name, defaultValue, example),
86448
86774
  step: isNumber ? 0.1 : 1,
86775
+ min: minimum,
86776
+ max: maximum,
86449
86777
  disabled: nullBtn.visible && nullBtn.isNull
86450
86778
  }
86451
86779
  )
@@ -86468,6 +86796,7 @@ const FormObjectFromSwagger = ({
86468
86796
  collapseTitle,
86469
86797
  collapseFormName,
86470
86798
  oneOfRequiredGroups,
86799
+ oneOfBranches,
86471
86800
  validationErrors,
86472
86801
  data,
86473
86802
  inputProps,
@@ -86476,6 +86805,7 @@ const FormObjectFromSwagger = ({
86476
86805
  const designNewLayout = useDesignNewLayout();
86477
86806
  const form = Form.useFormInstance();
86478
86807
  const [additionalPropValue, setAddditionalPropValue] = useState();
86808
+ const hasOneOfValidation = Boolean(oneOfRequiredGroups && oneOfRequiredGroups.length > 0) || Boolean(oneOfBranches && oneOfBranches.length > 0);
86479
86809
  const focusFieldInput = (path) => {
86480
86810
  if (typeof window === "undefined" || typeof document === "undefined") {
86481
86811
  return;
@@ -86539,7 +86869,7 @@ const FormObjectFromSwagger = ({
86539
86869
  persistedCheckbox: inputProps ? void 0 : /* @__PURE__ */ jsxRuntimeExports.jsx(PersistedCheckbox, { formName: persistName || name, persistedControls, type: "obj" }),
86540
86870
  children: [
86541
86871
  data,
86542
- oneOfRequiredGroups && oneOfRequiredGroups.length > 0 ? /* @__PURE__ */ jsxRuntimeExports.jsx(Form.ErrorList, { errors: validationErrors }) : null,
86872
+ hasOneOfValidation ? /* @__PURE__ */ jsxRuntimeExports.jsx(Form.ErrorList, { errors: validationErrors }) : null,
86543
86873
  inputProps && /* @__PURE__ */ jsxRuntimeExports.jsx(
86544
86874
  Input,
86545
86875
  {
@@ -86953,7 +87283,12 @@ const getStringFormItemFromSwagger = ({
86953
87283
  onRemoveByMinus,
86954
87284
  defaultValue,
86955
87285
  example,
86956
- nullable
87286
+ nullable,
87287
+ format,
87288
+ pattern,
87289
+ minLength,
87290
+ maxLength,
87291
+ urlParams
86957
87292
  }) => {
86958
87293
  if (Array.isArray(name) && name.length === 2 && name[0] === "metadata" && name[1] === "namespace" && namespaceData) {
86959
87294
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
@@ -86962,7 +87297,9 @@ const getStringFormItemFromSwagger = ({
86962
87297
  name,
86963
87298
  namespaceData,
86964
87299
  isAdditionalProperties,
86965
- removeField
87300
+ removeField,
87301
+ defaultValue,
87302
+ contextNamespace: urlParams?.namespace
86966
87303
  },
86967
87304
  `${arrKey}-${JSON.stringify(name)}-namespace`
86968
87305
  );
@@ -86983,7 +87320,11 @@ const getStringFormItemFromSwagger = ({
86983
87320
  onRemoveByMinus,
86984
87321
  defaultValue,
86985
87322
  example,
86986
- nullable
87323
+ nullable,
87324
+ format,
87325
+ pattern,
87326
+ minLength,
87327
+ maxLength
86987
87328
  },
86988
87329
  `${arrKey}-${JSON.stringify(name)}`
86989
87330
  );
@@ -87042,7 +87383,10 @@ const getNumberFormItemFromSwagger = ({
87042
87383
  onRemoveByMinus,
87043
87384
  defaultValue,
87044
87385
  example,
87045
- nullable
87386
+ nullable,
87387
+ format,
87388
+ minimum,
87389
+ maximum
87046
87390
  }) => {
87047
87391
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
87048
87392
  FormNumberInput,
@@ -87061,7 +87405,10 @@ const getNumberFormItemFromSwagger = ({
87061
87405
  onRemoveByMinus,
87062
87406
  defaultValue,
87063
87407
  example,
87064
- nullable
87408
+ nullable,
87409
+ format,
87410
+ minimum,
87411
+ maximum
87065
87412
  },
87066
87413
  `${arrKey}-${JSON.stringify(name)}`
87067
87414
  );
@@ -87114,7 +87461,11 @@ const getStringMultilineFormItemFromSwagger = ({
87114
87461
  isBase64,
87115
87462
  defaultValue,
87116
87463
  example,
87117
- nullable
87464
+ nullable,
87465
+ format,
87466
+ pattern,
87467
+ minLength,
87468
+ maxLength
87118
87469
  }) => {
87119
87470
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
87120
87471
  FormStringMultilineInput,
@@ -87133,7 +87484,11 @@ const getStringMultilineFormItemFromSwagger = ({
87133
87484
  isBase64,
87134
87485
  defaultValue,
87135
87486
  example,
87136
- nullable
87487
+ nullable,
87488
+ format,
87489
+ pattern,
87490
+ minLength,
87491
+ maxLength
87137
87492
  },
87138
87493
  `${arrKey}-${JSON.stringify(name)}`
87139
87494
  );
@@ -87152,7 +87507,9 @@ const getListInputFormItemFromSwagger = ({
87152
87507
  customProps,
87153
87508
  urlParams,
87154
87509
  onRemoveByMinus,
87155
- defaultValue
87510
+ defaultValue,
87511
+ minItems,
87512
+ maxItems
87156
87513
  }) => {
87157
87514
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
87158
87515
  FormListInput,
@@ -87170,7 +87527,9 @@ const getListInputFormItemFromSwagger = ({
87170
87527
  customProps,
87171
87528
  urlParams,
87172
87529
  onRemoveByMinus,
87173
- defaultValue
87530
+ defaultValue,
87531
+ minItems,
87532
+ maxItems
87174
87533
  },
87175
87534
  `${arrKey}-${JSON.stringify(name)}`
87176
87535
  );
@@ -87225,6 +87584,21 @@ const getArrayFormItemFromSwagger = ({
87225
87584
  onRemoveByMinus
87226
87585
  }) => {
87227
87586
  if (schema.type === "array") {
87587
+ const requiredArrayRule = !forceNonRequired && required?.includes(getStringByName(name)) ? {
87588
+ validator: async (_, value) => {
87589
+ if (!Array.isArray(value) || value.length < 1) {
87590
+ return Promise.reject(new Error(`Please enter ${prettyFieldPath(name)}`));
87591
+ }
87592
+ }
87593
+ } : void 0;
87594
+ const arrayItemsRule = getArrayItemsRule({
87595
+ minItems: schema.minItems,
87596
+ maxItems: schema.maxItems,
87597
+ name
87598
+ });
87599
+ const arrayRules = [];
87600
+ if (requiredArrayRule) arrayRules.push(requiredArrayRule);
87601
+ if (arrayItemsRule) arrayRules.push(arrayItemsRule);
87228
87602
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(HiddenContainer$1, { name, children: [
87229
87603
  /* @__PURE__ */ jsxRuntimeExports.jsx(
87230
87604
  FormArrayHeader,
@@ -87243,15 +87617,7 @@ const getArrayFormItemFromSwagger = ({
87243
87617
  Styled$h.ResetedFormList,
87244
87618
  {
87245
87619
  name: arrName || name,
87246
- rules: !forceNonRequired && required?.includes(getStringByName(name)) ? [
87247
- {
87248
- validator: async (_, value) => {
87249
- if (!value || value.length < 1) {
87250
- return Promise.reject(new Error(`Please enter ${prettyFieldPath(name)}`));
87251
- }
87252
- }
87253
- }
87254
- ] : void 0,
87620
+ rules: arrayRules.length > 0 ? arrayRules : void 0,
87255
87621
  children: (fields, { add, remove }, { errors }) => /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
87256
87622
  fields.map((field) => {
87257
87623
  const itemSchema = schema.items;
@@ -87270,7 +87636,12 @@ const getArrayFormItemFromSwagger = ({
87270
87636
  description: description2,
87271
87637
  removeField,
87272
87638
  persistedControls,
87273
- onRemoveByMinus: () => remove(field.name)
87639
+ onRemoveByMinus: () => remove(field.name),
87640
+ format: itemSchema?.format,
87641
+ pattern: itemSchema?.pattern,
87642
+ minLength: itemSchema?.minLength,
87643
+ maxLength: itemSchema?.maxLength,
87644
+ urlParams
87274
87645
  }),
87275
87646
  (fieldType === "number" || fieldType === "integer") && getNumberFormItemFromSwagger({
87276
87647
  isNumber: fieldType === "number",
@@ -87282,7 +87653,10 @@ const getArrayFormItemFromSwagger = ({
87282
87653
  description: description2,
87283
87654
  removeField,
87284
87655
  persistedControls,
87285
- onRemoveByMinus: () => remove(field.name)
87656
+ onRemoveByMinus: () => remove(field.name),
87657
+ format: itemSchema?.format,
87658
+ minimum: itemSchema?.minimum,
87659
+ maximum: itemSchema?.maximum
87286
87660
  }),
87287
87661
  (fieldType === "rangeInputCpu" || fieldType === "rangeInputMemory") && getRangeInputFormItemFromSwagger({
87288
87662
  name: Array.isArray(name) ? [...name, field.name] : [name, field.name],
@@ -87308,7 +87682,9 @@ const getArrayFormItemFromSwagger = ({
87308
87682
  persistedControls,
87309
87683
  customProps: schema.items.customProps,
87310
87684
  urlParams,
87311
- onRemoveByMinus: () => remove(field.name)
87685
+ onRemoveByMinus: () => remove(field.name),
87686
+ minItems: itemSchema?.minItems,
87687
+ maxItems: itemSchema?.maxItems
87312
87688
  }),
87313
87689
  (fieldType === "multilineString" || fieldType === "multilineStringBase64") && getStringMultilineFormItemFromSwagger({
87314
87690
  name: Array.isArray(name) ? [...name, field.name] : [name, field.name],
@@ -87320,7 +87696,11 @@ const getArrayFormItemFromSwagger = ({
87320
87696
  removeField,
87321
87697
  persistedControls,
87322
87698
  onRemoveByMinus: () => remove(field.name),
87323
- isBase64: fieldType === "multilineStringBase64"
87699
+ isBase64: fieldType === "multilineStringBase64",
87700
+ format: itemSchema?.format,
87701
+ pattern: itemSchema?.pattern,
87702
+ minLength: itemSchema?.minLength,
87703
+ maxLength: itemSchema?.maxLength
87324
87704
  }),
87325
87705
  fieldType === "boolean" && getBooleanFormItemFromSwagger({
87326
87706
  name: Array.isArray(name) ? [...name, field.name] : [name, field.name],
@@ -87355,6 +87735,7 @@ const getArrayFormItemFromSwagger = ({
87355
87735
  // merging properties near items by this
87356
87736
  properties: deepMerge(entry.properties, additionalProperties?.[field.key]?.properties || {}),
87357
87737
  oneOfRequiredGroups: entry.oneOfRequiredGroups,
87738
+ oneOfBranches: entry.oneOfBranches,
87358
87739
  name: Array.isArray(name) ? [...name, field.name] : [name, field.name],
87359
87740
  arrKey: field.key,
87360
87741
  arrName: [field.name],
@@ -87383,6 +87764,7 @@ const getArrayFormItemFromSwagger = ({
87383
87764
  {
87384
87765
  type: "text",
87385
87766
  size: "small",
87767
+ disabled: schema.maxItems !== void 0 && fields.length >= schema.maxItems,
87386
87768
  onClick: () => {
87387
87769
  add();
87388
87770
  },
@@ -87482,7 +87864,12 @@ const getObjectFormItemsDraft = ({
87482
87864
  persistedControls,
87483
87865
  defaultValue: extractStringDefault(properties[el].default),
87484
87866
  example: extractStringDefault(properties[el].example),
87485
- nullable: properties[el].nullable
87867
+ nullable: properties[el].nullable,
87868
+ format: properties[el].format,
87869
+ pattern: properties[el].pattern,
87870
+ minLength: properties[el].minLength,
87871
+ maxLength: properties[el].maxLength,
87872
+ urlParams
87486
87873
  });
87487
87874
  }
87488
87875
  if (properties[el].type === "number" || properties[el].type === "integer") {
@@ -87501,7 +87888,10 @@ const getObjectFormItemsDraft = ({
87501
87888
  persistedControls,
87502
87889
  defaultValue: extractNumberDefault(properties[el].default),
87503
87890
  example: extractNumberDefault(properties[el].example),
87504
- nullable: properties[el].nullable
87891
+ nullable: properties[el].nullable,
87892
+ format: properties[el].format,
87893
+ minimum: properties[el].minimum,
87894
+ maximum: properties[el].maximum
87505
87895
  });
87506
87896
  }
87507
87897
  if (properties[el].type === "rangeInputCpu" || properties[el].type === "rangeInputMemory") {
@@ -87534,7 +87924,9 @@ const getObjectFormItemsDraft = ({
87534
87924
  removeField,
87535
87925
  persistedControls,
87536
87926
  urlParams,
87537
- defaultValue: extractListInputDefault(properties[el].default)
87927
+ defaultValue: extractListInputDefault(properties[el].default),
87928
+ minItems: properties[el].minItems,
87929
+ maxItems: properties[el].maxItems
87538
87930
  });
87539
87931
  }
87540
87932
  if (properties[el].type === "multilineString" || properties[el].type === "multilineStringBase64") {
@@ -87553,7 +87945,11 @@ const getObjectFormItemsDraft = ({
87553
87945
  isBase64: properties[el].type === "multilineStringBase64",
87554
87946
  defaultValue: extractStringDefault(properties[el].default),
87555
87947
  example: extractStringDefault(properties[el].example),
87556
- nullable: properties[el].nullable
87948
+ nullable: properties[el].nullable,
87949
+ format: properties[el].format,
87950
+ pattern: properties[el].pattern,
87951
+ minLength: properties[el].minLength,
87952
+ maxLength: properties[el].maxLength
87557
87953
  });
87558
87954
  }
87559
87955
  if (properties[el].type === "boolean") {
@@ -87638,6 +88034,7 @@ const getObjectFormItemsDraft = ({
87638
88034
  return getObjectFormItemFromSwagger({
87639
88035
  properties: properties[el].properties,
87640
88036
  oneOfRequiredGroups: properties[el].oneOfRequiredGroups,
88037
+ oneOfBranches: properties[el].oneOfBranches,
87641
88038
  name: Array.isArray(name) ? [...name, String(el)] : [name, String(el)],
87642
88039
  arrKey,
87643
88040
  arrName: Array.isArray(arrName) ? [...arrName, String(el)] : void 0,
@@ -87666,6 +88063,7 @@ const getObjectFormItemsDraft = ({
87666
88063
  const getObjectFormItemFromSwagger = ({
87667
88064
  properties,
87668
88065
  oneOfRequiredGroups,
88066
+ oneOfBranches,
87669
88067
  objectValidationErrors,
87670
88068
  name,
87671
88069
  arrKey,
@@ -87717,6 +88115,7 @@ const getObjectFormItemFromSwagger = ({
87717
88115
  selfRequired,
87718
88116
  description,
87719
88117
  oneOfRequiredGroups,
88118
+ oneOfBranches,
87720
88119
  validationErrors: objectValidationErrors?.[pathKey$1(Array.isArray(name) ? name : [name])],
87721
88120
  isAdditionalProperties,
87722
88121
  removeField,
@@ -87873,6 +88272,370 @@ const isPathArray = (p) => Array.isArray(p);
87873
88272
  const toStringPath = (p) => isPathArray(p) ? p.map(String) : [String(p)];
87874
88273
  const isPrefix = (full, prefix) => prefix.length <= full.length && prefix.every((seg, i) => full[i] === seg);
87875
88274
 
88275
+ const isPresentForOneOfBranchVisibility = (value) => {
88276
+ if (value === null) return true;
88277
+ if (value === void 0) return false;
88278
+ if (typeof value === "string") return value.length > 0;
88279
+ if (Array.isArray(value)) return value.length > 0;
88280
+ if (typeof value === "object") return Object.keys(value).length > 0;
88281
+ return true;
88282
+ };
88283
+ const getCurrentNodeHiddenPaths = ({
88284
+ node,
88285
+ value,
88286
+ path
88287
+ }) => {
88288
+ if (!node.oneOfBranches || node.oneOfBranches.length === 0) {
88289
+ return [];
88290
+ }
88291
+ const matchedBranches = node.oneOfBranches.filter((branch) => matchesOneOfBranch(value, branch));
88292
+ if (matchedBranches.length !== 1) {
88293
+ return [];
88294
+ }
88295
+ const [activeBranch] = matchedBranches;
88296
+ return collectInactiveOneOfBranchPaths({ branches: node.oneOfBranches, activeBranch }).filter((branchPath) => !isPresentForOneOfBranchVisibility(get$1(value, branchPath))).map((branchPath) => [...path, ...branchPath]);
88297
+ };
88298
+ const collectOneOfBranchHiddenPaths = ({
88299
+ properties,
88300
+ values,
88301
+ currentPath = []
88302
+ }) => {
88303
+ return Object.entries(properties).flatMap(([key, node]) => {
88304
+ const path = [...currentPath, key];
88305
+ const value = get$1(values, path);
88306
+ const currentHiddenPaths = getCurrentNodeHiddenPaths({
88307
+ node,
88308
+ value,
88309
+ path
88310
+ });
88311
+ const nestedObjectHiddenPaths = node.properties ? collectOneOfBranchHiddenPaths({
88312
+ properties: node.properties,
88313
+ values,
88314
+ currentPath: path
88315
+ }) : [];
88316
+ const nestedArrayHiddenPaths = node.type === "array" && node.items && Array.isArray(value) ? value.flatMap((_, index) => {
88317
+ const itemPath = [...path, index];
88318
+ const itemValue = get$1(values, itemPath);
88319
+ const itemHiddenPaths = getCurrentNodeHiddenPaths({
88320
+ node: node.items,
88321
+ value: itemValue,
88322
+ path: itemPath
88323
+ });
88324
+ return [
88325
+ ...itemHiddenPaths,
88326
+ ...node.items?.properties ? collectOneOfBranchHiddenPaths({
88327
+ properties: node.items.properties,
88328
+ values,
88329
+ currentPath: itemPath
88330
+ }) : []
88331
+ ];
88332
+ }) : [];
88333
+ return [...currentHiddenPaths, ...nestedObjectHiddenPaths, ...nestedArrayHiddenPaths];
88334
+ });
88335
+ };
88336
+
88337
+ /** Used for built-in method references. */
88338
+
88339
+ var objectProto$1 = Object.prototype;
88340
+
88341
+ /** Used to check objects for own properties. */
88342
+ var hasOwnProperty$1 = objectProto$1.hasOwnProperty;
88343
+
88344
+ /**
88345
+ * The base implementation of `_.has` without support for deep paths.
88346
+ *
88347
+ * @private
88348
+ * @param {Object} [object] The object to query.
88349
+ * @param {Array|string} key The key to check.
88350
+ * @returns {boolean} Returns `true` if `key` exists, else `false`.
88351
+ */
88352
+ function baseHas$1(object, key) {
88353
+ return object != null && hasOwnProperty$1.call(object, key);
88354
+ }
88355
+
88356
+ var _baseHas = baseHas$1;
88357
+
88358
+ var baseGetTag = _baseGetTag,
88359
+ isObjectLike$1 = isObjectLike_1;
88360
+
88361
+ /** `Object#toString` result references. */
88362
+ var argsTag = '[object Arguments]';
88363
+
88364
+ /**
88365
+ * The base implementation of `_.isArguments`.
88366
+ *
88367
+ * @private
88368
+ * @param {*} value The value to check.
88369
+ * @returns {boolean} Returns `true` if `value` is an `arguments` object,
88370
+ */
88371
+ function baseIsArguments$1(value) {
88372
+ return isObjectLike$1(value) && baseGetTag(value) == argsTag;
88373
+ }
88374
+
88375
+ var _baseIsArguments = baseIsArguments$1;
88376
+
88377
+ var baseIsArguments = _baseIsArguments,
88378
+ isObjectLike = isObjectLike_1;
88379
+
88380
+ /** Used for built-in method references. */
88381
+ var objectProto = Object.prototype;
88382
+
88383
+ /** Used to check objects for own properties. */
88384
+ var hasOwnProperty = objectProto.hasOwnProperty;
88385
+
88386
+ /** Built-in value references. */
88387
+ var propertyIsEnumerable = objectProto.propertyIsEnumerable;
88388
+
88389
+ /**
88390
+ * Checks if `value` is likely an `arguments` object.
88391
+ *
88392
+ * @static
88393
+ * @memberOf _
88394
+ * @since 0.1.0
88395
+ * @category Lang
88396
+ * @param {*} value The value to check.
88397
+ * @returns {boolean} Returns `true` if `value` is an `arguments` object,
88398
+ * else `false`.
88399
+ * @example
88400
+ *
88401
+ * _.isArguments(function() { return arguments; }());
88402
+ * // => true
88403
+ *
88404
+ * _.isArguments([1, 2, 3]);
88405
+ * // => false
88406
+ */
88407
+ var isArguments$1 = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {
88408
+ return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&
88409
+ !propertyIsEnumerable.call(value, 'callee');
88410
+ };
88411
+
88412
+ var isArguments_1 = isArguments$1;
88413
+
88414
+ /** Used as references for various `Number` constants. */
88415
+
88416
+ var MAX_SAFE_INTEGER$1 = 9007199254740991;
88417
+
88418
+ /** Used to detect unsigned integer values. */
88419
+ var reIsUint = /^(?:0|[1-9]\d*)$/;
88420
+
88421
+ /**
88422
+ * Checks if `value` is a valid array-like index.
88423
+ *
88424
+ * @private
88425
+ * @param {*} value The value to check.
88426
+ * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.
88427
+ * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
88428
+ */
88429
+ function isIndex$1(value, length) {
88430
+ var type = typeof value;
88431
+ length = length == null ? MAX_SAFE_INTEGER$1 : length;
88432
+
88433
+ return !!length &&
88434
+ (type == 'number' ||
88435
+ (type != 'symbol' && reIsUint.test(value))) &&
88436
+ (value > -1 && value % 1 == 0 && value < length);
88437
+ }
88438
+
88439
+ var _isIndex = isIndex$1;
88440
+
88441
+ /** Used as references for various `Number` constants. */
88442
+
88443
+ var MAX_SAFE_INTEGER = 9007199254740991;
88444
+
88445
+ /**
88446
+ * Checks if `value` is a valid array-like length.
88447
+ *
88448
+ * **Note:** This method is loosely based on
88449
+ * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).
88450
+ *
88451
+ * @static
88452
+ * @memberOf _
88453
+ * @since 4.0.0
88454
+ * @category Lang
88455
+ * @param {*} value The value to check.
88456
+ * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
88457
+ * @example
88458
+ *
88459
+ * _.isLength(3);
88460
+ * // => true
88461
+ *
88462
+ * _.isLength(Number.MIN_VALUE);
88463
+ * // => false
88464
+ *
88465
+ * _.isLength(Infinity);
88466
+ * // => false
88467
+ *
88468
+ * _.isLength('3');
88469
+ * // => false
88470
+ */
88471
+ function isLength$1(value) {
88472
+ return typeof value == 'number' &&
88473
+ value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
88474
+ }
88475
+
88476
+ var isLength_1 = isLength$1;
88477
+
88478
+ var castPath = _castPath,
88479
+ isArguments = isArguments_1,
88480
+ isArray = isArray_1,
88481
+ isIndex = _isIndex,
88482
+ isLength = isLength_1,
88483
+ toKey = _toKey;
88484
+
88485
+ /**
88486
+ * Checks if `path` exists on `object`.
88487
+ *
88488
+ * @private
88489
+ * @param {Object} object The object to query.
88490
+ * @param {Array|string} path The path to check.
88491
+ * @param {Function} hasFunc The function to check properties.
88492
+ * @returns {boolean} Returns `true` if `path` exists, else `false`.
88493
+ */
88494
+ function hasPath$1(object, path, hasFunc) {
88495
+ path = castPath(path, object);
88496
+
88497
+ var index = -1,
88498
+ length = path.length,
88499
+ result = false;
88500
+
88501
+ while (++index < length) {
88502
+ var key = toKey(path[index]);
88503
+ if (!(result = object != null && hasFunc(object, key))) {
88504
+ break;
88505
+ }
88506
+ object = object[key];
88507
+ }
88508
+ if (result || ++index != length) {
88509
+ return result;
88510
+ }
88511
+ length = object == null ? 0 : object.length;
88512
+ return !!length && isLength(length) && isIndex(key, length) &&
88513
+ (isArray(object) || isArguments(object));
88514
+ }
88515
+
88516
+ var _hasPath = hasPath$1;
88517
+
88518
+ var baseHas = _baseHas,
88519
+ hasPath = _hasPath;
88520
+
88521
+ /**
88522
+ * Checks if `path` is a direct property of `object`.
88523
+ *
88524
+ * @static
88525
+ * @since 0.1.0
88526
+ * @memberOf _
88527
+ * @category Object
88528
+ * @param {Object} object The object to query.
88529
+ * @param {Array|string} path The path to check.
88530
+ * @returns {boolean} Returns `true` if `path` exists, else `false`.
88531
+ * @example
88532
+ *
88533
+ * var object = { 'a': { 'b': 2 } };
88534
+ * var other = _.create({ 'a': _.create({ 'b': 2 }) });
88535
+ *
88536
+ * _.has(object, 'a');
88537
+ * // => true
88538
+ *
88539
+ * _.has(object, 'a.b');
88540
+ * // => true
88541
+ *
88542
+ * _.has(object, ['a', 'b']);
88543
+ * // => true
88544
+ *
88545
+ * _.has(other, 'a');
88546
+ * // => false
88547
+ */
88548
+ function has(object, path) {
88549
+ return object != null && hasPath(object, path, baseHas);
88550
+ }
88551
+
88552
+ var has_1 = has;
88553
+
88554
+ const has$1 = /*@__PURE__*/getDefaultExportFromCjs(has_1);
88555
+
88556
+ const isAnyMatchKeyChangedAtNode = ({
88557
+ branches,
88558
+ nodePath,
88559
+ changedValues
88560
+ }) => {
88561
+ return collectOneOfBranchMatchKeys(branches).some((matchKey) => {
88562
+ const fullPath = [...nodePath, ...toOneOfBranchPath(matchKey)];
88563
+ return has$1(changedValues, fullPath);
88564
+ });
88565
+ };
88566
+ const getCurrentNodeCleanupPaths = ({
88567
+ node,
88568
+ value,
88569
+ path,
88570
+ changedValues
88571
+ }) => {
88572
+ if (!node.oneOfBranches || node.oneOfBranches.length === 0) {
88573
+ return [];
88574
+ }
88575
+ if (!isAnyMatchKeyChangedAtNode({
88576
+ branches: node.oneOfBranches,
88577
+ nodePath: path,
88578
+ changedValues
88579
+ })) {
88580
+ return [];
88581
+ }
88582
+ const matchedBranches = node.oneOfBranches.filter((branch) => matchesOneOfBranch(value, branch));
88583
+ if (matchedBranches.length !== 1) {
88584
+ return [];
88585
+ }
88586
+ const [activeBranch] = matchedBranches;
88587
+ return collectInactiveOneOfBranchPaths({ branches: node.oneOfBranches, activeBranch }).map((branchPath) => [
88588
+ ...path,
88589
+ ...branchPath
88590
+ ]);
88591
+ };
88592
+ const collectInactiveBranchCleanupPaths = ({
88593
+ properties,
88594
+ values,
88595
+ changedValues,
88596
+ currentPath = []
88597
+ }) => {
88598
+ if (!changedValues) {
88599
+ return [];
88600
+ }
88601
+ return Object.entries(properties).flatMap(([key, node]) => {
88602
+ const path = [...currentPath, key];
88603
+ const value = get$1(values, path);
88604
+ const currentCleanupPaths = getCurrentNodeCleanupPaths({
88605
+ node,
88606
+ value,
88607
+ path,
88608
+ changedValues
88609
+ });
88610
+ const nestedObjectCleanupPaths = node.properties ? collectInactiveBranchCleanupPaths({
88611
+ properties: node.properties,
88612
+ values,
88613
+ changedValues,
88614
+ currentPath: path
88615
+ }) : [];
88616
+ const nestedArrayCleanupPaths = node.type === "array" && node.items && Array.isArray(value) ? value.flatMap((_, index) => {
88617
+ const itemPath = [...path, index];
88618
+ const itemValue = get$1(values, itemPath);
88619
+ const itemCleanupPaths = getCurrentNodeCleanupPaths({
88620
+ node: node.items,
88621
+ value: itemValue,
88622
+ path: itemPath,
88623
+ changedValues
88624
+ });
88625
+ return [
88626
+ ...itemCleanupPaths,
88627
+ ...node.items?.properties ? collectInactiveBranchCleanupPaths({
88628
+ properties: node.items.properties,
88629
+ values,
88630
+ changedValues,
88631
+ currentPath: itemPath
88632
+ }) : []
88633
+ ];
88634
+ }) : [];
88635
+ return [...currentCleanupPaths, ...nestedObjectCleanupPaths, ...nestedArrayCleanupPaths];
88636
+ });
88637
+ };
88638
+
87876
88639
  const handleSubmitError = ({
87877
88640
  error,
87878
88641
  expandedKeys
@@ -88165,7 +88928,9 @@ const BlackholeForm = ({
88165
88928
  }
88166
88929
  });
88167
88930
  }
88168
- if (prefillValueNamespaceOnly) {
88931
+ const schemaNamespaceDefault = staticProperties.metadata?.properties?.namespace?.default;
88932
+ const hasSchemaNamespaceDefault = typeof schemaNamespaceDefault === "string" && schemaNamespaceDefault.length > 0;
88933
+ if (prefillValueNamespaceOnly && !hasSchemaNamespaceDefault) {
88169
88934
  _$1.set(allValues2, ["metadata", "namespace"], prefillValueNamespaceOnly);
88170
88935
  }
88171
88936
  if (normalizedPrefill) {
@@ -88175,7 +88940,15 @@ const BlackholeForm = ({
88175
88940
  }
88176
88941
  const sorted = Object.fromEntries(Object.entries(allValues2).sort(([a], [b]) => a.localeCompare(b)));
88177
88942
  return sorted;
88178
- }, [formsPrefills, prefillValueNamespaceOnly, isCreate, apiGroupApiVersion, kind, normalizedPrefill]);
88943
+ }, [
88944
+ formsPrefills,
88945
+ prefillValueNamespaceOnly,
88946
+ isCreate,
88947
+ apiGroupApiVersion,
88948
+ kind,
88949
+ normalizedPrefill,
88950
+ staticProperties
88951
+ ]);
88179
88952
  const prefillTemplates = useMemo(() => {
88180
88953
  const templates = [];
88181
88954
  if (formsPrefills?.spec?.values?.length) {
@@ -88251,12 +89024,31 @@ const BlackholeForm = ({
88251
89024
  sanitized.forEach((p, i) => wdbg(`#${i}`, prettyPath(p)));
88252
89025
  return sanitized;
88253
89026
  }, [expandedPaths]);
89027
+ const resolveHiddenPaths = useCallback(
89028
+ (values) => {
89029
+ const hiddenResolved = expandWildcardTemplates(hiddenWildcardTemplates, values, {
89030
+ includeMissingExact: true,
89031
+ includeMissingFinalForWildcard: true
89032
+ });
89033
+ const oneOfBranchHiddenPaths = collectOneOfBranchHiddenPaths({
89034
+ properties,
89035
+ values
89036
+ });
89037
+ const seen = /* @__PURE__ */ new Set();
89038
+ return [...hiddenResolved, ...oneOfBranchHiddenPaths].filter((path) => {
89039
+ const key = JSON.stringify(path);
89040
+ if (seen.has(key)) {
89041
+ return false;
89042
+ }
89043
+ seen.add(key);
89044
+ return true;
89045
+ });
89046
+ },
89047
+ [hiddenWildcardTemplates, properties]
89048
+ );
88254
89049
  useEffect(() => {
88255
89050
  if (!initialValues) return;
88256
- const hiddenResolved = expandWildcardTemplates(hiddenWildcardTemplates, initialValues, {
88257
- includeMissingExact: true,
88258
- includeMissingFinalForWildcard: true
88259
- });
89051
+ const hiddenResolved = resolveHiddenPaths(initialValues);
88260
89052
  wdbg("hidden resolved", hiddenResolved.map(prettyPath));
88261
89053
  setResolvedHiddenPaths(hiddenResolved);
88262
89054
  const expandedResolved = expandWildcardTemplates(expandedWildcardTemplates, initialValues);
@@ -88292,7 +89084,7 @@ const BlackholeForm = ({
88292
89084
  }
88293
89085
  return merged;
88294
89086
  });
88295
- }, [initialValues, hiddenWildcardTemplates, expandedWildcardTemplates, persistedWildcardTemplates]);
89087
+ }, [initialValues, resolveHiddenPaths, expandedWildcardTemplates, persistedWildcardTemplates]);
88296
89088
  const resolvedHiddenStringPaths = useMemo(
88297
89089
  () => resolvedHiddenPaths.map(toStringPath),
88298
89090
  [resolvedHiddenPaths]
@@ -88319,14 +89111,28 @@ const BlackholeForm = ({
88319
89111
  const onValuesChangeCallback = useCallback(
88320
89112
  (values, changedValues) => {
88321
89113
  const vRaw = values ?? form.getFieldsValue(true);
88322
- const v = scrubLiteralWildcardKeys(vRaw);
89114
+ let v = scrubLiteralWildcardKeys(vRaw);
89115
+ if (changedValues) {
89116
+ const inactiveCleanupPaths = collectInactiveBranchCleanupPaths({
89117
+ properties,
89118
+ values: v,
89119
+ changedValues
89120
+ });
89121
+ if (inactiveCleanupPaths.length > 0) {
89122
+ inactiveCleanupPaths.forEach((path) => {
89123
+ form.setFieldValue(path, void 0);
89124
+ });
89125
+ v = scrubLiteralWildcardKeys(form.getFieldsValue(true));
89126
+ const formattedPaths = inactiveCleanupPaths.map((path) => prettyFieldPath(path)).join(", ");
89127
+ notificationApi.info({
89128
+ message: inactiveCleanupPaths.length === 1 ? "Cleared 1 inactive branch field" : `Cleared ${inactiveCleanupPaths.length} inactive branch fields`,
89129
+ description: `Removed ${formattedPaths} to match the new selector.`,
89130
+ placement: "bottomRight"
89131
+ });
89132
+ }
89133
+ }
88323
89134
  applyOneOfValidationErrors(computeOneOfValidationStates(v));
88324
- const hiddenResolved = expandWildcardTemplates(
88325
- hiddenWildcardTemplates,
88326
- v,
88327
- { includeMissingExact: true, includeMissingFinalForWildcard: true }
88328
- // only hidden opts in
88329
- );
89135
+ const hiddenResolved = resolveHiddenPaths(v);
88330
89136
  wdbg("hidden resolved", hiddenResolved.map(prettyPath));
88331
89137
  setResolvedHiddenPaths(hiddenResolved);
88332
89138
  const expandedResolved = expandWildcardTemplates(expandedWildcardTemplates, v);
@@ -88470,8 +89276,9 @@ const BlackholeForm = ({
88470
89276
  applyOneOfValidationErrors,
88471
89277
  applyPrefillForNewArrayItem,
88472
89278
  applyPersistedForNewArrayItem,
88473
- hiddenWildcardTemplates,
88474
- expandedWildcardTemplates
89279
+ resolveHiddenPaths,
89280
+ expandedWildcardTemplates,
89281
+ notificationApi
88475
89282
  ]
88476
89283
  );
88477
89284
  useEffect(() => {
@@ -93643,4 +94450,4 @@ const usePluginManifest = ({
93643
94450
  };
93644
94451
 
93645
94452
  export { useCrdResourceSingle as $, getBuiltinResources as A, getBuiltinResourceSingle as B, getCrdResources as C, DeleteIcon as D, EnrichedTableProvider as E, getCrdResourceSingle as F, getApiResourceTypes as G, getApiResourceTypesByApiGroup as H, getBuiltinResourceTypes as I, getCrdData as J, getDirectUnknownResource as K, checkPermission as L, getSwagger as M, filterIfApiInstanceNamespaceScoped as N, filterIfBuiltInInstanceNamespaceScoped as O, PerRequestError as P, checkIfApiInstanceNamespaceScoped as Q, ReadOnlyModal as R, checkIfBuiltInInstanceNamespaceScoped as S, getKinds as T, useClusterList as U, useApiResources as V, useApiResourceSingle as W, useBuiltinResources as X, useBuiltinResourceSingle as Y, useCrdResources as Z, _$1 as _, useTheme as a, DynamicRenderer as a$, useApisResourceTypes as a0, useApiResourceTypesByGroup as a1, useBuiltinResourceTypes as a2, useCrdData as a3, useListWatch as a4, useInfiniteSentinel as a5, useK8sVerbs as a6, useManyK8sSmartResource as a7, useSmartResourceParams as a8, useResourceScope as a9, ResourceLink as aA, ErrorBoundary as aB, ErrorBoundaryWithDataReset as aC, ManageableBreadcrumbsProvider as aD, prepareDataForManageableBreadcrumbs as aE, ManageableBreadcrumbs as aF, ManageableSidebarProvider as aG, prepareDataForManageableSidebar as aH, ManageableSidebar as aI, EnrichedTable as aJ, ClusterListTable as aK, getEnrichedColumns as aL, getEnrichedColumnsWithControls as aM, YamlEditorSingleton$1 as aN, BlackholeFormProvider as aO, BlackholeForm as aP, getObjectFormItemsDraft as aQ, MarketPlace as aR, MarketplaceCard as aS, ProjectInfoCard as aT, PodTerminal as aU, NodeTerminal as aV, PodLogs as aW, PodLogsMonaco as aX, VMVNC as aY, Search as aZ, Events as a_, useKinds as aa, useKindsRaw as ab, usePluginManifest as ac, Spacer$1 as ad, TreeWithSearch as ae, ConfirmModal as af, UpIcon as ag, DownIcon as ah, BackToDefaultIcon as ai, SuccessIcon as aj, feedbackIcons as ak, PlusIcon as al, MinusIcon as am, LockedIcon as an, UnlockedIcon as ao, PauseCircleIcon as ap, ResumeCircleIcon as aq, LookingGlassIcon as ar, EarthIcon as as, ContentCard$1 as at, FlexGrow as au, UncontrolledSelect as av, CustomSelect$4 as aw, CursorPointerTag as ax, CursorPointerTagMinContent as ay, CursorDefaultDiv as az, usePartsOfUrl as b, DynamicComponents as b0, DynamicRendererWithProviders as b1, prepareTemplate as b2, isFlatObject as b3, filterSelectOptions as b4, getStringByName as b5, floorToDecimal as b6, parseQuotaValue as b7, parseQuotaValueCpu as b8, parseQuotaValueMemoryAndStorage as b9, convertStorage as bA, parseValueWithUnit as bB, convertCores as bC, formatCoresAuto as bD, toCores as bE, convertCompute as bF, parseCoresWithUnit as bG, formatDateAuto as bH, isValidRFC3339 as bI, normalizeValuesForQuotasToNumber as ba, getAllPathsFromObj as bb, getPrefixSubarrays as bc, groupsToTreeData as bd, getBuiltinTreeData as be, getGroupsByCategory as bf, createContextFactory as bg, prepareUrlsToFetchForDynamicRenderer as bh, deepMerge as bi, getSortedKinds as bj, getSortedKindsAll as bk, hslFromString as bl, getUppercase as bm, kindByGvr as bn, pluralByKind as bo, namespacedByGvr as bp, getLinkToBuiltinForm as bq, getLinkToApiForm as br, isMultilineString as bs, isMultilineFromYaml as bt, includesArray as bu, getResourceLink as bv, getNamespaceLink as bw, convertBytes as bx, formatBytesAuto as by, toBytes as bz, useAutoPerRequestError as c, usePermissions as d, useDirectUnknownResource as e, useK8sSmartResource as f, jsxRuntimeExports as g, EditIcon as h, PaddingContainer as i, jp as j, getLinkToForm as k, DeleteModal as l, mergePerRequestErrors as m, DeleteModalMany as n, getClusterList as o, parseAll as p, createNewEntry as q, updateEntry as r, serializeLabelsWithNoEncoding$1 as s, deleteEntry as t, useMultiQuery as u, patchEntryWithReplaceOp as v, patchEntryWithMergePatch as w, patchEntryWithDeleteOp as x, getApiResources as y, getApiResourceSingle as z };
93646
- //# sourceMappingURL=index-BYGA57EJ.mjs.map
94453
+ //# sourceMappingURL=index-BsjtTIr1.mjs.map