@ds-mo/ui 10.0.0 → 11.0.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/dist/.build-stamp +1 -1
- package/dist/agent-patterns.json +15 -9
- package/dist/agent.json +91 -17
- package/dist/angular/ds-typing-indicator.d.ts +12 -0
- package/dist/angular/ds-typing-indicator.js +38 -0
- package/dist/angular/index.d.ts +1 -1
- package/dist/angular/index.js +2 -1
- package/dist/angular/proxies.d.ts +1 -0
- package/dist/angular/proxies.js +1 -0
- package/dist/components/ds-agent-response.js +1 -1
- package/dist/components/ds-agent-response.js.map +1 -1
- package/dist/components/ds-agent-tool-call.js +1 -1
- package/dist/components/ds-app-shell.js +1 -1
- package/dist/components/ds-attachment-list.js +1 -1
- package/dist/components/ds-avatar.js +1 -1
- package/dist/components/ds-avatar.js.map +1 -1
- package/dist/components/ds-bar-nav.js +1 -1
- package/dist/components/ds-bar-nav.js.map +1 -1
- package/dist/components/ds-button-filled.js +1 -1
- package/dist/components/ds-button-unfilled.js +1 -1
- package/dist/components/ds-card-data-viz-donut.js +1 -1
- package/dist/components/ds-card-setting.js +1 -1
- package/dist/components/ds-chart-bar.js +1 -1
- package/dist/components/ds-chart-donut.js +1 -1
- package/dist/components/ds-chart-legend.js +1 -1
- package/dist/components/ds-chart-legend.js.map +1 -1
- package/dist/components/ds-chart-line.js +1 -1
- package/dist/components/ds-checkbox.js +1 -1
- package/dist/components/ds-chip.js +1 -1
- package/dist/components/ds-chip.js.map +1 -1
- package/dist/components/ds-code-block.js +1 -1
- package/dist/components/ds-conversation-list-item.js +1 -1
- package/dist/components/ds-conversation-list-item.js.map +1 -1
- package/dist/components/ds-conversation-list-section.js +1 -1
- package/dist/components/ds-conversation-list.js +1 -1
- package/dist/components/ds-empty-state.js +1 -1
- package/dist/components/ds-field.js +1 -1
- package/dist/components/ds-input.js +1 -1
- package/dist/components/ds-input.js.map +1 -1
- package/dist/components/ds-markdown.js +1 -1
- package/dist/components/ds-menu.js +1 -1
- package/dist/components/ds-message-bubble.js +1 -1
- package/dist/components/ds-message-bubble.js.map +1 -1
- package/dist/components/ds-message-composer.js +1 -1
- package/dist/components/ds-message-composer.js.map +1 -1
- package/dist/components/ds-message-scroller.js +1 -1
- package/dist/components/ds-message.js +1 -1
- package/dist/components/ds-modal.js +1 -1
- package/dist/components/ds-panel-nav.js +1 -1
- package/dist/components/ds-panel-nav.js.map +1 -1
- package/dist/components/ds-panel-sub-nav.js +1 -1
- package/dist/components/ds-panel-sub-nav.js.map +1 -1
- package/dist/components/ds-panel-tool-header.js +1 -1
- package/dist/components/ds-panel-tool-search.js +1 -1
- package/dist/components/ds-panel-tool-search.js.map +1 -1
- package/dist/components/ds-panel-tools.js +1 -1
- package/dist/components/ds-panel-tools.js.map +1 -1
- package/dist/components/ds-radio.js +1 -1
- package/dist/components/ds-radio.js.map +1 -1
- package/dist/components/ds-select-multi.js +1 -1
- package/dist/components/ds-select-multi.js.map +1 -1
- package/dist/components/ds-select.js +1 -1
- package/dist/components/ds-select.js.map +1 -1
- package/dist/components/ds-shell-gradient-picker.js +1 -1
- package/dist/components/ds-shell-gradient-picker.js.map +1 -1
- package/dist/components/ds-shell-gradient-swatch.js +1 -1
- package/dist/components/ds-skeleton.js +1 -1
- package/dist/components/ds-skeleton.js.map +1 -1
- package/dist/components/ds-swatch-picker.js +1 -1
- package/dist/components/ds-tab-group.js +1 -1
- package/dist/components/ds-tab-group.js.map +1 -1
- package/dist/components/ds-tag.js +1 -1
- package/dist/components/ds-tag.js.map +1 -1
- package/dist/components/ds-toast.js +1 -1
- package/dist/components/ds-tooltip-data-viz.js +1 -1
- package/dist/components/ds-tooltip-data-viz.js.map +1 -1
- package/dist/components/ds-tooltip.js +1 -1
- package/dist/components/ds-typing-indicator.d.ts +11 -0
- package/dist/components/ds-typing-indicator.js +2 -0
- package/dist/components/ds-typing-indicator.js.map +1 -0
- package/dist/components/{p-CxyjoTN1.js → p-BEWtqFX7.js} +2 -2
- package/dist/components/p-BMwnjAIq.js +2 -0
- package/dist/components/{p-DM-95BX1.js.map → p-BMwnjAIq.js.map} +1 -1
- package/dist/components/p-C3nDIMX5.js +2 -0
- package/dist/components/{p-DhsO0939.js.map → p-C3nDIMX5.js.map} +1 -1
- package/dist/components/p-C8e2A66f.js +2 -0
- package/dist/components/{p-Bet_UjML.js.map → p-C8e2A66f.js.map} +1 -1
- package/dist/components/p-CTFBf97-.js +2 -0
- package/dist/components/{p-DsbhBb5F.js.map → p-CTFBf97-.js.map} +1 -1
- package/dist/components/{p-DZAtgSZo.js → p-CbckeueL.js} +2 -2
- package/dist/components/p-CjP8sYlo.js +2 -0
- package/dist/components/{p-CS12e52R.js.map → p-CjP8sYlo.js.map} +1 -1
- package/dist/components/{p-BTo4pNdp.js → p-DJ78wdNv.js} +2 -2
- package/dist/components/p-DTqCBjUj.js +2 -0
- package/dist/components/{p-CKnoWZd9.js.map → p-DTqCBjUj.js.map} +1 -1
- package/dist/components/p-DirD-b2y.js +2 -0
- package/dist/components/{p-BJUcsBHt.js.map → p-DirD-b2y.js.map} +1 -1
- package/dist/components/{p-B4RQoNmL.js → p-Hw-HMjCk.js} +2 -2
- package/dist/components/{p-CyoHRqy6.js → p-M5pt9I13.js} +2 -2
- package/dist/components/{p-P_4vE1ub.js → p-bDx_rlLm.js} +2 -2
- package/dist/docs/components.json +72 -25
- package/dist/mcp-data/registry/agent-response.json +5 -5
- package/dist/mcp-data/registry/conversation-list-item.json +2 -2
- package/dist/mcp-data/registry/message-bubble.json +19 -14
- package/dist/mcp-data/registry/message-composer.json +5 -3
- package/dist/mcp-data/registry/message-scroller.json +1 -1
- package/dist/mcp-data/registry/panel-nav.json +3 -2
- package/dist/mcp-data/registry/registry.json +93 -16
- package/dist/mcp-data/registry/skeleton.json +2 -2
- package/dist/mcp-data/registry/typing-indicator.json +127 -0
- package/dist/react/components.d.ts +1 -0
- package/dist/react/components.js +1 -0
- package/dist/react/ds-typing-indicator.d.ts +9 -0
- package/dist/react/ds-typing-indicator.js +12 -0
- package/dist/types/components/MessageBubble/MessageBubble.d.ts +1 -1
- package/dist/types/components/TypingIndicator/TypingIndicator.d.ts +6 -0
- package/dist/types/components.d.ts +28 -2
- package/package.json +1 -1
- package/dist/components/p-BJUcsBHt.js +0 -2
- package/dist/components/p-Bet_UjML.js +0 -2
- package/dist/components/p-CKnoWZd9.js +0 -2
- package/dist/components/p-CS12e52R.js +0 -2
- package/dist/components/p-DBJ2I3mH.js +0 -2
- package/dist/components/p-DBJ2I3mH.js.map +0 -1
- package/dist/components/p-DM-95BX1.js +0 -2
- package/dist/components/p-DhsO0939.js +0 -2
- package/dist/components/p-DsbhBb5F.js +0 -2
- /package/dist/components/{p-CxyjoTN1.js.map → p-BEWtqFX7.js.map} +0 -0
- /package/dist/components/{p-DZAtgSZo.js.map → p-CbckeueL.js.map} +0 -0
- /package/dist/components/{p-BTo4pNdp.js.map → p-DJ78wdNv.js.map} +0 -0
- /package/dist/components/{p-B4RQoNmL.js.map → p-Hw-HMjCk.js.map} +0 -0
- /package/dist/components/{p-CyoHRqy6.js.map → p-M5pt9I13.js.map} +0 -0
- /package/dist/components/{p-P_4vE1ub.js.map → p-bDx_rlLm.js.map} +0 -0
package/dist/.build-stamp
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
1784673452141
|
package/dist/agent-patterns.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": "1.0.0",
|
|
3
3
|
"package": "@ds-mo/ui",
|
|
4
|
-
"packageVersion": "
|
|
4
|
+
"packageVersion": "11.0.0",
|
|
5
5
|
"kind": "patterns",
|
|
6
6
|
"entries": [
|
|
7
7
|
{
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
},
|
|
28
28
|
{
|
|
29
29
|
"component": "component:ds-message-bubble",
|
|
30
|
-
"role": "Renders
|
|
30
|
+
"role": "Renders user-sent prompts with the shared body-medium regular message baseline and secondary foreground.",
|
|
31
31
|
"required": true
|
|
32
32
|
},
|
|
33
33
|
{
|
|
@@ -43,8 +43,8 @@
|
|
|
43
43
|
],
|
|
44
44
|
"stateOwnership": [
|
|
45
45
|
"The application owns scripted or real transport, immutable response parts, retry, stop, generated titles, and persistence.",
|
|
46
|
-
"
|
|
47
|
-
"AgentResponse owns ordered display only and never reveals private reasoning.",
|
|
46
|
+
"User-sent prompts use MessageBubble's user variant and body-medium regular default with secondary foreground; the application does not promote ordinary sent-message copy to body-large.",
|
|
47
|
+
"AgentResponse renders directly in Message without a MessageBubble surface, owns ordered display only, and never reveals private reasoning.",
|
|
48
48
|
"Tool-call components display execution state but do not request participant approval."
|
|
49
49
|
],
|
|
50
50
|
"accessibility": [
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
"Streaming and tool states remain available as text without relying on animation."
|
|
54
54
|
],
|
|
55
55
|
"responsiveBehavior": [
|
|
56
|
-
"
|
|
56
|
+
"Let AgentResponse use the available transcript width while retaining readable text measure and horizontal scrolling for code or tables."
|
|
57
57
|
],
|
|
58
58
|
"implementations": {
|
|
59
59
|
"customElements": {
|
|
@@ -200,9 +200,14 @@
|
|
|
200
200
|
},
|
|
201
201
|
{
|
|
202
202
|
"component": "component:ds-message-bubble",
|
|
203
|
-
"role": "Owns
|
|
203
|
+
"role": "Owns plain user-sent and received person-to-person surfaces and their body-medium default independently of row semantics.",
|
|
204
204
|
"required": true
|
|
205
205
|
},
|
|
206
|
+
{
|
|
207
|
+
"component": "component:ds-typing-indicator",
|
|
208
|
+
"role": "Presents transient participant typing status without representing it as persisted message content.",
|
|
209
|
+
"required": false
|
|
210
|
+
},
|
|
206
211
|
{
|
|
207
212
|
"component": "component:ds-message-composer",
|
|
208
213
|
"role": "Emits draft, submit, and stop intent without transport ownership.",
|
|
@@ -215,11 +220,12 @@
|
|
|
215
220
|
}
|
|
216
221
|
],
|
|
217
222
|
"stateOwnership": [
|
|
218
|
-
"The application owns conversations, messages, selection, drafts, persistence, transport, unread policy, and any history search query or matching policy. ConversationListItem presents every positive unreadCount as one dot aligned with the title row; unread titles are
|
|
223
|
+
"The application owns conversations, messages, selection, drafts, persistence, transport, unread policy, and any history search query or matching policy. ConversationListItem presents every positive unreadCount as one dot aligned with the title row; unread titles are emphasized and primary while read titles use regular weight and secondary foreground.",
|
|
219
224
|
"The application owns contextual row-menu commands such as pin, rename, members, and delete; ConversationListItem supplies the sibling actions slot and hover/focus/touch presentation.",
|
|
220
225
|
"When history search is present, distinguish an empty history from a populated history with no matching conversations.",
|
|
221
|
-
"Plain
|
|
222
|
-
"
|
|
226
|
+
"Plain user-sent and received person-to-person copy uses MessageBubble's body-medium regular default; user bubbles use secondary foreground, and the application must not promote ordinary conversation turns to body-large.",
|
|
227
|
+
"TypingIndicator owns transient participant typing status and is composed directly in an incoming Message; it is never approximated with a MessageBubble variant.",
|
|
228
|
+
"MessageScroller owns reader-relative transcript position and follow behavior. Compose MessageComposer in its overlay slot with 8px padding on every side so transcript content moves behind the surface while measured bottom clearance keeps the latest turn readable.",
|
|
223
229
|
"MessageComposer emits intent while the application controls its value and status. Its submit action defaults to brand for agent and person-to-person channels; select another submitIntent only for a different semantic consequence, never merely to identify AI content."
|
|
224
230
|
],
|
|
225
231
|
"accessibility": [
|
package/dist/agent.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": "1.0.0",
|
|
3
3
|
"package": "@ds-mo/ui",
|
|
4
|
-
"packageVersion": "
|
|
4
|
+
"packageVersion": "11.0.0",
|
|
5
5
|
"kind": "components",
|
|
6
6
|
"entries": [
|
|
7
7
|
{
|
|
@@ -112,10 +112,11 @@
|
|
|
112
112
|
"Streaming state supplements rather than replaces meaningful textual status."
|
|
113
113
|
],
|
|
114
114
|
"states": [
|
|
115
|
-
"The owner replaces immutable part arrays as scripted or live output changes."
|
|
115
|
+
"The owner replaces immutable part arrays as scripted or live output changes.",
|
|
116
|
+
"AgentResponse renders directly in Message without borrowing a plain MessageBubble surface."
|
|
116
117
|
],
|
|
117
118
|
"responsiveBehavior": [
|
|
118
|
-
"Rich content uses the
|
|
119
|
+
"Rich content uses the available transcript width while respecting readable measure and overflow constraints."
|
|
119
120
|
],
|
|
120
121
|
"references": [
|
|
121
122
|
{
|
|
@@ -169,8 +170,7 @@
|
|
|
169
170
|
"agent-tool-call",
|
|
170
171
|
"attachment-list",
|
|
171
172
|
"markdown",
|
|
172
|
-
"message"
|
|
173
|
-
"message-bubble"
|
|
173
|
+
"message"
|
|
174
174
|
]
|
|
175
175
|
},
|
|
176
176
|
{
|
|
@@ -2174,7 +2174,7 @@
|
|
|
2174
2174
|
"Busy and error are generic channel-neutral states; the owning product supplies suitable status wording. A busy row pairs its body-small status with the sm 16px Loader at an 8px gap.",
|
|
2175
2175
|
"Any positive unreadCount renders one dot on the title row rather than a visible counter; the accessible row name may still announce the exact unread quantity.",
|
|
2176
2176
|
"Hover and press use the shared interaction hover and pressed overlays. Only the selected conversation uses the persistent active fill.",
|
|
2177
|
-
"The title uses body-medium
|
|
2177
|
+
"The title uses body-medium, not title-small, and the body-small preview truncates after one line. Unread titles use emphasis with primary foreground; read titles use regular weight with secondary foreground.",
|
|
2178
2178
|
"The actions slot overlays the row at an 8px right inset without changing title or preview measure, and paints above the row interaction wash while that wash remains active."
|
|
2179
2179
|
],
|
|
2180
2180
|
"responsiveBehavior": [
|
|
@@ -3460,23 +3460,23 @@
|
|
|
3460
3460
|
"tag": "ds-message-bubble",
|
|
3461
3461
|
"name": "message-bubble",
|
|
3462
3462
|
"title": "MessageBubble",
|
|
3463
|
-
"summary": "Visible message
|
|
3463
|
+
"summary": "Visible plain-message surface with a body-medium default, separated from message-row direction and metadata.",
|
|
3464
3464
|
"intentStatus": "complete",
|
|
3465
3465
|
"intent": {
|
|
3466
3466
|
"audience": "general",
|
|
3467
3467
|
"status": "experimental",
|
|
3468
|
-
"summary": "Visible message
|
|
3468
|
+
"summary": "Visible plain-message surface with a body-medium default, separated from message-row direction and metadata.",
|
|
3469
3469
|
"useWhen": [
|
|
3470
|
-
"
|
|
3471
|
-
"Plain
|
|
3470
|
+
"Plain user-sent or received person-to-person message copy needs a visible surface within a Message row.",
|
|
3471
|
+
"Plain conversation copy should use the shared body-medium regular typography recipe without application styling."
|
|
3472
3472
|
],
|
|
3473
3473
|
"avoidWhen": [
|
|
3474
3474
|
"The surface is a general card, callout, or form container.",
|
|
3475
|
-
"The
|
|
3475
|
+
"The content is a rich agent response; compose AgentResponse directly in Message.",
|
|
3476
|
+
"The state only indicates that another participant is typing; use TypingIndicator."
|
|
3476
3477
|
],
|
|
3477
3478
|
"commonlyComposedWith": [
|
|
3478
|
-
"component:ds-message"
|
|
3479
|
-
"component:ds-markdown"
|
|
3479
|
+
"component:ds-message"
|
|
3480
3480
|
],
|
|
3481
3481
|
"patterns": [
|
|
3482
3482
|
"pattern:conversation"
|
|
@@ -3484,8 +3484,13 @@
|
|
|
3484
3484
|
"accessibility": [
|
|
3485
3485
|
"Surface styling does not add semantics; failed delivery belongs in Message metadata below the unchanged bubble rather than in an error bubble treatment."
|
|
3486
3486
|
],
|
|
3487
|
+
"states": [
|
|
3488
|
+
"The user variant represents user-sent copy in agent and person-to-person channels and uses secondary foreground.",
|
|
3489
|
+
"The received variant represents ordinary incoming person-to-person copy.",
|
|
3490
|
+
"Typing and rich agent output are not MessageBubble variants."
|
|
3491
|
+
],
|
|
3487
3492
|
"responsiveBehavior": [
|
|
3488
|
-
"The bubble wraps
|
|
3493
|
+
"The bubble wraps plain message copy within the transcript width."
|
|
3489
3494
|
],
|
|
3490
3495
|
"references": [
|
|
3491
3496
|
{
|
|
@@ -3547,7 +3552,9 @@
|
|
|
3547
3552
|
],
|
|
3548
3553
|
"states": [
|
|
3549
3554
|
"The owner controls draft value and transport state; the composer emits intent without performing transport.",
|
|
3550
|
-
"Use the tools slot for leading actions such as add and the actions slot for trailing actions such as dictation; the built-in submit or stop action remains last.",
|
|
3555
|
+
"Use the tools slot for leading actions such as add and the actions slot for trailing actions such as dictation; the built-in submit or stop action remains last with an 8px gap from the preceding action. These icon buttons use the standard non-rounded control radius.",
|
|
3556
|
+
"The composer surface uses the 10px --dimension-radius-125 token.",
|
|
3557
|
+
"Mouse or keyboard focus on the textarea gives the complete composer surface the same bold-brand inset stroke width and color as an active Input; the native textarea never draws a separate outline.",
|
|
3551
3558
|
"The submit action defaults to brand for both agent and person-to-person conversations; change submitIntent only when the action consequence has a different semantic intent."
|
|
3552
3559
|
],
|
|
3553
3560
|
"responsiveBehavior": [
|
|
@@ -3653,7 +3660,7 @@
|
|
|
3653
3660
|
"Selection and transcript interaction release automatic following.",
|
|
3654
3661
|
"Opening saved history, message jumps, and prepended history preserve deliberate position.",
|
|
3655
3662
|
"The scroll-to-latest action is absent at the live edge, appears only after the reader moves away, and disappears again after returning to the newest message.",
|
|
3656
|
-
"Place a composer container in the overlay slot so messages scroll behind it; the scroller measures its live height, reserves matching transcript clearance, and keeps scroll-to-latest above it."
|
|
3663
|
+
"Place a composer container with 8px padding on every side in the overlay slot so messages scroll behind it; the scroller measures its live height, reserves matching transcript clearance, and keeps scroll-to-latest above it."
|
|
3657
3664
|
],
|
|
3658
3665
|
"responsiveBehavior": [
|
|
3659
3666
|
"Transcript width is readable while the scroll region fills available height."
|
|
@@ -3920,6 +3927,7 @@
|
|
|
3920
3927
|
"Dashboard presents day-to-day operational destinations; Settings presents administrative and configuration destinations.",
|
|
3921
3928
|
"The standard footer switches the entire destination collection and navStyle between Dashboard and Settings and exposes the user/account entry.",
|
|
3922
3929
|
"The host owns the external user menu opened from dsNavUserAction.",
|
|
3930
|
+
"Item and header controls inherit the shared md control radius while local shell geometry continues to own collapsed layout and footer animation positioning.",
|
|
3923
3931
|
"On desktop, allow user-controlled expand and collapse and persist the preference with storageKey when cross-session persistence is appropriate."
|
|
3924
3932
|
],
|
|
3925
3933
|
"responsiveBehavior": [
|
|
@@ -5611,7 +5619,7 @@
|
|
|
5611
5619
|
"The owner preserves focus and meaningful reading order when replacing placeholders with real content."
|
|
5612
5620
|
],
|
|
5613
5621
|
"states": [
|
|
5614
|
-
"Text, icon, and control variants are atomic metric canvases aligned to their corresponding design-system recipes.",
|
|
5622
|
+
"Text, icon, and control variants are atomic metric canvases aligned to their corresponding design-system recipes; control atoms inherit the selected control density's default radius.",
|
|
5615
5623
|
"Compose approximate line count, hierarchy, widths, and control placement without simulating actual values.",
|
|
5616
5624
|
"Shimmer is on by default and may be disabled for a static placeholder. Reduced motion always produces the static final shape.",
|
|
5617
5625
|
"Rounded is an optional visual treatment for icon and control atoms rather than a semantic state.",
|
|
@@ -6986,6 +6994,72 @@
|
|
|
6986
6994
|
"componentDependencies": [
|
|
6987
6995
|
"text"
|
|
6988
6996
|
]
|
|
6997
|
+
},
|
|
6998
|
+
{
|
|
6999
|
+
"id": "component:ds-typing-indicator",
|
|
7000
|
+
"tag": "ds-typing-indicator",
|
|
7001
|
+
"name": "typing-indicator",
|
|
7002
|
+
"title": "TypingIndicator",
|
|
7003
|
+
"summary": "Dedicated transient status for another participant actively composing a message.",
|
|
7004
|
+
"intentStatus": "complete",
|
|
7005
|
+
"intent": {
|
|
7006
|
+
"audience": "general",
|
|
7007
|
+
"status": "experimental",
|
|
7008
|
+
"summary": "Dedicated transient status for another participant actively composing a message.",
|
|
7009
|
+
"useWhen": [
|
|
7010
|
+
"An agent or person-to-person conversation needs to show that another participant is currently typing."
|
|
7011
|
+
],
|
|
7012
|
+
"avoidWhen": [
|
|
7013
|
+
"An operation is loading or streaming a response; use Loader or the owning region's busy state.",
|
|
7014
|
+
"The status represents persisted message content; use Message and MessageBubble."
|
|
7015
|
+
],
|
|
7016
|
+
"commonlyComposedWith": [
|
|
7017
|
+
"component:ds-message",
|
|
7018
|
+
"component:ds-message-scroller"
|
|
7019
|
+
],
|
|
7020
|
+
"patterns": [
|
|
7021
|
+
"pattern:conversation"
|
|
7022
|
+
],
|
|
7023
|
+
"accessibility": [
|
|
7024
|
+
"Provide concise localized status text that names the participant when that context is not otherwise clear.",
|
|
7025
|
+
"The polite atomic status announces typing without representing it as a message bubble."
|
|
7026
|
+
],
|
|
7027
|
+
"states": [
|
|
7028
|
+
"TypingIndicator is transient conversation status, never persisted message content.",
|
|
7029
|
+
"Its body-small secondary text may shimmer, while reduced-motion preferences retain a static readable status."
|
|
7030
|
+
],
|
|
7031
|
+
"responsiveBehavior": [
|
|
7032
|
+
"The indicator fills the message content width and wraps only when localized status text requires it."
|
|
7033
|
+
],
|
|
7034
|
+
"references": [
|
|
7035
|
+
{
|
|
7036
|
+
"label": "Storybook example",
|
|
7037
|
+
"path": "src/wc/components/TypingIndicator/TypingIndicator.stories.ts"
|
|
7038
|
+
}
|
|
7039
|
+
]
|
|
7040
|
+
},
|
|
7041
|
+
"api": {
|
|
7042
|
+
"props": {
|
|
7043
|
+
"label": {
|
|
7044
|
+
"type": "string",
|
|
7045
|
+
"required": false
|
|
7046
|
+
}
|
|
7047
|
+
},
|
|
7048
|
+
"events": [],
|
|
7049
|
+
"slots": []
|
|
7050
|
+
},
|
|
7051
|
+
"exports": {
|
|
7052
|
+
"customElement": "ds-typing-indicator",
|
|
7053
|
+
"react": "DsTypingIndicator",
|
|
7054
|
+
"angular": "DsTypingIndicator"
|
|
7055
|
+
},
|
|
7056
|
+
"dependencies": [
|
|
7057
|
+
"@ds-mo/ui",
|
|
7058
|
+
"@ds-mo/tokens"
|
|
7059
|
+
],
|
|
7060
|
+
"componentDependencies": [
|
|
7061
|
+
"text"
|
|
7062
|
+
]
|
|
6989
7063
|
}
|
|
6990
7064
|
]
|
|
6991
7065
|
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ChangeDetectorRef, ElementRef, NgZone } from '@angular/core';
|
|
2
|
+
import type { Components } from '@ds-mo/ui/components';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class DsTypingIndicator {
|
|
5
|
+
protected z: NgZone;
|
|
6
|
+
protected el: HTMLDsTypingIndicatorElement;
|
|
7
|
+
constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
|
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DsTypingIndicator, never>;
|
|
9
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DsTypingIndicator, "ds-typing-indicator", never, { "label": { "alias": "label"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
10
|
+
}
|
|
11
|
+
export declare interface DsTypingIndicator extends Components.DsTypingIndicator {
|
|
12
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
/* tslint:disable */
|
|
8
|
+
/* auto-generated angular directive proxies */
|
|
9
|
+
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
10
|
+
import { ProxyCmp } from './angular-component-lib/utils.js';
|
|
11
|
+
import { defineCustomElement as defineDsTypingIndicator } from '@ds-mo/ui/components/ds-typing-indicator.js';
|
|
12
|
+
import * as i0 from "@angular/core";
|
|
13
|
+
let DsTypingIndicator = class DsTypingIndicator {
|
|
14
|
+
constructor(c, r, z) {
|
|
15
|
+
this.z = z;
|
|
16
|
+
c.detach();
|
|
17
|
+
this.el = r.nativeElement;
|
|
18
|
+
}
|
|
19
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DsTypingIndicator, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
20
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.7", type: DsTypingIndicator, isStandalone: true, selector: "ds-typing-indicator", inputs: { label: "label" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
21
|
+
};
|
|
22
|
+
DsTypingIndicator = __decorate([
|
|
23
|
+
ProxyCmp({
|
|
24
|
+
defineCustomElementFn: defineDsTypingIndicator,
|
|
25
|
+
inputs: ['label']
|
|
26
|
+
})
|
|
27
|
+
], DsTypingIndicator);
|
|
28
|
+
export { DsTypingIndicator };
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DsTypingIndicator, decorators: [{
|
|
30
|
+
type: Component,
|
|
31
|
+
args: [{
|
|
32
|
+
selector: 'ds-typing-indicator',
|
|
33
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
34
|
+
template: '<ng-content></ng-content>',
|
|
35
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
36
|
+
inputs: ['label'],
|
|
37
|
+
}]
|
|
38
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
package/dist/angular/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import * as d from './proxies';
|
|
2
|
-
export declare const DIRECTIVES: (typeof d.DsAgentActivity | typeof d.DsAgentResponse | typeof d.DsAgentSourceList | typeof d.DsAgentToolCall | typeof d.DsAppShell | typeof d.DsAttachmentList | typeof d.DsAvatar | typeof d.DsBadge | typeof d.DsBarNav | typeof d.DsButtonFilled | typeof d.DsButtonUnfilled | typeof d.DsCardDataVizDonut | typeof d.DsCardSetting | typeof d.DsCardShellDataViz | typeof d.DsChartBar | typeof d.DsChartDonut | typeof d.DsChartLegend | typeof d.DsChartLine | typeof d.DsCheckbox | typeof d.DsChip | typeof d.DsCodeBlock | typeof d.DsConversationListItem | typeof d.DsConversationListSection | typeof d.DsConversationList | typeof d.DsDivider | typeof d.DsEmptyState | typeof d.DsField | typeof d.DsIcon | typeof d.DsInput | typeof d.DsLoader | typeof d.DsMarkdown | typeof d.DsMenu | typeof d.DsMessageBubble | typeof d.DsMessageComposer | typeof d.DsMessageScroller | typeof d.DsMessage | typeof d.DsModal | typeof d.DsPanelNav | typeof d.DsPanelSubNav | typeof d.DsPanelToolHeader | typeof d.DsPanelToolSearch | typeof d.DsPanelTools | typeof d.DsRadio | typeof d.DsSelectMulti | typeof d.DsSelect | typeof d.DsShellGradientPicker | typeof d.DsShellGradientSwatch | typeof d.DsSkeleton | typeof d.DsSlider | typeof d.DsSwatchPicker | typeof d.DsSwitch | typeof d.DsTabGroup | typeof d.DsTag | typeof d.DsText | typeof d.DsToast | typeof d.DsTooltipDataViz | typeof d.DsTooltip)[];
|
|
2
|
+
export declare const DIRECTIVES: (typeof d.DsAgentActivity | typeof d.DsAgentResponse | typeof d.DsAgentSourceList | typeof d.DsAgentToolCall | typeof d.DsAppShell | typeof d.DsAttachmentList | typeof d.DsAvatar | typeof d.DsBadge | typeof d.DsBarNav | typeof d.DsButtonFilled | typeof d.DsButtonUnfilled | typeof d.DsCardDataVizDonut | typeof d.DsCardSetting | typeof d.DsCardShellDataViz | typeof d.DsChartBar | typeof d.DsChartDonut | typeof d.DsChartLegend | typeof d.DsChartLine | typeof d.DsCheckbox | typeof d.DsChip | typeof d.DsCodeBlock | typeof d.DsConversationListItem | typeof d.DsConversationListSection | typeof d.DsConversationList | typeof d.DsDivider | typeof d.DsEmptyState | typeof d.DsField | typeof d.DsIcon | typeof d.DsInput | typeof d.DsLoader | typeof d.DsMarkdown | typeof d.DsMenu | typeof d.DsMessageBubble | typeof d.DsMessageComposer | typeof d.DsMessageScroller | typeof d.DsMessage | typeof d.DsModal | typeof d.DsPanelNav | typeof d.DsPanelSubNav | typeof d.DsPanelToolHeader | typeof d.DsPanelToolSearch | typeof d.DsPanelTools | typeof d.DsRadio | typeof d.DsSelectMulti | typeof d.DsSelect | typeof d.DsShellGradientPicker | typeof d.DsShellGradientSwatch | typeof d.DsSkeleton | typeof d.DsSlider | typeof d.DsSwatchPicker | typeof d.DsSwitch | typeof d.DsTabGroup | typeof d.DsTag | typeof d.DsText | typeof d.DsToast | typeof d.DsTooltipDataViz | typeof d.DsTooltip | typeof d.DsTypingIndicator)[];
|
package/dist/angular/index.js
CHANGED
package/dist/angular/proxies.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as s,H as e,h as t,a,t as o}from"./index.js";import{d as r}from"./p-CPPAndX2.js";import{d as n}from"./p-Dh4q5TSS.js";import{d}from"./p-
|
|
1
|
+
import{p as s,H as e,h as t,a,t as o}from"./index.js";import{d as r}from"./p-CPPAndX2.js";import{d as n}from"./p-Dh4q5TSS.js";import{d as i}from"./p-DJ78wdNv.js";import{d}from"./p-BEWtqFX7.js";import{d as c}from"./p-DrDHC7V6.js";import{d as m}from"./p-DTqCBjUj.js";import{d as l}from"./p-Hw-HMjCk.js";import{d as u}from"./p-DuNZGFkV.js";import{d as f}from"./p-Cpr3K41-.js";import{d as p}from"./p-CbckeueL.js";import{d as b}from"./p-M5pt9I13.js";import{d as k}from"./p-CZZYGqKz.js";const h=()=>`.sc-ds-agent-response-h{display:block;width:100%;-webkit-user-select:none;user-select:none}.agent-response.sc-ds-agent-response{display:grid;gap:var(--dimension-space-150);min-width:0;width:100%;-webkit-user-select:none;user-select:none}`;const g=s(class s extends e{constructor(s){super();if(s!==false){this.__registerHost()}this.messageId="";this.author="";this.showAuthor=true;this.timestamp="";this.parts=[];this.streaming=false}renderPart(s){switch(s.type){case"markdown":return t("ds-markdown",{key:s.id,content:s.content,streaming:s.state==="streaming"});case"activity":return t("ds-agent-activity",{key:s.id,items:s.items});case"tool":return t("ds-agent-tool-call",{key:s.id,name:s.name,label:s.label,state:s.state,input:s.input,output:s.output,error:s.error});case"attachments":return t("ds-attachment-list",{key:s.id,items:s.items});case"sources":return t("ds-agent-source-list",{key:s.id,items:s.items})}}render(){return t(a,{key:"f9d6ca130d8bf45b5ab56a174723a87e1fd117bd"},t("ds-message",{key:"ab8a6040a907dd1414836a7a7dd20f8033b97561",messageId:this.messageId,direction:"incoming",author:this.author,showAuthor:this.showAuthor,timestamp:this.timestamp,streaming:this.streaming},t("div",{key:"b45d6644760775f80baf13ad0039ccf9d3ff3265",class:"agent-response"},this.parts.map((s=>this.renderPart(s)))),t("slot",{key:"717c82be95bcd5477cb2138857815084d31a9614",name:"footer",slot:"footer"}),t("slot",{key:"07018a75f269563ecf02edd79c2b8a4291281286",name:"actions",slot:"actions"})))}static get style(){return h()}},[262,"ds-agent-response",{messageId:[1,"message-id"],author:[1],showAuthor:[4,"show-author"],timestamp:[1],parts:[16],streaming:[4]}]);function y(){if(typeof customElements==="undefined"){return}const s=["ds-agent-response","ds-agent-activity","ds-agent-source-list","ds-agent-tool-call","ds-attachment-list","ds-badge","ds-button-unfilled","ds-code-block","ds-icon","ds-loader","ds-markdown","ds-message","ds-text"];s.forEach((s=>{switch(s){case"ds-agent-response":if(!customElements.get(o(s))){customElements.define(o(s),g)}break;case"ds-agent-activity":if(!customElements.get(o(s))){r()}break;case"ds-agent-source-list":if(!customElements.get(o(s))){n()}break;case"ds-agent-tool-call":if(!customElements.get(o(s))){i()}break;case"ds-attachment-list":if(!customElements.get(o(s))){d()}break;case"ds-badge":if(!customElements.get(o(s))){c()}break;case"ds-button-unfilled":if(!customElements.get(o(s))){m()}break;case"ds-code-block":if(!customElements.get(o(s))){l()}break;case"ds-icon":if(!customElements.get(o(s))){u()}break;case"ds-loader":if(!customElements.get(o(s))){f()}break;case"ds-markdown":if(!customElements.get(o(s))){p()}break;case"ds-message":if(!customElements.get(o(s))){b()}break;case"ds-text":if(!customElements.get(o(s))){k()}break}}))}y();const j=g;const w=y;export{j as DsAgentResponse,w as defineCustomElement};
|
|
2
2
|
//# sourceMappingURL=ds-agent-response.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["agentResponseCss","AgentResponse","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","messageId","author","showAuthor","timestamp","parts","streaming","renderPart","part","type","h","key","id","content","state","items","name","label","input","output","error","render","Host","direction","
|
|
1
|
+
{"version":3,"names":["agentResponseCss","AgentResponse","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","messageId","author","showAuthor","timestamp","parts","streaming","renderPart","part","type","h","key","id","content","state","items","name","label","input","output","error","render","Host","direction","class","map","slot"],"sources":["src/wc/components/AgentResponse/AgentResponse.css?tag=ds-agent-response&encapsulation=scoped","src/wc/components/AgentResponse/AgentResponse.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n -webkit-user-select: none;\n user-select: none;\n}\n.agent-response {\n display: grid;\n gap: var(--dimension-space-150);\n min-width: 0;\n width: 100%;\n -webkit-user-select: none;\n user-select: none;\n}\n","import { Component, Prop, h, Host } from '@stencil/core';\nimport type { AgentResponsePart } from '../conversation-types';\n\n@Component({ tag: 'ds-agent-response', styleUrl: 'AgentResponse.css', scoped: true })\nexport class AgentResponse {\n @Prop() messageId: string = '';\n @Prop() author: string = '';\n @Prop() showAuthor: boolean = true;\n @Prop() timestamp: string = '';\n @Prop() parts: AgentResponsePart[] = [];\n @Prop() streaming: boolean = false;\n\n private renderPart(part: AgentResponsePart) {\n switch (part.type) {\n case 'markdown':\n return (\n <ds-markdown\n key={part.id}\n content={part.content}\n streaming={part.state === 'streaming'}\n />\n );\n case 'activity':\n return <ds-agent-activity key={part.id} items={part.items} />;\n case 'tool':\n return (\n <ds-agent-tool-call\n key={part.id}\n name={part.name}\n label={part.label}\n state={part.state}\n input={part.input}\n output={part.output}\n error={part.error}\n />\n );\n case 'attachments':\n return <ds-attachment-list key={part.id} items={part.items} />;\n case 'sources':\n return <ds-agent-source-list key={part.id} items={part.items} />;\n }\n }\n\n render() {\n return (\n <Host>\n <ds-message\n messageId={this.messageId}\n direction=\"incoming\"\n author={this.author}\n showAuthor={this.showAuthor}\n timestamp={this.timestamp}\n streaming={this.streaming}\n >\n <div class=\"agent-response\">{this.parts.map(part => this.renderPart(part))}</div>\n <slot name=\"footer\" slot=\"footer\" />\n <slot name=\"actions\" slot=\"actions\" />\n </ds-message>\n </Host>\n );\n }\n}\n"],"mappings":"ieAAA,MAAMA,EAAmB,IAAM,gP,MCIlBC,EAAaC,EAAA,MAAAD,UAAAE,EAD1B,WAAAC,CAAAC,G,4CAEUC,KAAAC,UAAoB,GACpBD,KAAAE,OAAiB,GACjBF,KAAAG,WAAsB,KACtBH,KAAAI,UAAoB,GACpBJ,KAAAK,MAA6B,GAC7BL,KAAAM,UAAqB,KAmD9B,CAjDS,UAAAC,CAAWC,GACjB,OAAQA,EAAKC,MACX,IAAK,WACH,OACEC,EAAA,eACEC,IAAKH,EAAKI,GACVC,QAASL,EAAKK,QACdP,UAAWE,EAAKM,QAAU,cAGhC,IAAK,WACH,OAAOJ,EAAA,qBAAmBC,IAAKH,EAAKI,GAAIG,MAAOP,EAAKO,QACtD,IAAK,OACH,OACEL,EAAA,sBACEC,IAAKH,EAAKI,GACVI,KAAMR,EAAKQ,KACXC,MAAOT,EAAKS,MACZH,MAAON,EAAKM,MACZI,MAAOV,EAAKU,MACZC,OAAQX,EAAKW,OACbC,MAAOZ,EAAKY,QAGlB,IAAK,cACH,OAAOV,EAAA,sBAAoBC,IAAKH,EAAKI,GAAIG,MAAOP,EAAKO,QACvD,IAAK,UACH,OAAOL,EAAA,wBAAsBC,IAAKH,EAAKI,GAAIG,MAAOP,EAAKO,Q,CAI7D,MAAAM,GACE,OACEX,EAACY,EAAI,CAAAX,IAAA,4CACHD,EAAA,cAAAC,IAAA,2CACEV,UAAWD,KAAKC,UAChBsB,UAAU,WACVrB,OAAQF,KAAKE,OACbC,WAAYH,KAAKG,WACjBC,UAAWJ,KAAKI,UAChBE,UAAWN,KAAKM,WAEhBI,EAAA,OAAAC,IAAA,2CAAKa,MAAM,kBAAkBxB,KAAKK,MAAMoB,KAAIjB,GAAQR,KAAKO,WAAWC,MACpEE,EAAA,QAAAC,IAAA,2CAAMK,KAAK,SAASU,KAAK,WACzBhB,EAAA,QAAAC,IAAA,2CAAMK,KAAK,UAAUU,KAAK,a","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{A as o,d as
|
|
1
|
+
import{A as o,d as s}from"./p-DJ78wdNv.js";const t=o;const p=s;export{t as DsAgentToolCall,p as defineCustomElement};
|
|
2
2
|
//# sourceMappingURL=ds-agent-tool-call.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as e,H as s,h as t,a as n,t as i}from"./index.js";import{D as a,b as l,n as o,a as r}from"./p-D1HFMTdC.js";import{e as h,c,r as d,a as p,b as u}from"./p-BKhG2xrW.js";const f="--ds-shell-gradient-image";const b="--ds-shell-gradient-size";const g="--ds-shell-gradient-position-panel";const v="--ds-shell-gradient-position-bar";const m="--ds-shell-gradient-opacity";function y(e=a){return l(e)}function _(e){const s=typeof globalThis.window!=="undefined"?globalThis.window:undefined;if(!s)return{width:0,height:0};const t=s.visualViewport;return{width:Math.round(t?.width??s.innerWidth),height:Math.round(t?.height??s.innerHeight)}}function w(e){return`${Math.round(e.width)}px ${Math.round(e.height)}px`}function x(){return"0 0"}function k(e){return`${-Math.round(e)}px 0`}const P={k:"search",a:"agents",s:"stacks",m:"messages",n:"activity"};function z(e){return!e.metaKey&&!e.ctrlKey&&!e.altKey&&!e.shiftKey}function S(e){if(!e||typeof e!=="object")return false;if(!("closest"in e)||typeof e.closest!=="function")return false;const s=e;const t=s.closest('input, textarea, select, [contenteditable=""], [contenteditable="true"], [contenteditable="plaintext-only"]');if(t)return true;const n=s.getAttribute("role");if(n==="textbox"||n==="combobox"||n==="searchbox")return true;return Boolean(s.isContentEditable)}function C(e){if(e.key==="["||e.code==="BracketLeft")return"[";if(e.key==="]"||e.code==="BracketRight")return"]";return e.key.length===1?e.key.toLowerCase():e.key.toLowerCase()}function M(e){if((e.key==="?"||e.code==="Slash"&&e.shiftKey)&&!e.metaKey&&!e.ctrlKey&&!e.altKey){return"open-tool:help"}if(!z(e))return null;const s=C(e);if(s==="[")return"toggle-panel-nav";if(s==="]")return"close-panel-tools";const t=P[s];if(t)return`open-tool:${t}`;return null}function D(e,s){if(typeof document==="undefined")return 0;const t=document.createElement("div");t.style.cssText="position:absolute;visibility:hidden;pointer-events:none;height:0;width:var("+s+");";e.appendChild(t);const n=t.getBoundingClientRect().width;e.removeChild(t);return n}function L(e){return{expandedPx:D(e,"--_nav-width"),collapsedPx:D(e,"--_nav-width-collapsed")}}function T(e,s){if(s?.classList.contains("panel-nav--collapsed"))return true;const t=e?.collapsed;return t===true}function V(e,s){return s?e.collapsedPx:e.expandedPx}const j=()=>`.sc-ds-app-shell-h{display:block;height:100%;min-height:0;box-sizing:border-box;overflow:hidden;overscroll-behavior:none;--ds-shell-panel-tools-width:var(--dimension-panel-width-xs)}.app-shell.sc-ds-app-shell{display:flex;flex-direction:column;height:100%;min-height:0;box-sizing:border-box;overflow:hidden;overscroll-behavior:none;font-family:var(--typography-font-family, system-ui)}.sc-ds-app-shell-h{--_shell-chrome-bg:var(--color-background-secondary)}.app-shell__row.sc-ds-app-shell{display:flex;flex:1 1 auto;min-height:0;height:100%;position:relative}.app-shell__chrome.sc-ds-app-shell{position:absolute;inset:0;pointer-events:none;z-index:0;background-color:var(--_shell-chrome-bg)}.app-shell--gradient.sc-ds-app-shell-h .app-shell__chrome.sc-ds-app-shell::before{content:'';position:absolute;inset:0;pointer-events:none;background-position:0 0;background-attachment:fixed;z-index:1;opacity:var(--ds-shell-gradient-opacity, 1);background-image:var(--ds-shell-gradient-image, none);background-size:var(--ds-shell-gradient-size, auto);background-repeat:no-repeat}.app-shell__panel.sc-ds-app-shell{flex:0 0 auto;min-height:0;height:100%;position:relative;z-index:2}.app-shell__panel.sc-ds-app-shell-s>ds-panel-nav,.app-shell__panel .sc-ds-app-shell-s>ds-panel-nav{display:block;height:100%}.app-shell__main.sc-ds-app-shell{flex:1 1 auto;min-width:0;min-height:0;display:grid;grid-template-columns:minmax(0, 1fr) auto;grid-template-rows:auto minmax(0, 1fr);grid-template-areas:'bar tools' 'content tools';position:relative;z-index:1}.app-shell__bar.sc-ds-app-shell{grid-area:bar;flex:0 0 auto;min-width:0}.app-shell__bar.sc-ds-app-shell-s>ds-bar-nav,.app-shell__bar .sc-ds-app-shell-s>ds-bar-nav{display:block}.app-shell__content.sc-ds-app-shell{grid-area:content;flex:1 1 auto;min-width:0;min-height:0;overflow:auto;overscroll-behavior:none;contain:layout}.app-shell__content.sc-ds-app-shell{position:relative;z-index:1;background-color:var(--color-background-primary)}.app-shell__tools.sc-ds-app-shell{grid-area:tools;flex:0 0 auto;min-width:0;min-height:0;height:100%;display:flex;position:relative;z-index:0;overflow:hidden}.app-shell__tools.sc-ds-app-shell-s>ds-panel-tools,.app-shell__tools .sc-ds-app-shell-s>ds-panel-tools{display:block;height:100%;min-height:0}.app-shell--tools-fullscreen.sc-ds-app-shell-h .app-shell__panel.sc-ds-app-shell,.app-shell--tools-fullscreen.sc-ds-app-shell-h .app-shell__bar.sc-ds-app-shell,.app-shell--tools-fullscreen.sc-ds-app-shell-h .app-shell__content.sc-ds-app-shell{visibility:hidden}`;const W=e(class e extends s{constructor(e){super();if(e!==false){this.__registerHost()}this.navStyle="dashboard";this.gradientPreset=a;this.shortcutsEnabled=true;this.toolsFullscreen=false;this.resizeObserver=null;this.panelNavTransition=new h;this.chromeSyncCoalescer=c((()=>this.syncChrome()));this.panelWidthTokens={expandedPx:0,collapsedPx:0};this.cachedViewportWidth=0;this.cachedViewportHeight=0;this.onWindowResize=()=>{if(this.panelNavTransition.isActive)return;this.scheduleChromeSync()};this.onVisualViewportChange=()=>{if(this.panelNavTransition.isActive)return;this.scheduleChromeSync()};this.onChromeTransitionStart=e=>{if(d(e)!=="panel-nav")return;this.panelNavTransition.enter();const s=_();this.cachedViewportWidth=s.width;this.cachedViewportHeight=s.height;this.syncChrome()};this.onChromeTransitionEnd=e=>{if(d(e)!=="panel-nav")return;this.panelNavTransition.exit();if(!this.panelNavTransition.isActive){this.scheduleChromeSync()}}}componentDidLoad(){this.syncSlottedNavStyle();this.connectMetricsObserver();this.connectViewportListeners();this.el.addEventListener(p,this.onChromeTransitionStart);this.el.addEventListener(u,this.onChromeTransitionEnd);requestAnimationFrame((()=>{this.cachePanelWidthTokens();this.scheduleChromeSync()}));const e=this.el.querySelector("ds-panel-tools");this.toolsFullscreen=e?.getAttribute("presentation")==="fullscreen"}handleToolsPresentation(e){this.toolsFullscreen=e.detail?.presentation==="fullscreen"}disconnectedCallback(){this.resizeObserver?.disconnect();this.resizeObserver=null;this.disconnectViewportListeners();this.chromeSyncCoalescer.cancel();this.el.removeEventListener(p,this.onChromeTransitionStart);this.el.removeEventListener(u,this.onChromeTransitionEnd)}onShellPropsChange(){this.syncSlottedNavStyle();this.scheduleChromeSync()}scheduleChromeSync(){this.chromeSyncCoalescer.schedule()}syncSlottedNavStyle(){const e=this.el.querySelector("ds-panel-nav");const s=this.el.querySelector("ds-bar-nav");if(e){e.setAttribute("nav-style",this.navStyle);e.navStyle=this.navStyle}if(s){s.setAttribute("nav-style",this.navStyle);s.navStyle=this.navStyle}}connectMetricsObserver(){this.resizeObserver=new ResizeObserver((()=>{if(this.panelNavTransition.isActive)return;this.scheduleChromeSync()}));this.resizeObserver.observe(this.el);const e=this.el.querySelector(".app-shell__panel");if(e)this.resizeObserver.observe(e)}connectViewportListeners(){if(typeof window==="undefined")return;window.addEventListener("resize",this.onWindowResize,{passive:true});const e=window.visualViewport;if(e){e.addEventListener("resize",this.onVisualViewportChange,{passive:true});e.addEventListener("scroll",this.onVisualViewportChange,{passive:true})}}disconnectViewportListeners(){if(typeof window==="undefined")return;window.removeEventListener("resize",this.onWindowResize);const e=window.visualViewport;if(e){e.removeEventListener("resize",this.onVisualViewportChange);e.removeEventListener("scroll",this.onVisualViewportChange)}}cachePanelWidthTokens(){const e=this.el.querySelector("ds-panel-nav .panel-nav");if(!e)return;this.panelWidthTokens=L(e)}applyGradientVars(e,s){const t=e.style;for(const[e,n]of Object.entries(s)){if(n===null)t.removeProperty(e);else t.setProperty(e,n)}}clearGradientPaintVars(e){const s=[f,b,m];for(const t of e){for(const e of s)t.style.removeProperty(e)}}syncChromeLayoutVars(e,s,t,n){if(e){e.style.setProperty(g,t)}if(s){s.style.setProperty(v,n)}}resolvePanelWidthPx(e){const s=e?.querySelector(".panel-nav");if(this.panelNavTransition.isActive&&this.panelWidthTokens.expandedPx>0){const t=T(e,s);return V(this.panelWidthTokens,t)}const t=this.el.querySelector(".app-shell__panel");const n=t?.getBoundingClientRect().width??0;if(n>0)return n;if(this.panelWidthTokens.expandedPx>0){const t=T(e,s);return V(this.panelWidthTokens,t)}return 0}resolveViewportDimensions(){if(this.panelNavTransition.isActive&&this.cachedViewportWidth>0){return{width:this.cachedViewportWidth,height:this.cachedViewportHeight}}return _()}chromeLayerActive(){return o(this.gradientPreset)!=="none"}handleWindowKeyDown(e){if(!this.shortcutsEnabled)return;if(S(e.target))return;const s=M(e);if(!s)return;e.preventDefault();const t=this.el.querySelector("ds-panel-nav");const n=this.el.querySelector("ds-panel-tools");if(s==="toggle-panel-nav"){void t?.toggleCollapsed();return}if(s==="close-panel-tools"){void n?.closeDrawer();return}if(s.startsWith("open-tool:")&&n){const e=s.slice("open-tool:".length);void n.activateTool(e)}}syncChrome(){const e=this.el.querySelector("ds-panel-nav");const s=this.el.querySelector("ds-bar-nav");const t=[this.el,e,s].filter((e=>e!==null));const n=()=>{if(e)e.style.removeProperty(g);if(s)s.style.removeProperty(v)};const i=o(this.gradientPreset);if(i==="none"){this.clearGradientPaintVars(t);n();return}const a=this.resolveViewportDimensions();const l=this.resolvePanelWidthPx(e);const h=x();const c=k(l);this.syncChromeLayoutVars(e,s,h,c);const d=y(i);const p=w({width:a.width,height:a.height});const u=r(i);for(const e of t){if(e===this.el){this.applyGradientVars(e,{[f]:d,[b]:p,[g]:h,[v]:c,[m]:u});continue}const s=e.tagName.toLowerCase()==="ds-bar-nav";this.applyGradientVars(e,{[f]:d,[b]:p,[m]:u,[g]:s?null:h,[v]:s?c:null})}}render(){const e=this.chromeLayerActive();const s={"app-shell":true,"app-shell--gradient":e,[`app-shell--${this.navStyle}`]:true,"app-shell--tools-fullscreen":this.toolsFullscreen};return t(n,{key:"d363b1e81bb30aa8431b2a21e3ec9b757a19e6df",class:s},t("div",{key:"b46ed6f36e0ddc0d8bfea661b39d838e30b32dfe",class:"app-shell__row"},t("div",{key:"6603d1145018e8d394d8d74d0796956cb7cac18a",class:"app-shell__chrome","aria-hidden":"true"}),t("div",{key:"8adf32c93cf4b841c6312222aa6b872970a8917a",class:"app-shell__panel","aria-hidden":this.toolsFullscreen?"true":undefined,inert:this.toolsFullscreen?true:undefined},t("slot",{key:"4572cc50906cc6aa1a6993500fa263bc80b34eb4",name:"panel"})),t("div",{key:"8fac8ca50f891bf3acb1470ee711094a47246ae3",class:"app-shell__main"},t("div",{key:"b08668e65b6adea61298d993a5e59ff7a5892441",class:"app-shell__bar","aria-hidden":this.toolsFullscreen?"true":undefined,inert:this.toolsFullscreen?true:undefined},t("slot",{key:"9f8841025db35af7f7a79ada332e292802c7713e",name:"bar"})),t("div",{key:"aef6742c9570ed4543bfe8c2d3bf97c7d0b50607",class:"app-shell__tools"},t("slot",{key:"a3aad909b42b32507fb713bcec9722505e2a5cd6",name:"tools"})),t("div",{key:"b75b8d228896ab3abc8258a0a4ad7930aa132501",class:"app-shell__content","aria-hidden":this.toolsFullscreen?"true":undefined,inert:this.toolsFullscreen?true:undefined},t("slot",{key:"3a06ed9f778fb5fdbf6343c4af0c5b2565271ab8"})))))}get el(){return this}static get watchers(){return{navStyle:[{onShellPropsChange:0}],gradientPreset:[{onShellPropsChange:0}]}}static get style(){return j()}},[262,"ds-app-shell",{navStyle:[513,"nav-style"],gradientPreset:[513,"gradient-preset"],shortcutsEnabled:[4,"shortcuts-enabled"],toolsFullscreen:[32]},[[0,"dsPresentationChange","handleToolsPresentation"],[10,"keydown","handleWindowKeyDown"]],{navStyle:[{onShellPropsChange:0}],gradientPreset:[{onShellPropsChange:0}]}]);function $(){if(typeof customElements==="undefined"){return}const e=["ds-app-shell"];e.forEach((e=>{switch(e){case"ds-app-shell":if(!customElements.get(i(e))){customElements.define(i(e),W)}break}}))}$();const B=W;const E=$;export{B as DsAppShell,E as defineCustomElement};
|
|
1
|
+
import{p as e,H as s,h as t,a as n,t as i}from"./index.js";import{D as l,b as a,n as o,a as r}from"./p-D1HFMTdC.js";import{e as h,c,r as d,a as p,b as f}from"./p-BKhG2xrW.js";const u="--ds-shell-gradient-image";const b="--ds-shell-gradient-size";const g="--ds-shell-gradient-position-panel";const v="--ds-shell-gradient-position-bar";const m="--ds-shell-gradient-opacity";function y(e=l){return a(e)}function _(e){const s=typeof globalThis.window!=="undefined"?globalThis.window:undefined;if(!s)return{width:0,height:0};const t=s.visualViewport;return{width:Math.round(t?.width??s.innerWidth),height:Math.round(t?.height??s.innerHeight)}}function w(e){return`${Math.round(e.width)}px ${Math.round(e.height)}px`}function x(){return"0 0"}function k(e){return`${-Math.round(e)}px 0`}const P={k:"search",a:"agents",s:"stacks",m:"messages",n:"activity"};function z(e){return!e.metaKey&&!e.ctrlKey&&!e.altKey&&!e.shiftKey}function S(e){if(!e||typeof e!=="object")return false;if(!("closest"in e)||typeof e.closest!=="function")return false;const s=e;const t=s.closest('input, textarea, select, [contenteditable=""], [contenteditable="true"], [contenteditable="plaintext-only"]');if(t)return true;const n=s.getAttribute("role");if(n==="textbox"||n==="combobox"||n==="searchbox")return true;return Boolean(s.isContentEditable)}function C(e){if(e.key==="["||e.code==="BracketLeft")return"[";if(e.key==="]"||e.code==="BracketRight")return"]";return e.key.length===1?e.key.toLowerCase():e.key.toLowerCase()}function M(e){if((e.key==="?"||e.code==="Slash"&&e.shiftKey)&&!e.metaKey&&!e.ctrlKey&&!e.altKey){return"open-tool:help"}if(!z(e))return null;const s=C(e);if(s==="[")return"toggle-panel-nav";if(s==="]")return"close-panel-tools";const t=P[s];if(t)return`open-tool:${t}`;return null}function D(e,s){if(typeof document==="undefined")return 0;const t=document.createElement("div");t.style.cssText="position:absolute;visibility:hidden;pointer-events:none;height:0;width:var("+s+");";e.appendChild(t);const n=t.getBoundingClientRect().width;e.removeChild(t);return n}function L(e){return{expandedPx:D(e,"--_nav-width"),collapsedPx:D(e,"--_nav-width-collapsed")}}function T(e,s){if(s?.classList.contains("panel-nav--collapsed"))return true;const t=e?.collapsed;return t===true}function V(e,s){return s?e.collapsedPx:e.expandedPx}const j=()=>`.sc-ds-app-shell-h{display:block;height:100%;min-height:0;box-sizing:border-box;overflow:hidden;overscroll-behavior:none;--ds-shell-panel-tools-width:var(--dimension-panel-width-xs)}.app-shell.sc-ds-app-shell{display:flex;flex-direction:column;height:100%;min-height:0;box-sizing:border-box;overflow:hidden;overscroll-behavior:none;font-family:var(--typography-font-family, system-ui)}.sc-ds-app-shell-h{--_shell-chrome-bg:var(--color-background-secondary)}.app-shell__row.sc-ds-app-shell{display:flex;flex:1 1 auto;min-height:0;height:100%;position:relative}.app-shell__chrome.sc-ds-app-shell{position:absolute;inset:0;pointer-events:none;z-index:0;background-color:var(--_shell-chrome-bg)}.app-shell--gradient.sc-ds-app-shell-h .app-shell__chrome.sc-ds-app-shell::before{content:'';position:absolute;inset:0;pointer-events:none;background-position:0 0;background-attachment:fixed;z-index:1;opacity:var(--ds-shell-gradient-opacity, 1);background-image:var(--ds-shell-gradient-image, none);background-size:var(--ds-shell-gradient-size, auto);background-repeat:no-repeat}.app-shell__panel.sc-ds-app-shell{flex:0 0 auto;min-height:0;height:100%;position:relative;z-index:2}.app-shell__panel.sc-ds-app-shell-s>ds-panel-nav,.app-shell__panel .sc-ds-app-shell-s>ds-panel-nav{display:block;height:100%}.app-shell__main.sc-ds-app-shell{flex:1 1 auto;min-width:0;min-height:0;display:grid;grid-template-columns:minmax(0, 1fr) auto;grid-template-rows:auto minmax(0, 1fr);grid-template-areas:'bar tools' 'content tools';position:relative;z-index:1}.app-shell__bar.sc-ds-app-shell{grid-area:bar;flex:0 0 auto;min-width:0}.app-shell__bar.sc-ds-app-shell-s>ds-bar-nav,.app-shell__bar .sc-ds-app-shell-s>ds-bar-nav{display:block}.app-shell__content.sc-ds-app-shell{grid-area:content;flex:1 1 auto;min-width:0;min-height:0;overflow:auto;overscroll-behavior:none;contain:layout}.app-shell__content.sc-ds-app-shell{position:relative;z-index:1;background-color:var(--color-background-primary)}.app-shell__tools.sc-ds-app-shell{grid-area:tools;flex:0 0 auto;min-width:0;min-height:0;height:100%;display:flex;position:relative;z-index:0;overflow:hidden}.app-shell__tools.sc-ds-app-shell-s>ds-panel-tools,.app-shell__tools .sc-ds-app-shell-s>ds-panel-tools{display:block;height:100%;min-height:0}.app-shell--tools-fullscreen.sc-ds-app-shell-h .app-shell__panel.sc-ds-app-shell,.app-shell--tools-fullscreen.sc-ds-app-shell-h .app-shell__bar.sc-ds-app-shell,.app-shell--tools-fullscreen.sc-ds-app-shell-h .app-shell__content.sc-ds-app-shell{visibility:hidden}`;const W=e(class e extends s{constructor(e){super();if(e!==false){this.__registerHost()}this.navStyle="dashboard";this.gradientPreset=l;this.shortcutsEnabled=true;this.toolsFullscreen=false;this.resizeObserver=null;this.panelNavTransition=new h;this.chromeSyncCoalescer=c((()=>this.syncChrome()));this.panelWidthTokens={expandedPx:0,collapsedPx:0};this.cachedViewportWidth=0;this.cachedViewportHeight=0;this.onWindowResize=()=>{if(this.panelNavTransition.isActive)return;this.scheduleChromeSync()};this.onVisualViewportChange=()=>{if(this.panelNavTransition.isActive)return;this.scheduleChromeSync()};this.onChromeTransitionStart=e=>{if(d(e)!=="panel-nav")return;this.panelNavTransition.enter();const s=_();this.cachedViewportWidth=s.width;this.cachedViewportHeight=s.height;this.syncChrome()};this.onChromeTransitionEnd=e=>{if(d(e)!=="panel-nav")return;this.panelNavTransition.exit();if(!this.panelNavTransition.isActive){this.scheduleChromeSync()}}}componentDidLoad(){this.syncSlottedNavStyle();this.connectMetricsObserver();this.connectViewportListeners();this.el.addEventListener(p,this.onChromeTransitionStart);this.el.addEventListener(f,this.onChromeTransitionEnd);requestAnimationFrame((()=>{this.cachePanelWidthTokens();this.scheduleChromeSync()}));const e=this.el.querySelector("ds-panel-tools");this.toolsFullscreen=e?.getAttribute("presentation")==="fullscreen"}handleToolsPresentation(e){this.toolsFullscreen=e.detail?.presentation==="fullscreen"}disconnectedCallback(){this.resizeObserver?.disconnect();this.resizeObserver=null;this.disconnectViewportListeners();this.chromeSyncCoalescer.cancel();this.el.removeEventListener(p,this.onChromeTransitionStart);this.el.removeEventListener(f,this.onChromeTransitionEnd)}onShellPropsChange(){this.syncSlottedNavStyle();this.scheduleChromeSync()}scheduleChromeSync(){this.chromeSyncCoalescer.schedule()}syncSlottedNavStyle(){const e=this.el.querySelector("ds-panel-nav");const s=this.el.querySelector("ds-bar-nav");if(e){e.setAttribute("nav-style",this.navStyle);e.navStyle=this.navStyle}if(s){s.setAttribute("nav-style",this.navStyle);s.navStyle=this.navStyle}}connectMetricsObserver(){this.resizeObserver=new ResizeObserver((()=>{if(this.panelNavTransition.isActive)return;this.scheduleChromeSync()}));this.resizeObserver.observe(this.el);const e=this.el.querySelector(".app-shell__panel");if(e)this.resizeObserver.observe(e)}connectViewportListeners(){if(typeof window==="undefined")return;window.addEventListener("resize",this.onWindowResize,{passive:true});const e=window.visualViewport;if(e){e.addEventListener("resize",this.onVisualViewportChange,{passive:true});e.addEventListener("scroll",this.onVisualViewportChange,{passive:true})}}disconnectViewportListeners(){if(typeof window==="undefined")return;window.removeEventListener("resize",this.onWindowResize);const e=window.visualViewport;if(e){e.removeEventListener("resize",this.onVisualViewportChange);e.removeEventListener("scroll",this.onVisualViewportChange)}}cachePanelWidthTokens(){const e=this.el.querySelector("ds-panel-nav .panel-nav");if(!e)return;this.panelWidthTokens=L(e)}applyGradientVars(e,s){const t=e.style;for(const[e,n]of Object.entries(s)){if(n===null)t.removeProperty(e);else t.setProperty(e,n)}}clearGradientPaintVars(e){const s=[u,b,m];for(const t of e){for(const e of s)t.style.removeProperty(e)}}syncChromeLayoutVars(e,s,t,n){if(e){e.style.setProperty(g,t)}if(s){s.style.setProperty(v,n)}}resolvePanelWidthPx(e){const s=e?.querySelector(".panel-nav");if(this.panelNavTransition.isActive&&this.panelWidthTokens.expandedPx>0){const t=T(e,s);return V(this.panelWidthTokens,t)}const t=this.el.querySelector(".app-shell__panel");const n=t?.getBoundingClientRect().width??0;if(n>0)return n;if(this.panelWidthTokens.expandedPx>0){const t=T(e,s);return V(this.panelWidthTokens,t)}return 0}resolveViewportDimensions(){if(this.panelNavTransition.isActive&&this.cachedViewportWidth>0){return{width:this.cachedViewportWidth,height:this.cachedViewportHeight}}return _()}chromeLayerActive(){return o(this.gradientPreset)!=="none"}handleWindowKeyDown(e){if(!this.shortcutsEnabled)return;if(S(e.target))return;const s=M(e);if(!s)return;e.preventDefault();const t=this.el.querySelector("ds-panel-nav");const n=this.el.querySelector("ds-panel-tools");if(s==="toggle-panel-nav"){void t?.toggleCollapsed();return}if(s==="close-panel-tools"){void n?.closeDrawer();return}if(s.startsWith("open-tool:")&&n){const e=s.slice("open-tool:".length);void n.activateTool(e)}}syncChrome(){const e=this.el.querySelector("ds-panel-nav");const s=this.el.querySelector("ds-bar-nav");const t=[this.el,e,s].filter((e=>e!==null));const n=()=>{if(e)e.style.removeProperty(g);if(s)s.style.removeProperty(v)};const i=o(this.gradientPreset);if(i==="none"){this.clearGradientPaintVars(t);n();return}const l=this.resolveViewportDimensions();const a=this.resolvePanelWidthPx(e);const h=x();const c=k(a);this.syncChromeLayoutVars(e,s,h,c);const d=y(i);const p=w({width:l.width,height:l.height});const f=r(i);for(const e of t){if(e===this.el){this.applyGradientVars(e,{[u]:d,[b]:p,[g]:h,[v]:c,[m]:f});continue}const s=e.tagName.toLowerCase()==="ds-bar-nav";this.applyGradientVars(e,{[u]:d,[b]:p,[m]:f,[g]:s?null:h,[v]:s?c:null})}}render(){const e=this.chromeLayerActive();const s={"app-shell":true,"app-shell--gradient":e,[`app-shell--${this.navStyle}`]:true,"app-shell--tools-fullscreen":this.toolsFullscreen};return t(n,{key:"c6e4c96932fc51b12b3ca96fc2cdac92d368bd77",class:s},t("div",{key:"39acfcf2a9efce13a51d89d8f280ec6c5f7beb5a",class:"app-shell__row"},t("div",{key:"d23609ea2d5e2fbaba807470149c100a47529668",class:"app-shell__chrome","aria-hidden":"true"}),t("div",{key:"71de4580c1f3d4e9294a9d1fc6d802c41a1c5ebc",class:"app-shell__panel","aria-hidden":this.toolsFullscreen?"true":undefined,inert:this.toolsFullscreen?true:undefined},t("slot",{key:"5e0aba7074330e5e1078764b0cbf2d5bc898df0c",name:"panel"})),t("div",{key:"2eb15d98da1bff20b898360a4af835d6b892d10c",class:"app-shell__main"},t("div",{key:"f9481f00f17942e393e86530ffcd2a6c5e668ed1",class:"app-shell__bar","aria-hidden":this.toolsFullscreen?"true":undefined,inert:this.toolsFullscreen?true:undefined},t("slot",{key:"42911a0187f7e49ff65bdf3eb378f7aa21cd6a14",name:"bar"})),t("div",{key:"04dd3cbb566184f9f25913503278ecc36c3a10a9",class:"app-shell__tools"},t("slot",{key:"e9de481761975b4da31bb25cfed8cc620f3ecea2",name:"tools"})),t("div",{key:"851c84f10dd4676a86edf68c98ef7354e6bd2503",class:"app-shell__content","aria-hidden":this.toolsFullscreen?"true":undefined,inert:this.toolsFullscreen?true:undefined},t("slot",{key:"6bb422ba64bc48970e651ffe78ab520bd8e17c05"})))))}get el(){return this}static get watchers(){return{navStyle:[{onShellPropsChange:0}],gradientPreset:[{onShellPropsChange:0}]}}static get style(){return j()}},[262,"ds-app-shell",{navStyle:[513,"nav-style"],gradientPreset:[513,"gradient-preset"],shortcutsEnabled:[4,"shortcuts-enabled"],toolsFullscreen:[32]},[[0,"dsPresentationChange","handleToolsPresentation"],[10,"keydown","handleWindowKeyDown"]],{navStyle:[{onShellPropsChange:0}],gradientPreset:[{onShellPropsChange:0}]}]);function $(){if(typeof customElements==="undefined"){return}const e=["ds-app-shell"];e.forEach((e=>{switch(e){case"ds-app-shell":if(!customElements.get(i(e))){customElements.define(i(e),W)}break}}))}$();const B=W;const E=$;export{B as DsAppShell,E as defineCustomElement};
|
|
2
2
|
//# sourceMappingURL=ds-app-shell.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{A as o,d as s}from"./p-
|
|
1
|
+
import{A as o,d as s}from"./p-BEWtqFX7.js";const t=o;const p=s;export{t as DsAttachmentList,p as defineCustomElement};
|
|
2
2
|
//# sourceMappingURL=ds-attachment-list.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as e,H as s,h as
|
|
1
|
+
import{p as e,H as s,h as t,a,t as i}from"./index.js";import{d as r}from"./p-DuNZGFkV.js";const n=()=>`.sc-ds-avatar-h{display:inline-flex;flex-shrink:0;width:var(--dimension-size-400);height:var(--dimension-size-400)}.avatar.sc-ds-avatar{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:100%;border-radius:var(--dimension-radius-half);box-shadow:inset 0 0 0 var(--dimension-stroke-width-012) var(--color-border-tertiary)}`;const o=e(class e extends s{constructor(e){super();if(e!==false){this.__registerHost()}this.icon="";this.iconColor="secondary"}render(){return t(a,{key:"50832cf16d83361ca8c9e51357f973d2436cce3c"},t("span",{key:"b7c00795e28d6c1ab1880bcbbf33f33e9c7621b7",class:"avatar",role:this.label?"img":"presentation","aria-label":this.label,"aria-hidden":!this.label?"true":undefined},t("ds-icon",{key:"61c255902347c493069c6a59a44a04b444737fc2",name:this.icon,size:"md",color:this.iconColor})))}static get style(){return n()}},[2,"ds-avatar",{icon:[1],iconColor:[1,"icon-color"],label:[1]}]);function c(){if(typeof customElements==="undefined"){return}const e=["ds-avatar","ds-icon"];e.forEach((e=>{switch(e){case"ds-avatar":if(!customElements.get(i(e))){customElements.define(i(e),o)}break;case"ds-icon":if(!customElements.get(i(e))){r()}break}}))}c();const d=o;const l=c;export{d as DsAvatar,l as defineCustomElement};
|
|
2
2
|
//# sourceMappingURL=ds-avatar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["avatarCss","Avatar","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","icon","iconColor","render","h","Host","key","class","role","label","undefined","name","size","color"],"sources":["src/wc/components/Avatar/Avatar.css?tag=ds-avatar&encapsulation=scoped","src/wc/components/Avatar/Avatar.tsx"],"sourcesContent":[":host {\n display: inline-flex;\n flex-shrink: 0;\n width: var(--dimension-size-400);\n height: var(--dimension-size-400);\n}\n\n.avatar {\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n border-radius: var(--dimension-radius-half);\n box-shadow: inset 0 0 0 var(--dimension-stroke-width-012) var(--color-border-tertiary);\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\nimport type { IconColor } from '../Icon/Icon';\n\n@Component({\n tag: 'ds-avatar',\n styleUrl: 'Avatar.css',\n scoped: true,\n})\nexport class Avatar {\n /** Canonical IcoMo icon name displayed inside the avatar. */\n @Prop() icon: string = '';\n\n /** Semantic color for the icon. Use primary to surface unread or current identity state. */\n @Prop() iconColor: IconColor = 'secondary';\n\n /** Optional accessible label. Omit when the surrounding content already conveys the meaning. */\n @Prop() label: string | undefined;\n\n render() {\n return (\n <Host>\n <span\n class=\"avatar\"\n role={this.label ? 'img' : 'presentation'}\n aria-label={this.label}\n aria-hidden={!this.label ? 'true' : undefined}\n >\n <ds-icon name={this.icon} size=\"md\" color={this.iconColor} />\n </span>\n </Host>\n );\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["avatarCss","Avatar","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","icon","iconColor","render","h","Host","key","class","role","label","undefined","name","size","color"],"sources":["src/wc/components/Avatar/Avatar.css?tag=ds-avatar&encapsulation=scoped","src/wc/components/Avatar/Avatar.tsx"],"sourcesContent":[":host {\n display: inline-flex;\n flex-shrink: 0;\n width: var(--dimension-size-400);\n height: var(--dimension-size-400);\n}\n\n.avatar {\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n border-radius: var(--dimension-radius-half);\n box-shadow: inset 0 0 0 var(--dimension-stroke-width-012) var(--color-border-tertiary);\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\nimport type { IconColor } from '../Icon/Icon';\n\n@Component({\n tag: 'ds-avatar',\n styleUrl: 'Avatar.css',\n scoped: true,\n})\nexport class Avatar {\n /** Canonical IcoMo icon name displayed inside the avatar. */\n @Prop() icon: string = '';\n\n /** Semantic color for the icon. Use primary to surface unread or current identity state. */\n @Prop() iconColor: IconColor = 'secondary';\n\n /** Optional accessible label. Omit when the surrounding content already conveys the meaning. */\n @Prop() label: string | undefined;\n\n render() {\n return (\n <Host>\n <span\n class=\"avatar\"\n role={this.label ? 'img' : 'presentation'}\n aria-label={this.label}\n aria-hidden={!this.label ? 'true' : undefined}\n >\n <ds-icon name={this.icon} size=\"md\" color={this.iconColor} />\n </span>\n </Host>\n );\n }\n}\n"],"mappings":"0FAAA,MAAMA,EAAY,IAAM,gX,MCQXC,EAAMC,EAAA,MAAAD,UAAAE,EALnB,WAAAC,CAAAC,G,4CAOUC,KAAAC,KAAe,GAGfD,KAAAE,UAAuB,WAmBhC,CAdC,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,QAAAE,IAAA,2CACEC,MAAM,SACNC,KAAMR,KAAKS,MAAQ,MAAQ,eAAc,aAC7BT,KAAKS,MAAK,eACRT,KAAKS,MAAQ,OAASC,WAEpCN,EAAA,WAAAE,IAAA,2CAASK,KAAMX,KAAKC,KAAMW,KAAK,KAAKC,MAAOb,KAAKE,a","ignoreList":[]}
|