asheeui 0.6.3 → 0.6.6
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/dist/components/accordion/Accordion.js +10 -10
- package/dist/components/autocomplete/Autocomplete.d.ts +8 -0
- package/dist/components/autocomplete/Autocomplete.d.ts.map +1 -1
- package/dist/components/autocomplete/Autocomplete.js +120 -118
- package/dist/components/autocomplete/autocomplete-config.d.ts +29 -3
- package/dist/components/autocomplete/autocomplete-config.d.ts.map +1 -1
- package/dist/components/autocomplete/autocomplete-config.js +14 -6
- package/dist/components/date-picker/DatePicker.d.ts +20 -0
- package/dist/components/date-picker/DatePicker.d.ts.map +1 -1
- package/dist/components/date-picker/DatePicker.js +230 -229
- package/dist/components/date-picker/date-picker-config.d.ts +16 -0
- package/dist/components/date-picker/date-picker-config.d.ts.map +1 -1
- package/dist/components/date-picker/date-picker-config.js +14 -10
- package/dist/components/keyboard/OnScreenKeyboard.d.ts +16 -6
- package/dist/components/keyboard/OnScreenKeyboard.d.ts.map +1 -1
- package/dist/components/keyboard/OnScreenKeyboard.js +96 -90
- package/dist/components/keyboard/index.js +1 -0
- package/dist/components/keyboard/keyboard-config.d.ts +27 -1
- package/dist/components/keyboard/keyboard-config.d.ts.map +1 -1
- package/dist/components/keyboard/keyboard-config.js +12 -8
- package/dist/components/keyboard/keyboard-context.d.ts +4 -7
- package/dist/components/keyboard/keyboard-context.d.ts.map +1 -1
- package/dist/components/keyboard/keyboard-context.js +61 -58
- package/dist/components/keyboard/keyboard-styles.d.ts +13 -0
- package/dist/components/keyboard/keyboard-styles.d.ts.map +1 -0
- package/dist/components/keyboard/keyboard-styles.js +14 -0
- package/dist/components/multi-select/MultiSelect.d.ts +8 -0
- package/dist/components/multi-select/MultiSelect.d.ts.map +1 -1
- package/dist/components/multi-select/MultiSelect.js +186 -184
- package/dist/components/multi-select/multi-select-config.d.ts +18 -0
- package/dist/components/multi-select/multi-select-config.d.ts.map +1 -1
- package/dist/components/multi-select/multi-select-config.js +14 -10
- package/dist/components/resizable-screen/ResizableScreen.d.ts +23 -11
- package/dist/components/resizable-screen/ResizableScreen.d.ts.map +1 -1
- package/dist/components/resizable-screen/ResizableScreen.js +69 -60
- package/dist/components/select/Select.d.ts +8 -6
- package/dist/components/select/Select.d.ts.map +1 -1
- package/dist/components/select/Select.js +135 -135
- package/dist/components/select/select-config.d.ts +27 -1
- package/dist/components/select/select-config.d.ts.map +1 -1
- package/dist/components/select/select-config.js +14 -6
- package/dist/components/select-menu/SelectMenu.d.ts +23 -1
- package/dist/components/select-menu/SelectMenu.d.ts.map +1 -1
- package/dist/components/select-menu/SelectMenu.js +72 -67
- package/dist/components/select-menu/index.d.ts +1 -0
- package/dist/components/select-menu/index.d.ts.map +1 -1
- package/dist/components/select-menu/index.js +1 -0
- package/dist/components/select-menu/select-menu-config.d.ts +1 -1
- package/dist/components/select-menu/select-menu-config.js +3 -3
- package/dist/components/select-menu/use-select-floating.d.ts +95 -0
- package/dist/components/select-menu/use-select-floating.d.ts.map +1 -0
- package/dist/components/select-menu/use-select-floating.js +36 -0
- package/dist/components/toast/toast-config.d.ts +11 -0
- package/dist/components/toast/toast-config.d.ts.map +1 -1
- package/dist/components/toast/toast-config.js +4 -2
- package/dist/components/toast/toast-context.d.ts +21 -1
- package/dist/components/toast/toast-context.d.ts.map +1 -1
- package/dist/components/toast/toast-context.js +134 -114
- package/dist/components/tooltip/Tooltip.d.ts +19 -0
- package/dist/components/tooltip/Tooltip.d.ts.map +1 -1
- package/dist/components/tooltip/Tooltip.js +129 -121
- package/dist/components/tooltip/tooltip-config.d.ts +7 -3
- package/dist/components/tooltip/tooltip-config.d.ts.map +1 -1
- package/dist/components/tooltip/tooltip-config.js +5 -4
- package/dist/config/resolve-config.d.ts.map +1 -1
- package/dist/utils/merge-object.d.ts +7 -1
- package/dist/utils/merge-object.d.ts.map +1 -1
- package/dist/utils/types.d.ts +16 -4
- package/dist/utils/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select-config.d.ts","sourceRoot":"","sources":["../../../src/components/select/select-config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD;;;;;;GAMG;AACH,MAAM,WAAW,YAAa,SAAQ,WAAW;IAC/C;;;OAGG;IACH,IAAI,CAAC,EAAE,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"select-config.d.ts","sourceRoot":"","sources":["../../../src/components/select/select-config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD;;;;;;GAMG;AACH,MAAM,WAAW,YAAa,SAAQ,WAAW;IAC/C;;;OAGG;IACH,IAAI,CAAC,EAAE,gBAAgB,CAAC;IAExB;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;;OAIG;IACH,YAAY,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CACnC;AAED;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,YAIjC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;CAIzB,CAAC;AAEX,OAAO,QAAQ,qBAAqB,CAAC;IACnC,UAAU,2BAA2B;QACnC,MAAM,EAAE,YAAY,CAAC;KACtB;CACF"}
|
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { registerComponentDefaults as
|
|
3
|
-
import { FALLBACK_FIELD_CONFIG as
|
|
4
|
-
const
|
|
5
|
-
|
|
2
|
+
import { registerComponentDefaults as t } from "../../libs/registry.js";
|
|
3
|
+
import { FALLBACK_FIELD_CONFIG as e, defaultFieldConfig as l } from "../field/field-config.js";
|
|
4
|
+
const o = {
|
|
5
|
+
...l,
|
|
6
|
+
portal: !0,
|
|
7
|
+
portalTarget: null
|
|
8
|
+
}, n = {
|
|
9
|
+
...e,
|
|
10
|
+
portal: !0,
|
|
11
|
+
portalTarget: null
|
|
12
|
+
};
|
|
13
|
+
t("select", o);
|
|
6
14
|
export {
|
|
7
|
-
|
|
8
|
-
|
|
15
|
+
n as FALLBACK_SELECT_CONFIG,
|
|
16
|
+
o as defaultSelectConfig
|
|
9
17
|
};
|
|
@@ -102,6 +102,20 @@ export interface SelectMenuProps {
|
|
|
102
102
|
* @default false
|
|
103
103
|
*/
|
|
104
104
|
returnFocus?: boolean;
|
|
105
|
+
/**
|
|
106
|
+
* Whether to render the menu in a React portal.
|
|
107
|
+
* When true, the menu is rendered at the document body level.
|
|
108
|
+
* Defaults to true. This is typically controlled by the parent
|
|
109
|
+
* component (Select, MultiSelect, Autocomplete) via their own
|
|
110
|
+
* config or props.
|
|
111
|
+
*/
|
|
112
|
+
portal?: boolean;
|
|
113
|
+
/**
|
|
114
|
+
* Custom portal target element for the menu.
|
|
115
|
+
* When portal is enabled, the menu is rendered into this element.
|
|
116
|
+
* Defaults to document.body.
|
|
117
|
+
*/
|
|
118
|
+
portalTarget?: HTMLElement | null;
|
|
105
119
|
}
|
|
106
120
|
/**
|
|
107
121
|
* A reusable dropdown menu for selecting options from a list.
|
|
@@ -114,6 +128,12 @@ export interface SelectMenuProps {
|
|
|
114
128
|
* supports custom option rendering, search filtering, and configurable
|
|
115
129
|
* item styles through the cascade resolution system.
|
|
116
130
|
*
|
|
131
|
+
* By default, the menu uses React's createPortal to render at the document
|
|
132
|
+
* body level. This ensures the menu escapes CSS containment, overflow
|
|
133
|
+
* clipping, and stacking context issues. The portal can be disabled via
|
|
134
|
+
* the `portal` prop if the menu needs to stay within a specific parent
|
|
135
|
+
* container. This is typically controlled by the parent component.
|
|
136
|
+
*
|
|
117
137
|
* @param props - SelectMenu configuration options.
|
|
118
138
|
* @param props.isOpen - Whether the menu is open.
|
|
119
139
|
* @param props.context - Floating UI context.
|
|
@@ -130,6 +150,8 @@ export interface SelectMenuProps {
|
|
|
130
150
|
* @param props.menuConfig - Configuration for menu items.
|
|
131
151
|
* @param props.menuProps - Props override for menu configuration.
|
|
132
152
|
* @param props.renderOption - Custom render function for options.
|
|
153
|
+
* @param props.portal - Whether to render the menu in a portal. Defaults to true.
|
|
154
|
+
* @param props.portalTarget - Custom portal target element. Defaults to document.body.
|
|
133
155
|
*
|
|
134
156
|
* @example
|
|
135
157
|
* ```tsx
|
|
@@ -151,7 +173,7 @@ export interface SelectMenuProps {
|
|
|
151
173
|
* @see Button - The button component used for menu items.
|
|
152
174
|
*/
|
|
153
175
|
export declare const SelectMenu: {
|
|
154
|
-
({ isOpen, context, floatingStyles, getFloatingProps, setFloatingRef, options, selectedValues, onSelectOption, isSearch, searchPlaceholder, searchInputName, searchQuery, onSearchChange, belowList, dropdownClassName, menuConfig, menuProps, renderOption, initialFocus, returnFocus, }: SelectMenuProps): import("react").JSX.Element | null;
|
|
176
|
+
({ isOpen, context, floatingStyles, getFloatingProps, setFloatingRef, options, selectedValues, onSelectOption, isSearch, searchPlaceholder, searchInputName, searchQuery, onSearchChange, belowList, dropdownClassName, menuConfig, menuProps, renderOption, initialFocus, returnFocus, portal, portalTarget, }: SelectMenuProps): import("react").JSX.Element | null;
|
|
155
177
|
displayName: string;
|
|
156
178
|
};
|
|
157
179
|
//# sourceMappingURL=SelectMenu.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectMenu.d.ts","sourceRoot":"","sources":["../../../src/components/select-menu/SelectMenu.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,eAAe,EAAwB,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAoB,KAAK,SAAS,EAAqB,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"SelectMenu.d.ts","sourceRoot":"","sources":["../../../src/components/select-menu/SelectMenu.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,eAAe,EAAwB,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAoB,KAAK,SAAS,EAAqB,MAAM,OAAO,CAAC;AAU5E,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,sBAAsB,CAAC;AAE9B;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,OAAO,EAAE,eAAe,CAAC;IAEzB;;OAEG;IACH,cAAc,EAAE,KAAK,CAAC,aAAa,CAAC;IAEpC;;OAEG;IACH,gBAAgB,EAAE,CAChB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAChC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE7B;;OAEG;IACH,cAAc,EAAE,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;IAEnD;;OAEG;IACH,OAAO,EAAE,YAAY,EAAE,CAAC;IAExB;;;OAGG;IACH,cAAc,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAErC;;;OAGG;IACH,cAAc,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IAE/C;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEzC;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAE9B;;OAEG;IACH,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAE7B;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,KAAK,SAAS,CAAC;IAExE;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAErD;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;;OAIG;IACH,YAAY,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CACnC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,eAAO,MAAM,UAAU;qTAuBpB,eAAe;;CAiKjB,CAAC"}
|
|
@@ -1,62 +1,65 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsx as a, jsxs as
|
|
3
|
-
import { FloatingFocusManager as
|
|
4
|
-
import { useState as
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
2
|
+
import { jsx as a, jsxs as z } from "react/jsx-runtime";
|
|
3
|
+
import { FloatingFocusManager as H } from "@floating-ui/react";
|
|
4
|
+
import { useState as J, useMemo as W } from "react";
|
|
5
|
+
import { createPortal as X } from "react-dom";
|
|
6
|
+
import { CheckIcon as Y } from "../../icons/CheckIcon.js";
|
|
7
|
+
import { SearchIcon as Z } from "../../icons/SearchIcon.js";
|
|
8
|
+
import { useAsheeConfig as $ } from "../../libs/context.js";
|
|
9
|
+
import { resolveCascade as c, resolveRadiusKey as p } from "../../utils/resolve-token.js";
|
|
10
|
+
import { Button as C } from "../button/Button.js";
|
|
11
|
+
import { Input as g } from "../input/Input.js";
|
|
11
12
|
import { FALLBACK_SELECT_MENU_CONFIG as l } from "./select-menu-config.js";
|
|
12
|
-
import { cn as
|
|
13
|
-
const
|
|
14
|
-
isOpen:
|
|
15
|
-
context:
|
|
16
|
-
floatingStyles:
|
|
17
|
-
getFloatingProps:
|
|
18
|
-
setFloatingRef:
|
|
19
|
-
options:
|
|
20
|
-
selectedValues:
|
|
21
|
-
onSelectOption:
|
|
13
|
+
import { cn as P } from "../../utils/cn.js";
|
|
14
|
+
const tt = ({
|
|
15
|
+
isOpen: V,
|
|
16
|
+
context: m,
|
|
17
|
+
floatingStyles: u,
|
|
18
|
+
getFloatingProps: S,
|
|
19
|
+
setFloatingRef: k,
|
|
20
|
+
options: s = [],
|
|
21
|
+
selectedValues: A = [],
|
|
22
|
+
onSelectOption: F,
|
|
22
23
|
isSearch: v = !0,
|
|
23
|
-
searchPlaceholder:
|
|
24
|
-
searchInputName:
|
|
25
|
-
searchQuery:
|
|
24
|
+
searchPlaceholder: M = "Search...",
|
|
25
|
+
searchInputName: L = "select-menu-search",
|
|
26
|
+
searchQuery: Q,
|
|
26
27
|
onSearchChange: b,
|
|
27
28
|
belowList: h,
|
|
28
|
-
dropdownClassName:
|
|
29
|
+
dropdownClassName: j,
|
|
29
30
|
menuConfig: t,
|
|
30
31
|
menuProps: e,
|
|
31
32
|
renderOption: x,
|
|
32
|
-
initialFocus:
|
|
33
|
-
returnFocus:
|
|
33
|
+
initialFocus: E,
|
|
34
|
+
returnFocus: K,
|
|
35
|
+
portal: R = !0,
|
|
36
|
+
portalTarget: _
|
|
34
37
|
}) => {
|
|
35
|
-
const d =
|
|
36
|
-
b ? b(r) :
|
|
37
|
-
},
|
|
38
|
-
(r) => r.label.toLowerCase().includes(
|
|
39
|
-
), [
|
|
38
|
+
const d = $(), [B, O] = J(""), o = Q ?? B, T = (r) => {
|
|
39
|
+
b ? b(r) : O(r);
|
|
40
|
+
}, f = W(() => !v || !o.trim() ? s : s.filter(
|
|
41
|
+
(r) => r.label.toLowerCase().includes(o.toLowerCase())
|
|
42
|
+
), [s, v, o]), D = (r) => A.includes(r), G = c(
|
|
40
43
|
e == null ? void 0 : e.itemVariant,
|
|
41
44
|
t == null ? void 0 : t.itemVariant,
|
|
42
45
|
void 0,
|
|
43
46
|
l.itemVariant
|
|
44
|
-
),
|
|
47
|
+
), y = c(
|
|
45
48
|
e == null ? void 0 : e.itemColor,
|
|
46
49
|
t == null ? void 0 : t.itemColor,
|
|
47
50
|
d.defaultColor,
|
|
48
51
|
l.itemColor
|
|
49
|
-
),
|
|
52
|
+
), U = c(
|
|
50
53
|
e == null ? void 0 : e.activeItemVariant,
|
|
51
54
|
t == null ? void 0 : t.activeItemVariant,
|
|
52
55
|
d.defaultVariant,
|
|
53
56
|
l.activeItemVariant
|
|
54
|
-
),
|
|
57
|
+
), q = c(
|
|
55
58
|
e == null ? void 0 : e.activeItemColor,
|
|
56
59
|
t == null ? void 0 : t.activeItemColor,
|
|
57
60
|
d.defaultColor,
|
|
58
61
|
l.activeItemColor
|
|
59
|
-
),
|
|
62
|
+
), I = p(
|
|
60
63
|
e == null ? void 0 : e.radius,
|
|
61
64
|
t == null ? void 0 : t.radius,
|
|
62
65
|
d.defaultRadius,
|
|
@@ -66,62 +69,63 @@ const $ = ({
|
|
|
66
69
|
t == null ? void 0 : t.size,
|
|
67
70
|
void 0,
|
|
68
71
|
l.size
|
|
69
|
-
);
|
|
70
|
-
|
|
71
|
-
|
|
72
|
+
), n = _ ?? (typeof document < "u" ? document.body : null);
|
|
73
|
+
if (!V) return null;
|
|
74
|
+
const w = /* @__PURE__ */ a(
|
|
75
|
+
H,
|
|
72
76
|
{
|
|
73
|
-
context:
|
|
77
|
+
context: m,
|
|
74
78
|
modal: !1,
|
|
75
|
-
initialFocus:
|
|
76
|
-
returnFocus:
|
|
79
|
+
initialFocus: E,
|
|
80
|
+
returnFocus: K,
|
|
77
81
|
children: /* @__PURE__ */ a(
|
|
78
82
|
"div",
|
|
79
83
|
{
|
|
80
|
-
ref:
|
|
81
|
-
style: { ...
|
|
84
|
+
ref: k,
|
|
85
|
+
style: { ...u, zIndex: 999999 },
|
|
82
86
|
className: "w-full outline-none",
|
|
83
|
-
...
|
|
84
|
-
children: /* @__PURE__ */
|
|
87
|
+
...S(),
|
|
88
|
+
children: /* @__PURE__ */ z(
|
|
85
89
|
"div",
|
|
86
90
|
{
|
|
87
|
-
className:
|
|
88
|
-
"
|
|
91
|
+
className: P(
|
|
92
|
+
"max-h-60 shadow-xl bg-background border border-border p-1 flex flex-col gap-0.5 overflow-y-auto scrollbar-hide",
|
|
89
93
|
"animate-in fade-in-0 zoom-in-95 slide-in-from-top-1 duration-150 ease-out",
|
|
90
|
-
|
|
94
|
+
j
|
|
91
95
|
),
|
|
92
96
|
children: [
|
|
93
97
|
v && /* @__PURE__ */ a("div", { className: "w-full p-1 mb-1 sticky top-0 z-10 border-b border-border", children: /* @__PURE__ */ a(
|
|
94
|
-
|
|
98
|
+
g,
|
|
95
99
|
{
|
|
96
|
-
name:
|
|
100
|
+
name: L,
|
|
97
101
|
type: "text",
|
|
98
102
|
variant: "bordered",
|
|
99
|
-
radius:
|
|
100
|
-
color:
|
|
103
|
+
radius: I,
|
|
104
|
+
color: y,
|
|
101
105
|
size: N,
|
|
102
|
-
value:
|
|
103
|
-
onChange: (r) =>
|
|
104
|
-
startContent: /* @__PURE__ */ a(
|
|
105
|
-
placeholder:
|
|
106
|
+
value: o,
|
|
107
|
+
onChange: (r) => T(r.target.value),
|
|
108
|
+
startContent: /* @__PURE__ */ a(Z, { className: "w-3.5 h-3.5 text-foreground/70" }),
|
|
109
|
+
placeholder: M,
|
|
106
110
|
autoFocus: !0,
|
|
107
111
|
className: "w-full pl-8 h-8 text-xs bg-secondary/30 border-none focus-visible:ring-0"
|
|
108
112
|
}
|
|
109
113
|
) }),
|
|
110
|
-
|
|
111
|
-
const
|
|
112
|
-
return x ? x(r,
|
|
113
|
-
|
|
114
|
+
f.length === 0 ? /* @__PURE__ */ a("div", { className: "px-3 py-4 text-xs text-foreground/70 text-center", children: "No options found" }) : f.map((r) => {
|
|
115
|
+
const i = D(r.value);
|
|
116
|
+
return x ? x(r, i) : /* @__PURE__ */ z(
|
|
117
|
+
C,
|
|
114
118
|
{
|
|
115
|
-
variant:
|
|
116
|
-
color:
|
|
117
|
-
radius:
|
|
119
|
+
variant: i ? U : G,
|
|
120
|
+
color: i ? q : y,
|
|
121
|
+
radius: I,
|
|
118
122
|
size: N,
|
|
119
123
|
isDisabled: r.disabled,
|
|
120
|
-
onClick: () =>
|
|
124
|
+
onClick: () => F(r),
|
|
121
125
|
className: "w-full justify-between font-normal text-left transition-colors truncate",
|
|
122
126
|
children: [
|
|
123
127
|
/* @__PURE__ */ a("span", { children: r.label }),
|
|
124
|
-
|
|
128
|
+
i && /* @__PURE__ */ a(Y, { className: "w-3.5 h-3.5 shrink-0 ml-2" })
|
|
125
129
|
]
|
|
126
130
|
},
|
|
127
131
|
String(r.value)
|
|
@@ -134,9 +138,10 @@ const $ = ({
|
|
|
134
138
|
}
|
|
135
139
|
)
|
|
136
140
|
}
|
|
137
|
-
)
|
|
141
|
+
);
|
|
142
|
+
return R && n ? X(w, n) : w;
|
|
138
143
|
};
|
|
139
|
-
|
|
144
|
+
tt.displayName = "SelectMenu";
|
|
140
145
|
export {
|
|
141
|
-
|
|
146
|
+
tt as SelectMenu
|
|
142
147
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/select-menu/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/select-menu/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
const
|
|
2
|
+
const t = {
|
|
3
3
|
radius: "md",
|
|
4
4
|
size: "md",
|
|
5
5
|
itemVariant: "ghost",
|
|
6
6
|
itemColor: "primary",
|
|
7
|
-
activeItemVariant: "
|
|
7
|
+
activeItemVariant: "faded",
|
|
8
8
|
activeItemColor: "primary"
|
|
9
9
|
};
|
|
10
10
|
export {
|
|
11
|
-
|
|
11
|
+
t as FALLBACK_SELECT_MENU_CONFIG
|
|
12
12
|
};
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { Placement, UseFloatingReturn } from '@floating-ui/react';
|
|
2
|
+
/**
|
|
3
|
+
* Configuration options for the useSelectFloating hook.
|
|
4
|
+
* Controls the floating element's behavior, positioning, and size.
|
|
5
|
+
*/
|
|
6
|
+
export interface UseSelectFloatingProps {
|
|
7
|
+
/**
|
|
8
|
+
* Whether the floating element is open.
|
|
9
|
+
* Controls visibility and triggers positioning calculations.
|
|
10
|
+
*/
|
|
11
|
+
isOpen: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Callback fired when the open state changes.
|
|
14
|
+
* Receives the new open state.
|
|
15
|
+
*/
|
|
16
|
+
onOpenChange: (open: boolean) => void;
|
|
17
|
+
/**
|
|
18
|
+
* Whether the floating element is disabled.
|
|
19
|
+
* When true, the floating element does not open.
|
|
20
|
+
*
|
|
21
|
+
* @default false
|
|
22
|
+
*/
|
|
23
|
+
disabled?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Preferred placement of the floating element relative to the reference.
|
|
26
|
+
* Floating UI will flip this automatically if there is insufficient space.
|
|
27
|
+
*
|
|
28
|
+
* @default "bottom-start"
|
|
29
|
+
*/
|
|
30
|
+
placement?: Placement;
|
|
31
|
+
/**
|
|
32
|
+
* Distance in pixels between the reference and floating elements.
|
|
33
|
+
*
|
|
34
|
+
* @default 4
|
|
35
|
+
*/
|
|
36
|
+
offsetDistance?: number;
|
|
37
|
+
/**
|
|
38
|
+
* Padding in pixels applied to the shift middleware.
|
|
39
|
+
* Prevents the floating element from touching the viewport edges.
|
|
40
|
+
*
|
|
41
|
+
* @default 8
|
|
42
|
+
*/
|
|
43
|
+
padding?: number;
|
|
44
|
+
/**
|
|
45
|
+
* Whether the floating element should match the width of the reference element.
|
|
46
|
+
* When true, the floating element's width is set to the reference's width.
|
|
47
|
+
*
|
|
48
|
+
* @default true
|
|
49
|
+
*/
|
|
50
|
+
matchReferenceWidth?: boolean;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Shared Floating UI positioning hook for dropdowns and menus.
|
|
54
|
+
* Generic `T` allows passing `HTMLButtonElement`, `HTMLInputElement`, etc.
|
|
55
|
+
*
|
|
56
|
+
* This hook configures Floating UI with sensible defaults for dropdown
|
|
57
|
+
* components. It handles automatic position updates, viewport edge detection
|
|
58
|
+
* via flip and shift middleware, and optional width matching of the
|
|
59
|
+
* reference element.
|
|
60
|
+
*
|
|
61
|
+
* @param props - Configuration options for the floating element.
|
|
62
|
+
* @param props.isOpen - Whether the floating element is open.
|
|
63
|
+
* @param props.onOpenChange - Callback fired when open state changes.
|
|
64
|
+
* @param props.disabled - Whether the floating element is disabled. Defaults to false.
|
|
65
|
+
* @param props.placement - Preferred placement. Defaults to "bottom-start".
|
|
66
|
+
* @param props.offsetDistance - Distance from reference in pixels. Defaults to 4.
|
|
67
|
+
* @param props.padding - Viewport padding for shift middleware. Defaults to 8.
|
|
68
|
+
* @param props.matchReferenceWidth - Whether to match reference width. Defaults to true.
|
|
69
|
+
* @returns The Floating UI context including refs, styles, and middleware.
|
|
70
|
+
*
|
|
71
|
+
* @example
|
|
72
|
+
* ```tsx
|
|
73
|
+
* const { refs, floatingStyles, context } = useSelectFloating({
|
|
74
|
+
* isOpen,
|
|
75
|
+
* onOpenChange: setIsOpen,
|
|
76
|
+
* disabled: props.disabled,
|
|
77
|
+
* });
|
|
78
|
+
*
|
|
79
|
+
* return (
|
|
80
|
+
* <>
|
|
81
|
+
* <button ref={refs.setReference}>Toggle</button>
|
|
82
|
+
* {isOpen && (
|
|
83
|
+
* <div ref={refs.setFloating} style={floatingStyles}>
|
|
84
|
+
* Content
|
|
85
|
+
* </div>
|
|
86
|
+
* )}
|
|
87
|
+
* </>
|
|
88
|
+
* );
|
|
89
|
+
* ```
|
|
90
|
+
*
|
|
91
|
+
* @see useFloating - The underlying Floating UI hook.
|
|
92
|
+
* @see Select - The select component that uses this hook.
|
|
93
|
+
*/
|
|
94
|
+
export declare function useSelectFloating<T extends HTMLElement = HTMLElement>({ isOpen, onOpenChange, disabled, placement, offsetDistance, padding, matchReferenceWidth, }: UseSelectFloatingProps): UseFloatingReturn<T>;
|
|
95
|
+
//# sourceMappingURL=use-select-floating.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-select-floating.d.ts","sourceRoot":"","sources":["../../../src/components/select-menu/use-select-floating.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAKL,KAAK,SAAS,EAEd,KAAK,iBAAiB,EAEvB,MAAM,oBAAoB,CAAC;AAE5B;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;;OAGG;IACH,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAEtC;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,EAAE,EACrE,MAAM,EACN,YAAY,EACZ,QAAgB,EAChB,SAA0B,EAC1B,cAAkB,EAClB,OAAW,EACX,mBAA0B,GAC3B,EAAE,sBAAsB,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAsB/C"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useFloating as r, autoUpdate as f, offset as u, flip as g, shift as d, size as c } from "@floating-ui/react";
|
|
3
|
+
function m({
|
|
4
|
+
isOpen: i,
|
|
5
|
+
onOpenChange: n,
|
|
6
|
+
disabled: o = !1,
|
|
7
|
+
placement: a = "bottom-start",
|
|
8
|
+
offsetDistance: l = 4,
|
|
9
|
+
padding: s = 8,
|
|
10
|
+
matchReferenceWidth: p = !0
|
|
11
|
+
}) {
|
|
12
|
+
return r({
|
|
13
|
+
open: i,
|
|
14
|
+
onOpenChange: (e) => !o && n(e),
|
|
15
|
+
placement: a,
|
|
16
|
+
whileElementsMounted: f,
|
|
17
|
+
middleware: [
|
|
18
|
+
u(l),
|
|
19
|
+
g(),
|
|
20
|
+
d({ padding: s }),
|
|
21
|
+
c({
|
|
22
|
+
apply({ availableHeight: e, elements: t }) {
|
|
23
|
+
Object.assign(t.floating.style, {
|
|
24
|
+
maxHeight: `${e}px`,
|
|
25
|
+
...p && {
|
|
26
|
+
width: `${t.reference.getBoundingClientRect().width}px`
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
})
|
|
31
|
+
]
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
export {
|
|
35
|
+
m as useSelectFloating
|
|
36
|
+
};
|
|
@@ -113,6 +113,16 @@ export interface ToastConfig {
|
|
|
113
113
|
* @default 5
|
|
114
114
|
*/
|
|
115
115
|
maxToasts?: number;
|
|
116
|
+
/**
|
|
117
|
+
* Whether to render toasts in a React portal.
|
|
118
|
+
* When true, toasts are rendered at the document body level,
|
|
119
|
+
* escaping any parent DOM hierarchy. This prevents CSS containment
|
|
120
|
+
* and stacking context issues. Defaults to true because toasts
|
|
121
|
+
* should always appear above other content.
|
|
122
|
+
*
|
|
123
|
+
* @default true
|
|
124
|
+
*/
|
|
125
|
+
portal?: boolean;
|
|
116
126
|
}
|
|
117
127
|
/**
|
|
118
128
|
* Default config values registered for the Toast component.
|
|
@@ -131,6 +141,7 @@ export declare const FALLBACK_TOAST_CONFIG: {
|
|
|
131
141
|
readonly animated: true;
|
|
132
142
|
readonly defaultTimeout: 3500;
|
|
133
143
|
readonly maxToasts: 5;
|
|
144
|
+
readonly portal: true;
|
|
134
145
|
};
|
|
135
146
|
declare module "../../libs/registry" {
|
|
136
147
|
interface ComponentTypeConfigRegistry {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toast-config.d.ts","sourceRoot":"","sources":["../../../src/components/toast/toast-config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE1D;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;AAE7E;;;GAGG;AACH,MAAM,MAAM,cAAc,GACtB,WAAW,GACX,UAAU,GACV,cAAc,GACd,aAAa,GACb,YAAY,GACZ,eAAe,CAAC;AAEpB;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB;;OAEG;IACH,OAAO,EAAE,SAAS,CAAC;IAEnB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IAEjB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IAEjB;;;OAGG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IAEnB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;OAKG;IACH,IAAI,CAAC,EAAE,IAAI,CAAC;IAEZ;;;;;OAKG;IACH,SAAS,CAAC,EAAE,cAAc,CAAC;IAE3B;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"toast-config.d.ts","sourceRoot":"","sources":["../../../src/components/toast/toast-config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE1D;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;AAE7E;;;GAGG;AACH,MAAM,MAAM,cAAc,GACtB,WAAW,GACX,UAAU,GACV,cAAc,GACd,aAAa,GACb,YAAY,GACZ,eAAe,CAAC;AAEpB;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB;;OAEG;IACH,OAAO,EAAE,SAAS,CAAC;IAEnB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IAEjB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IAEjB;;;OAGG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IAEnB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;OAKG;IACH,IAAI,CAAC,EAAE,IAAI,CAAC;IAEZ;;;;;OAKG;IACH,SAAS,CAAC,EAAE,cAAc,CAAC;IAE3B;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,WAShC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB;mBAClB,IAAI;wBACQ,cAAc;sBACpB,OAAO;qBACX,MAAM;;;;;CAKd,CAAC;AAEX,OAAO,QAAQ,qBAAqB,CAAC;IACnC,UAAU,2BAA2B;QACnC,KAAK,EAAE,WAAW,CAAC;KACpB;CACF"}
|
|
@@ -7,7 +7,8 @@ const e = {
|
|
|
7
7
|
radius: "md",
|
|
8
8
|
animated: !0,
|
|
9
9
|
defaultTimeout: 3500,
|
|
10
|
-
maxToasts: 5
|
|
10
|
+
maxToasts: 5,
|
|
11
|
+
portal: !0
|
|
11
12
|
}, o = {
|
|
12
13
|
size: "md",
|
|
13
14
|
placement: "top-right",
|
|
@@ -15,7 +16,8 @@ const e = {
|
|
|
15
16
|
radius: "md",
|
|
16
17
|
animated: !0,
|
|
17
18
|
defaultTimeout: 3500,
|
|
18
|
-
maxToasts: 5
|
|
19
|
+
maxToasts: 5,
|
|
20
|
+
portal: !0
|
|
19
21
|
};
|
|
20
22
|
t("toast", e);
|
|
21
23
|
export {
|
|
@@ -53,6 +53,12 @@ export interface ToastContextType {
|
|
|
53
53
|
* Clear all active toasts.
|
|
54
54
|
*/
|
|
55
55
|
clearToasts: () => void;
|
|
56
|
+
/**
|
|
57
|
+
* The portal target element for toast rendering.
|
|
58
|
+
* When portal is enabled, toasts are rendered into this element.
|
|
59
|
+
* Defaults to document.body.
|
|
60
|
+
*/
|
|
61
|
+
portalTarget?: HTMLElement | null;
|
|
56
62
|
}
|
|
57
63
|
/**
|
|
58
64
|
* Props for the ToastProvider component.
|
|
@@ -67,6 +73,12 @@ export interface ToastProviderProps extends ToastConfig {
|
|
|
67
73
|
* Extra classes for the toast container.
|
|
68
74
|
*/
|
|
69
75
|
className?: string;
|
|
76
|
+
/**
|
|
77
|
+
* Custom portal target element.
|
|
78
|
+
* When portal is enabled, toasts are rendered into this element.
|
|
79
|
+
* Defaults to document.body.
|
|
80
|
+
*/
|
|
81
|
+
portalTarget?: HTMLElement | null;
|
|
70
82
|
}
|
|
71
83
|
/**
|
|
72
84
|
* Provider component for the toast notification system.
|
|
@@ -76,6 +88,12 @@ export interface ToastProviderProps extends ToastConfig {
|
|
|
76
88
|
* rendering, and dismissal logic, and automatically positions toasts
|
|
77
89
|
* based on the configured placement.
|
|
78
90
|
*
|
|
91
|
+
* The provider uses React's createPortal to render toasts at the document
|
|
92
|
+
* body level by default. This ensures toasts escape CSS containment,
|
|
93
|
+
* stacking context, and overflow issues. Portaling can be disabled via
|
|
94
|
+
* the `portal` config option if the toasts need to stay within a specific
|
|
95
|
+
* parent container.
|
|
96
|
+
*
|
|
79
97
|
* @param props - ToastProvider configuration options.
|
|
80
98
|
* @param props.children - Child components.
|
|
81
99
|
* @param props.size - Size scale of toasts. Defaults to "md".
|
|
@@ -85,6 +103,8 @@ export interface ToastProviderProps extends ToastConfig {
|
|
|
85
103
|
* @param props.defaultTimeout - Default timeout in ms. Defaults to 3500.
|
|
86
104
|
* @param props.maxToasts - Maximum number of toasts. Defaults to 5.
|
|
87
105
|
* @param props.animated - Whether toasts have animations. Defaults to true.
|
|
106
|
+
* @param props.portal - Whether to render toasts in a portal. Defaults to true.
|
|
107
|
+
* @param props.portalTarget - Custom portal target element. Defaults to document.body.
|
|
88
108
|
* @param props.className - Extra classes for the toast container.
|
|
89
109
|
*
|
|
90
110
|
* @example
|
|
@@ -113,7 +133,7 @@ export interface ToastProviderProps extends ToastConfig {
|
|
|
113
133
|
* @see useToast - Hook for showing toast notifications.
|
|
114
134
|
* @see ToastConfig - The configuration type for the toast system.
|
|
115
135
|
*/
|
|
116
|
-
export declare function ToastProvider({ children, size, placement, variant, radius, defaultTimeout, maxToasts, animated, className, }: ToastProviderProps): import("react").JSX.Element;
|
|
136
|
+
export declare function ToastProvider({ children, size, placement, variant, radius, defaultTimeout, maxToasts, animated, portal: portalProp, portalTarget: portalTargetProp, className, }: ToastProviderProps): import("react").JSX.Element;
|
|
117
137
|
/**
|
|
118
138
|
* Hook for accessing the toast system.
|
|
119
139
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toast-context.d.ts","sourceRoot":"","sources":["../../../src/components/toast/toast-context.tsx"],"names":[],"mappings":"AAUA,OAAO,EAEL,KAAK,SAAS,EAKf,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"toast-context.d.ts","sourceRoot":"","sources":["../../../src/components/toast/toast-context.tsx"],"names":[],"mappings":"AAUA,OAAO,EAEL,KAAK,SAAS,EAKf,MAAM,OAAO,CAAC;AAOf,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,aAAa,EAEnB,MAAM,gBAAgB,CAAC;AAIxB;;;GAGG;AACH,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC;IACjE;;;OAGG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,MAAM,EAAE,aAAa,EAAE,CAAC;IAExB;;;OAGG;IACH,KAAK,EAAE,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,KAAK,MAAM,CAAC;IAEtD;;;OAGG;IACH,OAAO,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,KAAK,MAAM,CAAC;IAE7E;;;OAGG;IACH,KAAK,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,KAAK,MAAM,CAAC;IAE3E;;;OAGG;IACH,IAAI,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,KAAK,MAAM,CAAC;IAE1E;;;OAGG;IACH,OAAO,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,KAAK,MAAM,CAAC;IAE7E;;OAEG;IACH,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAElC;;OAEG;IACH,WAAW,EAAE,MAAM,IAAI,CAAC;IAExB;;;;OAIG;IACH,YAAY,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CACnC;AAMD;;;GAGG;AACH,MAAM,WAAW,kBAAmB,SAAQ,WAAW;IACrD;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IAEpB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,YAAY,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CACnC;AAID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,IAAI,EACJ,SAAS,EACT,OAAO,EACP,MAAM,EACN,cAAc,EACd,SAAS,EACT,QAAQ,EACR,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,gBAAgB,EAC9B,SAAS,GACV,EAAE,kBAAkB,+BAyMpB;AAID;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,QAAQ,qBAgBvB"}
|