simple_chat 0.1.0

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 (46) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +178 -0
  4. data/Rakefile +6 -0
  5. data/app/assets/stylesheets/simple_chat/application.css +726 -0
  6. data/app/assets/stylesheets/simple_chat/application.tailwind.css +1 -0
  7. data/app/controllers/simple_chat/application_controller.rb +16 -0
  8. data/app/controllers/simple_chat/chat_members_controller.rb +27 -0
  9. data/app/controllers/simple_chat/chat_rooms_controller.rb +74 -0
  10. data/app/controllers/simple_chat/messages_controller.rb +77 -0
  11. data/app/helpers/simple_chat/application_helper.rb +4 -0
  12. data/app/helpers/simple_chat/chat_rooms_helper.rb +4 -0
  13. data/app/helpers/simple_chat/messages_helper.rb +4 -0
  14. data/app/jobs/simple_chat/application_job.rb +4 -0
  15. data/app/mailers/simple_chat/application_mailer.rb +6 -0
  16. data/app/models/simple_chat/application_record.rb +5 -0
  17. data/app/models/simple_chat/chat_member.rb +6 -0
  18. data/app/models/simple_chat/chat_room.rb +22 -0
  19. data/app/models/simple_chat/message.rb +8 -0
  20. data/app/views/layouts/simple_chat/application.html.erb +24 -0
  21. data/app/views/simple_chat/chat_rooms/_chat_room.html.erb +7 -0
  22. data/app/views/simple_chat/chat_rooms/_form.html.erb +22 -0
  23. data/app/views/simple_chat/chat_rooms/edit.html.erb +12 -0
  24. data/app/views/simple_chat/chat_rooms/index.html.erb +14 -0
  25. data/app/views/simple_chat/chat_rooms/new.html.erb +11 -0
  26. data/app/views/simple_chat/chat_rooms/show.html.erb +80 -0
  27. data/app/views/simple_chat/messages/_form.html.erb +28 -0
  28. data/app/views/simple_chat/messages/_message.html.erb +28 -0
  29. data/app/views/simple_chat/messages/create.turbo_stream.erb +10 -0
  30. data/app/views/simple_chat/messages/edit.html.erb +12 -0
  31. data/app/views/simple_chat/messages/index.html.erb +14 -0
  32. data/app/views/simple_chat/messages/new.html.erb +11 -0
  33. data/app/views/simple_chat/messages/show.html.erb +8 -0
  34. data/config/routes.rb +7 -0
  35. data/config/tailwind.config.js +15 -0
  36. data/db/migrate/20260406070146_create_simple_chat_chat_rooms.rb +9 -0
  37. data/db/migrate/20260406080846_create_simple_chat_chat_members.rb +11 -0
  38. data/db/migrate/20260406081003_create_simple_chat_messages.rb +12 -0
  39. data/db/migrate/20260503095220_add_channel_hash_to_solid_cable_messages.rb +6 -0
  40. data/lib/generators/simple_chat/install_generator.rb +21 -0
  41. data/lib/simple_chat/configuration.rb +16 -0
  42. data/lib/simple_chat/engine.rb +13 -0
  43. data/lib/simple_chat/version.rb +3 -0
  44. data/lib/simple_chat.rb +42 -0
  45. data/lib/tasks/simple_chat_tasks.rake +40 -0
  46. metadata +146 -0
@@ -0,0 +1,726 @@
1
+ /*! tailwindcss v4.2.4 | 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-50: oklch(97.1% 0.013 17.38);
11
+ --color-red-400: oklch(70.4% 0.191 22.216);
12
+ --color-red-500: oklch(63.7% 0.237 25.331);
13
+ --color-red-600: oklch(57.7% 0.245 27.325);
14
+ --color-red-800: oklch(44.4% 0.177 26.899);
15
+ --color-blue-50: oklch(97% 0.014 254.604);
16
+ --color-blue-100: oklch(93.2% 0.032 255.585);
17
+ --color-blue-500: oklch(62.3% 0.214 259.815);
18
+ --color-blue-600: oklch(54.6% 0.245 262.881);
19
+ --color-blue-700: oklch(48.8% 0.243 264.376);
20
+ --color-blue-800: oklch(42.4% 0.199 265.638);
21
+ --color-indigo-500: oklch(58.5% 0.233 277.117);
22
+ --color-indigo-600: oklch(51.1% 0.262 276.966);
23
+ --color-gray-50: oklch(98.5% 0.002 247.839);
24
+ --color-gray-200: oklch(92.8% 0.006 264.531);
25
+ --color-gray-300: oklch(87.2% 0.01 258.338);
26
+ --color-gray-400: oklch(70.7% 0.022 261.325);
27
+ --color-gray-500: oklch(55.1% 0.027 264.364);
28
+ --color-gray-600: oklch(44.6% 0.03 256.802);
29
+ --color-gray-800: oklch(27.8% 0.033 256.848);
30
+ --color-gray-900: oklch(21% 0.034 264.665);
31
+ --color-white: #fff;
32
+ --spacing: 0.25rem;
33
+ --container-4xl: 56rem;
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-base: 1rem;
39
+ --text-base--line-height: calc(1.5 / 1);
40
+ --text-2xl: 1.5rem;
41
+ --text-2xl--line-height: calc(2 / 1.5);
42
+ --font-weight-medium: 500;
43
+ --font-weight-semibold: 600;
44
+ --font-weight-bold: 700;
45
+ --radius-md: 0.375rem;
46
+ --radius-lg: 0.5rem;
47
+ --default-font-family: var(--font-sans);
48
+ --default-mono-font-family: var(--font-mono);
49
+ }
50
+ }
51
+ @layer base {
52
+ *, ::after, ::before, ::backdrop, ::file-selector-button {
53
+ box-sizing: border-box;
54
+ margin: 0;
55
+ padding: 0;
56
+ border: 0 solid;
57
+ }
58
+ html, :host {
59
+ line-height: 1.5;
60
+ -webkit-text-size-adjust: 100%;
61
+ tab-size: 4;
62
+ 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');
63
+ font-feature-settings: var(--default-font-feature-settings, normal);
64
+ font-variation-settings: var(--default-font-variation-settings, normal);
65
+ -webkit-tap-highlight-color: transparent;
66
+ }
67
+ hr {
68
+ height: 0;
69
+ color: inherit;
70
+ border-top-width: 1px;
71
+ }
72
+ abbr:where([title]) {
73
+ -webkit-text-decoration: underline dotted;
74
+ text-decoration: underline dotted;
75
+ }
76
+ h1, h2, h3, h4, h5, h6 {
77
+ font-size: inherit;
78
+ font-weight: inherit;
79
+ }
80
+ a {
81
+ color: inherit;
82
+ -webkit-text-decoration: inherit;
83
+ text-decoration: inherit;
84
+ }
85
+ b, strong {
86
+ font-weight: bolder;
87
+ }
88
+ code, kbd, samp, pre {
89
+ font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace);
90
+ font-feature-settings: var(--default-mono-font-feature-settings, normal);
91
+ font-variation-settings: var(--default-mono-font-variation-settings, normal);
92
+ font-size: 1em;
93
+ }
94
+ small {
95
+ font-size: 80%;
96
+ }
97
+ sub, sup {
98
+ font-size: 75%;
99
+ line-height: 0;
100
+ position: relative;
101
+ vertical-align: baseline;
102
+ }
103
+ sub {
104
+ bottom: -0.25em;
105
+ }
106
+ sup {
107
+ top: -0.5em;
108
+ }
109
+ table {
110
+ text-indent: 0;
111
+ border-color: inherit;
112
+ border-collapse: collapse;
113
+ }
114
+ :-moz-focusring {
115
+ outline: auto;
116
+ }
117
+ progress {
118
+ vertical-align: baseline;
119
+ }
120
+ summary {
121
+ display: list-item;
122
+ }
123
+ ol, ul, menu {
124
+ list-style: none;
125
+ }
126
+ img, svg, video, canvas, audio, iframe, embed, object {
127
+ display: block;
128
+ vertical-align: middle;
129
+ }
130
+ img, video {
131
+ max-width: 100%;
132
+ height: auto;
133
+ }
134
+ button, input, select, optgroup, textarea, ::file-selector-button {
135
+ font: inherit;
136
+ font-feature-settings: inherit;
137
+ font-variation-settings: inherit;
138
+ letter-spacing: inherit;
139
+ color: inherit;
140
+ border-radius: 0;
141
+ background-color: transparent;
142
+ opacity: 1;
143
+ }
144
+ :where(select:is([multiple], [size])) optgroup {
145
+ font-weight: bolder;
146
+ }
147
+ :where(select:is([multiple], [size])) optgroup option {
148
+ padding-inline-start: 20px;
149
+ }
150
+ ::file-selector-button {
151
+ margin-inline-end: 4px;
152
+ }
153
+ ::placeholder {
154
+ opacity: 1;
155
+ }
156
+ @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {
157
+ ::placeholder {
158
+ color: currentcolor;
159
+ @supports (color: color-mix(in lab, red, red)) {
160
+ color: color-mix(in oklab, currentcolor 50%, transparent);
161
+ }
162
+ }
163
+ }
164
+ textarea {
165
+ resize: vertical;
166
+ }
167
+ ::-webkit-search-decoration {
168
+ -webkit-appearance: none;
169
+ }
170
+ ::-webkit-date-and-time-value {
171
+ min-height: 1lh;
172
+ text-align: inherit;
173
+ }
174
+ ::-webkit-datetime-edit {
175
+ display: inline-flex;
176
+ }
177
+ ::-webkit-datetime-edit-fields-wrapper {
178
+ padding: 0;
179
+ }
180
+ ::-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 {
181
+ padding-block: 0;
182
+ }
183
+ ::-webkit-calendar-picker-indicator {
184
+ line-height: 1;
185
+ }
186
+ :-moz-ui-invalid {
187
+ box-shadow: none;
188
+ }
189
+ button, input:where([type='button'], [type='reset'], [type='submit']), ::file-selector-button {
190
+ appearance: button;
191
+ }
192
+ ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
193
+ height: auto;
194
+ }
195
+ [hidden]:where(:not([hidden='until-found'])) {
196
+ display: none !important;
197
+ }
198
+ }
199
+ @layer utilities {
200
+ .sr-only {
201
+ position: absolute;
202
+ width: 1px;
203
+ height: 1px;
204
+ padding: 0;
205
+ margin: -1px;
206
+ overflow: hidden;
207
+ clip-path: inset(50%);
208
+ white-space: nowrap;
209
+ border-width: 0;
210
+ }
211
+ .absolute {
212
+ position: absolute;
213
+ }
214
+ .relative {
215
+ position: relative;
216
+ }
217
+ .inset-x-0 {
218
+ inset-inline: calc(var(--spacing) * 0);
219
+ }
220
+ .start {
221
+ inset-inline-start: var(--spacing);
222
+ }
223
+ .end {
224
+ inset-inline-end: var(--spacing);
225
+ }
226
+ .top-0 {
227
+ top: calc(var(--spacing) * 0);
228
+ }
229
+ .-bottom-6 {
230
+ bottom: calc(var(--spacing) * -6);
231
+ }
232
+ .bottom-0 {
233
+ bottom: calc(var(--spacing) * 0);
234
+ }
235
+ .left-0 {
236
+ left: calc(var(--spacing) * 0);
237
+ }
238
+ .mx-auto {
239
+ margin-inline: auto;
240
+ }
241
+ .mt-3 {
242
+ margin-top: calc(var(--spacing) * 3);
243
+ }
244
+ .mt-6 {
245
+ margin-top: calc(var(--spacing) * 6);
246
+ }
247
+ .mb-2 {
248
+ margin-bottom: calc(var(--spacing) * 2);
249
+ }
250
+ .mb-4 {
251
+ margin-bottom: calc(var(--spacing) * 4);
252
+ }
253
+ .mb-6 {
254
+ margin-bottom: calc(var(--spacing) * 6);
255
+ }
256
+ .ml-1 {
257
+ margin-left: calc(var(--spacing) * 1);
258
+ }
259
+ .block {
260
+ display: block;
261
+ }
262
+ .flex {
263
+ display: flex;
264
+ }
265
+ .inline {
266
+ display: inline;
267
+ }
268
+ .table {
269
+ display: table;
270
+ }
271
+ .size-6 {
272
+ width: calc(var(--spacing) * 6);
273
+ height: calc(var(--spacing) * 6);
274
+ }
275
+ .h-\[600px\] {
276
+ height: 600px;
277
+ }
278
+ .w-6 {
279
+ width: calc(var(--spacing) * 6);
280
+ }
281
+ .w-full {
282
+ width: 100%;
283
+ }
284
+ .w-px {
285
+ width: 1px;
286
+ }
287
+ .max-w-4xl {
288
+ max-width: var(--container-4xl);
289
+ }
290
+ .flex-auto {
291
+ flex: auto;
292
+ }
293
+ .flex-none {
294
+ flex: none;
295
+ }
296
+ .flex-grow {
297
+ flex-grow: 1;
298
+ }
299
+ .cursor-pointer {
300
+ cursor: pointer;
301
+ }
302
+ .resize-none {
303
+ resize: none;
304
+ }
305
+ .flex-col {
306
+ flex-direction: column;
307
+ }
308
+ .items-center {
309
+ align-items: center;
310
+ }
311
+ .justify-between {
312
+ justify-content: space-between;
313
+ }
314
+ .justify-center {
315
+ justify-content: center;
316
+ }
317
+ .justify-end {
318
+ justify-content: flex-end;
319
+ }
320
+ .gap-2 {
321
+ gap: calc(var(--spacing) * 2);
322
+ }
323
+ .space-y-6 {
324
+ :where(& > :not(:last-child)) {
325
+ --tw-space-y-reverse: 0;
326
+ margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
327
+ margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
328
+ }
329
+ }
330
+ .gap-x-3 {
331
+ column-gap: calc(var(--spacing) * 3);
332
+ }
333
+ .gap-x-4 {
334
+ column-gap: calc(var(--spacing) * 4);
335
+ }
336
+ .overflow-hidden {
337
+ overflow: hidden;
338
+ }
339
+ .overflow-y-auto {
340
+ overflow-y: auto;
341
+ }
342
+ .rounded-full {
343
+ border-radius: calc(infinity * 1px);
344
+ }
345
+ .rounded-lg {
346
+ border-radius: var(--radius-lg);
347
+ }
348
+ .rounded-md {
349
+ border-radius: var(--radius-md);
350
+ }
351
+ .border {
352
+ border-style: var(--tw-border-style);
353
+ border-width: 1px;
354
+ }
355
+ .border-t {
356
+ border-top-style: var(--tw-border-style);
357
+ border-top-width: 1px;
358
+ }
359
+ .border-b {
360
+ border-bottom-style: var(--tw-border-style);
361
+ border-bottom-width: 1px;
362
+ }
363
+ .border-gray-200 {
364
+ border-color: var(--color-gray-200);
365
+ }
366
+ .border-gray-300 {
367
+ border-color: var(--color-gray-300);
368
+ }
369
+ .bg-blue-50\/50 {
370
+ background-color: color-mix(in srgb, oklch(97% 0.014 254.604) 50%, transparent);
371
+ @supports (color: color-mix(in lab, red, red)) {
372
+ background-color: color-mix(in oklab, var(--color-blue-50) 50%, transparent);
373
+ }
374
+ }
375
+ .bg-gray-50 {
376
+ background-color: var(--color-gray-50);
377
+ }
378
+ .bg-gray-200 {
379
+ background-color: var(--color-gray-200);
380
+ }
381
+ .bg-red-50 {
382
+ background-color: var(--color-red-50);
383
+ }
384
+ .bg-transparent {
385
+ background-color: transparent;
386
+ }
387
+ .bg-white {
388
+ background-color: var(--color-white);
389
+ }
390
+ .p-3 {
391
+ padding: calc(var(--spacing) * 3);
392
+ }
393
+ .p-4 {
394
+ padding: calc(var(--spacing) * 4);
395
+ }
396
+ .p-6 {
397
+ padding: calc(var(--spacing) * 6);
398
+ }
399
+ .px-2\.5 {
400
+ padding-inline: calc(var(--spacing) * 2.5);
401
+ }
402
+ .px-3 {
403
+ padding-inline: calc(var(--spacing) * 3);
404
+ }
405
+ .px-4 {
406
+ padding-inline: calc(var(--spacing) * 4);
407
+ }
408
+ .py-0\.5 {
409
+ padding-block: calc(var(--spacing) * 0.5);
410
+ }
411
+ .py-1\.5 {
412
+ padding-block: calc(var(--spacing) * 1.5);
413
+ }
414
+ .py-2 {
415
+ padding-block: calc(var(--spacing) * 2);
416
+ }
417
+ .py-8 {
418
+ padding-block: calc(var(--spacing) * 8);
419
+ }
420
+ .pr-2 {
421
+ padding-right: calc(var(--spacing) * 2);
422
+ }
423
+ .pb-4 {
424
+ padding-bottom: calc(var(--spacing) * 4);
425
+ }
426
+ .pb-12 {
427
+ padding-bottom: calc(var(--spacing) * 12);
428
+ }
429
+ .pl-3 {
430
+ padding-left: calc(var(--spacing) * 3);
431
+ }
432
+ .text-2xl {
433
+ font-size: var(--text-2xl);
434
+ line-height: var(--tw-leading, var(--text-2xl--line-height));
435
+ }
436
+ .text-base {
437
+ font-size: var(--text-base);
438
+ line-height: var(--tw-leading, var(--text-base--line-height));
439
+ }
440
+ .text-sm {
441
+ font-size: var(--text-sm);
442
+ line-height: var(--tw-leading, var(--text-sm--line-height));
443
+ }
444
+ .text-sm\/6 {
445
+ font-size: var(--text-sm);
446
+ line-height: calc(var(--spacing) * 6);
447
+ }
448
+ .text-xs {
449
+ font-size: var(--text-xs);
450
+ line-height: var(--tw-leading, var(--text-xs--line-height));
451
+ }
452
+ .text-xs\/5 {
453
+ font-size: var(--text-xs);
454
+ line-height: calc(var(--spacing) * 5);
455
+ }
456
+ .text-\[10px\] {
457
+ font-size: 10px;
458
+ }
459
+ .font-bold {
460
+ --tw-font-weight: var(--font-weight-bold);
461
+ font-weight: var(--font-weight-bold);
462
+ }
463
+ .font-medium {
464
+ --tw-font-weight: var(--font-weight-medium);
465
+ font-weight: var(--font-weight-medium);
466
+ }
467
+ .font-semibold {
468
+ --tw-font-weight: var(--font-weight-semibold);
469
+ font-weight: var(--font-weight-semibold);
470
+ }
471
+ .text-blue-500 {
472
+ color: var(--color-blue-500);
473
+ }
474
+ .text-blue-600 {
475
+ color: var(--color-blue-600);
476
+ }
477
+ .text-gray-400 {
478
+ color: var(--color-gray-400);
479
+ }
480
+ .text-gray-500 {
481
+ color: var(--color-gray-500);
482
+ }
483
+ .text-gray-600 {
484
+ color: var(--color-gray-600);
485
+ }
486
+ .text-gray-900 {
487
+ color: var(--color-gray-900);
488
+ }
489
+ .text-red-500 {
490
+ color: var(--color-red-500);
491
+ }
492
+ .text-red-600 {
493
+ color: var(--color-red-600);
494
+ }
495
+ .shadow {
496
+ --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));
497
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
498
+ }
499
+ .shadow-sm {
500
+ --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));
501
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
502
+ }
503
+ .ring-1 {
504
+ --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
505
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
506
+ }
507
+ .ring-blue-100 {
508
+ --tw-ring-color: var(--color-blue-100);
509
+ }
510
+ .ring-gray-200 {
511
+ --tw-ring-color: var(--color-gray-200);
512
+ }
513
+ .ring-gray-300 {
514
+ --tw-ring-color: var(--color-gray-300);
515
+ }
516
+ .outline-1 {
517
+ outline-style: var(--tw-outline-style);
518
+ outline-width: 1px;
519
+ }
520
+ .-outline-offset-1 {
521
+ outline-offset: calc(1px * -1);
522
+ }
523
+ .outline-gray-300 {
524
+ outline-color: var(--color-gray-300);
525
+ }
526
+ .ring-inset {
527
+ --tw-ring-inset: inset;
528
+ }
529
+ .placeholder\:text-gray-400 {
530
+ &::placeholder {
531
+ color: var(--color-gray-400);
532
+ }
533
+ }
534
+ .focus-within\:outline-2 {
535
+ &:focus-within {
536
+ outline-style: var(--tw-outline-style);
537
+ outline-width: 2px;
538
+ }
539
+ }
540
+ .focus-within\:-outline-offset-2 {
541
+ &:focus-within {
542
+ outline-offset: calc(2px * -1);
543
+ }
544
+ }
545
+ .focus-within\:outline-indigo-600 {
546
+ &:focus-within {
547
+ outline-color: var(--color-indigo-600);
548
+ }
549
+ }
550
+ .hover\:bg-gray-50 {
551
+ &:hover {
552
+ @media (hover: hover) {
553
+ background-color: var(--color-gray-50);
554
+ }
555
+ }
556
+ }
557
+ .hover\:text-blue-800 {
558
+ &:hover {
559
+ @media (hover: hover) {
560
+ color: var(--color-blue-800);
561
+ }
562
+ }
563
+ }
564
+ .hover\:text-gray-800 {
565
+ &:hover {
566
+ @media (hover: hover) {
567
+ color: var(--color-gray-800);
568
+ }
569
+ }
570
+ }
571
+ .hover\:text-red-400 {
572
+ &:hover {
573
+ @media (hover: hover) {
574
+ color: var(--color-red-400);
575
+ }
576
+ }
577
+ }
578
+ .hover\:text-red-800 {
579
+ &:hover {
580
+ @media (hover: hover) {
581
+ color: var(--color-red-800);
582
+ }
583
+ }
584
+ }
585
+ .focus\:border-indigo-500 {
586
+ &:focus {
587
+ border-color: var(--color-indigo-500);
588
+ }
589
+ }
590
+ .focus\:ring-indigo-500 {
591
+ &:focus {
592
+ --tw-ring-color: var(--color-indigo-500);
593
+ }
594
+ }
595
+ .focus\:outline-none {
596
+ &:focus {
597
+ --tw-outline-style: none;
598
+ outline-style: none;
599
+ }
600
+ }
601
+ .sm\:rounded-lg {
602
+ @media (width >= 40rem) {
603
+ border-radius: var(--radius-lg);
604
+ }
605
+ }
606
+ .sm\:text-sm {
607
+ @media (width >= 40rem) {
608
+ font-size: var(--text-sm);
609
+ line-height: var(--tw-leading, var(--text-sm--line-height));
610
+ }
611
+ }
612
+ .sm\:text-sm\/6 {
613
+ @media (width >= 40rem) {
614
+ font-size: var(--text-sm);
615
+ line-height: calc(var(--spacing) * 6);
616
+ }
617
+ }
618
+ }
619
+ @property --tw-space-y-reverse {
620
+ syntax: "*";
621
+ inherits: false;
622
+ initial-value: 0;
623
+ }
624
+ @property --tw-border-style {
625
+ syntax: "*";
626
+ inherits: false;
627
+ initial-value: solid;
628
+ }
629
+ @property --tw-font-weight {
630
+ syntax: "*";
631
+ inherits: false;
632
+ }
633
+ @property --tw-shadow {
634
+ syntax: "*";
635
+ inherits: false;
636
+ initial-value: 0 0 #0000;
637
+ }
638
+ @property --tw-shadow-color {
639
+ syntax: "*";
640
+ inherits: false;
641
+ }
642
+ @property --tw-shadow-alpha {
643
+ syntax: "<percentage>";
644
+ inherits: false;
645
+ initial-value: 100%;
646
+ }
647
+ @property --tw-inset-shadow {
648
+ syntax: "*";
649
+ inherits: false;
650
+ initial-value: 0 0 #0000;
651
+ }
652
+ @property --tw-inset-shadow-color {
653
+ syntax: "*";
654
+ inherits: false;
655
+ }
656
+ @property --tw-inset-shadow-alpha {
657
+ syntax: "<percentage>";
658
+ inherits: false;
659
+ initial-value: 100%;
660
+ }
661
+ @property --tw-ring-color {
662
+ syntax: "*";
663
+ inherits: false;
664
+ }
665
+ @property --tw-ring-shadow {
666
+ syntax: "*";
667
+ inherits: false;
668
+ initial-value: 0 0 #0000;
669
+ }
670
+ @property --tw-inset-ring-color {
671
+ syntax: "*";
672
+ inherits: false;
673
+ }
674
+ @property --tw-inset-ring-shadow {
675
+ syntax: "*";
676
+ inherits: false;
677
+ initial-value: 0 0 #0000;
678
+ }
679
+ @property --tw-ring-inset {
680
+ syntax: "*";
681
+ inherits: false;
682
+ }
683
+ @property --tw-ring-offset-width {
684
+ syntax: "<length>";
685
+ inherits: false;
686
+ initial-value: 0px;
687
+ }
688
+ @property --tw-ring-offset-color {
689
+ syntax: "*";
690
+ inherits: false;
691
+ initial-value: #fff;
692
+ }
693
+ @property --tw-ring-offset-shadow {
694
+ syntax: "*";
695
+ inherits: false;
696
+ initial-value: 0 0 #0000;
697
+ }
698
+ @property --tw-outline-style {
699
+ syntax: "*";
700
+ inherits: false;
701
+ initial-value: solid;
702
+ }
703
+ @layer properties {
704
+ @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
705
+ *, ::before, ::after, ::backdrop {
706
+ --tw-space-y-reverse: 0;
707
+ --tw-border-style: solid;
708
+ --tw-font-weight: initial;
709
+ --tw-shadow: 0 0 #0000;
710
+ --tw-shadow-color: initial;
711
+ --tw-shadow-alpha: 100%;
712
+ --tw-inset-shadow: 0 0 #0000;
713
+ --tw-inset-shadow-color: initial;
714
+ --tw-inset-shadow-alpha: 100%;
715
+ --tw-ring-color: initial;
716
+ --tw-ring-shadow: 0 0 #0000;
717
+ --tw-inset-ring-color: initial;
718
+ --tw-inset-ring-shadow: 0 0 #0000;
719
+ --tw-ring-inset: initial;
720
+ --tw-ring-offset-width: 0px;
721
+ --tw-ring-offset-color: #fff;
722
+ --tw-ring-offset-shadow: 0 0 #0000;
723
+ --tw-outline-style: solid;
724
+ }
725
+ }
726
+ }
@@ -0,0 +1 @@
1
+ @import "tailwindcss";