@arbor-education/design-system.components 4.7.0-alpha.0 → 4.7.1
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/.github/workflows/chromatic.yml +1 -1
- package/.nvmrc +1 -1
- package/CHANGELOG.md +42 -0
- package/dist/components/datePicker/DatePicker.d.ts +2 -0
- package/dist/components/datePicker/DatePicker.d.ts.map +1 -1
- package/dist/components/datePicker/DatePicker.js +2 -2
- package/dist/components/datePicker/DatePicker.js.map +1 -1
- package/dist/components/datePicker/DatePicker.stories.d.ts +18 -0
- package/dist/components/datePicker/DatePicker.stories.d.ts.map +1 -1
- package/dist/components/datePicker/DatePicker.stories.js +30 -8
- package/dist/components/datePicker/DatePicker.stories.js.map +1 -1
- package/dist/components/datePicker/DatePicker.test.js +9 -1
- package/dist/components/datePicker/DatePicker.test.js.map +1 -1
- package/dist/components/dateTimePicker/DateTimePicker.d.ts +2 -0
- package/dist/components/dateTimePicker/DateTimePicker.d.ts.map +1 -1
- package/dist/components/dateTimePicker/DateTimePicker.js +2 -2
- package/dist/components/dateTimePicker/DateTimePicker.js.map +1 -1
- package/dist/components/dateTimePicker/DateTimePicker.stories.d.ts +18 -0
- package/dist/components/dateTimePicker/DateTimePicker.stories.d.ts.map +1 -1
- package/dist/components/dateTimePicker/DateTimePicker.stories.js +32 -9
- package/dist/components/dateTimePicker/DateTimePicker.stories.js.map +1 -1
- package/dist/components/dateTimePicker/DateTimePicker.test.js +9 -1
- package/dist/components/dateTimePicker/DateTimePicker.test.js.map +1 -1
- package/dist/components/fileUpload/FileUpload.d.ts +12 -4
- package/dist/components/fileUpload/FileUpload.d.ts.map +1 -1
- package/dist/components/fileUpload/FileUpload.js +32 -7
- package/dist/components/fileUpload/FileUpload.js.map +1 -1
- package/dist/components/fileUpload/FileUpload.stories.d.ts +1 -0
- package/dist/components/fileUpload/FileUpload.stories.d.ts.map +1 -1
- package/dist/components/fileUpload/FileUpload.stories.js +59 -6
- package/dist/components/fileUpload/FileUpload.stories.js.map +1 -1
- package/dist/components/fileUpload/FileUpload.test.js +102 -1
- package/dist/components/fileUpload/FileUpload.test.js.map +1 -1
- package/dist/components/fileUpload/FileUploadLinkModal.d.ts +14 -0
- package/dist/components/fileUpload/FileUploadLinkModal.d.ts.map +1 -0
- package/dist/components/fileUpload/FileUploadLinkModal.js +61 -0
- package/dist/components/fileUpload/FileUploadLinkModal.js.map +1 -0
- package/dist/components/filterBar/FilterBar.d.ts +1 -0
- package/dist/components/filterBar/FilterBar.d.ts.map +1 -1
- package/dist/components/filterBar/FilterBar.js +7 -1
- package/dist/components/filterBar/FilterBar.js.map +1 -1
- package/dist/components/filterBar/FilterBar.test.js +25 -1
- package/dist/components/filterBar/FilterBar.test.js.map +1 -1
- package/dist/components/formField/inputs/text/TextInput.d.ts.map +1 -1
- package/dist/components/formField/inputs/text/TextInput.js +2 -2
- package/dist/components/formField/inputs/text/TextInput.js.map +1 -1
- package/dist/components/kpiCard/KPICard.stories.js +2 -2
- package/dist/components/kpiCard/KPICard.stories.js.map +1 -1
- package/dist/components/sideNavigation/SideNavigation.d.ts +5 -0
- package/dist/components/sideNavigation/SideNavigation.d.ts.map +1 -1
- package/dist/components/sideNavigation/SideNavigation.js +5 -4
- package/dist/components/sideNavigation/SideNavigation.js.map +1 -1
- package/dist/components/sideNavigation/SideNavigation.stories.d.ts.map +1 -1
- package/dist/components/sideNavigation/SideNavigation.stories.js +6 -2
- package/dist/components/sideNavigation/SideNavigation.stories.js.map +1 -1
- package/dist/components/sideNavigation/SideNavigation.test.js +13 -0
- package/dist/components/sideNavigation/SideNavigation.test.js.map +1 -1
- package/dist/components/sideNavigation/SideNavigationTitle.d.ts.map +1 -1
- package/dist/components/sideNavigation/SideNavigationTitle.js +1 -1
- package/dist/components/sideNavigation/SideNavigationTitle.js.map +1 -1
- package/dist/components/sidebar/Sidebar.stories.d.ts.map +1 -1
- package/dist/components/sidebar/Sidebar.stories.js +3 -11
- package/dist/components/sidebar/Sidebar.stories.js.map +1 -1
- package/dist/components/table/columnFilters/TimeFilter/TimeFilter.d.ts.map +1 -1
- package/dist/components/table/columnFilters/TimeFilter/TimeFilter.js +1 -1
- package/dist/components/table/columnFilters/TimeFilter/TimeFilter.js.map +1 -1
- package/dist/components/table/columnFilters/TimeFilter/TimeFilter.test.js +2 -2
- package/dist/components/table/columnFilters/filterResetButton/FilterResetButton.d.ts +1 -0
- package/dist/components/table/columnFilters/filterResetButton/FilterResetButton.d.ts.map +1 -1
- package/dist/components/table/columnFilters/filterResetButton/FilterResetButton.js +2 -2
- package/dist/components/table/columnFilters/filterResetButton/FilterResetButton.js.map +1 -1
- package/dist/components/table/pagination/PageSizeSelector.js +1 -1
- package/dist/components/table/pagination/PageSizeSelector.js.map +1 -1
- package/dist/components/table/pagination/Pagination.test.js +3 -3
- package/dist/components/table/pagination/Pagination.test.js.map +1 -1
- package/dist/index.css +20 -1
- package/dist/index.css.map +1 -1
- package/package.json +1 -1
- package/src/components/datePicker/DatePicker.stories.tsx +30 -3
- package/src/components/datePicker/DatePicker.test.tsx +15 -0
- package/src/components/datePicker/DatePicker.tsx +6 -0
- package/src/components/dateTimePicker/DateTimePicker.stories.tsx +32 -1
- package/src/components/dateTimePicker/DateTimePicker.test.tsx +15 -0
- package/src/components/dateTimePicker/DateTimePicker.tsx +6 -0
- package/src/components/fileUpload/FileUpload.stories.tsx +74 -6
- package/src/components/fileUpload/FileUpload.test.tsx +139 -1
- package/src/components/fileUpload/FileUpload.tsx +109 -14
- package/src/components/fileUpload/FileUploadLinkModal.tsx +109 -0
- package/src/components/fileUpload/fileUpload.scss +24 -1
- package/src/components/filterBar/FilterBar.test.tsx +50 -0
- package/src/components/filterBar/FilterBar.tsx +10 -1
- package/src/components/formField/inputs/text/TextInput.tsx +2 -0
- package/src/components/kpiCard/KPICard.stories.tsx +2 -2
- package/src/components/sideNavigation/SideNavigation.stories.tsx +6 -2
- package/src/components/sideNavigation/SideNavigation.test.tsx +21 -0
- package/src/components/sideNavigation/SideNavigation.tsx +19 -2
- package/src/components/sideNavigation/SideNavigationTitle.tsx +5 -3
- package/src/components/sidebar/Sidebar.stories.tsx +3 -16
- package/src/components/table/columnFilters/TimeFilter/TimeFilter.test.tsx +2 -2
- package/src/components/table/columnFilters/TimeFilter/TimeFilter.tsx +4 -1
- package/src/components/table/columnFilters/filterResetButton/FilterResetButton.tsx +3 -2
- package/src/components/table/pagination/PageSizeSelector.tsx +1 -1
- package/src/components/table/pagination/Pagination.test.tsx +3 -3
- package/.changeset/twenty-groups-wonder.md +0 -5
- package/.changeset/yellow-falcons-search.md +0 -5
- package/dist/components/button/Button.story.d.ts +0 -47
- package/dist/components/button/Button.story.d.ts.map +0 -1
- package/dist/components/button/Button.story.js +0 -123
- package/dist/components/button/Button.story.js.map +0 -1
- package/dist/components/button/ButtonUsageExample.d.ts +0 -2
- package/dist/components/button/ButtonUsageExample.d.ts.map +0 -1
- package/dist/components/button/ButtonUsageExample.js +0 -11
- package/dist/components/button/ButtonUsageExample.js.map +0 -1
- package/dist/components/combobox/useElementWidth.d.ts +0 -2
- package/dist/components/combobox/useElementWidth.d.ts.map +0 -1
- package/dist/components/combobox/useElementWidth.js +0 -31
- package/dist/components/combobox/useElementWidth.js.map +0 -1
- package/dist/components/combobox/useVisibleChips.d.ts +0 -21
- package/dist/components/combobox/useVisibleChips.d.ts.map +0 -1
- package/dist/components/combobox/useVisibleChips.js +0 -59
- package/dist/components/combobox/useVisibleChips.js.map +0 -1
- package/dist/components/combobox/useVisibleChips.test.d.ts +0 -2
- package/dist/components/combobox/useVisibleChips.test.d.ts.map +0 -1
- package/dist/components/combobox/useVisibleChips.test.js +0 -81
- package/dist/components/combobox/useVisibleChips.test.js.map +0 -1
- package/dist/components/heading/HeadingInnerContainer.d.ts +0 -5
- package/dist/components/heading/HeadingInnerContainer.d.ts.map +0 -1
- package/dist/components/heading/HeadingInnerContainer.js +0 -7
- package/dist/components/heading/HeadingInnerContainer.js.map +0 -1
- package/dist/components/icoText/IcoText.d.ts +0 -37
- package/dist/components/icoText/IcoText.d.ts.map +0 -1
- package/dist/components/icoText/IcoText.js +0 -29
- package/dist/components/icoText/IcoText.js.map +0 -1
- package/dist/components/icoText/IcoText.stories.d.ts +0 -60
- package/dist/components/icoText/IcoText.stories.d.ts.map +0 -1
- package/dist/components/icoText/IcoText.stories.js +0 -319
- package/dist/components/icoText/IcoText.stories.js.map +0 -1
- package/dist/components/icoText/IcoText.test.d.ts +0 -2
- package/dist/components/icoText/IcoText.test.d.ts.map +0 -1
- package/dist/components/icoText/IcoText.test.js +0 -27
- package/dist/components/icoText/IcoText.test.js.map +0 -1
- package/dist/components/sidebarNav/SidebarNav.d.ts +0 -46
- package/dist/components/sidebarNav/SidebarNav.d.ts.map +0 -1
- package/dist/components/sidebarNav/SidebarNav.js +0 -102
- package/dist/components/sidebarNav/SidebarNav.js.map +0 -1
- package/dist/components/sidebarNav/SidebarNav.stories.d.ts +0 -61
- package/dist/components/sidebarNav/SidebarNav.stories.d.ts.map +0 -1
- package/dist/components/sidebarNav/SidebarNav.stories.js +0 -253
- package/dist/components/sidebarNav/SidebarNav.stories.js.map +0 -1
- package/dist/components/sidebarNav/SidebarNav.test.d.ts +0 -2
- package/dist/components/sidebarNav/SidebarNav.test.d.ts.map +0 -1
- package/dist/components/sidebarNav/SidebarNav.test.js +0 -240
- package/dist/components/sidebarNav/SidebarNav.test.js.map +0 -1
- package/dist/components/sidebarNav/SidebarNavContext.d.ts +0 -13
- package/dist/components/sidebarNav/SidebarNavContext.d.ts.map +0 -1
- package/dist/components/sidebarNav/SidebarNavContext.js +0 -15
- package/dist/components/sidebarNav/SidebarNavContext.js.map +0 -1
- package/dist/components/sidebarNav/SidebarNavGroup.d.ts +0 -10
- package/dist/components/sidebarNav/SidebarNavGroup.d.ts.map +0 -1
- package/dist/components/sidebarNav/SidebarNavGroup.js +0 -16
- package/dist/components/sidebarNav/SidebarNavGroup.js.map +0 -1
- package/dist/components/sidebarNav/SidebarNavItem.d.ts +0 -32
- package/dist/components/sidebarNav/SidebarNavItem.d.ts.map +0 -1
- package/dist/components/sidebarNav/SidebarNavItem.js +0 -44
- package/dist/components/sidebarNav/SidebarNavItem.js.map +0 -1
- package/dist/components/sidebarNav/SidebarNavItemFavourite.d.ts +0 -8
- package/dist/components/sidebarNav/SidebarNavItemFavourite.d.ts.map +0 -1
- package/dist/components/sidebarNav/SidebarNavItemFavourite.js +0 -14
- package/dist/components/sidebarNav/SidebarNavItemFavourite.js.map +0 -1
- package/dist/components/sidebarNav/SidebarNavPanel.d.ts +0 -4
- package/dist/components/sidebarNav/SidebarNavPanel.d.ts.map +0 -1
- package/dist/components/sidebarNav/SidebarNavPanel.js +0 -9
- package/dist/components/sidebarNav/SidebarNavPanel.js.map +0 -1
- package/dist/components/sidebarNav/SidebarNavPanelNav.d.ts +0 -10
- package/dist/components/sidebarNav/SidebarNavPanelNav.d.ts.map +0 -1
- package/dist/components/sidebarNav/SidebarNavPanelNav.js +0 -21
- package/dist/components/sidebarNav/SidebarNavPanelNav.js.map +0 -1
- package/dist/components/sidebarNav/SidebarNavRail.d.ts +0 -6
- package/dist/components/sidebarNav/SidebarNavRail.d.ts.map +0 -1
- package/dist/components/sidebarNav/SidebarNavRail.js +0 -7
- package/dist/components/sidebarNav/SidebarNavRail.js.map +0 -1
- package/dist/components/sidebarNav/SidebarNavRailItem.d.ts +0 -10
- package/dist/components/sidebarNav/SidebarNavRailItem.d.ts.map +0 -1
- package/dist/components/sidebarNav/SidebarNavRailItem.js +0 -25
- package/dist/components/sidebarNav/SidebarNavRailItem.js.map +0 -1
- package/dist/components/sidebarNav/SidebarNavRailList.d.ts +0 -4
- package/dist/components/sidebarNav/SidebarNavRailList.d.ts.map +0 -1
- package/dist/components/sidebarNav/SidebarNavRailList.js +0 -7
- package/dist/components/sidebarNav/SidebarNavRailList.js.map +0 -1
- package/dist/components/sidebarNav/SidebarNavRailSlot.d.ts +0 -6
- package/dist/components/sidebarNav/SidebarNavRailSlot.d.ts.map +0 -1
- package/dist/components/sidebarNav/SidebarNavRailSlot.js +0 -7
- package/dist/components/sidebarNav/SidebarNavRailSlot.js.map +0 -1
- package/dist/components/sidebarNav/SidebarNavSeparator.d.ts +0 -6
- package/dist/components/sidebarNav/SidebarNavSeparator.d.ts.map +0 -1
- package/dist/components/sidebarNav/SidebarNavSeparator.js +0 -8
- package/dist/components/sidebarNav/SidebarNavSeparator.js.map +0 -1
- package/dist/components/sidebarNav/SidebarNavTitle.d.ts +0 -4
- package/dist/components/sidebarNav/SidebarNavTitle.d.ts.map +0 -1
- package/dist/components/sidebarNav/SidebarNavTitle.js +0 -7
- package/dist/components/sidebarNav/SidebarNavTitle.js.map +0 -1
- package/dist/components/sidebarNav/SidebarNavTooltip.d.ts +0 -7
- package/dist/components/sidebarNav/SidebarNavTooltip.d.ts.map +0 -1
- package/dist/components/sidebarNav/SidebarNavTooltip.js +0 -9
- package/dist/components/sidebarNav/SidebarNavTooltip.js.map +0 -1
- package/dist/components/sidebarNav/SidebarNavTrigger.d.ts +0 -8
- package/dist/components/sidebarNav/SidebarNavTrigger.d.ts.map +0 -1
- package/dist/components/sidebarNav/SidebarNavTrigger.js +0 -15
- package/dist/components/sidebarNav/SidebarNavTrigger.js.map +0 -1
- package/dist/components/sidebarNav/index.d.ts +0 -4
- package/dist/components/sidebarNav/index.d.ts.map +0 -1
- package/dist/components/sidebarNav/index.js +0 -3
- package/dist/components/sidebarNav/index.js.map +0 -1
- package/dist/components/sidebarNav/resolvePanelItemProps.d.ts +0 -4
- package/dist/components/sidebarNav/resolvePanelItemProps.d.ts.map +0 -1
- package/dist/components/sidebarNav/resolvePanelItemProps.js +0 -43
- package/dist/components/sidebarNav/resolvePanelItemProps.js.map +0 -1
- package/dist/components/sidebarNav/resolvePanelItemProps.test.d.ts +0 -2
- package/dist/components/sidebarNav/resolvePanelItemProps.test.d.ts.map +0 -1
- package/dist/components/sidebarNav/resolvePanelItemProps.test.js +0 -52
- package/dist/components/sidebarNav/resolvePanelItemProps.test.js.map +0 -1
- package/dist/components/sidebarNav/types.d.ts +0 -100
- package/dist/components/sidebarNav/types.d.ts.map +0 -1
- package/dist/components/sidebarNav/types.js +0 -4
- package/dist/components/sidebarNav/types.js.map +0 -1
- package/dist/components/sidebarNav/useControllableBoolean.d.ts +0 -9
- package/dist/components/sidebarNav/useControllableBoolean.d.ts.map +0 -1
- package/dist/components/sidebarNav/useControllableBoolean.js +0 -15
- package/dist/components/sidebarNav/useControllableBoolean.js.map +0 -1
- package/dist/components/slideover/Slideover.stories.d.ts +0 -10
- package/dist/components/slideover/Slideover.stories.d.ts.map +0 -1
- package/dist/components/slideover/Slideover.stories.js +0 -12
- package/dist/components/slideover/Slideover.stories.js.map +0 -1
- package/dist/components/table/BulkActionsDropdown.d.ts +0 -12
- package/dist/components/table/BulkActionsDropdown.d.ts.map +0 -1
- package/dist/components/table/BulkActionsDropdown.js +0 -11
- package/dist/components/table/BulkActionsDropdown.js.map +0 -1
- package/dist/components/table/HideColumnsDropdown.d.ts +0 -9
- package/dist/components/table/HideColumnsDropdown.d.ts.map +0 -1
- package/dist/components/table/HideColumnsDropdown.js +0 -33
- package/dist/components/table/HideColumnsDropdown.js.map +0 -1
- package/dist/components/table/cellRenderers/SelectDropdownCellEditor.d.ts +0 -8
- package/dist/components/table/cellRenderers/SelectDropdownCellEditor.d.ts.map +0 -1
- package/dist/components/table/cellRenderers/SelectDropdownCellEditor.js +0 -19
- package/dist/components/table/cellRenderers/SelectDropdownCellEditor.js.map +0 -1
- package/dist/components/table/hooks/useHistory.d.ts +0 -20
- package/dist/components/table/hooks/useHistory.d.ts.map +0 -1
- package/dist/components/table/hooks/useHistory.js +0 -73
- package/dist/components/table/hooks/useHistory.js.map +0 -1
- package/dist/components/table/hooks/useTableHistory.d.ts +0 -21
- package/dist/components/table/hooks/useTableHistory.d.ts.map +0 -1
- package/dist/components/table/hooks/useTableHistory.js +0 -88
- package/dist/components/table/hooks/useTableHistory.js.map +0 -1
- package/dist/components/table/pagination/TableSettingsDropdown.d.ts +0 -2
- package/dist/components/table/pagination/TableSettingsDropdown.d.ts.map +0 -1
- package/dist/components/table/pagination/TableSettingsDropdown.js +0 -42
- package/dist/components/table/pagination/TableSettingsDropdown.js.map +0 -1
- package/dist/components/table/tableHeader/TableHeader.d.ts +0 -14
- package/dist/components/table/tableHeader/TableHeader.d.ts.map +0 -1
- package/dist/components/table/tableHeader/TableHeader.js +0 -55
- package/dist/components/table/tableHeader/TableHeader.js.map +0 -1
- package/dist/components/table/tableHeader/index.d.ts +0 -2
- package/dist/components/table/tableHeader/index.d.ts.map +0 -1
- package/dist/components/table/tableHeader/index.js +0 -2
- package/dist/components/table/tableHeader/index.js.map +0 -1
- package/dist/components/table/tableTheme.d.ts +0 -2
- package/dist/components/table/tableTheme.d.ts.map +0 -1
- package/dist/components/table/tableTheme.js +0 -18
- package/dist/components/table/tableTheme.js.map +0 -1
- package/dist/components/table/types.d.ts +0 -169
- package/dist/components/table/types.d.ts.map +0 -1
- package/dist/components/table/types.js +0 -11
- package/dist/components/table/types.js.map +0 -1
- package/dist/components/table/utils/setAgGridLicenseKey.d.ts +0 -2
- package/dist/components/table/utils/setAgGridLicenseKey.d.ts.map +0 -1
- package/dist/components/table/utils/setAgGridLicenseKey.js +0 -11
- package/dist/components/table/utils/setAgGridLicenseKey.js.map +0 -1
- package/dist/layoutTest.stories.d.ts +0 -6
- package/dist/layoutTest.stories.d.ts.map +0 -1
- package/dist/layoutTest.stories.js +0 -9
- package/dist/layoutTest.stories.js.map +0 -1
- package/dist/pages/assessmentBuilderPage/AssessmentBuilderPage.d.ts +0 -39
- package/dist/pages/assessmentBuilderPage/AssessmentBuilderPage.d.ts.map +0 -1
- package/dist/pages/assessmentBuilderPage/AssessmentBuilderPage.js +0 -112
- package/dist/pages/assessmentBuilderPage/AssessmentBuilderPage.js.map +0 -1
- package/dist/pages/assessmentBuilderPage/AssessmentBuilderPage.stories.d.ts +0 -184
- package/dist/pages/assessmentBuilderPage/AssessmentBuilderPage.stories.d.ts.map +0 -1
- package/dist/pages/assessmentBuilderPage/AssessmentBuilderPage.stories.js +0 -317
- package/dist/pages/assessmentBuilderPage/AssessmentBuilderPage.stories.js.map +0 -1
- package/dist/pages/assessmentBuilderPage/AssessmentBuilderPage.test.d.ts +0 -2
- package/dist/pages/assessmentBuilderPage/AssessmentBuilderPage.test.d.ts.map +0 -1
- package/dist/pages/assessmentBuilderPage/AssessmentBuilderPage.test.js +0 -160
- package/dist/pages/assessmentBuilderPage/AssessmentBuilderPage.test.js.map +0 -1
- package/dist/pages/assessmentSettingsPage/AssessmentSettingsPage.d.ts +0 -11
- package/dist/pages/assessmentSettingsPage/AssessmentSettingsPage.d.ts.map +0 -1
- package/dist/pages/assessmentSettingsPage/AssessmentSettingsPage.js +0 -13
- package/dist/pages/assessmentSettingsPage/AssessmentSettingsPage.js.map +0 -1
- package/dist/pages/assessmentSettingsPage/AssessmentSettingsPage.stories.d.ts +0 -174
- package/dist/pages/assessmentSettingsPage/AssessmentSettingsPage.stories.d.ts.map +0 -1
- package/dist/pages/assessmentSettingsPage/AssessmentSettingsPage.stories.js +0 -212
- package/dist/pages/assessmentSettingsPage/AssessmentSettingsPage.stories.js.map +0 -1
- package/dist/pages/assessmentSettingsPage/AssessmentSettingsPage.test.d.ts +0 -2
- package/dist/pages/assessmentSettingsPage/AssessmentSettingsPage.test.d.ts.map +0 -1
- package/dist/pages/assessmentSettingsPage/AssessmentSettingsPage.test.js +0 -84
- package/dist/pages/assessmentSettingsPage/AssessmentSettingsPage.test.js.map +0 -1
- package/dist/pages/assessmentsPage/AssessmentsPage.d.ts +0 -16
- package/dist/pages/assessmentsPage/AssessmentsPage.d.ts.map +0 -1
- package/dist/pages/assessmentsPage/AssessmentsPage.js +0 -31
- package/dist/pages/assessmentsPage/AssessmentsPage.js.map +0 -1
- package/dist/pages/assessmentsPage/AssessmentsPage.stories.d.ts +0 -162
- package/dist/pages/assessmentsPage/AssessmentsPage.stories.d.ts.map +0 -1
- package/dist/pages/assessmentsPage/AssessmentsPage.stories.js +0 -290
- package/dist/pages/assessmentsPage/AssessmentsPage.stories.js.map +0 -1
- package/dist/pages/assessmentsPage/AssessmentsPage.test.d.ts +0 -2
- package/dist/pages/assessmentsPage/AssessmentsPage.test.d.ts.map +0 -1
- package/dist/pages/assessmentsPage/AssessmentsPage.test.js +0 -109
- package/dist/pages/assessmentsPage/AssessmentsPage.test.js.map +0 -1
- package/dist/pages/customReportWriterPage/CustomReportWriterPage.d.ts +0 -40
- package/dist/pages/customReportWriterPage/CustomReportWriterPage.d.ts.map +0 -1
- package/dist/pages/customReportWriterPage/CustomReportWriterPage.js +0 -156
- package/dist/pages/customReportWriterPage/CustomReportWriterPage.js.map +0 -1
- package/dist/pages/customReportWriterPage/CustomReportWriterPage.stories.d.ts +0 -239
- package/dist/pages/customReportWriterPage/CustomReportWriterPage.stories.d.ts.map +0 -1
- package/dist/pages/customReportWriterPage/CustomReportWriterPage.stories.js +0 -318
- package/dist/pages/customReportWriterPage/CustomReportWriterPage.stories.js.map +0 -1
- package/dist/pages/customReportWriterPage/CustomReportWriterPage.test.d.ts +0 -2
- package/dist/pages/customReportWriterPage/CustomReportWriterPage.test.d.ts.map +0 -1
- package/dist/pages/customReportWriterPage/CustomReportWriterPage.test.js +0 -183
- package/dist/pages/customReportWriterPage/CustomReportWriterPage.test.js.map +0 -1
- package/dist/pages/gradeSetsPage/GradeSetsPage.d.ts +0 -26
- package/dist/pages/gradeSetsPage/GradeSetsPage.d.ts.map +0 -1
- package/dist/pages/gradeSetsPage/GradeSetsPage.js +0 -33
- package/dist/pages/gradeSetsPage/GradeSetsPage.js.map +0 -1
- package/dist/pages/gradeSetsPage/GradeSetsPage.stories.d.ts +0 -176
- package/dist/pages/gradeSetsPage/GradeSetsPage.stories.d.ts.map +0 -1
- package/dist/pages/gradeSetsPage/GradeSetsPage.stories.js +0 -237
- package/dist/pages/gradeSetsPage/GradeSetsPage.stories.js.map +0 -1
- package/dist/pages/gradeSetsPage/GradeSetsPage.test.d.ts +0 -2
- package/dist/pages/gradeSetsPage/GradeSetsPage.test.d.ts.map +0 -1
- package/dist/pages/gradeSetsPage/GradeSetsPage.test.js +0 -91
- package/dist/pages/gradeSetsPage/GradeSetsPage.test.js.map +0 -1
- package/dist/pages/studentProfilePage/StudentProfilePage.d.ts +0 -48
- package/dist/pages/studentProfilePage/StudentProfilePage.d.ts.map +0 -1
- package/dist/pages/studentProfilePage/StudentProfilePage.js +0 -52
- package/dist/pages/studentProfilePage/StudentProfilePage.js.map +0 -1
- package/dist/pages/studentProfilePage/StudentProfilePage.stories.d.ts +0 -218
- package/dist/pages/studentProfilePage/StudentProfilePage.stories.d.ts.map +0 -1
- package/dist/pages/studentProfilePage/StudentProfilePage.stories.js +0 -273
- package/dist/pages/studentProfilePage/StudentProfilePage.stories.js.map +0 -1
- package/dist/pages/studentProfilePage/StudentProfilePage.test.d.ts +0 -2
- package/dist/pages/studentProfilePage/StudentProfilePage.test.d.ts.map +0 -1
- package/dist/pages/studentProfilePage/StudentProfilePage.test.js +0 -197
- package/dist/pages/studentProfilePage/StudentProfilePage.test.js.map +0 -1
- package/dist/utils/PopupParentContext.d.ts +0 -3
- package/dist/utils/PopupParentContext.d.ts.map +0 -1
- package/dist/utils/PopupParentContext.js +0 -6
- package/dist/utils/PopupParentContext.js.map +0 -1
- package/dist/utils/PopupParentContext.stories.d.ts +0 -17
- package/dist/utils/PopupParentContext.stories.d.ts.map +0 -1
- package/dist/utils/PopupParentContext.stories.js +0 -266
- package/dist/utils/PopupParentContext.stories.js.map +0 -1
- package/dist/utils/getDefaultPopupParent.d.ts +0 -2
- package/dist/utils/getDefaultPopupParent.d.ts.map +0 -1
- package/dist/utils/getDefaultPopupParent.js +0 -19
- package/dist/utils/getDefaultPopupParent.js.map +0 -1
|
@@ -302,4 +302,54 @@ describe('FilterBar', () => {
|
|
|
302
302
|
await user.click(screen.getByRole('button', { name: 'Remove date range filter' }));
|
|
303
303
|
expect(screen.getByRole('button', { name: 'Open filter' })).toHaveFocus();
|
|
304
304
|
});
|
|
305
|
+
|
|
306
|
+
test('does not stringify a non-text tag value into the accessible name', () => {
|
|
307
|
+
render(
|
|
308
|
+
<FilterBar.ActiveList
|
|
309
|
+
items={[
|
|
310
|
+
{ id: 'with-label', type: 'group', label: 'Year group', value: <span>Year 10</span>, onClick: vi.fn() },
|
|
311
|
+
{ id: 'without-label', type: 'sort', value: <span>Name</span>, onClick: vi.fn() },
|
|
312
|
+
]}
|
|
313
|
+
/>,
|
|
314
|
+
);
|
|
315
|
+
|
|
316
|
+
expect(screen.getByRole('button', { name: 'Open group Year group' })).toBeInTheDocument();
|
|
317
|
+
expect(screen.getByRole('button', { name: 'Open sort' })).toBeInTheDocument();
|
|
318
|
+
expect(screen.queryByRole('button', { name: /\[object Object\]/ })).not.toBeInTheDocument();
|
|
319
|
+
});
|
|
320
|
+
|
|
321
|
+
test('uses an explicit actionLabel over the derived label for a non-text tag value', () => {
|
|
322
|
+
render(
|
|
323
|
+
<>
|
|
324
|
+
<FilterBar.ActiveList
|
|
325
|
+
items={[
|
|
326
|
+
{ id: 'item', type: 'group', label: 'Year group', value: <span>Year 10</span>, actionLabel: 'Open year group: Year 10', onClick: vi.fn() },
|
|
327
|
+
]}
|
|
328
|
+
/>
|
|
329
|
+
<FilterBar.Tag
|
|
330
|
+
type="sort"
|
|
331
|
+
value={<span>Name</span>}
|
|
332
|
+
actionLabel="Open sort: Name"
|
|
333
|
+
onClick={vi.fn()}
|
|
334
|
+
/>
|
|
335
|
+
</>,
|
|
336
|
+
);
|
|
337
|
+
|
|
338
|
+
expect(screen.getByRole('button', { name: 'Open year group: Year 10' })).toBeInTheDocument();
|
|
339
|
+
expect(screen.getByRole('button', { name: 'Open sort: Name' })).toBeInTheDocument();
|
|
340
|
+
});
|
|
341
|
+
|
|
342
|
+
test('keeps the value in the accessible name for string and number values', () => {
|
|
343
|
+
render(
|
|
344
|
+
<FilterBar.ActiveList
|
|
345
|
+
items={[
|
|
346
|
+
{ id: 'text', type: 'filter', label: 'Year group', value: 'Year 10', onClick: vi.fn() },
|
|
347
|
+
{ id: 'number', type: 'filter', value: 10, onClick: vi.fn() },
|
|
348
|
+
]}
|
|
349
|
+
/>,
|
|
350
|
+
);
|
|
351
|
+
|
|
352
|
+
expect(screen.getByRole('button', { name: 'Open filter Year group: Year 10' })).toBeInTheDocument();
|
|
353
|
+
expect(screen.getByRole('button', { name: 'Open filter 10' })).toBeInTheDocument();
|
|
354
|
+
});
|
|
305
355
|
});
|
|
@@ -18,6 +18,7 @@ export type FilterBarTagItem = {
|
|
|
18
18
|
icon?: IconName;
|
|
19
19
|
ariaControls?: string;
|
|
20
20
|
ariaExpanded?: boolean;
|
|
21
|
+
/** Accessible name for the tag button. Takes precedence over the label derived from `label` and `value`; provide it when `value` is not a string or number. */
|
|
21
22
|
actionLabel?: string;
|
|
22
23
|
removeLabel?: string;
|
|
23
24
|
disabled?: boolean;
|
|
@@ -89,7 +90,15 @@ const getButtonA11yLabel = (type: FilterBarType, label: string, count?: number |
|
|
|
89
90
|
return `Open ${label.toLowerCase()}. ${count} ${type} item${count === 1 ? '' : 's'} applied`;
|
|
90
91
|
};
|
|
91
92
|
|
|
92
|
-
const getTagActionLabel = (
|
|
93
|
+
const getTagActionLabel = ({ type, label, value }: FilterBarTagItem): string => {
|
|
94
|
+
const textValue = typeof value === 'string' || typeof value === 'number' ? value : null;
|
|
95
|
+
|
|
96
|
+
if (label) {
|
|
97
|
+
return textValue === null ? `Open ${type} ${label}` : `Open ${type} ${label}: ${textValue}`;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
return textValue === null ? `Open ${type}` : `Open ${type} ${textValue}`;
|
|
101
|
+
};
|
|
93
102
|
|
|
94
103
|
const FilterBarTagContent = ({ label, value }: Pick<FilterBarTagProps, 'label' | 'value'>) => {
|
|
95
104
|
return (
|
|
@@ -12,6 +12,7 @@ export const TextInput = forwardRef<HTMLInputElement, TextInputProps>((props, re
|
|
|
12
12
|
hasError,
|
|
13
13
|
className = '',
|
|
14
14
|
disabled = false,
|
|
15
|
+
type = 'text',
|
|
15
16
|
...rest
|
|
16
17
|
} = props;
|
|
17
18
|
|
|
@@ -30,6 +31,7 @@ export const TextInput = forwardRef<HTMLInputElement, TextInputProps>((props, re
|
|
|
30
31
|
ref={ref}
|
|
31
32
|
className={inputClasses}
|
|
32
33
|
disabled={disabled}
|
|
34
|
+
type={type}
|
|
33
35
|
{...rest}
|
|
34
36
|
/>
|
|
35
37
|
);
|
|
@@ -248,7 +248,7 @@ const WithProgressTemplate = () => (
|
|
|
248
248
|
<div style={{ maxWidth: '320px' }}>
|
|
249
249
|
<KPICard label="Attendance rate" value={94.2} isPercentage>
|
|
250
250
|
<div style={{ marginTop: 'var(--spacing-small)' }}>
|
|
251
|
-
<Progress value={94.2} max={100} />
|
|
251
|
+
<Progress value={94.2} max={100} aria-label="Attendance rate progress" />
|
|
252
252
|
</div>
|
|
253
253
|
</KPICard>
|
|
254
254
|
</div>
|
|
@@ -368,7 +368,7 @@ import { KPICard, Progress } from '@arbor-education/design-system.components';
|
|
|
368
368
|
function WithProgressBarExample() {
|
|
369
369
|
return (
|
|
370
370
|
<KPICard label="Attendance rate" value={94.2} isPercentage>
|
|
371
|
-
<Progress value={94.2} max={100} />
|
|
371
|
+
<Progress value={94.2} max={100} aria-label="Attendance rate progress" />
|
|
372
372
|
</KPICard>
|
|
373
373
|
);
|
|
374
374
|
}
|
|
@@ -28,8 +28,10 @@ const DESCRIPTION_INTRO = [
|
|
|
28
28
|
'SideNavigation supports two mutually exclusive APIs:',
|
|
29
29
|
'',
|
|
30
30
|
'1. **Data-driven** — pass an `items` array of `SideNavigation.Node` objects and let the component render the tree.',
|
|
31
|
-
'2. **Composable** — build the tree yourself from `SideNavigation.
|
|
32
|
-
'
|
|
31
|
+
'2. **Composable** — build the tree yourself from `SideNavigation.Group` and `SideNavigation.Item` as JSX children.',
|
|
32
|
+
'',
|
|
33
|
+
'Set the visible heading with the `title` prop, which works with either API. `SideNavigation.Title` is a list',
|
|
34
|
+
'item for use *inside* `<SideNavigation>` in the composable API; do not render it outside the component.',
|
|
33
35
|
'',
|
|
34
36
|
'> **`items` and `children` are mutually exclusive.** If both are passed, `items` silently wins and `children`',
|
|
35
37
|
'> is dropped entirely — no warning, no error.',
|
|
@@ -101,6 +103,8 @@ const DEVELOPER_NOTES = [
|
|
|
101
103
|
'',
|
|
102
104
|
'- The root renders a `<nav aria-label>` (default `"Side navigation"`) — override with a meaningful value',
|
|
103
105
|
' when a page has more than one nav landmark',
|
|
106
|
+
'- When `title` is set, the `<nav>` is named by the visible heading via `aria-labelledby`, so `ariaLabel` is',
|
|
107
|
+
' ignored; the heading is an `<h2>` outside the list, not a child of the `<ul>`',
|
|
104
108
|
'- Groups render `aria-expanded` + `aria-controls` on the toggle button, with a genuinely `aria-hidden`',
|
|
105
109
|
' child list when collapsed',
|
|
106
110
|
'- The favourite button exposes `aria-pressed` and uses `favouriteTooltip` as its `aria-label` — the tooltip',
|
|
@@ -106,4 +106,25 @@ describe('SideNavigation', () => {
|
|
|
106
106
|
|
|
107
107
|
expect(screen.getByText('Daily Attendance').closest('a')).toHaveAttribute('data-custom-link', 'true');
|
|
108
108
|
});
|
|
109
|
+
|
|
110
|
+
test('renders the title as a heading outside the list and names the nav with it', () => {
|
|
111
|
+
render(
|
|
112
|
+
<SideNavigation
|
|
113
|
+
title="Attendance"
|
|
114
|
+
items={[{ type: 'item', id: 'daily', label: 'Daily Attendance', href: '/daily' }]}
|
|
115
|
+
/>,
|
|
116
|
+
);
|
|
117
|
+
|
|
118
|
+
const nav = screen.getByRole('navigation', { name: 'Attendance' });
|
|
119
|
+
const heading = screen.getByRole('heading', { name: 'Attendance', level: 2 });
|
|
120
|
+
expect(nav).toContainElement(heading);
|
|
121
|
+
expect(heading.closest('ul')).toBeNull();
|
|
122
|
+
expect(heading).toHaveClass('ds-side-navigation__title');
|
|
123
|
+
});
|
|
124
|
+
|
|
125
|
+
test('keeps ariaLabel when no title is passed', () => {
|
|
126
|
+
render(<SideNavigation ariaLabel="Attendance navigation" items={[]} />);
|
|
127
|
+
expect(screen.queryByRole('heading')).not.toBeInTheDocument();
|
|
128
|
+
expect(screen.getByRole('navigation', { name: 'Attendance navigation' })).toBeInTheDocument();
|
|
129
|
+
});
|
|
109
130
|
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import classNames from 'classnames';
|
|
2
2
|
import type { HTMLAttributes } from 'react';
|
|
3
|
-
import { useMemo } from 'react';
|
|
3
|
+
import { useId, useMemo } from 'react';
|
|
4
4
|
import { Tooltip as TooltipPrimitive } from 'radix-ui';
|
|
5
5
|
import { SideNavigationProvider } from './SideNavigationContext.js';
|
|
6
6
|
import { SideNavigationGroup } from './SideNavigationGroup.js';
|
|
@@ -19,6 +19,11 @@ import type {
|
|
|
19
19
|
|
|
20
20
|
export type SideNavigationProps = {
|
|
21
21
|
ariaLabel?: string;
|
|
22
|
+
/**
|
|
23
|
+
* Visible heading rendered above the list. It sits outside the `<ul>`, so it is valid in both
|
|
24
|
+
* APIs. When set, it names the `<nav>` via `aria-labelledby`, which takes precedence over `ariaLabel`.
|
|
25
|
+
*/
|
|
26
|
+
title?: string;
|
|
22
27
|
items?: SideNavigationNode[];
|
|
23
28
|
renderLink?: (args: SideNavigationRenderLinkArgs) => React.ReactElement;
|
|
24
29
|
} & Omit<HTMLAttributes<HTMLElement>, 'children'> & {
|
|
@@ -52,6 +57,7 @@ function renderNodes(nodes: SideNavigationNode[]): React.ReactNode {
|
|
|
52
57
|
const SideNavigationImpl = (props: SideNavigationProps) => {
|
|
53
58
|
const {
|
|
54
59
|
ariaLabel = 'Side navigation',
|
|
60
|
+
title,
|
|
55
61
|
items,
|
|
56
62
|
renderLink,
|
|
57
63
|
className,
|
|
@@ -59,12 +65,23 @@ const SideNavigationImpl = (props: SideNavigationProps) => {
|
|
|
59
65
|
...rest
|
|
60
66
|
} = props;
|
|
61
67
|
|
|
68
|
+
const titleId = useId();
|
|
62
69
|
const contextValue = useMemo(() => ({ renderLink }), [renderLink]);
|
|
63
70
|
|
|
64
71
|
return (
|
|
65
72
|
<TooltipPrimitive.Provider delayDuration={400}>
|
|
66
73
|
<SideNavigationProvider value={contextValue}>
|
|
67
|
-
<nav
|
|
74
|
+
<nav
|
|
75
|
+
aria-label={title ? undefined : ariaLabel}
|
|
76
|
+
aria-labelledby={title ? titleId : undefined}
|
|
77
|
+
className={classNames('ds-side-navigation', className)}
|
|
78
|
+
{...rest}
|
|
79
|
+
>
|
|
80
|
+
{title && (
|
|
81
|
+
<h2 id={titleId} className="ds-side-navigation__title">
|
|
82
|
+
{title}
|
|
83
|
+
</h2>
|
|
84
|
+
)}
|
|
68
85
|
<ul className="ds-side-navigation__list">
|
|
69
86
|
{items ? renderNodes(items) : children}
|
|
70
87
|
</ul>
|
|
@@ -6,8 +6,10 @@ export type SideNavigationTitleProps = HTMLAttributes<HTMLHeadingElement>;
|
|
|
6
6
|
export const SideNavigationTitle = (props: SideNavigationTitleProps) => {
|
|
7
7
|
const { className, children, ...rest } = props;
|
|
8
8
|
return (
|
|
9
|
-
<
|
|
10
|
-
{
|
|
11
|
-
|
|
9
|
+
<li>
|
|
10
|
+
<h2 className={classNames('ds-side-navigation__title', className)} {...rest}>
|
|
11
|
+
{children}
|
|
12
|
+
</h2>
|
|
13
|
+
</li>
|
|
12
14
|
);
|
|
13
15
|
};
|
|
@@ -146,10 +146,7 @@ const DEVELOPER_NOTES = [
|
|
|
146
146
|
' </Sidebar.Item>',
|
|
147
147
|
' </Sidebar>',
|
|
148
148
|
' {panelOpen && (',
|
|
149
|
-
' <
|
|
150
|
-
' <SideNavigation.Title>Attendance</SideNavigation.Title>',
|
|
151
|
-
' <SideNavigation id="side-panel" items={navItems} />',
|
|
152
|
-
' </div>',
|
|
149
|
+
' <SideNavigation id="side-panel" title="Attendance" items={navItems} />',
|
|
153
150
|
' )}',
|
|
154
151
|
'</div>',
|
|
155
152
|
'```',
|
|
@@ -398,12 +395,7 @@ const WithPanelTemplate = () => {
|
|
|
398
395
|
<Icon name="date" size={24} />
|
|
399
396
|
</SidebarItem>
|
|
400
397
|
</Sidebar>
|
|
401
|
-
{open &&
|
|
402
|
-
<div style={{ display: 'flex', flexDirection: 'column' }}>
|
|
403
|
-
<SideNavigation.Title>Attendance</SideNavigation.Title>
|
|
404
|
-
<SideNavigation id="story-panel" items={basePanelNavItems} />
|
|
405
|
-
</div>
|
|
406
|
-
)}
|
|
398
|
+
{open && <SideNavigation id="story-panel" title="Attendance" items={basePanelNavItems} />}
|
|
407
399
|
</div>
|
|
408
400
|
);
|
|
409
401
|
};
|
|
@@ -563,12 +555,7 @@ function WithPanelExample() {
|
|
|
563
555
|
|
|
564
556
|
{/* SideNavigation is a separate companion component — not a sub-component of Sidebar. */}
|
|
565
557
|
{/* It is styled as a panel by default, so no extra wrapper class is needed. */}
|
|
566
|
-
{open &&
|
|
567
|
-
<div style={{ display: 'flex', flexDirection: 'column' }}>
|
|
568
|
-
<SideNavigation.Title>Attendance</SideNavigation.Title>
|
|
569
|
-
<SideNavigation id="side-panel" items={navItems} />
|
|
570
|
-
</div>
|
|
571
|
-
)}
|
|
558
|
+
{open && <SideNavigation id="side-panel" title="Attendance" items={navItems} />}
|
|
572
559
|
</div>
|
|
573
560
|
);
|
|
574
561
|
}
|
|
@@ -33,7 +33,7 @@ describe('TimeFilter', () => {
|
|
|
33
33
|
expect(screen.getByRole('button', { name: /After/i })).toBeInTheDocument();
|
|
34
34
|
const timeInput = container.querySelector('input[type="time"]');
|
|
35
35
|
expect(timeInput).toHaveValue('14:30');
|
|
36
|
-
expect(screen.getByRole('button', { name: '
|
|
36
|
+
expect(screen.getByRole('button', { name: 'Reset time filter' })).toHaveTextContent('Reset time');
|
|
37
37
|
});
|
|
38
38
|
|
|
39
39
|
test('calls onModelChange when filter type changes', async () => {
|
|
@@ -61,7 +61,7 @@ describe('TimeFilter', () => {
|
|
|
61
61
|
<TimeFilter model={{ filterType: FILTER_TYPES.AFTER as FilterType, pivot: '14:30' }} onModelChange={onModelChange} />,
|
|
62
62
|
);
|
|
63
63
|
expect(screen.getByRole('button', { name: /After/i })).toBeInTheDocument();
|
|
64
|
-
const resetButton = screen.getByRole('button', { name: '
|
|
64
|
+
const resetButton = screen.getByRole('button', { name: 'Reset time filter' });
|
|
65
65
|
await userEvent.click(resetButton);
|
|
66
66
|
expect(onModelChange).toHaveBeenLastCalledWith({ filterType: FILTER_TYPES.BEFORE as FilterType, pivot: '' });
|
|
67
67
|
expect(screen.getByRole('button', { name: /Before/i })).toBeInTheDocument();
|
|
@@ -112,12 +112,15 @@ export const TimeFilter = (props: TimeFilterProps) => {
|
|
|
112
112
|
/>
|
|
113
113
|
<input
|
|
114
114
|
className="ds-column-filter-time__input"
|
|
115
|
+
aria-label="Time"
|
|
115
116
|
onChange={handlePivotChange}
|
|
116
117
|
type="time"
|
|
117
118
|
value={pivot}
|
|
118
119
|
/>
|
|
119
120
|
</div>
|
|
120
|
-
<FilterResetButton onClick={handleResetClick}
|
|
121
|
+
<FilterResetButton onClick={handleResetClick} ariaLabel="Reset time filter">
|
|
122
|
+
Reset time
|
|
123
|
+
</FilterResetButton>
|
|
121
124
|
</div>
|
|
122
125
|
</PopupParentContext.Provider>
|
|
123
126
|
);
|
|
@@ -2,15 +2,16 @@ import { Button } from 'Components/button/Button';
|
|
|
2
2
|
|
|
3
3
|
type FilterResetButtonProps = {
|
|
4
4
|
onClick: () => void;
|
|
5
|
+
ariaLabel?: string;
|
|
5
6
|
children?: React.ReactNode;
|
|
6
7
|
};
|
|
7
8
|
|
|
8
9
|
export function FilterResetButton(props: FilterResetButtonProps) {
|
|
9
|
-
const { onClick, children = 'Reset' } = props;
|
|
10
|
+
const { onClick, ariaLabel, children = 'Reset' } = props;
|
|
10
11
|
return (
|
|
11
12
|
<Button
|
|
12
13
|
className="ds-column-filter__reset-button"
|
|
13
|
-
aria-label=
|
|
14
|
+
aria-label={ariaLabel}
|
|
14
15
|
onClick={onClick}
|
|
15
16
|
variant="secondary"
|
|
16
17
|
size="S"
|
|
@@ -59,7 +59,7 @@ export const PageSizeSelector = (props: PageSizeSelectorProps) => {
|
|
|
59
59
|
return (
|
|
60
60
|
<Dropdown>
|
|
61
61
|
<Dropdown.Trigger>
|
|
62
|
-
<Button variant="dropdown" aria-label=
|
|
62
|
+
<Button variant="dropdown" aria-label={`Page size ${selectedPageSize}`}>
|
|
63
63
|
{selectedPageSize}
|
|
64
64
|
<Icon name="chevron-down" />
|
|
65
65
|
</Button>
|
|
@@ -712,7 +712,7 @@ describe('Table Pagination', () => {
|
|
|
712
712
|
mockGridApi as GridApi,
|
|
713
713
|
);
|
|
714
714
|
|
|
715
|
-
const trigger = screen.getByLabelText('
|
|
715
|
+
const trigger = screen.getByLabelText('Page size 100');
|
|
716
716
|
await userEvent.click(trigger);
|
|
717
717
|
|
|
718
718
|
// Click on a numeric option - it should be normalized to a number
|
|
@@ -789,7 +789,7 @@ describe('Table Pagination', () => {
|
|
|
789
789
|
expect(screen.getByText('Go to next page')).toBeInTheDocument();
|
|
790
790
|
expect(screen.getByText('Go to last page')).toBeInTheDocument();
|
|
791
791
|
|
|
792
|
-
expect(screen.getByLabelText(
|
|
792
|
+
expect(screen.getByLabelText(/^Page size /)).toBeInTheDocument();
|
|
793
793
|
});
|
|
794
794
|
});
|
|
795
795
|
|
|
@@ -831,7 +831,7 @@ describe('Table Pagination', () => {
|
|
|
831
831
|
/>,
|
|
832
832
|
);
|
|
833
833
|
|
|
834
|
-
const trigger = screen.getByLabelText('
|
|
834
|
+
const trigger = screen.getByLabelText('Page size 5');
|
|
835
835
|
expect(trigger.textContent).toContain('5');
|
|
836
836
|
await userEvent.click(trigger);
|
|
837
837
|
expect(await screen.findByText('15')).toBeInTheDocument();
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import type { StoryObj } from '@storybook/react-vite';
|
|
2
|
-
declare const meta: {
|
|
3
|
-
title: string;
|
|
4
|
-
component: ({ type, size, children, onClick, disabled, className, ...props }: import('./Button.js').ButtonProps) => import('react/jsx-runtime').JSX.Element;
|
|
5
|
-
parameters: {
|
|
6
|
-
layout: string;
|
|
7
|
-
};
|
|
8
|
-
tags: string[];
|
|
9
|
-
argTypes: {
|
|
10
|
-
type: {
|
|
11
|
-
control: 'select';
|
|
12
|
-
options: string[];
|
|
13
|
-
description: string;
|
|
14
|
-
};
|
|
15
|
-
size: {
|
|
16
|
-
control: 'select';
|
|
17
|
-
options: string[];
|
|
18
|
-
description: string;
|
|
19
|
-
};
|
|
20
|
-
disabled: {
|
|
21
|
-
control: 'boolean';
|
|
22
|
-
description: string;
|
|
23
|
-
};
|
|
24
|
-
children: {
|
|
25
|
-
control: 'text';
|
|
26
|
-
description: string;
|
|
27
|
-
};
|
|
28
|
-
onClick: {
|
|
29
|
-
action: string;
|
|
30
|
-
};
|
|
31
|
-
};
|
|
32
|
-
};
|
|
33
|
-
export default meta;
|
|
34
|
-
type Story = StoryObj<typeof meta>;
|
|
35
|
-
export declare const Primary: Story;
|
|
36
|
-
export declare const Secondary: Story;
|
|
37
|
-
export declare const Tertiary: Story;
|
|
38
|
-
export declare const PrimaryDestructive: Story;
|
|
39
|
-
export declare const SecondaryDestructive: Story;
|
|
40
|
-
export declare const TextLink: Story;
|
|
41
|
-
export declare const SmallPrimary: Story;
|
|
42
|
-
export declare const SmallSecondary: Story;
|
|
43
|
-
export declare const HoverState: Story;
|
|
44
|
-
export declare const PressedState: Story;
|
|
45
|
-
export declare const FocussedState: Story;
|
|
46
|
-
export declare const Disabled: Story;
|
|
47
|
-
// # sourceMappingURL=Button.story.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Button.story.d.ts","sourceRoot":"","sources":["../../../src/components/button/Button.story.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAG5D,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCqB,CAAC;AAEhC,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAInC,eAAO,MAAM,OAAO,EAAE,KAMrB,CAAC;AAIF,eAAO,MAAM,SAAS,EAAE,KAKvB,CAAC;AAGF,eAAO,MAAM,QAAQ,EAAE,KAKtB,CAAC;AAGF,eAAO,MAAM,kBAAkB,EAAE,KAKhC,CAAC;AAGF,eAAO,MAAM,oBAAoB,EAAE,KAKlC,CAAC;AAGF,eAAO,MAAM,QAAQ,EAAE,KAKtB,CAAC;AAIF,eAAO,MAAM,YAAY,EAAE,KAK1B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAK5B,CAAC;AAGF,eAAO,MAAM,UAAU,EAAE,KAKxB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAK1B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAK3B,CAAC;AAGF,eAAO,MAAM,QAAQ,EAAE,KAKtB,CAAC"}
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
import { Button } from './Button.js';
|
|
2
|
-
const meta = {
|
|
3
|
-
title: 'Components/Button',
|
|
4
|
-
component: Button,
|
|
5
|
-
parameters: {
|
|
6
|
-
layout: 'centered',
|
|
7
|
-
},
|
|
8
|
-
tags: ['autodocs'],
|
|
9
|
-
argTypes: {
|
|
10
|
-
type: {
|
|
11
|
-
control: 'select',
|
|
12
|
-
options: [
|
|
13
|
-
'primary',
|
|
14
|
-
'secondary',
|
|
15
|
-
'tertiary',
|
|
16
|
-
'primary-destructive',
|
|
17
|
-
'secondary-destructive',
|
|
18
|
-
'text-link',
|
|
19
|
-
],
|
|
20
|
-
description: 'Button type/variant',
|
|
21
|
-
},
|
|
22
|
-
size: {
|
|
23
|
-
control: 'select',
|
|
24
|
-
options: ['M', 'S'],
|
|
25
|
-
description: 'Button size',
|
|
26
|
-
},
|
|
27
|
-
disabled: {
|
|
28
|
-
control: 'boolean',
|
|
29
|
-
description: 'Disable the button',
|
|
30
|
-
},
|
|
31
|
-
children: {
|
|
32
|
-
control: 'text',
|
|
33
|
-
description: 'Button text',
|
|
34
|
-
},
|
|
35
|
-
onClick: {
|
|
36
|
-
action: 'clicked',
|
|
37
|
-
},
|
|
38
|
-
},
|
|
39
|
-
};
|
|
40
|
-
export default meta;
|
|
41
|
-
// Primary button
|
|
42
|
-
export const Primary = {
|
|
43
|
-
args: {
|
|
44
|
-
type: 'primary',
|
|
45
|
-
children: 'Button Text',
|
|
46
|
-
size: 'M',
|
|
47
|
-
},
|
|
48
|
-
};
|
|
49
|
-
// Secondary button
|
|
50
|
-
export const Secondary = {
|
|
51
|
-
args: {
|
|
52
|
-
...Primary.args,
|
|
53
|
-
type: 'secondary',
|
|
54
|
-
},
|
|
55
|
-
};
|
|
56
|
-
// Tertiary button
|
|
57
|
-
export const Tertiary = {
|
|
58
|
-
args: {
|
|
59
|
-
...Primary.args,
|
|
60
|
-
type: 'tertiary',
|
|
61
|
-
},
|
|
62
|
-
};
|
|
63
|
-
// Primary destructive button
|
|
64
|
-
export const PrimaryDestructive = {
|
|
65
|
-
args: {
|
|
66
|
-
...Primary.args,
|
|
67
|
-
type: 'primary-destructive',
|
|
68
|
-
},
|
|
69
|
-
};
|
|
70
|
-
// Secondary destructive button
|
|
71
|
-
export const SecondaryDestructive = {
|
|
72
|
-
args: {
|
|
73
|
-
...Primary.args,
|
|
74
|
-
type: 'secondary-destructive',
|
|
75
|
-
},
|
|
76
|
-
};
|
|
77
|
-
// Text link button
|
|
78
|
-
export const TextLink = {
|
|
79
|
-
args: {
|
|
80
|
-
...Primary.args,
|
|
81
|
-
type: 'text-link',
|
|
82
|
-
},
|
|
83
|
-
};
|
|
84
|
-
// Small buttons
|
|
85
|
-
export const SmallPrimary = {
|
|
86
|
-
args: {
|
|
87
|
-
...Primary.args,
|
|
88
|
-
size: 'S',
|
|
89
|
-
},
|
|
90
|
-
};
|
|
91
|
-
export const SmallSecondary = {
|
|
92
|
-
args: {
|
|
93
|
-
...Secondary.args,
|
|
94
|
-
size: 'S',
|
|
95
|
-
},
|
|
96
|
-
};
|
|
97
|
-
// States
|
|
98
|
-
export const HoverState = {
|
|
99
|
-
args: {
|
|
100
|
-
...Primary.args,
|
|
101
|
-
state: 'hover',
|
|
102
|
-
},
|
|
103
|
-
};
|
|
104
|
-
export const PressedState = {
|
|
105
|
-
args: {
|
|
106
|
-
...Primary.args,
|
|
107
|
-
state: 'pressed',
|
|
108
|
-
},
|
|
109
|
-
};
|
|
110
|
-
export const FocussedState = {
|
|
111
|
-
args: {
|
|
112
|
-
...Primary.args,
|
|
113
|
-
state: 'focussed',
|
|
114
|
-
},
|
|
115
|
-
};
|
|
116
|
-
// Disabled button
|
|
117
|
-
export const Disabled = {
|
|
118
|
-
args: {
|
|
119
|
-
...Primary.args,
|
|
120
|
-
disabled: true,
|
|
121
|
-
},
|
|
122
|
-
};
|
|
123
|
-
// # sourceMappingURL=Button.story.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Button.story.js","sourceRoot":"","sources":["../../../src/components/button/Button.story.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonUsageExample.d.ts","sourceRoot":"","sources":["../../../src/components/button/ButtonUsageExample.tsx"],"names":[],"mappings":"AAIA,eAAO,MAAM,kBAAkB,+CAgF9B,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from 'react/jsx-runtime';
|
|
2
|
-
import React from 'react';
|
|
3
|
-
import { Button } from './Button.js';
|
|
4
|
-
// Example of using the Button component with SVG icons
|
|
5
|
-
export const ButtonUsageExample = () => {
|
|
6
|
-
// You can create icon components to use with buttons
|
|
7
|
-
const InfoIcon = () => (_jsxs('svg', { width: '16', height: '16', viewBox: '0 0 16 16', fill: 'none', xmlns: 'http://www.w3.org/2000/svg', children: [_jsx('path', { d: 'M8 14C11.3137 14 14 11.3137 14 8C14 4.68629 11.3137 2 8 2C4.68629 2 2 4.68629 2 8C2 11.3137 4.68629 14 8 14Z', stroke: 'currentColor', strokeWidth: '1.33', strokeLinecap: 'round', strokeLinejoin: 'round' }), _jsx('path', { d: 'M8 10.6667V8', stroke: 'currentColor', strokeWidth: '1.33', strokeLinecap: 'round', strokeLinejoin: 'round' }), _jsx('path', { d: 'M8 5.33334H8.00667', stroke: 'currentColor', strokeWidth: '1.33', strokeLinecap: 'round', strokeLinejoin: 'round' })] }));
|
|
8
|
-
const ChevronIcon = () => (_jsx('svg', { width: '16', height: '16', viewBox: '0 0 16 16', fill: 'none', xmlns: 'http://www.w3.org/2000/svg', children: _jsx('path', { d: 'M6 12L10 8L6 4', stroke: 'currentColor', strokeWidth: '1.33', strokeLinecap: 'round', strokeLinejoin: 'round' }) }));
|
|
9
|
-
return (_jsxs('div', { style: { display: 'flex', gap: '16px', flexDirection: 'column' }, children: [_jsxs('div', { style: { display: 'flex', gap: '16px' }, children: [_jsx(Button, { type: 'primary', children: 'Primary Button' }), _jsx(Button, { type: 'primary', iconLeft: _jsx(InfoIcon, {}), children: 'With Left Icon' }), _jsx(Button, { type: 'primary', iconRight: _jsx(ChevronIcon, {}), children: 'With Right Icon' }), _jsx(Button, { type: 'primary', iconLeft: _jsx(InfoIcon, {}), iconRight: _jsx(ChevronIcon, {}), children: 'With Both Icons' })] }), _jsxs('div', { style: { display: 'flex', gap: '16px' }, children: [_jsx(Button, { type: 'secondary', children: 'Secondary Button' }), _jsx(Button, { type: 'secondary', iconLeft: _jsx(InfoIcon, {}), children: 'With Left Icon' }), _jsx(Button, { type: 'secondary', iconRight: _jsx(ChevronIcon, {}), children: 'With Right Icon' }), _jsx(Button, { type: 'secondary', iconLeft: _jsx(InfoIcon, {}), iconRight: _jsx(ChevronIcon, {}), children: 'With Both Icons' })] }), _jsxs('div', { style: { display: 'flex', gap: '16px' }, children: [_jsx(Button, { type: 'tertiary', children: 'Tertiary Button' }), _jsx(Button, { type: 'tertiary', iconLeft: _jsx(InfoIcon, {}), children: 'With Left Icon' }), _jsx(Button, { type: 'tertiary', iconRight: _jsx(ChevronIcon, {}), children: 'With Right Icon' }), _jsx(Button, { type: 'tertiary', iconLeft: _jsx(InfoIcon, {}), iconRight: _jsx(ChevronIcon, {}), children: 'With Both Icons' })] }), _jsxs('div', { style: { display: 'flex', gap: '16px' }, children: [_jsx(Button, { type: 'primary-icon', iconLeft: _jsx(InfoIcon, {}) }), _jsx(Button, { type: 'secondary-icon', iconLeft: _jsx(InfoIcon, {}) }), _jsx(Button, { type: 'tertiary-icon', iconLeft: _jsx(InfoIcon, {}) })] }), _jsxs('div', { style: { display: 'flex', gap: '16px' }, children: [_jsx(Button, { type: 'primary', size: 'S', children: 'Small Primary' }), _jsx(Button, { type: 'secondary', size: 'S', children: 'Small Secondary' }), _jsx(Button, { type: 'tertiary', size: 'S', children: 'Small Tertiary' })] }), _jsxs('div', { style: { display: 'flex', gap: '16px' }, children: [_jsx(Button, { type: 'primary-destructive', children: 'Destructive Primary' }), _jsx(Button, { type: 'secondary-destructive', children: 'Destructive Secondary' }), _jsx(Button, { type: 'secondary-destructive-icon', iconLeft: _jsx(InfoIcon, {}) })] }), _jsxs('div', { style: { display: 'flex', gap: '16px' }, children: [_jsx(Button, { type: 'text-link', children: 'Text Link' }), _jsx(Button, { type: 'text-link-padding', children: 'Text Link with Padding' })] }), _jsxs('div', { style: { display: 'flex', gap: '16px' }, children: [_jsx(Button, { type: 'primary', state: 'default', children: 'Default State' }), _jsx(Button, { type: 'primary', state: 'hover', children: 'Hover State' }), _jsx(Button, { type: 'primary', state: 'pressed', children: 'Pressed State' }), _jsx(Button, { type: 'primary', state: 'focussed', children: 'Focused State' }), _jsx(Button, { type: 'primary', disabled: true, children: 'Disabled Button' })] })] }));
|
|
10
|
-
};
|
|
11
|
-
// # sourceMappingURL=ButtonUsageExample.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonUsageExample.js","sourceRoot":"","sources":["../../../src/components/button/ButtonUsageExample.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useElementWidth.d.ts","sourceRoot":"","sources":["../../../src/components/combobox/useElementWidth.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe,GAC1B,KAAK,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,EACxC,UAAU,MAAM,KACf,MAkCF,CAAC"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { useCallback, useLayoutEffect, useState } from 'react';
|
|
2
|
-
export const useElementWidth = (ref, watchKey) => {
|
|
3
|
-
const [measurement, setMeasurement] = useState({ width: 0, hasMeasured: false });
|
|
4
|
-
const element = ref.current;
|
|
5
|
-
const update = useCallback(() => {
|
|
6
|
-
const currentElement = ref.current;
|
|
7
|
-
if (!currentElement) {
|
|
8
|
-
setMeasurement({ width: 0, hasMeasured: true });
|
|
9
|
-
return;
|
|
10
|
-
}
|
|
11
|
-
setMeasurement({
|
|
12
|
-
width: currentElement.getBoundingClientRect().width,
|
|
13
|
-
hasMeasured: true,
|
|
14
|
-
});
|
|
15
|
-
}, [ref]);
|
|
16
|
-
useLayoutEffect(() => {
|
|
17
|
-
// Re-run measurement when callers know the element's contents/layout inputs changed.
|
|
18
|
-
update();
|
|
19
|
-
}, [update, watchKey]);
|
|
20
|
-
useLayoutEffect(() => {
|
|
21
|
-
if (!element)
|
|
22
|
-
return;
|
|
23
|
-
const observer = new ResizeObserver(update);
|
|
24
|
-
observer.observe(element);
|
|
25
|
-
return () => {
|
|
26
|
-
observer.disconnect();
|
|
27
|
-
};
|
|
28
|
-
}, [element, update]);
|
|
29
|
-
return measurement.width;
|
|
30
|
-
};
|
|
31
|
-
//# sourceMappingURL=useElementWidth.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useElementWidth.js","sourceRoot":"","sources":["../../../src/components/combobox/useElementWidth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE/D,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,GAAwC,EACxC,QAAgB,EACR,EAAE;IACV,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;IACjF,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;IAE5B,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE;QAC9B,MAAM,cAAc,GAAG,GAAG,CAAC,OAAO,CAAC;QACnC,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,cAAc,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,OAAO;QACT,CAAC;QAED,cAAc,CAAC;YACb,KAAK,EAAE,cAAc,CAAC,qBAAqB,EAAE,CAAC,KAAK;YACnD,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEV,eAAe,CAAC,GAAG,EAAE;QACnB,qFAAqF;QACrF,MAAM,EAAE,CAAC;IACX,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEvB,eAAe,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;QAC5C,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAE1B,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,UAAU,EAAE,CAAC;QACxB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAEtB,OAAO,WAAW,CAAC,KAAK,CAAC;AAC3B,CAAC,CAAC"}
|