@genexus/genexus-ide-ui 1.1.32 → 1.1.34
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/dist/cjs/genexus-ide-ui.cjs.js +1 -1
- package/dist/cjs/gx-ide-chat-container_2.cjs.entry.js +9 -2
- package/dist/cjs/gx-ide-chat-container_2.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-new-environment.cjs.entry.js +11 -2
- package/dist/cjs/gx-ide-new-environment.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js +30 -10
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-sc-chat-container.cjs.entry.js +2 -1
- package/dist/cjs/gx-ide-sc-chat-container.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-sign-in-team.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-sign-in-team.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/chat/chat-container/chat-container.js +10 -2
- package/dist/collection/components/chat/chat-container/chat-container.js.map +1 -1
- package/dist/collection/components/chat/chat-container/gx-ide-assets/chat-container/chat-lit.css +376 -0
- package/dist/collection/components/chat/chat-welcome/chat-welcome.js +0 -1
- package/dist/collection/components/chat/chat-welcome/chat-welcome.js.map +1 -1
- package/dist/collection/components/new-environment/new-environment.js +33 -3
- package/dist/collection/components/new-environment/new-environment.js.map +1 -1
- package/dist/collection/components/new-kb/new-kb.js +55 -14
- package/dist/collection/components/new-kb/new-kb.js.map +1 -1
- package/dist/collection/components/new-kb/tests/new-kb.e2e.js +10 -1
- package/dist/collection/components/new-kb/tests/new-kb.e2e.js.map +1 -1
- package/dist/collection/components/sign-in-team/sign-in-team.css +1 -2
- package/dist/collection/showcase/chat-container/chat.showcase.js +2 -1
- package/dist/collection/showcase/chat-container/chat.showcase.js.map +1 -1
- package/dist/components/chat-container.js +10 -2
- package/dist/components/chat-container.js.map +1 -1
- package/dist/components/chat-welcome.js +0 -1
- package/dist/components/chat-welcome.js.map +1 -1
- package/dist/components/gx-ide-new-environment.js +13 -3
- package/dist/components/gx-ide-new-environment.js.map +1 -1
- package/dist/components/gx-ide-new-kb.js +34 -13
- package/dist/components/gx-ide-new-kb.js.map +1 -1
- package/dist/components/gx-ide-sc-chat-container.js +2 -1
- package/dist/components/gx-ide-sc-chat-container.js.map +1 -1
- package/dist/components/gx-ide-sign-in-team.js +1 -1
- package/dist/components/gx-ide-sign-in-team.js.map +1 -1
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/gx-ide-chat-container_2.entry.js +10 -3
- package/dist/esm/gx-ide-chat-container_2.entry.js.map +1 -1
- package/dist/esm/gx-ide-new-environment.entry.js +11 -2
- package/dist/esm/gx-ide-new-environment.entry.js.map +1 -1
- package/dist/esm/gx-ide-new-kb.entry.js +31 -11
- package/dist/esm/gx-ide-new-kb.entry.js.map +1 -1
- package/dist/esm/gx-ide-sc-chat-container.entry.js +2 -1
- package/dist/esm/gx-ide-sc-chat-container.entry.js.map +1 -1
- package/dist/esm/gx-ide-sign-in-team.entry.js +1 -1
- package/dist/esm/gx-ide-sign-in-team.entry.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
- package/dist/genexus-ide-ui/gx-ide-assets/chat-container/chat-lit.css +376 -0
- package/dist/genexus-ide-ui/{p-61343e93.entry.js → p-203f0417.entry.js} +8 -8
- package/dist/genexus-ide-ui/p-203f0417.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-ec9e0915.entry.js → p-4da77239.entry.js} +228 -209
- package/dist/genexus-ide-ui/p-4da77239.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-137130ad.entry.js → p-8d6f2b4f.entry.js} +4 -2
- package/dist/genexus-ide-ui/{p-137130ad.entry.js.map → p-8d6f2b4f.entry.js.map} +1 -1
- package/dist/genexus-ide-ui/{p-1477d49a.entry.js → p-9270c80f.entry.js} +102 -90
- package/dist/genexus-ide-ui/p-9270c80f.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-8d570fd2.entry.js → p-bf176329.entry.js} +60 -50
- package/dist/genexus-ide-ui/p-bf176329.entry.js.map +1 -0
- package/dist/types/components/new-environment/new-environment.d.ts +6 -1
- package/dist/types/components/new-kb/new-kb.d.ts +7 -2
- package/dist/types/components.d.ts +28 -12
- package/package.json +3 -3
- package/dist/genexus-ide-ui/p-1477d49a.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-61343e93.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-8d570fd2.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-ec9e0915.entry.js.map +0 -1
|
@@ -0,0 +1,376 @@
|
|
|
1
|
+
.chat-lit::part(header__time assistant),
|
|
2
|
+
.chat-lit::part(send-input),
|
|
3
|
+
.chat-lit::part(assistant content waiting),
|
|
4
|
+
.chat-lit::part(send-button),
|
|
5
|
+
.chat-lit::part(stop-generating-answer-button) {
|
|
6
|
+
line-height: var(--line-height-tight);
|
|
7
|
+
}
|
|
8
|
+
.chat-lit::part(send-input),
|
|
9
|
+
.chat-lit::part(send-button),
|
|
10
|
+
.chat-lit::part(stop-generating-answer-button) {
|
|
11
|
+
font-size: var(--font-size-body-m);
|
|
12
|
+
}
|
|
13
|
+
.chat-lit::part(header__time assistant),
|
|
14
|
+
.chat-lit::part(assistant content waiting) {
|
|
15
|
+
font-size: var(--font-size-body-s);
|
|
16
|
+
}
|
|
17
|
+
.chat-lit::part(send-input) {
|
|
18
|
+
font-weight: var(--font-weight-regular);
|
|
19
|
+
}
|
|
20
|
+
.chat-lit::part(message),
|
|
21
|
+
.chat-lit::part(assistant copy-message-content) {
|
|
22
|
+
font-size: var(--font-size-body-m);
|
|
23
|
+
line-height: var(--line-height-tight);
|
|
24
|
+
font-weight: var(--font-weight-regular);
|
|
25
|
+
}
|
|
26
|
+
.chat-lit::part(send-button),
|
|
27
|
+
.chat-lit::part(stop-generating-answer-button) {
|
|
28
|
+
font-weight: var(--font-weight-semi-bold);
|
|
29
|
+
}
|
|
30
|
+
.chat-lit::part(header__time assistant),
|
|
31
|
+
.chat-lit::part(assistant content waiting) {
|
|
32
|
+
font-weight: var(--font-weight-regular);
|
|
33
|
+
font-style: italic;
|
|
34
|
+
}
|
|
35
|
+
.chat-lit::part(assistant copy-message-content),
|
|
36
|
+
.chat-lit::part(send-button),
|
|
37
|
+
.chat-lit::part(stop-generating-answer-button) {
|
|
38
|
+
display: inline-grid;
|
|
39
|
+
grid-auto-flow: column;
|
|
40
|
+
grid-auto-columns: max-content;
|
|
41
|
+
justify-content: center;
|
|
42
|
+
border-width: var(--control__border-width);
|
|
43
|
+
border-style: var(--control__border-style);
|
|
44
|
+
border-color: var(--control__border-color);
|
|
45
|
+
border-radius: var(--control__border-radius);
|
|
46
|
+
padding-block: var(--control__padding-block);
|
|
47
|
+
padding-inline: var(--control__padding-inline);
|
|
48
|
+
box-sizing: border-box;
|
|
49
|
+
background-color: var(--button-background-color);
|
|
50
|
+
color: var(--button-color);
|
|
51
|
+
}
|
|
52
|
+
.chat-lit::part(assistant copy-message-content):focus-visible,
|
|
53
|
+
.chat-lit::part(send-button):focus-visible,
|
|
54
|
+
.chat-lit::part(stop-generating-answer-button):focus-visible {
|
|
55
|
+
outline: var(--focus__outline-width) var(--focus__outline-style)
|
|
56
|
+
var(--focus__outline-color);
|
|
57
|
+
outline-offset: var(--focus__outline-offset);
|
|
58
|
+
}
|
|
59
|
+
.chat-lit::part(send-button),
|
|
60
|
+
.chat-lit::part(stop-generating-answer-button) {
|
|
61
|
+
--button-background-color: transparent;
|
|
62
|
+
--control__border-color: var(--button-color);
|
|
63
|
+
--button-color: var(--mer-text__neutral);
|
|
64
|
+
--button-color--enabled: var(--mer-text__neutral);
|
|
65
|
+
--button-color--active: var(--mer-text__on-primary--active);
|
|
66
|
+
}
|
|
67
|
+
.chat-lit::part(send-button):hover,
|
|
68
|
+
.chat-lit::part(stop-generating-answer-button):hover {
|
|
69
|
+
--button-color: var(--mer-text__primary--hover);
|
|
70
|
+
}
|
|
71
|
+
.chat-lit::part(send-button):active,
|
|
72
|
+
.chat-lit::part(stop-generating-answer-button):active {
|
|
73
|
+
--control__border-color: var(--mer-border-color__primary--active);
|
|
74
|
+
--button-color: var(--button-color--active);
|
|
75
|
+
}
|
|
76
|
+
.chat-lit::part(send-button):disabled,
|
|
77
|
+
.chat-lit::part(stop-generating-answer-button):disabled {
|
|
78
|
+
--button-color: var(--mer-text__on-disabled);
|
|
79
|
+
}
|
|
80
|
+
.chat-lit::part(assistant copy-message-content) {
|
|
81
|
+
--button-background-color: transparent;
|
|
82
|
+
--control__border-color: transparent;
|
|
83
|
+
--button-color: var(--mer-text__primary);
|
|
84
|
+
}
|
|
85
|
+
.chat-lit::part(assistant copy-message-content):hover {
|
|
86
|
+
--button-color: var(--mer-text__primary--hover);
|
|
87
|
+
}
|
|
88
|
+
.chat-lit::part(assistant copy-message-content):active {
|
|
89
|
+
--button-color: var(--mer-text__primary--active);
|
|
90
|
+
}
|
|
91
|
+
.chat-lit::part(assistant copy-message-content):disabled {
|
|
92
|
+
--button-color: var(--mer-text__on-disabled);
|
|
93
|
+
}
|
|
94
|
+
.chat-lit::part(assistant copy-message-content),
|
|
95
|
+
.chat-lit::part(send-button),
|
|
96
|
+
.chat-lit::part(stop-generating-answer-button) {
|
|
97
|
+
padding: calc(
|
|
98
|
+
(
|
|
99
|
+
var(--control__block-size) - 2 * var(--control__border-width) -
|
|
100
|
+
var(--mer-icon__box--md)
|
|
101
|
+
) /
|
|
102
|
+
2
|
|
103
|
+
);
|
|
104
|
+
border-width: var(--control__border-width);
|
|
105
|
+
border-style: var(--control__border-style);
|
|
106
|
+
border-color: var(--control__border-color);
|
|
107
|
+
border-radius: var(--control__border-radius);
|
|
108
|
+
}
|
|
109
|
+
.chat-lit::part(send-input) {
|
|
110
|
+
--ch-edit-gap: var(--control__icon-gap);
|
|
111
|
+
--ch-edit__image-size: var(--mer-icon__box--md);
|
|
112
|
+
--ch-placeholder-color: var(--mer-color__neutral-gray--400);
|
|
113
|
+
border-width: var(--control__border-width);
|
|
114
|
+
border-style: var(--control__border-style);
|
|
115
|
+
border-color: var(--control__border-color);
|
|
116
|
+
border-radius: var(--control__border-radius);
|
|
117
|
+
background-color: var(--control__bg-color);
|
|
118
|
+
color: var(--control__color);
|
|
119
|
+
--ch-placeholder-color: var(--control-placeholder__color);
|
|
120
|
+
padding-block: var(--control__padding-block);
|
|
121
|
+
padding-inline: var(--control__padding-inline);
|
|
122
|
+
}
|
|
123
|
+
.chat-lit::part(send-input):focus {
|
|
124
|
+
outline: var(--focus__outline-width) var(--focus__outline-style)
|
|
125
|
+
var(--focus__outline-color);
|
|
126
|
+
outline-offset: var(--focus__outline-offset);
|
|
127
|
+
}
|
|
128
|
+
.chat-lit::part(send-input):hover {
|
|
129
|
+
--control__border-color: var(--control__border-color--hover);
|
|
130
|
+
}
|
|
131
|
+
.chat-lit {
|
|
132
|
+
--button-block-size: 31px;
|
|
133
|
+
--button-margin-block: var(--mer-spacing--md);
|
|
134
|
+
--font-weight-regular: 100;
|
|
135
|
+
--line-height-tight: 1.4;
|
|
136
|
+
--send-input-block-padding: 16px;
|
|
137
|
+
--send-input-inline-start-padding: 10px;
|
|
138
|
+
--send-input-inline-end-padding: 10px;
|
|
139
|
+
--send-input-inline-size: 32px;
|
|
140
|
+
}
|
|
141
|
+
.chat-lit::part(messages-container) {
|
|
142
|
+
gap: var(--mer-spacing--md);
|
|
143
|
+
padding: var(--mer-spacing--md);
|
|
144
|
+
}
|
|
145
|
+
.chat-lit-with-file-upload {
|
|
146
|
+
--send-input-block-padding: 10px;
|
|
147
|
+
--send-input-inline-start-padding: 2px;
|
|
148
|
+
}
|
|
149
|
+
.chat-lit-with-file-upload::part(send-input) {
|
|
150
|
+
grid-template: "file-upload-menu ch-edit-content live-audio-button" 1fr / max-content 1fr max-content;
|
|
151
|
+
}
|
|
152
|
+
.chat-lit-with-file-viewer::part(send-input) {
|
|
153
|
+
grid-template: "file-upload-menu ch-edit-content live-audio-button" 1fr "file-viewer file-viewer file-viewer" max-content/max-content 1fr;
|
|
154
|
+
}
|
|
155
|
+
.chat-lit::part(message) {
|
|
156
|
+
--message-content-border-color: transparent;
|
|
157
|
+
--time-display: initial;
|
|
158
|
+
color: var(--mer-color__neutral-gray--100);
|
|
159
|
+
}
|
|
160
|
+
.chat-lit::part(message user) {
|
|
161
|
+
background-color: var(--mer-color__chat-message--user);
|
|
162
|
+
max-inline-size: 90%;
|
|
163
|
+
justify-self: end;
|
|
164
|
+
}
|
|
165
|
+
.chat-lit::part(message user),
|
|
166
|
+
.chat-lit::part(error content),
|
|
167
|
+
.chat-lit::part(assistant content warning),
|
|
168
|
+
.chat-lit::part(assistant content success) {
|
|
169
|
+
padding: var(--mer-spacing--sm);
|
|
170
|
+
border-radius: var(--mer-border__radius--sm);
|
|
171
|
+
}
|
|
172
|
+
.chat-lit::part(assistant copy-message-content)::before {
|
|
173
|
+
--button-icon: var(--icon__system_copy_primary--enabled);
|
|
174
|
+
content: "";
|
|
175
|
+
inline-size: var(--mer-icon__box--md);
|
|
176
|
+
block-size: var(--mer-icon__box--md);
|
|
177
|
+
content: "";
|
|
178
|
+
display: grid;
|
|
179
|
+
-webkit-mask: no-repeat center/100% var(--button-icon);
|
|
180
|
+
background-color: currentColor;
|
|
181
|
+
}
|
|
182
|
+
.chat-lit::part(assistant copy-message-content copying)::before {
|
|
183
|
+
--button-icon: var(--icon__system_check_on-elevation--enabled);
|
|
184
|
+
}
|
|
185
|
+
.chat-lit::part(header assistant) {
|
|
186
|
+
align-items: center;
|
|
187
|
+
display: flex;
|
|
188
|
+
font-size: 12px;
|
|
189
|
+
justify-content: space-between;
|
|
190
|
+
margin-block-end: var(--mer-spacing--sm);
|
|
191
|
+
}
|
|
192
|
+
.chat-lit::part(header__start assistant) {
|
|
193
|
+
align-items: center;
|
|
194
|
+
display: flex;
|
|
195
|
+
gap: var(--mer-spacing--xs);
|
|
196
|
+
}
|
|
197
|
+
.chat-lit::part(header__avatar-container assistant) {
|
|
198
|
+
position: relative;
|
|
199
|
+
inline-size: 26px;
|
|
200
|
+
block-size: 26px;
|
|
201
|
+
display: flex;
|
|
202
|
+
align-items: center;
|
|
203
|
+
justify-content: center;
|
|
204
|
+
}
|
|
205
|
+
.chat-lit::part(header__avatar-border assistant) {
|
|
206
|
+
position: absolute;
|
|
207
|
+
overflow: hidden;
|
|
208
|
+
inline-size: 100%;
|
|
209
|
+
block-size: 100%;
|
|
210
|
+
background: linear-gradient(
|
|
211
|
+
90deg,
|
|
212
|
+
var(
|
|
213
|
+
--chat-avatar-border-color-from,
|
|
214
|
+
var(--mer-color__chat-avatar-circle-from)
|
|
215
|
+
)
|
|
216
|
+
0%,
|
|
217
|
+
var(--chat-avatar-border-color-to, var(--mer-color__chat-avatar-circle-to))
|
|
218
|
+
100%
|
|
219
|
+
);
|
|
220
|
+
border-radius: 50%;
|
|
221
|
+
-webkit-mask-image: radial-gradient(
|
|
222
|
+
circle 12px at center,
|
|
223
|
+
transparent 98%,
|
|
224
|
+
black 100%
|
|
225
|
+
);
|
|
226
|
+
mask-image: radial-gradient(
|
|
227
|
+
circle 12px at center,
|
|
228
|
+
transparent 98%,
|
|
229
|
+
black 100%
|
|
230
|
+
);
|
|
231
|
+
}
|
|
232
|
+
.chat-lit::part(header__avatar-image assistant) {
|
|
233
|
+
position: absolute;
|
|
234
|
+
display: block;
|
|
235
|
+
width: calc(100% - 6px);
|
|
236
|
+
height: calc(100% - 6px);
|
|
237
|
+
border-radius: 50%;
|
|
238
|
+
background-image: var(--icon__system_assistant-fill_primary--active);
|
|
239
|
+
background-color: var(
|
|
240
|
+
--chat-avatar-background-color,
|
|
241
|
+
var(--mer-color__primary--300)
|
|
242
|
+
);
|
|
243
|
+
background-size: 80%;
|
|
244
|
+
background-repeat: no-repeat;
|
|
245
|
+
background-position: center center;
|
|
246
|
+
}
|
|
247
|
+
.chat-lit::part(header__role assistant) {
|
|
248
|
+
display: inline-grid;
|
|
249
|
+
gap: 6px;
|
|
250
|
+
grid-template-columns: max-content max-content;
|
|
251
|
+
}
|
|
252
|
+
.chat-lit::part(header__role assistant)::before {
|
|
253
|
+
align-self: center;
|
|
254
|
+
background-color: currentColor;
|
|
255
|
+
block-size: var(--mer-spacing--2xs);
|
|
256
|
+
border-radius: 50%;
|
|
257
|
+
content: "";
|
|
258
|
+
display: grid;
|
|
259
|
+
inline-size: var(--mer-spacing--2xs);
|
|
260
|
+
justify-self: flex-end;
|
|
261
|
+
}
|
|
262
|
+
.chat-lit::part(header__time assistant) {
|
|
263
|
+
display: var(--time-display);
|
|
264
|
+
color: var(--mer-text__complementary);
|
|
265
|
+
}
|
|
266
|
+
.chat-lit::part(error content),
|
|
267
|
+
.chat-lit::part(assistant content warning),
|
|
268
|
+
.chat-lit::part(assistant content success) {
|
|
269
|
+
display: grid;
|
|
270
|
+
grid-template-columns: max-content 1fr;
|
|
271
|
+
gap: var(--mer-spacing--sm);
|
|
272
|
+
align-items: center;
|
|
273
|
+
}
|
|
274
|
+
.chat-lit::part(error content)::before,
|
|
275
|
+
.chat-lit::part(assistant content warning)::before,
|
|
276
|
+
.chat-lit::part(assistant content success)::before {
|
|
277
|
+
block-size: var(--mer-spacing--md);
|
|
278
|
+
content: "";
|
|
279
|
+
display: grid;
|
|
280
|
+
inline-size: var(--mer-spacing--md);
|
|
281
|
+
justify-self: flex-end;
|
|
282
|
+
background: var(--chat-message-icon) no-repeat center center/contain;
|
|
283
|
+
}
|
|
284
|
+
.chat-lit::part(error content) {
|
|
285
|
+
background-color: var(--mer-color__chat-message--error);
|
|
286
|
+
--chat-message-icon: var(--icon__system_warning_error--enabled);
|
|
287
|
+
}
|
|
288
|
+
.chat-lit::part(assistant content warning) {
|
|
289
|
+
background-color: var(--mer-color__chat-message--warning);
|
|
290
|
+
--chat-message-icon: var(--icon__system_warning_warning--enabled);
|
|
291
|
+
}
|
|
292
|
+
.chat-lit::part(assistant content success) {
|
|
293
|
+
background-color: var(--mer-color__chat-message--success);
|
|
294
|
+
--chat-message-icon: var(--icon__system_check_success--enabled);
|
|
295
|
+
}
|
|
296
|
+
.chat-lit::part(assistant content waiting) {
|
|
297
|
+
display: flex;
|
|
298
|
+
gap: var(--mer-spacing--xs);
|
|
299
|
+
}
|
|
300
|
+
.chat-lit::part(send-container) {
|
|
301
|
+
background-color: var(--mer-surface__elevation--02);
|
|
302
|
+
border-radius: var(--mer-spacing--2xs);
|
|
303
|
+
position: relative;
|
|
304
|
+
margin: var(--mer-spacing--md);
|
|
305
|
+
}
|
|
306
|
+
.chat-lit::part(send-input-wrapper) {
|
|
307
|
+
position: relative;
|
|
308
|
+
}
|
|
309
|
+
.chat-lit::part(send-input) {
|
|
310
|
+
--ch-edit-gap: var(--control__icon-gap);
|
|
311
|
+
--ch-edit__image-size: var(--mer-icon__box--md);
|
|
312
|
+
--ch-placeholder-color: var(--control-placeholder__color);
|
|
313
|
+
border-width: 0 !important;
|
|
314
|
+
background-color: rgba(0, 0, 0, 0) !important;
|
|
315
|
+
border-color: var(--mer-color__neutral-gray--900);
|
|
316
|
+
border-radius: var(--control__border-radius);
|
|
317
|
+
border-style: var(--control__border-style);
|
|
318
|
+
color: var(--control__color);
|
|
319
|
+
padding-block: var(--send-input-block-padding);
|
|
320
|
+
padding-inline-start: var(--send-input-inline-start-padding);
|
|
321
|
+
padding-inline-end: calc(
|
|
322
|
+
var(--send-input-inline-end-padding) * 2 + var(--send-input-inline-size)
|
|
323
|
+
);
|
|
324
|
+
}
|
|
325
|
+
.chat-lit::part(send-input):hover {
|
|
326
|
+
--control__border-color: var(--control__border-color--hover);
|
|
327
|
+
}
|
|
328
|
+
.chat-lit::part(send-input):focus {
|
|
329
|
+
outline: var(--focus__outline-width) var(--focus__outline-style)
|
|
330
|
+
var(--focus__outline-color);
|
|
331
|
+
outline-offset: var(--focus__outline-offset);
|
|
332
|
+
}
|
|
333
|
+
.chat-lit::part(send-button),
|
|
334
|
+
.chat-lit::part(stop-generating-answer-button) {
|
|
335
|
+
position: absolute;
|
|
336
|
+
inset-inline-end: var(--send-input-inline-end-padding);
|
|
337
|
+
inset-block-end: var(--send-input-inline-end-padding);
|
|
338
|
+
}
|
|
339
|
+
.chat-lit::part(send-button) {
|
|
340
|
+
--icon-path: var(--icon__system_send_neutral--enabled);
|
|
341
|
+
z-index: 1;
|
|
342
|
+
}
|
|
343
|
+
.chat-lit::part(send-button):hover {
|
|
344
|
+
--icon-path: var(--icon__system_send_neutral--hover);
|
|
345
|
+
}
|
|
346
|
+
.chat-lit::part(send-button):active {
|
|
347
|
+
--icon-path: var(--icon__system_send_neutral--active);
|
|
348
|
+
}
|
|
349
|
+
.chat-lit::part(stop-generating-answer-button) {
|
|
350
|
+
--icon-path: var(--icon__system_cancel-circle_neutral--enabled);
|
|
351
|
+
font-size: 0 !important;
|
|
352
|
+
background-color: var(--mer-surface__elevation--02);
|
|
353
|
+
z-index: 2;
|
|
354
|
+
}
|
|
355
|
+
.chat-lit::part(stop-generating-answer-button):hover {
|
|
356
|
+
--icon-path: var(--icon__system_cancel-circle_neutral--hover);
|
|
357
|
+
}
|
|
358
|
+
.chat-lit::part(stop-generating-answer-button):active {
|
|
359
|
+
--icon-path: var(--icon__system_cancel-circle_neutral--active);
|
|
360
|
+
}
|
|
361
|
+
.chat-lit::part(send-button)::before,
|
|
362
|
+
.chat-lit::part(stop-generating-answer-button)::before {
|
|
363
|
+
content: "";
|
|
364
|
+
display: inline-block;
|
|
365
|
+
inline-size: var(--mer-icon__box--md);
|
|
366
|
+
block-size: var(--mer-icon__box--md);
|
|
367
|
+
background: no-repeat center/var(--mer-icon__size--md) var(--icon-path);
|
|
368
|
+
}
|
|
369
|
+
@keyframes spin {
|
|
370
|
+
0% {
|
|
371
|
+
transform: rotate(0deg);
|
|
372
|
+
}
|
|
373
|
+
100% {
|
|
374
|
+
transform: rotate(360deg);
|
|
375
|
+
}
|
|
376
|
+
}
|
|
@@ -12,7 +12,7 @@ const mapTeamsToComboBoxItemModel = e => {
|
|
|
12
12
|
})));
|
|
13
13
|
};
|
|
14
14
|
|
|
15
|
-
const r = ":host {\n display: grid;\n container-type: inline-size;\n container-name: host-container;\n block-size: 100%;\n inline-size: 100%;\n align-items: center;\n justify-content: center;\n
|
|
15
|
+
const r = ":host {\n display: grid;\n container-type: inline-size;\n container-name: host-container;\n block-size: 100%;\n inline-size: 100%;\n align-items: center;\n justify-content: center;\n}\n\n.slide {\n display: grid;\n grid-template-columns: 1fr 1fr;\n block-size: 100%;\n max-block-size: 700px;\n max-inline-size: 1100px;\n background-color: var(--mer-surface__elevation--01);\n border-radius: var(--dialog-border-radius, var(--mer-spacing--md));\n overflow: hidden;\n}\n.slide__illustration {\n overflow: hidden;\n object-fit: cover;\n object-position: left;\n block-size: 100%;\n inline-size: 100%;\n}\n.slide__main {\n display: grid;\n block-size: 100%;\n inline-size: 100%;\n padding: var(--mer-spacing--3xl);\n transform: translateY(var(--mer-spacing--2xs));\n transition: var(--switch-step-transtion-time) all;\n opacity: 0;\n}\n.slide__main--visible {\n transform: translateY(0);\n opacity: 1;\n}\n.slide__main-container {\n display: grid;\n place-self: center;\n gap: var(--mer-spacing--lg);\n max-inline-size: 480px;\n}\n.slide__main-header {\n display: grid;\n gap: var(--mer-spacing--lg);\n}\n.slide__main-title {\n display: flex;\n flex-direction: column;\n font-size: var(--mer-font__size--xl);\n font-weight: var(--mer-font__weight--semi-bold);\n letter-spacing: 0.02em;\n color: var(--mer-text__on-surface);\n}\n.slide__main-description {\n display: grid;\n gap: var(--mer-spacing--2xl);\n font-size: var(--mer-font__size--sm);\n font-weight: var(--mer-font__weight--light);\n line-height: var(--mer-line-height--spaced);\n color: var(--mer-text__complementary);\n max-inline-size: 370px;\n}\n\n.teams-list {\n inline-size: 100%;\n max-inline-size: 400px;\n}\n\n.main-btn {\n inline-size: 100%;\n max-inline-size: 124px;\n}\n\n@container host-container (max-width: 768px) {\n .slide {\n grid-template-columns: 1fr 2fr;\n }\n}\n@container host-container (max-width: 640px) {\n .slide {\n grid-template-columns: 1fr 5fr;\n }\n}\n.hyperlink {\n text-decoration: underline;\n cursor: pointer;\n}\n\n.field-inline > .label-agreement {\n margin-block-start: 0 !important;\n}";
|
|
16
16
|
|
|
17
17
|
var l = undefined && undefined.__classPrivateFieldGet || function(e, i, n, s) {
|
|
18
18
|
if (n === "a" && !s) throw new TypeError("Private accessor was defined without a getter");
|
|
@@ -27,7 +27,7 @@ var o = undefined && undefined.__classPrivateFieldSet || function(e, i, n, s, t)
|
|
|
27
27
|
return s === "a" ? t.call(e, n) : t ? t.value = n : i.set(e, n), n;
|
|
28
28
|
};
|
|
29
29
|
|
|
30
|
-
var h, c, d, f, m, p,
|
|
30
|
+
var h, c, d, f, m, p, u, g, v, b, w, _, x, k;
|
|
31
31
|
|
|
32
32
|
const y = e(`./gx-ide-assets/welcome-page/images/copyrights-illustration.png`);
|
|
33
33
|
|
|
@@ -51,14 +51,14 @@ const T = class {
|
|
|
51
51
|
f.set(this, 100);
|
|
52
52
|
m.set(this, void 0);
|
|
53
53
|
p.set(this, void 0);
|
|
54
|
-
|
|
54
|
+
u.set(this, (() => {
|
|
55
55
|
if (this.authStep === "signIn") {
|
|
56
56
|
this.signInCallback();
|
|
57
57
|
} else if (this.authStep === "selectUserTeam") {
|
|
58
|
-
l(this,
|
|
58
|
+
l(this, g, "f").call(this);
|
|
59
59
|
}
|
|
60
60
|
}));
|
|
61
|
-
|
|
61
|
+
g.set(this, (async () => {
|
|
62
62
|
await this.continueCallback(l(this, d, "f").value);
|
|
63
63
|
}));
|
|
64
64
|
v.set(this, (() => n("header", {
|
|
@@ -74,7 +74,7 @@ const T = class {
|
|
|
74
74
|
const e = this.authStep === "signIn" && this.termsConfirmationRequired && !this.termsAndConditionsAccepted;
|
|
75
75
|
return n("div", null, n("button", {
|
|
76
76
|
class: "button-primary main-btn",
|
|
77
|
-
onClick: l(this,
|
|
77
|
+
onClick: l(this, u, "f"),
|
|
78
78
|
disabled: e
|
|
79
79
|
}, l(this, h, "f")[this.authStepInternal].buttonCaption));
|
|
80
80
|
}));
|
|
@@ -227,10 +227,10 @@ const T = class {
|
|
|
227
227
|
};
|
|
228
228
|
|
|
229
229
|
h = new WeakMap, c = new WeakMap, d = new WeakMap, f = new WeakMap, m = new WeakMap,
|
|
230
|
-
p = new WeakMap,
|
|
230
|
+
p = new WeakMap, u = new WeakMap, g = new WeakMap, v = new WeakMap, b = new WeakMap,
|
|
231
231
|
w = new WeakMap, _ = new WeakMap, x = new WeakMap, k = new WeakMap;
|
|
232
232
|
|
|
233
233
|
T.style = r;
|
|
234
234
|
|
|
235
235
|
export { T as gx_ide_sign_in_team };
|
|
236
|
-
//# sourceMappingURL=p-
|
|
236
|
+
//# sourceMappingURL=p-203f0417.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["mapTeamsToComboBoxItemModel","teams","map","team","value","id","caption","name","signInTeamCss","COPYRIGHTS_ILLUSTRATION","getAssetPath","ICON_NEXT","CSS_BUNDLES","CHECKED_VALUE","GxIdeSignInTeam","_GxIdeSignInTeam_componentLocale","set","this","_GxIdeSignInTeam_userTeamsModel","_GxIdeSignInTeam_chSelectTeamEl","_GxIdeSignInTeam_switchStepTransitionTime","_GxIdeSignInTeam_termsAndConditionsCheckboxEl","_GxIdeSignInTeam_privacyPolicyCheckboxEl","_GxIdeSignInTeam_authStepCallback","authStep","signInCallback","__classPrivateFieldGet","_GxIdeSignInTeam_continueHandler","call","async","continueCallback","_GxIdeSignInTeam_renderStepHeader","h","class","src","alt","authStepInternal","titlePart1","titlePart2","_GxIdeSignInTeam_renderStepFooter","signInDisabled","termsConfirmationRequired","termsAndConditionsAccepted","onClick","disabled","buttonCaption","_GxIdeSignInTeam_evaluateTermsConditionsAndPrivacyAccepted","privacyPolicyAccepted","_GxIdeSignInTeam_termsAndConditionsClickedHandler","event","preventDefault","termsCallback","_GxIdeSignInTeam_privacyPolicyClickedHandler","privacyCallback","_GxIdeSignInTeam_evaluateStepRender","signIn","description","checkedValue","ref","el","__classPrivateFieldSet","onInput","htmlFor","agreement","termsAndConditionsLabel","hyperlink","termsAndConditionsLink","privacyAndPolicyLabel","privacyAndPolicyLink","loaderTitle","loader","fetchingTeamsTitle","settingUpSessionTitle","loaderDescription","fetchingTeamsDescription","settingUpDescription","show","selectUserTeam","infoMessage","label","accessibleName","model","_a","authStepChanged","newAuthStep","slideIsVisible","setTimeout","teamsChanged","newTeams","componentWillLoad","Locale","getComponentStrings","style","setProperty","toString","render","Host","slide__main"],"sources":["src/components/sign-in-team/helpers.ts","src/components/sign-in-team/sign-in-team.scss?tag=gx-ide-sign-in-team&encapsulation=shadow","src/components/sign-in-team/sign-in-team.tsx"],"sourcesContent":["import { ComboBoxItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/combo-box/types\";\nimport { TeamData } from \"./sign-in-team\";\n\nexport const mapTeamsToComboBoxItemModel = (\n teams?: TeamData[]\n): ComboBoxItemModel[] | undefined => {\n if (!teams) {\n return [];\n }\n return teams.map(team => ({\n value: team.id,\n caption: team.name\n }));\n};\n",":host {\n display: grid;\n container-type: inline-size;\n container-name: host-container;\n block-size: 100%;\n inline-size: 100%;\n align-items: center;\n justify-content: center;\n}\n\n.slide {\n display: grid;\n grid-template-columns: 1fr 1fr;\n block-size: 100%;\n max-block-size: 700px;\n max-inline-size: 1100px;\n background-color: var(--mer-surface__elevation--01);\n border-radius: var(--dialog-border-radius, var(--mer-spacing--md));\n overflow: hidden;\n\n &__illustration {\n overflow: hidden;\n object-fit: cover;\n object-position: left;\n block-size: 100%;\n inline-size: 100%;\n }\n\n &__main {\n display: grid;\n block-size: 100%;\n inline-size: 100%;\n padding: var(--mer-spacing--3xl);\n transform: translateY(var(--mer-spacing--2xs));\n transition: var(--switch-step-transtion-time) all;\n opacity: 0;\n\n &--visible {\n transform: translateY(0);\n opacity: 1;\n }\n }\n\n &__main-container {\n display: grid;\n place-self: center;\n gap: var(--mer-spacing--lg);\n max-inline-size: 480px;\n }\n\n &__main-header {\n display: grid;\n gap: var(--mer-spacing--lg);\n }\n\n &__main-title {\n display: flex;\n flex-direction: column;\n font-size: var(--mer-font__size--xl);\n font-weight: var(--mer-font__weight--semi-bold);\n letter-spacing: 0.02em;\n color: var(--mer-text__on-surface);\n }\n\n &__main-description {\n display: grid;\n gap: var(--mer-spacing--2xl);\n font-size: var(--mer-font__size--sm);\n font-weight: var(--mer-font__weight--light);\n line-height: var(--mer-line-height--spaced);\n color: var(--mer-text__complementary);\n max-inline-size: 370px;\n }\n}\n\n.teams-list {\n inline-size: 100%;\n max-inline-size: 400px;\n}\n\n.main-btn {\n inline-size: 100%;\n max-inline-size: 124px;\n}\n\n@container host-container (max-width: 768px) {\n .slide {\n grid-template-columns: 1fr 2fr;\n }\n}\n\n@container host-container (max-width: 640px) {\n .slide {\n grid-template-columns: 1fr 5fr;\n }\n}\n\n// WA (this class should be defined on Mercury\n.hyperlink {\n text-decoration: underline;\n cursor: pointer;\n}\n// WA checkboxes labels should not include margin-block-start when\n// placed inside a field-inline.\n.field-inline > .label-agreement {\n margin-block-start: 0 !important;\n}\n","// Stencil\nimport {\n Component,\n Host,\n h,\n Prop,\n State,\n Watch,\n Element,\n getAssetPath\n} from \"@stencil/core\";\n// Other Libraries\nimport { MercuryBundles } from \"@genexus/mercury\";\nimport { ComboBoxItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/combo-box/types\";\n// Custom Imports\nimport { Locale } from \"../../common/locale\";\nimport { mapTeamsToComboBoxItemModel } from \"./helpers\";\n\nconst COPYRIGHTS_ILLUSTRATION = getAssetPath(\n `./gx-ide-assets/welcome-page/images/copyrights-illustration.png`\n);\nconst ICON_NEXT = getAssetPath(\n `./gx-ide-assets/welcome-page/images/icon-next.svg`\n);\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/typography\",\n \"components/button\",\n \"components/combo-box\",\n \"components/checkbox\",\n \"utils/form\"\n];\n\nconst CHECKED_VALUE = \"on\";\n\n@Component({\n tag: \"gx-ide-sign-in-team\",\n styleUrl: \"sign-in-team.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/sign-in-team\"]\n})\nexport class GxIdeSignInTeam {\n /**\n * The component hard-coded strings translations.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #componentLocale: any;\n // Select User Team References :\n #userTeamsModel: ComboBoxItemModel[] = [];\n #chSelectTeamEl: HTMLChComboBoxRenderElement;\n #switchStepTransitionTime: number = 100;\n #termsAndConditionsCheckboxEl!: HTMLChCheckboxElement;\n #privacyPolicyCheckboxEl!: HTMLChCheckboxElement;\n\n @Element() el: HTMLGxIdeSignInTeamElement;\n\n /**\n * This is a handover from \"authStep\" that allows updating descriptions once\n * the slide is hidden. This enables a smooth transition between descriptions.\n */\n\n @State() authStepInternal: AuthStep;\n\n /**\n * Defines if the main slide is visible or not. Used for smooth transitions\n * between slides.\n */\n @State() slideIsVisible: boolean = true;\n\n /**\n * True if terms and conditions are accepted.\n */\n @State() termsAndConditionsAccepted: boolean = false;\n\n /**\n * The authentication step to display\n */\n @Prop() readonly authStep: AuthStep = \"signIn\";\n @Watch(\"authStep\")\n authStepChanged(newAuthStep: AuthStep) {\n this.slideIsVisible = false;\n // switch step\n setTimeout(() => {\n this.authStepInternal = newAuthStep;\n }, this.#switchStepTransitionTime);\n // show slide\n setTimeout(() => {\n this.slideIsVisible = true;\n }, this.#switchStepTransitionTime * 2);\n }\n\n /**\n * Callback executed when the user clicks the 'Continue' button\n */\n @Prop() readonly continueCallback!: (teamId: string) => Promise<void>;\n\n /**\n * Callback executed when the user click the \"Sign In\" button\n */\n @Prop() readonly signInCallback!: () => Promise<void>;\n\n /**\n * When true, it will diplay checkboxes for the user to confirm terms and conditions\n */\n @Prop() readonly termsConfirmationRequired: boolean = false;\n\n /**\n * Array that contains the user's teams\n */\n @Prop() readonly teams!: TeamData[];\n @Watch(\"teams\")\n teamsChanged(newTeams: TeamData[]) {\n this.#userTeamsModel = mapTeamsToComboBoxItemModel(newTeams);\n }\n\n /**\n * Callback executed when the user clicks on the \"term and conditions\" link\n */\n @Prop() readonly termsCallback: () => Promise<void>;\n\n /**\n * Callback executed when the user clicks on the \"privacy policy\" link\n */\n @Prop() readonly privacyCallback: () => Promise<void>;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.el.style.setProperty(\n \"--switch-step-transtion-time\",\n this.#switchStepTransitionTime.toString() + \"ms\"\n );\n // Initialize values\n this.authStepInternal = this.authStep;\n this.teamsChanged(this.teams);\n }\n\n #authStepCallback = () => {\n if (this.authStep === \"signIn\") {\n this.signInCallback();\n } else if (this.authStep === \"selectUserTeam\") {\n this.#continueHandler();\n }\n };\n\n #continueHandler = async () => {\n await this.continueCallback(this.#chSelectTeamEl.value);\n };\n\n #renderStepHeader = (): HTMLElement => {\n return (\n <header class=\"slide__main-header\">\n <img\n src={ICON_NEXT}\n alt=\"\" // decorative\n />\n <h2\n // Split the title into two spans for better styling\n class=\"slide__main-title\"\n >\n <span>{this.#componentLocale[this.authStepInternal].titlePart1}</span>\n <span>{this.#componentLocale[this.authStepInternal].titlePart2}</span>\n </h2>\n </header>\n );\n };\n\n #renderStepFooter = (): HTMLElement => {\n const signInDisabled =\n this.authStep === \"signIn\" &&\n this.termsConfirmationRequired &&\n !this.termsAndConditionsAccepted;\n return (\n <div>\n <button\n class=\"button-primary main-btn\"\n onClick={this.#authStepCallback}\n disabled={signInDisabled}\n >\n {this.#componentLocale[this.authStepInternal].buttonCaption}\n </button>\n </div>\n );\n };\n\n #evaluateTermsConditionsAndPrivacyAccepted = () => {\n const termsAndConditionsAccepted =\n this.#termsAndConditionsCheckboxEl.value === CHECKED_VALUE;\n const privacyPolicyAccepted =\n this.#privacyPolicyCheckboxEl.value === CHECKED_VALUE;\n this.termsAndConditionsAccepted =\n termsAndConditionsAccepted && privacyPolicyAccepted;\n };\n\n #termsAndConditionsClickedHandler = (event: MouseEvent) => {\n event.preventDefault();\n this.termsCallback();\n };\n\n #privacyPolicyClickedHandler = (event: MouseEvent) => {\n event.preventDefault();\n this.privacyCallback();\n };\n\n #evaluateStepRender = () => {\n if (this.authStepInternal === \"signIn\") {\n return [\n this.#renderStepHeader(),\n <p class=\"body-regular-l\">\n {this.#componentLocale.signIn.description}\n </p>,\n this.termsConfirmationRequired && (\n <div class=\"field-group\">\n <div\n // terms and conditions\n class=\"field field-inline\"\n >\n <ch-checkbox\n checkedValue={CHECKED_VALUE}\n id=\"terms-and-conditions\"\n class=\"checkbox\"\n ref={(el: HTMLChCheckboxElement) =>\n (this.#termsAndConditionsCheckboxEl =\n el as HTMLChCheckboxElement)\n }\n onInput={this.#evaluateTermsConditionsAndPrivacyAccepted}\n ></ch-checkbox>\n <label\n htmlFor=\"terms-and-conditions\"\n class=\"label label-agreement\"\n >\n {this.#componentLocale.agreement.termsAndConditionsLabel}\n <span\n class={{ hyperlink: !!this.termsCallback }}\n onClick={\n this.termsCallback && this.#termsAndConditionsClickedHandler\n }\n >\n {this.#componentLocale.agreement.termsAndConditionsLink}\n </span>\n </label>\n </div>\n <div\n // privacy policy\n class=\"field field-inline\"\n >\n <ch-checkbox\n checkedValue={CHECKED_VALUE}\n id=\"privacy-policy\"\n class=\"checkbox\"\n ref={(el: HTMLChCheckboxElement) =>\n (this.#privacyPolicyCheckboxEl = el as HTMLChCheckboxElement)\n }\n onInput={this.#evaluateTermsConditionsAndPrivacyAccepted}\n ></ch-checkbox>\n <label htmlFor=\"privacy-policy\" class=\"label label-agreement\">\n {this.#componentLocale.agreement.privacyAndPolicyLabel}\n <span\n class={{ hyperlink: !!this.privacyCallback }}\n onClick={\n this.privacyCallback && this.#privacyPolicyClickedHandler\n }\n >\n {this.#componentLocale.agreement.privacyAndPolicyLink}\n </span>\n </label>\n </div>\n </div>\n ),\n\n this.#renderStepFooter()\n ];\n } else if (\n this.authStepInternal === \"fetchUserTeams\" ||\n this.authStepInternal === \"settingUpSession\"\n ) {\n const loaderTitle =\n this.authStepInternal === \"fetchUserTeams\"\n ? this.#componentLocale.loader.fetchingTeamsTitle\n : this.#componentLocale.loader.settingUpSessionTitle;\n const loaderDescription =\n this.authStepInternal === \"fetchUserTeams\"\n ? this.#componentLocale.loader.fetchingTeamsDescription\n : this.#componentLocale.loader.settingUpDescription;\n return (\n <gx-ide-loader\n show\n loaderTitle={loaderTitle}\n description={loaderDescription}\n ></gx-ide-loader>\n );\n } else if (this.authStepInternal === \"selectUserTeam\") {\n return [\n this.#renderStepHeader(),\n <div class=\"slide__select-team-description\">\n <p class=\"body-semi-bold-l\">\n {this.#componentLocale.selectUserTeam.infoMessage}\n </p>\n </div>,\n <div class=\"field-group\">\n <div class=\"field field-block\">\n <label htmlFor=\"teams\">\n {this.#componentLocale.selectUserTeam.label}\n </label>\n <ch-combo-box-render\n id=\"teams\"\n accessibleName=\"Teams\"\n class=\"combo-box teams-list\"\n model={this.#userTeamsModel}\n value={this.#userTeamsModel[0]?.value}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#chSelectTeamEl = el as HTMLChComboBoxRenderElement)\n }\n ></ch-combo-box-render>\n </div>\n </div>,\n this.#renderStepFooter()\n ];\n }\n };\n\n render() {\n return (\n <Host>\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <section class=\"slide\">\n <img\n src={COPYRIGHTS_ILLUSTRATION}\n class=\"slide__illustration\"\n alt=\"\" // decorative\n />\n\n <div\n class={{\n \"slide__main\": true,\n \"slide__main--visible\": this.slideIsVisible\n }}\n >\n <div class=\"slide__main-container\">\n {this.#evaluateStepRender()}\n </div>\n </div>\n </section>\n </Host>\n );\n }\n}\n\nexport type AuthStep =\n | \"signIn\"\n | \"fetchUserTeams\"\n | \"selectUserTeam\"\n | \"settingUpSession\";\n\nexport type TeamData = {\n id: string;\n name: string;\n};\n"],"mappings":"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"}
|