@nonoun/native-chat 0.1.2 → 0.2.1

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.
Files changed (44) hide show
  1. package/dist/avatar/chat-avatar-element.d.ts +18 -0
  2. package/dist/avatar/chat-avatar-element.d.ts.map +1 -0
  3. package/dist/avatar/index.d.ts +2 -0
  4. package/dist/avatar/index.d.ts.map +1 -0
  5. package/dist/avatar/n-chat-avatar.d.ts +2 -0
  6. package/dist/avatar/n-chat-avatar.d.ts.map +1 -0
  7. package/dist/chat-input-element.d.ts +10 -0
  8. package/dist/chat-input-element.d.ts.map +1 -1
  9. package/dist/chat-input-structured-element-CbDnI4zv.js +1069 -0
  10. package/dist/chat-panel-element.d.ts +28 -7
  11. package/dist/chat-panel-element.d.ts.map +1 -1
  12. package/dist/feed/chat-feed-element.d.ts +29 -0
  13. package/dist/feed/chat-feed-element.d.ts.map +1 -0
  14. package/dist/feed/index.d.ts +2 -0
  15. package/dist/feed/index.d.ts.map +1 -0
  16. package/dist/feed/n-chat-feed.d.ts +2 -0
  17. package/dist/feed/n-chat-feed.d.ts.map +1 -0
  18. package/dist/index.d.ts +7 -0
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/message/chat-input-structured-element.d.ts +43 -0
  21. package/dist/message/chat-input-structured-element.d.ts.map +1 -0
  22. package/dist/message/chat-message-activity-element.d.ts +32 -0
  23. package/dist/message/chat-message-activity-element.d.ts.map +1 -0
  24. package/dist/message/chat-message-element.d.ts +28 -0
  25. package/dist/message/chat-message-element.d.ts.map +1 -0
  26. package/dist/message/chat-message-genui-element.d.ts +45 -0
  27. package/dist/message/chat-message-genui-element.d.ts.map +1 -0
  28. package/dist/message/chat-message-seed-element.d.ts +33 -0
  29. package/dist/message/chat-message-seed-element.d.ts.map +1 -0
  30. package/dist/message/chat-message-text-element.d.ts +37 -0
  31. package/dist/message/chat-message-text-element.d.ts.map +1 -0
  32. package/dist/message/chat-messages-element.d.ts +28 -0
  33. package/dist/message/chat-messages-element.d.ts.map +1 -0
  34. package/dist/message/index.d.ts +8 -0
  35. package/dist/message/index.d.ts.map +1 -0
  36. package/dist/message/n-chat-message.d.ts +2 -0
  37. package/dist/message/n-chat-message.d.ts.map +1 -0
  38. package/dist/native-chat.css +470 -28
  39. package/dist/native-chat.js +2 -2
  40. package/dist/register.d.ts +10 -1
  41. package/dist/register.d.ts.map +1 -1
  42. package/dist/register.js +4 -4
  43. package/package.json +1 -1
  44. package/dist/chat-panel-element-CXPbtkyi.js +0 -113
@@ -1,6 +1,53 @@
1
+ /* ════════════════════════════════════════════════════
2
+ native-chat — Chat component styles
3
+ ════════════════════════════════════════════════════ */
4
+
1
5
  @layer ui {
2
6
 
3
- :where(n-chat-input):not(:defined) { visibility: hidden; }
7
+ /* ── :not(:defined) visibility guards ── */
8
+
9
+ :where(n-chat-input):not(:defined),
10
+ :where(n-chat-feed):not(:defined),
11
+ :where(n-chat-avatar):not(:defined),
12
+ :where(n-chat-message):not(:defined),
13
+ :where(n-chat-messages):not(:defined),
14
+ :where(n-chat-message-text):not(:defined),
15
+ :where(n-chat-message-activity):not(:defined),
16
+ :where(n-chat-message-seed):not(:defined),
17
+ :where(n-chat-message-genui):not(:defined),
18
+ :where(n-chat-input-structured):not(:defined) { visibility: hidden; }
19
+
20
+ /* ══════════════════════════════════════════════════
21
+ Chat Token Definitions
22
+ ══════════════════════════════════════════════════ */
23
+
24
+ :where(n-chat-feed),
25
+ :where(native-chat-panel) {
26
+ /* Feed */
27
+ --n-chat-gap: calc(var(--n-space) * 4);
28
+ --n-chat-message-gap: calc(var(--n-space) * 2);
29
+
30
+ /* Bubbles */
31
+ --n-chat-bubble-user: var(--n-button);
32
+ --n-chat-bubble-user-color: white;
33
+ --n-chat-bubble-assistant: var(--n-card);
34
+ --n-chat-bubble-assistant-color: var(--n-ink);
35
+ --n-chat-bubble-radius: var(--n-radius);
36
+ --n-chat-bubble-padding-block: calc(var(--n-space) * 2);
37
+ --n-chat-bubble-padding-inline: calc(var(--n-space) * 3);
38
+ --n-chat-bubble-max-width: 85%;
39
+
40
+ /* Avatar */
41
+ --n-chat-avatar-size: var(--n-size);
42
+ --n-chat-avatar-background: var(--n-control);
43
+ --n-chat-avatar-color: var(--n-ink-muted);
44
+
45
+ /* Activity */
46
+ --n-chat-activity-color: var(--n-ink-muted);
47
+
48
+ /* Prose */
49
+ --n-chat-prose-gap: calc(var(--n-space) * 2);
50
+ }
4
51
 
5
52
  /* ╭──────────────────────────────────────────────────────────╮
6
53
  │ n-chat │
@@ -13,6 +60,10 @@
13
60
  display: contents;
14
61
  }
15
62
 
63
+ /* ══════════════════════════════════════════════════
64
+ native-chat-panel
65
+ ══════════════════════════════════════════════════ */
66
+
16
67
  :where(native-chat-panel) {
17
68
  --n-ground: var(--n-panel);
18
69
 
@@ -55,8 +106,6 @@
55
106
  }
56
107
 
57
108
  /* ── n-chat-content ── */
58
- /* Message stream layout. Lives inside n-body which handles
59
- scrolling, padding, and flex: 1. Content just manages message gap. */
60
109
 
61
110
  :where(n-chat-content) {
62
111
  display: flex;
@@ -67,35 +116,436 @@
67
116
  gap: calc(var(--n-space) * 2);
68
117
  }
69
118
 
70
- /* ── n-chat-input ── */
71
- /* Rounded surface containing textarea + actions row.
72
- WHY: Single surface wraps everything — textarea fills the top,
73
- actions row sits bottom-right. Compact mode lays out as a
74
- single horizontal row. */
75
-
76
- :where(n-chat-input) {
77
- --n-background: var(--n-control);
78
- --n-border-color: var(--n-border-muted);
119
+ /* ══════════════════════════════════════════════════
120
+ n-chat-feed scrollable thread coordinator
121
+ ══════════════════════════════════════════════════ */
79
122
 
123
+ :where(n-chat-feed) {
80
124
  display: flex;
125
+ flex-direction: column;
126
+ gap: var(--n-chat-gap);
81
127
  flex: 1 1 0%;
128
+ min-height: 0;
129
+ overflow-y: auto;
130
+ scrollbar-width: thin;
131
+ scroll-behavior: smooth;
132
+ padding-block: calc(var(--n-space) * 4);
133
+ }
134
+
135
+ /* ── Date separator ── */
136
+
137
+ :where(n-chat-feed) > :where(.n-chat-date-separator) {
138
+ display: flex;
139
+ align-items: center;
140
+ justify-content: center;
141
+ padding-block: var(--n-space);
142
+ font-size: var(--n-font-size-sm);
143
+ color: var(--n-ink-muted);
144
+ user-select: none;
145
+ }
146
+
147
+ :where(n-chat-feed[hidden]) { display: none; }
148
+
149
+ /* ══════════════════════════════════════════════════
150
+ n-chat-messages — message group (bubble cluster)
151
+ ══════════════════════════════════════════════════ */
152
+
153
+ :where(n-chat-messages) {
154
+ display: flex;
155
+ flex-direction: row;
156
+ align-items: flex-start;
157
+ gap: var(--n-chat-message-gap);
158
+ align-self: flex-start;
159
+ }
160
+
161
+ /* User messages: right-aligned, avatar on right */
162
+ [role="user"]:where(n-chat-messages) {
163
+ align-self: flex-end;
164
+ flex-direction: row-reverse;
165
+ }
166
+
167
+ /* Message column (everything except avatar) */
168
+ :where(n-chat-messages) > :where(:not(n-chat-avatar)) {
169
+ display: flex;
82
170
  flex-direction: column;
171
+ gap: calc(var(--n-space));
172
+ max-width: var(--n-chat-bubble-max-width);
83
173
  min-width: 0;
84
- background: var(--n-background);
85
- border: 1px solid var(--n-border-color);
86
- border-radius: var(--n-radius);
87
174
  }
88
175
 
176
+ :where(n-chat-messages[hidden]) { display: none; }
177
+
178
+ /* ══════════════════════════════════════════════════
179
+ n-chat-avatar — sender avatar
180
+ ══════════════════════════════════════════════════ */
181
+
182
+ :where(n-chat-avatar) {
183
+ display: inline-flex;
184
+ align-items: center;
185
+ justify-content: center;
186
+ flex-shrink: 0;
187
+
188
+ width: var(--n-chat-avatar-size);
189
+ height: var(--n-chat-avatar-size);
190
+ border-radius: 50%;
191
+ background: var(--n-chat-avatar-background);
192
+ color: var(--n-chat-avatar-color);
193
+
194
+ font-size: calc(var(--n-chat-avatar-size) * 0.4);
195
+ font-weight: 600;
196
+ line-height: 1;
197
+ overflow: hidden;
198
+ user-select: none;
199
+ }
200
+
201
+ :where(n-chat-avatar) > :where(img) {
202
+ width: 100%;
203
+ height: 100%;
204
+ object-fit: cover;
205
+ border-radius: inherit;
206
+ }
207
+
208
+ :where(n-chat-avatar) > :where(n-icon) {
209
+ font-size: calc(var(--n-chat-avatar-size) * 0.5);
210
+ }
211
+
212
+ :where(n-chat-avatar[hidden]) { display: none; }
213
+
214
+ /* ══════════════════════════════════════════════════
215
+ n-chat-message — individual message bubble
216
+ ══════════════════════════════════════════════════ */
217
+
218
+ :where(n-chat-message) {
219
+ display: flex;
220
+ flex-direction: column;
221
+ gap: var(--n-space);
222
+
223
+ padding-block: var(--n-chat-bubble-padding-block);
224
+ padding-inline: var(--n-chat-bubble-padding-inline);
225
+ border-radius: var(--n-chat-bubble-radius);
226
+
227
+ background: var(--n-chat-bubble-assistant);
228
+ color: var(--n-chat-bubble-assistant-color);
229
+
230
+ word-wrap: break-word;
231
+ overflow-wrap: break-word;
232
+ }
233
+
234
+ /* User bubble */
235
+ [role="user"]:where(n-chat-message) {
236
+ background: var(--n-chat-bubble-user);
237
+ color: var(--n-chat-bubble-user-color);
238
+ }
239
+
240
+ /* Streaming status */
241
+ [status="streaming"]:where(n-chat-message) {
242
+ opacity: 0.85;
243
+ }
244
+
245
+ /* Error status */
246
+ [status="error"]:where(n-chat-message) {
247
+ border: 1px solid var(--n-border-danger);
248
+ }
249
+
250
+ /* ── Message actions toolbar ── */
251
+
252
+ :where(n-chat-message) > :where(.n-chat-message-actions) {
253
+ opacity: 0;
254
+ transition: opacity var(--n-duration) var(--n-easing);
255
+ }
256
+
257
+ :where(n-chat-message):hover > :where(.n-chat-message-actions),
258
+ :where(n-chat-message):focus-within > :where(.n-chat-message-actions),
259
+ :where(n-chat-message[force-hover]) > :where(.n-chat-message-actions) {
260
+ opacity: 1;
261
+ }
262
+
263
+ :where(n-chat-message[hidden]) { display: none; }
264
+
265
+ /* ══════════════════════════════════════════════════
266
+ n-chat-message-text — rich text / markdown
267
+ ══════════════════════════════════════════════════ */
268
+
269
+ :where(n-chat-message-text) {
270
+ display: block;
271
+ }
272
+
273
+ /* ── Prose reset — typography inside rendered markdown ── */
274
+
275
+ :where(n-chat-message-text) :where(.n-chat-prose) {
276
+ display: flex;
277
+ flex-direction: column;
278
+ gap: var(--n-chat-prose-gap);
279
+ }
280
+
281
+ /* Universal block margin reset — flexbox gap handles spacing,
282
+ so all block-level children must have zero margin */
283
+ :where(n-chat-message-text) :where(
284
+ p, h1, h2, h3, h4, h5, h6,
285
+ ul, ol, li,
286
+ blockquote, pre, hr,
287
+ div, figure, figcaption,
288
+ dl, dt, dd, details, summary
289
+ ) {
290
+ margin: 0;
291
+ }
292
+
293
+ :where(n-chat-message-text) :where(h1, h2, h3, h4, h5, h6) {
294
+ font-weight: 600;
295
+ line-height: 1.3;
296
+ }
297
+
298
+ :where(n-chat-message-text) :where(h1) { font-size: 1.4em; }
299
+ :where(n-chat-message-text) :where(h2) { font-size: 1.25em; }
300
+ :where(n-chat-message-text) :where(h3) { font-size: 1.1em; }
301
+
302
+ :where(n-chat-message-text) :where(ul, ol) {
303
+ padding-inline-start: 1.5em;
304
+ }
305
+
306
+ :where(n-chat-message-text) :where(li) {
307
+ margin-block: calc(var(--n-space) * 0.5);
308
+ }
309
+
310
+ :where(n-chat-message-text) :where(blockquote) {
311
+ padding-inline-start: calc(var(--n-space) * 3);
312
+ border-inline-start: 3px solid var(--n-border-muted);
313
+ color: var(--n-ink-muted);
314
+ }
315
+
316
+ :where(n-chat-message-text) :where(code) {
317
+ font-family: var(--n-font-mono);
318
+ font-size: 0.9em;
319
+ padding-block: 0.1em;
320
+ padding-inline: 0.3em;
321
+ background: var(--n-control);
322
+ border-radius: calc(var(--n-radius) * 0.5);
323
+ }
324
+
325
+ :where(n-chat-message-text) :where(pre) {
326
+ padding: calc(var(--n-space) * 2);
327
+ background: var(--n-control);
328
+ border-radius: calc(var(--n-radius) * 0.5);
329
+ overflow-x: auto;
330
+ scrollbar-width: thin;
331
+ }
332
+
333
+ :where(n-chat-message-text) :where(pre) :where(code) {
334
+ padding: 0;
335
+ background: transparent;
336
+ border-radius: 0;
337
+ }
338
+
339
+ :where(n-chat-message-text) :where(a) {
340
+ color: var(--n-ink-accent);
341
+ text-decoration: underline;
342
+ text-underline-offset: 0.15em;
343
+ }
89
344
 
90
- /* Compact: single row — textarea and actions side by side */
345
+ :where(n-chat-message-text) :where(hr) {
346
+ border: none;
347
+ border-top: 1px solid var(--n-border-muted);
348
+ }
349
+
350
+ :where(n-chat-message-text[hidden]) { display: none; }
351
+
352
+ /* ══════════════════════════════════════════════════
353
+ n-chat-message-activity — typing / thinking
354
+ ══════════════════════════════════════════════════ */
355
+
356
+ :where(n-chat-message-activity) {
357
+ display: flex;
358
+ flex-direction: column;
359
+ gap: var(--n-space);
360
+ color: var(--n-chat-activity-color);
361
+ font-size: var(--n-font-size-sm);
362
+ padding-block: var(--n-space);
363
+ align-self: flex-start;
364
+ }
365
+
366
+ :where(n-chat-message-activity) > :where(.n-chat-activity-row) {
367
+ display: inline-flex;
368
+ align-items: center;
369
+ gap: calc(var(--n-space) * 1.5);
370
+ }
371
+
372
+ :where(n-chat-message-activity) :where(.n-chat-activity-time) {
373
+ font-variant-numeric: tabular-nums;
374
+ min-width: 2.5em;
375
+ }
376
+
377
+ :where(n-chat-message-activity) :where(.n-chat-activity-sep) {
378
+ opacity: 0.4;
379
+ }
380
+
381
+ /* Animated dots */
382
+ :where(n-chat-message-activity) :where(.n-chat-activity-dots) {
383
+ display: inline-flex;
384
+ gap: 0.2em;
385
+ margin-inline-start: 0.25em;
386
+ }
387
+
388
+ :where(n-chat-message-activity) :where(.n-chat-activity-dots) > :where(i) {
389
+ display: block;
390
+ width: 0.25em;
391
+ height: 0.25em;
392
+ border-radius: 50%;
393
+ background: currentColor;
394
+ animation: n-chat-dot-pulse 1.2s ease-in-out infinite;
395
+ }
396
+
397
+ :where(n-chat-message-activity) :where(.n-chat-activity-dots) > :where(i:nth-child(2)) {
398
+ animation-delay: 0.2s;
399
+ }
400
+
401
+ :where(n-chat-message-activity) :where(.n-chat-activity-dots) > :where(i:nth-child(3)) {
402
+ animation-delay: 0.4s;
403
+ }
404
+
405
+ @keyframes n-chat-dot-pulse {
406
+ 0%, 60%, 100% { opacity: 0.3; transform: scale(0.8); }
407
+ 30% { opacity: 1; transform: scale(1); }
408
+ }
409
+
410
+ /* Expandable state */
411
+ :where(n-chat-message-activity) > :where(.n-chat-activity-row) {
412
+ cursor: default;
413
+ }
414
+
415
+ [expandable]:where(n-chat-message-activity) > :where(.n-chat-activity-row) {
416
+ cursor: pointer;
417
+ }
418
+
419
+ [expandable]:where(n-chat-message-activity) > :where(.n-chat-activity-row)::before {
420
+ content: '▶';
421
+ font-size: 0.65em;
422
+ transition: transform var(--n-duration) var(--n-easing);
423
+ }
424
+
425
+ [expanded][expandable]:where(n-chat-message-activity) > :where(.n-chat-activity-row)::before {
426
+ transform: rotate(90deg);
427
+ }
428
+
429
+ :where(n-chat-message-activity) > :where(.n-chat-activity-content) {
430
+ padding-inline-start: calc(var(--n-space) * 3);
431
+ font-family: var(--n-font-mono);
432
+ font-size: var(--n-font-size-sm);
433
+ max-height: 20rem;
434
+ overflow-y: auto;
435
+ scrollbar-width: thin;
436
+ }
437
+
438
+ :where(n-chat-message-activity[hidden]) { display: none; }
439
+
440
+ @media (prefers-reduced-motion: reduce) {
441
+ :where(n-chat-message-activity) :where(.n-chat-activity-dots) > :where(i) {
442
+ animation: none;
443
+ }
444
+ }
445
+
446
+ /* ══════════════════════════════════════════════════
447
+ n-chat-message-seed — suggestion chips
448
+ ══════════════════════════════════════════════════ */
449
+
450
+ :where(n-chat-message-seed) {
451
+ display: flex;
452
+ flex-wrap: wrap;
453
+ gap: var(--n-space);
454
+ padding-block: var(--n-space);
455
+ align-self: flex-start;
456
+ }
457
+
458
+ :where(n-chat-message-seed)[aria-disabled="true"] {
459
+ pointer-events: none;
460
+ }
461
+
462
+ :where(n-chat-message-seed[hidden]) { display: none; }
463
+
464
+ /* ══════════════════════════════════════════════════
465
+ n-chat-message-genui — schema-rendered UI
466
+ ══════════════════════════════════════════════════ */
467
+
468
+ :where(n-chat-message-genui) {
469
+ display: block;
470
+ min-width: 0;
471
+ }
472
+
473
+ :where(n-chat-message-genui) > :where(.n-chat-genui-container) {
474
+ display: flex;
475
+ flex-direction: column;
476
+ gap: var(--n-space);
477
+ }
478
+
479
+ :where(n-chat-message-genui) :where(.n-chat-genui-error) {
480
+ padding: var(--n-space);
481
+ color: var(--n-ink-danger);
482
+ font-size: var(--n-font-size-sm);
483
+ }
484
+
485
+ :where(n-chat-message-genui) :where(.n-chat-genui-preview) {
486
+ display: flex;
487
+ align-items: center;
488
+ justify-content: space-between;
489
+ gap: calc(var(--n-space) * 2);
490
+ }
491
+
492
+ :where(n-chat-message-genui[hidden]) { display: none; }
493
+
494
+ /* ══════════════════════════════════════════════════
495
+ n-chat-input-structured — multi-choice input
496
+ ══════════════════════════════════════════════════ */
497
+
498
+ :where(n-chat-input-structured) {
499
+ display: flex;
500
+ flex-direction: column;
501
+ gap: calc(var(--n-space) * 2);
502
+ padding: calc(var(--n-space) * 3);
503
+ background: var(--n-card);
504
+ border-radius: var(--n-chat-bubble-radius);
505
+ align-self: stretch;
506
+ }
507
+
508
+ :where(n-chat-input-structured) > :where(.n-chat-structured-question) {
509
+ font-weight: 600;
510
+ }
511
+
512
+ :where(n-chat-input-structured) > :where(.n-chat-structured-options) {
513
+ display: flex;
514
+ flex-wrap: wrap;
515
+ gap: var(--n-space);
516
+ }
517
+
518
+ :where(n-chat-input-structured) > :where(.n-chat-structured-actions) {
519
+ display: flex;
520
+ align-items: center;
521
+ justify-content: flex-end;
522
+ gap: var(--n-space);
523
+ }
524
+
525
+ :where(n-chat-input-structured)[aria-disabled="true"] {
526
+ pointer-events: none;
527
+ }
528
+
529
+ :where(n-chat-input-structured[hidden]) { display: none; }
530
+
531
+ /* ══════════════════════════════════════════════════
532
+ n-chat-input — composer
533
+ ══════════════════════════════════════════════════ */
534
+
535
+ :where(n-chat-input) {
536
+ display: flex;
537
+ flex: 1 1 0%;
538
+ flex-direction: column;
539
+ min-width: 0;
540
+ }
541
+
542
+ /* Compact: single row */
91
543
  :where(n-chat-input[compact]) {
92
544
  flex-direction: row;
93
545
  align-items: center;
94
546
  }
95
547
 
96
- /* Textarea inside input — transparent, borderless, fills space.
97
- WHY: Override custom properties so all states (hover, filled, focus)
98
- resolve to transparent. The wrapper provides the visual surface. */
548
+ /* Textarea inside input — fully transparent, no padding */
99
549
  :where(n-chat-input) > :where(n-textarea) {
100
550
  --n-background: transparent;
101
551
  --n-background-hover: transparent;
@@ -104,6 +554,7 @@
104
554
  --n-border-color-hover: transparent;
105
555
  --n-border-color-active: transparent;
106
556
 
557
+ padding: 0;
107
558
  border: none;
108
559
  border-radius: 0;
109
560
  resize: none;
@@ -121,34 +572,25 @@
121
572
  }
122
573
 
123
574
  /* ── n-chat-input-attachments ── */
124
- /* Optional attachment zone above the textarea. */
125
575
 
126
576
  :where(n-chat-input-attachments) {
127
577
  display: flex;
128
578
  flex-wrap: wrap;
129
579
  gap: calc(var(--n-space) * 2);
130
- padding-block: var(--n-space);
131
- padding-inline: calc(var(--n-space-k) * var(--n-space));
132
580
  }
133
581
 
134
582
  /* ── n-chat-input-actions ── */
135
- /* Bottom action row: [+][model][mic][submit] — right-aligned. */
136
583
 
137
584
  :where(n-chat-input-actions) {
138
585
  display: flex;
139
586
  align-items: center;
140
587
  justify-content: flex-end;
141
588
  gap: calc(var(--n-space) * 2);
142
- padding-block: var(--n-space);
143
- padding-inline: calc(var(--n-space-k) * var(--n-space));
144
589
  min-width: 0;
145
590
  }
146
591
 
147
- /* In compact mode, actions shrink-wrap with no extra padding */
148
592
  :where(n-chat-input[compact]) > :where(n-chat-input-actions) {
149
593
  flex: none;
150
- padding-block: 0;
151
- padding-inline-start: 0;
152
594
  }
153
595
 
154
596
  }
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "./chat-panel-element-CXPbtkyi.js";
2
- export { e as NChatInput, t as NChatPanel };
1
+ import { a as e, c as t, d as n, f as r, i, l as a, m as o, n as s, o as c, p as l, r as u, s as d, t as f, u as p } from "./chat-input-structured-element-CbDnI4zv.js";
2
+ export { n as NChatAvatar, r as NChatFeed, o as NChatInput, f as NChatInputStructured, p as NChatMessage, i as NChatMessageActivity, s as NChatMessageGenUI, u as NChatMessageSeed, e as NChatMessageText, a as NChatMessages, l as NChatPanel, c as renderInline, d as renderMarkdown, t as sanitizeHtml };
@@ -1,4 +1,13 @@
1
1
  import { NChatInput } from './chat-input-element.ts';
2
2
  import { NChatPanel } from './chat-panel-element.ts';
3
- export { NChatInput, NChatPanel };
3
+ import { NChatFeed } from './feed/chat-feed-element.ts';
4
+ import { NChatAvatar } from './avatar/chat-avatar-element.ts';
5
+ import { NChatMessage } from './message/chat-message-element.ts';
6
+ import { NChatMessages } from './message/chat-messages-element.ts';
7
+ import { NChatMessageText } from './message/chat-message-text-element.ts';
8
+ import { NChatMessageActivity } from './message/chat-message-activity-element.ts';
9
+ import { NChatMessageSeed } from './message/chat-message-seed-element.ts';
10
+ import { NChatMessageGenUI } from './message/chat-message-genui-element.ts';
11
+ import { NChatInputStructured } from './message/chat-input-structured-element.ts';
12
+ export { NChatInput, NChatPanel, NChatFeed, NChatAvatar, NChatMessage, NChatMessages, NChatMessageText, NChatMessageActivity, NChatMessageSeed, NChatMessageGenUI, NChatInputStructured, };
4
13
  //# sourceMappingURL=register.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAarD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AA6BlF,OAAO,EACL,UAAU,EACV,UAAU,EACV,SAAS,EACT,WAAW,EACX,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,GACrB,CAAC"}
package/dist/register.js CHANGED
@@ -1,4 +1,4 @@
1
- import { n as e, t } from "./chat-panel-element-CXPbtkyi.js";
2
- import { NButton as n, NIcon as r, NTextarea as i, define as a, registerIcon as o } from "@nonoun/native-ui";
3
- a("n-chat-input", e), a("native-chat-panel", t), a("n-textarea", i), a("n-button", n), a("n-icon", r), o("chat-dots", "<svg viewBox=\"0 0 256 256\" fill=\"currentColor\"><path d=\"M116,128a12,12,0,1,1,12,12A12,12,0,0,1,116,128ZM84,140a12,12,0,1,0-12-12A12,12,0,0,0,84,140Zm88,0a12,12,0,1,0-12-12A12,12,0,0,0,172,140Zm60-76V192a16,16,0,0,1-16,16H83l-32.6,28.16-.09.07A15.89,15.89,0,0,1,40,240a16.13,16.13,0,0,1-6.8-1.52A15.85,15.85,0,0,1,24,224V64A16,16,0,0,1,40,48H216A16,16,0,0,1,232,64ZM40,224h0ZM216,64H40V224l34.77-30A8,8,0,0,1,80,192H216Z\"/></svg>");
4
- export { e as NChatInput, t as NChatPanel };
1
+ import { a as e, d as t, f as n, i as r, l as i, m as a, n as o, p as s, r as c, t as l, u } from "./chat-input-structured-element-CbDnI4zv.js";
2
+ import { NButton as d, NCard as f, NDialog as p, NIcon as m, NTextarea as h, NToolbar as g, define as _, registerIcon as v } from "@nonoun/native-ui";
3
+ _("n-chat-input", a), _("native-chat-panel", s), _("n-chat-feed", n), _("n-chat-avatar", t), _("n-chat-message", u), _("n-chat-messages", i), _("n-chat-message-text", e), _("n-chat-message-activity", r), _("n-chat-message-seed", c), _("n-chat-message-genui", o), _("n-chat-input-structured", l), _("n-textarea", h), _("n-button", d), _("n-icon", m), _("n-toolbar", g), _("n-dialog", p), _("n-card", f), v("chat-dots", "<svg viewBox=\"0 0 256 256\" fill=\"currentColor\"><path d=\"M116,128a12,12,0,1,1,12,12A12,12,0,0,1,116,128ZM84,140a12,12,0,1,0-12-12A12,12,0,0,0,84,140Zm88,0a12,12,0,1,0-12-12A12,12,0,0,0,172,140Zm60-76V192a16,16,0,0,1-16,16H83l-32.6,28.16-.09.07A15.89,15.89,0,0,1,40,240a16.13,16.13,0,0,1-6.8-1.52A15.85,15.85,0,0,1,24,224V64A16,16,0,0,1,40,48H216A16,16,0,0,1,232,64ZM40,224h0ZM216,64H40V224l34.77-30A8,8,0,0,1,80,192H216Z\"/></svg>"), v("user", "<svg viewBox=\"0 0 256 256\" fill=\"currentColor\"><path d=\"M230.92,212c-15.23-26.33-38.7-45.21-66.09-54.16a72,72,0,1,0-73.66,0C63.78,166.78,40.31,185.66,25.08,212a8,8,0,1,0,13.85,8C55.71,194.74,89.05,176,128,176s72.29,18.74,89.07,44a8,8,0,0,0,13.85-8ZM72,96a56,56,0,1,1,56,56A56.06,56.06,0,0,1,72,96Z\"/></svg>"), v("stop", "<svg viewBox=\"0 0 256 256\" fill=\"currentColor\"><path d=\"M200,40H56A16,16,0,0,0,40,56V200a16,16,0,0,0,16,16H200a16,16,0,0,0,16-16V56A16,16,0,0,0,200,40Zm0,160H56V56H200V200Z\"/></svg>"), v("arrow-counter-clockwise", "<svg viewBox=\"0 0 256 256\" fill=\"currentColor\"><path d=\"M224,128a96,96,0,0,1-94.71,96H128A95.38,95.38,0,0,1,62.1,197.8a8,8,0,0,1,11-11.63A80,80,0,1,0,71.43,71.39a3.07,3.07,0,0,1-.26.25L44.59,96H72a8,8,0,0,1,0,16H24a8,8,0,0,1-8-8V56a8,8,0,0,1,16,0V85.8L60.25,60A96,96,0,0,1,224,128Z\"/></svg>");
4
+ export { t as NChatAvatar, n as NChatFeed, a as NChatInput, l as NChatInputStructured, u as NChatMessage, r as NChatMessageActivity, o as NChatMessageGenUI, c as NChatMessageSeed, e as NChatMessageText, i as NChatMessages, s as NChatPanel };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nonoun/native-chat",
3
- "version": "0.1.2",
3
+ "version": "0.2.1",
4
4
  "description": "Chat input and message layout components for @nonoun/native-ui",
5
5
  "license": "MIT",
6
6
  "type": "module",