@1money/component-ui 0.0.42-alpha.2 → 0.0.42-alpha.4
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/Select/Select.js +23 -84
- package/es/components/Select/SelectCustom.d.ts +6 -0
- package/es/components/Select/SelectCustom.js +219 -0
- package/es/components/Select/index.d.ts +1 -0
- package/es/components/Select/index.js +2 -1
- package/es/components/Select/interface.d.ts +69 -1
- package/es/components/Select/interface.js +1 -1
- package/es/components/Select/style/Select.css +1 -1
- package/es/components/Select/useSelectShell.d.ts +26 -0
- package/es/components/Select/useSelectShell.js +90 -0
- package/es/index.css +1 -1
- package/es/index.d.ts +2 -2
- package/es/index.js +2 -2
- package/es/stories/docs/storybook-docs.css +323 -1
- package/lib/components/Select/Select.js +22 -83
- package/lib/components/Select/SelectCustom.d.ts +6 -0
- package/lib/components/Select/SelectCustom.js +229 -0
- package/lib/components/Select/index.d.ts +1 -0
- package/lib/components/Select/index.js +11 -2
- package/lib/components/Select/interface.d.ts +69 -1
- package/lib/components/Select/interface.js +1 -1
- package/lib/components/Select/style/Select.css +1 -1
- package/lib/components/Select/useSelectShell.d.ts +26 -0
- package/lib/components/Select/useSelectShell.js +98 -0
- package/lib/index.css +1 -1
- package/lib/index.d.ts +2 -2
- package/lib/index.js +7 -1
- package/package.json +1 -1
- package/scripts/mcp-server/examples.generated.json +18 -0
- package/scripts/mcp-server/index.generated.json +232 -0
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = exports.SelectCustom = void 0;
|
|
9
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
10
|
+
var _react = require("@floating-ui/react");
|
|
11
|
+
var _react2 = require("react");
|
|
12
|
+
var _hooks = require("@1money/hooks");
|
|
13
|
+
var _Icons = require("../Icons");
|
|
14
|
+
var _Spinner = require("../Spinner");
|
|
15
|
+
var _classnames = _interopRequireWildcard(require("../../utils/classnames"));
|
|
16
|
+
var _SelectFieldShell = _interopRequireDefault(require("./SelectFieldShell"));
|
|
17
|
+
var _useSelectShell2 = require("./useSelectShell");
|
|
18
|
+
var _utils = require("./utils");
|
|
19
|
+
require("./style");
|
|
20
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
21
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
22
|
+
var DEFAULT_MAX_HEIGHT = 320;
|
|
23
|
+
var isRenderableTemplate = function isRenderableTemplate(value) {
|
|
24
|
+
return value !== null && value !== undefined && value !== false;
|
|
25
|
+
};
|
|
26
|
+
var SelectCustom = exports.SelectCustom = function SelectCustom(props) {
|
|
27
|
+
var _props$className = props.className,
|
|
28
|
+
className = _props$className === void 0 ? '' : _props$className,
|
|
29
|
+
_props$prefixCls = props.prefixCls,
|
|
30
|
+
prefixCls = _props$prefixCls === void 0 ? 'select' : _props$prefixCls,
|
|
31
|
+
style = props.style,
|
|
32
|
+
id = props.id,
|
|
33
|
+
name = props.name,
|
|
34
|
+
ariaLabel = props['aria-label'],
|
|
35
|
+
ariaLabelledBy = props['aria-labelledby'],
|
|
36
|
+
_props$size = props.size,
|
|
37
|
+
size = _props$size === void 0 ? 'large' : _props$size,
|
|
38
|
+
_props$status = props.status,
|
|
39
|
+
status = _props$status === void 0 ? 'default' : _props$status,
|
|
40
|
+
_props$variant = props.variant,
|
|
41
|
+
variant = _props$variant === void 0 ? 'fill' : _props$variant,
|
|
42
|
+
_props$disabled = props.disabled,
|
|
43
|
+
disabledProp = _props$disabled === void 0 ? false : _props$disabled,
|
|
44
|
+
_props$loading = props.loading,
|
|
45
|
+
loading = _props$loading === void 0 ? false : _props$loading,
|
|
46
|
+
label = props.label,
|
|
47
|
+
info = props.info,
|
|
48
|
+
description = props.description,
|
|
49
|
+
feedback = props.feedback,
|
|
50
|
+
_props$required = props.required,
|
|
51
|
+
required = _props$required === void 0 ? false : _props$required,
|
|
52
|
+
prefix = props.prefix,
|
|
53
|
+
_props$placeholder = props.placeholder,
|
|
54
|
+
placeholder = _props$placeholder === void 0 ? 'Value' : _props$placeholder,
|
|
55
|
+
selectedTemplate = props.selectedTemplate,
|
|
56
|
+
_props$arrow = props.arrow,
|
|
57
|
+
arrow = _props$arrow === void 0 ? true : _props$arrow,
|
|
58
|
+
open = props.open,
|
|
59
|
+
_props$defaultOpen = props.defaultOpen,
|
|
60
|
+
defaultOpen = _props$defaultOpen === void 0 ? false : _props$defaultOpen,
|
|
61
|
+
_props$portal = props.portal,
|
|
62
|
+
portal = _props$portal === void 0 ? true : _props$portal,
|
|
63
|
+
panelClassName = props.panelClassName,
|
|
64
|
+
panelFooter = props.panelFooter,
|
|
65
|
+
_props$listMaxHeight = props.listMaxHeight,
|
|
66
|
+
listMaxHeight = _props$listMaxHeight === void 0 ? DEFAULT_MAX_HEIGHT : _props$listMaxHeight,
|
|
67
|
+
_props$role = props.role,
|
|
68
|
+
roleProp = _props$role === void 0 ? 'dialog' : _props$role,
|
|
69
|
+
animation = props.animation,
|
|
70
|
+
onOpenChange = props.onOpenChange,
|
|
71
|
+
onBlur = props.onBlur,
|
|
72
|
+
children = props.children,
|
|
73
|
+
ref = props.ref;
|
|
74
|
+
var disabled = disabledProp || loading;
|
|
75
|
+
var classes = (0, _classnames["default"])(prefixCls);
|
|
76
|
+
var autoId = (0, _react2.useId)();
|
|
77
|
+
var triggerId = id !== null && id !== void 0 ? id : autoId;
|
|
78
|
+
var labelId = (0, _react2.useId)();
|
|
79
|
+
var descriptionId = (0, _react2.useId)();
|
|
80
|
+
var feedbackId = (0, _react2.useId)();
|
|
81
|
+
var normalizedSize = (0, _utils.normalizeSize)(size);
|
|
82
|
+
var floatingRef = (0, _react2.useRef)(null);
|
|
83
|
+
var triggerRef = (0, _react2.useRef)(null);
|
|
84
|
+
var handleTriggerRef = (0, _hooks.useEventCallback)(function (node) {
|
|
85
|
+
triggerRef.current = node;
|
|
86
|
+
if (ref) {
|
|
87
|
+
ref.current = node;
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
var _useSelectShell = (0, _useSelectShell2.useSelectShell)({
|
|
91
|
+
open: open,
|
|
92
|
+
defaultOpen: defaultOpen,
|
|
93
|
+
onOpenChange: onOpenChange,
|
|
94
|
+
disabled: disabled,
|
|
95
|
+
listMaxHeight: listMaxHeight,
|
|
96
|
+
animation: animation,
|
|
97
|
+
role: roleProp
|
|
98
|
+
}),
|
|
99
|
+
isOpen = _useSelectShell.isOpen,
|
|
100
|
+
setOpen = _useSelectShell.setOpen,
|
|
101
|
+
refs = _useSelectShell.refs,
|
|
102
|
+
context = _useSelectShell.context,
|
|
103
|
+
floatingStyles = _useSelectShell.floatingStyles,
|
|
104
|
+
transitionStyles = _useSelectShell.transitionStyles,
|
|
105
|
+
isMounted = _useSelectShell.isMounted,
|
|
106
|
+
baseInteractions = _useSelectShell.baseInteractions;
|
|
107
|
+
var setReference = (0, _hooks.useEventCallback)(function (node) {
|
|
108
|
+
refs.setReference(node);
|
|
109
|
+
handleTriggerRef(node);
|
|
110
|
+
});
|
|
111
|
+
var setFloating = (0, _hooks.useEventCallback)(function (node) {
|
|
112
|
+
refs.setFloating(node);
|
|
113
|
+
floatingRef.current = node;
|
|
114
|
+
});
|
|
115
|
+
var _useInteractions = (0, _react.useInteractions)(baseInteractions),
|
|
116
|
+
getReferenceProps = _useInteractions.getReferenceProps,
|
|
117
|
+
getFloatingProps = _useInteractions.getFloatingProps;
|
|
118
|
+
var notifyBlurIfOutside = (0, _hooks.useEventCallback)(function (relatedTarget, event) {
|
|
119
|
+
var _a, _b;
|
|
120
|
+
var nextTarget = relatedTarget;
|
|
121
|
+
var withinTrigger = !!(nextTarget && ((_a = triggerRef.current) === null || _a === void 0 ? void 0 : _a.contains(nextTarget)));
|
|
122
|
+
var withinFloating = !!(nextTarget && ((_b = floatingRef.current) === null || _b === void 0 ? void 0 : _b.contains(nextTarget)));
|
|
123
|
+
if (!withinTrigger && !withinFloating) {
|
|
124
|
+
onBlur === null || onBlur === void 0 ? void 0 : onBlur(event);
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
var handleTriggerBlur = (0, _hooks.useEventCallback)(function (event) {
|
|
128
|
+
notifyBlurIfOutside(event.relatedTarget, event);
|
|
129
|
+
});
|
|
130
|
+
var close = (0, _hooks.useEventCallback)(function () {
|
|
131
|
+
var _a;
|
|
132
|
+
setOpen(false);
|
|
133
|
+
(_a = triggerRef.current) === null || _a === void 0 ? void 0 : _a.focus({
|
|
134
|
+
preventScroll: true
|
|
135
|
+
});
|
|
136
|
+
});
|
|
137
|
+
var triggerContent = typeof selectedTemplate === 'function' ? selectedTemplate({
|
|
138
|
+
open: isOpen,
|
|
139
|
+
disabled: disabled
|
|
140
|
+
}) : selectedTemplate;
|
|
141
|
+
var hasSelection = isRenderableTemplate(triggerContent);
|
|
142
|
+
var valueLabelClass = hasSelection ? 'value' : 'placeholder';
|
|
143
|
+
var triggerClassName = classes('trigger', (0, _classnames.joinCls)(classes("trigger-".concat(normalizedSize)), classes("trigger-".concat(variant)), isOpen && classes('trigger-open'), hasSelection ? classes('trigger-filled') : classes('trigger-placeholder'), status !== 'default' && classes("trigger-".concat(status)), disabled && classes('trigger-disabled')));
|
|
144
|
+
var iconSize = normalizedSize === 'small' ? 16 : 20;
|
|
145
|
+
var floatingAriaLabelledBy = ariaLabelledBy !== null && ariaLabelledBy !== void 0 ? ariaLabelledBy : label ? labelId : undefined;
|
|
146
|
+
var describedByIds = [description ? descriptionId : null, feedback ? feedbackId : null].filter(Boolean).join(' ') || undefined;
|
|
147
|
+
var panelCtx = {
|
|
148
|
+
close: close,
|
|
149
|
+
open: isOpen
|
|
150
|
+
};
|
|
151
|
+
var panelBody = typeof children === 'function' ? children(panelCtx) : children;
|
|
152
|
+
return (0, _jsxRuntime.jsxs)(_SelectFieldShell["default"], {
|
|
153
|
+
classes: classes,
|
|
154
|
+
className: className,
|
|
155
|
+
size: normalizedSize,
|
|
156
|
+
variant: variant,
|
|
157
|
+
status: status,
|
|
158
|
+
disabled: disabled,
|
|
159
|
+
loading: loading,
|
|
160
|
+
label: label,
|
|
161
|
+
info: info,
|
|
162
|
+
description: description,
|
|
163
|
+
feedback: feedback,
|
|
164
|
+
required: required,
|
|
165
|
+
labelId: labelId,
|
|
166
|
+
descriptionId: descriptionId,
|
|
167
|
+
feedbackId: feedbackId,
|
|
168
|
+
children: [(0, _jsxRuntime.jsxs)("button", Object.assign({}, getReferenceProps({
|
|
169
|
+
ref: setReference,
|
|
170
|
+
id: triggerId,
|
|
171
|
+
type: 'button',
|
|
172
|
+
name: name,
|
|
173
|
+
disabled: disabled,
|
|
174
|
+
style: style,
|
|
175
|
+
className: triggerClassName,
|
|
176
|
+
onBlur: handleTriggerBlur,
|
|
177
|
+
'aria-label': ariaLabel,
|
|
178
|
+
'aria-labelledby': floatingAriaLabelledBy,
|
|
179
|
+
'aria-describedby': describedByIds
|
|
180
|
+
}), {
|
|
181
|
+
children: [(0, _jsxRuntime.jsxs)("span", {
|
|
182
|
+
className: classes('content'),
|
|
183
|
+
children: [prefix && (0, _jsxRuntime.jsx)("span", {
|
|
184
|
+
className: classes('prefix'),
|
|
185
|
+
children: prefix
|
|
186
|
+
}), (0, _jsxRuntime.jsx)("span", {
|
|
187
|
+
className: classes(valueLabelClass, (0, _classnames.joinCls)(classes("".concat(valueLabelClass, "-").concat(normalizedSize)), disabled && classes("".concat(valueLabelClass, "-disabled")))),
|
|
188
|
+
children: hasSelection ? triggerContent : placeholder
|
|
189
|
+
})]
|
|
190
|
+
}), arrow && (0, _jsxRuntime.jsx)("span", {
|
|
191
|
+
className: classes('icon'),
|
|
192
|
+
children: loading ? (0, _jsxRuntime.jsx)(_Spinner.Spinner, {
|
|
193
|
+
size: iconSize,
|
|
194
|
+
strokeWidth: 2
|
|
195
|
+
}) : (0, _jsxRuntime.jsx)(_Icons.Icons, {
|
|
196
|
+
name: isOpen ? 'chevronUp' : 'chevronDown',
|
|
197
|
+
size: iconSize,
|
|
198
|
+
color: "currentColor"
|
|
199
|
+
})
|
|
200
|
+
})]
|
|
201
|
+
})), isMounted && !disabled && function () {
|
|
202
|
+
var panelNode = (0, _jsxRuntime.jsx)(_react.FloatingFocusManager, {
|
|
203
|
+
context: context,
|
|
204
|
+
modal: false,
|
|
205
|
+
initialFocus: -1,
|
|
206
|
+
returnFocus: false,
|
|
207
|
+
children: (0, _jsxRuntime.jsxs)("div", Object.assign({}, getFloatingProps({
|
|
208
|
+
ref: setFloating,
|
|
209
|
+
className: (0, _classnames.joinCls)(classes('panel'), panelClassName),
|
|
210
|
+
style: Object.assign(Object.assign({}, floatingStyles), transitionStyles)
|
|
211
|
+
}), {
|
|
212
|
+
children: [(0, _jsxRuntime.jsx)("div", {
|
|
213
|
+
className: classes('panel-body'),
|
|
214
|
+
children: panelBody
|
|
215
|
+
}), panelFooter != null && (0, _jsxRuntime.jsx)("div", {
|
|
216
|
+
className: classes('panel-footer'),
|
|
217
|
+
children: panelFooter
|
|
218
|
+
})]
|
|
219
|
+
}))
|
|
220
|
+
});
|
|
221
|
+
return portal ? (0, _jsxRuntime.jsx)(_react.FloatingPortal, {
|
|
222
|
+
children: panelNode
|
|
223
|
+
}) : panelNode;
|
|
224
|
+
}()]
|
|
225
|
+
});
|
|
226
|
+
};
|
|
227
|
+
SelectCustom.displayName = 'SelectCustom';
|
|
228
|
+
var _default = exports["default"] = /*#__PURE__*/(0, _react2.memo)(SelectCustom);
|
|
229
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvU2VsZWN0L1NlbGVjdEN1c3RvbS5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU2VsZWN0L1NlbGVjdEN1c3RvbS50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX3JlYWN0MiIsIl9ob29rcyIsIl9JY29ucyIsIl9TcGlubmVyIiwiX2NsYXNzbmFtZXMiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9TZWxlY3RGaWVsZFNoZWxsIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl91c2VTZWxlY3RTaGVsbDIiLCJfdXRpbHMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJERUZBVUxUX01BWF9IRUlHSFQiLCJpc1JlbmRlcmFibGVUZW1wbGF0ZSIsInZhbHVlIiwidW5kZWZpbmVkIiwiU2VsZWN0Q3VzdG9tIiwiZXhwb3J0cyIsInByb3BzIiwiX3Byb3BzJGNsYXNzTmFtZSIsImNsYXNzTmFtZSIsIl9wcm9wcyRwcmVmaXhDbHMiLCJwcmVmaXhDbHMiLCJzdHlsZSIsImlkIiwibmFtZSIsImFyaWFMYWJlbCIsImFyaWFMYWJlbGxlZEJ5IiwiX3Byb3BzJHNpemUiLCJzaXplIiwiX3Byb3BzJHN0YXR1cyIsInN0YXR1cyIsIl9wcm9wcyR2YXJpYW50IiwidmFyaWFudCIsIl9wcm9wcyRkaXNhYmxlZCIsImRpc2FibGVkIiwiZGlzYWJsZWRQcm9wIiwiX3Byb3BzJGxvYWRpbmciLCJsb2FkaW5nIiwibGFiZWwiLCJpbmZvIiwiZGVzY3JpcHRpb24iLCJmZWVkYmFjayIsIl9wcm9wcyRyZXF1aXJlZCIsInJlcXVpcmVkIiwicHJlZml4IiwiX3Byb3BzJHBsYWNlaG9sZGVyIiwicGxhY2Vob2xkZXIiLCJzZWxlY3RlZFRlbXBsYXRlIiwiX3Byb3BzJGFycm93IiwiYXJyb3ciLCJvcGVuIiwiX3Byb3BzJGRlZmF1bHRPcGVuIiwiZGVmYXVsdE9wZW4iLCJfcHJvcHMkcG9ydGFsIiwicG9ydGFsIiwicGFuZWxDbGFzc05hbWUiLCJwYW5lbEZvb3RlciIsIl9wcm9wcyRsaXN0TWF4SGVpZ2h0IiwibGlzdE1heEhlaWdodCIsIl9wcm9wcyRyb2xlIiwicm9sZSIsInJvbGVQcm9wIiwiYW5pbWF0aW9uIiwib25PcGVuQ2hhbmdlIiwib25CbHVyIiwiY2hpbGRyZW4iLCJyZWYiLCJjbGFzc2VzIiwicm9vdENsYXNzbmFtZXMiLCJhdXRvSWQiLCJ1c2VJZCIsInRyaWdnZXJJZCIsImxhYmVsSWQiLCJkZXNjcmlwdGlvbklkIiwiZmVlZGJhY2tJZCIsIm5vcm1hbGl6ZWRTaXplIiwibm9ybWFsaXplU2l6ZSIsImZsb2F0aW5nUmVmIiwidXNlUmVmIiwidHJpZ2dlclJlZiIsImhhbmRsZVRyaWdnZXJSZWYiLCJ1c2VFdmVudENhbGxiYWNrIiwibm9kZSIsImN1cnJlbnQiLCJfdXNlU2VsZWN0U2hlbGwiLCJ1c2VTZWxlY3RTaGVsbCIsImlzT3BlbiIsInNldE9wZW4iLCJyZWZzIiwiY29udGV4dCIsImZsb2F0aW5nU3R5bGVzIiwidHJhbnNpdGlvblN0eWxlcyIsImlzTW91bnRlZCIsImJhc2VJbnRlcmFjdGlvbnMiLCJzZXRSZWZlcmVuY2UiLCJzZXRGbG9hdGluZyIsIl91c2VJbnRlcmFjdGlvbnMiLCJ1c2VJbnRlcmFjdGlvbnMiLCJnZXRSZWZlcmVuY2VQcm9wcyIsImdldEZsb2F0aW5nUHJvcHMiLCJub3RpZnlCbHVySWZPdXRzaWRlIiwicmVsYXRlZFRhcmdldCIsImV2ZW50IiwiX2EiLCJfYiIsIm5leHRUYXJnZXQiLCJ3aXRoaW5UcmlnZ2VyIiwiY29udGFpbnMiLCJ3aXRoaW5GbG9hdGluZyIsImhhbmRsZVRyaWdnZXJCbHVyIiwiY2xvc2UiLCJmb2N1cyIsInByZXZlbnRTY3JvbGwiLCJ0cmlnZ2VyQ29udGVudCIsImhhc1NlbGVjdGlvbiIsInZhbHVlTGFiZWxDbGFzcyIsInRyaWdnZXJDbGFzc05hbWUiLCJqb2luQ2xzIiwiY29uY2F0IiwiaWNvblNpemUiLCJmbG9hdGluZ0FyaWFMYWJlbGxlZEJ5IiwiZGVzY3JpYmVkQnlJZHMiLCJmaWx0ZXIiLCJCb29sZWFuIiwiam9pbiIsInBhbmVsQ3R4IiwicGFuZWxCb2R5IiwiX2pzeHMiLCJTZWxlY3RGaWVsZFNoZWxsIiwiYXNzaWduIiwidHlwZSIsIl9qc3giLCJTcGlubmVyIiwic3Ryb2tlV2lkdGgiLCJJY29ucyIsImNvbG9yIiwicGFuZWxOb2RlIiwiRmxvYXRpbmdGb2N1c01hbmFnZXIiLCJtb2RhbCIsImluaXRpYWxGb2N1cyIsInJldHVybkZvY3VzIiwiRmxvYXRpbmdQb3J0YWwiLCJkaXNwbGF5TmFtZSIsIl9kZWZhdWx0IiwibWVtbyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxXQUFBLEdBQUFDLE9BQUE7QUNBQSxJQUFBQyxNQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxPQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxNQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxNQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxRQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxXQUFBLEdBQUFDLHVCQUFBLENBQUFQLE9BQUE7QUFHQSxJQUFBUSxpQkFBQSxHQUFBQyxzQkFBQSxDQUFBVCxPQUFBO0FBQ0EsSUFBQVUsZ0JBQUEsR0FBQVYsT0FBQTtBQUNBLElBQUFXLE1BQUEsR0FBQVgsT0FBQTtBQUNBQSxPQUFBO0FBQWlCLFNBQUFZLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBTix3QkFBQU0sQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsU0FBQUosQ0FBQSxlQUFBQSxDQUFBLGdCQUFBSyxPQUFBLENBQUFMLENBQUEsMEJBQUFBLENBQUEsc0JBQUFBLENBQUEsUUFBQUcsQ0FBQSxHQUFBSix3QkFBQSxDQUFBRyxDQUFBLE9BQUFDLENBQUEsSUFBQUEsQ0FBQSxDQUFBRyxHQUFBLENBQUFOLENBQUEsVUFBQUcsQ0FBQSxDQUFBSSxHQUFBLENBQUFQLENBQUEsT0FBQVEsQ0FBQSxLQUFBQyxTQUFBLFVBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMsQ0FBQSxJQUFBZCxDQUFBLG9CQUFBYyxDQUFBLE9BQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBaEIsQ0FBQSxFQUFBYyxDQUFBLFNBQUFHLENBQUEsR0FBQVAsQ0FBQSxHQUFBQyxNQUFBLENBQUFFLHdCQUFBLENBQUFiLENBQUEsRUFBQWMsQ0FBQSxVQUFBRyxDQUFBLEtBQUFBLENBQUEsQ0FBQVYsR0FBQSxJQUFBVSxDQUFBLENBQUFDLEdBQUEsSUFBQVAsTUFBQSxDQUFBQyxjQUFBLENBQUFKLENBQUEsRUFBQU0sQ0FBQSxFQUFBRyxDQUFBLElBQUFULENBQUEsQ0FBQU0sQ0FBQSxJQUFBZCxDQUFBLENBQUFjLENBQUEsWUFBQU4sQ0FBQSxjQUFBUixDQUFBLEVBQUFHLENBQUEsSUFBQUEsQ0FBQSxDQUFBZSxHQUFBLENBQUFsQixDQUFBLEVBQUFRLENBQUEsR0FBQUEsQ0FBQTtBQUVqQixJQUFNVyxrQkFBa0IsR0FBRyxHQUFHO0FBRTlCLElBQU1DLG9CQUFvQixHQUFHLFNBQXZCQSxvQkFBb0JBLENBQUlDLEtBQWM7RUFBQSxPQUMxQ0EsS0FBSyxLQUFLLElBQUksSUFBSUEsS0FBSyxLQUFLQyxTQUFTLElBQUlELEtBQUssS0FBSyxLQUFLO0FBQUE7QUFFbkQsSUFBTUUsWUFBWSxHQUFBQyxPQUFBLENBQUFELFlBQUEsR0FBMEIsU0FBdENBLFlBQVlBLENBQTJCRSxLQUFLLEVBQUk7RUFDM0QsSUFBQUMsZ0JBQUEsR0FrQ0lELEtBQUssQ0FqQ1BFLFNBQVM7SUFBVEEsU0FBUyxHQUFBRCxnQkFBQSxjQUFHLEVBQUUsR0FBQUEsZ0JBQUE7SUFBQUUsZ0JBQUEsR0FpQ1pILEtBQUssQ0FoQ1BJLFNBQVM7SUFBVEEsU0FBUyxHQUFBRCxnQkFBQSxjQUFHLFFBQVEsR0FBQUEsZ0JBQUE7SUFDcEJFLEtBQUssR0ErQkhMLEtBQUssQ0EvQlBLLEtBQUs7SUFDTEMsRUFBRSxHQThCQU4sS0FBSyxDQTlCUE0sRUFBRTtJQUNGQyxJQUFJLEdBNkJGUCxLQUFLLENBN0JQTyxJQUFJO0lBQ1VDLFNBQVMsR0E0QnJCUixLQUFLLENBNUJQLFlBQVk7SUFDT1MsY0FBYyxHQTJCL0JULEtBQUssQ0EzQlAsaUJBQWlCO0lBQUFVLFdBQUEsR0EyQmZWLEtBQUssQ0ExQlBXLElBQUk7SUFBSkEsSUFBSSxHQUFBRCxXQUFBLGNBQUcsT0FBTyxHQUFBQSxXQUFBO0lBQUFFLGFBQUEsR0EwQlpaLEtBQUssQ0F6QlBhLE1BQU07SUFBTkEsTUFBTSxHQUFBRCxhQUFBLGNBQUcsU0FBUyxHQUFBQSxhQUFBO0lBQUFFLGNBQUEsR0F5QmhCZCxLQUFLLENBeEJQZSxPQUFPO0lBQVBBLE9BQU8sR0FBQUQsY0FBQSxjQUFHLE1BQU0sR0FBQUEsY0FBQTtJQUFBRSxlQUFBLEdBd0JkaEIsS0FBSyxDQXZCUGlCLFFBQVE7SUFBRUMsWUFBWSxHQUFBRixlQUFBLGNBQUcsS0FBSyxHQUFBQSxlQUFBO0lBQUFHLGNBQUEsR0F1QjVCbkIsS0FBSyxDQXRCUG9CLE9BQU87SUFBUEEsT0FBTyxHQUFBRCxjQUFBLGNBQUcsS0FBSyxHQUFBQSxjQUFBO0lBQ2ZFLEtBQUssR0FxQkhyQixLQUFLLENBckJQcUIsS0FBSztJQUNMQyxJQUFJLEdBb0JGdEIsS0FBSyxDQXBCUHNCLElBQUk7SUFDSkMsV0FBVyxHQW1CVHZCLEtBQUssQ0FuQlB1QixXQUFXO0lBQ1hDLFFBQVEsR0FrQk54QixLQUFLLENBbEJQd0IsUUFBUTtJQUFBQyxlQUFBLEdBa0JOekIsS0FBSyxDQWpCUDBCLFFBQVE7SUFBUkEsUUFBUSxHQUFBRCxlQUFBLGNBQUcsS0FBSyxHQUFBQSxlQUFBO0lBQ2hCRSxNQUFNLEdBZ0JKM0IsS0FBSyxDQWhCUDJCLE1BQU07SUFBQUMsa0JBQUEsR0FnQko1QixLQUFLLENBZlA2QixXQUFXO0lBQVhBLFdBQVcsR0FBQUQsa0JBQUEsY0FBRyxPQUFPLEdBQUFBLGtCQUFBO0lBQ3JCRSxnQkFBZ0IsR0FjZDlCLEtBQUssQ0FkUDhCLGdCQUFnQjtJQUFBQyxZQUFBLEdBY2QvQixLQUFLLENBYlBnQyxLQUFLO0lBQUxBLEtBQUssR0FBQUQsWUFBQSxjQUFHLElBQUksR0FBQUEsWUFBQTtJQUNaRSxJQUFJLEdBWUZqQyxLQUFLLENBWlBpQyxJQUFJO0lBQUFDLGtCQUFBLEdBWUZsQyxLQUFLLENBWFBtQyxXQUFXO0lBQVhBLFdBQVcsR0FBQUQsa0JBQUEsY0FBRyxLQUFLLEdBQUFBLGtCQUFBO0lBQUFFLGFBQUEsR0FXakJwQyxLQUFLLENBVlBxQyxNQUFNO0lBQU5BLE1BQU0sR0FBQUQsYUFBQSxjQUFHLElBQUksR0FBQUEsYUFBQTtJQUNiRSxjQUFjLEdBU1p0QyxLQUFLLENBVFBzQyxjQUFjO0lBQ2RDLFdBQVcsR0FRVHZDLEtBQUssQ0FSUHVDLFdBQVc7SUFBQUMsb0JBQUEsR0FRVHhDLEtBQUssQ0FQUHlDLGFBQWE7SUFBYkEsYUFBYSxHQUFBRCxvQkFBQSxjQUFHOUMsa0JBQWtCLEdBQUE4QyxvQkFBQTtJQUFBRSxXQUFBLEdBT2hDMUMsS0FBSyxDQU5QMkMsSUFBSTtJQUFFQyxRQUFRLEdBQUFGLFdBQUEsY0FBRyxRQUFRLEdBQUFBLFdBQUE7SUFDekJHLFNBQVMsR0FLUDdDLEtBQUssQ0FMUDZDLFNBQVM7SUFDVEMsWUFBWSxHQUlWOUMsS0FBSyxDQUpQOEMsWUFBWTtJQUNaQyxNQUFNLEdBR0ovQyxLQUFLLENBSFArQyxNQUFNO0lBQ05DLFFBQVEsR0FFTmhELEtBQUssQ0FGUGdELFFBQVE7SUFDUkMsR0FBRyxHQUNEakQsS0FBSyxDQURQaUQsR0FBRztFQUVMLElBQU1oQyxRQUFRLEdBQUdDLFlBQVksSUFBSUUsT0FBTztFQUV4QyxJQUFNOEIsT0FBTyxHQUFHLElBQUFDLHNCQUFjLEVBQUMvQyxTQUFTLENBQUM7RUFDekMsSUFBTWdELE1BQU0sR0FBRyxJQUFBQyxhQUFLLEVBQUEsQ0FBRTtFQUN0QixJQUFNQyxTQUFTLEdBQUdoRCxFQUFFLEtBQUEsSUFBQSxJQUFGQSxFQUFFLEtBQUEsS0FBQSxDQUFBLEdBQUZBLEVBQUUsR0FBSThDLE1BQU07RUFDOUIsSUFBTUcsT0FBTyxHQUFHLElBQUFGLGFBQUssRUFBQSxDQUFFO0VBQ3ZCLElBQU1HLGFBQWEsR0FBRyxJQUFBSCxhQUFLLEVBQUEsQ0FBRTtFQUM3QixJQUFNSSxVQUFVLEdBQUcsSUFBQUosYUFBSyxFQUFBLENBQUU7RUFFMUIsSUFBTUssY0FBYyxHQUFHLElBQUFDLG9CQUFhLEVBQUNoRCxJQUFJLENBQUM7RUFDMUMsSUFBTWlELFdBQVcsR0FBRyxJQUFBQyxjQUFNLEVBQXdCLElBQUksQ0FBQztFQUN2RCxJQUFNQyxVQUFVLEdBQUcsSUFBQUQsY0FBTSxFQUEyQixJQUFJLENBQUM7RUFFekQsSUFBTUUsZ0JBQWdCLEdBQUcsSUFBQUMsdUJBQWdCLEVBQUMsVUFBQ0MsSUFBOEIsRUFBSTtJQUMzRUgsVUFBVSxDQUFDSSxPQUFPLEdBQUdELElBQUk7SUFDekIsSUFBSWhCLEdBQUcsRUFBRTtNQUNOQSxHQUE2QyxDQUFDaUIsT0FBTyxHQUFHRCxJQUFJO0lBQy9EO0VBQ0YsQ0FBQyxDQUFDO0VBRUYsSUFBQUUsZUFBQSxHQVNJLElBQUFDLCtCQUFjLEVBQW9CO01BQ3BDbkMsSUFBSSxFQUFKQSxJQUFJO01BQ0pFLFdBQVcsRUFBWEEsV0FBVztNQUNYVyxZQUFZLEVBQVpBLFlBQVk7TUFDWjdCLFFBQVEsRUFBUkEsUUFBUTtNQUNSd0IsYUFBYSxFQUFiQSxhQUFhO01BQ2JJLFNBQVMsRUFBVEEsU0FBUztNQUNURixJQUFJLEVBQUVDO0lEbkROLENDb0RELENBQUM7SUFoQkF5QixNQUFNLEdBQUFGLGVBQUEsQ0FBTkUsTUFBTTtJQUNOQyxPQUFPLEdBQUFILGVBQUEsQ0FBUEcsT0FBTztJQUNQQyxJQUFJLEdBQUFKLGVBQUEsQ0FBSkksSUFBSTtJQUNKQyxPQUFPLEdBQUFMLGVBQUEsQ0FBUEssT0FBTztJQUNQQyxjQUFjLEdBQUFOLGVBQUEsQ0FBZE0sY0FBYztJQUNkQyxnQkFBZ0IsR0FBQVAsZUFBQSxDQUFoQk8sZ0JBQWdCO0lBQ2hCQyxTQUFTLEdBQUFSLGVBQUEsQ0FBVFEsU0FBUztJQUNUQyxnQkFBZ0IsR0FBQVQsZUFBQSxDQUFoQlMsZ0JBQWdCO0VBV2xCLElBQU1DLFlBQVksR0FBRyxJQUFBYix1QkFBZ0IsRUFBQyxVQUFDQyxJQUE4QixFQUFJO0lBQ3ZFTSxJQUFJLENBQUNNLFlBQVksQ0FBQ1osSUFBSSxDQUFDO0lBQ3ZCRixnQkFBZ0IsQ0FBQ0UsSUFBSSxDQUFDO0VBQ3hCLENBQUMsQ0FBQztFQUVGLElBQU1hLFdBQVcsR0FBRyxJQUFBZCx1QkFBZ0IsRUFBQyxVQUFDQyxJQUEyQixFQUFJO0lBQ25FTSxJQUFJLENBQUNPLFdBQVcsQ0FBQ2IsSUFBSSxDQUFDO0lBQ3RCTCxXQUFXLENBQUNNLE9BQU8sR0FBR0QsSUFBSTtFQUM1QixDQUFDLENBQUM7RUFFRixJQUFBYyxnQkFBQSxHQUFnRCxJQUFBQyxzQkFBZSxFQUFDSixnQkFBZ0IsQ0FBQztJQUF6RUssaUJBQWlCLEdBQUFGLGdCQUFBLENBQWpCRSxpQkFBaUI7SUFBRUMsZ0JBQWdCLEdBQUFILGdCQUFBLENBQWhCRyxnQkFBZ0I7RUFFM0MsSUFBTUMsbUJBQW1CLEdBQUcsSUFBQW5CLHVCQUFnQixFQUMxQyxVQUFDb0IsYUFBaUMsRUFBRUMsS0FBK0IsRUFBSTtJRHhEbkUsSUFBSUMsRUFBRSxFQUFFQyxFQUFFO0lDeURaLElBQU1DLFVBQVUsR0FBR0osYUFBNEI7SUFDL0MsSUFBTUssYUFBYSxHQUFHLENBQUMsRUFBRUQsVUFBVSxLQUFJLENBQUFGLEVBQUEsR0FBQXhCLFVBQVUsQ0FBQ0ksT0FBTyxNQUFBLElBQUEsSUFBQW9CLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFSSxRQUFRLENBQUNGLFVBQVUsQ0FBQyxDQUFBLENBQUM7SUFDaEYsSUFBTUcsY0FBYyxHQUFHLENBQUMsRUFBRUgsVUFBVSxLQUFJLENBQUFELEVBQUEsR0FBQTNCLFdBQVcsQ0FBQ00sT0FBTyxNQUFBLElBQUEsSUFBQXFCLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFRyxRQUFRLENBQUNGLFVBQVUsQ0FBQyxDQUFBLENBQUM7SUFFbEYsSUFBSSxDQUFDQyxhQUFhLElBQUksQ0FBQ0UsY0FBYyxFQUFFO01BQ3JDNUMsTUFBTSxLQUFBLElBQUEsSUFBTkEsTUFBTSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFOQSxNQUFNLENBQUdzQyxLQUFLLENBQUM7SUFDakI7RUFDRixDQUFDLENBQ0Y7RUFFRCxJQUFNTyxpQkFBaUIsR0FBRyxJQUFBNUIsdUJBQWdCLEVBQUMsVUFBQ3FCLEtBQW9DLEVBQUk7SUFDbEZGLG1CQUFtQixDQUFDRSxLQUFLLENBQUNELGFBQWEsRUFBRUMsS0FBZ0MsQ0FBQztFQUM1RSxDQUFDLENBQUM7RUFFRixJQUFNUSxLQUFLLEdBQUcsSUFBQTdCLHVCQUFnQixFQUFDLFlBQUs7SUQzRDlCLElBQUlzQixFQUFFO0lDNERWaEIsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUNkLENBQUFnQixFQUFBLEdBQUF4QixVQUFVLENBQUNJLE9BQU8sTUFBQSxJQUFBLElBQUFvQixFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBRVEsS0FBSyxDQUFDO01BQUVDLGFBQWEsRUFBRTtJQUFJLENBQUUsQ0FBQztFQUNwRCxDQUFDLENBQUM7RUFFRixJQUFNQyxjQUFjLEdBQ2xCLE9BQU9sRSxnQkFBZ0IsS0FBSyxVQUFVLEdBQ2xDQSxnQkFBZ0IsQ0FBQztJQUFFRyxJQUFJLEVBQUVvQyxNQUFNO0lBQUVwRCxRQUFRLEVBQVJBO0VBQVEsQ0FBRSxDQUFDLEdBQzVDYSxnQkFBZ0I7RUFDdEIsSUFBTW1FLFlBQVksR0FBR3RHLG9CQUFvQixDQUFDcUcsY0FBYyxDQUFDO0VBRXpELElBQU1FLGVBQWUsR0FBR0QsWUFBWSxHQUFHLE9BQU8sR0FBRyxhQUFhO0VBQzlELElBQU1FLGdCQUFnQixHQUFHakQsT0FBTyxDQUM5QixTQUFTLEVBQ1QsSUFBQWtELG1CQUFPLEVBQ0xsRCxPQUFPLFlBQUFtRCxNQUFBLENBQVkzQyxjQUFjLENBQUUsQ0FBQyxFQUNwQ1IsT0FBTyxZQUFBbUQsTUFBQSxDQUFZdEYsT0FBTyxDQUFFLENBQUMsRUFDN0JzRCxNQUFNLElBQUluQixPQUFPLENBQUMsY0FBYyxDQUFDLEVBQ2pDK0MsWUFBWSxHQUFHL0MsT0FBTyxDQUFDLGdCQUFnQixDQUFDLEdBQUdBLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxFQUN6RXJDLE1BQU0sS0FBSyxTQUFTLElBQUlxQyxPQUFPLFlBQUFtRCxNQUFBLENBQVl4RixNQUFNLENBQUUsQ0FBQyxFQUNwREksUUFBUSxJQUFJaUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQ3hDLENBQ0Y7RUFDRCxJQUFNb0QsUUFBUSxHQUFHNUMsY0FBYyxLQUFLLE9BQU8sR0FBRyxFQUFFLEdBQUcsRUFBRTtFQUNyRCxJQUFNNkMsc0JBQXNCLEdBQUc5RixjQUFjLEtBQUEsSUFBQSxJQUFkQSxjQUFjLEtBQUEsS0FBQSxDQUFBLEdBQWRBLGNBQWMsR0FBS1ksS0FBSyxHQUFHa0MsT0FBTyxHQUFHMUQsU0FBVTtFQUM5RSxJQUFNMkcsY0FBYyxHQUNsQixDQUFDakYsV0FBVyxHQUFHaUMsYUFBYSxHQUFHLElBQUksRUFBRWhDLFFBQVEsR0FBR2lDLFVBQVUsR0FBRyxJQUFJLENBQUMsQ0FDL0RnRCxNQUFNLENBQUNDLE9BQU8sQ0FBQyxDQUNmQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUk5RyxTQUFTO0VBRTNCLElBQU0rRyxRQUFRLEdBQTZCO0lBQUVmLEtBQUssRUFBTEEsS0FBSztJQUFFNUQsSUFBSSxFQUFFb0M7RUFBTSxDQUFFO0VBQ2xFLElBQU13QyxTQUFTLEdBQUcsT0FBTzdELFFBQVEsS0FBSyxVQUFVLEdBQUdBLFFBQVEsQ0FBQzRELFFBQVEsQ0FBQyxHQUFHNUQsUUFBUTtFQUVoRixPQUNFLElBQUE4RCxnQkFBQSxFQUFDQyw0QkFBZ0IsRUFBQTtJQUNmN0QsT0FBTyxFQUFFQSxPQUFPO0lBQ2hCaEQsU0FBUyxFQUFFQSxTQUFTO0lBQ3BCUyxJQUFJLEVBQUUrQyxjQUFjO0lBQ3BCM0MsT0FBTyxFQUFFQSxPQUFPO0lBQ2hCRixNQUFNLEVBQUVBLE1BQU07SUFDZEksUUFBUSxFQUFFQSxRQUFRO0lBQ2xCRyxPQUFPLEVBQUVBLE9BQU87SUFDaEJDLEtBQUssRUFBRUEsS0FBSztJQUNaQyxJQUFJLEVBQUVBLElBQUk7SUFDVkMsV0FBVyxFQUFFQSxXQUFXO0lBQ3hCQyxRQUFRLEVBQUVBLFFBQVE7SUFDbEJFLFFBQVEsRUFBRUEsUUFBUTtJQUNsQjZCLE9BQU8sRUFBRUEsT0FBTztJQUNoQkMsYUFBYSxFQUFFQSxhQUFhO0lBQzVCQyxVQUFVLEVBQUVBLFVBQVU7SUFBQVQsUUFBQSxFQUFBLENBRXRCLElBQUE4RCxnQkFBQSxFQUFBLFFBQUEsRUFBQTVILE1BQUEsQ0FBQThILE1BQUEsQ0FBQSxDQUFBLENBQUEsRUFDTS9CLGlCQUFpQixDQUFDO01BQ3BCaEMsR0FBRyxFQUFFNEIsWUFBWTtNQUNqQnZFLEVBQUUsRUFBRWdELFNBQVM7TUFDYjJELElBQUksRUFBRSxRQUFRO01BQ2QxRyxJQUFJLEVBQUpBLElBQUk7TUFDSlUsUUFBUSxFQUFSQSxRQUFRO01BQ1JaLEtBQUssRUFBTEEsS0FBSztNQUNMSCxTQUFTLEVBQUVpRyxnQkFBZ0I7TUFDM0JwRCxNQUFNLEVBQUU2QyxpQkFBaUI7TUFDekIsWUFBWSxFQUFFcEYsU0FBUztNQUN2QixpQkFBaUIsRUFBRStGLHNCQUFzQjtNQUN6QyxrQkFBa0IsRUFBRUM7SUQ3RmxCLENDOEZILENBQUMsRUFBQTtNQUFBeEQsUUFBQSxFQUFBLENBRUYsSUFBQThELGdCQUFBLEVBQUEsTUFBQSxFQUFBO1FBQU01RyxTQUFTLEVBQUVnRCxPQUFPLENBQUMsU0FBUyxDQUFDO1FBQUFGLFFBQUEsRUFBQSxDQUNoQ3JCLE1BQU0sSUFBSSxJQUFBdUYsZUFBQSxFQUFBLE1BQUEsRUFBQTtVQUFNaEgsU0FBUyxFQUFFZ0QsT0FBTyxDQUFDLFFBQVEsQ0FBQztVQUFBRixRQUFBLEVBQUdyQjtRQUFNLENBQUEsQ0FBUSxFQUM5RCxJQUFBdUYsZUFBQSxFQUFBLE1BQUEsRUFBQTtVQUNFaEgsU0FBUyxFQUFFZ0QsT0FBTyxDQUNoQmdELGVBQWUsRUFDZixJQUFBRSxtQkFBTyxFQUNMbEQsT0FBTyxJQUFBbUQsTUFBQSxDQUFJSCxlQUFlLE9BQUFHLE1BQUEsQ0FBSTNDLGNBQWMsQ0FBRSxDQUFDLEVBQy9DekMsUUFBUSxJQUFJaUMsT0FBTyxJQUFBbUQsTUFBQSxDQUFJSCxlQUFlLGNBQVcsQ0FBQyxDQUNuRCxDQUNGO1VBQUFsRCxRQUFBLEVBRUFpRCxZQUFZLEdBQUdELGNBQWMsR0FBR25FO1FBQVcsQ0FBQSxDQUN2QztNQUFBLENBQUEsQ0FDRixFQUNORyxLQUFLLElBQ0osSUFBQWtGLGVBQUEsRUFBQSxNQUFBLEVBQUE7UUFBTWhILFNBQVMsRUFBRWdELE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFBQUYsUUFBQSxFQUM3QjVCLE9BQU8sR0FDTixJQUFBOEYsZUFBQSxFQUFDQyxnQkFBTyxFQUFBO1VBQUN4RyxJQUFJLEVBQUUyRixRQUFRO1VBQUVjLFdBQVcsRUFBRTtRQUFDLENBQUEsQ0FBSSxHQUUzQyxJQUFBRixlQUFBLEVBQUNHLFlBQUssRUFBQTtVQUNKOUcsSUFBSSxFQUFFOEQsTUFBTSxHQUFHLFdBQVcsR0FBRyxhQUFhO1VBQzFDMUQsSUFBSSxFQUFFMkYsUUFBUTtVQUNkZ0IsS0FBSyxFQUFDO1FBQWMsQ0FBQTtNQUV2QixDQUFBLENBRUo7SUFBQSxDQUFBLENBQUEsQ0FDTSxFQUVSM0MsU0FBUyxJQUFJLENBQUMxRCxRQUFRLElBQUssWUFBSztNQUMvQixJQUFNc0csU0FBUyxHQUNiLElBQUFMLGVBQUEsRUFBQ00sMkJBQW9CLEVBQUE7UUFDbkJoRCxPQUFPLEVBQUVBLE9BQU87UUFDaEJpRCxLQUFLLEVBQUUsS0FBSztRQUNaQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQ2hCQyxXQUFXLEVBQUUsS0FBSztRQUFBM0UsUUFBQSxFQUVsQixJQUFBOEQsZ0JBQUEsRUFBQSxLQUFBLEVBQUE1SCxNQUFBLENBQUE4SCxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQ005QixnQkFBZ0IsQ0FBQztVQUNuQmpDLEdBQUcsRUFBRTZCLFdBQVc7VUFDaEI1RSxTQUFTLEVBQUUsSUFBQWtHLG1CQUFPLEVBQUNsRCxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUVaLGNBQWMsQ0FBQztVQUNwRGpDLEtBQUssRUFBQW5CLE1BQUEsQ0FBQThILE1BQUEsQ0FBQTlILE1BQUEsQ0FBQThILE1BQUEsQ0FBQSxDQUFBLENBQUEsRUFBT3ZDLGNBQWMsQ0FBQSxFQUFLQyxnQkFBZ0I7UURwSTNDLENDcUlMLENBQUMsRUFBQTtVQUFBMUIsUUFBQSxFQUFBLENBRUYsSUFBQWtFLGVBQUEsRUFBQSxLQUFBLEVBQUE7WUFBS2hILFNBQVMsRUFBRWdELE9BQU8sQ0FBQyxZQUFZLENBQUM7WUFBQUYsUUFBQSxFQUFHNkQ7VUFBUyxDQUFBLENBQU8sRUFDdkR0RSxXQUFXLElBQUksSUFBSSxJQUNsQixJQUFBMkUsZUFBQSxFQUFBLEtBQUEsRUFBQTtZQUFLaEgsU0FBUyxFQUFFZ0QsT0FBTyxDQUFDLGNBQWMsQ0FBQztZQUFBRixRQUFBLEVBQUdUO1VBQVcsQ0FBQSxDQUN0RDtRQUFBLENBQUEsQ0FBQTtNQUNHLENBQUEsQ0FFVDtNQUVELE9BQU9GLE1BQU0sR0FBRyxJQUFBNkUsZUFBQSxFQUFDVSxxQkFBYyxFQUFBO1FBQUE1RSxRQUFBLEVBQUV1RTtNQUFTLENBQUEsQ0FBa0IsR0FBR0EsU0FBUztJQUMxRSxDQUFDLENBQUMsQ0FBRTtFQUFBLENBQUEsQ0FDYTtBQUV2QixDQUFDO0FBRUR6SCxZQUFZLENBQUMrSCxXQUFXLEdBQUcsY0FBYztBQUFDLElBQUFDLFFBQUEsR0FBQS9ILE9BQUEsMkJBRTNCLElBQUFnSSxZQUFJLEVBQUNqSSxZQUFZLENBQUMiLCJmaWxlIjoiY29tcG9uZW50cy9TZWxlY3QvU2VsZWN0Q3VzdG9tLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IEZsb2F0aW5nRm9jdXNNYW5hZ2VyLCBGbG9hdGluZ1BvcnRhbCwgdXNlSW50ZXJhY3Rpb25zIH0gZnJvbSAnQGZsb2F0aW5nLXVpL3JlYWN0JztcbmltcG9ydCB7IG1lbW8sIHVzZUlkLCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VFdmVudENhbGxiYWNrIH0gZnJvbSAnQDFtb25leS9ob29rcyc7XG5pbXBvcnQgeyBJY29ucyB9IGZyb20gJy4uL0ljb25zJztcbmltcG9ydCB7IFNwaW5uZXIgfSBmcm9tICcuLi9TcGlubmVyJztcbmltcG9ydCB7IGpvaW5DbHMsIGRlZmF1bHQgYXMgcm9vdENsYXNzbmFtZXMgfSBmcm9tICcuLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCBTZWxlY3RGaWVsZFNoZWxsIGZyb20gJy4vU2VsZWN0RmllbGRTaGVsbCc7XG5pbXBvcnQgeyB1c2VTZWxlY3RTaGVsbCB9IGZyb20gJy4vdXNlU2VsZWN0U2hlbGwnO1xuaW1wb3J0IHsgbm9ybWFsaXplU2l6ZSB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0ICcuL3N0eWxlJztcbmNvbnN0IERFRkFVTFRfTUFYX0hFSUdIVCA9IDMyMDtcbmNvbnN0IGlzUmVuZGVyYWJsZVRlbXBsYXRlID0gKHZhbHVlKSA9PiB2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHZhbHVlICE9PSBmYWxzZTtcbmV4cG9ydCBjb25zdCBTZWxlY3RDdXN0b20gPSAocHJvcHMpID0+IHtcbiAgICBjb25zdCB7IGNsYXNzTmFtZSA9ICcnLCBwcmVmaXhDbHMgPSAnc2VsZWN0Jywgc3R5bGUsIGlkLCBuYW1lLCAnYXJpYS1sYWJlbCc6IGFyaWFMYWJlbCwgJ2FyaWEtbGFiZWxsZWRieSc6IGFyaWFMYWJlbGxlZEJ5LCBzaXplID0gJ2xhcmdlJywgc3RhdHVzID0gJ2RlZmF1bHQnLCB2YXJpYW50ID0gJ2ZpbGwnLCBkaXNhYmxlZDogZGlzYWJsZWRQcm9wID0gZmFsc2UsIGxvYWRpbmcgPSBmYWxzZSwgbGFiZWwsIGluZm8sIGRlc2NyaXB0aW9uLCBmZWVkYmFjaywgcmVxdWlyZWQgPSBmYWxzZSwgcHJlZml4LCBwbGFjZWhvbGRlciA9ICdWYWx1ZScsIHNlbGVjdGVkVGVtcGxhdGUsIGFycm93ID0gdHJ1ZSwgb3BlbiwgZGVmYXVsdE9wZW4gPSBmYWxzZSwgcG9ydGFsID0gdHJ1ZSwgcGFuZWxDbGFzc05hbWUsIHBhbmVsRm9vdGVyLCBsaXN0TWF4SGVpZ2h0ID0gREVGQVVMVF9NQVhfSEVJR0hULCByb2xlOiByb2xlUHJvcCA9ICdkaWFsb2cnLCBhbmltYXRpb24sIG9uT3BlbkNoYW5nZSwgb25CbHVyLCBjaGlsZHJlbiwgcmVmLCB9ID0gcHJvcHM7XG4gICAgY29uc3QgZGlzYWJsZWQgPSBkaXNhYmxlZFByb3AgfHwgbG9hZGluZztcbiAgICBjb25zdCBjbGFzc2VzID0gcm9vdENsYXNzbmFtZXMocHJlZml4Q2xzKTtcbiAgICBjb25zdCBhdXRvSWQgPSB1c2VJZCgpO1xuICAgIGNvbnN0IHRyaWdnZXJJZCA9IGlkICE9PSBudWxsICYmIGlkICE9PSB2b2lkIDAgPyBpZCA6IGF1dG9JZDtcbiAgICBjb25zdCBsYWJlbElkID0gdXNlSWQoKTtcbiAgICBjb25zdCBkZXNjcmlwdGlvbklkID0gdXNlSWQoKTtcbiAgICBjb25zdCBmZWVkYmFja0lkID0gdXNlSWQoKTtcbiAgICBjb25zdCBub3JtYWxpemVkU2l6ZSA9IG5vcm1hbGl6ZVNpemUoc2l6ZSk7XG4gICAgY29uc3QgZmxvYXRpbmdSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3QgdHJpZ2dlclJlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCBoYW5kbGVUcmlnZ2VyUmVmID0gdXNlRXZlbnRDYWxsYmFjaygobm9kZSkgPT4ge1xuICAgICAgICB0cmlnZ2VyUmVmLmN1cnJlbnQgPSBub2RlO1xuICAgICAgICBpZiAocmVmKSB7XG4gICAgICAgICAgICByZWYuY3VycmVudCA9IG5vZGU7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCB7IGlzT3Blbiwgc2V0T3BlbiwgcmVmcywgY29udGV4dCwgZmxvYXRpbmdTdHlsZXMsIHRyYW5zaXRpb25TdHlsZXMsIGlzTW91bnRlZCwgYmFzZUludGVyYWN0aW9ucywgfSA9IHVzZVNlbGVjdFNoZWxsKHtcbiAgICAgICAgb3BlbixcbiAgICAgICAgZGVmYXVsdE9wZW4sXG4gICAgICAgIG9uT3BlbkNoYW5nZSxcbiAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgIGxpc3RNYXhIZWlnaHQsXG4gICAgICAgIGFuaW1hdGlvbixcbiAgICAgICAgcm9sZTogcm9sZVByb3AsXG4gICAgfSk7XG4gICAgY29uc3Qgc2V0UmVmZXJlbmNlID0gdXNlRXZlbnRDYWxsYmFjaygobm9kZSkgPT4ge1xuICAgICAgICByZWZzLnNldFJlZmVyZW5jZShub2RlKTtcbiAgICAgICAgaGFuZGxlVHJpZ2dlclJlZihub2RlKTtcbiAgICB9KTtcbiAgICBjb25zdCBzZXRGbG9hdGluZyA9IHVzZUV2ZW50Q2FsbGJhY2soKG5vZGUpID0+IHtcbiAgICAgICAgcmVmcy5zZXRGbG9hdGluZyhub2RlKTtcbiAgICAgICAgZmxvYXRpbmdSZWYuY3VycmVudCA9IG5vZGU7XG4gICAgfSk7XG4gICAgY29uc3QgeyBnZXRSZWZlcmVuY2VQcm9wcywgZ2V0RmxvYXRpbmdQcm9wcyB9ID0gdXNlSW50ZXJhY3Rpb25zKGJhc2VJbnRlcmFjdGlvbnMpO1xuICAgIGNvbnN0IG5vdGlmeUJsdXJJZk91dHNpZGUgPSB1c2VFdmVudENhbGxiYWNrKChyZWxhdGVkVGFyZ2V0LCBldmVudCkgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICBjb25zdCBuZXh0VGFyZ2V0ID0gcmVsYXRlZFRhcmdldDtcbiAgICAgICAgY29uc3Qgd2l0aGluVHJpZ2dlciA9ICEhKG5leHRUYXJnZXQgJiYgKChfYSA9IHRyaWdnZXJSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNvbnRhaW5zKG5leHRUYXJnZXQpKSk7XG4gICAgICAgIGNvbnN0IHdpdGhpbkZsb2F0aW5nID0gISEobmV4dFRhcmdldCAmJiAoKF9iID0gZmxvYXRpbmdSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNvbnRhaW5zKG5leHRUYXJnZXQpKSk7XG4gICAgICAgIGlmICghd2l0aGluVHJpZ2dlciAmJiAhd2l0aGluRmxvYXRpbmcpIHtcbiAgICAgICAgICAgIG9uQmx1ciA9PT0gbnVsbCB8fCBvbkJsdXIgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQmx1cihldmVudCk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVUcmlnZ2VyQmx1ciA9IHVzZUV2ZW50Q2FsbGJhY2soKGV2ZW50KSA9PiB7XG4gICAgICAgIG5vdGlmeUJsdXJJZk91dHNpZGUoZXZlbnQucmVsYXRlZFRhcmdldCwgZXZlbnQpO1xuICAgIH0pO1xuICAgIGNvbnN0IGNsb3NlID0gdXNlRXZlbnRDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgc2V0T3BlbihmYWxzZSk7XG4gICAgICAgIChfYSA9IHRyaWdnZXJSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmZvY3VzKHsgcHJldmVudFNjcm9sbDogdHJ1ZSB9KTtcbiAgICB9KTtcbiAgICBjb25zdCB0cmlnZ2VyQ29udGVudCA9IHR5cGVvZiBzZWxlY3RlZFRlbXBsYXRlID09PSAnZnVuY3Rpb24nXG4gICAgICAgID8gc2VsZWN0ZWRUZW1wbGF0ZSh7IG9wZW46IGlzT3BlbiwgZGlzYWJsZWQgfSlcbiAgICAgICAgOiBzZWxlY3RlZFRlbXBsYXRlO1xuICAgIGNvbnN0IGhhc1NlbGVjdGlvbiA9IGlzUmVuZGVyYWJsZVRlbXBsYXRlKHRyaWdnZXJDb250ZW50KTtcbiAgICBjb25zdCB2YWx1ZUxhYmVsQ2xhc3MgPSBoYXNTZWxlY3Rpb24gPyAndmFsdWUnIDogJ3BsYWNlaG9sZGVyJztcbiAgICBjb25zdCB0cmlnZ2VyQ2xhc3NOYW1lID0gY2xhc3NlcygndHJpZ2dlcicsIGpvaW5DbHMoY2xhc3NlcyhgdHJpZ2dlci0ke25vcm1hbGl6ZWRTaXplfWApLCBjbGFzc2VzKGB0cmlnZ2VyLSR7dmFyaWFudH1gKSwgaXNPcGVuICYmIGNsYXNzZXMoJ3RyaWdnZXItb3BlbicpLCBoYXNTZWxlY3Rpb24gPyBjbGFzc2VzKCd0cmlnZ2VyLWZpbGxlZCcpIDogY2xhc3NlcygndHJpZ2dlci1wbGFjZWhvbGRlcicpLCBzdGF0dXMgIT09ICdkZWZhdWx0JyAmJiBjbGFzc2VzKGB0cmlnZ2VyLSR7c3RhdHVzfWApLCBkaXNhYmxlZCAmJiBjbGFzc2VzKCd0cmlnZ2VyLWRpc2FibGVkJykpKTtcbiAgICBjb25zdCBpY29uU2l6ZSA9IG5vcm1hbGl6ZWRTaXplID09PSAnc21hbGwnID8gMTYgOiAyMDtcbiAgICBjb25zdCBmbG9hdGluZ0FyaWFMYWJlbGxlZEJ5ID0gYXJpYUxhYmVsbGVkQnkgIT09IG51bGwgJiYgYXJpYUxhYmVsbGVkQnkgIT09IHZvaWQgMCA/IGFyaWFMYWJlbGxlZEJ5IDogKGxhYmVsID8gbGFiZWxJZCA6IHVuZGVmaW5lZCk7XG4gICAgY29uc3QgZGVzY3JpYmVkQnlJZHMgPSBbZGVzY3JpcHRpb24gPyBkZXNjcmlwdGlvbklkIDogbnVsbCwgZmVlZGJhY2sgPyBmZWVkYmFja0lkIDogbnVsbF1cbiAgICAgICAgLmZpbHRlcihCb29sZWFuKVxuICAgICAgICAuam9pbignICcpIHx8IHVuZGVmaW5lZDtcbiAgICBjb25zdCBwYW5lbEN0eCA9IHsgY2xvc2UsIG9wZW46IGlzT3BlbiB9O1xuICAgIGNvbnN0IHBhbmVsQm9keSA9IHR5cGVvZiBjaGlsZHJlbiA9PT0gJ2Z1bmN0aW9uJyA/IGNoaWxkcmVuKHBhbmVsQ3R4KSA6IGNoaWxkcmVuO1xuICAgIHJldHVybiAoX2pzeHMoU2VsZWN0RmllbGRTaGVsbCwgeyBjbGFzc2VzOiBjbGFzc2VzLCBjbGFzc05hbWU6IGNsYXNzTmFtZSwgc2l6ZTogbm9ybWFsaXplZFNpemUsIHZhcmlhbnQ6IHZhcmlhbnQsIHN0YXR1czogc3RhdHVzLCBkaXNhYmxlZDogZGlzYWJsZWQsIGxvYWRpbmc6IGxvYWRpbmcsIGxhYmVsOiBsYWJlbCwgaW5mbzogaW5mbywgZGVzY3JpcHRpb246IGRlc2NyaXB0aW9uLCBmZWVkYmFjazogZmVlZGJhY2ssIHJlcXVpcmVkOiByZXF1aXJlZCwgbGFiZWxJZDogbGFiZWxJZCwgZGVzY3JpcHRpb25JZDogZGVzY3JpcHRpb25JZCwgZmVlZGJhY2tJZDogZmVlZGJhY2tJZCwgY2hpbGRyZW46IFtfanN4cyhcImJ1dHRvblwiLCBPYmplY3QuYXNzaWduKHt9LCBnZXRSZWZlcmVuY2VQcm9wcyh7XG4gICAgICAgICAgICAgICAgcmVmOiBzZXRSZWZlcmVuY2UsXG4gICAgICAgICAgICAgICAgaWQ6IHRyaWdnZXJJZCxcbiAgICAgICAgICAgICAgICB0eXBlOiAnYnV0dG9uJyxcbiAgICAgICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgICAgIGRpc2FibGVkLFxuICAgICAgICAgICAgICAgIHN0eWxlLFxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogdHJpZ2dlckNsYXNzTmFtZSxcbiAgICAgICAgICAgICAgICBvbkJsdXI6IGhhbmRsZVRyaWdnZXJCbHVyLFxuICAgICAgICAgICAgICAgICdhcmlhLWxhYmVsJzogYXJpYUxhYmVsLFxuICAgICAgICAgICAgICAgICdhcmlhLWxhYmVsbGVkYnknOiBmbG9hdGluZ0FyaWFMYWJlbGxlZEJ5LFxuICAgICAgICAgICAgICAgICdhcmlhLWRlc2NyaWJlZGJ5JzogZGVzY3JpYmVkQnlJZHMsXG4gICAgICAgICAgICB9KSwgeyBjaGlsZHJlbjogW19qc3hzKFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnY29udGVudCcpLCBjaGlsZHJlbjogW3ByZWZpeCAmJiBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygncHJlZml4JyksIGNoaWxkcmVuOiBwcmVmaXggfSksIF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKHZhbHVlTGFiZWxDbGFzcywgam9pbkNscyhjbGFzc2VzKGAke3ZhbHVlTGFiZWxDbGFzc30tJHtub3JtYWxpemVkU2l6ZX1gKSwgZGlzYWJsZWQgJiYgY2xhc3NlcyhgJHt2YWx1ZUxhYmVsQ2xhc3N9LWRpc2FibGVkYCkpKSwgY2hpbGRyZW46IGhhc1NlbGVjdGlvbiA/IHRyaWdnZXJDb250ZW50IDogcGxhY2Vob2xkZXIgfSldIH0pLCBhcnJvdyAmJiAoX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2ljb24nKSwgY2hpbGRyZW46IGxvYWRpbmcgPyAoX2pzeChTcGlubmVyLCB7IHNpemU6IGljb25TaXplLCBzdHJva2VXaWR0aDogMiB9KSkgOiAoX2pzeChJY29ucywgeyBuYW1lOiBpc09wZW4gPyAnY2hldnJvblVwJyA6ICdjaGV2cm9uRG93bicsIHNpemU6IGljb25TaXplLCBjb2xvcjogXCJjdXJyZW50Q29sb3JcIiB9KSkgfSkpXSB9KSksIGlzTW91bnRlZCAmJiAhZGlzYWJsZWQgJiYgKCgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBwYW5lbE5vZGUgPSAoX2pzeChGbG9hdGluZ0ZvY3VzTWFuYWdlciwgeyBjb250ZXh0OiBjb250ZXh0LCBtb2RhbDogZmFsc2UsIGluaXRpYWxGb2N1czogLTEsIHJldHVybkZvY3VzOiBmYWxzZSwgY2hpbGRyZW46IF9qc3hzKFwiZGl2XCIsIE9iamVjdC5hc3NpZ24oe30sIGdldEZsb2F0aW5nUHJvcHMoe1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVmOiBzZXRGbG9hdGluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogam9pbkNscyhjbGFzc2VzKCdwYW5lbCcpLCBwYW5lbENsYXNzTmFtZSksXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTogT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBmbG9hdGluZ1N0eWxlcyksIHRyYW5zaXRpb25TdHlsZXMpLFxuICAgICAgICAgICAgICAgICAgICB9KSwgeyBjaGlsZHJlbjogW19qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3BhbmVsLWJvZHknKSwgY2hpbGRyZW46IHBhbmVsQm9keSB9KSwgcGFuZWxGb290ZXIgIT0gbnVsbCAmJiAoX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygncGFuZWwtZm9vdGVyJyksIGNoaWxkcmVuOiBwYW5lbEZvb3RlciB9KSldIH0pKSB9KSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHBvcnRhbCA/IF9qc3goRmxvYXRpbmdQb3J0YWwsIHsgY2hpbGRyZW46IHBhbmVsTm9kZSB9KSA6IHBhbmVsTm9kZTtcbiAgICAgICAgICAgIH0pKCldIH0pKTtcbn07XG5TZWxlY3RDdXN0b20uZGlzcGxheU5hbWUgPSAnU2VsZWN0Q3VzdG9tJztcbmV4cG9ydCBkZWZhdWx0IG1lbW8oU2VsZWN0Q3VzdG9tKTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
4
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
var _exportNames = {
|
|
8
|
-
Select: true
|
|
9
|
+
Select: true,
|
|
10
|
+
SelectCustom: true
|
|
9
11
|
};
|
|
10
12
|
Object.defineProperty(exports, "Select", {
|
|
11
13
|
enumerable: true,
|
|
@@ -13,6 +15,12 @@ Object.defineProperty(exports, "Select", {
|
|
|
13
15
|
return _Select.Select;
|
|
14
16
|
}
|
|
15
17
|
});
|
|
18
|
+
Object.defineProperty(exports, "SelectCustom", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function get() {
|
|
21
|
+
return _SelectCustom["default"];
|
|
22
|
+
}
|
|
23
|
+
});
|
|
16
24
|
Object.defineProperty(exports, "default", {
|
|
17
25
|
enumerable: true,
|
|
18
26
|
get: function get() {
|
|
@@ -20,6 +28,7 @@ Object.defineProperty(exports, "default", {
|
|
|
20
28
|
}
|
|
21
29
|
});
|
|
22
30
|
var _Select = _interopRequireWildcard(require("./Select"));
|
|
31
|
+
var _SelectCustom = _interopRequireDefault(require("./SelectCustom"));
|
|
23
32
|
var _interface = require("./interface");
|
|
24
33
|
Object.keys(_interface).forEach(function (key) {
|
|
25
34
|
if (key === "default" || key === "__esModule") return;
|
|
@@ -46,4 +55,4 @@ Object.keys(_constants).forEach(function (key) {
|
|
|
46
55
|
});
|
|
47
56
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
48
57
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
49
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU2VsZWN0L2luZGV4LnRzIl0sIm5hbWVzIjpbIl9TZWxlY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfU2VsZWN0Q3VzdG9tIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9pbnRlcmZhY2UiLCJPYmplY3QiLCJrZXlzIiwiZm9yRWFjaCIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIl9leHBvcnROYW1lcyIsImV4cG9ydHMiLCJkZWZpbmVQcm9wZXJ0eSIsImVudW1lcmFibGUiLCJnZXQiLCJfY29uc3RhbnRzIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwibiIsIl9fcHJvdG9fXyIsImEiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaSIsInNldCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxPQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxhQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFFQSxJQUFBRyxVQUFBLEdBQUFILE9BQUE7QUFBQUksTUFBQSxDQUFBQyxJQUFBLENBQUFGLFVBQUEsRUFBQUcsT0FBQSxXQUFBQyxHQUFBO0VBQUEsSUFBQUEsR0FBQSxrQkFBQUEsR0FBQTtFQUFBLElBQUFILE1BQUEsQ0FBQUksU0FBQSxDQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQUMsWUFBQSxFQUFBSixHQUFBO0VBQUEsSUFBQUEsR0FBQSxJQUFBSyxPQUFBLElBQUFBLE9BQUEsQ0FBQUwsR0FBQSxNQUFBSixVQUFBLENBQUFJLEdBQUE7RUFBQUgsTUFBQSxDQUFBUyxjQUFBLENBQUFELE9BQUEsRUFBQUwsR0FBQTtJQUFBTyxVQUFBO0lBQUFDLEdBQUEsV0FBQUEsSUFBQTtNQUFBLE9BQUFaLFVBQUEsQ0FBQUksR0FBQTtJQUFBO0VBQUE7QUFBQTtBQUNBLElBQUFTLFVBQUEsR0FBQWhCLE9BQUE7QUFBQUksTUFBQSxDQUFBQyxJQUFBLENBQUFXLFVBQUEsRUFBQVYsT0FBQSxXQUFBQyxHQUFBO0VBQUEsSUFBQUEsR0FBQSxrQkFBQUEsR0FBQTtFQUFBLElBQUFILE1BQUEsQ0FBQUksU0FBQSxDQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQUMsWUFBQSxFQUFBSixHQUFBO0VBQUEsSUFBQUEsR0FBQSxJQUFBSyxPQUFBLElBQUFBLE9BQUEsQ0FBQUwsR0FBQSxNQUFBUyxVQUFBLENBQUFULEdBQUE7RUFBQUgsTUFBQSxDQUFBUyxjQUFBLENBQUFELE9BQUEsRUFBQUwsR0FBQTtJQUFBTyxVQUFBO0lBQUFDLEdBQUEsV0FBQUEsSUFBQTtNQUFBLE9BQUFDLFVBQUEsQ0FBQVQsR0FBQTtJQUFBO0VBQUE7QUFBQTtBQUE0QixTQUFBVSx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQW5CLHdCQUFBbUIsQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsU0FBQUosQ0FBQSxlQUFBQSxDQUFBLGdCQUFBSyxPQUFBLENBQUFMLENBQUEsMEJBQUFBLENBQUEsc0JBQUFBLENBQUEsUUFBQUcsQ0FBQSxHQUFBSix3QkFBQSxDQUFBRyxDQUFBLE9BQUFDLENBQUEsSUFBQUEsQ0FBQSxDQUFBRyxHQUFBLENBQUFOLENBQUEsVUFBQUcsQ0FBQSxDQUFBTixHQUFBLENBQUFHLENBQUEsT0FBQU8sQ0FBQSxLQUFBQyxTQUFBLFVBQUFDLENBQUEsR0FBQXZCLE1BQUEsQ0FBQVMsY0FBQSxJQUFBVCxNQUFBLENBQUF3Qix3QkFBQSxXQUFBQyxDQUFBLElBQUFYLENBQUEsb0JBQUFXLENBQUEsT0FBQXBCLGNBQUEsQ0FBQUMsSUFBQSxDQUFBUSxDQUFBLEVBQUFXLENBQUEsU0FBQUMsQ0FBQSxHQUFBSCxDQUFBLEdBQUF2QixNQUFBLENBQUF3Qix3QkFBQSxDQUFBVixDQUFBLEVBQUFXLENBQUEsVUFBQUMsQ0FBQSxLQUFBQSxDQUFBLENBQUFmLEdBQUEsSUFBQWUsQ0FBQSxDQUFBQyxHQUFBLElBQUEzQixNQUFBLENBQUFTLGNBQUEsQ0FBQVksQ0FBQSxFQUFBSSxDQUFBLEVBQUFDLENBQUEsSUFBQUwsQ0FBQSxDQUFBSSxDQUFBLElBQUFYLENBQUEsQ0FBQVcsQ0FBQSxZQUFBSixDQUFBLGNBQUFQLENBQUEsRUFBQUcsQ0FBQSxJQUFBQSxDQUFBLENBQUFVLEdBQUEsQ0FBQWIsQ0FBQSxFQUFBTyxDQUFBLEdBQUFBLENBQUEiLCJmaWxlIjoiY29tcG9uZW50cy9TZWxlY3QvaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -1,5 +1,15 @@
|
|
|
1
|
+
import type { UseRoleProps } from '@floating-ui/react';
|
|
1
2
|
import type { CSSProperties, FocusEvent, HTMLAttributes, ReactNode, RefObject } from 'react';
|
|
2
3
|
import type { FloatingAnimation } from "../../hooks/useFloatingAnimation";
|
|
4
|
+
export type SelectCustomRole = UseRoleProps['role'];
|
|
5
|
+
export interface SelectCustomTriggerContext {
|
|
6
|
+
open: boolean;
|
|
7
|
+
disabled: boolean;
|
|
8
|
+
}
|
|
9
|
+
export interface SelectCustomPanelContext {
|
|
10
|
+
close: () => void;
|
|
11
|
+
open: boolean;
|
|
12
|
+
}
|
|
3
13
|
export declare const SELECT_SIZES: readonly ["large", "small"];
|
|
4
14
|
export declare const SELECT_STATUSES: readonly ["default", "error", "warning", "success"];
|
|
5
15
|
export declare const SELECT_VARIANTS: readonly ["fill", "stroke", "frameless"];
|
|
@@ -76,7 +86,6 @@ export interface SelectProps extends Omit<HTMLAttributes<HTMLDivElement>, 'defau
|
|
|
76
86
|
defaultOpen?: boolean;
|
|
77
87
|
portal?: boolean;
|
|
78
88
|
allowDeselect?: boolean;
|
|
79
|
-
clearable?: boolean;
|
|
80
89
|
panelClassName?: string;
|
|
81
90
|
optionClassName?: string;
|
|
82
91
|
listMaxHeight?: number;
|
|
@@ -93,3 +102,62 @@ export interface SelectProps extends Omit<HTMLAttributes<HTMLDivElement>, 'defau
|
|
|
93
102
|
renderOption?: (option: SelectOption, meta: SelectRenderOptionMeta) => ReactNode;
|
|
94
103
|
renderValue?: (option: SelectOption | SelectOption[] | null, meta: SelectRenderValueMeta) => ReactNode;
|
|
95
104
|
}
|
|
105
|
+
export interface SelectCustomProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children' | 'onBlur' | 'prefix'> {
|
|
106
|
+
ref?: RefObject<HTMLButtonElement | null>;
|
|
107
|
+
className?: string;
|
|
108
|
+
prefixCls?: string;
|
|
109
|
+
style?: CSSProperties;
|
|
110
|
+
id?: string;
|
|
111
|
+
name?: string;
|
|
112
|
+
'aria-label'?: string;
|
|
113
|
+
'aria-labelledby'?: string;
|
|
114
|
+
size?: SelectSize | 'middle';
|
|
115
|
+
status?: SelectStatus;
|
|
116
|
+
variant?: SelectVariant;
|
|
117
|
+
disabled?: boolean;
|
|
118
|
+
loading?: boolean;
|
|
119
|
+
label?: ReactNode;
|
|
120
|
+
info?: ReactNode;
|
|
121
|
+
description?: ReactNode;
|
|
122
|
+
feedback?: ReactNode;
|
|
123
|
+
required?: boolean;
|
|
124
|
+
prefix?: ReactNode;
|
|
125
|
+
placeholder?: ReactNode;
|
|
126
|
+
/**
|
|
127
|
+
* Content rendered inside the trigger when something is "selected".
|
|
128
|
+
* Falsy values (`null` / `undefined` / `false`) fall back to `placeholder`.
|
|
129
|
+
* Pass a function to receive the current open/disabled state.
|
|
130
|
+
*/
|
|
131
|
+
selectedTemplate?: ReactNode | ((ctx: SelectCustomTriggerContext) => ReactNode);
|
|
132
|
+
/**
|
|
133
|
+
* Whether to render the chevron icon at the trailing end of the trigger.
|
|
134
|
+
* @default true
|
|
135
|
+
*/
|
|
136
|
+
arrow?: boolean;
|
|
137
|
+
open?: boolean;
|
|
138
|
+
defaultOpen?: boolean;
|
|
139
|
+
portal?: boolean;
|
|
140
|
+
panelClassName?: string;
|
|
141
|
+
panelFooter?: ReactNode;
|
|
142
|
+
listMaxHeight?: number;
|
|
143
|
+
/**
|
|
144
|
+
* ARIA role applied to the floating panel and matched on the trigger via
|
|
145
|
+
* `aria-haspopup`. Defaults to `'dialog'` because the panel content is
|
|
146
|
+
* arbitrary — set to `'listbox'` / `'menu'` / `'tree'` etc. only if the
|
|
147
|
+
* panel actually exposes that semantic to assistive tech.
|
|
148
|
+
* @default 'dialog'
|
|
149
|
+
*/
|
|
150
|
+
role?: SelectCustomRole;
|
|
151
|
+
/**
|
|
152
|
+
* Open/close animation. Default `{ kind: 'height', duration: { open: 150, close: 100 } }`.
|
|
153
|
+
* Set to `false` to disable.
|
|
154
|
+
*/
|
|
155
|
+
animation?: FloatingAnimation;
|
|
156
|
+
onOpenChange?: (open: boolean) => void;
|
|
157
|
+
onBlur?: (event?: FocusEvent<HTMLElement>) => void;
|
|
158
|
+
/**
|
|
159
|
+
* Panel body. Receives `{ close, open }` so consumers can dismiss the panel
|
|
160
|
+
* after interacting (e.g. picking an item).
|
|
161
|
+
*/
|
|
162
|
+
children?: ReactNode | ((ctx: SelectCustomPanelContext) => ReactNode);
|
|
163
|
+
}
|
|
@@ -7,4 +7,4 @@ exports.SELECT_VARIANTS = exports.SELECT_STATUSES = exports.SELECT_SIZES = void
|
|
|
7
7
|
var SELECT_SIZES = exports.SELECT_SIZES = ['large', 'small'];
|
|
8
8
|
var SELECT_STATUSES = exports.SELECT_STATUSES = ['default', 'error', 'warning', 'success'];
|
|
9
9
|
var SELECT_VARIANTS = exports.SELECT_VARIANTS = ['fill', 'stroke', 'frameless'];
|
|
10
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU2VsZWN0L2ludGVyZmFjZS50cyJdLCJuYW1lcyI6WyJTRUxFQ1RfU0laRVMiLCJleHBvcnRzIiwiU0VMRUNUX1NUQVRVU0VTIiwiU0VMRUNUX1ZBUklBTlRTIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFnQk8sSUFBTUEsWUFBWSxHQUFBQyxPQUFBLENBQUFELFlBQUEsR0FBRyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQVU7QUFDaEQsSUFBTUUsZUFBZSxHQUFBRCxPQUFBLENBQUFDLGVBQUEsR0FBRyxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBVTtBQUMzRSxJQUFNQyxlQUFlLEdBQUFGLE9BQUEsQ0FBQUUsZUFBQSxHQUFHLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxXQUFXLENBQVUiLCJmaWxlIjoiY29tcG9uZW50cy9TZWxlY3QvaW50ZXJmYWNlLmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.om-component-ui-select{display:flex;flex-direction:column;gap:var(--om-spacing-200,8px);width:100%}.om-component-ui-select-label-row{display:inline-flex;gap:var(--om-spacing-100,4px);align-items:center}.om-component-ui-select-label-text{display:inline}.om-component-ui-select-required{color:var(--om-text-danger,#ae0000)}.om-component-ui-select-info{display:inline-flex;align-items:center;color:var(--om-icon-default-tertiary,#646465)}.om-component-ui-select-description-text{display:block}.om-component-ui-select-trigger{display:flex;gap:var(--om-spacing-200,8px);align-items:center;width:100%;min-width:120px;color:inherit;text-align:left;border:1px solid var(--om-border-default,#d1d2d2);cursor:pointer;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}.om-component-ui-select-trigger-large{min-height:var(--om-component-height-3xl,56px);padding:var(--om-spacing-300,12px);border-radius:var(--om-radius-300,12px)}.om-component-ui-select-trigger-small{min-height:var(--om-component-height-lg,44px);padding:var(--om-spacing-200,8px) var(--om-spacing-300,12px);border-radius:var(--om-radius-200,8px)}.om-component-ui-select-trigger-fill{background-color:var(--om-bg-default-secondary,#f8f8f8)}.om-component-ui-select-trigger-stroke{background-color:transparent}.om-component-ui-select-trigger-frameless{justify-content:flex-start;width:auto;min-width:auto;min-height:auto;padding:0;background:transparent;border:none;border-radius:0}.om-component-ui-select-trigger:not(.om-component-ui-select-trigger-disabled):hover{border-color:var(--om-border-default-tertiary,#404042)}.om-component-ui-select-trigger-frameless:not(.om-component-ui-select-trigger-disabled):hover{border-color:transparent}.om-component-ui-select-trigger-open{border-color:var(--om-border-brand,#073387);box-shadow:inset 0 0 0 1px var(--om-border-brand,#073387)}.om-component-ui-select-trigger-error{border-color:var(--om-border-danger,#ae0000)}.om-component-ui-select-trigger-warning{border-color:var(--om-border-warning,#db8600)}.om-component-ui-select-trigger-success{border-color:var(--om-border-positive,#1f5800)}.om-component-ui-select-trigger-disabled{color:var(--om-text-disabled,#bbbdc1);background-color:var(--om-bg-disabled,#f0f0f0);border-color:var(--om-border-disabled,#e3e4e4);box-shadow:none;cursor:not-allowed}.om-component-ui-select-trigger-error,.om-component-ui-select-trigger-frameless,.om-component-ui-select-trigger-success,.om-component-ui-select-trigger-warning{box-shadow:none}.om-component-ui-select-trigger-disabled .om-component-ui-select-icon,.om-component-ui-select-trigger-disabled .om-component-ui-select-prefix{color:var(--om-icon-disabled,#d1d2d2)}.om-component-ui-select-content{display:flex;flex:1 1 auto;gap:var(--om-spacing-200,8px);align-items:center;min-width:0}.om-component-ui-select-prefix{display:inline-flex;flex-shrink:0;align-items:center;color:var(--om-icon-default-tertiary,#646465)}.om-component-ui-select-placeholder,.om-component-ui-select-value{display:inline-flex;flex:1 1 auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.om-component-ui-select-value-large{font-size:var(--om-body-lg-font-size);font-family:var(--om-body-lg-font-family);line-height:var(--om-body-lg-line-height);letter-spacing:var(--om-body-lg-letter-spacing);font-weight:var(--om-body-lg-strong-font-weight)}.om-component-ui-select-value-small{font-size:var(--om-body-md-font-size);font-family:var(--om-body-md-font-family);line-height:var(--om-body-md-line-height);letter-spacing:var(--om-body-md-letter-spacing);font-weight:var(--om-body-md-strong-font-weight)}.om-component-ui-select-placeholder-large{font-size:var(--om-body-lg-font-size);font-family:var(--om-body-lg-font-family);line-height:var(--om-body-lg-line-height);letter-spacing:var(--om-body-lg-letter-spacing);font-weight:var(--om-body-lg-font-weight)}.om-component-ui-select-placeholder-small{font-size:var(--om-body-md-font-size);font-family:var(--om-body-md-font-family);line-height:var(--om-body-md-line-height);letter-spacing:var(--om-body-md-letter-spacing);font-weight:var(--om-body-md-font-weight)}.om-component-ui-select-value{color:var(--om-text-default,#131313)}.om-component-ui-select-value-multiple{display:flex;flex-wrap:wrap;gap:var(--om-spacing-200,8px);align-content:flex-start;align-items:center;max-height:88px;overflow:hidden;white-space:normal;text-overflow:clip}.om-component-ui-select-placeholder{color:var(--om-text-neutral-secondary,#9fa3a3)}.om-component-ui-select-placeholder-disabled,.om-component-ui-select-value-disabled{color:var(--om-text-disabled,#bbbdc1)}.om-component-ui-select-icon{display:inline-flex;flex-shrink:0;align-items:center;color:var(--om-icon-default,#131313)}.om-component-ui-select-clear{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;color:var(--om-icon-default-tertiary,#646465);cursor:pointer;transition:color .2s ease}.om-component-ui-select-clear:hover{color:var(--om-icon-default,#131313)}.om-component-ui-select-trigger-multiple-filled{padding-top:var(--om-spacing-200,8px);padding-bottom:var(--om-spacing-200,8px)}.om-component-ui-select-tag{font-size:var(--om-body-sm-font-size);font-family:var(--om-body-sm-font-family);line-height:var(--om-body-sm-line-height);letter-spacing:var(--om-body-sm-letter-spacing);font-weight:var(--om-body-sm-strong-font-weight);display:inline-flex;flex-shrink:0;gap:var(--om-spacing-100,4px);align-items:center;justify-content:center;max-width:100%;padding:var(--om-spacing-100,4px) var(--om-spacing-200,8px);color:var(--om-text-default-tertiary,#646465);background-color:var(--om-bg-neutral-tertiary,#f0f0f0);border-radius:var(--om-radius-full,9999px)}.om-component-ui-select-tag-label{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.om-component-ui-select-tag-remove{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;color:currentcolor}.om-component-ui-select-collapsed-values{display:inline-flex;flex:1 1 auto;gap:var(--om-spacing-100,4px);align-items:center;min-width:0}.om-component-ui-select-collapsed-values-list{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.om-component-ui-select-collapsed-values-extra{flex-shrink:0;color:var(--om-text-default-secondary,#404042)}.om-component-ui-select-collapsed-values-extra-disabled{color:var(--om-text-disabled,#bbbdc1)}.om-component-ui-select-feedback{display:inline-flex;gap:var(--om-spacing-100,4px);align-items:flex-start;color:var(--om-text-default-secondary,#404042)}.om-component-ui-select-feedback-error{color:var(--om-text-danger,#ae0000)}.om-component-ui-select-feedback-warning{color:var(--om-text-warning,#db8600)}.om-component-ui-select-feedback-success{color:var(--om-text-positive,#1f5800)}.om-component-ui-select-feedback-disabled{color:var(--om-text-disabled,#bbbdc1)}.om-component-ui-select-feedback-icon{display:inline-flex;flex-shrink:0;align-items:center;margin-top:1px}.om-component-ui-select-panel{z-index:1500;display:flex;flex-direction:column;padding:var(--om-spacing-200,8px);overflow:hidden;background-color:var(--om-bg-default,#fff);border:1px solid var(--om-border-neutral-tertiary,#f8f8f8);border-radius:var(--om-radius-300,12px);box-shadow:var(--om-shadow-100,0 4px 8px rgba(65,91,130,.12))}.om-component-ui-select-search{display:flex;flex-shrink:0;gap:var(--om-spacing-200,8px);align-items:center;width:100%;min-height:var(--om-component-height-3xl,56px);margin-bottom:var(--om-spacing-200,8px);padding:var(--om-spacing-300,12px) var(--om-spacing-400,16px);background-color:var(--om-bg-default,#fff);border:1px solid var(--om-border-default,#d1d2d2);border-radius:var(--om-radius-300,12px);transition:border-color .2s ease,box-shadow .2s ease}.om-component-ui-select-search:hover{border-color:var(--om-border-default-tertiary,#404042)}.om-component-ui-select-search:focus-within{border-color:var(--om-border-brand,#073387);box-shadow:inset 0 0 0 1px var(--om-border-brand,#073387)}.om-component-ui-select-search-icon{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;color:var(--om-icon-default,#131313)}.om-component-ui-select-search-input{font-size:var(--om-body-md-font-size);font-family:var(--om-body-md-font-family);line-height:var(--om-body-md-line-height);letter-spacing:var(--om-body-md-letter-spacing);font-weight:var(--om-body-md-font-weight);flex:1 1 auto;min-width:0;color:var(--om-text-default,#131313);background:transparent;border:none;outline:none}.om-component-ui-select-search-input::placeholder{color:var(--om-text-neutral-secondary,#9fa3a3)}.om-component-ui-select-panel-body{display:flex;flex:1 1 auto;flex-direction:column;gap:var(--om-spacing-050,2px);min-height:0;overflow-y:auto}.om-component-ui-select-panel-footer{flex-shrink:0;width:100%;padding-top:var(--om-spacing-300,12px);padding-bottom:var(--om-spacing-100,4px);border-top:1px solid var(--om-border-neutral-secondary,#f0f0f0)}.om-component-ui-select-group{display:flex;flex-direction:column;width:100%}.om-component-ui-select-group-label{padding:var(--om-spacing-200,8px) 0}.om-component-ui-select-group-label,.om-component-ui-select-option{display:flex;align-items:center;width:100%;color:var(--om-text-default,#131313)}.om-component-ui-select-option{gap:var(--om-spacing-300,12px);min-height:40px;margin:var(--om-spacing-100,4px) 0;padding:var(--om-spacing-200,8px);text-align:left;background:transparent;border:none;border-radius:var(--om-radius-200,8px);cursor:pointer;transition:background-color .2s ease}.om-component-ui-select-option:focus,.om-component-ui-select-option:focus-visible{outline:none;box-shadow:none}.om-component-ui-select-option-active,.om-component-ui-select-option-selected,.om-component-ui-select-option:hover{background-color:var(--om-bg-default-secondary,#f8f8f8)}.om-component-ui-select-option-disabled{color:var(--om-text-disabled,#bbbdc1);background-color:transparent;cursor:not-allowed}.om-component-ui-select-option-content{display:flex;flex:1 1 auto;flex-direction:column;gap:var(--om-spacing-050,2px);min-width:0}.om-component-ui-select-option-label{color:currentcolor}.om-component-ui-select-option-description,.om-component-ui-select-option-label{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.om-component-ui-select-option-check{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:16px;height:16px;margin-left:auto;color:var(--om-icon-brand,#073387)}.om-component-ui-select-empty{padding:var(--om-spacing-200,8px);text-align:center}.om-component-ui-select-frameless{width:auto}.om-component-ui-select-frameless .om-component-ui-select-placeholder-large,.om-component-ui-select-frameless .om-component-ui-select-value-large{font-size:var(--om-body-lg-font-size);font-family:var(--om-body-lg-font-family);line-height:var(--om-body-lg-line-height);letter-spacing:var(--om-body-lg-letter-spacing);font-weight:var(--om-body-lg-font-weight);color:var(--om-text-default-tertiary,#646465)}.om-component-ui-select-frameless .om-component-ui-select-placeholder-small,.om-component-ui-select-frameless .om-component-ui-select-value-small{font-size:var(--om-body-md-font-size);font-family:var(--om-body-md-font-family);line-height:var(--om-body-md-line-height);letter-spacing:var(--om-body-md-letter-spacing);font-weight:var(--om-body-md-font-weight);color:var(--om-text-default-tertiary,#646465)}.om-component-ui-select-frameless.om-component-ui-select-disabled{color:var(--om-text-disabled,#bbbdc1)}
|
|
1
|
+
.om-component-ui-select{display:flex;flex-direction:column;gap:var(--om-spacing-200,8px);width:100%}.om-component-ui-select-label-row{display:inline-flex;gap:var(--om-spacing-100,4px);align-items:center}.om-component-ui-select-label-text{display:inline}.om-component-ui-select-required{color:var(--om-text-danger,#ae0000)}.om-component-ui-select-info{display:inline-flex;align-items:center;color:var(--om-icon-default-tertiary,#646465)}.om-component-ui-select-description-text{display:block}.om-component-ui-select-trigger{display:flex;gap:var(--om-spacing-200,8px);align-items:center;width:100%;min-width:120px;color:inherit;text-align:left;border:1px solid var(--om-border-default,#d1d2d2);cursor:pointer;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}.om-component-ui-select-trigger-large{min-height:var(--om-component-height-3xl,56px);padding:var(--om-spacing-300,12px);border-radius:var(--om-radius-300,12px)}.om-component-ui-select-trigger-small{min-height:var(--om-component-height-lg,44px);padding:var(--om-spacing-200,8px) var(--om-spacing-300,12px);border-radius:var(--om-radius-200,8px)}.om-component-ui-select-trigger-fill{background-color:var(--om-bg-default-secondary,#f8f8f8)}.om-component-ui-select-trigger-stroke{background-color:transparent}.om-component-ui-select-trigger-frameless{justify-content:flex-start;width:auto;min-width:auto;min-height:auto;padding:0;background:transparent;border:none;border-radius:0}.om-component-ui-select-trigger:not(.om-component-ui-select-trigger-disabled):hover{border-color:var(--om-border-default-tertiary,#404042)}.om-component-ui-select-trigger-frameless:not(.om-component-ui-select-trigger-disabled):hover{border-color:transparent}.om-component-ui-select-trigger-open{border-color:var(--om-border-brand,#073387);box-shadow:inset 0 0 0 1px var(--om-border-brand,#073387)}.om-component-ui-select-trigger-error{border-color:var(--om-border-danger,#ae0000)}.om-component-ui-select-trigger-warning{border-color:var(--om-border-warning,#db8600)}.om-component-ui-select-trigger-success{border-color:var(--om-border-positive,#1f5800)}.om-component-ui-select-trigger-disabled{color:var(--om-text-disabled,#bbbdc1);background-color:var(--om-bg-disabled,#f0f0f0);border-color:var(--om-border-disabled,#e3e4e4);box-shadow:none;cursor:not-allowed}.om-component-ui-select-trigger-error,.om-component-ui-select-trigger-frameless,.om-component-ui-select-trigger-success,.om-component-ui-select-trigger-warning{box-shadow:none}.om-component-ui-select-trigger-disabled .om-component-ui-select-icon,.om-component-ui-select-trigger-disabled .om-component-ui-select-prefix{color:var(--om-icon-disabled,#d1d2d2)}.om-component-ui-select-content{display:flex;flex:1 1 auto;gap:var(--om-spacing-200,8px);align-items:center;min-width:0}.om-component-ui-select-prefix{display:inline-flex;flex-shrink:0;align-items:center;color:var(--om-icon-default-tertiary,#646465)}.om-component-ui-select-placeholder,.om-component-ui-select-value{display:inline-flex;flex:1 1 auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.om-component-ui-select-value-large{font-size:var(--om-body-lg-font-size);font-family:var(--om-body-lg-font-family);line-height:var(--om-body-lg-line-height);letter-spacing:var(--om-body-lg-letter-spacing);font-weight:var(--om-body-lg-strong-font-weight)}.om-component-ui-select-value-small{font-size:var(--om-body-md-font-size);font-family:var(--om-body-md-font-family);line-height:var(--om-body-md-line-height);letter-spacing:var(--om-body-md-letter-spacing);font-weight:var(--om-body-md-strong-font-weight)}.om-component-ui-select-placeholder-large{font-size:var(--om-body-lg-font-size);font-family:var(--om-body-lg-font-family);line-height:var(--om-body-lg-line-height);letter-spacing:var(--om-body-lg-letter-spacing);font-weight:var(--om-body-lg-font-weight)}.om-component-ui-select-placeholder-small{font-size:var(--om-body-md-font-size);font-family:var(--om-body-md-font-family);line-height:var(--om-body-md-line-height);letter-spacing:var(--om-body-md-letter-spacing);font-weight:var(--om-body-md-font-weight)}.om-component-ui-select-value{color:var(--om-text-default,#131313)}.om-component-ui-select-value-multiple{display:flex;flex-wrap:wrap;gap:var(--om-spacing-200,8px);align-content:flex-start;align-items:center;max-height:88px;overflow:hidden;white-space:normal;text-overflow:clip}.om-component-ui-select-placeholder{color:var(--om-text-neutral-secondary,#9fa3a3)}.om-component-ui-select-placeholder-disabled,.om-component-ui-select-value-disabled{color:var(--om-text-disabled,#bbbdc1)}.om-component-ui-select-icon{display:inline-flex;flex-shrink:0;align-items:center;color:var(--om-icon-default,#131313)}.om-component-ui-select-trigger-multiple-filled{padding-top:var(--om-spacing-200,8px);padding-bottom:var(--om-spacing-200,8px)}.om-component-ui-select-tag{font-size:var(--om-body-sm-font-size);font-family:var(--om-body-sm-font-family);line-height:var(--om-body-sm-line-height);letter-spacing:var(--om-body-sm-letter-spacing);font-weight:var(--om-body-sm-strong-font-weight);display:inline-flex;flex-shrink:0;gap:var(--om-spacing-100,4px);align-items:center;justify-content:center;max-width:100%;padding:var(--om-spacing-100,4px) var(--om-spacing-200,8px);color:var(--om-text-default-tertiary,#646465);background-color:var(--om-bg-neutral-tertiary,#f0f0f0);border-radius:var(--om-radius-full,9999px)}.om-component-ui-select-tag-label{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.om-component-ui-select-tag-remove{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;color:currentcolor}.om-component-ui-select-collapsed-values{display:inline-flex;flex:1 1 auto;gap:var(--om-spacing-100,4px);align-items:center;min-width:0}.om-component-ui-select-collapsed-values-list{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.om-component-ui-select-collapsed-values-extra{flex-shrink:0;color:var(--om-text-default-secondary,#404042)}.om-component-ui-select-collapsed-values-extra-disabled{color:var(--om-text-disabled,#bbbdc1)}.om-component-ui-select-feedback{display:inline-flex;gap:var(--om-spacing-100,4px);align-items:flex-start;color:var(--om-text-default-secondary,#404042)}.om-component-ui-select-feedback-error{color:var(--om-text-danger,#ae0000)}.om-component-ui-select-feedback-warning{color:var(--om-text-warning,#db8600)}.om-component-ui-select-feedback-success{color:var(--om-text-positive,#1f5800)}.om-component-ui-select-feedback-disabled{color:var(--om-text-disabled,#bbbdc1)}.om-component-ui-select-feedback-icon{display:inline-flex;flex-shrink:0;align-items:center;margin-top:1px}.om-component-ui-select-panel{z-index:1500;display:flex;flex-direction:column;padding:var(--om-spacing-200,8px);overflow:hidden;background-color:var(--om-bg-default,#fff);border:1px solid var(--om-border-neutral-tertiary,#f8f8f8);border-radius:var(--om-radius-300,12px);box-shadow:var(--om-shadow-100,0 4px 8px rgba(65,91,130,.12))}.om-component-ui-select-search{display:flex;flex-shrink:0;gap:var(--om-spacing-200,8px);align-items:center;width:100%;min-height:var(--om-component-height-3xl,56px);margin-bottom:var(--om-spacing-200,8px);padding:var(--om-spacing-300,12px) var(--om-spacing-400,16px);background-color:var(--om-bg-default,#fff);border:1px solid var(--om-border-default,#d1d2d2);border-radius:var(--om-radius-300,12px);transition:border-color .2s ease,box-shadow .2s ease}.om-component-ui-select-search:hover{border-color:var(--om-border-default-tertiary,#404042)}.om-component-ui-select-search:focus-within{border-color:var(--om-border-brand,#073387);box-shadow:inset 0 0 0 1px var(--om-border-brand,#073387)}.om-component-ui-select-search-icon{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;color:var(--om-icon-default,#131313)}.om-component-ui-select-search-input{font-size:var(--om-body-md-font-size);font-family:var(--om-body-md-font-family);line-height:var(--om-body-md-line-height);letter-spacing:var(--om-body-md-letter-spacing);font-weight:var(--om-body-md-font-weight);flex:1 1 auto;min-width:0;color:var(--om-text-default,#131313);background:transparent;border:none;outline:none}.om-component-ui-select-search-input::placeholder{color:var(--om-text-neutral-secondary,#9fa3a3)}.om-component-ui-select-panel-body{display:flex;flex:1 1 auto;flex-direction:column;gap:var(--om-spacing-050,2px);min-height:0;overflow-y:auto}.om-component-ui-select-panel-footer{flex-shrink:0;width:100%;padding-top:var(--om-spacing-300,12px);padding-bottom:var(--om-spacing-100,4px);border-top:1px solid var(--om-border-neutral-secondary,#f0f0f0)}.om-component-ui-select-group{display:flex;flex-direction:column;width:100%}.om-component-ui-select-group-label{padding:var(--om-spacing-200,8px) 0}.om-component-ui-select-group-label,.om-component-ui-select-option{display:flex;align-items:center;width:100%;color:var(--om-text-default,#131313)}.om-component-ui-select-option{gap:var(--om-spacing-300,12px);min-height:40px;margin:var(--om-spacing-100,4px) 0;padding:var(--om-spacing-200,8px);text-align:left;background:transparent;border:none;border-radius:var(--om-radius-200,8px);cursor:pointer;transition:background-color .2s ease}.om-component-ui-select-option:focus,.om-component-ui-select-option:focus-visible{outline:none;box-shadow:none}.om-component-ui-select-option-active,.om-component-ui-select-option-selected,.om-component-ui-select-option:hover{background-color:var(--om-bg-default-secondary,#f8f8f8)}.om-component-ui-select-option-disabled{color:var(--om-text-disabled,#bbbdc1);background-color:transparent;cursor:not-allowed}.om-component-ui-select-option-content{display:flex;flex:1 1 auto;flex-direction:column;gap:var(--om-spacing-050,2px);min-width:0}.om-component-ui-select-option-label{color:currentcolor}.om-component-ui-select-option-description,.om-component-ui-select-option-label{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.om-component-ui-select-option-check{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:16px;height:16px;margin-left:auto;color:var(--om-icon-brand,#073387)}.om-component-ui-select-empty{padding:var(--om-spacing-200,8px);text-align:center}.om-component-ui-select-frameless{width:auto}.om-component-ui-select-frameless .om-component-ui-select-placeholder-large,.om-component-ui-select-frameless .om-component-ui-select-value-large{font-size:var(--om-body-lg-font-size);font-family:var(--om-body-lg-font-family);line-height:var(--om-body-lg-line-height);letter-spacing:var(--om-body-lg-letter-spacing);font-weight:var(--om-body-lg-font-weight);color:var(--om-text-default-tertiary,#646465)}.om-component-ui-select-frameless .om-component-ui-select-placeholder-small,.om-component-ui-select-frameless .om-component-ui-select-value-small{font-size:var(--om-body-md-font-size);font-family:var(--om-body-md-font-family);line-height:var(--om-body-md-line-height);letter-spacing:var(--om-body-md-letter-spacing);font-weight:var(--om-body-md-font-weight);color:var(--om-text-default-tertiary,#646465)}.om-component-ui-select-frameless.om-component-ui-select-disabled{color:var(--om-text-disabled,#bbbdc1)}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { ElementProps, FloatingContext, Placement, ReferenceType, UseFloatingReturn, UseRoleProps } from '@floating-ui/react';
|
|
2
|
+
import type { CSSProperties } from 'react';
|
|
3
|
+
import type { FloatingAnimation } from "../../hooks/useFloatingAnimation";
|
|
4
|
+
export interface UseSelectShellOptions {
|
|
5
|
+
open?: boolean;
|
|
6
|
+
defaultOpen?: boolean;
|
|
7
|
+
onOpenChange?: (open: boolean) => void;
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
placement?: Placement;
|
|
10
|
+
listMaxHeight?: number;
|
|
11
|
+
animation?: FloatingAnimation;
|
|
12
|
+
role?: UseRoleProps['role'];
|
|
13
|
+
}
|
|
14
|
+
export interface UseSelectShellReturn<RT extends ReferenceType = ReferenceType> {
|
|
15
|
+
isOpen: boolean;
|
|
16
|
+
setOpen: (open: boolean) => void;
|
|
17
|
+
refs: UseFloatingReturn<RT>['refs'];
|
|
18
|
+
context: FloatingContext<RT>;
|
|
19
|
+
placement: Placement;
|
|
20
|
+
floatingStyles: CSSProperties;
|
|
21
|
+
transitionStyles: CSSProperties;
|
|
22
|
+
isMounted: boolean;
|
|
23
|
+
baseInteractions: ElementProps[];
|
|
24
|
+
}
|
|
25
|
+
export declare function useSelectShell<RT extends HTMLElement = HTMLButtonElement>(options: UseSelectShellOptions): UseSelectShellReturn<RT>;
|
|
26
|
+
export default useSelectShell;
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = void 0;
|
|
8
|
+
exports.useSelectShell = useSelectShell;
|
|
9
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
|
+
var _react = require("@floating-ui/react");
|
|
11
|
+
var _react2 = require("react");
|
|
12
|
+
var _hooks = require("@1money/hooks");
|
|
13
|
+
var _useFloatingAnimation2 = require("../../hooks/useFloatingAnimation");
|
|
14
|
+
var DEFAULT_PLACEMENT = 'bottom-start';
|
|
15
|
+
var DEFAULT_LIST_MAX_HEIGHT = 320;
|
|
16
|
+
var PANEL_MIN_HEIGHT = 120;
|
|
17
|
+
function useSelectShell(options) {
|
|
18
|
+
var open = options.open,
|
|
19
|
+
_options$defaultOpen = options.defaultOpen,
|
|
20
|
+
defaultOpen = _options$defaultOpen === void 0 ? false : _options$defaultOpen,
|
|
21
|
+
onOpenChange = options.onOpenChange,
|
|
22
|
+
_options$disabled = options.disabled,
|
|
23
|
+
disabled = _options$disabled === void 0 ? false : _options$disabled,
|
|
24
|
+
_options$placement = options.placement,
|
|
25
|
+
placement = _options$placement === void 0 ? DEFAULT_PLACEMENT : _options$placement,
|
|
26
|
+
_options$listMaxHeigh = options.listMaxHeight,
|
|
27
|
+
listMaxHeight = _options$listMaxHeigh === void 0 ? DEFAULT_LIST_MAX_HEIGHT : _options$listMaxHeigh,
|
|
28
|
+
animation = options.animation,
|
|
29
|
+
_options$role = options.role,
|
|
30
|
+
roleType = _options$role === void 0 ? 'select' : _options$role;
|
|
31
|
+
var _useControlledState = (0, _hooks.useControlledState)(defaultOpen, open),
|
|
32
|
+
_useControlledState2 = (0, _slicedToArray2["default"])(_useControlledState, 2),
|
|
33
|
+
isOpen = _useControlledState2[0],
|
|
34
|
+
setOpenState = _useControlledState2[1];
|
|
35
|
+
var setOpen = (0, _hooks.useEventCallback)(function (nextOpen) {
|
|
36
|
+
setOpenState(nextOpen);
|
|
37
|
+
onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(nextOpen);
|
|
38
|
+
});
|
|
39
|
+
var _useFloating = (0, _react.useFloating)({
|
|
40
|
+
open: isOpen,
|
|
41
|
+
onOpenChange: setOpen,
|
|
42
|
+
placement: placement,
|
|
43
|
+
whileElementsMounted: _react.autoUpdate,
|
|
44
|
+
transform: false,
|
|
45
|
+
middleware: [(0, _react.offset)(0), (0, _react.flip)({
|
|
46
|
+
padding: 8
|
|
47
|
+
}), (0, _react.shift)({
|
|
48
|
+
padding: 8
|
|
49
|
+
}), (0, _react.size)({
|
|
50
|
+
apply: function apply(_ref) {
|
|
51
|
+
var rects = _ref.rects,
|
|
52
|
+
elements = _ref.elements,
|
|
53
|
+
availableHeight = _ref.availableHeight;
|
|
54
|
+
var nextMaxHeight = Math.max(PANEL_MIN_HEIGHT, Math.min(listMaxHeight, availableHeight));
|
|
55
|
+
Object.assign(elements.floating.style, {
|
|
56
|
+
width: "".concat(rects.reference.width, "px"),
|
|
57
|
+
maxHeight: "".concat(nextMaxHeight, "px")
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
})]
|
|
61
|
+
}),
|
|
62
|
+
refs = _useFloating.refs,
|
|
63
|
+
floatingStyles = _useFloating.floatingStyles,
|
|
64
|
+
context = _useFloating.context,
|
|
65
|
+
resolvedPlacement = _useFloating.placement;
|
|
66
|
+
var resolvedAnimation = (0, _react2.useMemo)(function () {
|
|
67
|
+
return animation === false ? false : Object.assign({
|
|
68
|
+
kind: 'height'
|
|
69
|
+
}, animation !== null && animation !== void 0 ? animation : {});
|
|
70
|
+
}, [animation]);
|
|
71
|
+
var _useFloatingAnimation = (0, _useFloatingAnimation2.useFloatingAnimation)(context, resolvedPlacement, resolvedAnimation),
|
|
72
|
+
isMounted = _useFloatingAnimation.isMounted,
|
|
73
|
+
transitionStyles = _useFloatingAnimation.styles;
|
|
74
|
+
var click = (0, _react.useClick)(context, {
|
|
75
|
+
enabled: !disabled
|
|
76
|
+
});
|
|
77
|
+
var dismiss = (0, _react.useDismiss)(context, {
|
|
78
|
+
enabled: !disabled,
|
|
79
|
+
outsidePressEvent: 'mousedown'
|
|
80
|
+
});
|
|
81
|
+
var role = (0, _react.useRole)(context, {
|
|
82
|
+
role: roleType
|
|
83
|
+
});
|
|
84
|
+
var baseInteractions = [click, dismiss, role];
|
|
85
|
+
return {
|
|
86
|
+
isOpen: isOpen,
|
|
87
|
+
setOpen: setOpen,
|
|
88
|
+
refs: refs,
|
|
89
|
+
context: context,
|
|
90
|
+
placement: resolvedPlacement,
|
|
91
|
+
floatingStyles: floatingStyles,
|
|
92
|
+
transitionStyles: transitionStyles,
|
|
93
|
+
isMounted: isMounted,
|
|
94
|
+
baseInteractions: baseInteractions
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
var _default = exports["default"] = useSelectShell;
|
|
98
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU2VsZWN0L3VzZVNlbGVjdFNoZWxsLnRzIiwiY29tcG9uZW50cy9TZWxlY3QvdXNlU2VsZWN0U2hlbGwuanMiXSwibmFtZXMiOlsiX3JlYWN0IiwicmVxdWlyZSIsIl9yZWFjdDIiLCJfaG9va3MiLCJfdXNlRmxvYXRpbmdBbmltYXRpb24yIiwiREVGQVVMVF9QTEFDRU1FTlQiLCJERUZBVUxUX0xJU1RfTUFYX0hFSUdIVCIsIlBBTkVMX01JTl9IRUlHSFQiLCJ1c2VTZWxlY3RTaGVsbCIsIm9wdGlvbnMiLCJvcGVuIiwiX29wdGlvbnMkZGVmYXVsdE9wZW4iLCJkZWZhdWx0T3BlbiIsIm9uT3BlbkNoYW5nZSIsIl9vcHRpb25zJGRpc2FibGVkIiwiZGlzYWJsZWQiLCJfb3B0aW9ucyRwbGFjZW1lbnQiLCJwbGFjZW1lbnQiLCJfb3B0aW9ucyRsaXN0TWF4SGVpZ2giLCJsaXN0TWF4SGVpZ2h0IiwiYW5pbWF0aW9uIiwiX29wdGlvbnMkcm9sZSIsInJvbGUiLCJyb2xlVHlwZSIsIl91c2VDb250cm9sbGVkU3RhdGUiLCJ1c2VDb250cm9sbGVkU3RhdGUiLCJfdXNlQ29udHJvbGxlZFN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsImlzT3BlbiIsInNldE9wZW5TdGF0ZSIsInNldE9wZW4iLCJ1c2VFdmVudENhbGxiYWNrIiwibmV4dE9wZW4iLCJfdXNlRmxvYXRpbmciLCJ1c2VGbG9hdGluZyIsIndoaWxlRWxlbWVudHNNb3VudGVkIiwiYXV0b1VwZGF0ZSIsInRyYW5zZm9ybSIsIm1pZGRsZXdhcmUiLCJvZmZzZXQiLCJmbGlwIiwicGFkZGluZyIsInNoaWZ0IiwiZmxvYXRpbmdTaXplIiwiYXBwbHkiLCJfcmVmIiwicmVjdHMiLCJlbGVtZW50cyIsImF2YWlsYWJsZUhlaWdodCIsIm5leHRNYXhIZWlnaHQiLCJNYXRoIiwibWF4IiwibWluIiwiT2JqZWN0IiwiYXNzaWduIiwiZmxvYXRpbmciLCJzdHlsZSIsIndpZHRoIiwiY29uY2F0IiwicmVmZXJlbmNlIiwibWF4SGVpZ2h0IiwicmVmcyIsImZsb2F0aW5nU3R5bGVzIiwiY29udGV4dCIsInJlc29sdmVkUGxhY2VtZW50IiwicmVzb2x2ZWRBbmltYXRpb24iLCJ1c2VNZW1vIiwia2luZCIsIl91c2VGbG9hdGluZ0FuaW1hdGlvbiIsInVzZUZsb2F0aW5nQW5pbWF0aW9uIiwiaXNNb3VudGVkIiwidHJhbnNpdGlvblN0eWxlcyIsInN0eWxlcyIsImNsaWNrIiwidXNlQ2xpY2siLCJlbmFibGVkIiwiZGlzbWlzcyIsInVzZURpc21pc3MiLCJvdXRzaWRlUHJlc3NFdmVudCIsInVzZVJvbGUiLCJiYXNlSW50ZXJhY3Rpb25zIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLE9BQUE7QUFXQSxJQUFBQyxPQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxNQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxzQkFBQSxHQUFBSCxPQUFBO0FBbUNBLElBQU1JLGlCQUFpQixHQUFjLGNBQWM7QUFDbkQsSUFBTUMsdUJBQXVCLEdBQUcsR0FBRztBQUNuQyxJQUFNQyxnQkFBZ0IsR0FBRyxHQUFHO0FBRXRCLFNBQVVDLGNBQWNBLENBQzVCQyxPQUE4QixFQUFBO0VBRTlCLElBQ0VDLElBQUksR0FRRkQsT0FBTyxDQVJUQyxJQUFJO0lBQUFDLG9CQUFBLEdBUUZGLE9BQU8sQ0FQVEcsV0FBVztJQUFYQSxXQUFXLEdBQUFELG9CQUFBLGNBQUcsS0FBSyxHQUFBQSxvQkFBQTtJQUNuQkUsWUFBWSxHQU1WSixPQUFPLENBTlRJLFlBQVk7SUFBQUMsaUJBQUEsR0FNVkwsT0FBTyxDQUxUTSxRQUFRO0lBQVJBLFFBQVEsR0FBQUQsaUJBQUEsY0FBRyxLQUFLLEdBQUFBLGlCQUFBO0lBQUFFLGtCQUFBLEdBS2RQLE9BQU8sQ0FKVFEsU0FBUztJQUFUQSxTQUFTLEdBQUFELGtCQUFBLGNBQUdYLGlCQUFpQixHQUFB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LGlCQUFpQixDQUNsQjtJQUpPSyxTQUFTLEdBQUFGLHFCQUFBLENBQVRFLFNBQVM7SUFBVUMsZ0JBQWdCLEdBQUFILHFCQUFBLENBQXhCSSxNQUFNO0VBTXpCLElBQU1DLEtBQUssR0FBRyxJQUFBQyxlQUFRLEVBQUNYLE9BQU8sRUFBRTtJQUFFWSxPQUFPLEVBQUUsQ0FBQzVEO0VBQVEsQ0FBRSxDQUFDO0VBQ3ZELElBQU02RCxPQUFPLEdBQUcsSUFBQUMsaUJBQVUsRUFBQ2QsT0FBTyxFQUFFO0lBQ2xDWSxPQUFPLEVBQUUsQ0FBQzVELFFBQVE7SUFDbEIrRCxpQkFBaUIsRUFBRTtFQzVFbkIsQ0Q2RUQsQ0FBQztFQUNGLElBQU14RCxJQUFJLEdBQUcsSUFBQXlELGNBQU8sRUFBQ2hCLE9BQU8sRUFBRTtJQUFFekMsSUFBSSxFQUFFQztFQUFRLENBQUUsQ0FBQztFQUVqRCxJQUFNeUQsZ0JBQWdCLEdBQW1CLENBQUNQLEtBQUssRUFBRUcsT0FBTyxFQUFFdEQsSUFBSSxDQUFDO0VBRS9ELE9BQU87SUFDTE0sTUFBTSxFQUFOQSxNQUFNO0lBQ05FLE9BQU8sRUFBUEEsT0FBTztJQUNQK0IsSUFBSSxFQUFKQSxJQUFJO0lBQ0pFLE9BQU8sRUFBUEEsT0FBTztJQUNQOUMsU0FBUyxFQUFFK0MsaUJBQWlCO0lBQzVCRixjQUFjLEVBQWRBLGNBQWM7SUFDZFMsZ0JBQWdCLEVBQWhCQSxnQkFBZ0I7SUFDaEJELFNBQVMsRUFBVEEsU0FBUztJQUNUVSxnQkFBZ0IsRUFBaEJBO0VDOUVBLENEK0VEO0FBQ0g7QUFBQyxJQUFBQyxRQUFBLEdBQUFDLE9BQUEsY0FFYzFFLGNBQWMiLCJmaWxlIjoiY29tcG9uZW50cy9TZWxlY3QvdXNlU2VsZWN0U2hlbGwuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsImltcG9ydCB7IGF1dG9VcGRhdGUsIGZsaXAsIG9mZnNldCwgc2hpZnQsIHNpemUgYXMgZmxvYXRpbmdTaXplLCB1c2VDbGljaywgdXNlRGlzbWlzcywgdXNlRmxvYXRpbmcsIHVzZVJvbGUsIH0gZnJvbSAnQGZsb2F0aW5nLXVpL3JlYWN0JztcbmltcG9ydCB7IHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VDb250cm9sbGVkU3RhdGUsIHVzZUV2ZW50Q2FsbGJhY2sgfSBmcm9tICdAMW1vbmV5L2hvb2tzJztcbmltcG9ydCB7IHVzZUZsb2F0aW5nQW5pbWF0aW9uIH0gZnJvbSAnLi4vLi4vaG9va3MvdXNlRmxvYXRpbmdBbmltYXRpb24nO1xuY29uc3QgREVGQVVMVF9QTEFDRU1FTlQgPSAnYm90dG9tLXN0YXJ0JztcbmNvbnN0IERFRkFVTFRfTElTVF9NQVhfSEVJR0hUID0gMzIwO1xuY29uc3QgUEFORUxfTUlOX0hFSUdIVCA9IDEyMDtcbmV4cG9ydCBmdW5jdGlvbiB1c2VTZWxlY3RTaGVsbChvcHRpb25zKSB7XG4gICAgY29uc3QgeyBvcGVuLCBkZWZhdWx0T3BlbiA9IGZhbHNlLCBvbk9wZW5DaGFuZ2UsIGRpc2FibGVkID0gZmFsc2UsIHBsYWNlbWVudCA9IERFRkFVTFRfUExBQ0VNRU5ULCBsaXN0TWF4SGVpZ2h0ID0gREVGQVVMVF9MSVNUX01BWF9IRUlHSFQsIGFuaW1hdGlvbiwgcm9sZTogcm9sZVR5cGUgPSAnc2VsZWN0JywgfSA9IG9wdGlvbnM7XG4gICAgY29uc3QgW2lzT3Blbiwgc2V0T3BlblN0YXRlXSA9IHVzZUNvbnRyb2xsZWRTdGF0ZShkZWZhdWx0T3Blbiwgb3Blbik7XG4gICAgY29uc3Qgc2V0T3BlbiA9IHVzZUV2ZW50Q2FsbGJhY2soKG5leHRPcGVuKSA9PiB7XG4gICAgICAgIHNldE9wZW5TdGF0ZShuZXh0T3Blbik7XG4gICAgICAgIG9uT3BlbkNoYW5nZSA9PT0gbnVsbCB8fCBvbk9wZW5DaGFuZ2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uT3BlbkNoYW5nZShuZXh0T3Blbik7XG4gICAgfSk7XG4gICAgY29uc3QgeyByZWZzLCBmbG9hdGluZ1N0eWxlcywgY29udGV4dCwgcGxhY2VtZW50OiByZXNvbHZlZFBsYWNlbWVudCwgfSA9IHVzZUZsb2F0aW5nKHtcbiAgICAgICAgb3BlbjogaXNPcGVuLFxuICAgICAgICBvbk9wZW5DaGFuZ2U6IHNldE9wZW4sXG4gICAgICAgIHBsYWNlbWVudCxcbiAgICAgICAgd2hpbGVFbGVtZW50c01vdW50ZWQ6IGF1dG9VcGRhdGUsXG4gICAgICAgIHRyYW5zZm9ybTogZmFsc2UsXG4gICAgICAgIG1pZGRsZXdhcmU6IFtcbiAgICAgICAgICAgIG9mZnNldCgwKSxcbiAgICAgICAgICAgIGZsaXAoeyBwYWRkaW5nOiA4IH0pLFxuICAgICAgICAgICAgc2hpZnQoeyBwYWRkaW5nOiA4IH0pLFxuICAgICAgICAgICAgZmxvYXRpbmdTaXplKHtcbiAgICAgICAgICAgICAgICBhcHBseSh7IHJlY3RzLCBlbGVtZW50cywgYXZhaWxhYmxlSGVpZ2h0IH0pIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV4dE1heEhlaWdodCA9IE1hdGgubWF4KFBBTkVMX01JTl9IRUlHSFQsIE1hdGgubWluKGxpc3RNYXhIZWlnaHQsIGF2YWlsYWJsZUhlaWdodCkpO1xuICAgICAgICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKGVsZW1lbnRzLmZsb2F0aW5nLnN0eWxlLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogYCR7cmVjdHMucmVmZXJlbmNlLndpZHRofXB4YCxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heEhlaWdodDogYCR7bmV4dE1heEhlaWdodH1weGAsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgXSxcbiAgICB9KTtcbiAgICBjb25zdCByZXNvbHZlZEFuaW1hdGlvbiA9IHVzZU1lbW8oKCkgPT4gYW5pbWF0aW9uID09PSBmYWxzZVxuICAgICAgICA/IGZhbHNlXG4gICAgICAgIDogT2JqZWN0LmFzc2lnbih7IGtpbmQ6ICdoZWlnaHQnIH0sIChhbmltYXRpb24gIT09IG51bGwgJiYgYW5pbWF0aW9uICE9PSB2b2lkIDAgPyBhbmltYXRpb24gOiB7fSkpLCBbYW5pbWF0aW9uXSk7XG4gICAgY29uc3QgeyBpc01vdW50ZWQsIHN0eWxlczogdHJhbnNpdGlvblN0eWxlcyB9ID0gdXNlRmxvYXRpbmdBbmltYXRpb24oY29udGV4dCwgcmVzb2x2ZWRQbGFjZW1lbnQsIHJlc29sdmVkQW5pbWF0aW9uKTtcbiAgICBjb25zdCBjbGljayA9IHVzZUNsaWNrKGNvbnRleHQsIHsgZW5hYmxlZDogIWRpc2FibGVkIH0pO1xuICAgIGNvbnN0IGRpc21pc3MgPSB1c2VEaXNtaXNzKGNvbnRleHQsIHtcbiAgICAgICAgZW5hYmxlZDogIWRpc2FibGVkLFxuICAgICAgICBvdXRzaWRlUHJlc3NFdmVudDogJ21vdXNlZG93bicsXG4gICAgfSk7XG4gICAgY29uc3Qgcm9sZSA9IHVzZVJvbGUoY29udGV4dCwgeyByb2xlOiByb2xlVHlwZSB9KTtcbiAgICBjb25zdCBiYXNlSW50ZXJhY3Rpb25zID0gW2NsaWNrLCBkaXNtaXNzLCByb2xlXTtcbiAgICByZXR1cm4ge1xuICAgICAgICBpc09wZW4sXG4gICAgICAgIHNldE9wZW4sXG4gICAgICAgIHJlZnMsXG4gICAgICAgIGNvbnRleHQsXG4gICAgICAgIHBsYWNlbWVudDogcmVzb2x2ZWRQbGFjZW1lbnQsXG4gICAgICAgIGZsb2F0aW5nU3R5bGVzLFxuICAgICAgICB0cmFuc2l0aW9uU3R5bGVzLFxuICAgICAgICBpc01vdW50ZWQsXG4gICAgICAgIGJhc2VJbnRlcmFjdGlvbnMsXG4gICAgfTtcbn1cbmV4cG9ydCBkZWZhdWx0IHVzZVNlbGVjdFNoZWxsOyJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|