phoenix_duskmoon 4.5.1 → 4.5.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/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ ## [4.5.2](https://github.com/gsmlg-dev/phoenix-duskmoon-ui/compare/v4.5.1...v4.5.2) (2024-07-08)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * Add expand to table. ([1dd3282](https://github.com/gsmlg-dev/phoenix-duskmoon-ui/commit/1dd3282fc47bdda7b955881bad45f65607c2aa75))
7
+ * Fix style. ([f7a5624](https://github.com/gsmlg-dev/phoenix-duskmoon-ui/commit/f7a56244514e4814ec0daa0ed0650ea255d8bfb1))
8
+
1
9
  ## [4.5.1](https://github.com/gsmlg-dev/phoenix-duskmoon-ui/compare/v4.5.0...v4.5.1) (2024-07-04)
2
10
 
3
11
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "phoenix_duskmoon",
3
- "version": "4.5.1",
3
+ "version": "4.5.2",
4
4
  "main": "./priv/static/phoenix_duskmoon.js",
5
5
  "exports": {
6
6
  ".": "./priv/static/phoenix_duskmoon.js",
@@ -0,0 +1,864 @@
1
+ /* @import "tailwindcss/base"; */
2
+
3
+ /* @import "tailwindcss/components"; */
4
+
5
+ .sr-only {
6
+ position: absolute;
7
+ width: 1px;
8
+ height: 1px;
9
+ padding: 0;
10
+ margin: -1px;
11
+ overflow: hidden;
12
+ clip: rect(0, 0, 0, 0);
13
+ white-space: nowrap;
14
+ border-width: 0;
15
+ }
16
+
17
+ .fixed {
18
+ position: fixed;
19
+ }
20
+
21
+ .absolute {
22
+ position: absolute;
23
+ }
24
+
25
+ .relative {
26
+ position: relative;
27
+ }
28
+
29
+ .sticky {
30
+ position: sticky;
31
+ }
32
+
33
+ .left-0 {
34
+ left: 0px;
35
+ }
36
+
37
+ .right-0 {
38
+ right: 0px;
39
+ }
40
+
41
+ .right-2 {
42
+ right: 0.5rem;
43
+ }
44
+
45
+ .top-0 {
46
+ top: 0px;
47
+ }
48
+
49
+ .top-12 {
50
+ top: 3rem;
51
+ }
52
+
53
+ .top-14 {
54
+ top: 3.5rem;
55
+ }
56
+
57
+ .top-2 {
58
+ top: 0.5rem;
59
+ }
60
+
61
+ .isolate {
62
+ isolation: isolate;
63
+ }
64
+
65
+ .z-10 {
66
+ z-index: 10;
67
+ }
68
+
69
+ .z-50 {
70
+ z-index: 50;
71
+ }
72
+
73
+ .m-4 {
74
+ margin: 1rem;
75
+ }
76
+
77
+ .mx-12 {
78
+ margin-left: 3rem;
79
+ margin-right: 3rem;
80
+ }
81
+
82
+ .mx-8 {
83
+ margin-left: 2rem;
84
+ margin-right: 2rem;
85
+ }
86
+
87
+ .mx-auto {
88
+ margin-left: auto;
89
+ margin-right: auto;
90
+ }
91
+
92
+ .my-2 {
93
+ margin-top: 0.5rem;
94
+ margin-bottom: 0.5rem;
95
+ }
96
+
97
+ .mb-4 {
98
+ margin-bottom: 1rem;
99
+ }
100
+
101
+ .mr-1 {
102
+ margin-right: 0.25rem;
103
+ }
104
+
105
+ .mt-0 {
106
+ margin-top: 0px;
107
+ }
108
+
109
+ .mt-0\.5 {
110
+ margin-top: 0.125rem;
111
+ }
112
+
113
+ .mt-2 {
114
+ margin-top: 0.5rem;
115
+ }
116
+
117
+ .mt-3 {
118
+ margin-top: 0.75rem;
119
+ }
120
+
121
+ .flex {
122
+ display: flex;
123
+ }
124
+
125
+ .inline-flex {
126
+ display: inline-flex;
127
+ }
128
+
129
+ .table {
130
+ display: table;
131
+ }
132
+
133
+ .table-row {
134
+ display: table-row;
135
+ }
136
+
137
+ .grid {
138
+ display: grid;
139
+ }
140
+
141
+ .hidden {
142
+ display: none;
143
+ }
144
+
145
+ .h-10 {
146
+ height: 2.5rem;
147
+ }
148
+
149
+ .h-12 {
150
+ height: 3rem;
151
+ }
152
+
153
+ .h-14 {
154
+ height: 3.5rem;
155
+ }
156
+
157
+ .h-16 {
158
+ height: 4rem;
159
+ }
160
+
161
+ .h-4 {
162
+ height: 1rem;
163
+ }
164
+
165
+ .h-5 {
166
+ height: 1.25rem;
167
+ }
168
+
169
+ .h-8 {
170
+ height: 2rem;
171
+ }
172
+
173
+ .h-full {
174
+ height: 100%;
175
+ }
176
+
177
+ .min-h-32 {
178
+ min-height: 8rem;
179
+ }
180
+
181
+ .min-h-\[200px\] {
182
+ min-height: 200px;
183
+ }
184
+
185
+ .min-h-fit {
186
+ min-height: -moz-fit-content;
187
+ min-height: fit-content;
188
+ }
189
+
190
+ .w-10 {
191
+ width: 2.5rem;
192
+ }
193
+
194
+ .w-16 {
195
+ width: 4rem;
196
+ }
197
+
198
+ .w-4 {
199
+ width: 1rem;
200
+ }
201
+
202
+ .w-5 {
203
+ width: 1.25rem;
204
+ }
205
+
206
+ .w-8 {
207
+ width: 2rem;
208
+ }
209
+
210
+ .w-\[200px\] {
211
+ width: 200px;
212
+ }
213
+
214
+ .w-full {
215
+ width: 100%;
216
+ }
217
+
218
+ .min-w-\[420px\] {
219
+ min-width: 420px;
220
+ }
221
+
222
+ .max-w-xs {
223
+ max-width: 20rem;
224
+ }
225
+
226
+ .flex-1 {
227
+ flex: 1 1 0%;
228
+ }
229
+
230
+ .flex-none {
231
+ flex: none;
232
+ }
233
+
234
+ .shrink-0 {
235
+ flex-shrink: 0;
236
+ }
237
+
238
+ .border-collapse {
239
+ border-collapse: collapse;
240
+ }
241
+
242
+ .border-spacing-0 {
243
+ --tw-border-spacing-x: 0px;
244
+ --tw-border-spacing-y: 0px;
245
+ border-spacing: var(--tw-border-spacing-x) var(--tw-border-spacing-y);
246
+ }
247
+
248
+ .transform {
249
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
250
+ }
251
+
252
+ .cursor-pointer {
253
+ cursor: pointer;
254
+ }
255
+
256
+ .select-none {
257
+ -webkit-user-select: none;
258
+ -moz-user-select: none;
259
+ user-select: none;
260
+ }
261
+
262
+ .grid-cols-2 {
263
+ grid-template-columns: repeat(2, minmax(0, 1fr));
264
+ }
265
+
266
+ .grid-cols-\[6em_auto\] {
267
+ grid-template-columns: 6em auto;
268
+ }
269
+
270
+ .flex-row {
271
+ flex-direction: row;
272
+ }
273
+
274
+ .flex-col {
275
+ flex-direction: column;
276
+ }
277
+
278
+ .items-start {
279
+ align-items: flex-start;
280
+ }
281
+
282
+ .items-center {
283
+ align-items: center;
284
+ }
285
+
286
+ .justify-start {
287
+ justify-content: flex-start;
288
+ }
289
+
290
+ .justify-end {
291
+ justify-content: flex-end;
292
+ }
293
+
294
+ .justify-center {
295
+ justify-content: center;
296
+ }
297
+
298
+ .justify-between {
299
+ justify-content: space-between;
300
+ }
301
+
302
+ .gap-2 {
303
+ gap: 0.5rem;
304
+ }
305
+
306
+ .gap-3 {
307
+ gap: 0.75rem;
308
+ }
309
+
310
+ .gap-4 {
311
+ gap: 1rem;
312
+ }
313
+
314
+ .gap-6 {
315
+ gap: 1.5rem;
316
+ }
317
+
318
+ .gap-x-2 {
319
+ -moz-column-gap: 0.5rem;
320
+ column-gap: 0.5rem;
321
+ }
322
+
323
+ .gap-y-4 {
324
+ row-gap: 1rem;
325
+ }
326
+
327
+ .-space-x-px > :not([hidden]) ~ :not([hidden]) {
328
+ --tw-space-x-reverse: 0;
329
+ margin-right: calc(-1px * var(--tw-space-x-reverse));
330
+ margin-left: calc(-1px * calc(1 - var(--tw-space-x-reverse)));
331
+ }
332
+
333
+ .self-center {
334
+ align-self: center;
335
+ }
336
+
337
+ .rounded {
338
+ border-radius: 0.25rem;
339
+ }
340
+
341
+ .rounded-lg {
342
+ border-radius: 0.5rem;
343
+ }
344
+
345
+ .rounded-md {
346
+ border-radius: 0.375rem;
347
+ }
348
+
349
+ .rounded-l-md {
350
+ border-top-left-radius: 0.375rem;
351
+ border-bottom-left-radius: 0.375rem;
352
+ }
353
+
354
+ .rounded-r-md {
355
+ border-top-right-radius: 0.375rem;
356
+ border-bottom-right-radius: 0.375rem;
357
+ }
358
+
359
+ .border {
360
+ border-width: 1px;
361
+ }
362
+
363
+ .border-x-0 {
364
+ border-left-width: 0px;
365
+ border-right-width: 0px;
366
+ }
367
+
368
+ .border-y-0 {
369
+ border-top-width: 0px;
370
+ border-bottom-width: 0px;
371
+ }
372
+
373
+ .border-b {
374
+ border-bottom-width: 1px;
375
+ }
376
+
377
+ .border-l-0 {
378
+ border-left-width: 0px;
379
+ }
380
+
381
+ .border-r {
382
+ border-right-width: 1px;
383
+ }
384
+
385
+ .border-t {
386
+ border-top-width: 1px;
387
+ }
388
+
389
+ .border-t-0 {
390
+ border-top-width: 0px;
391
+ }
392
+
393
+ .border-solid {
394
+ border-style: solid;
395
+ }
396
+
397
+ .border-blue-400 {
398
+ --tw-border-opacity: 1;
399
+ border-color: rgb(96 165 250 / var(--tw-border-opacity));
400
+ }
401
+
402
+ .border-error {
403
+ --tw-border-opacity: 1;
404
+ border-color: var(--fallback-er,oklch(var(--er)/var(--tw-border-opacity)));
405
+ }
406
+
407
+ .border-gray-200 {
408
+ --tw-border-opacity: 1;
409
+ border-color: rgb(229 231 235 / var(--tw-border-opacity));
410
+ }
411
+
412
+ .border-gray-300 {
413
+ --tw-border-opacity: 1;
414
+ border-color: rgb(209 213 219 / var(--tw-border-opacity));
415
+ }
416
+
417
+ .border-indigo-500 {
418
+ --tw-border-opacity: 1;
419
+ border-color: rgb(99 102 241 / var(--tw-border-opacity));
420
+ }
421
+
422
+ .border-zinc-300 {
423
+ --tw-border-opacity: 1;
424
+ border-color: rgb(212 212 216 / var(--tw-border-opacity));
425
+ }
426
+
427
+ .bg-\[rgba\(255\2c 255\2c 255\2c \.7\)\] {
428
+ background-color: rgba(255,255,255,.7);
429
+ }
430
+
431
+ .bg-blue-100 {
432
+ --tw-bg-opacity: 1;
433
+ background-color: rgb(219 234 254 / var(--tw-bg-opacity));
434
+ }
435
+
436
+ .bg-indigo-50 {
437
+ --tw-bg-opacity: 1;
438
+ background-color: rgb(238 242 255 / var(--tw-bg-opacity));
439
+ }
440
+
441
+ .bg-slate-100 {
442
+ --tw-bg-opacity: 1;
443
+ background-color: rgb(241 245 249 / var(--tw-bg-opacity));
444
+ }
445
+
446
+ .bg-white {
447
+ --tw-bg-opacity: 1;
448
+ background-color: rgb(255 255 255 / var(--tw-bg-opacity));
449
+ }
450
+
451
+ .p-4 {
452
+ padding: 1rem;
453
+ }
454
+
455
+ .p-6 {
456
+ padding: 1.5rem;
457
+ }
458
+
459
+ .px-10 {
460
+ padding-left: 2.5rem;
461
+ padding-right: 2.5rem;
462
+ }
463
+
464
+ .px-12 {
465
+ padding-left: 3rem;
466
+ padding-right: 3rem;
467
+ }
468
+
469
+ .px-2 {
470
+ padding-left: 0.5rem;
471
+ padding-right: 0.5rem;
472
+ }
473
+
474
+ .px-4 {
475
+ padding-left: 1rem;
476
+ padding-right: 1rem;
477
+ }
478
+
479
+ .px-6 {
480
+ padding-left: 1.5rem;
481
+ padding-right: 1.5rem;
482
+ }
483
+
484
+ .px-8 {
485
+ padding-left: 2rem;
486
+ padding-right: 2rem;
487
+ }
488
+
489
+ .py-2 {
490
+ padding-top: 0.5rem;
491
+ padding-bottom: 0.5rem;
492
+ }
493
+
494
+ .py-20 {
495
+ padding-top: 5rem;
496
+ padding-bottom: 5rem;
497
+ }
498
+
499
+ .py-3 {
500
+ padding-top: 0.75rem;
501
+ padding-bottom: 0.75rem;
502
+ }
503
+
504
+ .py-4 {
505
+ padding-top: 1rem;
506
+ padding-bottom: 1rem;
507
+ }
508
+
509
+ .pt-4 {
510
+ padding-top: 1rem;
511
+ }
512
+
513
+ .text-center {
514
+ text-align: center;
515
+ }
516
+
517
+ .indent-2 {
518
+ text-indent: 0.5rem;
519
+ }
520
+
521
+ .indent-2\.5 {
522
+ text-indent: 0.625rem;
523
+ }
524
+
525
+ .text-2xl {
526
+ font-size: 1.5rem;
527
+ line-height: 2rem;
528
+ }
529
+
530
+ .text-\[14px\] {
531
+ font-size: 14px;
532
+ }
533
+
534
+ .text-lg {
535
+ font-size: 1.125rem;
536
+ line-height: 1.75rem;
537
+ }
538
+
539
+ .text-sm {
540
+ font-size: 0.875rem;
541
+ line-height: 1.25rem;
542
+ }
543
+
544
+ .text-xl {
545
+ font-size: 1.25rem;
546
+ line-height: 1.75rem;
547
+ }
548
+
549
+ .font-bold {
550
+ font-weight: 700;
551
+ }
552
+
553
+ .font-medium {
554
+ font-weight: 500;
555
+ }
556
+
557
+ .font-semibold {
558
+ font-weight: 600;
559
+ }
560
+
561
+ .leading-6 {
562
+ line-height: 1.5rem;
563
+ }
564
+
565
+ .text-\[\#A1A7C4\] {
566
+ --tw-text-opacity: 1;
567
+ color: rgb(161 167 196 / var(--tw-text-opacity));
568
+ }
569
+
570
+ .text-blue-400 {
571
+ --tw-text-opacity: 1;
572
+ color: rgb(96 165 250 / var(--tw-text-opacity));
573
+ }
574
+
575
+ .text-blue-500 {
576
+ --tw-text-opacity: 1;
577
+ color: rgb(59 130 246 / var(--tw-text-opacity));
578
+ }
579
+
580
+ .text-error {
581
+ --tw-text-opacity: 1;
582
+ color: var(--fallback-er,oklch(var(--er)/var(--tw-text-opacity)));
583
+ }
584
+
585
+ .text-gray-500 {
586
+ --tw-text-opacity: 1;
587
+ color: rgb(107 114 128 / var(--tw-text-opacity));
588
+ }
589
+
590
+ .text-gray-700 {
591
+ --tw-text-opacity: 1;
592
+ color: rgb(55 65 81 / var(--tw-text-opacity));
593
+ }
594
+
595
+ .text-indigo-600 {
596
+ --tw-text-opacity: 1;
597
+ color: rgb(79 70 229 / var(--tw-text-opacity));
598
+ }
599
+
600
+ .text-teal-400 {
601
+ --tw-text-opacity: 1;
602
+ color: rgb(45 212 191 / var(--tw-text-opacity));
603
+ }
604
+
605
+ .text-teal-600 {
606
+ --tw-text-opacity: 1;
607
+ color: rgb(13 148 136 / var(--tw-text-opacity));
608
+ }
609
+
610
+ .text-zinc-600 {
611
+ --tw-text-opacity: 1;
612
+ color: rgb(82 82 91 / var(--tw-text-opacity));
613
+ }
614
+
615
+ .text-zinc-900 {
616
+ --tw-text-opacity: 1;
617
+ color: rgb(24 24 27 / var(--tw-text-opacity));
618
+ }
619
+
620
+ .underline {
621
+ text-decoration-line: underline;
622
+ }
623
+
624
+ .shadow {
625
+ --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
626
+ --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
627
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
628
+ }
629
+
630
+ .shadow-lg {
631
+ --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
632
+ --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
633
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
634
+ }
635
+
636
+ .shadow-sm {
637
+ --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
638
+ --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
639
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
640
+ }
641
+
642
+ .blur {
643
+ --tw-blur: blur(8px);
644
+ filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
645
+ }
646
+
647
+ .filter {
648
+ filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
649
+ }
650
+
651
+ .transition-all {
652
+ transition-property: all;
653
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
654
+ transition-duration: 150ms;
655
+ }
656
+
657
+ /* modal */
658
+
659
+ .modal {
660
+ position: relative;
661
+ box-shadow: var(--shadow-2), 0 0 0 100vw rgb(0 0 0 / 0.8);
662
+ background: #fff;
663
+ color: #222;
664
+ border: 0;
665
+ border-radius: 0.25rem;
666
+ --x: 0;
667
+ --y: 0;
668
+ --delay: 750ms;
669
+ --animation-timing-func: cubic-bezier(0.75, 0.7, 0, 1.02);
670
+ }
671
+
672
+ .modal > .close {
673
+ position: absolute;
674
+ right: 1rem;
675
+ top: 1rem;
676
+ cursor: pointer;
677
+ }
678
+
679
+ .modal::backdrop {
680
+ opacity: 0;
681
+ isolation: isolate;
682
+ /* display: none; */
683
+ transition: all 0s;
684
+ }
685
+
686
+ .modal.backdrop::backdrop {
687
+ opacity: 0;
688
+ display: initial;
689
+ transition: all 0s;
690
+ }
691
+
692
+ .modal[open] {
693
+ animation:
694
+ fade-in var(--delay) forwards var(--animation-timing-func),
695
+ fly-in var(--delay) forwards var(--animation-timing-func);
696
+ pointer-events: auto;
697
+ visibility: visible;
698
+ }
699
+
700
+ .modal[closing] {
701
+ animation:
702
+ fade-out var(--delay) forwards var(--animation-timing-func),
703
+ fly-out var(--delay) forwards var(--animation-timing-func);
704
+ display: block;
705
+ inset: 0;
706
+ pointer-events: none;
707
+ }
708
+
709
+ .modal[open]::backdrop {
710
+ transform: none !important;
711
+ animation: fade-in 500ms forwards;
712
+ }
713
+
714
+ .modal[closing]::backdrop {
715
+ transform: none !important;
716
+ animation: fade-out 500ms forwards;
717
+ }
718
+
719
+ @keyframes fade-in {
720
+ 0% {
721
+ opacity: 0;
722
+ }
723
+
724
+ 100% {
725
+ opacity: 1;
726
+ }
727
+ }
728
+
729
+ @keyframes fade-out {
730
+ 100% {
731
+ opacity: 0;
732
+ }
733
+
734
+ 0% {
735
+ opacity: 1;
736
+ }
737
+ }
738
+
739
+ @keyframes fly-in {
740
+ 0% {
741
+ transform: translate3d(var(--x), var(--y), -200px) scale(0.01)
742
+ perspective(6em);
743
+ }
744
+
745
+ 100% {
746
+ transform: translate3d(0%, 0%, 0px) scale(1) perspective(1em);
747
+ }
748
+ }
749
+
750
+ @keyframes fly-out {
751
+ 0% {
752
+ transform: translate3d(0%, 0%, 0px) scale(1) perspective(1em);
753
+ }
754
+
755
+ 100% {
756
+ transform: translate3d(var(--x), var(--y), -200px) scale(0.01)
757
+ perspective(6em);
758
+ }
759
+ }
760
+
761
+ .before\:font-bold::before {
762
+ content: var(--tw-content);
763
+ font-weight: 700;
764
+ }
765
+
766
+ .before\:content-\[attr\(data-label\)\]::before {
767
+ --tw-content: attr(data-label);
768
+ content: var(--tw-content);
769
+ }
770
+
771
+ .after\:content-\[\'\:\'\]::after {
772
+ --tw-content: ':';
773
+ content: var(--tw-content);
774
+ }
775
+
776
+ .hover\:bg-gray-50:hover {
777
+ --tw-bg-opacity: 1;
778
+ background-color: rgb(249 250 251 / var(--tw-bg-opacity));
779
+ }
780
+
781
+ .hover\:opacity-50:hover {
782
+ opacity: 0.5;
783
+ }
784
+
785
+ .focus\:z-20:focus {
786
+ z-index: 20;
787
+ }
788
+
789
+ .focus\:border-error:focus {
790
+ --tw-border-opacity: 1;
791
+ border-color: var(--fallback-er,oklch(var(--er)/var(--tw-border-opacity)));
792
+ }
793
+
794
+ .focus\:ring-0:focus {
795
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
796
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
797
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
798
+ }
799
+
800
+ .peer:checked ~ .peer-checked\:flex {
801
+ display: flex;
802
+ }
803
+
804
+ @media (min-width: 768px) {
805
+ .md\:flex {
806
+ display: flex;
807
+ }
808
+
809
+ .md\:inline-flex {
810
+ display: inline-flex;
811
+ }
812
+
813
+ .md\:table-cell {
814
+ display: table-cell;
815
+ }
816
+
817
+ .md\:table-header-group {
818
+ display: table-header-group;
819
+ }
820
+
821
+ .md\:hidden {
822
+ display: none;
823
+ }
824
+
825
+ .md\:grid-cols-3 {
826
+ grid-template-columns: repeat(3, minmax(0, 1fr));
827
+ }
828
+
829
+ .md\:before\:hidden::before {
830
+ content: var(--tw-content);
831
+ display: none;
832
+ }
833
+ }
834
+
835
+ @media (min-width: 1024px) {
836
+ .lg\:flex {
837
+ display: flex;
838
+ }
839
+
840
+ .lg\:inline-flex {
841
+ display: inline-flex;
842
+ }
843
+
844
+ .lg\:hidden {
845
+ display: none;
846
+ }
847
+ }
848
+
849
+ @media (prefers-color-scheme: dark) {
850
+ .dark\:bg-blue-900 {
851
+ --tw-bg-opacity: 1;
852
+ background-color: rgb(30 58 138 / var(--tw-bg-opacity));
853
+ }
854
+
855
+ .dark\:text-blue-100 {
856
+ --tw-text-opacity: 1;
857
+ color: rgb(219 234 254 / var(--tw-text-opacity));
858
+ }
859
+
860
+ .dark\:shadow-slate-600 {
861
+ --tw-shadow-color: #475569;
862
+ --tw-shadow: var(--tw-shadow-colored);
863
+ }
864
+ }
@@ -0,0 +1,64 @@
1
+ (() => {
2
+ window.addEventListener("modal:open", (evt) => {
3
+ const modal = evt.target;
4
+ if (modal.open) {
5
+ return;
6
+ }
7
+ const x = evt.pageX;
8
+ const y = evt.pageY;
9
+ modal.style.setProperty("--x", `calc(-50vw + ${x}px)`);
10
+ modal.style.setProperty("--y", `calc(-50vh + ${y}px)`);
11
+ modal.showModal();
12
+ modal.addEventListener("modal:close", (evt2) => {
13
+ modal.setAttribute("closing", "");
14
+ modal.addEventListener(
15
+ "animationend",
16
+ () => {
17
+ modal.removeAttribute("closing");
18
+ modal.close();
19
+ },
20
+ { once: true }
21
+ );
22
+ }, {
23
+ once: true
24
+ });
25
+ });
26
+ const WebComponentHook = {
27
+ mounted() {
28
+ const attrs = this.el.attributes;
29
+ const phxTarget = attrs["phx-target"].value;
30
+ const pushEvent = phxTarget ? (event, payload, callback) => this.pushEventTo(phxTarget, event, payload, callback) : this.pushEvent;
31
+ for (var i = 0; i < attrs.length; i++) {
32
+ if (/^darkmoon-send-/.test(attrs[i].name)) {
33
+ const eventName = attrs[i].name.replace(/^darkmoon-send-/, "");
34
+ const [phxEvent, callbackName] = attrs[i].value.split(";");
35
+ this.el.addEventListener(eventName, ({ detail }) => {
36
+ pushEvent(phxEvent, detail, (e) => {
37
+ this[callbackName]?.(e, detail, eventName);
38
+ });
39
+ });
40
+ }
41
+ if (/^darkmoon-receive-/.test(attrs[i].name)) {
42
+ const eventName = attrs[i].name.replace(/^darkmoon-receive-/, "");
43
+ const handler = attrs[i].value;
44
+ this.handleEvent(eventName, (payload) => {
45
+ if (handler && this.el[handler]) {
46
+ this.el[handler]?.(payload);
47
+ } else {
48
+ this.el.dispatchEvent(new CustomEvent(eventName, { detail: payload }));
49
+ }
50
+ });
51
+ }
52
+ if ("darkmoon-receive" === attrs[i].name) {
53
+ const [phxEvent, callbackName] = attrs[i].value.split(";");
54
+ this.handleEvent(phxEvent, (payload) => {
55
+ this.el[callbackName]?.(payload);
56
+ });
57
+ }
58
+ }
59
+ }
60
+ };
61
+ if (window) {
62
+ window.__WebComponentHook__ = WebComponentHook;
63
+ }
64
+ })();