@ds-mo/ui 12.3.0 → 12.4.1
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 +89 -11
- package/dist/agent.json +548 -9
- package/dist/angular/ds-shell-app.d.ts +13 -2
- package/dist/angular/ds-shell-app.js +9 -5
- package/dist/angular/ds-shell-mobile-bar.d.ts +18 -0
- package/dist/angular/ds-shell-mobile-bar.js +46 -0
- package/dist/angular/ds-shell-mobile-nav.d.ts +23 -0
- package/dist/angular/ds-shell-mobile-nav.js +51 -0
- package/dist/angular/ds-shell-mobile-section-nav.d.ts +18 -0
- package/dist/angular/ds-shell-mobile-section-nav.js +42 -0
- package/dist/angular/ds-shell-tools.d.ts +42 -0
- package/dist/angular/ds-shell-tools.js +52 -0
- package/dist/angular/ds-toast.d.ts +1 -1
- package/dist/angular/ds-toast.js +3 -3
- package/dist/angular/index.d.ts +1 -1
- package/dist/angular/index.js +4 -0
- package/dist/angular/proxies.d.ts +4 -0
- package/dist/angular/proxies.js +4 -0
- package/dist/components/ds-agent-response.js +1 -1
- package/dist/components/ds-bar-nav.js +1 -1
- package/dist/components/ds-bar-title.js +1 -1
- package/dist/components/ds-bar-workflow.js +1 -1
- package/dist/components/ds-chart-donut.js +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-markdown.js +1 -1
- package/dist/components/ds-menu.js +1 -1
- package/dist/components/ds-message-composer.js +1 -1
- package/dist/components/ds-message-scroller.js +1 -1
- package/dist/components/ds-modal.js +1 -1
- package/dist/components/ds-modal.js.map +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-tool-header.js +1 -1
- package/dist/components/ds-panel-tool-search.js +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-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-app.js +1 -1
- package/dist/components/ds-shell-app.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-mobile-bar.d.ts +11 -0
- package/dist/components/ds-shell-mobile-bar.js +2 -0
- package/dist/components/ds-shell-mobile-bar.js.map +1 -0
- package/dist/components/ds-shell-mobile-nav.d.ts +11 -0
- package/dist/components/ds-shell-mobile-nav.js +2 -0
- package/dist/components/ds-shell-mobile-nav.js.map +1 -0
- package/dist/components/ds-shell-mobile-section-nav.d.ts +11 -0
- package/dist/components/ds-shell-mobile-section-nav.js +2 -0
- package/dist/components/ds-shell-mobile-section-nav.js.map +1 -0
- package/dist/components/ds-shell-page.js +1 -1
- package/dist/components/ds-shell-page.js.map +1 -1
- package/dist/components/ds-shell-tools.d.ts +11 -0
- package/dist/components/ds-shell-tools.js +2 -0
- package/dist/components/ds-shell-tools.js.map +1 -0
- 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-toast.js +1 -1
- package/dist/components/ds-toast.js.map +1 -1
- package/dist/components/ds-tooltip-data-viz.js +1 -1
- package/dist/components/ds-tooltip.js +1 -1
- package/dist/components/ds-typing-indicator.js +1 -1
- package/dist/components/p-B6Vuayt6.js +2 -0
- package/dist/components/p-B6Vuayt6.js.map +1 -0
- package/dist/components/p-BPS9VExm.js +2 -0
- package/dist/components/{p-D3DYxbC5.js.map → p-BPS9VExm.js.map} +1 -1
- package/dist/components/{p-Bi_bxbih.js → p-Biz6xo-z.js} +2 -2
- package/dist/components/p-BrusnEYP.js +2 -0
- package/dist/components/p-BrusnEYP.js.map +1 -0
- package/dist/components/p-C_0Q8Cnp.js +2 -0
- package/dist/components/{p-Dg3xLna0.js.map → p-C_0Q8Cnp.js.map} +1 -1
- package/dist/components/p-CgHTNfC1.js +2 -0
- package/dist/components/p-CgHTNfC1.js.map +1 -0
- package/dist/components/p-Co8hD3P-.js +2 -0
- package/dist/components/{p-DC7yOUQx.js.map → p-Co8hD3P-.js.map} +1 -1
- package/dist/components/{p-Cuw2Lo2g.js → p-CtD24EyI.js} +2 -2
- package/dist/components/{p-C0NPJ0h2.js → p-DXnFhmZF.js} +2 -2
- package/dist/components/p-NUNsefU1.js +2 -0
- package/dist/components/{p-CWlh7HAg.js.map → p-NUNsefU1.js.map} +1 -1
- package/dist/components/p-PZ6R_nGI.js +2 -0
- package/dist/components/p-PZ6R_nGI.js.map +1 -0
- package/dist/components/{p-J6xK6Ihq.js → p-g40DTeV8.js} +2 -2
- package/dist/components/p-yhj1lIPx.js +2 -0
- package/dist/components/p-yhj1lIPx.js.map +1 -0
- package/dist/docs/components.json +2172 -115
- package/dist/lib/components/BarNav/bar-nav-types.d.ts +2 -0
- package/dist/lib/components/PanelNav/panel-nav-types.d.ts +29 -0
- package/dist/lib/components/PanelTools/panel-tools-types.d.ts +40 -0
- package/dist/lib/components/TabGroup/tab-item-utils.d.ts +31 -0
- package/dist/lib/shell/index.d.ts +5 -0
- package/dist/lib/shell/index.js +36 -0
- package/dist/lib/shell/index.js.map +3 -3
- package/dist/lib/shell/shell-responsive.d.ts +13 -0
- package/dist/mcp-data/registry/conversation-list-item.json +1 -1
- package/dist/mcp-data/registry/modal.json +1 -1
- package/dist/mcp-data/registry/registry.json +559 -8
- package/dist/mcp-data/registry/shell-app.json +71 -11
- package/dist/mcp-data/registry/shell-mobile-bar.json +314 -0
- package/dist/mcp-data/registry/shell-mobile-nav.json +348 -0
- package/dist/mcp-data/registry/shell-mobile-section-nav.json +267 -0
- package/dist/mcp-data/registry/shell-page.json +1 -1
- package/dist/mcp-data/registry/shell-tools.json +450 -0
- package/dist/mcp-data/registry/toast.json +21 -2
- package/dist/react/components.d.ts +4 -0
- package/dist/react/components.js +4 -0
- package/dist/react/ds-shell-app.d.ts +7 -2
- package/dist/react/ds-shell-app.js +1 -1
- package/dist/react/ds-shell-mobile-bar.d.ts +13 -0
- package/dist/react/ds-shell-mobile-bar.js +15 -0
- package/dist/react/ds-shell-mobile-nav.d.ts +15 -0
- package/dist/react/ds-shell-mobile-nav.js +17 -0
- package/dist/react/ds-shell-mobile-section-nav.d.ts +12 -0
- package/dist/react/ds-shell-mobile-section-nav.js +12 -0
- package/dist/react/ds-shell-tools.d.ts +25 -0
- package/dist/react/ds-shell-tools.js +17 -0
- package/dist/types/components/ShellApp/ShellApp.d.ts +16 -0
- package/dist/types/components/ShellMobileBar/ShellMobileBar.d.ts +25 -0
- package/dist/types/components/ShellMobileBar/index.d.ts +4 -0
- package/dist/types/components/ShellMobileBar/shell-mobile-bar-types.d.ts +5 -0
- package/dist/types/components/ShellMobileNav/ShellMobileNav.d.ts +32 -0
- package/dist/types/components/ShellMobileNav/index.d.ts +2 -0
- package/dist/types/components/ShellMobileNav/shell-mobile-nav-types.d.ts +6 -0
- package/dist/types/components/ShellMobileSectionNav/ShellMobileSectionNav.d.ts +30 -0
- package/dist/types/components/ShellMobileSectionNav/index.d.ts +2 -0
- package/dist/types/components/ShellTools/ShellTools.d.ts +61 -0
- package/dist/types/components/ShellTools/index.d.ts +3 -0
- package/dist/types/components/Toast/Toast.d.ts +2 -0
- package/dist/types/components.d.ts +618 -2
- package/dist/types/shell/index.d.ts +5 -0
- package/dist/types/shell/shell-responsive.d.ts +14 -0
- package/package.json +1 -1
- package/dist/components/p-CWlh7HAg.js +0 -2
- package/dist/components/p-D3DYxbC5.js +0 -2
- package/dist/components/p-DC7yOUQx.js +0 -2
- package/dist/components/p-Dg3xLna0.js +0 -2
- /package/dist/components/{p-Bi_bxbih.js.map → p-Biz6xo-z.js.map} +0 -0
- /package/dist/components/{p-Cuw2Lo2g.js.map → p-CtD24EyI.js.map} +0 -0
- /package/dist/components/{p-C0NPJ0h2.js.map → p-DXnFhmZF.js.map} +0 -0
- /package/dist/components/{p-J6xK6Ihq.js.map → p-g40DTeV8.js.map} +0 -0
|
@@ -6729,7 +6729,7 @@
|
|
|
6729
6729
|
"summary": "The single required workspace root for standard authenticated application pages, coordinating primary and secondary navigation, tools chrome, responsive composition, content geometry, shared styling, and shell behavior.",
|
|
6730
6730
|
"useWhen": [
|
|
6731
6731
|
"Building any standard authenticated product or workspace page with CompoMo.",
|
|
6732
|
-
"PanelNav, BarNav,
|
|
6732
|
+
"PanelNav, BarNav, ShellTools, mobile navigation, page content, shared chrome, responsive behavior, and shell shortcuts must be composed as one application frame.",
|
|
6733
6733
|
"Future application templates need the supported base-page composition boundary."
|
|
6734
6734
|
],
|
|
6735
6735
|
"avoidWhen": [
|
|
@@ -6741,6 +6741,10 @@
|
|
|
6741
6741
|
"component:ds-panel-nav",
|
|
6742
6742
|
"component:ds-bar-nav",
|
|
6743
6743
|
"component:ds-panel-tools",
|
|
6744
|
+
"component:ds-shell-tools",
|
|
6745
|
+
"component:ds-shell-mobile-nav",
|
|
6746
|
+
"component:ds-shell-mobile-section-nav",
|
|
6747
|
+
"component:ds-shell-mobile-bar",
|
|
6744
6748
|
"component:ds-shell-page",
|
|
6745
6749
|
"component:ds-swatch-picker"
|
|
6746
6750
|
],
|
|
@@ -6751,16 +6755,17 @@
|
|
|
6751
6755
|
"accessibility": [
|
|
6752
6756
|
"Keep primary destinations in PanelNav and secondary route sections in BarNav.",
|
|
6753
6757
|
"Ensure the default content region contains the page's single main landmark.",
|
|
6754
|
-
"Keep PanelNav, BarNav, and PanelTools chrome available in
|
|
6758
|
+
"Keep PanelNav, BarNav, and PanelTools-compatible chrome available in desktop and tablet compositions and the persistent mobile bar available below 768px.",
|
|
6755
6759
|
"Do not override browser keyboard chords when enabling shell shortcuts.",
|
|
6756
6760
|
"Require Search and Help as the minimum PanelTools actions and provide accessible labels for every tool.",
|
|
6757
6761
|
"Preserve focus and accessible names across navigation, collapse, overflow, and responsive presentation changes."
|
|
6758
6762
|
],
|
|
6759
6763
|
"states": [
|
|
6760
6764
|
"Render exactly one ShellApp as the workspace root and never nest it.",
|
|
6761
|
-
"PanelNav, BarNav, and
|
|
6765
|
+
"PanelNav, BarNav, and ShellTools are the responsive shell regions; ShellTools contains at least Search and Help even when no additional product tools apply.",
|
|
6762
6766
|
"The application router owns the current route, authorization filtering, Dashboard or Settings context, destination collections, section collections, and localized content labels.",
|
|
6763
|
-
"ShellApp propagates navStyle and coordinates layout, gradient alignment, transitions, metrics, shortcuts, and
|
|
6767
|
+
"ShellApp propagates navStyle and resolved responsive mode and coordinates layout, gradient alignment, transitions, metrics, shortcuts, and mobile-stage visibility.",
|
|
6768
|
+
"The application controls mobileDestination and mobileNavigationOpen and keeps router state independent from global tool-surface changes.",
|
|
6764
6769
|
"Set gradientPreset to the single resolved global chrome preference: neutral by default, none for solid chrome, or cool, neutral, warm, and fresh for token-based washes.",
|
|
6765
6770
|
"The application owns gradient preference persistence, cross-tab synchronization, and server or account precedence; ShellApp owns rendering the resolved preset across authenticated routes.",
|
|
6766
6771
|
"Dashboard represents day-to-day operational work while Settings represents administrative and configuration work; route state selects the context.",
|
|
@@ -6773,9 +6778,10 @@
|
|
|
6773
6778
|
"ShellApp owns the fixed system breakpoints and resolves desktop at 1200px and wider, tablet from 768px through 1199px, and mobile below 768px.",
|
|
6774
6779
|
"On desktop, PanelNav defaults expanded, permits user collapse or expansion, and respects the locally persisted desktop preference.",
|
|
6775
6780
|
"On tablet, ShellApp keeps PanelNav permanently collapsed and prevents user expansion without overwriting the desktop preference.",
|
|
6776
|
-
"On mobile, ShellApp
|
|
6781
|
+
"On mobile, ShellApp hides and inerts PanelNav and BarNav, uses a solid primary stage, and composes MobileNav, MobileSectionNav, ShellTools, and the persistent five-item MobileBar.",
|
|
6782
|
+
"Mobile global surfaces conceal and inert the routed workspace without unmounting it, preserving nested routes and scroll state.",
|
|
6777
6783
|
"Keep PanelNav width, BarNav height, PanelTools chrome, and main-content origin stable except during intentional responsive or collapse transitions.",
|
|
6778
|
-
"The
|
|
6784
|
+
"The bottom bar remains visible at all route and tool depths in the foundation release."
|
|
6779
6785
|
],
|
|
6780
6786
|
"frameworkCaveats": {
|
|
6781
6787
|
"customElements": [
|
|
@@ -6783,7 +6789,7 @@
|
|
|
6783
6789
|
"Stamp route-derived nav-style before components connect when deterministic first paint is required."
|
|
6784
6790
|
],
|
|
6785
6791
|
"react": [
|
|
6786
|
-
"Use generated wrappers and preserve native slot names for
|
|
6792
|
+
"Use generated wrappers and preserve native slot names for desktop navigation, responsive tools, mobile navigation, and main content.",
|
|
6787
6793
|
"Resolve all shell inputs from one router state before rendering the composition."
|
|
6788
6794
|
],
|
|
6789
6795
|
"angular": [
|
|
@@ -6816,6 +6822,14 @@
|
|
|
6816
6822
|
"type": "ShellGradientPreset",
|
|
6817
6823
|
"required": false
|
|
6818
6824
|
},
|
|
6825
|
+
"mobileDestination": {
|
|
6826
|
+
"type": "ShellMobileDestination",
|
|
6827
|
+
"required": false
|
|
6828
|
+
},
|
|
6829
|
+
"mobileNavigationOpen": {
|
|
6830
|
+
"type": "boolean",
|
|
6831
|
+
"required": false
|
|
6832
|
+
},
|
|
6819
6833
|
"navStyle": {
|
|
6820
6834
|
"type": "NavChromeStyle",
|
|
6821
6835
|
"required": false
|
|
@@ -6825,7 +6839,12 @@
|
|
|
6825
6839
|
"required": false
|
|
6826
6840
|
}
|
|
6827
6841
|
},
|
|
6828
|
-
"events": [
|
|
6842
|
+
"events": [
|
|
6843
|
+
{
|
|
6844
|
+
"name": "dsResponsiveModeChange",
|
|
6845
|
+
"detail": "{ mode: ShellResponsiveMode }"
|
|
6846
|
+
}
|
|
6847
|
+
],
|
|
6829
6848
|
"slots": [],
|
|
6830
6849
|
"exports": {
|
|
6831
6850
|
"customElement": "ds-shell-app",
|
|
@@ -7056,6 +7075,367 @@
|
|
|
7056
7075
|
],
|
|
7057
7076
|
"registryDependencies": []
|
|
7058
7077
|
},
|
|
7078
|
+
{
|
|
7079
|
+
"name": "shell-mobile-bar",
|
|
7080
|
+
"title": "ShellMobileBar",
|
|
7081
|
+
"description": "Persistent mobile shell navigation for Menu, the router-derived current area, Search, Agents, and Inbox.",
|
|
7082
|
+
"type": "registry:ui",
|
|
7083
|
+
"meta": {
|
|
7084
|
+
"library": "@ds-mo/ui",
|
|
7085
|
+
"distribution": "npm",
|
|
7086
|
+
"storybook": "https://zainadeel.github.io/compomo/?path=/story/shell-mobile-bar",
|
|
7087
|
+
"source": "src/wc/components/ShellMobileBar/ShellMobileBar.tsx",
|
|
7088
|
+
"intentStatus": "complete",
|
|
7089
|
+
"intent": {
|
|
7090
|
+
"audience": "specialized",
|
|
7091
|
+
"status": "experimental",
|
|
7092
|
+
"summary": "Persistent mobile shell navigation for Menu, the router-derived current area, Search, Agents, and Inbox.",
|
|
7093
|
+
"useWhen": [
|
|
7094
|
+
"ShellApp is rendering its dedicated below-768px application composition."
|
|
7095
|
+
],
|
|
7096
|
+
"avoidWhen": [
|
|
7097
|
+
"Rendering desktop or tablet shell chrome.",
|
|
7098
|
+
"An arbitrary set of product tabs is required."
|
|
7099
|
+
],
|
|
7100
|
+
"commonlyComposedWith": [
|
|
7101
|
+
"component:ds-shell-app"
|
|
7102
|
+
],
|
|
7103
|
+
"patterns": [
|
|
7104
|
+
"pattern:application-shell"
|
|
7105
|
+
],
|
|
7106
|
+
"accessibility": [
|
|
7107
|
+
"Every item keeps a visible label and accessible name.",
|
|
7108
|
+
"Only the active destination exposes aria-current; Menu exposes its controlled pane through aria-expanded."
|
|
7109
|
+
],
|
|
7110
|
+
"states": [
|
|
7111
|
+
"The item order is fixed: Menu, current area, Search, Agents, Inbox.",
|
|
7112
|
+
"Reselecting an active destination does not reset its nested state."
|
|
7113
|
+
],
|
|
7114
|
+
"responsiveBehavior": [
|
|
7115
|
+
"Render only below the mobile breakpoint and preserve safe-area clearance."
|
|
7116
|
+
],
|
|
7117
|
+
"references": [
|
|
7118
|
+
{
|
|
7119
|
+
"label": "Storybook",
|
|
7120
|
+
"path": "src/wc/components/ShellMobileBar/ShellMobileBar.stories.ts"
|
|
7121
|
+
}
|
|
7122
|
+
]
|
|
7123
|
+
},
|
|
7124
|
+
"props": {
|
|
7125
|
+
"activeDestination": {
|
|
7126
|
+
"type": "ShellMobileDestination",
|
|
7127
|
+
"required": false
|
|
7128
|
+
},
|
|
7129
|
+
"agentsDot": {
|
|
7130
|
+
"type": "boolean",
|
|
7131
|
+
"required": false
|
|
7132
|
+
},
|
|
7133
|
+
"agentsLabel": {
|
|
7134
|
+
"type": "string",
|
|
7135
|
+
"required": false
|
|
7136
|
+
},
|
|
7137
|
+
"currentArea": {
|
|
7138
|
+
"type": "PanelNavItem",
|
|
7139
|
+
"required": false
|
|
7140
|
+
},
|
|
7141
|
+
"inboxDot": {
|
|
7142
|
+
"type": "boolean",
|
|
7143
|
+
"required": false
|
|
7144
|
+
},
|
|
7145
|
+
"inboxLabel": {
|
|
7146
|
+
"type": "string",
|
|
7147
|
+
"required": false
|
|
7148
|
+
},
|
|
7149
|
+
"menuLabel": {
|
|
7150
|
+
"type": "string",
|
|
7151
|
+
"required": false
|
|
7152
|
+
},
|
|
7153
|
+
"navigationExpanded": {
|
|
7154
|
+
"type": "boolean",
|
|
7155
|
+
"required": false
|
|
7156
|
+
},
|
|
7157
|
+
"searchDot": {
|
|
7158
|
+
"type": "boolean",
|
|
7159
|
+
"required": false
|
|
7160
|
+
},
|
|
7161
|
+
"searchLabel": {
|
|
7162
|
+
"type": "string",
|
|
7163
|
+
"required": false
|
|
7164
|
+
}
|
|
7165
|
+
},
|
|
7166
|
+
"events": [
|
|
7167
|
+
{
|
|
7168
|
+
"name": "dsDestinationChange",
|
|
7169
|
+
"detail": "ShellMobileBarDestinationDetail"
|
|
7170
|
+
},
|
|
7171
|
+
{
|
|
7172
|
+
"name": "dsNavigationToggle",
|
|
7173
|
+
"detail": "boolean"
|
|
7174
|
+
}
|
|
7175
|
+
],
|
|
7176
|
+
"slots": [],
|
|
7177
|
+
"exports": {
|
|
7178
|
+
"customElement": "ds-shell-mobile-bar",
|
|
7179
|
+
"react": "DsShellMobileBar",
|
|
7180
|
+
"angular": "DsShellMobileBar"
|
|
7181
|
+
}
|
|
7182
|
+
},
|
|
7183
|
+
"dependencies": [
|
|
7184
|
+
"@ds-mo/ui",
|
|
7185
|
+
"@ds-mo/tokens",
|
|
7186
|
+
"@ds-mo/icons"
|
|
7187
|
+
],
|
|
7188
|
+
"registryDependencies": [
|
|
7189
|
+
"icon",
|
|
7190
|
+
"text"
|
|
7191
|
+
]
|
|
7192
|
+
},
|
|
7193
|
+
{
|
|
7194
|
+
"name": "shell-mobile-nav",
|
|
7195
|
+
"title": "ShellMobileNav",
|
|
7196
|
+
"description": "Full-height mobile primary navigation pane with local Dashboard and Settings browsing.",
|
|
7197
|
+
"type": "registry:ui",
|
|
7198
|
+
"meta": {
|
|
7199
|
+
"library": "@ds-mo/ui",
|
|
7200
|
+
"distribution": "npm",
|
|
7201
|
+
"storybook": "https://zainadeel.github.io/compomo/?path=/story/shell-mobile-nav",
|
|
7202
|
+
"source": "src/wc/components/ShellMobileNav/ShellMobileNav.tsx",
|
|
7203
|
+
"intentStatus": "complete",
|
|
7204
|
+
"intent": {
|
|
7205
|
+
"audience": "specialized",
|
|
7206
|
+
"status": "experimental",
|
|
7207
|
+
"summary": "Full-height mobile primary navigation pane with local Dashboard and Settings browsing.",
|
|
7208
|
+
"useWhen": [
|
|
7209
|
+
"The mobile ShellApp Menu control needs to expose the complete primary navigation collection."
|
|
7210
|
+
],
|
|
7211
|
+
"avoidWhen": [
|
|
7212
|
+
"Rendering desktop PanelNav.",
|
|
7213
|
+
"Switching local page content."
|
|
7214
|
+
],
|
|
7215
|
+
"commonlyComposedWith": [
|
|
7216
|
+
"component:ds-shell-app",
|
|
7217
|
+
"component:ds-shell-mobile-bar"
|
|
7218
|
+
],
|
|
7219
|
+
"patterns": [
|
|
7220
|
+
"pattern:application-shell"
|
|
7221
|
+
],
|
|
7222
|
+
"accessibility": [
|
|
7223
|
+
"The pane is a named navigation landmark and retains visible labels for every destination.",
|
|
7224
|
+
"Escape requests dismissal and opening moves focus to the selected or first available area."
|
|
7225
|
+
],
|
|
7226
|
+
"states": [
|
|
7227
|
+
"Dashboard and Settings change only the collection being browsed.",
|
|
7228
|
+
"Area, Help, and Account events express intent while the application owns navigation and product behavior."
|
|
7229
|
+
],
|
|
7230
|
+
"responsiveBehavior": [
|
|
7231
|
+
"The pane fills the mobile content stage while the bottom bar remains available."
|
|
7232
|
+
],
|
|
7233
|
+
"references": [
|
|
7234
|
+
{
|
|
7235
|
+
"label": "Storybook",
|
|
7236
|
+
"path": "src/wc/components/ShellMobileNav/ShellMobileNav.stories.ts"
|
|
7237
|
+
}
|
|
7238
|
+
]
|
|
7239
|
+
},
|
|
7240
|
+
"props": {
|
|
7241
|
+
"accountLabel": {
|
|
7242
|
+
"type": "string",
|
|
7243
|
+
"required": false
|
|
7244
|
+
},
|
|
7245
|
+
"browseContext": {
|
|
7246
|
+
"type": "NavChromeStyle",
|
|
7247
|
+
"required": false
|
|
7248
|
+
},
|
|
7249
|
+
"currentUrl": {
|
|
7250
|
+
"type": "string",
|
|
7251
|
+
"required": false
|
|
7252
|
+
},
|
|
7253
|
+
"dashboardGroups": {
|
|
7254
|
+
"type": "PanelNavGroup[]",
|
|
7255
|
+
"required": false
|
|
7256
|
+
},
|
|
7257
|
+
"dashboardLabel": {
|
|
7258
|
+
"type": "string",
|
|
7259
|
+
"required": false
|
|
7260
|
+
},
|
|
7261
|
+
"heading": {
|
|
7262
|
+
"type": "string",
|
|
7263
|
+
"required": false
|
|
7264
|
+
},
|
|
7265
|
+
"helpLabel": {
|
|
7266
|
+
"type": "string",
|
|
7267
|
+
"required": false
|
|
7268
|
+
},
|
|
7269
|
+
"navigationLabel": {
|
|
7270
|
+
"type": "string",
|
|
7271
|
+
"required": false
|
|
7272
|
+
},
|
|
7273
|
+
"open": {
|
|
7274
|
+
"type": "boolean",
|
|
7275
|
+
"required": false
|
|
7276
|
+
},
|
|
7277
|
+
"settingsGroups": {
|
|
7278
|
+
"type": "PanelNavGroup[]",
|
|
7279
|
+
"required": false
|
|
7280
|
+
},
|
|
7281
|
+
"settingsLabel": {
|
|
7282
|
+
"type": "string",
|
|
7283
|
+
"required": false
|
|
7284
|
+
}
|
|
7285
|
+
},
|
|
7286
|
+
"events": [
|
|
7287
|
+
{
|
|
7288
|
+
"name": "dsAreaSelect",
|
|
7289
|
+
"detail": "string"
|
|
7290
|
+
},
|
|
7291
|
+
{
|
|
7292
|
+
"name": "dsAuxiliarySelect",
|
|
7293
|
+
"detail": "ShellMobileNavAuxiliaryDetail"
|
|
7294
|
+
},
|
|
7295
|
+
{
|
|
7296
|
+
"name": "dsBrowseContextChange",
|
|
7297
|
+
"detail": "NavChromeStyle"
|
|
7298
|
+
},
|
|
7299
|
+
{
|
|
7300
|
+
"name": "dsClose",
|
|
7301
|
+
"detail": "void"
|
|
7302
|
+
}
|
|
7303
|
+
],
|
|
7304
|
+
"slots": [],
|
|
7305
|
+
"exports": {
|
|
7306
|
+
"customElement": "ds-shell-mobile-nav",
|
|
7307
|
+
"react": "DsShellMobileNav",
|
|
7308
|
+
"angular": "DsShellMobileNav"
|
|
7309
|
+
}
|
|
7310
|
+
},
|
|
7311
|
+
"dependencies": [
|
|
7312
|
+
"@ds-mo/ui",
|
|
7313
|
+
"@ds-mo/tokens",
|
|
7314
|
+
"@ds-mo/icons"
|
|
7315
|
+
],
|
|
7316
|
+
"registryDependencies": [
|
|
7317
|
+
"icon",
|
|
7318
|
+
"tab-group",
|
|
7319
|
+
"text"
|
|
7320
|
+
]
|
|
7321
|
+
},
|
|
7322
|
+
{
|
|
7323
|
+
"name": "shell-mobile-section-nav",
|
|
7324
|
+
"title": "ShellMobileSectionNav",
|
|
7325
|
+
"description": "Horizontally scrollable mobile route navigation corresponding to the active area's desktop BarNav.",
|
|
7326
|
+
"type": "registry:ui",
|
|
7327
|
+
"meta": {
|
|
7328
|
+
"library": "@ds-mo/ui",
|
|
7329
|
+
"distribution": "npm",
|
|
7330
|
+
"storybook": "https://zainadeel.github.io/compomo/?path=/story/shell-mobile-section-nav",
|
|
7331
|
+
"source": "src/wc/components/ShellMobileSectionNav/ShellMobileSectionNav.tsx",
|
|
7332
|
+
"intentStatus": "complete",
|
|
7333
|
+
"intent": {
|
|
7334
|
+
"audience": "specialized",
|
|
7335
|
+
"status": "experimental",
|
|
7336
|
+
"summary": "Horizontally scrollable mobile route navigation corresponding to the active area's desktop BarNav.",
|
|
7337
|
+
"useWhen": [
|
|
7338
|
+
"ShellApp is rendering the below-768px routed workspace and the active area has peer route sections."
|
|
7339
|
+
],
|
|
7340
|
+
"avoidWhen": [
|
|
7341
|
+
"Choices switch local content without navigation; use TabGroup.",
|
|
7342
|
+
"Rendering the desktop or tablet secondary navigation; use BarNav."
|
|
7343
|
+
],
|
|
7344
|
+
"alternatives": [
|
|
7345
|
+
{
|
|
7346
|
+
"when": "The choices switch local content without changing routes.",
|
|
7347
|
+
"component": "component:ds-tab-group",
|
|
7348
|
+
"reason": "TabGroup owns local view selection."
|
|
7349
|
+
}
|
|
7350
|
+
],
|
|
7351
|
+
"commonlyComposedWith": [
|
|
7352
|
+
"component:ds-shell-app",
|
|
7353
|
+
"component:ds-shell-mobile-bar",
|
|
7354
|
+
"component:ds-bar-nav"
|
|
7355
|
+
],
|
|
7356
|
+
"patterns": [
|
|
7357
|
+
"pattern:application-shell"
|
|
7358
|
+
],
|
|
7359
|
+
"accessibility": [
|
|
7360
|
+
"The row is a named navigation landmark and the selected section exposes aria-current.",
|
|
7361
|
+
"Disabled route sections remain visible but cannot emit navigation intent."
|
|
7362
|
+
],
|
|
7363
|
+
"states": [
|
|
7364
|
+
"The host router owns the current URL and handles dsTabChange.",
|
|
7365
|
+
"Detail routes that do not match a section show the active-area heading."
|
|
7366
|
+
],
|
|
7367
|
+
"responsiveBehavior": [
|
|
7368
|
+
"The row scrolls horizontally without wrapping and centers the selected section when selection changes."
|
|
7369
|
+
],
|
|
7370
|
+
"frameworkCaveats": {
|
|
7371
|
+
"customElements": [
|
|
7372
|
+
"Assign tabs as a JavaScript property and update currentUrl and basePath with router state."
|
|
7373
|
+
],
|
|
7374
|
+
"react": [
|
|
7375
|
+
"Pass the same BarNavTab array used by the desktop BarNav through the generated React wrapper."
|
|
7376
|
+
],
|
|
7377
|
+
"angular": [
|
|
7378
|
+
"Import the generated standalone adapter and bind tabs as a property."
|
|
7379
|
+
]
|
|
7380
|
+
},
|
|
7381
|
+
"references": [
|
|
7382
|
+
{
|
|
7383
|
+
"label": "Storybook",
|
|
7384
|
+
"path": "src/wc/components/ShellMobileSectionNav/ShellMobileSectionNav.stories.ts"
|
|
7385
|
+
}
|
|
7386
|
+
]
|
|
7387
|
+
},
|
|
7388
|
+
"props": {
|
|
7389
|
+
"basePath": {
|
|
7390
|
+
"type": "string",
|
|
7391
|
+
"required": false
|
|
7392
|
+
},
|
|
7393
|
+
"currentUrl": {
|
|
7394
|
+
"type": "string",
|
|
7395
|
+
"required": false
|
|
7396
|
+
},
|
|
7397
|
+
"heading": {
|
|
7398
|
+
"type": "string | undefined",
|
|
7399
|
+
"required": false
|
|
7400
|
+
},
|
|
7401
|
+
"navigationLabel": {
|
|
7402
|
+
"type": "string",
|
|
7403
|
+
"required": false
|
|
7404
|
+
},
|
|
7405
|
+
"tabs": {
|
|
7406
|
+
"type": "BarNavTab[]",
|
|
7407
|
+
"required": false
|
|
7408
|
+
},
|
|
7409
|
+
"tabsJson": {
|
|
7410
|
+
"type": "string",
|
|
7411
|
+
"required": false
|
|
7412
|
+
},
|
|
7413
|
+
"value": {
|
|
7414
|
+
"type": "string",
|
|
7415
|
+
"required": false
|
|
7416
|
+
}
|
|
7417
|
+
},
|
|
7418
|
+
"events": [
|
|
7419
|
+
{
|
|
7420
|
+
"name": "dsTabChange",
|
|
7421
|
+
"detail": "string"
|
|
7422
|
+
}
|
|
7423
|
+
],
|
|
7424
|
+
"slots": [],
|
|
7425
|
+
"exports": {
|
|
7426
|
+
"customElement": "ds-shell-mobile-section-nav",
|
|
7427
|
+
"react": "DsShellMobileSectionNav",
|
|
7428
|
+
"angular": "DsShellMobileSectionNav"
|
|
7429
|
+
}
|
|
7430
|
+
},
|
|
7431
|
+
"dependencies": [
|
|
7432
|
+
"@ds-mo/ui",
|
|
7433
|
+
"@ds-mo/tokens"
|
|
7434
|
+
],
|
|
7435
|
+
"registryDependencies": [
|
|
7436
|
+
"text"
|
|
7437
|
+
]
|
|
7438
|
+
},
|
|
7059
7439
|
{
|
|
7060
7440
|
"name": "shell-page",
|
|
7061
7441
|
"title": "ShellPage",
|
|
@@ -7183,6 +7563,172 @@
|
|
|
7183
7563
|
],
|
|
7184
7564
|
"registryDependencies": []
|
|
7185
7565
|
},
|
|
7566
|
+
{
|
|
7567
|
+
"name": "shell-tools",
|
|
7568
|
+
"title": "ShellTools",
|
|
7569
|
+
"description": "Responsive persistent host for shell tools, adapting PanelTools rail and drawer chrome to full-stage mobile Search, Agents, and Inbox surfaces.",
|
|
7570
|
+
"type": "registry:ui",
|
|
7571
|
+
"meta": {
|
|
7572
|
+
"library": "@ds-mo/ui",
|
|
7573
|
+
"distribution": "npm",
|
|
7574
|
+
"storybook": "https://zainadeel.github.io/compomo/?path=/story/shell-tools",
|
|
7575
|
+
"source": "src/wc/components/ShellTools/ShellTools.tsx",
|
|
7576
|
+
"intentStatus": "complete",
|
|
7577
|
+
"intent": {
|
|
7578
|
+
"audience": "specialized",
|
|
7579
|
+
"status": "experimental",
|
|
7580
|
+
"summary": "Responsive persistent host for shell tools, adapting PanelTools rail and drawer chrome to full-stage mobile Search, Agents, and Inbox surfaces.",
|
|
7581
|
+
"useWhen": [
|
|
7582
|
+
"A ShellApp must preserve the same Search, Agents, Messages, Stacks, Activity, and Help product owners across desktop, tablet, and mobile."
|
|
7583
|
+
],
|
|
7584
|
+
"avoidWhen": [
|
|
7585
|
+
"The tools exist only in desktop and tablet chrome; PanelTools remains supported for that case.",
|
|
7586
|
+
"The content is a routed primary application area."
|
|
7587
|
+
],
|
|
7588
|
+
"alternatives": [
|
|
7589
|
+
{
|
|
7590
|
+
"when": "Only legacy rail and drawer behavior is required.",
|
|
7591
|
+
"component": "component:ds-panel-tools",
|
|
7592
|
+
"reason": "PanelTools remains the backward-compatible desktop and tablet primitive."
|
|
7593
|
+
}
|
|
7594
|
+
],
|
|
7595
|
+
"commonlyComposedWith": [
|
|
7596
|
+
"component:ds-shell-app",
|
|
7597
|
+
"component:ds-panel-tool-header",
|
|
7598
|
+
"component:ds-shell-mobile-bar"
|
|
7599
|
+
],
|
|
7600
|
+
"patterns": [
|
|
7601
|
+
"pattern:application-shell"
|
|
7602
|
+
],
|
|
7603
|
+
"accessibility": [
|
|
7604
|
+
"Only the active mobile tool view participates in focus or the accessibility tree.",
|
|
7605
|
+
"Header Back and application-owned header actions preserve the PanelTools event contract.",
|
|
7606
|
+
"Inbox uses TabGroup semantics for Messages, Stacks, and Activity."
|
|
7607
|
+
],
|
|
7608
|
+
"states": [
|
|
7609
|
+
"The application owns open and activeTool and replaces headers when tool depth changes.",
|
|
7610
|
+
"Messages, Stacks, and Activity map to one mobile Inbox destination while retaining the actual active tool id.",
|
|
7611
|
+
"Switching responsive mode must not recreate application-owned slotted product elements."
|
|
7612
|
+
],
|
|
7613
|
+
"responsiveBehavior": [
|
|
7614
|
+
"Desktop and tablet compose PanelTools-compatible rail and drawer chrome.",
|
|
7615
|
+
"Mobile renders the active tool across the shell stage and groups available inbox tools in a segmented control."
|
|
7616
|
+
],
|
|
7617
|
+
"frameworkCaveats": {
|
|
7618
|
+
"customElements": [
|
|
7619
|
+
"Assign items and headers as JavaScript properties and place each persistent owner in its named *-view slot."
|
|
7620
|
+
],
|
|
7621
|
+
"react": [
|
|
7622
|
+
"Keep stable keyed product owner elements in the generated wrapper's named slots."
|
|
7623
|
+
],
|
|
7624
|
+
"angular": [
|
|
7625
|
+
"Bind structured items and headers as properties and keep each tool owner mounted under a named *-view slot."
|
|
7626
|
+
]
|
|
7627
|
+
},
|
|
7628
|
+
"references": [
|
|
7629
|
+
{
|
|
7630
|
+
"label": "Storybook",
|
|
7631
|
+
"path": "src/wc/components/ShellTools/ShellTools.stories.ts"
|
|
7632
|
+
},
|
|
7633
|
+
{
|
|
7634
|
+
"label": "PanelTools contract",
|
|
7635
|
+
"path": "src/wc/components/PanelTools/PanelTools.agent.json"
|
|
7636
|
+
}
|
|
7637
|
+
]
|
|
7638
|
+
},
|
|
7639
|
+
"props": {
|
|
7640
|
+
"activeTool": {
|
|
7641
|
+
"type": "PanelToolsToolId | ''",
|
|
7642
|
+
"required": false
|
|
7643
|
+
},
|
|
7644
|
+
"fullscreenHeaderMode": {
|
|
7645
|
+
"type": "'shared' | 'split'",
|
|
7646
|
+
"required": false
|
|
7647
|
+
},
|
|
7648
|
+
"headers": {
|
|
7649
|
+
"type": "PanelToolsHeaders",
|
|
7650
|
+
"required": false
|
|
7651
|
+
},
|
|
7652
|
+
"headersJson": {
|
|
7653
|
+
"type": "string",
|
|
7654
|
+
"required": false
|
|
7655
|
+
},
|
|
7656
|
+
"inboxLabel": {
|
|
7657
|
+
"type": "string",
|
|
7658
|
+
"required": false
|
|
7659
|
+
},
|
|
7660
|
+
"inboxNavigationLabel": {
|
|
7661
|
+
"type": "string",
|
|
7662
|
+
"required": false
|
|
7663
|
+
},
|
|
7664
|
+
"items": {
|
|
7665
|
+
"type": "PanelToolsItem[]",
|
|
7666
|
+
"required": false
|
|
7667
|
+
},
|
|
7668
|
+
"itemsJson": {
|
|
7669
|
+
"type": "string",
|
|
7670
|
+
"required": false
|
|
7671
|
+
},
|
|
7672
|
+
"open": {
|
|
7673
|
+
"type": "boolean",
|
|
7674
|
+
"required": false
|
|
7675
|
+
},
|
|
7676
|
+
"presentation": {
|
|
7677
|
+
"type": "'drawer' | 'fullscreen'",
|
|
7678
|
+
"required": false
|
|
7679
|
+
},
|
|
7680
|
+
"responsiveMode": {
|
|
7681
|
+
"type": "ShellResponsiveMode",
|
|
7682
|
+
"required": false
|
|
7683
|
+
},
|
|
7684
|
+
"storageKey": {
|
|
7685
|
+
"type": "string",
|
|
7686
|
+
"required": false
|
|
7687
|
+
},
|
|
7688
|
+
"toolShortcutsLabel": {
|
|
7689
|
+
"type": "string",
|
|
7690
|
+
"required": false
|
|
7691
|
+
},
|
|
7692
|
+
"toolsLabel": {
|
|
7693
|
+
"type": "string",
|
|
7694
|
+
"required": false
|
|
7695
|
+
}
|
|
7696
|
+
},
|
|
7697
|
+
"events": [
|
|
7698
|
+
{
|
|
7699
|
+
"name": "dsHeaderAction",
|
|
7700
|
+
"detail": "{\n tool: PanelToolsToolId;\n id: string;\n }"
|
|
7701
|
+
},
|
|
7702
|
+
{
|
|
7703
|
+
"name": "dsHeaderBack",
|
|
7704
|
+
"detail": "{\n tool: PanelToolsToolId;\n }"
|
|
7705
|
+
},
|
|
7706
|
+
{
|
|
7707
|
+
"name": "dsPresentationChange",
|
|
7708
|
+
"detail": "{\n presentation: 'drawer' | 'fullscreen';\n }"
|
|
7709
|
+
},
|
|
7710
|
+
{
|
|
7711
|
+
"name": "dsToolChange",
|
|
7712
|
+
"detail": "{\n id: PanelToolsToolId;\n selected: boolean;\n }"
|
|
7713
|
+
}
|
|
7714
|
+
],
|
|
7715
|
+
"slots": [],
|
|
7716
|
+
"exports": {
|
|
7717
|
+
"customElement": "ds-shell-tools",
|
|
7718
|
+
"react": "DsShellTools",
|
|
7719
|
+
"angular": "DsShellTools"
|
|
7720
|
+
}
|
|
7721
|
+
},
|
|
7722
|
+
"dependencies": [
|
|
7723
|
+
"@ds-mo/ui",
|
|
7724
|
+
"@ds-mo/tokens"
|
|
7725
|
+
],
|
|
7726
|
+
"registryDependencies": [
|
|
7727
|
+
"panel-tool-header",
|
|
7728
|
+
"panel-tools",
|
|
7729
|
+
"tab-group"
|
|
7730
|
+
]
|
|
7731
|
+
},
|
|
7186
7732
|
{
|
|
7187
7733
|
"name": "skeleton",
|
|
7188
7734
|
"title": "Skeleton",
|
|
@@ -8353,6 +8899,7 @@
|
|
|
8353
8899
|
],
|
|
8354
8900
|
"responsiveBehavior": [
|
|
8355
8901
|
"The global stack stays at the viewport bottom-end with token-based inset and never exceeds the available viewport width.",
|
|
8902
|
+
"Set avoid-mobile-shell-bar when the application uses the persistent shell bottom bar. Below 768px the global stack clears the complete safe-area-aware bar container by 16px; tablet and desktop positioning remain unchanged.",
|
|
8356
8903
|
"Anchored toasts flip on their placement axis and clamp to viewport padding when the preferred side does not fit.",
|
|
8357
8904
|
"The owner does not create separate mobile and desktop managers; one queue preserves ordering across responsive layouts.",
|
|
8358
8905
|
"Pointer swipe remains optional input. Close and action controls retain keyboard access through the notification region."
|
|
@@ -8387,6 +8934,10 @@
|
|
|
8387
8934
|
]
|
|
8388
8935
|
},
|
|
8389
8936
|
"props": {
|
|
8937
|
+
"avoidMobileShellBar": {
|
|
8938
|
+
"type": "boolean",
|
|
8939
|
+
"required": false
|
|
8940
|
+
},
|
|
8390
8941
|
"closeLabel": {
|
|
8391
8942
|
"type": "string",
|
|
8392
8943
|
"required": false
|