@arbor-education/design-system.components 4.6.0 → 4.7.0-alpha.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 (275) hide show
  1. package/.changeset/twenty-groups-wonder.md +5 -0
  2. package/.changeset/yellow-falcons-search.md +5 -0
  3. package/dist/components/button/Button.story.d.ts +47 -0
  4. package/dist/components/button/Button.story.d.ts.map +1 -0
  5. package/dist/components/button/Button.story.js +123 -0
  6. package/dist/components/button/Button.story.js.map +1 -0
  7. package/dist/components/button/ButtonUsageExample.d.ts +2 -0
  8. package/dist/components/button/ButtonUsageExample.d.ts.map +1 -0
  9. package/dist/components/button/ButtonUsageExample.js +11 -0
  10. package/dist/components/button/ButtonUsageExample.js.map +1 -0
  11. package/dist/components/combobox/useElementWidth.d.ts +2 -0
  12. package/dist/components/combobox/useElementWidth.d.ts.map +1 -0
  13. package/dist/components/combobox/useElementWidth.js +31 -0
  14. package/dist/components/combobox/useElementWidth.js.map +1 -0
  15. package/dist/components/combobox/useVisibleChips.d.ts +21 -0
  16. package/dist/components/combobox/useVisibleChips.d.ts.map +1 -0
  17. package/dist/components/combobox/useVisibleChips.js +59 -0
  18. package/dist/components/combobox/useVisibleChips.js.map +1 -0
  19. package/dist/components/combobox/useVisibleChips.test.d.ts +2 -0
  20. package/dist/components/combobox/useVisibleChips.test.d.ts.map +1 -0
  21. package/dist/components/combobox/useVisibleChips.test.js +81 -0
  22. package/dist/components/combobox/useVisibleChips.test.js.map +1 -0
  23. package/dist/components/heading/HeadingInnerContainer.d.ts +5 -0
  24. package/dist/components/heading/HeadingInnerContainer.d.ts.map +1 -0
  25. package/dist/components/heading/HeadingInnerContainer.js +7 -0
  26. package/dist/components/heading/HeadingInnerContainer.js.map +1 -0
  27. package/dist/components/icoText/IcoText.d.ts +37 -0
  28. package/dist/components/icoText/IcoText.d.ts.map +1 -0
  29. package/dist/components/icoText/IcoText.js +29 -0
  30. package/dist/components/icoText/IcoText.js.map +1 -0
  31. package/dist/components/icoText/IcoText.stories.d.ts +60 -0
  32. package/dist/components/icoText/IcoText.stories.d.ts.map +1 -0
  33. package/dist/components/icoText/IcoText.stories.js +319 -0
  34. package/dist/components/icoText/IcoText.stories.js.map +1 -0
  35. package/dist/components/icoText/IcoText.test.d.ts +2 -0
  36. package/dist/components/icoText/IcoText.test.d.ts.map +1 -0
  37. package/dist/components/icoText/IcoText.test.js +27 -0
  38. package/dist/components/icoText/IcoText.test.js.map +1 -0
  39. package/dist/components/pill/Pill.d.ts.map +1 -1
  40. package/dist/components/pill/Pill.js +1 -1
  41. package/dist/components/pill/Pill.js.map +1 -1
  42. package/dist/components/sidebarNav/SidebarNav.d.ts +46 -0
  43. package/dist/components/sidebarNav/SidebarNav.d.ts.map +1 -0
  44. package/dist/components/sidebarNav/SidebarNav.js +102 -0
  45. package/dist/components/sidebarNav/SidebarNav.js.map +1 -0
  46. package/dist/components/sidebarNav/SidebarNav.stories.d.ts +61 -0
  47. package/dist/components/sidebarNav/SidebarNav.stories.d.ts.map +1 -0
  48. package/dist/components/sidebarNav/SidebarNav.stories.js +253 -0
  49. package/dist/components/sidebarNav/SidebarNav.stories.js.map +1 -0
  50. package/dist/components/sidebarNav/SidebarNav.test.d.ts +2 -0
  51. package/dist/components/sidebarNav/SidebarNav.test.d.ts.map +1 -0
  52. package/dist/components/sidebarNav/SidebarNav.test.js +240 -0
  53. package/dist/components/sidebarNav/SidebarNav.test.js.map +1 -0
  54. package/dist/components/sidebarNav/SidebarNavContext.d.ts +13 -0
  55. package/dist/components/sidebarNav/SidebarNavContext.d.ts.map +1 -0
  56. package/dist/components/sidebarNav/SidebarNavContext.js +15 -0
  57. package/dist/components/sidebarNav/SidebarNavContext.js.map +1 -0
  58. package/dist/components/sidebarNav/SidebarNavGroup.d.ts +10 -0
  59. package/dist/components/sidebarNav/SidebarNavGroup.d.ts.map +1 -0
  60. package/dist/components/sidebarNav/SidebarNavGroup.js +16 -0
  61. package/dist/components/sidebarNav/SidebarNavGroup.js.map +1 -0
  62. package/dist/components/sidebarNav/SidebarNavItem.d.ts +32 -0
  63. package/dist/components/sidebarNav/SidebarNavItem.d.ts.map +1 -0
  64. package/dist/components/sidebarNav/SidebarNavItem.js +44 -0
  65. package/dist/components/sidebarNav/SidebarNavItem.js.map +1 -0
  66. package/dist/components/sidebarNav/SidebarNavItemFavourite.d.ts +8 -0
  67. package/dist/components/sidebarNav/SidebarNavItemFavourite.d.ts.map +1 -0
  68. package/dist/components/sidebarNav/SidebarNavItemFavourite.js +14 -0
  69. package/dist/components/sidebarNav/SidebarNavItemFavourite.js.map +1 -0
  70. package/dist/components/sidebarNav/SidebarNavPanel.d.ts +4 -0
  71. package/dist/components/sidebarNav/SidebarNavPanel.d.ts.map +1 -0
  72. package/dist/components/sidebarNav/SidebarNavPanel.js +9 -0
  73. package/dist/components/sidebarNav/SidebarNavPanel.js.map +1 -0
  74. package/dist/components/sidebarNav/SidebarNavPanelNav.d.ts +10 -0
  75. package/dist/components/sidebarNav/SidebarNavPanelNav.d.ts.map +1 -0
  76. package/dist/components/sidebarNav/SidebarNavPanelNav.js +21 -0
  77. package/dist/components/sidebarNav/SidebarNavPanelNav.js.map +1 -0
  78. package/dist/components/sidebarNav/SidebarNavRail.d.ts +6 -0
  79. package/dist/components/sidebarNav/SidebarNavRail.d.ts.map +1 -0
  80. package/dist/components/sidebarNav/SidebarNavRail.js +7 -0
  81. package/dist/components/sidebarNav/SidebarNavRail.js.map +1 -0
  82. package/dist/components/sidebarNav/SidebarNavRailItem.d.ts +10 -0
  83. package/dist/components/sidebarNav/SidebarNavRailItem.d.ts.map +1 -0
  84. package/dist/components/sidebarNav/SidebarNavRailItem.js +25 -0
  85. package/dist/components/sidebarNav/SidebarNavRailItem.js.map +1 -0
  86. package/dist/components/sidebarNav/SidebarNavRailList.d.ts +4 -0
  87. package/dist/components/sidebarNav/SidebarNavRailList.d.ts.map +1 -0
  88. package/dist/components/sidebarNav/SidebarNavRailList.js +7 -0
  89. package/dist/components/sidebarNav/SidebarNavRailList.js.map +1 -0
  90. package/dist/components/sidebarNav/SidebarNavRailSlot.d.ts +6 -0
  91. package/dist/components/sidebarNav/SidebarNavRailSlot.d.ts.map +1 -0
  92. package/dist/components/sidebarNav/SidebarNavRailSlot.js +7 -0
  93. package/dist/components/sidebarNav/SidebarNavRailSlot.js.map +1 -0
  94. package/dist/components/sidebarNav/SidebarNavSeparator.d.ts +6 -0
  95. package/dist/components/sidebarNav/SidebarNavSeparator.d.ts.map +1 -0
  96. package/dist/components/sidebarNav/SidebarNavSeparator.js +8 -0
  97. package/dist/components/sidebarNav/SidebarNavSeparator.js.map +1 -0
  98. package/dist/components/sidebarNav/SidebarNavTitle.d.ts +4 -0
  99. package/dist/components/sidebarNav/SidebarNavTitle.d.ts.map +1 -0
  100. package/dist/components/sidebarNav/SidebarNavTitle.js +7 -0
  101. package/dist/components/sidebarNav/SidebarNavTitle.js.map +1 -0
  102. package/dist/components/sidebarNav/SidebarNavTooltip.d.ts +7 -0
  103. package/dist/components/sidebarNav/SidebarNavTooltip.d.ts.map +1 -0
  104. package/dist/components/sidebarNav/SidebarNavTooltip.js +9 -0
  105. package/dist/components/sidebarNav/SidebarNavTooltip.js.map +1 -0
  106. package/dist/components/sidebarNav/SidebarNavTrigger.d.ts +8 -0
  107. package/dist/components/sidebarNav/SidebarNavTrigger.d.ts.map +1 -0
  108. package/dist/components/sidebarNav/SidebarNavTrigger.js +15 -0
  109. package/dist/components/sidebarNav/SidebarNavTrigger.js.map +1 -0
  110. package/dist/components/sidebarNav/index.d.ts +4 -0
  111. package/dist/components/sidebarNav/index.d.ts.map +1 -0
  112. package/dist/components/sidebarNav/index.js +3 -0
  113. package/dist/components/sidebarNav/index.js.map +1 -0
  114. package/dist/components/sidebarNav/resolvePanelItemProps.d.ts +4 -0
  115. package/dist/components/sidebarNav/resolvePanelItemProps.d.ts.map +1 -0
  116. package/dist/components/sidebarNav/resolvePanelItemProps.js +43 -0
  117. package/dist/components/sidebarNav/resolvePanelItemProps.js.map +1 -0
  118. package/dist/components/sidebarNav/resolvePanelItemProps.test.d.ts +2 -0
  119. package/dist/components/sidebarNav/resolvePanelItemProps.test.d.ts.map +1 -0
  120. package/dist/components/sidebarNav/resolvePanelItemProps.test.js +52 -0
  121. package/dist/components/sidebarNav/resolvePanelItemProps.test.js.map +1 -0
  122. package/dist/components/sidebarNav/types.d.ts +100 -0
  123. package/dist/components/sidebarNav/types.d.ts.map +1 -0
  124. package/dist/components/sidebarNav/types.js +4 -0
  125. package/dist/components/sidebarNav/types.js.map +1 -0
  126. package/dist/components/sidebarNav/useControllableBoolean.d.ts +9 -0
  127. package/dist/components/sidebarNav/useControllableBoolean.d.ts.map +1 -0
  128. package/dist/components/sidebarNav/useControllableBoolean.js +15 -0
  129. package/dist/components/sidebarNav/useControllableBoolean.js.map +1 -0
  130. package/dist/components/slideover/Slideover.stories.d.ts +10 -0
  131. package/dist/components/slideover/Slideover.stories.d.ts.map +1 -0
  132. package/dist/components/slideover/Slideover.stories.js +12 -0
  133. package/dist/components/slideover/Slideover.stories.js.map +1 -0
  134. package/dist/components/table/BulkActionsDropdown.d.ts +12 -0
  135. package/dist/components/table/BulkActionsDropdown.d.ts.map +1 -0
  136. package/dist/components/table/BulkActionsDropdown.js +11 -0
  137. package/dist/components/table/BulkActionsDropdown.js.map +1 -0
  138. package/dist/components/table/HideColumnsDropdown.d.ts +9 -0
  139. package/dist/components/table/HideColumnsDropdown.d.ts.map +1 -0
  140. package/dist/components/table/HideColumnsDropdown.js +33 -0
  141. package/dist/components/table/HideColumnsDropdown.js.map +1 -0
  142. package/dist/components/table/Table.d.ts +1 -1
  143. package/dist/components/table/Table.stories.d.ts.map +1 -1
  144. package/dist/components/table/Table.stories.js +0 -5
  145. package/dist/components/table/Table.stories.js.map +1 -1
  146. package/dist/components/table/Table.test.js +0 -5
  147. package/dist/components/table/Table.test.js.map +1 -1
  148. package/dist/components/table/cellRenderers/SelectDropdownCellEditor.d.ts +8 -0
  149. package/dist/components/table/cellRenderers/SelectDropdownCellEditor.d.ts.map +1 -0
  150. package/dist/components/table/cellRenderers/SelectDropdownCellEditor.js +19 -0
  151. package/dist/components/table/cellRenderers/SelectDropdownCellEditor.js.map +1 -0
  152. package/dist/components/table/hooks/useHistory.d.ts +20 -0
  153. package/dist/components/table/hooks/useHistory.d.ts.map +1 -0
  154. package/dist/components/table/hooks/useHistory.js +73 -0
  155. package/dist/components/table/hooks/useHistory.js.map +1 -0
  156. package/dist/components/table/hooks/useTableHistory.d.ts +21 -0
  157. package/dist/components/table/hooks/useTableHistory.d.ts.map +1 -0
  158. package/dist/components/table/hooks/useTableHistory.js +88 -0
  159. package/dist/components/table/hooks/useTableHistory.js.map +1 -0
  160. package/dist/components/table/pagination/TableSettingsDropdown.d.ts +2 -0
  161. package/dist/components/table/pagination/TableSettingsDropdown.d.ts.map +1 -0
  162. package/dist/components/table/pagination/TableSettingsDropdown.js +42 -0
  163. package/dist/components/table/pagination/TableSettingsDropdown.js.map +1 -0
  164. package/dist/components/table/tableHeader/TableHeader.d.ts +14 -0
  165. package/dist/components/table/tableHeader/TableHeader.d.ts.map +1 -0
  166. package/dist/components/table/tableHeader/TableHeader.js +55 -0
  167. package/dist/components/table/tableHeader/TableHeader.js.map +1 -0
  168. package/dist/components/table/tableHeader/index.d.ts +2 -0
  169. package/dist/components/table/tableHeader/index.d.ts.map +1 -0
  170. package/dist/components/table/tableHeader/index.js +2 -0
  171. package/dist/components/table/tableHeader/index.js.map +1 -0
  172. package/dist/components/table/tableTheme.d.ts +2 -0
  173. package/dist/components/table/tableTheme.d.ts.map +1 -0
  174. package/dist/components/table/tableTheme.js +18 -0
  175. package/dist/components/table/tableTheme.js.map +1 -0
  176. package/dist/components/table/types.d.ts +169 -0
  177. package/dist/components/table/types.d.ts.map +1 -0
  178. package/dist/components/table/types.js +11 -0
  179. package/dist/components/table/types.js.map +1 -0
  180. package/dist/components/table/utils/setAgGridLicenseKey.d.ts +2 -0
  181. package/dist/components/table/utils/setAgGridLicenseKey.d.ts.map +1 -0
  182. package/dist/components/table/utils/setAgGridLicenseKey.js +11 -0
  183. package/dist/components/table/utils/setAgGridLicenseKey.js.map +1 -0
  184. package/dist/layoutTest.stories.d.ts +6 -0
  185. package/dist/layoutTest.stories.d.ts.map +1 -0
  186. package/dist/layoutTest.stories.js +9 -0
  187. package/dist/layoutTest.stories.js.map +1 -0
  188. package/dist/pages/assessmentBuilderPage/AssessmentBuilderPage.d.ts +39 -0
  189. package/dist/pages/assessmentBuilderPage/AssessmentBuilderPage.d.ts.map +1 -0
  190. package/dist/pages/assessmentBuilderPage/AssessmentBuilderPage.js +112 -0
  191. package/dist/pages/assessmentBuilderPage/AssessmentBuilderPage.js.map +1 -0
  192. package/dist/pages/assessmentBuilderPage/AssessmentBuilderPage.stories.d.ts +184 -0
  193. package/dist/pages/assessmentBuilderPage/AssessmentBuilderPage.stories.d.ts.map +1 -0
  194. package/dist/pages/assessmentBuilderPage/AssessmentBuilderPage.stories.js +317 -0
  195. package/dist/pages/assessmentBuilderPage/AssessmentBuilderPage.stories.js.map +1 -0
  196. package/dist/pages/assessmentBuilderPage/AssessmentBuilderPage.test.d.ts +2 -0
  197. package/dist/pages/assessmentBuilderPage/AssessmentBuilderPage.test.d.ts.map +1 -0
  198. package/dist/pages/assessmentBuilderPage/AssessmentBuilderPage.test.js +160 -0
  199. package/dist/pages/assessmentBuilderPage/AssessmentBuilderPage.test.js.map +1 -0
  200. package/dist/pages/assessmentSettingsPage/AssessmentSettingsPage.d.ts +11 -0
  201. package/dist/pages/assessmentSettingsPage/AssessmentSettingsPage.d.ts.map +1 -0
  202. package/dist/pages/assessmentSettingsPage/AssessmentSettingsPage.js +13 -0
  203. package/dist/pages/assessmentSettingsPage/AssessmentSettingsPage.js.map +1 -0
  204. package/dist/pages/assessmentSettingsPage/AssessmentSettingsPage.stories.d.ts +174 -0
  205. package/dist/pages/assessmentSettingsPage/AssessmentSettingsPage.stories.d.ts.map +1 -0
  206. package/dist/pages/assessmentSettingsPage/AssessmentSettingsPage.stories.js +212 -0
  207. package/dist/pages/assessmentSettingsPage/AssessmentSettingsPage.stories.js.map +1 -0
  208. package/dist/pages/assessmentSettingsPage/AssessmentSettingsPage.test.d.ts +2 -0
  209. package/dist/pages/assessmentSettingsPage/AssessmentSettingsPage.test.d.ts.map +1 -0
  210. package/dist/pages/assessmentSettingsPage/AssessmentSettingsPage.test.js +84 -0
  211. package/dist/pages/assessmentSettingsPage/AssessmentSettingsPage.test.js.map +1 -0
  212. package/dist/pages/assessmentsPage/AssessmentsPage.d.ts +16 -0
  213. package/dist/pages/assessmentsPage/AssessmentsPage.d.ts.map +1 -0
  214. package/dist/pages/assessmentsPage/AssessmentsPage.js +31 -0
  215. package/dist/pages/assessmentsPage/AssessmentsPage.js.map +1 -0
  216. package/dist/pages/assessmentsPage/AssessmentsPage.stories.d.ts +162 -0
  217. package/dist/pages/assessmentsPage/AssessmentsPage.stories.d.ts.map +1 -0
  218. package/dist/pages/assessmentsPage/AssessmentsPage.stories.js +290 -0
  219. package/dist/pages/assessmentsPage/AssessmentsPage.stories.js.map +1 -0
  220. package/dist/pages/assessmentsPage/AssessmentsPage.test.d.ts +2 -0
  221. package/dist/pages/assessmentsPage/AssessmentsPage.test.d.ts.map +1 -0
  222. package/dist/pages/assessmentsPage/AssessmentsPage.test.js +109 -0
  223. package/dist/pages/assessmentsPage/AssessmentsPage.test.js.map +1 -0
  224. package/dist/pages/customReportWriterPage/CustomReportWriterPage.d.ts +40 -0
  225. package/dist/pages/customReportWriterPage/CustomReportWriterPage.d.ts.map +1 -0
  226. package/dist/pages/customReportWriterPage/CustomReportWriterPage.js +156 -0
  227. package/dist/pages/customReportWriterPage/CustomReportWriterPage.js.map +1 -0
  228. package/dist/pages/customReportWriterPage/CustomReportWriterPage.stories.d.ts +239 -0
  229. package/dist/pages/customReportWriterPage/CustomReportWriterPage.stories.d.ts.map +1 -0
  230. package/dist/pages/customReportWriterPage/CustomReportWriterPage.stories.js +318 -0
  231. package/dist/pages/customReportWriterPage/CustomReportWriterPage.stories.js.map +1 -0
  232. package/dist/pages/customReportWriterPage/CustomReportWriterPage.test.d.ts +2 -0
  233. package/dist/pages/customReportWriterPage/CustomReportWriterPage.test.d.ts.map +1 -0
  234. package/dist/pages/customReportWriterPage/CustomReportWriterPage.test.js +183 -0
  235. package/dist/pages/customReportWriterPage/CustomReportWriterPage.test.js.map +1 -0
  236. package/dist/pages/gradeSetsPage/GradeSetsPage.d.ts +26 -0
  237. package/dist/pages/gradeSetsPage/GradeSetsPage.d.ts.map +1 -0
  238. package/dist/pages/gradeSetsPage/GradeSetsPage.js +33 -0
  239. package/dist/pages/gradeSetsPage/GradeSetsPage.js.map +1 -0
  240. package/dist/pages/gradeSetsPage/GradeSetsPage.stories.d.ts +176 -0
  241. package/dist/pages/gradeSetsPage/GradeSetsPage.stories.d.ts.map +1 -0
  242. package/dist/pages/gradeSetsPage/GradeSetsPage.stories.js +237 -0
  243. package/dist/pages/gradeSetsPage/GradeSetsPage.stories.js.map +1 -0
  244. package/dist/pages/gradeSetsPage/GradeSetsPage.test.d.ts +2 -0
  245. package/dist/pages/gradeSetsPage/GradeSetsPage.test.d.ts.map +1 -0
  246. package/dist/pages/gradeSetsPage/GradeSetsPage.test.js +91 -0
  247. package/dist/pages/gradeSetsPage/GradeSetsPage.test.js.map +1 -0
  248. package/dist/pages/studentProfilePage/StudentProfilePage.d.ts +48 -0
  249. package/dist/pages/studentProfilePage/StudentProfilePage.d.ts.map +1 -0
  250. package/dist/pages/studentProfilePage/StudentProfilePage.js +52 -0
  251. package/dist/pages/studentProfilePage/StudentProfilePage.js.map +1 -0
  252. package/dist/pages/studentProfilePage/StudentProfilePage.stories.d.ts +218 -0
  253. package/dist/pages/studentProfilePage/StudentProfilePage.stories.d.ts.map +1 -0
  254. package/dist/pages/studentProfilePage/StudentProfilePage.stories.js +273 -0
  255. package/dist/pages/studentProfilePage/StudentProfilePage.stories.js.map +1 -0
  256. package/dist/pages/studentProfilePage/StudentProfilePage.test.d.ts +2 -0
  257. package/dist/pages/studentProfilePage/StudentProfilePage.test.d.ts.map +1 -0
  258. package/dist/pages/studentProfilePage/StudentProfilePage.test.js +197 -0
  259. package/dist/pages/studentProfilePage/StudentProfilePage.test.js.map +1 -0
  260. package/dist/utils/PopupParentContext.d.ts +3 -0
  261. package/dist/utils/PopupParentContext.d.ts.map +1 -0
  262. package/dist/utils/PopupParentContext.js +6 -0
  263. package/dist/utils/PopupParentContext.js.map +1 -0
  264. package/dist/utils/PopupParentContext.stories.d.ts +17 -0
  265. package/dist/utils/PopupParentContext.stories.d.ts.map +1 -0
  266. package/dist/utils/PopupParentContext.stories.js +266 -0
  267. package/dist/utils/PopupParentContext.stories.js.map +1 -0
  268. package/dist/utils/getDefaultPopupParent.d.ts +2 -0
  269. package/dist/utils/getDefaultPopupParent.d.ts.map +1 -0
  270. package/dist/utils/getDefaultPopupParent.js +19 -0
  271. package/dist/utils/getDefaultPopupParent.js.map +1 -0
  272. package/package.json +4 -4
  273. package/src/components/pill/Pill.tsx +1 -0
  274. package/src/components/table/Table.stories.tsx +0 -5
  275. package/src/components/table/Table.test.tsx +0 -5
@@ -0,0 +1,16 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Icon } from '../icon/Icon.js';
3
+ import classNames from 'classnames';
4
+ import { useId } from 'react';
5
+ import { useControllableBoolean } from './useControllableBoolean.js';
6
+ export const SidebarNavGroup = (props) => {
7
+ const { label, expanded, defaultExpanded = false, onExpandedChange, className, children, ...rest } = props;
8
+ const ulId = useId();
9
+ const { value: isExpanded, set: setExpanded } = useControllableBoolean({
10
+ value: expanded,
11
+ defaultValue: defaultExpanded,
12
+ onChange: onExpandedChange,
13
+ });
14
+ return (_jsxs("li", { className: classNames('ds-sidebar-nav__list-item', 'ds-sidebar-nav__group', className), ...rest, children: [_jsxs("button", { type: "button", className: "ds-sidebar-nav__group-link", "aria-expanded": isExpanded, "aria-controls": ulId, onClick: () => setExpanded(!isExpanded), children: [_jsx(Icon, { name: "chevron-right", size: 16, className: "ds-sidebar-nav__group-chevron" }), _jsx("span", { className: "ds-sidebar-nav__group-label", children: label })] }), _jsx("ul", { id: ulId, "aria-hidden": !isExpanded, className: "ds-sidebar-nav__group-children", children: children })] }));
15
+ };
16
+ //# sourceMappingURL=SidebarNavGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarNavGroup.js","sourceRoot":"","sources":["../../../src/components/sidebarNav/SidebarNavGroup.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAUrE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAA2B,EAAE,EAAE;IAC7D,MAAM,EACJ,KAAK,EACL,QAAQ,EACR,eAAe,GAAG,KAAK,EACvB,gBAAgB,EAChB,SAAS,EACT,QAAQ,EACR,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IAEV,MAAM,IAAI,GAAG,KAAK,EAAE,CAAC;IACrB,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,sBAAsB,CAAC;QACrE,KAAK,EAAE,QAAQ;QACf,YAAY,EAAE,eAAe;QAC7B,QAAQ,EAAE,gBAAgB;KAC3B,CAAC,CAAC;IAEH,OAAO,CACL,cAAI,SAAS,EAAE,UAAU,CAAC,2BAA2B,EAAE,uBAAuB,EAAE,SAAS,CAAC,KAAM,IAAI,aAClG,kBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,4BAA4B,mBACvB,UAAU,mBACV,IAAI,EACnB,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,aAEvC,KAAC,IAAI,IACH,IAAI,EAAC,eAAe,EACpB,IAAI,EAAE,EAAE,EACR,SAAS,EAAC,+BAA+B,GACzC,EACF,eAAM,SAAS,EAAC,6BAA6B,YAAE,KAAK,GAAQ,IACrD,EAET,aACE,EAAE,EAAE,IAAI,iBACK,CAAC,UAAU,EACxB,SAAS,EAAC,gCAAgC,YAEzC,QAAQ,GACN,IACF,CACN,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,32 @@
1
+ import type { AnchorHTMLAttributes, ButtonHTMLAttributes, HTMLAttributes, MouseEventHandler } from 'react';
2
+ import type { SidebarNavLinkProps } from './types.js';
3
+ type SidebarNavItemFavouriteVariant = {
4
+ canFavourite?: false;
5
+ favouriteTooltip?: never;
6
+ } | {
7
+ canFavourite: true;
8
+ favouriteTooltip: string;
9
+ };
10
+ type SidebarNavItemLinkVariant = {
11
+ linkElement?: 'link';
12
+ href: string;
13
+ linkElementProps?: Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'href' | 'className' | 'children'>;
14
+ linkProps?: SidebarNavLinkProps;
15
+ };
16
+ type SidebarNavItemButtonVariant = {
17
+ linkElement: 'button';
18
+ href?: never;
19
+ linkElementProps?: ButtonHTMLAttributes<HTMLButtonElement>;
20
+ linkProps?: never;
21
+ };
22
+ export type SidebarNavItemProps = {
23
+ current?: boolean;
24
+ itemId: string;
25
+ isPressed?: boolean;
26
+ onFavouriteClick?: MouseEventHandler<HTMLButtonElement>;
27
+ onClick?: MouseEventHandler<HTMLElement>;
28
+ children: React.ReactNode;
29
+ } & Omit<HTMLAttributes<HTMLLIElement>, 'children' | 'onClick'> & SidebarNavItemFavouriteVariant & (SidebarNavItemLinkVariant | SidebarNavItemButtonVariant);
30
+ export declare const SidebarNavItem: (props: SidebarNavItemProps) => import("react/jsx-runtime").JSX.Element;
31
+ export {};
32
+ //# sourceMappingURL=SidebarNavItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarNavItem.d.ts","sourceRoot":"","sources":["../../../src/components/sidebarNav/SidebarNavItem.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,iBAAiB,EAClB,MAAM,OAAO,CAAC;AAGf,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,KAAK,8BAA8B,GAC7B;IAAE,YAAY,CAAC,EAAE,KAAK,CAAC;IAAC,gBAAgB,CAAC,EAAE,KAAK,CAAA;CAAE,GAClD;IAAE,YAAY,EAAE,IAAI,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvD,KAAK,yBAAyB,GAAG;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,CAAC,EAAE,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,UAAU,CAAC,CAAC;IACpG,SAAS,CAAC,EAAE,mBAAmB,CAAC;CACjC,CAAC;AAEF,KAAK,2BAA2B,GAAG;IACjC,WAAW,EAAE,QAAQ,CAAC;IACtB,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,gBAAgB,CAAC,EAAE,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;IAC3D,SAAS,CAAC,EAAE,KAAK,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gBAAgB,CAAC,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IACxD,OAAO,CAAC,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC;IACzC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,GAC7D,8BAA8B,GAC9B,CAAC,yBAAyB,GAAG,2BAA2B,CAAC,CAAC;AAc5D,eAAO,MAAM,cAAc,GAAI,OAAO,mBAAmB,4CA6GxD,CAAC"}
@@ -0,0 +1,44 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import classNames from 'classnames';
3
+ import { useSidebarNavContext } from './SidebarNavContext.js';
4
+ import { SidebarNavItemFavourite } from './SidebarNavItemFavourite.js';
5
+ function omitOnClick(props) {
6
+ if (props == null) {
7
+ return undefined;
8
+ }
9
+ const rest = { ...props };
10
+ delete rest.onClick;
11
+ return rest;
12
+ }
13
+ export const SidebarNavItem = (props) => {
14
+ const { current, itemId, canFavourite, favouriteTooltip, isPressed = false, onFavouriteClick, children, className, linkElement = 'link', href, linkElementProps, linkProps, onClick, ...rest } = props;
15
+ const { renderLink } = useSidebarNavContext();
16
+ const linkClassName = classNames('ds-sidebar-nav__item-link', { 'ds-sidebar-nav__item-link--current': Boolean(current) });
17
+ const linkChildren = _jsx("span", { className: "ds-sidebar-nav__item-label", children: children });
18
+ const linkElementOnClick = linkElementProps?.onClick;
19
+ const handleClick = (event) => {
20
+ if (onClick) {
21
+ onClick(event);
22
+ return;
23
+ }
24
+ linkElementOnClick?.(event);
25
+ };
26
+ const buttonLinkElementProps = omitOnClick(linkElementProps);
27
+ const anchorLinkElementProps = omitOnClick(linkElementProps);
28
+ const renderAnchorElement = () => renderLink
29
+ ? renderLink({
30
+ href: href,
31
+ className: linkClassName,
32
+ ariaCurrent: current ? 'page' : undefined,
33
+ linkProps,
34
+ linkElementProps: anchorLinkElementProps,
35
+ onClick: handleClick,
36
+ children: linkChildren,
37
+ })
38
+ : (_jsx("a", { href: href, className: linkClassName, "aria-current": current ? 'page' : undefined, ...linkProps, ...anchorLinkElementProps, onClick: handleClick, children: linkChildren }));
39
+ const linkElementNode = linkElement === 'button'
40
+ ? (_jsx("button", { type: "button", className: linkClassName, "aria-current": current ? 'page' : undefined, ...buttonLinkElementProps, onClick: handleClick, children: linkChildren }))
41
+ : renderAnchorElement();
42
+ return (_jsxs("li", { className: classNames('ds-sidebar-nav__list-item', 'ds-sidebar-nav__item', { 'ds-sidebar-nav__item--has-favourite': canFavourite }, className), "data-testid": `sidebar-nav-panel-item-${itemId}`, ...rest, children: [linkElementNode, canFavourite === true && (_jsx(SidebarNavItemFavourite, { isPressed: isPressed, itemId: itemId, favouriteTooltip: favouriteTooltip, onClick: onFavouriteClick }))] }));
43
+ };
44
+ //# sourceMappingURL=SidebarNavItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarNavItem.js","sourceRoot":"","sources":["../../../src/components/sidebarNav/SidebarNavItem.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AAOpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAgCvE,SAAS,WAAW,CAClB,KAAoB;IAEpB,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAClB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,IAAI,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;IAC1B,OAAO,IAAI,CAAC,OAAO,CAAC;IACpB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAA0B,EAAE,EAAE;IAC3D,MAAM,EACJ,OAAO,EACP,MAAM,EACN,YAAY,EACZ,gBAAgB,EAChB,SAAS,GAAG,KAAK,EACjB,gBAAgB,EAChB,QAAQ,EACR,SAAS,EACT,WAAW,GAAG,MAAM,EACpB,IAAI,EACJ,gBAAgB,EAChB,SAAS,EACT,OAAO,EACP,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IAEV,MAAM,EAAE,UAAU,EAAE,GAAG,oBAAoB,EAAE,CAAC;IAE9C,MAAM,aAAa,GAAG,UAAU,CAC9B,2BAA2B,EAC3B,EAAE,oCAAoC,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAC3D,CAAC;IAEF,MAAM,YAAY,GAAG,eAAM,SAAS,EAAC,4BAA4B,YAAE,QAAQ,GAAQ,CAAC;IAEpF,MAAM,kBAAkB,GAAG,gBAAgB,EAAE,OAAO,CAAC;IAErD,MAAM,WAAW,GAAmC,CAAC,KAAK,EAAE,EAAE;QAC5D,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CAAC,CAAC;YACf,OAAO;QACT,CAAC;QAED,kBAAkB,EAAE,CAClB,KAAkF,CACnF,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,sBAAsB,GAAG,WAAW,CACxC,gBAAuE,CACxE,CAAC;IACF,MAAM,sBAAsB,GAAG,WAAW,CACxC,gBAAuE,CACxE,CAAC;IAEF,MAAM,mBAAmB,GAAG,GAAG,EAAE,CAAC,UAAU;QAC1C,CAAC,CAAC,UAAU,CAAC;YACT,IAAI,EAAE,IAAK;YACX,SAAS,EAAE,aAAa;YACxB,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;YACzC,SAAS;YACT,gBAAgB,EAAE,sBAGL;YACb,OAAO,EAAE,WAAW;YACpB,QAAQ,EAAE,YAAY;SACvB,CAAC;QACJ,CAAC,CAAC,CACE,YACE,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,aAAa,kBACV,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,KACtC,SAAS,KACT,sBAAsB,EAC1B,OAAO,EAAE,WAAmD,YAE3D,YAAY,GACX,CACL,CAAC;IAEN,MAAM,eAAe,GAAG,WAAW,KAAK,QAAQ;QAC9C,CAAC,CAAC,CACE,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,aAAa,kBACV,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,KACtC,sBAAsB,EAC1B,OAAO,EAAE,WAAmD,YAE3D,YAAY,GACN,CACV;QACH,CAAC,CAAC,mBAAmB,EAAE,CAAC;IAE1B,OAAO,CACL,cACE,SAAS,EAAE,UAAU,CACnB,2BAA2B,EAC3B,sBAAsB,EACtB,EAAE,qCAAqC,EAAE,YAAY,EAAE,EACvD,SAAS,CACV,iBACY,0BAA0B,MAAM,EAAE,KAC3C,IAAI,aAEP,eAAe,EACf,YAAY,KAAK,IAAI,IAAI,CACxB,KAAC,uBAAuB,IACtB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,gBAAgB,EAClC,OAAO,EAAE,gBAAgB,GACzB,CACH,IACE,CACN,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { ButtonHTMLAttributes } from 'react';
2
+ export type SidebarNavItemFavouriteProps = {
3
+ isPressed: boolean;
4
+ itemId: string;
5
+ favouriteTooltip: string;
6
+ } & ButtonHTMLAttributes<HTMLButtonElement>;
7
+ export declare const SidebarNavItemFavourite: (props: SidebarNavItemFavouriteProps) => import("react/jsx-runtime").JSX.Element;
8
+ //# sourceMappingURL=SidebarNavItemFavourite.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarNavItemFavourite.d.ts","sourceRoot":"","sources":["../../../src/components/sidebarNav/SidebarNavItemFavourite.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAGlD,MAAM,MAAM,4BAA4B,GAAG;IACzC,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;CAC1B,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;AAE5C,eAAO,MAAM,uBAAuB,GAAI,OAAO,4BAA4B,4CAqC1E,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Icon } from '../icon/Icon.js';
3
+ import classNames from 'classnames';
4
+ import { SidebarNavTooltip } from './SidebarNavTooltip.js';
5
+ export const SidebarNavItemFavourite = (props) => {
6
+ const { isPressed, itemId, favouriteTooltip, className, onClick, ...rest } = props;
7
+ const button = (_jsx("button", { type: "button", className: classNames('ds-sidebar-nav__item-favourite', className), "aria-pressed": isPressed, "aria-label": favouriteTooltip, "data-testid": `sidebar-nav-panel-item-favourite-${itemId}`, onClick: (e) => {
8
+ e.preventDefault();
9
+ e.stopPropagation();
10
+ onClick?.(e);
11
+ }, ...rest, children: _jsx(Icon, { name: isPressed ? 'favourite-filled' : 'favourite-outline', size: 16, color: isPressed ? 'var(--color-brand-600)' : 'currentColor' }) }));
12
+ return (_jsx(SidebarNavTooltip, { label: favouriteTooltip, side: "left", children: button }));
13
+ };
14
+ //# sourceMappingURL=SidebarNavItemFavourite.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarNavItemFavourite.js","sourceRoot":"","sources":["../../../src/components/sidebarNav/SidebarNavItemFavourite.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAQ3D,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,KAAmC,EAAE,EAAE;IAC7E,MAAM,EACJ,SAAS,EACT,MAAM,EACN,gBAAgB,EAChB,SAAS,EACT,OAAO,EACP,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IAEV,MAAM,MAAM,GAAG,CACb,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,UAAU,CAAC,gCAAgC,EAAE,SAAS,CAAC,kBACpD,SAAS,gBACX,gBAAgB,iBACf,oCAAoC,MAAM,EAAE,EACzD,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;YACb,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QACf,CAAC,KACG,IAAI,YAER,KAAC,IAAI,IACH,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,mBAAmB,EAC1D,IAAI,EAAE,EAAE,EACR,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,cAAc,GAC5D,GACK,CACV,CAAC;IAEF,OAAO,CACL,KAAC,iBAAiB,IAAC,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAC,MAAM,YACpD,MAAM,GACW,CACrB,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { HTMLAttributes } from 'react';
2
+ export type SidebarNavPanelProps = HTMLAttributes<HTMLDivElement>;
3
+ export declare const SidebarNavPanel: (props: SidebarNavPanelProps) => import("react/jsx-runtime").JSX.Element;
4
+ //# sourceMappingURL=SidebarNavPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarNavPanel.d.ts","sourceRoot":"","sources":["../../../src/components/sidebarNav/SidebarNavPanel.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAG5C,MAAM,MAAM,oBAAoB,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;AAElE,eAAO,MAAM,eAAe,GAAI,OAAO,oBAAoB,4CAa1D,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import classNames from 'classnames';
3
+ import { useSidebarNavContext } from './SidebarNavContext.js';
4
+ export const SidebarNavPanel = (props) => {
5
+ const { className, ...rest } = props;
6
+ const { expanded, panelId } = useSidebarNavContext();
7
+ return (_jsx("div", { id: panelId, "aria-hidden": !expanded, className: classNames('ds-sidebar-nav__panel', className), "data-testid": "sidebar-nav-panel", ...rest }));
8
+ };
9
+ //# sourceMappingURL=SidebarNavPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarNavPanel.js","sourceRoot":"","sources":["../../../src/components/sidebarNav/SidebarNavPanel.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAI9D,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAA2B,EAAE,EAAE;IAC7D,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IACrC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,oBAAoB,EAAE,CAAC;IAErD,OAAO,CACL,cACE,EAAE,EAAE,OAAO,iBACE,CAAC,QAAQ,EACtB,SAAS,EAAE,UAAU,CAAC,uBAAuB,EAAE,SAAS,CAAC,iBAC7C,mBAAmB,KAC3B,IAAI,GACR,CACH,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { HTMLAttributes } from 'react';
2
+ import type { SidebarNavNode } from './types.js';
3
+ export type SidebarNavPanelNavProps = {
4
+ ariaLabel?: string;
5
+ items?: SidebarNavNode[];
6
+ } & Omit<HTMLAttributes<HTMLElement>, 'children'> & {
7
+ children?: React.ReactNode;
8
+ };
9
+ export declare const SidebarNavPanelNav: (props: SidebarNavPanelNavProps) => import("react/jsx-runtime").JSX.Element;
10
+ //# sourceMappingURL=SidebarNavPanelNav.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarNavPanelNav.d.ts","sourceRoot":"","sources":["../../../src/components/sidebarNav/SidebarNavPanelNav.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAI5C,OAAO,KAAK,EAAsB,cAAc,EAAE,MAAM,YAAY,CAAC;AAErE,MAAM,MAAM,uBAAuB,GAAG;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;CAC1B,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC,GAAG;IAClD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;AA0BF,eAAO,MAAM,kBAAkB,GAAI,OAAO,uBAAuB,4CAgBhE,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import classNames from 'classnames';
3
+ import { SidebarNavGroup } from './SidebarNavGroup.js';
4
+ import { SidebarNavItem } from './SidebarNavItem.js';
5
+ import { resolvePanelItemProps } from './resolvePanelItemProps.js';
6
+ function renderItemNode(node) {
7
+ return _jsx(SidebarNavItem, { ...resolvePanelItemProps(node) }, node.id);
8
+ }
9
+ function renderNodes(nodes) {
10
+ return nodes.map((node) => {
11
+ if (node.type === 'group') {
12
+ return (_jsx(SidebarNavGroup, { label: node.label, defaultExpanded: node.defaultExpanded, expanded: node.expanded, onExpandedChange: node.onExpandedChange, children: renderNodes(node.children ?? []) }, node.id));
13
+ }
14
+ return renderItemNode(node);
15
+ });
16
+ }
17
+ export const SidebarNavPanelNav = (props) => {
18
+ const { ariaLabel = 'Sidebar links', items, className, children, ...rest } = props;
19
+ return (_jsx("nav", { "aria-label": ariaLabel, className: classNames('ds-sidebar-nav__nav', className), ...rest, children: _jsx("ul", { className: "ds-sidebar-nav__list", children: items ? renderNodes(items) : children }) }));
20
+ };
21
+ //# sourceMappingURL=SidebarNavPanelNav.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarNavPanelNav.js","sourceRoot":"","sources":["../../../src/components/sidebarNav/SidebarNavPanelNav.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAUnE,SAAS,cAAc,CAAC,IAAwB;IAC9C,OAAO,KAAC,cAAc,OAAmB,qBAAqB,CAAC,IAAI,CAAC,IAAxC,IAAI,CAAC,EAAE,CAAqC,CAAC;AAC3E,CAAC;AAED,SAAS,WAAW,CAAC,KAAuB;IAC1C,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC1B,OAAO,CACL,KAAC,eAAe,IAEd,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,eAAe,EAAE,IAAI,CAAC,eAAe,EACrC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,YAEtC,WAAW,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,IAN5B,IAAI,CAAC,EAAE,CAOI,CACnB,CAAC;QACJ,CAAC;QAED,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAA8B,EAAE,EAAE;IACnE,MAAM,EACJ,SAAS,GAAG,eAAe,EAC3B,KAAK,EACL,SAAS,EACT,QAAQ,EACR,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IAEV,OAAO,CACL,4BAAiB,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,qBAAqB,EAAE,SAAS,CAAC,KAAM,IAAI,YAC3F,aAAI,SAAS,EAAC,sBAAsB,YACjC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,GACnC,GACD,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { HTMLAttributes } from 'react';
2
+ export type SidebarNavRailProps = {
3
+ ariaLabel?: string;
4
+ } & HTMLAttributes<HTMLElement>;
5
+ export declare const SidebarNavRail: (props: SidebarNavRailProps) => import("react/jsx-runtime").JSX.Element;
6
+ //# sourceMappingURL=SidebarNavRail.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarNavRail.d.ts","sourceRoot":"","sources":["../../../src/components/sidebarNav/SidebarNavRail.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;AAEhC,eAAO,MAAM,cAAc,GAAI,OAAO,mBAAmB,4CAYxD,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import classNames from 'classnames';
3
+ export const SidebarNavRail = (props) => {
4
+ const { className, children, ariaLabel = 'Sidebar rail', ...rest } = props;
5
+ return (_jsx("nav", { "aria-label": ariaLabel, className: classNames('ds-sidebar-nav__rail', className), "data-testid": "sidebar-nav-rail", ...rest, children: children }));
6
+ };
7
+ //# sourceMappingURL=SidebarNavRail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarNavRail.js","sourceRoot":"","sources":["../../../src/components/sidebarNav/SidebarNavRail.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AAOpC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAA0B,EAAE,EAAE;IAC3D,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,GAAG,cAAc,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAC3E,OAAO,CACL,4BACc,SAAS,EACrB,SAAS,EAAE,UAAU,CAAC,sBAAsB,EAAE,SAAS,CAAC,iBAC5C,kBAAkB,KAC1B,IAAI,YAEP,QAAQ,GACL,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { MouseEventHandler } from 'react';
2
+ export type SidebarNavRailItemProps = {
3
+ 'href'?: string;
4
+ 'onClick'?: MouseEventHandler;
5
+ 'current'?: boolean;
6
+ 'aria-label': string;
7
+ 'data-testid'?: string;
8
+ } & Omit<React.HTMLAttributes<HTMLLIElement>, 'onClick'>;
9
+ export declare const SidebarNavRailItem: (props: SidebarNavRailItemProps) => import("react/jsx-runtime").JSX.Element;
10
+ //# sourceMappingURL=SidebarNavRailItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarNavRailItem.d.ts","sourceRoot":"","sources":["../../../src/components/sidebarNav/SidebarNavRailItem.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAI/C,MAAM,MAAM,uBAAuB,GAAG;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,SAAS,CAAC,CAAC;AAEzD,eAAO,MAAM,kBAAkB,GAAI,OAAO,uBAAuB,4CAqEhE,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import classNames from 'classnames';
3
+ import { useSidebarNavContext } from './SidebarNavContext.js';
4
+ import { SidebarNavTooltip } from './SidebarNavTooltip.js';
5
+ export const SidebarNavRailItem = (props) => {
6
+ const { href, onClick, current, 'aria-label': ariaLabel, 'data-testid': dataTestId, className, children, ...rest } = props;
7
+ const { renderLink } = useSidebarNavContext();
8
+ const itemClassName = classNames('ds-sidebar-nav__rail-item', { 'ds-sidebar-nav__rail-item--selected': Boolean(current) });
9
+ const content = (_jsx("span", { className: "ds-sidebar-nav__rail-badge-anchor", children: children }));
10
+ const renderLinkNode = () => renderLink
11
+ ? renderLink({
12
+ href: href,
13
+ className: itemClassName,
14
+ ariaCurrent: current ? 'page' : undefined,
15
+ ariaLabel,
16
+ onClick,
17
+ children: content,
18
+ })
19
+ : (_jsx("a", { href: href, className: itemClassName, "aria-current": current ? 'page' : undefined, "aria-label": ariaLabel, onClick: onClick, children: content }));
20
+ const trigger = href
21
+ ? renderLinkNode()
22
+ : (_jsx("button", { type: "button", className: itemClassName, "aria-current": current ? 'page' : undefined, "aria-label": ariaLabel, onClick: onClick, children: content }));
23
+ return (_jsx("li", { className: classNames('ds-sidebar-nav__rail-list-item', className), "data-testid": dataTestId, ...rest, children: _jsx(SidebarNavTooltip, { label: ariaLabel, children: trigger }) }));
24
+ };
25
+ //# sourceMappingURL=SidebarNavRailItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarNavRailItem.js","sourceRoot":"","sources":["../../../src/components/sidebarNav/SidebarNavRailItem.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAU3D,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAA8B,EAAE,EAAE;IACnE,MAAM,EACJ,IAAI,EACJ,OAAO,EACP,OAAO,EACP,YAAY,EAAE,SAAS,EACvB,aAAa,EAAE,UAAU,EACzB,SAAS,EACT,QAAQ,EACR,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IAEV,MAAM,EAAE,UAAU,EAAE,GAAG,oBAAoB,EAAE,CAAC;IAE9C,MAAM,aAAa,GAAG,UAAU,CAC9B,2BAA2B,EAC3B,EAAE,qCAAqC,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAC5D,CAAC;IAEF,MAAM,OAAO,GAAG,CACd,eAAM,SAAS,EAAC,mCAAmC,YAAE,QAAQ,GAAQ,CACtE,CAAC;IAEF,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,UAAU;QACrC,CAAC,CAAC,UAAU,CAAC;YACT,IAAI,EAAE,IAAK;YACX,SAAS,EAAE,aAAa;YACxB,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;YACzC,SAAS;YACT,OAAO;YACP,QAAQ,EAAE,OAAO;SAClB,CAAC;QACJ,CAAC,CAAC,CACE,YACE,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,aAAa,kBACV,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,gBAC9B,SAAS,EACrB,OAAO,EAAE,OAAO,YAEf,OAAO,GACN,CACL,CAAC;IAEN,MAAM,OAAO,GAAG,IAAI;QAClB,CAAC,CAAC,cAAc,EAAE;QAClB,CAAC,CAAC,CACE,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,aAAa,kBACV,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,gBAC9B,SAAS,EACrB,OAAO,EAAE,OAAO,YAEf,OAAO,GACD,CACV,CAAC;IAEN,OAAO,CACL,aACE,SAAS,EAAE,UAAU,CAAC,gCAAgC,EAAE,SAAS,CAAC,iBACrD,UAAU,KACnB,IAAI,YAER,KAAC,iBAAiB,IAAC,KAAK,EAAE,SAAS,YAChC,OAAO,GACU,GACjB,CACN,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { HTMLAttributes } from 'react';
2
+ export type SidebarNavRailListProps = HTMLAttributes<HTMLUListElement>;
3
+ export declare const SidebarNavRailList: (props: SidebarNavRailListProps) => import("react/jsx-runtime").JSX.Element;
4
+ //# sourceMappingURL=SidebarNavRailList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarNavRailList.d.ts","sourceRoot":"","sources":["../../../src/components/sidebarNav/SidebarNavRailList.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,MAAM,uBAAuB,GAAG,cAAc,CAAC,gBAAgB,CAAC,CAAC;AAEvE,eAAO,MAAM,kBAAkB,GAAI,OAAO,uBAAuB,4CAKhE,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import classNames from 'classnames';
3
+ export const SidebarNavRailList = (props) => {
4
+ const { className, ...rest } = props;
5
+ return (_jsx("ul", { className: classNames('ds-sidebar-nav__rail-list', className), ...rest }));
6
+ };
7
+ //# sourceMappingURL=SidebarNavRailList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarNavRailList.js","sourceRoot":"","sources":["../../../src/components/sidebarNav/SidebarNavRailList.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AAKpC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAA8B,EAAE,EAAE;IACnE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IACrC,OAAO,CACL,aAAI,SAAS,EAAE,UAAU,CAAC,2BAA2B,EAAE,SAAS,CAAC,KAAM,IAAI,GAAI,CAChF,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { HTMLAttributes } from 'react';
2
+ export type SidebarNavRailSlotProps = {
3
+ children: React.ReactNode;
4
+ } & Omit<HTMLAttributes<HTMLLIElement>, 'children'>;
5
+ export declare const SidebarNavRailSlot: (props: SidebarNavRailSlotProps) => import("react/jsx-runtime").JSX.Element;
6
+ //# sourceMappingURL=SidebarNavRailSlot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarNavRailSlot.d.ts","sourceRoot":"","sources":["../../../src/components/sidebarNav/SidebarNavRailSlot.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,CAAC;AAEpD,eAAO,MAAM,kBAAkB,GAAI,OAAO,uBAAuB,4CAOhE,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import classNames from 'classnames';
3
+ export const SidebarNavRailSlot = (props) => {
4
+ const { children, className, ...rest } = props;
5
+ return (_jsx("li", { className: classNames('ds-sidebar-nav__rail-list-item', className), ...rest, children: children }));
6
+ };
7
+ //# sourceMappingURL=SidebarNavRailSlot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarNavRailSlot.js","sourceRoot":"","sources":["../../../src/components/sidebarNav/SidebarNavRailSlot.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AAOpC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAA8B,EAAE,EAAE;IACnE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAC/C,OAAO,CACL,aAAI,SAAS,EAAE,UAAU,CAAC,gCAAgC,EAAE,SAAS,CAAC,KAAM,IAAI,YAC7E,QAAQ,GACN,CACN,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ export type SidebarNavSeparatorProps = {
2
+ id?: string;
3
+ className?: string;
4
+ };
5
+ export declare const SidebarNavSeparator: (props: SidebarNavSeparatorProps) => import("react/jsx-runtime").JSX.Element;
6
+ //# sourceMappingURL=SidebarNavSeparator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarNavSeparator.d.ts","sourceRoot":"","sources":["../../../src/components/sidebarNav/SidebarNavSeparator.tsx"],"names":[],"mappings":"AAGA,MAAM,MAAM,wBAAwB,GAAG;IACrC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,OAAO,wBAAwB,4CAUlE,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Separator } from '../separator/Separator.js';
3
+ import classNames from 'classnames';
4
+ export const SidebarNavSeparator = (props) => {
5
+ const { id, className } = props;
6
+ return (_jsx(Separator, { orientation: "horizontal", decorative: true, className: classNames('ds-sidebar-nav__separator', className), "data-testid": id ? `sidebar-nav-rail-separator-${id}` : 'sidebar-nav-rail-separator' }));
7
+ };
8
+ //# sourceMappingURL=SidebarNavSeparator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarNavSeparator.js","sourceRoot":"","sources":["../../../src/components/sidebarNav/SidebarNavSeparator.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,UAAU,MAAM,YAAY,CAAC;AAOpC,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAA+B,EAAE,EAAE;IACrE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAChC,OAAO,CACL,KAAC,SAAS,IACR,WAAW,EAAC,YAAY,EACxB,UAAU,QACV,SAAS,EAAE,UAAU,CAAC,2BAA2B,EAAE,SAAS,CAAC,iBAChD,EAAE,CAAC,CAAC,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAC,CAAC,4BAA4B,GACnF,CACH,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { HTMLAttributes } from 'react';
2
+ export type SidebarNavTitleProps = HTMLAttributes<HTMLHeadingElement>;
3
+ export declare const SidebarNavTitle: (props: SidebarNavTitleProps) => import("react/jsx-runtime").JSX.Element;
4
+ //# sourceMappingURL=SidebarNavTitle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarNavTitle.d.ts","sourceRoot":"","sources":["../../../src/components/sidebarNav/SidebarNavTitle.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,MAAM,oBAAoB,GAAG,cAAc,CAAC,kBAAkB,CAAC,CAAC;AAEtE,eAAO,MAAM,eAAe,GAAI,OAAO,oBAAoB,4CAO1D,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import classNames from 'classnames';
3
+ export const SidebarNavTitle = (props) => {
4
+ const { className, children, ...rest } = props;
5
+ return (_jsx("h2", { className: classNames('ds-sidebar-nav__title', className), ...rest, children: children }));
6
+ };
7
+ //# sourceMappingURL=SidebarNavTitle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarNavTitle.js","sourceRoot":"","sources":["../../../src/components/sidebarNav/SidebarNavTitle.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AAKpC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAA2B,EAAE,EAAE;IAC7D,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAC/C,OAAO,CACL,aAAI,SAAS,EAAE,UAAU,CAAC,uBAAuB,EAAE,SAAS,CAAC,KAAM,IAAI,YACpE,QAAQ,GACN,CACN,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ export type SidebarNavTooltipProps = {
2
+ label: string;
3
+ children: React.ReactElement;
4
+ side?: 'left' | 'right';
5
+ };
6
+ export declare const SidebarNavTooltip: (props: SidebarNavTooltipProps) => import("react/jsx-runtime").JSX.Element;
7
+ //# sourceMappingURL=SidebarNavTooltip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarNavTooltip.d.ts","sourceRoot":"","sources":["../../../src/components/sidebarNav/SidebarNavTooltip.tsx"],"names":[],"mappings":"AAIA,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,OAAO,sBAAsB,4CAa9D,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { TooltipContent } from '../tooltip/TooltipContent.js';
3
+ import { TooltipTrigger } from '../tooltip/TooltipTrigger.js';
4
+ import { Tooltip as TooltipPrimitive } from 'radix-ui';
5
+ export const SidebarNavTooltip = (props) => {
6
+ const { label, children, side = 'right' } = props;
7
+ return (_jsxs(TooltipPrimitive.Root, { disableHoverableContent: true, delayDuration: 400, children: [_jsx(TooltipTrigger, { onPointerDown: event => event.preventDefault(), children: children }), _jsx(TooltipContent, { side: side, sideOffset: 8, arrowPadding: 0, children: label })] }));
8
+ };
9
+ //# sourceMappingURL=SidebarNavTooltip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarNavTooltip.js","sourceRoot":"","sources":["../../../src/components/sidebarNav/SidebarNavTooltip.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAQvD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAA6B,EAAE,EAAE;IACjE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,GAAG,OAAO,EAAE,GAAG,KAAK,CAAC;IAElD,OAAO,CACL,MAAC,gBAAgB,CAAC,IAAI,IAAC,uBAAuB,QAAC,aAAa,EAAE,GAAG,aAC/D,KAAC,cAAc,IAAC,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,YAC3D,QAAQ,GACM,EACjB,KAAC,cAAc,IAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,YACvD,KAAK,GACS,IACK,CACzB,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { ButtonHTMLAttributes } from 'react';
2
+ export declare const SIDEBAR_NAV_TRIGGER_TOOLTIP = "Show/hide sub navigation";
3
+ export type SidebarNavTriggerProps = {
4
+ 'tooltip'?: string;
5
+ 'data-testid'?: string;
6
+ } & ButtonHTMLAttributes<HTMLButtonElement>;
7
+ export declare const SidebarNavTrigger: (props: SidebarNavTriggerProps) => import("react/jsx-runtime").JSX.Element;
8
+ //# sourceMappingURL=SidebarNavTrigger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarNavTrigger.d.ts","sourceRoot":"","sources":["../../../src/components/sidebarNav/SidebarNavTrigger.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAIlD,eAAO,MAAM,2BAA2B,6BAA6B,CAAC;AAEtE,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;AAE5C,eAAO,MAAM,iBAAiB,GAAI,OAAO,sBAAsB,4CAuC9D,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import classNames from 'classnames';
3
+ import { useSidebarNavContext } from './SidebarNavContext.js';
4
+ import { SidebarNavTooltip } from './SidebarNavTooltip.js';
5
+ export const SIDEBAR_NAV_TRIGGER_TOOLTIP = 'Show/hide sub navigation';
6
+ export const SidebarNavTrigger = (props) => {
7
+ const { tooltip = SIDEBAR_NAV_TRIGGER_TOOLTIP, className, onClick, children, 'data-testid': dataTestId = 'sidebar-nav-panel-trigger', ...rest } = props;
8
+ const { expanded, setExpanded, panelId } = useSidebarNavContext();
9
+ const button = (_jsx("button", { type: "button", "aria-controls": panelId, "aria-expanded": expanded, "aria-label": tooltip, className: classNames('ds-sidebar-nav__rail-item', { 'ds-sidebar-nav__rail-item--selected': expanded }, className), "data-testid": dataTestId, onClick: (e) => {
10
+ setExpanded(!expanded);
11
+ onClick?.(e);
12
+ }, ...rest, children: children }));
13
+ return (_jsx(SidebarNavTooltip, { label: tooltip, children: button }));
14
+ };
15
+ //# sourceMappingURL=SidebarNavTrigger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarNavTrigger.js","sourceRoot":"","sources":["../../../src/components/sidebarNav/SidebarNavTrigger.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,CAAC,MAAM,2BAA2B,GAAG,0BAA0B,CAAC;AAOtE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAA6B,EAAE,EAAE;IACjE,MAAM,EACJ,OAAO,GAAG,2BAA2B,EACrC,SAAS,EACT,OAAO,EACP,QAAQ,EACR,aAAa,EAAE,UAAU,GAAG,2BAA2B,EACvD,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IAEV,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,oBAAoB,EAAE,CAAC;IAElE,MAAM,MAAM,GAAG,CACb,iBACE,IAAI,EAAC,QAAQ,mBACE,OAAO,mBACP,QAAQ,gBACX,OAAO,EACnB,SAAS,EAAE,UAAU,CACnB,2BAA2B,EAC3B,EAAE,qCAAqC,EAAE,QAAQ,EAAE,EACnD,SAAS,CACV,iBACY,UAAU,EACvB,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;YACb,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC;YACvB,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QACf,CAAC,KACG,IAAI,YAEP,QAAQ,GACF,CACV,CAAC;IAEF,OAAO,CACL,KAAC,iBAAiB,IAAC,KAAK,EAAE,OAAO,YAC9B,MAAM,GACW,CACrB,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { SidebarNav } from './SidebarNav.js';
2
+ export { isSidebarNavRailSeparator } from './types.js';
3
+ export type { SidebarNavGroupNode, SidebarNavItemNode, SidebarNavNode, SidebarNavProps, SidebarNavRailEntry, SidebarNavRailItemConfig, SidebarNavRailSeparatorConfig, SidebarNavRenderLinkArgs, } from './types.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/sidebarNav/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AACvD,YAAY,EACV,mBAAmB,EAAE,kBAAkB,EAAE,cAAc,EAAE,eAAe,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,6BAA6B,EACtJ,wBAAwB,GACzB,MAAM,YAAY,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { SidebarNav } from './SidebarNav.js';
2
+ export { isSidebarNavRailSeparator } from './types.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/sidebarNav/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { SidebarNavItemProps } from './SidebarNavItem.js';
2
+ import type { SidebarNavItemNode } from './types.js';
3
+ export declare function resolvePanelItemProps(node: SidebarNavItemNode): SidebarNavItemProps;
4
+ //# sourceMappingURL=resolvePanelItemProps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolvePanelItemProps.d.ts","sourceRoot":"","sources":["../../../src/components/sidebarNav/resolvePanelItemProps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,kBAAkB,GAAG,mBAAmB,CA8CnF"}
@@ -0,0 +1,43 @@
1
+ export function resolvePanelItemProps(node) {
2
+ const base = {
3
+ itemId: node.id,
4
+ current: node.current,
5
+ isPressed: node.isPressed,
6
+ onFavouriteClick: node.onFavouriteClick,
7
+ children: node.label,
8
+ };
9
+ const hasHref = 'href' in node && node.href != null;
10
+ if (node.canFavourite) {
11
+ if (hasHref) {
12
+ return {
13
+ ...base,
14
+ canFavourite: true,
15
+ favouriteTooltip: node.favouriteTooltip,
16
+ href: node.href,
17
+ onClick: node.onClick,
18
+ linkProps: node.linkProps,
19
+ };
20
+ }
21
+ return {
22
+ ...base,
23
+ canFavourite: true,
24
+ favouriteTooltip: node.favouriteTooltip,
25
+ linkElement: 'button',
26
+ onClick: node.onClick,
27
+ };
28
+ }
29
+ if (hasHref) {
30
+ return {
31
+ ...base,
32
+ href: node.href,
33
+ onClick: node.onClick,
34
+ linkProps: node.linkProps,
35
+ };
36
+ }
37
+ return {
38
+ ...base,
39
+ linkElement: 'button',
40
+ onClick: node.onClick,
41
+ };
42
+ }
43
+ //# sourceMappingURL=resolvePanelItemProps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolvePanelItemProps.js","sourceRoot":"","sources":["../../../src/components/sidebarNav/resolvePanelItemProps.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,qBAAqB,CAAC,IAAwB;IAC5D,MAAM,IAAI,GAAG;QACX,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;QACvC,QAAQ,EAAE,IAAI,CAAC,KAAK;KACrB,CAAC;IAEF,MAAM,OAAO,GAAG,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;IAEpD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO;gBACL,GAAG,IAAI;gBACP,YAAY,EAAE,IAAI;gBAClB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;gBACvC,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,SAAS,EAAE,IAAI,CAAC,SAAS;aAC1B,CAAC;QACJ,CAAC;QAED,OAAO;YACL,GAAG,IAAI;YACP,YAAY,EAAE,IAAI;YAClB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,WAAW,EAAE,QAAQ;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO;YACL,GAAG,IAAI;YACP,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC;IACJ,CAAC;IAED,OAAO;QACL,GAAG,IAAI;QACP,WAAW,EAAE,QAAQ;QACrB,OAAO,EAAE,IAAI,CAAC,OAAO;KACtB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=resolvePanelItemProps.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolvePanelItemProps.test.d.ts","sourceRoot":"","sources":["../../../src/components/sidebarNav/resolvePanelItemProps.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,52 @@
1
+ import { describe, expect, test } from 'vitest';
2
+ import { resolvePanelItemProps } from './resolvePanelItemProps.js';
3
+ describe('resolvePanelItemProps', () => {
4
+ test('maps href item to link variant with top-level onClick', () => {
5
+ const onClick = () => { };
6
+ const props = resolvePanelItemProps({
7
+ type: 'item',
8
+ id: 'daily',
9
+ label: 'Daily Attendance',
10
+ href: '/daily',
11
+ onClick,
12
+ });
13
+ expect(props).toEqual({
14
+ itemId: 'daily',
15
+ children: 'Daily Attendance',
16
+ href: '/daily',
17
+ onClick,
18
+ });
19
+ });
20
+ test('maps onClick-only item to button variant with top-level onClick', () => {
21
+ const onClick = () => { };
22
+ const props = resolvePanelItemProps({
23
+ type: 'item',
24
+ id: 'action',
25
+ label: 'Run action',
26
+ onClick,
27
+ });
28
+ expect(props).toEqual({
29
+ itemId: 'action',
30
+ children: 'Run action',
31
+ linkElement: 'button',
32
+ onClick,
33
+ });
34
+ });
35
+ test('maps favourite href item with canFavourite and favouriteTooltip', () => {
36
+ const props = resolvePanelItemProps({
37
+ type: 'item',
38
+ id: 'daily',
39
+ label: 'Daily Attendance',
40
+ href: '/daily',
41
+ canFavourite: true,
42
+ favouriteTooltip: 'Add to favourites',
43
+ });
44
+ expect(props).toMatchObject({
45
+ itemId: 'daily',
46
+ canFavourite: true,
47
+ favouriteTooltip: 'Add to favourites',
48
+ href: '/daily',
49
+ });
50
+ });
51
+ });
52
+ //# sourceMappingURL=resolvePanelItemProps.test.js.map