@xingxingmofashu/ui 0.1.0-beta.2 → 0.1.1

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.
Files changed (56) hide show
  1. package/README.md +115 -66
  2. package/dist/components/accordion.d.ts +1 -1
  3. package/dist/components/{accordion.js → accordion.mjs} +1 -1
  4. package/dist/components/{alert-dialog.js → alert-dialog.mjs} +2 -2
  5. package/dist/components/button.d.ts +1 -1
  6. package/dist/components/{button.js → button.mjs} +1 -1
  7. package/dist/components/{card.js → card.mjs} +1 -1
  8. package/dist/components/checkbox.d.ts +4 -2
  9. package/dist/components/{checkbox.js → checkbox.mjs} +1 -1
  10. package/dist/components/{dialog.js → dialog.mjs} +1 -1
  11. package/dist/components/drawer.d.ts +19 -0
  12. package/dist/components/drawer.mjs +40 -0
  13. package/dist/components/input.d.ts +2 -2
  14. package/dist/components/{input.js → input.mjs} +1 -1
  15. package/dist/components/popover.d.ts +32 -0
  16. package/dist/components/popover.mjs +59 -0
  17. package/dist/components/scroll-area.d.ts +21 -0
  18. package/dist/components/scroll-area.mjs +64 -0
  19. package/dist/components/{slider.js → slider.mjs} +1 -1
  20. package/dist/components/switch.d.ts +4 -2
  21. package/dist/components/{switch.js → switch.mjs} +41 -24
  22. package/dist/components/toast.d.ts +19 -0
  23. package/dist/components/toast.mjs +120 -0
  24. package/dist/components/toggle-group.d.ts +1 -1
  25. package/dist/components/{toggle-group.js → toggle-group.mjs} +1 -1
  26. package/dist/components/toggle.d.ts +17 -0
  27. package/dist/components/toggle.mjs +26 -0
  28. package/dist/composables/create-toast-manager.d.ts +6 -0
  29. package/dist/composables/create-toast-manager.mjs +3 -0
  30. package/dist/composables/use-toast.d.ts +7 -0
  31. package/dist/composables/use-toast.mjs +4 -0
  32. package/dist/index.css +1 -1
  33. package/dist/index.d.ts +17 -10
  34. package/dist/index.mjs +27 -0
  35. package/dist/theme/{button.js → button.mjs} +1 -1
  36. package/dist/theme/drawer.d.ts +98 -0
  37. package/dist/theme/drawer.mjs +87 -0
  38. package/dist/theme/popover.d.ts +80 -0
  39. package/dist/theme/popover.mjs +42 -0
  40. package/dist/theme/scroll-area.d.ts +68 -0
  41. package/dist/theme/scroll-area.mjs +46 -0
  42. package/dist/theme/{switch.js → switch.mjs} +3 -4
  43. package/dist/theme/toast.d.ts +107 -0
  44. package/dist/theme/toast.mjs +104 -0
  45. package/dist/theme/toggle.d.ts +95 -0
  46. package/dist/theme/toggle.mjs +64 -0
  47. package/package.json +16 -9
  48. package/dist/index.js +0 -14
  49. /package/dist/theme/{accordion.js → accordion.mjs} +0 -0
  50. /package/dist/theme/{alert-dialog.js → alert-dialog.mjs} +0 -0
  51. /package/dist/theme/{card.js → card.mjs} +0 -0
  52. /package/dist/theme/{checkbox.js → checkbox.mjs} +0 -0
  53. /package/dist/theme/{dialog.js → dialog.mjs} +0 -0
  54. /package/dist/theme/{input.js → input.mjs} +0 -0
  55. /package/dist/theme/{slider.js → slider.mjs} +0 -0
  56. /package/dist/theme/{toggle-group.js → toggle-group.mjs} +0 -0
@@ -0,0 +1,80 @@
1
+ declare const _default: import("tailwind-variants").TVReturnType<{
2
+ [key: string]: {
3
+ [key: string]: import("tailwind-variants").ClassValue | {
4
+ overlay?: import("tailwind-variants").ClassValue;
5
+ content?: import("tailwind-variants").ClassValue;
6
+ glass?: import("tailwind-variants").ClassValue;
7
+ title?: import("tailwind-variants").ClassValue;
8
+ body?: import("tailwind-variants").ClassValue;
9
+ footer?: import("tailwind-variants").ClassValue;
10
+ popup?: import("tailwind-variants").ClassValue;
11
+ description?: import("tailwind-variants").ClassValue;
12
+ positioner?: import("tailwind-variants").ClassValue;
13
+ arrow?: import("tailwind-variants").ClassValue;
14
+ };
15
+ };
16
+ } | {
17
+ [x: string]: {
18
+ [x: string]: import("tailwind-variants").ClassValue | {
19
+ overlay?: import("tailwind-variants").ClassValue;
20
+ content?: import("tailwind-variants").ClassValue;
21
+ glass?: import("tailwind-variants").ClassValue;
22
+ title?: import("tailwind-variants").ClassValue;
23
+ body?: import("tailwind-variants").ClassValue;
24
+ footer?: import("tailwind-variants").ClassValue;
25
+ popup?: import("tailwind-variants").ClassValue;
26
+ description?: import("tailwind-variants").ClassValue;
27
+ positioner?: import("tailwind-variants").ClassValue;
28
+ arrow?: import("tailwind-variants").ClassValue;
29
+ };
30
+ };
31
+ } | {}, {
32
+ positioner: string;
33
+ popup: string[];
34
+ glass: string[];
35
+ overlay: string;
36
+ arrow: string[];
37
+ content: string;
38
+ title: string[];
39
+ description: string;
40
+ body: string;
41
+ footer: string;
42
+ }, undefined, {
43
+ [key: string]: {
44
+ [key: string]: import("tailwind-variants").ClassValue | {
45
+ overlay?: import("tailwind-variants").ClassValue;
46
+ content?: import("tailwind-variants").ClassValue;
47
+ glass?: import("tailwind-variants").ClassValue;
48
+ title?: import("tailwind-variants").ClassValue;
49
+ body?: import("tailwind-variants").ClassValue;
50
+ footer?: import("tailwind-variants").ClassValue;
51
+ popup?: import("tailwind-variants").ClassValue;
52
+ description?: import("tailwind-variants").ClassValue;
53
+ positioner?: import("tailwind-variants").ClassValue;
54
+ arrow?: import("tailwind-variants").ClassValue;
55
+ };
56
+ };
57
+ } | {}, {
58
+ positioner: string;
59
+ popup: string[];
60
+ glass: string[];
61
+ overlay: string;
62
+ arrow: string[];
63
+ content: string;
64
+ title: string[];
65
+ description: string;
66
+ body: string;
67
+ footer: string;
68
+ }, import("tailwind-variants").TVReturnTypeLike<unknown, {
69
+ positioner: string;
70
+ popup: string[];
71
+ glass: string[];
72
+ overlay: string;
73
+ arrow: string[];
74
+ content: string;
75
+ title: string[];
76
+ description: string;
77
+ body: string;
78
+ footer: string;
79
+ }>>;
80
+ export default _default;
@@ -0,0 +1,42 @@
1
+ import { tv } from "tailwind-variants";
2
+ export default tv({
3
+ slots: {
4
+ positioner: "z-50 outline-none",
5
+ popup: [
6
+ "relative isolate w-80 max-w-[calc(100vw-2rem)] bg-ui-dialog-surface",
7
+ "rounded-[1.5rem] text-ui-ink outline-none",
8
+ "transition-[opacity,scale,translate] duration-150 ease-out",
9
+ "data-[starting-style]:scale-95 data-[starting-style]:opacity-0",
10
+ "data-[ending-style]:scale-95 data-[ending-style]:opacity-0",
11
+ "data-[side=top]:origin-bottom data-[side=bottom]:origin-top",
12
+ "data-[side=left]:origin-right data-[side=right]:origin-left",
13
+ "data-[side=bottom]:data-[starting-style]:-translate-y-1",
14
+ "data-[side=top]:data-[starting-style]:translate-y-1",
15
+ "data-[side=right]:data-[starting-style]:-translate-x-1",
16
+ "data-[side=left]:data-[starting-style]:translate-x-1",
17
+ "motion-reduce:transition-none"
18
+ ],
19
+ glass: [
20
+ "ui-glass ui-glass-inner ui-glass-highlight",
21
+ "pointer-events-none absolute inset-0 z-0 overflow-hidden rounded-[inherit]"
22
+ ],
23
+ overlay: "ui-glass-rim",
24
+ arrow: [
25
+ "pointer-events-none absolute z-[1] size-3 rotate-45",
26
+ "border-ui-glass-border bg-ui-dialog-surface",
27
+ "drop-shadow-[0_1px_2px_rgb(0_0_0/0.12)]",
28
+ "data-[side=bottom]:-top-[6px] data-[side=bottom]:border-t data-[side=bottom]:border-l",
29
+ "data-[side=top]:-bottom-[6px] data-[side=top]:border-r data-[side=top]:border-b",
30
+ "data-[side=left]:-right-[6px] data-[side=left]:border-t data-[side=left]:border-r",
31
+ "data-[side=right]:-left-[6px] data-[side=right]:border-b data-[side=right]:border-l"
32
+ ],
33
+ content: "relative z-10 flex min-w-0 flex-col p-4",
34
+ title: [
35
+ "min-w-0 text-sm font-semibold tracking-tight text-ui-ink",
36
+ "[filter:var(--ui-drop-shadow-label)]"
37
+ ],
38
+ description: "mt-1 min-w-0 text-xs leading-relaxed text-ui-ink opacity-60",
39
+ body: "mt-3 min-w-0 text-sm leading-relaxed text-ui-ink opacity-75",
40
+ footer: "mt-4 flex flex-wrap items-center justify-end gap-2"
41
+ }
42
+ });
@@ -0,0 +1,68 @@
1
+ declare const _default: import("tailwind-variants").TVReturnType<{
2
+ [key: string]: {
3
+ [key: string]: import("tailwind-variants").ClassValue | {
4
+ overlay?: import("tailwind-variants").ClassValue;
5
+ content?: import("tailwind-variants").ClassValue;
6
+ root?: import("tailwind-variants").ClassValue;
7
+ glass?: import("tailwind-variants").ClassValue;
8
+ scrollbar?: import("tailwind-variants").ClassValue;
9
+ viewport?: import("tailwind-variants").ClassValue;
10
+ corner?: import("tailwind-variants").ClassValue;
11
+ thumb?: import("tailwind-variants").ClassValue;
12
+ };
13
+ };
14
+ } | {
15
+ [x: string]: {
16
+ [x: string]: import("tailwind-variants").ClassValue | {
17
+ overlay?: import("tailwind-variants").ClassValue;
18
+ content?: import("tailwind-variants").ClassValue;
19
+ root?: import("tailwind-variants").ClassValue;
20
+ glass?: import("tailwind-variants").ClassValue;
21
+ scrollbar?: import("tailwind-variants").ClassValue;
22
+ viewport?: import("tailwind-variants").ClassValue;
23
+ corner?: import("tailwind-variants").ClassValue;
24
+ thumb?: import("tailwind-variants").ClassValue;
25
+ };
26
+ };
27
+ } | {}, {
28
+ root: string[];
29
+ glass: string[];
30
+ overlay: string;
31
+ viewport: string[];
32
+ content: string;
33
+ scrollbar: string[];
34
+ thumb: string[];
35
+ corner: string;
36
+ }, undefined, {
37
+ [key: string]: {
38
+ [key: string]: import("tailwind-variants").ClassValue | {
39
+ overlay?: import("tailwind-variants").ClassValue;
40
+ content?: import("tailwind-variants").ClassValue;
41
+ root?: import("tailwind-variants").ClassValue;
42
+ glass?: import("tailwind-variants").ClassValue;
43
+ scrollbar?: import("tailwind-variants").ClassValue;
44
+ viewport?: import("tailwind-variants").ClassValue;
45
+ corner?: import("tailwind-variants").ClassValue;
46
+ thumb?: import("tailwind-variants").ClassValue;
47
+ };
48
+ };
49
+ } | {}, {
50
+ root: string[];
51
+ glass: string[];
52
+ overlay: string;
53
+ viewport: string[];
54
+ content: string;
55
+ scrollbar: string[];
56
+ thumb: string[];
57
+ corner: string;
58
+ }, import("tailwind-variants").TVReturnTypeLike<unknown, {
59
+ root: string[];
60
+ glass: string[];
61
+ overlay: string;
62
+ viewport: string[];
63
+ content: string;
64
+ scrollbar: string[];
65
+ thumb: string[];
66
+ corner: string;
67
+ }>>;
68
+ export default _default;
@@ -0,0 +1,46 @@
1
+ import { tv } from "tailwind-variants";
2
+ export default tv({
3
+ slots: {
4
+ root: [
5
+ "group/scroll-area relative grid w-full min-w-0 overflow-hidden rounded-[1.5rem] text-ui-ink",
6
+ "[--ui-scroll-area-bar-size:6px] [--ui-scroll-area-bar-padding:5px]",
7
+ "[--ui-scroll-area-thumb:color-mix(in_srgb,var(--ui-ink)_26%,transparent)]",
8
+ "[--ui-scroll-area-thumb-hover:color-mix(in_srgb,var(--ui-ink)_42%,transparent)]",
9
+ "[&_*]:box-border",
10
+ "motion-reduce:[&_*]:transition-none"
11
+ ],
12
+ glass: [
13
+ "ui-glass ui-glass-inner ui-glass-highlight",
14
+ "pointer-events-none relative col-start-1 row-start-1 h-full w-full overflow-hidden rounded-[inherit]"
15
+ ],
16
+ overlay: "ui-glass-rim",
17
+ viewport: [
18
+ "relative z-10 col-start-1 row-start-1 h-full min-h-0 w-full min-w-0",
19
+ "rounded-[inherit] outline-none overscroll-contain",
20
+ "focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-ui-glass-focus"
21
+ ],
22
+ content: "min-w-0",
23
+ scrollbar: [
24
+ "group/scrollbar absolute z-20 flex touch-none select-none",
25
+ "p-[var(--ui-scroll-area-bar-padding)] opacity-30",
26
+ "pointer-events-none transition-opacity duration-200 ease-out",
27
+ "data-[hovering]:pointer-events-auto data-[hovering]:opacity-100",
28
+ "data-[scrolling]:pointer-events-auto data-[scrolling]:opacity-100 data-[scrolling]:duration-0",
29
+ "data-[orientation=vertical]:w-[calc(var(--ui-scroll-area-bar-size)+var(--ui-scroll-area-bar-padding)*2)]",
30
+ "data-[orientation=vertical]:justify-center",
31
+ "data-[orientation=horizontal]:h-[calc(var(--ui-scroll-area-bar-size)+var(--ui-scroll-area-bar-padding)*2)]",
32
+ "data-[orientation=horizontal]:items-center"
33
+ ],
34
+ thumb: [
35
+ "relative shrink-0 rounded-full border border-ui-glass-rim",
36
+ "bg-[var(--ui-scroll-area-thumb)]",
37
+ "shadow-[inset_0_1px_0_rgb(255_255_255/0.45),0_1px_2px_rgb(0_0_0/0.18)]",
38
+ "transition-[background-color,box-shadow] duration-150 ease-out",
39
+ "group-hover/scrollbar:bg-[var(--ui-scroll-area-thumb-hover)]",
40
+ "data-[scrolling]:bg-[var(--ui-scroll-area-thumb-hover)]",
41
+ "data-[orientation=vertical]:w-[var(--ui-scroll-area-bar-size)]",
42
+ "data-[orientation=horizontal]:h-[var(--ui-scroll-area-bar-size)]"
43
+ ],
44
+ corner: "absolute z-20 bg-transparent"
45
+ }
46
+ });
@@ -18,7 +18,7 @@ const theme = tv({
18
18
  "motion-reduce:[transition-duration:0.01ms!important] motion-reduce:[transition-delay:0ms!important] motion-reduce:[&_*]:[transition-duration:0.01ms!important] motion-reduce:[&_*]:[transition-delay:0ms!important]",
19
19
  "[&_[data-layer=filter]]:pointer-events-none [&_[data-layer=filter]]:absolute [&_[data-layer=filter]]:h-0 [&_[data-layer=filter]]:w-0 [&_[data-layer=filter]]:overflow-hidden",
20
20
  "[&_[data-layer=mask]]:absolute [&_[data-layer=mask]]:inset-0 [&_[data-layer=mask]]:rounded-[100px]",
21
- "[&_[data-layer=mask]]:[filter:url(#ui-switch-remove-black)] [&_[data-layer=mask]]:[transform:translate3d(0,0,0)]",
21
+ "[&_[data-layer=mask]]:[filter:var(--ui-switch-remove-black-filter)] [&_[data-layer=mask]]:[transform:translate3d(0,0,0)]",
22
22
  "[&_[data-layer=track]]:absolute [&_[data-layer=track]]:left-1/2 [&_[data-layer=track]]:top-1/2 [&_[data-layer=track]]:z-[12] [&_[data-layer=track]]:h-full [&_[data-layer=track]]:w-full [&_[data-layer=track]]:rounded-[100px] [&_[data-layer=track]]:bg-[var(--ui-switch-off)]",
23
23
  "[&_[data-layer=track]]:[container-type:inline-size] [&_[data-layer=track]]:[translate:-50%_-50%] [&_[data-layer=track]]:[box-shadow:inset_0_1px_1px_rgb(255_255_255/0.35),inset_0_-1px_2px_rgb(0_0_0/0.12)]",
24
24
  "[&_[data-layer=track]]:[transition:background-color_120ms_ease-out_180ms] group-data-[checked]:[&_[data-layer=track]]:bg-[var(--ui-switch-on)]",
@@ -33,7 +33,7 @@ const theme = tv({
33
33
  "[&_[data-layer=glass-lens]]:[filter:blur(calc(var(--ui-switch-height)*0.1))] [&_[data-layer=glass-lens]]:transition-[filter] [&_[data-layer=glass-lens]]:duration-200 [&_[data-layer=glass-lens]]:ease-out",
34
34
  "group-active:[&_[data-layer=glass-lens]]:[filter:blur(0)] group-data-[animating=true]:[&_[data-layer=glass-lens]]:[filter:blur(0)]",
35
35
  "[&_[data-layer=goo]]:absolute [&_[data-layer=goo]]:inset-0 [&_[data-layer=goo]]:overflow-hidden [&_[data-layer=goo]]:rounded-[100px]",
36
- "[&_[data-layer=goo]]:[filter:url(#ui-switch-goo)] [&_[data-layer=goo]]:[transform:translate3d(0,0,0)]",
36
+ "[&_[data-layer=goo]]:[filter:var(--ui-switch-goo-filter)] [&_[data-layer=goo]]:[transform:translate3d(0,0,0)]",
37
37
  "[&_[data-layer=inner-glow]]:absolute [&_[data-layer=inner-glow]]:inset-0 [&_[data-layer=inner-glow]]:rounded-[100px]",
38
38
  "[&_[data-layer=inner-glow]]:[--ui-switch-glow-color:var(--ui-switch-off)] group-data-[checked]:[&_[data-layer=inner-glow]]:[--ui-switch-glow-color:var(--ui-switch-on)]",
39
39
  "[&_[data-layer=inner-glow]]:[transition:box-shadow_120ms_ease-out_180ms]",
@@ -52,8 +52,7 @@ const theme = tv({
52
52
  "[container-type:inline-size]",
53
53
  "[translate:0_-50%] group-data-[checked]:[translate:calc(100cqi_-_100%_-_2*var(--ui-switch-border))_-50%]",
54
54
  "[transition:translate_120ms_ease-out_180ms,scale_300ms_ease-out]",
55
- "group-active:[scale:1.65] group-data-[animating=true]:[scale:1.65]",
56
- "motion-reduce:transition-none"
55
+ "group-active:[scale:1.65] group-data-[animating=true]:[scale:1.65]"
57
56
  ],
58
57
  wrapper: "ms-2 min-w-0",
59
58
  label: "block font-medium text-ui-ink",
@@ -0,0 +1,107 @@
1
+ declare const _default: import("tailwind-variants").TVReturnType<{
2
+ placement: {
3
+ top: {
4
+ viewport: string;
5
+ root: string[];
6
+ };
7
+ bottom: {
8
+ viewport: string;
9
+ root: string[];
10
+ };
11
+ };
12
+ align: {
13
+ left: {
14
+ viewport: string;
15
+ };
16
+ center: {
17
+ viewport: string;
18
+ };
19
+ right: {
20
+ viewport: string;
21
+ };
22
+ };
23
+ }, {
24
+ viewport: string;
25
+ root: string[];
26
+ glass: string[];
27
+ overlay: string;
28
+ content: string[];
29
+ icon: string[];
30
+ text: string;
31
+ title: string[];
32
+ description: string;
33
+ actions: string;
34
+ action: string[];
35
+ close: string[];
36
+ }, undefined, {
37
+ placement: {
38
+ top: {
39
+ viewport: string;
40
+ root: string[];
41
+ };
42
+ bottom: {
43
+ viewport: string;
44
+ root: string[];
45
+ };
46
+ };
47
+ align: {
48
+ left: {
49
+ viewport: string;
50
+ };
51
+ center: {
52
+ viewport: string;
53
+ };
54
+ right: {
55
+ viewport: string;
56
+ };
57
+ };
58
+ }, {
59
+ viewport: string;
60
+ root: string[];
61
+ glass: string[];
62
+ overlay: string;
63
+ content: string[];
64
+ icon: string[];
65
+ text: string;
66
+ title: string[];
67
+ description: string;
68
+ actions: string;
69
+ action: string[];
70
+ close: string[];
71
+ }, import("tailwind-variants").TVReturnTypeLike<{
72
+ placement: {
73
+ top: {
74
+ viewport: string;
75
+ root: string[];
76
+ };
77
+ bottom: {
78
+ viewport: string;
79
+ root: string[];
80
+ };
81
+ };
82
+ align: {
83
+ left: {
84
+ viewport: string;
85
+ };
86
+ center: {
87
+ viewport: string;
88
+ };
89
+ right: {
90
+ viewport: string;
91
+ };
92
+ };
93
+ }, {
94
+ viewport: string;
95
+ root: string[];
96
+ glass: string[];
97
+ overlay: string;
98
+ content: string[];
99
+ icon: string[];
100
+ text: string;
101
+ title: string[];
102
+ description: string;
103
+ actions: string;
104
+ action: string[];
105
+ close: string[];
106
+ }>>;
107
+ export default _default;
@@ -0,0 +1,104 @@
1
+ import { tv } from "tailwind-variants";
2
+ export default tv({
3
+ slots: {
4
+ viewport: "fixed z-[60] flex w-[calc(100vw_-_2rem)] max-w-sm outline-none",
5
+ root: [
6
+ "[--gap:0.75rem] [--peek:0.75rem]",
7
+ "[--scale:calc(max(0,1_-_var(--toast-index)*0.1))]",
8
+ "[--shrink:calc(1_-_var(--scale))]",
9
+ "[--height:var(--toast-frontmost-height,var(--toast-height))]",
10
+ "absolute inset-x-0 isolate h-[var(--height)] w-full rounded-[1.25rem]",
11
+ "bg-ui-dialog-surface text-ui-ink select-none",
12
+ "z-[calc(1000-var(--toast-index))]",
13
+ "[transition:transform_500ms_cubic-bezier(0.22,1,0.36,1),opacity_500ms,height_150ms]",
14
+ "data-[expanded]:h-[var(--toast-height)]",
15
+ "data-[limited]:pointer-events-none data-[limited]:opacity-0",
16
+ "data-[swiping]:cursor-grabbing",
17
+ "outline-none focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-ui-glass-focus",
18
+ "motion-reduce:transition-none"
19
+ ],
20
+ glass: [
21
+ "ui-glass ui-glass-inner ui-glass-highlight",
22
+ "pointer-events-none absolute inset-0 z-0 overflow-hidden rounded-[inherit]"
23
+ ],
24
+ overlay: "ui-glass-rim",
25
+ content: [
26
+ "relative z-10 flex h-full min-w-0 items-start gap-3 overflow-hidden p-4",
27
+ "transition-opacity duration-200 ease-out",
28
+ "data-[behind]:opacity-0 data-[expanded]:opacity-100",
29
+ "motion-reduce:transition-none"
30
+ ],
31
+ icon: [
32
+ "mt-0.5 grid size-5 shrink-0 place-items-center text-ui-ink opacity-70",
33
+ "data-[icon=loading]:animate-spin motion-reduce:animate-none"
34
+ ],
35
+ text: "flex min-w-0 flex-1 flex-col gap-0.5",
36
+ title: [
37
+ "min-w-0 text-sm font-semibold tracking-tight text-ui-ink",
38
+ "[filter:var(--ui-drop-shadow-label)]"
39
+ ],
40
+ description: "min-w-0 text-sm leading-relaxed text-ui-ink opacity-60",
41
+ actions: "flex shrink-0 items-center gap-1",
42
+ action: [
43
+ "ui-glass-chip inline-flex h-7 shrink-0 items-center rounded-full px-2.5",
44
+ "whitespace-nowrap text-xs font-medium text-ui-ink",
45
+ "transition-[background-color,scale] duration-150 ease-out",
46
+ "hover:bg-ui-ink/10 active:scale-95",
47
+ "focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ui-glass-focus",
48
+ "disabled:pointer-events-none disabled:opacity-50",
49
+ "motion-reduce:transition-none"
50
+ ],
51
+ close: [
52
+ "grid size-7 shrink-0 place-items-center rounded-full text-ui-ink opacity-60",
53
+ "transition-[background-color,opacity,scale] duration-150 ease-out",
54
+ "hover:bg-ui-ink/10 hover:opacity-100 active:scale-90",
55
+ "focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ui-glass-focus",
56
+ "motion-reduce:transition-none"
57
+ ]
58
+ },
59
+ variants: {
60
+ placement: {
61
+ top: {
62
+ viewport: "top-[max(1rem,env(safe-area-inset-top))] bottom-auto",
63
+ root: [
64
+ "top-0 origin-top",
65
+ "[--offset-y:calc(var(--toast-offset-y)_+_(var(--toast-index)*var(--gap))_+_var(--toast-swipe-movement-y))]",
66
+ "[transform:translateX(var(--toast-swipe-movement-x))_translateY(calc(var(--toast-swipe-movement-y)_+_var(--toast-index)*var(--peek)_+_var(--shrink)*var(--height)))_scale(var(--scale))]",
67
+ "data-[expanded]:[transform:translateX(var(--toast-swipe-movement-x))_translateY(var(--offset-y))]",
68
+ "data-[starting-style]:[transform:translateY(-150%)]",
69
+ "[&[data-ending-style]:not([data-limited]):not([data-swipe-direction])]:[transform:translateY(-150%)]",
70
+ "data-[ending-style]:data-[swipe-direction=up]:[transform:translateY(calc(var(--toast-swipe-movement-y)_-_150%))]",
71
+ "after:absolute after:bottom-full after:left-0 after:h-[calc(var(--gap)_+_1px)] after:w-full after:content-['']"
72
+ ]
73
+ },
74
+ bottom: {
75
+ viewport: "bottom-[max(1rem,env(safe-area-inset-bottom))] top-auto",
76
+ root: [
77
+ "bottom-0 origin-bottom",
78
+ "[--offset-y:calc(var(--toast-offset-y)*-1_+_(var(--toast-index)*var(--gap)*-1)_+_var(--toast-swipe-movement-y))]",
79
+ "[transform:translateX(var(--toast-swipe-movement-x))_translateY(calc(var(--toast-swipe-movement-y)_-_var(--toast-index)*var(--peek)_-_var(--shrink)*var(--height)))_scale(var(--scale))]",
80
+ "data-[expanded]:[transform:translateX(var(--toast-swipe-movement-x))_translateY(var(--offset-y))]",
81
+ "data-[starting-style]:[transform:translateY(150%)]",
82
+ "[&[data-ending-style]:not([data-limited]):not([data-swipe-direction])]:[transform:translateY(150%)]",
83
+ "data-[ending-style]:data-[swipe-direction=down]:[transform:translateY(calc(var(--toast-swipe-movement-y)_+_150%))]",
84
+ "after:absolute after:top-full after:left-0 after:h-[calc(var(--gap)_+_1px)] after:w-full after:content-['']"
85
+ ]
86
+ }
87
+ },
88
+ align: {
89
+ left: {
90
+ viewport: "left-[max(1rem,env(safe-area-inset-left))] right-auto"
91
+ },
92
+ center: {
93
+ viewport: "left-1/2 -translate-x-1/2"
94
+ },
95
+ right: {
96
+ viewport: "right-[max(1rem,env(safe-area-inset-right))] left-auto"
97
+ }
98
+ }
99
+ },
100
+ defaultVariants: {
101
+ placement: "bottom",
102
+ align: "right"
103
+ }
104
+ });
@@ -0,0 +1,95 @@
1
+ declare const _default: import("tailwind-variants").TVReturnType<{
2
+ size: {
3
+ xs: {
4
+ root: string;
5
+ };
6
+ sm: {
7
+ root: string;
8
+ };
9
+ md: {
10
+ root: string;
11
+ };
12
+ lg: {
13
+ root: string;
14
+ };
15
+ xl: {
16
+ root: string;
17
+ };
18
+ };
19
+ iconOnly: {
20
+ true: {
21
+ root: string;
22
+ };
23
+ };
24
+ }, {
25
+ root: string[];
26
+ glass: string[];
27
+ thumb: string[];
28
+ rim: string;
29
+ content: string;
30
+ icon: string;
31
+ label: string;
32
+ }, undefined, {
33
+ size: {
34
+ xs: {
35
+ root: string;
36
+ };
37
+ sm: {
38
+ root: string;
39
+ };
40
+ md: {
41
+ root: string;
42
+ };
43
+ lg: {
44
+ root: string;
45
+ };
46
+ xl: {
47
+ root: string;
48
+ };
49
+ };
50
+ iconOnly: {
51
+ true: {
52
+ root: string;
53
+ };
54
+ };
55
+ }, {
56
+ root: string[];
57
+ glass: string[];
58
+ thumb: string[];
59
+ rim: string;
60
+ content: string;
61
+ icon: string;
62
+ label: string;
63
+ }, import("tailwind-variants").TVReturnTypeLike<{
64
+ size: {
65
+ xs: {
66
+ root: string;
67
+ };
68
+ sm: {
69
+ root: string;
70
+ };
71
+ md: {
72
+ root: string;
73
+ };
74
+ lg: {
75
+ root: string;
76
+ };
77
+ xl: {
78
+ root: string;
79
+ };
80
+ };
81
+ iconOnly: {
82
+ true: {
83
+ root: string;
84
+ };
85
+ };
86
+ }, {
87
+ root: string[];
88
+ glass: string[];
89
+ thumb: string[];
90
+ rim: string;
91
+ content: string;
92
+ icon: string;
93
+ label: string;
94
+ }>>;
95
+ export default _default;
@@ -0,0 +1,64 @@
1
+ import { tv } from "tailwind-variants";
2
+ export default tv({
3
+ slots: {
4
+ root: [
5
+ "group/toggle relative isolate inline-flex shrink-0 cursor-pointer select-none items-center justify-center",
6
+ "h-[var(--ui-toggle-height)] gap-[var(--ui-toggle-gap)] px-[var(--ui-toggle-px)]",
7
+ "rounded-full bg-transparent text-[length:var(--ui-toggle-font-size)] text-ui-ink",
8
+ "outline-offset-2 focus-visible:outline-2 focus-visible:outline-ui-glass-focus",
9
+ "transition-[scale] duration-200 ease-out active:scale-[0.97]",
10
+ "data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
11
+ "[--ui-toggle-thumb:color-mix(in_srgb,var(--ui-ink)_12%,transparent)]",
12
+ "[--ui-toggle-thumb-rim:color-mix(in_srgb,var(--ui-ink)_16%,transparent)]",
13
+ "[--ui-toggle-thumb-shadow:inset_2px_1px_0_-1px_rgb(255_255_255/0.9),inset_-1.5px_-1px_0_-1px_rgb(255_255_255/0.7),inset_-2px_-6px_1px_-5px_rgb(255_255_255/0.5),inset_-1px_2px_3px_-1px_rgb(0_0_0/0.16),inset_0_-4px_1px_-2px_rgb(0_0_0/0.08),0_3px_6px_rgb(0_0_0/0.08)]",
14
+ "[&_svg]:transition-transform [&_svg]:duration-200 [&_svg]:ease-[cubic-bezier(0.5,0,0,1)]",
15
+ "[&:hover_svg]:scale-110 data-[pressed]:[&_svg]:scale-100",
16
+ "motion-reduce:transition-none motion-reduce:[&_svg]:transition-none"
17
+ ],
18
+ glass: [
19
+ "ui-glass ui-glass-inner ui-glass-highlight",
20
+ "pointer-events-none absolute inset-0 z-0 overflow-hidden rounded-[inherit]"
21
+ ],
22
+ thumb: [
23
+ "pointer-events-none absolute inset-[3px] z-[1] rounded-full",
24
+ "bg-[var(--ui-toggle-thumb)] ring-1 ring-inset ring-[var(--ui-toggle-thumb-rim)]",
25
+ "shadow-[var(--ui-toggle-thumb-shadow)]",
26
+ "opacity-0 scale-95",
27
+ "transition-[opacity,scale] duration-200 ease-out",
28
+ "group-data-[pressed]/toggle:opacity-100 group-data-[pressed]/toggle:scale-100",
29
+ "motion-reduce:transition-none"
30
+ ],
31
+ rim: "ui-glass-rim",
32
+ content: "relative z-10 inline-flex min-w-0 items-center justify-center gap-[var(--ui-toggle-gap)]",
33
+ icon: "inline-flex shrink-0 items-center justify-center [&_svg]:size-[var(--ui-toggle-icon-size)] [&_svg]:shrink-0",
34
+ label: "min-w-0 truncate leading-none"
35
+ },
36
+ variants: {
37
+ size: {
38
+ xs: {
39
+ root: "[--ui-toggle-height:24px] [--ui-toggle-px:8px] [--ui-toggle-font-size:0.75rem] [--ui-toggle-icon-size:16px] [--ui-toggle-gap:4px]"
40
+ },
41
+ sm: {
42
+ root: "[--ui-toggle-height:28px] [--ui-toggle-px:10px] [--ui-toggle-font-size:0.75rem] [--ui-toggle-icon-size:16px] [--ui-toggle-gap:4px]"
43
+ },
44
+ md: {
45
+ root: "[--ui-toggle-height:32px] [--ui-toggle-px:12px] [--ui-toggle-font-size:0.875rem] [--ui-toggle-icon-size:20px] [--ui-toggle-gap:6px]"
46
+ },
47
+ lg: {
48
+ root: "[--ui-toggle-height:36px] [--ui-toggle-px:14px] [--ui-toggle-font-size:0.875rem] [--ui-toggle-icon-size:20px] [--ui-toggle-gap:6px]"
49
+ },
50
+ xl: {
51
+ root: "[--ui-toggle-height:40px] [--ui-toggle-px:16px] [--ui-toggle-font-size:1rem] [--ui-toggle-icon-size:24px] [--ui-toggle-gap:8px]"
52
+ }
53
+ },
54
+ iconOnly: {
55
+ true: {
56
+ root: "aspect-square px-0"
57
+ }
58
+ }
59
+ },
60
+ defaultVariants: {
61
+ size: "md",
62
+ iconOnly: false
63
+ }
64
+ });