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

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 (45) hide show
  1. package/dist/{index-BFIWg9xn.mjs → index-BYGA57EJ.mjs} +2096 -340
  2. package/dist/index-BYGA57EJ.mjs.map +1 -0
  3. package/dist/{index-_9cT8fBl.mjs → index-DoND5hQh.mjs} +2 -2
  4. package/dist/{index-_9cT8fBl.mjs.map → index-DoND5hQh.mjs.map} +1 -1
  5. package/dist/openapi-k8s-toolkit.es.js +1 -1
  6. package/dist/openapi-k8s-toolkit.umd.js +2093 -337
  7. package/dist/openapi-k8s-toolkit.umd.js.map +1 -1
  8. package/dist/types/components/molecules/BlackholeForm/atoms/DefaultValueButton/DefaultValueButton.d.ts +10 -0
  9. package/dist/types/components/molecules/BlackholeForm/atoms/DefaultValueButton/DefaultValueButton.test.d.ts +1 -0
  10. package/dist/types/components/molecules/BlackholeForm/atoms/DefaultValueButton/index.d.ts +1 -0
  11. package/dist/types/components/molecules/BlackholeForm/atoms/ExampleTooltipIcon/ExampleTooltipIcon.d.ts +6 -0
  12. package/dist/types/components/molecules/BlackholeForm/atoms/ExampleTooltipIcon/ExampleTooltipIcon.test.d.ts +1 -0
  13. package/dist/types/components/molecules/BlackholeForm/atoms/ExampleTooltipIcon/index.d.ts +1 -0
  14. package/dist/types/components/molecules/BlackholeForm/atoms/ExampleTooltipIcon/styled.d.ts +380 -0
  15. package/dist/types/components/molecules/BlackholeForm/atoms/NullToggleButton/NullToggleButton.d.ts +9 -0
  16. package/dist/types/components/molecules/BlackholeForm/atoms/NullToggleButton/NullToggleButton.test.d.ts +1 -0
  17. package/dist/types/components/molecules/BlackholeForm/atoms/NullToggleButton/index.d.ts +1 -0
  18. package/dist/types/components/molecules/BlackholeForm/atoms/index.d.ts +3 -0
  19. package/dist/types/components/molecules/BlackholeForm/molecules/FormBooleanInput/FormBooleanInput.d.ts +1 -0
  20. package/dist/types/components/molecules/BlackholeForm/molecules/FormBooleanInput/FormBooleanInput.test.d.ts +1 -0
  21. package/dist/types/components/molecules/BlackholeForm/molecules/FormEnumStringInput/FormEnumStringInput.d.ts +3 -0
  22. package/dist/types/components/molecules/BlackholeForm/molecules/FormListInput/FormListInput.d.ts +1 -0
  23. package/dist/types/components/molecules/BlackholeForm/molecules/FormNamespaceInput/FormNamespaceInput.d.ts +5 -0
  24. package/dist/types/components/molecules/BlackholeForm/molecules/FormNumberInput/FormNumberInput.d.ts +3 -0
  25. package/dist/types/components/molecules/BlackholeForm/molecules/FormObjectFromSwagger/FormObjectFromSwagger.d.ts +6 -6
  26. package/dist/types/components/molecules/BlackholeForm/molecules/FormStringInput/FormStringInput.d.ts +3 -0
  27. package/dist/types/components/molecules/BlackholeForm/molecules/FormStringMultilineInput/FormStringMultilineInput.d.ts +3 -0
  28. package/dist/types/components/molecules/BlackholeForm/molecules/helpers/buildPlaceholder.d.ts +10 -0
  29. package/dist/types/components/molecules/BlackholeForm/molecules/helpers/buildPlaceholder.test.d.ts +1 -0
  30. package/dist/types/components/molecules/BlackholeForm/molecules/helpers/useDefaultValueButton.d.ts +11 -0
  31. package/dist/types/components/molecules/BlackholeForm/molecules/helpers/useDefaultValueButton.test.d.ts +1 -0
  32. package/dist/types/components/molecules/BlackholeForm/molecules/helpers/useNullToggleButton.d.ts +16 -0
  33. package/dist/types/components/molecules/BlackholeForm/molecules/helpers/useNullToggleButton.test.d.ts +1 -0
  34. package/dist/types/components/molecules/BlackholeForm/molecules/helpers/validation.d.ts +17 -4
  35. package/dist/types/components/molecules/BlackholeForm/organisms/BlackholeForm/BlackholeForm.d.ts +2 -2
  36. package/dist/types/components/molecules/BlackholeForm/organisms/BlackholeForm/helpers/casts.d.ts +4 -4
  37. package/dist/types/components/molecules/BlackholeForm/organisms/BlackholeForm/helpers/extractDefaultValue.d.ts +4 -0
  38. package/dist/types/components/molecules/BlackholeForm/organisms/BlackholeForm/helpers/extractDefaultValue.test.d.ts +1 -0
  39. package/dist/types/components/molecules/BlackholeForm/organisms/BlackholeForm/helpers/getSortedPropertyKeys.d.ts +2 -4
  40. package/dist/types/components/molecules/BlackholeForm/organisms/BlackholeForm/utils.d.ts +37 -29
  41. package/dist/types/localTypes/bff/form.d.ts +4 -6
  42. package/dist/types/localTypes/formSchema.d.ts +27 -0
  43. package/dist/types/utils/normalizeValuesForQuotas/normalizeValuesForQuotas.d.ts +2 -2
  44. package/package.json +1 -1
  45. package/dist/index-BFIWg9xn.mjs.map +0 -1
@@ -1593,7 +1593,7 @@
1593
1593
  justify-content: center;
1594
1594
  }
1595
1595
  `;
1596
- const Styled$L = {
1596
+ const Styled$M = {
1597
1597
  CustomTreeProvider
1598
1598
  };
1599
1599
 
@@ -1658,7 +1658,7 @@
1658
1658
  });
1659
1659
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
1660
1660
  /* @__PURE__ */ jsxRuntimeExports.jsx(Search$1, { style: { marginBottom: 8 }, placeholder: "Search", onChange }),
1661
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$L.CustomTreeProvider, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
1661
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$M.CustomTreeProvider, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
1662
1662
  antd.Tree,
1663
1663
  {
1664
1664
  treeData: loop(treeData),
@@ -1691,12 +1691,12 @@
1691
1691
 
1692
1692
  // utils is a library of generic helper functions non-specific to axios
1693
1693
 
1694
- const {toString: toString$2} = Object.prototype;
1694
+ const {toString: toString$4} = Object.prototype;
1695
1695
  const {getPrototypeOf: getPrototypeOf$1} = Object;
1696
1696
  const {iterator, toStringTag} = Symbol;
1697
1697
 
1698
1698
  const kindOf$1 = (cache => thing => {
1699
- const str = toString$2.call(thing);
1699
+ const str = toString$4.call(thing);
1700
1700
  return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());
1701
1701
  })(Object.create(null));
1702
1702
 
@@ -1714,7 +1714,7 @@
1714
1714
  *
1715
1715
  * @returns {boolean} True if value is an Array, otherwise false
1716
1716
  */
1717
- const {isArray} = Array;
1717
+ const {isArray: isArray$4} = Array;
1718
1718
 
1719
1719
  /**
1720
1720
  * Determine if a value is undefined
@@ -1734,7 +1734,7 @@
1734
1734
  */
1735
1735
  function isBuffer(val) {
1736
1736
  return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)
1737
- && isFunction$2(val.constructor.isBuffer) && val.constructor.isBuffer(val);
1737
+ && isFunction$4(val.constructor.isBuffer) && val.constructor.isBuffer(val);
1738
1738
  }
1739
1739
 
1740
1740
  /**
@@ -1779,7 +1779,7 @@
1779
1779
  * @param {*} val The value to test
1780
1780
  * @returns {boolean} True if value is a Function, otherwise false
1781
1781
  */
1782
- const isFunction$2 = typeOfTest('function');
1782
+ const isFunction$4 = typeOfTest('function');
1783
1783
 
1784
1784
  /**
1785
1785
  * Determine if a value is a Number
@@ -1797,7 +1797,7 @@
1797
1797
  *
1798
1798
  * @returns {boolean} True if value is an Object, otherwise false
1799
1799
  */
1800
- const isObject$5 = (thing) => thing !== null && typeof thing === 'object';
1800
+ const isObject$8 = (thing) => thing !== null && typeof thing === 'object';
1801
1801
 
1802
1802
  /**
1803
1803
  * Determine if a value is a Boolean
@@ -1832,7 +1832,7 @@
1832
1832
  */
1833
1833
  const isEmptyObject = (val) => {
1834
1834
  // Early return for non-objects or Buffers to prevent RangeError
1835
- if (!isObject$5(val) || isBuffer(val)) {
1835
+ if (!isObject$8(val) || isBuffer(val)) {
1836
1836
  return false;
1837
1837
  }
1838
1838
 
@@ -1887,7 +1887,7 @@
1887
1887
  *
1888
1888
  * @returns {boolean} True if value is a Stream, otherwise false
1889
1889
  */
1890
- const isStream = (val) => isObject$5(val) && isFunction$2(val.pipe);
1890
+ const isStream = (val) => isObject$8(val) && isFunction$4(val.pipe);
1891
1891
 
1892
1892
  /**
1893
1893
  * Determine if a value is a FormData
@@ -1900,10 +1900,10 @@
1900
1900
  let kind;
1901
1901
  return thing && (
1902
1902
  (typeof FormData === 'function' && thing instanceof FormData) || (
1903
- isFunction$2(thing.append) && (
1903
+ isFunction$4(thing.append) && (
1904
1904
  (kind = kindOf$1(thing)) === 'formdata' ||
1905
1905
  // detect form-data instance
1906
- (kind === 'object' && isFunction$2(thing.toString) && thing.toString() === '[object FormData]')
1906
+ (kind === 'object' && isFunction$4(thing.toString) && thing.toString() === '[object FormData]')
1907
1907
  )
1908
1908
  )
1909
1909
  )
@@ -1960,7 +1960,7 @@
1960
1960
  obj = [obj];
1961
1961
  }
1962
1962
 
1963
- if (isArray(obj)) {
1963
+ if (isArray$4(obj)) {
1964
1964
  // Iterate over array values
1965
1965
  for (i = 0, l = obj.length; i < l; i++) {
1966
1966
  fn.call(null, obj[i], i, obj);
@@ -2036,7 +2036,7 @@
2036
2036
  result[targetKey] = merge$2(result[targetKey], val);
2037
2037
  } else if (isPlainObject$6(val)) {
2038
2038
  result[targetKey] = merge$2({}, val);
2039
- } else if (isArray(val)) {
2039
+ } else if (isArray$4(val)) {
2040
2040
  result[targetKey] = val.slice();
2041
2041
  } else if (!skipUndefined || !isUndefined(val)) {
2042
2042
  result[targetKey] = val;
@@ -2061,7 +2061,7 @@
2061
2061
  */
2062
2062
  const extend$1 = (a, b, thisArg, {allOwnKeys}= {}) => {
2063
2063
  forEach(b, (val, key) => {
2064
- if (thisArg && isFunction$2(val)) {
2064
+ if (thisArg && isFunction$4(val)) {
2065
2065
  a[key] = bind(val, thisArg);
2066
2066
  } else {
2067
2067
  a[key] = val;
@@ -2166,7 +2166,7 @@
2166
2166
  */
2167
2167
  const toArray$3 = (thing) => {
2168
2168
  if (!thing) return null;
2169
- if (isArray(thing)) return thing;
2169
+ if (isArray$4(thing)) return thing;
2170
2170
  let i = thing.length;
2171
2171
  if (!isNumber$1(i)) return null;
2172
2172
  const arr = new Array(i);
@@ -2244,7 +2244,7 @@
2244
2244
  };
2245
2245
 
2246
2246
  /* Creating a function that will check if an object has a property. */
2247
- const hasOwnProperty$1 = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);
2247
+ const hasOwnProperty$5 = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);
2248
2248
 
2249
2249
  /**
2250
2250
  * Determine if a value is a RegExp object
@@ -2277,13 +2277,13 @@
2277
2277
  const freezeMethods = (obj) => {
2278
2278
  reduceDescriptors(obj, (descriptor, name) => {
2279
2279
  // skip restricted props in strict mode
2280
- if (isFunction$2(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {
2280
+ if (isFunction$4(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {
2281
2281
  return false;
2282
2282
  }
2283
2283
 
2284
2284
  const value = obj[name];
2285
2285
 
2286
- if (!isFunction$2(value)) return;
2286
+ if (!isFunction$4(value)) return;
2287
2287
 
2288
2288
  descriptor.enumerable = false;
2289
2289
 
@@ -2309,7 +2309,7 @@
2309
2309
  });
2310
2310
  };
2311
2311
 
2312
- isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));
2312
+ isArray$4(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));
2313
2313
 
2314
2314
  return obj;
2315
2315
  };
@@ -2330,7 +2330,7 @@
2330
2330
  * @returns {boolean}
2331
2331
  */
2332
2332
  function isSpecCompliantForm(thing) {
2333
- return !!(thing && isFunction$2(thing.append) && thing[toStringTag] === 'FormData' && thing[iterator]);
2333
+ return !!(thing && isFunction$4(thing.append) && thing[toStringTag] === 'FormData' && thing[iterator]);
2334
2334
  }
2335
2335
 
2336
2336
  const toJSONObject = (obj) => {
@@ -2338,7 +2338,7 @@
2338
2338
 
2339
2339
  const visit = (source, i) => {
2340
2340
 
2341
- if (isObject$5(source)) {
2341
+ if (isObject$8(source)) {
2342
2342
  if (stack.indexOf(source) >= 0) {
2343
2343
  return;
2344
2344
  }
@@ -2350,7 +2350,7 @@
2350
2350
 
2351
2351
  if(!('toJSON' in source)) {
2352
2352
  stack[i] = source;
2353
- const target = isArray(source) ? [] : {};
2353
+ const target = isArray$4(source) ? [] : {};
2354
2354
 
2355
2355
  forEach(source, (value, key) => {
2356
2356
  const reducedValue = visit(value, i + 1);
@@ -2372,7 +2372,7 @@
2372
2372
  const isAsyncFn = kindOfTest('AsyncFunction');
2373
2373
 
2374
2374
  const isThenable = (thing) =>
2375
- thing && (isObject$5(thing) || isFunction$2(thing)) && isFunction$2(thing.then) && isFunction$2(thing.catch);
2375
+ thing && (isObject$8(thing) || isFunction$4(thing)) && isFunction$4(thing.then) && isFunction$4(thing.catch);
2376
2376
 
2377
2377
  // original code
2378
2378
  // https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34
@@ -2396,7 +2396,7 @@
2396
2396
  })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);
2397
2397
  })(
2398
2398
  typeof setImmediate === 'function',
2399
- isFunction$2(_global.postMessage)
2399
+ isFunction$4(_global.postMessage)
2400
2400
  );
2401
2401
 
2402
2402
  const asap = typeof queueMicrotask !== 'undefined' ?
@@ -2405,11 +2405,11 @@
2405
2405
  // *********************
2406
2406
 
2407
2407
 
2408
- const isIterable = (thing) => thing != null && isFunction$2(thing[iterator]);
2408
+ const isIterable = (thing) => thing != null && isFunction$4(thing[iterator]);
2409
2409
 
2410
2410
 
2411
2411
  const utils$1 = {
2412
- isArray,
2412
+ isArray: isArray$4,
2413
2413
  isArrayBuffer,
2414
2414
  isBuffer,
2415
2415
  isFormData,
@@ -2417,7 +2417,7 @@
2417
2417
  isString: isString$1,
2418
2418
  isNumber: isNumber$1,
2419
2419
  isBoolean: isBoolean$1,
2420
- isObject: isObject$5,
2420
+ isObject: isObject$8,
2421
2421
  isPlainObject: isPlainObject$6,
2422
2422
  isEmptyObject,
2423
2423
  isReadableStream,
@@ -2429,7 +2429,7 @@
2429
2429
  isFile,
2430
2430
  isBlob,
2431
2431
  isRegExp,
2432
- isFunction: isFunction$2,
2432
+ isFunction: isFunction$4,
2433
2433
  isStream,
2434
2434
  isURLSearchParams,
2435
2435
  isTypedArray: isTypedArray$1,
@@ -2448,8 +2448,8 @@
2448
2448
  forEachEntry,
2449
2449
  matchAll,
2450
2450
  isHTMLForm,
2451
- hasOwnProperty: hasOwnProperty$1,
2452
- hasOwnProp: hasOwnProperty$1, // an alias to avoid ESLint no-prototype-builtins detection
2451
+ hasOwnProperty: hasOwnProperty$5,
2452
+ hasOwnProp: hasOwnProperty$5, // an alias to avoid ESLint no-prototype-builtins detection
2453
2453
  reduceDescriptors,
2454
2454
  freezeMethods,
2455
2455
  toObjectSet,
@@ -6802,7 +6802,7 @@
6802
6802
 
6803
6803
  const DEFAULT_CHUNK_SIZE = 64 * 1024;
6804
6804
 
6805
- const {isFunction: isFunction$1} = utils$1;
6805
+ const {isFunction: isFunction$3} = utils$1;
6806
6806
 
6807
6807
  const globalFetchAPI = (({Request, Response}) => ({
6808
6808
  Request, Response
@@ -6827,15 +6827,15 @@
6827
6827
  }, globalFetchAPI, env);
6828
6828
 
6829
6829
  const {fetch: envFetch, Request, Response} = env;
6830
- const isFetchSupported = envFetch ? isFunction$1(envFetch) : typeof fetch === 'function';
6831
- const isRequestSupported = isFunction$1(Request);
6832
- const isResponseSupported = isFunction$1(Response);
6830
+ const isFetchSupported = envFetch ? isFunction$3(envFetch) : typeof fetch === 'function';
6831
+ const isRequestSupported = isFunction$3(Request);
6832
+ const isResponseSupported = isFunction$3(Response);
6833
6833
 
6834
6834
  if (!isFetchSupported) {
6835
6835
  return false;
6836
6836
  }
6837
6837
 
6838
- const isReadableStreamSupported = isFetchSupported && isFunction$1(ReadableStream$1);
6838
+ const isReadableStreamSupported = isFetchSupported && isFunction$3(ReadableStream$1);
6839
6839
 
6840
6840
  const encodeText = isFetchSupported && (typeof TextEncoder$1 === 'function' ?
6841
6841
  ((encoder) => (str) => encoder.encode(str))(new TextEncoder$1()) :
@@ -8273,14 +8273,14 @@
8273
8273
  display: ${({ $displayFlex }) => $displayFlex ? "flex" : "block"};
8274
8274
  flex-flow: ${({ $flexFlow }) => $flexFlow};
8275
8275
  `;
8276
- const Styled$K = {
8276
+ const Styled$L = {
8277
8277
  ContentContainer
8278
8278
  };
8279
8279
 
8280
8280
  const ContentCard$1 = ({ children, flexGrow, displayFlex, flexFlow, maxHeight }) => {
8281
8281
  const { token } = antd.theme.useToken();
8282
8282
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
8283
- Styled$K.ContentContainer,
8283
+ Styled$L.ContentContainer,
8284
8284
  {
8285
8285
  $flexGrow: flexGrow,
8286
8286
  $bgColor: token.colorBgContainer,
@@ -8341,13 +8341,13 @@
8341
8341
  padding-inline: 8px;
8342
8342
  }
8343
8343
  `;
8344
- const Styled$J = {
8344
+ const Styled$K = {
8345
8345
  UncontrolledSelect: UncontrolledSelect$1
8346
8346
  };
8347
8347
 
8348
8348
  const UncontrolledSelect = (props) => {
8349
8349
  const { isCursorPointer } = props;
8350
- return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$J.UncontrolledSelect, { ...props, $isCursorPointer: isCursorPointer });
8350
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$K.UncontrolledSelect, { ...props, $isCursorPointer: isCursorPointer });
8351
8351
  };
8352
8352
 
8353
8353
  const CustomSelect$5 = styled(antd.Select)`
@@ -8395,13 +8395,13 @@
8395
8395
  margin-block: 0 !important;
8396
8396
  }
8397
8397
  `;
8398
- const Styled$I = {
8398
+ const Styled$J = {
8399
8399
  CustomSelect: CustomSelect$5
8400
8400
  };
8401
8401
 
8402
8402
  const CustomSelect$4 = (props) => {
8403
8403
  const { paddingContainerEnd, ...rest } = props;
8404
- return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$I.CustomSelect, { $paddingContainerEnd: paddingContainerEnd, ...rest });
8404
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$J.CustomSelect, { $paddingContainerEnd: paddingContainerEnd, ...rest });
8405
8405
  };
8406
8406
 
8407
8407
  const CursorPointerTag = styled(antd.Tag)`
@@ -8551,7 +8551,7 @@
8551
8551
  height: min-content;
8552
8552
  margin-right: 4px;
8553
8553
  `;
8554
- const Styled$H = {
8554
+ const Styled$I = {
8555
8555
  Abbr: Abbr$2
8556
8556
  };
8557
8557
 
@@ -8591,7 +8591,7 @@
8591
8591
  baseFactoriesMapping
8592
8592
  });
8593
8593
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Flex, { align: "center", gap: 8, children: [
8594
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$H.Abbr, { $bgColor: bgColor, children: abbr }),
8594
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$I.Abbr, { $bgColor: bgColor, children: abbr }),
8595
8595
  resourceLink ? /* @__PURE__ */ jsxRuntimeExports.jsx(
8596
8596
  antd.Typography.Link,
8597
8597
  {
@@ -9675,7 +9675,7 @@
9675
9675
  flex-wrap: nowrap !important;
9676
9676
  }
9677
9677
  `;
9678
- const Styled$G = {
9678
+ const Styled$H = {
9679
9679
  PositionRelativeContainer,
9680
9680
  FullWidthContainer,
9681
9681
  NoWrapContainer
@@ -9718,9 +9718,9 @@
9718
9718
  };
9719
9719
  return [firstItem, ellipsisItem, lastItem];
9720
9720
  };
9721
- return /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$G.PositionRelativeContainer, { children: [
9722
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$G.FullWidthContainer, { ref: containerRef, children: /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Breadcrumb, { separator: ">", items: renderItems() }) }),
9723
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$G.NoWrapContainer, { ref: breadcrumbRef, children: /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Breadcrumb, { separator: ">", items, style: { display: "flex", flexWrap: "nowrap" } }) })
9721
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$H.PositionRelativeContainer, { children: [
9722
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$H.FullWidthContainer, { ref: containerRef, children: /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Breadcrumb, { separator: ">", items: renderItems() }) }),
9723
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$H.NoWrapContainer, { ref: breadcrumbRef, children: /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Breadcrumb, { separator: ">", items, style: { display: "flex", flexWrap: "nowrap" } }) })
9724
9724
  ] });
9725
9725
  };
9726
9726
 
@@ -9728,12 +9728,12 @@
9728
9728
  min-height: 22px;
9729
9729
  width: 100%;
9730
9730
  `;
9731
- const Styled$F = {
9731
+ const Styled$G = {
9732
9732
  HeightDiv: HeightDiv$1
9733
9733
  };
9734
9734
 
9735
9735
  const ManageableBreadcrumbs = ({ data }) => {
9736
- return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$F.HeightDiv, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(CollapsibleBreadcrumb, { items: data.breadcrumbItems }) });
9736
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$G.HeightDiv, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(CollapsibleBreadcrumb, { items: data.breadcrumbItems }) });
9737
9737
  };
9738
9738
 
9739
9739
  const prepareTemplate = ({
@@ -9792,7 +9792,7 @@
9792
9792
  min-height: 22px;
9793
9793
  width: 100%;
9794
9794
  `;
9795
- const Styled$E = {
9795
+ const Styled$F = {
9796
9796
  HeightDiv
9797
9797
  };
9798
9798
 
@@ -9822,7 +9822,7 @@
9822
9822
  return null;
9823
9823
  }
9824
9824
  if (rawDataLoading) {
9825
- return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$E.HeightDiv, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Spin, {}) });
9825
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$F.HeightDiv, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Spin, {}) });
9826
9826
  }
9827
9827
  if (!rawData) {
9828
9828
  return null;
@@ -9838,7 +9838,7 @@
9838
9838
  fallbackIdToCompare
9839
9839
  });
9840
9840
  if (!result) {
9841
- return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$E.HeightDiv, {});
9841
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$F.HeightDiv, {});
9842
9842
  }
9843
9843
  return /* @__PURE__ */ jsxRuntimeExports.jsx(ManageableBreadcrumbs, { data: result }, JSON.stringify(idToCompare));
9844
9844
  };
@@ -9866,7 +9866,7 @@
9866
9866
  margin: 0 !important;
9867
9867
  }
9868
9868
  `;
9869
- const Styled$D = {
9869
+ const Styled$E = {
9870
9870
  CustomMenu
9871
9871
  };
9872
9872
 
@@ -9893,7 +9893,7 @@
9893
9893
  setSelectedKeys(data.selectedKeys);
9894
9894
  }, [data.selectedKeys]);
9895
9895
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
9896
- Styled$D.CustomMenu,
9896
+ Styled$E.CustomMenu,
9897
9897
  {
9898
9898
  selectedKeys,
9899
9899
  onSelect: () => {
@@ -34467,7 +34467,7 @@
34467
34467
  white-space: nowrap;
34468
34468
  text-overflow: ellipsis;
34469
34469
  `;
34470
- const Styled$C = {
34470
+ const Styled$D = {
34471
34471
  ShortenedText
34472
34472
  };
34473
34473
 
@@ -34476,7 +34476,7 @@
34476
34476
  const trimmedText = text.substring(0, trimLength);
34477
34477
  return /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Tooltip, { title: text, placement: "top", children: trimmedText });
34478
34478
  }
34479
- return /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Tooltip, { title: text, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$C.ShortenedText, { $maxWidth: maxWidth, children: text }) });
34479
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Tooltip, { title: text, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$D.ShortenedText, { $maxWidth: maxWidth, children: text }) });
34480
34480
  };
34481
34481
 
34482
34482
  const FilterDropdown = ({
@@ -34627,16 +34627,16 @@
34627
34627
  overflow: hidden;
34628
34628
  text-overflow: ellipsis;
34629
34629
  `;
34630
- const Styled$B = {
34630
+ const Styled$C = {
34631
34631
  TableTag,
34632
34632
  TooltipTagsContainer,
34633
34633
  TooltipTag
34634
34634
  };
34635
34635
 
34636
34636
  const TrimmedTags = ({ tags, trimLength }) => {
34637
- const renderTableTags = (tags2) => tags2.map((tag) => /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$B.TableTag, { children: tag }, tag));
34637
+ const renderTableTags = (tags2) => tags2.map((tag) => /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$C.TableTag, { children: tag }, tag));
34638
34638
  const popoverTheme = { components: { Popover: { zIndexPopup: 2100 } } };
34639
- const renderTooltipTags = (tags2) => /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$B.TooltipTagsContainer, { vertical: true, gap: 4, children: tags2.map((tag) => /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$B.TooltipTag, { children: tag }, tag)) });
34639
+ const renderTooltipTags = (tags2) => /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$C.TooltipTagsContainer, { vertical: true, gap: 4, children: tags2.map((tag) => /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$C.TooltipTag, { children: tag }, tag)) });
34640
34640
  if (trimLength && trimLength < tags.length) {
34641
34641
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Flex, { wrap: "nowrap", gap: "4px", children: [
34642
34642
  renderTableTags(tags.slice(0, trimLength)),
@@ -34645,7 +34645,7 @@
34645
34645
  {
34646
34646
  content: renderTooltipTags(tags.slice(trimLength)),
34647
34647
  styles: { root: { maxWidth: "min(95vw, 900px)" } },
34648
- children: /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$B.TableTag, { children: [
34648
+ children: /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$C.TableTag, { children: [
34649
34649
  "+",
34650
34650
  tags.length - trimLength
34651
34651
  ] }, "more")
@@ -36473,7 +36473,7 @@
36473
36473
  };
36474
36474
  }
36475
36475
 
36476
- function isObject$4(value) {
36476
+ function isObject$7(value) {
36477
36477
  return {}.toString.call(value).includes('Object');
36478
36478
  }
36479
36479
 
@@ -36481,36 +36481,36 @@
36481
36481
  return !Object.keys(obj).length;
36482
36482
  }
36483
36483
 
36484
- function isFunction(value) {
36484
+ function isFunction$2(value) {
36485
36485
  return typeof value === 'function';
36486
36486
  }
36487
36487
 
36488
- function hasOwnProperty(object, property) {
36488
+ function hasOwnProperty$4(object, property) {
36489
36489
  return Object.prototype.hasOwnProperty.call(object, property);
36490
36490
  }
36491
36491
 
36492
36492
  function validateChanges(initial, changes) {
36493
- if (!isObject$4(changes)) errorHandler$1('changeType');
36493
+ if (!isObject$7(changes)) errorHandler$1('changeType');
36494
36494
  if (Object.keys(changes).some(function (field) {
36495
- return !hasOwnProperty(initial, field);
36495
+ return !hasOwnProperty$4(initial, field);
36496
36496
  })) errorHandler$1('changeField');
36497
36497
  return changes;
36498
36498
  }
36499
36499
 
36500
36500
  function validateSelector(selector) {
36501
- if (!isFunction(selector)) errorHandler$1('selectorType');
36501
+ if (!isFunction$2(selector)) errorHandler$1('selectorType');
36502
36502
  }
36503
36503
 
36504
36504
  function validateHandler(handler) {
36505
- if (!(isFunction(handler) || isObject$4(handler))) errorHandler$1('handlerType');
36506
- if (isObject$4(handler) && Object.values(handler).some(function (_handler) {
36507
- return !isFunction(_handler);
36505
+ if (!(isFunction$2(handler) || isObject$7(handler))) errorHandler$1('handlerType');
36506
+ if (isObject$7(handler) && Object.values(handler).some(function (_handler) {
36507
+ return !isFunction$2(_handler);
36508
36508
  })) errorHandler$1('handlersType');
36509
36509
  }
36510
36510
 
36511
36511
  function validateInitial(initial) {
36512
36512
  if (!initial) errorHandler$1('initialIsRequired');
36513
- if (!isObject$4(initial)) errorHandler$1('initialType');
36513
+ if (!isObject$7(initial)) errorHandler$1('initialType');
36514
36514
  if (isEmpty$1(initial)) errorHandler$1('initialContent');
36515
36515
  }
36516
36516
 
@@ -36565,7 +36565,7 @@
36565
36565
  }
36566
36566
 
36567
36567
  function extractChanges(state, causedChanges) {
36568
- return isFunction(causedChanges) ? causedChanges(state.current) : causedChanges;
36568
+ return isFunction$2(causedChanges) ? causedChanges(state.current) : causedChanges;
36569
36569
  }
36570
36570
 
36571
36571
  function updateState(state, changes) {
@@ -36574,7 +36574,7 @@
36574
36574
  }
36575
36575
 
36576
36576
  function didStateUpdate(state, handler, changes) {
36577
- isFunction(handler) ? handler(state.current) : Object.keys(changes).forEach(function (field) {
36577
+ isFunction$2(handler) ? handler(state.current) : Object.keys(changes).forEach(function (field) {
36578
36578
  var _handler$field;
36579
36579
 
36580
36580
  return (_handler$field = handler[field]) === null || _handler$field === void 0 ? void 0 : _handler$field.call(handler, state.current[field]);
@@ -36610,7 +36610,7 @@
36610
36610
  };
36611
36611
  }
36612
36612
 
36613
- function isObject$3(value) {
36613
+ function isObject$6(value) {
36614
36614
  return {}.toString.call(value).includes('Object');
36615
36615
  }
36616
36616
 
@@ -36622,7 +36622,7 @@
36622
36622
 
36623
36623
  function validateConfig(config) {
36624
36624
  if (!config) errorHandler('configIsRequired');
36625
- if (!isObject$3(config)) errorHandler('configType');
36625
+ if (!isObject$6(config)) errorHandler('configType');
36626
36626
 
36627
36627
  if (config.urls) {
36628
36628
  informAboutDeprecation();
@@ -39100,14 +39100,14 @@
39100
39100
  }
39101
39101
  };
39102
39102
 
39103
- const nullTag = {
39103
+ const nullTag$1 = {
39104
39104
  identify: value => value == null,
39105
39105
  createNode: () => new Scalar(null),
39106
39106
  default: true,
39107
39107
  tag: 'tag:yaml.org,2002:null',
39108
39108
  test: /^(?:~|[Nn]ull|NULL)?$/,
39109
39109
  resolve: () => new Scalar(null),
39110
- stringify: ({ source }, ctx) => typeof source === 'string' && nullTag.test.test(source)
39110
+ stringify: ({ source }, ctx) => typeof source === 'string' && nullTag$1.test.test(source)
39111
39111
  ? source
39112
39112
  : ctx.options.nullStr
39113
39113
  };
@@ -39229,7 +39229,7 @@
39229
39229
  map$2,
39230
39230
  seq,
39231
39231
  string$1,
39232
- nullTag,
39232
+ nullTag$1,
39233
39233
  boolTag,
39234
39234
  intOct$1,
39235
39235
  int$1,
@@ -39811,7 +39811,7 @@
39811
39811
  map$2,
39812
39812
  seq,
39813
39813
  string$1,
39814
- nullTag,
39814
+ nullTag$1,
39815
39815
  trueTag,
39816
39816
  falseTag,
39817
39817
  intBin,
@@ -39851,7 +39851,7 @@
39851
39851
  intTime,
39852
39852
  map: map$2,
39853
39853
  merge,
39854
- null: nullTag,
39854
+ null: nullTag$1,
39855
39855
  omap,
39856
39856
  pairs,
39857
39857
  seq,
@@ -43781,7 +43781,7 @@
43781
43781
  font-size: 16px;
43782
43782
  line-height: 24px;
43783
43783
  `;
43784
- const Styled$A = {
43784
+ const Styled$B = {
43785
43785
  BorderRadiusContainer: BorderRadiusContainer$1,
43786
43786
  ControlsRowContainer: ControlsRowContainer$1,
43787
43787
  BigText: BigText$1
@@ -44011,7 +44011,7 @@
44011
44011
  };
44012
44012
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
44013
44013
  contextHolder,
44014
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$A.BorderRadiusContainer, { $designNewLayoutHeight: designNewLayoutHeight, $colorBorder: token.colorBorder, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
44014
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$B.BorderRadiusContainer, { $designNewLayoutHeight: designNewLayoutHeight, $colorBorder: token.colorBorder, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
44015
44015
  Ft$1,
44016
44016
  {
44017
44017
  defaultLanguage: "yaml",
@@ -44036,7 +44036,7 @@
44036
44036
  }
44037
44037
  }
44038
44038
  ) }),
44039
- !readOnly && /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$A.ControlsRowContainer, { $bgColor: token.colorPrimaryBg, $designNewLayout: designNewLayout, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Flex, { gap: designNewLayout ? 10 : 16, align: "center", children: [
44039
+ !readOnly && /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$B.ControlsRowContainer, { $bgColor: token.colorPrimaryBg, $designNewLayout: designNewLayout, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Flex, { gap: designNewLayout ? 10 : 16, align: "center", children: [
44040
44040
  /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Button, { type: "primary", onClick: onSubmit, loading: isLoading, disabled: canEdit === false, children: "Submit" }),
44041
44041
  backlink && /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Button, { onClick: () => navigate(backlink), children: "Cancel" }),
44042
44042
  /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Button, { onClick: handleReload, children: "Reload" })
@@ -44047,7 +44047,7 @@
44047
44047
  open: !!error,
44048
44048
  onOk: () => setError(void 0),
44049
44049
  onCancel: () => setError(void 0),
44050
- title: /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Typography.Text, { type: "danger", children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$A.BigText, { children: "Error!" }) }),
44050
+ title: /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Typography.Text, { type: "danger", children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$B.BigText, { children: "Error!" }) }),
44051
44051
  cancelButtonProps: { style: { display: "none" } },
44052
44052
  centered: true,
44053
44053
  styles: {
@@ -44208,7 +44208,7 @@
44208
44208
  const VisibilityContainer$1 = styled.div`
44209
44209
  display: ${({ $hidden }) => $hidden ? "none" : "block"};
44210
44210
  `;
44211
- const Styled$z = {
44211
+ const Styled$A = {
44212
44212
  VisibilityContainer: VisibilityContainer$1
44213
44213
  };
44214
44214
 
@@ -44258,7 +44258,7 @@
44258
44258
  return /* @__PURE__ */ jsxRuntimeExports.jsx(PerRequestError, { error: errorToShow });
44259
44259
  }
44260
44260
  const shouldAutoHide = !criteria && (!valuePrepared || valuePrepared === "~undefined-value~");
44261
- return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$z.VisibilityContainer, { $hidden: shouldAutoHide || shouldHideByCriteria, children });
44261
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$A.VisibilityContainer, { $hidden: shouldAutoHide || shouldHideByCriteria, children });
44262
44262
  };
44263
44263
 
44264
44264
  const unknownToString = (value) => {
@@ -44511,7 +44511,7 @@
44511
44511
  display: ${({ $isOpen }) => $isOpen ? "block" : "none"};
44512
44512
  padding: ${({ $designNewLayout }) => $designNewLayout ? "0 0 0 6px" : "4px"};
44513
44513
  `;
44514
- const Styled$y = {
44514
+ const Styled$z = {
44515
44515
  Container: Container$3,
44516
44516
  TitleBar,
44517
44517
  Content: Content$1
@@ -44538,14 +44538,14 @@
44538
44538
  }
44539
44539
  };
44540
44540
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(
44541
- Styled$y.Container,
44541
+ Styled$z.Container,
44542
44542
  {
44543
44543
  $designNewLayout: designNewLayout,
44544
44544
  $borderColor: token.colorBorder,
44545
44545
  $bgColor: token.colorBgContainer,
44546
44546
  children: [
44547
44547
  /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Flex, { justify: "space-between", children: [
44548
- /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$y.TitleBar, { onClick: () => toggleCollapse(), children: [
44548
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(Styled$z.TitleBar, { onClick: () => toggleCollapse(), children: [
44549
44549
  !designNewLayout && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: isOpen ? /* @__PURE__ */ jsxRuntimeExports.jsx(AntIcons.CaretDownOutlined, { size: 14 }) : /* @__PURE__ */ jsxRuntimeExports.jsx(AntIcons.CaretRightOutlined, { size: 14 }) }),
44550
44550
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: title }),
44551
44551
  designNewLayout && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: isOpen ? /* @__PURE__ */ jsxRuntimeExports.jsx(DownIcon, {}) : /* @__PURE__ */ jsxRuntimeExports.jsx(UpIcon, {}) })
@@ -44556,12 +44556,58 @@
44556
44556
  persistedCheckbox
44557
44557
  ] })
44558
44558
  ] }),
44559
- /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$y.Content, { $isOpen: isOpen, $designNewLayout: designNewLayout, children })
44559
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$z.Content, { $isOpen: isOpen, $designNewLayout: designNewLayout, children })
44560
44560
  ]
44561
44561
  }
44562
44562
  );
44563
44563
  };
44564
44564
 
44565
+ const getStringByName = (name) => {
44566
+ if (typeof name === "string") {
44567
+ return name;
44568
+ }
44569
+ if (Array.isArray(name)) {
44570
+ const res = name.slice(-1)[0];
44571
+ return typeof res === "string" ? res : String(res);
44572
+ }
44573
+ return String(name);
44574
+ };
44575
+
44576
+ const formatDefaultValue = (defaultValue) => {
44577
+ if (Array.isArray(defaultValue)) {
44578
+ return defaultValue.join(", ");
44579
+ }
44580
+ return String(defaultValue);
44581
+ };
44582
+ const buildPlaceholder = (name, defaultValue, example) => {
44583
+ if (defaultValue !== void 0) {
44584
+ return `Default: ${formatDefaultValue(defaultValue)}`;
44585
+ }
44586
+ if (example !== void 0) {
44587
+ return `Example: ${formatDefaultValue(example)}`;
44588
+ }
44589
+ return getStringByName(name);
44590
+ };
44591
+ const getExampleTooltip = (defaultValue, example) => {
44592
+ if (example === void 0) return void 0;
44593
+ if (defaultValue === void 0) return void 0;
44594
+ return `Example: ${formatDefaultValue(example)}`;
44595
+ };
44596
+
44597
+ const DefaultValueButton = ({
44598
+ defaultValue,
44599
+ isApplied,
44600
+ onApply,
44601
+ onClear,
44602
+ disabled
44603
+ }) => {
44604
+ const formatted = formatDefaultValue(defaultValue);
44605
+ if (isApplied) {
44606
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Tooltip, { title: `Server will substitute default: ${formatted}`, children: /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Button, { size: "small", type: "link", disabled, onClick: onClear, children: "Clear" }) });
44607
+ }
44608
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Tooltip, { title: `Will set field to: ${formatted}`, children: /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Button, { size: "small", type: "link", disabled, onClick: onApply, children: "Apply default" }) });
44609
+ };
44610
+
44565
44611
  const PersistedCheckbox = ({ formName, persistedControls, type }) => {
44566
44612
  const isChecked = persistedControls.persistedKeys.some((arr) => JSON.stringify(arr) === JSON.stringify(formName));
44567
44613
  const toggleCheckbox = () => {
@@ -44590,13 +44636,13 @@
44590
44636
  const Content = styled.div`
44591
44637
  padding: ${({ $designNewLayout }) => $designNewLayout ? "0 0 0 6px" : "4px"};
44592
44638
  `;
44593
- const Styled$x = {
44639
+ const Styled$y = {
44594
44640
  Content
44595
44641
  };
44596
44642
 
44597
44643
  const ArrayInsideContainer = ({ children }) => {
44598
44644
  const designNewLayout = useDesignNewLayout();
44599
- return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$x.Content, { $designNewLayout: designNewLayout, children });
44645
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$y.Content, { $designNewLayout: designNewLayout, children });
44600
44646
  };
44601
44647
 
44602
44648
  const includesPath = (haystack, needle) => haystack.some((h) => h.length === needle.length && h.every((seg, i) => seg === String(needle[i])));
@@ -44618,6 +44664,23 @@
44618
44664
  height: ${({ $height }) => $height}px;
44619
44665
  `;
44620
44666
 
44667
+ const Styled$x = {
44668
+ BulbIcon: styled(AntIcons.BulbOutlined)`
44669
+ margin-left: 6px;
44670
+ `
44671
+ };
44672
+
44673
+ const ExampleTooltipIcon = ({ tooltip }) => {
44674
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Tooltip, { title: tooltip, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$x.BulbIcon, {}) });
44675
+ };
44676
+
44677
+ const NullToggleButton = ({ isNull, onSetNull, onClear, disabled }) => {
44678
+ if (isNull) {
44679
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Tooltip, { title: "Value will be sent as explicit null. Click to clear.", children: /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Button, { size: "small", type: "link", disabled, onClick: onClear, children: "Clear null" }) });
44680
+ }
44681
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Tooltip, { title: "Send this field as explicit null", children: /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Button, { size: "small", type: "link", disabled, onClick: onSetNull, children: "Set null" }) });
44682
+ };
44683
+
44621
44684
  const filterSelectOptions = (input, option) => (typeof option?.label === "string" ? option.label : "").toLowerCase().includes(input.toLowerCase());
44622
44685
 
44623
44686
  const truncate$1 = (text, max) => {
@@ -46127,8 +46190,8 @@
46127
46190
  ] });
46128
46191
  };
46129
46192
 
46130
- const isObject$2 = (x) => typeof x === "object" && x !== null;
46131
- const isPlainObject$5 = (x) => isObject$2(x) && !Array.isArray(x) && (Object.getPrototypeOf(x) === Object.prototype || Object.getPrototypeOf(x) === null);
46193
+ const isObject$5 = (x) => typeof x === "object" && x !== null;
46194
+ const isPlainObject$5 = (x) => isObject$5(x) && !Array.isArray(x) && (Object.getPrototypeOf(x) === Object.prototype || Object.getPrototypeOf(x) === null);
46132
46195
  const isString = (v) => typeof v === "string";
46133
46196
  const isStringNumberRecord = (x) => isPlainObject$5(x) && Object.values(x).every(isString);
46134
46197
  const getAnnotationsItemsInside = (value) => {
@@ -49032,7 +49095,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
49032
49095
  }
49033
49096
  };
49034
49097
 
49035
- function Symbol$1(type, size) {
49098
+ function Symbol$5(type, size) {
49036
49099
  let context = null,
49037
49100
  path = withPath(symbol);
49038
49101
 
@@ -49563,7 +49626,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
49563
49626
  stackOffsetNone(series, order);
49564
49627
  }
49565
49628
 
49566
- var get$2 = {};
49629
+ var get$4 = {};
49567
49630
 
49568
49631
  var isUnsafeProperty = {};
49569
49632
 
@@ -49599,7 +49662,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
49599
49662
  exports.isDeepKey = isDeepKey;
49600
49663
  } (isDeepKey));
49601
49664
 
49602
- var toKey = {};
49665
+ var toKey$2 = {};
49603
49666
 
49604
49667
  (function (exports) {
49605
49668
 
@@ -49616,11 +49679,11 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
49616
49679
  }
49617
49680
 
49618
49681
  exports.toKey = toKey;
49619
- } (toKey));
49682
+ } (toKey$2));
49620
49683
 
49621
49684
  var toPath = {};
49622
49685
 
49623
- var toString$1 = {};
49686
+ var toString$3 = {};
49624
49687
 
49625
49688
  (function (exports) {
49626
49689
 
@@ -49644,18 +49707,18 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
49644
49707
  }
49645
49708
 
49646
49709
  exports.toString = toString;
49647
- } (toString$1));
49710
+ } (toString$3));
49648
49711
 
49649
49712
  (function (exports) {
49650
49713
 
49651
49714
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
49652
49715
 
49653
- const toString = toString$1;
49654
- const toKey$1 = toKey;
49716
+ const toString = toString$3;
49717
+ const toKey = toKey$2;
49655
49718
 
49656
49719
  function toPath(deepKey) {
49657
49720
  if (Array.isArray(deepKey)) {
49658
- return deepKey.map(toKey$1.toKey);
49721
+ return deepKey.map(toKey.toKey);
49659
49722
  }
49660
49723
  if (typeof deepKey === 'symbol') {
49661
49724
  return [deepKey];
@@ -49736,7 +49799,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
49736
49799
 
49737
49800
  const isUnsafeProperty$1 = isUnsafeProperty;
49738
49801
  const isDeepKey$1 = isDeepKey;
49739
- const toKey$1 = toKey;
49802
+ const toKey = toKey$2;
49740
49803
  const toPath$1 = toPath;
49741
49804
 
49742
49805
  function get(object, path, defaultValue) {
@@ -49762,7 +49825,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
49762
49825
  case 'number':
49763
49826
  case 'symbol': {
49764
49827
  if (typeof path === 'number') {
49765
- path = toKey$1.toKey(path);
49828
+ path = toKey.toKey(path);
49766
49829
  }
49767
49830
  const result = object[path];
49768
49831
  if (result === undefined) {
@@ -49812,11 +49875,11 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
49812
49875
  }
49813
49876
 
49814
49877
  exports.get = get;
49815
- } (get$2));
49878
+ } (get$4));
49816
49879
 
49817
- var get = get$2.get;
49880
+ var get$2 = get$4.get;
49818
49881
 
49819
- const get$1 = /*@__PURE__*/getDefaultExportFromCjs(get);
49882
+ const get$3 = /*@__PURE__*/getDefaultExportFromCjs(get$2);
49820
49883
 
49821
49884
  var mathSign = value => {
49822
49885
  if (value === 0) {
@@ -49904,7 +49967,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
49904
49967
  if (!ary || !ary.length) {
49905
49968
  return undefined;
49906
49969
  }
49907
- return ary.find(entry => entry && (typeof specifiedKey === 'function' ? specifiedKey(entry) : get$1(entry, specifiedKey)) === specifiedValue);
49970
+ return ary.find(entry => entry && (typeof specifiedKey === 'function' ? specifiedKey(entry) : get$3(entry, specifiedKey)) === specifiedValue);
49908
49971
  }
49909
49972
  /**
49910
49973
  * Checks if the value is null or undefined
@@ -50022,7 +50085,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
50022
50085
  */
50023
50086
  var getPath = () => {
50024
50087
  var symbolFactory = getSymbolFactory(realType);
50025
- var symbol = Symbol$1().type(symbolFactory).size(calculateAreaSize(size, sizeType, realType));
50088
+ var symbol = Symbol$5().type(symbolFactory).size(calculateAreaSize(size, sizeType, realType));
50026
50089
  var s = symbol();
50027
50090
  if (s === null) {
50028
50091
  return undefined;
@@ -50320,7 +50383,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
50320
50383
  exports.isArrayLike = isArrayLike;
50321
50384
  } (isArrayLike));
50322
50385
 
50323
- var isObjectLike$1 = {};
50386
+ var isObjectLike$3 = {};
50324
50387
 
50325
50388
  (function (exports) {
50326
50389
 
@@ -50331,14 +50394,14 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
50331
50394
  }
50332
50395
 
50333
50396
  exports.isObjectLike = isObjectLike;
50334
- } (isObjectLike$1));
50397
+ } (isObjectLike$3));
50335
50398
 
50336
50399
  (function (exports) {
50337
50400
 
50338
50401
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
50339
50402
 
50340
50403
  const isArrayLike$1 = isArrayLike;
50341
- const isObjectLike = isObjectLike$1;
50404
+ const isObjectLike = isObjectLike$3;
50342
50405
 
50343
50406
  function isArrayLikeObject(value) {
50344
50407
  return isObjectLike.isObjectLike(value) && isArrayLike$1.isArrayLike(value);
@@ -50355,7 +50418,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
50355
50418
 
50356
50419
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
50357
50420
 
50358
- const get = get$2;
50421
+ const get = get$4;
50359
50422
 
50360
50423
  function property(path) {
50361
50424
  return function (object) {
@@ -50372,7 +50435,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
50372
50435
 
50373
50436
  var isMatchWith = {};
50374
50437
 
50375
- var isObject$1 = {};
50438
+ var isObject$4 = {};
50376
50439
 
50377
50440
  (function (exports) {
50378
50441
 
@@ -50383,7 +50446,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
50383
50446
  }
50384
50447
 
50385
50448
  exports.isObject = isObject;
50386
- } (isObject$1));
50449
+ } (isObject$4));
50387
50450
 
50388
50451
  var isPrimitive = {};
50389
50452
 
@@ -50398,7 +50461,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
50398
50461
  exports.isPrimitive = isPrimitive;
50399
50462
  } (isPrimitive));
50400
50463
 
50401
- var eq = {};
50464
+ var eq$2 = {};
50402
50465
 
50403
50466
  (function (exports) {
50404
50467
 
@@ -50409,15 +50472,15 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
50409
50472
  }
50410
50473
 
50411
50474
  exports.eq = eq;
50412
- } (eq));
50475
+ } (eq$2));
50413
50476
 
50414
50477
  (function (exports) {
50415
50478
 
50416
50479
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
50417
50480
 
50418
- const isObject = isObject$1;
50481
+ const isObject = isObject$4;
50419
50482
  const isPrimitive$1 = isPrimitive;
50420
- const eq$1 = eq;
50483
+ const eq = eq$2;
50421
50484
 
50422
50485
  function isMatchWith(target, source, compare) {
50423
50486
  if (typeof compare !== 'function') {
@@ -50444,11 +50507,11 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
50444
50507
  if (sourceKeys.length > 0) {
50445
50508
  return isMatchWithInternal(target, { ...source }, compare, stack);
50446
50509
  }
50447
- return eq$1.eq(target, source);
50510
+ return eq.eq(target, source);
50448
50511
  }
50449
50512
  default: {
50450
50513
  if (!isObject.isObject(target)) {
50451
- return eq$1.eq(target, source);
50514
+ return eq.eq(target, source);
50452
50515
  }
50453
50516
  if (typeof source === 'string') {
50454
50517
  return source === '';
@@ -51043,9 +51106,9 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
51043
51106
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
51044
51107
 
51045
51108
  const isMatch$1 = isMatch;
51046
- const toKey$1 = toKey;
51109
+ const toKey = toKey$2;
51047
51110
  const cloneDeep$1 = cloneDeep;
51048
- const get = get$2;
51111
+ const get = get$4;
51049
51112
  const has = has$1;
51050
51113
 
51051
51114
  function matchesProperty(property, source) {
@@ -51057,7 +51120,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
51057
51120
  break;
51058
51121
  }
51059
51122
  case 'number': {
51060
- property = toKey$1.toKey(property);
51123
+ property = toKey.toKey(property);
51061
51124
  break;
51062
51125
  }
51063
51126
  }
@@ -51951,9 +52014,9 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
51951
52014
  exports.compareValues = compareValues;
51952
52015
  } (compareValues));
51953
52016
 
51954
- var isKey = {};
52017
+ var isKey$2 = {};
51955
52018
 
51956
- var isSymbol$1 = {};
52019
+ var isSymbol$5 = {};
51957
52020
 
51958
52021
  (function (exports) {
51959
52022
 
@@ -51964,13 +52027,13 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
51964
52027
  }
51965
52028
 
51966
52029
  exports.isSymbol = isSymbol;
51967
- } (isSymbol$1));
52030
+ } (isSymbol$5));
51968
52031
 
51969
52032
  (function (exports) {
51970
52033
 
51971
52034
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
51972
52035
 
51973
- const isSymbol = isSymbol$1;
52036
+ const isSymbol = isSymbol$5;
51974
52037
 
51975
52038
  const regexIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/;
51976
52039
  const regexIsPlainProp = /^\w*$/;
@@ -51986,14 +52049,14 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
51986
52049
  }
51987
52050
 
51988
52051
  exports.isKey = isKey;
51989
- } (isKey));
52052
+ } (isKey$2));
51990
52053
 
51991
52054
  (function (exports) {
51992
52055
 
51993
52056
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
51994
52057
 
51995
52058
  const compareValues$1 = compareValues;
51996
- const isKey$1 = isKey;
52059
+ const isKey = isKey$2;
51997
52060
  const toPath$1 = toPath;
51998
52061
 
51999
52062
  function orderBy(collection, criteria, orders, guard) {
@@ -52046,7 +52109,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
52046
52109
  if (Array.isArray(criterion) && criterion.length === 1) {
52047
52110
  criterion = criterion[0];
52048
52111
  }
52049
- if (criterion == null || typeof criterion === 'function' || Array.isArray(criterion) || isKey$1.isKey(criterion)) {
52112
+ if (criterion == null || typeof criterion === 'function' || Array.isArray(criterion) || isKey.isKey(criterion)) {
52050
52113
  return criterion;
52051
52114
  }
52052
52115
  return { key: criterion, path: toPath$1.toPath(criterion) };
@@ -52107,8 +52170,8 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
52107
52170
 
52108
52171
  const isIndex$1 = isIndex;
52109
52172
  const isArrayLike$1 = isArrayLike;
52110
- const isObject = isObject$1;
52111
- const eq$1 = eq;
52173
+ const isObject = isObject$4;
52174
+ const eq = eq$2;
52112
52175
 
52113
52176
  function isIterateeCall(value, index, object) {
52114
52177
  if (!isObject.isObject(object)) {
@@ -52116,7 +52179,7 @@ if (_IS_WORKLET) registerPaint("spoiler", SpoilerPainterWorklet);
52116
52179
  }
52117
52180
  if ((typeof index === 'number' && isArrayLike$1.isArrayLike(object) && isIndex$1.isIndex(index) && index < object.length) ||
52118
52181
  (typeof index === 'string' && index in object)) {
52119
- return eq$1.eq(object[index], value);
52182
+ return eq.eq(object[index], value);
52120
52183
  }
52121
52184
  return false;
52122
52185
  }
@@ -54742,7 +54805,7 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
54742
54805
  return defaultValue;
54743
54806
  }
54744
54807
  if (isNumOrStr(dataKey)) {
54745
- return get$1(obj, dataKey, defaultValue);
54808
+ return get$3(obj, dataKey, defaultValue);
54746
54809
  }
54747
54810
  if (typeof dataKey === 'function') {
54748
54811
  return dataKey(obj);
@@ -57660,7 +57723,7 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
57660
57723
 
57661
57724
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
57662
57725
 
57663
- const isSymbol = isSymbol$1;
57726
+ const isSymbol = isSymbol$5;
57664
57727
 
57665
57728
  function toNumber(value) {
57666
57729
  if (isSymbol.isSymbol(value)) {
@@ -62104,7 +62167,7 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
62104
62167
  Ctor = x.constructor;
62105
62168
 
62106
62169
  if (dp === void 0) {
62107
- str = toString(x, true);
62170
+ str = toString$2(x, true);
62108
62171
  } else {
62109
62172
  checkInt32(dp, 0, MAX_DIGITS);
62110
62173
 
@@ -62112,7 +62175,7 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
62112
62175
  else checkInt32(rm, 0, 8);
62113
62176
 
62114
62177
  x = round(new Ctor(x), dp + 1, rm);
62115
- str = toString(x, true, dp + 1);
62178
+ str = toString$2(x, true, dp + 1);
62116
62179
  }
62117
62180
 
62118
62181
  return str;
@@ -62140,7 +62203,7 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
62140
62203
  x = this,
62141
62204
  Ctor = x.constructor;
62142
62205
 
62143
- if (dp === void 0) return toString(x);
62206
+ if (dp === void 0) return toString$2(x);
62144
62207
 
62145
62208
  checkInt32(dp, 0, MAX_DIGITS);
62146
62209
 
@@ -62148,7 +62211,7 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
62148
62211
  else checkInt32(rm, 0, 8);
62149
62212
 
62150
62213
  y = round(new Ctor(x), dp + getBase10Exponent(x) + 1, rm);
62151
- str = toString(y.abs(), false, dp + getBase10Exponent(y) + 1);
62214
+ str = toString$2(y.abs(), false, dp + getBase10Exponent(y) + 1);
62152
62215
 
62153
62216
  // To determine whether to add the minus sign look at the value before it was rounded,
62154
62217
  // i.e. look at `x` rather than `y`.
@@ -62287,7 +62350,7 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
62287
62350
 
62288
62351
  if (sd === void 0) {
62289
62352
  e = getBase10Exponent(x);
62290
- str = toString(x, e <= Ctor.toExpNeg || e >= Ctor.toExpPos);
62353
+ str = toString$2(x, e <= Ctor.toExpNeg || e >= Ctor.toExpPos);
62291
62354
  } else {
62292
62355
  checkInt32(sd, 1, MAX_DIGITS);
62293
62356
 
@@ -62296,7 +62359,7 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
62296
62359
 
62297
62360
  x = round(new Ctor(x), sd, rm);
62298
62361
  e = getBase10Exponent(x);
62299
- str = toString(x, sd <= e || e <= Ctor.toExpNeg, sd);
62362
+ str = toString$2(x, sd <= e || e <= Ctor.toExpNeg, sd);
62300
62363
  }
62301
62364
 
62302
62365
  return str;
@@ -62342,7 +62405,7 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
62342
62405
  e = getBase10Exponent(x),
62343
62406
  Ctor = x.constructor;
62344
62407
 
62345
- return toString(x, e <= Ctor.toExpNeg || e >= Ctor.toExpPos);
62408
+ return toString$2(x, e <= Ctor.toExpNeg || e >= Ctor.toExpPos);
62346
62409
  };
62347
62410
 
62348
62411
 
@@ -63242,7 +63305,7 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
63242
63305
  }
63243
63306
 
63244
63307
 
63245
- function toString(x, isExp, sd) {
63308
+ function toString$2(x, isExp, sd) {
63246
63309
  var k,
63247
63310
  e = getBase10Exponent(x),
63248
63311
  str = digitsToString(x.d),
@@ -69103,7 +69166,7 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
69103
69166
  }
69104
69167
  toArray(children).forEach(child => {
69105
69168
  // @ts-expect-error toArray and lodash.get are not compatible. Let's get rid of the whole findAllByType function
69106
- var childType = get$1(child, 'type.displayName') || get$1(child, 'type.name');
69169
+ var childType = get$3(child, 'type.displayName') || get$3(child, 'type.name');
69107
69170
  if (childType && types.indexOf(childType) !== -1) {
69108
69171
  result.push(child);
69109
69172
  }
@@ -70118,7 +70181,7 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
70118
70181
  var curAngle = first === null || first === void 0 ? void 0 : first.startAngle;
70119
70182
  sectors === null || sectors === void 0 || sectors.forEach((entry, index) => {
70120
70183
  var prev = prevSectors && prevSectors[index];
70121
- var paddingAngle = index > 0 ? get$1(entry, 'paddingAngle', 0) : 0;
70184
+ var paddingAngle = index > 0 ? get$3(entry, 'paddingAngle', 0) : 0;
70122
70185
  if (prev) {
70123
70186
  var angle = interpolate$1(prev.endAngle - prev.startAngle, entry.endAngle - entry.startAngle, t);
70124
70187
  var latest = _objectSpread$d(_objectSpread$d({}, entry), {}, {
@@ -72895,7 +72958,7 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
72895
72958
  });
72896
72959
  }
72897
72960
  return /*#__PURE__*/React__namespace.createElement("line", _extends$9({}, props, {
72898
- className: clsx('recharts-cartesian-axis-line', get$1(axisLine, 'className'))
72961
+ className: clsx('recharts-cartesian-axis-line', get$3(axisLine, 'className'))
72899
72962
  }));
72900
72963
  }
72901
72964
 
@@ -73073,7 +73136,7 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
73073
73136
  className: "recharts-cartesian-axis-tick",
73074
73137
  key: "tick-".concat(entry.value, "-").concat(entry.coordinate, "-").concat(entry.tickCoord)
73075
73138
  }, tickLine && /*#__PURE__*/React__namespace.createElement("line", _extends$9({}, tickLineProps, lineCoord, {
73076
- className: clsx('recharts-cartesian-axis-tick-line', get$1(tickLine, 'className'))
73139
+ className: clsx('recharts-cartesian-axis-tick-line', get$3(tickLine, 'className'))
73077
73140
  })));
73078
73141
  });
73079
73142
  var tickLabels = tickLineCoords.map((_ref2, i) => {
@@ -83207,13 +83270,13 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
83207
83270
  */
83208
83271
 
83209
83272
  /** Used as the `TypeError` message for "Functions" methods. */
83210
- var FUNC_ERROR_TEXT = 'Expected a function';
83273
+ var FUNC_ERROR_TEXT$1 = 'Expected a function';
83211
83274
 
83212
83275
  /** Used as references for various `Number` constants. */
83213
83276
  var NAN = 0 / 0;
83214
83277
 
83215
83278
  /** `Object#toString` result references. */
83216
- var symbolTag = '[object Symbol]';
83279
+ var symbolTag$1 = '[object Symbol]';
83217
83280
 
83218
83281
  /** Used to match leading and trailing whitespace. */
83219
83282
  var reTrim = /^\s+|\s+$/g;
@@ -83231,23 +83294,23 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
83231
83294
  var freeParseInt = parseInt;
83232
83295
 
83233
83296
  /** Detect free variable `global` from Node.js. */
83234
- var freeGlobal = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;
83297
+ var freeGlobal$2 = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;
83235
83298
 
83236
83299
  /** Detect free variable `self`. */
83237
- var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
83300
+ var freeSelf$1 = typeof self == 'object' && self && self.Object === Object && self;
83238
83301
 
83239
83302
  /** Used as a reference to the global object. */
83240
- var root = freeGlobal || freeSelf || Function('return this')();
83303
+ var root$4 = freeGlobal$2 || freeSelf$1 || Function('return this')();
83241
83304
 
83242
83305
  /** Used for built-in method references. */
83243
- var objectProto = Object.prototype;
83306
+ var objectProto$5 = Object.prototype;
83244
83307
 
83245
83308
  /**
83246
83309
  * Used to resolve the
83247
83310
  * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
83248
83311
  * of values.
83249
83312
  */
83250
- var objectToString = objectProto.toString;
83313
+ var objectToString$2 = objectProto$5.toString;
83251
83314
 
83252
83315
  /* Built-in method references for those with the same name as other `lodash` methods. */
83253
83316
  var nativeMax = Math.max,
@@ -83270,7 +83333,7 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
83270
83333
  * // => Logs the number of milliseconds it took for the deferred invocation.
83271
83334
  */
83272
83335
  var now = function() {
83273
- return root.Date.now();
83336
+ return root$4.Date.now();
83274
83337
  };
83275
83338
 
83276
83339
  /**
@@ -83340,10 +83403,10 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
83340
83403
  trailing = true;
83341
83404
 
83342
83405
  if (typeof func != 'function') {
83343
- throw new TypeError(FUNC_ERROR_TEXT);
83406
+ throw new TypeError(FUNC_ERROR_TEXT$1);
83344
83407
  }
83345
83408
  wait = toNumber(wait) || 0;
83346
- if (isObject(options)) {
83409
+ if (isObject$3(options)) {
83347
83410
  leading = !!options.leading;
83348
83411
  maxing = 'maxWait' in options;
83349
83412
  maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;
@@ -83474,7 +83537,7 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
83474
83537
  * _.isObject(null);
83475
83538
  * // => false
83476
83539
  */
83477
- function isObject(value) {
83540
+ function isObject$3(value) {
83478
83541
  var type = typeof value;
83479
83542
  return !!value && (type == 'object' || type == 'function');
83480
83543
  }
@@ -83503,7 +83566,7 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
83503
83566
  * _.isObjectLike(null);
83504
83567
  * // => false
83505
83568
  */
83506
- function isObjectLike(value) {
83569
+ function isObjectLike$2(value) {
83507
83570
  return !!value && typeof value == 'object';
83508
83571
  }
83509
83572
 
@@ -83524,9 +83587,9 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
83524
83587
  * _.isSymbol('abc');
83525
83588
  * // => false
83526
83589
  */
83527
- function isSymbol(value) {
83590
+ function isSymbol$4(value) {
83528
83591
  return typeof value == 'symbol' ||
83529
- (isObjectLike(value) && objectToString.call(value) == symbolTag);
83592
+ (isObjectLike$2(value) && objectToString$2.call(value) == symbolTag$1);
83530
83593
  }
83531
83594
 
83532
83595
  /**
@@ -83556,12 +83619,12 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
83556
83619
  if (typeof value == 'number') {
83557
83620
  return value;
83558
83621
  }
83559
- if (isSymbol(value)) {
83622
+ if (isSymbol$4(value)) {
83560
83623
  return NAN;
83561
83624
  }
83562
- if (isObject(value)) {
83625
+ if (isObject$3(value)) {
83563
83626
  var other = typeof value.valueOf == 'function' ? value.valueOf() : value;
83564
- value = isObject(other) ? (other + '') : other;
83627
+ value = isObject$3(other) ? (other + '') : other;
83565
83628
  }
83566
83629
  if (typeof value != 'string') {
83567
83630
  return value === 0 ? value : +value;
@@ -83883,17 +83946,6 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
83883
83946
  ) });
83884
83947
  };
83885
83948
 
83886
- const getStringByName = (name) => {
83887
- if (typeof name === "string") {
83888
- return name;
83889
- }
83890
- if (Array.isArray(name)) {
83891
- const res = name.slice(-1)[0];
83892
- return typeof res === "string" ? res : String(res);
83893
- }
83894
- return String(name);
83895
- };
83896
-
83897
83949
  const listItemBasePath = (fullFieldPath) => {
83898
83950
  for (let i = fullFieldPath.length - 1; i >= 0; i--) {
83899
83951
  if (typeof fullFieldPath[i] === "number") {
@@ -83927,14 +83979,1442 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
83927
83979
  };
83928
83980
  const normalizeNameToPath = (name) => Array.isArray(name) ? name : [name];
83929
83981
 
83982
+ const useDefaultValueButton = (formFieldName, defaultValue, nullable) => {
83983
+ const form = antd.Form.useFormInstance();
83984
+ const currentValue = antd.Form.useWatch(formFieldName, form);
83985
+ const handleApply = React$1.useCallback(() => {
83986
+ form.setFieldValue(formFieldName, defaultValue);
83987
+ }, [defaultValue, form, formFieldName]);
83988
+ const handleClear = React$1.useCallback(() => {
83989
+ form.setFieldValue(formFieldName, void 0);
83990
+ }, [form, formFieldName]);
83991
+ return React$1.useMemo(() => {
83992
+ if (defaultValue === void 0) {
83993
+ return { visible: false };
83994
+ }
83995
+ if (nullable && currentValue === null) {
83996
+ return { visible: false };
83997
+ }
83998
+ const isEmpty = currentValue === void 0 || currentValue === null || currentValue === "" || Array.isArray(currentValue) && currentValue.length === 0;
83999
+ if (isEmpty) {
84000
+ return { visible: true, isApplied: false, handleApply, handleClear };
84001
+ }
84002
+ const isEqualToDefault = Array.isArray(defaultValue) && Array.isArray(currentValue) ? defaultValue.length === currentValue.length && defaultValue.every((v, i) => v === currentValue[i]) : currentValue === defaultValue;
84003
+ if (isEqualToDefault) {
84004
+ return { visible: true, isApplied: true, handleApply, handleClear };
84005
+ }
84006
+ return { visible: false };
84007
+ }, [nullable, currentValue, defaultValue, handleApply, handleClear]);
84008
+ };
84009
+
84010
+ /**
84011
+ * Checks if `value` is classified as an `Array` object.
84012
+ *
84013
+ * @static
84014
+ * @memberOf _
84015
+ * @since 0.1.0
84016
+ * @category Lang
84017
+ * @param {*} value The value to check.
84018
+ * @returns {boolean} Returns `true` if `value` is an array, else `false`.
84019
+ * @example
84020
+ *
84021
+ * _.isArray([1, 2, 3]);
84022
+ * // => true
84023
+ *
84024
+ * _.isArray(document.body.children);
84025
+ * // => false
84026
+ *
84027
+ * _.isArray('abc');
84028
+ * // => false
84029
+ *
84030
+ * _.isArray(_.noop);
84031
+ * // => false
84032
+ */
84033
+
84034
+ var isArray$3 = Array.isArray;
84035
+
84036
+ var isArray_1 = isArray$3;
84037
+
84038
+ /** Detect free variable `global` from Node.js. */
84039
+
84040
+ var freeGlobal$1 = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;
84041
+
84042
+ var _freeGlobal = freeGlobal$1;
84043
+
84044
+ var freeGlobal = _freeGlobal;
84045
+
84046
+ /** Detect free variable `self`. */
84047
+ var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
84048
+
84049
+ /** Used as a reference to the global object. */
84050
+ var root$3 = freeGlobal || freeSelf || Function('return this')();
84051
+
84052
+ var _root = root$3;
84053
+
84054
+ var root$2 = _root;
84055
+
84056
+ /** Built-in value references. */
84057
+ var Symbol$4 = root$2.Symbol;
84058
+
84059
+ var _Symbol = Symbol$4;
84060
+
84061
+ var Symbol$3 = _Symbol;
84062
+
84063
+ /** Used for built-in method references. */
84064
+ var objectProto$4 = Object.prototype;
84065
+
84066
+ /** Used to check objects for own properties. */
84067
+ var hasOwnProperty$3 = objectProto$4.hasOwnProperty;
84068
+
84069
+ /**
84070
+ * Used to resolve the
84071
+ * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
84072
+ * of values.
84073
+ */
84074
+ var nativeObjectToString$1 = objectProto$4.toString;
84075
+
84076
+ /** Built-in value references. */
84077
+ var symToStringTag$1 = Symbol$3 ? Symbol$3.toStringTag : undefined;
84078
+
84079
+ /**
84080
+ * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.
84081
+ *
84082
+ * @private
84083
+ * @param {*} value The value to query.
84084
+ * @returns {string} Returns the raw `toStringTag`.
84085
+ */
84086
+ function getRawTag$1(value) {
84087
+ var isOwn = hasOwnProperty$3.call(value, symToStringTag$1),
84088
+ tag = value[symToStringTag$1];
84089
+
84090
+ try {
84091
+ value[symToStringTag$1] = undefined;
84092
+ var unmasked = true;
84093
+ } catch (e) {}
84094
+
84095
+ var result = nativeObjectToString$1.call(value);
84096
+ if (unmasked) {
84097
+ if (isOwn) {
84098
+ value[symToStringTag$1] = tag;
84099
+ } else {
84100
+ delete value[symToStringTag$1];
84101
+ }
84102
+ }
84103
+ return result;
84104
+ }
84105
+
84106
+ var _getRawTag = getRawTag$1;
84107
+
84108
+ /** Used for built-in method references. */
84109
+
84110
+ var objectProto$3 = Object.prototype;
84111
+
84112
+ /**
84113
+ * Used to resolve the
84114
+ * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
84115
+ * of values.
84116
+ */
84117
+ var nativeObjectToString = objectProto$3.toString;
84118
+
84119
+ /**
84120
+ * Converts `value` to a string using `Object.prototype.toString`.
84121
+ *
84122
+ * @private
84123
+ * @param {*} value The value to convert.
84124
+ * @returns {string} Returns the converted string.
84125
+ */
84126
+ function objectToString$1(value) {
84127
+ return nativeObjectToString.call(value);
84128
+ }
84129
+
84130
+ var _objectToString = objectToString$1;
84131
+
84132
+ var Symbol$2 = _Symbol,
84133
+ getRawTag = _getRawTag,
84134
+ objectToString = _objectToString;
84135
+
84136
+ /** `Object#toString` result references. */
84137
+ var nullTag = '[object Null]',
84138
+ undefinedTag = '[object Undefined]';
84139
+
84140
+ /** Built-in value references. */
84141
+ var symToStringTag = Symbol$2 ? Symbol$2.toStringTag : undefined;
84142
+
84143
+ /**
84144
+ * The base implementation of `getTag` without fallbacks for buggy environments.
84145
+ *
84146
+ * @private
84147
+ * @param {*} value The value to query.
84148
+ * @returns {string} Returns the `toStringTag`.
84149
+ */
84150
+ function baseGetTag$2(value) {
84151
+ if (value == null) {
84152
+ return value === undefined ? undefinedTag : nullTag;
84153
+ }
84154
+ return (symToStringTag && symToStringTag in Object(value))
84155
+ ? getRawTag(value)
84156
+ : objectToString(value);
84157
+ }
84158
+
84159
+ var _baseGetTag = baseGetTag$2;
84160
+
84161
+ /**
84162
+ * Checks if `value` is object-like. A value is object-like if it's not `null`
84163
+ * and has a `typeof` result of "object".
84164
+ *
84165
+ * @static
84166
+ * @memberOf _
84167
+ * @since 4.0.0
84168
+ * @category Lang
84169
+ * @param {*} value The value to check.
84170
+ * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
84171
+ * @example
84172
+ *
84173
+ * _.isObjectLike({});
84174
+ * // => true
84175
+ *
84176
+ * _.isObjectLike([1, 2, 3]);
84177
+ * // => true
84178
+ *
84179
+ * _.isObjectLike(_.noop);
84180
+ * // => false
84181
+ *
84182
+ * _.isObjectLike(null);
84183
+ * // => false
84184
+ */
84185
+
84186
+ function isObjectLike$1(value) {
84187
+ return value != null && typeof value == 'object';
84188
+ }
84189
+
84190
+ var isObjectLike_1 = isObjectLike$1;
84191
+
84192
+ var baseGetTag$1 = _baseGetTag,
84193
+ isObjectLike = isObjectLike_1;
84194
+
84195
+ /** `Object#toString` result references. */
84196
+ var symbolTag = '[object Symbol]';
84197
+
84198
+ /**
84199
+ * Checks if `value` is classified as a `Symbol` primitive or object.
84200
+ *
84201
+ * @static
84202
+ * @memberOf _
84203
+ * @since 4.0.0
84204
+ * @category Lang
84205
+ * @param {*} value The value to check.
84206
+ * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
84207
+ * @example
84208
+ *
84209
+ * _.isSymbol(Symbol.iterator);
84210
+ * // => true
84211
+ *
84212
+ * _.isSymbol('abc');
84213
+ * // => false
84214
+ */
84215
+ function isSymbol$3(value) {
84216
+ return typeof value == 'symbol' ||
84217
+ (isObjectLike(value) && baseGetTag$1(value) == symbolTag);
84218
+ }
84219
+
84220
+ var isSymbol_1 = isSymbol$3;
84221
+
84222
+ var isArray$2 = isArray_1,
84223
+ isSymbol$2 = isSymbol_1;
84224
+
84225
+ /** Used to match property names within property paths. */
84226
+ var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,
84227
+ reIsPlainProp = /^\w*$/;
84228
+
84229
+ /**
84230
+ * Checks if `value` is a property name and not a property path.
84231
+ *
84232
+ * @private
84233
+ * @param {*} value The value to check.
84234
+ * @param {Object} [object] The object to query keys on.
84235
+ * @returns {boolean} Returns `true` if `value` is a property name, else `false`.
84236
+ */
84237
+ function isKey$1(value, object) {
84238
+ if (isArray$2(value)) {
84239
+ return false;
84240
+ }
84241
+ var type = typeof value;
84242
+ if (type == 'number' || type == 'symbol' || type == 'boolean' ||
84243
+ value == null || isSymbol$2(value)) {
84244
+ return true;
84245
+ }
84246
+ return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||
84247
+ (object != null && value in Object(object));
84248
+ }
84249
+
84250
+ var _isKey = isKey$1;
84251
+
84252
+ /**
84253
+ * Checks if `value` is the
84254
+ * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
84255
+ * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
84256
+ *
84257
+ * @static
84258
+ * @memberOf _
84259
+ * @since 0.1.0
84260
+ * @category Lang
84261
+ * @param {*} value The value to check.
84262
+ * @returns {boolean} Returns `true` if `value` is an object, else `false`.
84263
+ * @example
84264
+ *
84265
+ * _.isObject({});
84266
+ * // => true
84267
+ *
84268
+ * _.isObject([1, 2, 3]);
84269
+ * // => true
84270
+ *
84271
+ * _.isObject(_.noop);
84272
+ * // => true
84273
+ *
84274
+ * _.isObject(null);
84275
+ * // => false
84276
+ */
84277
+
84278
+ function isObject$2(value) {
84279
+ var type = typeof value;
84280
+ return value != null && (type == 'object' || type == 'function');
84281
+ }
84282
+
84283
+ var isObject_1 = isObject$2;
84284
+
84285
+ var baseGetTag = _baseGetTag,
84286
+ isObject$1 = isObject_1;
84287
+
84288
+ /** `Object#toString` result references. */
84289
+ var asyncTag = '[object AsyncFunction]',
84290
+ funcTag = '[object Function]',
84291
+ genTag = '[object GeneratorFunction]',
84292
+ proxyTag = '[object Proxy]';
84293
+
84294
+ /**
84295
+ * Checks if `value` is classified as a `Function` object.
84296
+ *
84297
+ * @static
84298
+ * @memberOf _
84299
+ * @since 0.1.0
84300
+ * @category Lang
84301
+ * @param {*} value The value to check.
84302
+ * @returns {boolean} Returns `true` if `value` is a function, else `false`.
84303
+ * @example
84304
+ *
84305
+ * _.isFunction(_);
84306
+ * // => true
84307
+ *
84308
+ * _.isFunction(/abc/);
84309
+ * // => false
84310
+ */
84311
+ function isFunction$1(value) {
84312
+ if (!isObject$1(value)) {
84313
+ return false;
84314
+ }
84315
+ // The use of `Object#toString` avoids issues with the `typeof` operator
84316
+ // in Safari 9 which returns 'object' for typed arrays and other constructors.
84317
+ var tag = baseGetTag(value);
84318
+ return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
84319
+ }
84320
+
84321
+ var isFunction_1 = isFunction$1;
84322
+
84323
+ var root$1 = _root;
84324
+
84325
+ /** Used to detect overreaching core-js shims. */
84326
+ var coreJsData$1 = root$1['__core-js_shared__'];
84327
+
84328
+ var _coreJsData = coreJsData$1;
84329
+
84330
+ var coreJsData = _coreJsData;
84331
+
84332
+ /** Used to detect methods masquerading as native. */
84333
+ var maskSrcKey = (function() {
84334
+ var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');
84335
+ return uid ? ('Symbol(src)_1.' + uid) : '';
84336
+ }());
84337
+
84338
+ /**
84339
+ * Checks if `func` has its source masked.
84340
+ *
84341
+ * @private
84342
+ * @param {Function} func The function to check.
84343
+ * @returns {boolean} Returns `true` if `func` is masked, else `false`.
84344
+ */
84345
+ function isMasked$1(func) {
84346
+ return !!maskSrcKey && (maskSrcKey in func);
84347
+ }
84348
+
84349
+ var _isMasked = isMasked$1;
84350
+
84351
+ /** Used for built-in method references. */
84352
+
84353
+ var funcProto$1 = Function.prototype;
84354
+
84355
+ /** Used to resolve the decompiled source of functions. */
84356
+ var funcToString$1 = funcProto$1.toString;
84357
+
84358
+ /**
84359
+ * Converts `func` to its source code.
84360
+ *
84361
+ * @private
84362
+ * @param {Function} func The function to convert.
84363
+ * @returns {string} Returns the source code.
84364
+ */
84365
+ function toSource$1(func) {
84366
+ if (func != null) {
84367
+ try {
84368
+ return funcToString$1.call(func);
84369
+ } catch (e) {}
84370
+ try {
84371
+ return (func + '');
84372
+ } catch (e) {}
84373
+ }
84374
+ return '';
84375
+ }
84376
+
84377
+ var _toSource = toSource$1;
84378
+
84379
+ var isFunction = isFunction_1,
84380
+ isMasked = _isMasked,
84381
+ isObject = isObject_1,
84382
+ toSource = _toSource;
84383
+
84384
+ /**
84385
+ * Used to match `RegExp`
84386
+ * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).
84387
+ */
84388
+ var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
84389
+
84390
+ /** Used to detect host constructors (Safari). */
84391
+ var reIsHostCtor = /^\[object .+?Constructor\]$/;
84392
+
84393
+ /** Used for built-in method references. */
84394
+ var funcProto = Function.prototype,
84395
+ objectProto$2 = Object.prototype;
84396
+
84397
+ /** Used to resolve the decompiled source of functions. */
84398
+ var funcToString = funcProto.toString;
84399
+
84400
+ /** Used to check objects for own properties. */
84401
+ var hasOwnProperty$2 = objectProto$2.hasOwnProperty;
84402
+
84403
+ /** Used to detect if a method is native. */
84404
+ var reIsNative = RegExp('^' +
84405
+ funcToString.call(hasOwnProperty$2).replace(reRegExpChar, '\\$&')
84406
+ .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'
84407
+ );
84408
+
84409
+ /**
84410
+ * The base implementation of `_.isNative` without bad shim checks.
84411
+ *
84412
+ * @private
84413
+ * @param {*} value The value to check.
84414
+ * @returns {boolean} Returns `true` if `value` is a native function,
84415
+ * else `false`.
84416
+ */
84417
+ function baseIsNative$1(value) {
84418
+ if (!isObject(value) || isMasked(value)) {
84419
+ return false;
84420
+ }
84421
+ var pattern = isFunction(value) ? reIsNative : reIsHostCtor;
84422
+ return pattern.test(toSource(value));
84423
+ }
84424
+
84425
+ var _baseIsNative = baseIsNative$1;
84426
+
84427
+ /**
84428
+ * Gets the value at `key` of `object`.
84429
+ *
84430
+ * @private
84431
+ * @param {Object} [object] The object to query.
84432
+ * @param {string} key The key of the property to get.
84433
+ * @returns {*} Returns the property value.
84434
+ */
84435
+
84436
+ function getValue$2(object, key) {
84437
+ return object == null ? undefined : object[key];
84438
+ }
84439
+
84440
+ var _getValue = getValue$2;
84441
+
84442
+ var baseIsNative = _baseIsNative,
84443
+ getValue$1 = _getValue;
84444
+
84445
+ /**
84446
+ * Gets the native function at `key` of `object`.
84447
+ *
84448
+ * @private
84449
+ * @param {Object} object The object to query.
84450
+ * @param {string} key The key of the method to get.
84451
+ * @returns {*} Returns the function if it's native, else `undefined`.
84452
+ */
84453
+ function getNative$2(object, key) {
84454
+ var value = getValue$1(object, key);
84455
+ return baseIsNative(value) ? value : undefined;
84456
+ }
84457
+
84458
+ var _getNative = getNative$2;
84459
+
84460
+ var getNative$1 = _getNative;
84461
+
84462
+ /* Built-in method references that are verified to be native. */
84463
+ var nativeCreate$4 = getNative$1(Object, 'create');
84464
+
84465
+ var _nativeCreate = nativeCreate$4;
84466
+
84467
+ var nativeCreate$3 = _nativeCreate;
84468
+
84469
+ /**
84470
+ * Removes all key-value entries from the hash.
84471
+ *
84472
+ * @private
84473
+ * @name clear
84474
+ * @memberOf Hash
84475
+ */
84476
+ function hashClear$1() {
84477
+ this.__data__ = nativeCreate$3 ? nativeCreate$3(null) : {};
84478
+ this.size = 0;
84479
+ }
84480
+
84481
+ var _hashClear = hashClear$1;
84482
+
84483
+ /**
84484
+ * Removes `key` and its value from the hash.
84485
+ *
84486
+ * @private
84487
+ * @name delete
84488
+ * @memberOf Hash
84489
+ * @param {Object} hash The hash to modify.
84490
+ * @param {string} key The key of the value to remove.
84491
+ * @returns {boolean} Returns `true` if the entry was removed, else `false`.
84492
+ */
84493
+
84494
+ function hashDelete$1(key) {
84495
+ var result = this.has(key) && delete this.__data__[key];
84496
+ this.size -= result ? 1 : 0;
84497
+ return result;
84498
+ }
84499
+
84500
+ var _hashDelete = hashDelete$1;
84501
+
84502
+ var nativeCreate$2 = _nativeCreate;
84503
+
84504
+ /** Used to stand-in for `undefined` hash values. */
84505
+ var HASH_UNDEFINED$1 = '__lodash_hash_undefined__';
84506
+
84507
+ /** Used for built-in method references. */
84508
+ var objectProto$1 = Object.prototype;
84509
+
84510
+ /** Used to check objects for own properties. */
84511
+ var hasOwnProperty$1 = objectProto$1.hasOwnProperty;
84512
+
84513
+ /**
84514
+ * Gets the hash value for `key`.
84515
+ *
84516
+ * @private
84517
+ * @name get
84518
+ * @memberOf Hash
84519
+ * @param {string} key The key of the value to get.
84520
+ * @returns {*} Returns the entry value.
84521
+ */
84522
+ function hashGet$1(key) {
84523
+ var data = this.__data__;
84524
+ if (nativeCreate$2) {
84525
+ var result = data[key];
84526
+ return result === HASH_UNDEFINED$1 ? undefined : result;
84527
+ }
84528
+ return hasOwnProperty$1.call(data, key) ? data[key] : undefined;
84529
+ }
84530
+
84531
+ var _hashGet = hashGet$1;
84532
+
84533
+ var nativeCreate$1 = _nativeCreate;
84534
+
84535
+ /** Used for built-in method references. */
84536
+ var objectProto = Object.prototype;
84537
+
84538
+ /** Used to check objects for own properties. */
84539
+ var hasOwnProperty = objectProto.hasOwnProperty;
84540
+
84541
+ /**
84542
+ * Checks if a hash value for `key` exists.
84543
+ *
84544
+ * @private
84545
+ * @name has
84546
+ * @memberOf Hash
84547
+ * @param {string} key The key of the entry to check.
84548
+ * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
84549
+ */
84550
+ function hashHas$1(key) {
84551
+ var data = this.__data__;
84552
+ return nativeCreate$1 ? (data[key] !== undefined) : hasOwnProperty.call(data, key);
84553
+ }
84554
+
84555
+ var _hashHas = hashHas$1;
84556
+
84557
+ var nativeCreate = _nativeCreate;
84558
+
84559
+ /** Used to stand-in for `undefined` hash values. */
84560
+ var HASH_UNDEFINED = '__lodash_hash_undefined__';
84561
+
84562
+ /**
84563
+ * Sets the hash `key` to `value`.
84564
+ *
84565
+ * @private
84566
+ * @name set
84567
+ * @memberOf Hash
84568
+ * @param {string} key The key of the value to set.
84569
+ * @param {*} value The value to set.
84570
+ * @returns {Object} Returns the hash instance.
84571
+ */
84572
+ function hashSet$1(key, value) {
84573
+ var data = this.__data__;
84574
+ this.size += this.has(key) ? 0 : 1;
84575
+ data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;
84576
+ return this;
84577
+ }
84578
+
84579
+ var _hashSet = hashSet$1;
84580
+
84581
+ var hashClear = _hashClear,
84582
+ hashDelete = _hashDelete,
84583
+ hashGet = _hashGet,
84584
+ hashHas = _hashHas,
84585
+ hashSet = _hashSet;
84586
+
84587
+ /**
84588
+ * Creates a hash object.
84589
+ *
84590
+ * @private
84591
+ * @constructor
84592
+ * @param {Array} [entries] The key-value pairs to cache.
84593
+ */
84594
+ function Hash$1(entries) {
84595
+ var index = -1,
84596
+ length = entries == null ? 0 : entries.length;
84597
+
84598
+ this.clear();
84599
+ while (++index < length) {
84600
+ var entry = entries[index];
84601
+ this.set(entry[0], entry[1]);
84602
+ }
84603
+ }
84604
+
84605
+ // Add methods to `Hash`.
84606
+ Hash$1.prototype.clear = hashClear;
84607
+ Hash$1.prototype['delete'] = hashDelete;
84608
+ Hash$1.prototype.get = hashGet;
84609
+ Hash$1.prototype.has = hashHas;
84610
+ Hash$1.prototype.set = hashSet;
84611
+
84612
+ var _Hash = Hash$1;
84613
+
84614
+ /**
84615
+ * Removes all key-value entries from the list cache.
84616
+ *
84617
+ * @private
84618
+ * @name clear
84619
+ * @memberOf ListCache
84620
+ */
84621
+
84622
+ function listCacheClear$1() {
84623
+ this.__data__ = [];
84624
+ this.size = 0;
84625
+ }
84626
+
84627
+ var _listCacheClear = listCacheClear$1;
84628
+
84629
+ /**
84630
+ * Performs a
84631
+ * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
84632
+ * comparison between two values to determine if they are equivalent.
84633
+ *
84634
+ * @static
84635
+ * @memberOf _
84636
+ * @since 4.0.0
84637
+ * @category Lang
84638
+ * @param {*} value The value to compare.
84639
+ * @param {*} other The other value to compare.
84640
+ * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
84641
+ * @example
84642
+ *
84643
+ * var object = { 'a': 1 };
84644
+ * var other = { 'a': 1 };
84645
+ *
84646
+ * _.eq(object, object);
84647
+ * // => true
84648
+ *
84649
+ * _.eq(object, other);
84650
+ * // => false
84651
+ *
84652
+ * _.eq('a', 'a');
84653
+ * // => true
84654
+ *
84655
+ * _.eq('a', Object('a'));
84656
+ * // => false
84657
+ *
84658
+ * _.eq(NaN, NaN);
84659
+ * // => true
84660
+ */
84661
+
84662
+ function eq$1(value, other) {
84663
+ return value === other || (value !== value && other !== other);
84664
+ }
84665
+
84666
+ var eq_1 = eq$1;
84667
+
84668
+ var eq = eq_1;
84669
+
84670
+ /**
84671
+ * Gets the index at which the `key` is found in `array` of key-value pairs.
84672
+ *
84673
+ * @private
84674
+ * @param {Array} array The array to inspect.
84675
+ * @param {*} key The key to search for.
84676
+ * @returns {number} Returns the index of the matched value, else `-1`.
84677
+ */
84678
+ function assocIndexOf$4(array, key) {
84679
+ var length = array.length;
84680
+ while (length--) {
84681
+ if (eq(array[length][0], key)) {
84682
+ return length;
84683
+ }
84684
+ }
84685
+ return -1;
84686
+ }
84687
+
84688
+ var _assocIndexOf = assocIndexOf$4;
84689
+
84690
+ var assocIndexOf$3 = _assocIndexOf;
84691
+
84692
+ /** Used for built-in method references. */
84693
+ var arrayProto = Array.prototype;
84694
+
84695
+ /** Built-in value references. */
84696
+ var splice = arrayProto.splice;
84697
+
84698
+ /**
84699
+ * Removes `key` and its value from the list cache.
84700
+ *
84701
+ * @private
84702
+ * @name delete
84703
+ * @memberOf ListCache
84704
+ * @param {string} key The key of the value to remove.
84705
+ * @returns {boolean} Returns `true` if the entry was removed, else `false`.
84706
+ */
84707
+ function listCacheDelete$1(key) {
84708
+ var data = this.__data__,
84709
+ index = assocIndexOf$3(data, key);
84710
+
84711
+ if (index < 0) {
84712
+ return false;
84713
+ }
84714
+ var lastIndex = data.length - 1;
84715
+ if (index == lastIndex) {
84716
+ data.pop();
84717
+ } else {
84718
+ splice.call(data, index, 1);
84719
+ }
84720
+ --this.size;
84721
+ return true;
84722
+ }
84723
+
84724
+ var _listCacheDelete = listCacheDelete$1;
84725
+
84726
+ var assocIndexOf$2 = _assocIndexOf;
84727
+
84728
+ /**
84729
+ * Gets the list cache value for `key`.
84730
+ *
84731
+ * @private
84732
+ * @name get
84733
+ * @memberOf ListCache
84734
+ * @param {string} key The key of the value to get.
84735
+ * @returns {*} Returns the entry value.
84736
+ */
84737
+ function listCacheGet$1(key) {
84738
+ var data = this.__data__,
84739
+ index = assocIndexOf$2(data, key);
84740
+
84741
+ return index < 0 ? undefined : data[index][1];
84742
+ }
84743
+
84744
+ var _listCacheGet = listCacheGet$1;
84745
+
84746
+ var assocIndexOf$1 = _assocIndexOf;
84747
+
84748
+ /**
84749
+ * Checks if a list cache value for `key` exists.
84750
+ *
84751
+ * @private
84752
+ * @name has
84753
+ * @memberOf ListCache
84754
+ * @param {string} key The key of the entry to check.
84755
+ * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
84756
+ */
84757
+ function listCacheHas$1(key) {
84758
+ return assocIndexOf$1(this.__data__, key) > -1;
84759
+ }
84760
+
84761
+ var _listCacheHas = listCacheHas$1;
84762
+
84763
+ var assocIndexOf = _assocIndexOf;
84764
+
84765
+ /**
84766
+ * Sets the list cache `key` to `value`.
84767
+ *
84768
+ * @private
84769
+ * @name set
84770
+ * @memberOf ListCache
84771
+ * @param {string} key The key of the value to set.
84772
+ * @param {*} value The value to set.
84773
+ * @returns {Object} Returns the list cache instance.
84774
+ */
84775
+ function listCacheSet$1(key, value) {
84776
+ var data = this.__data__,
84777
+ index = assocIndexOf(data, key);
84778
+
84779
+ if (index < 0) {
84780
+ ++this.size;
84781
+ data.push([key, value]);
84782
+ } else {
84783
+ data[index][1] = value;
84784
+ }
84785
+ return this;
84786
+ }
84787
+
84788
+ var _listCacheSet = listCacheSet$1;
84789
+
84790
+ var listCacheClear = _listCacheClear,
84791
+ listCacheDelete = _listCacheDelete,
84792
+ listCacheGet = _listCacheGet,
84793
+ listCacheHas = _listCacheHas,
84794
+ listCacheSet = _listCacheSet;
84795
+
84796
+ /**
84797
+ * Creates an list cache object.
84798
+ *
84799
+ * @private
84800
+ * @constructor
84801
+ * @param {Array} [entries] The key-value pairs to cache.
84802
+ */
84803
+ function ListCache$1(entries) {
84804
+ var index = -1,
84805
+ length = entries == null ? 0 : entries.length;
84806
+
84807
+ this.clear();
84808
+ while (++index < length) {
84809
+ var entry = entries[index];
84810
+ this.set(entry[0], entry[1]);
84811
+ }
84812
+ }
84813
+
84814
+ // Add methods to `ListCache`.
84815
+ ListCache$1.prototype.clear = listCacheClear;
84816
+ ListCache$1.prototype['delete'] = listCacheDelete;
84817
+ ListCache$1.prototype.get = listCacheGet;
84818
+ ListCache$1.prototype.has = listCacheHas;
84819
+ ListCache$1.prototype.set = listCacheSet;
84820
+
84821
+ var _ListCache = ListCache$1;
84822
+
84823
+ var getNative = _getNative,
84824
+ root = _root;
84825
+
84826
+ /* Built-in method references that are verified to be native. */
84827
+ var Map$2 = getNative(root, 'Map');
84828
+
84829
+ var _Map = Map$2;
84830
+
84831
+ var Hash = _Hash,
84832
+ ListCache = _ListCache,
84833
+ Map$1 = _Map;
84834
+
84835
+ /**
84836
+ * Removes all key-value entries from the map.
84837
+ *
84838
+ * @private
84839
+ * @name clear
84840
+ * @memberOf MapCache
84841
+ */
84842
+ function mapCacheClear$1() {
84843
+ this.size = 0;
84844
+ this.__data__ = {
84845
+ 'hash': new Hash,
84846
+ 'map': new (Map$1 || ListCache),
84847
+ 'string': new Hash
84848
+ };
84849
+ }
84850
+
84851
+ var _mapCacheClear = mapCacheClear$1;
84852
+
84853
+ /**
84854
+ * Checks if `value` is suitable for use as unique object key.
84855
+ *
84856
+ * @private
84857
+ * @param {*} value The value to check.
84858
+ * @returns {boolean} Returns `true` if `value` is suitable, else `false`.
84859
+ */
84860
+
84861
+ function isKeyable$1(value) {
84862
+ var type = typeof value;
84863
+ return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')
84864
+ ? (value !== '__proto__')
84865
+ : (value === null);
84866
+ }
84867
+
84868
+ var _isKeyable = isKeyable$1;
84869
+
84870
+ var isKeyable = _isKeyable;
84871
+
84872
+ /**
84873
+ * Gets the data for `map`.
84874
+ *
84875
+ * @private
84876
+ * @param {Object} map The map to query.
84877
+ * @param {string} key The reference key.
84878
+ * @returns {*} Returns the map data.
84879
+ */
84880
+ function getMapData$4(map, key) {
84881
+ var data = map.__data__;
84882
+ return isKeyable(key)
84883
+ ? data[typeof key == 'string' ? 'string' : 'hash']
84884
+ : data.map;
84885
+ }
84886
+
84887
+ var _getMapData = getMapData$4;
84888
+
84889
+ var getMapData$3 = _getMapData;
84890
+
84891
+ /**
84892
+ * Removes `key` and its value from the map.
84893
+ *
84894
+ * @private
84895
+ * @name delete
84896
+ * @memberOf MapCache
84897
+ * @param {string} key The key of the value to remove.
84898
+ * @returns {boolean} Returns `true` if the entry was removed, else `false`.
84899
+ */
84900
+ function mapCacheDelete$1(key) {
84901
+ var result = getMapData$3(this, key)['delete'](key);
84902
+ this.size -= result ? 1 : 0;
84903
+ return result;
84904
+ }
84905
+
84906
+ var _mapCacheDelete = mapCacheDelete$1;
84907
+
84908
+ var getMapData$2 = _getMapData;
84909
+
84910
+ /**
84911
+ * Gets the map value for `key`.
84912
+ *
84913
+ * @private
84914
+ * @name get
84915
+ * @memberOf MapCache
84916
+ * @param {string} key The key of the value to get.
84917
+ * @returns {*} Returns the entry value.
84918
+ */
84919
+ function mapCacheGet$1(key) {
84920
+ return getMapData$2(this, key).get(key);
84921
+ }
84922
+
84923
+ var _mapCacheGet = mapCacheGet$1;
84924
+
84925
+ var getMapData$1 = _getMapData;
84926
+
84927
+ /**
84928
+ * Checks if a map value for `key` exists.
84929
+ *
84930
+ * @private
84931
+ * @name has
84932
+ * @memberOf MapCache
84933
+ * @param {string} key The key of the entry to check.
84934
+ * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
84935
+ */
84936
+ function mapCacheHas$1(key) {
84937
+ return getMapData$1(this, key).has(key);
84938
+ }
84939
+
84940
+ var _mapCacheHas = mapCacheHas$1;
84941
+
84942
+ var getMapData = _getMapData;
84943
+
84944
+ /**
84945
+ * Sets the map `key` to `value`.
84946
+ *
84947
+ * @private
84948
+ * @name set
84949
+ * @memberOf MapCache
84950
+ * @param {string} key The key of the value to set.
84951
+ * @param {*} value The value to set.
84952
+ * @returns {Object} Returns the map cache instance.
84953
+ */
84954
+ function mapCacheSet$1(key, value) {
84955
+ var data = getMapData(this, key),
84956
+ size = data.size;
84957
+
84958
+ data.set(key, value);
84959
+ this.size += data.size == size ? 0 : 1;
84960
+ return this;
84961
+ }
84962
+
84963
+ var _mapCacheSet = mapCacheSet$1;
84964
+
84965
+ var mapCacheClear = _mapCacheClear,
84966
+ mapCacheDelete = _mapCacheDelete,
84967
+ mapCacheGet = _mapCacheGet,
84968
+ mapCacheHas = _mapCacheHas,
84969
+ mapCacheSet = _mapCacheSet;
84970
+
84971
+ /**
84972
+ * Creates a map cache object to store key-value pairs.
84973
+ *
84974
+ * @private
84975
+ * @constructor
84976
+ * @param {Array} [entries] The key-value pairs to cache.
84977
+ */
84978
+ function MapCache$1(entries) {
84979
+ var index = -1,
84980
+ length = entries == null ? 0 : entries.length;
84981
+
84982
+ this.clear();
84983
+ while (++index < length) {
84984
+ var entry = entries[index];
84985
+ this.set(entry[0], entry[1]);
84986
+ }
84987
+ }
84988
+
84989
+ // Add methods to `MapCache`.
84990
+ MapCache$1.prototype.clear = mapCacheClear;
84991
+ MapCache$1.prototype['delete'] = mapCacheDelete;
84992
+ MapCache$1.prototype.get = mapCacheGet;
84993
+ MapCache$1.prototype.has = mapCacheHas;
84994
+ MapCache$1.prototype.set = mapCacheSet;
84995
+
84996
+ var _MapCache = MapCache$1;
84997
+
84998
+ var MapCache = _MapCache;
84999
+
85000
+ /** Error message constants. */
85001
+ var FUNC_ERROR_TEXT = 'Expected a function';
85002
+
85003
+ /**
85004
+ * Creates a function that memoizes the result of `func`. If `resolver` is
85005
+ * provided, it determines the cache key for storing the result based on the
85006
+ * arguments provided to the memoized function. By default, the first argument
85007
+ * provided to the memoized function is used as the map cache key. The `func`
85008
+ * is invoked with the `this` binding of the memoized function.
85009
+ *
85010
+ * **Note:** The cache is exposed as the `cache` property on the memoized
85011
+ * function. Its creation may be customized by replacing the `_.memoize.Cache`
85012
+ * constructor with one whose instances implement the
85013
+ * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)
85014
+ * method interface of `clear`, `delete`, `get`, `has`, and `set`.
85015
+ *
85016
+ * @static
85017
+ * @memberOf _
85018
+ * @since 0.1.0
85019
+ * @category Function
85020
+ * @param {Function} func The function to have its output memoized.
85021
+ * @param {Function} [resolver] The function to resolve the cache key.
85022
+ * @returns {Function} Returns the new memoized function.
85023
+ * @example
85024
+ *
85025
+ * var object = { 'a': 1, 'b': 2 };
85026
+ * var other = { 'c': 3, 'd': 4 };
85027
+ *
85028
+ * var values = _.memoize(_.values);
85029
+ * values(object);
85030
+ * // => [1, 2]
85031
+ *
85032
+ * values(other);
85033
+ * // => [3, 4]
85034
+ *
85035
+ * object.a = 2;
85036
+ * values(object);
85037
+ * // => [1, 2]
85038
+ *
85039
+ * // Modify the result cache.
85040
+ * values.cache.set(object, ['a', 'b']);
85041
+ * values(object);
85042
+ * // => ['a', 'b']
85043
+ *
85044
+ * // Replace `_.memoize.Cache`.
85045
+ * _.memoize.Cache = WeakMap;
85046
+ */
85047
+ function memoize$1(func, resolver) {
85048
+ if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {
85049
+ throw new TypeError(FUNC_ERROR_TEXT);
85050
+ }
85051
+ var memoized = function() {
85052
+ var args = arguments,
85053
+ key = resolver ? resolver.apply(this, args) : args[0],
85054
+ cache = memoized.cache;
85055
+
85056
+ if (cache.has(key)) {
85057
+ return cache.get(key);
85058
+ }
85059
+ var result = func.apply(this, args);
85060
+ memoized.cache = cache.set(key, result) || cache;
85061
+ return result;
85062
+ };
85063
+ memoized.cache = new (memoize$1.Cache || MapCache);
85064
+ return memoized;
85065
+ }
85066
+
85067
+ // Expose `MapCache`.
85068
+ memoize$1.Cache = MapCache;
85069
+
85070
+ var memoize_1 = memoize$1;
85071
+
85072
+ var memoize = memoize_1;
85073
+
85074
+ /** Used as the maximum memoize cache size. */
85075
+ var MAX_MEMOIZE_SIZE = 500;
85076
+
85077
+ /**
85078
+ * A specialized version of `_.memoize` which clears the memoized function's
85079
+ * cache when it exceeds `MAX_MEMOIZE_SIZE`.
85080
+ *
85081
+ * @private
85082
+ * @param {Function} func The function to have its output memoized.
85083
+ * @returns {Function} Returns the new memoized function.
85084
+ */
85085
+ function memoizeCapped$1(func) {
85086
+ var result = memoize(func, function(key) {
85087
+ if (cache.size === MAX_MEMOIZE_SIZE) {
85088
+ cache.clear();
85089
+ }
85090
+ return key;
85091
+ });
85092
+
85093
+ var cache = result.cache;
85094
+ return result;
85095
+ }
85096
+
85097
+ var _memoizeCapped = memoizeCapped$1;
85098
+
85099
+ var memoizeCapped = _memoizeCapped;
85100
+
85101
+ /** Used to match property names within property paths. */
85102
+ var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
85103
+
85104
+ /** Used to match backslashes in property paths. */
85105
+ var reEscapeChar = /\\(\\)?/g;
85106
+
85107
+ /**
85108
+ * Converts `string` to a property path array.
85109
+ *
85110
+ * @private
85111
+ * @param {string} string The string to convert.
85112
+ * @returns {Array} Returns the property path array.
85113
+ */
85114
+ var stringToPath$1 = memoizeCapped(function(string) {
85115
+ var result = [];
85116
+ if (string.charCodeAt(0) === 46 /* . */) {
85117
+ result.push('');
85118
+ }
85119
+ string.replace(rePropName, function(match, number, quote, subString) {
85120
+ result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));
85121
+ });
85122
+ return result;
85123
+ });
85124
+
85125
+ var _stringToPath = stringToPath$1;
85126
+
85127
+ /**
85128
+ * A specialized version of `_.map` for arrays without support for iteratee
85129
+ * shorthands.
85130
+ *
85131
+ * @private
85132
+ * @param {Array} [array] The array to iterate over.
85133
+ * @param {Function} iteratee The function invoked per iteration.
85134
+ * @returns {Array} Returns the new mapped array.
85135
+ */
85136
+
85137
+ function arrayMap$1(array, iteratee) {
85138
+ var index = -1,
85139
+ length = array == null ? 0 : array.length,
85140
+ result = Array(length);
85141
+
85142
+ while (++index < length) {
85143
+ result[index] = iteratee(array[index], index, array);
85144
+ }
85145
+ return result;
85146
+ }
85147
+
85148
+ var _arrayMap = arrayMap$1;
85149
+
85150
+ var Symbol$1 = _Symbol,
85151
+ arrayMap = _arrayMap,
85152
+ isArray$1 = isArray_1,
85153
+ isSymbol$1 = isSymbol_1;
85154
+
85155
+ /** Used to convert symbols to primitives and strings. */
85156
+ var symbolProto = Symbol$1 ? Symbol$1.prototype : undefined,
85157
+ symbolToString = symbolProto ? symbolProto.toString : undefined;
85158
+
85159
+ /**
85160
+ * The base implementation of `_.toString` which doesn't convert nullish
85161
+ * values to empty strings.
85162
+ *
85163
+ * @private
85164
+ * @param {*} value The value to process.
85165
+ * @returns {string} Returns the string.
85166
+ */
85167
+ function baseToString$1(value) {
85168
+ // Exit early for strings to avoid a performance hit in some environments.
85169
+ if (typeof value == 'string') {
85170
+ return value;
85171
+ }
85172
+ if (isArray$1(value)) {
85173
+ // Recursively convert values (susceptible to call stack limits).
85174
+ return arrayMap(value, baseToString$1) + '';
85175
+ }
85176
+ if (isSymbol$1(value)) {
85177
+ return symbolToString ? symbolToString.call(value) : '';
85178
+ }
85179
+ var result = (value + '');
85180
+ return (result == '0' && (1 / value) == -Infinity) ? '-0' : result;
85181
+ }
85182
+
85183
+ var _baseToString = baseToString$1;
85184
+
85185
+ var baseToString = _baseToString;
85186
+
85187
+ /**
85188
+ * Converts `value` to a string. An empty string is returned for `null`
85189
+ * and `undefined` values. The sign of `-0` is preserved.
85190
+ *
85191
+ * @static
85192
+ * @memberOf _
85193
+ * @since 4.0.0
85194
+ * @category Lang
85195
+ * @param {*} value The value to convert.
85196
+ * @returns {string} Returns the converted string.
85197
+ * @example
85198
+ *
85199
+ * _.toString(null);
85200
+ * // => ''
85201
+ *
85202
+ * _.toString(-0);
85203
+ * // => '-0'
85204
+ *
85205
+ * _.toString([1, 2, 3]);
85206
+ * // => '1,2,3'
85207
+ */
85208
+ function toString$1(value) {
85209
+ return value == null ? '' : baseToString(value);
85210
+ }
85211
+
85212
+ var toString_1 = toString$1;
85213
+
85214
+ var isArray = isArray_1,
85215
+ isKey = _isKey,
85216
+ stringToPath = _stringToPath,
85217
+ toString = toString_1;
85218
+
85219
+ /**
85220
+ * Casts `value` to a path array if it's not one.
85221
+ *
85222
+ * @private
85223
+ * @param {*} value The value to inspect.
85224
+ * @param {Object} [object] The object to query keys on.
85225
+ * @returns {Array} Returns the cast property path array.
85226
+ */
85227
+ function castPath$1(value, object) {
85228
+ if (isArray(value)) {
85229
+ return value;
85230
+ }
85231
+ return isKey(value, object) ? [value] : stringToPath(toString(value));
85232
+ }
85233
+
85234
+ var _castPath = castPath$1;
85235
+
85236
+ var isSymbol = isSymbol_1;
85237
+
85238
+ /**
85239
+ * Converts `value` to a string key if it's not a string or symbol.
85240
+ *
85241
+ * @private
85242
+ * @param {*} value The value to inspect.
85243
+ * @returns {string|symbol} Returns the key.
85244
+ */
85245
+ function toKey$1(value) {
85246
+ if (typeof value == 'string' || isSymbol(value)) {
85247
+ return value;
85248
+ }
85249
+ var result = (value + '');
85250
+ return (result == '0' && (1 / value) == -Infinity) ? '-0' : result;
85251
+ }
85252
+
85253
+ var _toKey = toKey$1;
85254
+
85255
+ var castPath = _castPath,
85256
+ toKey = _toKey;
85257
+
85258
+ /**
85259
+ * The base implementation of `_.get` without support for default values.
85260
+ *
85261
+ * @private
85262
+ * @param {Object} object The object to query.
85263
+ * @param {Array|string} path The path of the property to get.
85264
+ * @returns {*} Returns the resolved value.
85265
+ */
85266
+ function baseGet$1(object, path) {
85267
+ path = castPath(path, object);
85268
+
85269
+ var index = 0,
85270
+ length = path.length;
85271
+
85272
+ while (object != null && index < length) {
85273
+ object = object[toKey(path[index++])];
85274
+ }
85275
+ return (index && index == length) ? object : undefined;
85276
+ }
85277
+
85278
+ var _baseGet = baseGet$1;
85279
+
85280
+ var baseGet = _baseGet;
85281
+
85282
+ /**
85283
+ * Gets the value at `path` of `object`. If the resolved value is
85284
+ * `undefined`, the `defaultValue` is returned in its place.
85285
+ *
85286
+ * @static
85287
+ * @memberOf _
85288
+ * @since 3.7.0
85289
+ * @category Object
85290
+ * @param {Object} object The object to query.
85291
+ * @param {Array|string} path The path of the property to get.
85292
+ * @param {*} [defaultValue] The value returned for `undefined` resolved values.
85293
+ * @returns {*} Returns the resolved value.
85294
+ * @example
85295
+ *
85296
+ * var object = { 'a': [{ 'b': { 'c': 3 } }] };
85297
+ *
85298
+ * _.get(object, 'a[0].b.c');
85299
+ * // => 3
85300
+ *
85301
+ * _.get(object, ['a', '0', 'b', 'c']);
85302
+ * // => 3
85303
+ *
85304
+ * _.get(object, 'a.b.c', 'default');
85305
+ * // => 'default'
85306
+ */
85307
+ function get(object, path, defaultValue) {
85308
+ var result = object == null ? undefined : baseGet(object, path);
85309
+ return result === undefined ? defaultValue : result;
85310
+ }
85311
+
85312
+ var get_1 = get;
85313
+
85314
+ const get$1 = /*@__PURE__*/getDefaultExportFromCjs(get_1);
85315
+
83930
85316
  const prettyFieldPath = (name) => {
83931
85317
  return Array.isArray(name) ? name.map((segment) => String(segment)).join(".") : String(name);
83932
85318
  };
83933
- const getRequiredRule = (isRequired, name) => {
83934
- return {
83935
- required: isRequired,
83936
- message: `Please enter ${prettyFieldPath(name)}`
83937
- };
85319
+ const isEmptyValue = (value) => value === void 0 || value === "" || Array.isArray(value) && value.length === 0;
85320
+ const isPresentForOneOf = (value) => {
85321
+ if (value === null) return true;
85322
+ if (value === void 0) return false;
85323
+ if (typeof value === "string") return value.length > 0;
85324
+ if (Array.isArray(value)) return value.length > 0;
85325
+ if (typeof value === "object") return Object.keys(value).length > 0;
85326
+ return true;
85327
+ };
85328
+ const formatOneOfGroup = (group) => `[${group.join(", ")}]`;
85329
+ const getOneOfRequiredGroupsMessage = (name, groups) => {
85330
+ const groupText = groups.map(formatOneOfGroup).join(", ");
85331
+ return `Please provide exactly one of the following for ${prettyFieldPath(name)}: ${groupText}`;
85332
+ };
85333
+ const getOneOfRequiredGroupsError = ({
85334
+ value,
85335
+ name,
85336
+ groups
85337
+ }) => {
85338
+ if (!isPresentForOneOf(value)) {
85339
+ return void 0;
85340
+ }
85341
+ const satisfiedGroups = groups.filter((group) => group.every((path) => isPresentForOneOf(get$1(value, path))));
85342
+ if (satisfiedGroups.length === 1) {
85343
+ return void 0;
85344
+ }
85345
+ return getOneOfRequiredGroupsMessage(name, groups);
85346
+ };
85347
+ const getCurrentOneOfRequiredGroupState = ({
85348
+ path,
85349
+ nodeOneOfRequiredGroups,
85350
+ value
85351
+ }) => {
85352
+ if (!nodeOneOfRequiredGroups || nodeOneOfRequiredGroups.length === 0) {
85353
+ return [];
85354
+ }
85355
+ const error = getOneOfRequiredGroupsError({
85356
+ value,
85357
+ name: path,
85358
+ groups: nodeOneOfRequiredGroups
85359
+ });
85360
+ return [
85361
+ {
85362
+ name: path,
85363
+ errors: error ? [error] : []
85364
+ }
85365
+ ];
85366
+ };
85367
+ const collectOneOfRequiredGroupStates = ({
85368
+ properties,
85369
+ values,
85370
+ currentPath = []
85371
+ }) => {
85372
+ return Object.entries(properties).flatMap(([key, node]) => {
85373
+ const path = [...currentPath, key];
85374
+ const value = get$1(values, path);
85375
+ const currentState = getCurrentOneOfRequiredGroupState({
85376
+ path,
85377
+ nodeOneOfRequiredGroups: node.oneOfRequiredGroups,
85378
+ value
85379
+ });
85380
+ const nestedObjectStates = node.properties && value && typeof value === "object" && !Array.isArray(value) ? collectOneOfRequiredGroupStates({
85381
+ properties: node.properties,
85382
+ values,
85383
+ currentPath: path
85384
+ }) : [];
85385
+ const nestedArrayStates = node.type === "array" && node.items && Array.isArray(value) ? value.flatMap((_, index) => [
85386
+ ...getCurrentOneOfRequiredGroupState({
85387
+ path: [...path, index],
85388
+ nodeOneOfRequiredGroups: node.items?.oneOfRequiredGroups,
85389
+ value: get$1(values, [...path, index])
85390
+ }),
85391
+ ...node.items?.properties ? collectOneOfRequiredGroupStates({
85392
+ properties: node.items.properties,
85393
+ values,
85394
+ currentPath: [...path, index]
85395
+ }) : []
85396
+ ]) : [];
85397
+ return [...currentState, ...nestedObjectStates, ...nestedArrayStates];
85398
+ });
85399
+ };
85400
+ const getRequiredRule = (isRequired, name, nullable) => {
85401
+ const message = `Please enter ${prettyFieldPath(name)}`;
85402
+ if (!isRequired) {
85403
+ return { required: false, message };
85404
+ }
85405
+ if (nullable) {
85406
+ return {
85407
+ required: true,
85408
+ message,
85409
+ validator: async (_, value) => {
85410
+ if (value === null) return;
85411
+ if (isEmptyValue(value)) {
85412
+ throw new Error(message);
85413
+ }
85414
+ }
85415
+ };
85416
+ }
85417
+ return { required: true, message };
83938
85418
  };
83939
85419
 
83940
85420
  const FormListInput = ({
@@ -83950,7 +85430,8 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
83950
85430
  persistedControls,
83951
85431
  customProps,
83952
85432
  urlParams,
83953
- onRemoveByMinus
85433
+ onRemoveByMinus,
85434
+ defaultValue
83954
85435
  }) => {
83955
85436
  const designNewLayout = useDesignNewLayout();
83956
85437
  const onValuesChangeCallBack = useOnValuesChangeCallback();
@@ -83960,6 +85441,8 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
83960
85441
  const form = antd.Form.useFormInstance();
83961
85442
  const fieldValue = antd.Form.useWatch(name === "nodeName" ? "nodeNameBecauseOfSuddenBug" : name, form);
83962
85443
  const fixedName = name === "nodeName" ? "nodeNameBecauseOfSuddenBug" : name;
85444
+ const formFieldName = arrName || fixedName;
85445
+ const defaultBtn = useDefaultValueButton(formFieldName, defaultValue);
83963
85446
  const fullFieldPath = normalizeNameToPath(fixedName);
83964
85447
  const baseForRelative = listItemBasePath(fullFieldPath);
83965
85448
  const relatedPath = customProps.relatedValuePath ? resolveFormPath(customProps.relatedValuePath, baseForRelative) : void 0;
@@ -84078,14 +85561,23 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
84078
85561
  /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Flex, { gap: 4, children: [
84079
85562
  isAdditionalProperties && /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Button, { size: "small", type: "text", onClick: () => removeField({ path: name }), children: /* @__PURE__ */ jsxRuntimeExports.jsx(MinusIcon, {}) }),
84080
85563
  onRemoveByMinus && /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Button, { size: "small", type: "text", onClick: onRemoveByMinus, children: /* @__PURE__ */ jsxRuntimeExports.jsx(MinusIcon, {}) }),
84081
- /* @__PURE__ */ jsxRuntimeExports.jsx(PersistedCheckbox, { formName: persistName || name, persistedControls, type: "arr" })
85564
+ /* @__PURE__ */ jsxRuntimeExports.jsx(PersistedCheckbox, { formName: persistName || name, persistedControls, type: "arr" }),
85565
+ defaultBtn.visible && /* @__PURE__ */ jsxRuntimeExports.jsx(
85566
+ DefaultValueButton,
85567
+ {
85568
+ defaultValue,
85569
+ isApplied: defaultBtn.isApplied,
85570
+ onApply: defaultBtn.handleApply,
85571
+ onClear: defaultBtn.handleClear
85572
+ }
85573
+ )
84082
85574
  ] })
84083
85575
  ] }),
84084
85576
  /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Flex, { gap: 8, align: "center", children: [
84085
85577
  /* @__PURE__ */ jsxRuntimeExports.jsx(
84086
85578
  ResetedFormItem$1,
84087
85579
  {
84088
- name: arrName || fixedName,
85580
+ name: formFieldName,
84089
85581
  rules: [getRequiredRule(forceNonRequired === false && !!required?.includes(getStringByName(name)), name)],
84090
85582
  validateTrigger: "onBlur",
84091
85583
  hasFeedback: designNewLayout ? { icons: feedbackIcons } : true,
@@ -84094,7 +85586,7 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
84094
85586
  antd.Select,
84095
85587
  {
84096
85588
  mode: customProps.mode,
84097
- placeholder: "Select",
85589
+ placeholder: defaultValue !== void 0 ? `Default: ${formatDefaultValue(defaultValue)}` : "Select",
84098
85590
  options: uniqueOptions,
84099
85591
  filterOption: filterSelectOptions,
84100
85592
  disabled: isWaitingForRelatedValue,
@@ -84501,19 +85993,33 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
84501
85993
  name,
84502
85994
  namespaceData,
84503
85995
  isAdditionalProperties,
84504
- removeField
85996
+ removeField,
85997
+ defaultValue
84505
85998
  }) => {
84506
85999
  const designNewLayout = useDesignNewLayout();
86000
+ const defaultBtn = useDefaultValueButton(name, defaultValue);
84507
86001
  if (!namespaceData) {
84508
86002
  return null;
84509
86003
  }
86004
+ const placeholder = defaultValue !== void 0 ? `Default: ${defaultValue}` : "Select namespace";
84510
86005
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(HiddenContainer$1, { name, children: [
84511
86006
  /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Flex, { justify: "space-between", children: [
84512
86007
  /* @__PURE__ */ jsxRuntimeExports.jsxs(CustomSizeTitle, { $designNewLayout: designNewLayout, children: [
84513
86008
  "namespace",
84514
86009
  /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Typography.Text, { type: "danger", children: "*" })
84515
86010
  ] }),
84516
- /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Flex, { gap: 4, children: isAdditionalProperties && /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Button, { size: "small", type: "text", onClick: () => removeField({ path: name }), children: /* @__PURE__ */ jsxRuntimeExports.jsx(MinusIcon, {}) }) })
86011
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Flex, { gap: 4, children: [
86012
+ isAdditionalProperties && /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Button, { size: "small", type: "text", onClick: () => removeField({ path: name }), children: /* @__PURE__ */ jsxRuntimeExports.jsx(MinusIcon, {}) }),
86013
+ defaultBtn.visible && /* @__PURE__ */ jsxRuntimeExports.jsx(
86014
+ DefaultValueButton,
86015
+ {
86016
+ defaultValue,
86017
+ isApplied: defaultBtn.isApplied,
86018
+ onApply: defaultBtn.handleApply,
86019
+ onClear: defaultBtn.handleClear
86020
+ }
86021
+ )
86022
+ ] })
84517
86023
  ] }),
84518
86024
  /* @__PURE__ */ jsxRuntimeExports.jsx(
84519
86025
  ResetedFormItem$1,
@@ -84525,7 +86031,7 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
84525
86031
  children: /* @__PURE__ */ jsxRuntimeExports.jsx(
84526
86032
  antd.Select,
84527
86033
  {
84528
- placeholder: "Select namespace",
86034
+ placeholder,
84529
86035
  options: namespaceData.selectValues,
84530
86036
  filterOption: namespaceData.filterSelectOptions,
84531
86037
  allowClear: true,
@@ -84538,6 +86044,28 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
84538
86044
  ] });
84539
86045
  };
84540
86046
 
86047
+ const useNullToggleButton = (formFieldName, nullable) => {
86048
+ const form = antd.Form.useFormInstance();
86049
+ const currentValue = antd.Form.useWatch(formFieldName, form);
86050
+ const handleSetNull = React$1.useCallback(() => {
86051
+ form.setFieldValue(formFieldName, null);
86052
+ }, [form, formFieldName]);
86053
+ const handleClear = React$1.useCallback(() => {
86054
+ form.setFieldValue(formFieldName, void 0);
86055
+ }, [form, formFieldName]);
86056
+ return React$1.useMemo(() => {
86057
+ if (!nullable) {
86058
+ return { visible: false };
86059
+ }
86060
+ return {
86061
+ visible: true,
86062
+ isNull: currentValue === null,
86063
+ handleSetNull,
86064
+ handleClear
86065
+ };
86066
+ }, [nullable, currentValue, handleSetNull, handleClear]);
86067
+ };
86068
+
84541
86069
  const FormStringInput = ({
84542
86070
  name,
84543
86071
  arrKey,
@@ -84549,13 +86077,21 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
84549
86077
  isAdditionalProperties,
84550
86078
  removeField,
84551
86079
  persistedControls,
84552
- onRemoveByMinus
86080
+ onRemoveByMinus,
86081
+ defaultValue,
86082
+ example,
86083
+ nullable
84553
86084
  }) => {
84554
86085
  const designNewLayout = useDesignNewLayout();
84555
86086
  const fixedName = name === "nodeName" ? "nodeNameBecauseOfSuddenBug" : name;
86087
+ const formFieldName = arrName || fixedName;
86088
+ const defaultBtn = useDefaultValueButton(formFieldName, defaultValue, nullable);
86089
+ const nullBtn = useNullToggleButton(formFieldName, nullable);
86090
+ const exampleTooltip = getExampleTooltip(defaultValue, example);
84556
86091
  const title = /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
84557
86092
  getStringByName(name),
84558
- required?.includes(getStringByName(name)) && /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Typography.Text, { type: "danger", children: "*" })
86093
+ required?.includes(getStringByName(name)) && /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Typography.Text, { type: "danger", children: "*" }),
86094
+ exampleTooltip && /* @__PURE__ */ jsxRuntimeExports.jsx(ExampleTooltipIcon, { tooltip: exampleTooltip })
84559
86095
  ] });
84560
86096
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(HiddenContainer$1, { name, children: [
84561
86097
  /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Flex, { justify: "space-between", children: [
@@ -84563,17 +86099,35 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
84563
86099
  /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Flex, { gap: 4, children: [
84564
86100
  isAdditionalProperties && /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Button, { size: "small", type: "text", onClick: () => removeField({ path: name }), children: /* @__PURE__ */ jsxRuntimeExports.jsx(MinusIcon, {}) }),
84565
86101
  onRemoveByMinus && /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Button, { size: "small", type: "text", onClick: onRemoveByMinus, children: /* @__PURE__ */ jsxRuntimeExports.jsx(MinusIcon, {}) }),
84566
- /* @__PURE__ */ jsxRuntimeExports.jsx(PersistedCheckbox, { formName: persistName || name, persistedControls, type: "str" })
86102
+ /* @__PURE__ */ jsxRuntimeExports.jsx(PersistedCheckbox, { formName: persistName || name, persistedControls, type: "str" }),
86103
+ defaultBtn.visible && /* @__PURE__ */ jsxRuntimeExports.jsx(
86104
+ DefaultValueButton,
86105
+ {
86106
+ defaultValue,
86107
+ isApplied: defaultBtn.isApplied,
86108
+ onApply: defaultBtn.handleApply,
86109
+ onClear: defaultBtn.handleClear
86110
+ }
86111
+ ),
86112
+ nullBtn.visible && /* @__PURE__ */ jsxRuntimeExports.jsx(NullToggleButton, { isNull: nullBtn.isNull, onSetNull: nullBtn.handleSetNull, onClear: nullBtn.handleClear })
84567
86113
  ] })
84568
86114
  ] }),
84569
86115
  /* @__PURE__ */ jsxRuntimeExports.jsx(
84570
86116
  ResetedFormItem$1,
84571
86117
  {
84572
- name: arrName || fixedName,
84573
- rules: [getRequiredRule(forceNonRequired === false && !!required?.includes(getStringByName(name)), name)],
86118
+ name: formFieldName,
86119
+ rules: [
86120
+ getRequiredRule(forceNonRequired === false && !!required?.includes(getStringByName(name)), name, nullable)
86121
+ ],
84574
86122
  validateTrigger: "onBlur",
84575
86123
  hasFeedback: designNewLayout ? { icons: feedbackIcons } : true,
84576
- children: /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Input, { placeholder: getStringByName(name) })
86124
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(
86125
+ antd.Input,
86126
+ {
86127
+ placeholder: buildPlaceholder(name, defaultValue, example),
86128
+ disabled: nullBtn.visible && nullBtn.isNull
86129
+ }
86130
+ )
84577
86131
  },
84578
86132
  arrKey !== void 0 ? arrKey : Array.isArray(name) ? name.slice(-1)[0] : name
84579
86133
  )
@@ -84618,16 +86172,24 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
84618
86172
  removeField,
84619
86173
  persistedControls,
84620
86174
  onRemoveByMinus,
84621
- isBase64
86175
+ isBase64,
86176
+ defaultValue,
86177
+ example,
86178
+ nullable
84622
86179
  }) => {
84623
86180
  const designNewLayout = useDesignNewLayout();
86181
+ const placeholder = buildPlaceholder(name, defaultValue, example);
86182
+ const exampleTooltip = getExampleTooltip(defaultValue, example);
84624
86183
  const fixedName = name === "nodeName" ? "nodeNameBecauseOfSuddenBug" : name;
84625
86184
  const formFieldName = arrName || fixedName;
84626
86185
  const formValue = antd.Form.useWatch(formFieldName);
84627
86186
  const form = antd.Form.useFormInstance();
86187
+ const defaultBtn = useDefaultValueButton(formFieldName, defaultValue, nullable);
86188
+ const nullBtn = useNullToggleButton(formFieldName, nullable);
84628
86189
  const title = /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
84629
86190
  getStringByName(name),
84630
- required?.includes(getStringByName(name)) && /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Typography.Text, { type: "danger", children: "*" })
86191
+ required?.includes(getStringByName(name)) && /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Typography.Text, { type: "danger", children: "*" }),
86192
+ exampleTooltip && /* @__PURE__ */ jsxRuntimeExports.jsx(ExampleTooltipIcon, { tooltip: exampleTooltip })
84631
86193
  ] });
84632
86194
  const [decoded, setDecoded] = React$1.useState("");
84633
86195
  React$1.useEffect(() => {
@@ -84644,14 +86206,26 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
84644
86206
  /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Flex, { gap: 4, children: [
84645
86207
  isAdditionalProperties && /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Button, { size: "small", type: "text", onClick: () => removeField({ path: name }), children: /* @__PURE__ */ jsxRuntimeExports.jsx(MinusIcon, {}) }),
84646
86208
  onRemoveByMinus && /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Button, { size: "small", type: "text", onClick: onRemoveByMinus, children: /* @__PURE__ */ jsxRuntimeExports.jsx(MinusIcon, {}) }),
84647
- /* @__PURE__ */ jsxRuntimeExports.jsx(PersistedCheckbox, { formName: persistName || name, persistedControls, type: "str" })
86209
+ /* @__PURE__ */ jsxRuntimeExports.jsx(PersistedCheckbox, { formName: persistName || name, persistedControls, type: "str" }),
86210
+ defaultBtn.visible && /* @__PURE__ */ jsxRuntimeExports.jsx(
86211
+ DefaultValueButton,
86212
+ {
86213
+ defaultValue,
86214
+ isApplied: defaultBtn.isApplied,
86215
+ onApply: defaultBtn.handleApply,
86216
+ onClear: defaultBtn.handleClear
86217
+ }
86218
+ ),
86219
+ nullBtn.visible && /* @__PURE__ */ jsxRuntimeExports.jsx(NullToggleButton, { isNull: nullBtn.isNull, onSetNull: nullBtn.handleSetNull, onClear: nullBtn.handleClear })
84648
86220
  ] })
84649
86221
  ] }),
84650
86222
  /* @__PURE__ */ jsxRuntimeExports.jsx(
84651
86223
  ResetedFormItem$1,
84652
86224
  {
84653
86225
  name: arrName || fixedName,
84654
- rules: [getRequiredRule(forceNonRequired === false && !!required?.includes(getStringByName(name)), name)],
86226
+ rules: [
86227
+ getRequiredRule(forceNonRequired === false && !!required?.includes(getStringByName(name)), name, nullable)
86228
+ ],
84655
86229
  validateTrigger: "onBlur",
84656
86230
  hasFeedback: designNewLayout ? { icons: feedbackIcons } : true,
84657
86231
  style: {
@@ -84660,9 +86234,10 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
84660
86234
  children: /* @__PURE__ */ jsxRuntimeExports.jsx(
84661
86235
  antd.Input.TextArea,
84662
86236
  {
84663
- placeholder: getStringByName(name),
86237
+ placeholder,
84664
86238
  rows: 4,
84665
- autoSize: { minRows: 2, maxRows: 10 }
86239
+ autoSize: { minRows: 2, maxRows: 10 },
86240
+ disabled: nullBtn.visible && nullBtn.isNull
84666
86241
  }
84667
86242
  )
84668
86243
  },
@@ -84671,7 +86246,7 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
84671
86246
  isBase64 && /* @__PURE__ */ jsxRuntimeExports.jsx(Styled$l.MarginBottom, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
84672
86247
  antd.Input.TextArea,
84673
86248
  {
84674
- placeholder: getStringByName(name),
86249
+ placeholder,
84675
86250
  value: decoded,
84676
86251
  onChange: (e) => {
84677
86252
  try {
@@ -84708,9 +86283,12 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
84708
86283
  makeValueUndefined,
84709
86284
  isAdditionalProperties,
84710
86285
  removeField,
84711
- onRemoveByMinus
86286
+ onRemoveByMinus,
86287
+ defaultValue
84712
86288
  }) => {
84713
86289
  const designNewLayout = useDesignNewLayout();
86290
+ const formFieldName = arrName || name;
86291
+ const defaultBtn = useDefaultValueButton(formFieldName, defaultValue);
84714
86292
  const title = /* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: getStringByName(name) });
84715
86293
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(HiddenContainer$1, { name, children: [
84716
86294
  /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Flex, { justify: "space-between", children: [
@@ -84724,12 +86302,21 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
84724
86302
  /* @__PURE__ */ jsxRuntimeExports.jsx(
84725
86303
  ResetedFormItem$1,
84726
86304
  {
84727
- name: arrName || name,
86305
+ name: formFieldName,
84728
86306
  children: /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Switch, { size: "small" })
84729
86307
  },
84730
86308
  arrKey !== void 0 ? arrKey : Array.isArray(name) ? name.slice(-1)[0] : name
84731
86309
  ),
84732
- /* @__PURE__ */ jsxRuntimeExports.jsx(
86310
+ defaultBtn.visible && /* @__PURE__ */ jsxRuntimeExports.jsx(
86311
+ DefaultValueButton,
86312
+ {
86313
+ defaultValue,
86314
+ isApplied: defaultBtn.isApplied,
86315
+ onApply: defaultBtn.handleApply,
86316
+ onClear: defaultBtn.handleClear
86317
+ }
86318
+ ),
86319
+ !defaultBtn.visible && /* @__PURE__ */ jsxRuntimeExports.jsx(
84733
86320
  Styled$k.CrossContainer,
84734
86321
  {
84735
86322
  onClick: () => {
@@ -84756,13 +86343,21 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
84756
86343
  removeField,
84757
86344
  options,
84758
86345
  persistedControls,
84759
- onRemoveByMinus
86346
+ onRemoveByMinus,
86347
+ defaultValue,
86348
+ example,
86349
+ nullable
84760
86350
  }) => {
84761
86351
  const designNewLayout = useDesignNewLayout();
84762
86352
  const fixedName = name === "nodeName" ? "nodeNameBecauseOfSuddenBug" : name;
86353
+ const formFieldName = arrName || fixedName;
86354
+ const defaultBtn = useDefaultValueButton(formFieldName, defaultValue, nullable);
86355
+ const nullBtn = useNullToggleButton(formFieldName, nullable);
86356
+ const exampleTooltip = getExampleTooltip(defaultValue, example);
84763
86357
  const title = /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
84764
86358
  getStringByName(name),
84765
- required?.includes(getStringByName(name)) && /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Typography.Text, { type: "danger", children: "*" })
86359
+ required?.includes(getStringByName(name)) && /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Typography.Text, { type: "danger", children: "*" }),
86360
+ exampleTooltip && /* @__PURE__ */ jsxRuntimeExports.jsx(ExampleTooltipIcon, { tooltip: exampleTooltip })
84766
86361
  ] });
84767
86362
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(HiddenContainer$1, { name, children: [
84768
86363
  /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Flex, { justify: "space-between", children: [
@@ -84770,17 +86365,36 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
84770
86365
  /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Flex, { gap: 4, children: [
84771
86366
  isAdditionalProperties && /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Button, { size: "small", type: "text", onClick: () => removeField({ path: name }), children: /* @__PURE__ */ jsxRuntimeExports.jsx(MinusIcon, {}) }),
84772
86367
  onRemoveByMinus && /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Button, { size: "small", type: "text", onClick: onRemoveByMinus, children: /* @__PURE__ */ jsxRuntimeExports.jsx(MinusIcon, {}) }),
84773
- /* @__PURE__ */ jsxRuntimeExports.jsx(PersistedCheckbox, { formName: persistName || name, persistedControls, type: "str" })
86368
+ /* @__PURE__ */ jsxRuntimeExports.jsx(PersistedCheckbox, { formName: persistName || name, persistedControls, type: "str" }),
86369
+ defaultBtn.visible && /* @__PURE__ */ jsxRuntimeExports.jsx(
86370
+ DefaultValueButton,
86371
+ {
86372
+ defaultValue,
86373
+ isApplied: defaultBtn.isApplied,
86374
+ onApply: defaultBtn.handleApply,
86375
+ onClear: defaultBtn.handleClear
86376
+ }
86377
+ ),
86378
+ nullBtn.visible && /* @__PURE__ */ jsxRuntimeExports.jsx(NullToggleButton, { isNull: nullBtn.isNull, onSetNull: nullBtn.handleSetNull, onClear: nullBtn.handleClear })
84774
86379
  ] })
84775
86380
  ] }),
84776
86381
  /* @__PURE__ */ jsxRuntimeExports.jsx(
84777
86382
  ResetedFormItem$1,
84778
86383
  {
84779
- name: arrName || fixedName,
84780
- rules: [getRequiredRule(forceNonRequired === false && !!required?.includes(getStringByName(name)), name)],
86384
+ name: formFieldName,
86385
+ rules: [
86386
+ getRequiredRule(forceNonRequired === false && !!required?.includes(getStringByName(name)), name, nullable)
86387
+ ],
84781
86388
  validateTrigger: "onBlur",
84782
86389
  hasFeedback: designNewLayout ? { icons: feedbackIcons } : true,
84783
- children: /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Select, { options: options.map((el) => ({ value: el, label: el })), placeholder: getStringByName(name) })
86390
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(
86391
+ antd.Select,
86392
+ {
86393
+ options: options.map((el) => ({ value: el, label: el })),
86394
+ placeholder: buildPlaceholder(name, defaultValue, example),
86395
+ disabled: nullBtn.visible && nullBtn.isNull
86396
+ }
86397
+ )
84784
86398
  },
84785
86399
  arrKey !== void 0 ? arrKey : Array.isArray(name) ? name.slice(-1)[0] : name
84786
86400
  )
@@ -84799,12 +86413,20 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
84799
86413
  isAdditionalProperties,
84800
86414
  removeField,
84801
86415
  persistedControls,
84802
- onRemoveByMinus
86416
+ onRemoveByMinus,
86417
+ defaultValue,
86418
+ example,
86419
+ nullable
84803
86420
  }) => {
84804
86421
  const designNewLayout = useDesignNewLayout();
86422
+ const formFieldName = arrName || name;
86423
+ const defaultBtn = useDefaultValueButton(formFieldName, defaultValue, nullable);
86424
+ const nullBtn = useNullToggleButton(formFieldName, nullable);
86425
+ const exampleTooltip = getExampleTooltip(defaultValue, example);
84805
86426
  const title = /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
84806
86427
  getStringByName(name),
84807
- required?.includes(getStringByName(name)) && /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Typography.Text, { type: "danger", children: "*" })
86428
+ required?.includes(getStringByName(name)) && /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Typography.Text, { type: "danger", children: "*" }),
86429
+ exampleTooltip && /* @__PURE__ */ jsxRuntimeExports.jsx(ExampleTooltipIcon, { tooltip: exampleTooltip })
84808
86430
  ] });
84809
86431
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(HiddenContainer$1, { name, children: [
84810
86432
  /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Flex, { justify: "space-between", children: [
@@ -84812,17 +86434,36 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
84812
86434
  /* @__PURE__ */ jsxRuntimeExports.jsxs(antd.Flex, { gap: 4, children: [
84813
86435
  isAdditionalProperties && /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Button, { size: "small", type: "text", onClick: () => removeField({ path: name }), children: /* @__PURE__ */ jsxRuntimeExports.jsx(MinusIcon, {}) }),
84814
86436
  onRemoveByMinus && /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Button, { size: "small", type: "text", onClick: onRemoveByMinus, children: /* @__PURE__ */ jsxRuntimeExports.jsx(MinusIcon, {}) }),
84815
- /* @__PURE__ */ jsxRuntimeExports.jsx(PersistedCheckbox, { formName: persistName || name, persistedControls, type: "number" })
86437
+ /* @__PURE__ */ jsxRuntimeExports.jsx(PersistedCheckbox, { formName: persistName || name, persistedControls, type: "number" }),
86438
+ defaultBtn.visible && /* @__PURE__ */ jsxRuntimeExports.jsx(
86439
+ DefaultValueButton,
86440
+ {
86441
+ defaultValue,
86442
+ isApplied: defaultBtn.isApplied,
86443
+ onApply: defaultBtn.handleApply,
86444
+ onClear: defaultBtn.handleClear
86445
+ }
86446
+ ),
86447
+ nullBtn.visible && /* @__PURE__ */ jsxRuntimeExports.jsx(NullToggleButton, { isNull: nullBtn.isNull, onSetNull: nullBtn.handleSetNull, onClear: nullBtn.handleClear })
84816
86448
  ] })
84817
86449
  ] }),
84818
86450
  /* @__PURE__ */ jsxRuntimeExports.jsx(
84819
86451
  ResetedFormItem$1,
84820
86452
  {
84821
- name: arrName || name,
84822
- rules: [getRequiredRule(forceNonRequired === false && !!required?.includes(getStringByName(name)), name)],
86453
+ name: formFieldName,
86454
+ rules: [
86455
+ getRequiredRule(forceNonRequired === false && !!required?.includes(getStringByName(name)), name, nullable)
86456
+ ],
84823
86457
  validateTrigger: "onBlur",
84824
86458
  hasFeedback: designNewLayout ? { icons: feedbackIcons } : true,
84825
- children: /* @__PURE__ */ jsxRuntimeExports.jsx(antd.InputNumber, { placeholder: getStringByName(name), step: isNumber ? 0.1 : 1 })
86459
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(
86460
+ antd.InputNumber,
86461
+ {
86462
+ placeholder: buildPlaceholder(name, defaultValue, example),
86463
+ step: isNumber ? 0.1 : 1,
86464
+ disabled: nullBtn.visible && nullBtn.isNull
86465
+ }
86466
+ )
84826
86467
  },
84827
86468
  arrKey !== void 0 ? arrKey : Array.isArray(name) ? name.slice(-1)[0] : name
84828
86469
  )
@@ -84841,6 +86482,8 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
84841
86482
  persistedControls,
84842
86483
  collapseTitle,
84843
86484
  collapseFormName,
86485
+ oneOfRequiredGroups,
86486
+ validationErrors,
84844
86487
  data,
84845
86488
  inputProps,
84846
86489
  onRemoveByMinus
@@ -84911,6 +86554,7 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
84911
86554
  persistedCheckbox: inputProps ? void 0 : /* @__PURE__ */ jsxRuntimeExports.jsx(PersistedCheckbox, { formName: persistName || name, persistedControls, type: "obj" }),
84912
86555
  children: [
84913
86556
  data,
86557
+ oneOfRequiredGroups && oneOfRequiredGroups.length > 0 ? /* @__PURE__ */ jsxRuntimeExports.jsx(antd.Form.ErrorList, { errors: validationErrors }) : null,
84914
86558
  inputProps && /* @__PURE__ */ jsxRuntimeExports.jsx(
84915
86559
  antd.Input,
84916
86560
  {
@@ -85156,6 +86800,122 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
85156
86800
  });
85157
86801
  };
85158
86802
 
86803
+ const pathKey$1 = (p) => JSON.stringify(p);
86804
+ const pruneAdditionalForValues = (props, values, blockedPathsRef) => {
86805
+ const next = _$1.cloneDeep(props) || {};
86806
+ const walk = (schemaNode, valueNode, path = []) => {
86807
+ if (!schemaNode) return;
86808
+ if (schemaNode.type === "object") {
86809
+ const vo = valueNode && typeof valueNode === "object" && !Array.isArray(valueNode) ? valueNode : {};
86810
+ if (schemaNode.properties) {
86811
+ Object.keys(schemaNode.properties).forEach((k) => {
86812
+ const child = schemaNode.properties[k];
86813
+ const currentPath = pathKey$1([...path, k]);
86814
+ if (child?.isAdditionalProperties && (!(k in vo) || blockedPathsRef.current.has(currentPath))) {
86815
+ delete schemaNode.properties[k];
86816
+ return;
86817
+ }
86818
+ walk(child, vo?.[k], [...path, k]);
86819
+ });
86820
+ }
86821
+ }
86822
+ if (schemaNode.type === "array" && schemaNode.items && Array.isArray(valueNode)) {
86823
+ valueNode.forEach((item, idx) => {
86824
+ if (schemaNode.properties?.[idx]) {
86825
+ walk(schemaNode.items, item, [...path, idx]);
86826
+ }
86827
+ });
86828
+ }
86829
+ };
86830
+ Object.keys(next || {}).forEach((top) => {
86831
+ walk(next[top], values?.[top], [top]);
86832
+ });
86833
+ return next;
86834
+ };
86835
+ const materializeAdditionalFromValues = (props, values, blockedPathsRef) => {
86836
+ const next = _$1.cloneDeep(props) || {};
86837
+ const toExpand = [];
86838
+ const toPersist = [];
86839
+ const makeChildFromAP = (ap) => {
86840
+ const t = ap?.type ?? "object";
86841
+ const child = { type: t };
86842
+ if (ap?.properties) child.properties = _$1.cloneDeep(ap.properties);
86843
+ if (ap?.items) child.items = _$1.cloneDeep(ap.items);
86844
+ if (ap?.required)
86845
+ child.required = _$1.cloneDeep(ap.required);
86846
+ child.isAdditionalProperties = true;
86847
+ return child;
86848
+ };
86849
+ const walk = (schemaNode, valueNode, path) => {
86850
+ if (!schemaNode) return;
86851
+ if (schemaNode.type === "object") {
86852
+ const ap = schemaNode.additionalProperties;
86853
+ if (ap && valueNode && typeof valueNode === "object" && !Array.isArray(valueNode)) {
86854
+ const vo = valueNode;
86855
+ schemaNode.properties = schemaNode.properties || {};
86856
+ toExpand.push([...path]);
86857
+ Object.keys(vo).forEach((k) => {
86858
+ const current = pathKey$1([...path, k]);
86859
+ if (blockedPathsRef.current.has(current)) return;
86860
+ if (!schemaNode.properties[k]) {
86861
+ schemaNode.properties[k] = makeChildFromAP(ap);
86862
+ } else if (schemaNode.properties[k].isAdditionalProperties && ap?.properties) {
86863
+ schemaNode.properties[k].properties ??= _$1.cloneDeep(ap.properties);
86864
+ }
86865
+ toExpand.push([...path, k]);
86866
+ const v = vo[k];
86867
+ if (v && typeof v === "object" && !Array.isArray(v) && Object.keys(v).length === 0) {
86868
+ toPersist.push([...path, k]);
86869
+ } else if (v === "" || v === 0 || Array.isArray(v) && v.length === 0) {
86870
+ toPersist.push([...path, k]);
86871
+ }
86872
+ });
86873
+ }
86874
+ if (schemaNode.properties && valueNode && typeof valueNode === "object" && !Array.isArray(valueNode)) {
86875
+ const vo = valueNode;
86876
+ Object.keys(schemaNode.properties).forEach((k) => {
86877
+ walk(schemaNode.properties[k], vo?.[k], [...path, k]);
86878
+ });
86879
+ }
86880
+ }
86881
+ if (schemaNode.type === "array" && schemaNode.items) {
86882
+ const arr = Array.isArray(valueNode) ? valueNode : [];
86883
+ if (arr.length) toExpand.push([...path]);
86884
+ arr.forEach((itemVal, idx) => {
86885
+ if (schemaNode.properties) {
86886
+ schemaNode.properties[idx] = schemaNode.properties[idx] || {
86887
+ properties: {}
86888
+ };
86889
+ }
86890
+ walk(schemaNode.items, itemVal, [...path, idx]);
86891
+ });
86892
+ }
86893
+ };
86894
+ Object.keys(next || {}).forEach((top) => {
86895
+ walk(next[top], values?.[top], [top]);
86896
+ });
86897
+ return { props: next, toExpand, toPersist };
86898
+ };
86899
+
86900
+ const extractStringDefault = (value) => {
86901
+ return typeof value === "string" ? value : void 0;
86902
+ };
86903
+ const extractNumberDefault = (value) => {
86904
+ return typeof value === "number" ? value : void 0;
86905
+ };
86906
+ const extractBooleanDefault = (value) => {
86907
+ return typeof value === "boolean" ? value : void 0;
86908
+ };
86909
+ const extractListInputDefault = (value) => {
86910
+ if (typeof value === "string") {
86911
+ return value;
86912
+ }
86913
+ if (Array.isArray(value) && value.every((item) => typeof item === "string")) {
86914
+ return value;
86915
+ }
86916
+ return void 0;
86917
+ };
86918
+
85159
86919
  const Container$1 = styled.div`
85160
86920
  display: grid;
85161
86921
  grid-template-columns: repeat(2, 1fr);
@@ -85205,7 +86965,10 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
85205
86965
  isAdditionalProperties,
85206
86966
  removeField,
85207
86967
  persistedControls,
85208
- onRemoveByMinus
86968
+ onRemoveByMinus,
86969
+ defaultValue,
86970
+ example,
86971
+ nullable
85209
86972
  }) => {
85210
86973
  if (Array.isArray(name) && name.length === 2 && name[0] === "metadata" && name[1] === "namespace" && namespaceData) {
85211
86974
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
@@ -85232,7 +86995,10 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
85232
86995
  isAdditionalProperties,
85233
86996
  removeField,
85234
86997
  persistedControls,
85235
- onRemoveByMinus
86998
+ onRemoveByMinus,
86999
+ defaultValue,
87000
+ example,
87001
+ nullable
85236
87002
  },
85237
87003
  `${arrKey}-${JSON.stringify(name)}`
85238
87004
  );
@@ -85249,7 +87015,10 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
85249
87015
  removeField,
85250
87016
  options,
85251
87017
  persistedControls,
85252
- onRemoveByMinus
87018
+ onRemoveByMinus,
87019
+ defaultValue,
87020
+ example,
87021
+ nullable
85253
87022
  }) => {
85254
87023
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
85255
87024
  FormEnumStringInput,
@@ -85265,7 +87034,10 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
85265
87034
  removeField,
85266
87035
  options,
85267
87036
  persistedControls,
85268
- onRemoveByMinus
87037
+ onRemoveByMinus,
87038
+ defaultValue,
87039
+ example,
87040
+ nullable
85269
87041
  },
85270
87042
  `${arrKey}-${JSON.stringify(name)}`
85271
87043
  );
@@ -85282,7 +87054,10 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
85282
87054
  isAdditionalProperties,
85283
87055
  removeField,
85284
87056
  persistedControls,
85285
- onRemoveByMinus
87057
+ onRemoveByMinus,
87058
+ defaultValue,
87059
+ example,
87060
+ nullable
85286
87061
  }) => {
85287
87062
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
85288
87063
  FormNumberInput,
@@ -85298,7 +87073,10 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
85298
87073
  isAdditionalProperties,
85299
87074
  removeField,
85300
87075
  persistedControls,
85301
- onRemoveByMinus
87076
+ onRemoveByMinus,
87077
+ defaultValue,
87078
+ example,
87079
+ nullable
85302
87080
  },
85303
87081
  `${arrKey}-${JSON.stringify(name)}`
85304
87082
  );
@@ -85348,7 +87126,10 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
85348
87126
  removeField,
85349
87127
  persistedControls,
85350
87128
  onRemoveByMinus,
85351
- isBase64
87129
+ isBase64,
87130
+ defaultValue,
87131
+ example,
87132
+ nullable
85352
87133
  }) => {
85353
87134
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
85354
87135
  FormStringMultilineInput,
@@ -85364,7 +87145,10 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
85364
87145
  removeField,
85365
87146
  persistedControls,
85366
87147
  onRemoveByMinus,
85367
- isBase64
87148
+ isBase64,
87149
+ defaultValue,
87150
+ example,
87151
+ nullable
85368
87152
  },
85369
87153
  `${arrKey}-${JSON.stringify(name)}`
85370
87154
  );
@@ -85382,7 +87166,8 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
85382
87166
  persistedControls,
85383
87167
  customProps,
85384
87168
  urlParams,
85385
- onRemoveByMinus
87169
+ onRemoveByMinus,
87170
+ defaultValue
85386
87171
  }) => {
85387
87172
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
85388
87173
  FormListInput,
@@ -85399,7 +87184,8 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
85399
87184
  persistedControls,
85400
87185
  customProps,
85401
87186
  urlParams,
85402
- onRemoveByMinus
87187
+ onRemoveByMinus,
87188
+ defaultValue
85403
87189
  },
85404
87190
  `${arrKey}-${JSON.stringify(name)}`
85405
87191
  );
@@ -85412,7 +87198,8 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
85412
87198
  makeValueUndefined,
85413
87199
  isAdditionalProperties,
85414
87200
  removeField,
85415
- onRemoveByMinus
87201
+ onRemoveByMinus,
87202
+ defaultValue
85416
87203
  }) => {
85417
87204
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
85418
87205
  FormBooleanInput,
@@ -85424,7 +87211,8 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
85424
87211
  makeValueUndefined,
85425
87212
  isAdditionalProperties,
85426
87213
  removeField,
85427
- onRemoveByMinus
87214
+ onRemoveByMinus,
87215
+ defaultValue
85428
87216
  },
85429
87217
  `${arrKey}-${JSON.stringify(name)}`
85430
87218
  );
@@ -85446,6 +87234,7 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
85446
87234
  isEdit,
85447
87235
  expandedControls,
85448
87236
  persistedControls,
87237
+ objectValidationErrors,
85449
87238
  sortPaths,
85450
87239
  urlParams,
85451
87240
  onRemoveByMinus
@@ -85480,9 +87269,10 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
85480
87269
  ] : void 0,
85481
87270
  children: (fields, { add, remove }, { errors }) => /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
85482
87271
  fields.map((field) => {
85483
- const fieldType = schema.items?.type;
85484
- const description2 = schema.items?.description;
85485
- const entry = schema.items;
87272
+ const itemSchema = schema.items;
87273
+ const fieldType = itemSchema?.type;
87274
+ const description2 = itemSchema?.description;
87275
+ const entry = itemSchema;
85486
87276
  const additionalProperties = schema.properties;
85487
87277
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(ArrayInsideContainer, { children: [
85488
87278
  fieldType !== "object" && /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
@@ -85579,6 +87369,7 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
85579
87369
  fieldType === "object" && entry?.properties && getObjectFormItemFromSwagger({
85580
87370
  // merging properties near items by this
85581
87371
  properties: deepMerge(entry.properties, additionalProperties?.[field.key]?.properties || {}),
87372
+ oneOfRequiredGroups: entry.oneOfRequiredGroups,
85582
87373
  name: Array.isArray(name) ? [...name, field.name] : [name, field.name],
85583
87374
  arrKey: field.key,
85584
87375
  arrName: [field.name],
@@ -85594,6 +87385,7 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
85594
87385
  isEdit,
85595
87386
  expandedControls,
85596
87387
  persistedControls,
87388
+ objectValidationErrors,
85597
87389
  sortPaths,
85598
87390
  urlParams,
85599
87391
  onRemoveByMinus: () => remove(field.name)
@@ -85639,6 +87431,7 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
85639
87431
  isEdit,
85640
87432
  expandedControls,
85641
87433
  persistedControls,
87434
+ objectValidationErrors,
85642
87435
  sortPaths,
85643
87436
  urlParams
85644
87437
  }) => {
@@ -85682,7 +87475,10 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
85682
87475
  isAdditionalProperties: properties[el].isAdditionalProperties,
85683
87476
  removeField,
85684
87477
  persistedControls,
85685
- options: properties[el].enum || []
87478
+ options: properties[el].enum || [],
87479
+ defaultValue: extractStringDefault(properties[el].default),
87480
+ example: extractStringDefault(properties[el].example),
87481
+ nullable: properties[el].nullable
85686
87482
  });
85687
87483
  }
85688
87484
  if (properties[el].type === "string" && !properties[el].enum || Object.keys(properties[el]).includes("x-kubernetes-int-or-string")) {
@@ -85698,7 +87494,10 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
85698
87494
  namespaceData,
85699
87495
  isAdditionalProperties: properties[el].isAdditionalProperties,
85700
87496
  removeField,
85701
- persistedControls
87497
+ persistedControls,
87498
+ defaultValue: extractStringDefault(properties[el].default),
87499
+ example: extractStringDefault(properties[el].example),
87500
+ nullable: properties[el].nullable
85702
87501
  });
85703
87502
  }
85704
87503
  if (properties[el].type === "number" || properties[el].type === "integer") {
@@ -85714,7 +87513,10 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
85714
87513
  description: properties[el].description,
85715
87514
  isAdditionalProperties: properties[el].isAdditionalProperties,
85716
87515
  removeField,
85717
- persistedControls
87516
+ persistedControls,
87517
+ defaultValue: extractNumberDefault(properties[el].default),
87518
+ example: extractNumberDefault(properties[el].example),
87519
+ nullable: properties[el].nullable
85718
87520
  });
85719
87521
  }
85720
87522
  if (properties[el].type === "rangeInputCpu" || properties[el].type === "rangeInputMemory") {
@@ -85746,7 +87548,8 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
85746
87548
  customProps: properties[el].customProps,
85747
87549
  removeField,
85748
87550
  persistedControls,
85749
- urlParams
87551
+ urlParams,
87552
+ defaultValue: extractListInputDefault(properties[el].default)
85750
87553
  });
85751
87554
  }
85752
87555
  if (properties[el].type === "multilineString" || properties[el].type === "multilineStringBase64") {
@@ -85762,7 +87565,10 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
85762
87565
  isAdditionalProperties: properties[el].isAdditionalProperties,
85763
87566
  removeField,
85764
87567
  persistedControls,
85765
- isBase64: properties[el].type === "multilineStringBase64"
87568
+ isBase64: properties[el].type === "multilineStringBase64",
87569
+ defaultValue: extractStringDefault(properties[el].default),
87570
+ example: extractStringDefault(properties[el].example),
87571
+ nullable: properties[el].nullable
85766
87572
  });
85767
87573
  }
85768
87574
  if (properties[el].type === "boolean") {
@@ -85773,7 +87579,8 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
85773
87579
  description: properties[el].description,
85774
87580
  makeValueUndefined,
85775
87581
  isAdditionalProperties: properties[el].isAdditionalProperties,
85776
- removeField
87582
+ removeField,
87583
+ defaultValue: extractBooleanDefault(properties[el].default)
85777
87584
  });
85778
87585
  }
85779
87586
  if (properties[el].type === "array") {
@@ -85817,6 +87624,7 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
85817
87624
  isEdit,
85818
87625
  expandedControls,
85819
87626
  persistedControls,
87627
+ objectValidationErrors,
85820
87628
  sortPaths,
85821
87629
  urlParams
85822
87630
  }) : void 0;
@@ -85844,6 +87652,7 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
85844
87652
  if (properties[el].type === "object" && properties[el].properties) {
85845
87653
  return getObjectFormItemFromSwagger({
85846
87654
  properties: properties[el].properties,
87655
+ oneOfRequiredGroups: properties[el].oneOfRequiredGroups,
85847
87656
  name: Array.isArray(name) ? [...name, String(el)] : [name, String(el)],
85848
87657
  arrKey,
85849
87658
  arrName: Array.isArray(arrName) ? [...arrName, String(el)] : void 0,
@@ -85861,6 +87670,7 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
85861
87670
  isEdit,
85862
87671
  expandedControls,
85863
87672
  persistedControls,
87673
+ objectValidationErrors,
85864
87674
  sortPaths,
85865
87675
  urlParams
85866
87676
  });
@@ -85870,6 +87680,8 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
85870
87680
  };
85871
87681
  const getObjectFormItemFromSwagger = ({
85872
87682
  properties,
87683
+ oneOfRequiredGroups,
87684
+ objectValidationErrors,
85873
87685
  name,
85874
87686
  arrKey,
85875
87687
  arrName,
@@ -85908,6 +87720,7 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
85908
87720
  isEdit,
85909
87721
  expandedControls,
85910
87722
  persistedControls,
87723
+ objectValidationErrors,
85911
87724
  sortPaths,
85912
87725
  urlParams
85913
87726
  });
@@ -85918,6 +87731,8 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
85918
87731
  persistName,
85919
87732
  selfRequired,
85920
87733
  description,
87734
+ oneOfRequiredGroups,
87735
+ validationErrors: objectValidationErrors?.[pathKey$1(Array.isArray(name) ? name : [name])],
85921
87736
  isAdditionalProperties,
85922
87737
  removeField,
85923
87738
  expandedControls,
@@ -85931,103 +87746,6 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
85931
87746
  );
85932
87747
  };
85933
87748
 
85934
- const pathKey$1 = (p) => JSON.stringify(p);
85935
- const pruneAdditionalForValues = (props, values, blockedPathsRef) => {
85936
- const next = _$1.cloneDeep(props) || {};
85937
- const walk = (schemaNode, valueNode, path = []) => {
85938
- if (!schemaNode) return;
85939
- if (schemaNode.type === "object") {
85940
- const vo = valueNode && typeof valueNode === "object" && !Array.isArray(valueNode) ? valueNode : {};
85941
- if (schemaNode.properties) {
85942
- Object.keys(schemaNode.properties).forEach((k) => {
85943
- const child = schemaNode.properties[k];
85944
- const currentPath = pathKey$1([...path, k]);
85945
- if (child?.isAdditionalProperties && (!(k in vo) || blockedPathsRef.current.has(currentPath))) {
85946
- delete schemaNode.properties[k];
85947
- return;
85948
- }
85949
- walk(child, vo?.[k], [...path, k]);
85950
- });
85951
- }
85952
- }
85953
- if (schemaNode.type === "array" && schemaNode.items && Array.isArray(valueNode)) {
85954
- valueNode.forEach((item, idx) => {
85955
- if (schemaNode.properties?.[idx]) {
85956
- walk(schemaNode.items, item, [...path, idx]);
85957
- }
85958
- });
85959
- }
85960
- };
85961
- Object.keys(next || {}).forEach((top) => {
85962
- walk(next[top], values?.[top], [top]);
85963
- });
85964
- return next;
85965
- };
85966
- const materializeAdditionalFromValues = (props, values, blockedPathsRef) => {
85967
- const next = _$1.cloneDeep(props) || {};
85968
- const toExpand = [];
85969
- const toPersist = [];
85970
- const makeChildFromAP = (ap) => {
85971
- const t = ap?.type ?? "object";
85972
- const child = { type: t };
85973
- if (ap?.properties) child.properties = _$1.cloneDeep(ap.properties);
85974
- if (ap?.items) child.items = _$1.cloneDeep(ap.items);
85975
- if (ap?.required)
85976
- child.required = _$1.cloneDeep(ap.required);
85977
- child.isAdditionalProperties = true;
85978
- return child;
85979
- };
85980
- const walk = (schemaNode, valueNode, path) => {
85981
- if (!schemaNode) return;
85982
- if (schemaNode.type === "object") {
85983
- const ap = schemaNode.additionalProperties;
85984
- if (ap && valueNode && typeof valueNode === "object" && !Array.isArray(valueNode)) {
85985
- const vo = valueNode;
85986
- schemaNode.properties = schemaNode.properties || {};
85987
- toExpand.push([...path]);
85988
- Object.keys(vo).forEach((k) => {
85989
- const current = pathKey$1([...path, k]);
85990
- if (blockedPathsRef.current.has(current)) return;
85991
- if (!schemaNode.properties[k]) {
85992
- schemaNode.properties[k] = makeChildFromAP(ap);
85993
- } else if (schemaNode.properties[k].isAdditionalProperties && ap?.properties) {
85994
- schemaNode.properties[k].properties ??= _$1.cloneDeep(ap.properties);
85995
- }
85996
- toExpand.push([...path, k]);
85997
- const v = vo[k];
85998
- if (v && typeof v === "object" && !Array.isArray(v) && Object.keys(v).length === 0) {
85999
- toPersist.push([...path, k]);
86000
- } else if (v === "" || v === 0 || Array.isArray(v) && v.length === 0) {
86001
- toPersist.push([...path, k]);
86002
- }
86003
- });
86004
- }
86005
- if (schemaNode.properties && valueNode && typeof valueNode === "object" && !Array.isArray(valueNode)) {
86006
- const vo = valueNode;
86007
- Object.keys(schemaNode.properties).forEach((k) => {
86008
- walk(schemaNode.properties[k], vo?.[k], [...path, k]);
86009
- });
86010
- }
86011
- }
86012
- if (schemaNode.type === "array" && schemaNode.items) {
86013
- const arr = Array.isArray(valueNode) ? valueNode : [];
86014
- if (arr.length) toExpand.push([...path]);
86015
- arr.forEach((itemVal, idx) => {
86016
- if (schemaNode.properties) {
86017
- schemaNode.properties[idx] = schemaNode.properties[idx] || {
86018
- properties: {}
86019
- };
86020
- }
86021
- walk(schemaNode.items, itemVal, [...path, idx]);
86022
- });
86023
- }
86024
- };
86025
- Object.keys(next || {}).forEach((top) => {
86026
- walk(next[top], values?.[top], [top]);
86027
- });
86028
- return { props: next, toExpand, toPersist };
86029
- };
86030
-
86031
87749
  const DEBUG_PREFILLS = false;
86032
87750
  const dbg = (...args) => {
86033
87751
  };
@@ -86260,6 +87978,7 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
86260
87978
  const [properties, setProperties] = React$1.useState(staticProperties);
86261
87979
  const [yamlValues, setYamlValues] = React$1.useState();
86262
87980
  const debouncedSetYamlValues = useDebounceCallback(setYamlValues, 500);
87981
+ const [oneOfValidationErrors, setOneOfValidationErrors] = React$1.useState({});
86263
87982
  const [isLoading, setIsLoading] = React$1.useState(false);
86264
87983
  const [error, setError] = React$1.useState();
86265
87984
  const [isDebugModalOpen, setIsDebugModalOpen] = React$1.useState(false);
@@ -86327,6 +88046,20 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
86327
88046
  refetchInterval: false,
86328
88047
  enabler: isCreate !== true
86329
88048
  });
88049
+ const computeOneOfValidationStates = React$1.useCallback(
88050
+ (values) => {
88051
+ return collectOneOfRequiredGroupStates({
88052
+ properties,
88053
+ values
88054
+ });
88055
+ },
88056
+ [properties]
88057
+ );
88058
+ const applyOneOfValidationErrors = React$1.useCallback((states) => {
88059
+ setOneOfValidationErrors(
88060
+ Object.fromEntries(states.map(({ name, errors }) => [pathKey$1(Array.isArray(name) ? name : [name]), errors]))
88061
+ );
88062
+ }, []);
86330
88063
  const onSubmit = () => {
86331
88064
  if (overflowRef.current) {
86332
88065
  const { scrollHeight, clientHeight } = overflowRef.current;
@@ -86336,12 +88069,29 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
86336
88069
  });
86337
88070
  }
86338
88071
  form.validateFields().then(() => {
88072
+ const valuesRaw = form.getFieldsValue();
88073
+ const values = scrubLiteralWildcardKeys(valuesRaw);
88074
+ const oneOfStates = computeOneOfValidationStates(values);
88075
+ applyOneOfValidationErrors(oneOfStates);
88076
+ const oneOfErrors = oneOfStates.filter((state) => state.errors.length > 0);
88077
+ if (oneOfErrors.length > 0) {
88078
+ const keys = handleValidationError({
88079
+ error: {
88080
+ errorFields: oneOfErrors.map(({ name: name2, errors }) => ({
88081
+ name: name2,
88082
+ errors,
88083
+ warnings: []
88084
+ }))
88085
+ },
88086
+ expandedKeys
88087
+ });
88088
+ setExpandedKeys([...keys]);
88089
+ return;
88090
+ }
86339
88091
  setIsLoading(true);
86340
88092
  setError(void 0);
86341
88093
  const name = form.getFieldValue(["metadata", "name"]);
86342
88094
  const namespace = form.getFieldValue(["metadata", "namespace"]);
86343
- const valuesRaw = form.getFieldsValue();
86344
- const values = scrubLiteralWildcardKeys(valuesRaw);
86345
88095
  const payload = {
86346
88096
  values,
86347
88097
  persistedKeys,
@@ -86360,6 +88110,7 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
86360
88110
  message: `${kind} "${resName}" created successfully`,
86361
88111
  placement: "bottomRight"
86362
88112
  });
88113
+ setIsLoading(false);
86363
88114
  if (resolvedBacklink) {
86364
88115
  navigate(resolvedBacklink);
86365
88116
  }
@@ -86379,6 +88130,7 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
86379
88130
  message: `${kind} "${resName}" updated successfully`,
86380
88131
  placement: "bottomRight"
86381
88132
  });
88133
+ setIsLoading(false);
86382
88134
  if (resolvedBacklink) {
86383
88135
  navigate(resolvedBacklink);
86384
88136
  }
@@ -86583,6 +88335,7 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
86583
88335
  (values, changedValues) => {
86584
88336
  const vRaw = values ?? form.getFieldsValue(true);
86585
88337
  const v = scrubLiteralWildcardKeys(vRaw);
88338
+ applyOneOfValidationErrors(computeOneOfValidationStates(v));
86586
88339
  const hiddenResolved = expandWildcardTemplates(
86587
88340
  hiddenWildcardTemplates,
86588
88341
  v,
@@ -86728,6 +88481,8 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
86728
88481
  properties,
86729
88482
  persistedKeys,
86730
88483
  debouncedPostValuesToYaml,
88484
+ computeOneOfValidationStates,
88485
+ applyOneOfValidationErrors,
86731
88486
  applyPrefillForNewArrayItem,
86732
88487
  applyPersistedForNewArrayItem,
86733
88488
  hiddenWildcardTemplates,
@@ -87023,6 +88778,7 @@ Take a look at the reducer(s) handling this action type: ${action.type}.
87023
88778
  isEdit: !isCreate,
87024
88779
  expandedControls: { onExpandOpen, onExpandClose, expandedKeys },
87025
88780
  persistedControls: { onPersistMark, onPersistUnmark, persistedKeys },
88781
+ objectValidationErrors: oneOfValidationErrors,
87026
88782
  sortPaths,
87027
88783
  urlParams
87028
88784
  }) }) }) }) }),