@1money/component-ui 0.0.19 → 0.0.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 (159) hide show
  1. package/es/components/Alert/Alert.js +5 -6
  2. package/es/components/Alert/style/Alert.css +1 -1
  3. package/es/components/Button/Button.js +29 -1
  4. package/es/components/Button/constants.d.ts +14 -1
  5. package/es/components/Button/constants.js +23 -3
  6. package/es/components/Button/interface.d.ts +9 -0
  7. package/es/components/Cell/Cell.d.ts +5 -0
  8. package/es/components/Cell/Cell.js +57 -0
  9. package/es/components/Cell/index.d.ts +4 -0
  10. package/es/components/Cell/index.js +5 -0
  11. package/es/components/Cell/interface.d.ts +12 -0
  12. package/es/components/Cell/interface.js +2 -0
  13. package/es/components/Cell/style/Cell.css +1 -0
  14. package/es/components/Cell/style/css.js +2 -0
  15. package/es/components/Cell/style/index.d.ts +1 -0
  16. package/es/components/Cell/style/index.js +2 -0
  17. package/es/components/Dialog/Dialog.d.ts +4 -0
  18. package/es/components/Dialog/Dialog.js +383 -0
  19. package/es/components/Dialog/constants.d.ts +60 -0
  20. package/es/components/Dialog/constants.js +57 -0
  21. package/es/components/Dialog/index.d.ts +4 -0
  22. package/es/components/Dialog/index.js +5 -0
  23. package/es/components/{Modal → Dialog}/interface.d.ts +7 -7
  24. package/es/components/Dialog/interface.js +2 -0
  25. package/es/components/Dialog/style/Dialog.css +1 -0
  26. package/es/components/Dialog/style/css.js +2 -0
  27. package/es/components/Dialog/style/index.d.ts +1 -0
  28. package/es/components/Dialog/style/index.js +2 -0
  29. package/es/components/Divider/Divider.js +15 -18
  30. package/es/components/Divider/constants.d.ts +36 -0
  31. package/es/components/Divider/constants.js +41 -0
  32. package/es/components/Divider/interface.d.ts +2 -3
  33. package/es/components/Drawer/Drawer.js +13 -129
  34. package/es/components/Drawer/constants.d.ts +8 -5
  35. package/es/components/Drawer/constants.js +9 -6
  36. package/es/components/Drawer/hooks/index.d.ts +4 -0
  37. package/es/components/Drawer/hooks/index.js +5 -0
  38. package/es/components/Drawer/hooks/useBodyScrollLock.d.ts +1 -0
  39. package/es/components/Drawer/hooks/useBodyScrollLock.js +29 -0
  40. package/es/components/Drawer/hooks/useDialogFocus.d.ts +2 -0
  41. package/es/components/Drawer/hooks/useDialogFocus.js +22 -0
  42. package/es/components/Drawer/hooks/useDrawerTransition.d.ts +4 -0
  43. package/es/components/Drawer/hooks/useDrawerTransition.js +57 -0
  44. package/es/components/Drawer/hooks/useEscapeClose.d.ts +1 -0
  45. package/es/components/Drawer/hooks/useEscapeClose.js +16 -0
  46. package/es/components/ProForm/index.d.ts +2 -2
  47. package/es/components/ProForm/index.js +2 -2
  48. package/es/components/ProForm/interface.d.ts +3 -3
  49. package/es/components/ProForm/layouts/DialogForm.d.ts +3 -0
  50. package/es/components/ProForm/layouts/DialogForm.js +74 -0
  51. package/es/components/ProForm/layouts/index.d.ts +1 -1
  52. package/es/components/ProForm/layouts/index.js +2 -2
  53. package/es/components/ProForm/style/ProForm.css +1 -1
  54. package/es/components/Select/Select.js +5 -5
  55. package/es/components/Select/SelectFieldShell.js +7 -7
  56. package/es/components/Select/SelectOptionContent.js +5 -5
  57. package/es/components/Select/constants.d.ts +37 -13
  58. package/es/components/Select/constants.js +36 -20
  59. package/es/components/Select/style/Select.css +1 -1
  60. package/es/components/Switch/Switch.js +7 -7
  61. package/es/components/Switch/constants.d.ts +23 -9
  62. package/es/components/Switch/constants.js +26 -11
  63. package/es/components/Switch/interface.d.ts +2 -2
  64. package/es/index.css +1 -1
  65. package/es/index.d.ts +6 -4
  66. package/es/index.js +4 -3
  67. package/lib/components/Alert/Alert.js +5 -6
  68. package/lib/components/Alert/style/Alert.css +1 -1
  69. package/lib/components/Button/Button.js +29 -1
  70. package/lib/components/Button/constants.d.ts +14 -1
  71. package/lib/components/Button/constants.js +23 -3
  72. package/lib/components/Button/interface.d.ts +9 -0
  73. package/lib/components/Cell/Cell.d.ts +5 -0
  74. package/lib/components/Cell/Cell.js +66 -0
  75. package/lib/components/Cell/index.d.ts +4 -0
  76. package/lib/components/Cell/index.js +33 -0
  77. package/lib/components/Cell/interface.d.ts +12 -0
  78. package/lib/components/Cell/interface.js +6 -0
  79. package/lib/components/Cell/style/Cell.css +1 -0
  80. package/lib/components/Cell/style/css.js +4 -0
  81. package/lib/components/Cell/style/index.d.ts +1 -0
  82. package/lib/components/Cell/style/index.js +4 -0
  83. package/lib/components/Dialog/Dialog.d.ts +4 -0
  84. package/lib/components/Dialog/Dialog.js +390 -0
  85. package/lib/components/Dialog/constants.d.ts +60 -0
  86. package/lib/components/Dialog/constants.js +64 -0
  87. package/lib/components/Dialog/index.d.ts +4 -0
  88. package/lib/components/Dialog/index.js +33 -0
  89. package/lib/components/{Modal → Dialog}/interface.d.ts +7 -7
  90. package/lib/components/Dialog/interface.js +6 -0
  91. package/lib/components/Dialog/style/Dialog.css +1 -0
  92. package/lib/components/Dialog/style/css.js +4 -0
  93. package/lib/components/Dialog/style/index.d.ts +1 -0
  94. package/lib/components/Dialog/style/index.js +4 -0
  95. package/lib/components/Divider/Divider.js +16 -18
  96. package/lib/components/Divider/constants.d.ts +36 -0
  97. package/lib/components/Divider/constants.js +48 -0
  98. package/lib/components/Divider/interface.d.ts +2 -3
  99. package/lib/components/Drawer/Drawer.js +14 -130
  100. package/lib/components/Drawer/constants.d.ts +8 -5
  101. package/lib/components/Drawer/constants.js +10 -7
  102. package/lib/components/Drawer/hooks/index.d.ts +4 -0
  103. package/lib/components/Drawer/hooks/index.js +34 -0
  104. package/lib/components/Drawer/hooks/useBodyScrollLock.d.ts +1 -0
  105. package/lib/components/Drawer/hooks/useBodyScrollLock.js +35 -0
  106. package/lib/components/Drawer/hooks/useDialogFocus.d.ts +2 -0
  107. package/lib/components/Drawer/hooks/useDialogFocus.js +28 -0
  108. package/lib/components/Drawer/hooks/useDrawerTransition.d.ts +4 -0
  109. package/lib/components/Drawer/hooks/useDrawerTransition.js +64 -0
  110. package/lib/components/Drawer/hooks/useEscapeClose.d.ts +1 -0
  111. package/lib/components/Drawer/hooks/useEscapeClose.js +22 -0
  112. package/lib/components/ProForm/index.d.ts +2 -2
  113. package/lib/components/ProForm/index.js +8 -8
  114. package/lib/components/ProForm/interface.d.ts +3 -3
  115. package/lib/components/ProForm/layouts/DialogForm.d.ts +3 -0
  116. package/lib/components/ProForm/layouts/DialogForm.js +81 -0
  117. package/lib/components/ProForm/layouts/index.d.ts +1 -1
  118. package/lib/components/ProForm/layouts/index.js +6 -6
  119. package/lib/components/ProForm/style/ProForm.css +1 -1
  120. package/lib/components/Select/Select.js +4 -4
  121. package/lib/components/Select/SelectFieldShell.js +6 -6
  122. package/lib/components/Select/SelectOptionContent.js +4 -4
  123. package/lib/components/Select/constants.d.ts +37 -13
  124. package/lib/components/Select/constants.js +37 -21
  125. package/lib/components/Select/style/Select.css +1 -1
  126. package/lib/components/Switch/Switch.js +6 -6
  127. package/lib/components/Switch/constants.d.ts +23 -9
  128. package/lib/components/Switch/constants.js +27 -12
  129. package/lib/components/Switch/interface.d.ts +2 -2
  130. package/lib/index.css +1 -1
  131. package/lib/index.d.ts +6 -4
  132. package/lib/index.js +21 -14
  133. package/package.json +11 -6
  134. package/es/components/Modal/Modal.d.ts +0 -4
  135. package/es/components/Modal/Modal.js +0 -383
  136. package/es/components/Modal/constants.d.ts +0 -58
  137. package/es/components/Modal/constants.js +0 -55
  138. package/es/components/Modal/index.d.ts +0 -4
  139. package/es/components/Modal/index.js +0 -5
  140. package/es/components/Modal/interface.js +0 -2
  141. package/es/components/Modal/style/Modal.css +0 -1
  142. package/es/components/Modal/style/css.js +0 -2
  143. package/es/components/Modal/style/index.d.ts +0 -1
  144. package/es/components/Modal/style/index.js +0 -2
  145. package/es/components/ProForm/layouts/ModalForm.d.ts +0 -3
  146. package/es/components/ProForm/layouts/ModalForm.js +0 -74
  147. package/lib/components/Modal/Modal.d.ts +0 -4
  148. package/lib/components/Modal/Modal.js +0 -390
  149. package/lib/components/Modal/constants.d.ts +0 -58
  150. package/lib/components/Modal/constants.js +0 -62
  151. package/lib/components/Modal/index.d.ts +0 -4
  152. package/lib/components/Modal/index.js +0 -33
  153. package/lib/components/Modal/interface.js +0 -6
  154. package/lib/components/Modal/style/Modal.css +0 -1
  155. package/lib/components/Modal/style/css.js +0 -4
  156. package/lib/components/Modal/style/index.d.ts +0 -1
  157. package/lib/components/Modal/style/index.js +0 -4
  158. package/lib/components/ProForm/layouts/ModalForm.d.ts +0 -3
  159. package/lib/components/ProForm/layouts/ModalForm.js +0 -81
@@ -0,0 +1,383 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
+ var __rest = this && this.__rest || function (s, e) {
3
+ var t = {};
4
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
6
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
7
+ }
8
+ return t;
9
+ };
10
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
11
+ import { useEventCallback } from '@1money/hooks';
12
+ import classNames from 'classnames';
13
+ import { forwardRef, isValidElement, memo, useCallback, useEffect, useId, useRef, useState } from 'react';
14
+ import { Button } from '../Button';
15
+ import { Icons } from '../Icons';
16
+ import { Portal } from '../Portal';
17
+ import { TypographyBody, TypographyHeadline } from '../Typography';
18
+ import { fillRef } from '../../utils/ref';
19
+ import { DIALOG_ACTION_KIND, DIALOG_CONTROL_LABELS, DIALOG_CONTROL_TYPE, DIALOG_DEFAULT_BUTTON_COLORS, DIALOG_DEFAULT_ICONS, DIALOG_DEFAULT_PREFIX, DIALOG_DEFAULTS, DIALOG_MODIFIER, DIALOG_NAMESPACE, DIALOG_SIZE, DIALOG_SLOT } from './constants';
20
+ import './style';
21
+ var scrollLockCount = 0;
22
+ var getClassName = function getClassName(prefixCls, slot, modifier) {
23
+ var baseClassName = "".concat(DIALOG_NAMESPACE, "-").concat(prefixCls).concat(slot ? "-".concat(slot) : '');
24
+ return modifier ? "".concat(baseClassName, "-").concat(modifier) : baseClassName;
25
+ };
26
+ var setBodyOverflow = function setBodyOverflow(value) {
27
+ if (typeof document === 'undefined') return;
28
+ document.body.style.overflow = value;
29
+ };
30
+ var lockBodyScroll = function lockBodyScroll() {
31
+ scrollLockCount += 1;
32
+ setBodyOverflow(DIALOG_DEFAULTS.overflowHidden);
33
+ };
34
+ var unlockBodyScroll = function unlockBodyScroll() {
35
+ scrollLockCount = Math.max(0, scrollLockCount - 1);
36
+ if (scrollLockCount === 0) {
37
+ requestAnimationFrame(function () {
38
+ if (scrollLockCount === 0) {
39
+ setBodyOverflow(DIALOG_DEFAULTS.overflowReset);
40
+ }
41
+ });
42
+ }
43
+ };
44
+ var useBodyScrollLock = function useBodyScrollLock(locked) {
45
+ var isLockedRef = useRef(false);
46
+ useEffect(function () {
47
+ if (!locked || isLockedRef.current) return undefined;
48
+ isLockedRef.current = true;
49
+ lockBodyScroll();
50
+ return function () {
51
+ if (!isLockedRef.current) return;
52
+ isLockedRef.current = false;
53
+ unlockBodyScroll();
54
+ };
55
+ }, [locked]);
56
+ };
57
+ var usePresence = function usePresence(open, delay) {
58
+ var _useState = useState(open),
59
+ _useState2 = _slicedToArray(_useState, 2),
60
+ mounted = _useState2[0],
61
+ setMounted = _useState2[1];
62
+ var closeTimerRef = useRef(null);
63
+ useEffect(function () {
64
+ return function () {
65
+ if (closeTimerRef.current !== null) {
66
+ window.clearTimeout(closeTimerRef.current);
67
+ }
68
+ };
69
+ }, []);
70
+ useEffect(function () {
71
+ if (open) {
72
+ if (closeTimerRef.current !== null) {
73
+ window.clearTimeout(closeTimerRef.current);
74
+ closeTimerRef.current = null;
75
+ }
76
+ setMounted(true);
77
+ return;
78
+ }
79
+ if (!mounted) return;
80
+ closeTimerRef.current = window.setTimeout(function () {
81
+ setMounted(false);
82
+ closeTimerRef.current = null;
83
+ }, delay);
84
+ }, [delay, mounted, open]);
85
+ return mounted;
86
+ };
87
+ var useDialogFocus = function useDialogFocus(active, dialogRef) {
88
+ var previousActiveElementRef = useRef(null);
89
+ useEffect(function () {
90
+ if (!active || typeof document === 'undefined') return undefined;
91
+ previousActiveElementRef.current = document.activeElement instanceof HTMLElement ? document.activeElement : null;
92
+ var frame = window.requestAnimationFrame(function () {
93
+ var _a;
94
+ (_a = dialogRef.current) === null || _a === void 0 ? void 0 : _a.focus();
95
+ });
96
+ return function () {
97
+ window.cancelAnimationFrame(frame);
98
+ };
99
+ }, [active, dialogRef]);
100
+ useEffect(function () {
101
+ var _a, _b;
102
+ if (active) return;
103
+ (_b = (_a = previousActiveElementRef.current) === null || _a === void 0 ? void 0 : _a.focus) === null || _b === void 0 ? void 0 : _b.call(_a);
104
+ previousActiveElementRef.current = null;
105
+ }, [active]);
106
+ };
107
+ var useEscapeClose = function useEscapeClose(enabled, onClose) {
108
+ useEffect(function () {
109
+ if (!enabled || typeof document === 'undefined') return undefined;
110
+ var handleKeyDown = function handleKeyDown(event) {
111
+ if (event.key !== DIALOG_DEFAULTS.escapeKey) return;
112
+ event.preventDefault();
113
+ void (onClose === null || onClose === void 0 ? void 0 : onClose());
114
+ };
115
+ document.addEventListener(DIALOG_DEFAULTS.keydownEvent, handleKeyDown);
116
+ return function () {
117
+ document.removeEventListener(DIALOG_DEFAULTS.keydownEvent, handleKeyDown);
118
+ };
119
+ }, [enabled, onClose]);
120
+ };
121
+ var renderTypographyNode = function renderTypographyNode(node, renderText) {
122
+ if (node == null || typeof node === 'boolean') return null;
123
+ if (typeof node === 'string' || typeof node === 'number') {
124
+ return renderText(node);
125
+ }
126
+ return node;
127
+ };
128
+ var renderIllustrationNode = function renderIllustrationNode(illustration) {
129
+ if (!illustration) return null;
130
+ if (typeof illustration === 'string') {
131
+ return _jsx(Icons, {
132
+ name: illustration,
133
+ size: DIALOG_DEFAULTS.illustrationSize
134
+ });
135
+ }
136
+ return /*#__PURE__*/isValidElement(illustration) ? illustration : null;
137
+ };
138
+ var toVoidHandler = function toVoidHandler(action) {
139
+ return function () {
140
+ void (action === null || action === void 0 ? void 0 : action());
141
+ };
142
+ };
143
+ var createActionHandler = function createActionHandler(action, buttonClick) {
144
+ return function (event) {
145
+ buttonClick === null || buttonClick === void 0 ? void 0 : buttonClick(event);
146
+ if (event.defaultPrevented || !action) return;
147
+ void action();
148
+ };
149
+ };
150
+ var renderControlButton = function renderControlButton(prefixCls, type, iconNode, onClick) {
151
+ return _jsx("button", {
152
+ type: DIALOG_DEFAULTS.buttonHtmlType,
153
+ className: classNames(getClassName(prefixCls, DIALOG_SLOT.control), getClassName(prefixCls, DIALOG_SLOT.control, type)),
154
+ "aria-label": DIALOG_CONTROL_LABELS[type],
155
+ onClick: toVoidHandler(onClick),
156
+ children: iconNode
157
+ });
158
+ };
159
+ var renderActionButton = function renderActionButton(_ref) {
160
+ var prefixCls = _ref.prefixCls,
161
+ kind = _ref.kind,
162
+ text = _ref.text,
163
+ action = _ref.action,
164
+ buttonProps = _ref.buttonProps;
165
+ var _a;
166
+ if (text == null || !action) return null;
167
+ return _jsx(Button, Object.assign({}, buttonProps, {
168
+ type: DIALOG_DEFAULTS.buttonHtmlType,
169
+ size: DIALOG_DEFAULTS.buttonSize,
170
+ color: (_a = buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.color) !== null && _a !== void 0 ? _a : DIALOG_DEFAULT_BUTTON_COLORS[kind],
171
+ className: classNames(getClassName(prefixCls, DIALOG_SLOT.actionButton), getClassName(prefixCls, DIALOG_SLOT.actionButton, kind), buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.className),
172
+ style: buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.style,
173
+ onClick: createActionHandler(action, buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.onClick),
174
+ children: text
175
+ }));
176
+ };
177
+ var resolveFooterNode = function resolveFooterNode(_ref2) {
178
+ var footer = _ref2.footer,
179
+ size = _ref2.size,
180
+ cancelButton = _ref2.cancelButton,
181
+ okButton = _ref2.okButton;
182
+ if (footer === null) return null;
183
+ if (typeof footer === 'function') return footer(cancelButton, okButton);
184
+ if (footer !== undefined) return footer;
185
+ if (!cancelButton && !okButton) return null;
186
+ return size === DIALOG_SIZE.large ? _jsxs(_Fragment, {
187
+ children: [cancelButton, okButton]
188
+ }) : _jsxs(_Fragment, {
189
+ children: [okButton, cancelButton]
190
+ });
191
+ };
192
+ var DialogBase = /*#__PURE__*/forwardRef(function (props, ref) {
193
+ var className = props.className,
194
+ style = props.style,
195
+ _props$prefixCls = props.prefixCls,
196
+ prefixCls = _props$prefixCls === void 0 ? DIALOG_DEFAULT_PREFIX : _props$prefixCls,
197
+ _props$open = props.open,
198
+ open = _props$open === void 0 ? false : _props$open,
199
+ _props$size = props.size,
200
+ size = _props$size === void 0 ? DIALOG_SIZE.small : _props$size,
201
+ _props$maskClosable = props.maskClosable,
202
+ maskClosable = _props$maskClosable === void 0 ? true : _props$maskClosable,
203
+ _props$showCloseIcon = props.showCloseIcon,
204
+ showCloseIcon = _props$showCloseIcon === void 0 ? true : _props$showCloseIcon,
205
+ _props$showBackIcon = props.showBackIcon,
206
+ showBackIcon = _props$showBackIcon === void 0 ? false : _props$showBackIcon,
207
+ _props$fullWidth = props.fullWidth,
208
+ fullWidth = _props$fullWidth === void 0 ? false : _props$fullWidth,
209
+ title = props.title,
210
+ description = props.description,
211
+ children = props.children,
212
+ illustration = props.illustration,
213
+ media = props.media,
214
+ closeIcon = props.closeIcon,
215
+ backIcon = props.backIcon,
216
+ footer = props.footer,
217
+ onOk = props.onOk,
218
+ onCancel = props.onCancel,
219
+ onBack = props.onBack,
220
+ _props$okText = props.okText,
221
+ okText = _props$okText === void 0 ? DIALOG_DEFAULTS.okText : _props$okText,
222
+ _props$cancelText = props.cancelText,
223
+ cancelText = _props$cancelText === void 0 ? DIALOG_DEFAULTS.cancelText : _props$cancelText,
224
+ rootStyle = props.rootStyle,
225
+ wrapperStyle = props.wrapperStyle,
226
+ bodyStyle = props.bodyStyle,
227
+ headerStyle = props.headerStyle,
228
+ contentStyle = props.contentStyle,
229
+ footerStyle = props.footerStyle,
230
+ cancelButtonProps = props.cancelButtonProps,
231
+ okButtonProps = props.okButtonProps,
232
+ rest = __rest(props, ["className", "style", "prefixCls", "open", "size", "maskClosable", "showCloseIcon", "showBackIcon", "fullWidth", "title", "description", "children", "illustration", "media", "closeIcon", "backIcon", "footer", "onOk", "onCancel", "onBack", "okText", "cancelText", "rootStyle", "wrapperStyle", "bodyStyle", "headerStyle", "contentStyle", "footerStyle", "cancelButtonProps", "okButtonProps"]);
233
+ var mounted = usePresence(open, DIALOG_DEFAULTS.closeTimeoutMs);
234
+ var dialogRef = useRef(null);
235
+ var titleId = useId();
236
+ var descriptionId = useId();
237
+ var handleSetDialogRef = useCallback(function (node) {
238
+ dialogRef.current = node;
239
+ fillRef(ref, node);
240
+ }, [ref]);
241
+ var handleCancel = useEventCallback(function () {
242
+ void (onCancel === null || onCancel === void 0 ? void 0 : onCancel());
243
+ });
244
+ var handleOk = useEventCallback(function () {
245
+ void (onOk === null || onOk === void 0 ? void 0 : onOk());
246
+ });
247
+ var handleBack = useEventCallback(function () {
248
+ void (onBack === null || onBack === void 0 ? void 0 : onBack());
249
+ });
250
+ var handleOverlayClick = useEventCallback(function () {
251
+ if (!maskClosable) return;
252
+ handleCancel();
253
+ });
254
+ useBodyScrollLock(mounted && open);
255
+ useDialogFocus(mounted && open, dialogRef);
256
+ useEscapeClose(mounted && open, handleCancel);
257
+ var hasMedia = media != null;
258
+ var closeControlNode = showCloseIcon ? renderControlButton(prefixCls, DIALOG_CONTROL_TYPE.close, closeIcon !== null && closeIcon !== void 0 ? closeIcon : _jsx(Icons, {
259
+ name: DIALOG_DEFAULT_ICONS[DIALOG_CONTROL_TYPE.close],
260
+ size: DIALOG_DEFAULTS.controlIconSize
261
+ }), handleCancel) : null;
262
+ var backControlNode = showBackIcon ? renderControlButton(prefixCls, DIALOG_CONTROL_TYPE.back, backIcon !== null && backIcon !== void 0 ? backIcon : _jsx(Icons, {
263
+ name: DIALOG_DEFAULT_ICONS[DIALOG_CONTROL_TYPE.back],
264
+ size: DIALOG_DEFAULTS.controlIconSize
265
+ }), handleBack) : null;
266
+ var illustrationNode = renderIllustrationNode(illustration);
267
+ var titleNode = renderTypographyNode(title, function (value) {
268
+ return _jsx(TypographyHeadline, {
269
+ size: "md",
270
+ as: "h2",
271
+ color: "default",
272
+ children: value
273
+ });
274
+ });
275
+ var descriptionNode = renderTypographyNode(description, function (value) {
276
+ return _jsx(TypographyBody, {
277
+ size: "md",
278
+ as: "p",
279
+ strong: true,
280
+ color: "default-secondary",
281
+ children: value
282
+ });
283
+ });
284
+ var childrenNode = renderTypographyNode(children, function (value) {
285
+ return _jsx(TypographyBody, {
286
+ size: "md",
287
+ as: "p",
288
+ strong: true,
289
+ color: "default-secondary",
290
+ children: value
291
+ });
292
+ });
293
+ var cancelButton = renderActionButton({
294
+ prefixCls: prefixCls,
295
+ kind: DIALOG_ACTION_KIND.cancel,
296
+ text: cancelText,
297
+ action: onCancel,
298
+ buttonProps: cancelButtonProps
299
+ });
300
+ var okButton = renderActionButton({
301
+ prefixCls: prefixCls,
302
+ kind: DIALOG_ACTION_KIND.ok,
303
+ text: okText,
304
+ action: onOk,
305
+ buttonProps: okButtonProps
306
+ });
307
+ var footerNode = resolveFooterNode({
308
+ footer: footer,
309
+ size: size,
310
+ cancelButton: cancelButton,
311
+ okButton: okButton
312
+ });
313
+ if (!mounted) return null;
314
+ return _jsx(Portal, {
315
+ children: _jsxs("div", {
316
+ style: rootStyle,
317
+ className: classNames(getClassName(prefixCls, DIALOG_SLOT.root), getClassName(prefixCls, DIALOG_SLOT.root, open ? DIALOG_MODIFIER.open : DIALOG_MODIFIER.closed)),
318
+ children: [_jsx("div", {
319
+ "aria-hidden": "true",
320
+ className: getClassName(prefixCls, DIALOG_SLOT.overlay),
321
+ onClick: handleOverlayClick
322
+ }), _jsx("div", {
323
+ style: wrapperStyle,
324
+ className: getClassName(prefixCls, DIALOG_SLOT.wrapper),
325
+ children: _jsxs("div", Object.assign({}, rest, {
326
+ ref: handleSetDialogRef,
327
+ role: "dialog",
328
+ "aria-modal": "true",
329
+ "aria-labelledby": title ? titleId : undefined,
330
+ "aria-describedby": description ? descriptionId : undefined,
331
+ tabIndex: -1,
332
+ style: style,
333
+ className: classNames(getClassName(prefixCls), getClassName(prefixCls, undefined, size), fullWidth && getClassName(prefixCls, undefined, DIALOG_MODIFIER.fullWidth), hasMedia && getClassName(prefixCls, undefined, DIALOG_MODIFIER.withMedia), className),
334
+ children: [closeControlNode, hasMedia && _jsx("div", {
335
+ className: getClassName(prefixCls, DIALOG_SLOT.media),
336
+ children: media
337
+ }), _jsxs("div", {
338
+ className: getClassName(prefixCls, DIALOG_SLOT.inner),
339
+ children: [backControlNode && _jsx("div", {
340
+ style: headerStyle,
341
+ className: getClassName(prefixCls, DIALOG_SLOT.header),
342
+ children: backControlNode
343
+ }), _jsxs("div", {
344
+ style: bodyStyle,
345
+ className: getClassName(prefixCls, DIALOG_SLOT.body),
346
+ children: [(illustrationNode || titleNode || descriptionNode) && _jsxs("div", {
347
+ className: getClassName(prefixCls, DIALOG_SLOT.summary),
348
+ children: [illustrationNode && _jsx("div", {
349
+ className: getClassName(prefixCls, DIALOG_SLOT.illustration),
350
+ children: illustrationNode
351
+ }), (titleNode || descriptionNode) && _jsxs("div", {
352
+ className: getClassName(prefixCls, DIALOG_SLOT.copy),
353
+ children: [titleNode && _jsx("div", {
354
+ id: titleId,
355
+ className: getClassName(prefixCls, DIALOG_SLOT.title),
356
+ children: titleNode
357
+ }), descriptionNode && _jsx("div", {
358
+ id: descriptionId,
359
+ className: getClassName(prefixCls, DIALOG_SLOT.description),
360
+ children: descriptionNode
361
+ })]
362
+ })]
363
+ }), childrenNode && _jsx("div", {
364
+ style: contentStyle,
365
+ className: getClassName(prefixCls, DIALOG_SLOT.content),
366
+ children: childrenNode
367
+ })]
368
+ }), footerNode && _jsx("div", {
369
+ style: footerStyle,
370
+ className: classNames(getClassName(prefixCls, DIALOG_SLOT.footer), getClassName(prefixCls, DIALOG_SLOT.footer, size)),
371
+ children: footerNode
372
+ })]
373
+ })]
374
+ }))
375
+ })]
376
+ })
377
+ });
378
+ });
379
+ DialogBase.displayName = 'Dialog';
380
+ export var Dialog = /*#__PURE__*/memo(DialogBase);
381
+ Dialog.displayName = 'Dialog';
382
+ export default Dialog;
383
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvRGlhbG9nL0RpYWxvZy5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZy50c3giXSwibmFtZXMiOlsiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJqc3giLCJfanN4IiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJqc3hzIiwiX2pzeHMiLCJ1c2VFdmVudENhbGxiYWNrIiwiY2xhc3NOYW1lcyIsImZvcndhcmRSZWYiLCJpc1ZhbGlkRWxlbWVudCIsIm1lbW8iLCJ1c2VDYWxsYmFjayIsInVzZUVmZmVjdCIsInVzZUlkIiwidXNlUmVmIiwidXNlU3RhdGUiLCJCdXR0b24iLCJJY29ucyIsIlBvcnRhbCIsIlR5cG9ncmFwaHlCb2R5IiwiVHlwb2dyYXBoeUhlYWRsaW5lIiwiZmlsbFJlZiIsIkRJQUxPR19BQ1RJT05fS0lORCIsIkRJQUxPR19DT05UUk9MX0xBQkVMUyIsIkRJQUxPR19DT05UUk9MX1RZUEUiLCJESUFMT0dfREVGQVVMVF9CVVRUT05fQ09MT1JTIiwiRElBTE9HX0RFRkFVTFRfSUNPTlMiLCJESUFMT0dfREVGQVVMVF9QUkVGSVgiLCJESUFMT0dfREVGQVVMVFMiLCJESUFMT0dfTU9ESUZJRVIiLCJESUFMT0dfTkFNRVNQQUNFIiwiRElBTE9HX1NJWkUiLCJESUFMT0dfU0xPVCIsInNjcm9sbExvY2tDb3VudCIsImdldENsYXNzTmFtZSIsInByZWZpeENscyIsInNsb3QiLCJtb2RpZmllciIsImJhc2VDbGFzc05hbWUiLCJjb25jYXQiLCJzZXRCb2R5T3ZlcmZsb3ciLCJ2YWx1ZSIsImRvY3VtZW50IiwiYm9keSIsInN0eWxlIiwib3ZlcmZsb3ciLCJsb2NrQm9keVNjcm9sbCIsIm92ZXJmbG93SGlkZGVuIiwidW5sb2NrQm9keVNjcm9sbCIsIk1hdGgiLCJtYXgiLCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiLCJvdmVyZmxvd1Jlc2V0IiwidXNlQm9keVNjcm9sbExvY2siLCJsb2NrZWQiLCJpc0xvY2tlZFJlZiIsImN1cnJlbnQiLCJ1bmRlZmluZWQiLCJ1c2VQcmVzZW5jZSIsIm9wZW4iLCJkZWxheSIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsIm1vdW50ZWQiLCJzZXRNb3VudGVkIiwiY2xvc2VUaW1lclJlZiIsIndpbmRvdyIsImNsZWFyVGltZW91dCIsInNldFRpbWVvdXQiLCJ1c2VEaWFsb2dGb2N1cyIsImFjdGl2ZSIsImRpYWxvZ1JlZiIsInByZXZpb3VzQWN0aXZlRWxlbWVudFJlZiIsImFjdGl2ZUVsZW1lbnQiLCJIVE1MRWxlbWVudCIsImZyYW1lIiwiX2EiLCJmb2N1cyIsImNhbmNlbEFuaW1hdGlvbkZyYW1lIiwiX2IiLCJ1c2VFc2NhcGVDbG9zZSIsImVuYWJsZWQiLCJvbkNsb3NlIiwiaGFuZGxlS2V5RG93biIsImV2ZW50Iiwia2V5IiwiZXNjYXBlS2V5IiwicHJldmVudERlZmF1bHQiLCJhZGRFdmVudExpc3RlbmVyIiwia2V5ZG93bkV2ZW50IiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsInJlbmRlclR5cG9ncmFwaHlOb2RlIiwibm9kZSIsInJlbmRlclRleHQiLCJyZW5kZXJJbGx1c3RyYXRpb25Ob2RlIiwiaWxsdXN0cmF0aW9uIiwibmFtZSIsInNpemUiLCJpbGx1c3RyYXRpb25TaXplIiwidG9Wb2lkSGFuZGxlciIsImFjdGlvbiIsImNyZWF0ZUFjdGlvbkhhbmRsZXIiLCJidXR0b25DbGljayIsImRlZmF1bHRQcmV2ZW50ZWQiLCJyZW5kZXJDb250cm9sQnV0dG9uIiwidHlwZSIsImljb25Ob2RlIiwib25DbGljayIsImJ1dHRvbkh0bWxUeXBlIiwiY2xhc3NOYW1lIiwiY29udHJvbCIsImNoaWxkcmVuIiwicmVuZGVyQWN0aW9uQnV0dG9uIiwiX3JlZiIsImtpbmQiLCJ0ZXh0IiwiYnV0dG9uUHJvcHMiLCJhc3NpZ24iLCJidXR0b25TaXplIiwiY29sb3IiLCJhY3Rpb25CdXR0b24iLCJyZXNvbHZlRm9vdGVyTm9kZSIsIl9yZWYyIiwiZm9vdGVyIiwiY2FuY2VsQnV0dG9uIiwib2tCdXR0b24iLCJsYXJnZSIsIkRpYWxvZ0Jhc2UiLCJwcm9wcyIsInJlZiIsIl9wcm9wcyRwcmVmaXhDbHMiLCJfcHJvcHMkb3BlbiIsIl9wcm9wcyRzaXplIiwic21hbGwiLCJfcHJvcHMkbWFza0Nsb3NhYmxlIiwibWFza0Nsb3NhYmxlIiwiX3Byb3BzJHNob3dDbG9zZUljb24iLCJzaG93Q2xvc2VJY29uIiwiX3Byb3BzJHNob3dCYWNrSWNvbiIsInNob3dCYWNrSWNvbiIsIl9wcm9wcyRmdWxsV2lkdGgiLCJmdWxsV2lkdGgiLCJ0aXRsZSIsImRlc2NyaXB0aW9uIiwibWVkaWEiLCJjbG9zZUljb24iLCJiYWNrSWNvbiIsIm9uT2siLCJvbkNhbmNlbCIsIm9uQmFjayIsIl9wcm9wcyRva1RleHQiLCJva1RleHQiLCJfcHJvcHMkY2FuY2VsVGV4dCIsImNhbmNlbFRleHQiLCJyb290U3R5bGUiLCJ3cmFwcGVyU3R5bGUiLCJib2R5U3R5bGUiLCJoZWFkZXJTdHlsZSIsImNvbnRlbnRTdHlsZSIsImZvb3RlclN0eWxlIiwiY2FuY2VsQnV0dG9uUHJvcHMiLCJva0J1dHRvblByb3BzIiwicmVzdCIsImNsb3NlVGltZW91dE1zIiwidGl0bGVJZCIsImRlc2NyaXB0aW9uSWQiLCJoYW5kbGVTZXREaWFsb2dSZWYiLCJoYW5kbGVDYW5jZWwiLCJoYW5kbGVPayIsImhhbmRsZUJhY2siLCJoYW5kbGVPdmVybGF5Q2xpY2siLCJoYXNNZWRpYSIsImNsb3NlQ29udHJvbE5vZGUiLCJjbG9zZSIsImNvbnRyb2xJY29uU2l6ZSIsImJhY2tDb250cm9sTm9kZSIsImJhY2siLCJpbGx1c3RyYXRpb25Ob2RlIiwidGl0bGVOb2RlIiwiYXMiLCJkZXNjcmlwdGlvbk5vZGUiLCJzdHJvbmciLCJjaGlsZHJlbk5vZGUiLCJjYW5jZWwiLCJvayIsImZvb3Rlck5vZGUiLCJyb290IiwiY2xvc2VkIiwib3ZlcmxheSIsIndyYXBwZXIiLCJyb2xlIiwidGFiSW5kZXgiLCJ3aXRoTWVkaWEiLCJpbm5lciIsImhlYWRlciIsInN1bW1hcnkiLCJjb3B5IiwiaWQiLCJjb250ZW50IiwiZGlzcGxheU5hbWUiLCJEaWFsb2ciXSwibWFwcGluZ3MiOiI7QUFBQSxJQUFJQSxNQUFNLEdBQUksSUFBSSxJQUFJLElBQUksQ0FBQ0EsTUFBTSxJQUFLLFVBQVVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFO0VBQ2xELElBQUlDLENBQUMsR0FBRyxDQUFDLENBQUM7RUFDVixLQUFLLElBQUlDLENBQUMsSUFBSUgsQ0FBQyxFQUFFLElBQUlJLE1BQU0sQ0FBQ0MsU0FBUyxDQUFDQyxjQUFjLENBQUNDLElBQUksQ0FBQ1AsQ0FBQyxFQUFFRyxDQUFDLENBQUMsSUFBSUYsQ0FBQyxDQUFDTyxPQUFPLENBQUNMLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFDL0VELENBQUMsQ0FBQ0MsQ0FBQyxDQUFDLEdBQUdILENBQUMsQ0FBQ0csQ0FBQyxDQUFDO0VBQ2YsSUFBSUgsQ0FBQyxJQUFJLElBQUksSUFBSSxPQUFPSSxNQUFNLENBQUNLLHFCQUFxQixLQUFLLFVBQVUsRUFDL0QsS0FBSyxJQUFJQyxDQUFDLEdBQUcsQ0FBQyxFQUFFUCxDQUFDLEdBQUdDLE1BQU0sQ0FBQ0sscUJBQXFCLENBQUNULENBQUMsQ0FBQyxFQUFFVSxDQUFDLEdBQUdQLENBQUMsQ0FBQ1EsTUFBTSxFQUFFRCxDQUFDLEVBQUUsRUFBRTtJQUNwRSxJQUFJVCxDQUFDLENBQUNPLE9BQU8sQ0FBQ0wsQ0FBQyxDQUFDTyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSU4sTUFBTSxDQUFDQyxTQUFTLENBQUNPLG9CQUFvQixDQUFDTCxJQUFJLENBQUNQLENBQUMsRUFBRUcsQ0FBQyxDQUFDTyxDQUFDLENBQUMsQ0FBQyxFQUMxRVIs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QUEsQ0FBQSxDQUNHLEVBQ0xHLFVBQVUsSUFDVHpMLElBQUEsQ0FBQSxLQUFBLEVBQUE7Y0FDRTJDLEtBQUssRUFBRW9ILFdBQVc7Y0FDbEJsRCxTQUFTLEVBQUV2RyxVQUFVLENBQ25CMkIsWUFBWSxDQUFDQyxTQUFTLEVBQUVILFdBQVcsQ0FBQzRGLE1BQU0sQ0FBQyxFQUMzQzFGLFlBQVksQ0FBQ0MsU0FBUyxFQUFFSCxXQUFXLENBQUM0RixNQUFNLEVBQUUxQixJQUFJLENBQUMsQ0FDbEQ7Y0FBQWMsUUFBQSxFQUVBMEU7WUFBVSxDQUFBLENBRWQ7VUFBQSxDQUFBLENBQ0c7UUFBQSxDQUFBLENBQUE7TUFDRixDQUFBLENBQ0Y7SUFBQSxDQUFBO0VBQ0YsQ0FBQSxDQUNDO0FBRWIsQ0FBQyxDQUFDO0FBRUYxRCxVQUFVLENBQUN3RSxXQUFXLEdBQUcsUUFBUTtBQUVqQyxPQUFPLElBQU1DLE1BQU0sZ0JBQUcvTCxJQUFJLENBQUNzSCxVQUFVLENBQUM7QUFFdEN5RSxNQUFNLENBQUNELFdBQVcsR0FBRyxRQUFRO0FBRTdCLGVBQWVDLE1BQU0iLCJmaWxlIjoiY29tcG9uZW50cy9EaWFsb2cvRGlhbG9nLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHsganN4IGFzIF9qc3gsIEZyYWdtZW50IGFzIF9GcmFnbWVudCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgdXNlRXZlbnRDYWxsYmFjayB9IGZyb20gJ0AxbW9uZXkvaG9va3MnO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyBmb3J3YXJkUmVmLCBpc1ZhbGlkRWxlbWVudCwgbWVtbywgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlSWQsIHVzZVJlZiwgdXNlU3RhdGUsIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnLi4vQnV0dG9uJztcbmltcG9ydCB7IEljb25zIH0gZnJvbSAnLi4vSWNvbnMnO1xuaW1wb3J0IHsgUG9ydGFsIH0gZnJvbSAnLi4vUG9ydGFsJztcbmltcG9ydCB7IFR5cG9ncmFwaHlCb2R5LCBUeXBvZ3JhcGh5SGVhZGxpbmUgfSBmcm9tICcuLi9UeXBvZ3JhcGh5JztcbmltcG9ydCB7IGZpbGxSZWYgfSBmcm9tICcuLi8uLi91dGlscy9yZWYnO1xuaW1wb3J0IHsgRElBTE9HX0FDVElPTl9LSU5ELCBESUFMT0dfQ09OVFJPTF9MQUJFTFMsIERJQUxPR19DT05UUk9MX1RZUEUsIERJQUxPR19ERUZBVUxUX0JVVFRPTl9DT0xPUlMsIERJQUxPR19ERUZBVUxUX0lDT05TLCBESUFMT0dfREVGQVVMVF9QUkVGSVgsIERJQUxPR19ERUZBVUxUUywgRElBTE9HX01PRElGSUVSLCBESUFMT0dfTkFNRVNQQUNFLCBESUFMT0dfU0laRSwgRElBTE9HX1NMT1QsIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0ICcuL3N0eWxlJztcbmxldCBzY3JvbGxMb2NrQ291bnQgPSAwO1xuY29uc3QgZ2V0Q2xhc3NOYW1lID0gKHByZWZpeENscywgc2xvdCwgbW9kaWZpZXIpID0+IHtcbiAgICBjb25zdCBiYXNlQ2xhc3NOYW1lID0gYCR7RElBTE9HX05BTUVTUEFDRX0tJHtwcmVmaXhDbHN9JHtzbG90ID8gYC0ke3Nsb3R9YCA6ICcnfWA7XG4gICAgcmV0dXJuIG1vZGlmaWVyID8gYCR7YmFzZUNsYXNzTmFtZX0tJHttb2RpZmllcn1gIDogYmFzZUNsYXNzTmFtZTtcbn07XG5jb25zdCBzZXRCb2R5T3ZlcmZsb3cgPSAodmFsdWUpID0+IHtcbiAgICBpZiAodHlwZW9mIGRvY3VtZW50ID09PSAndW5kZWZpbmVkJylcbiAgICAgICAgcmV0dXJuO1xuICAgIGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3cgPSB2YWx1ZTtcbn07XG5jb25zdCBsb2NrQm9keVNjcm9sbCA9ICgpID0+IHtcbiAgICBzY3JvbGxMb2NrQ291bnQgKz0gMTtcbiAgICBzZXRCb2R5T3ZlcmZsb3coRElBTE9HX0RFRkFVTFRTLm92ZXJmbG93SGlkZGVuKTtcbn07XG5jb25zdCB1bmxvY2tCb2R5U2Nyb2xsID0gKCkgPT4ge1xuICAgIHNjcm9sbExvY2tDb3VudCA9IE1hdGgubWF4KDAsIHNjcm9sbExvY2tDb3VudCAtIDEpO1xuICAgIGlmIChzY3JvbGxMb2NrQ291bnQgPT09IDApIHtcbiAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgICAgIGlmIChzY3JvbGxMb2NrQ291bnQgPT09IDApIHtcbiAgICAgICAgICAgICAgICBzZXRCb2R5T3ZlcmZsb3coRElBTE9HX0RFRkFVTFRTLm92ZXJmbG93UmVzZXQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG59O1xuY29uc3QgdXNlQm9keVNjcm9sbExvY2sgPSAobG9ja2VkKSA9PiB7XG4gICAgY29uc3QgaXNMb2NrZWRSZWYgPSB1c2VSZWYoZmFsc2UpO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmICghbG9ja2VkIHx8IGlzTG9ja2VkUmVmLmN1cnJlbnQpXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICBpc0xvY2tlZFJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgbG9ja0JvZHlTY3JvbGwoKTtcbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgIGlmICghaXNMb2NrZWRSZWYuY3VycmVudClcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICBpc0xvY2tlZFJlZi5jdXJyZW50ID0gZmFsc2U7XG4gICAgICAgICAgICB1bmxvY2tCb2R5U2Nyb2xsKCk7XG4gICAgICAgIH07XG4gICAgfSwgW2xvY2tlZF0pO1xufTtcbmNvbnN0IHVzZVByZXNlbmNlID0gKG9wZW4sIGRlbGF5KSA9PiB7XG4gICAgY29uc3QgW21vdW50ZWQsIHNldE1vdW50ZWRdID0gdXNlU3RhdGUob3Blbik7XG4gICAgY29uc3QgY2xvc2VUaW1lclJlZiA9IHVzZVJlZihudWxsKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgaWYgKGNsb3NlVGltZXJSZWYuY3VycmVudCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5jbGVhclRpbWVvdXQoY2xvc2VUaW1lclJlZi5jdXJyZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9LCBbXSk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKG9wZW4pIHtcbiAgICAgICAgICAgIGlmIChjbG9zZVRpbWVyUmVmLmN1cnJlbnQgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KGNsb3NlVGltZXJSZWYuY3VycmVudCk7XG4gICAgICAgICAgICAgICAgY2xvc2VUaW1lclJlZi5jdXJyZW50ID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNldE1vdW50ZWQodHJ1ZSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFtb3VudGVkKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBjbG9zZVRpbWVyUmVmLmN1cnJlbnQgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBzZXRNb3VudGVkKGZhbHNlKTtcbiAgICAgICAgICAgIGNsb3NlVGltZXJSZWYuY3VycmVudCA9IG51bGw7XG4gICAgICAgIH0sIGRlbGF5KTtcbiAgICB9LCBbZGVsYXksIG1vdW50ZWQsIG9wZW5dKTtcbiAgICByZXR1cm4gbW91bnRlZDtcbn07XG5jb25zdCB1c2VEaWFsb2dGb2N1cyA9IChhY3RpdmUsIGRpYWxvZ1JlZikgPT4ge1xuICAgIGNvbnN0IHByZXZpb3VzQWN0aXZlRWxlbWVudFJlZiA9IHVzZVJlZihudWxsKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAoIWFjdGl2ZSB8fCB0eXBlb2YgZG9jdW1lbnQgPT09ICd1bmRlZmluZWQnKVxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgcHJldmlvdXNBY3RpdmVFbGVtZW50UmVmLmN1cnJlbnQgPVxuICAgICAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50ID8gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA6IG51bGw7XG4gICAgICAgIGNvbnN0IGZyYW1lID0gd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICAoX2EgPSBkaWFsb2dSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmZvY3VzKCk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgd2luZG93LmNhbmNlbEFuaW1hdGlvbkZyYW1lKGZyYW1lKTtcbiAgICAgICAgfTtcbiAgICB9LCBbYWN0aXZlLCBkaWFsb2dSZWZdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICBpZiAoYWN0aXZlKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAoX2IgPSAoX2EgPSBwcmV2aW91c0FjdGl2ZUVsZW1lbnRSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmZvY3VzKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuY2FsbChfYSk7XG4gICAgICAgIHByZXZpb3VzQWN0aXZlRWxlbWVudFJlZi5jdXJyZW50ID0gbnVsbDtcbiAgICB9LCBbYWN0aXZlXSk7XG59O1xuY29uc3QgdXNlRXNjYXBlQ2xvc2UgPSAoZW5hYmxlZCwgb25DbG9zZSkgPT4ge1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmICghZW5hYmxlZCB8fCB0eXBlb2YgZG9jdW1lbnQgPT09ICd1bmRlZmluZWQnKVxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgaGFuZGxlS2V5RG93biA9IChldmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKGV2ZW50LmtleSAhPT0gRElBTE9HX0RFRkFVTFRTLmVzY2FwZUtleSlcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgdm9pZCAob25DbG9zZSA9PT0gbnVsbCB8fCBvbkNsb3NlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkNsb3NlKCkpO1xuICAgICAgICB9O1xuICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKERJQUxPR19ERUZBVUxUUy5rZXlkb3duRXZlbnQsIGhhbmRsZUtleURvd24pO1xuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihESUFMT0dfREVGQVVMVFMua2V5ZG93bkV2ZW50LCBoYW5kbGVLZXlEb3duKTtcbiAgICAgICAgfTtcbiAgICB9LCBbZW5hYmxlZCwgb25DbG9zZV0pO1xufTtcbmNvbnN0IHJlbmRlclR5cG9ncmFwaHlOb2RlID0gKG5vZGUsIHJlbmRlclRleHQpID0+IHtcbiAgICBpZiAobm9kZSA9PSBudWxsIHx8IHR5cGVvZiBub2RlID09PSAnYm9vbGVhbicpXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIGlmICh0eXBlb2Ygbm9kZSA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIG5vZGUgPT09ICdudW1iZXInKSB7XG4gICAgICAgIHJldHVybiByZW5kZXJUZXh0KG5vZGUpO1xuICAgIH1cbiAgICByZXR1cm4gbm9kZTtcbn07XG5jb25zdCByZW5kZXJJbGx1c3RyYXRpb25Ob2RlID0gKGlsbHVzdHJhdGlvbikgPT4ge1xuICAgIGlmICghaWxsdXN0cmF0aW9uKVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICBpZiAodHlwZW9mIGlsbHVzdHJhdGlvbiA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgcmV0dXJuIF9qc3goSWNvbnMsIHsgbmFtZTogaWxsdXN0cmF0aW9uLCBzaXplOiBESUFMT0dfREVGQVVMVFMuaWxsdXN0cmF0aW9uU2l6ZSB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGlzVmFsaWRFbGVtZW50KGlsbHVzdHJhdGlvbikgPyBpbGx1c3RyYXRpb24gOiBudWxsO1xufTtcbmNvbnN0IHRvVm9pZEhhbmRsZXIgPSAoYWN0aW9uKSA9PiAoKSA9PiB7XG4gICAgdm9pZCAoYWN0aW9uID09PSBudWxsIHx8IGFjdGlvbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogYWN0aW9uKCkpO1xufTtcbmNvbnN0IGNyZWF0ZUFjdGlvbkhhbmRsZXIgPSAoYWN0aW9uLCBidXR0b25DbGljaykgPT4gKGV2ZW50KSA9PiB7XG4gICAgYnV0dG9uQ2xpY2sgPT09IG51bGwgfHwgYnV0dG9uQ2xpY2sgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGJ1dHRvbkNsaWNrKGV2ZW50KTtcbiAgICBpZiAoZXZlbnQuZGVmYXVsdFByZXZlbnRlZCB8fCAhYWN0aW9uKVxuICAgICAgICByZXR1cm47XG4gICAgdm9pZCBhY3Rpb24oKTtcbn07XG5jb25zdCByZW5kZXJDb250cm9sQnV0dG9uID0gKHByZWZpeENscywgdHlwZSwgaWNvbk5vZGUsIG9uQ2xpY2spID0+IChfanN4KFwiYnV0dG9uXCIsIHsgdHlwZTogRElBTE9HX0RFRkFVTFRTLmJ1dHRvbkh0bWxUeXBlLCBjbGFzc05hbWU6IGNsYXNzTmFtZXMoZ2V0Q2xhc3NOYW1lKHByZWZpeENscywgRElBTE9HX1NMT1QuY29udHJvbCksIGdldENsYXNzTmFtZShwcmVmaXhDbHMsIERJQUxPR19TTE9ULmNvbnRyb2wsIHR5cGUpKSwgXCJhcmlhLWxhYmVsXCI6IERJQUxPR19DT05UUk9MX0xBQkVMU1t0eXBlXSwgb25DbGljazogdG9Wb2lkSGFuZGxlcihvbkNsaWNrKSwgY2hpbGRyZW46IGljb25Ob2RlIH0pKTtcbmNvbnN0IHJlbmRlckFjdGlvbkJ1dHRvbiA9ICh7IHByZWZpeENscywga2luZCwgdGV4dCwgYWN0aW9uLCBidXR0b25Qcm9wcywgfSkgPT4ge1xuICAgIHZhciBfYTtcbiAgICBpZiAodGV4dCA9PSBudWxsIHx8ICFhY3Rpb24pXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIHJldHVybiAoX2pzeChCdXR0b24sIE9iamVjdC5hc3NpZ24oe30sIGJ1dHRvblByb3BzLCB7IHR5cGU6IERJQUxPR19ERUZBVUxUUy5idXR0b25IdG1sVHlwZSwgc2l6ZTogRElBTE9HX0RFRkFVTFRTLmJ1dHRvblNpemUsIGNvbG9yOiAoX2EgPSBidXR0b25Qcm9wcyA9PT0gbnVsbCB8fCBidXR0b25Qcm9wcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogYnV0dG9uUHJvcHMuY29sb3IpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IERJQUxPR19ERUZBVUxUX0JVVFRPTl9DT0xPUlNba2luZF0sIGNsYXNzTmFtZTogY2xhc3NOYW1lcyhnZXRDbGFzc05hbWUocHJlZml4Q2xzLCBESUFMT0dfU0xPVC5hY3Rpb25CdXR0b24pLCBnZXRDbGFzc05hbWUocHJlZml4Q2xzLCBESUFMT0dfU0xPVC5hY3Rpb25CdXR0b24sIGtpbmQpLCBidXR0b25Qcm9wcyA9PT0gbnVsbCB8fCBidXR0b25Qcm9wcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogYnV0dG9uUHJvcHMuY2xhc3NOYW1lKSwgc3R5bGU6IGJ1dHRvblByb3BzID09PSBudWxsIHx8IGJ1dHRvblByb3BzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBidXR0b25Qcm9wcy5zdHlsZSwgb25DbGljazogY3JlYXRlQWN0aW9uSGFuZGxlcihhY3Rpb24sIGJ1dHRvblByb3BzID09PSBudWxsIHx8IGJ1dHRvblByb3BzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBidXR0b25Qcm9wcy5vbkNsaWNrKSwgY2hpbGRyZW46IHRleHQgfSkpKTtcbn07XG5jb25zdCByZXNvbHZlRm9vdGVyTm9kZSA9ICh7IGZvb3Rlciwgc2l6ZSwgY2FuY2VsQnV0dG9uLCBva0J1dHRvbiwgfSkgPT4ge1xuICAgIGlmIChmb290ZXIgPT09IG51bGwpXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIGlmICh0eXBlb2YgZm9vdGVyID09PSAnZnVuY3Rpb24nKVxuICAgICAgICByZXR1cm4gZm9vdGVyKGNhbmNlbEJ1dHRvbiwgb2tCdXR0b24pO1xuICAgIGlmIChmb290ZXIgIT09IHVuZGVmaW5lZClcbiAgICAgICAgcmV0dXJuIGZvb3RlcjtcbiAgICBpZiAoIWNhbmNlbEJ1dHRvbiAmJiAhb2tCdXR0b24pXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIHJldHVybiBzaXplID09PSBESUFMT0dfU0laRS5sYXJnZVxuICAgICAgICA/IChfanN4cyhfRnJhZ21lbnQsIHsgY2hpbGRyZW46IFtjYW5jZWxCdXR0b24sIG9rQnV0dG9uXSB9KSlcbiAgICAgICAgOiAoX2pzeHMoX0ZyYWdtZW50LCB7IGNoaWxkcmVuOiBbb2tCdXR0b24sIGNhbmNlbEJ1dHRvbl0gfSkpO1xufTtcbmNvbnN0IERpYWxvZ0Jhc2UgPSBmb3J3YXJkUmVmKChwcm9wcywgcmVmKSA9PiB7XG4gICAgY29uc3QgeyBjbGFzc05hbWUsIHN0eWxlLCBwcmVmaXhDbHMgPSBESUFMT0dfREVGQVVMVF9QUkVGSVgsIG9wZW4gPSBmYWxzZSwgc2l6ZSA9IERJQUxPR19TSVpFLnNtYWxsLCBtYXNrQ2xvc2FibGUgPSB0cnVlLCBzaG93Q2xvc2VJY29uID0gdHJ1ZSwgc2hvd0JhY2tJY29uID0gZmFsc2UsIGZ1bGxXaWR0aCA9IGZhbHNlLCB0aXRsZSwgZGVzY3JpcHRpb24sIGNoaWxkcmVuLCBpbGx1c3RyYXRpb24sIG1lZGlhLCBjbG9zZUljb24sIGJhY2tJY29uLCBmb290ZXIsIG9uT2ssIG9uQ2FuY2VsLCBvbkJhY2ssIG9rVGV4dCA9IERJQUxPR19ERUZBVUxUUy5va1RleHQsIGNhbmNlbFRleHQgPSBESUFMT0dfREVGQVVMVFMuY2FuY2VsVGV4dCwgcm9vdFN0eWxlLCB3cmFwcGVyU3R5bGUsIGJvZHlTdHlsZSwgaGVhZGVyU3R5bGUsIGNvbnRlbnRTdHlsZSwgZm9vdGVyU3R5bGUsIGNhbmNlbEJ1dHRvblByb3BzLCBva0J1dHRvblByb3BzIH0gPSBwcm9wcywgcmVzdCA9IF9fcmVzdChwcm9wcywgW1wiY2xhc3NOYW1lXCIsIFwic3R5bGVcIiwgXCJwcmVmaXhDbHNcIiwgXCJvcGVuXCIsIFwic2l6ZVwiLCBcIm1hc2tDbG9zYWJsZVwiLCBcInNob3dDbG9zZUljb25cIiwgXCJzaG93QmFja0ljb25cIiwgXCJmdWxsV2lkdGhcIiwgXCJ0aXRsZVwiLCBcImRlc2NyaXB0aW9uXCIsIFwiY2hpbGRyZW5cIiwgXCJpbGx1c3RyYXRpb25cIiwgXCJtZWRpYVwiLCBcImNsb3NlSWNvblwiLCBcImJhY2tJY29uXCIsIFwiZm9vdGVyXCIsIFwib25Pa1wiLCBcIm9uQ2FuY2VsXCIsIFwib25CYWNrXCIsIFwib2tUZXh0XCIsIFwiY2FuY2VsVGV4dFwiLCBcInJvb3RTdHlsZVwiLCBcIndyYXBwZXJTdHlsZVwiLCBcImJvZHlTdHlsZVwiLCBcImhlYWRlclN0eWxlXCIsIFwiY29udGVudFN0eWxlXCIsIFwiZm9vdGVyU3R5bGVcIiwgXCJjYW5jZWxCdXR0b25Qcm9wc1wiLCBcIm9rQnV0dG9uUHJvcHNcIl0pO1xuICAgIGNvbnN0IG1vdW50ZWQgPSB1c2VQcmVzZW5jZShvcGVuLCBESUFMT0dfREVGQVVMVFMuY2xvc2VUaW1lb3V0TXMpO1xuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCB0aXRsZUlkID0gdXNlSWQoKTtcbiAgICBjb25zdCBkZXNjcmlwdGlvbklkID0gdXNlSWQoKTtcbiAgICBjb25zdCBoYW5kbGVTZXREaWFsb2dSZWYgPSB1c2VDYWxsYmFjaygobm9kZSkgPT4ge1xuICAgICAgICBkaWFsb2dSZWYuY3VycmVudCA9IG5vZGU7XG4gICAgICAgIGZpbGxSZWYocmVmLCBub2RlKTtcbiAgICB9LCBbcmVmXSk7XG4gICAgY29uc3QgaGFuZGxlQ2FuY2VsID0gdXNlRXZlbnRDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIHZvaWQgKG9uQ2FuY2VsID09PSBudWxsIHx8IG9uQ2FuY2VsID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkNhbmNlbCgpKTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVPayA9IHVzZUV2ZW50Q2FsbGJhY2soKCkgPT4ge1xuICAgICAgICB2b2lkIChvbk9rID09PSBudWxsIHx8IG9uT2sgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uT2soKSk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlQmFjayA9IHVzZUV2ZW50Q2FsbGJhY2soKCkgPT4ge1xuICAgICAgICB2b2lkIChvbkJhY2sgPT09IG51bGwgfHwgb25CYWNrID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkJhY2soKSk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlT3ZlcmxheUNsaWNrID0gdXNlRXZlbnRDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIGlmICghbWFza0Nsb3NhYmxlKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBoYW5kbGVDYW5jZWwoKTtcbiAgICB9KTtcbiAgICB1c2VCb2R5U2Nyb2xsTG9jayhtb3VudGVkICYmIG9wZW4pO1xuICAgIHVzZURpYWxvZ0ZvY3VzKG1vdW50ZWQgJiYgb3BlbiwgZGlhbG9nUmVmKTtcbiAgICB1c2VFc2NhcGVDbG9zZShtb3VudGVkICYmIG9wZW4sIGhhbmRsZUNhbmNlbCk7XG4gICAgY29uc3QgaGFzTWVkaWEgPSBtZWRpYSAhPSBudWxsO1xuICAgIGNvbnN0IGNsb3NlQ29udHJvbE5vZGUgPSBzaG93Q2xvc2VJY29uXG4gICAgICAgID8gcmVuZGVyQ29udHJvbEJ1dHRvbihwcmVmaXhDbHMsIERJQUxPR19DT05UUk9MX1RZUEUuY2xvc2UsIGNsb3NlSWNvbiAhPT0gbnVsbCAmJiBjbG9zZUljb24gIT09IHZvaWQgMCA/IGNsb3NlSWNvbiA6IChfanN4KEljb25zLCB7IG5hbWU6IERJQUxPR19ERUZBVUxUX0lDT05TW0RJQUxPR19DT05UUk9MX1RZUEUuY2xvc2VdLCBzaXplOiBESUFMT0dfREVGQVVMVFMuY29udHJvbEljb25TaXplIH0pKSwgaGFuZGxlQ2FuY2VsKVxuICAgICAgICA6IG51bGw7XG4gICAgY29uc3QgYmFja0NvbnRyb2xOb2RlID0gc2hvd0JhY2tJY29uXG4gICAgICAgID8gcmVuZGVyQ29udHJvbEJ1dHRvbihwcmVmaXhDbHMsIERJQUxPR19DT05UUk9MX1RZUEUuYmFjaywgYmFja0ljb24gIT09IG51bGwgJiYgYmFja0ljb24gIT09IHZvaWQgMCA/IGJhY2tJY29uIDogKF9qc3goSWNvbnMsIHsgbmFtZTogRElBTE9HX0RFRkFVTFRfSUNPTlNbRElBTE9HX0NPTlRST0xfVFlQRS5iYWNrXSwgc2l6ZTogRElBTE9HX0RFRkFVTFRTLmNvbnRyb2xJY29uU2l6ZSB9KSksIGhhbmRsZUJhY2spXG4gICAgICAgIDogbnVsbDtcbiAgICBjb25zdCBpbGx1c3RyYXRpb25Ob2RlID0gcmVuZGVySWxsdXN0cmF0aW9uTm9kZShpbGx1c3RyYXRpb24pO1xuICAgIGNvbnN0IHRpdGxlTm9kZSA9IHJlbmRlclR5cG9ncmFwaHlOb2RlKHRpdGxlLCAodmFsdWUpID0+IChfanN4KFR5cG9ncmFwaHlIZWFkbGluZSwgeyBzaXplOiBcIm1kXCIsIGFzOiBcImgyXCIsIGNvbG9yOiBcImRlZmF1bHRcIiwgY2hpbGRyZW46IHZhbHVlIH0pKSk7XG4gICAgY29uc3QgZGVzY3JpcHRpb25Ob2RlID0gcmVuZGVyVHlwb2dyYXBoeU5vZGUoZGVzY3JpcHRpb24sICh2YWx1ZSkgPT4gKF9qc3goVHlwb2dyYXBoeUJvZHksIHsgc2l6ZTogXCJtZFwiLCBhczogXCJwXCIsIHN0cm9uZzogdHJ1ZSwgY29sb3I6IFwiZGVmYXVsdC1zZWNvbmRhcnlcIiwgY2hpbGRyZW46IHZhbHVlIH0pKSk7XG4gICAgY29uc3QgY2hpbGRyZW5Ob2RlID0gcmVuZGVyVHlwb2dyYXBoeU5vZGUoY2hpbGRyZW4sICh2YWx1ZSkgPT4gKF9qc3goVHlwb2dyYXBoeUJvZHksIHsgc2l6ZTogXCJtZFwiLCBhczogXCJwXCIsIHN0cm9uZzogdHJ1ZSwgY29sb3I6IFwiZGVmYXVsdC1zZWNvbmRhcnlcIiwgY2hpbGRyZW46IHZhbHVlIH0pKSk7XG4gICAgY29uc3QgY2FuY2VsQnV0dG9uID0gcmVuZGVyQWN0aW9uQnV0dG9uKHtcbiAgICAgICAgcHJlZml4Q2xzLFxuICAgICAgICBraW5kOiBESUFMT0dfQUNUSU9OX0tJTkQuY2FuY2VsLFxuICAgICAgICB0ZXh0OiBjYW5jZWxUZXh0LFxuICAgICAgICBhY3Rpb246IG9uQ2FuY2VsLFxuICAgICAgICBidXR0b25Qcm9wczogY2FuY2VsQnV0dG9uUHJvcHMsXG4gICAgfSk7XG4gICAgY29uc3Qgb2tCdXR0b24gPSByZW5kZXJBY3Rpb25CdXR0b24oe1xuICAgICAgICBwcmVmaXhDbHMsXG4gICAgICAgIGtpbmQ6IERJQUxPR19BQ1RJT05fS0lORC5vayxcbiAgICAgICAgdGV4dDogb2tUZXh0LFxuICAgICAgICBhY3Rpb246IG9uT2ssXG4gICAgICAgIGJ1dHRvblByb3BzOiBva0J1dHRvblByb3BzLFxuICAgIH0pO1xuICAgIGNvbnN0IGZvb3Rlck5vZGUgPSByZXNvbHZlRm9vdGVyTm9kZSh7XG4gICAgICAgIGZvb3RlcixcbiAgICAgICAgc2l6ZSxcbiAgICAgICAgY2FuY2VsQnV0dG9uLFxuICAgICAgICBva0J1dHRvbixcbiAgICB9KTtcbiAgICBpZiAoIW1vdW50ZWQpXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIHJldHVybiAoX2pzeChQb3J0YWwsIHsgY2hpbGRyZW46IF9qc3hzKFwiZGl2XCIsIHsgc3R5bGU6IHJvb3RTdHlsZSwgY2xhc3NOYW1lOiBjbGFzc05hbWVzKGdldENsYXNzTmFtZShwcmVmaXhDbHMsIERJQUxPR19TTE9ULnJvb3QpLCBnZXRDbGFzc05hbWUocHJlZml4Q2xzLCBESUFMT0dfU0xPVC5yb290LCBvcGVuID8gRElBTE9HX01PRElGSUVSLm9wZW4gOiBESUFMT0dfTU9ESUZJRVIuY2xvc2VkKSksIGNoaWxkcmVuOiBbX2pzeChcImRpdlwiLCB7IFwiYXJpYS1oaWRkZW5cIjogXCJ0cnVlXCIsIGNsYXNzTmFtZTogZ2V0Q2xhc3NOYW1lKHByZWZpeENscywgRElBTE9HX1NMT1Qub3ZlcmxheSksIG9uQ2xpY2s6IGhhbmRsZU92ZXJsYXlDbGljayB9KSwgX2pzeChcImRpdlwiLCB7IHN0eWxlOiB3cmFwcGVyU3R5bGUsIGNsYXNzTmFtZTogZ2V0Q2xhc3NOYW1lKHByZWZpeENscywgRElBTE9HX1NMT1Qud3JhcHBlciksIGNoaWxkcmVuOiBfanN4cyhcImRpdlwiLCBPYmplY3QuYXNzaWduKHt9LCByZXN0LCB7IHJlZjogaGFuZGxlU2V0RGlhbG9nUmVmLCByb2xlOiBcImRpYWxvZ1wiLCBcImFyaWEtbW9kYWxcIjogXCJ0cnVlXCIsIFwiYXJpYS1sYWJlbGxlZGJ5XCI6IHRpdGxlID8gdGl0bGVJZCA6IHVuZGVmaW5lZCwgXCJhcmlhLWRlc2NyaWJlZGJ5XCI6IGRlc2NyaXB0aW9uID8gZGVzY3JpcHRpb25JZCA6IHVuZGVmaW5lZCwgdGFiSW5kZXg6IC0xLCBzdHlsZTogc3R5bGUsIGNsYXNzTmFtZTogY2xhc3NOYW1lcyhnZXRDbGFzc05hbWUocHJlZml4Q2xzKSwgZ2V0Q2xhc3NOYW1lKHByZWZpeENscywgdW5kZWZpbmVkLCBzaXplKSwgZnVsbFdpZHRoICYmIGdldENsYXNzTmFtZShwcmVmaXhDbHMsIHVuZGVmaW5lZCwgRElBTE9HX01PRElGSUVSLmZ1bGxXaWR0aCksIGhhc01lZGlhICYmIGdldENsYXNzTmFtZShwcmVmaXhDbHMsIHVuZGVmaW5lZCwgRElBTE9HX01PRElGSUVSLndpdGhNZWRpYSksIGNsYXNzTmFtZSksIGNoaWxkcmVuOiBbY2xvc2VDb250cm9sTm9kZSwgaGFzTWVkaWEgJiYgX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogZ2V0Q2xhc3NOYW1lKHByZWZpeENscywgRElBTE9HX1NMT1QubWVkaWEpLCBjaGlsZHJlbjogbWVkaWEgfSksIF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBnZXRDbGFzc05hbWUocHJlZml4Q2xzLCBESUFMT0dfU0xPVC5pbm5lciksIGNoaWxkcmVuOiBbYmFja0NvbnRyb2xOb2RlICYmIChfanN4KFwiZGl2XCIsIHsgc3R5bGU6IGhlYWRlclN0eWxlLCBjbGFzc05hbWU6IGdldENsYXNzTmFtZShwcmVmaXhDbHMsIERJQUxPR19TTE9ULmhlYWRlciksIGNoaWxkcmVuOiBiYWNrQ29udHJvbE5vZGUgfSkpLCBfanN4cyhcImRpdlwiLCB7IHN0eWxlOiBib2R5U3R5bGUsIGNsYXNzTmFtZTogZ2V0Q2xhc3NOYW1lKHByZWZpeENscywgRElBTE9HX1NMT1QuYm9keSksIGNoaWxkcmVuOiBbKGlsbHVzdHJhdGlvbk5vZGUgfHwgdGl0bGVOb2RlIHx8IGRlc2NyaXB0aW9uTm9kZSkgJiYgKF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBnZXRDbGFzc05hbWUocHJlZml4Q2xzLCBESUFMT0dfU0xPVC5zdW1tYXJ5KSwgY2hpbGRyZW46IFtpbGx1c3RyYXRpb25Ob2RlICYmIChfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBnZXRDbGFzc05hbWUocHJlZml4Q2xzLCBESUFMT0dfU0xPVC5pbGx1c3RyYXRpb24pLCBjaGlsZHJlbjogaWxsdXN0cmF0aW9uTm9kZSB9KSksICh0aXRsZU5vZGUgfHwgZGVzY3JpcHRpb25Ob2RlKSAmJiAoX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IGdldENsYXNzTmFtZShwcmVmaXhDbHMsIERJQUxPR19TTE9ULmNvcHkpLCBjaGlsZHJlbjogW3RpdGxlTm9kZSAmJiAoX2pzeChcImRpdlwiLCB7IGlkOiB0aXRsZUlkLCBjbGFzc05hbWU6IGdldENsYXNzTmFtZShwcmVmaXhDbHMsIERJQUxPR19TTE9ULnRpdGxlKSwgY2hpbGRyZW46IHRpdGxlTm9kZSB9KSksIGRlc2NyaXB0aW9uTm9kZSAmJiAoX2pzeChcImRpdlwiLCB7IGlkOiBkZXNjcmlwdGlvbklkLCBjbGFzc05hbWU6IGdldENsYXNzTmFtZShwcmVmaXhDbHMsIERJQUxPR19TTE9ULmRlc2NyaXB0aW9uKSwgY2hpbGRyZW46IGRlc2NyaXB0aW9uTm9kZSB9KSldIH0pKV0gfSkpLCBjaGlsZHJlbk5vZGUgJiYgKF9qc3goXCJkaXZcIiwgeyBzdHlsZTogY29udGVudFN0eWxlLCBjbGFzc05hbWU6IGdldENsYXNzTmFtZShwcmVmaXhDbHMsIERJQUxPR19TTE9ULmNvbnRlbnQpLCBjaGlsZHJlbjogY2hpbGRyZW5Ob2RlIH0pKV0gfSksIGZvb3Rlck5vZGUgJiYgKF9qc3goXCJkaXZcIiwgeyBzdHlsZTogZm9vdGVyU3R5bGUsIGNsYXNzTmFtZTogY2xhc3NOYW1lcyhnZXRDbGFzc05hbWUocHJlZml4Q2xzLCBESUFMT0dfU0xPVC5mb290ZXIpLCBnZXRDbGFzc05hbWUocHJlZml4Q2xzLCBESUFMT0dfU0xPVC5mb290ZXIsIHNpemUpKSwgY2hpbGRyZW46IGZvb3Rlck5vZGUgfSkpXSB9KV0gfSkpIH0pXSB9KSB9KSk7XG59KTtcbkRpYWxvZ0Jhc2UuZGlzcGxheU5hbWUgPSAnRGlhbG9nJztcbmV4cG9ydCBjb25zdCBEaWFsb2cgPSBtZW1vKERpYWxvZ0Jhc2UpO1xuRGlhbG9nLmRpc3BsYXlOYW1lID0gJ0RpYWxvZyc7XG5leHBvcnQgZGVmYXVsdCBEaWFsb2c7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -0,0 +1,60 @@
1
+ import type { ButtonProps } from "../Button";
2
+ import type { IconName } from "../Icons";
3
+ export declare const DIALOG_NAMESPACE = "om-component-ui";
4
+ export declare const DIALOG_DEFAULT_PREFIX = "dialog";
5
+ export declare const DIALOG_SIZE: {
6
+ readonly small: "small";
7
+ readonly large: "large";
8
+ };
9
+ export declare const DIALOG_SIZES: readonly ["small", "large"];
10
+ export declare const DIALOG_ACTION_KIND: {
11
+ readonly ok: "ok";
12
+ readonly cancel: "cancel";
13
+ };
14
+ export declare const DIALOG_CONTROL_TYPE: {
15
+ readonly back: "back";
16
+ readonly close: "close";
17
+ };
18
+ export declare const DIALOG_SLOT: {
19
+ readonly root: "root";
20
+ readonly overlay: "overlay";
21
+ readonly wrapper: "wrapper";
22
+ readonly control: "control";
23
+ readonly actionButton: "action-button";
24
+ readonly media: "media";
25
+ readonly inner: "inner";
26
+ readonly header: "header";
27
+ readonly body: "body";
28
+ readonly summary: "summary";
29
+ readonly illustration: "illustration";
30
+ readonly copy: "copy";
31
+ readonly title: "title";
32
+ readonly description: "description";
33
+ readonly content: "content";
34
+ readonly footer: "footer";
35
+ };
36
+ export declare const DIALOG_MODIFIER: {
37
+ readonly open: "open";
38
+ readonly closed: "closed";
39
+ readonly fullWidth: "full-width";
40
+ readonly withMedia: "with-media";
41
+ };
42
+ export declare const DIALOG_CONTROL_LABELS: Record<DialogControlType, string>;
43
+ export declare const DIALOG_DEFAULT_ICONS: Record<DialogControlType, IconName>;
44
+ export declare const DIALOG_DEFAULT_BUTTON_COLORS: Record<DialogActionKind, NonNullable<ButtonProps['color']>>;
45
+ export declare const DIALOG_DEFAULTS: {
46
+ readonly buttonHtmlType: "button";
47
+ readonly buttonSize: "large";
48
+ readonly closeTimeoutMs: 200;
49
+ readonly controlIconSize: 24;
50
+ readonly illustrationSize: 74;
51
+ readonly okText: "Confirm";
52
+ readonly cancelText: "Cancel";
53
+ readonly overflowHidden: "hidden";
54
+ readonly overflowReset: "";
55
+ readonly escapeKey: "Escape";
56
+ readonly keydownEvent: "keydown";
57
+ };
58
+ export type DialogSize = (typeof DIALOG_SIZES)[number];
59
+ export type DialogActionKind = (typeof DIALOG_ACTION_KIND)[keyof typeof DIALOG_ACTION_KIND];
60
+ export type DialogControlType = (typeof DIALOG_CONTROL_TYPE)[keyof typeof DIALOG_CONTROL_TYPE];
@@ -0,0 +1,57 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ export var DIALOG_NAMESPACE = 'om-component-ui';
3
+ export var DIALOG_DEFAULT_PREFIX = 'dialog';
4
+ export var DIALOG_SIZE = {
5
+ small: 'small',
6
+ large: 'large'
7
+ };
8
+ export var DIALOG_SIZES = [DIALOG_SIZE.small, DIALOG_SIZE.large];
9
+ export var DIALOG_ACTION_KIND = {
10
+ ok: 'ok',
11
+ cancel: 'cancel'
12
+ };
13
+ export var DIALOG_CONTROL_TYPE = {
14
+ back: 'back',
15
+ close: 'close'
16
+ };
17
+ export var DIALOG_SLOT = {
18
+ root: 'root',
19
+ overlay: 'overlay',
20
+ wrapper: 'wrapper',
21
+ control: 'control',
22
+ actionButton: 'action-button',
23
+ media: 'media',
24
+ inner: 'inner',
25
+ header: 'header',
26
+ body: 'body',
27
+ summary: 'summary',
28
+ illustration: 'illustration',
29
+ copy: 'copy',
30
+ title: 'title',
31
+ description: 'description',
32
+ content: 'content',
33
+ footer: 'footer'
34
+ };
35
+ export var DIALOG_MODIFIER = {
36
+ open: 'open',
37
+ closed: 'closed',
38
+ fullWidth: 'full-width',
39
+ withMedia: 'with-media'
40
+ };
41
+ export var DIALOG_CONTROL_LABELS = _defineProperty(_defineProperty({}, DIALOG_CONTROL_TYPE.back, 'Go back'), DIALOG_CONTROL_TYPE.close, 'Close dialog');
42
+ export var DIALOG_DEFAULT_ICONS = _defineProperty(_defineProperty({}, DIALOG_CONTROL_TYPE.back, 'arrowLeft'), DIALOG_CONTROL_TYPE.close, 'cross');
43
+ export var DIALOG_DEFAULT_BUTTON_COLORS = _defineProperty(_defineProperty({}, DIALOG_ACTION_KIND.cancel, 'grey'), DIALOG_ACTION_KIND.ok, 'primary');
44
+ export var DIALOG_DEFAULTS = {
45
+ buttonHtmlType: 'button',
46
+ buttonSize: 'large',
47
+ closeTimeoutMs: 200,
48
+ controlIconSize: 24,
49
+ illustrationSize: 74,
50
+ okText: 'Confirm',
51
+ cancelText: 'Cancel',
52
+ overflowHidden: 'hidden',
53
+ overflowReset: '',
54
+ escapeKey: 'Escape',
55
+ keydownEvent: 'keydown'
56
+ };
57
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvRGlhbG9nL2NvbnN0YW50cy50cyIsImNvbXBvbmVudHMvRGlhbG9nL2NvbnN0YW50cy5qcyJdLCJuYW1lcyI6WyJESUFMT0dfTkFNRVNQQUNFIiwiRElBTE9HX0RFRkFVTFRfUFJFRklYIiwiRElBTE9HX1NJWkUiLCJzbWFsbCIsImxhcmdlIiwiRElBTE9HX1NJWkVTIiwiRElBTE9HX0FDVElPTl9LSU5EIiwib2siLCJjYW5jZWwiLCJESUFMT0dfQ09OVFJPTF9UWVBFIiwiYmFjayIsImNsb3NlIiwiRElBTE9HX1NMT1QiLCJyb290Iiwib3ZlcmxheSIsIndyYXBwZXIiLCJjb250cm9sIiwiYWN0aW9uQnV0dG9uIiwibWVkaWEiLCJpbm5lciIsImhlYWRlciIsImJvZHkiLCJzdW1tYXJ5IiwiaWxsdXN0cmF0aW9uIiwiY29weSIsInRpdGxlIiwiZGVzY3JpcHRpb24iLCJjb250ZW50IiwiZm9vdGVyIiwiRElBTE9HX01PRElGSUVSIiwib3BlbiIsImNsb3NlZCIsImZ1bGxXaWR0aCIsIndpdGhNZWRpYSIsIkRJQUxPR19DT05UUk9MX0xBQkVMUyIsIl9kZWZpbmVQcm9wZXJ0eSIsIkRJQUxPR19ERUZBVUxUX0lDT05TIiwiRElBTE9HX0RFRkFVTFRfQlVUVE9OX0NPTE9SUyIsIkRJQUxPR19ERUZBVUxUUyIsImJ1dHRvbkh0bWxUeXBlIiwiYnV0dG9uU2l6ZSIsImNsb3NlVGltZW91dE1zIiwiY29udHJvbEljb25TaXplIiwiaWxsdXN0cmF0aW9uU2l6ZSIsIm9rVGV4dCIsImNhbmNlbFRleHQiLCJvdmVyZmxvd0hpZGRlbiIsIm92ZXJmbG93UmVzZXQiLCJlc2NhcGVLZXkiLCJrZXlkb3duRXZlbnQiXSwibWFwcGluZ3MiOiI7QUFHQSxPQUFPLElBQU1BLGdCQUFnQixHQUFHLGlCQUFpQjtBQUNqRCxPQUFPLElBQU1DLHFCQUFxQixHQUFHLFFBQVE7QUFFN0MsT0FBTyxJQUFNQyxXQUFXLEdBQUc7RUFDekJDLEtBQUssRUFBRSxPQUFPO0VBQ2RDLEtBQUssRUFBRTtBQ0hULENESVU7QUFFVixPQUFPLElBQU1DLFlBQVksR0FBRyxDQUFDSCxXQUFXLENBQUNDLEtBQUssRUFBRUQsV0FBVyxDQUFDRSxLQUFLLENBQVU7QUFFM0UsT0FBTyxJQUFNRSxrQkFBa0IsR0FBRztFQUNoQ0MsRUFBRSxFQUFFLElBQUk7RUFDUkMsTUFBTSxFQUFFO0FDTFYsQ0RNVTtBQUVWLE9BQU8sSUFBTUMsbUJBQW1CLEdBQUc7RUFDakNDLElBQUksRUFBRSxNQUFNO0VBQ1pDLEtBQUssRUFBRTtBQ05ULENET1U7QUFFVixPQUFPLElBQU1DLFdBQVcsR0FBRztFQUN6QkMsSUFBSSxFQUFFLE1BQU07RUFDWkMsT0FBTyxFQUFFLFNBQVM7RUFDbEJDLE9BQU8sRUFBRSxTQUFTO0VBQ2xCQyxPQUFPLEVBQUUsU0FBUztFQUNsQkMsWUFBWSxFQUFFLGVBQWU7RUFDN0JDLEtBQUssRUFBRSxPQUFPO0VBQ2RDLEtBQUssRUFBRSxPQUFPO0VBQ2RDLE1BQU0sRUFBRSxRQUFRO0VBQ2hCQyxJQUFJLEVBQUUsTUFBTTtFQUNaQyxPQUFPLEVBQUUsU0FBUztFQUNsQkMsWUFBWSxFQUFFLGNBQWM7RUFDNUJDLElBQUksRUFBRSxNQUFNO0VBQ1pDLEtBQUssRUFBRSxPQUFPO0VBQ2RDLFdBQVcsRUFBRSxhQUFhO0VBQzFCQyxPQUFPLEVBQUUsU0FBUztFQUNsQkMsTUFBTSxFQUFFO0FDUFYsQ0RRVTtBQUVWLE9BQU8sSUFBTUMsZUFBZSxHQUFHO0VBQzdCQyxJQUFJLEVBQUUsTUFBTTtFQUNaQyxNQUFNLEVBQUUsUUFBUTtFQUNoQkMsU0FBUyxFQUFFLFlBQVk7RUFDdkJDLFNBQVMsRUFBRTtBQ1JiLENEU1U7QUFFVixPQUFPLElBQU1DLHFCQUFxQixHQUFBQyxlQUFBLENBQUFBLGVBQUEsS0FDL0IxQixtQkFBbUIsQ0FBQ0MsSUFBSSxFQUFHLFNBQVMsR0FDcENELG1CQUFtQixDQUFDRSxLQUFLLEVBQUcsY0FBYyxDQUM1QztBQUVELE9BQU8sSUFBTXlCLG9CQUFvQixHQUFBRCxlQUFBLENBQUFBLGVBQUEsS0FDOUIxQixtQkFBbUIsQ0FBQ0MsSUFBSSxFQUFHLFdBQVcsR0FDdENELG1CQUFtQixDQUFDRSxLQUFLLEVBQUcsT0FBTyxDQUNyQztBQUVELE9BQU8sSUFBTTBCLDRCQUE0QixHQUFBRixlQUFBLENBQUFBLGVBQUEsS0FJdEM3QixrQkFBa0IsQ0FBQ0UsTUFBTSxFQUFHLE1BQU0sR0FDbENGLGtCQUFrQixDQUFDQyxFQUFFLEVBQUcsU0FBUyxDQUNuQztBQUVELE9BQU8sSUFBTStCLGVBQWUsR0FBRztFQUM3QkMsY0FBYyxFQUFFLFFBQVE7RUFDeEJDLFVBQVUsRUFBRSxPQUFrRDtFQUM5REMsY0FBYyxFQUFFLEdBQUc7RUFDbkJDLGVBQWUsRUFBRSxFQUFFO0VBQ25CQyxnQkFBZ0IsRUFBRSxFQUFFO0VBQ3BCQyxNQUFNLEVBQUUsU0FBUztFQUNqQkMsVUFBVSxFQUFFLFFBQVE7RUFDcEJDLGNBQWMsRUFBRSxRQUFRO0VBQ3hCQyxhQUFhLEVBQUUsRUFBRTtFQUNqQkMsU0FBUyxFQUFFLFFBQVE7RUFDbkJDLFlBQVksRUFBRTtBQ2ZoQixDRGdCVSIsImZpbGUiOiJjb21wb25lbnRzL0RpYWxvZy9jb25zdGFudHMuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsImV4cG9ydCBjb25zdCBESUFMT0dfTkFNRVNQQUNFID0gJ29tLWNvbXBvbmVudC11aSc7XG5leHBvcnQgY29uc3QgRElBTE9HX0RFRkFVTFRfUFJFRklYID0gJ2RpYWxvZyc7XG5leHBvcnQgY29uc3QgRElBTE9HX1NJWkUgPSB7XG4gICAgc21hbGw6ICdzbWFsbCcsXG4gICAgbGFyZ2U6ICdsYXJnZScsXG59O1xuZXhwb3J0IGNvbnN0IERJQUxPR19TSVpFUyA9IFtESUFMT0dfU0laRS5zbWFsbCwgRElBTE9HX1NJWkUubGFyZ2VdO1xuZXhwb3J0IGNvbnN0IERJQUxPR19BQ1RJT05fS0lORCA9IHtcbiAgICBvazogJ29rJyxcbiAgICBjYW5jZWw6ICdjYW5jZWwnLFxufTtcbmV4cG9ydCBjb25zdCBESUFMT0dfQ09OVFJPTF9UWVBFID0ge1xuICAgIGJhY2s6ICdiYWNrJyxcbiAgICBjbG9zZTogJ2Nsb3NlJyxcbn07XG5leHBvcnQgY29uc3QgRElBTE9HX1NMT1QgPSB7XG4gICAgcm9vdDogJ3Jvb3QnLFxuICAgIG92ZXJsYXk6ICdvdmVybGF5JyxcbiAgICB3cmFwcGVyOiAnd3JhcHBlcicsXG4gICAgY29udHJvbDogJ2NvbnRyb2wnLFxuICAgIGFjdGlvbkJ1dHRvbjogJ2FjdGlvbi1idXR0b24nLFxuICAgIG1lZGlhOiAnbWVkaWEnLFxuICAgIGlubmVyOiAnaW5uZXInLFxuICAgIGhlYWRlcjogJ2hlYWRlcicsXG4gICAgYm9keTogJ2JvZHknLFxuICAgIHN1bW1hcnk6ICdzdW1tYXJ5JyxcbiAgICBpbGx1c3RyYXRpb246ICdpbGx1c3RyYXRpb24nLFxuICAgIGNvcHk6ICdjb3B5JyxcbiAgICB0aXRsZTogJ3RpdGxlJyxcbiAgICBkZXNjcmlwdGlvbjogJ2Rlc2NyaXB0aW9uJyxcbiAgICBjb250ZW50OiAnY29udGVudCcsXG4gICAgZm9vdGVyOiAnZm9vdGVyJyxcbn07XG5leHBvcnQgY29uc3QgRElBTE9HX01PRElGSUVSID0ge1xuICAgIG9wZW46ICdvcGVuJyxcbiAgICBjbG9zZWQ6ICdjbG9zZWQnLFxuICAgIGZ1bGxXaWR0aDogJ2Z1bGwtd2lkdGgnLFxuICAgIHdpdGhNZWRpYTogJ3dpdGgtbWVkaWEnLFxufTtcbmV4cG9ydCBjb25zdCBESUFMT0dfQ09OVFJPTF9MQUJFTFMgPSB7XG4gICAgW0RJQUxPR19DT05UUk9MX1RZUEUuYmFja106ICdHbyBiYWNrJyxcbiAgICBbRElBTE9HX0NPTlRST0xfVFlQRS5jbG9zZV06ICdDbG9zZSBkaWFsb2cnLFxufTtcbmV4cG9ydCBjb25zdCBESUFMT0dfREVGQVVMVF9JQ09OUyA9IHtcbiAgICBbRElBTE9HX0NPTlRST0xfVFlQRS5iYWNrXTogJ2Fycm93TGVmdCcsXG4gICAgW0RJQUxPR19DT05UUk9MX1RZUEUuY2xvc2VdOiAnY3Jvc3MnLFxufTtcbmV4cG9ydCBjb25zdCBESUFMT0dfREVGQVVMVF9CVVRUT05fQ09MT1JTID0ge1xuICAgIFtESUFMT0dfQUNUSU9OX0tJTkQuY2FuY2VsXTogJ2dyZXknLFxuICAgIFtESUFMT0dfQUNUSU9OX0tJTkQub2tdOiAncHJpbWFyeScsXG59O1xuZXhwb3J0IGNvbnN0IERJQUxPR19ERUZBVUxUUyA9IHtcbiAgICBidXR0b25IdG1sVHlwZTogJ2J1dHRvbicsXG4gICAgYnV0dG9uU2l6ZTogJ2xhcmdlJyxcbiAgICBjbG9zZVRpbWVvdXRNczogMjAwLFxuICAgIGNvbnRyb2xJY29uU2l6ZTogMjQsXG4gICAgaWxsdXN0cmF0aW9uU2l6ZTogNzQsXG4gICAgb2tUZXh0OiAnQ29uZmlybScsXG4gICAgY2FuY2VsVGV4dDogJ0NhbmNlbCcsXG4gICAgb3ZlcmZsb3dIaWRkZW46ICdoaWRkZW4nLFxuICAgIG92ZXJmbG93UmVzZXQ6ICcnLFxuICAgIGVzY2FwZUtleTogJ0VzY2FwZScsXG4gICAga2V5ZG93bkV2ZW50OiAna2V5ZG93bicsXG59OyJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
@@ -0,0 +1,4 @@
1
+ import Dialog from './Dialog';
2
+ export { Dialog } from './Dialog';
3
+ export default Dialog;
4
+ export * from './interface';
@@ -0,0 +1,5 @@
1
+ import Dialog from './Dialog';
2
+ export { Dialog } from './Dialog';
3
+ export default Dialog;
4
+ export * from './interface';
5
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvRGlhbG9nL2luZGV4LnRzIl0sIm5hbWVzIjpbIkRpYWxvZyJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsTUFBTSxNQUFNLFVBQVU7QUFFN0IsU0FBU0EsTUFBTSxRQUFRLFVBQVU7QUFFakMsZUFBZUEsTUFBTTtBQUVyQixjQUFjLGFBQWEiLCJmaWxlIjoiY29tcG9uZW50cy9EaWFsb2cvaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
@@ -1,13 +1,13 @@
1
1
  import type { CSSProperties, HTMLAttributes, MouseEventHandler, ReactNode } from 'react';
2
2
  import type { ButtonProps } from "../Button";
3
3
  import type { IconName } from "../Icons";
4
- import type { ModalSize } from './constants';
5
- export type { ModalSize } from './constants';
6
- export type ModalFooterRender = (cancelButton: ReactNode, okButton: ReactNode) => ReactNode;
7
- export interface ModalProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children' | 'title' | 'onCancel'> {
4
+ import type { DialogSize } from './constants';
5
+ export type { DialogSize } from './constants';
6
+ export type DialogFooterRender = (cancelButton: ReactNode, okButton: ReactNode) => ReactNode;
7
+ export interface DialogProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children' | 'title' | 'onCancel'> {
8
8
  prefixCls?: string;
9
9
  open?: boolean;
10
- size?: ModalSize;
10
+ size?: DialogSize;
11
11
  maskClosable?: boolean;
12
12
  showCloseIcon?: boolean;
13
13
  showBackIcon?: boolean;
@@ -19,7 +19,7 @@ export interface ModalProps extends Omit<HTMLAttributes<HTMLDivElement>, 'childr
19
19
  media?: ReactNode;
20
20
  closeIcon?: ReactNode;
21
21
  backIcon?: ReactNode;
22
- footer?: ReactNode | ModalFooterRender | null;
22
+ footer?: ReactNode | DialogFooterRender | null;
23
23
  onOk?: () => void | Promise<void>;
24
24
  onCancel?: () => void | Promise<void>;
25
25
  onBack?: () => void;
@@ -34,4 +34,4 @@ export interface ModalProps extends Omit<HTMLAttributes<HTMLDivElement>, 'childr
34
34
  cancelButtonProps?: Partial<ButtonProps>;
35
35
  okButtonProps?: Partial<ButtonProps>;
36
36
  }
37
- export type ModalButtonClickHandler = MouseEventHandler<HTMLButtonElement>;
37
+ export type DialogButtonClickHandler = MouseEventHandler<HTMLButtonElement>;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy9EaWFsb2cvaW50ZXJmYWNlLmpzIiwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIiwic291cmNlcyI6WyJjb21wb25lbnRzL0RpYWxvZy9pbnRlcmZhY2UuanMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHt9OyJdLCJtYXBwaW5ncyI6IkFBQUEiLCJpZ25vcmVMaXN0IjpbXX0=