@sigx/zero-daisyui 0.2.0-beta.6 → 0.4.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.
Files changed (89) hide show
  1. package/README.md +78 -5
  2. package/dist/audit.json +271915 -0
  3. package/dist/components.d.ts +75 -18
  4. package/dist/components.js +15 -3
  5. package/dist/css/breakpoints.css +7 -0
  6. package/dist/css/components/avatar.css +12 -0
  7. package/dist/css/components/badge.css +130 -1
  8. package/dist/css/components/box.css +58 -0
  9. package/dist/css/components/button.css +17 -17
  10. package/dist/css/components/center.css +17 -0
  11. package/dist/css/components/checkbox.css +1 -1
  12. package/dist/css/components/combobox.css +57 -6
  13. package/dist/css/components/container.css +16 -0
  14. package/dist/css/components/countdown.css +5 -0
  15. package/dist/css/components/dialog.css +3 -2
  16. package/dist/css/components/drawer.css +102 -6
  17. package/dist/css/components/empty-state.css +164 -0
  18. package/dist/css/components/grid.css +32 -0
  19. package/dist/css/components/kbd.css +1 -1
  20. package/dist/css/components/menu.css +4 -4
  21. package/dist/css/components/nav-list.css +165 -0
  22. package/dist/css/components/radio-group.css +2 -2
  23. package/dist/css/components/select.css +1 -1
  24. package/dist/css/components/spacer.css +13 -0
  25. package/dist/css/components/stack.css +39 -0
  26. package/dist/css/components/steps.css +109 -28
  27. package/dist/css/components/table.css +276 -2
  28. package/dist/css/components/timeline.css +64 -1
  29. package/dist/css/components/tree-view.css +2 -2
  30. package/dist/css/index.css +2220 -279
  31. package/dist/css/index.d.ts +2 -0
  32. package/dist/css/tokens.css +9 -0
  33. package/dist/design-system.d.ts.map +1 -1
  34. package/dist/design-system.js +15 -8
  35. package/dist/design-system.js.map +1 -1
  36. package/dist/lynx/components/avatar.css +12 -0
  37. package/dist/lynx/components/badge.css +56 -1
  38. package/dist/lynx/components/box.css +54 -0
  39. package/dist/lynx/components/breadcrumbs.css +10 -10
  40. package/dist/lynx/components/button.css +15 -4
  41. package/dist/lynx/components/card.css +5 -5
  42. package/dist/lynx/components/center.css +13 -0
  43. package/dist/lynx/components/chat.css +10 -10
  44. package/dist/lynx/components/checkbox.css +1 -1
  45. package/dist/lynx/components/combobox.css +49 -6
  46. package/dist/lynx/components/container.css +11 -0
  47. package/dist/lynx/components/countdown.css +5 -0
  48. package/dist/lynx/components/dialog.css +8 -7
  49. package/dist/lynx/components/drawer.css +18 -0
  50. package/dist/lynx/components/empty-state.css +342 -0
  51. package/dist/lynx/components/file-upload.css +10 -10
  52. package/dist/lynx/components/grid.css +28 -0
  53. package/dist/lynx/components/kbd.css +1 -1
  54. package/dist/lynx/components/menu.css +4 -4
  55. package/dist/lynx/components/nav-list.css +302 -0
  56. package/dist/lynx/components/pagination.css +5 -5
  57. package/dist/lynx/components/radial-progress.css +5 -5
  58. package/dist/lynx/components/radio-group.css +2 -2
  59. package/dist/lynx/components/rating-group.css +5 -5
  60. package/dist/lynx/components/select.css +6 -6
  61. package/dist/lynx/components/spacer.css +11 -0
  62. package/dist/lynx/components/stack.css +35 -0
  63. package/dist/lynx/components/stats.css +10 -10
  64. package/dist/lynx/components/steps.css +99 -59
  65. package/dist/lynx/components/switch.css +5 -5
  66. package/dist/lynx/components/table.css +18 -12
  67. package/dist/lynx/components/tabs.css +5 -5
  68. package/dist/lynx/components/timeline.css +14 -5
  69. package/dist/lynx/components/tree-view.css +2 -2
  70. package/dist/lynx/index.css +1254 -345
  71. package/dist/lynx/manifest.json +354 -37
  72. package/dist/lynx/tokens.css +36 -0
  73. package/dist/manifest.json +351 -34
  74. package/dist/recipes.d.ts +17 -10
  75. package/dist/recipes.d.ts.map +1 -1
  76. package/dist/recipes.js +582 -173
  77. package/dist/recipes.js.map +1 -1
  78. package/dist/register.d.ts +89 -14
  79. package/dist/report.json +2476 -564
  80. package/dist/tokens.d.ts +22 -11
  81. package/dist/tokens.d.ts.map +1 -1
  82. package/dist/tokens.js +57 -7
  83. package/dist/tokens.js.map +1 -1
  84. package/package.json +28 -10
  85. package/src/design-system.ts +15 -8
  86. package/src/recipes.ts +594 -177
  87. package/src/tokens.ts +54 -7
  88. package/dist/css/components/native-select.css +0 -128
  89. package/dist/lynx/components/native-select.css +0 -130
@@ -6,6 +6,12 @@
6
6
  // import is needed or consulted. The rendered attributes are unchanged:
7
7
  // a routed vendor value renders the zero-spelled data-* attribute.
8
8
  import type { Adapted, AdaptedStatics } from '@sigx/zero/adapt';
9
+ import type { Stack as ZStack } from '@sigx/zero/stack';
10
+ import type { Spacer as ZSpacer } from '@sigx/zero/spacer';
11
+ import type { Grid as ZGrid } from '@sigx/zero/grid';
12
+ import type { Center as ZCenter } from '@sigx/zero/center';
13
+ import type { Box as ZBox } from '@sigx/zero/box';
14
+ import type { Container as ZContainer } from '@sigx/zero/container';
9
15
  import type { Tabs as ZTabs } from '@sigx/zero/tabs';
10
16
  import type { Collapsible as ZCollapsible } from '@sigx/zero/collapsible';
11
17
  import type { Switch as ZSwitch } from '@sigx/zero/switch';
@@ -31,9 +37,9 @@ import type { RatingGroup as ZRatingGroup } from '@sigx/zero/rating-group';
31
37
  import type { TreeView as ZTreeView } from '@sigx/zero/tree-view';
32
38
  import type { Input as ZInput } from '@sigx/zero/input';
33
39
  import type { Textarea as ZTextarea } from '@sigx/zero/textarea';
34
- import type { NativeSelect as ZNativeSelect } from '@sigx/zero/native-select';
35
40
  import type { Card as ZCard } from '@sigx/zero/card';
36
41
  import type { Alert as ZAlert } from '@sigx/zero/alert';
42
+ import type { EmptyState as ZEmptyState } from '@sigx/zero/empty-state';
37
43
  import type { Badge as ZBadge } from '@sigx/zero/badge';
38
44
  import type { Divider as ZDivider } from '@sigx/zero/divider';
39
45
  import type { Skeleton as ZSkeleton } from '@sigx/zero/skeleton';
@@ -47,6 +53,7 @@ import type { Chat as ZChat } from '@sigx/zero/chat';
47
53
  import type { RadialProgress as ZRadialProgress } from '@sigx/zero/radial-progress';
48
54
  import type { Join as ZJoin } from '@sigx/zero/join';
49
55
  import type { Navbar as ZNavbar } from '@sigx/zero/navbar';
56
+ import type { NavList as ZNavList } from '@sigx/zero/nav-list';
50
57
  import type { Breadcrumbs as ZBreadcrumbs } from '@sigx/zero/breadcrumbs';
51
58
  import type { Pagination as ZPagination } from '@sigx/zero/pagination';
52
59
  import type { Steps as ZSteps } from '@sigx/zero/steps';
@@ -60,6 +67,38 @@ import type { Diff as ZDiff } from '@sigx/zero/diff';
60
67
 
61
68
  type ZeroAxisProp = 'color' | 'size' | 'variant' | 'axes' | 'mods';
62
69
 
70
+ /** stack — no vendor route; the wired surface keeps zero's names. */
71
+ type StackProps = Record<never, never>;
72
+ type StackAdapted = Adapted<typeof ZStack, ZeroAxisProp, StackProps>;
73
+ export declare const Stack: StackAdapted & AdaptedStatics<typeof ZStack> & { Root: StackAdapted };
74
+
75
+ /** spacer — no vendor route; the wired surface keeps zero's names. */
76
+ type SpacerProps = Record<never, never>;
77
+ type SpacerAdapted = Adapted<typeof ZSpacer, ZeroAxisProp, SpacerProps>;
78
+ export declare const Spacer: SpacerAdapted & { Root: SpacerAdapted };
79
+
80
+ /** grid — no vendor route; the wired surface keeps zero's names. */
81
+ type GridProps = Record<never, never>;
82
+ type GridAdapted = Adapted<typeof ZGrid, ZeroAxisProp, GridProps>;
83
+ export declare const Grid: GridAdapted & AdaptedStatics<typeof ZGrid> & { Root: GridAdapted };
84
+
85
+ /** center — no vendor route; the wired surface keeps zero's names. */
86
+ type CenterProps = Record<never, never>;
87
+ type CenterAdapted = Adapted<typeof ZCenter, ZeroAxisProp, CenterProps>;
88
+ export declare const Center: CenterAdapted & { Root: CenterAdapted };
89
+
90
+ /** box — no vendor route; the wired surface keeps zero's names. */
91
+ type BoxProps = {
92
+ color?: 'primary' | 'secondary' | 'accent' | 'neutral' | 'info' | 'success' | 'warning' | 'error';
93
+ };
94
+ type BoxAdapted = Adapted<typeof ZBox, ZeroAxisProp, BoxProps>;
95
+ export declare const Box: BoxAdapted & { Root: BoxAdapted };
96
+
97
+ /** container — no vendor route; the wired surface keeps zero's names. */
98
+ type ContainerProps = Record<never, never>;
99
+ type ContainerAdapted = Adapted<typeof ZContainer, ZeroAxisProp, ContainerProps>;
100
+ export declare const Container: ContainerAdapted & { Root: ContainerAdapted };
101
+
63
102
  /** tabs — variant ← variant. Attributes stay zero-spelled. */
64
103
  type TabsProps = {
65
104
  color?: 'primary' | 'secondary' | 'accent' | 'neutral' | 'info' | 'success' | 'warning' | 'error';
@@ -173,7 +212,7 @@ type SelectProps = {
173
212
  type SelectAdapted = Adapted<typeof ZSelect, ZeroAxisProp, SelectProps>;
174
213
  export declare const Select: SelectAdapted & AdaptedStatics<typeof ZSelect> & { Root: SelectAdapted };
175
214
 
176
- /** button — variant ← variant; active ← mods.active; block ← mods.block; circle ← mods.circle; loading ← mods.loading; square ← mods.square; wide ← mods.wide. Attributes stay zero-spelled. */
215
+ /** button — variant ← variant; active ← mods.active; block ← mods.block; circle ← mods.circle; square ← mods.square; wide ← mods.wide. Attributes stay zero-spelled. */
177
216
  type ButtonProps = {
178
217
  color?: 'primary' | 'secondary' | 'accent' | 'neutral' | 'info' | 'success' | 'warning' | 'error';
179
218
  size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
@@ -181,17 +220,17 @@ type ButtonProps = {
181
220
  'active'?: boolean;
182
221
  'block'?: boolean;
183
222
  'circle'?: boolean;
184
- 'loading'?: boolean;
185
223
  'square'?: boolean;
186
224
  'wide'?: boolean;
187
225
  };
188
- type ButtonAdapted = Adapted<typeof ZButton, ZeroAxisProp | 'active' | 'block' | 'circle' | 'loading' | 'square' | 'variant' | 'wide', ButtonProps>;
189
- export declare const Button: ButtonAdapted & { Root: ButtonAdapted };
226
+ type ButtonAdapted = Adapted<typeof ZButton, ZeroAxisProp | 'active' | 'block' | 'circle' | 'square' | 'variant' | 'wide', ButtonProps>;
227
+ export declare const Button: ButtonAdapted & AdaptedStatics<typeof ZButton> & { Root: ButtonAdapted };
190
228
 
191
229
  /** avatar — no vendor route; the wired surface keeps zero's names. */
192
230
  type AvatarProps = {
193
231
  color?: 'primary' | 'secondary' | 'accent' | 'neutral' | 'info' | 'success' | 'warning' | 'error';
194
232
  size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
233
+ axes?: { 'shape'?: 'circle' | 'square' | 'rounded' };
195
234
  };
196
235
  type AvatarAdapted = Adapted<typeof ZAvatar, ZeroAxisProp, AvatarProps>;
197
236
  export declare const Avatar: AvatarAdapted & AdaptedStatics<typeof ZAvatar> & { Root: AvatarAdapted };
@@ -268,14 +307,6 @@ type TextareaProps = {
268
307
  type TextareaAdapted = Adapted<typeof ZTextarea, ZeroAxisProp, TextareaProps>;
269
308
  export declare const Textarea: TextareaAdapted & AdaptedStatics<typeof ZTextarea> & { Root: TextareaAdapted };
270
309
 
271
- /** native-select — no vendor route; the wired surface keeps zero's names. */
272
- type NativeSelectProps = {
273
- color?: 'primary' | 'secondary' | 'accent' | 'neutral' | 'info' | 'success' | 'warning' | 'error';
274
- size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
275
- };
276
- type NativeSelectAdapted = Adapted<typeof ZNativeSelect, ZeroAxisProp, NativeSelectProps>;
277
- export declare const NativeSelect: NativeSelectAdapted & AdaptedStatics<typeof ZNativeSelect> & { Root: NativeSelectAdapted };
278
-
279
310
  /** card — no vendor route; the wired surface keeps zero's names. */
280
311
  type CardProps = {
281
312
  color?: 'primary' | 'secondary' | 'accent' | 'neutral' | 'info' | 'success' | 'warning' | 'error';
@@ -292,13 +323,24 @@ type AlertProps = {
292
323
  type AlertAdapted = Adapted<typeof ZAlert, ZeroAxisProp, AlertProps>;
293
324
  export declare const Alert: AlertAdapted & AdaptedStatics<typeof ZAlert> & { Root: AlertAdapted };
294
325
 
326
+ /** empty-state — no vendor route; the wired surface keeps zero's names. */
327
+ type EmptyStateProps = {
328
+ color?: 'primary' | 'secondary' | 'accent' | 'neutral' | 'info' | 'success' | 'warning' | 'error';
329
+ size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
330
+ };
331
+ type EmptyStateAdapted = Adapted<typeof ZEmptyState, ZeroAxisProp, EmptyStateProps>;
332
+ export declare const EmptyState: EmptyStateAdapted & AdaptedStatics<typeof ZEmptyState> & { Root: EmptyStateAdapted };
333
+
295
334
  /** badge — no vendor route; the wired surface keeps zero's names. */
296
335
  type BadgeProps = {
297
336
  color?: 'primary' | 'secondary' | 'accent' | 'neutral' | 'info' | 'success' | 'warning' | 'error';
298
337
  size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
299
338
  };
300
339
  type BadgeAdapted = Adapted<typeof ZBadge, ZeroAxisProp, BadgeProps>;
301
- export declare const Badge: BadgeAdapted & { Root: BadgeAdapted };
340
+ type BadgeDotAdapted = Adapted<typeof ZBadge.Dot, 'color', {
341
+ color?: 'primary' | 'secondary' | 'accent' | 'neutral' | 'info' | 'success' | 'warning' | 'error';
342
+ }>;
343
+ export declare const Badge: BadgeAdapted & Omit<AdaptedStatics<typeof ZBadge>, 'Dot'> & { Root: BadgeAdapted; Dot: BadgeDotAdapted };
302
344
 
303
345
  /** divider — no vendor route; the wired surface keeps zero's names. */
304
346
  type DividerProps = {
@@ -362,7 +404,10 @@ type TimelineProps = {
362
404
  size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
363
405
  };
364
406
  type TimelineAdapted = Adapted<typeof ZTimeline, ZeroAxisProp, TimelineProps>;
365
- export declare const Timeline: TimelineAdapted & AdaptedStatics<typeof ZTimeline> & { Root: TimelineAdapted };
407
+ type TimelineMarkerAdapted = Adapted<typeof ZTimeline.Marker, 'color', {
408
+ color?: 'primary' | 'secondary' | 'accent' | 'neutral' | 'info' | 'success' | 'warning' | 'error';
409
+ }>;
410
+ export declare const Timeline: TimelineAdapted & Omit<AdaptedStatics<typeof ZTimeline>, 'Marker'> & { Root: TimelineAdapted; Marker: TimelineMarkerAdapted };
366
411
 
367
412
  /** chat — no vendor route; the wired surface keeps zero's names. */
368
413
  type ChatProps = {
@@ -396,6 +441,14 @@ type NavbarProps = {
396
441
  type NavbarAdapted = Adapted<typeof ZNavbar, ZeroAxisProp, NavbarProps>;
397
442
  export declare const Navbar: NavbarAdapted & AdaptedStatics<typeof ZNavbar> & { Root: NavbarAdapted };
398
443
 
444
+ /** nav-list — no vendor route; the wired surface keeps zero's names. */
445
+ type NavListProps = {
446
+ color?: 'primary' | 'secondary' | 'accent' | 'neutral' | 'info' | 'success' | 'warning' | 'error';
447
+ size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
448
+ };
449
+ type NavListAdapted = Adapted<typeof ZNavList, ZeroAxisProp, NavListProps>;
450
+ export declare const NavList: NavListAdapted & AdaptedStatics<typeof ZNavList> & { Root: NavListAdapted };
451
+
399
452
  /** breadcrumbs — no vendor route; the wired surface keeps zero's names. */
400
453
  type BreadcrumbsProps = {
401
454
  color?: 'primary' | 'secondary' | 'accent' | 'neutral' | 'info' | 'success' | 'warning' | 'error';
@@ -418,7 +471,10 @@ type StepsProps = {
418
471
  size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
419
472
  };
420
473
  type StepsAdapted = Adapted<typeof ZSteps, ZeroAxisProp, StepsProps>;
421
- export declare const Steps: StepsAdapted & AdaptedStatics<typeof ZSteps> & { Root: StepsAdapted };
474
+ type StepsItemAdapted = Adapted<typeof ZSteps.Item, 'color', {
475
+ color?: 'primary' | 'secondary' | 'accent' | 'neutral' | 'info' | 'success' | 'warning' | 'error';
476
+ }>;
477
+ export declare const Steps: StepsAdapted & Omit<AdaptedStatics<typeof ZSteps>, 'Item'> & { Root: StepsAdapted; Item: StepsItemAdapted };
422
478
 
423
479
  /** drawer — no vendor route; the wired surface keeps zero's names. */
424
480
  type DrawerProps = {
@@ -462,12 +518,13 @@ type SwapProps = {
462
518
  type SwapAdapted = Adapted<typeof ZSwap, ZeroAxisProp, SwapProps>;
463
519
  export declare const Swap: SwapAdapted & AdaptedStatics<typeof ZSwap> & { Root: SwapAdapted };
464
520
 
465
- /** countdown — no vendor route; the wired surface keeps zero's names. */
521
+ /** countdown — inline ← mods.inline. Attributes stay zero-spelled. */
466
522
  type CountdownProps = {
467
523
  color?: 'primary' | 'secondary' | 'accent' | 'neutral' | 'info' | 'success' | 'warning' | 'error';
468
524
  size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
525
+ 'inline'?: boolean;
469
526
  };
470
- type CountdownAdapted = Adapted<typeof ZCountdown, ZeroAxisProp, CountdownProps>;
527
+ type CountdownAdapted = Adapted<typeof ZCountdown, ZeroAxisProp | 'inline', CountdownProps>;
471
528
  export declare const Countdown: CountdownAdapted & AdaptedStatics<typeof ZCountdown> & { Root: CountdownAdapted };
472
529
 
473
530
  /** diff — no vendor route; the wired surface keeps zero's names. */
@@ -5,13 +5,13 @@
5
5
  import { adapt } from '@sigx/zero/adapt';
6
6
  import { Button as ZButton } from '@sigx/zero/button';
7
7
  import { Table as ZTable } from '@sigx/zero/table';
8
+ import { Countdown as ZCountdown } from '@sigx/zero/countdown';
8
9
 
9
10
  export const Button = /* @__PURE__ */ adapt(ZButton, {
10
11
  props: {
11
12
  'active': { modifier: 'active' },
12
13
  'block': { modifier: 'block' },
13
14
  'circle': { modifier: 'circle' },
14
- 'loading': { modifier: 'loading' },
15
15
  'square': { modifier: 'square' },
16
16
  'variant': { axis: 'variant' },
17
17
  'wide': { modifier: 'wide' },
@@ -25,6 +25,18 @@ export const Table = /* @__PURE__ */ adapt(ZTable, {
25
25
  },
26
26
  });
27
27
 
28
+ export const Countdown = /* @__PURE__ */ adapt(ZCountdown, {
29
+ props: {
30
+ 'inline': { modifier: 'inline' },
31
+ },
32
+ });
33
+
34
+ export { Stack } from '@sigx/zero/stack';
35
+ export { Spacer } from '@sigx/zero/spacer';
36
+ export { Grid } from '@sigx/zero/grid';
37
+ export { Center } from '@sigx/zero/center';
38
+ export { Box } from '@sigx/zero/box';
39
+ export { Container } from '@sigx/zero/container';
28
40
  export { Tabs } from '@sigx/zero/tabs';
29
41
  export { Collapsible } from '@sigx/zero/collapsible';
30
42
  export { Switch } from '@sigx/zero/switch';
@@ -49,9 +61,9 @@ export { RatingGroup } from '@sigx/zero/rating-group';
49
61
  export { TreeView } from '@sigx/zero/tree-view';
50
62
  export { Input } from '@sigx/zero/input';
51
63
  export { Textarea } from '@sigx/zero/textarea';
52
- export { NativeSelect } from '@sigx/zero/native-select';
53
64
  export { Card } from '@sigx/zero/card';
54
65
  export { Alert } from '@sigx/zero/alert';
66
+ export { EmptyState } from '@sigx/zero/empty-state';
55
67
  export { Badge } from '@sigx/zero/badge';
56
68
  export { Divider } from '@sigx/zero/divider';
57
69
  export { Skeleton } from '@sigx/zero/skeleton';
@@ -65,6 +77,7 @@ export { Chat } from '@sigx/zero/chat';
65
77
  export { RadialProgress } from '@sigx/zero/radial-progress';
66
78
  export { Join } from '@sigx/zero/join';
67
79
  export { Navbar } from '@sigx/zero/navbar';
80
+ export { NavList } from '@sigx/zero/nav-list';
68
81
  export { Breadcrumbs } from '@sigx/zero/breadcrumbs';
69
82
  export { Pagination } from '@sigx/zero/pagination';
70
83
  export { Steps } from '@sigx/zero/steps';
@@ -72,5 +85,4 @@ export { Drawer } from '@sigx/zero/drawer';
72
85
  export { FileUpload } from '@sigx/zero/file-upload';
73
86
  export { Carousel } from '@sigx/zero/carousel';
74
87
  export { Swap } from '@sigx/zero/swap';
75
- export { Countdown } from '@sigx/zero/countdown';
76
88
  export { Diff } from '@sigx/zero/diff';
@@ -0,0 +1,7 @@
1
+ /* daisyui breakpoints — generated by @sigx/zero-kit. Do not edit. */
2
+ @custom-media --above-sm (min-width: 40rem);
3
+ @custom-media --below-sm (width < 40rem);
4
+ @custom-media --above-md (min-width: 48rem);
5
+ @custom-media --below-md (width < 48rem);
6
+ @custom-media --above-lg (min-width: 64rem);
7
+ @custom-media --below-lg (width < 64rem);
@@ -40,6 +40,18 @@
40
40
  display: grid;
41
41
  }
42
42
 
43
+ [data-scope="avatar"][data-part="root"][data-shape="circle"] {
44
+ border-radius: 9999px;
45
+ }
46
+
47
+ [data-scope="avatar"][data-part="root"][data-shape="square"] {
48
+ border-radius: 0;
49
+ }
50
+
51
+ [data-scope="avatar"][data-part="root"][data-shape="rounded"] {
52
+ border-radius: var(--radius-selector);
53
+ }
54
+
43
55
  [data-scope="avatar"][data-part="root"][data-color="primary"] {
44
56
  --avatar-ring: var(--color-primary);
45
57
  }
@@ -1,5 +1,7 @@
1
1
  @layer zero.recipes {
2
2
  [data-scope="badge"][data-part="root"] {
3
+ --badge-dot: currentColor;
4
+ --badge-dot-ring: currentColor;
3
5
  --badge-fill: var(--color-base-200);
4
6
  --badge-ink: var(--color-base-content);
5
7
  }
@@ -12,7 +14,7 @@
12
14
  color: var(--badge-ink);
13
15
  border: var(--border) solid transparent;
14
16
  border-radius: var(--radius-selector);
15
- padding: 0.125rem 0.625rem;
17
+ padding: var(--space-2xs) var(--space-lg);
16
18
  font-size: var(--text-xs);
17
19
  font-weight: var(--weight-semibold);
18
20
  line-height: var(--leading-normal);
@@ -20,6 +22,22 @@
20
22
  text-decoration: none;
21
23
  }
22
24
 
25
+ [data-scope="badge"][data-part="dot"] {
26
+ display: inline-block;
27
+ flex: none;
28
+ inline-size: 0.5em;
29
+ block-size: 0.5em;
30
+ box-sizing: border-box;
31
+ border-radius: 50%;
32
+ background: var(--badge-dot);
33
+ border: 0.1em solid var(--badge-dot-ring);
34
+ }
35
+
36
+ [data-scope="badge"][data-part="dot"][data-state="running"] {
37
+ box-shadow: 0 0 0 0.2em color-mix(in oklch, var(--badge-dot) 35%, transparent);
38
+ animation: zero-daisy-badge-pulse 1.6s ease-out infinite;
39
+ }
40
+
23
41
  [data-scope="badge"][data-part="root"][data-color="primary"] {
24
42
  --badge-fill: var(--color-primary);
25
43
  --badge-ink: var(--color-primary-content);
@@ -79,4 +97,115 @@
79
97
  font-size: var(--text-md);
80
98
  padding: var(--space-xs) var(--space-xl);
81
99
  }
100
+
101
+ [data-scope="badge"][data-part="dot"][data-color="primary"] {
102
+ --badge-dot: var(--color-primary);
103
+ --badge-dot-ring: var(--color-primary-content);
104
+ }
105
+
106
+ [data-scope="badge"][data-part="dot"][data-color="secondary"] {
107
+ --badge-dot: var(--color-secondary);
108
+ --badge-dot-ring: var(--color-secondary-content);
109
+ }
110
+
111
+ [data-scope="badge"][data-part="dot"][data-color="accent"] {
112
+ --badge-dot: var(--color-accent);
113
+ --badge-dot-ring: var(--color-accent-content);
114
+ }
115
+
116
+ [data-scope="badge"][data-part="dot"][data-color="neutral"] {
117
+ --badge-dot: var(--color-neutral);
118
+ --badge-dot-ring: var(--color-neutral-content);
119
+ }
120
+
121
+ [data-scope="badge"][data-part="dot"][data-color="info"] {
122
+ --badge-dot: var(--color-info);
123
+ --badge-dot-ring: var(--color-info-content);
124
+ }
125
+
126
+ [data-scope="badge"][data-part="dot"][data-color="success"] {
127
+ --badge-dot: var(--color-success);
128
+ --badge-dot-ring: var(--color-success-content);
129
+ }
130
+
131
+ [data-scope="badge"][data-part="dot"][data-color="warning"] {
132
+ --badge-dot: var(--color-warning);
133
+ --badge-dot-ring: var(--color-warning-content);
134
+ }
135
+
136
+ [data-scope="badge"][data-part="dot"][data-color="error"] {
137
+ --badge-dot: var(--color-error);
138
+ --badge-dot-ring: var(--color-error-content);
139
+ }
140
+
141
+ @scope ([data-scope="badge"][data-part="root"][data-color="primary"]) to ([data-scope="badge"][data-part="root"]) {
142
+ [data-scope="badge"][data-part="dot"] {
143
+ --badge-dot: var(--color-primary);
144
+ --badge-dot-ring: var(--color-primary-content);
145
+ }
146
+ }
147
+
148
+ @scope ([data-scope="badge"][data-part="root"][data-color="secondary"]) to ([data-scope="badge"][data-part="root"]) {
149
+ [data-scope="badge"][data-part="dot"] {
150
+ --badge-dot: var(--color-secondary);
151
+ --badge-dot-ring: var(--color-secondary-content);
152
+ }
153
+ }
154
+
155
+ @scope ([data-scope="badge"][data-part="root"][data-color="accent"]) to ([data-scope="badge"][data-part="root"]) {
156
+ [data-scope="badge"][data-part="dot"] {
157
+ --badge-dot: var(--color-accent);
158
+ --badge-dot-ring: var(--color-accent-content);
159
+ }
160
+ }
161
+
162
+ @scope ([data-scope="badge"][data-part="root"][data-color="neutral"]) to ([data-scope="badge"][data-part="root"]) {
163
+ [data-scope="badge"][data-part="dot"] {
164
+ --badge-dot: var(--color-neutral);
165
+ --badge-dot-ring: var(--color-neutral-content);
166
+ }
167
+ }
168
+
169
+ @scope ([data-scope="badge"][data-part="root"][data-color="info"]) to ([data-scope="badge"][data-part="root"]) {
170
+ [data-scope="badge"][data-part="dot"] {
171
+ --badge-dot: var(--color-info);
172
+ --badge-dot-ring: var(--color-info-content);
173
+ }
174
+ }
175
+
176
+ @scope ([data-scope="badge"][data-part="root"][data-color="success"]) to ([data-scope="badge"][data-part="root"]) {
177
+ [data-scope="badge"][data-part="dot"] {
178
+ --badge-dot: var(--color-success);
179
+ --badge-dot-ring: var(--color-success-content);
180
+ }
181
+ }
182
+
183
+ @scope ([data-scope="badge"][data-part="root"][data-color="warning"]) to ([data-scope="badge"][data-part="root"]) {
184
+ [data-scope="badge"][data-part="dot"] {
185
+ --badge-dot: var(--color-warning);
186
+ --badge-dot-ring: var(--color-warning-content);
187
+ }
188
+ }
189
+
190
+ @scope ([data-scope="badge"][data-part="root"][data-color="error"]) to ([data-scope="badge"][data-part="root"]) {
191
+ [data-scope="badge"][data-part="dot"] {
192
+ --badge-dot: var(--color-error);
193
+ --badge-dot-ring: var(--color-error-content);
194
+ }
195
+ }
196
+
197
+ @media (forced-colors: active) {
198
+ [data-scope="badge"][data-part="dot"] {
199
+ border-width: 0.25em;
200
+ }
201
+ }
202
+
203
+ @media (prefers-reduced-motion: reduce) {
204
+ [data-scope="badge"][data-part="dot"][data-state="running"] {
205
+ animation: none;
206
+ }
207
+ }
208
+ }
209
+ @keyframes zero-daisy-badge-pulse {
210
+ from { box-shadow: 0 0 0 0 color-mix(in oklch, var(--badge-dot) 45%, transparent); } to { box-shadow: 0 0 0 0.5em transparent; }
82
211
  }
@@ -0,0 +1,58 @@
1
+ @layer zero.recipes {
2
+ [data-scope="box"][data-part="root"] {
3
+ --box-surface: var(--color-base-100);
4
+ --box-ink: var(--color-base-content);
5
+ --l-pad: 0;
6
+ --l-pad-x: var(--l-pad);
7
+ --l-pad-y: var(--l-pad);
8
+ }
9
+
10
+ [data-scope="box"][data-part="root"] {
11
+ display: flow-root;
12
+ background: var(--box-surface);
13
+ color: var(--box-ink);
14
+ border-radius: var(--radius-box);
15
+ padding-inline: var(--l-pad-x);
16
+ padding-block: var(--l-pad-y);
17
+ }
18
+
19
+ [data-scope="box"][data-part="root"][data-color="primary"] {
20
+ --box-surface: var(--color-primary-soft);
21
+ --box-ink: var(--color-primary);
22
+ }
23
+
24
+ [data-scope="box"][data-part="root"][data-color="secondary"] {
25
+ --box-surface: var(--color-secondary-soft);
26
+ --box-ink: var(--color-secondary);
27
+ }
28
+
29
+ [data-scope="box"][data-part="root"][data-color="accent"] {
30
+ --box-surface: var(--color-accent-soft);
31
+ --box-ink: var(--color-accent);
32
+ }
33
+
34
+ [data-scope="box"][data-part="root"][data-color="neutral"] {
35
+ --box-surface: var(--color-neutral-soft);
36
+ --box-ink: var(--color-neutral);
37
+ }
38
+
39
+ [data-scope="box"][data-part="root"][data-color="info"] {
40
+ --box-surface: var(--color-info-soft);
41
+ --box-ink: var(--color-info);
42
+ }
43
+
44
+ [data-scope="box"][data-part="root"][data-color="success"] {
45
+ --box-surface: var(--color-success-soft);
46
+ --box-ink: var(--color-success);
47
+ }
48
+
49
+ [data-scope="box"][data-part="root"][data-color="warning"] {
50
+ --box-surface: var(--color-warning-soft);
51
+ --box-ink: var(--color-warning);
52
+ }
53
+
54
+ [data-scope="box"][data-part="root"][data-color="error"] {
55
+ --box-surface: var(--color-error-soft);
56
+ --box-ink: var(--color-error);
57
+ }
58
+ }
@@ -6,8 +6,20 @@
6
6
  --btn-ink: color-mix(in oklab, var(--color-primary) 95%, var(--color-base-content));
7
7
  }
8
8
 
9
+ [data-scope="button"][data-part="spinner"] {
10
+ box-sizing: border-box;
11
+ inline-size: 1em;
12
+ block-size: 1em;
13
+ flex: none;
14
+ border-radius: 9999px;
15
+ border: calc(var(--border) * 2) solid currentColor;
16
+ border-block-start-color: transparent;
17
+ animation: zero-daisyui-btn-spin 0.7s linear infinite;
18
+ }
19
+
9
20
  [data-scope="button"][data-part="root"] {
10
21
  appearance: none;
22
+ text-decoration: none;
11
23
  display: inline-flex;
12
24
  align-items: center;
13
25
  justify-content: center;
@@ -22,6 +34,10 @@
22
34
  transition: background var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);
23
35
  }
24
36
 
37
+ [data-scope="button"][data-part="root"][data-state="loading"] {
38
+ cursor: progress;
39
+ }
40
+
25
41
  [data-scope="button"][data-part="root"][data-disabled] {
26
42
  opacity: var(--disabled-opacity);
27
43
  cursor: not-allowed;
@@ -231,24 +247,8 @@
231
247
  filter: brightness(0.92);
232
248
  }
233
249
 
234
- [data-scope="button"][data-part="root"][data-mod-loading] {
235
- cursor: progress;
236
- }
237
-
238
- [data-scope="button"][data-part="root"][data-mod-loading]::before {
239
- content: "";
240
- box-sizing: border-box;
241
- inline-size: 1em;
242
- block-size: 1em;
243
- flex: none;
244
- border-radius: 9999px;
245
- border: calc(var(--border) * 2) solid currentColor;
246
- border-block-start-color: transparent;
247
- animation: zero-daisyui-btn-spin 0.7s linear infinite;
248
- }
249
-
250
250
  @media (prefers-reduced-motion: reduce) {
251
- [data-scope="button"][data-part="root"][data-mod-loading]::before {
251
+ [data-scope="button"][data-part="spinner"] {
252
252
  animation: none;
253
253
  }
254
254
  }
@@ -0,0 +1,17 @@
1
+ @layer zero.recipes {
2
+ [data-scope="center"][data-part="root"] {
3
+ --l-axis: center;
4
+ --l-gap: 0;
5
+ --l-pad: 0;
6
+ --l-pad-x: var(--l-pad);
7
+ --l-pad-y: var(--l-pad);
8
+ }
9
+
10
+ [data-scope="center"][data-part="root"] {
11
+ display: grid;
12
+ place-items: var(--l-axis);
13
+ gap: var(--l-gap);
14
+ padding-inline: var(--l-pad-x);
15
+ padding-block: var(--l-pad-y);
16
+ }
17
+ }
@@ -9,7 +9,7 @@
9
9
  [data-scope="checkbox"][data-part="root"] {
10
10
  display: inline-flex;
11
11
  align-items: center;
12
- gap: 0.625rem;
12
+ gap: var(--space-md);
13
13
  cursor: pointer;
14
14
  }
15
15