@1money/component-ui 0.0.70 → 0.0.73

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 (247) hide show
  1. package/es/business/Dialog/VerificationDialog/hooks/useOtpVerification.js +3 -2
  2. package/es/business/Dialog/VerificationDialog/hooks/useResendCountdown.js +2 -2
  3. package/es/business/Select/Network/NetworkSelect.js +2 -2
  4. package/es/components/Accordion/Accordion.js +3 -2
  5. package/es/components/Calendar/Calendar.js +3 -2
  6. package/es/components/Carousel/Carousel.js +3 -2
  7. package/es/components/Checkbox/BaseCheckbox.js +3 -2
  8. package/es/components/Checkbox/Checkbox.js +2 -2
  9. package/es/components/Checkbox/CheckboxGroup.js +3 -2
  10. package/es/components/CoachMark/CoachMark.js +3 -2
  11. package/es/components/Copy/Copy.js +2 -2
  12. package/es/components/Dialog/Dialog.js +2 -2
  13. package/es/components/Drawer/Drawer.js +2 -2
  14. package/es/components/Input/Amount/Amount.js +2 -2
  15. package/es/components/Input/Input/Input.js +3 -2
  16. package/es/components/Input/Mask/Mask.js +3 -2
  17. package/es/components/Input/OTP/OTP.js +3 -2
  18. package/es/components/Input/Password/Password.js +3 -2
  19. package/es/components/Input/Search/Search.js +3 -2
  20. package/es/components/Input/TextArea/TextArea.js +3 -2
  21. package/es/components/Input/Trade/Trade.js +2 -2
  22. package/es/components/Input/useAmountInput.js +4 -2
  23. package/es/components/Input/useSyncRef.js +2 -2
  24. package/es/components/Navigation/Nav.js +2 -2
  25. package/es/components/Navigation/Navigation.js +5 -2
  26. package/es/components/Pagination/Pagination.js +2 -2
  27. package/es/components/Pagination/usePagination.js +3 -2
  28. package/es/components/Popconfirm/Popconfirm.js +2 -2
  29. package/es/components/Portal/Portal.js +2 -2
  30. package/es/components/ProForm/ProForm.d.ts +10 -2
  31. package/es/components/ProForm/ProForm.js +60 -24
  32. package/es/components/ProForm/ProFormDependency.js +4 -1
  33. package/es/components/ProForm/ProFormGroup.js +2 -2
  34. package/es/components/ProForm/ProFormItem.js +73 -36
  35. package/es/components/ProForm/ProFormList.js +3 -2
  36. package/es/components/ProForm/SchemaForm.d.ts +7 -0
  37. package/es/components/ProForm/SchemaForm.js +103 -0
  38. package/es/components/ProForm/Submitter.js +13 -3
  39. package/es/components/ProForm/context.d.ts +22 -3
  40. package/es/components/ProForm/context.js +49 -10
  41. package/es/components/ProForm/core/constants.d.ts +8 -1
  42. package/es/components/ProForm/core/constants.js +9 -6
  43. package/es/components/ProForm/core/hooks/useForm.js +174 -320
  44. package/es/components/ProForm/core/hooks/useFormCore.js +84 -178
  45. package/es/components/ProForm/core/interface.d.ts +33 -12
  46. package/es/components/ProForm/core/pathUtils.d.ts +6 -0
  47. package/es/components/ProForm/core/pathUtils.js +59 -0
  48. package/es/components/ProForm/core/runRules.d.ts +23 -0
  49. package/es/components/ProForm/core/runRules.js +233 -0
  50. package/es/components/ProForm/core/useFormItem.d.ts +10 -1
  51. package/es/components/ProForm/core/useFormItem.js +105 -61
  52. package/es/components/ProForm/fields/ProFormDatePicker.js +4 -1
  53. package/es/components/ProForm/fields/createProFormField.js +64 -59
  54. package/es/components/ProForm/hooks/useFieldRequest.js +7 -5
  55. package/es/components/ProForm/index.d.ts +11 -4
  56. package/es/components/ProForm/index.js +7 -2
  57. package/es/components/ProForm/interface.d.ts +89 -14
  58. package/es/components/ProForm/layouts/DialogForm.d.ts +5 -1
  59. package/es/components/ProForm/layouts/DialogForm.js +2 -1
  60. package/es/components/ProForm/layouts/DrawerForm.d.ts +5 -1
  61. package/es/components/ProForm/layouts/DrawerForm.js +2 -1
  62. package/es/components/ProForm/layouts/QueryFilter.d.ts +5 -2
  63. package/es/components/ProForm/layouts/QueryFilter.js +79 -13
  64. package/es/components/ProForm/layouts/useOverlayForm.js +23 -21
  65. package/es/components/ProForm/style/ProForm.css +6 -0
  66. package/es/components/ProForm/utils.d.ts +14 -3
  67. package/es/components/ProForm/utils.js +73 -70
  68. package/es/components/ProTable/ProTable.js +3 -2
  69. package/es/components/ProTable/core/useAwaitableReload.js +3 -2
  70. package/es/components/ProTable/useFetchData.js +4 -2
  71. package/es/components/Radio/Radio.js +3 -2
  72. package/es/components/Radio/RadioGroup.js +3 -2
  73. package/es/components/ResizeObserver/useResizeObserver.js +2 -2
  74. package/es/components/Segment/Segment.js +4 -2
  75. package/es/components/Select/Select.js +3 -2
  76. package/es/components/Select/SelectCustom.js +2 -2
  77. package/es/components/Select/useSelectShell.js +3 -2
  78. package/es/components/Slider/Slider.js +3 -2
  79. package/es/components/Switch/Switch.js +3 -2
  80. package/es/components/Table/Table.js +14 -28
  81. package/es/components/Table/VirtualTable.js +18 -28
  82. package/es/components/Table/core/columnUtil.d.ts +9 -0
  83. package/es/components/Table/core/columnUtil.js +34 -0
  84. package/es/components/Table/core/useTableColumns.d.ts +4 -13
  85. package/es/components/Table/core/useTableColumns.js +55 -24
  86. package/es/components/Table/core/useTableDataPipeline.d.ts +11 -16
  87. package/es/components/Table/core/useTableDataPipeline.js +66 -73
  88. package/es/components/Table/core/useTableExpand.js +3 -2
  89. package/es/components/Table/core/useTableSelection.js +7 -4
  90. package/es/components/Table/core/useTableSetup.js +4 -2
  91. package/es/components/Table/features/ExpandTrigger.d.ts +9 -3
  92. package/es/components/Table/features/ExpandTrigger.js +14 -8
  93. package/es/components/Table/features/FilterTrigger.js +21 -17
  94. package/es/components/Table/features/SelectionColumn.d.ts +11 -6
  95. package/es/components/Table/features/SelectionColumn.js +12 -5
  96. package/es/components/Table/features/SortTrigger.d.ts +4 -2
  97. package/es/components/Table/features/SortTrigger.js +8 -3
  98. package/es/components/Table/internal/kernel/Body/MeasureCell.js +2 -2
  99. package/es/components/Table/internal/kernel/Cell/index.js +2 -2
  100. package/es/components/Table/internal/kernel/Table.js +3 -3
  101. package/es/components/Table/internal/kernel/VirtualTable/index.js +2 -2
  102. package/es/components/Table/internal/kernel/hooks/useRowInfo.js +2 -2
  103. package/es/components/Table/internal/kernel/selector-context/context.js +3 -3
  104. package/es/components/Table/renderers/HeaderCell.js +3 -2
  105. package/es/components/Table/renderers/TableShell.d.ts +13 -0
  106. package/es/components/Table/renderers/TableShell.js +25 -0
  107. package/es/components/Table/style/Table.css +3 -0
  108. package/es/components/Tabs/Tabs.js +4 -2
  109. package/es/components/Tooltip/Tooltip.js +3 -2
  110. package/es/components/Tooltip/style/Tooltip.css +1 -0
  111. package/es/components/Tour/Tour.js +3 -2
  112. package/es/components/Trigger/Trigger.js +3 -2
  113. package/es/components/Typography/Typography.js +2 -2
  114. package/es/components/Typography/useTypographyEnhancements.js +3 -2
  115. package/es/components/Upload/Upload.js +2 -2
  116. package/es/components/Upload/UploadFileBar.js +2 -2
  117. package/es/components/VirtualList/VirtualList.js +3 -2
  118. package/es/components/VirtualList/hooks/useMobileTouchMove.js +2 -2
  119. package/es/components/VirtualList/hooks/useScrollTo.js +2 -2
  120. package/es/index.css +1 -1
  121. package/es/index.d.ts +2 -2
  122. package/es/index.js +2 -2
  123. package/lib/business/Dialog/VerificationDialog/hooks/useOtpVerification.js +9 -8
  124. package/lib/business/Dialog/VerificationDialog/hooks/useResendCountdown.js +3 -3
  125. package/lib/business/Select/Network/NetworkSelect.js +3 -3
  126. package/lib/components/Accordion/Accordion.js +5 -4
  127. package/lib/components/Calendar/Calendar.js +6 -5
  128. package/lib/components/Carousel/Carousel.js +5 -4
  129. package/lib/components/Checkbox/BaseCheckbox.js +5 -4
  130. package/lib/components/Checkbox/Checkbox.js +3 -3
  131. package/lib/components/Checkbox/CheckboxGroup.js +7 -6
  132. package/lib/components/CoachMark/CoachMark.js +7 -6
  133. package/lib/components/Copy/Copy.js +3 -3
  134. package/lib/components/Dialog/Dialog.js +6 -6
  135. package/lib/components/Drawer/Drawer.js +10 -10
  136. package/lib/components/Input/Amount/Amount.js +6 -5
  137. package/lib/components/Input/Input/Input.js +7 -6
  138. package/lib/components/Input/Mask/Mask.js +9 -8
  139. package/lib/components/Input/OTP/OTP.js +9 -8
  140. package/lib/components/Input/Password/Password.js +6 -5
  141. package/lib/components/Input/Search/Search.js +8 -7
  142. package/lib/components/Input/TextArea/TextArea.js +5 -4
  143. package/lib/components/Input/Trade/Trade.js +5 -4
  144. package/lib/components/Input/useAmountInput.js +13 -11
  145. package/lib/components/Input/useSyncRef.js +4 -3
  146. package/lib/components/Navigation/Nav.js +3 -3
  147. package/lib/components/Navigation/Navigation.js +10 -7
  148. package/lib/components/Pagination/Pagination.js +4 -3
  149. package/lib/components/Pagination/usePagination.js +7 -6
  150. package/lib/components/Popconfirm/Popconfirm.js +3 -3
  151. package/lib/components/Portal/Portal.js +4 -4
  152. package/lib/components/ProForm/ProForm.d.ts +10 -2
  153. package/lib/components/ProForm/ProForm.js +66 -30
  154. package/lib/components/ProForm/ProFormDependency.js +4 -1
  155. package/lib/components/ProForm/ProFormGroup.js +3 -3
  156. package/lib/components/ProForm/ProFormItem.js +72 -34
  157. package/lib/components/ProForm/ProFormList.js +10 -9
  158. package/lib/components/ProForm/SchemaForm.d.ts +7 -0
  159. package/lib/components/ProForm/SchemaForm.js +110 -0
  160. package/lib/components/ProForm/Submitter.js +15 -5
  161. package/lib/components/ProForm/context.d.ts +22 -3
  162. package/lib/components/ProForm/context.js +49 -10
  163. package/lib/components/ProForm/core/constants.d.ts +8 -1
  164. package/lib/components/ProForm/core/constants.js +10 -7
  165. package/lib/components/ProForm/core/hooks/useForm.js +181 -327
  166. package/lib/components/ProForm/core/hooks/useFormCore.js +96 -190
  167. package/lib/components/ProForm/core/interface.d.ts +33 -12
  168. package/lib/components/ProForm/core/pathUtils.d.ts +6 -0
  169. package/lib/components/ProForm/core/pathUtils.js +68 -0
  170. package/lib/components/ProForm/core/runRules.d.ts +23 -0
  171. package/lib/components/ProForm/core/runRules.js +242 -0
  172. package/lib/components/ProForm/core/useFormItem.d.ts +10 -1
  173. package/lib/components/ProForm/core/useFormItem.js +106 -62
  174. package/lib/components/ProForm/fields/ProFormDatePicker.js +4 -1
  175. package/lib/components/ProForm/fields/createProFormField.js +63 -58
  176. package/lib/components/ProForm/hooks/useFieldRequest.js +9 -7
  177. package/lib/components/ProForm/index.d.ts +11 -4
  178. package/lib/components/ProForm/index.js +16 -1
  179. package/lib/components/ProForm/interface.d.ts +89 -14
  180. package/lib/components/ProForm/layouts/DialogForm.d.ts +5 -1
  181. package/lib/components/ProForm/layouts/DialogForm.js +2 -1
  182. package/lib/components/ProForm/layouts/DrawerForm.d.ts +5 -1
  183. package/lib/components/ProForm/layouts/DrawerForm.js +2 -1
  184. package/lib/components/ProForm/layouts/QueryFilter.d.ts +5 -2
  185. package/lib/components/ProForm/layouts/QueryFilter.js +84 -18
  186. package/lib/components/ProForm/layouts/useOverlayForm.js +27 -27
  187. package/lib/components/ProForm/style/ProForm.css +6 -0
  188. package/lib/components/ProForm/utils.d.ts +14 -3
  189. package/lib/components/ProForm/utils.js +91 -74
  190. package/lib/components/ProTable/ProTable.js +10 -9
  191. package/lib/components/ProTable/core/useAwaitableReload.js +6 -5
  192. package/lib/components/ProTable/useFetchData.js +15 -13
  193. package/lib/components/Radio/Radio.js +6 -5
  194. package/lib/components/Radio/RadioGroup.js +5 -4
  195. package/lib/components/ResizeObserver/useResizeObserver.js +4 -3
  196. package/lib/components/Segment/Segment.js +7 -5
  197. package/lib/components/Select/Select.js +23 -22
  198. package/lib/components/Select/SelectCustom.js +8 -8
  199. package/lib/components/Select/useSelectShell.js +5 -4
  200. package/lib/components/Slider/Slider.js +6 -5
  201. package/lib/components/Switch/Switch.js +5 -4
  202. package/lib/components/Table/Table.js +13 -27
  203. package/lib/components/Table/VirtualTable.js +17 -27
  204. package/lib/components/Table/core/columnUtil.d.ts +9 -0
  205. package/lib/components/Table/core/columnUtil.js +42 -0
  206. package/lib/components/Table/core/useTableColumns.d.ts +4 -13
  207. package/lib/components/Table/core/useTableColumns.js +57 -26
  208. package/lib/components/Table/core/useTableDataPipeline.d.ts +11 -16
  209. package/lib/components/Table/core/useTableDataPipeline.js +73 -80
  210. package/lib/components/Table/core/useTableExpand.js +6 -5
  211. package/lib/components/Table/core/useTableSelection.js +13 -10
  212. package/lib/components/Table/core/useTableSetup.js +8 -5
  213. package/lib/components/Table/features/ExpandTrigger.d.ts +9 -3
  214. package/lib/components/Table/features/ExpandTrigger.js +14 -8
  215. package/lib/components/Table/features/FilterTrigger.js +21 -17
  216. package/lib/components/Table/features/SelectionColumn.d.ts +11 -6
  217. package/lib/components/Table/features/SelectionColumn.js +12 -5
  218. package/lib/components/Table/features/SortTrigger.d.ts +4 -2
  219. package/lib/components/Table/features/SortTrigger.js +8 -3
  220. package/lib/components/Table/internal/kernel/Body/MeasureCell.js +3 -3
  221. package/lib/components/Table/internal/kernel/Cell/index.js +4 -4
  222. package/lib/components/Table/internal/kernel/Table.js +7 -6
  223. package/lib/components/Table/internal/kernel/VirtualTable/index.js +4 -4
  224. package/lib/components/Table/internal/kernel/hooks/useRowInfo.js +3 -3
  225. package/lib/components/Table/internal/kernel/selector-context/context.js +6 -5
  226. package/lib/components/Table/renderers/HeaderCell.js +3 -2
  227. package/lib/components/Table/renderers/TableShell.d.ts +13 -0
  228. package/lib/components/Table/renderers/TableShell.js +31 -0
  229. package/lib/components/Table/style/Table.css +3 -0
  230. package/lib/components/Tabs/Tabs.js +7 -5
  231. package/lib/components/Tooltip/Tooltip.js +5 -4
  232. package/lib/components/Tooltip/style/Tooltip.css +1 -0
  233. package/lib/components/Tour/Tour.js +7 -6
  234. package/lib/components/Trigger/Trigger.js +5 -4
  235. package/lib/components/Typography/Typography.js +5 -4
  236. package/lib/components/Typography/useTypographyEnhancements.js +8 -7
  237. package/lib/components/Upload/Upload.js +5 -4
  238. package/lib/components/Upload/UploadFileBar.js +4 -3
  239. package/lib/components/VirtualList/VirtualList.js +8 -7
  240. package/lib/components/VirtualList/hooks/useMobileTouchMove.js +4 -3
  241. package/lib/components/VirtualList/hooks/useScrollTo.js +3 -3
  242. package/lib/index.css +1 -1
  243. package/lib/index.d.ts +2 -2
  244. package/lib/index.js +13 -1
  245. package/package.json +2 -2
  246. package/scripts/mcp-server/examples.generated.json +54 -0
  247. package/scripts/mcp-server/index.generated.json +1212 -80
@@ -1,8 +1,6 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
1
2
  import _typeof from "@babel/runtime/helpers/esm/typeof";
2
3
  import _regeneratorRuntime from "@babel/runtime/regenerator";
3
- function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
4
- function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
5
- function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
6
4
  var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) {
7
5
  function adopt(value) {
8
6
  return value instanceof P ? value : new P(function (resolve) {
@@ -30,27 +28,31 @@ var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, gene
30
28
  step((generator = generator.apply(thisArg, _arguments || [])).next());
31
29
  });
32
30
  };
33
- import React, { useEffect } from 'react';
34
- import { useEventCallback } from '@1money/hooks';
31
+ import React, { useEffect, useRef } from 'react';
32
+ import useEventCallback from '@1money/hooks/useEventCallback';
33
+ import useDebouncedCallback from '@1money/hooks/useDebouncedCallback';
35
34
  import { useProFormContext } from '../context';
36
- import { FORM_COMPONENT_NAMES } from './constants';
37
- function getNestedValue(obj, path) {
38
- var keys = path.split('.');
39
- var current = obj;
40
- var _iterator = _createForOfIteratorHelper(keys),
41
- _step;
42
- try {
43
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
44
- var key = _step.value;
45
- if (current === null || current === undefined || _typeof(current) !== 'object') return undefined;
46
- current = current[key];
47
- }
48
- } catch (err) {
49
- _iterator.e(err);
50
- } finally {
51
- _iterator.f();
35
+ import { getNestedValue } from './pathUtils';
36
+ import { filterRulesByTrigger } from './runRules';
37
+ import { FORM_COMPONENT_NAMES, TEXT_LIKE_COMPONENT_NAMES } from './constants';
38
+ /**
39
+ * Normalise a change-handler argument: unwrap `e.target[valuePropName]` /
40
+ * `e[valuePropName]` (e.g. Checkbox emits `{ checked }`), else `e.target.value`,
41
+ * else pass the value through (e.g. Switch emits the boolean directly).
42
+ */
43
+ function extractEventValue(e) {
44
+ var valuePropName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'value';
45
+ if (e === null || _typeof(e) !== 'object') return e;
46
+ var event = e;
47
+ if (valuePropName !== 'value' && valuePropName in event) {
48
+ return event[valuePropName];
49
+ }
50
+ if ('target' in event && event.target && _typeof(event.target) === 'object') {
51
+ var target = event.target;
52
+ if (valuePropName in target) return target[valuePropName];
53
+ if ('value' in target) return target.value;
52
54
  }
53
- return current;
55
+ return e;
54
56
  }
55
57
  export function useFormItem(options) {
56
58
  var _this = this;
@@ -58,10 +60,14 @@ export function useFormItem(options) {
58
60
  _options$rules = options.rules,
59
61
  rules = _options$rules === void 0 ? [] : _options$rules,
60
62
  required = options.required,
61
- validateStatus = options.validateStatus;
63
+ validateStatus = options.validateStatus,
64
+ _options$valuePropNam = options.valuePropName,
65
+ valuePropName = _options$valuePropNam === void 0 ? 'value' : _options$valuePropNam,
66
+ validateDebounce = options.validateDebounce;
62
67
  var ctx = useProFormContext();
63
68
  var values = ctx.values,
64
69
  errors = ctx.errors,
70
+ warnings = ctx.warnings,
65
71
  validating = ctx.validating,
66
72
  setFieldValue = ctx.setFieldValue,
67
73
  validateField = ctx.validateField,
@@ -76,42 +82,95 @@ export function useFormItem(options) {
76
82
  return rule.required;
77
83
  }));
78
84
  var fieldValue = name ? name.includes('.') ? getNestedValue(values, name) : values[name] : undefined;
79
- var fieldError = name ? name.includes('.') ? getNestedValue(errors, name) : errors[name] : undefined;
85
+ // Errors/warnings are stored FLAT, keyed by the full (possibly dotted) field
86
+ // name — never resolve them as nested paths or dotted names would miss.
87
+ var fieldError = name ? errors[name] : undefined;
88
+ var fieldWarning = name ? warnings[name] : undefined;
80
89
  var fieldValidating = name ? validating[name] || false : false;
81
- var finalStatus = validateStatus || (fieldError ? 'error' : undefined);
82
- var runValidate = useEventCallback(function (value) {
83
- if (name && rules.length > 0) return validateField(name, rules, value);
84
- return true;
90
+ var finalStatus = validateStatus || (fieldError ? 'error' : fieldWarning ? 'warning' : undefined);
91
+ // Run only the rules applicable to the given interactive trigger; rules
92
+ // without an explicit validateTrigger follow the form-level setting.
93
+ var runValidate = useEventCallback(function (value, trigger) {
94
+ if (!name || rules.length === 0) return true;
95
+ var applicable = filterRulesByTrigger(rules, trigger, validateTrigger);
96
+ if (applicable.length === 0) return true;
97
+ return validateField(name, applicable, value);
85
98
  });
86
- var runValidateAsync = useEventCallback(function (value) {
99
+ var runValidateAsync = useEventCallback(function (value, trigger) {
87
100
  return __awaiter(_this, void 0, void 0, /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
101
+ var applicable;
88
102
  return _regeneratorRuntime.wrap(function (_context) {
89
103
  while (1) switch (_context.prev = _context.next) {
90
104
  case 0:
91
- if (!(name && rules.length > 0)) {
105
+ if (!(!name || rules.length === 0)) {
92
106
  _context.next = 1;
93
107
  break;
94
108
  }
95
- _context.next = 1;
96
- return validateFieldAsync(name, value, rules);
109
+ return _context.abrupt("return");
97
110
  case 1:
111
+ applicable = filterRulesByTrigger(rules, trigger, validateTrigger);
112
+ if (!(applicable.length === 0)) {
113
+ _context.next = 2;
114
+ break;
115
+ }
116
+ return _context.abrupt("return");
117
+ case 2:
118
+ _context.next = 3;
119
+ return validateFieldAsync(name, value, applicable);
120
+ case 3:
98
121
  case "end":
99
122
  return _context.stop();
100
123
  }
101
124
  }, _callee);
102
125
  }));
103
126
  });
127
+ var _useDebouncedCallback = useDebouncedCallback(function (value) {
128
+ runValidate(value, 'onChange');
129
+ }, validateDebounce),
130
+ debouncedValidate = _useDebouncedCallback.run;
104
131
  var handleChange = useEventCallback(function (value) {
105
132
  if (name) {
106
133
  setFieldValue(name, value);
107
- if (validateTrigger === 'onChange') runValidate(value);
134
+ if (validateDebounce && validateDebounce > 0) {
135
+ debouncedValidate(value);
136
+ } else {
137
+ runValidate(value, 'onChange');
138
+ }
108
139
  }
109
140
  });
110
141
  var handleBlur = useEventCallback(function () {
111
- if (validateTrigger === 'onBlur') runValidateAsync(fieldValue);
142
+ runValidateAsync(fieldValue, 'onBlur');
143
+ });
144
+ // Latest child-provided callbacks, captured at injectField time. The STABLE
145
+ // injected handlers below delegate through this ref instead of being
146
+ // recreated per render — so a memoized field component sees shallow-equal
147
+ // props across renders and can bail out while another field is typing.
148
+ var childCallbacksRef = useRef({});
149
+ var injectedOnChange = useEventCallback(function (e) {
150
+ var _b2;
151
+ var _a, _b;
152
+ handleChange(extractEventValue(e, valuePropName));
153
+ for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
154
+ args[_key - 1] = arguments[_key];
155
+ }
156
+ (_b = (_a = childCallbacksRef.current).onChange) === null || _b === void 0 ? void 0 : (_b2 = _b).call.apply(_b2, [_a, e].concat(args));
157
+ });
158
+ var injectedOnBlur = useEventCallback(function () {
159
+ var _b3;
160
+ var _a, _b;
161
+ handleBlur();
162
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
163
+ args[_key2] = arguments[_key2];
164
+ }
165
+ (_b = (_a = childCallbacksRef.current).onBlur) === null || _b === void 0 ? void 0 : (_b3 = _b).call.apply(_b3, [_a].concat(args));
112
166
  });
167
+ // Keep the registry in sync with the LATEST rules every render (registration
168
+ // is a cheap ref mutation): dynamic rules (e.g. required toggled by another
169
+ // field) must be visible to submit-time validation, not just onChange.
113
170
  useEffect(function () {
114
171
  if (name && registerField) registerField(name, rules);
172
+ });
173
+ useEffect(function () {
115
174
  return function () {
116
175
  if (name && unregisterField) unregisterField(name);
117
176
  };
@@ -121,39 +180,23 @@ export function useFormItem(options) {
121
180
  if (!name || ! /*#__PURE__*/React.isValidElement(child)) return child;
122
181
  var childProps = child.props;
123
182
  var displayName = (_a = child.type) === null || _a === void 0 ? void 0 : _a.displayName;
124
- var isFormComponent = FORM_COMPONENT_NAMES.includes(displayName) || childProps.placeholder !== undefined || childProps.value !== undefined;
183
+ var isFormComponent = FORM_COMPONENT_NAMES.includes(displayName) || childProps.placeholder !== undefined || childProps.value !== undefined || childProps[valuePropName] !== undefined;
125
184
  if (!isFormComponent) return child;
126
- var TEXT_LIKE_NAMES = ['Input', 'InputPassword', 'InputTextArea', 'InputSearch', 'InputOTP', 'InputTrade', 'InputAmount', 'InputMask', 'TextArea', 'InputNumber'];
127
185
  var safeValue = fieldValue;
128
186
  if (safeValue === null || safeValue === undefined) {
129
- if (TEXT_LIKE_NAMES.includes(displayName || '') || childProps.placeholder !== undefined) {
130
- safeValue = '';
131
- } else if (['Checkbox', 'Switch'].includes(displayName || '')) {
187
+ if (valuePropName === 'checked' || ['Checkbox', 'Switch'].includes(displayName || '')) {
132
188
  safeValue = false;
189
+ } else if (TEXT_LIKE_COMPONENT_NAMES.includes(displayName || '') || childProps.placeholder !== undefined) {
190
+ safeValue = '';
133
191
  }
134
- } else if (TEXT_LIKE_NAMES.includes(displayName || '') && typeof safeValue !== 'string' && typeof safeValue !== 'number') {
192
+ } else if (TEXT_LIKE_COMPONENT_NAMES.includes(displayName || '') && typeof safeValue !== 'string' && typeof safeValue !== 'number') {
135
193
  safeValue = '';
136
194
  }
137
- var injectedProps = Object.assign({
138
- value: safeValue,
139
- onChange: function onChange(e) {
140
- var actualValue = e && _typeof(e) === 'object' && 'target' in e ? e.target.value : e;
141
- handleChange(actualValue);
142
- if (typeof childProps.onChange === 'function') {
143
- for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
144
- args[_key - 1] = arguments[_key];
145
- }
146
- childProps.onChange.apply(childProps, [e].concat(args));
147
- }
148
- },
149
- onBlur: function onBlur() {
150
- handleBlur();
151
- if (typeof childProps.onBlur === 'function') {
152
- childProps.onBlur.apply(childProps, arguments);
153
- }
154
- },
155
- size: childProps.size || size
156
- }, finalStatus === 'error' && {
195
+ childCallbacksRef.current = {
196
+ onChange: typeof childProps.onChange === 'function' ? childProps.onChange : undefined,
197
+ onBlur: typeof childProps.onBlur === 'function' ? childProps.onBlur : undefined
198
+ };
199
+ var injectedProps = Object.assign(_defineProperty(_defineProperty(_defineProperty({}, valuePropName, safeValue), "onChange", injectedOnChange), "onBlur", injectedOnBlur), finalStatus === 'error' && {
157
200
  status: 'error'
158
201
  });
159
202
  return /*#__PURE__*/React.cloneElement(child, injectedProps);
@@ -161,6 +204,7 @@ export function useFormItem(options) {
161
204
  return {
162
205
  fieldValue: fieldValue,
163
206
  fieldError: fieldError,
207
+ fieldWarning: fieldWarning,
164
208
  fieldValidating: fieldValidating,
165
209
  validateStatus: finalStatus,
166
210
  isRequired: isRequired,
@@ -170,4 +214,4 @@ export function useFormItem(options) {
170
214
  injectField: injectField
171
215
  };
172
216
  }
173
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9jb3JlL3VzZUZvcm1JdGVtLmpzIiwiY29tcG9uZW50cy9Qcm9Gb3JtL3NyYy9jb21wb25lbnRzL1Byb0Zvcm0vY29yZS91c2VGb3JtSXRlbS50cyJdLCJuYW1lcyI6WyJfX2F3YWl0ZXIiLCJ0aGlzQXJnIiwiX2FyZ3VtZW50cyIsIlAiLCJnZW5lcmF0b3IiLCJhZG9wdCIsInZhbHVlIiwicmVzb2x2ZSIsIlByb21pc2UiLCJyZWplY3QiLCJmdWxmaWxsZWQiLCJzdGVwIiwibmV4dCIsImUiLCJyZWplY3RlZCIsInJlc3VsdCIsImRvbmUiLCJ0aGVuIiwiYXBwbHkiLCJSZWFjdCIsInVzZUVmZmVjdCIsInVzZUV2ZW50Q2FsbGJhY2siLCJ1c2VQcm9Gb3JtQ29udGV4dCIsIkZPUk1fQ09NUE9ORU5UX05BTUVTIiwiZ2V0TmVzdGVkVmFsdWUiLCJvYmoiLCJwYXRoIiwia2V5cyIsInNwbGl0IiwiY3VycmVudCIsIl9pdGVyYXRvciIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwiX3N0ZXAiLCJzIiwibiIsImtleSIsInVuZGVmaW5lZCIsIl90eXBlb2YiLCJlcnIiLCJmIiwidXNlRm9ybUl0ZW0iLCJvcHRpb25zIiwiX3RoaXMiLCJuYW1lIiwiX29wdGlvbnMkcnVsZXMiLCJydWxlcyIsInJlcXVpcmVkIiwidmFsaWRhdGVTdGF0dXMiLCJjdHgiLCJ2YWx1ZXMiLCJlcnJvcnMiLCJ2YWxpZGF0aW5nIiwic2V0RmllbGRWYWx1ZSIsInZhbGlkYXRlRmllbGQiLCJ2YWxpZGF0ZUZpZWxkQXN5bmMiLCJyZWdpc3RlckZpZWxkIiwidW5yZWdpc3RlckZpZWxkIiwic2l6ZSIsImxhYmVsQWxpZ24iLCJyZXF1aXJlZE1hcmsiLCJ2YWxpZGF0ZVRyaWdnZXIiLCJpc1JlcXVpcmVkIiwiQm9vbGVhbiIsInNvbWUiLCJydWxlIiwiZmllbGRWYWx1ZSIsImluY2x1ZGVzIiwiZmllbGRFcnJvciIsImZpZWxkVmFsaWRhdGluZyIsImZpbmFsU3RhdHVzIiwicnVuVmFsaWRhdGUiLCJsZW5ndGgiLCJydW5WYWxpZGF0ZUFzeW5jIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsInN0b3AiLCJoYW5kbGVDaGFuZ2UiLCJoYW5kbGVCbHVyIiwiaW5qZWN0RmllbGQiLCJjaGlsZCIsIl9hIiwiaXNWYWxpZEVsZW1lbnQiLCJjaGlsZFByb3BzIiwicHJvcHMiLCJkaXNwbGF5TmFtZSIsInR5cGUiLCJpc0Zvcm1Db21wb25lbnQiLCJwbGFjZWhvbGRlciIsIlRFWFRfTElLRV9OQU1FUyIsInNhZmVWYWx1ZSIsImluamVjdGVkUHJvcHMiLCJPYmplY3QiLCJhc3NpZ24iLCJvbkNoYW5nZSIsImFjdHVhbFZhbHVlIiwidGFyZ2V0IiwiX2xlbiIsImFyZ3VtZW50cyIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJjb25jYXQiLCJvbkJsdXIiLCJzdGF0dXMiLCJjbG9uZUVsZW1lbnQiXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsSUFBSUEsU0FBUyxHQUFJLElBQUksSUFBSSxJQUFJLENBQUNBLFNBQVMsSUFBSyxVQUFVQyxPQUFPLEVBQUVDLFVBQVUsRUFBRUMsQ0FBQyxFQUFFQyxTQUFTLEVBQUU7RUFDckYsU0FBU0MsS0FBS0EsQ0FBQ0MsS0FBSyxFQUFFO0lBQUUsT0FBT0EsS0FBSyxZQUFZSCxDQUFDLEdBQUdHLEtBQUssR0FBRyxJQUFJSCxDQUFDLENBQUMsVUFBVUksT0FBTyxFQUFFO01BQUVBLE9BQU8sQ0FBQ0QsS0FBSyxDQUFDO0lBQUUsQ0FBQyxDQUFDO0VBQUU7RUFDM0csT0FBTyxLQUFLSCxDQUFDLEtBQUtBLENBQUMsR0FBR0ssT0FBTyxDQUFDLEVBQUUsVUFBVUQsT0FBTyxFQUFFRSxNQUFNLEVBQUU7SUFDdkQsU0FBU0MsU0FBU0EsQ0FBQ0osS0FBSyxFQUFFO01BQUUsSUFBSTtRQUFFSyxJQUFJLENBQUNQLFNBQVMsQ0FBQ1EsSUFBSSxDQUFDTixLQUFLLENB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TUFDREksTUFBTSxFQUFFLFNBQVJBLE1BQU1BLENBQUEsRUFBeUI7UUFDN0J6QixVQUFVLENBQUEsQ0FBRTtRQUNaLElBQUksT0FBT0ssVUFBVSxDQUFDb0IsTUFBTSxLQUFLLFVBQVUsRUFBRTtVQUMxQ3BCLFVBQVUsQ0FBQ29CLE1BQW9DLENBQUF4RixLQUFBLENBQS9Db0UsVUFBVSxFQUFBZSxTQUE2QyxDQUFDO1FBQzNEO01BQ0YsQ0FBQztNQUNENUMsSUFBSSxFQUFFNkIsVUFBVSxDQUFDN0IsSUFBSSxJQUFJQTtJQUFJLENBQUEsRUFDekJZLFdBQVcsS0FBSyxPQUFPLElBQUk7TUFBRXNDLE1BQU0sRUFBRTtJQUFPLENBQUcsQ0FDcEQ7SUFFRCxvQkFBT3hGLEtBQUssQ0FBQ3lGLFlBQVksQ0FBQ3pCLEtBQUssRUFBRVcsYUFBYSxDQUFDO0VBQ2pELENBQUM7RUFFRCxPQUFPO0lBQ0w3QixVQUFVLEVBQVZBLFVBQVU7SUFDVkUsVUFBVSxFQUFWQSxVQUFVO0lBQ1ZDLGVBQWUsRUFBZkEsZUFBZTtJQUNmckIsY0FBYyxFQUFFc0IsV0FBVztJQUMzQlIsVUFBVSxFQUFWQSxVQUFVO0lBQ1ZKLElBQUksRUFBSkEsSUFBSTtJQUNKQyxVQUFVLEVBQVZBLFVBQVU7SUFDVkMsWUFBWSxFQUFaQSxZQUFZO0lBQ1p1QixXQUFXLEVBQVhBO0VEM0NBLENDNENEO0FBQ0giLCJmaWxlIjoiY29tcG9uZW50cy9Qcm9Gb3JtL2NvcmUvdXNlRm9ybUl0ZW0uanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19hd2FpdGVyID0gKHRoaXMgJiYgdGhpcy5fX2F3YWl0ZXIpIHx8IGZ1bmN0aW9uICh0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcbiAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cbiAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxuICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cbiAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cbiAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xuICAgIH0pO1xufTtcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VFdmVudENhbGxiYWNrIH0gZnJvbSAnQDFtb25leS9ob29rcyc7XG5pbXBvcnQgeyB1c2VQcm9Gb3JtQ29udGV4dCB9IGZyb20gJy4uL2NvbnRleHQnO1xuaW1wb3J0IHsgRk9STV9DT01QT05FTlRfTkFNRVMgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5mdW5jdGlvbiBnZXROZXN0ZWRWYWx1ZShvYmosIHBhdGgpIHtcbiAgICBjb25zdCBrZXlzID0gcGF0aC5zcGxpdCgnLicpO1xuICAgIGxldCBjdXJyZW50ID0gb2JqO1xuICAgIGZvciAoY29uc3Qga2V5IG9mIGtleXMpIHtcbiAgICAgICAgaWYgKGN1cnJlbnQgPT09IG51bGwgfHwgY3VycmVudCA9PT0gdW5kZWZpbmVkIHx8IHR5cGVvZiBjdXJyZW50ICE9PSAnb2JqZWN0JylcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIGN1cnJlbnQgPSBjdXJyZW50W2tleV07XG4gICAgfVxuICAgIHJldHVybiBjdXJyZW50O1xufVxuZXhwb3J0IGZ1bmN0aW9uIHVzZUZvcm1JdGVtKG9wdGlvbnMpIHtcbiAgICBjb25zdCB7IG5hbWUsIHJ1bGVzID0gW10sIHJlcXVpcmVkLCB2YWxpZGF0ZVN0YXR1cyB9ID0gb3B0aW9ucztcbiAgICBjb25zdCBjdHggPSB1c2VQcm9Gb3JtQ29udGV4dCgpO1xuICAgIGNvbnN0IHsgdmFsdWVzLCBlcnJvcnMsIHZhbGlkYXRpbmcsIHNldEZpZWxkVmFsdWUsIHZhbGlkYXRlRmllbGQsIHZhbGlkYXRlRmllbGRBc3luYywgcmVnaXN0ZXJGaWVsZCwgdW5yZWdpc3RlckZpZWxkLCBzaXplLCBsYWJlbEFsaWduLCByZXF1aXJlZE1hcmssIHZhbGlkYXRlVHJpZ2dlciwgfSA9IGN0eDtcbiAgICBjb25zdCBpc1JlcXVpcmVkID0gQm9vbGVhbihyZXF1aXJlZCB8fCBydWxlcy5zb21lKChydWxlKSA9PiBydWxlLnJlcXVpcmVkKSk7XG4gICAgY29uc3QgZmllbGRWYWx1ZSA9IG5hbWVcbiAgICAgICAgPyAobmFtZS5pbmNsdWRlcygnLicpID8gZ2V0TmVzdGVkVmFsdWUodmFsdWVzLCBuYW1lKSA6IHZhbHVlc1tuYW1lXSlcbiAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgY29uc3QgZmllbGRFcnJvciA9IG5hbWVcbiAgICAgICAgPyAobmFtZS5pbmNsdWRlcygnLicpXG4gICAgICAgICAgICA/IGdldE5lc3RlZFZhbHVlKGVycm9ycywgbmFtZSlcbiAgICAgICAgICAgIDogZXJyb3JzW25hbWVdKVxuICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICBjb25zdCBmaWVsZFZhbGlkYXRpbmcgPSBuYW1lID8gKHZhbGlkYXRpbmdbbmFtZV0gfHwgZmFsc2UpIDogZmFsc2U7XG4gICAgY29uc3QgZmluYWxTdGF0dXMgPSB2YWxpZGF0ZVN0YXR1cyB8fCAoZmllbGRFcnJvciA/ICdlcnJvcicgOiB1bmRlZmluZWQpO1xuICAgIGNvbnN0IHJ1blZhbGlkYXRlID0gdXNlRXZlbnRDYWxsYmFjaygodmFsdWUpID0+IHtcbiAgICAgICAgaWYgKG5hbWUgJiYgcnVsZXMubGVuZ3RoID4gMClcbiAgICAgICAgICAgIHJldHVybiB2YWxpZGF0ZUZpZWxkKG5hbWUsIHJ1bGVzLCB2YWx1ZSk7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH0pO1xuICAgIGNvbnN0IHJ1blZhbGlkYXRlQXN5bmMgPSB1c2VFdmVudENhbGxiYWNrKCh2YWx1ZSkgPT4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICBpZiAobmFtZSAmJiBydWxlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB5aWVsZCB2YWxpZGF0ZUZpZWxkQXN5bmMobmFtZSwgdmFsdWUsIHJ1bGVzKTtcbiAgICAgICAgfVxuICAgIH0pKTtcbiAgICBjb25zdCBoYW5kbGVDaGFuZ2UgPSB1c2VFdmVudENhbGxiYWNrKCh2YWx1ZSkgPT4ge1xuICAgICAgICBpZiAobmFtZSkge1xuICAgICAgICAgICAgc2V0RmllbGRWYWx1ZShuYW1lLCB2YWx1ZSk7XG4gICAgICAgICAgICBpZiAodmFsaWRhdGVUcmlnZ2VyID09PSAnb25DaGFuZ2UnKVxuICAgICAgICAgICAgICAgIHJ1blZhbGlkYXRlKHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZUJsdXIgPSB1c2VFdmVudENhbGxiYWNrKCgpID0+IHtcbiAgICAgICAgaWYgKHZhbGlkYXRlVHJpZ2dlciA9PT0gJ29uQmx1cicpXG4gICAgICAgICAgICBydW5WYWxpZGF0ZUFzeW5jKGZpZWxkVmFsdWUpO1xuICAgIH0pO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmIChuYW1lICYmIHJlZ2lzdGVyRmllbGQpXG4gICAgICAgICAgICByZWdpc3RlckZpZWxkKG5hbWUsIHJ1bGVzKTtcbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgIGlmIChuYW1lICYmIHVucmVnaXN0ZXJGaWVsZClcbiAgICAgICAgICAgICAgICB1bnJlZ2lzdGVyRmllbGQobmFtZSk7XG4gICAgICAgIH07XG4gICAgfSwgW25hbWVdKTtcbiAgICBjb25zdCBpbmplY3RGaWVsZCA9IChjaGlsZCkgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGlmICghbmFtZSB8fCAhUmVhY3QuaXNWYWxpZEVsZW1lbnQoY2hpbGQpKVxuICAgICAgICAgICAgcmV0dXJuIGNoaWxkO1xuICAgICAgICBjb25zdCBjaGlsZFByb3BzID0gY2hpbGQucHJvcHM7XG4gICAgICAgIGNvbnN0IGRpc3BsYXlOYW1lID0gKF9hID0gY2hpbGQudHlwZSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmRpc3BsYXlOYW1lO1xuICAgICAgICBjb25zdCBpc0Zvcm1Db21wb25lbnQgPSBGT1JNX0NPTVBPTkVOVF9OQU1FUy5pbmNsdWRlcyhkaXNwbGF5TmFtZSkgfHxcbiAgICAgICAgICAgIGNoaWxkUHJvcHMucGxhY2Vob2xkZXIgIT09IHVuZGVmaW5lZCB8fFxuICAgICAgICAgICAgY2hpbGRQcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkO1xuICAgICAgICBpZiAoIWlzRm9ybUNvbXBvbmVudClcbiAgICAgICAgICAgIHJldHVybiBjaGlsZDtcbiAgICAgICAgY29uc3QgVEVYVF9MSUtFX05BTUVTID0gW1xuICAgICAgICAgICAgJ0lucHV0JywgJ0lucHV0UGFzc3dvcmQnLCAnSW5wdXRUZXh0QXJlYScsICdJbnB1dFNlYXJjaCcsXG4gICAgICAgICAgICAnSW5wdXRPVFAnLCAnSW5wdXRUcmFkZScsICdJbnB1dEFtb3VudCcsICdJbnB1dE1hc2snLFxuICAgICAgICAgICAgJ1RleHRBcmVhJywgJ0lucHV0TnVtYmVyJyxcbiAgICAgICAgXTtcbiAgICAgICAgbGV0IHNhZmVWYWx1ZSA9IGZpZWxkVmFsdWU7XG4gICAgICAgIGlmIChzYWZlVmFsdWUgPT09IG51bGwgfHwgc2FmZVZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGlmIChURVhUX0xJS0VfTkFNRVMuaW5jbHVkZXMoZGlzcGxheU5hbWUgfHwgJycpIHx8XG4gICAgICAgICAgICAgICAgY2hpbGRQcm9wcy5wbGFjZWhvbGRlciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgc2FmZVZhbHVlID0gJyc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChbJ0NoZWNrYm94JywgJ1N3aXRjaCddLmluY2x1ZGVzKGRpc3BsYXlOYW1lIHx8ICcnKSkge1xuICAgICAgICAgICAgICAgIHNhZmVWYWx1ZSA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKFRFWFRfTElLRV9OQU1FUy5pbmNsdWRlcyhkaXNwbGF5TmFtZSB8fCAnJykgJiZcbiAgICAgICAgICAgIHR5cGVvZiBzYWZlVmFsdWUgIT09ICdzdHJpbmcnICYmXG4gICAgICAgICAgICB0eXBlb2Ygc2FmZVZhbHVlICE9PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgc2FmZVZhbHVlID0gJyc7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaW5qZWN0ZWRQcm9wcyA9IE9iamVjdC5hc3NpZ24oeyB2YWx1ZTogc2FmZVZhbHVlLCBvbkNoYW5nZTogKGUsIC4uLmFyZ3MpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBhY3R1YWxWYWx1ZSA9IGUgJiYgdHlwZW9mIGUgPT09ICdvYmplY3QnICYmICd0YXJnZXQnIGluIGVcbiAgICAgICAgICAgICAgICAgICAgPyBlLnRhcmdldC52YWx1ZVxuICAgICAgICAgICAgICAgICAgICA6IGU7XG4gICAgICAgICAgICAgICAgaGFuZGxlQ2hhbmdlKGFjdHVhbFZhbHVlKTtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGNoaWxkUHJvcHMub25DaGFuZ2UgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRQcm9wcy5vbkNoYW5nZShlLCAuLi5hcmdzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCBvbkJsdXI6ICguLi5hcmdzKSA9PiB7XG4gICAgICAgICAgICAgICAgaGFuZGxlQmx1cigpO1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgY2hpbGRQcm9wcy5vbkJsdXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRQcm9wcy5vbkJsdXIoLi4uYXJncyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgc2l6ZTogY2hpbGRQcm9wcy5zaXplIHx8IHNpemUgfSwgKGZpbmFsU3RhdHVzID09PSAnZXJyb3InICYmIHsgc3RhdHVzOiAnZXJyb3InIH0pKTtcbiAgICAgICAgcmV0dXJuIFJlYWN0LmNsb25lRWxlbWVudChjaGlsZCwgaW5qZWN0ZWRQcm9wcyk7XG4gICAgfTtcbiAgICByZXR1cm4ge1xuICAgICAgICBmaWVsZFZhbHVlLFxuICAgICAgICBmaWVsZEVycm9yLFxuICAgICAgICBmaWVsZFZhbGlkYXRpbmcsXG4gICAgICAgIHZhbGlkYXRlU3RhdHVzOiBmaW5hbFN0YXR1cyxcbiAgICAgICAgaXNSZXF1aXJlZCxcbiAgICAgICAgc2l6ZSxcbiAgICAgICAgbGFiZWxBbGlnbixcbiAgICAgICAgcmVxdWlyZWRNYXJrLFxuICAgICAgICBpbmplY3RGaWVsZCxcbiAgICB9O1xufSIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
217
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9jb3JlL3VzZUZvcm1JdGVtLmpzIiwiY29tcG9uZW50cy9Qcm9Gb3JtL3NyYy9jb21wb25lbnRzL1Byb0Zvcm0vY29yZS91c2VGb3JtSXRlbS50cyJdLCJuYW1lcyI6WyJfX2F3YWl0ZXIiLCJ0aGlzQXJnIiwiX2FyZ3VtZW50cyIsIlAiLCJnZW5lcmF0b3IiLCJhZG9wdCIsInZhbHVlIiwicmVzb2x2ZSIsIlByb21pc2UiLCJyZWplY3QiLCJmdWxmaWxsZWQiLCJzdGVwIiwibmV4dCIsImUiLCJyZWplY3RlZCIsInJlc3VsdCIsImRvbmUiLCJ0aGVuIiwiYXBwbHkiLCJSZWFjdCIsInVzZUVmZmVjdCIsInVzZVJlZiIsInVzZUV2ZW50Q2FsbGJhY2siLCJ1c2VEZWJvdW5jZWRDYWxsYmFjayIsInVzZVByb0Zvcm1Db250ZXh0IiwiZ2V0TmVzdGVkVmFsdWUiLCJmaWx0ZXJSdWxlc0J5VHJpZ2dlciIsIkZPUk1fQ09NUE9ORU5UX05BTUVTIiwiVEVYVF9MSUtFX0NPTVBPTkVOVF9OQU1FUyIsImV4dHJhY3RFdmVudFZhbHVlIiwidmFsdWVQcm9wTmFtZSIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsIl90eXBlb2YiLCJldmVudCIsInRhcmdldCIsInVzZUZvcm1JdGVtIiwib3B0aW9ucyIsIl90aGlzIiwibmFtZSIsIl9vcHRpb25zJHJ1bGVzIiwicnVsZXMiLCJyZXF1aXJlZCIsInZhbGlkYXRlU3RhdHVzIiwiX29wdGlvbnMkdmFsdWVQcm9wTmFtIiwidmFsaWRhdGVEZWJvdW5jZSIsImN0eCIsInZhbHVlcyIsImVycm9ycyIsIndhcm5pbmdzIiwidmFsaWRhdGluZyIsInNldEZpZWxkVmFsdWUiLCJ2YWxpZGF0ZUZpZWxkIiwidmFsaWRhdGVGaWVsZEFzeW5jIiwicmVnaXN0ZXJGaWVsZCIsInVucmVnaXN0ZXJGaWVsZCIsInNpemUiLCJsYWJlbEFsaWduIiwicmVxdWlyZWRNYXJrIiwidmFsaWRhdGVUcmlnZ2VyIiwiaXNSZXF1aXJlZCIsIkJvb2xlYW4iLCJzb21lIiwicnVsZSIsImZpZWxkVmFsdWUiLCJpbmNsdWRlcyIsImZpZWxkRXJyb3IiLCJmaWVsZFdhcm5pbmciLCJmaWVsZFZhbGlkYXRpbmciLCJmaW5hbFN0YXR1cyIsInJ1blZhbGlkYXRlIiwidHJpZ2dlciIsImFwcGxpY2FibGUiLCJydW5WYWxpZGF0ZUFzeW5jIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsImFicnVwdCIsInN0b3AiLCJfdXNlRGVib3VuY2VkQ2FsbGJhY2siLCJkZWJvdW5jZWRWYWxpZGF0ZSIsInJ1biIsImhhbmRsZUNoYW5nZSIsImhhbmRsZUJsdXIiLCJjaGlsZENhbGxiYWNrc1JlZiIsImluamVjdGVkT25DaGFuZ2UiLCJfYjIiLCJfYSIsIl9iIiwiX2xlbiIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJjdXJyZW50Iiwib25DaGFuZ2UiLCJjYWxsIiwiY29uY2F0IiwiaW5qZWN0ZWRPbkJsdXIiLCJfYjMiLCJfbGVuMiIsIl9rZXkyIiwib25CbHVyIiwiaW5qZWN0RmllbGQiLCJjaGlsZCIsImlzVmFsaWRFbGVtZW50IiwiY2hpbGRQcm9wcyIsInByb3BzIiwiZGlzcGxheU5hbWUiLCJ0eXBlIiwiaXNGb3JtQ29tcG9uZW50IiwicGxhY2Vob2xkZXIiLCJzYWZlVmFsdWUiLCJpbmplY3RlZFByb3BzIiwiT2JqZWN0IiwiYXNzaWduIiwiX2RlZmluZVByb3BlcnR5Iiwic3RhdHVzIiwiY2xvbmVFbGVtZW50Il0sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFJQSxTQUFTLEdBQUksSUFBSSxJQUFJLElBQUksQ0FBQ0EsU0FBUyxJQUFLLFVBQVVDLE9BQU8sRUFBRUMsVUFBVSxFQUFFQyxDQUFDLEVBQUVDLFNBQVMsRUFBRTtFQUNyRixTQUFTQyxLQUFLQSxDQUFDQyxLQUFLLEVBQUU7SUFBRSxPQUFPQSxLQUFLLFlBQVlILENBQUMsR0FBR0csS0FB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QixpQkFBaUIsQ0FBQ1MsT0FBTyxHQUFHO01BQzFCQyxRQUFRLEVBQ04sT0FBT1csVUFBVSxDQUFDWCxRQUFRLEtBQUssVUFBVSxHQUNwQ1csVUFBVSxDQUFDWCxRQUFzQyxHQUNsRGpFLFNBQVM7TUFDZndFLE1BQU0sRUFDSixPQUFPSSxVQUFVLENBQUNKLE1BQU0sS0FBSyxVQUFVLEdBQ2xDSSxVQUFVLENBQUNKLE1BQW9DLEdBQ2hEeEU7SUR4REosQ0N5REg7SUFFRCxJQUFNbUYsYUFBYSxHQUFBQyxNQUFBLENBQUFDLE1BQUEsQ0FBQUMsZUFBQSxDQUFBQSxlQUFBLENBQUFBLGVBQUEsS0FDaEJ6RixhQUFhLEVBQUdxRixTQUFTLGVBQ2hCMUIsZ0JBQWdCLGFBQ2xCWSxjQUFjLEdBQ2xCL0IsV0FBVyxLQUFLLE9BQU8sSUFBSTtNQUFFa0QsTUFBTSxFQUFFO0lBQU8sQ0FBRyxDQUNwRDtJQUVELG9CQUFPckcsS0FBSyxDQUFDc0csWUFBWSxDQUFDZCxLQUFLLEVBQUVTLGFBQWEsQ0FBQztFQUNqRCxDQUFDO0VBRUQsT0FBTztJQUNMbkQsVUFBVSxFQUFWQSxVQUFVO0lBQ1ZFLFVBQVUsRUFBVkEsVUFBVTtJQUNWQyxZQUFZLEVBQVpBLFlBQVk7SUFDWkMsZUFBZSxFQUFmQSxlQUFlO0lBQ2Z6QixjQUFjLEVBQUUwQixXQUFXO0lBQzNCVCxVQUFVLEVBQVZBLFVBQVU7SUFDVkosSUFBSSxFQUFKQSxJQUFJO0lBQ0pDLFVBQVUsRUFBVkEsVUFBVTtJQUNWQyxZQUFZLEVBQVpBLFlBQVk7SUFDWitDLFdBQVcsRUFBWEE7RURoRUEsQ0NpRUQ7QUFDSCIsImZpbGUiOiJjb21wb25lbnRzL1Byb0Zvcm0vY29yZS91c2VGb3JtSXRlbS5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX2F3YWl0ZXIgPSAodGhpcyAmJiB0aGlzLl9fYXdhaXRlcikgfHwgZnVuY3Rpb24gKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikge1xuICAgIGZ1bmN0aW9uIGFkb3B0KHZhbHVlKSB7IHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFAgPyB2YWx1ZSA6IG5ldyBQKGZ1bmN0aW9uIChyZXNvbHZlKSB7IHJlc29sdmUodmFsdWUpOyB9KTsgfVxuICAgIHJldHVybiBuZXcgKFAgfHwgKFAgPSBQcm9taXNlKSkoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XG4gICAgICAgIGZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yW1widGhyb3dcIl0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxuICAgICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfVxuICAgICAgICBzdGVwKChnZW5lcmF0b3IgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSkpLm5leHQoKSk7XG4gICAgfSk7XG59O1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHVzZUV2ZW50Q2FsbGJhY2sgZnJvbSAnQDFtb25leS9ob29rcy91c2VFdmVudENhbGxiYWNrJztcbmltcG9ydCB1c2VEZWJvdW5jZWRDYWxsYmFjayBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZURlYm91bmNlZENhbGxiYWNrJztcbmltcG9ydCB7IHVzZVByb0Zvcm1Db250ZXh0IH0gZnJvbSAnLi4vY29udGV4dCc7XG5pbXBvcnQgeyBnZXROZXN0ZWRWYWx1ZSB9IGZyb20gJy4vcGF0aFV0aWxzJztcbmltcG9ydCB7IGZpbHRlclJ1bGVzQnlUcmlnZ2VyIH0gZnJvbSAnLi9ydW5SdWxlcyc7XG5pbXBvcnQgeyBGT1JNX0NPTVBPTkVOVF9OQU1FUywgVEVYVF9MSUtFX0NPTVBPTkVOVF9OQU1FUyB9IGZyb20gJy4vY29uc3RhbnRzJztcbi8qKlxuICogTm9ybWFsaXNlIGEgY2hhbmdlLWhhbmRsZXIgYXJndW1lbnQ6IHVud3JhcCBgZS50YXJnZXRbdmFsdWVQcm9wTmFtZV1gIC9cbiAqIGBlW3ZhbHVlUHJvcE5hbWVdYCAoZS5nLiBDaGVja2JveCBlbWl0cyBgeyBjaGVja2VkIH1gKSwgZWxzZSBgZS50YXJnZXQudmFsdWVgLFxuICogZWxzZSBwYXNzIHRoZSB2YWx1ZSB0aHJvdWdoIChlLmcuIFN3aXRjaCBlbWl0cyB0aGUgYm9vbGVhbiBkaXJlY3RseSkuXG4gKi9cbmZ1bmN0aW9uIGV4dHJhY3RFdmVudFZhbHVlKGUsIHZhbHVlUHJvcE5hbWUgPSAndmFsdWUnKSB7XG4gICAgaWYgKGUgPT09IG51bGwgfHwgdHlwZW9mIGUgIT09ICdvYmplY3QnKVxuICAgICAgICByZXR1cm4gZTtcbiAgICBjb25zdCBldmVudCA9IGU7XG4gICAgaWYgKHZhbHVlUHJvcE5hbWUgIT09ICd2YWx1ZScgJiYgdmFsdWVQcm9wTmFtZSBpbiBldmVudCkge1xuICAgICAgICByZXR1cm4gZXZlbnRbdmFsdWVQcm9wTmFtZV07XG4gICAgfVxuICAgIGlmICgndGFyZ2V0JyBpbiBldmVudCAmJiBldmVudC50YXJnZXQgJiYgdHlwZW9mIGV2ZW50LnRhcmdldCA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0O1xuICAgICAgICBpZiAodmFsdWVQcm9wTmFtZSBpbiB0YXJnZXQpXG4gICAgICAgICAgICByZXR1cm4gdGFyZ2V0W3ZhbHVlUHJvcE5hbWVdO1xuICAgICAgICBpZiAoJ3ZhbHVlJyBpbiB0YXJnZXQpXG4gICAgICAgICAgICByZXR1cm4gdGFyZ2V0LnZhbHVlO1xuICAgIH1cbiAgICByZXR1cm4gZTtcbn1cbmV4cG9ydCBmdW5jdGlvbiB1c2VGb3JtSXRlbShvcHRpb25zKSB7XG4gICAgY29uc3QgeyBuYW1lLCBydWxlcyA9IFtdLCByZXF1aXJlZCwgdmFsaWRhdGVTdGF0dXMsIHZhbHVlUHJvcE5hbWUgPSAndmFsdWUnLCB2YWxpZGF0ZURlYm91bmNlLCB9ID0gb3B0aW9ucztcbiAgICBjb25zdCBjdHggPSB1c2VQcm9Gb3JtQ29udGV4dCgpO1xuICAgIGNvbnN0IHsgdmFsdWVzLCBlcnJvcnMsIHdhcm5pbmdzLCB2YWxpZGF0aW5nLCBzZXRGaWVsZFZhbHVlLCB2YWxpZGF0ZUZpZWxkLCB2YWxpZGF0ZUZpZWxkQXN5bmMsIHJlZ2lzdGVyRmllbGQsIHVucmVnaXN0ZXJGaWVsZCwgc2l6ZSwgbGFiZWxBbGlnbiwgcmVxdWlyZWRNYXJrLCB2YWxpZGF0ZVRyaWdnZXIsIH0gPSBjdHg7XG4gICAgY29uc3QgaXNSZXF1aXJlZCA9IEJvb2xlYW4ocmVxdWlyZWQgfHwgcnVsZXMuc29tZSgocnVsZSkgPT4gcnVsZS5yZXF1aXJlZCkpO1xuICAgIGNvbnN0IGZpZWxkVmFsdWUgPSBuYW1lXG4gICAgICAgID8gKG5hbWUuaW5jbHVkZXMoJy4nKSA/IGdldE5lc3RlZFZhbHVlKHZhbHVlcywgbmFtZSkgOiB2YWx1ZXNbbmFtZV0pXG4gICAgICAgIDogdW5kZWZpbmVkO1xuICAgIC8vIEVycm9ycy93YXJuaW5ncyBhcmUgc3RvcmVkIEZMQVQsIGtleWVkIGJ5IHRoZSBmdWxsIChwb3NzaWJseSBkb3R0ZWQpIGZpZWxkXG4gICAgLy8gbmFtZSDigJQgbmV2ZXIgcmVzb2x2ZSB0aGVtIGFzIG5lc3RlZCBwYXRocyBvciBkb3R0ZWQgbmFtZXMgd291bGQgbWlzcy5cbiAgICBjb25zdCBmaWVsZEVycm9yID0gbmFtZSA/IGVycm9yc1tuYW1lXSA6IHVuZGVmaW5lZDtcbiAgICBjb25zdCBmaWVsZFdhcm5pbmcgPSBuYW1lID8gd2FybmluZ3NbbmFtZV0gOiB1bmRlZmluZWQ7XG4gICAgY29uc3QgZmllbGRWYWxpZGF0aW5nID0gbmFtZSA/ICh2YWxpZGF0aW5nW25hbWVdIHx8IGZhbHNlKSA6IGZhbHNlO1xuICAgIGNvbnN0IGZpbmFsU3RhdHVzID0gdmFsaWRhdGVTdGF0dXMgfHwgKGZpZWxkRXJyb3IgPyAnZXJyb3InIDogZmllbGRXYXJuaW5nID8gJ3dhcm5pbmcnIDogdW5kZWZpbmVkKTtcbiAgICAvLyBSdW4gb25seSB0aGUgcnVsZXMgYXBwbGljYWJsZSB0byB0aGUgZ2l2ZW4gaW50ZXJhY3RpdmUgdHJpZ2dlcjsgcnVsZXNcbiAgICAvLyB3aXRob3V0IGFuIGV4cGxpY2l0IHZhbGlkYXRlVHJpZ2dlciBmb2xsb3cgdGhlIGZvcm0tbGV2ZWwgc2V0dGluZy5cbiAgICBjb25zdCBydW5WYWxpZGF0ZSA9IHVzZUV2ZW50Q2FsbGJhY2soKHZhbHVlLCB0cmlnZ2VyKSA9PiB7XG4gICAgICAgIGlmICghbmFtZSB8fCBydWxlcy5sZW5ndGggPT09IDApXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgY29uc3QgYXBwbGljYWJsZSA9IGZpbHRlclJ1bGVzQnlUcmlnZ2VyKHJ1bGVzLCB0cmlnZ2VyLCB2YWxpZGF0ZVRyaWdnZXIpO1xuICAgICAgICBpZiAoYXBwbGljYWJsZS5sZW5ndGggPT09IDApXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIHZhbGlkYXRlRmllbGQobmFtZSwgYXBwbGljYWJsZSwgdmFsdWUpO1xuICAgIH0pO1xuICAgIGNvbnN0IHJ1blZhbGlkYXRlQXN5bmMgPSB1c2VFdmVudENhbGxiYWNrKCh2YWx1ZSwgdHJpZ2dlcikgPT4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICBpZiAoIW5hbWUgfHwgcnVsZXMubGVuZ3RoID09PSAwKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBjb25zdCBhcHBsaWNhYmxlID0gZmlsdGVyUnVsZXNCeVRyaWdnZXIocnVsZXMsIHRyaWdnZXIsIHZhbGlkYXRlVHJpZ2dlcik7XG4gICAgICAgIGlmIChhcHBsaWNhYmxlLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgeWllbGQgdmFsaWRhdGVGaWVsZEFzeW5jKG5hbWUsIHZhbHVlLCBhcHBsaWNhYmxlKTtcbiAgICB9KSk7XG4gICAgY29uc3QgeyBydW46IGRlYm91bmNlZFZhbGlkYXRlIH0gPSB1c2VEZWJvdW5jZWRDYWxsYmFjaygodmFsdWUpID0+IHtcbiAgICAgICAgcnVuVmFsaWRhdGUodmFsdWUsICdvbkNoYW5nZScpO1xuICAgIH0sIHZhbGlkYXRlRGVib3VuY2UpO1xuICAgIGNvbnN0IGhhbmRsZUNoYW5nZSA9IHVzZUV2ZW50Q2FsbGJhY2soKHZhbHVlKSA9PiB7XG4gICAgICAgIGlmIChuYW1lKSB7XG4gICAgICAgICAgICBzZXRGaWVsZFZhbHVlKG5hbWUsIHZhbHVlKTtcbiAgICAgICAgICAgIGlmICh2YWxpZGF0ZURlYm91bmNlICYmIHZhbGlkYXRlRGVib3VuY2UgPiAwKSB7XG4gICAgICAgICAgICAgICAgZGVib3VuY2VkVmFsaWRhdGUodmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcnVuVmFsaWRhdGUodmFsdWUsICdvbkNoYW5nZScpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlQmx1ciA9IHVzZUV2ZW50Q2FsbGJhY2soKCkgPT4ge1xuICAgICAgICBydW5WYWxpZGF0ZUFzeW5jKGZpZWxkVmFsdWUsICdvbkJsdXInKTtcbiAgICB9KTtcbiAgICAvLyBMYXRlc3QgY2hpbGQtcHJvdmlkZWQgY2FsbGJhY2tzLCBjYXB0dXJlZCBhdCBpbmplY3RGaWVsZCB0aW1lLiBUaGUgU1RBQkxFXG4gICAgLy8gaW5qZWN0ZWQgaGFuZGxlcnMgYmVsb3cgZGVsZWdhdGUgdGhyb3VnaCB0aGlzIHJlZiBpbnN0ZWFkIG9mIGJlaW5nXG4gICAgLy8gcmVjcmVhdGVkIHBlciByZW5kZXIg4oCUIHNvIGEgbWVtb2l6ZWQgZmllbGQgY29tcG9uZW50IHNlZXMgc2hhbGxvdy1lcXVhbFxuICAgIC8vIHByb3BzIGFjcm9zcyByZW5kZXJzIGFuZCBjYW4gYmFpbCBvdXQgd2hpbGUgYW5vdGhlciBmaWVsZCBpcyB0eXBpbmcuXG4gICAgY29uc3QgY2hpbGRDYWxsYmFja3NSZWYgPSB1c2VSZWYoe30pO1xuICAgIGNvbnN0IGluamVjdGVkT25DaGFuZ2UgPSB1c2VFdmVudENhbGxiYWNrKChlLCAuLi5hcmdzKSA9PiB7XG4gICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgIGhhbmRsZUNoYW5nZShleHRyYWN0RXZlbnRWYWx1ZShlLCB2YWx1ZVByb3BOYW1lKSk7XG4gICAgICAgIChfYiA9IChfYSA9IGNoaWxkQ2FsbGJhY2tzUmVmLmN1cnJlbnQpLm9uQ2hhbmdlKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuY2FsbChfYSwgZSwgLi4uYXJncyk7XG4gICAgfSk7XG4gICAgY29uc3QgaW5qZWN0ZWRPbkJsdXIgPSB1c2VFdmVudENhbGxiYWNrKCguLi5hcmdzKSA9PiB7XG4gICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgIGhhbmRsZUJsdXIoKTtcbiAgICAgICAgKF9iID0gKF9hID0gY2hpbGRDYWxsYmFja3NSZWYuY3VycmVudCkub25CbHVyKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuY2FsbChfYSwgLi4uYXJncyk7XG4gICAgfSk7XG4gICAgLy8gS2VlcCB0aGUgcmVnaXN0cnkgaW4gc3luYyB3aXRoIHRoZSBMQVRFU1QgcnVsZXMgZXZlcnkgcmVuZGVyIChyZWdpc3RyYXRpb25cbiAgICAvLyBpcyBhIGNoZWFwIHJlZiBtdXRhdGlvbik6IGR5bmFtaWMgcnVsZXMgKGUuZy4gcmVxdWlyZWQgdG9nZ2xlZCBieSBhbm90aGVyXG4gICAgLy8gZmllbGQpIG11c3QgYmUgdmlzaWJsZSB0byBzdWJtaXQtdGltZSB2YWxpZGF0aW9uLCBub3QganVzdCBvbkNoYW5nZS5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAobmFtZSAmJiByZWdpc3RlckZpZWxkKVxuICAgICAgICAgICAgcmVnaXN0ZXJGaWVsZChuYW1lLCBydWxlcyk7XG4gICAgfSk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgIGlmIChuYW1lICYmIHVucmVnaXN0ZXJGaWVsZClcbiAgICAgICAgICAgICAgICB1bnJlZ2lzdGVyRmllbGQobmFtZSk7XG4gICAgICAgIH07XG4gICAgfSwgW25hbWVdKTtcbiAgICBjb25zdCBpbmplY3RGaWVsZCA9IChjaGlsZCkgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGlmICghbmFtZSB8fCAhUmVhY3QuaXNWYWxpZEVsZW1lbnQoY2hpbGQpKVxuICAgICAgICAgICAgcmV0dXJuIGNoaWxkO1xuICAgICAgICBjb25zdCBjaGlsZFByb3BzID0gY2hpbGQucHJvcHM7XG4gICAgICAgIGNvbnN0IGRpc3BsYXlOYW1lID0gKF9hID0gY2hpbGQudHlwZSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmRpc3BsYXlOYW1lO1xuICAgICAgICBjb25zdCBpc0Zvcm1Db21wb25lbnQgPSBGT1JNX0NPTVBPTkVOVF9OQU1FUy5pbmNsdWRlcyhkaXNwbGF5TmFtZSkgfHxcbiAgICAgICAgICAgIGNoaWxkUHJvcHMucGxhY2Vob2xkZXIgIT09IHVuZGVmaW5lZCB8fFxuICAgICAgICAgICAgY2hpbGRQcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICAgICBjaGlsZFByb3BzW3ZhbHVlUHJvcE5hbWVdICE9PSB1bmRlZmluZWQ7XG4gICAgICAgIGlmICghaXNGb3JtQ29tcG9uZW50KVxuICAgICAgICAgICAgcmV0dXJuIGNoaWxkO1xuICAgICAgICBsZXQgc2FmZVZhbHVlID0gZmllbGRWYWx1ZTtcbiAgICAgICAgaWYgKHNhZmVWYWx1ZSA9PT0gbnVsbCB8fCBzYWZlVmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaWYgKHZhbHVlUHJvcE5hbWUgPT09ICdjaGVja2VkJyB8fCBbJ0NoZWNrYm94JywgJ1N3aXRjaCddLmluY2x1ZGVzKGRpc3BsYXlOYW1lIHx8ICcnKSkge1xuICAgICAgICAgICAgICAgIHNhZmVWYWx1ZSA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoVEVYVF9MSUtFX0NPTVBPTkVOVF9OQU1FUy5pbmNsdWRlcyhkaXNwbGF5TmFtZSB8fCAnJykgfHxcbiAgICAgICAgICAgICAgICBjaGlsZFByb3BzLnBsYWNlaG9sZGVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICBzYWZlVmFsdWUgPSAnJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChURVhUX0xJS0VfQ09NUE9ORU5UX05BTUVTLmluY2x1ZGVzKGRpc3BsYXlOYW1lIHx8ICcnKSAmJlxuICAgICAgICAgICAgdHlwZW9mIHNhZmVWYWx1ZSAhPT0gJ3N0cmluZycgJiZcbiAgICAgICAgICAgIHR5cGVvZiBzYWZlVmFsdWUgIT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICBzYWZlVmFsdWUgPSAnJztcbiAgICAgICAgfVxuICAgICAgICBjaGlsZENhbGxiYWNrc1JlZi5jdXJyZW50ID0ge1xuICAgICAgICAgICAgb25DaGFuZ2U6IHR5cGVvZiBjaGlsZFByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nXG4gICAgICAgICAgICAgICAgPyBjaGlsZFByb3BzLm9uQ2hhbmdlXG4gICAgICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBvbkJsdXI6IHR5cGVvZiBjaGlsZFByb3BzLm9uQmx1ciA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICAgICAgICAgID8gY2hpbGRQcm9wcy5vbkJsdXJcbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgaW5qZWN0ZWRQcm9wcyA9IE9iamVjdC5hc3NpZ24oeyBbdmFsdWVQcm9wTmFtZV06IHNhZmVWYWx1ZSwgb25DaGFuZ2U6IGluamVjdGVkT25DaGFuZ2UsIG9uQmx1cjogaW5qZWN0ZWRPbkJsdXIgfSwgKGZpbmFsU3RhdHVzID09PSAnZXJyb3InICYmIHsgc3RhdHVzOiAnZXJyb3InIH0pKTtcbiAgICAgICAgcmV0dXJuIFJlYWN0LmNsb25lRWxlbWVudChjaGlsZCwgaW5qZWN0ZWRQcm9wcyk7XG4gICAgfTtcbiAgICByZXR1cm4ge1xuICAgICAgICBmaWVsZFZhbHVlLFxuICAgICAgICBmaWVsZEVycm9yLFxuICAgICAgICBmaWVsZFdhcm5pbmcsXG4gICAgICAgIGZpZWxkVmFsaWRhdGluZyxcbiAgICAgICAgdmFsaWRhdGVTdGF0dXM6IGZpbmFsU3RhdHVzLFxuICAgICAgICBpc1JlcXVpcmVkLFxuICAgICAgICBzaXplLFxuICAgICAgICBsYWJlbEFsaWduLFxuICAgICAgICByZXF1aXJlZE1hcmssXG4gICAgICAgIGluamVjdEZpZWxkLFxuICAgIH07XG59IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -16,8 +16,11 @@ function renderDateReadonly(value) {
16
16
  }
17
17
  export var ProFormDatePicker = createProFormField({
18
18
  component: Calendar,
19
+ // Registers into the form's valueType registry so dateFormatter formats this
20
+ // field as a date; pass valueType="dateTime" per field for time-of-day output.
21
+ valueType: 'date',
19
22
  renderReadonly: renderDateReadonly
20
23
  });
21
24
  ProFormDatePicker.displayName = 'ProFormDatePicker';
22
25
  export default ProFormDatePicker;
23
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2ZpZWxkcy9Qcm9Gb3JtRGF0ZVBpY2tlci50c3giLCJjb21wb25lbnRzL1Byb0Zvcm0vZmllbGRzL1Byb0Zvcm1EYXRlUGlja2VyLmpzIl0sIm5hbWVzIjpbIkNhbGVuZGFyIiwiY3JlYXRlUHJvRm9ybUZpZWxkIiwicmVuZGVyRGF0ZVJlYWRvbmx5IiwidmFsdWUiLCJ1bmRlZmluZWQiLCJEYXRlIiwidG9Mb2NhbGVEYXRlU3RyaW5nIiwiQXJyYXkiLCJpc0FycmF5IiwiZmlsdGVyIiwidiIsIm1hcCIsImQiLCJqb2luIiwiU3RyaW5nIiwiUHJvRm9ybURhdGVQaWNrZXIiLCJjb21wb25lbnQiLCJyZW5kZXJSZWFkb25seSIsImRpc3BsYXlOYW1lIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxRQUFRLFFBQVEsZ0JBQWdCO0FBRXpDLFNBQVNDLGtCQUFrQixRQUFRLHNCQUFzQjtBQUV6RCxTQUFTQyxrQkFBa0JBLENBQUNDLEtBQWMsRUFBQTtFQUN4QyxJQUFJQSxLQUFLLEtBQUssSUFBSSxJQUFJQSxLQUFLLEtBQUtDLFNBQVMsRUFBRSxPQUFPLEdBQUc7RUFFckQsSUFBSUQsS0FBSyxZQUFZRSxJQUFJLEVBQUU7SUFDekIsT0FBT0YsS0FBSyxDQUFDRyxrQkFBa0IsQ0FBQSxDQUFFO0VBQ25DO0VBRUEsSUFBSUMsS0FBSyxDQUFDQyxPQUFPLENBQUNMLEtBQUssQ0FBQyxFQUFFO0lBQ3hCLE9BQU9BLEtBQUssQ0FDVE0sTUFBTSxDQUFDLFVBQUNDLENBQUM7TUFBQSxPQUFnQkEsQ0FBQyxZQUFZTCxJQUFJO0lBQUEsRUFBQyxDQUMzQ00sR0FBRyxDQUFDLFVBQUNDLENBQUM7TUFBQSxPQUFLQSxDQUFDLENBQUNOLGtCQUFrQixDQUFBLENBQUU7SUFBQSxFQUFDLENBQ2xDTyxJQUFJLENBQUMsS0FBSyxDQUFDO0VBQ2hCO0VBRUEsT0FBT0MsTUFBTSxDQUFDWCxLQUFLLENBQUM7QUFDdEI7QUFFQSxPQUFPLElBQU1ZLGlCQUFpQixHQUFHZCxrQkFBa0IsQ0FBZ0I7RUFDakVlLFNBQVMsRUFBRWhCLFFBQVE7RUFDbkJpQixjQUFjLEVBQUVmO0FDSmxCLENES0MsQ0FBQztBQUVGYSxpQkFBaUIsQ0FBQ0csV0FBVyxHQUFHLG1CQUFtQjtBQUVuRCxlQUFlSCxpQkFBaUIiLCJmaWxlIjoiY29tcG9uZW50cy9Qcm9Gb3JtL2ZpZWxkcy9Qcm9Gb3JtRGF0ZVBpY2tlci5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwiaW1wb3J0IHsgQ2FsZW5kYXIgfSBmcm9tICcuLi8uLi9DYWxlbmRhcic7XG5pbXBvcnQgeyBjcmVhdGVQcm9Gb3JtRmllbGQgfSBmcm9tICcuL2NyZWF0ZVByb0Zvcm1GaWVsZCc7XG5mdW5jdGlvbiByZW5kZXJEYXRlUmVhZG9ubHkodmFsdWUpIHtcbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZClcbiAgICAgICAgcmV0dXJuICctJztcbiAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZS50b0xvY2FsZURhdGVTdHJpbmcoKTtcbiAgICB9XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZVxuICAgICAgICAgICAgLmZpbHRlcigodikgPT4gdiBpbnN0YW5jZW9mIERhdGUpXG4gICAgICAgICAgICAubWFwKChkKSA9PiBkLnRvTG9jYWxlRGF0ZVN0cmluZygpKVxuICAgICAgICAgICAgLmpvaW4oJyB+ICcpO1xuICAgIH1cbiAgICByZXR1cm4gU3RyaW5nKHZhbHVlKTtcbn1cbmV4cG9ydCBjb25zdCBQcm9Gb3JtRGF0ZVBpY2tlciA9IGNyZWF0ZVByb0Zvcm1GaWVsZCh7XG4gICAgY29tcG9uZW50OiBDYWxlbmRhcixcbiAgICByZW5kZXJSZWFkb25seTogcmVuZGVyRGF0ZVJlYWRvbmx5LFxufSk7XG5Qcm9Gb3JtRGF0ZVBpY2tlci5kaXNwbGF5TmFtZSA9ICdQcm9Gb3JtRGF0ZVBpY2tlcic7XG5leHBvcnQgZGVmYXVsdCBQcm9Gb3JtRGF0ZVBpY2tlcjsiXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
26
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2ZpZWxkcy9Qcm9Gb3JtRGF0ZVBpY2tlci50c3giLCJjb21wb25lbnRzL1Byb0Zvcm0vZmllbGRzL1Byb0Zvcm1EYXRlUGlja2VyLmpzIl0sIm5hbWVzIjpbIkNhbGVuZGFyIiwiY3JlYXRlUHJvRm9ybUZpZWxkIiwicmVuZGVyRGF0ZVJlYWRvbmx5IiwidmFsdWUiLCJ1bmRlZmluZWQiLCJEYXRlIiwidG9Mb2NhbGVEYXRlU3RyaW5nIiwiQXJyYXkiLCJpc0FycmF5IiwiZmlsdGVyIiwidiIsIm1hcCIsImQiLCJqb2luIiwiU3RyaW5nIiwiUHJvRm9ybURhdGVQaWNrZXIiLCJjb21wb25lbnQiLCJ2YWx1ZVR5cGUiLCJyZW5kZXJSZWFkb25seSIsImRpc3BsYXlOYW1lIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxRQUFRLFFBQVEsZ0JBQWdCO0FBRXpDLFNBQVNDLGtCQUFrQixRQUFRLHNCQUFzQjtBQUV6RCxTQUFTQyxrQkFBa0JBLENBQUNDLEtBQWMsRUFBQTtFQUN4QyxJQUFJQSxLQUFLLEtBQUssSUFBSSxJQUFJQSxLQUFLLEtBQUtDLFNBQVMsRUFBRSxPQUFPLEdBQUc7RUFFckQsSUFBSUQsS0FBSyxZQUFZRSxJQUFJLEVBQUU7SUFDekIsT0FBT0YsS0FBSyxDQUFDRyxrQkFBa0IsQ0FBQSxDQUFFO0VBQ25DO0VBRUEsSUFBSUMsS0FBSyxDQUFDQyxPQUFPLENBQUNMLEtBQUssQ0FBQyxFQUFFO0lBQ3hCLE9BQU9BLEtBQUssQ0FDVE0sTUFBTSxDQUFDLFVBQUNDLENBQUM7TUFBQSxPQUFnQkEsQ0FBQyxZQUFZTCxJQUFJO0lBQUEsRUFBQyxDQUMzQ00sR0FBRyxDQUFDLFVBQUNDLENBQUM7TUFBQSxPQUFLQSxDQUFDLENBQUNOLGtCQUFrQixDQUFBLENBQUU7SUFBQSxFQUFDLENBQ2xDTyxJQUFJLENBQUMsS0FBSyxDQUFDO0VBQ2hCO0VBRUEsT0FBT0MsTUFBTSxDQUFDWCxLQUFLLENBQUM7QUFDdEI7QUFFQSxPQUFPLElBQU1ZLGlCQUFpQixHQUFHZCxrQkFBa0IsQ0FBZ0I7RUFDakVlLFNBQVMsRUFBRWhCLFFBQVE7RUFDbkI7RUFDQTtFQUNBaUIsU0FBUyxFQUFFLE1BQU07RUFDakJDLGNBQWMsRUFBRWhCO0FDSmxCLENES0MsQ0FBQztBQUVGYSxpQkFBaUIsQ0FBQ0ksV0FBVyxHQUFHLG1CQUFtQjtBQUVuRCxlQUFlSixpQkFBaUIiLCJmaWxlIjoiY29tcG9uZW50cy9Qcm9Gb3JtL2ZpZWxkcy9Qcm9Gb3JtRGF0ZVBpY2tlci5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwiaW1wb3J0IHsgQ2FsZW5kYXIgfSBmcm9tICcuLi8uLi9DYWxlbmRhcic7XG5pbXBvcnQgeyBjcmVhdGVQcm9Gb3JtRmllbGQgfSBmcm9tICcuL2NyZWF0ZVByb0Zvcm1GaWVsZCc7XG5mdW5jdGlvbiByZW5kZXJEYXRlUmVhZG9ubHkodmFsdWUpIHtcbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZClcbiAgICAgICAgcmV0dXJuICctJztcbiAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZS50b0xvY2FsZURhdGVTdHJpbmcoKTtcbiAgICB9XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZVxuICAgICAgICAgICAgLmZpbHRlcigodikgPT4gdiBpbnN0YW5jZW9mIERhdGUpXG4gICAgICAgICAgICAubWFwKChkKSA9PiBkLnRvTG9jYWxlRGF0ZVN0cmluZygpKVxuICAgICAgICAgICAgLmpvaW4oJyB+ICcpO1xuICAgIH1cbiAgICByZXR1cm4gU3RyaW5nKHZhbHVlKTtcbn1cbmV4cG9ydCBjb25zdCBQcm9Gb3JtRGF0ZVBpY2tlciA9IGNyZWF0ZVByb0Zvcm1GaWVsZCh7XG4gICAgY29tcG9uZW50OiBDYWxlbmRhcixcbiAgICAvLyBSZWdpc3RlcnMgaW50byB0aGUgZm9ybSdzIHZhbHVlVHlwZSByZWdpc3RyeSBzbyBkYXRlRm9ybWF0dGVyIGZvcm1hdHMgdGhpc1xuICAgIC8vIGZpZWxkIGFzIGEgZGF0ZTsgcGFzcyB2YWx1ZVR5cGU9XCJkYXRlVGltZVwiIHBlciBmaWVsZCBmb3IgdGltZS1vZi1kYXkgb3V0cHV0LlxuICAgIHZhbHVlVHlwZTogJ2RhdGUnLFxuICAgIHJlbmRlclJlYWRvbmx5OiByZW5kZXJEYXRlUmVhZG9ubHksXG59KTtcblByb0Zvcm1EYXRlUGlja2VyLmRpc3BsYXlOYW1lID0gJ1Byb0Zvcm1EYXRlUGlja2VyJztcbmV4cG9ydCBkZWZhdWx0IFByb0Zvcm1EYXRlUGlja2VyOyJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=