phoenix_duskmoon 9.2.0 → 9.4.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/package.json +10 -9
- package/priv/static/phoenix_duskmoon.css +327 -0
package/package.json
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "phoenix_duskmoon",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.4.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./priv/static/phoenix_duskmoon.js",
|
|
7
7
|
"./hooks": "./assets/js/hooks/index.js",
|
|
8
8
|
"./css": "./priv/static/phoenix_duskmoon.css",
|
|
9
|
+
"./components": "./priv/static/phoenix_duskmoon.css",
|
|
9
10
|
"./svg/mdi/*.svg": "./priv/mdi/svg/*.svg",
|
|
10
11
|
"./svg/bsi/*.svg": "./priv/bsi/svg/*.svg"
|
|
11
12
|
},
|
|
@@ -34,17 +35,17 @@
|
|
|
34
35
|
"registry": "https://registry.npmjs.org/"
|
|
35
36
|
},
|
|
36
37
|
"dependencies": {
|
|
37
|
-
"@duskmoon-dev/art-elements": "1.
|
|
38
|
-
"@duskmoon-dev/core": "1.
|
|
39
|
-
"@duskmoon-dev/css-art": "1.
|
|
40
|
-
"@duskmoon-dev/elements": "1.
|
|
38
|
+
"@duskmoon-dev/art-elements": "1.5.0",
|
|
39
|
+
"@duskmoon-dev/core": "1.17.0",
|
|
40
|
+
"@duskmoon-dev/css-art": "1.17.0",
|
|
41
|
+
"@duskmoon-dev/elements": "1.5.0"
|
|
41
42
|
},
|
|
42
43
|
"devDependencies": {
|
|
43
|
-
"@mdi/svg": "
|
|
44
|
-
"bootstrap-icons": "
|
|
45
|
-
"postcss": "8.5.
|
|
44
|
+
"@mdi/svg": "7.4.47",
|
|
45
|
+
"bootstrap-icons": "1.13.1",
|
|
46
|
+
"postcss": "8.5.15"
|
|
46
47
|
},
|
|
47
48
|
"peerDependencies": {
|
|
48
|
-
"tailwindcss": "
|
|
49
|
+
"tailwindcss": "4.3.0"
|
|
49
50
|
}
|
|
50
51
|
}
|
|
@@ -3548,6 +3548,333 @@
|
|
|
3548
3548
|
border-radius: var(--radius-full);
|
|
3549
3549
|
}
|
|
3550
3550
|
}
|
|
3551
|
+
@layer components {
|
|
3552
|
+
.chat {
|
|
3553
|
+
display: grid;
|
|
3554
|
+
grid-template-columns: auto minmax(0, 1fr);
|
|
3555
|
+
column-gap: 0.75rem;
|
|
3556
|
+
align-items: end;
|
|
3557
|
+
padding: 0.25rem 0;
|
|
3558
|
+
}
|
|
3559
|
+
.chat-start {
|
|
3560
|
+
grid-template-columns: auto minmax(0, 1fr);
|
|
3561
|
+
}
|
|
3562
|
+
.chat-end {
|
|
3563
|
+
grid-template-columns: minmax(0, 1fr) auto;
|
|
3564
|
+
}
|
|
3565
|
+
.chat-avatar {
|
|
3566
|
+
grid-row: 1 / span 999;
|
|
3567
|
+
grid-column: 1;
|
|
3568
|
+
align-self: start;
|
|
3569
|
+
justify-self: start;
|
|
3570
|
+
}
|
|
3571
|
+
.chat-end .chat-avatar {
|
|
3572
|
+
grid-column: 2;
|
|
3573
|
+
justify-self: end;
|
|
3574
|
+
}
|
|
3575
|
+
.chat > :not(.chat-avatar) {
|
|
3576
|
+
grid-column: 2;
|
|
3577
|
+
justify-self: start;
|
|
3578
|
+
max-width: 100%;
|
|
3579
|
+
margin-bottom: 0.25rem;
|
|
3580
|
+
}
|
|
3581
|
+
.chat-end > :not(.chat-avatar) {
|
|
3582
|
+
grid-column: 1;
|
|
3583
|
+
justify-self: end;
|
|
3584
|
+
}
|
|
3585
|
+
.chat-header, .chat-footer {
|
|
3586
|
+
color: var(--color-on-surface-variant);
|
|
3587
|
+
font-size: 0.75rem;
|
|
3588
|
+
line-height: 1rem;
|
|
3589
|
+
}
|
|
3590
|
+
.chat-header {
|
|
3591
|
+
margin-bottom: 0.125rem;
|
|
3592
|
+
}
|
|
3593
|
+
.chat-footer {
|
|
3594
|
+
margin-top: 0.125rem;
|
|
3595
|
+
margin-bottom: 0;
|
|
3596
|
+
}
|
|
3597
|
+
.chat-bubble {
|
|
3598
|
+
--chat-bubble-bg: var(--color-surface-container-highest);
|
|
3599
|
+
--chat-bubble-fg: var(--color-on-surface);
|
|
3600
|
+
position: relative;
|
|
3601
|
+
max-width: min(80ch, 100%);
|
|
3602
|
+
padding: 0.625rem 0.875rem;
|
|
3603
|
+
border-radius: 1rem;
|
|
3604
|
+
background-color: var(--chat-bubble-bg);
|
|
3605
|
+
color: var(--chat-bubble-fg);
|
|
3606
|
+
box-shadow: inset 0 0 0 1px var(--color-outline-variant);
|
|
3607
|
+
font-size: 0.875rem;
|
|
3608
|
+
line-height: 1.45;
|
|
3609
|
+
overflow-wrap: anywhere;
|
|
3610
|
+
word-break: break-word;
|
|
3611
|
+
}
|
|
3612
|
+
.chat-start .chat-bubble::before, .chat-end .chat-bubble::before, .chat-start .chat-bubble::after, .chat-end .chat-bubble::after {
|
|
3613
|
+
content: "";
|
|
3614
|
+
position: absolute;
|
|
3615
|
+
top: 0;
|
|
3616
|
+
clip-path: polygon(0 0, 100% 0, 100% 100%);
|
|
3617
|
+
}
|
|
3618
|
+
.chat-start .chat-bubble::before {
|
|
3619
|
+
left: -0.625rem;
|
|
3620
|
+
width: 1rem;
|
|
3621
|
+
height: 1rem;
|
|
3622
|
+
background-color: var(--color-outline-variant);
|
|
3623
|
+
}
|
|
3624
|
+
.chat-start .chat-bubble::after {
|
|
3625
|
+
left: -0.5rem;
|
|
3626
|
+
width: calc(1rem - 2px);
|
|
3627
|
+
height: calc(1rem - 2px);
|
|
3628
|
+
top: 1px;
|
|
3629
|
+
background-color: var(--chat-bubble-bg);
|
|
3630
|
+
}
|
|
3631
|
+
.chat-start .chat-bubble {
|
|
3632
|
+
border-top-left-radius: 0;
|
|
3633
|
+
}
|
|
3634
|
+
.chat-end .chat-bubble::before {
|
|
3635
|
+
right: -0.625rem;
|
|
3636
|
+
width: 1rem;
|
|
3637
|
+
height: 1rem;
|
|
3638
|
+
background-color: var(--color-outline-variant);
|
|
3639
|
+
transform: scaleX(-1);
|
|
3640
|
+
}
|
|
3641
|
+
.chat-end .chat-bubble::after {
|
|
3642
|
+
right: -0.5rem;
|
|
3643
|
+
width: calc(1rem - 2px);
|
|
3644
|
+
height: calc(1rem - 2px);
|
|
3645
|
+
top: 1px;
|
|
3646
|
+
background-color: var(--chat-bubble-bg);
|
|
3647
|
+
transform: scaleX(-1);
|
|
3648
|
+
}
|
|
3649
|
+
.chat-end .chat-bubble {
|
|
3650
|
+
border-top-right-radius: 0;
|
|
3651
|
+
}
|
|
3652
|
+
.chat-bubble-primary {
|
|
3653
|
+
--chat-bubble-bg: var(--color-primary-container);
|
|
3654
|
+
--chat-bubble-fg: var(--color-on-primary-container);
|
|
3655
|
+
}
|
|
3656
|
+
.chat-bubble-secondary {
|
|
3657
|
+
--chat-bubble-bg: var(--color-secondary-container);
|
|
3658
|
+
--chat-bubble-fg: var(--color-on-secondary-container);
|
|
3659
|
+
}
|
|
3660
|
+
.chat-bubble-tertiary {
|
|
3661
|
+
--chat-bubble-bg: var(--color-tertiary-container);
|
|
3662
|
+
--chat-bubble-fg: var(--color-on-tertiary-container);
|
|
3663
|
+
}
|
|
3664
|
+
.chat-bubble-info {
|
|
3665
|
+
--chat-bubble-bg: var(--color-info-container);
|
|
3666
|
+
--chat-bubble-fg: var(--color-on-info-container);
|
|
3667
|
+
}
|
|
3668
|
+
.chat-bubble-success {
|
|
3669
|
+
--chat-bubble-bg: var(--color-success-container);
|
|
3670
|
+
--chat-bubble-fg: var(--color-on-success-container);
|
|
3671
|
+
}
|
|
3672
|
+
.chat-bubble-warning {
|
|
3673
|
+
--chat-bubble-bg: var(--color-warning-container);
|
|
3674
|
+
--chat-bubble-fg: var(--color-on-warning-container);
|
|
3675
|
+
}
|
|
3676
|
+
.chat-bubble-error {
|
|
3677
|
+
--chat-bubble-bg: var(--color-error-container);
|
|
3678
|
+
--chat-bubble-fg: var(--color-on-error-container);
|
|
3679
|
+
}
|
|
3680
|
+
.chat-bubble-filled.chat-bubble-primary {
|
|
3681
|
+
--chat-bubble-bg: var(--color-primary);
|
|
3682
|
+
--chat-bubble-fg: var(--color-primary-content);
|
|
3683
|
+
}
|
|
3684
|
+
.chat-bubble-filled.chat-bubble-secondary {
|
|
3685
|
+
--chat-bubble-bg: var(--color-secondary);
|
|
3686
|
+
--chat-bubble-fg: var(--color-secondary-content);
|
|
3687
|
+
}
|
|
3688
|
+
.chat-bubble-filled.chat-bubble-tertiary {
|
|
3689
|
+
--chat-bubble-bg: var(--color-tertiary);
|
|
3690
|
+
--chat-bubble-fg: var(--color-tertiary-content);
|
|
3691
|
+
}
|
|
3692
|
+
.chat-bubble-filled.chat-bubble-info {
|
|
3693
|
+
--chat-bubble-bg: var(--color-info);
|
|
3694
|
+
--chat-bubble-fg: var(--color-info-content);
|
|
3695
|
+
}
|
|
3696
|
+
.chat-bubble-filled.chat-bubble-success {
|
|
3697
|
+
--chat-bubble-bg: var(--color-success);
|
|
3698
|
+
--chat-bubble-fg: var(--color-success-content);
|
|
3699
|
+
}
|
|
3700
|
+
.chat-bubble-filled.chat-bubble-warning {
|
|
3701
|
+
--chat-bubble-bg: var(--color-warning);
|
|
3702
|
+
--chat-bubble-fg: var(--color-warning-content);
|
|
3703
|
+
}
|
|
3704
|
+
.chat-bubble-filled.chat-bubble-error {
|
|
3705
|
+
--chat-bubble-bg: var(--color-error);
|
|
3706
|
+
--chat-bubble-fg: var(--color-error-content);
|
|
3707
|
+
}
|
|
3708
|
+
.chat-bubble-xs {
|
|
3709
|
+
padding: 0.375rem 0.625rem;
|
|
3710
|
+
font-size: 0.75rem;
|
|
3711
|
+
}
|
|
3712
|
+
.chat-bubble-sm {
|
|
3713
|
+
padding: 0.5rem 0.75rem;
|
|
3714
|
+
font-size: 0.8125rem;
|
|
3715
|
+
}
|
|
3716
|
+
.chat-bubble-md {
|
|
3717
|
+
padding: 0.625rem 0.875rem;
|
|
3718
|
+
font-size: 0.875rem;
|
|
3719
|
+
}
|
|
3720
|
+
.chat-bubble-lg {
|
|
3721
|
+
padding: 0.875rem 1.125rem;
|
|
3722
|
+
font-size: 1rem;
|
|
3723
|
+
}
|
|
3724
|
+
.chat-reasoning, .chat-tool {
|
|
3725
|
+
width: min(80ch, 100%);
|
|
3726
|
+
border: 1px solid var(--color-outline);
|
|
3727
|
+
border-radius: var(--radius-sm);
|
|
3728
|
+
background-color: var(--color-surface-container-low);
|
|
3729
|
+
color: var(--color-on-surface);
|
|
3730
|
+
font-size: 0.8125rem;
|
|
3731
|
+
line-height: 1.45;
|
|
3732
|
+
overflow: hidden;
|
|
3733
|
+
}
|
|
3734
|
+
.chat-reasoning > summary, .chat-tool > summary {
|
|
3735
|
+
cursor: pointer;
|
|
3736
|
+
list-style-position: inside;
|
|
3737
|
+
}
|
|
3738
|
+
.chat-reasoning > summary {
|
|
3739
|
+
padding: 0.5rem 0.75rem;
|
|
3740
|
+
color: var(--color-on-surface-variant);
|
|
3741
|
+
font-weight: 500;
|
|
3742
|
+
}
|
|
3743
|
+
.chat-reasoning > :not(summary) {
|
|
3744
|
+
padding: 0 0.75rem 0.75rem;
|
|
3745
|
+
color: var(--color-on-surface-variant);
|
|
3746
|
+
font-style: italic;
|
|
3747
|
+
}
|
|
3748
|
+
.chat-tool-header {
|
|
3749
|
+
display: flex;
|
|
3750
|
+
align-items: center;
|
|
3751
|
+
gap: 0.5rem;
|
|
3752
|
+
padding: 0.5rem 0.75rem;
|
|
3753
|
+
color: var(--color-on-surface);
|
|
3754
|
+
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
|
|
3755
|
+
font-size: 0.75rem;
|
|
3756
|
+
font-weight: 600;
|
|
3757
|
+
}
|
|
3758
|
+
.chat-tool-status {
|
|
3759
|
+
display: inline-flex;
|
|
3760
|
+
align-items: center;
|
|
3761
|
+
min-height: 1.25rem;
|
|
3762
|
+
padding: 0.125rem 0.5rem;
|
|
3763
|
+
border-radius: 999px;
|
|
3764
|
+
margin-left: auto;
|
|
3765
|
+
font-family: inherit;
|
|
3766
|
+
font-size: 0.6875rem;
|
|
3767
|
+
font-weight: 600;
|
|
3768
|
+
line-height: 1;
|
|
3769
|
+
}
|
|
3770
|
+
.chat-tool-call, .chat-tool-result {
|
|
3771
|
+
padding: 0.75rem;
|
|
3772
|
+
border-top: 1px solid var(--color-outline);
|
|
3773
|
+
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
|
|
3774
|
+
font-size: 0.75rem;
|
|
3775
|
+
overflow-x: auto;
|
|
3776
|
+
}
|
|
3777
|
+
.chat-tool-result {
|
|
3778
|
+
background-color: var(--color-surface-container);
|
|
3779
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
3780
|
+
background-color: color-mix(in oklch, var(--color-surface-container) 65%, transparent);
|
|
3781
|
+
}
|
|
3782
|
+
}
|
|
3783
|
+
.chat-tool-pending .chat-tool-status {
|
|
3784
|
+
border: 1px solid var(--color-outline);
|
|
3785
|
+
color: var(--color-on-surface-variant);
|
|
3786
|
+
}
|
|
3787
|
+
.chat-tool-running .chat-tool-status {
|
|
3788
|
+
background-color: var(--color-info-container);
|
|
3789
|
+
color: var(--color-on-info-container);
|
|
3790
|
+
}
|
|
3791
|
+
.chat-tool-running .chat-tool-header::before {
|
|
3792
|
+
content: "";
|
|
3793
|
+
width: 0.875rem;
|
|
3794
|
+
height: 0.875rem;
|
|
3795
|
+
border: 2px solid currentColor;
|
|
3796
|
+
border-top-color: transparent;
|
|
3797
|
+
border-radius: 999px;
|
|
3798
|
+
animation: chat-tool-spin 800ms linear infinite;
|
|
3799
|
+
}
|
|
3800
|
+
.chat-tool-success .chat-tool-status {
|
|
3801
|
+
background-color: var(--color-success-container);
|
|
3802
|
+
color: var(--color-on-success-container);
|
|
3803
|
+
}
|
|
3804
|
+
.chat-tool-error .chat-tool-status {
|
|
3805
|
+
background-color: var(--color-error-container);
|
|
3806
|
+
color: var(--color-on-error-container);
|
|
3807
|
+
}
|
|
3808
|
+
.chat-typing {
|
|
3809
|
+
display: inline-flex;
|
|
3810
|
+
align-items: center;
|
|
3811
|
+
gap: 0.25rem;
|
|
3812
|
+
min-width: 2.25rem;
|
|
3813
|
+
}
|
|
3814
|
+
.chat-typing::before, .chat-typing::after, .chat-typing span {
|
|
3815
|
+
content: "";
|
|
3816
|
+
width: 0.375rem;
|
|
3817
|
+
height: 0.375rem;
|
|
3818
|
+
border-radius: 999px;
|
|
3819
|
+
background-color: currentColor;
|
|
3820
|
+
opacity: 0.55;
|
|
3821
|
+
animation: chat-typing-dot 1.4s ease-in-out infinite;
|
|
3822
|
+
}
|
|
3823
|
+
.chat-typing span {
|
|
3824
|
+
animation-delay: 150ms;
|
|
3825
|
+
}
|
|
3826
|
+
.chat-typing::after {
|
|
3827
|
+
animation-delay: 300ms;
|
|
3828
|
+
}
|
|
3829
|
+
.chat-bubble-streaming::after {
|
|
3830
|
+
content: "";
|
|
3831
|
+
display: inline-block;
|
|
3832
|
+
width: 1px;
|
|
3833
|
+
height: 1em;
|
|
3834
|
+
margin-left: 0.25rem;
|
|
3835
|
+
background-color: currentColor;
|
|
3836
|
+
vertical-align: -0.125em;
|
|
3837
|
+
animation: chat-stream-caret 1s step-end infinite;
|
|
3838
|
+
}
|
|
3839
|
+
.chat-reasoning > summary:focus-visible, .chat-tool > summary:focus-visible {
|
|
3840
|
+
outline: none;
|
|
3841
|
+
box-shadow: 0 0 0 3px currentColor;
|
|
3842
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
3843
|
+
box-shadow: 0 0 0 3px color-mix(in oklch, currentColor 20%, transparent);
|
|
3844
|
+
}
|
|
3845
|
+
}
|
|
3846
|
+
@keyframes chat-typing-dot {
|
|
3847
|
+
0%, 80%, 100% {
|
|
3848
|
+
opacity: 0.45;
|
|
3849
|
+
transform: translateY(0);
|
|
3850
|
+
}
|
|
3851
|
+
40% {
|
|
3852
|
+
opacity: 1;
|
|
3853
|
+
transform: translateY(-0.1875rem);
|
|
3854
|
+
}
|
|
3855
|
+
}
|
|
3856
|
+
@keyframes chat-stream-caret {
|
|
3857
|
+
0%, 49% {
|
|
3858
|
+
opacity: 1;
|
|
3859
|
+
}
|
|
3860
|
+
50%, 100% {
|
|
3861
|
+
opacity: 0;
|
|
3862
|
+
}
|
|
3863
|
+
}
|
|
3864
|
+
@keyframes chat-tool-spin {
|
|
3865
|
+
to {
|
|
3866
|
+
transform: rotate(360deg);
|
|
3867
|
+
}
|
|
3868
|
+
}
|
|
3869
|
+
@media (prefers-reduced-motion: reduce) {
|
|
3870
|
+
.chat-typing::before, .chat-typing::after, .chat-typing span, .chat-bubble-streaming::after, .chat-tool-running .chat-tool-header::before {
|
|
3871
|
+
animation: none;
|
|
3872
|
+
}
|
|
3873
|
+
.chat-bubble-streaming::after {
|
|
3874
|
+
opacity: 1;
|
|
3875
|
+
}
|
|
3876
|
+
}
|
|
3877
|
+
}
|
|
3551
3878
|
@layer components {
|
|
3552
3879
|
.chip {
|
|
3553
3880
|
display: inline-flex;
|