@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
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/react-vite';
|
|
2
|
+
/**
|
|
3
|
+
* Well, picture it: St. Olaf, 1982.
|
|
4
|
+
*
|
|
5
|
+
* The school district needed to build a new system for tracking student assessments across
|
|
6
|
+
* all the different periods and subjects. Gunnar Gustafsson spent three weeks drawing
|
|
7
|
+
* columns on giant sheets of graph paper, organising them into groups by term (Autumn,
|
|
8
|
+
* Spring, Summer), and then trying to figure out who would collect which pieces of data -
|
|
9
|
+
* teachers, administrators, or the automatic tallying machine that counted lutefisk portions.
|
|
10
|
+
* It was exhausting work, but when it was done, oh my stars, it was beautiful! Every
|
|
11
|
+
* column was in its place, every subject was accounted for, and you could see the whole
|
|
12
|
+
* structure laid out like a magnificent hierarchical tree.
|
|
13
|
+
*
|
|
14
|
+
* The AssessmentBuilderPage is the digital version of Gunnar's graph paper masterpiece.
|
|
15
|
+
* It is a complex page for configuring assessment marksheet columns with a hierarchical,
|
|
16
|
+
* tree-based structure. Teachers and administrators can build out their assessment columns,
|
|
17
|
+
* organise them into groups (like assessment periods), configure who collects each piece
|
|
18
|
+
* of data, and control visibility settings - all in one place.
|
|
19
|
+
*
|
|
20
|
+
* **Features:**
|
|
21
|
+
* - Breadcrumb navigation showing "Assessments / Create New Assessment" with a copy link button
|
|
22
|
+
* - Inline-editable page heading (click the edit icon to rename the assessment)
|
|
23
|
+
* - Tab navigation to switch between "Build Mode" and "Preview" (preview is a placeholder)
|
|
24
|
+
* - Hierarchical Table (AG Grid) with tree data structure:
|
|
25
|
+
* - Parent rows (assessment period groups like "Autumn", "Spring", "Summer")
|
|
26
|
+
* - Child rows (individual subject columns like "English Language", "Maths")
|
|
27
|
+
* - Auto-expand all groups by default (`groupDefaultExpanded={-1}`)
|
|
28
|
+
* - Editable "Column Name" field via inline text editing
|
|
29
|
+
* - Dropdown cell editors for "Data Collection" (Teacher / Admin / Automatic)
|
|
30
|
+
* - Dropdown cell editors for "Visibility" (Auto-visibility / Visible / Hidden)
|
|
31
|
+
* - Undo button in each row to revert changes
|
|
32
|
+
* - Multi-row selection with checkbox column
|
|
33
|
+
* - Contextual sidebar for selecting which columns to add:
|
|
34
|
+
* - SearchBar for filtering available columns
|
|
35
|
+
* - Filter dropdown (All Columns / Selected Only / Unselected Only)
|
|
36
|
+
* - Collapsible sections: Demographics, Student Identifier, Assessment Periods, Subjects
|
|
37
|
+
* - Pill checkboxes for Demographics and Subjects (with "See more" buttons)
|
|
38
|
+
* - CheckboxGroup for Student Identifier and Assessment Periods
|
|
39
|
+
* - "Proceed to Marksheets" primary action button at the bottom
|
|
40
|
+
*
|
|
41
|
+
* **Build Mode vs Preview:**
|
|
42
|
+
* - Build Mode (default tab): shows the full marksheet columns table and sidebar
|
|
43
|
+
* - Preview: placeholder content ("Preview mode - coming soon")
|
|
44
|
+
*
|
|
45
|
+
* **Accessibility:**
|
|
46
|
+
* - Breadcrumb uses `<nav aria-label="Breadcrumb">` for clear navigation context
|
|
47
|
+
* - Heading is editable via a button with `iconLeftScreenReaderText="Edit assessment name"`
|
|
48
|
+
* - Tabs are keyboard-navigable and ARIA-compliant via the Tabs component
|
|
49
|
+
* - Table uses AG Grid's built-in accessibility features (keyboard navigation, screen reader support)
|
|
50
|
+
* - Sidebar sections are collapsible via the Section component's accessible toggle buttons
|
|
51
|
+
* - SearchBar has proper labelling via placeholder text
|
|
52
|
+
*
|
|
53
|
+
* **Usage:**
|
|
54
|
+
* This is a PAGE component, not a library component - it demonstrates how to compose
|
|
55
|
+
* multiple Arbor design system components (Button, Heading, Tabs, Section, Table, Pill,
|
|
56
|
+
* SearchBar, CheckboxGroup, Dropdown) into a complete application page. It is part of
|
|
57
|
+
* the KS4 Assessment Builder workflow, typically reached from the AssessmentsPage after
|
|
58
|
+
* clicking "Create New Assessment".
|
|
59
|
+
*/
|
|
60
|
+
declare const meta: {
|
|
61
|
+
title: string;
|
|
62
|
+
component: import("react").FC<import("./AssessmentBuilderPage.js").AssessmentBuilderPageProps>;
|
|
63
|
+
parameters: {
|
|
64
|
+
layout: string;
|
|
65
|
+
docs: {
|
|
66
|
+
description: {
|
|
67
|
+
component: string;
|
|
68
|
+
};
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
tags: string[];
|
|
72
|
+
args: {
|
|
73
|
+
onSave: import("@vitest/spy").Mock<(...args: any[]) => any>;
|
|
74
|
+
onProceedToMarksheets: import("@vitest/spy").Mock<(...args: any[]) => any>;
|
|
75
|
+
onNavigateToAssessments: import("@vitest/spy").Mock<(...args: any[]) => any>;
|
|
76
|
+
};
|
|
77
|
+
argTypes: {
|
|
78
|
+
assessmentName: {
|
|
79
|
+
control: "text";
|
|
80
|
+
description: string;
|
|
81
|
+
};
|
|
82
|
+
marksheetColumns: {
|
|
83
|
+
control: "object";
|
|
84
|
+
description: string;
|
|
85
|
+
};
|
|
86
|
+
onSave: {
|
|
87
|
+
description: string;
|
|
88
|
+
};
|
|
89
|
+
onProceedToMarksheets: {
|
|
90
|
+
description: string;
|
|
91
|
+
};
|
|
92
|
+
onNavigateToAssessments: {
|
|
93
|
+
description: string;
|
|
94
|
+
};
|
|
95
|
+
className: {
|
|
96
|
+
control: "text";
|
|
97
|
+
description: string;
|
|
98
|
+
};
|
|
99
|
+
};
|
|
100
|
+
};
|
|
101
|
+
export default meta;
|
|
102
|
+
type Story = StoryObj<typeof meta>;
|
|
103
|
+
/**
|
|
104
|
+
* The default state with a realistic set of marksheet columns.
|
|
105
|
+
*
|
|
106
|
+
* Oh, this is just lovely, hunni! You've got your three assessment periods
|
|
107
|
+
* (Autumn, Spring, Summer), each with three subjects (English Language,
|
|
108
|
+
* English Literature, and Maths). It reminds me of the time in St. Olaf
|
|
109
|
+
* when we organised the annual school assessment fair - we had three tents,
|
|
110
|
+
* each representing a term, and inside each tent were the different subject
|
|
111
|
+
* stations. It was so organised that even the tourists got involved!
|
|
112
|
+
*
|
|
113
|
+
* The table shows all groups fully expanded by default, so you can see
|
|
114
|
+
* every single column right away. Try clicking the dropdown cells to change
|
|
115
|
+
* the "Data Collection" or "Visibility" values. The inline text editor lets
|
|
116
|
+
* you rename any column - just click on a column name to edit it.
|
|
117
|
+
*
|
|
118
|
+
* Over in the sidebar, you can see all the available contextual columns
|
|
119
|
+
* organised into collapsible sections. The Demographics and Subjects sections
|
|
120
|
+
* use pill checkboxes (so nice and compact!), while the Student Identifier
|
|
121
|
+
* and Assessment Periods sections use traditional checkbox groups. Click
|
|
122
|
+
* "Proceed to Marksheets" when you are ready to move forward.
|
|
123
|
+
*/
|
|
124
|
+
export declare const Default: Story;
|
|
125
|
+
/**
|
|
126
|
+
* The empty state - no marksheet columns have been added yet.
|
|
127
|
+
*
|
|
128
|
+
* You know, this reminds me of the time in St. Olaf when we started building
|
|
129
|
+
* a brand new assessment system from scratch. The first day, we just had an
|
|
130
|
+
* empty table and a lot of hope. But oh my stars, hunni, by the end of the
|
|
131
|
+
* week we had filled it with the most beautiful hierarchical structure you
|
|
132
|
+
* ever did see!
|
|
133
|
+
*
|
|
134
|
+
* This story shows the page with no marksheet columns loaded yet - just the
|
|
135
|
+
* empty table waiting to be populated. The sidebar is still fully functional,
|
|
136
|
+
* so you can explore the available contextual columns and imagine what your
|
|
137
|
+
* assessment structure will look like once you start adding columns.
|
|
138
|
+
*
|
|
139
|
+
* Notice how the breadcrumbs, page heading, tabs, and sidebar all render
|
|
140
|
+
* perfectly even without any table data. The page is ready and waiting for
|
|
141
|
+
* you to start building!
|
|
142
|
+
*/
|
|
143
|
+
export declare const EmptyState: Story;
|
|
144
|
+
/**
|
|
145
|
+
* A more complex scenario with additional subjects and demographic columns.
|
|
146
|
+
*
|
|
147
|
+
* Oh my stars, this is like the time in St. Olaf when the school board decided
|
|
148
|
+
* to track EVERYTHING - not just the core subjects, but also demographics,
|
|
149
|
+
* student identifiers, effort grades, and even which students brought the best
|
|
150
|
+
* herring sandwiches to lunch (that last one might have been unofficial).
|
|
151
|
+
*
|
|
152
|
+
* This story shows a more realistic, complex assessment structure with:
|
|
153
|
+
* - A Demographics group containing Gender, Year Group, and UPN
|
|
154
|
+
* - Three full assessment periods (Autumn, Spring, Summer) with six subjects each
|
|
155
|
+
* - A Final Grades group with Overall Grade and Effort Grade
|
|
156
|
+
*
|
|
157
|
+
* All groups are expanded by default, so you can see the full tree structure
|
|
158
|
+
* at a glance. Try collapsing a few groups (click the group row name) to see
|
|
159
|
+
* how much more manageable the list becomes. Then expand them again to see
|
|
160
|
+
* all the beautiful detail.
|
|
161
|
+
*
|
|
162
|
+
* The sidebar lets you add even MORE columns - Demographics pills, Student
|
|
163
|
+
* Identifier checkboxes, Assessment Period checkboxes, and Subject pills.
|
|
164
|
+
* It is like a buffet of contextual columns, hunni!
|
|
165
|
+
*/
|
|
166
|
+
export declare const WithComplexData: Story;
|
|
167
|
+
/**
|
|
168
|
+
* A story with action callbacks wired up to Storybook actions.
|
|
169
|
+
*
|
|
170
|
+
* Back in St. Olaf, whenever something important happened - like finishing
|
|
171
|
+
* the assessment setup or clicking the Save button - we would ring the town
|
|
172
|
+
* bell so everyone knew. In Storybook, we use the Actions panel instead!
|
|
173
|
+
*
|
|
174
|
+
* This story demonstrates all the interactive callbacks on the page:
|
|
175
|
+
* - Click the "Assessments" breadcrumb link to trigger `onNavigateToAssessments`
|
|
176
|
+
* - Click "Proceed to Marksheets" in the sidebar to trigger `onProceedToMarksheets`
|
|
177
|
+
* - The `onSave` callback is available (though not currently wired to a visible button)
|
|
178
|
+
*
|
|
179
|
+
* Open the "Actions" panel at the bottom of Storybook to see each callback
|
|
180
|
+
* fire when you interact with the page. It is most excellent for testing
|
|
181
|
+
* integration with parent components or routing logic, hunni!
|
|
182
|
+
*/
|
|
183
|
+
export declare const WithCallbacks: Story;
|
|
184
|
+
//# sourceMappingURL=AssessmentBuilderPage.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AssessmentBuilderPage.stories.d.ts","sourceRoot":"","sources":["../../../src/pages/assessmentBuilderPage/AssessmentBuilderPage.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAK5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8CoC,CAAC;AAE/C,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAmHnC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,OAAO,EAAE,KAMrB,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,UAAU,EAAE,KAMxB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,eAAe,EAAE,KAM7B,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,aAAa,EAAE,KAM3B,CAAC"}
|
|
@@ -0,0 +1,317 @@
|
|
|
1
|
+
import { fn } from 'storybook/test';
|
|
2
|
+
import { AssessmentBuilderPage } from './AssessmentBuilderPage.js';
|
|
3
|
+
/**
|
|
4
|
+
* Well, picture it: St. Olaf, 1982.
|
|
5
|
+
*
|
|
6
|
+
* The school district needed to build a new system for tracking student assessments across
|
|
7
|
+
* all the different periods and subjects. Gunnar Gustafsson spent three weeks drawing
|
|
8
|
+
* columns on giant sheets of graph paper, organising them into groups by term (Autumn,
|
|
9
|
+
* Spring, Summer), and then trying to figure out who would collect which pieces of data -
|
|
10
|
+
* teachers, administrators, or the automatic tallying machine that counted lutefisk portions.
|
|
11
|
+
* It was exhausting work, but when it was done, oh my stars, it was beautiful! Every
|
|
12
|
+
* column was in its place, every subject was accounted for, and you could see the whole
|
|
13
|
+
* structure laid out like a magnificent hierarchical tree.
|
|
14
|
+
*
|
|
15
|
+
* The AssessmentBuilderPage is the digital version of Gunnar's graph paper masterpiece.
|
|
16
|
+
* It is a complex page for configuring assessment marksheet columns with a hierarchical,
|
|
17
|
+
* tree-based structure. Teachers and administrators can build out their assessment columns,
|
|
18
|
+
* organise them into groups (like assessment periods), configure who collects each piece
|
|
19
|
+
* of data, and control visibility settings - all in one place.
|
|
20
|
+
*
|
|
21
|
+
* **Features:**
|
|
22
|
+
* - Breadcrumb navigation showing "Assessments / Create New Assessment" with a copy link button
|
|
23
|
+
* - Inline-editable page heading (click the edit icon to rename the assessment)
|
|
24
|
+
* - Tab navigation to switch between "Build Mode" and "Preview" (preview is a placeholder)
|
|
25
|
+
* - Hierarchical Table (AG Grid) with tree data structure:
|
|
26
|
+
* - Parent rows (assessment period groups like "Autumn", "Spring", "Summer")
|
|
27
|
+
* - Child rows (individual subject columns like "English Language", "Maths")
|
|
28
|
+
* - Auto-expand all groups by default (`groupDefaultExpanded={-1}`)
|
|
29
|
+
* - Editable "Column Name" field via inline text editing
|
|
30
|
+
* - Dropdown cell editors for "Data Collection" (Teacher / Admin / Automatic)
|
|
31
|
+
* - Dropdown cell editors for "Visibility" (Auto-visibility / Visible / Hidden)
|
|
32
|
+
* - Undo button in each row to revert changes
|
|
33
|
+
* - Multi-row selection with checkbox column
|
|
34
|
+
* - Contextual sidebar for selecting which columns to add:
|
|
35
|
+
* - SearchBar for filtering available columns
|
|
36
|
+
* - Filter dropdown (All Columns / Selected Only / Unselected Only)
|
|
37
|
+
* - Collapsible sections: Demographics, Student Identifier, Assessment Periods, Subjects
|
|
38
|
+
* - Pill checkboxes for Demographics and Subjects (with "See more" buttons)
|
|
39
|
+
* - CheckboxGroup for Student Identifier and Assessment Periods
|
|
40
|
+
* - "Proceed to Marksheets" primary action button at the bottom
|
|
41
|
+
*
|
|
42
|
+
* **Build Mode vs Preview:**
|
|
43
|
+
* - Build Mode (default tab): shows the full marksheet columns table and sidebar
|
|
44
|
+
* - Preview: placeholder content ("Preview mode - coming soon")
|
|
45
|
+
*
|
|
46
|
+
* **Accessibility:**
|
|
47
|
+
* - Breadcrumb uses `<nav aria-label="Breadcrumb">` for clear navigation context
|
|
48
|
+
* - Heading is editable via a button with `iconLeftScreenReaderText="Edit assessment name"`
|
|
49
|
+
* - Tabs are keyboard-navigable and ARIA-compliant via the Tabs component
|
|
50
|
+
* - Table uses AG Grid's built-in accessibility features (keyboard navigation, screen reader support)
|
|
51
|
+
* - Sidebar sections are collapsible via the Section component's accessible toggle buttons
|
|
52
|
+
* - SearchBar has proper labelling via placeholder text
|
|
53
|
+
*
|
|
54
|
+
* **Usage:**
|
|
55
|
+
* This is a PAGE component, not a library component - it demonstrates how to compose
|
|
56
|
+
* multiple Arbor design system components (Button, Heading, Tabs, Section, Table, Pill,
|
|
57
|
+
* SearchBar, CheckboxGroup, Dropdown) into a complete application page. It is part of
|
|
58
|
+
* the KS4 Assessment Builder workflow, typically reached from the AssessmentsPage after
|
|
59
|
+
* clicking "Create New Assessment".
|
|
60
|
+
*/
|
|
61
|
+
const meta = {
|
|
62
|
+
title: 'Pages/AssessmentBuilderPage',
|
|
63
|
+
component: AssessmentBuilderPage,
|
|
64
|
+
parameters: {
|
|
65
|
+
layout: 'fullscreen',
|
|
66
|
+
docs: {
|
|
67
|
+
description: {
|
|
68
|
+
component: 'The Assessment Builder page for configuring marksheet columns. Features a hierarchical table (tree data with parent/child rows), inline editing, dropdown cell editors, and a contextual sidebar for selecting which columns to include. Back in St. Olaf, Gunnar did this with graph paper and a protractor - we do it with AG Grid and a whole lot of love.',
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
},
|
|
72
|
+
tags: ['autodocs'],
|
|
73
|
+
args: {
|
|
74
|
+
onSave: fn(),
|
|
75
|
+
onProceedToMarksheets: fn(),
|
|
76
|
+
onNavigateToAssessments: fn(),
|
|
77
|
+
},
|
|
78
|
+
argTypes: {
|
|
79
|
+
assessmentName: {
|
|
80
|
+
control: 'text',
|
|
81
|
+
description: 'The name of the assessment being built. Displayed in the page heading and editable via the inline edit button.',
|
|
82
|
+
},
|
|
83
|
+
marksheetColumns: {
|
|
84
|
+
control: 'object',
|
|
85
|
+
description: 'The hierarchical list of marksheet columns. Each column can have child columns (via the children array), forming a tree structure. Parent rows typically represent assessment periods (Autumn, Spring, Summer), and child rows represent individual subjects or data points.',
|
|
86
|
+
},
|
|
87
|
+
onSave: {
|
|
88
|
+
description: 'Called when the user saves the assessment. (Currently not wired to a visible Save button, but available for future use.)',
|
|
89
|
+
},
|
|
90
|
+
onProceedToMarksheets: {
|
|
91
|
+
description: 'Called when the "Proceed to Marksheets" button in the sidebar is clicked. This typically navigates the user to the marksheet data entry screen.',
|
|
92
|
+
},
|
|
93
|
+
onNavigateToAssessments: {
|
|
94
|
+
description: 'Called when the "Assessments" breadcrumb link is clicked. This typically navigates back to the AssessmentsPage (the assessments list homepage).',
|
|
95
|
+
},
|
|
96
|
+
className: {
|
|
97
|
+
control: 'text',
|
|
98
|
+
description: 'Optional additional CSS class name(s) to apply to the page root element.',
|
|
99
|
+
},
|
|
100
|
+
},
|
|
101
|
+
};
|
|
102
|
+
export default meta;
|
|
103
|
+
// ---------------------------------------------------------------------------
|
|
104
|
+
// Shared data fixtures - just like St. Olaf's finest assessment records
|
|
105
|
+
// ---------------------------------------------------------------------------
|
|
106
|
+
/**
|
|
107
|
+
* A realistic set of marksheet columns with three assessment periods,
|
|
108
|
+
* each containing three subject columns.
|
|
109
|
+
*/
|
|
110
|
+
const sampleMarksheetColumns = [
|
|
111
|
+
{
|
|
112
|
+
id: 1,
|
|
113
|
+
name: 'Student Name',
|
|
114
|
+
dataCollection: undefined,
|
|
115
|
+
visibility: 'show',
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
id: 2,
|
|
119
|
+
name: 'Autumn',
|
|
120
|
+
children: [
|
|
121
|
+
{ id: 3, name: 'English Language', dataCollection: 'teacher', visibility: 'auto-visible' },
|
|
122
|
+
{ id: 4, name: 'English Literature', dataCollection: 'admin', visibility: 'auto-visible' },
|
|
123
|
+
{ id: 5, name: 'Maths', dataCollection: 'teacher', visibility: 'auto-visible' },
|
|
124
|
+
],
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
id: 6,
|
|
128
|
+
name: 'Spring',
|
|
129
|
+
children: [
|
|
130
|
+
{ id: 7, name: 'English Language', dataCollection: 'teacher', visibility: 'auto-visible' },
|
|
131
|
+
{ id: 8, name: 'English Literature', dataCollection: 'admin', visibility: 'auto-visible' },
|
|
132
|
+
{ id: 9, name: 'Maths', dataCollection: 'teacher', visibility: 'auto-visible' },
|
|
133
|
+
],
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
id: 10,
|
|
137
|
+
name: 'Summer',
|
|
138
|
+
children: [
|
|
139
|
+
{ id: 11, name: 'English Language', dataCollection: 'teacher', visibility: 'auto-visible' },
|
|
140
|
+
{ id: 12, name: 'English Literature', dataCollection: 'admin', visibility: 'auto-visible' },
|
|
141
|
+
{ id: 13, name: 'Maths', dataCollection: 'automatic', visibility: 'hidden' },
|
|
142
|
+
],
|
|
143
|
+
},
|
|
144
|
+
];
|
|
145
|
+
/**
|
|
146
|
+
* A larger, more complex dataset with additional subjects and assessment periods.
|
|
147
|
+
*/
|
|
148
|
+
const complexMarksheetColumns = [
|
|
149
|
+
{
|
|
150
|
+
id: 1,
|
|
151
|
+
name: 'Student Name',
|
|
152
|
+
dataCollection: undefined,
|
|
153
|
+
visibility: 'show',
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
id: 2,
|
|
157
|
+
name: 'Demographics',
|
|
158
|
+
children: [
|
|
159
|
+
{ id: 3, name: 'Gender', dataCollection: 'automatic', visibility: 'visible' },
|
|
160
|
+
{ id: 4, name: 'Year Group', dataCollection: 'automatic', visibility: 'visible' },
|
|
161
|
+
{ id: 5, name: 'UPN', dataCollection: 'automatic', visibility: 'auto-visible' },
|
|
162
|
+
],
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
id: 6,
|
|
166
|
+
name: 'Autumn Term',
|
|
167
|
+
children: [
|
|
168
|
+
{ id: 7, name: 'English Language', dataCollection: 'teacher', visibility: 'auto-visible' },
|
|
169
|
+
{ id: 8, name: 'English Literature', dataCollection: 'teacher', visibility: 'auto-visible' },
|
|
170
|
+
{ id: 9, name: 'Maths', dataCollection: 'teacher', visibility: 'auto-visible' },
|
|
171
|
+
{ id: 10, name: 'Science', dataCollection: 'teacher', visibility: 'auto-visible' },
|
|
172
|
+
{ id: 11, name: 'History', dataCollection: 'admin', visibility: 'auto-visible' },
|
|
173
|
+
{ id: 12, name: 'Geography', dataCollection: 'admin', visibility: 'hidden' },
|
|
174
|
+
],
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
id: 13,
|
|
178
|
+
name: 'Spring Term',
|
|
179
|
+
children: [
|
|
180
|
+
{ id: 14, name: 'English Language', dataCollection: 'teacher', visibility: 'auto-visible' },
|
|
181
|
+
{ id: 15, name: 'English Literature', dataCollection: 'teacher', visibility: 'auto-visible' },
|
|
182
|
+
{ id: 16, name: 'Maths', dataCollection: 'teacher', visibility: 'auto-visible' },
|
|
183
|
+
{ id: 17, name: 'Science', dataCollection: 'teacher', visibility: 'auto-visible' },
|
|
184
|
+
{ id: 18, name: 'History', dataCollection: 'admin', visibility: 'auto-visible' },
|
|
185
|
+
{ id: 19, name: 'Geography', dataCollection: 'admin', visibility: 'hidden' },
|
|
186
|
+
],
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
id: 20,
|
|
190
|
+
name: 'Summer Term',
|
|
191
|
+
children: [
|
|
192
|
+
{ id: 21, name: 'English Language', dataCollection: 'teacher', visibility: 'auto-visible' },
|
|
193
|
+
{ id: 22, name: 'English Literature', dataCollection: 'teacher', visibility: 'auto-visible' },
|
|
194
|
+
{ id: 23, name: 'Maths', dataCollection: 'teacher', visibility: 'auto-visible' },
|
|
195
|
+
{ id: 24, name: 'Science', dataCollection: 'teacher', visibility: 'auto-visible' },
|
|
196
|
+
{ id: 25, name: 'History', dataCollection: 'admin', visibility: 'auto-visible' },
|
|
197
|
+
{ id: 26, name: 'Geography', dataCollection: 'automatic', visibility: 'hidden' },
|
|
198
|
+
],
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
id: 27,
|
|
202
|
+
name: 'Final Grades',
|
|
203
|
+
children: [
|
|
204
|
+
{ id: 28, name: 'Overall Grade', dataCollection: 'automatic', visibility: 'visible' },
|
|
205
|
+
{ id: 29, name: 'Effort Grade', dataCollection: 'teacher', visibility: 'visible' },
|
|
206
|
+
],
|
|
207
|
+
},
|
|
208
|
+
];
|
|
209
|
+
// ---------------------------------------------------------------------------
|
|
210
|
+
// Stories
|
|
211
|
+
// ---------------------------------------------------------------------------
|
|
212
|
+
/**
|
|
213
|
+
* The default state with a realistic set of marksheet columns.
|
|
214
|
+
*
|
|
215
|
+
* Oh, this is just lovely, hunni! You've got your three assessment periods
|
|
216
|
+
* (Autumn, Spring, Summer), each with three subjects (English Language,
|
|
217
|
+
* English Literature, and Maths). It reminds me of the time in St. Olaf
|
|
218
|
+
* when we organised the annual school assessment fair - we had three tents,
|
|
219
|
+
* each representing a term, and inside each tent were the different subject
|
|
220
|
+
* stations. It was so organised that even the tourists got involved!
|
|
221
|
+
*
|
|
222
|
+
* The table shows all groups fully expanded by default, so you can see
|
|
223
|
+
* every single column right away. Try clicking the dropdown cells to change
|
|
224
|
+
* the "Data Collection" or "Visibility" values. The inline text editor lets
|
|
225
|
+
* you rename any column - just click on a column name to edit it.
|
|
226
|
+
*
|
|
227
|
+
* Over in the sidebar, you can see all the available contextual columns
|
|
228
|
+
* organised into collapsible sections. The Demographics and Subjects sections
|
|
229
|
+
* use pill checkboxes (so nice and compact!), while the Student Identifier
|
|
230
|
+
* and Assessment Periods sections use traditional checkbox groups. Click
|
|
231
|
+
* "Proceed to Marksheets" when you are ready to move forward.
|
|
232
|
+
*/
|
|
233
|
+
export const Default = {
|
|
234
|
+
name: 'Default (With Sample Data)',
|
|
235
|
+
args: {
|
|
236
|
+
assessmentName: 'KS4 Assessment 2025/26',
|
|
237
|
+
marksheetColumns: sampleMarksheetColumns,
|
|
238
|
+
},
|
|
239
|
+
};
|
|
240
|
+
/**
|
|
241
|
+
* The empty state - no marksheet columns have been added yet.
|
|
242
|
+
*
|
|
243
|
+
* You know, this reminds me of the time in St. Olaf when we started building
|
|
244
|
+
* a brand new assessment system from scratch. The first day, we just had an
|
|
245
|
+
* empty table and a lot of hope. But oh my stars, hunni, by the end of the
|
|
246
|
+
* week we had filled it with the most beautiful hierarchical structure you
|
|
247
|
+
* ever did see!
|
|
248
|
+
*
|
|
249
|
+
* This story shows the page with no marksheet columns loaded yet - just the
|
|
250
|
+
* empty table waiting to be populated. The sidebar is still fully functional,
|
|
251
|
+
* so you can explore the available contextual columns and imagine what your
|
|
252
|
+
* assessment structure will look like once you start adding columns.
|
|
253
|
+
*
|
|
254
|
+
* Notice how the breadcrumbs, page heading, tabs, and sidebar all render
|
|
255
|
+
* perfectly even without any table data. The page is ready and waiting for
|
|
256
|
+
* you to start building!
|
|
257
|
+
*/
|
|
258
|
+
export const EmptyState = {
|
|
259
|
+
name: 'Empty State (No Columns)',
|
|
260
|
+
args: {
|
|
261
|
+
assessmentName: 'New Assessment',
|
|
262
|
+
marksheetColumns: [],
|
|
263
|
+
},
|
|
264
|
+
};
|
|
265
|
+
/**
|
|
266
|
+
* A more complex scenario with additional subjects and demographic columns.
|
|
267
|
+
*
|
|
268
|
+
* Oh my stars, this is like the time in St. Olaf when the school board decided
|
|
269
|
+
* to track EVERYTHING - not just the core subjects, but also demographics,
|
|
270
|
+
* student identifiers, effort grades, and even which students brought the best
|
|
271
|
+
* herring sandwiches to lunch (that last one might have been unofficial).
|
|
272
|
+
*
|
|
273
|
+
* This story shows a more realistic, complex assessment structure with:
|
|
274
|
+
* - A Demographics group containing Gender, Year Group, and UPN
|
|
275
|
+
* - Three full assessment periods (Autumn, Spring, Summer) with six subjects each
|
|
276
|
+
* - A Final Grades group with Overall Grade and Effort Grade
|
|
277
|
+
*
|
|
278
|
+
* All groups are expanded by default, so you can see the full tree structure
|
|
279
|
+
* at a glance. Try collapsing a few groups (click the group row name) to see
|
|
280
|
+
* how much more manageable the list becomes. Then expand them again to see
|
|
281
|
+
* all the beautiful detail.
|
|
282
|
+
*
|
|
283
|
+
* The sidebar lets you add even MORE columns - Demographics pills, Student
|
|
284
|
+
* Identifier checkboxes, Assessment Period checkboxes, and Subject pills.
|
|
285
|
+
* It is like a buffet of contextual columns, hunni!
|
|
286
|
+
*/
|
|
287
|
+
export const WithComplexData = {
|
|
288
|
+
name: 'Complex Data (Multiple Periods & Subjects)',
|
|
289
|
+
args: {
|
|
290
|
+
assessmentName: 'KS4 Full Year Assessment 2025/26',
|
|
291
|
+
marksheetColumns: complexMarksheetColumns,
|
|
292
|
+
},
|
|
293
|
+
};
|
|
294
|
+
/**
|
|
295
|
+
* A story with action callbacks wired up to Storybook actions.
|
|
296
|
+
*
|
|
297
|
+
* Back in St. Olaf, whenever something important happened - like finishing
|
|
298
|
+
* the assessment setup or clicking the Save button - we would ring the town
|
|
299
|
+
* bell so everyone knew. In Storybook, we use the Actions panel instead!
|
|
300
|
+
*
|
|
301
|
+
* This story demonstrates all the interactive callbacks on the page:
|
|
302
|
+
* - Click the "Assessments" breadcrumb link to trigger `onNavigateToAssessments`
|
|
303
|
+
* - Click "Proceed to Marksheets" in the sidebar to trigger `onProceedToMarksheets`
|
|
304
|
+
* - The `onSave` callback is available (though not currently wired to a visible button)
|
|
305
|
+
*
|
|
306
|
+
* Open the "Actions" panel at the bottom of Storybook to see each callback
|
|
307
|
+
* fire when you interact with the page. It is most excellent for testing
|
|
308
|
+
* integration with parent components or routing logic, hunni!
|
|
309
|
+
*/
|
|
310
|
+
export const WithCallbacks = {
|
|
311
|
+
name: 'With Action Callbacks',
|
|
312
|
+
args: {
|
|
313
|
+
assessmentName: 'Interactive Assessment Example',
|
|
314
|
+
marksheetColumns: sampleMarksheetColumns,
|
|
315
|
+
},
|
|
316
|
+
};
|
|
317
|
+
//# sourceMappingURL=AssessmentBuilderPage.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AssessmentBuilderPage.stories.js","sourceRoot":"","sources":["../../../src/pages/assessmentBuilderPage/AssessmentBuilderPage.stories.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAGhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,MAAM,IAAI,GAAG;IACX,KAAK,EAAE,6BAA6B;IACpC,SAAS,EAAE,qBAAqB;IAChC,UAAU,EAAE;QACV,MAAM,EAAE,YAAY;QACpB,IAAI,EAAE;YACJ,WAAW,EAAE;gBACX,SAAS,EACP,+VAA+V;aAClW;SACF;KACF;IACD,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,IAAI,EAAE;QACJ,MAAM,EAAE,EAAE,EAAE;QACZ,qBAAqB,EAAE,EAAE,EAAE;QAC3B,uBAAuB,EAAE,EAAE,EAAE;KAC9B;IACD,QAAQ,EAAE;QACR,cAAc,EAAE;YACd,OAAO,EAAE,MAAM;YACf,WAAW,EACT,gHAAgH;SACnH;QACD,gBAAgB,EAAE;YAChB,OAAO,EAAE,QAAQ;YACjB,WAAW,EACT,8QAA8Q;SACjR;QACD,MAAM,EAAE;YACN,WAAW,EACT,0HAA0H;SAC7H;QACD,qBAAqB,EAAE;YACrB,WAAW,EACT,iJAAiJ;SACpJ;QACD,uBAAuB,EAAE;YACvB,WAAW,EACT,iJAAiJ;SACpJ;QACD,SAAS,EAAE;YACT,OAAO,EAAE,MAAM;YACf,WAAW,EAAE,0EAA0E;SACxF;KACF;CAC2C,CAAC;AAE/C,eAAe,IAAI,CAAC;AAGpB,8EAA8E;AAC9E,wEAAwE;AACxE,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,sBAAsB,GAAsB;IAChD;QACE,EAAE,EAAE,CAAC;QACL,IAAI,EAAE,cAAc;QACpB,cAAc,EAAE,SAAS;QACzB,UAAU,EAAE,MAAM;KACnB;IACD;QACE,EAAE,EAAE,CAAC;QACL,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE;YACR,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE;YAC1F,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE;YAC1F,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE;SAChF;KACF;IACD;QACE,EAAE,EAAE,CAAC;QACL,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE;YACR,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE;YAC1F,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE;YAC1F,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE;SAChF;KACF;IACD;QACE,EAAE,EAAE,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE;YACR,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE;YAC3F,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE;YAC3F,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE;SAC7E;KACF;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,uBAAuB,GAAsB;IACjD;QACE,EAAE,EAAE,CAAC;QACL,IAAI,EAAE,cAAc;QACpB,cAAc,EAAE,SAAS;QACzB,UAAU,EAAE,MAAM;KACnB;IACD;QACE,EAAE,EAAE,CAAC;QACL,IAAI,EAAE,cAAc;QACpB,QAAQ,EAAE;YACR,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE;YAC7E,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE;YACjF,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE;SAChF;KACF;IACD;QACE,EAAE,EAAE,CAAC;QACL,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAE;YACR,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE;YAC1F,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE;YAC5F,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE;YAC/E,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE;YAClF,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE;YAChF,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE;SAC7E;KACF;IACD;QACE,EAAE,EAAE,EAAE;QACN,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAE;YACR,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE;YAC3F,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE;YAC7F,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE;YAChF,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE;YAClF,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE;YAChF,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE;SAC7E;KACF;IACD;QACE,EAAE,EAAE,EAAE;QACN,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAE;YACR,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE;YAC3F,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE;YAC7F,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE;YAChF,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE;YAClF,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE;YAChF,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE;SACjF;KACF;IACD;QACE,EAAE,EAAE,EAAE;QACN,IAAI,EAAE,cAAc;QACpB,QAAQ,EAAE;YACR,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE;YACrF,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE;SACnF;KACF;CACF,CAAC;AAEF,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,OAAO,GAAU;IAC5B,IAAI,EAAE,4BAA4B;IAClC,IAAI,EAAE;QACJ,cAAc,EAAE,wBAAwB;QACxC,gBAAgB,EAAE,sBAAsB;KACzC;CACF,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,UAAU,GAAU;IAC/B,IAAI,EAAE,0BAA0B;IAChC,IAAI,EAAE;QACJ,cAAc,EAAE,gBAAgB;QAChC,gBAAgB,EAAE,EAAE;KACrB;CACF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,eAAe,GAAU;IACpC,IAAI,EAAE,4CAA4C;IAClD,IAAI,EAAE;QACJ,cAAc,EAAE,kCAAkC;QAClD,gBAAgB,EAAE,uBAAuB;KAC1C;CACF,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,aAAa,GAAU;IAClC,IAAI,EAAE,uBAAuB;IAC7B,IAAI,EAAE;QACJ,cAAc,EAAE,gCAAgC;QAChD,gBAAgB,EAAE,sBAAsB;KACzC;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AssessmentBuilderPage.test.d.ts","sourceRoot":"","sources":["../../../src/pages/assessmentBuilderPage/AssessmentBuilderPage.test.tsx"],"names":[],"mappings":"AAGA,OAAO,kCAAkC,CAAC"}
|