@ds-mo/ui 9.1.0 → 9.2.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 +165 -1
- package/dist/agent.json +2110 -634
- package/dist/angular/ds-agent-activity.d.ts +12 -0
- package/dist/angular/ds-agent-activity.js +38 -0
- package/dist/angular/ds-agent-response.d.ts +12 -0
- package/dist/angular/ds-agent-response.js +38 -0
- package/dist/angular/ds-agent-source-list.d.ts +12 -0
- package/dist/angular/ds-agent-source-list.js +38 -0
- package/dist/angular/ds-agent-tool-call.d.ts +12 -0
- package/dist/angular/ds-agent-tool-call.js +38 -0
- package/dist/angular/ds-attachment-list.d.ts +12 -0
- package/dist/angular/ds-attachment-list.js +38 -0
- package/dist/angular/ds-avatar.d.ts +12 -0
- package/dist/angular/ds-avatar.js +38 -0
- package/dist/angular/ds-code-block.d.ts +12 -0
- package/dist/angular/ds-code-block.js +38 -0
- package/dist/angular/ds-conversation-list-item.d.ts +19 -0
- package/dist/angular/ds-conversation-list-item.js +42 -0
- package/dist/angular/ds-conversation-list-section.d.ts +12 -0
- package/dist/angular/ds-conversation-list-section.js +38 -0
- package/dist/angular/ds-conversation-list.d.ts +12 -0
- package/dist/angular/ds-conversation-list.js +37 -0
- package/dist/angular/ds-markdown.d.ts +12 -0
- package/dist/angular/ds-markdown.js +38 -0
- package/dist/angular/ds-menu.d.ts +1 -1
- package/dist/angular/ds-menu.js +3 -3
- package/dist/angular/ds-message-bubble.d.ts +12 -0
- package/dist/angular/ds-message-bubble.js +38 -0
- package/dist/angular/ds-message-composer.d.ts +23 -0
- package/dist/angular/ds-message-composer.js +49 -0
- package/dist/angular/ds-message-scroller.d.ts +15 -0
- package/dist/angular/ds-message-scroller.js +43 -0
- package/dist/angular/ds-message.d.ts +12 -0
- package/dist/angular/ds-message.js +38 -0
- package/dist/angular/ds-panel-tool-header.d.ts +25 -0
- package/dist/angular/ds-panel-tool-header.js +49 -0
- package/dist/angular/ds-panel-tool-search.d.ts +19 -0
- package/dist/angular/ds-panel-tool-search.js +49 -0
- package/dist/angular/ds-panel-tools.d.ts +30 -1
- package/dist/angular/ds-panel-tools.js +14 -5
- package/dist/angular/index.d.ts +1 -1
- package/dist/angular/index.js +17 -0
- package/dist/angular/proxies.d.ts +17 -0
- package/dist/angular/proxies.js +17 -0
- package/dist/components/ds-agent-activity.d.ts +11 -0
- package/dist/components/ds-agent-activity.js +2 -0
- package/dist/components/ds-agent-activity.js.map +1 -0
- package/dist/components/ds-agent-response.d.ts +11 -0
- package/dist/components/ds-agent-response.js +2 -0
- package/dist/components/ds-agent-response.js.map +1 -0
- package/dist/components/ds-agent-source-list.d.ts +11 -0
- package/dist/components/ds-agent-source-list.js +2 -0
- package/dist/components/ds-agent-source-list.js.map +1 -0
- package/dist/components/ds-agent-tool-call.d.ts +11 -0
- package/dist/components/ds-agent-tool-call.js +2 -0
- package/dist/components/ds-agent-tool-call.js.map +1 -0
- package/dist/components/ds-app-shell.js +1 -1
- package/dist/components/ds-app-shell.js.map +1 -1
- package/dist/components/ds-attachment-list.d.ts +11 -0
- package/dist/components/ds-attachment-list.js +2 -0
- package/dist/components/ds-attachment-list.js.map +1 -0
- package/dist/components/ds-avatar.d.ts +11 -0
- package/dist/components/ds-avatar.js +2 -0
- package/dist/components/ds-avatar.js.map +1 -0
- package/dist/components/ds-badge.js +1 -1
- package/dist/components/ds-banner.js +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-card-shell-data-viz.js +1 -1
- package/dist/components/ds-card.js +1 -1
- package/dist/components/ds-chart-bar.js +1 -1
- package/dist/components/ds-chart-bar.js.map +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-line.js +1 -1
- package/dist/components/ds-checkbox.js +1 -1
- package/dist/components/ds-chip.js +1 -1
- package/dist/components/ds-code-block.d.ts +11 -0
- package/dist/components/ds-code-block.js +2 -0
- package/dist/components/ds-code-block.js.map +1 -0
- package/dist/components/ds-conversation-list-item.d.ts +11 -0
- package/dist/components/ds-conversation-list-item.js +2 -0
- package/dist/components/ds-conversation-list-item.js.map +1 -0
- package/dist/components/ds-conversation-list-section.d.ts +11 -0
- package/dist/components/ds-conversation-list-section.js +2 -0
- package/dist/components/ds-conversation-list-section.js.map +1 -0
- package/dist/components/ds-conversation-list.d.ts +11 -0
- package/dist/components/ds-conversation-list.js +2 -0
- package/dist/components/ds-conversation-list.js.map +1 -0
- package/dist/components/ds-divider.js +1 -1
- package/dist/components/ds-divider.js.map +1 -1
- package/dist/components/ds-empty-state.js +1 -1
- package/dist/components/ds-field.js +1 -1
- package/dist/components/ds-icon.js +1 -1
- package/dist/components/ds-input.js +1 -1
- package/dist/components/ds-markdown.d.ts +11 -0
- package/dist/components/ds-markdown.js +2 -0
- package/dist/components/ds-markdown.js.map +1 -0
- package/dist/components/ds-menu.js +1 -1
- package/dist/components/ds-message-bubble.d.ts +11 -0
- package/dist/components/ds-message-bubble.js +2 -0
- package/dist/components/ds-message-bubble.js.map +1 -0
- package/dist/components/ds-message-composer.d.ts +11 -0
- package/dist/components/ds-message-composer.js +2 -0
- package/dist/components/ds-message-composer.js.map +1 -0
- package/dist/components/ds-message-scroller.d.ts +11 -0
- package/dist/components/ds-message-scroller.js +2 -0
- package/dist/components/ds-message-scroller.js.map +1 -0
- package/dist/components/ds-message.d.ts +11 -0
- package/dist/components/ds-message.js +2 -0
- package/dist/components/ds-message.js.map +1 -0
- 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-tool-header.d.ts +11 -0
- package/dist/components/ds-panel-tool-header.js +2 -0
- package/dist/components/ds-panel-tool-header.js.map +1 -0
- package/dist/components/ds-panel-tool-search.d.ts +11 -0
- package/dist/components/ds-panel-tool-search.js +2 -0
- package/dist/components/ds-panel-tool-search.js.map +1 -0
- 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-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-slider.js +1 -1
- package/dist/components/ds-slider.js.map +1 -1
- package/dist/components/ds-swatch-picker.js +1 -1
- package/dist/components/ds-switch.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-text.js +1 -1
- package/dist/components/ds-tooltip-data-viz.js +1 -1
- package/dist/components/ds-tooltip.js +1 -1
- package/dist/components/index.d.ts +14 -0
- package/dist/components/p--KbMQblZ.js +2 -0
- package/dist/components/p--KbMQblZ.js.map +1 -0
- package/dist/components/p-2br9YDbG.js +2 -0
- package/dist/components/p-2br9YDbG.js.map +1 -0
- package/dist/components/p-41UAx2eq.js +2 -0
- package/dist/components/p-41UAx2eq.js.map +1 -0
- package/dist/components/{p-HBIxvS5C.js → p-B1pWGQn1.js} +2 -2
- package/dist/components/p-B7NbIYjS.js +2 -0
- package/dist/components/p-B7NbIYjS.js.map +1 -0
- package/dist/components/p-BBu_Svz7.js +2 -0
- package/dist/components/p-BBu_Svz7.js.map +1 -0
- package/dist/components/p-BEQB8EnB.js +2 -0
- package/dist/components/p-BEQB8EnB.js.map +1 -0
- package/dist/components/{p-CZ9wemOA.js → p-BFWC17em.js} +2 -2
- package/dist/components/{p-KRGBGTu5.js → p-BO6C8abO.js} +2 -2
- package/dist/components/{p-CbS_WWs2.js → p-BSOZXagj.js} +2 -2
- package/dist/components/p-BSOZXagj.js.map +1 -0
- package/dist/components/{p-DT2MK8Kt.js → p-BZAEZENv.js} +2 -2
- package/dist/components/p-BhC1YyId.js +2 -0
- package/dist/components/p-BhC1YyId.js.map +1 -0
- package/dist/components/p-BjtXYFhw.js +2 -0
- package/dist/components/p-BjtXYFhw.js.map +1 -0
- package/dist/components/{p-B-zhgAvL.js → p-Bo5wikia.js} +2 -2
- package/dist/components/p-Bx1G7P6W.js +2 -0
- package/dist/components/p-Bx1G7P6W.js.map +1 -0
- package/dist/components/p-C0sq948W.js +2 -0
- package/dist/components/p-C0sq948W.js.map +1 -0
- package/dist/components/p-CC1C8s6m.js +2 -0
- package/dist/components/p-CC1C8s6m.js.map +1 -0
- package/dist/components/p-CKaJx0IX.js +2 -0
- package/dist/components/p-CKaJx0IX.js.map +1 -0
- package/dist/components/{p-DyZj3k9S.js → p-CZMEhdlA.js} +2 -2
- package/dist/components/{p-BbV68F23.js → p-CiwdnKKp.js} +2 -2
- package/dist/components/{p-BLzivrE3.js → p-CnM9SW_8.js} +2 -2
- package/dist/components/{p-C7UFYvsO.js → p-CuKn9I5f.js} +2 -2
- package/dist/components/p-DFMM60My.js +2 -0
- package/dist/components/p-DFMM60My.js.map +1 -0
- package/dist/components/p-DIsDiGcp.js +2 -0
- package/dist/components/p-DIsDiGcp.js.map +1 -0
- package/dist/components/p-DVsje4AY.js +2 -0
- package/dist/components/p-DVsje4AY.js.map +1 -0
- package/dist/components/p-Di-ThR90.js +2 -0
- package/dist/components/p-Di-ThR90.js.map +1 -0
- package/dist/components/{p-C7RObioO.js → p-Di4HBckb.js} +2 -2
- package/dist/components/p-a9nGf1s6.js +2 -0
- package/dist/components/p-a9nGf1s6.js.map +1 -0
- package/dist/components/p-gidVv1FX.js +2 -0
- package/dist/components/p-gidVv1FX.js.map +1 -0
- package/dist/components/p-rEe-3KR_.js +2 -0
- package/dist/components/p-rEe-3KR_.js.map +1 -0
- package/dist/components/p-t9Ei1kHP.js +2 -0
- package/dist/components/p-t9Ei1kHP.js.map +1 -0
- package/dist/docs/components.json +7834 -3899
- package/dist/lib/components/Menu/menu-placement.d.ts +13 -0
- package/dist/lib/shell/index.d.ts +1 -1
- package/dist/lib/shell/index.js +8 -0
- package/dist/lib/shell/index.js.map +2 -2
- package/dist/mcp-data/registry/agent-activity.json +158 -0
- package/dist/mcp-data/registry/agent-response.json +211 -0
- package/dist/mcp-data/registry/agent-source-list.json +153 -0
- package/dist/mcp-data/registry/agent-tool-call.json +213 -0
- package/dist/mcp-data/registry/app-shell.json +2 -2
- package/dist/mcp-data/registry/attachment-list.json +137 -0
- package/dist/mcp-data/registry/avatar.json +136 -0
- package/dist/mcp-data/registry/bar-nav.json +2 -2
- package/dist/mcp-data/registry/code-block.json +150 -0
- package/dist/mcp-data/registry/conversation-list-item.json +265 -0
- package/dist/mcp-data/registry/conversation-list-section.json +139 -0
- package/dist/mcp-data/registry/conversation-list.json +101 -0
- package/dist/mcp-data/registry/markdown.json +141 -0
- package/dist/mcp-data/registry/menu.json +27 -7
- package/dist/mcp-data/registry/message-bubble.json +119 -0
- package/dist/mcp-data/registry/message-composer.json +265 -0
- package/dist/mcp-data/registry/message-scroller.json +217 -0
- package/dist/mcp-data/registry/message.json +255 -0
- package/dist/mcp-data/registry/panel-nav.json +2 -2
- package/dist/mcp-data/registry/panel-tool-header.json +342 -0
- package/dist/mcp-data/registry/panel-tool-search.json +387 -0
- package/dist/mcp-data/registry/panel-tools.json +150 -10
- package/dist/mcp-data/registry/registry.json +2146 -619
- package/dist/mcp-data/registry/select.json +1 -1
- package/dist/mcp-data/registry/slider.json +4 -4
- package/dist/mcp-data/registry/tab-group.json +2 -2
- package/dist/mcp-data/registry/text.json +1 -1
- package/dist/react/components.d.ts +17 -0
- package/dist/react/components.js +17 -0
- package/dist/react/ds-agent-activity.d.ts +9 -0
- package/dist/react/ds-agent-activity.js +12 -0
- package/dist/react/ds-agent-response.d.ts +9 -0
- package/dist/react/ds-agent-response.js +12 -0
- package/dist/react/ds-agent-source-list.d.ts +9 -0
- package/dist/react/ds-agent-source-list.js +12 -0
- package/dist/react/ds-agent-tool-call.d.ts +9 -0
- package/dist/react/ds-agent-tool-call.js +12 -0
- package/dist/react/ds-attachment-list.d.ts +9 -0
- package/dist/react/ds-attachment-list.js +12 -0
- package/dist/react/ds-avatar.d.ts +9 -0
- package/dist/react/ds-avatar.js +12 -0
- package/dist/react/ds-code-block.d.ts +9 -0
- package/dist/react/ds-code-block.js +12 -0
- package/dist/react/ds-conversation-list-item.d.ts +14 -0
- package/dist/react/ds-conversation-list-item.js +12 -0
- package/dist/react/ds-conversation-list-section.d.ts +9 -0
- package/dist/react/ds-conversation-list-section.js +12 -0
- package/dist/react/ds-conversation-list.d.ts +9 -0
- package/dist/react/ds-conversation-list.js +12 -0
- package/dist/react/ds-markdown.d.ts +9 -0
- package/dist/react/ds-markdown.js +12 -0
- package/dist/react/ds-message-bubble.d.ts +9 -0
- package/dist/react/ds-message-bubble.js +12 -0
- package/dist/react/ds-message-composer.d.ts +16 -0
- package/dist/react/ds-message-composer.js +16 -0
- package/dist/react/ds-message-scroller.d.ts +12 -0
- package/dist/react/ds-message-scroller.js +12 -0
- package/dist/react/ds-message.d.ts +9 -0
- package/dist/react/ds-message.js +12 -0
- package/dist/react/ds-panel-tool-header.d.ts +17 -0
- package/dist/react/ds-panel-tool-header.js +16 -0
- package/dist/react/ds-panel-tool-search.d.ts +14 -0
- package/dist/react/ds-panel-tool-search.js +16 -0
- package/dist/react/ds-panel-tools.d.ts +10 -0
- package/dist/react/ds-panel-tools.js +3 -0
- package/dist/types/components/AgentActivity/AgentActivity.d.ts +14 -0
- package/dist/types/components/AgentResponse/AgentResponse.d.ts +12 -0
- package/dist/types/components/AgentSourceList/AgentSourceList.d.ts +9 -0
- package/dist/types/components/AgentToolCall/AgentToolCall.d.ts +13 -0
- package/dist/types/components/AppShell/AppShell.d.ts +4 -0
- package/dist/types/components/AttachmentList/AttachmentList.d.ts +8 -0
- package/dist/types/components/Avatar/Avatar.d.ts +8 -0
- package/dist/types/components/CodeBlock/CodeBlock.d.ts +11 -0
- package/dist/types/components/ConversationList/ConversationList.d.ts +4 -0
- package/dist/types/components/ConversationListItem/ConversationListItem.d.ts +22 -0
- package/dist/types/components/ConversationListSection/ConversationListSection.d.ts +9 -0
- package/dist/types/components/Markdown/Markdown.d.ts +15 -0
- package/dist/types/components/Menu/Menu.d.ts +3 -0
- package/dist/types/components/Menu/menu-placement.d.ts +13 -0
- package/dist/types/components/Menu/menu-types.d.ts +1 -1
- package/dist/types/components/Message/Message.d.ts +17 -0
- package/dist/types/components/MessageBubble/MessageBubble.d.ts +6 -0
- package/dist/types/components/MessageComposer/MessageComposer.d.ts +29 -0
- package/dist/types/components/MessageScroller/MessageScroller.d.ts +37 -0
- package/dist/types/components/PanelNav/PanelNav.d.ts +3 -0
- package/dist/types/components/PanelToolHeader/PanelToolHeader.d.ts +34 -0
- package/dist/types/components/PanelToolSearch/PanelToolSearch.d.ts +35 -0
- package/dist/types/components/PanelTools/PanelTools.d.ts +40 -1
- package/dist/types/components/PanelTools/panel-tools-types.d.ts +20 -0
- package/dist/types/components/PanelTools/panel-tools-utils.d.ts +2 -0
- package/dist/types/components/Slider/Slider.d.ts +1 -1
- package/dist/types/components/conversation-types.d.ts +55 -0
- package/dist/types/components.d.ts +1185 -8
- package/dist/types/shell/index.d.ts +1 -1
- package/dist/types/utils/choice-list-parts.d.ts +4 -1
- package/package.json +4 -1
- package/dist/components/p-CXF8yd-g.js +0 -2
- package/dist/components/p-CXF8yd-g.js.map +0 -1
- package/dist/components/p-CbS_WWs2.js.map +0 -1
- package/dist/components/p-VKIsOVza.js +0 -2
- package/dist/components/p-VKIsOVza.js.map +0 -1
- package/dist/components/p-tQ1QHeOE.js +0 -2
- package/dist/components/p-tQ1QHeOE.js.map +0 -1
- /package/dist/components/{p-HBIxvS5C.js.map → p-B1pWGQn1.js.map} +0 -0
- /package/dist/components/{p-CZ9wemOA.js.map → p-BFWC17em.js.map} +0 -0
- /package/dist/components/{p-KRGBGTu5.js.map → p-BO6C8abO.js.map} +0 -0
- /package/dist/components/{p-DT2MK8Kt.js.map → p-BZAEZENv.js.map} +0 -0
- /package/dist/components/{p-B-zhgAvL.js.map → p-Bo5wikia.js.map} +0 -0
- /package/dist/components/{p-DyZj3k9S.js.map → p-CZMEhdlA.js.map} +0 -0
- /package/dist/components/{p-BbV68F23.js.map → p-CiwdnKKp.js.map} +0 -0
- /package/dist/components/{p-BLzivrE3.js.map → p-CnM9SW_8.js.map} +0 -0
- /package/dist/components/{p-C7UFYvsO.js.map → p-CuKn9I5f.js.map} +0 -0
- /package/dist/components/{p-C7RObioO.js.map → p-Di4HBckb.js.map} +0 -0
|
@@ -0,0 +1,342 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
|
|
3
|
+
"name": "panel-tool-header",
|
|
4
|
+
"title": "PanelToolHeader",
|
|
5
|
+
"description": "Canonical left-aligned PanelTools header with an optional leading navigation or dismiss action and application-owned trailing icon actions.",
|
|
6
|
+
"type": "registry:ui",
|
|
7
|
+
"meta": {
|
|
8
|
+
"library": "@ds-mo/ui",
|
|
9
|
+
"distribution": "npm",
|
|
10
|
+
"storybook": "https://zainadeel.github.io/compomo/?path=/story/panel-tool-header",
|
|
11
|
+
"source": "src/wc/components/PanelToolHeader/PanelToolHeader.tsx",
|
|
12
|
+
"intentStatus": "complete",
|
|
13
|
+
"intent": {
|
|
14
|
+
"audience": "general",
|
|
15
|
+
"status": "experimental",
|
|
16
|
+
"summary": "Canonical left-aligned PanelTools header with an optional leading navigation or dismiss action and application-owned trailing icon actions.",
|
|
17
|
+
"useWhen": [
|
|
18
|
+
"PanelTools needs its one shared root or detail header.",
|
|
19
|
+
"A tool header needs a title with optional Back or Close navigation, menu, fullscreen, or other compact icon actions."
|
|
20
|
+
],
|
|
21
|
+
"avoidWhen": [
|
|
22
|
+
"Rendering inside a PanelTools tool body; PanelTools already composes this canonical header above the body.",
|
|
23
|
+
"The header belongs to page content."
|
|
24
|
+
],
|
|
25
|
+
"commonlyComposedWith": [
|
|
26
|
+
"component:ds-button-unfilled"
|
|
27
|
+
],
|
|
28
|
+
"accessibility": [
|
|
29
|
+
"Leading navigation or dismiss actions and trailing icon actions require concise localized names.",
|
|
30
|
+
"The visible heading names the active panel or subview."
|
|
31
|
+
],
|
|
32
|
+
"states": [
|
|
33
|
+
"The title remains left aligned whether the header has no actions, Back, one trailing action, or several trailing actions.",
|
|
34
|
+
"Leading and trailing control zones never shrink; only the title consumes and truncates within the remaining width, with a fixed 4px gap between zones.",
|
|
35
|
+
"Header chrome text is not selectable; actions remain keyboard focusable and interactive.",
|
|
36
|
+
"Adjacent trailing actions keep the shared 4px control gap in drawer and fullscreen presentations.",
|
|
37
|
+
"When fullscreen and overflow actions appear together, author fullscreen before overflow so Ellipses remains the rightmost action.",
|
|
38
|
+
"PanelTools supplies application-owned actions and relays their ids through its shared dsHeaderAction event."
|
|
39
|
+
],
|
|
40
|
+
"responsiveBehavior": [
|
|
41
|
+
"The title truncates between optional leading navigation and trailing action zones."
|
|
42
|
+
],
|
|
43
|
+
"references": [
|
|
44
|
+
{
|
|
45
|
+
"label": "Standalone examples",
|
|
46
|
+
"path": "src/wc/components/PanelToolHeader/PanelToolHeader.stories.ts"
|
|
47
|
+
}
|
|
48
|
+
]
|
|
49
|
+
},
|
|
50
|
+
"api": {
|
|
51
|
+
"props": {
|
|
52
|
+
"actions": {
|
|
53
|
+
"type": "PanelToolsHeaderAction[]",
|
|
54
|
+
"resolvedType": "PanelToolsHeaderAction[]",
|
|
55
|
+
"default": "[]",
|
|
56
|
+
"required": false,
|
|
57
|
+
"mutable": false,
|
|
58
|
+
"description": "Trailing application-owned icon actions. When present, these replace the legacy menu action."
|
|
59
|
+
},
|
|
60
|
+
"backAriaLabel": {
|
|
61
|
+
"type": "string",
|
|
62
|
+
"resolvedType": "string",
|
|
63
|
+
"attribute": "back-aria-label",
|
|
64
|
+
"default": "'Back'",
|
|
65
|
+
"required": false,
|
|
66
|
+
"mutable": false,
|
|
67
|
+
"description": "Accessible name for the leading navigation or dismiss action."
|
|
68
|
+
},
|
|
69
|
+
"backIcon": {
|
|
70
|
+
"type": "string",
|
|
71
|
+
"resolvedType": "string",
|
|
72
|
+
"attribute": "back-icon",
|
|
73
|
+
"default": "'ChevronLeft'",
|
|
74
|
+
"required": false,
|
|
75
|
+
"mutable": false,
|
|
76
|
+
"description": "Canonical icon for the leading navigation or dismiss action."
|
|
77
|
+
},
|
|
78
|
+
"heading": {
|
|
79
|
+
"type": "string",
|
|
80
|
+
"resolvedType": "string",
|
|
81
|
+
"attribute": "heading",
|
|
82
|
+
"default": "''",
|
|
83
|
+
"required": false,
|
|
84
|
+
"mutable": false,
|
|
85
|
+
"description": "Visible heading for the active tool view."
|
|
86
|
+
},
|
|
87
|
+
"menuAriaLabel": {
|
|
88
|
+
"type": "string",
|
|
89
|
+
"resolvedType": "string",
|
|
90
|
+
"attribute": "menu-aria-label",
|
|
91
|
+
"default": "'More options'",
|
|
92
|
+
"required": false,
|
|
93
|
+
"mutable": false,
|
|
94
|
+
"description": "Accessible name for the options-menu trigger."
|
|
95
|
+
},
|
|
96
|
+
"menuControls": {
|
|
97
|
+
"type": "string | undefined",
|
|
98
|
+
"resolvedType": "string | undefined",
|
|
99
|
+
"attribute": "menu-controls",
|
|
100
|
+
"required": false,
|
|
101
|
+
"mutable": false,
|
|
102
|
+
"description": "Id of the menu controlled by the trigger."
|
|
103
|
+
},
|
|
104
|
+
"menuExpanded": {
|
|
105
|
+
"type": "boolean",
|
|
106
|
+
"resolvedType": "boolean",
|
|
107
|
+
"attribute": "menu-expanded",
|
|
108
|
+
"default": "false",
|
|
109
|
+
"required": false,
|
|
110
|
+
"mutable": false,
|
|
111
|
+
"description": "Whether the controlled menu is open."
|
|
112
|
+
},
|
|
113
|
+
"menuTriggerId": {
|
|
114
|
+
"type": "string",
|
|
115
|
+
"resolvedType": "string",
|
|
116
|
+
"attribute": "menu-trigger-id",
|
|
117
|
+
"default": "''",
|
|
118
|
+
"required": false,
|
|
119
|
+
"mutable": false,
|
|
120
|
+
"description": "Stable id placed on the menu trigger host for ds-menu anchoring."
|
|
121
|
+
},
|
|
122
|
+
"showBack": {
|
|
123
|
+
"type": "boolean",
|
|
124
|
+
"resolvedType": "boolean",
|
|
125
|
+
"attribute": "show-back",
|
|
126
|
+
"default": "false",
|
|
127
|
+
"required": false,
|
|
128
|
+
"mutable": false,
|
|
129
|
+
"description": "Show the leading Back action."
|
|
130
|
+
},
|
|
131
|
+
"showMenu": {
|
|
132
|
+
"type": "boolean",
|
|
133
|
+
"resolvedType": "boolean",
|
|
134
|
+
"attribute": "show-menu",
|
|
135
|
+
"default": "true",
|
|
136
|
+
"required": false,
|
|
137
|
+
"mutable": false,
|
|
138
|
+
"description": "Show the trailing options-menu trigger."
|
|
139
|
+
}
|
|
140
|
+
},
|
|
141
|
+
"events": [
|
|
142
|
+
{
|
|
143
|
+
"name": "dsAction",
|
|
144
|
+
"detail": "{ id: string; originalEvent: MouseEvent }",
|
|
145
|
+
"bubbles": true,
|
|
146
|
+
"cancelable": true,
|
|
147
|
+
"composed": true
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
"name": "dsBack",
|
|
151
|
+
"detail": "MouseEvent",
|
|
152
|
+
"bubbles": true,
|
|
153
|
+
"cancelable": true,
|
|
154
|
+
"composed": true
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"name": "dsMenuToggle",
|
|
158
|
+
"detail": "MouseEvent",
|
|
159
|
+
"bubbles": true,
|
|
160
|
+
"cancelable": true,
|
|
161
|
+
"composed": true
|
|
162
|
+
}
|
|
163
|
+
],
|
|
164
|
+
"methods": [
|
|
165
|
+
{
|
|
166
|
+
"name": "focusMenuTrigger",
|
|
167
|
+
"signature": "focusMenuTrigger() => Promise<void>"
|
|
168
|
+
}
|
|
169
|
+
],
|
|
170
|
+
"slots": []
|
|
171
|
+
},
|
|
172
|
+
"props": {
|
|
173
|
+
"actions": {
|
|
174
|
+
"type": "PanelToolsHeaderAction[]",
|
|
175
|
+
"resolvedType": "PanelToolsHeaderAction[]",
|
|
176
|
+
"default": "[]",
|
|
177
|
+
"required": false,
|
|
178
|
+
"mutable": false,
|
|
179
|
+
"description": "Trailing application-owned icon actions. When present, these replace the legacy menu action."
|
|
180
|
+
},
|
|
181
|
+
"backAriaLabel": {
|
|
182
|
+
"type": "string",
|
|
183
|
+
"resolvedType": "string",
|
|
184
|
+
"attribute": "back-aria-label",
|
|
185
|
+
"default": "'Back'",
|
|
186
|
+
"required": false,
|
|
187
|
+
"mutable": false,
|
|
188
|
+
"description": "Accessible name for the leading navigation or dismiss action."
|
|
189
|
+
},
|
|
190
|
+
"backIcon": {
|
|
191
|
+
"type": "string",
|
|
192
|
+
"resolvedType": "string",
|
|
193
|
+
"attribute": "back-icon",
|
|
194
|
+
"default": "'ChevronLeft'",
|
|
195
|
+
"required": false,
|
|
196
|
+
"mutable": false,
|
|
197
|
+
"description": "Canonical icon for the leading navigation or dismiss action."
|
|
198
|
+
},
|
|
199
|
+
"heading": {
|
|
200
|
+
"type": "string",
|
|
201
|
+
"resolvedType": "string",
|
|
202
|
+
"attribute": "heading",
|
|
203
|
+
"default": "''",
|
|
204
|
+
"required": false,
|
|
205
|
+
"mutable": false,
|
|
206
|
+
"description": "Visible heading for the active tool view."
|
|
207
|
+
},
|
|
208
|
+
"menuAriaLabel": {
|
|
209
|
+
"type": "string",
|
|
210
|
+
"resolvedType": "string",
|
|
211
|
+
"attribute": "menu-aria-label",
|
|
212
|
+
"default": "'More options'",
|
|
213
|
+
"required": false,
|
|
214
|
+
"mutable": false,
|
|
215
|
+
"description": "Accessible name for the options-menu trigger."
|
|
216
|
+
},
|
|
217
|
+
"menuControls": {
|
|
218
|
+
"type": "string | undefined",
|
|
219
|
+
"resolvedType": "string | undefined",
|
|
220
|
+
"attribute": "menu-controls",
|
|
221
|
+
"required": false,
|
|
222
|
+
"mutable": false,
|
|
223
|
+
"description": "Id of the menu controlled by the trigger."
|
|
224
|
+
},
|
|
225
|
+
"menuExpanded": {
|
|
226
|
+
"type": "boolean",
|
|
227
|
+
"resolvedType": "boolean",
|
|
228
|
+
"attribute": "menu-expanded",
|
|
229
|
+
"default": "false",
|
|
230
|
+
"required": false,
|
|
231
|
+
"mutable": false,
|
|
232
|
+
"description": "Whether the controlled menu is open."
|
|
233
|
+
},
|
|
234
|
+
"menuTriggerId": {
|
|
235
|
+
"type": "string",
|
|
236
|
+
"resolvedType": "string",
|
|
237
|
+
"attribute": "menu-trigger-id",
|
|
238
|
+
"default": "''",
|
|
239
|
+
"required": false,
|
|
240
|
+
"mutable": false,
|
|
241
|
+
"description": "Stable id placed on the menu trigger host for ds-menu anchoring."
|
|
242
|
+
},
|
|
243
|
+
"showBack": {
|
|
244
|
+
"type": "boolean",
|
|
245
|
+
"resolvedType": "boolean",
|
|
246
|
+
"attribute": "show-back",
|
|
247
|
+
"default": "false",
|
|
248
|
+
"required": false,
|
|
249
|
+
"mutable": false,
|
|
250
|
+
"description": "Show the leading Back action."
|
|
251
|
+
},
|
|
252
|
+
"showMenu": {
|
|
253
|
+
"type": "boolean",
|
|
254
|
+
"resolvedType": "boolean",
|
|
255
|
+
"attribute": "show-menu",
|
|
256
|
+
"default": "true",
|
|
257
|
+
"required": false,
|
|
258
|
+
"mutable": false,
|
|
259
|
+
"description": "Show the trailing options-menu trigger."
|
|
260
|
+
}
|
|
261
|
+
},
|
|
262
|
+
"events": [
|
|
263
|
+
{
|
|
264
|
+
"name": "dsAction",
|
|
265
|
+
"detail": "{ id: string; originalEvent: MouseEvent }",
|
|
266
|
+
"bubbles": true,
|
|
267
|
+
"cancelable": true,
|
|
268
|
+
"composed": true
|
|
269
|
+
},
|
|
270
|
+
{
|
|
271
|
+
"name": "dsBack",
|
|
272
|
+
"detail": "MouseEvent",
|
|
273
|
+
"bubbles": true,
|
|
274
|
+
"cancelable": true,
|
|
275
|
+
"composed": true
|
|
276
|
+
},
|
|
277
|
+
{
|
|
278
|
+
"name": "dsMenuToggle",
|
|
279
|
+
"detail": "MouseEvent",
|
|
280
|
+
"bubbles": true,
|
|
281
|
+
"cancelable": true,
|
|
282
|
+
"composed": true
|
|
283
|
+
}
|
|
284
|
+
],
|
|
285
|
+
"methods": [
|
|
286
|
+
{
|
|
287
|
+
"name": "focusMenuTrigger",
|
|
288
|
+
"signature": "focusMenuTrigger() => Promise<void>"
|
|
289
|
+
}
|
|
290
|
+
],
|
|
291
|
+
"slots": [],
|
|
292
|
+
"exports": {
|
|
293
|
+
"customElement": "ds-panel-tool-header",
|
|
294
|
+
"react": "DsPanelToolHeader",
|
|
295
|
+
"angular": "DsPanelToolHeader"
|
|
296
|
+
},
|
|
297
|
+
"consumption": {
|
|
298
|
+
"install": "npm install @ds-mo/ui @ds-mo/tokens @ds-mo/icons",
|
|
299
|
+
"cssSetup": "import '@ds-mo/tokens';\nimport '@ds-mo/tokens/reset';\nimport '@ds-mo/tokens/globals';",
|
|
300
|
+
"customElements": {
|
|
301
|
+
"import": "import '@ds-mo/ui/dist/components/ds-panel-tool-header.js';",
|
|
302
|
+
"example": "<ds-panel-tool-header></ds-panel-tool-header>"
|
|
303
|
+
},
|
|
304
|
+
"react": {
|
|
305
|
+
"import": "import { DsPanelToolHeader } from '@ds-mo/ui/react';",
|
|
306
|
+
"example": "<DsPanelToolHeader />"
|
|
307
|
+
},
|
|
308
|
+
"angular": {
|
|
309
|
+
"import": "import { DsPanelToolHeader } from '@ds-mo/ui/angular/ds-panel-tool-header';",
|
|
310
|
+
"example": "<ds-panel-tool-header></ds-panel-tool-header>"
|
|
311
|
+
},
|
|
312
|
+
"complexPropertyNote": "Assign these non-primitive values as JavaScript properties: actions.",
|
|
313
|
+
"peerDependencies": {
|
|
314
|
+
"required": [
|
|
315
|
+
"@ds-mo/tokens ^3.1.1",
|
|
316
|
+
"@ds-mo/icons ^6.2.0"
|
|
317
|
+
],
|
|
318
|
+
"frameworks": "Custom Elements; React 18/19 wrappers; Angular 19-22 standalone adapters."
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
},
|
|
322
|
+
"dependencies": [
|
|
323
|
+
"@ds-mo/ui",
|
|
324
|
+
"@ds-mo/tokens"
|
|
325
|
+
],
|
|
326
|
+
"registryDependencies": [
|
|
327
|
+
"button-unfilled",
|
|
328
|
+
"text"
|
|
329
|
+
],
|
|
330
|
+
"files": [
|
|
331
|
+
{
|
|
332
|
+
"path": "src/wc/components/PanelToolHeader/PanelToolHeader.css",
|
|
333
|
+
"content": "@import '../../utils/control-density.css';\n\n:host {\n display: block;\n flex: 0 0 auto;\n box-sizing: border-box;\n}\n\n.panel-tool-header {\n display: flex;\n align-items: center;\n gap: var(--dimension-space-050);\n height: var(--dimension-size-600);\n padding: var(--dimension-space-100);\n box-sizing: border-box;\n border-bottom: var(--dimension-stroke-width-012) solid var(--color-border-tertiary);\n color: var(--color-foreground-primary);\n -webkit-user-select: none;\n user-select: none;\n}\n\n.panel-tool-header__leading,\n.panel-tool-header__trailing {\n display: flex;\n align-items: center;\n min-width: 0;\n}\n\n.panel-tool-header__leading:empty,\n.panel-tool-header__trailing:empty {\n display: none;\n}\n\n.panel-tool-header__leading {\n flex: 0 0 auto;\n}\n\n.panel-tool-header__trailing {\n flex: 0 0 auto;\n gap: var(--dimension-space-050);\n justify-content: flex-end;\n}\n\nds-text.panel-tool-header__heading {\n display: inline-flex;\n flex: 1 1 0;\n align-items: center;\n width: auto;\n min-width: 0;\n height: var(--ds-control-height);\n padding-inline: calc(var(--ds-control-padding-inline) + var(--ds-control-label-inset));\n box-sizing: border-box;\n text-align: left;\n -webkit-user-select: none;\n user-select: none;\n}\n",
|
|
334
|
+
"type": "registry:ui"
|
|
335
|
+
},
|
|
336
|
+
{
|
|
337
|
+
"path": "src/wc/components/PanelToolHeader/PanelToolHeader.tsx",
|
|
338
|
+
"content": "import { Component, Element, Event, EventEmitter, h, Host, Method, Prop } from '@stencil/core';\nimport type { PanelToolsHeaderAction } from '../PanelTools/panel-tools-types';\n\n@Component({\n tag: 'ds-panel-tool-header',\n styleUrl: 'PanelToolHeader.css',\n scoped: true,\n})\nexport class PanelToolHeader {\n @Element() el!: HTMLElement;\n\n /** Visible heading for the active tool view. */\n @Prop() heading: string = '';\n /** Show the leading Back action. */\n @Prop() showBack: boolean = false;\n /** Canonical icon for the leading navigation or dismiss action. */\n @Prop() backIcon: string = 'ChevronLeft';\n /** Accessible name for the leading navigation or dismiss action. */\n @Prop() backAriaLabel: string = 'Back';\n /** Show the trailing options-menu trigger. */\n @Prop() showMenu: boolean = true;\n /** Accessible name for the options-menu trigger. */\n @Prop() menuAriaLabel: string = 'More options';\n /** Stable id placed on the menu trigger host for ds-menu anchoring. */\n @Prop() menuTriggerId: string = '';\n /** Id of the menu controlled by the trigger. */\n @Prop() menuControls: string | undefined;\n /** Whether the controlled menu is open. */\n @Prop() menuExpanded: boolean = false;\n /** Trailing application-owned icon actions. When present, these replace the legacy menu action. */\n @Prop() actions: PanelToolsHeaderAction[] = [];\n\n @Event() dsBack!: EventEmitter<MouseEvent>;\n @Event() dsMenuToggle!: EventEmitter<MouseEvent>;\n @Event() dsAction!: EventEmitter<{ id: string; originalEvent: MouseEvent }>;\n\n @Method()\n async focusMenuTrigger() {\n const trigger = this.el.querySelector(\n 'ds-button-unfilled.panel-tool-header__menu, ds-button-unfilled[data-header-action-id=\"menu\"]'\n ) as (HTMLElement & { setFocus?: () => Promise<void> }) | null;\n await trigger?.setFocus?.();\n }\n\n render() {\n const authoredActions = this.actions.length > 0;\n const actions: PanelToolsHeaderAction[] = authoredActions\n ? this.actions\n : this.showMenu\n ? [\n {\n id: 'menu',\n icon: 'Ellipses',\n ariaLabel: this.menuAriaLabel,\n triggerId: this.menuTriggerId,\n controls: this.menuControls,\n expanded: this.menuExpanded,\n haspopup: 'menu',\n },\n ]\n : [];\n\n return (\n <Host>\n <header class=\"panel-tool-header\">\n <div class=\"panel-tool-header__leading\">\n {this.showBack ? (\n <ds-button-unfilled\n class=\"panel-tool-header__back\"\n variant=\"icon\"\n icon={this.backIcon}\n size=\"md\"\n aria-label={this.backAriaLabel}\n activeFill={false}\n hasBorder={false}\n onDsClick={(event: CustomEvent<MouseEvent>) => this.dsBack.emit(event.detail)}\n />\n ) : null}\n </div>\n <ds-text\n class=\"panel-tool-header__heading ds-control--md\"\n as=\"h2\"\n variant=\"text-body-medium\"\n emphasis\n color=\"primary\"\n lineTruncation={1}\n >\n {this.heading}\n </ds-text>\n <div class=\"panel-tool-header__trailing\">\n {actions.map(action => (\n <ds-button-unfilled\n key={action.id}\n id={action.triggerId || undefined}\n data-header-action-id={action.id}\n class={{\n 'panel-tool-header__action': true,\n 'panel-tool-header__menu': action.id === 'menu',\n }}\n variant=\"icon\"\n icon={action.icon}\n size=\"md\"\n aria-label={action.ariaLabel}\n haspopup={action.haspopup}\n controls={action.controls}\n expanded={action.expanded}\n pressed={action.pressed}\n isInactive={action.isInactive}\n activeFill={false}\n hasBorder={false}\n onDsClick={(event: CustomEvent<MouseEvent>) => {\n if (!authoredActions && action.id === 'menu')\n this.dsMenuToggle.emit(event.detail);\n this.dsAction.emit({ id: action.id, originalEvent: event.detail });\n }}\n />\n ))}\n </div>\n </header>\n </Host>\n );\n }\n}\n",
|
|
339
|
+
"type": "registry:ui"
|
|
340
|
+
}
|
|
341
|
+
]
|
|
342
|
+
}
|