@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.
Files changed (312) hide show
  1. package/.changeset/twenty-groups-wonder.md +5 -0
  2. package/.changeset/yellow-falcons-search.md +5 -0
  3. package/CHANGELOG.md +12 -0
  4. package/dist/components/avatar/Avatar.js +2 -2
  5. package/dist/components/avatar/Avatar.js.map +1 -1
  6. package/dist/components/badge/Badge.stories.d.ts +0 -1
  7. package/dist/components/badge/Badge.stories.d.ts.map +1 -1
  8. package/dist/components/badge/Badge.stories.js +0 -69
  9. package/dist/components/badge/Badge.stories.js.map +1 -1
  10. package/dist/components/button/Button.story.d.ts +47 -0
  11. package/dist/components/button/Button.story.d.ts.map +1 -0
  12. package/dist/components/button/Button.story.js +123 -0
  13. package/dist/components/button/Button.story.js.map +1 -0
  14. package/dist/components/button/ButtonUsageExample.d.ts +2 -0
  15. package/dist/components/button/ButtonUsageExample.d.ts.map +1 -0
  16. package/dist/components/button/ButtonUsageExample.js +11 -0
  17. package/dist/components/button/ButtonUsageExample.js.map +1 -0
  18. package/dist/components/combobox/useElementWidth.d.ts +2 -0
  19. package/dist/components/combobox/useElementWidth.d.ts.map +1 -0
  20. package/dist/components/combobox/useElementWidth.js +31 -0
  21. package/dist/components/combobox/useElementWidth.js.map +1 -0
  22. package/dist/components/combobox/useVisibleChips.d.ts +21 -0
  23. package/dist/components/combobox/useVisibleChips.d.ts.map +1 -0
  24. package/dist/components/combobox/useVisibleChips.js +59 -0
  25. package/dist/components/combobox/useVisibleChips.js.map +1 -0
  26. package/dist/components/combobox/useVisibleChips.test.d.ts +2 -0
  27. package/dist/components/combobox/useVisibleChips.test.d.ts.map +1 -0
  28. package/dist/components/combobox/useVisibleChips.test.js +81 -0
  29. package/dist/components/combobox/useVisibleChips.test.js.map +1 -0
  30. package/dist/components/dot/Dot.d.ts.map +1 -1
  31. package/dist/components/dot/Dot.js +1 -1
  32. package/dist/components/dot/Dot.js.map +1 -1
  33. package/dist/components/formField/inputs/checkbox/CheckboxInput.d.ts +2 -2
  34. package/dist/components/formField/inputs/checkbox/CheckboxInput.d.ts.map +1 -1
  35. package/dist/components/formField/inputs/checkbox/CheckboxInput.js +1 -1
  36. package/dist/components/formField/inputs/checkbox/CheckboxInput.js.map +1 -1
  37. package/dist/components/formField/inputs/checkbox/CheckboxInput.stories.d.ts +2 -0
  38. package/dist/components/formField/inputs/checkbox/CheckboxInput.stories.d.ts.map +1 -1
  39. package/dist/components/formField/inputs/checkbox/CheckboxInput.stories.js +100 -0
  40. package/dist/components/formField/inputs/checkbox/CheckboxInput.stories.js.map +1 -1
  41. package/dist/components/formField/inputs/checkbox/CheckboxInput.test.js +17 -1
  42. package/dist/components/formField/inputs/checkbox/CheckboxInput.test.js.map +1 -1
  43. package/dist/components/heading/HeadingInnerContainer.d.ts +5 -0
  44. package/dist/components/heading/HeadingInnerContainer.d.ts.map +1 -0
  45. package/dist/components/heading/HeadingInnerContainer.js +7 -0
  46. package/dist/components/heading/HeadingInnerContainer.js.map +1 -0
  47. package/dist/components/icoText/IcoText.d.ts +37 -0
  48. package/dist/components/icoText/IcoText.d.ts.map +1 -0
  49. package/dist/components/icoText/IcoText.js +29 -0
  50. package/dist/components/icoText/IcoText.js.map +1 -0
  51. package/dist/components/icoText/IcoText.stories.d.ts +60 -0
  52. package/dist/components/icoText/IcoText.stories.d.ts.map +1 -0
  53. package/dist/components/icoText/IcoText.stories.js +319 -0
  54. package/dist/components/icoText/IcoText.stories.js.map +1 -0
  55. package/dist/components/icoText/IcoText.test.d.ts +2 -0
  56. package/dist/components/icoText/IcoText.test.d.ts.map +1 -0
  57. package/dist/components/icoText/IcoText.test.js +27 -0
  58. package/dist/components/icoText/IcoText.test.js.map +1 -0
  59. package/dist/components/pill/Pill.d.ts.map +1 -1
  60. package/dist/components/pill/Pill.js +1 -1
  61. package/dist/components/pill/Pill.js.map +1 -1
  62. package/dist/components/searchBar/SearchBar.d.ts.map +1 -1
  63. package/dist/components/searchBar/SearchBar.js +1 -1
  64. package/dist/components/searchBar/SearchBar.js.map +1 -1
  65. package/dist/components/searchBar/SearchBar.test.js +3 -3
  66. package/dist/components/searchBar/SearchBar.test.js.map +1 -1
  67. package/dist/components/sidebarNav/SidebarNav.d.ts +46 -0
  68. package/dist/components/sidebarNav/SidebarNav.d.ts.map +1 -0
  69. package/dist/components/sidebarNav/SidebarNav.js +102 -0
  70. package/dist/components/sidebarNav/SidebarNav.js.map +1 -0
  71. package/dist/components/sidebarNav/SidebarNav.stories.d.ts +61 -0
  72. package/dist/components/sidebarNav/SidebarNav.stories.d.ts.map +1 -0
  73. package/dist/components/sidebarNav/SidebarNav.stories.js +253 -0
  74. package/dist/components/sidebarNav/SidebarNav.stories.js.map +1 -0
  75. package/dist/components/sidebarNav/SidebarNav.test.d.ts +2 -0
  76. package/dist/components/sidebarNav/SidebarNav.test.d.ts.map +1 -0
  77. package/dist/components/sidebarNav/SidebarNav.test.js +240 -0
  78. package/dist/components/sidebarNav/SidebarNav.test.js.map +1 -0
  79. package/dist/components/sidebarNav/SidebarNavContext.d.ts +13 -0
  80. package/dist/components/sidebarNav/SidebarNavContext.d.ts.map +1 -0
  81. package/dist/components/sidebarNav/SidebarNavContext.js +15 -0
  82. package/dist/components/sidebarNav/SidebarNavContext.js.map +1 -0
  83. package/dist/components/sidebarNav/SidebarNavGroup.d.ts +10 -0
  84. package/dist/components/sidebarNav/SidebarNavGroup.d.ts.map +1 -0
  85. package/dist/components/sidebarNav/SidebarNavGroup.js +16 -0
  86. package/dist/components/sidebarNav/SidebarNavGroup.js.map +1 -0
  87. package/dist/components/sidebarNav/SidebarNavItem.d.ts +32 -0
  88. package/dist/components/sidebarNav/SidebarNavItem.d.ts.map +1 -0
  89. package/dist/components/sidebarNav/SidebarNavItem.js +44 -0
  90. package/dist/components/sidebarNav/SidebarNavItem.js.map +1 -0
  91. package/dist/components/sidebarNav/SidebarNavItemFavourite.d.ts +8 -0
  92. package/dist/components/sidebarNav/SidebarNavItemFavourite.d.ts.map +1 -0
  93. package/dist/components/sidebarNav/SidebarNavItemFavourite.js +14 -0
  94. package/dist/components/sidebarNav/SidebarNavItemFavourite.js.map +1 -0
  95. package/dist/components/sidebarNav/SidebarNavPanel.d.ts +4 -0
  96. package/dist/components/sidebarNav/SidebarNavPanel.d.ts.map +1 -0
  97. package/dist/components/sidebarNav/SidebarNavPanel.js +9 -0
  98. package/dist/components/sidebarNav/SidebarNavPanel.js.map +1 -0
  99. package/dist/components/sidebarNav/SidebarNavPanelNav.d.ts +10 -0
  100. package/dist/components/sidebarNav/SidebarNavPanelNav.d.ts.map +1 -0
  101. package/dist/components/sidebarNav/SidebarNavPanelNav.js +21 -0
  102. package/dist/components/sidebarNav/SidebarNavPanelNav.js.map +1 -0
  103. package/dist/components/sidebarNav/SidebarNavRail.d.ts +6 -0
  104. package/dist/components/sidebarNav/SidebarNavRail.d.ts.map +1 -0
  105. package/dist/components/sidebarNav/SidebarNavRail.js +7 -0
  106. package/dist/components/sidebarNav/SidebarNavRail.js.map +1 -0
  107. package/dist/components/sidebarNav/SidebarNavRailItem.d.ts +10 -0
  108. package/dist/components/sidebarNav/SidebarNavRailItem.d.ts.map +1 -0
  109. package/dist/components/sidebarNav/SidebarNavRailItem.js +25 -0
  110. package/dist/components/sidebarNav/SidebarNavRailItem.js.map +1 -0
  111. package/dist/components/sidebarNav/SidebarNavRailList.d.ts +4 -0
  112. package/dist/components/sidebarNav/SidebarNavRailList.d.ts.map +1 -0
  113. package/dist/components/sidebarNav/SidebarNavRailList.js +7 -0
  114. package/dist/components/sidebarNav/SidebarNavRailList.js.map +1 -0
  115. package/dist/components/sidebarNav/SidebarNavRailSlot.d.ts +6 -0
  116. package/dist/components/sidebarNav/SidebarNavRailSlot.d.ts.map +1 -0
  117. package/dist/components/sidebarNav/SidebarNavRailSlot.js +7 -0
  118. package/dist/components/sidebarNav/SidebarNavRailSlot.js.map +1 -0
  119. package/dist/components/sidebarNav/SidebarNavSeparator.d.ts +6 -0
  120. package/dist/components/sidebarNav/SidebarNavSeparator.d.ts.map +1 -0
  121. package/dist/components/sidebarNav/SidebarNavSeparator.js +8 -0
  122. package/dist/components/sidebarNav/SidebarNavSeparator.js.map +1 -0
  123. package/dist/components/sidebarNav/SidebarNavTitle.d.ts +4 -0
  124. package/dist/components/sidebarNav/SidebarNavTitle.d.ts.map +1 -0
  125. package/dist/components/sidebarNav/SidebarNavTitle.js +7 -0
  126. package/dist/components/sidebarNav/SidebarNavTitle.js.map +1 -0
  127. package/dist/components/sidebarNav/SidebarNavTooltip.d.ts +7 -0
  128. package/dist/components/sidebarNav/SidebarNavTooltip.d.ts.map +1 -0
  129. package/dist/components/sidebarNav/SidebarNavTooltip.js +9 -0
  130. package/dist/components/sidebarNav/SidebarNavTooltip.js.map +1 -0
  131. package/dist/components/sidebarNav/SidebarNavTrigger.d.ts +8 -0
  132. package/dist/components/sidebarNav/SidebarNavTrigger.d.ts.map +1 -0
  133. package/dist/components/sidebarNav/SidebarNavTrigger.js +15 -0
  134. package/dist/components/sidebarNav/SidebarNavTrigger.js.map +1 -0
  135. package/dist/components/sidebarNav/index.d.ts +4 -0
  136. package/dist/components/sidebarNav/index.d.ts.map +1 -0
  137. package/dist/components/sidebarNav/index.js +3 -0
  138. package/dist/components/sidebarNav/index.js.map +1 -0
  139. package/dist/components/sidebarNav/resolvePanelItemProps.d.ts +4 -0
  140. package/dist/components/sidebarNav/resolvePanelItemProps.d.ts.map +1 -0
  141. package/dist/components/sidebarNav/resolvePanelItemProps.js +43 -0
  142. package/dist/components/sidebarNav/resolvePanelItemProps.js.map +1 -0
  143. package/dist/components/sidebarNav/resolvePanelItemProps.test.d.ts +2 -0
  144. package/dist/components/sidebarNav/resolvePanelItemProps.test.d.ts.map +1 -0
  145. package/dist/components/sidebarNav/resolvePanelItemProps.test.js +52 -0
  146. package/dist/components/sidebarNav/resolvePanelItemProps.test.js.map +1 -0
  147. package/dist/components/sidebarNav/types.d.ts +100 -0
  148. package/dist/components/sidebarNav/types.d.ts.map +1 -0
  149. package/dist/components/sidebarNav/types.js +4 -0
  150. package/dist/components/sidebarNav/types.js.map +1 -0
  151. package/dist/components/sidebarNav/useControllableBoolean.d.ts +9 -0
  152. package/dist/components/sidebarNav/useControllableBoolean.d.ts.map +1 -0
  153. package/dist/components/sidebarNav/useControllableBoolean.js +15 -0
  154. package/dist/components/sidebarNav/useControllableBoolean.js.map +1 -0
  155. package/dist/components/slideover/Slideover.stories.d.ts +10 -0
  156. package/dist/components/slideover/Slideover.stories.d.ts.map +1 -0
  157. package/dist/components/slideover/Slideover.stories.js +12 -0
  158. package/dist/components/slideover/Slideover.stories.js.map +1 -0
  159. package/dist/components/table/BulkActionsDropdown.d.ts +12 -0
  160. package/dist/components/table/BulkActionsDropdown.d.ts.map +1 -0
  161. package/dist/components/table/BulkActionsDropdown.js +11 -0
  162. package/dist/components/table/BulkActionsDropdown.js.map +1 -0
  163. package/dist/components/table/HideColumnsDropdown.d.ts +9 -0
  164. package/dist/components/table/HideColumnsDropdown.d.ts.map +1 -0
  165. package/dist/components/table/HideColumnsDropdown.js +33 -0
  166. package/dist/components/table/HideColumnsDropdown.js.map +1 -0
  167. package/dist/components/table/Table.d.ts +1 -1
  168. package/dist/components/table/Table.stories.d.ts.map +1 -1
  169. package/dist/components/table/Table.stories.js +0 -5
  170. package/dist/components/table/Table.stories.js.map +1 -1
  171. package/dist/components/table/Table.test.js +0 -5
  172. package/dist/components/table/Table.test.js.map +1 -1
  173. package/dist/components/table/cellRenderers/SelectDropdownCellEditor.d.ts +8 -0
  174. package/dist/components/table/cellRenderers/SelectDropdownCellEditor.d.ts.map +1 -0
  175. package/dist/components/table/cellRenderers/SelectDropdownCellEditor.js +19 -0
  176. package/dist/components/table/cellRenderers/SelectDropdownCellEditor.js.map +1 -0
  177. package/dist/components/table/hooks/useHistory.d.ts +20 -0
  178. package/dist/components/table/hooks/useHistory.d.ts.map +1 -0
  179. package/dist/components/table/hooks/useHistory.js +73 -0
  180. package/dist/components/table/hooks/useHistory.js.map +1 -0
  181. package/dist/components/table/hooks/useTableHistory.d.ts +21 -0
  182. package/dist/components/table/hooks/useTableHistory.d.ts.map +1 -0
  183. package/dist/components/table/hooks/useTableHistory.js +88 -0
  184. package/dist/components/table/hooks/useTableHistory.js.map +1 -0
  185. package/dist/components/table/pagination/TableSettingsDropdown.d.ts +2 -0
  186. package/dist/components/table/pagination/TableSettingsDropdown.d.ts.map +1 -0
  187. package/dist/components/table/pagination/TableSettingsDropdown.js +42 -0
  188. package/dist/components/table/pagination/TableSettingsDropdown.js.map +1 -0
  189. package/dist/components/table/tableHeader/TableHeader.d.ts +14 -0
  190. package/dist/components/table/tableHeader/TableHeader.d.ts.map +1 -0
  191. package/dist/components/table/tableHeader/TableHeader.js +55 -0
  192. package/dist/components/table/tableHeader/TableHeader.js.map +1 -0
  193. package/dist/components/table/tableHeader/index.d.ts +2 -0
  194. package/dist/components/table/tableHeader/index.d.ts.map +1 -0
  195. package/dist/components/table/tableHeader/index.js +2 -0
  196. package/dist/components/table/tableHeader/index.js.map +1 -0
  197. package/dist/components/table/tableTheme.d.ts +2 -0
  198. package/dist/components/table/tableTheme.d.ts.map +1 -0
  199. package/dist/components/table/tableTheme.js +18 -0
  200. package/dist/components/table/tableTheme.js.map +1 -0
  201. package/dist/components/table/types.d.ts +169 -0
  202. package/dist/components/table/types.d.ts.map +1 -0
  203. package/dist/components/table/types.js +11 -0
  204. package/dist/components/table/types.js.map +1 -0
  205. package/dist/components/table/utils/setAgGridLicenseKey.d.ts +2 -0
  206. package/dist/components/table/utils/setAgGridLicenseKey.d.ts.map +1 -0
  207. package/dist/components/table/utils/setAgGridLicenseKey.js +11 -0
  208. package/dist/components/table/utils/setAgGridLicenseKey.js.map +1 -0
  209. package/dist/layoutTest.stories.d.ts +6 -0
  210. package/dist/layoutTest.stories.d.ts.map +1 -0
  211. package/dist/layoutTest.stories.js +9 -0
  212. package/dist/layoutTest.stories.js.map +1 -0
  213. package/dist/pages/assessmentBuilderPage/AssessmentBuilderPage.d.ts +39 -0
  214. package/dist/pages/assessmentBuilderPage/AssessmentBuilderPage.d.ts.map +1 -0
  215. package/dist/pages/assessmentBuilderPage/AssessmentBuilderPage.js +112 -0
  216. package/dist/pages/assessmentBuilderPage/AssessmentBuilderPage.js.map +1 -0
  217. package/dist/pages/assessmentBuilderPage/AssessmentBuilderPage.stories.d.ts +184 -0
  218. package/dist/pages/assessmentBuilderPage/AssessmentBuilderPage.stories.d.ts.map +1 -0
  219. package/dist/pages/assessmentBuilderPage/AssessmentBuilderPage.stories.js +317 -0
  220. package/dist/pages/assessmentBuilderPage/AssessmentBuilderPage.stories.js.map +1 -0
  221. package/dist/pages/assessmentBuilderPage/AssessmentBuilderPage.test.d.ts +2 -0
  222. package/dist/pages/assessmentBuilderPage/AssessmentBuilderPage.test.d.ts.map +1 -0
  223. package/dist/pages/assessmentBuilderPage/AssessmentBuilderPage.test.js +160 -0
  224. package/dist/pages/assessmentBuilderPage/AssessmentBuilderPage.test.js.map +1 -0
  225. package/dist/pages/assessmentSettingsPage/AssessmentSettingsPage.d.ts +11 -0
  226. package/dist/pages/assessmentSettingsPage/AssessmentSettingsPage.d.ts.map +1 -0
  227. package/dist/pages/assessmentSettingsPage/AssessmentSettingsPage.js +13 -0
  228. package/dist/pages/assessmentSettingsPage/AssessmentSettingsPage.js.map +1 -0
  229. package/dist/pages/assessmentSettingsPage/AssessmentSettingsPage.stories.d.ts +174 -0
  230. package/dist/pages/assessmentSettingsPage/AssessmentSettingsPage.stories.d.ts.map +1 -0
  231. package/dist/pages/assessmentSettingsPage/AssessmentSettingsPage.stories.js +212 -0
  232. package/dist/pages/assessmentSettingsPage/AssessmentSettingsPage.stories.js.map +1 -0
  233. package/dist/pages/assessmentSettingsPage/AssessmentSettingsPage.test.d.ts +2 -0
  234. package/dist/pages/assessmentSettingsPage/AssessmentSettingsPage.test.d.ts.map +1 -0
  235. package/dist/pages/assessmentSettingsPage/AssessmentSettingsPage.test.js +84 -0
  236. package/dist/pages/assessmentSettingsPage/AssessmentSettingsPage.test.js.map +1 -0
  237. package/dist/pages/assessmentsPage/AssessmentsPage.d.ts +16 -0
  238. package/dist/pages/assessmentsPage/AssessmentsPage.d.ts.map +1 -0
  239. package/dist/pages/assessmentsPage/AssessmentsPage.js +31 -0
  240. package/dist/pages/assessmentsPage/AssessmentsPage.js.map +1 -0
  241. package/dist/pages/assessmentsPage/AssessmentsPage.stories.d.ts +162 -0
  242. package/dist/pages/assessmentsPage/AssessmentsPage.stories.d.ts.map +1 -0
  243. package/dist/pages/assessmentsPage/AssessmentsPage.stories.js +290 -0
  244. package/dist/pages/assessmentsPage/AssessmentsPage.stories.js.map +1 -0
  245. package/dist/pages/assessmentsPage/AssessmentsPage.test.d.ts +2 -0
  246. package/dist/pages/assessmentsPage/AssessmentsPage.test.d.ts.map +1 -0
  247. package/dist/pages/assessmentsPage/AssessmentsPage.test.js +109 -0
  248. package/dist/pages/assessmentsPage/AssessmentsPage.test.js.map +1 -0
  249. package/dist/pages/customReportWriterPage/CustomReportWriterPage.d.ts +40 -0
  250. package/dist/pages/customReportWriterPage/CustomReportWriterPage.d.ts.map +1 -0
  251. package/dist/pages/customReportWriterPage/CustomReportWriterPage.js +156 -0
  252. package/dist/pages/customReportWriterPage/CustomReportWriterPage.js.map +1 -0
  253. package/dist/pages/customReportWriterPage/CustomReportWriterPage.stories.d.ts +239 -0
  254. package/dist/pages/customReportWriterPage/CustomReportWriterPage.stories.d.ts.map +1 -0
  255. package/dist/pages/customReportWriterPage/CustomReportWriterPage.stories.js +318 -0
  256. package/dist/pages/customReportWriterPage/CustomReportWriterPage.stories.js.map +1 -0
  257. package/dist/pages/customReportWriterPage/CustomReportWriterPage.test.d.ts +2 -0
  258. package/dist/pages/customReportWriterPage/CustomReportWriterPage.test.d.ts.map +1 -0
  259. package/dist/pages/customReportWriterPage/CustomReportWriterPage.test.js +183 -0
  260. package/dist/pages/customReportWriterPage/CustomReportWriterPage.test.js.map +1 -0
  261. package/dist/pages/gradeSetsPage/GradeSetsPage.d.ts +26 -0
  262. package/dist/pages/gradeSetsPage/GradeSetsPage.d.ts.map +1 -0
  263. package/dist/pages/gradeSetsPage/GradeSetsPage.js +33 -0
  264. package/dist/pages/gradeSetsPage/GradeSetsPage.js.map +1 -0
  265. package/dist/pages/gradeSetsPage/GradeSetsPage.stories.d.ts +176 -0
  266. package/dist/pages/gradeSetsPage/GradeSetsPage.stories.d.ts.map +1 -0
  267. package/dist/pages/gradeSetsPage/GradeSetsPage.stories.js +237 -0
  268. package/dist/pages/gradeSetsPage/GradeSetsPage.stories.js.map +1 -0
  269. package/dist/pages/gradeSetsPage/GradeSetsPage.test.d.ts +2 -0
  270. package/dist/pages/gradeSetsPage/GradeSetsPage.test.d.ts.map +1 -0
  271. package/dist/pages/gradeSetsPage/GradeSetsPage.test.js +91 -0
  272. package/dist/pages/gradeSetsPage/GradeSetsPage.test.js.map +1 -0
  273. package/dist/pages/studentProfilePage/StudentProfilePage.d.ts +48 -0
  274. package/dist/pages/studentProfilePage/StudentProfilePage.d.ts.map +1 -0
  275. package/dist/pages/studentProfilePage/StudentProfilePage.js +52 -0
  276. package/dist/pages/studentProfilePage/StudentProfilePage.js.map +1 -0
  277. package/dist/pages/studentProfilePage/StudentProfilePage.stories.d.ts +218 -0
  278. package/dist/pages/studentProfilePage/StudentProfilePage.stories.d.ts.map +1 -0
  279. package/dist/pages/studentProfilePage/StudentProfilePage.stories.js +273 -0
  280. package/dist/pages/studentProfilePage/StudentProfilePage.stories.js.map +1 -0
  281. package/dist/pages/studentProfilePage/StudentProfilePage.test.d.ts +2 -0
  282. package/dist/pages/studentProfilePage/StudentProfilePage.test.d.ts.map +1 -0
  283. package/dist/pages/studentProfilePage/StudentProfilePage.test.js +197 -0
  284. package/dist/pages/studentProfilePage/StudentProfilePage.test.js.map +1 -0
  285. package/dist/utils/PopupParentContext.d.ts +3 -0
  286. package/dist/utils/PopupParentContext.d.ts.map +1 -0
  287. package/dist/utils/PopupParentContext.js +6 -0
  288. package/dist/utils/PopupParentContext.js.map +1 -0
  289. package/dist/utils/PopupParentContext.stories.d.ts +17 -0
  290. package/dist/utils/PopupParentContext.stories.d.ts.map +1 -0
  291. package/dist/utils/PopupParentContext.stories.js +266 -0
  292. package/dist/utils/PopupParentContext.stories.js.map +1 -0
  293. package/dist/utils/getDefaultPopupParent.d.ts +2 -0
  294. package/dist/utils/getDefaultPopupParent.d.ts.map +1 -0
  295. package/dist/utils/getDefaultPopupParent.js +19 -0
  296. package/dist/utils/getDefaultPopupParent.js.map +1 -0
  297. package/dist/utils/popupParent/PopupParentContext.stories.d.ts.map +1 -1
  298. package/dist/utils/popupParent/PopupParentContext.stories.js +1 -1
  299. package/dist/utils/popupParent/PopupParentContext.stories.js.map +1 -1
  300. package/package.json +4 -4
  301. package/src/components/avatar/Avatar.tsx +2 -2
  302. package/src/components/badge/Badge.stories.tsx +0 -103
  303. package/src/components/dot/Dot.tsx +1 -0
  304. package/src/components/formField/inputs/checkbox/CheckboxInput.stories.tsx +178 -1
  305. package/src/components/formField/inputs/checkbox/CheckboxInput.test.tsx +58 -0
  306. package/src/components/formField/inputs/checkbox/CheckboxInput.tsx +3 -3
  307. package/src/components/pill/Pill.tsx +1 -0
  308. package/src/components/searchBar/SearchBar.test.tsx +3 -3
  309. package/src/components/searchBar/SearchBar.tsx +1 -0
  310. package/src/components/table/Table.stories.tsx +0 -5
  311. package/src/components/table/Table.test.tsx +0 -5
  312. 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,2 @@
1
+ import '@testing-library/jest-dom/vitest';
2
+ //# sourceMappingURL=StudentProfilePage.test.d.ts.map
@@ -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"}