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