sv5ui 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +124 -0
  3. package/dist/Alert/Alert.svelte +120 -0
  4. package/dist/Alert/Alert.svelte.d.ts +5 -0
  5. package/dist/Alert/alert.types.d.ts +99 -0
  6. package/dist/Alert/alert.types.js +1 -0
  7. package/dist/Alert/alert.variants.d.ts +213 -0
  8. package/dist/Alert/alert.variants.js +293 -0
  9. package/dist/Alert/index.d.ts +2 -0
  10. package/dist/Alert/index.js +1 -0
  11. package/dist/Avatar/Avatar.svelte +70 -0
  12. package/dist/Avatar/Avatar.svelte.d.ts +6 -0
  13. package/dist/Avatar/avatar.types.d.ts +40 -0
  14. package/dist/Avatar/avatar.types.js +1 -0
  15. package/dist/Avatar/avatar.variants.d.ts +178 -0
  16. package/dist/Avatar/avatar.variants.js +28 -0
  17. package/dist/Avatar/index.d.ts +2 -0
  18. package/dist/Avatar/index.js +1 -0
  19. package/dist/AvatarGroup/AvatarGroup.svelte +66 -0
  20. package/dist/AvatarGroup/AvatarGroup.svelte.d.ts +5 -0
  21. package/dist/AvatarGroup/avatar-group.types.d.ts +34 -0
  22. package/dist/AvatarGroup/avatar-group.types.js +1 -0
  23. package/dist/AvatarGroup/avatar-group.variants.d.ts +173 -0
  24. package/dist/AvatarGroup/avatar-group.variants.js +45 -0
  25. package/dist/AvatarGroup/index.d.ts +2 -0
  26. package/dist/AvatarGroup/index.js +1 -0
  27. package/dist/Badge/Badge.svelte +74 -0
  28. package/dist/Badge/Badge.svelte.d.ts +5 -0
  29. package/dist/Badge/badge.types.d.ts +74 -0
  30. package/dist/Badge/badge.types.js +1 -0
  31. package/dist/Badge/badge.variants.d.ts +303 -0
  32. package/dist/Badge/badge.variants.js +245 -0
  33. package/dist/Badge/index.d.ts +2 -0
  34. package/dist/Badge/index.js +1 -0
  35. package/dist/Button/Button.svelte +103 -0
  36. package/dist/Button/Button.svelte.d.ts +6 -0
  37. package/dist/Button/button.types.d.ts +97 -0
  38. package/dist/Button/button.types.js +1 -0
  39. package/dist/Button/button.variants.d.ts +388 -0
  40. package/dist/Button/button.variants.js +461 -0
  41. package/dist/Button/index.d.ts +2 -0
  42. package/dist/Button/index.js +1 -0
  43. package/dist/Card/Card.svelte +53 -0
  44. package/dist/Card/Card.svelte.d.ts +5 -0
  45. package/dist/Card/card.types.d.ts +32 -0
  46. package/dist/Card/card.types.js +1 -0
  47. package/dist/Card/card.variants.d.ts +108 -0
  48. package/dist/Card/card.variants.js +32 -0
  49. package/dist/Card/index.d.ts +2 -0
  50. package/dist/Card/index.js +1 -0
  51. package/dist/Chip/Chip.svelte +50 -0
  52. package/dist/Chip/Chip.svelte.d.ts +5 -0
  53. package/dist/Chip/chip.types.d.ts +62 -0
  54. package/dist/Chip/chip.types.js +1 -0
  55. package/dist/Chip/chip.variants.d.ts +328 -0
  56. package/dist/Chip/chip.variants.js +58 -0
  57. package/dist/Chip/index.d.ts +2 -0
  58. package/dist/Chip/index.js +1 -0
  59. package/dist/Container/Container.svelte +27 -0
  60. package/dist/Container/Container.svelte.d.ts +5 -0
  61. package/dist/Container/container.types.d.ts +19 -0
  62. package/dist/Container/container.types.js +1 -0
  63. package/dist/Container/container.variants.d.ts +29 -0
  64. package/dist/Container/container.variants.js +9 -0
  65. package/dist/Container/index.d.ts +2 -0
  66. package/dist/Container/index.js +1 -0
  67. package/dist/Empty/Empty.svelte +83 -0
  68. package/dist/Empty/Empty.svelte.d.ts +5 -0
  69. package/dist/Empty/empty.types.d.ts +74 -0
  70. package/dist/Empty/empty.types.js +1 -0
  71. package/dist/Empty/empty.variants.d.ts +288 -0
  72. package/dist/Empty/empty.variants.js +364 -0
  73. package/dist/Empty/index.d.ts +2 -0
  74. package/dist/Empty/index.js +1 -0
  75. package/dist/Icon/Icon.svelte +40 -0
  76. package/dist/Icon/Icon.svelte.d.ts +6 -0
  77. package/dist/Icon/icon.types.d.ts +37 -0
  78. package/dist/Icon/icon.types.js +1 -0
  79. package/dist/Icon/index.d.ts +2 -0
  80. package/dist/Icon/index.js +1 -0
  81. package/dist/Kbd/Kbd.svelte +35 -0
  82. package/dist/Kbd/Kbd.svelte.d.ts +5 -0
  83. package/dist/Kbd/index.d.ts +3 -0
  84. package/dist/Kbd/index.js +2 -0
  85. package/dist/Kbd/kbd.types.d.ts +77 -0
  86. package/dist/Kbd/kbd.types.js +1 -0
  87. package/dist/Kbd/kbd.variants.d.ts +118 -0
  88. package/dist/Kbd/kbd.variants.js +96 -0
  89. package/dist/Kbd/useKbd.svelte.d.ts +29 -0
  90. package/dist/Kbd/useKbd.svelte.js +245 -0
  91. package/dist/Link/Link.svelte +117 -0
  92. package/dist/Link/Link.svelte.d.ts +5 -0
  93. package/dist/Link/index.d.ts +2 -0
  94. package/dist/Link/index.js +1 -0
  95. package/dist/Link/link.types.d.ts +68 -0
  96. package/dist/Link/link.types.js +1 -0
  97. package/dist/Link/link.variants.d.ts +138 -0
  98. package/dist/Link/link.variants.js +145 -0
  99. package/dist/Progress/Progress.svelte +89 -0
  100. package/dist/Progress/Progress.svelte.d.ts +6 -0
  101. package/dist/Progress/index.d.ts +2 -0
  102. package/dist/Progress/index.js +1 -0
  103. package/dist/Progress/progress.types.d.ts +63 -0
  104. package/dist/Progress/progress.types.js +1 -0
  105. package/dist/Progress/progress.variants.d.ts +483 -0
  106. package/dist/Progress/progress.variants.js +190 -0
  107. package/dist/Separator/Separator.svelte +67 -0
  108. package/dist/Separator/Separator.svelte.d.ts +6 -0
  109. package/dist/Separator/index.d.ts +2 -0
  110. package/dist/Separator/index.js +1 -0
  111. package/dist/Separator/separator.types.d.ts +48 -0
  112. package/dist/Separator/separator.types.js +1 -0
  113. package/dist/Separator/separator.variants.d.ts +488 -0
  114. package/dist/Separator/separator.variants.js +104 -0
  115. package/dist/Skeleton/Skeleton.svelte +31 -0
  116. package/dist/Skeleton/Skeleton.svelte.d.ts +5 -0
  117. package/dist/Skeleton/index.d.ts +2 -0
  118. package/dist/Skeleton/index.js +1 -0
  119. package/dist/Skeleton/skeleton.types.d.ts +18 -0
  120. package/dist/Skeleton/skeleton.types.js +1 -0
  121. package/dist/Skeleton/skeleton.variants.d.ts +18 -0
  122. package/dist/Skeleton/skeleton.variants.js +12 -0
  123. package/dist/Timeline/Timeline.svelte +106 -0
  124. package/dist/Timeline/Timeline.svelte.d.ts +5 -0
  125. package/dist/Timeline/index.d.ts +2 -0
  126. package/dist/Timeline/index.js +1 -0
  127. package/dist/Timeline/timeline.types.d.ts +130 -0
  128. package/dist/Timeline/timeline.types.js +1 -0
  129. package/dist/Timeline/timeline.variants.d.ts +413 -0
  130. package/dist/Timeline/timeline.variants.js +121 -0
  131. package/dist/User/User.svelte +94 -0
  132. package/dist/User/User.svelte.d.ts +5 -0
  133. package/dist/User/index.d.ts +2 -0
  134. package/dist/User/index.js +1 -0
  135. package/dist/User/user.types.d.ts +74 -0
  136. package/dist/User/user.types.js +1 -0
  137. package/dist/User/user.variants.d.ts +308 -0
  138. package/dist/User/user.variants.js +73 -0
  139. package/dist/config.d.ts +59 -0
  140. package/dist/config.js +94 -0
  141. package/dist/index.d.ts +19 -0
  142. package/dist/index.js +20 -0
  143. package/dist/theme.css +410 -0
  144. package/package.json +104 -0
@@ -0,0 +1,97 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { Button } from 'bits-ui';
3
+ import type { ClassNameValue } from 'tailwind-merge';
4
+ import type { ButtonVariantProps, ButtonSlots } from './button.variants.js';
5
+ import type { AvatarProps } from '../Avatar/avatar.types.js';
6
+ export type ButtonProps = Button.RootProps & {
7
+ /**
8
+ * Controls the visual style of the button.
9
+ * @default 'solid'
10
+ */
11
+ variant?: NonNullable<ButtonVariantProps['variant']>;
12
+ /**
13
+ * Sets the color scheme applied to the button.
14
+ * @default 'primary'
15
+ */
16
+ color?: NonNullable<ButtonVariantProps['color']>;
17
+ /**
18
+ * Controls the dimensions and text size of the button.
19
+ * @default 'md'
20
+ */
21
+ size?: NonNullable<ButtonVariantProps['size']>;
22
+ /**
23
+ * Text content displayed inside the button.
24
+ * Use this as a shorthand instead of the `children` snippet.
25
+ */
26
+ label?: string;
27
+ /**
28
+ * Renders a loading spinner and disables interaction.
29
+ * @default false
30
+ */
31
+ loading?: boolean;
32
+ /**
33
+ * Icon displayed as the loading indicator.
34
+ * Supports any valid Iconify icon name.
35
+ * @default Uses `icons.loading` from app config
36
+ */
37
+ loadingIcon?: string;
38
+ /**
39
+ * Stretches the button to fill the full width of its container.
40
+ * @default false
41
+ */
42
+ block?: boolean;
43
+ /**
44
+ * Forces equal width and height, ideal for icon-only buttons.
45
+ * @default false
46
+ */
47
+ square?: boolean;
48
+ /**
49
+ * Truncates overflowing text with an ellipsis.
50
+ * @default false
51
+ */
52
+ truncate?: boolean;
53
+ /**
54
+ * Renders the button in icon-only mode without a label.
55
+ * Supports any valid Iconify icon name.
56
+ */
57
+ icon?: string;
58
+ /**
59
+ * Icon placed before the label.
60
+ * Supports any valid Iconify icon name.
61
+ */
62
+ leadingIcon?: string;
63
+ /**
64
+ * Icon placed after the label.
65
+ * Supports any valid Iconify icon name.
66
+ */
67
+ trailingIcon?: string;
68
+ /**
69
+ * Moves the icon to the trailing (right) side.
70
+ * Only takes effect when using the `icon` prop.
71
+ * @default false
72
+ */
73
+ trailing?: boolean;
74
+ /**
75
+ * Avatar displayed before the label.
76
+ * Takes precedence over `leadingIcon`.
77
+ */
78
+ avatar?: AvatarProps;
79
+ /**
80
+ * Custom content rendered before the label.
81
+ * Takes precedence over `avatar` and `leadingIcon`.
82
+ */
83
+ leadingSlot?: Snippet;
84
+ /**
85
+ * Custom content rendered after the label.
86
+ * Takes precedence over `trailingIcon`.
87
+ */
88
+ trailingSlot?: Snippet;
89
+ /**
90
+ * Additional CSS classes for the root element.
91
+ */
92
+ class?: ClassNameValue;
93
+ /**
94
+ * Override styles for specific button slots.
95
+ */
96
+ ui?: Partial<Record<ButtonSlots, ClassNameValue>>;
97
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,388 @@
1
+ import { type VariantProps } from 'tailwind-variants';
2
+ export declare const buttonVariants: import("tailwind-variants").TVReturnType<{
3
+ variant: {
4
+ solid: string;
5
+ outline: string;
6
+ soft: string;
7
+ subtle: string;
8
+ ghost: string;
9
+ link: string;
10
+ };
11
+ color: {
12
+ primary: string;
13
+ secondary: string;
14
+ tertiary: string;
15
+ success: string;
16
+ warning: string;
17
+ error: string;
18
+ info: string;
19
+ surface: string;
20
+ };
21
+ size: {
22
+ xs: {
23
+ base: string;
24
+ leadingIcon: string;
25
+ leadingAvatarSize: string;
26
+ trailingIcon: string;
27
+ };
28
+ sm: {
29
+ base: string;
30
+ leadingIcon: string;
31
+ leadingAvatarSize: string;
32
+ trailingIcon: string;
33
+ };
34
+ md: {
35
+ base: string;
36
+ leadingIcon: string;
37
+ leadingAvatarSize: string;
38
+ trailingIcon: string;
39
+ };
40
+ lg: {
41
+ base: string;
42
+ leadingIcon: string;
43
+ leadingAvatarSize: string;
44
+ trailingIcon: string;
45
+ };
46
+ xl: {
47
+ base: string;
48
+ leadingIcon: string;
49
+ leadingAvatarSize: string;
50
+ trailingIcon: string;
51
+ };
52
+ };
53
+ block: {
54
+ true: {
55
+ base: string;
56
+ trailingIcon: string;
57
+ };
58
+ };
59
+ square: {
60
+ true: string;
61
+ };
62
+ leading: {
63
+ true: string;
64
+ };
65
+ trailing: {
66
+ true: string;
67
+ };
68
+ loading: {
69
+ true: string;
70
+ };
71
+ }, {
72
+ base: string[];
73
+ label: string;
74
+ leadingIcon: string;
75
+ leadingAvatar: string;
76
+ leadingAvatarSize: string;
77
+ trailingIcon: string;
78
+ }, undefined, {
79
+ variant: {
80
+ solid: string;
81
+ outline: string;
82
+ soft: string;
83
+ subtle: string;
84
+ ghost: string;
85
+ link: string;
86
+ };
87
+ color: {
88
+ primary: string;
89
+ secondary: string;
90
+ tertiary: string;
91
+ success: string;
92
+ warning: string;
93
+ error: string;
94
+ info: string;
95
+ surface: string;
96
+ };
97
+ size: {
98
+ xs: {
99
+ base: string;
100
+ leadingIcon: string;
101
+ leadingAvatarSize: string;
102
+ trailingIcon: string;
103
+ };
104
+ sm: {
105
+ base: string;
106
+ leadingIcon: string;
107
+ leadingAvatarSize: string;
108
+ trailingIcon: string;
109
+ };
110
+ md: {
111
+ base: string;
112
+ leadingIcon: string;
113
+ leadingAvatarSize: string;
114
+ trailingIcon: string;
115
+ };
116
+ lg: {
117
+ base: string;
118
+ leadingIcon: string;
119
+ leadingAvatarSize: string;
120
+ trailingIcon: string;
121
+ };
122
+ xl: {
123
+ base: string;
124
+ leadingIcon: string;
125
+ leadingAvatarSize: string;
126
+ trailingIcon: string;
127
+ };
128
+ };
129
+ block: {
130
+ true: {
131
+ base: string;
132
+ trailingIcon: string;
133
+ };
134
+ };
135
+ square: {
136
+ true: string;
137
+ };
138
+ leading: {
139
+ true: string;
140
+ };
141
+ trailing: {
142
+ true: string;
143
+ };
144
+ loading: {
145
+ true: string;
146
+ };
147
+ }, {
148
+ base: string[];
149
+ label: string;
150
+ leadingIcon: string;
151
+ leadingAvatar: string;
152
+ leadingAvatarSize: string;
153
+ trailingIcon: string;
154
+ }, import("tailwind-variants").TVReturnType<{
155
+ variant: {
156
+ solid: string;
157
+ outline: string;
158
+ soft: string;
159
+ subtle: string;
160
+ ghost: string;
161
+ link: string;
162
+ };
163
+ color: {
164
+ primary: string;
165
+ secondary: string;
166
+ tertiary: string;
167
+ success: string;
168
+ warning: string;
169
+ error: string;
170
+ info: string;
171
+ surface: string;
172
+ };
173
+ size: {
174
+ xs: {
175
+ base: string;
176
+ leadingIcon: string;
177
+ leadingAvatarSize: string;
178
+ trailingIcon: string;
179
+ };
180
+ sm: {
181
+ base: string;
182
+ leadingIcon: string;
183
+ leadingAvatarSize: string;
184
+ trailingIcon: string;
185
+ };
186
+ md: {
187
+ base: string;
188
+ leadingIcon: string;
189
+ leadingAvatarSize: string;
190
+ trailingIcon: string;
191
+ };
192
+ lg: {
193
+ base: string;
194
+ leadingIcon: string;
195
+ leadingAvatarSize: string;
196
+ trailingIcon: string;
197
+ };
198
+ xl: {
199
+ base: string;
200
+ leadingIcon: string;
201
+ leadingAvatarSize: string;
202
+ trailingIcon: string;
203
+ };
204
+ };
205
+ block: {
206
+ true: {
207
+ base: string;
208
+ trailingIcon: string;
209
+ };
210
+ };
211
+ square: {
212
+ true: string;
213
+ };
214
+ leading: {
215
+ true: string;
216
+ };
217
+ trailing: {
218
+ true: string;
219
+ };
220
+ loading: {
221
+ true: string;
222
+ };
223
+ }, {
224
+ base: string[];
225
+ label: string;
226
+ leadingIcon: string;
227
+ leadingAvatar: string;
228
+ leadingAvatarSize: string;
229
+ trailingIcon: string;
230
+ }, undefined, unknown, unknown, undefined>>;
231
+ export type ButtonVariantProps = VariantProps<typeof buttonVariants>;
232
+ export type ButtonSlots = keyof ReturnType<typeof buttonVariants>;
233
+ export declare const buttonDefaults: {
234
+ defaultVariants: import("tailwind-variants").TVDefaultVariants<{
235
+ variant: {
236
+ solid: string;
237
+ outline: string;
238
+ soft: string;
239
+ subtle: string;
240
+ ghost: string;
241
+ link: string;
242
+ };
243
+ color: {
244
+ primary: string;
245
+ secondary: string;
246
+ tertiary: string;
247
+ success: string;
248
+ warning: string;
249
+ error: string;
250
+ info: string;
251
+ surface: string;
252
+ };
253
+ size: {
254
+ xs: {
255
+ base: string;
256
+ leadingIcon: string;
257
+ leadingAvatarSize: string;
258
+ trailingIcon: string;
259
+ };
260
+ sm: {
261
+ base: string;
262
+ leadingIcon: string;
263
+ leadingAvatarSize: string;
264
+ trailingIcon: string;
265
+ };
266
+ md: {
267
+ base: string;
268
+ leadingIcon: string;
269
+ leadingAvatarSize: string;
270
+ trailingIcon: string;
271
+ };
272
+ lg: {
273
+ base: string;
274
+ leadingIcon: string;
275
+ leadingAvatarSize: string;
276
+ trailingIcon: string;
277
+ };
278
+ xl: {
279
+ base: string;
280
+ leadingIcon: string;
281
+ leadingAvatarSize: string;
282
+ trailingIcon: string;
283
+ };
284
+ };
285
+ block: {
286
+ true: {
287
+ base: string;
288
+ trailingIcon: string;
289
+ };
290
+ };
291
+ square: {
292
+ true: string;
293
+ };
294
+ leading: {
295
+ true: string;
296
+ };
297
+ trailing: {
298
+ true: string;
299
+ };
300
+ loading: {
301
+ true: string;
302
+ };
303
+ }, {
304
+ base: string[];
305
+ label: string;
306
+ leadingIcon: string;
307
+ leadingAvatar: string;
308
+ leadingAvatarSize: string;
309
+ trailingIcon: string;
310
+ }, {
311
+ variant: {
312
+ solid: string;
313
+ outline: string;
314
+ soft: string;
315
+ subtle: string;
316
+ ghost: string;
317
+ link: string;
318
+ };
319
+ color: {
320
+ primary: string;
321
+ secondary: string;
322
+ tertiary: string;
323
+ success: string;
324
+ warning: string;
325
+ error: string;
326
+ info: string;
327
+ surface: string;
328
+ };
329
+ size: {
330
+ xs: {
331
+ base: string;
332
+ leadingIcon: string;
333
+ leadingAvatarSize: string;
334
+ trailingIcon: string;
335
+ };
336
+ sm: {
337
+ base: string;
338
+ leadingIcon: string;
339
+ leadingAvatarSize: string;
340
+ trailingIcon: string;
341
+ };
342
+ md: {
343
+ base: string;
344
+ leadingIcon: string;
345
+ leadingAvatarSize: string;
346
+ trailingIcon: string;
347
+ };
348
+ lg: {
349
+ base: string;
350
+ leadingIcon: string;
351
+ leadingAvatarSize: string;
352
+ trailingIcon: string;
353
+ };
354
+ xl: {
355
+ base: string;
356
+ leadingIcon: string;
357
+ leadingAvatarSize: string;
358
+ trailingIcon: string;
359
+ };
360
+ };
361
+ block: {
362
+ true: {
363
+ base: string;
364
+ trailingIcon: string;
365
+ };
366
+ };
367
+ square: {
368
+ true: string;
369
+ };
370
+ leading: {
371
+ true: string;
372
+ };
373
+ trailing: {
374
+ true: string;
375
+ };
376
+ loading: {
377
+ true: string;
378
+ };
379
+ }, {
380
+ base: string[];
381
+ label: string;
382
+ leadingIcon: string;
383
+ leadingAvatar: string;
384
+ leadingAvatarSize: string;
385
+ trailingIcon: string;
386
+ }>;
387
+ slots: Partial<Record<ButtonSlots, string>>;
388
+ };