@nipsys/shadcn-lsd 0.2.3 → 0.2.5

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 (128) hide show
  1. package/dist/Autocomplete-DI2nShZk.js +216 -0
  2. package/dist/{Badge-DHID7w-D.js → Badge-SDsdES93.js} +43 -48
  3. package/dist/{Button-DoTpV6G1.js → Button-CCXyUaSw.js} +37 -46
  4. package/dist/{ButtonGroup-BgylmC1j.js → ButtonGroup-WtMRnYIq.js} +7 -7
  5. package/dist/{Input-W8QqFI1v.js → Input-BNaFAHs9.js} +46 -45
  6. package/dist/{Label-BEM-ZJXI.js → Label-CjkQmoNz.js} +8 -8
  7. package/dist/{ScrollBar-CyKMm83e.js → ScrollBar-Cuog8lP4.js} +31 -31
  8. package/dist/SidebarContext-CNUkvXwD.js +107 -0
  9. package/dist/Toggle-DZIHuZXk.js +34 -0
  10. package/dist/assets/style.css +1 -1
  11. package/dist/components/ui/accordion/AccordionContent.js +16 -16
  12. package/dist/components/ui/accordion/__tests__/accordion-content.test.js +1 -1
  13. package/dist/components/ui/alert-dialog/AlertDialogAction.js +1 -1
  14. package/dist/components/ui/alert-dialog/AlertDialogCancel.js +1 -1
  15. package/dist/components/ui/alert-dialog/AlertDialogContent.js +11 -11
  16. package/dist/components/ui/alert-dialog/AlertDialogFooter.js +5 -5
  17. package/dist/components/ui/alert-dialog/AlertDialogHeader.js +7 -7
  18. package/dist/components/ui/alert-dialog/__tests__/alert-dialog-action.test.js +1 -1
  19. package/dist/components/ui/alert-dialog/__tests__/alert-dialog-cancel.test.js +1 -1
  20. package/dist/components/ui/alert-dialog/__tests__/alert-dialog-content.test.js +2 -2
  21. package/dist/components/ui/alert-dialog/__tests__/alert-dialog-description.test.js +1 -1
  22. package/dist/components/ui/alert-dialog/__tests__/alert-dialog-footer.test.js +8 -8
  23. package/dist/components/ui/alert-dialog/__tests__/alert-dialog-header.test.js +2 -2
  24. package/dist/components/ui/alert-dialog/__tests__/alert-dialog-overlay.test.js +1 -1
  25. package/dist/components/ui/alert-dialog/__tests__/alert-dialog-title.test.js +1 -1
  26. package/dist/components/ui/alert-dialog/__tests__/alert-dialog-trigger.test.js +1 -1
  27. package/dist/components/ui/autocomplete/Autocomplete.js +1 -1
  28. package/dist/components/ui/autocomplete/__tests__/autocomplete.test.js +1 -1
  29. package/dist/components/ui/badge/Badge.js +1 -1
  30. package/dist/components/ui/badge/badge.test.js +112 -112
  31. package/dist/components/ui/badge/types.d.ts +1 -1
  32. package/dist/components/ui/button/Button.js +1 -1
  33. package/dist/components/ui/button/button.test.js +98 -94
  34. package/dist/components/ui/button/types.d.ts +1 -1
  35. package/dist/components/ui/button-group/ButtonGroup.js +1 -1
  36. package/dist/components/ui/button-group/ButtonGroupText.js +11 -11
  37. package/dist/components/ui/button-group/__tests__/button-group-separator.test.js +1 -1
  38. package/dist/components/ui/button-group/__tests__/button-group-text.test.js +14 -14
  39. package/dist/components/ui/button-group/__tests__/button-group.test.js +1 -1
  40. package/dist/components/ui/card/CardContent.js +9 -6
  41. package/dist/components/ui/card/CardFooter.js +8 -8
  42. package/dist/components/ui/card/CardHeader.js +9 -9
  43. package/dist/components/ui/card/__tests__/card-content.test.js +19 -19
  44. package/dist/components/ui/card/__tests__/card-footer.test.js +20 -20
  45. package/dist/components/ui/card/__tests__/card-header.test.js +9 -9
  46. package/dist/components/ui/checkbox/Checkbox.js +2 -2
  47. package/dist/components/ui/checkbox/checkbox.test.js +3 -3
  48. package/dist/components/ui/command/CommandDialog.js +18 -18
  49. package/dist/components/ui/command/CommandEmpty.js +5 -5
  50. package/dist/components/ui/command/CommandGroup.js +7 -7
  51. package/dist/components/ui/command/CommandInput.js +14 -14
  52. package/dist/components/ui/command/CommandItem.js +7 -7
  53. package/dist/components/ui/command/CommandList.js +9 -9
  54. package/dist/components/ui/command/CommandSeparator.js +13 -10
  55. package/dist/components/ui/command/__tests__/command-empty.test.js +16 -16
  56. package/dist/components/ui/command/__tests__/command-group.test.js +13 -13
  57. package/dist/components/ui/command/__tests__/command-input.test.js +29 -29
  58. package/dist/components/ui/command/__tests__/command-item.test.js +19 -19
  59. package/dist/components/ui/command/__tests__/command-list.test.js +12 -12
  60. package/dist/components/ui/command/__tests__/command-separator.test.js +19 -19
  61. package/dist/components/ui/dialog/DialogContent.js +10 -10
  62. package/dist/components/ui/dialog/DialogFooter.js +6 -6
  63. package/dist/components/ui/dialog/DialogHeader.js +9 -9
  64. package/dist/components/ui/dialog/__tests__/dialog-content.test.js +1 -1
  65. package/dist/components/ui/dialog/__tests__/dialog-footer.test.js +7 -7
  66. package/dist/components/ui/dialog/__tests__/dialog-header.test.js +1 -1
  67. package/dist/components/ui/input/Input.js +1 -1
  68. package/dist/components/ui/input/input.test.js +5 -5
  69. package/dist/components/ui/label/Label.js +1 -1
  70. package/dist/components/ui/label/label.test.js +2 -2
  71. package/dist/components/ui/menubar/Menubar.js +1 -1
  72. package/dist/components/ui/menubar/MenubarCheckboxItem.js +18 -18
  73. package/dist/components/ui/menubar/MenubarContent.js +1 -1
  74. package/dist/components/ui/menubar/MenubarItem.js +1 -1
  75. package/dist/components/ui/menubar/MenubarLabel.js +1 -1
  76. package/dist/components/ui/menubar/MenubarRadioItem.js +14 -14
  77. package/dist/components/ui/menubar/MenubarSeparator.js +1 -1
  78. package/dist/components/ui/menubar/MenubarSubContent.js +1 -1
  79. package/dist/components/ui/menubar/MenubarSubTrigger.js +16 -16
  80. package/dist/components/ui/menubar/MenubarTrigger.js +1 -1
  81. package/dist/components/ui/menubar/__tests__/menubar-trigger.test.js +26 -26
  82. package/dist/components/ui/menubar/__tests__/menubar.test.js +15 -15
  83. package/dist/components/ui/popover/PopoverContent.js +5 -5
  84. package/dist/components/ui/popover/__tests__/popover-content.test.js +1 -1
  85. package/dist/components/ui/progress/Progress.js +41 -41
  86. package/dist/components/ui/progress/progress.test.js +10 -10
  87. package/dist/components/ui/scroll-area/ScrollArea.js +1 -1
  88. package/dist/components/ui/scroll-area/ScrollBar.js +1 -1
  89. package/dist/components/ui/select/SelectContent.js +11 -11
  90. package/dist/components/ui/select/SelectItem.js +13 -13
  91. package/dist/components/ui/select/SelectLabel.js +9 -9
  92. package/dist/components/ui/select/SelectScrollDownButton.js +12 -12
  93. package/dist/components/ui/select/SelectScrollUpButton.js +13 -13
  94. package/dist/components/ui/select/SelectSeparator.js +11 -11
  95. package/dist/components/ui/select/SelectTrigger.js +12 -12
  96. package/dist/components/ui/sheet/SheetContent.js +16 -16
  97. package/dist/components/ui/sheet/SheetFooter.js +9 -9
  98. package/dist/components/ui/sheet/SheetHeader.js +10 -7
  99. package/dist/components/ui/sheet/__tests__/sheet-footer.test.js +10 -10
  100. package/dist/components/ui/sheet/__tests__/sheet-header.test.js +9 -9
  101. package/dist/components/ui/sidebar/Sidebar.js +6 -6
  102. package/dist/components/ui/sidebar/SidebarContent.js +62 -53
  103. package/dist/components/ui/sidebar/SidebarContext.js +1 -1
  104. package/dist/components/ui/sidebar/SidebarGroup.js +24 -24
  105. package/dist/components/ui/sidebar/SidebarMenu.js +82 -82
  106. package/dist/components/ui/sidebar/__tests__/sidebar-content.test.js +1 -1
  107. package/dist/components/ui/sidebar/__tests__/sidebar-group.test.js +3 -3
  108. package/dist/components/ui/sidebar/__tests__/sidebar-menu.test.js +3 -3
  109. package/dist/components/ui/sidebar/__tests__/sidebar.test.js +20 -20
  110. package/dist/components/ui/switch/Switch.js +35 -35
  111. package/dist/components/ui/switch/switch.test.js +20 -20
  112. package/dist/components/ui/tabs/Tabs.js +1 -1
  113. package/dist/components/ui/tabs/TabsList.js +1 -1
  114. package/dist/components/ui/tabs/TabsTrigger.js +1 -1
  115. package/dist/components/ui/tabs/__tests__/tabs-trigger.test.js +3 -3
  116. package/dist/components/ui/tabs/__tests__/tabs.test.js +44 -44
  117. package/dist/components/ui/toggle/Toggle.js +1 -1
  118. package/dist/components/ui/toggle/toggle.test.js +85 -73
  119. package/dist/components/ui/toggle-group/ToggleGroupItem.js +1 -1
  120. package/dist/components/ui/toggle-group/__tests__/toggle-group.test.js +3 -3
  121. package/dist/main.js +9 -9
  122. package/dist/{types-ClTXXuXM.js → types-D4rgriAV.js} +7 -7
  123. package/dist/types-DsORryJJ.js +69 -0
  124. package/package.json +1 -1
  125. package/dist/Autocomplete-3wLa9P4X.js +0 -216
  126. package/dist/SidebarContext-CRh-DPz_.js +0 -107
  127. package/dist/Toggle-DOc92BjI.js +0 -34
  128. package/dist/types-BSbBWG9A.js +0 -69
@@ -0,0 +1,216 @@
1
+ import { jsxs as w, jsx as r } from "react/jsx-runtime";
2
+ import * as l from "react";
3
+ import { Popover as B } from "./components/ui/popover/Popover.js";
4
+ import { c as t } from "./utils-DtaLkIY8.js";
5
+ import { PopoverTrigger as H } from "./components/ui/popover/PopoverTrigger.js";
6
+ import { AutocompleteContent as W } from "./components/ui/autocomplete/AutocompleteList.js";
7
+ import { X } from "./x-B9bYxG31.js";
8
+ const Y = {
9
+ xs: {
10
+ container: "lsd:w-[140px]",
11
+ label: "lsd:mb-[var(--lsd-spacing-smaller)] lsd:ml-[var(--lsd-spacing-small)]",
12
+ inputContainer: "lsd:h-[var(--lsd-spacing-larger)]",
13
+ input: "lsd:px-[var(--lsd-spacing-smaller)] lsd:py-[var(--lsd-spacing-smallest)]",
14
+ icon: "lsd:px-[var(--lsd-spacing-smaller)] lsd:py-[var(--lsd-spacing-smaller)]"
15
+ },
16
+ sm: {
17
+ container: "lsd:w-[164px]",
18
+ label: "lsd:mb-[var(--lsd-spacing-smaller)] lsd:ml-[var(--lsd-spacing-small)]",
19
+ inputContainer: "lsd:h-[var(--lsd-spacing-largest)]",
20
+ input: "lsd:px-[var(--lsd-spacing-small)] lsd:py-[var(--lsd-spacing-smaller)]",
21
+ icon: "lsd:px-[var(--lsd-spacing-smaller)] lsd:py-[var(--lsd-spacing-smaller)]"
22
+ },
23
+ md: {
24
+ container: "lsd:w-[188px]",
25
+ label: "lsd:mb-[var(--lsd-spacing-smaller)] lsd:ml-[var(--lsd-spacing-base)]",
26
+ inputContainer: "lsd:h-8",
27
+ input: "lsd:px-[var(--lsd-spacing-base)] lsd:py-[var(--lsd-spacing-smaller)]",
28
+ icon: "lsd:px-[var(--lsd-spacing-small)] lsd:py-[var(--lsd-spacing-smaller)]"
29
+ },
30
+ lg: {
31
+ container: "lsd:w-[208px]",
32
+ label: "lsd:mb-[var(--lsd-spacing-smaller)] lsd:ml-[var(--lsd-spacing-base)]",
33
+ inputContainer: "lsd:h-10",
34
+ input: "lsd:px-[var(--lsd-spacing-base)] lsd:py-[var(--lsd-spacing-small)]",
35
+ icon: "lsd:px-[var(--lsd-spacing-base)] lsd:py-[var(--lsd-spacing-small)]"
36
+ },
37
+ xl: {
38
+ container: "lsd:w-[240px]",
39
+ label: "lsd:mb-[var(--lsd-spacing-smaller)] lsd:ml-[var(--lsd-spacing-base)]",
40
+ inputContainer: "lsd:h-12",
41
+ input: "lsd:px-[var(--lsd-spacing-large)] lsd:py-[var(--lsd-spacing-small)]",
42
+ icon: "lsd:px-[var(--lsd-spacing-base)] lsd:py-[var(--lsd-spacing-base)]"
43
+ }
44
+ }, Z = 300;
45
+ function q({
46
+ onOptionsFetch: a,
47
+ searchText: n,
48
+ open: c,
49
+ externalIsLoading: d
50
+ }) {
51
+ const [y, v] = l.useState(
52
+ []
53
+ ), [p, g] = l.useState(!1), s = d !== void 0 ? d : p;
54
+ return l.useEffect(() => {
55
+ if (a && c && d === void 0) {
56
+ g(!0);
57
+ const f = async () => {
58
+ try {
59
+ const i = await a(n);
60
+ v(i);
61
+ } catch (i) {
62
+ console.error("Error fetching options:", i), v([]);
63
+ } finally {
64
+ g(!1);
65
+ }
66
+ }, h = setTimeout(() => {
67
+ f();
68
+ }, Z);
69
+ return () => clearTimeout(h);
70
+ }
71
+ }, [a, n, c, d]), { asyncOptions: y, isLoading: s };
72
+ }
73
+ const G = l.forwardRef(
74
+ ({
75
+ options: a,
76
+ onOptionsFetch: n,
77
+ placeholder: c = "Search...",
78
+ emptyText: d = "No results found.",
79
+ loadingText: y = "Loading...",
80
+ className: v,
81
+ onValueChange: p,
82
+ onClear: g,
83
+ disabled: s = !1,
84
+ label: f,
85
+ size: h = "md",
86
+ icon: i,
87
+ error: T = !1,
88
+ variant: I = "outlined",
89
+ clearable: P = !1,
90
+ value: m,
91
+ isLoading: R,
92
+ ...S
93
+ }, _) => {
94
+ const [E, A] = l.useState(!1), [j, N] = l.useState(""), x = m !== void 0 ? m : j, [u, b] = l.useState(""), O = l.useRef(null);
95
+ l.useImperativeHandle(_, () => O.current);
96
+ const { asyncOptions: C, isLoading: k } = q({
97
+ onOptionsFetch: n,
98
+ searchText: u,
99
+ open: E,
100
+ externalIsLoading: R
101
+ }), M = l.useCallback(
102
+ (e) => {
103
+ m === void 0 && N(e), b(""), A(!1), p?.(e);
104
+ },
105
+ [p, m]
106
+ ), U = () => {
107
+ m === void 0 && N(""), b(""), p?.(""), g?.();
108
+ }, D = l.useMemo(() => n ? C : a ? u ? a.filter(
109
+ (e) => e.label.toLowerCase().startsWith(u.toLowerCase())
110
+ ) : a : [], [a, C, u, n]), L = S.id || "autocomplete-input", o = Y[h], z = x && (a?.find((e) => e.value === x)?.label || C?.find((e) => e.value === x)?.label) || "";
111
+ return /* @__PURE__ */ w(
112
+ "div",
113
+ {
114
+ ...S,
115
+ className: t("lsd:box-border", o.container, v),
116
+ children: [
117
+ f && /* @__PURE__ */ r(
118
+ "label",
119
+ {
120
+ htmlFor: L,
121
+ className: t(
122
+ "lsd:block lsd:text-sm",
123
+ o.label,
124
+ s ? "lsd:text-lsd-text-secondary" : "lsd:text-lsd-text-primary"
125
+ ),
126
+ children: f
127
+ }
128
+ ),
129
+ /* @__PURE__ */ w(B, { open: E, onOpenChange: A, children: [
130
+ /* @__PURE__ */ r(H, { asChild: !0, children: /* @__PURE__ */ w(
131
+ "div",
132
+ {
133
+ className: t(
134
+ "lsd:flex lsd:justify-between",
135
+ o.inputContainer,
136
+ I === "outlined" ? s ? "lsd:border lsd:border-lsd-text-secondary" : "lsd:border lsd:border-lsd-border" : s ? "lsd:border lsd:border-transparent lsd:border-b-lsd-text-secondary" : "lsd:border lsd:border-transparent lsd:border-b-lsd-border",
137
+ s ? "lsd:cursor-not-allowed" : "lsd:cursor-pointer"
138
+ ),
139
+ children: [
140
+ /* @__PURE__ */ r(
141
+ "input",
142
+ {
143
+ ref: O,
144
+ id: L,
145
+ value: z,
146
+ placeholder: c,
147
+ onChange: (e) => b(e.target.value),
148
+ disabled: s,
149
+ readOnly: !0,
150
+ className: t(
151
+ "lsd:border-none lsd:outline-none lsd:bg-none lsd:w-full lsd:text-[14px]",
152
+ o.input,
153
+ s ? "lsd:text-lsd-text-secondary lsd:cursor-not-allowed" : "lsd:text-lsd-text-primary",
154
+ T && "lsd:line-through",
155
+ "lsd:placeholder:text-lsd-text-primary lsd:placeholder:opacity-30"
156
+ )
157
+ }
158
+ ),
159
+ i && /* @__PURE__ */ r(
160
+ "div",
161
+ {
162
+ className: t("lsd:flex lsd:items-center", o.icon),
163
+ children: i
164
+ }
165
+ ),
166
+ x && P && /* @__PURE__ */ r(
167
+ "button",
168
+ {
169
+ type: "button",
170
+ onClick: U,
171
+ disabled: s,
172
+ className: t(
173
+ "lsd:flex lsd:items-center",
174
+ o.icon,
175
+ s ? "lsd:cursor-not-allowed" : "lsd:cursor-pointer"
176
+ ),
177
+ children: /* @__PURE__ */ r(
178
+ X,
179
+ {
180
+ className: t(
181
+ "lsd:h-4 lsd:w-4",
182
+ s ? "lsd:text-lsd-text-secondary" : "lsd:text-lsd-icon-primary"
183
+ )
184
+ }
185
+ )
186
+ }
187
+ )
188
+ ]
189
+ }
190
+ ) }),
191
+ /* @__PURE__ */ r(
192
+ W,
193
+ {
194
+ searchText: u,
195
+ onSearchTextChange: b,
196
+ placeholder: c,
197
+ loadingText: y,
198
+ emptyText: d,
199
+ isLoading: k,
200
+ filteredOptions: D,
201
+ onSelect: M
202
+ }
203
+ )
204
+ ] })
205
+ ]
206
+ }
207
+ );
208
+ }
209
+ );
210
+ G.displayName = "Autocomplete";
211
+ export {
212
+ Z as A,
213
+ Y as a,
214
+ G as b,
215
+ q as u
216
+ };
@@ -1,8 +1,8 @@
1
- import { jsx as s, jsxs as x, Fragment as v } from "react/jsx-runtime";
1
+ import { jsx as l, jsxs as p, Fragment as x } from "react/jsx-runtime";
2
2
  import { S as y } from "./index-BvoZGpli.js";
3
3
  import { c as k } from "./utils-DtaLkIY8.js";
4
- import { c as z } from "./index-D69Iqk5J.js";
5
- const j = z(
4
+ import { c as j } from "./index-D69Iqk5J.js";
5
+ const z = j(
6
6
  "lsd:inline-flex lsd:items-center lsd:justify-center lsd:border lsd:border-lsd-border lsd:rounded-[20px] lsd:w-fit lsd:whitespace-nowrap lsd:shrink-0 lsd:[&>svg]:size-3 lsd:[&>svg]:pointer-events-none lsd:hover:underline lsd:focus:underline lsd:cursor-pointer lsd:transition-colors lsd:overflow-hidden",
7
7
  {
8
8
  variants: {
@@ -16,11 +16,9 @@ const j = z(
16
16
  dot: "lsd:rounded-full lsd:w-fit lsd:h-fit lsd:p-0"
17
17
  },
18
18
  size: {
19
- xs: "lsd:h-[20px] lsd:px-[5px] lsd:py-[3px] lsd:gap-[4px] lsd:text-[0.625rem] [&>svg]:size-[10px]",
20
- sm: "lsd:h-[24px] lsd:px-[7px] lsd:py-[3px] lsd:gap-[4px] lsd:text-[0.75rem] [&>svg]:size-3",
21
- md: "lsd:h-[28px] lsd:px-[11px] lsd:py-[3px] lsd:gap-[6px] lsd:text-[0.875rem] [&>svg]:size-3",
22
- lg: "lsd:h-[32px] lsd:px-[13px] lsd:py-[3px] lsd:gap-[8px] lsd:text-[1rem] [&>svg]:size-[14px]",
23
- xl: "lsd:h-[36px] lsd:px-[15px] lsd:py-[3px] lsd:gap-[10px] lsd:text-[1.125rem] [&>svg]:size-[16px]"
19
+ sm: "lsd:h-[var(--lsd-spacing-larger)] lsd:px-[var(--lsd-spacing-smaller)] lsd:py-[var(--lsd-spacing-smallest)] lsd:gap-[var(--lsd-spacing-smallest)] lsd:text-[0.75rem] [&>svg]:size-3",
20
+ md: "lsd:h-[var(--lsd-spacing-largest)] lsd:px-[var(--lsd-spacing-small)] lsd:py-[var(--lsd-spacing-smallest)] lsd:gap-[var(--lsd-spacing-smaller)] lsd:text-[0.875rem] [&>svg]:size-3",
21
+ lg: "lsd:h-8 lsd:px-[var(--lsd-spacing-small)] lsd:py-[var(--lsd-spacing-smallest)] lsd:gap-[var(--lsd-spacing-smaller)] lsd:text-[1rem] [&>svg]:size-[14px]"
24
22
  }
25
23
  },
26
24
  defaultVariants: {
@@ -28,7 +26,7 @@ const j = z(
28
26
  size: "md"
29
27
  }
30
28
  }
31
- ), D = () => /* @__PURE__ */ x(
29
+ ), D = () => /* @__PURE__ */ p(
32
30
  "svg",
33
31
  {
34
32
  xmlns: "http://www.w3.org/2000/svg",
@@ -42,72 +40,69 @@ const j = z(
42
40
  strokeLinejoin: "round",
43
41
  "aria-hidden": "true",
44
42
  children: [
45
- /* @__PURE__ */ s("path", { d: "M18 6L6 18" }),
46
- /* @__PURE__ */ s("path", { d: "M6 6l12 12" })
43
+ /* @__PURE__ */ l("path", { d: "M18 6L6 18" }),
44
+ /* @__PURE__ */ l("path", { d: "M6 6l12 12" })
47
45
  ]
48
46
  }
49
47
  );
50
48
  function I({
51
- className: c,
52
- variant: n,
53
- size: o,
54
- asChild: u = !1,
49
+ className: g,
50
+ variant: a,
51
+ size: n,
52
+ asChild: m = !1,
55
53
  onDismiss: i,
56
- onClick: t,
54
+ onClick: r,
57
55
  icon: e,
58
- iconPosition: p = "left",
59
- dot: h = !1,
60
- children: a,
61
- ...g
56
+ iconPosition: o = "left",
57
+ dot: u = !1,
58
+ children: c,
59
+ ...v
62
60
  }) {
63
- const f = u ? y : "span", d = !!t, r = h || n === "dot", m = (l) => {
64
- d && (l.key === "Enter" || l.key === " ") && (l.preventDefault(), t?.());
65
- }, b = (l) => {
66
- l.stopPropagation(), i?.();
67
- }, w = r ? (() => {
68
- switch (o) {
69
- case "xs":
70
- return "lsd:w-[8px] lsd:h-[8px]";
61
+ const f = m ? y : "span", d = !!r, t = u || a === "dot", h = (s) => {
62
+ d && (s.key === "Enter" || s.key === " ") && (s.preventDefault(), r?.());
63
+ }, b = (s) => {
64
+ s.stopPropagation(), i?.();
65
+ }, w = t ? (() => {
66
+ const s = "lsd:w-[var(--lsd-spacing-small)] lsd:h-[var(--lsd-spacing-small)]";
67
+ switch (n) {
71
68
  case "sm":
72
- return "lsd:w-[10px] lsd:h-[10px]";
69
+ return "lsd:w-[var(--lsd-spacing-smaller)] lsd:h-[var(--lsd-spacing-smaller)]";
73
70
  case "md":
74
- return "lsd:w-[12px] lsd:h-[12px]";
71
+ return s;
75
72
  case "lg":
76
- return "lsd:w-[14px] lsd:h-[14px]";
77
- case "xl":
78
- return "lsd:w-[16px] lsd:h-[16px]";
73
+ return "lsd:w-[var(--lsd-spacing-base)] lsd:h-[var(--lsd-spacing-base)]";
79
74
  default:
80
- return "lsd:w-[12px] lsd:h-[12px]";
75
+ return s;
81
76
  }
82
77
  })() : "";
83
- return /* @__PURE__ */ s(
78
+ return /* @__PURE__ */ l(
84
79
  f,
85
80
  {
86
81
  "data-slot": "badge",
87
82
  className: k(
88
- j({ variant: n, size: o }),
83
+ z({ variant: a, size: n }),
89
84
  d && "lsd:cursor-pointer",
90
- r && "lsd:rounded-full lsd:p-0 lsd:border-0",
85
+ t && "lsd:rounded-full lsd:p-0 lsd:border-0",
91
86
  w,
92
- c
87
+ g
93
88
  ),
94
89
  role: d ? "button" : void 0,
95
90
  tabIndex: d ? 0 : void 0,
96
- onKeyDown: m,
97
- onClick: d ? t : void 0,
98
- ...g,
99
- children: !r && /* @__PURE__ */ x(v, { children: [
100
- e && p === "left" && /* @__PURE__ */ s("span", { className: "lsd:flex lsd:items-center lsd:justify-center", children: e }),
101
- a && /* @__PURE__ */ s("span", { children: a }),
102
- e && p === "right" && /* @__PURE__ */ s("span", { className: "lsd:flex lsd:items-center lsd:justify-center", children: e }),
103
- i && /* @__PURE__ */ s(
91
+ onKeyDown: h,
92
+ onClick: d ? r : void 0,
93
+ ...v,
94
+ children: !t && /* @__PURE__ */ p(x, { children: [
95
+ e && o === "left" && /* @__PURE__ */ l("span", { className: "lsd:flex lsd:items-center lsd:justify-center", children: e }),
96
+ c && /* @__PURE__ */ l("span", { children: c }),
97
+ e && o === "right" && /* @__PURE__ */ l("span", { className: "lsd:flex lsd:items-center lsd:justify-center", children: e }),
98
+ i && /* @__PURE__ */ l(
104
99
  "button",
105
100
  {
106
101
  type: "button",
107
102
  className: "lsd:flex lsd:items-center lsd:justify-center lsd:rounded-full lsd:hover:bg-black/10 lsd:dark:hover:bg-white/10 lsd:transition-colors lsd:cursor-pointer lsd:border-0 lsd:p-0 lsd:bg-transparent",
108
103
  onClick: b,
109
104
  "aria-label": "Dismiss",
110
- children: /* @__PURE__ */ s(D, {})
105
+ children: /* @__PURE__ */ l(D, {})
111
106
  }
112
107
  )
113
108
  ] })
@@ -116,5 +111,5 @@ function I({
116
111
  }
117
112
  export {
118
113
  I as B,
119
- j as b
114
+ z as b
120
115
  };
@@ -1,8 +1,8 @@
1
- import { jsx as d, jsxs as o } from "react/jsx-runtime";
2
- import * as g from "react";
1
+ import { jsx as d, jsxs as a } from "react/jsx-runtime";
2
+ import * as m from "react";
3
3
  import { c as n } from "./utils-DtaLkIY8.js";
4
- import { c as p } from "./index-D69Iqk5J.js";
5
- const b = p(
4
+ import { c as b } from "./index-D69Iqk5J.js";
5
+ const h = b(
6
6
  "lsd:inline-flex lsd:items-center lsd:justify-center lsd:border lsd:transition-colors lsd:cursor-pointer",
7
7
  {
8
8
  variants: {
@@ -20,16 +20,12 @@ const b = p(
20
20
  "success-icon": "lsd:bg-lsd-success lsd:text-white lsd:border-lsd-success lsd:rounded-full lsd:hover:bg-lsd-success/90"
21
21
  },
22
22
  size: {
23
- xs: "lsd:h-7 lsd:px-2 lsd:py-1 lsd:text-xs",
24
- sm: "lsd:h-8 lsd:px-3 lsd:py-[6px] lsd:text-sm",
25
- md: "lsd:h-[34px] lsd:px-6 lsd:py-2 lsd:text-base",
26
- lg: "lsd:h-12 lsd:px-8 lsd:py-[10px] lsd:text-lg",
27
- xl: "lsd:h-14 lsd:px-10 lsd:py-3 lsd:text-xl",
28
- "icon-xs": "lsd:w-6 lsd:h-6",
23
+ sm: "lsd:h-8 lsd:px-[var(--lsd-spacing-small)] lsd:py-[var(--lsd-spacing-smaller)] lsd:text-sm",
24
+ md: "lsd:h-10 lsd:px-[var(--lsd-spacing-larger)] lsd:py-[var(--lsd-spacing-smaller)] lsd:text-base",
25
+ lg: "lsd:h-12 lsd:px-8 lsd:py-[var(--lsd-spacing-small)] lsd:text-lg",
29
26
  "icon-sm": "lsd:w-8 lsd:h-8",
30
27
  "icon-md": "lsd:w-10 lsd:h-10",
31
- "icon-lg": "lsd:w-12 lsd:h-12",
32
- "icon-xl": "lsd:w-16 lsd:h-16"
28
+ "icon-lg": "lsd:w-12 lsd:h-12"
33
29
  }
34
30
  },
35
31
  defaultVariants: {
@@ -37,29 +33,24 @@ const b = p(
37
33
  size: "md"
38
34
  }
39
35
  }
40
- ), f = ({ size: l }) => /* @__PURE__ */ o(
36
+ ), f = ({ size: e }) => /* @__PURE__ */ a(
41
37
  "svg",
42
38
  {
43
39
  className: n("animate-spin", (() => {
44
- switch (l) {
45
- case "xs":
46
- case "icon-xs":
47
- return "lsd:w-3 lsd:h-3";
40
+ const l = "lsd:w-[var(--lsd-spacing-large)] lsd:h-[var(--lsd-spacing-large)]";
41
+ switch (e) {
48
42
  case "icon-sm":
49
- return "lsd:w-3 lsd:h-3";
43
+ return "lsd:w-[var(--lsd-spacing-small)] lsd:h-[var(--lsd-spacing-small)]";
50
44
  case "sm":
51
- return "lsd:w-4 lsd:h-4";
45
+ return "lsd:w-[var(--lsd-spacing-base)] lsd:h-[var(--lsd-spacing-base)]";
52
46
  case "md":
53
47
  case "icon-md":
54
- return "lsd:w-5 lsd:h-5";
48
+ return l;
55
49
  case "lg":
56
50
  case "icon-lg":
57
- return "lsd:w-6 lsd:h-6";
58
- case "xl":
59
- case "icon-xl":
60
- return "lsd:w-7 lsd:h-7";
51
+ return "lsd:w-[var(--lsd-spacing-larger)] lsd:h-[var(--lsd-spacing-larger)]";
61
52
  default:
62
- return "lsd:w-5 lsd:h-5";
53
+ return l;
63
54
  }
64
55
  })()),
65
56
  xmlns: "http://www.w3.org/2000/svg",
@@ -88,41 +79,41 @@ const b = p(
88
79
  )
89
80
  ]
90
81
  }
91
- ), m = g.forwardRef(
82
+ ), v = m.forwardRef(
92
83
  ({
93
- className: l,
84
+ className: e,
94
85
  variant: s,
95
- size: r,
86
+ size: l,
96
87
  loading: t = !1,
97
- fullWidth: c = !1,
98
- children: e,
99
- disabled: i,
100
- ...a
88
+ fullWidth: o = !1,
89
+ children: r,
90
+ disabled: c,
91
+ ...i
101
92
  }, u) => {
102
- const x = s === "link", h = s === "ghost" || s === "ghost-icon";
93
+ const g = s === "link", p = s === "ghost" || s === "ghost-icon";
103
94
  return /* @__PURE__ */ d(
104
95
  "button",
105
96
  {
106
97
  className: n(
107
98
  "lsd:text-foreground lsd:border lsd:hover:underline lsd:disabled:opacity-34 lsd:disabled:cursor-not-allowed lsd:disabled:no-underline",
108
- b({ variant: s, size: r }),
109
- c && "lsd:w-full",
110
- (x || h) && "lsd:border-0",
111
- l
99
+ h({ variant: s, size: l }),
100
+ o && "lsd:w-full",
101
+ (g || p) && "lsd:border-0",
102
+ e
112
103
  ),
113
104
  ref: u,
114
- disabled: i || t,
115
- ...a,
116
- children: t ? /* @__PURE__ */ o("span", { className: "lsd:flex lsd:items-center lsd:justify-center lsd:gap-2", children: [
117
- /* @__PURE__ */ d(f, { size: r }),
118
- e && /* @__PURE__ */ d("span", { className: "lsd:opacity-50", children: e })
119
- ] }) : e
105
+ disabled: c || t,
106
+ ...i,
107
+ children: t ? /* @__PURE__ */ a("span", { className: "lsd:flex lsd:items-center lsd:justify-center lsd:gap-(--lsd-spacing-smaller)", children: [
108
+ /* @__PURE__ */ d(f, { size: l }),
109
+ r && /* @__PURE__ */ d("span", { className: "lsd:opacity-50", children: r })
110
+ ] }) : r
120
111
  }
121
112
  );
122
113
  }
123
114
  );
124
- m.displayName = "Button";
115
+ v.displayName = "Button";
125
116
  export {
126
- m as B,
127
- b
117
+ v as B,
118
+ h as b
128
119
  };
@@ -1,9 +1,9 @@
1
1
  import { jsx as r } from "react/jsx-runtime";
2
- import * as d from "react";
3
- import { c as a } from "./utils-DtaLkIY8.js";
2
+ import * as a from "react";
3
+ import { c as d } from "./utils-DtaLkIY8.js";
4
4
  import { c as e } from "./index-D69Iqk5J.js";
5
5
  const i = e(
6
- "lsd:flex lsd:w-fit lsd:items-stretch lsd:[&>*]:focus-visible:z-10 lsd:[&>*]:focus-visible:relative lsd:[&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit lsd:[&>input]:flex-1 has-[select[aria-hidden=true]:last-child]:lsd:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-md has-[>[data-slot=button-group]]:lsd:gap-2",
6
+ "lsd:flex lsd:w-fit lsd:items-stretch lsd:[&>*]:focus-visible:z-10 lsd:[&>*]:focus-visible:relative lsd:[&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit lsd:[&>input]:flex-1 has-[select[aria-hidden=true]:last-child]:lsd:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-md has-[>[data-slot=button-group]]:lsd:gap-[var(--lsd-spacing-smaller)]",
7
7
  {
8
8
  variants: {
9
9
  orientation: {
@@ -15,15 +15,15 @@ const i = e(
15
15
  orientation: "horizontal"
16
16
  }
17
17
  }
18
- ), n = d.forwardRef(
19
- ({ className: o, orientation: t, ...s }, l) => /* @__PURE__ */ r(
18
+ ), n = a.forwardRef(
19
+ ({ className: s, orientation: t, ...o }, l) => /* @__PURE__ */ r(
20
20
  "fieldset",
21
21
  {
22
22
  ref: l,
23
23
  "data-slot": "button-group",
24
24
  "data-orientation": t,
25
- className: a(i({ orientation: t }), o),
26
- ...s
25
+ className: d(i({ orientation: t }), s),
26
+ ...o
27
27
  }
28
28
  )
29
29
  );