@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.
- package/es/components/Alert/Alert.js +5 -6
- package/es/components/Alert/style/Alert.css +1 -1
- package/es/components/Button/Button.js +29 -1
- package/es/components/Button/constants.d.ts +14 -1
- package/es/components/Button/constants.js +23 -3
- package/es/components/Button/interface.d.ts +9 -0
- package/es/components/Cell/Cell.d.ts +5 -0
- package/es/components/Cell/Cell.js +57 -0
- package/es/components/Cell/index.d.ts +4 -0
- package/es/components/Cell/index.js +5 -0
- package/es/components/Cell/interface.d.ts +12 -0
- package/es/components/Cell/interface.js +2 -0
- package/es/components/Cell/style/Cell.css +1 -0
- package/es/components/Cell/style/css.js +2 -0
- package/es/components/Cell/style/index.d.ts +1 -0
- package/es/components/Cell/style/index.js +2 -0
- package/es/components/Dialog/Dialog.d.ts +4 -0
- package/es/components/Dialog/Dialog.js +383 -0
- package/es/components/Dialog/constants.d.ts +60 -0
- package/es/components/Dialog/constants.js +57 -0
- package/es/components/Dialog/index.d.ts +4 -0
- package/es/components/Dialog/index.js +5 -0
- package/es/components/{Modal → Dialog}/interface.d.ts +7 -7
- package/es/components/Dialog/interface.js +2 -0
- package/es/components/Dialog/style/Dialog.css +1 -0
- package/es/components/Dialog/style/css.js +2 -0
- package/es/components/Dialog/style/index.d.ts +1 -0
- package/es/components/Dialog/style/index.js +2 -0
- package/es/components/Divider/Divider.js +15 -18
- package/es/components/Divider/constants.d.ts +36 -0
- package/es/components/Divider/constants.js +41 -0
- package/es/components/Divider/interface.d.ts +2 -3
- package/es/components/Drawer/Drawer.js +13 -129
- package/es/components/Drawer/constants.d.ts +8 -5
- package/es/components/Drawer/constants.js +9 -6
- package/es/components/Drawer/hooks/index.d.ts +4 -0
- package/es/components/Drawer/hooks/index.js +5 -0
- package/es/components/Drawer/hooks/useBodyScrollLock.d.ts +1 -0
- package/es/components/Drawer/hooks/useBodyScrollLock.js +29 -0
- package/es/components/Drawer/hooks/useDialogFocus.d.ts +2 -0
- package/es/components/Drawer/hooks/useDialogFocus.js +22 -0
- package/es/components/Drawer/hooks/useDrawerTransition.d.ts +4 -0
- package/es/components/Drawer/hooks/useDrawerTransition.js +57 -0
- package/es/components/Drawer/hooks/useEscapeClose.d.ts +1 -0
- package/es/components/Drawer/hooks/useEscapeClose.js +16 -0
- package/es/components/ProForm/index.d.ts +2 -2
- package/es/components/ProForm/index.js +2 -2
- package/es/components/ProForm/interface.d.ts +3 -3
- package/es/components/ProForm/layouts/DialogForm.d.ts +3 -0
- package/es/components/ProForm/layouts/DialogForm.js +74 -0
- package/es/components/ProForm/layouts/index.d.ts +1 -1
- package/es/components/ProForm/layouts/index.js +2 -2
- package/es/components/ProForm/style/ProForm.css +1 -1
- package/es/components/Select/Select.js +5 -5
- package/es/components/Select/SelectFieldShell.js +7 -7
- package/es/components/Select/SelectOptionContent.js +5 -5
- package/es/components/Select/constants.d.ts +37 -13
- package/es/components/Select/constants.js +36 -20
- package/es/components/Select/style/Select.css +1 -1
- package/es/components/Switch/Switch.js +7 -7
- package/es/components/Switch/constants.d.ts +23 -9
- package/es/components/Switch/constants.js +26 -11
- package/es/components/Switch/interface.d.ts +2 -2
- package/es/index.css +1 -1
- package/es/index.d.ts +6 -4
- package/es/index.js +4 -3
- package/lib/components/Alert/Alert.js +5 -6
- package/lib/components/Alert/style/Alert.css +1 -1
- package/lib/components/Button/Button.js +29 -1
- package/lib/components/Button/constants.d.ts +14 -1
- package/lib/components/Button/constants.js +23 -3
- package/lib/components/Button/interface.d.ts +9 -0
- package/lib/components/Cell/Cell.d.ts +5 -0
- package/lib/components/Cell/Cell.js +66 -0
- package/lib/components/Cell/index.d.ts +4 -0
- package/lib/components/Cell/index.js +33 -0
- package/lib/components/Cell/interface.d.ts +12 -0
- package/lib/components/Cell/interface.js +6 -0
- package/lib/components/Cell/style/Cell.css +1 -0
- package/lib/components/Cell/style/css.js +4 -0
- package/lib/components/Cell/style/index.d.ts +1 -0
- package/lib/components/Cell/style/index.js +4 -0
- package/lib/components/Dialog/Dialog.d.ts +4 -0
- package/lib/components/Dialog/Dialog.js +390 -0
- package/lib/components/Dialog/constants.d.ts +60 -0
- package/lib/components/Dialog/constants.js +64 -0
- package/lib/components/Dialog/index.d.ts +4 -0
- package/lib/components/Dialog/index.js +33 -0
- package/lib/components/{Modal → Dialog}/interface.d.ts +7 -7
- package/lib/components/Dialog/interface.js +6 -0
- package/lib/components/Dialog/style/Dialog.css +1 -0
- package/lib/components/Dialog/style/css.js +4 -0
- package/lib/components/Dialog/style/index.d.ts +1 -0
- package/lib/components/Dialog/style/index.js +4 -0
- package/lib/components/Divider/Divider.js +16 -18
- package/lib/components/Divider/constants.d.ts +36 -0
- package/lib/components/Divider/constants.js +48 -0
- package/lib/components/Divider/interface.d.ts +2 -3
- package/lib/components/Drawer/Drawer.js +14 -130
- package/lib/components/Drawer/constants.d.ts +8 -5
- package/lib/components/Drawer/constants.js +10 -7
- package/lib/components/Drawer/hooks/index.d.ts +4 -0
- package/lib/components/Drawer/hooks/index.js +34 -0
- package/lib/components/Drawer/hooks/useBodyScrollLock.d.ts +1 -0
- package/lib/components/Drawer/hooks/useBodyScrollLock.js +35 -0
- package/lib/components/Drawer/hooks/useDialogFocus.d.ts +2 -0
- package/lib/components/Drawer/hooks/useDialogFocus.js +28 -0
- package/lib/components/Drawer/hooks/useDrawerTransition.d.ts +4 -0
- package/lib/components/Drawer/hooks/useDrawerTransition.js +64 -0
- package/lib/components/Drawer/hooks/useEscapeClose.d.ts +1 -0
- package/lib/components/Drawer/hooks/useEscapeClose.js +22 -0
- package/lib/components/ProForm/index.d.ts +2 -2
- package/lib/components/ProForm/index.js +8 -8
- package/lib/components/ProForm/interface.d.ts +3 -3
- package/lib/components/ProForm/layouts/DialogForm.d.ts +3 -0
- package/lib/components/ProForm/layouts/DialogForm.js +81 -0
- package/lib/components/ProForm/layouts/index.d.ts +1 -1
- package/lib/components/ProForm/layouts/index.js +6 -6
- package/lib/components/ProForm/style/ProForm.css +1 -1
- package/lib/components/Select/Select.js +4 -4
- package/lib/components/Select/SelectFieldShell.js +6 -6
- package/lib/components/Select/SelectOptionContent.js +4 -4
- package/lib/components/Select/constants.d.ts +37 -13
- package/lib/components/Select/constants.js +37 -21
- package/lib/components/Select/style/Select.css +1 -1
- package/lib/components/Switch/Switch.js +6 -6
- package/lib/components/Switch/constants.d.ts +23 -9
- package/lib/components/Switch/constants.js +27 -12
- package/lib/components/Switch/interface.d.ts +2 -2
- package/lib/index.css +1 -1
- package/lib/index.d.ts +6 -4
- package/lib/index.js +21 -14
- package/package.json +11 -6
- package/es/components/Modal/Modal.d.ts +0 -4
- package/es/components/Modal/Modal.js +0 -383
- package/es/components/Modal/constants.d.ts +0 -58
- package/es/components/Modal/constants.js +0 -55
- package/es/components/Modal/index.d.ts +0 -4
- package/es/components/Modal/index.js +0 -5
- package/es/components/Modal/interface.js +0 -2
- package/es/components/Modal/style/Modal.css +0 -1
- package/es/components/Modal/style/css.js +0 -2
- package/es/components/Modal/style/index.d.ts +0 -1
- package/es/components/Modal/style/index.js +0 -2
- package/es/components/ProForm/layouts/ModalForm.d.ts +0 -3
- package/es/components/ProForm/layouts/ModalForm.js +0 -74
- package/lib/components/Modal/Modal.d.ts +0 -4
- package/lib/components/Modal/Modal.js +0 -390
- package/lib/components/Modal/constants.d.ts +0 -58
- package/lib/components/Modal/constants.js +0 -62
- package/lib/components/Modal/index.d.ts +0 -4
- package/lib/components/Modal/index.js +0 -33
- package/lib/components/Modal/interface.js +0 -6
- package/lib/components/Modal/style/Modal.css +0 -1
- package/lib/components/Modal/style/css.js +0 -4
- package/lib/components/Modal/style/index.d.ts +0 -1
- package/lib/components/Modal/style/index.js +0 -4
- package/lib/components/ProForm/layouts/ModalForm.d.ts +0 -3
- 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,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 {
|
|
5
|
-
export type {
|
|
6
|
-
export type
|
|
7
|
-
export interface
|
|
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?:
|
|
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 |
|
|
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
|
|
37
|
+
export type DialogButtonClickHandler = MouseEventHandler<HTMLButtonElement>;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy9EaWFsb2cvaW50ZXJmYWNlLmpzIiwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIiwic291cmNlcyI6WyJjb21wb25lbnRzL0RpYWxvZy9pbnRlcmZhY2UuanMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHt9OyJdLCJtYXBwaW5ncyI6IkFBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
|