@macroui/macroui 4.0.0 → 4.0.2
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.
- package/dist/base.js +1 -0
- package/dist/full.css +62910 -0
- package/dist/index.d.ts +122 -0
- package/dist/index.js +149 -0
- package/dist/styled.css +5192 -0
- package/dist/styled.js +1 -0
- package/dist/themes.css +2118 -0
- package/dist/unstyled.css +1330 -0
- package/dist/unstyled.js +1 -0
- package/dist/utilities-styled.js +1 -0
- package/dist/utilities-unstyled.js +1 -0
- package/dist/utilities.js +1 -0
- package/package.json +23 -24
- package/src/base/properties.css +5 -0
- package/src/base/reset.css +130 -0
- package/src/base/rootcolor.css +9 -0
- package/src/base/rootscrollgutter.css +21 -0
- package/src/base/rootscrolllock.css +4 -0
- package/src/base/scrollbar.css +3 -0
- package/src/base/svg.css +3 -0
- package/src/components/alert.css +126 -0
- package/src/components/avatar.css +60 -0
- package/src/components/badge.css +151 -0
- package/src/components/breadcrumbs.css +40 -0
- package/src/components/button.css +362 -0
- package/src/components/calendar.css +549 -0
- package/src/components/card.css +203 -0
- package/src/components/carousel.css +59 -0
- package/src/components/chat.css +157 -0
- package/src/components/checkbox.css +174 -0
- package/src/components/collapse.css +302 -0
- package/src/components/countdown.css +56 -0
- package/src/components/diff.css +93 -0
- package/src/components/divider.css +148 -0
- package/src/components/dock.css +123 -0
- package/src/components/drawer.css +166 -0
- package/src/components/dropdown.css +247 -0
- package/src/components/fab.css +139 -0
- package/src/components/fieldset.css +23 -0
- package/src/components/fileinput.css +265 -0
- package/src/components/filter.css +42 -0
- package/src/components/footer.css +45 -0
- package/src/components/hero.css +21 -0
- package/src/components/hover3d.css +128 -0
- package/src/components/hovergallery.css +87 -0
- package/src/components/indicator.css +76 -0
- package/src/components/input.css +263 -0
- package/src/components/kbd.css +49 -0
- package/src/components/label.css +101 -0
- package/src/components/link.css +116 -0
- package/src/components/list.css +58 -0
- package/src/components/loading.css +76 -0
- package/src/components/mask.css +108 -0
- package/src/components/menu.css +298 -0
- package/src/components/mockup.css +150 -0
- package/src/components/modal.css +182 -0
- package/src/components/navbar.css +36 -0
- package/src/components/progress.css +108 -0
- package/src/components/radialprogress.css +39 -0
- package/src/components/radio.css +158 -0
- package/src/components/range.css +186 -0
- package/src/components/rating.css +114 -0
- package/src/components/select.css +284 -0
- package/src/components/skeleton.css +41 -0
- package/src/components/stack.css +80 -0
- package/src/components/stat.css +73 -0
- package/src/components/status.css +92 -0
- package/src/components/steps.css +168 -0
- package/src/components/swap.css +94 -0
- package/src/components/tab.css +557 -0
- package/src/components/table.css +126 -0
- package/src/components/textarea.css +179 -0
- package/src/components/textrotate.css +71 -0
- package/src/components/timeline.css +250 -0
- package/src/components/toast.css +68 -0
- package/src/components/toggle.css +239 -0
- package/src/components/tooltip.css +203 -0
- package/src/components/validator.css +47 -0
- package/src/themes/abyss.css +29 -0
- package/src/themes/acid.css +29 -0
- package/src/themes/aqua.css +29 -0
- package/src/themes/autumn.css +29 -0
- package/src/themes/black.css +29 -0
- package/src/themes/bumblebee.css +29 -0
- package/src/themes/business.css +29 -0
- package/src/themes/caramellatte.css +29 -0
- package/src/themes/cmyk.css +29 -0
- package/src/themes/coffee.css +29 -0
- package/src/themes/corporate.css +29 -0
- package/src/themes/cupcake.css +29 -0
- package/src/themes/cyberpunk.css +29 -0
- package/src/themes/dark.css +29 -0
- package/src/themes/dim.css +29 -0
- package/src/themes/dracula.css +29 -0
- package/src/themes/emerald.css +29 -0
- package/src/themes/fantasy.css +29 -0
- package/src/themes/forest.css +29 -0
- package/src/themes/garden.css +29 -0
- package/src/themes/halloween.css +29 -0
- package/src/themes/lemonade.css +29 -0
- package/src/themes/light.css +29 -0
- package/src/themes/lofi.css +29 -0
- package/src/themes/luxury.css +29 -0
- package/src/themes/night.css +29 -0
- package/src/themes/nord.css +29 -0
- package/src/themes/pastel.css +29 -0
- package/src/themes/retro.css +29 -0
- package/src/themes/silk.css +29 -0
- package/src/themes/sunset.css +29 -0
- package/src/themes/synthwave.css +29 -0
- package/src/themes/valentine.css +29 -0
- package/src/themes/winter.css +29 -0
- package/src/themes/wireframe.css +29 -0
- package/src/utilities/glass.css +20 -0
- package/src/utilities/join.css +207 -0
- package/src/utilities/radius.css +119 -0
- package/src/utilities/typography.css +31 -0
- package/functions/addPrefix.js +0 -185
- package/functions/plugin.js +0 -11
- package/functions/pluginOptionsHandler.js +0 -97
- package/functions/themeOrder.js +0 -37
- package/functions/variables.js +0 -29
- package/index.js +0 -61
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
.file-input {
|
|
2
|
+
@layer daisyui.l1.l2.l3 {
|
|
3
|
+
cursor: pointer;
|
|
4
|
+
border: var(--border) solid #0000;
|
|
5
|
+
@apply bg-base-100 inline-flex cursor-pointer appearance-none items-center align-middle select-none;
|
|
6
|
+
width: clamp(3rem, 20rem, 100%);
|
|
7
|
+
height: var(--size);
|
|
8
|
+
padding-inline-end: 0.75rem;
|
|
9
|
+
font-size: 0.875rem;
|
|
10
|
+
line-height: 2;
|
|
11
|
+
border-start-start-radius: var(--join-ss, var(--radius-field));
|
|
12
|
+
border-start-end-radius: var(--join-se, var(--radius-field));
|
|
13
|
+
border-end-start-radius: var(--join-es, var(--radius-field));
|
|
14
|
+
border-end-end-radius: var(--join-ee, var(--radius-field));
|
|
15
|
+
border-color: var(--input-color);
|
|
16
|
+
box-shadow:
|
|
17
|
+
0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset,
|
|
18
|
+
0 -1px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset;
|
|
19
|
+
--size: calc(var(--size-field, 0.25rem) * 10);
|
|
20
|
+
--input-color: color-mix(in oklab, var(--color-base-content) 20%, #0000);
|
|
21
|
+
&::file-selector-button {
|
|
22
|
+
@apply me-4 cursor-pointer px-4 select-none;
|
|
23
|
+
height: calc(100% + var(--border) * 2);
|
|
24
|
+
margin-block: calc(var(--border) * -1);
|
|
25
|
+
margin-inline-start: calc(var(--border) * -1);
|
|
26
|
+
font-size: 0.875rem;
|
|
27
|
+
color: var(--btn-fg);
|
|
28
|
+
border-width: var(--border);
|
|
29
|
+
border-style: solid;
|
|
30
|
+
border-color: var(--btn-border);
|
|
31
|
+
border-start-start-radius: calc(var(--join-ss, var(--radius-field) - var(--border)));
|
|
32
|
+
border-end-start-radius: calc(var(--join-es, var(--radius-field) - var(--border)));
|
|
33
|
+
font-weight: 600;
|
|
34
|
+
background-color: var(--btn-bg);
|
|
35
|
+
background-size: calc(var(--noise) * 100%);
|
|
36
|
+
background-image: var(--btn-noise);
|
|
37
|
+
text-shadow: 0 0.5px oklch(1 0 0 / calc(var(--depth) * 0.15));
|
|
38
|
+
box-shadow:
|
|
39
|
+
0 0.5px 0 0.5px
|
|
40
|
+
color-mix(
|
|
41
|
+
in oklab,
|
|
42
|
+
color-mix(in oklab, white 30%, var(--btn-bg)) calc(var(--depth) * 20%),
|
|
43
|
+
#0000
|
|
44
|
+
)
|
|
45
|
+
inset,
|
|
46
|
+
var(--btn-shadow);
|
|
47
|
+
--size: calc(var(--size-field, 0.25rem) * 10);
|
|
48
|
+
--btn-bg: var(--btn-color, var(--color-base-200));
|
|
49
|
+
--btn-fg: var(--color-base-content);
|
|
50
|
+
--btn-border: color-mix(in oklab, var(--btn-bg), #000 5%);
|
|
51
|
+
--btn-shadow:
|
|
52
|
+
0 3px 2px -2px color-mix(in oklab, var(--btn-bg) 30%, #0000),
|
|
53
|
+
0 4px 3px -2px color-mix(in oklab, var(--btn-bg) 30%, #0000);
|
|
54
|
+
--btn-noise: var(--fx-noise);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
&:focus {
|
|
58
|
+
--input-color: var(--color-base-content);
|
|
59
|
+
box-shadow: 0 1px color-mix(in oklab, var(--input-color) 10%, #0000);
|
|
60
|
+
outline: 2px solid var(--input-color);
|
|
61
|
+
outline-offset: 2px;
|
|
62
|
+
isolation: isolate;
|
|
63
|
+
}
|
|
64
|
+
&:has(> input[disabled]),
|
|
65
|
+
&:is(:disabled, [disabled]) {
|
|
66
|
+
@apply border-base-200 bg-base-200 placeholder-base-content placeholder-base-content/20 cursor-not-allowed;
|
|
67
|
+
box-shadow: none;
|
|
68
|
+
color: color-mix(in oklch, var(--color-base-content) 20%, #0000);
|
|
69
|
+
|
|
70
|
+
&::file-selector-button {
|
|
71
|
+
@apply border-base-200 bg-base-200 cursor-not-allowed;
|
|
72
|
+
--btn-border: #0000;
|
|
73
|
+
--btn-noise: none;
|
|
74
|
+
--btn-fg: color-mix(in oklch, var(--color-base-content) 20%, #0000);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
.file-input-ghost {
|
|
80
|
+
@layer daisyui.l1.l2 {
|
|
81
|
+
@apply bg-transparent;
|
|
82
|
+
transition: background-color 0.2s;
|
|
83
|
+
box-shadow: none;
|
|
84
|
+
border-color: #0000;
|
|
85
|
+
&::file-selector-button {
|
|
86
|
+
@apply ms-0 me-4 h-full cursor-pointer px-4 select-none;
|
|
87
|
+
margin-block: 0;
|
|
88
|
+
border-start-end-radius: calc(var(--join-ss, var(--radius-field) - var(--border)));
|
|
89
|
+
border-end-end-radius: calc(var(--join-es, var(--radius-field) - var(--border)));
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
&:focus,
|
|
93
|
+
&:focus-within {
|
|
94
|
+
@apply text-base-content bg-base-100;
|
|
95
|
+
border-color: #0000;
|
|
96
|
+
box-shadow: none;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.file-input-neutral {
|
|
102
|
+
@layer daisyui.l1.l2 {
|
|
103
|
+
--btn-color: var(--color-neutral);
|
|
104
|
+
&::file-selector-button {
|
|
105
|
+
color: var(--color-neutral-content);
|
|
106
|
+
}
|
|
107
|
+
&,
|
|
108
|
+
&:focus,
|
|
109
|
+
&:focus-within {
|
|
110
|
+
--input-color: var(--color-neutral);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.file-input-primary {
|
|
116
|
+
@layer daisyui.l1.l2 {
|
|
117
|
+
--btn-color: var(--color-primary);
|
|
118
|
+
&::file-selector-button {
|
|
119
|
+
color: var(--color-primary-content);
|
|
120
|
+
}
|
|
121
|
+
&,
|
|
122
|
+
&:focus,
|
|
123
|
+
&:focus-within {
|
|
124
|
+
--input-color: var(--color-primary);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
.file-input-secondary {
|
|
130
|
+
@layer daisyui.l1.l2 {
|
|
131
|
+
--btn-color: var(--color-secondary);
|
|
132
|
+
&::file-selector-button {
|
|
133
|
+
color: var(--color-secondary-content);
|
|
134
|
+
}
|
|
135
|
+
&,
|
|
136
|
+
&:focus,
|
|
137
|
+
&:focus-within {
|
|
138
|
+
--input-color: var(--color-secondary);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
.file-input-accent {
|
|
144
|
+
@layer daisyui.l1.l2 {
|
|
145
|
+
--btn-color: var(--color-accent);
|
|
146
|
+
&::file-selector-button {
|
|
147
|
+
color: var(--color-accent-content);
|
|
148
|
+
}
|
|
149
|
+
&,
|
|
150
|
+
&:focus,
|
|
151
|
+
&:focus-within {
|
|
152
|
+
--input-color: var(--color-accent);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
.file-input-info {
|
|
158
|
+
@layer daisyui.l1.l2 {
|
|
159
|
+
--btn-color: var(--color-info);
|
|
160
|
+
&::file-selector-button {
|
|
161
|
+
color: var(--color-info-content);
|
|
162
|
+
}
|
|
163
|
+
&,
|
|
164
|
+
&:focus,
|
|
165
|
+
&:focus-within {
|
|
166
|
+
--input-color: var(--color-info);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
.file-input-success {
|
|
171
|
+
@layer daisyui.l1.l2 {
|
|
172
|
+
--btn-color: var(--color-success);
|
|
173
|
+
&::file-selector-button {
|
|
174
|
+
color: var(--color-success-content);
|
|
175
|
+
}
|
|
176
|
+
&,
|
|
177
|
+
&:focus,
|
|
178
|
+
&:focus-within {
|
|
179
|
+
--input-color: var(--color-success);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
.file-input-warning {
|
|
185
|
+
@layer daisyui.l1.l2 {
|
|
186
|
+
--btn-color: var(--color-warning);
|
|
187
|
+
&::file-selector-button {
|
|
188
|
+
color: var(--color-warning-content);
|
|
189
|
+
}
|
|
190
|
+
&,
|
|
191
|
+
&:focus,
|
|
192
|
+
&:focus-within {
|
|
193
|
+
--input-color: var(--color-warning);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
.file-input-error {
|
|
199
|
+
@layer daisyui.l1.l2 {
|
|
200
|
+
--btn-color: var(--color-error);
|
|
201
|
+
&::file-selector-button {
|
|
202
|
+
color: var(--color-error-content);
|
|
203
|
+
}
|
|
204
|
+
&,
|
|
205
|
+
&:focus,
|
|
206
|
+
&:focus-within {
|
|
207
|
+
--input-color: var(--color-error);
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
.file-input-xs {
|
|
212
|
+
@layer daisyui.l1.l2 {
|
|
213
|
+
--size: calc(var(--size-field, 0.25rem) * 6);
|
|
214
|
+
font-size: 0.6875rem;
|
|
215
|
+
line-height: 1rem;
|
|
216
|
+
&::file-selector-button {
|
|
217
|
+
font-size: 0.6875rem;
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
.file-input-sm {
|
|
223
|
+
@layer daisyui.l1.l2 {
|
|
224
|
+
--size: calc(var(--size-field, 0.25rem) * 8);
|
|
225
|
+
font-size: 0.75rem;
|
|
226
|
+
line-height: 1.5rem;
|
|
227
|
+
&::file-selector-button {
|
|
228
|
+
font-size: 0.75rem;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
.file-input-md {
|
|
234
|
+
@layer daisyui.l1.l2 {
|
|
235
|
+
--size: calc(var(--size-field, 0.25rem) * 10);
|
|
236
|
+
font-size: 0.875rem;
|
|
237
|
+
line-height: 2;
|
|
238
|
+
&::file-selector-button {
|
|
239
|
+
font-size: 0.875rem;
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
.file-input-lg {
|
|
245
|
+
@layer daisyui.l1.l2 {
|
|
246
|
+
--size: calc(var(--size-field, 0.25rem) * 12);
|
|
247
|
+
font-size: 1.125rem;
|
|
248
|
+
line-height: 2.5rem;
|
|
249
|
+
&::file-selector-button {
|
|
250
|
+
font-size: 1.125rem;
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
.file-input-xl {
|
|
256
|
+
@layer daisyui.l1.l2 {
|
|
257
|
+
@apply pe-6;
|
|
258
|
+
--size: calc(var(--size-field, 0.25rem) * 14);
|
|
259
|
+
font-size: 1.125rem;
|
|
260
|
+
line-height: 3rem;
|
|
261
|
+
&::file-selector-button {
|
|
262
|
+
font-size: 1.375rem;
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
.filter {
|
|
2
|
+
@layer daisyui.l1.l2.l3 {
|
|
3
|
+
@apply flex flex-wrap;
|
|
4
|
+
input[type="radio"] {
|
|
5
|
+
@apply w-auto;
|
|
6
|
+
}
|
|
7
|
+
input {
|
|
8
|
+
@apply overflow-hidden opacity-100;
|
|
9
|
+
scale: 1;
|
|
10
|
+
transition:
|
|
11
|
+
margin 0.1s,
|
|
12
|
+
opacity 0.3s,
|
|
13
|
+
padding 0.3s,
|
|
14
|
+
border-width 0.1s;
|
|
15
|
+
&:not(:last-child) {
|
|
16
|
+
@apply me-1;
|
|
17
|
+
}
|
|
18
|
+
&.filter-reset {
|
|
19
|
+
@apply aspect-square;
|
|
20
|
+
&::after {
|
|
21
|
+
--tw-content: "×";
|
|
22
|
+
content: var(--tw-content);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
&:not(:has(input:checked:not(.filter-reset))) {
|
|
27
|
+
.filter-reset,
|
|
28
|
+
input[type="reset"] {
|
|
29
|
+
scale: 0;
|
|
30
|
+
border-width: 0;
|
|
31
|
+
@apply mx-0 w-0 px-0 opacity-0;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
&:has(input:checked:not(.filter-reset)) {
|
|
35
|
+
input:not(:checked, .filter-reset, input[type="reset"]) {
|
|
36
|
+
scale: 0;
|
|
37
|
+
border-width: 0;
|
|
38
|
+
@apply mx-0 w-0 px-0 opacity-0;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
.footer {
|
|
2
|
+
@layer daisyui.l1.l2.l3 {
|
|
3
|
+
@apply grid w-full grid-flow-row place-items-start gap-x-4 gap-y-10;
|
|
4
|
+
font-size: 0.875rem;
|
|
5
|
+
line-height: 1.25rem;
|
|
6
|
+
|
|
7
|
+
& > * {
|
|
8
|
+
@apply grid place-items-start gap-2;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
&.footer-center {
|
|
12
|
+
@apply grid-flow-col-dense place-items-center text-center;
|
|
13
|
+
|
|
14
|
+
& > * {
|
|
15
|
+
@apply place-items-center;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
.footer-title {
|
|
21
|
+
@layer daisyui.l1.l2.l3 {
|
|
22
|
+
@apply mb-2 uppercase opacity-60;
|
|
23
|
+
font-weight: 600;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.footer-horizontal {
|
|
28
|
+
@layer daisyui.l1.l2 {
|
|
29
|
+
@apply grid-flow-col;
|
|
30
|
+
|
|
31
|
+
&.footer-center {
|
|
32
|
+
@apply grid-flow-row-dense;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.footer-vertical {
|
|
38
|
+
@layer daisyui.l1.l2 {
|
|
39
|
+
@apply grid-flow-row;
|
|
40
|
+
|
|
41
|
+
&.footer-center {
|
|
42
|
+
@apply grid-flow-col-dense;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
.hero {
|
|
2
|
+
@layer daisyui.l1.l2.l3 {
|
|
3
|
+
@apply grid w-full place-items-center bg-cover bg-center;
|
|
4
|
+
|
|
5
|
+
& > * {
|
|
6
|
+
@apply col-start-1 row-start-1;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.hero-overlay {
|
|
12
|
+
@layer daisyui.l1.l2.l3 {
|
|
13
|
+
@apply bg-neutral/50 col-start-1 row-start-1 h-full w-full;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.hero-content {
|
|
18
|
+
@layer daisyui.l1.l2.l3 {
|
|
19
|
+
@apply isolate flex max-w-[80rem] items-center justify-center gap-4 p-4;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
.hover-3d {
|
|
2
|
+
@layer daisyui.l1.l2.l3 {
|
|
3
|
+
display: inline-grid;
|
|
4
|
+
perspective: 75rem;
|
|
5
|
+
--transform: 0, 0;
|
|
6
|
+
--shine: 100% 100%;
|
|
7
|
+
--shadow: 0rem 0rem 0rem;
|
|
8
|
+
--ease: linear(0, 0.931 13.8%, 1.196 21.4%, 1.343 29.8%, 1.378 36%, 1.365 43.2%, 1.059 78%, 1);
|
|
9
|
+
|
|
10
|
+
filter: drop-shadow(var(--shadow) 0.1rem #00000003) drop-shadow(var(--shadow) 0.2rem #00000003)
|
|
11
|
+
drop-shadow(var(--shadow) 0.3rem #00000003) drop-shadow(var(--shadow) 0.4rem #00000003);
|
|
12
|
+
transition: filter ease-out 400ms;
|
|
13
|
+
> :nth-child(n + 2) {
|
|
14
|
+
isolation: isolate;
|
|
15
|
+
z-index: 1;
|
|
16
|
+
}
|
|
17
|
+
> :first-child {
|
|
18
|
+
overflow: hidden;
|
|
19
|
+
grid-area: 1/1/4/4;
|
|
20
|
+
transform: rotate3d(var(--transform), 0, 10deg);
|
|
21
|
+
transition:
|
|
22
|
+
transform var(--ease) 500ms,
|
|
23
|
+
scale var(--ease) 500ms,
|
|
24
|
+
outline-color ease-out 500ms;
|
|
25
|
+
outline: 0.5px solid #0000;
|
|
26
|
+
outline-offset: -1px;
|
|
27
|
+
&:before {
|
|
28
|
+
@apply size-1/3;
|
|
29
|
+
content: "";
|
|
30
|
+
pointer-events: none;
|
|
31
|
+
position: absolute;
|
|
32
|
+
z-index: 1;
|
|
33
|
+
scale: 500%;
|
|
34
|
+
opacity: 0;
|
|
35
|
+
filter: blur(0.75rem);
|
|
36
|
+
background-image: radial-gradient(circle at 50%, #fff3 10%, transparent 50%);
|
|
37
|
+
translate: var(--shine);
|
|
38
|
+
transition:
|
|
39
|
+
translate ease-out 400ms,
|
|
40
|
+
opacity ease-out 400ms;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
&:hover {
|
|
44
|
+
--ease: linear(0, 0.708 15.2%, 0.927 23.6%, 1.067 33%, 1.12 41%, 1.13 50.2%, 1.019 83.2%, 1);
|
|
45
|
+
& > :first-child {
|
|
46
|
+
outline-color: #fff1;
|
|
47
|
+
&:before,
|
|
48
|
+
&:after {
|
|
49
|
+
opacity: 1;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
> :nth-child(n + 2) {
|
|
54
|
+
scale: 1.2;
|
|
55
|
+
}
|
|
56
|
+
> :nth-child(2) {
|
|
57
|
+
grid-area: 1/1/2/2;
|
|
58
|
+
}
|
|
59
|
+
> :nth-child(3) {
|
|
60
|
+
grid-area: 1/2/2/3;
|
|
61
|
+
}
|
|
62
|
+
> :nth-child(4) {
|
|
63
|
+
grid-area: 1/3/2/4;
|
|
64
|
+
}
|
|
65
|
+
> :nth-child(5) {
|
|
66
|
+
grid-area: 2/1/3/2;
|
|
67
|
+
}
|
|
68
|
+
> :nth-child(6) {
|
|
69
|
+
grid-area: 2/3/3/4;
|
|
70
|
+
}
|
|
71
|
+
> :nth-child(7) {
|
|
72
|
+
grid-area: 3/1/4/2;
|
|
73
|
+
}
|
|
74
|
+
> :nth-child(8) {
|
|
75
|
+
grid-area: 3/2/4/3;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
> :nth-child(9) {
|
|
79
|
+
grid-area: 3/3/4/4;
|
|
80
|
+
}
|
|
81
|
+
&:hover {
|
|
82
|
+
> :first-child {
|
|
83
|
+
scale: 1.05;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
&:has(> :nth-child(2):hover) {
|
|
88
|
+
--transform: -1, 1;
|
|
89
|
+
--shine: 0% 0%;
|
|
90
|
+
--shadow: -0.5rem -0.5rem;
|
|
91
|
+
}
|
|
92
|
+
&:has(> :nth-child(3):hover) {
|
|
93
|
+
--transform: -1, 0;
|
|
94
|
+
--shine: 100% 0%;
|
|
95
|
+
--shadow: 0rem -0.5rem;
|
|
96
|
+
}
|
|
97
|
+
&:has(> :nth-child(4):hover) {
|
|
98
|
+
--transform: -1, -1;
|
|
99
|
+
--shine: 200% 0%;
|
|
100
|
+
--shadow: 0.5rem -0.5rem;
|
|
101
|
+
}
|
|
102
|
+
&:has(> :nth-child(5):hover) {
|
|
103
|
+
--transform: 0, 1;
|
|
104
|
+
--shine: 0% 100%;
|
|
105
|
+
--shadow: -0.5rem 0rem;
|
|
106
|
+
}
|
|
107
|
+
&:has(> :nth-child(6):hover) {
|
|
108
|
+
--transform: 0, -1;
|
|
109
|
+
--shine: 200% 100%;
|
|
110
|
+
--shadow: 0.5rem 0rem;
|
|
111
|
+
}
|
|
112
|
+
&:has(> :nth-child(7):hover) {
|
|
113
|
+
--transform: 1, 1;
|
|
114
|
+
--shine: 0% 200%;
|
|
115
|
+
--shadow: -0.5rem 0.5rem;
|
|
116
|
+
}
|
|
117
|
+
&:has(> :nth-child(8):hover) {
|
|
118
|
+
--transform: 1, 0;
|
|
119
|
+
--shine: 100% 200%;
|
|
120
|
+
--shadow: 0rem 0.5rem;
|
|
121
|
+
}
|
|
122
|
+
&:has(> :nth-child(9):hover) {
|
|
123
|
+
--transform: 1, -1;
|
|
124
|
+
--shine: 200% 200%;
|
|
125
|
+
--shadow: 0.5rem 0.5rem;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
.hover-gallery {
|
|
2
|
+
@layer daisyui.l1.l2.l3 {
|
|
3
|
+
--items: 1;
|
|
4
|
+
grid-template-columns: repeat(var(--items), 1fr);
|
|
5
|
+
width: 100%;
|
|
6
|
+
gap: 1px;
|
|
7
|
+
overflow: hidden;
|
|
8
|
+
&,
|
|
9
|
+
&:is(figure) {
|
|
10
|
+
display: inline-grid;
|
|
11
|
+
}
|
|
12
|
+
&:has(> :nth-child(3)) {
|
|
13
|
+
--items: 2;
|
|
14
|
+
}
|
|
15
|
+
&:has(> :nth-child(4)) {
|
|
16
|
+
--items: 3;
|
|
17
|
+
}
|
|
18
|
+
&:has(> :nth-child(5)) {
|
|
19
|
+
--items: 4;
|
|
20
|
+
}
|
|
21
|
+
&:has(> :nth-child(6)) {
|
|
22
|
+
--items: 5;
|
|
23
|
+
}
|
|
24
|
+
&:has(> :nth-child(7)) {
|
|
25
|
+
--items: 6;
|
|
26
|
+
}
|
|
27
|
+
&:has(> :nth-child(8)) {
|
|
28
|
+
--items: 7;
|
|
29
|
+
}
|
|
30
|
+
&:has(> :nth-child(9)) {
|
|
31
|
+
--items: 8;
|
|
32
|
+
}
|
|
33
|
+
&:has(> :nth-child(10)) {
|
|
34
|
+
--items: 9;
|
|
35
|
+
}
|
|
36
|
+
> * {
|
|
37
|
+
opacity: 0;
|
|
38
|
+
height: 100%;
|
|
39
|
+
grid-row: 1;
|
|
40
|
+
object-fit: cover;
|
|
41
|
+
width: 100%;
|
|
42
|
+
&:nth-child(1) {
|
|
43
|
+
grid-column: 1 / -1;
|
|
44
|
+
opacity: 1;
|
|
45
|
+
}
|
|
46
|
+
&:nth-child(2) {
|
|
47
|
+
grid-column: 1;
|
|
48
|
+
}
|
|
49
|
+
&:nth-child(3) {
|
|
50
|
+
grid-column: 2;
|
|
51
|
+
}
|
|
52
|
+
&:nth-child(4) {
|
|
53
|
+
grid-column: 3;
|
|
54
|
+
}
|
|
55
|
+
&:nth-child(5) {
|
|
56
|
+
grid-column: 4;
|
|
57
|
+
}
|
|
58
|
+
&:nth-child(6) {
|
|
59
|
+
grid-column: 5;
|
|
60
|
+
}
|
|
61
|
+
&:nth-child(7) {
|
|
62
|
+
grid-column: 6;
|
|
63
|
+
}
|
|
64
|
+
&:nth-child(8) {
|
|
65
|
+
grid-column: 7;
|
|
66
|
+
}
|
|
67
|
+
&:nth-child(9) {
|
|
68
|
+
grid-column: 8;
|
|
69
|
+
}
|
|
70
|
+
&:nth-child(10) {
|
|
71
|
+
grid-column: 9;
|
|
72
|
+
}
|
|
73
|
+
&:nth-child(n + 11) {
|
|
74
|
+
display: none;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
> *:hover {
|
|
78
|
+
grid-column: 1 / -1;
|
|
79
|
+
opacity: 1;
|
|
80
|
+
}
|
|
81
|
+
&:has(*:hover) {
|
|
82
|
+
> :nth-child(1) {
|
|
83
|
+
@apply hidden;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
.indicator {
|
|
2
|
+
@layer daisyui.l1.l2.l3 {
|
|
3
|
+
@apply relative inline-flex;
|
|
4
|
+
width: max-content;
|
|
5
|
+
|
|
6
|
+
:where(.indicator-item) {
|
|
7
|
+
z-index: 1;
|
|
8
|
+
@apply absolute whitespace-nowrap;
|
|
9
|
+
top: var(--indicator-t, 0);
|
|
10
|
+
bottom: var(--indicator-b, auto);
|
|
11
|
+
left: var(--indicator-s, auto);
|
|
12
|
+
right: var(--indicator-e, 0);
|
|
13
|
+
translate: var(--indicator-x, 50%) var(--indicator-y, -50%);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
.indicator-start {
|
|
18
|
+
@layer daisyui.l1.l2 {
|
|
19
|
+
--indicator-s: 0;
|
|
20
|
+
--indicator-e: auto;
|
|
21
|
+
--indicator-x: -50%;
|
|
22
|
+
[dir="rtl"] & {
|
|
23
|
+
--indicator-s: auto;
|
|
24
|
+
--indicator-e: 0;
|
|
25
|
+
--indicator-x: 50%;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.indicator-center {
|
|
31
|
+
@layer daisyui.l1.l2 {
|
|
32
|
+
--indicator-s: 50%;
|
|
33
|
+
--indicator-e: 50%;
|
|
34
|
+
--indicator-x: -50%;
|
|
35
|
+
[dir="rtl"] & {
|
|
36
|
+
--indicator-x: 50%;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.indicator-end {
|
|
42
|
+
@layer daisyui.l1.l2 {
|
|
43
|
+
--indicator-s: auto;
|
|
44
|
+
--indicator-e: 0;
|
|
45
|
+
--indicator-x: 50%;
|
|
46
|
+
[dir="rtl"] & {
|
|
47
|
+
--indicator-s: 0;
|
|
48
|
+
--indicator-e: auto;
|
|
49
|
+
--indicator-x: -50%;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.indicator-bottom {
|
|
55
|
+
@layer daisyui.l1.l2 {
|
|
56
|
+
--indicator-t: auto;
|
|
57
|
+
--indicator-b: 0;
|
|
58
|
+
--indicator-y: 50%;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.indicator-middle {
|
|
63
|
+
@layer daisyui.l1.l2 {
|
|
64
|
+
--indicator-t: 50%;
|
|
65
|
+
--indicator-b: 50%;
|
|
66
|
+
--indicator-y: -50%;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.indicator-top {
|
|
71
|
+
@layer daisyui.l1.l2 {
|
|
72
|
+
--indicator-t: 0;
|
|
73
|
+
--indicator-b: auto;
|
|
74
|
+
--indicator-y: -50%;
|
|
75
|
+
}
|
|
76
|
+
}
|