@arbor-education/design-system.components 4.5.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/CHANGELOG.md +12 -0
- package/dist/components/avatar/Avatar.js +2 -2
- package/dist/components/avatar/Avatar.js.map +1 -1
- package/dist/components/badge/Badge.stories.d.ts +0 -1
- package/dist/components/badge/Badge.stories.d.ts.map +1 -1
- package/dist/components/badge/Badge.stories.js +0 -69
- package/dist/components/badge/Badge.stories.js.map +1 -1
- 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/dot/Dot.d.ts.map +1 -1
- package/dist/components/dot/Dot.js +1 -1
- package/dist/components/dot/Dot.js.map +1 -1
- package/dist/components/formField/inputs/checkbox/CheckboxInput.d.ts +2 -2
- package/dist/components/formField/inputs/checkbox/CheckboxInput.d.ts.map +1 -1
- package/dist/components/formField/inputs/checkbox/CheckboxInput.js +1 -1
- package/dist/components/formField/inputs/checkbox/CheckboxInput.js.map +1 -1
- package/dist/components/formField/inputs/checkbox/CheckboxInput.stories.d.ts +2 -0
- package/dist/components/formField/inputs/checkbox/CheckboxInput.stories.d.ts.map +1 -1
- package/dist/components/formField/inputs/checkbox/CheckboxInput.stories.js +100 -0
- package/dist/components/formField/inputs/checkbox/CheckboxInput.stories.js.map +1 -1
- package/dist/components/formField/inputs/checkbox/CheckboxInput.test.js +17 -1
- package/dist/components/formField/inputs/checkbox/CheckboxInput.test.js.map +1 -1
- 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/searchBar/SearchBar.d.ts.map +1 -1
- package/dist/components/searchBar/SearchBar.js +1 -1
- package/dist/components/searchBar/SearchBar.js.map +1 -1
- package/dist/components/searchBar/SearchBar.test.js +3 -3
- package/dist/components/searchBar/SearchBar.test.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/dist/utils/popupParent/PopupParentContext.stories.d.ts.map +1 -1
- package/dist/utils/popupParent/PopupParentContext.stories.js +1 -1
- package/dist/utils/popupParent/PopupParentContext.stories.js.map +1 -1
- package/package.json +4 -4
- package/src/components/avatar/Avatar.tsx +2 -2
- package/src/components/badge/Badge.stories.tsx +0 -103
- package/src/components/dot/Dot.tsx +1 -0
- package/src/components/formField/inputs/checkbox/CheckboxInput.stories.tsx +178 -1
- package/src/components/formField/inputs/checkbox/CheckboxInput.test.tsx +58 -0
- package/src/components/formField/inputs/checkbox/CheckboxInput.tsx +3 -3
- package/src/components/pill/Pill.tsx +1 -0
- package/src/components/searchBar/SearchBar.test.tsx +3 -3
- package/src/components/searchBar/SearchBar.tsx +1 -0
- package/src/components/table/Table.stories.tsx +0 -5
- package/src/components/table/Table.test.tsx +0 -5
- package/src/utils/popupParent/PopupParentContext.stories.tsx +1 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@arbor-education/design-system.components",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.7.0-alpha.0",
|
|
4
4
|
"description": "The component library for the design system (the baby)",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -13,9 +13,9 @@
|
|
|
13
13
|
"dependencies": {
|
|
14
14
|
"@react-hook/resize-observer": "^2.0.2",
|
|
15
15
|
"@uiw/react-color": "2.8.0",
|
|
16
|
-
"ag-grid-community": "^
|
|
17
|
-
"ag-grid-enterprise": "^
|
|
18
|
-
"ag-grid-react": "^
|
|
16
|
+
"ag-grid-community": "^35.3.1",
|
|
17
|
+
"ag-grid-enterprise": "^35.3.1",
|
|
18
|
+
"ag-grid-react": "^35.3.1",
|
|
19
19
|
"class-variance-authority": "^0.7.1",
|
|
20
20
|
"classnames": "^2.5.1",
|
|
21
21
|
"date-fns": "^4.1.0",
|
|
@@ -34,14 +34,14 @@ export const Avatar = (props: AvatarProps) => {
|
|
|
34
34
|
|
|
35
35
|
if (initials) {
|
|
36
36
|
return (
|
|
37
|
-
<span className="ds-avatar__initials" aria-label={alt}>
|
|
37
|
+
<span className="ds-avatar__initials" aria-label={alt} role="img">
|
|
38
38
|
{initials}
|
|
39
39
|
</span>
|
|
40
40
|
);
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
return (
|
|
44
|
-
<span className="ds-avatar__placeholder" aria-label={alt || 'User avatar'}>
|
|
44
|
+
<span className="ds-avatar__placeholder" aria-label={alt || 'User avatar'} role="img">
|
|
45
45
|
<svg
|
|
46
46
|
viewBox="0 0 24 24"
|
|
47
47
|
fill="currentColor"
|
|
@@ -433,42 +433,6 @@ const AllVariantsTemplate = () => (
|
|
|
433
433
|
</div>
|
|
434
434
|
);
|
|
435
435
|
|
|
436
|
-
const A11yWithLabelTemplate = () => (
|
|
437
|
-
<div
|
|
438
|
-
style={{
|
|
439
|
-
padding: 'var(--spacing-xlarge)',
|
|
440
|
-
display: 'flex',
|
|
441
|
-
flexDirection: 'column',
|
|
442
|
-
gap: 'var(--spacing-xlarge)',
|
|
443
|
-
}}
|
|
444
|
-
>
|
|
445
|
-
<div style={{ display: 'flex', flexDirection: 'column', gap: 'var(--spacing-large)' }}>
|
|
446
|
-
<p className="ds-text" style={{ margin: 0, color: 'var(--color-semantic-destructive-600)' }}>
|
|
447
|
-
Without a11yLabel — screen reader announces "5" (no context)
|
|
448
|
-
</p>
|
|
449
|
-
<div style={{ display: 'flex', alignItems: 'center', gap: 'var(--spacing-large)' }}>
|
|
450
|
-
<Icon name="mail" size={16} screenReaderText="Notifications" />
|
|
451
|
-
<Badge>5</Badge>
|
|
452
|
-
</div>
|
|
453
|
-
<p className="ds-text" style={{ margin: 0, color: 'var(--color-grey-600)', fontStyle: 'italic' }}>
|
|
454
|
-
Screen reader: "mail Notifications, 5"
|
|
455
|
-
</p>
|
|
456
|
-
</div>
|
|
457
|
-
<div style={{ display: 'flex', flexDirection: 'column', gap: 'var(--spacing-large)' }}>
|
|
458
|
-
<p className="ds-text" style={{ margin: 0, color: 'var(--color-semantic-success-600)' }}>
|
|
459
|
-
With a11yLabel — screen reader announces the full meaningful label
|
|
460
|
-
</p>
|
|
461
|
-
<div style={{ display: 'flex', alignItems: 'center', gap: 'var(--spacing-large)' }}>
|
|
462
|
-
<Icon name="mail" size={16} />
|
|
463
|
-
<Badge a11yLabel="5 unread messages">5</Badge>
|
|
464
|
-
</div>
|
|
465
|
-
<p className="ds-text" style={{ margin: 0, color: 'var(--color-grey-600)', fontStyle: 'italic' }}>
|
|
466
|
-
Screen reader: "5 unread messages"
|
|
467
|
-
</p>
|
|
468
|
-
</div>
|
|
469
|
-
</div>
|
|
470
|
-
);
|
|
471
|
-
|
|
472
436
|
// ---------------------------------------------------------------------------
|
|
473
437
|
// Stories
|
|
474
438
|
// ---------------------------------------------------------------------------
|
|
@@ -832,70 +796,3 @@ export default AllVariantsTemplate;
|
|
|
832
796
|
},
|
|
833
797
|
'Full 3 × 8 grid: all three sizes crossed with all eight colour states (default charcoal + 7 palette colours). Use this story as a complete visual reference for the Badge component. Each cell uses the same count (`"9"`) to make size and colour comparisons accurate.',
|
|
834
798
|
);
|
|
835
|
-
|
|
836
|
-
export const A11yWithLabel: Story = withDescription(
|
|
837
|
-
{
|
|
838
|
-
render: A11yWithLabelTemplate,
|
|
839
|
-
parameters: {
|
|
840
|
-
docs: {
|
|
841
|
-
source: {
|
|
842
|
-
language: 'tsx',
|
|
843
|
-
code: `
|
|
844
|
-
import { Badge, Icon } from '@arbor-education/design-system.components';
|
|
845
|
-
|
|
846
|
-
function A11yWithLabelTemplate() {
|
|
847
|
-
return (
|
|
848
|
-
<div
|
|
849
|
-
style={{
|
|
850
|
-
padding: 'var(--spacing-xlarge)',
|
|
851
|
-
display: 'flex',
|
|
852
|
-
flexDirection: 'column',
|
|
853
|
-
gap: 'var(--spacing-xlarge)',
|
|
854
|
-
}}
|
|
855
|
-
>
|
|
856
|
-
<div style={{ display: 'flex', flexDirection: 'column', gap: 'var(--spacing-large)' }}>
|
|
857
|
-
<p className="ds-text" style={{ margin: 0, color: 'var(--color-semantic-destructive-600)' }}>
|
|
858
|
-
Without a11yLabel — screen reader announces "5" (no context)
|
|
859
|
-
</p>
|
|
860
|
-
<div style={{ display: 'flex', alignItems: 'center', gap: 'var(--spacing-large)' }}>
|
|
861
|
-
<Icon name="mail" size={16} screenReaderText="Notifications" />
|
|
862
|
-
<Badge>5</Badge>
|
|
863
|
-
</div>
|
|
864
|
-
<p className="ds-text" style={{ margin: 0, color: 'var(--color-grey-600)', fontStyle: 'italic' }}>
|
|
865
|
-
Screen reader: "mail Notifications, 5"
|
|
866
|
-
</p>
|
|
867
|
-
</div>
|
|
868
|
-
<div style={{ display: 'flex', flexDirection: 'column', gap: 'var(--spacing-large)' }}>
|
|
869
|
-
<p className="ds-text" style={{ margin: 0, color: 'var(--color-semantic-success-600)' }}>
|
|
870
|
-
With a11yLabel — screen reader announces the full meaningful label
|
|
871
|
-
</p>
|
|
872
|
-
<div style={{ display: 'flex', alignItems: 'center', gap: 'var(--spacing-large)' }}>
|
|
873
|
-
<Icon name="mail" size={16} />
|
|
874
|
-
<Badge a11yLabel="5 unread messages">5</Badge>
|
|
875
|
-
</div>
|
|
876
|
-
<p className="ds-text" style={{ margin: 0, color: 'var(--color-grey-600)', fontStyle: 'italic' }}>
|
|
877
|
-
Screen reader: "5 unread messages"
|
|
878
|
-
</p>
|
|
879
|
-
</div>
|
|
880
|
-
</div>
|
|
881
|
-
);
|
|
882
|
-
}
|
|
883
|
-
export default A11yWithLabelTemplate;
|
|
884
|
-
`.trim(),
|
|
885
|
-
},
|
|
886
|
-
},
|
|
887
|
-
},
|
|
888
|
-
},
|
|
889
|
-
[
|
|
890
|
-
'Accessibility contrast: top row shows a badge **without** `a11yLabel` — a screen reader',
|
|
891
|
-
'moving through the icon and badge would announce the icon text and then the bare number `"5"`,',
|
|
892
|
-
'providing no context about what those 5 items are.',
|
|
893
|
-
'',
|
|
894
|
-
'The bottom row adds `a11yLabel="5 unread messages"`. The component sets `aria-label` on the',
|
|
895
|
-
'wrapper `<span>` and wraps `children` in an `aria-hidden="true"` span. The screen reader now',
|
|
896
|
-
'announces `"5 unread messages"` as a single coherent label — no duplicate number, full context.',
|
|
897
|
-
'',
|
|
898
|
-
'Use `a11yLabel` whenever the badge sits next to an icon-only element or in a context where',
|
|
899
|
-
'the number alone would be ambiguous to a screen reader user.',
|
|
900
|
-
].join(' '),
|
|
901
|
-
);
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
Subtitle,
|
|
9
9
|
Title,
|
|
10
10
|
} from '@storybook/addon-docs/blocks';
|
|
11
|
-
import { useState } from 'react';
|
|
11
|
+
import { useState, type ReactNode } from 'react';
|
|
12
12
|
import { fn } from 'storybook/test';
|
|
13
13
|
import { CheckboxInput } from './CheckboxInput.js';
|
|
14
14
|
import { CheckboxGroup } from './CheckboxGroup.js';
|
|
@@ -1036,3 +1036,180 @@ export default LockedReportOptionsExample;
|
|
|
1036
1036
|
'`disabled` prop inside `options` if you need partial disabling.',
|
|
1037
1037
|
].join(' '),
|
|
1038
1038
|
);
|
|
1039
|
+
|
|
1040
|
+
// ---------------------------------------------------------------------------
|
|
1041
|
+
// Rich labels
|
|
1042
|
+
// Each row shows the plain-text label (what the adaptor shipped before) beside
|
|
1043
|
+
// the rich label, so the before/after difference is visible in one story.
|
|
1044
|
+
// ---------------------------------------------------------------------------
|
|
1045
|
+
|
|
1046
|
+
const EMAIL_ICON_SRC = `data:image/svg+xml;utf8,${encodeURIComponent(
|
|
1047
|
+
'<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14"><rect x="1" y="3" width="12" height="8" rx="1" fill="none" stroke="#1b4f8a" stroke-width="1.5"/><path d="M1.5 3.5 7 8l5.5-4.5" fill="none" stroke="#1b4f8a" stroke-width="1.5"/></svg>',
|
|
1048
|
+
)}`;
|
|
1049
|
+
|
|
1050
|
+
const RICH_LABEL_EXAMPLES: { type: string; plain: string; rich: ReactNode }[] = [
|
|
1051
|
+
{
|
|
1052
|
+
type: 'Bold text',
|
|
1053
|
+
plain: 'Smith, Jane',
|
|
1054
|
+
rich: (
|
|
1055
|
+
<>
|
|
1056
|
+
<b>Smith</b>
|
|
1057
|
+
, Jane
|
|
1058
|
+
</>
|
|
1059
|
+
),
|
|
1060
|
+
},
|
|
1061
|
+
{
|
|
1062
|
+
type: 'Image',
|
|
1063
|
+
plain: 'Email Send to email',
|
|
1064
|
+
rich: (
|
|
1065
|
+
<>
|
|
1066
|
+
<img src={EMAIL_ICON_SRC} alt="Email" style={{ verticalAlign: 'middle', marginRight: 'var(--spacing-xsmall)' }} />
|
|
1067
|
+
Send to email
|
|
1068
|
+
</>
|
|
1069
|
+
),
|
|
1070
|
+
},
|
|
1071
|
+
{
|
|
1072
|
+
type: 'Coloured text (warning)',
|
|
1073
|
+
plain: 'No email address',
|
|
1074
|
+
rich: <span style={{ color: 'var(--color-semantic-destructive-700)' }}>No email address</span>,
|
|
1075
|
+
},
|
|
1076
|
+
{
|
|
1077
|
+
type: 'Mixed formatting',
|
|
1078
|
+
plain: 'Maths: 0 students below target',
|
|
1079
|
+
rich: (
|
|
1080
|
+
<>
|
|
1081
|
+
Maths:
|
|
1082
|
+
{' '}
|
|
1083
|
+
<u><span style={{ color: 'var(--color-semantic-destructive-700)', fontWeight: 'bold' }}>0</span></u>
|
|
1084
|
+
{' '}
|
|
1085
|
+
students below target
|
|
1086
|
+
</>
|
|
1087
|
+
),
|
|
1088
|
+
},
|
|
1089
|
+
];
|
|
1090
|
+
|
|
1091
|
+
const RichLabelComparisonTemplate = () => {
|
|
1092
|
+
const [checked, setChecked] = useState<Record<string, boolean>>({});
|
|
1093
|
+
|
|
1094
|
+
return (
|
|
1095
|
+
<div style={{ maxWidth: '36rem', padding: 'var(--spacing-xlarge)', display: 'flex', flexDirection: 'column', gap: 'var(--spacing-large)' }}>
|
|
1096
|
+
{RICH_LABEL_EXAMPLES.map(example => (
|
|
1097
|
+
<div key={example.type} style={{ display: 'grid', gridTemplateColumns: '10rem 1fr 1fr', gap: 'var(--spacing-medium)', alignItems: 'center' }}>
|
|
1098
|
+
<span style={{ color: 'var(--color-grey-600)', fontSize: 'var(--font-size-2-13)' }}>{example.type}</span>
|
|
1099
|
+
<CheckboxInput
|
|
1100
|
+
id={`plain-${example.type}`}
|
|
1101
|
+
checked={!!checked[`plain-${example.type}`]}
|
|
1102
|
+
onChange={e => setChecked(prev => ({ ...prev, [`plain-${example.type}`]: e.target.checked }))}
|
|
1103
|
+
label={example.plain}
|
|
1104
|
+
/>
|
|
1105
|
+
<CheckboxInput
|
|
1106
|
+
id={`rich-${example.type}`}
|
|
1107
|
+
checked={!!checked[`rich-${example.type}`]}
|
|
1108
|
+
onChange={e => setChecked(prev => ({ ...prev, [`rich-${example.type}`]: e.target.checked }))}
|
|
1109
|
+
label={example.rich}
|
|
1110
|
+
/>
|
|
1111
|
+
</div>
|
|
1112
|
+
))}
|
|
1113
|
+
</div>
|
|
1114
|
+
);
|
|
1115
|
+
};
|
|
1116
|
+
|
|
1117
|
+
export const RichLabelComparison: Story = withDescription(
|
|
1118
|
+
{
|
|
1119
|
+
render: () => <RichLabelComparisonTemplate />,
|
|
1120
|
+
parameters: {
|
|
1121
|
+
docs: {
|
|
1122
|
+
source: {
|
|
1123
|
+
language: 'tsx',
|
|
1124
|
+
code: `
|
|
1125
|
+
import { CheckboxInput } from '@arbor-education/design-system.components';
|
|
1126
|
+
|
|
1127
|
+
// label accepts any ReactNode. Keep formatting to the approved set
|
|
1128
|
+
// (bold, coloured text, icon) and keep the text itself meaningful on its own,
|
|
1129
|
+
// because it becomes the checkbox's accessible name.
|
|
1130
|
+
<CheckboxInput
|
|
1131
|
+
id="student-smith"
|
|
1132
|
+
checked={checked}
|
|
1133
|
+
onChange={(e) => setChecked(e.target.checked)}
|
|
1134
|
+
label={<><b>Smith</b>, Jane</>}
|
|
1135
|
+
/>
|
|
1136
|
+
`.trim(),
|
|
1137
|
+
},
|
|
1138
|
+
},
|
|
1139
|
+
},
|
|
1140
|
+
},
|
|
1141
|
+
[
|
|
1142
|
+
'Each row compares a plain-text label (left) with the rich label (right). The rich label keeps the',
|
|
1143
|
+
'formatting that legacy SIS labels carry: bold names, icons, coloured warnings and highlighted counts.',
|
|
1144
|
+
'The whole label remains the checkbox accessible name, so the text must make sense without the styling.',
|
|
1145
|
+
].join(' '),
|
|
1146
|
+
);
|
|
1147
|
+
|
|
1148
|
+
const RICH_GUARDIAN_OPTIONS = [
|
|
1149
|
+
{
|
|
1150
|
+
id: 'rich-guardian-1',
|
|
1151
|
+
label: (
|
|
1152
|
+
<>
|
|
1153
|
+
<b>Smith</b>
|
|
1154
|
+
, Jane (mother)
|
|
1155
|
+
</>
|
|
1156
|
+
),
|
|
1157
|
+
checked: true,
|
|
1158
|
+
onChange: fn(),
|
|
1159
|
+
},
|
|
1160
|
+
{
|
|
1161
|
+
id: 'rich-guardian-2',
|
|
1162
|
+
label: (
|
|
1163
|
+
<>
|
|
1164
|
+
<img src={EMAIL_ICON_SRC} alt="Email" style={{ verticalAlign: 'middle', marginRight: 'var(--spacing-xsmall)' }} />
|
|
1165
|
+
Smith, Tom (father)
|
|
1166
|
+
</>
|
|
1167
|
+
),
|
|
1168
|
+
checked: false,
|
|
1169
|
+
onChange: fn(),
|
|
1170
|
+
},
|
|
1171
|
+
{
|
|
1172
|
+
id: 'rich-guardian-3',
|
|
1173
|
+
label: (
|
|
1174
|
+
<>
|
|
1175
|
+
<span style={{ color: 'var(--color-semantic-destructive-700)' }}>No email address</span>
|
|
1176
|
+
{' '}
|
|
1177
|
+
— Smith, Ann
|
|
1178
|
+
</>
|
|
1179
|
+
),
|
|
1180
|
+
checked: false,
|
|
1181
|
+
onChange: fn(),
|
|
1182
|
+
},
|
|
1183
|
+
];
|
|
1184
|
+
|
|
1185
|
+
export const RichLabelInCheckboxGroup: Story = withDescription(
|
|
1186
|
+
{
|
|
1187
|
+
render: () => (
|
|
1188
|
+
<div style={{ maxWidth: '28rem', padding: 'var(--spacing-xlarge)' }}>
|
|
1189
|
+
<CheckboxGroup
|
|
1190
|
+
legend="Absence alert recipients"
|
|
1191
|
+
options={RICH_GUARDIAN_OPTIONS}
|
|
1192
|
+
/>
|
|
1193
|
+
</div>
|
|
1194
|
+
),
|
|
1195
|
+
parameters: {
|
|
1196
|
+
docs: {
|
|
1197
|
+
source: {
|
|
1198
|
+
language: 'tsx',
|
|
1199
|
+
code: `
|
|
1200
|
+
import { CheckboxGroup } from '@arbor-education/design-system.components';
|
|
1201
|
+
|
|
1202
|
+
<CheckboxGroup
|
|
1203
|
+
legend="Absence alert recipients"
|
|
1204
|
+
options={[
|
|
1205
|
+
{ id: 'guardian-1', label: <><b>Smith</b>, Jane (mother)</>, checked: true, onChange },
|
|
1206
|
+
{ id: 'guardian-2', label: <><img src={emailIcon} alt="Email" />Smith, Tom (father)</>, checked: false, onChange },
|
|
1207
|
+
]}
|
|
1208
|
+
/>
|
|
1209
|
+
`.trim(),
|
|
1210
|
+
},
|
|
1211
|
+
},
|
|
1212
|
+
},
|
|
1213
|
+
},
|
|
1214
|
+
'Rich labels in a CheckboxGroup. Each option keeps its own formatting; the group legend still labels the set.',
|
|
1215
|
+
);
|
|
@@ -32,4 +32,62 @@ describe('CheckboxInput component', () => {
|
|
|
32
32
|
expect(checkboxElement).toBeDisabled();
|
|
33
33
|
expect(checkboxElement.matches(':disabled')).toBe(true);
|
|
34
34
|
});
|
|
35
|
+
|
|
36
|
+
test('CheckboxInput renders a rich label with its formatting', () => {
|
|
37
|
+
render(
|
|
38
|
+
<CheckboxInput
|
|
39
|
+
onChange={() => {}}
|
|
40
|
+
label={(
|
|
41
|
+
<>
|
|
42
|
+
<b>Smith</b>
|
|
43
|
+
, Jane
|
|
44
|
+
</>
|
|
45
|
+
)}
|
|
46
|
+
/>,
|
|
47
|
+
);
|
|
48
|
+
|
|
49
|
+
expect(screen.getByText('Smith').tagName).toBe('B');
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
test('CheckboxInput keeps the rich label as its accessible name', () => {
|
|
53
|
+
render(
|
|
54
|
+
<CheckboxInput
|
|
55
|
+
onChange={() => {}}
|
|
56
|
+
label={(
|
|
57
|
+
<>
|
|
58
|
+
<span style={{ color: 'red' }}>No email address</span>
|
|
59
|
+
</>
|
|
60
|
+
)}
|
|
61
|
+
/>,
|
|
62
|
+
);
|
|
63
|
+
|
|
64
|
+
expect(
|
|
65
|
+
screen.getByRole('checkbox', { name: 'No email address' }),
|
|
66
|
+
).toBeInTheDocument();
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
test('CheckboxInput renders a numeric zero label inside the label text', () => {
|
|
70
|
+
const { container } = render(<CheckboxInput label={0} onChange={() => {}} />);
|
|
71
|
+
|
|
72
|
+
expect(container.querySelector('.ds-checkbox-label__text')?.textContent).toBe('0');
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
test('CheckboxInput keeps the accessible name of a rich image label', () => {
|
|
76
|
+
render(
|
|
77
|
+
<CheckboxInput
|
|
78
|
+
onChange={() => {}}
|
|
79
|
+
label={(
|
|
80
|
+
<>
|
|
81
|
+
<img src="/email.svg" alt="Email" />
|
|
82
|
+
{' '}
|
|
83
|
+
Send to email
|
|
84
|
+
</>
|
|
85
|
+
)}
|
|
86
|
+
/>,
|
|
87
|
+
);
|
|
88
|
+
|
|
89
|
+
expect(
|
|
90
|
+
screen.getByRole('checkbox', { name: 'Email Send to email' }),
|
|
91
|
+
).toBeInTheDocument();
|
|
92
|
+
});
|
|
35
93
|
});
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import classNames from 'classnames';
|
|
2
|
-
import { useRef, useEffect, type InputHTMLAttributes } from 'react';
|
|
2
|
+
import { useRef, useEffect, type InputHTMLAttributes, type ReactNode } from 'react';
|
|
3
3
|
import { Icon } from 'Components/icon/Icon';
|
|
4
4
|
|
|
5
5
|
export type CheckboxInputProps = {
|
|
6
6
|
indeterminate?: boolean;
|
|
7
|
-
label?:
|
|
7
|
+
label?: ReactNode;
|
|
8
8
|
hasError?: boolean;
|
|
9
9
|
} & InputHTMLAttributes<HTMLInputElement>;
|
|
10
10
|
|
|
@@ -76,7 +76,7 @@ export const CheckboxInput = (props: CheckboxInputProps) => {
|
|
|
76
76
|
/>
|
|
77
77
|
)}
|
|
78
78
|
</span>
|
|
79
|
-
{label && (
|
|
79
|
+
{label !== undefined && label !== null && label !== false && label !== '' && (
|
|
80
80
|
<span className="ds-checkbox-label__text">{label}</span>
|
|
81
81
|
)}
|
|
82
82
|
</label>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { describe, expect, test, vi, beforeEach } from 'vitest';
|
|
2
|
-
import { render, screen, fireEvent } from '@testing-library/react';
|
|
2
|
+
import { render, screen, fireEvent, within } from '@testing-library/react';
|
|
3
3
|
import '@testing-library/jest-dom/vitest';
|
|
4
4
|
import { SearchBar } from './SearchBar.js';
|
|
5
5
|
import userEvent from '@testing-library/user-event';
|
|
@@ -39,14 +39,14 @@ describe('SearchBar component', () => {
|
|
|
39
39
|
const button = screen.getByTestId('search-bar-inactive');
|
|
40
40
|
fireEvent.mouseEnter(button);
|
|
41
41
|
fireEvent.mouseLeave(button);
|
|
42
|
-
expect(
|
|
42
|
+
expect(within(button).getByText('Search', { selector: '.ds-search-bar--inactive__placeholder' })).toBeInTheDocument();
|
|
43
43
|
});
|
|
44
44
|
|
|
45
45
|
test('keeps placeholder on hover when no hoverText provided', () => {
|
|
46
46
|
render(<SearchBar setSearchValue={setSearchMock} placeholderText="Search" />);
|
|
47
47
|
const button = screen.getByTestId('search-bar-inactive');
|
|
48
48
|
fireEvent.mouseEnter(button);
|
|
49
|
-
expect(
|
|
49
|
+
expect(within(button).getByText('Search', { selector: '.ds-search-bar--inactive__placeholder' })).toBeInTheDocument();
|
|
50
50
|
});
|
|
51
51
|
});
|
|
52
52
|
|
|
@@ -516,7 +516,6 @@ const sampleColumnDefs: (ColDef | ColGroupDef)[] = [
|
|
|
516
516
|
{ field: 'status', valueFormatter: Table.DefaultValueFormatter },
|
|
517
517
|
{
|
|
518
518
|
field: 'marks',
|
|
519
|
-
cellDataType: 'number',
|
|
520
519
|
type: 'dsNumberColumn',
|
|
521
520
|
cellEditorParams: {
|
|
522
521
|
min: 0,
|
|
@@ -528,13 +527,11 @@ const sampleColumnDefs: (ColDef | ColGroupDef)[] = [
|
|
|
528
527
|
{
|
|
529
528
|
field: 'active',
|
|
530
529
|
filter: { component: BooleanFilter, doesFilterPass: doesBooleanFilterPass },
|
|
531
|
-
cellDataType: 'boolean',
|
|
532
530
|
editable: false,
|
|
533
531
|
},
|
|
534
532
|
{
|
|
535
533
|
field: 'time',
|
|
536
534
|
filter: { component: TimeFilter, doesFilterPass: doesTimeFilterPass },
|
|
537
|
-
cellDataType: 'string',
|
|
538
535
|
editable: false,
|
|
539
536
|
},
|
|
540
537
|
];
|
|
@@ -578,12 +575,10 @@ const verticalHeaderTextColumnDefs: (ColDef | ColGroupDef)[] = [
|
|
|
578
575
|
{
|
|
579
576
|
field: 'marks',
|
|
580
577
|
headerName: 'Overall Score (%)',
|
|
581
|
-
cellDataType: 'number',
|
|
582
578
|
},
|
|
583
579
|
{
|
|
584
580
|
field: 'active',
|
|
585
581
|
headerName: 'Active?',
|
|
586
|
-
cellDataType: 'boolean',
|
|
587
582
|
editable: false,
|
|
588
583
|
},
|
|
589
584
|
{
|
|
@@ -1524,7 +1524,6 @@ describe('Table', () => {
|
|
|
1524
1524
|
field: 'age',
|
|
1525
1525
|
headerName: 'Age',
|
|
1526
1526
|
editable: true,
|
|
1527
|
-
cellDataType: 'number',
|
|
1528
1527
|
cellEditor: 'dsNumberCellEditor',
|
|
1529
1528
|
cellEditorParams: {
|
|
1530
1529
|
min: 0,
|
|
@@ -1571,7 +1570,6 @@ describe('Table', () => {
|
|
|
1571
1570
|
field: 'age',
|
|
1572
1571
|
headerName: 'Age',
|
|
1573
1572
|
editable: true,
|
|
1574
|
-
cellDataType: 'number',
|
|
1575
1573
|
cellEditor: 'dsNumberCellEditor',
|
|
1576
1574
|
cellEditorParams: {
|
|
1577
1575
|
min: 0,
|
|
@@ -1619,7 +1617,6 @@ describe('Table', () => {
|
|
|
1619
1617
|
field: 'age',
|
|
1620
1618
|
headerName: 'Age',
|
|
1621
1619
|
editable: true,
|
|
1622
|
-
cellDataType: 'number',
|
|
1623
1620
|
cellEditor: 'dsNumberCellEditor',
|
|
1624
1621
|
cellEditorParams: {
|
|
1625
1622
|
min: 0,
|
|
@@ -1667,7 +1664,6 @@ describe('Table', () => {
|
|
|
1667
1664
|
field: 'age',
|
|
1668
1665
|
headerName: 'Age',
|
|
1669
1666
|
editable: true,
|
|
1670
|
-
cellDataType: 'number',
|
|
1671
1667
|
cellEditor: 'dsNumberCellEditor',
|
|
1672
1668
|
cellEditorParams: {
|
|
1673
1669
|
min: 50,
|
|
@@ -1717,7 +1713,6 @@ describe('Table', () => {
|
|
|
1717
1713
|
field: 'age',
|
|
1718
1714
|
headerName: 'Age',
|
|
1719
1715
|
editable: true,
|
|
1720
|
-
cellDataType: 'number',
|
|
1721
1716
|
cellEditor: 'dsNumberCellEditor',
|
|
1722
1717
|
cellEditorParams: {
|
|
1723
1718
|
min: 0,
|