@nipsys/shadcn-lsd 0.2.2 → 0.2.4
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/README.md +52 -35
- package/dist/{Button-L-du0fyx.js → Button-DoTpV6G1.js} +31 -26
- package/dist/{Typography-D8OaaVSH.js → Typography-BW4Kc9SY.js} +18 -14
- package/dist/assets/style.css +1 -1
- package/dist/components/ui/alert-dialog/AlertDialogAction.js +1 -1
- package/dist/components/ui/alert-dialog/AlertDialogCancel.js +1 -1
- package/dist/components/ui/alert-dialog/__tests__/alert-dialog-action.test.js +1 -1
- package/dist/components/ui/alert-dialog/__tests__/alert-dialog-cancel.test.js +1 -1
- package/dist/components/ui/alert-dialog/__tests__/alert-dialog-content.test.js +1 -1
- package/dist/components/ui/alert-dialog/__tests__/alert-dialog-description.test.js +1 -1
- package/dist/components/ui/alert-dialog/__tests__/alert-dialog-footer.test.js +1 -1
- package/dist/components/ui/alert-dialog/__tests__/alert-dialog-header.test.js +1 -1
- package/dist/components/ui/alert-dialog/__tests__/alert-dialog-overlay.test.js +1 -1
- package/dist/components/ui/alert-dialog/__tests__/alert-dialog-title.test.js +1 -1
- package/dist/components/ui/alert-dialog/__tests__/alert-dialog-trigger.test.js +1 -1
- package/dist/components/ui/button/Button.js +1 -1
- package/dist/components/ui/button/button.test.js +159 -123
- package/dist/components/ui/button/types.d.ts +3 -3
- package/dist/components/ui/sidebar/SidebarContent.js +15 -15
- package/dist/components/ui/sidebar/__tests__/sidebar-group.test.js +1 -1
- package/dist/components/ui/sidebar/__tests__/sidebar-menu.test.js +1 -1
- package/dist/components/ui/sidebar/__tests__/sidebar.test.js +1 -1
- package/dist/components/ui/tabs/Tabs.js +1 -1
- package/dist/components/ui/tabs/TabsList.js +1 -1
- package/dist/components/ui/tabs/TabsTrigger.js +1 -1
- package/dist/components/ui/tabs/__tests__/tabs-list.test.js +25 -25
- package/dist/components/ui/tabs/__tests__/tabs-trigger.test.js +1 -3
- package/dist/components/ui/tabs/__tests__/tabs.test.js +23 -23
- package/dist/components/ui/typography/Typography.js +1 -1
- package/dist/components/ui/typography/types.d.ts +1 -1
- package/dist/components/ui/typography/typography.test.js +143 -111
- package/dist/lib/types.d.ts +1 -1
- package/dist/main.d.ts +1 -0
- package/dist/main.js +219 -215
- package/dist/{types-B0wccExf.js → types-ClTXXuXM.js} +2 -2
- package/package.json +1 -1
|
@@ -1,224 +1,260 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { d as c, i as
|
|
3
|
-
import { b as
|
|
1
|
+
import { jsx as n } from "react/jsx-runtime";
|
|
2
|
+
import { d as c, i as o, r as l, g as t, s as i, v as r, f as u } from "../../../vi.2VT5v0um-D9hIOtVQ.js";
|
|
3
|
+
import { b as e, B as a } from "../../../Button-DoTpV6G1.js";
|
|
4
4
|
c("Button", () => {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}),
|
|
8
|
-
|
|
9
|
-
}),
|
|
10
|
-
|
|
5
|
+
o("renders without crashing", () => {
|
|
6
|
+
l(/* @__PURE__ */ n(a, { children: "Click me" })), t(i.getByRole("button")).toBeInTheDocument();
|
|
7
|
+
}), o("renders children correctly", () => {
|
|
8
|
+
l(/* @__PURE__ */ n(a, { children: "Test Button" })), t(i.getByRole("button")).toHaveTextContent("Test Button");
|
|
9
|
+
}), o("applies filled variant classes correctly", () => {
|
|
10
|
+
l(/* @__PURE__ */ n(a, { variant: "filled", children: "Filled" }));
|
|
11
11
|
const s = i.getByRole("button");
|
|
12
12
|
t(s).toHaveClass("lsd:bg-primary"), t(s).toHaveClass("lsd:text-primary-foreground");
|
|
13
|
-
}),
|
|
14
|
-
|
|
13
|
+
}), o("applies outlined variant classes correctly", () => {
|
|
14
|
+
l(/* @__PURE__ */ n(a, { variant: "outlined", children: "Outlined" }));
|
|
15
15
|
const s = i.getByRole("button");
|
|
16
16
|
t(s).toHaveClass("lsd:bg-transparent"), t(s).toHaveClass("lsd:text-foreground");
|
|
17
|
-
}),
|
|
18
|
-
|
|
17
|
+
}), o("applies filled-icon variant classes correctly", () => {
|
|
18
|
+
l(/* @__PURE__ */ n(a, { variant: "filled-icon", children: "Icon" }));
|
|
19
19
|
const s = i.getByRole("button");
|
|
20
20
|
t(s).toHaveClass("lsd:bg-primary"), t(s).toHaveClass("lsd:rounded-full");
|
|
21
|
-
}),
|
|
22
|
-
|
|
21
|
+
}), o("applies outlined-icon variant classes correctly", () => {
|
|
22
|
+
l(/* @__PURE__ */ n(a, { variant: "outlined-icon", children: "Icon" }));
|
|
23
23
|
const s = i.getByRole("button");
|
|
24
24
|
t(s).toHaveClass("lsd:bg-transparent"), t(s).toHaveClass("lsd:rounded-full");
|
|
25
|
-
}),
|
|
26
|
-
|
|
25
|
+
}), o("applies link variant classes correctly", () => {
|
|
26
|
+
l(/* @__PURE__ */ n(a, { variant: "link", children: "Link" }));
|
|
27
27
|
const s = i.getByRole("button");
|
|
28
28
|
t(s).toHaveClass("lsd:bg-transparent"), t(s).toHaveClass("lsd:text-foreground"), t(s).toHaveClass("lsd:border-0"), t(s).toHaveClass("lsd:hover:underline");
|
|
29
|
-
}),
|
|
30
|
-
|
|
29
|
+
}), o("applies ghost variant classes correctly", () => {
|
|
30
|
+
l(/* @__PURE__ */ n(a, { variant: "ghost", children: "Ghost" }));
|
|
31
|
+
const s = i.getByRole("button");
|
|
32
|
+
t(s).toHaveClass("lsd:bg-transparent"), t(s).toHaveClass("lsd:text-foreground"), t(s).toHaveClass("lsd:border-0"), t(s).toHaveClass("lsd:hover:bg-accent"), t(s).toHaveClass("lsd:hover:text-accent-foreground");
|
|
33
|
+
}), o("applies ghost-icon variant classes correctly", () => {
|
|
34
|
+
l(/* @__PURE__ */ n(a, { variant: "ghost-icon", children: "Icon" }));
|
|
35
|
+
const s = i.getByRole("button");
|
|
36
|
+
t(s).toHaveClass("lsd:bg-transparent"), t(s).toHaveClass("lsd:text-foreground"), t(s).toHaveClass("lsd:border-0"), t(s).toHaveClass("lsd:rounded-full"), t(s).toHaveClass("lsd:hover:bg-accent"), t(s).toHaveClass("lsd:hover:text-accent-foreground");
|
|
37
|
+
}), o("applies destructive variant classes correctly", () => {
|
|
38
|
+
l(/* @__PURE__ */ n(a, { variant: "destructive", children: "Delete" }));
|
|
31
39
|
const s = i.getByRole("button");
|
|
32
40
|
t(s).toHaveClass("lsd:bg-lsd-destructive"), t(s).toHaveClass("lsd:text-white"), t(s).toHaveClass("lsd:border-lsd-destructive"), t(s).toHaveClass("lsd:hover:bg-lsd-destructive/90");
|
|
33
|
-
}),
|
|
34
|
-
|
|
41
|
+
}), o("applies destructive-icon variant classes correctly", () => {
|
|
42
|
+
l(/* @__PURE__ */ n(a, { variant: "destructive-icon", children: "Delete" }));
|
|
35
43
|
const s = i.getByRole("button");
|
|
36
44
|
t(s).toHaveClass("lsd:bg-lsd-destructive"), t(s).toHaveClass("lsd:text-white"), t(s).toHaveClass("lsd:border-lsd-destructive"), t(s).toHaveClass("lsd:rounded-full"), t(s).toHaveClass("lsd:hover:bg-lsd-destructive/90");
|
|
37
|
-
}),
|
|
38
|
-
|
|
45
|
+
}), o("applies success variant classes correctly", () => {
|
|
46
|
+
l(/* @__PURE__ */ n(a, { variant: "success", children: "Save" }));
|
|
39
47
|
const s = i.getByRole("button");
|
|
40
48
|
t(s).toHaveClass("lsd:bg-lsd-success"), t(s).toHaveClass("lsd:text-white"), t(s).toHaveClass("lsd:border-lsd-success"), t(s).toHaveClass("lsd:hover:bg-lsd-success/90");
|
|
41
|
-
}),
|
|
42
|
-
|
|
49
|
+
}), o("applies success-icon variant classes correctly", () => {
|
|
50
|
+
l(/* @__PURE__ */ n(a, { variant: "success-icon", children: "Save" }));
|
|
43
51
|
const s = i.getByRole("button");
|
|
44
52
|
t(s).toHaveClass("lsd:bg-lsd-success"), t(s).toHaveClass("lsd:text-white"), t(s).toHaveClass("lsd:border-lsd-success"), t(s).toHaveClass("lsd:rounded-full"), t(s).toHaveClass("lsd:hover:bg-lsd-success/90");
|
|
45
|
-
}),
|
|
46
|
-
|
|
53
|
+
}), o("applies medium size classes correctly", () => {
|
|
54
|
+
l(/* @__PURE__ */ n(a, { size: "md", children: "Medium" }));
|
|
47
55
|
const s = i.getByRole("button");
|
|
48
56
|
t(s).toHaveClass("lsd:h-[34px]"), t(s).toHaveClass("lsd:px-6"), t(s).toHaveClass("lsd:py-2"), t(s).toHaveClass("lsd:text-base");
|
|
49
|
-
}),
|
|
50
|
-
|
|
57
|
+
}), o("applies small size classes correctly", () => {
|
|
58
|
+
l(/* @__PURE__ */ n(a, { size: "sm", children: "Small" }));
|
|
51
59
|
const s = i.getByRole("button");
|
|
52
60
|
t(s).toHaveClass("lsd:h-8"), t(s).toHaveClass("lsd:px-3"), t(s).toHaveClass("lsd:py-[6px]"), t(s).toHaveClass("lsd:text-sm");
|
|
53
|
-
}),
|
|
54
|
-
|
|
61
|
+
}), o("applies large size classes correctly", () => {
|
|
62
|
+
l(/* @__PURE__ */ n(a, { size: "lg", children: "Large" }));
|
|
55
63
|
const s = i.getByRole("button");
|
|
56
64
|
t(s).toHaveClass("lsd:h-12"), t(s).toHaveClass("lsd:px-8"), t(s).toHaveClass("lsd:py-[10px]"), t(s).toHaveClass("lsd:text-lg");
|
|
57
|
-
}),
|
|
58
|
-
|
|
65
|
+
}), o("applies icon-md size classes correctly", () => {
|
|
66
|
+
l(/* @__PURE__ */ n(a, { size: "icon-md", children: "Icon" }));
|
|
59
67
|
const s = i.getByRole("button");
|
|
60
68
|
t(s).toHaveClass("lsd:w-10"), t(s).toHaveClass("lsd:h-10");
|
|
61
|
-
}),
|
|
62
|
-
|
|
69
|
+
}), o("applies icon-sm size classes correctly", () => {
|
|
70
|
+
l(/* @__PURE__ */ n(a, { size: "icon-sm", children: "Icon" }));
|
|
63
71
|
const s = i.getByRole("button");
|
|
64
72
|
t(s).toHaveClass("lsd:w-8"), t(s).toHaveClass("lsd:h-8");
|
|
65
|
-
}),
|
|
66
|
-
|
|
73
|
+
}), o("applies icon-xs size classes correctly", () => {
|
|
74
|
+
l(/* @__PURE__ */ n(a, { size: "icon-xs", children: "Icon" }));
|
|
75
|
+
const s = i.getByRole("button");
|
|
76
|
+
t(s).toHaveClass("lsd:w-6"), t(s).toHaveClass("lsd:h-6");
|
|
77
|
+
}), o("applies icon-lg size classes correctly", () => {
|
|
78
|
+
l(/* @__PURE__ */ n(a, { size: "icon-lg", children: "Icon" }));
|
|
67
79
|
const s = i.getByRole("button");
|
|
68
80
|
t(s).toHaveClass("lsd:w-12"), t(s).toHaveClass("lsd:h-12");
|
|
69
|
-
}),
|
|
70
|
-
|
|
81
|
+
}), o("applies icon-xl size classes correctly", () => {
|
|
82
|
+
l(/* @__PURE__ */ n(a, { size: "icon-xl", children: "Icon" }));
|
|
71
83
|
const s = i.getByRole("button");
|
|
72
84
|
t(s).toHaveClass("lsd:w-16"), t(s).toHaveClass("lsd:h-16");
|
|
73
|
-
}),
|
|
74
|
-
|
|
85
|
+
}), o("uses default variant when not specified", () => {
|
|
86
|
+
l(/* @__PURE__ */ n(a, { children: "Default" }));
|
|
75
87
|
const s = i.getByRole("button");
|
|
76
88
|
t(s).toHaveClass("lsd:bg-primary");
|
|
77
|
-
}),
|
|
78
|
-
|
|
89
|
+
}), o("uses default size when not specified", () => {
|
|
90
|
+
l(/* @__PURE__ */ n(a, { children: "Default" }));
|
|
79
91
|
const s = i.getByRole("button");
|
|
80
92
|
t(s).toHaveClass("lsd:h-[34px]");
|
|
81
|
-
}),
|
|
93
|
+
}), o("handles click events", () => {
|
|
82
94
|
const s = r.fn();
|
|
83
|
-
|
|
84
|
-
}),
|
|
95
|
+
l(/* @__PURE__ */ n(a, { onClick: s, children: "Click me" })), u.click(i.getByRole("button")), t(s).toHaveBeenCalledTimes(1);
|
|
96
|
+
}), o("forwards ref to underlying button element", () => {
|
|
85
97
|
const s = r.fn();
|
|
86
|
-
|
|
87
|
-
}),
|
|
88
|
-
|
|
98
|
+
l(/* @__PURE__ */ n(a, { ref: s, children: "Ref Test" })), t(s).toHaveBeenCalled(), t(s.mock.calls[0][0]).toBeInstanceOf(HTMLButtonElement);
|
|
99
|
+
}), o("applies disabled state correctly", () => {
|
|
100
|
+
l(/* @__PURE__ */ n(a, { disabled: !0, children: "Disabled" }));
|
|
89
101
|
const s = i.getByRole("button");
|
|
90
102
|
t(s).toBeDisabled(), t(s).toHaveClass("lsd:disabled:opacity-34"), t(s).toHaveClass("lsd:disabled:cursor-not-allowed");
|
|
91
|
-
}),
|
|
92
|
-
|
|
103
|
+
}), o("merges custom className with component classes", () => {
|
|
104
|
+
l(/* @__PURE__ */ n(a, { className: "custom-class", children: "Custom" }));
|
|
93
105
|
const s = i.getByRole("button");
|
|
94
106
|
t(s).toHaveClass("custom-class");
|
|
95
|
-
}),
|
|
96
|
-
|
|
107
|
+
}), o("applies base classes correctly", () => {
|
|
108
|
+
l(/* @__PURE__ */ n(a, { children: "Base" }));
|
|
97
109
|
const s = i.getByRole("button");
|
|
98
110
|
t(s).toHaveClass("lsd:inline-flex"), t(s).toHaveClass("lsd:items-center"), t(s).toHaveClass("lsd:justify-center"), t(s).toHaveClass("lsd:border"), t(s).toHaveClass("lsd:transition-colors"), t(s).toHaveClass("lsd:cursor-pointer"), t(s).toHaveClass("lsd:text-primary-foreground"), t(s).toHaveClass("lsd:hover:underline");
|
|
99
|
-
}),
|
|
100
|
-
|
|
101
|
-
/* @__PURE__ */
|
|
111
|
+
}), o("passes through additional props", () => {
|
|
112
|
+
l(
|
|
113
|
+
/* @__PURE__ */ n(a, { "data-testid": "test-button", "aria-label": "Test", children: "Button" })
|
|
102
114
|
);
|
|
103
115
|
const s = i.getByRole("button");
|
|
104
116
|
t(s).toHaveAttribute("data-testid", "test-button"), t(s).toHaveAttribute("aria-label", "Test");
|
|
105
|
-
}),
|
|
106
|
-
|
|
117
|
+
}), o("shows loading spinner when loading prop is true", () => {
|
|
118
|
+
l(/* @__PURE__ */ n(a, { loading: !0, children: "Loading" }));
|
|
107
119
|
const s = i.getByRole("button");
|
|
108
120
|
t(s).toBeDisabled(), t(s.querySelector("svg")).toBeInTheDocument();
|
|
109
|
-
}),
|
|
110
|
-
|
|
121
|
+
}), o("dims content when loading", () => {
|
|
122
|
+
l(/* @__PURE__ */ n(a, { loading: !0, children: "Click me" }));
|
|
111
123
|
const d = i.getByRole("button").querySelector("span.lsd\\:opacity-50");
|
|
112
124
|
t(d).toHaveTextContent("Click me");
|
|
113
|
-
}),
|
|
114
|
-
|
|
125
|
+
}), o("does not show spinner when loading prop is false", () => {
|
|
126
|
+
l(/* @__PURE__ */ n(a, { loading: !1, children: "Click me" }));
|
|
115
127
|
const s = i.getByRole("button");
|
|
116
128
|
t(s).not.toBeDisabled(), t(s.querySelector("svg")).not.toBeInTheDocument();
|
|
117
|
-
}),
|
|
118
|
-
|
|
129
|
+
}), o("applies fullWidth class when fullWidth prop is true", () => {
|
|
130
|
+
l(/* @__PURE__ */ n(a, { fullWidth: !0, children: "Full Width" }));
|
|
119
131
|
const s = i.getByRole("button");
|
|
120
132
|
t(s).toHaveClass("lsd:w-full");
|
|
121
|
-
}),
|
|
122
|
-
|
|
133
|
+
}), o("does not apply fullWidth class when fullWidth prop is false", () => {
|
|
134
|
+
l(/* @__PURE__ */ n(a, { fullWidth: !1, children: "Normal Width" }));
|
|
123
135
|
const s = i.getByRole("button");
|
|
124
136
|
t(s).not.toHaveClass("lsd:w-full");
|
|
125
|
-
}),
|
|
126
|
-
|
|
127
|
-
/* @__PURE__ */
|
|
137
|
+
}), o("disables button when loading is true even if disabled prop is false", () => {
|
|
138
|
+
l(
|
|
139
|
+
/* @__PURE__ */ n(a, { loading: !0, disabled: !1, children: "Loading" })
|
|
128
140
|
);
|
|
129
141
|
const s = i.getByRole("button");
|
|
130
142
|
t(s).toBeDisabled();
|
|
131
|
-
}),
|
|
132
|
-
|
|
133
|
-
/* @__PURE__ */
|
|
143
|
+
}), o("keeps button disabled when both loading and disabled are true", () => {
|
|
144
|
+
l(
|
|
145
|
+
/* @__PURE__ */ n(a, { loading: !0, disabled: !0, children: "Loading" })
|
|
134
146
|
);
|
|
135
147
|
const s = i.getByRole("button");
|
|
136
148
|
t(s).toBeDisabled();
|
|
137
149
|
});
|
|
138
150
|
});
|
|
139
151
|
c("buttonVariants", () => {
|
|
140
|
-
|
|
141
|
-
t(
|
|
152
|
+
o("returns correct classes for filled variant", () => {
|
|
153
|
+
t(e({ variant: "filled" })).toContain("lsd:bg-primary"), t(e({ variant: "filled" })).toContain(
|
|
142
154
|
"lsd:text-primary-foreground"
|
|
143
155
|
);
|
|
144
|
-
}),
|
|
145
|
-
t(
|
|
156
|
+
}), o("returns correct classes for outlined variant", () => {
|
|
157
|
+
t(e({ variant: "outlined" })).toContain(
|
|
146
158
|
"lsd:bg-transparent"
|
|
147
|
-
), t(
|
|
159
|
+
), t(e({ variant: "outlined" })).toContain(
|
|
148
160
|
"lsd:text-foreground"
|
|
149
161
|
);
|
|
150
|
-
}),
|
|
151
|
-
t(
|
|
162
|
+
}), o("returns correct classes for filled-icon variant", () => {
|
|
163
|
+
t(e({ variant: "filled-icon" })).toContain(
|
|
152
164
|
"lsd:bg-primary"
|
|
153
|
-
), t(
|
|
165
|
+
), t(e({ variant: "filled-icon" })).toContain(
|
|
154
166
|
"lsd:rounded-full"
|
|
155
167
|
);
|
|
156
|
-
}),
|
|
157
|
-
t(
|
|
168
|
+
}), o("returns correct classes for outlined-icon variant", () => {
|
|
169
|
+
t(e({ variant: "outlined-icon" })).toContain(
|
|
158
170
|
"lsd:bg-transparent"
|
|
159
|
-
), t(
|
|
171
|
+
), t(e({ variant: "outlined-icon" })).toContain(
|
|
160
172
|
"lsd:rounded-full"
|
|
161
173
|
);
|
|
162
|
-
}),
|
|
163
|
-
t(
|
|
174
|
+
}), o("returns correct classes for link variant", () => {
|
|
175
|
+
t(e({ variant: "link" })).toContain("lsd:bg-transparent"), t(e({ variant: "link" })).toContain(
|
|
164
176
|
"lsd:text-foreground"
|
|
165
|
-
), t(
|
|
177
|
+
), t(e({ variant: "link" })).toContain("lsd:border-0"), t(e({ variant: "link" })).toContain(
|
|
166
178
|
"lsd:hover:underline"
|
|
167
179
|
);
|
|
168
|
-
}),
|
|
169
|
-
t(
|
|
180
|
+
}), o("returns correct classes for ghost variant", () => {
|
|
181
|
+
t(e({ variant: "ghost" })).toContain(
|
|
182
|
+
"lsd:bg-transparent"
|
|
183
|
+
), t(e({ variant: "ghost" })).toContain(
|
|
184
|
+
"lsd:text-foreground"
|
|
185
|
+
), t(e({ variant: "ghost" })).toContain("lsd:border-0"), t(e({ variant: "ghost" })).toContain(
|
|
186
|
+
"lsd:hover:bg-accent"
|
|
187
|
+
), t(e({ variant: "ghost" })).toContain(
|
|
188
|
+
"lsd:hover:text-accent-foreground"
|
|
189
|
+
);
|
|
190
|
+
}), o("returns correct classes for ghost-icon variant", () => {
|
|
191
|
+
t(e({ variant: "ghost-icon" })).toContain(
|
|
192
|
+
"lsd:bg-transparent"
|
|
193
|
+
), t(e({ variant: "ghost-icon" })).toContain(
|
|
194
|
+
"lsd:text-foreground"
|
|
195
|
+
), t(e({ variant: "ghost-icon" })).toContain("lsd:border-0"), t(e({ variant: "ghost-icon" })).toContain(
|
|
196
|
+
"lsd:rounded-full"
|
|
197
|
+
), t(e({ variant: "ghost-icon" })).toContain(
|
|
198
|
+
"lsd:hover:bg-accent"
|
|
199
|
+
), t(e({ variant: "ghost-icon" })).toContain(
|
|
200
|
+
"lsd:hover:text-accent-foreground"
|
|
201
|
+
);
|
|
202
|
+
}), o("returns correct classes for destructive variant", () => {
|
|
203
|
+
t(e({ variant: "destructive" })).toContain(
|
|
170
204
|
"lsd:bg-lsd-destructive"
|
|
171
|
-
), t(
|
|
205
|
+
), t(e({ variant: "destructive" })).toContain(
|
|
172
206
|
"lsd:text-white"
|
|
173
|
-
), t(
|
|
207
|
+
), t(e({ variant: "destructive" })).toContain(
|
|
174
208
|
"lsd:hover:bg-lsd-destructive/90"
|
|
175
209
|
);
|
|
176
|
-
}),
|
|
177
|
-
t(
|
|
210
|
+
}), o("returns correct classes for destructive-icon variant", () => {
|
|
211
|
+
t(e({ variant: "destructive-icon" })).toContain(
|
|
178
212
|
"lsd:bg-lsd-destructive"
|
|
179
|
-
), t(
|
|
213
|
+
), t(e({ variant: "destructive-icon" })).toContain(
|
|
180
214
|
"lsd:text-white"
|
|
181
|
-
), t(
|
|
215
|
+
), t(e({ variant: "destructive-icon" })).toContain(
|
|
182
216
|
"lsd:rounded-full"
|
|
183
|
-
), t(
|
|
217
|
+
), t(e({ variant: "destructive-icon" })).toContain(
|
|
184
218
|
"lsd:hover:bg-lsd-destructive/90"
|
|
185
219
|
);
|
|
186
|
-
}),
|
|
187
|
-
t(
|
|
220
|
+
}), o("returns correct classes for success variant", () => {
|
|
221
|
+
t(e({ variant: "success" })).toContain(
|
|
188
222
|
"lsd:bg-lsd-success"
|
|
189
|
-
), t(
|
|
223
|
+
), t(e({ variant: "success" })).toContain("lsd:text-white"), t(e({ variant: "success" })).toContain(
|
|
190
224
|
"lsd:hover:bg-lsd-success/90"
|
|
191
225
|
);
|
|
192
|
-
}),
|
|
193
|
-
t(
|
|
226
|
+
}), o("returns correct classes for success-icon variant", () => {
|
|
227
|
+
t(e({ variant: "success-icon" })).toContain(
|
|
194
228
|
"lsd:bg-lsd-success"
|
|
195
|
-
), t(
|
|
229
|
+
), t(e({ variant: "success-icon" })).toContain(
|
|
196
230
|
"lsd:text-white"
|
|
197
|
-
), t(
|
|
231
|
+
), t(e({ variant: "success-icon" })).toContain(
|
|
198
232
|
"lsd:rounded-full"
|
|
199
|
-
), t(
|
|
233
|
+
), t(e({ variant: "success-icon" })).toContain(
|
|
200
234
|
"lsd:hover:bg-lsd-success/90"
|
|
201
235
|
);
|
|
202
|
-
}),
|
|
203
|
-
t(
|
|
204
|
-
}),
|
|
205
|
-
t(
|
|
206
|
-
}),
|
|
207
|
-
t(
|
|
208
|
-
}),
|
|
209
|
-
t(
|
|
210
|
-
}),
|
|
211
|
-
t(
|
|
212
|
-
}),
|
|
213
|
-
t(
|
|
214
|
-
}),
|
|
215
|
-
t(
|
|
216
|
-
}),
|
|
217
|
-
t(
|
|
218
|
-
}),
|
|
219
|
-
t(
|
|
220
|
-
}),
|
|
221
|
-
|
|
236
|
+
}), o("returns correct classes for medium size", () => {
|
|
237
|
+
t(e({ size: "md" })).toContain("lsd:h-[34px]"), t(e({ size: "md" })).toContain("lsd:px-6"), t(e({ size: "md" })).toContain("lsd:py-2"), t(e({ size: "md" })).toContain("lsd:text-base");
|
|
238
|
+
}), o("returns correct classes for small size", () => {
|
|
239
|
+
t(e({ size: "sm" })).toContain("lsd:h-8"), t(e({ size: "sm" })).toContain("lsd:px-3"), t(e({ size: "sm" })).toContain("lsd:py-[6px]"), t(e({ size: "sm" })).toContain("lsd:text-sm");
|
|
240
|
+
}), o("returns correct classes for large size", () => {
|
|
241
|
+
t(e({ size: "lg" })).toContain("lsd:h-12"), t(e({ size: "lg" })).toContain("lsd:px-8"), t(e({ size: "lg" })).toContain("lsd:py-[10px]"), t(e({ size: "lg" })).toContain("lsd:text-lg");
|
|
242
|
+
}), o("returns correct classes for icon-md size", () => {
|
|
243
|
+
t(e({ size: "icon-md" })).toContain("lsd:w-10"), t(e({ size: "icon-md" })).toContain("lsd:h-10");
|
|
244
|
+
}), o("returns correct classes for icon-sm size", () => {
|
|
245
|
+
t(e({ size: "icon-sm" })).toContain("lsd:w-8"), t(e({ size: "icon-sm" })).toContain("lsd:h-8");
|
|
246
|
+
}), o("returns correct classes for icon-xs size", () => {
|
|
247
|
+
t(e({ size: "icon-xs" })).toContain("lsd:w-6"), t(e({ size: "icon-xs" })).toContain("lsd:h-6");
|
|
248
|
+
}), o("returns correct classes for icon-lg size", () => {
|
|
249
|
+
t(e({ size: "icon-lg" })).toContain("lsd:w-12"), t(e({ size: "icon-lg" })).toContain("lsd:h-12");
|
|
250
|
+
}), o("returns correct classes for icon-xl size", () => {
|
|
251
|
+
t(e({ size: "icon-xl" })).toContain("lsd:w-16"), t(e({ size: "icon-xl" })).toContain("lsd:h-16");
|
|
252
|
+
}), o("uses default variant when not specified", () => {
|
|
253
|
+
t(e({})).toContain("lsd:bg-primary");
|
|
254
|
+
}), o("uses default size when not specified", () => {
|
|
255
|
+
t(e({})).toContain("lsd:h-[34px]");
|
|
256
|
+
}), o("combines variant and size correctly", () => {
|
|
257
|
+
const s = e({ variant: "outlined", size: "lg" });
|
|
222
258
|
t(s).toContain("lsd:bg-transparent"), t(s).toContain("lsd:h-12");
|
|
223
259
|
});
|
|
224
260
|
});
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { VariantProps } from 'class-variance-authority';
|
|
2
2
|
import { IconSize, SizeVariant } from '../../../lib/types';
|
|
3
|
-
export type ButtonVariant = 'filled' | 'outlined' | 'filled-icon' | 'outlined-icon' | 'link' | 'destructive' | 'destructive-icon' | 'success' | 'success-icon';
|
|
3
|
+
export type ButtonVariant = 'filled' | 'outlined' | 'filled-icon' | 'outlined-icon' | 'link' | 'ghost' | 'ghost-icon' | 'destructive' | 'destructive-icon' | 'success' | 'success-icon';
|
|
4
4
|
export declare const buttonVariants: (props?: ({
|
|
5
|
-
variant?: "link" | "outlined" | "filled" | "filled-icon" | "outlined-icon" | "destructive" | "destructive-icon" | "success" | "success-icon" | null | undefined;
|
|
6
|
-
size?: "xs" | "sm" | "md" | "lg" | "xl" | "icon-sm" | "icon-md" | "icon-lg" | "icon-xl" | null | undefined;
|
|
5
|
+
variant?: "link" | "outlined" | "filled" | "filled-icon" | "outlined-icon" | "ghost" | "ghost-icon" | "destructive" | "destructive-icon" | "success" | "success-icon" | null | undefined;
|
|
6
|
+
size?: "xs" | "sm" | "md" | "lg" | "xl" | "icon-xs" | "icon-sm" | "icon-md" | "icon-lg" | "icon-xl" | null | undefined;
|
|
7
7
|
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
|
|
8
8
|
export type ButtonVariants = VariantProps<typeof buttonVariants> & {
|
|
9
9
|
variant?: ButtonVariant;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { jsx as s, jsxs as o } from "react/jsx-runtime";
|
|
2
|
-
import { B as n } from "../../../Button-
|
|
3
|
-
import { I as
|
|
4
|
-
import { Separator as
|
|
2
|
+
import { B as n } from "../../../Button-DoTpV6G1.js";
|
|
3
|
+
import { I as f } from "../../../Input-W8QqFI1v.js";
|
|
4
|
+
import { Separator as c } from "../separator/Separator.js";
|
|
5
5
|
import { c as d } from "../../../utils-DtaLkIY8.js";
|
|
6
|
-
import { u as
|
|
6
|
+
import { u as t } from "../../../SidebarContext-CRh-DPz_.js";
|
|
7
7
|
import { c as b } from "../../../createLucideIcon-CP-mMPfa.js";
|
|
8
8
|
const p = [
|
|
9
9
|
["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }],
|
|
@@ -50,7 +50,7 @@ function y({
|
|
|
50
50
|
...e
|
|
51
51
|
}) {
|
|
52
52
|
return /* @__PURE__ */ s(
|
|
53
|
-
|
|
53
|
+
c,
|
|
54
54
|
{
|
|
55
55
|
"data-slot": "sidebar-separator",
|
|
56
56
|
"data-sidebar": "separator",
|
|
@@ -61,7 +61,7 @@ function y({
|
|
|
61
61
|
}
|
|
62
62
|
function I({ className: a, ...e }) {
|
|
63
63
|
return /* @__PURE__ */ s(
|
|
64
|
-
|
|
64
|
+
f,
|
|
65
65
|
{
|
|
66
66
|
"data-slot": "sidebar-input",
|
|
67
67
|
"data-sidebar": "input",
|
|
@@ -90,30 +90,30 @@ function _({ className: a, ...e }) {
|
|
|
90
90
|
function T({
|
|
91
91
|
className: a,
|
|
92
92
|
onClick: e,
|
|
93
|
-
...
|
|
93
|
+
...l
|
|
94
94
|
}) {
|
|
95
|
-
const { toggleSidebar: r } =
|
|
95
|
+
const { toggleSidebar: r } = t();
|
|
96
96
|
return /* @__PURE__ */ o(
|
|
97
97
|
n,
|
|
98
98
|
{
|
|
99
99
|
"data-sidebar": "trigger",
|
|
100
100
|
"data-slot": "sidebar-trigger",
|
|
101
|
-
variant: "
|
|
102
|
-
size: "icon-
|
|
103
|
-
className:
|
|
101
|
+
variant: "ghost",
|
|
102
|
+
size: "icon-xs",
|
|
103
|
+
className: a,
|
|
104
104
|
onClick: (i) => {
|
|
105
105
|
e?.(i), r();
|
|
106
106
|
},
|
|
107
|
-
...
|
|
107
|
+
...l,
|
|
108
108
|
children: [
|
|
109
|
-
/* @__PURE__ */ s(u, {}),
|
|
109
|
+
/* @__PURE__ */ s(u, { className: "lsd:size-full" }),
|
|
110
110
|
/* @__PURE__ */ s("span", { className: "lsd:sr-only", children: "Toggle Sidebar" })
|
|
111
111
|
]
|
|
112
112
|
}
|
|
113
113
|
);
|
|
114
114
|
}
|
|
115
115
|
function C({ className: a, ...e }) {
|
|
116
|
-
const { toggleSidebar:
|
|
116
|
+
const { toggleSidebar: l } = t();
|
|
117
117
|
return /* @__PURE__ */ s(
|
|
118
118
|
"button",
|
|
119
119
|
{
|
|
@@ -121,7 +121,7 @@ function C({ className: a, ...e }) {
|
|
|
121
121
|
"data-slot": "sidebar-rail",
|
|
122
122
|
"aria-label": "Toggle Sidebar",
|
|
123
123
|
tabIndex: -1,
|
|
124
|
-
onClick:
|
|
124
|
+
onClick: l,
|
|
125
125
|
title: "Toggle Sidebar",
|
|
126
126
|
className: d(
|
|
127
127
|
"hover:after:bg-sidebar-border lsd:absolute lsd:inset-y-0 lsd:z-20 lsd:hidden lsd:w-4 lsd:-translate-x-1/2 lsd:transition-all lsd:ease-linear lsd:group-data-[side=left]:-right-4 lsd:group-data-[side=right]:left-0 after:lsd:absolute after:lsd:inset-y-0 after:lsd:left-1/2 after:lsd:w-[2px] lsd:sm:flex",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as o } from "react/jsx-runtime";
|
|
2
2
|
import { d as i, i as t, r as a, g as e, s as n } from "../../../../vi.2VT5v0um-D9hIOtVQ.js";
|
|
3
3
|
import "../../../../SidebarContext-CRh-DPz_.js";
|
|
4
|
-
import "../../../../Button-
|
|
4
|
+
import "../../../../Button-DoTpV6G1.js";
|
|
5
5
|
import "../../../../Input-W8QqFI1v.js";
|
|
6
6
|
import "../../separator/Separator.js";
|
|
7
7
|
import { SidebarGroup as l } from "../SidebarGroup.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as t } from "react/jsx-runtime";
|
|
2
2
|
import { d as l, i as n, r, g as e, s as c } from "../../../../vi.2VT5v0um-D9hIOtVQ.js";
|
|
3
3
|
import "../../../../SidebarContext-CRh-DPz_.js";
|
|
4
|
-
import "../../../../Button-
|
|
4
|
+
import "../../../../Button-DoTpV6G1.js";
|
|
5
5
|
import "../../../../Input-W8QqFI1v.js";
|
|
6
6
|
import "../../separator/Separator.js";
|
|
7
7
|
import { SidebarMenu as a } from "../SidebarMenu.js";
|
|
@@ -99,7 +99,7 @@ l("SidebarTrigger", () => {
|
|
|
99
99
|
const { container: s } = r(
|
|
100
100
|
/* @__PURE__ */ e(c, { children: /* @__PURE__ */ e(I, {}) })
|
|
101
101
|
), n = o(s, "sidebar-trigger");
|
|
102
|
-
t(n).toHaveClass("lsd:
|
|
102
|
+
t(n).toHaveClass("lsd:w-6"), t(n).toHaveClass("lsd:h-6");
|
|
103
103
|
}), a("renders PanelLeftIcon", () => {
|
|
104
104
|
r(
|
|
105
105
|
/* @__PURE__ */ e(c, { children: /* @__PURE__ */ e(I, {}) })
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as s } from "react/jsx-runtime";
|
|
2
2
|
import { R as m } from "../../../index-C8zhdkSa.js";
|
|
3
3
|
import { c as i } from "../../../utils-DtaLkIY8.js";
|
|
4
|
-
import { t as f } from "../../../types-
|
|
4
|
+
import { t as f } from "../../../types-ClTXXuXM.js";
|
|
5
5
|
function e({ className: t, size: o, fullWidth: a, ...r }) {
|
|
6
6
|
return /* @__PURE__ */ s(
|
|
7
7
|
m,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as o } from "react/jsx-runtime";
|
|
2
2
|
import { L as i } from "../../../index-C8zhdkSa.js";
|
|
3
3
|
import { c as m } from "../../../utils-DtaLkIY8.js";
|
|
4
|
-
import { a as f } from "../../../types-
|
|
4
|
+
import { a as f } from "../../../types-ClTXXuXM.js";
|
|
5
5
|
function b({ className: t, size: s, fullWidth: a, ...r }) {
|
|
6
6
|
return /* @__PURE__ */ o(
|
|
7
7
|
i,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as s } from "react/jsx-runtime";
|
|
2
2
|
import { T as i } from "../../../index-C8zhdkSa.js";
|
|
3
3
|
import { c as m } from "../../../utils-DtaLkIY8.js";
|
|
4
|
-
import { b as g } from "../../../types-
|
|
4
|
+
import { b as g } from "../../../types-ClTXXuXM.js";
|
|
5
5
|
function T({
|
|
6
6
|
className: r,
|
|
7
7
|
size: t,
|