@tylertech/forge-ai 0.12.0 → 0.13.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.
@@ -138,77 +138,6 @@
138
138
  }
139
139
  ]
140
140
  },
141
- {
142
- "kind": "javascript-module",
143
- "path": "src/lib/ai-artifact/ai-artifact.ts",
144
- "declarations": [
145
- {
146
- "kind": "variable",
147
- "name": "AiArtifactComponentTagName",
148
- "type": {
149
- "text": "keyof HTMLElementTagNameMap"
150
- },
151
- "default": "'forge-ai-artifact'"
152
- },
153
- {
154
- "kind": "class",
155
- "description": "",
156
- "name": "AiArtifactComponent",
157
- "cssProperties": [
158
- {
159
- "description": "Surface color override for the toolbar (defaults to transparent)",
160
- "name": "--forge-theme-surface"
161
- }
162
- ],
163
- "slots": [
164
- {
165
- "description": "Content for the start (left) side of the toolbar, typically used for titles or headings",
166
- "name": "start"
167
- },
168
- {
169
- "description": "Action buttons for the end (right) side of the toolbar",
170
- "name": "actions"
171
- },
172
- {
173
- "description": "Main content area below the toolbar",
174
- "name": ""
175
- }
176
- ],
177
- "members": [],
178
- "superclass": {
179
- "name": "LitElement",
180
- "package": "lit"
181
- },
182
- "tagName": "forge-ai-artifact",
183
- "customElement": true
184
- }
185
- ],
186
- "exports": [
187
- {
188
- "kind": "js",
189
- "name": "AiArtifactComponentTagName",
190
- "declaration": {
191
- "name": "AiArtifactComponentTagName",
192
- "module": "src/lib/ai-artifact/ai-artifact.ts"
193
- }
194
- },
195
- {
196
- "kind": "js",
197
- "name": "AiArtifactComponent",
198
- "declaration": {
199
- "name": "AiArtifactComponent",
200
- "module": "src/lib/ai-artifact/ai-artifact.ts"
201
- }
202
- },
203
- {
204
- "kind": "custom-element-definition",
205
- "declaration": {
206
- "name": "AiArtifactComponent",
207
- "module": "src/lib/ai-artifact/ai-artifact.ts"
208
- }
209
- }
210
- ]
211
- },
212
141
  {
213
142
  "kind": "javascript-module",
214
143
  "path": "src/lib/ai-agent-selector/ai-agent-selector.ts",
@@ -344,137 +273,71 @@
344
273
  },
345
274
  {
346
275
  "kind": "javascript-module",
347
- "path": "src/lib/ai-assistant-response/ai-assistant-response.ts",
276
+ "path": "src/lib/ai-artifact/ai-artifact.ts",
348
277
  "declarations": [
349
278
  {
350
279
  "kind": "variable",
351
- "name": "AiAssistantResponseComponentTagName",
280
+ "name": "AiArtifactComponentTagName",
352
281
  "type": {
353
282
  "text": "keyof HTMLElementTagNameMap"
354
283
  },
355
- "default": "'forge-ai-assistant-response'"
284
+ "default": "'forge-ai-artifact'"
356
285
  },
357
286
  {
358
287
  "kind": "class",
359
288
  "description": "",
360
- "name": "AiAssistantResponseComponent",
361
- "members": [
362
- {
363
- "kind": "field",
364
- "name": "response",
365
- "type": {
366
- "text": "AssistantResponse"
367
- },
368
- "privacy": "public"
369
- },
370
- {
371
- "kind": "field",
372
- "name": "tools",
373
- "type": {
374
- "text": "Map<string, ToolDefinition> | undefined"
375
- },
376
- "privacy": "public"
377
- },
378
- {
379
- "kind": "field",
380
- "name": "enableReactions",
381
- "type": {
382
- "text": "boolean"
383
- },
384
- "privacy": "public",
385
- "default": "false",
386
- "attribute": "enable-reactions"
387
- },
289
+ "name": "AiArtifactComponent",
290
+ "cssProperties": [
388
291
  {
389
- "kind": "field",
390
- "name": "debugMode",
391
- "type": {
392
- "text": "boolean"
393
- },
394
- "privacy": "public",
395
- "default": "false",
396
- "attribute": "debug-mode"
292
+ "description": "Surface color override for the toolbar (defaults to transparent)",
293
+ "name": "--forge-theme-surface"
397
294
  }
398
295
  ],
399
- "events": [
400
- {
401
- "type": {
402
- "text": "CustomEvent<{ responseId: string }>"
403
- },
404
- "description": "Fired when copy action is clicked",
405
- "name": "forge-ai-assistant-response-copy"
406
- },
407
- {
408
- "type": {
409
- "text": "CustomEvent<{ responseId: string }>"
410
- },
411
- "description": "Fired when resend action is clicked",
412
- "name": "forge-ai-assistant-response-resend"
413
- },
296
+ "slots": [
414
297
  {
415
- "type": {
416
- "text": "CustomEvent<ForgeAiAssistantResponseFeedbackEventData>"
417
- },
418
- "description": "Fired when thumbs up is clicked",
419
- "name": "forge-ai-assistant-response-thumbs-up"
298
+ "description": "Content for the start (left) side of the toolbar, typically used for titles or headings",
299
+ "name": "start"
420
300
  },
421
301
  {
422
- "type": {
423
- "text": "CustomEvent<ForgeAiAssistantResponseFeedbackEventData>"
424
- },
425
- "description": "Fired when thumbs down is clicked",
426
- "name": "forge-ai-assistant-response-thumbs-down"
427
- }
428
- ],
429
- "attributes": [
430
- {
431
- "name": "enable-reactions",
432
- "type": {
433
- "text": "boolean"
434
- },
435
- "default": "false",
436
- "fieldName": "enableReactions"
302
+ "description": "Action buttons for the end (right) side of the toolbar",
303
+ "name": "actions"
437
304
  },
438
305
  {
439
- "name": "debug-mode",
440
- "type": {
441
- "text": "boolean"
442
- },
443
- "default": "false",
444
- "fieldName": "debugMode"
306
+ "description": "Main content area below the toolbar",
307
+ "name": ""
445
308
  }
446
309
  ],
310
+ "members": [],
447
311
  "superclass": {
448
312
  "name": "LitElement",
449
313
  "package": "lit"
450
314
  },
451
- "tagName": "forge-ai-assistant-response",
452
- "customElement": true,
453
- "summary": "Renders a complete assistant response with interleaved text chunks and tool calls."
315
+ "tagName": "forge-ai-artifact",
316
+ "customElement": true
454
317
  }
455
318
  ],
456
319
  "exports": [
457
320
  {
458
321
  "kind": "js",
459
- "name": "AiAssistantResponseComponentTagName",
322
+ "name": "AiArtifactComponentTagName",
460
323
  "declaration": {
461
- "name": "AiAssistantResponseComponentTagName",
462
- "module": "src/lib/ai-assistant-response/ai-assistant-response.ts"
324
+ "name": "AiArtifactComponentTagName",
325
+ "module": "src/lib/ai-artifact/ai-artifact.ts"
463
326
  }
464
327
  },
465
328
  {
466
329
  "kind": "js",
467
- "name": "AiAssistantResponseComponent",
330
+ "name": "AiArtifactComponent",
468
331
  "declaration": {
469
- "name": "AiAssistantResponseComponent",
470
- "module": "src/lib/ai-assistant-response/ai-assistant-response.ts"
332
+ "name": "AiArtifactComponent",
333
+ "module": "src/lib/ai-artifact/ai-artifact.ts"
471
334
  }
472
335
  },
473
336
  {
474
337
  "kind": "custom-element-definition",
475
338
  "declaration": {
476
- "name": "AiAssistantResponseComponent",
477
- "module": "src/lib/ai-assistant-response/ai-assistant-response.ts"
339
+ "name": "AiArtifactComponent",
340
+ "module": "src/lib/ai-artifact/ai-artifact.ts"
478
341
  }
479
342
  }
480
343
  ]
@@ -651,73 +514,210 @@
651
514
  },
652
515
  {
653
516
  "kind": "javascript-module",
654
- "path": "src/lib/ai-button/ai-button.ts",
517
+ "path": "src/lib/ai-assistant-response/ai-assistant-response.ts",
655
518
  "declarations": [
656
519
  {
657
520
  "kind": "variable",
658
- "name": "AiButtonComponentTagName",
521
+ "name": "AiAssistantResponseComponentTagName",
659
522
  "type": {
660
523
  "text": "keyof HTMLElementTagNameMap"
661
524
  },
662
- "default": "'forge-ai-button'"
525
+ "default": "'forge-ai-assistant-response'"
663
526
  },
664
527
  {
665
528
  "kind": "class",
666
529
  "description": "",
667
- "name": "AiButtonComponent",
668
- "slots": [
669
- {
670
- "description": "Default slot for button content",
671
- "name": ""
672
- }
673
- ],
530
+ "name": "AiAssistantResponseComponent",
674
531
  "members": [
675
532
  {
676
533
  "kind": "field",
677
- "name": "disabled",
534
+ "name": "response",
535
+ "type": {
536
+ "text": "AssistantResponse"
537
+ },
538
+ "privacy": "public"
539
+ },
540
+ {
541
+ "kind": "field",
542
+ "name": "tools",
543
+ "type": {
544
+ "text": "Map<string, ToolDefinition> | undefined"
545
+ },
546
+ "privacy": "public"
547
+ },
548
+ {
549
+ "kind": "field",
550
+ "name": "enableReactions",
678
551
  "type": {
679
552
  "text": "boolean"
680
553
  },
681
554
  "privacy": "public",
682
555
  "default": "false",
683
- "description": "Whether the button is disabled",
684
- "attribute": "disabled",
685
- "reflects": true
686
- }
687
- ],
688
- "attributes": [
556
+ "attribute": "enable-reactions"
557
+ },
689
558
  {
690
- "name": "disabled",
559
+ "kind": "field",
560
+ "name": "debugMode",
691
561
  "type": {
692
562
  "text": "boolean"
693
563
  },
564
+ "privacy": "public",
694
565
  "default": "false",
695
- "description": "Whether the button is disabled",
696
- "fieldName": "disabled"
566
+ "attribute": "debug-mode"
697
567
  }
698
568
  ],
699
- "superclass": {
700
- "name": "LitElement",
701
- "package": "lit"
702
- },
703
- "tagName": "forge-ai-button",
704
- "customElement": true
705
- }
706
- ],
707
- "exports": [
708
- {
709
- "kind": "js",
710
- "name": "AiButtonComponentTagName",
711
- "declaration": {
712
- "name": "AiButtonComponentTagName",
713
- "module": "src/lib/ai-button/ai-button.ts"
714
- }
715
- },
716
- {
717
- "kind": "js",
718
- "name": "AiButtonComponent",
719
- "declaration": {
720
- "name": "AiButtonComponent",
569
+ "events": [
570
+ {
571
+ "type": {
572
+ "text": "CustomEvent<{ responseId: string }>"
573
+ },
574
+ "description": "Fired when copy action is clicked",
575
+ "name": "forge-ai-assistant-response-copy"
576
+ },
577
+ {
578
+ "type": {
579
+ "text": "CustomEvent<{ responseId: string }>"
580
+ },
581
+ "description": "Fired when resend action is clicked",
582
+ "name": "forge-ai-assistant-response-resend"
583
+ },
584
+ {
585
+ "type": {
586
+ "text": "CustomEvent<ForgeAiAssistantResponseFeedbackEventData>"
587
+ },
588
+ "description": "Fired when thumbs up is clicked",
589
+ "name": "forge-ai-assistant-response-thumbs-up"
590
+ },
591
+ {
592
+ "type": {
593
+ "text": "CustomEvent<ForgeAiAssistantResponseFeedbackEventData>"
594
+ },
595
+ "description": "Fired when thumbs down is clicked",
596
+ "name": "forge-ai-assistant-response-thumbs-down"
597
+ }
598
+ ],
599
+ "attributes": [
600
+ {
601
+ "name": "enable-reactions",
602
+ "type": {
603
+ "text": "boolean"
604
+ },
605
+ "default": "false",
606
+ "fieldName": "enableReactions"
607
+ },
608
+ {
609
+ "name": "debug-mode",
610
+ "type": {
611
+ "text": "boolean"
612
+ },
613
+ "default": "false",
614
+ "fieldName": "debugMode"
615
+ }
616
+ ],
617
+ "superclass": {
618
+ "name": "LitElement",
619
+ "package": "lit"
620
+ },
621
+ "tagName": "forge-ai-assistant-response",
622
+ "customElement": true,
623
+ "summary": "Renders a complete assistant response with interleaved text chunks and tool calls."
624
+ }
625
+ ],
626
+ "exports": [
627
+ {
628
+ "kind": "js",
629
+ "name": "AiAssistantResponseComponentTagName",
630
+ "declaration": {
631
+ "name": "AiAssistantResponseComponentTagName",
632
+ "module": "src/lib/ai-assistant-response/ai-assistant-response.ts"
633
+ }
634
+ },
635
+ {
636
+ "kind": "js",
637
+ "name": "AiAssistantResponseComponent",
638
+ "declaration": {
639
+ "name": "AiAssistantResponseComponent",
640
+ "module": "src/lib/ai-assistant-response/ai-assistant-response.ts"
641
+ }
642
+ },
643
+ {
644
+ "kind": "custom-element-definition",
645
+ "declaration": {
646
+ "name": "AiAssistantResponseComponent",
647
+ "module": "src/lib/ai-assistant-response/ai-assistant-response.ts"
648
+ }
649
+ }
650
+ ]
651
+ },
652
+ {
653
+ "kind": "javascript-module",
654
+ "path": "src/lib/ai-button/ai-button.ts",
655
+ "declarations": [
656
+ {
657
+ "kind": "variable",
658
+ "name": "AiButtonComponentTagName",
659
+ "type": {
660
+ "text": "keyof HTMLElementTagNameMap"
661
+ },
662
+ "default": "'forge-ai-button'"
663
+ },
664
+ {
665
+ "kind": "class",
666
+ "description": "",
667
+ "name": "AiButtonComponent",
668
+ "slots": [
669
+ {
670
+ "description": "Default slot for button content",
671
+ "name": ""
672
+ }
673
+ ],
674
+ "members": [
675
+ {
676
+ "kind": "field",
677
+ "name": "disabled",
678
+ "type": {
679
+ "text": "boolean"
680
+ },
681
+ "privacy": "public",
682
+ "default": "false",
683
+ "description": "Whether the button is disabled",
684
+ "attribute": "disabled",
685
+ "reflects": true
686
+ }
687
+ ],
688
+ "attributes": [
689
+ {
690
+ "name": "disabled",
691
+ "type": {
692
+ "text": "boolean"
693
+ },
694
+ "default": "false",
695
+ "description": "Whether the button is disabled",
696
+ "fieldName": "disabled"
697
+ }
698
+ ],
699
+ "superclass": {
700
+ "name": "LitElement",
701
+ "package": "lit"
702
+ },
703
+ "tagName": "forge-ai-button",
704
+ "customElement": true
705
+ }
706
+ ],
707
+ "exports": [
708
+ {
709
+ "kind": "js",
710
+ "name": "AiButtonComponentTagName",
711
+ "declaration": {
712
+ "name": "AiButtonComponentTagName",
713
+ "module": "src/lib/ai-button/ai-button.ts"
714
+ }
715
+ },
716
+ {
717
+ "kind": "js",
718
+ "name": "AiButtonComponent",
719
+ "declaration": {
720
+ "name": "AiButtonComponent",
721
721
  "module": "src/lib/ai-button/ai-button.ts"
722
722
  }
723
723
  },
@@ -825,6 +825,10 @@
825
825
  {
826
826
  "description": "Slot for custom icon (default: forge-ai-icon)",
827
827
  "name": "icon"
828
+ },
829
+ {
830
+ "description": "Slot for custom header action buttons (rendered before built-in header actions)",
831
+ "name": "header-actions"
828
832
  }
829
833
  ],
830
834
  "members": [
@@ -3326,6 +3330,14 @@
3326
3330
  "description": "Slot for custom header icon (default: forge-ai-icon)",
3327
3331
  "name": "icon"
3328
3332
  },
3333
+ {
3334
+ "description": "Slot for custom header action buttons (rendered before built-in header actions)",
3335
+ "name": "header-actions"
3336
+ },
3337
+ {
3338
+ "description": "Slot for custom empty state icon",
3339
+ "name": "empty-state-icon"
3340
+ },
3329
3341
  {
3330
3342
  "description": "Slot for custom empty state content (overrides default suggestions)",
3331
3343
  "name": "empty-state"
@@ -5238,12 +5250,16 @@
5238
5250
  "name": "icon"
5239
5251
  },
5240
5252
  {
5241
- "description": "Slot for custom heading content",
5253
+ "description": "Slot for custom heading content (welcome view only)",
5242
5254
  "name": "heading"
5243
5255
  },
5244
5256
  {
5245
- "description": "Slot for custom description/welcome message below the title",
5257
+ "description": "Slot for custom description/welcome message below the title (welcome view only)",
5246
5258
  "name": "description"
5259
+ },
5260
+ {
5261
+ "description": "Slot for custom header action buttons in conversation mode (rendered before built-in header actions)",
5262
+ "name": "header-actions"
5247
5263
  }
5248
5264
  ],
5249
5265
  "members": [
@@ -6191,107 +6207,409 @@
6191
6207
  },
6192
6208
  {
6193
6209
  "kind": "javascript-module",
6194
- "path": "src/lib/ai-dropdown-menu/ai-dropdown-menu-item-group.ts",
6210
+ "path": "src/lib/ai-disclaimer/ai-disclaimer.ts",
6195
6211
  "declarations": [
6212
+ {
6213
+ "kind": "variable",
6214
+ "name": "AiDisclaimerComponentTagName",
6215
+ "type": {
6216
+ "text": "keyof HTMLElementTagNameMap"
6217
+ },
6218
+ "default": "'forge-ai-disclaimer'"
6219
+ },
6196
6220
  {
6197
6221
  "kind": "class",
6198
6222
  "description": "",
6199
- "name": "ForgeAiDropdownMenuItemGroupComponent",
6223
+ "name": "AiDisclaimerComponent",
6200
6224
  "slots": [
6201
6225
  {
6202
- "description": "The default slot for dropdown menu items.",
6226
+ "description": "Optional icon at top",
6227
+ "name": "icon"
6228
+ },
6229
+ {
6230
+ "description": "Default slot for scrollable disclaimer content",
6203
6231
  "name": ""
6204
6232
  },
6205
6233
  {
6206
- "description": "The label slot for the group heading text.",
6207
- "name": "label"
6234
+ "description": "Text for Disagree button (default: \"Disagree\")",
6235
+ "name": "disagree-button-text"
6236
+ },
6237
+ {
6238
+ "description": "Text for Agree button (default: \"Agree\")",
6239
+ "name": "agree-button-text"
6208
6240
  }
6209
6241
  ],
6210
6242
  "members": [],
6243
+ "events": [
6244
+ {
6245
+ "name": "forge-ai-disclaimer-agree",
6246
+ "type": {
6247
+ "text": "CustomEvent<void>"
6248
+ },
6249
+ "description": "Fired when Agree button is clicked"
6250
+ },
6251
+ {
6252
+ "name": "forge-ai-disclaimer-disagree",
6253
+ "type": {
6254
+ "text": "CustomEvent<void>"
6255
+ },
6256
+ "description": "Fired when Disagree button is clicked"
6257
+ }
6258
+ ],
6211
6259
  "superclass": {
6212
6260
  "name": "LitElement",
6213
6261
  "package": "lit"
6214
6262
  },
6215
- "summary": "A group component for organizing items within ai-dropdown-menu.",
6216
- "tagName": "forge-ai-dropdown-menu-item-group",
6217
- "customElement": true
6263
+ "tagName": "forge-ai-disclaimer",
6264
+ "customElement": true,
6265
+ "summary": "Disclaimer overlay requiring user acknowledgment"
6218
6266
  }
6219
6267
  ],
6220
6268
  "exports": [
6221
6269
  {
6222
6270
  "kind": "js",
6223
- "name": "ForgeAiDropdownMenuItemGroupComponent",
6271
+ "name": "AiDisclaimerComponentTagName",
6224
6272
  "declaration": {
6225
- "name": "ForgeAiDropdownMenuItemGroupComponent",
6226
- "module": "src/lib/ai-dropdown-menu/ai-dropdown-menu-item-group.ts"
6273
+ "name": "AiDisclaimerComponentTagName",
6274
+ "module": "src/lib/ai-disclaimer/ai-disclaimer.ts"
6275
+ }
6276
+ },
6277
+ {
6278
+ "kind": "js",
6279
+ "name": "AiDisclaimerComponent",
6280
+ "declaration": {
6281
+ "name": "AiDisclaimerComponent",
6282
+ "module": "src/lib/ai-disclaimer/ai-disclaimer.ts"
6227
6283
  }
6228
6284
  },
6229
6285
  {
6230
6286
  "kind": "custom-element-definition",
6231
- "name": "forge-ai-dropdown-menu-item-group",
6232
6287
  "declaration": {
6233
- "name": "ForgeAiDropdownMenuItemGroupComponent",
6234
- "module": "src/lib/ai-dropdown-menu/ai-dropdown-menu-item-group.ts"
6288
+ "name": "AiDisclaimerComponent",
6289
+ "module": "src/lib/ai-disclaimer/ai-disclaimer.ts"
6235
6290
  }
6236
6291
  }
6237
6292
  ]
6238
6293
  },
6239
6294
  {
6240
6295
  "kind": "javascript-module",
6241
- "path": "src/lib/ai-dropdown-menu/ai-dropdown-menu-item.ts",
6296
+ "path": "src/lib/ai-embedded-chat/ai-embedded-chat.ts",
6242
6297
  "declarations": [
6298
+ {
6299
+ "kind": "variable",
6300
+ "name": "AiEmbeddedChatComponentTagName",
6301
+ "type": {
6302
+ "text": "keyof HTMLElementTagNameMap"
6303
+ },
6304
+ "default": "'forge-ai-embedded-chat'"
6305
+ },
6243
6306
  {
6244
6307
  "kind": "class",
6245
6308
  "description": "",
6246
- "name": "ForgeAiDropdownMenuItemComponent",
6247
- "cssProperties": [
6248
- {
6249
- "description": "Size of selection and submenu icons.",
6250
- "name": "--forge-ai-dropdown-menu-item-selection-icon-size"
6251
- }
6252
- ],
6309
+ "name": "AiEmbeddedChatComponent",
6253
6310
  "slots": [
6254
6311
  {
6255
- "description": "The default slot for item text content.",
6256
- "name": ""
6257
- },
6258
- {
6259
- "description": "The description slot for additional item details.",
6260
- "name": "description"
6261
- },
6262
- {
6263
- "description": "The start icon slot.",
6264
- "name": "start"
6265
- },
6266
- {
6267
- "description": "The end icon slot.",
6268
- "name": "end"
6312
+ "description": "Slot for custom header title content (default: \"AI Assistant\")",
6313
+ "name": "header-title"
6269
6314
  },
6270
6315
  {
6271
- "description": "The slot for nested dropdown menu components.",
6272
- "name": "submenu"
6316
+ "description": "Slot for custom empty state heading",
6317
+ "name": "empty-state-heading"
6273
6318
  }
6274
6319
  ],
6275
6320
  "members": [
6276
6321
  {
6277
6322
  "kind": "field",
6278
- "name": "value",
6323
+ "name": "expanded",
6279
6324
  "type": {
6280
- "text": "string"
6325
+ "text": "boolean"
6281
6326
  },
6282
6327
  "privacy": "public",
6283
- "default": "''",
6284
- "description": "The value associated with this menu item.",
6285
- "attribute": "value"
6328
+ "default": "false",
6329
+ "description": "Controls whether the modal view is open when expanded.",
6330
+ "attribute": "expanded"
6286
6331
  },
6287
6332
  {
6288
6333
  "kind": "field",
6289
- "name": "selected",
6334
+ "name": "gradientVariant",
6290
6335
  "type": {
6291
- "text": "boolean"
6336
+ "text": "string"
6292
6337
  },
6293
6338
  "privacy": "public",
6294
- "default": "false",
6339
+ "default": "'medium'",
6340
+ "description": "Gradient variant for embedded view ('low' | 'medium' | 'high', default: 'medium')",
6341
+ "attribute": "gradient-variant"
6342
+ },
6343
+ {
6344
+ "kind": "field",
6345
+ "name": "adapter",
6346
+ "type": {
6347
+ "text": "AgentAdapter"
6348
+ },
6349
+ "privacy": "public",
6350
+ "description": "Required. The adapter for communication with the AI service"
6351
+ },
6352
+ {
6353
+ "kind": "field",
6354
+ "name": "threadId",
6355
+ "type": {
6356
+ "text": "string | undefined"
6357
+ },
6358
+ "privacy": "public",
6359
+ "attribute": "thread-id"
6360
+ },
6361
+ {
6362
+ "kind": "field",
6363
+ "name": "fileUpload",
6364
+ "type": {
6365
+ "text": "FeatureToggle"
6366
+ },
6367
+ "privacy": "public",
6368
+ "default": "'off'",
6369
+ "description": "Enable file upload functionality (default: 'off')",
6370
+ "attribute": "file-upload"
6371
+ },
6372
+ {
6373
+ "kind": "field",
6374
+ "name": "placeholder",
6375
+ "type": {
6376
+ "text": "string"
6377
+ },
6378
+ "privacy": "public",
6379
+ "default": "'Ask a question...'",
6380
+ "description": "Placeholder text for input (default: \"Ask a question...\")",
6381
+ "attribute": "placeholder"
6382
+ },
6383
+ {
6384
+ "kind": "field",
6385
+ "name": "suggestions",
6386
+ "type": {
6387
+ "text": "Suggestion[]"
6388
+ },
6389
+ "privacy": "public",
6390
+ "description": "Optional suggestions for empty state"
6391
+ },
6392
+ {
6393
+ "kind": "method",
6394
+ "name": "expand",
6395
+ "privacy": "public",
6396
+ "return": {
6397
+ "type": {
6398
+ "text": "void"
6399
+ }
6400
+ },
6401
+ "description": "Expands the chat to modal view."
6402
+ },
6403
+ {
6404
+ "kind": "method",
6405
+ "name": "collapse",
6406
+ "privacy": "public",
6407
+ "return": {
6408
+ "type": {
6409
+ "text": "void"
6410
+ }
6411
+ },
6412
+ "description": "Collapses the chat from modal view back to embedded view."
6413
+ }
6414
+ ],
6415
+ "events": [
6416
+ {
6417
+ "type": {
6418
+ "text": "CustomEvent<void>"
6419
+ },
6420
+ "description": "Fired when the chat is expanded to modal view",
6421
+ "name": "forge-ai-embedded-chat-expand"
6422
+ },
6423
+ {
6424
+ "type": {
6425
+ "text": "CustomEvent<void>"
6426
+ },
6427
+ "description": "Fired when the chat is collapsed from modal view",
6428
+ "name": "forge-ai-embedded-chat-collapse"
6429
+ }
6430
+ ],
6431
+ "attributes": [
6432
+ {
6433
+ "name": "expanded",
6434
+ "type": {
6435
+ "text": "boolean"
6436
+ },
6437
+ "default": "false",
6438
+ "description": "Controls whether the modal view is open when expanded.",
6439
+ "fieldName": "expanded"
6440
+ },
6441
+ {
6442
+ "name": "gradient-variant",
6443
+ "type": {
6444
+ "text": "string"
6445
+ },
6446
+ "default": "'medium'",
6447
+ "description": "Gradient variant for embedded view ('low' | 'medium' | 'high', default: 'medium')",
6448
+ "fieldName": "gradientVariant"
6449
+ },
6450
+ {
6451
+ "name": "thread-id",
6452
+ "type": {
6453
+ "text": "string | undefined"
6454
+ },
6455
+ "fieldName": "threadId"
6456
+ },
6457
+ {
6458
+ "name": "file-upload",
6459
+ "type": {
6460
+ "text": "FeatureToggle"
6461
+ },
6462
+ "default": "'off'",
6463
+ "description": "Enable file upload functionality (default: 'off')",
6464
+ "fieldName": "fileUpload"
6465
+ },
6466
+ {
6467
+ "name": "placeholder",
6468
+ "type": {
6469
+ "text": "string"
6470
+ },
6471
+ "default": "'Ask a question...'",
6472
+ "description": "Placeholder text for input (default: \"Ask a question...\")",
6473
+ "fieldName": "placeholder"
6474
+ }
6475
+ ],
6476
+ "superclass": {
6477
+ "name": "LitElement",
6478
+ "package": "lit"
6479
+ },
6480
+ "tagName": "forge-ai-embedded-chat",
6481
+ "customElement": true
6482
+ }
6483
+ ],
6484
+ "exports": [
6485
+ {
6486
+ "kind": "js",
6487
+ "name": "AiEmbeddedChatComponentTagName",
6488
+ "declaration": {
6489
+ "name": "AiEmbeddedChatComponentTagName",
6490
+ "module": "src/lib/ai-embedded-chat/ai-embedded-chat.ts"
6491
+ }
6492
+ },
6493
+ {
6494
+ "kind": "js",
6495
+ "name": "AiEmbeddedChatComponent",
6496
+ "declaration": {
6497
+ "name": "AiEmbeddedChatComponent",
6498
+ "module": "src/lib/ai-embedded-chat/ai-embedded-chat.ts"
6499
+ }
6500
+ },
6501
+ {
6502
+ "kind": "custom-element-definition",
6503
+ "declaration": {
6504
+ "name": "AiEmbeddedChatComponent",
6505
+ "module": "src/lib/ai-embedded-chat/ai-embedded-chat.ts"
6506
+ }
6507
+ }
6508
+ ]
6509
+ },
6510
+ {
6511
+ "kind": "javascript-module",
6512
+ "path": "src/lib/ai-dropdown-menu/ai-dropdown-menu-item-group.ts",
6513
+ "declarations": [
6514
+ {
6515
+ "kind": "class",
6516
+ "description": "",
6517
+ "name": "ForgeAiDropdownMenuItemGroupComponent",
6518
+ "slots": [
6519
+ {
6520
+ "description": "The default slot for dropdown menu items.",
6521
+ "name": ""
6522
+ },
6523
+ {
6524
+ "description": "The label slot for the group heading text.",
6525
+ "name": "label"
6526
+ }
6527
+ ],
6528
+ "members": [],
6529
+ "superclass": {
6530
+ "name": "LitElement",
6531
+ "package": "lit"
6532
+ },
6533
+ "summary": "A group component for organizing items within ai-dropdown-menu.",
6534
+ "tagName": "forge-ai-dropdown-menu-item-group",
6535
+ "customElement": true
6536
+ }
6537
+ ],
6538
+ "exports": [
6539
+ {
6540
+ "kind": "js",
6541
+ "name": "ForgeAiDropdownMenuItemGroupComponent",
6542
+ "declaration": {
6543
+ "name": "ForgeAiDropdownMenuItemGroupComponent",
6544
+ "module": "src/lib/ai-dropdown-menu/ai-dropdown-menu-item-group.ts"
6545
+ }
6546
+ },
6547
+ {
6548
+ "kind": "custom-element-definition",
6549
+ "name": "forge-ai-dropdown-menu-item-group",
6550
+ "declaration": {
6551
+ "name": "ForgeAiDropdownMenuItemGroupComponent",
6552
+ "module": "src/lib/ai-dropdown-menu/ai-dropdown-menu-item-group.ts"
6553
+ }
6554
+ }
6555
+ ]
6556
+ },
6557
+ {
6558
+ "kind": "javascript-module",
6559
+ "path": "src/lib/ai-dropdown-menu/ai-dropdown-menu-item.ts",
6560
+ "declarations": [
6561
+ {
6562
+ "kind": "class",
6563
+ "description": "",
6564
+ "name": "ForgeAiDropdownMenuItemComponent",
6565
+ "cssProperties": [
6566
+ {
6567
+ "description": "Size of selection and submenu icons.",
6568
+ "name": "--forge-ai-dropdown-menu-item-selection-icon-size"
6569
+ }
6570
+ ],
6571
+ "slots": [
6572
+ {
6573
+ "description": "The default slot for item text content.",
6574
+ "name": ""
6575
+ },
6576
+ {
6577
+ "description": "The description slot for additional item details.",
6578
+ "name": "description"
6579
+ },
6580
+ {
6581
+ "description": "The start icon slot.",
6582
+ "name": "start"
6583
+ },
6584
+ {
6585
+ "description": "The end icon slot.",
6586
+ "name": "end"
6587
+ },
6588
+ {
6589
+ "description": "The slot for nested dropdown menu components.",
6590
+ "name": "submenu"
6591
+ }
6592
+ ],
6593
+ "members": [
6594
+ {
6595
+ "kind": "field",
6596
+ "name": "value",
6597
+ "type": {
6598
+ "text": "string"
6599
+ },
6600
+ "privacy": "public",
6601
+ "default": "''",
6602
+ "description": "The value associated with this menu item.",
6603
+ "attribute": "value"
6604
+ },
6605
+ {
6606
+ "kind": "field",
6607
+ "name": "selected",
6608
+ "type": {
6609
+ "text": "boolean"
6610
+ },
6611
+ "privacy": "public",
6612
+ "default": "false",
6295
6613
  "description": "Whether this menu item is selected.",
6296
6614
  "attribute": "selected",
6297
6615
  "reflects": true
@@ -6913,267 +7231,51 @@
6913
7231
  "text": "ForgeAiDropdownMenuItemComponent[]"
6914
7232
  }
6915
7233
  },
6916
- "description": "Gets the currently selected items"
6917
- },
6918
- {
6919
- "kind": "method",
6920
- "name": "getSelectedText",
6921
- "privacy": "public",
6922
- "return": {
6923
- "type": {
6924
- "text": "string"
6925
- }
6926
- },
6927
- "description": "Gets text representation of the current selection"
6928
- },
6929
- {
6930
- "kind": "method",
6931
- "name": "shouldShowSelectedText",
6932
- "privacy": "public",
6933
- "return": {
6934
- "type": {
6935
- "text": "boolean"
6936
- }
6937
- },
6938
- "description": "Checks if selection text should be displayed"
6939
- },
6940
- {
6941
- "kind": "method",
6942
- "name": "reset",
6943
- "privacy": "public",
6944
- "return": {
6945
- "type": {
6946
- "text": "void"
6947
- }
6948
- },
6949
- "description": "Resets the selection state"
6950
- }
6951
- ]
6952
- }
6953
- ],
6954
- "exports": [
6955
- {
6956
- "kind": "js",
6957
- "name": "SelectionManager",
6958
- "declaration": {
6959
- "name": "SelectionManager",
6960
- "module": "src/lib/ai-dropdown-menu/selection-manager.ts"
6961
- }
6962
- }
6963
- ]
6964
- },
6965
- {
6966
- "kind": "javascript-module",
6967
- "path": "src/lib/ai-embedded-chat/ai-embedded-chat.ts",
6968
- "declarations": [
6969
- {
6970
- "kind": "variable",
6971
- "name": "AiEmbeddedChatComponentTagName",
6972
- "type": {
6973
- "text": "keyof HTMLElementTagNameMap"
6974
- },
6975
- "default": "'forge-ai-embedded-chat'"
6976
- },
6977
- {
6978
- "kind": "class",
6979
- "description": "",
6980
- "name": "AiEmbeddedChatComponent",
6981
- "slots": [
6982
- {
6983
- "description": "Slot for custom header title content (default: \"AI Assistant\")",
6984
- "name": "header-title"
6985
- },
6986
- {
6987
- "description": "Slot for custom empty state heading",
6988
- "name": "empty-state-heading"
6989
- }
6990
- ],
6991
- "members": [
6992
- {
6993
- "kind": "field",
6994
- "name": "expanded",
6995
- "type": {
6996
- "text": "boolean"
6997
- },
6998
- "privacy": "public",
6999
- "default": "false",
7000
- "description": "Controls whether the modal view is open when expanded.",
7001
- "attribute": "expanded"
7002
- },
7003
- {
7004
- "kind": "field",
7005
- "name": "gradientVariant",
7006
- "type": {
7007
- "text": "string"
7008
- },
7009
- "privacy": "public",
7010
- "default": "'medium'",
7011
- "description": "Gradient variant for embedded view ('low' | 'medium' | 'high', default: 'medium')",
7012
- "attribute": "gradient-variant"
7013
- },
7014
- {
7015
- "kind": "field",
7016
- "name": "adapter",
7017
- "type": {
7018
- "text": "AgentAdapter"
7019
- },
7020
- "privacy": "public",
7021
- "description": "Required. The adapter for communication with the AI service"
7022
- },
7023
- {
7024
- "kind": "field",
7025
- "name": "threadId",
7026
- "type": {
7027
- "text": "string | undefined"
7028
- },
7029
- "privacy": "public",
7030
- "attribute": "thread-id"
7031
- },
7032
- {
7033
- "kind": "field",
7034
- "name": "fileUpload",
7035
- "type": {
7036
- "text": "FeatureToggle"
7037
- },
7038
- "privacy": "public",
7039
- "default": "'off'",
7040
- "description": "Enable file upload functionality (default: 'off')",
7041
- "attribute": "file-upload"
7042
- },
7043
- {
7044
- "kind": "field",
7045
- "name": "placeholder",
7046
- "type": {
7047
- "text": "string"
7048
- },
7049
- "privacy": "public",
7050
- "default": "'Ask a question...'",
7051
- "description": "Placeholder text for input (default: \"Ask a question...\")",
7052
- "attribute": "placeholder"
7053
- },
7054
- {
7055
- "kind": "field",
7056
- "name": "suggestions",
7057
- "type": {
7058
- "text": "Suggestion[]"
7059
- },
7060
- "privacy": "public",
7061
- "description": "Optional suggestions for empty state"
7062
- },
7063
- {
7064
- "kind": "method",
7065
- "name": "expand",
7066
- "privacy": "public",
7067
- "return": {
7068
- "type": {
7069
- "text": "void"
7070
- }
7071
- },
7072
- "description": "Expands the chat to modal view."
7073
- },
7074
- {
7075
- "kind": "method",
7076
- "name": "collapse",
7077
- "privacy": "public",
7078
- "return": {
7079
- "type": {
7080
- "text": "void"
7081
- }
7082
- },
7083
- "description": "Collapses the chat from modal view back to embedded view."
7084
- }
7085
- ],
7086
- "events": [
7087
- {
7088
- "type": {
7089
- "text": "CustomEvent<void>"
7090
- },
7091
- "description": "Fired when the chat is expanded to modal view",
7092
- "name": "forge-ai-embedded-chat-expand"
7093
- },
7094
- {
7095
- "type": {
7096
- "text": "CustomEvent<void>"
7097
- },
7098
- "description": "Fired when the chat is collapsed from modal view",
7099
- "name": "forge-ai-embedded-chat-collapse"
7100
- }
7101
- ],
7102
- "attributes": [
7103
- {
7104
- "name": "expanded",
7105
- "type": {
7106
- "text": "boolean"
7107
- },
7108
- "default": "false",
7109
- "description": "Controls whether the modal view is open when expanded.",
7110
- "fieldName": "expanded"
7111
- },
7112
- {
7113
- "name": "gradient-variant",
7114
- "type": {
7115
- "text": "string"
7116
- },
7117
- "default": "'medium'",
7118
- "description": "Gradient variant for embedded view ('low' | 'medium' | 'high', default: 'medium')",
7119
- "fieldName": "gradientVariant"
7234
+ "description": "Gets the currently selected items"
7120
7235
  },
7121
7236
  {
7122
- "name": "thread-id",
7123
- "type": {
7124
- "text": "string | undefined"
7237
+ "kind": "method",
7238
+ "name": "getSelectedText",
7239
+ "privacy": "public",
7240
+ "return": {
7241
+ "type": {
7242
+ "text": "string"
7243
+ }
7125
7244
  },
7126
- "fieldName": "threadId"
7245
+ "description": "Gets text representation of the current selection"
7127
7246
  },
7128
7247
  {
7129
- "name": "file-upload",
7130
- "type": {
7131
- "text": "FeatureToggle"
7248
+ "kind": "method",
7249
+ "name": "shouldShowSelectedText",
7250
+ "privacy": "public",
7251
+ "return": {
7252
+ "type": {
7253
+ "text": "boolean"
7254
+ }
7132
7255
  },
7133
- "default": "'off'",
7134
- "description": "Enable file upload functionality (default: 'off')",
7135
- "fieldName": "fileUpload"
7256
+ "description": "Checks if selection text should be displayed"
7136
7257
  },
7137
7258
  {
7138
- "name": "placeholder",
7139
- "type": {
7140
- "text": "string"
7259
+ "kind": "method",
7260
+ "name": "reset",
7261
+ "privacy": "public",
7262
+ "return": {
7263
+ "type": {
7264
+ "text": "void"
7265
+ }
7141
7266
  },
7142
- "default": "'Ask a question...'",
7143
- "description": "Placeholder text for input (default: \"Ask a question...\")",
7144
- "fieldName": "placeholder"
7267
+ "description": "Resets the selection state"
7145
7268
  }
7146
- ],
7147
- "superclass": {
7148
- "name": "LitElement",
7149
- "package": "lit"
7150
- },
7151
- "tagName": "forge-ai-embedded-chat",
7152
- "customElement": true
7269
+ ]
7153
7270
  }
7154
7271
  ],
7155
7272
  "exports": [
7156
7273
  {
7157
7274
  "kind": "js",
7158
- "name": "AiEmbeddedChatComponentTagName",
7159
- "declaration": {
7160
- "name": "AiEmbeddedChatComponentTagName",
7161
- "module": "src/lib/ai-embedded-chat/ai-embedded-chat.ts"
7162
- }
7163
- },
7164
- {
7165
- "kind": "js",
7166
- "name": "AiEmbeddedChatComponent",
7167
- "declaration": {
7168
- "name": "AiEmbeddedChatComponent",
7169
- "module": "src/lib/ai-embedded-chat/ai-embedded-chat.ts"
7170
- }
7171
- },
7172
- {
7173
- "kind": "custom-element-definition",
7275
+ "name": "SelectionManager",
7174
7276
  "declaration": {
7175
- "name": "AiEmbeddedChatComponent",
7176
- "module": "src/lib/ai-embedded-chat/ai-embedded-chat.ts"
7277
+ "name": "SelectionManager",
7278
+ "module": "src/lib/ai-dropdown-menu/selection-manager.ts"
7177
7279
  }
7178
7280
  }
7179
7281
  ]
@@ -7200,7 +7302,7 @@
7200
7302
  "name": ""
7201
7303
  },
7202
7304
  {
7203
- "description": "The custom icon/graphic to display.",
7305
+ "description": "The icon/graphic to display.",
7204
7306
  "name": "icon"
7205
7307
  },
7206
7308
  {
@@ -7391,10 +7493,28 @@
7391
7493
  "kind": "class",
7392
7494
  "description": "",
7393
7495
  "name": "AiFabComponent",
7496
+ "cssProperties": [
7497
+ {
7498
+ "description": "The background color. Defaults to the gradient container background color.",
7499
+ "name": "--forge-fab-background"
7500
+ },
7501
+ {
7502
+ "description": "The color of the text. Only applies when in the extended state.",
7503
+ "name": "--forge-fab-text-color"
7504
+ },
7505
+ {
7506
+ "description": "The color of the outline. Defaults to the gradient container high state.",
7507
+ "name": "--forge-fab-outline-color"
7508
+ }
7509
+ ],
7394
7510
  "slots": [
7395
7511
  {
7396
7512
  "description": "Default slot for button content",
7397
7513
  "name": ""
7514
+ },
7515
+ {
7516
+ "description": "Slot for the icon",
7517
+ "name": "icon"
7398
7518
  }
7399
7519
  ],
7400
7520
  "members": [
@@ -7858,113 +7978,339 @@
7858
7978
  "type": {
7859
7979
  "text": "AiGradientContainerVariant"
7860
7980
  },
7861
- "default": "'medium'",
7862
- "description": "Gradient intensity variant",
7863
- "fieldName": "variant"
7981
+ "default": "'medium'",
7982
+ "description": "Gradient intensity variant",
7983
+ "fieldName": "variant"
7984
+ }
7985
+ ],
7986
+ "superclass": {
7987
+ "name": "LitElement",
7988
+ "package": "lit"
7989
+ },
7990
+ "tagName": "forge-ai-gradient-container",
7991
+ "customElement": true,
7992
+ "states": [
7993
+ {
7994
+ "name": "low",
7995
+ "description": "The container displays a low intensity gradient."
7996
+ },
7997
+ {
7998
+ "name": "medium",
7999
+ "description": "The container displays a medium intensity gradient."
8000
+ },
8001
+ {
8002
+ "name": "high",
8003
+ "description": "The container displays a high intensity gradient."
8004
+ }
8005
+ ]
8006
+ }
8007
+ ],
8008
+ "exports": [
8009
+ {
8010
+ "kind": "js",
8011
+ "name": "AiGradientContainerComponentTagName",
8012
+ "declaration": {
8013
+ "name": "AiGradientContainerComponentTagName",
8014
+ "module": "src/lib/ai-gradient-container/ai-gradient-container.ts"
8015
+ }
8016
+ },
8017
+ {
8018
+ "kind": "js",
8019
+ "name": "AiGradientContainerComponent",
8020
+ "declaration": {
8021
+ "name": "AiGradientContainerComponent",
8022
+ "module": "src/lib/ai-gradient-container/ai-gradient-container.ts"
8023
+ }
8024
+ },
8025
+ {
8026
+ "kind": "custom-element-definition",
8027
+ "declaration": {
8028
+ "name": "AiGradientContainerComponent",
8029
+ "module": "src/lib/ai-gradient-container/ai-gradient-container.ts"
8030
+ }
8031
+ }
8032
+ ]
8033
+ },
8034
+ {
8035
+ "kind": "javascript-module",
8036
+ "path": "src/lib/ai-icon/ai-icon.ts",
8037
+ "declarations": [
8038
+ {
8039
+ "kind": "variable",
8040
+ "name": "AiIconComponentTagName",
8041
+ "type": {
8042
+ "text": "keyof HTMLElementTagNameMap"
8043
+ },
8044
+ "default": "'forge-ai-icon'"
8045
+ },
8046
+ {
8047
+ "kind": "class",
8048
+ "description": "",
8049
+ "name": "AiIconComponent",
8050
+ "members": [
8051
+ {
8052
+ "kind": "field",
8053
+ "name": "outline",
8054
+ "type": {
8055
+ "text": "boolean"
8056
+ },
8057
+ "privacy": "public",
8058
+ "default": "false",
8059
+ "description": "Whether to display the icon with an outline",
8060
+ "attribute": "outline"
8061
+ }
8062
+ ],
8063
+ "attributes": [
8064
+ {
8065
+ "name": "outline",
8066
+ "type": {
8067
+ "text": "boolean"
8068
+ },
8069
+ "default": "false",
8070
+ "description": "Whether to display the icon with an outline",
8071
+ "fieldName": "outline"
8072
+ }
8073
+ ],
8074
+ "superclass": {
8075
+ "name": "LitElement",
8076
+ "package": "lit"
8077
+ },
8078
+ "tagName": "forge-ai-icon",
8079
+ "customElement": true,
8080
+ "states": [
8081
+ {
8082
+ "name": "no-border",
8083
+ "description": "The icon is displayed without a border."
8084
+ },
8085
+ {
8086
+ "name": "border",
8087
+ "description": "The icon is displayed with a border."
8088
+ }
8089
+ ]
8090
+ }
8091
+ ],
8092
+ "exports": [
8093
+ {
8094
+ "kind": "js",
8095
+ "name": "AiIconComponentTagName",
8096
+ "declaration": {
8097
+ "name": "AiIconComponentTagName",
8098
+ "module": "src/lib/ai-icon/ai-icon.ts"
8099
+ }
8100
+ },
8101
+ {
8102
+ "kind": "js",
8103
+ "name": "AiIconComponent",
8104
+ "declaration": {
8105
+ "name": "AiIconComponent",
8106
+ "module": "src/lib/ai-icon/ai-icon.ts"
8107
+ }
8108
+ },
8109
+ {
8110
+ "kind": "custom-element-definition",
8111
+ "declaration": {
8112
+ "name": "AiIconComponent",
8113
+ "module": "src/lib/ai-icon/ai-icon.ts"
8114
+ }
8115
+ }
8116
+ ]
8117
+ },
8118
+ {
8119
+ "kind": "javascript-module",
8120
+ "path": "src/lib/ai-icon-button/ai-icon-button.ts",
8121
+ "declarations": [
8122
+ {
8123
+ "kind": "variable",
8124
+ "name": "AiIconButtonComponentTagName",
8125
+ "type": {
8126
+ "text": "keyof HTMLElementTagNameMap"
8127
+ },
8128
+ "default": "'forge-ai-icon-button'"
8129
+ },
8130
+ {
8131
+ "kind": "class",
8132
+ "description": "",
8133
+ "name": "AiIconButtonComponent",
8134
+ "members": [
8135
+ {
8136
+ "kind": "field",
8137
+ "name": "disabled",
8138
+ "type": {
8139
+ "text": "boolean"
8140
+ },
8141
+ "privacy": "public",
8142
+ "default": "false",
8143
+ "description": "Whether the button is disabled",
8144
+ "attribute": "disabled",
8145
+ "reflects": true
8146
+ }
8147
+ ],
8148
+ "attributes": [
8149
+ {
8150
+ "name": "disabled",
8151
+ "type": {
8152
+ "text": "boolean"
8153
+ },
8154
+ "default": "false",
8155
+ "description": "Whether the button is disabled",
8156
+ "fieldName": "disabled"
7864
8157
  }
7865
8158
  ],
7866
8159
  "superclass": {
7867
8160
  "name": "LitElement",
7868
8161
  "package": "lit"
7869
8162
  },
7870
- "tagName": "forge-ai-gradient-container",
7871
- "customElement": true,
7872
- "states": [
7873
- {
7874
- "name": "low",
7875
- "description": "The container displays a low intensity gradient."
7876
- },
7877
- {
7878
- "name": "medium",
7879
- "description": "The container displays a medium intensity gradient."
7880
- },
7881
- {
7882
- "name": "high",
7883
- "description": "The container displays a high intensity gradient."
7884
- }
7885
- ]
8163
+ "tagName": "forge-ai-icon-button",
8164
+ "customElement": true
7886
8165
  }
7887
8166
  ],
7888
8167
  "exports": [
7889
8168
  {
7890
8169
  "kind": "js",
7891
- "name": "AiGradientContainerComponentTagName",
8170
+ "name": "AiIconButtonComponentTagName",
7892
8171
  "declaration": {
7893
- "name": "AiGradientContainerComponentTagName",
7894
- "module": "src/lib/ai-gradient-container/ai-gradient-container.ts"
8172
+ "name": "AiIconButtonComponentTagName",
8173
+ "module": "src/lib/ai-icon-button/ai-icon-button.ts"
7895
8174
  }
7896
8175
  },
7897
8176
  {
7898
8177
  "kind": "js",
7899
- "name": "AiGradientContainerComponent",
8178
+ "name": "AiIconButtonComponent",
7900
8179
  "declaration": {
7901
- "name": "AiGradientContainerComponent",
7902
- "module": "src/lib/ai-gradient-container/ai-gradient-container.ts"
8180
+ "name": "AiIconButtonComponent",
8181
+ "module": "src/lib/ai-icon-button/ai-icon-button.ts"
7903
8182
  }
7904
8183
  },
7905
8184
  {
7906
8185
  "kind": "custom-element-definition",
7907
8186
  "declaration": {
7908
- "name": "AiGradientContainerComponent",
7909
- "module": "src/lib/ai-gradient-container/ai-gradient-container.ts"
8187
+ "name": "AiIconButtonComponent",
8188
+ "module": "src/lib/ai-icon-button/ai-icon-button.ts"
7910
8189
  }
7911
8190
  }
7912
8191
  ]
7913
8192
  },
7914
8193
  {
7915
8194
  "kind": "javascript-module",
7916
- "path": "src/lib/ai-icon/ai-icon.ts",
8195
+ "path": "src/lib/ai-modal/ai-modal.ts",
7917
8196
  "declarations": [
7918
- {
7919
- "kind": "variable",
7920
- "name": "AiIconComponentTagName",
7921
- "type": {
7922
- "text": "keyof HTMLElementTagNameMap"
7923
- },
7924
- "default": "'forge-ai-icon'"
7925
- },
7926
8197
  {
7927
8198
  "kind": "class",
7928
8199
  "description": "",
7929
- "name": "AiIconComponent",
8200
+ "name": "AiModalComponent",
8201
+ "cssProperties": [
8202
+ {
8203
+ "description": "Width of the modal in non-fullscreen mode",
8204
+ "name": "--forge-ai-modal-width"
8205
+ },
8206
+ {
8207
+ "description": "Height of the modal in non-fullscreen mode",
8208
+ "name": "--forge-ai-modal-height"
8209
+ }
8210
+ ],
8211
+ "slots": [
8212
+ {
8213
+ "description": "Default slot for modal content",
8214
+ "name": ""
8215
+ }
8216
+ ],
7930
8217
  "members": [
7931
8218
  {
7932
8219
  "kind": "field",
7933
- "name": "outline",
8220
+ "name": "open",
7934
8221
  "type": {
7935
8222
  "text": "boolean"
7936
8223
  },
7937
8224
  "privacy": "public",
7938
8225
  "default": "false",
7939
- "description": "Whether to display the icon with an outline",
7940
- "attribute": "outline"
8226
+ "description": "Controls whether the modal is open or closed.",
8227
+ "attribute": "open"
8228
+ },
8229
+ {
8230
+ "kind": "field",
8231
+ "name": "fullscreen",
8232
+ "type": {
8233
+ "text": "boolean | undefined"
8234
+ },
8235
+ "privacy": "public",
8236
+ "description": "Controls whether the modal is displayed in fullscreen mode.\nWhen not explicitly set, this will be automatically determined based on viewport size.",
8237
+ "attribute": "fullscreen"
8238
+ },
8239
+ {
8240
+ "kind": "method",
8241
+ "name": "show",
8242
+ "privacy": "public",
8243
+ "return": {
8244
+ "type": {
8245
+ "text": "void"
8246
+ }
8247
+ },
8248
+ "description": "Shows the modal dialog."
8249
+ },
8250
+ {
8251
+ "kind": "method",
8252
+ "name": "close",
8253
+ "privacy": "public",
8254
+ "return": {
8255
+ "type": {
8256
+ "text": "void"
8257
+ }
8258
+ },
8259
+ "description": "Closes the modal dialog."
8260
+ }
8261
+ ],
8262
+ "events": [
8263
+ {
8264
+ "name": "forge-ai-modal-open",
8265
+ "type": {
8266
+ "text": "CustomEvent<void>"
8267
+ },
8268
+ "description": "Fired when the modal is opened"
8269
+ },
8270
+ {
8271
+ "name": "forge-ai-modal-close",
8272
+ "type": {
8273
+ "text": "CustomEvent<void>"
8274
+ },
8275
+ "description": "Fired when the modal is closed"
8276
+ },
8277
+ {
8278
+ "type": {
8279
+ "text": "CustomEvent<{ isFullscreen: boolean }>"
8280
+ },
8281
+ "description": "Fired when the fullscreen state changes",
8282
+ "name": "forge-ai-modal-fullscreen-change"
7941
8283
  }
7942
8284
  ],
7943
8285
  "attributes": [
7944
8286
  {
7945
- "name": "outline",
8287
+ "name": "open",
7946
8288
  "type": {
7947
8289
  "text": "boolean"
7948
8290
  },
7949
8291
  "default": "false",
7950
- "description": "Whether to display the icon with an outline",
7951
- "fieldName": "outline"
8292
+ "description": "Controls whether the modal is open or closed.",
8293
+ "fieldName": "open"
8294
+ },
8295
+ {
8296
+ "name": "fullscreen",
8297
+ "type": {
8298
+ "text": "boolean | undefined"
8299
+ },
8300
+ "description": "Controls whether the modal is displayed in fullscreen mode.\nWhen not explicitly set, this will be automatically determined based on viewport size.",
8301
+ "fieldName": "fullscreen"
7952
8302
  }
7953
8303
  ],
7954
8304
  "superclass": {
7955
8305
  "name": "LitElement",
7956
8306
  "package": "lit"
7957
8307
  },
7958
- "tagName": "forge-ai-icon",
8308
+ "tagName": "forge-ai-modal",
7959
8309
  "customElement": true,
7960
8310
  "states": [
7961
8311
  {
7962
- "name": "no-border",
7963
- "description": "The icon is displayed without a border."
7964
- },
7965
- {
7966
- "name": "border",
7967
- "description": "The icon is displayed with a border."
8312
+ "name": "fullscreen",
8313
+ "description": "The modal is in fullscreen mode"
7968
8314
  }
7969
8315
  ]
7970
8316
  }
@@ -7972,25 +8318,18 @@
7972
8318
  "exports": [
7973
8319
  {
7974
8320
  "kind": "js",
7975
- "name": "AiIconComponentTagName",
7976
- "declaration": {
7977
- "name": "AiIconComponentTagName",
7978
- "module": "src/lib/ai-icon/ai-icon.ts"
7979
- }
7980
- },
7981
- {
7982
- "kind": "js",
7983
- "name": "AiIconComponent",
8321
+ "name": "AiModalComponent",
7984
8322
  "declaration": {
7985
- "name": "AiIconComponent",
7986
- "module": "src/lib/ai-icon/ai-icon.ts"
8323
+ "name": "AiModalComponent",
8324
+ "module": "src/lib/ai-modal/ai-modal.ts"
7987
8325
  }
7988
8326
  },
7989
8327
  {
7990
8328
  "kind": "custom-element-definition",
8329
+ "name": "forge-ai-modal",
7991
8330
  "declaration": {
7992
- "name": "AiIconComponent",
7993
- "module": "src/lib/ai-icon/ai-icon.ts"
8331
+ "name": "AiModalComponent",
8332
+ "module": "src/lib/ai-modal/ai-modal.ts"
7994
8333
  }
7995
8334
  }
7996
8335
  ]
@@ -8018,10 +8357,18 @@
8018
8357
  }
8019
8358
  ],
8020
8359
  "slots": [
8360
+ {
8361
+ "description": "Slot for custom empty state icon",
8362
+ "name": "empty-state-icon"
8363
+ },
8021
8364
  {
8022
8365
  "description": "Slot for custom empty state heading content",
8023
8366
  "name": "empty-state-heading"
8024
8367
  },
8368
+ {
8369
+ "description": "Slot for custom empty state message content",
8370
+ "name": "empty-state-message"
8371
+ },
8025
8372
  {
8026
8373
  "description": "Slot for custom empty state actions (e.g., suggestions)",
8027
8374
  "name": "empty-state-actions"
@@ -8145,136 +8492,61 @@
8145
8492
  "fieldName": "enableReactions"
8146
8493
  },
8147
8494
  {
8148
- "name": "show-thinking",
8149
- "type": {
8150
- "text": "boolean"
8151
- },
8152
- "default": "false",
8153
- "fieldName": "showThinking"
8154
- },
8155
- {
8156
- "name": "auto-scroll",
8157
- "type": {
8158
- "text": "FeatureToggle"
8159
- },
8160
- "default": "'on'",
8161
- "fieldName": "autoScroll"
8162
- },
8163
- {
8164
- "name": "debug-mode",
8165
- "type": {
8166
- "text": "boolean"
8167
- },
8168
- "default": "false",
8169
- "fieldName": "debugMode"
8170
- }
8171
- ],
8172
- "superclass": {
8173
- "name": "LitElement",
8174
- "package": "lit"
8175
- },
8176
- "tagName": "forge-ai-message-thread",
8177
- "customElement": true,
8178
- "summary": "A primitive component for rendering a thread of chat messages, including user, assistant, system, and tool call messages."
8179
- }
8180
- ],
8181
- "exports": [
8182
- {
8183
- "kind": "js",
8184
- "name": "AiMessageThreadComponentTagName",
8185
- "declaration": {
8186
- "name": "AiMessageThreadComponentTagName",
8187
- "module": "src/lib/ai-message-thread/ai-message-thread.ts"
8188
- }
8189
- },
8190
- {
8191
- "kind": "js",
8192
- "name": "AiMessageThreadComponent",
8193
- "declaration": {
8194
- "name": "AiMessageThreadComponent",
8195
- "module": "src/lib/ai-message-thread/ai-message-thread.ts"
8196
- }
8197
- },
8198
- {
8199
- "kind": "custom-element-definition",
8200
- "declaration": {
8201
- "name": "AiMessageThreadComponent",
8202
- "module": "src/lib/ai-message-thread/ai-message-thread.ts"
8203
- }
8204
- }
8205
- ]
8206
- },
8207
- {
8208
- "kind": "javascript-module",
8209
- "path": "src/lib/ai-icon-button/ai-icon-button.ts",
8210
- "declarations": [
8211
- {
8212
- "kind": "variable",
8213
- "name": "AiIconButtonComponentTagName",
8214
- "type": {
8215
- "text": "keyof HTMLElementTagNameMap"
8216
- },
8217
- "default": "'forge-ai-icon-button'"
8218
- },
8219
- {
8220
- "kind": "class",
8221
- "description": "",
8222
- "name": "AiIconButtonComponent",
8223
- "members": [
8224
- {
8225
- "kind": "field",
8226
- "name": "disabled",
8495
+ "name": "show-thinking",
8227
8496
  "type": {
8228
8497
  "text": "boolean"
8229
8498
  },
8230
- "privacy": "public",
8231
8499
  "default": "false",
8232
- "description": "Whether the button is disabled",
8233
- "attribute": "disabled",
8234
- "reflects": true
8235
- }
8236
- ],
8237
- "attributes": [
8500
+ "fieldName": "showThinking"
8501
+ },
8238
8502
  {
8239
- "name": "disabled",
8503
+ "name": "auto-scroll",
8504
+ "type": {
8505
+ "text": "FeatureToggle"
8506
+ },
8507
+ "default": "'on'",
8508
+ "fieldName": "autoScroll"
8509
+ },
8510
+ {
8511
+ "name": "debug-mode",
8240
8512
  "type": {
8241
8513
  "text": "boolean"
8242
8514
  },
8243
8515
  "default": "false",
8244
- "description": "Whether the button is disabled",
8245
- "fieldName": "disabled"
8516
+ "fieldName": "debugMode"
8246
8517
  }
8247
8518
  ],
8248
8519
  "superclass": {
8249
8520
  "name": "LitElement",
8250
8521
  "package": "lit"
8251
8522
  },
8252
- "tagName": "forge-ai-icon-button",
8253
- "customElement": true
8523
+ "tagName": "forge-ai-message-thread",
8524
+ "customElement": true,
8525
+ "summary": "A primitive component for rendering a thread of chat messages, including user, assistant, system, and tool call messages."
8254
8526
  }
8255
8527
  ],
8256
8528
  "exports": [
8257
8529
  {
8258
8530
  "kind": "js",
8259
- "name": "AiIconButtonComponentTagName",
8531
+ "name": "AiMessageThreadComponentTagName",
8260
8532
  "declaration": {
8261
- "name": "AiIconButtonComponentTagName",
8262
- "module": "src/lib/ai-icon-button/ai-icon-button.ts"
8533
+ "name": "AiMessageThreadComponentTagName",
8534
+ "module": "src/lib/ai-message-thread/ai-message-thread.ts"
8263
8535
  }
8264
8536
  },
8265
8537
  {
8266
8538
  "kind": "js",
8267
- "name": "AiIconButtonComponent",
8539
+ "name": "AiMessageThreadComponent",
8268
8540
  "declaration": {
8269
- "name": "AiIconButtonComponent",
8270
- "module": "src/lib/ai-icon-button/ai-icon-button.ts"
8541
+ "name": "AiMessageThreadComponent",
8542
+ "module": "src/lib/ai-message-thread/ai-message-thread.ts"
8271
8543
  }
8272
8544
  },
8273
8545
  {
8274
8546
  "kind": "custom-element-definition",
8275
8547
  "declaration": {
8276
- "name": "AiIconButtonComponent",
8277
- "module": "src/lib/ai-icon-button/ai-icon-button.ts"
8548
+ "name": "AiMessageThreadComponent",
8549
+ "module": "src/lib/ai-message-thread/ai-message-thread.ts"
8278
8550
  }
8279
8551
  }
8280
8552
  ]
@@ -8659,150 +8931,6 @@
8659
8931
  }
8660
8932
  ]
8661
8933
  },
8662
- {
8663
- "kind": "javascript-module",
8664
- "path": "src/lib/ai-modal/ai-modal.ts",
8665
- "declarations": [
8666
- {
8667
- "kind": "class",
8668
- "description": "",
8669
- "name": "AiModalComponent",
8670
- "cssProperties": [
8671
- {
8672
- "description": "Width of the modal in non-fullscreen mode",
8673
- "name": "--forge-ai-modal-width"
8674
- },
8675
- {
8676
- "description": "Height of the modal in non-fullscreen mode",
8677
- "name": "--forge-ai-modal-height"
8678
- }
8679
- ],
8680
- "slots": [
8681
- {
8682
- "description": "Default slot for modal content",
8683
- "name": ""
8684
- }
8685
- ],
8686
- "members": [
8687
- {
8688
- "kind": "field",
8689
- "name": "open",
8690
- "type": {
8691
- "text": "boolean"
8692
- },
8693
- "privacy": "public",
8694
- "default": "false",
8695
- "description": "Controls whether the modal is open or closed.",
8696
- "attribute": "open"
8697
- },
8698
- {
8699
- "kind": "field",
8700
- "name": "fullscreen",
8701
- "type": {
8702
- "text": "boolean | undefined"
8703
- },
8704
- "privacy": "public",
8705
- "description": "Controls whether the modal is displayed in fullscreen mode.\nWhen not explicitly set, this will be automatically determined based on viewport size.",
8706
- "attribute": "fullscreen"
8707
- },
8708
- {
8709
- "kind": "method",
8710
- "name": "show",
8711
- "privacy": "public",
8712
- "return": {
8713
- "type": {
8714
- "text": "void"
8715
- }
8716
- },
8717
- "description": "Shows the modal dialog."
8718
- },
8719
- {
8720
- "kind": "method",
8721
- "name": "close",
8722
- "privacy": "public",
8723
- "return": {
8724
- "type": {
8725
- "text": "void"
8726
- }
8727
- },
8728
- "description": "Closes the modal dialog."
8729
- }
8730
- ],
8731
- "events": [
8732
- {
8733
- "name": "forge-ai-modal-open",
8734
- "type": {
8735
- "text": "CustomEvent<void>"
8736
- },
8737
- "description": "Fired when the modal is opened"
8738
- },
8739
- {
8740
- "name": "forge-ai-modal-close",
8741
- "type": {
8742
- "text": "CustomEvent<void>"
8743
- },
8744
- "description": "Fired when the modal is closed"
8745
- },
8746
- {
8747
- "type": {
8748
- "text": "CustomEvent<{ isFullscreen: boolean }>"
8749
- },
8750
- "description": "Fired when the fullscreen state changes",
8751
- "name": "forge-ai-modal-fullscreen-change"
8752
- }
8753
- ],
8754
- "attributes": [
8755
- {
8756
- "name": "open",
8757
- "type": {
8758
- "text": "boolean"
8759
- },
8760
- "default": "false",
8761
- "description": "Controls whether the modal is open or closed.",
8762
- "fieldName": "open"
8763
- },
8764
- {
8765
- "name": "fullscreen",
8766
- "type": {
8767
- "text": "boolean | undefined"
8768
- },
8769
- "description": "Controls whether the modal is displayed in fullscreen mode.\nWhen not explicitly set, this will be automatically determined based on viewport size.",
8770
- "fieldName": "fullscreen"
8771
- }
8772
- ],
8773
- "superclass": {
8774
- "name": "LitElement",
8775
- "package": "lit"
8776
- },
8777
- "tagName": "forge-ai-modal",
8778
- "customElement": true,
8779
- "states": [
8780
- {
8781
- "name": "fullscreen",
8782
- "description": "The modal is in fullscreen mode"
8783
- }
8784
- ]
8785
- }
8786
- ],
8787
- "exports": [
8788
- {
8789
- "kind": "js",
8790
- "name": "AiModalComponent",
8791
- "declaration": {
8792
- "name": "AiModalComponent",
8793
- "module": "src/lib/ai-modal/ai-modal.ts"
8794
- }
8795
- },
8796
- {
8797
- "kind": "custom-element-definition",
8798
- "name": "forge-ai-modal",
8799
- "declaration": {
8800
- "name": "AiModalComponent",
8801
- "module": "src/lib/ai-modal/ai-modal.ts"
8802
- }
8803
- }
8804
- ]
8805
- },
8806
8934
  {
8807
8935
  "kind": "javascript-module",
8808
8936
  "path": "src/lib/ai-reasoning/ai-reasoning.ts",
@@ -8827,105 +8955,53 @@
8827
8955
  "text": "boolean"
8828
8956
  },
8829
8957
  "privacy": "public",
8830
- "default": "false",
8831
- "description": "Whether the reasoning is expanded",
8832
- "attribute": "expanded",
8833
- "reflects": true
8834
- }
8835
- ],
8836
- "attributes": [
8837
- {
8838
- "name": "expanded",
8839
- "type": {
8840
- "text": "boolean"
8841
- },
8842
- "default": "false",
8843
- "description": "Whether the reasoning is expanded",
8844
- "fieldName": "expanded"
8845
- }
8846
- ],
8847
- "superclass": {
8848
- "name": "LitElement",
8849
- "package": "lit"
8850
- },
8851
- "tagName": "forge-ai-reasoning",
8852
- "customElement": true
8853
- }
8854
- ],
8855
- "exports": [
8856
- {
8857
- "kind": "js",
8858
- "name": "AiReasoningComponentTagName",
8859
- "declaration": {
8860
- "name": "AiReasoningComponentTagName",
8861
- "module": "src/lib/ai-reasoning/ai-reasoning.ts"
8862
- }
8863
- },
8864
- {
8865
- "kind": "js",
8866
- "name": "AiReasoningComponent",
8867
- "declaration": {
8868
- "name": "AiReasoningComponent",
8869
- "module": "src/lib/ai-reasoning/ai-reasoning.ts"
8870
- }
8871
- },
8872
- {
8873
- "kind": "custom-element-definition",
8874
- "declaration": {
8875
- "name": "AiReasoningComponent",
8876
- "module": "src/lib/ai-reasoning/ai-reasoning.ts"
8877
- }
8878
- }
8879
- ]
8880
- },
8881
- {
8882
- "kind": "javascript-module",
8883
- "path": "src/lib/ai-response-message/ai-response-message.ts",
8884
- "declarations": [
8885
- {
8886
- "kind": "variable",
8887
- "name": "AiResponseMessageComponentTagName",
8888
- "type": {
8889
- "text": "keyof HTMLElementTagNameMap"
8890
- },
8891
- "default": "'forge-ai-response-message'"
8892
- },
8893
- {
8894
- "kind": "class",
8895
- "description": "",
8896
- "name": "AiResponseMessageComponent",
8897
- "members": [],
8958
+ "default": "false",
8959
+ "description": "Whether the reasoning is expanded",
8960
+ "attribute": "expanded",
8961
+ "reflects": true
8962
+ }
8963
+ ],
8964
+ "attributes": [
8965
+ {
8966
+ "name": "expanded",
8967
+ "type": {
8968
+ "text": "boolean"
8969
+ },
8970
+ "default": "false",
8971
+ "description": "Whether the reasoning is expanded",
8972
+ "fieldName": "expanded"
8973
+ }
8974
+ ],
8898
8975
  "superclass": {
8899
8976
  "name": "LitElement",
8900
8977
  "package": "lit"
8901
8978
  },
8902
- "tagName": "forge-ai-response-message",
8903
- "customElement": true,
8904
- "summary": "A simple wrapper component for rendering assistant response message content."
8979
+ "tagName": "forge-ai-reasoning",
8980
+ "customElement": true
8905
8981
  }
8906
8982
  ],
8907
8983
  "exports": [
8908
8984
  {
8909
8985
  "kind": "js",
8910
- "name": "AiResponseMessageComponentTagName",
8986
+ "name": "AiReasoningComponentTagName",
8911
8987
  "declaration": {
8912
- "name": "AiResponseMessageComponentTagName",
8913
- "module": "src/lib/ai-response-message/ai-response-message.ts"
8988
+ "name": "AiReasoningComponentTagName",
8989
+ "module": "src/lib/ai-reasoning/ai-reasoning.ts"
8914
8990
  }
8915
8991
  },
8916
8992
  {
8917
8993
  "kind": "js",
8918
- "name": "AiResponseMessageComponent",
8994
+ "name": "AiReasoningComponent",
8919
8995
  "declaration": {
8920
- "name": "AiResponseMessageComponent",
8921
- "module": "src/lib/ai-response-message/ai-response-message.ts"
8996
+ "name": "AiReasoningComponent",
8997
+ "module": "src/lib/ai-reasoning/ai-reasoning.ts"
8922
8998
  }
8923
8999
  },
8924
9000
  {
8925
9001
  "kind": "custom-element-definition",
8926
9002
  "declaration": {
8927
- "name": "AiResponseMessageComponent",
8928
- "module": "src/lib/ai-response-message/ai-response-message.ts"
9003
+ "name": "AiReasoningComponent",
9004
+ "module": "src/lib/ai-reasoning/ai-reasoning.ts"
8929
9005
  }
8930
9006
  }
8931
9007
  ]
@@ -9045,6 +9121,58 @@
9045
9121
  }
9046
9122
  ]
9047
9123
  },
9124
+ {
9125
+ "kind": "javascript-module",
9126
+ "path": "src/lib/ai-response-message/ai-response-message.ts",
9127
+ "declarations": [
9128
+ {
9129
+ "kind": "variable",
9130
+ "name": "AiResponseMessageComponentTagName",
9131
+ "type": {
9132
+ "text": "keyof HTMLElementTagNameMap"
9133
+ },
9134
+ "default": "'forge-ai-response-message'"
9135
+ },
9136
+ {
9137
+ "kind": "class",
9138
+ "description": "",
9139
+ "name": "AiResponseMessageComponent",
9140
+ "members": [],
9141
+ "superclass": {
9142
+ "name": "LitElement",
9143
+ "package": "lit"
9144
+ },
9145
+ "tagName": "forge-ai-response-message",
9146
+ "customElement": true,
9147
+ "summary": "A simple wrapper component for rendering assistant response message content."
9148
+ }
9149
+ ],
9150
+ "exports": [
9151
+ {
9152
+ "kind": "js",
9153
+ "name": "AiResponseMessageComponentTagName",
9154
+ "declaration": {
9155
+ "name": "AiResponseMessageComponentTagName",
9156
+ "module": "src/lib/ai-response-message/ai-response-message.ts"
9157
+ }
9158
+ },
9159
+ {
9160
+ "kind": "js",
9161
+ "name": "AiResponseMessageComponent",
9162
+ "declaration": {
9163
+ "name": "AiResponseMessageComponent",
9164
+ "module": "src/lib/ai-response-message/ai-response-message.ts"
9165
+ }
9166
+ },
9167
+ {
9168
+ "kind": "custom-element-definition",
9169
+ "declaration": {
9170
+ "name": "AiResponseMessageComponent",
9171
+ "module": "src/lib/ai-response-message/ai-response-message.ts"
9172
+ }
9173
+ }
9174
+ ]
9175
+ },
9048
9176
  {
9049
9177
  "kind": "javascript-module",
9050
9178
  "path": "src/lib/ai-response-message-toolbar/ai-response-message-toolbar.ts",
@@ -9167,23 +9295,23 @@
9167
9295
  },
9168
9296
  {
9169
9297
  "kind": "javascript-module",
9170
- "path": "src/lib/ai-sidebar-chat/ai-sidebar-chat.ts",
9298
+ "path": "src/lib/ai-sidebar/ai-sidebar.ts",
9171
9299
  "declarations": [
9172
9300
  {
9173
9301
  "kind": "variable",
9174
- "name": "AiSidebarChatComponentTagName",
9302
+ "name": "AiSidebarComponentTagName",
9175
9303
  "type": {
9176
9304
  "text": "keyof HTMLElementTagNameMap"
9177
9305
  },
9178
- "default": "'forge-ai-sidebar-chat'"
9306
+ "default": "'forge-ai-sidebar'"
9179
9307
  },
9180
9308
  {
9181
9309
  "kind": "class",
9182
9310
  "description": "",
9183
- "name": "AiSidebarChatComponent",
9311
+ "name": "AiSidebarComponent",
9184
9312
  "slots": [
9185
9313
  {
9186
- "description": "Default slot for chatbot component",
9314
+ "description": "Default slot for sidebar content (typically ai-chat-interface)",
9187
9315
  "name": ""
9188
9316
  }
9189
9317
  ],
@@ -9196,18 +9324,9 @@
9196
9324
  },
9197
9325
  "privacy": "public",
9198
9326
  "default": "false",
9327
+ "description": "Indicates whether the sidebar is open.",
9199
9328
  "attribute": "open"
9200
9329
  },
9201
- {
9202
- "kind": "field",
9203
- "name": "expanded",
9204
- "type": {
9205
- "text": "boolean"
9206
- },
9207
- "privacy": "public",
9208
- "default": "false",
9209
- "attribute": "expanded"
9210
- },
9211
9330
  {
9212
9331
  "kind": "method",
9213
9332
  "name": "show",
@@ -9216,7 +9335,8 @@
9216
9335
  "type": {
9217
9336
  "text": "void"
9218
9337
  }
9219
- }
9338
+ },
9339
+ "description": "Opens the sidebar."
9220
9340
  },
9221
9341
  {
9222
9342
  "kind": "method",
@@ -9226,7 +9346,8 @@
9226
9346
  "type": {
9227
9347
  "text": "void"
9228
9348
  }
9229
- }
9349
+ },
9350
+ "description": "Closes the sidebar."
9230
9351
  },
9231
9352
  {
9232
9353
  "kind": "method",
@@ -9236,45 +9357,18 @@
9236
9357
  "type": {
9237
9358
  "text": "void"
9238
9359
  }
9239
- }
9240
- },
9241
- {
9242
- "kind": "method",
9243
- "name": "expand",
9244
- "privacy": "public",
9245
- "return": {
9246
- "type": {
9247
- "text": "void"
9248
- }
9249
- }
9250
- },
9251
- {
9252
- "kind": "method",
9253
- "name": "collapse",
9254
- "privacy": "public",
9255
- "return": {
9256
- "type": {
9257
- "text": "void"
9258
- }
9259
- }
9360
+ },
9361
+ "description": "Toggles the sidebar open state."
9260
9362
  }
9261
9363
  ],
9262
9364
  "events": [
9263
9365
  {
9264
- "description": "Fired when the sidebar chat is opened",
9265
- "name": "forge-ai-sidebar-chat-open"
9266
- },
9267
- {
9268
- "description": "Fired when the sidebar chat is closed",
9269
- "name": "forge-ai-sidebar-chat-close"
9270
- },
9271
- {
9272
- "description": "Fired when the sidebar chat is expanded to modal",
9273
- "name": "forge-ai-sidebar-chat-expand"
9366
+ "description": "Fired when the sidebar is opened",
9367
+ "name": "forge-ai-sidebar-open"
9274
9368
  },
9275
9369
  {
9276
- "description": "Fired when the sidebar chat is collapsed from modal",
9277
- "name": "forge-ai-sidebar-chat-collapse"
9370
+ "description": "Fired when the sidebar is closed",
9371
+ "name": "forge-ai-sidebar-close"
9278
9372
  }
9279
9373
  ],
9280
9374
  "attributes": [
@@ -9284,70 +9378,63 @@
9284
9378
  "text": "boolean"
9285
9379
  },
9286
9380
  "default": "false",
9381
+ "description": "Indicates whether the sidebar is open.",
9287
9382
  "fieldName": "open"
9288
- },
9289
- {
9290
- "name": "expanded",
9291
- "type": {
9292
- "text": "boolean"
9293
- },
9294
- "default": "false",
9295
- "fieldName": "expanded"
9296
9383
  }
9297
9384
  ],
9298
9385
  "superclass": {
9299
9386
  "name": "LitElement",
9300
9387
  "package": "lit"
9301
9388
  },
9302
- "tagName": "forge-ai-sidebar-chat",
9389
+ "tagName": "forge-ai-sidebar",
9303
9390
  "customElement": true
9304
9391
  }
9305
9392
  ],
9306
9393
  "exports": [
9307
9394
  {
9308
9395
  "kind": "js",
9309
- "name": "AiSidebarChatComponentTagName",
9396
+ "name": "AiSidebarComponentTagName",
9310
9397
  "declaration": {
9311
- "name": "AiSidebarChatComponentTagName",
9312
- "module": "src/lib/ai-sidebar-chat/ai-sidebar-chat.ts"
9398
+ "name": "AiSidebarComponentTagName",
9399
+ "module": "src/lib/ai-sidebar/ai-sidebar.ts"
9313
9400
  }
9314
9401
  },
9315
9402
  {
9316
9403
  "kind": "js",
9317
- "name": "AiSidebarChatComponent",
9404
+ "name": "AiSidebarComponent",
9318
9405
  "declaration": {
9319
- "name": "AiSidebarChatComponent",
9320
- "module": "src/lib/ai-sidebar-chat/ai-sidebar-chat.ts"
9406
+ "name": "AiSidebarComponent",
9407
+ "module": "src/lib/ai-sidebar/ai-sidebar.ts"
9321
9408
  }
9322
9409
  },
9323
9410
  {
9324
9411
  "kind": "custom-element-definition",
9325
9412
  "declaration": {
9326
- "name": "AiSidebarChatComponent",
9327
- "module": "src/lib/ai-sidebar-chat/ai-sidebar-chat.ts"
9413
+ "name": "AiSidebarComponent",
9414
+ "module": "src/lib/ai-sidebar/ai-sidebar.ts"
9328
9415
  }
9329
9416
  }
9330
9417
  ]
9331
9418
  },
9332
9419
  {
9333
9420
  "kind": "javascript-module",
9334
- "path": "src/lib/ai-sidebar/ai-sidebar.ts",
9421
+ "path": "src/lib/ai-sidebar-chat/ai-sidebar-chat.ts",
9335
9422
  "declarations": [
9336
9423
  {
9337
9424
  "kind": "variable",
9338
- "name": "AiSidebarComponentTagName",
9425
+ "name": "AiSidebarChatComponentTagName",
9339
9426
  "type": {
9340
9427
  "text": "keyof HTMLElementTagNameMap"
9341
9428
  },
9342
- "default": "'forge-ai-sidebar'"
9429
+ "default": "'forge-ai-sidebar-chat'"
9343
9430
  },
9344
9431
  {
9345
9432
  "kind": "class",
9346
9433
  "description": "",
9347
- "name": "AiSidebarComponent",
9434
+ "name": "AiSidebarChatComponent",
9348
9435
  "slots": [
9349
9436
  {
9350
- "description": "Default slot for sidebar content (typically ai-chat-interface)",
9437
+ "description": "Default slot for chatbot component",
9351
9438
  "name": ""
9352
9439
  }
9353
9440
  ],
@@ -9360,9 +9447,18 @@
9360
9447
  },
9361
9448
  "privacy": "public",
9362
9449
  "default": "false",
9363
- "description": "Indicates whether the sidebar is open.",
9364
9450
  "attribute": "open"
9365
9451
  },
9452
+ {
9453
+ "kind": "field",
9454
+ "name": "expanded",
9455
+ "type": {
9456
+ "text": "boolean"
9457
+ },
9458
+ "privacy": "public",
9459
+ "default": "false",
9460
+ "attribute": "expanded"
9461
+ },
9366
9462
  {
9367
9463
  "kind": "method",
9368
9464
  "name": "show",
@@ -9371,8 +9467,7 @@
9371
9467
  "type": {
9372
9468
  "text": "void"
9373
9469
  }
9374
- },
9375
- "description": "Opens the sidebar."
9470
+ }
9376
9471
  },
9377
9472
  {
9378
9473
  "kind": "method",
@@ -9382,8 +9477,7 @@
9382
9477
  "type": {
9383
9478
  "text": "void"
9384
9479
  }
9385
- },
9386
- "description": "Closes the sidebar."
9480
+ }
9387
9481
  },
9388
9482
  {
9389
9483
  "kind": "method",
@@ -9393,61 +9487,95 @@
9393
9487
  "type": {
9394
9488
  "text": "void"
9395
9489
  }
9396
- },
9397
- "description": "Toggles the sidebar open state."
9490
+ }
9491
+ },
9492
+ {
9493
+ "kind": "method",
9494
+ "name": "expand",
9495
+ "privacy": "public",
9496
+ "return": {
9497
+ "type": {
9498
+ "text": "void"
9499
+ }
9500
+ }
9501
+ },
9502
+ {
9503
+ "kind": "method",
9504
+ "name": "collapse",
9505
+ "privacy": "public",
9506
+ "return": {
9507
+ "type": {
9508
+ "text": "void"
9509
+ }
9510
+ }
9398
9511
  }
9399
9512
  ],
9400
9513
  "events": [
9401
9514
  {
9402
- "description": "Fired when the sidebar is opened",
9403
- "name": "forge-ai-sidebar-open"
9515
+ "description": "Fired when the sidebar chat is opened",
9516
+ "name": "forge-ai-sidebar-chat-open"
9404
9517
  },
9405
9518
  {
9406
- "description": "Fired when the sidebar is closed",
9407
- "name": "forge-ai-sidebar-close"
9519
+ "description": "Fired when the sidebar chat is closed",
9520
+ "name": "forge-ai-sidebar-chat-close"
9521
+ },
9522
+ {
9523
+ "description": "Fired when the sidebar chat is expanded to modal",
9524
+ "name": "forge-ai-sidebar-chat-expand"
9525
+ },
9526
+ {
9527
+ "description": "Fired when the sidebar chat is collapsed from modal",
9528
+ "name": "forge-ai-sidebar-chat-collapse"
9408
9529
  }
9409
9530
  ],
9410
9531
  "attributes": [
9411
9532
  {
9412
- "name": "open",
9533
+ "name": "open",
9534
+ "type": {
9535
+ "text": "boolean"
9536
+ },
9537
+ "default": "false",
9538
+ "fieldName": "open"
9539
+ },
9540
+ {
9541
+ "name": "expanded",
9413
9542
  "type": {
9414
9543
  "text": "boolean"
9415
9544
  },
9416
9545
  "default": "false",
9417
- "description": "Indicates whether the sidebar is open.",
9418
- "fieldName": "open"
9546
+ "fieldName": "expanded"
9419
9547
  }
9420
9548
  ],
9421
9549
  "superclass": {
9422
9550
  "name": "LitElement",
9423
9551
  "package": "lit"
9424
9552
  },
9425
- "tagName": "forge-ai-sidebar",
9553
+ "tagName": "forge-ai-sidebar-chat",
9426
9554
  "customElement": true
9427
9555
  }
9428
9556
  ],
9429
9557
  "exports": [
9430
9558
  {
9431
9559
  "kind": "js",
9432
- "name": "AiSidebarComponentTagName",
9560
+ "name": "AiSidebarChatComponentTagName",
9433
9561
  "declaration": {
9434
- "name": "AiSidebarComponentTagName",
9435
- "module": "src/lib/ai-sidebar/ai-sidebar.ts"
9562
+ "name": "AiSidebarChatComponentTagName",
9563
+ "module": "src/lib/ai-sidebar-chat/ai-sidebar-chat.ts"
9436
9564
  }
9437
9565
  },
9438
9566
  {
9439
9567
  "kind": "js",
9440
- "name": "AiSidebarComponent",
9568
+ "name": "AiSidebarChatComponent",
9441
9569
  "declaration": {
9442
- "name": "AiSidebarComponent",
9443
- "module": "src/lib/ai-sidebar/ai-sidebar.ts"
9570
+ "name": "AiSidebarChatComponent",
9571
+ "module": "src/lib/ai-sidebar-chat/ai-sidebar-chat.ts"
9444
9572
  }
9445
9573
  },
9446
9574
  {
9447
9575
  "kind": "custom-element-definition",
9448
9576
  "declaration": {
9449
- "name": "AiSidebarComponent",
9450
- "module": "src/lib/ai-sidebar/ai-sidebar.ts"
9577
+ "name": "AiSidebarChatComponent",
9578
+ "module": "src/lib/ai-sidebar-chat/ai-sidebar-chat.ts"
9451
9579
  }
9452
9580
  }
9453
9581
  ]
@@ -9613,89 +9741,6 @@
9613
9741
  }
9614
9742
  ]
9615
9743
  },
9616
- {
9617
- "kind": "javascript-module",
9618
- "path": "src/lib/ai-spinner/ai-spinner.ts",
9619
- "declarations": [
9620
- {
9621
- "kind": "variable",
9622
- "name": "AiSpinnerComponentTagName",
9623
- "type": {
9624
- "text": "keyof HTMLElementTagNameMap"
9625
- },
9626
- "default": "'forge-ai-spinner'"
9627
- },
9628
- {
9629
- "kind": "class",
9630
- "description": "",
9631
- "name": "AiSpinnerComponent",
9632
- "cssProperties": [
9633
- {
9634
- "description": "Color of the spinner indicator",
9635
- "name": "--forge-ai-spinner-color"
9636
- },
9637
- {
9638
- "description": "Color of the spinner track",
9639
- "name": "--forge-ai-spinner-track-color"
9640
- }
9641
- ],
9642
- "members": [
9643
- {
9644
- "kind": "field",
9645
- "name": "size",
9646
- "type": {
9647
- "text": "SpinnerSize"
9648
- },
9649
- "privacy": "public",
9650
- "default": "'medium'",
9651
- "attribute": "size"
9652
- }
9653
- ],
9654
- "attributes": [
9655
- {
9656
- "name": "size",
9657
- "type": {
9658
- "text": "SpinnerSize"
9659
- },
9660
- "default": "'medium'",
9661
- "fieldName": "size"
9662
- }
9663
- ],
9664
- "superclass": {
9665
- "name": "LitElement",
9666
- "package": "lit"
9667
- },
9668
- "tagName": "forge-ai-spinner",
9669
- "customElement": true,
9670
- "summary": "Indeterminate circular progress indicator."
9671
- }
9672
- ],
9673
- "exports": [
9674
- {
9675
- "kind": "js",
9676
- "name": "AiSpinnerComponentTagName",
9677
- "declaration": {
9678
- "name": "AiSpinnerComponentTagName",
9679
- "module": "src/lib/ai-spinner/ai-spinner.ts"
9680
- }
9681
- },
9682
- {
9683
- "kind": "js",
9684
- "name": "AiSpinnerComponent",
9685
- "declaration": {
9686
- "name": "AiSpinnerComponent",
9687
- "module": "src/lib/ai-spinner/ai-spinner.ts"
9688
- }
9689
- },
9690
- {
9691
- "kind": "custom-element-definition",
9692
- "declaration": {
9693
- "name": "AiSpinnerComponent",
9694
- "module": "src/lib/ai-spinner/ai-spinner.ts"
9695
- }
9696
- }
9697
- ]
9698
- },
9699
9744
  {
9700
9745
  "kind": "javascript-module",
9701
9746
  "path": "src/lib/ai-thinking-indicator/ai-thinking-indicator.ts",
@@ -9805,6 +9850,89 @@
9805
9850
  }
9806
9851
  ]
9807
9852
  },
9853
+ {
9854
+ "kind": "javascript-module",
9855
+ "path": "src/lib/ai-spinner/ai-spinner.ts",
9856
+ "declarations": [
9857
+ {
9858
+ "kind": "variable",
9859
+ "name": "AiSpinnerComponentTagName",
9860
+ "type": {
9861
+ "text": "keyof HTMLElementTagNameMap"
9862
+ },
9863
+ "default": "'forge-ai-spinner'"
9864
+ },
9865
+ {
9866
+ "kind": "class",
9867
+ "description": "",
9868
+ "name": "AiSpinnerComponent",
9869
+ "cssProperties": [
9870
+ {
9871
+ "description": "Color of the spinner indicator",
9872
+ "name": "--forge-ai-spinner-color"
9873
+ },
9874
+ {
9875
+ "description": "Color of the spinner track",
9876
+ "name": "--forge-ai-spinner-track-color"
9877
+ }
9878
+ ],
9879
+ "members": [
9880
+ {
9881
+ "kind": "field",
9882
+ "name": "size",
9883
+ "type": {
9884
+ "text": "SpinnerSize"
9885
+ },
9886
+ "privacy": "public",
9887
+ "default": "'medium'",
9888
+ "attribute": "size"
9889
+ }
9890
+ ],
9891
+ "attributes": [
9892
+ {
9893
+ "name": "size",
9894
+ "type": {
9895
+ "text": "SpinnerSize"
9896
+ },
9897
+ "default": "'medium'",
9898
+ "fieldName": "size"
9899
+ }
9900
+ ],
9901
+ "superclass": {
9902
+ "name": "LitElement",
9903
+ "package": "lit"
9904
+ },
9905
+ "tagName": "forge-ai-spinner",
9906
+ "customElement": true,
9907
+ "summary": "Indeterminate circular progress indicator."
9908
+ }
9909
+ ],
9910
+ "exports": [
9911
+ {
9912
+ "kind": "js",
9913
+ "name": "AiSpinnerComponentTagName",
9914
+ "declaration": {
9915
+ "name": "AiSpinnerComponentTagName",
9916
+ "module": "src/lib/ai-spinner/ai-spinner.ts"
9917
+ }
9918
+ },
9919
+ {
9920
+ "kind": "js",
9921
+ "name": "AiSpinnerComponent",
9922
+ "declaration": {
9923
+ "name": "AiSpinnerComponent",
9924
+ "module": "src/lib/ai-spinner/ai-spinner.ts"
9925
+ }
9926
+ },
9927
+ {
9928
+ "kind": "custom-element-definition",
9929
+ "declaration": {
9930
+ "name": "AiSpinnerComponent",
9931
+ "module": "src/lib/ai-spinner/ai-spinner.ts"
9932
+ }
9933
+ }
9934
+ ]
9935
+ },
9808
9936
  {
9809
9937
  "kind": "javascript-module",
9810
9938
  "path": "src/lib/ai-suggestions/ai-suggestions.ts",
@@ -11332,78 +11460,16 @@
11332
11460
  {
11333
11461
  "kind": "js",
11334
11462
  "name": "ReasoningContentComponent",
11335
- "declaration": {
11336
- "name": "ReasoningContentComponent",
11337
- "module": "src/lib/ai-reasoning/reasoning-content/reasoning-content.ts"
11338
- }
11339
- },
11340
- {
11341
- "kind": "custom-element-definition",
11342
- "declaration": {
11343
- "name": "ReasoningContentComponent",
11344
- "module": "src/lib/ai-reasoning/reasoning-content/reasoning-content.ts"
11345
- }
11346
- }
11347
- ]
11348
- },
11349
- {
11350
- "kind": "javascript-module",
11351
- "path": "src/lib/tools/ai-data-table/ai-data-table-definition.ts",
11352
- "declarations": [
11353
- {
11354
- "kind": "variable",
11355
- "name": "displayDataTableTool",
11356
- "type": {
11357
- "text": "ToolDefinition"
11358
- },
11359
- "default": "{ name: 'displayDataTable', displayName: 'Display Data Table', description: 'Display tabular data in a formatted table with headers and rows. Use this tool when you want to present structured data, lists where there are 2 or more columns, statistics, or any information that works well in a table format.', parameters: { type: 'object' as const, properties: { title: { type: 'string', description: 'Table title or caption displayed above the data.' }, headers: { type: 'array', items: { type: 'string' }, description: 'Column names displayed as table headers. Order matches the row data order.' }, maxNumberOfRows: { type: 'number', description: 'Limit total rows shown. Useful for large datasets to prevent overwhelming display.' }, rows: { type: 'array', items: { type: 'array', items: { anyOf: [{ type: 'string' }, { type: 'number' }] } }, description: 'Data rows where each row is an array of values matching header order.' } }, required: ['headers', 'rows'] }, renderer: createToolRenderer({ elementTag: 'forge-ai-tool-data-table' }) }"
11360
- }
11361
- ],
11362
- "exports": [
11363
- {
11364
- "kind": "js",
11365
- "name": "displayDataTableTool",
11366
- "declaration": {
11367
- "name": "displayDataTableTool",
11368
- "module": "src/lib/tools/ai-data-table/ai-data-table-definition.ts"
11369
- }
11370
- }
11371
- ]
11372
- },
11373
- {
11374
- "kind": "javascript-module",
11375
- "path": "src/lib/tools/ai-data-table/ai-data-table.ts",
11376
- "declarations": [
11377
- {
11378
- "kind": "class",
11379
- "description": "Data table component tool renderer for displaying tabular data with pagination and filtering.",
11380
- "name": "DataTableToolElement",
11381
- "members": [
11382
- {
11383
- "kind": "field",
11384
- "name": "toolCall",
11385
- "type": {
11386
- "text": "ToolCall<TableData>"
11387
- },
11388
- "privacy": "public",
11389
- "description": "Tool call data containing table configuration and data"
11390
- }
11391
- ],
11392
- "superclass": {
11393
- "name": "LitElement",
11394
- "package": "lit"
11395
- },
11396
- "tagName": "forge-ai-tool-data-table",
11397
- "customElement": true
11398
- }
11399
- ],
11400
- "exports": [
11463
+ "declaration": {
11464
+ "name": "ReasoningContentComponent",
11465
+ "module": "src/lib/ai-reasoning/reasoning-content/reasoning-content.ts"
11466
+ }
11467
+ },
11401
11468
  {
11402
11469
  "kind": "custom-element-definition",
11403
- "name": "forge-ai-tool-data-table",
11404
11470
  "declaration": {
11405
- "name": "DataTableToolElement",
11406
- "module": "src/lib/tools/ai-data-table/ai-data-table.ts"
11471
+ "name": "ReasoningContentComponent",
11472
+ "module": "src/lib/ai-reasoning/reasoning-content/reasoning-content.ts"
11407
11473
  }
11408
11474
  }
11409
11475
  ]
@@ -11512,222 +11578,77 @@
11512
11578
  },
11513
11579
  {
11514
11580
  "kind": "javascript-module",
11515
- "path": "src/lib/core/overlay/overlay.ts",
11581
+ "path": "src/lib/tools/ai-data-table/ai-data-table-definition.ts",
11582
+ "declarations": [
11583
+ {
11584
+ "kind": "variable",
11585
+ "name": "displayDataTableTool",
11586
+ "type": {
11587
+ "text": "ToolDefinition"
11588
+ },
11589
+ "default": "{ name: 'displayDataTable', displayName: 'Display Data Table', description: 'Display tabular data in a formatted table with headers and rows. Use this tool when you want to present structured data, lists where there are 2 or more columns, statistics, or any information that works well in a table format.', parameters: { type: 'object' as const, properties: { title: { type: 'string', description: 'Table title or caption displayed above the data.' }, headers: { type: 'array', items: { type: 'string' }, description: 'Column names displayed as table headers. Order matches the row data order.' }, maxNumberOfRows: { type: 'number', description: 'Limit total rows shown. Useful for large datasets to prevent overwhelming display.' }, rows: { type: 'array', items: { type: 'array', items: { anyOf: [{ type: 'string' }, { type: 'number' }] } }, description: 'Data rows where each row is an array of values matching header order.' } }, required: ['headers', 'rows'] }, renderer: createToolRenderer({ elementTag: 'forge-ai-tool-data-table' }) }"
11590
+ }
11591
+ ],
11592
+ "exports": [
11593
+ {
11594
+ "kind": "js",
11595
+ "name": "displayDataTableTool",
11596
+ "declaration": {
11597
+ "name": "displayDataTableTool",
11598
+ "module": "src/lib/tools/ai-data-table/ai-data-table-definition.ts"
11599
+ }
11600
+ }
11601
+ ]
11602
+ },
11603
+ {
11604
+ "kind": "javascript-module",
11605
+ "path": "src/lib/tools/ai-data-table/ai-data-table.ts",
11516
11606
  "declarations": [
11517
11607
  {
11518
11608
  "kind": "class",
11519
- "description": "",
11520
- "name": "ForgeAiOverlayComponent",
11521
- "slots": [
11522
- {
11523
- "description": "The default slot for overlay content.",
11524
- "name": ""
11525
- }
11526
- ],
11609
+ "description": "Data table component tool renderer for displaying tabular data with pagination and filtering.",
11610
+ "name": "DataTableToolElement",
11527
11611
  "members": [
11528
11612
  {
11529
11613
  "kind": "field",
11530
- "name": "anchor",
11531
- "type": {
11532
- "text": "Element | null"
11533
- },
11534
- "privacy": "public",
11535
- "default": "null",
11536
- "description": "The anchor element to position the overlay relative to.",
11537
- "attribute": "anchor"
11538
- },
11539
- {
11540
- "kind": "field",
11541
- "name": "placement",
11542
- "type": {
11543
- "text": "OverlayPlacement"
11544
- },
11545
- "privacy": "public",
11546
- "default": "'bottom-start'",
11547
- "description": "The placement of the overlay relative to the anchor.",
11548
- "attribute": "placement"
11549
- },
11550
- {
11551
- "kind": "field",
11552
- "name": "flip",
11553
- "type": {
11554
- "text": "boolean"
11555
- },
11556
- "privacy": "public",
11557
- "default": "true",
11558
- "description": "Whether the overlay should flip to the opposite side when there's no space.",
11559
- "attribute": "flip"
11560
- },
11561
- {
11562
- "kind": "field",
11563
- "name": "shift",
11564
- "type": {
11565
- "text": "boolean"
11566
- },
11567
- "privacy": "public",
11568
- "default": "false",
11569
- "description": "Whether the overlay should shift to stay in view.",
11570
- "attribute": "shift"
11571
- },
11572
- {
11573
- "kind": "field",
11574
- "name": "open",
11575
- "type": {
11576
- "text": "boolean"
11577
- },
11578
- "privacy": "public",
11579
- "default": "false",
11580
- "description": "Whether the overlay is open.",
11581
- "attribute": "open",
11582
- "reflects": true
11583
- },
11584
- {
11585
- "kind": "field",
11586
- "name": "arrowElement",
11587
- "type": {
11588
- "text": "HTMLElement | null"
11589
- },
11590
- "privacy": "public",
11591
- "default": "null",
11592
- "description": "The arrow element to position relative to the overlay.",
11593
- "attribute": "arrowElement"
11594
- },
11595
- {
11596
- "kind": "field",
11597
- "name": "offset",
11598
- "type": {
11599
- "text": "OverlayOffset | undefined"
11600
- },
11601
- "privacy": "public",
11602
- "default": "undefined",
11603
- "description": "The offset of the overlay from the anchor element.\nCan be a number (main axis offset) or an object with mainAxis, crossAxis, and alignmentAxis properties.",
11604
- "attribute": "offset"
11605
- },
11606
- {
11607
- "kind": "field",
11608
- "name": "dismissMode",
11614
+ "name": "toolCall",
11609
11615
  "type": {
11610
- "text": "'auto' | 'manual'"
11616
+ "text": "ToolCall<TableData>"
11611
11617
  },
11612
11618
  "privacy": "public",
11613
- "default": "'auto'",
11614
- "description": "The dismiss mode for the overlay.\n- 'auto': Automatically closes on outside clicks and Escape key\n- 'manual': Requires manual control to close",
11615
- "attribute": "dismiss-mode"
11616
- }
11617
- ],
11618
- "attributes": [
11619
- {
11620
- "name": "anchor",
11621
- "type": {
11622
- "text": "Element | null"
11623
- },
11624
- "default": "null",
11625
- "description": "The anchor element to position the overlay relative to.",
11626
- "fieldName": "anchor"
11627
- },
11628
- {
11629
- "name": "placement",
11630
- "type": {
11631
- "text": "OverlayPlacement"
11632
- },
11633
- "default": "'bottom-start'",
11634
- "description": "The placement of the overlay relative to the anchor.",
11635
- "fieldName": "placement"
11636
- },
11637
- {
11638
- "name": "flip",
11639
- "type": {
11640
- "text": "boolean"
11641
- },
11642
- "default": "true",
11643
- "description": "Whether the overlay should flip to the opposite side when there's no space.",
11644
- "fieldName": "flip"
11645
- },
11646
- {
11647
- "name": "shift",
11648
- "type": {
11649
- "text": "boolean"
11650
- },
11651
- "default": "false",
11652
- "description": "Whether the overlay should shift to stay in view.",
11653
- "fieldName": "shift"
11654
- },
11655
- {
11656
- "name": "open",
11657
- "type": {
11658
- "text": "boolean"
11659
- },
11660
- "default": "false",
11661
- "description": "Whether the overlay is open.",
11662
- "fieldName": "open"
11663
- },
11664
- {
11665
- "name": "arrowElement",
11666
- "type": {
11667
- "text": "HTMLElement | null"
11668
- },
11669
- "default": "null",
11670
- "description": "The arrow element to position relative to the overlay.",
11671
- "fieldName": "arrowElement"
11672
- },
11673
- {
11674
- "name": "offset",
11675
- "type": {
11676
- "text": "OverlayOffset | undefined"
11677
- },
11678
- "default": "undefined",
11679
- "description": "The offset of the overlay from the anchor element.\nCan be a number (main axis offset) or an object with mainAxis, crossAxis, and alignmentAxis properties.",
11680
- "fieldName": "offset"
11681
- },
11682
- {
11683
- "name": "dismiss-mode",
11684
- "type": {
11685
- "text": "'auto' | 'manual'"
11686
- },
11687
- "default": "'auto'",
11688
- "description": "The dismiss mode for the overlay.\n- 'auto': Automatically closes on outside clicks and Escape key\n- 'manual': Requires manual control to close",
11689
- "fieldName": "dismissMode"
11619
+ "description": "Tool call data containing table configuration and data"
11690
11620
  }
11691
11621
  ],
11692
11622
  "superclass": {
11693
11623
  "name": "LitElement",
11694
11624
  "package": "lit"
11695
11625
  },
11696
- "summary": "A low-level overlay component for internal use within AI components.",
11697
- "tagName": "forge-ai-overlay",
11626
+ "tagName": "forge-ai-tool-data-table",
11698
11627
  "customElement": true
11699
11628
  }
11700
11629
  ],
11701
11630
  "exports": [
11702
- {
11703
- "kind": "js",
11704
- "name": "ForgeAiOverlayComponent",
11705
- "declaration": {
11706
- "name": "ForgeAiOverlayComponent",
11707
- "module": "src/lib/core/overlay/overlay.ts"
11708
- }
11709
- },
11710
11631
  {
11711
11632
  "kind": "custom-element-definition",
11712
- "name": "forge-ai-overlay",
11633
+ "name": "forge-ai-tool-data-table",
11713
11634
  "declaration": {
11714
- "name": "ForgeAiOverlayComponent",
11715
- "module": "src/lib/core/overlay/overlay.ts"
11635
+ "name": "DataTableToolElement",
11636
+ "module": "src/lib/tools/ai-data-table/ai-data-table.ts"
11716
11637
  }
11717
11638
  }
11718
11639
  ]
11719
11640
  },
11720
11641
  {
11721
11642
  "kind": "javascript-module",
11722
- "path": "src/lib/core/popover/popover.ts",
11643
+ "path": "src/lib/core/overlay/overlay.ts",
11723
11644
  "declarations": [
11724
11645
  {
11725
11646
  "kind": "class",
11726
11647
  "description": "",
11727
- "name": "ForgeAiPopoverComponent",
11648
+ "name": "ForgeAiOverlayComponent",
11728
11649
  "slots": [
11729
11650
  {
11730
- "description": "The default slot for popover content.",
11651
+ "description": "The default slot for overlay content.",
11731
11652
  "name": ""
11732
11653
  }
11733
11654
  ],
@@ -11740,18 +11661,18 @@
11740
11661
  },
11741
11662
  "privacy": "public",
11742
11663
  "default": "null",
11743
- "description": "The anchor element to position the popover relative to.",
11664
+ "description": "The anchor element to position the overlay relative to.",
11744
11665
  "attribute": "anchor"
11745
11666
  },
11746
11667
  {
11747
11668
  "kind": "field",
11748
11669
  "name": "placement",
11749
11670
  "type": {
11750
- "text": "PopoverPlacement"
11671
+ "text": "OverlayPlacement"
11751
11672
  },
11752
11673
  "privacy": "public",
11753
11674
  "default": "'bottom-start'",
11754
- "description": "The placement of the popover relative to the anchor.",
11675
+ "description": "The placement of the overlay relative to the anchor.",
11755
11676
  "attribute": "placement"
11756
11677
  },
11757
11678
  {
@@ -11761,8 +11682,8 @@
11761
11682
  "text": "boolean"
11762
11683
  },
11763
11684
  "privacy": "public",
11764
- "default": "false",
11765
- "description": "Whether the popover should flip to the opposite side when there's no space.",
11685
+ "default": "true",
11686
+ "description": "Whether the overlay should flip to the opposite side when there's no space.",
11766
11687
  "attribute": "flip"
11767
11688
  },
11768
11689
  {
@@ -11773,7 +11694,7 @@
11773
11694
  },
11774
11695
  "privacy": "public",
11775
11696
  "default": "false",
11776
- "description": "Whether the popover should shift to stay in view.",
11697
+ "description": "Whether the overlay should shift to stay in view.",
11777
11698
  "attribute": "shift"
11778
11699
  },
11779
11700
  {
@@ -11784,30 +11705,30 @@
11784
11705
  },
11785
11706
  "privacy": "public",
11786
11707
  "default": "false",
11787
- "description": "Whether the popover is open.",
11708
+ "description": "Whether the overlay is open.",
11788
11709
  "attribute": "open",
11789
11710
  "reflects": true
11790
11711
  },
11791
11712
  {
11792
11713
  "kind": "field",
11793
- "name": "arrow",
11714
+ "name": "arrowElement",
11794
11715
  "type": {
11795
- "text": "boolean"
11716
+ "text": "HTMLElement | null"
11796
11717
  },
11797
11718
  "privacy": "public",
11798
- "default": "false",
11799
- "description": "Whether to show an arrow pointing to the anchor element.",
11800
- "attribute": "arrow"
11719
+ "default": "null",
11720
+ "description": "The arrow element to position relative to the overlay.",
11721
+ "attribute": "arrowElement"
11801
11722
  },
11802
11723
  {
11803
11724
  "kind": "field",
11804
11725
  "name": "offset",
11805
11726
  "type": {
11806
- "text": "PopoverOffset | undefined"
11727
+ "text": "OverlayOffset | undefined"
11807
11728
  },
11808
11729
  "privacy": "public",
11809
11730
  "default": "undefined",
11810
- "description": "The offset of the popover from the anchor element.\nCan be a number (main axis offset) or an object with mainAxis, crossAxis, and alignmentAxis properties.",
11731
+ "description": "The offset of the overlay from the anchor element.\nCan be a number (main axis offset) or an object with mainAxis, crossAxis, and alignmentAxis properties.",
11811
11732
  "attribute": "offset"
11812
11733
  },
11813
11734
  {
@@ -11818,7 +11739,7 @@
11818
11739
  },
11819
11740
  "privacy": "public",
11820
11741
  "default": "'auto'",
11821
- "description": "The dismiss mode for the popover.\n- 'auto': Automatically closes on outside clicks and Escape key\n- 'manual': Requires manual control to close",
11742
+ "description": "The dismiss mode for the overlay.\n- 'auto': Automatically closes on outside clicks and Escape key\n- 'manual': Requires manual control to close",
11822
11743
  "attribute": "dismiss-mode"
11823
11744
  }
11824
11745
  ],
@@ -11829,16 +11750,16 @@
11829
11750
  "text": "Element | null"
11830
11751
  },
11831
11752
  "default": "null",
11832
- "description": "The anchor element to position the popover relative to.",
11753
+ "description": "The anchor element to position the overlay relative to.",
11833
11754
  "fieldName": "anchor"
11834
11755
  },
11835
11756
  {
11836
11757
  "name": "placement",
11837
11758
  "type": {
11838
- "text": "PopoverPlacement"
11759
+ "text": "OverlayPlacement"
11839
11760
  },
11840
11761
  "default": "'bottom-start'",
11841
- "description": "The placement of the popover relative to the anchor.",
11762
+ "description": "The placement of the overlay relative to the anchor.",
11842
11763
  "fieldName": "placement"
11843
11764
  },
11844
11765
  {
@@ -11846,8 +11767,8 @@
11846
11767
  "type": {
11847
11768
  "text": "boolean"
11848
11769
  },
11849
- "default": "false",
11850
- "description": "Whether the popover should flip to the opposite side when there's no space.",
11770
+ "default": "true",
11771
+ "description": "Whether the overlay should flip to the opposite side when there's no space.",
11851
11772
  "fieldName": "flip"
11852
11773
  },
11853
11774
  {
@@ -11856,7 +11777,7 @@
11856
11777
  "text": "boolean"
11857
11778
  },
11858
11779
  "default": "false",
11859
- "description": "Whether the popover should shift to stay in view.",
11780
+ "description": "Whether the overlay should shift to stay in view.",
11860
11781
  "fieldName": "shift"
11861
11782
  },
11862
11783
  {
@@ -11865,25 +11786,25 @@
11865
11786
  "text": "boolean"
11866
11787
  },
11867
11788
  "default": "false",
11868
- "description": "Whether the popover is open.",
11789
+ "description": "Whether the overlay is open.",
11869
11790
  "fieldName": "open"
11870
11791
  },
11871
11792
  {
11872
- "name": "arrow",
11793
+ "name": "arrowElement",
11873
11794
  "type": {
11874
- "text": "boolean"
11795
+ "text": "HTMLElement | null"
11875
11796
  },
11876
- "default": "false",
11877
- "description": "Whether to show an arrow pointing to the anchor element.",
11878
- "fieldName": "arrow"
11797
+ "default": "null",
11798
+ "description": "The arrow element to position relative to the overlay.",
11799
+ "fieldName": "arrowElement"
11879
11800
  },
11880
11801
  {
11881
11802
  "name": "offset",
11882
11803
  "type": {
11883
- "text": "PopoverOffset | undefined"
11804
+ "text": "OverlayOffset | undefined"
11884
11805
  },
11885
11806
  "default": "undefined",
11886
- "description": "The offset of the popover from the anchor element.\nCan be a number (main axis offset) or an object with mainAxis, crossAxis, and alignmentAxis properties.",
11807
+ "description": "The offset of the overlay from the anchor element.\nCan be a number (main axis offset) or an object with mainAxis, crossAxis, and alignmentAxis properties.",
11887
11808
  "fieldName": "offset"
11888
11809
  },
11889
11810
  {
@@ -11892,7 +11813,7 @@
11892
11813
  "text": "'auto' | 'manual'"
11893
11814
  },
11894
11815
  "default": "'auto'",
11895
- "description": "The dismiss mode for the popover.\n- 'auto': Automatically closes on outside clicks and Escape key\n- 'manual': Requires manual control to close",
11816
+ "description": "The dismiss mode for the overlay.\n- 'auto': Automatically closes on outside clicks and Escape key\n- 'manual': Requires manual control to close",
11896
11817
  "fieldName": "dismissMode"
11897
11818
  }
11898
11819
  ],
@@ -11900,26 +11821,26 @@
11900
11821
  "name": "LitElement",
11901
11822
  "package": "lit"
11902
11823
  },
11903
- "summary": "A popover component that provides styled overlay functionality.",
11904
- "tagName": "forge-ai-popover",
11824
+ "summary": "A low-level overlay component for internal use within AI components.",
11825
+ "tagName": "forge-ai-overlay",
11905
11826
  "customElement": true
11906
11827
  }
11907
11828
  ],
11908
11829
  "exports": [
11909
11830
  {
11910
11831
  "kind": "js",
11911
- "name": "ForgeAiPopoverComponent",
11832
+ "name": "ForgeAiOverlayComponent",
11912
11833
  "declaration": {
11913
- "name": "ForgeAiPopoverComponent",
11914
- "module": "src/lib/core/popover/popover.ts"
11834
+ "name": "ForgeAiOverlayComponent",
11835
+ "module": "src/lib/core/overlay/overlay.ts"
11915
11836
  }
11916
11837
  },
11917
11838
  {
11918
11839
  "kind": "custom-element-definition",
11919
- "name": "forge-ai-popover",
11840
+ "name": "forge-ai-overlay",
11920
11841
  "declaration": {
11921
- "name": "ForgeAiPopoverComponent",
11922
- "module": "src/lib/core/popover/popover.ts"
11842
+ "name": "ForgeAiOverlayComponent",
11843
+ "module": "src/lib/core/overlay/overlay.ts"
11923
11844
  }
11924
11845
  }
11925
11846
  ]
@@ -12018,85 +11939,283 @@
12018
11939
  },
12019
11940
  {
12020
11941
  "kind": "field",
12021
- "name": "hideDelay",
11942
+ "name": "hideDelay",
11943
+ "type": {
11944
+ "text": "number"
11945
+ },
11946
+ "privacy": "public",
11947
+ "default": "0",
11948
+ "description": "Delay in milliseconds before hiding the tooltip.",
11949
+ "attribute": "hide-delay"
11950
+ },
11951
+ {
11952
+ "kind": "method",
11953
+ "name": "show",
11954
+ "privacy": "public",
11955
+ "return": {
11956
+ "type": {
11957
+ "text": "void"
11958
+ }
11959
+ },
11960
+ "description": "Show the tooltip programmatically."
11961
+ },
11962
+ {
11963
+ "kind": "method",
11964
+ "name": "hide",
11965
+ "privacy": "public",
11966
+ "return": {
11967
+ "type": {
11968
+ "text": "void"
11969
+ }
11970
+ },
11971
+ "description": "Hide the tooltip programmatically."
11972
+ },
11973
+ {
11974
+ "kind": "method",
11975
+ "name": "toggle",
11976
+ "privacy": "public",
11977
+ "return": {
11978
+ "type": {
11979
+ "text": "void"
11980
+ }
11981
+ },
11982
+ "description": "Toggle the tooltip programmatically."
11983
+ }
11984
+ ],
11985
+ "attributes": [
11986
+ {
11987
+ "name": "for",
11988
+ "type": {
11989
+ "text": "string"
11990
+ },
11991
+ "default": "''",
11992
+ "description": "The ID of the anchor element to attach the tooltip to.",
11993
+ "fieldName": "for"
11994
+ },
11995
+ {
11996
+ "name": "text",
11997
+ "type": {
11998
+ "text": "string"
11999
+ },
12000
+ "default": "''",
12001
+ "description": "The text content of the tooltip (alternative to slotted content).",
12002
+ "fieldName": "text"
12003
+ },
12004
+ {
12005
+ "name": "placement",
12006
+ "type": {
12007
+ "text": "TooltipPlacement"
12008
+ },
12009
+ "default": "'top'",
12010
+ "description": "The placement of the tooltip relative to the anchor.",
12011
+ "fieldName": "placement"
12012
+ },
12013
+ {
12014
+ "name": "trigger",
12015
+ "type": {
12016
+ "text": "TooltipTrigger"
12017
+ },
12018
+ "default": "'hover'",
12019
+ "description": "How the tooltip should be triggered.",
12020
+ "fieldName": "trigger"
12021
+ },
12022
+ {
12023
+ "name": "open",
12024
+ "type": {
12025
+ "text": "boolean"
12026
+ },
12027
+ "default": "false",
12028
+ "description": "Whether the tooltip is open.",
12029
+ "fieldName": "open"
12030
+ },
12031
+ {
12032
+ "name": "delay",
12033
+ "type": {
12034
+ "text": "number"
12035
+ },
12036
+ "default": "500",
12037
+ "description": "Delay in milliseconds before showing the tooltip.",
12038
+ "fieldName": "delay"
12039
+ },
12040
+ {
12041
+ "name": "hide-delay",
12042
+ "type": {
12043
+ "text": "number"
12044
+ },
12045
+ "default": "0",
12046
+ "description": "Delay in milliseconds before hiding the tooltip.",
12047
+ "fieldName": "hideDelay"
12048
+ }
12049
+ ],
12050
+ "superclass": {
12051
+ "name": "LitElement",
12052
+ "package": "lit"
12053
+ },
12054
+ "summary": "A tooltip component with accessibility features and dynamic positioning.",
12055
+ "tagName": "forge-ai-tooltip",
12056
+ "customElement": true
12057
+ }
12058
+ ],
12059
+ "exports": [
12060
+ {
12061
+ "kind": "js",
12062
+ "name": "ForgeAiTooltipComponent",
12063
+ "declaration": {
12064
+ "name": "ForgeAiTooltipComponent",
12065
+ "module": "src/lib/core/tooltip/tooltip.ts"
12066
+ }
12067
+ },
12068
+ {
12069
+ "kind": "custom-element-definition",
12070
+ "name": "forge-ai-tooltip",
12071
+ "declaration": {
12072
+ "name": "ForgeAiTooltipComponent",
12073
+ "module": "src/lib/core/tooltip/tooltip.ts"
12074
+ }
12075
+ }
12076
+ ]
12077
+ },
12078
+ {
12079
+ "kind": "javascript-module",
12080
+ "path": "src/lib/core/popover/popover.ts",
12081
+ "declarations": [
12082
+ {
12083
+ "kind": "class",
12084
+ "description": "",
12085
+ "name": "ForgeAiPopoverComponent",
12086
+ "slots": [
12087
+ {
12088
+ "description": "The default slot for popover content.",
12089
+ "name": ""
12090
+ }
12091
+ ],
12092
+ "members": [
12093
+ {
12094
+ "kind": "field",
12095
+ "name": "anchor",
12096
+ "type": {
12097
+ "text": "Element | null"
12098
+ },
12099
+ "privacy": "public",
12100
+ "default": "null",
12101
+ "description": "The anchor element to position the popover relative to.",
12102
+ "attribute": "anchor"
12103
+ },
12104
+ {
12105
+ "kind": "field",
12106
+ "name": "placement",
12107
+ "type": {
12108
+ "text": "PopoverPlacement"
12109
+ },
12110
+ "privacy": "public",
12111
+ "default": "'bottom-start'",
12112
+ "description": "The placement of the popover relative to the anchor.",
12113
+ "attribute": "placement"
12114
+ },
12115
+ {
12116
+ "kind": "field",
12117
+ "name": "flip",
12118
+ "type": {
12119
+ "text": "boolean"
12120
+ },
12121
+ "privacy": "public",
12122
+ "default": "false",
12123
+ "description": "Whether the popover should flip to the opposite side when there's no space.",
12124
+ "attribute": "flip"
12125
+ },
12126
+ {
12127
+ "kind": "field",
12128
+ "name": "shift",
12129
+ "type": {
12130
+ "text": "boolean"
12131
+ },
12132
+ "privacy": "public",
12133
+ "default": "false",
12134
+ "description": "Whether the popover should shift to stay in view.",
12135
+ "attribute": "shift"
12136
+ },
12137
+ {
12138
+ "kind": "field",
12139
+ "name": "open",
12140
+ "type": {
12141
+ "text": "boolean"
12142
+ },
12143
+ "privacy": "public",
12144
+ "default": "false",
12145
+ "description": "Whether the popover is open.",
12146
+ "attribute": "open",
12147
+ "reflects": true
12148
+ },
12149
+ {
12150
+ "kind": "field",
12151
+ "name": "arrow",
12022
12152
  "type": {
12023
- "text": "number"
12153
+ "text": "boolean"
12024
12154
  },
12025
12155
  "privacy": "public",
12026
- "default": "0",
12027
- "description": "Delay in milliseconds before hiding the tooltip.",
12028
- "attribute": "hide-delay"
12156
+ "default": "false",
12157
+ "description": "Whether to show an arrow pointing to the anchor element.",
12158
+ "attribute": "arrow"
12029
12159
  },
12030
12160
  {
12031
- "kind": "method",
12032
- "name": "show",
12033
- "privacy": "public",
12034
- "return": {
12035
- "type": {
12036
- "text": "void"
12037
- }
12161
+ "kind": "field",
12162
+ "name": "offset",
12163
+ "type": {
12164
+ "text": "PopoverOffset | undefined"
12038
12165
  },
12039
- "description": "Show the tooltip programmatically."
12040
- },
12041
- {
12042
- "kind": "method",
12043
- "name": "hide",
12044
12166
  "privacy": "public",
12045
- "return": {
12046
- "type": {
12047
- "text": "void"
12048
- }
12049
- },
12050
- "description": "Hide the tooltip programmatically."
12167
+ "default": "undefined",
12168
+ "description": "The offset of the popover from the anchor element.\nCan be a number (main axis offset) or an object with mainAxis, crossAxis, and alignmentAxis properties.",
12169
+ "attribute": "offset"
12051
12170
  },
12052
12171
  {
12053
- "kind": "method",
12054
- "name": "toggle",
12055
- "privacy": "public",
12056
- "return": {
12057
- "type": {
12058
- "text": "void"
12059
- }
12172
+ "kind": "field",
12173
+ "name": "dismissMode",
12174
+ "type": {
12175
+ "text": "'auto' | 'manual'"
12060
12176
  },
12061
- "description": "Toggle the tooltip programmatically."
12177
+ "privacy": "public",
12178
+ "default": "'auto'",
12179
+ "description": "The dismiss mode for the popover.\n- 'auto': Automatically closes on outside clicks and Escape key\n- 'manual': Requires manual control to close",
12180
+ "attribute": "dismiss-mode"
12062
12181
  }
12063
12182
  ],
12064
12183
  "attributes": [
12065
12184
  {
12066
- "name": "for",
12185
+ "name": "anchor",
12067
12186
  "type": {
12068
- "text": "string"
12187
+ "text": "Element | null"
12069
12188
  },
12070
- "default": "''",
12071
- "description": "The ID of the anchor element to attach the tooltip to.",
12072
- "fieldName": "for"
12189
+ "default": "null",
12190
+ "description": "The anchor element to position the popover relative to.",
12191
+ "fieldName": "anchor"
12073
12192
  },
12074
12193
  {
12075
- "name": "text",
12194
+ "name": "placement",
12076
12195
  "type": {
12077
- "text": "string"
12196
+ "text": "PopoverPlacement"
12078
12197
  },
12079
- "default": "''",
12080
- "description": "The text content of the tooltip (alternative to slotted content).",
12081
- "fieldName": "text"
12198
+ "default": "'bottom-start'",
12199
+ "description": "The placement of the popover relative to the anchor.",
12200
+ "fieldName": "placement"
12082
12201
  },
12083
12202
  {
12084
- "name": "placement",
12203
+ "name": "flip",
12085
12204
  "type": {
12086
- "text": "TooltipPlacement"
12205
+ "text": "boolean"
12087
12206
  },
12088
- "default": "'top'",
12089
- "description": "The placement of the tooltip relative to the anchor.",
12090
- "fieldName": "placement"
12207
+ "default": "false",
12208
+ "description": "Whether the popover should flip to the opposite side when there's no space.",
12209
+ "fieldName": "flip"
12091
12210
  },
12092
12211
  {
12093
- "name": "trigger",
12212
+ "name": "shift",
12094
12213
  "type": {
12095
- "text": "TooltipTrigger"
12214
+ "text": "boolean"
12096
12215
  },
12097
- "default": "'hover'",
12098
- "description": "How the tooltip should be triggered.",
12099
- "fieldName": "trigger"
12216
+ "default": "false",
12217
+ "description": "Whether the popover should shift to stay in view.",
12218
+ "fieldName": "shift"
12100
12219
  },
12101
12220
  {
12102
12221
  "name": "open",
@@ -12104,52 +12223,61 @@
12104
12223
  "text": "boolean"
12105
12224
  },
12106
12225
  "default": "false",
12107
- "description": "Whether the tooltip is open.",
12226
+ "description": "Whether the popover is open.",
12108
12227
  "fieldName": "open"
12109
12228
  },
12110
12229
  {
12111
- "name": "delay",
12230
+ "name": "arrow",
12112
12231
  "type": {
12113
- "text": "number"
12232
+ "text": "boolean"
12114
12233
  },
12115
- "default": "500",
12116
- "description": "Delay in milliseconds before showing the tooltip.",
12117
- "fieldName": "delay"
12234
+ "default": "false",
12235
+ "description": "Whether to show an arrow pointing to the anchor element.",
12236
+ "fieldName": "arrow"
12118
12237
  },
12119
12238
  {
12120
- "name": "hide-delay",
12239
+ "name": "offset",
12121
12240
  "type": {
12122
- "text": "number"
12241
+ "text": "PopoverOffset | undefined"
12123
12242
  },
12124
- "default": "0",
12125
- "description": "Delay in milliseconds before hiding the tooltip.",
12126
- "fieldName": "hideDelay"
12243
+ "default": "undefined",
12244
+ "description": "The offset of the popover from the anchor element.\nCan be a number (main axis offset) or an object with mainAxis, crossAxis, and alignmentAxis properties.",
12245
+ "fieldName": "offset"
12246
+ },
12247
+ {
12248
+ "name": "dismiss-mode",
12249
+ "type": {
12250
+ "text": "'auto' | 'manual'"
12251
+ },
12252
+ "default": "'auto'",
12253
+ "description": "The dismiss mode for the popover.\n- 'auto': Automatically closes on outside clicks and Escape key\n- 'manual': Requires manual control to close",
12254
+ "fieldName": "dismissMode"
12127
12255
  }
12128
12256
  ],
12129
12257
  "superclass": {
12130
12258
  "name": "LitElement",
12131
12259
  "package": "lit"
12132
12260
  },
12133
- "summary": "A tooltip component with accessibility features and dynamic positioning.",
12134
- "tagName": "forge-ai-tooltip",
12261
+ "summary": "A popover component that provides styled overlay functionality.",
12262
+ "tagName": "forge-ai-popover",
12135
12263
  "customElement": true
12136
12264
  }
12137
12265
  ],
12138
12266
  "exports": [
12139
12267
  {
12140
12268
  "kind": "js",
12141
- "name": "ForgeAiTooltipComponent",
12269
+ "name": "ForgeAiPopoverComponent",
12142
12270
  "declaration": {
12143
- "name": "ForgeAiTooltipComponent",
12144
- "module": "src/lib/core/tooltip/tooltip.ts"
12271
+ "name": "ForgeAiPopoverComponent",
12272
+ "module": "src/lib/core/popover/popover.ts"
12145
12273
  }
12146
12274
  },
12147
12275
  {
12148
12276
  "kind": "custom-element-definition",
12149
- "name": "forge-ai-tooltip",
12277
+ "name": "forge-ai-popover",
12150
12278
  "declaration": {
12151
- "name": "ForgeAiTooltipComponent",
12152
- "module": "src/lib/core/tooltip/tooltip.ts"
12279
+ "name": "ForgeAiPopoverComponent",
12280
+ "module": "src/lib/core/popover/popover.ts"
12153
12281
  }
12154
12282
  }
12155
12283
  ]
@@ -12165,10 +12293,6 @@
12165
12293
  "path": "src/lib/ai-agent-info/ai-agent-info.ts",
12166
12294
  "lineNumber": 29
12167
12295
  },
12168
- "AiArtifactComponent": {
12169
- "path": "src/lib/ai-artifact/ai-artifact.ts",
12170
- "lineNumber": 23
12171
- },
12172
12296
  "ForgeAiAgentSelectorChangeEventData": {
12173
12297
  "path": "src/lib/ai-agent-selector/ai-agent-selector.ts",
12174
12298
  "lineNumber": 23
@@ -12177,13 +12301,9 @@
12177
12301
  "path": "src/lib/ai-agent-selector/ai-agent-selector.ts",
12178
12302
  "lineNumber": 48
12179
12303
  },
12180
- "ForgeAiAssistantResponseFeedbackEventData": {
12181
- "path": "src/lib/ai-assistant-response/ai-assistant-response.ts",
12182
- "lineNumber": 31
12183
- },
12184
- "AiAssistantResponseComponent": {
12185
- "path": "src/lib/ai-assistant-response/ai-assistant-response.ts",
12186
- "lineNumber": 48
12304
+ "AiArtifactComponent": {
12305
+ "path": "src/lib/ai-artifact/ai-artifact.ts",
12306
+ "lineNumber": 23
12187
12307
  },
12188
12308
  "ForgeAiAttachmentRemoveEventData": {
12189
12309
  "path": "src/lib/ai-attachment/ai-attachment.ts",
@@ -12193,6 +12313,14 @@
12193
12313
  "path": "src/lib/ai-attachment/ai-attachment.ts",
12194
12314
  "lineNumber": 41
12195
12315
  },
12316
+ "ForgeAiAssistantResponseFeedbackEventData": {
12317
+ "path": "src/lib/ai-assistant-response/ai-assistant-response.ts",
12318
+ "lineNumber": 31
12319
+ },
12320
+ "AiAssistantResponseComponent": {
12321
+ "path": "src/lib/ai-assistant-response/ai-assistant-response.ts",
12322
+ "lineNumber": 48
12323
+ },
12196
12324
  "AiButtonComponent": {
12197
12325
  "path": "src/lib/ai-button/ai-button.ts",
12198
12326
  "lineNumber": 22
@@ -12215,7 +12343,7 @@
12215
12343
  },
12216
12344
  "AiChatHeaderComponent": {
12217
12345
  "path": "src/lib/ai-chat-header/ai-chat-header.ts",
12218
- "lineNumber": 76
12346
+ "lineNumber": 77
12219
12347
  },
12220
12348
  "AiChatInterfaceComponent": {
12221
12349
  "path": "src/lib/ai-chat-interface/ai-chat-interface.ts",
@@ -12379,7 +12507,7 @@
12379
12507
  },
12380
12508
  "AiChatbotComponent": {
12381
12509
  "path": "src/lib/ai-chatbot/ai-chatbot.ts",
12382
- "lineNumber": 132
12510
+ "lineNumber": 134
12383
12511
  },
12384
12512
  "CreateToolRendererElementConfig": {
12385
12513
  "path": "src/lib/ai-chatbot/create-tool-renderer.ts",
@@ -12551,7 +12679,7 @@
12551
12679
  },
12552
12680
  "AiChatbotLauncherComponent": {
12553
12681
  "path": "src/lib/ai-chatbot-launcher/ai-chatbot-launcher.ts",
12554
- "lineNumber": 73
12682
+ "lineNumber": 74
12555
12683
  },
12556
12684
  "AiConfirmationPromptComponent": {
12557
12685
  "path": "src/lib/ai-confirmation-prompt/ai-confirmation-prompt.ts",
@@ -12561,6 +12689,14 @@
12561
12689
  "path": "src/lib/ai-dialog/ai-dialog.ts",
12562
12690
  "lineNumber": 35
12563
12691
  },
12692
+ "AiDisclaimerComponent": {
12693
+ "path": "src/lib/ai-disclaimer/ai-disclaimer.ts",
12694
+ "lineNumber": 32
12695
+ },
12696
+ "AiEmbeddedChatComponent": {
12697
+ "path": "src/lib/ai-embedded-chat/ai-embedded-chat.ts",
12698
+ "lineNumber": 47
12699
+ },
12564
12700
  "ForgeAiDropdownMenuItemGroupComponent": {
12565
12701
  "path": "src/lib/ai-dropdown-menu/ai-dropdown-menu-item-group.ts",
12566
12702
  "lineNumber": 29
@@ -12621,10 +12757,6 @@
12621
12757
  "path": "src/lib/ai-dropdown-menu/selection-manager.ts",
12622
12758
  "lineNumber": 85
12623
12759
  },
12624
- "AiEmbeddedChatComponent": {
12625
- "path": "src/lib/ai-embedded-chat/ai-embedded-chat.ts",
12626
- "lineNumber": 47
12627
- },
12628
12760
  "AiEmptyStateComponent": {
12629
12761
  "path": "src/lib/ai-empty-state/ai-empty-state.ts",
12630
12762
  "lineNumber": 23
@@ -12639,7 +12771,7 @@
12639
12771
  },
12640
12772
  "AiFabComponent": {
12641
12773
  "path": "src/lib/ai-fab/ai-fab.ts",
12642
- "lineNumber": 22
12774
+ "lineNumber": 27
12643
12775
  },
12644
12776
  "ForgeAiFilePickerChangeEventData": {
12645
12777
  "path": "src/lib/ai-file-picker/ai-file-picker.ts",
@@ -12673,6 +12805,14 @@
12673
12805
  "path": "src/lib/ai-icon/ai-icon.ts",
12674
12806
  "lineNumber": 23
12675
12807
  },
12808
+ "AiIconButtonComponent": {
12809
+ "path": "src/lib/ai-icon-button/ai-icon-button.ts",
12810
+ "lineNumber": 19
12811
+ },
12812
+ "AiModalComponent": {
12813
+ "path": "src/lib/ai-modal/ai-modal.ts",
12814
+ "lineNumber": 36
12815
+ },
12676
12816
  "ForgeAiMessageThreadCopyEventData": {
12677
12817
  "path": "src/lib/ai-message-thread/ai-message-thread.ts",
12678
12818
  "lineNumber": 37
@@ -12691,11 +12831,7 @@
12691
12831
  },
12692
12832
  "AiMessageThreadComponent": {
12693
12833
  "path": "src/lib/ai-message-thread/ai-message-thread.ts",
12694
- "lineNumber": 78
12695
- },
12696
- "AiIconButtonComponent": {
12697
- "path": "src/lib/ai-icon-button/ai-icon-button.ts",
12698
- "lineNumber": 19
12834
+ "lineNumber": 80
12699
12835
  },
12700
12836
  "ForgeAiPromptSendEventData": {
12701
12837
  "path": "src/lib/ai-prompt/ai-prompt.ts",
@@ -12717,22 +12853,18 @@
12717
12853
  "path": "src/lib/ai-prompt/ai-prompt.ts",
12718
12854
  "lineNumber": 63
12719
12855
  },
12720
- "AiModalComponent": {
12721
- "path": "src/lib/ai-modal/ai-modal.ts",
12722
- "lineNumber": 36
12723
- },
12724
12856
  "AiReasoningComponent": {
12725
12857
  "path": "src/lib/ai-reasoning/ai-reasoning.ts",
12726
12858
  "lineNumber": 17
12727
12859
  },
12728
- "AiResponseMessageComponent": {
12729
- "path": "src/lib/ai-response-message/ai-response-message.ts",
12730
- "lineNumber": 19
12731
- },
12732
12860
  "AiReasoningHeaderComponent": {
12733
12861
  "path": "src/lib/ai-reasoning-header/ai-reasoning-header.ts",
12734
12862
  "lineNumber": 22
12735
12863
  },
12864
+ "AiResponseMessageComponent": {
12865
+ "path": "src/lib/ai-response-message/ai-response-message.ts",
12866
+ "lineNumber": 19
12867
+ },
12736
12868
  "ForgeAiResponseMessageToolbarActionEventData": {
12737
12869
  "path": "src/lib/ai-response-message-toolbar/ai-response-message-toolbar.ts",
12738
12870
  "lineNumber": 23
@@ -12749,18 +12881,22 @@
12749
12881
  "path": "src/lib/ai-response-message-toolbar/ai-response-message-toolbar.ts",
12750
12882
  "lineNumber": 43
12751
12883
  },
12752
- "AiSidebarChatComponent": {
12753
- "path": "src/lib/ai-sidebar-chat/ai-sidebar-chat.ts",
12754
- "lineNumber": 42
12755
- },
12756
12884
  "AiSidebarComponent": {
12757
12885
  "path": "src/lib/ai-sidebar/ai-sidebar.ts",
12758
12886
  "lineNumber": 28
12759
12887
  },
12888
+ "AiSidebarChatComponent": {
12889
+ "path": "src/lib/ai-sidebar-chat/ai-sidebar-chat.ts",
12890
+ "lineNumber": 42
12891
+ },
12760
12892
  "AiSlashCommandMenuComponent": {
12761
12893
  "path": "src/lib/ai-slash-command-menu/ai-slash-command-menu.ts",
12762
12894
  "lineNumber": 32
12763
12895
  },
12896
+ "AiThinkingIndicatorComponent": {
12897
+ "path": "src/lib/ai-thinking-indicator/ai-thinking-indicator.ts",
12898
+ "lineNumber": 38
12899
+ },
12764
12900
  "SpinnerSize": {
12765
12901
  "path": "src/lib/ai-spinner/ai-spinner.ts",
12766
12902
  "lineNumber": 14
@@ -12769,10 +12905,6 @@
12769
12905
  "path": "src/lib/ai-spinner/ai-spinner.ts",
12770
12906
  "lineNumber": 27
12771
12907
  },
12772
- "AiThinkingIndicatorComponent": {
12773
- "path": "src/lib/ai-thinking-indicator/ai-thinking-indicator.ts",
12774
- "lineNumber": 38
12775
- },
12776
12908
  "Suggestion": {
12777
12909
  "path": "src/lib/ai-suggestions/ai-suggestions.ts",
12778
12910
  "lineNumber": 20
@@ -12901,6 +13033,10 @@
12901
13033
  "path": "src/lib/ai-reasoning/reasoning-content/reasoning-content.ts",
12902
13034
  "lineNumber": 17
12903
13035
  },
13036
+ "AiPaginator": {
13037
+ "path": "src/lib/tools/ai-paginator/ai-paginator.ts",
13038
+ "lineNumber": 13
13039
+ },
12904
13040
  "TableData": {
12905
13041
  "path": "src/lib/tools/ai-data-table/ai-data-table.ts",
12906
13042
  "lineNumber": 16
@@ -12909,10 +13045,6 @@
12909
13045
  "path": "src/lib/tools/ai-data-table/ai-data-table.ts",
12910
13046
  "lineNumber": 32
12911
13047
  },
12912
- "AiPaginator": {
12913
- "path": "src/lib/tools/ai-paginator/ai-paginator.ts",
12914
- "lineNumber": 13
12915
- },
12916
13048
  "OverlayPlacement": {
12917
13049
  "path": "src/lib/core/overlay/overlay.ts",
12918
13050
  "lineNumber": 31
@@ -12925,22 +13057,6 @@
12925
13057
  "path": "src/lib/core/overlay/overlay.ts",
12926
13058
  "lineNumber": 40
12927
13059
  },
12928
- "PopoverToggleEventData": {
12929
- "path": "src/lib/core/popover/popover.ts",
12930
- "lineNumber": 18
12931
- },
12932
- "PopoverPlacement": {
12933
- "path": "src/lib/core/popover/popover.ts",
12934
- "lineNumber": 24
12935
- },
12936
- "PopoverOffset": {
12937
- "path": "src/lib/core/popover/popover.ts",
12938
- "lineNumber": 26
12939
- },
12940
- "ForgeAiPopoverComponent": {
12941
- "path": "src/lib/core/popover/popover.ts",
12942
- "lineNumber": 37
12943
- },
12944
13060
  "TooltipToggleEventDetail": {
12945
13061
  "path": "src/lib/core/tooltip/tooltip.ts",
12946
13062
  "lineNumber": 20
@@ -12956,6 +13072,22 @@
12956
13072
  "ForgeAiTooltipComponent": {
12957
13073
  "path": "src/lib/core/tooltip/tooltip.ts",
12958
13074
  "lineNumber": 44
13075
+ },
13076
+ "PopoverToggleEventData": {
13077
+ "path": "src/lib/core/popover/popover.ts",
13078
+ "lineNumber": 18
13079
+ },
13080
+ "PopoverPlacement": {
13081
+ "path": "src/lib/core/popover/popover.ts",
13082
+ "lineNumber": 24
13083
+ },
13084
+ "PopoverOffset": {
13085
+ "path": "src/lib/core/popover/popover.ts",
13086
+ "lineNumber": 26
13087
+ },
13088
+ "ForgeAiPopoverComponent": {
13089
+ "path": "src/lib/core/popover/popover.ts",
13090
+ "lineNumber": 37
12959
13091
  }
12960
13092
  }
12961
13093
  }