@ds-mo/ui 14.27.0 → 14.28.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.
Files changed (255) hide show
  1. package/dist/.package-ready.json +1 -1
  2. package/dist/agent-patterns.json +2 -2
  3. package/dist/agent.json +290 -10
  4. package/dist/angular/ds-card-navigation.d.ts +20 -0
  5. package/dist/angular/ds-card-navigation.js +42 -0
  6. package/dist/angular/ds-card-settings-scope.d.ts +19 -0
  7. package/dist/angular/ds-card-settings-scope.js +42 -0
  8. package/dist/angular/ds-menu.d.ts +1 -1
  9. package/dist/angular/ds-menu.js +3 -3
  10. package/dist/angular/ds-mobile-bar-nav.d.ts +1 -1
  11. package/dist/angular/ds-mobile-bar-nav.js +3 -3
  12. package/dist/angular/ds-mobile-header.d.ts +1 -1
  13. package/dist/angular/ds-mobile-header.js +3 -3
  14. package/dist/angular/ds-mobile-section-switcher.d.ts +1 -1
  15. package/dist/angular/ds-mobile-section-switcher.js +3 -3
  16. package/dist/angular/ds-mobile-sheet-nav.d.ts +7 -1
  17. package/dist/angular/ds-mobile-sheet-nav.js +7 -4
  18. package/dist/angular/index.d.ts +1 -1
  19. package/dist/angular/index.js +2 -0
  20. package/dist/angular/proxies.d.ts +2 -0
  21. package/dist/angular/proxies.js +2 -0
  22. package/dist/components/ds-agent-activity.js +1 -1
  23. package/dist/components/ds-agent-questionnaire.js +1 -1
  24. package/dist/components/ds-agent-response.js +1 -1
  25. package/dist/components/ds-agent-source-list.js +1 -1
  26. package/dist/components/ds-agent-tool-call.js +1 -1
  27. package/dist/components/ds-attachment-list.js +1 -1
  28. package/dist/components/ds-badge.js +1 -1
  29. package/dist/components/ds-banner.js +1 -1
  30. package/dist/components/ds-bar-action.js +1 -1
  31. package/dist/components/ds-bar-nav.js +1 -1
  32. package/dist/components/ds-bar-title.js +1 -1
  33. package/dist/components/ds-bar-workflow.js +1 -1
  34. package/dist/components/ds-breadcrumb.js +1 -1
  35. package/dist/components/ds-button-filled.js +1 -1
  36. package/dist/components/ds-button-unfilled.js +1 -1
  37. package/dist/components/ds-card-chart.js +1 -1
  38. package/dist/components/ds-card-navigation.d.ts +11 -0
  39. package/dist/components/ds-card-navigation.js +2 -0
  40. package/dist/components/ds-card-navigation.js.map +1 -0
  41. package/dist/components/ds-card-overview.js +1 -1
  42. package/dist/components/ds-card-setting.js +1 -1
  43. package/dist/components/ds-card-settings-scope.d.ts +11 -0
  44. package/dist/components/ds-card-settings-scope.js +2 -0
  45. package/dist/components/ds-card-settings-scope.js.map +1 -0
  46. package/dist/components/ds-chart-legend.js +1 -1
  47. package/dist/components/ds-chart.js +1 -1
  48. package/dist/components/ds-checkbox.js +1 -1
  49. package/dist/components/ds-chip.js +1 -1
  50. package/dist/components/ds-code-block.js +1 -1
  51. package/dist/components/ds-conversation-list-item.js +1 -1
  52. package/dist/components/ds-conversation-list-section.js +1 -1
  53. package/dist/components/ds-conversation-list.js +1 -1
  54. package/dist/components/ds-divider.js +1 -1
  55. package/dist/components/ds-empty-state.js +1 -1
  56. package/dist/components/ds-field.js +1 -1
  57. package/dist/components/ds-filter-menu.js +1 -1
  58. package/dist/components/ds-input.js +1 -1
  59. package/dist/components/ds-markdown.js +1 -1
  60. package/dist/components/ds-menu.js +1 -1
  61. package/dist/components/ds-message-actions.js +1 -1
  62. package/dist/components/ds-message-bubble.js +1 -1
  63. package/dist/components/ds-message-composer.js +1 -1
  64. package/dist/components/ds-message-scroller.js +1 -1
  65. package/dist/components/ds-message.js +1 -1
  66. package/dist/components/ds-mobile-bar-nav.js +1 -1
  67. package/dist/components/ds-mobile-header.js +1 -1
  68. package/dist/components/ds-mobile-section-switcher.js +1 -1
  69. package/dist/components/ds-mobile-sheet-nav.js +1 -1
  70. package/dist/components/ds-modal.js +1 -1
  71. package/dist/components/ds-pagination.js +1 -1
  72. package/dist/components/ds-panel-nav.js +1 -1
  73. package/dist/components/ds-panel-sub-nav.js +1 -1
  74. package/dist/components/ds-panel-tool-header.js +1 -1
  75. package/dist/components/ds-panel-tool-search.js +1 -1
  76. package/dist/components/ds-panel-tools.js +1 -1
  77. package/dist/components/ds-paper-texture.js +1 -1
  78. package/dist/components/ds-radio.js +1 -1
  79. package/dist/components/ds-score.js +1 -1
  80. package/dist/components/ds-scroll-overlay.js +1 -1
  81. package/dist/components/ds-select.js +1 -1
  82. package/dist/components/ds-shell-app.js +1 -1
  83. package/dist/components/ds-shell-app.js.map +1 -1
  84. package/dist/components/ds-shell-page.js +1 -1
  85. package/dist/components/ds-shell-tools.js +1 -1
  86. package/dist/components/ds-skeleton.js +1 -1
  87. package/dist/components/ds-slider.js +1 -1
  88. package/dist/components/ds-swatch-picker.js +1 -1
  89. package/dist/components/ds-switch.js +1 -1
  90. package/dist/components/ds-tab-group.js +1 -1
  91. package/dist/components/ds-table-filter.js +1 -1
  92. package/dist/components/ds-table-group.js +1 -1
  93. package/dist/components/ds-table-saved-views.js +1 -1
  94. package/dist/components/ds-table-search.js +1 -1
  95. package/dist/components/ds-table-sort.js +1 -1
  96. package/dist/components/ds-table-toolbar.js +1 -1
  97. package/dist/components/ds-table.js +1 -1
  98. package/dist/components/ds-tag.js +1 -1
  99. package/dist/components/ds-text.js +1 -1
  100. package/dist/components/ds-textarea.js +1 -1
  101. package/dist/components/ds-toast.js +1 -1
  102. package/dist/components/ds-tooltip-chart.js +1 -1
  103. package/dist/components/ds-tooltip.js +1 -1
  104. package/dist/components/ds-typing-indicator.js +1 -1
  105. package/dist/components/{p-Is1lFmwp.js → p-1gt8QlyW.js} +2 -2
  106. package/dist/components/{p-CGQnHNuW.js → p-6iF6gdoc.js} +2 -2
  107. package/dist/components/{p-B3sRZBZk.js → p-8atLxerP.js} +2 -2
  108. package/dist/components/{p-DkxOEFHN.js → p-B3iy9Rl_.js} +2 -2
  109. package/dist/components/{p-Q7AOgrg5.js → p-BCFpqnAg.js} +2 -2
  110. package/dist/components/p-BFHWoNH3.js +2 -0
  111. package/dist/components/{p-BVz-r3g0.js.map → p-BFHWoNH3.js.map} +1 -1
  112. package/dist/components/p-BLTHIBsE.js +2 -0
  113. package/dist/components/p-BLTHIBsE.js.map +1 -0
  114. package/dist/components/p-BWDbER5T.js +2 -0
  115. package/dist/components/p-BWDbER5T.js.map +1 -0
  116. package/dist/components/{p-C68oSTb1.js → p-BXT2opmZ.js} +2 -2
  117. package/dist/components/{p-B9esvbYk.js → p-B_NN7k8H.js} +2 -2
  118. package/dist/components/p-BdU6FPu4.js +2 -0
  119. package/dist/components/{p-BXDLR072.js.map → p-BdU6FPu4.js.map} +1 -1
  120. package/dist/components/{p-BVpn_e-r.js → p-BdXUd-tK.js} +2 -2
  121. package/dist/components/p-BdXUd-tK.js.map +1 -0
  122. package/dist/components/{p-BRLDf-NK.js → p-Bj018KMC.js} +2 -2
  123. package/dist/components/{p-DGkn8FwV.js → p-Bl5wd3v3.js} +2 -2
  124. package/dist/components/{p-Bb9dA7sl.js → p-BpB2EF9g.js} +2 -2
  125. package/dist/components/{p-537t6oRD.js → p-BxLF8b8a.js} +2 -2
  126. package/dist/components/{p-BIGpc__9.js → p-C1BJgnHY.js} +2 -2
  127. package/dist/components/p-C78uTz-n.js +2 -0
  128. package/dist/components/p-C78uTz-n.js.map +1 -0
  129. package/dist/components/p-C82vesh_.js +2 -0
  130. package/dist/components/p-C82vesh_.js.map +1 -0
  131. package/dist/components/{p-DW8ssbfI.js → p-CN8PQLZu.js} +2 -2
  132. package/dist/components/{p-DQsFmleZ.js → p-COn7l__5.js} +2 -2
  133. package/dist/components/{p-Cf5Ai4xx.js → p-CW7JhWlS.js} +2 -2
  134. package/dist/components/{p-CaF5WCci.js → p-Cocq-utR.js} +2 -2
  135. package/dist/components/{p-to8BxxgT.js → p-CsW_2w-s.js} +2 -2
  136. package/dist/components/p-CvB76TJn.js +2 -0
  137. package/dist/components/p-CvB76TJn.js.map +1 -0
  138. package/dist/components/{p-2wIPUcSL.js → p-CxbGZJBU.js} +2 -2
  139. package/dist/components/p-D4-RkuER.js +2 -0
  140. package/dist/components/p-D4-RkuER.js.map +1 -0
  141. package/dist/components/{p-Bjt_8sLe.js → p-DB_tlJ2d.js} +2 -2
  142. package/dist/components/{p-VT-5XDkB.js → p-DDOuPq-N.js} +2 -2
  143. package/dist/components/{p-B3Z5sQin.js → p-DGHeKNfG.js} +2 -2
  144. package/dist/components/{p-DDqRCDXh.js → p-DSJSnQ1U.js} +2 -2
  145. package/dist/components/{p-Cr6pDY-e.js → p-DYK0slTb.js} +2 -2
  146. package/dist/components/{p-D9wZlB_N.js → p-D_QtZZR8.js} +2 -2
  147. package/dist/components/{p-Bv6FSDPR.js → p-DbDYEEWq.js} +2 -2
  148. package/dist/components/{p-Q0dkeoJ6.js → p-DmYZLH_L.js} +2 -2
  149. package/dist/components/{p-BEXkJ9lg.js → p-DnQN0pLp.js} +2 -2
  150. package/dist/components/{p-DIqAdmui.js → p-FiM3rF7B.js} +2 -2
  151. package/dist/components/{p-WFo1x6dN.js → p-Hzz2j1Je.js} +2 -2
  152. package/dist/components/{p-BZiGtBBk.js → p-Kp8ifB1g.js} +2 -2
  153. package/dist/components/{p-1604KY3B.js → p-NB-SoVpo.js} +2 -2
  154. package/dist/components/{p-GEi3hDJQ.js → p-P9My22Z1.js} +2 -2
  155. package/dist/components/{p-CQjUOHiN.js → p-WM1GTEun.js} +2 -2
  156. package/dist/components/{p-DQQsS9Rx.js → p-aMyflqva.js} +2 -2
  157. package/dist/components/{p-DZcIt_JJ.js → p-dgep63_i.js} +2 -2
  158. package/dist/components/{p-6_CNVbqa.js → p-oAbq-DLk.js} +2 -2
  159. package/dist/components/{p-BMzn2Cmw.js → p-rSC7ZUpy.js} +2 -2
  160. package/dist/docs/components.json +838 -39
  161. package/dist/mcp-data/registry/card-navigation.json +255 -0
  162. package/dist/mcp-data/registry/card-settings-scope.json +314 -0
  163. package/dist/mcp-data/registry/field.json +1 -1
  164. package/dist/mcp-data/registry/menu.json +21 -2
  165. package/dist/mcp-data/registry/mobile-bar-nav.json +20 -1
  166. package/dist/mcp-data/registry/mobile-header.json +23 -3
  167. package/dist/mcp-data/registry/mobile-section-switcher.json +45 -6
  168. package/dist/mcp-data/registry/mobile-sheet-nav.json +40 -3
  169. package/dist/mcp-data/registry/panel-nav.json +2 -2
  170. package/dist/mcp-data/registry/registry.json +295 -9
  171. package/dist/mcp-data/registry/shell-app.json +7 -6
  172. package/dist/react/components.d.ts +2 -0
  173. package/dist/react/components.js +2 -0
  174. package/dist/react/ds-card-navigation.d.ts +12 -0
  175. package/dist/react/ds-card-navigation.js +12 -0
  176. package/dist/react/ds-card-settings-scope.d.ts +12 -0
  177. package/dist/react/ds-card-settings-scope.js +12 -0
  178. package/dist/react/ds-mobile-sheet-nav.d.ts +2 -1
  179. package/dist/react/ds-mobile-sheet-nav.js +1 -0
  180. package/dist/types/components/CardNavigation/CardNavigation.d.ts +31 -0
  181. package/dist/types/components/CardNavigation/index.d.ts +2 -0
  182. package/dist/types/components/CardSettingsScope/CardSettingsScope.d.ts +33 -0
  183. package/dist/types/components/CardSettingsScope/index.d.ts +2 -0
  184. package/dist/types/components/Field/Field.d.ts +7 -0
  185. package/dist/types/components/Menu/Menu.d.ts +4 -0
  186. package/dist/types/components/MobileBarNav/MobileBarNav.d.ts +2 -0
  187. package/dist/types/components/MobileHeader/MobileHeader.d.ts +3 -0
  188. package/dist/types/components/MobileSectionSwitcher/MobileSectionSwitcher.d.ts +17 -0
  189. package/dist/types/components/MobileSheetNav/MobileSheetNav.d.ts +15 -2
  190. package/dist/types/components/ShellApp/ShellApp.d.ts +4 -2
  191. package/dist/types/components.d.ts +300 -2
  192. package/dist/vue/components.d.ts +2 -0
  193. package/dist/vue/components.js +2 -0
  194. package/dist/vue/ds-card-navigation.d.ts +3 -0
  195. package/dist/vue/ds-card-navigation.js +15 -0
  196. package/dist/vue/ds-card-settings-scope.d.ts +3 -0
  197. package/dist/vue/ds-card-settings-scope.js +20 -0
  198. package/dist/vue/ds-menu.js +1 -0
  199. package/dist/vue/ds-mobile-bar-nav.js +1 -0
  200. package/dist/vue/ds-mobile-header.js +1 -0
  201. package/dist/vue/ds-mobile-section-switcher.js +2 -0
  202. package/dist/vue/ds-mobile-sheet-nav.js +3 -0
  203. package/package.json +1 -1
  204. package/dist/components/p-BUh2GkPJ.js +0 -2
  205. package/dist/components/p-BUh2GkPJ.js.map +0 -1
  206. package/dist/components/p-BVpn_e-r.js.map +0 -1
  207. package/dist/components/p-BVz-r3g0.js +0 -2
  208. package/dist/components/p-BXDLR072.js +0 -2
  209. package/dist/components/p-BssZ4SbT.js +0 -2
  210. package/dist/components/p-BssZ4SbT.js.map +0 -1
  211. package/dist/components/p-Cy1oWIaV.js +0 -2
  212. package/dist/components/p-Cy1oWIaV.js.map +0 -1
  213. package/dist/components/p-DVLghmNY.js +0 -2
  214. package/dist/components/p-DVLghmNY.js.map +0 -1
  215. package/dist/components/p-DlbhmXjH.js +0 -2
  216. package/dist/components/p-DlbhmXjH.js.map +0 -1
  217. package/dist/components/p-LMmrjmI_.js +0 -2
  218. package/dist/components/p-LMmrjmI_.js.map +0 -1
  219. /package/dist/components/{p-Is1lFmwp.js.map → p-1gt8QlyW.js.map} +0 -0
  220. /package/dist/components/{p-CGQnHNuW.js.map → p-6iF6gdoc.js.map} +0 -0
  221. /package/dist/components/{p-B3sRZBZk.js.map → p-8atLxerP.js.map} +0 -0
  222. /package/dist/components/{p-DkxOEFHN.js.map → p-B3iy9Rl_.js.map} +0 -0
  223. /package/dist/components/{p-Q7AOgrg5.js.map → p-BCFpqnAg.js.map} +0 -0
  224. /package/dist/components/{p-C68oSTb1.js.map → p-BXT2opmZ.js.map} +0 -0
  225. /package/dist/components/{p-B9esvbYk.js.map → p-B_NN7k8H.js.map} +0 -0
  226. /package/dist/components/{p-BRLDf-NK.js.map → p-Bj018KMC.js.map} +0 -0
  227. /package/dist/components/{p-DGkn8FwV.js.map → p-Bl5wd3v3.js.map} +0 -0
  228. /package/dist/components/{p-Bb9dA7sl.js.map → p-BpB2EF9g.js.map} +0 -0
  229. /package/dist/components/{p-537t6oRD.js.map → p-BxLF8b8a.js.map} +0 -0
  230. /package/dist/components/{p-BIGpc__9.js.map → p-C1BJgnHY.js.map} +0 -0
  231. /package/dist/components/{p-DW8ssbfI.js.map → p-CN8PQLZu.js.map} +0 -0
  232. /package/dist/components/{p-DQsFmleZ.js.map → p-COn7l__5.js.map} +0 -0
  233. /package/dist/components/{p-Cf5Ai4xx.js.map → p-CW7JhWlS.js.map} +0 -0
  234. /package/dist/components/{p-CaF5WCci.js.map → p-Cocq-utR.js.map} +0 -0
  235. /package/dist/components/{p-to8BxxgT.js.map → p-CsW_2w-s.js.map} +0 -0
  236. /package/dist/components/{p-2wIPUcSL.js.map → p-CxbGZJBU.js.map} +0 -0
  237. /package/dist/components/{p-Bjt_8sLe.js.map → p-DB_tlJ2d.js.map} +0 -0
  238. /package/dist/components/{p-VT-5XDkB.js.map → p-DDOuPq-N.js.map} +0 -0
  239. /package/dist/components/{p-B3Z5sQin.js.map → p-DGHeKNfG.js.map} +0 -0
  240. /package/dist/components/{p-DDqRCDXh.js.map → p-DSJSnQ1U.js.map} +0 -0
  241. /package/dist/components/{p-Cr6pDY-e.js.map → p-DYK0slTb.js.map} +0 -0
  242. /package/dist/components/{p-D9wZlB_N.js.map → p-D_QtZZR8.js.map} +0 -0
  243. /package/dist/components/{p-Bv6FSDPR.js.map → p-DbDYEEWq.js.map} +0 -0
  244. /package/dist/components/{p-Q0dkeoJ6.js.map → p-DmYZLH_L.js.map} +0 -0
  245. /package/dist/components/{p-BEXkJ9lg.js.map → p-DnQN0pLp.js.map} +0 -0
  246. /package/dist/components/{p-DIqAdmui.js.map → p-FiM3rF7B.js.map} +0 -0
  247. /package/dist/components/{p-WFo1x6dN.js.map → p-Hzz2j1Je.js.map} +0 -0
  248. /package/dist/components/{p-BZiGtBBk.js.map → p-Kp8ifB1g.js.map} +0 -0
  249. /package/dist/components/{p-1604KY3B.js.map → p-NB-SoVpo.js.map} +0 -0
  250. /package/dist/components/{p-GEi3hDJQ.js.map → p-P9My22Z1.js.map} +0 -0
  251. /package/dist/components/{p-CQjUOHiN.js.map → p-WM1GTEun.js.map} +0 -0
  252. /package/dist/components/{p-DQQsS9Rx.js.map → p-aMyflqva.js.map} +0 -0
  253. /package/dist/components/{p-DZcIt_JJ.js.map → p-dgep63_i.js.map} +0 -0
  254. /package/dist/components/{p-6_CNVbqa.js.map → p-oAbq-DLk.js.map} +0 -0
  255. /package/dist/components/{p-BMzn2Cmw.js.map → p-rSC7ZUpy.js.map} +0 -0
@@ -1 +1 @@
1
- {"schemaVersion":1,"package":"@ds-mo/ui","version":"14.27.0","components":79,"digest":"3f4a2aa3da16b2566ef7fbfbe59b6f6f9c44162f372b7a15ddd5e32a8eec04ff","completedAt":"2026-09-03T01:43:04.704Z"}
1
+ {"schemaVersion":1,"package":"@ds-mo/ui","version":"14.28.0","components":81,"digest":"065961ea3f8395cca08b96968dc6836f2887fc527ea4012d49b1e6c84d68c5d3","completedAt":"2026-09-03T22:59:21.069Z"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": "1.0.0",
3
3
  "package": "@ds-mo/ui",
4
- "packageVersion": "14.27.0",
4
+ "packageVersion": "14.28.0",
5
5
  "kind": "patterns",
6
6
  "entries": [
7
7
  {
@@ -229,7 +229,7 @@
229
229
  "An optional Banner spans the complete application above desktop navigation, workspace, tools, and mobile global surfaces while remaining below the operating-system top safe area.",
230
230
  "Desktop and tablet may render governed direct-action rail accessories. Mobile intentionally omits them, so applications provide equivalent persistent status in the top Banner lane when the product requires it.",
231
231
  "Switching breakpoints changes presentation and inert state without recreating route or tool elements.",
232
- "Switching sectionNavigation changes only desktop and tablet chrome; mobile composition, current route, routed content, and tool state remain stable.",
232
+ "Switching sectionNavigation changes where route sections live: panel expands them inside MobileSheetNav on mobile and combines the page title with any active local subsection in one sheet trigger. Detail pages use this combined trigger in both modes. The current route, routed content, and tool state remain stable.",
233
233
  "Search, Activity, Messages, and Agents use direct mobile destinations; products may explicitly group review tools under Inbox instead."
234
234
  ],
235
235
  "implementations": {
package/dist/agent.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": "1.0.0",
3
3
  "package": "@ds-mo/ui",
4
- "packageVersion": "14.27.0",
4
+ "packageVersion": "14.28.0",
5
5
  "kind": "components",
6
6
  "entries": [
7
7
  {
@@ -2318,6 +2318,133 @@
2318
2318
  "text"
2319
2319
  ]
2320
2320
  },
2321
+ {
2322
+ "id": "component:ds-card-navigation",
2323
+ "tag": "ds-card-navigation",
2324
+ "name": "card-navigation",
2325
+ "title": "CardNavigation",
2326
+ "summary": "Settings-style navigation surface with a native destination link, optional supporting copy, a fixed ChevronRight affordance, and an optional application-owned body.",
2327
+ "intentStatus": "complete",
2328
+ "intent": {
2329
+ "audience": "general",
2330
+ "status": "stable",
2331
+ "summary": "Settings-style navigation surface with a native destination link, optional supporting copy, a fixed ChevronRight affordance, and an optional application-owned body.",
2332
+ "useWhen": [
2333
+ "A settings page needs a card that leads to a deeper settings destination.",
2334
+ "A compact destination card needs the complete surface to act as one link.",
2335
+ "A settings summary must remain visible in a body while only the card header navigates."
2336
+ ],
2337
+ "avoidWhen": [
2338
+ "The card edits its contents in place; use CardSetting for the edit-save-cancel workflow.",
2339
+ "The destination is an action without a navigable URL.",
2340
+ "The surface contains a chart, legend, metric visualization, or other data-visualization composition."
2341
+ ],
2342
+ "alternatives": [
2343
+ {
2344
+ "when": "The section switches between read-only and editable content in place.",
2345
+ "component": "component:ds-card-setting",
2346
+ "reason": "CardSetting owns the controlled edit-save-cancel workflow."
2347
+ },
2348
+ {
2349
+ "when": "The surface contains a chart or specialized data-visualization composition.",
2350
+ "component": "component:ds-card-chart",
2351
+ "reason": "CardChart owns the independently evolving chart-card contract."
2352
+ }
2353
+ ],
2354
+ "commonlyComposedWith": [
2355
+ "component:ds-text",
2356
+ "component:ds-card-setting"
2357
+ ],
2358
+ "accessibility": [
2359
+ "CardNavigation renders a native link whenever href resolves to an allowed URL, so Enter activation, link context menus, and modified-click behavior remain available.",
2360
+ "The heading is rendered as an h2 and the optional description contributes to the link's accessible name.",
2361
+ "The ChevronRight icon is decorative because the link text already names the destination.",
2362
+ "Use the content variant only when interactive body content must remain outside the header link; never place interactive descendants inside the navigation-only card.",
2363
+ "dsNavigate is cancelable so client-side routers can prevent native navigation after accepting an unmodified activation."
2364
+ ],
2365
+ "states": [
2366
+ "The native link owns hover, pressed, and focus-visible states across the complete card in navigation-only mode.",
2367
+ "In content mode, the native link owns those interaction states only across the header while the body remains application-owned.",
2368
+ "An empty or unsafe href renders non-interactive card chrome without a false keyboard target.",
2369
+ "The application owns destination loading, authorization, not-found, and recovery states after navigation."
2370
+ ],
2371
+ "responsiveBehavior": [
2372
+ "Choose sm, md, or lg from the parent layout; the surface never exceeds its parent width.",
2373
+ "Supporting copy wraps while the chevron remains visible at the trailing edge.",
2374
+ "The parent owns wrapping, columns, stacking, and breakpoint changes between cards."
2375
+ ],
2376
+ "frameworkCaveats": {
2377
+ "customElements": [
2378
+ "Set href to a valid relative or HTTP(S) URL.",
2379
+ "Prevent dsNavigate only when an application router takes ownership of the same activation."
2380
+ ],
2381
+ "react": [
2382
+ "Pass href for native link semantics and use onDsNavigate only when coordinating with a client-side router.",
2383
+ "Use variant content when projecting interactive body content so those controls stay outside the link."
2384
+ ],
2385
+ "angular": [
2386
+ "Bind href and prevent dsNavigate before calling Router.navigateByUrl for unmodified primary activations.",
2387
+ "Use variant content when projecting interactive body content so those controls stay outside the link."
2388
+ ]
2389
+ },
2390
+ "references": [
2391
+ {
2392
+ "label": "Storybook navigation-only and content examples",
2393
+ "path": "src/wc/components/CardNavigation/CardNavigation.stories.ts"
2394
+ },
2395
+ {
2396
+ "label": "Rendered navigation and interaction coverage",
2397
+ "path": "tests/e2e/card-navigation.spec.ts"
2398
+ }
2399
+ ]
2400
+ },
2401
+ "api": {
2402
+ "props": {
2403
+ "cardWidth": {
2404
+ "type": "CardNavigationWidth",
2405
+ "required": false
2406
+ },
2407
+ "description": {
2408
+ "type": "string | undefined",
2409
+ "required": false
2410
+ },
2411
+ "heading": {
2412
+ "type": "string",
2413
+ "required": true
2414
+ },
2415
+ "href": {
2416
+ "type": "string",
2417
+ "required": true
2418
+ },
2419
+ "variant": {
2420
+ "type": "CardNavigationVariant",
2421
+ "required": false
2422
+ }
2423
+ },
2424
+ "events": [
2425
+ {
2426
+ "name": "dsNavigate",
2427
+ "detail": "CardNavigationDetail"
2428
+ }
2429
+ ],
2430
+ "slots": []
2431
+ },
2432
+ "exports": {
2433
+ "customElement": "ds-card-navigation",
2434
+ "react": "DsCardNavigation",
2435
+ "vue": "DsCardNavigation",
2436
+ "angular": "DsCardNavigation"
2437
+ },
2438
+ "dependencies": [
2439
+ "@ds-mo/ui",
2440
+ "@ds-mo/tokens",
2441
+ "@ds-mo/icons"
2442
+ ],
2443
+ "componentDependencies": [
2444
+ "icon",
2445
+ "text"
2446
+ ]
2447
+ },
2321
2448
  {
2322
2449
  "id": "component:ds-card-overview",
2323
2450
  "tag": "ds-card-overview",
@@ -2635,6 +2762,120 @@
2635
2762
  "text"
2636
2763
  ]
2637
2764
  },
2765
+ {
2766
+ "id": "component:ds-card-settings-scope",
2767
+ "tag": "ds-card-settings-scope",
2768
+ "name": "card-settings-scope",
2769
+ "title": "CardSettingsScope",
2770
+ "summary": "Compact, theme-aware settings context card with inline product-area and profile menu triggers.",
2771
+ "intentStatus": "complete",
2772
+ "intent": {
2773
+ "audience": "general",
2774
+ "status": "stable",
2775
+ "summary": "Compact, theme-aware settings context card with inline product-area and profile menu triggers.",
2776
+ "useWhen": [
2777
+ "A settings workspace needs to show and change both its product area and the organization or profile being managed."
2778
+ ],
2779
+ "avoidWhen": [
2780
+ "The content is a reporting period and metrics summary; use CardOverview.",
2781
+ "The card edits settings in place; use CardSetting."
2782
+ ],
2783
+ "commonlyComposedWith": [
2784
+ "component:ds-menu",
2785
+ "component:ds-card-setting"
2786
+ ],
2787
+ "accessibility": [
2788
+ "Both scope values are native buttons with popup relationships and controlled expanded state.",
2789
+ "Use the emitted native anchor for menu placement and focus return.",
2790
+ "An empty informational profiles popup uses dialog semantics.",
2791
+ "The shared text-action recipe supplies brand foreground, hover underline, and keyboard focus indication."
2792
+ ],
2793
+ "states": [
2794
+ "The application owns the selected area, profile, available choices, permissions, and empty-state copy.",
2795
+ "The card reports popup requests without changing selection or expanded state.",
2796
+ "The surface follows the active theme rather than imposing always-dark colors."
2797
+ ],
2798
+ "responsiveBehavior": [
2799
+ "The parent owns sticky positioning and shell offsets.",
2800
+ "The compact sentence wraps when space is constrained so both controls remain available."
2801
+ ],
2802
+ "frameworkCaveats": {
2803
+ "angular": [
2804
+ "Import the generated standalone adapter; bind controlled labels and expanded states and handle dsScopeRequest."
2805
+ ]
2806
+ },
2807
+ "references": [
2808
+ {
2809
+ "label": "Storybook examples",
2810
+ "path": "src/wc/components/CardSettingsScope/CardSettingsScope.stories.ts"
2811
+ }
2812
+ ]
2813
+ },
2814
+ "api": {
2815
+ "props": {
2816
+ "areaControls": {
2817
+ "type": "string | undefined",
2818
+ "required": false
2819
+ },
2820
+ "areaExpanded": {
2821
+ "type": "boolean",
2822
+ "required": false
2823
+ },
2824
+ "areaLabel": {
2825
+ "type": "string",
2826
+ "required": false
2827
+ },
2828
+ "forLabel": {
2829
+ "type": "string",
2830
+ "required": false
2831
+ },
2832
+ "managingLabel": {
2833
+ "type": "string",
2834
+ "required": false
2835
+ },
2836
+ "profileControls": {
2837
+ "type": "string | undefined",
2838
+ "required": false
2839
+ },
2840
+ "profileExpanded": {
2841
+ "type": "boolean",
2842
+ "required": false
2843
+ },
2844
+ "profileLabel": {
2845
+ "type": "string",
2846
+ "required": false
2847
+ },
2848
+ "profilePopup": {
2849
+ "type": "'menu' | 'dialog'",
2850
+ "required": false
2851
+ },
2852
+ "scopeLabel": {
2853
+ "type": "string",
2854
+ "required": false
2855
+ }
2856
+ },
2857
+ "events": [
2858
+ {
2859
+ "name": "dsScopeRequest",
2860
+ "detail": "SettingsScopeRequest"
2861
+ }
2862
+ ],
2863
+ "slots": []
2864
+ },
2865
+ "exports": {
2866
+ "customElement": "ds-card-settings-scope",
2867
+ "react": "DsCardSettingsScope",
2868
+ "vue": "DsCardSettingsScope",
2869
+ "angular": "DsCardSettingsScope"
2870
+ },
2871
+ "dependencies": [
2872
+ "@ds-mo/ui",
2873
+ "@ds-mo/tokens"
2874
+ ],
2875
+ "componentDependencies": [
2876
+ "text"
2877
+ ]
2878
+ },
2638
2879
  {
2639
2880
  "id": "component:ds-chart",
2640
2881
  "tag": "ds-chart",
@@ -4725,6 +4966,7 @@
4725
4966
  "pattern:menu-trigger"
4726
4967
  ],
4727
4968
  "accessibility": [
4969
+ "An empty choice collection can show informational copy in a focusable non-modal dialog instead of rendering a fake disabled action. Escape and Tab retain the normal popup dismissal and anchor-focus behavior.",
4728
4970
  "Anchor the menu to the control that opens it and return focus to that control when the menu closes.",
4729
4971
  "Open with visible initial focus only when the trigger was activated from the keyboard.",
4730
4972
  "Keep disabled items discoverable only when their unavailable state is meaningful.",
@@ -4807,6 +5049,10 @@
4807
5049
  "type": "HTMLElement | undefined",
4808
5050
  "required": false
4809
5051
  },
5052
+ "emptyMessage": {
5053
+ "type": "string",
5054
+ "required": false
5055
+ },
4810
5056
  "initialFocusVisible": {
4811
5057
  "type": "boolean",
4812
5058
  "required": false
@@ -5403,6 +5649,7 @@
5403
5649
  ],
5404
5650
  "states": [
5405
5651
  "The fixed groups are Menu plus current area, followed by Search, Activity, Messages, and Agents.",
5652
+ "The shell may retain Help in the context position while another global tool is selected; context identity and active selection are independent.",
5406
5653
  "Consumers that intentionally group multiple review tools can replace the Activity destination with Inbox.",
5407
5654
  "Selection promotes foreground to primary without painting a selected fill; unselected destinations use tertiary foreground.",
5408
5655
  "Opening Mobile Sheet Nav replaces the Menu glyph with Cross while preserving its accessible name.",
@@ -5475,6 +5722,10 @@
5475
5722
  "type": "string",
5476
5723
  "required": false
5477
5724
  },
5725
+ "primaryDestination": {
5726
+ "type": "'area' | 'help'",
5727
+ "required": false
5728
+ },
5478
5729
  "searchDot": {
5479
5730
  "type": "boolean",
5480
5731
  "required": false
@@ -5552,8 +5803,10 @@
5552
5803
  "states": [
5553
5804
  "Without multiple sections the center renders heading.",
5554
5805
  "With multiple sections the center renders the controlled MobileSectionSwitcher by default or an explicitly requested segmented TabGroup.",
5806
+ "Primary section switching without subordinate navigation uses the viewport-edge sheet. Headers exposing both peer sections and subordinate views retain their two-level navigation.",
5555
5807
  "The segmented presentation uses the shared fill-width TabGroup contract and divides its centered two-thirds top-bar lane equally between options.",
5556
- "Optional subsections render in a second row and emit dsSubsectionChange without changing the primary section.",
5808
+ "Optional subsections use a second row by default. When navigation already exposes peer sections, local views can sit beside a stable page title in one row; they never replace that title or its semantic heading.",
5809
+ "The combined local-view presentation joins the page identity and selected subsection in one outlined sheet trigger. The semantic heading remains the page identity, while Back and page actions stay outside the trigger.",
5557
5810
  "Sections represent peer destinations at the current navigation level; subsections represent local views beneath the selected page or detail identity.",
5558
5811
  "Brand tone changes surface and foreground without changing geometry or interaction ownership."
5559
5812
  ],
@@ -5602,6 +5855,10 @@
5602
5855
  "type": "string",
5603
5856
  "required": false
5604
5857
  },
5858
+ "subsectionsPlacement": {
5859
+ "type": "'below' | 'inline' | 'combined'",
5860
+ "required": false
5861
+ },
5605
5862
  "subvalue": {
5606
5863
  "type": "string",
5607
5864
  "required": false
@@ -5648,12 +5905,12 @@
5648
5905
  "tag": "ds-mobile-section-switcher",
5649
5906
  "name": "mobile-section-switcher",
5650
5907
  "title": "MobileSectionSwitcher",
5651
- "summary": "Controlled mobile section chooser showing the current section, adjacent-position hints, and a complete tap menu.",
5908
+ "summary": "Controlled mobile section chooser with a viewport-edge sheet for primary pages and an anchored menu for local views.",
5652
5909
  "intentStatus": "complete",
5653
5910
  "intent": {
5654
5911
  "audience": "specialized",
5655
5912
  "status": "experimental",
5656
- "summary": "Controlled mobile section chooser showing the current section, adjacent-position hints, and a complete tap menu.",
5913
+ "summary": "Controlled mobile section chooser with a viewport-edge sheet for primary pages and an anchored menu for local views.",
5657
5914
  "useWhen": [
5658
5915
  "A mobile page or tool header must combine current-page identity with ordered peer-section navigation."
5659
5916
  ],
@@ -5670,13 +5927,16 @@
5670
5927
  "accessibility": [
5671
5928
  "The trigger exposes the current section, popup relationship, and expanded state.",
5672
5929
  "Decorative previous and next position hints are hidden from assistive technology.",
5673
- "The menu is always available so a future swipe gesture is never the only navigation mechanism.",
5930
+ "The sheet is a native modal top-layer dialog: background content is inert, Escape and backdrop dismiss it, and focus returns to the trigger after exit motion. Arrow keys, Home, End, and initial-letter navigation move among enabled destinations.",
5931
+ "The sheet initially focuses the current enabled destination, uses emphasis for selection, and never adds decorative icons to its rows.",
5674
5932
  "Peer destinations use menuitem semantics with aria-current on the active page; they do not present a radio-control affordance."
5675
5933
  ],
5676
5934
  "states": [
5677
5935
  "Selection is controlled and dsChange reports intent without mutating value.",
5678
5936
  "Dividers group menu items but never participate in previous or next resolution.",
5679
- "The first and last selectable sections expose only the available neighboring direction."
5937
+ "The anchored local-view menu retains its neighboring-direction hints; the primary-page sheet uses an unfilled perimeter trigger without hints.",
5938
+ "A sheet trigger can combine stable page identity and the current local view, separated by a decorative middle dot. The whole control opens only the supplied local destinations; long page names truncate before crowding out the active view.",
5939
+ "Sheet selection emits navigation intent immediately while exit motion runs independently, so the controlled title can update without waiting for dismissal. Removing the owner or hiding its header closes the top layer without leaving the application blocked."
5680
5940
  ],
5681
5941
  "responsiveBehavior": [
5682
5942
  "Use only in the dedicated mobile header presentation."
@@ -5694,6 +5954,14 @@
5694
5954
  "type": "string",
5695
5955
  "required": false
5696
5956
  },
5957
+ "pageLabel": {
5958
+ "type": "string",
5959
+ "required": false
5960
+ },
5961
+ "presentation": {
5962
+ "type": "'menu' | 'sheet'",
5963
+ "required": false
5964
+ },
5697
5965
  "sections": {
5698
5966
  "type": "TabItem[]",
5699
5967
  "required": false
@@ -5757,7 +6025,10 @@
5757
6025
  "Escape requests dismissal and opening moves focus to the selected or first available area."
5758
6026
  ],
5759
6027
  "states": [
5760
- "Dashboard and Settings change only the flat destination collection being browsed.",
6028
+ "Dashboard and Settings change only the destination collection being browsed.",
6029
+ "In nested mode, parents with child routes disclose inline without navigating. Only selecting a child emits route intent; parents without children retain direct navigation.",
6030
+ "Nested branches use the same positional divider and staggered child motion as expanded desktop navigation, without adding disclosure chevrons. Dividers separate an expanded branch from its siblings, not from the outside edge of its group.",
6031
+ "Opening the sheet reveals the current route's branch. Collapsed child groups are inert and hidden from assistive technology while the shared navigation motion runs; child targets keep the mobile row density.",
5761
6032
  "Area, Help, and Account events express intent while the application owns navigation and product behavior.",
5762
6033
  "Set routeSelectionActive to false while a global tool owns the mobile stage so the underlying router URL remains available without marking its area current.",
5763
6034
  "Set showAccount to false when account and user preferences already live in the supplied Settings navigation."
@@ -5809,6 +6080,10 @@
5809
6080
  "type": "boolean",
5810
6081
  "required": false
5811
6082
  },
6083
+ "presentation": {
6084
+ "type": "PanelNavPresentation",
6085
+ "required": false
6086
+ },
5812
6087
  "routeSelectionActive": {
5813
6088
  "type": "boolean",
5814
6089
  "required": false
@@ -5838,6 +6113,10 @@
5838
6113
  {
5839
6114
  "name": "dsClose",
5840
6115
  "detail": "void"
6116
+ },
6117
+ {
6118
+ "name": "dsNavChildSelect",
6119
+ "detail": "PanelNavChildSelectDetail"
5841
6120
  }
5842
6121
  ],
5843
6122
  "slots": []
@@ -7866,8 +8145,9 @@
7866
8145
  "The optional paperTexture property adds a decorative Paper Design texture layer above the gradient or solid chrome frame; its color values are literal shader inputs rather than design tokens.",
7867
8146
  "Dashboard represents day-to-day operational work while Settings represents administrative and configuration work; route state selects the context.",
7868
8147
  "Replace navigation and pageChrome together from one completed route state.",
7869
- "When pageChrome.showBack marks a detail depth, mobile chrome keeps the page heading as its identity and presents only local subsections; peer route tabs remain in desktop BarNav rather than replacing the detail heading.",
8148
+ "When pageChrome.showBack marks a detail depth, mobile chrome combines the page heading and active local subsection in one sheet trigger; peer route tabs remain in desktop BarNav rather than replacing the detail identity.",
7870
8149
  "Route-owned ordered page actions drive both BarTitle and MobileHeader. ShellApp forwards one flat page-action id and owns the derived mobile overflow menu so routes do not duplicate menu state or choices.",
8150
+ "Managed mobile Back and page-action controls use the same large touch density as the mobile navigation header without increasing the shared header height.",
7871
8151
  "Managed ShellApp keeps the selected desktop section-navigation presentation and ShellPage present and owns page header stickiness and the content scroller.",
7872
8152
  "Route-owned pageChrome independently selects ShellPage contentInset, page-header seams, scroll compaction, expanded and compact header-divider visibility, and contentSurface. ShellApp forwards them while resolving whether desktop title geometry is page-local or shell-bar-owned.",
7873
8153
  "The application filters unauthorized destinations, sections, and tools before passing them into shell components."
@@ -7879,9 +8159,9 @@
7879
8159
  "On desktop and tablet, panel section navigation replaces BarNav with compact BarTitle; collapsed PanelNav exposes child sections through its anchored flyout.",
7880
8160
  "When panel section navigation moves BarTitle into the shell bar, routed content starts at the standard 32px desktop or 16px tablet gutter and ShellPage reports no page-local sticky-header height.",
7881
8161
  "On mobile, ShellApp hides and inerts desktop chrome, uses a solid primary stage, and composes MobileHeader, MobileSheetNav, ShellTools, and the persistent MobileBarNav around the same application-owned content.",
7882
- "Changing sectionNavigation never changes mobile chrome; the preference may still be edited by an application Settings page.",
8162
+ "The section-navigation preference also selects mobile navigation: bar preserves flat area selection and the header section picker; panel expands child routes inline in MobileSheetNav and combines the page title with any local subsection in one sheet trigger.",
7883
8163
  "Opening MobileSheetNav temporarily overlays the active routed page or global tool; closing it without selecting an area restores that same destination and its nested state. The sheet exposes the router-derived current area only while the routed area owns the mobile stage, so a global tool never leaves an underlying route highlighted.",
7884
- "Selecting Help from the managed mobile sheet activates the configured Help tool and promotes Help to the primary mobile destination instead of forwarding it as route navigation.",
8164
+ "Selecting Help from the managed mobile sheet activates the configured Help tool and retains Help as the primary mobile destination across other tool selections until a routed area is selected or navigation changes. This mobile context does not alter desktop or tablet routing.",
7885
8165
  "Set navigation.showMobileAccount to false when the Settings destination collection already includes account and user preferences.",
7886
8166
  "When a suspended mobile document returns to the foreground, ShellApp refreshes the complete stage paint layer without remounting routed content or tool owners.",
7887
8167
  "When the application enables viewport-fit=cover, ShellApp reserves the shared top safe-area inset once for the complete mobile stage; nested routed, sheet, and tool headers must not add a second top inset.",
@@ -0,0 +1,20 @@
1
+ import { ChangeDetectorRef, ElementRef, NgZone, EventEmitter } from '@angular/core';
2
+ import type { Components } from '@ds-mo/ui/components';
3
+ import type { DsCardNavigationCustomEvent } from '@ds-mo/ui/components';
4
+ import type { CardNavigationDetail as IDsCardNavigationCardNavigationDetail } from '@ds-mo/ui/components';
5
+ import * as i0 from "@angular/core";
6
+ export declare class DsCardNavigation {
7
+ protected z: NgZone;
8
+ protected el: HTMLDsCardNavigationElement;
9
+ dsNavigate: EventEmitter<DsCardNavigationCustomEvent<IDsCardNavigationCardNavigationDetail>>;
10
+ constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<DsCardNavigation, never>;
12
+ static ɵcmp: i0.ɵɵComponentDeclaration<DsCardNavigation, "ds-card-navigation", never, { "cardWidth": { "alias": "cardWidth"; "required": false; }; "description": { "alias": "description"; "required": false; }; "heading": { "alias": "heading"; "required": true; }; "href": { "alias": "href"; "required": true; }; "variant": { "alias": "variant"; "required": false; }; }, { "dsNavigate": "dsNavigate"; }, never, ["*"], true, never>;
13
+ }
14
+ export declare interface DsCardNavigation extends Components.DsCardNavigation {
15
+ /**
16
+ * Emits before native navigation. Prevent this event to take over routing;
17
+ the component will then prevent the original link navigation.
18
+ */
19
+ dsNavigate: EventEmitter<DsCardNavigationCustomEvent<IDsCardNavigationCardNavigationDetail>>;
20
+ }
@@ -0,0 +1,42 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ /* tslint:disable */
8
+ /* auto-generated angular directive proxies */
9
+ import { ChangeDetectionStrategy, Component, EventEmitter, Output } from '@angular/core';
10
+ import { ProxyCmp } from './angular-component-lib/utils.js';
11
+ import { defineCustomElement as defineDsCardNavigation } from '@ds-mo/ui/components/ds-card-navigation.js';
12
+ import * as i0 from "@angular/core";
13
+ let DsCardNavigation = class DsCardNavigation {
14
+ constructor(c, r, z) {
15
+ this.z = z;
16
+ this.dsNavigate = new EventEmitter();
17
+ c.detach();
18
+ this.el = r.nativeElement;
19
+ }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: DsCardNavigation, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
21
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.0", type: DsCardNavigation, isStandalone: true, selector: "ds-card-navigation", inputs: { cardWidth: "cardWidth", description: "description", heading: "heading", href: "href", variant: "variant" }, outputs: { dsNavigate: "dsNavigate" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
22
+ };
23
+ DsCardNavigation = __decorate([
24
+ ProxyCmp({
25
+ defineCustomElementFn: defineDsCardNavigation,
26
+ inputs: ['cardWidth', 'description', 'heading', 'href', 'variant']
27
+ })
28
+ ], DsCardNavigation);
29
+ export { DsCardNavigation };
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: DsCardNavigation, decorators: [{
31
+ type: Component,
32
+ args: [{
33
+ selector: 'ds-card-navigation',
34
+ changeDetection: ChangeDetectionStrategy.OnPush,
35
+ template: '<ng-content></ng-content>',
36
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
37
+ inputs: ['cardWidth', 'description', { name: 'heading', required: true }, { name: 'href', required: true }, 'variant'],
38
+ outputs: ['dsNavigate'],
39
+ }]
40
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { dsNavigate: [{
41
+ type: Output
42
+ }] } });
@@ -0,0 +1,19 @@
1
+ import { ChangeDetectorRef, ElementRef, NgZone, EventEmitter } from '@angular/core';
2
+ import type { Components } from '@ds-mo/ui/components';
3
+ import type { DsCardSettingsScopeCustomEvent } from '@ds-mo/ui/components';
4
+ import type { SettingsScopeRequest as IDsCardSettingsScopeSettingsScopeRequest } from '@ds-mo/ui/components';
5
+ import * as i0 from "@angular/core";
6
+ export declare class DsCardSettingsScope {
7
+ protected z: NgZone;
8
+ protected el: HTMLDsCardSettingsScopeElement;
9
+ dsScopeRequest: EventEmitter<DsCardSettingsScopeCustomEvent<IDsCardSettingsScopeSettingsScopeRequest>>;
10
+ constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<DsCardSettingsScope, never>;
12
+ static ɵcmp: i0.ɵɵComponentDeclaration<DsCardSettingsScope, "ds-card-settings-scope", never, { "areaControls": { "alias": "areaControls"; "required": false; }; "areaExpanded": { "alias": "areaExpanded"; "required": false; }; "areaLabel": { "alias": "areaLabel"; "required": false; }; "forLabel": { "alias": "forLabel"; "required": false; }; "managingLabel": { "alias": "managingLabel"; "required": false; }; "profileControls": { "alias": "profileControls"; "required": false; }; "profileExpanded": { "alias": "profileExpanded"; "required": false; }; "profileLabel": { "alias": "profileLabel"; "required": false; }; "profilePopup": { "alias": "profilePopup"; "required": false; }; "scopeLabel": { "alias": "scopeLabel"; "required": false; }; }, { "dsScopeRequest": "dsScopeRequest"; }, never, ["*"], true, never>;
13
+ }
14
+ export declare interface DsCardSettingsScope extends Components.DsCardSettingsScope {
15
+ /**
16
+ * Requests a popup; the owner supplies choices, open state, and selection.
17
+ */
18
+ dsScopeRequest: EventEmitter<DsCardSettingsScopeCustomEvent<IDsCardSettingsScopeSettingsScopeRequest>>;
19
+ }
@@ -0,0 +1,42 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ /* tslint:disable */
8
+ /* auto-generated angular directive proxies */
9
+ import { ChangeDetectionStrategy, Component, EventEmitter, Output } from '@angular/core';
10
+ import { ProxyCmp } from './angular-component-lib/utils.js';
11
+ import { defineCustomElement as defineDsCardSettingsScope } from '@ds-mo/ui/components/ds-card-settings-scope.js';
12
+ import * as i0 from "@angular/core";
13
+ let DsCardSettingsScope = class DsCardSettingsScope {
14
+ constructor(c, r, z) {
15
+ this.z = z;
16
+ this.dsScopeRequest = new EventEmitter();
17
+ c.detach();
18
+ this.el = r.nativeElement;
19
+ }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: DsCardSettingsScope, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
21
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.0", type: DsCardSettingsScope, isStandalone: true, selector: "ds-card-settings-scope", inputs: { areaControls: "areaControls", areaExpanded: "areaExpanded", areaLabel: "areaLabel", forLabel: "forLabel", managingLabel: "managingLabel", profileControls: "profileControls", profileExpanded: "profileExpanded", profileLabel: "profileLabel", profilePopup: "profilePopup", scopeLabel: "scopeLabel" }, outputs: { dsScopeRequest: "dsScopeRequest" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
22
+ };
23
+ DsCardSettingsScope = __decorate([
24
+ ProxyCmp({
25
+ defineCustomElementFn: defineDsCardSettingsScope,
26
+ inputs: ['areaControls', 'areaExpanded', 'areaLabel', 'forLabel', 'managingLabel', 'profileControls', 'profileExpanded', 'profileLabel', 'profilePopup', 'scopeLabel']
27
+ })
28
+ ], DsCardSettingsScope);
29
+ export { DsCardSettingsScope };
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: DsCardSettingsScope, decorators: [{
31
+ type: Component,
32
+ args: [{
33
+ selector: 'ds-card-settings-scope',
34
+ changeDetection: ChangeDetectionStrategy.OnPush,
35
+ template: '<ng-content></ng-content>',
36
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
37
+ inputs: ['areaControls', 'areaExpanded', 'areaLabel', 'forLabel', 'managingLabel', 'profileControls', 'profileExpanded', 'profileLabel', 'profilePopup', 'scopeLabel'],
38
+ outputs: ['dsScopeRequest'],
39
+ }]
40
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { dsScopeRequest: [{
41
+ type: Output
42
+ }] } });
@@ -14,7 +14,7 @@ export declare class DsMenu {
14
14
  dsReorder: EventEmitter<DsMenuCustomEvent<IDsMenuMenuReorderDetail>>;
15
15
  constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
16
16
  static ɵfac: i0.ɵɵFactoryDeclaration<DsMenu, never>;
17
- static ɵcmp: i0.ɵɵComponentDeclaration<DsMenu, "ds-menu", never, { "align": { "alias": "align"; "required": false; }; "alignOffset": { "alias": "alignOffset"; "required": false; }; "anchor": { "alias": "anchor"; "required": false; }; "anchorAlignment": { "alias": "anchorAlignment"; "required": false; }; "anchorId": { "alias": "anchorId"; "required": false; }; "boundary": { "alias": "boundary"; "required": false; }; "initialFocusVisible": { "alias": "initialFocusVisible"; "required": false; }; "items": { "alias": "items"; "required": false; }; "menuLabel": { "alias": "menuLabel"; "required": false; }; "menuWidth": { "alias": "menuWidth"; "required": false; }; "minWidth": { "alias": "minWidth"; "required": false; }; "open": { "alias": "open"; "required": false; }; "sections": { "alias": "sections"; "required": false; }; "selectionMode": { "alias": "selectionMode"; "required": false; }; "side": { "alias": "side"; "required": false; }; "sideOffset": { "alias": "sideOffset"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "dsClose": "dsClose"; "dsAfterClose": "dsAfterClose"; "dsSelect": "dsSelect"; "dsSwatchSelect": "dsSwatchSelect"; "dsReorder": "dsReorder"; }, never, ["*"], true, never>;
17
+ static ɵcmp: i0.ɵɵComponentDeclaration<DsMenu, "ds-menu", never, { "align": { "alias": "align"; "required": false; }; "alignOffset": { "alias": "alignOffset"; "required": false; }; "anchor": { "alias": "anchor"; "required": false; }; "anchorAlignment": { "alias": "anchorAlignment"; "required": false; }; "anchorId": { "alias": "anchorId"; "required": false; }; "boundary": { "alias": "boundary"; "required": false; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; }; "initialFocusVisible": { "alias": "initialFocusVisible"; "required": false; }; "items": { "alias": "items"; "required": false; }; "menuLabel": { "alias": "menuLabel"; "required": false; }; "menuWidth": { "alias": "menuWidth"; "required": false; }; "minWidth": { "alias": "minWidth"; "required": false; }; "open": { "alias": "open"; "required": false; }; "sections": { "alias": "sections"; "required": false; }; "selectionMode": { "alias": "selectionMode"; "required": false; }; "side": { "alias": "side"; "required": false; }; "sideOffset": { "alias": "sideOffset"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "dsClose": "dsClose"; "dsAfterClose": "dsAfterClose"; "dsSelect": "dsSelect"; "dsSwatchSelect": "dsSwatchSelect"; "dsReorder": "dsReorder"; }, never, ["*"], true, never>;
18
18
  }
19
19
  export declare interface DsMenu extends Components.DsMenu {
20
20
  dsClose: EventEmitter<DsMenuCustomEvent<void>>;
@@ -22,12 +22,12 @@ let DsMenu = class DsMenu {
22
22
  this.el = r.nativeElement;
23
23
  }
24
24
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: DsMenu, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
25
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.0", type: DsMenu, isStandalone: true, selector: "ds-menu", inputs: { align: "align", alignOffset: "alignOffset", anchor: "anchor", anchorAlignment: "anchorAlignment", anchorId: "anchorId", boundary: "boundary", initialFocusVisible: "initialFocusVisible", items: "items", menuLabel: "menuLabel", menuWidth: "menuWidth", minWidth: "minWidth", open: "open", sections: "sections", selectionMode: "selectionMode", side: "side", sideOffset: "sideOffset", size: "size" }, outputs: { dsClose: "dsClose", dsAfterClose: "dsAfterClose", dsSelect: "dsSelect", dsSwatchSelect: "dsSwatchSelect", dsReorder: "dsReorder" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
25
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.0", type: DsMenu, isStandalone: true, selector: "ds-menu", inputs: { align: "align", alignOffset: "alignOffset", anchor: "anchor", anchorAlignment: "anchorAlignment", anchorId: "anchorId", boundary: "boundary", emptyMessage: "emptyMessage", initialFocusVisible: "initialFocusVisible", items: "items", menuLabel: "menuLabel", menuWidth: "menuWidth", minWidth: "minWidth", open: "open", sections: "sections", selectionMode: "selectionMode", side: "side", sideOffset: "sideOffset", size: "size" }, outputs: { dsClose: "dsClose", dsAfterClose: "dsAfterClose", dsSelect: "dsSelect", dsSwatchSelect: "dsSwatchSelect", dsReorder: "dsReorder" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
26
26
  };
27
27
  DsMenu = __decorate([
28
28
  ProxyCmp({
29
29
  defineCustomElementFn: defineDsMenu,
30
- inputs: ['align', 'alignOffset', 'anchor', 'anchorAlignment', 'anchorId', 'boundary', 'initialFocusVisible', 'items', 'menuLabel', 'menuWidth', 'minWidth', 'open', 'sections', 'selectionMode', 'side', 'sideOffset', 'size']
30
+ inputs: ['align', 'alignOffset', 'anchor', 'anchorAlignment', 'anchorId', 'boundary', 'emptyMessage', 'initialFocusVisible', 'items', 'menuLabel', 'menuWidth', 'minWidth', 'open', 'sections', 'selectionMode', 'side', 'sideOffset', 'size']
31
31
  })
32
32
  ], DsMenu);
33
33
  export { DsMenu };
@@ -38,7 +38,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.0", ngImpor
38
38
  changeDetection: ChangeDetectionStrategy.OnPush,
39
39
  template: '<ng-content></ng-content>',
40
40
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
41
- inputs: ['align', 'alignOffset', 'anchor', 'anchorAlignment', 'anchorId', 'boundary', 'initialFocusVisible', 'items', 'menuLabel', 'menuWidth', 'minWidth', 'open', 'sections', 'selectionMode', 'side', 'sideOffset', 'size'],
41
+ inputs: ['align', 'alignOffset', 'anchor', 'anchorAlignment', 'anchorId', 'boundary', 'emptyMessage', 'initialFocusVisible', 'items', 'menuLabel', 'menuWidth', 'minWidth', 'open', 'sections', 'selectionMode', 'side', 'sideOffset', 'size'],
42
42
  outputs: ['dsClose', 'dsAfterClose', 'dsSelect', 'dsSwatchSelect', 'dsReorder'],
43
43
  }]
44
44
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { dsClose: [{