@ds-mo/ui 9.0.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/README.md +28 -0
- package/dist/.build-stamp +1 -1
- package/dist/agent-patterns.json +397 -0
- package/dist/agent.json +2347 -735
- 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 +6 -1
- package/dist/angular/ds-menu.js +7 -4
- 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/ds-swatch-picker.d.ts +15 -0
- package/dist/angular/ds-swatch-picker.js +42 -0
- package/dist/angular/index.d.ts +1 -1
- package/dist/angular/index.js +18 -0
- package/dist/angular/proxies.d.ts +18 -0
- package/dist/angular/proxies.js +18 -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-shell-gradient-swatch.js.map +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.d.ts +11 -0
- package/dist/components/ds-swatch-picker.js +2 -0
- package/dist/components/ds-swatch-picker.js.map +1 -0
- 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-B1pWGQn1.js +2 -0
- package/dist/components/p-B1pWGQn1.js.map +1 -0
- 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-D1HFMTdC.js +2 -0
- package/dist/components/p-D1HFMTdC.js.map +1 -0
- 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-l6PmnW_P.js +2 -0
- package/dist/components/p-l6PmnW_P.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 +8097 -3924
- package/dist/lib/components/Menu/menu-placement.d.ts +19 -3
- package/dist/lib/shell/index.d.ts +3 -3
- package/dist/lib/shell/index.js +48 -39
- package/dist/lib/shell/index.js.map +3 -3
- package/dist/lib/shell/shell-gradient-presets.d.ts +15 -0
- package/dist/lib/utils/choice-popup-alignment.d.ts +20 -0
- package/dist/lib/utils/index.d.ts +2 -0
- package/dist/lib/utils/index.js +16 -0
- package/dist/lib/utils/index.js.map +3 -3
- package/dist/mcp/cli.js +31409 -0
- 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 +210 -0
- package/dist/mcp-data/registry/attachment-list.json +137 -0
- package/dist/mcp-data/registry/avatar.json +136 -0
- package/dist/mcp-data/registry/badge.json +289 -0
- package/dist/mcp-data/registry/banner.json +206 -0
- package/dist/mcp-data/registry/bar-nav.json +341 -0
- package/dist/mcp-data/registry/button-filled.json +386 -0
- package/dist/mcp-data/registry/button-unfilled.json +537 -0
- package/dist/mcp-data/registry/card-data-viz-donut.json +143 -0
- package/dist/mcp-data/registry/card-setting.json +194 -0
- package/dist/mcp-data/registry/card-shell-data-viz.json +173 -0
- package/dist/mcp-data/registry/card.json +126 -0
- package/dist/mcp-data/registry/chart-bar.json +121 -0
- package/dist/mcp-data/registry/chart-donut.json +257 -0
- package/dist/mcp-data/registry/chart-legend.json +209 -0
- package/dist/mcp-data/registry/chart-line.json +153 -0
- package/dist/mcp-data/registry/checkbox.json +361 -0
- package/dist/mcp-data/registry/chip.json +276 -0
- 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/divider.json +225 -0
- package/dist/mcp-data/registry/empty-state.json +197 -0
- package/dist/mcp-data/registry/field.json +222 -0
- package/dist/mcp-data/registry/icon.json +242 -0
- package/dist/mcp-data/registry/input.json +597 -0
- package/dist/mcp-data/registry/loader.json +192 -0
- package/dist/mcp-data/registry/markdown.json +141 -0
- package/dist/mcp-data/registry/menu.json +479 -0
- 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/modal.json +150 -0
- package/dist/mcp-data/registry/panel-nav.json +622 -0
- package/dist/mcp-data/registry/panel-sub-nav.json +249 -0
- 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 +514 -0
- package/dist/mcp-data/registry/radio.json +374 -0
- package/dist/mcp-data/registry/registry.json +6916 -0
- package/dist/mcp-data/registry/select-multi.json +755 -0
- package/dist/mcp-data/registry/select.json +740 -0
- package/dist/mcp-data/registry/shell-gradient-picker.json +195 -0
- package/dist/mcp-data/registry/shell-gradient-swatch.json +215 -0
- package/dist/mcp-data/registry/skeleton.json +282 -0
- package/dist/mcp-data/registry/slider.json +657 -0
- package/dist/mcp-data/registry/swatch-picker.json +231 -0
- package/dist/mcp-data/registry/switch.json +361 -0
- package/dist/mcp-data/registry/tab-group.json +255 -0
- package/dist/mcp-data/registry/tag.json +352 -0
- package/dist/mcp-data/registry/text.json +371 -0
- package/dist/mcp-data/registry/tooltip-data-viz.json +158 -0
- package/dist/mcp-data/registry/tooltip.json +311 -0
- package/dist/react/components.d.ts +18 -0
- package/dist/react/components.js +18 -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-menu.d.ts +1 -0
- package/dist/react/ds-menu.js +2 -1
- 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/react/ds-swatch-picker.d.ts +12 -0
- package/dist/react/ds-swatch-picker.js +12 -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 +10 -1
- package/dist/types/components/Menu/menu-placement.d.ts +19 -3
- package/dist/types/components/Menu/menu-types.d.ts +15 -2
- 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/ShellGradientPicker/ShellGradientPicker.d.ts +2 -5
- package/dist/types/components/ShellGradientSwatch/ShellGradientSwatch.d.ts +1 -0
- package/dist/types/components/Slider/Slider.d.ts +1 -1
- package/dist/types/components/SwatchPicker/SwatchPicker.d.ts +21 -0
- package/dist/types/components/SwatchPicker/swatch-picker-types.d.ts +26 -0
- package/dist/types/components/conversation-types.d.ts +55 -0
- package/dist/types/components.d.ts +1298 -4
- package/dist/types/shell/index.d.ts +3 -3
- package/dist/types/shell/shell-gradient-presets.d.ts +15 -0
- package/dist/types/utils/choice-list-parts.d.ts +4 -1
- package/dist/types/utils/choice-popup-alignment.d.ts +21 -0
- package/dist/types/utils/index.d.ts +2 -0
- package/package.json +9 -2
- package/dist/components/p-Bafp65bw.js +0 -2
- package/dist/components/p-Bafp65bw.js.map +0 -1
- package/dist/components/p-BdnR3jxi.js +0 -2
- package/dist/components/p-BdnR3jxi.js.map +0 -1
- package/dist/components/p-CXF8yd-g.js +0 -2
- package/dist/components/p-CXF8yd-g.js.map +0 -1
- package/dist/components/p-C_cu-HIT.js +0 -2
- package/dist/components/p-C_cu-HIT.js.map +0 -1
- package/dist/components/p-CbS_WWs2.js.map +0 -1
- package/dist/components/p-D0B9uDTP.js +0 -2
- package/dist/components/p-D0B9uDTP.js.map +0 -1
- package/dist/components/p-DF0yLZG_.js +0 -2
- package/dist/components/p-DF0yLZG_.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-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,276 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
|
|
3
|
+
"name": "chip",
|
|
4
|
+
"title": "Chip",
|
|
5
|
+
"description": "Always-removable metadata value for primary surfaces, with semantic value status and parent-owned removal.",
|
|
6
|
+
"type": "registry:ui",
|
|
7
|
+
"meta": {
|
|
8
|
+
"library": "@ds-mo/ui",
|
|
9
|
+
"distribution": "npm",
|
|
10
|
+
"storybook": "https://zainadeel.github.io/compomo/?path=/story/chip",
|
|
11
|
+
"source": "src/wc/components/Chip/Chip.tsx",
|
|
12
|
+
"intentStatus": "complete",
|
|
13
|
+
"intent": {
|
|
14
|
+
"audience": "general",
|
|
15
|
+
"status": "stable",
|
|
16
|
+
"summary": "Always-removable metadata value for primary surfaces, with semantic value status and parent-owned removal.",
|
|
17
|
+
"useWhen": [
|
|
18
|
+
"A user-applied value such as a filter, recipient, or tokenized input entry must remain visible and individually removable.",
|
|
19
|
+
"A compact metadata value needs a semantic neutral, active, error, or caution status before removal.",
|
|
20
|
+
"A collection owner can remove the represented value and restore focus after the dismiss action."
|
|
21
|
+
],
|
|
22
|
+
"avoidWhen": [
|
|
23
|
+
"The label is static or not individually removable; use Tag instead.",
|
|
24
|
+
"The control selects, toggles, or navigates; use the matching button or navigation component.",
|
|
25
|
+
"The information is a persistent status, count, or unread indicator; use Badge or an appropriate status composition instead.",
|
|
26
|
+
"The chip would be placed on any surface other than a primary surface."
|
|
27
|
+
],
|
|
28
|
+
"alternatives": [
|
|
29
|
+
{
|
|
30
|
+
"when": "The metadata label is static and has no dismiss action.",
|
|
31
|
+
"component": "component:ds-tag",
|
|
32
|
+
"reason": "Tag owns non-interactive taxonomy and metadata labels."
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"when": "The compact mark communicates a count, status, or unread indicator.",
|
|
36
|
+
"component": "component:ds-badge",
|
|
37
|
+
"reason": "Badge owns supplemental counters and status marks without a dismiss action."
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"when": "The value is a selectable or persistent toggle.",
|
|
41
|
+
"component": "component:ds-button-unfilled",
|
|
42
|
+
"reason": "ButtonUnfilled owns command and toggle semantics."
|
|
43
|
+
}
|
|
44
|
+
],
|
|
45
|
+
"commonlyComposedWith": [
|
|
46
|
+
"component:ds-input",
|
|
47
|
+
"component:ds-select"
|
|
48
|
+
],
|
|
49
|
+
"accessibility": [
|
|
50
|
+
"Keep the visible label meaningful without relying on semantic color alone.",
|
|
51
|
+
"Give the dismiss action a name that identifies the represented value.",
|
|
52
|
+
"After removal, the parent moves focus to the next chip, then the previous chip, or the owning collection or input trigger when no chips remain.",
|
|
53
|
+
"Inactive chips remain visible while their dismiss action is disabled and removed from keyboard interaction."
|
|
54
|
+
],
|
|
55
|
+
"states": [
|
|
56
|
+
"Semantic state describes the represented value; active does not mean selected or pressed.",
|
|
57
|
+
"The dismiss action is the chip's only interaction, and the parent owns data mutation after dsRemove.",
|
|
58
|
+
"Long labels remain on one line and truncate only when the consuming layout supplies a maximum width; otherwise the chip sizes to its content.",
|
|
59
|
+
"Rounded shape is a visual choice and does not change semantics or interaction.",
|
|
60
|
+
"Chip is designed only for primary surfaces and has no surface-context API."
|
|
61
|
+
],
|
|
62
|
+
"responsiveBehavior": [
|
|
63
|
+
"The parent chooses chip size and owns wrapping, overflow, and collection condensation.",
|
|
64
|
+
"Chip does not automatically resize, hide, or collapse its label at responsive breakpoints."
|
|
65
|
+
],
|
|
66
|
+
"frameworkCaveats": {
|
|
67
|
+
"customElements": [
|
|
68
|
+
"dsRemove has no payload; associate each rendered chip with its owning value and remove that value from the event handler."
|
|
69
|
+
],
|
|
70
|
+
"react": [
|
|
71
|
+
"Use the rendered chip's bound item context in the dsRemove handler, then restore focus after the collection rerenders."
|
|
72
|
+
],
|
|
73
|
+
"angular": [
|
|
74
|
+
"Use the rendered chip's bound item context in the dsRemove handler, then restore focus after the collection rerenders."
|
|
75
|
+
]
|
|
76
|
+
},
|
|
77
|
+
"references": [
|
|
78
|
+
{
|
|
79
|
+
"label": "Storybook examples",
|
|
80
|
+
"path": "src/wc/components/Chip/Chip.stories.ts"
|
|
81
|
+
}
|
|
82
|
+
]
|
|
83
|
+
},
|
|
84
|
+
"api": {
|
|
85
|
+
"props": {
|
|
86
|
+
"isInactive": {
|
|
87
|
+
"type": "boolean",
|
|
88
|
+
"resolvedType": "boolean",
|
|
89
|
+
"attribute": "is-inactive",
|
|
90
|
+
"default": "false",
|
|
91
|
+
"required": false,
|
|
92
|
+
"mutable": false
|
|
93
|
+
},
|
|
94
|
+
"label": {
|
|
95
|
+
"type": "string",
|
|
96
|
+
"resolvedType": "string",
|
|
97
|
+
"attribute": "label",
|
|
98
|
+
"required": true,
|
|
99
|
+
"mutable": false
|
|
100
|
+
},
|
|
101
|
+
"maxWidth": {
|
|
102
|
+
"type": "string | number | undefined",
|
|
103
|
+
"resolvedType": "number | string | undefined",
|
|
104
|
+
"attribute": "max-width",
|
|
105
|
+
"required": false,
|
|
106
|
+
"mutable": false
|
|
107
|
+
},
|
|
108
|
+
"removeLabel": {
|
|
109
|
+
"type": "string",
|
|
110
|
+
"resolvedType": "string",
|
|
111
|
+
"attribute": "remove-label",
|
|
112
|
+
"default": "'Remove {label}'",
|
|
113
|
+
"required": false,
|
|
114
|
+
"mutable": false,
|
|
115
|
+
"description": "Accessible remove action. Use `{label}` as the chip-label placeholder."
|
|
116
|
+
},
|
|
117
|
+
"rounded": {
|
|
118
|
+
"type": "boolean",
|
|
119
|
+
"resolvedType": "boolean",
|
|
120
|
+
"attribute": "rounded",
|
|
121
|
+
"default": "false",
|
|
122
|
+
"required": false,
|
|
123
|
+
"mutable": false
|
|
124
|
+
},
|
|
125
|
+
"size": {
|
|
126
|
+
"type": "ChipSize",
|
|
127
|
+
"resolvedType": "\"md\" | \"sm\" | \"xs\"",
|
|
128
|
+
"attribute": "size",
|
|
129
|
+
"default": "'md'",
|
|
130
|
+
"required": false,
|
|
131
|
+
"mutable": false
|
|
132
|
+
},
|
|
133
|
+
"state": {
|
|
134
|
+
"type": "ChipState",
|
|
135
|
+
"resolvedType": "\"active\" | \"caution\" | \"default\" | \"error\"",
|
|
136
|
+
"attribute": "state",
|
|
137
|
+
"default": "'default'",
|
|
138
|
+
"required": false,
|
|
139
|
+
"mutable": false,
|
|
140
|
+
"description": "Semantic color state."
|
|
141
|
+
}
|
|
142
|
+
},
|
|
143
|
+
"events": [
|
|
144
|
+
{
|
|
145
|
+
"name": "dsRemove",
|
|
146
|
+
"detail": "void",
|
|
147
|
+
"bubbles": true,
|
|
148
|
+
"cancelable": true,
|
|
149
|
+
"composed": true,
|
|
150
|
+
"description": "Fired when the remove button is clicked."
|
|
151
|
+
}
|
|
152
|
+
],
|
|
153
|
+
"methods": [],
|
|
154
|
+
"slots": []
|
|
155
|
+
},
|
|
156
|
+
"props": {
|
|
157
|
+
"isInactive": {
|
|
158
|
+
"type": "boolean",
|
|
159
|
+
"resolvedType": "boolean",
|
|
160
|
+
"attribute": "is-inactive",
|
|
161
|
+
"default": "false",
|
|
162
|
+
"required": false,
|
|
163
|
+
"mutable": false
|
|
164
|
+
},
|
|
165
|
+
"label": {
|
|
166
|
+
"type": "string",
|
|
167
|
+
"resolvedType": "string",
|
|
168
|
+
"attribute": "label",
|
|
169
|
+
"required": true,
|
|
170
|
+
"mutable": false
|
|
171
|
+
},
|
|
172
|
+
"maxWidth": {
|
|
173
|
+
"type": "string | number | undefined",
|
|
174
|
+
"resolvedType": "number | string | undefined",
|
|
175
|
+
"attribute": "max-width",
|
|
176
|
+
"required": false,
|
|
177
|
+
"mutable": false
|
|
178
|
+
},
|
|
179
|
+
"removeLabel": {
|
|
180
|
+
"type": "string",
|
|
181
|
+
"resolvedType": "string",
|
|
182
|
+
"attribute": "remove-label",
|
|
183
|
+
"default": "'Remove {label}'",
|
|
184
|
+
"required": false,
|
|
185
|
+
"mutable": false,
|
|
186
|
+
"description": "Accessible remove action. Use `{label}` as the chip-label placeholder."
|
|
187
|
+
},
|
|
188
|
+
"rounded": {
|
|
189
|
+
"type": "boolean",
|
|
190
|
+
"resolvedType": "boolean",
|
|
191
|
+
"attribute": "rounded",
|
|
192
|
+
"default": "false",
|
|
193
|
+
"required": false,
|
|
194
|
+
"mutable": false
|
|
195
|
+
},
|
|
196
|
+
"size": {
|
|
197
|
+
"type": "ChipSize",
|
|
198
|
+
"resolvedType": "\"md\" | \"sm\" | \"xs\"",
|
|
199
|
+
"attribute": "size",
|
|
200
|
+
"default": "'md'",
|
|
201
|
+
"required": false,
|
|
202
|
+
"mutable": false
|
|
203
|
+
},
|
|
204
|
+
"state": {
|
|
205
|
+
"type": "ChipState",
|
|
206
|
+
"resolvedType": "\"active\" | \"caution\" | \"default\" | \"error\"",
|
|
207
|
+
"attribute": "state",
|
|
208
|
+
"default": "'default'",
|
|
209
|
+
"required": false,
|
|
210
|
+
"mutable": false,
|
|
211
|
+
"description": "Semantic color state."
|
|
212
|
+
}
|
|
213
|
+
},
|
|
214
|
+
"events": [
|
|
215
|
+
{
|
|
216
|
+
"name": "dsRemove",
|
|
217
|
+
"detail": "void",
|
|
218
|
+
"bubbles": true,
|
|
219
|
+
"cancelable": true,
|
|
220
|
+
"composed": true,
|
|
221
|
+
"description": "Fired when the remove button is clicked."
|
|
222
|
+
}
|
|
223
|
+
],
|
|
224
|
+
"methods": [],
|
|
225
|
+
"slots": [],
|
|
226
|
+
"exports": {
|
|
227
|
+
"customElement": "ds-chip",
|
|
228
|
+
"react": "DsChip",
|
|
229
|
+
"angular": "DsChip"
|
|
230
|
+
},
|
|
231
|
+
"consumption": {
|
|
232
|
+
"install": "npm install @ds-mo/ui @ds-mo/tokens @ds-mo/icons",
|
|
233
|
+
"cssSetup": "import '@ds-mo/tokens';\nimport '@ds-mo/tokens/reset';\nimport '@ds-mo/tokens/globals';",
|
|
234
|
+
"customElements": {
|
|
235
|
+
"import": "import '@ds-mo/ui/dist/components/ds-chip.js';",
|
|
236
|
+
"example": "<ds-chip></ds-chip>"
|
|
237
|
+
},
|
|
238
|
+
"react": {
|
|
239
|
+
"import": "import { DsChip } from '@ds-mo/ui/react';",
|
|
240
|
+
"example": "<DsChip />"
|
|
241
|
+
},
|
|
242
|
+
"angular": {
|
|
243
|
+
"import": "import { DsChip } from '@ds-mo/ui/angular/ds-chip';",
|
|
244
|
+
"example": "<ds-chip></ds-chip>"
|
|
245
|
+
},
|
|
246
|
+
"peerDependencies": {
|
|
247
|
+
"required": [
|
|
248
|
+
"@ds-mo/tokens ^3.1.1",
|
|
249
|
+
"@ds-mo/icons ^6.2.0"
|
|
250
|
+
],
|
|
251
|
+
"frameworks": "Custom Elements; React 18/19 wrappers; Angular 19-22 standalone adapters."
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
},
|
|
255
|
+
"dependencies": [
|
|
256
|
+
"@ds-mo/ui",
|
|
257
|
+
"@ds-mo/tokens",
|
|
258
|
+
"@ds-mo/icons"
|
|
259
|
+
],
|
|
260
|
+
"registryDependencies": [
|
|
261
|
+
"icon",
|
|
262
|
+
"text"
|
|
263
|
+
],
|
|
264
|
+
"files": [
|
|
265
|
+
{
|
|
266
|
+
"path": "src/wc/components/Chip/Chip.css",
|
|
267
|
+
"content": "@import '../../utils/tag-chip.css';\n\n/*\n * Semantic state colors — Chip’s differentiator from Tag.\n * All states use the faint contrast weight; hue comes from the state.\n */\n:host(.chip--default) {\n background-color: var(--color-background-faint-neutral);\n color: var(--color-foreground-bold-neutral);\n}\n\n:host(.chip--active) {\n background-color: var(--color-background-faint-brand);\n color: var(--color-foreground-bold-brand);\n}\n\n:host(.chip--error) {\n background-color: var(--color-background-faint-negative);\n color: var(--color-foreground-bold-negative);\n}\n\n:host(.chip--caution) {\n background-color: var(--color-background-faint-caution);\n color: var(--color-foreground-bold-caution);\n}\n\n/*\n * Label↔dismiss uses host gap, mirroring Tag icon↔label spacing:\n * [inset][text][inset][gap][icon].\n */\n.tag__remove {\n padding: 0;\n margin: 0;\n border: none;\n background: none;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n color: inherit;\n flex-shrink: 0;\n position: relative;\n z-index: 2;\n border-radius: var(--dimension-radius-half);\n}\n\n.tag__remove::before {\n content: '';\n position: absolute;\n inset: var(--dimension-space-n025);\n border-radius: var(--dimension-radius-half);\n background-color: transparent;\n transition: var(--effect-transition-interaction-background-short-2);\n pointer-events: none;\n}\n\n.tag__remove:hover::before {\n background-color: var(--color-interaction-hover);\n}\n\n.tag__remove:active::before {\n background-color: var(--color-interaction-pressed);\n}\n\n:host(.tag--size-sm) .tag__remove::before {\n inset: var(--dimension-space-n012);\n}\n\n:host(.tag--size-xs) .tag__remove::before {\n inset: 0;\n}\n\n.tag__remove-x {\n display: inline-flex;\n flex-shrink: 0;\n width: var(--ds-control-icon);\n height: var(--ds-control-icon);\n}\n",
|
|
268
|
+
"type": "registry:ui"
|
|
269
|
+
},
|
|
270
|
+
{
|
|
271
|
+
"path": "src/wc/components/Chip/Chip.tsx",
|
|
272
|
+
"content": "import { Component, Prop, Event, EventEmitter, h, Host } from '@stencil/core';\nimport { CONTROL_TEXT_VARIANT } from '../../utils';\n\n/**\n * Semantic chip state — replaces Tag’s intent × contrast matrix.\n * - `default` — neutral faint\n * - `active` — brand faint\n * - `error` — negative faint\n * - `caution` — caution faint\n */\nexport type ChipState = 'default' | 'active' | 'error' | 'caution';\nexport type ChipSize = 'md' | 'sm' | 'xs';\n\n/** Dismiss `ds-icon` size — same iconography metrics as Tag’s leading icon. */\nconst ICON_SIZE: Record<ChipSize, 'md' | 'sm' | 'xs'> = {\n md: 'md',\n sm: 'sm',\n xs: 'xs',\n};\n\n/**\n * Removable chip — same density recipe as Tag, but colored by semantic `state`\n * (not intent × contrast). Not a toggle/select control; the only intentional\n * action is remove.\n */\n@Component({\n tag: 'ds-chip',\n styleUrl: 'Chip.css',\n scoped: true,\n})\nexport class Chip {\n @Prop() label!: string;\n /** Semantic color state. @default 'default' */\n @Prop() state: ChipState = 'default';\n @Prop() size: ChipSize = 'md';\n @Prop() rounded: boolean = false;\n @Prop() maxWidth: string | number | undefined;\n @Prop() isInactive: boolean = false;\n /** Accessible remove action. Use `{label}` as the chip-label placeholder. */\n @Prop() removeLabel: string = 'Remove {label}';\n\n /** Fired when the remove button is clicked. */\n @Event() dsRemove!: EventEmitter<void>;\n\n private handleRemove = (e: MouseEvent) => {\n e.stopPropagation();\n if (this.isInactive) return;\n this.dsRemove.emit();\n };\n\n render() {\n const textVariant = CONTROL_TEXT_VARIANT[this.size];\n const iconSize = ICON_SIZE[this.size];\n\n const maxWidthStyle = this.maxWidth != null\n ? { maxWidth: typeof this.maxWidth === 'number' ? `${this.maxWidth}px` : this.maxWidth }\n : undefined;\n\n return (\n <Host\n class={{\n 'tag': true,\n 'chip': true,\n [`chip--${this.state}`]: true,\n [`tag--size-${this.size}`]: true,\n 'ds-control--md': this.size === 'md',\n 'ds-control--sm': this.size === 'sm',\n 'ds-control--xs': this.size === 'xs',\n 'tag--rounded': this.rounded,\n 'tag--removable': true,\n /* Hover overlay on the chip surface — dismiss is the only action. */\n 'ds-interaction-fill': !this.isInactive,\n 'ds-control-inactive': this.isInactive,\n }}\n style={maxWidthStyle}\n aria-disabled={this.isInactive ? 'true' : undefined}\n >\n <ds-text class=\"tag__label\" as=\"span\" variant={textVariant} color=\"inherit\">\n {this.label}\n </ds-text>\n <button\n type=\"button\"\n class=\"tag__remove ds-focus-ring-inset\"\n onClick={this.handleRemove}\n aria-label={this.removeLabel.replace('{label}', this.label)}\n disabled={this.isInactive || undefined}\n >\n <ds-icon class=\"tag__remove-x\" name=\"Cross\" size={iconSize} color=\"inherit\"></ds-icon>\n </button>\n </Host>\n );\n }\n}\n",
|
|
273
|
+
"type": "registry:ui"
|
|
274
|
+
}
|
|
275
|
+
]
|
|
276
|
+
}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
|
|
3
|
+
"name": "code-block",
|
|
4
|
+
"title": "CodeBlock",
|
|
5
|
+
"description": "Scrollable monospace code surface with optional language or filename context and copy action.",
|
|
6
|
+
"type": "registry:ui",
|
|
7
|
+
"meta": {
|
|
8
|
+
"library": "@ds-mo/ui",
|
|
9
|
+
"distribution": "npm",
|
|
10
|
+
"storybook": "https://zainadeel.github.io/compomo/?path=/story/code-block",
|
|
11
|
+
"source": "src/wc/components/CodeBlock/CodeBlock.tsx",
|
|
12
|
+
"intentStatus": "complete",
|
|
13
|
+
"intent": {
|
|
14
|
+
"audience": "general",
|
|
15
|
+
"status": "experimental",
|
|
16
|
+
"summary": "Scrollable monospace code surface with optional language or filename context and copy action.",
|
|
17
|
+
"useWhen": [
|
|
18
|
+
"A message or document displays fenced code that readers may copy."
|
|
19
|
+
],
|
|
20
|
+
"avoidWhen": [
|
|
21
|
+
"A live editor, terminal, diff viewer, or syntax-highlighting environment is required."
|
|
22
|
+
],
|
|
23
|
+
"commonlyComposedWith": [
|
|
24
|
+
"component:ds-markdown",
|
|
25
|
+
"component:ds-button-unfilled"
|
|
26
|
+
],
|
|
27
|
+
"accessibility": [
|
|
28
|
+
"The copy action has explicit status wording and the code remains selectable text.",
|
|
29
|
+
"Language and filename labels supplement rather than replace the code content."
|
|
30
|
+
],
|
|
31
|
+
"responsiveBehavior": [
|
|
32
|
+
"Long lines scroll horizontally and do not widen the owning transcript."
|
|
33
|
+
],
|
|
34
|
+
"references": [
|
|
35
|
+
{
|
|
36
|
+
"label": "Storybook examples",
|
|
37
|
+
"path": "src/wc/components/MessageScroller/MessageScroller.stories.ts"
|
|
38
|
+
}
|
|
39
|
+
]
|
|
40
|
+
},
|
|
41
|
+
"api": {
|
|
42
|
+
"props": {
|
|
43
|
+
"code": {
|
|
44
|
+
"type": "string",
|
|
45
|
+
"resolvedType": "string",
|
|
46
|
+
"attribute": "code",
|
|
47
|
+
"default": "''",
|
|
48
|
+
"required": false,
|
|
49
|
+
"mutable": false
|
|
50
|
+
},
|
|
51
|
+
"filename": {
|
|
52
|
+
"type": "string",
|
|
53
|
+
"resolvedType": "string",
|
|
54
|
+
"attribute": "filename",
|
|
55
|
+
"default": "''",
|
|
56
|
+
"required": false,
|
|
57
|
+
"mutable": false
|
|
58
|
+
},
|
|
59
|
+
"language": {
|
|
60
|
+
"type": "string",
|
|
61
|
+
"resolvedType": "string",
|
|
62
|
+
"attribute": "language",
|
|
63
|
+
"default": "''",
|
|
64
|
+
"required": false,
|
|
65
|
+
"mutable": false
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
"events": [],
|
|
69
|
+
"methods": [],
|
|
70
|
+
"slots": []
|
|
71
|
+
},
|
|
72
|
+
"props": {
|
|
73
|
+
"code": {
|
|
74
|
+
"type": "string",
|
|
75
|
+
"resolvedType": "string",
|
|
76
|
+
"attribute": "code",
|
|
77
|
+
"default": "''",
|
|
78
|
+
"required": false,
|
|
79
|
+
"mutable": false
|
|
80
|
+
},
|
|
81
|
+
"filename": {
|
|
82
|
+
"type": "string",
|
|
83
|
+
"resolvedType": "string",
|
|
84
|
+
"attribute": "filename",
|
|
85
|
+
"default": "''",
|
|
86
|
+
"required": false,
|
|
87
|
+
"mutable": false
|
|
88
|
+
},
|
|
89
|
+
"language": {
|
|
90
|
+
"type": "string",
|
|
91
|
+
"resolvedType": "string",
|
|
92
|
+
"attribute": "language",
|
|
93
|
+
"default": "''",
|
|
94
|
+
"required": false,
|
|
95
|
+
"mutable": false
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
"events": [],
|
|
99
|
+
"methods": [],
|
|
100
|
+
"slots": [],
|
|
101
|
+
"exports": {
|
|
102
|
+
"customElement": "ds-code-block",
|
|
103
|
+
"react": "DsCodeBlock",
|
|
104
|
+
"angular": "DsCodeBlock"
|
|
105
|
+
},
|
|
106
|
+
"consumption": {
|
|
107
|
+
"install": "npm install @ds-mo/ui @ds-mo/tokens @ds-mo/icons",
|
|
108
|
+
"cssSetup": "import '@ds-mo/tokens';\nimport '@ds-mo/tokens/reset';\nimport '@ds-mo/tokens/globals';",
|
|
109
|
+
"customElements": {
|
|
110
|
+
"import": "import '@ds-mo/ui/dist/components/ds-code-block.js';",
|
|
111
|
+
"example": "<ds-code-block></ds-code-block>"
|
|
112
|
+
},
|
|
113
|
+
"react": {
|
|
114
|
+
"import": "import { DsCodeBlock } from '@ds-mo/ui/react';",
|
|
115
|
+
"example": "<DsCodeBlock />"
|
|
116
|
+
},
|
|
117
|
+
"angular": {
|
|
118
|
+
"import": "import { DsCodeBlock } from '@ds-mo/ui/angular/ds-code-block';",
|
|
119
|
+
"example": "<ds-code-block></ds-code-block>"
|
|
120
|
+
},
|
|
121
|
+
"peerDependencies": {
|
|
122
|
+
"required": [
|
|
123
|
+
"@ds-mo/tokens ^3.1.1",
|
|
124
|
+
"@ds-mo/icons ^6.2.0"
|
|
125
|
+
],
|
|
126
|
+
"frameworks": "Custom Elements; React 18/19 wrappers; Angular 19-22 standalone adapters."
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
},
|
|
130
|
+
"dependencies": [
|
|
131
|
+
"@ds-mo/ui",
|
|
132
|
+
"@ds-mo/tokens"
|
|
133
|
+
],
|
|
134
|
+
"registryDependencies": [
|
|
135
|
+
"button-unfilled",
|
|
136
|
+
"text"
|
|
137
|
+
],
|
|
138
|
+
"files": [
|
|
139
|
+
{
|
|
140
|
+
"path": "src/wc/components/CodeBlock/CodeBlock.css",
|
|
141
|
+
"content": ":host {\n display: block;\n width: 100%;\n min-width: 0;\n box-sizing: border-box;\n}\n\n.code-block {\n width: 100%;\n min-width: 0;\n margin: 0;\n overflow: hidden;\n border-radius: var(--dimension-radius-050);\n background: var(--color-background-strong-neutral);\n color: var(--color-foreground-faint-neutral);\n box-sizing: border-box;\n}\n\n.code-block__header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--dimension-space-100);\n min-height: var(--dimension-size-400);\n padding: var(--dimension-space-050) var(--dimension-space-100);\n background: var(--color-background-strong-neutral);\n box-sizing: border-box;\n}\n\npre {\n margin: 0;\n padding: var(--dimension-space-150);\n overflow: auto;\n font-family: var(--typography-fontfamily-mono);\n font-size: var(--typography-fontsize-sm);\n line-height: var(--typography-lineheight-sm);\n tab-size: 2;\n}\n\ncode {\n font: inherit;\n white-space: pre;\n}\n",
|
|
142
|
+
"type": "registry:ui"
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
"path": "src/wc/components/CodeBlock/CodeBlock.tsx",
|
|
146
|
+
"content": "import { Component, h, Host, Prop, State } from '@stencil/core';\n\n@Component({\n tag: 'ds-code-block',\n styleUrl: 'CodeBlock.css',\n scoped: true,\n})\nexport class CodeBlock {\n @Prop() code: string = '';\n @Prop() language: string = '';\n @Prop() filename: string = '';\n\n @State() private copied: boolean = false;\n private copiedTimer?: ReturnType<typeof setTimeout>;\n\n disconnectedCallback() {\n if (this.copiedTimer) clearTimeout(this.copiedTimer);\n }\n\n private copy = async () => {\n if (!navigator.clipboard || !this.code) return;\n await navigator.clipboard.writeText(this.code);\n this.copied = true;\n if (this.copiedTimer) clearTimeout(this.copiedTimer);\n this.copiedTimer = setTimeout(() => {\n this.copied = false;\n }, 2000);\n };\n\n render() {\n const label = this.filename || this.language || 'Code';\n return (\n <Host>\n <figure class=\"code-block\">\n <figcaption class=\"code-block__header\">\n <ds-text as=\"span\" variant=\"text-caption\" emphasis color=\"on-strong\">\n {label}\n </ds-text>\n <ds-button-unfilled\n variant=\"icon\"\n icon={this.copied ? 'Check' : 'Copy'}\n size=\"xs\"\n aria-label={this.copied ? 'Copied' : 'Copy code'}\n hasBorder={false}\n onDsClick={this.copy}\n />\n </figcaption>\n <pre>\n <code>{this.code}</code>\n </pre>\n </figure>\n </Host>\n );\n }\n}\n",
|
|
147
|
+
"type": "registry:ui"
|
|
148
|
+
}
|
|
149
|
+
]
|
|
150
|
+
}
|