@duskmoon-dev/components 0.5.1 → 0.5.3
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/README.md +37 -8
- package/dist/classes/chat.d.ts +12 -0
- package/dist/classes/index.js +24 -0
- package/dist/components/chat/Chat.types.d.ts +52 -0
- package/dist/components/chat/ChatPrimitives.d.ts +14 -0
- package/dist/components/chat/index.d.ts +1 -0
- package/dist/components/chat/index.js +358 -42
- package/dist/components/dm-truncate/index.js +37 -3
- package/dist/components/popconfirm/index.js +49 -5
- package/dist/components/popover/index.js +0 -4
- package/dist/components/tooltip/Tooltip.types.d.ts +1 -1
- package/dist/components/tooltip/index.js +37 -3
- package/dist/generated/version.d.ts +1 -1
- package/dist/index.js +1882 -1492
- package/dist/infrastructure.js +1 -1
- package/dist/styles.css +391 -67
- package/package.json +3 -3
package/dist/infrastructure.js
CHANGED
package/dist/styles.css
CHANGED
|
@@ -43,8 +43,8 @@ html {
|
|
|
43
43
|
color: var(--color-base-content);
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
-
/* Focus ring utility */
|
|
47
|
-
:focus-visible {
|
|
46
|
+
/* Focus ring utility; the integrated chat input uses its composer's ring. */
|
|
47
|
+
:focus-visible:not(:where(.chat-composer .chat-composer-input)) {
|
|
48
48
|
outline: 2px solid var(--color-primary);
|
|
49
49
|
outline-offset: 2px;
|
|
50
50
|
}
|
|
@@ -434,29 +434,33 @@ html {
|
|
|
434
434
|
grid-template-columns: repeat(auto-fit, minmax(min(calc(--value(integer) * 0.25rem), 100%), 1fr));
|
|
435
435
|
}
|
|
436
436
|
|
|
437
|
-
/*
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
437
|
+
/* Low-specificity fallbacks let Tailwind variants override either import order. */
|
|
438
|
+
@layer utilities {
|
|
439
|
+
/* Screen reader only utility - visually hidden but accessible */
|
|
440
|
+
:where(.sr-only) {
|
|
441
|
+
position: absolute;
|
|
442
|
+
width: 1px;
|
|
443
|
+
height: 1px;
|
|
444
|
+
padding: 0;
|
|
445
|
+
margin: -1px;
|
|
446
|
+
overflow: hidden;
|
|
447
|
+
clip-path: inset(50%);
|
|
448
|
+
white-space: nowrap;
|
|
449
|
+
border: 0;
|
|
450
|
+
}
|
|
449
451
|
|
|
450
|
-
/* Undo sr-only for focus states (useful for skip links) */
|
|
451
|
-
.not-sr-only {
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
452
|
+
/* Undo sr-only for focus states (useful for skip links) */
|
|
453
|
+
:where(.not-sr-only) {
|
|
454
|
+
position: static;
|
|
455
|
+
width: auto;
|
|
456
|
+
height: auto;
|
|
457
|
+
padding: 0;
|
|
458
|
+
margin: 0;
|
|
459
|
+
overflow: visible;
|
|
460
|
+
clip: auto;
|
|
461
|
+
clip-path: none;
|
|
462
|
+
white-space: normal;
|
|
463
|
+
}
|
|
460
464
|
}
|
|
461
465
|
|
|
462
466
|
|
|
@@ -5075,6 +5079,10 @@ html {
|
|
|
5075
5079
|
.pagination-item-active,
|
|
5076
5080
|
.pagination-item-active-primary,
|
|
5077
5081
|
.pagination-item[aria-current="page"],
|
|
5082
|
+
.pagination li > a.pagination-item-active,
|
|
5083
|
+
.pagination li > button.pagination-item-active,
|
|
5084
|
+
.pagination li > a.pagination-item-active-primary,
|
|
5085
|
+
.pagination li > button.pagination-item-active-primary,
|
|
5078
5086
|
.pagination li > a.active,
|
|
5079
5087
|
.pagination li > button.active,
|
|
5080
5088
|
.pagination li > a[aria-current="page"],
|
|
@@ -5084,13 +5092,19 @@ html {
|
|
|
5084
5092
|
border-color: var(--color-primary);
|
|
5085
5093
|
}
|
|
5086
5094
|
|
|
5087
|
-
.pagination-item-active-secondary
|
|
5095
|
+
.pagination-item-active-secondary,
|
|
5096
|
+
.pagination-item-active-secondary[aria-current="page"],
|
|
5097
|
+
.pagination li > a.pagination-item-active-secondary,
|
|
5098
|
+
.pagination li > button.pagination-item-active-secondary {
|
|
5088
5099
|
background-color: var(--color-secondary);
|
|
5089
5100
|
color: var(--color-secondary-content);
|
|
5090
5101
|
border-color: var(--color-secondary);
|
|
5091
5102
|
}
|
|
5092
5103
|
|
|
5093
|
-
.pagination-item-active-tertiary
|
|
5104
|
+
.pagination-item-active-tertiary,
|
|
5105
|
+
.pagination-item-active-tertiary[aria-current="page"],
|
|
5106
|
+
.pagination li > a.pagination-item-active-tertiary,
|
|
5107
|
+
.pagination li > button.pagination-item-active-tertiary {
|
|
5094
5108
|
background-color: var(--color-tertiary);
|
|
5095
5109
|
color: var(--color-tertiary-content);
|
|
5096
5110
|
border-color: var(--color-tertiary);
|
|
@@ -5099,11 +5113,29 @@ html {
|
|
|
5099
5113
|
.pagination-item-active:hover,
|
|
5100
5114
|
.pagination-item-active-primary:hover,
|
|
5101
5115
|
.pagination-item[aria-current="page"]:hover,
|
|
5116
|
+
.pagination li > a.pagination-item-active:hover,
|
|
5117
|
+
.pagination li > button.pagination-item-active:hover,
|
|
5118
|
+
.pagination li > a.pagination-item-active-primary:hover,
|
|
5119
|
+
.pagination li > button.pagination-item-active-primary:hover,
|
|
5102
5120
|
.pagination li > a[aria-current="page"]:hover,
|
|
5103
5121
|
.pagination li > button[aria-current="page"]:hover {
|
|
5104
5122
|
background-color: color-mix(in oklch, var(--color-primary), black 10%);
|
|
5105
5123
|
}
|
|
5106
5124
|
|
|
5125
|
+
.pagination-item-active-secondary:hover,
|
|
5126
|
+
.pagination-item-active-secondary[aria-current="page"]:hover,
|
|
5127
|
+
.pagination li > a.pagination-item-active-secondary:hover,
|
|
5128
|
+
.pagination li > button.pagination-item-active-secondary:hover {
|
|
5129
|
+
background-color: color-mix(in oklch, var(--color-secondary), black 10%);
|
|
5130
|
+
}
|
|
5131
|
+
|
|
5132
|
+
.pagination-item-active-tertiary:hover,
|
|
5133
|
+
.pagination-item-active-tertiary[aria-current="page"]:hover,
|
|
5134
|
+
.pagination li > a.pagination-item-active-tertiary:hover,
|
|
5135
|
+
.pagination li > button.pagination-item-active-tertiary:hover {
|
|
5136
|
+
background-color: color-mix(in oklch, var(--color-tertiary), black 10%);
|
|
5137
|
+
}
|
|
5138
|
+
|
|
5107
5139
|
.pagination-item:focus-visible,
|
|
5108
5140
|
.pagination-prev:focus-visible,
|
|
5109
5141
|
.pagination-next:focus-visible,
|
|
@@ -5318,7 +5350,9 @@ html {
|
|
|
5318
5350
|
.megamenu-panel[popover] {
|
|
5319
5351
|
position-anchor: var(--megamenu-anchor);
|
|
5320
5352
|
position-area: block-end span-inline-end;
|
|
5321
|
-
|
|
5353
|
+
/* Narrow viewports need candidates spanning the whole inline axis. */
|
|
5354
|
+
position-try-fallbacks: flip-block, flip-inline, flip-block flip-inline,
|
|
5355
|
+
block-end span-all, block-start span-all;
|
|
5322
5356
|
display: none; box-sizing: border-box;
|
|
5323
5357
|
width: min(48rem, calc(100vw - 2rem)); max-width: calc(100vw - 2rem);
|
|
5324
5358
|
max-height: min(36rem, calc(100dvh - 2rem)); margin: 0.5rem; padding: 1rem;
|
|
@@ -6643,6 +6677,103 @@ html {
|
|
|
6643
6677
|
justify-self: end;
|
|
6644
6678
|
}
|
|
6645
6679
|
|
|
6680
|
+
.chat-agent {
|
|
6681
|
+
align-items: start;
|
|
6682
|
+
row-gap: 0.5rem;
|
|
6683
|
+
padding: 0.75rem 0;
|
|
6684
|
+
min-inline-size: 0;
|
|
6685
|
+
color: var(--color-on-surface);
|
|
6686
|
+
}
|
|
6687
|
+
|
|
6688
|
+
.chat-agent:not(:has(> .chat-avatar)) {
|
|
6689
|
+
grid-template-columns: minmax(0, 1fr);
|
|
6690
|
+
}
|
|
6691
|
+
|
|
6692
|
+
.chat-agent:not(:has(> .chat-avatar)) > * {
|
|
6693
|
+
grid-column: 1;
|
|
6694
|
+
}
|
|
6695
|
+
|
|
6696
|
+
.chat-agent .chat-avatar {
|
|
6697
|
+
grid-row: 1;
|
|
6698
|
+
}
|
|
6699
|
+
|
|
6700
|
+
.chat-content {
|
|
6701
|
+
width: 100%;
|
|
6702
|
+
min-inline-size: 0;
|
|
6703
|
+
box-sizing: border-box;
|
|
6704
|
+
color: var(--color-on-surface);
|
|
6705
|
+
font-size: 0.9375rem;
|
|
6706
|
+
line-height: 1.6;
|
|
6707
|
+
overflow-wrap: anywhere;
|
|
6708
|
+
}
|
|
6709
|
+
|
|
6710
|
+
.chat-content pre {
|
|
6711
|
+
max-inline-size: 100%;
|
|
6712
|
+
min-inline-size: 0;
|
|
6713
|
+
overflow: auto;
|
|
6714
|
+
white-space: pre;
|
|
6715
|
+
}
|
|
6716
|
+
|
|
6717
|
+
.chat-content a {
|
|
6718
|
+
overflow-wrap: anywhere;
|
|
6719
|
+
text-decoration: underline;
|
|
6720
|
+
}
|
|
6721
|
+
|
|
6722
|
+
.chat-work {
|
|
6723
|
+
width: 100%;
|
|
6724
|
+
min-inline-size: 0;
|
|
6725
|
+
border: 0;
|
|
6726
|
+
padding: 0;
|
|
6727
|
+
background: transparent;
|
|
6728
|
+
}
|
|
6729
|
+
|
|
6730
|
+
.chat-work-summary {
|
|
6731
|
+
display: flex;
|
|
6732
|
+
flex-wrap: wrap;
|
|
6733
|
+
align-items: center;
|
|
6734
|
+
gap: 0.5rem;
|
|
6735
|
+
padding: 0.5rem 0;
|
|
6736
|
+
border-block-end: 1px solid var(--color-outline-variant);
|
|
6737
|
+
color: var(--color-on-surface-variant);
|
|
6738
|
+
font-size: 0.8125rem;
|
|
6739
|
+
line-height: 1.5;
|
|
6740
|
+
overflow-wrap: anywhere;
|
|
6741
|
+
list-style: none;
|
|
6742
|
+
cursor: pointer;
|
|
6743
|
+
}
|
|
6744
|
+
|
|
6745
|
+
.chat-work-summary::-webkit-details-marker {
|
|
6746
|
+
display: none;
|
|
6747
|
+
}
|
|
6748
|
+
|
|
6749
|
+
.chat-work-summary::after {
|
|
6750
|
+
content: "›";
|
|
6751
|
+
flex-shrink: 0;
|
|
6752
|
+
}
|
|
6753
|
+
|
|
6754
|
+
.chat-work[open] > .chat-work-summary::after {
|
|
6755
|
+
transform: rotate(90deg);
|
|
6756
|
+
}
|
|
6757
|
+
|
|
6758
|
+
.chat-work-summary:focus-visible {
|
|
6759
|
+
outline: none;
|
|
6760
|
+
box-shadow: 0 0 0 3px color-mix(in oklch, currentColor 20%, transparent);
|
|
6761
|
+
}
|
|
6762
|
+
|
|
6763
|
+
.chat-work-body {
|
|
6764
|
+
display: flex;
|
|
6765
|
+
flex-direction: column;
|
|
6766
|
+
gap: 0.5rem;
|
|
6767
|
+
padding: 0.75rem 0;
|
|
6768
|
+
}
|
|
6769
|
+
|
|
6770
|
+
.chat-agent .chat-reasoning,
|
|
6771
|
+
.chat-agent .chat-tool {
|
|
6772
|
+
width: 100%;
|
|
6773
|
+
max-width: none;
|
|
6774
|
+
box-sizing: border-box;
|
|
6775
|
+
}
|
|
6776
|
+
|
|
6646
6777
|
.chat-header,
|
|
6647
6778
|
.chat-footer {
|
|
6648
6779
|
color: var(--color-on-surface-variant);
|
|
@@ -6707,6 +6838,206 @@ html {
|
|
|
6707
6838
|
}
|
|
6708
6839
|
}
|
|
6709
6840
|
|
|
6841
|
+
/** Waiting messages; the application owns dispatch, steer, and removal. */
|
|
6842
|
+
.chat-input-area {
|
|
6843
|
+
display: flex;
|
|
6844
|
+
flex-direction: column;
|
|
6845
|
+
min-inline-size: 0;
|
|
6846
|
+
box-sizing: border-box;
|
|
6847
|
+
color: var(--color-on-surface);
|
|
6848
|
+
}
|
|
6849
|
+
|
|
6850
|
+
.chat-input-area > .chat-queue {
|
|
6851
|
+
margin-inline: 0.75rem;
|
|
6852
|
+
margin-block-end: -0.5rem;
|
|
6853
|
+
padding: 0.125rem 0.5rem 0.625rem;
|
|
6854
|
+
border-block-end: 0;
|
|
6855
|
+
border-radius: var(--radius-xl) var(--radius-xl) 0 0;
|
|
6856
|
+
}
|
|
6857
|
+
|
|
6858
|
+
.chat-input-area > .chat-queue .chat-queue-header:not(.sr-only) {
|
|
6859
|
+
padding: 0.125rem 0 0.5rem;
|
|
6860
|
+
}
|
|
6861
|
+
|
|
6862
|
+
.chat-input-area > .chat-queue .chat-queue-list {
|
|
6863
|
+
padding: 0;
|
|
6864
|
+
}
|
|
6865
|
+
|
|
6866
|
+
.chat-queue {
|
|
6867
|
+
min-inline-size: 0;
|
|
6868
|
+
max-inline-size: 100%;
|
|
6869
|
+
box-sizing: border-box;
|
|
6870
|
+
border: 1px solid var(--color-outline-variant);
|
|
6871
|
+
border-radius: var(--radius-md);
|
|
6872
|
+
background-color: var(--color-surface-container-low);
|
|
6873
|
+
color: var(--color-on-surface);
|
|
6874
|
+
font-size: 0.875rem;
|
|
6875
|
+
line-height: 1.45;
|
|
6876
|
+
}
|
|
6877
|
+
|
|
6878
|
+
.chat-queue-header:not(.sr-only) {
|
|
6879
|
+
display: flex;
|
|
6880
|
+
flex-wrap: wrap;
|
|
6881
|
+
align-items: center;
|
|
6882
|
+
justify-content: space-between;
|
|
6883
|
+
gap: 0.5rem;
|
|
6884
|
+
padding: 0.625rem 0.875rem;
|
|
6885
|
+
}
|
|
6886
|
+
|
|
6887
|
+
.chat-queue-title {
|
|
6888
|
+
margin: 0;
|
|
6889
|
+
font-size: inherit;
|
|
6890
|
+
font-weight: 600;
|
|
6891
|
+
overflow-wrap: anywhere;
|
|
6892
|
+
}
|
|
6893
|
+
|
|
6894
|
+
.chat-queue-list {
|
|
6895
|
+
display: flex;
|
|
6896
|
+
flex-direction: column;
|
|
6897
|
+
gap: 0;
|
|
6898
|
+
max-block-size: 16rem;
|
|
6899
|
+
overflow-y: auto;
|
|
6900
|
+
overscroll-behavior: contain;
|
|
6901
|
+
margin: 0;
|
|
6902
|
+
padding: 0 0.875rem 0.875rem;
|
|
6903
|
+
box-sizing: border-box;
|
|
6904
|
+
list-style: none;
|
|
6905
|
+
}
|
|
6906
|
+
|
|
6907
|
+
.chat-queue-item {
|
|
6908
|
+
display: flex;
|
|
6909
|
+
flex-shrink: 0;
|
|
6910
|
+
flex-wrap: nowrap;
|
|
6911
|
+
align-items: center;
|
|
6912
|
+
gap: 0.375rem;
|
|
6913
|
+
min-inline-size: 0;
|
|
6914
|
+
max-inline-size: 100%;
|
|
6915
|
+
box-sizing: border-box;
|
|
6916
|
+
padding: 0.375rem 0.5rem;
|
|
6917
|
+
border: 0;
|
|
6918
|
+
background-color: transparent;
|
|
6919
|
+
}
|
|
6920
|
+
|
|
6921
|
+
.chat-queue-icon {
|
|
6922
|
+
flex-shrink: 0;
|
|
6923
|
+
inline-size: 1rem;
|
|
6924
|
+
block-size: 1rem;
|
|
6925
|
+
color: var(--color-on-surface-variant);
|
|
6926
|
+
}
|
|
6927
|
+
|
|
6928
|
+
.chat-queue-item-active .chat-queue-icon {
|
|
6929
|
+
color: var(--color-on-surface);
|
|
6930
|
+
}
|
|
6931
|
+
|
|
6932
|
+
.chat-queue-attachment {
|
|
6933
|
+
flex-shrink: 0;
|
|
6934
|
+
inline-size: 2rem;
|
|
6935
|
+
block-size: 2rem;
|
|
6936
|
+
object-fit: cover;
|
|
6937
|
+
border-radius: var(--radius-xs);
|
|
6938
|
+
}
|
|
6939
|
+
|
|
6940
|
+
.chat-queue-number {
|
|
6941
|
+
flex-shrink: 0;
|
|
6942
|
+
color: var(--color-on-surface-variant);
|
|
6943
|
+
font-variant-numeric: tabular-nums;
|
|
6944
|
+
}
|
|
6945
|
+
|
|
6946
|
+
.chat-queue-count {
|
|
6947
|
+
white-space: nowrap;
|
|
6948
|
+
}
|
|
6949
|
+
|
|
6950
|
+
.chat-queue-content {
|
|
6951
|
+
flex: 1 1 8rem;
|
|
6952
|
+
min-inline-size: 0;
|
|
6953
|
+
margin: 0;
|
|
6954
|
+
overflow: hidden;
|
|
6955
|
+
white-space: nowrap;
|
|
6956
|
+
text-overflow: ellipsis;
|
|
6957
|
+
}
|
|
6958
|
+
|
|
6959
|
+
.chat-queue-actions {
|
|
6960
|
+
flex-wrap: nowrap;
|
|
6961
|
+
flex-shrink: 0;
|
|
6962
|
+
margin-inline-start: auto;
|
|
6963
|
+
}
|
|
6964
|
+
|
|
6965
|
+
.chat-queue-steer,
|
|
6966
|
+
.chat-queue-remove {
|
|
6967
|
+
flex-shrink: 0;
|
|
6968
|
+
}
|
|
6969
|
+
|
|
6970
|
+
.chat-queue[hidden],
|
|
6971
|
+
.chat-queue-item[hidden] {
|
|
6972
|
+
display: none;
|
|
6973
|
+
}
|
|
6974
|
+
|
|
6975
|
+
.chat-composer {
|
|
6976
|
+
position: relative;
|
|
6977
|
+
display: flex;
|
|
6978
|
+
flex-direction: column;
|
|
6979
|
+
gap: 0.5rem;
|
|
6980
|
+
min-inline-size: 0;
|
|
6981
|
+
box-sizing: border-box;
|
|
6982
|
+
margin: 0;
|
|
6983
|
+
padding: 1rem;
|
|
6984
|
+
border: 1px solid currentColor;
|
|
6985
|
+
border-radius: var(--radius-xl);
|
|
6986
|
+
background-color: var(--color-surface-container-high);
|
|
6987
|
+
color: var(--color-on-surface);
|
|
6988
|
+
}
|
|
6989
|
+
|
|
6990
|
+
.chat-composer:focus-within {
|
|
6991
|
+
box-shadow: 0 0 0 3px color-mix(in oklch, currentColor 20%, transparent);
|
|
6992
|
+
}
|
|
6993
|
+
|
|
6994
|
+
.chat-composer-input {
|
|
6995
|
+
display: block;
|
|
6996
|
+
width: 100%;
|
|
6997
|
+
min-inline-size: 0;
|
|
6998
|
+
min-block-size: 3rem;
|
|
6999
|
+
box-sizing: border-box;
|
|
7000
|
+
margin: 0;
|
|
7001
|
+
padding: 0;
|
|
7002
|
+
border: 0;
|
|
7003
|
+
outline: none;
|
|
7004
|
+
background-color: transparent;
|
|
7005
|
+
color: var(--color-on-surface);
|
|
7006
|
+
font: inherit;
|
|
7007
|
+
font-size: 0.9375rem;
|
|
7008
|
+
line-height: 1.5;
|
|
7009
|
+
resize: vertical;
|
|
7010
|
+
}
|
|
7011
|
+
|
|
7012
|
+
.chat-composer-input::placeholder {
|
|
7013
|
+
color: var(--color-on-surface-variant);
|
|
7014
|
+
opacity: 1;
|
|
7015
|
+
}
|
|
7016
|
+
|
|
7017
|
+
.chat-composer-actions {
|
|
7018
|
+
display: flex;
|
|
7019
|
+
flex-wrap: wrap;
|
|
7020
|
+
align-items: center;
|
|
7021
|
+
justify-content: flex-end;
|
|
7022
|
+
gap: 0.5rem;
|
|
7023
|
+
}
|
|
7024
|
+
|
|
7025
|
+
.chat-composer-hint {
|
|
7026
|
+
font-family: inherit;
|
|
7027
|
+
font-size: 0.75rem;
|
|
7028
|
+
font-weight: 400;
|
|
7029
|
+
opacity: 1;
|
|
7030
|
+
}
|
|
7031
|
+
|
|
7032
|
+
.chat-composer-primary { color: var(--color-primary); }
|
|
7033
|
+
.chat-composer-secondary { color: var(--color-secondary); }
|
|
7034
|
+
.chat-composer-tertiary { color: var(--color-tertiary); }
|
|
7035
|
+
.chat-composer-info { color: var(--color-info); }
|
|
7036
|
+
.chat-composer-success { color: var(--color-success); }
|
|
7037
|
+
.chat-composer-warning { color: var(--color-warning); }
|
|
7038
|
+
.chat-composer-error { color: var(--color-error); }
|
|
7039
|
+
.chat-composer-ghost { border-color: transparent; }
|
|
7040
|
+
|
|
6710
7041
|
.chat-bubble {
|
|
6711
7042
|
--chat-bubble-bg: var(--color-surface-container-highest);
|
|
6712
7043
|
--chat-bubble-fg: var(--color-on-surface);
|
|
@@ -6732,40 +7063,29 @@ html {
|
|
|
6732
7063
|
.chat-bubble-content {
|
|
6733
7064
|
min-width: 0;
|
|
6734
7065
|
}
|
|
6735
|
-
.chat-bubble pre { max-inline-size: 100%; min-inline-size: 0; overflow: auto; white-space: pre; }
|
|
6736
|
-
.chat-bubble a { overflow-wrap: anywhere; text-decoration: underline; }
|
|
6737
7066
|
|
|
6738
|
-
.chat-
|
|
6739
|
-
|
|
6740
|
-
|
|
6741
|
-
|
|
6742
|
-
inset-block-start: 0;
|
|
6743
|
-
inline-size: 0.75rem;
|
|
6744
|
-
block-size: 0.75rem;
|
|
6745
|
-
background-color: var(--chat-bubble-bg);
|
|
6746
|
-
mask-image: radial-gradient(ellipse at 0 100%, transparent 68%, black 72%);
|
|
6747
|
-
pointer-events: none;
|
|
6748
|
-
}
|
|
6749
|
-
|
|
6750
|
-
.chat-start .chat-bubble::before {
|
|
6751
|
-
inset-inline-start: -0.5rem;
|
|
7067
|
+
.chat-bubble-collapsible > .chat-bubble-content {
|
|
7068
|
+
max-block-size: 6lh;
|
|
7069
|
+
overflow: hidden;
|
|
7070
|
+
white-space: pre-wrap;
|
|
6752
7071
|
}
|
|
6753
7072
|
|
|
6754
|
-
.chat-
|
|
6755
|
-
|
|
7073
|
+
.chat-bubble-collapsible:has(> .chat-bubble-toggle[aria-expanded="true"]) > .chat-bubble-content {
|
|
7074
|
+
max-block-size: none;
|
|
7075
|
+
overflow: visible;
|
|
6756
7076
|
}
|
|
6757
7077
|
|
|
6758
|
-
.chat-
|
|
6759
|
-
|
|
6760
|
-
|
|
7078
|
+
.chat-bubble-toggle {
|
|
7079
|
+
align-self: flex-end;
|
|
7080
|
+
color: inherit;
|
|
6761
7081
|
}
|
|
6762
7082
|
|
|
6763
|
-
.chat-
|
|
6764
|
-
|
|
7083
|
+
.chat-bubble-toggle[hidden] {
|
|
7084
|
+
display: none;
|
|
6765
7085
|
}
|
|
6766
7086
|
|
|
6767
|
-
.chat-
|
|
6768
|
-
.chat-
|
|
7087
|
+
.chat-bubble pre { max-inline-size: 100%; min-inline-size: 0; overflow: auto; white-space: pre; }
|
|
7088
|
+
.chat-bubble a { overflow-wrap: anywhere; text-decoration: underline; }
|
|
6769
7089
|
|
|
6770
7090
|
.chat-bubble-primary {
|
|
6771
7091
|
--chat-bubble-bg: var(--color-primary-container);
|
|
@@ -7035,6 +7355,7 @@ html {
|
|
|
7035
7355
|
animation-delay: 300ms;
|
|
7036
7356
|
}
|
|
7037
7357
|
|
|
7358
|
+
.chat-streaming::after,
|
|
7038
7359
|
.chat-bubble-streaming::after,
|
|
7039
7360
|
.chat-bubble-content.chat-bubble-streaming::after {
|
|
7040
7361
|
content: "";
|
|
@@ -7114,12 +7435,14 @@ html {
|
|
|
7114
7435
|
.chat-typing::before,
|
|
7115
7436
|
.chat-typing::after,
|
|
7116
7437
|
.chat-typing span,
|
|
7438
|
+
.chat-streaming::after,
|
|
7117
7439
|
.chat-bubble-streaming::after,
|
|
7118
7440
|
.chat-bubble-content.chat-bubble-streaming::after,
|
|
7119
7441
|
.chat-tool-running .chat-tool-header::before {
|
|
7120
7442
|
animation: none;
|
|
7121
7443
|
}
|
|
7122
7444
|
|
|
7445
|
+
.chat-streaming::after,
|
|
7123
7446
|
.chat-bubble-streaming::after,
|
|
7124
7447
|
.chat-bubble-content.chat-bubble-streaming::after {
|
|
7125
7448
|
opacity: 1;
|
|
@@ -22845,6 +23168,20 @@ html {
|
|
|
22845
23168
|
margin-block-end: 0.5rem;
|
|
22846
23169
|
}
|
|
22847
23170
|
|
|
23171
|
+
/* Chat prose follows the bubble; embedded surfaces keep their own color pair. */
|
|
23172
|
+
.chat-bubble .markdown-body,
|
|
23173
|
+
.chat-bubble .markdown-body :is(a, blockquote, h6, del, s, figcaption) {
|
|
23174
|
+
color: inherit;
|
|
23175
|
+
}
|
|
23176
|
+
|
|
23177
|
+
.chat-bubble .markdown-body a {
|
|
23178
|
+
text-decoration: underline;
|
|
23179
|
+
}
|
|
23180
|
+
|
|
23181
|
+
.chat-bubble .markdown-body :is(code, pre, kbd, th, tr:nth-child(2n)) {
|
|
23182
|
+
color: var(--color-on-surface);
|
|
23183
|
+
}
|
|
23184
|
+
|
|
22848
23185
|
/* ============================================
|
|
22849
23186
|
* EDGE CASES (T042-T043)
|
|
22850
23187
|
* ============================================ */
|
|
@@ -29382,19 +29719,7 @@ html {
|
|
|
29382
29719
|
width: 100%;
|
|
29383
29720
|
}
|
|
29384
29721
|
|
|
29385
|
-
/*
|
|
29386
|
-
.chat-composer {
|
|
29387
|
-
display: flex;
|
|
29388
|
-
flex-direction: column;
|
|
29389
|
-
gap: 0.625rem;
|
|
29390
|
-
min-width: 0;
|
|
29391
|
-
padding: 0.75rem;
|
|
29392
|
-
border: 1px solid var(--color-outline-variant);
|
|
29393
|
-
border-radius: var(--radius-box, 0.75rem);
|
|
29394
|
-
background: var(--color-surface);
|
|
29395
|
-
color: var(--color-on-surface);
|
|
29396
|
-
}
|
|
29397
|
-
|
|
29722
|
+
/* The controlled helper retains its bounded editor; Core owns composer presentation. */
|
|
29398
29723
|
.chat-composer .chat-composer-editor {
|
|
29399
29724
|
box-sizing: border-box;
|
|
29400
29725
|
width: 100%;
|
|
@@ -29404,7 +29729,6 @@ html {
|
|
|
29404
29729
|
line-height: 1.5rem;
|
|
29405
29730
|
}
|
|
29406
29731
|
|
|
29407
|
-
.chat-composer-actions,
|
|
29408
29732
|
.chat-composer-attachments {
|
|
29409
29733
|
display: flex;
|
|
29410
29734
|
align-items: center;
|
|
@@ -29470,6 +29794,6 @@ html {
|
|
|
29470
29794
|
font-size: 0.875rem;
|
|
29471
29795
|
}
|
|
29472
29796
|
|
|
29473
|
-
.chat-composer-error {
|
|
29797
|
+
.chat-composer .chat-composer-error {
|
|
29474
29798
|
color: var(--color-error);
|
|
29475
29799
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@duskmoon-dev/components",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.js",
|
|
@@ -472,7 +472,7 @@
|
|
|
472
472
|
}
|
|
473
473
|
],
|
|
474
474
|
"peerDependencies": {
|
|
475
|
-
"@duskmoon-dev/core": ">=1.20.
|
|
475
|
+
"@duskmoon-dev/core": ">=1.20.6",
|
|
476
476
|
"react": ">=19.0.0",
|
|
477
477
|
"react-dom": ">=19.0.0"
|
|
478
478
|
},
|
|
@@ -485,7 +485,7 @@
|
|
|
485
485
|
"ajv-formats": "^3.0.1"
|
|
486
486
|
},
|
|
487
487
|
"devDependencies": {
|
|
488
|
-
"@duskmoon-dev/core": "1.20.
|
|
488
|
+
"@duskmoon-dev/core": "1.20.7",
|
|
489
489
|
"@testing-library/react": "16.3.2",
|
|
490
490
|
"@types/react": "19.2.18",
|
|
491
491
|
"@types/react-dom": "19.2.4",
|