@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.
- package/.changeset/twenty-groups-wonder.md +5 -0
- package/.changeset/yellow-falcons-search.md +5 -0
- package/dist/components/button/Button.story.d.ts +47 -0
- package/dist/components/button/Button.story.d.ts.map +1 -0
- package/dist/components/button/Button.story.js +123 -0
- package/dist/components/button/Button.story.js.map +1 -0
- package/dist/components/button/ButtonUsageExample.d.ts +2 -0
- package/dist/components/button/ButtonUsageExample.d.ts.map +1 -0
- package/dist/components/button/ButtonUsageExample.js +11 -0
- package/dist/components/button/ButtonUsageExample.js.map +1 -0
- package/dist/components/combobox/useElementWidth.d.ts +2 -0
- package/dist/components/combobox/useElementWidth.d.ts.map +1 -0
- package/dist/components/combobox/useElementWidth.js +31 -0
- package/dist/components/combobox/useElementWidth.js.map +1 -0
- package/dist/components/combobox/useVisibleChips.d.ts +21 -0
- package/dist/components/combobox/useVisibleChips.d.ts.map +1 -0
- package/dist/components/combobox/useVisibleChips.js +59 -0
- package/dist/components/combobox/useVisibleChips.js.map +1 -0
- package/dist/components/combobox/useVisibleChips.test.d.ts +2 -0
- package/dist/components/combobox/useVisibleChips.test.d.ts.map +1 -0
- package/dist/components/combobox/useVisibleChips.test.js +81 -0
- package/dist/components/combobox/useVisibleChips.test.js.map +1 -0
- package/dist/components/heading/HeadingInnerContainer.d.ts +5 -0
- package/dist/components/heading/HeadingInnerContainer.d.ts.map +1 -0
- package/dist/components/heading/HeadingInnerContainer.js +7 -0
- package/dist/components/heading/HeadingInnerContainer.js.map +1 -0
- package/dist/components/icoText/IcoText.d.ts +37 -0
- package/dist/components/icoText/IcoText.d.ts.map +1 -0
- package/dist/components/icoText/IcoText.js +29 -0
- package/dist/components/icoText/IcoText.js.map +1 -0
- package/dist/components/icoText/IcoText.stories.d.ts +60 -0
- package/dist/components/icoText/IcoText.stories.d.ts.map +1 -0
- package/dist/components/icoText/IcoText.stories.js +319 -0
- package/dist/components/icoText/IcoText.stories.js.map +1 -0
- package/dist/components/icoText/IcoText.test.d.ts +2 -0
- package/dist/components/icoText/IcoText.test.d.ts.map +1 -0
- package/dist/components/icoText/IcoText.test.js +27 -0
- package/dist/components/icoText/IcoText.test.js.map +1 -0
- package/dist/components/pill/Pill.d.ts.map +1 -1
- package/dist/components/pill/Pill.js +1 -1
- package/dist/components/pill/Pill.js.map +1 -1
- package/dist/components/sidebarNav/SidebarNav.d.ts +46 -0
- package/dist/components/sidebarNav/SidebarNav.d.ts.map +1 -0
- package/dist/components/sidebarNav/SidebarNav.js +102 -0
- package/dist/components/sidebarNav/SidebarNav.js.map +1 -0
- package/dist/components/sidebarNav/SidebarNav.stories.d.ts +61 -0
- package/dist/components/sidebarNav/SidebarNav.stories.d.ts.map +1 -0
- package/dist/components/sidebarNav/SidebarNav.stories.js +253 -0
- package/dist/components/sidebarNav/SidebarNav.stories.js.map +1 -0
- package/dist/components/sidebarNav/SidebarNav.test.d.ts +2 -0
- package/dist/components/sidebarNav/SidebarNav.test.d.ts.map +1 -0
- package/dist/components/sidebarNav/SidebarNav.test.js +240 -0
- package/dist/components/sidebarNav/SidebarNav.test.js.map +1 -0
- package/dist/components/sidebarNav/SidebarNavContext.d.ts +13 -0
- package/dist/components/sidebarNav/SidebarNavContext.d.ts.map +1 -0
- package/dist/components/sidebarNav/SidebarNavContext.js +15 -0
- package/dist/components/sidebarNav/SidebarNavContext.js.map +1 -0
- package/dist/components/sidebarNav/SidebarNavGroup.d.ts +10 -0
- package/dist/components/sidebarNav/SidebarNavGroup.d.ts.map +1 -0
- package/dist/components/sidebarNav/SidebarNavGroup.js +16 -0
- package/dist/components/sidebarNav/SidebarNavGroup.js.map +1 -0
- package/dist/components/sidebarNav/SidebarNavItem.d.ts +32 -0
- package/dist/components/sidebarNav/SidebarNavItem.d.ts.map +1 -0
- package/dist/components/sidebarNav/SidebarNavItem.js +44 -0
- package/dist/components/sidebarNav/SidebarNavItem.js.map +1 -0
- package/dist/components/sidebarNav/SidebarNavItemFavourite.d.ts +8 -0
- package/dist/components/sidebarNav/SidebarNavItemFavourite.d.ts.map +1 -0
- package/dist/components/sidebarNav/SidebarNavItemFavourite.js +14 -0
- package/dist/components/sidebarNav/SidebarNavItemFavourite.js.map +1 -0
- package/dist/components/sidebarNav/SidebarNavPanel.d.ts +4 -0
- package/dist/components/sidebarNav/SidebarNavPanel.d.ts.map +1 -0
- package/dist/components/sidebarNav/SidebarNavPanel.js +9 -0
- package/dist/components/sidebarNav/SidebarNavPanel.js.map +1 -0
- package/dist/components/sidebarNav/SidebarNavPanelNav.d.ts +10 -0
- package/dist/components/sidebarNav/SidebarNavPanelNav.d.ts.map +1 -0
- package/dist/components/sidebarNav/SidebarNavPanelNav.js +21 -0
- package/dist/components/sidebarNav/SidebarNavPanelNav.js.map +1 -0
- package/dist/components/sidebarNav/SidebarNavRail.d.ts +6 -0
- package/dist/components/sidebarNav/SidebarNavRail.d.ts.map +1 -0
- package/dist/components/sidebarNav/SidebarNavRail.js +7 -0
- package/dist/components/sidebarNav/SidebarNavRail.js.map +1 -0
- package/dist/components/sidebarNav/SidebarNavRailItem.d.ts +10 -0
- package/dist/components/sidebarNav/SidebarNavRailItem.d.ts.map +1 -0
- package/dist/components/sidebarNav/SidebarNavRailItem.js +25 -0
- package/dist/components/sidebarNav/SidebarNavRailItem.js.map +1 -0
- package/dist/components/sidebarNav/SidebarNavRailList.d.ts +4 -0
- package/dist/components/sidebarNav/SidebarNavRailList.d.ts.map +1 -0
- package/dist/components/sidebarNav/SidebarNavRailList.js +7 -0
- package/dist/components/sidebarNav/SidebarNavRailList.js.map +1 -0
- package/dist/components/sidebarNav/SidebarNavRailSlot.d.ts +6 -0
- package/dist/components/sidebarNav/SidebarNavRailSlot.d.ts.map +1 -0
- package/dist/components/sidebarNav/SidebarNavRailSlot.js +7 -0
- package/dist/components/sidebarNav/SidebarNavRailSlot.js.map +1 -0
- package/dist/components/sidebarNav/SidebarNavSeparator.d.ts +6 -0
- package/dist/components/sidebarNav/SidebarNavSeparator.d.ts.map +1 -0
- package/dist/components/sidebarNav/SidebarNavSeparator.js +8 -0
- package/dist/components/sidebarNav/SidebarNavSeparator.js.map +1 -0
- package/dist/components/sidebarNav/SidebarNavTitle.d.ts +4 -0
- package/dist/components/sidebarNav/SidebarNavTitle.d.ts.map +1 -0
- package/dist/components/sidebarNav/SidebarNavTitle.js +7 -0
- package/dist/components/sidebarNav/SidebarNavTitle.js.map +1 -0
- package/dist/components/sidebarNav/SidebarNavTooltip.d.ts +7 -0
- package/dist/components/sidebarNav/SidebarNavTooltip.d.ts.map +1 -0
- package/dist/components/sidebarNav/SidebarNavTooltip.js +9 -0
- package/dist/components/sidebarNav/SidebarNavTooltip.js.map +1 -0
- package/dist/components/sidebarNav/SidebarNavTrigger.d.ts +8 -0
- package/dist/components/sidebarNav/SidebarNavTrigger.d.ts.map +1 -0
- package/dist/components/sidebarNav/SidebarNavTrigger.js +15 -0
- package/dist/components/sidebarNav/SidebarNavTrigger.js.map +1 -0
- package/dist/components/sidebarNav/index.d.ts +4 -0
- package/dist/components/sidebarNav/index.d.ts.map +1 -0
- package/dist/components/sidebarNav/index.js +3 -0
- package/dist/components/sidebarNav/index.js.map +1 -0
- package/dist/components/sidebarNav/resolvePanelItemProps.d.ts +4 -0
- package/dist/components/sidebarNav/resolvePanelItemProps.d.ts.map +1 -0
- package/dist/components/sidebarNav/resolvePanelItemProps.js +43 -0
- package/dist/components/sidebarNav/resolvePanelItemProps.js.map +1 -0
- package/dist/components/sidebarNav/resolvePanelItemProps.test.d.ts +2 -0
- package/dist/components/sidebarNav/resolvePanelItemProps.test.d.ts.map +1 -0
- package/dist/components/sidebarNav/resolvePanelItemProps.test.js +52 -0
- package/dist/components/sidebarNav/resolvePanelItemProps.test.js.map +1 -0
- package/dist/components/sidebarNav/types.d.ts +100 -0
- package/dist/components/sidebarNav/types.d.ts.map +1 -0
- package/dist/components/sidebarNav/types.js +4 -0
- package/dist/components/sidebarNav/types.js.map +1 -0
- package/dist/components/sidebarNav/useControllableBoolean.d.ts +9 -0
- package/dist/components/sidebarNav/useControllableBoolean.d.ts.map +1 -0
- package/dist/components/sidebarNav/useControllableBoolean.js +15 -0
- package/dist/components/sidebarNav/useControllableBoolean.js.map +1 -0
- package/dist/components/slideover/Slideover.stories.d.ts +10 -0
- package/dist/components/slideover/Slideover.stories.d.ts.map +1 -0
- package/dist/components/slideover/Slideover.stories.js +12 -0
- package/dist/components/slideover/Slideover.stories.js.map +1 -0
- package/dist/components/table/BulkActionsDropdown.d.ts +12 -0
- package/dist/components/table/BulkActionsDropdown.d.ts.map +1 -0
- package/dist/components/table/BulkActionsDropdown.js +11 -0
- package/dist/components/table/BulkActionsDropdown.js.map +1 -0
- package/dist/components/table/HideColumnsDropdown.d.ts +9 -0
- package/dist/components/table/HideColumnsDropdown.d.ts.map +1 -0
- package/dist/components/table/HideColumnsDropdown.js +33 -0
- package/dist/components/table/HideColumnsDropdown.js.map +1 -0
- package/dist/components/table/Table.d.ts +1 -1
- package/dist/components/table/Table.stories.d.ts.map +1 -1
- package/dist/components/table/Table.stories.js +0 -5
- package/dist/components/table/Table.stories.js.map +1 -1
- package/dist/components/table/Table.test.js +0 -5
- package/dist/components/table/Table.test.js.map +1 -1
- package/dist/components/table/cellRenderers/SelectDropdownCellEditor.d.ts +8 -0
- package/dist/components/table/cellRenderers/SelectDropdownCellEditor.d.ts.map +1 -0
- package/dist/components/table/cellRenderers/SelectDropdownCellEditor.js +19 -0
- package/dist/components/table/cellRenderers/SelectDropdownCellEditor.js.map +1 -0
- package/dist/components/table/hooks/useHistory.d.ts +20 -0
- package/dist/components/table/hooks/useHistory.d.ts.map +1 -0
- package/dist/components/table/hooks/useHistory.js +73 -0
- package/dist/components/table/hooks/useHistory.js.map +1 -0
- package/dist/components/table/hooks/useTableHistory.d.ts +21 -0
- package/dist/components/table/hooks/useTableHistory.d.ts.map +1 -0
- package/dist/components/table/hooks/useTableHistory.js +88 -0
- package/dist/components/table/hooks/useTableHistory.js.map +1 -0
- package/dist/components/table/pagination/TableSettingsDropdown.d.ts +2 -0
- package/dist/components/table/pagination/TableSettingsDropdown.d.ts.map +1 -0
- package/dist/components/table/pagination/TableSettingsDropdown.js +42 -0
- package/dist/components/table/pagination/TableSettingsDropdown.js.map +1 -0
- package/dist/components/table/tableHeader/TableHeader.d.ts +14 -0
- package/dist/components/table/tableHeader/TableHeader.d.ts.map +1 -0
- package/dist/components/table/tableHeader/TableHeader.js +55 -0
- package/dist/components/table/tableHeader/TableHeader.js.map +1 -0
- package/dist/components/table/tableHeader/index.d.ts +2 -0
- package/dist/components/table/tableHeader/index.d.ts.map +1 -0
- package/dist/components/table/tableHeader/index.js +2 -0
- package/dist/components/table/tableHeader/index.js.map +1 -0
- package/dist/components/table/tableTheme.d.ts +2 -0
- package/dist/components/table/tableTheme.d.ts.map +1 -0
- package/dist/components/table/tableTheme.js +18 -0
- package/dist/components/table/tableTheme.js.map +1 -0
- package/dist/components/table/types.d.ts +169 -0
- package/dist/components/table/types.d.ts.map +1 -0
- package/dist/components/table/types.js +11 -0
- package/dist/components/table/types.js.map +1 -0
- package/dist/components/table/utils/setAgGridLicenseKey.d.ts +2 -0
- package/dist/components/table/utils/setAgGridLicenseKey.d.ts.map +1 -0
- package/dist/components/table/utils/setAgGridLicenseKey.js +11 -0
- package/dist/components/table/utils/setAgGridLicenseKey.js.map +1 -0
- package/dist/layoutTest.stories.d.ts +6 -0
- package/dist/layoutTest.stories.d.ts.map +1 -0
- package/dist/layoutTest.stories.js +9 -0
- package/dist/layoutTest.stories.js.map +1 -0
- package/dist/pages/assessmentBuilderPage/AssessmentBuilderPage.d.ts +39 -0
- package/dist/pages/assessmentBuilderPage/AssessmentBuilderPage.d.ts.map +1 -0
- package/dist/pages/assessmentBuilderPage/AssessmentBuilderPage.js +112 -0
- package/dist/pages/assessmentBuilderPage/AssessmentBuilderPage.js.map +1 -0
- package/dist/pages/assessmentBuilderPage/AssessmentBuilderPage.stories.d.ts +184 -0
- package/dist/pages/assessmentBuilderPage/AssessmentBuilderPage.stories.d.ts.map +1 -0
- package/dist/pages/assessmentBuilderPage/AssessmentBuilderPage.stories.js +317 -0
- package/dist/pages/assessmentBuilderPage/AssessmentBuilderPage.stories.js.map +1 -0
- package/dist/pages/assessmentBuilderPage/AssessmentBuilderPage.test.d.ts +2 -0
- package/dist/pages/assessmentBuilderPage/AssessmentBuilderPage.test.d.ts.map +1 -0
- package/dist/pages/assessmentBuilderPage/AssessmentBuilderPage.test.js +160 -0
- package/dist/pages/assessmentBuilderPage/AssessmentBuilderPage.test.js.map +1 -0
- package/dist/pages/assessmentSettingsPage/AssessmentSettingsPage.d.ts +11 -0
- package/dist/pages/assessmentSettingsPage/AssessmentSettingsPage.d.ts.map +1 -0
- package/dist/pages/assessmentSettingsPage/AssessmentSettingsPage.js +13 -0
- package/dist/pages/assessmentSettingsPage/AssessmentSettingsPage.js.map +1 -0
- package/dist/pages/assessmentSettingsPage/AssessmentSettingsPage.stories.d.ts +174 -0
- package/dist/pages/assessmentSettingsPage/AssessmentSettingsPage.stories.d.ts.map +1 -0
- package/dist/pages/assessmentSettingsPage/AssessmentSettingsPage.stories.js +212 -0
- package/dist/pages/assessmentSettingsPage/AssessmentSettingsPage.stories.js.map +1 -0
- package/dist/pages/assessmentSettingsPage/AssessmentSettingsPage.test.d.ts +2 -0
- package/dist/pages/assessmentSettingsPage/AssessmentSettingsPage.test.d.ts.map +1 -0
- package/dist/pages/assessmentSettingsPage/AssessmentSettingsPage.test.js +84 -0
- package/dist/pages/assessmentSettingsPage/AssessmentSettingsPage.test.js.map +1 -0
- package/dist/pages/assessmentsPage/AssessmentsPage.d.ts +16 -0
- package/dist/pages/assessmentsPage/AssessmentsPage.d.ts.map +1 -0
- package/dist/pages/assessmentsPage/AssessmentsPage.js +31 -0
- package/dist/pages/assessmentsPage/AssessmentsPage.js.map +1 -0
- package/dist/pages/assessmentsPage/AssessmentsPage.stories.d.ts +162 -0
- package/dist/pages/assessmentsPage/AssessmentsPage.stories.d.ts.map +1 -0
- package/dist/pages/assessmentsPage/AssessmentsPage.stories.js +290 -0
- package/dist/pages/assessmentsPage/AssessmentsPage.stories.js.map +1 -0
- package/dist/pages/assessmentsPage/AssessmentsPage.test.d.ts +2 -0
- package/dist/pages/assessmentsPage/AssessmentsPage.test.d.ts.map +1 -0
- package/dist/pages/assessmentsPage/AssessmentsPage.test.js +109 -0
- package/dist/pages/assessmentsPage/AssessmentsPage.test.js.map +1 -0
- package/dist/pages/customReportWriterPage/CustomReportWriterPage.d.ts +40 -0
- package/dist/pages/customReportWriterPage/CustomReportWriterPage.d.ts.map +1 -0
- package/dist/pages/customReportWriterPage/CustomReportWriterPage.js +156 -0
- package/dist/pages/customReportWriterPage/CustomReportWriterPage.js.map +1 -0
- package/dist/pages/customReportWriterPage/CustomReportWriterPage.stories.d.ts +239 -0
- package/dist/pages/customReportWriterPage/CustomReportWriterPage.stories.d.ts.map +1 -0
- package/dist/pages/customReportWriterPage/CustomReportWriterPage.stories.js +318 -0
- package/dist/pages/customReportWriterPage/CustomReportWriterPage.stories.js.map +1 -0
- package/dist/pages/customReportWriterPage/CustomReportWriterPage.test.d.ts +2 -0
- package/dist/pages/customReportWriterPage/CustomReportWriterPage.test.d.ts.map +1 -0
- package/dist/pages/customReportWriterPage/CustomReportWriterPage.test.js +183 -0
- package/dist/pages/customReportWriterPage/CustomReportWriterPage.test.js.map +1 -0
- package/dist/pages/gradeSetsPage/GradeSetsPage.d.ts +26 -0
- package/dist/pages/gradeSetsPage/GradeSetsPage.d.ts.map +1 -0
- package/dist/pages/gradeSetsPage/GradeSetsPage.js +33 -0
- package/dist/pages/gradeSetsPage/GradeSetsPage.js.map +1 -0
- package/dist/pages/gradeSetsPage/GradeSetsPage.stories.d.ts +176 -0
- package/dist/pages/gradeSetsPage/GradeSetsPage.stories.d.ts.map +1 -0
- package/dist/pages/gradeSetsPage/GradeSetsPage.stories.js +237 -0
- package/dist/pages/gradeSetsPage/GradeSetsPage.stories.js.map +1 -0
- package/dist/pages/gradeSetsPage/GradeSetsPage.test.d.ts +2 -0
- package/dist/pages/gradeSetsPage/GradeSetsPage.test.d.ts.map +1 -0
- package/dist/pages/gradeSetsPage/GradeSetsPage.test.js +91 -0
- package/dist/pages/gradeSetsPage/GradeSetsPage.test.js.map +1 -0
- package/dist/pages/studentProfilePage/StudentProfilePage.d.ts +48 -0
- package/dist/pages/studentProfilePage/StudentProfilePage.d.ts.map +1 -0
- package/dist/pages/studentProfilePage/StudentProfilePage.js +52 -0
- package/dist/pages/studentProfilePage/StudentProfilePage.js.map +1 -0
- package/dist/pages/studentProfilePage/StudentProfilePage.stories.d.ts +218 -0
- package/dist/pages/studentProfilePage/StudentProfilePage.stories.d.ts.map +1 -0
- package/dist/pages/studentProfilePage/StudentProfilePage.stories.js +273 -0
- package/dist/pages/studentProfilePage/StudentProfilePage.stories.js.map +1 -0
- package/dist/pages/studentProfilePage/StudentProfilePage.test.d.ts +2 -0
- package/dist/pages/studentProfilePage/StudentProfilePage.test.d.ts.map +1 -0
- package/dist/pages/studentProfilePage/StudentProfilePage.test.js +197 -0
- package/dist/pages/studentProfilePage/StudentProfilePage.test.js.map +1 -0
- package/dist/utils/PopupParentContext.d.ts +3 -0
- package/dist/utils/PopupParentContext.d.ts.map +1 -0
- package/dist/utils/PopupParentContext.js +6 -0
- package/dist/utils/PopupParentContext.js.map +1 -0
- package/dist/utils/PopupParentContext.stories.d.ts +17 -0
- package/dist/utils/PopupParentContext.stories.d.ts.map +1 -0
- package/dist/utils/PopupParentContext.stories.js +266 -0
- package/dist/utils/PopupParentContext.stories.js.map +1 -0
- package/dist/utils/getDefaultPopupParent.d.ts +2 -0
- package/dist/utils/getDefaultPopupParent.d.ts.map +1 -0
- package/dist/utils/getDefaultPopupParent.js +19 -0
- package/dist/utils/getDefaultPopupParent.js.map +1 -0
- package/package.json +4 -4
- package/src/components/pill/Pill.tsx +1 -0
- package/src/components/table/Table.stories.tsx +0 -5
- 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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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
|