@1money/component-ui 0.0.77 → 0.0.79

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 (75) hide show
  1. package/es/components/Button/Button.js +17 -15
  2. package/es/components/Button/constants.d.ts +0 -1
  3. package/es/components/Button/constants.js +1 -2
  4. package/es/components/Button/interface.d.ts +7 -0
  5. package/es/components/Dialog/Dialog.js +64 -210
  6. package/es/components/Dialog/DialogContent.d.ts +16 -0
  7. package/es/components/Dialog/DialogContent.js +72 -0
  8. package/es/components/Dialog/DialogControls.d.ts +27 -0
  9. package/es/components/Dialog/DialogControls.js +65 -0
  10. package/es/components/Dialog/className.d.ts +12 -0
  11. package/es/components/Dialog/className.js +16 -0
  12. package/es/components/Dialog/hooks.d.ts +5 -0
  13. package/es/components/Dialog/hooks.js +69 -0
  14. package/es/components/Dialog/interface.d.ts +1 -0
  15. package/es/components/Dialog/style/Dialog.css +2 -11
  16. package/es/components/Dialog/types.d.ts +1 -0
  17. package/es/components/Dialog/types.js +2 -0
  18. package/es/components/Grid/Col.js +60 -4
  19. package/es/components/Grid/Grid.d.ts +4 -1
  20. package/es/components/Grid/Grid.js +5 -4
  21. package/es/components/Grid/Row.js +7 -5
  22. package/es/components/Grid/constants.d.ts +5 -3
  23. package/es/components/Grid/constants.js +13 -4
  24. package/es/components/Grid/helper.d.ts +8 -6
  25. package/es/components/Grid/helper.js +63 -15
  26. package/es/components/Grid/interface.d.ts +2 -1
  27. package/es/components/Grid/style/Grid.css +240 -196
  28. package/es/components/ProForm/ProForm.js +3 -3
  29. package/es/components/ProForm/constants.d.ts +1 -1
  30. package/es/components/ProForm/constants.js +5 -2
  31. package/es/components/ProForm/core/devWarning.d.ts +1 -3
  32. package/es/components/ProForm/core/devWarning.js +5 -15
  33. package/es/components/ProForm/layouts/DialogForm.js +2 -4
  34. package/es/index.css +1 -1
  35. package/es/utils/devWarn.d.ts +4 -0
  36. package/es/utils/devWarn.js +23 -0
  37. package/lib/components/Button/Button.js +17 -15
  38. package/lib/components/Button/constants.d.ts +0 -1
  39. package/lib/components/Button/constants.js +2 -3
  40. package/lib/components/Button/interface.d.ts +7 -0
  41. package/lib/components/Dialog/Dialog.js +66 -212
  42. package/lib/components/Dialog/DialogContent.d.ts +16 -0
  43. package/lib/components/Dialog/DialogContent.js +78 -0
  44. package/lib/components/Dialog/DialogControls.d.ts +27 -0
  45. package/lib/components/Dialog/DialogControls.js +72 -0
  46. package/lib/components/Dialog/className.d.ts +12 -0
  47. package/lib/components/Dialog/className.js +23 -0
  48. package/lib/components/Dialog/hooks.d.ts +5 -0
  49. package/lib/components/Dialog/hooks.js +75 -0
  50. package/lib/components/Dialog/interface.d.ts +1 -0
  51. package/lib/components/Dialog/style/Dialog.css +2 -11
  52. package/lib/components/Dialog/types.d.ts +1 -0
  53. package/lib/components/Dialog/types.js +6 -0
  54. package/lib/components/Grid/Col.js +59 -3
  55. package/lib/components/Grid/Grid.d.ts +4 -1
  56. package/lib/components/Grid/Grid.js +5 -4
  57. package/lib/components/Grid/Row.js +6 -4
  58. package/lib/components/Grid/constants.d.ts +5 -3
  59. package/lib/components/Grid/constants.js +14 -5
  60. package/lib/components/Grid/helper.d.ts +8 -6
  61. package/lib/components/Grid/helper.js +63 -15
  62. package/lib/components/Grid/interface.d.ts +2 -1
  63. package/lib/components/Grid/style/Grid.css +240 -196
  64. package/lib/components/ProForm/ProForm.js +2 -2
  65. package/lib/components/ProForm/constants.d.ts +1 -1
  66. package/lib/components/ProForm/constants.js +5 -2
  67. package/lib/components/ProForm/core/devWarning.d.ts +1 -3
  68. package/lib/components/ProForm/core/devWarning.js +23 -24
  69. package/lib/components/ProForm/layouts/DialogForm.js +2 -4
  70. package/lib/index.css +1 -1
  71. package/lib/utils/devWarn.d.ts +4 -0
  72. package/lib/utils/devWarn.js +31 -0
  73. package/package.json +1 -1
  74. package/scripts/mcp-server/examples.generated.json +171 -57
  75. package/scripts/mcp-server/index.generated.json +94 -10
@@ -0,0 +1,27 @@
1
+ import type { ReactNode } from 'react';
2
+ import type { ButtonProps } from "../Button";
3
+ import type { DialogActionKind, DialogControlType } from './constants';
4
+ import type { DialogProps } from './interface';
5
+ import type { DialogAction } from './types';
6
+ interface DialogControlButtonOptions {
7
+ prefixCls: string;
8
+ type: DialogControlType;
9
+ icon?: ReactNode;
10
+ onClick?: DialogAction;
11
+ }
12
+ interface DialogActionButtonOptions {
13
+ prefixCls: string;
14
+ kind: DialogActionKind;
15
+ text: ReactNode;
16
+ action?: DialogAction;
17
+ buttonProps?: Partial<ButtonProps>;
18
+ }
19
+ interface DialogFooterOptions {
20
+ footer: DialogProps['footer'];
21
+ cancelButton: ReactNode;
22
+ okButton: ReactNode;
23
+ }
24
+ export declare const renderDialogControlButton: ({ prefixCls, type, icon, onClick, }: DialogControlButtonOptions) => import("react/jsx-runtime").JSX.Element;
25
+ export declare const renderDialogActionButton: ({ prefixCls, kind, text, action, buttonProps, }: DialogActionButtonOptions) => import("react/jsx-runtime").JSX.Element | null;
26
+ export declare const resolveDialogFooter: ({ footer, cancelButton, okButton, }: DialogFooterOptions) => string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | import("react").ReactPortal | Iterable<ReactNode> | null | undefined> | import("react/jsx-runtime").JSX.Element | null | undefined;
27
+ export {};
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.resolveDialogFooter = exports.renderDialogControlButton = exports.renderDialogActionButton = void 0;
8
+ var _jsxRuntime = require("react/jsx-runtime");
9
+ var _classnames = _interopRequireDefault(require("classnames"));
10
+ var _Button = require("../Button");
11
+ var _Icons = require("../Icons");
12
+ var _className = require("./className");
13
+ var _constants = require("./constants");
14
+ var toVoidHandler = function toVoidHandler(action) {
15
+ return function () {
16
+ void (action === null || action === void 0 ? void 0 : action());
17
+ };
18
+ };
19
+ var createActionHandler = function createActionHandler(action, buttonClick) {
20
+ return function (event) {
21
+ buttonClick === null || buttonClick === void 0 ? void 0 : buttonClick(event);
22
+ if (event.defaultPrevented || !action) return;
23
+ void action();
24
+ };
25
+ };
26
+ var renderDialogControlButton = exports.renderDialogControlButton = function renderDialogControlButton(_ref) {
27
+ var prefixCls = _ref.prefixCls,
28
+ type = _ref.type,
29
+ icon = _ref.icon,
30
+ onClick = _ref.onClick;
31
+ return (0, _jsxRuntime.jsx)("button", {
32
+ type: _constants.DIALOG_DEFAULTS.buttonHtmlType,
33
+ className: (0, _classnames["default"])((0, _className.getDialogClassName)(prefixCls, _constants.DIALOG_SLOT.control), (0, _className.getDialogClassName)(prefixCls, _constants.DIALOG_SLOT.control, type)),
34
+ "aria-label": _constants.DIALOG_CONTROL_LABELS[type],
35
+ onClick: toVoidHandler(onClick),
36
+ children: icon !== null && icon !== void 0 ? icon : (0, _jsxRuntime.jsx)(_Icons.Icons, {
37
+ name: _constants.DIALOG_DEFAULT_ICONS[type],
38
+ size: _constants.DIALOG_DEFAULTS.controlIconSize
39
+ })
40
+ });
41
+ };
42
+ var renderDialogActionButton = exports.renderDialogActionButton = function renderDialogActionButton(_ref2) {
43
+ var prefixCls = _ref2.prefixCls,
44
+ kind = _ref2.kind,
45
+ text = _ref2.text,
46
+ action = _ref2.action,
47
+ buttonProps = _ref2.buttonProps;
48
+ var _a;
49
+ if (text == null || !action) return null;
50
+ return (0, _jsxRuntime.jsx)(_Button.Button, Object.assign({}, buttonProps, {
51
+ type: _constants.DIALOG_DEFAULTS.buttonHtmlType,
52
+ size: _constants.DIALOG_DEFAULTS.buttonSize,
53
+ color: (_a = buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.color) !== null && _a !== void 0 ? _a : _constants.DIALOG_DEFAULT_BUTTON_COLORS[kind],
54
+ className: (0, _classnames["default"])((0, _className.getDialogClassName)(prefixCls, _constants.DIALOG_SLOT.actionButton), (0, _className.getDialogClassName)(prefixCls, _constants.DIALOG_SLOT.actionButton, kind), buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.className),
55
+ onClick: createActionHandler(action, buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.onClick),
56
+ children: text
57
+ }));
58
+ };
59
+ var resolveDialogFooter = exports.resolveDialogFooter = function resolveDialogFooter(_ref3) {
60
+ var footer = _ref3.footer,
61
+ cancelButton = _ref3.cancelButton,
62
+ okButton = _ref3.okButton;
63
+ if (footer === null) return null;
64
+ if (typeof footer === 'function') return footer(cancelButton, okButton);
65
+ if (footer !== undefined) return footer;
66
+ if (!cancelButton && !okButton) return null;
67
+ // Stable DOM/reading order (`cancel` then `ok`); visual layout stays in SCSS.
68
+ return (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
69
+ children: [cancelButton, okButton]
70
+ });
71
+ };
72
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvRGlhbG9nL0RpYWxvZ0NvbnRyb2xzLmpzIiwiY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy9EaWFsb2cvRGlhbG9nQ29udHJvbHMudHN4Il0sIm5hbWVzIjpbIl9qc3hSdW50aW1lIiwicmVxdWlyZSIsIl9jbGFzc25hbWVzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9CdXR0b24iLCJfSWNvbnMiLCJfY2xhc3NOYW1lIiwiX2NvbnN0YW50cyIsInRvVm9pZEhhbmRsZXIiLCJhY3Rpb24iLCJjcmVhdGVBY3Rpb25IYW5kbGVyIiwiYnV0dG9uQ2xpY2siLCJldmVudCIsImRlZmF1bHRQcmV2ZW50ZWQiLCJyZW5kZXJEaWFsb2dDb250cm9sQnV0dG9uIiwiZXhwb3J0cyIsIl9yZWYiLCJwcmVmaXhDbHMiLCJ0eXBlIiwiaWNvbiIsIm9uQ2xpY2siLCJfanN4IiwiRElBTE9HX0RFRkFVTFRTIiwiYnV0dG9uSHRtbFR5cGUiLCJjbGFzc05hbWUiLCJjbGFzc05hbWVzIiwiZ2V0RGlhbG9nQ2xhc3NOYW1lIiwiRElBTE9HX1NMT1QiLCJjb250cm9sIiwiRElBTE9HX0NPTlRST0xfTEFCRUxTIiwiY2hpbGRyZW4iLCJJY29ucyIsIm5hbWUiLCJESUFMT0dfREVGQVVMVF9JQ09OUyIsInNpemUiLCJjb250cm9sSWNvblNpemUiLCJyZW5kZXJEaWFsb2dBY3Rpb25CdXR0b24iLCJfcmVmMiIsImtpbmQiLCJ0ZXh0IiwiYnV0dG9uUHJvcHMiLCJfYSIsIkJ1dHRvbiIsIk9iamVjdCIsImFzc2lnbiIsImJ1dHRvblNpemUiLCJjb2xvciIsIkRJQUxPR19ERUZBVUxUX0JVVFRPTl9DT0xPUlMiLCJhY3Rpb25CdXR0b24iLCJyZXNvbHZlRGlhbG9nRm9vdGVyIiwiX3JlZjMiLCJmb290ZXIiLCJjYW5jZWxCdXR0b24iLCJva0J1dHRvbiIsInVuZGVmaW5lZCIsIl9qc3hzIiwiX0ZyYWdtZW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFB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VSxFQUFFLE9BQU9BLE1BQU0sQ0FBQ0MsWUFBWSxFQUFFQyxRQUFRLENBQUM7RUFDdkUsSUFBSUYsTUFBTSxLQUFLRyxTQUFTLEVBQUUsT0FBT0gsTUFBTTtFQUN2QyxJQUFJLENBQUNDLFlBQVksSUFBSSxDQUFDQyxRQUFRLEVBQUUsT0FBTyxJQUFJO0VBRTNDO0VBQ0EsT0FDRSxJQUFBRSxnQkFBQSxFQUFBQyxvQkFBQSxFQUFBO0lBQUExQixRQUFBLEVBQUEsQ0FDR3NCLFlBQVksRUFDWkMsUUFBUTtFQUFBLENBQUEsQ0FDUjtBQUVQLENBQUMiLCJmaWxlIjoiY29tcG9uZW50cy9EaWFsb2cvRGlhbG9nQ29udHJvbHMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqc3ggYXMgX2pzeCwgRnJhZ21lbnQgYXMgX0ZyYWdtZW50LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJy4uL0J1dHRvbic7XG5pbXBvcnQgeyBJY29ucyB9IGZyb20gJy4uL0ljb25zJztcbmltcG9ydCB7IGdldERpYWxvZ0NsYXNzTmFtZSB9IGZyb20gJy4vY2xhc3NOYW1lJztcbmltcG9ydCB7IERJQUxPR19DT05UUk9MX0xBQkVMUywgRElBTE9HX0RFRkFVTFRfQlVUVE9OX0NPTE9SUywgRElBTE9HX0RFRkFVTFRfSUNPTlMsIERJQUxPR19ERUZBVUxUUywgRElBTE9HX1NMT1QsIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuY29uc3QgdG9Wb2lkSGFuZGxlciA9IChhY3Rpb24pID0+ICgpID0+IHtcbiAgICB2b2lkIChhY3Rpb24gPT09IG51bGwgfHwgYWN0aW9uID09PSB2b2lkIDAgPyB2b2lkIDAgOiBhY3Rpb24oKSk7XG59O1xuY29uc3QgY3JlYXRlQWN0aW9uSGFuZGxlciA9IChhY3Rpb24sIGJ1dHRvbkNsaWNrKSA9PiAoZXZlbnQpID0+IHtcbiAgICBidXR0b25DbGljayA9PT0gbnVsbCB8fCBidXR0b25DbGljayA9PT0gdm9pZCAwID8gdm9pZCAwIDogYnV0dG9uQ2xpY2soZXZlbnQpO1xuICAgIGlmIChldmVudC5kZWZhdWx0UHJldmVudGVkIHx8ICFhY3Rpb24pXG4gICAgICAgIHJldHVybjtcbiAgICB2b2lkIGFjdGlvbigpO1xufTtcbmV4cG9ydCBjb25zdCByZW5kZXJEaWFsb2dDb250cm9sQnV0dG9uID0gKHsgcHJlZml4Q2xzLCB0eXBlLCBpY29uLCBvbkNsaWNrLCB9KSA9PiAoX2pzeChcImJ1dHRvblwiLCB7IHR5cGU6IERJQUxPR19ERUZBVUxUUy5idXR0b25IdG1sVHlwZSwgY2xhc3NOYW1lOiBjbGFzc05hbWVzKGdldERpYWxvZ0NsYXNzTmFtZShwcmVmaXhDbHMsIERJQUxPR19TTE9ULmNvbnRyb2wpLCBnZXREaWFsb2dDbGFzc05hbWUocHJlZml4Q2xzLCBESUFMT0dfU0xPVC5jb250cm9sLCB0eXBlKSksIFwiYXJpYS1sYWJlbFwiOiBESUFMT0dfQ09OVFJPTF9MQUJFTFNbdHlwZV0sIG9uQ2xpY2s6IHRvVm9pZEhhbmRsZXIob25DbGljayksIGNoaWxkcmVuOiBpY29uICE9PSBudWxsICYmIGljb24gIT09IHZvaWQgMCA/IGljb24gOiAoX2pzeChJY29ucywgeyBuYW1lOiBESUFMT0dfREVGQVVMVF9JQ09OU1t0eXBlXSwgc2l6ZTogRElBTE9HX0RFRkFVTFRTLmNvbnRyb2xJY29uU2l6ZSB9KSkgfSkpO1xuZXhwb3J0IGNvbnN0IHJlbmRlckRpYWxvZ0FjdGlvbkJ1dHRvbiA9ICh7IHByZWZpeENscywga2luZCwgdGV4dCwgYWN0aW9uLCBidXR0b25Qcm9wcywgfSkgPT4ge1xuICAgIHZhciBfYTtcbiAgICBpZiAodGV4dCA9PSBudWxsIHx8ICFhY3Rpb24pXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIHJldHVybiAoX2pzeChCdXR0b24sIE9iamVjdC5hc3NpZ24oe30sIGJ1dHRvblByb3BzLCB7IHR5cGU6IERJQUxPR19ERUZBVUxUUy5idXR0b25IdG1sVHlwZSwgc2l6ZTogRElBTE9HX0RFRkFVTFRTLmJ1dHRvblNpemUsIGNvbG9yOiAoX2EgPSBidXR0b25Qcm9wcyA9PT0gbnVsbCB8fCBidXR0b25Qcm9wcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogYnV0dG9uUHJvcHMuY29sb3IpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IERJQUxPR19ERUZBVUxUX0JVVFRPTl9DT0xPUlNba2luZF0sIGNsYXNzTmFtZTogY2xhc3NOYW1lcyhnZXREaWFsb2dDbGFzc05hbWUocHJlZml4Q2xzLCBESUFMT0dfU0xPVC5hY3Rpb25CdXR0b24pLCBnZXREaWFsb2dDbGFzc05hbWUocHJlZml4Q2xzLCBESUFMT0dfU0xPVC5hY3Rpb25CdXR0b24sIGtpbmQpLCBidXR0b25Qcm9wcyA9PT0gbnVsbCB8fCBidXR0b25Qcm9wcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogYnV0dG9uUHJvcHMuY2xhc3NOYW1lKSwgb25DbGljazogY3JlYXRlQWN0aW9uSGFuZGxlcihhY3Rpb24sIGJ1dHRvblByb3BzID09PSBudWxsIHx8IGJ1dHRvblByb3BzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBidXR0b25Qcm9wcy5vbkNsaWNrKSwgY2hpbGRyZW46IHRleHQgfSkpKTtcbn07XG5leHBvcnQgY29uc3QgcmVzb2x2ZURpYWxvZ0Zvb3RlciA9ICh7IGZvb3RlciwgY2FuY2VsQnV0dG9uLCBva0J1dHRvbiwgfSkgPT4ge1xuICAgIGlmIChmb290ZXIgPT09IG51bGwpXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIGlmICh0eXBlb2YgZm9vdGVyID09PSAnZnVuY3Rpb24nKVxuICAgICAgICByZXR1cm4gZm9vdGVyKGNhbmNlbEJ1dHRvbiwgb2tCdXR0b24pO1xuICAgIGlmIChmb290ZXIgIT09IHVuZGVmaW5lZClcbiAgICAgICAgcmV0dXJuIGZvb3RlcjtcbiAgICBpZiAoIWNhbmNlbEJ1dHRvbiAmJiAhb2tCdXR0b24pXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIC8vIFN0YWJsZSBET00vcmVhZGluZyBvcmRlciAoYGNhbmNlbGAgdGhlbiBgb2tgKTsgdmlzdWFsIGxheW91dCBzdGF5cyBpbiBTQ1NTLlxuICAgIHJldHVybiAoX2pzeHMoX0ZyYWdtZW50LCB7IGNoaWxkcmVuOiBbY2FuY2VsQnV0dG9uLCBva0J1dHRvbl0gfSkpO1xufTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
@@ -0,0 +1,12 @@
1
+ import type { DialogSize } from './constants';
2
+ interface DialogPanelClassNameOptions {
3
+ prefixCls: string;
4
+ size: DialogSize;
5
+ fullWidth: boolean;
6
+ fixed: boolean;
7
+ hasMedia: boolean;
8
+ className?: string;
9
+ }
10
+ export declare const getDialogClassName: (prefixCls: string, slot?: string, modifier?: string) => string;
11
+ export declare const getDialogPanelClassName: ({ prefixCls, size, fullWidth, fixed, hasMedia, className, }: DialogPanelClassNameOptions) => string;
12
+ export {};
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.getDialogPanelClassName = exports.getDialogClassName = void 0;
8
+ var _classnames = _interopRequireDefault(require("classnames"));
9
+ var _constants = require("./constants");
10
+ var getDialogClassName = exports.getDialogClassName = function getDialogClassName(prefixCls, slot, modifier) {
11
+ var baseClassName = "".concat(_constants.DIALOG_NAMESPACE, "-").concat(prefixCls).concat(slot ? "-".concat(slot) : '');
12
+ return modifier ? "".concat(baseClassName, "-").concat(modifier) : baseClassName;
13
+ };
14
+ var getDialogPanelClassName = exports.getDialogPanelClassName = function getDialogPanelClassName(_ref) {
15
+ var prefixCls = _ref.prefixCls,
16
+ size = _ref.size,
17
+ fullWidth = _ref.fullWidth,
18
+ fixed = _ref.fixed,
19
+ hasMedia = _ref.hasMedia,
20
+ className = _ref.className;
21
+ return (0, _classnames["default"])(getDialogClassName(prefixCls), getDialogClassName(prefixCls, undefined, size), fullWidth && getDialogClassName(prefixCls, undefined, _constants.DIALOG_MODIFIER.fullWidth), fixed && getDialogClassName(prefixCls, undefined, _constants.DIALOG_MODIFIER.fixed), hasMedia && getDialogClassName(prefixCls, undefined, _constants.DIALOG_MODIFIER.withMedia), className);
22
+ };
23
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvRGlhbG9nL2NsYXNzTmFtZS50cyJdLCJuYW1lcyI6WyJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2NvbnN0YW50cyIsImdldERpYWxvZ0NsYXNzTmFtZSIsImV4cG9ydHMiLCJwcmVmaXhDbHMiLCJzbG90IiwibW9kaWZpZXIiLCJiYXNlQ2xhc3NOYW1lIiwiY29uY2F0IiwiRElBTE9HX05BTUVTUEFDRSIsImdldERpYWxvZ1BhbmVsQ2xhc3NOYW1lIiwiX3JlZiIsInNpemUiLCJmdWxsV2lkdGgiLCJmaXhlZCIsImhhc01lZGlhIiwiY2xhc3NOYW1lIiwiY2xhc3NOYW1lcyIsInVuZGVmaW5lZCIsIkRJQUxPR19NT0RJRklFUiIsIndpdGhNZWRpYSJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLFdBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFVBQUEsR0FBQUQsT0FBQTtBQVlPLElBQU1FLGtCQUFrQixHQUFBQyxPQUFBLENBQUFELGtCQUFBLEdBQUcsU0FBckJBLGtCQUFrQkEsQ0FDN0JFLFNBQWlCLEVBQ2pCQyxJQUFhLEVBQ2JDLFFBQWlCLEVBQ2Y7RUFDRixJQUFNQyxhQUFhLE1BQUFDLE1BQUEsQ0FBTUMsMkJBQWdCLE9BQUFELE1BQUEsQ0FBSUosU0FBUyxFQUFBSSxNQUFBLENBQUdILElBQUksT0FBQUcsTUFBQSxDQUFPSCxJQUFJLElBQUssRUFBRSxDQUFFO0VBQ2pGLE9BQU9DLFFBQVEsTUFBQUUsTUFBQSxDQUFNRCxhQUFhLE9BQUFDLE1BQUEsQ0FBSUYsUUFBUSxJQUFLQyxhQUFhO0FBQ2xFLENBQUM7QUFFTSxJQUFNRyx1QkFBdUIsR0FBQVAsT0FBQSxDQUFBTyx1QkFBQSxHQUFHLFNBQTFCQSx1QkFBdUJBLENBQUFDLElBQUE7RUFBQSxJQUNsQ1AsU0FBUyxHQUFBTyxJQUFBLENBQVRQLFNBQVM7SUFDVFEsSUFBSSxHQUFBRCxJQUFBLENBQUpDLElBQUk7SUFDSkMsU0FBUyxHQUFBRixJQUFBLENBQVRFLFNBQVM7SUFDVEMsS0FBSyxHQUFBSCxJQUFBLENBQUxHLEtBQUs7SUFDTEMsUUFBUSxHQUFBSixJQUFBLENBQVJJLFFBQVE7SUFDUkMsU0FBUyxHQUFBTCxJQUFBLENBQVRLLFNBQVM7RUFBQSxPQUVULElBQUFDLHNCQUFVLEVBQ1JmLGtCQUFrQixDQUFDRSxTQUFTLENBQUMsRUFDN0JGLGtCQUFrQixDQUFDRSxTQUFTLEVBQUVjLFNBQVMsRUFBRU4sSUFBSSxDQUFDLEVBQzlDQyxTQUFTLElBQUlYLGtCQUFrQixDQUFDRSxTQUFTLEVBQUVjLFNBQVMsRUFBRUMsMEJBQWUsQ0FBQ04sU0FBUyxDQUFDLEVBQ2hGQyxLQUFLLElBQUlaLGtCQUFrQixDQUFDRSxTQUFTLEVBQUVjLFNBQVMsRUFBRUMsMEJBQWUsQ0FBQ0wsS0FBSyxDQUFDLEVBQ3hFQyxRQUFRLElBQUliLGtCQUFrQixDQUFDRSxTQUFTLEVBQUVjLFNBQVMsRUFBRUMsMEJBQWUsQ0FBQ0MsU0FBUyxDQUFDLEVBQy9FSixTQUFTLENBQ1Y7QUFBQSIsImZpbGUiOiJjb21wb25lbnRzL0RpYWxvZy9jbGFzc05hbWUuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
@@ -0,0 +1,5 @@
1
+ import type { RefObject } from 'react';
2
+ import type { DialogAction } from './types';
3
+ export declare const useBodyScrollLock: (locked: boolean) => void;
4
+ export declare const useDialogFocus: (active: boolean, dialogRef: RefObject<HTMLDivElement | null>) => void;
5
+ export declare const useEscapeClose: (enabled: boolean, onClose?: DialogAction) => void;
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useEscapeClose = exports.useDialogFocus = exports.useBodyScrollLock = void 0;
7
+ var _react = require("react");
8
+ var _constants = require("./constants");
9
+ var scrollLockCount = 0;
10
+ var setBodyOverflow = function setBodyOverflow(value) {
11
+ if (typeof document === 'undefined') return;
12
+ document.body.style.overflow = value;
13
+ };
14
+ var lockBodyScroll = function lockBodyScroll() {
15
+ scrollLockCount += 1;
16
+ setBodyOverflow(_constants.DIALOG_DEFAULTS.overflowHidden);
17
+ };
18
+ var unlockBodyScroll = function unlockBodyScroll() {
19
+ scrollLockCount = Math.max(0, scrollLockCount - 1);
20
+ if (scrollLockCount === 0) {
21
+ requestAnimationFrame(function () {
22
+ if (scrollLockCount === 0) {
23
+ setBodyOverflow(_constants.DIALOG_DEFAULTS.overflowReset);
24
+ }
25
+ });
26
+ }
27
+ };
28
+ var useBodyScrollLock = exports.useBodyScrollLock = function useBodyScrollLock(locked) {
29
+ var isLockedRef = (0, _react.useRef)(false);
30
+ (0, _react.useEffect)(function () {
31
+ if (!locked || isLockedRef.current) return undefined;
32
+ isLockedRef.current = true;
33
+ lockBodyScroll();
34
+ return function () {
35
+ if (!isLockedRef.current) return;
36
+ isLockedRef.current = false;
37
+ unlockBodyScroll();
38
+ };
39
+ }, [locked]);
40
+ };
41
+ var useDialogFocus = exports.useDialogFocus = function useDialogFocus(active, dialogRef) {
42
+ var previousActiveElementRef = (0, _react.useRef)(null);
43
+ (0, _react.useEffect)(function () {
44
+ if (!active || typeof document === 'undefined') return undefined;
45
+ previousActiveElementRef.current = document.activeElement instanceof HTMLElement ? document.activeElement : null;
46
+ var frame = window.requestAnimationFrame(function () {
47
+ var _a;
48
+ (_a = dialogRef.current) === null || _a === void 0 ? void 0 : _a.focus();
49
+ });
50
+ return function () {
51
+ window.cancelAnimationFrame(frame);
52
+ };
53
+ }, [active, dialogRef]);
54
+ (0, _react.useEffect)(function () {
55
+ var _a, _b;
56
+ if (active) return;
57
+ (_b = (_a = previousActiveElementRef.current) === null || _a === void 0 ? void 0 : _a.focus) === null || _b === void 0 ? void 0 : _b.call(_a);
58
+ previousActiveElementRef.current = null;
59
+ }, [active]);
60
+ };
61
+ var useEscapeClose = exports.useEscapeClose = function useEscapeClose(enabled, onClose) {
62
+ (0, _react.useEffect)(function () {
63
+ if (!enabled || typeof document === 'undefined') return undefined;
64
+ var handleKeyDown = function handleKeyDown(event) {
65
+ if (event.key !== _constants.DIALOG_DEFAULTS.escapeKey) return;
66
+ event.preventDefault();
67
+ void (onClose === null || onClose === void 0 ? void 0 : onClose());
68
+ };
69
+ document.addEventListener(_constants.DIALOG_DEFAULTS.keydownEvent, handleKeyDown);
70
+ return function () {
71
+ document.removeEventListener(_constants.DIALOG_DEFAULTS.keydownEvent, handleKeyDown);
72
+ };
73
+ }, [enabled, onClose]);
74
+ };
75
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvRGlhbG9nL2hvb2tzLnRzIiwiY29tcG9uZW50cy9EaWFsb2cvaG9va3MuanMiXSwibmFtZXMiOlsiX3JlYWN0IiwicmVxdWlyZSIsIl9jb25zdGFudHMiLCJzY3JvbGxMb2NrQ291bnQiLCJzZXRCb2R5T3ZlcmZsb3ciLCJ2YWx1ZSIsImRvY3VtZW50IiwiYm9keSIsInN0eWxlIiwib3ZlcmZsb3ciLCJsb2NrQm9keVNjcm9sbCIsIkRJQUxPR19ERUZBVUxUUyIsIm92ZXJmbG93SGlkZGVuIiwidW5sb2NrQm9keVNjcm9sbCIsIk1hdGgiLCJtYXgiLCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiLCJvdmVyZmxvd1Jlc2V0IiwidXNlQm9keVNjcm9sbExvY2siLCJleHBvcnRzIiwibG9ja2VkIiwiaXNMb2NrZWRSZWYiLCJ1c2VSZWYiLCJ1c2VFZmZlY3QiLCJjdXJyZW50IiwidW5kZWZpbmVkIiwidXNlRGlhbG9nRm9jdXMiLCJhY3RpdmUiLCJkaWFsb2dSZWYiLCJwcmV2aW91c0FjdGl2ZUVsZW1lbnRSZWYiLCJhY3RpdmVFbGVtZW50IiwiSFRNTEVsZW1lbnQiLCJmcmFtZSIsIndpbmRvdyIsIl9hIiwiZm9jdXMiLCJjYW5jZWxBbmltYXRpb25GcmFtZSIsIl9iIiwiY2FsbCIsInVzZUVzY2FwZUNsb3NlIiwiZW5hYmxlZCIsIm9uQ2xvc2UiLCJoYW5kbGVLZXlEb3duIiwiZXZlbnQiLCJrZXkiLCJlc2NhcGVLZXkiLCJwcmV2ZW50RGVmYXVsdCIsImFkZEV2ZW50TGlzdGVuZXIiLCJrZXlkb3duRXZlbnQiLCJyZW1vdmVFdmVudExpc3RlbmVyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxVQUFBLEdBQUFELE9BQUE7QUFJQSxJQUFJRSxlQUFlLEdBQUcsQ0FBQztBQUV2QixJQUFNQyxlQUFlLEdBQUcsU0FBbEJBLGVBQWVBLENBQUlDLEtBQWEsRUFB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QUFFLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFBQyxJQUFBLENBQUFKLEVBQUEsQ0FBSTtJQUMzQ0wsd0JBQXdCLENBQUNMLE9BQU8sR0FBRyxJQUFJO0VBQ3pDLENBQUMsRUFBRSxDQUFDRyxNQUFNLENBQUMsQ0FBQztBQUNkLENBQUM7QUFFTSxJQUFNWSxjQUFjLEdBQUFwQixPQUFBLENBQUFvQixjQUFBLEdBQUcsU0FBakJBLGNBQWNBLENBQUlDLE9BQWdCLEVBQUVDLE9BQXNCLEVBQUk7RUFDekUsSUFBQWxCLGdCQUFTLEVBQUMsWUFBSztJQUNiLElBQUksQ0FBQ2lCLE9BQU8sSUFBSSxPQUFPbEMsUUFBUSxLQUFLLFdBQVcsRUFBRSxPQUFPbUIsU0FBUztJQUVqRSxJQUFNaUIsYUFBYSxHQUFHLFNBQWhCQSxhQUFhQSxDQUFJQyxLQUFvQixFQUFJO01BQzdDLElBQUlBLEtBQUssQ0FBQ0MsR0FBRyxLQUFLakMsMEJBQWUsQ0FBQ2tDLFNBQVMsRUFBRTtNQUM3Q0YsS0FBSyxDQUFDRyxjQUFjLENBQUEsQ0FBRTtNQUN0QixNQUFLTCxPQUFPLEtBQUEsSUFBQSxJQUFQQSxPQUFPLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQVBBLE9BQU8sQ0FBQSxDQUFJLENBQUE7SUFDbEIsQ0FBQztJQUVEbkMsUUFBUSxDQUFDeUMsZ0JBQWdCLENBQUNwQywwQkFBZSxDQUFDcUMsWUFBWSxFQUFFTixhQUFhLENBQUM7SUFFdEUsT0FBTyxZQUFLO01BQ1ZwQyxRQUFRLENBQUMyQyxtQkFBbUIsQ0FBQ3RDLDBCQUFlLENBQUNxQyxZQUFZLEVBQUVOLGFBQWEsQ0FBQztJQUMzRSxDQUFDO0VBQ0gsQ0FBQyxFQUFFLENBQUNGLE9BQU8sRUFBRUMsT0FBTyxDQUFDLENBQUM7QUFDeEIsQ0FBQyIsImZpbGUiOiJjb21wb25lbnRzL0RpYWxvZy9ob29rcy5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwiaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBESUFMT0dfREVGQVVMVFMgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5sZXQgc2Nyb2xsTG9ja0NvdW50ID0gMDtcbmNvbnN0IHNldEJvZHlPdmVyZmxvdyA9ICh2YWx1ZSkgPT4ge1xuICAgIGlmICh0eXBlb2YgZG9jdW1lbnQgPT09ICd1bmRlZmluZWQnKVxuICAgICAgICByZXR1cm47XG4gICAgZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdyA9IHZhbHVlO1xufTtcbmNvbnN0IGxvY2tCb2R5U2Nyb2xsID0gKCkgPT4ge1xuICAgIHNjcm9sbExvY2tDb3VudCArPSAxO1xuICAgIHNldEJvZHlPdmVyZmxvdyhESUFMT0dfREVGQVVMVFMub3ZlcmZsb3dIaWRkZW4pO1xufTtcbmNvbnN0IHVubG9ja0JvZHlTY3JvbGwgPSAoKSA9PiB7XG4gICAgc2Nyb2xsTG9ja0NvdW50ID0gTWF0aC5tYXgoMCwgc2Nyb2xsTG9ja0NvdW50IC0gMSk7XG4gICAgaWYgKHNjcm9sbExvY2tDb3VudCA9PT0gMCkge1xuICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHNjcm9sbExvY2tDb3VudCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIHNldEJvZHlPdmVyZmxvdyhESUFMT0dfREVGQVVMVFMub3ZlcmZsb3dSZXNldCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn07XG5leHBvcnQgY29uc3QgdXNlQm9keVNjcm9sbExvY2sgPSAobG9ja2VkKSA9PiB7XG4gICAgY29uc3QgaXNMb2NrZWRSZWYgPSB1c2VSZWYoZmFsc2UpO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmICghbG9ja2VkIHx8IGlzTG9ja2VkUmVmLmN1cnJlbnQpXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICBpc0xvY2tlZFJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgbG9ja0JvZHlTY3JvbGwoKTtcbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgIGlmICghaXNMb2NrZWRSZWYuY3VycmVudClcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICBpc0xvY2tlZFJlZi5jdXJyZW50ID0gZmFsc2U7XG4gICAgICAgICAgICB1bmxvY2tCb2R5U2Nyb2xsKCk7XG4gICAgICAgIH07XG4gICAgfSwgW2xvY2tlZF0pO1xufTtcbmV4cG9ydCBjb25zdCB1c2VEaWFsb2dGb2N1cyA9IChhY3RpdmUsIGRpYWxvZ1JlZikgPT4ge1xuICAgIGNvbnN0IHByZXZpb3VzQWN0aXZlRWxlbWVudFJlZiA9IHVzZVJlZihudWxsKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAoIWFjdGl2ZSB8fCB0eXBlb2YgZG9jdW1lbnQgPT09ICd1bmRlZmluZWQnKVxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgcHJldmlvdXNBY3RpdmVFbGVtZW50UmVmLmN1cnJlbnQgPVxuICAgICAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50ID8gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA6IG51bGw7XG4gICAgICAgIGNvbnN0IGZyYW1lID0gd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICAoX2EgPSBkaWFsb2dSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmZvY3VzKCk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgd2luZG93LmNhbmNlbEFuaW1hdGlvbkZyYW1lKGZyYW1lKTtcbiAgICAgICAgfTtcbiAgICB9LCBbYWN0aXZlLCBkaWFsb2dSZWZdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICBpZiAoYWN0aXZlKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAoX2IgPSAoX2EgPSBwcmV2aW91c0FjdGl2ZUVsZW1lbnRSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmZvY3VzKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuY2FsbChfYSk7XG4gICAgICAgIHByZXZpb3VzQWN0aXZlRWxlbWVudFJlZi5jdXJyZW50ID0gbnVsbDtcbiAgICB9LCBbYWN0aXZlXSk7XG59O1xuZXhwb3J0IGNvbnN0IHVzZUVzY2FwZUNsb3NlID0gKGVuYWJsZWQsIG9uQ2xvc2UpID0+IHtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAoIWVuYWJsZWQgfHwgdHlwZW9mIGRvY3VtZW50ID09PSAndW5kZWZpbmVkJylcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IGhhbmRsZUtleURvd24gPSAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGlmIChldmVudC5rZXkgIT09IERJQUxPR19ERUZBVUxUUy5lc2NhcGVLZXkpXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHZvaWQgKG9uQ2xvc2UgPT09IG51bGwgfHwgb25DbG9zZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25DbG9zZSgpKTtcbiAgICAgICAgfTtcbiAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihESUFMT0dfREVGQVVMVFMua2V5ZG93bkV2ZW50LCBoYW5kbGVLZXlEb3duKTtcbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoRElBTE9HX0RFRkFVTFRTLmtleWRvd25FdmVudCwgaGFuZGxlS2V5RG93bik7XG4gICAgICAgIH07XG4gICAgfSwgW2VuYWJsZWQsIG9uQ2xvc2VdKTtcbn07Il0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
@@ -13,6 +13,7 @@ export interface DialogProps extends Omit<HTMLAttributes<HTMLDivElement>, 'child
13
13
  showBackIcon?: boolean;
14
14
  fullWidth?: boolean;
15
15
  fixed?: boolean;
16
+ width?: number | string;
16
17
  title?: ReactNode;
17
18
  children?: ReactNode;
18
19
  illustration?: ReactNode | IconName;
@@ -167,14 +167,8 @@
167
167
  .om-component-ui-dialog-footer {
168
168
  display: flex;
169
169
  gap: var(--om-spacing-300, 12px);
170
- width: 100%;
171
- }
172
- .om-component-ui-dialog-footer-small {
173
- flex-direction: column;
174
- align-items: stretch;
175
- }
176
- .om-component-ui-dialog-footer-large {
177
170
  align-items: stretch;
171
+ width: 100%;
178
172
  }
179
173
  .om-component-ui-dialog-action-button {
180
174
  width: 100%;
@@ -191,7 +185,7 @@
191
185
  .om-component-ui-dialog-action-button-cancel.om-component-ui-button:hover:not(:disabled) {
192
186
  background-color: var(--om-bg-neutral-secondary, #e3e4e4);
193
187
  }
194
- .om-component-ui-dialog-footer-large > .om-component-ui-dialog-action-button {
188
+ .om-component-ui-dialog-footer > .om-component-ui-dialog-action-button {
195
189
  flex: 1 1 0;
196
190
  }
197
191
 
@@ -206,7 +200,4 @@
206
200
  padding-right: var(--om-spacing-800, 32px);
207
201
  padding-left: var(--om-spacing-800, 32px);
208
202
  }
209
- .om-component-ui-dialog-footer-large {
210
- flex-direction: column;
211
- }
212
203
  }
@@ -0,0 +1 @@
1
+ export type DialogAction = () => void | Promise<void>;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy9EaWFsb2cvdHlwZXMuanMiLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMiLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvRGlhbG9nL3R5cGVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7fTsiXSwibWFwcGluZ3MiOiIiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -8,9 +8,11 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports["default"] = exports.Col = void 0;
9
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
10
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
12
  var _jsxRuntime = require("react/jsx-runtime");
12
13
  var _react = require("react");
13
14
  var _classnames = _interopRequireWildcard(require("../../utils/classnames"));
15
+ var _devWarn = require("../../utils/devWarn");
14
16
  var _constants = require("./constants");
15
17
  var _helper = require("./helper");
16
18
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
@@ -23,6 +25,46 @@ var __rest = void 0 && (void 0).__rest || function (s, e) {
23
25
  }
24
26
  return t;
25
27
  };
28
+ var COL_RANGE_KEYS = ['span', 'offset', 'order', 'push', 'pull'];
29
+ // Dev-only guard: span/offset/order/push/pull — both top-level AND the responsive
30
+ // sm/md/lg equivalents — map to classes generated for 0–GRID_COLUMNS only; values
31
+ // outside that range silently produce a class with no matching CSS. Warns once per
32
+ // distinct misuse (via the shared devWarnOnce) instead of on every render.
33
+ var warnColRange = function warnColRange(scope, values) {
34
+ COL_RANGE_KEYS.forEach(function (key) {
35
+ var value = values[key];
36
+ if (value != null && (value < 0 || value > _constants.GRID_COLUMNS)) {
37
+ var usage = scope ? "".concat(scope, "={{ ").concat(key, ": ").concat(value, " }}") : "".concat(key, "={").concat(value, "}");
38
+ (0, _devWarn.devWarnOnce)("grid-col-range:".concat(scope, ":").concat(key, ":").concat(value), "[Grid.Col] `".concat(usage, "` is outside the 0\u2013").concat(_constants.GRID_COLUMNS, " range; no matching style is generated."));
39
+ }
40
+ });
41
+ };
42
+ // Gated by isProduction() so the per-render arg objects are never allocated in
43
+ // production builds.
44
+ var warnColRangeInDev = function warnColRangeInDev(props) {
45
+ if ((0, _devWarn.isProduction)()) return;
46
+ var span = props.span,
47
+ offset = props.offset,
48
+ order = props.order,
49
+ push = props.push,
50
+ pull = props.pull,
51
+ sm = props.sm,
52
+ md = props.md,
53
+ lg = props.lg;
54
+ warnColRange('', {
55
+ span: span,
56
+ offset: offset,
57
+ order: order,
58
+ push: push,
59
+ pull: pull
60
+ });
61
+ [['sm', sm], ['md', md], ['lg', lg]].forEach(function (_ref) {
62
+ var _ref2 = (0, _slicedToArray2["default"])(_ref, 2),
63
+ scope = _ref2[0],
64
+ size = _ref2[1];
65
+ if (size != null) warnColRange(scope, (0, _helper.normalizeColSize)(size));
66
+ });
67
+ };
26
68
  var buildResponsiveConfig = function buildResponsiveConfig(breakpoints, classes) {
27
69
  var classList = [];
28
70
  var flexVars = {};
@@ -36,7 +78,10 @@ var buildResponsiveConfig = function buildResponsiveConfig(breakpoints, classes)
36
78
  if (normalized.order != null) classList.push(classes("".concat(bp, "-").concat(_constants.GRID_CLASS.order, "-").concat(normalized.order)));
37
79
  if (normalized.pull != null) classList.push(classes("".concat(bp, "-").concat(_constants.GRID_CLASS.pull, "-").concat(normalized.pull)));
38
80
  if (normalized.push != null) classList.push(classes("".concat(bp, "-").concat(_constants.GRID_CLASS.push, "-").concat(normalized.push)));
39
- if (flexValue) flexVars[_constants.GRID_RESPONSIVE_CSS_VARS[bp].colFlex] = flexValue;
81
+ if (flexValue) {
82
+ classList.push(classes("".concat(bp, "-").concat(_constants.GRID_CLASS.flex)));
83
+ flexVars[_constants.GRID_RESPONSIVE_CSS_VARS[bp].colFlex] = flexValue;
84
+ }
40
85
  });
41
86
  return {
42
87
  classList: classList,
@@ -59,6 +104,16 @@ var Col = exports.Col = /*#__PURE__*/(0, _react.memo)(function (props) {
59
104
  _props$prefixCls = props.prefixCls,
60
105
  prefixCls = _props$prefixCls === void 0 ? _constants.GRID_COL_PREFIX : _props$prefixCls,
61
106
  rest = __rest(props, ["children", "span", "offset", "order", "pull", "push", "flex", "sm", "md", "lg", "className", "style", "prefixCls"]);
107
+ warnColRangeInDev({
108
+ span: span,
109
+ offset: offset,
110
+ order: order,
111
+ push: push,
112
+ pull: pull,
113
+ sm: sm,
114
+ md: md,
115
+ lg: lg
116
+ });
62
117
  var _useMemo = (0, _react.useMemo)(function () {
63
118
  var classes = (0, _classnames["default"])(prefixCls);
64
119
  var _buildResponsiveConfi = buildResponsiveConfig({
@@ -79,8 +134,9 @@ var Col = exports.Col = /*#__PURE__*/(0, _react.memo)(function (props) {
79
134
  classNameValue = _useMemo.classNameValue,
80
135
  flexValue = _useMemo.flexValue,
81
136
  flexVars = _useMemo.flexVars;
137
+ // User-supplied `style` wins over the computed flex CSS vars.
82
138
  var mergedStyle = (0, _react.useMemo)(function () {
83
- return Object.assign(Object.assign(Object.assign({}, style), flexValue && (0, _defineProperty2["default"])({}, _constants.GRID_CSS_VARS.colFlex, flexValue)), flexVars);
139
+ return Object.assign(Object.assign(Object.assign({}, flexValue && (0, _defineProperty2["default"])({}, _constants.GRID_CSS_VARS.colFlex, flexValue)), flexVars), style);
84
140
  }, [style, flexValue, flexVars]);
85
141
  return (0, _jsxRuntime.jsx)("div", Object.assign({}, rest, {
86
142
  style: mergedStyle,
@@ -90,4 +146,4 @@ var Col = exports.Col = /*#__PURE__*/(0, _react.memo)(function (props) {
90
146
  });
91
147
  Col.displayName = 'Col';
92
148
  var _default = exports["default"] = Col;
93
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvR3JpZC9Db2wuanMiLCJjb21wb25lbnRzL3NyYy9jb21wb25lbnRzL0dyaWQvQ29sLnRzeCJdLCJuYW1lcyI6WyJfanN4UnVudGltZSIsInJlcXVpcmUiLCJfcmVhY3QiLCJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwiX2NvbnN0YW50cyIsIl9oZWxwZXIiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJfX3Jlc3QiLCJzIiwicCIsInByb3RvdHlwZSIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJsZW5ndGgiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsImJ1aWxkUmVzcG9uc2l2ZUNvbmZpZyIsImJyZWFrcG9pbnRzIiwiY2xhc3NlcyIsImNsYXNzTGlzdCIsImZsZXhWYXJzIiwiR1JJRF9CUkVBS1BPSU5UUyIsImZvckVhY2giLCJicCIsInNpemUiLCJub3JtYWxpemVkIiwibm9ybWFsaXplQ29sU2l6ZSIsImZsZXhWYWx1ZSIsIm5vcm1hbGl6ZUZsZXgiLCJmbGV4Iiwic3BhbiIsInB1c2giLCJjb25jYXQiLCJvZmZzZXQiLCJHUklEX0NMQVNTIiwib3JkZXIiLCJwdWxsIiwiR1JJRF9SRVNQT05TSVZFX0NTU19WQVJTIiwiY29sRmxleCIsIkNvbCIsImV4cG9ydHMiLCJtZW1vIiwicHJvcHMiLCJjaGlsZHJlbiIsInNtIiwibWQiLCJsZyIsImNsYXNzTmFtZSIsInN0eWxlIiwiX3Byb3BzJHByZWZpeENscyIsInByZWZpeENscyIsIkdSSURfQ09MX1BSRUZJWCIsInJlc3QiLCJfdXNlTWVtbyIsInVzZU1lbW8iLCJjbGFzc25hbWVzIiwiX2J1aWxkUmVzcG9uc2l2ZUNvbmZpIiwibm9ybWFsaXplZEZsZXgiLCJuZXh0Q2xhc3NOYW1lIiwiam9pbkNscyIsImFwcGx5IiwiX3RvQ29uc3VtYWJsZUFycmF5MiIsImNsYXNzTmFtZVZhbHVlIiwibWVyZ2VkU3R5bGUiLCJhc3NpZ24iLCJfZGVmaW5lUHJvcGVydHkyIiwiR1JJRF9DU1NfVkFSUyIsIl9qc3giLCJkaXNwbGF5TmFtZSIsIl9kZWZhdWx0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBV0EsSUFBQUEsV0FBQSxHQUFBQyxPQUFBO0FDWEEsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsV0FBQSxHQUFBQyx1QkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksVUFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssT0FBQSxHQUFBTCxPQUFBO0FBQTJELFNBQUFNLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBSix3QkFBQUksQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsU0FBQUosQ0FBQSxlQUFBQSxDQUFBLGdCQUFBSyxPQUFBLENBQUFMLENBQUEsMEJBQUFBLENBQUEsc0JBQUFBLENBQUEsUUFBQUcsQ0FBQSxHQUFBSix3QkFBQSxDQUFBRyxDQUFBLE9BQUFDLENBQUEsSUFBQUEsQ0FBQSxDQUFBRyxHQUFBLENBQUFOLENBQUEsVUFBQUcsQ0FBQSxDQUFBSSxHQUFBLENBQUFQLENBQUEsT0FBQVEsQ0FBQSxLQUFBQyxTQUFBLFVBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMs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SUFqQnJFZ0MsY0FBYyxHQUFBVCxRQUFBLENBQWRTLGNBQWM7SUFBRW5DLFNBQVMsR0FBQTBCLFFBQUEsQ0FBVDFCLFNBQVM7SUFBRVAsUUFBUSxHQUFBaUMsUUFBQSxDQUFSakMsUUFBUTtFQW1CM0MsSUFBTTJDLFdBQVcsR0FBa0IsSUFBQVQsY0FBTyxFQUFDO0lBQUEsT0FBTXRELE1BQUEsQ0FBQWdFLE1BQUEsQ0FBQWhFLE1BQUEsQ0FBQWdFLE1BQUEsQ0FBQWhFLE1BQUEsQ0FBQWdFLE1BQUEsQ0FBQSxDQUFBLENBQUEsRUFDNUNoQixLQUFLLENBQUEsRUFDSnJCLFNBQVMsUUFBQXNDLGdCQUFBLGlCQUFPQyx3QkFBYSxDQUFDNUIsT0FBTyxFQUFHWCxTQUFTLENBQUcsQ0FBQSxFQUNyRFAsUUFBUSxDQUFBO0VBQUEsQ0FDWCxFQUFFLENBQUM0QixLQUFLLEVBQUVyQixTQUFTLEVBQUVQLFFBQVEsQ0FBQyxDQUFDO0VBRWpDLE9BQ0UsSUFBQStDLGVBQUEsRUFBQSxLQUFBLEVBQUFuRSxNQUFBLENBQUFnRSxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQ01aLElBQUksRUFBQTtJQUNSSixLQUFLLEVBQUVlLFdBQVc7SUFDbEJoQixTQUFTLEVBQUVlLGNBQWM7SUFBQW5CLFFBQUEsRUFFeEJBO0VBQVEsQ0FBQSxDQUFBLENBQ0w7QUFFVixDQUFDLENBQUM7QUFFRkosR0FBRyxDQUFDNkIsV0FBVyxHQUFHLEtBQUs7QUFBQyxJQUFBQyxRQUFBLEdBQUE3QixPQUFBLGNBRVRELEdBQUciLCJmaWxlIjoiY29tcG9uZW50cy9HcmlkL0NvbC5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBtZW1vLCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IGNsYXNzbmFtZXMsIHsgam9pbkNscyB9IGZyb20gJy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgR1JJRF9CUkVBS1BPSU5UUywgR1JJRF9DTEFTUywgR1JJRF9DT0xfUFJFRklYLCBHUklEX0NTU19WQVJTLCBHUklEX1JFU1BPTlNJVkVfQ1NTX1ZBUlMgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBub3JtYWxpemVDb2xTaXplLCBub3JtYWxpemVGbGV4IH0gZnJvbSAnLi9oZWxwZXInO1xuY29uc3QgYnVpbGRSZXNwb25zaXZlQ29uZmlnID0gKGJyZWFrcG9pbnRzLCBjbGFzc2VzKSA9PiB7XG4gICAgY29uc3QgY2xhc3NMaXN0ID0gW107XG4gICAgY29uc3QgZmxleFZhcnMgPSB7fTtcbiAgICBHUklEX0JSRUFLUE9JTlRTLmZvckVhY2goYnAgPT4ge1xuICAgICAgICBjb25zdCBzaXplID0gYnJlYWtwb2ludHNbYnBdO1xuICAgICAgICBpZiAoc2l6ZSA9PSBudWxsKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBjb25zdCBub3JtYWxpemVkID0gbm9ybWFsaXplQ29sU2l6ZShzaXplKTtcbiAgICAgICAgY29uc3QgZmxleFZhbHVlID0gbm9ybWFsaXplRmxleChub3JtYWxpemVkLmZsZXgpO1xuICAgICAgICBpZiAobm9ybWFsaXplZC5zcGFuICE9IG51bGwgJiYgIWZsZXhWYWx1ZSlcbiAgICAgICAgICAgIGNsYXNzTGlzdC5wdXNoKGNsYXNzZXMoYCR7YnB9LSR7bm9ybWFsaXplZC5zcGFufWApKTtcbiAgICAgICAgaWYgKG5vcm1hbGl6ZWQub2Zmc2V0ICE9IG51bGwpXG4gICAgICAgICAgICBjbGFzc0xpc3QucHVzaChjbGFzc2VzKGAke2JwfS0ke0dSSURfQ0xBU1Mub2Zmc2V0fS0ke25vcm1hbGl6ZWQub2Zmc2V0fWApKTtcbiAgICAgICAgaWYgKG5vcm1hbGl6ZWQub3JkZXIgIT0gbnVsbClcbiAgICAgICAgICAgIGNsYXNzTGlzdC5wdXNoKGNsYXNzZXMoYCR7YnB9LSR7R1JJRF9DTEFTUy5vcmRlcn0tJHtub3JtYWxpemVkLm9yZGVyfWApKTtcbiAgICAgICAgaWYgKG5vcm1hbGl6ZWQucHVsbCAhPSBudWxsKVxuICAgICAgICAgICAgY2xhc3NMaXN0LnB1c2goY2xhc3NlcyhgJHticH0tJHtHUklEX0NMQVNTLnB1bGx9LSR7bm9ybWFsaXplZC5wdWxsfWApKTtcbiAgICAgICAgaWYgKG5vcm1hbGl6ZWQucHVzaCAhPSBudWxsKVxuICAgICAgICAgICAgY2xhc3NMaXN0LnB1c2goY2xhc3NlcyhgJHticH0tJHtHUklEX0NMQVNTLnB1c2h9LSR7bm9ybWFsaXplZC5wdXNofWApKTtcbiAgICAgICAgaWYgKGZsZXhWYWx1ZSlcbiAgICAgICAgICAgIGZsZXhWYXJzW0dSSURfUkVTUE9OU0lWRV9DU1NfVkFSU1ticF0uY29sRmxleF0gPSBmbGV4VmFsdWU7XG4gICAgfSk7XG4gICAgcmV0dXJuIHsgY2xhc3NMaXN0LCBmbGV4VmFycyB9O1xufTtcbmV4cG9ydCBjb25zdCBDb2wgPSBtZW1vKHByb3BzID0+IHtcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBzcGFuLCBvZmZzZXQsIG9yZGVyLCBwdWxsLCBwdXNoLCBmbGV4LCBzbSwgbWQsIGxnLCBjbGFzc05hbWUsIHN0eWxlLCBwcmVmaXhDbHMgPSBHUklEX0NPTF9QUkVGSVggfSA9IHByb3BzLCByZXN0ID0gX19yZXN0KHByb3BzLCBbXCJjaGlsZHJlblwiLCBcInNwYW5cIiwgXCJvZmZzZXRcIiwgXCJvcmRlclwiLCBcInB1bGxcIiwgXCJwdXNoXCIsIFwiZmxleFwiLCBcInNtXCIsIFwibWRcIiwgXCJsZ1wiLCBcImNsYXNzTmFtZVwiLCBcInN0eWxlXCIsIFwicHJlZml4Q2xzXCJdKTtcbiAgICBjb25zdCB7IGNsYXNzTmFtZVZhbHVlLCBmbGV4VmFsdWUsIGZsZXhWYXJzIH0gPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgY29uc3QgY2xhc3NlcyA9IGNsYXNzbmFtZXMocHJlZml4Q2xzKTtcbiAgICAgICAgY29uc3QgeyBjbGFzc0xpc3QsIGZsZXhWYXJzIH0gPSBidWlsZFJlc3BvbnNpdmVDb25maWcoeyBzbSwgbWQsIGxnIH0sIGNsYXNzZXMpO1xuICAgICAgICBjb25zdCBub3JtYWxpemVkRmxleCA9IG5vcm1hbGl6ZUZsZXgoZmxleCk7XG4gICAgICAgIGNvbnN0IG5leHRDbGFzc05hbWUgPSBqb2luQ2xzKGNsYXNzZXMoKSwgc3BhbiAhPSBudWxsICYmICFub3JtYWxpemVkRmxleCAmJiBjbGFzc2VzKGAke3NwYW59YCksIG9mZnNldCAhPSBudWxsICYmIGNsYXNzZXMoYCR7R1JJRF9DTEFTUy5vZmZzZXR9LSR7b2Zmc2V0fWApLCBvcmRlciAhPSBudWxsICYmIGNsYXNzZXMoYCR7R1JJRF9DTEFTUy5vcmRlcn0tJHtvcmRlcn1gKSwgcHVzaCAhPSBudWxsICYmIGNsYXNzZXMoYCR7R1JJRF9DTEFTUy5wdXNofS0ke3B1c2h9YCksIHB1bGwgIT0gbnVsbCAmJiBjbGFzc2VzKGAke0dSSURfQ0xBU1MucHVsbH0tJHtwdWxsfWApLCAuLi5jbGFzc0xpc3QsIGNsYXNzTmFtZSk7XG4gICAgICAgIHJldHVybiB7IGNsYXNzTmFtZVZhbHVlOiBuZXh0Q2xhc3NOYW1lLCBmbGV4VmFsdWU6IG5vcm1hbGl6ZWRGbGV4LCBmbGV4VmFycyB9O1xuICAgIH0sIFtjbGFzc05hbWUsIGZsZXgsIGxnLCBtZCwgb2Zmc2V0LCBvcmRlciwgcHJlZml4Q2xzLCBwdWxsLCBwdXNoLCBzbSwgc3Bhbl0pO1xuICAgIGNvbnN0IG1lcmdlZFN0eWxlID0gdXNlTWVtbygoKSA9PiAoT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIHN0eWxlKSwgKGZsZXhWYWx1ZSAmJiB7IFtHUklEX0NTU19WQVJTLmNvbEZsZXhdOiBmbGV4VmFsdWUgfSkpLCBmbGV4VmFycykpLCBbc3R5bGUsIGZsZXhWYWx1ZSwgZmxleFZhcnNdKTtcbiAgICByZXR1cm4gKF9qc3goXCJkaXZcIiwgT2JqZWN0LmFzc2lnbih7fSwgcmVzdCwgeyBzdHlsZTogbWVyZ2VkU3R5bGUsIGNsYXNzTmFtZTogY2xhc3NOYW1lVmFsdWUsIGNoaWxkcmVuOiBjaGlsZHJlbiB9KSkpO1xufSk7XG5Db2wuZGlzcGxheU5hbWUgPSAnQ29sJztcbmV4cG9ydCBkZWZhdWx0IENvbDsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
149
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvR3JpZC9Db2wuanMiLCJjb21wb25lbnRzL3NyYy9jb21wb25lbnRzL0dyaWQvQ29sLnRzeCJdLCJuYW1lcyI6WyJfanN4UnVudGltZSIsInJlcXVpcmUiLCJfcmVhY3QiLCJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwiX2Rldldhcm4iLCJfY29uc3RhbnRzIiwiX2hlbHBlciIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIl9fcmVzdCIsInMiLCJwIiwicHJvdG90eXBlIiwiaW5kZXhPZiIsImdldE93blByb3BlcnR5U3ltYm9scyIsImxlbmd0aCIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwiQ09MX1JBTkdFX0tFWVMiLCJ3YXJuQ29sUmFuZ2UiLCJzY29wZSIsInZhbHVlcyIsImZvckVhY2giLCJrZXkiLCJ2YWx1ZSIsIkdSSURfQ09MVU1OUyIsInVzYWdlIiwiY29uY2F0IiwiZGV2V2Fybk9uY2UiLCJ3YXJuQ29sUmFuZ2VJbkRldiIsInByb3BzIiwiaXNQcm9kdWN0aW9uIiwic3BhbiIsIm9mZnNldCIsIm9yZGVyIiwicHVzaCIsInB1bGwiLCJzbSIsIm1kIiwibGciLCJfcmVmIiwiX3JlZjIiLCJfc2xpY2VkVG9BcnJheTIiLCJzaXplIiwibm9ybWFsaXplQ29sU2l6ZSIsImJ1aWxkUmVzcG9uc2l2ZUNvbmZpZyIsImJyZWFrcG9pbnRzIiwiY2xhc3NlcyIsImNsYXNzTGlzdCIsImZsZXhWYXJzIiwiR1JJRF9CUkVBS1BPSU5UUyIsImJwIiwibm9ybWFsaXplZCIsImZsZXhWYWx1ZSIsIm5vcm1hbGl6ZUZsZXgiLCJmbGV4IiwiR1JJRF9DTEFTUyIsIkdSSURfUkVTUE9OU0lWRV9DU1NfVkFSUyIsImNvbEZsZXgiLCJDb2wiLCJleHBvcnRzIiwibWVtbyIsImNoaWxkcmVuIiwiY2xhc3NOYW1lIiwic3R5bGUiLCJfcHJvcHMkcHJlZml4Q2xzIiwicHJlZml4Q2xzIiwiR1JJRF9DT0xfUFJFRklYIiwicmVzdCIsIl91c2VNZW1vIiwidXNlTWVtbyIsImNsYXNzbmFtZXMiLCJfYnVpbGRSZXNwb25zaXZlQ29uZmkiLCJub3JtYWxpemVkRmxleCIsIm5leHRDbGFzc05hbWUiLCJqb2luQ2xzIiwiYXBwbHkiLCJfdG9Db25zdW1hYmxlQXJyYXkyIiwiY2xhc3NOYW1lVmFsdWUiLCJtZXJnZWRTdHlsZSIsImFzc2lnbiIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJHUklEX0NTU19WQVJTIiwiX2pzeCIsImRpc3BsYXlOYW1lIiwiX2RlZmF1bHQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBV0EsSUFBQUEsV0FBQSxHQUFBQyxPQUFBO0FDWEEsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsV0FBQSxHQUFBQyx1QkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksUUFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssVUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sT0FBQSxHQUFBTixPQUFBO0FBQTJELFNBQUFPLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBTCx3QkFBQUssQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsU0FBQUosQ0FBQSxlQUFBQSxDQUFBLGdCQUFBSyxPQUFBLENBQUFMLENBQUEsMEJBQUFBLENBQUEs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QUFFVixDQUFDLENBQUM7QUFFRkgsR0FBRyxDQUFDeUIsV0FBVyxHQUFHLEtBQUs7QUFBQyxJQUFBQyxRQUFBLEdBQUF6QixPQUFBLGNBRVRELEdBQUciLCJmaWxlIjoiY29tcG9uZW50cy9HcmlkL0NvbC5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBtZW1vLCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IGNsYXNzbmFtZXMsIHsgam9pbkNscyB9IGZyb20gJy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgZGV2V2Fybk9uY2UsIGlzUHJvZHVjdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxzL2Rldldhcm4nO1xuaW1wb3J0IHsgR1JJRF9CUkVBS1BPSU5UUywgR1JJRF9DTEFTUywgR1JJRF9DT0xfUFJFRklYLCBHUklEX0NPTFVNTlMsIEdSSURfQ1NTX1ZBUlMsIEdSSURfUkVTUE9OU0lWRV9DU1NfVkFSUyB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IG5vcm1hbGl6ZUNvbFNpemUsIG5vcm1hbGl6ZUZsZXggfSBmcm9tICcuL2hlbHBlcic7XG5jb25zdCBDT0xfUkFOR0VfS0VZUyA9IFsnc3BhbicsICdvZmZzZXQnLCAnb3JkZXInLCAncHVzaCcsICdwdWxsJ107XG4vLyBEZXYtb25seSBndWFyZDogc3Bhbi9vZmZzZXQvb3JkZXIvcHVzaC9wdWxsIOKAlCBib3RoIHRvcC1sZXZlbCBBTkQgdGhlIHJlc3BvbnNpdmVcbi8vIHNtL21kL2xnIGVxdWl2YWxlbnRzIOKAlCBtYXAgdG8gY2xhc3NlcyBnZW5lcmF0ZWQgZm9yIDDigJNHUklEX0NPTFVNTlMgb25seTsgdmFsdWVzXG4vLyBvdXRzaWRlIHRoYXQgcmFuZ2Ugc2lsZW50bHkgcHJvZHVjZSBhIGNsYXNzIHdpdGggbm8gbWF0Y2hpbmcgQ1NTLiBXYXJucyBvbmNlIHBlclxuLy8gZGlzdGluY3QgbWlzdXNlICh2aWEgdGhlIHNoYXJlZCBkZXZXYXJuT25jZSkgaW5zdGVhZCBvZiBvbiBldmVyeSByZW5kZXIuXG5jb25zdCB3YXJuQ29sUmFuZ2UgPSAoc2NvcGUsIHZhbHVlcykgPT4ge1xuICAgIENPTF9SQU5HRV9LRVlTLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB2YWx1ZXNba2V5XTtcbiAgICAgICAgaWYgKHZhbHVlICE9IG51bGwgJiYgKHZhbHVlIDwgMCB8fCB2YWx1ZSA+IEdSSURfQ09MVU1OUykpIHtcbiAgICAgICAgICAgIGNvbnN0IHVzYWdlID0gc2NvcGUgPyBgJHtzY29wZX09e3sgJHtrZXl9OiAke3ZhbHVlfSB9fWAgOiBgJHtrZXl9PXske3ZhbHVlfX1gO1xuICAgICAgICAgICAgZGV2V2Fybk9uY2UoYGdyaWQtY29sLXJhbmdlOiR7c2NvcGV9OiR7a2V5fToke3ZhbHVlfWAsIGBbR3JpZC5Db2xdIFxcYCR7dXNhZ2V9XFxgIGlzIG91dHNpZGUgdGhlIDDigJMke0dSSURfQ09MVU1OU30gcmFuZ2U7IG5vIG1hdGNoaW5nIHN0eWxlIGlzIGdlbmVyYXRlZC5gKTtcbiAgICAgICAgfVxuICAgIH0pO1xufTtcbi8vIEdhdGVkIGJ5IGlzUHJvZHVjdGlvbigpIHNvIHRoZSBwZXItcmVuZGVyIGFyZyBvYmplY3RzIGFyZSBuZXZlciBhbGxvY2F0ZWQgaW5cbi8vIHByb2R1Y3Rpb24gYnVpbGRzLlxuY29uc3Qgd2FybkNvbFJhbmdlSW5EZXYgPSAocHJvcHMpID0+IHtcbiAgICBpZiAoaXNQcm9kdWN0aW9uKCkpXG4gICAgICAgIHJldHVybjtcbiAgICBjb25zdCB7IHNwYW4sIG9mZnNldCwgb3JkZXIsIHB1c2gsIHB1bGwsIHNtLCBtZCwgbGcgfSA9IHByb3BzO1xuICAgIHdhcm5Db2xSYW5nZSgnJywgeyBzcGFuLCBvZmZzZXQsIG9yZGVyLCBwdXNoLCBwdWxsIH0pO1xuICAgIFtbJ3NtJywgc21dLCBbJ21kJywgbWRdLCBbJ2xnJywgbGddXS5mb3JFYWNoKChbc2NvcGUsIHNpemVdKSA9PiB7XG4gICAgICAgIGlmIChzaXplICE9IG51bGwpXG4gICAgICAgICAgICB3YXJuQ29sUmFuZ2Uoc2NvcGUsIG5vcm1hbGl6ZUNvbFNpemUoc2l6ZSkpO1xuICAgIH0pO1xufTtcbmNvbnN0IGJ1aWxkUmVzcG9uc2l2ZUNvbmZpZyA9IChicmVha3BvaW50cywgY2xhc3NlcykgPT4ge1xuICAgIGNvbnN0IGNsYXNzTGlzdCA9IFtdO1xuICAgIGNvbnN0IGZsZXhWYXJzID0ge307XG4gICAgR1JJRF9CUkVBS1BPSU5UUy5mb3JFYWNoKGJwID0+IHtcbiAgICAgICAgY29uc3Qgc2l6ZSA9IGJyZWFrcG9pbnRzW2JwXTtcbiAgICAgICAgaWYgKHNpemUgPT0gbnVsbClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY29uc3Qgbm9ybWFsaXplZCA9IG5vcm1hbGl6ZUNvbFNpemUoc2l6ZSk7XG4gICAgICAgIGNvbnN0IGZsZXhWYWx1ZSA9IG5vcm1hbGl6ZUZsZXgobm9ybWFsaXplZC5mbGV4KTtcbiAgICAgICAgaWYgKG5vcm1hbGl6ZWQuc3BhbiAhPSBudWxsICYmICFmbGV4VmFsdWUpXG4gICAgICAgICAgICBjbGFzc0xpc3QucHVzaChjbGFzc2VzKGAke2JwfS0ke25vcm1hbGl6ZWQuc3Bhbn1gKSk7XG4gICAgICAgIGlmIChub3JtYWxpemVkLm9mZnNldCAhPSBudWxsKVxuICAgICAgICAgICAgY2xhc3NMaXN0LnB1c2goY2xhc3NlcyhgJHticH0tJHtHUklEX0NMQVNTLm9mZnNldH0tJHtub3JtYWxpemVkLm9mZnNldH1gKSk7XG4gICAgICAgIGlmIChub3JtYWxpemVkLm9yZGVyICE9IG51bGwpXG4gICAgICAgICAgICBjbGFzc0xpc3QucHVzaChjbGFzc2VzKGAke2JwfS0ke0dSSURfQ0xBU1Mub3JkZXJ9LSR7bm9ybWFsaXplZC5vcmRlcn1gKSk7XG4gICAgICAgIGlmIChub3JtYWxpemVkLnB1bGwgIT0gbnVsbClcbiAgICAgICAgICAgIGNsYXNzTGlzdC5wdXNoKGNsYXNzZXMoYCR7YnB9LSR7R1JJRF9DTEFTUy5wdWxsfS0ke25vcm1hbGl6ZWQucHVsbH1gKSk7XG4gICAgICAgIGlmIChub3JtYWxpemVkLnB1c2ggIT0gbnVsbClcbiAgICAgICAgICAgIGNsYXNzTGlzdC5wdXNoKGNsYXNzZXMoYCR7YnB9LSR7R1JJRF9DTEFTUy5wdXNofS0ke25vcm1hbGl6ZWQucHVzaH1gKSk7XG4gICAgICAgIGlmIChmbGV4VmFsdWUpIHtcbiAgICAgICAgICAgIGNsYXNzTGlzdC5wdXNoKGNsYXNzZXMoYCR7YnB9LSR7R1JJRF9DTEFTUy5mbGV4fWApKTtcbiAgICAgICAgICAgIGZsZXhWYXJzW0dSSURfUkVTUE9OU0lWRV9DU1NfVkFSU1ticF0uY29sRmxleF0gPSBmbGV4VmFsdWU7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4geyBjbGFzc0xpc3QsIGZsZXhWYXJzIH07XG59O1xuZXhwb3J0IGNvbnN0IENvbCA9IG1lbW8ocHJvcHMgPT4ge1xuICAgIGNvbnN0IHsgY2hpbGRyZW4sIHNwYW4sIG9mZnNldCwgb3JkZXIsIHB1bGwsIHB1c2gsIGZsZXgsIHNtLCBtZCwgbGcsIGNsYXNzTmFtZSwgc3R5bGUsIHByZWZpeENscyA9IEdSSURfQ09MX1BSRUZJWCB9ID0gcHJvcHMsIHJlc3QgPSBfX3Jlc3QocHJvcHMsIFtcImNoaWxkcmVuXCIsIFwic3BhblwiLCBcIm9mZnNldFwiLCBcIm9yZGVyXCIsIFwicHVsbFwiLCBcInB1c2hcIiwgXCJmbGV4XCIsIFwic21cIiwgXCJtZFwiLCBcImxnXCIsIFwiY2xhc3NOYW1lXCIsIFwic3R5bGVcIiwgXCJwcmVmaXhDbHNcIl0pO1xuICAgIHdhcm5Db2xSYW5nZUluRGV2KHsgc3Bhbiwgb2Zmc2V0LCBvcmRlciwgcHVzaCwgcHVsbCwgc20sIG1kLCBsZyB9KTtcbiAgICBjb25zdCB7IGNsYXNzTmFtZVZhbHVlLCBmbGV4VmFsdWUsIGZsZXhWYXJzIH0gPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgY29uc3QgY2xhc3NlcyA9IGNsYXNzbmFtZXMocHJlZml4Q2xzKTtcbiAgICAgICAgY29uc3QgeyBjbGFzc0xpc3QsIGZsZXhWYXJzIH0gPSBidWlsZFJlc3BvbnNpdmVDb25maWcoeyBzbSwgbWQsIGxnIH0sIGNsYXNzZXMpO1xuICAgICAgICBjb25zdCBub3JtYWxpemVkRmxleCA9IG5vcm1hbGl6ZUZsZXgoZmxleCk7XG4gICAgICAgIGNvbnN0IG5leHRDbGFzc05hbWUgPSBqb2luQ2xzKGNsYXNzZXMoKSwgc3BhbiAhPSBudWxsICYmICFub3JtYWxpemVkRmxleCAmJiBjbGFzc2VzKGAke3NwYW59YCksIG9mZnNldCAhPSBudWxsICYmIGNsYXNzZXMoYCR7R1JJRF9DTEFTUy5vZmZzZXR9LSR7b2Zmc2V0fWApLCBvcmRlciAhPSBudWxsICYmIGNsYXNzZXMoYCR7R1JJRF9DTEFTUy5vcmRlcn0tJHtvcmRlcn1gKSwgcHVzaCAhPSBudWxsICYmIGNsYXNzZXMoYCR7R1JJRF9DTEFTUy5wdXNofS0ke3B1c2h9YCksIHB1bGwgIT0gbnVsbCAmJiBjbGFzc2VzKGAke0dSSURfQ0xBU1MucHVsbH0tJHtwdWxsfWApLCAuLi5jbGFzc0xpc3QsIGNsYXNzTmFtZSk7XG4gICAgICAgIHJldHVybiB7IGNsYXNzTmFtZVZhbHVlOiBuZXh0Q2xhc3NOYW1lLCBmbGV4VmFsdWU6IG5vcm1hbGl6ZWRGbGV4LCBmbGV4VmFycyB9O1xuICAgIH0sIFtjbGFzc05hbWUsIGZsZXgsIGxnLCBtZCwgb2Zmc2V0LCBvcmRlciwgcHJlZml4Q2xzLCBwdWxsLCBwdXNoLCBzbSwgc3Bhbl0pO1xuICAgIC8vIFVzZXItc3VwcGxpZWQgYHN0eWxlYCB3aW5zIG92ZXIgdGhlIGNvbXB1dGVkIGZsZXggQ1NTIHZhcnMuXG4gICAgY29uc3QgbWVyZ2VkU3R5bGUgPSB1c2VNZW1vKCgpID0+IChPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgKGZsZXhWYWx1ZSAmJiB7IFtHUklEX0NTU19WQVJTLmNvbEZsZXhdOiBmbGV4VmFsdWUgfSkpLCBmbGV4VmFycyksIHN0eWxlKSksIFtzdHlsZSwgZmxleFZhbHVlLCBmbGV4VmFyc10pO1xuICAgIHJldHVybiAoX2pzeChcImRpdlwiLCBPYmplY3QuYXNzaWduKHt9LCByZXN0LCB7IHN0eWxlOiBtZXJnZWRTdHlsZSwgY2xhc3NOYW1lOiBjbGFzc05hbWVWYWx1ZSwgY2hpbGRyZW46IGNoaWxkcmVuIH0pKSk7XG59KTtcbkNvbC5kaXNwbGF5TmFtZSA9ICdDb2wnO1xuZXhwb3J0IGRlZmF1bHQgQ29sOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
@@ -3,7 +3,10 @@ import type { GridRowProps } from './interface';
3
3
  import './style';
4
4
  export interface GridProps extends GridRowProps {
5
5
  }
6
- export declare const Grid: import("react").NamedExoticComponent<PropsWithChildren<GridProps>> & {
6
+ export declare const Grid: {
7
+ (props: PropsWithChildren<GridProps>): import("react/jsx-runtime").JSX.Element;
8
+ displayName: string;
9
+ } & {
7
10
  Row: import("react").NamedExoticComponent<PropsWithChildren<GridRowProps>>;
8
11
  Col: import("react").NamedExoticComponent<PropsWithChildren<import("./interface").GridColProps>>;
9
12
  };
@@ -5,17 +5,18 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports["default"] = exports.Grid = void 0;
7
7
  var _jsxRuntime = require("react/jsx-runtime");
8
- var _react = require("react");
9
8
  var _Row = require("./Row");
10
9
  var _Col = require("./Col");
11
10
  require("./style");
12
- var GridInner = /*#__PURE__*/(0, _react.memo)(function (props) {
11
+ // `Row` is already memoized, so no extra `memo` wrapper is needed here — this
12
+ // thin alias just exposes `Row` under the `Grid` name with `Grid.Row`/`Grid.Col`.
13
+ var GridInner = function GridInner(props) {
13
14
  return (0, _jsxRuntime.jsx)(_Row.Row, Object.assign({}, props));
14
- });
15
+ };
15
16
  GridInner.displayName = 'Grid';
16
17
  var Grid = exports.Grid = Object.assign(GridInner, {
17
18
  Row: _Row.Row,
18
19
  Col: _Col.Col
19
20
  });
20
21
  var _default = exports["default"] = Grid;
21
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvR3JpZC9HcmlkLmpzIiwiY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy9HcmlkL0dyaWQudHN4Il0sIm5hbWVzIjpbIl9qc3hSdW50aW1lIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9Sb3ciLCJfQ29sIiwiR3JpZElubmVyIiwibWVtbyIsInByb3BzIiwiX2pzeCIsIlJvdyIsIk9iamVjdCIsImFzc2lnbiIsImRpc3BsYXlOYW1lIiwiR3JpZCIsImV4cG9ydHMiLCJDb2wiLCJfZGVmYXVsdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsV0FBQSxHQUFBQyxPQUFBO0FDQUEsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBR0EsSUFBQUUsSUFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsSUFBQSxHQUFBSCxPQUFBO0FBQ0FBLE9BQUE7QUFJQSxJQUFNSSxTQUFTLGdCQUFHLElBQUFDLFdBQUksRUFBK0IsVUFBQUMsS0FBSztFQUFBLE9BQUksSUFBQUMsZUFBQSxFQUFDQyxRQUFHLEVBQUFDLE1BQUEsQ0FBQUMsTUFBQSxDQUFBLENBQUEsQ0FBQSxFQUFLSixLQUFLLENBQUEsQ0FBSTtBQUFBLEVBQUM7QUFFakZGLFNBQVMsQ0FBQ08sV0FBVyxHQUFHLE1BQU07QUFFdkIsSUFBTUMsSUFBSSxHQUFBQyxPQUFBLENBQUFELElBQUEsR0FBR0gsTUFBTSxDQUFDQyxNQUFNLENBQUNOLFNBQVMsRUFBRTtFQUFFSSxHQUFHLEVBQUhBLFFBQUc7RUFBRU0sR0FBRyxFQUFIQTtBQUFHLENBQUUsQ0FBQztBQUFDLElBQUFDLFFBQUEsR0FBQUYsT0FBQSxjQUU1Q0QsSUFBSSIsImZpbGUiOiJjb21wb25lbnRzL0dyaWQvR3JpZC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpzeCBhcyBfanN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBtZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgUm93IH0gZnJvbSAnLi9Sb3cnO1xuaW1wb3J0IHsgQ29sIH0gZnJvbSAnLi9Db2wnO1xuaW1wb3J0ICcuL3N0eWxlJztcbmNvbnN0IEdyaWRJbm5lciA9IG1lbW8ocHJvcHMgPT4gX2pzeChSb3csIE9iamVjdC5hc3NpZ24oe30sIHByb3BzKSkpO1xuR3JpZElubmVyLmRpc3BsYXlOYW1lID0gJ0dyaWQnO1xuZXhwb3J0IGNvbnN0IEdyaWQgPSBPYmplY3QuYXNzaWduKEdyaWRJbm5lciwgeyBSb3csIENvbCB9KTtcbmV4cG9ydCBkZWZhdWx0IEdyaWQ7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
22
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvR3JpZC9HcmlkLmpzIiwiY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy9HcmlkL0dyaWQudHN4Il0sIm5hbWVzIjpbIl9qc3hSdW50aW1lIiwicmVxdWlyZSIsIl9Sb3ciLCJfQ29sIiwiR3JpZElubmVyIiwicHJvcHMiLCJfanN4IiwiUm93IiwiT2JqZWN0IiwiYXNzaWduIiwiZGlzcGxheU5hbWUiLCJHcmlkIiwiZXhwb3J0cyIsIkNvbCIsIl9kZWZhdWx0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxXQUFBLEdBQUFDLE9BQUE7QUNFQSxJQUFBQyxJQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxJQUFBLEdBQUFGLE9BQUE7QUFDQUEsT0FBQTtBQUlBO0FBQ0E7QUFDQSxJQUFNRyxTQUFTLEdBQUcsU0FBWkEsU0FBU0EsQ0FBSUMsS0FBbUM7RUFBQSxPQUFLLElBQUFDLGVBQUEsRUFBQ0MsUUFBRyxFQUFBQyxNQUFBLENBQUFDLE1BQUEsQ0FBQSxDQUFBLENBQUEsRUFBS0osS0FBSyxDQUFBLENBQUk7QUFBQTtBQUU3RUQsU0FBUyxDQUFDTSxXQUFXLEdBQUcsTUFBTTtBQUV2QixJQUFNQyxJQUFJLEdBQUFDLE9BQUEsQ0FBQUQsSUFBQSxHQUFHSCxNQUFNLENBQUNDLE1BQU0sQ0FBQ0wsU0FBUyxFQUFFO0VBQUVHLEdBQUcsRUFBSEEsUUFBRztFQUFFTSxHQUFHLEVBQUhBO0FBQUcsQ0FBRSxDQUFDO0FBQUMsSUFBQUMsUUFBQSxHQUFBRixPQUFBLGNBRTVDRCxJQUFJIiwiZmlsZSI6ImNvbXBvbmVudHMvR3JpZC9HcmlkLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsganN4IGFzIF9qc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IFJvdyB9IGZyb20gJy4vUm93JztcbmltcG9ydCB7IENvbCB9IGZyb20gJy4vQ29sJztcbmltcG9ydCAnLi9zdHlsZSc7XG4vLyBgUm93YCBpcyBhbHJlYWR5IG1lbW9pemVkLCBzbyBubyBleHRyYSBgbWVtb2Agd3JhcHBlciBpcyBuZWVkZWQgaGVyZSDigJQgdGhpc1xuLy8gdGhpbiBhbGlhcyBqdXN0IGV4cG9zZXMgYFJvd2AgdW5kZXIgdGhlIGBHcmlkYCBuYW1lIHdpdGggYEdyaWQuUm93YC9gR3JpZC5Db2xgLlxuY29uc3QgR3JpZElubmVyID0gKHByb3BzKSA9PiBfanN4KFJvdywgT2JqZWN0LmFzc2lnbih7fSwgcHJvcHMpKTtcbkdyaWRJbm5lci5kaXNwbGF5TmFtZSA9ICdHcmlkJztcbmV4cG9ydCBjb25zdCBHcmlkID0gT2JqZWN0LmFzc2lnbihHcmlkSW5uZXIsIHsgUm93LCBDb2wgfSk7XG5leHBvcnQgZGVmYXVsdCBHcmlkOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
@@ -35,10 +35,12 @@ var Row = exports.Row = /*#__PURE__*/(0, _react.memo)(function (props) {
35
35
  var classes = (0, _classnames["default"])(prefixCls);
36
36
  var gutterVars = (0, _helper.buildGutterVars)(gutter);
37
37
  var _buildJustifyVars = (0, _helper.buildJustifyVars)(justify),
38
- justifyValue = _buildJustifyVars.staticValue,
39
38
  justifyVars = _buildJustifyVars.cssVars;
40
- var mergedStyle = Object.assign(Object.assign(Object.assign({}, style), gutterVars), justifyVars);
41
- var classNameValue = (0, _classnames.joinCls)(classes(), align && classes("".concat(_constants.GRID_CLASS.align, "-").concat(align)), justifyValue && classes("".concat(_constants.GRID_CLASS.justify, "-").concat(justifyValue)), wrap === false && classes(_constants.GRID_CLASS.noWrap), className);
39
+ var _buildAlignVars = (0, _helper.buildAlignVars)(align),
40
+ alignVars = _buildAlignVars.cssVars;
41
+ // User-supplied `style` wins over the computed gutter/justify/align CSS vars.
42
+ var mergedStyle = Object.assign(Object.assign(Object.assign(Object.assign({}, gutterVars), justifyVars), alignVars), style);
43
+ var classNameValue = (0, _classnames.joinCls)(classes(), wrap === false && classes(_constants.GRID_CLASS.noWrap), className);
42
44
  return (0, _jsxRuntime.jsx)("div", Object.assign({}, rest, {
43
45
  style: mergedStyle,
44
46
  className: classNameValue,
@@ -47,4 +49,4 @@ var Row = exports.Row = /*#__PURE__*/(0, _react.memo)(function (props) {
47
49
  });
48
50
  Row.displayName = 'Row';
49
51
  var _default = exports["default"] = Row;
50
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvR3JpZC9Sb3cuanMiLCJjb21wb25lbnRzL3NyYy9jb21wb25lbnRzL0dyaWQvUm93LnRzeCJdLCJuYW1lcyI6WyJfanN4UnVudGltZSIsInJlcXVpcmUiLCJfcmVhY3QiLCJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwiX2NvbnN0YW50cyIsIl9oZWxwZXIiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJfX3Jlc3QiLCJzIiwicCIsInByb3RvdHlwZSIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJsZW5ndGgiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsIlJvdyIsImV4cG9ydHMiLCJtZW1vIiwicHJvcHMiLCJjaGlsZHJlbiIsImd1dHRlciIsImFsaWduIiwianVzdGlmeSIsIl9wcm9wcyR3cmFwIiwid3JhcCIsIkdSSURfREVGQVVMVF9XUkFQIiwiY2xhc3NOYW1lIiwic3R5bGUiLCJfcHJvcHMkcHJlZml4Q2xzIiwicHJlZml4Q2xzIiwiR1JJRF9ST1dfUFJFRklYIiwicmVzdCIsImNsYXNzZXMiLCJjbGFzc25hbWVzIiwiZ3V0dGVyVmFycyIsImJ1aWxkR3V0dGVyVmFycyIsIl9idWlsZEp1c3RpZnlWYXJzIiwiYnVpbGRKdXN0aWZ5VmFycyIsImp1c3RpZnlWYWx1ZSIsInN0YXRpY1ZhbHVlIiwianVzdGlmeVZhcnMiLCJjc3NWYXJzIiwibWVyZ2VkU3R5bGUiLCJhc3NpZ24iLCJjbGFzc05hbWVWYWx1ZSIsImpvaW5DbHMiLCJjb25jYXQiLCJHUklEX0NMQVNTIiwibm9XcmFwIiwi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M0MsTUFBQSxDQUFBNEMsTUFBQSxDQUFBNUMsTUFBQSxDQUFBNEMsTUFBQSxDQUFBNUMsTUFBQSxDQUFBNEMsTUFBQSxDQUFBLENBQUEsQ0FBQSxFQUF1QmhCLEtBQUssQ0FBQSxFQUFLTyxVQUFVLENBQUEsRUFBS00sV0FBVyxDQUFFO0VBRTlFLElBQU1JLGNBQWMsR0FBRyxJQUFBQyxtQkFBTyxFQUM1QmIsT0FBTyxDQUFBLENBQUUsRUFDVFgsS0FBSyxJQUFJVyxPQUFPLElBQUFjLE1BQUEsQ0FBSUMscUJBQVUsQ0FBQzFCLEtBQUssT0FBQXlCLE1BQUEsQ0FBSXpCLEtBQUssQ0FBRSxDQUFDLEVBQ2hEaUIsWUFBWSxJQUFJTixPQUFPLElBQUFjLE1BQUEsQ0FBSUMscUJBQVUsQ0FBQ3pCLE9BQU8sT0FBQXdCLE1BQUEsQ0FBSVIsWUFBWSxDQUFFLENBQUMsRUFDaEVkLElBQUksS0FBSyxLQUFLLElBQUlRLE9BQU8sQ0FBQ2UscUJBQVUsQ0FBQ0MsTUFBTSxDQUFDLEVBQzVDdEIsU0FBUyxDQUNWO0VBRUQsT0FDRSxJQUFBdUIsZUFBQSxFQUFBLEtBQUEsRUFBQWxELE1BQUEsQ0FBQTRDLE1BQUEsQ0FBQSxDQUFBLENBQUEsRUFDTVosSUFBSSxFQUFBO0lBQ1JKLEtBQUssRUFBRWUsV0FBVztJQUNsQmhCLFNBQVMsRUFBRWtCLGNBQWM7SUFBQXpCLFFBQUEsRUFFeEJBO0VBQVEsQ0FBQSxDQUFBLENBQ0w7QUFFVixDQUFDLENBQUM7QUFFRkosR0FBRyxDQUFDbUMsV0FBVyxHQUFHLEtBQUs7QUFBQyxJQUFBQyxRQUFBLEdBQUFuQyxPQUFBLGNBRVRELEdBQUciLCJmaWxlIjoiY29tcG9uZW50cy9HcmlkL1Jvdy5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBtZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IGNsYXNzbmFtZXMsIHsgam9pbkNscyB9IGZyb20gJy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgR1JJRF9DTEFTUywgR1JJRF9ERUZBVUxUX1dSQVAsIEdSSURfUk9XX1BSRUZJWCB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IGJ1aWxkR3V0dGVyVmFycywgYnVpbGRKdXN0aWZ5VmFycyB9IGZyb20gJy4vaGVscGVyJztcbmV4cG9ydCBjb25zdCBSb3cgPSBtZW1vKHByb3BzID0+IHtcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBndXR0ZXIsIGFsaWduLCBqdXN0aWZ5LCB3cmFwID0gR1JJRF9ERUZBVUxUX1dSQVAsIGNsYXNzTmFtZSwgc3R5bGUsIHByZWZpeENscyA9IEdSSURfUk9XX1BSRUZJWCB9ID0gcHJvcHMsIHJlc3QgPSBfX3Jlc3QocHJvcHMsIFtcImNoaWxkcmVuXCIsIFwiZ3V0dGVyXCIsIFwiYWxpZ25cIiwgXCJqdXN0aWZ5XCIsIFwid3JhcFwiLCBcImNsYXNzTmFtZVwiLCBcInN0eWxlXCIsIFwicHJlZml4Q2xzXCJdKTtcbiAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcyhwcmVmaXhDbHMpO1xuICAgIGNvbnN0IGd1dHRlclZhcnMgPSBidWlsZEd1dHRlclZhcnMoZ3V0dGVyKTtcbiAgICBjb25zdCB7IHN0YXRpY1ZhbHVlOiBqdXN0aWZ5VmFsdWUsIGNzc1ZhcnM6IGp1c3RpZnlWYXJzIH0gPSBidWlsZEp1c3RpZnlWYXJzKGp1c3RpZnkpO1xuICAgIGNvbnN0IG1lcmdlZFN0eWxlID0gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIHN0eWxlKSwgZ3V0dGVyVmFycyksIGp1c3RpZnlWYXJzKTtcbiAgICBjb25zdCBjbGFzc05hbWVWYWx1ZSA9IGpvaW5DbHMoY2xhc3NlcygpLCBhbGlnbiAmJiBjbGFzc2VzKGAke0dSSURfQ0xBU1MuYWxpZ259LSR7YWxpZ259YCksIGp1c3RpZnlWYWx1ZSAmJiBjbGFzc2VzKGAke0dSSURfQ0xBU1MuanVzdGlmeX0tJHtqdXN0aWZ5VmFsdWV9YCksIHdyYXAgPT09IGZhbHNlICYmIGNsYXNzZXMoR1JJRF9DTEFTUy5ub1dyYXApLCBjbGFzc05hbWUpO1xuICAgIHJldHVybiAoX2pzeChcImRpdlwiLCBPYmplY3QuYXNzaWduKHt9LCByZXN0LCB7IHN0eWxlOiBtZXJnZWRTdHlsZSwgY2xhc3NOYW1lOiBjbGFzc05hbWVWYWx1ZSwgY2hpbGRyZW46IGNoaWxkcmVuIH0pKSk7XG59KTtcblJvdy5kaXNwbGF5TmFtZSA9ICdSb3cnO1xuZXhwb3J0IGRlZmF1bHQgUm93OyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
52
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvR3JpZC9Sb3cuanMiLCJjb21wb25lbnRzL3NyYy9jb21wb25lbnRzL0dyaWQvUm93LnRzeCJdLCJuYW1lcyI6WyJfanN4UnVudGltZSIsInJlcXVpcmUiLCJfcmVhY3QiLCJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwiX2NvbnN0YW50cyIsIl9oZWxwZXIiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJfX3Jlc3QiLCJzIiwicCIsInByb3RvdHlwZSIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJsZW5ndGgiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsIlJvdyIsImV4cG9ydHMiLCJtZW1vIiwicHJvcHMiLCJjaGlsZHJlbiIsImd1dHRlciIsImFsaWduIiwianVzdGlmeSIsIl9wcm9wcyR3cmFwIiwid3JhcCIsIkdSSURfREVGQVVMVF9XUkFQIiwiY2xhc3NOYW1lIiwic3R5bGUiLCJfcHJvcHMkcHJlZml4Q2xzIiwicHJlZml4Q2xzIiwiR1JJRF9ST1dfUFJFRklYIiwicmVzdCIsImNsYXNzZXMiLCJjbGFzc25hbWVzIiwiZ3V0dGVyVmFycyIsImJ1aWxkR3V0dGVyVmFycyIsIl9idWlsZEp1c3RpZnlWYXJzIiwiYnVpbGRKdXN0aWZ5VmFycyIsImp1c3RpZnlWYXJzIiwiY3NzVmFycyIsIl9idWlsZEFsaWduVmFycyIsImJ1aWxkQWxpZ25WYXJzIiwiYWxpZ25WYXJzIiwibWVyZ2VkU3R5bGUiLCJhc3NpZ24iLCJjbGFzc05hbWVWYWx1ZSIsImpvaW5DbHMiLCJHUklEX0NMQVNTIiwi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QUM7SUFBbkNxQixTQUFTLEdBQUFGLGVBQUEsQ0FBbEJELE9BQU87RUFFZjtFQUNBLElBQU1JLFdBQVcsR0FBQTVDLE1BQUEsQ0FBQTZDLE1BQUEsQ0FBQTdDLE1BQUEsQ0FBQTZDLE1BQUEsQ0FBQTdDLE1BQUEsQ0FBQTZDLE1BQUEsQ0FBQTdDLE1BQUEsQ0FBQTZDLE1BQUEsQ0FBQSxDQUFBLENBQUEsRUFBdUJWLFVBQVUsQ0FBQSxFQUFLSSxXQUFXLENBQUEsRUFBS0ksU0FBUyxDQUFBLEVBQUtmLEtBQUssQ0FBRTtFQUU1RixJQUFNa0IsY0FBYyxHQUFHLElBQUFDLG1CQUFPLEVBQUNkLE9BQU8sQ0FBQSxDQUFFLEVBQUVSLElBQUksS0FBSyxLQUFLLElBQUlRLE9BQU8sQ0FBQ2UscUJBQVUsQ0FBQ0MsTUFBTSxDQUFDLEVBQUV0QixTQUFTLENBQUM7RUFFbEcsT0FDRSxJQUFBdUIsZUFBQSxFQUFBLEtBQUEsRUFBQWxELE1BQUEsQ0FBQTZDLE1BQUEsQ0FBQSxDQUFBLENBQUEsRUFDTWIsSUFBSSxFQUFBO0lBQ1JKLEtBQUssRUFBRWdCLFdBQVc7SUFDbEJqQixTQUFTLEVBQUVtQixjQUFjO0lBQUExQixRQUFBLEVBRXhCQTtFQUFRLENBQUEsQ0FBQSxDQUNMO0FBRVYsQ0FBQyxDQUFDO0FBRUZKLEdBQUcsQ0FBQ21DLFdBQVcsR0FBRyxLQUFLO0FBQUMsSUFBQUMsUUFBQSxHQUFBbkMsT0FBQSxjQUVURCxHQUFHIiwiZmlsZSI6ImNvbXBvbmVudHMvR3JpZC9Sb3cuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19yZXN0ID0gKHRoaXMgJiYgdGhpcy5fX3Jlc3QpIHx8IGZ1bmN0aW9uIChzLCBlKSB7XG4gICAgdmFyIHQgPSB7fTtcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcbiAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XG4gICAgICAgIH1cbiAgICByZXR1cm4gdDtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgbWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBjbGFzc25hbWVzLCB7IGpvaW5DbHMgfSBmcm9tICcuLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCB7IEdSSURfQ0xBU1MsIEdSSURfREVGQVVMVF9XUkFQLCBHUklEX1JPV19QUkVGSVggfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBidWlsZEFsaWduVmFycywgYnVpbGRHdXR0ZXJWYXJzLCBidWlsZEp1c3RpZnlWYXJzIH0gZnJvbSAnLi9oZWxwZXInO1xuZXhwb3J0IGNvbnN0IFJvdyA9IG1lbW8ocHJvcHMgPT4ge1xuICAgIGNvbnN0IHsgY2hpbGRyZW4sIGd1dHRlciwgYWxpZ24sIGp1c3RpZnksIHdyYXAgPSBHUklEX0RFRkFVTFRfV1JBUCwgY2xhc3NOYW1lLCBzdHlsZSwgcHJlZml4Q2xzID0gR1JJRF9ST1dfUFJFRklYIH0gPSBwcm9wcywgcmVzdCA9IF9fcmVzdChwcm9wcywgW1wiY2hpbGRyZW5cIiwgXCJndXR0ZXJcIiwgXCJhbGlnblwiLCBcImp1c3RpZnlcIiwgXCJ3cmFwXCIsIFwiY2xhc3NOYW1lXCIsIFwic3R5bGVcIiwgXCJwcmVmaXhDbHNcIl0pO1xuICAgIGNvbnN0IGNsYXNzZXMgPSBjbGFzc25hbWVzKHByZWZpeENscyk7XG4gICAgY29uc3QgZ3V0dGVyVmFycyA9IGJ1aWxkR3V0dGVyVmFycyhndXR0ZXIpO1xuICAgIGNvbnN0IHsgY3NzVmFyczoganVzdGlmeVZhcnMgfSA9IGJ1aWxkSnVzdGlmeVZhcnMoanVzdGlmeSk7XG4gICAgY29uc3QgeyBjc3NWYXJzOiBhbGlnblZhcnMgfSA9IGJ1aWxkQWxpZ25WYXJzKGFsaWduKTtcbiAgICAvLyBVc2VyLXN1cHBsaWVkIGBzdHlsZWAgd2lucyBvdmVyIHRoZSBjb21wdXRlZCBndXR0ZXIvanVzdGlmeS9hbGlnbiBDU1MgdmFycy5cbiAgICBjb25zdCBtZXJnZWRTdHlsZSA9IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIGd1dHRlclZhcnMpLCBqdXN0aWZ5VmFycyksIGFsaWduVmFycyksIHN0eWxlKTtcbiAgICBjb25zdCBjbGFzc05hbWVWYWx1ZSA9IGpvaW5DbHMoY2xhc3NlcygpLCB3cmFwID09PSBmYWxzZSAmJiBjbGFzc2VzKEdSSURfQ0xBU1Mubm9XcmFwKSwgY2xhc3NOYW1lKTtcbiAgICByZXR1cm4gKF9qc3goXCJkaXZcIiwgT2JqZWN0LmFzc2lnbih7fSwgcmVzdCwgeyBzdHlsZTogbWVyZ2VkU3R5bGUsIGNsYXNzTmFtZTogY2xhc3NOYW1lVmFsdWUsIGNoaWxkcmVuOiBjaGlsZHJlbiB9KSkpO1xufSk7XG5Sb3cuZGlzcGxheU5hbWUgPSAnUm93JztcbmV4cG9ydCBkZWZhdWx0IFJvdzsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=