@jupyter/chat 0.20.0-alpha.2 → 0.20.0-alpha.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/style/base.css CHANGED
@@ -11,4 +11,5 @@
11
11
 
12
12
  @import url('./chat.css');
13
13
  @import url('./chat-settings.css');
14
+ @import url('./chat-selector.css');
14
15
  @import url('./input.css');
@@ -0,0 +1,161 @@
1
+ /*
2
+ * Copyright (c) Jupyter Development Team.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+
6
+ /* Chat search input in toolbar */
7
+ .jp-chat-search-input {
8
+ padding: 4px 8px;
9
+ border: 1px solid var(--jp-border-color1);
10
+ border-radius: 3px;
11
+ background: var(--jp-layout-color1);
12
+ color: var(--jp-ui-font-color1);
13
+ font-size: var(--jp-ui-font-size1);
14
+ min-width: 150px;
15
+ outline: none;
16
+ }
17
+
18
+ .jp-chat-search-input:focus {
19
+ border-color: var(--jp-brand-color1);
20
+ box-shadow: inset 0 0 0 1px var(--jp-brand-color1);
21
+ }
22
+
23
+ .jp-chat-search-input::placeholder {
24
+ color: var(--jp-ui-font-color2);
25
+ }
26
+
27
+ /* Chat selector popup */
28
+ .jp-chat-selector-popup {
29
+ background: var(--jp-layout-color1);
30
+ border: 1px solid var(--jp-border-color1);
31
+ border-radius: 4px;
32
+ box-shadow: 0 4px 12px rgb(0 0 0 / 15%);
33
+ overflow: hidden;
34
+ display: flex;
35
+ flex-direction: column;
36
+ z-index: 10;
37
+ position: fixed;
38
+ min-width: 150px;
39
+ max-width: 300px;
40
+ max-height: 400px;
41
+ }
42
+
43
+ /* Popup list container */
44
+ .jp-chat-selector-popup-list {
45
+ list-style: none;
46
+ margin: 0;
47
+ padding: 4px 0;
48
+ overflow-y: auto;
49
+ max-height: 400px;
50
+ }
51
+
52
+ /* Popup list item */
53
+ .jp-chat-selector-popup-item {
54
+ padding: 8px 12px;
55
+ cursor: pointer;
56
+ transition: background-color 0.1s ease;
57
+ }
58
+
59
+ .jp-chat-selector-popup-item:hover {
60
+ background: var(--jp-layout-color2);
61
+ }
62
+
63
+ .jp-chat-selector-popup-item-active {
64
+ background: var(--jp-brand-color1);
65
+ color: var(--jp-ui-inverse-font-color1);
66
+ }
67
+
68
+ .jp-chat-selector-popup-item-active:hover {
69
+ background: var(--jp-brand-color1);
70
+ }
71
+
72
+ /* Item content layout */
73
+ .jp-chat-selector-popup-item-content {
74
+ display: flex;
75
+ align-items: center;
76
+ justify-content: space-between;
77
+ gap: 8px;
78
+ min-height: 32px;
79
+ }
80
+
81
+ .jp-chat-selector-popup-item-text {
82
+ display: flex;
83
+ flex-direction: column;
84
+ gap: 2px;
85
+ flex: 1;
86
+ min-width: 0;
87
+ }
88
+
89
+ /* Item label (chat name) */
90
+ .jp-chat-selector-popup-item-label {
91
+ font-size: var(--jp-ui-font-size1);
92
+ font-weight: 500;
93
+ display: flex;
94
+ align-items: center;
95
+ gap: 6px;
96
+ min-width: 0;
97
+ }
98
+
99
+ .jp-chat-selector-popup-item-name {
100
+ overflow: hidden;
101
+ text-overflow: ellipsis;
102
+ white-space: nowrap;
103
+ flex: 1;
104
+ min-width: 0;
105
+ }
106
+
107
+ /* Cached indicator (bullet) */
108
+ .jp-chat-selector-popup-item-indicator {
109
+ font-size: 8px;
110
+ color: var(--jp-brand-color1);
111
+ line-height: 1;
112
+ }
113
+
114
+ .jp-chat-selector-popup-item-active .jp-chat-selector-popup-item-indicator {
115
+ color: var(--jp-layout-color3);
116
+ }
117
+
118
+ /* Close button */
119
+ .jp-chat-selector-popup-item-close:hover {
120
+ background: var(--jp-layout-color3);
121
+ color: var(--jp-ui-font-color0);
122
+ }
123
+
124
+ .jp-chat-selector-popup-item-active
125
+ .jp-chat-selector-popup-item-close
126
+ .jp-icon3[fill] {
127
+ fill: var(--jp-layout-color3);
128
+ opacity: 0.8;
129
+ }
130
+
131
+ .jp-chat-selector-popup-item-active .jp-chat-selector-popup-item-close:hover {
132
+ background: rgb(0 0 0 / 20%);
133
+ opacity: 1;
134
+ }
135
+
136
+ /* Empty state */
137
+ .jp-chat-selector-popup-empty {
138
+ padding: 12px;
139
+ text-align: center;
140
+ color: var(--jp-ui-font-color2);
141
+ font-style: italic;
142
+ font-size: var(--jp-ui-font-size1);
143
+ }
144
+
145
+ /* Scrollbar styling for the list */
146
+ .jp-chat-selector-popup-list::-webkit-scrollbar {
147
+ width: 8px;
148
+ }
149
+
150
+ .jp-chat-selector-popup-list::-webkit-scrollbar-track {
151
+ background: var(--jp-layout-color1);
152
+ }
153
+
154
+ .jp-chat-selector-popup-list::-webkit-scrollbar-thumb {
155
+ background: var(--jp-scrollbar-thumb-color);
156
+ border-radius: 4px;
157
+ }
158
+
159
+ .jp-chat-selector-popup-list::-webkit-scrollbar-thumb:hover {
160
+ background: var(--jp-scrollbar-thumb-hover-color);
161
+ }
package/style/chat.css CHANGED
@@ -3,6 +3,11 @@
3
3
  * Distributed under the terms of the Modified BSD License.
4
4
  */
5
5
 
6
+ .jp-chat-widget {
7
+ min-height: 0;
8
+ flex-grow: 1;
9
+ }
10
+
6
11
  .jp-chat-message-container {
7
12
  position: relative;
8
13
  }
@@ -118,6 +123,33 @@
118
123
  max-width: fit-content;
119
124
  }
120
125
 
121
- .jp-AccordionPanel-title .jp-chat-section-toolbar {
122
- flex: 0 0 auto;
126
+ /* Sidepanel styles */
127
+ .jp-chat-sidepanel {
128
+ display: flex;
129
+ flex-direction: column;
130
+ }
131
+
132
+ .jp-chat-sidepanel .jp-chat-add svg path.jp-icon3 {
133
+ stroke: var(--jp-inverse-layout-color3);
134
+ stroke-width: 2;
135
+ }
136
+
137
+ .jp-chat-sidepanel-widget {
138
+ min-height: 0;
139
+ display: flex;
140
+ flex-direction: column;
141
+ flex-grow: 1;
142
+ }
143
+
144
+ .jp-chat-sidepanel-widget-toolbar > .jp-chat-sidepanel-widget-title {
145
+ display: block;
146
+ align-content: center;
147
+ flex: 1 1 0%;
148
+ min-width: 0;
149
+ overflow: hidden;
150
+ text-overflow: ellipsis;
151
+ text-transform: uppercase;
152
+ color: var(--jp-ui-font-color1);
153
+ font-size: var(--jp-ui-font-size0);
154
+ font-weight: bold;
123
155
  }