@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.
- package/custom-elements.json +212 -144
- package/dist/ai-chat-header/ai-chat-header.d.ts +21 -0
- package/dist/ai-chat-header/ai-chat-header.mjs +56 -22
- package/dist/ai-chat-interface/ai-chat-interface.scss.mjs +1 -1
- package/dist/ai-empty-state/ai-empty-state.d.ts +2 -2
- package/dist/ai-empty-state/ai-empty-state.mjs +86 -99
- package/dist/ai-suggestions/ai-suggestions.scss.mjs +1 -1
- package/package.json +59 -59
package/custom-elements.json
CHANGED
|
@@ -78,131 +78,131 @@
|
|
|
78
78
|
},
|
|
79
79
|
{
|
|
80
80
|
"kind": "javascript-module",
|
|
81
|
-
"path": "src/lib/ai-
|
|
81
|
+
"path": "src/lib/ai-artifact/ai-artifact.ts",
|
|
82
82
|
"declarations": [
|
|
83
83
|
{
|
|
84
84
|
"kind": "variable",
|
|
85
|
-
"name": "
|
|
85
|
+
"name": "AiArtifactComponentTagName",
|
|
86
86
|
"type": {
|
|
87
87
|
"text": "keyof HTMLElementTagNameMap"
|
|
88
88
|
},
|
|
89
|
-
"default": "'forge-ai-
|
|
89
|
+
"default": "'forge-ai-artifact'"
|
|
90
90
|
},
|
|
91
91
|
{
|
|
92
92
|
"kind": "class",
|
|
93
93
|
"description": "",
|
|
94
|
-
"name": "
|
|
95
|
-
"
|
|
96
|
-
"events": [
|
|
94
|
+
"name": "AiArtifactComponent",
|
|
95
|
+
"cssProperties": [
|
|
97
96
|
{
|
|
98
|
-
"
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
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-
|
|
120
|
+
"tagName": "forge-ai-artifact",
|
|
110
121
|
"customElement": true
|
|
111
122
|
}
|
|
112
123
|
],
|
|
113
124
|
"exports": [
|
|
114
125
|
{
|
|
115
126
|
"kind": "js",
|
|
116
|
-
"name": "
|
|
127
|
+
"name": "AiArtifactComponentTagName",
|
|
117
128
|
"declaration": {
|
|
118
|
-
"name": "
|
|
119
|
-
"module": "src/lib/ai-
|
|
129
|
+
"name": "AiArtifactComponentTagName",
|
|
130
|
+
"module": "src/lib/ai-artifact/ai-artifact.ts"
|
|
120
131
|
}
|
|
121
132
|
},
|
|
122
133
|
{
|
|
123
134
|
"kind": "js",
|
|
124
|
-
"name": "
|
|
135
|
+
"name": "AiArtifactComponent",
|
|
125
136
|
"declaration": {
|
|
126
|
-
"name": "
|
|
127
|
-
"module": "src/lib/ai-
|
|
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": "
|
|
134
|
-
"module": "src/lib/ai-
|
|
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-
|
|
152
|
+
"path": "src/lib/ai-actions-toolbar/ai-actions-toolbar.ts",
|
|
142
153
|
"declarations": [
|
|
143
154
|
{
|
|
144
155
|
"kind": "variable",
|
|
145
|
-
"name": "
|
|
156
|
+
"name": "AiActionsToolbarComponentTagName",
|
|
146
157
|
"type": {
|
|
147
158
|
"text": "keyof HTMLElementTagNameMap"
|
|
148
159
|
},
|
|
149
|
-
"default": "'forge-ai-
|
|
160
|
+
"default": "'forge-ai-actions-toolbar'"
|
|
150
161
|
},
|
|
151
162
|
{
|
|
152
163
|
"kind": "class",
|
|
153
164
|
"description": "",
|
|
154
|
-
"name": "
|
|
155
|
-
"
|
|
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
|
-
"
|
|
172
|
-
|
|
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-
|
|
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": "
|
|
187
|
+
"name": "AiActionsToolbarComponentTagName",
|
|
188
188
|
"declaration": {
|
|
189
|
-
"name": "
|
|
190
|
-
"module": "src/lib/ai-
|
|
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": "
|
|
195
|
+
"name": "AiActionsToolbarComponent",
|
|
196
196
|
"declaration": {
|
|
197
|
-
"name": "
|
|
198
|
-
"module": "src/lib/ai-
|
|
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": "
|
|
205
|
-
"module": "src/lib/ai-
|
|
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
|
|
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-
|
|
3633
|
+
"path": "src/lib/ai-user-message/ai-user-message.ts",
|
|
3617
3634
|
"declarations": [
|
|
3618
3635
|
{
|
|
3619
3636
|
"kind": "variable",
|
|
3620
|
-
"name": "
|
|
3637
|
+
"name": "AiUserMessageComponentTagName",
|
|
3621
3638
|
"type": {
|
|
3622
3639
|
"text": "keyof HTMLElementTagNameMap"
|
|
3623
3640
|
},
|
|
3624
|
-
"default": "'forge-ai-
|
|
3641
|
+
"default": "'forge-ai-user-message'"
|
|
3625
3642
|
},
|
|
3626
3643
|
{
|
|
3627
3644
|
"kind": "class",
|
|
3628
3645
|
"description": "",
|
|
3629
|
-
"name": "
|
|
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-
|
|
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": "
|
|
3659
|
+
"name": "AiUserMessageComponentTagName",
|
|
3652
3660
|
"declaration": {
|
|
3653
|
-
"name": "
|
|
3654
|
-
"module": "src/lib/ai-
|
|
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": "
|
|
3667
|
+
"name": "AiUserMessageComponent",
|
|
3660
3668
|
"declaration": {
|
|
3661
|
-
"name": "
|
|
3662
|
-
"module": "src/lib/ai-
|
|
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": "
|
|
3669
|
-
"module": "src/lib/ai-
|
|
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":
|
|
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
|
-
|
|
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
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
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
|
|
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
|
|
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 {
|
|
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 =
|
|
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
|
|
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,
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
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
|
-
|
|
36
|
-
|
|
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
|
-
|
|
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
|
+
"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
|
+
}
|