@ds-mo/ui 15.1.1 → 15.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (227) hide show
  1. package/dist/.package-ready.json +1 -1
  2. package/dist/agent-patterns.json +2 -2
  3. package/dist/agent.json +286 -4
  4. package/dist/angular/ds-map-cluster-marker.d.ts +18 -0
  5. package/dist/angular/ds-map-cluster-marker.js +43 -0
  6. package/dist/angular/ds-map-entity-marker.d.ts +18 -0
  7. package/dist/angular/ds-map-entity-marker.js +43 -0
  8. package/dist/angular/index.d.ts +1 -1
  9. package/dist/angular/index.js +2 -0
  10. package/dist/angular/proxies.d.ts +2 -0
  11. package/dist/angular/proxies.js +2 -0
  12. package/dist/components/ds-agent-activity.js +1 -1
  13. package/dist/components/ds-agent-questionnaire.js +1 -1
  14. package/dist/components/ds-agent-response.js +1 -1
  15. package/dist/components/ds-agent-source-list.js +1 -1
  16. package/dist/components/ds-agent-tool-call.js +1 -1
  17. package/dist/components/ds-attachment-list.js +1 -1
  18. package/dist/components/ds-badge.js +1 -1
  19. package/dist/components/ds-banner.js +1 -1
  20. package/dist/components/ds-bar-action.js +1 -1
  21. package/dist/components/ds-bar-nav.js +1 -1
  22. package/dist/components/ds-bar-page-title.js +1 -1
  23. package/dist/components/ds-bar-title.js +1 -1
  24. package/dist/components/ds-bar-workflow.js +1 -1
  25. package/dist/components/ds-breadcrumb.js +1 -1
  26. package/dist/components/ds-button-filled.js +1 -1
  27. package/dist/components/ds-button-inverted.js +1 -1
  28. package/dist/components/ds-button-unfilled.js +1 -1
  29. package/dist/components/ds-calendar.js +1 -1
  30. package/dist/components/ds-card-action-center.js +1 -1
  31. package/dist/components/ds-card-chart.js +1 -1
  32. package/dist/components/ds-card-navigation.js +1 -1
  33. package/dist/components/ds-card-overview.js +1 -1
  34. package/dist/components/ds-card-setting.js +1 -1
  35. package/dist/components/ds-card-settings-scope.js +1 -1
  36. package/dist/components/ds-chart-legend.js +1 -1
  37. package/dist/components/ds-chart.js +1 -1
  38. package/dist/components/ds-checkbox.js +1 -1
  39. package/dist/components/ds-chip.js +1 -1
  40. package/dist/components/ds-code-block.js +1 -1
  41. package/dist/components/ds-conversation-list-item.js +1 -1
  42. package/dist/components/ds-conversation-list-section.js +1 -1
  43. package/dist/components/ds-conversation-list.js +1 -1
  44. package/dist/components/ds-data-customize.js +1 -1
  45. package/dist/components/ds-data-filter.js +1 -1
  46. package/dist/components/ds-data-group.js +1 -1
  47. package/dist/components/ds-data-preferences.js +1 -1
  48. package/dist/components/ds-data-saved-views.js +1 -1
  49. package/dist/components/ds-data-saved-views.js.map +1 -1
  50. package/dist/components/ds-data-search.js +1 -1
  51. package/dist/components/ds-data-sort.js +1 -1
  52. package/dist/components/ds-data-toolbar.js +1 -1
  53. package/dist/components/ds-empty-state.js +1 -1
  54. package/dist/components/ds-field.js +1 -1
  55. package/dist/components/ds-filter-menu.js +1 -1
  56. package/dist/components/ds-input-date.js +1 -1
  57. package/dist/components/ds-input-time.js +1 -1
  58. package/dist/components/ds-input.js +1 -1
  59. package/dist/components/ds-map-cluster-marker.d.ts +11 -0
  60. package/dist/components/ds-map-cluster-marker.js +2 -0
  61. package/dist/components/ds-map-cluster-marker.js.map +1 -0
  62. package/dist/components/ds-map-entity-marker.d.ts +11 -0
  63. package/dist/components/ds-map-entity-marker.js +2 -0
  64. package/dist/components/ds-map-entity-marker.js.map +1 -0
  65. package/dist/components/ds-markdown.js +1 -1
  66. package/dist/components/ds-menu.js +1 -1
  67. package/dist/components/ds-message-actions.js +1 -1
  68. package/dist/components/ds-message-bubble.js +1 -1
  69. package/dist/components/ds-message-composer.js +1 -1
  70. package/dist/components/ds-message-scroller.js +1 -1
  71. package/dist/components/ds-message.js +1 -1
  72. package/dist/components/ds-mobile-bar-nav.js +1 -1
  73. package/dist/components/ds-mobile-header.js +1 -1
  74. package/dist/components/ds-mobile-section-switcher.js +1 -1
  75. package/dist/components/ds-mobile-sheet-nav.js +1 -1
  76. package/dist/components/ds-modal.js +1 -1
  77. package/dist/components/ds-pagination.js +1 -1
  78. package/dist/components/ds-panel-nav.js +1 -1
  79. package/dist/components/ds-panel-sub-nav.js +1 -1
  80. package/dist/components/ds-panel-tool-header.js +1 -1
  81. package/dist/components/ds-panel-tool-search.js +1 -1
  82. package/dist/components/ds-panel-tools.js +1 -1
  83. package/dist/components/ds-paper-texture.js +1 -1
  84. package/dist/components/ds-radio.js +1 -1
  85. package/dist/components/ds-score.js +1 -1
  86. package/dist/components/ds-scroll-overlay.js +1 -1
  87. package/dist/components/ds-scroll-overlay.js.map +1 -1
  88. package/dist/components/ds-select.js +1 -1
  89. package/dist/components/ds-shell-app.js +1 -1
  90. package/dist/components/ds-shell-page.js +1 -1
  91. package/dist/components/ds-shell-tools.js +1 -1
  92. package/dist/components/ds-skeleton.js +1 -1
  93. package/dist/components/ds-slider.js +1 -1
  94. package/dist/components/ds-swatch-picker.js +1 -1
  95. package/dist/components/ds-switch.js +1 -1
  96. package/dist/components/ds-tab-group.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-time-picker.js +1 -1
  102. package/dist/components/ds-toast.js +1 -1
  103. package/dist/components/ds-tooltip-chart.js +1 -1
  104. package/dist/components/ds-tooltip.js +1 -1
  105. package/dist/components/ds-typing-indicator.js +1 -1
  106. package/dist/components/{p-CD4DZPy_.js → p-5SVmAjXY.js} +2 -2
  107. package/dist/components/{p-B_jdoM7e.js → p-B3CZvMXs.js} +2 -2
  108. package/dist/components/{p-Bn8I7iw6.js → p-B6qQaYkB.js} +2 -2
  109. package/dist/components/p-BCnzbfma.js +2 -0
  110. package/dist/components/{p-0qY_HDId.js.map → p-BCnzbfma.js.map} +1 -1
  111. package/dist/components/{p-D922f6Tb.js → p-BJJh-Bf7.js} +2 -2
  112. package/dist/components/{p-5URekSny.js → p-BLSSaVWm.js} +2 -2
  113. package/dist/components/{p-BciTtTwx.js → p-BLuqpHvp.js} +2 -2
  114. package/dist/components/{p-BciTtTwx.js.map → p-BLuqpHvp.js.map} +1 -1
  115. package/dist/components/{p-BeNa6tw5.js → p-BOhefRMt.js} +2 -2
  116. package/dist/components/{p-BKZdqJQB.js → p-BR5OC2PX.js} +2 -2
  117. package/dist/components/{p-CUcUHwI3.js → p-BX506yEW.js} +2 -2
  118. package/dist/components/{p-C6xVxqOn.js → p-BZ_e69zx.js} +2 -2
  119. package/dist/components/{p-DEW7r0U9.js → p-BfF4RZdp.js} +2 -2
  120. package/dist/components/{p-etifxiDc.js → p-Br5e83Fr.js} +2 -2
  121. package/dist/components/{p-8yBdCXCn.js → p-BtnTQp4K.js} +2 -2
  122. package/dist/components/{p-Di5FH7eh.js → p-Bv9rSkp0.js} +2 -2
  123. package/dist/components/{p-CiH4GG6r.js → p-BzYW1IqO.js} +2 -2
  124. package/dist/components/{p-DpoTwJAR.js → p-C0JkLR83.js} +2 -2
  125. package/dist/components/{p-CiJ1WR11.js → p-C1gaWjOm.js} +2 -2
  126. package/dist/components/{p-D0y7Sja6.js → p-C6Aavz9h.js} +2 -2
  127. package/dist/components/{p-DVOjjuXc.js → p-C6zycbhC.js} +2 -2
  128. package/dist/components/{p-BhJXmuRA.js → p-CNZ6-kWd.js} +2 -2
  129. package/dist/components/{p-DVINzOoK.js → p-CR-Jjdcn.js} +2 -2
  130. package/dist/components/{p-Dfs98tpL.js → p-CRk0TjQv.js} +2 -2
  131. package/dist/components/{p-DHICPS4n.js → p-CTGgXIXM.js} +2 -2
  132. package/dist/components/{p-Dw9sE6Iw.js → p-CZ7hxDy_.js} +2 -2
  133. package/dist/components/{p-CYzFfFcH.js → p-C_Ma6Xa-.js} +2 -2
  134. package/dist/components/{p-ZhP2tVmM.js → p-Cn6AfzeF.js} +2 -2
  135. package/dist/components/{p-Dn9QHL4O.js → p-Cu8o2rOz.js} +2 -2
  136. package/dist/components/{p-FIBCluwV.js → p-CuWPWC3t.js} +2 -2
  137. package/dist/components/{p-DOAybCp0.js → p-D5HxZrMA.js} +2 -2
  138. package/dist/components/{p-Dzndkdx5.js → p-D7K1ZHML.js} +2 -2
  139. package/dist/components/{p-CzIpquvw.js → p-DFO5lV_A.js} +2 -2
  140. package/dist/components/{p-CdGXzRP8.js → p-Dlp1HqgS.js} +2 -2
  141. package/dist/components/{p-0FYD2bev.js → p-Dqfc6Nvd.js} +2 -2
  142. package/dist/components/{p-CNxvnQ6A.js → p-DsLXlxt3.js} +2 -2
  143. package/dist/components/{p-ljbw3UMZ.js → p-ER5M085B.js} +2 -2
  144. package/dist/components/{p-xdmJCPCg.js → p-QWukusRL.js} +2 -2
  145. package/dist/components/{p-E5W27Fu_.js → p-UY63jmrO.js} +2 -2
  146. package/dist/components/{p-D1vQGJzc.js → p-YrnU2fM7.js} +2 -2
  147. package/dist/components/{p-Do2FJd1y.js → p-ZYWnJaye.js} +2 -2
  148. package/dist/components/{p-DwbcNDJF.js → p-ZwRLjD5M.js} +2 -2
  149. package/dist/components/p-lamoJZE4.js +2 -0
  150. package/dist/components/{p-BgQMEHRa.js.map → p-lamoJZE4.js.map} +1 -1
  151. package/dist/components/{p-CdgOLWX9.js → p-mV4vSjSK.js} +2 -2
  152. package/dist/components/{p-Cqc2U1ZQ.js → p-mux14tWZ.js} +2 -2
  153. package/dist/components/{p-C-3YqeTb.js → p-mxZoWfnS.js} +2 -2
  154. package/dist/components/{p-CmexIVnE.js → p-p0FVyEFa.js} +2 -2
  155. package/dist/components/{p-Bpd6YCo4.js → p-uADksYMl.js} +2 -2
  156. package/dist/components/{p-Bm7rqs3C.js → p-xhn1cZgU.js} +2 -2
  157. package/dist/components/{p-Bm7rqs3C.js.map → p-xhn1cZgU.js.map} +1 -1
  158. package/dist/docs/components.json +488 -1
  159. package/dist/lint/index.js +1 -1
  160. package/dist/mcp-data/registry/bar-title.json +2 -2
  161. package/dist/mcp-data/registry/map-cluster-marker.json +263 -0
  162. package/dist/mcp-data/registry/map-entity-marker.json +321 -0
  163. package/dist/mcp-data/registry/registry.json +291 -3
  164. package/dist/mcp-data/registry/shell-app.json +1 -1
  165. package/dist/mcp-data/registry/shell-page.json +3 -3
  166. package/dist/react/components.d.ts +2 -0
  167. package/dist/react/components.js +2 -0
  168. package/dist/react/ds-map-cluster-marker.d.ts +12 -0
  169. package/dist/react/ds-map-cluster-marker.js +12 -0
  170. package/dist/react/ds-map-entity-marker.d.ts +12 -0
  171. package/dist/react/ds-map-entity-marker.js +12 -0
  172. package/dist/types/components/MapClusterMarker/MapClusterMarker.d.ts +19 -0
  173. package/dist/types/components/MapEntityMarker/MapEntityMarker.d.ts +26 -0
  174. package/dist/types/components.d.ts +195 -0
  175. package/dist/vue/components.d.ts +2 -0
  176. package/dist/vue/components.js +2 -0
  177. package/dist/vue/ds-map-cluster-marker.d.ts +3 -0
  178. package/dist/vue/ds-map-cluster-marker.js +14 -0
  179. package/dist/vue/ds-map-entity-marker.d.ts +3 -0
  180. package/dist/vue/ds-map-entity-marker.js +17 -0
  181. package/package.json +1 -1
  182. package/dist/components/p-0qY_HDId.js +0 -2
  183. package/dist/components/p-BgQMEHRa.js +0 -2
  184. /package/dist/components/{p-CD4DZPy_.js.map → p-5SVmAjXY.js.map} +0 -0
  185. /package/dist/components/{p-B_jdoM7e.js.map → p-B3CZvMXs.js.map} +0 -0
  186. /package/dist/components/{p-Bn8I7iw6.js.map → p-B6qQaYkB.js.map} +0 -0
  187. /package/dist/components/{p-D922f6Tb.js.map → p-BJJh-Bf7.js.map} +0 -0
  188. /package/dist/components/{p-5URekSny.js.map → p-BLSSaVWm.js.map} +0 -0
  189. /package/dist/components/{p-BeNa6tw5.js.map → p-BOhefRMt.js.map} +0 -0
  190. /package/dist/components/{p-BKZdqJQB.js.map → p-BR5OC2PX.js.map} +0 -0
  191. /package/dist/components/{p-CUcUHwI3.js.map → p-BX506yEW.js.map} +0 -0
  192. /package/dist/components/{p-C6xVxqOn.js.map → p-BZ_e69zx.js.map} +0 -0
  193. /package/dist/components/{p-DEW7r0U9.js.map → p-BfF4RZdp.js.map} +0 -0
  194. /package/dist/components/{p-etifxiDc.js.map → p-Br5e83Fr.js.map} +0 -0
  195. /package/dist/components/{p-8yBdCXCn.js.map → p-BtnTQp4K.js.map} +0 -0
  196. /package/dist/components/{p-Di5FH7eh.js.map → p-Bv9rSkp0.js.map} +0 -0
  197. /package/dist/components/{p-CiH4GG6r.js.map → p-BzYW1IqO.js.map} +0 -0
  198. /package/dist/components/{p-DpoTwJAR.js.map → p-C0JkLR83.js.map} +0 -0
  199. /package/dist/components/{p-CiJ1WR11.js.map → p-C1gaWjOm.js.map} +0 -0
  200. /package/dist/components/{p-D0y7Sja6.js.map → p-C6Aavz9h.js.map} +0 -0
  201. /package/dist/components/{p-DVOjjuXc.js.map → p-C6zycbhC.js.map} +0 -0
  202. /package/dist/components/{p-BhJXmuRA.js.map → p-CNZ6-kWd.js.map} +0 -0
  203. /package/dist/components/{p-DVINzOoK.js.map → p-CR-Jjdcn.js.map} +0 -0
  204. /package/dist/components/{p-Dfs98tpL.js.map → p-CRk0TjQv.js.map} +0 -0
  205. /package/dist/components/{p-DHICPS4n.js.map → p-CTGgXIXM.js.map} +0 -0
  206. /package/dist/components/{p-Dw9sE6Iw.js.map → p-CZ7hxDy_.js.map} +0 -0
  207. /package/dist/components/{p-CYzFfFcH.js.map → p-C_Ma6Xa-.js.map} +0 -0
  208. /package/dist/components/{p-ZhP2tVmM.js.map → p-Cn6AfzeF.js.map} +0 -0
  209. /package/dist/components/{p-Dn9QHL4O.js.map → p-Cu8o2rOz.js.map} +0 -0
  210. /package/dist/components/{p-FIBCluwV.js.map → p-CuWPWC3t.js.map} +0 -0
  211. /package/dist/components/{p-DOAybCp0.js.map → p-D5HxZrMA.js.map} +0 -0
  212. /package/dist/components/{p-Dzndkdx5.js.map → p-D7K1ZHML.js.map} +0 -0
  213. /package/dist/components/{p-CzIpquvw.js.map → p-DFO5lV_A.js.map} +0 -0
  214. /package/dist/components/{p-CdGXzRP8.js.map → p-Dlp1HqgS.js.map} +0 -0
  215. /package/dist/components/{p-0FYD2bev.js.map → p-Dqfc6Nvd.js.map} +0 -0
  216. /package/dist/components/{p-CNxvnQ6A.js.map → p-DsLXlxt3.js.map} +0 -0
  217. /package/dist/components/{p-ljbw3UMZ.js.map → p-ER5M085B.js.map} +0 -0
  218. /package/dist/components/{p-xdmJCPCg.js.map → p-QWukusRL.js.map} +0 -0
  219. /package/dist/components/{p-E5W27Fu_.js.map → p-UY63jmrO.js.map} +0 -0
  220. /package/dist/components/{p-D1vQGJzc.js.map → p-YrnU2fM7.js.map} +0 -0
  221. /package/dist/components/{p-Do2FJd1y.js.map → p-ZYWnJaye.js.map} +0 -0
  222. /package/dist/components/{p-DwbcNDJF.js.map → p-ZwRLjD5M.js.map} +0 -0
  223. /package/dist/components/{p-CdgOLWX9.js.map → p-mV4vSjSK.js.map} +0 -0
  224. /package/dist/components/{p-Cqc2U1ZQ.js.map → p-mux14tWZ.js.map} +0 -0
  225. /package/dist/components/{p-C-3YqeTb.js.map → p-mxZoWfnS.js.map} +0 -0
  226. /package/dist/components/{p-CmexIVnE.js.map → p-p0FVyEFa.js.map} +0 -0
  227. /package/dist/components/{p-Bpd6YCo4.js.map → p-uADksYMl.js.map} +0 -0
@@ -1 +1 @@
1
- {"schemaVersion":1,"package":"@ds-mo/ui","version":"15.1.1","components":90,"digest":"24034f4a00a2d4933ff8eaf1327c5337c2f5adbe9bc4830c315a3da3aadb6885","completedAt":"2026-09-15T18:59:07.122Z"}
1
+ {"schemaVersion":1,"package":"@ds-mo/ui","version":"15.2.0","components":92,"digest":"d053eb3cc42971e7bf42a3c7d0532861567e9dc7fcd65cf0f313a4669daab021","completedAt":"2026-09-15T23:40:32.060Z"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": "1.0.0",
3
3
  "package": "@ds-mo/ui",
4
- "packageVersion": "15.1.1",
4
+ "packageVersion": "15.2.0",
5
5
  "kind": "patterns",
6
6
  "entries": [
7
7
  {
@@ -228,7 +228,7 @@
228
228
  "responsiveBehavior": [
229
229
  "ShellApp automatically resolves desktop at 1200px and wider, tablet from 768px through 1199px, and mobile below 768px.",
230
230
  "Desktop and tablet use PanelNav, PanelTools through ShellTools, and ShellPage chrome. sectionNavigation chooses either BarNav or nested PanelNav plus BarPageTitle in the shell bar.",
231
- "Panel section navigation removes page-local desktop title geometry: standard inset pages begin 32px below the shell bar on desktop and 16px below it on tablet, while full-bleed pages remain full bleed.",
231
+ "Panel section navigation removes page-local desktop title geometry: standard inset pages begin 16px below the shell bar on desktop and tablet, while full-bleed pages remain full bleed.",
232
232
  "Mobile uses MobileSheetNav, MobileBarNav, MobileHeader, ShellTools mobile presentation, and the same routed content owner. MobileBarNav paints its primary surface through the bottom safe-area inset so light browser chrome and application chrome meet without a secondary-surface seam.",
233
233
  "Below 768px the application root owns a 100dvh fixed stage with a 100vh fallback while ShellApp continues to fill its owner with height 100%; JavaScript viewport measurement synchronizes only the chrome wash and does not own layout height.",
234
234
  "With viewport-fit=cover, ShellApp consumes the shared top safe-area inset once and MobileBarNav consumes the persistent bottom inset; nested routed, tool, sheet, and consumer headers do not duplicate either inset.",
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": "15.1.1",
4
+ "packageVersion": "15.2.0",
5
5
  "kind": "components",
6
6
  "entries": [
7
7
  {
@@ -1644,7 +1644,7 @@
1644
1644
  "Dividers in sections or actions create separate Menu groups without becoming selectable rows.",
1645
1645
  "The overflow trigger uses its bordered treatment whenever any visible action sits beside it; overflow-only presentations keep the trigger borderless.",
1646
1646
  "Ordered actions preserve authored order, but only the first eligible filled button, unfilled button, icon button, labeled menu button, or split button renders beside the title. Remaining commands use the shared overflow, whose rows are text-only. Menu choices and overflowed split commands become separate rows and share the same flat action event.",
1647
- "expanded renders the larger heading, optional description, inset divider, and a full-width caption breadcrumb row above the title. The breadcrumb begins after 32px top padding; the following title and right-side actions share one top alignment. Compact renders 48px chrome with the existing icon Back action; constrained uses compact chrome and moves an auto-collapse primary action into overflow.",
1647
+ "expanded renders the larger heading, optional description, inset divider, and a full-width caption breadcrumb row above the title. The breadcrumb begins after 16px top padding; the following title and right-side actions share one top alignment. Compact renders 48px chrome with the existing icon Back action; constrained uses compact chrome and moves an auto-collapse primary action into overflow.",
1648
1648
  "The one visible ordered action collapses by default in constrained presentation. Use never for an exceptional action whose hierarchy must remain visible; explicit overflow actions never leave the shared menu.",
1649
1649
  "showDivider=false removes the bottom divider when the surrounding page composition supplies the boundary; showCompactDivider can independently restore or remove that boundary in compact and constrained variants.",
1650
1650
  "placement=shell-bar remains compact slotted chrome for advanced ShellApp composition. Managed panel-mode ShellApp uses BarPageTitle instead. It omits description and breadcrumb presentation and preserves applicable Back, section, primary, and overflow controls.",
@@ -8417,6 +8417,288 @@
8417
8417
  ],
8418
8418
  "componentDependencies": []
8419
8419
  },
8420
+ {
8421
+ "id": "component:ds-map-cluster-marker",
8422
+ "tag": "ds-map-cluster-marker",
8423
+ "name": "map-cluster-marker",
8424
+ "title": "MapClusterMarker",
8425
+ "summary": "Engine-independent map cluster button with compact count formatting and a hover or focus caption.",
8426
+ "intentStatus": "complete",
8427
+ "intent": {
8428
+ "audience": "general",
8429
+ "status": "experimental",
8430
+ "summary": "Engine-independent map cluster button with compact count formatting and a hover or focus caption.",
8431
+ "useWhen": [
8432
+ "An application map needs one interactive marker to represent several nearby entities.",
8433
+ "The map engine can mount a custom element and retain ownership of clustering, coordinates, anchoring, and camera behavior."
8434
+ ],
8435
+ "avoidWhen": [
8436
+ "The marker represents one vehicle, asset, person, or travel group; use MapEntityMarker.",
8437
+ "The count is a notification attached to another control; use Badge.",
8438
+ "The component would be asked to calculate clusters or own geographic and selected-entity business state."
8439
+ ],
8440
+ "alternatives": [
8441
+ {
8442
+ "when": "One map entity needs operating state, heading, and stale treatment.",
8443
+ "component": "component:ds-map-entity-marker",
8444
+ "reason": "MapEntityMarker owns single-entity marker semantics and geometry."
8445
+ },
8446
+ {
8447
+ "when": "A count supplements another non-map control.",
8448
+ "component": "component:ds-badge",
8449
+ "reason": "Badge owns compact notification and counter indicators."
8450
+ }
8451
+ ],
8452
+ "commonlyComposedWith": [
8453
+ "component:ds-map-entity-marker",
8454
+ "component:ds-text"
8455
+ ],
8456
+ "accessibility": [
8457
+ "The component renders a native button and label is its accessible action name. Prefer a label that includes the full count and outcome, such as ‘Zoom to 24 vehicles’.",
8458
+ "Caption is a supplemental visual identifier and is hidden from assistive technology to avoid duplicating label.",
8459
+ "Keyboard focus reveals the same caption as hover and uses the shared visible focus ring.",
8460
+ "The compact displayed count does not replace the full count in label."
8461
+ ],
8462
+ "states": [
8463
+ "count is rounded to a non-negative whole number and compacts with a k suffix at one thousand and above.",
8464
+ "dimmed is visual de-emphasis only. The map owner decides when selection context should dim cluster peers and keeps every cluster operable. A dimmed cluster returns to full opacity while hovered or keyboard-focused so its revealed caption remains legible.",
8465
+ "Activation emits dsClick without calculating a cluster expansion or changing camera state internally."
8466
+ ],
8467
+ "responsiveBehavior": [
8468
+ "Marker height and minimum width stay fixed across breakpoints so map-engine anchors remain stable; width grows only for the compact count.",
8469
+ "The map owner controls collision handling, overlays, and viewport-aware caption placement."
8470
+ ],
8471
+ "frameworkCaveats": {
8472
+ "customElements": [
8473
+ "A map engine that accepts an Element for a custom marker or div icon can mount ds-map-cluster-marker directly.",
8474
+ "Listen for dsClick and keep cluster membership, expansion zoom, z-index, coordinates, and camera movement in application state."
8475
+ ],
8476
+ "react": [
8477
+ "Pass count as a number and handle dsClick through the generated event binding."
8478
+ ],
8479
+ "angular": [
8480
+ "Bind count as a number and keep map-engine marker lifecycle in the owning map adapter."
8481
+ ]
8482
+ },
8483
+ "references": [
8484
+ {
8485
+ "label": "Storybook examples",
8486
+ "path": "src/wc/components/MapClusterMarker/MapClusterMarker.stories.ts"
8487
+ }
8488
+ ],
8489
+ "styling": {
8490
+ "rationale": "The component owns stable map anchoring geometry and semantic cluster recipes; the map engine owns host placement and stacking.",
8491
+ "protected": [
8492
+ {
8493
+ "properties": [
8494
+ "height",
8495
+ "min-width",
8496
+ "padding",
8497
+ "border-radius",
8498
+ "background",
8499
+ "color",
8500
+ "opacity"
8501
+ ],
8502
+ "reason": "Cluster geometry, count legibility, interaction treatment, and de-emphasis are one accessible visual recipe.",
8503
+ "props": [
8504
+ "count",
8505
+ "dimmed"
8506
+ ]
8507
+ }
8508
+ ],
8509
+ "customProperties": []
8510
+ }
8511
+ },
8512
+ "api": {
8513
+ "props": {
8514
+ "caption": {
8515
+ "type": "string",
8516
+ "required": false
8517
+ },
8518
+ "count": {
8519
+ "type": "number",
8520
+ "required": false
8521
+ },
8522
+ "dimmed": {
8523
+ "type": "boolean",
8524
+ "required": false
8525
+ },
8526
+ "label": {
8527
+ "type": "string",
8528
+ "required": true
8529
+ }
8530
+ },
8531
+ "events": [
8532
+ {
8533
+ "name": "dsClick",
8534
+ "detail": "MouseEvent"
8535
+ }
8536
+ ],
8537
+ "slots": []
8538
+ },
8539
+ "exports": {
8540
+ "customElement": "ds-map-cluster-marker",
8541
+ "react": "DsMapClusterMarker",
8542
+ "vue": "DsMapClusterMarker",
8543
+ "angular": "DsMapClusterMarker"
8544
+ },
8545
+ "dependencies": [
8546
+ "@ds-mo/ui",
8547
+ "@ds-mo/tokens"
8548
+ ],
8549
+ "componentDependencies": [
8550
+ "text"
8551
+ ]
8552
+ },
8553
+ {
8554
+ "id": "component:ds-map-entity-marker",
8555
+ "tag": "ds-map-entity-marker",
8556
+ "name": "map-entity-marker",
8557
+ "title": "MapEntityMarker",
8558
+ "summary": "Engine-independent map marker button for a vehicle, asset, person, or travel group with operating-state color, heading, stale treatment, and a hover or focus caption.",
8559
+ "intentStatus": "complete",
8560
+ "intent": {
8561
+ "audience": "general",
8562
+ "status": "experimental",
8563
+ "summary": "Engine-independent map marker button for a vehicle, asset, person, or travel group with operating-state color, heading, stale treatment, and a hover or focus caption.",
8564
+ "useWhen": [
8565
+ "An application map needs a consistent interactive marker for one entity.",
8566
+ "The map engine can mount a custom element and retain ownership of coordinates, anchoring, and camera behavior."
8567
+ ],
8568
+ "avoidWhen": [
8569
+ "Several nearby entities must be represented as one count; use MapClusterMarker.",
8570
+ "The content is a legend item or non-interactive status swatch.",
8571
+ "The component would be asked to own geographic coordinates, clustering, map-engine adapters, or selected-entity business state."
8572
+ ],
8573
+ "alternatives": [
8574
+ {
8575
+ "when": "Several nearby entities are represented by a compact count.",
8576
+ "component": "component:ds-map-cluster-marker",
8577
+ "reason": "MapClusterMarker owns cluster count formatting and cluster interaction geometry."
8578
+ }
8579
+ ],
8580
+ "commonlyComposedWith": [
8581
+ "component:ds-map-cluster-marker",
8582
+ "component:ds-icon"
8583
+ ],
8584
+ "accessibility": [
8585
+ "The component renders a native button and label is its accessible action name. Prefer an action-oriented label such as ‘Open vehicle 412’.",
8586
+ "Caption is a supplemental visual identifier and is hidden from assistive technology to avoid duplicating label.",
8587
+ "Keyboard focus reveals the same caption as hover and uses the shared visible focus ring.",
8588
+ "State and stale meaning must be present in nearby map legend or application detail content; do not rely on marker color alone.",
8589
+ "The stale outline remains differentiated by a dashed border in forced-colors mode."
8590
+ ],
8591
+ "states": [
8592
+ "state selects the semantic operating-state color. Use stale as a standalone state only when no last-known operating state is available.",
8593
+ "stale adds a dashed outline while preserving state, matching last-known map data.",
8594
+ "immobilized always renders the upright MapKey glyph instead of the entity icon so the state is identifiable without interpreting heading.",
8595
+ "heading rotates only MapEntityTravelGroup and MapEntityVehicle glyphs and is normalized to a clockwise value from 0 through 359 degrees. Immobilized, asset, person, and other glyphs remain upright.",
8596
+ "dimmed is visual de-emphasis only. The map owner decides when selection context should dim peer markers and keeps every marker operable. A dimmed marker returns to full opacity while hovered or keyboard-focused so its revealed caption remains legible.",
8597
+ "Activation emits dsClick without changing application selection internally."
8598
+ ],
8599
+ "responsiveBehavior": [
8600
+ "Marker geometry stays fixed across breakpoints so map-engine anchors remain stable.",
8601
+ "The map owner controls collision handling, overlays, and viewport-aware caption placement."
8602
+ ],
8603
+ "frameworkCaveats": {
8604
+ "customElements": [
8605
+ "A map engine that accepts an Element for a custom marker or div icon can mount ds-map-entity-marker directly.",
8606
+ "Listen for dsClick and keep selected entity, z-index, coordinates, and camera movement in application state."
8607
+ ],
8608
+ "react": [
8609
+ "Pass numeric heading as a property and handle dsClick through the generated event binding."
8610
+ ],
8611
+ "angular": [
8612
+ "Bind heading as a number and keep map-engine marker lifecycle in the owning map adapter."
8613
+ ]
8614
+ },
8615
+ "references": [
8616
+ {
8617
+ "label": "Storybook examples",
8618
+ "path": "src/wc/components/MapEntityMarker/MapEntityMarker.stories.ts"
8619
+ }
8620
+ ],
8621
+ "styling": {
8622
+ "rationale": "The component owns stable map anchoring geometry and semantic marker recipes; the map engine owns host placement and stacking.",
8623
+ "protected": [
8624
+ {
8625
+ "properties": [
8626
+ "width",
8627
+ "height",
8628
+ "min-width",
8629
+ "padding",
8630
+ "border",
8631
+ "border-radius",
8632
+ "background",
8633
+ "color",
8634
+ "opacity"
8635
+ ],
8636
+ "reason": "Marker geometry, operating-state colors, stale distinction, and de-emphasis are one accessible visual recipe.",
8637
+ "props": [
8638
+ "state",
8639
+ "stale",
8640
+ "dimmed"
8641
+ ]
8642
+ }
8643
+ ],
8644
+ "customProperties": []
8645
+ }
8646
+ },
8647
+ "api": {
8648
+ "props": {
8649
+ "caption": {
8650
+ "type": "string",
8651
+ "required": false
8652
+ },
8653
+ "dimmed": {
8654
+ "type": "boolean",
8655
+ "required": false
8656
+ },
8657
+ "heading": {
8658
+ "type": "number",
8659
+ "required": false
8660
+ },
8661
+ "icon": {
8662
+ "type": "string",
8663
+ "required": false
8664
+ },
8665
+ "label": {
8666
+ "type": "string",
8667
+ "required": true
8668
+ },
8669
+ "stale": {
8670
+ "type": "boolean",
8671
+ "required": false
8672
+ },
8673
+ "state": {
8674
+ "type": "MapEntityMarkerState",
8675
+ "required": false
8676
+ }
8677
+ },
8678
+ "events": [
8679
+ {
8680
+ "name": "dsClick",
8681
+ "detail": "MouseEvent"
8682
+ }
8683
+ ],
8684
+ "slots": []
8685
+ },
8686
+ "exports": {
8687
+ "customElement": "ds-map-entity-marker",
8688
+ "react": "DsMapEntityMarker",
8689
+ "vue": "DsMapEntityMarker",
8690
+ "angular": "DsMapEntityMarker"
8691
+ },
8692
+ "dependencies": [
8693
+ "@ds-mo/ui",
8694
+ "@ds-mo/tokens",
8695
+ "@ds-mo/icons"
8696
+ ],
8697
+ "componentDependencies": [
8698
+ "icon",
8699
+ "text"
8700
+ ]
8701
+ },
8420
8702
  {
8421
8703
  "id": "component:ds-markdown",
8422
8704
  "tag": "ds-markdown",
@@ -12303,7 +12585,7 @@
12303
12585
  "On desktop, PanelNav defaults expanded, permits user collapse or expansion, and respects the locally persisted desktop preference.",
12304
12586
  "On tablet, ShellApp keeps PanelNav permanently collapsed and prevents user expansion without overwriting the desktop preference.",
12305
12587
  "On desktop and tablet, panel section navigation replaces BarNav with BarPageTitle; collapsed PanelNav exposes child sections through its anchored flyout.",
12306
- "When panel section navigation moves BarPageTitle 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.",
12588
+ "When panel section navigation moves BarPageTitle into the shell bar, routed content starts at the standard 16px desktop and tablet gutter and ShellPage reports no page-local sticky-header height.",
12307
12589
  "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.",
12308
12590
  "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.",
12309
12591
  "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.",
@@ -12600,7 +12882,7 @@
12600
12882
  "A ShellPage-managed BarTitle remains concealed until headerCapacity is available and its rendered variant matches the resolved presentation, preventing a default-variant flash during route activation.",
12601
12883
  "responsiveMode=mobile hides and inerts the desktop header, exposes mobile-header, and disables desktop scroll-compaction geometry.",
12602
12884
  "Update headerCapacity synchronously with shell layout state so opening tools or crossing application breakpoints cannot briefly render the wrong presentation.",
12603
- "The default content inset is balanced on every side: 32px in desktop mode and 16px in tablet and mobile modes.",
12885
+ "The default content inset is balanced at 16px on every side in desktop, tablet, and mobile modes.",
12604
12886
  "When desktopHeaderPlacement=shell-bar, desktop and tablet ignore page-header-specific block-start seam overrides and expose --ds-shell-page-content-block-start-offset as the responsive gutter only; mobile keeps its MobileHeader geometry and existing seam.",
12605
12887
  "contentInsetBlockStart can independently remove the top gutter for table and canvas pages that should meet the sticky header; exact roomy and compact block-start sizes support pages whose seam changes with header capacity.",
12606
12888
  "The selected content surface persists unchanged across desktop, tablet, and mobile modes.",
@@ -0,0 +1,18 @@
1
+ import { ChangeDetectorRef, ElementRef, NgZone, EventEmitter } from '@angular/core';
2
+ import type { Components } from '@ds-mo/ui/components';
3
+ import type { DsMapClusterMarkerCustomEvent } from '@ds-mo/ui/components';
4
+ import * as i0 from "@angular/core";
5
+ export declare class DsMapClusterMarker {
6
+ protected z: NgZone;
7
+ protected el: HTMLDsMapClusterMarkerElement;
8
+ dsClick: EventEmitter<DsMapClusterMarkerCustomEvent<MouseEvent>>;
9
+ constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<DsMapClusterMarker, never>;
11
+ static ɵcmp: i0.ɵɵComponentDeclaration<DsMapClusterMarker, "ds-map-cluster-marker", never, { "caption": { "alias": "caption"; "required": false; }; "count": { "alias": "count"; "required": false; }; "dimmed": { "alias": "dimmed"; "required": false; }; "label": { "alias": "label"; "required": true; }; }, { "dsClick": "dsClick"; }, never, ["*"], true, never>;
12
+ }
13
+ export declare interface DsMapClusterMarker extends Components.DsMapClusterMarker {
14
+ /**
15
+ * Fired when the cluster's native button is activated.
16
+ */
17
+ dsClick: EventEmitter<DsMapClusterMarkerCustomEvent<MouseEvent>>;
18
+ }
@@ -0,0 +1,43 @@
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 defineDsMapClusterMarker } from '@ds-mo/ui/components/ds-map-cluster-marker.js';
12
+ import * as i0 from "@angular/core";
13
+ let DsMapClusterMarker = class DsMapClusterMarker {
14
+ constructor(c, r, z) {
15
+ this.z = z;
16
+ this.dsClick = 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: DsMapClusterMarker, 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: DsMapClusterMarker, isStandalone: true, selector: "ds-map-cluster-marker", inputs: { caption: "caption", count: "count", dimmed: "dimmed", label: "label" }, outputs: { dsClick: "dsClick" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
22
+ };
23
+ DsMapClusterMarker = __decorate([
24
+ ProxyCmp({
25
+ defineCustomElementFn: defineDsMapClusterMarker,
26
+ inputs: ['caption', 'count', 'dimmed', 'label'],
27
+ methods: ['setFocus']
28
+ })
29
+ ], DsMapClusterMarker);
30
+ export { DsMapClusterMarker };
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: DsMapClusterMarker, decorators: [{
32
+ type: Component,
33
+ args: [{
34
+ selector: 'ds-map-cluster-marker',
35
+ changeDetection: ChangeDetectionStrategy.OnPush,
36
+ template: '<ng-content></ng-content>',
37
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
38
+ inputs: ['caption', 'count', 'dimmed', { name: 'label', required: true }],
39
+ outputs: ['dsClick'],
40
+ }]
41
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { dsClick: [{
42
+ type: Output
43
+ }] } });
@@ -0,0 +1,18 @@
1
+ import { ChangeDetectorRef, ElementRef, NgZone, EventEmitter } from '@angular/core';
2
+ import type { Components } from '@ds-mo/ui/components';
3
+ import type { DsMapEntityMarkerCustomEvent } from '@ds-mo/ui/components';
4
+ import * as i0 from "@angular/core";
5
+ export declare class DsMapEntityMarker {
6
+ protected z: NgZone;
7
+ protected el: HTMLDsMapEntityMarkerElement;
8
+ dsClick: EventEmitter<DsMapEntityMarkerCustomEvent<MouseEvent>>;
9
+ constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<DsMapEntityMarker, never>;
11
+ static ɵcmp: i0.ɵɵComponentDeclaration<DsMapEntityMarker, "ds-map-entity-marker", never, { "caption": { "alias": "caption"; "required": false; }; "dimmed": { "alias": "dimmed"; "required": false; }; "heading": { "alias": "heading"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "label": { "alias": "label"; "required": true; }; "stale": { "alias": "stale"; "required": false; }; "state": { "alias": "state"; "required": false; }; }, { "dsClick": "dsClick"; }, never, ["*"], true, never>;
12
+ }
13
+ export declare interface DsMapEntityMarker extends Components.DsMapEntityMarker {
14
+ /**
15
+ * Fired when the marker's native button is activated.
16
+ */
17
+ dsClick: EventEmitter<DsMapEntityMarkerCustomEvent<MouseEvent>>;
18
+ }
@@ -0,0 +1,43 @@
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 defineDsMapEntityMarker } from '@ds-mo/ui/components/ds-map-entity-marker.js';
12
+ import * as i0 from "@angular/core";
13
+ let DsMapEntityMarker = class DsMapEntityMarker {
14
+ constructor(c, r, z) {
15
+ this.z = z;
16
+ this.dsClick = 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: DsMapEntityMarker, 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: DsMapEntityMarker, isStandalone: true, selector: "ds-map-entity-marker", inputs: { caption: "caption", dimmed: "dimmed", heading: "heading", icon: "icon", label: "label", stale: "stale", state: "state" }, outputs: { dsClick: "dsClick" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
22
+ };
23
+ DsMapEntityMarker = __decorate([
24
+ ProxyCmp({
25
+ defineCustomElementFn: defineDsMapEntityMarker,
26
+ inputs: ['caption', 'dimmed', 'heading', 'icon', 'label', 'stale', 'state'],
27
+ methods: ['setFocus']
28
+ })
29
+ ], DsMapEntityMarker);
30
+ export { DsMapEntityMarker };
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: DsMapEntityMarker, decorators: [{
32
+ type: Component,
33
+ args: [{
34
+ selector: 'ds-map-entity-marker',
35
+ changeDetection: ChangeDetectionStrategy.OnPush,
36
+ template: '<ng-content></ng-content>',
37
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
38
+ inputs: ['caption', 'dimmed', 'heading', 'icon', { name: 'label', required: true }, 'stale', 'state'],
39
+ outputs: ['dsClick'],
40
+ }]
41
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { dsClick: [{
42
+ type: Output
43
+ }] } });
@@ -1,2 +1,2 @@
1
1
  import * as d from './proxies';
2
- export declare const DIRECTIVES: (typeof d.DsAgentActivity | typeof d.DsAgentQuestionnaire | typeof d.DsAgentResponse | typeof d.DsAgentSourceList | typeof d.DsAgentToolCall | typeof d.DsAttachmentList | typeof d.DsAvatar | typeof d.DsBadge | typeof d.DsBanner | typeof d.DsBarAction | typeof d.DsBarNav | typeof d.DsBarPageTitle | typeof d.DsBarTitle | typeof d.DsBarWorkflow | typeof d.DsBreadcrumb | typeof d.DsButtonFilled | typeof d.DsButtonInverted | typeof d.DsButtonUnfilled | typeof d.DsCalendar | typeof d.DsCardActionCenter | typeof d.DsCardChart | typeof d.DsCardNavigation | typeof d.DsCardOverview | typeof d.DsCardSetting | typeof d.DsCardSettingsScope | typeof d.DsChartLegend | typeof d.DsChart | typeof d.DsCheckbox | typeof d.DsChip | typeof d.DsCodeBlock | typeof d.DsConversationListItem | typeof d.DsConversationListSection | typeof d.DsConversationList | typeof d.DsDataCustomize | typeof d.DsDataFilter | typeof d.DsDataGroup | typeof d.DsDataPreferences | typeof d.DsDataSavedViews | typeof d.DsDataSearch | typeof d.DsDataSort | typeof d.DsDataToolbar | typeof d.DsDivider | typeof d.DsEmptyState | typeof d.DsField | typeof d.DsFilterMenu | typeof d.DsIcon | typeof d.DsInputDate | typeof d.DsInputTime | typeof d.DsInput | typeof d.DsLoader | typeof d.DsMarkdown | typeof d.DsMenu | typeof d.DsMessageActions | typeof d.DsMessageBubble | typeof d.DsMessageComposer | typeof d.DsMessageScroller | typeof d.DsMessage | typeof d.DsMobileBarNav | typeof d.DsMobileHeader | typeof d.DsMobileSectionSwitcher | typeof d.DsMobileSheetNav | typeof d.DsModal | typeof d.DsPagination | typeof d.DsPanelNav | typeof d.DsPanelSubNav | typeof d.DsPanelToolHeader | typeof d.DsPanelToolSearch | typeof d.DsPanelTools | typeof d.DsPaperTexture | typeof d.DsRadio | typeof d.DsScore | typeof d.DsScrollOverlay | typeof d.DsSelect | typeof d.DsShellApp | typeof d.DsShellPage | typeof d.DsShellTools | typeof d.DsSkeleton | typeof d.DsSlider | typeof d.DsSwatchPicker | typeof d.DsSwitch | typeof d.DsTabGroup | typeof d.DsTable | typeof d.DsTag | typeof d.DsText | typeof d.DsTextarea | typeof d.DsTimePicker | typeof d.DsToast | typeof d.DsTooltipChart | typeof d.DsTooltip | typeof d.DsTypingIndicator)[];
2
+ export declare const DIRECTIVES: (typeof d.DsAgentActivity | typeof d.DsAgentQuestionnaire | typeof d.DsAgentResponse | typeof d.DsAgentSourceList | typeof d.DsAgentToolCall | typeof d.DsAttachmentList | typeof d.DsAvatar | typeof d.DsBadge | typeof d.DsBanner | typeof d.DsBarAction | typeof d.DsBarNav | typeof d.DsBarPageTitle | typeof d.DsBarTitle | typeof d.DsBarWorkflow | typeof d.DsBreadcrumb | typeof d.DsButtonFilled | typeof d.DsButtonInverted | typeof d.DsButtonUnfilled | typeof d.DsCalendar | typeof d.DsCardActionCenter | typeof d.DsCardChart | typeof d.DsCardNavigation | typeof d.DsCardOverview | typeof d.DsCardSetting | typeof d.DsCardSettingsScope | typeof d.DsChartLegend | typeof d.DsChart | typeof d.DsCheckbox | typeof d.DsChip | typeof d.DsCodeBlock | typeof d.DsConversationListItem | typeof d.DsConversationListSection | typeof d.DsConversationList | typeof d.DsDataCustomize | typeof d.DsDataFilter | typeof d.DsDataGroup | typeof d.DsDataPreferences | typeof d.DsDataSavedViews | typeof d.DsDataSearch | typeof d.DsDataSort | typeof d.DsDataToolbar | typeof d.DsDivider | typeof d.DsEmptyState | typeof d.DsField | typeof d.DsFilterMenu | typeof d.DsIcon | typeof d.DsInputDate | typeof d.DsInputTime | typeof d.DsInput | typeof d.DsLoader | typeof d.DsMapClusterMarker | typeof d.DsMapEntityMarker | typeof d.DsMarkdown | typeof d.DsMenu | typeof d.DsMessageActions | typeof d.DsMessageBubble | typeof d.DsMessageComposer | typeof d.DsMessageScroller | typeof d.DsMessage | typeof d.DsMobileBarNav | typeof d.DsMobileHeader | typeof d.DsMobileSectionSwitcher | typeof d.DsMobileSheetNav | typeof d.DsModal | typeof d.DsPagination | typeof d.DsPanelNav | typeof d.DsPanelSubNav | typeof d.DsPanelToolHeader | typeof d.DsPanelToolSearch | typeof d.DsPanelTools | typeof d.DsPaperTexture | typeof d.DsRadio | typeof d.DsScore | typeof d.DsScrollOverlay | typeof d.DsSelect | typeof d.DsShellApp | typeof d.DsShellPage | typeof d.DsShellTools | typeof d.DsSkeleton | typeof d.DsSlider | typeof d.DsSwatchPicker | typeof d.DsSwitch | typeof d.DsTabGroup | typeof d.DsTable | typeof d.DsTag | typeof d.DsText | typeof d.DsTextarea | typeof d.DsTimePicker | typeof d.DsToast | typeof d.DsTooltipChart | typeof d.DsTooltip | typeof d.DsTypingIndicator)[];
@@ -50,6 +50,8 @@ export const DIRECTIVES = [
50
50
  d.DsInputDate,
51
51
  d.DsInputTime,
52
52
  d.DsLoader,
53
+ d.DsMapClusterMarker,
54
+ d.DsMapEntityMarker,
53
55
  d.DsMarkdown,
54
56
  d.DsMenu,
55
57
  d.DsMessage,
@@ -52,6 +52,8 @@ export { DsInput } from './ds-input';
52
52
  export { DsInputDate } from './ds-input-date';
53
53
  export { DsInputTime } from './ds-input-time';
54
54
  export { DsLoader } from './ds-loader';
55
+ export { DsMapClusterMarker } from './ds-map-cluster-marker';
56
+ export { DsMapEntityMarker } from './ds-map-entity-marker';
55
57
  export { DsMarkdown } from './ds-markdown';
56
58
  export { DsMenu } from './ds-menu';
57
59
  export { DsMessage } from './ds-message';
@@ -53,6 +53,8 @@ export { DsInput } from './ds-input.js';
53
53
  export { DsInputDate } from './ds-input-date.js';
54
54
  export { DsInputTime } from './ds-input-time.js';
55
55
  export { DsLoader } from './ds-loader.js';
56
+ export { DsMapClusterMarker } from './ds-map-cluster-marker.js';
57
+ export { DsMapEntityMarker } from './ds-map-entity-marker.js';
56
58
  export { DsMarkdown } from './ds-markdown.js';
57
59
  export { DsMenu } from './ds-menu.js';
58
60
  export { DsMessage } from './ds-message.js';
@@ -1,2 +1,2 @@
1
- import{A as o,d as s}from"./p-DVINzOoK.js";const t=o;const p=s;export{t as DsAgentActivity,p as defineCustomElement};
1
+ import{A as o,d as s}from"./p-CR-Jjdcn.js";const t=o;const c=s;export{t as DsAgentActivity,c as defineCustomElement};
2
2
  //# sourceMappingURL=ds-agent-activity.js.map
@@ -1,2 +1,2 @@
1
- import{A as o,d as s}from"./p-B_jdoM7e.js";const t=o;const p=s;export{t as DsAgentQuestionnaire,p as defineCustomElement};
1
+ import{A as s,d as o}from"./p-B3CZvMXs.js";const t=s;const p=o;export{t as DsAgentQuestionnaire,p as defineCustomElement};
2
2
  //# sourceMappingURL=ds-agent-questionnaire.js.map
@@ -1,2 +1,2 @@
1
- import{p as s,H as e,h as t,a,t as o}from"./index.js";import{d as i}from"./p-DVINzOoK.js";import{d as r}from"./p-B_jdoM7e.js";import{d as n}from"./p-CzIpquvw.js";import{d}from"./p-BeNa6tw5.js";import{d as c}from"./p-8yBdCXCn.js";import{d as m}from"./p-ZhP2tVmM.js";import{d as l}from"./p-CiH4GG6r.js";import{d as u}from"./p-Dzndkdx5.js";import{d as f}from"./p-Cqc2U1ZQ.js";import{d as p}from"./p-BgQMEHRa.js";import{d as b}from"./p-DjkUFlDW.js";import{d as k}from"./p-0XTyQNRG.js";import{d as h}from"./p-FIBCluwV.js";import{d as g}from"./p-CUcUHwI3.js";import{d as y}from"./p-DOAybCp0.js";import{d as w}from"./p-DwbcNDJF.js";import{d as E}from"./p-CYzFfFcH.js";const j=()=>`.sc-ds-agent-response-h{display:block;width:100%;--ds-prose-text-max-inline-size:var(--dimension-panel-width-lg);-webkit-user-select:none;user-select:none}.agent-response.sc-ds-agent-response{display:grid;gap:var(--dimension-space-150);min-width:0;width:100%;-webkit-user-select:none;user-select:none}`;const x=s(class s extends e{constructor(s){super();if(s!==false){this.__registerHost()}this.messageId="";this.author="";this.showAuthor=true;this.timestamp="";this.parts=[];this.renderMode="parts";this.streaming=false;this.metadataVisibility="always"}renderPart(s){switch(s.type){case"markdown":return t("ds-markdown",{key:s.id,content:s.content,streaming:s.state==="streaming"});case"activity":return t("ds-agent-activity",{key:s.id,items:s.items});case"tool":return t("ds-agent-tool-call",{key:s.id,name:s.name,label:s.label,state:s.state,input:s.input,output:s.output,error:s.error});case"attachments":return t("ds-attachment-list",{key:s.id,items:s.items});case"sources":return t("ds-agent-source-list",{key:s.id,items:s.items});case"questionnaire":return t("ds-agent-questionnaire",{key:s.id,requestId:s.requestId,questions:s.questions,answers:s.answers,status:"answered"})}}render(){return t(a,{key:"076c618fd957a230e6e7d42285c35d2368223809"},t("ds-message",{key:"bb3175ce22e215646626583c40699ffe903f7f68",messageId:this.messageId,direction:"incoming",author:this.author,showAuthor:this.showAuthor,timestamp:this.timestamp,streaming:this.streaming,metadataVisibility:this.metadataVisibility},t("div",{key:"e91c1335f3d23f6f9c520507c96288576cfb1590",class:"agent-response"},this.renderMode==="composed"?t("slot",null):this.parts.map((s=>this.renderPart(s)))),t("slot",{key:"c88fa07ed04be5a59ac8d4acc33ff0952443c630",name:"footer",slot:"footer"}),t("slot",{key:"247ea0251b9bb0db4c7b192b86cef33a3a99db08",name:"metadata-actions",slot:"metadata-actions"}),t("slot",{key:"56eb3467e4b5b92e80ec81bb1a75a32444868f44",name:"actions",slot:"actions"})))}static get style(){return j()}},[262,"ds-agent-response",{messageId:[1,"message-id"],author:[1],showAuthor:[4,"show-author"],timestamp:[1],parts:[16],renderMode:[1,"render-mode"],streaming:[4],metadataVisibility:[1,"metadata-visibility"]}]);function v(){if(typeof customElements==="undefined"){return}const s=["ds-agent-response","ds-agent-activity","ds-agent-questionnaire","ds-agent-source-list","ds-agent-tool-call","ds-attachment-list","ds-badge","ds-button-filled","ds-button-unfilled","ds-checkbox","ds-code-block","ds-icon","ds-loader","ds-markdown","ds-message","ds-radio","ds-text","ds-tooltip"];s.forEach((s=>{switch(s){case"ds-agent-response":if(!customElements.get(o(s))){customElements.define(o(s),x)}break;case"ds-agent-activity":if(!customElements.get(o(s))){i()}break;case"ds-agent-questionnaire":if(!customElements.get(o(s))){r()}break;case"ds-agent-source-list":if(!customElements.get(o(s))){n()}break;case"ds-agent-tool-call":if(!customElements.get(o(s))){d()}break;case"ds-attachment-list":if(!customElements.get(o(s))){c()}break;case"ds-badge":if(!customElements.get(o(s))){m()}break;case"ds-button-filled":if(!customElements.get(o(s))){l()}break;case"ds-button-unfilled":if(!customElements.get(o(s))){u()}break;case"ds-checkbox":if(!customElements.get(o(s))){f()}break;case"ds-code-block":if(!customElements.get(o(s))){p()}break;case"ds-icon":if(!customElements.get(o(s))){b()}break;case"ds-loader":if(!customElements.get(o(s))){k()}break;case"ds-markdown":if(!customElements.get(o(s))){h()}break;case"ds-message":if(!customElements.get(o(s))){g()}break;case"ds-radio":if(!customElements.get(o(s))){y()}break;case"ds-text":if(!customElements.get(o(s))){w()}break;case"ds-tooltip":if(!customElements.get(o(s))){E()}break}}))}v();const C=x;const q=v;export{C as DsAgentResponse,q as defineCustomElement};
1
+ import{p as s,H as e,h as t,a,t as o}from"./index.js";import{d as i}from"./p-CR-Jjdcn.js";import{d as r}from"./p-B3CZvMXs.js";import{d as n}from"./p-DFO5lV_A.js";import{d}from"./p-BOhefRMt.js";import{d as c}from"./p-BtnTQp4K.js";import{d as m}from"./p-Cn6AfzeF.js";import{d as l}from"./p-BzYW1IqO.js";import{d as u}from"./p-D7K1ZHML.js";import{d as f}from"./p-mux14tWZ.js";import{d as p}from"./p-lamoJZE4.js";import{d as b}from"./p-DjkUFlDW.js";import{d as k}from"./p-0XTyQNRG.js";import{d as h}from"./p-CuWPWC3t.js";import{d as g}from"./p-BX506yEW.js";import{d as y}from"./p-D5HxZrMA.js";import{d as E}from"./p-ZwRLjD5M.js";import{d as j}from"./p-C_Ma6Xa-.js";const w=()=>`.sc-ds-agent-response-h{display:block;width:100%;--ds-prose-text-max-inline-size:var(--dimension-panel-width-lg);-webkit-user-select:none;user-select:none}.agent-response.sc-ds-agent-response{display:grid;gap:var(--dimension-space-150);min-width:0;width:100%;-webkit-user-select:none;user-select:none}`;const x=s(class s extends e{constructor(s){super();if(s!==false){this.__registerHost()}this.messageId="";this.author="";this.showAuthor=true;this.timestamp="";this.parts=[];this.renderMode="parts";this.streaming=false;this.metadataVisibility="always"}renderPart(s){switch(s.type){case"markdown":return t("ds-markdown",{key:s.id,content:s.content,streaming:s.state==="streaming"});case"activity":return t("ds-agent-activity",{key:s.id,items:s.items});case"tool":return t("ds-agent-tool-call",{key:s.id,name:s.name,label:s.label,state:s.state,input:s.input,output:s.output,error:s.error});case"attachments":return t("ds-attachment-list",{key:s.id,items:s.items});case"sources":return t("ds-agent-source-list",{key:s.id,items:s.items});case"questionnaire":return t("ds-agent-questionnaire",{key:s.id,requestId:s.requestId,questions:s.questions,answers:s.answers,status:"answered"})}}render(){return t(a,{key:"c6ccab21b3c1ef71766f4f24d175abe99df34aec"},t("ds-message",{key:"008da4d425fb6ec94a495e3d0ecc671234ec7c99",messageId:this.messageId,direction:"incoming",author:this.author,showAuthor:this.showAuthor,timestamp:this.timestamp,streaming:this.streaming,metadataVisibility:this.metadataVisibility},t("div",{key:"0b6ecf2cfb97a8913f68cea77e82c37093a16d91",class:"agent-response"},this.renderMode==="composed"?t("slot",null):this.parts.map((s=>this.renderPart(s)))),t("slot",{key:"c61567145719c93d1b42beea26d7510eaea7e610",name:"footer",slot:"footer"}),t("slot",{key:"8cf46034a2328c5a17a85d1e75f9f1487cd7c732",name:"metadata-actions",slot:"metadata-actions"}),t("slot",{key:"db0920dbd954f6ac466a2aebe1c13572ded4bfb5",name:"actions",slot:"actions"})))}static get style(){return w()}},[262,"ds-agent-response",{messageId:[1,"message-id"],author:[1],showAuthor:[4,"show-author"],timestamp:[1],parts:[16],renderMode:[1,"render-mode"],streaming:[4],metadataVisibility:[1,"metadata-visibility"]}]);function v(){if(typeof customElements==="undefined"){return}const s=["ds-agent-response","ds-agent-activity","ds-agent-questionnaire","ds-agent-source-list","ds-agent-tool-call","ds-attachment-list","ds-badge","ds-button-filled","ds-button-unfilled","ds-checkbox","ds-code-block","ds-icon","ds-loader","ds-markdown","ds-message","ds-radio","ds-text","ds-tooltip"];s.forEach((s=>{switch(s){case"ds-agent-response":if(!customElements.get(o(s))){customElements.define(o(s),x)}break;case"ds-agent-activity":if(!customElements.get(o(s))){i()}break;case"ds-agent-questionnaire":if(!customElements.get(o(s))){r()}break;case"ds-agent-source-list":if(!customElements.get(o(s))){n()}break;case"ds-agent-tool-call":if(!customElements.get(o(s))){d()}break;case"ds-attachment-list":if(!customElements.get(o(s))){c()}break;case"ds-badge":if(!customElements.get(o(s))){m()}break;case"ds-button-filled":if(!customElements.get(o(s))){l()}break;case"ds-button-unfilled":if(!customElements.get(o(s))){u()}break;case"ds-checkbox":if(!customElements.get(o(s))){f()}break;case"ds-code-block":if(!customElements.get(o(s))){p()}break;case"ds-icon":if(!customElements.get(o(s))){b()}break;case"ds-loader":if(!customElements.get(o(s))){k()}break;case"ds-markdown":if(!customElements.get(o(s))){h()}break;case"ds-message":if(!customElements.get(o(s))){g()}break;case"ds-radio":if(!customElements.get(o(s))){y()}break;case"ds-text":if(!customElements.get(o(s))){E()}break;case"ds-tooltip":if(!customElements.get(o(s))){j()}break}}))}v();const q=x;const M=v;export{q as DsAgentResponse,M as defineCustomElement};
2
2
  //# sourceMappingURL=ds-agent-response.js.map
@@ -1,2 +1,2 @@
1
- import{A as o,d as s}from"./p-CzIpquvw.js";const p=o;const t=s;export{p as DsAgentSourceList,t as defineCustomElement};
1
+ import{A as o,d as s}from"./p-DFO5lV_A.js";const t=o;const p=s;export{t as DsAgentSourceList,p as defineCustomElement};
2
2
  //# sourceMappingURL=ds-agent-source-list.js.map
@@ -1,2 +1,2 @@
1
- import{A as o,d as s}from"./p-BeNa6tw5.js";const t=o;const a=s;export{t as DsAgentToolCall,a as defineCustomElement};
1
+ import{A as o,d as s}from"./p-BOhefRMt.js";const t=o;const p=s;export{t as DsAgentToolCall,p as defineCustomElement};
2
2
  //# sourceMappingURL=ds-agent-tool-call.js.map
@@ -1,2 +1,2 @@
1
- import{A as o,d as s}from"./p-8yBdCXCn.js";const t=o;const n=s;export{t as DsAttachmentList,n as defineCustomElement};
1
+ import{A as o,d as s}from"./p-BtnTQp4K.js";const t=o;const p=s;export{t as DsAttachmentList,p as defineCustomElement};
2
2
  //# sourceMappingURL=ds-attachment-list.js.map
@@ -1,2 +1,2 @@
1
- import{B as o,d as s}from"./p-ZhP2tVmM.js";const t=o;const m=s;export{t as DsBadge,m as defineCustomElement};
1
+ import{B as o,d as s}from"./p-Cn6AfzeF.js";const t=o;const n=s;export{t as DsBadge,n as defineCustomElement};
2
2
  //# sourceMappingURL=ds-badge.js.map