@arolariu/components 0.4.1 → 0.5.0
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/changelog.md +15 -0
- package/dist/components/ui/card.d.ts +2 -1
- package/dist/components/ui/card.d.ts.map +1 -1
- package/dist/components/ui/card.js +7 -1
- package/dist/components/ui/card.js.map +1 -1
- package/dist/components/ui/collapsible.js +1 -1
- package/dist/components/ui/collapsible.js.map +1 -1
- package/dist/components/ui/command.d.ts.map +1 -1
- package/dist/components/ui/command.js +11 -6
- package/dist/components/ui/command.js.map +1 -1
- package/dist/components/ui/field.d.ts +26 -0
- package/dist/components/ui/field.d.ts.map +1 -0
- package/dist/index.css +28 -0
- package/dist/index.css.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/lib/color-conversion-utilities.d.ts +82 -0
- package/dist/lib/color-conversion-utilities.d.ts.map +1 -0
- package/dist/lib/color-conversion-utilities.js +94 -0
- package/dist/lib/color-conversion-utilities.js.map +1 -0
- package/package.json +9 -2
- package/src/components/ui/card.tsx +10 -1
- package/src/components/ui/command.tsx +2 -1
- package/src/hooks/useIsMobile.test.tsx +96 -0
- package/src/hooks/useWindowSize.test.tsx +57 -0
- package/src/index.test.ts +537 -0
- package/src/index.ts +30 -1
- package/src/lib/color-conversion-utilities.test.ts +225 -0
- package/src/lib/color-conversion-utilities.ts +165 -0
- package/src/lib/utilities.test.ts +37 -0
|
@@ -0,0 +1,537 @@
|
|
|
1
|
+
import {describe, expect, it} from "vitest";
|
|
2
|
+
import * as exports from "./index";
|
|
3
|
+
|
|
4
|
+
describe("index.ts exports", () => {
|
|
5
|
+
it("should export components and utilities", () => {
|
|
6
|
+
expect(exports).toBeDefined();
|
|
7
|
+
const exportKeys = Object.keys(exports);
|
|
8
|
+
expect(exportKeys.length).toBeGreaterThan(0);
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
describe("Accordion", () => {
|
|
12
|
+
it("should export Accordion", () => expect(exports).toHaveProperty("Accordion"));
|
|
13
|
+
it("should export AccordionContent", () => expect(exports).toHaveProperty("AccordionContent"));
|
|
14
|
+
it("should export AccordionItem", () => expect(exports).toHaveProperty("AccordionItem"));
|
|
15
|
+
it("should export AccordionTrigger", () => expect(exports).toHaveProperty("AccordionTrigger"));
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
describe("Alert", () => {
|
|
19
|
+
it("should export Alert", () => expect(exports).toHaveProperty("Alert"));
|
|
20
|
+
it("should export AlertDescription", () => expect(exports).toHaveProperty("AlertDescription"));
|
|
21
|
+
it("should export AlertTitle", () => expect(exports).toHaveProperty("AlertTitle"));
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
describe("AlertDialog", () => {
|
|
25
|
+
it("should export AlertDialog", () => expect(exports).toHaveProperty("AlertDialog"));
|
|
26
|
+
it("should export AlertDialogAction", () => expect(exports).toHaveProperty("AlertDialogAction"));
|
|
27
|
+
it("should export AlertDialogCancel", () => expect(exports).toHaveProperty("AlertDialogCancel"));
|
|
28
|
+
it("should export AlertDialogContent", () => expect(exports).toHaveProperty("AlertDialogContent"));
|
|
29
|
+
it("should export AlertDialogDescription", () => expect(exports).toHaveProperty("AlertDialogDescription"));
|
|
30
|
+
it("should export AlertDialogFooter", () => expect(exports).toHaveProperty("AlertDialogFooter"));
|
|
31
|
+
it("should export AlertDialogHeader", () => expect(exports).toHaveProperty("AlertDialogHeader"));
|
|
32
|
+
it("should export AlertDialogOverlay", () => expect(exports).toHaveProperty("AlertDialogOverlay"));
|
|
33
|
+
it("should export AlertDialogPortal", () => expect(exports).toHaveProperty("AlertDialogPortal"));
|
|
34
|
+
it("should export AlertDialogTitle", () => expect(exports).toHaveProperty("AlertDialogTitle"));
|
|
35
|
+
it("should export AlertDialogTrigger", () => expect(exports).toHaveProperty("AlertDialogTrigger"));
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
describe("AspectRatio", () => {
|
|
39
|
+
it("should export AspectRatio", () => expect(exports).toHaveProperty("AspectRatio"));
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
describe("Avatar", () => {
|
|
43
|
+
it("should export Avatar", () => expect(exports).toHaveProperty("Avatar"));
|
|
44
|
+
it("should export AvatarFallback", () => expect(exports).toHaveProperty("AvatarFallback"));
|
|
45
|
+
it("should export AvatarImage", () => expect(exports).toHaveProperty("AvatarImage"));
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
describe("BackgroundBeams", () => {
|
|
49
|
+
it("should export BackgroundBeams", () => expect(exports).toHaveProperty("BackgroundBeams"));
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
describe("Badge", () => {
|
|
53
|
+
it("should export Badge", () => expect(exports).toHaveProperty("Badge"));
|
|
54
|
+
it("should export badgeVariants", () => expect(exports).toHaveProperty("badgeVariants"));
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
describe("Breadcrumb", () => {
|
|
58
|
+
it("should export Breadcrumb", () => expect(exports).toHaveProperty("Breadcrumb"));
|
|
59
|
+
it("should export BreadcrumbEllipsis", () => expect(exports).toHaveProperty("BreadcrumbEllipsis"));
|
|
60
|
+
it("should export BreadcrumbItem", () => expect(exports).toHaveProperty("BreadcrumbItem"));
|
|
61
|
+
it("should export BreadcrumbLink", () => expect(exports).toHaveProperty("BreadcrumbLink"));
|
|
62
|
+
it("should export BreadcrumbList", () => expect(exports).toHaveProperty("BreadcrumbList"));
|
|
63
|
+
it("should export BreadcrumbPage", () => expect(exports).toHaveProperty("BreadcrumbPage"));
|
|
64
|
+
it("should export BreadcrumbSeparator", () => expect(exports).toHaveProperty("BreadcrumbSeparator"));
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
describe("BubbleBackground", () => {
|
|
68
|
+
it("should export BubbleBackground", () => expect(exports).toHaveProperty("BubbleBackground"));
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
describe("Button", () => {
|
|
72
|
+
it("should export Button", () => expect(exports).toHaveProperty("Button"));
|
|
73
|
+
it("should export buttonVariants", () => expect(exports).toHaveProperty("buttonVariants"));
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
describe("ButtonGroup", () => {
|
|
77
|
+
it("should export ButtonGroup", () => expect(exports).toHaveProperty("ButtonGroup"));
|
|
78
|
+
it("should export ButtonGroupSeparator", () => expect(exports).toHaveProperty("ButtonGroupSeparator"));
|
|
79
|
+
it("should export ButtonGroupText", () => expect(exports).toHaveProperty("ButtonGroupText"));
|
|
80
|
+
it("should export buttonGroupVariants", () => expect(exports).toHaveProperty("buttonGroupVariants"));
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
describe("Calendar", () => {
|
|
84
|
+
it("should export Calendar", () => expect(exports).toHaveProperty("Calendar"));
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
describe("Card", () => {
|
|
88
|
+
it("should export Card", () => expect(exports).toHaveProperty("Card"));
|
|
89
|
+
it("should export CardAction", () => expect(exports).toHaveProperty("CardAction"));
|
|
90
|
+
it("should export CardContent", () => expect(exports).toHaveProperty("CardContent"));
|
|
91
|
+
it("should export CardDescription", () => expect(exports).toHaveProperty("CardDescription"));
|
|
92
|
+
it("should export CardFooter", () => expect(exports).toHaveProperty("CardFooter"));
|
|
93
|
+
it("should export CardHeader", () => expect(exports).toHaveProperty("CardHeader"));
|
|
94
|
+
it("should export CardTitle", () => expect(exports).toHaveProperty("CardTitle"));
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
describe("Carousel", () => {
|
|
98
|
+
it("should export Carousel", () => expect(exports).toHaveProperty("Carousel"));
|
|
99
|
+
it("should export CarouselContent", () => expect(exports).toHaveProperty("CarouselContent"));
|
|
100
|
+
it("should export CarouselItem", () => expect(exports).toHaveProperty("CarouselItem"));
|
|
101
|
+
it("should export CarouselNext", () => expect(exports).toHaveProperty("CarouselNext"));
|
|
102
|
+
it("should export CarouselPrevious", () => expect(exports).toHaveProperty("CarouselPrevious"));
|
|
103
|
+
});
|
|
104
|
+
|
|
105
|
+
describe("Chart", () => {
|
|
106
|
+
it("should export ChartContainer", () => expect(exports).toHaveProperty("ChartContainer"));
|
|
107
|
+
it("should export ChartLegend", () => expect(exports).toHaveProperty("ChartLegend"));
|
|
108
|
+
it("should export ChartLegendContent", () => expect(exports).toHaveProperty("ChartLegendContent"));
|
|
109
|
+
it("should export ChartStyle", () => expect(exports).toHaveProperty("ChartStyle"));
|
|
110
|
+
it("should export ChartTooltip", () => expect(exports).toHaveProperty("ChartTooltip"));
|
|
111
|
+
it("should export ChartTooltipContent", () => expect(exports).toHaveProperty("ChartTooltipContent"));
|
|
112
|
+
});
|
|
113
|
+
|
|
114
|
+
describe("Checkbox", () => {
|
|
115
|
+
it("should export Checkbox", () => expect(exports).toHaveProperty("Checkbox"));
|
|
116
|
+
});
|
|
117
|
+
|
|
118
|
+
describe("Utilities", () => {
|
|
119
|
+
it("should export cn", () => expect(exports).toHaveProperty("cn"));
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
describe("Collapsible", () => {
|
|
123
|
+
it("should export Collapsible", () => expect(exports).toHaveProperty("Collapsible"));
|
|
124
|
+
it("should export CollapsibleContent", () => expect(exports).toHaveProperty("CollapsibleContent"));
|
|
125
|
+
it("should export CollapsibleTrigger", () => expect(exports).toHaveProperty("CollapsibleTrigger"));
|
|
126
|
+
});
|
|
127
|
+
|
|
128
|
+
describe("Command", () => {
|
|
129
|
+
it("should export Command", () => expect(exports).toHaveProperty("Command"));
|
|
130
|
+
it("should export CommandDialog", () => expect(exports).toHaveProperty("CommandDialog"));
|
|
131
|
+
it("should export CommandEmpty", () => expect(exports).toHaveProperty("CommandEmpty"));
|
|
132
|
+
it("should export CommandGroup", () => expect(exports).toHaveProperty("CommandGroup"));
|
|
133
|
+
it("should export CommandInput", () => expect(exports).toHaveProperty("CommandInput"));
|
|
134
|
+
it("should export CommandItem", () => expect(exports).toHaveProperty("CommandItem"));
|
|
135
|
+
it("should export CommandList", () => expect(exports).toHaveProperty("CommandList"));
|
|
136
|
+
it("should export CommandSeparator", () => expect(exports).toHaveProperty("CommandSeparator"));
|
|
137
|
+
it("should export CommandShortcut", () => expect(exports).toHaveProperty("CommandShortcut"));
|
|
138
|
+
});
|
|
139
|
+
|
|
140
|
+
describe("ContextMenu", () => {
|
|
141
|
+
it("should export ContextMenu", () => expect(exports).toHaveProperty("ContextMenu"));
|
|
142
|
+
it("should export ContextMenuCheckboxItem", () => expect(exports).toHaveProperty("ContextMenuCheckboxItem"));
|
|
143
|
+
it("should export ContextMenuContent", () => expect(exports).toHaveProperty("ContextMenuContent"));
|
|
144
|
+
it("should export ContextMenuGroup", () => expect(exports).toHaveProperty("ContextMenuGroup"));
|
|
145
|
+
it("should export ContextMenuItem", () => expect(exports).toHaveProperty("ContextMenuItem"));
|
|
146
|
+
it("should export ContextMenuLabel", () => expect(exports).toHaveProperty("ContextMenuLabel"));
|
|
147
|
+
it("should export ContextMenuPortal", () => expect(exports).toHaveProperty("ContextMenuPortal"));
|
|
148
|
+
it("should export ContextMenuRadioGroup", () => expect(exports).toHaveProperty("ContextMenuRadioGroup"));
|
|
149
|
+
it("should export ContextMenuRadioItem", () => expect(exports).toHaveProperty("ContextMenuRadioItem"));
|
|
150
|
+
it("should export ContextMenuSeparator", () => expect(exports).toHaveProperty("ContextMenuSeparator"));
|
|
151
|
+
it("should export ContextMenuShortcut", () => expect(exports).toHaveProperty("ContextMenuShortcut"));
|
|
152
|
+
it("should export ContextMenuSub", () => expect(exports).toHaveProperty("ContextMenuSub"));
|
|
153
|
+
it("should export ContextMenuSubContent", () => expect(exports).toHaveProperty("ContextMenuSubContent"));
|
|
154
|
+
it("should export ContextMenuSubTrigger", () => expect(exports).toHaveProperty("ContextMenuSubTrigger"));
|
|
155
|
+
it("should export ContextMenuTrigger", () => expect(exports).toHaveProperty("ContextMenuTrigger"));
|
|
156
|
+
});
|
|
157
|
+
|
|
158
|
+
describe("CountingNumber", () => {
|
|
159
|
+
it("should export CountingNumber", () => expect(exports).toHaveProperty("CountingNumber"));
|
|
160
|
+
});
|
|
161
|
+
|
|
162
|
+
describe("Dialog", () => {
|
|
163
|
+
it("should export Dialog", () => expect(exports).toHaveProperty("Dialog"));
|
|
164
|
+
it("should export DialogClose", () => expect(exports).toHaveProperty("DialogClose"));
|
|
165
|
+
it("should export DialogContent", () => expect(exports).toHaveProperty("DialogContent"));
|
|
166
|
+
it("should export DialogDescription", () => expect(exports).toHaveProperty("DialogDescription"));
|
|
167
|
+
it("should export DialogFooter", () => expect(exports).toHaveProperty("DialogFooter"));
|
|
168
|
+
it("should export DialogHeader", () => expect(exports).toHaveProperty("DialogHeader"));
|
|
169
|
+
it("should export DialogOverlay", () => expect(exports).toHaveProperty("DialogOverlay"));
|
|
170
|
+
it("should export DialogPortal", () => expect(exports).toHaveProperty("DialogPortal"));
|
|
171
|
+
it("should export DialogTitle", () => expect(exports).toHaveProperty("DialogTitle"));
|
|
172
|
+
it("should export DialogTrigger", () => expect(exports).toHaveProperty("DialogTrigger"));
|
|
173
|
+
});
|
|
174
|
+
|
|
175
|
+
describe("DotBackground", () => {
|
|
176
|
+
it("should export DotBackground", () => expect(exports).toHaveProperty("DotBackground"));
|
|
177
|
+
});
|
|
178
|
+
|
|
179
|
+
describe("Drawer", () => {
|
|
180
|
+
it("should export Drawer", () => expect(exports).toHaveProperty("Drawer"));
|
|
181
|
+
it("should export DrawerClose", () => expect(exports).toHaveProperty("DrawerClose"));
|
|
182
|
+
it("should export DrawerContent", () => expect(exports).toHaveProperty("DrawerContent"));
|
|
183
|
+
it("should export DrawerDescription", () => expect(exports).toHaveProperty("DrawerDescription"));
|
|
184
|
+
it("should export DrawerFooter", () => expect(exports).toHaveProperty("DrawerFooter"));
|
|
185
|
+
it("should export DrawerHeader", () => expect(exports).toHaveProperty("DrawerHeader"));
|
|
186
|
+
it("should export DrawerOverlay", () => expect(exports).toHaveProperty("DrawerOverlay"));
|
|
187
|
+
it("should export DrawerPortal", () => expect(exports).toHaveProperty("DrawerPortal"));
|
|
188
|
+
it("should export DrawerTitle", () => expect(exports).toHaveProperty("DrawerTitle"));
|
|
189
|
+
it("should export DrawerTrigger", () => expect(exports).toHaveProperty("DrawerTrigger"));
|
|
190
|
+
});
|
|
191
|
+
|
|
192
|
+
describe("DropdownMenu", () => {
|
|
193
|
+
it("should export DropdownMenu", () => expect(exports).toHaveProperty("DropdownMenu"));
|
|
194
|
+
it("should export DropdownMenuCheckboxItem", () => expect(exports).toHaveProperty("DropdownMenuCheckboxItem"));
|
|
195
|
+
it("should export DropdownMenuContent", () => expect(exports).toHaveProperty("DropdownMenuContent"));
|
|
196
|
+
it("should export DropdownMenuGroup", () => expect(exports).toHaveProperty("DropdownMenuGroup"));
|
|
197
|
+
it("should export DropdownMenuItem", () => expect(exports).toHaveProperty("DropdownMenuItem"));
|
|
198
|
+
it("should export DropdownMenuLabel", () => expect(exports).toHaveProperty("DropdownMenuLabel"));
|
|
199
|
+
it("should export DropdownMenuPortal", () => expect(exports).toHaveProperty("DropdownMenuPortal"));
|
|
200
|
+
it("should export DropdownMenuRadioGroup", () => expect(exports).toHaveProperty("DropdownMenuRadioGroup"));
|
|
201
|
+
it("should export DropdownMenuRadioItem", () => expect(exports).toHaveProperty("DropdownMenuRadioItem"));
|
|
202
|
+
it("should export DropdownMenuSeparator", () => expect(exports).toHaveProperty("DropdownMenuSeparator"));
|
|
203
|
+
it("should export DropdownMenuShortcut", () => expect(exports).toHaveProperty("DropdownMenuShortcut"));
|
|
204
|
+
it("should export DropdownMenuSub", () => expect(exports).toHaveProperty("DropdownMenuSub"));
|
|
205
|
+
it("should export DropdownMenuSubContent", () => expect(exports).toHaveProperty("DropdownMenuSubContent"));
|
|
206
|
+
it("should export DropdownMenuSubTrigger", () => expect(exports).toHaveProperty("DropdownMenuSubTrigger"));
|
|
207
|
+
it("should export DropdownMenuTrigger", () => expect(exports).toHaveProperty("DropdownMenuTrigger"));
|
|
208
|
+
});
|
|
209
|
+
|
|
210
|
+
describe("DropDrawer", () => {
|
|
211
|
+
it("should export DropDrawer", () => expect(exports).toHaveProperty("DropDrawer"));
|
|
212
|
+
it("should export DropDrawerContent", () => expect(exports).toHaveProperty("DropDrawerContent"));
|
|
213
|
+
it("should export DropDrawerFooter", () => expect(exports).toHaveProperty("DropDrawerFooter"));
|
|
214
|
+
it("should export DropDrawerGroup", () => expect(exports).toHaveProperty("DropDrawerGroup"));
|
|
215
|
+
it("should export DropDrawerItem", () => expect(exports).toHaveProperty("DropDrawerItem"));
|
|
216
|
+
it("should export DropDrawerLabel", () => expect(exports).toHaveProperty("DropDrawerLabel"));
|
|
217
|
+
it("should export DropDrawerSeparator", () => expect(exports).toHaveProperty("DropDrawerSeparator"));
|
|
218
|
+
it("should export DropDrawerSub", () => expect(exports).toHaveProperty("DropDrawerSub"));
|
|
219
|
+
it("should export DropDrawerSubContent", () => expect(exports).toHaveProperty("DropDrawerSubContent"));
|
|
220
|
+
it("should export DropDrawerSubTrigger", () => expect(exports).toHaveProperty("DropDrawerSubTrigger"));
|
|
221
|
+
it("should export DropDrawerTrigger", () => expect(exports).toHaveProperty("DropDrawerTrigger"));
|
|
222
|
+
});
|
|
223
|
+
|
|
224
|
+
describe("Empty", () => {
|
|
225
|
+
it("should export Empty", () => expect(exports).toHaveProperty("Empty"));
|
|
226
|
+
it("should export EmptyContent", () => expect(exports).toHaveProperty("EmptyContent"));
|
|
227
|
+
it("should export EmptyDescription", () => expect(exports).toHaveProperty("EmptyDescription"));
|
|
228
|
+
it("should export EmptyHeader", () => expect(exports).toHaveProperty("EmptyHeader"));
|
|
229
|
+
it("should export EmptyMedia", () => expect(exports).toHaveProperty("EmptyMedia"));
|
|
230
|
+
it("should export EmptyTitle", () => expect(exports).toHaveProperty("EmptyTitle"));
|
|
231
|
+
});
|
|
232
|
+
|
|
233
|
+
describe("Field", () => {
|
|
234
|
+
it("should export Field", () => expect(exports).toHaveProperty("Field"));
|
|
235
|
+
it("should export FieldContent", () => expect(exports).toHaveProperty("FieldContent"));
|
|
236
|
+
it("should export FieldDescription", () => expect(exports).toHaveProperty("FieldDescription"));
|
|
237
|
+
it("should export FieldError", () => expect(exports).toHaveProperty("FieldError"));
|
|
238
|
+
it("should export FieldGroup", () => expect(exports).toHaveProperty("FieldGroup"));
|
|
239
|
+
it("should export FieldLabel", () => expect(exports).toHaveProperty("FieldLabel"));
|
|
240
|
+
it("should export FieldLegend", () => expect(exports).toHaveProperty("FieldLegend"));
|
|
241
|
+
it("should export FieldSeparator", () => expect(exports).toHaveProperty("FieldSeparator"));
|
|
242
|
+
it("should export FieldSet", () => expect(exports).toHaveProperty("FieldSet"));
|
|
243
|
+
it("should export FieldTitle", () => expect(exports).toHaveProperty("FieldTitle"));
|
|
244
|
+
});
|
|
245
|
+
|
|
246
|
+
describe("FireworksBackground", () => {
|
|
247
|
+
it("should export FireworksBackground", () => expect(exports).toHaveProperty("FireworksBackground"));
|
|
248
|
+
});
|
|
249
|
+
|
|
250
|
+
describe("FlipButton", () => {
|
|
251
|
+
it("should export FlipButton", () => expect(exports).toHaveProperty("FlipButton"));
|
|
252
|
+
});
|
|
253
|
+
|
|
254
|
+
describe("Form", () => {
|
|
255
|
+
it("should export Form", () => expect(exports).toHaveProperty("Form"));
|
|
256
|
+
it("should export FormControl", () => expect(exports).toHaveProperty("FormControl"));
|
|
257
|
+
it("should export FormDescription", () => expect(exports).toHaveProperty("FormDescription"));
|
|
258
|
+
it("should export FormField", () => expect(exports).toHaveProperty("FormField"));
|
|
259
|
+
it("should export FormItem", () => expect(exports).toHaveProperty("FormItem"));
|
|
260
|
+
it("should export FormLabel", () => expect(exports).toHaveProperty("FormLabel"));
|
|
261
|
+
it("should export FormMessage", () => expect(exports).toHaveProperty("FormMessage"));
|
|
262
|
+
});
|
|
263
|
+
|
|
264
|
+
describe("GradientBackground", () => {
|
|
265
|
+
it("should export GradientBackground", () => expect(exports).toHaveProperty("GradientBackground"));
|
|
266
|
+
});
|
|
267
|
+
|
|
268
|
+
describe("GradientText", () => {
|
|
269
|
+
it("should export GradientText", () => expect(exports).toHaveProperty("GradientText"));
|
|
270
|
+
});
|
|
271
|
+
|
|
272
|
+
describe("HighlightText", () => {
|
|
273
|
+
it("should export HighlightText", () => expect(exports).toHaveProperty("HighlightText"));
|
|
274
|
+
});
|
|
275
|
+
|
|
276
|
+
describe("HoleBackground", () => {
|
|
277
|
+
it("should export HoleBackground", () => expect(exports).toHaveProperty("HoleBackground"));
|
|
278
|
+
});
|
|
279
|
+
|
|
280
|
+
describe("HoverCard", () => {
|
|
281
|
+
it("should export HoverCard", () => expect(exports).toHaveProperty("HoverCard"));
|
|
282
|
+
it("should export HoverCardContent", () => expect(exports).toHaveProperty("HoverCardContent"));
|
|
283
|
+
it("should export HoverCardTrigger", () => expect(exports).toHaveProperty("HoverCardTrigger"));
|
|
284
|
+
});
|
|
285
|
+
|
|
286
|
+
describe("Input", () => {
|
|
287
|
+
it("should export Input", () => expect(exports).toHaveProperty("Input"));
|
|
288
|
+
});
|
|
289
|
+
|
|
290
|
+
describe("InputGroup", () => {
|
|
291
|
+
it("should export InputGroup", () => expect(exports).toHaveProperty("InputGroup"));
|
|
292
|
+
it("should export InputGroupAddon", () => expect(exports).toHaveProperty("InputGroupAddon"));
|
|
293
|
+
it("should export InputGroupButton", () => expect(exports).toHaveProperty("InputGroupButton"));
|
|
294
|
+
it("should export InputGroupInput", () => expect(exports).toHaveProperty("InputGroupInput"));
|
|
295
|
+
it("should export InputGroupText", () => expect(exports).toHaveProperty("InputGroupText"));
|
|
296
|
+
it("should export InputGroupTextarea", () => expect(exports).toHaveProperty("InputGroupTextarea"));
|
|
297
|
+
});
|
|
298
|
+
|
|
299
|
+
describe("InputOTP", () => {
|
|
300
|
+
it("should export InputOTP", () => expect(exports).toHaveProperty("InputOTP"));
|
|
301
|
+
it("should export InputOTPGroup", () => expect(exports).toHaveProperty("InputOTPGroup"));
|
|
302
|
+
it("should export InputOTPSeparator", () => expect(exports).toHaveProperty("InputOTPSeparator"));
|
|
303
|
+
it("should export InputOTPSlot", () => expect(exports).toHaveProperty("InputOTPSlot"));
|
|
304
|
+
});
|
|
305
|
+
|
|
306
|
+
describe("Item", () => {
|
|
307
|
+
it("should export Item", () => expect(exports).toHaveProperty("Item"));
|
|
308
|
+
it("should export ItemActions", () => expect(exports).toHaveProperty("ItemActions"));
|
|
309
|
+
it("should export ItemContent", () => expect(exports).toHaveProperty("ItemContent"));
|
|
310
|
+
it("should export ItemDescription", () => expect(exports).toHaveProperty("ItemDescription"));
|
|
311
|
+
it("should export ItemFooter", () => expect(exports).toHaveProperty("ItemFooter"));
|
|
312
|
+
it("should export ItemGroup", () => expect(exports).toHaveProperty("ItemGroup"));
|
|
313
|
+
it("should export ItemHeader", () => expect(exports).toHaveProperty("ItemHeader"));
|
|
314
|
+
it("should export ItemMedia", () => expect(exports).toHaveProperty("ItemMedia"));
|
|
315
|
+
it("should export ItemSeparator", () => expect(exports).toHaveProperty("ItemSeparator"));
|
|
316
|
+
it("should export ItemTitle", () => expect(exports).toHaveProperty("ItemTitle"));
|
|
317
|
+
});
|
|
318
|
+
|
|
319
|
+
describe("Kbd", () => {
|
|
320
|
+
it("should export Kbd", () => expect(exports).toHaveProperty("Kbd"));
|
|
321
|
+
it("should export KbdGroup", () => expect(exports).toHaveProperty("KbdGroup"));
|
|
322
|
+
});
|
|
323
|
+
|
|
324
|
+
describe("Label", () => {
|
|
325
|
+
it("should export Label", () => expect(exports).toHaveProperty("Label"));
|
|
326
|
+
});
|
|
327
|
+
|
|
328
|
+
describe("Menubar", () => {
|
|
329
|
+
it("should export Menubar", () => expect(exports).toHaveProperty("Menubar"));
|
|
330
|
+
it("should export MenubarCheckboxItem", () => expect(exports).toHaveProperty("MenubarCheckboxItem"));
|
|
331
|
+
it("should export MenubarContent", () => expect(exports).toHaveProperty("MenubarContent"));
|
|
332
|
+
it("should export MenubarGroup", () => expect(exports).toHaveProperty("MenubarGroup"));
|
|
333
|
+
it("should export MenubarItem", () => expect(exports).toHaveProperty("MenubarItem"));
|
|
334
|
+
it("should export MenubarLabel", () => expect(exports).toHaveProperty("MenubarLabel"));
|
|
335
|
+
it("should export MenubarMenu", () => expect(exports).toHaveProperty("MenubarMenu"));
|
|
336
|
+
it("should export MenubarPortal", () => expect(exports).toHaveProperty("MenubarPortal"));
|
|
337
|
+
it("should export MenubarRadioGroup", () => expect(exports).toHaveProperty("MenubarRadioGroup"));
|
|
338
|
+
it("should export MenubarRadioItem", () => expect(exports).toHaveProperty("MenubarRadioItem"));
|
|
339
|
+
it("should export MenubarSeparator", () => expect(exports).toHaveProperty("MenubarSeparator"));
|
|
340
|
+
it("should export MenubarShortcut", () => expect(exports).toHaveProperty("MenubarShortcut"));
|
|
341
|
+
it("should export MenubarSub", () => expect(exports).toHaveProperty("MenubarSub"));
|
|
342
|
+
it("should export MenubarSubContent", () => expect(exports).toHaveProperty("MenubarSubContent"));
|
|
343
|
+
it("should export MenubarSubTrigger", () => expect(exports).toHaveProperty("MenubarSubTrigger"));
|
|
344
|
+
it("should export MenubarTrigger", () => expect(exports).toHaveProperty("MenubarTrigger"));
|
|
345
|
+
});
|
|
346
|
+
|
|
347
|
+
describe("NavigationMenu", () => {
|
|
348
|
+
it("should export NavigationMenu", () => expect(exports).toHaveProperty("NavigationMenu"));
|
|
349
|
+
it("should export NavigationMenuContent", () => expect(exports).toHaveProperty("NavigationMenuContent"));
|
|
350
|
+
it("should export NavigationMenuIndicator", () => expect(exports).toHaveProperty("NavigationMenuIndicator"));
|
|
351
|
+
it("should export NavigationMenuItem", () => expect(exports).toHaveProperty("NavigationMenuItem"));
|
|
352
|
+
it("should export NavigationMenuLink", () => expect(exports).toHaveProperty("NavigationMenuLink"));
|
|
353
|
+
it("should export NavigationMenuList", () => expect(exports).toHaveProperty("NavigationMenuList"));
|
|
354
|
+
it("should export NavigationMenuTrigger", () => expect(exports).toHaveProperty("NavigationMenuTrigger"));
|
|
355
|
+
it("should export navigationMenuTriggerStyle", () => expect(exports).toHaveProperty("navigationMenuTriggerStyle"));
|
|
356
|
+
it("should export NavigationMenuViewport", () => expect(exports).toHaveProperty("NavigationMenuViewport"));
|
|
357
|
+
});
|
|
358
|
+
|
|
359
|
+
describe("Pagination", () => {
|
|
360
|
+
it("should export Pagination", () => expect(exports).toHaveProperty("Pagination"));
|
|
361
|
+
it("should export PaginationContent", () => expect(exports).toHaveProperty("PaginationContent"));
|
|
362
|
+
it("should export PaginationEllipsis", () => expect(exports).toHaveProperty("PaginationEllipsis"));
|
|
363
|
+
it("should export PaginationItem", () => expect(exports).toHaveProperty("PaginationItem"));
|
|
364
|
+
it("should export PaginationLink", () => expect(exports).toHaveProperty("PaginationLink"));
|
|
365
|
+
it("should export PaginationNext", () => expect(exports).toHaveProperty("PaginationNext"));
|
|
366
|
+
it("should export PaginationPrevious", () => expect(exports).toHaveProperty("PaginationPrevious"));
|
|
367
|
+
});
|
|
368
|
+
|
|
369
|
+
describe("Popover", () => {
|
|
370
|
+
it("should export Popover", () => expect(exports).toHaveProperty("Popover"));
|
|
371
|
+
it("should export PopoverAnchor", () => expect(exports).toHaveProperty("PopoverAnchor"));
|
|
372
|
+
it("should export PopoverContent", () => expect(exports).toHaveProperty("PopoverContent"));
|
|
373
|
+
it("should export PopoverTrigger", () => expect(exports).toHaveProperty("PopoverTrigger"));
|
|
374
|
+
});
|
|
375
|
+
|
|
376
|
+
describe("Progress", () => {
|
|
377
|
+
it("should export Progress", () => expect(exports).toHaveProperty("Progress"));
|
|
378
|
+
});
|
|
379
|
+
|
|
380
|
+
describe("RadioGroup", () => {
|
|
381
|
+
it("should export RadioGroup", () => expect(exports).toHaveProperty("RadioGroup"));
|
|
382
|
+
it("should export RadioGroupItem", () => expect(exports).toHaveProperty("RadioGroupItem"));
|
|
383
|
+
});
|
|
384
|
+
|
|
385
|
+
describe("Resizable", () => {
|
|
386
|
+
it("should export ResizableHandle", () => expect(exports).toHaveProperty("ResizableHandle"));
|
|
387
|
+
it("should export ResizablePanel", () => expect(exports).toHaveProperty("ResizablePanel"));
|
|
388
|
+
it("should export ResizablePanelGroup", () => expect(exports).toHaveProperty("ResizablePanelGroup"));
|
|
389
|
+
});
|
|
390
|
+
|
|
391
|
+
describe("RippleButton", () => {
|
|
392
|
+
it("should export RippleButton", () => expect(exports).toHaveProperty("RippleButton"));
|
|
393
|
+
});
|
|
394
|
+
|
|
395
|
+
describe("Scratcher", () => {
|
|
396
|
+
it("should export Scratcher", () => expect(exports).toHaveProperty("Scratcher"));
|
|
397
|
+
});
|
|
398
|
+
|
|
399
|
+
describe("ScrollArea", () => {
|
|
400
|
+
it("should export ScrollArea", () => expect(exports).toHaveProperty("ScrollArea"));
|
|
401
|
+
it("should export ScrollBar", () => expect(exports).toHaveProperty("ScrollBar"));
|
|
402
|
+
});
|
|
403
|
+
|
|
404
|
+
describe("Select", () => {
|
|
405
|
+
it("should export Select", () => expect(exports).toHaveProperty("Select"));
|
|
406
|
+
it("should export SelectContent", () => expect(exports).toHaveProperty("SelectContent"));
|
|
407
|
+
it("should export SelectGroup", () => expect(exports).toHaveProperty("SelectGroup"));
|
|
408
|
+
it("should export SelectItem", () => expect(exports).toHaveProperty("SelectItem"));
|
|
409
|
+
it("should export SelectLabel", () => expect(exports).toHaveProperty("SelectLabel"));
|
|
410
|
+
it("should export SelectScrollDownButton", () => expect(exports).toHaveProperty("SelectScrollDownButton"));
|
|
411
|
+
it("should export SelectScrollUpButton", () => expect(exports).toHaveProperty("SelectScrollUpButton"));
|
|
412
|
+
it("should export SelectSeparator", () => expect(exports).toHaveProperty("SelectSeparator"));
|
|
413
|
+
it("should export SelectTrigger", () => expect(exports).toHaveProperty("SelectTrigger"));
|
|
414
|
+
it("should export SelectValue", () => expect(exports).toHaveProperty("SelectValue"));
|
|
415
|
+
});
|
|
416
|
+
|
|
417
|
+
describe("Separator", () => {
|
|
418
|
+
it("should export Separator", () => expect(exports).toHaveProperty("Separator"));
|
|
419
|
+
});
|
|
420
|
+
|
|
421
|
+
describe("Sheet", () => {
|
|
422
|
+
it("should export Sheet", () => expect(exports).toHaveProperty("Sheet"));
|
|
423
|
+
it("should export SheetClose", () => expect(exports).toHaveProperty("SheetClose"));
|
|
424
|
+
it("should export SheetContent", () => expect(exports).toHaveProperty("SheetContent"));
|
|
425
|
+
it("should export SheetDescription", () => expect(exports).toHaveProperty("SheetDescription"));
|
|
426
|
+
it("should export SheetFooter", () => expect(exports).toHaveProperty("SheetFooter"));
|
|
427
|
+
it("should export SheetHeader", () => expect(exports).toHaveProperty("SheetHeader"));
|
|
428
|
+
it("should export SheetOverlay", () => expect(exports).toHaveProperty("SheetOverlay"));
|
|
429
|
+
it("should export SheetPortal", () => expect(exports).toHaveProperty("SheetPortal"));
|
|
430
|
+
it("should export SheetTitle", () => expect(exports).toHaveProperty("SheetTitle"));
|
|
431
|
+
it("should export SheetTrigger", () => expect(exports).toHaveProperty("SheetTrigger"));
|
|
432
|
+
});
|
|
433
|
+
|
|
434
|
+
describe("Sidebar", () => {
|
|
435
|
+
it("should export Sidebar", () => expect(exports).toHaveProperty("Sidebar"));
|
|
436
|
+
it("should export SidebarContent", () => expect(exports).toHaveProperty("SidebarContent"));
|
|
437
|
+
it("should export SidebarFooter", () => expect(exports).toHaveProperty("SidebarFooter"));
|
|
438
|
+
it("should export SidebarGroup", () => expect(exports).toHaveProperty("SidebarGroup"));
|
|
439
|
+
it("should export SidebarGroupAction", () => expect(exports).toHaveProperty("SidebarGroupAction"));
|
|
440
|
+
it("should export SidebarGroupContent", () => expect(exports).toHaveProperty("SidebarGroupContent"));
|
|
441
|
+
it("should export SidebarGroupLabel", () => expect(exports).toHaveProperty("SidebarGroupLabel"));
|
|
442
|
+
it("should export SidebarHeader", () => expect(exports).toHaveProperty("SidebarHeader"));
|
|
443
|
+
it("should export SidebarInput", () => expect(exports).toHaveProperty("SidebarInput"));
|
|
444
|
+
it("should export SidebarInset", () => expect(exports).toHaveProperty("SidebarInset"));
|
|
445
|
+
it("should export SidebarMenu", () => expect(exports).toHaveProperty("SidebarMenu"));
|
|
446
|
+
it("should export SidebarMenuAction", () => expect(exports).toHaveProperty("SidebarMenuAction"));
|
|
447
|
+
it("should export SidebarMenuBadge", () => expect(exports).toHaveProperty("SidebarMenuBadge"));
|
|
448
|
+
it("should export SidebarMenuButton", () => expect(exports).toHaveProperty("SidebarMenuButton"));
|
|
449
|
+
it("should export SidebarMenuItem", () => expect(exports).toHaveProperty("SidebarMenuItem"));
|
|
450
|
+
it("should export SidebarMenuSkeleton", () => expect(exports).toHaveProperty("SidebarMenuSkeleton"));
|
|
451
|
+
it("should export SidebarMenuSub", () => expect(exports).toHaveProperty("SidebarMenuSub"));
|
|
452
|
+
it("should export SidebarMenuSubButton", () => expect(exports).toHaveProperty("SidebarMenuSubButton"));
|
|
453
|
+
it("should export SidebarMenuSubItem", () => expect(exports).toHaveProperty("SidebarMenuSubItem"));
|
|
454
|
+
it("should export SidebarProvider", () => expect(exports).toHaveProperty("SidebarProvider"));
|
|
455
|
+
it("should export SidebarRail", () => expect(exports).toHaveProperty("SidebarRail"));
|
|
456
|
+
it("should export SidebarSeparator", () => expect(exports).toHaveProperty("SidebarSeparator"));
|
|
457
|
+
it("should export SidebarTrigger", () => expect(exports).toHaveProperty("SidebarTrigger"));
|
|
458
|
+
});
|
|
459
|
+
|
|
460
|
+
describe("Skeleton", () => {
|
|
461
|
+
it("should export Skeleton", () => expect(exports).toHaveProperty("Skeleton"));
|
|
462
|
+
});
|
|
463
|
+
|
|
464
|
+
describe("Slider", () => {
|
|
465
|
+
it("should export Slider", () => expect(exports).toHaveProperty("Slider"));
|
|
466
|
+
});
|
|
467
|
+
|
|
468
|
+
describe("Spinner", () => {
|
|
469
|
+
it("should export Spinner", () => expect(exports).toHaveProperty("Spinner"));
|
|
470
|
+
});
|
|
471
|
+
|
|
472
|
+
describe("Switch", () => {
|
|
473
|
+
it("should export Switch", () => expect(exports).toHaveProperty("Switch"));
|
|
474
|
+
});
|
|
475
|
+
|
|
476
|
+
describe("Table", () => {
|
|
477
|
+
it("should export Table", () => expect(exports).toHaveProperty("Table"));
|
|
478
|
+
it("should export TableBody", () => expect(exports).toHaveProperty("TableBody"));
|
|
479
|
+
it("should export TableCaption", () => expect(exports).toHaveProperty("TableCaption"));
|
|
480
|
+
it("should export TableCell", () => expect(exports).toHaveProperty("TableCell"));
|
|
481
|
+
it("should export TableFooter", () => expect(exports).toHaveProperty("TableFooter"));
|
|
482
|
+
it("should export TableHead", () => expect(exports).toHaveProperty("TableHead"));
|
|
483
|
+
it("should export TableHeader", () => expect(exports).toHaveProperty("TableHeader"));
|
|
484
|
+
it("should export TableRow", () => expect(exports).toHaveProperty("TableRow"));
|
|
485
|
+
});
|
|
486
|
+
|
|
487
|
+
describe("Tabs", () => {
|
|
488
|
+
it("should export Tabs", () => expect(exports).toHaveProperty("Tabs"));
|
|
489
|
+
it("should export TabsContent", () => expect(exports).toHaveProperty("TabsContent"));
|
|
490
|
+
it("should export TabsList", () => expect(exports).toHaveProperty("TabsList"));
|
|
491
|
+
it("should export TabsTrigger", () => expect(exports).toHaveProperty("TabsTrigger"));
|
|
492
|
+
});
|
|
493
|
+
|
|
494
|
+
describe("Textarea", () => {
|
|
495
|
+
it("should export Textarea", () => expect(exports).toHaveProperty("Textarea"));
|
|
496
|
+
});
|
|
497
|
+
|
|
498
|
+
describe("Toast", () => {
|
|
499
|
+
it("should export toast", () => expect(exports).toHaveProperty("toast"));
|
|
500
|
+
it("should export Toaster", () => expect(exports).toHaveProperty("Toaster"));
|
|
501
|
+
});
|
|
502
|
+
|
|
503
|
+
describe("Toggle", () => {
|
|
504
|
+
it("should export Toggle", () => expect(exports).toHaveProperty("Toggle"));
|
|
505
|
+
it("should export toggleVariants", () => expect(exports).toHaveProperty("toggleVariants"));
|
|
506
|
+
});
|
|
507
|
+
|
|
508
|
+
describe("ToggleGroup", () => {
|
|
509
|
+
it("should export ToggleGroup", () => expect(exports).toHaveProperty("ToggleGroup"));
|
|
510
|
+
it("should export ToggleGroupItem", () => expect(exports).toHaveProperty("ToggleGroupItem"));
|
|
511
|
+
});
|
|
512
|
+
|
|
513
|
+
describe("Tooltip", () => {
|
|
514
|
+
it("should export Tooltip", () => expect(exports).toHaveProperty("Tooltip"));
|
|
515
|
+
it("should export TooltipContent", () => expect(exports).toHaveProperty("TooltipContent"));
|
|
516
|
+
it("should export TooltipProvider", () => expect(exports).toHaveProperty("TooltipProvider"));
|
|
517
|
+
it("should export TooltipTrigger", () => expect(exports).toHaveProperty("TooltipTrigger"));
|
|
518
|
+
});
|
|
519
|
+
|
|
520
|
+
describe("TypewriterText", () => {
|
|
521
|
+
it("should export TypewriterText", () => expect(exports).toHaveProperty("TypewriterText"));
|
|
522
|
+
it("should export TypewriterTextSmooth", () => expect(exports).toHaveProperty("TypewriterTextSmooth"));
|
|
523
|
+
});
|
|
524
|
+
|
|
525
|
+
describe("Hooks", () => {
|
|
526
|
+
it("should export useFormField", () => expect(exports).toHaveProperty("useFormField"));
|
|
527
|
+
it("should export useIsMobile", () => expect(exports).toHaveProperty("useIsMobile"));
|
|
528
|
+
it("should export useSidebar", () => expect(exports).toHaveProperty("useSidebar"));
|
|
529
|
+
it("should export useWindowSize", () => expect(exports).toHaveProperty("useWindowSize"));
|
|
530
|
+
});
|
|
531
|
+
|
|
532
|
+
it("should not have undefined exports", () => {
|
|
533
|
+
Object.entries(exports).forEach(([key, value]) => {
|
|
534
|
+
expect(value, `Export "${key}" should not be undefined`).toBeDefined();
|
|
535
|
+
});
|
|
536
|
+
});
|
|
537
|
+
});
|
package/src/index.ts
CHANGED
|
@@ -38,7 +38,7 @@ export {ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants}
|
|
|
38
38
|
|
|
39
39
|
export {Calendar} from "./components/ui/calendar";
|
|
40
40
|
|
|
41
|
-
export {Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle} from "./components/ui/card";
|
|
41
|
+
export {Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle} from "./components/ui/card";
|
|
42
42
|
|
|
43
43
|
export {Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi} from "./components/ui/carousel";
|
|
44
44
|
|
|
@@ -132,6 +132,19 @@ export {
|
|
|
132
132
|
|
|
133
133
|
export {Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle} from "./components/ui/empty";
|
|
134
134
|
|
|
135
|
+
export {
|
|
136
|
+
Field,
|
|
137
|
+
FieldContent,
|
|
138
|
+
FieldDescription,
|
|
139
|
+
FieldError,
|
|
140
|
+
FieldGroup,
|
|
141
|
+
FieldLabel,
|
|
142
|
+
FieldLegend,
|
|
143
|
+
FieldSeparator,
|
|
144
|
+
FieldSet,
|
|
145
|
+
FieldTitle,
|
|
146
|
+
} from "./components/ui/field";
|
|
147
|
+
|
|
135
148
|
export {Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField} from "./components/ui/form";
|
|
136
149
|
|
|
137
150
|
export {HoverCard, HoverCardContent, HoverCardTrigger} from "./components/ui/hover-card";
|
|
@@ -297,6 +310,22 @@ export {Tooltip, TooltipContent, TooltipProvider, TooltipTrigger} from "./compon
|
|
|
297
310
|
export {useIsMobile} from "./hooks/useIsMobile";
|
|
298
311
|
export {useWindowSize} from "./hooks/useWindowSize";
|
|
299
312
|
|
|
313
|
+
export {
|
|
314
|
+
// New descriptive names
|
|
315
|
+
adjustHexColorLightness,
|
|
316
|
+
// Legacy aliases (deprecated)
|
|
317
|
+
adjustLightness,
|
|
318
|
+
calculateComplementaryHexColor,
|
|
319
|
+
convertHexToHslString,
|
|
320
|
+
convertHslToHexString,
|
|
321
|
+
getComplementaryColor,
|
|
322
|
+
hexToHsl,
|
|
323
|
+
hslToHex,
|
|
324
|
+
isValidHexColor,
|
|
325
|
+
parseHslString,
|
|
326
|
+
parseHslStringToComponents,
|
|
327
|
+
validateHexColorFormat,
|
|
328
|
+
} from "./lib/color-conversion-utilities";
|
|
300
329
|
export {cn} from "./lib/utilities";
|
|
301
330
|
|
|
302
331
|
// Animate-UI exports:
|