@1money/component-ui 0.0.90-alpha.2 → 0.0.90-alpha.20

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 (74) hide show
  1. package/es/business/Dialog/BaseDialog/BaseDialog.js +23 -20
  2. package/es/business/Dialog/BaseDialog/interface.d.ts +6 -0
  3. package/es/business/Dialog/BaseDialog/style/BaseDialog.css +11 -1
  4. package/es/business/Dialog/Descriptions/Descriptions.js +15 -7
  5. package/es/business/Dialog/Descriptions/interface.d.ts +14 -0
  6. package/es/business/Dialog/Descriptions/style/Descriptions.css +1 -1
  7. package/es/business/Dialog/DetailsDialog/DetailsDialog.js +14 -7
  8. package/es/business/Dialog/DetailsDialog/interface.d.ts +9 -0
  9. package/es/business/Dialog/DetailsDialog/style/DetailsDialog.css +4 -2
  10. package/es/business/Dialog/FormDialog/FormDialog.d.ts +1 -1
  11. package/es/business/Dialog/FormDialog/FormDialog.js +39 -18
  12. package/es/business/Dialog/FormDialog/interface.d.ts +12 -1
  13. package/es/business/Dialog/FormDialog/style/FormDialog.css +5 -0
  14. package/es/business/Dialog/VerificationDialog/VerificationDialog.js +66 -20
  15. package/es/business/Dialog/VerificationDialog/interface.d.ts +1 -1
  16. package/es/business/Dialog/VerificationDialog/style/VerificationDialog.css +1 -3
  17. package/es/business/Dialog/index.d.ts +1 -0
  18. package/es/business/Dialog/index.js +1 -1
  19. package/es/business/Dialog/variants/LoadingDialog.js +94 -67
  20. package/es/business/Dialog/variants/index.d.ts +1 -1
  21. package/es/business/FieldList/index.js +8 -1
  22. package/es/business/FormPage/FormPage.d.ts +1 -1
  23. package/es/business/FormPage/FormPage.js +12 -7
  24. package/es/business/FormPage/interface.d.ts +11 -0
  25. package/es/business/shared/formCore/useRelayedFormRef.d.ts +16 -0
  26. package/es/business/shared/formCore/useRelayedFormRef.js +43 -0
  27. package/es/components/ActionBar/ActionBar.js +6 -5
  28. package/es/components/ActionBar/interface.d.ts +9 -0
  29. package/es/components/Dialog/Dialog.js +4 -3
  30. package/es/components/Dialog/interface.d.ts +3 -0
  31. package/es/components/Dialog/style/Dialog.css +3 -0
  32. package/es/components/Input/Input/Input.css +1 -1
  33. package/es/components/Input/Input/Input.js +9 -2
  34. package/es/components/Input/interface.d.ts +5 -0
  35. package/es/components/ProForm/ProForm.js +24 -13
  36. package/es/index.css +1 -1
  37. package/lib/business/Dialog/BaseDialog/BaseDialog.js +23 -20
  38. package/lib/business/Dialog/BaseDialog/interface.d.ts +6 -0
  39. package/lib/business/Dialog/BaseDialog/style/BaseDialog.css +11 -1
  40. package/lib/business/Dialog/Descriptions/Descriptions.js +15 -7
  41. package/lib/business/Dialog/Descriptions/interface.d.ts +14 -0
  42. package/lib/business/Dialog/Descriptions/style/Descriptions.css +1 -1
  43. package/lib/business/Dialog/DetailsDialog/DetailsDialog.js +14 -7
  44. package/lib/business/Dialog/DetailsDialog/interface.d.ts +9 -0
  45. package/lib/business/Dialog/DetailsDialog/style/DetailsDialog.css +4 -2
  46. package/lib/business/Dialog/FormDialog/FormDialog.d.ts +1 -1
  47. package/lib/business/Dialog/FormDialog/FormDialog.js +39 -18
  48. package/lib/business/Dialog/FormDialog/interface.d.ts +12 -1
  49. package/lib/business/Dialog/FormDialog/style/FormDialog.css +5 -0
  50. package/lib/business/Dialog/VerificationDialog/VerificationDialog.js +66 -20
  51. package/lib/business/Dialog/VerificationDialog/interface.d.ts +1 -1
  52. package/lib/business/Dialog/VerificationDialog/style/VerificationDialog.css +1 -3
  53. package/lib/business/Dialog/index.d.ts +1 -0
  54. package/lib/business/Dialog/index.js +1 -1
  55. package/lib/business/Dialog/variants/LoadingDialog.js +93 -66
  56. package/lib/business/Dialog/variants/index.d.ts +1 -1
  57. package/lib/business/FieldList/index.js +8 -1
  58. package/lib/business/FormPage/FormPage.d.ts +1 -1
  59. package/lib/business/FormPage/FormPage.js +12 -7
  60. package/lib/business/FormPage/interface.d.ts +11 -0
  61. package/lib/business/shared/formCore/useRelayedFormRef.d.ts +16 -0
  62. package/lib/business/shared/formCore/useRelayedFormRef.js +49 -0
  63. package/lib/components/ActionBar/ActionBar.js +6 -5
  64. package/lib/components/ActionBar/interface.d.ts +9 -0
  65. package/lib/components/Dialog/Dialog.js +4 -3
  66. package/lib/components/Dialog/interface.d.ts +3 -0
  67. package/lib/components/Dialog/style/Dialog.css +3 -0
  68. package/lib/components/Input/Input/Input.css +1 -1
  69. package/lib/components/Input/Input/Input.js +9 -2
  70. package/lib/components/Input/interface.d.ts +5 -0
  71. package/lib/components/ProForm/ProForm.js +27 -16
  72. package/lib/index.css +1 -1
  73. package/package.json +11 -1
  74. package/scripts/mcp-server/index.generated.json +30 -14
@@ -54,6 +54,7 @@ var DialogBase = /*#__PURE__*/forwardRef(function (props, ref) {
54
54
  _props$cancelText = props.cancelText,
55
55
  cancelText = _props$cancelText === void 0 ? DIALOG_DEFAULTS.cancelText : _props$cancelText,
56
56
  rootStyle = props.rootStyle,
57
+ rootClassName = props.rootClassName,
57
58
  wrapperStyle = props.wrapperStyle,
58
59
  bodyStyle = props.bodyStyle,
59
60
  headerStyle = props.headerStyle,
@@ -61,7 +62,7 @@ var DialogBase = /*#__PURE__*/forwardRef(function (props, ref) {
61
62
  footerStyle = props.footerStyle,
62
63
  cancelButtonProps = props.cancelButtonProps,
63
64
  okButtonProps = props.okButtonProps,
64
- rest = __rest(props, ["className", "style", "prefixCls", "open", "size", "maskClosable", "showCloseIcon", "showBackIcon", "fullWidth", "fixed", "bare", "width", "title", "children", "illustration", "media", "closeIcon", "backIcon", "footer", "onOk", "onCancel", "onBack", "okText", "cancelText", "rootStyle", "wrapperStyle", "bodyStyle", "headerStyle", "contentStyle", "footerStyle", "cancelButtonProps", "okButtonProps"]);
65
+ rest = __rest(props, ["className", "style", "prefixCls", "open", "size", "maskClosable", "showCloseIcon", "showBackIcon", "fullWidth", "fixed", "bare", "width", "title", "children", "illustration", "media", "closeIcon", "backIcon", "footer", "onOk", "onCancel", "onBack", "okText", "cancelText", "rootStyle", "rootClassName", "wrapperStyle", "bodyStyle", "headerStyle", "contentStyle", "footerStyle", "cancelButtonProps", "okButtonProps"]);
65
66
  var dialogRef = useRef(null);
66
67
  var titleId = useId();
67
68
  var handleSetDialogRef = useCallback(function (node) {
@@ -143,7 +144,7 @@ var DialogBase = /*#__PURE__*/forwardRef(function (props, ref) {
143
144
  return _jsx(Portal, {
144
145
  children: _jsxs("div", {
145
146
  style: rootStyle,
146
- className: getDialogClassName(prefixCls, DIALOG_SLOT.root),
147
+ className: [getDialogClassName(prefixCls, DIALOG_SLOT.root), rootClassName].filter(Boolean).join(' '),
147
148
  children: [_jsx("div", {
148
149
  "aria-hidden": "true",
149
150
  className: getDialogClassName(prefixCls, DIALOG_SLOT.overlay),
@@ -191,4 +192,4 @@ DialogBase.displayName = 'Dialog';
191
192
  export var Dialog = /*#__PURE__*/memo(DialogBase);
192
193
  Dialog.displayName = 'Dialog';
193
194
  export default Dialog;
194
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvRGlhbG9nL0RpYWxvZy5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZy50c3giXSwibmFtZXMiOlsiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwidXNlRXZlbnRDYWxsYmFjayIsImZvcndhcmRSZWYiLCJtZW1vIiwidXNlQ2FsbGJhY2siLCJ1c2VJZCIsInVzZVJlZiIsIlBvcnRhbCIsImZpbGxSZWYiLCJnZXREaWFsb2dDbGFzc05hbWUiLCJnZXREaWFsb2dQYW5lbENsYXNzTmFtZSIsIkRJQUxPR19BQ1RJT05fS0lORCIsIkRJQUxPR19DT05UUk9MX1RZUEUiLCJESUFMT0dfREVGQVVMVF9QUkVGSVgiLCJESUFMT0dfREVGQVVMVFMiLCJESUFMT0dfU0laRSIsIkRJQUxPR19TTE9UIiwiRGlhbG9nSGVhZGluZyIsImhhc0RpYWxvZ0hlYWRpbmdDb250ZW50IiwicmVuZGVyRGlhbG9nQm9keUNvbnRlbnQiLCJyZW5kZXJEaWFsb2dBY3Rpb25CdXR0b24iLCJyZW5kZXJEaWFsb2dDb250cm9sQnV0dG9uIiwicmVzb2x2ZURpYWxvZ0Zvb3RlciIsInVzZUJvZHlTY3JvbGxMb2NrIiwidXNlRGlhbG9nRm9jdXMiLCJ1c2VFc2NhcGVDbG9zZSIsIkRpYWxvZ0Jhc2UiLCJwcm9wcyIsInJlZiIsImNsYXNzTmFtZSIsInN0eWxlIiwiX3Byb3BzJHByZWZpeENscyIsInByZWZpeENscyIsIl9wcm9wcyRvcGVuIiwib3BlbiIsIl9wcm9wcyRzaXplIiwic2l6ZSIsInNtYWxsIiwiX3Byb3BzJG1hc2tDbG9zYWJsZSIsIm1hc2tDbG9zYWJsZSIsIl9wcm9wcyRzaG93Q2xvc2VJY29uIiwic2hvd0Nsb3NlSWNvbiIsIl9wcm9wcyRzaG93QmFja0ljb24iLCJzaG93QmFja0ljb24iLCJfcHJvcHMkZnVsbFdpZHRoIiwiZnVsbFdpZHRoIiwiX3Byb3BzJGZpeGVkIiwiZml4ZWQiLCJfcHJvcHMkYmFyZSIsImJhcmUiLCJ3aWR0aCIsInRpdGxlIiwiY2hpbGRyZW4iLCJpbGx1c3RyYXRpb24iLCJtZWRpYSIsImNsb3NlSWNvbiIsImJhY2tJY29uIiwiZm9vdGVyIiwib25PayIsIm9uQ2FuY2VsIiwib25CYWNrIiwiX3Byb3BzJG9rVGV4dCIsIm9rVGV4dCIsIl9wcm9wcyRjYW5jZWxUZXh0IiwiY2FuY2VsVGV4dCIsInJvb3RTdHlsZSIsIndyYXBwZXJTdHlsZSIsImJvZHlTdHlsZSIsImhlYWRlclN0eWxlIiwiY29udGVudFN0eWxlIiwiZm9vdGVyU3R5bGUiLCJjYW5jZWxCdXR0b25Qcm9wcyIsIm9rQnV0dG9uUHJvcHMiLCJyZXN0IiwiZGlhbG9nUmVmIiwidGl0bGVJZCIsImhhbmRsZVNldERpYWxvZ1JlZiIsIm5vZGUiLCJjdXJyZW50IiwiaGFuZGxlQ2FuY2VsIiwiaGFuZGxlQmFjayIsImhhbmRsZU92ZXJsYXlDbGljayIsImhhc01lZGlhIiwiY2xvc2VDb250cm9sTm9kZSIsInR5cGUiLCJjbG9zZSIsImljb24iLCJvbkNsaWNrIiwiYmFja0NvbnRyb2xOb2RlIiwiYmFjayIsImhhc0hlYWRpbmciLCJoZWFkaW5nTm9kZSIsImNoaWxkcmVuTm9kZSIsImNhbmNlbEJ1dHRvbiIsImtpbmQiLCJjYW5jZWwiLCJ0ZXh0IiwiYWN0aW9uIiwiYnV0dG9uUHJvcHMiLCJva0J1dHRvbiIsIm9rIiwiZm9vdGVyTm9kZSIsInBhbmVsQ2xhc3NOYW1lIiwiZmlsdGVyIiwiQm9vbGVhbiIsImpvaW4iLCJwYW5lbFN0eWxlIiwiYXNzaWduIiwicm9vdCIsIm92ZXJsYXkiLCJ3cmFwcGVyIiwicm9sZSIsInVuZGVmaW5lZCIsInRhYkluZGV4IiwiaW5uZXIiLCJoZWFkZXIi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QUEsRUFBQSxDQUUzRG9DLGVBQWUsRUFDZnpDLEtBQUssSUFBSTRDLFdBQVc7WUFBQSxDQUFBLENBRXhCLEVBQ0QzRixLQUFBLENBQUEsS0FBQSxFQUFBO2NBQ0U4QixLQUFLLEVBQUVxQyxTQUFTO2NBQ2hCdEMsU0FBUyxFQUFFcEIsa0JBQWtCLENBQUN1QixTQUFTLEVBQUVoQixXQUFXLENBQUNvRyxJQUFJLENBQUM7Y0FBQWhFLFFBQUEsRUFBQSxDQUV6RCxDQUFDTCxLQUFLLElBQUk0QyxXQUFXLEVBQ3JCQyxZQUFZLElBQ1g5RixJQUFBLENBQUEsS0FBQSxFQUFBO2dCQUNFZ0MsS0FBSyxFQUFFdUMsWUFBWTtnQkFDbkJ4QyxTQUFTLEVBQUVwQixrQkFBa0IsQ0FBQ3VCLFNBQVMsRUFBRWhCLFdBQVcsQ0FBQ3FHLE9BQU8sQ0FBQztnQkFBQWpFLFFBQUEsRUFFNUR3QztjQUFZLENBQUEsQ0FFaEI7WUFBQSxDQUFBLENBQ0csRUFDTFMsVUFBVSxJQUNUdkcsSUFBQSxDQUFBLEtBQUEsRUFBQTtjQUNFZ0MsS0FBSyxFQUFFd0MsV0FBVztjQUNsQnpDLFNBQVMsRUFBRXBCLGtCQUFrQixDQUFDdUIsU0FBUyxFQUFFaEIsV0FBVyxDQUFDeUMsTUFBTSxDQUFDO2NBQUFMLFFBQUEsRUFFM0RpRDtZQUFVLENBQUEsQ0FFZDtVQUFBLENBQUEsQ0FFRjtRQUFBLENBQUEsQ0FBQTtNQUNHLENBQUEsQ0FDRjtJQUFBLENBQUE7RUFDRixDQUFBLENBQ0M7QUFFYixDQUFDLENBQUM7QUFFRjNFLFVBQVUsQ0FBQzRGLFdBQVcsR0FBRyxRQUFRO0FBRWpDLE9BQU8sSUFBTUMsTUFBTSxnQkFBR3BILElBQUksQ0FBQ3VCLFVBQVUsQ0FBQztBQUV0QzZGLE1BQU0sQ0FBQ0QsV0FBVyxHQUFHLFFBQVE7QUFFN0IsZUFBZUMsTUFBTSIsImZpbGUiOiJjb21wb25lbnRzL0RpYWxvZy9EaWFsb2cuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19yZXN0ID0gKHRoaXMgJiYgdGhpcy5fX3Jlc3QpIHx8IGZ1bmN0aW9uIChzLCBlKSB7XG4gICAgdmFyIHQgPSB7fTtcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcbiAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XG4gICAgICAgIH1cbiAgICByZXR1cm4gdDtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHVzZUV2ZW50Q2FsbGJhY2sgZnJvbSAnQDFtb25leS9ob29rcy91c2VFdmVudENhbGxiYWNrJztcbmltcG9ydCB7IGZvcndhcmRSZWYsIG1lbW8sIHVzZUNhbGxiYWNrLCB1c2VJZCwgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgUG9ydGFsIH0gZnJvbSAnLi4vUG9ydGFsJztcbmltcG9ydCB7IGZpbGxSZWYgfSBmcm9tICcuLi8uLi91dGlscy9yZWYnO1xuaW1wb3J0IHsgZ2V0RGlhbG9nQ2xhc3NOYW1lLCBnZXREaWFsb2dQYW5lbENsYXNzTmFtZSB9IGZyb20gJy4vY2xhc3NOYW1lJztcbmltcG9ydCB7IERJQUxPR19BQ1RJT05fS0lORCwgRElBTE9HX0NPTlRST0xfVFlQRSwgRElBTE9HX0RFRkFVTFRfUFJFRklYLCBESUFMT0dfREVGQVVMVFMsIERJQUxPR19TSVpFLCBESUFMT0dfU0xPVCwgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBEaWFsb2dIZWFkaW5nLCBoYXNEaWFsb2dIZWFkaW5nQ29udGVudCwgcmVuZGVyRGlhbG9nQm9keUNvbnRlbnQsIH0gZnJvbSAnLi9EaWFsb2dDb250ZW50JztcbmltcG9ydCB7IHJlbmRlckRpYWxvZ0FjdGlvbkJ1dHRvbiwgcmVuZGVyRGlhbG9nQ29udHJvbEJ1dHRvbiwgcmVzb2x2ZURpYWxvZ0Zvb3RlciwgfSBmcm9tICcuL0RpYWxvZ0NvbnRyb2xzJztcbmltcG9ydCB7IHVzZUJvZHlTY3JvbGxMb2NrLCB1c2VEaWFsb2dGb2N1cywgdXNlRXNjYXBlQ2xvc2UgfSBmcm9tICcuL2hvb2tzJztcbmltcG9ydCAnLi9zdHlsZSc7XG5jb25zdCBEaWFsb2dCYXNlID0gZm9yd2FyZFJlZigocHJvcHMsIHJlZikgPT4ge1xuICAgIGNvbnN0IHsgY2xhc3NOYW1lLCBzdHlsZSwgcHJlZml4Q2xzID0gRElBTE9HX0RFRkFVTFRfUFJFRklYLCBvcGVuID0gZmFsc2UsIHNpemUgPSBESUFMT0dfU0laRS5zbWFsbCwgbWFza0Nsb3NhYmxlID0gdHJ1ZSwgc2hvd0Nsb3NlSWNvbiA9IHRydWUsIHNob3dCYWNrSWNvbiA9IGZhbHNlLCBmdWxsV2lkdGggPSBmYWxzZSwgZml4ZWQgPSBmYWxzZSwgYmFyZSA9IGZhbHNlLCB3aWR0aCwgdGl0bGUsIGNoaWxkcmVuLCBpbGx1c3RyYXRpb24sIG1lZGlhLCBjbG9zZUljb24sIGJhY2tJY29uLCBmb290ZXIsIG9uT2ssIG9uQ2FuY2VsLCBvbkJhY2ssIG9rVGV4dCA9IERJQUxPR19ERUZBVUxUUy5va1RleHQsIGNhbmNlbFRleHQgPSBESUFMT0dfREVGQVVMVFMuY2FuY2VsVGV4dCwgcm9vdFN0eWxlLCB3cmFwcGVyU3R5bGUsIGJvZHlTdHlsZSwgaGVhZGVyU3R5bGUsIGNvbnRlbnRTdHlsZSwgZm9vdGVyU3R5bGUsIGNhbmNlbEJ1dHRvblByb3BzLCBva0J1dHRvblByb3BzIH0gPSBwcm9wcywgcmVzdCA9IF9fcmVzdChwcm9wcywgW1wiY2xhc3NOYW1lXCIsIFwic3R5bGVcIiwgXCJwcmVmaXhDbHNcIiwgXCJvcGVuXCIsIFwic2l6ZVwiLCBcIm1hc2tDbG9zYWJsZVwiLCBcInNob3dDbG9zZUljb25cIiwgXCJzaG93QmFja0ljb25cIiwgXCJmdWxsV2lkdGhcIiwgXCJmaXhlZFwiLCBcImJhcmVcIiwgXCJ3aWR0aFwiLCBcInRpdGxlXCIsIFwiY2hpbGRyZW5cIiwgXCJpbGx1c3RyYXRpb25cIiwgXCJtZWRpYVwiLCBcImNsb3NlSWNvblwiLCBcImJhY2tJY29uXCIsIFwiZm9vdGVyXCIsIFwib25Pa1wiLCBcIm9uQ2FuY2VsXCIsIFwib25CYWNrXCIsIFwib2tUZXh0XCIsIFwiY2FuY2VsVGV4dFwiLCBcInJvb3RTdHlsZVwiLCBcIndyYXBwZXJTdHlsZVwiLCBcImJvZHlTdHlsZVwiLCBcImhlYWRlclN0eWxlXCIsIFwiY29udGVudFN0eWxlXCIsIFwiZm9vdGVyU3R5bGVcIiwgXCJjYW5jZWxCdXR0b25Qcm9wc1wiLCBcIm9rQnV0dG9uUHJvcHNcIl0pO1xuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCB0aXRsZUlkID0gdXNlSWQoKTtcbiAgICBjb25zdCBoYW5kbGVTZXREaWFsb2dSZWYgPSB1c2VDYWxsYmFjaygobm9kZSkgPT4ge1xuICAgICAgICBkaWFsb2dSZWYuY3VycmVudCA9IG5vZGU7XG4gICAgICAgIGZpbGxSZWYocmVmLCBub2RlKTtcbiAgICB9LCBbcmVmXSk7XG4gICAgY29uc3QgaGFuZGxlQ2FuY2VsID0gdXNlRXZlbnRDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIHZvaWQgKG9uQ2FuY2VsID09PSBudWxsIHx8IG9uQ2FuY2VsID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkNhbmNlbCgpKTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVCYWNrID0gdXNlRXZlbnRDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIHZvaWQgKG9uQmFjayA9PT0gbnVsbCB8fCBvbkJhY2sgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQmFjaygpKTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVPdmVybGF5Q2xpY2sgPSB1c2VFdmVudENhbGxiYWNrKCgpID0+IHtcbiAgICAgICAgaWYgKCFtYXNrQ2xvc2FibGUpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGhhbmRsZUNhbmNlbCgpO1xuICAgIH0pO1xuICAgIHVzZUJvZHlTY3JvbGxMb2NrKG9wZW4pO1xuICAgIHVzZURpYWxvZ0ZvY3VzKG9wZW4sIGRpYWxvZ1JlZik7XG4gICAgdXNlRXNjYXBlQ2xvc2Uob3BlbiwgaGFuZGxlQ2FuY2VsKTtcbiAgICBjb25zdCBoYXNNZWRpYSA9IG1lZGlhICE9IG51bGw7XG4gICAgY29uc3QgY2xvc2VDb250cm9sTm9kZSA9IHNob3dDbG9zZUljb25cbiAgICAgICAgPyByZW5kZXJEaWFsb2dDb250cm9sQnV0dG9uKHtcbiAgICAgICAgICAgIHByZWZpeENscyxcbiAgICAgICAgICAgIHR5cGU6IERJQUxPR19DT05UUk9MX1RZUEUuY2xvc2UsXG4gICAgICAgICAgICBpY29uOiBjbG9zZUljb24sXG4gICAgICAgICAgICBvbkNsaWNrOiBoYW5kbGVDYW5jZWwsXG4gICAgICAgIH0pXG4gICAgICAgIDogbnVsbDtcbiAgICBjb25zdCBiYWNrQ29udHJvbE5vZGUgPSBzaG93QmFja0ljb25cbiAgICAgICAgPyByZW5kZXJEaWFsb2dDb250cm9sQnV0dG9uKHtcbiAgICAgICAgICAgIHByZWZpeENscyxcbiAgICAgICAgICAgIHR5cGU6IERJQUxPR19DT05UUk9MX1RZUEUuYmFjayxcbiAgICAgICAgICAgIGljb246IGJhY2tJY29uLFxuICAgICAgICAgICAgb25DbGljazogaGFuZGxlQmFjayxcbiAgICAgICAgfSlcbiAgICAgICAgOiBudWxsO1xuICAgIGNvbnN0IGhhc0hlYWRpbmcgPSBoYXNEaWFsb2dIZWFkaW5nQ29udGVudCh7IHRpdGxlLCBpbGx1c3RyYXRpb24gfSk7XG4gICAgY29uc3QgaGVhZGluZ05vZGUgPSBoYXNIZWFkaW5nID8gKF9qc3goRGlhbG9nSGVhZGluZywgeyBwcmVmaXhDbHM6IHByZWZpeENscywgdGl0bGVJZDogdGl0bGVJZCwgdGl0bGU6IHRpdGxlLCBpbGx1c3RyYXRpb246IGlsbHVzdHJhdGlvbiB9KSkgOiBudWxsO1xuICAgIGNvbnN0IGNoaWxkcmVuTm9kZSA9IHJlbmRlckRpYWxvZ0JvZHlDb250ZW50KGNoaWxkcmVuKTtcbiAgICBjb25zdCBjYW5jZWxCdXR0b24gPSByZW5kZXJEaWFsb2dBY3Rpb25CdXR0b24oe1xuICAgICAgICBwcmVmaXhDbHMsXG4gICAgICAgIGtpbmQ6IERJQUxPR19BQ1RJT05fS0lORC5jYW5jZWwsXG4gICAgICAgIHRleHQ6IGNhbmNlbFRleHQsXG4gICAgICAgIGFjdGlvbjogb25DYW5jZWwsXG4gICAgICAgIGJ1dHRvblByb3BzOiBjYW5jZWxCdXR0b25Qcm9wcyxcbiAgICB9KTtcbiAgICBjb25zdCBva0J1dHRvbiA9IHJlbmRlckRpYWxvZ0FjdGlvbkJ1dHRvbih7XG4gICAgICAgIHByZWZpeENscyxcbiAgICAgICAga2luZDogRElBTE9HX0FDVElPTl9LSU5ELm9rLFxuICAgICAgICB0ZXh0OiBva1RleHQsXG4gICAgICAgIGFjdGlvbjogb25PayxcbiAgICAgICAgYnV0dG9uUHJvcHM6IG9rQnV0dG9uUHJvcHMsXG4gICAgfSk7XG4gICAgY29uc3QgZm9vdGVyTm9kZSA9IHJlc29sdmVEaWFsb2dGb290ZXIoe1xuICAgICAgICBmb290ZXIsXG4gICAgICAgIGNhbmNlbEJ1dHRvbixcbiAgICAgICAgb2tCdXR0b24sXG4gICAgfSk7XG4gICAgY29uc3QgcGFuZWxDbGFzc05hbWUgPSBbXG4gICAgICAgIGdldERpYWxvZ1BhbmVsQ2xhc3NOYW1lKHtcbiAgICAgICAgICAgIHByZWZpeENscyxcbiAgICAgICAgICAgIHNpemUsXG4gICAgICAgICAgICBmdWxsV2lkdGgsXG4gICAgICAgICAgICBmaXhlZCxcbiAgICAgICAgICAgIGhhc01lZGlhLFxuICAgICAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgICB9KSxcbiAgICAgICAgYmFyZSA/IGdldERpYWxvZ0NsYXNzTmFtZShwcmVmaXhDbHMsICdiYXJlJykgOiAnJyxcbiAgICBdXG4gICAgICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAgICAgLmpvaW4oJyAnKTtcbiAgICAvLyBgd2lkdGhgIGlzIGEgY29udmVuaWVuY2UgdGhhdCBzZXRzIHRoZSBwYW5lbCdzIHdpZHRoIGlubGluZSwgb3ZlcnJpZGluZyB0aGVcbiAgICAvLyBgc2l6ZWAgcHJlc2V0J3MgY2xhc3MtbGV2ZWwgd2lkdGguIEFuIGV4cGxpY2l0IGBzdHlsZS53aWR0aGAgc3RpbGwgd2lucyAoaXQgaXNcbiAgICAvLyBzcHJlYWQgbGFzdCkuIE5vdGU6IGB3aWR0aGAgaXMgbm90IG1lYW50IHRvIGJlIGNvbWJpbmVkIHdpdGggYGZ1bGxXaWR0aGAsIHdob3NlXG4gICAgLy8gYG1heC13aWR0aDogbm9uZWAgLyBgd2lkdGg6IDEwMCVgIHJ1bGVzIGdvdmVybiBzaXppbmcgb24gdGhlaXIgb3duLlxuICAgIGNvbnN0IHBhbmVsU3R5bGUgPSBPYmplY3QuYXNzaWduKHsgd2lkdGggfSwgc3R5bGUpO1xuICAgIGlmICghb3BlbilcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIChfanN4KFBvcnRhbCwgeyBjaGlsZHJlbjogX2pzeHMoXCJkaXZcIiwgeyBzdHlsZTogcm9vdFN0eWxlLCBjbGFzc05hbWU6IGdldERpYWxvZ0NsYXNzTmFtZShwcmVmaXhDbHMsIERJQUxPR19TTE9ULnJvb3QpLCBjaGlsZHJlbjogW19qc3goXCJkaXZcIiwgeyBcImFyaWEtaGlkZGVuXCI6IFwidHJ1ZVwiLCBjbGFzc05hbWU6IGdldERpYWxvZ0NsYXNzTmFtZShwcmVmaXhDbHMsIERJQUxPR19TTE9ULm92ZXJsYXkpLCBvbkNsaWNrOiBoYW5kbGVPdmVybGF5Q2xpY2sgfSksIF9qc3goXCJkaXZcIiwgeyBzdHlsZTogd3JhcHBlclN0eWxlLCBjbGFzc05hbWU6IGdldERpYWxvZ0NsYXNzTmFtZShwcmVmaXhDbHMsIERJQUxPR19TTE9ULndyYXBwZXIpLCBjaGlsZHJlbjogX2pzeHMoXCJkaXZcIiwgT2JqZWN0LmFzc2lnbih7fSwgcmVzdCwgeyByZWY6IGhhbmRsZVNldERpYWxvZ1JlZiwgcm9sZTogXCJkaWFsb2dcIiwgXCJhcmlhLW1vZGFsXCI6IFwidHJ1ZVwiLCBcImFyaWEtbGFiZWxsZWRieVwiOiB0aXRsZSA/IHRpdGxlSWQgOiB1bmRlZmluZWQsIHRhYkluZGV4OiAtMSwgc3R5bGU6IHBhbmVsU3R5bGUsIGNsYXNzTmFtZTogcGFuZWxDbGFzc05hbWUsIGNoaWxkcmVuOiBbY2xvc2VDb250cm9sTm9kZSwgYmFyZSAmJiBjaGlsZHJlbiwgIWJhcmUgJiYgaGFzTWVkaWEgJiYgKF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGdldERpYWxvZ0NsYXNzTmFtZShwcmVmaXhDbHMsIERJQUxPR19TTE9ULm1lZGlhKSwgY2hpbGRyZW46IG1lZGlhIH0pKSwgIWJhcmUgJiYgKF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBnZXREaWFsb2dDbGFzc05hbWUocHJlZml4Q2xzLCBESUFMT0dfU0xPVC5pbm5lciksIGNoaWxkcmVuOiBbKGJhY2tDb250cm9sTm9kZSB8fCAoZml4ZWQgJiYgaGVhZGluZ05vZGUpKSAmJiAoX2pzeHMoXCJkaXZcIiwgeyBzdHlsZTogaGVhZGVyU3R5bGUsIGNsYXNzTmFtZTogZ2V0RGlhbG9nQ2xhc3NOYW1lKHByZWZpeENscywgRElBTE9HX1NMT1QuaGVhZGVyKSwgY2hpbGRyZW46IFtiYWNrQ29udHJvbE5vZGUsIGZpeGVkICYmIGhlYWRpbmdOb2RlXSB9KSksIF9qc3hzKFwiZGl2XCIsIHsgc3R5bGU6IGJvZHlTdHlsZSwgY2xhc3NOYW1lOiBnZXREaWFsb2dDbGFzc05hbWUocHJlZml4Q2xzLCBESUFMT0dfU0xPVC5ib2R5KSwgY2hpbGRyZW46IFshZml4ZWQgJiYgaGVhZGluZ05vZGUsIGNoaWxkcmVuTm9kZSAmJiAoX2pzeChcImRpdlwiLCB7IHN0eWxlOiBjb250ZW50U3R5bGUsIGNsYXNzTmFtZTogZ2V0RGlhbG9nQ2xhc3NOYW1lKHByZWZpeENscywgRElBTE9HX1NMT1QuY29udGVudCksIGNoaWxkcmVuOiBjaGlsZHJlbk5vZGUgfSkpXSB9KSwgZm9vdGVyTm9kZSAmJiAoX2pzeChcImRpdlwiLCB7IHN0eWxlOiBmb290ZXJTdHlsZSwgY2xhc3NOYW1lOiBnZXREaWFsb2dDbGFzc05hbWUocHJlZml4Q2xzLCBESUFMT0dfU0xPVC5mb290ZXIpLCBjaGlsZHJlbjogZm9vdGVyTm9kZSB9KSldIH0pKV0gfSkpIH0pXSB9KSB9KSk7XG59KTtcbkRpYWxvZ0Jhc2UuZGlzcGxheU5hbWUgPSAnRGlhbG9nJztcbmV4cG9ydCBjb25zdCBEaWFsb2cgPSBtZW1vKERpYWxvZ0Jhc2UpO1xuRGlhbG9nLmRpc3BsYXlOYW1lID0gJ0RpYWxvZyc7XG5leHBvcnQgZGVmYXVsdCBEaWFsb2c7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
195
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvRGlhbG9nL0RpYWxvZy5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZy50c3giXSwibmFtZXMiOlsiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwidXNlRXZlbnRDYWxsYmFjayIsImZvcndhcmRSZWYiLCJtZW1vIiwidXNlQ2FsbGJhY2siLCJ1c2VJZCIsInVzZVJlZiIsIlBvcnRhbCIsImZpbGxSZWYiLCJnZXREaWFsb2dDbGFzc05hbWUiLCJnZXREaWFsb2dQYW5lbENsYXNzTmFtZSIsIkRJQUxPR19BQ1RJT05fS0lORCIsIkRJQUxPR19DT05UUk9MX1RZUEUiLCJESUFMT0dfREVGQVVMVF9QUkVGSVgiLCJESUFMT0dfREVGQVVMVFMiLCJESUFMT0dfU0laRSIsIkRJQUxPR19TTE9UIiwiRGlhbG9nSGVhZGluZyIsImhhc0RpYWxvZ0hlYWRpbmdDb250ZW50IiwicmVuZGVyRGlhbG9nQm9keUNvbnRlbnQiLCJyZW5kZXJEaWFsb2dBY3Rpb25CdXR0b24iLCJyZW5kZXJEaWFsb2dDb250cm9sQnV0dG9uIiwicmVzb2x2ZURpYWxvZ0Zvb3RlciIsInVzZUJvZHlTY3JvbGxMb2NrIiwidXNlRGlhbG9nRm9jdXMiLCJ1c2VFc2NhcGVDbG9zZSIsIkRpYWxvZ0Jhc2UiLCJwcm9wcyIsInJlZiIsImNsYXNzTmFtZSIsInN0eWxlIiwiX3Byb3BzJHByZWZpeENscyIsInByZWZpeENscyIsIl9wcm9wcyRvcGVuIiwib3BlbiIsIl9wcm9wcyRzaXplIiwic2l6ZSIsInNtYWxsIiwiX3Byb3BzJG1hc2tDbG9zYWJsZSIsIm1hc2tDbG9zYWJsZSIsIl9wcm9wcyRzaG93Q2xvc2VJY29uIiwic2hvd0Nsb3NlSWNvbiIsIl9wcm9wcyRzaG93QmFja0ljb24iLCJzaG93QmFja0ljb24iLCJfcHJvcHMkZnVsbFdpZHRoIiwiZnVsbFdpZHRoIiwiX3Byb3BzJGZpeGVkIiwiZml4ZWQiLCJfcHJvcHMkYmFyZSIsImJhcmUiLCJ3aWR0aCIsInRpdGxlIiwiY2hpbGRyZW4iLCJpbGx1c3RyYXRpb24iLCJtZWRpYSIsImNsb3NlSWNvbiIsImJhY2tJY29uIiwiZm9vdGVyIiwib25PayIsIm9uQ2FuY2VsIiwib25CYWNrIiwiX3Byb3BzJG9rVGV4dCIsIm9rVGV4dCIsIl9wcm9wcyRjYW5jZWxUZXh0IiwiY2FuY2VsVGV4dCIsInJvb3RTdHlsZSIsInJvb3RDbGFzc05hbWUiLCJ3cmFwcGVyU3R5bGUiLCJib2R5U3R5bGUiLCJoZWFkZXJTdHlsZSIsImNvbnRlbnRTdHlsZSIsImZvb3RlclN0eWxlIiwiY2FuY2VsQnV0dG9uUHJvcHMiLCJva0J1dHRvblByb3BzIiwicmVzdCIsImRpYWxvZ1JlZiIsInRpdGxlSWQiLCJoYW5kbGVTZXREaWFsb2dSZWYiLCJub2RlIiwiY3VycmVudCIsImhhbmRsZUNhbmNlbCIsImhhbmRsZUJhY2siLCJoYW5kbGVPdmVybGF5Q2xpY2siLCJoYXNNZWRpYSIsImNsb3NlQ29udHJvbE5vZGUiLCJ0eXBlIiwiY2xvc2UiLCJpY29uIiwib25DbGljayIsImJhY2tDb250cm9sTm9kZSIsImJhY2siLCJoYXNIZWFkaW5nIiwiaGVhZGluZ05vZGUiLCJjaGlsZHJlbk5vZGUiLCJjYW5jZWxCdXR0b24iLCJraW5kIiwiY2FuY2VsIiwidGV4dCIsImFjdGlvbiIsImJ1dHRvblByb3BzIiwib2tCdXR0b24iLCJvayIsImZvb3Rlck5vZGUiLCJwYW5lbENsYXNzTmFtZSIsImZpbHRlciIsIkJvb2xlYW4iLCJqb2luIiwicGFuZWxTdHlsZSIsImFzc2lnbiIsInJvb3QiLCJvdmVybGF5Iiwid3JhcHBlciIsInJvbGUiLCJ1bmRlZmluZWQiLCJ0YWJJbmRleCIs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QUNELFdBQVcsR0FBRyxRQUFRO0FBRTdCLGVBQWVDLE1BQU0iLCJmaWxlIjoiY29tcG9uZW50cy9EaWFsb2cvRGlhbG9nLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB1c2VFdmVudENhbGxiYWNrIGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlRXZlbnRDYWxsYmFjayc7XG5pbXBvcnQgeyBmb3J3YXJkUmVmLCBtZW1vLCB1c2VDYWxsYmFjaywgdXNlSWQsIHVzZVJlZiB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFBvcnRhbCB9IGZyb20gJy4uL1BvcnRhbCc7XG5pbXBvcnQgeyBmaWxsUmVmIH0gZnJvbSAnLi4vLi4vdXRpbHMvcmVmJztcbmltcG9ydCB7IGdldERpYWxvZ0NsYXNzTmFtZSwgZ2V0RGlhbG9nUGFuZWxDbGFzc05hbWUgfSBmcm9tICcuL2NsYXNzTmFtZSc7XG5pbXBvcnQgeyBESUFMT0dfQUNUSU9OX0tJTkQsIERJQUxPR19DT05UUk9MX1RZUEUsIERJQUxPR19ERUZBVUxUX1BSRUZJWCwgRElBTE9HX0RFRkFVTFRTLCBESUFMT0dfU0laRSwgRElBTE9HX1NMT1QsIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgRGlhbG9nSGVhZGluZywgaGFzRGlhbG9nSGVhZGluZ0NvbnRlbnQsIHJlbmRlckRpYWxvZ0JvZHlDb250ZW50LCB9IGZyb20gJy4vRGlhbG9nQ29udGVudCc7XG5pbXBvcnQgeyByZW5kZXJEaWFsb2dBY3Rpb25CdXR0b24sIHJlbmRlckRpYWxvZ0NvbnRyb2xCdXR0b24sIHJlc29sdmVEaWFsb2dGb290ZXIsIH0gZnJvbSAnLi9EaWFsb2dDb250cm9scyc7XG5pbXBvcnQgeyB1c2VCb2R5U2Nyb2xsTG9jaywgdXNlRGlhbG9nRm9jdXMsIHVzZUVzY2FwZUNsb3NlIH0gZnJvbSAnLi9ob29rcyc7XG5pbXBvcnQgJy4vc3R5bGUnO1xuY29uc3QgRGlhbG9nQmFzZSA9IGZvcndhcmRSZWYoKHByb3BzLCByZWYpID0+IHtcbiAgICBjb25zdCB7IGNsYXNzTmFtZSwgc3R5bGUsIHByZWZpeENscyA9IERJQUxPR19ERUZBVUxUX1BSRUZJWCwgb3BlbiA9IGZhbHNlLCBzaXplID0gRElBTE9HX1NJWkUuc21hbGwsIG1hc2tDbG9zYWJsZSA9IHRydWUsIHNob3dDbG9zZUljb24gPSB0cnVlLCBzaG93QmFja0ljb24gPSBmYWxzZSwgZnVsbFdpZHRoID0gZmFsc2UsIGZpeGVkID0gZmFsc2UsIGJhcmUgPSBmYWxzZSwgd2lkdGgsIHRpdGxlLCBjaGlsZHJlbiwgaWxsdXN0cmF0aW9uLCBtZWRpYSwgY2xvc2VJY29uLCBiYWNrSWNvbiwgZm9vdGVyLCBvbk9rLCBvbkNhbmNlbCwgb25CYWNrLCBva1RleHQgPSBESUFMT0dfREVGQVVMVFMub2tUZXh0LCBjYW5jZWxUZXh0ID0gRElBTE9HX0RFRkFVTFRTLmNhbmNlbFRleHQsIHJvb3RTdHlsZSwgcm9vdENsYXNzTmFtZSwgd3JhcHBlclN0eWxlLCBib2R5U3R5bGUsIGhlYWRlclN0eWxlLCBjb250ZW50U3R5bGUsIGZvb3RlclN0eWxlLCBjYW5jZWxCdXR0b25Qcm9wcywgb2tCdXR0b25Qcm9wcyB9ID0gcHJvcHMsIHJlc3QgPSBfX3Jlc3QocHJvcHMsIFtcImNsYXNzTmFtZVwiLCBcInN0eWxlXCIsIFwicHJlZml4Q2xzXCIsIFwib3BlblwiLCBcInNpemVcIiwgXCJtYXNrQ2xvc2FibGVcIiwgXCJzaG93Q2xvc2VJY29uXCIsIFwic2hvd0JhY2tJY29uXCIsIFwiZnVsbFdpZHRoXCIsIFwiZml4ZWRcIiwgXCJiYXJlXCIsIFwid2lkdGhcIiwgXCJ0aXRsZVwiLCBcImNoaWxkcmVuXCIsIFwiaWxsdXN0cmF0aW9uXCIsIFwibWVkaWFcIiwgXCJjbG9zZUljb25cIiwgXCJiYWNrSWNvblwiLCBcImZvb3RlclwiLCBcIm9uT2tcIiwgXCJvbkNhbmNlbFwiLCBcIm9uQmFja1wiLCBcIm9rVGV4dFwiLCBcImNhbmNlbFRleHRcIiwgXCJyb290U3R5bGVcIiwgXCJyb290Q2xhc3NOYW1lXCIsIFwid3JhcHBlclN0eWxlXCIsIFwiYm9keVN0eWxlXCIsIFwiaGVhZGVyU3R5bGVcIiwgXCJjb250ZW50U3R5bGVcIiwgXCJmb290ZXJTdHlsZVwiLCBcImNhbmNlbEJ1dHRvblByb3BzXCIsIFwib2tCdXR0b25Qcm9wc1wiXSk7XG4gICAgY29uc3QgZGlhbG9nUmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IHRpdGxlSWQgPSB1c2VJZCgpO1xuICAgIGNvbnN0IGhhbmRsZVNldERpYWxvZ1JlZiA9IHVzZUNhbGxiYWNrKChub2RlKSA9PiB7XG4gICAgICAgIGRpYWxvZ1JlZi5jdXJyZW50ID0gbm9kZTtcbiAgICAgICAgZmlsbFJlZihyZWYsIG5vZGUpO1xuICAgIH0sIFtyZWZdKTtcbiAgICBjb25zdCBoYW5kbGVDYW5jZWwgPSB1c2VFdmVudENhbGxiYWNrKCgpID0+IHtcbiAgICAgICAgdm9pZCAob25DYW5jZWwgPT09IG51bGwgfHwgb25DYW5jZWwgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQ2FuY2VsKCkpO1xuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZUJhY2sgPSB1c2VFdmVudENhbGxiYWNrKCgpID0+IHtcbiAgICAgICAgdm9pZCAob25CYWNrID09PSBudWxsIHx8IG9uQmFjayA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25CYWNrKCkpO1xuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZU92ZXJsYXlDbGljayA9IHVzZUV2ZW50Q2FsbGJhY2soKCkgPT4ge1xuICAgICAgICBpZiAoIW1hc2tDbG9zYWJsZSlcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgaGFuZGxlQ2FuY2VsKCk7XG4gICAgfSk7XG4gICAgdXNlQm9keVNjcm9sbExvY2sob3Blbik7XG4gICAgdXNlRGlhbG9nRm9jdXMob3BlbiwgZGlhbG9nUmVmKTtcbiAgICB1c2VFc2NhcGVDbG9zZShvcGVuLCBoYW5kbGVDYW5jZWwpO1xuICAgIGNvbnN0IGhhc01lZGlhID0gbWVkaWEgIT0gbnVsbDtcbiAgICBjb25zdCBjbG9zZUNvbnRyb2xOb2RlID0gc2hvd0Nsb3NlSWNvblxuICAgICAgICA/IHJlbmRlckRpYWxvZ0NvbnRyb2xCdXR0b24oe1xuICAgICAgICAgICAgcHJlZml4Q2xzLFxuICAgICAgICAgICAgdHlwZTogRElBTE9HX0NPTlRST0xfVFlQRS5jbG9zZSxcbiAgICAgICAgICAgIGljb246IGNsb3NlSWNvbixcbiAgICAgICAgICAgIG9uQ2xpY2s6IGhhbmRsZUNhbmNlbCxcbiAgICAgICAgfSlcbiAgICAgICAgOiBudWxsO1xuICAgIGNvbnN0IGJhY2tDb250cm9sTm9kZSA9IHNob3dCYWNrSWNvblxuICAgICAgICA/IHJlbmRlckRpYWxvZ0NvbnRyb2xCdXR0b24oe1xuICAgICAgICAgICAgcHJlZml4Q2xzLFxuICAgICAgICAgICAgdHlwZTogRElBTE9HX0NPTlRST0xfVFlQRS5iYWNrLFxuICAgICAgICAgICAgaWNvbjogYmFja0ljb24sXG4gICAgICAgICAgICBvbkNsaWNrOiBoYW5kbGVCYWNrLFxuICAgICAgICB9KVxuICAgICAgICA6IG51bGw7XG4gICAgY29uc3QgaGFzSGVhZGluZyA9IGhhc0RpYWxvZ0hlYWRpbmdDb250ZW50KHsgdGl0bGUsIGlsbHVzdHJhdGlvbiB9KTtcbiAgICBjb25zdCBoZWFkaW5nTm9kZSA9IGhhc0hlYWRpbmcgPyAoX2pzeChEaWFsb2dIZWFkaW5nLCB7IHByZWZpeENsczogcHJlZml4Q2xzLCB0aXRsZUlkOiB0aXRsZUlkLCB0aXRsZTogdGl0bGUsIGlsbHVzdHJhdGlvbjogaWxsdXN0cmF0aW9uIH0pKSA6IG51bGw7XG4gICAgY29uc3QgY2hpbGRyZW5Ob2RlID0gcmVuZGVyRGlhbG9nQm9keUNvbnRlbnQoY2hpbGRyZW4pO1xuICAgIGNvbnN0IGNhbmNlbEJ1dHRvbiA9IHJlbmRlckRpYWxvZ0FjdGlvbkJ1dHRvbih7XG4gICAgICAgIHByZWZpeENscyxcbiAgICAgICAga2luZDogRElBTE9HX0FDVElPTl9LSU5ELmNhbmNlbCxcbiAgICAgICAgdGV4dDogY2FuY2VsVGV4dCxcbiAgICAgICAgYWN0aW9uOiBvbkNhbmNlbCxcbiAgICAgICAgYnV0dG9uUHJvcHM6IGNhbmNlbEJ1dHRvblByb3BzLFxuICAgIH0pO1xuICAgIGNvbnN0IG9rQnV0dG9uID0gcmVuZGVyRGlhbG9nQWN0aW9uQnV0dG9uKHtcbiAgICAgICAgcHJlZml4Q2xzLFxuICAgICAgICBraW5kOiBESUFMT0dfQUNUSU9OX0tJTkQub2ssXG4gICAgICAgIHRleHQ6IG9rVGV4dCxcbiAgICAgICAgYWN0aW9uOiBvbk9rLFxuICAgICAgICBidXR0b25Qcm9wczogb2tCdXR0b25Qcm9wcyxcbiAgICB9KTtcbiAgICBjb25zdCBmb290ZXJOb2RlID0gcmVzb2x2ZURpYWxvZ0Zvb3Rlcih7XG4gICAgICAgIGZvb3RlcixcbiAgICAgICAgY2FuY2VsQnV0dG9uLFxuICAgICAgICBva0J1dHRvbixcbiAgICB9KTtcbiAgICBjb25zdCBwYW5lbENsYXNzTmFtZSA9IFtcbiAgICAgICAgZ2V0RGlhbG9nUGFuZWxDbGFzc05hbWUoe1xuICAgICAgICAgICAgcHJlZml4Q2xzLFxuICAgICAgICAgICAgc2l6ZSxcbiAgICAgICAgICAgIGZ1bGxXaWR0aCxcbiAgICAgICAgICAgIGZpeGVkLFxuICAgICAgICAgICAgaGFzTWVkaWEsXG4gICAgICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgIH0pLFxuICAgICAgICBiYXJlID8gZ2V0RGlhbG9nQ2xhc3NOYW1lKHByZWZpeENscywgJ2JhcmUnKSA6ICcnLFxuICAgIF1cbiAgICAgICAgLmZpbHRlcihCb29sZWFuKVxuICAgICAgICAuam9pbignICcpO1xuICAgIC8vIGB3aWR0aGAgaXMgYSBjb252ZW5pZW5jZSB0aGF0IHNldHMgdGhlIHBhbmVsJ3Mgd2lkdGggaW5saW5lLCBvdmVycmlkaW5nIHRoZVxuICAgIC8vIGBzaXplYCBwcmVzZXQncyBjbGFzcy1sZXZlbCB3aWR0aC4gQW4gZXhwbGljaXQgYHN0eWxlLndpZHRoYCBzdGlsbCB3aW5zIChpdCBpc1xuICAgIC8vIHNwcmVhZCBsYXN0KS4gTm90ZTogYHdpZHRoYCBpcyBub3QgbWVhbnQgdG8gYmUgY29tYmluZWQgd2l0aCBgZnVsbFdpZHRoYCwgd2hvc2VcbiAgICAvLyBgbWF4LXdpZHRoOiBub25lYCAvIGB3aWR0aDogMTAwJWAgcnVsZXMgZ292ZXJuIHNpemluZyBvbiB0aGVpciBvd24uXG4gICAgY29uc3QgcGFuZWxTdHlsZSA9IE9iamVjdC5hc3NpZ24oeyB3aWR0aCB9LCBzdHlsZSk7XG4gICAgaWYgKCFvcGVuKVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICByZXR1cm4gKF9qc3goUG9ydGFsLCB7IGNoaWxkcmVuOiBfanN4cyhcImRpdlwiLCB7IHN0eWxlOiByb290U3R5bGUsIGNsYXNzTmFtZTogW2dldERpYWxvZ0NsYXNzTmFtZShwcmVmaXhDbHMsIERJQUxPR19TTE9ULnJvb3QpLCByb290Q2xhc3NOYW1lXVxuICAgICAgICAgICAgICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAgICAgICAgICAgICAuam9pbignICcpLCBjaGlsZHJlbjogW19qc3goXCJkaXZcIiwgeyBcImFyaWEtaGlkZGVuXCI6IFwidHJ1ZVwiLCBjbGFzc05hbWU6IGdldERpYWxvZ0NsYXNzTmFtZShwcmVmaXhDbHMsIERJQUxPR19TTE9ULm92ZXJsYXkpLCBvbkNsaWNrOiBoYW5kbGVPdmVybGF5Q2xpY2sgfSksIF9qc3goXCJkaXZcIiwgeyBzdHlsZTogd3JhcHBlclN0eWxlLCBjbGFzc05hbWU6IGdldERpYWxvZ0NsYXNzTmFtZShwcmVmaXhDbHMsIERJQUxPR19TTE9ULndyYXBwZXIpLCBjaGlsZHJlbjogX2pzeHMoXCJkaXZcIiwgT2JqZWN0LmFzc2lnbih7fSwgcmVzdCwgeyByZWY6IGhhbmRsZVNldERpYWxvZ1JlZiwgcm9sZTogXCJkaWFsb2dcIiwgXCJhcmlhLW1vZGFsXCI6IFwidHJ1ZVwiLCBcImFyaWEtbGFiZWxsZWRieVwiOiB0aXRsZSA/IHRpdGxlSWQgOiB1bmRlZmluZWQsIHRhYkluZGV4OiAtMSwgc3R5bGU6IHBhbmVsU3R5bGUsIGNsYXNzTmFtZTogcGFuZWxDbGFzc05hbWUsIGNoaWxkcmVuOiBbY2xvc2VDb250cm9sTm9kZSwgYmFyZSAmJiBjaGlsZHJlbiwgIWJhcmUgJiYgaGFzTWVkaWEgJiYgKF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGdldERpYWxvZ0NsYXNzTmFtZShwcmVmaXhDbHMsIERJQUxPR19TTE9ULm1lZGlhKSwgY2hpbGRyZW46IG1lZGlhIH0pKSwgIWJhcmUgJiYgKF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBnZXREaWFsb2dDbGFzc05hbWUocHJlZml4Q2xzLCBESUFMT0dfU0xPVC5pbm5lciksIGNoaWxkcmVuOiBbKGJhY2tDb250cm9sTm9kZSB8fCAoZml4ZWQgJiYgaGVhZGluZ05vZGUpKSAmJiAoX2pzeHMoXCJkaXZcIiwgeyBzdHlsZTogaGVhZGVyU3R5bGUsIGNsYXNzTmFtZTogZ2V0RGlhbG9nQ2xhc3NOYW1lKHByZWZpeENscywgRElBTE9HX1NMT1QuaGVhZGVyKSwgY2hpbGRyZW46IFtiYWNrQ29udHJvbE5vZGUsIGZpeGVkICYmIGhlYWRpbmdOb2RlXSB9KSksIF9qc3hzKFwiZGl2XCIsIHsgc3R5bGU6IGJvZHlTdHlsZSwgY2xhc3NOYW1lOiBnZXREaWFsb2dDbGFzc05hbWUocHJlZml4Q2xzLCBESUFMT0dfU0xPVC5ib2R5KSwgY2hpbGRyZW46IFshZml4ZWQgJiYgaGVhZGluZ05vZGUsIGNoaWxkcmVuTm9kZSAmJiAoX2pzeChcImRpdlwiLCB7IHN0eWxlOiBjb250ZW50U3R5bGUsIGNsYXNzTmFtZTogZ2V0RGlhbG9nQ2xhc3NOYW1lKHByZWZpeENscywgRElBTE9HX1NMT1QuY29udGVudCksIGNoaWxkcmVuOiBjaGlsZHJlbk5vZGUgfSkpXSB9KSwgZm9vdGVyTm9kZSAmJiAoX2pzeChcImRpdlwiLCB7IHN0eWxlOiBmb290ZXJTdHlsZSwgY2xhc3NOYW1lOiBnZXREaWFsb2dDbGFzc05hbWUocHJlZml4Q2xzLCBESUFMT0dfU0xPVC5mb290ZXIpLCBjaGlsZHJlbjogZm9vdGVyTm9kZSB9KSldIH0pKV0gfSkpIH0pXSB9KSB9KSk7XG59KTtcbkRpYWxvZ0Jhc2UuZGlzcGxheU5hbWUgPSAnRGlhbG9nJztcbmV4cG9ydCBjb25zdCBEaWFsb2cgPSBtZW1vKERpYWxvZ0Jhc2UpO1xuRGlhbG9nLmRpc3BsYXlOYW1lID0gJ0RpYWxvZyc7XG5leHBvcnQgZGVmYXVsdCBEaWFsb2c7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -34,6 +34,9 @@ export interface DialogProps extends Omit<HTMLAttributes<HTMLDivElement>, 'child
34
34
  okText?: ReactNode;
35
35
  cancelText?: ReactNode;
36
36
  rootStyle?: CSSProperties;
37
+ /** Class for the outermost root (overlay + wrapper) — e.g. to hide the
38
+ * WHOLE dialog, overlay included, during a hand-off to another overlay. */
39
+ rootClassName?: string;
37
40
  wrapperStyle?: CSSProperties;
38
41
  bodyStyle?: CSSProperties;
39
42
  headerStyle?: CSSProperties;
@@ -143,6 +143,9 @@
143
143
  right: 15px;
144
144
  z-index: 1;
145
145
  }
146
+ .om-component-ui-dialog-control-back {
147
+ color: var(--om-icon-default, #131313);
148
+ }
146
149
  .om-component-ui-dialog-body {
147
150
  width: 100%;
148
151
  min-width: 0;
@@ -65,7 +65,7 @@
65
65
  color: var(--om-text-neutral-secondary, #9fa3a3);
66
66
  font-weight: 400;
67
67
  }
68
- .om-component-ui-input-prefix, .om-component-ui-input-suffix {
68
+ .om-component-ui-input-prefix, .om-component-ui-input-suffix, .om-component-ui-input-count {
69
69
  display: inline-flex;
70
70
  flex-shrink: 0;
71
71
  gap: var(--om-spacing-200, 8px);
@@ -64,6 +64,9 @@ var InputBase = function InputBase(props) {
64
64
  allowClear = _inputProps$allowClea === void 0 ? false : _inputProps$allowClea,
65
65
  prefix = inputProps.prefix,
66
66
  suffix = inputProps.suffix,
67
+ _inputProps$showCount = inputProps.showCount,
68
+ showCount = _inputProps$showCount === void 0 ? false : _inputProps$showCount,
69
+ maxLength = inputProps.maxLength,
67
70
  value = inputProps.value,
68
71
  _inputProps$defaultVa = inputProps.defaultValue,
69
72
  defaultValue = _inputProps$defaultVa === void 0 ? '' : _inputProps$defaultVa,
@@ -73,7 +76,7 @@ var InputBase = function InputBase(props) {
73
76
  externalId = inputProps.id,
74
77
  _inputProps$readOnly = inputProps.readOnly,
75
78
  readOnly = _inputProps$readOnly === void 0 ? false : _inputProps$readOnly,
76
- rest = __rest(inputProps, ["className", "labelClassName", "prefixCls", "size", "status", "disabled", "loading", "label", "info", "feedback", "feedbackIcon", "tip", "required", "allowClear", "prefix", "suffix", "value", "defaultValue", "onChange", "onClear", "ref", "id", "readOnly"]);
79
+ rest = __rest(inputProps, ["className", "labelClassName", "prefixCls", "size", "status", "disabled", "loading", "label", "info", "feedback", "feedbackIcon", "tip", "required", "allowClear", "prefix", "suffix", "showCount", "maxLength", "value", "defaultValue", "onChange", "onClear", "ref", "id", "readOnly"]);
77
80
  // Bare-control size default: an explicit `size` wins; inside a FormLayout
78
81
  // the variant's controlSize applies; elsewhere 'large'.
79
82
  var contextSize = useFormControlSize();
@@ -133,6 +136,7 @@ var InputBase = function InputBase(props) {
133
136
  className: classes('prefix'),
134
137
  children: prefix
135
138
  }), _jsx("input", Object.assign({}, rest, {
139
+ maxLength: maxLength,
136
140
  ref: syncRef,
137
141
  id: inputId,
138
142
  className: classes('field'),
@@ -156,6 +160,9 @@ var InputBase = function InputBase(props) {
156
160
  width: 16,
157
161
  height: 16
158
162
  }
163
+ }), showCount && _jsxs("span", {
164
+ className: classes('count'),
165
+ children: [innerValue.length, maxLength != null ? "/".concat(maxLength) : '']
159
166
  }), suffix && _jsx("span", {
160
167
  className: classes('suffix'),
161
168
  children: suffix
@@ -175,4 +182,4 @@ export var Input = Object.assign(MemoizedInput, {
175
182
  Mask: InputMask
176
183
  });
177
184
  export default Input;
178
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvSW5wdXQvSW5wdXQvSW5wdXQuanMiLCJjb21wb25lbnRzL0lucHV0L3NyYy9jb21wb25lbnRzL0lucHV0L0lucHV0L0lucHV0LnRzeCJdLCJuYW1lcyI6WyJfX3Jlc3QiLCJzIiwiZSIsInQiLCJwIiwiT2JqZWN0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaW5kZXhPZiIsImdldE93blByb3BlcnR5U3ltYm9scyIsImkiLCJsZW5ndGgiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJtZW1vIiwidXNlSWQiLCJ1c2VGb3JtQ29udHJvbFNpemUiLCJ1c2VDb250cm9sbGVkU3RhdGUiLCJ1c2VFdmVudENhbGxiYWNrIiwiSWNvbnMiLCJTcGlubmVyIiwiZGVmYXVsdCIsImNsYXNzbmFtZXMiLCJqb2luQ2xzIiwiRmllbGRTaGVsbCIsInVzZVN5bmNSZWYiLCJJbnB1dEFtb3VudCIsIklucHV0T1RQIiwiSW5wdXRQYXNzd29yZCIsIklucHV0U2VhcmNoIiwiSW5wdXRUZXh0QXJlYSIsIklucHV0VHJhZGUiLCJJbnB1dE1hc2siLCJJbnB1dEJhc2UiLCJwcm9wcyIsIl9hIiwibWFzayIsInNsb3RDaGFyIiwidW5tYXNrIiwiYXV0b0NsZWFyIiwib25Db21wbGV0ZSIsImlucHV0UHJvcHMiLCJhc3NpZ24iLCJfaW5wdXRQcm9wcyRjbGFzc05hbWUiLCJjbGFzc05hbWUiLCJsYWJlbENsYXNzTmFtZSIsIl9pbnB1dFByb3BzJHByZWZpeENscyIsInByZWZpeENscyIsInNpemVQcm9wIiwic2l6ZSIsIl9pbnB1dFByb3BzJHN0YXR1cyIsInN0YXR1cyIsIl9pbnB1dFByb3BzJGRpc2FibGVkIiwiZGlzYWJsZWQiLCJfaW5wdXRQcm9wcyRsb2FkaW5nIiwibG9hZGluZyIsImxhYmVsIiwiaW5mbyIsImZlZWRiYWNrIiwiZmVlZGJhY2tJY29uIiwidGlwIiwicmVxdWlyZWQiLCJfaW5wdXRQcm9wcyRhbGxvd0NsZWEiLCJhbGxvd0NsZWFyIiwicHJlZml4Iiwic3VmZml4IiwidmFsdWUiLCJfaW5wdXRQcm9wcyRkZWZhdWx0VmEiLCJkZWZhdWx0VmFsdWUiLCJvbkNoYW5nZSIsIm9uQ2xlYXIiLCJyZWYiLCJleHRlcm5hbElkIiwiaWQiLCJfaW5wdXRQcm9wcyRyZWFkT25seSIsInJlYWRPbmx5IiwicmVzdCIsImNvbnRleHRTaXplIiwiYXV0b0lkIiwiaW5wdXRJZCIsImNsYXNzZXMiLCJfdXNlU3luY1JlZiIsIl91c2VTeW5jUmVmMiIsIl9zbGljZWRUb0FycmF5IiwiaW5wdXRSZWYiLCJzeW5jUmVmIiwiX3VzZUNvbnRyb2xsZWRTdGF0ZSIsIl91c2VDb250cm9sbGVkU3RhdGUyIiwiaW5uZXJWYWx1ZSIsInNldElubmVyVmFsdWUiLCJhcmlhUmVxdWlyZWQiLCJhcmlhSW52YWxpZCIsImhhbmRsZUNoYW5nZSIsImV2ZW50IiwibmV4dFZhbHVlIiwidGFyZ2V0IiwiaGFuZGxlQ29udHJvbENsaWNrIiwiaXNEaXNhYmxlZCIsIkhUTUxJbnB1dEVsZW1lbnQiLCJjdXJyZW50IiwiZm9jdXMiLCJoYW5kbGVDbGVhciIsInNob3dDbGVhckFjdGlvbiIsIm9uQ29udHJvbFdyYXBwZXJDbGljayIsImNoaWxkcmVuIiwidHlwZSIsIm9uQ2xpY2siLCJuYW1lIiwic3R5bGUiLCJ3aWR0aCIsImhlaWdodCIsIk1lbW9pemVkSW5wdXQiLCJkaXNwbGF5TmFtZSIsIklucHV0IiwiUGFzc3dvcmQiLCJTZWFyY2giLCJUZXh0QXJlYSIsIk9UUCIsIlRyYWRlIiwiQW1vdW50IiwiTWFzayJdLCJtYXBwaW5ncyI6IjtBQUFBLElBQUlBLE1BQU0sR0FBSSxJQUFJLElBQUksSUFBSSxDQUFDQSxNQUFNLElBQUssVUFBVUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUU7RUFDbEQsSUFBSUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUNWLEtBQUssSUFBSUMsQ0FBQyxJQUFJSCxDQUFDLEVBQUUsSUFBSUks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VUFBRUMsS0FBSyxFQUFFLEVBQUU7VUFBRUMsTUFBTSxFQUFFO1FBQUU7TUFBRSxDQUFBLENBQUksRUFDeEQ3QyxNQUFNLElBQUl0RCxJQUFBLENBQUEsTUFBQSxFQUFBO1FBQU1pQyxTQUFTLEVBQUVvQyxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQUF3QixRQUFBLEVBQUd2QztNQUFNLENBQUEsQ0FBUTtJQUFBLENBQUE7RUFDMUQsQ0FBQSxDQUNLO0FBRWpCLENBQUM7QUFFRCxJQUFNOEMsYUFBYSxnQkFBR2pHLElBQUksQ0FBQ21CLFNBQVMsQ0FBQztBQUNyQzhFLGFBQWEsQ0FBQ0MsV0FBVyxHQUFHLE9BQU87QUFFbkMsT0FBTyxJQUFNQyxLQUFLLEdBQUdoSCxNQUFNLENBQUN5QyxNQUFNLENBQUNxRSxhQUFhLEVBQUU7RUFDaERHLFFBQVEsRUFBRXRGLGFBQWE7RUFDdkJ1RixNQUFNLEVBQUV0RixXQUFXO0VBQ25CdUYsUUFBUSxFQUFFdEYsYUFBYTtFQUN2QnVGLEdBQUcsRUFBRTFGLFFBQVE7RUFDYjJGLEtBQUssRUFBRXZGLFVBQVU7RUFDakJ3RixNQUFNLEVBQUU3RixXQUFXO0VBQ25COEYsSUFBSSxFQUFFeEY7QURyRlIsQ0NzRkMsQ0FBbUI7QUFFcEIsZUFBZWlGLEtBQUsiLCJmaWxlIjoiY29tcG9uZW50cy9JbnB1dC9JbnB1dC9JbnB1dC5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBtZW1vLCB1c2VJZCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZUZvcm1Db250cm9sU2l6ZSB9IGZyb20gJy4uLy4uL0Zvcm1MYXlvdXQvY29udGV4dCc7XG5pbXBvcnQgdXNlQ29udHJvbGxlZFN0YXRlIGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlQ29udHJvbGxlZFN0YXRlJztcbmltcG9ydCB1c2VFdmVudENhbGxiYWNrIGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlRXZlbnRDYWxsYmFjayc7XG5pbXBvcnQgeyBJY29ucyB9IGZyb20gJy4uLy4uL0ljb25zJztcbmltcG9ydCB7IFNwaW5uZXIgfSBmcm9tICcuLi8uLi9TcGlubmVyJztcbmltcG9ydCB7IGRlZmF1bHQgYXMgY2xhc3NuYW1lcywgam9pbkNscyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgRmllbGRTaGVsbCB9IGZyb20gJy4uL0ZpZWxkU2hlbGwnO1xuaW1wb3J0IHsgdXNlU3luY1JlZiB9IGZyb20gJy4uL3VzZVN5bmNSZWYnO1xuaW1wb3J0IElucHV0QW1vdW50IGZyb20gJy4uL0Ftb3VudCc7XG5pbXBvcnQgSW5wdXRPVFAgZnJvbSAnLi4vT1RQJztcbmltcG9ydCBJbnB1dFBhc3N3b3JkIGZyb20gJy4uL1Bhc3N3b3JkJztcbmltcG9ydCBJbnB1dFNlYXJjaCBmcm9tICcuLi9TZWFyY2gnO1xuaW1wb3J0IElucHV0VGV4dEFyZWEgZnJvbSAnLi4vVGV4dEFyZWEnO1xuaW1wb3J0IElucHV0VHJhZGUgZnJvbSAnLi4vVHJhZGUnO1xuaW1wb3J0IElucHV0TWFzayBmcm9tICcuLi9NYXNrJztcbmNvbnN0IElucHV0QmFzZSA9IChwcm9wcykgPT4ge1xuICAgIHZhciBfYTtcbiAgICBjb25zdCB7IG1hc2ssIHNsb3RDaGFyLCB1bm1hc2ssIGF1dG9DbGVhciwgb25Db21wbGV0ZSB9ID0gcHJvcHMsIGlucHV0UHJvcHMgPSBfX3Jlc3QocHJvcHMsIFtcIm1hc2tcIiwgXCJzbG90Q2hhclwiLCBcInVubWFza1wiLCBcImF1dG9DbGVhclwiLCBcIm9uQ29tcGxldGVcIl0pO1xuICAgIC8vIERlbGVnYXRlIHRvIElucHV0TWFzayB3aGVuIG1hc2sgcGF0dGVybiBpcyBwcm92aWRlZFxuICAgIGlmIChtYXNrKSB7XG4gICAgICAgIHJldHVybiAoX2pzeChJbnB1dE1hc2ssIE9iamVjdC5hc3NpZ24oe30sIGlucHV0UHJvcHMsIHsgbWFzazogbWFzaywgc2xvdENoYXI6IHNsb3RDaGFyLCB1bm1hc2s6IHVubWFzaywgYXV0b0NsZWFyOiBhdXRvQ2xlYXIsIG9uQ29tcGxldGU6IG9uQ29tcGxldGUgfSkpKTtcbiAgICB9XG4gICAgY29uc3QgeyBjbGFzc05hbWUgPSAnJywgbGFiZWxDbGFzc05hbWUsIHByZWZpeENscyA9ICdpbnB1dCcsIHNpemU6IHNpemVQcm9wLCBzdGF0dXMgPSAnZGVmYXVsdCcsIGRpc2FibGVkID0gZmFsc2UsIGxvYWRpbmcgPSBmYWxzZSwgbGFiZWwsIGluZm8sIGZlZWRiYWNrLCBmZWVkYmFja0ljb24sIHRpcCwgcmVxdWlyZWQsIGFsbG93Q2xlYXIgPSBmYWxzZSwgcHJlZml4LCBzdWZmaXgsIHZhbHVlLCBkZWZhdWx0VmFsdWUgPSAnJywgb25DaGFuZ2UsIG9uQ2xlYXIsIHJlZiwgaWQ6IGV4dGVybmFsSWQsIHJlYWRPbmx5ID0gZmFsc2UgfSA9IGlucHV0UHJvcHMsIHJlc3QgPSBfX3Jlc3QoaW5wdXRQcm9wcywgW1wiY2xhc3NOYW1lXCIsIFwibGFiZWxDbGFzc05hbWVcIiwgXCJwcmVmaXhDbHNcIiwgXCJzaXplXCIsIFwic3RhdHVzXCIsIFwiZGlzYWJsZWRcIiwgXCJsb2FkaW5nXCIsIFwibGFiZWxcIiwgXCJpbmZvXCIsIFwiZmVlZGJhY2tcIiwgXCJmZWVkYmFja0ljb25cIiwgXCJ0aXBcIiwgXCJyZXF1aXJlZFwiLCBcImFsbG93Q2xlYXJcIiwgXCJwcmVmaXhcIiwgXCJzdWZmaXhcIiwgXCJ2YWx1ZVwiLCBcImRlZmF1bHRWYWx1ZVwiLCBcIm9uQ2hhbmdlXCIsIFwib25DbGVhclwiLCBcInJlZlwiLCBcImlkXCIsIFwicmVhZE9ubHlcIl0pO1xuICAgIC8vIEJhcmUtY29udHJvbCBzaXplIGRlZmF1bHQ6IGFuIGV4cGxpY2l0IGBzaXplYCB3aW5zOyBpbnNpZGUgYSBGb3JtTGF5b3V0XG4gICAgLy8gdGhlIHZhcmlhbnQncyBjb250cm9sU2l6ZSBhcHBsaWVzOyBlbHNld2hlcmUgJ2xhcmdlJy5cbiAgICBjb25zdCBjb250ZXh0U2l6ZSA9IHVzZUZvcm1Db250cm9sU2l6ZSgpO1xuICAgIGNvbnN0IHNpemUgPSAoX2EgPSBzaXplUHJvcCAhPT0gbnVsbCAmJiBzaXplUHJvcCAhPT0gdm9pZCAwID8gc2l6ZVByb3AgOiBjb250ZXh0U2l6ZSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogJ2xhcmdlJztcbiAgICBjb25zdCBhdXRvSWQgPSB1c2VJZCgpO1xuICAgIGNvbnN0IGlucHV0SWQgPSBleHRlcm5hbElkICE9PSBudWxsICYmIGV4dGVybmFsSWQgIT09IHZvaWQgMCA/IGV4dGVybmFsSWQgOiBhdXRvSWQ7XG4gICAgY29uc3QgY2xhc3NlcyA9IGNsYXNzbmFtZXMocHJlZml4Q2xzKTtcbiAgICBjb25zdCBbaW5wdXRSZWYsIHN5bmNSZWZdID0gdXNlU3luY1JlZihyZWYpO1xuICAgIGNvbnN0IFtpbm5lclZhbHVlLCBzZXRJbm5lclZhbHVlXSA9IHVzZUNvbnRyb2xsZWRTdGF0ZShkZWZhdWx0VmFsdWUsIHZhbHVlKTtcbiAgICBjb25zdCBhcmlhUmVxdWlyZWQgPSByZXF1aXJlZCA/ICd0cnVlJyA6ICdmYWxzZSc7XG4gICAgY29uc3QgYXJpYUludmFsaWQgPSBzdGF0dXMgPT09ICdlcnJvcicgPyAndHJ1ZScgOiAnZmFsc2UnO1xuICAgIGNvbnN0IGhhbmRsZUNoYW5nZSA9IHVzZUV2ZW50Q2FsbGJhY2soKGV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IG5leHRWYWx1ZSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICAgICAgc2V0SW5uZXJWYWx1ZShuZXh0VmFsdWUpO1xuICAgICAgICBvbkNoYW5nZSA9PT0gbnVsbCB8fCBvbkNoYW5nZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25DaGFuZ2UobmV4dFZhbHVlLCBldmVudCk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlQ29udHJvbENsaWNrID0gdXNlRXZlbnRDYWxsYmFjaygoZSkgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGlmIChpc0Rpc2FibGVkIHx8IHJlYWRPbmx5KVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBpZiAoZS50YXJnZXQgaW5zdGFuY2VvZiBIVE1MSW5wdXRFbGVtZW50KVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAoX2EgPSBpbnB1dFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZm9jdXMoKTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVDbGVhciA9IHVzZUV2ZW50Q2FsbGJhY2soKCkgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIHNldElubmVyVmFsdWUoJycpO1xuICAgICAgICAoX2EgPSBpbnB1dFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZm9jdXMoKTtcbiAgICAgICAgb25DbGVhciA9PT0gbnVsbCB8fCBvbkNsZWFyID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkNsZWFyKCk7XG4gICAgfSk7XG4gICAgY29uc3QgaXNEaXNhYmxlZCA9IGRpc2FibGVkIHx8IGxvYWRpbmc7XG4gICAgY29uc3Qgc2hvd0NsZWFyQWN0aW9uID0gYWxsb3dDbGVhciAmJiAhaXNEaXNhYmxlZCAmJiAhcmVhZE9ubHkgJiYgaW5uZXJWYWx1ZS5sZW5ndGggPiAwO1xuICAgIHJldHVybiAoX2pzeChGaWVsZFNoZWxsLCB7IGNsYXNzTmFtZTogY2xhc3NOYW1lLCBsYWJlbENsYXNzTmFtZTogbGFiZWxDbGFzc05hbWUsIHByZWZpeENsczogcHJlZml4Q2xzLCBzaXplOiBzaXplLCBzdGF0dXM6IHN0YXR1cywgZGlzYWJsZWQ6IGlzRGlzYWJsZWQsIGxvYWRpbmc6IGxvYWRpbmcsIHJlYWRPbmx5OiByZWFkT25seSwgbGFiZWw6IGxhYmVsLCBpbmZvOiBpbmZvLCB0aXA6IHRpcCwgZmVlZGJhY2s6IGZlZWRiYWNrLCBmZWVkYmFja0ljb246IGZlZWRiYWNrSWNvbiwgcmVxdWlyZWQ6IHJlcXVpcmVkLCBpbnB1dElkOiBpbnB1dElkLCBvbkNvbnRyb2xXcmFwcGVyQ2xpY2s6IGhhbmRsZUNvbnRyb2xDbGljaywgY2hpbGRyZW46IF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdjb250cm9sJywgam9pbkNscyhpc0Rpc2FibGVkICYmIGNsYXNzZXMoJ2NvbnRyb2wtZGlzYWJsZWQnKSkpLCBjaGlsZHJlbjogW3ByZWZpeCAmJiBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygncHJlZml4JyksIGNoaWxkcmVuOiBwcmVmaXggfSksIF9qc3goXCJpbnB1dFwiLCBPYmplY3QuYXNzaWduKHt9LCByZXN0LCB7IHJlZjogc3luY1JlZiwgaWQ6IGlucHV0SWQsIGNsYXNzTmFtZTogY2xhc3NlcygnZmllbGQnKSwgZGlzYWJsZWQ6IGlzRGlzYWJsZWQsIHJlYWRPbmx5OiByZWFkT25seSwgdmFsdWU6IGlubmVyVmFsdWUsIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsIFwiYXJpYS1yZXF1aXJlZFwiOiBhcmlhUmVxdWlyZWQsIFwiYXJpYS1pbnZhbGlkXCI6IGFyaWFJbnZhbGlkIH0pKSwgc2hvd0NsZWFyQWN0aW9uICYmIChfanN4KFwiYnV0dG9uXCIsIHsgdHlwZTogXCJidXR0b25cIiwgY2xhc3NOYW1lOiBjbGFzc2VzKCdhY3Rpb24nKSwgXCJhcmlhLWxhYmVsXCI6IFwiY2xlYXIgaW5wdXRcIiwgb25DbGljazogaGFuZGxlQ2xlYXIsIGNoaWxkcmVuOiBfanN4KEljb25zLCB7IG5hbWU6IFwiY3Jvc3NcIiwgc2l6ZTogMTYgfSkgfSkpLCBsb2FkaW5nICYmIF9qc3goU3Bpbm5lciwgeyBzdHlsZTogeyB3aWR0aDogMTYsIGhlaWdodDogMTYgfSB9KSwgc3VmZml4ICYmIF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdzdWZmaXgnKSwgY2hpbGRyZW46IHN1ZmZpeCB9KV0gfSkgfSkpO1xufTtcbmNvbnN0IE1lbW9pemVkSW5wdXQgPSBtZW1vKElucHV0QmFzZSk7XG5NZW1vaXplZElucHV0LmRpc3BsYXlOYW1lID0gJ0lucHV0JztcbmV4cG9ydCBjb25zdCBJbnB1dCA9IE9iamVjdC5hc3NpZ24oTWVtb2l6ZWRJbnB1dCwge1xuICAgIFBhc3N3b3JkOiBJbnB1dFBhc3N3b3JkLFxuICAgIFNlYXJjaDogSW5wdXRTZWFyY2gsXG4gICAgVGV4dEFyZWE6IElucHV0VGV4dEFyZWEsXG4gICAgT1RQOiBJbnB1dE9UUCxcbiAgICBUcmFkZTogSW5wdXRUcmFkZSxcbiAgICBBbW91bnQ6IElucHV0QW1vdW50LFxuICAgIE1hc2s6IElucHV0TWFzayxcbn0pO1xuZXhwb3J0IGRlZmF1bHQgSW5wdXQ7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
185
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvSW5wdXQvSW5wdXQvSW5wdXQuanMiLCJjb21wb25lbnRzL0lucHV0L3NyYy9jb21wb25lbnRzL0lucHV0L0lucHV0L0lucHV0LnRzeCJdLCJuYW1lcyI6WyJfX3Jlc3QiLCJzIiwiZSIsInQiLCJwIiwiT2JqZWN0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaW5kZXhPZiIsImdldE93blByb3BlcnR5U3ltYm9scyIsImkiLCJsZW5ndGgiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJtZW1vIiwidXNlSWQiLCJ1c2VGb3JtQ29udHJvbFNpemUiLCJ1c2VDb250cm9sbGVkU3RhdGUiLCJ1c2VFdmVudENhbGxiYWNrIiwiSWNvbnMiLCJTcGlubmVyIiwiZGVmYXVsdCIsImNsYXNzbmFtZXMiLCJqb2luQ2xzIiwiRmllbGRTaGVsbCIsInVzZVN5bmNSZWYiLCJJbnB1dEFtb3VudCIsIklucHV0T1RQIiwiSW5wdXRQYXNzd29yZCIsIklucHV0U2VhcmNoIiwiSW5wdXRUZXh0QXJlYSIsIklucHV0VHJhZGUiLCJJbnB1dE1hc2siLCJJbnB1dEJhc2UiLCJwcm9wcyIsIl9hIiwibWFzayIsInNsb3RDaGFyIiwidW5tYXNrIiwiYXV0b0NsZWFyIiwib25Db21wbGV0ZSIsImlucHV0UHJvcHMiLCJhc3NpZ24iLCJfaW5wdXRQcm9wcyRjbGFzc05hbWUiLCJjbGFzc05hbWUiLCJsYWJlbENsYXNzTmFtZSIsIl9pbnB1dFByb3BzJHByZWZpeENscyIsInByZWZpeENscyIsInNpemVQcm9wIiwic2l6ZSIsIl9pbnB1dFByb3BzJHN0YXR1cyIsInN0YXR1cyIsIl9pbnB1dFByb3BzJGRpc2FibGVkIiwiZGlzYWJsZWQiLCJfaW5wdXRQcm9wcyRsb2FkaW5nIiwibG9hZGluZyIsImxhYmVsIiwiaW5mbyIsImZlZWRiYWNrIiwiZmVlZGJhY2tJY29uIiwidGlwIiwicmVxdWlyZWQiLCJfaW5wdXRQcm9wcyRhbGxvd0NsZWEiLCJhbGxvd0NsZWFyIiwicHJlZml4Iiwic3VmZml4IiwiX2lucHV0UHJvcHMkc2hvd0NvdW50Iiwic2hvd0NvdW50IiwibWF4TGVuZ3RoIiwidmFsdWUiLCJfaW5wdXRQcm9wcyRkZWZhdWx0VmEiLCJkZWZhdWx0VmFsdWUiLCJvbkNoYW5nZSIsIm9uQ2xlYXIiLCJyZWYiLCJleHRlcm5hbElkIiwiaWQiLCJfaW5wdXRQcm9wcyRyZWFkT25seSIsInJlYWRPbmx5IiwicmVzdCIsImNvbnRleHRTaXplIiwiYXV0b0lkIiwiaW5wdXRJZCIsImNsYXNzZXMiLCJfdXNlU3luY1JlZiIsIl91c2VTeW5jUmVmMiIsIl9zbGljZWRUb0FycmF5IiwiaW5wdXRSZWYiLCJzeW5jUmVmIiwiX3VzZUNvbnRyb2xsZWRTdGF0ZSIsIl91c2VDb250cm9sbGVkU3RhdGUyIiwiaW5uZXJWYWx1ZSIsInNldElubmVyVmFsdWUiLCJhcmlhUmVxdWlyZWQiLCJhcmlhSW52YWxpZCIsImhhbmRsZUNoYW5nZSIsImV2ZW50IiwibmV4dFZhbHVlIiwidGFyZ2V0IiwiaGFuZGxlQ29udHJvbENsaWNrIiwiaXNEaXNhYmxlZCIsIkhUTUxJbnB1dEVsZW1lbnQiLCJjdXJyZW50IiwiZm9jdXMiLCJoYW5kbGVDbGVhciIsInNob3dDbGVhckFjdGlvbiIsIm9uQ29udHJvbFdyYXBwZXJDbGljayIsImNoaWxkcmVuIiwidHlwZSIsIm9uQ2xpY2siLCJuYW1lIiwic3R5bGUiLCJ3aWR0aCIsImhlaWdodCIsImNvbmNhdCIsIk1lbW9pemVkSW5wdXQiLCJkaXNwbGF5TmFtZSIsIklucHV0IiwiUGFzc3dvcmQiLCJTZWFyY2giLCJUZXh0QXJlYSIsIk9UUCIsIlRyYWRlIiwiQW1vdW50IiwiTWFzayJdLCJtYXBwaW5ncyI6IjtBQUFBLElBQUlBLE1BQU0sR0FBSSxJQUFJLElBQUksSUFBSSxDQUFDQSxNQUFNLElBQUssVUFBVUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUU7RUFDbEQsSUFBSUMsQ0FBQyxH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QUFFakcsV0FBVztFQUNuQmtHLElBQUksRUFBRTVGO0FEN0ZSLENDOEZDLENBQW1CO0FBRXBCLGVBQWVxRixLQUFLIiwiZmlsZSI6ImNvbXBvbmVudHMvSW5wdXQvSW5wdXQvSW5wdXQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19yZXN0ID0gKHRoaXMgJiYgdGhpcy5fX3Jlc3QpIHx8IGZ1bmN0aW9uIChzLCBlKSB7XG4gICAgdmFyIHQgPSB7fTtcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcbiAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XG4gICAgICAgIH1cbiAgICByZXR1cm4gdDtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgbWVtbywgdXNlSWQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VGb3JtQ29udHJvbFNpemUgfSBmcm9tICcuLi8uLi9Gb3JtTGF5b3V0L2NvbnRleHQnO1xuaW1wb3J0IHVzZUNvbnRyb2xsZWRTdGF0ZSBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZUNvbnRyb2xsZWRTdGF0ZSc7XG5pbXBvcnQgdXNlRXZlbnRDYWxsYmFjayBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZUV2ZW50Q2FsbGJhY2snO1xuaW1wb3J0IHsgSWNvbnMgfSBmcm9tICcuLi8uLi9JY29ucyc7XG5pbXBvcnQgeyBTcGlubmVyIH0gZnJvbSAnLi4vLi4vU3Bpbm5lcic7XG5pbXBvcnQgeyBkZWZhdWx0IGFzIGNsYXNzbmFtZXMsIGpvaW5DbHMgfSBmcm9tICcuLi8uLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCB7IEZpZWxkU2hlbGwgfSBmcm9tICcuLi9GaWVsZFNoZWxsJztcbmltcG9ydCB7IHVzZVN5bmNSZWYgfSBmcm9tICcuLi91c2VTeW5jUmVmJztcbmltcG9ydCBJbnB1dEFtb3VudCBmcm9tICcuLi9BbW91bnQnO1xuaW1wb3J0IElucHV0T1RQIGZyb20gJy4uL09UUCc7XG5pbXBvcnQgSW5wdXRQYXNzd29yZCBmcm9tICcuLi9QYXNzd29yZCc7XG5pbXBvcnQgSW5wdXRTZWFyY2ggZnJvbSAnLi4vU2VhcmNoJztcbmltcG9ydCBJbnB1dFRleHRBcmVhIGZyb20gJy4uL1RleHRBcmVhJztcbmltcG9ydCBJbnB1dFRyYWRlIGZyb20gJy4uL1RyYWRlJztcbmltcG9ydCBJbnB1dE1hc2sgZnJvbSAnLi4vTWFzayc7XG5jb25zdCBJbnB1dEJhc2UgPSAocHJvcHMpID0+IHtcbiAgICB2YXIgX2E7XG4gICAgY29uc3QgeyBtYXNrLCBzbG90Q2hhciwgdW5tYXNrLCBhdXRvQ2xlYXIsIG9uQ29tcGxldGUgfSA9IHByb3BzLCBpbnB1dFByb3BzID0gX19yZXN0KHByb3BzLCBbXCJtYXNrXCIsIFwic2xvdENoYXJcIiwgXCJ1bm1hc2tcIiwgXCJhdXRvQ2xlYXJcIiwgXCJvbkNvbXBsZXRlXCJdKTtcbiAgICAvLyBEZWxlZ2F0ZSB0byBJbnB1dE1hc2sgd2hlbiBtYXNrIHBhdHRlcm4gaXMgcHJvdmlkZWRcbiAgICBpZiAobWFzaykge1xuICAgICAgICByZXR1cm4gKF9qc3goSW5wdXRNYXNrLCBPYmplY3QuYXNzaWduKHt9LCBpbnB1dFByb3BzLCB7IG1hc2s6IG1hc2ssIHNsb3RDaGFyOiBzbG90Q2hhciwgdW5tYXNrOiB1bm1hc2ssIGF1dG9DbGVhcjogYXV0b0NsZWFyLCBvbkNvbXBsZXRlOiBvbkNvbXBsZXRlIH0pKSk7XG4gICAgfVxuICAgIGNvbnN0IHsgY2xhc3NOYW1lID0gJycsIGxhYmVsQ2xhc3NOYW1lLCBwcmVmaXhDbHMgPSAnaW5wdXQnLCBzaXplOiBzaXplUHJvcCwgc3RhdHVzID0gJ2RlZmF1bHQnLCBkaXNhYmxlZCA9IGZhbHNlLCBsb2FkaW5nID0gZmFsc2UsIGxhYmVsLCBpbmZvLCBmZWVkYmFjaywgZmVlZGJhY2tJY29uLCB0aXAsIHJlcXVpcmVkLCBhbGxvd0NsZWFyID0gZmFsc2UsIHByZWZpeCwgc3VmZml4LCBzaG93Q291bnQgPSBmYWxzZSwgbWF4TGVuZ3RoLCB2YWx1ZSwgZGVmYXVsdFZhbHVlID0gJycsIG9uQ2hhbmdlLCBvbkNsZWFyLCByZWYsIGlkOiBleHRlcm5hbElkLCByZWFkT25seSA9IGZhbHNlIH0gPSBpbnB1dFByb3BzLCByZXN0ID0gX19yZXN0KGlucHV0UHJvcHMsIFtcImNsYXNzTmFtZVwiLCBcImxhYmVsQ2xhc3NOYW1lXCIsIFwicHJlZml4Q2xzXCIsIFwic2l6ZVwiLCBcInN0YXR1c1wiLCBcImRpc2FibGVkXCIsIFwibG9hZGluZ1wiLCBcImxhYmVsXCIsIFwiaW5mb1wiLCBcImZlZWRiYWNrXCIsIFwiZmVlZGJhY2tJY29uXCIsIFwidGlwXCIsIFwicmVxdWlyZWRcIiwgXCJhbGxvd0NsZWFyXCIsIFwicHJlZml4XCIsIFwic3VmZml4XCIsIFwic2hvd0NvdW50XCIsIFwibWF4TGVuZ3RoXCIsIFwidmFsdWVcIiwgXCJkZWZhdWx0VmFsdWVcIiwgXCJvbkNoYW5nZVwiLCBcIm9uQ2xlYXJcIiwgXCJyZWZcIiwgXCJpZFwiLCBcInJlYWRPbmx5XCJdKTtcbiAgICAvLyBCYXJlLWNvbnRyb2wgc2l6ZSBkZWZhdWx0OiBhbiBleHBsaWNpdCBgc2l6ZWAgd2luczsgaW5zaWRlIGEgRm9ybUxheW91dFxuICAgIC8vIHRoZSB2YXJpYW50J3MgY29udHJvbFNpemUgYXBwbGllczsgZWxzZXdoZXJlICdsYXJnZScuXG4gICAgY29uc3QgY29udGV4dFNpemUgPSB1c2VGb3JtQ29udHJvbFNpemUoKTtcbiAgICBjb25zdCBzaXplID0gKF9hID0gc2l6ZVByb3AgIT09IG51bGwgJiYgc2l6ZVByb3AgIT09IHZvaWQgMCA/IHNpemVQcm9wIDogY29udGV4dFNpemUpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6ICdsYXJnZSc7XG4gICAgY29uc3QgYXV0b0lkID0gdXNlSWQoKTtcbiAgICBjb25zdCBpbnB1dElkID0gZXh0ZXJuYWxJZCAhPT0gbnVsbCAmJiBleHRlcm5hbElkICE9PSB2b2lkIDAgPyBleHRlcm5hbElkIDogYXV0b0lkO1xuICAgIGNvbnN0IGNsYXNzZXMgPSBjbGFzc25hbWVzKHByZWZpeENscyk7XG4gICAgY29uc3QgW2lucHV0UmVmLCBzeW5jUmVmXSA9IHVzZVN5bmNSZWYocmVmKTtcbiAgICBjb25zdCBbaW5uZXJWYWx1ZSwgc2V0SW5uZXJWYWx1ZV0gPSB1c2VDb250cm9sbGVkU3RhdGUoZGVmYXVsdFZhbHVlLCB2YWx1ZSk7XG4gICAgY29uc3QgYXJpYVJlcXVpcmVkID0gcmVxdWlyZWQgPyAndHJ1ZScgOiAnZmFsc2UnO1xuICAgIGNvbnN0IGFyaWFJbnZhbGlkID0gc3RhdHVzID09PSAnZXJyb3InID8gJ3RydWUnIDogJ2ZhbHNlJztcbiAgICBjb25zdCBoYW5kbGVDaGFuZ2UgPSB1c2VFdmVudENhbGxiYWNrKChldmVudCkgPT4ge1xuICAgICAgICBjb25zdCBuZXh0VmFsdWUgPSBldmVudC50YXJnZXQudmFsdWU7XG4gICAgICAgIHNldElubmVyVmFsdWUobmV4dFZhbHVlKTtcbiAgICAgICAgb25DaGFuZ2UgPT09IG51bGwgfHwgb25DaGFuZ2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQ2hhbmdlKG5leHRWYWx1ZSwgZXZlbnQpO1xuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZUNvbnRyb2xDbGljayA9IHVzZUV2ZW50Q2FsbGJhY2soKGUpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBpZiAoaXNEaXNhYmxlZCB8fCByZWFkT25seSlcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgaWYgKGUudGFyZ2V0IGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgKF9hID0gaW5wdXRSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmZvY3VzKCk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlQ2xlYXIgPSB1c2VFdmVudENhbGxiYWNrKCgpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBzZXRJbm5lclZhbHVlKCcnKTtcbiAgICAgICAgKF9hID0gaW5wdXRSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmZvY3VzKCk7XG4gICAgICAgIG9uQ2xlYXIgPT09IG51bGwgfHwgb25DbGVhciA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25DbGVhcigpO1xuICAgIH0pO1xuICAgIGNvbnN0IGlzRGlzYWJsZWQgPSBkaXNhYmxlZCB8fCBsb2FkaW5nO1xuICAgIGNvbnN0IHNob3dDbGVhckFjdGlvbiA9IGFsbG93Q2xlYXIgJiYgIWlzRGlzYWJsZWQgJiYgIXJlYWRPbmx5ICYmIGlubmVyVmFsdWUubGVuZ3RoID4gMDtcbiAgICByZXR1cm4gKF9qc3goRmllbGRTaGVsbCwgeyBjbGFzc05hbWU6IGNsYXNzTmFtZSwgbGFiZWxDbGFzc05hbWU6IGxhYmVsQ2xhc3NOYW1lLCBwcmVmaXhDbHM6IHByZWZpeENscywgc2l6ZTogc2l6ZSwgc3RhdHVzOiBzdGF0dXMsIGRpc2FibGVkOiBpc0Rpc2FibGVkLCBsb2FkaW5nOiBsb2FkaW5nLCByZWFkT25seTogcmVhZE9ubHksIGxhYmVsOiBsYWJlbCwgaW5mbzogaW5mbywgdGlwOiB0aXAsIGZlZWRiYWNrOiBmZWVkYmFjaywgZmVlZGJhY2tJY29uOiBmZWVkYmFja0ljb24sIHJlcXVpcmVkOiByZXF1aXJlZCwgaW5wdXRJZDogaW5wdXRJZCwgb25Db250cm9sV3JhcHBlckNsaWNrOiBoYW5kbGVDb250cm9sQ2xpY2ssIGNoaWxkcmVuOiBfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnY29udHJvbCcsIGpvaW5DbHMoaXNEaXNhYmxlZCAmJiBjbGFzc2VzKCdjb250cm9sLWRpc2FibGVkJykpKSwgY2hpbGRyZW46IFtwcmVmaXggJiYgX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3ByZWZpeCcpLCBjaGlsZHJlbjogcHJlZml4IH0pLCBfanN4KFwiaW5wdXRcIiwgT2JqZWN0LmFzc2lnbih7fSwgcmVzdCwgeyBtYXhMZW5ndGg6IG1heExlbmd0aCwgcmVmOiBzeW5jUmVmLCBpZDogaW5wdXRJZCwgY2xhc3NOYW1lOiBjbGFzc2VzKCdmaWVsZCcpLCBkaXNhYmxlZDogaXNEaXNhYmxlZCwgcmVhZE9ubHk6IHJlYWRPbmx5LCB2YWx1ZTogaW5uZXJWYWx1ZSwgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSwgXCJhcmlhLXJlcXVpcmVkXCI6IGFyaWFSZXF1aXJlZCwgXCJhcmlhLWludmFsaWRcIjogYXJpYUludmFsaWQgfSkpLCBzaG93Q2xlYXJBY3Rpb24gJiYgKF9qc3goXCJidXR0b25cIiwgeyB0eXBlOiBcImJ1dHRvblwiLCBjbGFzc05hbWU6IGNsYXNzZXMoJ2FjdGlvbicpLCBcImFyaWEtbGFiZWxcIjogXCJjbGVhciBpbnB1dFwiLCBvbkNsaWNrOiBoYW5kbGVDbGVhciwgY2hpbGRyZW46IF9qc3goSWNvbnMsIHsgbmFtZTogXCJjcm9zc1wiLCBzaXplOiAxNiB9KSB9KSksIGxvYWRpbmcgJiYgX2pzeChTcGlubmVyLCB7IHN0eWxlOiB7IHdpZHRoOiAxNiwgaGVpZ2h0OiAxNiB9IH0pLCBzaG93Q291bnQgJiYgKF9qc3hzKFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnY291bnQnKSwgY2hpbGRyZW46IFtpbm5lclZhbHVlLmxlbmd0aCwgbWF4TGVuZ3RoICE9IG51bGwgPyBgLyR7bWF4TGVuZ3RofWAgOiAnJ10gfSkpLCBzdWZmaXggJiYgX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3N1ZmZpeCcpLCBjaGlsZHJlbjogc3VmZml4IH0pXSB9KSB9KSk7XG59O1xuY29uc3QgTWVtb2l6ZWRJbnB1dCA9IG1lbW8oSW5wdXRCYXNlKTtcbk1lbW9pemVkSW5wdXQuZGlzcGxheU5hbWUgPSAnSW5wdXQnO1xuZXhwb3J0IGNvbnN0IElucHV0ID0gT2JqZWN0LmFzc2lnbihNZW1vaXplZElucHV0LCB7XG4gICAgUGFzc3dvcmQ6IElucHV0UGFzc3dvcmQsXG4gICAgU2VhcmNoOiBJbnB1dFNlYXJjaCxcbiAgICBUZXh0QXJlYTogSW5wdXRUZXh0QXJlYSxcbiAgICBPVFA6IElucHV0T1RQLFxuICAgIFRyYWRlOiBJbnB1dFRyYWRlLFxuICAgIEFtb3VudDogSW5wdXRBbW91bnQsXG4gICAgTWFzazogSW5wdXRNYXNrLFxufSk7XG5leHBvcnQgZGVmYXVsdCBJbnB1dDsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
@@ -19,6 +19,11 @@ export interface InputBaseProps {
19
19
  suffix?: ReactNode;
20
20
  allowClear?: boolean;
21
21
  loading?: boolean;
22
+ /**
23
+ * Render a live character counter in the suffix area — `x/max` when
24
+ * `maxLength` is set, plain `x` otherwise.
25
+ */
26
+ showCount?: boolean;
22
27
  }
23
28
  export interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'prefix' | 'size' | 'onChange'>, InputBaseProps {
24
29
  ref?: RefObject<HTMLInputElement | null>;