@px-ui/ui 1.0.6 → 1.0.8
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/{avatar-4rGnx_Y-.d.ts → avatar-B225ydaK.d.ts} +10 -7
- package/dist/avatar-B225ydaK.d.ts.map +1 -0
- package/dist/{avatar-B1kOPk5C.js → avatar-Bb0tx0Hn.js} +39 -5
- package/dist/avatar-Bb0tx0Hn.js.map +1 -0
- package/dist/button-D3as908Z.d.ts +19 -0
- package/dist/button-D3as908Z.d.ts.map +1 -0
- package/dist/{combobox-C-dF33ce.js → combobox-CHkmVNZ2.js} +10 -6
- package/dist/combobox-CHkmVNZ2.js.map +1 -0
- package/dist/{combobox-Dr2BYQU4.d.ts → combobox-DXVq26eH.d.ts} +23 -19
- package/dist/combobox-DXVq26eH.d.ts.map +1 -0
- package/dist/components/accordion.d.ts +5 -5
- package/dist/components/accordion.d.ts.map +1 -1
- package/dist/components/alert-dialog.d.ts +14 -14
- package/dist/components/alert-dialog.js +1 -1
- package/dist/components/alert-dialog.js.map +1 -1
- package/dist/components/alert.d.ts +5 -5
- package/dist/components/aspect-ratio.d.ts +2 -2
- package/dist/components/aspect-ratio.d.ts.map +1 -1
- package/dist/components/avatar-group.d.ts +4 -4
- package/dist/components/avatar-group.d.ts.map +1 -1
- package/dist/components/avatar-group.js +1 -1
- package/dist/components/avatar.d.ts +1 -1
- package/dist/components/avatar.js +1 -1
- package/dist/components/badge.d.ts +3 -3
- package/dist/components/badge.d.ts.map +1 -1
- package/dist/components/breadcrumb.d.ts +7 -7
- package/dist/components/breadcrumb.d.ts.map +1 -1
- package/dist/components/button-group.d.ts +6 -6
- package/dist/components/button-group.d.ts.map +1 -1
- package/dist/components/button.d.ts +1 -1
- package/dist/components/calendar.d.ts +4 -4
- package/dist/components/calendar.d.ts.map +1 -1
- package/dist/components/card.d.ts +8 -8
- package/dist/components/card.d.ts.map +1 -1
- package/dist/components/carousel.d.ts +7 -7
- package/dist/components/carousel.d.ts.map +1 -1
- package/dist/components/checkbox.d.ts +2 -2
- package/dist/components/collapsible.d.ts +4 -4
- package/dist/components/combobox.d.ts +2 -2
- package/dist/components/combobox.js +2 -2
- package/dist/components/command.d.ts +11 -11
- package/dist/components/context-menu.d.ts +16 -16
- package/dist/components/context-menu.d.ts.map +1 -1
- package/dist/components/currency-select-field.d.ts +4 -4
- package/dist/components/currency-select-field.js +2 -2
- package/dist/components/dialog.d.ts +11 -11
- package/dist/components/drawer.d.ts +11 -11
- package/dist/components/dropdown-menu.d.ts +1 -1
- package/dist/components/empty.d.ts +9 -9
- package/dist/components/field.d.ts +15 -15
- package/dist/components/file-upload-field.d.ts +2 -2
- package/dist/components/file-upload.d.ts +2 -2
- package/dist/components/hover-card.d.ts +4 -4
- package/dist/components/hover-card.d.ts.map +1 -1
- package/dist/components/input-group.d.ts +12 -12
- package/dist/components/input-group.d.ts.map +1 -1
- package/dist/components/input-otp.d.ts +5 -5
- package/dist/components/input-otp.d.ts.map +1 -1
- package/dist/components/input.d.ts +1 -1
- package/dist/components/item.d.ts +15 -15
- package/dist/components/item.d.ts.map +1 -1
- package/dist/components/kbd.d.ts +3 -3
- package/dist/components/label.d.ts +1 -1
- package/dist/components/menubar.d.ts +18 -18
- package/dist/components/native-select.d.ts +4 -4
- package/dist/components/native-select.d.ts.map +1 -1
- package/dist/components/navigation-menu.d.ts +9 -9
- package/dist/components/pagination.d.ts +9 -9
- package/dist/components/phone-input.d.ts +2 -2
- package/dist/components/popover.d.ts +7 -7
- package/dist/components/progress.d.ts +6 -6
- package/dist/components/radio-group.d.ts +3 -3
- package/dist/components/resizable.d.ts +4 -4
- package/dist/components/scroll-area.d.ts +3 -3
- package/dist/components/select.d.ts +10 -10
- package/dist/components/separator.d.ts +1 -1
- package/dist/components/sheet.d.ts +9 -9
- package/dist/components/sidebar.d.ts +26 -26
- package/dist/components/sidebar.d.ts.map +1 -1
- package/dist/components/skeleton.d.ts +2 -2
- package/dist/components/slider.d.ts +2 -2
- package/dist/components/spinner.d.ts +2 -2
- package/dist/components/switch.d.ts +2 -2
- package/dist/components/table.d.ts +9 -9
- package/dist/components/tabs.d.ts +5 -5
- package/dist/components/textarea.d.ts +2 -2
- package/dist/components/toast.d.ts +1 -1
- package/dist/components/toggle-group.d.ts +4 -4
- package/dist/components/toggle-group.js +1 -1
- package/dist/components/toggle.d.ts +1 -1
- package/dist/components/toggle.js +1 -1
- package/dist/components/tooltip.d.ts +1 -1
- package/dist/{dropdown-menu-Cgc7-ldl.d.ts → dropdown-menu-D4Lq8KcT.d.ts} +17 -17
- package/dist/{dropdown-menu-Cgc7-ldl.d.ts.map → dropdown-menu-D4Lq8KcT.d.ts.map} +1 -1
- package/dist/{file-upload-C58YcyJl.d.ts → file-upload-Cbz2hJLS.d.ts} +11 -11
- package/dist/{file-upload-C58YcyJl.d.ts.map → file-upload-Cbz2hJLS.d.ts.map} +1 -1
- package/dist/hooks/use-async-options.d.ts +1 -1
- package/dist/hooks/use-async-options.js +1 -1
- package/dist/input-BtIHVMec.d.ts +12 -0
- package/dist/input-BtIHVMec.d.ts.map +1 -0
- package/dist/label-DSbNg_nY.d.ts +11 -0
- package/dist/label-DSbNg_nY.d.ts.map +1 -0
- package/dist/providers/px-ui-provider.d.ts +4 -4
- package/dist/{separator-C-J7WHcn.d.ts → separator-xmk2NR_s.d.ts} +3 -3
- package/dist/separator-xmk2NR_s.d.ts.map +1 -0
- package/dist/{toast-D_9k54-I.d.ts → toast-C_zQMC72.d.ts} +4 -4
- package/dist/{toast-D_9k54-I.d.ts.map → toast-C_zQMC72.d.ts.map} +1 -1
- package/dist/{toggle-CrkoxTHs.d.ts → toggle-CASEgcGG.d.ts} +6 -6
- package/dist/{toggle-CrkoxTHs.d.ts.map → toggle-CASEgcGG.d.ts.map} +1 -1
- package/dist/{toggle-DhJ_qwgw.js → toggle-lqIyJptS.js} +5 -4
- package/dist/toggle-lqIyJptS.js.map +1 -0
- package/dist/{tooltip-CxZtG0tL.d.ts → tooltip-ChzCP6Bv.d.ts} +6 -6
- package/dist/{tooltip-CxZtG0tL.d.ts.map → tooltip-ChzCP6Bv.d.ts.map} +1 -1
- package/dist/{use-async-options-DHR8q5qX.d.ts → use-async-options-CD5BgoHR.d.ts} +20 -3
- package/dist/use-async-options-CD5BgoHR.d.ts.map +1 -0
- package/dist/{use-async-options-wZ9LJ2BJ.js → use-async-options-CcsImGX4.js} +13 -6
- package/dist/use-async-options-CcsImGX4.js.map +1 -0
- package/package.json +1 -1
- package/dist/avatar-4rGnx_Y-.d.ts.map +0 -1
- package/dist/avatar-B1kOPk5C.js.map +0 -1
- package/dist/button-t2Pir50R.d.ts +0 -19
- package/dist/button-t2Pir50R.d.ts.map +0 -1
- package/dist/combobox-C-dF33ce.js.map +0 -1
- package/dist/combobox-Dr2BYQU4.d.ts.map +0 -1
- package/dist/input-B24wy7Fz.d.ts +0 -12
- package/dist/input-B24wy7Fz.d.ts.map +0 -1
- package/dist/label-Ctmor2MM.d.ts +0 -11
- package/dist/label-Ctmor2MM.d.ts.map +0 -1
- package/dist/separator-C-J7WHcn.d.ts.map +0 -1
- package/dist/toggle-DhJ_qwgw.js.map +0 -1
- package/dist/use-async-options-DHR8q5qX.d.ts.map +0 -1
- package/dist/use-async-options-wZ9LJ2BJ.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime277 from "react/jsx-runtime";
|
|
2
2
|
import * as React$1 from "react";
|
|
3
3
|
import { Avatar } from "@base-ui/react/avatar";
|
|
4
4
|
|
|
@@ -6,9 +6,10 @@ import { Avatar } from "@base-ui/react/avatar";
|
|
|
6
6
|
declare function getInitialsFromName(name: string | null | undefined): string;
|
|
7
7
|
declare function getAvatarColorByName(name: string | null | undefined): React$1.CSSProperties;
|
|
8
8
|
type AvatarSize = "default" | "sm" | "lg";
|
|
9
|
+
type AvatarSizeProp = AvatarSize | number;
|
|
9
10
|
type AvatarShape = "rounded" | "squared";
|
|
10
11
|
type AvatarProps = Avatar.Root.Props & {
|
|
11
|
-
size?:
|
|
12
|
+
size?: AvatarSizeProp;
|
|
12
13
|
shape?: AvatarShape;
|
|
13
14
|
tooltip?: React$1.ReactNode | false;
|
|
14
15
|
};
|
|
@@ -19,12 +20,14 @@ declare function Avatar$1({
|
|
|
19
20
|
shape,
|
|
20
21
|
tooltip,
|
|
21
22
|
children,
|
|
23
|
+
style,
|
|
22
24
|
...props
|
|
23
|
-
}: AvatarProps):
|
|
25
|
+
}: AvatarProps): react_jsx_runtime277.JSX.Element;
|
|
24
26
|
declare function AvatarImage({
|
|
25
27
|
className,
|
|
28
|
+
src,
|
|
26
29
|
...props
|
|
27
|
-
}: Avatar.Image.Props):
|
|
30
|
+
}: Avatar.Image.Props): react_jsx_runtime277.JSX.Element;
|
|
28
31
|
type AvatarFallbackProps = Avatar.Fallback.Props & {
|
|
29
32
|
name?: string | null;
|
|
30
33
|
};
|
|
@@ -34,11 +37,11 @@ declare function AvatarFallback({
|
|
|
34
37
|
children,
|
|
35
38
|
style,
|
|
36
39
|
...props
|
|
37
|
-
}: AvatarFallbackProps):
|
|
40
|
+
}: AvatarFallbackProps): react_jsx_runtime277.JSX.Element;
|
|
38
41
|
declare function AvatarBadge({
|
|
39
42
|
className,
|
|
40
43
|
...props
|
|
41
|
-
}: React$1.ComponentProps<"span">):
|
|
44
|
+
}: React$1.ComponentProps<"span">): react_jsx_runtime277.JSX.Element;
|
|
42
45
|
//#endregion
|
|
43
46
|
export { AvatarImage as a, getAvatarLabelFromChildren as c, AvatarFallbackProps as i, getInitialsFromName as l, AvatarBadge as n, AvatarProps as o, AvatarFallback as r, getAvatarColorByName as s, Avatar$1 as t };
|
|
44
|
-
//# sourceMappingURL=avatar-
|
|
47
|
+
//# sourceMappingURL=avatar-B225ydaK.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatar-B225ydaK.d.ts","names":[],"sources":["../src/components/avatar.tsx"],"sourcesContent":[],"mappings":";;;;;iBAmCS,mBAAA;iBAQA,oBAAA,mCAEN,OAAA,CAAM;KAwBJ,UAAA;AApE4D,KAqE5D,cAAA,GAAiB,UAnCM,GAAA,MAAA;AAAA,KAoCvB,WAAA,GA5BI,SAAoB,GAAA,SAE1B;AAAmB,KA6DjB,WAAA,GAAc,MAAA,CAAgB,IAAA,CAAK,KArCzB,GAAA;EACV,IAAA,CAAA,EAqCI,cArCU;EACd,KAAA,CAAA,EAqCK,WArCM;EAmCX,OAAA,CAAA,EAGO,OAAA,CAAM,SAHF,GAAA,KAAA;CAAG;iBAMV,0BAAA,CALA,QAAA,EAMG,OAAA,CAAM,SANT,CAAA,EAON,OAAA,CAAM,SAPA,GAAA,SAAA;iBAuBA,QAAA,CAtBC;EAAA,SAAA;EAAA,IAAA;EAAA,KAAA;EAAA,OAAA;EAAA,QAAA;EAAA,KAAA;EAAA,GAAA;AAAA,CAAA,EA8BP,WA9BO,CAAA,EA8BI,oBAAA,CAAA,GAAA,CAAA,OA9BJ;iBA8DD,WAAA,CA7DS;EAAA,SAAA;EAAA,GAAA;EAAA,GAAA;AAAA,CAAA,EA6DiC,MAAA,CAAgB,KAAA,CAAM,KA7DvD,CAAA,EA6D4D,oBAAA,CAAA,GAAA,CAAA,OA7D5D;KA4Eb,mBAAA,GAAsB,MAAA,CAAgB,QAAA,CAAS,KA5EzB,GAAA;EAGlB,IAAA,CAAA,EAAA,MAAA,GAAA,IAAA;AAES,CAAA;iBA2ET,cAAA,CA1DP;EAAA,SAAA;EAAA,IAAA;EAAA,QAAA;EAAA,KAAA;EAAA,GAAA;AAAA,CAAA,EAgEC,mBAhED,CAAA,EAgEoB,oBAAA,CAAA,GAAA,CAAA,OAhEpB;iBA8FO,WAAA,CA7FP;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA6F4C,OAAA,CAAM,cA7FlD,CAAA,MAAA,CAAA,CAAA,EA6FwE,oBAAA,CAAA,GAAA,CAAA,OA7FxE"}
|
|
@@ -56,6 +56,26 @@ function getStringFromChildren(children) {
|
|
|
56
56
|
});
|
|
57
57
|
return out;
|
|
58
58
|
}
|
|
59
|
+
const AVATAR_TOKEN_PX = {
|
|
60
|
+
sm: 24,
|
|
61
|
+
default: 32,
|
|
62
|
+
lg: 40
|
|
63
|
+
};
|
|
64
|
+
function avatarSizeToPx(size) {
|
|
65
|
+
return typeof size === "number" ? size : AVATAR_TOKEN_PX[size];
|
|
66
|
+
}
|
|
67
|
+
function nearestAvatarToken(px) {
|
|
68
|
+
if (px <= 28) return "sm";
|
|
69
|
+
if (px >= 40) return "lg";
|
|
70
|
+
return "default";
|
|
71
|
+
}
|
|
72
|
+
function resolveAvatarSrc(src, size) {
|
|
73
|
+
if (!src || !src.includes("/SIZE/")) return src;
|
|
74
|
+
const dpr = typeof window !== "undefined" ? window.devicePixelRatio || 1 : 2;
|
|
75
|
+
const dim = Math.round(avatarSizeToPx(size) * dpr);
|
|
76
|
+
return src.replace("/SIZE/", `/${dim}x${dim}/`);
|
|
77
|
+
}
|
|
78
|
+
const AvatarSizeContext = React$1.createContext("default");
|
|
59
79
|
function getAvatarLabelFromChildren(children) {
|
|
60
80
|
let alt;
|
|
61
81
|
let name;
|
|
@@ -71,36 +91,50 @@ function getAvatarLabelFromChildren(children) {
|
|
|
71
91
|
});
|
|
72
92
|
return name ?? alt;
|
|
73
93
|
}
|
|
74
|
-
function Avatar$1({ className, size = "default", shape = "rounded", tooltip, children, ...props }) {
|
|
94
|
+
function Avatar$1({ className, size = "default", shape = "rounded", tooltip, children, style, ...props }) {
|
|
95
|
+
const numeric = typeof size === "number";
|
|
75
96
|
const root = /* @__PURE__ */ jsx(Avatar.Root, {
|
|
76
97
|
"data-slot": "avatar",
|
|
77
|
-
"data-size": size,
|
|
98
|
+
"data-size": numeric ? nearestAvatarToken(size) : size,
|
|
78
99
|
"data-shape": shape,
|
|
100
|
+
style: numeric ? {
|
|
101
|
+
width: size,
|
|
102
|
+
height: size,
|
|
103
|
+
...style
|
|
104
|
+
} : style,
|
|
79
105
|
className: cn("group/avatar relative flex size-8 shrink-0 rounded-full select-none after:absolute after:inset-0 after:rounded-full after:border after:border-border after:mix-blend-darken data-[shape=squared]:rounded-lg data-[shape=squared]:after:rounded-lg data-[size=lg]:size-10 data-[size=sm]:size-6 dark:after:mix-blend-lighten", className),
|
|
80
106
|
...props,
|
|
81
|
-
children
|
|
107
|
+
children: /* @__PURE__ */ jsx(AvatarSizeContext.Provider, {
|
|
108
|
+
value: size,
|
|
109
|
+
children
|
|
110
|
+
})
|
|
82
111
|
});
|
|
83
112
|
const resolved = tooltip === void 0 ? getAvatarLabelFromChildren(children) : tooltip;
|
|
84
113
|
if (resolved === false || resolved == null || resolved === "") return root;
|
|
85
114
|
return /* @__PURE__ */ jsxs(Tooltip, { children: [/* @__PURE__ */ jsx(TooltipTrigger, { render: root }), /* @__PURE__ */ jsx(TooltipContent, { children: resolved })] });
|
|
86
115
|
}
|
|
87
|
-
function AvatarImage({ className, ...props }) {
|
|
116
|
+
function AvatarImage({ className, src, ...props }) {
|
|
117
|
+
const size = React$1.useContext(AvatarSizeContext);
|
|
88
118
|
return /* @__PURE__ */ jsx(Avatar.Image, {
|
|
89
119
|
"data-slot": "avatar-image",
|
|
120
|
+
src: resolveAvatarSrc(src, size),
|
|
90
121
|
className: cn("aspect-square size-full rounded-full object-cover group-data-[shape=squared]/avatar:rounded-lg", className),
|
|
91
122
|
...props
|
|
92
123
|
});
|
|
93
124
|
}
|
|
94
125
|
function AvatarFallback({ className, name, children, style, ...props }) {
|
|
126
|
+
const size = React$1.useContext(AvatarSizeContext);
|
|
95
127
|
const colorStyle = React$1.useMemo(() => {
|
|
96
128
|
return getAvatarColorByName(name ?? getStringFromChildren(children));
|
|
97
129
|
}, [name, children]);
|
|
98
130
|
const initials = React$1.useMemo(() => name && children == null ? getInitialsFromName(name) : void 0, [name, children]);
|
|
131
|
+
const fontStyle = typeof size === "number" ? { fontSize: Math.round(size * .4) } : void 0;
|
|
99
132
|
return /* @__PURE__ */ jsx(Avatar.Fallback, {
|
|
100
133
|
"data-slot": "avatar-fallback",
|
|
101
134
|
className: cn("flex size-full items-center justify-center rounded-full font-medium text-sm group-data-[shape=squared]/avatar:rounded-lg group-data-[size=sm]/avatar:text-xs", className),
|
|
102
135
|
style: {
|
|
103
136
|
...colorStyle,
|
|
137
|
+
...fontStyle,
|
|
104
138
|
...style
|
|
105
139
|
},
|
|
106
140
|
...props,
|
|
@@ -117,4 +151,4 @@ function AvatarBadge({ className, ...props }) {
|
|
|
117
151
|
|
|
118
152
|
//#endregion
|
|
119
153
|
export { getAvatarColorByName as a, AvatarImage as i, AvatarBadge as n, getAvatarLabelFromChildren as o, AvatarFallback as r, getInitialsFromName as s, Avatar$1 as t };
|
|
120
|
-
//# sourceMappingURL=avatar-
|
|
154
|
+
//# sourceMappingURL=avatar-Bb0tx0Hn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatar-Bb0tx0Hn.js","names":["AVATAR_TOKEN_PX: Record<AvatarSize, number>","React","alt: string | undefined","name: string | undefined","Avatar","AvatarPrimitive"],"sources":["../src/components/avatar.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { Avatar as AvatarPrimitive } from \"@base-ui/react/avatar\"\n\nimport { cn } from \"@px-ui/ui/lib/utils\"\nimport { Tooltip, TooltipContent, TooltipTrigger } from \"@px-ui/ui/components/tooltip\"\n\nconst AVATAR_NAME_PALETTE = [\n \"#bdc3c7\",\n \"#6f7b87\",\n \"#2c3e50\",\n \"#2f3193\",\n \"#662d91\",\n \"#922790\",\n \"#ec2176\",\n \"#ed1c24\",\n \"#f36622\",\n \"#f8941e\",\n \"#fab70f\",\n \"#fdde00\",\n \"#d1d219\",\n \"#8ec73f\",\n \"#00a650\",\n \"#00aa9c\",\n \"#00adef\",\n \"#0081cd\",\n \"#005bab\",\n \"#012a4a\",\n \"#013a63\",\n \"#06d6a0\",\n \"#ef476f\",\n \"#ff5d8f\",\n \"#0496ff\",\n \"#c879ff\",\n]\n\nfunction getInitialsFromName(name: string | null | undefined): string {\n if (!name) return \"\"\n const matches = [...name.matchAll(/(\\b\\w)/g)]\n return (\n (matches.shift()?.[1] ?? \"\") + (matches.pop()?.[1] ?? \"\")\n ).toUpperCase()\n}\n\nfunction getAvatarColorByName(\n name: string | null | undefined\n): React.CSSProperties {\n const seed = name && name.length ? name : \"?\"\n let index = seed[0].toUpperCase().charCodeAt(0)\n const lastName = seed.split(\" \")[1]\n if (lastName) {\n index = Math.floor((index + lastName[0].toUpperCase().charCodeAt(0)) / 2)\n }\n index = Math.abs(index - 65) % AVATAR_NAME_PALETTE.length\n return {\n backgroundColor: AVATAR_NAME_PALETTE[index],\n color: \"#fff\",\n }\n}\n\nfunction getStringFromChildren(children: React.ReactNode): string {\n let out = \"\"\n React.Children.forEach(children, (child) => {\n if (typeof child === \"string\" || typeof child === \"number\") {\n out += child\n }\n })\n return out\n}\n\ntype AvatarSize = \"default\" | \"sm\" | \"lg\"\ntype AvatarSizeProp = AvatarSize | number\ntype AvatarShape = \"rounded\" | \"squared\"\n\nconst AVATAR_TOKEN_PX: Record<AvatarSize, number> = {\n sm: 24,\n default: 32,\n lg: 40,\n}\n\nfunction avatarSizeToPx(size: AvatarSizeProp): number {\n return typeof size === \"number\" ? size : AVATAR_TOKEN_PX[size]\n}\n\n// Bucket a raw pixel size into the nearest token so fallback text and the\n// badge keep scaling via the existing data-[size=*] utilities.\nfunction nearestAvatarToken(px: number): AvatarSize {\n if (px <= 28) return \"sm\"\n if (px >= 40) return \"lg\"\n return \"default\"\n}\n\n// Image URLs may carry a \"/SIZE/\" placeholder (CDN convention) that we resolve\n// to the rendered box size scaled by the device pixel ratio for crisp images.\n// URLs without the placeholder are returned untouched.\nfunction resolveAvatarSrc(\n src: string | undefined,\n size: AvatarSizeProp\n): string | undefined {\n if (!src || !src.includes(\"/SIZE/\")) return src\n const dpr = typeof window !== \"undefined\" ? window.devicePixelRatio || 1 : 2\n const dim = Math.round(avatarSizeToPx(size) * dpr)\n return src.replace(\"/SIZE/\", `/${dim}x${dim}/`)\n}\n\nconst AvatarSizeContext = React.createContext<AvatarSizeProp>(\"default\")\n\ntype AvatarProps = AvatarPrimitive.Root.Props & {\n size?: AvatarSizeProp\n shape?: AvatarShape\n tooltip?: React.ReactNode | false\n}\n\nfunction getAvatarLabelFromChildren(\n children: React.ReactNode\n): React.ReactNode | undefined {\n let alt: string | undefined\n let name: string | undefined\n React.Children.forEach(children, (child) => {\n if (!React.isValidElement(child)) return\n if (child.type === AvatarFallback) {\n const props = child.props as AvatarFallbackProps\n if (props.name) name = props.name\n } else if (child.type === AvatarImage) {\n const props = child.props as AvatarPrimitive.Image.Props\n if (props.alt) alt = props.alt\n }\n })\n return name ?? alt\n}\n\nfunction Avatar({\n className,\n size = \"default\",\n shape = \"rounded\",\n tooltip,\n children,\n style,\n ...props\n}: AvatarProps) {\n const numeric = typeof size === \"number\"\n const root = (\n <AvatarPrimitive.Root\n data-slot=\"avatar\"\n data-size={numeric ? nearestAvatarToken(size) : size}\n data-shape={shape}\n style={numeric ? { width: size, height: size, ...style } : style}\n className={cn(\n \"group/avatar relative flex size-8 shrink-0 rounded-full select-none after:absolute after:inset-0 after:rounded-full after:border after:border-border after:mix-blend-darken data-[shape=squared]:rounded-lg data-[shape=squared]:after:rounded-lg data-[size=lg]:size-10 data-[size=sm]:size-6 dark:after:mix-blend-lighten\",\n className\n )}\n {...props}\n >\n <AvatarSizeContext.Provider value={size}>\n {children}\n </AvatarSizeContext.Provider>\n </AvatarPrimitive.Root>\n )\n\n const resolved =\n tooltip === undefined ? getAvatarLabelFromChildren(children) : tooltip\n if (resolved === false || resolved == null || resolved === \"\") return root\n\n return (\n <Tooltip>\n <TooltipTrigger render={root} />\n <TooltipContent>{resolved}</TooltipContent>\n </Tooltip>\n )\n}\n\nfunction AvatarImage({ className, src, ...props }: AvatarPrimitive.Image.Props) {\n const size = React.useContext(AvatarSizeContext)\n return (\n <AvatarPrimitive.Image\n data-slot=\"avatar-image\"\n src={resolveAvatarSrc(src, size)}\n className={cn(\n \"aspect-square size-full rounded-full object-cover group-data-[shape=squared]/avatar:rounded-lg\",\n className\n )}\n {...props}\n />\n )\n}\n\ntype AvatarFallbackProps = AvatarPrimitive.Fallback.Props & {\n name?: string | null\n}\n\nfunction AvatarFallback({\n className,\n name,\n children,\n style,\n ...props\n}: AvatarFallbackProps) {\n const size = React.useContext(AvatarSizeContext)\n const colorStyle = React.useMemo(() => {\n const seed = name ?? getStringFromChildren(children)\n return getAvatarColorByName(seed)\n }, [name, children])\n const initials = React.useMemo(\n () => (name && children == null ? getInitialsFromName(name) : undefined),\n [name, children]\n )\n // For an explicit pixel size, scale the initials with the box (~0.4 of the\n // box, matching the token ratios); tokens keep the className-based sizing.\n const fontStyle =\n typeof size === \"number\" ? { fontSize: Math.round(size * 0.4) } : undefined\n\n return (\n <AvatarPrimitive.Fallback\n data-slot=\"avatar-fallback\"\n className={cn(\n \"flex size-full items-center justify-center rounded-full font-medium text-sm group-data-[shape=squared]/avatar:rounded-lg group-data-[size=sm]/avatar:text-xs\",\n className\n )}\n style={{ ...colorStyle, ...fontStyle, ...style }}\n {...props}\n >\n {children ?? initials}\n </AvatarPrimitive.Fallback>\n )\n}\n\nfunction AvatarBadge({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"avatar-badge\"\n className={cn(\n \"absolute end-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full bg-primary text-primary-foreground bg-blend-color ring-2 ring-background select-none\",\n \"group-data-[size=sm]/avatar:size-2 group-data-[size=sm]/avatar:[&>svg]:hidden\",\n \"group-data-[size=default]/avatar:size-2.5 group-data-[size=default]/avatar:[&>svg]:size-2\",\n \"group-data-[size=lg]/avatar:size-3 group-data-[size=lg]/avatar:[&>svg]:size-2\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport {\n Avatar,\n AvatarImage,\n AvatarFallback,\n AvatarBadge,\n getAvatarLabelFromChildren,\n getInitialsFromName,\n getAvatarColorByName,\n}\nexport type { AvatarProps, AvatarFallbackProps }\n"],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as react_jsx_runtime289 from "react/jsx-runtime";
|
|
2
|
+
import { Button } from "@base-ui/react/button";
|
|
3
|
+
import { VariantProps } from "class-variance-authority";
|
|
4
|
+
import * as class_variance_authority_types12 from "class-variance-authority/types";
|
|
5
|
+
|
|
6
|
+
//#region src/components/button.d.ts
|
|
7
|
+
declare const buttonVariants: (props?: ({
|
|
8
|
+
variant?: "default" | "destructive" | "link" | "outline" | "secondary" | "ghost" | null | undefined;
|
|
9
|
+
size?: "default" | "sm" | "lg" | "xs" | "icon-xs" | "icon-sm" | "icon" | "icon-lg" | null | undefined;
|
|
10
|
+
} & class_variance_authority_types12.ClassProp) | undefined) => string;
|
|
11
|
+
declare function Button$1({
|
|
12
|
+
className,
|
|
13
|
+
variant,
|
|
14
|
+
size,
|
|
15
|
+
...props
|
|
16
|
+
}: Button.Props & VariantProps<typeof buttonVariants>): react_jsx_runtime289.JSX.Element;
|
|
17
|
+
//#endregion
|
|
18
|
+
export { buttonVariants as n, Button$1 as t };
|
|
19
|
+
//# sourceMappingURL=button-D3as908Z.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"button-D3as908Z.d.ts","names":[],"sources":["../src/components/button.tsx"],"sourcesContent":[],"mappings":";;;;;;cAKM;;;IAmCL,gCAAA,CAAA;AAvCgE,iBAyCxD,QAAA,CAFR;EAAA,SAAA;EAAA,OAAA;EAAA,IAAA;EAAA,GAAA;AAAA,CAAA,EAOE,MAAA,CAAgB,KAPlB,GAO0B,YAP1B,CAAA,OAO8C,cAP9C,CAAA,CAAA,EAO6D,oBAAA,CAAA,GAAA,CAAA,OAP7D"}
|
|
@@ -2,7 +2,7 @@ import { t as cn } from "./utils-mWJR2N24.js";
|
|
|
2
2
|
import { t as Button } from "./button-hBUFMmsZ.js";
|
|
3
3
|
import { i as InputGroupInput, n as InputGroupAddon, r as InputGroupButton, t as InputGroup } from "./input-group-DqEkmpXW.js";
|
|
4
4
|
import { t as Spinner } from "./spinner-Bo0sUZEg.js";
|
|
5
|
-
import { n as useAsyncOptions } from "./use-async-options-
|
|
5
|
+
import { n as useAsyncOptions } from "./use-async-options-CcsImGX4.js";
|
|
6
6
|
import { t as use_infinite_scroll_default } from "./use-infinite-scroll-CpbhGGT5.js";
|
|
7
7
|
import { t as useDebounce } from "./use-debounce-_qaEZqtt.js";
|
|
8
8
|
import { CheckIcon, ChevronDownIcon, XIcon } from "lucide-react";
|
|
@@ -41,12 +41,14 @@ function useAttachComboboxAnchor(userRef) {
|
|
|
41
41
|
function normalizeInputValue(value) {
|
|
42
42
|
return Array.isArray(value) ? value.join(",") : String(value ?? "");
|
|
43
43
|
}
|
|
44
|
-
function Combobox$1({ loadOptions, debounceMs, isLoading = false, ...props }) {
|
|
44
|
+
function Combobox$1({ loadOptions, debounceMs, isLoading = false, eager = false, localFilter = false, ...props }) {
|
|
45
45
|
const anchorRef = React$1.useRef(null);
|
|
46
46
|
const inner = loadOptions ? /* @__PURE__ */ jsx(ComboboxAsyncRoot, {
|
|
47
47
|
loadOptions,
|
|
48
48
|
debounceMs,
|
|
49
49
|
isLoading,
|
|
50
|
+
eager,
|
|
51
|
+
localFilter,
|
|
50
52
|
...props
|
|
51
53
|
}) : /* @__PURE__ */ jsx(ComboboxAsyncContext.Provider, {
|
|
52
54
|
value: {
|
|
@@ -67,7 +69,7 @@ function Combobox$1({ loadOptions, debounceMs, isLoading = false, ...props }) {
|
|
|
67
69
|
children: inner
|
|
68
70
|
});
|
|
69
71
|
}
|
|
70
|
-
function ComboboxAsyncRoot({ loadOptions, debounceMs = 500, open: openProp, inputValue: inputValueProp, defaultInputValue, onOpenChange, onInputValueChange, filter:
|
|
72
|
+
function ComboboxAsyncRoot({ loadOptions, debounceMs = 500, open: openProp, inputValue: inputValueProp, defaultInputValue, onOpenChange, onInputValueChange, filter: filterProp, items: _ignoredItems, autoHighlight = "always", isLoading: isLoadingProp = false, eager = false, localFilter = false, children, ...props }) {
|
|
71
73
|
const [internalOpen, setInternalOpen] = React$1.useState(false);
|
|
72
74
|
const open = openProp ?? internalOpen;
|
|
73
75
|
const handleOpenChange = (next, eventDetails) => {
|
|
@@ -89,7 +91,9 @@ function ComboboxAsyncRoot({ loadOptions, debounceMs = 500, open: openProp, inpu
|
|
|
89
91
|
};
|
|
90
92
|
const asyncState = useAsyncOptions(loadOptions, {
|
|
91
93
|
isOpen: open,
|
|
92
|
-
inputValue: debouncedSearchValue
|
|
94
|
+
inputValue: debouncedSearchValue,
|
|
95
|
+
eager,
|
|
96
|
+
localFilter
|
|
93
97
|
});
|
|
94
98
|
const contextValue = React$1.useMemo(() => ({
|
|
95
99
|
isAsync: true,
|
|
@@ -111,7 +115,7 @@ function ComboboxAsyncRoot({ loadOptions, debounceMs = 500, open: openProp, inpu
|
|
|
111
115
|
children: /* @__PURE__ */ jsx(Combobox.Root, {
|
|
112
116
|
...props,
|
|
113
117
|
items: asyncState.items,
|
|
114
|
-
filter: null,
|
|
118
|
+
filter: asyncState.isLocalFilter ? filterProp : null,
|
|
115
119
|
autoHighlight,
|
|
116
120
|
open,
|
|
117
121
|
inputValue: inputValueProp,
|
|
@@ -334,4 +338,4 @@ function useComboboxAnchor() {
|
|
|
334
338
|
|
|
335
339
|
//#endregion
|
|
336
340
|
export { useComboboxAnchor as _, ComboboxClear as a, ComboboxGroup as c, ComboboxLabel as d, ComboboxList as f, ComboboxValue as g, ComboboxTrigger as h, ComboboxChipsInput as i, ComboboxInput as l, ComboboxStatus as m, ComboboxChip as n, ComboboxCollection as o, ComboboxSeparator as p, ComboboxChips as r, ComboboxContent as s, Combobox$1 as t, ComboboxItem as u };
|
|
337
|
-
//# sourceMappingURL=combobox-
|
|
341
|
+
//# sourceMappingURL=combobox-CHkmVNZ2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"combobox-CHkmVNZ2.js","names":["React","Combobox","ComboboxPrimitive","useInfiniteScroll"],"sources":["../src/components/combobox.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { Combobox as ComboboxPrimitive } from \"@base-ui/react\";\n\nimport { cn } from \"@px-ui/ui/lib/utils\";\nimport { Button } from \"@px-ui/ui/components/button\";\nimport {\n InputGroup,\n InputGroupAddon,\n InputGroupButton,\n InputGroupInput,\n} from \"@px-ui/ui/components/input-group\";\nimport { Spinner } from \"@px-ui/ui/components/spinner\";\nimport {\n useAsyncOptions,\n type LoadOptionsConfig,\n} from \"@px-ui/ui/hooks/use-async-options\";\nimport useInfiniteScroll from \"@px-ui/ui/hooks/use-infinite-scroll\";\nimport useDebounce from \"@px-ui/ui/hooks/use-debounce\";\nimport { ChevronDownIcon, XIcon, CheckIcon } from \"lucide-react\";\n\ntype ComboboxAsyncContextValue = {\n isAsync: boolean;\n isLoading: boolean;\n isLoadingMore: boolean;\n isError: boolean;\n hasMore: boolean;\n onLoadMore: () => void;\n};\n\nconst ComboboxAsyncContext = React.createContext<ComboboxAsyncContextValue>({\n isAsync: false,\n isLoading: false,\n isLoadingMore: false,\n isError: false,\n hasMore: false,\n onLoadMore: () => {},\n});\n\nfunction useComboboxAsyncContext() {\n return React.useContext(ComboboxAsyncContext);\n}\n\nconst ComboboxListRefContext = React.createContext<HTMLElement | null>(null);\n\nconst ComboboxAnchorContext =\n React.createContext<React.MutableRefObject<HTMLElement | null> | null>(null);\n\nconst ComboboxInsidePopupContext = React.createContext(false);\n\nfunction useAttachComboboxAnchor<T extends HTMLElement>(\n userRef?: React.Ref<T> | null,\n) {\n const ctxRef = React.useContext(ComboboxAnchorContext);\n const insidePopup = React.useContext(ComboboxInsidePopupContext);\n return React.useCallback(\n (node: T | null) => {\n if (typeof userRef === \"function\") userRef(node);\n else if (userRef && typeof userRef === \"object\") {\n (userRef as React.MutableRefObject<T | null>).current = node;\n }\n if (ctxRef && !insidePopup) ctxRef.current = node;\n },\n [ctxRef, insidePopup, userRef],\n );\n}\n\nfunction normalizeInputValue(value: unknown) {\n return Array.isArray(value) ? value.join(\",\") : String(value ?? \"\");\n}\n\ntype ComboboxProps<\n Value,\n Multiple extends boolean | undefined = false,\n> = ComboboxPrimitive.Root.Props<Value, Multiple> & {\n loadOptions?: LoadOptionsConfig<Value>;\n debounceMs?: number;\n isLoading?: boolean;\n eager?: boolean;\n localFilter?: boolean;\n};\n\nfunction Combobox<Value, Multiple extends boolean | undefined = false>({\n loadOptions,\n debounceMs,\n isLoading = false,\n eager = false,\n localFilter = false,\n ...props\n}: ComboboxProps<Value, Multiple>) {\n const anchorRef = React.useRef<HTMLElement | null>(null);\n const inner = loadOptions ? (\n <ComboboxAsyncRoot\n loadOptions={loadOptions}\n debounceMs={debounceMs}\n isLoading={isLoading}\n eager={eager}\n localFilter={localFilter}\n {...(props as ComboboxPrimitive.Root.Props<Value, Multiple>)}\n />\n ) : (\n <ComboboxAsyncContext.Provider\n value={{\n isAsync: false,\n isLoading,\n isLoadingMore: false,\n isError: false,\n hasMore: false,\n onLoadMore: () => {},\n }}\n >\n <ComboboxPrimitive.Root autoHighlight {...props} />\n </ComboboxAsyncContext.Provider>\n );\n return (\n <ComboboxAnchorContext.Provider value={anchorRef}>\n {inner}\n </ComboboxAnchorContext.Provider>\n );\n}\n\nfunction ComboboxAsyncRoot<\n Value,\n Multiple extends boolean | undefined = false,\n>({\n loadOptions,\n debounceMs = 500,\n open: openProp,\n inputValue: inputValueProp,\n defaultInputValue,\n onOpenChange,\n onInputValueChange,\n filter: filterProp,\n items: _ignoredItems,\n autoHighlight = \"always\",\n isLoading: isLoadingProp = false,\n eager = false,\n localFilter = false,\n children,\n ...props\n}: Omit<ComboboxPrimitive.Root.Props<Value, Multiple>, \"autoHighlight\"> & {\n loadOptions: LoadOptionsConfig<Value>;\n debounceMs?: number;\n autoHighlight?: boolean | \"always\";\n isLoading?: boolean;\n eager?: boolean;\n localFilter?: boolean;\n}) {\n const [internalOpen, setInternalOpen] = React.useState(false);\n const open = openProp ?? internalOpen;\n const handleOpenChange = (\n next: boolean,\n eventDetails: ComboboxPrimitive.Root.ChangeEventDetails,\n ) => {\n if (openProp === undefined) setInternalOpen(next);\n onOpenChange?.(next, eventDetails);\n };\n\n const initialSearchValue = normalizeInputValue(\n inputValueProp ?? defaultInputValue,\n );\n const [searchValue, setSearchValue] = React.useState(initialSearchValue);\n const [debouncedSearchValue, setDebouncedSearchValue] =\n React.useState(initialSearchValue);\n\n React.useEffect(() => {\n if (inputValueProp !== undefined) {\n setSearchValue(normalizeInputValue(inputValueProp));\n }\n }, [inputValueProp]);\n\n useDebounce(\n () => {\n setDebouncedSearchValue(searchValue);\n },\n debounceMs,\n [searchValue],\n );\n\n const handleInputValueChange = (\n val: string,\n eventDetails: ComboboxPrimitive.Root.ChangeEventDetails,\n ) => {\n if (eventDetails?.reason !== \"item-press\") {\n setSearchValue(val);\n }\n onInputValueChange?.(val, eventDetails);\n };\n\n const asyncState = useAsyncOptions<Value>(loadOptions, {\n isOpen: open,\n inputValue: debouncedSearchValue,\n eager,\n localFilter,\n });\n\n const contextValue = React.useMemo<ComboboxAsyncContextValue>(\n () => ({\n isAsync: true,\n isLoading: isLoadingProp || asyncState.isLoading,\n isLoadingMore: asyncState.isLoadingMore,\n isError: asyncState.isError,\n hasMore: !!asyncState.hasMore,\n onLoadMore: asyncState.onLoadMore,\n }),\n [\n isLoadingProp,\n asyncState.isLoading,\n asyncState.isLoadingMore,\n asyncState.isError,\n asyncState.hasMore,\n asyncState.onLoadMore,\n ],\n );\n\n return (\n <ComboboxAsyncContext.Provider value={contextValue}>\n <ComboboxPrimitive.Root\n {...(props as ComboboxPrimitive.Root.Props<Value, Multiple>)}\n items={asyncState.items}\n filter={asyncState.isLocalFilter ? filterProp : null}\n autoHighlight={autoHighlight as boolean}\n open={open}\n inputValue={inputValueProp}\n defaultInputValue={defaultInputValue}\n onOpenChange={handleOpenChange}\n onInputValueChange={handleInputValueChange}\n >\n {children}\n </ComboboxPrimitive.Root>\n </ComboboxAsyncContext.Provider>\n );\n}\n\nfunction ComboboxValue({ ...props }: ComboboxPrimitive.Value.Props) {\n return <ComboboxPrimitive.Value data-slot=\"combobox-value\" {...props} />;\n}\n\nfunction ComboboxTrigger({\n className,\n children,\n ref,\n ...props\n}: ComboboxPrimitive.Trigger.Props) {\n const attachAnchor = useAttachComboboxAnchor<HTMLElement>(\n ref as React.Ref<HTMLElement> | undefined,\n );\n return (\n <ComboboxPrimitive.Trigger\n ref={attachAnchor}\n data-slot=\"combobox-trigger\"\n className={cn(\"[&_svg:not([class*='size-'])]:size-4\", className)}\n {...props}\n >\n {children}\n <ChevronDownIcon className=\"text-muted-foreground pointer-events-none size-4\" />\n </ComboboxPrimitive.Trigger>\n );\n}\n\nfunction ComboboxClear({ className, ...props }: ComboboxPrimitive.Clear.Props) {\n return (\n <ComboboxPrimitive.Clear\n data-slot=\"combobox-clear\"\n render={<InputGroupButton variant=\"ghost\" size=\"icon-xs\" />}\n className={cn(className)}\n {...props}\n >\n <XIcon className=\"pointer-events-none\" />\n </ComboboxPrimitive.Clear>\n );\n}\n\nfunction ComboboxInput({\n className,\n children,\n disabled,\n showTrigger = true,\n showClear = true,\n ...props\n}: ComboboxPrimitive.Input.Props & {\n showTrigger?: boolean;\n showClear?: boolean;\n}) {\n const attachAnchor = useAttachComboboxAnchor<HTMLDivElement>();\n return (\n <InputGroup ref={attachAnchor} className={cn(\"w-auto\", className)}>\n <ComboboxPrimitive.Input\n render={\n <InputGroupInput {...(disabled !== undefined ? { disabled } : {})} />\n }\n {...props}\n />\n <InputGroupAddon align=\"inline-end\">\n {showTrigger && (\n <InputGroupButton\n size=\"icon-xs\"\n variant=\"ghost\"\n render={<ComboboxTrigger />}\n data-slot=\"input-group-button\"\n className=\"group-has-data-[slot=combobox-clear]/input-group:hidden data-pressed:bg-transparent\"\n {...(disabled !== undefined ? { disabled } : {})}\n />\n )}\n {showClear && (\n <ComboboxClear {...(disabled !== undefined ? { disabled } : {})} />\n )}\n </InputGroupAddon>\n {children}\n </InputGroup>\n );\n}\n\nfunction ComboboxContent({\n className,\n side = \"bottom\",\n sideOffset = 6,\n align = \"start\",\n alignOffset = 0,\n anchor,\n children,\n ...props\n}: ComboboxPrimitive.Popup.Props &\n Pick<\n ComboboxPrimitive.Positioner.Props,\n \"side\" | \"align\" | \"sideOffset\" | \"alignOffset\" | \"anchor\"\n >) {\n const ctxAnchor = React.useContext(ComboboxAnchorContext);\n const resolvedAnchor = anchor ?? ctxAnchor ?? undefined;\n return (\n <ComboboxPrimitive.Portal>\n <ComboboxPrimitive.Positioner\n side={side}\n sideOffset={sideOffset}\n align={align}\n alignOffset={alignOffset}\n anchor={resolvedAnchor}\n className=\"isolate z-50\"\n >\n <ComboboxPrimitive.Popup\n data-slot=\"combobox-content\"\n className={cn(\n \"group/combobox-content max-h-(--available-height) w-(--anchor-width) max-w-(--available-width) origin-(--transform-origin) bg-popover text-popover-foreground ring-foreground/10 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-start-2 data-[side=inline-start]:slide-in-from-end-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 *:data-[slot=input-group]:border-input/30 *:data-[slot=input-group]:bg-input/30 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 relative overflow-hidden rounded-md shadow-md ring-1 duration-100 *:data-[slot=input-group]:m-1 *:data-[slot=input-group]:mb-0 *:data-[slot=input-group]:h-8 *:data-[slot=input-group]:shadow-none\",\n className,\n )}\n {...props}\n >\n <ComboboxInsidePopupContext.Provider value={true}>\n {children}\n </ComboboxInsidePopupContext.Provider>\n </ComboboxPrimitive.Popup>\n </ComboboxPrimitive.Positioner>\n </ComboboxPrimitive.Portal>\n );\n}\n\nfunction ComboboxList({\n className,\n children,\n ref,\n ...props\n}: React.ComponentPropsWithRef<typeof ComboboxPrimitive.List>) {\n const { isAsync, hasMore } = useComboboxAsyncContext();\n const [listEl, setListEl] = React.useState<HTMLElement | null>(null);\n\n const handleListRef = React.useCallback(\n (node: HTMLDivElement | null) => {\n setListEl(node);\n\n if (typeof ref === \"function\") {\n ref(node);\n } else if (ref) {\n ref.current = node;\n }\n },\n [ref],\n );\n\n const resolvedChildren = React.useMemo(() => {\n if (isAsync && typeof children === \"function\") {\n return (\n <>\n <ComboboxPrimitive.Collection>\n {children}\n </ComboboxPrimitive.Collection>\n {hasMore ? <ComboboxLoadMoreSentinel /> : null}\n </>\n );\n }\n return children;\n }, [isAsync, hasMore, children]);\n\n return (\n <ComboboxListRefContext.Provider value={listEl}>\n <ComboboxPrimitive.List\n ref={handleListRef}\n data-slot=\"combobox-list\"\n className={cn(\n \"ppx-scrollbar data-empty:p-0 max-h-[min(calc(--spacing(72)---spacing(9)),calc(var(--available-height)---spacing(9)))] scroll-py-1 overflow-y-auto overscroll-contain p-1\",\n className,\n )}\n {...props}\n >\n {resolvedChildren}\n </ComboboxPrimitive.List>\n </ComboboxListRefContext.Provider>\n );\n}\n\nfunction ComboboxLoadMoreSentinel() {\n const { isLoadingMore, hasMore, onLoadMore, isError } =\n useComboboxAsyncContext();\n const listEl = React.useContext(ComboboxListRefContext);\n const [ref] = useInfiniteScroll({\n isLoadingMore,\n hasMore,\n onLoadMore,\n disabled: isError,\n root: listEl,\n rootMargin: \"0px 0px 80px 0px\",\n });\n return (\n <ComboboxPrimitive.Status\n ref={ref}\n data-slot=\"combobox-load-more\"\n aria-label={isLoadingMore ? \"Loading more options\" : undefined}\n className=\"flex h-10 items-center justify-center\"\n >\n {isLoadingMore && <Spinner className=\"text-muted-foreground size-4\" />}\n </ComboboxPrimitive.Status>\n );\n}\n\nfunction ComboboxItem({\n className,\n children,\n ...props\n}: ComboboxPrimitive.Item.Props) {\n return (\n <ComboboxPrimitive.Item\n data-slot=\"combobox-item\"\n className={cn(\n \"outline-hidden data-highlighted:bg-accent data-highlighted:text-accent-foreground not-data-[variant=destructive]:data-highlighted:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 relative flex w-full cursor-default select-none items-center gap-2 rounded-sm py-1.5 pe-8 ps-2 text-sm [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n className,\n )}\n {...props}\n >\n {children}\n <ComboboxPrimitive.ItemIndicator\n render={\n <span className=\"pointer-events-none absolute end-2 flex size-4 items-center justify-center\" />\n }\n >\n <CheckIcon className=\"pointer-events-none\" />\n </ComboboxPrimitive.ItemIndicator>\n </ComboboxPrimitive.Item>\n );\n}\n\nfunction ComboboxGroup({ className, ...props }: ComboboxPrimitive.Group.Props) {\n return (\n <ComboboxPrimitive.Group\n data-slot=\"combobox-group\"\n className={cn(className)}\n {...props}\n />\n );\n}\n\nfunction ComboboxLabel({\n className,\n ...props\n}: ComboboxPrimitive.GroupLabel.Props) {\n return (\n <ComboboxPrimitive.GroupLabel\n data-slot=\"combobox-label\"\n className={cn(\"text-muted-foreground px-2 py-1.5 text-xs\", className)}\n {...props}\n />\n );\n}\n\nfunction ComboboxCollection({ ...props }: ComboboxPrimitive.Collection.Props) {\n return (\n <ComboboxPrimitive.Collection data-slot=\"combobox-collection\" {...props} />\n );\n}\n\nfunction ComboboxStatus({\n loading = \"Loading…\",\n error = \"Failed to load options\",\n empty = \"No options found\",\n className,\n ...props\n}: Omit<ComboboxPrimitive.Status.Props, \"children\"> & {\n loading?: React.ReactNode;\n error?: React.ReactNode;\n empty?: React.ReactNode;\n}) {\n const { isAsync, isLoading, isError } = useComboboxAsyncContext();\n\n if (isLoading || (isAsync && isError)) {\n return (\n <ComboboxPrimitive.Status\n data-slot=\"combobox-status\"\n className={cn(\n \"text-muted-foreground flex w-full items-center justify-center gap-2 py-2 text-center text-sm\",\n className,\n )}\n {...props}\n >\n {isLoading ? (\n <>\n <Spinner aria-hidden className=\"size-4\" />\n {loading}\n </>\n ) : (\n error\n )}\n </ComboboxPrimitive.Status>\n );\n }\n\n return (\n <ComboboxPrimitive.Empty\n data-slot=\"combobox-empty\"\n className={cn(\n \"text-muted-foreground group-data-empty/combobox-content:flex hidden w-full justify-center py-2 text-center text-sm\",\n className,\n )}\n {...props}\n >\n {empty}\n </ComboboxPrimitive.Empty>\n );\n}\n\nfunction ComboboxSeparator({\n className,\n ...props\n}: ComboboxPrimitive.Separator.Props) {\n return (\n <ComboboxPrimitive.Separator\n data-slot=\"combobox-separator\"\n className={cn(\"bg-border -mx-1 my-1 h-px\", className)}\n {...props}\n />\n );\n}\n\nfunction ComboboxChips({\n className,\n ref,\n ...props\n}: React.ComponentPropsWithRef<typeof ComboboxPrimitive.Chips> &\n ComboboxPrimitive.Chips.Props) {\n const attachAnchor = useAttachComboboxAnchor<HTMLDivElement>(\n ref as React.Ref<HTMLDivElement> | undefined,\n );\n return (\n <ComboboxPrimitive.Chips\n ref={attachAnchor}\n data-slot=\"combobox-chips\"\n className={cn(\n \"border-input shadow-xs focus-within:border-ring focus-within:ring-3 focus-within:ring-ring/50 has-aria-invalid:border-destructive has-aria-invalid:ring-3 has-aria-invalid:ring-destructive/20 has-data-[slot=combobox-chip]:px-1.5 dark:bg-input/30 dark:has-aria-invalid:border-destructive/50 dark:has-aria-invalid:ring-destructive/40 flex min-h-9 flex-wrap items-center gap-1.5 rounded-md border bg-transparent bg-clip-padding px-2.5 py-1.5 text-sm transition-[color,box-shadow]\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction ComboboxChip({\n className,\n children,\n showRemove = true,\n ...props\n}: ComboboxPrimitive.Chip.Props & {\n showRemove?: boolean;\n}) {\n return (\n <ComboboxPrimitive.Chip\n data-slot=\"combobox-chip\"\n className={cn(\n \"bg-muted text-foreground has-disabled:pointer-events-none has-disabled:cursor-not-allowed has-disabled:opacity-50 has-data-[slot=combobox-chip-remove]:pe-0 flex h-[calc(--spacing(5.5))] w-fit items-center justify-center gap-1 whitespace-nowrap rounded-sm px-1.5 text-xs font-medium\",\n className,\n )}\n {...props}\n >\n {children}\n {showRemove && (\n <ComboboxPrimitive.ChipRemove\n render={<Button variant=\"ghost\" size=\"icon-xs\" />}\n className=\"-ms-1 opacity-50 hover:opacity-100\"\n data-slot=\"combobox-chip-remove\"\n >\n <XIcon className=\"pointer-events-none\" />\n </ComboboxPrimitive.ChipRemove>\n )}\n </ComboboxPrimitive.Chip>\n );\n}\n\nfunction ComboboxChipsInput({\n className,\n ...props\n}: ComboboxPrimitive.Input.Props) {\n return (\n <ComboboxPrimitive.Input\n data-slot=\"combobox-chip-input\"\n className={cn(\"min-w-16 flex-1 outline-none\", className)}\n {...props}\n />\n );\n}\n\nfunction useComboboxAnchor() {\n return React.useRef<HTMLDivElement | null>(null);\n}\n\nexport {\n Combobox,\n ComboboxInput,\n ComboboxClear,\n ComboboxContent,\n ComboboxList,\n ComboboxItem,\n ComboboxGroup,\n ComboboxLabel,\n ComboboxCollection,\n ComboboxStatus,\n ComboboxSeparator,\n ComboboxChips,\n ComboboxChip,\n ComboboxChipsInput,\n ComboboxTrigger,\n ComboboxValue,\n useComboboxAnchor,\n};\n"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { r as LoadOptionsConfig } from "./use-async-options-
|
|
2
|
-
import * as
|
|
1
|
+
import { r as LoadOptionsConfig } from "./use-async-options-CD5BgoHR.js";
|
|
2
|
+
import * as react_jsx_runtime53 from "react/jsx-runtime";
|
|
3
3
|
import * as React$1 from "react";
|
|
4
4
|
import { Combobox } from "@base-ui/react";
|
|
5
5
|
|
|
@@ -8,26 +8,30 @@ type ComboboxProps<Value, Multiple extends boolean | undefined = false> = Combob
|
|
|
8
8
|
loadOptions?: LoadOptionsConfig<Value>;
|
|
9
9
|
debounceMs?: number;
|
|
10
10
|
isLoading?: boolean;
|
|
11
|
+
eager?: boolean;
|
|
12
|
+
localFilter?: boolean;
|
|
11
13
|
};
|
|
12
14
|
declare function Combobox$1<Value, Multiple extends boolean | undefined = false>({
|
|
13
15
|
loadOptions,
|
|
14
16
|
debounceMs,
|
|
15
17
|
isLoading,
|
|
18
|
+
eager,
|
|
19
|
+
localFilter,
|
|
16
20
|
...props
|
|
17
|
-
}: ComboboxProps<Value, Multiple>):
|
|
21
|
+
}: ComboboxProps<Value, Multiple>): react_jsx_runtime53.JSX.Element;
|
|
18
22
|
declare function ComboboxValue({
|
|
19
23
|
...props
|
|
20
|
-
}: Combobox.Value.Props):
|
|
24
|
+
}: Combobox.Value.Props): react_jsx_runtime53.JSX.Element;
|
|
21
25
|
declare function ComboboxTrigger({
|
|
22
26
|
className,
|
|
23
27
|
children,
|
|
24
28
|
ref,
|
|
25
29
|
...props
|
|
26
|
-
}: Combobox.Trigger.Props):
|
|
30
|
+
}: Combobox.Trigger.Props): react_jsx_runtime53.JSX.Element;
|
|
27
31
|
declare function ComboboxClear({
|
|
28
32
|
className,
|
|
29
33
|
...props
|
|
30
|
-
}: Combobox.Clear.Props):
|
|
34
|
+
}: Combobox.Clear.Props): react_jsx_runtime53.JSX.Element;
|
|
31
35
|
declare function ComboboxInput({
|
|
32
36
|
className,
|
|
33
37
|
children,
|
|
@@ -38,7 +42,7 @@ declare function ComboboxInput({
|
|
|
38
42
|
}: Combobox.Input.Props & {
|
|
39
43
|
showTrigger?: boolean;
|
|
40
44
|
showClear?: boolean;
|
|
41
|
-
}):
|
|
45
|
+
}): react_jsx_runtime53.JSX.Element;
|
|
42
46
|
declare function ComboboxContent({
|
|
43
47
|
className,
|
|
44
48
|
side,
|
|
@@ -48,29 +52,29 @@ declare function ComboboxContent({
|
|
|
48
52
|
anchor,
|
|
49
53
|
children,
|
|
50
54
|
...props
|
|
51
|
-
}: Combobox.Popup.Props & Pick<Combobox.Positioner.Props, "side" | "align" | "sideOffset" | "alignOffset" | "anchor">):
|
|
55
|
+
}: Combobox.Popup.Props & Pick<Combobox.Positioner.Props, "side" | "align" | "sideOffset" | "alignOffset" | "anchor">): react_jsx_runtime53.JSX.Element;
|
|
52
56
|
declare function ComboboxList({
|
|
53
57
|
className,
|
|
54
58
|
children,
|
|
55
59
|
ref,
|
|
56
60
|
...props
|
|
57
|
-
}: React$1.ComponentPropsWithRef<typeof Combobox.List>):
|
|
61
|
+
}: React$1.ComponentPropsWithRef<typeof Combobox.List>): react_jsx_runtime53.JSX.Element;
|
|
58
62
|
declare function ComboboxItem({
|
|
59
63
|
className,
|
|
60
64
|
children,
|
|
61
65
|
...props
|
|
62
|
-
}: Combobox.Item.Props):
|
|
66
|
+
}: Combobox.Item.Props): react_jsx_runtime53.JSX.Element;
|
|
63
67
|
declare function ComboboxGroup({
|
|
64
68
|
className,
|
|
65
69
|
...props
|
|
66
|
-
}: Combobox.Group.Props):
|
|
70
|
+
}: Combobox.Group.Props): react_jsx_runtime53.JSX.Element;
|
|
67
71
|
declare function ComboboxLabel({
|
|
68
72
|
className,
|
|
69
73
|
...props
|
|
70
|
-
}: Combobox.GroupLabel.Props):
|
|
74
|
+
}: Combobox.GroupLabel.Props): react_jsx_runtime53.JSX.Element;
|
|
71
75
|
declare function ComboboxCollection({
|
|
72
76
|
...props
|
|
73
|
-
}: Combobox.Collection.Props):
|
|
77
|
+
}: Combobox.Collection.Props): react_jsx_runtime53.JSX.Element;
|
|
74
78
|
declare function ComboboxStatus({
|
|
75
79
|
loading,
|
|
76
80
|
error,
|
|
@@ -81,16 +85,16 @@ declare function ComboboxStatus({
|
|
|
81
85
|
loading?: React$1.ReactNode;
|
|
82
86
|
error?: React$1.ReactNode;
|
|
83
87
|
empty?: React$1.ReactNode;
|
|
84
|
-
}):
|
|
88
|
+
}): react_jsx_runtime53.JSX.Element;
|
|
85
89
|
declare function ComboboxSeparator({
|
|
86
90
|
className,
|
|
87
91
|
...props
|
|
88
|
-
}: Combobox.Separator.Props):
|
|
92
|
+
}: Combobox.Separator.Props): react_jsx_runtime53.JSX.Element;
|
|
89
93
|
declare function ComboboxChips({
|
|
90
94
|
className,
|
|
91
95
|
ref,
|
|
92
96
|
...props
|
|
93
|
-
}: React$1.ComponentPropsWithRef<typeof Combobox.Chips> & Combobox.Chips.Props):
|
|
97
|
+
}: React$1.ComponentPropsWithRef<typeof Combobox.Chips> & Combobox.Chips.Props): react_jsx_runtime53.JSX.Element;
|
|
94
98
|
declare function ComboboxChip({
|
|
95
99
|
className,
|
|
96
100
|
children,
|
|
@@ -98,12 +102,12 @@ declare function ComboboxChip({
|
|
|
98
102
|
...props
|
|
99
103
|
}: Combobox.Chip.Props & {
|
|
100
104
|
showRemove?: boolean;
|
|
101
|
-
}):
|
|
105
|
+
}): react_jsx_runtime53.JSX.Element;
|
|
102
106
|
declare function ComboboxChipsInput({
|
|
103
107
|
className,
|
|
104
108
|
...props
|
|
105
|
-
}: Combobox.Input.Props):
|
|
109
|
+
}: Combobox.Input.Props): react_jsx_runtime53.JSX.Element;
|
|
106
110
|
declare function useComboboxAnchor(): React$1.RefObject<HTMLDivElement | null>;
|
|
107
111
|
//#endregion
|
|
108
112
|
export { useComboboxAnchor as _, ComboboxClear as a, ComboboxGroup as c, ComboboxLabel as d, ComboboxList as f, ComboboxValue as g, ComboboxTrigger as h, ComboboxChipsInput as i, ComboboxInput as l, ComboboxStatus as m, ComboboxChip as n, ComboboxCollection as o, ComboboxSeparator as p, ComboboxChips as r, ComboboxContent as s, Combobox$1 as t, ComboboxItem as u };
|
|
109
|
-
//# sourceMappingURL=combobox-
|
|
113
|
+
//# sourceMappingURL=combobox-DXVq26eH.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"combobox-DXVq26eH.d.ts","names":[],"sources":["../src/components/combobox.tsx"],"sourcesContent":[],"mappings":"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"}
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
import { Accordion as Accordion$1 } from "@base-ui/react/accordion";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
3
3
|
|
|
4
4
|
//#region src/components/accordion.d.ts
|
|
5
5
|
declare function Accordion({
|
|
6
6
|
className,
|
|
7
7
|
...props
|
|
8
|
-
}: Accordion$1.Root.Props):
|
|
8
|
+
}: Accordion$1.Root.Props): react_jsx_runtime0.JSX.Element;
|
|
9
9
|
declare function AccordionItem({
|
|
10
10
|
className,
|
|
11
11
|
...props
|
|
12
|
-
}: Accordion$1.Item.Props):
|
|
12
|
+
}: Accordion$1.Item.Props): react_jsx_runtime0.JSX.Element;
|
|
13
13
|
declare function AccordionTrigger({
|
|
14
14
|
className,
|
|
15
15
|
children,
|
|
16
16
|
...props
|
|
17
|
-
}: Accordion$1.Trigger.Props):
|
|
17
|
+
}: Accordion$1.Trigger.Props): react_jsx_runtime0.JSX.Element;
|
|
18
18
|
declare function AccordionContent({
|
|
19
19
|
className,
|
|
20
20
|
children,
|
|
21
21
|
...props
|
|
22
|
-
}: Accordion$1.Panel.Props):
|
|
22
|
+
}: Accordion$1.Panel.Props): react_jsx_runtime0.JSX.Element;
|
|
23
23
|
//#endregion
|
|
24
24
|
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger };
|
|
25
25
|
//# sourceMappingURL=accordion.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accordion.d.ts","names":[],"sources":["../../src/components/accordion.tsx"],"sourcesContent":[],"mappings":";;;;iBAKS,SAAA;;;GAAmC,WAAA,CAAmB,IAAA,CAAK,QAAK,
|
|
1
|
+
{"version":3,"file":"accordion.d.ts","names":[],"sources":["../../src/components/accordion.tsx"],"sourcesContent":[],"mappings":";;;;iBAKS,SAAA;;;GAAmC,WAAA,CAAmB,IAAA,CAAK,QAAK,kBAAA,CAAA,GAAA,CAAA;iBAUhE,aAAA;;;GAAuC,WAAA,CAAmB,IAAA,CAAK,QAAK,kBAAA,CAAA,GAAA,CAAA;iBAUpE,gBAAA;;;;GAIN,WAAA,CAAmB,OAAA,CAAQ,QAAK,kBAAA,CAAA,GAAA,CAAA;AA7BuC,iBAgDjE,gBAAA,CA3CS;EAAA,SAAA;EAAA,QAAA;EAAA,GAAA;AAAA,CAAA,EA+Cf,WAAA,CAAmB,KAAA,CAAM,KA/CV,CAAA,EA+Ce,kBAAA,CAAA,GAAA,CAAA,OA/Cf"}
|
|
@@ -1,59 +1,59 @@
|
|
|
1
|
-
import { t as Button } from "../button-
|
|
2
|
-
import * as
|
|
1
|
+
import { t as Button } from "../button-D3as908Z.js";
|
|
2
|
+
import * as react_jsx_runtime4 from "react/jsx-runtime";
|
|
3
3
|
import * as React$1 from "react";
|
|
4
4
|
import { AlertDialog as AlertDialog$1 } from "@base-ui/react/alert-dialog";
|
|
5
5
|
|
|
6
6
|
//#region src/components/alert-dialog.d.ts
|
|
7
7
|
declare function AlertDialog({
|
|
8
8
|
...props
|
|
9
|
-
}: AlertDialog$1.Root.Props):
|
|
9
|
+
}: AlertDialog$1.Root.Props): react_jsx_runtime4.JSX.Element;
|
|
10
10
|
declare function AlertDialogTrigger({
|
|
11
11
|
...props
|
|
12
|
-
}: AlertDialog$1.Trigger.Props):
|
|
12
|
+
}: AlertDialog$1.Trigger.Props): react_jsx_runtime4.JSX.Element;
|
|
13
13
|
declare function AlertDialogPortal({
|
|
14
14
|
...props
|
|
15
|
-
}: AlertDialog$1.Portal.Props):
|
|
15
|
+
}: AlertDialog$1.Portal.Props): react_jsx_runtime4.JSX.Element;
|
|
16
16
|
declare function AlertDialogOverlay({
|
|
17
17
|
className,
|
|
18
18
|
...props
|
|
19
|
-
}: AlertDialog$1.Backdrop.Props):
|
|
19
|
+
}: AlertDialog$1.Backdrop.Props): react_jsx_runtime4.JSX.Element;
|
|
20
20
|
declare function AlertDialogContent({
|
|
21
21
|
className,
|
|
22
22
|
size,
|
|
23
23
|
...props
|
|
24
24
|
}: AlertDialog$1.Popup.Props & {
|
|
25
25
|
size?: "default" | "sm";
|
|
26
|
-
}):
|
|
26
|
+
}): react_jsx_runtime4.JSX.Element;
|
|
27
27
|
declare function AlertDialogHeader({
|
|
28
28
|
className,
|
|
29
29
|
...props
|
|
30
|
-
}: React$1.ComponentProps<"div">):
|
|
30
|
+
}: React$1.ComponentProps<"div">): react_jsx_runtime4.JSX.Element;
|
|
31
31
|
declare function AlertDialogFooter({
|
|
32
32
|
className,
|
|
33
33
|
...props
|
|
34
|
-
}: React$1.ComponentProps<"div">):
|
|
34
|
+
}: React$1.ComponentProps<"div">): react_jsx_runtime4.JSX.Element;
|
|
35
35
|
declare function AlertDialogMedia({
|
|
36
36
|
className,
|
|
37
37
|
...props
|
|
38
|
-
}: React$1.ComponentProps<"div">):
|
|
38
|
+
}: React$1.ComponentProps<"div">): react_jsx_runtime4.JSX.Element;
|
|
39
39
|
declare function AlertDialogTitle({
|
|
40
40
|
className,
|
|
41
41
|
...props
|
|
42
|
-
}: React$1.ComponentProps<typeof AlertDialog$1.Title>):
|
|
42
|
+
}: React$1.ComponentProps<typeof AlertDialog$1.Title>): react_jsx_runtime4.JSX.Element;
|
|
43
43
|
declare function AlertDialogDescription({
|
|
44
44
|
className,
|
|
45
45
|
...props
|
|
46
|
-
}: React$1.ComponentProps<typeof AlertDialog$1.Description>):
|
|
46
|
+
}: React$1.ComponentProps<typeof AlertDialog$1.Description>): react_jsx_runtime4.JSX.Element;
|
|
47
47
|
declare function AlertDialogAction({
|
|
48
48
|
className,
|
|
49
49
|
...props
|
|
50
|
-
}: React$1.ComponentProps<typeof Button>):
|
|
50
|
+
}: React$1.ComponentProps<typeof Button>): react_jsx_runtime4.JSX.Element;
|
|
51
51
|
declare function AlertDialogCancel({
|
|
52
52
|
className,
|
|
53
53
|
variant,
|
|
54
54
|
size,
|
|
55
55
|
...props
|
|
56
|
-
}: AlertDialog$1.Close.Props & Pick<React$1.ComponentProps<typeof Button>, "variant" | "size">):
|
|
56
|
+
}: AlertDialog$1.Close.Props & Pick<React$1.ComponentProps<typeof Button>, "variant" | "size">): react_jsx_runtime4.JSX.Element;
|
|
57
57
|
declare const createAlertDialogHandle: typeof AlertDialog$1.createHandle;
|
|
58
58
|
type AlertDialogHandle<Payload = unknown> = AlertDialog$1.Handle<Payload>;
|
|
59
59
|
//#endregion
|
|
@@ -43,7 +43,7 @@ function AlertDialogContent({ className, size = "default", ...props }) {
|
|
|
43
43
|
function AlertDialogHeader({ className, ...props }) {
|
|
44
44
|
return /* @__PURE__ */ jsx("div", {
|
|
45
45
|
"data-slot": "alert-dialog-header",
|
|
46
|
-
className: cn("grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-
|
|
46
|
+
className: cn("grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-3 ppx-sm:group-data-[size=default]/alert-dialog-content:place-items-start ppx-sm:group-data-[size=default]/alert-dialog-content:text-start ppx-sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]", className),
|
|
47
47
|
...props
|
|
48
48
|
});
|
|
49
49
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alert-dialog.js","names":["AlertDialogPrimitive"],"sources":["../../src/components/alert-dialog.tsx"],"sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport { AlertDialog as AlertDialogPrimitive } from \"@base-ui/react/alert-dialog\"\n\nimport { cn } from \"@px-ui/ui/lib/utils\"\nimport { Button } from \"@px-ui/ui/components/button\"\n\nfunction AlertDialog({ ...props }: AlertDialogPrimitive.Root.Props) {\n return <AlertDialogPrimitive.Root data-slot=\"alert-dialog\" {...props} />\n}\n\nfunction AlertDialogTrigger({ ...props }: AlertDialogPrimitive.Trigger.Props) {\n return (\n <AlertDialogPrimitive.Trigger data-slot=\"alert-dialog-trigger\" {...props} />\n )\n}\n\nfunction AlertDialogPortal({ ...props }: AlertDialogPrimitive.Portal.Props) {\n return (\n <AlertDialogPrimitive.Portal data-slot=\"alert-dialog-portal\" {...props} />\n )\n}\n\nfunction AlertDialogOverlay({\n className,\n ...props\n}: AlertDialogPrimitive.Backdrop.Props) {\n return (\n <AlertDialogPrimitive.Backdrop\n data-slot=\"alert-dialog-overlay\"\n className={cn(\n \"fixed inset-0 isolate z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogContent({\n className,\n size = \"default\",\n ...props\n}: AlertDialogPrimitive.Popup.Props & {\n size?: \"default\" | \"sm\"\n}) {\n return (\n <AlertDialogPortal>\n <AlertDialogOverlay />\n <AlertDialogPrimitive.Popup\n data-slot=\"alert-dialog-content\"\n data-size={size}\n className={cn(\n \"group/alert-dialog-content fixed top-1/2 start-1/2 z-50 grid w-full -translate-x-1/2 rtl:translate-x-1/2 -translate-y-1/2 gap-6 rounded-xl bg-popover p-6 text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none data-[size=default]:max-w-xs data-[size=sm]:max-w-xs data-[size=default]:ppx-sm:max-w-lg data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95\",\n className\n )}\n {...props}\n />\n </AlertDialogPortal>\n )\n}\n\nfunction AlertDialogHeader({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-header\"\n className={cn(\n \"grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-
|
|
1
|
+
{"version":3,"file":"alert-dialog.js","names":["AlertDialogPrimitive"],"sources":["../../src/components/alert-dialog.tsx"],"sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport { AlertDialog as AlertDialogPrimitive } from \"@base-ui/react/alert-dialog\"\n\nimport { cn } from \"@px-ui/ui/lib/utils\"\nimport { Button } from \"@px-ui/ui/components/button\"\n\nfunction AlertDialog({ ...props }: AlertDialogPrimitive.Root.Props) {\n return <AlertDialogPrimitive.Root data-slot=\"alert-dialog\" {...props} />\n}\n\nfunction AlertDialogTrigger({ ...props }: AlertDialogPrimitive.Trigger.Props) {\n return (\n <AlertDialogPrimitive.Trigger data-slot=\"alert-dialog-trigger\" {...props} />\n )\n}\n\nfunction AlertDialogPortal({ ...props }: AlertDialogPrimitive.Portal.Props) {\n return (\n <AlertDialogPrimitive.Portal data-slot=\"alert-dialog-portal\" {...props} />\n )\n}\n\nfunction AlertDialogOverlay({\n className,\n ...props\n}: AlertDialogPrimitive.Backdrop.Props) {\n return (\n <AlertDialogPrimitive.Backdrop\n data-slot=\"alert-dialog-overlay\"\n className={cn(\n \"fixed inset-0 isolate z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogContent({\n className,\n size = \"default\",\n ...props\n}: AlertDialogPrimitive.Popup.Props & {\n size?: \"default\" | \"sm\"\n}) {\n return (\n <AlertDialogPortal>\n <AlertDialogOverlay />\n <AlertDialogPrimitive.Popup\n data-slot=\"alert-dialog-content\"\n data-size={size}\n className={cn(\n \"group/alert-dialog-content fixed top-1/2 start-1/2 z-50 grid w-full -translate-x-1/2 rtl:translate-x-1/2 -translate-y-1/2 gap-6 rounded-xl bg-popover p-6 text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none data-[size=default]:max-w-xs data-[size=sm]:max-w-xs data-[size=default]:ppx-sm:max-w-lg data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95\",\n className\n )}\n {...props}\n />\n </AlertDialogPortal>\n )\n}\n\nfunction AlertDialogHeader({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-header\"\n className={cn(\n \"grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-3 ppx-sm:group-data-[size=default]/alert-dialog-content:place-items-start ppx-sm:group-data-[size=default]/alert-dialog-content:text-start ppx-sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogFooter({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-footer\"\n className={cn(\n \"flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 ppx-sm:flex-row ppx-sm:justify-end\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogMedia({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-media\"\n className={cn(\n \"mb-2 inline-flex size-16 items-center justify-center rounded-md bg-muted ppx-sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-8\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogTitle({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Title>) {\n return (\n <AlertDialogPrimitive.Title\n data-slot=\"alert-dialog-title\"\n className={cn(\n \"font-heading text-lg font-medium ppx-sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Description>) {\n return (\n <AlertDialogPrimitive.Description\n data-slot=\"alert-dialog-description\"\n className={cn(\n \"text-sm text-balance text-muted-foreground ppx-md:text-pretty *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogAction({\n className,\n ...props\n}: React.ComponentProps<typeof Button>) {\n return (\n <Button\n data-slot=\"alert-dialog-action\"\n className={cn(className)}\n {...props}\n />\n )\n}\n\nfunction AlertDialogCancel({\n className,\n variant = \"outline\",\n size = \"default\",\n ...props\n}: AlertDialogPrimitive.Close.Props &\n Pick<React.ComponentProps<typeof Button>, \"variant\" | \"size\">) {\n return (\n <AlertDialogPrimitive.Close\n data-slot=\"alert-dialog-cancel\"\n className={cn(className)}\n render={<Button variant={variant} size={size} />}\n {...props}\n />\n )\n}\n\nexport {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogMedia,\n AlertDialogOverlay,\n AlertDialogPortal,\n AlertDialogTitle,\n AlertDialogTrigger,\n}\n\nexport const createAlertDialogHandle = AlertDialogPrimitive.createHandle\nexport type AlertDialogHandle<Payload = unknown> =\n AlertDialogPrimitive.Handle<Payload>\n"],"mappings":";;;;;;;;;AAQA,SAAS,YAAY,EAAE,GAAG,SAA0C;AAClE,QAAO,oBAACA,cAAqB;EAAK,aAAU;EAAe,GAAI;GAAS;;AAG1E,SAAS,mBAAmB,EAAE,GAAG,SAA6C;AAC5E,QACE,oBAACA,cAAqB;EAAQ,aAAU;EAAuB,GAAI;GAAS;;AAIhF,SAAS,kBAAkB,EAAE,GAAG,SAA4C;AAC1E,QACE,oBAACA,cAAqB;EAAO,aAAU;EAAsB,GAAI;GAAS;;AAI9E,SAAS,mBAAmB,EAC1B,WACA,GAAG,SACmC;AACtC,QACE,oBAACA,cAAqB;EACpB,aAAU;EACV,WAAW,GACT,yLACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,mBAAmB,EAC1B,WACA,OAAO,WACP,GAAG,SAGF;AACD,QACE,qBAAC,gCACC,oBAAC,uBAAqB,EACtB,oBAACA,cAAqB;EACpB,aAAU;EACV,aAAW;EACX,WAAW,GACT,ucACA,UACD;EACD,GAAI;GACJ,IACgB;;AAIxB,SAAS,kBAAkB,EACzB,WACA,GAAG,SAC2B;AAC9B,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,maACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,kBAAkB,EACzB,WACA,GAAG,SAC2B;AAC9B,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,uKACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,iBAAiB,EACxB,WACA,GAAG,SAC2B;AAC9B,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,kLACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,iBAAiB,EACxB,WACA,GAAG,SACuD;AAC1D,QACE,oBAACA,cAAqB;EACpB,aAAU;EACV,WAAW,GACT,oKACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,uBAAuB,EAC9B,WACA,GAAG,SAC6D;AAChE,QACE,oBAACA,cAAqB;EACpB,aAAU;EACV,WAAW,GACT,sIACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,kBAAkB,EACzB,WACA,GAAG,SACmC;AACtC,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GAAG,UAAU;EACxB,GAAI;GACJ;;AAIN,SAAS,kBAAkB,EACzB,WACA,UAAU,WACV,OAAO,WACP,GAAG,SAE4D;AAC/D,QACE,oBAACA,cAAqB;EACpB,aAAU;EACV,WAAW,GAAG,UAAU;EACxB,QAAQ,oBAAC;GAAgB;GAAe;IAAQ;EAChD,GAAI;GACJ;;AAmBN,MAAa,0BAA0BA,cAAqB"}
|