@tylertech/forge-ai 0.3.0 → 0.4.0

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.
@@ -78,131 +78,131 @@
78
78
  },
79
79
  {
80
80
  "kind": "javascript-module",
81
- "path": "src/lib/ai-actions-toolbar/ai-actions-toolbar.ts",
81
+ "path": "src/lib/ai-artifact/ai-artifact.ts",
82
82
  "declarations": [
83
83
  {
84
84
  "kind": "variable",
85
- "name": "AiActionsToolbarComponentTagName",
85
+ "name": "AiArtifactComponentTagName",
86
86
  "type": {
87
87
  "text": "keyof HTMLElementTagNameMap"
88
88
  },
89
- "default": "'forge-ai-actions-toolbar'"
89
+ "default": "'forge-ai-artifact'"
90
90
  },
91
91
  {
92
92
  "kind": "class",
93
93
  "description": "",
94
- "name": "AiActionsToolbarComponent",
95
- "members": [],
96
- "events": [
94
+ "name": "AiArtifactComponent",
95
+ "cssProperties": [
97
96
  {
98
- "type": {
99
- "text": "CustomEvent<ForgeAiActionsToolbarActionEventData>"
100
- },
101
- "description": "Fired when an action button is clicked. The detail contains the action type.",
102
- "name": "forge-ai-actions-toolbar-action"
97
+ "description": "Surface color override for the toolbar (defaults to transparent)",
98
+ "name": "--forge-theme-surface"
99
+ }
100
+ ],
101
+ "slots": [
102
+ {
103
+ "description": "Content for the start (left) side of the toolbar, typically used for titles or headings",
104
+ "name": "start"
105
+ },
106
+ {
107
+ "description": "Action buttons for the end (right) side of the toolbar",
108
+ "name": "actions"
109
+ },
110
+ {
111
+ "description": "Main content area below the toolbar",
112
+ "name": ""
103
113
  }
104
114
  ],
115
+ "members": [],
105
116
  "superclass": {
106
117
  "name": "LitElement",
107
118
  "package": "lit"
108
119
  },
109
- "tagName": "forge-ai-actions-toolbar",
120
+ "tagName": "forge-ai-artifact",
110
121
  "customElement": true
111
122
  }
112
123
  ],
113
124
  "exports": [
114
125
  {
115
126
  "kind": "js",
116
- "name": "AiActionsToolbarComponentTagName",
127
+ "name": "AiArtifactComponentTagName",
117
128
  "declaration": {
118
- "name": "AiActionsToolbarComponentTagName",
119
- "module": "src/lib/ai-actions-toolbar/ai-actions-toolbar.ts"
129
+ "name": "AiArtifactComponentTagName",
130
+ "module": "src/lib/ai-artifact/ai-artifact.ts"
120
131
  }
121
132
  },
122
133
  {
123
134
  "kind": "js",
124
- "name": "AiActionsToolbarComponent",
135
+ "name": "AiArtifactComponent",
125
136
  "declaration": {
126
- "name": "AiActionsToolbarComponent",
127
- "module": "src/lib/ai-actions-toolbar/ai-actions-toolbar.ts"
137
+ "name": "AiArtifactComponent",
138
+ "module": "src/lib/ai-artifact/ai-artifact.ts"
128
139
  }
129
140
  },
130
141
  {
131
142
  "kind": "custom-element-definition",
132
143
  "declaration": {
133
- "name": "AiActionsToolbarComponent",
134
- "module": "src/lib/ai-actions-toolbar/ai-actions-toolbar.ts"
144
+ "name": "AiArtifactComponent",
145
+ "module": "src/lib/ai-artifact/ai-artifact.ts"
135
146
  }
136
147
  }
137
148
  ]
138
149
  },
139
150
  {
140
151
  "kind": "javascript-module",
141
- "path": "src/lib/ai-artifact/ai-artifact.ts",
152
+ "path": "src/lib/ai-actions-toolbar/ai-actions-toolbar.ts",
142
153
  "declarations": [
143
154
  {
144
155
  "kind": "variable",
145
- "name": "AiArtifactComponentTagName",
156
+ "name": "AiActionsToolbarComponentTagName",
146
157
  "type": {
147
158
  "text": "keyof HTMLElementTagNameMap"
148
159
  },
149
- "default": "'forge-ai-artifact'"
160
+ "default": "'forge-ai-actions-toolbar'"
150
161
  },
151
162
  {
152
163
  "kind": "class",
153
164
  "description": "",
154
- "name": "AiArtifactComponent",
155
- "cssProperties": [
156
- {
157
- "description": "Surface color override for the toolbar (defaults to transparent)",
158
- "name": "--forge-theme-surface"
159
- }
160
- ],
161
- "slots": [
162
- {
163
- "description": "Content for the start (left) side of the toolbar, typically used for titles or headings",
164
- "name": "start"
165
- },
166
- {
167
- "description": "Action buttons for the end (right) side of the toolbar",
168
- "name": "actions"
169
- },
165
+ "name": "AiActionsToolbarComponent",
166
+ "members": [],
167
+ "events": [
170
168
  {
171
- "description": "Main content area below the toolbar",
172
- "name": ""
169
+ "type": {
170
+ "text": "CustomEvent<ForgeAiActionsToolbarActionEventData>"
171
+ },
172
+ "description": "Fired when an action button is clicked. The detail contains the action type.",
173
+ "name": "forge-ai-actions-toolbar-action"
173
174
  }
174
175
  ],
175
- "members": [],
176
176
  "superclass": {
177
177
  "name": "LitElement",
178
178
  "package": "lit"
179
179
  },
180
- "tagName": "forge-ai-artifact",
180
+ "tagName": "forge-ai-actions-toolbar",
181
181
  "customElement": true
182
182
  }
183
183
  ],
184
184
  "exports": [
185
185
  {
186
186
  "kind": "js",
187
- "name": "AiArtifactComponentTagName",
187
+ "name": "AiActionsToolbarComponentTagName",
188
188
  "declaration": {
189
- "name": "AiArtifactComponentTagName",
190
- "module": "src/lib/ai-artifact/ai-artifact.ts"
189
+ "name": "AiActionsToolbarComponentTagName",
190
+ "module": "src/lib/ai-actions-toolbar/ai-actions-toolbar.ts"
191
191
  }
192
192
  },
193
193
  {
194
194
  "kind": "js",
195
- "name": "AiArtifactComponent",
195
+ "name": "AiActionsToolbarComponent",
196
196
  "declaration": {
197
- "name": "AiArtifactComponent",
198
- "module": "src/lib/ai-artifact/ai-artifact.ts"
197
+ "name": "AiActionsToolbarComponent",
198
+ "module": "src/lib/ai-actions-toolbar/ai-actions-toolbar.ts"
199
199
  }
200
200
  },
201
201
  {
202
202
  "kind": "custom-element-definition",
203
203
  "declaration": {
204
- "name": "AiArtifactComponent",
205
- "module": "src/lib/ai-artifact/ai-artifact.ts"
204
+ "name": "AiActionsToolbarComponent",
205
+ "module": "src/lib/ai-actions-toolbar/ai-actions-toolbar.ts"
206
206
  }
207
207
  }
208
208
  ]
@@ -305,6 +305,10 @@
305
305
  "description": "",
306
306
  "name": "AiChatHeaderComponent",
307
307
  "slots": [
308
+ {
309
+ "description": "Slot for custom icon (default: forge-ai-icon)",
310
+ "name": "icon"
311
+ },
308
312
  {
309
313
  "description": "Slot for custom title text (default: \"AI Assistant\")",
310
314
  "name": "title"
@@ -352,8 +356,41 @@
352
356
  },
353
357
  "privacy": "public",
354
358
  "default": "'default'",
355
- "description": "Controls which minimize icon to display",
359
+ "description": "Controls which minimize icon to display ('default' | 'panel')",
356
360
  "attribute": "minimize-icon"
361
+ },
362
+ {
363
+ "kind": "field",
364
+ "name": "showDropdownMenu",
365
+ "type": {
366
+ "text": "boolean"
367
+ },
368
+ "privacy": "public",
369
+ "default": "true",
370
+ "description": "Controls whether the dropdown menu is visible (default: true)",
371
+ "attribute": "show-dropdown-menu"
372
+ },
373
+ {
374
+ "kind": "field",
375
+ "name": "showClearChat",
376
+ "type": {
377
+ "text": "boolean"
378
+ },
379
+ "privacy": "public",
380
+ "default": "true",
381
+ "description": "Controls whether the clear chat menu item is visible (default: true)",
382
+ "attribute": "show-clear-chat"
383
+ },
384
+ {
385
+ "kind": "field",
386
+ "name": "showInfo",
387
+ "type": {
388
+ "text": "boolean"
389
+ },
390
+ "privacy": "public",
391
+ "default": "true",
392
+ "description": "Controls whether the info menu item is visible (default: true)",
393
+ "attribute": "show-info"
357
394
  }
358
395
  ],
359
396
  "events": [
@@ -414,8 +451,35 @@
414
451
  "text": "MinimizeIconType"
415
452
  },
416
453
  "default": "'default'",
417
- "description": "Controls which minimize icon to display",
454
+ "description": "Controls which minimize icon to display ('default' | 'panel')",
418
455
  "fieldName": "minimizeIcon"
456
+ },
457
+ {
458
+ "name": "show-dropdown-menu",
459
+ "type": {
460
+ "text": "boolean"
461
+ },
462
+ "default": "true",
463
+ "description": "Controls whether the dropdown menu is visible (default: true)",
464
+ "fieldName": "showDropdownMenu"
465
+ },
466
+ {
467
+ "name": "show-clear-chat",
468
+ "type": {
469
+ "text": "boolean"
470
+ },
471
+ "default": "true",
472
+ "description": "Controls whether the clear chat menu item is visible (default: true)",
473
+ "fieldName": "showClearChat"
474
+ },
475
+ {
476
+ "name": "show-info",
477
+ "type": {
478
+ "text": "boolean"
479
+ },
480
+ "default": "true",
481
+ "description": "Controls whether the info menu item is visible (default: true)",
482
+ "fieldName": "showInfo"
419
483
  }
420
484
  ],
421
485
  "superclass": {
@@ -1701,9 +1765,13 @@
1701
1765
  "name": "AiEmptyStateComponent",
1702
1766
  "slots": [
1703
1767
  {
1704
- "description": "The custom welcome message content.",
1768
+ "description": "The welcome message content (default: \"Welcome to AI Assistant! Start a conversation by asking a question or describing what you'd like help with.\").",
1705
1769
  "name": ""
1706
1770
  },
1771
+ {
1772
+ "description": "The custom icon to display instead of the default books graphic.",
1773
+ "name": "icon"
1774
+ },
1707
1775
  {
1708
1776
  "description": "The actions or suggestions to display below the message.",
1709
1777
  "name": "actions"
@@ -3463,57 +3531,6 @@
3463
3531
  }
3464
3532
  ]
3465
3533
  },
3466
- {
3467
- "kind": "javascript-module",
3468
- "path": "src/lib/ai-user-message/ai-user-message.ts",
3469
- "declarations": [
3470
- {
3471
- "kind": "variable",
3472
- "name": "AiUserMessageComponentTagName",
3473
- "type": {
3474
- "text": "keyof HTMLElementTagNameMap"
3475
- },
3476
- "default": "'forge-ai-user-message'"
3477
- },
3478
- {
3479
- "kind": "class",
3480
- "description": "",
3481
- "name": "AiUserMessageComponent",
3482
- "members": [],
3483
- "superclass": {
3484
- "name": "LitElement",
3485
- "package": "lit"
3486
- },
3487
- "tagName": "forge-ai-user-message",
3488
- "customElement": true
3489
- }
3490
- ],
3491
- "exports": [
3492
- {
3493
- "kind": "js",
3494
- "name": "AiUserMessageComponentTagName",
3495
- "declaration": {
3496
- "name": "AiUserMessageComponentTagName",
3497
- "module": "src/lib/ai-user-message/ai-user-message.ts"
3498
- }
3499
- },
3500
- {
3501
- "kind": "js",
3502
- "name": "AiUserMessageComponent",
3503
- "declaration": {
3504
- "name": "AiUserMessageComponent",
3505
- "module": "src/lib/ai-user-message/ai-user-message.ts"
3506
- }
3507
- },
3508
- {
3509
- "kind": "custom-element-definition",
3510
- "declaration": {
3511
- "name": "AiUserMessageComponent",
3512
- "module": "src/lib/ai-user-message/ai-user-message.ts"
3513
- }
3514
- }
3515
- ]
3516
- },
3517
3534
  {
3518
3535
  "kind": "javascript-module",
3519
3536
  "path": "src/lib/ai-threads/ai-threads.ts",
@@ -3613,60 +3630,51 @@
3613
3630
  },
3614
3631
  {
3615
3632
  "kind": "javascript-module",
3616
- "path": "src/lib/ai-voice-input/ai-voice-input.ts",
3633
+ "path": "src/lib/ai-user-message/ai-user-message.ts",
3617
3634
  "declarations": [
3618
3635
  {
3619
3636
  "kind": "variable",
3620
- "name": "AiVoiceInputComponentTagName",
3637
+ "name": "AiUserMessageComponentTagName",
3621
3638
  "type": {
3622
3639
  "text": "keyof HTMLElementTagNameMap"
3623
3640
  },
3624
- "default": "'forge-ai-voice-input'"
3641
+ "default": "'forge-ai-user-message'"
3625
3642
  },
3626
3643
  {
3627
3644
  "kind": "class",
3628
3645
  "description": "",
3629
- "name": "AiVoiceInputComponent",
3646
+ "name": "AiUserMessageComponent",
3630
3647
  "members": [],
3631
- "events": [
3632
- {
3633
- "name": "forge-ai-voice-input-result",
3634
- "type": {
3635
- "text": "CustomEvent<AiVoiceInputResultEvent>"
3636
- },
3637
- "description": "Fired when speech recognition produces a result. The event detail contains the transcript and confidence score of the recognized speech."
3638
- }
3639
- ],
3640
3648
  "superclass": {
3641
3649
  "name": "LitElement",
3642
3650
  "package": "lit"
3643
3651
  },
3644
- "tagName": "forge-ai-voice-input",
3652
+ "tagName": "forge-ai-user-message",
3645
3653
  "customElement": true
3646
3654
  }
3647
3655
  ],
3648
3656
  "exports": [
3649
3657
  {
3650
3658
  "kind": "js",
3651
- "name": "AiVoiceInputComponentTagName",
3659
+ "name": "AiUserMessageComponentTagName",
3652
3660
  "declaration": {
3653
- "name": "AiVoiceInputComponentTagName",
3654
- "module": "src/lib/ai-voice-input/ai-voice-input.ts"
3661
+ "name": "AiUserMessageComponentTagName",
3662
+ "module": "src/lib/ai-user-message/ai-user-message.ts"
3655
3663
  }
3656
3664
  },
3657
3665
  {
3658
3666
  "kind": "js",
3659
- "name": "AiVoiceInputComponent",
3667
+ "name": "AiUserMessageComponent",
3660
3668
  "declaration": {
3661
- "name": "AiVoiceInputComponent",
3662
- "module": "src/lib/ai-voice-input/ai-voice-input.ts"
3669
+ "name": "AiUserMessageComponent",
3670
+ "module": "src/lib/ai-user-message/ai-user-message.ts"
3663
3671
  }
3664
3672
  },
3665
3673
  {
3666
3674
  "kind": "custom-element-definition",
3667
3675
  "declaration": {
3668
- "name": "AiVoiceInputComponent",
3669
- "module": "src/lib/ai-voice-input/ai-voice-input.ts"
3676
+ "name": "AiUserMessageComponent",
3677
+ "module": "src/lib/ai-user-message/ai-user-message.ts"
3670
3678
  }
3671
3679
  }
3672
3680
  ]
@@ -3768,6 +3776,66 @@
3768
3776
  }
3769
3777
  ]
3770
3778
  },
3779
+ {
3780
+ "kind": "javascript-module",
3781
+ "path": "src/lib/ai-voice-input/ai-voice-input.ts",
3782
+ "declarations": [
3783
+ {
3784
+ "kind": "variable",
3785
+ "name": "AiVoiceInputComponentTagName",
3786
+ "type": {
3787
+ "text": "keyof HTMLElementTagNameMap"
3788
+ },
3789
+ "default": "'forge-ai-voice-input'"
3790
+ },
3791
+ {
3792
+ "kind": "class",
3793
+ "description": "",
3794
+ "name": "AiVoiceInputComponent",
3795
+ "members": [],
3796
+ "events": [
3797
+ {
3798
+ "name": "forge-ai-voice-input-result",
3799
+ "type": {
3800
+ "text": "CustomEvent<AiVoiceInputResultEvent>"
3801
+ },
3802
+ "description": "Fired when speech recognition produces a result. The event detail contains the transcript and confidence score of the recognized speech."
3803
+ }
3804
+ ],
3805
+ "superclass": {
3806
+ "name": "LitElement",
3807
+ "package": "lit"
3808
+ },
3809
+ "tagName": "forge-ai-voice-input",
3810
+ "customElement": true
3811
+ }
3812
+ ],
3813
+ "exports": [
3814
+ {
3815
+ "kind": "js",
3816
+ "name": "AiVoiceInputComponentTagName",
3817
+ "declaration": {
3818
+ "name": "AiVoiceInputComponentTagName",
3819
+ "module": "src/lib/ai-voice-input/ai-voice-input.ts"
3820
+ }
3821
+ },
3822
+ {
3823
+ "kind": "js",
3824
+ "name": "AiVoiceInputComponent",
3825
+ "declaration": {
3826
+ "name": "AiVoiceInputComponent",
3827
+ "module": "src/lib/ai-voice-input/ai-voice-input.ts"
3828
+ }
3829
+ },
3830
+ {
3831
+ "kind": "custom-element-definition",
3832
+ "declaration": {
3833
+ "name": "AiVoiceInputComponent",
3834
+ "module": "src/lib/ai-voice-input/ai-voice-input.ts"
3835
+ }
3836
+ }
3837
+ ]
3838
+ },
3771
3839
  {
3772
3840
  "kind": "javascript-module",
3773
3841
  "path": "src/lib/ai-chain-of-thought/thought-base/thought-base.ts",
@@ -4758,6 +4826,10 @@
4758
4826
  ],
4759
4827
  "branchName": "main",
4760
4828
  "forgeTypes": {
4829
+ "AiArtifactComponent": {
4830
+ "path": "src/lib/ai-artifact/ai-artifact.ts",
4831
+ "lineNumber": 23
4832
+ },
4761
4833
  "ForgeAiActionsToolbarActionEventData": {
4762
4834
  "path": "src/lib/ai-actions-toolbar/ai-actions-toolbar.ts",
4763
4835
  "lineNumber": 16
@@ -4770,10 +4842,6 @@
4770
4842
  "path": "src/lib/ai-actions-toolbar/ai-actions-toolbar.ts",
4771
4843
  "lineNumber": 29
4772
4844
  },
4773
- "AiArtifactComponent": {
4774
- "path": "src/lib/ai-artifact/ai-artifact.ts",
4775
- "lineNumber": 23
4776
- },
4777
4845
  "AiButtonComponent": {
4778
4846
  "path": "src/lib/ai-button/ai-button.ts",
4779
4847
  "lineNumber": 22
@@ -4784,7 +4852,7 @@
4784
4852
  },
4785
4853
  "AiChatHeaderComponent": {
4786
4854
  "path": "src/lib/ai-chat-header/ai-chat-header.ts",
4787
- "lineNumber": 47
4855
+ "lineNumber": 56
4788
4856
  },
4789
4857
  "AiChainOfThoughtComponent": {
4790
4858
  "path": "src/lib/ai-chain-of-thought/ai-chain-of-thought.ts",
@@ -4966,10 +5034,6 @@
4966
5034
  "path": "src/lib/ai-thinking-indicator/ai-thinking-indicator.ts",
4967
5035
  "lineNumber": 24
4968
5036
  },
4969
- "AiUserMessageComponent": {
4970
- "path": "src/lib/ai-user-message/ai-user-message.ts",
4971
- "lineNumber": 17
4972
- },
4973
5037
  "Thread": {
4974
5038
  "path": "src/lib/ai-threads/ai-threads.ts",
4975
5039
  "lineNumber": 19
@@ -4982,6 +5046,18 @@
4982
5046
  "path": "src/lib/ai-threads/ai-threads.ts",
4983
5047
  "lineNumber": 40
4984
5048
  },
5049
+ "AiUserMessageComponent": {
5050
+ "path": "src/lib/ai-user-message/ai-user-message.ts",
5051
+ "lineNumber": 17
5052
+ },
5053
+ "DragControllerOptions": {
5054
+ "path": "src/lib/core/drag-controller.ts",
5055
+ "lineNumber": 4
5056
+ },
5057
+ "DragController": {
5058
+ "path": "src/lib/core/drag-controller.ts",
5059
+ "lineNumber": 21
5060
+ },
4985
5061
  "SpeechRecognitionAlternative": {
4986
5062
  "path": "src/lib/ai-voice-input/ai-voice-input.ts",
4987
5063
  "lineNumber": 18
@@ -5010,14 +5086,6 @@
5010
5086
  "path": "src/lib/ai-voice-input/ai-voice-input.ts",
5011
5087
  "lineNumber": 74
5012
5088
  },
5013
- "DragControllerOptions": {
5014
- "path": "src/lib/core/drag-controller.ts",
5015
- "lineNumber": 4
5016
- },
5017
- "DragController": {
5018
- "path": "src/lib/core/drag-controller.ts",
5019
- "lineNumber": 21
5020
- },
5021
5089
  "ThoughtBaseComponent": {
5022
5090
  "path": "src/lib/ai-chain-of-thought/thought-base/thought-base.ts",
5023
5091
  "lineNumber": 21
@@ -24,8 +24,17 @@ export type MinimizeIconType = 'default' | 'panel';
24
24
  *
25
25
  * @tag forge-ai-chat-header
26
26
  *
27
+ * @slot icon - Slot for custom icon (default: forge-ai-icon)
27
28
  * @slot title - Slot for custom title text (default: "AI Assistant")
28
29
  *
30
+ * @property {boolean} showExpandButton - Controls whether the expand button is visible
31
+ * @property {boolean} showMinimizeButton - Controls whether the minimize button is visible
32
+ * @property {boolean} expanded - Indicates the current expanded state for displaying the appropriate expand/collapse icon
33
+ * @property {MinimizeIconType} minimizeIcon - Controls which minimize icon to display ('default' | 'panel')
34
+ * @property {boolean} showDropdownMenu - Controls whether the dropdown menu is visible (default: true)
35
+ * @property {boolean} showClearChat - Controls whether the clear chat menu item is visible (default: true)
36
+ * @property {boolean} showInfo - Controls whether the info menu item is visible (default: true)
37
+ *
29
38
  * @event forge-ai-chat-header-expand - Fired when the expand button is clicked
30
39
  * @event forge-ai-chat-header-minimize - Fired when the minimize button is clicked
31
40
  * @event forge-ai-chat-header-clear - Fired when the clear chat option is selected
@@ -50,5 +59,17 @@ export declare class AiChatHeaderComponent extends LitElement {
50
59
  * Controls which minimize icon to display
51
60
  */
52
61
  minimizeIcon: MinimizeIconType;
62
+ /**
63
+ * Controls whether the dropdown menu is visible
64
+ */
65
+ showDropdownMenu: boolean;
66
+ /**
67
+ * Controls whether the clear chat menu item is visible
68
+ */
69
+ showClearChat: boolean;
70
+ /**
71
+ * Controls whether the info menu item is visible
72
+ */
73
+ showInfo: boolean;
53
74
  render(): TemplateResult;
54
75
  }
@@ -20,9 +20,10 @@ var __decorateClass = (decorators, target, key, kind) => {
20
20
  return result;
21
21
  };
22
22
  var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
23
+ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
23
24
  var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
24
25
  var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
25
- var _AiChatHeaderComponent_instances, handleExpandClick_fn, handleMinimizeClick_fn, handleDropdownChange_fn;
26
+ var _iconSlot, _AiChatHeaderComponent_instances, handleExpandClick_fn, handleMinimizeClick_fn, handleDropdownChange_fn;
26
27
  const AiChatHeaderComponentTagName = "forge-ai-chat-header";
27
28
  let AiChatHeaderComponent = class extends LitElement {
28
29
  constructor() {
@@ -32,37 +33,60 @@ let AiChatHeaderComponent = class extends LitElement {
32
33
  this.showMinimizeButton = false;
33
34
  this.expanded = false;
34
35
  this.minimizeIcon = "default";
36
+ this.showDropdownMenu = true;
37
+ this.showClearChat = true;
38
+ this.showInfo = true;
39
+ __privateAdd(this, _iconSlot, html`
40
+ <slot name="icon">
41
+ <forge-ai-icon></forge-ai-icon>
42
+ </slot>
43
+ `);
35
44
  }
36
45
  render() {
37
46
  return html`
38
47
  <div class="header forge-toolbar forge-toolbar--no-divider">
39
48
  <div class="start">
40
- <forge-ai-icon></forge-ai-icon>
49
+ ${__privateGet(this, _iconSlot)}
41
50
  <slot name="title">
42
51
  <h1>AI Assistant</h1>
43
52
  </slot>
44
53
  </div>
45
54
  <div class="end">
46
- <forge-ai-dropdown-menu
47
- variant="icon-button"
48
- selection-mode="none"
49
- @forge-ai-dropdown-menu-change=${__privateMethod(this, _AiChatHeaderComponent_instances, handleDropdownChange_fn)}>
50
- <svg
51
- slot="trigger-content"
52
- xmlns="http://www.w3.org/2000/svg"
53
- viewBox="0 0 24 24"
54
- class="forge-icon ai-icon-button">
55
- <path fill="none" d="M0 0h24v24H0z" />
56
- <path
57
- d="M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2m0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2" />
58
- </svg>
59
- <forge-ai-dropdown-menu-item value="clear-chat">
60
- <span>Clear chat</span>
61
- </forge-ai-dropdown-menu-item>
62
- <forge-ai-dropdown-menu-item value="info">
63
- <span>Info</span>
64
- </forge-ai-dropdown-menu-item>
65
- </forge-ai-dropdown-menu>
55
+ ${when(
56
+ this.showDropdownMenu && (this.showClearChat || this.showInfo),
57
+ () => html`
58
+ <forge-ai-dropdown-menu
59
+ variant="icon-button"
60
+ selection-mode="none"
61
+ @forge-ai-dropdown-menu-change=${__privateMethod(this, _AiChatHeaderComponent_instances, handleDropdownChange_fn)}>
62
+ <svg
63
+ slot="trigger-content"
64
+ xmlns="http://www.w3.org/2000/svg"
65
+ viewBox="0 0 24 24"
66
+ class="forge-icon ai-icon-button">
67
+ <path fill="none" d="M0 0h24v24H0z" />
68
+ <path
69
+ d="M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2m0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2" />
70
+ </svg>
71
+ ${when(
72
+ this.showClearChat,
73
+ () => html`
74
+ <forge-ai-dropdown-menu-item value="clear-chat">
75
+ <span>Clear chat</span>
76
+ </forge-ai-dropdown-menu-item>
77
+ `
78
+ )}
79
+ ${when(
80
+ this.showInfo,
81
+ () => html`
82
+ <forge-ai-dropdown-menu-item value="info">
83
+ <span>Info</span>
84
+ </forge-ai-dropdown-menu-item>
85
+ `
86
+ )}
87
+ </forge-ai-dropdown-menu>
88
+ `
89
+ )}
66
90
  ${when(
67
91
  this.showExpandButton,
68
92
  () => html`
@@ -140,6 +164,7 @@ let AiChatHeaderComponent = class extends LitElement {
140
164
  `;
141
165
  }
142
166
  };
167
+ _iconSlot = /* @__PURE__ */ new WeakMap();
143
168
  _AiChatHeaderComponent_instances = /* @__PURE__ */ new WeakSet();
144
169
  handleExpandClick_fn = function() {
145
170
  const event = new CustomEvent("forge-ai-chat-header-expand", {
@@ -189,6 +214,15 @@ __decorateClass([
189
214
  __decorateClass([
190
215
  property({ attribute: "minimize-icon" })
191
216
  ], AiChatHeaderComponent.prototype, "minimizeIcon", 2);
217
+ __decorateClass([
218
+ property({ type: Boolean, attribute: "show-dropdown-menu" })
219
+ ], AiChatHeaderComponent.prototype, "showDropdownMenu", 2);
220
+ __decorateClass([
221
+ property({ type: Boolean, attribute: "show-clear-chat" })
222
+ ], AiChatHeaderComponent.prototype, "showClearChat", 2);
223
+ __decorateClass([
224
+ property({ type: Boolean, attribute: "show-info" })
225
+ ], AiChatHeaderComponent.prototype, "showInfo", 2);
192
226
  AiChatHeaderComponent = __decorateClass([
193
227
  customElement(AiChatHeaderComponentTagName)
194
228
  ], AiChatHeaderComponent);
@@ -1,4 +1,4 @@
1
- const styles = '/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/* prettier-ignore */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n:host {\n display: block;\n height: 100%;\n flex-grow: 1;\n}\n\n.ai-chat-interface {\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-family: var(--forge-typography-body1-font-family, var(--forge-typography-font-family, "Roboto", sans-serif));\n font-size: var(--forge-typography-body1-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-body-font-size-scale, 0.875)));\n font-weight: var(--forge-typography-body1-font-weight, 400);\n line-height: var(--forge-typography-body1-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-body-line-height-scale, 1.125)));\n letter-spacing: var(--forge-typography-body1-letter-spacing, 0.0357142857em);\n text-transform: var(--forge-typography-body1-text-transform, inherit);\n text-decoration: var(--forge-typography-body1-text-decoration, inherit);\n color: var(--forge-theme-on-surface, #000000);\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n\n.messages-container::-webkit-scrollbar {\n height: var(--forge-scrollbar-height, 16px);\n width: var(--forge-scrollbar-width, 16px);\n}\n.messages-container::-webkit-scrollbar-track {\n background-color: var(--forge-scrollbar-track-container, var(--forge-theme-surface-container-low, #ebebeb));\n}\n.messages-container::-webkit-scrollbar-track:hover {\n background-color: var(--forge-scrollbar-track-container-hover, var(--forge-theme-surface-container-low, #ebebeb));\n}\n.messages-container::-webkit-scrollbar-corner {\n background-color: var(--forge-scrollbar-track-container, var(--forge-theme-surface-container-low, #ebebeb));\n}\n.messages-container::-webkit-scrollbar-thumb {\n height: var(--forge-scrollbar-thumb-min-height, 32px);\n width: var(--forge-scrollbar-thumb-min-width, 32px);\n border-radius: var(--forge-scrollbar-border-radius, calc(var(--forge-shape-full, 9999px) * var(--forge-shape-factor, 1)));\n border-width: var(--forge-scrollbar-border-width, 3px);\n border-style: solid;\n border-color: transparent;\n background-color: var(--forge-scrollbar-thumb-container, var(--forge-theme-surface-container-medium, #c2c2c2));\n background-clip: content-box;\n}\n.messages-container::-webkit-scrollbar-thumb:hover {\n background-color: var(--forge-scrollbar-thumb-container-hover, var(--forge-theme-surface-container-high, #9e9e9e));\n}\n.messages-container {\n padding-inline: var(--forge-spacing-medium, 16px);\n padding-block-end: var(--forge-spacing-medium, 16px);\n overflow-y: auto;\n}\n@media not all and (min-resolution: 0.001dpcm) {\n @supports (-webkit-appearance: none) {\n .messages-container {\n overflow-y: scroll;\n }\n }\n}\n.messages-container {\n background: linear-gradient(to top, var(--forge-theme-primary-container-minimum, #f7f8fc), var(--forge-theme-surface, #ffffff));\n border-block-end: 1px solid var(--forge-theme-outline, #e0e0e0);\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n gap: var(--forge-spacing-medium, 16px);\n}\n\n.suggestions-container {\n padding-inline: var(--forge-spacing-medium, 16px);\n padding-block-start: var(--forge-spacing-medium, 16px);\n}\n\n.prompt-container {\n padding: var(--forge-spacing-medium, 16px);\n}';
1
+ const styles = '/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/* prettier-ignore */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n:host {\n display: block;\n height: 100%;\n flex-grow: 1;\n --forge-ai-chat-interface-message-container-padding: 0 var(--forge-spacing-medium, 16px)\n var(--forge-spacing-medium, 16px);\n}\n\n.ai-chat-interface {\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-family: var(--forge-typography-body1-font-family, var(--forge-typography-font-family, "Roboto", sans-serif));\n font-size: var(--forge-typography-body1-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-body-font-size-scale, 0.875)));\n font-weight: var(--forge-typography-body1-font-weight, 400);\n line-height: var(--forge-typography-body1-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-body-line-height-scale, 1.125)));\n letter-spacing: var(--forge-typography-body1-letter-spacing, 0.0357142857em);\n text-transform: var(--forge-typography-body1-text-transform, inherit);\n text-decoration: var(--forge-typography-body1-text-decoration, inherit);\n color: var(--forge-theme-on-surface, #000000);\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n\n.messages-container::-webkit-scrollbar {\n height: var(--forge-scrollbar-height, 16px);\n width: var(--forge-scrollbar-width, 16px);\n}\n.messages-container::-webkit-scrollbar-track {\n background-color: var(--forge-scrollbar-track-container, var(--forge-theme-surface-container-low, #ebebeb));\n}\n.messages-container::-webkit-scrollbar-track:hover {\n background-color: var(--forge-scrollbar-track-container-hover, var(--forge-theme-surface-container-low, #ebebeb));\n}\n.messages-container::-webkit-scrollbar-corner {\n background-color: var(--forge-scrollbar-track-container, var(--forge-theme-surface-container-low, #ebebeb));\n}\n.messages-container::-webkit-scrollbar-thumb {\n height: var(--forge-scrollbar-thumb-min-height, 32px);\n width: var(--forge-scrollbar-thumb-min-width, 32px);\n border-radius: var(--forge-scrollbar-border-radius, calc(var(--forge-shape-full, 9999px) * var(--forge-shape-factor, 1)));\n border-width: var(--forge-scrollbar-border-width, 3px);\n border-style: solid;\n border-color: transparent;\n background-color: var(--forge-scrollbar-thumb-container, var(--forge-theme-surface-container-medium, #c2c2c2));\n background-clip: content-box;\n}\n.messages-container::-webkit-scrollbar-thumb:hover {\n background-color: var(--forge-scrollbar-thumb-container-hover, var(--forge-theme-surface-container-high, #9e9e9e));\n}\n.messages-container {\n padding: var(--forge-ai-chat-interface-message-container-padding);\n overflow-y: auto;\n}\n@media not all and (min-resolution: 0.001dpcm) {\n @supports (-webkit-appearance: none) {\n .messages-container {\n overflow-y: scroll;\n }\n }\n}\n.messages-container {\n background: linear-gradient(to top, var(--forge-theme-primary-container-minimum, #f7f8fc), var(--forge-theme-surface, #ffffff));\n border-block-end: 1px solid var(--forge-theme-outline, #e0e0e0);\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n gap: var(--forge-spacing-medium, 16px);\n}\n\n.suggestions-container {\n padding-inline: var(--forge-spacing-medium, 16px);\n padding-block-start: var(--forge-spacing-medium, 16px);\n}\n\n.prompt-container {\n padding: var(--forge-spacing-medium, 16px);\n}';
2
2
  export {
3
3
  styles as default
4
4
  };
@@ -8,12 +8,12 @@ export declare const AiEmptyStateComponentTagName: keyof HTMLElementTagNameMap;
8
8
  /**
9
9
  * @tag forge-ai-empty-state
10
10
  *
11
- * @slot - The custom welcome message content.
11
+ * @slot - The welcome message content (default: "Welcome to AI Assistant! Start a conversation by asking a question or describing what you'd like help with.").
12
+ * @slot icon - The custom icon to display instead of the default books graphic.
12
13
  * @slot actions - The actions or suggestions to display below the message.
13
14
  */
14
15
  export declare class AiEmptyStateComponent extends LitElement {
15
16
  #private;
16
17
  static styles: import('lit').CSSResult;
17
- private _slottedNodes;
18
18
  render(): TemplateResult;
19
19
  }
@@ -1,8 +1,6 @@
1
1
  import { unsafeCSS, LitElement, html } from "lit";
2
- import { queryAssignedNodes, customElement } from "lit/decorators.js";
3
- import { when } from "lit/directives/when.js";
2
+ import { customElement } from "lit/decorators.js";
4
3
  import styles from "./ai-empty-state.scss.mjs";
5
- var __defProp = Object.defineProperty;
6
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
7
5
  var __typeError = (msg) => {
8
6
  throw TypeError(msg);
@@ -11,122 +9,111 @@ var __decorateClass = (decorators, target, key, kind) => {
11
9
  var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
12
10
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
13
11
  if (decorator = decorators[i])
14
- result = (kind ? decorator(target, key, result) : decorator(result)) || result;
15
- if (kind && result) __defProp(target, key, result);
12
+ result = decorator(result) || result;
16
13
  return result;
17
14
  };
18
15
  var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
19
16
  var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
20
17
  var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
21
- var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
22
- var _messageSlot, _defaultMessage, _AiEmptyStateComponent_instances, messageContent_get, handleSlotChange_fn;
18
+ var _defaultIcon, _messageSlot, _iconSlot;
23
19
  const AiEmptyStateComponentTagName = "forge-ai-empty-state";
24
20
  let AiEmptyStateComponent = class extends LitElement {
25
21
  constructor() {
26
22
  super(...arguments);
27
- __privateAdd(this, _AiEmptyStateComponent_instances);
28
- __privateAdd(this, _messageSlot, html`<slot @slotchange=${__privateMethod(this, _AiEmptyStateComponent_instances, handleSlotChange_fn)}></slot>`);
29
- __privateAdd(this, _defaultMessage, html`Welcome to AI Assistant! Start a conversation by asking a question or describing what
30
- you'd like help with.`);
23
+ __privateAdd(this, _defaultIcon, html`
24
+ <svg xmlns="http://www.w3.org/2000/svg" id="Layer_1" data-name="Layer 1" viewBox="0 0 92 92" class="graphic">
25
+ <defs>
26
+ <style>
27
+ .cls-1,
28
+ .cls-7 {
29
+ fill: none;
30
+ }
31
+ .cls-2 {
32
+ fill: #d0dbf4;
33
+ fill-rule: evenodd;
34
+ }
35
+ .cls-3 {
36
+ fill: #fff;
37
+ stroke-width: 2.5px;
38
+ }
39
+ .cls-3,
40
+ .cls-4,
41
+ .cls-5 {
42
+ stroke: #586ab1;
43
+ stroke-linecap: round;
44
+ stroke-linejoin: round;
45
+ }
46
+ .cls-4 {
47
+ fill: #fcbf12;
48
+ }
49
+ .cls-4,
50
+ .cls-5 {
51
+ stroke-width: 2px;
52
+ }
53
+ .cls-5 {
54
+ fill: #5cc5cd;
55
+ }
56
+ .cls-6 {
57
+ fill: #586ab1;
58
+ }
59
+ .cls-7 {
60
+ stroke: #d1d1d1;
61
+ stroke-miterlimit: 10;
62
+ stroke-width: 0.75px;
63
+ }
64
+ </style>
65
+ </defs>
66
+ <title>books-spot</title>
67
+ <rect class="cls-1" x="0.09" y="0.05" width="92" height="92" />
68
+ <path class="cls-2" d="M46.1,82a36,36,0,1,0-36-36A36,36,0,0,0,46.1,82Z" />
69
+ <rect class="cls-3" x="13.81" y="64.02" width="64.9" height="8.3" rx="1" />
70
+ <rect class="cls-4" x="12.19" y="61.41" width="67.72" height="3.69" rx="1" />
71
+ <rect class="cls-4" x="12.19" y="71.99" width="67.72" height="3.69" rx="1" />
72
+ <rect
73
+ class="cls-5"
74
+ x="25.75"
75
+ y="8.77"
76
+ width="12.26"
77
+ height="51.94"
78
+ rx="1"
79
+ transform="translate(14.61 -9.14) rotate(21.06)" />
80
+ <rect
81
+ class="cls-6"
82
+ x="20.89"
83
+ y="47.21"
84
+ width="10.63"
85
+ height="4.51"
86
+ transform="translate(19.53 -6.11) rotate(21.06)" />
87
+ <line class="cls-7" x1="15.05" y1="67.62" x2="77.45" y2="67.69" />
88
+ <line class="cls-7" x1="15.05" y1="69.49" x2="77.45" y2="69.55" />
89
+ <rect class="cls-4" x="47.18" y="8.29" width="12.26" height="51.94" rx="1" />
90
+ <rect class="cls-6" x="47.99" y="47.79" width="10.63" height="4.51" />
91
+ <polygon class="cls-6" points="55.47 17.96 53.08 15.96 50.75 17.96 50.75 8.81 55.47 8.81 55.47 17.96" />
92
+ <rect class="cls-5" x="59.69" y="8.29" width="12.26" height="51.94" rx="1" />
93
+ <rect class="cls-6" x="60.49" y="47.79" width="10.63" height="4.51" />
94
+ </svg>
95
+ `);
96
+ __privateAdd(this, _messageSlot, html`
97
+ <slot
98
+ >Welcome to AI Assistant! Start a conversation by asking a question or describing what you'd like help with.</slot
99
+ >
100
+ `);
101
+ __privateAdd(this, _iconSlot, html` <slot name="icon"> ${__privateGet(this, _defaultIcon)} </slot> `);
31
102
  }
32
103
  render() {
33
104
  return html` <div class="forge-page-state">
34
105
  <div class="welcome-container">
35
- <svg xmlns="http://www.w3.org/2000/svg" id="Layer_1" data-name="Layer 1" viewBox="0 0 92 92" class="graphic">
36
- <defs>
37
- <style>
38
- .cls-1,
39
- .cls-7 {
40
- fill: none;
41
- }
42
- .cls-2 {
43
- fill: #d0dbf4;
44
- fill-rule: evenodd;
45
- }
46
- .cls-3 {
47
- fill: #fff;
48
- stroke-width: 2.5px;
49
- }
50
- .cls-3,
51
- .cls-4,
52
- .cls-5 {
53
- stroke: #586ab1;
54
- stroke-linecap: round;
55
- stroke-linejoin: round;
56
- }
57
- .cls-4 {
58
- fill: #fcbf12;
59
- }
60
- .cls-4,
61
- .cls-5 {
62
- stroke-width: 2px;
63
- }
64
- .cls-5 {
65
- fill: #5cc5cd;
66
- }
67
- .cls-6 {
68
- fill: #586ab1;
69
- }
70
- .cls-7 {
71
- stroke: #d1d1d1;
72
- stroke-miterlimit: 10;
73
- stroke-width: 0.75px;
74
- }
75
- </style>
76
- </defs>
77
- <title>books-spot</title>
78
- <rect class="cls-1" x="0.09" y="0.05" width="92" height="92" />
79
- <path class="cls-2" d="M46.1,82a36,36,0,1,0-36-36A36,36,0,0,0,46.1,82Z" />
80
- <rect class="cls-3" x="13.81" y="64.02" width="64.9" height="8.3" rx="1" />
81
- <rect class="cls-4" x="12.19" y="61.41" width="67.72" height="3.69" rx="1" />
82
- <rect class="cls-4" x="12.19" y="71.99" width="67.72" height="3.69" rx="1" />
83
- <rect
84
- class="cls-5"
85
- x="25.75"
86
- y="8.77"
87
- width="12.26"
88
- height="51.94"
89
- rx="1"
90
- transform="translate(14.61 -9.14) rotate(21.06)" />
91
- <rect
92
- class="cls-6"
93
- x="20.89"
94
- y="47.21"
95
- width="10.63"
96
- height="4.51"
97
- transform="translate(19.53 -6.11) rotate(21.06)" />
98
- <line class="cls-7" x1="15.05" y1="67.62" x2="77.45" y2="67.69" />
99
- <line class="cls-7" x1="15.05" y1="69.49" x2="77.45" y2="69.55" />
100
- <rect class="cls-4" x="47.18" y="8.29" width="12.26" height="51.94" rx="1" />
101
- <rect class="cls-6" x="47.99" y="47.79" width="10.63" height="4.51" />
102
- <polygon class="cls-6" points="55.47 17.96 53.08 15.96 50.75 17.96 50.75 8.81 55.47 8.81 55.47 17.96" />
103
- <rect class="cls-5" x="59.69" y="8.29" width="12.26" height="51.94" rx="1" />
104
- <rect class="cls-6" x="60.49" y="47.79" width="10.63" height="4.51" />
105
- </svg>
106
- <div class="forge-page-state__message message">${__privateGet(this, _AiEmptyStateComponent_instances, messageContent_get)}</div>
106
+ ${__privateGet(this, _iconSlot)}
107
+ <div class="forge-page-state__message message">${__privateGet(this, _messageSlot)}</div>
107
108
  <slot name="actions"></slot>
108
109
  </div>
109
110
  </div>`;
110
111
  }
111
112
  };
113
+ _defaultIcon = /* @__PURE__ */ new WeakMap();
112
114
  _messageSlot = /* @__PURE__ */ new WeakMap();
113
- _defaultMessage = /* @__PURE__ */ new WeakMap();
114
- _AiEmptyStateComponent_instances = /* @__PURE__ */ new WeakSet();
115
- messageContent_get = function() {
116
- const hasCustomContent = this._slottedNodes.length > 0;
117
- return when(
118
- hasCustomContent,
119
- () => __privateGet(this, _messageSlot),
120
- () => __privateGet(this, _defaultMessage)
121
- );
122
- };
123
- handleSlotChange_fn = function() {
124
- this.requestUpdate();
125
- };
115
+ _iconSlot = /* @__PURE__ */ new WeakMap();
126
116
  AiEmptyStateComponent.styles = unsafeCSS(styles);
127
- __decorateClass([
128
- queryAssignedNodes({ flatten: true })
129
- ], AiEmptyStateComponent.prototype, "_slottedNodes", 2);
130
117
  AiEmptyStateComponent = __decorateClass([
131
118
  customElement(AiEmptyStateComponentTagName)
132
119
  ], AiEmptyStateComponent);
@@ -1,4 +1,4 @@
1
- const styles = '/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/* prettier-ignore */\n.forge-button {\n --_button-primary-color: var(--forge-button-primary-color, var(--forge-theme-primary, #3f51b5));\n --_button-text-color: var(--forge-button-text-color, var(--_button-primary-color));\n --_button-disabled-color: var(--forge-button-disabled-color, var(--forge-theme-surface-container, #e0e0e0));\n --_button-padding: var(--forge-button-padding, var(--forge-spacing-medium, 16px));\n --_button-display: var(--forge-button-display, inline-grid);\n --_button-justify: var(--forge-button-justify, center);\n --_button-shape: var(--forge-button-shape, calc(var(--forge-shape-medium, 4px) * var(--forge-shape-factor, 1)));\n --_button-height: var(--forge-button-height, 36px);\n --_button-min-width: var(--forge-button-min-width, 64px);\n --_button-spacing: var(--forge-button-spacing, var(--forge-spacing-xsmall, 8px));\n --_button-border-width: var(--forge-button-border-width, medium);\n --_button-border-style: var(--forge-button-border-style, none);\n --_button-border-color: var(--forge-button-border-color, currentColor);\n --_button-shape-start-start-radius: var(--forge-button-shape-start-start-radius, var(--_button-shape));\n --_button-shape-start-end-radius: var(--forge-button-shape-start-end-radius, var(--_button-shape));\n --_button-shape-end-start-radius: var(--forge-button-shape-end-start-radius, var(--_button-shape));\n --_button-shape-end-end-radius: var(--forge-button-shape-end-end-radius, var(--_button-shape));\n --_button-padding-block: var(--forge-button-padding-block, var(--_button-0));\n --_button-padding-inline: var(--forge-button-padding-inline, var(--_button-padding));\n --_button-background: var(--forge-button-background, transparent);\n --_button-hover-background: var(--forge-button-hover-background, var(--_button-background));\n --_button-active-background: var(--forge-button-active-background, var(--_button-background));\n --_button-color: var(--forge-button-color, var(--_button-text-color));\n --_button-icon-size: var(--forge-button-icon-size, calc(var(--forge-typography-font-size, 1rem) * 1.125));\n --_button-shadow: var(--forge-button-shadow, none);\n --_button-hover-shadow: var(--forge-button-hover-shadow, none);\n --_button-active-shadow: var(--forge-button-active-shadow, none);\n --_button-cursor: var(--forge-button-cursor, pointer);\n --_button-transition-duration: var(--forge-button-transition-duration, var(--forge-animation-duration-short3, 150ms));\n --_button-transition-timing: var(--forge-button-transition-timing, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1)));\n --_button-text-padding-inline: var(--forge-button-text-padding-inline, var(--forge-spacing-xsmall, 8px));\n --_button-outlined-background: var(--forge-button-outlined-background, transparent);\n --_button-outlined-color: var(--forge-button-outlined-color, var(--_button-primary-color));\n --_button-outlined-border-width: var(--forge-button-outlined-border-width, var(--forge-border-thin, 1px));\n --_button-outlined-border-style: var(--forge-button-outlined-border-style, solid);\n --_button-outlined-border-color: var(--forge-button-outlined-border-color, var(--_button-primary-color));\n --_button-tonal-background: var(--forge-button-tonal-background, var(--forge-theme-primary-container, #d1d5ed));\n --_button-tonal-disabled-background: var(--forge-button-tonal-disabled-background, var(--_button-disabled-color));\n --_button-tonal-color: var(--forge-button-tonal-color, var(--forge-theme-on-primary-container, #222c62));\n --_button-tonal-disabled-color: var(--forge-button-tonal-disabled-color, var(--_button-disabled-text-color));\n --_button-filled-background: var(--forge-button-filled-background, var(--_button-primary-color));\n --_button-filled-disabled-background: var(--forge-button-filled-disabled-background, var(--_button-disabled-color));\n --_button-filled-color: var(--forge-button-filled-color, var(--forge-theme-on-primary, #ffffff));\n --_button-filled-disabled-color: var(--forge-button-filled-disabled-color, var(--_button-disabled-text-color));\n --_button-raised-background: var(--forge-button-raised-background, var(--_button-primary-color));\n --_button-raised-disabled-background: var(--forge-button-raised-disabled-background, var(--_button-disabled-color));\n --_button-raised-color: var(--forge-button-raised-color, var(--forge-theme-on-primary, #ffffff));\n --_button-raised-disabled-color: var(--forge-button-raised-disabled-color, var(--_button-disabled-text-color));\n --_button-raised-shadow: var(--forge-button-raised-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12));\n --_button-raised-hover-shadow: var(--forge-button-raised-hover-shadow, 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12));\n --_button-raised-active-shadow: var(--forge-button-raised-active-shadow, 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12));\n --_button-raised-disabled-shadow: var(--forge-button-raised-disabled-shadow, none);\n --_button-link-color: var(--forge-button-link-color, var(--_button-primary-color));\n --_button-link-text-decoration: var(--forge-button-link-text-decoration, underline);\n --_button-link-height: var(--forge-button-link-height, auto);\n --_button-link-padding: var(--forge-button-link-padding, 0);\n --_button-link-line-height: var(--forge-button-link-line-height, normal);\n --_button-link-width: var(--forge-button-link-width, auto);\n --_button-link-hover-text-decoration: var(--forge-button-link-hover-text-decoration, none);\n --_button-link-active-opacity: var(--forge-button-link-active-opacity, 0.65);\n --_button-link-transition-duration: var(--forge-button-link-transition-duration, var(--forge-animation-duration-short3, 150ms));\n --_button-link-transition-timing: var(--forge-button-link-transition-timing, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1)));\n --_button-disabled-cursor: var(--forge-button-disabled-cursor, not-allowed);\n --_button-disabled-text-color: var(--forge-button-disabled-text-color, var(--forge-theme-text-low, rgba(0, 0, 0, 0.38)));\n --_button-disabled-background: var(--forge-button-disabled-background, transparent);\n --_button-disabled-border-color: var(--forge-button-disabled-border-color, var(--_button-disabled-color));\n --_button-disabled-shadow: var(--forge-button-disabled-shadow, none);\n --_button-dense-height: var(--forge-button-dense-height, 24px);\n --_button-pill-shape: var(--forge-button-pill-shape, calc(var(--forge-shape-full, 9999px) * var(--forge-shape-factor, 1)));\n --_button-pill-padding-inline: var(--forge-button-pill-padding-inline, var(--forge-spacing-small, 12px));\n --_button-focus-indicator-offset: var(--forge-button-focus-indicator-offset, 4px);\n --_button-text-focus-indicator-offset: var(--forge-button-text-focus-indicator-offset, 0px);\n --_button-link-focus-indicator-offset: var(--forge-button-link-focus-indicator-offset, 2px);\n --_button-popover-icon-transition-duration: var(--forge-button-popover-icon-transition-duration, var(--forge-animation-duration-short3, 150ms));\n --_button-popover-icon-transition-timing: var(--forge-button-popover-icon-transition-timing, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1)));\n --_button-popover-icon-open-rotation: var(--forge-button-popover-icon-open-rotation, 180deg);\n}\n\n.forge-button {\n display: var(--_button-display);\n position: relative;\n outline: none;\n vertical-align: middle;\n -webkit-tap-highlight-color: transparent;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-family: var(--forge-typography-button-font-family, var(--forge-typography-font-family, "Roboto", sans-serif));\n font-size: var(--forge-typography-button-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-button-font-size-scale, 0.875)));\n font-weight: var(--forge-typography-button-font-weight, 500);\n line-height: var(--forge-typography-button-line-height, normal);\n letter-spacing: var(--forge-typography-button-letter-spacing, 0.0714285714em);\n text-transform: var(--forge-typography-button-text-transform, inherit);\n text-decoration: var(--forge-typography-button-text-decoration, inherit);\n position: relative;\n display: var(--_button-display);\n grid-auto-flow: column;\n align-items: center;\n justify-content: var(--_button-justify);\n gap: var(--_button-spacing);\n z-index: 0;\n box-sizing: border-box;\n min-inline-size: var(--_button-min-width);\n height: var(--_button-height);\n inline-size: 100%;\n border-width: var(--_button-border-width);\n border-style: var(--_button-border-style);\n border-color: var(--_button-border-color);\n border-start-start-radius: var(--_button-shape-start-start-radius);\n border-start-end-radius: var(--_button-shape-start-end-radius);\n border-end-start-radius: var(--_button-shape-end-start-radius);\n border-end-end-radius: var(--_button-shape-end-end-radius);\n padding-block: var(--_button-padding-block);\n padding-inline: var(--_button-padding-inline);\n box-shadow: var(--_button-shadow);\n outline: none;\n user-select: none;\n -webkit-appearance: none;\n vertical-align: middle;\n text-decoration: none;\n white-space: nowrap;\n background: var(--_button-background);\n color: var(--_button-color);\n cursor: var(--_button-cursor);\n transition-property: box-shadow, background;\n transition-duration: var(--_button-transition-duration);\n transition-timing-function: var(--_button-transition-timing);\n}\n\n.forge-button::-moz-focus-inner {\n padding: 0;\n border: 0;\n}\n\n.forge-button:hover {\n --_button-shadow: var(--_button-hover-shadow);\n background: var(--_button-hover-background);\n}\n\n.forge-button:active {\n --_button-shadow: var(--_button-active-shadow);\n background: var(--_button-active-background);\n}\n\n.forge-button {\n position: relative;\n inline-size: auto;\n}\n\n.forge-button:not(:disabled):not(.forge-button--link) {\n --_state-layer-display: var(--forge-state-layer-display, flex);\n --_state-layer-color: var(--forge-state-layer-color, var(--forge-theme-on-surface, #000000));\n --_state-layer-hover-color: var(--forge-state-layer-hover-color, var(--_state-layer-color));\n --_state-layer-hover-opacity: var(--forge-state-layer-hover-opacity, 0.08);\n --_state-layer-pressed-color: var(--forge-state-layer-pressed-color, var(--_state-layer-color));\n --_state-layer-pressed-opacity: var(--forge-state-layer-pressed-opacity, 0.12);\n --_state-layer-hover-duration: var(--forge-state-layer-hover-duration, 15ms);\n --_state-layer-pressed-duration: var(--forge-state-layer-pressed-duration, 105ms);\n --_state-layer-animation-duration: var(--forge-state-layer-animation-duration, 375ms);\n}\n\n.forge-button:not(:disabled):not(.forge-button--link)::before {\n opacity: 0;\n position: absolute;\n background-color: var(--_state-layer-hover-color);\n inset: 0;\n transition: opacity var(--_state-layer-hover-duration) linear, background-color var(--_state-layer-hover-duration) linear;\n --_state-layer-hover-duration: var(--forge-state-layer-hover-duration, 100ms);\n content: "";\n opacity: 0;\n border-radius: inherit;\n}\n\n.forge-button:not(:disabled):not(.forge-button--link):hover::before {\n background-color: var(--_state-layer-hover-color);\n opacity: var(--_state-layer-hover-opacity);\n}\n\n.forge-button:not(:disabled):not(.forge-button--link):active::before {\n opacity: var(--_state-layer-pressed-opacity);\n transition-duration: var(--_state-layer-pressed-duration);\n --_state-layer-pressed-opacity: var(--forge-state-layer-pressed-opacity, 0.18);\n}\n\n@keyframes forge-focus-indicator-outward-grow {\n from {\n outline-width: 0;\n }\n to {\n outline-width: var(--_focus-indicator-active-width);\n }\n}\n@keyframes forge-focus-indicator-outward-shrink {\n from {\n outline-width: var(--_focus-indicator-active-width);\n }\n}\n@keyframes forge-focus-indicator-inward-grow {\n from {\n border-width: 0;\n }\n to {\n border-width: var(--_focus-indicator-active-width);\n }\n}\n@keyframes forge-focus-indicator-inward-shrink {\n from {\n border-width: var(--_focus-indicator-active-width);\n }\n}\n.forge-button:not(:disabled) {\n outline: none;\n}\n\n.forge-button:not(:disabled):focus-visible::after {\n --_focus-indicator-display: var(--forge-focus-indicator-display, flex);\n --_focus-indicator-width: var(--forge-focus-indicator-width, var(--forge-border-medium, 2px));\n --_focus-indicator-active-width: var(--forge-focus-indicator-active-width, 6px);\n --_focus-indicator-color: var(--forge-focus-indicator-color, var(--forge-theme-primary, #3f51b5));\n --_focus-indicator-shape: var(--forge-focus-indicator-shape, calc(var(--forge-shape-extra-small, 1px) * var(--forge-shape-factor, 1)));\n --_focus-indicator-duration: var(--forge-focus-indicator-duration, var(--forge-animation-duration-long4, 600ms));\n --_focus-indicator-easing: var(--forge-focus-indicator-easing, var(--forge-animation-easing-emphasized, cubic-bezier(0.2, 0, 0, 1)));\n --_focus-indicator-shape-start-start: var(--forge-focus-indicator-shape-start-start, var(--_focus-indicator-shape));\n --_focus-indicator-shape-start-end: var(--forge-focus-indicator-shape-start-end, var(--_focus-indicator-shape));\n --_focus-indicator-shape-end-end: var(--forge-focus-indicator-shape-end-end, var(--_focus-indicator-shape));\n --_focus-indicator-shape-end-start: var(--forge-focus-indicator-shape-end-start, var(--_focus-indicator-shape));\n --_focus-indicator-outward-offset: var(--forge-focus-indicator-outward-offset, var(--forge-spacing-xxsmall, 4px));\n --_focus-indicator-inward-offset: var(--forge-focus-indicator-inward-offset, 0px);\n --_focus-indicator-offset-block: var(--forge-focus-indicator-offset-block, 0);\n --_focus-indicator-offset-inline: var(--forge-focus-indicator-offset-inline, 0);\n}\n\n.forge-button:not(:disabled):focus-visible::after {\n animation-delay: 0s, calc(var(--_focus-indicator-duration) * 0.25);\n animation-duration: calc(var(--_focus-indicator-duration) * 0.25), calc(var(--_focus-indicator-duration) * 0.75);\n animation-timing-function: var(--_focus-indicator-easing);\n box-sizing: border-box;\n color: var(--_focus-indicator-color);\n display: none;\n pointer-events: none;\n position: absolute;\n margin-block: var(--_focus-indicator-offset-block);\n margin-inline: var(--_focus-indicator-offset-inline);\n animation-name: forge-focus-indicator-outward-grow, forge-focus-indicator-outward-shrink;\n border-end-end-radius: calc(var(--_focus-indicator-shape-end-end) + var(--_focus-indicator-outward-offset));\n border-end-start-radius: calc(var(--_focus-indicator-shape-end-start) + var(--_focus-indicator-outward-offset));\n border-start-end-radius: calc(var(--_focus-indicator-shape-start-end) + var(--_focus-indicator-outward-offset));\n border-start-start-radius: calc(var(--_focus-indicator-shape-start-start) + var(--_focus-indicator-outward-offset));\n inset: calc(-1 * var(--_focus-indicator-outward-offset));\n outline: var(--_focus-indicator-width) solid currentColor;\n content: "";\n display: block;\n}\n\n.forge-button:not(:disabled) {\n --forge-focus-indicator-color: var(--_button-primary-color);\n}\n\n.forge-button:disabled {\n cursor: var(--_button-disabled-cursor);\n --_button-background: var(--_button-disabled-background);\n --_button-color: var(--_button-disabled-text-color);\n --_button-shadow: var(--_button-disabled-shadow);\n pointer-events: none;\n pointer-events: initial;\n}\n\n.forge-button:where(:not(.forge-button--outlined, .forge-button--tonal, .forge-button--filled, .forge-button--raised, .forge-button--link)), .forge-button--text {\n --_button-padding-inline: var(--_button-text-padding-inline);\n}\n\n.forge-button--outlined {\n --_button-background: var(--_button-outlined-background);\n --_button-color: var(--_button-outlined-color);\n --_button-border-width: var(--_button-outlined-border-width);\n --_button-border-style: var(--_button-outlined-border-style);\n --_button-border-color: var(--_button-outlined-border-color);\n}\n\n.forge-button--outlined:disabled {\n --_button-border-color: var(--_button-disabled-border-color);\n}\n\n.forge-button--tonal {\n --_button-background: var(--_button-tonal-background);\n --_button-color: var(--_button-tonal-color);\n}\n\n.forge-button--tonal:disabled {\n --_button-background: var(--_button-tonal-disabled-background);\n --_button-color: var(--_button-tonal-disabled-color);\n}\n\n.forge-button--filled, .forge-button--raised {\n --_button-background: var(--_button-filled-background);\n --_button-color: var(--_button-filled-color);\n --forge-state-layer-color: var(--_button-filled-color);\n}\n\n.forge-button--filled:disabled, .forge-button--raised:disabled {\n --_button-background: var(--_button-filled-disabled-background);\n --_button-color: var(--_button-filled-disabled-color);\n}\n\n.forge-button--raised {\n --_button-background: var(--_button-raised-background);\n --_button-color: var(--_button-raised-color);\n --_button-shadow: var(--_button-raised-shadow);\n}\n\n.forge-button--raised:hover {\n --_button-shadow: var(--_button-raised-hover-shadow);\n}\n\n.forge-button--raised:active {\n --_button-shadow: var(--_button-raised-active-shadow);\n}\n\n.forge-button--raised:disabled {\n --_button-background: var(--_button-raised-disabled-background);\n --_button-color: var(--_button-raised-disabled-color);\n --_button-shadow: var(--_button-raised-disabled-shadow);\n}\n\n.forge-button--link {\n --_button-color: var(--_button-link-color);\n --_button-height: var(--_button-link-height);\n --_button-padding: var(--_button-link-padding);\n --_button-focus-indicator-offset: var(--_button-link-focus-indicator-offset);\n text-decoration: var(--_button-link-text-decoration);\n line-height: var(--_button-link-line-height);\n transition: opacity var(--_button-link-transition-duration) var(--_button-link-transition-timing);\n inline-size: var(--_button-link-width);\n}\n\n.forge-button--link:hover {\n text-decoration: var(--_button-link-hover-text-decoration);\n}\n\n.forge-button--link:active {\n opacity: var(--_button-link-active-opacity);\n}\n\n.forge-button--pill {\n --_button-shape: var(--_button-pill-shape);\n --_button-padding-inline: var(--_button-pill-padding-inline);\n --forge-focus-indicator-shape: var(--_button-pill-shape);\n}\n\n.forge-button {\n --forge-icon-font-size: var(--_button-icon-size);\n}\n\n.forge-button--dense {\n --_button-height: var(--_button-dense-height);\n}\n\n:host {\n display: block;\n width: 100%;\n}\n\n.scroll-container {\n overflow: scroll;\n scrollbar-width: none;\n -webkit-overflow-scrolling: touch;\n width: 100%;\n height: 100%;\n}\n\n.suggestions-container {\n min-width: 100%;\n display: table;\n}\n\n.suggestions-inline {\n display: flex;\n align-items: center;\n flex-direction: row;\n flex-wrap: nowrap;\n width: max-content;\n gap: var(--forge-spacing-small, 12px);\n}\n\n.suggestions-block {\n display: flex;\n align-items: center;\n flex-direction: column;\n gap: var(--forge-spacing-small, 12px);\n}\n.suggestions-block > button {\n width: 100%;\n}\n\n.suggestion {\n --forge-button-shape: calc(var(--forge-shape-medium, 4px) * var(--forge-shape-factor, 1));\n --forge-button-tonal-background: var(--forge-theme-tertiary-container, #d0d7ff);\n --forge-button-tonal-color: var(--forge-theme-on-tertiary-container, #213189);\n --forge-button-height: 32px;\n}';
1
+ const styles = '/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/* prettier-ignore */\n.forge-button {\n --_button-primary-color: var(--forge-button-primary-color, var(--forge-theme-primary, #3f51b5));\n --_button-text-color: var(--forge-button-text-color, var(--_button-primary-color));\n --_button-disabled-color: var(--forge-button-disabled-color, var(--forge-theme-surface-container, #e0e0e0));\n --_button-padding: var(--forge-button-padding, var(--forge-spacing-medium, 16px));\n --_button-display: var(--forge-button-display, inline-grid);\n --_button-justify: var(--forge-button-justify, center);\n --_button-shape: var(--forge-button-shape, calc(var(--forge-shape-medium, 4px) * var(--forge-shape-factor, 1)));\n --_button-height: var(--forge-button-height, 36px);\n --_button-min-width: var(--forge-button-min-width, 64px);\n --_button-spacing: var(--forge-button-spacing, var(--forge-spacing-xsmall, 8px));\n --_button-border-width: var(--forge-button-border-width, medium);\n --_button-border-style: var(--forge-button-border-style, none);\n --_button-border-color: var(--forge-button-border-color, currentColor);\n --_button-shape-start-start-radius: var(--forge-button-shape-start-start-radius, var(--_button-shape));\n --_button-shape-start-end-radius: var(--forge-button-shape-start-end-radius, var(--_button-shape));\n --_button-shape-end-start-radius: var(--forge-button-shape-end-start-radius, var(--_button-shape));\n --_button-shape-end-end-radius: var(--forge-button-shape-end-end-radius, var(--_button-shape));\n --_button-padding-block: var(--forge-button-padding-block, var(--_button-0));\n --_button-padding-inline: var(--forge-button-padding-inline, var(--_button-padding));\n --_button-background: var(--forge-button-background, transparent);\n --_button-hover-background: var(--forge-button-hover-background, var(--_button-background));\n --_button-active-background: var(--forge-button-active-background, var(--_button-background));\n --_button-color: var(--forge-button-color, var(--_button-text-color));\n --_button-icon-size: var(--forge-button-icon-size, calc(var(--forge-typography-font-size, 1rem) * 1.125));\n --_button-shadow: var(--forge-button-shadow, none);\n --_button-hover-shadow: var(--forge-button-hover-shadow, none);\n --_button-active-shadow: var(--forge-button-active-shadow, none);\n --_button-cursor: var(--forge-button-cursor, pointer);\n --_button-transition-duration: var(--forge-button-transition-duration, var(--forge-animation-duration-short3, 150ms));\n --_button-transition-timing: var(--forge-button-transition-timing, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1)));\n --_button-text-padding-inline: var(--forge-button-text-padding-inline, var(--forge-spacing-xsmall, 8px));\n --_button-outlined-background: var(--forge-button-outlined-background, transparent);\n --_button-outlined-color: var(--forge-button-outlined-color, var(--_button-primary-color));\n --_button-outlined-border-width: var(--forge-button-outlined-border-width, var(--forge-border-thin, 1px));\n --_button-outlined-border-style: var(--forge-button-outlined-border-style, solid);\n --_button-outlined-border-color: var(--forge-button-outlined-border-color, var(--_button-primary-color));\n --_button-tonal-background: var(--forge-button-tonal-background, var(--forge-theme-primary-container, #d1d5ed));\n --_button-tonal-disabled-background: var(--forge-button-tonal-disabled-background, var(--_button-disabled-color));\n --_button-tonal-color: var(--forge-button-tonal-color, var(--forge-theme-on-primary-container, #222c62));\n --_button-tonal-disabled-color: var(--forge-button-tonal-disabled-color, var(--_button-disabled-text-color));\n --_button-filled-background: var(--forge-button-filled-background, var(--_button-primary-color));\n --_button-filled-disabled-background: var(--forge-button-filled-disabled-background, var(--_button-disabled-color));\n --_button-filled-color: var(--forge-button-filled-color, var(--forge-theme-on-primary, #ffffff));\n --_button-filled-disabled-color: var(--forge-button-filled-disabled-color, var(--_button-disabled-text-color));\n --_button-raised-background: var(--forge-button-raised-background, var(--_button-primary-color));\n --_button-raised-disabled-background: var(--forge-button-raised-disabled-background, var(--_button-disabled-color));\n --_button-raised-color: var(--forge-button-raised-color, var(--forge-theme-on-primary, #ffffff));\n --_button-raised-disabled-color: var(--forge-button-raised-disabled-color, var(--_button-disabled-text-color));\n --_button-raised-shadow: var(--forge-button-raised-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12));\n --_button-raised-hover-shadow: var(--forge-button-raised-hover-shadow, 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12));\n --_button-raised-active-shadow: var(--forge-button-raised-active-shadow, 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12));\n --_button-raised-disabled-shadow: var(--forge-button-raised-disabled-shadow, none);\n --_button-link-color: var(--forge-button-link-color, var(--_button-primary-color));\n --_button-link-text-decoration: var(--forge-button-link-text-decoration, underline);\n --_button-link-height: var(--forge-button-link-height, auto);\n --_button-link-padding: var(--forge-button-link-padding, 0);\n --_button-link-line-height: var(--forge-button-link-line-height, normal);\n --_button-link-width: var(--forge-button-link-width, auto);\n --_button-link-hover-text-decoration: var(--forge-button-link-hover-text-decoration, none);\n --_button-link-active-opacity: var(--forge-button-link-active-opacity, 0.65);\n --_button-link-transition-duration: var(--forge-button-link-transition-duration, var(--forge-animation-duration-short3, 150ms));\n --_button-link-transition-timing: var(--forge-button-link-transition-timing, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1)));\n --_button-disabled-cursor: var(--forge-button-disabled-cursor, not-allowed);\n --_button-disabled-text-color: var(--forge-button-disabled-text-color, var(--forge-theme-text-low, rgba(0, 0, 0, 0.38)));\n --_button-disabled-background: var(--forge-button-disabled-background, transparent);\n --_button-disabled-border-color: var(--forge-button-disabled-border-color, var(--_button-disabled-color));\n --_button-disabled-shadow: var(--forge-button-disabled-shadow, none);\n --_button-dense-height: var(--forge-button-dense-height, 24px);\n --_button-pill-shape: var(--forge-button-pill-shape, calc(var(--forge-shape-full, 9999px) * var(--forge-shape-factor, 1)));\n --_button-pill-padding-inline: var(--forge-button-pill-padding-inline, var(--forge-spacing-small, 12px));\n --_button-focus-indicator-offset: var(--forge-button-focus-indicator-offset, 4px);\n --_button-text-focus-indicator-offset: var(--forge-button-text-focus-indicator-offset, 0px);\n --_button-link-focus-indicator-offset: var(--forge-button-link-focus-indicator-offset, 2px);\n --_button-popover-icon-transition-duration: var(--forge-button-popover-icon-transition-duration, var(--forge-animation-duration-short3, 150ms));\n --_button-popover-icon-transition-timing: var(--forge-button-popover-icon-transition-timing, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1)));\n --_button-popover-icon-open-rotation: var(--forge-button-popover-icon-open-rotation, 180deg);\n}\n\n.forge-button {\n display: var(--_button-display);\n position: relative;\n outline: none;\n vertical-align: middle;\n -webkit-tap-highlight-color: transparent;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-family: var(--forge-typography-button-font-family, var(--forge-typography-font-family, "Roboto", sans-serif));\n font-size: var(--forge-typography-button-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-button-font-size-scale, 0.875)));\n font-weight: var(--forge-typography-button-font-weight, 500);\n line-height: var(--forge-typography-button-line-height, normal);\n letter-spacing: var(--forge-typography-button-letter-spacing, 0.0714285714em);\n text-transform: var(--forge-typography-button-text-transform, inherit);\n text-decoration: var(--forge-typography-button-text-decoration, inherit);\n position: relative;\n display: var(--_button-display);\n grid-auto-flow: column;\n align-items: center;\n justify-content: var(--_button-justify);\n gap: var(--_button-spacing);\n z-index: 0;\n box-sizing: border-box;\n min-inline-size: var(--_button-min-width);\n height: var(--_button-height);\n inline-size: 100%;\n border-width: var(--_button-border-width);\n border-style: var(--_button-border-style);\n border-color: var(--_button-border-color);\n border-start-start-radius: var(--_button-shape-start-start-radius);\n border-start-end-radius: var(--_button-shape-start-end-radius);\n border-end-start-radius: var(--_button-shape-end-start-radius);\n border-end-end-radius: var(--_button-shape-end-end-radius);\n padding-block: var(--_button-padding-block);\n padding-inline: var(--_button-padding-inline);\n box-shadow: var(--_button-shadow);\n outline: none;\n user-select: none;\n -webkit-appearance: none;\n vertical-align: middle;\n text-decoration: none;\n white-space: nowrap;\n background: var(--_button-background);\n color: var(--_button-color);\n cursor: var(--_button-cursor);\n transition-property: box-shadow, background;\n transition-duration: var(--_button-transition-duration);\n transition-timing-function: var(--_button-transition-timing);\n}\n\n.forge-button::-moz-focus-inner {\n padding: 0;\n border: 0;\n}\n\n.forge-button:hover {\n --_button-shadow: var(--_button-hover-shadow);\n background: var(--_button-hover-background);\n}\n\n.forge-button:active {\n --_button-shadow: var(--_button-active-shadow);\n background: var(--_button-active-background);\n}\n\n.forge-button {\n position: relative;\n inline-size: auto;\n}\n\n.forge-button:not(:disabled):not(.forge-button--link) {\n --_state-layer-display: var(--forge-state-layer-display, flex);\n --_state-layer-color: var(--forge-state-layer-color, var(--forge-theme-on-surface, #000000));\n --_state-layer-hover-color: var(--forge-state-layer-hover-color, var(--_state-layer-color));\n --_state-layer-hover-opacity: var(--forge-state-layer-hover-opacity, 0.08);\n --_state-layer-pressed-color: var(--forge-state-layer-pressed-color, var(--_state-layer-color));\n --_state-layer-pressed-opacity: var(--forge-state-layer-pressed-opacity, 0.12);\n --_state-layer-hover-duration: var(--forge-state-layer-hover-duration, 15ms);\n --_state-layer-pressed-duration: var(--forge-state-layer-pressed-duration, 105ms);\n --_state-layer-animation-duration: var(--forge-state-layer-animation-duration, 375ms);\n}\n\n.forge-button:not(:disabled):not(.forge-button--link)::before {\n opacity: 0;\n position: absolute;\n background-color: var(--_state-layer-hover-color);\n inset: 0;\n transition: opacity var(--_state-layer-hover-duration) linear, background-color var(--_state-layer-hover-duration) linear;\n --_state-layer-hover-duration: var(--forge-state-layer-hover-duration, 100ms);\n content: "";\n opacity: 0;\n border-radius: inherit;\n}\n\n.forge-button:not(:disabled):not(.forge-button--link):hover::before {\n background-color: var(--_state-layer-hover-color);\n opacity: var(--_state-layer-hover-opacity);\n}\n\n.forge-button:not(:disabled):not(.forge-button--link):active::before {\n opacity: var(--_state-layer-pressed-opacity);\n transition-duration: var(--_state-layer-pressed-duration);\n --_state-layer-pressed-opacity: var(--forge-state-layer-pressed-opacity, 0.18);\n}\n\n@keyframes forge-focus-indicator-outward-grow {\n from {\n outline-width: 0;\n }\n to {\n outline-width: var(--_focus-indicator-active-width);\n }\n}\n@keyframes forge-focus-indicator-outward-shrink {\n from {\n outline-width: var(--_focus-indicator-active-width);\n }\n}\n@keyframes forge-focus-indicator-inward-grow {\n from {\n border-width: 0;\n }\n to {\n border-width: var(--_focus-indicator-active-width);\n }\n}\n@keyframes forge-focus-indicator-inward-shrink {\n from {\n border-width: var(--_focus-indicator-active-width);\n }\n}\n.forge-button:not(:disabled) {\n outline: none;\n}\n\n.forge-button:not(:disabled):focus-visible::after {\n --_focus-indicator-display: var(--forge-focus-indicator-display, flex);\n --_focus-indicator-width: var(--forge-focus-indicator-width, var(--forge-border-medium, 2px));\n --_focus-indicator-active-width: var(--forge-focus-indicator-active-width, 6px);\n --_focus-indicator-color: var(--forge-focus-indicator-color, var(--forge-theme-primary, #3f51b5));\n --_focus-indicator-shape: var(--forge-focus-indicator-shape, calc(var(--forge-shape-extra-small, 1px) * var(--forge-shape-factor, 1)));\n --_focus-indicator-duration: var(--forge-focus-indicator-duration, var(--forge-animation-duration-long4, 600ms));\n --_focus-indicator-easing: var(--forge-focus-indicator-easing, var(--forge-animation-easing-emphasized, cubic-bezier(0.2, 0, 0, 1)));\n --_focus-indicator-shape-start-start: var(--forge-focus-indicator-shape-start-start, var(--_focus-indicator-shape));\n --_focus-indicator-shape-start-end: var(--forge-focus-indicator-shape-start-end, var(--_focus-indicator-shape));\n --_focus-indicator-shape-end-end: var(--forge-focus-indicator-shape-end-end, var(--_focus-indicator-shape));\n --_focus-indicator-shape-end-start: var(--forge-focus-indicator-shape-end-start, var(--_focus-indicator-shape));\n --_focus-indicator-outward-offset: var(--forge-focus-indicator-outward-offset, var(--forge-spacing-xxsmall, 4px));\n --_focus-indicator-inward-offset: var(--forge-focus-indicator-inward-offset, 0px);\n --_focus-indicator-offset-block: var(--forge-focus-indicator-offset-block, 0);\n --_focus-indicator-offset-inline: var(--forge-focus-indicator-offset-inline, 0);\n}\n\n.forge-button:not(:disabled):focus-visible::after {\n animation-delay: 0s, calc(var(--_focus-indicator-duration) * 0.25);\n animation-duration: calc(var(--_focus-indicator-duration) * 0.25), calc(var(--_focus-indicator-duration) * 0.75);\n animation-timing-function: var(--_focus-indicator-easing);\n box-sizing: border-box;\n color: var(--_focus-indicator-color);\n display: none;\n pointer-events: none;\n position: absolute;\n margin-block: var(--_focus-indicator-offset-block);\n margin-inline: var(--_focus-indicator-offset-inline);\n animation-name: forge-focus-indicator-outward-grow, forge-focus-indicator-outward-shrink;\n border-end-end-radius: calc(var(--_focus-indicator-shape-end-end) + var(--_focus-indicator-outward-offset));\n border-end-start-radius: calc(var(--_focus-indicator-shape-end-start) + var(--_focus-indicator-outward-offset));\n border-start-end-radius: calc(var(--_focus-indicator-shape-start-end) + var(--_focus-indicator-outward-offset));\n border-start-start-radius: calc(var(--_focus-indicator-shape-start-start) + var(--_focus-indicator-outward-offset));\n inset: calc(-1 * var(--_focus-indicator-outward-offset));\n outline: var(--_focus-indicator-width) solid currentColor;\n content: "";\n display: block;\n}\n\n.forge-button:not(:disabled) {\n --forge-focus-indicator-color: var(--_button-primary-color);\n}\n\n.forge-button:disabled {\n cursor: var(--_button-disabled-cursor);\n --_button-background: var(--_button-disabled-background);\n --_button-color: var(--_button-disabled-text-color);\n --_button-shadow: var(--_button-disabled-shadow);\n pointer-events: none;\n pointer-events: initial;\n}\n\n.forge-button:where(:not(.forge-button--outlined, .forge-button--tonal, .forge-button--filled, .forge-button--raised, .forge-button--link)), .forge-button--text {\n --_button-padding-inline: var(--_button-text-padding-inline);\n}\n\n.forge-button--outlined {\n --_button-background: var(--_button-outlined-background);\n --_button-color: var(--_button-outlined-color);\n --_button-border-width: var(--_button-outlined-border-width);\n --_button-border-style: var(--_button-outlined-border-style);\n --_button-border-color: var(--_button-outlined-border-color);\n}\n\n.forge-button--outlined:disabled {\n --_button-border-color: var(--_button-disabled-border-color);\n}\n\n.forge-button--tonal {\n --_button-background: var(--_button-tonal-background);\n --_button-color: var(--_button-tonal-color);\n}\n\n.forge-button--tonal:disabled {\n --_button-background: var(--_button-tonal-disabled-background);\n --_button-color: var(--_button-tonal-disabled-color);\n}\n\n.forge-button--filled, .forge-button--raised {\n --_button-background: var(--_button-filled-background);\n --_button-color: var(--_button-filled-color);\n --forge-state-layer-color: var(--_button-filled-color);\n}\n\n.forge-button--filled:disabled, .forge-button--raised:disabled {\n --_button-background: var(--_button-filled-disabled-background);\n --_button-color: var(--_button-filled-disabled-color);\n}\n\n.forge-button--raised {\n --_button-background: var(--_button-raised-background);\n --_button-color: var(--_button-raised-color);\n --_button-shadow: var(--_button-raised-shadow);\n}\n\n.forge-button--raised:hover {\n --_button-shadow: var(--_button-raised-hover-shadow);\n}\n\n.forge-button--raised:active {\n --_button-shadow: var(--_button-raised-active-shadow);\n}\n\n.forge-button--raised:disabled {\n --_button-background: var(--_button-raised-disabled-background);\n --_button-color: var(--_button-raised-disabled-color);\n --_button-shadow: var(--_button-raised-disabled-shadow);\n}\n\n.forge-button--link {\n --_button-color: var(--_button-link-color);\n --_button-height: var(--_button-link-height);\n --_button-padding: var(--_button-link-padding);\n --_button-focus-indicator-offset: var(--_button-link-focus-indicator-offset);\n text-decoration: var(--_button-link-text-decoration);\n line-height: var(--_button-link-line-height);\n transition: opacity var(--_button-link-transition-duration) var(--_button-link-transition-timing);\n inline-size: var(--_button-link-width);\n}\n\n.forge-button--link:hover {\n text-decoration: var(--_button-link-hover-text-decoration);\n}\n\n.forge-button--link:active {\n opacity: var(--_button-link-active-opacity);\n}\n\n.forge-button--pill {\n --_button-shape: var(--_button-pill-shape);\n --_button-padding-inline: var(--_button-pill-padding-inline);\n --forge-focus-indicator-shape: var(--_button-pill-shape);\n}\n\n.forge-button {\n --forge-icon-font-size: var(--_button-icon-size);\n}\n\n.forge-button--dense {\n --_button-height: var(--_button-dense-height);\n}\n\n:host {\n display: block;\n width: 100%;\n}\n\n.scroll-container {\n overflow: scroll;\n scrollbar-width: none;\n -webkit-overflow-scrolling: touch;\n width: 100%;\n height: 100%;\n}\n\n.suggestions-container {\n min-width: 100%;\n display: table;\n}\n\n.suggestions-inline {\n display: flex;\n align-items: center;\n flex-direction: row;\n flex-wrap: nowrap;\n width: max-content;\n gap: var(--forge-spacing-small, 12px);\n}\n\n.suggestions-block {\n display: flex;\n align-items: center;\n flex-direction: column;\n gap: var(--forge-spacing-small, 12px);\n}\n.suggestions-block > button {\n width: 100%;\n}\n\n.suggestion {\n --forge-button-shape: calc(var(--forge-shape-medium, 4px) * var(--forge-shape-factor, 1));\n --forge-button-tonal-background: var(--forge-theme-tertiary-container, #d0d7ff);\n --forge-button-tonal-color: var(--forge-theme-on-tertiary-container, #213189);\n}';
2
2
  export {
3
3
  styles as default
4
4
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tylertech/forge-ai",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "A library of Tyler Forge™ AI chat interface web components.",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Tyler Technologies, Inc.",
@@ -38,63 +38,6 @@
38
38
  "type": "git",
39
39
  "url": "git+https://github.com/tyler-technologies-oss/forge-ai.git"
40
40
  },
41
- "dependencies": {
42
- "@floating-ui/dom": "^1.7.4",
43
- "@tylertech/tyler-icons": "2.0.4",
44
- "lit": "3.3.1"
45
- },
46
- "peerDependencies": {
47
- "@tylertech/forge": "^3.0.0"
48
- },
49
- "devDependencies": {
50
- "@custom-elements-manifest/analyzer": "0.10.10",
51
- "@esm-bundle/chai": "4.3.4-fix.0",
52
- "@open-wc/testing": "4.0.0",
53
- "@repo/prettier-config": "",
54
- "@storybook/addon-a11y": "9.1.12",
55
- "@storybook/addon-docs": "9.1.12",
56
- "@storybook/addon-links": "9.1.12",
57
- "@storybook/addon-themes": "9.1.12",
58
- "@storybook/web-components-vite": "9.1.12",
59
- "@tylertech/forge": "3.11.0",
60
- "@tylertech/stylelint-rules": "5.1.2",
61
- "@types/cssbeautify": "^0.3.5",
62
- "@types/mocha": "10.0.10",
63
- "@types/node": "24.8.0",
64
- "@types/react": "^18.3.26",
65
- "@types/sinon": "17.0.4",
66
- "@ungap/structured-clone": "^1.3.0",
67
- "@vueless/storybook-dark-mode": "9.0.9",
68
- "@wc-toolkit/jsdoc-tags": "^1.1.0",
69
- "@web/dev-server-esbuild": "1.0.4",
70
- "@web/dev-server-rollup": "0.6.4",
71
- "@web/test-runner": "0.20.2",
72
- "@web/test-runner-commands": "0.9.0",
73
- "@web/test-runner-junit-reporter": "0.8.0",
74
- "@web/test-runner-playwright": "0.11.1",
75
- "cssbeautify": "^0.3.1",
76
- "custom-element-svelte-integration": "^1.2.0",
77
- "custom-element-vuejs-integration": "^1.4.0",
78
- "eslint": "9.37.0",
79
- "glob": "11.0.3",
80
- "lit-analyzer": "2.0.3",
81
- "plop": "4.0.4",
82
- "postcss-lit": "1.3.1",
83
- "react": "^18.3.1",
84
- "react-dom": "^18.3.1",
85
- "react-ga4": "^2.1.0",
86
- "remark-gfm": "4.0.1",
87
- "rimraf": "6.0.1",
88
- "sass": "1.93.2",
89
- "sinon": "21.0.0",
90
- "storybook": "9.1.12",
91
- "stylelint": "16.25.0",
92
- "stylelint-config-standard": "39.0.1",
93
- "typescript": "~5.9.3",
94
- "vite": "7.1.10",
95
- "vite-plugin-dts": "4.5.4",
96
- "vite-tsconfig-paths": "5.1.4"
97
- },
98
41
  "scripts": {
99
42
  "dev": "vite src/dev/ -c vite.config.mts",
100
43
  "start": "pnpm run storybook",
@@ -118,5 +61,62 @@
118
61
  "test:ci": "wtr --group lib",
119
62
  "ci:package": "tar -czvhf deployment-assets.tar.gz -C cdn-deployment/@tylertech/forge-ai .",
120
63
  "plop": "plop"
64
+ },
65
+ "dependencies": {
66
+ "@floating-ui/dom": "^1.7.4",
67
+ "@tylertech/tyler-icons": "catalog:",
68
+ "lit": "catalog:"
69
+ },
70
+ "peerDependencies": {
71
+ "@tylertech/forge": "^3.0.0"
72
+ },
73
+ "devDependencies": {
74
+ "@custom-elements-manifest/analyzer": "catalog:",
75
+ "@esm-bundle/chai": "catalog:",
76
+ "@open-wc/testing": "catalog:",
77
+ "@repo/prettier-config": "workspace:",
78
+ "@storybook/addon-a11y": "catalog:",
79
+ "@storybook/addon-docs": "catalog:",
80
+ "@storybook/addon-links": "catalog:",
81
+ "@storybook/addon-themes": "catalog:",
82
+ "@storybook/web-components-vite": "catalog:",
83
+ "@tylertech/forge": "catalog:",
84
+ "@tylertech/stylelint-rules": "catalog:",
85
+ "@types/cssbeautify": "^0.3.5",
86
+ "@types/mocha": "catalog:",
87
+ "@types/node": "catalog:",
88
+ "@types/react": "^18.3.26",
89
+ "@types/sinon": "catalog:",
90
+ "@ungap/structured-clone": "^1.3.0",
91
+ "@vueless/storybook-dark-mode": "catalog:",
92
+ "@wc-toolkit/jsdoc-tags": "^1.1.0",
93
+ "@web/dev-server-esbuild": "catalog:",
94
+ "@web/dev-server-rollup": "catalog:",
95
+ "@web/test-runner": "catalog:",
96
+ "@web/test-runner-commands": "catalog:",
97
+ "@web/test-runner-junit-reporter": "catalog:",
98
+ "@web/test-runner-playwright": "catalog:",
99
+ "cssbeautify": "^0.3.1",
100
+ "custom-element-svelte-integration": "^1.2.0",
101
+ "custom-element-vuejs-integration": "^1.4.0",
102
+ "eslint": "catalog:",
103
+ "glob": "catalog:",
104
+ "lit-analyzer": "catalog:",
105
+ "plop": "catalog:",
106
+ "postcss-lit": "catalog:",
107
+ "react": "^18.3.1",
108
+ "react-dom": "^18.3.1",
109
+ "react-ga4": "^2.1.0",
110
+ "remark-gfm": "catalog:",
111
+ "rimraf": "catalog:",
112
+ "sass": "catalog:",
113
+ "sinon": "catalog:",
114
+ "storybook": "catalog:",
115
+ "stylelint": "catalog:",
116
+ "stylelint-config-standard": "catalog:",
117
+ "typescript": "~5.9.3",
118
+ "vite": "catalog:",
119
+ "vite-plugin-dts": "catalog:",
120
+ "vite-tsconfig-paths": "catalog:"
121
121
  }
122
- }
122
+ }