@sigx/zero-daisyui 0.2.0-beta.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 (136) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +115 -0
  3. package/dist/components.d.ts +478 -0
  4. package/dist/components.js +76 -0
  5. package/dist/css/components/accordion.css +165 -0
  6. package/dist/css/components/alert.css +126 -0
  7. package/dist/css/components/avatar.css +94 -0
  8. package/dist/css/components/badge.css +82 -0
  9. package/dist/css/components/breadcrumbs.css +102 -0
  10. package/dist/css/components/button.css +252 -0
  11. package/dist/css/components/card.css +97 -0
  12. package/dist/css/components/carousel.css +196 -0
  13. package/dist/css/components/chat.css +167 -0
  14. package/dist/css/components/checkbox.css +245 -0
  15. package/dist/css/components/collapsible.css +157 -0
  16. package/dist/css/components/combobox.css +251 -0
  17. package/dist/css/components/countdown.css +83 -0
  18. package/dist/css/components/dialog.css +313 -0
  19. package/dist/css/components/diff.css +120 -0
  20. package/dist/css/components/divider.css +70 -0
  21. package/dist/css/components/drawer.css +285 -0
  22. package/dist/css/components/field.css +111 -0
  23. package/dist/css/components/file-upload.css +198 -0
  24. package/dist/css/components/indicator.css +166 -0
  25. package/dist/css/components/input.css +151 -0
  26. package/dist/css/components/join.css +122 -0
  27. package/dist/css/components/kbd.css +84 -0
  28. package/dist/css/components/menu.css +382 -0
  29. package/dist/css/components/native-select.css +128 -0
  30. package/dist/css/components/navbar.css +93 -0
  31. package/dist/css/components/number-input.css +211 -0
  32. package/dist/css/components/pagination.css +203 -0
  33. package/dist/css/components/popover.css +263 -0
  34. package/dist/css/components/progress.css +109 -0
  35. package/dist/css/components/radial-progress.css +129 -0
  36. package/dist/css/components/radio-group.css +176 -0
  37. package/dist/css/components/rating-group.css +143 -0
  38. package/dist/css/components/select.css +212 -0
  39. package/dist/css/components/skeleton.css +74 -0
  40. package/dist/css/components/slider.css +182 -0
  41. package/dist/css/components/spinner.css +75 -0
  42. package/dist/css/components/stats.css +115 -0
  43. package/dist/css/components/status.css +66 -0
  44. package/dist/css/components/steps.css +208 -0
  45. package/dist/css/components/swap.css +116 -0
  46. package/dist/css/components/switch.css +126 -0
  47. package/dist/css/components/table.css +124 -0
  48. package/dist/css/components/tabs.css +137 -0
  49. package/dist/css/components/textarea.css +131 -0
  50. package/dist/css/components/timeline.css +204 -0
  51. package/dist/css/components/toast.css +234 -0
  52. package/dist/css/components/toggle-group.css +164 -0
  53. package/dist/css/components/toggle.css +139 -0
  54. package/dist/css/components/tooltip.css +226 -0
  55. package/dist/css/components/tree-view.css +197 -0
  56. package/dist/css/index.css +8521 -0
  57. package/dist/css/tokens.css +265 -0
  58. package/dist/design-system.d.ts +5 -0
  59. package/dist/design-system.d.ts.map +1 -0
  60. package/dist/design-system.js +46 -0
  61. package/dist/design-system.js.map +1 -0
  62. package/dist/index.d.ts +5 -0
  63. package/dist/index.d.ts.map +1 -0
  64. package/dist/index.js +13 -0
  65. package/dist/index.js.map +1 -0
  66. package/dist/lynx/components/accordion.css +87 -0
  67. package/dist/lynx/components/alert.css +108 -0
  68. package/dist/lynx/components/avatar.css +83 -0
  69. package/dist/lynx/components/badge.css +80 -0
  70. package/dist/lynx/components/breadcrumbs.css +61 -0
  71. package/dist/lynx/components/button.css +173 -0
  72. package/dist/lynx/components/card.css +62 -0
  73. package/dist/lynx/components/carousel.css +124 -0
  74. package/dist/lynx/components/chat.css +105 -0
  75. package/dist/lynx/components/checkbox.css +163 -0
  76. package/dist/lynx/components/collapsible.css +79 -0
  77. package/dist/lynx/components/combobox.css +195 -0
  78. package/dist/lynx/components/countdown.css +43 -0
  79. package/dist/lynx/components/dialog.css +227 -0
  80. package/dist/lynx/components/diff.css +59 -0
  81. package/dist/lynx/components/divider.css +60 -0
  82. package/dist/lynx/components/drawer.css +184 -0
  83. package/dist/lynx/components/field.css +63 -0
  84. package/dist/lynx/components/file-upload.css +147 -0
  85. package/dist/lynx/components/indicator.css +108 -0
  86. package/dist/lynx/components/input.css +112 -0
  87. package/dist/lynx/components/join.css +60 -0
  88. package/dist/lynx/components/kbd.css +81 -0
  89. package/dist/lynx/components/menu.css +282 -0
  90. package/dist/lynx/components/native-select.css +100 -0
  91. package/dist/lynx/components/navbar.css +91 -0
  92. package/dist/lynx/components/number-input.css +156 -0
  93. package/dist/lynx/components/pagination.css +155 -0
  94. package/dist/lynx/components/popover.css +184 -0
  95. package/dist/lynx/components/progress.css +43 -0
  96. package/dist/lynx/components/radial-progress.css +59 -0
  97. package/dist/lynx/components/radio-group.css +149 -0
  98. package/dist/lynx/components/rating-group.css +69 -0
  99. package/dist/lynx/components/select.css +163 -0
  100. package/dist/lynx/components/skeleton.css +34 -0
  101. package/dist/lynx/components/slider.css +136 -0
  102. package/dist/lynx/components/spinner.css +49 -0
  103. package/dist/lynx/components/stats.css +95 -0
  104. package/dist/lynx/components/status.css +45 -0
  105. package/dist/lynx/components/steps.css +171 -0
  106. package/dist/lynx/components/swap.css +60 -0
  107. package/dist/lynx/components/switch.css +95 -0
  108. package/dist/lynx/components/table.css +74 -0
  109. package/dist/lynx/components/tabs.css +105 -0
  110. package/dist/lynx/components/textarea.css +104 -0
  111. package/dist/lynx/components/timeline.css +123 -0
  112. package/dist/lynx/components/toast.css +200 -0
  113. package/dist/lynx/components/toggle-group.css +114 -0
  114. package/dist/lynx/components/toggle.css +112 -0
  115. package/dist/lynx/components/tooltip.css +153 -0
  116. package/dist/lynx/components/tree-view.css +161 -0
  117. package/dist/lynx/index.css +6223 -0
  118. package/dist/lynx/manifest.json +1758 -0
  119. package/dist/lynx/tokens.css +425 -0
  120. package/dist/manifest.json +1752 -0
  121. package/dist/recipes.d.ts +188 -0
  122. package/dist/recipes.d.ts.map +1 -0
  123. package/dist/recipes.js +5128 -0
  124. package/dist/recipes.js.map +1 -0
  125. package/dist/register.d.ts +507 -0
  126. package/dist/register.js +4 -0
  127. package/dist/report.json +10752 -0
  128. package/dist/tokens.d.ts +150 -0
  129. package/dist/tokens.d.ts.map +1 -0
  130. package/dist/tokens.js +306 -0
  131. package/dist/tokens.js.map +1 -0
  132. package/package.json +61 -0
  133. package/src/design-system.ts +52 -0
  134. package/src/index.ts +14 -0
  135. package/src/recipes.ts +5236 -0
  136. package/src/tokens.ts +321 -0
@@ -0,0 +1,66 @@
1
+ @layer zero.recipes {
2
+ [data-scope="status"][data-part="root"] {
3
+ --status-ink: var(--color-base-content);
4
+ --status-size: calc(var(--size-selector) * 2.5);
5
+ }
6
+
7
+ [data-scope="status"][data-part="root"] {
8
+ display: inline-block;
9
+ inline-size: var(--status-size);
10
+ block-size: var(--status-size);
11
+ box-sizing: border-box;
12
+ vertical-align: middle;
13
+ background: var(--status-ink);
14
+ border: calc(var(--status-size) / 2) solid var(--status-ink);
15
+ border-radius: 9999px;
16
+ box-shadow: 0 0 0 calc(var(--status-size) / 4) color-mix(in oklch, var(--status-ink) 25%, transparent);
17
+ }
18
+
19
+ [data-scope="status"][data-part="root"][data-color="primary"] {
20
+ --status-ink: var(--color-primary);
21
+ }
22
+
23
+ [data-scope="status"][data-part="root"][data-color="secondary"] {
24
+ --status-ink: var(--color-secondary);
25
+ }
26
+
27
+ [data-scope="status"][data-part="root"][data-color="accent"] {
28
+ --status-ink: var(--color-accent);
29
+ }
30
+
31
+ [data-scope="status"][data-part="root"][data-color="neutral"] {
32
+ --status-ink: var(--color-neutral);
33
+ }
34
+
35
+ [data-scope="status"][data-part="root"][data-color="info"] {
36
+ --status-ink: var(--color-info);
37
+ }
38
+
39
+ [data-scope="status"][data-part="root"][data-color="success"] {
40
+ --status-ink: var(--color-success);
41
+ }
42
+
43
+ [data-scope="status"][data-part="root"][data-color="warning"] {
44
+ --status-ink: var(--color-warning);
45
+ }
46
+
47
+ [data-scope="status"][data-part="root"][data-color="error"] {
48
+ --status-ink: var(--color-error);
49
+ }
50
+
51
+ [data-scope="status"][data-part="root"][data-size="xs"] {
52
+ --status-size: calc(var(--size-selector) * 1.5);
53
+ }
54
+
55
+ [data-scope="status"][data-part="root"][data-size="sm"] {
56
+ --status-size: calc(var(--size-selector) * 2);
57
+ }
58
+
59
+ [data-scope="status"][data-part="root"][data-size="lg"] {
60
+ --status-size: calc(var(--size-selector) * 3);
61
+ }
62
+
63
+ [data-scope="status"][data-part="root"][data-size="xl"] {
64
+ --status-size: calc(var(--size-selector) * 3.5);
65
+ }
66
+ }
@@ -0,0 +1,208 @@
1
+ @layer zero.recipes {
2
+ [data-scope="steps"][data-part="root"] {
3
+ --steps-accent: var(--color-primary);
4
+ --steps-accent-content: var(--color-primary-content);
5
+ --steps-accent-ink: color-mix(in oklab, var(--color-primary) 95%, var(--color-base-content));
6
+ --steps-ind: calc(var(--size-selector) * 7);
7
+ --steps-font: var(--text-sm);
8
+ }
9
+
10
+ [data-scope="steps"][data-part="root"] {
11
+ display: flex;
12
+ align-items: stretch;
13
+ }
14
+
15
+ [data-scope="steps"][data-part="root"][data-orientation="vertical"] {
16
+ flex-direction: column;
17
+ }
18
+
19
+ [data-scope="steps"][data-part="item"] {
20
+ appearance: none;
21
+ position: relative;
22
+ display: flex;
23
+ flex: 1 1 0%;
24
+ background: transparent;
25
+ border: none;
26
+ padding: var(--space-xs);
27
+ gap: var(--space-2xs);
28
+ font-family: inherit;
29
+ font-size: var(--steps-font);
30
+ cursor: pointer;
31
+ text-align: center;
32
+ }
33
+
34
+ [data-scope="steps"][data-part="item"][data-state="active"] {
35
+ color: var(--steps-accent-ink);
36
+ font-weight: var(--weight-semibold);
37
+ }
38
+
39
+ [data-scope="steps"][data-part="item"][data-state="complete"] {
40
+ color: var(--color-base-content);
41
+ }
42
+
43
+ [data-scope="steps"][data-part="item"][data-state="inactive"] {
44
+ color: color-mix(in oklch, var(--color-base-content) 65%, transparent);
45
+ }
46
+
47
+ [data-scope="steps"][data-part="item"][data-disabled] {
48
+ opacity: var(--disabled-opacity);
49
+ cursor: not-allowed;
50
+ }
51
+
52
+ [data-scope="steps"][data-part="item"][data-focus-visible] {
53
+ outline: 2px solid var(--color-base-content);
54
+ outline-offset: 2px;
55
+ }
56
+
57
+ [data-scope="steps"][data-part="item"][data-orientation="horizontal"] {
58
+ flex-direction: column;
59
+ align-items: center;
60
+ }
61
+
62
+ [data-scope="steps"][data-part="item"][data-orientation="vertical"] {
63
+ flex-direction: row;
64
+ align-items: flex-start;
65
+ text-align: start;
66
+ column-gap: var(--space-sm);
67
+ padding-block-end: var(--space-lg);
68
+ }
69
+
70
+ [data-scope="steps"][data-part="item"][data-pressed]:not([data-disabled]) {
71
+ transform: translateY(1px);
72
+ }
73
+
74
+ [data-scope="steps"][data-part="indicator"] {
75
+ display: inline-flex;
76
+ align-items: center;
77
+ justify-content: center;
78
+ inline-size: var(--steps-ind);
79
+ block-size: var(--steps-ind);
80
+ border-radius: 9999px;
81
+ font-size: calc(var(--steps-ind) * 0.45);
82
+ font-weight: var(--weight-semibold);
83
+ line-height: var(--leading-none);
84
+ position: relative;
85
+ z-index: 1;
86
+ flex-shrink: 0;
87
+ transition: background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);
88
+ }
89
+
90
+ [data-scope="steps"][data-part="indicator"][data-state="active"] {
91
+ background: var(--steps-accent);
92
+ color: var(--steps-accent-content);
93
+ }
94
+
95
+ [data-scope="steps"][data-part="indicator"][data-state="complete"] {
96
+ background: color-mix(in oklch, var(--steps-accent) 20%, var(--color-base-100));
97
+ color: var(--steps-accent-ink);
98
+ }
99
+
100
+ [data-scope="steps"][data-part="indicator"][data-state="inactive"] {
101
+ background: var(--color-base-200);
102
+ color: var(--color-base-content);
103
+ }
104
+
105
+ [data-scope="steps"][data-part="separator"] {
106
+ position: absolute;
107
+ pointer-events: none;
108
+ z-index: 0;
109
+ }
110
+
111
+ [data-scope="steps"][data-part="separator"][data-state="complete"] {
112
+ background: var(--steps-accent);
113
+ }
114
+
115
+ [data-scope="steps"][data-part="separator"][data-state="inactive"] {
116
+ background: var(--color-base-300);
117
+ }
118
+
119
+ [data-scope="steps"][data-part="separator"][data-orientation="horizontal"] {
120
+ inset-block-start: calc(var(--space-xs) + var(--steps-ind) / 2);
121
+ inset-inline-start: 50%;
122
+ inline-size: 100%;
123
+ block-size: var(--border);
124
+ }
125
+
126
+ [data-scope="steps"][data-part="separator"][data-orientation="vertical"] {
127
+ inset-inline-start: calc(var(--space-xs) + (var(--steps-ind) - var(--border)) / 2);
128
+ inset-block-start: calc(var(--space-xs) + var(--steps-ind));
129
+ inset-block-end: calc(var(--space-xs) * -1);
130
+ inline-size: var(--border);
131
+ }
132
+
133
+ [data-scope="steps"][data-part="title"] {
134
+ font-weight: var(--weight-medium);
135
+ }
136
+
137
+ [data-scope="steps"][data-part="description"] {
138
+ font-size: var(--text-xs);
139
+ color: color-mix(in oklch, var(--color-base-content) 70%, transparent);
140
+ font-weight: var(--weight-normal);
141
+ }
142
+
143
+ [data-scope="steps"][data-part="root"][data-color="primary"] {
144
+ --steps-accent: var(--color-primary);
145
+ --steps-accent-content: var(--color-primary-content);
146
+ --steps-accent-ink: color-mix(in oklab, var(--color-primary) 95%, var(--color-base-content));
147
+ }
148
+
149
+ [data-scope="steps"][data-part="root"][data-color="secondary"] {
150
+ --steps-accent: var(--color-secondary);
151
+ --steps-accent-content: var(--color-secondary-content);
152
+ --steps-accent-ink: color-mix(in oklab, var(--color-secondary) 70%, var(--color-base-content));
153
+ }
154
+
155
+ [data-scope="steps"][data-part="root"][data-color="accent"] {
156
+ --steps-accent: var(--color-accent);
157
+ --steps-accent-content: var(--color-accent-content);
158
+ --steps-accent-ink: color-mix(in oklab, var(--color-accent) 55%, var(--color-base-content));
159
+ }
160
+
161
+ [data-scope="steps"][data-part="root"][data-color="neutral"] {
162
+ --steps-accent: var(--color-neutral);
163
+ --steps-accent-content: var(--color-neutral-content);
164
+ --steps-accent-ink: color-mix(in oklab, var(--color-neutral) 40%, var(--color-base-content));
165
+ }
166
+
167
+ [data-scope="steps"][data-part="root"][data-color="info"] {
168
+ --steps-accent: var(--color-info);
169
+ --steps-accent-content: var(--color-info-content);
170
+ --steps-accent-ink: color-mix(in oklab, var(--color-info) 70%, var(--color-base-content));
171
+ }
172
+
173
+ [data-scope="steps"][data-part="root"][data-color="success"] {
174
+ --steps-accent: var(--color-success);
175
+ --steps-accent-content: var(--color-success-content);
176
+ --steps-accent-ink: color-mix(in oklab, var(--color-success) 55%, var(--color-base-content));
177
+ }
178
+
179
+ [data-scope="steps"][data-part="root"][data-color="warning"] {
180
+ --steps-accent: var(--color-warning);
181
+ --steps-accent-content: var(--color-warning-content);
182
+ --steps-accent-ink: color-mix(in oklab, var(--color-warning) 45%, var(--color-base-content));
183
+ }
184
+
185
+ [data-scope="steps"][data-part="root"][data-color="error"] {
186
+ --steps-accent: var(--color-error);
187
+ --steps-accent-content: var(--color-error-content);
188
+ --steps-accent-ink: color-mix(in oklab, var(--color-error) 85%, var(--color-base-content));
189
+ }
190
+
191
+ [data-scope="steps"][data-part="root"][data-size="xs"] {
192
+ --steps-ind: calc(var(--size-selector) * 5);
193
+ --steps-font: var(--text-xs);
194
+ }
195
+
196
+ [data-scope="steps"][data-part="root"][data-size="sm"] {
197
+ --steps-ind: calc(var(--size-selector) * 6);
198
+ }
199
+
200
+ [data-scope="steps"][data-part="root"][data-size="lg"] {
201
+ --steps-ind: calc(var(--size-selector) * 8);
202
+ }
203
+
204
+ [data-scope="steps"][data-part="root"][data-size="xl"] {
205
+ --steps-ind: calc(var(--size-selector) * 9);
206
+ --steps-font: var(--text-md);
207
+ }
208
+ }
@@ -0,0 +1,116 @@
1
+ @layer zero.recipes {
2
+ [data-scope="swap"][data-part="root"] {
3
+ --swap-ink: var(--color-base-content);
4
+ --swap-size: var(--text-xl);
5
+ }
6
+
7
+ [data-scope="swap"][data-part="root"] {
8
+ position: relative;
9
+ display: inline-grid;
10
+ place-items: center;
11
+ font-size: var(--swap-size);
12
+ line-height: var(--leading-none);
13
+ color: var(--swap-ink);
14
+ user-select: none;
15
+ }
16
+
17
+ [data-scope="swap"][data-part="root"][data-disabled] {
18
+ opacity: var(--disabled-opacity);
19
+ cursor: not-allowed;
20
+ }
21
+
22
+ [data-scope="swap"][data-part="root"][data-focus-visible] {
23
+ outline: 2px solid var(--color-base-content);
24
+ outline-offset: 2px;
25
+ }
26
+
27
+ [data-scope="swap"][data-part="root"]:is(button) {
28
+ appearance: none;
29
+ border: none;
30
+ background: transparent;
31
+ padding: var(--space-2xs);
32
+ border-radius: var(--radius-selector);
33
+ cursor: pointer;
34
+ font: inherit;
35
+ font-size: var(--swap-size);
36
+ color: var(--swap-ink);
37
+ }
38
+
39
+ [data-scope="swap"][data-part="on"] {
40
+ grid-area: 1 / 1;
41
+ transition: transform var(--duration-normal) var(--ease-standard), opacity var(--duration-normal) var(--ease-standard);
42
+ }
43
+
44
+ [data-scope="swap"][data-part="on"][data-state="off"] {
45
+ opacity: 0;
46
+ transform: rotate(45deg);
47
+ }
48
+
49
+ [data-scope="swap"][data-part="off"] {
50
+ grid-area: 1 / 1;
51
+ transition: transform var(--duration-normal) var(--ease-standard), opacity var(--duration-normal) var(--ease-standard);
52
+ }
53
+
54
+ [data-scope="swap"][data-part="off"][data-state="on"] {
55
+ opacity: 0;
56
+ transform: rotate(-45deg);
57
+ }
58
+
59
+ [data-scope="swap"][data-part="root"][data-color="primary"] {
60
+ --swap-ink: color-mix(in oklab, var(--color-primary) 95%, var(--color-base-content));
61
+ }
62
+
63
+ [data-scope="swap"][data-part="root"][data-color="secondary"] {
64
+ --swap-ink: color-mix(in oklab, var(--color-secondary) 70%, var(--color-base-content));
65
+ }
66
+
67
+ [data-scope="swap"][data-part="root"][data-color="accent"] {
68
+ --swap-ink: color-mix(in oklab, var(--color-accent) 55%, var(--color-base-content));
69
+ }
70
+
71
+ [data-scope="swap"][data-part="root"][data-color="neutral"] {
72
+ --swap-ink: color-mix(in oklab, var(--color-neutral) 40%, var(--color-base-content));
73
+ }
74
+
75
+ [data-scope="swap"][data-part="root"][data-color="info"] {
76
+ --swap-ink: color-mix(in oklab, var(--color-info) 70%, var(--color-base-content));
77
+ }
78
+
79
+ [data-scope="swap"][data-part="root"][data-color="success"] {
80
+ --swap-ink: color-mix(in oklab, var(--color-success) 55%, var(--color-base-content));
81
+ }
82
+
83
+ [data-scope="swap"][data-part="root"][data-color="warning"] {
84
+ --swap-ink: color-mix(in oklab, var(--color-warning) 45%, var(--color-base-content));
85
+ }
86
+
87
+ [data-scope="swap"][data-part="root"][data-color="error"] {
88
+ --swap-ink: color-mix(in oklab, var(--color-error) 85%, var(--color-base-content));
89
+ }
90
+
91
+ [data-scope="swap"][data-part="root"][data-size="xs"] {
92
+ --swap-size: var(--text-sm);
93
+ }
94
+
95
+ [data-scope="swap"][data-part="root"][data-size="sm"] {
96
+ --swap-size: var(--text-md);
97
+ }
98
+
99
+ [data-scope="swap"][data-part="root"][data-size="lg"] {
100
+ --swap-size: var(--text-2xl);
101
+ }
102
+
103
+ [data-scope="swap"][data-part="root"][data-size="xl"] {
104
+ --swap-size: var(--text-3xl);
105
+ }
106
+
107
+ @media (prefers-reduced-motion: reduce) {
108
+ [data-scope="swap"][data-part="on"] {
109
+ transition: none;
110
+ }
111
+
112
+ [data-scope="swap"][data-part="off"] {
113
+ transition: none;
114
+ }
115
+ }
116
+ }
@@ -0,0 +1,126 @@
1
+ @layer zero.recipes {
2
+ [data-scope="switch"][data-part="root"] {
3
+ --switch-size: calc(var(--size-selector) * 6);
4
+ --switch-p: calc(var(--switch-size) * 0.125);
5
+ --switch-accent: var(--color-primary);
6
+ --switch-ink: color-mix(in oklab, var(--color-base-content) 60%, #0000);
7
+ }
8
+
9
+ [data-scope="switch"][data-part="root"] {
10
+ display: inline-flex;
11
+ align-items: center;
12
+ gap: var(--space-lg);
13
+ cursor: pointer;
14
+ }
15
+
16
+ [data-scope="switch"][data-part="root"][data-disabled] {
17
+ opacity: var(--disabled-opacity);
18
+ cursor: not-allowed;
19
+ }
20
+
21
+ [data-scope="switch"][data-part="control"] {
22
+ display: inline-grid;
23
+ grid-template-columns: 0fr 1fr 1fr;
24
+ place-content: center;
25
+ position: relative;
26
+ vertical-align: middle;
27
+ flex-shrink: 0;
28
+ box-sizing: border-box;
29
+ width: calc((var(--switch-size) * 2) - (var(--border) + var(--switch-p)) * 2);
30
+ height: var(--switch-size);
31
+ padding: var(--switch-p);
32
+ --switch-radius-max: calc(var(--radius-selector) + var(--radius-selector) + var(--radius-selector));
33
+ border-radius: calc(var(--radius-selector) + min(var(--switch-p), var(--switch-radius-max)) + min(var(--border), var(--switch-radius-max)));
34
+ border: var(--border) solid currentColor;
35
+ color: var(--switch-ink);
36
+ box-shadow: 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000) inset;
37
+ user-select: none;
38
+ transition: color var(--duration-slow) var(--ease-standard), background-color var(--duration-normal) var(--ease-standard), grid-template-columns var(--duration-normal) var(--ease-standard);
39
+ }
40
+
41
+ [data-scope="switch"][data-part="control"][data-state="checked"] {
42
+ grid-template-columns: 1fr 1fr 0fr;
43
+ color: var(--switch-accent);
44
+ background-color: var(--color-base-100);
45
+ }
46
+
47
+ [data-scope="switch"][data-part="control"][data-invalid] {
48
+ border-color: var(--color-error);
49
+ }
50
+
51
+ [data-scope="switch"][data-part="control"][data-focus-visible] {
52
+ outline: 2px solid var(--switch-accent);
53
+ outline-offset: 2px;
54
+ }
55
+
56
+ [data-scope="switch"][data-part="thumb"] {
57
+ grid-row-start: 1;
58
+ grid-column-start: 2;
59
+ aspect-ratio: 1;
60
+ width: 100%;
61
+ height: 100%;
62
+ border-radius: var(--radius-selector);
63
+ background-color: currentColor;
64
+ background-size: auto, calc(var(--noise) * 100%);
65
+ background-image: none, var(--fx-noise);
66
+ box-shadow: 0 -1px var(--depth-shade) inset, 0 8px 0 -4px var(--depth-sheen) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000);
67
+ transition: background-color var(--duration-instant) var(--ease-standard);
68
+ }
69
+
70
+ [data-scope="switch"][data-part="label"] {
71
+ font-size: var(--text-sm);
72
+ font-weight: var(--weight-medium);
73
+ }
74
+
75
+ [data-scope="switch"][data-part="root"][data-size="xs"] {
76
+ --switch-size: calc(var(--size-selector) * 4);
77
+ }
78
+
79
+ [data-scope="switch"][data-part="root"][data-size="sm"] {
80
+ --switch-size: calc(var(--size-selector) * 5);
81
+ }
82
+
83
+ [data-scope="switch"][data-part="root"][data-size="lg"] {
84
+ --switch-size: calc(var(--size-selector) * 7);
85
+ }
86
+
87
+ [data-scope="switch"][data-part="root"][data-size="xl"] {
88
+ --switch-size: calc(var(--size-selector) * 8);
89
+ }
90
+
91
+ [data-scope="switch"][data-part="root"][data-color="primary"] {
92
+ --switch-accent: var(--color-primary);
93
+ }
94
+
95
+ [data-scope="switch"][data-part="root"]:not([data-color]) {
96
+ --switch-accent: var(--color-primary);
97
+ }
98
+
99
+ [data-scope="switch"][data-part="root"][data-color="secondary"] {
100
+ --switch-accent: var(--color-secondary);
101
+ }
102
+
103
+ [data-scope="switch"][data-part="root"][data-color="accent"] {
104
+ --switch-accent: var(--color-accent);
105
+ }
106
+
107
+ [data-scope="switch"][data-part="root"][data-color="neutral"] {
108
+ --switch-accent: var(--color-neutral);
109
+ }
110
+
111
+ [data-scope="switch"][data-part="root"][data-color="info"] {
112
+ --switch-accent: var(--color-info);
113
+ }
114
+
115
+ [data-scope="switch"][data-part="root"][data-color="success"] {
116
+ --switch-accent: var(--color-success);
117
+ }
118
+
119
+ [data-scope="switch"][data-part="root"][data-color="warning"] {
120
+ --switch-accent: var(--color-warning);
121
+ }
122
+
123
+ [data-scope="switch"][data-part="root"][data-color="error"] {
124
+ --switch-accent: var(--color-error);
125
+ }
126
+ }
@@ -0,0 +1,124 @@
1
+ @layer zero.recipes {
2
+ [data-scope="table"][data-part="root"] {
3
+ --table-accent: var(--color-base-content);
4
+ --table-pad-block: var(--space-sm);
5
+ --table-pad-inline: var(--space-md);
6
+ --table-font: var(--text-sm);
7
+ }
8
+
9
+ [data-scope="table"][data-part="root"] {
10
+ overflow-x: auto;
11
+ border: var(--border) solid var(--color-base-200);
12
+ border-radius: var(--radius-box);
13
+ background: var(--color-base-100);
14
+ }
15
+
16
+ [data-scope="table"][data-part="table"] {
17
+ border-collapse: collapse;
18
+ inline-size: 100%;
19
+ font-size: var(--table-font);
20
+ color: var(--color-base-content);
21
+ }
22
+
23
+ [data-scope="table"][data-part="caption"] {
24
+ caption-side: top;
25
+ text-align: start;
26
+ padding: var(--table-pad-block) var(--table-pad-inline);
27
+ font-size: var(--text-xs);
28
+ color: color-mix(in oklab, var(--color-base-content) 60%, transparent);
29
+ }
30
+
31
+ [data-scope="table"][data-part="foot"] {
32
+ font-size: var(--text-xs);
33
+ color: color-mix(in oklab, var(--color-base-content) 60%, transparent);
34
+ }
35
+
36
+ [data-scope="table"][data-part="row"] {
37
+ border-block-end: var(--border) solid var(--color-base-200);
38
+ }
39
+
40
+ [data-scope="table"][data-part="row"][data-selected] {
41
+ background: var(--color-base-300);
42
+ }
43
+
44
+ [data-scope="table"][data-part="header-cell"] {
45
+ padding: var(--table-pad-block) var(--table-pad-inline);
46
+ text-align: start;
47
+ font-weight: var(--weight-semibold);
48
+ font-size: var(--text-xs);
49
+ color: color-mix(in oklab, var(--table-accent) 60%, transparent);
50
+ }
51
+
52
+ [data-scope="table"][data-part="cell"] {
53
+ padding: var(--table-pad-block) var(--table-pad-inline);
54
+ text-align: start;
55
+ }
56
+
57
+ [data-scope="table"][data-part="root"][data-color="primary"] {
58
+ --table-accent: color-mix(in oklab, var(--color-primary) 95%, var(--color-base-content));
59
+ }
60
+
61
+ [data-scope="table"][data-part="root"][data-color="secondary"] {
62
+ --table-accent: color-mix(in oklab, var(--color-secondary) 70%, var(--color-base-content));
63
+ }
64
+
65
+ [data-scope="table"][data-part="root"][data-color="accent"] {
66
+ --table-accent: color-mix(in oklab, var(--color-accent) 55%, var(--color-base-content));
67
+ }
68
+
69
+ [data-scope="table"][data-part="root"][data-color="neutral"] {
70
+ --table-accent: color-mix(in oklab, var(--color-neutral) 40%, var(--color-base-content));
71
+ }
72
+
73
+ [data-scope="table"][data-part="root"][data-color="info"] {
74
+ --table-accent: color-mix(in oklab, var(--color-info) 70%, var(--color-base-content));
75
+ }
76
+
77
+ [data-scope="table"][data-part="root"][data-color="success"] {
78
+ --table-accent: color-mix(in oklab, var(--color-success) 55%, var(--color-base-content));
79
+ }
80
+
81
+ [data-scope="table"][data-part="root"][data-color="warning"] {
82
+ --table-accent: color-mix(in oklab, var(--color-warning) 45%, var(--color-base-content));
83
+ }
84
+
85
+ [data-scope="table"][data-part="root"][data-color="error"] {
86
+ --table-accent: color-mix(in oklab, var(--color-error) 85%, var(--color-base-content));
87
+ }
88
+
89
+ [data-scope="table"][data-part="root"][data-size="xs"] {
90
+ --table-pad-block: calc(var(--space-xs) / 2);
91
+ --table-pad-inline: var(--space-xs);
92
+ --table-font: var(--text-xs);
93
+ }
94
+
95
+ [data-scope="table"][data-part="root"][data-size="sm"] {
96
+ --table-pad-block: var(--space-xs);
97
+ --table-pad-inline: var(--space-sm);
98
+ --table-font: var(--text-xs);
99
+ }
100
+
101
+ [data-scope="table"][data-part="root"][data-size="lg"] {
102
+ --table-pad-block: var(--space-md);
103
+ --table-pad-inline: var(--space-lg);
104
+ --table-font: var(--text-md);
105
+ }
106
+
107
+ [data-scope="table"][data-part="root"][data-size="xl"] {
108
+ --table-pad-block: var(--space-lg);
109
+ --table-pad-inline: var(--space-xl);
110
+ --table-font: var(--text-md);
111
+ }
112
+
113
+ @scope ([data-scope="table"][data-part="root"][data-mod-zebra]) to ([data-scope="table"][data-part="root"]) {
114
+ [data-scope="table"][data-part="body"] > [data-scope="table"][data-part="row"]:nth-child(even):not([data-selected]) {
115
+ background: var(--color-base-200);
116
+ }
117
+ }
118
+
119
+ @scope ([data-scope="table"][data-part="root"][data-mod-hover]) to ([data-scope="table"][data-part="root"]) {
120
+ [data-scope="table"][data-part="body"] > [data-scope="table"][data-part="row"]:hover:not([data-selected]) {
121
+ background: var(--color-base-200);
122
+ }
123
+ }
124
+ }