@wow-two-beta/ui 0.0.28 → 0.0.30
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/actions/backToTopButton/BackToTopButton.d.ts +1 -5
- package/dist/actions/backToTopButton/BackToTopButton.d.ts.map +1 -1
- package/dist/actions/button/Button.d.ts +31 -19
- package/dist/actions/button/Button.d.ts.map +1 -1
- package/dist/actions/button/Button.variants.d.ts +8 -17
- package/dist/actions/button/Button.variants.d.ts.map +1 -1
- package/dist/actions/buttonGroup/ButtonGroup.d.ts +1 -5
- package/dist/actions/buttonGroup/ButtonGroup.d.ts.map +1 -1
- package/dist/actions/copyButton/CopyButton.d.ts +1 -4
- package/dist/actions/copyButton/CopyButton.d.ts.map +1 -1
- package/dist/actions/disclosureButton/DisclosureButton.d.ts +1 -5
- package/dist/actions/disclosureButton/DisclosureButton.d.ts.map +1 -1
- package/dist/actions/fab/FAB.d.ts +1 -4
- package/dist/actions/fab/FAB.d.ts.map +1 -1
- package/dist/actions/iconButton/IconButton.d.ts +1 -4
- package/dist/actions/iconButton/IconButton.d.ts.map +1 -1
- package/dist/actions/index.js +6 -7
- package/dist/actions/link/Link.d.ts +1 -4
- package/dist/actions/link/Link.d.ts.map +1 -1
- package/dist/actions/overlayButton/OverlayButton.d.ts +1 -10
- package/dist/actions/overlayButton/OverlayButton.d.ts.map +1 -1
- package/dist/actions/segmentedControl/SegmentedControl.d.ts +1 -5
- package/dist/actions/segmentedControl/SegmentedControl.d.ts.map +1 -1
- package/dist/actions/toggleButton/ToggleButton.d.ts +1 -4
- package/dist/actions/toggleButton/ToggleButton.d.ts.map +1 -1
- package/dist/actions/toggleButtonGroup/ToggleButtonGroup.d.ts +1 -5
- package/dist/actions/toggleButtonGroup/ToggleButtonGroup.d.ts.map +1 -1
- package/dist/{chunk-NTW7SDAP.js → chunk-526AMQXZ.js} +4 -4
- package/dist/{chunk-NTW7SDAP.js.map → chunk-526AMQXZ.js.map} +1 -1
- package/dist/{chunk-NC2CBGX2.js → chunk-BMABNEZX.js} +3 -4
- package/dist/chunk-BMABNEZX.js.map +1 -0
- package/dist/{chunk-ASIHQQDQ.js → chunk-CBMPWDRA.js} +4 -4
- package/dist/{chunk-ASIHQQDQ.js.map → chunk-CBMPWDRA.js.map} +1 -1
- package/dist/{chunk-6RFXTWLM.js → chunk-CKFM2H7O.js} +5 -5
- package/dist/{chunk-6RFXTWLM.js.map → chunk-CKFM2H7O.js.map} +1 -1
- package/dist/{chunk-A5JQGP5F.js → chunk-D3CGJMKB.js} +7 -8
- package/dist/chunk-D3CGJMKB.js.map +1 -0
- package/dist/{chunk-FFQENBTW.js → chunk-DWWF7QPK.js} +3 -3
- package/dist/{chunk-FFQENBTW.js.map → chunk-DWWF7QPK.js.map} +1 -1
- package/dist/{chunk-3PUV6PGJ.js → chunk-FFOGR3WH.js} +9 -9
- package/dist/{chunk-3PUV6PGJ.js.map → chunk-FFOGR3WH.js.map} +1 -1
- package/dist/{chunk-NKADHZMX.js → chunk-G7K64TW2.js} +4 -4
- package/dist/{chunk-NKADHZMX.js.map → chunk-G7K64TW2.js.map} +1 -1
- package/dist/{chunk-TDX22OWF.js → chunk-GWIFNLGS.js} +15 -5
- package/dist/chunk-GWIFNLGS.js.map +1 -0
- package/dist/{chunk-MCUDIBTG.js → chunk-HECIUFDS.js} +9 -10
- package/dist/chunk-HECIUFDS.js.map +1 -0
- package/dist/{chunk-DN7WBRIV.js → chunk-LDRFQG44.js} +11 -3
- package/dist/chunk-LDRFQG44.js.map +1 -0
- package/dist/{chunk-NLUTV5BP.js → chunk-NJDUGXFL.js} +10 -11
- package/dist/chunk-NJDUGXFL.js.map +1 -0
- package/dist/{chunk-76ZIAFWD.js → chunk-NUMFGKPY.js} +21 -3
- package/dist/chunk-NUMFGKPY.js.map +1 -0
- package/dist/{chunk-IERJ5D7R.js → chunk-NXVK3VSQ.js} +8 -8
- package/dist/{chunk-IERJ5D7R.js.map → chunk-NXVK3VSQ.js.map} +1 -1
- package/dist/{chunk-TSTJCUXX.js → chunk-VDE5B3IY.js} +8 -9
- package/dist/chunk-VDE5B3IY.js.map +1 -0
- package/dist/{chunk-4ARRGMGD.js → chunk-VZNIJCMD.js} +127 -93
- package/dist/chunk-VZNIJCMD.js.map +1 -0
- package/dist/{chunk-U5SWHGKO.js → chunk-XSTHHOAN.js} +8 -9
- package/dist/chunk-XSTHHOAN.js.map +1 -0
- package/dist/{chunk-2AUDMNHI.js → chunk-XTAFNWLG.js} +7 -8
- package/dist/chunk-XTAFNWLG.js.map +1 -0
- package/dist/chunk-ZJMDHG7B.js +125 -0
- package/dist/chunk-ZJMDHG7B.js.map +1 -0
- package/dist/display/index.js +7 -8
- package/dist/feedback/index.js +8 -9
- package/dist/forms/index.js +13 -14
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +1 -1
- package/dist/hooks/useDebounceHandler.d.ts +13 -0
- package/dist/hooks/useDebounceHandler.d.ts.map +1 -0
- package/dist/icons/Spinner.d.ts +6 -0
- package/dist/icons/Spinner.d.ts.map +1 -0
- package/dist/icons/index.d.ts +1 -0
- package/dist/icons/index.d.ts.map +1 -1
- package/dist/icons/index.js +3 -2
- package/dist/index.js +19 -20
- package/dist/layout/index.js +9 -10
- package/dist/nav/index.js +10 -11
- package/dist/overlays/index.js +9 -10
- package/dist/primitives/index.js +2 -3
- package/dist/utils/CssExtensions.d.ts +30 -0
- package/dist/utils/CssExtensions.d.ts.map +1 -0
- package/dist/utils/OptionalExtensions.d.ts +13 -0
- package/dist/utils/OptionalExtensions.d.ts.map +1 -0
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +2 -3
- package/package.json +1 -1
- package/dist/chunk-2AUDMNHI.js.map +0 -1
- package/dist/chunk-4ARRGMGD.js.map +0 -1
- package/dist/chunk-76ZIAFWD.js.map +0 -1
- package/dist/chunk-A5JQGP5F.js.map +0 -1
- package/dist/chunk-BMBIZLO4.js +0 -34
- package/dist/chunk-BMBIZLO4.js.map +0 -1
- package/dist/chunk-DN7WBRIV.js.map +0 -1
- package/dist/chunk-KZ4VFY2T.js +0 -11
- package/dist/chunk-KZ4VFY2T.js.map +0 -1
- package/dist/chunk-MCUDIBTG.js.map +0 -1
- package/dist/chunk-NC2CBGX2.js.map +0 -1
- package/dist/chunk-NLUTV5BP.js.map +0 -1
- package/dist/chunk-TDX22OWF.js.map +0 -1
- package/dist/chunk-TSTJCUXX.js.map +0 -1
- package/dist/chunk-U5SWHGKO.js.map +0 -1
|
@@ -10,10 +10,6 @@ export interface BackToTopButtonProps extends ButtonHTMLAttributes<HTMLButtonEle
|
|
|
10
10
|
label?: ReactNode;
|
|
11
11
|
'aria-label'?: string;
|
|
12
12
|
}
|
|
13
|
-
/**
|
|
14
|
-
* Floating button that appears after the user scrolls past `threshold`.
|
|
15
|
-
* Click scrolls the target back to top with smooth-scroll (skipped under
|
|
16
|
-
* `prefers-reduced-motion`).
|
|
17
|
-
*/
|
|
13
|
+
/** Floating button revealed past `threshold` scroll — smooth-scrolls to top. */
|
|
18
14
|
export declare const BackToTopButton: import("react").ForwardRefExoticComponent<BackToTopButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
19
15
|
//# sourceMappingURL=BackToTopButton.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BackToTopButton.d.ts","sourceRoot":"","sources":["../../../src/actions/backToTopButton/BackToTopButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,oBAAoB,EACzB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAKf,MAAM,MAAM,iBAAiB,GACzB,cAAc,GACd,aAAa,GACb,eAAe,GACf,WAAW,GACX,UAAU,CAAC;AAEf,MAAM,WAAW,oBAAqB,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC;IACnF,mEAAmE;IACnE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,eAAe,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,yCAAyC;IACzC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAUD
|
|
1
|
+
{"version":3,"file":"BackToTopButton.d.ts","sourceRoot":"","sources":["../../../src/actions/backToTopButton/BackToTopButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,oBAAoB,EACzB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAKf,MAAM,MAAM,iBAAiB,GACzB,cAAc,GACd,aAAa,GACb,eAAe,GACf,WAAW,GACX,UAAU,CAAC;AAEf,MAAM,WAAW,oBAAqB,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC;IACnF,mEAAmE;IACnE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,eAAe,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,yCAAyC;IACzC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAUD,gFAAgF;AAChF,eAAO,MAAM,eAAe,oHAgE3B,CAAC"}
|
|
@@ -1,18 +1,7 @@
|
|
|
1
|
-
import { type ButtonHTMLAttributes, type ReactNode } from 'react';
|
|
1
|
+
import { type ButtonHTMLAttributes, type KeyboardEvent, type PointerEvent, type ReactNode } from 'react';
|
|
2
|
+
import { type PaddingProp, type RadiusProp, type SizeValue } from '../../utils';
|
|
2
3
|
import { type ButtonVariants } from './Button.variants';
|
|
3
|
-
|
|
4
|
-
* Button — see `Button.standard.md` (behavioral contract) + `Button.spec.md` (API).
|
|
5
|
-
*
|
|
6
|
-
* Two-axis style (`variant` × `tone`), 5 sizes, density-scaled spacing,
|
|
7
|
-
* polymorphism via `asChild` (Slot), `data-state` for observable state,
|
|
8
|
-
* inlined spinner for `loading`, dimension-preserving `skeleton`,
|
|
9
|
-
* forced-colors + reduced-motion handled in variants.
|
|
10
|
-
*
|
|
11
|
-
* Press detection / long-press / debounce are spec'd as planned (post-v1).
|
|
12
|
-
*/
|
|
13
|
-
export type PaddingToken = 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
14
|
-
export type RadiusToken = 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'full';
|
|
15
|
-
export type SizeValue = string | number;
|
|
4
|
+
export type PressEvent = PointerEvent<HTMLButtonElement> | KeyboardEvent<HTMLButtonElement>;
|
|
16
5
|
export interface ButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'type'>, ButtonVariants {
|
|
17
6
|
/** Slot before children (logical start). */
|
|
18
7
|
leading?: ReactNode;
|
|
@@ -30,14 +19,37 @@ export interface ButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement
|
|
|
30
19
|
/** Render as the single child element via Slot. */
|
|
31
20
|
asChild?: boolean;
|
|
32
21
|
/** Independent padding override (preset or `{x, y}` object). */
|
|
33
|
-
padding?:
|
|
34
|
-
x?: SizeValue;
|
|
35
|
-
y?: SizeValue;
|
|
36
|
-
};
|
|
22
|
+
padding?: PaddingProp;
|
|
37
23
|
/** Independent radius override (preset or raw value). */
|
|
38
|
-
radius?:
|
|
24
|
+
radius?: RadiusProp;
|
|
25
|
+
/** Explicit width override. Number = px; string = any CSS unit. */
|
|
26
|
+
width?: SizeValue;
|
|
27
|
+
/** Explicit height override. Number = px; string = any CSS unit. */
|
|
28
|
+
height?: SizeValue;
|
|
29
|
+
/**
|
|
30
|
+
* Reserve a minimum width so the button doesn't reflow when its label
|
|
31
|
+
* changes (e.g. "Save" → "Saving…" → "Saved"). Number = px; string = any
|
|
32
|
+
* CSS unit. Content stays centered via the base `justify-center`.
|
|
33
|
+
*/
|
|
34
|
+
minWidth?: SizeValue;
|
|
35
|
+
/** Reserve a minimum height — symmetric with `minWidth`. */
|
|
36
|
+
minHeight?: SizeValue;
|
|
39
37
|
/** Default `'button'` — NOT browser-default `'submit'`. */
|
|
40
38
|
type?: 'button' | 'submit' | 'reset';
|
|
39
|
+
/** Fires on pointer-down OR Space/Enter keydown (first event in a gesture). */
|
|
40
|
+
onPressStart?: (event: PressEvent) => void;
|
|
41
|
+
/** Fires on pointer-up/cancel OR Space/Enter keyup. */
|
|
42
|
+
onPressEnd?: (event: PressEvent) => void;
|
|
43
|
+
/** Fires when the pointer is held for `longPressDelay` ms. Suppresses the next click. */
|
|
44
|
+
onLongPress?: (event: PointerEvent<HTMLButtonElement>) => void;
|
|
45
|
+
/** Long-press duration in ms. Default 500. */
|
|
46
|
+
longPressDelay?: number;
|
|
47
|
+
/**
|
|
48
|
+
* Throttle clicks within `debounceMs`: first click fires, subsequent within
|
|
49
|
+
* the window are swallowed (functionally a throttle — kept the `debounce*`
|
|
50
|
+
* naming for consumer familiarity). Skipped when `loading` or `skeleton`.
|
|
51
|
+
*/
|
|
52
|
+
debounceMs?: number;
|
|
41
53
|
}
|
|
42
54
|
export declare const Button: import("react").ForwardRefExoticComponent<ButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
43
55
|
//# sourceMappingURL=Button.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/actions/button/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/actions/button/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,oBAAoB,EAEzB,KAAK,aAAa,EAElB,KAAK,YAAY,EACjB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAKL,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,SAAS,EACf,MAAM,aAAa,CAAC;AAIrB,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAQxE,MAAM,MAAM,UAAU,GAClB,YAAY,CAAC,iBAAiB,CAAC,GAC/B,aAAa,CAAC,iBAAiB,CAAC,CAAC;AAErC,MAAM,WAAW,WACf,SAAQ,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC,EAC3D,cAAc;IAChB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,kFAAkF;IAClF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,6EAA6E;IAC7E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mDAAmD;IACnD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gEAAgE;IAChE,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,yDAAyD;IACzD,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,mEAAmE;IACnE,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,oEAAoE;IACpE,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,2DAA2D;IAC3D,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;IACrC,+EAA+E;IAC/E,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IAC3C,uDAAuD;IACvD,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACzC,yFAAyF;IACzF,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IAC/D,8CAA8C;IAC9C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,MAAM,2GAiNlB,CAAC"}
|
|
@@ -1,25 +1,10 @@
|
|
|
1
1
|
import { type VariantProps } from '../../utils';
|
|
2
|
-
/**
|
|
3
|
-
* Button visual surface — see `Button.standard.md` (rules) + `Button.spec.md` (values).
|
|
4
|
-
*
|
|
5
|
-
* Two-axis style system: `variant` × `tone`. Glass is tone-neutral by design
|
|
6
|
-
* (text/bg derived from `--color-inverse*` regardless of tone).
|
|
7
|
-
*
|
|
8
|
-
* Density: height + horizontal padding scale with `--ui-density-scale` CSS var
|
|
9
|
-
* (default `1`) via `calc()`.
|
|
10
|
-
*
|
|
11
|
-
* Forced-colors: every variant carries `border border-transparent` so HCM
|
|
12
|
-
* paints a visible boundary.
|
|
13
|
-
*
|
|
14
|
-
* Reduced motion: `motion-reduce:transition-none` on base.
|
|
15
|
-
*
|
|
16
|
-
* Skeleton state: `[data-state="skeleton"]` rule on base hides children +
|
|
17
|
-
* applies shimmer. Owned by Button.tsx (sets `data-state`).
|
|
18
|
-
*/
|
|
2
|
+
/** Button visual surface — see Button.standard.md + Button.spec.md. */
|
|
19
3
|
export declare const buttonVariants: import("tailwind-variants").TVReturnType<{
|
|
20
4
|
variant: {
|
|
21
5
|
solid: string;
|
|
22
6
|
soft: string;
|
|
7
|
+
surface: string;
|
|
23
8
|
outline: string;
|
|
24
9
|
ghost: string;
|
|
25
10
|
link: string;
|
|
@@ -56,6 +41,7 @@ export declare const buttonVariants: import("tailwind-variants").TVReturnType<{
|
|
|
56
41
|
variant: {
|
|
57
42
|
solid: string;
|
|
58
43
|
soft: string;
|
|
44
|
+
surface: string;
|
|
59
45
|
outline: string;
|
|
60
46
|
ghost: string;
|
|
61
47
|
link: string;
|
|
@@ -92,6 +78,7 @@ export declare const buttonVariants: import("tailwind-variants").TVReturnType<{
|
|
|
92
78
|
variant: {
|
|
93
79
|
solid: string;
|
|
94
80
|
soft: string;
|
|
81
|
+
surface: string;
|
|
95
82
|
outline: string;
|
|
96
83
|
ghost: string;
|
|
97
84
|
link: string;
|
|
@@ -128,6 +115,7 @@ export declare const buttonVariants: import("tailwind-variants").TVReturnType<{
|
|
|
128
115
|
variant: {
|
|
129
116
|
solid: string;
|
|
130
117
|
soft: string;
|
|
118
|
+
surface: string;
|
|
131
119
|
outline: string;
|
|
132
120
|
ghost: string;
|
|
133
121
|
link: string;
|
|
@@ -164,6 +152,7 @@ export declare const buttonVariants: import("tailwind-variants").TVReturnType<{
|
|
|
164
152
|
variant: {
|
|
165
153
|
solid: string;
|
|
166
154
|
soft: string;
|
|
155
|
+
surface: string;
|
|
167
156
|
outline: string;
|
|
168
157
|
ghost: string;
|
|
169
158
|
link: string;
|
|
@@ -200,6 +189,7 @@ export declare const buttonVariants: import("tailwind-variants").TVReturnType<{
|
|
|
200
189
|
variant: {
|
|
201
190
|
solid: string;
|
|
202
191
|
soft: string;
|
|
192
|
+
surface: string;
|
|
203
193
|
outline: string;
|
|
204
194
|
ghost: string;
|
|
205
195
|
link: string;
|
|
@@ -236,6 +226,7 @@ export declare const buttonVariants: import("tailwind-variants").TVReturnType<{
|
|
|
236
226
|
variant: {
|
|
237
227
|
solid: string;
|
|
238
228
|
soft: string;
|
|
229
|
+
surface: string;
|
|
239
230
|
outline: string;
|
|
240
231
|
ghost: string;
|
|
241
232
|
link: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.variants.d.ts","sourceRoot":"","sources":["../../../src/actions/button/Button.variants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAEpD
|
|
1
|
+
{"version":3,"file":"Button.variants.d.ts","sourceRoot":"","sources":["../../../src/actions/button/Button.variants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAEpD,uEAAuE;AACvE,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAiHzB,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,YAAY,CAAC,OAAO,cAAc,CAAC,CAAC"}
|
|
@@ -5,10 +5,6 @@ export interface ButtonGroupProps extends ComponentPropsWithoutRef<'div'> {
|
|
|
5
5
|
/** Group children with collapsed inner radii (connected look). Default `true`. */
|
|
6
6
|
attached?: boolean;
|
|
7
7
|
}
|
|
8
|
-
/**
|
|
9
|
-
* Visually groups Button / IconButton children. When `attached` (default),
|
|
10
|
-
* collapses inner border-radii so children read as one connected control.
|
|
11
|
-
* Pass `attached={false}` for a simple gap-spaced row.
|
|
12
|
-
*/
|
|
8
|
+
/** Visually groups action-children — collapses inner radii when `attached`. */
|
|
13
9
|
export declare const ButtonGroup: import("react").ForwardRefExoticComponent<ButtonGroupProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
14
10
|
//# sourceMappingURL=ButtonGroup.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonGroup.d.ts","sourceRoot":"","sources":["../../../src/actions/buttonGroup/ButtonGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,wBAAwB,EAAE,MAAM,OAAO,CAAC;AAGlE,MAAM,WAAW,gBAAiB,SAAQ,wBAAwB,CAAC,KAAK,CAAC;IACvE,gDAAgD;IAChD,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC,kFAAkF;IAClF,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED
|
|
1
|
+
{"version":3,"file":"ButtonGroup.d.ts","sourceRoot":"","sources":["../../../src/actions/buttonGroup/ButtonGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,wBAAwB,EAAE,MAAM,OAAO,CAAC;AAGlE,MAAM,WAAW,gBAAiB,SAAQ,wBAAwB,CAAC,KAAK,CAAC;IACvE,gDAAgD;IAChD,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC,kFAAkF;IAClF,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,+EAA+E;AAC/E,eAAO,MAAM,WAAW,6GAmBvB,CAAC"}
|
|
@@ -12,9 +12,6 @@ export interface CopyButtonProps extends Omit<ButtonProps, 'onClick' | 'children
|
|
|
12
12
|
/** Accessible label when no visible text (icon-only). Default `"Copy"`. */
|
|
13
13
|
'aria-label'?: string;
|
|
14
14
|
}
|
|
15
|
-
/**
|
|
16
|
-
* Button that copies `text` to the clipboard. Swaps to a checkmark icon for
|
|
17
|
-
* `resetAfter` ms after a successful copy.
|
|
18
|
-
*/
|
|
15
|
+
/** Button that copies `text` to the clipboard with a checkmark swap on success. */
|
|
19
16
|
export declare const CopyButton: import("react").ForwardRefExoticComponent<CopyButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
20
17
|
//# sourceMappingURL=CopyButton.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CopyButton.d.ts","sourceRoot":"","sources":["../../../src/actions/copyButton/CopyButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAInD,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE5D,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,WAAW,EAAE,SAAS,GAAG,UAAU,CAAC;IAChF,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,KAAK,SAAS,CAAC,CAAC;IAClE,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED
|
|
1
|
+
{"version":3,"file":"CopyButton.d.ts","sourceRoot":"","sources":["../../../src/actions/copyButton/CopyButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAInD,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE5D,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,WAAW,EAAE,SAAS,GAAG,UAAU,CAAC;IAChF,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,KAAK,SAAS,CAAC,CAAC;IAClE,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,mFAAmF;AACnF,eAAO,MAAM,UAAU,+GAwBtB,CAAC"}
|
|
@@ -11,10 +11,6 @@ export interface DisclosureButtonProps extends Omit<ButtonHTMLAttributes<HTMLBut
|
|
|
11
11
|
/** Side the chevron sits on. Default `right`. */
|
|
12
12
|
chevronSide?: 'left' | 'right';
|
|
13
13
|
}
|
|
14
|
-
/**
|
|
15
|
-
* Button with a chevron that rotates on open. Used as the trigger for
|
|
16
|
-
* collapsible sections, accordion items, sidebar groups. Sets `aria-expanded`
|
|
17
|
-
* and `data-state="open" | "closed"` for downstream content sync.
|
|
18
|
-
*/
|
|
14
|
+
/** Button with a rotating chevron — sets `aria-expanded` + `data-state="open|closed"`. */
|
|
19
15
|
export declare const DisclosureButton: import("react").ForwardRefExoticComponent<DisclosureButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
20
16
|
//# sourceMappingURL=DisclosureButton.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DisclosureButton.d.ts","sourceRoot":"","sources":["../../../src/actions/disclosureButton/DisclosureButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,oBAAoB,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAM9E,MAAM,WAAW,qBACf,SAAQ,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;IAC9E,oCAAoC;IACpC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,6BAA6B;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,kCAAkC;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,yCAAyC;IACzC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAChC;AAED
|
|
1
|
+
{"version":3,"file":"DisclosureButton.d.ts","sourceRoot":"","sources":["../../../src/actions/disclosureButton/DisclosureButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,oBAAoB,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAM9E,MAAM,WAAW,qBACf,SAAQ,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;IAC9E,oCAAoC;IACpC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,6BAA6B;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,kCAAkC;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,yCAAyC;IACzC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAChC;AAED,0FAA0F;AAC1F,eAAO,MAAM,gBAAgB,qHAkD5B,CAAC"}
|
|
@@ -5,9 +5,6 @@ export interface FABProps extends ButtonHTMLAttributes<HTMLButtonElement>, FABVa
|
|
|
5
5
|
'aria-label': string;
|
|
6
6
|
children: ReactNode;
|
|
7
7
|
}
|
|
8
|
-
/**
|
|
9
|
-
* Floating Action Button — fixed-position circular button with shadow.
|
|
10
|
-
* Pass an icon (or icon + short label) as children. `aria-label` required.
|
|
11
|
-
*/
|
|
8
|
+
/** Floating Action Button — fixed-position circular button with shadow. */
|
|
12
9
|
export declare const FAB: import("react").ForwardRefExoticComponent<FABProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
13
10
|
//# sourceMappingURL=FAB.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FAB.d.ts","sourceRoot":"","sources":["../../../src/actions/fab/FAB.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,oBAAoB,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAE9E,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE/D,MAAM,WAAW,QAAS,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,WAAW;IACpF,sEAAsE;IACtE,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED
|
|
1
|
+
{"version":3,"file":"FAB.d.ts","sourceRoot":"","sources":["../../../src/actions/fab/FAB.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,oBAAoB,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAE9E,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE/D,MAAM,WAAW,QAAS,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,WAAW;IACpF,sEAAsE;IACtE,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,2EAA2E;AAC3E,eAAO,MAAM,GAAG,wGASf,CAAC"}
|
|
@@ -5,9 +5,6 @@ export interface IconButtonProps extends ButtonHTMLAttributes<HTMLButtonElement>
|
|
|
5
5
|
'aria-label': string;
|
|
6
6
|
children: ReactNode;
|
|
7
7
|
}
|
|
8
|
-
/**
|
|
9
|
-
* Square / circular button containing only an icon. `aria-label` is
|
|
10
|
-
* required by the type — there is no visible text fallback.
|
|
11
|
-
*/
|
|
8
|
+
/** Square or circular icon-only button — `aria-label` is type-required. */
|
|
12
9
|
export declare const IconButton: import("react").ForwardRefExoticComponent<IconButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
13
10
|
//# sourceMappingURL=IconButton.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../../../src/actions/iconButton/IconButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,oBAAoB,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAE9E,OAAO,EAAsB,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEpF,MAAM,WAAW,eACf,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC,EAC7C,kBAAkB;IACpB,iEAAiE;IACjE,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED
|
|
1
|
+
{"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../../../src/actions/iconButton/IconButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,oBAAoB,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAE9E,OAAO,EAAsB,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEpF,MAAM,WAAW,eACf,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC,EAC7C,kBAAkB;IACpB,iEAAiE;IACjE,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,2EAA2E;AAC3E,eAAO,MAAM,UAAU,+GAStB,CAAC"}
|
package/dist/actions/index.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
export { BackToTopButton, Button, ButtonGroup, CopyButton, DisclosureButton, FAB, IconButton, Link, OverlayButton, SegmentedControl, SpeedDial, SpeedDialAction, SpeedDialTrigger, ToggleButton, ToggleButtonGroup, Toolbar, ToolbarButton, ToolbarLink, ToolbarSeparator, buttonVariants, fabVariants, iconButtonVariants, linkVariants, toggleButtonVariants } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
6
|
-
import '../chunk-DN7WBRIV.js';
|
|
1
|
+
export { BackToTopButton, Button, ButtonGroup, CopyButton, DisclosureButton, FAB, IconButton, Link, OverlayButton, SegmentedControl, SpeedDial, SpeedDialAction, SpeedDialTrigger, ToggleButton, ToggleButtonGroup, Toolbar, ToolbarButton, ToolbarLink, ToolbarSeparator, buttonVariants, fabVariants, iconButtonVariants, linkVariants, toggleButtonVariants } from '../chunk-VZNIJCMD.js';
|
|
2
|
+
import '../chunk-NUMFGKPY.js';
|
|
3
|
+
import '../chunk-GWIFNLGS.js';
|
|
4
|
+
import '../chunk-ZJMDHG7B.js';
|
|
5
|
+
import '../chunk-BMABNEZX.js';
|
|
7
6
|
import '../chunk-KDXJQNB6.js';
|
|
8
|
-
import '../chunk-
|
|
7
|
+
import '../chunk-LDRFQG44.js';
|
|
9
8
|
import '../chunk-PZ5AY32C.js';
|
|
10
9
|
//# sourceMappingURL=index.js.map
|
|
11
10
|
//# sourceMappingURL=index.js.map
|
|
@@ -5,9 +5,6 @@ export interface LinkProps extends AnchorHTMLAttributes<HTMLAnchorElement>, Link
|
|
|
5
5
|
* Use for router `<Link>` components from Next.js / React Router. */
|
|
6
6
|
asChild?: boolean;
|
|
7
7
|
}
|
|
8
|
-
/**
|
|
9
|
-
* Anchor with consistent focus / hover styling. Pass `asChild` to render a
|
|
10
|
-
* router `<Link>` while inheriting our visuals.
|
|
11
|
-
*/
|
|
8
|
+
/** Anchor with consistent focus/hover styling — `asChild` swaps in router links. */
|
|
12
9
|
export declare const Link: import("react").ForwardRefExoticComponent<LinkProps & import("react").RefAttributes<HTMLAnchorElement>>;
|
|
13
10
|
//# sourceMappingURL=Link.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Link.d.ts","sourceRoot":"","sources":["../../../src/actions/link/Link.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAG9D,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAElE,MAAM,WAAW,SAAU,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,YAAY;IACtF;0EACsE;IACtE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED
|
|
1
|
+
{"version":3,"file":"Link.d.ts","sourceRoot":"","sources":["../../../src/actions/link/Link.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAG9D,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAElE,MAAM,WAAW,SAAU,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,YAAY;IACtF;0EACsE;IACtE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,oFAAoF;AACpF,eAAO,MAAM,IAAI,yGAWhB,CAAC"}
|
|
@@ -1,14 +1,5 @@
|
|
|
1
1
|
import { type ButtonProps } from '../button/Button';
|
|
2
|
-
/**
|
|
3
|
-
* OverlayButton — thin wrapper around Button, supplying the typical
|
|
4
|
-
* "icon-button glassy circle anchored over a card/image" preset.
|
|
5
|
-
*
|
|
6
|
-
* Glass styling, sizing, loading/skeleton, asChild, etc. all flow from Button.
|
|
7
|
-
* OverlayButton owns positioning + reveal-on-hover only.
|
|
8
|
-
*
|
|
9
|
-
* Pair with `appearOn="hover"` and a parent with `className="group"` to
|
|
10
|
-
* reveal the button only when the parent is hovered.
|
|
11
|
-
*/
|
|
2
|
+
/** Slim wrapper around Button — variant=glass + shape=circle + position/appearOn helpers. */
|
|
12
3
|
export type OverlayPosition = 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left' | 'center';
|
|
13
4
|
export type OverlayAppearOn = 'always' | 'hover';
|
|
14
5
|
export interface OverlayButtonProps extends Omit<ButtonProps, 'variant' | 'shape'> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OverlayButton.d.ts","sourceRoot":"","sources":["../../../src/actions/overlayButton/OverlayButton.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE5D
|
|
1
|
+
{"version":3,"file":"OverlayButton.d.ts","sourceRoot":"","sources":["../../../src/actions/overlayButton/OverlayButton.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE5D,6FAA6F;AAE7F,MAAM,MAAM,eAAe,GACvB,WAAW,GACX,UAAU,GACV,cAAc,GACd,aAAa,GACb,QAAQ,CAAC;AAEb,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEjD,MAAM,WAAW,kBACf,SAAQ,IAAI,CAAC,WAAW,EAAE,SAAS,GAAG,OAAO,CAAC;IAC9C,gFAAgF;IAChF,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B;;;OAGG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,0DAA0D;IAC1D,YAAY,EAAE,MAAM,CAAC;CACtB;AAeD,eAAO,MAAM,aAAa,kHA2BzB,CAAC"}
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
import { type ToggleButtonGroupProps } from '../toggleButtonGroup/ToggleButtonGroup';
|
|
2
2
|
export type SegmentedControlProps = ToggleButtonGroupProps;
|
|
3
|
-
/**
|
|
4
|
-
* Visual variant of `ToggleButtonGroup` styled as a connected pill row —
|
|
5
|
-
* the iOS / shadcn segmented control pattern. Use for view switchers
|
|
6
|
-
* (day/week/month) and small option pickers.
|
|
7
|
-
*/
|
|
3
|
+
/** Visual variant of ToggleButtonGroup — iOS-style connected pill row. */
|
|
8
4
|
export declare const SegmentedControl: import("react").ForwardRefExoticComponent<ToggleButtonGroupProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
9
5
|
//# sourceMappingURL=SegmentedControl.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SegmentedControl.d.ts","sourceRoot":"","sources":["../../../src/actions/segmentedControl/SegmentedControl.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAqB,KAAK,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAExG,MAAM,MAAM,qBAAqB,GAAG,sBAAsB,CAAC;AAE3D
|
|
1
|
+
{"version":3,"file":"SegmentedControl.d.ts","sourceRoot":"","sources":["../../../src/actions/segmentedControl/SegmentedControl.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAqB,KAAK,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAExG,MAAM,MAAM,qBAAqB,GAAG,sBAAsB,CAAC;AAE3D,0EAA0E;AAC1E,eAAO,MAAM,gBAAgB,mHAc5B,CAAC"}
|
|
@@ -8,9 +8,6 @@ export interface ToggleButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonE
|
|
|
8
8
|
/** Fires whenever pressed state changes. */
|
|
9
9
|
onPressedChange?: (pressed: boolean) => void;
|
|
10
10
|
}
|
|
11
|
-
/**
|
|
12
|
-
* Two-state button (on / off). Sets `aria-pressed` and `data-state`. Use
|
|
13
|
-
* inside `ToggleButtonGroup` for arrow-key navigation across siblings.
|
|
14
|
-
*/
|
|
11
|
+
/** Two-state button (on/off) — sets `aria-pressed` + `data-state="on|off"`. */
|
|
15
12
|
export declare const ToggleButton: import("react").ForwardRefExoticComponent<ToggleButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
16
13
|
//# sourceMappingURL=ToggleButton.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToggleButton.d.ts","sourceRoot":"","sources":["../../../src/actions/toggleButton/ToggleButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAG9D,OAAO,EAAwB,KAAK,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE1F,MAAM,WAAW,iBACf,SAAQ,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC,EAC5D,oBAAoB;IACtB,gCAAgC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kCAAkC;IAClC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,4CAA4C;IAC5C,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;CAC9C;AAED
|
|
1
|
+
{"version":3,"file":"ToggleButton.d.ts","sourceRoot":"","sources":["../../../src/actions/toggleButton/ToggleButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAG9D,OAAO,EAAwB,KAAK,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE1F,MAAM,WAAW,iBACf,SAAQ,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC,EAC5D,oBAAoB;IACtB,gCAAgC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kCAAkC;IAClC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,4CAA4C;IAC5C,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;CAC9C;AAED,+EAA+E;AAC/E,eAAO,MAAM,YAAY,iHAsCxB,CAAC"}
|
|
@@ -15,11 +15,7 @@ type ToggleButtonGroupProps = Omit<ComponentPropsWithoutRef<'div'>, 'defaultValu
|
|
|
15
15
|
orientation?: 'horizontal' | 'vertical';
|
|
16
16
|
attached?: boolean;
|
|
17
17
|
} & (SingleProps | MultiProps);
|
|
18
|
-
/**
|
|
19
|
-
* Coordinates a row/column of `ToggleButton` children. `type="single"` (default)
|
|
20
|
-
* tracks one active value; `type="multi"` tracks an array. Each child must
|
|
21
|
-
* expose a `value` prop that the group uses as its identifier.
|
|
22
|
-
*/
|
|
18
|
+
/** Coordinates a row/column of ToggleButton children — `type="single" | "multi"`. */
|
|
23
19
|
export declare const ToggleButtonGroup: import("react").ForwardRefExoticComponent<ToggleButtonGroupProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
24
20
|
export type { ToggleButtonGroupProps };
|
|
25
21
|
//# sourceMappingURL=ToggleButtonGroup.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToggleButtonGroup.d.ts","sourceRoot":"","sources":["../../../src/actions/toggleButtonGroup/ToggleButtonGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,wBAAwB,EAE9B,MAAM,OAAO,CAAC;AAOf,UAAU,WAAW;IACnB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CAChD;AAED,UAAU,UAAU;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CAC3C;AAED,KAAK,sBAAsB,GAAG,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,GAAG;IACjG,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,CAAC,WAAW,GAAG,UAAU,CAAC,CAAC;AAM/B
|
|
1
|
+
{"version":3,"file":"ToggleButtonGroup.d.ts","sourceRoot":"","sources":["../../../src/actions/toggleButtonGroup/ToggleButtonGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,wBAAwB,EAE9B,MAAM,OAAO,CAAC;AAOf,UAAU,WAAW;IACnB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CAChD;AAED,UAAU,UAAU;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CAC3C;AAED,KAAK,sBAAsB,GAAG,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,GAAG;IACjG,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,CAAC,WAAW,GAAG,UAAU,CAAC,CAAC;AAM/B,qFAAqF;AACrF,eAAO,MAAM,iBAAiB,mHA6D7B,CAAC;AAGF,YAAY,EAAE,sBAAsB,EAAE,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Slot } from './chunk-
|
|
2
|
-
import { cn } from './chunk-
|
|
1
|
+
import { Slot } from './chunk-BMABNEZX.js';
|
|
2
|
+
import { cn } from './chunk-LDRFQG44.js';
|
|
3
3
|
import { createContext, forwardRef, useContext } from 'react';
|
|
4
4
|
import { X } from 'lucide-react';
|
|
5
5
|
import { jsx } from 'react/jsx-runtime';
|
|
@@ -88,5 +88,5 @@ var OverlayCloseButton = forwardRef(
|
|
|
88
88
|
);
|
|
89
89
|
|
|
90
90
|
export { OverlayBody, OverlayChromeProvider, OverlayCloseButton, OverlayDescription, OverlayFooter, OverlayHeader, OverlayTitle };
|
|
91
|
-
//# sourceMappingURL=chunk-
|
|
92
|
-
//# sourceMappingURL=chunk-
|
|
91
|
+
//# sourceMappingURL=chunk-526AMQXZ.js.map
|
|
92
|
+
//# sourceMappingURL=chunk-526AMQXZ.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/overlays/OverlayChrome.tsx"],"names":["OverlayCloseButton"],"mappings":"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","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/overlays/OverlayChrome.tsx"],"names":["OverlayCloseButton"],"mappings":"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","file":"chunk-526AMQXZ.js","sourcesContent":["// Shared header / title / description / body / footer / close subcomponents\n// for Dialog and Drawer. Co-located in `overlays/` as a domain-internal helper.\n//\n// Each consuming overlay (Dialog, Drawer) wraps its content with\n// `OverlayChromeProvider`, supplying the `titleId`, `descriptionId`, and a\n// `close()` action. The shared subcomponents read from this context.\n//\n// Naming convention: `Overlay*` for shared chrome pieces; consumers re-export\n// them under their own name (e.g. `Dialog.Header = OverlayHeader`).\n\nimport {\n createContext,\n forwardRef,\n useContext,\n type ButtonHTMLAttributes,\n type HTMLAttributes,\n type ReactNode,\n} from 'react';\nimport { X } from 'lucide-react';\nimport { cn } from '../utils';\nimport { Slot } from '../primitives';\n\nexport interface OverlayChromeContextValue {\n titleId: string;\n descriptionId: string;\n /** Closes the overlay and returns focus to the trigger. */\n close: () => void;\n}\n\nconst OverlayChromeContext = createContext<OverlayChromeContextValue | null>(null);\n\nexport const OverlayChromeProvider = OverlayChromeContext.Provider;\n\nfunction useOverlayChromeContext() {\n const ctx = useContext(OverlayChromeContext);\n if (!ctx)\n throw new Error(\n 'Overlay chrome subcomponents must be used inside an OverlayChromeProvider (Dialog / Drawer)',\n );\n return ctx;\n}\n\nexport interface OverlayHeaderProps extends HTMLAttributes<HTMLDivElement> {\n children: ReactNode;\n}\n\nexport function OverlayHeader({ className, children, ...rest }: OverlayHeaderProps) {\n return (\n <div className={cn('mb-4 flex flex-col gap-1.5', className)} {...rest}>\n {children}\n </div>\n );\n}\n\nexport interface OverlayTitleProps extends HTMLAttributes<HTMLHeadingElement> {\n children: ReactNode;\n}\n\nexport function OverlayTitle({ className, children, ...rest }: OverlayTitleProps) {\n const ctx = useOverlayChromeContext();\n return (\n <h2\n id={ctx.titleId}\n className={cn('text-lg font-semibold leading-none text-foreground', className)}\n {...rest}\n >\n {children}\n </h2>\n );\n}\n\nexport interface OverlayDescriptionProps extends HTMLAttributes<HTMLParagraphElement> {\n children: ReactNode;\n}\n\nexport function OverlayDescription({\n className,\n children,\n ...rest\n}: OverlayDescriptionProps) {\n const ctx = useOverlayChromeContext();\n return (\n <p\n id={ctx.descriptionId}\n className={cn('text-sm text-muted-foreground', className)}\n {...rest}\n >\n {children}\n </p>\n );\n}\n\nexport interface OverlayBodyProps extends HTMLAttributes<HTMLDivElement> {\n children: ReactNode;\n}\n\nexport function OverlayBody({ className, children, ...rest }: OverlayBodyProps) {\n return (\n <div className={cn('text-sm text-foreground', className)} {...rest}>\n {children}\n </div>\n );\n}\n\nexport interface OverlayFooterProps extends HTMLAttributes<HTMLDivElement> {\n children: ReactNode;\n}\n\nexport function OverlayFooter({ className, children, ...rest }: OverlayFooterProps) {\n return (\n <div\n className={cn(\n 'mt-6 flex flex-col-reverse gap-2 sm:flex-row sm:justify-end',\n className,\n )}\n {...rest}\n >\n {children}\n </div>\n );\n}\n\nexport interface OverlayCloseButtonProps\n extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'children'> {\n asChild?: boolean;\n children?: ReactNode;\n}\n\nexport const OverlayCloseButton = forwardRef<HTMLButtonElement, OverlayCloseButtonProps>(\n function OverlayCloseButton(\n { asChild, onClick, className, children, ...rest },\n forwardedRef,\n ) {\n const ctx = useOverlayChromeContext();\n const Component = asChild ? Slot : 'button';\n return (\n <Component\n ref={forwardedRef as never}\n type=\"button\"\n aria-label={children ? undefined : 'Close'}\n onClick={(e: React.MouseEvent<HTMLButtonElement>) => {\n onClick?.(e);\n if (e.defaultPrevented) return;\n ctx.close();\n }}\n className={\n asChild\n ? className\n : cn(\n 'absolute right-4 top-4 grid h-7 w-7 place-items-center rounded-sm text-muted-foreground transition-colors hover:bg-muted hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring',\n className,\n )\n }\n {...rest}\n >\n {children ?? <X className=\"h-4 w-4\" />}\n </Component>\n );\n },\n);\n"]}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { composeRefs } from './chunk-DN7WBRIV.js';
|
|
2
1
|
import { useId as useId$1, useScrollLock } from './chunk-KDXJQNB6.js';
|
|
3
|
-
import { cn } from './chunk-
|
|
2
|
+
import { composeRefs, cn } from './chunk-LDRFQG44.js';
|
|
4
3
|
import { __export } from './chunk-PZ5AY32C.js';
|
|
5
4
|
import { forwardRef, isValidElement, Children, cloneElement, useState, useRef, useEffect, createContext, useContext, useCallback, useMemo, useId } from 'react';
|
|
6
5
|
import { createPortal } from 'react-dom';
|
|
@@ -376,5 +375,5 @@ var Announce = forwardRef(
|
|
|
376
375
|
Announce.displayName = "Announce";
|
|
377
376
|
|
|
378
377
|
export { AccessibleIcon, AnchoredPositioner, Announce, DirectionProvider, DismissableLayer, FocusScope, FormControlProvider, OverlayArrow, Portal, Presence, RovingFocusGroup, ScrollLockProvider, Slot, VisuallyHidden, createCollection, primitives_exports, useDirection, useFormControl, useRovingFocusItem };
|
|
379
|
-
//# sourceMappingURL=chunk-
|
|
380
|
-
//# sourceMappingURL=chunk-
|
|
378
|
+
//# sourceMappingURL=chunk-BMABNEZX.js.map
|
|
379
|
+
//# sourceMappingURL=chunk-BMABNEZX.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/primitives/index.ts","../src/primitives/slot/Slot.tsx","../src/primitives/portal/Portal.tsx","../src/primitives/visuallyHidden/VisuallyHidden.tsx","../src/primitives/presence/Presence.tsx","../src/primitives/directionProvider/DirectionProvider.tsx","../src/primitives/accessibleIcon/AccessibleIcon.tsx","../src/primitives/focusScope/FocusScope.tsx","../src/primitives/dismissableLayer/DismissableLayer.tsx","../src/primitives/anchoredPositioner/AnchoredPositioner.tsx","../src/primitives/rovingFocusGroup/RovingFocusGroup.tsx","../src/primitives/collection/Collection.tsx","../src/primitives/formControlContext/FormControlContext.tsx","../src/primitives/scrollLockProvider/ScrollLockProvider.tsx","../src/primitives/overlayArrow/OverlayArrow.tsx","../src/primitives/announce/Announce.tsx"],"names":["forwardRef","jsx","isValidElement","cloneElement","RadixFocusScope","useRef","useEffect","offset","offsetMiddleware","sizeMiddleware","createContext","RovingFocusGroup","useState","useContext","useId","useCallback","useMemo","Fragment","OverlayArrow"],"mappings":";;;;;;;;;;AAAA,IAAA,kBAAA,GAAA;AAAA,QAAA,CAAA,kBAAA,EAAA;AAAA,EAAA,cAAA,EAAA,MAAA,cAAA;AAAA,EAAA,kBAAA,EAAA,MAAA,kBAAA;AAAA,EAAA,QAAA,EAAA,MAAA,QAAA;AAAA,EAAA,iBAAA,EAAA,MAAA,iBAAA;AAAA,EAAA,gBAAA,EAAA,MAAA,gBAAA;AAAA,EAAA,UAAA,EAAA,MAAA,UAAA;AAAA,EAAA,mBAAA,EAAA,MAAA,mBAAA;AAAA,EAAA,YAAA,EAAA,MAAA,YAAA;AAAA,EAAA,MAAA,EAAA,MAAA,MAAA;AAAA,EAAA,QAAA,EAAA,MAAA,QAAA;AAAA,EAAA,gBAAA,EAAA,MAAA,gBAAA;AAAA,EAAA,kBAAA,EAAA,MAAA,kBAAA;AAAA,EAAA,IAAA,EAAA,MAAA,IAAA;AAAA,EAAA,cAAA,EAAA,MAAA,cAAA;AAAA,EAAA,gBAAA,EAAA,MAAA,gBAAA;AAAA,EAAA,YAAA,EAAA,MAAA,YAAA;AAAA,EAAA,cAAA,EAAA,MAAA,cAAA;AAAA,EAAA,kBAAA,EAAA,MAAA;AAAA,CAAA,CAAA;ACkBA,SAAS,UAAA,CAAW,WAAqB,UAAA,EAAgC;AACvE,EAAA,MAAM,MAAA,GAAmB,EAAE,GAAG,UAAA,EAAW;AACzC,EAAA,KAAA,MAAW,GAAA,IAAO,MAAA,CAAO,IAAA,CAAK,SAAS,CAAA,EAAG;AACxC,IAAA,MAAM,OAAA,GAAU,UAAU,GAAG,CAAA;AAC7B,IAAA,MAAM,QAAA,GAAW,WAAW,GAAG,CAAA;AAC/B,IAAA,IAAI,QAAQ,WAAA,EAAa;AACvB,MAAA,MAAA,CAAO,SAAA,GAAY,CAAC,OAAA,EAAS,QAAQ,EAAE,MAAA,CAAO,OAAO,CAAA,CAAE,IAAA,CAAK,GAAG,CAAA;AAAA,IACjE,CAAA,MAAA,IAAW,QAAQ,OAAA,EAAS;AAC1B,MAAA,MAAA,CAAO,KAAA,GAAQ,EAAE,GAAI,OAAA,EAA2B,GAAI,QAAA,EAA2B;AAAA,IACjF,CAAA,MAAA,IAAW,UAAA,CAAW,IAAA,CAAK,GAAG,CAAA,EAAG;AAC/B,MAAA,MAAM,MAAA,GAAS,OAAA;AACf,MAAA,MAAM,OAAA,GAAU,QAAA;AAChB,MAAA,IAAI,UAAU,OAAA,EAAS;AACrB,QAAA,MAAA,CAAO,GAAG,CAAA,GAAI,CAAA,GAAI,IAAA,KAAoB;AACpC,UAAA,OAAA,CAAQ,GAAG,IAAI,CAAA;AACf,UAAA,MAAA,CAAO,GAAG,IAAI,CAAA;AAAA,QAChB,CAAA;AAAA,MACF,WAAW,MAAA,EAAQ;AACjB,QAAA,MAAA,CAAO,GAAG,CAAA,GAAI,MAAA;AAAA,MAChB;AAAA,IACF,CAAA,MAAA,IAAW,aAAa,MAAA,EAAW;AACjC,MAAA,MAAA,CAAO,GAAG,CAAA,GAAI,OAAA;AAAA,IAChB;AAAA,EACF;AACA,EAAA,OAAO,MAAA;AACT;AAWO,IAAM,IAAA,GAAO,UAAA;AAAA,EAClB,CAAC,EAAE,QAAA,EAAU,GAAG,SAAA,IAAa,YAAA,KAAiB;AAC5C,IAAA,IAAI,CAAC,cAAA,CAAe,QAAQ,CAAA,EAAG;AAC7B,MAAA,OAAO,QAAA,CAAS,MAAM,QAAQ,CAAA,GAAI,IAAI,QAAA,CAAS,IAAA,CAAK,IAAI,CAAA,GAAI,IAAA;AAAA,IAC9D;AACA,IAAA,MAAM,KAAA,GAAQ,QAAA;AACd,IAAA,MAAM,SAAS,UAAA,CAAW,SAAA,EAAwB,KAAA,CAAM,KAAA,IAAS,EAAe,CAAA;AAChF,IAAA,OAAO,aAAa,KAAA,EAAO;AAAA,MACzB,GAAG,MAAA;AAAA,MACH,GAAA,EAAK,WAAA,CAAY,YAAA,EAAc,KAAA,CAAM,GAAG;AAAA,KACzC,CAAA;AAAA,EACH;AACF;AACA,IAAA,CAAK,WAAA,GAAc,MAAA;ACpDZ,SAAS,MAAA,CAAO,EAAE,QAAA,EAAU,SAAA,EAAW,MAAK,EAA2B;AAC5E,EAAA,MAAM,MAAA,GAAS,aAAa,QAAA,CAAS,IAAA;AACrC,EAAA,OAAO,6BAAa,GAAA,CAAC,KAAA,EAAA,EAAI,oBAAkB,IAAA,EAAO,QAAA,EAAS,GAAQ,MAAM,CAAA;AAC3E;ACRO,IAAM,cAAA,GAAiBA,UAAAA;AAAA,EAC5B,CAAC,EAAE,SAAA,EAAW,GAAG,KAAA,EAAM,EAAG,wBACxBC,GAAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,SAAA,EAAW,EAAA;AAAA,QACT,mEAAA;AAAA,QACA,sDAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA;AAGV;AACA,cAAA,CAAe,WAAA,GAAc,gBAAA;ACAtB,SAAS,QAAA,CAAS,EAAE,OAAA,EAAS,QAAA,EAAS,EAAuC;AAClF,EAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAI,SAAS,OAAO,CAAA;AAChD,EAAA,MAAM,GAAA,GAAM,OAA2B,IAAI,CAAA;AAE3C,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,OAAA,EAAS;AACX,MAAA,WAAA,CAAY,IAAI,CAAA;AAChB,MAAA;AAAA,IACF;AACA,IAAA,MAAM,OAAO,GAAA,CAAI,OAAA;AACjB,IAAA,IAAI,CAAC,IAAA,EAAM;AACT,MAAA,WAAA,CAAY,KAAK,CAAA;AACjB,MAAA;AAAA,IACF;AACA,IAAA,MAAM,EAAA,GAAK,iBAAiB,IAAI,CAAA;AAChC,IAAA,MAAM,OAAA,GAAU,EAAA,CAAG,aAAA,KAAkB,MAAA,IAAU,GAAG,iBAAA,KAAsB,IAAA;AACxE,IAAA,MAAM,QAAA,GAAW,GAAG,kBAAA,KAAuB,IAAA;AAC3C,IAAA,IAAI,CAAC,OAAA,IAAW,CAAC,QAAA,EAAU;AACzB,MAAA,WAAA,CAAY,KAAK,CAAA;AACjB,MAAA;AAAA,IACF;AACA,IAAA,MAAM,KAAA,GAAQ,MAAM,WAAA,CAAY,KAAK,CAAA;AACrC,IAAA,IAAA,CAAK,gBAAA,CAAiB,gBAAgB,KAAK,CAAA;AAC3C,IAAA,IAAA,CAAK,gBAAA,CAAiB,iBAAiB,KAAK,CAAA;AAC5C,IAAA,OAAO,MAAM;AACX,MAAA,IAAA,CAAK,mBAAA,CAAoB,gBAAgB,KAAK,CAAA;AAC9C,MAAA,IAAA,CAAK,mBAAA,CAAoB,iBAAiB,KAAK,CAAA;AAAA,IACjD,CAAA;AAAA,EACF,CAAA,EAAG,CAAC,OAAO,CAAC,CAAA;AAEZ,EAAA,IAAI,CAAC,QAAA,IAAY,CAACC,cAAAA,CAAe,QAAQ,GAAG,OAAO,IAAA;AACnD,EAAA,MAAM,KAAA,GAAQ,QAAA;AACd,EAAA,OAAOC,aAAa,KAAA,EAAO;AAAA,IACzB,GAAA,EAAK,WAAA,CAAY,GAAA,EAAK,KAAA,CAAM,GAAG,CAAA;AAAA,IAC/B,YAAA,EAAc,UAAU,MAAA,GAAS;AAAA,GACH,CAAA;AAClC;ACvDA,IAAM,gBAAA,GAAmB,cAAyB,KAAK,CAAA;AAWhD,SAAS,iBAAA,CAAkB,EAAE,GAAA,EAAK,QAAA,EAAS,EAA2B;AAC3E,EAAA,uBAAOF,GAAAA,CAAC,gBAAA,CAAiB,UAAjB,EAA0B,KAAA,EAAO,KAAM,QAAA,EAAS,CAAA;AAC1D;AAEO,SAAS,YAAA,GAA0B;AACxC,EAAA,OAAO,WAAW,gBAAgB,CAAA;AACpC;ACPO,SAAS,cAAA,CAAe,EAAE,KAAA,EAAO,QAAA,EAAS,EAAwB;AACvE,EAAA,MAAM,IAAA,GAAOC,cAAAA,CAAe,QAAQ,CAAA,GAChCC,aAAa,QAAA,EAAoF;AAAA,IAC/F,aAAA,EAAe,MAAA;AAAA,IACf,SAAA,EAAW;AAAA,GACZ,CAAA,GACD,QAAA;AACJ,EAAA,uBACE,IAAA,CAAA,QAAA,EAAA,EACG,QAAA,EAAA;AAAA,IAAA,IAAA;AAAA,oBACDF,GAAAA,CAAC,cAAA,EAAA,EAAgB,QAAA,EAAA,KAAA,EAAM;AAAA,GAAA,EACzB,CAAA;AAEJ;AChBO,IAAM,UAAA,GAAaG;ACG1B,IAAM,aAA2B,EAAC;AAkB3B,IAAM,gBAAA,GAAmBJ,UAAAA;AAAA,EAC9B,CACE,EAAE,QAAA,EAAU,oBAAA,EAAsB,eAAe,mBAAA,EAAqB,GAAG,KAAA,EAAM,EAC/E,YAAA,KACG;AACH,IAAA,MAAM,GAAA,GAAMK,OAA8B,IAAI,CAAA;AAE9C,IAAAC,UAAU,MAAM;AACd,MAAA,MAAM,OAAO,GAAA,CAAI,OAAA;AACjB,MAAA,IAAI,CAAC,IAAA,EAAM;AACX,MAAA,MAAM,KAAA,GAAoB,EAAE,IAAA,EAAM,QAAA,EAAU,oBAAA,EAAqB;AACjE,MAAA,UAAA,CAAW,KAAK,KAAK,CAAA;AACrB,MAAA,OAAO,MAAM;AACX,QAAA,MAAM,GAAA,GAAM,UAAA,CAAW,OAAA,CAAQ,KAAK,CAAA;AACpC,QAAA,IAAI,GAAA,IAAO,CAAA,EAAG,UAAA,CAAW,MAAA,CAAO,KAAK,CAAC,CAAA;AAAA,MACxC,CAAA;AAAA,IACF,CAAA,EAAG,CAAC,QAAA,EAAU,oBAAoB,CAAC,CAAA;AAEnC,IAAAA,UAAU,MAAM;AACd,MAAA,IAAI,aAAA,EAAe;AACnB,MAAA,MAAM,SAAA,GAAY,CAAC,CAAA,KAAqB;AACtC,QAAA,IAAI,CAAA,CAAE,QAAQ,QAAA,EAAU;AACxB,QAAA,MAAM,GAAA,GAAM,UAAA,CAAW,UAAA,CAAW,MAAA,GAAS,CAAC,CAAA;AAC5C,QAAA,IAAI,OAAO,GAAA,CAAI,IAAA,KAAS,IAAI,OAAA,EAAS,GAAA,CAAI,WAAW,CAAC,CAAA;AAAA,MACvD,CAAA;AACA,MAAA,QAAA,CAAS,gBAAA,CAAiB,WAAW,SAAS,CAAA;AAC9C,MAAA,OAAO,MAAM,QAAA,CAAS,mBAAA,CAAoB,SAAA,EAAW,SAAS,CAAA;AAAA,IAChE,CAAA,EAAG,CAAC,aAAa,CAAC,CAAA;AAElB,IAAAA,UAAU,MAAM;AACd,MAAA,IAAI,mBAAA,EAAqB;AACzB,MAAA,MAAM,SAAA,GAAY,CAAC,CAAA,KAAoB;AACrC,QAAA,MAAM,GAAA,GAAM,UAAA,CAAW,UAAA,CAAW,MAAA,GAAS,CAAC,CAAA;AAC5C,QAAA,IAAI,CAAC,GAAA,IAAO,GAAA,CAAI,IAAA,KAAS,IAAI,OAAA,EAAS;AACtC,QAAA,MAAM,SAAS,CAAA,CAAE,MAAA;AACjB,QAAA,IAAI,CAAC,MAAA,IAAU,GAAA,CAAI,OAAA,EAAS,QAAA,CAAS,MAAM,CAAA,EAAG;AAC9C,QAAA,GAAA,CAAI,uBAAuB,CAAC,CAAA;AAAA,MAC9B,CAAA;AACA,MAAA,QAAA,CAAS,gBAAA,CAAiB,aAAA,EAAe,SAAA,EAAW,IAAI,CAAA;AACxD,MAAA,OAAO,MAAM,QAAA,CAAS,mBAAA,CAAoB,aAAA,EAAe,WAAW,IAAI,CAAA;AAAA,IAC1E,CAAA,EAAG,CAAC,mBAAmB,CAAC,CAAA;AAExB,IAAA,uBAAOL,IAAC,KAAA,EAAA,EAAI,GAAA,EAAK,YAAY,YAAA,EAAc,GAAG,CAAA,EAAI,GAAG,KAAA,EAAO,CAAA;AAAA,EAC9D;AACF;AACA,gBAAA,CAAiB,WAAA,GAAc,kBAAA;ACxCxB,IAAM,kBAAA,GAAqBD,UAAAA;AAAA,EAChC,CACE,EAAE,MAAA,EAAQ,SAAA,GAAY,kBAAUO,QAAA,GAAS,CAAA,EAAG,IAAA,GAAO,IAAA,EAAM,QAAA,EAAU,KAAA,EAAO,GAAG,KAAA,IAC7E,YAAA,KACG;AACH,IAAA,MAAM,EAAE,IAAA,EAAM,cAAA,EAAe,GAAI,WAAA,CAAY;AAAA,MAC3C,IAAA;AAAA,MACA,SAAA;AAAA,MACA,UAAA,EAAY;AAAA,QACVC,OAAiBD,QAAM,CAAA;AAAA,QACvB,IAAA,EAAK;AAAA,QACL,KAAA,CAAM,EAAE,OAAA,EAAS,CAAA,EAAG,CAAA;AAAA,QACpBE,IAAA,CAAe;AAAA,UACb,KAAA,CAAM,EAAE,KAAA,EAAO,QAAA,EAAS,EAAG;AACzB,YAAA,QAAA,CAAS,QAAA,CAAS,MAAM,WAAA,CAAY,gBAAA,EAAkB,GAAG,KAAA,CAAM,SAAA,CAAU,KAAK,CAAA,EAAA,CAAI,CAAA;AAClF,YAAA,QAAA,CAAS,SAAS,KAAA,CAAM,WAAA;AAAA,cACtB,iBAAA;AAAA,cACA,CAAA,EAAG,KAAA,CAAM,SAAA,CAAU,MAAM,CAAA,EAAA;AAAA,aAC3B;AAAA,UACF;AAAA,SACD;AAAA,OACH;AAAA,MACA,oBAAA,EAAsB,UAAA;AAAA,MACtB,QAAA,EAAU,EAAE,SAAA,EAAW,MAAA;AAAO,KAC/B,CAAA;AAED,IAAA,IAAI,CAAC,MAAM,OAAO,IAAA;AAElB,IAAA,uBACER,GAAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA,EAAK,WAAA,CAAY,YAAA,EAAc,IAAA,CAAK,WAAW,CAAA;AAAA,QAC/C,KAAA,EAAO,EAAE,GAAG,cAAA,EAAgB,GAAG,KAAA,EAAM;AAAA,QACpC,GAAG,KAAA;AAAA,QAEH;AAAA;AAAA,KACH;AAAA,EAEJ;AACF;AACA,kBAAA,CAAmB,WAAA,GAAc,oBAAA;ACnDjC,IAAM,kBAAA,GAAqBS,cAA8C,IAAI,CAAA;AAatE,IAAM,gBAAA,GAAmBV,UAAAA;AAAA,EAC9B,SAASW,iBAAAA,CACP,EAAE,WAAA,GAAc,YAAA,EAAc,IAAA,GAAO,IAAA,EAAM,QAAA,EAAU,GAAG,KAAA,EAAM,EAC9D,GAAA,EACA;AACA,IAAA,MAAM,KAAA,GAAQN,MAAAA,CAAiB,EAAE,CAAA;AACjC,IAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAIO,SAAwB,IAAI,CAAA;AAE9D,IAAA,MAAM,QAAA,GAAW,WAAA,CAAY,CAAC,EAAA,KAAe;AAC3C,MAAA,IAAI,CAAC,MAAM,OAAA,CAAQ,QAAA,CAAS,EAAE,CAAA,EAAG,KAAA,CAAM,OAAA,CAAQ,IAAA,CAAK,EAAE,CAAA;AACtD,MAAA,YAAA,CAAa,CAAC,OAAA,KAAY,OAAA,IAAW,EAAE,CAAA;AAAA,IACzC,CAAA,EAAG,EAAE,CAAA;AAEL,IAAA,MAAM,UAAA,GAAa,WAAA,CAAY,CAAC,EAAA,KAAe;AAC7C,MAAA,KAAA,CAAM,UAAU,KAAA,CAAM,OAAA,CAAQ,OAAO,CAAC,CAAA,KAAM,MAAM,EAAE,CAAA;AAAA,IACtD,CAAA,EAAG,EAAE,CAAA;AAEL,IAAA,MAAM,aAAA,GAAgB,WAAA;AAAA,MACpB,CAAC,OAAsB,EAAA,KAAe;AACpC,QAAA,MAAM,OAAO,KAAA,CAAM,OAAA;AACnB,QAAA,MAAM,GAAA,GAAM,IAAA,CAAK,OAAA,CAAQ,EAAE,CAAA;AAC3B,QAAA,IAAI,QAAQ,EAAA,EAAI;AAChB,QAAA,MAAM,MAAA,GAAS,WAAA,KAAgB,UAAA,IAAc,WAAA,KAAgB,MAAA;AAC7D,QAAA,MAAM,OAAA,GAAU,WAAA,KAAgB,YAAA,IAAgB,WAAA,KAAgB,MAAA;AAChE,QAAA,IAAI,IAAA,GAAO,GAAA;AACX,QAAA,IAAK,MAAM,GAAA,KAAQ,YAAA,IAAgB,WAAa,KAAA,CAAM,GAAA,KAAQ,eAAe,MAAA,EAAS;AACpF,UAAA,IAAA,GAAO,GAAA,GAAM,CAAA;AACb,UAAA,IAAI,QAAQ,IAAA,CAAK,MAAA,SAAe,IAAA,GAAO,CAAA,GAAI,KAAK,MAAA,GAAS,CAAA;AAAA,QAC3D,CAAA,MAAA,IAAY,MAAM,GAAA,KAAQ,WAAA,IAAe,WAAa,KAAA,CAAM,GAAA,KAAQ,aAAa,MAAA,EAAS;AACxF,UAAA,IAAA,GAAO,GAAA,GAAM,CAAA;AACb,UAAA,IAAI,OAAO,CAAA,EAAG,IAAA,GAAO,IAAA,GAAO,IAAA,CAAK,SAAS,CAAA,GAAI,CAAA;AAAA,QAChD,CAAA,MAAA,IAAW,KAAA,CAAM,GAAA,KAAQ,MAAA,EAAQ;AAC/B,UAAA,IAAA,GAAO,CAAA;AAAA,QACT,CAAA,MAAA,IAAW,KAAA,CAAM,GAAA,KAAQ,KAAA,EAAO;AAC9B,UAAA,IAAA,GAAO,KAAK,MAAA,GAAS,CAAA;AAAA,QACvB,CAAA,MAAO;AACL,UAAA;AAAA,QACF;AACA,QAAA,KAAA,CAAM,cAAA,EAAe;AACrB,QAAA,MAAM,GAAA,GAAM,KAAK,IAAI,CAAA;AACrB,QAAA,IAAI,GAAA,eAAkB,GAAG,CAAA;AAAA,MAC3B,CAAA;AAAA,MACA,CAAC,aAAa,IAAI;AAAA,KACpB;AAEA,IAAA,MAAM,KAAA,GAAQ,OAAA;AAAA,MACZ,OAAO,EAAE,QAAA,EAAU,UAAA,EAAY,SAAA,EAAW,cAAc,aAAA,EAAc,CAAA;AAAA,MACtE,CAAC,QAAA,EAAU,UAAA,EAAY,SAAA,EAAW,aAAa;AAAA,KACjD;AAEA,IAAA,uBACEX,GAAAA,CAAC,kBAAA,CAAmB,QAAA,EAAnB,EAA4B,KAAA,EAC3B,QAAA,kBAAAA,GAAAA,CAAC,KAAA,EAAA,EAAI,KAAU,IAAA,EAAK,OAAA,EAAS,GAAG,KAAA,EAC7B,UACH,CAAA,EACF,CAAA;AAAA,EAEJ;AACF;AAcO,SAAS,kBAAA,GAA+C;AAC7D,EAAA,MAAM,OAAA,GAAUY,WAAW,kBAAkB,CAAA;AAC7C,EAAA,MAAM,KAAKC,KAAAA,EAAM;AACjB,EAAA,MAAM,GAAA,GAAMT,OAA2B,IAAI,CAAA;AAE3C,EAAAC,UAAU,MAAM;AACd,IAAA,OAAA,EAAS,SAAS,EAAE,CAAA;AACpB,IAAA,OAAO,MAAM,OAAA,EAAS,UAAA,CAAW,EAAE,CAAA;AAAA,EACrC,CAAA,EAAG,CAAC,OAAA,EAAS,EAAE,CAAC,CAAA;AAEhB,EAAAA,UAAU,MAAM;AACd,IAAA,IAAI,OAAA,EAAS,cAAc,EAAA,IAAM,GAAA,CAAI,WAAW,QAAA,CAAS,aAAA,KAAkB,IAAI,OAAA,EAAS;AACtF,MAAA,GAAA,CAAI,QAAQ,KAAA,EAAM;AAAA,IACpB;AAAA,EACF,CAAA,EAAG,CAAC,OAAA,EAAS,SAAA,EAAW,EAAE,CAAC,CAAA;AAE3B,EAAA,OAAO;AAAA,IACL,GAAA,EAAK,CAAC,IAAA,KAAS;AACb,MAAA,GAAA,CAAI,OAAA,GAAU,IAAA;AAAA,IAChB,CAAA;AAAA,IACA,UAAU,CAAC,OAAA,IAAW,OAAA,CAAQ,SAAA,KAAc,KAAK,CAAA,GAAI,EAAA;AAAA,IACrD,WAAW,CAAC,CAAA,KAAM,OAAA,EAAS,aAAA,CAAc,GAAG,EAAE,CAAA;AAAA,IAC9C,OAAA,EAAS,MAAM,OAAA,EAAS,YAAA,CAAa,EAAE,CAAA;AAAA,IACvC,wBAAA,EAA0B;AAAA,GAC5B;AACF;AClHO,SAAS,gBAAA,GAId;AACA,EAAA,MAAM,iBAAA,GAAoBI,cAAgD,IAAI,CAAA;AAE9E,EAAA,SAAS,QAAA,CAAS,EAAE,QAAA,EAAS,EAA4B;AACvD,IAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAIE,QAAAA,CAAc,EAAE,CAAA;AAC1C,IAAA,MAAM,QAAA,GAAWG,WAAAA,CAAY,CAAC,IAAA,KAAY;AACxC,MAAA,QAAA,CAAS,CAAC,IAAA,KAAU,IAAA,CAAK,QAAA,CAAS,IAAI,CAAA,GAAI,IAAA,GAAO,CAAC,GAAG,IAAA,EAAM,IAAI,CAAE,CAAA;AAAA,IACnE,CAAA,EAAG,EAAE,CAAA;AACL,IAAA,MAAM,UAAA,GAAaA,WAAAA,CAAY,CAAC,IAAA,KAAY;AAC1C,MAAA,QAAA,CAAS,CAAC,SAAS,IAAA,CAAK,MAAA,CAAO,CAAC,CAAA,KAAM,CAAA,KAAM,IAAI,CAAC,CAAA;AAAA,IACnD,CAAA,EAAG,EAAE,CAAA;AACL,IAAA,MAAM,KAAA,GAAQC,OAAAA,CAAQ,OAAO,EAAE,KAAA,EAAO,QAAA,EAAU,UAAA,EAAW,CAAA,EAAI,CAAC,KAAA,EAAO,QAAA,EAAU,UAAU,CAAC,CAAA;AAC5F,IAAA,uBAAOf,GAAAA,CAAC,iBAAA,CAAkB,QAAA,EAAlB,EAA2B,OAAe,QAAA,EAAS,CAAA;AAAA,EAC7D;AAEA,EAAA,SAAS,aAAA,GAA2C;AAClD,IAAA,MAAM,GAAA,GAAMY,WAAW,iBAAiB,CAAA;AACxC,IAAA,IAAI,CAAC,GAAA,EAAK;AACR,MAAA,MAAM,IAAI,MAAM,gDAAgD,CAAA;AAAA,IAClE;AACA,IAAA,OAAO,GAAA;AAAA,EACT;AAEA,EAAA,OAAO,EAAE,QAAA,EAAU,aAAA,EAAe,OAAA,EAAS,iBAAA,EAAkB;AAC/D;ACnCA,IAAM,OAAA,GAAUH,cAA8C,IAAI,CAAA;AAiB3D,SAAS,mBAAA,CAAoB;AAAA,EAClC,EAAA,EAAI,UAAA;AAAA,EACJ,SAAA,GAAY,KAAA;AAAA,EACZ,UAAA,GAAa,KAAA;AAAA,EACb,UAAA,GAAa,KAAA;AAAA,EACb,UAAA,GAAa,KAAA;AAAA,EACb;AACF,CAAA,EAA6B;AAC3B,EAAA,MAAM,cAAcI,OAAA,EAAM;AAC1B,EAAA,MAAM,KAAK,UAAA,IAAc,WAAA;AACzB,EAAA,MAAM,KAAA,GAAiC;AAAA,IACrC,EAAA;AAAA,IACA,OAAA,EAAS,GAAG,EAAE,CAAA,MAAA,CAAA;AAAA,IACd,QAAA,EAAU,GAAG,EAAE,CAAA,OAAA,CAAA;AAAA,IACf,OAAA,EAAS,GAAG,EAAE,CAAA,MAAA,CAAA;AAAA,IACd,SAAA;AAAA,IACA,UAAA;AAAA,IACA,UAAA;AAAA,IACA;AAAA,GACF;AACA,EAAA,uBAAOb,GAAAA,CAAC,OAAA,CAAQ,QAAA,EAAR,EAAiB,OAAe,QAAA,EAAS,CAAA;AACnD;AAMO,SAAS,cAAA,GAAiD;AAC/D,EAAA,OAAOY,WAAW,OAAO,CAAA;AAC3B;AC/CO,SAAS,kBAAA,CAAmB,EAAE,OAAA,GAAU,IAAA,EAAM,UAAS,EAA4B;AACxF,EAAA,aAAA,CAAc,OAAO,CAAA;AACrB,EAAA,uBAAOZ,GAAAA,CAAAgB,QAAAA,EAAA,EAAG,QAAA,EAAS,CAAA;AACrB;ACGO,IAAM,YAAA,GAAejB,UAAAA;AAAA,EAC1B,SAASkB,aAAAA,CAAa,EAAE,KAAA,GAAQ,EAAA,EAAI,MAAA,GAAS,CAAA,EAAG,IAAA,GAAO,cAAA,EAAgB,GAAG,IAAA,EAAK,EAAG,GAAA,EAAK;AACrF,IAAA,uBACEjB,GAAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,KAAA;AAAA,QACA,MAAA;AAAA,QACA,OAAA,EAAS,CAAA,IAAA,EAAO,KAAK,CAAA,CAAA,EAAI,MAAM,CAAA,CAAA;AAAA,QAC/B,mBAAA,EAAoB,MAAA;AAAA,QACpB,aAAA,EAAY,MAAA;AAAA,QACX,GAAG,IAAA;AAAA,QAEJ,QAAA,kBAAAA,GAAAA,CAAC,SAAA,EAAA,EAAQ,MAAA,EAAQ,CAAA,IAAA,EAAO,KAAK,CAAA,GAAA,EAAM,KAAA,GAAQ,CAAC,CAAA,CAAA,EAAI,MAAM,CAAA,CAAA,EAAI,IAAA,EAAY;AAAA;AAAA,KACxE;AAAA,EAEJ;AACF;ACrBO,IAAM,QAAA,GAAWD,UAAAA;AAAA,EACtB,CAAC,EAAE,UAAA,GAAa,QAAA,EAAU,SAAA,EAAW,UAAU,GAAG,IAAA,EAAK,EAAG,GAAA,qBACxDC,GAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,IAAA,EAAM,UAAA,KAAe,WAAA,GAAc,OAAA,GAAU,QAAA;AAAA,MAC7C,WAAA,EAAW,UAAA;AAAA,MACX,aAAA,EAAY,MAAA;AAAA,MACZ,SAAA,EAAW,EAAA;AAAA,QACT,mEAAA;AAAA,QACA,sDAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG,IAAA;AAAA,MAEH;AAAA;AAAA;AAGP;AACA,QAAA,CAAS,WAAA,GAAc,UAAA","file":"chunk-BMABNEZX.js","sourcesContent":["// L2 — headless primitives. Behavior + a11y, no visual styling beyond layout.\n// Foundation layer; cannot import upward (enforced by ESLint boundaries).\n\nexport * from './slot';\nexport * from './portal';\nexport * from './visuallyHidden';\nexport * from './presence';\nexport * from './directionProvider';\nexport * from './accessibleIcon';\nexport * from './focusScope';\nexport * from './dismissableLayer';\nexport * from './anchoredPositioner';\nexport * from './rovingFocusGroup';\nexport * from './collection';\nexport * from './formControlContext';\nexport * from './scrollLockProvider';\nexport * from './overlayArrow';\nexport * from './announce';\n","import {\n Children,\n cloneElement,\n forwardRef,\n isValidElement,\n type CSSProperties,\n type HTMLAttributes,\n type ReactElement,\n type Ref,\n} from 'react';\nimport { composeRefs } from '../../utils/composeRefs';\n\nexport interface SlotProps extends HTMLAttributes<HTMLElement> {\n children?: React.ReactNode;\n}\n\ntype AnyProps = Record<string, unknown>;\n\nfunction mergeProps(slotProps: AnyProps, childProps: AnyProps): AnyProps {\n const merged: AnyProps = { ...childProps };\n for (const key of Object.keys(slotProps)) {\n const slotVal = slotProps[key];\n const childVal = childProps[key];\n if (key === 'className') {\n merged.className = [slotVal, childVal].filter(Boolean).join(' ');\n } else if (key === 'style') {\n merged.style = { ...(slotVal as CSSProperties), ...(childVal as CSSProperties) };\n } else if (/^on[A-Z]/.test(key)) {\n const slotFn = slotVal as ((...args: unknown[]) => void) | undefined;\n const childFn = childVal as ((...args: unknown[]) => void) | undefined;\n if (slotFn && childFn) {\n merged[key] = (...args: unknown[]) => {\n childFn(...args);\n slotFn(...args);\n };\n } else if (slotFn) {\n merged[key] = slotFn;\n }\n } else if (childVal === undefined) {\n merged[key] = slotVal;\n }\n }\n return merged;\n}\n\n/**\n * Polymorphic slot — renders the single child element with the parent's props\n * merged in (className concatenated, handlers chained, refs composed).\n *\n * Use to enable an `asChild` API on a component:\n * ```tsx\n * <Button asChild><a href=\"/x\">Open</a></Button>\n * ```\n */\nexport const Slot = forwardRef<HTMLElement, SlotProps>(\n ({ children, ...slotProps }, forwardedRef) => {\n if (!isValidElement(children)) {\n return Children.count(children) > 1 ? Children.only(null) : null;\n }\n const child = children as ReactElement<AnyProps> & { ref?: Ref<HTMLElement> };\n const merged = mergeProps(slotProps as AnyProps, (child.props ?? {}) as AnyProps);\n return cloneElement(child, {\n ...merged,\n ref: composeRefs(forwardedRef, child.ref),\n });\n },\n);\nSlot.displayName = 'Slot';\n","import { type ReactNode } from 'react';\nimport { createPortal } from 'react-dom';\n\nexport interface PortalProps {\n children: ReactNode;\n /** Container to render into. Default: `document.body`. */\n container?: HTMLElement | null;\n /** Optional named layer — sets `data-portal-name` on the wrapper. */\n name?: string;\n}\n\n/**\n * Render children into a different DOM node (default `document.body`).\n * Client-only — package targets pure CSR consumers.\n */\nexport function Portal({ children, container, name }: PortalProps): ReactNode {\n const target = container ?? document.body;\n return createPortal(<div data-portal-name={name}>{children}</div>, target);\n}\n","import { forwardRef, type HTMLAttributes } from 'react';\nimport { cn } from '../../utils/cn';\n\nexport type VisuallyHiddenProps = HTMLAttributes<HTMLSpanElement>;\n\n/**\n * Visually hidden span — content removed from the visual layout but still\n * announced to screen readers. Use for accessible labels on icon-only\n * affordances and live-region announcements.\n */\nexport const VisuallyHidden = forwardRef<HTMLSpanElement, VisuallyHiddenProps>(\n ({ className, ...props }, ref) => (\n <span\n ref={ref}\n className={cn(\n 'absolute h-px w-px overflow-hidden whitespace-nowrap border-0 p-0',\n 'm-[-1px] [clip:rect(0_0_0_0)] [clip-path:inset(50%)]',\n className,\n )}\n {...props}\n />\n ),\n);\nVisuallyHidden.displayName = 'VisuallyHidden';\n","import {\n cloneElement,\n isValidElement,\n useEffect,\n useRef,\n useState,\n type ReactElement,\n type Ref,\n} from 'react';\nimport { composeRefs } from '../../utils/composeRefs';\n\nexport interface PresenceProps {\n /** Whether the content should be present. Toggle false to trigger exit. */\n present: boolean;\n /** Single React element child — receives `ref` and `data-state` (\"open\" | \"closed\"). */\n children: ReactElement;\n}\n\n/**\n * Defer unmount until the child's exit animation/transition finishes.\n * Pass `present={false}` to start the exit; the child stays mounted with\n * `data-state=\"closed\"` until `animationend`/`transitionend` fires.\n */\nexport function Presence({ present, children }: PresenceProps): ReactElement | null {\n const [rendered, setRendered] = useState(present);\n const ref = useRef<HTMLElement | null>(null);\n\n useEffect(() => {\n if (present) {\n setRendered(true);\n return;\n }\n const node = ref.current;\n if (!node) {\n setRendered(false);\n return;\n }\n const cs = getComputedStyle(node);\n const hasAnim = cs.animationName !== 'none' && cs.animationDuration !== '0s';\n const hasTrans = cs.transitionDuration !== '0s';\n if (!hasAnim && !hasTrans) {\n setRendered(false);\n return;\n }\n const onEnd = () => setRendered(false);\n node.addEventListener('animationend', onEnd);\n node.addEventListener('transitionend', onEnd);\n return () => {\n node.removeEventListener('animationend', onEnd);\n node.removeEventListener('transitionend', onEnd);\n };\n }, [present]);\n\n if (!rendered || !isValidElement(children)) return null;\n const child = children as ReactElement<{ ref?: Ref<HTMLElement> }> & { ref?: Ref<HTMLElement> };\n return cloneElement(child, {\n ref: composeRefs(ref, child.ref),\n 'data-state': present ? 'open' : 'closed',\n } as Partial<typeof child.props>);\n}\n","import { createContext, useContext, type ReactNode } from 'react';\n\nexport type Direction = 'ltr' | 'rtl';\n\nconst DirectionContext = createContext<Direction>('ltr');\n\nexport interface DirectionProviderProps {\n dir: Direction;\n children: ReactNode;\n}\n\n/**\n * Provide reading direction to descendants. Components that mirror in RTL\n * (Tabs arrow keys, Slider, Carousel, etc.) read this via `useDirection()`.\n */\nexport function DirectionProvider({ dir, children }: DirectionProviderProps) {\n return <DirectionContext.Provider value={dir}>{children}</DirectionContext.Provider>;\n}\n\nexport function useDirection(): Direction {\n return useContext(DirectionContext);\n}\n","import { cloneElement, isValidElement, type ReactElement } from 'react';\nimport { VisuallyHidden } from '../visuallyHidden/VisuallyHidden';\n\nexport interface AccessibleIconProps {\n /** Required accessible label for the icon. */\n label: string;\n /** Single icon element — will receive `aria-hidden` so SR reads only the label. */\n children: ReactElement;\n}\n\n/**\n * Wrap an icon-only element with an accessible label. The icon is hidden\n * from assistive tech and a `VisuallyHidden` sibling provides the label.\n */\nexport function AccessibleIcon({ label, children }: AccessibleIconProps) {\n const icon = isValidElement(children)\n ? cloneElement(children as ReactElement<{ 'aria-hidden'?: boolean | string; focusable?: string }>, {\n 'aria-hidden': 'true',\n focusable: 'false',\n })\n : children;\n return (\n <>\n {icon}\n <VisuallyHidden>{label}</VisuallyHidden>\n </>\n );\n}\n","import { FocusScope as RadixFocusScope } from '@radix-ui/react-focus-scope';\n\nexport type FocusScopeProps = React.ComponentProps<typeof RadixFocusScope>;\n\n/**\n * Trap focus within children. On unmount, returns focus to the previously\n * focused element. Pass `loop` to wrap Tab navigation; `trapped` to enable\n * the trap (default true while mounted).\n *\n * Wraps `@radix-ui/react-focus-scope` — battle-tested implementation.\n */\nexport const FocusScope = RadixFocusScope;\n","import {\n forwardRef,\n useEffect,\n useRef,\n type HTMLAttributes,\n} from 'react';\nimport { composeRefs } from '../../utils/composeRefs';\n\ninterface LayerEntry {\n node: HTMLElement;\n onEscape?: (event: KeyboardEvent) => void;\n onOutsidePointerDown?: (event: PointerEvent) => void;\n}\n\nconst layerStack: LayerEntry[] = [];\n\nexport interface DismissableLayerProps extends HTMLAttributes<HTMLDivElement> {\n /** Called when Escape is pressed and this is the topmost layer. */\n onEscape?: (event: KeyboardEvent) => void;\n /** Called when a pointerdown lands outside this layer's DOM and this is topmost. */\n onOutsidePointerDown?: (event: PointerEvent) => void;\n /** Disable the Escape listener for this layer. */\n disableEscape?: boolean;\n /** Disable the outside-pointer-down listener for this layer. */\n disableOutsideClick?: boolean;\n}\n\n/**\n * Stack-aware dismissal layer. Multiple layers may stack (modal > popover);\n * only the topmost reacts to Escape / outside click. Used as the base of\n * Modal, Drawer, Popover, Menu, HoverCard, ContextMenu.\n */\nexport const DismissableLayer = forwardRef<HTMLDivElement, DismissableLayerProps>(\n (\n { onEscape, onOutsidePointerDown, disableEscape, disableOutsideClick, ...props },\n forwardedRef,\n ) => {\n const ref = useRef<HTMLDivElement | null>(null);\n\n useEffect(() => {\n const node = ref.current;\n if (!node) return;\n const entry: LayerEntry = { node, onEscape, onOutsidePointerDown };\n layerStack.push(entry);\n return () => {\n const idx = layerStack.indexOf(entry);\n if (idx >= 0) layerStack.splice(idx, 1);\n };\n }, [onEscape, onOutsidePointerDown]);\n\n useEffect(() => {\n if (disableEscape) return;\n const onKeyDown = (e: KeyboardEvent) => {\n if (e.key !== 'Escape') return;\n const top = layerStack[layerStack.length - 1];\n if (top && top.node === ref.current) top.onEscape?.(e);\n };\n document.addEventListener('keydown', onKeyDown);\n return () => document.removeEventListener('keydown', onKeyDown);\n }, [disableEscape]);\n\n useEffect(() => {\n if (disableOutsideClick) return;\n const onPointer = (e: PointerEvent) => {\n const top = layerStack[layerStack.length - 1];\n if (!top || top.node !== ref.current) return;\n const target = e.target as Node | null;\n if (!target || ref.current?.contains(target)) return;\n top.onOutsidePointerDown?.(e);\n };\n document.addEventListener('pointerdown', onPointer, true);\n return () => document.removeEventListener('pointerdown', onPointer, true);\n }, [disableOutsideClick]);\n\n return <div ref={composeRefs(forwardedRef, ref)} {...props} />;\n },\n);\nDismissableLayer.displayName = 'DismissableLayer';\n","import {\n autoUpdate,\n flip,\n offset as offsetMiddleware,\n shift,\n size as sizeMiddleware,\n useFloating,\n type Placement,\n} from '@floating-ui/react';\nimport { forwardRef, type HTMLAttributes, type ReactNode } from 'react';\nimport { composeRefs } from '../../utils/composeRefs';\n\nexport interface AnchoredPositionerProps extends HTMLAttributes<HTMLDivElement> {\n /** The element the floating layer should be anchored to. */\n anchor: HTMLElement | null;\n /** Floating UI placement. Default `bottom`. */\n placement?: Placement;\n /** Distance between anchor and floating element in px. Default 8. */\n offset?: number;\n /** Render the floating element only when open. */\n open?: boolean;\n children: ReactNode;\n}\n\n/**\n * Position children relative to an anchor element using Floating UI.\n * Auto-flips and shifts to stay in viewport. Use as the positioning surface\n * for Tooltip, Popover, Menu, HoverCard.\n *\n * Exposes the anchor's measured size as CSS variables on the floating\n * element, enabling consumers to size content relative to the trigger:\n *\n * style=\"--anchor-width: 240px; --anchor-height: 36px;\"\n *\n * Common pattern: `min-w-[var(--anchor-width)]` on a Select dropdown so\n * the panel never narrows below the trigger.\n */\nexport const AnchoredPositioner = forwardRef<HTMLDivElement, AnchoredPositionerProps>(\n (\n { anchor, placement = 'bottom', offset = 8, open = true, children, style, ...props },\n forwardedRef,\n ) => {\n const { refs, floatingStyles } = useFloating({\n open,\n placement,\n middleware: [\n offsetMiddleware(offset),\n flip(),\n shift({ padding: 8 }),\n sizeMiddleware({\n apply({ rects, elements }) {\n elements.floating.style.setProperty('--anchor-width', `${rects.reference.width}px`);\n elements.floating.style.setProperty(\n '--anchor-height',\n `${rects.reference.height}px`,\n );\n },\n }),\n ],\n whileElementsMounted: autoUpdate,\n elements: { reference: anchor },\n });\n\n if (!open) return null;\n\n return (\n <div\n ref={composeRefs(forwardedRef, refs.setFloating)}\n style={{ ...floatingStyles, ...style }}\n {...props}\n >\n {children}\n </div>\n );\n },\n);\nAnchoredPositioner.displayName = 'AnchoredPositioner';\n","import {\n createContext,\n forwardRef,\n useCallback,\n useContext,\n useEffect,\n useId,\n useMemo,\n useRef,\n useState,\n type HTMLAttributes,\n type KeyboardEvent,\n type ReactNode,\n} from 'react';\n\nexport type Orientation = 'horizontal' | 'vertical' | 'both';\n\ninterface RovingFocusContextValue {\n register: (id: string) => void;\n unregister: (id: string) => void;\n focusedId: string | null;\n setFocusedId: (id: string) => void;\n onItemKeyDown: (event: KeyboardEvent, id: string) => void;\n}\n\nconst RovingFocusContext = createContext<RovingFocusContextValue | null>(null);\n\nexport interface RovingFocusGroupProps extends HTMLAttributes<HTMLDivElement> {\n orientation?: Orientation;\n loop?: boolean;\n children: ReactNode;\n}\n\n/**\n * Provide arrow-key navigation for a group of focusable children. Children\n * call `useRovingFocusItem()` to register and receive `tabIndex` / event\n * handlers. Used by Tabs, ToggleGroup, RadioGroup, Menu.\n */\nexport const RovingFocusGroup = forwardRef<HTMLDivElement, RovingFocusGroupProps>(\n function RovingFocusGroup(\n { orientation = 'horizontal', loop = true, children, ...props },\n ref,\n ) {\n const items = useRef<string[]>([]);\n const [focusedId, setFocusedId] = useState<string | null>(null);\n\n const register = useCallback((id: string) => {\n if (!items.current.includes(id)) items.current.push(id);\n setFocusedId((current) => current ?? id);\n }, []);\n\n const unregister = useCallback((id: string) => {\n items.current = items.current.filter((i) => i !== id);\n }, []);\n\n const onItemKeyDown = useCallback(\n (event: KeyboardEvent, id: string) => {\n const list = items.current;\n const idx = list.indexOf(id);\n if (idx === -1) return;\n const isVert = orientation === 'vertical' || orientation === 'both';\n const isHoriz = orientation === 'horizontal' || orientation === 'both';\n let next = idx;\n if ((event.key === 'ArrowRight' && isHoriz) || (event.key === 'ArrowDown' && isVert)) {\n next = idx + 1;\n if (next >= list.length) next = loop ? 0 : list.length - 1;\n } else if ((event.key === 'ArrowLeft' && isHoriz) || (event.key === 'ArrowUp' && isVert)) {\n next = idx - 1;\n if (next < 0) next = loop ? list.length - 1 : 0;\n } else if (event.key === 'Home') {\n next = 0;\n } else if (event.key === 'End') {\n next = list.length - 1;\n } else {\n return;\n }\n event.preventDefault();\n const id2 = list[next];\n if (id2) setFocusedId(id2);\n },\n [orientation, loop],\n );\n\n const value = useMemo(\n () => ({ register, unregister, focusedId, setFocusedId, onItemKeyDown }),\n [register, unregister, focusedId, onItemKeyDown],\n );\n\n return (\n <RovingFocusContext.Provider value={value}>\n <div ref={ref} role=\"group\" {...props}>\n {children}\n </div>\n </RovingFocusContext.Provider>\n );\n },\n);\n\nexport interface UseRovingFocusItemReturn {\n ref: (node: HTMLElement | null) => void;\n tabIndex: 0 | -1;\n onKeyDown: (event: KeyboardEvent) => void;\n onFocus: () => void;\n 'data-roving-focus-item': boolean;\n}\n\n/**\n * Inside a `RovingFocusGroup`, returns props to spread onto a focusable item.\n * Outside, returns inert props (tabIndex 0).\n */\nexport function useRovingFocusItem(): UseRovingFocusItemReturn {\n const context = useContext(RovingFocusContext);\n const id = useId();\n const ref = useRef<HTMLElement | null>(null);\n\n useEffect(() => {\n context?.register(id);\n return () => context?.unregister(id);\n }, [context, id]);\n\n useEffect(() => {\n if (context?.focusedId === id && ref.current && document.activeElement !== ref.current) {\n ref.current.focus();\n }\n }, [context?.focusedId, id]);\n\n return {\n ref: (node) => {\n ref.current = node;\n },\n tabIndex: !context || context.focusedId === id ? 0 : -1,\n onKeyDown: (e) => context?.onItemKeyDown(e, id),\n onFocus: () => context?.setFocusedId(id),\n 'data-roving-focus-item': true,\n };\n}\n","import {\n createContext,\n useCallback,\n useContext,\n useMemo,\n useState,\n type Context,\n type ReactNode,\n} from 'react';\n\nexport interface CollectionContextValue<T> {\n items: T[];\n register: (item: T) => void;\n unregister: (item: T) => void;\n}\n\n/**\n * Factory for a typed children-registry context. Compound components\n * (Menu, Tabs, Listbox) use this so the parent can iterate ordered children\n * without prop-drilling.\n */\nexport function createCollection<T>(): {\n Provider: (props: { children: ReactNode }) => ReactNode;\n useCollection: () => CollectionContextValue<T>;\n Context: Context<CollectionContextValue<T> | null>;\n} {\n const CollectionContext = createContext<CollectionContextValue<T> | null>(null);\n\n function Provider({ children }: { children: ReactNode }) {\n const [items, setItems] = useState<T[]>([]);\n const register = useCallback((item: T) => {\n setItems((prev) => (prev.includes(item) ? prev : [...prev, item]));\n }, []);\n const unregister = useCallback((item: T) => {\n setItems((prev) => prev.filter((i) => i !== item));\n }, []);\n const value = useMemo(() => ({ items, register, unregister }), [items, register, unregister]);\n return <CollectionContext.Provider value={value}>{children}</CollectionContext.Provider>;\n }\n\n function useCollection(): CollectionContextValue<T> {\n const ctx = useContext(CollectionContext);\n if (!ctx) {\n throw new Error('useCollection must be used inside its Provider');\n }\n return ctx;\n }\n\n return { Provider, useCollection, Context: CollectionContext };\n}\n","import { createContext, useContext, type ReactNode } from 'react';\nimport { useId } from '../../hooks/useId';\n\nexport interface FormControlContextValue {\n id: string;\n labelId: string;\n helperId: string;\n errorId: string;\n isInvalid: boolean;\n isDisabled: boolean;\n isRequired: boolean;\n isReadOnly: boolean;\n}\n\nconst Context = createContext<FormControlContextValue | null>(null);\n\nexport interface FormControlProviderProps {\n /** Override the auto-generated id (also used as control's `id`). */\n id?: string;\n isInvalid?: boolean;\n isDisabled?: boolean;\n isRequired?: boolean;\n isReadOnly?: boolean;\n children: ReactNode;\n}\n\n/**\n * Wires Label ↔ control ↔ HelperText/ErrorMessage via stable IDs and shared\n * state flags. Used by `FormField` (L4) — atoms (Input, Label, etc.) read\n * via `useFormControl()` to get the right `id`/`htmlFor`/`aria-describedby`.\n */\nexport function FormControlProvider({\n id: providedId,\n isInvalid = false,\n isDisabled = false,\n isRequired = false,\n isReadOnly = false,\n children,\n}: FormControlProviderProps) {\n const generatedId = useId();\n const id = providedId ?? generatedId;\n const value: FormControlContextValue = {\n id,\n labelId: `${id}-label`,\n helperId: `${id}-helper`,\n errorId: `${id}-error`,\n isInvalid,\n isDisabled,\n isRequired,\n isReadOnly,\n };\n return <Context.Provider value={value}>{children}</Context.Provider>;\n}\n\n/**\n * Read the surrounding form-control context. Returns `null` when used\n * outside a provider — atoms gracefully degrade to standalone mode.\n */\nexport function useFormControl(): FormControlContextValue | null {\n return useContext(Context);\n}\n","import { type ReactNode } from 'react';\nimport { useScrollLock } from '../../hooks/useScrollLock';\n\nexport interface ScrollLockProviderProps {\n enabled?: boolean;\n children: ReactNode;\n}\n\n/**\n * Component wrapper around `useScrollLock` — handy when scroll lock should\n * follow a child's mount lifecycle (e.g. inside a Modal's portal).\n * Multiple wrappers stack; lock releases when the count reaches zero.\n */\nexport function ScrollLockProvider({ enabled = true, children }: ScrollLockProviderProps) {\n useScrollLock(enabled);\n return <>{children}</>;\n}\n","import { forwardRef, type SVGAttributes } from 'react';\n\nexport interface OverlayArrowProps extends SVGAttributes<SVGSVGElement> {\n /** Arrow width in px. Default 12. */\n width?: number;\n /** Arrow height in px. Default 6. */\n height?: number;\n}\n\n/**\n * Tip-arrow primitive for floating overlays (Tooltip, Popover, HoverCard).\n *\n * Renders a minimal SVG triangle with `fill=\"currentColor\"` — color follows\n * the consuming overlay's background via Tailwind's `text-*` utilities.\n *\n * Pair with Floating UI's `arrow()` middleware to position. The middleware\n * exposes the arrow's `x` / `y` offset on the resolved data; consumers apply\n * those as inline styles to the wrapping span.\n */\nexport const OverlayArrow = forwardRef<SVGSVGElement, OverlayArrowProps>(\n function OverlayArrow({ width = 12, height = 6, fill = 'currentColor', ...rest }, ref) {\n return (\n <svg\n ref={ref}\n width={width}\n height={height}\n viewBox={`0 0 ${width} ${height}`}\n preserveAspectRatio=\"none\"\n aria-hidden=\"true\"\n {...rest}\n >\n <polygon points={`0,0 ${width},0 ${width / 2},${height}`} fill={fill} />\n </svg>\n );\n },\n);\n","import { forwardRef, type HTMLAttributes, type ReactNode } from 'react';\nimport { cn } from '../../utils/cn';\n\nexport interface AnnounceProps extends HTMLAttributes<HTMLDivElement> {\n /** `polite` → `role=\"status\"`, `assertive` → `role=\"alert\"`. Default `polite`. */\n politeness?: 'polite' | 'assertive';\n children?: ReactNode;\n}\n\n/**\n * Visually-hidden ARIA live region. Children are announced by screen readers\n * whenever they change. Pair with a stable mount + swappable children for\n * lightweight transient announcements (status updates, toast messages, etc.).\n */\nexport const Announce = forwardRef<HTMLDivElement, AnnounceProps>(\n ({ politeness = 'polite', className, children, ...rest }, ref) => (\n <div\n ref={ref}\n role={politeness === 'assertive' ? 'alert' : 'status'}\n aria-live={politeness}\n aria-atomic=\"true\"\n className={cn(\n 'absolute h-px w-px overflow-hidden whitespace-nowrap border-0 p-0',\n 'm-[-1px] [clip:rect(0_0_0_0)] [clip-path:inset(50%)]',\n className,\n )}\n {...rest}\n >\n {children}\n </div>\n ),\n);\nAnnounce.displayName = 'Announce';\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Portal } from './chunk-
|
|
2
|
-
import { cn } from './chunk-
|
|
1
|
+
import { Portal } from './chunk-BMABNEZX.js';
|
|
2
|
+
import { cn } from './chunk-LDRFQG44.js';
|
|
3
3
|
import { forwardRef } from 'react';
|
|
4
4
|
import { jsx } from 'react/jsx-runtime';
|
|
5
5
|
|
|
@@ -23,5 +23,5 @@ var Backdrop = forwardRef(function Backdrop2({ open = true, blur, pointerEvents
|
|
|
23
23
|
});
|
|
24
24
|
|
|
25
25
|
export { Backdrop };
|
|
26
|
-
//# sourceMappingURL=chunk-
|
|
27
|
-
//# sourceMappingURL=chunk-
|
|
26
|
+
//# sourceMappingURL=chunk-CBMPWDRA.js.map
|
|
27
|
+
//# sourceMappingURL=chunk-CBMPWDRA.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/overlays/backdrop/Backdrop.tsx"],"names":["Backdrop"],"mappings":";;;;;AAmBO,IAAM,WAAW,UAAA,CAA0C,SAASA,SAAAA,CACzE,EAAE,OAAO,IAAA,EAAM,IAAA,EAAM,aAAA,GAAgB,MAAA,EAAQ,QAAQ,SAAA,EAAW,KAAA,EAAO,GAAG,IAAA,IAC1E,GAAA,EACA;AACA,EAAA,IAAI,CAAC,MAAM,OAAO,IAAA;AAClB,EAAA,MAAM,IAAA,mBACJ,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,YAAA,EAAY,OAAO,MAAA,GAAS,QAAA;AAAA,MAC5B,KAAA,EAAO,EAAE,aAAA,EAAe,GAAG,KAAA,EAAM;AAAA,MACjC,SAAA,EAAW,EAAA;AAAA,QACT,qDAAA;AAAA,QACA,IAAA,IAAQ,kBAAA;AAAA,QACR;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEF,EAAA,OAAO,MAAA,GAAS,IAAA,mBAAO,GAAA,CAAC,MAAA,EAAA,EAAQ,QAAA,EAAA,IAAA,EAAK,CAAA;AACvC,CAAC","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/overlays/backdrop/Backdrop.tsx"],"names":["Backdrop"],"mappings":";;;;;AAmBO,IAAM,WAAW,UAAA,CAA0C,SAASA,SAAAA,CACzE,EAAE,OAAO,IAAA,EAAM,IAAA,EAAM,aAAA,GAAgB,MAAA,EAAQ,QAAQ,SAAA,EAAW,KAAA,EAAO,GAAG,IAAA,IAC1E,GAAA,EACA;AACA,EAAA,IAAI,CAAC,MAAM,OAAO,IAAA;AAClB,EAAA,MAAM,IAAA,mBACJ,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,YAAA,EAAY,OAAO,MAAA,GAAS,QAAA;AAAA,MAC5B,KAAA,EAAO,EAAE,aAAA,EAAe,GAAG,KAAA,EAAM;AAAA,MACjC,SAAA,EAAW,EAAA;AAAA,QACT,qDAAA;AAAA,QACA,IAAA,IAAQ,kBAAA;AAAA,QACR;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEF,EAAA,OAAO,MAAA,GAAS,IAAA,mBAAO,GAAA,CAAC,MAAA,EAAA,EAAQ,QAAA,EAAA,IAAA,EAAK,CAAA;AACvC,CAAC","file":"chunk-CBMPWDRA.js","sourcesContent":["import { forwardRef, type HTMLAttributes } from 'react';\nimport { cn } from '../../utils';\nimport { Portal } from '../../primitives';\n\nexport interface BackdropProps extends HTMLAttributes<HTMLDivElement> {\n /** Mount state. Default `true`. */\n open?: boolean;\n /** Apply backdrop-blur. */\n blur?: boolean;\n /** When `'none'`, clicks pass through. Default `'auto'`. */\n pointerEvents?: 'auto' | 'none';\n /** Skip the Portal wrap — render in place. */\n inline?: boolean;\n}\n\n/**\n * Fixed-position scrim. Used by Dialog / Drawer / LoadingOverlay; also a\n * public component for custom overlay surfaces.\n */\nexport const Backdrop = forwardRef<HTMLDivElement, BackdropProps>(function Backdrop(\n { open = true, blur, pointerEvents = 'auto', inline, className, style, ...rest },\n ref,\n) {\n if (!open) return null;\n const node = (\n <div\n ref={ref}\n data-state={open ? 'open' : 'closed'}\n style={{ pointerEvents, ...style }}\n className={cn(\n 'fixed inset-0 z-50 bg-black/50 animate-in fade-in-0',\n blur && 'backdrop-blur-sm',\n className,\n )}\n {...rest}\n />\n );\n return inline ? node : <Portal>{node}</Portal>;\n});\n"]}
|