aeros 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +230 -0
  4. data/Rakefile +8 -0
  5. data/app/assets/stylesheets/aeros/application.css +15 -0
  6. data/app/assets/stylesheets/aeros/application.tailwind.css +7 -0
  7. data/app/assets/stylesheets/aeros/tailwind.css +1100 -0
  8. data/app/components/aeros/application_view_component.rb +75 -0
  9. data/app/components/aeros/button/component.rb +128 -0
  10. data/app/components/aeros/button/controller.js +7 -0
  11. data/app/components/aeros/card/component.html.erb +3 -0
  12. data/app/components/aeros/card/component.rb +7 -0
  13. data/app/components/aeros/dropdown/component.html.erb +26 -0
  14. data/app/components/aeros/dropdown/component.rb +66 -0
  15. data/app/components/aeros/empty/component.html.erb +12 -0
  16. data/app/components/aeros/empty/component.rb +5 -0
  17. data/app/components/aeros/form_builder.rb +71 -0
  18. data/app/components/aeros/input_password/component.html.erb +43 -0
  19. data/app/components/aeros/input_password/component.rb +6 -0
  20. data/app/components/aeros/input_password/controller.js +17 -0
  21. data/app/components/aeros/input_select/component.html.erb +43 -0
  22. data/app/components/aeros/input_select/component.rb +24 -0
  23. data/app/components/aeros/input_text/component.html.erb +25 -0
  24. data/app/components/aeros/input_text/component.rb +5 -0
  25. data/app/components/aeros/input_wrapper/component.html.erb +20 -0
  26. data/app/components/aeros/input_wrapper/component.rb +12 -0
  27. data/app/components/aeros/page/component.html.erb +24 -0
  28. data/app/components/aeros/page/component.rb +9 -0
  29. data/app/components/aeros/spinner/component.rb +55 -0
  30. data/app/components/aeros/table/component.html.erb +10 -0
  31. data/app/components/aeros/table/component.rb +64 -0
  32. data/app/controllers/aeros/application_controller.rb +4 -0
  33. data/app/controllers/aeros/showcase_controller.rb +4 -0
  34. data/app/helpers/aeros/application_helper.rb +16 -0
  35. data/app/javascript/aeros/application.js +3 -0
  36. data/app/javascript/aeros/controllers/application.js +5 -0
  37. data/app/javascript/aeros/controllers/index.js +5 -0
  38. data/app/javascript/aeros/controllers/loader.js +62 -0
  39. data/app/jobs/aeros/application_job.rb +4 -0
  40. data/app/models/aeros/application_record.rb +5 -0
  41. data/app/views/aeros/showcase/index.html.erb +1 -0
  42. data/app/views/layouts/aeros/application.html.erb +20 -0
  43. data/config/importmap.rb +15 -0
  44. data/config/routes.rb +3 -0
  45. data/lib/aeros/engine.rb +37 -0
  46. data/lib/aeros/engine_helpers.rb +44 -0
  47. data/lib/aeros/version.rb +3 -0
  48. data/lib/aeros.rb +9 -0
  49. data/lib/tasks/aeros_tasks.rake +21 -0
  50. metadata +220 -0
@@ -0,0 +1,1100 @@
1
+ /*! tailwindcss v4.1.13 | MIT License | https://tailwindcss.com */
2
+ @layer properties;
3
+ @layer theme, base, components, utilities;
4
+ @layer theme {
5
+ :root, :host {
6
+ --font-sans: ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',
7
+ 'Noto Color Emoji';
8
+ --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New',
9
+ monospace;
10
+ --color-red-500: oklch(63.7% 0.237 25.331);
11
+ --color-red-600: oklch(57.7% 0.245 27.325);
12
+ --color-indigo-500: oklch(58.5% 0.233 277.117);
13
+ --color-slate-600: oklch(44.6% 0.043 257.281);
14
+ --color-gray-50: oklch(98.5% 0.002 247.839);
15
+ --color-gray-100: oklch(96.7% 0.003 264.542);
16
+ --color-gray-200: oklch(92.8% 0.006 264.531);
17
+ --color-gray-300: oklch(87.2% 0.01 258.338);
18
+ --color-gray-400: oklch(70.7% 0.022 261.325);
19
+ --color-gray-500: oklch(55.1% 0.027 264.364);
20
+ --color-gray-600: oklch(44.6% 0.03 256.802);
21
+ --color-gray-700: oklch(37.3% 0.034 259.733);
22
+ --color-gray-900: oklch(21% 0.034 264.665);
23
+ --color-stone-50: oklch(98.5% 0.001 106.423);
24
+ --color-stone-100: oklch(97% 0.001 106.424);
25
+ --color-stone-300: oklch(86.9% 0.005 56.366);
26
+ --color-stone-400: oklch(70.9% 0.01 56.259);
27
+ --color-stone-500: oklch(55.3% 0.013 58.071);
28
+ --color-stone-600: oklch(44.4% 0.011 73.639);
29
+ --color-stone-700: oklch(37.4% 0.01 67.558);
30
+ --color-stone-800: oklch(26.8% 0.007 34.298);
31
+ --color-black: #000;
32
+ --color-white: #fff;
33
+ --spacing: 0.25rem;
34
+ --text-xs: 0.75rem;
35
+ --text-xs--line-height: calc(1 / 0.75);
36
+ --text-sm: 0.875rem;
37
+ --text-sm--line-height: calc(1.25 / 0.875);
38
+ --text-lg: 1.125rem;
39
+ --text-lg--line-height: calc(1.75 / 1.125);
40
+ --text-xl: 1.25rem;
41
+ --text-xl--line-height: calc(1.75 / 1.25);
42
+ --text-3xl: 1.875rem;
43
+ --text-3xl--line-height: calc(2.25 / 1.875);
44
+ --font-weight-medium: 500;
45
+ --font-weight-semibold: 600;
46
+ --font-weight-bold: 700;
47
+ --tracking-tight: -0.025em;
48
+ --tracking-wider: 0.05em;
49
+ --radius-md: 0.375rem;
50
+ --radius-lg: 0.5rem;
51
+ --animate-spin: spin 1s linear infinite;
52
+ --default-font-family: var(--font-sans);
53
+ --default-mono-font-family: var(--font-mono);
54
+ }
55
+ }
56
+ @layer base {
57
+ *, ::after, ::before, ::backdrop, ::file-selector-button {
58
+ box-sizing: border-box;
59
+ margin: 0;
60
+ padding: 0;
61
+ border: 0 solid;
62
+ }
63
+ html, :host {
64
+ line-height: 1.5;
65
+ -webkit-text-size-adjust: 100%;
66
+ tab-size: 4;
67
+ font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji');
68
+ font-feature-settings: var(--default-font-feature-settings, normal);
69
+ font-variation-settings: var(--default-font-variation-settings, normal);
70
+ -webkit-tap-highlight-color: transparent;
71
+ }
72
+ hr {
73
+ height: 0;
74
+ color: inherit;
75
+ border-top-width: 1px;
76
+ }
77
+ abbr:where([title]) {
78
+ -webkit-text-decoration: underline dotted;
79
+ text-decoration: underline dotted;
80
+ }
81
+ h1, h2, h3, h4, h5, h6 {
82
+ font-size: inherit;
83
+ font-weight: inherit;
84
+ }
85
+ a {
86
+ color: inherit;
87
+ -webkit-text-decoration: inherit;
88
+ text-decoration: inherit;
89
+ }
90
+ b, strong {
91
+ font-weight: bolder;
92
+ }
93
+ code, kbd, samp, pre {
94
+ font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace);
95
+ font-feature-settings: var(--default-mono-font-feature-settings, normal);
96
+ font-variation-settings: var(--default-mono-font-variation-settings, normal);
97
+ font-size: 1em;
98
+ }
99
+ small {
100
+ font-size: 80%;
101
+ }
102
+ sub, sup {
103
+ font-size: 75%;
104
+ line-height: 0;
105
+ position: relative;
106
+ vertical-align: baseline;
107
+ }
108
+ sub {
109
+ bottom: -0.25em;
110
+ }
111
+ sup {
112
+ top: -0.5em;
113
+ }
114
+ table {
115
+ text-indent: 0;
116
+ border-color: inherit;
117
+ border-collapse: collapse;
118
+ }
119
+ :-moz-focusring {
120
+ outline: auto;
121
+ }
122
+ progress {
123
+ vertical-align: baseline;
124
+ }
125
+ summary {
126
+ display: list-item;
127
+ }
128
+ ol, ul, menu {
129
+ list-style: none;
130
+ }
131
+ img, svg, video, canvas, audio, iframe, embed, object {
132
+ display: block;
133
+ vertical-align: middle;
134
+ }
135
+ img, video {
136
+ max-width: 100%;
137
+ height: auto;
138
+ }
139
+ button, input, select, optgroup, textarea, ::file-selector-button {
140
+ font: inherit;
141
+ font-feature-settings: inherit;
142
+ font-variation-settings: inherit;
143
+ letter-spacing: inherit;
144
+ color: inherit;
145
+ border-radius: 0;
146
+ background-color: transparent;
147
+ opacity: 1;
148
+ }
149
+ :where(select:is([multiple], [size])) optgroup {
150
+ font-weight: bolder;
151
+ }
152
+ :where(select:is([multiple], [size])) optgroup option {
153
+ padding-inline-start: 20px;
154
+ }
155
+ ::file-selector-button {
156
+ margin-inline-end: 4px;
157
+ }
158
+ ::placeholder {
159
+ opacity: 1;
160
+ }
161
+ @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {
162
+ ::placeholder {
163
+ color: currentcolor;
164
+ @supports (color: color-mix(in lab, red, red)) {
165
+ color: color-mix(in oklab, currentcolor 50%, transparent);
166
+ }
167
+ }
168
+ }
169
+ textarea {
170
+ resize: vertical;
171
+ }
172
+ ::-webkit-search-decoration {
173
+ -webkit-appearance: none;
174
+ }
175
+ ::-webkit-date-and-time-value {
176
+ min-height: 1lh;
177
+ text-align: inherit;
178
+ }
179
+ ::-webkit-datetime-edit {
180
+ display: inline-flex;
181
+ }
182
+ ::-webkit-datetime-edit-fields-wrapper {
183
+ padding: 0;
184
+ }
185
+ ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
186
+ padding-block: 0;
187
+ }
188
+ ::-webkit-calendar-picker-indicator {
189
+ line-height: 1;
190
+ }
191
+ :-moz-ui-invalid {
192
+ box-shadow: none;
193
+ }
194
+ button, input:where([type='button'], [type='reset'], [type='submit']), ::file-selector-button {
195
+ appearance: button;
196
+ }
197
+ ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
198
+ height: auto;
199
+ }
200
+ [hidden]:where(:not([hidden='until-found'])) {
201
+ display: none !important;
202
+ }
203
+ }
204
+ @layer utilities {
205
+ .pointer-events-none {
206
+ pointer-events: none;
207
+ }
208
+ .absolute {
209
+ position: absolute;
210
+ }
211
+ .relative {
212
+ position: relative;
213
+ }
214
+ .static {
215
+ position: static;
216
+ }
217
+ .inset-0 {
218
+ inset: calc(var(--spacing) * 0);
219
+ }
220
+ .inset-y-0 {
221
+ inset-block: calc(var(--spacing) * 0);
222
+ }
223
+ .right-0 {
224
+ right: calc(var(--spacing) * 0);
225
+ }
226
+ .z-10 {
227
+ z-index: 10;
228
+ }
229
+ .mt-1 {
230
+ margin-top: calc(var(--spacing) * 1);
231
+ }
232
+ .mt-2 {
233
+ margin-top: calc(var(--spacing) * 2);
234
+ }
235
+ .mr-0 {
236
+ margin-right: calc(var(--spacing) * 0);
237
+ }
238
+ .mb-1 {
239
+ margin-bottom: calc(var(--spacing) * 1);
240
+ }
241
+ .block {
242
+ display: block;
243
+ }
244
+ .flex {
245
+ display: flex;
246
+ }
247
+ .hidden {
248
+ display: none;
249
+ }
250
+ .inline {
251
+ display: inline;
252
+ }
253
+ .inline-block {
254
+ display: inline-block;
255
+ }
256
+ .inline-flex {
257
+ display: inline-flex;
258
+ }
259
+ .h-4 {
260
+ height: calc(var(--spacing) * 4);
261
+ }
262
+ .h-5 {
263
+ height: calc(var(--spacing) * 5);
264
+ }
265
+ .min-h-\[300px\] {
266
+ min-height: 300px;
267
+ }
268
+ .w-4 {
269
+ width: calc(var(--spacing) * 4);
270
+ }
271
+ .w-5 {
272
+ width: calc(var(--spacing) * 5);
273
+ }
274
+ .w-56 {
275
+ width: calc(var(--spacing) * 56);
276
+ }
277
+ .w-full {
278
+ width: 100%;
279
+ }
280
+ .max-w-2\/3 {
281
+ max-width: calc(2/3 * 100%);
282
+ }
283
+ .min-w-0 {
284
+ min-width: calc(var(--spacing) * 0);
285
+ }
286
+ .min-w-full {
287
+ min-width: 100%;
288
+ }
289
+ .flex-shrink {
290
+ flex-shrink: 1;
291
+ }
292
+ .flex-shrink-0 {
293
+ flex-shrink: 0;
294
+ }
295
+ .origin-top-right {
296
+ transform-origin: top right;
297
+ }
298
+ .cursor-pointer {
299
+ cursor: pointer;
300
+ }
301
+ .flex-col {
302
+ flex-direction: column;
303
+ }
304
+ .items-center {
305
+ align-items: center;
306
+ }
307
+ .justify-between {
308
+ justify-content: space-between;
309
+ }
310
+ .justify-center {
311
+ justify-content: center;
312
+ }
313
+ .space-y-4 {
314
+ :where(& > :not(:last-child)) {
315
+ --tw-space-y-reverse: 0;
316
+ margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
317
+ margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
318
+ }
319
+ }
320
+ .space-x-1 {
321
+ :where(& > :not(:last-child)) {
322
+ --tw-space-x-reverse: 0;
323
+ margin-inline-start: calc(calc(var(--spacing) * 1) * var(--tw-space-x-reverse));
324
+ margin-inline-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-x-reverse)));
325
+ }
326
+ }
327
+ .space-x-2 {
328
+ :where(& > :not(:last-child)) {
329
+ --tw-space-x-reverse: 0;
330
+ margin-inline-start: calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));
331
+ margin-inline-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)));
332
+ }
333
+ }
334
+ .space-x-6 {
335
+ :where(& > :not(:last-child)) {
336
+ --tw-space-x-reverse: 0;
337
+ margin-inline-start: calc(calc(var(--spacing) * 6) * var(--tw-space-x-reverse));
338
+ margin-inline-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-x-reverse)));
339
+ }
340
+ }
341
+ .divide-y {
342
+ :where(& > :not(:last-child)) {
343
+ --tw-divide-y-reverse: 0;
344
+ border-bottom-style: var(--tw-border-style);
345
+ border-top-style: var(--tw-border-style);
346
+ border-top-width: calc(1px * var(--tw-divide-y-reverse));
347
+ border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
348
+ }
349
+ }
350
+ .divide-gray-200 {
351
+ :where(& > :not(:last-child)) {
352
+ border-color: var(--color-gray-200);
353
+ }
354
+ }
355
+ .truncate {
356
+ overflow: hidden;
357
+ text-overflow: ellipsis;
358
+ white-space: nowrap;
359
+ }
360
+ .overflow-x-auto {
361
+ overflow-x: auto;
362
+ }
363
+ .rounded-full {
364
+ border-radius: calc(infinity * 1px);
365
+ }
366
+ .rounded-lg {
367
+ border-radius: var(--radius-lg);
368
+ }
369
+ .rounded-md {
370
+ border-radius: var(--radius-md);
371
+ }
372
+ .border {
373
+ border-style: var(--tw-border-style);
374
+ border-width: 1px;
375
+ }
376
+ .border-dashed {
377
+ --tw-border-style: dashed;
378
+ border-style: dashed;
379
+ }
380
+ .border-gray-200 {
381
+ border-color: var(--color-gray-200);
382
+ }
383
+ .border-gray-300 {
384
+ border-color: var(--color-gray-300);
385
+ }
386
+ .border-stone-300 {
387
+ border-color: var(--color-stone-300);
388
+ }
389
+ .bg-gray-50 {
390
+ background-color: var(--color-gray-50);
391
+ }
392
+ .bg-slate-600 {
393
+ background-color: var(--color-slate-600);
394
+ }
395
+ .bg-stone-50 {
396
+ background-color: var(--color-stone-50);
397
+ }
398
+ .bg-white {
399
+ background-color: var(--color-white);
400
+ }
401
+ .p-6 {
402
+ padding: calc(var(--spacing) * 6);
403
+ }
404
+ .px-2\.5 {
405
+ padding-inline: calc(var(--spacing) * 2.5);
406
+ }
407
+ .px-3 {
408
+ padding-inline: calc(var(--spacing) * 3);
409
+ }
410
+ .px-3\.5 {
411
+ padding-inline: calc(var(--spacing) * 3.5);
412
+ }
413
+ .px-4 {
414
+ padding-inline: calc(var(--spacing) * 4);
415
+ }
416
+ .px-6 {
417
+ padding-inline: calc(var(--spacing) * 6);
418
+ }
419
+ .py-1 {
420
+ padding-block: calc(var(--spacing) * 1);
421
+ }
422
+ .py-1\.5 {
423
+ padding-block: calc(var(--spacing) * 1.5);
424
+ }
425
+ .py-2 {
426
+ padding-block: calc(var(--spacing) * 2);
427
+ }
428
+ .py-2\.5 {
429
+ padding-block: calc(var(--spacing) * 2.5);
430
+ }
431
+ .py-3 {
432
+ padding-block: calc(var(--spacing) * 3);
433
+ }
434
+ .py-4 {
435
+ padding-block: calc(var(--spacing) * 4);
436
+ }
437
+ .py-6 {
438
+ padding-block: calc(var(--spacing) * 6);
439
+ }
440
+ .pr-3 {
441
+ padding-right: calc(var(--spacing) * 3);
442
+ }
443
+ .pr-10 {
444
+ padding-right: calc(var(--spacing) * 10);
445
+ }
446
+ .pb-6 {
447
+ padding-bottom: calc(var(--spacing) * 6);
448
+ }
449
+ .pl-2 {
450
+ padding-left: calc(var(--spacing) * 2);
451
+ }
452
+ .text-left {
453
+ text-align: left;
454
+ }
455
+ .text-3xl {
456
+ font-size: var(--text-3xl);
457
+ line-height: var(--tw-leading, var(--text-3xl--line-height));
458
+ }
459
+ .text-lg {
460
+ font-size: var(--text-lg);
461
+ line-height: var(--tw-leading, var(--text-lg--line-height));
462
+ }
463
+ .text-sm {
464
+ font-size: var(--text-sm);
465
+ line-height: var(--tw-leading, var(--text-sm--line-height));
466
+ }
467
+ .text-xl {
468
+ font-size: var(--text-xl);
469
+ line-height: var(--tw-leading, var(--text-xl--line-height));
470
+ }
471
+ .text-xs {
472
+ font-size: var(--text-xs);
473
+ line-height: var(--tw-leading, var(--text-xs--line-height));
474
+ }
475
+ .font-bold {
476
+ --tw-font-weight: var(--font-weight-bold);
477
+ font-weight: var(--font-weight-bold);
478
+ }
479
+ .font-medium {
480
+ --tw-font-weight: var(--font-weight-medium);
481
+ font-weight: var(--font-weight-medium);
482
+ }
483
+ .font-semibold {
484
+ --tw-font-weight: var(--font-weight-semibold);
485
+ font-weight: var(--font-weight-semibold);
486
+ }
487
+ .tracking-tight {
488
+ --tw-tracking: var(--tracking-tight);
489
+ letter-spacing: var(--tracking-tight);
490
+ }
491
+ .tracking-wider {
492
+ --tw-tracking: var(--tracking-wider);
493
+ letter-spacing: var(--tracking-wider);
494
+ }
495
+ .\!text-gray-500 {
496
+ color: var(--color-gray-500) !important;
497
+ }
498
+ .text-gray-400 {
499
+ color: var(--color-gray-400);
500
+ }
501
+ .text-gray-500 {
502
+ color: var(--color-gray-500);
503
+ }
504
+ .text-gray-500\/70 {
505
+ color: color-mix(in srgb, oklch(55.1% 0.027 264.364) 70%, transparent);
506
+ @supports (color: color-mix(in lab, red, red)) {
507
+ color: color-mix(in oklab, var(--color-gray-500) 70%, transparent);
508
+ }
509
+ }
510
+ .text-gray-600 {
511
+ color: var(--color-gray-600);
512
+ }
513
+ .text-gray-700 {
514
+ color: var(--color-gray-700);
515
+ }
516
+ .text-gray-900 {
517
+ color: var(--color-gray-900);
518
+ }
519
+ .text-red-500 {
520
+ color: var(--color-red-500);
521
+ }
522
+ .text-red-600 {
523
+ color: var(--color-red-600);
524
+ }
525
+ .text-stone-600 {
526
+ color: var(--color-stone-600);
527
+ }
528
+ .text-stone-800 {
529
+ color: var(--color-stone-800);
530
+ }
531
+ .text-white {
532
+ color: var(--color-white);
533
+ }
534
+ .uppercase {
535
+ text-transform: uppercase;
536
+ }
537
+ .opacity-50 {
538
+ opacity: 50%;
539
+ }
540
+ .shadow-lg {
541
+ --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
542
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
543
+ }
544
+ .shadow-sm {
545
+ --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
546
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
547
+ }
548
+ .ring {
549
+ --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
550
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
551
+ }
552
+ .ring-1 {
553
+ --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
554
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
555
+ }
556
+ .ring-black {
557
+ --tw-ring-color: var(--color-black);
558
+ }
559
+ .ring-stone-400 {
560
+ --tw-ring-color: var(--color-stone-400);
561
+ }
562
+ .ring-stone-400\/20 {
563
+ --tw-ring-color: color-mix(in srgb, oklch(70.9% 0.01 56.259) 20%, transparent);
564
+ @supports (color: color-mix(in lab, red, red)) {
565
+ --tw-ring-color: color-mix(in oklab, var(--color-stone-400) 20%, transparent);
566
+ }
567
+ }
568
+ .outline {
569
+ outline-style: var(--tw-outline-style);
570
+ outline-width: 1px;
571
+ }
572
+ .outline-none {
573
+ --tw-outline-style: none;
574
+ outline-style: none;
575
+ }
576
+ .placeholder\:text-gray-400 {
577
+ &::placeholder {
578
+ color: var(--color-gray-400);
579
+ }
580
+ }
581
+ .before\:absolute {
582
+ &::before {
583
+ content: var(--tw-content);
584
+ position: absolute;
585
+ }
586
+ }
587
+ .before\:top-1\/2 {
588
+ &::before {
589
+ content: var(--tw-content);
590
+ top: calc(1/2 * 100%);
591
+ }
592
+ }
593
+ .before\:left-1\/2 {
594
+ &::before {
595
+ content: var(--tw-content);
596
+ left: calc(1/2 * 100%);
597
+ }
598
+ }
599
+ .before\:-mt-1\.5 {
600
+ &::before {
601
+ content: var(--tw-content);
602
+ margin-top: calc(var(--spacing) * -1.5);
603
+ }
604
+ }
605
+ .before\:-mt-2 {
606
+ &::before {
607
+ content: var(--tw-content);
608
+ margin-top: calc(var(--spacing) * -2);
609
+ }
610
+ }
611
+ .before\:-mt-2\.5 {
612
+ &::before {
613
+ content: var(--tw-content);
614
+ margin-top: calc(var(--spacing) * -2.5);
615
+ }
616
+ }
617
+ .before\:-mt-3 {
618
+ &::before {
619
+ content: var(--tw-content);
620
+ margin-top: calc(var(--spacing) * -3);
621
+ }
622
+ }
623
+ .before\:-mt-4 {
624
+ &::before {
625
+ content: var(--tw-content);
626
+ margin-top: calc(var(--spacing) * -4);
627
+ }
628
+ }
629
+ .before\:-ml-1\.5 {
630
+ &::before {
631
+ content: var(--tw-content);
632
+ margin-left: calc(var(--spacing) * -1.5);
633
+ }
634
+ }
635
+ .before\:-ml-2 {
636
+ &::before {
637
+ content: var(--tw-content);
638
+ margin-left: calc(var(--spacing) * -2);
639
+ }
640
+ }
641
+ .before\:-ml-2\.5 {
642
+ &::before {
643
+ content: var(--tw-content);
644
+ margin-left: calc(var(--spacing) * -2.5);
645
+ }
646
+ }
647
+ .before\:-ml-3 {
648
+ &::before {
649
+ content: var(--tw-content);
650
+ margin-left: calc(var(--spacing) * -3);
651
+ }
652
+ }
653
+ .before\:-ml-4 {
654
+ &::before {
655
+ content: var(--tw-content);
656
+ margin-left: calc(var(--spacing) * -4);
657
+ }
658
+ }
659
+ .before\:box-border {
660
+ &::before {
661
+ content: var(--tw-content);
662
+ box-sizing: border-box;
663
+ }
664
+ }
665
+ .before\:h-3 {
666
+ &::before {
667
+ content: var(--tw-content);
668
+ height: calc(var(--spacing) * 3);
669
+ }
670
+ }
671
+ .before\:h-4 {
672
+ &::before {
673
+ content: var(--tw-content);
674
+ height: calc(var(--spacing) * 4);
675
+ }
676
+ }
677
+ .before\:h-5 {
678
+ &::before {
679
+ content: var(--tw-content);
680
+ height: calc(var(--spacing) * 5);
681
+ }
682
+ }
683
+ .before\:h-6 {
684
+ &::before {
685
+ content: var(--tw-content);
686
+ height: calc(var(--spacing) * 6);
687
+ }
688
+ }
689
+ .before\:h-8 {
690
+ &::before {
691
+ content: var(--tw-content);
692
+ height: calc(var(--spacing) * 8);
693
+ }
694
+ }
695
+ .before\:w-3 {
696
+ &::before {
697
+ content: var(--tw-content);
698
+ width: calc(var(--spacing) * 3);
699
+ }
700
+ }
701
+ .before\:w-4 {
702
+ &::before {
703
+ content: var(--tw-content);
704
+ width: calc(var(--spacing) * 4);
705
+ }
706
+ }
707
+ .before\:w-5 {
708
+ &::before {
709
+ content: var(--tw-content);
710
+ width: calc(var(--spacing) * 5);
711
+ }
712
+ }
713
+ .before\:w-6 {
714
+ &::before {
715
+ content: var(--tw-content);
716
+ width: calc(var(--spacing) * 6);
717
+ }
718
+ }
719
+ .before\:w-8 {
720
+ &::before {
721
+ content: var(--tw-content);
722
+ width: calc(var(--spacing) * 8);
723
+ }
724
+ }
725
+ .before\:animate-spin {
726
+ &::before {
727
+ content: var(--tw-content);
728
+ animation: var(--animate-spin);
729
+ }
730
+ }
731
+ .before\:rounded-full {
732
+ &::before {
733
+ content: var(--tw-content);
734
+ border-radius: calc(infinity * 1px);
735
+ }
736
+ }
737
+ .before\:border-2 {
738
+ &::before {
739
+ content: var(--tw-content);
740
+ border-style: var(--tw-border-style);
741
+ border-width: 2px;
742
+ }
743
+ }
744
+ .before\:border-black\/50 {
745
+ &::before {
746
+ content: var(--tw-content);
747
+ border-color: color-mix(in srgb, #000 50%, transparent);
748
+ @supports (color: color-mix(in lab, red, red)) {
749
+ border-color: color-mix(in oklab, var(--color-black) 50%, transparent);
750
+ }
751
+ }
752
+ }
753
+ .before\:border-gray-500\/50 {
754
+ &::before {
755
+ content: var(--tw-content);
756
+ border-color: color-mix(in srgb, oklch(55.1% 0.027 264.364) 50%, transparent);
757
+ @supports (color: color-mix(in lab, red, red)) {
758
+ border-color: color-mix(in oklab, var(--color-gray-500) 50%, transparent);
759
+ }
760
+ }
761
+ }
762
+ .before\:border-white\/50 {
763
+ &::before {
764
+ content: var(--tw-content);
765
+ border-color: color-mix(in srgb, #fff 50%, transparent);
766
+ @supports (color: color-mix(in lab, red, red)) {
767
+ border-color: color-mix(in oklab, var(--color-white) 50%, transparent);
768
+ }
769
+ }
770
+ }
771
+ .before\:border-t-black {
772
+ &::before {
773
+ content: var(--tw-content);
774
+ border-top-color: var(--color-black);
775
+ }
776
+ }
777
+ .before\:border-t-gray-500 {
778
+ &::before {
779
+ content: var(--tw-content);
780
+ border-top-color: var(--color-gray-500);
781
+ }
782
+ }
783
+ .before\:border-t-white {
784
+ &::before {
785
+ content: var(--tw-content);
786
+ border-top-color: var(--color-white);
787
+ }
788
+ }
789
+ .before\:content-\[\'\'\] {
790
+ &::before {
791
+ --tw-content: '';
792
+ content: var(--tw-content);
793
+ }
794
+ }
795
+ .hover\:bg-gray-100 {
796
+ &:hover {
797
+ @media (hover: hover) {
798
+ background-color: var(--color-gray-100);
799
+ }
800
+ }
801
+ }
802
+ .hover\:bg-stone-50 {
803
+ &:hover {
804
+ @media (hover: hover) {
805
+ background-color: var(--color-stone-50);
806
+ }
807
+ }
808
+ }
809
+ .hover\:bg-stone-100 {
810
+ &:hover {
811
+ @media (hover: hover) {
812
+ background-color: var(--color-stone-100);
813
+ }
814
+ }
815
+ }
816
+ .hover\:bg-stone-500 {
817
+ &:hover {
818
+ @media (hover: hover) {
819
+ background-color: var(--color-stone-500);
820
+ }
821
+ }
822
+ }
823
+ .hover\:text-gray-600 {
824
+ &:hover {
825
+ @media (hover: hover) {
826
+ color: var(--color-gray-600);
827
+ }
828
+ }
829
+ }
830
+ .hover\:text-gray-900 {
831
+ &:hover {
832
+ @media (hover: hover) {
833
+ color: var(--color-gray-900);
834
+ }
835
+ }
836
+ }
837
+ .focus\:border-indigo-500 {
838
+ &:focus {
839
+ border-color: var(--color-indigo-500);
840
+ }
841
+ }
842
+ .focus\:ring-1 {
843
+ &:focus {
844
+ --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
845
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
846
+ }
847
+ }
848
+ .focus\:ring-indigo-500 {
849
+ &:focus {
850
+ --tw-ring-color: var(--color-indigo-500);
851
+ }
852
+ }
853
+ .focus\:outline-none {
854
+ &:focus {
855
+ --tw-outline-style: none;
856
+ outline-style: none;
857
+ }
858
+ }
859
+ .focus-visible\:outline {
860
+ &:focus-visible {
861
+ outline-style: var(--tw-outline-style);
862
+ outline-width: 1px;
863
+ }
864
+ }
865
+ .focus-visible\:outline-2 {
866
+ &:focus-visible {
867
+ outline-style: var(--tw-outline-style);
868
+ outline-width: 2px;
869
+ }
870
+ }
871
+ .focus-visible\:outline-offset-2 {
872
+ &:focus-visible {
873
+ outline-offset: 2px;
874
+ }
875
+ }
876
+ .focus-visible\:outline-stone-600 {
877
+ &:focus-visible {
878
+ outline-color: var(--color-stone-600);
879
+ }
880
+ }
881
+ .\[\&\.loading\]\:pointer-events-none {
882
+ &.loading {
883
+ pointer-events: none;
884
+ }
885
+ }
886
+ .\[\&\.loading\]\:opacity-50 {
887
+ &.loading {
888
+ opacity: 50%;
889
+ }
890
+ }
891
+ .\[\&\.loading_\.icon\]\:hidden {
892
+ &.loading .icon {
893
+ display: none;
894
+ }
895
+ }
896
+ .\[\&\.loading_\.spinner\]\:flex {
897
+ &.loading .spinner {
898
+ display: flex;
899
+ }
900
+ }
901
+ .\[\&\>span\]\:flex-shrink {
902
+ &>span {
903
+ flex-shrink: 1;
904
+ }
905
+ }
906
+ .\[\&\>span\]\:truncate {
907
+ &>span {
908
+ overflow: hidden;
909
+ text-overflow: ellipsis;
910
+ white-space: nowrap;
911
+ }
912
+ }
913
+ .\[\&\>span\]\:text-xs {
914
+ &>span {
915
+ font-size: var(--text-xs);
916
+ line-height: var(--tw-leading, var(--text-xs--line-height));
917
+ }
918
+ }
919
+ .\[\&\>svg\]\:h-3 {
920
+ &>svg {
921
+ height: calc(var(--spacing) * 3);
922
+ }
923
+ }
924
+ .\[\&\>svg\]\:h-4 {
925
+ &>svg {
926
+ height: calc(var(--spacing) * 4);
927
+ }
928
+ }
929
+ .\[\&\>svg\]\:h-6 {
930
+ &>svg {
931
+ height: calc(var(--spacing) * 6);
932
+ }
933
+ }
934
+ .\[\&\>svg\]\:w-3 {
935
+ &>svg {
936
+ width: calc(var(--spacing) * 3);
937
+ }
938
+ }
939
+ .\[\&\>svg\]\:w-4 {
940
+ &>svg {
941
+ width: calc(var(--spacing) * 4);
942
+ }
943
+ }
944
+ .\[\&\>svg\]\:w-6 {
945
+ &>svg {
946
+ width: calc(var(--spacing) * 6);
947
+ }
948
+ }
949
+ .\[\&\>svg\]\:flex-shrink-0 {
950
+ &>svg {
951
+ flex-shrink: 0;
952
+ }
953
+ }
954
+ .\[\&\>svg\]\:pl-\[-10px\] {
955
+ &>svg {
956
+ padding-left: -10px;
957
+ }
958
+ }
959
+ }
960
+ @layer base {
961
+ html {
962
+ color: var(--color-stone-700);
963
+ }
964
+ }
965
+ @property --tw-space-y-reverse {
966
+ syntax: "*";
967
+ inherits: false;
968
+ initial-value: 0;
969
+ }
970
+ @property --tw-space-x-reverse {
971
+ syntax: "*";
972
+ inherits: false;
973
+ initial-value: 0;
974
+ }
975
+ @property --tw-divide-y-reverse {
976
+ syntax: "*";
977
+ inherits: false;
978
+ initial-value: 0;
979
+ }
980
+ @property --tw-border-style {
981
+ syntax: "*";
982
+ inherits: false;
983
+ initial-value: solid;
984
+ }
985
+ @property --tw-font-weight {
986
+ syntax: "*";
987
+ inherits: false;
988
+ }
989
+ @property --tw-tracking {
990
+ syntax: "*";
991
+ inherits: false;
992
+ }
993
+ @property --tw-shadow {
994
+ syntax: "*";
995
+ inherits: false;
996
+ initial-value: 0 0 #0000;
997
+ }
998
+ @property --tw-shadow-color {
999
+ syntax: "*";
1000
+ inherits: false;
1001
+ }
1002
+ @property --tw-shadow-alpha {
1003
+ syntax: "<percentage>";
1004
+ inherits: false;
1005
+ initial-value: 100%;
1006
+ }
1007
+ @property --tw-inset-shadow {
1008
+ syntax: "*";
1009
+ inherits: false;
1010
+ initial-value: 0 0 #0000;
1011
+ }
1012
+ @property --tw-inset-shadow-color {
1013
+ syntax: "*";
1014
+ inherits: false;
1015
+ }
1016
+ @property --tw-inset-shadow-alpha {
1017
+ syntax: "<percentage>";
1018
+ inherits: false;
1019
+ initial-value: 100%;
1020
+ }
1021
+ @property --tw-ring-color {
1022
+ syntax: "*";
1023
+ inherits: false;
1024
+ }
1025
+ @property --tw-ring-shadow {
1026
+ syntax: "*";
1027
+ inherits: false;
1028
+ initial-value: 0 0 #0000;
1029
+ }
1030
+ @property --tw-inset-ring-color {
1031
+ syntax: "*";
1032
+ inherits: false;
1033
+ }
1034
+ @property --tw-inset-ring-shadow {
1035
+ syntax: "*";
1036
+ inherits: false;
1037
+ initial-value: 0 0 #0000;
1038
+ }
1039
+ @property --tw-ring-inset {
1040
+ syntax: "*";
1041
+ inherits: false;
1042
+ }
1043
+ @property --tw-ring-offset-width {
1044
+ syntax: "<length>";
1045
+ inherits: false;
1046
+ initial-value: 0px;
1047
+ }
1048
+ @property --tw-ring-offset-color {
1049
+ syntax: "*";
1050
+ inherits: false;
1051
+ initial-value: #fff;
1052
+ }
1053
+ @property --tw-ring-offset-shadow {
1054
+ syntax: "*";
1055
+ inherits: false;
1056
+ initial-value: 0 0 #0000;
1057
+ }
1058
+ @property --tw-outline-style {
1059
+ syntax: "*";
1060
+ inherits: false;
1061
+ initial-value: solid;
1062
+ }
1063
+ @property --tw-content {
1064
+ syntax: "*";
1065
+ initial-value: "";
1066
+ inherits: false;
1067
+ }
1068
+ @keyframes spin {
1069
+ to {
1070
+ transform: rotate(360deg);
1071
+ }
1072
+ }
1073
+ @layer properties {
1074
+ @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
1075
+ *, ::before, ::after, ::backdrop {
1076
+ --tw-space-y-reverse: 0;
1077
+ --tw-space-x-reverse: 0;
1078
+ --tw-divide-y-reverse: 0;
1079
+ --tw-border-style: solid;
1080
+ --tw-font-weight: initial;
1081
+ --tw-tracking: initial;
1082
+ --tw-shadow: 0 0 #0000;
1083
+ --tw-shadow-color: initial;
1084
+ --tw-shadow-alpha: 100%;
1085
+ --tw-inset-shadow: 0 0 #0000;
1086
+ --tw-inset-shadow-color: initial;
1087
+ --tw-inset-shadow-alpha: 100%;
1088
+ --tw-ring-color: initial;
1089
+ --tw-ring-shadow: 0 0 #0000;
1090
+ --tw-inset-ring-color: initial;
1091
+ --tw-inset-ring-shadow: 0 0 #0000;
1092
+ --tw-ring-inset: initial;
1093
+ --tw-ring-offset-width: 0px;
1094
+ --tw-ring-offset-color: #fff;
1095
+ --tw-ring-offset-shadow: 0 0 #0000;
1096
+ --tw-outline-style: solid;
1097
+ --tw-content: "";
1098
+ }
1099
+ }
1100
+ }