css-zero 0.0.17 → 0.0.19

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 (29) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -393
  3. data/app/assets/stylesheets/_reset.css +10 -21
  4. data/app/assets/stylesheets/animations.css +144 -16
  5. data/app/assets/stylesheets/effects.css +0 -1
  6. data/app/assets/stylesheets/typography.css +16 -4
  7. data/app/assets/stylesheets/zutilities.css +7 -15
  8. data/app/helpers/dialog_helper.rb +5 -0
  9. data/lib/css_zero/version.rb +1 -1
  10. data/lib/generators/css_zero/add/USAGE +1 -1
  11. data/lib/generators/css_zero/add/resources.yml +7 -0
  12. data/lib/generators/css_zero/add/templates/app/assets/images/chevron-left.svg +1 -0
  13. data/lib/generators/css_zero/add/templates/app/assets/images/ellipsis.svg +1 -0
  14. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/accordion.css +1 -1
  15. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/alert.css +1 -1
  16. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/avatar.css +7 -9
  17. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/badge.css +3 -1
  18. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/button.css +1 -1
  19. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/card.css +1 -1
  20. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/dialog.css +10 -2
  21. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/input.css +22 -5
  22. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/pagination.css +33 -0
  23. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/progress.css +1 -1
  24. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/prose.css +135 -0
  25. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/switch.css +1 -1
  26. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/table.css +1 -1
  27. data/lib/generators/css_zero/add/templates/app/javascript/controllers/collapsible_controller.js +10 -2
  28. data/lib/generators/css_zero/install/templates/app/assets/stylesheets/base.css +4 -2
  29. metadata +7 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 92f6b9adffe56fbbd63cc59f9d80869e8fd52f01dc43285e2a4fca1478099a83
4
- data.tar.gz: 48bc41e660292ebcd1f9fec79a0c791cbfec06ba9e698711ab211bec155950c3
3
+ metadata.gz: e634509687f5553344bef169e20e981f450b6b07df35aa6dd274392858ed3834
4
+ data.tar.gz: 3d16de104cfa4eeb9265a4738cf472e222b95354b9097e92030f61bbd51538bd
5
5
  SHA512:
6
- metadata.gz: a3ff2ead3a52606d129f09bc0c9aa9039b4cd155ea0e87d6b2b07ceedb77b346d044004f906376dccd796fa63f2fd28341c6b4339547238e202465fc16c12beb
7
- data.tar.gz: e7f2b6b8b2cf02729a57051cdb7d3827ee5803bb6af9257fa8b6e968eafcd40163e671f24f3b8c4fcfebea2663d825bb483a86a7911c8e8425210f3214628010
6
+ metadata.gz: 306343a85beba9d8d8b94686a00278ad037ff1682f2420b69e05d82fb4c57e051d973903e3ee764f856e8e85f5ff38b366c7466f192ad20d2f7b5c3cadd6071f
7
+ data.tar.gz: 2b4f9569b4f006aedaf62fbbaddcce87d98ebc4b03e0fcb922efaf72d1c45e5be0af9ced635f3b5d9b7bb874c3f7c0cd92969683c6ca5a7261665257f672cef9
data/README.md CHANGED
@@ -19,7 +19,7 @@ bin/rails generate css_zero:install
19
19
  Add only the components you need. (Optional)
20
20
 
21
21
  ```
22
- bin/rails generate css_zero:add accordion alert avatar badge breadcrumb button card collapsible dialog input progress switch table
22
+ bin/rails generate css_zero:add accordion alert avatar badge breadcrumb button card collapsible dialog input pagination progress prose switch table
23
23
  ```
24
24
 
25
25
  ### Requirements
@@ -89,399 +89,9 @@ Check the [CSS files](app/assets/stylesheets) in the repository to see the avail
89
89
 
90
90
  ## Components
91
91
 
92
- ### Accordion
92
+ [<img src="https://github.com/user-attachments/assets/989b0ddd-064a-4ac6-8aee-f9eaaf07ff38">](https://css-zero-showcase.onrender.com/lookbook)
93
93
 
94
- <img width="500" alt="accordion" src="https://github.com/lazaronixon/css-zero/assets/2651240/9644edec-9bb1-4e1f-b2da-19c7fb5a540f">
95
-
96
- <details>
97
- <summary>Show me the code</summary>
98
-
99
- ```html+erb
100
- <div class="accordion">
101
- <details name="my_accordion">
102
- <summary>Is it accessible?</summary>
103
- <p class="text-sm">Yes. It adheres to the WAI-ARIA design pattern.</p>
104
- </details>
105
- <details name="my_accordion">
106
- <summary>Is it styled?</summary>
107
- <p class="text-sm">Yes. It comes with default styles that matches the other components' aesthetic.</p>
108
- </details>
109
- <details name="my_accordion">
110
- <summary>Is it animated?</summary>
111
- <p class="text-sm">Yes. It's animated by default, but you can disable it if you prefer.</p>
112
- </details>
113
- </div>
114
- ```
115
- </details>
116
-
117
- ### Alert
118
-
119
- <img width="500" alt="alert" src="https://github.com/lazaronixon/css-zero/assets/2651240/eae5c6dd-f6b4-4c01-bec1-cd7e9523d0a6">
120
-
121
- <details>
122
- <summary>Show me the code</summary>
123
-
124
- ```html+erb
125
- <div class="alert alert--negative flex items-start gap">
126
- <%= image_tag("circle-alert.svg", role: "presentation", size: 16) %>
127
- <div class="flex flex-col">
128
- <h1 class="font-medium leading-none mbe-1">Error</h1>
129
- <p class="text-sm">Your session has expired. Please log in again.</p>
130
- </div>
131
- </div>
132
- ```
133
- </details>
134
-
135
- ### Avatar
136
-
137
- <details>
138
- <summary>Show me the code</summary>
139
-
140
- ```html+erb
141
- <div class="flex item-center gap">
142
- <div class="avatar">
143
- <%= image_tag "cartoon.jpg", role: "presentation", size: 48 %>
144
- </div>
145
-
146
- <div class="avatar">
147
- <span class="avatar__fallback">CN</span>
148
- </div>
149
- </div>
150
- ```
151
- </details>
152
-
153
- ### Badge
154
-
155
- <img width="400" alt="image" src="https://github.com/lazaronixon/css-zero/assets/2651240/6a700dc4-0fd5-46f6-9902-a9bde5f7febb">
156
-
157
- <details>
158
- <summary>Show me the code</summary>
159
-
160
- ```html+erb
161
- <div class="flex justify-start gap">
162
- <div class="badge">Badge</div>
163
- <div class="badge badge--secondary">Secondary</div>
164
- <div class="badge badge--outline">Outline</div>
165
- <div class="badge badge--positive">Positive</div>
166
- <div class="badge badge--negative">Negative</div>
167
- </div>
168
- ```
169
- </details>
170
-
171
- ### Breadcrumb
172
-
173
- <details>
174
- <summary>Show me the code</summary>
175
-
176
- ```html+erb
177
- <nav class="breadcrumb">
178
- <a href="#">Home</a>
179
- <%= image_tag "chevron-right.svg", size: 14 %>
180
- <a href="#"><%= image_tag "ellipsis.svg", size: 14 %></a>
181
- <%= image_tag "chevron-right.svg", size: 14 %>
182
- <a href="#">Components</a>
183
- <%= image_tag "chevron-right.svg", size: 14 %>
184
- <a href="#" class="text-primary">Breadcrumb</a>
185
- </nav>
186
- ```
187
- </details>
188
-
189
- ### Button
190
-
191
- <img width="500" alt="button" src="https://github.com/lazaronixon/css-zero/assets/2651240/df78c11e-9167-4fd3-a779-24729cb24715">
192
-
193
- <details>
194
- <summary>Show me the code</summary>
195
-
196
- ```html+erb
197
- <div class="flex flex-wrap items-center gap" aria-busy>
198
- <button class="btn">Primary</button>
199
- <button class="btn btn--secondary">Secondary</button>
200
- <button class="btn btn--outline">Outline</button>
201
- <button class="btn btn--plain">Plain</button>
202
- <button class="btn btn--positive">Positive</button>
203
- <button class="btn btn--negative">Negative</button>
204
-
205
- <button class="btn">
206
- <%= image_tag "circle-plus.svg", role: "presentation", size: 16 %>
207
- <span>With icon</span>
208
- </button>
209
-
210
- <button class="btn btn--loading" disabled>
211
- <span>Please wait</span>
212
- </button>
213
- </div>
214
- ```
215
- </details>
216
-
217
- ### Card
218
-
219
- <img width="366" alt="image" src="https://github.com/lazaronixon/css-zero/assets/2651240/f4077b91-2d0c-49db-9fb6-2955f8575217">
220
-
221
- <details>
222
- <summary>Show me the code</summary>
223
-
224
- ```html+erb
225
- <div class="card flex flex-col gap" style="width: 350px; gap: 1.5rem;">
226
- <div class="flex flex-col gap-sm">
227
- <h1 class="text-2xl font-semibold leading-none">Create project</h1>
228
- <p class="text-sm text-subtle">Deploy your new project in one-click.</p>
229
- </div>
230
-
231
- <div class="flex flex-col gap">
232
- <div class="flex flex-col gap-sm">
233
- <label for="name" class="text-sm font-medium">Name</label>
234
- <input type="text" id="name" placeholder="Name of your project" class="input">
235
- </div>
236
-
237
- <div class="flex flex-col gap-sm">
238
- <label for="framework" class="text-sm font-medium">Framework</label>
239
- <select id="framework" class="input">
240
- <option value="">Select</option>
241
- <option value="rails">Ruby on Rails</option>
242
- <option value="laravel">Laravel</option>
243
- <option value="next">Next</option>
244
- </select>
245
- </div>
246
- </div>
247
-
248
- <div class="flex justify-between">
249
- <button class="btn btn--outline">Cancel</button>
250
- <button class="btn">Destroy</button>
251
- </div>
252
- </div>
253
- ```
254
- </details>
255
-
256
- ### Collapsible
257
-
258
- <details>
259
- <summary>Show me the code</summary>
260
-
261
- ```html+erb
262
- <div data-controller="collapsible" style="max-inline-size: 350px">
263
- <div class="flex items-center justify-between gap pi-4 pb-3">
264
- <h4 class="text-sm font-semibold">
265
- @lazaronixon starred 3 repositories
266
- </h4>
267
- <button data-action="collapsible#toggle" class="btn btn--plain p-0">
268
- <%= image_tag "chevrons-up-down.svg", size: 16 %>
269
- <span class="sr-only">Toggle</span>
270
- </button>
271
- </div>
272
- <div class="rounded-md border pi-4 pb-3 mbs-2 text-sm">
273
- @rails/rails
274
- </div>
275
- <details>
276
- <summary data-collapsible-target="summary" hidden></summary>
277
- <div class="rounded-md border pi-4 pb-3 mbs-2 text-sm">
278
- @rails/jbuilder
279
- </div>
280
- <div class="rounded-md border pi-4 pb-3 mbs-2 text-sm">
281
- @rails/jsbundling-rails
282
- </div>
283
- </details>
284
- </div>
285
- ```
286
- </details>
287
-
288
- ### Dialog
289
-
290
- #### Alert Dialog
291
-
292
- <img width="500" alt="alert_dialog" src="https://github.com/lazaronixon/css-zero/assets/2651240/483b00fc-0330-45b3-82c5-dc4118987564">
293
-
294
- <details>
295
- <summary>Show me the code</summary>
296
-
297
- ```html+erb
298
- <div data-controller="dialog">
299
- <dialog data-dialog-target="box" class="dialog">
300
- <h1 class="text-lg font-semibold">Are you absolutely sure?</h1>
301
- <p class="text-sm text-subtle mbs-2">This action cannot be undone. This will permanently delete your account and remove your data from our servers.</p>
302
-
303
- <div class="flex justify-end gap-sm mbs-4">
304
- <form method="dialog"><button class="btn btn--outline">Cancel</button></form>
305
- <button class="btn btn--primary">Continue</button>
306
- </div>
307
- </dialog>
308
-
309
- <button class="btn" data-action="dialog#showModal">
310
- Show dialog
311
- </button>
312
- </div>
313
- ```
314
- </details>
315
-
316
- #### Dismissible Dialog
317
-
318
- <img width="400" alt="dismissible_dialog" src="https://github.com/lazaronixon/css-zero/assets/2651240/50c8af20-46bb-4bf9-a233-78877f49e086">
319
-
320
- <details>
321
- <summary>Show me the code</summary>
322
-
323
- ```html+erb
324
- <div data-controller="dialog">
325
- <dialog data-dialog-target="box" data-action="click->dialog#closeOnClickOutside" class="dialog" style="max-inline-size: 430px;">
326
- <form method="dialog">
327
- <button class="btn btn--plain p-0 dialog__close">
328
- <%= image_tag "x.svg", aria: { hidden: "true" }, size: 16 %>
329
- <span class="sr-only">Close</span>
330
- </button>
331
- </form>
332
-
333
- <div class="flex flex-col gap">
334
- <div class="flex flex-col gap-sm">
335
- <h1 class="text-lg leading-none font-semibold">Edit profile</h1>
336
- <p class="text-sm text-subtle">Make changes to your profile here. Click save when you're done.</p>
337
- </div>
338
-
339
- <div class="flex flex-col mb-4 gap">
340
- <div class="grid grid-cols-4 items-center gap">
341
- <label for="name" class="text-sm font-medium text-end">Name</label>
342
- <input type="text" id="name" value="Lázaro Nixon" class="input col-span-3">
343
- </div>
344
-
345
- <div class="grid grid-cols-4 items-center gap">
346
- <label for="username" class="text-sm font-medium text-end">Username</label>
347
- <input type="text" id="username" value="@lazaronixon" class="input col-span-3">
348
- </div>
349
- </div>
350
-
351
- <div class="flex items-center justify-end">
352
- <input type="submit" value= "Save changes" class="btn"/>
353
- </div>
354
- </div>
355
- </dialog>
356
-
357
- <button class="btn" data-action="dialog#showModal">
358
- Show dialog
359
- </button>
360
- </div>
361
- ```
362
- </details>
363
-
364
- ### Input
365
-
366
- <img width="500" alt="input" src="https://github.com/lazaronixon/css-zero/assets/2651240/f33a9d34-44b5-4c6b-ad88-1f0fd00b7291">
367
-
368
- <details>
369
- <summary>Show me the code</summary>
370
-
371
- ```html+erb
372
- <%= form_with url: "/users", class: "flex flex-col gap" do |form| %>
373
- <div class="flex flex-col gap-sm">
374
- <%= form.label :name, class: "text-sm font-medium" %>
375
- <%= form.text_field :name, class: "input" %>
376
- </div>
377
-
378
- <div class="flex flex-col gap-sm">
379
- <%= form.label :pick_a_date, class: "text-sm font-medium" %>
380
- <%= form.date_field :pick_a_date, class: "input" %>
381
- </div>
382
-
383
- <div class="flex flex-col gap-sm">
384
- <%= form.label :age_range, class: "text-sm font-medium" %>
385
- <%= form.select :age_range, ["0-13", "14-17", "18-23"], {}, class: "input" %>
386
- </div>
387
-
388
- <div class="flex flex-col gap-sm">
389
- <%= form.label :comment, class: "text-sm font-medium" %>
390
- <%= form.text_area :comment, rows: 3, class: "input" %>
391
- </div>
392
-
393
- <div class="flex items-center gap-sm">
394
- <%= form.check_box :status, class: "checkbox" %>
395
- <%= form.label :status, "Send a copy to yourself", class: "text-sm font-medium" %>
396
- </div>
397
- <% end %>
398
- ```
399
- </details>
400
-
401
- ### Progress
402
-
403
- <img width="500" alt="progress" src="https://github.com/lazaronixon/css-zero/assets/2651240/32f7b665-ae85-48de-9338-0c255019122e">
404
-
405
- <details>
406
- <summary>Show me the code</summary>
407
-
408
- ```html
409
- <label>
410
- <span class="sr-only">Loading progress</span>
411
- <progress value="75" max="100" class="progress"></progress>
412
- </label>
413
- ```
414
- </details>
415
-
416
- ### Switch
417
-
418
- <img width="175" alt="image" src="https://github.com/lazaronixon/css-zero/assets/2651240/b47e28fb-6492-402c-b422-b896dfd3b713">
419
-
420
- <details>
421
- <summary>Show me the code</summary>
422
-
423
- ```html+erb
424
- <div class="flex items-center gap-sm">
425
- <input type="checkbox" class="switch">
426
- <label for="status" class="text-sm font-medium">Airplane Mode</label>
427
- </div>
428
- ```
429
- </details>
430
-
431
- ### Table
432
-
433
- <img width="500" alt="image" src="https://github.com/lazaronixon/css-zero/assets/2651240/c7b261a8-6d38-46f2-bf69-fd9385776bbe">
434
-
435
- <details>
436
- <summary>Show me the code</summary>
437
-
438
- ```html+erb
439
- <table class="table">
440
- <thead>
441
- <tr>
442
- <th>Invoice</th>
443
- <th>Status</th>
444
- <th>Method</th>
445
- <th class="text-end">Amount</th>
446
- </tr>
447
- </thead>
448
- <tbody>
449
- <tr>
450
- <th>INV001</th>
451
- <td>Paid</td>
452
- <td>Credit Card</td>
453
- <td class="text-end">$250.00</td>
454
- </tr>
455
- <tr>
456
- <th>INV002</th>
457
- <td>Pending</td>
458
- <td>PayPal</td>
459
- <td class="text-end">$150.00</td>
460
- </tr>
461
- <tr>
462
- <th>INV003</th>
463
- <td>Unpaid</td>
464
- <td>Transfer</td>
465
- <td class="text-end">$350.00</td>
466
- </tr>
467
- <tr>
468
- <th>INV004</th>
469
- <td>Paid</td>
470
- <td>Credit Card</td>
471
- <td class="text-end">$450.00</td>
472
- </tr>
473
- </tbody>
474
- <tfoot>
475
- <tr>
476
- <td colspan="3">Paid</td>
477
- <td class="text-end">$2,500.00</td>
478
- </tr>
479
- </tfoot>
480
- </table>
481
- ```
482
- </details>
483
-
484
- ### More components soon...
94
+ More components soon...
485
95
 
486
96
  ## Development
487
97
 
@@ -30,16 +30,7 @@ html,
30
30
  line-height: 1.5; /* 1 */
31
31
  -webkit-text-size-adjust: 100%; /* 2 */
32
32
  tab-size: 4; /* 3 */
33
- font-family: var(
34
- --default-font-family,
35
- ui-sans-serif,
36
- system-ui,
37
- sans-serif,
38
- 'Apple Color Emoji',
39
- 'Segoe UI Emoji',
40
- 'Segoe UI Symbol',
41
- 'Noto Color Emoji'
42
- ); /* 4 */
33
+ font-family: var(--default-font-family, system-ui, sans-serif); /* 4 */
43
34
  font-feature-settings: var(--default-font-feature-settings, normal); /* 5 */
44
35
  font-variation-settings: var(--default-font-variation-settings, normal); /* 6 */
45
36
  -webkit-tap-highlight-color: transparent; /* 7 */
@@ -118,17 +109,7 @@ code,
118
109
  kbd,
119
110
  samp,
120
111
  pre {
121
- font-family: var(
122
- --default-mono-font-family,
123
- ui-monospace,
124
- SFMono-Regular,
125
- Menlo,
126
- Monaco,
127
- Consolas,
128
- 'Liberation Mono',
129
- 'Courier New',
130
- monospace
131
- ); /* 4 */
112
+ font-family: var(--default-mono-font-family, ui-monospace, monospace); /* 4 */
132
113
  font-feature-settings: var(--default-mono-font-feature-settings, normal); /* 5 */
133
114
  font-variation-settings: var(--default-mono-font-variation-settings, normal); /* 6 */
134
115
  font-size: 1em; /* 4 */
@@ -245,6 +226,14 @@ progress {
245
226
  block-size: auto;
246
227
  }
247
228
 
229
+ /*
230
+ Correct the arrow style of datalist in Chrome.
231
+ */
232
+
233
+ ::-webkit-calendar-picker-indicator {
234
+ line-height: 1em;
235
+ }
236
+
248
237
  /*
249
238
  Remove the inner padding in Chrome and Safari on macOS.
250
239
  */
@@ -1,36 +1,164 @@
1
1
  /****************************************************************
2
2
  * Animation
3
3
  * Variables for animating elements with CSS animations.
4
- * animation: var(--animate-pulse);
4
+ * animation: var(--animate-fade-in) forwards;
5
5
  *****************************************************************/
6
6
 
7
7
  :root {
8
- --animate-spin: spin 1s linear infinite;
9
- --animate-ping: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
10
- --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
11
- --animate-bounce: bounce 1s infinite;
8
+ --animate-fade-in: fade-in .5s cubic-bezier(.25, 0, .3, 1);
9
+ --animate-fade-in-bloom: fade-in-bloom 2s cubic-bezier(.25, 0, .3, 1);
10
+ --animate-fade-out: fade-out .5s cubic-bezier(.25, 0, .3, 1);
11
+ --animate-fade-out-bloom: fade-out-bloom 2s cubic-bezier(.25, 0, .3, 1);
12
+ --animate-scale-up: scale-up .5s cubic-bezier(.25, 0, .3, 1);
13
+ --animate-scale-down: scale-down .5s cubic-bezier(.25, 0, .3, 1);
14
+ --animate-slide-out-up: slide-out-up .5s cubic-bezier(.25, 0, .3, 1);
15
+ --animate-slide-out-down: slide-out-down .5s cubic-bezier(.25, 0, .3, 1);
16
+ --animate-slide-out-right: slide-out-right .5s cubic-bezier(.25, 0, .3, 1);
17
+ --animate-slide-out-left: slide-out-left .5s cubic-bezier(.25, 0, .3, 1);
18
+ --animate-slide-in-up: slide-in-up .5s cubic-bezier(.25, 0, .3, 1);
19
+ --animate-slide-in-down: slide-in-down .5s cubic-bezier(.25, 0, .3, 1);
20
+ --animate-slide-in-right: slide-in-right .5s cubic-bezier(.25, 0, .3, 1);
21
+ --animate-slide-in-left: slide-in-left .5s cubic-bezier(.25, 0, .3, 1);
22
+ --animate-shake-x: shake-x .75s cubic-bezier(0, 0, 0, 1);
23
+ --animate-shake-y: shake-y .75s cubic-bezier(0, 0, 0, 1);
24
+ --animate-shake-z: shake-z 1s cubic-bezier(0, 0, 0, 1);
25
+ --animate-spin: spin 2s linear infinite;
26
+ --animate-ping: ping 5s cubic-bezier(0, 0, .3, 1) infinite;
27
+ --animate-blink: blink 1s cubic-bezier(0, 0, .3, 1) infinite;
28
+ --animate-float: float 3s cubic-bezier(0, 0, 0, 1) infinite;
29
+ --animate-bounce: bounce 2s cubic-bezier(.5, -.3, .1, 1.5) infinite;
30
+ --animate-pulse: pulse 2s cubic-bezier(0, 0, .3, 1) infinite;
31
+ }
32
+
33
+ @keyframes fade-in {
34
+ to { opacity: 1 }
35
+ }
36
+
37
+ @keyframes fade-in-bloom {
38
+ 0% { opacity: 0; filter: brightness(1) blur(20px) }
39
+ 10% { opacity: 1; filter: brightness(2) blur(10px) }
40
+ 100% { opacity: 1; filter: brightness(1) blur(0) }
41
+ }
42
+
43
+ @keyframes fade-out {
44
+ to { opacity: 0 }
45
+ }
46
+
47
+ @keyframes fade-out-bloom {
48
+ 100% { opacity: 0; filter: brightness(1) blur(20px) }
49
+ 10% { opacity: 1; filter: brightness(2) blur(10px) }
50
+ 0% { opacity: 1; filter: brightness(1) blur(0) }
51
+ }
52
+ @keyframes scale-up {
53
+ to { transform: scale(1.25) }
54
+ }
55
+
56
+ @keyframes scale-down {
57
+ to { transform: scale(.75) }
58
+ }
59
+
60
+ @keyframes slide-out-up {
61
+ to { transform: translateY(-100%) }
62
+ }
63
+
64
+ @keyframes slide-out-down {
65
+ to { transform: translateY(100%) }
66
+ }
67
+
68
+ @keyframes slide-out-right {
69
+ to { transform: translateX(100%) }
70
+ }
71
+
72
+ @keyframes slide-out-left {
73
+ to { transform: translateX(-100%) }
74
+ }
75
+
76
+ @keyframes slide-in-up {
77
+ from { transform: translateY(100%) }
78
+ }
79
+
80
+ @keyframes slide-in-down {
81
+ from { transform: translateY(-100%) }
82
+ }
83
+
84
+ @keyframes slide-in-right {
85
+ from { transform: translateX(-100%) }
86
+ }
87
+
88
+ @keyframes slide-in-left {
89
+ from { transform: translateX(100%) }
90
+ }
91
+
92
+ @keyframes shake-x {
93
+ 0%, 100% { transform: translateX(0%) }
94
+ 20% { transform: translateX(-5%) }
95
+ 40% { transform: translateX(5%) }
96
+ 60% { transform: translateX(-5%) }
97
+ 80% { transform: translateX(5%) }
98
+ }
99
+
100
+ @keyframes shake-y {
101
+ 0%, 100% { transform: translateY(0%) }
102
+ 20% { transform: translateY(-5%) }
103
+ 40% { transform: translateY(5%) }
104
+ 60% { transform: translateY(-5%) }
105
+ 80% { transform: translateY(5%) }
106
+ }
107
+
108
+ @keyframes shake-z {
109
+ 0%, 100% { transform: rotate(0deg) }
110
+ 20% { transform: rotate(-2deg) }
111
+ 40% { transform: rotate(2deg) }
112
+ 60% { transform: rotate(-2deg) }
113
+ 80% { transform: rotate(2deg) }
12
114
  }
13
115
 
14
116
  @keyframes spin {
15
- to { transform: rotate(360deg); }
117
+ to { transform: rotate(1turn) }
16
118
  }
17
119
 
18
120
  @keyframes ping {
19
- 75%, 100% { transform: scale(2); opacity: 0; }
121
+ 90%, 100% {
122
+ transform: scale(2);
123
+ opacity: 0;
124
+ }
20
125
  }
21
126
 
22
- @keyframes pulse {
23
- 50% { opacity: 0.5; }
127
+ @keyframes blink {
128
+ 0%, 100% {
129
+ opacity: 1
130
+ }
131
+ 50% {
132
+ opacity: .5
133
+ }
134
+ }
135
+
136
+ @keyframes float {
137
+ 50% { transform: translateY(-25%) }
24
138
  }
25
139
 
26
140
  @keyframes bounce {
27
- 0%, 100% {
28
- transform: translateY(-25%);
29
- animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
30
- }
141
+ 25% { transform: translateY(-20%) }
142
+ 40% { transform: translateY(-3%) }
143
+ 0%, 60%, 100% { transform: translateY(0) }
144
+ }
31
145
 
32
- 50% {
33
- transform: none;
34
- animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
146
+ @keyframes pulse {
147
+ 50% { transform: scale(.9,.9) }
148
+ }
149
+
150
+ @media (prefers-color-scheme: dark) {
151
+ @keyframes fade-in-bloom {
152
+ 0% { opacity: 0; filter: brightness(1) blur(20px) }
153
+ 10% { opacity: 1; filter: brightness(0.5) blur(10px) }
154
+ 100% { opacity: 1; filter: brightness(1) blur(0) }
35
155
  }
36
156
  }
157
+
158
+ @media (prefers-color-scheme: dark) {
159
+ @keyframes fade-out-bloom {
160
+ 100% { opacity: 0; filter: brightness(1) blur(20px) }
161
+ 10% { opacity: 1; filter: brightness(0.5) blur(10px) }
162
+ 0% { opacity: 1; filter: brightness(1) blur(0) }
163
+ }
164
+ }
@@ -4,7 +4,6 @@
4
4
  * Variables for controlling the box shadow of an element.
5
5
  * box-shadow: var(--shadow);
6
6
  ****************************************************************/
7
- --shadow-xs: 0 1px rgb(0 0 0 / 0.05);
8
7
  --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
9
8
  --shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
10
9
  --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);