@ds-mo/ui 3.0.1 → 3.1.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 (430) hide show
  1. package/dist/.build-stamp +1 -1
  2. package/dist/angular/angular-component-lib/utils.d.ts +9 -0
  3. package/dist/angular/angular-component-lib/utils.js +58 -0
  4. package/dist/angular/boolean-value-accessor.d.ts +9 -0
  5. package/dist/angular/boolean-value-accessor.js +37 -0
  6. package/dist/angular/ds-app-shell.d.ts +12 -0
  7. package/dist/angular/ds-app-shell.js +38 -0
  8. package/dist/angular/ds-badge.d.ts +12 -0
  9. package/dist/angular/ds-badge.js +38 -0
  10. package/dist/angular/ds-banner.d.ts +15 -0
  11. package/dist/angular/ds-banner.js +42 -0
  12. package/dist/angular/ds-bar-nav.d.ts +18 -0
  13. package/dist/angular/ds-bar-nav.js +42 -0
  14. package/dist/angular/ds-button-filled.d.ts +15 -0
  15. package/dist/angular/ds-button-filled.js +43 -0
  16. package/dist/angular/ds-button-unfilled.d.ts +17 -0
  17. package/dist/angular/ds-button-unfilled.js +46 -0
  18. package/dist/angular/ds-card-data-viz-donut.d.ts +18 -0
  19. package/dist/angular/ds-card-data-viz-donut.js +42 -0
  20. package/dist/angular/ds-card-setting.d.ts +18 -0
  21. package/dist/angular/ds-card-setting.js +42 -0
  22. package/dist/angular/ds-card.d.ts +12 -0
  23. package/dist/angular/ds-card.js +38 -0
  24. package/dist/angular/ds-chart-bar.d.ts +12 -0
  25. package/dist/angular/ds-chart-bar.js +38 -0
  26. package/dist/angular/ds-chart-donut.d.ts +19 -0
  27. package/dist/angular/ds-chart-donut.js +42 -0
  28. package/dist/angular/ds-chart-legend.d.ts +30 -0
  29. package/dist/angular/ds-chart-legend.js +45 -0
  30. package/dist/angular/ds-chart-line.d.ts +12 -0
  31. package/dist/angular/ds-chart-line.js +38 -0
  32. package/dist/angular/ds-checkbox.d.ts +15 -0
  33. package/dist/angular/ds-checkbox.js +42 -0
  34. package/dist/angular/ds-chip.d.ts +18 -0
  35. package/dist/angular/ds-chip.js +42 -0
  36. package/dist/angular/ds-divider.d.ts +12 -0
  37. package/dist/angular/ds-divider.js +38 -0
  38. package/dist/angular/ds-empty-state.d.ts +12 -0
  39. package/dist/angular/ds-empty-state.js +38 -0
  40. package/dist/angular/ds-field.d.ts +12 -0
  41. package/dist/angular/ds-field.js +38 -0
  42. package/dist/angular/ds-icon.d.ts +12 -0
  43. package/dist/angular/ds-icon.js +38 -0
  44. package/dist/angular/ds-input.d.ts +17 -0
  45. package/dist/angular/ds-input.js +46 -0
  46. package/dist/angular/ds-loader.d.ts +12 -0
  47. package/dist/angular/ds-loader.js +38 -0
  48. package/dist/angular/ds-menu.d.ts +24 -0
  49. package/dist/angular/ds-menu.js +48 -0
  50. package/dist/angular/ds-modal.d.ts +15 -0
  51. package/dist/angular/ds-modal.js +42 -0
  52. package/dist/angular/ds-pagination.d.ts +15 -0
  53. package/dist/angular/ds-pagination.js +42 -0
  54. package/dist/angular/ds-panel-nav.d.ts +42 -0
  55. package/dist/angular/ds-panel-nav.js +58 -0
  56. package/dist/angular/ds-panel-tools.d.ts +33 -0
  57. package/dist/angular/ds-panel-tools.js +49 -0
  58. package/dist/angular/ds-radio-group.d.ts +15 -0
  59. package/dist/angular/ds-radio-group.js +42 -0
  60. package/dist/angular/ds-select.d.ts +18 -0
  61. package/dist/angular/ds-select.js +42 -0
  62. package/dist/angular/ds-shell-gradient-picker.d.ts +16 -0
  63. package/dist/angular/ds-shell-gradient-picker.js +42 -0
  64. package/dist/angular/ds-shell-gradient-swatch.d.ts +16 -0
  65. package/dist/angular/ds-shell-gradient-swatch.js +42 -0
  66. package/dist/angular/ds-skeleton.d.ts +12 -0
  67. package/dist/angular/ds-skeleton.js +38 -0
  68. package/dist/angular/ds-slider.d.ts +15 -0
  69. package/dist/angular/ds-slider.js +42 -0
  70. package/dist/angular/ds-tab-group-nav.d.ts +20 -0
  71. package/dist/angular/ds-tab-group-nav.js +46 -0
  72. package/dist/angular/ds-tab-group.d.ts +15 -0
  73. package/dist/angular/ds-tab-group.js +42 -0
  74. package/dist/angular/ds-table.d.ts +33 -0
  75. package/dist/angular/ds-table.js +48 -0
  76. package/dist/angular/ds-tag.d.ts +12 -0
  77. package/dist/angular/ds-tag.js +38 -0
  78. package/dist/angular/ds-text.d.ts +12 -0
  79. package/dist/angular/ds-text.js +38 -0
  80. package/dist/angular/ds-toggle.d.ts +15 -0
  81. package/dist/angular/ds-toggle.js +42 -0
  82. package/dist/angular/ds-tooltip-data-viz.d.ts +12 -0
  83. package/dist/angular/ds-tooltip-data-viz.js +38 -0
  84. package/dist/angular/ds-tooltip.d.ts +12 -0
  85. package/dist/angular/ds-tooltip.js +38 -0
  86. package/dist/angular/index.d.ts +2 -0
  87. package/dist/angular/index.js +43 -0
  88. package/dist/angular/proxies.d.ts +44 -0
  89. package/dist/angular/proxies.js +45 -0
  90. package/dist/angular/radio-value-accessor.d.ts +8 -0
  91. package/dist/angular/radio-value-accessor.js +34 -0
  92. package/dist/angular/select-value-accessor.d.ts +8 -0
  93. package/dist/angular/select-value-accessor.js +34 -0
  94. package/dist/angular/text-value-accessor.d.ts +8 -0
  95. package/dist/angular/text-value-accessor.js +34 -0
  96. package/dist/angular/value-accessor.d.ts +18 -0
  97. package/dist/angular/value-accessor.js +39 -0
  98. package/dist/components/ds-bar-nav.js +1 -1
  99. package/dist/components/ds-bar-nav.js.map +1 -1
  100. package/dist/components/ds-button-filled.js +1 -1
  101. package/dist/components/ds-button-unfilled.js +1 -1
  102. package/dist/components/ds-card-data-viz-donut.js +1 -1
  103. package/dist/components/ds-card-data-viz-donut.js.map +1 -1
  104. package/dist/components/ds-card-setting.js +1 -1
  105. package/dist/components/ds-card-setting.js.map +1 -1
  106. package/dist/components/ds-chart-donut.js +1 -1
  107. package/dist/components/ds-chart-donut.js.map +1 -1
  108. package/dist/components/ds-chart-legend.js +1 -1
  109. package/dist/components/ds-chart-legend.js.map +1 -1
  110. package/dist/components/ds-checkbox.js +1 -1
  111. package/dist/components/ds-checkbox.js.map +1 -1
  112. package/dist/components/ds-chip.js +1 -1
  113. package/dist/components/ds-chip.js.map +1 -1
  114. package/dist/components/ds-empty-state.js +1 -1
  115. package/dist/components/ds-empty-state.js.map +1 -1
  116. package/dist/components/ds-input.js +1 -1
  117. package/dist/components/ds-input.js.map +1 -1
  118. package/dist/components/ds-menu.js +1 -1
  119. package/dist/components/ds-pagination.js +1 -1
  120. package/dist/components/ds-pagination.js.map +1 -1
  121. package/dist/components/ds-panel-nav.js +1 -1
  122. package/dist/components/ds-panel-nav.js.map +1 -1
  123. package/dist/components/ds-panel-tools.js +1 -1
  124. package/dist/components/ds-panel-tools.js.map +1 -1
  125. package/dist/components/ds-radio-group.js +1 -1
  126. package/dist/components/ds-radio-group.js.map +1 -1
  127. package/dist/components/ds-select.js +1 -1
  128. package/dist/components/ds-select.js.map +1 -1
  129. package/dist/components/ds-shell-gradient-picker.js +1 -1
  130. package/dist/components/ds-shell-gradient-swatch.js +1 -1
  131. package/dist/components/ds-tab-group-nav.js +1 -1
  132. package/dist/components/ds-tab-group.js +1 -1
  133. package/dist/components/ds-tab-group.js.map +1 -1
  134. package/dist/components/ds-table.js +1 -1
  135. package/dist/components/ds-table.js.map +1 -1
  136. package/dist/components/ds-toggle.js +1 -1
  137. package/dist/components/ds-toggle.js.map +1 -1
  138. package/dist/components/index.js +1 -1
  139. package/dist/components/index.js.map +1 -1
  140. package/dist/components/p-BBpASejH.js +2 -0
  141. package/dist/components/p-BBpASejH.js.map +1 -0
  142. package/dist/components/{p-D0gBLLJx.js → p-BFiaUYu7.js} +2 -2
  143. package/dist/components/p-BFiaUYu7.js.map +1 -0
  144. package/dist/components/p-CTK82RIw.js +2 -0
  145. package/dist/components/p-CTK82RIw.js.map +1 -0
  146. package/dist/components/{p-BSNlp8Di.js → p-Cp86p-11.js} +2 -2
  147. package/dist/components/{p-BSNlp8Di.js.map → p-Cp86p-11.js.map} +1 -1
  148. package/dist/components/{p-vlwhuqVn.js → p-DHjjwgku.js} +2 -2
  149. package/dist/components/{p-vlwhuqVn.js.map → p-DHjjwgku.js.map} +1 -1
  150. package/dist/components/{p-boPMASaQ.js → p-DOEMwKBb.js} +2 -2
  151. package/dist/components/{p-boPMASaQ.js.map → p-DOEMwKBb.js.map} +1 -1
  152. package/dist/components/{p-Co2kLhWu.js → p-DolYlDbY.js} +2 -2
  153. package/dist/components/p-DolYlDbY.js.map +1 -0
  154. package/dist/framework/angular.d.ts +6 -0
  155. package/dist/framework/angular.js +6 -0
  156. package/dist/lib/utils/format-compact-number.d.ts +1 -1
  157. package/dist/lib/utils/index.js +8 -1
  158. package/dist/lib/utils/index.js.map +2 -2
  159. package/dist/react/components.d.ts +44 -0
  160. package/{src/react/components.ts → dist/react/components.js} +0 -1
  161. package/dist/react/ds-app-shell.d.ts +9 -0
  162. package/dist/react/ds-app-shell.js +12 -0
  163. package/dist/react/ds-badge.d.ts +9 -0
  164. package/dist/react/ds-badge.js +12 -0
  165. package/dist/react/ds-banner.d.ts +12 -0
  166. package/dist/react/ds-banner.js +12 -0
  167. package/dist/react/ds-bar-nav.d.ts +12 -0
  168. package/dist/react/ds-bar-nav.js +12 -0
  169. package/dist/react/ds-button-filled.d.ts +12 -0
  170. package/dist/react/ds-button-filled.js +12 -0
  171. package/dist/react/ds-button-unfilled.d.ts +13 -0
  172. package/dist/react/ds-button-unfilled.js +15 -0
  173. package/dist/react/ds-card-data-viz-donut.d.ts +12 -0
  174. package/dist/react/ds-card-data-viz-donut.js +12 -0
  175. package/dist/react/ds-card-setting.d.ts +12 -0
  176. package/dist/react/ds-card-setting.js +12 -0
  177. package/dist/react/ds-card.d.ts +9 -0
  178. package/dist/react/ds-card.js +12 -0
  179. package/dist/react/ds-chart-bar.d.ts +9 -0
  180. package/dist/react/ds-chart-bar.js +12 -0
  181. package/dist/react/ds-chart-donut.d.ts +12 -0
  182. package/dist/react/ds-chart-donut.js +12 -0
  183. package/dist/react/ds-chart-legend.d.ts +16 -0
  184. package/dist/react/ds-chart-legend.js +15 -0
  185. package/dist/react/ds-chart-line.d.ts +9 -0
  186. package/dist/react/ds-chart-line.js +12 -0
  187. package/dist/react/ds-checkbox.d.ts +12 -0
  188. package/dist/react/ds-checkbox.js +12 -0
  189. package/dist/react/ds-chip.d.ts +12 -0
  190. package/dist/react/ds-chip.js +12 -0
  191. package/dist/react/ds-divider.d.ts +9 -0
  192. package/dist/react/ds-divider.js +12 -0
  193. package/dist/react/ds-empty-state.d.ts +9 -0
  194. package/dist/react/ds-empty-state.js +12 -0
  195. package/dist/react/ds-field.d.ts +9 -0
  196. package/dist/react/ds-field.js +12 -0
  197. package/dist/react/ds-icon.d.ts +9 -0
  198. package/dist/react/ds-icon.js +12 -0
  199. package/dist/react/ds-input.d.ts +13 -0
  200. package/dist/react/ds-input.js +15 -0
  201. package/dist/react/ds-loader.d.ts +9 -0
  202. package/dist/react/ds-loader.js +12 -0
  203. package/dist/react/ds-menu.d.ts +14 -0
  204. package/dist/react/ds-menu.js +16 -0
  205. package/dist/react/ds-modal.d.ts +12 -0
  206. package/dist/react/ds-modal.js +12 -0
  207. package/dist/react/ds-pagination.d.ts +12 -0
  208. package/dist/react/ds-pagination.js +12 -0
  209. package/dist/react/ds-panel-nav.d.ts +17 -0
  210. package/dist/react/ds-panel-nav.js +19 -0
  211. package/dist/react/ds-panel-tools.d.ts +17 -0
  212. package/dist/react/ds-panel-tools.js +16 -0
  213. package/dist/react/ds-radio-group.d.ts +12 -0
  214. package/dist/react/ds-radio-group.js +12 -0
  215. package/dist/react/ds-select.d.ts +12 -0
  216. package/dist/react/ds-select.js +12 -0
  217. package/dist/react/ds-shell-gradient-picker.d.ts +12 -0
  218. package/dist/react/ds-shell-gradient-picker.js +12 -0
  219. package/dist/react/ds-shell-gradient-swatch.d.ts +12 -0
  220. package/dist/react/ds-shell-gradient-swatch.js +12 -0
  221. package/dist/react/ds-skeleton.d.ts +9 -0
  222. package/dist/react/ds-skeleton.js +12 -0
  223. package/dist/react/ds-slider.d.ts +12 -0
  224. package/dist/react/ds-slider.js +12 -0
  225. package/dist/react/ds-tab-group-nav.d.ts +13 -0
  226. package/dist/react/ds-tab-group-nav.js +15 -0
  227. package/dist/react/ds-tab-group.d.ts +12 -0
  228. package/dist/react/ds-tab-group.js +12 -0
  229. package/dist/react/ds-table.d.ts +21 -0
  230. package/dist/react/ds-table.js +16 -0
  231. package/dist/react/ds-tag.d.ts +9 -0
  232. package/dist/react/ds-tag.js +12 -0
  233. package/dist/react/ds-text.d.ts +9 -0
  234. package/dist/react/ds-text.js +12 -0
  235. package/dist/react/ds-toggle.d.ts +12 -0
  236. package/dist/react/ds-toggle.js +12 -0
  237. package/dist/react/ds-tooltip-data-viz.d.ts +9 -0
  238. package/dist/react/ds-tooltip-data-viz.js +12 -0
  239. package/dist/react/ds-tooltip.d.ts +9 -0
  240. package/dist/react/ds-tooltip.js +12 -0
  241. package/dist/types/components/BarNav/BarNav.d.ts +1 -0
  242. package/dist/types/components/ButtonFilled/ButtonFilled.d.ts +1 -1
  243. package/dist/types/components/ButtonUnfilled/ButtonUnfilled.d.ts +1 -1
  244. package/dist/types/components/CardDataVizDonut/CardDataVizDonut.d.ts +1 -0
  245. package/dist/types/components/CardSetting/CardSetting.d.ts +3 -0
  246. package/dist/types/components/ChartDonut/ChartDonut.d.ts +2 -0
  247. package/dist/types/components/ChartLegend/ChartLegend.d.ts +1 -0
  248. package/dist/types/components/Checkbox/Checkbox.d.ts +12 -0
  249. package/dist/types/components/Chip/Chip.d.ts +2 -0
  250. package/dist/types/components/EmptyState/EmptyState.d.ts +2 -0
  251. package/dist/types/components/Input/Input.d.ts +14 -1
  252. package/dist/types/components/Menu/Menu.d.ts +2 -0
  253. package/dist/types/components/Pagination/Pagination.d.ts +3 -0
  254. package/dist/types/components/PanelNav/PanelNav.d.ts +7 -0
  255. package/dist/types/components/PanelTools/PanelTools.d.ts +2 -0
  256. package/dist/types/components/RadioGroup/RadioGroup.d.ts +13 -1
  257. package/dist/types/components/Select/Select.d.ts +13 -1
  258. package/dist/types/components/ShellGradientPicker/ShellGradientPicker.d.ts +1 -0
  259. package/dist/types/components/ShellGradientSwatch/ShellGradientSwatch.d.ts +1 -1
  260. package/dist/types/components/TabGroup/TabGroup.d.ts +1 -1
  261. package/dist/types/components/TabGroupNav/TabGroupNav.d.ts +1 -1
  262. package/dist/types/components/Table/Table.d.ts +6 -0
  263. package/dist/types/components/Toggle/Toggle.d.ts +12 -0
  264. package/dist/types/components.d.ts +525 -30
  265. package/dist/types/stencil-public-runtime.d.ts +1 -0
  266. package/dist/types/utils/format-compact-number.d.ts +1 -1
  267. package/package.json +58 -41
  268. package/dist/components/p-Co2kLhWu.js.map +0 -1
  269. package/dist/components/p-CsaW5gDM.js +0 -2
  270. package/dist/components/p-CsaW5gDM.js.map +0 -1
  271. package/dist/components/p-D0gBLLJx.js.map +0 -1
  272. package/dist/components/p-DEpLlQZK.js +0 -2
  273. package/dist/components/p-DEpLlQZK.js.map +0 -1
  274. package/src/angular/angular-component-lib/utils.ts +0 -65
  275. package/src/angular/index.ts +0 -45
  276. package/src/angular/proxies.ts +0 -1156
  277. package/src/react/ds-app-shell.ts +0 -26
  278. package/src/react/ds-badge.ts +0 -26
  279. package/src/react/ds-banner.ts +0 -27
  280. package/src/react/ds-bar-nav.ts +0 -27
  281. package/src/react/ds-button-filled.ts +0 -27
  282. package/src/react/ds-button-unfilled.ts +0 -33
  283. package/src/react/ds-card-data-viz-donut.ts +0 -27
  284. package/src/react/ds-card-setting.ts +0 -27
  285. package/src/react/ds-card.ts +0 -26
  286. package/src/react/ds-chart-bar.ts +0 -26
  287. package/src/react/ds-chart-donut.ts +0 -27
  288. package/src/react/ds-chart-legend.ts +0 -33
  289. package/src/react/ds-chart-line.ts +0 -26
  290. package/src/react/ds-checkbox.ts +0 -27
  291. package/src/react/ds-chip.ts +0 -27
  292. package/src/react/ds-divider.ts +0 -26
  293. package/src/react/ds-empty-state.ts +0 -26
  294. package/src/react/ds-field.ts +0 -26
  295. package/src/react/ds-icon.ts +0 -26
  296. package/src/react/ds-input.ts +0 -33
  297. package/src/react/ds-loader.ts +0 -26
  298. package/src/react/ds-menu.ts +0 -35
  299. package/src/react/ds-modal.ts +0 -27
  300. package/src/react/ds-pagination.ts +0 -27
  301. package/src/react/ds-panel-nav.ts +0 -41
  302. package/src/react/ds-panel-tools.ts +0 -35
  303. package/src/react/ds-radio-group.ts +0 -27
  304. package/src/react/ds-select.ts +0 -27
  305. package/src/react/ds-shell-gradient-picker.ts +0 -27
  306. package/src/react/ds-shell-gradient-swatch.ts +0 -27
  307. package/src/react/ds-skeleton.ts +0 -26
  308. package/src/react/ds-slider.ts +0 -27
  309. package/src/react/ds-tab-group-nav.ts +0 -33
  310. package/src/react/ds-tab-group.ts +0 -27
  311. package/src/react/ds-table.ts +0 -35
  312. package/src/react/ds-tag.ts +0 -26
  313. package/src/react/ds-text.ts +0 -26
  314. package/src/react/ds-toggle.ts +0 -27
  315. package/src/react/ds-tooltip-data-viz.ts +0 -26
  316. package/src/react/ds-tooltip.ts +0 -26
  317. package/src/wc/components/AppShell/AppShell.tsx +0 -377
  318. package/src/wc/components/Badge/Badge.tsx +0 -179
  319. package/src/wc/components/Badge/index.ts +0 -1
  320. package/src/wc/components/Banner/Banner.tsx +0 -156
  321. package/src/wc/components/BarNav/BarNav.tsx +0 -745
  322. package/src/wc/components/BarNav/bar-nav-dom-utils.ts +0 -23
  323. package/src/wc/components/BarNav/bar-nav-tabs-menu-utils.ts +0 -114
  324. package/src/wc/components/BarNav/bar-nav-types.ts +0 -3
  325. package/src/wc/components/BarNav/bar-nav-utils.ts +0 -67
  326. package/src/wc/components/BarNav/index.ts +0 -2
  327. package/src/wc/components/ButtonFilled/ButtonFilled.tsx +0 -171
  328. package/src/wc/components/ButtonFilled/index.ts +0 -7
  329. package/src/wc/components/ButtonUnfilled/ButtonUnfilled.tsx +0 -229
  330. package/src/wc/components/ButtonUnfilled/index.ts +0 -7
  331. package/src/wc/components/Card/Card.tsx +0 -78
  332. package/src/wc/components/Card/index.ts +0 -1
  333. package/src/wc/components/CardDataVizDonut/CardDataVizDonut.tsx +0 -108
  334. package/src/wc/components/CardDataVizDonut/index.ts +0 -1
  335. package/src/wc/components/CardSetting/CardSetting.tsx +0 -81
  336. package/src/wc/components/CardSetting/index.ts +0 -1
  337. package/src/wc/components/ChartBar/ChartBar.tsx +0 -88
  338. package/src/wc/components/ChartBar/index.ts +0 -1
  339. package/src/wc/components/ChartDonut/ChartDonut.tsx +0 -289
  340. package/src/wc/components/ChartDonut/index.ts +0 -1
  341. package/src/wc/components/ChartLegend/ChartLegend.tsx +0 -125
  342. package/src/wc/components/ChartLegend/index.ts +0 -2
  343. package/src/wc/components/ChartLine/ChartLine.tsx +0 -102
  344. package/src/wc/components/ChartLine/index.ts +0 -1
  345. package/src/wc/components/Checkbox/Checkbox.tsx +0 -60
  346. package/src/wc/components/Checkbox/index.ts +0 -1
  347. package/src/wc/components/Chip/Chip.tsx +0 -104
  348. package/src/wc/components/Chip/index.ts +0 -1
  349. package/src/wc/components/Divider/Divider.tsx +0 -107
  350. package/src/wc/components/Divider/index.ts +0 -2
  351. package/src/wc/components/EmptyState/EmptyState.tsx +0 -30
  352. package/src/wc/components/Field/Field.tsx +0 -30
  353. package/src/wc/components/Icon/Icon.tsx +0 -172
  354. package/src/wc/components/Icon/flag-icon-catalog.ts +0 -36
  355. package/src/wc/components/Icon/icon-cache.ts +0 -47
  356. package/src/wc/components/Icon/icon-svg.ts +0 -73
  357. package/src/wc/components/Icon/index.ts +0 -1
  358. package/src/wc/components/Icon/system-icon-catalog.ts +0 -401
  359. package/src/wc/components/Input/Input.tsx +0 -107
  360. package/src/wc/components/Input/index.ts +0 -1
  361. package/src/wc/components/Loader/Loader.tsx +0 -99
  362. package/src/wc/components/Loader/index.ts +0 -1
  363. package/src/wc/components/Menu/Menu.tsx +0 -437
  364. package/src/wc/components/Menu/menu-placement.ts +0 -26
  365. package/src/wc/components/Menu/menu-position.ts +0 -78
  366. package/src/wc/components/Menu/menu-types.ts +0 -39
  367. package/src/wc/components/Modal/Modal.tsx +0 -213
  368. package/src/wc/components/Pagination/Pagination.tsx +0 -97
  369. package/src/wc/components/PanelNav/PanelNav.tsx +0 -714
  370. package/src/wc/components/PanelNav/index.ts +0 -17
  371. package/src/wc/components/PanelNav/panel-nav-types.ts +0 -36
  372. package/src/wc/components/PanelNav/panel-nav-utils.ts +0 -79
  373. package/src/wc/components/PanelTools/PanelTools.tsx +0 -366
  374. package/src/wc/components/PanelTools/index.ts +0 -7
  375. package/src/wc/components/PanelTools/panel-tools-types.ts +0 -44
  376. package/src/wc/components/PanelTools/panel-tools-utils.ts +0 -50
  377. package/src/wc/components/RadioGroup/RadioGroup.tsx +0 -130
  378. package/src/wc/components/RadioGroup/index.ts +0 -1
  379. package/src/wc/components/Select/Select.tsx +0 -274
  380. package/src/wc/components/Select/index.ts +0 -1
  381. package/src/wc/components/ShellGradientPicker/ShellGradientPicker.tsx +0 -55
  382. package/src/wc/components/ShellGradientSwatch/ShellGradientSwatch.tsx +0 -69
  383. package/src/wc/components/ShellGradientSwatch/shell-gradient-swatch-types.ts +0 -17
  384. package/src/wc/components/Skeleton/Skeleton.tsx +0 -64
  385. package/src/wc/components/Skeleton/index.ts +0 -1
  386. package/src/wc/components/Slider/Slider.tsx +0 -76
  387. package/src/wc/components/Slider/index.ts +0 -1
  388. package/src/wc/components/TabGroup/TabGroup.tsx +0 -204
  389. package/src/wc/components/TabGroup/tab-item-utils.ts +0 -25
  390. package/src/wc/components/TabGroupNav/TabGroupNav.tsx +0 -347
  391. package/src/wc/components/Table/Table.tsx +0 -273
  392. package/src/wc/components/Tag/Tag.tsx +0 -63
  393. package/src/wc/components/Tag/index.ts +0 -1
  394. package/src/wc/components/Text/Text.tsx +0 -99
  395. package/src/wc/components/Text/index.ts +0 -12
  396. package/src/wc/components/Text/text-types.ts +0 -23
  397. package/src/wc/components/Text/text-utils.ts +0 -13
  398. package/src/wc/components/Toggle/Toggle.tsx +0 -43
  399. package/src/wc/components/Toggle/index.ts +0 -1
  400. package/src/wc/components/Tooltip/Tooltip.tsx +0 -413
  401. package/src/wc/components/TooltipDataViz/TooltipDataViz.tsx +0 -145
  402. package/src/wc/components/TooltipDataViz/index.ts +0 -1
  403. package/src/wc/components.d.ts +0 -3569
  404. package/src/wc/nav/badge-gradient-ring.ts +0 -109
  405. package/src/wc/nav/chrome-transition.ts +0 -62
  406. package/src/wc/nav/index.ts +0 -80
  407. package/src/wc/nav/nav-chrome.ts +0 -47
  408. package/src/wc/nav/shell-chrome-metrics.ts +0 -49
  409. package/src/wc/nav/shell-gradient-presets.ts +0 -60
  410. package/src/wc/nav/shell-gradient.ts +0 -94
  411. package/src/wc/nav/shell-shortcuts.ts +0 -63
  412. package/src/wc/nav/shell-view-transition.ts +0 -122
  413. package/src/wc/utils/chart-colors.ts +0 -7
  414. package/src/wc/utils/chart-types.ts +0 -25
  415. package/src/wc/utils/control-density.css +0 -43
  416. package/src/wc/utils/control-inactive.css +0 -20
  417. package/src/wc/utils/control-text.ts +0 -11
  418. package/src/wc/utils/control-width.css +0 -28
  419. package/src/wc/utils/control-width.ts +0 -10
  420. package/src/wc/utils/focus-ring.css +0 -33
  421. package/src/wc/utils/format-compact-number.ts +0 -27
  422. package/src/wc/utils/index.ts +0 -27
  423. package/src/wc/utils/interaction-fill.css +0 -162
  424. package/src/wc/utils/resolve-css-length-px.ts +0 -66
  425. package/src/wc/utils/resolve-css-time-ms.ts +0 -46
  426. package/src/wc/utils/scroll-edge-fade.css +0 -80
  427. package/src/wc/utils/scroll-edge-fade.ts +0 -148
  428. package/src/wc/utils/token-defaults.ts +0 -81
  429. package/src/wc/utils/truncate-svg-text.ts +0 -25
  430. package/src/wc/utils/typography.css +0 -146
@@ -1,17 +0,0 @@
1
- export type {
2
- PanelNavRouterMode,
3
- PanelNavItem,
4
- PanelNavGroup,
5
- PanelNavUserActionDetail,
6
- } from './panel-nav-types';
7
- export { PANEL_NAV_USER_MENU_ANCHOR_ID, PANEL_NAV_USER_MENU_PLACEMENT } from './panel-nav-types';
8
- export type { NavChromeStyle } from '../../nav/nav-chrome';
9
- export {
10
- NAV_STYLE_HINT_ATTR,
11
- setNavStyleHint,
12
- clearNavStyleHint,
13
- resolvePanelNavStyle,
14
- shouldResyncPanelNavStyle,
15
- deriveActiveIdFromUrl,
16
- parsePanelNavGroups,
17
- } from './panel-nav-utils';
@@ -1,36 +0,0 @@
1
- import type { MenuPlacement } from '../Menu/menu-placement';
2
- import { PANEL_NAV_USER_MENU_PLACEMENT } from '../Menu/menu-placement';
3
- import type { NavChromeStyle } from '../../nav/nav-chrome';
4
-
5
- export type { NavChromeStyle };
6
- export type PanelNavRouterMode = 'anchor' | 'event';
7
-
8
- export interface PanelNavItem {
9
- id: string;
10
- icon: string;
11
- label: string;
12
- /** Show a notification dot badge on the item */
13
- dot?: boolean;
14
- flag?: boolean;
15
- /** Route path used for `currentUrl` matching. In `anchor` mode also sets `<a href>`.
16
- * In `event` mode navigation is delegated to the host via `dsNavSelect`. */
17
- href?: string;
18
- }
19
-
20
- export interface PanelNavGroup {
21
- id?: string;
22
- label?: string;
23
- items: PanelNavItem[];
24
- }
25
-
26
- /** Stable `id` on the footer user button — use with `ds-menu` `anchor-id`. */
27
- export const PANEL_NAV_USER_MENU_ANCHOR_ID = 'ds-panel-nav-user-menu-anchor';
28
-
29
- /** Detail for `dsNavUserAction` — anchor element for an external `ds-menu`. */
30
- export interface PanelNavUserActionDetail {
31
- anchor: HTMLElement;
32
- /** Recommended `ds-menu` placement — spread onto external user menu instance. */
33
- menuPlacement: MenuPlacement;
34
- }
35
-
36
- export { PANEL_NAV_USER_MENU_PLACEMENT };
@@ -1,79 +0,0 @@
1
- import type { PanelNavGroup, PanelNavItem } from './panel-nav-types';
2
- import {
3
- NAV_STYLE_HINT_ATTR,
4
- clearNavStyleHint,
5
- readNavStyleAttr,
6
- resolveNavChromeStyle,
7
- setNavStyleHint,
8
- shouldResyncNavChromeStyle,
9
- } from '../../nav/nav-chrome';
10
-
11
- export type { NavChromeStyle } from '../../nav/nav-chrome';
12
- export {
13
- NAV_STYLE_HINT_ATTR,
14
- readNavStyleAttr,
15
- setNavStyleHint,
16
- clearNavStyleHint,
17
- resolveNavChromeStyle as resolvePanelNavStyle,
18
- shouldResyncNavChromeStyle as shouldResyncPanelNavStyle,
19
- };
20
-
21
- /** Whether `path` matches `href` at a segment boundary (exact or child path). */
22
- export function hrefMatchesPath(path: string, href: string): boolean {
23
- return path === href || path.startsWith(`${href}/`);
24
- }
25
-
26
- /** Derive the active nav item id from a URL using longest segment-boundary prefix match. */
27
- export function deriveActiveIdFromUrl(path: string, items: PanelNavItem[]): string {
28
- if (!path) return '';
29
-
30
- let bestId = '';
31
- let bestLen = 0;
32
-
33
- for (const item of items) {
34
- if (!item.href) continue;
35
- if (hrefMatchesPath(path, item.href) && item.href.length > bestLen) {
36
- bestId = item.id;
37
- bestLen = item.href.length;
38
- }
39
- }
40
-
41
- return bestId;
42
- }
43
-
44
- /** Total nav item count across all groups. */
45
- export function countPanelNavItems(groups: PanelNavGroup[]): number {
46
- return groups.reduce((sum, g) => sum + g.items.length, 0);
47
- }
48
-
49
- /** Parse `groups` from either a JSON attribute string or a JS property array. */
50
- export function parsePanelNavGroups(groups: string | unknown): PanelNavGroup[] {
51
- if (Array.isArray(groups)) return groups;
52
- if (typeof groups === 'string') {
53
- try {
54
- const parsed = JSON.parse(groups);
55
- return Array.isArray(parsed) ? parsed : [];
56
- } catch {
57
- return [];
58
- }
59
- }
60
- return [];
61
- }
62
-
63
- /** Resolve whether VT is disabled from prop and/or host attribute. */
64
- export function resolvePanelNavDisableVt(prop: boolean, attr: string | null): boolean {
65
- if (prop) return true;
66
- if (attr === null) return false;
67
- return attr !== 'false';
68
- }
69
-
70
- /** True when host `groups` has items but internal parsed state is still empty. */
71
- export function shouldResyncPanelNavGroups(
72
- parsedGroups: PanelNavGroup[],
73
- groups: string | unknown,
74
- ): boolean {
75
- return (
76
- countPanelNavItems(parsedGroups) === 0 &&
77
- countPanelNavItems(parsePanelNavGroups(groups)) > 0
78
- );
79
- }
@@ -1,366 +0,0 @@
1
- import { Component, Prop, Event, EventEmitter, Element, State, Watch, Method, h, Host } from '@stencil/core';
2
- import type { ChromeTransitionDetail } from '../../nav/chrome-transition';
3
- import {
4
- PANEL_TOOLS_FOOTER_TOOL_ID,
5
- PANEL_TOOLS_LABELS,
6
- PANEL_TOOLS_PRIMARY_TOOL_ID,
7
- type PanelToolsItem,
8
- type PanelToolsToolId,
9
- } from './panel-tools-types';
10
- import { parsePanelToolsItems, panelToolsDrawerResting, resolvePanelToolActivation } from './panel-tools-utils';
11
-
12
- @Component({
13
- tag: 'ds-panel-tools',
14
- styleUrl: 'PanelTools.css',
15
- scoped: true,
16
- })
17
- export class PanelTools {
18
- @Element() el!: HTMLElement;
19
-
20
- /** When false, only the icon rail is shown. */
21
- @Prop({ mutable: true, reflect: true }) open: boolean = false;
22
-
23
- /** Active tool view — `search`, `agents`, `messages`, `stacks`, `activity`, or `help`. */
24
- @Prop({ mutable: true, attribute: 'active-tool', reflect: true })
25
- activeTool: PanelToolsToolId | '' = '';
26
-
27
- /**
28
- * Rail items rendered in the right column.
29
- * Set via JS property: `el.items = [...]`. Replace the array reference to update.
30
- */
31
- @Prop() items: PanelToolsItem[] = [];
32
-
33
- /** JSON fallback for `items` — useful when framework bindings don't propagate arrays. */
34
- @Prop({ attribute: 'items-json' }) itemsJson: string = '';
35
-
36
- /** Emitted when a rail button is toggled. Detail = { id, selected }. */
37
- @Event({ bubbles: true, composed: true }) dsToolChange!: EventEmitter<{
38
- id: PanelToolsToolId;
39
- selected: boolean;
40
- }>;
41
-
42
- /** Bubbling lifecycle — `ds-bar-nav` defers overflow checks during drawer motion. */
43
- @Event({ bubbles: true, composed: true })
44
- dsChromeTransitionStart!: EventEmitter<ChromeTransitionDetail>;
45
-
46
- @Event({ bubbles: true, composed: true })
47
- dsChromeTransitionEnd!: EventEmitter<ChromeTransitionDetail>;
48
-
49
- /** Arms open vs close easing for the in-flight width transition. */
50
- @State() private motion: 'opening' | 'closing' | 'idle' = 'idle';
51
-
52
- /** Suppresses width transition until the host has painted its initial open state. */
53
- @State() private readyForMotion = false;
54
-
55
- @State() private rovingIndex = 0;
56
-
57
- private motionEnableGeneration = 0;
58
-
59
- private get railItems(): PanelToolsItem[] {
60
- return parsePanelToolsItems(this.items, this.itemsJson);
61
- }
62
-
63
- private get orderedRailItems(): PanelToolsItem[] {
64
- const railItems = this.railItems;
65
- const headerItem = railItems.find(item => item.id === PANEL_TOOLS_PRIMARY_TOOL_ID);
66
- const footerItem = railItems.find(item => item.id === PANEL_TOOLS_FOOTER_TOOL_ID);
67
- const bodyItems = railItems.filter(
68
- item => item.id !== PANEL_TOOLS_PRIMARY_TOOL_ID && item.id !== PANEL_TOOLS_FOOTER_TOOL_ID,
69
- );
70
- const ordered: PanelToolsItem[] = [];
71
- if (headerItem) ordered.push(headerItem);
72
- ordered.push(...bodyItems);
73
- if (footerItem) ordered.push(footerItem);
74
- return ordered;
75
- }
76
-
77
- disconnectedCallback() {
78
- this.el.removeEventListener('transitionend', this.handleTransitionEnd);
79
- this.motionEnableGeneration += 1;
80
- }
81
-
82
- private deferMotionEnable() {
83
- if (this.readyForMotion) return;
84
- const generation = ++this.motionEnableGeneration;
85
- requestAnimationFrame(() => {
86
- if (generation !== this.motionEnableGeneration) return;
87
- requestAnimationFrame(() => {
88
- if (generation !== this.motionEnableGeneration) return;
89
- this.readyForMotion = true;
90
- });
91
- });
92
- }
93
-
94
- connectedCallback() {
95
- this.el.addEventListener('transitionend', this.handleTransitionEnd);
96
- }
97
-
98
- @Watch('open')
99
- openChanged(isOpen: boolean, wasOpen?: boolean) {
100
- if (this.readyForMotion && wasOpen !== undefined && wasOpen !== isOpen) {
101
- this.motion = isOpen ? 'opening' : 'closing';
102
- this.dsChromeTransitionStart.emit({
103
- source: 'panel-tools',
104
- phase: isOpen ? 'opening' : 'closing',
105
- });
106
- }
107
- this.deferMotionEnable();
108
- }
109
-
110
- @Watch('activeTool')
111
- activeToolChanged() {
112
- this.deferMotionEnable();
113
- }
114
-
115
- componentDidLoad() {
116
- this.deferMotionEnable();
117
- }
118
-
119
- @Watch('items')
120
- @Watch('itemsJson')
121
- itemsChanged() {
122
- this.rovingIndex = 0;
123
- this.deferMotionEnable();
124
- }
125
-
126
- private handleTransitionEnd = (event: TransitionEvent) => {
127
- if (event.target !== this.el.querySelector('.panel-tools__drawer')) return;
128
- if (event.propertyName !== 'max-width') return;
129
- this.motion = 'idle';
130
- this.dsChromeTransitionEnd.emit({ source: 'panel-tools' });
131
- };
132
-
133
- /** Rail selection follows `open` immediately — independent of the slide animation. */
134
- private isRailSelected(id: PanelToolsToolId): boolean {
135
- return this.open && this.activeTool === id;
136
- }
137
-
138
- /** Drawer body stays mounted while the clip frame animates closed. */
139
- private isDrawerPresent(): boolean {
140
- return this.open || this.motion === 'closing';
141
- }
142
-
143
- private isViewActive(id: PanelToolsToolId): boolean {
144
- return this.isDrawerPresent() && this.activeTool === id;
145
- }
146
-
147
- private headerLabel(): string {
148
- if (!this.isDrawerPresent() || !this.activeTool) return '';
149
- return PANEL_TOOLS_LABELS[this.activeTool as PanelToolsToolId] ?? '';
150
- }
151
-
152
- private handleToolChange = (id: PanelToolsToolId) => {
153
- const next = resolvePanelToolActivation(this.open, this.activeTool, id);
154
- this.open = next.open;
155
- this.activeTool = next.activeTool;
156
- this.dsToolChange.emit({ id, selected: next.selected });
157
- };
158
-
159
- /** Toggle any rail tool open/closed — shell shortcuts K/A/S/M/N call this. */
160
- @Method()
161
- async activateTool(id: PanelToolsToolId) {
162
- const item = this.railItems.find(entry => entry.id === id);
163
- if (!item || item.isInactive) return;
164
- this.handleToolChange(id);
165
- }
166
-
167
- /** Close the tools drawer when open — used by shell keyboard shortcuts. */
168
- @Method()
169
- async closeDrawer() {
170
- if (!this.open) return;
171
- const id = this.activeTool;
172
- this.open = false;
173
- if (id) {
174
- this.dsToolChange.emit({ id, selected: false });
175
- }
176
- }
177
-
178
- private focusRailAt(index: number) {
179
- const items = this.orderedRailItems;
180
- if (!items.length) return;
181
- const bounded = Math.max(0, Math.min(index, items.length - 1));
182
- if (bounded === this.rovingIndex) return;
183
- this.rovingIndex = bounded;
184
- const actions = Array.from(
185
- this.el.querySelectorAll<HTMLElement>('.panel-tools__rail-action .button-icon'),
186
- );
187
- actions[bounded]?.focus({ preventScroll: true });
188
- }
189
-
190
- private handleRailKeyDown = (e: KeyboardEvent, index: number) => {
191
- const items = this.orderedRailItems;
192
- if (!items.length) return;
193
-
194
- if (e.key === 'Enter' || e.key === ' ') {
195
- e.preventDefault();
196
- this.handleToolChange(items[index].id);
197
- return;
198
- }
199
-
200
- if (e.key === 'ArrowDown') {
201
- if (index >= items.length - 1) return;
202
- e.preventDefault();
203
- this.focusRailAt(index + 1);
204
- return;
205
- }
206
-
207
- if (e.key === 'ArrowUp') {
208
- if (index <= 0) return;
209
- e.preventDefault();
210
- this.focusRailAt(index - 1);
211
- }
212
- };
213
-
214
- private renderRailAction(item: PanelToolsItem, index: number) {
215
- const label = item.ariaLabel ?? PANEL_TOOLS_LABELS[item.id];
216
- return (
217
- <ds-tooltip key={item.id} label={label} side="left" size="sm">
218
- <ds-button-unfilled variant="icon"
219
- class="panel-tools__rail-action"
220
- icon={item.icon}
221
- isActive={this.isRailSelected(item.id)}
222
- activeFill={false}
223
- hasBorder={false}
224
- dot={item.dot ?? false}
225
- isInactive={item.isInactive}
226
- focusTabIndex={index === this.rovingIndex ? 0 : -1}
227
- aria-label={label}
228
- pressed={this.isRailSelected(item.id)}
229
- onFocusin={() => { this.rovingIndex = index; }}
230
- onKeyDown={(e: KeyboardEvent) => this.handleRailKeyDown(e, index)}
231
- onDsClick={() => this.handleToolChange(item.id)}
232
- />
233
- </ds-tooltip>
234
- );
235
- }
236
-
237
- render() {
238
- const headerLabel = this.headerLabel();
239
- const orderedRailItems = this.orderedRailItems;
240
- const headerItem = orderedRailItems.find(item => item.id === PANEL_TOOLS_PRIMARY_TOOL_ID);
241
- const footerItem = orderedRailItems.find(item => item.id === PANEL_TOOLS_FOOTER_TOOL_ID);
242
- const bodyItems = orderedRailItems.filter(
243
- item => item.id !== PANEL_TOOLS_PRIMARY_TOOL_ID && item.id !== PANEL_TOOLS_FOOTER_TOOL_ID,
244
- );
245
- const footerIndex = footerItem
246
- ? (headerItem ? 1 : 0) + bodyItems.length
247
- : -1;
248
- const showDrawerChrome = this.isDrawerPresent();
249
- const drawerResting = panelToolsDrawerResting(this.open, this.motion);
250
-
251
- return (
252
- <Host
253
- class={{
254
- 'panel-tools': true,
255
- 'panel-tools--open': this.open,
256
- 'panel-tools--ready': this.readyForMotion,
257
- 'panel-tools--motion-opening': this.motion === 'opening',
258
- 'panel-tools--motion-closing': this.motion === 'closing',
259
- 'panel-tools--drawer-resting': drawerResting,
260
- }}
261
- role="complementary"
262
- aria-label="Tools"
263
- >
264
- <div class="panel-tools__layout">
265
- <nav class="panel-tools__rail" aria-label="Tool shortcuts">
266
- {headerItem ? (
267
- <div class="panel-tools__rail-header">
268
- {this.renderRailAction(headerItem, 0)}
269
- </div>
270
- ) : null}
271
- <div class="panel-tools__rail-body">
272
- {bodyItems.map((item, bodyIdx) =>
273
- this.renderRailAction(item, headerItem ? bodyIdx + 1 : bodyIdx),
274
- )}
275
- </div>
276
- {footerItem ? (
277
- <div class="panel-tools__rail-footer">
278
- {this.renderRailAction(footerItem, footerIndex)}
279
- </div>
280
- ) : null}
281
- </nav>
282
-
283
- <div
284
- class={{
285
- 'panel-tools__drawer': true,
286
- 'panel-tools__drawer--visible': showDrawerChrome,
287
- }}
288
- aria-hidden={showDrawerChrome ? null : 'true'}
289
- inert={showDrawerChrome ? undefined : true}
290
- >
291
- <div class="panel-tools__drawer-surface">
292
- <header class="panel-tools__header">
293
- <ds-text
294
- class="panel-tools__title"
295
- as="span"
296
- variant="text-body-medium"
297
- emphasis
298
- color="primary"
299
- wrap="nowrap"
300
- >
301
- {headerLabel}
302
- </ds-text>
303
- </header>
304
- <div class="panel-tools__body">
305
- <div
306
- class={{
307
- 'panel-tools__view': true,
308
- 'panel-tools__view--active': this.isViewActive('search'),
309
- }}
310
- hidden={!this.isViewActive('search')}
311
- >
312
- <slot name="search" />
313
- </div>
314
- <div
315
- class={{
316
- 'panel-tools__view': true,
317
- 'panel-tools__view--active': this.isViewActive('messages'),
318
- }}
319
- hidden={!this.isViewActive('messages')}
320
- >
321
- <slot name="messages" />
322
- </div>
323
- <div
324
- class={{
325
- 'panel-tools__view': true,
326
- 'panel-tools__view--active': this.isViewActive('stacks'),
327
- }}
328
- hidden={!this.isViewActive('stacks')}
329
- >
330
- <slot name="stacks" />
331
- </div>
332
- <div
333
- class={{
334
- 'panel-tools__view': true,
335
- 'panel-tools__view--active': this.isViewActive('activity'),
336
- }}
337
- hidden={!this.isViewActive('activity')}
338
- >
339
- <slot name="activity" />
340
- </div>
341
- <div
342
- class={{
343
- 'panel-tools__view': true,
344
- 'panel-tools__view--active': this.isViewActive('agents'),
345
- }}
346
- hidden={!this.isViewActive('agents')}
347
- >
348
- <slot name="agents" />
349
- </div>
350
- <div
351
- class={{
352
- 'panel-tools__view': true,
353
- 'panel-tools__view--active': this.isViewActive('help'),
354
- }}
355
- hidden={!this.isViewActive('help')}
356
- >
357
- <slot name="help" />
358
- </div>
359
- </div>
360
- </div>
361
- </div>
362
- </div>
363
- </Host>
364
- );
365
- }
366
- }
@@ -1,7 +0,0 @@
1
- export type { PanelToolsItem, PanelToolsToolId } from './panel-tools-types';
2
- export {
3
- PANEL_TOOLS_FOOTER_TOOL_ID,
4
- PANEL_TOOLS_LABELS,
5
- PANEL_TOOLS_PRIMARY_TOOL_ID,
6
- PANEL_TOOLS_TOOL_IDS,
7
- } from './panel-tools-types';
@@ -1,44 +0,0 @@
1
- /** Tool ids for the `ds-panel-tools` rail and drawer views. */
2
- export type PanelToolsToolId =
3
- | 'search'
4
- | 'agents'
5
- | 'messages'
6
- | 'stacks'
7
- | 'activity'
8
- | 'help';
9
-
10
- export const PANEL_TOOLS_TOOL_IDS: PanelToolsToolId[] = [
11
- 'search',
12
- 'agents',
13
- 'messages',
14
- 'stacks',
15
- 'activity',
16
- 'help',
17
- ];
18
-
19
- /** Rail header slot — mirrors panel-nav M logo row. */
20
- export const PANEL_TOOLS_PRIMARY_TOOL_ID: PanelToolsToolId = 'search';
21
-
22
- /** Rail footer slot — flush to the bottom of the tools column. */
23
- export const PANEL_TOOLS_FOOTER_TOOL_ID: PanelToolsToolId = 'help';
24
-
25
- export const PANEL_TOOLS_LABELS: Record<PanelToolsToolId, string> = {
26
- search: 'Search',
27
- messages: 'Messages',
28
- stacks: 'Stacks',
29
- activity: 'Activity',
30
- agents: 'Agents',
31
- help: 'Help & Support',
32
- };
33
-
34
- export interface PanelToolsItem {
35
- id: PanelToolsToolId;
36
- /** Icon name for <ds-icon>. */
37
- icon: string;
38
- /** Whether this rail button is currently pressed/active. */
39
- selected?: boolean;
40
- /** Show a notification dot. */
41
- dot?: boolean;
42
- isInactive?: boolean;
43
- ariaLabel?: string;
44
- }
@@ -1,50 +0,0 @@
1
- import { parseJsonArrayProp } from '../BarNav/bar-nav-utils';
2
- import type { PanelToolsItem, PanelToolsToolId } from './panel-tools-types';
3
-
4
- export function parsePanelToolsItems(
5
- items: PanelToolsItem[],
6
- itemsJson: string,
7
- ): PanelToolsItem[] {
8
- if (itemsJson) {
9
- return parseJsonArrayProp<PanelToolsItem>(itemsJson, []);
10
- }
11
- return items ?? [];
12
- }
13
-
14
- export function shouldResyncPanelToolsItems(
15
- prev: PanelToolsItem[],
16
- next: PanelToolsItem[],
17
- ): boolean {
18
- if (prev.length !== next.length) return true;
19
- return next.some((item, index) => {
20
- const prior = prev[index];
21
- if (!prior) return true;
22
- return (
23
- prior.id !== item.id ||
24
- prior.icon !== item.icon ||
25
- prior.selected !== item.selected ||
26
- prior.dot !== item.dot ||
27
- prior.isInactive !== item.isInactive ||
28
- prior.ariaLabel !== item.ariaLabel
29
- );
30
- });
31
- }
32
-
33
- export type PanelToolsMotion = 'opening' | 'closing' | 'idle';
34
-
35
- /** True when the drawer clip is fully closed — safe to skip painting slot content. */
36
- export function panelToolsDrawerResting(open: boolean, motion: PanelToolsMotion): boolean {
37
- return !open && motion === 'idle';
38
- }
39
-
40
- /** Toggle or switch rail tool selection — repeat activation closes the active tool. */
41
- export function resolvePanelToolActivation(
42
- open: boolean,
43
- activeTool: PanelToolsToolId | '',
44
- id: PanelToolsToolId,
45
- ): { open: boolean; activeTool: PanelToolsToolId; selected: boolean } {
46
- if (open && activeTool === id) {
47
- return { open: false, activeTool: id, selected: false };
48
- }
49
- return { open: true, activeTool: id, selected: true };
50
- }