@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,52 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import classnames from 'classnames';
|
|
3
|
+
import { Button } from '../../components/button/Button.js';
|
|
4
|
+
import { Dropdown } from '../../components/dropdown/Dropdown.js';
|
|
5
|
+
import { Section } from '../../components/section/Section.js';
|
|
6
|
+
import { Separator } from '../../components/separator/Separator.js';
|
|
7
|
+
import { Tag } from '../../components/tag/Tag.js';
|
|
8
|
+
import { Table } from '../../components/table/Table.js';
|
|
9
|
+
import { TooltipWrapper } from '../../components/tooltip/TooltipWrapper.js';
|
|
10
|
+
const EDUCATION_HISTORY_COLUMNS = [
|
|
11
|
+
{ field: 'dateRange', headerName: 'Date Range', flex: 1 },
|
|
12
|
+
{ field: 'institution', headerName: 'Institution', flex: 2 },
|
|
13
|
+
{ field: 'type', headerName: 'Type', flex: 1 },
|
|
14
|
+
];
|
|
15
|
+
const MOCK_EDUCATION_HISTORY = [
|
|
16
|
+
{
|
|
17
|
+
id: '1',
|
|
18
|
+
dateRange: '01 Sep 2018 - ongoing',
|
|
19
|
+
institution: 'Sunnyville School of Product Management',
|
|
20
|
+
type: 'School',
|
|
21
|
+
},
|
|
22
|
+
];
|
|
23
|
+
/**
|
|
24
|
+
* StudentProfilePage
|
|
25
|
+
*
|
|
26
|
+
* A page composed from existing Arbor design system components to match
|
|
27
|
+
* the Student Profile Figma design (node 551:41974).
|
|
28
|
+
*
|
|
29
|
+
* Generated from: https://www.figma.com/design/UKQfcxnT4rlHHNuiumt4o1/Arbor-Design-System?node-id=551-41974
|
|
30
|
+
*
|
|
31
|
+
* Components used:
|
|
32
|
+
* - Button (primary, secondary, tertiary, dropdown variants)
|
|
33
|
+
* - Section (all content panels)
|
|
34
|
+
* - Tag (student categorisation labels)
|
|
35
|
+
* - Dropdown (section filter, action menus)
|
|
36
|
+
* - Table (education history)
|
|
37
|
+
* - TooltipWrapper (parental engagement help)
|
|
38
|
+
* - Separator (dividers between sections)
|
|
39
|
+
*
|
|
40
|
+
* Placeholder SVGs used (missing components):
|
|
41
|
+
* - TopNav — no AppHeader component in library yet
|
|
42
|
+
* - SideNavIcons — no SideNav component in library yet
|
|
43
|
+
* - SideNavText — no SideNav component in library yet
|
|
44
|
+
* - Breadcrumbs — no Breadcrumbs component in library yet
|
|
45
|
+
* - Avatar — no Avatar component in library yet
|
|
46
|
+
* - CalendarWidget — no WeeklySchedule component in library yet
|
|
47
|
+
*/
|
|
48
|
+
export const StudentProfilePage = ({ className, onSuggestSummary, onAddIdentity, onAddContactDetails, onAddFamily, onAddLegal, onAddParentalEngagement, onAddEducationHistory, onPreviousStudent, onNextStudent, onRecordPlannedAbsence, educationHistory = MOCK_EDUCATION_HISTORY, }) => {
|
|
49
|
+
return (_jsxs("div", { className: classnames('ds-student-profile-page', className), children: [_jsxs("svg", { role: "img", "aria-label": "TopNav placeholder - component not yet available in design system", width: "100%", height: "48", xmlns: "http://www.w3.org/2000/svg", className: "ds-student-profile-page__placeholder", children: [_jsx("rect", { width: "100%", height: "100%", fill: "#1a1a2e", rx: "0" }), _jsx("text", { x: "50%", y: "55%", textAnchor: "middle", dominantBaseline: "middle", fill: "#aaaaaa", fontSize: "12", fontFamily: "sans-serif", fontWeight: "600", children: "TopNav / AppHeader" }), _jsx("text", { x: "50%", y: "80%", textAnchor: "middle", dominantBaseline: "middle", fill: "#666666", fontSize: "10", fontFamily: "sans-serif", children: "Component not yet available in design system" })] }), _jsxs("div", { className: "ds-student-profile-page__body", children: [_jsxs("svg", { role: "img", "aria-label": "SideNav icon variant placeholder - component not yet available in design system", width: "58", height: "100%", xmlns: "http://www.w3.org/2000/svg", className: "ds-student-profile-page__placeholder ds-student-profile-page__side-nav-icons", children: [_jsx("rect", { width: "100%", height: "100%", fill: "#f0f0f0" }), _jsx("text", { x: "50%", y: "50%", textAnchor: "middle", dominantBaseline: "middle", fill: "#888888", fontSize: "9", fontFamily: "sans-serif", fontWeight: "600", transform: "rotate(-90, 29, 200)", children: "SideNav (icons)" })] }), _jsxs("svg", { role: "img", "aria-label": "SideNav text variant placeholder - component not yet available in design system", width: "232", height: "100%", xmlns: "http://www.w3.org/2000/svg", className: "ds-student-profile-page__placeholder ds-student-profile-page__side-nav-text", children: [_jsx("rect", { width: "100%", height: "100%", fill: "#f8f8f8" }), _jsx("text", { x: "50%", y: "50%", textAnchor: "middle", dominantBaseline: "middle", fill: "#888888", fontSize: "11", fontFamily: "sans-serif", fontWeight: "600", transform: "rotate(-90, 116, 300)", children: "SideNav (text)" })] }), _jsxs("div", { className: "ds-student-profile-page__main-area", children: [_jsxs("main", { className: "ds-student-profile-page__content", children: [_jsxs("svg", { role: "img", "aria-label": "Breadcrumbs placeholder - component not yet available in design system", width: "100%", height: "24", xmlns: "http://www.w3.org/2000/svg", className: "ds-student-profile-page__placeholder", children: [_jsx("rect", { width: "100%", height: "100%", fill: "#f5f5f5", rx: "2" }), _jsx("rect", { x: "1", y: "1", width: "calc(100% - 2px)", height: "22", fill: "none", stroke: "#cccccc", strokeWidth: "1", strokeDasharray: "6 3", rx: "2" }), _jsx("text", { x: "16", y: "55%", dominantBaseline: "middle", fill: "#888888", fontSize: "11", fontFamily: "sans-serif", children: "All Students > Browse Students > Christopher Longbottom > Student Profile" }), _jsx("text", { x: "98%", y: "55%", textAnchor: "end", dominantBaseline: "middle", fill: "#aaaaaa", fontSize: "10", fontFamily: "sans-serif", children: "Breadcrumbs (missing)" })] }), _jsxs("div", { className: "ds-student-profile-page__page-heading", children: [_jsxs("svg", { role: "img", "aria-label": "Avatar placeholder - component not yet available in design system", width: "40", height: "40", xmlns: "http://www.w3.org/2000/svg", className: "ds-student-profile-page__placeholder ds-student-profile-page__avatar", children: [_jsx("circle", { cx: "20", cy: "20", r: "19", fill: "#e8e8e8", stroke: "#cccccc", strokeWidth: "1", strokeDasharray: "4 2" }), _jsx("text", { x: "50%", y: "55%", textAnchor: "middle", dominantBaseline: "middle", fill: "#888888", fontSize: "10", fontFamily: "sans-serif", fontWeight: "600", children: "CL" })] }), _jsx("h1", { className: "ds-student-profile-page__title", children: "Student Profile" }), _jsx(Button, { variant: "primary", size: "S", onClick: onSuggestSummary, className: "ds-student-profile-page__suggest-btn", children: "Suggest Student Summary" })] }), _jsx(Separator, {}), _jsx(Section, { title: "Christopher Longbottom", headingLevel: 2, className: "ds-student-profile-page__info-panel", children: _jsxs("dl", { className: "ds-student-profile-page__dl", children: [_jsxs("div", { className: "ds-student-profile-page__dl-row", children: [_jsx("dt", { className: "ds-student-profile-page__dl-label", children: "Label Text" }), _jsx("dd", { className: "ds-student-profile-page__dl-value", children: "TBD" })] }), _jsxs("div", { className: "ds-student-profile-page__dl-row", children: [_jsx("dt", { className: "ds-student-profile-page__dl-label", children: "Label Text" }), _jsx("dd", { className: "ds-student-profile-page__dl-value", children: "Year 7" })] }), _jsxs("div", { className: "ds-student-profile-page__dl-row", children: [_jsx("dt", { className: "ds-student-profile-page__dl-label", children: "Label Text" }), _jsx("dd", { className: "ds-student-profile-page__dl-value", children: "Whartons" })] }), _jsxs("div", { className: "ds-student-profile-page__dl-row", children: [_jsx("dt", { className: "ds-student-profile-page__dl-label", children: "Label Text" }), _jsx("dd", { className: "ds-student-profile-page__dl-value", children: "15 Nov 2012 (12y 5m)" })] }), _jsxs("div", { className: "ds-student-profile-page__dl-row", children: [_jsx("dt", { className: "ds-student-profile-page__dl-label", children: "Label Text" }), _jsx("dd", { className: "ds-student-profile-page__dl-value", children: "Cassandra Longbottom" })] }), _jsxs("div", { className: "ds-student-profile-page__dl-row ds-student-profile-page__dl-row--tags", children: [_jsx("dt", { className: "ds-student-profile-page__dl-label", children: "Label Text" }), _jsx("dd", { className: "ds-student-profile-page__dl-value", children: _jsxs("div", { className: "ds-student-profile-page__tags", children: [_jsx(Tag, { text: "Tag Content", color: "blue" }), _jsx(Tag, { text: "Disadvantaged", color: "orange" }), _jsx(Tag, { text: "FSM", color: "green" }), _jsx(Tag, { text: "Pupil Premium Eligible", color: "purple" }), _jsx(Tag, { text: "EAL", color: "teal" }), _jsx(Tag, { text: "Service Child", color: "yellow" }), _jsx(Tag, { text: "Has Medical Condition", color: "salmon" })] }) })] })] }) }), _jsx(Separator, {}), _jsx("div", { className: "ds-student-profile-page__filter-bar", children: _jsxs(Dropdown, { children: [_jsx(Dropdown.Trigger, { children: _jsx(Button, { variant: "dropdown", size: "S", children: "All Sections" }) }), _jsxs(Dropdown.Content, { children: [_jsx(Dropdown.Item, { children: "Identity" }), _jsx(Dropdown.Item, { children: "Student Contact Details" }), _jsx(Dropdown.Item, { children: "Family, Guardians and Contacts" }), _jsx(Dropdown.Item, { children: "Legal" }), _jsx(Dropdown.Item, { children: "Parental Engagement" }), _jsx(Dropdown.Item, { children: "Education & Employment Status History" }), _jsx(Dropdown.Item, { children: "Admin Functions" })] })] }) }), _jsx(Section, { title: "Pinned Items", headingLevel: 2, className: "ds-student-profile-page__pinned-section", children: _jsxs("dl", { className: "ds-student-profile-page__dl", children: [_jsxs("div", { className: "ds-student-profile-page__dl-row", children: [_jsx("dt", { className: "ds-student-profile-page__dl-label", children: "Individual Education Plan" }), _jsx("dd", { className: "ds-student-profile-page__dl-value", children: "IEP 25/27" })] }), _jsxs("div", { className: "ds-student-profile-page__dl-row", children: [_jsx("dt", { className: "ds-student-profile-page__dl-label", children: "Medical Condition" }), _jsx("dd", { className: "ds-student-profile-page__dl-value", children: "Asthma" })] }), _jsxs("div", { className: "ds-student-profile-page__dl-row", children: [_jsx("dt", { className: "ds-student-profile-page__dl-label", children: "SEM note" }), _jsx("dd", { className: "ds-student-profile-page__dl-value", children: "S & L Profile Completed" })] })] }) }), _jsx(Separator, {}), _jsx(Section, { title: "Identity", headingLevel: 2, buttonText: "+ Add", buttonOnClick: onAddIdentity, buttonVariant: "tertiary", buttonSize: "S", children: _jsxs("dl", { className: "ds-student-profile-page__dl", children: [_jsxs("div", { className: "ds-student-profile-page__dl-row", children: [_jsx("dt", { className: "ds-student-profile-page__dl-label", children: "Name" }), _jsx("dd", { className: "ds-student-profile-page__dl-value", children: "Christopher Longbottom" })] }), _jsxs("div", { className: "ds-student-profile-page__dl-row", children: [_jsx("dt", { className: "ds-student-profile-page__dl-label", children: "Sex" }), _jsx("dd", { className: "ds-student-profile-page__dl-value", children: "Male" })] }), _jsxs("div", { className: "ds-student-profile-page__dl-row", children: [_jsx("dt", { className: "ds-student-profile-page__dl-label", children: "Gender Identity" }), _jsx("dd", { className: "ds-student-profile-page__dl-value", children: "Not specified" })] }), _jsxs("div", { className: "ds-student-profile-page__dl-row", children: [_jsx("dt", { className: "ds-student-profile-page__dl-label", children: "Date of Birth" }), _jsx("dd", { className: "ds-student-profile-page__dl-value", children: "12 Nov 2013" })] }), _jsxs("div", { className: "ds-student-profile-page__dl-row", children: [_jsx("dt", { className: "ds-student-profile-page__dl-label", children: "Nationality" }), _jsx("dd", { className: "ds-student-profile-page__dl-value", children: "United Kingdom (Citizen)" })] }), _jsxs("div", { className: "ds-student-profile-page__dl-row", children: [_jsx("dt", { className: "ds-student-profile-page__dl-label", children: "Religion" }), _jsx("dd", { className: "ds-student-profile-page__dl-value", children: "Atheist" })] }), _jsxs("div", { className: "ds-student-profile-page__dl-row", children: [_jsx("dt", { className: "ds-student-profile-page__dl-label", children: "Arbor Student ID" }), _jsx("dd", { className: "ds-student-profile-page__dl-value", children: "751" })] }), _jsxs("div", { className: "ds-student-profile-page__dl-row", children: [_jsx("dt", { className: "ds-student-profile-page__dl-label", children: "Student Number" }), _jsx("dd", { className: "ds-student-profile-page__dl-value", children: "307" })] }), _jsxs("div", { className: "ds-student-profile-page__dl-row", children: [_jsx("dt", { className: "ds-student-profile-page__dl-label", children: "UPN" }), _jsx("dd", { className: "ds-student-profile-page__dl-value", children: "415" })] })] }) }), _jsx(Separator, {}), _jsx(Section, { title: "Student Contact Details", headingLevel: 2, buttonText: "+ Add", buttonOnClick: onAddContactDetails, buttonVariant: "tertiary", buttonSize: "S", children: _jsxs("dl", { className: "ds-student-profile-page__dl", children: [_jsxs("div", { className: "ds-student-profile-page__dl-row", children: [_jsx("dt", { className: "ds-student-profile-page__dl-label", children: "Label Text" }), _jsx("dd", { className: "ds-student-profile-page__dl-value", children: _jsx("a", { href: "mailto:christopher.longbottom@gmail.com", className: "ds-student-profile-page__link", children: "christopher.longbottom@gmail.com" }) })] }), _jsxs("div", { className: "ds-student-profile-page__dl-row", children: [_jsx("dt", { className: "ds-student-profile-page__dl-label", children: "Label Text" }), _jsx("dd", { className: "ds-student-profile-page__dl-value", children: "07700 890321" })] }), _jsxs("div", { className: "ds-student-profile-page__dl-row", children: [_jsx("dt", { className: "ds-student-profile-page__dl-label", children: "Label Text" }), _jsx("dd", { className: "ds-student-profile-page__dl-value", children: "09 Jun 2009" })] }), _jsxs("div", { className: "ds-student-profile-page__dl-row", children: [_jsx("dt", { className: "ds-student-profile-page__dl-label", children: "Label Text" }), _jsxs("dd", { className: "ds-student-profile-page__dl-value", children: ["145 Doyle Gardens", _jsx("br", {}), "London", _jsx("br", {}), "N6M 3S5"] })] })] }) }), _jsx(Separator, {}), _jsx(Section, { title: "Family, Guardians and Contacts", headingLevel: 2, buttonText: "+ Add", buttonOnClick: onAddFamily, buttonVariant: "tertiary", buttonSize: "S", children: _jsxs("dl", { className: "ds-student-profile-page__dl", children: [_jsxs("div", { className: "ds-student-profile-page__dl-row", children: [_jsx("dt", { className: "ds-student-profile-page__dl-label", children: "Label Text" }), _jsxs("dd", { className: "ds-student-profile-page__dl-value", children: ["Father", _jsx("br", {}), "1st priority emergency contact", _jsx("br", {}), "Primary guardian", _jsx("br", {}), "Legal guardian", _jsx("br", {}), "Can collect", _jsx("br", {}), "Student lives with this guardian"] })] }), _jsxs("div", { className: "ds-student-profile-page__dl-row", children: [_jsx("dt", { className: "ds-student-profile-page__dl-label", children: "Label Text" }), _jsxs("dd", { className: "ds-student-profile-page__dl-value", children: ["Mother", _jsx("br", {}), "1st priority emergency contact", _jsx("br", {}), "Primary guardian", _jsx("br", {}), "Legal guardian", _jsx("br", {}), "Can collect", _jsx("br", {}), "Student lives with this guardian"] })] })] }) }), _jsx(Separator, {}), _jsx(Section, { title: "Legal", headingLevel: 2, buttonText: "+ Add", buttonOnClick: onAddLegal, buttonVariant: "tertiary", buttonSize: "S", children: _jsx("p", { className: "ds-student-profile-page__empty-state", children: "No court orders on record" }) }), _jsx(Separator, {}), _jsxs(Section, { title: "Parental Engagement", headingLevel: 2, buttonText: "+ Add", buttonOnClick: onAddParentalEngagement, buttonVariant: "tertiary", buttonSize: "S", children: [_jsxs("dl", { className: "ds-student-profile-page__dl", children: [_jsxs("div", { className: "ds-student-profile-page__dl-row", children: [_jsx("dt", { className: "ds-student-profile-page__dl-label", children: "Label Text" }), _jsx("dd", { className: "ds-student-profile-page__dl-value", children: "Parents Evening" })] }), _jsxs("div", { className: "ds-student-profile-page__dl-row", children: [_jsx("dt", { className: "ds-student-profile-page__dl-label", children: "Label Text" }), _jsx("dd", { className: "ds-student-profile-page__dl-value", children: "Form PGT meeting (Mollie Adams)" })] }), _jsxs("div", { className: "ds-student-profile-page__dl-row", children: [_jsx("dt", { className: "ds-student-profile-page__dl-label", children: "Label Text" }), _jsx("dd", { className: "ds-student-profile-page__dl-value", children: "Parents Evening" })] }), _jsxs("div", { className: "ds-student-profile-page__dl-row", children: [_jsx("dt", { className: "ds-student-profile-page__dl-label", children: "Label Text" }), _jsx("dd", { className: "ds-student-profile-page__dl-value", children: "Form PGT meeting (Mollie Adams)" })] }), _jsxs("div", { className: "ds-student-profile-page__dl-row", children: [_jsx("dt", { className: "ds-student-profile-page__dl-label", children: "Label Text" }), _jsx("dd", { className: "ds-student-profile-page__dl-value", children: "Student invited to meeting (Mollie Adams)" })] })] }), _jsx("div", { className: "ds-student-profile-page__parental-engagement-action", children: _jsx(TooltipWrapper, { tooltipContent: "More information about parental engagement scoring", children: _jsx(Button, { variant: "tertiary", size: "S", children: "Button Text" }) }) })] }), _jsx(Separator, {}), _jsx(Section, { title: "Education & Employment Status History", headingLevel: 2, buttonText: "+ Add", buttonOnClick: onAddEducationHistory, buttonVariant: "tertiary", buttonSize: "S", children: _jsx(Table, { rowData: educationHistory, columnDefs: EDUCATION_HISTORY_COLUMNS, domLayout: "autoHeight" }) }), _jsx(Separator, {}), _jsx(Section, { title: "Admin Functions", headingLevel: 2, children: _jsxs("dl", { className: "ds-student-profile-page__dl", children: [_jsxs("div", { className: "ds-student-profile-page__dl-row", children: [_jsx("dt", { className: "ds-student-profile-page__dl-label", children: "Label Text" }), _jsx("dd", { className: "ds-student-profile-page__dl-value", children: "16 Apr 2020, 23:17 by Arbor Admin" })] }), _jsxs("div", { className: "ds-student-profile-page__dl-row", children: [_jsx("dt", { className: "ds-student-profile-page__dl-label", children: "Label Text" }), _jsx("dd", { className: "ds-student-profile-page__dl-value", children: "Christopher Longbottom cannot be deleted - click for more info" })] })] }) })] }), _jsxs("aside", { className: "ds-student-profile-page__widgets", children: [_jsxs("div", { className: "ds-student-profile-page__student-nav", children: [_jsx(Button, { variant: "secondary", size: "S", iconLeftName: "chevron-left", iconLeftScreenReaderText: "Previous student", onClick: onPreviousStudent, children: "Previous" }), _jsx(Button, { variant: "secondary", size: "S", iconRightName: "chevron-right", iconRightScreenReaderText: "Next student", onClick: onNextStudent, children: "Next" })] }), _jsx(Section, { title: "Emergency Contacts", headingLevel: 2, className: "ds-student-profile-page__emergency-contacts", children: _jsxs("ul", { className: "ds-student-profile-page__contact-list", children: [_jsxs("li", { className: "ds-student-profile-page__contact-item", children: [_jsx("strong", { className: "ds-student-profile-page__contact-number", children: "07436 890515" }), _jsx("span", { className: "ds-student-profile-page__contact-name", children: "Mrs Virginia Longbottom, Mother" })] }), _jsxs("li", { className: "ds-student-profile-page__contact-item", children: [_jsx("strong", { className: "ds-student-profile-page__contact-number", children: "07326 607283" }), _jsx("span", { className: "ds-student-profile-page__contact-name", children: "Mr Roger Longbottom, Father" })] }), _jsxs("li", { className: "ds-student-profile-page__contact-item", children: [_jsx("strong", { className: "ds-student-profile-page__contact-number", children: "07719 009827" }), _jsx("span", { className: "ds-student-profile-page__contact-name", children: "Mr Harold Longbottom, Grandfa..." })] })] }) }), _jsxs("svg", { role: "img", "aria-label": "WeeklySchedule placeholder - component not yet available in design system", width: "100%", height: "258", xmlns: "http://www.w3.org/2000/svg", className: "ds-student-profile-page__placeholder", children: [_jsx("rect", { width: "100%", height: "100%", fill: "#f5f5f5", rx: "4" }), _jsx("rect", { x: "2", y: "2", width: "calc(100% - 4px)", height: "254", fill: "none", stroke: "#cccccc", strokeWidth: "2", strokeDasharray: "8 4", rx: "3" }), _jsx("text", { x: "50%", y: "44%", textAnchor: "middle", dominantBaseline: "middle", fill: "#888888", fontSize: "13", fontWeight: "600", fontFamily: "sans-serif", children: "WeeklySchedule / CalendarWidget" }), _jsx("text", { x: "50%", y: "56%", textAnchor: "middle", dominantBaseline: "middle", fill: "#aaaaaa", fontSize: "11", fontFamily: "sans-serif", children: "Component not yet available in design system" })] }), _jsxs("div", { className: "ds-student-profile-page__action-buttons", children: [_jsxs(Dropdown, { children: [_jsx(Dropdown.Trigger, { children: _jsx(Button, { variant: "dropdown", className: "ds-student-profile-page__action-btn", children: "Student Summary" }) }), _jsxs(Dropdown.Content, { children: [_jsx(Dropdown.Item, { children: "View Summary" }), _jsx(Dropdown.Item, { children: "Download Summary" })] })] }), _jsx(Button, { variant: "secondary", onClick: onRecordPlannedAbsence, className: "ds-student-profile-page__action-btn", children: "Record Planned Absence" }), _jsxs(Dropdown, { children: [_jsx(Dropdown.Trigger, { children: _jsx(Button, { variant: "dropdown", className: "ds-student-profile-page__action-btn", children: "Communications / Notes" }) }), _jsxs(Dropdown.Content, { children: [_jsx(Dropdown.Item, { children: "View Communications" }), _jsx(Dropdown.Item, { children: "Add Note" })] })] })] })] })] })] })] }));
|
|
50
|
+
};
|
|
51
|
+
export default StudentProfilePage;
|
|
52
|
+
//# sourceMappingURL=StudentProfilePage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StudentProfilePage.js","sourceRoot":"","sources":["../../../src/pages/studentProfilePage/StudentProfilePage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/react-vite';
|
|
2
|
+
/**
|
|
3
|
+
* Well, picture it: St. Olaf, 1979.
|
|
4
|
+
*
|
|
5
|
+
* The first day of school after summer break, and Mrs. Hafsteinsdottir — the
|
|
6
|
+
* school secretary, bless her heart — had to figure out which "Erik Eriksson"
|
|
7
|
+
* was which. There were four of them that year. FOUR. She spent three days
|
|
8
|
+
* flipping through handwritten index cards before she finally sat down and
|
|
9
|
+
* created what she called her "Complete Student Profile System." It had
|
|
10
|
+
* everything: the child's name, their family contacts, emergency numbers,
|
|
11
|
+
* which house (or "group," we called it a group — we didn't have houses like
|
|
12
|
+
* the fancy schools did) they belonged to, even a little note about any
|
|
13
|
+
* medical conditions. Oh my stars, it was revolutionary for St. Olaf!
|
|
14
|
+
*
|
|
15
|
+
* Well, the StudentProfilePage is Mrs. Hafsteinsdottir's index card system,
|
|
16
|
+
* but digital, and infinitely more beautiful, and — most importantly — it
|
|
17
|
+
* does not fall apart when someone spills lingonberry juice on it.
|
|
18
|
+
*
|
|
19
|
+
* This page brings together the full portrait of a single student, composing
|
|
20
|
+
* many Arbor design system components into one cohesive, lovingly-organised
|
|
21
|
+
* layout:
|
|
22
|
+
*
|
|
23
|
+
* **Composed Arbor components:**
|
|
24
|
+
* - **Button** — primary ("Suggest Student Summary"), secondary (Previous /
|
|
25
|
+
* Next student navigation, "Record Planned Absence"), tertiary ("+ Add" in
|
|
26
|
+
* each section header), and dropdown (section filter, "Student Summary",
|
|
27
|
+
* "Communications / Notes")
|
|
28
|
+
* - **Section** — all content panels (student info, pinned items, identity,
|
|
29
|
+
* contact details, family, legal, parental engagement, education history,
|
|
30
|
+
* admin functions, emergency contacts)
|
|
31
|
+
* - **Tag** — student categorisation labels (Disadvantaged, FSM, Pupil
|
|
32
|
+
* Premium Eligible, EAL, Service Child, Has Medical Condition, etc.)
|
|
33
|
+
* - **Dropdown** — the "All Sections" filter jump menu, and the action
|
|
34
|
+
* menus in the right-hand widget column
|
|
35
|
+
* - **Table** — the Education & Employment Status History grid (AG Grid)
|
|
36
|
+
* - **TooltipWrapper** — the parental engagement help button
|
|
37
|
+
* - **Separator** — visual dividers between major page sections
|
|
38
|
+
*
|
|
39
|
+
* **Placeholder SVGs for missing components:**
|
|
40
|
+
*
|
|
41
|
+
* Several parts of the Figma design reference Arbor components that do not
|
|
42
|
+
* yet exist in this library. Rather than leave gaps or use third-party
|
|
43
|
+
* stand-ins, this page uses clearly-labelled SVG placeholders. Each one:
|
|
44
|
+
* - Has `role="img"` with a descriptive `aria-label` naming the missing
|
|
45
|
+
* component and noting it is unavailable
|
|
46
|
+
* - Renders in a visually distinct style (grey background, dashed border,
|
|
47
|
+
* muted label text) so it is unmistakably a placeholder in Storybook
|
|
48
|
+
* - Carries a `TODO` comment in the source pointing to the Figma layer,
|
|
49
|
+
* ready to be swapped out once the real component is built
|
|
50
|
+
*
|
|
51
|
+
* The five placeholders are:
|
|
52
|
+
* | Placeholder | Figma Layer | Reason |
|
|
53
|
+
* |---|---|---|
|
|
54
|
+
* | TopNav / AppHeader | 6026:91144 | No AppHeader component yet |
|
|
55
|
+
* | SideNav (icon variant) | 6143:45087 | No SideNav component yet |
|
|
56
|
+
* | SideNav (text variant) | 6040:98380 | No SideNav component yet |
|
|
57
|
+
* | Breadcrumbs | 909:45447 | No Breadcrumbs component yet |
|
|
58
|
+
* | Avatar | page heading area | No Avatar component yet |
|
|
59
|
+
* | WeeklySchedule / CalendarWidget | 2055:162501 | No WeeklySchedule yet |
|
|
60
|
+
*
|
|
61
|
+
* **Education History Table:**
|
|
62
|
+
*
|
|
63
|
+
* The Education & Employment Status History section uses the real AG Grid
|
|
64
|
+
* Table component with `domLayout="autoHeight"` so it grows to fit however
|
|
65
|
+
* many rows are supplied. Column definitions are fixed (Date Range,
|
|
66
|
+
* Institution, Type) and the component ships with a single default row of
|
|
67
|
+
* mock data already baked in. The `educationHistory` prop lets you supply
|
|
68
|
+
* your own rows — or an empty array to show the empty-table state.
|
|
69
|
+
*
|
|
70
|
+
* **Accessibility:**
|
|
71
|
+
* - Page heading uses a semantic `<h1>` ("Student Profile")
|
|
72
|
+
* - All section headings use `<h2>` via the Section component's `headingLevel`
|
|
73
|
+
* - Student info uses a `<dl>` / `<dt>` / `<dd>` description list pattern
|
|
74
|
+
* - Emergency contacts use a `<ul>` list
|
|
75
|
+
* - Action buttons include `iconLeftScreenReaderText` / `iconRightScreenReaderText`
|
|
76
|
+
* on the Previous / Next navigation buttons
|
|
77
|
+
* - All placeholder SVGs carry `role="img"` and `aria-label` descriptions
|
|
78
|
+
* - The parental engagement button is wrapped in a TooltipWrapper for extra context
|
|
79
|
+
*
|
|
80
|
+
* Generated from Figma design node 551:41974 in the Arbor Design System file.
|
|
81
|
+
*/
|
|
82
|
+
declare const meta: {
|
|
83
|
+
title: string;
|
|
84
|
+
component: ({ className, onSuggestSummary, onAddIdentity, onAddContactDetails, onAddFamily, onAddLegal, onAddParentalEngagement, onAddEducationHistory, onPreviousStudent, onNextStudent, onRecordPlannedAbsence, educationHistory, }: import("./StudentProfilePage.js").StudentProfilePageProps) => import("react/jsx-runtime").JSX.Element;
|
|
85
|
+
parameters: {
|
|
86
|
+
layout: string;
|
|
87
|
+
docs: {
|
|
88
|
+
description: {
|
|
89
|
+
component: string;
|
|
90
|
+
};
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
tags: string[];
|
|
94
|
+
args: {
|
|
95
|
+
onSuggestSummary: import("@vitest/spy").Mock<(...args: any[]) => any>;
|
|
96
|
+
onAddIdentity: import("@vitest/spy").Mock<(...args: any[]) => any>;
|
|
97
|
+
onAddContactDetails: import("@vitest/spy").Mock<(...args: any[]) => any>;
|
|
98
|
+
onAddFamily: import("@vitest/spy").Mock<(...args: any[]) => any>;
|
|
99
|
+
onAddLegal: import("@vitest/spy").Mock<(...args: any[]) => any>;
|
|
100
|
+
onAddParentalEngagement: import("@vitest/spy").Mock<(...args: any[]) => any>;
|
|
101
|
+
onAddEducationHistory: import("@vitest/spy").Mock<(...args: any[]) => any>;
|
|
102
|
+
onPreviousStudent: import("@vitest/spy").Mock<(...args: any[]) => any>;
|
|
103
|
+
onNextStudent: import("@vitest/spy").Mock<(...args: any[]) => any>;
|
|
104
|
+
onRecordPlannedAbsence: import("@vitest/spy").Mock<(...args: any[]) => any>;
|
|
105
|
+
};
|
|
106
|
+
argTypes: {
|
|
107
|
+
className: {
|
|
108
|
+
control: "text";
|
|
109
|
+
description: string;
|
|
110
|
+
};
|
|
111
|
+
educationHistory: {
|
|
112
|
+
control: "object";
|
|
113
|
+
description: string;
|
|
114
|
+
};
|
|
115
|
+
onSuggestSummary: {
|
|
116
|
+
description: string;
|
|
117
|
+
};
|
|
118
|
+
onAddIdentity: {
|
|
119
|
+
description: string;
|
|
120
|
+
};
|
|
121
|
+
onAddContactDetails: {
|
|
122
|
+
description: string;
|
|
123
|
+
};
|
|
124
|
+
onAddFamily: {
|
|
125
|
+
description: string;
|
|
126
|
+
};
|
|
127
|
+
onAddLegal: {
|
|
128
|
+
description: string;
|
|
129
|
+
};
|
|
130
|
+
onAddParentalEngagement: {
|
|
131
|
+
description: string;
|
|
132
|
+
};
|
|
133
|
+
onAddEducationHistory: {
|
|
134
|
+
description: string;
|
|
135
|
+
};
|
|
136
|
+
onPreviousStudent: {
|
|
137
|
+
description: string;
|
|
138
|
+
};
|
|
139
|
+
onNextStudent: {
|
|
140
|
+
description: string;
|
|
141
|
+
};
|
|
142
|
+
onRecordPlannedAbsence: {
|
|
143
|
+
description: string;
|
|
144
|
+
};
|
|
145
|
+
};
|
|
146
|
+
};
|
|
147
|
+
export default meta;
|
|
148
|
+
type Story = StoryObj<typeof meta>;
|
|
149
|
+
/**
|
|
150
|
+
* The default story renders the full Student Profile page with the component's
|
|
151
|
+
* own built-in mock data. Christopher Longbottom is our student — Year 7,
|
|
152
|
+
* Whartons group, with a healthy collection of tags (Disadvantaged, FSM,
|
|
153
|
+
* Pupil Premium Eligible, EAL, Service Child, Has Medical Condition) that
|
|
154
|
+
* show how the Tag component handles multiple categorisation labels in a
|
|
155
|
+
* single row.
|
|
156
|
+
*
|
|
157
|
+
* Oh my stars, when I first saw this page come together I thought of the time
|
|
158
|
+
* in St. Olaf when we finally got our student records computerised. Well, not
|
|
159
|
+
* computerised exactly — Gunnar Magnusson typed everything into a very large
|
|
160
|
+
* electric typewriter that he called a "computer" because it had a cord. But
|
|
161
|
+
* the SPIRIT of it! The spirit of having everything in one place, the name,
|
|
162
|
+
* the family, the emergency contacts, all of it — that is exactly what this
|
|
163
|
+
* page captures.
|
|
164
|
+
*
|
|
165
|
+
* The right-hand column shows the emergency contacts widget (Mrs Virginia
|
|
166
|
+
* Longbottom, Mr Roger Longbottom, Mr Harold Longbottom), the Previous/Next
|
|
167
|
+
* student navigation, the WeeklySchedule placeholder, and the action dropdown
|
|
168
|
+
* buttons. The left column scrolls through all the profile sections.
|
|
169
|
+
*
|
|
170
|
+
* Check the Actions panel to see each callback fire as you interact with the
|
|
171
|
+
* page — the "+ Add" buttons, the navigation buttons, the "Suggest Student
|
|
172
|
+
* Summary" button, and the "Record Planned Absence" button.
|
|
173
|
+
*/
|
|
174
|
+
export declare const Default: Story;
|
|
175
|
+
/**
|
|
176
|
+
* This story supplies a richer education history table so you can see how the
|
|
177
|
+
* AG Grid Table handles multiple rows within the Section. Five rows spanning
|
|
178
|
+
* nursery through to current secondary school placement — a full educational
|
|
179
|
+
* journey for Christopher Longbottom, from Little Acorns Pre-School all the
|
|
180
|
+
* way up to Riverside Academy.
|
|
181
|
+
*
|
|
182
|
+
* You know, this reminds me of the time back in St. Olaf when we had to
|
|
183
|
+
* document little Birgitte Thorvaldsen's entire schooling history before she
|
|
184
|
+
* could join the advanced lutefisk appreciation class. Her record went back
|
|
185
|
+
* to the very first day she attended the Sunflower Toddler Group, and honestly
|
|
186
|
+
* it was the most organised piece of paperwork anyone in our town had ever
|
|
187
|
+
* produced. We framed a copy of it and hung it in the town hall. I am not
|
|
188
|
+
* making that up.
|
|
189
|
+
*
|
|
190
|
+
* Notice how the table uses `domLayout="autoHeight"` — it grows naturally to
|
|
191
|
+
* accommodate all five rows without any fixed height or scrolling. The columns
|
|
192
|
+
* (Date Range, Institution, Type) use flex sizing so they share the available
|
|
193
|
+
* width proportionally: Date Range gets 1 part, Institution gets 2 parts
|
|
194
|
+
* (because institution names can be wonderfully long), and Type gets 1 part.
|
|
195
|
+
*/
|
|
196
|
+
export declare const WithRichEducationHistory: Story;
|
|
197
|
+
/**
|
|
198
|
+
* This story passes an empty array for `educationHistory`, which triggers the
|
|
199
|
+
* AG Grid Table's built-in empty state. All other sections of the page render
|
|
200
|
+
* normally with their hardcoded mock content — it is only the Education &
|
|
201
|
+
* Employment Status History table that shows no rows.
|
|
202
|
+
*
|
|
203
|
+
* Think of this as a student who is brand new to the system: their identity,
|
|
204
|
+
* contact details, family, and parental engagement records are all there, but
|
|
205
|
+
* their education history has not yet been entered. Maybe they just arrived
|
|
206
|
+
* from overseas, or transferred mid-year and nobody has gotten around to the
|
|
207
|
+
* paperwork yet. It happens! Even in St. Olaf — well, actually in St. Olaf
|
|
208
|
+
* everyone had been at the same school since birth and records were never a
|
|
209
|
+
* problem, but I understand it is different elsewhere.
|
|
210
|
+
*
|
|
211
|
+
* The Legal section also shows its empty state in this story ("No court orders
|
|
212
|
+
* on record") — a reminder that empty states are a valid and important part of
|
|
213
|
+
* the page design, not an error condition. The "+ Add" button in the Education
|
|
214
|
+
* History section header remains visible and fully interactive, inviting the
|
|
215
|
+
* user to begin populating the record.
|
|
216
|
+
*/
|
|
217
|
+
export declare const WithMinimalData: Story;
|
|
218
|
+
//# sourceMappingURL=StudentProfilePage.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StudentProfilePage.stories.d.ts","sourceRoot":"","sources":["../../../src/pages/studentProfilePage/StudentProfilePage.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAK5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+EG;AACH,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4EiC,CAAC;AAE5C,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAgDnC;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,wBAAwB,EAAE,KAKtC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,eAAe,EAAE,KAK7B,CAAC"}
|
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
import { fn } from 'storybook/test';
|
|
2
|
+
import { StudentProfilePage } from './StudentProfilePage.js';
|
|
3
|
+
/**
|
|
4
|
+
* Well, picture it: St. Olaf, 1979.
|
|
5
|
+
*
|
|
6
|
+
* The first day of school after summer break, and Mrs. Hafsteinsdottir — the
|
|
7
|
+
* school secretary, bless her heart — had to figure out which "Erik Eriksson"
|
|
8
|
+
* was which. There were four of them that year. FOUR. She spent three days
|
|
9
|
+
* flipping through handwritten index cards before she finally sat down and
|
|
10
|
+
* created what she called her "Complete Student Profile System." It had
|
|
11
|
+
* everything: the child's name, their family contacts, emergency numbers,
|
|
12
|
+
* which house (or "group," we called it a group — we didn't have houses like
|
|
13
|
+
* the fancy schools did) they belonged to, even a little note about any
|
|
14
|
+
* medical conditions. Oh my stars, it was revolutionary for St. Olaf!
|
|
15
|
+
*
|
|
16
|
+
* Well, the StudentProfilePage is Mrs. Hafsteinsdottir's index card system,
|
|
17
|
+
* but digital, and infinitely more beautiful, and — most importantly — it
|
|
18
|
+
* does not fall apart when someone spills lingonberry juice on it.
|
|
19
|
+
*
|
|
20
|
+
* This page brings together the full portrait of a single student, composing
|
|
21
|
+
* many Arbor design system components into one cohesive, lovingly-organised
|
|
22
|
+
* layout:
|
|
23
|
+
*
|
|
24
|
+
* **Composed Arbor components:**
|
|
25
|
+
* - **Button** — primary ("Suggest Student Summary"), secondary (Previous /
|
|
26
|
+
* Next student navigation, "Record Planned Absence"), tertiary ("+ Add" in
|
|
27
|
+
* each section header), and dropdown (section filter, "Student Summary",
|
|
28
|
+
* "Communications / Notes")
|
|
29
|
+
* - **Section** — all content panels (student info, pinned items, identity,
|
|
30
|
+
* contact details, family, legal, parental engagement, education history,
|
|
31
|
+
* admin functions, emergency contacts)
|
|
32
|
+
* - **Tag** — student categorisation labels (Disadvantaged, FSM, Pupil
|
|
33
|
+
* Premium Eligible, EAL, Service Child, Has Medical Condition, etc.)
|
|
34
|
+
* - **Dropdown** — the "All Sections" filter jump menu, and the action
|
|
35
|
+
* menus in the right-hand widget column
|
|
36
|
+
* - **Table** — the Education & Employment Status History grid (AG Grid)
|
|
37
|
+
* - **TooltipWrapper** — the parental engagement help button
|
|
38
|
+
* - **Separator** — visual dividers between major page sections
|
|
39
|
+
*
|
|
40
|
+
* **Placeholder SVGs for missing components:**
|
|
41
|
+
*
|
|
42
|
+
* Several parts of the Figma design reference Arbor components that do not
|
|
43
|
+
* yet exist in this library. Rather than leave gaps or use third-party
|
|
44
|
+
* stand-ins, this page uses clearly-labelled SVG placeholders. Each one:
|
|
45
|
+
* - Has `role="img"` with a descriptive `aria-label` naming the missing
|
|
46
|
+
* component and noting it is unavailable
|
|
47
|
+
* - Renders in a visually distinct style (grey background, dashed border,
|
|
48
|
+
* muted label text) so it is unmistakably a placeholder in Storybook
|
|
49
|
+
* - Carries a `TODO` comment in the source pointing to the Figma layer,
|
|
50
|
+
* ready to be swapped out once the real component is built
|
|
51
|
+
*
|
|
52
|
+
* The five placeholders are:
|
|
53
|
+
* | Placeholder | Figma Layer | Reason |
|
|
54
|
+
* |---|---|---|
|
|
55
|
+
* | TopNav / AppHeader | 6026:91144 | No AppHeader component yet |
|
|
56
|
+
* | SideNav (icon variant) | 6143:45087 | No SideNav component yet |
|
|
57
|
+
* | SideNav (text variant) | 6040:98380 | No SideNav component yet |
|
|
58
|
+
* | Breadcrumbs | 909:45447 | No Breadcrumbs component yet |
|
|
59
|
+
* | Avatar | page heading area | No Avatar component yet |
|
|
60
|
+
* | WeeklySchedule / CalendarWidget | 2055:162501 | No WeeklySchedule yet |
|
|
61
|
+
*
|
|
62
|
+
* **Education History Table:**
|
|
63
|
+
*
|
|
64
|
+
* The Education & Employment Status History section uses the real AG Grid
|
|
65
|
+
* Table component with `domLayout="autoHeight"` so it grows to fit however
|
|
66
|
+
* many rows are supplied. Column definitions are fixed (Date Range,
|
|
67
|
+
* Institution, Type) and the component ships with a single default row of
|
|
68
|
+
* mock data already baked in. The `educationHistory` prop lets you supply
|
|
69
|
+
* your own rows — or an empty array to show the empty-table state.
|
|
70
|
+
*
|
|
71
|
+
* **Accessibility:**
|
|
72
|
+
* - Page heading uses a semantic `<h1>` ("Student Profile")
|
|
73
|
+
* - All section headings use `<h2>` via the Section component's `headingLevel`
|
|
74
|
+
* - Student info uses a `<dl>` / `<dt>` / `<dd>` description list pattern
|
|
75
|
+
* - Emergency contacts use a `<ul>` list
|
|
76
|
+
* - Action buttons include `iconLeftScreenReaderText` / `iconRightScreenReaderText`
|
|
77
|
+
* on the Previous / Next navigation buttons
|
|
78
|
+
* - All placeholder SVGs carry `role="img"` and `aria-label` descriptions
|
|
79
|
+
* - The parental engagement button is wrapped in a TooltipWrapper for extra context
|
|
80
|
+
*
|
|
81
|
+
* Generated from Figma design node 551:41974 in the Arbor Design System file.
|
|
82
|
+
*/
|
|
83
|
+
const meta = {
|
|
84
|
+
title: 'Pages/StudentProfilePage',
|
|
85
|
+
component: StudentProfilePage,
|
|
86
|
+
parameters: {
|
|
87
|
+
layout: 'fullscreen',
|
|
88
|
+
docs: {
|
|
89
|
+
description: {
|
|
90
|
+
component: 'The Student Profile page — a full-page Figma-to-code composition demonstrating how Button, Section, Tag, Dropdown, Table, TooltipWrapper, and Separator come together to form a complete student record view. Placeholder SVGs stand in for TopNav, SideNav, Breadcrumbs, Avatar, and WeeklySchedule until those components are built. Back in St. Olaf, Mrs. Hafsteinsdottir would have wept happy tears.',
|
|
91
|
+
},
|
|
92
|
+
},
|
|
93
|
+
},
|
|
94
|
+
tags: ['autodocs'],
|
|
95
|
+
args: {
|
|
96
|
+
onSuggestSummary: fn(),
|
|
97
|
+
onAddIdentity: fn(),
|
|
98
|
+
onAddContactDetails: fn(),
|
|
99
|
+
onAddFamily: fn(),
|
|
100
|
+
onAddLegal: fn(),
|
|
101
|
+
onAddParentalEngagement: fn(),
|
|
102
|
+
onAddEducationHistory: fn(),
|
|
103
|
+
onPreviousStudent: fn(),
|
|
104
|
+
onNextStudent: fn(),
|
|
105
|
+
onRecordPlannedAbsence: fn(),
|
|
106
|
+
},
|
|
107
|
+
argTypes: {
|
|
108
|
+
className: {
|
|
109
|
+
control: 'text',
|
|
110
|
+
description: 'Optional additional CSS class name(s) to apply to the page root element.',
|
|
111
|
+
},
|
|
112
|
+
educationHistory: {
|
|
113
|
+
control: 'object',
|
|
114
|
+
description: 'Row data for the Education & Employment Status History table. Each row has an id, dateRange, institution, and type. When omitted the component uses a single built-in mock row. Pass an empty array to demonstrate the empty-table state.',
|
|
115
|
+
},
|
|
116
|
+
onSuggestSummary: {
|
|
117
|
+
description: 'Called when the "Suggest Student Summary" primary button (in the page heading area) is clicked. Typically opens an AI-assisted summary flow.',
|
|
118
|
+
},
|
|
119
|
+
onAddIdentity: {
|
|
120
|
+
description: 'Called when the "+ Add" button in the Identity section header is clicked. Typically opens a form or slideover to add identity information.',
|
|
121
|
+
},
|
|
122
|
+
onAddContactDetails: {
|
|
123
|
+
description: 'Called when the "+ Add" button in the Student Contact Details section header is clicked.',
|
|
124
|
+
},
|
|
125
|
+
onAddFamily: {
|
|
126
|
+
description: 'Called when the "+ Add" button in the Family, Guardians and Contacts section header is clicked.',
|
|
127
|
+
},
|
|
128
|
+
onAddLegal: {
|
|
129
|
+
description: 'Called when the "+ Add" button in the Legal section header is clicked. Typically opens a form for recording court orders.',
|
|
130
|
+
},
|
|
131
|
+
onAddParentalEngagement: {
|
|
132
|
+
description: 'Called when the "+ Add" button in the Parental Engagement section header is clicked.',
|
|
133
|
+
},
|
|
134
|
+
onAddEducationHistory: {
|
|
135
|
+
description: 'Called when the "+ Add" button in the Education & Employment Status History section header is clicked.',
|
|
136
|
+
},
|
|
137
|
+
onPreviousStudent: {
|
|
138
|
+
description: 'Called when the "Previous" navigation button (with left chevron icon) is clicked. Typically navigates to the previous student in a browsed list.',
|
|
139
|
+
},
|
|
140
|
+
onNextStudent: {
|
|
141
|
+
description: 'Called when the "Next" navigation button (with right chevron icon) is clicked. Typically navigates to the next student in a browsed list.',
|
|
142
|
+
},
|
|
143
|
+
onRecordPlannedAbsence: {
|
|
144
|
+
description: 'Called when the "Record Planned Absence" secondary button in the right-hand widget column is clicked.',
|
|
145
|
+
},
|
|
146
|
+
},
|
|
147
|
+
};
|
|
148
|
+
export default meta;
|
|
149
|
+
// ---------------------------------------------------------------------------
|
|
150
|
+
// Fixture data - realistic UK school education history records
|
|
151
|
+
// ---------------------------------------------------------------------------
|
|
152
|
+
/**
|
|
153
|
+
* A richer set of education history rows spanning multiple institutions,
|
|
154
|
+
* just like the comprehensive records that St. Olaf's finest secretary would
|
|
155
|
+
* have assembled with love and a very sharp pencil.
|
|
156
|
+
*/
|
|
157
|
+
const richEducationHistory = [
|
|
158
|
+
{
|
|
159
|
+
id: '1',
|
|
160
|
+
dateRange: '01 Sep 2024 - ongoing',
|
|
161
|
+
institution: 'Riverside Academy',
|
|
162
|
+
type: 'School',
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
id: '2',
|
|
166
|
+
dateRange: '01 Sep 2021 - 31 Aug 2024',
|
|
167
|
+
institution: 'St. Mary\'s C of E Primary School',
|
|
168
|
+
type: 'School',
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
id: '3',
|
|
172
|
+
dateRange: '01 Sep 2019 - 31 Aug 2021',
|
|
173
|
+
institution: 'Sunnydale Infant School',
|
|
174
|
+
type: 'School',
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
id: '4',
|
|
178
|
+
dateRange: '01 Jan 2019 - 31 Aug 2019',
|
|
179
|
+
institution: 'Maple Tree Nursery',
|
|
180
|
+
type: 'Nursery',
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
id: '5',
|
|
184
|
+
dateRange: '01 Sep 2018 - 31 Dec 2018',
|
|
185
|
+
institution: 'Little Acorns Pre-School',
|
|
186
|
+
type: 'Pre-School',
|
|
187
|
+
},
|
|
188
|
+
];
|
|
189
|
+
// ---------------------------------------------------------------------------
|
|
190
|
+
// Stories
|
|
191
|
+
// ---------------------------------------------------------------------------
|
|
192
|
+
/**
|
|
193
|
+
* The default story renders the full Student Profile page with the component's
|
|
194
|
+
* own built-in mock data. Christopher Longbottom is our student — Year 7,
|
|
195
|
+
* Whartons group, with a healthy collection of tags (Disadvantaged, FSM,
|
|
196
|
+
* Pupil Premium Eligible, EAL, Service Child, Has Medical Condition) that
|
|
197
|
+
* show how the Tag component handles multiple categorisation labels in a
|
|
198
|
+
* single row.
|
|
199
|
+
*
|
|
200
|
+
* Oh my stars, when I first saw this page come together I thought of the time
|
|
201
|
+
* in St. Olaf when we finally got our student records computerised. Well, not
|
|
202
|
+
* computerised exactly — Gunnar Magnusson typed everything into a very large
|
|
203
|
+
* electric typewriter that he called a "computer" because it had a cord. But
|
|
204
|
+
* the SPIRIT of it! The spirit of having everything in one place, the name,
|
|
205
|
+
* the family, the emergency contacts, all of it — that is exactly what this
|
|
206
|
+
* page captures.
|
|
207
|
+
*
|
|
208
|
+
* The right-hand column shows the emergency contacts widget (Mrs Virginia
|
|
209
|
+
* Longbottom, Mr Roger Longbottom, Mr Harold Longbottom), the Previous/Next
|
|
210
|
+
* student navigation, the WeeklySchedule placeholder, and the action dropdown
|
|
211
|
+
* buttons. The left column scrolls through all the profile sections.
|
|
212
|
+
*
|
|
213
|
+
* Check the Actions panel to see each callback fire as you interact with the
|
|
214
|
+
* page — the "+ Add" buttons, the navigation buttons, the "Suggest Student
|
|
215
|
+
* Summary" button, and the "Record Planned Absence" button.
|
|
216
|
+
*/
|
|
217
|
+
export const Default = {
|
|
218
|
+
name: 'Default (Built-in Mock Data)',
|
|
219
|
+
};
|
|
220
|
+
/**
|
|
221
|
+
* This story supplies a richer education history table so you can see how the
|
|
222
|
+
* AG Grid Table handles multiple rows within the Section. Five rows spanning
|
|
223
|
+
* nursery through to current secondary school placement — a full educational
|
|
224
|
+
* journey for Christopher Longbottom, from Little Acorns Pre-School all the
|
|
225
|
+
* way up to Riverside Academy.
|
|
226
|
+
*
|
|
227
|
+
* You know, this reminds me of the time back in St. Olaf when we had to
|
|
228
|
+
* document little Birgitte Thorvaldsen's entire schooling history before she
|
|
229
|
+
* could join the advanced lutefisk appreciation class. Her record went back
|
|
230
|
+
* to the very first day she attended the Sunflower Toddler Group, and honestly
|
|
231
|
+
* it was the most organised piece of paperwork anyone in our town had ever
|
|
232
|
+
* produced. We framed a copy of it and hung it in the town hall. I am not
|
|
233
|
+
* making that up.
|
|
234
|
+
*
|
|
235
|
+
* Notice how the table uses `domLayout="autoHeight"` — it grows naturally to
|
|
236
|
+
* accommodate all five rows without any fixed height or scrolling. The columns
|
|
237
|
+
* (Date Range, Institution, Type) use flex sizing so they share the available
|
|
238
|
+
* width proportionally: Date Range gets 1 part, Institution gets 2 parts
|
|
239
|
+
* (because institution names can be wonderfully long), and Type gets 1 part.
|
|
240
|
+
*/
|
|
241
|
+
export const WithRichEducationHistory = {
|
|
242
|
+
name: 'With Rich Education History (5 rows)',
|
|
243
|
+
args: {
|
|
244
|
+
educationHistory: richEducationHistory,
|
|
245
|
+
},
|
|
246
|
+
};
|
|
247
|
+
/**
|
|
248
|
+
* This story passes an empty array for `educationHistory`, which triggers the
|
|
249
|
+
* AG Grid Table's built-in empty state. All other sections of the page render
|
|
250
|
+
* normally with their hardcoded mock content — it is only the Education &
|
|
251
|
+
* Employment Status History table that shows no rows.
|
|
252
|
+
*
|
|
253
|
+
* Think of this as a student who is brand new to the system: their identity,
|
|
254
|
+
* contact details, family, and parental engagement records are all there, but
|
|
255
|
+
* their education history has not yet been entered. Maybe they just arrived
|
|
256
|
+
* from overseas, or transferred mid-year and nobody has gotten around to the
|
|
257
|
+
* paperwork yet. It happens! Even in St. Olaf — well, actually in St. Olaf
|
|
258
|
+
* everyone had been at the same school since birth and records were never a
|
|
259
|
+
* problem, but I understand it is different elsewhere.
|
|
260
|
+
*
|
|
261
|
+
* The Legal section also shows its empty state in this story ("No court orders
|
|
262
|
+
* on record") — a reminder that empty states are a valid and important part of
|
|
263
|
+
* the page design, not an error condition. The "+ Add" button in the Education
|
|
264
|
+
* History section header remains visible and fully interactive, inviting the
|
|
265
|
+
* user to begin populating the record.
|
|
266
|
+
*/
|
|
267
|
+
export const WithMinimalData = {
|
|
268
|
+
name: 'With Minimal Data (Empty Education History)',
|
|
269
|
+
args: {
|
|
270
|
+
educationHistory: [],
|
|
271
|
+
},
|
|
272
|
+
};
|
|
273
|
+
//# sourceMappingURL=StudentProfilePage.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StudentProfilePage.stories.js","sourceRoot":"","sources":["../../../src/pages/studentProfilePage/StudentProfilePage.stories.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StudentProfilePage.test.d.ts","sourceRoot":"","sources":["../../../src/pages/studentProfilePage/StudentProfilePage.test.tsx"],"names":[],"mappings":"AAEA,OAAO,kCAAkC,CAAC"}
|