daisyui 5.0.0-alpha.21 → 5.0.0-alpha.22

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 (75) hide show
  1. package/base/properties.css +49 -1
  2. package/base/rootcolor.css +43 -1
  3. package/base/scrollbar.css +37 -1
  4. package/colors/properties.css +500 -1
  5. package/colors/responsive.css +2510 -1
  6. package/colors/states.css +1840 -1
  7. package/components/alert/object.js +1 -1
  8. package/components/alert.css +433 -1
  9. package/components/avatar/object.js +1 -1
  10. package/components/avatar.css +385 -1
  11. package/components/badge/object.js +1 -1
  12. package/components/badge.css +589 -1
  13. package/components/button/object.js +1 -1
  14. package/components/button.css +1795 -1
  15. package/components/card/object.js +1 -1
  16. package/components/card.css +955 -1
  17. package/components/chat/object.js +1 -1
  18. package/components/chat.css +775 -1
  19. package/components/checkbox/object.js +1 -1
  20. package/components/checkbox.css +853 -1
  21. package/components/collapse.css +1039 -1
  22. package/components/countdown.css +121 -1
  23. package/components/divider/object.js +1 -1
  24. package/components/divider.css +643 -1
  25. package/components/dropdown/object.js +1 -1
  26. package/components/dropdown.css +1123 -1
  27. package/components/footer/object.js +1 -1
  28. package/components/footer.css +265 -1
  29. package/components/hero.css +181 -1
  30. package/components/input/class.json +1 -1
  31. package/components/input/object.js +1 -1
  32. package/components/input.css +1147 -1
  33. package/components/kbd/object.js +1 -1
  34. package/components/kbd.css +295 -1
  35. package/components/link.css +427 -1
  36. package/components/loading.css +271 -1
  37. package/components/mask.css +499 -1
  38. package/components/menu/object.js +1 -1
  39. package/components/menu.css +1411 -1
  40. package/components/navbar.css +151 -1
  41. package/components/progress.css +967 -1
  42. package/components/radialprogress.css +223 -1
  43. package/components/radio/object.js +1 -1
  44. package/components/radio.css +601 -1
  45. package/components/range/object.js +1 -1
  46. package/components/range.css +973 -1
  47. package/components/rating/object.js +1 -1
  48. package/components/rating.css +613 -1
  49. package/components/select/class.json +1 -1
  50. package/components/select/object.js +1 -1
  51. package/components/select.css +925 -1
  52. package/components/skeleton/object.js +1 -1
  53. package/components/skeleton.css +145 -1
  54. package/components/stack.css +157 -1
  55. package/components/status.css +385 -1
  56. package/components/steps/object.js +1 -1
  57. package/components/steps.css +853 -1
  58. package/components/swap/object.js +1 -1
  59. package/components/swap.css +553 -1
  60. package/components/tab/class.json +4 -4
  61. package/components/tab/object.js +1 -1
  62. package/components/tab.css +1333 -1
  63. package/components/table/object.js +1 -1
  64. package/components/table.css +781 -1
  65. package/components/timeline/object.js +1 -1
  66. package/components/timeline.css +1735 -1
  67. package/components/toggle/object.js +1 -1
  68. package/components/toggle.css +811 -1
  69. package/components/tooltip/object.js +1 -1
  70. package/components/tooltip.css +823 -1
  71. package/full.css +1 -1
  72. package/index.js +1 -1
  73. package/package.json +79 -78
  74. package/themes.css +1 -1
  75. package/utilities/join.css +757 -1
@@ -1 +1,1795 @@
1
- /*! 🌼 daisyUI 5.0.0-alpha.21 – MIT License */ .btn{height:var(--spacing-10,2.5rem);cursor:pointer;justify-content:center;align-items:center;gap:var(--spacing-2,.5rem);padding-left:var(--spacing-4,1rem);padding-right:var(--spacing-4,1rem);text-align:center;vertical-align:middle;font-size:var(--font-size-sm,.875rem);line-height:var(--line-height-none,1);--tw-font-weight:600;color:var(--color-base-content,var(--color-base-content));outline-offset:2px;outline-color:var(--color-base-content,var(--color-base-content));-webkit-user-select:none;user-select:none;--btn-color:var(--btn-bg,var(--color-base-200));background-color:var(--btn-color);border-width:var(--spacing-button-border,1px);border-color:color-mix(in oklab,var(--btn-color),black 2%);box-shadow:0 0 0 .5px oklch(1 0 0/.01)inset,var(--btn-shadow);background-origin:border-box;background-image:var(--btn-flare);--btn-shadow:0 1px 1px 0 oklch(0% 0 0/.07);--btn-flare:linear-gradient(50deg,transparent 85%,color-mix(in oklab,var(--btn-color),white 5%)),linear-gradient(-50deg,transparent 85%,color-mix(in oklab,var(--btn-color),white 5%)),linear-gradient(0,transparent,var(--btn-color)5% 95%,transparent),repeating-conic-gradient(oklch(100% 0 0/.4),transparent 20% 30%,oklch(100% 0 0/.4) 50%);border-start-start-radius:var(--radius-join-start-start,var(--radius-btn));border-start-end-radius:var(--radius-join-start-end,var(--radius-btn));border-end-end-radius:var(--radius-join-end-end,var(--radius-btn));border-end-start-radius:var(--radius-join-end-start,var(--radius-btn));flex-wrap:wrap;flex-shrink:0;font-weight:600;text-decoration-line:none;transition-property:color,background-color,background-image,border-color,opacity,box-shadow,scale;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);display:inline-flex;&:hover{--btn-color:color-mix(in oklab,var(--btn-bg,var(--color-base-200)),black 5%)}&.btn-active{--btn-color:color-mix(in oklab,var(--btn-bg,var(--color-base-200)),black 5%);--btn-shadow:0 0 0 0 oklch(0% 0 0/.07)}&:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px;outline-style:var(--tw-outline-style);outline-width:2px}&:active{&:focus{scale:var(--btn-focus-scale,.98);background-color:color-mix(in oklab,var(--btn-bg,var(--color-base-200)),black 5%);border-color:color-mix(in oklab,var(--btn-bg,var(--color-base-200)),black 7%);--btn-shadow:0 0 0 0 oklch(0% 0 0/.07);animation:ease-out button-pop}&:hover{scale:var(--btn-focus-scale,.97);animation:ease-out button-pop}}}.btn-primary{--btn-bg:var(--color-primary);color:var(--color-primary-content,var(--color-primary-content));outline-color:var(--color-primary,var(--color-primary))}.btn-secondary{--btn-bg:var(--color-secondary);color:var(--color-secondary-content,var(--color-secondary-content));outline-color:var(--color-secondary,var(--color-secondary))}.btn-accent{--btn-bg:var(--color-accent);color:var(--color-accent-content,var(--color-accent-content));outline-color:var(--color-accent,var(--color-accent))}.btn-neutral{--btn-bg:var(--color-neutral);color:var(--color-neutral-content,var(--color-neutral-content));outline-color:var(--color-neutral,var(--color-neutral))}.btn-info{--btn-bg:var(--color-info);color:var(--color-info-content,var(--color-info-content));outline-color:var(--color-info,var(--color-info))}.btn-success{--btn-bg:var(--color-success);color:var(--color-success-content,var(--color-success-content));outline-color:var(--color-success,var(--color-success))}.btn-warning{--btn-bg:var(--color-warning);color:var(--color-warning-content,var(--color-warning-content));outline-color:var(--color-warning,var(--color-warning))}.btn-error{--btn-bg:var(--color-error);color:var(--color-error-content,var(--color-error-content));outline-color:var(--color-error,var(--color-error))}.btn.glass{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline-color:currentColor;&:hover{@media (hover:hover){&{--glass-border-opacity:15%}}}&:hover{@media (hover:hover){&{--glass-opacity:25%}}}&.btn-active{--glass-border-opacity:15%;--glass-opacity:25%}}.btn-ghost{border-style:var(--tw-border-style);color:currentColor;--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--btn-flare:unset;background-color:#0000;border-width:1px;border-color:#0000;outline-color:currentColor}.btn-link{color:var(--color-primary,var(--color-primary));--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--btn-flare:unset;background-color:#0000;border-color:#0000;outline-color:currentColor;text-decoration-line:underline;&:hover{@media (hover:hover){&{border-color:#0000}}}&:hover{@media (hover:hover){&{background-color:#0000}}}&:hover{@media (hover:hover){&{text-decoration-line:underline}}}&.btn-active{background-color:#0000;border-color:#0000;text-decoration-line:underline}}.btn-outline{&:not(.btn-active,:hover,:focus-visible){color:var(--btn-bg);--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--btn-flare:unset;background-color:#0000}}.btn-dash{&:not(.btn-active,:hover,:focus-visible){--tw-border-style:dashed;color:var(--btn-bg);--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--btn-flare:unset;background-color:#0000;border-style:dashed}}.btn-soft{&:not(.btn-active,:hover,:focus-visible){--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);color:var(--btn-bg,var(--color-base-content));background:color-mix(in oklab,var(--btn-bg,var(--color-base-content))8%,var(--color-base-200));border-color:color-mix(in oklab,var(--btn-bg,var(--color-base-content))10%,var(--color-base-200));--btn-flare:unset}}.btn{&:is(:disabled,[disabled],.btn-disabled){pointer-events:none;background-color:color-mix(in srgb,var(--color-neutral,var(--color-neutral))20%,transparent);color:color-mix(in srgb,var(--color-base-content,var(--color-base-content))20%,transparent);--btn-flare:unset;border-color:#0000;&:hover{pointer-events:none;background-color:color-mix(in srgb,var(--color-neutral,var(--color-neutral))20%,transparent);color:color-mix(in srgb,var(--color-base-content,var(--color-base-content))20%,transparent);border-color:#0000}}}.btn{&:is(input[type=checkbox]),&:is(input[type=radio]){appearance:none;&:not(.btn-square,.btn-circle){width:auto}&:after{--tw-content:attr(aria-label);content:var(--tw-content)}&:checked{--btn-bg:var(--color-primary);border-color:var(--color-primary,var(--color-primary));background-color:var(--color-primary,var(--color-primary));color:var(--color-primary-content,var(--color-primary-content));&:focus-visible{outline-color:var(--color-primary,var(--color-primary))}&:hover{background-color:color-mix(in oklab,var(--color-primary)90%,black);border-color:color-mix(in oklab,var(--color-primary)90%,black)}}}}.btn-xs{height:var(--spacing-6,1.5rem);padding-left:var(--spacing-2,.5rem);padding-right:var(--spacing-2,.5rem);font-size:var(--font-size-xs)}.btn-sm{height:var(--spacing-8,2rem);padding-left:var(--spacing-3,.75rem);padding-right:var(--spacing-3,.75rem);font-size:var(--font-size-sm)}.btn-md{height:var(--spacing-10,2.5rem);padding-left:var(--spacing-4,1rem);padding-right:var(--spacing-4,1rem);font-size:var(--font-size-sm)}.btn-lg{height:var(--spacing-14,3.5rem);padding-left:var(--spacing-6,1.5rem);padding-right:var(--spacing-6,1.5rem);font-size:var(--font-size-lg)}.btn-square{width:var(--spacing-12,3rem);height:var(--spacing-12,3rem);padding-left:var(--spacing-0,0px);padding-right:var(--spacing-0,0px);&.btn-xs{width:var(--spacing-6,1.5rem);height:var(--spacing-6,1.5rem)}&.btn-sm{width:var(--spacing-8,2rem);height:var(--spacing-8,2rem)}&.btn-md{width:var(--spacing-12,3rem);height:var(--spacing-12,3rem)}&.btn-lg{width:var(--spacing-16,4rem);height:var(--spacing-16,4rem)}}.btn-circle{aspect-ratio:1;padding-left:var(--spacing-0,0px);padding-right:var(--spacing-0,0px);border-radius:3.40282e38px}.btn-wide{width:var(--spacing-64,16rem)}.btn-block{width:100%}@keyframes button-pop{0%{scale:var(--btn-focus-scale,.98)}40%{scale:1.02}to{scale:1}}
1
+ .btn {
2
+ display: inline-flex;
3
+ height: var(--spacing-10, 2.5rem);
4
+ flex-shrink: 0;
5
+ cursor: pointer;
6
+ flex-wrap: wrap;
7
+ align-items: center;
8
+ justify-content: center;
9
+ gap: var(--spacing-2, 0.5rem);
10
+ padding-left: var(--spacing-4, 1rem);
11
+ padding-right: var(--spacing-4, 1rem);
12
+ text-align: center;
13
+ vertical-align: middle;
14
+ font-size: var(--font-size-sm, 0.875rem);
15
+ line-height: var(--line-height-none, 1);
16
+ color: var(--color-base-content, );
17
+ text-decoration-line: none;
18
+ outline-offset: 2px;
19
+ -webkit-user-select: none;
20
+ user-select: none;
21
+ outline-color: var(--color-base-content);
22
+ font-weight: 600;
23
+ transition-property: color, background-color, background-image, border-color, opacity, box-shadow, scale;
24
+ transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
25
+ transition-duration: .2s;
26
+ border-start-start-radius: var(--radius-join-start-start, var(--radius-btn));
27
+ border-start-end-radius: var(--radius-join-start-end, var(--radius-btn));
28
+ border-end-start-radius: var(--radius-join-end-start, var(--radius-btn));
29
+ border-end-end-radius: var(--radius-join-end-end, var(--radius-btn));
30
+ --btn-color: var(--btn-bg, var(--color-base-200));
31
+ background-color: var(--btn-color);
32
+ border: var(--spacing-button-border, 1px) solid color-mix(in oklab, var(--btn-color), black 2%);
33
+ box-shadow: 0 0 0 0.5px oklch(1 0 0 / 0.01) inset, var(--btn-shadow);
34
+ background-origin: border-box;
35
+ background-image: var(--btn-flare);
36
+ --btn-shadow: 0 1px 1px 0 oklch(0% 0 0/0.07);
37
+ --btn-flare: linear-gradient(50deg, transparent 85%, color-mix(in oklab, var(--btn-color), white 5%)),
38
+ linear-gradient(-50deg, transparent 85%, color-mix(in oklab, var(--btn-color), white 5%)),
39
+ linear-gradient(0, transparent, var(--btn-color) 5% 95%, transparent),
40
+ repeating-conic-gradient(oklch(100% 0 0 / .4),
41
+ transparent 20% 30%,
42
+ oklch(100% 0 0 / .4) 50%);
43
+ &:hover {
44
+ --btn-color: color-mix(in oklab, var(--btn-bg, var(--color-base-200)), black 5%);
45
+ }
46
+ &.btn-active {
47
+ --btn-color: color-mix(in oklab, var(--btn-bg, var(--color-base-200)), black 5%);
48
+ --btn-shadow: 0 0 0 0 oklch(0% 0 0/.07);
49
+ }
50
+ &:focus-visible {
51
+ outline-width: 2px;
52
+ outline-style: solid;
53
+ }
54
+ &:active {
55
+ &:focus {
56
+ scale: var(--btn-focus-scale, 0.98);
57
+ animation: button-pop 0s ease-out;
58
+ background-color: color-mix(in oklab, var(--btn-bg, var(--color-base-200)), black 5%);
59
+ border-color: color-mix(in oklab, var(--btn-bg, var(--color-base-200)), black 7%);
60
+ --btn-shadow: 0 0 0 0 oklch(0% 0 0/0.07);
61
+ }
62
+ &:hover {
63
+ scale: var(--btn-focus-scale, 0.97);
64
+ animation: button-pop 0s ease-out;
65
+ }
66
+ }
67
+ }
68
+ .btn-primary {
69
+ --btn-bg: var(--color-primary);
70
+ color: var(--color-primary-content, );
71
+ outline-color: var(--color-primary, );
72
+ }
73
+ .btn-secondary {
74
+ --btn-bg: var(--color-secondary);
75
+ color: var(--color-secondary-content, );
76
+ outline-color: var(--color-secondary, );
77
+ }
78
+ .btn-accent {
79
+ --btn-bg: var(--color-accent);
80
+ color: var(--color-accent-content, );
81
+ outline-color: var(--color-accent, );
82
+ }
83
+ .btn-neutral {
84
+ --btn-bg: var(--color-neutral);
85
+ color: var(--color-neutral-content, );
86
+ outline-color: var(--color-neutral, );
87
+ }
88
+ .btn-info {
89
+ --btn-bg: var(--color-info);
90
+ color: var(--color-info-content, );
91
+ outline-color: var(--color-info, );
92
+ }
93
+ .btn-success {
94
+ --btn-bg: var(--color-success);
95
+ color: var(--color-success-content, );
96
+ outline-color: var(--color-success, );
97
+ }
98
+ .btn-warning {
99
+ --btn-bg: var(--color-warning);
100
+ color: var(--color-warning-content, );
101
+ outline-color: var(--color-warning, );
102
+ }
103
+ .btn-error {
104
+ --btn-bg: var(--color-error);
105
+ color: var(--color-error-content, );
106
+ outline-color: var(--color-error, );
107
+ }
108
+ .btn.glass {
109
+ box-shadow: none;
110
+ outline-color: currentColor;
111
+ &:hover {
112
+ @media (hover: hover) {
113
+ --glass-border-opacity: 15%;
114
+ }
115
+ }
116
+ &:hover {
117
+ @media (hover: hover) {
118
+ --glass-opacity: 25%;
119
+ }
120
+ }
121
+ &.btn-active {
122
+ --glass-border-opacity: 15%;
123
+ --glass-opacity: 25%;
124
+ }
125
+ }
126
+ .btn-ghost {
127
+ box-shadow: none;
128
+ border: 1px solid transparent;
129
+ background-color: transparent;
130
+ color: currentColor;
131
+ outline-color: currentColor;
132
+ --btn-flare: unset;
133
+ }
134
+ .btn-link {
135
+ box-shadow: none;
136
+ border-color: transparent;
137
+ background-color: transparent;
138
+ color: var(--color-primary, );
139
+ text-decoration-line: underline;
140
+ outline-color: currentColor;
141
+ &:hover {
142
+ @media (hover: hover) {
143
+ border-color: transparent;
144
+ }
145
+ }
146
+ &:hover {
147
+ @media (hover: hover) {
148
+ background-color: transparent;
149
+ }
150
+ }
151
+ &:hover {
152
+ @media (hover: hover) {
153
+ text-decoration-line: underline;
154
+ }
155
+ }
156
+ --btn-flare: unset;
157
+ &.btn-active {
158
+ border-color: transparent;
159
+ background-color: transparent;
160
+ text-decoration-line: underline;
161
+ }
162
+ }
163
+ .btn-outline {
164
+ &:not(.btn-active, :hover, :focus-visible) {
165
+ box-shadow: none;
166
+ background-color: transparent;
167
+ color: var(--btn-bg);
168
+ --btn-flare: unset;
169
+ }
170
+ }
171
+ .btn-dash {
172
+ &:not(.btn-active, :hover, :focus-visible) {
173
+ box-shadow: none;
174
+ border-style: dashed;
175
+ background-color: transparent;
176
+ color: var(--btn-bg);
177
+ --btn-flare: unset;
178
+ }
179
+ }
180
+ .btn-soft {
181
+ &:not(.btn-active, :hover, :focus-visible) {
182
+ box-shadow: none;
183
+ color: var(--btn-bg, var(--color-base-content));
184
+ background: color-mix(in oklab, var(--btn-bg, var(--color-base-content)) 8%, var(--color-base-200));
185
+ border-color: color-mix(in oklab, var(--btn-bg, var(--color-base-content)) 10%, var(--color-base-200));
186
+ --btn-flare: unset;
187
+ }
188
+ }
189
+ .btn {
190
+ &:is(:disabled, [disabled], .btn-disabled) {
191
+ pointer-events: none;
192
+ border-color: transparent;
193
+ background-color: color-mix(in srgb, var(--color-neutral, ) 20%, transparent);
194
+ color: color-mix(in srgb, var(--color-base-content, ) 20%, transparent);
195
+ --btn-flare: unset;
196
+ &:hover {
197
+ pointer-events: none;
198
+ border-color: transparent;
199
+ background-color: color-mix(in srgb, var(--color-neutral, ) 20%, transparent);
200
+ color: color-mix(in srgb, var(--color-base-content, ) 20%, transparent);
201
+ }
202
+ }
203
+ }
204
+ .btn {
205
+ &:is(input[type=checkbox]), &:is(input[type=radio]) {
206
+ appearance: none;
207
+ &:not(.btn-square, .btn-circle) {
208
+ width: auto;
209
+ }
210
+ &::after {
211
+ content: attr(aria-label);
212
+ }
213
+ &:checked {
214
+ --btn-bg: var(--color-primary);
215
+ border-color: var(--color-primary, );
216
+ background-color: var(--color-primary, );
217
+ color: var(--color-primary-content, );
218
+ &:focus-visible {
219
+ outline-color: var(--color-primary, );
220
+ }
221
+ &:hover {
222
+ background-color: color-mix(in oklab, var(--color-primary) 90%, black);
223
+ border-color: color-mix(in oklab, var(--color-primary) 90%, black);
224
+ }
225
+ }
226
+ }
227
+ }
228
+ .btn-xs {
229
+ height: var(--spacing-6, 1.5rem);
230
+ padding-left: var(--spacing-2, 0.5rem);
231
+ padding-right: var(--spacing-2, 0.5rem);
232
+ font-size: var(--font-size-xs);
233
+ }
234
+ .btn-sm {
235
+ height: var(--spacing-8, 2rem);
236
+ padding-left: var(--spacing-3, 0.75rem);
237
+ padding-right: var(--spacing-3, 0.75rem);
238
+ font-size: var(--font-size-sm);
239
+ }
240
+ .btn-md {
241
+ height: var(--spacing-10, 2.5rem);
242
+ padding-left: var(--spacing-4, 1rem);
243
+ padding-right: var(--spacing-4, 1rem);
244
+ font-size: var(--font-size-sm);
245
+ }
246
+ .btn-lg {
247
+ height: var(--spacing-14, 3.5rem);
248
+ padding-left: var(--spacing-6, 1.5rem);
249
+ padding-right: var(--spacing-6, 1.5rem);
250
+ font-size: var(--font-size-lg);
251
+ }
252
+ .btn-square {
253
+ width: var(--spacing-12, 3rem);
254
+ height: var(--spacing-12, 3rem);
255
+ padding-left: var(--spacing-0, 0px);
256
+ padding-right: var(--spacing-0, 0px);
257
+ &.btn-xs {
258
+ width: var(--spacing-6, 1.5rem);
259
+ height: var(--spacing-6, 1.5rem);
260
+ }
261
+ &.btn-sm {
262
+ width: var(--spacing-8, 2rem);
263
+ height: var(--spacing-8, 2rem);
264
+ }
265
+ &.btn-md {
266
+ width: var(--spacing-12, 3rem);
267
+ height: var(--spacing-12, 3rem);
268
+ }
269
+ &.btn-lg {
270
+ width: var(--spacing-16, 4rem);
271
+ height: var(--spacing-16, 4rem);
272
+ }
273
+ }
274
+ .btn-circle {
275
+ aspect-ratio: 1 / 1;
276
+ border-radius: calc(infinity * 1px);
277
+ padding-left: var(--spacing-0, 0px);
278
+ padding-right: var(--spacing-0, 0px);
279
+ }
280
+ .btn-wide {
281
+ width: var(--spacing-64, 16rem);
282
+ }
283
+ .btn-block {
284
+ width: 100%;
285
+ }
286
+ @keyframes button-pop {
287
+ 0% {
288
+ scale: var(--btn-focus-scale, 0.98);
289
+ }
290
+ 40% {
291
+ scale: 1.02;
292
+ }
293
+ 100% {
294
+ scale: 1;
295
+ }
296
+ }
297
+ @media (min-width: 640px) {
298
+ .sm\:btn {
299
+ display: inline-flex;
300
+ height: var(--spacing-10, 2.5rem);
301
+ flex-shrink: 0;
302
+ cursor: pointer;
303
+ flex-wrap: wrap;
304
+ align-items: center;
305
+ justify-content: center;
306
+ gap: var(--spacing-2, 0.5rem);
307
+ padding-left: var(--spacing-4, 1rem);
308
+ padding-right: var(--spacing-4, 1rem);
309
+ text-align: center;
310
+ vertical-align: middle;
311
+ font-size: var(--font-size-sm, 0.875rem);
312
+ line-height: var(--line-height-none, 1);
313
+ color: var(--color-base-content, );
314
+ text-decoration-line: none;
315
+ outline-offset: 2px;
316
+ -webkit-user-select: none;
317
+ user-select: none;
318
+ outline-color: var(--color-base-content);
319
+ font-weight: 600;
320
+ transition-property: color, background-color, background-image, border-color, opacity, box-shadow, scale;
321
+ transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
322
+ transition-duration: .2s;
323
+ border-start-start-radius: var(--radius-join-start-start, var(--radius-btn));
324
+ border-start-end-radius: var(--radius-join-start-end, var(--radius-btn));
325
+ border-end-start-radius: var(--radius-join-end-start, var(--radius-btn));
326
+ border-end-end-radius: var(--radius-join-end-end, var(--radius-btn));
327
+ --btn-color: var(--btn-bg, var(--color-base-200));
328
+ background-color: var(--btn-color);
329
+ border: var(--spacing-button-border, 1px) solid color-mix(in oklab, var(--btn-color), black 2%);
330
+ box-shadow: 0 0 0 0.5px oklch(1 0 0 / 0.01) inset, var(--btn-shadow);
331
+ background-origin: border-box;
332
+ background-image: var(--btn-flare);
333
+ --btn-shadow: 0 1px 1px 0 oklch(0% 0 0/0.07);
334
+ --btn-flare: linear-gradient(50deg, transparent 85%, color-mix(in oklab, var(--btn-color), white 5%)),
335
+ linear-gradient(-50deg, transparent 85%, color-mix(in oklab, var(--btn-color), white 5%)),
336
+ linear-gradient(0, transparent, var(--btn-color) 5% 95%, transparent),
337
+ repeating-conic-gradient(oklch(100% 0 0 / .4),
338
+ transparent 20% 30%,
339
+ oklch(100% 0 0 / .4) 50%);
340
+ &:hover {
341
+ --btn-color: color-mix(in oklab, var(--btn-bg, var(--color-base-200)), black 5%);
342
+ }
343
+ &.btn-active {
344
+ --btn-color: color-mix(in oklab, var(--btn-bg, var(--color-base-200)), black 5%);
345
+ --btn-shadow: 0 0 0 0 oklch(0% 0 0/.07);
346
+ }
347
+ &:focus-visible {
348
+ outline-width: 2px;
349
+ outline-style: solid;
350
+ }
351
+ &:active {
352
+ &:focus {
353
+ scale: var(--btn-focus-scale, 0.98);
354
+ animation: button-pop 0s ease-out;
355
+ background-color: color-mix(in oklab, var(--btn-bg, var(--color-base-200)), black 5%);
356
+ border-color: color-mix(in oklab, var(--btn-bg, var(--color-base-200)), black 7%);
357
+ --btn-shadow: 0 0 0 0 oklch(0% 0 0/0.07);
358
+ }
359
+ &:hover {
360
+ scale: var(--btn-focus-scale, 0.97);
361
+ animation: button-pop 0s ease-out;
362
+ }
363
+ }
364
+ }
365
+ .sm\:btn-primary {
366
+ --btn-bg: var(--color-primary);
367
+ color: var(--color-primary-content, );
368
+ outline-color: var(--color-primary, );
369
+ }
370
+ .sm\:btn-secondary {
371
+ --btn-bg: var(--color-secondary);
372
+ color: var(--color-secondary-content, );
373
+ outline-color: var(--color-secondary, );
374
+ }
375
+ .sm\:btn-accent {
376
+ --btn-bg: var(--color-accent);
377
+ color: var(--color-accent-content, );
378
+ outline-color: var(--color-accent, );
379
+ }
380
+ .sm\:btn-neutral {
381
+ --btn-bg: var(--color-neutral);
382
+ color: var(--color-neutral-content, );
383
+ outline-color: var(--color-neutral, );
384
+ }
385
+ .sm\:btn-info {
386
+ --btn-bg: var(--color-info);
387
+ color: var(--color-info-content, );
388
+ outline-color: var(--color-info, );
389
+ }
390
+ .sm\:btn-success {
391
+ --btn-bg: var(--color-success);
392
+ color: var(--color-success-content, );
393
+ outline-color: var(--color-success, );
394
+ }
395
+ .sm\:btn-warning {
396
+ --btn-bg: var(--color-warning);
397
+ color: var(--color-warning-content, );
398
+ outline-color: var(--color-warning, );
399
+ }
400
+ .sm\:btn-error {
401
+ --btn-bg: var(--color-error);
402
+ color: var(--color-error-content, );
403
+ outline-color: var(--color-error, );
404
+ }
405
+ .sm\:btn.glass {
406
+ box-shadow: none;
407
+ outline-color: currentColor;
408
+ &:hover {
409
+ @media (hover: hover) {
410
+ --glass-border-opacity: 15%;
411
+ }
412
+ }
413
+ &:hover {
414
+ @media (hover: hover) {
415
+ --glass-opacity: 25%;
416
+ }
417
+ }
418
+ &.btn-active {
419
+ --glass-border-opacity: 15%;
420
+ --glass-opacity: 25%;
421
+ }
422
+ }
423
+ .sm\:btn-ghost {
424
+ box-shadow: none;
425
+ border: 1px solid transparent;
426
+ background-color: transparent;
427
+ color: currentColor;
428
+ outline-color: currentColor;
429
+ --btn-flare: unset;
430
+ }
431
+ .sm\:btn-link {
432
+ box-shadow: none;
433
+ border-color: transparent;
434
+ background-color: transparent;
435
+ color: var(--color-primary, );
436
+ text-decoration-line: underline;
437
+ outline-color: currentColor;
438
+ &:hover {
439
+ @media (hover: hover) {
440
+ border-color: transparent;
441
+ }
442
+ }
443
+ &:hover {
444
+ @media (hover: hover) {
445
+ background-color: transparent;
446
+ }
447
+ }
448
+ &:hover {
449
+ @media (hover: hover) {
450
+ text-decoration-line: underline;
451
+ }
452
+ }
453
+ --btn-flare: unset;
454
+ &.btn-active {
455
+ border-color: transparent;
456
+ background-color: transparent;
457
+ text-decoration-line: underline;
458
+ }
459
+ }
460
+ .sm\:btn-outline {
461
+ &:not(.btn-active, :hover, :focus-visible) {
462
+ box-shadow: none;
463
+ background-color: transparent;
464
+ color: var(--btn-bg);
465
+ --btn-flare: unset;
466
+ }
467
+ }
468
+ .sm\:btn-dash {
469
+ &:not(.btn-active, :hover, :focus-visible) {
470
+ box-shadow: none;
471
+ border-style: dashed;
472
+ background-color: transparent;
473
+ color: var(--btn-bg);
474
+ --btn-flare: unset;
475
+ }
476
+ }
477
+ .sm\:btn-soft {
478
+ &:not(.btn-active, :hover, :focus-visible) {
479
+ box-shadow: none;
480
+ color: var(--btn-bg, var(--color-base-content));
481
+ background: color-mix(in oklab, var(--btn-bg, var(--color-base-content)) 8%, var(--color-base-200));
482
+ border-color: color-mix(in oklab, var(--btn-bg, var(--color-base-content)) 10%, var(--color-base-200));
483
+ --btn-flare: unset;
484
+ }
485
+ }
486
+ .sm\:btn {
487
+ &:is(:disabled, [disabled], .btn-disabled) {
488
+ pointer-events: none;
489
+ border-color: transparent;
490
+ background-color: color-mix(in srgb, var(--color-neutral, ) 20%, transparent);
491
+ color: color-mix(in srgb, var(--color-base-content, ) 20%, transparent);
492
+ --btn-flare: unset;
493
+ &:hover {
494
+ pointer-events: none;
495
+ border-color: transparent;
496
+ background-color: color-mix(in srgb, var(--color-neutral, ) 20%, transparent);
497
+ color: color-mix(in srgb, var(--color-base-content, ) 20%, transparent);
498
+ }
499
+ }
500
+ }
501
+ .sm\:btn {
502
+ &:is(input[type=checkbox]), &:is(input[type=radio]) {
503
+ appearance: none;
504
+ &:not(.btn-square, .btn-circle) {
505
+ width: auto;
506
+ }
507
+ &::after {
508
+ content: attr(aria-label);
509
+ }
510
+ &:checked {
511
+ --btn-bg: var(--color-primary);
512
+ border-color: var(--color-primary, );
513
+ background-color: var(--color-primary, );
514
+ color: var(--color-primary-content, );
515
+ &:focus-visible {
516
+ outline-color: var(--color-primary, );
517
+ }
518
+ &:hover {
519
+ background-color: color-mix(in oklab, var(--color-primary) 90%, black);
520
+ border-color: color-mix(in oklab, var(--color-primary) 90%, black);
521
+ }
522
+ }
523
+ }
524
+ }
525
+ .sm\:btn-xs {
526
+ height: var(--spacing-6, 1.5rem);
527
+ padding-left: var(--spacing-2, 0.5rem);
528
+ padding-right: var(--spacing-2, 0.5rem);
529
+ font-size: var(--font-size-xs);
530
+ }
531
+ .sm\:btn-sm {
532
+ height: var(--spacing-8, 2rem);
533
+ padding-left: var(--spacing-3, 0.75rem);
534
+ padding-right: var(--spacing-3, 0.75rem);
535
+ font-size: var(--font-size-sm);
536
+ }
537
+ .sm\:btn-md {
538
+ height: var(--spacing-10, 2.5rem);
539
+ padding-left: var(--spacing-4, 1rem);
540
+ padding-right: var(--spacing-4, 1rem);
541
+ font-size: var(--font-size-sm);
542
+ }
543
+ .sm\:btn-lg {
544
+ height: var(--spacing-14, 3.5rem);
545
+ padding-left: var(--spacing-6, 1.5rem);
546
+ padding-right: var(--spacing-6, 1.5rem);
547
+ font-size: var(--font-size-lg);
548
+ }
549
+ .sm\:btn-square {
550
+ width: var(--spacing-12, 3rem);
551
+ height: var(--spacing-12, 3rem);
552
+ padding-left: var(--spacing-0, 0px);
553
+ padding-right: var(--spacing-0, 0px);
554
+ &.btn-xs {
555
+ width: var(--spacing-6, 1.5rem);
556
+ height: var(--spacing-6, 1.5rem);
557
+ }
558
+ &.btn-sm {
559
+ width: var(--spacing-8, 2rem);
560
+ height: var(--spacing-8, 2rem);
561
+ }
562
+ &.btn-md {
563
+ width: var(--spacing-12, 3rem);
564
+ height: var(--spacing-12, 3rem);
565
+ }
566
+ &.btn-lg {
567
+ width: var(--spacing-16, 4rem);
568
+ height: var(--spacing-16, 4rem);
569
+ }
570
+ }
571
+ .sm\:btn-circle {
572
+ aspect-ratio: 1 / 1;
573
+ border-radius: calc(infinity * 1px);
574
+ padding-left: var(--spacing-0, 0px);
575
+ padding-right: var(--spacing-0, 0px);
576
+ }
577
+ .sm\:btn-wide {
578
+ width: var(--spacing-64, 16rem);
579
+ }
580
+ .sm\:btn-block {
581
+ width: 100%;
582
+ }
583
+ @keyframes button-pop {
584
+ 0% {
585
+ scale: var(--btn-focus-scale, 0.98);
586
+ }
587
+ 40% {
588
+ scale: 1.02;
589
+ }
590
+ 100% {
591
+ scale: 1;
592
+ }
593
+ }
594
+ }
595
+
596
+
597
+ @media (min-width: 768px) {
598
+ .md\:btn {
599
+ display: inline-flex;
600
+ height: var(--spacing-10, 2.5rem);
601
+ flex-shrink: 0;
602
+ cursor: pointer;
603
+ flex-wrap: wrap;
604
+ align-items: center;
605
+ justify-content: center;
606
+ gap: var(--spacing-2, 0.5rem);
607
+ padding-left: var(--spacing-4, 1rem);
608
+ padding-right: var(--spacing-4, 1rem);
609
+ text-align: center;
610
+ vertical-align: middle;
611
+ font-size: var(--font-size-sm, 0.875rem);
612
+ line-height: var(--line-height-none, 1);
613
+ color: var(--color-base-content, );
614
+ text-decoration-line: none;
615
+ outline-offset: 2px;
616
+ -webkit-user-select: none;
617
+ user-select: none;
618
+ outline-color: var(--color-base-content);
619
+ font-weight: 600;
620
+ transition-property: color, background-color, background-image, border-color, opacity, box-shadow, scale;
621
+ transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
622
+ transition-duration: .2s;
623
+ border-start-start-radius: var(--radius-join-start-start, var(--radius-btn));
624
+ border-start-end-radius: var(--radius-join-start-end, var(--radius-btn));
625
+ border-end-start-radius: var(--radius-join-end-start, var(--radius-btn));
626
+ border-end-end-radius: var(--radius-join-end-end, var(--radius-btn));
627
+ --btn-color: var(--btn-bg, var(--color-base-200));
628
+ background-color: var(--btn-color);
629
+ border: var(--spacing-button-border, 1px) solid color-mix(in oklab, var(--btn-color), black 2%);
630
+ box-shadow: 0 0 0 0.5px oklch(1 0 0 / 0.01) inset, var(--btn-shadow);
631
+ background-origin: border-box;
632
+ background-image: var(--btn-flare);
633
+ --btn-shadow: 0 1px 1px 0 oklch(0% 0 0/0.07);
634
+ --btn-flare: linear-gradient(50deg, transparent 85%, color-mix(in oklab, var(--btn-color), white 5%)),
635
+ linear-gradient(-50deg, transparent 85%, color-mix(in oklab, var(--btn-color), white 5%)),
636
+ linear-gradient(0, transparent, var(--btn-color) 5% 95%, transparent),
637
+ repeating-conic-gradient(oklch(100% 0 0 / .4),
638
+ transparent 20% 30%,
639
+ oklch(100% 0 0 / .4) 50%);
640
+ &:hover {
641
+ --btn-color: color-mix(in oklab, var(--btn-bg, var(--color-base-200)), black 5%);
642
+ }
643
+ &.btn-active {
644
+ --btn-color: color-mix(in oklab, var(--btn-bg, var(--color-base-200)), black 5%);
645
+ --btn-shadow: 0 0 0 0 oklch(0% 0 0/.07);
646
+ }
647
+ &:focus-visible {
648
+ outline-width: 2px;
649
+ outline-style: solid;
650
+ }
651
+ &:active {
652
+ &:focus {
653
+ scale: var(--btn-focus-scale, 0.98);
654
+ animation: button-pop 0s ease-out;
655
+ background-color: color-mix(in oklab, var(--btn-bg, var(--color-base-200)), black 5%);
656
+ border-color: color-mix(in oklab, var(--btn-bg, var(--color-base-200)), black 7%);
657
+ --btn-shadow: 0 0 0 0 oklch(0% 0 0/0.07);
658
+ }
659
+ &:hover {
660
+ scale: var(--btn-focus-scale, 0.97);
661
+ animation: button-pop 0s ease-out;
662
+ }
663
+ }
664
+ }
665
+ .md\:btn-primary {
666
+ --btn-bg: var(--color-primary);
667
+ color: var(--color-primary-content, );
668
+ outline-color: var(--color-primary, );
669
+ }
670
+ .md\:btn-secondary {
671
+ --btn-bg: var(--color-secondary);
672
+ color: var(--color-secondary-content, );
673
+ outline-color: var(--color-secondary, );
674
+ }
675
+ .md\:btn-accent {
676
+ --btn-bg: var(--color-accent);
677
+ color: var(--color-accent-content, );
678
+ outline-color: var(--color-accent, );
679
+ }
680
+ .md\:btn-neutral {
681
+ --btn-bg: var(--color-neutral);
682
+ color: var(--color-neutral-content, );
683
+ outline-color: var(--color-neutral, );
684
+ }
685
+ .md\:btn-info {
686
+ --btn-bg: var(--color-info);
687
+ color: var(--color-info-content, );
688
+ outline-color: var(--color-info, );
689
+ }
690
+ .md\:btn-success {
691
+ --btn-bg: var(--color-success);
692
+ color: var(--color-success-content, );
693
+ outline-color: var(--color-success, );
694
+ }
695
+ .md\:btn-warning {
696
+ --btn-bg: var(--color-warning);
697
+ color: var(--color-warning-content, );
698
+ outline-color: var(--color-warning, );
699
+ }
700
+ .md\:btn-error {
701
+ --btn-bg: var(--color-error);
702
+ color: var(--color-error-content, );
703
+ outline-color: var(--color-error, );
704
+ }
705
+ .md\:btn.glass {
706
+ box-shadow: none;
707
+ outline-color: currentColor;
708
+ &:hover {
709
+ @media (hover: hover) {
710
+ --glass-border-opacity: 15%;
711
+ }
712
+ }
713
+ &:hover {
714
+ @media (hover: hover) {
715
+ --glass-opacity: 25%;
716
+ }
717
+ }
718
+ &.btn-active {
719
+ --glass-border-opacity: 15%;
720
+ --glass-opacity: 25%;
721
+ }
722
+ }
723
+ .md\:btn-ghost {
724
+ box-shadow: none;
725
+ border: 1px solid transparent;
726
+ background-color: transparent;
727
+ color: currentColor;
728
+ outline-color: currentColor;
729
+ --btn-flare: unset;
730
+ }
731
+ .md\:btn-link {
732
+ box-shadow: none;
733
+ border-color: transparent;
734
+ background-color: transparent;
735
+ color: var(--color-primary, );
736
+ text-decoration-line: underline;
737
+ outline-color: currentColor;
738
+ &:hover {
739
+ @media (hover: hover) {
740
+ border-color: transparent;
741
+ }
742
+ }
743
+ &:hover {
744
+ @media (hover: hover) {
745
+ background-color: transparent;
746
+ }
747
+ }
748
+ &:hover {
749
+ @media (hover: hover) {
750
+ text-decoration-line: underline;
751
+ }
752
+ }
753
+ --btn-flare: unset;
754
+ &.btn-active {
755
+ border-color: transparent;
756
+ background-color: transparent;
757
+ text-decoration-line: underline;
758
+ }
759
+ }
760
+ .md\:btn-outline {
761
+ &:not(.btn-active, :hover, :focus-visible) {
762
+ box-shadow: none;
763
+ background-color: transparent;
764
+ color: var(--btn-bg);
765
+ --btn-flare: unset;
766
+ }
767
+ }
768
+ .md\:btn-dash {
769
+ &:not(.btn-active, :hover, :focus-visible) {
770
+ box-shadow: none;
771
+ border-style: dashed;
772
+ background-color: transparent;
773
+ color: var(--btn-bg);
774
+ --btn-flare: unset;
775
+ }
776
+ }
777
+ .md\:btn-soft {
778
+ &:not(.btn-active, :hover, :focus-visible) {
779
+ box-shadow: none;
780
+ color: var(--btn-bg, var(--color-base-content));
781
+ background: color-mix(in oklab, var(--btn-bg, var(--color-base-content)) 8%, var(--color-base-200));
782
+ border-color: color-mix(in oklab, var(--btn-bg, var(--color-base-content)) 10%, var(--color-base-200));
783
+ --btn-flare: unset;
784
+ }
785
+ }
786
+ .md\:btn {
787
+ &:is(:disabled, [disabled], .btn-disabled) {
788
+ pointer-events: none;
789
+ border-color: transparent;
790
+ background-color: color-mix(in srgb, var(--color-neutral, ) 20%, transparent);
791
+ color: color-mix(in srgb, var(--color-base-content, ) 20%, transparent);
792
+ --btn-flare: unset;
793
+ &:hover {
794
+ pointer-events: none;
795
+ border-color: transparent;
796
+ background-color: color-mix(in srgb, var(--color-neutral, ) 20%, transparent);
797
+ color: color-mix(in srgb, var(--color-base-content, ) 20%, transparent);
798
+ }
799
+ }
800
+ }
801
+ .md\:btn {
802
+ &:is(input[type=checkbox]), &:is(input[type=radio]) {
803
+ appearance: none;
804
+ &:not(.btn-square, .btn-circle) {
805
+ width: auto;
806
+ }
807
+ &::after {
808
+ content: attr(aria-label);
809
+ }
810
+ &:checked {
811
+ --btn-bg: var(--color-primary);
812
+ border-color: var(--color-primary, );
813
+ background-color: var(--color-primary, );
814
+ color: var(--color-primary-content, );
815
+ &:focus-visible {
816
+ outline-color: var(--color-primary, );
817
+ }
818
+ &:hover {
819
+ background-color: color-mix(in oklab, var(--color-primary) 90%, black);
820
+ border-color: color-mix(in oklab, var(--color-primary) 90%, black);
821
+ }
822
+ }
823
+ }
824
+ }
825
+ .md\:btn-xs {
826
+ height: var(--spacing-6, 1.5rem);
827
+ padding-left: var(--spacing-2, 0.5rem);
828
+ padding-right: var(--spacing-2, 0.5rem);
829
+ font-size: var(--font-size-xs);
830
+ }
831
+ .md\:btn-sm {
832
+ height: var(--spacing-8, 2rem);
833
+ padding-left: var(--spacing-3, 0.75rem);
834
+ padding-right: var(--spacing-3, 0.75rem);
835
+ font-size: var(--font-size-sm);
836
+ }
837
+ .md\:btn-md {
838
+ height: var(--spacing-10, 2.5rem);
839
+ padding-left: var(--spacing-4, 1rem);
840
+ padding-right: var(--spacing-4, 1rem);
841
+ font-size: var(--font-size-sm);
842
+ }
843
+ .md\:btn-lg {
844
+ height: var(--spacing-14, 3.5rem);
845
+ padding-left: var(--spacing-6, 1.5rem);
846
+ padding-right: var(--spacing-6, 1.5rem);
847
+ font-size: var(--font-size-lg);
848
+ }
849
+ .md\:btn-square {
850
+ width: var(--spacing-12, 3rem);
851
+ height: var(--spacing-12, 3rem);
852
+ padding-left: var(--spacing-0, 0px);
853
+ padding-right: var(--spacing-0, 0px);
854
+ &.btn-xs {
855
+ width: var(--spacing-6, 1.5rem);
856
+ height: var(--spacing-6, 1.5rem);
857
+ }
858
+ &.btn-sm {
859
+ width: var(--spacing-8, 2rem);
860
+ height: var(--spacing-8, 2rem);
861
+ }
862
+ &.btn-md {
863
+ width: var(--spacing-12, 3rem);
864
+ height: var(--spacing-12, 3rem);
865
+ }
866
+ &.btn-lg {
867
+ width: var(--spacing-16, 4rem);
868
+ height: var(--spacing-16, 4rem);
869
+ }
870
+ }
871
+ .md\:btn-circle {
872
+ aspect-ratio: 1 / 1;
873
+ border-radius: calc(infinity * 1px);
874
+ padding-left: var(--spacing-0, 0px);
875
+ padding-right: var(--spacing-0, 0px);
876
+ }
877
+ .md\:btn-wide {
878
+ width: var(--spacing-64, 16rem);
879
+ }
880
+ .md\:btn-block {
881
+ width: 100%;
882
+ }
883
+ @keyframes button-pop {
884
+ 0% {
885
+ scale: var(--btn-focus-scale, 0.98);
886
+ }
887
+ 40% {
888
+ scale: 1.02;
889
+ }
890
+ 100% {
891
+ scale: 1;
892
+ }
893
+ }
894
+ }
895
+
896
+
897
+ @media (min-width: 1024px) {
898
+ .lg\:btn {
899
+ display: inline-flex;
900
+ height: var(--spacing-10, 2.5rem);
901
+ flex-shrink: 0;
902
+ cursor: pointer;
903
+ flex-wrap: wrap;
904
+ align-items: center;
905
+ justify-content: center;
906
+ gap: var(--spacing-2, 0.5rem);
907
+ padding-left: var(--spacing-4, 1rem);
908
+ padding-right: var(--spacing-4, 1rem);
909
+ text-align: center;
910
+ vertical-align: middle;
911
+ font-size: var(--font-size-sm, 0.875rem);
912
+ line-height: var(--line-height-none, 1);
913
+ color: var(--color-base-content, );
914
+ text-decoration-line: none;
915
+ outline-offset: 2px;
916
+ -webkit-user-select: none;
917
+ user-select: none;
918
+ outline-color: var(--color-base-content);
919
+ font-weight: 600;
920
+ transition-property: color, background-color, background-image, border-color, opacity, box-shadow, scale;
921
+ transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
922
+ transition-duration: .2s;
923
+ border-start-start-radius: var(--radius-join-start-start, var(--radius-btn));
924
+ border-start-end-radius: var(--radius-join-start-end, var(--radius-btn));
925
+ border-end-start-radius: var(--radius-join-end-start, var(--radius-btn));
926
+ border-end-end-radius: var(--radius-join-end-end, var(--radius-btn));
927
+ --btn-color: var(--btn-bg, var(--color-base-200));
928
+ background-color: var(--btn-color);
929
+ border: var(--spacing-button-border, 1px) solid color-mix(in oklab, var(--btn-color), black 2%);
930
+ box-shadow: 0 0 0 0.5px oklch(1 0 0 / 0.01) inset, var(--btn-shadow);
931
+ background-origin: border-box;
932
+ background-image: var(--btn-flare);
933
+ --btn-shadow: 0 1px 1px 0 oklch(0% 0 0/0.07);
934
+ --btn-flare: linear-gradient(50deg, transparent 85%, color-mix(in oklab, var(--btn-color), white 5%)),
935
+ linear-gradient(-50deg, transparent 85%, color-mix(in oklab, var(--btn-color), white 5%)),
936
+ linear-gradient(0, transparent, var(--btn-color) 5% 95%, transparent),
937
+ repeating-conic-gradient(oklch(100% 0 0 / .4),
938
+ transparent 20% 30%,
939
+ oklch(100% 0 0 / .4) 50%);
940
+ &:hover {
941
+ --btn-color: color-mix(in oklab, var(--btn-bg, var(--color-base-200)), black 5%);
942
+ }
943
+ &.btn-active {
944
+ --btn-color: color-mix(in oklab, var(--btn-bg, var(--color-base-200)), black 5%);
945
+ --btn-shadow: 0 0 0 0 oklch(0% 0 0/.07);
946
+ }
947
+ &:focus-visible {
948
+ outline-width: 2px;
949
+ outline-style: solid;
950
+ }
951
+ &:active {
952
+ &:focus {
953
+ scale: var(--btn-focus-scale, 0.98);
954
+ animation: button-pop 0s ease-out;
955
+ background-color: color-mix(in oklab, var(--btn-bg, var(--color-base-200)), black 5%);
956
+ border-color: color-mix(in oklab, var(--btn-bg, var(--color-base-200)), black 7%);
957
+ --btn-shadow: 0 0 0 0 oklch(0% 0 0/0.07);
958
+ }
959
+ &:hover {
960
+ scale: var(--btn-focus-scale, 0.97);
961
+ animation: button-pop 0s ease-out;
962
+ }
963
+ }
964
+ }
965
+ .lg\:btn-primary {
966
+ --btn-bg: var(--color-primary);
967
+ color: var(--color-primary-content, );
968
+ outline-color: var(--color-primary, );
969
+ }
970
+ .lg\:btn-secondary {
971
+ --btn-bg: var(--color-secondary);
972
+ color: var(--color-secondary-content, );
973
+ outline-color: var(--color-secondary, );
974
+ }
975
+ .lg\:btn-accent {
976
+ --btn-bg: var(--color-accent);
977
+ color: var(--color-accent-content, );
978
+ outline-color: var(--color-accent, );
979
+ }
980
+ .lg\:btn-neutral {
981
+ --btn-bg: var(--color-neutral);
982
+ color: var(--color-neutral-content, );
983
+ outline-color: var(--color-neutral, );
984
+ }
985
+ .lg\:btn-info {
986
+ --btn-bg: var(--color-info);
987
+ color: var(--color-info-content, );
988
+ outline-color: var(--color-info, );
989
+ }
990
+ .lg\:btn-success {
991
+ --btn-bg: var(--color-success);
992
+ color: var(--color-success-content, );
993
+ outline-color: var(--color-success, );
994
+ }
995
+ .lg\:btn-warning {
996
+ --btn-bg: var(--color-warning);
997
+ color: var(--color-warning-content, );
998
+ outline-color: var(--color-warning, );
999
+ }
1000
+ .lg\:btn-error {
1001
+ --btn-bg: var(--color-error);
1002
+ color: var(--color-error-content, );
1003
+ outline-color: var(--color-error, );
1004
+ }
1005
+ .lg\:btn.glass {
1006
+ box-shadow: none;
1007
+ outline-color: currentColor;
1008
+ &:hover {
1009
+ @media (hover: hover) {
1010
+ --glass-border-opacity: 15%;
1011
+ }
1012
+ }
1013
+ &:hover {
1014
+ @media (hover: hover) {
1015
+ --glass-opacity: 25%;
1016
+ }
1017
+ }
1018
+ &.btn-active {
1019
+ --glass-border-opacity: 15%;
1020
+ --glass-opacity: 25%;
1021
+ }
1022
+ }
1023
+ .lg\:btn-ghost {
1024
+ box-shadow: none;
1025
+ border: 1px solid transparent;
1026
+ background-color: transparent;
1027
+ color: currentColor;
1028
+ outline-color: currentColor;
1029
+ --btn-flare: unset;
1030
+ }
1031
+ .lg\:btn-link {
1032
+ box-shadow: none;
1033
+ border-color: transparent;
1034
+ background-color: transparent;
1035
+ color: var(--color-primary, );
1036
+ text-decoration-line: underline;
1037
+ outline-color: currentColor;
1038
+ &:hover {
1039
+ @media (hover: hover) {
1040
+ border-color: transparent;
1041
+ }
1042
+ }
1043
+ &:hover {
1044
+ @media (hover: hover) {
1045
+ background-color: transparent;
1046
+ }
1047
+ }
1048
+ &:hover {
1049
+ @media (hover: hover) {
1050
+ text-decoration-line: underline;
1051
+ }
1052
+ }
1053
+ --btn-flare: unset;
1054
+ &.btn-active {
1055
+ border-color: transparent;
1056
+ background-color: transparent;
1057
+ text-decoration-line: underline;
1058
+ }
1059
+ }
1060
+ .lg\:btn-outline {
1061
+ &:not(.btn-active, :hover, :focus-visible) {
1062
+ box-shadow: none;
1063
+ background-color: transparent;
1064
+ color: var(--btn-bg);
1065
+ --btn-flare: unset;
1066
+ }
1067
+ }
1068
+ .lg\:btn-dash {
1069
+ &:not(.btn-active, :hover, :focus-visible) {
1070
+ box-shadow: none;
1071
+ border-style: dashed;
1072
+ background-color: transparent;
1073
+ color: var(--btn-bg);
1074
+ --btn-flare: unset;
1075
+ }
1076
+ }
1077
+ .lg\:btn-soft {
1078
+ &:not(.btn-active, :hover, :focus-visible) {
1079
+ box-shadow: none;
1080
+ color: var(--btn-bg, var(--color-base-content));
1081
+ background: color-mix(in oklab, var(--btn-bg, var(--color-base-content)) 8%, var(--color-base-200));
1082
+ border-color: color-mix(in oklab, var(--btn-bg, var(--color-base-content)) 10%, var(--color-base-200));
1083
+ --btn-flare: unset;
1084
+ }
1085
+ }
1086
+ .lg\:btn {
1087
+ &:is(:disabled, [disabled], .btn-disabled) {
1088
+ pointer-events: none;
1089
+ border-color: transparent;
1090
+ background-color: color-mix(in srgb, var(--color-neutral, ) 20%, transparent);
1091
+ color: color-mix(in srgb, var(--color-base-content, ) 20%, transparent);
1092
+ --btn-flare: unset;
1093
+ &:hover {
1094
+ pointer-events: none;
1095
+ border-color: transparent;
1096
+ background-color: color-mix(in srgb, var(--color-neutral, ) 20%, transparent);
1097
+ color: color-mix(in srgb, var(--color-base-content, ) 20%, transparent);
1098
+ }
1099
+ }
1100
+ }
1101
+ .lg\:btn {
1102
+ &:is(input[type=checkbox]), &:is(input[type=radio]) {
1103
+ appearance: none;
1104
+ &:not(.btn-square, .btn-circle) {
1105
+ width: auto;
1106
+ }
1107
+ &::after {
1108
+ content: attr(aria-label);
1109
+ }
1110
+ &:checked {
1111
+ --btn-bg: var(--color-primary);
1112
+ border-color: var(--color-primary, );
1113
+ background-color: var(--color-primary, );
1114
+ color: var(--color-primary-content, );
1115
+ &:focus-visible {
1116
+ outline-color: var(--color-primary, );
1117
+ }
1118
+ &:hover {
1119
+ background-color: color-mix(in oklab, var(--color-primary) 90%, black);
1120
+ border-color: color-mix(in oklab, var(--color-primary) 90%, black);
1121
+ }
1122
+ }
1123
+ }
1124
+ }
1125
+ .lg\:btn-xs {
1126
+ height: var(--spacing-6, 1.5rem);
1127
+ padding-left: var(--spacing-2, 0.5rem);
1128
+ padding-right: var(--spacing-2, 0.5rem);
1129
+ font-size: var(--font-size-xs);
1130
+ }
1131
+ .lg\:btn-sm {
1132
+ height: var(--spacing-8, 2rem);
1133
+ padding-left: var(--spacing-3, 0.75rem);
1134
+ padding-right: var(--spacing-3, 0.75rem);
1135
+ font-size: var(--font-size-sm);
1136
+ }
1137
+ .lg\:btn-md {
1138
+ height: var(--spacing-10, 2.5rem);
1139
+ padding-left: var(--spacing-4, 1rem);
1140
+ padding-right: var(--spacing-4, 1rem);
1141
+ font-size: var(--font-size-sm);
1142
+ }
1143
+ .lg\:btn-lg {
1144
+ height: var(--spacing-14, 3.5rem);
1145
+ padding-left: var(--spacing-6, 1.5rem);
1146
+ padding-right: var(--spacing-6, 1.5rem);
1147
+ font-size: var(--font-size-lg);
1148
+ }
1149
+ .lg\:btn-square {
1150
+ width: var(--spacing-12, 3rem);
1151
+ height: var(--spacing-12, 3rem);
1152
+ padding-left: var(--spacing-0, 0px);
1153
+ padding-right: var(--spacing-0, 0px);
1154
+ &.btn-xs {
1155
+ width: var(--spacing-6, 1.5rem);
1156
+ height: var(--spacing-6, 1.5rem);
1157
+ }
1158
+ &.btn-sm {
1159
+ width: var(--spacing-8, 2rem);
1160
+ height: var(--spacing-8, 2rem);
1161
+ }
1162
+ &.btn-md {
1163
+ width: var(--spacing-12, 3rem);
1164
+ height: var(--spacing-12, 3rem);
1165
+ }
1166
+ &.btn-lg {
1167
+ width: var(--spacing-16, 4rem);
1168
+ height: var(--spacing-16, 4rem);
1169
+ }
1170
+ }
1171
+ .lg\:btn-circle {
1172
+ aspect-ratio: 1 / 1;
1173
+ border-radius: calc(infinity * 1px);
1174
+ padding-left: var(--spacing-0, 0px);
1175
+ padding-right: var(--spacing-0, 0px);
1176
+ }
1177
+ .lg\:btn-wide {
1178
+ width: var(--spacing-64, 16rem);
1179
+ }
1180
+ .lg\:btn-block {
1181
+ width: 100%;
1182
+ }
1183
+ @keyframes button-pop {
1184
+ 0% {
1185
+ scale: var(--btn-focus-scale, 0.98);
1186
+ }
1187
+ 40% {
1188
+ scale: 1.02;
1189
+ }
1190
+ 100% {
1191
+ scale: 1;
1192
+ }
1193
+ }
1194
+ }
1195
+
1196
+
1197
+ @media (min-width: 1280px) {
1198
+ .xl\:btn {
1199
+ display: inline-flex;
1200
+ height: var(--spacing-10, 2.5rem);
1201
+ flex-shrink: 0;
1202
+ cursor: pointer;
1203
+ flex-wrap: wrap;
1204
+ align-items: center;
1205
+ justify-content: center;
1206
+ gap: var(--spacing-2, 0.5rem);
1207
+ padding-left: var(--spacing-4, 1rem);
1208
+ padding-right: var(--spacing-4, 1rem);
1209
+ text-align: center;
1210
+ vertical-align: middle;
1211
+ font-size: var(--font-size-sm, 0.875rem);
1212
+ line-height: var(--line-height-none, 1);
1213
+ color: var(--color-base-content, );
1214
+ text-decoration-line: none;
1215
+ outline-offset: 2px;
1216
+ -webkit-user-select: none;
1217
+ user-select: none;
1218
+ outline-color: var(--color-base-content);
1219
+ font-weight: 600;
1220
+ transition-property: color, background-color, background-image, border-color, opacity, box-shadow, scale;
1221
+ transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
1222
+ transition-duration: .2s;
1223
+ border-start-start-radius: var(--radius-join-start-start, var(--radius-btn));
1224
+ border-start-end-radius: var(--radius-join-start-end, var(--radius-btn));
1225
+ border-end-start-radius: var(--radius-join-end-start, var(--radius-btn));
1226
+ border-end-end-radius: var(--radius-join-end-end, var(--radius-btn));
1227
+ --btn-color: var(--btn-bg, var(--color-base-200));
1228
+ background-color: var(--btn-color);
1229
+ border: var(--spacing-button-border, 1px) solid color-mix(in oklab, var(--btn-color), black 2%);
1230
+ box-shadow: 0 0 0 0.5px oklch(1 0 0 / 0.01) inset, var(--btn-shadow);
1231
+ background-origin: border-box;
1232
+ background-image: var(--btn-flare);
1233
+ --btn-shadow: 0 1px 1px 0 oklch(0% 0 0/0.07);
1234
+ --btn-flare: linear-gradient(50deg, transparent 85%, color-mix(in oklab, var(--btn-color), white 5%)),
1235
+ linear-gradient(-50deg, transparent 85%, color-mix(in oklab, var(--btn-color), white 5%)),
1236
+ linear-gradient(0, transparent, var(--btn-color) 5% 95%, transparent),
1237
+ repeating-conic-gradient(oklch(100% 0 0 / .4),
1238
+ transparent 20% 30%,
1239
+ oklch(100% 0 0 / .4) 50%);
1240
+ &:hover {
1241
+ --btn-color: color-mix(in oklab, var(--btn-bg, var(--color-base-200)), black 5%);
1242
+ }
1243
+ &.btn-active {
1244
+ --btn-color: color-mix(in oklab, var(--btn-bg, var(--color-base-200)), black 5%);
1245
+ --btn-shadow: 0 0 0 0 oklch(0% 0 0/.07);
1246
+ }
1247
+ &:focus-visible {
1248
+ outline-width: 2px;
1249
+ outline-style: solid;
1250
+ }
1251
+ &:active {
1252
+ &:focus {
1253
+ scale: var(--btn-focus-scale, 0.98);
1254
+ animation: button-pop 0s ease-out;
1255
+ background-color: color-mix(in oklab, var(--btn-bg, var(--color-base-200)), black 5%);
1256
+ border-color: color-mix(in oklab, var(--btn-bg, var(--color-base-200)), black 7%);
1257
+ --btn-shadow: 0 0 0 0 oklch(0% 0 0/0.07);
1258
+ }
1259
+ &:hover {
1260
+ scale: var(--btn-focus-scale, 0.97);
1261
+ animation: button-pop 0s ease-out;
1262
+ }
1263
+ }
1264
+ }
1265
+ .xl\:btn-primary {
1266
+ --btn-bg: var(--color-primary);
1267
+ color: var(--color-primary-content, );
1268
+ outline-color: var(--color-primary, );
1269
+ }
1270
+ .xl\:btn-secondary {
1271
+ --btn-bg: var(--color-secondary);
1272
+ color: var(--color-secondary-content, );
1273
+ outline-color: var(--color-secondary, );
1274
+ }
1275
+ .xl\:btn-accent {
1276
+ --btn-bg: var(--color-accent);
1277
+ color: var(--color-accent-content, );
1278
+ outline-color: var(--color-accent, );
1279
+ }
1280
+ .xl\:btn-neutral {
1281
+ --btn-bg: var(--color-neutral);
1282
+ color: var(--color-neutral-content, );
1283
+ outline-color: var(--color-neutral, );
1284
+ }
1285
+ .xl\:btn-info {
1286
+ --btn-bg: var(--color-info);
1287
+ color: var(--color-info-content, );
1288
+ outline-color: var(--color-info, );
1289
+ }
1290
+ .xl\:btn-success {
1291
+ --btn-bg: var(--color-success);
1292
+ color: var(--color-success-content, );
1293
+ outline-color: var(--color-success, );
1294
+ }
1295
+ .xl\:btn-warning {
1296
+ --btn-bg: var(--color-warning);
1297
+ color: var(--color-warning-content, );
1298
+ outline-color: var(--color-warning, );
1299
+ }
1300
+ .xl\:btn-error {
1301
+ --btn-bg: var(--color-error);
1302
+ color: var(--color-error-content, );
1303
+ outline-color: var(--color-error, );
1304
+ }
1305
+ .xl\:btn.glass {
1306
+ box-shadow: none;
1307
+ outline-color: currentColor;
1308
+ &:hover {
1309
+ @media (hover: hover) {
1310
+ --glass-border-opacity: 15%;
1311
+ }
1312
+ }
1313
+ &:hover {
1314
+ @media (hover: hover) {
1315
+ --glass-opacity: 25%;
1316
+ }
1317
+ }
1318
+ &.btn-active {
1319
+ --glass-border-opacity: 15%;
1320
+ --glass-opacity: 25%;
1321
+ }
1322
+ }
1323
+ .xl\:btn-ghost {
1324
+ box-shadow: none;
1325
+ border: 1px solid transparent;
1326
+ background-color: transparent;
1327
+ color: currentColor;
1328
+ outline-color: currentColor;
1329
+ --btn-flare: unset;
1330
+ }
1331
+ .xl\:btn-link {
1332
+ box-shadow: none;
1333
+ border-color: transparent;
1334
+ background-color: transparent;
1335
+ color: var(--color-primary, );
1336
+ text-decoration-line: underline;
1337
+ outline-color: currentColor;
1338
+ &:hover {
1339
+ @media (hover: hover) {
1340
+ border-color: transparent;
1341
+ }
1342
+ }
1343
+ &:hover {
1344
+ @media (hover: hover) {
1345
+ background-color: transparent;
1346
+ }
1347
+ }
1348
+ &:hover {
1349
+ @media (hover: hover) {
1350
+ text-decoration-line: underline;
1351
+ }
1352
+ }
1353
+ --btn-flare: unset;
1354
+ &.btn-active {
1355
+ border-color: transparent;
1356
+ background-color: transparent;
1357
+ text-decoration-line: underline;
1358
+ }
1359
+ }
1360
+ .xl\:btn-outline {
1361
+ &:not(.btn-active, :hover, :focus-visible) {
1362
+ box-shadow: none;
1363
+ background-color: transparent;
1364
+ color: var(--btn-bg);
1365
+ --btn-flare: unset;
1366
+ }
1367
+ }
1368
+ .xl\:btn-dash {
1369
+ &:not(.btn-active, :hover, :focus-visible) {
1370
+ box-shadow: none;
1371
+ border-style: dashed;
1372
+ background-color: transparent;
1373
+ color: var(--btn-bg);
1374
+ --btn-flare: unset;
1375
+ }
1376
+ }
1377
+ .xl\:btn-soft {
1378
+ &:not(.btn-active, :hover, :focus-visible) {
1379
+ box-shadow: none;
1380
+ color: var(--btn-bg, var(--color-base-content));
1381
+ background: color-mix(in oklab, var(--btn-bg, var(--color-base-content)) 8%, var(--color-base-200));
1382
+ border-color: color-mix(in oklab, var(--btn-bg, var(--color-base-content)) 10%, var(--color-base-200));
1383
+ --btn-flare: unset;
1384
+ }
1385
+ }
1386
+ .xl\:btn {
1387
+ &:is(:disabled, [disabled], .btn-disabled) {
1388
+ pointer-events: none;
1389
+ border-color: transparent;
1390
+ background-color: color-mix(in srgb, var(--color-neutral, ) 20%, transparent);
1391
+ color: color-mix(in srgb, var(--color-base-content, ) 20%, transparent);
1392
+ --btn-flare: unset;
1393
+ &:hover {
1394
+ pointer-events: none;
1395
+ border-color: transparent;
1396
+ background-color: color-mix(in srgb, var(--color-neutral, ) 20%, transparent);
1397
+ color: color-mix(in srgb, var(--color-base-content, ) 20%, transparent);
1398
+ }
1399
+ }
1400
+ }
1401
+ .xl\:btn {
1402
+ &:is(input[type=checkbox]), &:is(input[type=radio]) {
1403
+ appearance: none;
1404
+ &:not(.btn-square, .btn-circle) {
1405
+ width: auto;
1406
+ }
1407
+ &::after {
1408
+ content: attr(aria-label);
1409
+ }
1410
+ &:checked {
1411
+ --btn-bg: var(--color-primary);
1412
+ border-color: var(--color-primary, );
1413
+ background-color: var(--color-primary, );
1414
+ color: var(--color-primary-content, );
1415
+ &:focus-visible {
1416
+ outline-color: var(--color-primary, );
1417
+ }
1418
+ &:hover {
1419
+ background-color: color-mix(in oklab, var(--color-primary) 90%, black);
1420
+ border-color: color-mix(in oklab, var(--color-primary) 90%, black);
1421
+ }
1422
+ }
1423
+ }
1424
+ }
1425
+ .xl\:btn-xs {
1426
+ height: var(--spacing-6, 1.5rem);
1427
+ padding-left: var(--spacing-2, 0.5rem);
1428
+ padding-right: var(--spacing-2, 0.5rem);
1429
+ font-size: var(--font-size-xs);
1430
+ }
1431
+ .xl\:btn-sm {
1432
+ height: var(--spacing-8, 2rem);
1433
+ padding-left: var(--spacing-3, 0.75rem);
1434
+ padding-right: var(--spacing-3, 0.75rem);
1435
+ font-size: var(--font-size-sm);
1436
+ }
1437
+ .xl\:btn-md {
1438
+ height: var(--spacing-10, 2.5rem);
1439
+ padding-left: var(--spacing-4, 1rem);
1440
+ padding-right: var(--spacing-4, 1rem);
1441
+ font-size: var(--font-size-sm);
1442
+ }
1443
+ .xl\:btn-lg {
1444
+ height: var(--spacing-14, 3.5rem);
1445
+ padding-left: var(--spacing-6, 1.5rem);
1446
+ padding-right: var(--spacing-6, 1.5rem);
1447
+ font-size: var(--font-size-lg);
1448
+ }
1449
+ .xl\:btn-square {
1450
+ width: var(--spacing-12, 3rem);
1451
+ height: var(--spacing-12, 3rem);
1452
+ padding-left: var(--spacing-0, 0px);
1453
+ padding-right: var(--spacing-0, 0px);
1454
+ &.btn-xs {
1455
+ width: var(--spacing-6, 1.5rem);
1456
+ height: var(--spacing-6, 1.5rem);
1457
+ }
1458
+ &.btn-sm {
1459
+ width: var(--spacing-8, 2rem);
1460
+ height: var(--spacing-8, 2rem);
1461
+ }
1462
+ &.btn-md {
1463
+ width: var(--spacing-12, 3rem);
1464
+ height: var(--spacing-12, 3rem);
1465
+ }
1466
+ &.btn-lg {
1467
+ width: var(--spacing-16, 4rem);
1468
+ height: var(--spacing-16, 4rem);
1469
+ }
1470
+ }
1471
+ .xl\:btn-circle {
1472
+ aspect-ratio: 1 / 1;
1473
+ border-radius: calc(infinity * 1px);
1474
+ padding-left: var(--spacing-0, 0px);
1475
+ padding-right: var(--spacing-0, 0px);
1476
+ }
1477
+ .xl\:btn-wide {
1478
+ width: var(--spacing-64, 16rem);
1479
+ }
1480
+ .xl\:btn-block {
1481
+ width: 100%;
1482
+ }
1483
+ @keyframes button-pop {
1484
+ 0% {
1485
+ scale: var(--btn-focus-scale, 0.98);
1486
+ }
1487
+ 40% {
1488
+ scale: 1.02;
1489
+ }
1490
+ 100% {
1491
+ scale: 1;
1492
+ }
1493
+ }
1494
+ }
1495
+
1496
+
1497
+ @media (min-width: 1536px) {
1498
+ .\32xl\:btn {
1499
+ display: inline-flex;
1500
+ height: var(--spacing-10, 2.5rem);
1501
+ flex-shrink: 0;
1502
+ cursor: pointer;
1503
+ flex-wrap: wrap;
1504
+ align-items: center;
1505
+ justify-content: center;
1506
+ gap: var(--spacing-2, 0.5rem);
1507
+ padding-left: var(--spacing-4, 1rem);
1508
+ padding-right: var(--spacing-4, 1rem);
1509
+ text-align: center;
1510
+ vertical-align: middle;
1511
+ font-size: var(--font-size-sm, 0.875rem);
1512
+ line-height: var(--line-height-none, 1);
1513
+ color: var(--color-base-content, );
1514
+ text-decoration-line: none;
1515
+ outline-offset: 2px;
1516
+ -webkit-user-select: none;
1517
+ user-select: none;
1518
+ outline-color: var(--color-base-content);
1519
+ font-weight: 600;
1520
+ transition-property: color, background-color, background-image, border-color, opacity, box-shadow, scale;
1521
+ transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
1522
+ transition-duration: .2s;
1523
+ border-start-start-radius: var(--radius-join-start-start, var(--radius-btn));
1524
+ border-start-end-radius: var(--radius-join-start-end, var(--radius-btn));
1525
+ border-end-start-radius: var(--radius-join-end-start, var(--radius-btn));
1526
+ border-end-end-radius: var(--radius-join-end-end, var(--radius-btn));
1527
+ --btn-color: var(--btn-bg, var(--color-base-200));
1528
+ background-color: var(--btn-color);
1529
+ border: var(--spacing-button-border, 1px) solid color-mix(in oklab, var(--btn-color), black 2%);
1530
+ box-shadow: 0 0 0 0.5px oklch(1 0 0 / 0.01) inset, var(--btn-shadow);
1531
+ background-origin: border-box;
1532
+ background-image: var(--btn-flare);
1533
+ --btn-shadow: 0 1px 1px 0 oklch(0% 0 0/0.07);
1534
+ --btn-flare: linear-gradient(50deg, transparent 85%, color-mix(in oklab, var(--btn-color), white 5%)),
1535
+ linear-gradient(-50deg, transparent 85%, color-mix(in oklab, var(--btn-color), white 5%)),
1536
+ linear-gradient(0, transparent, var(--btn-color) 5% 95%, transparent),
1537
+ repeating-conic-gradient(oklch(100% 0 0 / .4),
1538
+ transparent 20% 30%,
1539
+ oklch(100% 0 0 / .4) 50%);
1540
+ &:hover {
1541
+ --btn-color: color-mix(in oklab, var(--btn-bg, var(--color-base-200)), black 5%);
1542
+ }
1543
+ &.btn-active {
1544
+ --btn-color: color-mix(in oklab, var(--btn-bg, var(--color-base-200)), black 5%);
1545
+ --btn-shadow: 0 0 0 0 oklch(0% 0 0/.07);
1546
+ }
1547
+ &:focus-visible {
1548
+ outline-width: 2px;
1549
+ outline-style: solid;
1550
+ }
1551
+ &:active {
1552
+ &:focus {
1553
+ scale: var(--btn-focus-scale, 0.98);
1554
+ animation: button-pop 0s ease-out;
1555
+ background-color: color-mix(in oklab, var(--btn-bg, var(--color-base-200)), black 5%);
1556
+ border-color: color-mix(in oklab, var(--btn-bg, var(--color-base-200)), black 7%);
1557
+ --btn-shadow: 0 0 0 0 oklch(0% 0 0/0.07);
1558
+ }
1559
+ &:hover {
1560
+ scale: var(--btn-focus-scale, 0.97);
1561
+ animation: button-pop 0s ease-out;
1562
+ }
1563
+ }
1564
+ }
1565
+ .\32xl\:btn-primary {
1566
+ --btn-bg: var(--color-primary);
1567
+ color: var(--color-primary-content, );
1568
+ outline-color: var(--color-primary, );
1569
+ }
1570
+ .\32xl\:btn-secondary {
1571
+ --btn-bg: var(--color-secondary);
1572
+ color: var(--color-secondary-content, );
1573
+ outline-color: var(--color-secondary, );
1574
+ }
1575
+ .\32xl\:btn-accent {
1576
+ --btn-bg: var(--color-accent);
1577
+ color: var(--color-accent-content, );
1578
+ outline-color: var(--color-accent, );
1579
+ }
1580
+ .\32xl\:btn-neutral {
1581
+ --btn-bg: var(--color-neutral);
1582
+ color: var(--color-neutral-content, );
1583
+ outline-color: var(--color-neutral, );
1584
+ }
1585
+ .\32xl\:btn-info {
1586
+ --btn-bg: var(--color-info);
1587
+ color: var(--color-info-content, );
1588
+ outline-color: var(--color-info, );
1589
+ }
1590
+ .\32xl\:btn-success {
1591
+ --btn-bg: var(--color-success);
1592
+ color: var(--color-success-content, );
1593
+ outline-color: var(--color-success, );
1594
+ }
1595
+ .\32xl\:btn-warning {
1596
+ --btn-bg: var(--color-warning);
1597
+ color: var(--color-warning-content, );
1598
+ outline-color: var(--color-warning, );
1599
+ }
1600
+ .\32xl\:btn-error {
1601
+ --btn-bg: var(--color-error);
1602
+ color: var(--color-error-content, );
1603
+ outline-color: var(--color-error, );
1604
+ }
1605
+ .\32xl\:btn.glass {
1606
+ box-shadow: none;
1607
+ outline-color: currentColor;
1608
+ &:hover {
1609
+ @media (hover: hover) {
1610
+ --glass-border-opacity: 15%;
1611
+ }
1612
+ }
1613
+ &:hover {
1614
+ @media (hover: hover) {
1615
+ --glass-opacity: 25%;
1616
+ }
1617
+ }
1618
+ &.btn-active {
1619
+ --glass-border-opacity: 15%;
1620
+ --glass-opacity: 25%;
1621
+ }
1622
+ }
1623
+ .\32xl\:btn-ghost {
1624
+ box-shadow: none;
1625
+ border: 1px solid transparent;
1626
+ background-color: transparent;
1627
+ color: currentColor;
1628
+ outline-color: currentColor;
1629
+ --btn-flare: unset;
1630
+ }
1631
+ .\32xl\:btn-link {
1632
+ box-shadow: none;
1633
+ border-color: transparent;
1634
+ background-color: transparent;
1635
+ color: var(--color-primary, );
1636
+ text-decoration-line: underline;
1637
+ outline-color: currentColor;
1638
+ &:hover {
1639
+ @media (hover: hover) {
1640
+ border-color: transparent;
1641
+ }
1642
+ }
1643
+ &:hover {
1644
+ @media (hover: hover) {
1645
+ background-color: transparent;
1646
+ }
1647
+ }
1648
+ &:hover {
1649
+ @media (hover: hover) {
1650
+ text-decoration-line: underline;
1651
+ }
1652
+ }
1653
+ --btn-flare: unset;
1654
+ &.btn-active {
1655
+ border-color: transparent;
1656
+ background-color: transparent;
1657
+ text-decoration-line: underline;
1658
+ }
1659
+ }
1660
+ .\32xl\:btn-outline {
1661
+ &:not(.btn-active, :hover, :focus-visible) {
1662
+ box-shadow: none;
1663
+ background-color: transparent;
1664
+ color: var(--btn-bg);
1665
+ --btn-flare: unset;
1666
+ }
1667
+ }
1668
+ .\32xl\:btn-dash {
1669
+ &:not(.btn-active, :hover, :focus-visible) {
1670
+ box-shadow: none;
1671
+ border-style: dashed;
1672
+ background-color: transparent;
1673
+ color: var(--btn-bg);
1674
+ --btn-flare: unset;
1675
+ }
1676
+ }
1677
+ .\32xl\:btn-soft {
1678
+ &:not(.btn-active, :hover, :focus-visible) {
1679
+ box-shadow: none;
1680
+ color: var(--btn-bg, var(--color-base-content));
1681
+ background: color-mix(in oklab, var(--btn-bg, var(--color-base-content)) 8%, var(--color-base-200));
1682
+ border-color: color-mix(in oklab, var(--btn-bg, var(--color-base-content)) 10%, var(--color-base-200));
1683
+ --btn-flare: unset;
1684
+ }
1685
+ }
1686
+ .\32xl\:btn {
1687
+ &:is(:disabled, [disabled], .btn-disabled) {
1688
+ pointer-events: none;
1689
+ border-color: transparent;
1690
+ background-color: color-mix(in srgb, var(--color-neutral, ) 20%, transparent);
1691
+ color: color-mix(in srgb, var(--color-base-content, ) 20%, transparent);
1692
+ --btn-flare: unset;
1693
+ &:hover {
1694
+ pointer-events: none;
1695
+ border-color: transparent;
1696
+ background-color: color-mix(in srgb, var(--color-neutral, ) 20%, transparent);
1697
+ color: color-mix(in srgb, var(--color-base-content, ) 20%, transparent);
1698
+ }
1699
+ }
1700
+ }
1701
+ .\32xl\:btn {
1702
+ &:is(input[type=checkbox]), &:is(input[type=radio]) {
1703
+ appearance: none;
1704
+ &:not(.btn-square, .btn-circle) {
1705
+ width: auto;
1706
+ }
1707
+ &::after {
1708
+ content: attr(aria-label);
1709
+ }
1710
+ &:checked {
1711
+ --btn-bg: var(--color-primary);
1712
+ border-color: var(--color-primary, );
1713
+ background-color: var(--color-primary, );
1714
+ color: var(--color-primary-content, );
1715
+ &:focus-visible {
1716
+ outline-color: var(--color-primary, );
1717
+ }
1718
+ &:hover {
1719
+ background-color: color-mix(in oklab, var(--color-primary) 90%, black);
1720
+ border-color: color-mix(in oklab, var(--color-primary) 90%, black);
1721
+ }
1722
+ }
1723
+ }
1724
+ }
1725
+ .\32xl\:btn-xs {
1726
+ height: var(--spacing-6, 1.5rem);
1727
+ padding-left: var(--spacing-2, 0.5rem);
1728
+ padding-right: var(--spacing-2, 0.5rem);
1729
+ font-size: var(--font-size-xs);
1730
+ }
1731
+ .\32xl\:btn-sm {
1732
+ height: var(--spacing-8, 2rem);
1733
+ padding-left: var(--spacing-3, 0.75rem);
1734
+ padding-right: var(--spacing-3, 0.75rem);
1735
+ font-size: var(--font-size-sm);
1736
+ }
1737
+ .\32xl\:btn-md {
1738
+ height: var(--spacing-10, 2.5rem);
1739
+ padding-left: var(--spacing-4, 1rem);
1740
+ padding-right: var(--spacing-4, 1rem);
1741
+ font-size: var(--font-size-sm);
1742
+ }
1743
+ .\32xl\:btn-lg {
1744
+ height: var(--spacing-14, 3.5rem);
1745
+ padding-left: var(--spacing-6, 1.5rem);
1746
+ padding-right: var(--spacing-6, 1.5rem);
1747
+ font-size: var(--font-size-lg);
1748
+ }
1749
+ .\32xl\:btn-square {
1750
+ width: var(--spacing-12, 3rem);
1751
+ height: var(--spacing-12, 3rem);
1752
+ padding-left: var(--spacing-0, 0px);
1753
+ padding-right: var(--spacing-0, 0px);
1754
+ &.btn-xs {
1755
+ width: var(--spacing-6, 1.5rem);
1756
+ height: var(--spacing-6, 1.5rem);
1757
+ }
1758
+ &.btn-sm {
1759
+ width: var(--spacing-8, 2rem);
1760
+ height: var(--spacing-8, 2rem);
1761
+ }
1762
+ &.btn-md {
1763
+ width: var(--spacing-12, 3rem);
1764
+ height: var(--spacing-12, 3rem);
1765
+ }
1766
+ &.btn-lg {
1767
+ width: var(--spacing-16, 4rem);
1768
+ height: var(--spacing-16, 4rem);
1769
+ }
1770
+ }
1771
+ .\32xl\:btn-circle {
1772
+ aspect-ratio: 1 / 1;
1773
+ border-radius: calc(infinity * 1px);
1774
+ padding-left: var(--spacing-0, 0px);
1775
+ padding-right: var(--spacing-0, 0px);
1776
+ }
1777
+ .\32xl\:btn-wide {
1778
+ width: var(--spacing-64, 16rem);
1779
+ }
1780
+ .\32xl\:btn-block {
1781
+ width: 100%;
1782
+ }
1783
+ @keyframes button-pop {
1784
+ 0% {
1785
+ scale: var(--btn-focus-scale, 0.98);
1786
+ }
1787
+ 40% {
1788
+ scale: 1.02;
1789
+ }
1790
+ 100% {
1791
+ scale: 1;
1792
+ }
1793
+ }
1794
+ }
1795
+