@1money/component-ui 0.0.74 → 0.0.76

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 (81) hide show
  1. package/es/components/Dialog/Dialog.js +7 -39
  2. package/es/components/Dialog/constants.d.ts +0 -3
  3. package/es/components/Dialog/constants.js +1 -4
  4. package/es/components/Dialog/style/Dialog.css +0 -21
  5. package/es/components/ProForm/ProForm.js +46 -33
  6. package/es/components/ProForm/ProFormDependency.js +6 -16
  7. package/es/components/ProForm/ProFormItem.js +5 -7
  8. package/es/components/ProForm/ProFormList.js +112 -40
  9. package/es/components/ProForm/core/constants.d.ts +2 -0
  10. package/es/components/ProForm/core/constants.js +7 -1
  11. package/es/components/ProForm/core/devWarning.d.ts +3 -0
  12. package/es/components/ProForm/core/devWarning.js +22 -0
  13. package/es/components/ProForm/core/formStore.d.ts +10 -2
  14. package/es/components/ProForm/core/formStore.js +21 -2
  15. package/es/components/ProForm/core/hooks/useForm.js +246 -103
  16. package/es/components/ProForm/core/hooks/useFormCore.js +134 -28
  17. package/es/components/ProForm/core/interface.d.ts +124 -49
  18. package/es/components/ProForm/core/runRules.d.ts +44 -12
  19. package/es/components/ProForm/core/runRules.js +584 -133
  20. package/es/components/ProForm/core/useFormItem.d.ts +6 -7
  21. package/es/components/ProForm/core/useFormItem.js +44 -22
  22. package/es/components/ProForm/core/validationError.d.ts +13 -0
  23. package/es/components/ProForm/core/validationError.js +29 -0
  24. package/es/components/ProForm/fields/ProFormCheckboxGroup.js +19 -5
  25. package/es/components/ProForm/fields/ProFormFieldSet.js +51 -12
  26. package/es/components/ProForm/fields/ProFormRadioGroup.js +8 -3
  27. package/es/components/ProForm/fields/ProFormSelect.js +13 -7
  28. package/es/components/ProForm/fields/createProFormField.js +18 -25
  29. package/es/components/ProForm/hooks/useFieldRequest.js +10 -8
  30. package/es/components/ProForm/index.d.ts +2 -1
  31. package/es/components/ProForm/index.js +4 -1
  32. package/es/components/ProForm/interface.d.ts +31 -40
  33. package/es/components/ProForm/layouts/QueryFilter.js +24 -16
  34. package/es/components/ProForm/style/ProForm.css +0 -1
  35. package/es/components/ProForm/utils.d.ts +8 -0
  36. package/es/components/ProForm/utils.js +51 -3
  37. package/es/components/Table/core/useTableSetup.js +2 -2
  38. package/es/components/Table/interface.d.ts +1 -1
  39. package/es/index.css +1 -1
  40. package/lib/components/Dialog/Dialog.js +6 -38
  41. package/lib/components/Dialog/constants.d.ts +0 -3
  42. package/lib/components/Dialog/constants.js +1 -4
  43. package/lib/components/Dialog/style/Dialog.css +0 -21
  44. package/lib/components/ProForm/ProForm.js +45 -32
  45. package/lib/components/ProForm/ProFormDependency.js +5 -15
  46. package/lib/components/ProForm/ProFormItem.js +5 -7
  47. package/lib/components/ProForm/ProFormList.js +110 -38
  48. package/lib/components/ProForm/core/constants.d.ts +2 -0
  49. package/lib/components/ProForm/core/constants.js +8 -2
  50. package/lib/components/ProForm/core/devWarning.d.ts +3 -0
  51. package/lib/components/ProForm/core/devWarning.js +29 -0
  52. package/lib/components/ProForm/core/formStore.d.ts +10 -2
  53. package/lib/components/ProForm/core/formStore.js +23 -2
  54. package/lib/components/ProForm/core/hooks/useForm.js +242 -99
  55. package/lib/components/ProForm/core/hooks/useFormCore.js +133 -27
  56. package/lib/components/ProForm/core/interface.d.ts +124 -49
  57. package/lib/components/ProForm/core/runRules.d.ts +44 -12
  58. package/lib/components/ProForm/core/runRules.js +587 -133
  59. package/lib/components/ProForm/core/useFormItem.d.ts +6 -7
  60. package/lib/components/ProForm/core/useFormItem.js +43 -21
  61. package/lib/components/ProForm/core/validationError.d.ts +13 -0
  62. package/lib/components/ProForm/core/validationError.js +36 -0
  63. package/lib/components/ProForm/fields/ProFormCheckboxGroup.js +18 -4
  64. package/lib/components/ProForm/fields/ProFormFieldSet.js +51 -12
  65. package/lib/components/ProForm/fields/ProFormRadioGroup.js +7 -2
  66. package/lib/components/ProForm/fields/ProFormSelect.js +13 -7
  67. package/lib/components/ProForm/fields/createProFormField.js +18 -25
  68. package/lib/components/ProForm/hooks/useFieldRequest.js +10 -8
  69. package/lib/components/ProForm/index.d.ts +2 -1
  70. package/lib/components/ProForm/index.js +10 -1
  71. package/lib/components/ProForm/interface.d.ts +31 -40
  72. package/lib/components/ProForm/layouts/QueryFilter.js +24 -16
  73. package/lib/components/ProForm/style/ProForm.css +0 -1
  74. package/lib/components/ProForm/utils.d.ts +8 -0
  75. package/lib/components/ProForm/utils.js +52 -3
  76. package/lib/components/Table/core/useTableSetup.js +2 -2
  77. package/lib/components/Table/interface.d.ts +1 -1
  78. package/lib/index.css +1 -1
  79. package/package.json +1 -1
  80. package/scripts/mcp-server/examples.generated.json +42 -36
  81. package/scripts/mcp-server/index.generated.json +23 -67
@@ -3,12 +3,18 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.VALIDATE_TRIGGERS = exports.VALIDATE_STATUSES = exports.TEXT_LIKE_COMPONENT_NAMES = exports.SIZE_AWARE_COMPONENT_NAMES = exports.LABEL_ALIGNS = exports.FORM_WARNING_SIZE = exports.FORM_WARNING_COLOR = exports.FORM_SIZES = exports.FORM_LAYOUTS = exports.FORM_LABEL_SIZES = exports.FORM_LABEL_COLOR = exports.FORM_FEEDBACK_SIZE = exports.FORM_FEEDBACK_COLOR = exports.FORM_ERROR_SIZE = exports.FORM_ERROR_COLOR = exports.FORM_DESCRIPTION_SIZE = exports.FORM_DESCRIPTION_COLOR = exports.FORM_COMPONENT_NAMES = void 0;
6
+ exports.VALIDATE_TRIGGERS = exports.VALIDATE_STATUSES = exports.TEXT_LIKE_COMPONENT_NAMES = exports.SIZE_AWARE_COMPONENT_NAMES = exports.RULE_CONTEXT_READ_MEMBERS = exports.RULE_CONTEXT_MUTATOR_MEMBERS = exports.LABEL_ALIGNS = exports.FORM_WARNING_SIZE = exports.FORM_WARNING_COLOR = exports.FORM_SIZES = exports.FORM_LAYOUTS = exports.FORM_LABEL_SIZES = exports.FORM_LABEL_COLOR = exports.FORM_FEEDBACK_SIZE = exports.FORM_FEEDBACK_COLOR = exports.FORM_ERROR_SIZE = exports.FORM_ERROR_COLOR = exports.FORM_DESCRIPTION_SIZE = exports.FORM_DESCRIPTION_COLOR = exports.FORM_COMPONENT_NAMES = void 0;
7
7
  var FORM_SIZES = exports.FORM_SIZES = ['large', 'small'];
8
8
  var FORM_LAYOUTS = exports.FORM_LAYOUTS = ['vertical'];
9
9
  var LABEL_ALIGNS = exports.LABEL_ALIGNS = ['left', 'right'];
10
10
  var VALIDATE_STATUSES = exports.VALIDATE_STATUSES = ['success', 'warning', 'error', 'validating'];
11
11
  var VALIDATE_TRIGGERS = exports.VALIDATE_TRIGGERS = ['onChange', 'onBlur'];
12
+ // RuleContext instance members, split by safety: READ members are available
13
+ // in EVERY rule resolution (including render-phase required-mark checks);
14
+ // MUTATOR members are handed out only during validation-time resolutions.
15
+ // useFormItem (renderSafeInstance) and the contract tests derive from these.
16
+ var RULE_CONTEXT_READ_MEMBERS = exports.RULE_CONTEXT_READ_MEMBERS = ['getFieldError', 'getFieldWarning', 'isFieldTouched', 'isFieldValidating'];
17
+ var RULE_CONTEXT_MUTATOR_MEMBERS = exports.RULE_CONTEXT_MUTATOR_MEMBERS = ['setFieldValue', 'setFieldsValue', 'resetFields'];
12
18
  // Label typography pairs with the field control's text size for each form
13
19
  // size: large control text is body/lg (16px) → label lg; small is body/md
14
20
  // (14px) → label md.
@@ -40,4 +46,4 @@ var SIZE_AWARE_COMPONENT_NAMES = exports.SIZE_AWARE_COMPONENT_NAMES = ['Input',
40
46
  * fallback value.
41
47
  */
42
48
  var TEXT_LIKE_COMPONENT_NAMES = exports.TEXT_LIKE_COMPONENT_NAMES = ['Input', 'InputPassword', 'InputTextArea', 'InputSearch', 'InputOTP', 'InputTrade', 'InputAmount', 'InputMask', 'TextArea', 'InputNumber'];
43
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2NvcmUvY29uc3RhbnRzLnRzIiwiY29tcG9uZW50cy9Qcm9Gb3JtL2NvcmUvY29uc3RhbnRzLmpzIl0sIm5hbWVzIjpbIkZPUk1fU0laRVMiLCJleHBvcnRzIiwiRk9STV9MQVlPVVRTIiwiTEFCRUxfQUxJR05TIiwiVkFMSURBVEVfU1RBVFVTRVMiLCJWQUxJREFURV9UUklHR0VSUyIsIkZPUk1fTEFCRUxfU0laRVMiLCJsYXJnZSIsInNtYWxsIiwiRk9STV9MQUJFTF9DT0xPUiIsIkZPUk1fRVJST1JfU0laRSIsIkZPUk1fRVJST1JfQ09MT1IiLCJGT1JNX1dBUk5JTkdfU0laRSIsIkZPUk1fV0FSTklOR19DT0xPUiIsIkZPUk1fREVTQ1JJUFRJT05fU0laRSIsIkZPUk1fREVTQ1JJUFRJT05fQ09MT1IiLCJGT1JNX0ZFRURCQUNLX1NJWkUiLCJGT1JNX0ZFRURCQUNLX0NPTE9SIiwiRk9STV9DT01QT05FTlRfTkFNRVMiLCJTSVpFX0FXQVJFX0NPTVBPTkVOVF9OQU1FUyIsIlRFWFRfTElLRV9DT01QT05FTlRfTkFNRVMiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUVPLElBQU1BLFVBQVUsR0FBQUMsT0FBQSxDQUFBRCxVQUFBLEdBQUcsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFVO0FBQzlDLElBQU1FLFlBQVksR0FBQUQsT0FBQSxDQUFBQyxZQUFBLEdBQUcsQ0FBQyxVQUFVLENBQVU7QUFDMUMsSUFBTUMsWUFBWSxHQUFBRixPQUFBLENBQUFFLFlBQUEsR0FBRyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQVU7QUFDL0MsSUFBTUMsaUJBQWlCLEdBQUFILE9BQUEsQ0FBQUcsaUJBQUEsR0FBRyxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFlBQVksQ0FBVTtBQUNoRixJQUFNQyxpQkFBaUIsR0FBQUosT0FBQSxDQUFBSSxpQkFBQSxHQUFHLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBVTtBQVFoRTtBQUNBO0FBQ0E7QUFDTyxJQUFNQyxnQkFBZ0IsR0FBQUwsT0FBQSxDQUFBSyxnQkFBQSxHQUEwQztFQUNyRUMsS0FBSyxFQUFFLElBQUk7RUFDWEMsS0FBSyxFQUFFO0FDUlQsQ0RTQztBQUNNLElBQU1DLGdCQUFnQixHQUFBUixPQUFBLENBQUFRLGdCQUFBLEdBQW9CLFNBQVM7QUFDbkQsSUFBTUMsZUFBZSxHQUFBVCxPQUFBLENBQUFTLGVBQUEsR0FBdUIsSUFBSTtBQUNoRCxJQUFNQyxnQkFBZ0IsR0FBQVYsT0FBQSxDQUFBVSxnQkFBQSxHQUFvQixRQUFRO0FBQ2xELElBQU1DLGlCQUFpQixHQUFBWCxPQUFBLENBQUFXLGlCQUFBLEdBQXVCLElBQUk7QUFDbEQsSUFBTUMsa0JBQWtCLEdBQUFaLE9BQUEsQ0FBQVksa0JBQUEsR0FBb0IsU0FBUztBQUNyRCxJQUFNQyxxQkFBcUIsR0FBQWIsT0FBQSxDQUFBYSxxQkFBQSxHQUF1QixJQUFJO0FBQ3RELElBQU1DLHNCQUFzQixHQUFBZCxPQUFBLENBQUFjLHNCQUFBLEdBQW9CLGtCQUFrQjtBQUNsRSxJQUFNQyxrQkFBa0IsR0FBQWYsT0FBQSxDQUFBZSxrQkFBQSxHQUF1QixJQUFJO0FBQ25ELElBQU1DLG1CQUFtQixHQUFBaEIsT0FBQSxDQUFBZ0IsbUJBQUEsR0FBb0Isa0JBQWtCO0FBRS9ELElBQU1DLG9CQUFvQixHQUFBakIsT0FBQSxDQUFBaUIsb0JBQUEsR0FBRyxDQUNsQyxPQUFPLEVBQ1AsYUFBYSxFQUNiLGVBQWUsRUFDZixlQUFlLEVBQ2YsYUFBYSxFQUNiLFVBQVUsRUFDVixZQUFZLEVBQ1osYUFBYSxFQUNiLFdBQVcsRUFDWCxRQUFRLEVBQ1IsWUFBWSxFQUNaLFlBQVksRUFDWixZQUFZLEVBQ1osVUFBVSxFQUNWLFVBQVUsRUFDVixlQUFlLEVBQ2YsT0FBTyxFQUNQLFlBQVksRUFDWixRQUFRLEVBQ1IsUUFBUSxFQUNSLFVBQVUsQ0FDRjtBQUVWO0FDVkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FEWU8sSUFBTUMsMEJBQTBCLEdBQUFsQixPQUFBLENBQUFrQiwwQkFBQSxHQUFzQixDQUMzRCxPQUFPLEVBQ1AsZUFBZSxFQUNmLGVBQWUsRUFDZixhQUFhLEVBQ2IsVUFBVSxFQUNWLGFBQWEsRUFDYixXQUFXLEVBQ1gsUUFBUSxFQUNSLFVBQVUsRUFDVixPQUFPLEVBQ1AsWUFBWSxDQUNiO0FBRUQ7QUNYQTtBQUNBO0FBQ0E7QUFDQTtBRGFPLElBQU1DLHlCQUF5QixHQUFBbkIsT0FBQSxDQUFBbUIseUJBQUEsR0FBc0IsQ0FDMUQsT0FBTyxFQUNQLGVBQWUsRUFDZixlQUFlLEVBQ2YsYUFBYSxFQUNiLFVBQVUsRUFDVixZQUFZLEVBQ1osYUFBYSxFQUNiLFdBQVcsRUFDWCxVQUFVLEVBQ1YsYUFBYSxDQUNkIiwiZmlsZSI6ImNvbXBvbmVudHMvUHJvRm9ybS9jb3JlL2NvbnN0YW50cy5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwiZXhwb3J0IGNvbnN0IEZPUk1fU0laRVMgPSBbJ2xhcmdlJywgJ3NtYWxsJ107XG5leHBvcnQgY29uc3QgRk9STV9MQVlPVVRTID0gWyd2ZXJ0aWNhbCddO1xuZXhwb3J0IGNvbnN0IExBQkVMX0FMSUdOUyA9IFsnbGVmdCcsICdyaWdodCddO1xuZXhwb3J0IGNvbnN0IFZBTElEQVRFX1NUQVRVU0VTID0gWydzdWNjZXNzJywgJ3dhcm5pbmcnLCAnZXJyb3InLCAndmFsaWRhdGluZyddO1xuZXhwb3J0IGNvbnN0IFZBTElEQVRFX1RSSUdHRVJTID0gWydvbkNoYW5nZScsICdvbkJsdXInXTtcbi8vIExhYmVsIHR5cG9ncmFwaHkgcGFpcnMgd2l0aCB0aGUgZmllbGQgY29udHJvbCdzIHRleHQgc2l6ZSBmb3IgZWFjaCBmb3JtXG4vLyBzaXplOiBsYXJnZSBjb250cm9sIHRleHQgaXMgYm9keS9sZyAoMTZweCkg4oaSIGxhYmVsIGxnOyBzbWFsbCBpcyBib2R5L21kXG4vLyAoMTRweCkg4oaSIGxhYmVsIG1kLlxuZXhwb3J0IGNvbnN0IEZPUk1fTEFCRUxfU0laRVMgPSB7XG4gICAgbGFyZ2U6ICdsZycsXG4gICAgc21hbGw6ICdtZCcsXG59O1xuZXhwb3J0IGNvbnN0IEZPUk1fTEFCRUxfQ09MT1IgPSAnZGVmYXVsdCc7XG5leHBvcnQgY29uc3QgRk9STV9FUlJPUl9TSVpFID0gJ3NtJztcbmV4cG9ydCBjb25zdCBGT1JNX0VSUk9SX0NPTE9SID0gJ2Rhbmdlcic7XG5leHBvcnQgY29uc3QgRk9STV9XQVJOSU5HX1NJWkUgPSAnc20nO1xuZXhwb3J0IGNvbnN0IEZPUk1fV0FSTklOR19DT0xPUiA9ICd3YXJuaW5nJztcbmV4cG9ydCBjb25zdCBGT1JNX0RFU0NSSVBUSU9OX1NJWkUgPSAnbWQnO1xuZXhwb3J0IGNvbnN0IEZPUk1fREVTQ1JJUFRJT05fQ09MT1IgPSAnZGVmYXVsdC10ZXJ0aWFyeSc7XG5leHBvcnQgY29uc3QgRk9STV9GRUVEQkFDS19TSVpFID0gJ3NtJztcbmV4cG9ydCBjb25zdCBGT1JNX0ZFRURCQUNLX0NPTE9SID0gJ2RlZmF1bHQtdGVydGlhcnknO1xuZXhwb3J0IGNvbnN0IEZPUk1fQ09NUE9ORU5UX05BTUVTID0gW1xuICAgICdJbnB1dCcsXG4gICAgJ0lucHV0TnVtYmVyJyxcbiAgICAnSW5wdXRQYXNzd29yZCcsXG4gICAgJ0lucHV0VGV4dEFyZWEnLFxuICAgICdJbnB1dFNlYXJjaCcsXG4gICAgJ0lucHV0T1RQJyxcbiAgICAnSW5wdXRUcmFkZScsXG4gICAgJ0lucHV0QW1vdW50JyxcbiAgICAnSW5wdXRNYXNrJyxcbiAgICAnU2VsZWN0JyxcbiAgICAnQmFzZVNlbGVjdCcsXG4gICAgJ0RhdGVQaWNrZXInLFxuICAgICdUaW1lUGlja2VyJyxcbiAgICAnQ2FsZW5kYXInLFxuICAgICdDaGVja2JveCcsXG4gICAgJ0NoZWNrYm94R3JvdXAnLFxuICAgICdSYWRpbycsXG4gICAgJ1JhZGlvR3JvdXAnLFxuICAgICdTd2l0Y2gnLFxuICAgICdTbGlkZXInLFxuICAgICdUZXh0QXJlYScsXG5dO1xuLyoqXG4gKiBGb3JtIGNvbnRyb2xzIHRoYXQgZGVjbGFyZSBhIGBzaXplYCBwcm9wIGFjY2VwdGluZyBgJ2xhcmdlJyB8ICdzbWFsbCdgLlxuICogYGluamVjdEZpZWxkYCBjYXNjYWRlcyB0aGUgZm9ybS1sZXZlbCBgc2l6ZWAgaW50byB0aGVzZSBhcyBhIERFRkFVTFQg4oCUIGFuXG4gKiBleHBsaWNpdCBmaWVsZC1sZXZlbCBgc2l6ZWAgKG93biBwcm9wIG9yIHZpYSBgZmllbGRQcm9wc2ApIHdpbnMuIENvbnRyb2xzXG4gKiB3aXRob3V0IGEgc2l6ZSBwcm9wIChDaGVja2JveCwgU3dpdGNoLCBTbGlkZXIsIOKApikgbXVzdCBzdGF5IG9mZiB0aGlzIGxpc3Q6XG4gKiBhbiB1bmtub3duIGBzaXplYCBwcm9wIGNvdWxkIGxlYWsgb250byB0aGUgRE9NIGVsZW1lbnQuXG4gKi9cbmV4cG9ydCBjb25zdCBTSVpFX0FXQVJFX0NPTVBPTkVOVF9OQU1FUyA9IFtcbiAgICAnSW5wdXQnLFxuICAgICdJbnB1dFBhc3N3b3JkJyxcbiAgICAnSW5wdXRUZXh0QXJlYScsXG4gICAgJ0lucHV0U2VhcmNoJyxcbiAgICAnSW5wdXRPVFAnLFxuICAgICdJbnB1dEFtb3VudCcsXG4gICAgJ0lucHV0TWFzaycsXG4gICAgJ1NlbGVjdCcsXG4gICAgJ0NhbGVuZGFyJyxcbiAgICAnUmFkaW8nLFxuICAgICdSYWRpb0dyb3VwJyxcbl07XG4vKipcbiAqIFRleHQtbGlrZSBmb3JtIGNvbnRyb2xzIHdob3NlIGVtcHR5IHZhbHVlIG11c3QgZGVmYXVsdCB0byAnJyAoYSBjb250cm9sbGVkXG4gKiBzdHJpbmcgaW5wdXQpIHJhdGhlciB0aGFuIHVuZGVmaW5lZC4gVXNlZCBieSBgaW5qZWN0RmllbGRgIHRvIHBpY2sgYSBzYWZlXG4gKiBmYWxsYmFjayB2YWx1ZS5cbiAqL1xuZXhwb3J0IGNvbnN0IFRFWFRfTElLRV9DT01QT05FTlRfTkFNRVMgPSBbXG4gICAgJ0lucHV0JyxcbiAgICAnSW5wdXRQYXNzd29yZCcsXG4gICAgJ0lucHV0VGV4dEFyZWEnLFxuICAgICdJbnB1dFNlYXJjaCcsXG4gICAgJ0lucHV0T1RQJyxcbiAgICAnSW5wdXRUcmFkZScsXG4gICAgJ0lucHV0QW1vdW50JyxcbiAgICAnSW5wdXRNYXNrJyxcbiAgICAnVGV4dEFyZWEnLFxuICAgICdJbnB1dE51bWJlcicsXG5dOyJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
49
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2NvcmUvY29uc3RhbnRzLnRzIiwiY29tcG9uZW50cy9Qcm9Gb3JtL2NvcmUvY29uc3RhbnRzLmpzIl0sIm5hbWVzIjpbIkZPUk1fU0laRVMiLCJleHBvcnRzIiwiRk9STV9MQVlPVVRTIiwiTEFCRUxfQUxJR05TIiwiVkFMSURBVEVfU1RBVFVTRVMiLCJWQUxJREFURV9UUklHR0VSUyIsIlJVTEVfQ09OVEVYVF9SRUFEX01FTUJFUlMiLCJSVUxFX0NPTlRFWFRfTVVUQVRPUl9NRU1CRVJTIiwiRk9STV9MQUJFTF9TSVpFUyIsImxhcmdlIiwic21hbGwiLCJGT1JNX0xBQkVMX0NPTE9SIiwiRk9STV9FUlJPUl9TSVpFIiwiRk9STV9FUlJPUl9DT0xPUiIsIkZPUk1fV0FSTklOR19TSVpFIiwiRk9STV9XQVJOSU5HX0NPTE9SIiwiRk9STV9ERVNDUklQVElPTl9TSVpFIiwiRk9STV9ERVNDUklQVElPTl9DT0xPUiIsIkZPUk1fRkVFREJBQ0tfU0laRSIsIkZPUk1fRkVFREJBQ0tfQ09MT1IiLCJGT1JNX0NPTVBPTkVOVF9OQU1FUyIsIlNJWkVfQVdBUkVfQ09NUE9ORU5UX05BTUVTIiwiVEVYVF9MSUtFX0NPTVBPTkVOVF9OQU1FUyJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBRU8sSUFBTUEsVUFBVSxHQUFBQyxPQUFBLENBQUFELFVBQUEsR0FBRyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQVU7QUFDOUMsSUFBTUUsWUFBWSxHQUFBRCxPQUFBLENBQUFDLFlBQUEsR0FBRyxDQUFDLFVBQVUsQ0FBVTtBQUMxQyxJQUFNQyxZQUFZLEdBQUFGLE9BQUEsQ0FBQUUsWUFBQSxHQUFHLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBVTtBQUMvQyxJQUFNQyxpQkFBaUIsR0FBQUgsT0FBQSxDQUFBRyxpQkFBQSxHQUFHLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsWUFBWSxDQUFVO0FBQ2hGLElBQU1DLGlCQUFpQixHQUFBSixPQUFBLENBQUFJLGlCQUFBLEdBQUcsQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFVO0FBRWhFO0FBQ0E7QUFDQTtBQUNBO0FBQ08sSUFBTUMseUJBQXlCLEdBQUFMLE9BQUEsQ0FBQUsseUJBQUEsR0FBRyxDQUN2QyxlQUFlLEVBQ2YsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQixtQkFBbUIsQ0FDWDtBQUNILElBQU1DLDRCQUE0QixHQUFBTixPQUFBLENBQUFNLDRCQUFBLEdBQUcsQ0FDMUMsZUFBZSxFQUNmLGdCQUFnQixFQUNoQixhQUFhLENBQ0w7QUFRVjtBQUNBO0FBQ0E7QUFDTyxJQUFNQyxnQkFBZ0IsR0FBQVAsT0FBQSxDQUFBTyxnQkFBQSxHQUEwQztFQUNyRUMsS0FBSyxFQUFFLElBQUk7RUFDWEMsS0FBSyxFQUFFO0FDVFQsQ0RVQztBQUNNLElBQU1DLGdCQUFnQixHQUFBVixPQUFBLENBQUFVLGdCQUFBLEdBQW9CLFNBQVM7QUFDbkQsSUFBTUMsZUFBZSxHQUFBWCxPQUFBLENBQUFXLGVBQUEsR0FBdUIsSUFBSTtBQUNoRCxJQUFNQyxnQkFBZ0IsR0FBQVosT0FBQSxDQUFBWSxnQkFBQSxHQUFvQixRQUFRO0FBQ2xELElBQU1DLGlCQUFpQixHQUFBYixPQUFBLENBQUFhLGlCQUFBLEdBQXVCLElBQUk7QUFDbEQsSUFBTUMsa0JBQWtCLEdBQUFkLE9BQUEsQ0FBQWMsa0JBQUEsR0FBb0IsU0FBUztBQUNyRCxJQUFNQyxxQkFBcUIsR0FBQWYsT0FBQSxDQUFBZSxxQkFBQSxHQUF1QixJQUFJO0FBQ3RELElBQU1DLHNCQUFzQixHQUFBaEIsT0FBQSxDQUFBZ0Isc0JBQUEsR0FBb0Isa0JBQWtCO0FBQ2xFLElBQU1DLGtCQUFrQixHQUFBakIsT0FBQSxDQUFBaUIsa0JBQUEsR0FBdUIsSUFBSTtBQUNuRCxJQUFNQyxtQkFBbUIsR0FBQWxCLE9BQUEsQ0FBQWtCLG1CQUFBLEdBQW9CLGtCQUFrQjtBQUUvRCxJQUFNQyxvQkFBb0IsR0FBQW5CLE9BQUEsQ0FBQW1CLG9CQUFBLEdBQUcsQ0FDbEMsT0FBTyxFQUNQLGFBQWEsRUFDYixlQUFlLEVBQ2YsZUFBZSxFQUNmLGFBQWEsRUFDYixVQUFVLEVBQ1YsWUFBWSxFQUNaLGFBQWEsRUFDYixXQUFXLEVBQ1gsUUFBUSxFQUNSLFlBQVksRUFDWixZQUFZLEVBQ1osWUFBWSxFQUNaLFVBQVUsRUFDVixVQUFVLEVBQ1YsZUFBZSxFQUNmLE9BQU8sRUFDUCxZQUFZLEVBQ1osUUFBUSxFQUNSLFFBQVEsRUFDUixVQUFVLENBQ0Y7QUFFVjtBQ1hBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBRGFPLElBQU1DLDBCQUEwQixHQUFBcEIsT0FBQSxDQUFBb0IsMEJBQUEsR0FBc0IsQ0FDM0QsT0FBTyxFQUNQLGVBQWUsRUFDZixlQUFlLEVBQ2YsYUFBYSxFQUNiLFVBQVUsRUFDVixhQUFhLEVBQ2IsV0FBVyxFQUNYLFFBQVEsRUFDUixVQUFVLEVBQ1YsT0FBTyxFQUNQLFlBQVksQ0FDYjtBQUVEO0FDWkE7QUFDQTtBQUNBO0FBQ0E7QURjTyxJQUFNQyx5QkFBeUIsR0FBQXJCLE9BQUEsQ0FBQXFCLHlCQUFBLEdBQXNCLENBQzFELE9BQU8sRUFDUCxlQUFlLEVBQ2YsZUFBZSxFQUNmLGFBQWEsRUFDYixVQUFVLEVBQ1YsWUFBWSxFQUNaLGFBQWEsRUFDYixXQUFXLEVBQ1gsVUFBVSxFQUNWLGFBQWEsQ0FDZCIsImZpbGUiOiJjb21wb25lbnRzL1Byb0Zvcm0vY29yZS9jb25zdGFudHMuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsImV4cG9ydCBjb25zdCBGT1JNX1NJWkVTID0gWydsYXJnZScsICdzbWFsbCddO1xuZXhwb3J0IGNvbnN0IEZPUk1fTEFZT1VUUyA9IFsndmVydGljYWwnXTtcbmV4cG9ydCBjb25zdCBMQUJFTF9BTElHTlMgPSBbJ2xlZnQnLCAncmlnaHQnXTtcbmV4cG9ydCBjb25zdCBWQUxJREFURV9TVEFUVVNFUyA9IFsnc3VjY2VzcycsICd3YXJuaW5nJywgJ2Vycm9yJywgJ3ZhbGlkYXRpbmcnXTtcbmV4cG9ydCBjb25zdCBWQUxJREFURV9UUklHR0VSUyA9IFsnb25DaGFuZ2UnLCAnb25CbHVyJ107XG4vLyBSdWxlQ29udGV4dCBpbnN0YW5jZSBtZW1iZXJzLCBzcGxpdCBieSBzYWZldHk6IFJFQUQgbWVtYmVycyBhcmUgYXZhaWxhYmxlXG4vLyBpbiBFVkVSWSBydWxlIHJlc29sdXRpb24gKGluY2x1ZGluZyByZW5kZXItcGhhc2UgcmVxdWlyZWQtbWFyayBjaGVja3MpO1xuLy8gTVVUQVRPUiBtZW1iZXJzIGFyZSBoYW5kZWQgb3V0IG9ubHkgZHVyaW5nIHZhbGlkYXRpb24tdGltZSByZXNvbHV0aW9ucy5cbi8vIHVzZUZvcm1JdGVtIChyZW5kZXJTYWZlSW5zdGFuY2UpIGFuZCB0aGUgY29udHJhY3QgdGVzdHMgZGVyaXZlIGZyb20gdGhlc2UuXG5leHBvcnQgY29uc3QgUlVMRV9DT05URVhUX1JFQURfTUVNQkVSUyA9IFtcbiAgICAnZ2V0RmllbGRFcnJvcicsXG4gICAgJ2dldEZpZWxkV2FybmluZycsXG4gICAgJ2lzRmllbGRUb3VjaGVkJyxcbiAgICAnaXNGaWVsZFZhbGlkYXRpbmcnLFxuXTtcbmV4cG9ydCBjb25zdCBSVUxFX0NPTlRFWFRfTVVUQVRPUl9NRU1CRVJTID0gW1xuICAgICdzZXRGaWVsZFZhbHVlJyxcbiAgICAnc2V0RmllbGRzVmFsdWUnLFxuICAgICdyZXNldEZpZWxkcycsXG5dO1xuLy8gTGFiZWwgdHlwb2dyYXBoeSBwYWlycyB3aXRoIHRoZSBmaWVsZCBjb250cm9sJ3MgdGV4dCBzaXplIGZvciBlYWNoIGZvcm1cbi8vIHNpemU6IGxhcmdlIGNvbnRyb2wgdGV4dCBpcyBib2R5L2xnICgxNnB4KSDihpIgbGFiZWwgbGc7IHNtYWxsIGlzIGJvZHkvbWRcbi8vICgxNHB4KSDihpIgbGFiZWwgbWQuXG5leHBvcnQgY29uc3QgRk9STV9MQUJFTF9TSVpFUyA9IHtcbiAgICBsYXJnZTogJ2xnJyxcbiAgICBzbWFsbDogJ21kJyxcbn07XG5leHBvcnQgY29uc3QgRk9STV9MQUJFTF9DT0xPUiA9ICdkZWZhdWx0JztcbmV4cG9ydCBjb25zdCBGT1JNX0VSUk9SX1NJWkUgPSAnc20nO1xuZXhwb3J0IGNvbnN0IEZPUk1fRVJST1JfQ09MT1IgPSAnZGFuZ2VyJztcbmV4cG9ydCBjb25zdCBGT1JNX1dBUk5JTkdfU0laRSA9ICdzbSc7XG5leHBvcnQgY29uc3QgRk9STV9XQVJOSU5HX0NPTE9SID0gJ3dhcm5pbmcnO1xuZXhwb3J0IGNvbnN0IEZPUk1fREVTQ1JJUFRJT05fU0laRSA9ICdtZCc7XG5leHBvcnQgY29uc3QgRk9STV9ERVNDUklQVElPTl9DT0xPUiA9ICdkZWZhdWx0LXRlcnRpYXJ5JztcbmV4cG9ydCBjb25zdCBGT1JNX0ZFRURCQUNLX1NJWkUgPSAnc20nO1xuZXhwb3J0IGNvbnN0IEZPUk1fRkVFREJBQ0tfQ09MT1IgPSAnZGVmYXVsdC10ZXJ0aWFyeSc7XG5leHBvcnQgY29uc3QgRk9STV9DT01QT05FTlRfTkFNRVMgPSBbXG4gICAgJ0lucHV0JyxcbiAgICAnSW5wdXROdW1iZXInLFxuICAgICdJbnB1dFBhc3N3b3JkJyxcbiAgICAnSW5wdXRUZXh0QXJlYScsXG4gICAgJ0lucHV0U2VhcmNoJyxcbiAgICAnSW5wdXRPVFAnLFxuICAgICdJbnB1dFRyYWRlJyxcbiAgICAnSW5wdXRBbW91bnQnLFxuICAgICdJbnB1dE1hc2snLFxuICAgICdTZWxlY3QnLFxuICAgICdCYXNlU2VsZWN0JyxcbiAgICAnRGF0ZVBpY2tlcicsXG4gICAgJ1RpbWVQaWNrZXInLFxuICAgICdDYWxlbmRhcicsXG4gICAgJ0NoZWNrYm94JyxcbiAgICAnQ2hlY2tib3hHcm91cCcsXG4gICAgJ1JhZGlvJyxcbiAgICAnUmFkaW9Hcm91cCcsXG4gICAgJ1N3aXRjaCcsXG4gICAgJ1NsaWRlcicsXG4gICAgJ1RleHRBcmVhJyxcbl07XG4vKipcbiAqIEZvcm0gY29udHJvbHMgdGhhdCBkZWNsYXJlIGEgYHNpemVgIHByb3AgYWNjZXB0aW5nIGAnbGFyZ2UnIHwgJ3NtYWxsJ2AuXG4gKiBgaW5qZWN0RmllbGRgIGNhc2NhZGVzIHRoZSBmb3JtLWxldmVsIGBzaXplYCBpbnRvIHRoZXNlIGFzIGEgREVGQVVMVCDigJQgYW5cbiAqIGV4cGxpY2l0IGZpZWxkLWxldmVsIGBzaXplYCAob3duIHByb3Agb3IgdmlhIGBmaWVsZFByb3BzYCkgd2lucy4gQ29udHJvbHNcbiAqIHdpdGhvdXQgYSBzaXplIHByb3AgKENoZWNrYm94LCBTd2l0Y2gsIFNsaWRlciwg4oCmKSBtdXN0IHN0YXkgb2ZmIHRoaXMgbGlzdDpcbiAqIGFuIHVua25vd24gYHNpemVgIHByb3AgY291bGQgbGVhayBvbnRvIHRoZSBET00gZWxlbWVudC5cbiAqL1xuZXhwb3J0IGNvbnN0IFNJWkVfQVdBUkVfQ09NUE9ORU5UX05BTUVTID0gW1xuICAgICdJbnB1dCcsXG4gICAgJ0lucHV0UGFzc3dvcmQnLFxuICAgICdJbnB1dFRleHRBcmVhJyxcbiAgICAnSW5wdXRTZWFyY2gnLFxuICAgICdJbnB1dE9UUCcsXG4gICAgJ0lucHV0QW1vdW50JyxcbiAgICAnSW5wdXRNYXNrJyxcbiAgICAnU2VsZWN0JyxcbiAgICAnQ2FsZW5kYXInLFxuICAgICdSYWRpbycsXG4gICAgJ1JhZGlvR3JvdXAnLFxuXTtcbi8qKlxuICogVGV4dC1saWtlIGZvcm0gY29udHJvbHMgd2hvc2UgZW1wdHkgdmFsdWUgbXVzdCBkZWZhdWx0IHRvICcnIChhIGNvbnRyb2xsZWRcbiAqIHN0cmluZyBpbnB1dCkgcmF0aGVyIHRoYW4gdW5kZWZpbmVkLiBVc2VkIGJ5IGBpbmplY3RGaWVsZGAgdG8gcGljayBhIHNhZmVcbiAqIGZhbGxiYWNrIHZhbHVlLlxuICovXG5leHBvcnQgY29uc3QgVEVYVF9MSUtFX0NPTVBPTkVOVF9OQU1FUyA9IFtcbiAgICAnSW5wdXQnLFxuICAgICdJbnB1dFBhc3N3b3JkJyxcbiAgICAnSW5wdXRUZXh0QXJlYScsXG4gICAgJ0lucHV0U2VhcmNoJyxcbiAgICAnSW5wdXRPVFAnLFxuICAgICdJbnB1dFRyYWRlJyxcbiAgICAnSW5wdXRBbW91bnQnLFxuICAgICdJbnB1dE1hc2snLFxuICAgICdUZXh0QXJlYScsXG4gICAgJ0lucHV0TnVtYmVyJyxcbl07Il0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
@@ -0,0 +1,3 @@
1
+ /** Warn once per key per page load; no-op in production. */
2
+ export declare function devWarnOnce(key: string, message: string): void;
3
+ export default devWarnOnce;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ exports.devWarnOnce = devWarnOnce;
8
+ // ---------------------------------------------------------------------------
9
+ // Development-only warnings (silent in production builds).
10
+ //
11
+ // These exist to surface SILENT behavior divergences from the pre-0.0.76
12
+ // rule contract — misuses that TypeScript cannot (runtime values) or does
13
+ // not (trigger subset semantics) catch at compile time.
14
+ // ---------------------------------------------------------------------------
15
+ var warned = new Set();
16
+ function isProduction() {
17
+ var _a;
18
+ // eslint-disable-next-line no-undef
19
+ return typeof process !== 'undefined' && ((_a = process.env) === null || _a === void 0 ? void 0 : _a.NODE_ENV) === 'production';
20
+ }
21
+ /** Warn once per key per page load; no-op in production. */
22
+ function devWarnOnce(key, message) {
23
+ if (isProduction()) return;
24
+ if (warned.has(key)) return;
25
+ warned.add(key);
26
+ console.warn(message);
27
+ }
28
+ var _default = exports["default"] = devWarnOnce;
29
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2NvcmUvZGV2V2FybmluZy50cyIsImNvbXBvbmVudHMvUHJvRm9ybS9jb3JlL2Rldldhcm5pbmcuanMiXSwibmFtZXMiOlsid2FybmVkIiwiU2V0IiwiaXNQcm9kdWN0aW9uIiwiX2EiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJkZXZXYXJuT25jZSIsImtleSIsIm1lc3NhZ2UiLCJoYXMiLCJhZGQiLCJjb25zb2xlIiwid2FybiIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUEsSUFBTUEsTUFBTSxHQUFHLElBQUlDLEdBQUcsQ0FBQSxDQUFVO0FBRWhDLFNBQVNDLFlBQVlBLENBQUEsRUFBQTtFQ0RqQixJQUFJQyxFQUFFO0VERVI7RUFDQSxPQUFPLE9BQU9DLE9BQU8sS0FBSyxXQUFXLElBQUksQ0FBQSxDQUFBRCxFQUFBLEdBQUFDLE9BQU8sQ0FBQ0MsR0FBRyxNQUFBLElBQUEsSUFBQUYsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLENBQUVHLFFBQVEsTUFBSyxZQUFZO0FBQ2pGO0FBRUE7QUFDTSxTQUFVQyxXQUFXQSxDQUFDQyxHQUFXLEVBQUVDLE9BQWUsRUFBQTtFQUN0RCxJQUFJUCxZQUFZLENBQUEsQ0FBRSxFQUFFO0VBQ3BCLElBQUlGLE1BQU0sQ0FBQ1UsR0FBRyxDQUFDRixHQUFHLENBQUMsRUFBRTtFQUNyQlIsTUFBTSxDQUFDVyxHQUFHLENBQUNILEdBQUcsQ0FBQztFQUNmSSxPQUFPLENBQUNDLElBQUksQ0FBQ0osT0FBTyxDQUFDO0FBQ3ZCO0FBQUMsSUFBQUssUUFBQSxHQUFBQyxPQUFBLGNBRWNSLFdBQVciLCJmaWxlIjoiY29tcG9uZW50cy9Qcm9Gb3JtL2NvcmUvZGV2V2FybmluZy5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBEZXZlbG9wbWVudC1vbmx5IHdhcm5pbmdzIChzaWxlbnQgaW4gcHJvZHVjdGlvbiBidWlsZHMpLlxuLy9cbi8vIFRoZXNlIGV4aXN0IHRvIHN1cmZhY2UgU0lMRU5UIGJlaGF2aW9yIGRpdmVyZ2VuY2VzIGZyb20gdGhlIHByZS0wLjAuNzZcbi8vIHJ1bGUgY29udHJhY3Qg4oCUIG1pc3VzZXMgdGhhdCBUeXBlU2NyaXB0IGNhbm5vdCAocnVudGltZSB2YWx1ZXMpIG9yIGRvZXNcbi8vIG5vdCAodHJpZ2dlciBzdWJzZXQgc2VtYW50aWNzKSBjYXRjaCBhdCBjb21waWxlIHRpbWUuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmNvbnN0IHdhcm5lZCA9IG5ldyBTZXQoKTtcbmZ1bmN0aW9uIGlzUHJvZHVjdGlvbigpIHtcbiAgICB2YXIgX2E7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVmXG4gICAgcmV0dXJuIHR5cGVvZiBwcm9jZXNzICE9PSAndW5kZWZpbmVkJyAmJiAoKF9hID0gcHJvY2Vzcy5lbnYpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5OT0RFX0VOVikgPT09ICdwcm9kdWN0aW9uJztcbn1cbi8qKiBXYXJuIG9uY2UgcGVyIGtleSBwZXIgcGFnZSBsb2FkOyBuby1vcCBpbiBwcm9kdWN0aW9uLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRldldhcm5PbmNlKGtleSwgbWVzc2FnZSkge1xuICAgIGlmIChpc1Byb2R1Y3Rpb24oKSlcbiAgICAgICAgcmV0dXJuO1xuICAgIGlmICh3YXJuZWQuaGFzKGtleSkpXG4gICAgICAgIHJldHVybjtcbiAgICB3YXJuZWQuYWRkKGtleSk7XG4gICAgY29uc29sZS53YXJuKG1lc3NhZ2UpO1xufVxuZXhwb3J0IGRlZmF1bHQgZGV2V2Fybk9uY2U7Il0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
@@ -1,7 +1,8 @@
1
+ import type { ReactNode } from 'react';
1
2
  export interface FormStoreState {
2
3
  values: Record<string, unknown>;
3
- errors: Record<string, string>;
4
- warnings: Record<string, string>;
4
+ errors: Record<string, ReactNode>;
5
+ warnings: Record<string, ReactNode>;
5
6
  touched: Record<string, boolean>;
6
7
  validating: Record<string, boolean>;
7
8
  }
@@ -22,3 +23,10 @@ export declare const shallowEqualObjects: (a: Record<string, unknown> | undefine
22
23
  * shallow-equal, so downstream memo/context deps don't churn per render.
23
24
  */
24
25
  export declare function useShallowStable<T extends object | undefined>(value: T): T;
26
+ /**
27
+ * Equality for error/warning content. Strings compare by value; elements get
28
+ * a one-level type/key/props compare so a re-created JSX message (fresh
29
+ * identity every resolution) does not churn the store when its content is
30
+ * unchanged. Deeply nested element children still count as changed.
31
+ */
32
+ export declare function sameValidationNode(a: ReactNode | undefined, b: ReactNode | undefined): boolean;
@@ -4,7 +4,9 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.shallowEqualObjects = exports.shallowEqualArrays = exports.createFormStore = void 0;
7
+ exports.createFormStore = void 0;
8
+ exports.sameValidationNode = sameValidationNode;
9
+ exports.shallowEqualObjects = exports.shallowEqualArrays = void 0;
8
10
  exports.useShallowStable = useShallowStable;
9
11
  exports.useStoreSelector = useStoreSelector;
10
12
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
@@ -107,4 +109,23 @@ function useShallowStable(value) {
107
109
  }
108
110
  return ref.current;
109
111
  }
110
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2NvcmUvZm9ybVN0b3JlLnRzIiwiY29tcG9uZW50cy9Qcm9Gb3JtL2NvcmUvZm9ybVN0b3JlLmpzIl0sIm5hbWVzIjpbIl9yZWFjdCIsInJlcXVpcmUiLCJfdXNlTGF0ZXN0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsImNyZWF0ZUZvcm1TdG9yZSIsImV4cG9ydHMiLCJpbml0aWFsVmFsdWVzIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwic3RhdGUiLCJ2YWx1ZXMiLCJlcnJvcnMiLCJ3YXJuaW5ncyIsInRvdWNoZWQiLCJ2YWxpZGF0aW5nIiwibGlzdGVuZXJzIiwiU2V0IiwiZ2V0U3RhdGUiLCJzZXRTdGF0ZSIsInBhdGNoIiwiT2JqZWN0IiwiYXNzaWduIiwiZm9yRWFjaCIsImxpc3RlbmVyIiwic3Vic2NyaWJlIiwiYWRkIiwidXNlU3RvcmVTZWxlY3RvciIsInN0b3JlIiwic2VsZWN0b3IiLCJpc0VxdWFsIiwiaXMiLCJfdXNlUmVkdWNlciIsInVzZVJlZHVjZXIiLCJjb3VudCIsIl91c2VSZWR1Y2VyMiIsIl9zbGljZWRUb0FycmF5MiIsImZvcmNlUmVuZGVyIiwic2VsZWN0ZWQiLCJsYXRlc3RSZWYiLCJ1c2VMYXRlc3QiLCJ1c2VFZmZlY3QiLCJjaGVja0ZvclVwZGF0ZXMiLCJsYXRlc3QiLCJjdXJyZW50IiwibmV4dCIsInNoYWxsb3dFcXVhbEFycmF5cyIsImEiLCJiIiwiaSIsInNoYWxsb3dFcXVhbE9iamVjdHMiLCJhS2V5cyIsImtleXMiLCJiS2V5cyIsIl9pIiwiX2FLZXlzIiwia2V5IiwidXNlU2hhbGxvd1N0YWJsZSIsInZhbHVlIiwicmVmIiwidXNlUmVmIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsVUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBOEJPLElBQU1H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QUFELEVBQUE7SUFDWixJQUFJLENBQUNqQyxNQUFNLENBQUNVLEVBQUUsQ0FBQ2dCLENBQUMsQ0FBQ1MsR0FBRyxDQUFDLEVBQUVSLENBQUMsQ0FBQ1EsR0FBRyxDQUFDLENBQUMsRUFBRSxPQUFPLEtBQUs7RUFDOUM7RUFDQSxPQUFPLElBQUk7QUFDYixDQUFDO0FBRUQ7QUN6Q0E7QUFDQTtBQUNBO0FBQ0E7QUQyQ00sU0FBVUMsZ0JBQWdCQSxDQUErQkMsS0FBUSxFQUFBO0VBQ3JFLElBQU1DLEdBQUcsR0FBRyxJQUFBQyxhQUFNLEVBQUNGLEtBQUssQ0FBQztFQUN6QixJQUNFLENBQUNSLG1CQUFtQixDQUNsQlMsR0FBRyxDQUFDZixPQUE4QyxFQUNsRGMsS0FBNEMsQ0FDN0MsRUFDRDtJQUNBQyxHQUFHLENBQUNmLE9BQU8sR0FBR2MsS0FBSztFQUNyQjtFQUNBLE9BQU9DLEdBQUcsQ0FBQ2YsT0FBTztBQUNwQiIsImZpbGUiOiJjb21wb25lbnRzL1Byb0Zvcm0vY29yZS9mb3JtU3RvcmUuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsImltcG9ydCB7IHVzZUVmZmVjdCwgdXNlUmVkdWNlciwgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHVzZUxhdGVzdCBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZUxhdGVzdCc7XG5leHBvcnQgY29uc3QgY3JlYXRlRm9ybVN0b3JlID0gKGluaXRpYWxWYWx1ZXMgPSB7fSkgPT4ge1xuICAgIGxldCBzdGF0ZSA9IHtcbiAgICAgICAgdmFsdWVzOiBpbml0aWFsVmFsdWVzLFxuICAgICAgICBlcnJvcnM6IHt9LFxuICAgICAgICB3YXJuaW5nczoge30sXG4gICAgICAgIHRvdWNoZWQ6IHt9LFxuICAgICAgICB2YWxpZGF0aW5nOiB7fSxcbiAgICB9O1xuICAgIGNvbnN0IGxpc3RlbmVycyA9IG5ldyBTZXQoKTtcbiAgICByZXR1cm4ge1xuICAgICAgICBnZXRTdGF0ZTogKCkgPT4gc3RhdGUsXG4gICAgICAgIHNldFN0YXRlOiAocGF0Y2gpID0+IHtcbiAgICAgICAgICAgIHN0YXRlID0gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBzdGF0ZSksIHBhdGNoKTtcbiAgICAgICAgICAgIGxpc3RlbmVycy5mb3JFYWNoKChsaXN0ZW5lcikgPT4gbGlzdGVuZXIoKSk7XG4gICAgICAgIH0sXG4gICAgICAgIHN1YnNjcmliZTogKGxpc3RlbmVyKSA9PiB7XG4gICAgICAgICAgICBsaXN0ZW5lcnMuYWRkKGxpc3RlbmVyKTtcbiAgICAgICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgbGlzdGVuZXJzLmRlbGV0ZShsaXN0ZW5lcik7XG4gICAgICAgICAgICB9O1xuICAgICAgICB9LFxuICAgIH07XG59O1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyB1c2VTdG9yZVNlbGVjdG9yIOKAlCBzdWJzY3JpYmUgdG8gYSBzZWxlY3RlZCBzbGljZSBvZiB0aGUgc3RvcmUuXG4vL1xuLy8gVGhlIGNvbXBvbmVudCByZS1yZW5kZXJzIE9OTFkgd2hlbiBgaXNFcXVhbChwcmV2U2VsZWN0ZWQsIG5leHRTZWxlY3RlZClgIGlzXG4vLyBmYWxzZS4gVGhlIHNlbGVjdG9yL2VxdWFsaXR5L3NlbGVjdGVkIHRyaW8gaXMgcmUtY2FwdHVyZWQgaW4gYSByZWYgb24gZXZlcnlcbi8vIHJlbmRlciwgc28gaW5saW5lIHNlbGVjdG9ycyAoY2xvc2luZyBvdmVyIHRoZSBsYXRlc3QgcHJvcHMpIGFyZSBzYWZlLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5leHBvcnQgZnVuY3Rpb24gdXNlU3RvcmVTZWxlY3RvcihzdG9yZSwgc2VsZWN0b3IsIGlzRXF1YWwgPSBPYmplY3QuaXMpIHtcbiAgICBjb25zdCBbLCBmb3JjZVJlbmRlcl0gPSB1c2VSZWR1Y2VyKChjb3VudCkgPT4gY291bnQgKyAxLCAwKTtcbiAgICBjb25zdCBzZWxlY3RlZCA9IHNlbGVjdG9yKHN0b3JlLmdldFN0YXRlKCkpO1xuICAgIGNvbnN0IGxhdGVzdFJlZiA9IHVzZUxhdGVzdCh7IHNlbGVjdG9yLCBpc0VxdWFsLCBzZWxlY3RlZCB9KTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBjb25zdCBjaGVja0ZvclVwZGF0ZXMgPSAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBsYXRlc3QgPSBsYXRlc3RSZWYuY3VycmVudDtcbiAgICAgICAgICAgIGNvbnN0IG5leHQgPSBsYXRlc3Quc2VsZWN0b3Ioc3RvcmUuZ2V0U3RhdGUoKSk7XG4gICAgICAgICAgICBpZiAoIWxhdGVzdC5pc0VxdWFsKGxhdGVzdC5zZWxlY3RlZCwgbmV4dCkpIHtcbiAgICAgICAgICAgICAgICBmb3JjZVJlbmRlcigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICAvLyBDYXRjaCBjb21taXRzIHRoYXQgbGFuZGVkIGJldHdlZW4gcmVuZGVyIGFuZCBzdWJzY3JpcHRpb24uXG4gICAgICAgIGNoZWNrRm9yVXBkYXRlcygpO1xuICAgICAgICByZXR1cm4gc3RvcmUuc3Vic2NyaWJlKGNoZWNrRm9yVXBkYXRlcyk7XG4gICAgfSwgW3N0b3JlXSk7XG4gICAgcmV0dXJuIHNlbGVjdGVkO1xufVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBFcXVhbGl0eSBoZWxwZXJzIGZvciBtdWx0aS12YWx1ZSBzZWxlY3RvcnMgLyBwcm9wcyBzdGFiaWxpemF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmV4cG9ydCBjb25zdCBzaGFsbG93RXF1YWxBcnJheXMgPSAoYSwgYikgPT4ge1xuICAgIGlmIChhID09PSBiKVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICBpZiAoYS5sZW5ndGggIT09IGIubGVuZ3RoKVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmICghT2JqZWN0LmlzKGFbaV0sIGJbaV0pKVxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbn07XG5leHBvcnQgY29uc3Qgc2hhbGxvd0VxdWFsT2JqZWN0cyA9IChhLCBiKSA9PiB7XG4gICAgaWYgKGEgPT09IGIpXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIGlmICghYSB8fCAhYilcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIGNvbnN0IGFLZXlzID0gT2JqZWN0LmtleXMoYSk7XG4gICAgY29uc3QgYktleXMgPSBPYmplY3Qua2V5cyhiKTtcbiAgICBpZiAoYUtleXMubGVuZ3RoICE9PSBiS2V5cy5sZW5ndGgpXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBhS2V5cykge1xuICAgICAgICBpZiAoIU9iamVjdC5pcyhhW2tleV0sIGJba2V5XSkpXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xufTtcbi8qKlxuICogUmV0dXJuIGEgcmVmZXJlbnRpYWxseS1zdGFibGUgdmVyc2lvbiBvZiBhbiAob2Z0ZW4gaW5saW5lLWxpdGVyYWwpIHByb3BzXG4gKiBvYmplY3Q6IHRoZSBwcmV2aW91cyByZWZlcmVuY2UgaXMga2VwdCB3aGlsZSB0aGUgY29udGVudCBzdGF5c1xuICogc2hhbGxvdy1lcXVhbCwgc28gZG93bnN0cmVhbSBtZW1vL2NvbnRleHQgZGVwcyBkb24ndCBjaHVybiBwZXIgcmVuZGVyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlU2hhbGxvd1N0YWJsZSh2YWx1ZSkge1xuICAgIGNvbnN0IHJlZiA9IHVzZVJlZih2YWx1ZSk7XG4gICAgaWYgKCFzaGFsbG93RXF1YWxPYmplY3RzKHJlZi5jdXJyZW50LCB2YWx1ZSkpIHtcbiAgICAgICAgcmVmLmN1cnJlbnQgPSB2YWx1ZTtcbiAgICB9XG4gICAgcmV0dXJuIHJlZi5jdXJyZW50O1xufSJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
112
+ /**
113
+ * Equality for error/warning content. Strings compare by value; elements get
114
+ * a one-level type/key/props compare so a re-created JSX message (fresh
115
+ * identity every resolution) does not churn the store when its content is
116
+ * unchanged. Deeply nested element children still count as changed.
117
+ */
118
+ function sameValidationNode(a, b) {
119
+ if (Object.is(a, b)) return true;
120
+ if (! /*#__PURE__*/(0, _react.isValidElement)(a) || ! /*#__PURE__*/(0, _react.isValidElement)(b)) return false;
121
+ if (a.type !== b.type || a.key !== b.key) return false;
122
+ var aProps = a.props;
123
+ var bProps = b.props;
124
+ var aKeys = Object.keys(aProps);
125
+ var bKeys = Object.keys(bProps);
126
+ if (aKeys.length !== bKeys.length) return false;
127
+ return aKeys.every(function (key) {
128
+ return Object.is(aProps[key], bProps[key]);
129
+ });
130
+ }
131
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2NvcmUvZm9ybVN0b3JlLnRzIiwiY29tcG9uZW50cy9Qcm9Gb3JtL2NvcmUvZm9ybVN0b3JlLmpzIl0sIm5hbWVzIjpbIl9yZWFjdCIsInJlcXVpcmUiLCJfdXNlTGF0ZXN0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsImNyZWF0ZUZvcm1TdG9yZSIsImV4cG9ydHMiLCJpbml0aWFsVmFsdWVzIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwic3RhdGUiLCJ2YWx1ZXMiLCJlcnJvcnMiLCJ3YXJuaW5ncyIsInRvdWNoZWQiLCJ2YWxpZGF0aW5nIiwibGlzdGVuZXJzIiwiU2V0IiwiZ2V0U3RhdGUiLCJzZXRTdGF0ZSIsInBhdGNoIiwiT2JqZWN0IiwiYXNzaWduIiwiZm9yRWFjaCIsImxpc3RlbmVyIiwic3Vic2NyaWJlIiwiYWRkIiwidXNlU3RvcmVTZWxlY3RvciIsInN0b3JlIiwic2VsZWN0b3IiLCJpc0VxdWFsIiwiaXMiLCJfdXNlUmVkdWNlciIsInVzZVJlZHVjZXIiLCJjb3VudCIsIl91c2VSZWR1Y2VyMiIsIl9zbGljZWRUb0FycmF5MiIsImZvcmNlUmVuZGVyIiwic2VsZWN0ZWQiLCJsYXRlc3RSZWYiLCJ1c2VMYXRlc3QiLCJ1c2VFZmZlY3QiLCJjaGVja0ZvclVwZGF0ZXMiLCJsYXRlc3QiLCJjdXJyZW50IiwibmV4dCIsInNoYWxsb3dFcXVhbEFycmF5cyIsImEiLCJiIiwiaSIsInNoYWxsb3dFcXVhbE9iamVjdHMiLCJhS2V5cyIsImtleXMiLCJiS2V5cyIsIl9pIiwiX2FLZXlzIiwia2V5IiwidXNlU2hhbGxvd1N0YWJsZSIsInZhbHVlIiwicmVmIiwidXNlUmVmIiwic2FtZVZhbGlkYXRpb25Ob2RlIiwiaXNWYWxpZEVsZW1lbnQiLCJ0eXBlIiwiYVByb3BzIiwicHJvcHMiLCJiUHJvcHMiLCJldmVyeSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7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TUFBTSxHQUFHbEIsQ0FBQyxDQUFDaUIsS0FBZ0M7RUFDakQsSUFBTWQsS0FBSyxHQUFHOUIsTUFBTSxDQUFDK0IsSUFBSSxDQUFDWSxNQUFNLENBQUM7RUFDakMsSUFBTVgsS0FBSyxHQUFHaEMsTUFBTSxDQUFDK0IsSUFBSSxDQUFDYyxNQUFNLENBQUM7RUFDakMsSUFBSWYsS0FBSyxDQUFDM0MsTUFBTSxLQUFLNkMsS0FBSyxDQUFDN0MsTUFBTSxFQUFFLE9BQU8sS0FBSztFQUMvQyxPQUFPMkMsS0FBSyxDQUFDZ0IsS0FBSyxDQUFDLFVBQUNYLEdBQUc7SUFBQSxPQUFLbkMsTUFBTSxDQUFDVSxFQUFFLENBQUNpQyxNQUFNLENBQUNSLEdBQUcsQ0FBQyxFQUFFVSxNQUFNLENBQUNWLEdBQUcsQ0FBQyxDQUFDO0VBQUEsRUFBQztBQUNsRSIsImZpbGUiOiJjb21wb25lbnRzL1Byb0Zvcm0vY29yZS9mb3JtU3RvcmUuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsImltcG9ydCB7IGlzVmFsaWRFbGVtZW50LCB1c2VFZmZlY3QsIHVzZVJlZHVjZXIsIHVzZVJlZiB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB1c2VMYXRlc3QgZnJvbSAnQDFtb25leS9ob29rcy91c2VMYXRlc3QnO1xuZXhwb3J0IGNvbnN0IGNyZWF0ZUZvcm1TdG9yZSA9IChpbml0aWFsVmFsdWVzID0ge30pID0+IHtcbiAgICBsZXQgc3RhdGUgPSB7XG4gICAgICAgIHZhbHVlczogaW5pdGlhbFZhbHVlcyxcbiAgICAgICAgZXJyb3JzOiB7fSxcbiAgICAgICAgd2FybmluZ3M6IHt9LFxuICAgICAgICB0b3VjaGVkOiB7fSxcbiAgICAgICAgdmFsaWRhdGluZzoge30sXG4gICAgfTtcbiAgICBjb25zdCBsaXN0ZW5lcnMgPSBuZXcgU2V0KCk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgZ2V0U3RhdGU6ICgpID0+IHN0YXRlLFxuICAgICAgICBzZXRTdGF0ZTogKHBhdGNoKSA9PiB7XG4gICAgICAgICAgICBzdGF0ZSA9IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgc3RhdGUpLCBwYXRjaCk7XG4gICAgICAgICAgICBsaXN0ZW5lcnMuZm9yRWFjaCgobGlzdGVuZXIpID0+IGxpc3RlbmVyKCkpO1xuICAgICAgICB9LFxuICAgICAgICBzdWJzY3JpYmU6IChsaXN0ZW5lcikgPT4ge1xuICAgICAgICAgICAgbGlzdGVuZXJzLmFkZChsaXN0ZW5lcik7XG4gICAgICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgICAgIGxpc3RlbmVycy5kZWxldGUobGlzdGVuZXIpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfSxcbiAgICB9O1xufTtcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gdXNlU3RvcmVTZWxlY3RvciDigJQgc3Vic2NyaWJlIHRvIGEgc2VsZWN0ZWQgc2xpY2Ugb2YgdGhlIHN0b3JlLlxuLy9cbi8vIFRoZSBjb21wb25lbnQgcmUtcmVuZGVycyBPTkxZIHdoZW4gYGlzRXF1YWwocHJldlNlbGVjdGVkLCBuZXh0U2VsZWN0ZWQpYCBpc1xuLy8gZmFsc2UuIFRoZSBzZWxlY3Rvci9lcXVhbGl0eS9zZWxlY3RlZCB0cmlvIGlzIHJlLWNhcHR1cmVkIGluIGEgcmVmIG9uIGV2ZXJ5XG4vLyByZW5kZXIsIHNvIGlubGluZSBzZWxlY3RvcnMgKGNsb3Npbmcgb3ZlciB0aGUgbGF0ZXN0IHByb3BzKSBhcmUgc2FmZS5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZXhwb3J0IGZ1bmN0aW9uIHVzZVN0b3JlU2VsZWN0b3Ioc3RvcmUsIHNlbGVjdG9yLCBpc0VxdWFsID0gT2JqZWN0LmlzKSB7XG4gICAgY29uc3QgWywgZm9yY2VSZW5kZXJdID0gdXNlUmVkdWNlcigoY291bnQpID0+IGNvdW50ICsgMSwgMCk7XG4gICAgY29uc3Qgc2VsZWN0ZWQgPSBzZWxlY3RvcihzdG9yZS5nZXRTdGF0ZSgpKTtcbiAgICBjb25zdCBsYXRlc3RSZWYgPSB1c2VMYXRlc3QoeyBzZWxlY3RvciwgaXNFcXVhbCwgc2VsZWN0ZWQgfSk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3QgY2hlY2tGb3JVcGRhdGVzID0gKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbGF0ZXN0ID0gbGF0ZXN0UmVmLmN1cnJlbnQ7XG4gICAgICAgICAgICBjb25zdCBuZXh0ID0gbGF0ZXN0LnNlbGVjdG9yKHN0b3JlLmdldFN0YXRlKCkpO1xuICAgICAgICAgICAgaWYgKCFsYXRlc3QuaXNFcXVhbChsYXRlc3Quc2VsZWN0ZWQsIG5leHQpKSB7XG4gICAgICAgICAgICAgICAgZm9yY2VSZW5kZXIoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgLy8gQ2F0Y2ggY29tbWl0cyB0aGF0IGxhbmRlZCBiZXR3ZWVuIHJlbmRlciBhbmQgc3Vic2NyaXB0aW9uLlxuICAgICAgICBjaGVja0ZvclVwZGF0ZXMoKTtcbiAgICAgICAgcmV0dXJuIHN0b3JlLnN1YnNjcmliZShjaGVja0ZvclVwZGF0ZXMpO1xuICAgIH0sIFtzdG9yZV0pO1xuICAgIHJldHVybiBzZWxlY3RlZDtcbn1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRXF1YWxpdHkgaGVscGVycyBmb3IgbXVsdGktdmFsdWUgc2VsZWN0b3JzIC8gcHJvcHMgc3RhYmlsaXphdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5leHBvcnQgY29uc3Qgc2hhbGxvd0VxdWFsQXJyYXlzID0gKGEsIGIpID0+IHtcbiAgICBpZiAoYSA9PT0gYilcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgaWYgKGEubGVuZ3RoICE9PSBiLmxlbmd0aClcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAoIU9iamVjdC5pcyhhW2ldLCBiW2ldKSlcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG59O1xuZXhwb3J0IGNvbnN0IHNoYWxsb3dFcXVhbE9iamVjdHMgPSAoYSwgYikgPT4ge1xuICAgIGlmIChhID09PSBiKVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICBpZiAoIWEgfHwgIWIpXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICBjb25zdCBhS2V5cyA9IE9iamVjdC5rZXlzKGEpO1xuICAgIGNvbnN0IGJLZXlzID0gT2JqZWN0LmtleXMoYik7XG4gICAgaWYgKGFLZXlzLmxlbmd0aCAhPT0gYktleXMubGVuZ3RoKVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgZm9yIChjb25zdCBrZXkgb2YgYUtleXMpIHtcbiAgICAgICAgaWYgKCFPYmplY3QuaXMoYVtrZXldLCBiW2tleV0pKVxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbn07XG4vKipcbiAqIFJldHVybiBhIHJlZmVyZW50aWFsbHktc3RhYmxlIHZlcnNpb24gb2YgYW4gKG9mdGVuIGlubGluZS1saXRlcmFsKSBwcm9wc1xuICogb2JqZWN0OiB0aGUgcHJldmlvdXMgcmVmZXJlbmNlIGlzIGtlcHQgd2hpbGUgdGhlIGNvbnRlbnQgc3RheXNcbiAqIHNoYWxsb3ctZXF1YWwsIHNvIGRvd25zdHJlYW0gbWVtby9jb250ZXh0IGRlcHMgZG9uJ3QgY2h1cm4gcGVyIHJlbmRlci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZVNoYWxsb3dTdGFibGUodmFsdWUpIHtcbiAgICBjb25zdCByZWYgPSB1c2VSZWYodmFsdWUpO1xuICAgIGlmICghc2hhbGxvd0VxdWFsT2JqZWN0cyhyZWYuY3VycmVudCwgdmFsdWUpKSB7XG4gICAgICAgIHJlZi5jdXJyZW50ID0gdmFsdWU7XG4gICAgfVxuICAgIHJldHVybiByZWYuY3VycmVudDtcbn1cbi8qKlxuICogRXF1YWxpdHkgZm9yIGVycm9yL3dhcm5pbmcgY29udGVudC4gU3RyaW5ncyBjb21wYXJlIGJ5IHZhbHVlOyBlbGVtZW50cyBnZXRcbiAqIGEgb25lLWxldmVsIHR5cGUva2V5L3Byb3BzIGNvbXBhcmUgc28gYSByZS1jcmVhdGVkIEpTWCBtZXNzYWdlIChmcmVzaFxuICogaWRlbnRpdHkgZXZlcnkgcmVzb2x1dGlvbikgZG9lcyBub3QgY2h1cm4gdGhlIHN0b3JlIHdoZW4gaXRzIGNvbnRlbnQgaXNcbiAqIHVuY2hhbmdlZC4gRGVlcGx5IG5lc3RlZCBlbGVtZW50IGNoaWxkcmVuIHN0aWxsIGNvdW50IGFzIGNoYW5nZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzYW1lVmFsaWRhdGlvbk5vZGUoYSwgYikge1xuICAgIGlmIChPYmplY3QuaXMoYSwgYikpXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIGlmICghaXNWYWxpZEVsZW1lbnQoYSkgfHwgIWlzVmFsaWRFbGVtZW50KGIpKVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgaWYgKGEudHlwZSAhPT0gYi50eXBlIHx8IGEua2V5ICE9PSBiLmtleSlcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIGNvbnN0IGFQcm9wcyA9IGEucHJvcHM7XG4gICAgY29uc3QgYlByb3BzID0gYi5wcm9wcztcbiAgICBjb25zdCBhS2V5cyA9IE9iamVjdC5rZXlzKGFQcm9wcyk7XG4gICAgY29uc3QgYktleXMgPSBPYmplY3Qua2V5cyhiUHJvcHMpO1xuICAgIGlmIChhS2V5cy5sZW5ndGggIT09IGJLZXlzLmxlbmd0aClcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIHJldHVybiBhS2V5cy5ldmVyeSgoa2V5KSA9PiBPYmplY3QuaXMoYVByb3BzW2tleV0sIGJQcm9wc1trZXldKSk7XG59Il0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==