@macroui/macroui 1.0.31 → 4.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 (121) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +27 -193
  3. package/dist/base.js +1 -0
  4. package/dist/{macroui.css → full.css} +0 -9014
  5. package/dist/index.d.ts +122 -0
  6. package/dist/index.js +149 -0
  7. package/dist/styled.css +5192 -0
  8. package/dist/styled.js +1 -0
  9. package/dist/themes.css +2118 -0
  10. package/dist/unstyled.css +1330 -0
  11. package/dist/unstyled.js +1 -0
  12. package/dist/utilities-styled.js +1 -0
  13. package/dist/utilities-unstyled.js +1 -0
  14. package/dist/utilities.js +1 -0
  15. package/package.json +30 -66
  16. package/src/base/properties.css +5 -0
  17. package/src/base/reset.css +130 -0
  18. package/src/base/rootcolor.css +9 -0
  19. package/src/base/rootscrollgutter.css +21 -0
  20. package/src/base/rootscrolllock.css +4 -0
  21. package/src/base/scrollbar.css +3 -0
  22. package/src/base/svg.css +3 -0
  23. package/src/components/alert.css +126 -0
  24. package/src/components/avatar.css +60 -0
  25. package/src/components/badge.css +151 -0
  26. package/src/components/breadcrumbs.css +40 -0
  27. package/src/components/button.css +362 -0
  28. package/src/components/calendar.css +549 -0
  29. package/src/components/card.css +203 -0
  30. package/src/components/carousel.css +59 -0
  31. package/src/components/chat.css +157 -0
  32. package/src/components/checkbox.css +174 -0
  33. package/src/components/collapse.css +302 -0
  34. package/src/components/countdown.css +56 -0
  35. package/src/components/diff.css +93 -0
  36. package/src/components/divider.css +148 -0
  37. package/src/components/dock.css +123 -0
  38. package/src/components/drawer.css +166 -0
  39. package/src/components/dropdown.css +247 -0
  40. package/src/components/fab.css +139 -0
  41. package/src/components/fieldset.css +23 -0
  42. package/src/components/fileinput.css +265 -0
  43. package/src/components/filter.css +42 -0
  44. package/src/components/footer.css +45 -0
  45. package/src/components/hero.css +21 -0
  46. package/src/components/hover3d.css +128 -0
  47. package/src/components/hovergallery.css +87 -0
  48. package/src/components/indicator.css +76 -0
  49. package/src/components/input.css +263 -0
  50. package/src/components/kbd.css +49 -0
  51. package/src/components/label.css +101 -0
  52. package/src/components/link.css +116 -0
  53. package/src/components/list.css +58 -0
  54. package/src/components/loading.css +76 -0
  55. package/src/components/mask.css +108 -0
  56. package/src/components/menu.css +298 -0
  57. package/src/components/mockup.css +150 -0
  58. package/src/components/modal.css +182 -0
  59. package/src/components/navbar.css +36 -0
  60. package/src/components/progress.css +108 -0
  61. package/src/components/radialprogress.css +39 -0
  62. package/src/components/radio.css +158 -0
  63. package/src/components/range.css +186 -0
  64. package/src/components/rating.css +114 -0
  65. package/src/components/select.css +284 -0
  66. package/src/components/skeleton.css +41 -0
  67. package/src/components/stack.css +80 -0
  68. package/src/components/stat.css +73 -0
  69. package/src/components/status.css +92 -0
  70. package/src/components/steps.css +168 -0
  71. package/src/components/swap.css +94 -0
  72. package/src/components/tab.css +557 -0
  73. package/src/components/table.css +126 -0
  74. package/src/components/textarea.css +179 -0
  75. package/src/components/textrotate.css +71 -0
  76. package/src/components/timeline.css +250 -0
  77. package/src/components/toast.css +68 -0
  78. package/src/components/toggle.css +239 -0
  79. package/src/components/tooltip.css +203 -0
  80. package/src/components/validator.css +47 -0
  81. package/src/themes/abyss.css +29 -0
  82. package/src/themes/acid.css +29 -0
  83. package/src/themes/aqua.css +29 -0
  84. package/src/themes/autumn.css +29 -0
  85. package/src/themes/black.css +29 -0
  86. package/src/themes/bumblebee.css +29 -0
  87. package/src/themes/business.css +29 -0
  88. package/src/themes/caramellatte.css +29 -0
  89. package/src/themes/cmyk.css +29 -0
  90. package/src/themes/coffee.css +29 -0
  91. package/src/themes/corporate.css +29 -0
  92. package/src/themes/cupcake.css +29 -0
  93. package/src/themes/cyberpunk.css +29 -0
  94. package/src/themes/dark.css +29 -0
  95. package/src/themes/dim.css +29 -0
  96. package/src/themes/dracula.css +29 -0
  97. package/src/themes/emerald.css +29 -0
  98. package/src/themes/fantasy.css +29 -0
  99. package/src/themes/forest.css +29 -0
  100. package/src/themes/garden.css +29 -0
  101. package/src/themes/halloween.css +29 -0
  102. package/src/themes/lemonade.css +29 -0
  103. package/src/themes/light.css +29 -0
  104. package/src/themes/lofi.css +29 -0
  105. package/src/themes/luxury.css +29 -0
  106. package/src/themes/night.css +29 -0
  107. package/src/themes/nord.css +29 -0
  108. package/src/themes/pastel.css +29 -0
  109. package/src/themes/retro.css +29 -0
  110. package/src/themes/silk.css +29 -0
  111. package/src/themes/sunset.css +29 -0
  112. package/src/themes/synthwave.css +29 -0
  113. package/src/themes/valentine.css +29 -0
  114. package/src/themes/winter.css +29 -0
  115. package/src/themes/wireframe.css +29 -0
  116. package/src/utilities/glass.css +20 -0
  117. package/src/utilities/join.css +207 -0
  118. package/src/utilities/radius.css +119 -0
  119. package/src/utilities/typography.css +31 -0
  120. package/dist/index.cjs.js +0 -19742
  121. package/dist/index.es.js +0 -19564
@@ -0,0 +1,302 @@
1
+ .collapse:not(td, tr, colgroup) {
2
+ visibility: revert-layer;
3
+ }
4
+
5
+ .collapse {
6
+ @layer daisyui.l1.l2.l3 {
7
+ display: grid;
8
+ position: relative;
9
+ overflow: hidden;
10
+ border-radius: var(--radius-box, 1rem);
11
+ width: 100%;
12
+ grid-template-rows: max-content 0fr;
13
+ grid-template-columns: minmax(0, 1fr);
14
+ isolation: isolate;
15
+ @media (prefers-reduced-motion: no-preference) {
16
+ transition: grid-template-rows 0.2s;
17
+ }
18
+
19
+ > input:is([type="checkbox"], [type="radio"]) {
20
+ grid-column-start: 1;
21
+ grid-row-start: 1;
22
+ appearance: none;
23
+ opacity: 0;
24
+ }
25
+
26
+ &:is(
27
+ [open],
28
+ [tabindex]:focus:not(.collapse-close),
29
+ [tabindex]:focus-within:not(.collapse-close)
30
+ ),
31
+ &:not(.collapse-close):has(> input:is([type="checkbox"], [type="radio"]):checked) {
32
+ grid-template-rows: max-content 1fr;
33
+ }
34
+
35
+ &:is(
36
+ [open],
37
+ [tabindex]:focus:not(.collapse-close),
38
+ [tabindex]:focus-within:not(.collapse-close)
39
+ )
40
+ > .collapse-content,
41
+ &:not(.collapse-close)
42
+ > :where(input:is([type="checkbox"], [type="radio"]):checked ~ .collapse-content) {
43
+ content-visibility: visible;
44
+ min-height: fit-content;
45
+ @supports not (content-visibility: visible) {
46
+ visibility: visible;
47
+ }
48
+ }
49
+ &:focus-visible,
50
+ &:has(> input:is([type="checkbox"], [type="radio"]):focus-visible),
51
+ &:has(summary:focus-visible) {
52
+ outline-color: var(--color-base-content);
53
+ outline-style: solid;
54
+ outline-width: 2px;
55
+ outline-offset: 2px;
56
+ }
57
+
58
+ &:not(.collapse-close) {
59
+ > input[type="checkbox"],
60
+ > input[type="radio"]:not(:checked),
61
+ > .collapse-title {
62
+ cursor: pointer;
63
+ }
64
+ }
65
+
66
+ &[tabindex]:focus:not(.collapse-close, .collapse[open]),
67
+ &[tabindex]:focus-within:not(.collapse-close, .collapse[open]) {
68
+ > .collapse-title {
69
+ cursor: unset;
70
+ }
71
+ }
72
+
73
+ &:is(
74
+ [open],
75
+ [tabindex]:focus:not(.collapse-close),
76
+ [tabindex]:focus-within:not(.collapse-close)
77
+ )
78
+ > :where(.collapse-content),
79
+ &:not(.collapse-close)
80
+ > :where(input:is([type="checkbox"], [type="radio"]):checked ~ .collapse-content) {
81
+ padding-bottom: 1rem;
82
+ }
83
+
84
+ > input:is([type="checkbox"], [type="radio"]) {
85
+ z-index: 1;
86
+ width: 100%;
87
+ padding: 1rem;
88
+ padding-inline-end: 3rem;
89
+ min-height: 1lh;
90
+ transition: background-color 0.2s ease-out;
91
+ }
92
+ }
93
+
94
+ @layer daisyui.l1.l2 {
95
+ &:is([open]) {
96
+ &.collapse-arrow {
97
+ > .collapse-title:after {
98
+ @media (prefers-reduced-motion: no-preference) {
99
+ transform: translateY(-50%) rotate(225deg);
100
+ }
101
+ }
102
+ }
103
+ }
104
+
105
+ &.collapse-open {
106
+ &.collapse-arrow {
107
+ > .collapse-title:after {
108
+ @media (prefers-reduced-motion: no-preference) {
109
+ transform: translateY(-50%) rotate(225deg);
110
+ }
111
+ }
112
+ }
113
+ }
114
+
115
+ &[tabindex].collapse-arrow:focus:not(.collapse-close),
116
+ &.collapse-arrow[tabindex]:focus-within:not(.collapse-close) {
117
+ > .collapse-title:after {
118
+ transform: translateY(-50%) rotate(225deg);
119
+ }
120
+ }
121
+
122
+ &.collapse-arrow:not(.collapse-close) {
123
+ > input:is([type="checkbox"], [type="radio"]):checked ~ .collapse-title:after {
124
+ transform: translateY(-50%) rotate(225deg);
125
+ }
126
+ }
127
+
128
+ &[open] {
129
+ &.collapse-plus {
130
+ > .collapse-title:after {
131
+ --tw-content: "−";
132
+ content: var(--tw-content);
133
+ }
134
+ }
135
+ }
136
+
137
+ &.collapse-open {
138
+ &.collapse-plus {
139
+ > .collapse-title:after {
140
+ --tw-content: "−";
141
+ content: var(--tw-content);
142
+ }
143
+ }
144
+ }
145
+
146
+ &[tabindex].collapse-plus:focus:not(.collapse-close) {
147
+ > .collapse-title:after {
148
+ --tw-content: "−";
149
+ content: var(--tw-content);
150
+ }
151
+ }
152
+
153
+ &.collapse-plus:not(.collapse-close) {
154
+ > input:is([type="checkbox"], [type="radio"]):checked ~ .collapse-title:after {
155
+ --tw-content: "−";
156
+ content: var(--tw-content);
157
+ }
158
+ }
159
+ }
160
+ }
161
+
162
+ .collapse-title,
163
+ .collapse-content {
164
+ @layer daisyui.l1.l2.l3 {
165
+ grid-column-start: 1;
166
+ grid-row-start: 1;
167
+ }
168
+ }
169
+
170
+ .collapse-content {
171
+ @layer daisyui.l1.l2.l3 {
172
+ content-visibility: hidden;
173
+ grid-column-start: 1;
174
+ grid-row-start: 2;
175
+ min-height: 0;
176
+ padding-left: 1rem;
177
+ padding-right: 1rem;
178
+ cursor: unset;
179
+ @supports not (content-visibility: hidden) {
180
+ visibility: hidden;
181
+ }
182
+ @media (prefers-reduced-motion: no-preference) {
183
+ transition:
184
+ content-visibility 0.2s allow-discrete,
185
+ visibility 0.2s allow-discrete,
186
+ min-height 0.2s ease-out allow-discrete,
187
+ padding 0.1s ease-out 20ms,
188
+ background-color 0.2s ease-out;
189
+ }
190
+ }
191
+ }
192
+
193
+ .collapse:is(details) {
194
+ @layer daisyui.l1.l2.l3 {
195
+ width: 100%;
196
+ @media (prefers-reduced-motion: no-preference) {
197
+ &::details-content {
198
+ transition:
199
+ content-visibility 0.2s allow-discrete,
200
+ visibility 0.2s allow-discrete,
201
+ min-height 0.2s ease-out allow-discrete,
202
+ padding 0.1s ease-out 20ms,
203
+ background-color 0.2s ease-out,
204
+ height 0.2s;
205
+ height: 0;
206
+ interpolate-size: allow-keywords;
207
+ }
208
+
209
+ &:where([open])::details-content {
210
+ height: auto;
211
+ }
212
+ }
213
+ & summary {
214
+ position: relative;
215
+ display: block;
216
+
217
+ &::-webkit-details-marker {
218
+ display: none;
219
+ }
220
+ }
221
+
222
+ & > .collapse-content {
223
+ content-visibility: visible;
224
+ }
225
+ }
226
+ }
227
+
228
+ .collapse:is(details) summary {
229
+ @layer daisyui.l1.l2.l3 {
230
+ outline: none;
231
+ }
232
+ }
233
+
234
+ .collapse-arrow {
235
+ @layer daisyui.l1.l2 {
236
+ > .collapse-title:after {
237
+ position: absolute;
238
+ display: block;
239
+ height: 0.5rem;
240
+ width: 0.5rem;
241
+ transform: translateY(-100%) rotate(45deg);
242
+ @media (prefers-reduced-motion: no-preference) {
243
+ transition-property: all;
244
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
245
+ transition-duration: 0.2s;
246
+ }
247
+ top: 50%;
248
+ inset-inline-end: 1.4rem;
249
+ content: "";
250
+ transform-origin: 75% 75%;
251
+ box-shadow: 2px 2px;
252
+ pointer-events: none;
253
+ }
254
+ }
255
+ }
256
+
257
+ .collapse-plus {
258
+ @layer daisyui.l1.l2 {
259
+ > .collapse-title:after {
260
+ position: absolute;
261
+ display: block;
262
+ height: 0.5rem;
263
+ width: 0.5rem;
264
+ @media (prefers-reduced-motion: no-preference) {
265
+ transition-property: all;
266
+ transition-duration: 300ms;
267
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
268
+ }
269
+ top: 0.9rem;
270
+ inset-inline-end: 1.4rem;
271
+ --tw-content: "+";
272
+ content: var(--tw-content);
273
+ pointer-events: none;
274
+ }
275
+ }
276
+ }
277
+
278
+ .collapse-title {
279
+ @layer daisyui.l1.l2.l3 {
280
+ position: relative;
281
+
282
+ width: 100%;
283
+ padding: 1rem;
284
+ padding-inline-end: 3rem;
285
+ min-height: 1lh;
286
+ transition: background-color 0.2s ease-out;
287
+ }
288
+ }
289
+
290
+ .collapse-open {
291
+ @layer daisyui.l1.l2 {
292
+ grid-template-rows: max-content 1fr;
293
+ > .collapse-content {
294
+ content-visibility: visible;
295
+ min-height: fit-content;
296
+ padding-bottom: 1rem;
297
+ @supports not (content-visibility: visible) {
298
+ visibility: visible;
299
+ }
300
+ }
301
+ }
302
+ }
@@ -0,0 +1,56 @@
1
+ .countdown {
2
+ &.countdown {
3
+ line-height: 1em;
4
+ }
5
+
6
+ @layer daisyui.l1.l2.l3 {
7
+ @apply inline-flex;
8
+
9
+ & > * {
10
+ @apply invisible relative inline-block overflow-y-clip;
11
+ transition: width 0.4s ease-out 0.2s;
12
+ height: 1em;
13
+ --value-v: calc(mod(max(0, var(--value)), 1000));
14
+ --value-hundreds: calc(round(to-zero, var(--value-v) / 100, 1));
15
+ --value-tens: calc(round(to-zero, mod(var(--value-v), 100) / 10, 1));
16
+ --value-ones: calc(mod(var(--value-v), 100));
17
+ --show-hundreds: clamp(clamp(0, var(--digits, 1) - 2, 1), var(--value-hundreds), 1);
18
+ --show-tens: clamp(
19
+ clamp(0, var(--digits, 1) - 1, 1),
20
+ var(--value-tens) + var(--show-hundreds),
21
+ 1
22
+ );
23
+ --first-digits: calc(round(to-zero, var(--value-v) / 10, 1));
24
+ width: calc(1ch + var(--show-tens) * 1ch + var(--show-hundreds) * 1ch);
25
+ direction: ltr;
26
+
27
+ &:before,
28
+ &:after {
29
+ @apply visible absolute overflow-x-clip;
30
+ --tw-content: "00\A 01\A 02\A 03\A 04\A 05\A 06\A 07\A 08\A 09\A 10\A 11\A 12\A 13\A 14\A 15\A 16\A 17\A 18\A 19\A 20\A 21\A 22\A 23\A 24\A 25\A 26\A 27\A 28\A 29\A 30\A 31\A 32\A 33\A 34\A 35\A 36\A 37\A 38\A 39\A 40\A 41\A 42\A 43\A 44\A 45\A 46\A 47\A 48\A 49\A 50\A 51\A 52\A 53\A 54\A 55\A 56\A 57\A 58\A 59\A 60\A 61\A 62\A 63\A 64\A 65\A 66\A 67\A 68\A 69\A 70\A 71\A 72\A 73\A 74\A 75\A 76\A 77\A 78\A 79\A 80\A 81\A 82\A 83\A 84\A 85\A 86\A 87\A 88\A 89\A 90\A 91\A 92\A 93\A 94\A 95\A 96\A 97\A 98\A 99\A";
31
+ content: var(--tw-content);
32
+ font-variant-numeric: tabular-nums;
33
+ white-space: pre;
34
+ text-align: end;
35
+ direction: rtl;
36
+ transition:
37
+ all 1s cubic-bezier(1, 0, 0, 1),
38
+ width 0.2s ease-out 0.2s,
39
+ opacity 0.2s ease-out 0.2s;
40
+ }
41
+
42
+ &:before {
43
+ width: calc(1ch + var(--show-hundreds) * 1ch);
44
+ top: calc(var(--first-digits) * -1em);
45
+ inset-inline-end: 0;
46
+ opacity: var(--show-tens);
47
+ }
48
+
49
+ &:after {
50
+ width: 1ch;
51
+ top: calc(var(--value-ones) * -1em);
52
+ inset-inline-start: 0;
53
+ }
54
+ }
55
+ }
56
+ }
@@ -0,0 +1,93 @@
1
+ .diff {
2
+ @layer daisyui.l1.l2.l3 {
3
+ @apply relative grid w-full overflow-hidden select-none;
4
+ grid-template-rows: 1fr 1.8rem 1fr;
5
+ direction: ltr;
6
+ container-type: inline-size;
7
+ grid-template-columns: auto 1fr;
8
+ &:focus-visible,
9
+ &:has(.diff-item-1:focus-visible) {
10
+ @apply outline-base-content outline-2 outline-offset-1;
11
+ }
12
+ &:focus-visible {
13
+ @apply outline-base-content outline-2 outline-offset-1;
14
+ .diff-resizer {
15
+ min-width: 95cqi;
16
+ max-width: 95cqi;
17
+ }
18
+ }
19
+ &:has(.diff-item-1:focus-visible) {
20
+ @apply outline-2 outline-offset-1;
21
+ .diff-resizer {
22
+ min-width: 5cqi;
23
+ max-width: 5cqi;
24
+ }
25
+ }
26
+ @supports (-webkit-overflow-scrolling: touch) and (overflow: -webkit-paged-x) {
27
+ &:focus {
28
+ .diff-resizer {
29
+ min-width: 5cqi;
30
+ max-width: 5cqi;
31
+ }
32
+ }
33
+ &:has(.diff-item-1:focus) {
34
+ .diff-resizer {
35
+ min-width: 95cqi;
36
+ max-width: 95cqi;
37
+ }
38
+ }
39
+ }
40
+ }
41
+ }
42
+ .diff-resizer {
43
+ @layer daisyui.l1.l2.l3 {
44
+ @apply relative isolate z-2 col-start-1 row-start-2 h-3 w-[50cqi] max-w-[calc(100cqi-1rem)] min-w-[1rem] resize-x overflow-hidden opacity-0;
45
+ transform: scaleY(5) translate(0.32rem, 50%);
46
+ cursor: ew-resize;
47
+ transform-origin: 100% 100%;
48
+ clip-path: inset(calc(100% - 0.75rem) 0 0 calc(100% - 0.75rem));
49
+ transition:
50
+ min-width 0.3s ease-out,
51
+ max-width 0.3s ease-out;
52
+ }
53
+ }
54
+ .diff-item-2 {
55
+ @layer daisyui.l1.l2.l3 {
56
+ @apply relative col-start-1 row-span-3 row-start-1;
57
+ &:after {
58
+ @apply bg-base-100/98 pointer-events-none absolute top-1/2 right-px bottom-0 z-2 rounded-full;
59
+ width: 1.2rem;
60
+ height: 1.8rem;
61
+ border: 2px solid var(--color-base-100);
62
+ content: "";
63
+ border: 0.5px solid #0000001f;
64
+ outline: 1px solid color-mix(in oklab, var(--color-base-content) 10%, #0000);
65
+ outline-offset: -3px;
66
+ /* disable blur and shadow becuse of performance */
67
+ /* backdrop-filter: blur(8px); */
68
+ /* box-shadow: 0 1px 2px 0 oklch(0% 0 0 / 0.1); */
69
+ translate: 50% -50%;
70
+ }
71
+ > * {
72
+ @apply pointer-events-none absolute top-0 bottom-0 left-0 h-full w-[100cqi] max-w-none object-cover object-center;
73
+ }
74
+ @supports (-webkit-overflow-scrolling: touch) and (overflow: -webkit-paged-x) {
75
+ &:after {
76
+ --tw-content: none;
77
+ content: var(--tw-content);
78
+ }
79
+ }
80
+ }
81
+ }
82
+ .diff-item-1 {
83
+ @layer daisyui.l1.l2.l3 {
84
+ @apply relative z-1 col-start-1 row-span-3 row-start-1 overflow-hidden;
85
+ border-right: 2px solid var(--color-base-100);
86
+ &:focus-visible {
87
+ @apply outline-none;
88
+ }
89
+ > * {
90
+ @apply pointer-events-none absolute top-0 bottom-0 left-0 h-full w-[100cqi] max-w-none object-cover object-center;
91
+ }
92
+ }
93
+ }
@@ -0,0 +1,148 @@
1
+ .divider {
2
+ @layer daisyui.l1.l2.l3 {
3
+ @apply flex h-4 flex-row items-center self-stretch whitespace-nowrap;
4
+ margin: var(--divider-m, 1rem 0);
5
+ /*
6
+ used --divider-color to avoid this issue
7
+ https://github.com/tailwindlabs/tailwindcss/issues/17556
8
+ https://lightningcss.dev/playground/index.html#%7B%22minify%22%3Afalse%2C%22customMedia%22%3Atrue%2C%22cssModules%22%3Afalse%2C%22analyzeDependencies%22%3Afalse%2C%22targets%22%3A%7B%22chrome%22%3A6225920%7D%2C%22include%22%3A0%2C%22exclude%22%3A0%2C%22source%22%3A%22.broken%20%7B%5Cn%20%20%26%3A%3Abefore%2C%20%26%3A%3Aafter%20%7B%5Cn%20%20%20%20background%3A%20blue%3B%5Cn%20%20%20%20%40media%20print%20%7B%5Cn%20%20%20%20%20%20background%3A%20orange%3B%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%5Cn.fine%20%7B%5Cn%20%20%26%3A%3Abefore%2C%20%26%3A%3Aafter%20%7B%5Cn%20%20%20%20background%3A%20blue%3B%5Cn%20%20%7D%5Cn%7D%22%2C%22visitorEnabled%22%3Afalse%2C%22visitor%22%3A%22%7B%5Cn%20%20Color(color)%20%7B%5Cn%20%20%20%20if%20(color.type%20%3D%3D%3D%20'rgb')%20%7B%5Cn%20%20%20%20%20%20color.g%20%3D%200%3B%5Cn%20%20%20%20%20%20return%20color%3B%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%22%2C%22unusedSymbols%22%3A%5B%5D%2C%22version%22%3A%22local%22%7D
9
+ https://github.com/tailwindlabs/tailwindcss/pull/17562
10
+ */
11
+ --divider-color: color-mix(in oklab, var(--color-base-content) 10%, transparent);
12
+
13
+ &:before,
14
+ &:after {
15
+ content: "";
16
+ @apply h-0.5 w-full grow;
17
+ background-color: var(--divider-color);
18
+ }
19
+ @media print {
20
+ &:before,
21
+ &:after {
22
+ border: 0.5px solid;
23
+ }
24
+ }
25
+
26
+ &:not(:empty) {
27
+ @apply gap-4;
28
+ }
29
+ }
30
+ }
31
+
32
+ .divider-horizontal {
33
+ @layer daisyui.l1.l2 {
34
+ --divider-m: 0 1rem;
35
+ &.divider {
36
+ @apply h-auto w-4 flex-col;
37
+
38
+ &:before {
39
+ @apply h-full w-0.5;
40
+ }
41
+
42
+ &:after {
43
+ @apply h-full w-0.5;
44
+ }
45
+ }
46
+ }
47
+ }
48
+
49
+ .divider-vertical {
50
+ @layer daisyui.l1.l2 {
51
+ --divider-m: 1rem 0;
52
+ &.divider {
53
+ @apply h-4 w-auto flex-row;
54
+
55
+ &:before {
56
+ @apply h-0.5 w-full;
57
+ }
58
+
59
+ &:after {
60
+ @apply h-0.5 w-full;
61
+ }
62
+ }
63
+ }
64
+ }
65
+
66
+ .divider-neutral {
67
+ @layer daisyui.l1.l2 {
68
+ &:before,
69
+ &:after {
70
+ @apply bg-neutral;
71
+ }
72
+ }
73
+ }
74
+
75
+ .divider-primary {
76
+ @layer daisyui.l1.l2 {
77
+ &:before,
78
+ &:after {
79
+ @apply bg-primary;
80
+ }
81
+ }
82
+ }
83
+
84
+ .divider-secondary {
85
+ @layer daisyui.l1.l2 {
86
+ &:before,
87
+ &:after {
88
+ @apply bg-secondary;
89
+ }
90
+ }
91
+ }
92
+
93
+ .divider-accent {
94
+ @layer daisyui.l1.l2 {
95
+ &:before,
96
+ &:after {
97
+ @apply bg-accent;
98
+ }
99
+ }
100
+ }
101
+
102
+ .divider-success {
103
+ @layer daisyui.l1.l2 {
104
+ &:before,
105
+ &:after {
106
+ @apply bg-success;
107
+ }
108
+ }
109
+ }
110
+
111
+ .divider-warning {
112
+ @layer daisyui.l1.l2 {
113
+ &:before,
114
+ &:after {
115
+ @apply bg-warning;
116
+ }
117
+ }
118
+ }
119
+
120
+ .divider-info {
121
+ @layer daisyui.l1.l2 {
122
+ &:before,
123
+ &:after {
124
+ @apply bg-info;
125
+ }
126
+ }
127
+ }
128
+
129
+ .divider-error {
130
+ @layer daisyui.l1.l2 {
131
+ &:before,
132
+ &:after {
133
+ @apply bg-error;
134
+ }
135
+ }
136
+ }
137
+
138
+ .divider-start:before {
139
+ @layer daisyui.l1.l2 {
140
+ @apply hidden;
141
+ }
142
+ }
143
+
144
+ .divider-end:after {
145
+ @layer daisyui.l1.l2 {
146
+ @apply hidden;
147
+ }
148
+ }
@@ -0,0 +1,123 @@
1
+ .dock {
2
+ @layer daisyui.l1.l2.l3 {
3
+ @apply bg-base-100 fixed right-0 bottom-0 left-0 z-1 flex w-full flex-row items-center justify-around p-2 text-current;
4
+ border-top: 0.5px solid color-mix(in oklab, var(--color-base-content) 5%, #0000);
5
+ height: 4rem;
6
+ height: calc(4rem + env(safe-area-inset-bottom));
7
+ padding-bottom: env(safe-area-inset-bottom);
8
+ > * {
9
+ @apply rounded-box relative mb-2 flex h-full max-w-32 shrink-1 basis-full cursor-pointer flex-col items-center justify-center gap-px bg-transparent;
10
+ transition: opacity 0.2s ease-out;
11
+ @media (hover: hover) {
12
+ &:hover {
13
+ @apply opacity-80;
14
+ }
15
+ }
16
+ &[aria-disabled="true"],
17
+ &[disabled] {
18
+ &,
19
+ &:hover {
20
+ @apply text-base-content/10 pointer-events-none opacity-100;
21
+ }
22
+ }
23
+ .dock-label {
24
+ font-size: 0.6875rem;
25
+ }
26
+ &:after {
27
+ content: "";
28
+ @apply absolute h-1 w-6 rounded-full bg-transparent;
29
+ bottom: 0.2rem;
30
+ border-top: 3px solid transparent;
31
+ transition:
32
+ background-color 0.1s ease-out,
33
+ text-color 0.1s ease-out,
34
+ width 0.1s ease-out;
35
+ }
36
+ }
37
+ }
38
+ }
39
+ .dock-active {
40
+ @layer daisyui.l1.l2 {
41
+ &:after {
42
+ @apply w-10 bg-current text-current;
43
+ }
44
+ }
45
+ }
46
+ .dock-xs {
47
+ @layer daisyui.l1.l2 {
48
+ height: 3rem;
49
+ height: calc(3rem + env(safe-area-inset-bottom));
50
+
51
+ .dock-active {
52
+ &:after {
53
+ bottom: -0.1rem;
54
+ }
55
+ }
56
+
57
+ .dock-label {
58
+ font-size: 0.625rem;
59
+ }
60
+ }
61
+ }
62
+
63
+ .dock-sm {
64
+ @layer daisyui.l1.l2 {
65
+ @apply h-14;
66
+ height: 3.5rem;
67
+ height: calc(3.5rem + env(safe-area-inset-bottom));
68
+
69
+ .dock-active {
70
+ &:after {
71
+ bottom: -0.1rem;
72
+ }
73
+ }
74
+
75
+ .dock-label {
76
+ font-size: 0.625rem;
77
+ }
78
+ }
79
+ }
80
+
81
+ .dock-md {
82
+ @layer daisyui.l1.l2 {
83
+ height: 4rem;
84
+ height: calc(4rem + env(safe-area-inset-bottom));
85
+ .dock-label {
86
+ font-size: 0.6875rem;
87
+ }
88
+ }
89
+ }
90
+
91
+ .dock-lg {
92
+ @layer daisyui.l1.l2 {
93
+ height: 4.5rem;
94
+ height: calc(4.5rem + env(safe-area-inset-bottom));
95
+
96
+ .dock-active {
97
+ &:after {
98
+ bottom: 0.4rem;
99
+ }
100
+ }
101
+
102
+ .dock-label {
103
+ font-size: 0.6875rem;
104
+ }
105
+ }
106
+ }
107
+
108
+ .dock-xl {
109
+ @layer daisyui.l1.l2 {
110
+ height: 5rem;
111
+ height: calc(5rem + env(safe-area-inset-bottom));
112
+
113
+ .dock-active {
114
+ &:after {
115
+ bottom: 0.4rem;
116
+ }
117
+ }
118
+
119
+ .dock-label {
120
+ font-size: 0.75rem;
121
+ }
122
+ }
123
+ }