@1money/component-ui 0.0.43 → 0.0.44
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/Dropdown/Dropdown.js +11 -3
- package/es/components/Input/FieldShell/FieldShell.css +1 -1
- package/es/components/Input/FieldShell/FieldShell.js +2 -3
- package/es/components/Select/Select.js +130 -91
- package/es/components/Select/SelectCustom.d.ts +6 -0
- package/es/components/Select/SelectCustom.js +232 -0
- package/es/components/Select/SelectFieldShell.d.ts +2 -0
- package/es/components/Select/SelectFieldShell.js +12 -4
- package/es/components/Select/SelectOptionContent.d.ts +8 -0
- package/es/components/Select/SelectOptionContent.js +20 -11
- package/es/components/Select/SelectSearchControl.d.ts +3 -0
- package/es/components/Select/SelectSearchControl.js +9 -4
- package/es/components/Select/index.d.ts +5 -2
- package/es/components/Select/index.js +8 -3
- package/es/components/Select/interface.d.ts +147 -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 +34 -0
- package/es/components/Select/useSelectShell.js +106 -0
- package/es/components/Trigger/Trigger.js +33 -8
- package/es/components/Trigger/interface.d.ts +25 -2
- package/es/hooks/index.d.ts +2 -0
- package/es/hooks/index.js +2 -0
- package/es/hooks/useFloatingAnimation.d.ts +24 -0
- package/es/hooks/useFloatingAnimation.js +45 -0
- package/es/index.css +1 -1
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/lib/components/Dropdown/Dropdown.js +11 -3
- package/lib/components/Input/FieldShell/FieldShell.css +1 -1
- package/lib/components/Input/FieldShell/FieldShell.js +2 -3
- package/lib/components/Select/Select.js +129 -90
- package/lib/components/Select/SelectCustom.d.ts +6 -0
- package/lib/components/Select/SelectCustom.js +242 -0
- package/lib/components/Select/SelectFieldShell.d.ts +2 -0
- package/lib/components/Select/SelectFieldShell.js +12 -4
- package/lib/components/Select/SelectOptionContent.d.ts +8 -0
- package/lib/components/Select/SelectOptionContent.js +21 -12
- package/lib/components/Select/SelectSearchControl.d.ts +3 -0
- package/lib/components/Select/SelectSearchControl.js +9 -4
- package/lib/components/Select/index.d.ts +5 -2
- package/lib/components/Select/index.js +9 -17
- package/lib/components/Select/interface.d.ts +147 -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 +34 -0
- package/lib/components/Select/useSelectShell.js +114 -0
- package/lib/components/Trigger/Trigger.js +32 -7
- package/lib/components/Trigger/interface.d.ts +25 -2
- package/lib/hooks/index.d.ts +2 -0
- package/lib/hooks/index.js +13 -0
- package/lib/hooks/useFloatingAnimation.d.ts +24 -0
- package/lib/hooks/useFloatingAnimation.js +51 -0
- package/lib/index.css +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/package.json +1 -1
- package/scripts/mcp-server/examples.generated.json +42 -0
- package/scripts/mcp-server/index.generated.json +259 -10
|
@@ -1,4 +1,21 @@
|
|
|
1
|
+
import type { Placement, UseRoleProps } from '@floating-ui/react';
|
|
1
2
|
import type { CSSProperties, FocusEvent, HTMLAttributes, ReactNode, RefObject } from 'react';
|
|
3
|
+
import type { FloatingAnimation } from "../../hooks/useFloatingAnimation";
|
|
4
|
+
export type SelectOffset = number | {
|
|
5
|
+
mainAxis?: number;
|
|
6
|
+
crossAxis?: number;
|
|
7
|
+
alignmentAxis?: number | null;
|
|
8
|
+
};
|
|
9
|
+
export type SelectCustomRole = UseRoleProps['role'];
|
|
10
|
+
export interface SelectCustomTriggerContext {
|
|
11
|
+
open: boolean;
|
|
12
|
+
disabled: boolean;
|
|
13
|
+
readOnly: boolean;
|
|
14
|
+
}
|
|
15
|
+
export interface SelectCustomPanelContext {
|
|
16
|
+
close: () => void;
|
|
17
|
+
open: boolean;
|
|
18
|
+
}
|
|
2
19
|
export declare const SELECT_SIZES: readonly ["large", "small"];
|
|
3
20
|
export declare const SELECT_STATUSES: readonly ["default", "error", "warning", "success"];
|
|
4
21
|
export declare const SELECT_VARIANTS: readonly ["fill", "stroke", "frameless"];
|
|
@@ -15,6 +32,13 @@ export interface SelectOption {
|
|
|
15
32
|
disabled?: boolean;
|
|
16
33
|
description?: ReactNode;
|
|
17
34
|
searchText?: string;
|
|
35
|
+
/**
|
|
36
|
+
* Allow consumers to attach arbitrary per-option metadata (icon, badges, etc.)
|
|
37
|
+
* accessible inside `renderOption` / `renderOptionContent` / `renderValue`.
|
|
38
|
+
* Cast to a local typed shape (e.g. `option as AssetOption`) at the access site
|
|
39
|
+
* for autocompletion + typo-checking.
|
|
40
|
+
*/
|
|
41
|
+
[key: string]: unknown;
|
|
18
42
|
}
|
|
19
43
|
export interface SelectOptionGroup {
|
|
20
44
|
label: ReactNode;
|
|
@@ -32,6 +56,7 @@ export interface SelectRenderOptionMeta {
|
|
|
32
56
|
}
|
|
33
57
|
export interface SelectRenderValueMeta {
|
|
34
58
|
disabled: boolean;
|
|
59
|
+
readOnly: boolean;
|
|
35
60
|
multiple: boolean;
|
|
36
61
|
maxVisibleValues?: number;
|
|
37
62
|
open: boolean;
|
|
@@ -56,12 +81,19 @@ export interface SelectProps extends Omit<HTMLAttributes<HTMLDivElement>, 'defau
|
|
|
56
81
|
status?: SelectStatus;
|
|
57
82
|
variant?: SelectVariant;
|
|
58
83
|
disabled?: boolean;
|
|
84
|
+
readOnly?: boolean;
|
|
85
|
+
loading?: boolean;
|
|
59
86
|
multiple?: boolean;
|
|
60
87
|
maxVisibleValues?: number;
|
|
61
88
|
searchable?: boolean;
|
|
62
89
|
searchPlaceholder?: string;
|
|
63
90
|
searchValue?: string;
|
|
64
91
|
defaultSearchValue?: string;
|
|
92
|
+
/**
|
|
93
|
+
* Whether to auto-focus the search input when the panel opens (only when `searchable` is true).
|
|
94
|
+
* @default true
|
|
95
|
+
*/
|
|
96
|
+
filterInputAutoFocus?: boolean;
|
|
65
97
|
label?: ReactNode;
|
|
66
98
|
info?: ReactNode;
|
|
67
99
|
description?: ReactNode;
|
|
@@ -72,12 +104,126 @@ export interface SelectProps extends Omit<HTMLAttributes<HTMLDivElement>, 'defau
|
|
|
72
104
|
panelFooter?: ReactNode;
|
|
73
105
|
open?: boolean;
|
|
74
106
|
defaultOpen?: boolean;
|
|
107
|
+
portal?: boolean;
|
|
108
|
+
allowDeselect?: boolean;
|
|
109
|
+
panelClassName?: string;
|
|
110
|
+
optionClassName?: string;
|
|
75
111
|
listMaxHeight?: number;
|
|
76
|
-
|
|
112
|
+
/**
|
|
113
|
+
* Gap between panel and trigger.
|
|
114
|
+
* - `number`: shorthand for `mainAxis` (perpendicular distance, in px).
|
|
115
|
+
* - object form (forwarded to floating-ui's `offset` middleware):
|
|
116
|
+
* - `mainAxis`: distance perpendicular to the placement edge.
|
|
117
|
+
* - `crossAxis`: distance parallel to the placement edge.
|
|
118
|
+
* - `alignmentAxis`: shift along the alignment edge for `*-start` / `*-end` placements.
|
|
119
|
+
* @default 0
|
|
120
|
+
*/
|
|
121
|
+
offset?: SelectOffset;
|
|
122
|
+
/**
|
|
123
|
+
* Open/close animation. Default `{ duration: { open: 150, close: 100 }, initialScale: 0.96 }`.
|
|
124
|
+
* Set to `false` to disable animation entirely (panel appears/disappears instantly).
|
|
125
|
+
*/
|
|
126
|
+
animation?: FloatingAnimation;
|
|
127
|
+
onChange?: (value: SelectValue, option?: SelectOption | SelectOption[],
|
|
128
|
+
/** Echoes back the `name` prop so a single handler can route updates by field. */
|
|
129
|
+
name?: string) => void;
|
|
77
130
|
onOpenChange?: (open: boolean) => void;
|
|
78
131
|
onSearchChange?: (value: string) => void;
|
|
79
132
|
onBlur?: (event?: FocusEvent<HTMLElement>) => void;
|
|
80
133
|
filterOption?: SelectFilterOption;
|
|
134
|
+
/**
|
|
135
|
+
* Fully replace an option's rendering, including the trailing selected check.
|
|
136
|
+
* Use when you need complete control of the option layout (e.g. custom check
|
|
137
|
+
* indicator). If both `renderOption` and `renderOptionContent` are provided,
|
|
138
|
+
* `renderOption` wins.
|
|
139
|
+
*/
|
|
81
140
|
renderOption?: (option: SelectOption, meta: SelectRenderOptionMeta) => ReactNode;
|
|
141
|
+
/**
|
|
142
|
+
* Replace only the content portion of an option; the default selected check
|
|
143
|
+
* is still rendered by the component. Prefer this over `renderOption` when
|
|
144
|
+
* you only need a custom option body.
|
|
145
|
+
*/
|
|
146
|
+
renderOptionContent?: (option: SelectOption, meta: SelectRenderOptionMeta) => ReactNode;
|
|
82
147
|
renderValue?: (option: SelectOption | SelectOption[] | null, meta: SelectRenderValueMeta) => ReactNode;
|
|
83
148
|
}
|
|
149
|
+
export interface SelectCustomProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children' | 'onBlur' | 'prefix'> {
|
|
150
|
+
ref?: RefObject<HTMLButtonElement | null>;
|
|
151
|
+
className?: string;
|
|
152
|
+
prefixCls?: string;
|
|
153
|
+
style?: CSSProperties;
|
|
154
|
+
id?: string;
|
|
155
|
+
name?: string;
|
|
156
|
+
'aria-label'?: string;
|
|
157
|
+
'aria-labelledby'?: string;
|
|
158
|
+
size?: SelectSize | 'middle';
|
|
159
|
+
status?: SelectStatus;
|
|
160
|
+
variant?: SelectVariant;
|
|
161
|
+
disabled?: boolean;
|
|
162
|
+
readOnly?: boolean;
|
|
163
|
+
loading?: boolean;
|
|
164
|
+
label?: ReactNode;
|
|
165
|
+
info?: ReactNode;
|
|
166
|
+
description?: ReactNode;
|
|
167
|
+
feedback?: ReactNode;
|
|
168
|
+
required?: boolean;
|
|
169
|
+
prefix?: ReactNode;
|
|
170
|
+
placeholder?: ReactNode;
|
|
171
|
+
/**
|
|
172
|
+
* Content rendered inside the trigger when something is "selected".
|
|
173
|
+
* Falsy values (`null` / `undefined` / `false`) fall back to `placeholder`.
|
|
174
|
+
* Pass a function to receive the current open/disabled state.
|
|
175
|
+
*/
|
|
176
|
+
selectedTemplate?: ReactNode | ((ctx: SelectCustomTriggerContext) => ReactNode);
|
|
177
|
+
/**
|
|
178
|
+
* Whether to render the chevron icon at the trailing end of the trigger.
|
|
179
|
+
* @default true
|
|
180
|
+
*/
|
|
181
|
+
arrow?: boolean;
|
|
182
|
+
open?: boolean;
|
|
183
|
+
defaultOpen?: boolean;
|
|
184
|
+
portal?: boolean;
|
|
185
|
+
panelClassName?: string;
|
|
186
|
+
panelFooter?: ReactNode;
|
|
187
|
+
listMaxHeight?: number;
|
|
188
|
+
/**
|
|
189
|
+
* Floating-ui placement of the panel relative to the trigger.
|
|
190
|
+
* @default 'bottom-start'
|
|
191
|
+
*/
|
|
192
|
+
placement?: Placement;
|
|
193
|
+
/**
|
|
194
|
+
* Override the panel width. Number is treated as `px`; string is used as-is
|
|
195
|
+
* (e.g. `'354px'`, `'100%'`). When unset, the panel width matches the
|
|
196
|
+
* trigger width.
|
|
197
|
+
*/
|
|
198
|
+
panelWidth?: number | string;
|
|
199
|
+
/**
|
|
200
|
+
* Gap between panel and trigger.
|
|
201
|
+
* - `number`: shorthand for `mainAxis` (perpendicular distance, in px).
|
|
202
|
+
* - object form (forwarded to floating-ui's `offset` middleware):
|
|
203
|
+
* - `mainAxis`: distance perpendicular to the placement edge.
|
|
204
|
+
* - `crossAxis`: distance parallel to the placement edge.
|
|
205
|
+
* - `alignmentAxis`: shift along the alignment edge for `*-start` / `*-end` placements.
|
|
206
|
+
* @default 0
|
|
207
|
+
*/
|
|
208
|
+
offset?: SelectOffset;
|
|
209
|
+
/**
|
|
210
|
+
* ARIA role applied to the floating panel and matched on the trigger via
|
|
211
|
+
* `aria-haspopup`. Defaults to `'dialog'` because the panel content is
|
|
212
|
+
* arbitrary — set to `'listbox'` / `'menu'` / `'tree'` etc. only if the
|
|
213
|
+
* panel actually exposes that semantic to assistive tech.
|
|
214
|
+
* @default 'dialog'
|
|
215
|
+
*/
|
|
216
|
+
role?: SelectCustomRole;
|
|
217
|
+
/**
|
|
218
|
+
* Open/close animation. Default `{ kind: 'height', duration: { open: 150, close: 100 } }`.
|
|
219
|
+
* Set to `false` to disable.
|
|
220
|
+
*/
|
|
221
|
+
animation?: FloatingAnimation;
|
|
222
|
+
onOpenChange?: (open: boolean) => void;
|
|
223
|
+
onBlur?: (event?: FocusEvent<HTMLElement>) => void;
|
|
224
|
+
/**
|
|
225
|
+
* Panel body. Receives `{ close, open }` so consumers can dismiss the panel
|
|
226
|
+
* after interacting (e.g. picking an item).
|
|
227
|
+
*/
|
|
228
|
+
children?: ReactNode | ((ctx: SelectCustomPanelContext) => ReactNode);
|
|
229
|
+
}
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU2VsZWN0L2ludGVyZmFjZS50cyJdLCJuYW1lcyI6WyJTRUxFQ1RfU0laRVMiLCJleHBvcnRzIiwiU0VMRUNUX1NUQVRVU0VTIiwiU0VMRUNUX1ZBUklBTlRTIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFxQk8sSUFBTUEsWUFBWSxHQUFBQyxPQUFBLENBQUFELFlBQUEsR0FBRyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQVU7QUFDaEQsSUFBTUUsZUFBZSxHQUFBRCxPQUFBLENBQUFDLGVBQUEsR0FBRyxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBVTtBQUMzRSxJQUFNQyxlQUFlLEdBQUFGLE9BQUEsQ0FBQUUsZUFBQSxHQUFHLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxXQUFXLENBQVUiLCJmaWxlIjoiY29tcG9uZW50cy9TZWxlY3QvaW50ZXJmYWNlLmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
@@ -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-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,.om-component-ui-select-trigger-readonly):hover{border-color:var(--om-border-default-tertiary,#404042)}.om-component-ui-select-trigger-open:focus-visible,.om-component-ui-select-trigger:focus-visible{outline:none}.om-component-ui-select-trigger-frameless:not(.om-component-ui-select-trigger-disabled,.om-component-ui-select-trigger-readonly):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-readonly,.om-component-ui-select-trigger-readonly:focus,.om-component-ui-select-trigger-readonly:focus-visible,.om-component-ui-select-trigger-readonly:hover{background-color:var(--om-bg-neutral-tertiary,#f0f0f0);border-color:transparent;outline:none;box-shadow:none;cursor:default}.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:center;color:var(--om-text-default-secondary,#404042)}.om-component-ui-select-feedback-error{color:var(--om-text-danger,#ae0000)!important}.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%;margin-bottom:var(--om-spacing-200,8px);background-color:var(--om-bg-default,#fff);border:1px solid var(--om-border-default,#d1d2d2);transition:border-color .2s ease,box-shadow .2s ease}.om-component-ui-select-search-large{min-height:var(--om-component-height-3xl,56px);padding:var(--om-spacing-300,12px) var(--om-spacing-400,16px);border-radius:var(--om-radius-300,12px)}.om-component-ui-select-search-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-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{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-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-search-input-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-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,34 @@
|
|
|
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 type SelectShellOffset = number | {
|
|
5
|
+
mainAxis?: number;
|
|
6
|
+
crossAxis?: number;
|
|
7
|
+
alignmentAxis?: number | null;
|
|
8
|
+
};
|
|
9
|
+
export interface UseSelectShellOptions {
|
|
10
|
+
open?: boolean;
|
|
11
|
+
defaultOpen?: boolean;
|
|
12
|
+
onOpenChange?: (open: boolean) => void;
|
|
13
|
+
disabled?: boolean;
|
|
14
|
+
readOnly?: boolean;
|
|
15
|
+
placement?: Placement;
|
|
16
|
+
panelWidth?: number | string;
|
|
17
|
+
listMaxHeight?: number;
|
|
18
|
+
animation?: FloatingAnimation;
|
|
19
|
+
role?: UseRoleProps['role'];
|
|
20
|
+
offset?: SelectShellOffset;
|
|
21
|
+
}
|
|
22
|
+
export interface UseSelectShellReturn<RT extends ReferenceType = ReferenceType> {
|
|
23
|
+
isOpen: boolean;
|
|
24
|
+
setOpen: (open: boolean) => void;
|
|
25
|
+
refs: UseFloatingReturn<RT>['refs'];
|
|
26
|
+
context: FloatingContext<RT>;
|
|
27
|
+
placement: Placement;
|
|
28
|
+
floatingStyles: CSSProperties;
|
|
29
|
+
transitionStyles: CSSProperties;
|
|
30
|
+
isMounted: boolean;
|
|
31
|
+
baseInteractions: ElementProps[];
|
|
32
|
+
}
|
|
33
|
+
export declare function useSelectShell<RT extends HTMLElement = HTMLButtonElement>(options: UseSelectShellOptions): UseSelectShellReturn<RT>;
|
|
34
|
+
export default useSelectShell;
|
|
@@ -0,0 +1,114 @@
|
|
|
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 _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
11
|
+
var _react = require("@floating-ui/react");
|
|
12
|
+
var _react2 = require("react");
|
|
13
|
+
var _hooks = require("@1money/hooks");
|
|
14
|
+
var _useFloatingAnimation2 = require("../../hooks/useFloatingAnimation");
|
|
15
|
+
var DEFAULT_PLACEMENT = 'bottom-start';
|
|
16
|
+
var DEFAULT_LIST_MAX_HEIGHT = 320;
|
|
17
|
+
var PANEL_MIN_HEIGHT = 120;
|
|
18
|
+
function useSelectShell(options) {
|
|
19
|
+
var open = options.open,
|
|
20
|
+
_options$defaultOpen = options.defaultOpen,
|
|
21
|
+
defaultOpen = _options$defaultOpen === void 0 ? false : _options$defaultOpen,
|
|
22
|
+
onOpenChange = options.onOpenChange,
|
|
23
|
+
_options$disabled = options.disabled,
|
|
24
|
+
disabled = _options$disabled === void 0 ? false : _options$disabled,
|
|
25
|
+
_options$readOnly = options.readOnly,
|
|
26
|
+
readOnly = _options$readOnly === void 0 ? false : _options$readOnly,
|
|
27
|
+
_options$placement = options.placement,
|
|
28
|
+
placement = _options$placement === void 0 ? DEFAULT_PLACEMENT : _options$placement,
|
|
29
|
+
panelWidth = options.panelWidth,
|
|
30
|
+
_options$listMaxHeigh = options.listMaxHeight,
|
|
31
|
+
listMaxHeight = _options$listMaxHeigh === void 0 ? DEFAULT_LIST_MAX_HEIGHT : _options$listMaxHeigh,
|
|
32
|
+
animation = options.animation,
|
|
33
|
+
_options$role = options.role,
|
|
34
|
+
roleType = _options$role === void 0 ? 'select' : _options$role,
|
|
35
|
+
_options$offset = options.offset,
|
|
36
|
+
offsetProp = _options$offset === void 0 ? 0 : _options$offset;
|
|
37
|
+
var interactive = !disabled && !readOnly;
|
|
38
|
+
var offsetIsObject = (0, _typeof2["default"])(offsetProp) === 'object' && offsetProp !== null;
|
|
39
|
+
var offsetMainAxis = offsetIsObject ? offsetProp.mainAxis : offsetProp;
|
|
40
|
+
var offsetCrossAxis = offsetIsObject ? offsetProp.crossAxis : undefined;
|
|
41
|
+
var offsetAlignmentAxis = offsetIsObject ? offsetProp.alignmentAxis : undefined;
|
|
42
|
+
var _useControlledState = (0, _hooks.useControlledState)(defaultOpen, open),
|
|
43
|
+
_useControlledState2 = (0, _slicedToArray2["default"])(_useControlledState, 2),
|
|
44
|
+
isOpen = _useControlledState2[0],
|
|
45
|
+
setOpenState = _useControlledState2[1];
|
|
46
|
+
var setOpen = (0, _hooks.useEventCallback)(function (nextOpen) {
|
|
47
|
+
setOpenState(nextOpen);
|
|
48
|
+
onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(nextOpen);
|
|
49
|
+
});
|
|
50
|
+
var _useFloating = (0, _react.useFloating)({
|
|
51
|
+
open: isOpen,
|
|
52
|
+
onOpenChange: setOpen,
|
|
53
|
+
placement: placement,
|
|
54
|
+
whileElementsMounted: _react.autoUpdate,
|
|
55
|
+
transform: false,
|
|
56
|
+
middleware: [(0, _react.offset)({
|
|
57
|
+
mainAxis: offsetMainAxis,
|
|
58
|
+
crossAxis: offsetCrossAxis,
|
|
59
|
+
alignmentAxis: offsetAlignmentAxis
|
|
60
|
+
}, [offsetMainAxis, offsetCrossAxis, offsetAlignmentAxis]), (0, _react.flip)({
|
|
61
|
+
padding: 8
|
|
62
|
+
}), (0, _react.shift)({
|
|
63
|
+
padding: 8
|
|
64
|
+
}), (0, _react.size)({
|
|
65
|
+
apply: function apply(_ref) {
|
|
66
|
+
var rects = _ref.rects,
|
|
67
|
+
elements = _ref.elements,
|
|
68
|
+
availableHeight = _ref.availableHeight;
|
|
69
|
+
var nextMaxHeight = Math.max(PANEL_MIN_HEIGHT, Math.min(listMaxHeight, availableHeight));
|
|
70
|
+
var resolvedWidth = panelWidth == null ? "".concat(rects.reference.width, "px") : typeof panelWidth === 'number' ? "".concat(panelWidth, "px") : panelWidth;
|
|
71
|
+
Object.assign(elements.floating.style, {
|
|
72
|
+
width: resolvedWidth,
|
|
73
|
+
maxHeight: "".concat(nextMaxHeight, "px")
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
}, [panelWidth, listMaxHeight])]
|
|
77
|
+
}),
|
|
78
|
+
refs = _useFloating.refs,
|
|
79
|
+
floatingStyles = _useFloating.floatingStyles,
|
|
80
|
+
context = _useFloating.context,
|
|
81
|
+
resolvedPlacement = _useFloating.placement;
|
|
82
|
+
var resolvedAnimation = (0, _react2.useMemo)(function () {
|
|
83
|
+
return animation === false ? false : Object.assign({
|
|
84
|
+
kind: 'height'
|
|
85
|
+
}, animation !== null && animation !== void 0 ? animation : {});
|
|
86
|
+
}, [animation]);
|
|
87
|
+
var _useFloatingAnimation = (0, _useFloatingAnimation2.useFloatingAnimation)(context, resolvedPlacement, resolvedAnimation),
|
|
88
|
+
isMounted = _useFloatingAnimation.isMounted,
|
|
89
|
+
transitionStyles = _useFloatingAnimation.styles;
|
|
90
|
+
var click = (0, _react.useClick)(context, {
|
|
91
|
+
enabled: interactive
|
|
92
|
+
});
|
|
93
|
+
var dismiss = (0, _react.useDismiss)(context, {
|
|
94
|
+
enabled: interactive,
|
|
95
|
+
outsidePressEvent: 'mousedown'
|
|
96
|
+
});
|
|
97
|
+
var role = (0, _react.useRole)(context, {
|
|
98
|
+
role: roleType
|
|
99
|
+
});
|
|
100
|
+
var baseInteractions = [click, dismiss, role];
|
|
101
|
+
return {
|
|
102
|
+
isOpen: isOpen,
|
|
103
|
+
setOpen: setOpen,
|
|
104
|
+
refs: refs,
|
|
105
|
+
context: context,
|
|
106
|
+
placement: resolvedPlacement,
|
|
107
|
+
floatingStyles: floatingStyles,
|
|
108
|
+
transitionStyles: transitionStyles,
|
|
109
|
+
isMounted: isMounted,
|
|
110
|
+
baseInteractions: baseInteractions
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
var _default = exports["default"] = useSelectShell;
|
|
114
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU2VsZWN0L3VzZVNlbGVjdFNoZWxsLnRzIiwiY29tcG9uZW50cy9TZWxlY3QvdXNlU2VsZWN0U2hlbGwuanMiXSwibmFtZXMiOlsiX3JlYWN0IiwicmVxdWlyZSIsIl9yZWFjdDIiLCJfaG9va3MiLCJfdXNlRmxvYXRpbmdBbmltYXRpb24yIiwiREVGQVVMVF9QTEFDRU1FTlQiLCJERUZBVUxUX0xJU1RfTUFYX0hFSUdIVCIsIlBBTkVMX01JTl9IRUlHSFQiLCJ1c2VTZWxlY3RTaGVsbCIsIm9wdGlvbnMiLCJvcGVuIiwiX29wdGlvbnMkZGVmYXVsdE9wZW4iLCJkZWZhdWx0T3BlbiIsIm9uT3BlbkNoYW5nZSIsIl9vcHRpb25zJGRpc2FibGVkIiwiZGlzYWJsZWQiLCJfb3B0aW9ucyRyZWFkT25seSIsInJlYWRPbmx5IiwiX29wdGlvbnMkcGxhY2VtZW50IiwicGxhY2VtZW50IiwicGFuZWxXaWR0aCIsIl9vcHRpb25zJGxpc3RNYXhIZWlnaCIsImxpc3RNYXhIZWlnaHQiLCJhbmltYXRpb24iLCJfb3B0aW9ucyRyb2xlIiwicm9sZSIsInJvbGVUeXBlIiwiX29wdGlvbnMkb2Zmc2V0Iiwib2Zmc2V0Iiwib2Zmc2V0UHJvcCIsImludGVyYWN0aXZlIiwib2Zmc2V0SXNPYmplY3QiLCJfdHlwZW9mMiIsIm9mZnNldE1haW5BeGlzIiwibWFpbkF4aXMiLCJvZmZzZXRDcm9zc0F4aXMiLCJjcm9zc0F4aXMiLCJ1bmRlZmluZWQiLCJvZmZzZXRBbGlnbm1lbnRBeGlzIiwiYWxpZ25tZW50QXhpcyIsIl91c2VDb250cm9sbGVkU3RhdGUiLCJ1c2VDb250cm9sbGVkU3RhdGUiLCJfdXNlQ29udHJvbGxlZFN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsImlzT3BlbiIsInNldE9wZW5TdGF0ZSIsInNldE9wZW4iLCJ1c2VFdmVudENhbGxiYWNrIiwibmV4dE9wZW4iLCJfdXNlRmxvYXRpbmciLCJ1c2VGbG9hdGluZyIsIndoaWxlRWxlbWVudHNNb3VudGVkIiwiYXV0b1VwZGF0ZSIsInRyYW5zZm9ybSIsIm1pZGRsZXdhcmUiLCJmbGlwIiwicGFkZGluZyIsInNoaWZ0IiwiZmxvYXRpbmdTaXplIiwiYXBwbHkiLCJfcmVmIiwicmVjdHMiLCJlbGVtZW50cyIsImF2YWlsYWJsZUhlaWdodCIsIm5leHRNYXhIZWlnaHQiLCJNYXRoIiwibWF4IiwibWluIiwicmVzb2x2ZWRXaWR0aCIsImNvbmNhdCIsInJlZmVyZW5jZSIsIndpZHRoIiwiT2JqZWN0IiwiYXNzaWduIiwiZmxvYXRpbmciLCJzdHlsZSIsIm1heEhlaWdodCIsInJlZnMiLCJmbG9hdGluZ1N0eWxlcyIsImNvbnRleHQiLCJyZXNvbHZlZFBsYWNlbWVudCIsInJlc29sdmVkQW5pbWF0aW9uIiwidXNlTWVtbyIsImtpbmQiLCJfdXNlRmxvYXRpbmdBbmltYXRpb24iLCJ1c2VGbG9hdGluZ0FuaW1hdGlvbiIsImlzTW91bnRlZCIsInRyYW5zaXRpb25TdHlsZXMiLCJzdHlsZXMiLCJjbGljayIsInVzZUNsaWNrIiwiZW5hYmxlZCIsImRpc21pc3MiLCJ1c2VEaXNtaXNzIiwib3V0c2lkZVByZXNzRXZlbnQiLCJ1c2VSb2xlIiwiYmFzZUludGVyYWN0aW9ucyIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQVdBLElBQUFDLE9BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLE1BQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLHNCQUFBLEdBQUFILE9BQUE7QUEwQ0EsSUFBTUksaUJBQWlCLEdBQWMsY0FBYztBQUNuRCxJQUFNQyx1QkFBdUIsR0FBRyxHQUFHO0FBQ25DLElBQU1DLGdCQUFnQixHQUFHLEdBQUc7QUFFdEIsU0FBVUMsY0FBY0EsQ0FDNUJDLE9BQThCLEVBQUE7RUFFOUIsSUFDRUMsSUFBSSxHQVdGRCxPQUFPLENBWFRDLElBQUk7SUFBQUMsb0JBQUEsR0FXRkYsT0FBTyxD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LENBQUcsQ0FBRTtFQUFBLEdBQ3ZELENBQUNBLFNBQVMsQ0FBQyxDQUNaO0VBQ0QsSUFBQTZELHFCQUFBLEdBQWdELElBQUFDLDJDQUFvQixFQUNsRU4sT0FBTyxFQUNQQyxpQkFBaUIsRUFDakJDLGlCQUFpQixDQUNsQjtJQUpPSyxTQUFTLEdBQUFGLHFCQUFBLENBQVRFLFNBQVM7SUFBVUMsZ0JBQWdCLEdBQUFILHFCQUFBLENBQXhCSSxNQUFNO0VBTXpCLElBQU1DLEtBQUssR0FBRyxJQUFBQyxlQUFRLEVBQUNYLE9BQU8sRUFBRTtJQUFFWSxPQUFPLEVBQUU3RDtFQUFXLENBQUUsQ0FBQztFQUN6RCxJQUFNOEQsT0FBTyxHQUFHLElBQUFDLGlCQUFVLEVBQUNkLE9BQU8sRUFBRTtJQUNsQ1ksT0FBTyxFQUFFN0QsV0FBVztJQUNwQmdFLGlCQUFpQixFQUFFO0VDOUZuQixDRCtGRCxDQUFDO0VBQ0YsSUFBTXJFLElBQUksR0FBRyxJQUFBc0UsY0FBTyxFQUFDaEIsT0FBTyxFQUFFO0lBQUV0RCxJQUFJLEVBQUVDO0VBQVEsQ0FBRSxDQUFDO0VBRWpELElBQU1zRSxnQkFBZ0IsR0FBbUIsQ0FBQ1AsS0FBSyxFQUFFRyxPQUFPLEVBQUVuRSxJQUFJLENBQUM7RUFFL0QsT0FBTztJQUNMbUIsTUFBTSxFQUFOQSxNQUFNO0lBQ05FLE9BQU8sRUFBUEEsT0FBTztJQUNQK0IsSUFBSSxFQUFKQSxJQUFJO0lBQ0pFLE9BQU8sRUFBUEEsT0FBTztJQUNQNUQsU0FBUyxFQUFFNkQsaUJBQWlCO0lBQzVCRixjQUFjLEVBQWRBLGNBQWM7SUFDZFMsZ0JBQWdCLEVBQWhCQSxnQkFBZ0I7SUFDaEJELFNBQVMsRUFBVEEsU0FBUztJQUNUVSxnQkFBZ0IsRUFBaEJBO0VDaEdBLENEaUdEO0FBQ0g7QUFBQyxJQUFBQyxRQUFBLEdBQUFDLE9BQUEsY0FFYzFGLGNBQWMiLCJmaWxlIjoiY29tcG9uZW50cy9TZWxlY3QvdXNlU2VsZWN0U2hlbGwuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsImltcG9ydCB7IGF1dG9VcGRhdGUsIGZsaXAsIG9mZnNldCwgc2hpZnQsIHNpemUgYXMgZmxvYXRpbmdTaXplLCB1c2VDbGljaywgdXNlRGlzbWlzcywgdXNlRmxvYXRpbmcsIHVzZVJvbGUsIH0gZnJvbSAnQGZsb2F0aW5nLXVpL3JlYWN0JztcbmltcG9ydCB7IHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VDb250cm9sbGVkU3RhdGUsIHVzZUV2ZW50Q2FsbGJhY2sgfSBmcm9tICdAMW1vbmV5L2hvb2tzJztcbmltcG9ydCB7IHVzZUZsb2F0aW5nQW5pbWF0aW9uIH0gZnJvbSAnLi4vLi4vaG9va3MvdXNlRmxvYXRpbmdBbmltYXRpb24nO1xuY29uc3QgREVGQVVMVF9QTEFDRU1FTlQgPSAnYm90dG9tLXN0YXJ0JztcbmNvbnN0IERFRkFVTFRfTElTVF9NQVhfSEVJR0hUID0gMzIwO1xuY29uc3QgUEFORUxfTUlOX0hFSUdIVCA9IDEyMDtcbmV4cG9ydCBmdW5jdGlvbiB1c2VTZWxlY3RTaGVsbChvcHRpb25zKSB7XG4gICAgY29uc3QgeyBvcGVuLCBkZWZhdWx0T3BlbiA9IGZhbHNlLCBvbk9wZW5DaGFuZ2UsIGRpc2FibGVkID0gZmFsc2UsIHJlYWRPbmx5ID0gZmFsc2UsIHBsYWNlbWVudCA9IERFRkFVTFRfUExBQ0VNRU5ULCBwYW5lbFdpZHRoLCBsaXN0TWF4SGVpZ2h0ID0gREVGQVVMVF9MSVNUX01BWF9IRUlHSFQsIGFuaW1hdGlvbiwgcm9sZTogcm9sZVR5cGUgPSAnc2VsZWN0Jywgb2Zmc2V0OiBvZmZzZXRQcm9wID0gMCwgfSA9IG9wdGlvbnM7XG4gICAgY29uc3QgaW50ZXJhY3RpdmUgPSAhZGlzYWJsZWQgJiYgIXJlYWRPbmx5O1xuICAgIGNvbnN0IG9mZnNldElzT2JqZWN0ID0gdHlwZW9mIG9mZnNldFByb3AgPT09ICdvYmplY3QnICYmIG9mZnNldFByb3AgIT09IG51bGw7XG4gICAgY29uc3Qgb2Zmc2V0TWFpbkF4aXMgPSBvZmZzZXRJc09iamVjdCA/IG9mZnNldFByb3AubWFpbkF4aXMgOiBvZmZzZXRQcm9wO1xuICAgIGNvbnN0IG9mZnNldENyb3NzQXhpcyA9IG9mZnNldElzT2JqZWN0ID8gb2Zmc2V0UHJvcC5jcm9zc0F4aXMgOiB1bmRlZmluZWQ7XG4gICAgY29uc3Qgb2Zmc2V0QWxpZ25tZW50QXhpcyA9IG9mZnNldElzT2JqZWN0ID8gb2Zmc2V0UHJvcC5hbGlnbm1lbnRBeGlzIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IFtpc09wZW4sIHNldE9wZW5TdGF0ZV0gPSB1c2VDb250cm9sbGVkU3RhdGUoZGVmYXVsdE9wZW4sIG9wZW4pO1xuICAgIGNvbnN0IHNldE9wZW4gPSB1c2VFdmVudENhbGxiYWNrKChuZXh0T3BlbikgPT4ge1xuICAgICAgICBzZXRPcGVuU3RhdGUobmV4dE9wZW4pO1xuICAgICAgICBvbk9wZW5DaGFuZ2UgPT09IG51bGwgfHwgb25PcGVuQ2hhbmdlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbk9wZW5DaGFuZ2UobmV4dE9wZW4pO1xuICAgIH0pO1xuICAgIGNvbnN0IHsgcmVmcywgZmxvYXRpbmdTdHlsZXMsIGNvbnRleHQsIHBsYWNlbWVudDogcmVzb2x2ZWRQbGFjZW1lbnQsIH0gPSB1c2VGbG9hdGluZyh7XG4gICAgICAgIG9wZW46IGlzT3BlbixcbiAgICAgICAgb25PcGVuQ2hhbmdlOiBzZXRPcGVuLFxuICAgICAgICBwbGFjZW1lbnQsXG4gICAgICAgIHdoaWxlRWxlbWVudHNNb3VudGVkOiBhdXRvVXBkYXRlLFxuICAgICAgICB0cmFuc2Zvcm06IGZhbHNlLFxuICAgICAgICBtaWRkbGV3YXJlOiBbXG4gICAgICAgICAgICBvZmZzZXQoe1xuICAgICAgICAgICAgICAgIG1haW5BeGlzOiBvZmZzZXRNYWluQXhpcyxcbiAgICAgICAgICAgICAgICBjcm9zc0F4aXM6IG9mZnNldENyb3NzQXhpcyxcbiAgICAgICAgICAgICAgICBhbGlnbm1lbnRBeGlzOiBvZmZzZXRBbGlnbm1lbnRBeGlzLFxuICAgICAgICAgICAgfSwgW29mZnNldE1haW5BeGlzLCBvZmZzZXRDcm9zc0F4aXMsIG9mZnNldEFsaWdubWVudEF4aXNdKSxcbiAgICAgICAgICAgIGZsaXAoeyBwYWRkaW5nOiA4IH0pLFxuICAgICAgICAgICAgc2hpZnQoeyBwYWRkaW5nOiA4IH0pLFxuICAgICAgICAgICAgZmxvYXRpbmdTaXplKHtcbiAgICAgICAgICAgICAgICBhcHBseSh7IHJlY3RzLCBlbGVtZW50cywgYXZhaWxhYmxlSGVpZ2h0IH0pIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV4dE1heEhlaWdodCA9IE1hdGgubWF4KFBBTkVMX01JTl9IRUlHSFQsIE1hdGgubWluKGxpc3RNYXhIZWlnaHQsIGF2YWlsYWJsZUhlaWdodCkpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByZXNvbHZlZFdpZHRoID0gcGFuZWxXaWR0aCA9PSBudWxsXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGAke3JlY3RzLnJlZmVyZW5jZS53aWR0aH1weGBcbiAgICAgICAgICAgICAgICAgICAgICAgIDogdHlwZW9mIHBhbmVsV2lkdGggPT09ICdudW1iZXInXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBgJHtwYW5lbFdpZHRofXB4YFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogcGFuZWxXaWR0aDtcbiAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihlbGVtZW50cy5mbG9hdGluZy5zdHlsZSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHJlc29sdmVkV2lkdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXhIZWlnaHQ6IGAke25leHRNYXhIZWlnaHR9cHhgLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSwgW3BhbmVsV2lkdGgsIGxpc3RNYXhIZWlnaHRdKSxcbiAgICAgICAgXSxcbiAgICB9KTtcbiAgICBjb25zdCByZXNvbHZlZEFuaW1hdGlvbiA9IHVzZU1lbW8oKCkgPT4gYW5pbWF0aW9uID09PSBmYWxzZVxuICAgICAgICA/IGZhbHNlXG4gICAgICAgIDogT2JqZWN0LmFzc2lnbih7IGtpbmQ6ICdoZWlnaHQnIH0sIChhbmltYXRpb24gIT09IG51bGwgJiYgYW5pbWF0aW9uICE9PSB2b2lkIDAgPyBhbmltYXRpb24gOiB7fSkpLCBbYW5pbWF0aW9uXSk7XG4gICAgY29uc3QgeyBpc01vdW50ZWQsIHN0eWxlczogdHJhbnNpdGlvblN0eWxlcyB9ID0gdXNlRmxvYXRpbmdBbmltYXRpb24oY29udGV4dCwgcmVzb2x2ZWRQbGFjZW1lbnQsIHJlc29sdmVkQW5pbWF0aW9uKTtcbiAgICBjb25zdCBjbGljayA9IHVzZUNsaWNrKGNvbnRleHQsIHsgZW5hYmxlZDogaW50ZXJhY3RpdmUgfSk7XG4gICAgY29uc3QgZGlzbWlzcyA9IHVzZURpc21pc3MoY29udGV4dCwge1xuICAgICAgICBlbmFibGVkOiBpbnRlcmFjdGl2ZSxcbiAgICAgICAgb3V0c2lkZVByZXNzRXZlbnQ6ICdtb3VzZWRvd24nLFxuICAgIH0pO1xuICAgIGNvbnN0IHJvbGUgPSB1c2VSb2xlKGNvbnRleHQsIHsgcm9sZTogcm9sZVR5cGUgfSk7XG4gICAgY29uc3QgYmFzZUludGVyYWN0aW9ucyA9IFtjbGljaywgZGlzbWlzcywgcm9sZV07XG4gICAgcmV0dXJuIHtcbiAgICAgICAgaXNPcGVuLFxuICAgICAgICBzZXRPcGVuLFxuICAgICAgICByZWZzLFxuICAgICAgICBjb250ZXh0LFxuICAgICAgICBwbGFjZW1lbnQ6IHJlc29sdmVkUGxhY2VtZW50LFxuICAgICAgICBmbG9hdGluZ1N0eWxlcyxcbiAgICAgICAgdHJhbnNpdGlvblN0eWxlcyxcbiAgICAgICAgaXNNb3VudGVkLFxuICAgICAgICBiYXNlSW50ZXJhY3Rpb25zLFxuICAgIH07XG59XG5leHBvcnQgZGVmYXVsdCB1c2VTZWxlY3RTaGVsbDsiXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports["default"] = void 0;
|
|
9
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
9
10
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
11
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
11
12
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
@@ -13,6 +14,7 @@ var _react = require("@floating-ui/react");
|
|
|
13
14
|
var _react2 = _interopRequireWildcard(require("react"));
|
|
14
15
|
var _hooks = require("@1money/hooks");
|
|
15
16
|
var _classnames = require("../../utils/classnames");
|
|
17
|
+
var _useFloatingAnimation2 = require("../../hooks/useFloatingAnimation");
|
|
16
18
|
require("./style");
|
|
17
19
|
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); }
|
|
18
20
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(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; }
|
|
@@ -57,6 +59,9 @@ var Trigger = function Trigger(_ref) {
|
|
|
57
59
|
role = _ref$role === void 0 ? 'dialog' : _ref$role,
|
|
58
60
|
_ref$autoReposition = _ref.autoReposition,
|
|
59
61
|
autoReposition = _ref$autoReposition === void 0 ? true : _ref$autoReposition,
|
|
62
|
+
_ref$matchTriggerWidt = _ref.matchTriggerWidth,
|
|
63
|
+
matchTriggerWidth = _ref$matchTriggerWidt === void 0 ? false : _ref$matchTriggerWidt,
|
|
64
|
+
animation = _ref.animation,
|
|
60
65
|
ref = _ref.ref;
|
|
61
66
|
var arrowRef = (0, _react2.useRef)(null);
|
|
62
67
|
var triggers = (0, _react2.useMemo)(function () {
|
|
@@ -76,22 +81,39 @@ var Trigger = function Trigger(_ref) {
|
|
|
76
81
|
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
77
82
|
}
|
|
78
83
|
});
|
|
84
|
+
var offsetIsObject = (0, _typeof2["default"])(offset) === 'object' && offset !== null;
|
|
85
|
+
var offsetMainAxis = offsetIsObject ? offset.mainAxis : offset;
|
|
86
|
+
var offsetCrossAxis = offsetIsObject ? offset.crossAxis : undefined;
|
|
87
|
+
var offsetAlignmentAxis = offsetIsObject ? offset.alignmentAxis : undefined;
|
|
79
88
|
var middleware = (0, _react2.useMemo)(function () {
|
|
80
|
-
return [(0, _react.offset)(
|
|
89
|
+
return [(0, _react.offset)({
|
|
90
|
+
mainAxis: offsetMainAxis,
|
|
91
|
+
crossAxis: offsetCrossAxis,
|
|
92
|
+
alignmentAxis: offsetAlignmentAxis
|
|
93
|
+
}), (0, _react.flip)({
|
|
81
94
|
padding: 8
|
|
82
95
|
}), (0, _react.shift)({
|
|
83
96
|
padding: 8
|
|
84
97
|
}), (0, _react.arrow)({
|
|
85
98
|
element: arrowRef,
|
|
86
99
|
padding: 8
|
|
87
|
-
})]
|
|
88
|
-
|
|
100
|
+
})].concat((0, _toConsumableArray2["default"])(matchTriggerWidth ? [(0, _react.size)({
|
|
101
|
+
apply: function apply(_ref2) {
|
|
102
|
+
var rects = _ref2.rects,
|
|
103
|
+
elements = _ref2.elements;
|
|
104
|
+
Object.assign(elements.floating.style, {
|
|
105
|
+
width: "".concat(rects.reference.width, "px")
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
})] : []));
|
|
109
|
+
}, [offsetMainAxis, offsetCrossAxis, offsetAlignmentAxis, matchTriggerWidth]);
|
|
89
110
|
var _useFloating = (0, _react.useFloating)({
|
|
90
111
|
open: innerOpen,
|
|
91
112
|
onOpenChange: handleOpenChange,
|
|
92
113
|
placement: placement,
|
|
93
114
|
whileElementsMounted: autoReposition ? _react.autoUpdate : undefined,
|
|
94
|
-
middleware: middleware
|
|
115
|
+
middleware: middleware,
|
|
116
|
+
transform: false
|
|
95
117
|
}),
|
|
96
118
|
refs = _useFloating.refs,
|
|
97
119
|
floatingStyles = _useFloating.floatingStyles,
|
|
@@ -136,6 +158,9 @@ var Trigger = function Trigger(_ref) {
|
|
|
136
158
|
var closePanel = (0, _react2.useCallback)(function () {
|
|
137
159
|
return handleOpenChange(false);
|
|
138
160
|
}, [handleOpenChange]);
|
|
161
|
+
var _useFloatingAnimation = (0, _useFloatingAnimation2.useFloatingAnimation)(context, resolvedPlacement, animation),
|
|
162
|
+
isMounted = _useFloatingAnimation.isMounted,
|
|
163
|
+
transitionStyles = _useFloatingAnimation.styles;
|
|
139
164
|
var arrowData = context.middlewareData.arrow;
|
|
140
165
|
var arrowVars = Object.assign(Object.assign({}, (arrowData === null || arrowData === void 0 ? void 0 : arrowData.x) != null && {
|
|
141
166
|
'--arrow-x': "".concat(arrowData.x, "px")
|
|
@@ -144,7 +169,7 @@ var Trigger = function Trigger(_ref) {
|
|
|
144
169
|
});
|
|
145
170
|
var panel = (0, _jsxRuntime.jsxs)("div", Object.assign({
|
|
146
171
|
ref: refs.setFloating,
|
|
147
|
-
style: Object.assign(Object.assign(Object.assign({}, floatingStyles), arrowVars), overlayStyle),
|
|
172
|
+
style: Object.assign(Object.assign(Object.assign(Object.assign({}, floatingStyles), arrowVars), transitionStyles), overlayStyle),
|
|
148
173
|
className: (0, _classnames.joinCls)("".concat(PREFIX, "-panel"), overlayClassName),
|
|
149
174
|
"data-placement": resolvedPlacement,
|
|
150
175
|
"data-side": placementMeta.side,
|
|
@@ -169,10 +194,10 @@ var Trigger = function Trigger(_ref) {
|
|
|
169
194
|
}) : content]
|
|
170
195
|
}));
|
|
171
196
|
return (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
172
|
-
children: [/*#__PURE__*/(0, _react2.cloneElement)(children, referenceProps),
|
|
197
|
+
children: [/*#__PURE__*/(0, _react2.cloneElement)(children, referenceProps), isMounted && (portal ? (0, _jsxRuntime.jsx)(_react.FloatingPortal, {
|
|
173
198
|
children: panel
|
|
174
199
|
}) : panel)]
|
|
175
200
|
});
|
|
176
201
|
};
|
|
177
202
|
var _default = exports["default"] = Trigger;
|
|
178
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVHJpZ2dlci9UcmlnZ2VyLmpzIiwiY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy9UcmlnZ2VyL1RyaWdnZXIudHN4Il0sIm5hbWVzIjpbIl9qc3hSdW50aW1lIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9yZWFjdDIiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9ob29rcyIsIl9jbGFzc25hbWVzIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mMyIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIlBSRUZJWCIsIm5vcm1hbGl6ZVRyaWdnZXIiLCJ0cmlnZ2VyIiwiQXJyYXkiLCJpc0FycmF5Iiwic2V0UmVmIiwicmVmIiwibm9kZSIsIl90eXBlb2YyIiwiY3VycmVudCIsIlRyaWdnZXIiLCJfcmVmIiwiY29udGVudCIsIl9yZWYkdHJpZ2dlciIsIl9yZWYkcGxhY2VtZW50IiwicGxhY2VtZW50Iiwib3BlbiIsIm9uT3BlbkNoYW5nZSIsIl9yZWYkZGVmYXVsdE9wZW4iLCJkZWZhdWx0T3BlbiIsIl9yZWYkc2hvd0Fycm93Iiwic2hvd0Fycm93IiwiX3JlZiRvZmZzZXQiLCJvZmZzZXQiLCJfcmVmJHBvcnRhbCIsInBvcnRhbCIsIl9yZWYkZGlzbWlzc2libGUiLCJkaXNtaXNzaWJsZSIsImhvdmVyRGVsYXkiLCJvdmVybGF5Q2xhc3NOYW1lIiwib3ZlcmxheVN0eWxlIiwiY2hpbGRyZW4iLCJfcmVmJGRpc2FibGVkIiwiZGlzYWJsZWQiLCJvbk9wZW4iLCJvbkNsb3NlIiwiX3JlZiRyb2xlIiwicm9sZSIsIl9yZWYkYXV0b1JlcG9zaXRpb24iLCJhdXRvUmVwb3NpdGlvbiIsImFycm93UmVmIiwidXNlUmVmIiwidHJpZ2dlcnMiLCJ1c2VNZW1vIiwiX3VzZUNvbnRyb2xsZWRTdGF0ZSIsInVzZUNvbnRyb2xsZWRTdGF0ZSIsIl91c2VDb250cm9sbGVkU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwiaW5uZXJPcGVuIiwic2V0SW5uZXJPcGVuIiwiaGFuZGxlT3BlbkNoYW5nZSIsInVzZUV2ZW50Q2FsbGJhY2siLCJuZXh0T3BlbiIsIm1pZGRsZXdhcmUiLCJmbG9hdGluZ09mZnNldCIsImZsaXAiLCJwYWRkaW5nIiwic2hpZnQiLCJhcnJvdyIsImVsZW1lbnQiLCJfdXNlRmxvYXRpbmciLCJ1c2VGbG9hdGluZyIsIndoaWxlRWxlbWVudHNNb3VudGVkIiwiYXV0b1VwZGF0ZSIsInVuZGVmaW5lZCIsInJlZnMiLCJmbG9hdGluZ1N0eWxlcyIsImNvbnRleHQiLCJyZXNvbHZlZFBsYWNlbWVudCIsImNsaWNrSW50ZXJhY3Rpb24iLCJ1c2VDbGljayIsImVuYWJsZWQiLCJpbmNsdWRlcyIsImhvdmVySW50ZXJhY3Rpb24iLCJ1c2VIb3ZlciIsImRlbGF5IiwiZm9jdXNJbnRlcmFjdGlvbiIsInVzZUZvY3VzIiwiZGlzbWlzc0ludGVyYWN0aW9uIiwidXNlRGlzbWlzcyIsInJvbGVJbnRlcmFjdGlvbiIsInVzZVJvbGUiLCJfdXNlSW50ZXJhY3Rpb25zIiwidXNlSW50ZXJhY3Rpb25zIiwiZ2V0UmVmZXJlbmNlUHJvcHMiLCJnZXRGbG9hdGluZ1Byb3BzIiwiY29tcG9zZWRSZWYiLCJ1c2VDYWxsYmFjayIsInNldFJlZmVyZW5jZSIsInJlZmVyZW5jZVByb3BzIiwicGxhY2VtZW50TWV0YSIsIl9zcGxpdCIsInNwbGl0IiwiX3NwbGl0MiIsInNpZGUiLCJhbGlnbiIsImNsb3NlUGFuZWwiLCJhcnJvd0RhdGEiLCJtaWRkbGV3YXJlRGF0YSIsImFycm93VmFycyIsImFzc2lnbiIsIngiLCJjb25jYXQiLCJ5IiwicGFuZWwiLCJfanN4cyIsInNldEZsb2F0aW5nIiwic3R5bGUiLCJjbGFzc05hbWUiLCJqb2luQ2xzIiwiX2pzeCIsIkZsb2F0aW5nQXJyb3ciLCJwb3NpdGlvbiIsIndpZHRoIiwiaGVpZ2h0IiwicG9pbnRlckV2ZW50cyIsInZpc2liaWxpdHkiLCJjbG9zZSIsIl9GcmFnbWVudCIsImNsb25lRWxlbWVudCIsIkZsb2F0aW5nUG9ydGFsIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsSUFBQUEsV0FBQSxHQUFBQyxPQUFBO0FDQUEsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBZ0JBLElBQUFFLE9BQUEsR0FBQUMsdUJBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFJLE1BQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLFdBQUEsR0FBQUwsT0FBQTtBQUdBQSxPQUFBO0FBQWlCLFNBQUFNLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBSix3QkFBQUksQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsU0FBQUosQ0FBQSxlQUFBQSxDQUFBLGdCQUFBSyxRQUFBLENBQUFMLENBQUEsMEJBQUFBLENBQUEsc0JBQUFBLENBQUEsUUFBQUcsQ0FBQSxHQUFBSix3QkFBQSxDQUFBRyxDQUFBLE9BQUFDLENBQUEsSUFBQUEsQ0FBQSxDQUFBRyxHQUFBLENBQUFOLENBQUEsVUFBQUcsQ0FBQSxDQUFBSSxHQUFBLENBQUFQLENBQUEsT0FBQVEsQ0FBQSxLQUFBQyxTQUFBLFVBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMsQ0FBQSxJQUFBZCxDQUFBLG9CQUFBYyxDQUFBLE9BQUFDLGNBQUEsQ0FBQUMsSUFBQSxD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QUFRLEVBQUUwRCxjQUFjLENBQUMsRUFDdEN6QyxTQUFTLEtBQUt2QixNQUFNLEdBQUcsSUFBQXFGLGVBQUEsRUFBQ1UscUJBQWMsRUFBQTtNQUFBekYsUUFBQSxFQUFFeUU7SUFBSyxDQUFBLENBQWtCLEdBQUdBLEtBQUssQ0FBQztFQUFBLENBQUEsQ0FDeEU7QUFFUCxDQUFDO0FBQUMsSUFBQWlCLFFBQUEsR0FBQUMsT0FBQSxjQUVhaEgsT0FBTyIsImZpbGUiOiJjb21wb25lbnRzL1RyaWdnZXIvVHJpZ2dlci5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzLCBGcmFnbWVudCBhcyBfRnJhZ21lbnQgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IGFycm93LCBhdXRvVXBkYXRlLCBmbGlwLCBGbG9hdGluZ0Fycm93LCBGbG9hdGluZ1BvcnRhbCwgb2Zmc2V0IGFzIGZsb2F0aW5nT2Zmc2V0LCBzaGlmdCwgdXNlQ2xpY2ssIHVzZURpc21pc3MsIHVzZUZsb2F0aW5nLCB1c2VGb2N1cywgdXNlSG92ZXIsIHVzZUludGVyYWN0aW9ucywgdXNlUm9sZSwgfSBmcm9tICdAZmxvYXRpbmctdWkvcmVhY3QnO1xuaW1wb3J0IFJlYWN0LCB7IGNsb25lRWxlbWVudCwgdXNlQ2FsbGJhY2ssIHVzZU1lbW8sIHVzZVJlZiB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZUNvbnRyb2xsZWRTdGF0ZSwgdXNlRXZlbnRDYWxsYmFjayB9IGZyb20gJ0AxbW9uZXkvaG9va3MnO1xuaW1wb3J0IHsgam9pbkNscyB9IGZyb20gJy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuaW1wb3J0ICcuL3N0eWxlJztcbmNvbnN0IFBSRUZJWCA9ICdvbS10cmlnZ2VyJztcbmZ1bmN0aW9uIG5vcm1hbGl6ZVRyaWdnZXIodHJpZ2dlcikge1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHRyaWdnZXIpID8gdHJpZ2dlciA6IFt0cmlnZ2VyXTtcbn1cbmZ1bmN0aW9uIHNldFJlZihyZWYsIG5vZGUpIHtcbiAgICBpZiAodHlwZW9mIHJlZiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICByZWYobm9kZSk7XG4gICAgfVxuICAgIGVsc2UgaWYgKHJlZiAmJiB0eXBlb2YgcmVmID09PSAnb2JqZWN0JyAmJiAnY3VycmVudCcgaW4gcmVmKSB7XG4gICAgICAgIHJlZi5jdXJyZW50ID0gbm9kZTtcbiAgICB9XG59XG5jb25zdCBUcmlnZ2VyID0gKHsgY29udGVudCwgdHJpZ2dlciA9ICdjbGljaycsIHBsYWNlbWVudCA9ICdib3R0b20tc3RhcnQnLCBvcGVuLCBvbk9wZW5DaGFuZ2UsIGRlZmF1bHRPcGVuID0gZmFsc2UsIHNob3dBcnJvdyA9IGZhbHNlLCBvZmZzZXQgPSA0LCBwb3J0YWwgPSB0cnVlLCBkaXNtaXNzaWJsZSA9IHRydWUsIGhvdmVyRGVsYXksIG92ZXJsYXlDbGFzc05hbWUsIG92ZXJsYXlTdHlsZSwgY2hpbGRyZW4sIGRpc2FibGVkID0gZmFsc2UsIG9uT3Blbiwgb25DbG9zZSwgcm9sZSA9ICdkaWFsb2cnLCBhdXRvUmVwb3NpdGlvbiA9IHRydWUsIHJlZiwgfSkgPT4ge1xuICAgIGNvbnN0IGFycm93UmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IHRyaWdnZXJzID0gdXNlTWVtbygoKSA9PiBub3JtYWxpemVUcmlnZ2VyKHRyaWdnZXIpLCBbdHJpZ2dlcl0pO1xuICAgIGNvbnN0IFtpbm5lck9wZW4sIHNldElubmVyT3Blbl0gPSB1c2VDb250cm9sbGVkU3RhdGUoZGVmYXVsdE9wZW4sIG9wZW4pO1xuICAgIGNvbnN0IGhhbmRsZU9wZW5DaGFuZ2UgPSB1c2VFdmVudENhbGxiYWNrKChuZXh0T3BlbikgPT4ge1xuICAgICAgICBpZiAoZGlzYWJsZWQpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIHNldElubmVyT3BlbihuZXh0T3Blbik7XG4gICAgICAgIG9uT3BlbkNoYW5nZSA9PT0gbnVsbCB8fCBvbk9wZW5DaGFuZ2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uT3BlbkNoYW5nZShuZXh0T3Blbik7XG4gICAgICAgIGlmIChuZXh0T3Blbikge1xuICAgICAgICAgICAgb25PcGVuID09PSBudWxsIHx8IG9uT3BlbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25PcGVuKCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBvbkNsb3NlID09PSBudWxsIHx8IG9uQ2xvc2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQ2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IG1pZGRsZXdhcmUgPSB1c2VNZW1vKCgpID0+IFtcbiAgICAgICAgZmxvYXRpbmdPZmZzZXQob2Zmc2V0KSxcbiAgICAgICAgZmxpcCh7IHBhZGRpbmc6IDggfSksXG4gICAgICAgIHNoaWZ0KHsgcGFkZGluZzogOCB9KSxcbiAgICAgICAgYXJyb3coeyBlbGVtZW50OiBhcnJvd1JlZiwgcGFkZGluZzogOCB9KSxcbiAgICBdLCBbb2Zmc2V0XSk7XG4gICAgY29uc3QgeyByZWZzLCBmbG9hdGluZ1N0eWxlcywgY29udGV4dCwgcGxhY2VtZW50OiByZXNvbHZlZFBsYWNlbWVudCB9ID0gdXNlRmxvYXRpbmcoe1xuICAgICAgICBvcGVuOiBpbm5lck9wZW4sXG4gICAgICAgIG9uT3BlbkNoYW5nZTogaGFuZGxlT3BlbkNoYW5nZSxcbiAgICAgICAgcGxhY2VtZW50LFxuICAgICAgICB3aGlsZUVsZW1lbnRzTW91bnRlZDogYXV0b1JlcG9zaXRpb24gPyBhdXRvVXBkYXRlIDogdW5kZWZpbmVkLFxuICAgICAgICBtaWRkbGV3YXJlLFxuICAgIH0pO1xuICAgIGNvbnN0IGNsaWNrSW50ZXJhY3Rpb24gPSB1c2VDbGljayhjb250ZXh0LCB7XG4gICAgICAgIGVuYWJsZWQ6IHRyaWdnZXJzLmluY2x1ZGVzKCdjbGljaycpICYmICFkaXNhYmxlZCxcbiAgICB9KTtcbiAgICBjb25zdCBob3ZlckludGVyYWN0aW9uID0gdXNlSG92ZXIoY29udGV4dCwge1xuICAgICAgICBlbmFibGVkOiB0cmlnZ2Vycy5pbmNsdWRlcygnaG92ZXInKSAmJiAhZGlzYWJsZWQsXG4gICAgICAgIGRlbGF5OiBob3ZlckRlbGF5LFxuICAgIH0pO1xuICAgIGNvbnN0IGZvY3VzSW50ZXJhY3Rpb24gPSB1c2VGb2N1cyhjb250ZXh0LCB7XG4gICAgICAgIGVuYWJsZWQ6IHRyaWdnZXJzLmluY2x1ZGVzKCdmb2N1cycpICYmICFkaXNhYmxlZCxcbiAgICB9KTtcbiAgICBjb25zdCBkaXNtaXNzSW50ZXJhY3Rpb24gPSB1c2VEaXNtaXNzKGNvbnRleHQsIHtcbiAgICAgICAgZW5hYmxlZDogZGlzbWlzc2libGUsXG4gICAgfSk7XG4gICAgY29uc3Qgcm9sZUludGVyYWN0aW9uID0gdXNlUm9sZShjb250ZXh0LCB7IHJvbGUgfSk7XG4gICAgY29uc3QgeyBnZXRSZWZlcmVuY2VQcm9wcywgZ2V0RmxvYXRpbmdQcm9wcyB9ID0gdXNlSW50ZXJhY3Rpb25zKFtcbiAgICAgICAgY2xpY2tJbnRlcmFjdGlvbixcbiAgICAgICAgaG92ZXJJbnRlcmFjdGlvbixcbiAgICAgICAgZm9jdXNJbnRlcmFjdGlvbixcbiAgICAgICAgZGlzbWlzc0ludGVyYWN0aW9uLFxuICAgICAgICByb2xlSW50ZXJhY3Rpb24sXG4gICAgXSk7XG4gICAgY29uc3QgY29tcG9zZWRSZWYgPSB1c2VDYWxsYmFjaygobm9kZSkgPT4ge1xuICAgICAgICByZWZzLnNldFJlZmVyZW5jZShub2RlKTtcbiAgICAgICAgc2V0UmVmKHJlZiwgbm9kZSk7XG4gICAgfSwgW3JlZnMuc2V0UmVmZXJlbmNlLCByZWZdKTtcbiAgICBjb25zdCByZWZlcmVuY2VQcm9wcyA9IGdldFJlZmVyZW5jZVByb3BzKHsgcmVmOiBjb21wb3NlZFJlZiB9KTtcbiAgICBjb25zdCBwbGFjZW1lbnRNZXRhID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIGNvbnN0IFtzaWRlLCBhbGlnbl0gPSAocmVzb2x2ZWRQbGFjZW1lbnQgIT09IG51bGwgJiYgcmVzb2x2ZWRQbGFjZW1lbnQgIT09IHZvaWQgMCA/IHJlc29sdmVkUGxhY2VtZW50IDogJ2JvdHRvbS1zdGFydCcpLnNwbGl0KCctJyk7XG4gICAgICAgIHJldHVybiB7IHNpZGUsIGFsaWduIH07XG4gICAgfSwgW3Jlc29sdmVkUGxhY2VtZW50XSk7XG4gICAgY29uc3QgY2xvc2VQYW5lbCA9IHVzZUNhbGxiYWNrKCgpID0+IGhhbmRsZU9wZW5DaGFuZ2UoZmFsc2UpLCBbaGFuZGxlT3BlbkNoYW5nZV0pO1xuICAgIGNvbnN0IGFycm93RGF0YSA9IGNvbnRleHQubWlkZGxld2FyZURhdGEuYXJyb3c7XG4gICAgY29uc3QgYXJyb3dWYXJzID0gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCAoKGFycm93RGF0YSA9PT0gbnVsbCB8fCBhcnJvd0RhdGEgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGFycm93RGF0YS54KSAhPSBudWxsICYmIHsgJy0tYXJyb3cteCc6IGAke2Fycm93RGF0YS54fXB4YCB9KSksICgoYXJyb3dEYXRhID09PSBudWxsIHx8IGFycm93RGF0YSA9PT0gdm9pZCAwID8gdm9pZCAwIDogYXJyb3dEYXRhLnkpICE9IG51bGwgJiYgeyAnLS1hcnJvdy15JzogYCR7YXJyb3dEYXRhLnl9cHhgIH0pKTtcbiAgICBjb25zdCBwYW5lbCA9IChfanN4cyhcImRpdlwiLCBPYmplY3QuYXNzaWduKHsgcmVmOiByZWZzLnNldEZsb2F0aW5nLCBzdHlsZTogT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIGZsb2F0aW5nU3R5bGVzKSwgYXJyb3dWYXJzKSwgb3ZlcmxheVN0eWxlKSwgY2xhc3NOYW1lOiBqb2luQ2xzKGAke1BSRUZJWH0tcGFuZWxgLCBvdmVybGF5Q2xhc3NOYW1lKSwgXCJkYXRhLXBsYWNlbWVudFwiOiByZXNvbHZlZFBsYWNlbWVudCwgXCJkYXRhLXNpZGVcIjogcGxhY2VtZW50TWV0YS5zaWRlLCBcImRhdGEtYWxpZ25cIjogcGxhY2VtZW50TWV0YS5hbGlnbiB9LCBnZXRGbG9hdGluZ1Byb3BzKCksIHsgY2hpbGRyZW46IFtzaG93QXJyb3cgPyAoX2pzeChGbG9hdGluZ0Fycm93LCB7IHJlZjogYXJyb3dSZWYsIGNvbnRleHQ6IGNvbnRleHQsIGNsYXNzTmFtZTogYCR7UFJFRklYfS1hcnJvd2AgfSkpIDogKF9qc3goXCJzcGFuXCIsIHsgcmVmOiBhcnJvd1JlZiwgc3R5bGU6IHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwLFxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDAsXG4gICAgICAgICAgICAgICAgICAgIHBvaW50ZXJFdmVudHM6ICdub25lJyxcbiAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogJ2hpZGRlbicsXG4gICAgICAgICAgICAgICAgfSB9KSksIHR5cGVvZiBjb250ZW50ID09PSAnZnVuY3Rpb24nXG4gICAgICAgICAgICAgICAgPyBjb250ZW50KHsgY2xvc2U6IGNsb3NlUGFuZWwsIG9wZW46IGlubmVyT3BlbiB9KVxuICAgICAgICAgICAgICAgIDogY29udGVudF0gfSkpKTtcbiAgICByZXR1cm4gKF9qc3hzKF9GcmFnbWVudCwgeyBjaGlsZHJlbjogW2Nsb25lRWxlbWVudChjaGlsZHJlbiwgcmVmZXJlbmNlUHJvcHMpLCBpbm5lck9wZW4gJiYgKHBvcnRhbCA/IF9qc3goRmxvYXRpbmdQb3J0YWwsIHsgY2hpbGRyZW46IHBhbmVsIH0pIDogcGFuZWwpXSB9KSk7XG59O1xuZXhwb3J0IGRlZmF1bHQgVHJpZ2dlcjsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
203
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVHJpZ2dlci9UcmlnZ2VyLmpzIiwiY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy9UcmlnZ2VyL1RyaWdnZXIudHN4Il0sIm5hbWVzIjpbIl9qc3hSdW50aW1lIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9yZWFjdDIiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9ob29rcyIsIl9jbGFzc25hbWVzIiwiX3VzZUZsb2F0aW5nQW5pbWF0aW9uMiIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZjMiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJQUkVGSVgiLCJub3JtYWxpemVUcmlnZ2VyIiwidHJpZ2dlciIsIkFycmF5IiwiaXNBcnJheSIsInNldFJlZiIsInJlZiIsIm5vZGUiLCJfdHlwZW9mMiIsImN1cnJlbnQiLCJUcmlnZ2VyIiwiX3JlZiIsImNvbnRlbnQiLCJfcmVmJHRyaWdnZXIiLCJfcmVmJHBsYWNlbWVudCIsInBsYWNlbWVudCIsIm9wZW4iLCJvbk9wZW5DaGFuZ2UiLCJfcmVmJGRlZmF1bHRPcGVuIiwiZGVmYXVsdE9wZW4iLCJfcmVmJHNob3dBcnJvdyIsInNob3dBcnJvdyIsIl9yZWYkb2Zmc2V0Iiwib2Zmc2V0IiwiX3JlZiRwb3J0YWwiLCJwb3J0YWwiLCJfcmVmJGRpc21pc3NpYmxlIiwiZGlzbWlzc2libGUiLCJob3ZlckRlbGF5Iiwib3ZlcmxheUNsYXNzTmFtZSIsIm92ZXJsYXlTdHlsZSIsImNoaWxkcmVuIiwiX3JlZiRkaXNhYmxlZCIsImRpc2FibGVkIiwib25PcGVuIiwib25DbG9zZSIsIl9yZWYkcm9sZSIsInJvbGUiLCJfcmVmJGF1dG9SZXBvc2l0aW9uIiwiYXV0b1JlcG9zaXRpb24iLCJfcmVmJG1hdGNoVHJpZ2dlcldpZHQiLCJtYXRjaFRyaWdnZXJXaWR0aCIsImFuaW1hdGlvbiIsImFycm93UmVmIiwidXNlUmVmIiwidHJpZ2dlcnMiLCJ1c2VNZW1vIiwiX3VzZUNvbnRyb2xsZWRTdGF0ZSIsInVzZUNvbnRyb2xsZWRTdGF0ZSIsIl91c2VDb250cm9sbGVkU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwiaW5uZXJPcGVuIiwic2V0SW5uZXJPcGVuIiwiaGFuZGxlT3BlbkNoYW5nZSIsInVzZUV2ZW50Q2FsbGJhY2siLCJuZXh0T3BlbiIsIm9mZnNldElzT2JqZWN0Iiwib2Zmc2V0TWFpbkF4aXMiLCJtYWluQXhpcyIsIm9mZnNldENyb3NzQXhpcyIsImNyb3NzQXhpcyIsInVuZGVmaW5lZCIsIm9mZnNldEFsaWdubWVudEF4aXMiLCJhbGlnbm1lbnRBeGlzIiwibWlkZGxld2FyZSIsImZsb2F0aW5nT2Zmc2V0IiwiZmxpcCIsInBhZGRpbmciLCJzaGlmdCIsImFycm93IiwiZWxlbWVudCIsImNvbmNhdCIsIl90b0NvbnN1bWFibGVBcnJheTIiLCJmbG9hdGluZ1NpemUiLCJhcHBseSIsIl9yZWYyIiwicmVjdHMiLCJlbGVtZW50cyIsImFzc2lnbiIsImZsb2F0aW5nIiwic3R5bGUiLCJ3aWR0aCIsInJlZmVyZW5jZSIsIl91c2VGbG9hdGluZyIsInVzZUZsb2F0aW5nIiwid2hpbGVFbGVtZW50c01vdW50ZWQiLCJhdXRvVXBkYXRlIiwidHJhbnNmb3JtIiwicmVmcyIsImZsb2F0aW5nU3R5bGVzIiwiY29udGV4dCIsInJlc29sdmVkUGxhY2VtZW50IiwiY2xpY2tJbnRlcmFjdGlvbiIsInVzZUNsaWNrIiwiZW5hYmxlZCIsImluY2x1ZGVzIiwiaG92ZXJJbnRlcmFjdGlvbiIsInVzZUhvdmVyIiwiZGVsYXkiLCJmb2N1c0ludGVyYWN0aW9uIiwidXNlRm9jdXMiLCJkaXNtaXNzSW50ZXJhY3Rpb24iLCJ1c2VEaXNtaXNzIiwicm9sZUludGVyYWN0aW9uIiwidXNlUm9sZSIsIl91c2VJbnRlcmFjdGlvbnMiLCJ1c2VJbnRlcmFjdGlvbnMiLCJnZXRSZWZlcmVuY2VQcm9wcyIsImdldEZsb2F0aW5nUHJvcHMiLCJjb21wb3NlZFJlZiIsInVzZUNhbGxiYWNrIiwic2V0UmVmZXJlbmNlIiwicmVmZXJlbmNlUHJvcHMiLCJwbGFjZW1lbnRNZXRhIiwiX3NwbGl0Iiwic3BsaXQiLCJfc3BsaXQyIiwic2lkZSIsImFsaWduIiwiY2xvc2VQYW5lbCIsIl91c2VGbG9hdGluZ0FuaW1hdGlvbiIsInVzZUZsb2F0aW5nQW5pbWF0aW9uIiwiaXNNb3VudGVkIiwidHJhbnNpdGlvblN0eWxlcyIsInN0eWxlcyIsImFycm93RGF0YSIsIm1pZGRsZXdhcmVEYXRhIiwiYXJyb3dWYXJzIiwieCIsInkiLCJwYW5lbCIsIl9qc3hzIiwic2V0RmxvYXRpbmciLCJjbGFzc05hbWUiLCJqb2luQ2xzIiwiX2pzeCIsIkZsb2F0aW5nQXJyb3ciLCJwb3NpdGlvbiIsImhlaWdodCIsInBvaW50ZXJFdmVudHMiLCJ2aXNpYmlsaXR5IiwiY2xvc2UiLCJfRnJhZ21lbnQiLCJjbG9uZUVsZW1lbnQiLCJGbG9hdGluZ1BvcnRhbCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxXQUFBLEdBQUFDLE9BQUE7QUNBQSxJQUFBQyxNQUFBLEdBQUFELE9BQUE7QUFpQkEsSUFBQUUsT0FBQSxHQUFBQyx1QkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksTUFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssV0FBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sc0JBQUEsR0FBQU4sT0FBQTtBQUdBQSxPQUFBO0FBQWlCLFNBQUFPLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FB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RUFBQTtJQUFBN0UsUUFBQSxFQUFBLENBRXJCVixTQUFTLEdBQ1IsSUFBQWtILGVBQUEsRUFBQ0Msb0JBQWEsRUFBQTtNQUNabEksR0FBRyxFQUFFcUMsUUFBaUQ7TUFDdEQrQyxPQUFPLEVBQUVBLE9BQU87TUFDaEIyQyxTQUFTLEtBQUE5RCxNQUFBLENBQUt2RSxNQUFNO0lBQVEsQ0FBQSxDQUM1QixHQUVGLElBQUF1SSxlQUFBLEVBQUEsTUFBQSxFQUFBO01BQ0VqSSxHQUFHLEVBQUVxQyxRQUFtRDtNQUN4RHFDLEtBQUssRUFBRTtRQUNMeUQsUUFBUSxFQUFFLFVBQVU7UUFDcEJ4RCxLQUFLLEVBQUUsQ0FBQztRQUNSeUQsTUFBTSxFQUFFLENBQUM7UUFDVEMsYUFBYSxFQUFFLE1BQU07UUFDckJDLFVBQVUsRUFBRTtNRDVGUjtJQzZGTCxDQUFBLENBRUosRUFDQSxPQUFPaEksT0FBTyxLQUFLLFVBQVUsR0FDMUJBLE9BQU8sQ0FBQztNQUFFaUksS0FBSyxFQUFFdEIsVUFBVTtNQUFFdkcsSUFBSSxFQUFFbUM7SUFBUyxDQUFFLENBQUMsR0FDL0N2QyxPQUFPO0VBQUEsQ0FBQSxDQUFBLENBRWQ7RUFFRCxPQUNFLElBQUF1SCxnQkFBQSxFQUFBVyxvQkFBQSxFQUFBO0lBQUEvRyxRQUFBLEVBQUEsY0FDRyxJQUFBZ0gsb0JBQVksRUFBQ2hILFFBQVEsRUFBRWlGLGNBQWMsQ0FBQyxFQUN0Q1UsU0FBUyxLQUFLakcsTUFBTSxHQUFHLElBQUE4RyxlQUFBLEVBQUNTLHFCQUFjLEVBQUE7TUFBQWpILFFBQUEsRUFBRW1HO0lBQUssQ0FBQSxDQUFrQixHQUFHQSxLQUFLLENBQUM7RUFBQSxDQUFBLENBQ3hFO0FBRVAsQ0FBQztBQUFDLElBQUFlLFFBQUEsR0FBQUMsT0FBQSxjQUVheEksT0FBTyIsImZpbGUiOiJjb21wb25lbnRzL1RyaWdnZXIvVHJpZ2dlci5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzLCBGcmFnbWVudCBhcyBfRnJhZ21lbnQgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IGFycm93LCBhdXRvVXBkYXRlLCBmbGlwLCBGbG9hdGluZ0Fycm93LCBGbG9hdGluZ1BvcnRhbCwgb2Zmc2V0IGFzIGZsb2F0aW5nT2Zmc2V0LCBzaGlmdCwgc2l6ZSBhcyBmbG9hdGluZ1NpemUsIHVzZUNsaWNrLCB1c2VEaXNtaXNzLCB1c2VGbG9hdGluZywgdXNlRm9jdXMsIHVzZUhvdmVyLCB1c2VJbnRlcmFjdGlvbnMsIHVzZVJvbGUsIH0gZnJvbSAnQGZsb2F0aW5nLXVpL3JlYWN0JztcbmltcG9ydCBSZWFjdCwgeyBjbG9uZUVsZW1lbnQsIHVzZUNhbGxiYWNrLCB1c2VNZW1vLCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VDb250cm9sbGVkU3RhdGUsIHVzZUV2ZW50Q2FsbGJhY2sgfSBmcm9tICdAMW1vbmV5L2hvb2tzJztcbmltcG9ydCB7IGpvaW5DbHMgfSBmcm9tICcuLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCB7IHVzZUZsb2F0aW5nQW5pbWF0aW9uIH0gZnJvbSAnLi4vLi4vaG9va3MvdXNlRmxvYXRpbmdBbmltYXRpb24nO1xuaW1wb3J0ICcuL3N0eWxlJztcbmNvbnN0IFBSRUZJWCA9ICdvbS10cmlnZ2VyJztcbmZ1bmN0aW9uIG5vcm1hbGl6ZVRyaWdnZXIodHJpZ2dlcikge1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHRyaWdnZXIpID8gdHJpZ2dlciA6IFt0cmlnZ2VyXTtcbn1cbmZ1bmN0aW9uIHNldFJlZihyZWYsIG5vZGUpIHtcbiAgICBpZiAodHlwZW9mIHJlZiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICByZWYobm9kZSk7XG4gICAgfVxuICAgIGVsc2UgaWYgKHJlZiAmJiB0eXBlb2YgcmVmID09PSAnb2JqZWN0JyAmJiAnY3VycmVudCcgaW4gcmVmKSB7XG4gICAgICAgIHJlZi5jdXJyZW50ID0gbm9kZTtcbiAgICB9XG59XG5jb25zdCBUcmlnZ2VyID0gKHsgY29udGVudCwgdHJpZ2dlciA9ICdjbGljaycsIHBsYWNlbWVudCA9ICdib3R0b20tc3RhcnQnLCBvcGVuLCBvbk9wZW5DaGFuZ2UsIGRlZmF1bHRPcGVuID0gZmFsc2UsIHNob3dBcnJvdyA9IGZhbHNlLCBvZmZzZXQgPSA0LCBwb3J0YWwgPSB0cnVlLCBkaXNtaXNzaWJsZSA9IHRydWUsIGhvdmVyRGVsYXksIG92ZXJsYXlDbGFzc05hbWUsIG92ZXJsYXlTdHlsZSwgY2hpbGRyZW4sIGRpc2FibGVkID0gZmFsc2UsIG9uT3Blbiwgb25DbG9zZSwgcm9sZSA9ICdkaWFsb2cnLCBhdXRvUmVwb3NpdGlvbiA9IHRydWUsIG1hdGNoVHJpZ2dlcldpZHRoID0gZmFsc2UsIGFuaW1hdGlvbiwgcmVmLCB9KSA9PiB7XG4gICAgY29uc3QgYXJyb3dSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3QgdHJpZ2dlcnMgPSB1c2VNZW1vKCgpID0+IG5vcm1hbGl6ZVRyaWdnZXIodHJpZ2dlciksIFt0cmlnZ2VyXSk7XG4gICAgY29uc3QgW2lubmVyT3Blbiwgc2V0SW5uZXJPcGVuXSA9IHVzZUNvbnRyb2xsZWRTdGF0ZShkZWZhdWx0T3Blbiwgb3Blbik7XG4gICAgY29uc3QgaGFuZGxlT3BlbkNoYW5nZSA9IHVzZUV2ZW50Q2FsbGJhY2soKG5leHRPcGVuKSA9PiB7XG4gICAgICAgIGlmIChkaXNhYmxlZClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgc2V0SW5uZXJPcGVuKG5leHRPcGVuKTtcbiAgICAgICAgb25PcGVuQ2hhbmdlID09PSBudWxsIHx8IG9uT3BlbkNoYW5nZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25PcGVuQ2hhbmdlKG5leHRPcGVuKTtcbiAgICAgICAgaWYgKG5leHRPcGVuKSB7XG4gICAgICAgICAgICBvbk9wZW4gPT09IG51bGwgfHwgb25PcGVuID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbk9wZW4oKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIG9uQ2xvc2UgPT09IG51bGwgfHwgb25DbG9zZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25DbG9zZSgpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgY29uc3Qgb2Zmc2V0SXNPYmplY3QgPSB0eXBlb2Ygb2Zmc2V0ID09PSAnb2JqZWN0JyAmJiBvZmZzZXQgIT09IG51bGw7XG4gICAgY29uc3Qgb2Zmc2V0TWFpbkF4aXMgPSBvZmZzZXRJc09iamVjdCA/IG9mZnNldC5tYWluQXhpcyA6IG9mZnNldDtcbiAgICBjb25zdCBvZmZzZXRDcm9zc0F4aXMgPSBvZmZzZXRJc09iamVjdCA/IG9mZnNldC5jcm9zc0F4aXMgOiB1bmRlZmluZWQ7XG4gICAgY29uc3Qgb2Zmc2V0QWxpZ25tZW50QXhpcyA9IG9mZnNldElzT2JqZWN0ID8gb2Zmc2V0LmFsaWdubWVudEF4aXMgOiB1bmRlZmluZWQ7XG4gICAgY29uc3QgbWlkZGxld2FyZSA9IHVzZU1lbW8oKCkgPT4gW1xuICAgICAgICBmbG9hdGluZ09mZnNldCh7XG4gICAgICAgICAgICBtYWluQXhpczogb2Zmc2V0TWFpbkF4aXMsXG4gICAgICAgICAgICBjcm9zc0F4aXM6IG9mZnNldENyb3NzQXhpcyxcbiAgICAgICAgICAgIGFsaWdubWVudEF4aXM6IG9mZnNldEFsaWdubWVudEF4aXMsXG4gICAgICAgIH0pLFxuICAgICAgICBmbGlwKHsgcGFkZGluZzogOCB9KSxcbiAgICAgICAgc2hpZnQoeyBwYWRkaW5nOiA4IH0pLFxuICAgICAgICBhcnJvdyh7IGVsZW1lbnQ6IGFycm93UmVmLCBwYWRkaW5nOiA4IH0pLFxuICAgICAgICAuLi4obWF0Y2hUcmlnZ2VyV2lkdGhcbiAgICAgICAgICAgID8gW1xuICAgICAgICAgICAgICAgIGZsb2F0aW5nU2l6ZSh7XG4gICAgICAgICAgICAgICAgICAgIGFwcGx5KHsgcmVjdHMsIGVsZW1lbnRzIH0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oZWxlbWVudHMuZmxvYXRpbmcuc3R5bGUsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogYCR7cmVjdHMucmVmZXJlbmNlLndpZHRofXB4YCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgXVxuICAgICAgICAgICAgOiBbXSksXG4gICAgXSwgW29mZnNldE1haW5BeGlzLCBvZmZzZXRDcm9zc0F4aXMsIG9mZnNldEFsaWdubWVudEF4aXMsIG1hdGNoVHJpZ2dlcldpZHRoXSk7XG4gICAgY29uc3QgeyByZWZzLCBmbG9hdGluZ1N0eWxlcywgY29udGV4dCwgcGxhY2VtZW50OiByZXNvbHZlZFBsYWNlbWVudCB9ID0gdXNlRmxvYXRpbmcoe1xuICAgICAgICBvcGVuOiBpbm5lck9wZW4sXG4gICAgICAgIG9uT3BlbkNoYW5nZTogaGFuZGxlT3BlbkNoYW5nZSxcbiAgICAgICAgcGxhY2VtZW50LFxuICAgICAgICB3aGlsZUVsZW1lbnRzTW91bnRlZDogYXV0b1JlcG9zaXRpb24gPyBhdXRvVXBkYXRlIDogdW5kZWZpbmVkLFxuICAgICAgICBtaWRkbGV3YXJlLFxuICAgICAgICB0cmFuc2Zvcm06IGZhbHNlLFxuICAgIH0pO1xuICAgIGNvbnN0IGNsaWNrSW50ZXJhY3Rpb24gPSB1c2VDbGljayhjb250ZXh0LCB7XG4gICAgICAgIGVuYWJsZWQ6IHRyaWdnZXJzLmluY2x1ZGVzKCdjbGljaycpICYmICFkaXNhYmxlZCxcbiAgICB9KTtcbiAgICBjb25zdCBob3ZlckludGVyYWN0aW9uID0gdXNlSG92ZXIoY29udGV4dCwge1xuICAgICAgICBlbmFibGVkOiB0cmlnZ2Vycy5pbmNsdWRlcygnaG92ZXInKSAmJiAhZGlzYWJsZWQsXG4gICAgICAgIGRlbGF5OiBob3ZlckRlbGF5LFxuICAgIH0pO1xuICAgIGNvbnN0IGZvY3VzSW50ZXJhY3Rpb24gPSB1c2VGb2N1cyhjb250ZXh0LCB7XG4gICAgICAgIGVuYWJsZWQ6IHRyaWdnZXJzLmluY2x1ZGVzKCdmb2N1cycpICYmICFkaXNhYmxlZCxcbiAgICB9KTtcbiAgICBjb25zdCBkaXNtaXNzSW50ZXJhY3Rpb24gPSB1c2VEaXNtaXNzKGNvbnRleHQsIHtcbiAgICAgICAgZW5hYmxlZDogZGlzbWlzc2libGUsXG4gICAgfSk7XG4gICAgY29uc3Qgcm9sZUludGVyYWN0aW9uID0gdXNlUm9sZShjb250ZXh0LCB7IHJvbGUgfSk7XG4gICAgY29uc3QgeyBnZXRSZWZlcmVuY2VQcm9wcywgZ2V0RmxvYXRpbmdQcm9wcyB9ID0gdXNlSW50ZXJhY3Rpb25zKFtcbiAgICAgICAgY2xpY2tJbnRlcmFjdGlvbixcbiAgICAgICAgaG92ZXJJbnRlcmFjdGlvbixcbiAgICAgICAgZm9jdXNJbnRlcmFjdGlvbixcbiAgICAgICAgZGlzbWlzc0ludGVyYWN0aW9uLFxuICAgICAgICByb2xlSW50ZXJhY3Rpb24sXG4gICAgXSk7XG4gICAgY29uc3QgY29tcG9zZWRSZWYgPSB1c2VDYWxsYmFjaygobm9kZSkgPT4ge1xuICAgICAgICByZWZzLnNldFJlZmVyZW5jZShub2RlKTtcbiAgICAgICAgc2V0UmVmKHJlZiwgbm9kZSk7XG4gICAgfSwgW3JlZnMuc2V0UmVmZXJlbmNlLCByZWZdKTtcbiAgICBjb25zdCByZWZlcmVuY2VQcm9wcyA9IGdldFJlZmVyZW5jZVByb3BzKHsgcmVmOiBjb21wb3NlZFJlZiB9KTtcbiAgICBjb25zdCBwbGFjZW1lbnRNZXRhID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIGNvbnN0IFtzaWRlLCBhbGlnbl0gPSAocmVzb2x2ZWRQbGFjZW1lbnQgIT09IG51bGwgJiYgcmVzb2x2ZWRQbGFjZW1lbnQgIT09IHZvaWQgMCA/IHJlc29sdmVkUGxhY2VtZW50IDogJ2JvdHRvbS1zdGFydCcpLnNwbGl0KCctJyk7XG4gICAgICAgIHJldHVybiB7IHNpZGUsIGFsaWduIH07XG4gICAgfSwgW3Jlc29sdmVkUGxhY2VtZW50XSk7XG4gICAgY29uc3QgY2xvc2VQYW5lbCA9IHVzZUNhbGxiYWNrKCgpID0+IGhhbmRsZU9wZW5DaGFuZ2UoZmFsc2UpLCBbaGFuZGxlT3BlbkNoYW5nZV0pO1xuICAgIGNvbnN0IHsgaXNNb3VudGVkLCBzdHlsZXM6IHRyYW5zaXRpb25TdHlsZXMgfSA9IHVzZUZsb2F0aW5nQW5pbWF0aW9uKGNvbnRleHQsIHJlc29sdmVkUGxhY2VtZW50LCBhbmltYXRpb24pO1xuICAgIGNvbnN0IGFycm93RGF0YSA9IGNvbnRleHQubWlkZGxld2FyZURhdGEuYXJyb3c7XG4gICAgY29uc3QgYXJyb3dWYXJzID0gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCAoKGFycm93RGF0YSA9PT0gbnVsbCB8fCBhcnJvd0RhdGEgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGFycm93RGF0YS54KSAhPSBudWxsICYmIHsgJy0tYXJyb3cteCc6IGAke2Fycm93RGF0YS54fXB4YCB9KSksICgoYXJyb3dEYXRhID09PSBudWxsIHx8IGFycm93RGF0YSA9PT0gdm9pZCAwID8gdm9pZCAwIDogYXJyb3dEYXRhLnkpICE9IG51bGwgJiYgeyAnLS1hcnJvdy15JzogYCR7YXJyb3dEYXRhLnl9cHhgIH0pKTtcbiAgICBjb25zdCBwYW5lbCA9IChfanN4cyhcImRpdlwiLCBPYmplY3QuYXNzaWduKHsgcmVmOiByZWZzLnNldEZsb2F0aW5nLCBzdHlsZTogT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgZmxvYXRpbmdTdHlsZXMpLCBhcnJvd1ZhcnMpLCB0cmFuc2l0aW9uU3R5bGVzKSwgb3ZlcmxheVN0eWxlKSwgY2xhc3NOYW1lOiBqb2luQ2xzKGAke1BSRUZJWH0tcGFuZWxgLCBvdmVybGF5Q2xhc3NOYW1lKSwgXCJkYXRhLXBsYWNlbWVudFwiOiByZXNvbHZlZFBsYWNlbWVudCwgXCJkYXRhLXNpZGVcIjogcGxhY2VtZW50TWV0YS5zaWRlLCBcImRhdGEtYWxpZ25cIjogcGxhY2VtZW50TWV0YS5hbGlnbiB9LCBnZXRGbG9hdGluZ1Byb3BzKCksIHsgY2hpbGRyZW46IFtzaG93QXJyb3cgPyAoX2pzeChGbG9hdGluZ0Fycm93LCB7IHJlZjogYXJyb3dSZWYsIGNvbnRleHQ6IGNvbnRleHQsIGNsYXNzTmFtZTogYCR7UFJFRklYfS1hcnJvd2AgfSkpIDogKF9qc3goXCJzcGFuXCIsIHsgcmVmOiBhcnJvd1JlZiwgc3R5bGU6IHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwLFxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDAsXG4gICAgICAgICAgICAgICAgICAgIHBvaW50ZXJFdmVudHM6ICdub25lJyxcbiAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogJ2hpZGRlbicsXG4gICAgICAgICAgICAgICAgfSB9KSksIHR5cGVvZiBjb250ZW50ID09PSAnZnVuY3Rpb24nXG4gICAgICAgICAgICAgICAgPyBjb250ZW50KHsgY2xvc2U6IGNsb3NlUGFuZWwsIG9wZW46IGlubmVyT3BlbiB9KVxuICAgICAgICAgICAgICAgIDogY29udGVudF0gfSkpKTtcbiAgICByZXR1cm4gKF9qc3hzKF9GcmFnbWVudCwgeyBjaGlsZHJlbjogW2Nsb25lRWxlbWVudChjaGlsZHJlbiwgcmVmZXJlbmNlUHJvcHMpLCBpc01vdW50ZWQgJiYgKHBvcnRhbCA/IF9qc3goRmxvYXRpbmdQb3J0YWwsIHsgY2hpbGRyZW46IHBhbmVsIH0pIDogcGFuZWwpXSB9KSk7XG59O1xuZXhwb3J0IGRlZmF1bHQgVHJpZ2dlcjsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|