@wow-two-beta/ui 0.0.62 → 0.0.64
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/index.js +2 -1
- package/dist/actions/toggleButton/ToggleButton.d.ts +1 -0
- package/dist/{chunk-INSI3NPU.js → chunk-5YT7XRTW.js} +41 -13
- package/dist/chunk-5YT7XRTW.js.map +1 -0
- package/dist/{chunk-BLU5JZAB.js → chunk-GTBNVI77.js} +51 -22
- package/dist/chunk-GTBNVI77.js.map +1 -0
- package/dist/{chunk-MYLSXVIS.js → chunk-H3WC7KRX.js} +115 -49
- package/dist/chunk-H3WC7KRX.js.map +1 -0
- package/dist/{chunk-H4P5MAGS.js → chunk-MZZKA3ZS.js} +33 -11
- package/dist/chunk-MZZKA3ZS.js.map +1 -0
- package/dist/{chunk-WIXKLDTN.js → chunk-NEH4ITXL.js} +205 -87
- package/dist/chunk-NEH4ITXL.js.map +1 -0
- package/dist/{chunk-3IVQNIHV.js → chunk-NIFL35PJ.js} +3 -3
- package/dist/{chunk-3IVQNIHV.js.map → chunk-NIFL35PJ.js.map} +1 -1
- package/dist/{chunk-EQNTG53H.js → chunk-NW7ULTYL.js} +8 -7
- package/dist/chunk-NW7ULTYL.js.map +1 -0
- package/dist/{chunk-DPB2K3BH.js → chunk-O4Y52ERR.js} +80 -37
- package/dist/chunk-O4Y52ERR.js.map +1 -0
- package/dist/{chunk-VQGGK4VP.js → chunk-RDRFXVNX.js} +67 -108
- package/dist/chunk-RDRFXVNX.js.map +1 -0
- package/dist/chunk-YQGEF43L.js +118 -0
- package/dist/chunk-YQGEF43L.js.map +1 -0
- package/dist/{chunk-5JYRZ5PA.js → chunk-ZC4H4PIN.js} +88 -56
- package/dist/chunk-ZC4H4PIN.js.map +1 -0
- package/dist/display/index.js +2 -1
- package/dist/feedback/index.js +2 -2
- package/dist/feedback/undoBar/UndoBar.d.ts +1 -1
- package/dist/forms/InputStyles.d.ts +100 -2
- package/dist/forms/combobox/Combobox.d.ts +1 -1
- package/dist/forms/index.js +5 -5
- package/dist/forms/select/Select.variants.d.ts +128 -2
- package/dist/index.css +38 -0
- package/dist/index.js +11 -10
- package/dist/layout/index.js +3 -3
- package/dist/nav/dropdownMenu/DropdownMenu.d.ts +1 -1
- package/dist/nav/index.js +3 -3
- package/dist/nav/menu/Menu.d.ts +1 -1
- package/dist/overlays/index.js +4 -4
- package/package.json +1 -1
- package/dist/chunk-5JYRZ5PA.js.map +0 -1
- package/dist/chunk-BLU5JZAB.js.map +0 -1
- package/dist/chunk-DPB2K3BH.js.map +0 -1
- package/dist/chunk-EQNTG53H.js.map +0 -1
- package/dist/chunk-H4P5MAGS.js.map +0 -1
- package/dist/chunk-INSI3NPU.js.map +0 -1
- package/dist/chunk-MYLSXVIS.js.map +0 -1
- package/dist/chunk-VQGGK4VP.js.map +0 -1
- package/dist/chunk-WIXKLDTN.js.map +0 -1
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { useControlled, useEscape, useReducedMotion } from './chunk-V267IMBH.js';
|
|
2
|
+
import { Portal, AnchoredPositioner, Presence } from './chunk-XLYJF3HC.js';
|
|
3
|
+
import { useId } from './chunk-LGTGZ3RW.js';
|
|
4
|
+
import { cn, composeRefs } from './chunk-X2MYOHOB.js';
|
|
5
|
+
import { forwardRef, useState, useRef, useEffect, isValidElement, cloneElement } from 'react';
|
|
6
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
7
|
+
|
|
8
|
+
var TooltipContent = forwardRef(
|
|
9
|
+
({ className, children, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
10
|
+
"div",
|
|
11
|
+
{
|
|
12
|
+
ref,
|
|
13
|
+
className: cn(
|
|
14
|
+
"z-tooltip rounded-md bg-inverse px-2.5 py-1.5 text-xs text-inverse-foreground shadow-md",
|
|
15
|
+
"motion-safe:data-[state=open]:animate-(--animate-pop-in)",
|
|
16
|
+
"motion-safe:data-[state=closed]:animate-(--animate-pop-out)",
|
|
17
|
+
className
|
|
18
|
+
),
|
|
19
|
+
...props,
|
|
20
|
+
children
|
|
21
|
+
}
|
|
22
|
+
)
|
|
23
|
+
);
|
|
24
|
+
TooltipContent.displayName = "TooltipContent";
|
|
25
|
+
function Tooltip({
|
|
26
|
+
content,
|
|
27
|
+
children,
|
|
28
|
+
placement = "top",
|
|
29
|
+
openDelay = 700,
|
|
30
|
+
closeDelay = 0,
|
|
31
|
+
open: openProp,
|
|
32
|
+
defaultOpen = false,
|
|
33
|
+
onOpenChange,
|
|
34
|
+
isDisabled
|
|
35
|
+
}) {
|
|
36
|
+
const [open, setOpen] = useControlled({
|
|
37
|
+
controlled: openProp,
|
|
38
|
+
default: defaultOpen,
|
|
39
|
+
onChange: onOpenChange
|
|
40
|
+
});
|
|
41
|
+
const [anchor, setAnchor] = useState(null);
|
|
42
|
+
const tooltipId = useId("tooltip");
|
|
43
|
+
const openTimer = useRef(null);
|
|
44
|
+
const closeTimer = useRef(null);
|
|
45
|
+
const clear = () => {
|
|
46
|
+
if (openTimer.current) clearTimeout(openTimer.current);
|
|
47
|
+
if (closeTimer.current) clearTimeout(closeTimer.current);
|
|
48
|
+
openTimer.current = null;
|
|
49
|
+
closeTimer.current = null;
|
|
50
|
+
};
|
|
51
|
+
const show = () => {
|
|
52
|
+
clear();
|
|
53
|
+
openTimer.current = setTimeout(() => setOpen(true), openDelay);
|
|
54
|
+
};
|
|
55
|
+
const hide = () => {
|
|
56
|
+
clear();
|
|
57
|
+
closeTimer.current = setTimeout(() => setOpen(false), closeDelay);
|
|
58
|
+
};
|
|
59
|
+
useEffect(
|
|
60
|
+
() => () => {
|
|
61
|
+
if (openTimer.current) clearTimeout(openTimer.current);
|
|
62
|
+
if (closeTimer.current) clearTimeout(closeTimer.current);
|
|
63
|
+
},
|
|
64
|
+
[]
|
|
65
|
+
);
|
|
66
|
+
useEscape(() => {
|
|
67
|
+
clear();
|
|
68
|
+
setOpen(false);
|
|
69
|
+
}, open);
|
|
70
|
+
const reducedMotion = useReducedMotion();
|
|
71
|
+
const visible = !isDisabled && open && !!content;
|
|
72
|
+
const [mounted, setMounted] = useState(visible);
|
|
73
|
+
useEffect(() => {
|
|
74
|
+
if (visible) setMounted(true);
|
|
75
|
+
else if (reducedMotion) setMounted(false);
|
|
76
|
+
}, [visible, reducedMotion]);
|
|
77
|
+
if (!isValidElement(children)) return children;
|
|
78
|
+
const trigger = children;
|
|
79
|
+
const cloned = cloneElement(trigger, {
|
|
80
|
+
ref: composeRefs(setAnchor, trigger.ref),
|
|
81
|
+
"aria-describedby": visible ? [trigger.props["aria-describedby"], tooltipId].filter(Boolean).join(" ") : trigger.props["aria-describedby"],
|
|
82
|
+
onPointerEnter: (e) => {
|
|
83
|
+
trigger.props.onPointerEnter?.(e);
|
|
84
|
+
show();
|
|
85
|
+
},
|
|
86
|
+
onPointerLeave: (e) => {
|
|
87
|
+
trigger.props.onPointerLeave?.(e);
|
|
88
|
+
hide();
|
|
89
|
+
},
|
|
90
|
+
onFocus: (e) => {
|
|
91
|
+
trigger.props.onFocus?.(e);
|
|
92
|
+
show();
|
|
93
|
+
},
|
|
94
|
+
onBlur: (e) => {
|
|
95
|
+
trigger.props.onBlur?.(e);
|
|
96
|
+
hide();
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
100
|
+
cloned,
|
|
101
|
+
mounted && /* @__PURE__ */ jsx(Portal, { children: /* @__PURE__ */ jsx(
|
|
102
|
+
AnchoredPositioner,
|
|
103
|
+
{
|
|
104
|
+
anchor,
|
|
105
|
+
placement,
|
|
106
|
+
offset: 6,
|
|
107
|
+
onAnimationEnd: () => {
|
|
108
|
+
if (!visible) setMounted(false);
|
|
109
|
+
},
|
|
110
|
+
children: /* @__PURE__ */ jsx(Presence, { isPresent: visible, children: /* @__PURE__ */ jsx(TooltipContent, { id: tooltipId, role: "tooltip", children: content }) })
|
|
111
|
+
}
|
|
112
|
+
) })
|
|
113
|
+
] });
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
export { Tooltip };
|
|
117
|
+
//# sourceMappingURL=chunk-YQGEF43L.js.map
|
|
118
|
+
//# sourceMappingURL=chunk-YQGEF43L.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/display/tooltip/Tooltip.tsx"],"names":[],"mappings":"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","file":"chunk-YQGEF43L.js","sourcesContent":["import {\n cloneElement,\n forwardRef,\n isValidElement,\n useEffect,\n useRef,\n useState,\n type HTMLAttributes,\n type ReactElement,\n type ReactNode,\n type Ref,\n} from 'react';\nimport { cn, composeRefs } from '../../utils';\nimport { useControlled, useEscape, useId, useReducedMotion } from '../../hooks';\nimport {\n AnchoredPositioner,\n Portal,\n Presence,\n type AnchoredPositionerProps,\n} from '../../primitives';\n\n/**\n * Animated tooltip body. `forwardRef` + `{...props}` spread so `Presence` can\n * inject its `ref` (for transition/animation-end detection) and the\n * `data-state=\"open\" | \"closed\"` that drives the enter/exit keyframes.\n * Motion is gated on `data-state` and behind `motion-safe:` so reduced-motion\n * users get an instant show/hide.\n */\nconst TooltipContent = forwardRef<HTMLDivElement, HTMLAttributes<HTMLDivElement>>(\n ({ className, children, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n 'z-tooltip rounded-md bg-inverse px-2.5 py-1.5 text-xs text-inverse-foreground shadow-md',\n 'motion-safe:data-[state=open]:animate-(--animate-pop-in)',\n 'motion-safe:data-[state=closed]:animate-(--animate-pop-out)',\n className,\n )}\n {...props}\n >\n {children}\n </div>\n ),\n);\nTooltipContent.displayName = 'TooltipContent';\n\nexport interface TooltipProps {\n /** Tooltip body. */\n content: ReactNode;\n /** Single child element — the trigger. Receives event handlers + ref. */\n children: ReactElement;\n /** Floating UI placement. Default `top`. */\n placement?: AnchoredPositionerProps['placement'];\n /** Delay before opening on hover, in ms. Default 700. */\n openDelay?: number;\n /** Delay before closing on leave, in ms. Default 0. */\n closeDelay?: number;\n /** Controlled open state. */\n open?: boolean;\n /** Initial open state when uncontrolled. Default `false`. */\n defaultOpen?: boolean;\n /** Fires on every open-state change (hover, focus, Escape). */\n onOpenChange?: (open: boolean) => void;\n /** Disable rendering even on hover (e.g. when content is empty). */\n isDisabled?: boolean;\n}\n\n/**\n * Hover-/focus-triggered tooltip. Wraps a single child as the trigger; the\n * tooltip body renders into a Portal positioned by Floating UI. Default\n * delays mirror the OS pattern (700ms in, 0 out). Escape dismisses without\n * moving focus (WCAG 1.4.13); the trigger is described by the tooltip via\n * `aria-describedby` while open.\n */\nexport function Tooltip({\n content,\n children,\n placement = 'top',\n openDelay = 700,\n closeDelay = 0,\n open: openProp,\n defaultOpen = false,\n onOpenChange,\n isDisabled,\n}: TooltipProps) {\n const [open, setOpen] = useControlled({\n controlled: openProp,\n default: defaultOpen,\n onChange: onOpenChange,\n });\n const [anchor, setAnchor] = useState<HTMLElement | null>(null);\n const tooltipId = useId('tooltip');\n const openTimer = useRef<ReturnType<typeof setTimeout> | null>(null);\n const closeTimer = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n const clear = () => {\n if (openTimer.current) clearTimeout(openTimer.current);\n if (closeTimer.current) clearTimeout(closeTimer.current);\n openTimer.current = null;\n closeTimer.current = null;\n };\n const show = () => {\n clear();\n openTimer.current = setTimeout(() => setOpen(true), openDelay);\n };\n const hide = () => {\n clear();\n closeTimer.current = setTimeout(() => setOpen(false), closeDelay);\n };\n\n /* Clear pending timers on unmount. */\n useEffect(\n () => () => {\n if (openTimer.current) clearTimeout(openTimer.current);\n if (closeTimer.current) clearTimeout(closeTimer.current);\n },\n [],\n );\n\n /* WCAG 1.4.13 — Escape dismisses immediately, without moving focus. */\n useEscape(() => {\n clear();\n setOpen(false);\n }, open);\n\n const reducedMotion = useReducedMotion();\n const visible = !isDisabled && open && !!content;\n\n /* Keep the Portal + positioner mounted while the exit animation plays.\n Becomes true with `visible`; cleared on the body's pop-out `animationend`\n (see `onAnimationEnd` below). With reduced motion no exit animation runs,\n so tear the shell down immediately on close. */\n const [mounted, setMounted] = useState(visible);\n useEffect(() => {\n if (visible) setMounted(true);\n else if (reducedMotion) setMounted(false);\n }, [visible, reducedMotion]);\n\n if (!isValidElement(children)) return children;\n const trigger = children as ReactElement<{\n ref?: Ref<HTMLElement>;\n 'aria-describedby'?: string;\n onPointerEnter?: (e: React.PointerEvent) => void;\n onPointerLeave?: (e: React.PointerEvent) => void;\n onFocus?: (e: React.FocusEvent) => void;\n onBlur?: (e: React.FocusEvent) => void;\n }> & { ref?: Ref<HTMLElement> };\n\n const cloned = cloneElement(trigger, {\n ref: composeRefs(setAnchor, trigger.ref),\n 'aria-describedby': visible\n ? [trigger.props['aria-describedby'], tooltipId].filter(Boolean).join(' ')\n : trigger.props['aria-describedby'],\n onPointerEnter: (e: React.PointerEvent) => {\n trigger.props.onPointerEnter?.(e);\n show();\n },\n onPointerLeave: (e: React.PointerEvent) => {\n trigger.props.onPointerLeave?.(e);\n hide();\n },\n onFocus: (e: React.FocusEvent) => {\n trigger.props.onFocus?.(e);\n show();\n },\n onBlur: (e: React.FocusEvent) => {\n trigger.props.onBlur?.(e);\n hide();\n },\n });\n\n return (\n <>\n {cloned}\n {mounted && (\n <Portal>\n <AnchoredPositioner\n anchor={anchor}\n placement={placement}\n offset={6}\n /* Exit animation bubbles up from TooltipContent; once the\n closed-state pop-out ends, tear down the Portal shell. Also\n covers the reduced-motion path, where no animation runs and\n Presence has already unmounted the body. */\n onAnimationEnd={() => {\n if (!visible) setMounted(false);\n }}\n >\n <Presence isPresent={visible}>\n <TooltipContent id={tooltipId} role=\"tooltip\">\n {content}\n </TooltipContent>\n </Presence>\n </AnchoredPositioner>\n </Portal>\n )}\n </>\n );\n}\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { OverlayChromeProvider, OverlayBody, OverlayCloseButton, OverlayDescription, OverlayFooter, OverlayHeader, OverlayTitle } from './chunk-NOOKDXIZ.js';
|
|
2
|
-
import { Backdrop } from './chunk-
|
|
2
|
+
import { Backdrop } from './chunk-NW7ULTYL.js';
|
|
3
3
|
import { useControlled } from './chunk-V267IMBH.js';
|
|
4
4
|
import { surfaceVariants } from './chunk-DX7FYAKY.js';
|
|
5
|
-
import { Slot, Portal, ScrollLockProvider, DismissableLayer } from './chunk-XLYJF3HC.js';
|
|
5
|
+
import { Slot, Portal, ScrollLockProvider, DismissableLayer, Presence } from './chunk-XLYJF3HC.js';
|
|
6
6
|
import { composeRefs, cn } from './chunk-X2MYOHOB.js';
|
|
7
7
|
import { createContext, forwardRef, useCallback, useMemo, useContext, useRef, useId } from 'react';
|
|
8
8
|
import { FocusScope } from '@radix-ui/react-focus-scope';
|
|
@@ -70,10 +70,10 @@ var DrawerTrigger = forwardRef(
|
|
|
70
70
|
}
|
|
71
71
|
);
|
|
72
72
|
var SIDE_BASE = {
|
|
73
|
-
right: "inset-y-0 right-0 h-full w-full border-l
|
|
74
|
-
left: "inset-y-0 left-0 h-full w-full border-r
|
|
75
|
-
top: "inset-x-0 top-0 w-full border-b
|
|
76
|
-
bottom: "inset-x-0 bottom-0 w-full border-t
|
|
73
|
+
right: "inset-y-0 right-0 h-full w-full border-l motion-safe:transition-transform motion-safe:duration-(--duration-base) motion-safe:ease-(--ease-out) data-[state=closed]:translate-x-full",
|
|
74
|
+
left: "inset-y-0 left-0 h-full w-full border-r motion-safe:transition-transform motion-safe:duration-(--duration-base) motion-safe:ease-(--ease-out) data-[state=closed]:-translate-x-full",
|
|
75
|
+
top: "inset-x-0 top-0 w-full border-b motion-safe:transition-transform motion-safe:duration-(--duration-base) motion-safe:ease-(--ease-out) data-[state=closed]:-translate-y-full",
|
|
76
|
+
bottom: "inset-x-0 bottom-0 w-full border-t motion-safe:transition-transform motion-safe:duration-(--duration-base) motion-safe:ease-(--ease-out) data-[state=closed]:translate-y-full"
|
|
77
77
|
};
|
|
78
78
|
var HORIZONTAL_SIZE = {
|
|
79
79
|
sm: "sm:max-w-sm",
|
|
@@ -89,6 +89,60 @@ var VERTICAL_SIZE = {
|
|
|
89
89
|
xl: "max-h-[85vh]",
|
|
90
90
|
full: "max-h-screen"
|
|
91
91
|
};
|
|
92
|
+
var DrawerSurface = forwardRef(function DrawerSurface2({
|
|
93
|
+
ctx,
|
|
94
|
+
hideBackdrop,
|
|
95
|
+
isBlurred,
|
|
96
|
+
chromeCtx,
|
|
97
|
+
surfaceClassName,
|
|
98
|
+
children,
|
|
99
|
+
// `data-state` is injected by Presence; default to "open" when rendered standalone.
|
|
100
|
+
"data-state": dataState = "open",
|
|
101
|
+
...rest
|
|
102
|
+
}, forwardedRef) {
|
|
103
|
+
return /* @__PURE__ */ jsx(Portal, { children: /* @__PURE__ */ jsxs(ScrollLockProvider, { children: [
|
|
104
|
+
!hideBackdrop && /* @__PURE__ */ jsx(
|
|
105
|
+
Backdrop,
|
|
106
|
+
{
|
|
107
|
+
isInline: true,
|
|
108
|
+
isBlurred,
|
|
109
|
+
"data-state": dataState,
|
|
110
|
+
className: cn(
|
|
111
|
+
// Backdrop fade driven by the same data-state Presence flips (motion-safe).
|
|
112
|
+
"motion-safe:transition-opacity motion-safe:duration-(--duration-base) motion-safe:ease-(--ease-out)",
|
|
113
|
+
"data-[state=closed]:opacity-0"
|
|
114
|
+
),
|
|
115
|
+
onClick: () => {
|
|
116
|
+
if (ctx.dismissOnOutsideClick) ctx.setOpen(false);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
),
|
|
120
|
+
/* @__PURE__ */ jsx(FocusScope, { asChild: true, trapped: true, loop: true, children: /* @__PURE__ */ jsx(
|
|
121
|
+
DismissableLayer,
|
|
122
|
+
{
|
|
123
|
+
isEscapeDisabled: !ctx.dismissOnEscape,
|
|
124
|
+
onEscape: () => ctx.setOpen(false),
|
|
125
|
+
isOutsideClickDisabled: true,
|
|
126
|
+
children: /* @__PURE__ */ jsx(
|
|
127
|
+
"div",
|
|
128
|
+
{
|
|
129
|
+
ref: forwardedRef,
|
|
130
|
+
role: "dialog",
|
|
131
|
+
"aria-modal": "true",
|
|
132
|
+
"aria-labelledby": ctx.titleId,
|
|
133
|
+
"aria-describedby": ctx.descriptionId,
|
|
134
|
+
"data-state": dataState,
|
|
135
|
+
"data-side": ctx.side,
|
|
136
|
+
className: surfaceClassName,
|
|
137
|
+
...rest,
|
|
138
|
+
children: /* @__PURE__ */ jsx(OverlayChromeProvider, { value: chromeCtx, children })
|
|
139
|
+
}
|
|
140
|
+
)
|
|
141
|
+
}
|
|
142
|
+
) })
|
|
143
|
+
] }) });
|
|
144
|
+
});
|
|
145
|
+
DrawerSurface.displayName = "DrawerSurface";
|
|
92
146
|
var DrawerContent = forwardRef(
|
|
93
147
|
function DrawerContent2({
|
|
94
148
|
hideBackdrop,
|
|
@@ -114,54 +168,32 @@ var DrawerContent = forwardRef(
|
|
|
114
168
|
() => ({ titleId: ctx.titleId, descriptionId: ctx.descriptionId, close }),
|
|
115
169
|
[ctx.titleId, ctx.descriptionId, close]
|
|
116
170
|
);
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
"data-state": "open",
|
|
144
|
-
"data-side": ctx.side,
|
|
145
|
-
className: cn(
|
|
146
|
-
"fixed z-modal flex flex-col gap-4 outline-none",
|
|
147
|
-
surfaceVariants({
|
|
148
|
-
variant: variant ?? "elevated",
|
|
149
|
-
tone,
|
|
150
|
-
radius: radius ?? "none",
|
|
151
|
-
padding: padding ?? "xl",
|
|
152
|
-
elevation: elevation ?? 3
|
|
153
|
-
}),
|
|
154
|
-
SIDE_BASE[ctx.side],
|
|
155
|
-
sizeClass,
|
|
156
|
-
className
|
|
157
|
-
),
|
|
158
|
-
...rest,
|
|
159
|
-
children: /* @__PURE__ */ jsx(OverlayChromeProvider, { value: chromeCtx, children })
|
|
160
|
-
}
|
|
161
|
-
)
|
|
162
|
-
}
|
|
163
|
-
) })
|
|
164
|
-
] }) });
|
|
171
|
+
const surfaceClassName = cn(
|
|
172
|
+
"fixed z-modal flex flex-col gap-4 outline-none",
|
|
173
|
+
surfaceVariants({
|
|
174
|
+
variant: variant ?? "elevated",
|
|
175
|
+
tone,
|
|
176
|
+
radius: radius ?? "none",
|
|
177
|
+
padding: padding ?? "xl",
|
|
178
|
+
elevation: elevation ?? 3
|
|
179
|
+
}),
|
|
180
|
+
SIDE_BASE[ctx.side],
|
|
181
|
+
sizeClass,
|
|
182
|
+
className
|
|
183
|
+
);
|
|
184
|
+
return /* @__PURE__ */ jsx(Presence, { isPresent: ctx.open, children: /* @__PURE__ */ jsx(
|
|
185
|
+
DrawerSurface,
|
|
186
|
+
{
|
|
187
|
+
ref: forwardedRef,
|
|
188
|
+
ctx,
|
|
189
|
+
hideBackdrop,
|
|
190
|
+
isBlurred,
|
|
191
|
+
chromeCtx,
|
|
192
|
+
surfaceClassName,
|
|
193
|
+
...rest,
|
|
194
|
+
children
|
|
195
|
+
}
|
|
196
|
+
) });
|
|
165
197
|
}
|
|
166
198
|
);
|
|
167
199
|
var DrawerHeader = OverlayHeader;
|
|
@@ -180,5 +212,5 @@ Drawer.Footer = DrawerFooter;
|
|
|
180
212
|
Drawer.Close = DrawerClose;
|
|
181
213
|
|
|
182
214
|
export { Drawer, DrawerBody, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerTitle, DrawerTrigger };
|
|
183
|
-
//# sourceMappingURL=chunk-
|
|
184
|
-
//# sourceMappingURL=chunk-
|
|
215
|
+
//# sourceMappingURL=chunk-ZC4H4PIN.js.map
|
|
216
|
+
//# sourceMappingURL=chunk-ZC4H4PIN.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/overlays/drawer/Drawer.tsx"],"names":["DrawerTrigger","DrawerSurface","DrawerContent"],"mappings":";;;;;;;;;;AAyCA,IAAM,aAAA,GAAgB,cAAyC,IAAI,CAAA;AAEnE,SAAS,gBAAA,GAAmB;AAC1B,EAAA,MAAM,GAAA,GAAM,WAAW,aAAa,CAAA;AACpC,EAAA,IAAI,CAAC,GAAA,EAAK,MAAM,IAAI,MAAM,uCAAuC,CAAA;AACjE,EAAA,OAAO,GAAA;AACT;AAYO,SAAS,MAAA,CAAO;AAAA,EACrB,IAAA,EAAM,QAAA;AAAA,EACN,WAAA,GAAc,KAAA;AAAA,EACd,YAAA;AAAA,EACA,IAAA,GAAO,OAAA;AAAA,EACP,qBAAA,GAAwB,IAAA;AAAA,EACxB,eAAA,GAAkB,IAAA;AAAA,EAClB;AACF,CAAA,EAAgB;AACd,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAI,aAAA,CAAc;AAAA,IACpC,UAAA,EAAY,QAAA;AAAA,IACZ,OAAA,EAAS,WAAA;AAAA,IACT,QAAA,EAAU;AAAA,GACX,CAAA;AACD,EAAA,MAAM,UAAA,GAAa,OAA2B,IAAI,CAAA;AAClD,EAAA,MAAM,UAAU,KAAA,EAAM;AACtB,EAAA,MAAM,gBAAgB,KAAA,EAAM;AAE5B,EAAA,MAAM,GAAA,GAAM,OAAA;AAAA,IACV,OAAO;AAAA,MACL,IAAA;AAAA,MACA,OAAA;AAAA,MACA,UAAA;AAAA,MACA,OAAA;AAAA,MACA,aAAA;AAAA,MACA,IAAA;AAAA,MACA,qBAAA;AAAA,MACA;AAAA,KACF,CAAA;AAAA,IACA,CAAC,IAAA,EAAM,OAAA,EAAS,SAAS,aAAA,EAAe,IAAA,EAAM,uBAAuB,eAAe;AAAA,GACtF;AAEA,EAAA,2BAAQ,aAAA,CAAc,QAAA,EAAd,EAAuB,KAAA,EAAO,KAAM,QAAA,EAAS,CAAA;AACvD;AAQO,IAAM,aAAA,GAAgB,UAAA;AAAA,EAC3B,SAASA,eAAc,EAAE,OAAA,EAAS,SAAS,QAAA,EAAU,GAAG,IAAA,EAAK,EAAG,YAAA,EAAc;AAC5E,IAAA,MAAM,MAAM,gBAAA,EAAiB;AAC7B,IAAA,MAAM,SAAA,GAAY,UAAU,IAAA,GAAO,QAAA;AACnC,IAAA,uBACE,GAAA;AAAA,MAAC,SAAA;AAAA,MAAA;AAAA,QACC,GAAA,EAAK,WAAA,CAAY,YAAA,EAAc,GAAA,CAAI,UAA8D,CAAA;AAAA,QACjG,IAAA,EAAK,QAAA;AAAA,QACL,eAAA,EAAc,QAAA;AAAA,QACd,iBAAe,GAAA,CAAI,IAAA;AAAA,QACnB,YAAA,EAAY,GAAA,CAAI,IAAA,GAAO,MAAA,GAAS,QAAA;AAAA,QAChC,OAAA,EAAS,CAAC,CAAA,KAA2C;AACnD,UAAA,OAAA,GAAU,CAAC,CAAA;AACX,UAAA,IAAI,EAAE,gBAAA,EAAkB;AACxB,UAAA,GAAA,CAAI,QAAQ,IAAI,CAAA;AAAA,QAClB,CAAA;AAAA,QACC,GAAG,IAAA;AAAA,QAEH;AAAA;AAAA,KACH;AAAA,EAEJ;AACF;AAOA,IAAM,SAAA,GAAwC;AAAA,EAC5C,KAAA,EACE,qLAAA;AAAA,EAGF,IAAA,EACE,qLAAA;AAAA,EAGF,GAAA,EACE,6KAAA;AAAA,EAGF,MAAA,EACE;AAGJ,CAAA;AAEA,IAAM,eAAA,GAA8C;AAAA,EAClD,EAAA,EAAI,aAAA;AAAA,EACJ,EAAA,EAAI,aAAA;AAAA,EACJ,EAAA,EAAI,aAAA;AAAA,EACJ,EAAA,EAAI,cAAA;AAAA,EACJ,IAAA,EAAM;AACR,CAAA;AAEA,IAAM,aAAA,GAA4C;AAAA,EAChD,EAAA,EAAI,cAAA;AAAA,EACJ,EAAA,EAAI,cAAA;AAAA,EACJ,EAAA,EAAI,cAAA;AAAA,EACJ,EAAA,EAAI,cAAA;AAAA,EACJ,IAAA,EAAM;AACR,CAAA;AA6BA,IAAM,aAAA,GAAgB,UAAA,CAA+C,SAASC,cAAAA,CAC5E;AAAA,EACE,GAAA;AAAA,EACA,YAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,gBAAA;AAAA,EACA,QAAA;AAAA;AAAA,EAEA,cAAc,SAAA,GAAY,MAAA;AAAA,EAC1B,GAAG;AACL,CAAA,EACA,YAAA,EACA;AACA,EAAA,uBACE,GAAA,CAAC,MAAA,EAAA,EACC,QAAA,kBAAA,IAAA,CAAC,kBAAA,EAAA,EACE,QAAA,EAAA;AAAA,IAAA,CAAC,YAAA,oBACA,GAAA;AAAA,MAAC,QAAA;AAAA,MAAA;AAAA,QACC,QAAA,EAAQ,IAAA;AAAA,QACR,SAAA;AAAA,QACA,YAAA,EAAY,SAAA;AAAA,QACZ,SAAA,EAAW,EAAA;AAAA;AAAA,UAET,qGAAA;AAAA,UACA;AAAA,SACF;AAAA,QACA,SAAS,MAAM;AACb,UAAA,IAAI,GAAA,CAAI,qBAAA,EAAuB,GAAA,CAAI,OAAA,CAAQ,KAAK,CAAA;AAAA,QAClD;AAAA;AAAA,KACF;AAAA,wBAED,UAAA,EAAA,EAAW,OAAA,EAAO,MAAC,OAAA,EAAO,IAAA,EAAC,MAAI,IAAA,EAC9B,QAAA,kBAAA,GAAA;AAAA,MAAC,gBAAA;AAAA,MAAA;AAAA,QACC,gBAAA,EAAkB,CAAC,GAAA,CAAI,eAAA;AAAA,QACvB,QAAA,EAAU,MAAM,GAAA,CAAI,OAAA,CAAQ,KAAK,CAAA;AAAA,QACjC,sBAAA,EAAsB,IAAA;AAAA,QAEtB,QAAA,kBAAA,GAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,GAAA,EAAK,YAAA;AAAA,YACL,IAAA,EAAK,QAAA;AAAA,YACL,YAAA,EAAW,MAAA;AAAA,YACX,mBAAiB,GAAA,CAAI,OAAA;AAAA,YACrB,oBAAkB,GAAA,CAAI,aAAA;AAAA,YACtB,YAAA,EAAY,SAAA;AAAA,YACZ,aAAW,GAAA,CAAI,IAAA;AAAA,YACf,SAAA,EAAW,gBAAA;AAAA,YACV,GAAG,IAAA;AAAA,YAEJ,QAAA,kBAAA,GAAA,CAAC,qBAAA,EAAA,EAAsB,KAAA,EAAO,SAAA,EAAY,QAAA,EAAS;AAAA;AAAA;AACrD;AAAA,KACF,EACF;AAAA,GAAA,EACF,CAAA,EACF,CAAA;AAEJ,CAAC,CAAA;AACD,aAAA,CAAc,WAAA,GAAc,eAAA;AAErB,IAAM,aAAA,GAAgB,UAAA;AAAA,EAC3B,SAASC,cAAAA,CACP;AAAA,IACE,YAAA;AAAA,IACA,SAAA;AAAA,IACA,OAAA;AAAA,IACA,IAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,IACA,SAAA;AAAA,IACA,IAAA,GAAO,IAAA;AAAA,IACP,SAAA;AAAA,IACA,QAAA;AAAA,IACA,GAAG;AAAA,KAEL,YAAA,EACA;AACA,IAAA,MAAM,MAAM,gBAAA,EAAiB;AAC7B,IAAA,MAAM,YAAA,GAAe,GAAA,CAAI,IAAA,KAAS,OAAA,IAAW,IAAI,IAAA,KAAS,MAAA;AAC1D,IAAA,MAAM,YAAY,YAAA,GAAe,eAAA,CAAgB,IAAI,CAAA,GAAI,cAAc,IAAI,CAAA;AAE3E,IAAA,MAAM,KAAA,GAAQ,YAAY,MAAM;AAC9B,MAAA,GAAA,CAAI,QAAQ,KAAK,CAAA;AACjB,MAAA,qBAAA,CAAsB,MAAM,GAAA,CAAI,UAAA,CAAW,OAAA,EAAS,OAAO,CAAA;AAAA,IAC7D,CAAA,EAAG,CAAC,GAAG,CAAC,CAAA;AAER,IAAA,MAAM,SAAA,GAAY,OAAA;AAAA,MAChB,OAAO,EAAE,OAAA,EAAS,GAAA,CAAI,SAAS,aAAA,EAAe,GAAA,CAAI,eAAe,KAAA,EAAM,CAAA;AAAA,MACvE,CAAC,GAAA,CAAI,OAAA,EAAS,GAAA,CAAI,eAAe,KAAK;AAAA,KACxC;AAEA,IAAA,MAAM,gBAAA,GAAmB,EAAA;AAAA,MACvB,gDAAA;AAAA,MACA,eAAA,CAAgB;AAAA,QACd,SAAS,OAAA,IAAW,UAAA;AAAA,QACpB,IAAA;AAAA,QACA,QAAQ,MAAA,IAAU,MAAA;AAAA,QAClB,SAAS,OAAA,IAAW,IAAA;AAAA,QACpB,WAAW,SAAA,IAAa;AAAA,OACzB,CAAA;AAAA,MACD,SAAA,CAAU,IAAI,IAAI,CAAA;AAAA,MAClB,SAAA;AAAA,MACA;AAAA,KACF;AAKA,IAAA,uBACE,GAAA,CAAC,QAAA,EAAA,EAAS,SAAA,EAAW,GAAA,CAAI,IAAA,EACvB,QAAA,kBAAA,GAAA;AAAA,MAAC,aAAA;AAAA,MAAA;AAAA,QACC,GAAA,EAAK,YAAA;AAAA,QACL,GAAA;AAAA,QACA,YAAA;AAAA,QACA,SAAA;AAAA,QACA,SAAA;AAAA,QACA,gBAAA;AAAA,QACC,GAAG,IAAA;AAAA,QAEH;AAAA;AAAA,KACH,EACF,CAAA;AAAA,EAEJ;AACF;AAGO,IAAM,YAAA,GAAe;AACrB,IAAM,WAAA,GAAc;AACpB,IAAM,iBAAA,GAAoB;AAC1B,IAAM,UAAA,GAAa;AACnB,IAAM,YAAA,GAAe;AACrB,IAAM,WAAA,GAAc;AAa1B,MAAA,CAA2B,OAAA,GAAU,aAAA;AACrC,MAAA,CAA2B,OAAA,GAAU,aAAA;AACrC,MAAA,CAA2B,MAAA,GAAS,YAAA;AACpC,MAAA,CAA2B,KAAA,GAAQ,WAAA;AACnC,MAAA,CAA2B,WAAA,GAAc,iBAAA;AACzC,MAAA,CAA2B,IAAA,GAAO,UAAA;AAClC,MAAA,CAA2B,MAAA,GAAS,YAAA;AACpC,MAAA,CAA2B,KAAA,GAAQ,WAAA","file":"chunk-ZC4H4PIN.js","sourcesContent":["import {\n createContext,\n forwardRef,\n useCallback,\n useContext,\n useId,\n useMemo,\n useRef,\n type ButtonHTMLAttributes,\n type HTMLAttributes,\n type ReactNode,\n} from 'react';\nimport { FocusScope } from '@radix-ui/react-focus-scope';\nimport { cn, composeRefs, surfaceVariants, type SurfaceVariants } from '../../utils';\nimport { useControlled } from '../../hooks';\nimport { DismissableLayer, Portal, Presence, ScrollLockProvider, Slot } from '../../primitives';\nimport { Backdrop } from '../backdrop';\nimport {\n OverlayBody,\n OverlayChromeProvider,\n OverlayCloseButton,\n OverlayDescription,\n OverlayFooter,\n OverlayHeader,\n OverlayTitle,\n type OverlayChromeContextValue,\n} from '../OverlayChrome';\n\nexport type DrawerSide = 'top' | 'right' | 'bottom' | 'left';\n\ninterface DrawerContextValue {\n open: boolean;\n setOpen: (open: boolean) => void;\n triggerRef: React.MutableRefObject<HTMLElement | null>;\n titleId: string;\n descriptionId: string;\n side: DrawerSide;\n dismissOnOutsideClick: boolean;\n dismissOnEscape: boolean;\n}\n\nconst DrawerContext = createContext<DrawerContextValue | null>(null);\n\nfunction useDrawerContext() {\n const ctx = useContext(DrawerContext);\n if (!ctx) throw new Error('Drawer.* must be used inside <Drawer>');\n return ctx;\n}\n\nexport interface DrawerProps {\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n side?: DrawerSide;\n dismissOnOutsideClick?: boolean;\n dismissOnEscape?: boolean;\n children: ReactNode;\n}\n\nexport function Drawer({\n open: openProp,\n defaultOpen = false,\n onOpenChange,\n side = 'right',\n dismissOnOutsideClick = true,\n dismissOnEscape = true,\n children,\n}: DrawerProps) {\n const [open, setOpen] = useControlled({\n controlled: openProp,\n default: defaultOpen,\n onChange: onOpenChange,\n });\n const triggerRef = useRef<HTMLElement | null>(null);\n const titleId = useId();\n const descriptionId = useId();\n\n const ctx = useMemo<DrawerContextValue>(\n () => ({\n open,\n setOpen,\n triggerRef,\n titleId,\n descriptionId,\n side,\n dismissOnOutsideClick,\n dismissOnEscape,\n }),\n [open, setOpen, titleId, descriptionId, side, dismissOnOutsideClick, dismissOnEscape],\n );\n\n return <DrawerContext.Provider value={ctx}>{children}</DrawerContext.Provider>;\n}\n\nexport interface DrawerTriggerProps\n extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'children'> {\n asChild?: boolean;\n children: ReactNode;\n}\n\nexport const DrawerTrigger = forwardRef<HTMLButtonElement, DrawerTriggerProps>(\n function DrawerTrigger({ asChild, onClick, children, ...rest }, forwardedRef) {\n const ctx = useDrawerContext();\n const Component = asChild ? Slot : 'button';\n return (\n <Component\n ref={composeRefs(forwardedRef, ctx.triggerRef as React.MutableRefObject<HTMLButtonElement | null>) as never}\n type=\"button\"\n aria-haspopup=\"dialog\"\n aria-expanded={ctx.open}\n data-state={ctx.open ? 'open' : 'closed'}\n onClick={(e: React.MouseEvent<HTMLButtonElement>) => {\n onClick?.(e);\n if (e.defaultPrevented) return;\n ctx.setOpen(true);\n }}\n {...rest}\n >\n {children}\n </Component>\n );\n },\n);\n\nexport type DrawerSize = 'sm' | 'md' | 'lg' | 'xl' | 'full';\n\n// Full-edge slide: the panel rests at translate-0 when open and is pushed\n// fully off its own edge when closed. `transition-transform` (gated on\n// `motion-safe:`) animates both enter and exit via Presence's data-state flip.\nconst SIDE_BASE: Record<DrawerSide, string> = {\n right:\n 'inset-y-0 right-0 h-full w-full border-l ' +\n 'motion-safe:transition-transform motion-safe:duration-(--duration-base) motion-safe:ease-(--ease-out) ' +\n 'data-[state=closed]:translate-x-full',\n left:\n 'inset-y-0 left-0 h-full w-full border-r ' +\n 'motion-safe:transition-transform motion-safe:duration-(--duration-base) motion-safe:ease-(--ease-out) ' +\n 'data-[state=closed]:-translate-x-full',\n top:\n 'inset-x-0 top-0 w-full border-b ' +\n 'motion-safe:transition-transform motion-safe:duration-(--duration-base) motion-safe:ease-(--ease-out) ' +\n 'data-[state=closed]:-translate-y-full',\n bottom:\n 'inset-x-0 bottom-0 w-full border-t ' +\n 'motion-safe:transition-transform motion-safe:duration-(--duration-base) motion-safe:ease-(--ease-out) ' +\n 'data-[state=closed]:translate-y-full',\n};\n\nconst HORIZONTAL_SIZE: Record<DrawerSize, string> = {\n sm: 'sm:max-w-sm',\n md: 'sm:max-w-md',\n lg: 'sm:max-w-lg',\n xl: 'sm:max-w-2xl',\n full: '',\n};\n\nconst VERTICAL_SIZE: Record<DrawerSize, string> = {\n sm: 'max-h-[40vh]',\n md: 'max-h-[60vh]',\n lg: 'max-h-[75vh]',\n xl: 'max-h-[85vh]',\n full: 'max-h-screen',\n};\n\n/** Represents the prop surface of `Drawer.Content`. */\nexport interface DrawerContentProps extends HTMLAttributes<HTMLDivElement>, SurfaceVariants {\n hideBackdrop?: boolean;\n isBlurred?: boolean;\n /** Per-side max-size token. Default `md` (preserves prior behavior for right/left at `sm`-ish width via `sm:max-w-md`). */\n size?: DrawerSize;\n children: ReactNode;\n}\n\n/**\n * The full portal subtree (scroll-lock + backdrop + focus-trap + dialog panel),\n * rendered as the single child of `<Presence>`. Presence injects `data-state`\n * (\"open\" | \"closed\") + a `ref` here; both are forwarded to the dialog panel —\n * the element whose `transition-transform` end defers unmount — and `data-state`\n * is mirrored onto the backdrop so its fade runs in lock-step with the slide.\n * Keeping the whole subtree inside Presence holds the focus-trap + scroll-lock\n * active through the exit animation and releases them on unmount.\n */\ninterface DrawerSurfaceProps extends HTMLAttributes<HTMLDivElement> {\n ctx: DrawerContextValue;\n hideBackdrop?: boolean;\n isBlurred?: boolean;\n chromeCtx: OverlayChromeContextValue;\n surfaceClassName?: string;\n children: ReactNode;\n}\n\nconst DrawerSurface = forwardRef<HTMLDivElement, DrawerSurfaceProps>(function DrawerSurface(\n {\n ctx,\n hideBackdrop,\n isBlurred,\n chromeCtx,\n surfaceClassName,\n children,\n // `data-state` is injected by Presence; default to \"open\" when rendered standalone.\n 'data-state': dataState = 'open',\n ...rest\n }: DrawerSurfaceProps & { 'data-state'?: 'open' | 'closed' },\n forwardedRef,\n) {\n return (\n <Portal>\n <ScrollLockProvider>\n {!hideBackdrop && (\n <Backdrop\n isInline\n isBlurred={isBlurred}\n data-state={dataState}\n className={cn(\n // Backdrop fade driven by the same data-state Presence flips (motion-safe).\n 'motion-safe:transition-opacity motion-safe:duration-(--duration-base) motion-safe:ease-(--ease-out)',\n 'data-[state=closed]:opacity-0',\n )}\n onClick={() => {\n if (ctx.dismissOnOutsideClick) ctx.setOpen(false);\n }}\n />\n )}\n <FocusScope asChild trapped loop>\n <DismissableLayer\n isEscapeDisabled={!ctx.dismissOnEscape}\n onEscape={() => ctx.setOpen(false)}\n isOutsideClickDisabled\n >\n <div\n ref={forwardedRef}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={ctx.titleId}\n aria-describedby={ctx.descriptionId}\n data-state={dataState}\n data-side={ctx.side}\n className={surfaceClassName}\n {...rest}\n >\n <OverlayChromeProvider value={chromeCtx}>{children}</OverlayChromeProvider>\n </div>\n </DismissableLayer>\n </FocusScope>\n </ScrollLockProvider>\n </Portal>\n );\n});\nDrawerSurface.displayName = 'DrawerSurface';\n\nexport const DrawerContent = forwardRef<HTMLDivElement, DrawerContentProps>(\n function DrawerContent(\n {\n hideBackdrop,\n isBlurred,\n variant,\n tone,\n radius,\n padding,\n elevation,\n size = 'md',\n className,\n children,\n ...rest\n },\n forwardedRef,\n ) {\n const ctx = useDrawerContext();\n const isHorizontal = ctx.side === 'right' || ctx.side === 'left';\n const sizeClass = isHorizontal ? HORIZONTAL_SIZE[size] : VERTICAL_SIZE[size];\n\n const close = useCallback(() => {\n ctx.setOpen(false);\n requestAnimationFrame(() => ctx.triggerRef.current?.focus());\n }, [ctx]);\n\n const chromeCtx = useMemo<OverlayChromeContextValue>(\n () => ({ titleId: ctx.titleId, descriptionId: ctx.descriptionId, close }),\n [ctx.titleId, ctx.descriptionId, close],\n );\n\n const surfaceClassName = cn(\n 'fixed z-modal flex flex-col gap-4 outline-none',\n surfaceVariants({\n variant: variant ?? 'elevated',\n tone,\n radius: radius ?? 'none',\n padding: padding ?? 'xl',\n elevation: elevation ?? 3,\n }),\n SIDE_BASE[ctx.side],\n sizeClass,\n className,\n );\n\n // Presence keeps the subtree mounted through the exit slide, flipping\n // data-state open→closed and deferring unmount until the panel's\n // transition ends.\n return (\n <Presence isPresent={ctx.open}>\n <DrawerSurface\n ref={forwardedRef}\n ctx={ctx}\n hideBackdrop={hideBackdrop}\n isBlurred={isBlurred}\n chromeCtx={chromeCtx}\n surfaceClassName={surfaceClassName}\n {...rest}\n >\n {children}\n </DrawerSurface>\n </Presence>\n );\n },\n);\n\n// Re-export shared chrome subcomponents under the Drawer namespace.\nexport const DrawerHeader = OverlayHeader;\nexport const DrawerTitle = OverlayTitle;\nexport const DrawerDescription = OverlayDescription;\nexport const DrawerBody = OverlayBody;\nexport const DrawerFooter = OverlayFooter;\nexport const DrawerClose = OverlayCloseButton;\n\ntype DrawerComponent = typeof Drawer & {\n Trigger: typeof DrawerTrigger;\n Content: typeof DrawerContent;\n Header: typeof DrawerHeader;\n Title: typeof DrawerTitle;\n Description: typeof DrawerDescription;\n Body: typeof DrawerBody;\n Footer: typeof DrawerFooter;\n Close: typeof DrawerClose;\n};\n\n(Drawer as DrawerComponent).Trigger = DrawerTrigger;\n(Drawer as DrawerComponent).Content = DrawerContent;\n(Drawer as DrawerComponent).Header = DrawerHeader;\n(Drawer as DrawerComponent).Title = DrawerTitle;\n(Drawer as DrawerComponent).Description = DrawerDescription;\n(Drawer as DrawerComponent).Body = DrawerBody;\n(Drawer as DrawerComponent).Footer = DrawerFooter;\n(Drawer as DrawerComponent).Close = DrawerClose;\n\nexport default Drawer as DrawerComponent;\n"]}
|
package/dist/display/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, ActivityFeed, ActivityItem, AnimatedNumber, AnnotationMarker, AudioPlayer, AudioWaveform, Avatar, AvatarGroup, Badge, BadgeOverlay, Card, Carousel, CarouselDot, CarouselDots, CarouselNext, CarouselPrev, CarouselSlide, CarouselSlides, CarouselViewport, ChatBubble, Code, Collapsible, CollapsibleContent, CollapsibleTrigger, Comment, CommentThread, Confetti, CountBadge, CountUp, DataGrid, DataTable, DaySeparator, DescriptionList, DiffViewer, EmptyState, EventCalendar, Eyebrow, FeatureCard, Gantt, GradientText, Heading, HeatmapCalendar, Highlight, Image, InfoRow, KeyboardShortcut, List, ListItem, Mark, Marquee, MessageList, MetaInline, MetricChip, NodeEditor, NotificationDot, PDFViewer, PricingCard, Quote, ReactionBar, ScheduleView, ScrollReveal, SectionHeader, Separator, Snippet, Sortable, Sparkline, Stat, Status, StepCard, SwipeActions, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeaderCell, TableRow, Tabs, TabsList, TabsPanel, TabsTab, Text, ThreadView, Tilt, Timeline, TimelineDescription, TimelineItem, TimelineTitle,
|
|
1
|
+
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, ActivityFeed, ActivityItem, AnimatedNumber, AnnotationMarker, AudioPlayer, AudioWaveform, Avatar, AvatarGroup, Badge, BadgeOverlay, Card, Carousel, CarouselDot, CarouselDots, CarouselNext, CarouselPrev, CarouselSlide, CarouselSlides, CarouselViewport, ChatBubble, Code, Collapsible, CollapsibleContent, CollapsibleTrigger, Comment, CommentThread, Confetti, CountBadge, CountUp, DataGrid, DataTable, DaySeparator, DescriptionList, DiffViewer, EmptyState, EventCalendar, Eyebrow, FeatureCard, Gantt, GradientText, Heading, HeatmapCalendar, Highlight, Image, InfoRow, KeyboardShortcut, List, ListItem, Mark, Marquee, MessageList, MetaInline, MetricChip, NodeEditor, NotificationDot, PDFViewer, PricingCard, Quote, ReactionBar, ScheduleView, ScrollReveal, SectionHeader, Separator, Snippet, Sortable, Sparkline, Stat, Status, StepCard, SwipeActions, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeaderCell, TableRow, Tabs, TabsList, TabsPanel, TabsTab, Text, ThreadView, Tilt, Timeline, TimelineDescription, TimelineItem, TimelineTitle, Tree, TreeGroup, TreeItem, Typewriter, VideoPlayer, avatarVariants, badgeVariants, codeVariants, headingVariants, textVariants } from '../chunk-RDRFXVNX.js';
|
|
2
2
|
export { Kbd, Tag, tagVariants } from '../chunk-3SWPYYRQ.js';
|
|
3
3
|
import '../chunk-4XWLEKH2.js';
|
|
4
|
+
export { Tooltip } from '../chunk-YQGEF43L.js';
|
|
4
5
|
import '../chunk-V267IMBH.js';
|
|
5
6
|
import '../chunk-MVMDDGW7.js';
|
|
6
7
|
import '../chunk-DX7FYAKY.js';
|
package/dist/feedback/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { Alert, AlertSimple, Banner, BannerSimple, Callout, InlineSpinner, LiveCursor, LoadingOverlay, LoadingState, MeterBar, NotificationCenter, NotificationItem, OnboardingChecklist, OnboardingChecklistTask, PresenceIndicator, ProgressBar, ProgressCircle, ProgressSteps, Skeleton, StatusIndicator, Toast, ToastSimple, Toaster, Tour, TrendIndicator, TypingIndicator, UndoBar, alertSimpleVariants, bannerSimpleVariants, progressFillVariants, progressTrackVariants, skeletonVariants, toastSimpleVariants, toaster, useOnboardingChecklist, useToaster } from '../chunk-
|
|
1
|
+
export { Alert, AlertSimple, Banner, BannerSimple, Callout, InlineSpinner, LiveCursor, LoadingOverlay, LoadingState, MeterBar, NotificationCenter, NotificationItem, OnboardingChecklist, OnboardingChecklistTask, PresenceIndicator, ProgressBar, ProgressCircle, ProgressSteps, Skeleton, StatusIndicator, Toast, ToastSimple, Toaster, Tour, TrendIndicator, TypingIndicator, UndoBar, alertSimpleVariants, bannerSimpleVariants, progressFillVariants, progressTrackVariants, skeletonVariants, toastSimpleVariants, toaster, useOnboardingChecklist, useToaster } from '../chunk-NEH4ITXL.js';
|
|
2
2
|
export { Spinner, spinnerVariants } from '../chunk-7ZDLUNAY.js';
|
|
3
|
-
import '../chunk-
|
|
3
|
+
import '../chunk-NW7ULTYL.js';
|
|
4
4
|
import '../chunk-V267IMBH.js';
|
|
5
5
|
import '../chunk-MVMDDGW7.js';
|
|
6
6
|
import '../chunk-DX7FYAKY.js';
|
|
@@ -18,4 +18,4 @@ export interface UndoBarProps {
|
|
|
18
18
|
* pause-on-hover preserves remaining time. For multi-toast queues use the L5
|
|
19
19
|
* `Toaster` instead.
|
|
20
20
|
*/
|
|
21
|
-
export declare function UndoBar({ isOpen, onOpenChange, message, onUndo, undoLabel, duration, canPauseOnHover, position, hasCountdown, className, }: UndoBarProps): import("react/jsx-runtime").JSX.Element
|
|
21
|
+
export declare function UndoBar({ isOpen, onOpenChange, message, onUndo, undoLabel, duration, canPauseOnHover, position, hasCountdown, className, }: UndoBarProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -10,7 +10,21 @@ export declare const inputBaseVariants: import("tailwind-variants").TVReturnType
|
|
|
10
10
|
default: string;
|
|
11
11
|
invalid: string;
|
|
12
12
|
};
|
|
13
|
-
|
|
13
|
+
border: {
|
|
14
|
+
none: string;
|
|
15
|
+
xs: string;
|
|
16
|
+
sm: string;
|
|
17
|
+
md: string;
|
|
18
|
+
lg: string;
|
|
19
|
+
xl: string;
|
|
20
|
+
};
|
|
21
|
+
ring: {
|
|
22
|
+
none: string;
|
|
23
|
+
sm: string;
|
|
24
|
+
md: string;
|
|
25
|
+
lg: string;
|
|
26
|
+
};
|
|
27
|
+
}, undefined, "flex w-full rounded-md bg-popover text-foreground placeholder:text-subtle-foreground transition-colors focus-visible:outline-none focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-60 read-only:bg-muted", import("tailwind-variants/dist/config.js").TVConfig<{
|
|
14
28
|
size: {
|
|
15
29
|
xs: string;
|
|
16
30
|
sm: string;
|
|
@@ -21,6 +35,20 @@ export declare const inputBaseVariants: import("tailwind-variants").TVReturnType
|
|
|
21
35
|
default: string;
|
|
22
36
|
invalid: string;
|
|
23
37
|
};
|
|
38
|
+
border: {
|
|
39
|
+
none: string;
|
|
40
|
+
xs: string;
|
|
41
|
+
sm: string;
|
|
42
|
+
md: string;
|
|
43
|
+
lg: string;
|
|
44
|
+
xl: string;
|
|
45
|
+
};
|
|
46
|
+
ring: {
|
|
47
|
+
none: string;
|
|
48
|
+
sm: string;
|
|
49
|
+
md: string;
|
|
50
|
+
lg: string;
|
|
51
|
+
};
|
|
24
52
|
}, {
|
|
25
53
|
size: {
|
|
26
54
|
xs: string;
|
|
@@ -32,6 +60,20 @@ export declare const inputBaseVariants: import("tailwind-variants").TVReturnType
|
|
|
32
60
|
default: string;
|
|
33
61
|
invalid: string;
|
|
34
62
|
};
|
|
63
|
+
border: {
|
|
64
|
+
none: string;
|
|
65
|
+
xs: string;
|
|
66
|
+
sm: string;
|
|
67
|
+
md: string;
|
|
68
|
+
lg: string;
|
|
69
|
+
xl: string;
|
|
70
|
+
};
|
|
71
|
+
ring: {
|
|
72
|
+
none: string;
|
|
73
|
+
sm: string;
|
|
74
|
+
md: string;
|
|
75
|
+
lg: string;
|
|
76
|
+
};
|
|
35
77
|
}>, {
|
|
36
78
|
size: {
|
|
37
79
|
xs: string;
|
|
@@ -43,6 +85,20 @@ export declare const inputBaseVariants: import("tailwind-variants").TVReturnType
|
|
|
43
85
|
default: string;
|
|
44
86
|
invalid: string;
|
|
45
87
|
};
|
|
88
|
+
border: {
|
|
89
|
+
none: string;
|
|
90
|
+
xs: string;
|
|
91
|
+
sm: string;
|
|
92
|
+
md: string;
|
|
93
|
+
lg: string;
|
|
94
|
+
xl: string;
|
|
95
|
+
};
|
|
96
|
+
ring: {
|
|
97
|
+
none: string;
|
|
98
|
+
sm: string;
|
|
99
|
+
md: string;
|
|
100
|
+
lg: string;
|
|
101
|
+
};
|
|
46
102
|
}, undefined, import("tailwind-variants").TVReturnType<{
|
|
47
103
|
size: {
|
|
48
104
|
xs: string;
|
|
@@ -54,7 +110,21 @@ export declare const inputBaseVariants: import("tailwind-variants").TVReturnType
|
|
|
54
110
|
default: string;
|
|
55
111
|
invalid: string;
|
|
56
112
|
};
|
|
57
|
-
|
|
113
|
+
border: {
|
|
114
|
+
none: string;
|
|
115
|
+
xs: string;
|
|
116
|
+
sm: string;
|
|
117
|
+
md: string;
|
|
118
|
+
lg: string;
|
|
119
|
+
xl: string;
|
|
120
|
+
};
|
|
121
|
+
ring: {
|
|
122
|
+
none: string;
|
|
123
|
+
sm: string;
|
|
124
|
+
md: string;
|
|
125
|
+
lg: string;
|
|
126
|
+
};
|
|
127
|
+
}, undefined, "flex w-full rounded-md bg-popover text-foreground placeholder:text-subtle-foreground transition-colors focus-visible:outline-none focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-60 read-only:bg-muted", import("tailwind-variants/dist/config.js").TVConfig<{
|
|
58
128
|
size: {
|
|
59
129
|
xs: string;
|
|
60
130
|
sm: string;
|
|
@@ -65,6 +135,20 @@ export declare const inputBaseVariants: import("tailwind-variants").TVReturnType
|
|
|
65
135
|
default: string;
|
|
66
136
|
invalid: string;
|
|
67
137
|
};
|
|
138
|
+
border: {
|
|
139
|
+
none: string;
|
|
140
|
+
xs: string;
|
|
141
|
+
sm: string;
|
|
142
|
+
md: string;
|
|
143
|
+
lg: string;
|
|
144
|
+
xl: string;
|
|
145
|
+
};
|
|
146
|
+
ring: {
|
|
147
|
+
none: string;
|
|
148
|
+
sm: string;
|
|
149
|
+
md: string;
|
|
150
|
+
lg: string;
|
|
151
|
+
};
|
|
68
152
|
}, {
|
|
69
153
|
size: {
|
|
70
154
|
xs: string;
|
|
@@ -76,5 +160,19 @@ export declare const inputBaseVariants: import("tailwind-variants").TVReturnType
|
|
|
76
160
|
default: string;
|
|
77
161
|
invalid: string;
|
|
78
162
|
};
|
|
163
|
+
border: {
|
|
164
|
+
none: string;
|
|
165
|
+
xs: string;
|
|
166
|
+
sm: string;
|
|
167
|
+
md: string;
|
|
168
|
+
lg: string;
|
|
169
|
+
xl: string;
|
|
170
|
+
};
|
|
171
|
+
ring: {
|
|
172
|
+
none: string;
|
|
173
|
+
sm: string;
|
|
174
|
+
md: string;
|
|
175
|
+
lg: string;
|
|
176
|
+
};
|
|
79
177
|
}>, unknown, unknown, undefined>>;
|
|
80
178
|
export type InputBaseVariants = VariantProps<typeof inputBaseVariants>;
|
|
@@ -29,7 +29,7 @@ export interface ComboboxContentProps extends SurfaceVariants {
|
|
|
29
29
|
offset?: number;
|
|
30
30
|
children: ReactNode;
|
|
31
31
|
}
|
|
32
|
-
export declare function ComboboxContent({ className, placement, offset, variant, tone, radius, padding, elevation, children, }: ComboboxContentProps): import("react/jsx-runtime").JSX.Element
|
|
32
|
+
export declare function ComboboxContent({ className, placement, offset, variant, tone, radius, padding, elevation, children, }: ComboboxContentProps): import("react/jsx-runtime").JSX.Element;
|
|
33
33
|
export interface ComboboxItemProps extends HTMLAttributes<HTMLDivElement> {
|
|
34
34
|
value: string;
|
|
35
35
|
isDisabled?: boolean;
|
package/dist/forms/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export { ADDRESS_COUNTRIES, AddressForm, BUILT_IN_EMOJI, BUILT_IN_FONTS, Calendar, CharacterCount, ChatComposer, Checkbox, CheckboxField, CheckboxGroup, ChoiceCard, CodeEditor, ColorArea, ColorField, ColorPicker, ColorSlider, ColorSwatch, ColorSwatchPicker, ColorWheel, Combobox, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxSeparator, CronInput, CurrencyInput, DateField, DatePicker, DateRangePicker, Editable, EditableCancel, EditableInput, EditablePreview, EditableSubmit, EmailInput, EmojiPicker, Fieldset, FilePicker, FileUpload, FontPicker, FormErrorMessage, FormField, FormHelperText, GradientPicker, IconPicker, InputAddon, InputGroup, JSONEditor, KeyboardShortcutPicker, Knob, Label, LabeledInput, Legend, Listbox, ListboxEmpty, ListboxGroup, ListboxItem, ListboxSeparator, MarkdownEditor, MaskedInput, MultiSelect, MultiSelectContent, MultiSelectItem, MultiSelectTags, MultiSelectTrigger, NumberInput, PHONE_COUNTRIES, PasswordInput, PasswordStrength, PercentInput, PhoneInput, PinInput, Radio, RadioField, RadioGroup, RangeCalendar, ReactionPicker, RecurrenceEditor, SearchInput, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, Slider, Stepper, StepperList, StepperPanel, StepperStep, Switch, SwitchField, TagsInput, TelInput, TextInput, Textarea, TimeField, TimePicker, UrlInput, Wizard, WizardFooter, WizardStep, WizardSteps, colorSwatchVariants, gradientToCss, useWizard } from '../chunk-
|
|
1
|
+
export { ADDRESS_COUNTRIES, AddressForm, BUILT_IN_EMOJI, BUILT_IN_FONTS, Calendar, CharacterCount, ChatComposer, Checkbox, CheckboxField, CheckboxGroup, ChoiceCard, CodeEditor, ColorArea, ColorField, ColorPicker, ColorSlider, ColorSwatch, ColorSwatchPicker, ColorWheel, Combobox, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxSeparator, CronInput, CurrencyInput, DateField, DatePicker, DateRangePicker, Editable, EditableCancel, EditableInput, EditablePreview, EditableSubmit, EmailInput, EmojiPicker, Fieldset, FilePicker, FileUpload, FontPicker, FormErrorMessage, FormField, FormHelperText, GradientPicker, IconPicker, InputAddon, InputGroup, JSONEditor, KeyboardShortcutPicker, Knob, Label, LabeledInput, Legend, Listbox, ListboxEmpty, ListboxGroup, ListboxItem, ListboxSeparator, MarkdownEditor, MaskedInput, MultiSelect, MultiSelectContent, MultiSelectItem, MultiSelectTags, MultiSelectTrigger, NumberInput, PHONE_COUNTRIES, PasswordInput, PasswordStrength, PercentInput, PhoneInput, PinInput, Radio, RadioField, RadioGroup, RangeCalendar, ReactionPicker, RecurrenceEditor, SearchInput, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, Slider, Stepper, StepperList, StepperPanel, StepperStep, Switch, SwitchField, TagsInput, TelInput, TextInput, Textarea, TimeField, TimePicker, UrlInput, Wizard, WizardFooter, WizardStep, WizardSteps, colorSwatchVariants, gradientToCss, useWizard } from '../chunk-5YT7XRTW.js';
|
|
2
2
|
import '../chunk-FMTBJJP6.js';
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
3
|
+
import '../chunk-GTBNVI77.js';
|
|
4
|
+
import '../chunk-ZC4H4PIN.js';
|
|
5
|
+
import '../chunk-MZZKA3ZS.js';
|
|
6
6
|
import '../chunk-NOOKDXIZ.js';
|
|
7
7
|
import '../chunk-3SWPYYRQ.js';
|
|
8
|
-
import '../chunk-
|
|
8
|
+
import '../chunk-NW7ULTYL.js';
|
|
9
9
|
import '../chunk-V267IMBH.js';
|
|
10
10
|
import '../chunk-MVMDDGW7.js';
|
|
11
11
|
import '../chunk-DX7FYAKY.js';
|