@learningpool/ui 1.6.0-beta.9 → 1.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (439) hide show
  1. package/.eslintrc.js +40 -0
  2. package/.github/pull_request_template.md +23 -0
  3. package/.github/renovate.json +57 -0
  4. package/.github/workflows/integration.yml +53 -0
  5. package/.github/workflows/wss.yml +22 -0
  6. package/.jest-test-results.json +1 -0
  7. package/.releaserc +32 -0
  8. package/.storybook/learningpoolTheme.js +39 -0
  9. package/.storybook/main.js +21 -0
  10. package/.storybook/manager-head.html +175 -0
  11. package/.storybook/manager.js +34 -0
  12. package/.storybook/preview-head.html +212 -0
  13. package/.storybook/preview.js +120 -0
  14. package/.storybook/storybook-sort.js +54 -0
  15. package/CHANGELOG.md +6 -0
  16. package/amplify.yml +16 -0
  17. package/babel.config.json +14 -0
  18. package/{assets → dist/assets}/Images.d.ts +0 -0
  19. package/{assets → dist/assets}/Images.js +0 -0
  20. package/{components → dist/components}/atoms/Autocomplete/Autocomplete.d.ts +0 -0
  21. package/{components → dist/components}/atoms/Autocomplete/Autocomplete.js +0 -0
  22. package/{components → dist/components}/atoms/Button/Button.d.ts +0 -0
  23. package/{components → dist/components}/atoms/Button/Button.js +0 -0
  24. package/{components → dist/components}/atoms/Checkbox/Checkbox.d.ts +0 -0
  25. package/{components → dist/components}/atoms/Checkbox/Checkbox.js +0 -0
  26. package/{components → dist/components}/atoms/IconButton/IconButton.d.ts +0 -0
  27. package/{components → dist/components}/atoms/IconButton/IconButton.js +0 -0
  28. package/{components → dist/components}/atoms/Radio/Radio.d.ts +0 -0
  29. package/{components → dist/components}/atoms/Radio/Radio.js +0 -0
  30. package/{components → dist/components}/atoms/Select/Select.d.ts +0 -0
  31. package/{components → dist/components}/atoms/Select/Select.js +0 -0
  32. package/{components → dist/components}/atoms/Slider/Slider.d.ts +0 -0
  33. package/{components → dist/components}/atoms/Slider/Slider.js +0 -0
  34. package/{components → dist/components}/atoms/Switch/Switch.d.ts +0 -0
  35. package/{components → dist/components}/atoms/Switch/Switch.js +0 -0
  36. package/{components → dist/components}/atoms/TextField/TextField.d.ts +0 -0
  37. package/{components → dist/components}/atoms/TextField/TextField.js +0 -0
  38. package/{components → dist/components}/atoms/ToggleButton/ToggleButton.d.ts +0 -0
  39. package/{components → dist/components}/atoms/ToggleButton/ToggleButton.js +0 -0
  40. package/{components → dist/components}/datadisplay/Avatar/Avatar.d.ts +0 -0
  41. package/{components → dist/components}/datadisplay/Avatar/Avatar.js +0 -0
  42. package/{components → dist/components}/datadisplay/Chip/Chip.d.ts +0 -0
  43. package/{components → dist/components}/datadisplay/Chip/Chip.js +0 -0
  44. package/{components → dist/components}/datadisplay/List/List.d.ts +0 -0
  45. package/{components → dist/components}/datadisplay/List/List.js +0 -0
  46. package/{components → dist/components}/datadisplay/Tooltip/Tooltip.d.ts +0 -0
  47. package/{components → dist/components}/datadisplay/Tooltip/Tooltip.js +0 -0
  48. package/{components → dist/components}/feedback/Alert/Alert.d.ts +0 -0
  49. package/{components → dist/components}/feedback/Alert/Alert.js +0 -0
  50. package/dist/components/landmarks/Header/Header.d.ts +26 -0
  51. package/dist/components/landmarks/Header/Header.js +75 -0
  52. package/dist/components/landmarks/Header/HeaderActionButtons.d.ts +3 -0
  53. package/dist/components/landmarks/Header/HeaderActionButtons.js +66 -0
  54. package/dist/components/landmarks/Header/HeaderStyles.d.ts +55 -0
  55. package/dist/components/landmarks/Header/HeaderStyles.js +13 -0
  56. package/{components → dist/components}/navigation/Drawer/Drawer.d.ts +0 -0
  57. package/{components → dist/components}/navigation/Drawer/Drawer.js +0 -0
  58. package/{components → dist/components}/navigation/MobileNavigation/MobileNavigation.d.ts +1 -2
  59. package/{components → dist/components}/navigation/MobileNavigation/MobileNavigation.js +56 -86
  60. package/{components → dist/components}/navigation/MobileNavigation/MobileNavigationAvatar.d.ts +1 -1
  61. package/{components → dist/components}/navigation/MobileNavigation/MobileNavigationAvatar.js +45 -23
  62. package/dist/components/navigation/MobileNavigation/MobileNavigationAvatarStyles.d.ts +3296 -0
  63. package/{components → dist/components}/navigation/MobileNavigation/MobileNavigationAvatarStyles.js +4 -4
  64. package/{components → dist/components}/navigation/MobileNavigation/MobileNavigationDrawer.d.ts +0 -0
  65. package/dist/components/navigation/MobileNavigation/MobileNavigationDrawer.js +71 -0
  66. package/dist/components/navigation/MobileNavigation/MobileNavigationDrawerStyles.d.ts +1215 -0
  67. package/{components → dist/components}/navigation/MobileNavigation/MobileNavigationDrawerStyles.js +2 -2
  68. package/{components → dist/components}/navigation/MobileNavigation/MobileNavigationItem/MobileNavigationItem.d.ts +0 -0
  69. package/{components → dist/components}/navigation/MobileNavigation/MobileNavigationItem/MobileNavigationItem.js +0 -0
  70. package/{components → dist/components}/navigation/MobileNavigation/MobileNavigationItem/MobileNavigationItemFlyoutMenu.d.ts +0 -0
  71. package/{components → dist/components}/navigation/MobileNavigation/MobileNavigationItem/MobileNavigationItemFlyoutMenu.js +0 -0
  72. package/{components → dist/components}/navigation/MobileNavigation/MobileNavigationItem/MobileNavigationItemFlyoutMenuStyles.d.ts +1 -1
  73. package/{components → dist/components}/navigation/MobileNavigation/MobileNavigationItem/MobileNavigationItemFlyoutMenuStyles.js +0 -0
  74. package/{components → dist/components}/navigation/MobileNavigation/MobileNavigationItem/MobileNavigationItemStyles.d.ts +1 -1
  75. package/{components → dist/components}/navigation/MobileNavigation/MobileNavigationItem/MobileNavigationItemStyles.js +0 -0
  76. package/{components → dist/components}/navigation/MobileNavigation/MobileNavigationMotion.d.ts +0 -0
  77. package/{components → dist/components}/navigation/MobileNavigation/MobileNavigationMotion.js +0 -0
  78. package/dist/components/navigation/MobileNavigation/MobileNavigationNotchIndicator.d.ts +3 -0
  79. package/dist/components/navigation/MobileNavigation/MobileNavigationNotchIndicator.js +19 -0
  80. package/{components → dist/components}/navigation/MobileNavigation/MobileNavigationSearch.d.ts +0 -0
  81. package/{components → dist/components}/navigation/MobileNavigation/MobileNavigationSearch.js +8 -6
  82. package/dist/components/navigation/MobileNavigation/MobileNavigationSearchStyles.d.ts +1080 -0
  83. package/{components → dist/components}/navigation/MobileNavigation/MobileNavigationSearchStyles.js +2 -2
  84. package/{components/navigation/VerticalNavigation/VerticalNavigationStyles.d.ts → dist/components/navigation/MobileNavigation/MobileNavigationStyles.d.ts} +66 -3
  85. package/{components → dist/components}/navigation/MobileNavigation/MobileNavigationStyles.js +19 -24
  86. package/dist/components/navigation/MobileNavigation/MobileNavigationToggleSearchX.d.ts +3 -0
  87. package/dist/components/navigation/MobileNavigation/MobileNavigationToggleSearchX.js +28 -0
  88. package/dist/components/navigation/MobileNavigation/MobileNavigationToggleX.d.ts +3 -0
  89. package/dist/components/navigation/MobileNavigation/MobileNavigationToggleX.js +28 -0
  90. package/{components → dist/components}/navigation/VerticalNavigation/VerticalNavigation.d.ts +3 -3
  91. package/{components → dist/components}/navigation/VerticalNavigation/VerticalNavigation.js +22 -25
  92. package/dist/components/navigation/VerticalNavigation/VerticalNavigationAvatar.d.ts +4 -0
  93. package/dist/components/navigation/VerticalNavigation/VerticalNavigationAvatar.js +79 -0
  94. package/dist/components/navigation/VerticalNavigation/VerticalNavigationAvatarStyles.d.ts +3296 -0
  95. package/{components → dist/components}/navigation/VerticalNavigation/VerticalNavigationAvatarStyles.js +5 -5
  96. package/dist/components/navigation/VerticalNavigation/VerticalNavigationItem/VerticalNavigationItem.d.ts +4 -0
  97. package/dist/components/navigation/VerticalNavigation/VerticalNavigationItem/VerticalNavigationItem.js +99 -0
  98. package/{components → dist/components}/navigation/VerticalNavigation/VerticalNavigationItem/VerticalNavigationItemFlyoutMenu.d.ts +1 -1
  99. package/{components → dist/components}/navigation/VerticalNavigation/VerticalNavigationItem/VerticalNavigationItemFlyoutMenu.js +1 -1
  100. package/{components → dist/components}/navigation/VerticalNavigation/VerticalNavigationItem/VerticalNavigationItemFlyoutMenuStyles.d.ts +1 -1
  101. package/{components → dist/components}/navigation/VerticalNavigation/VerticalNavigationItem/VerticalNavigationItemFlyoutMenuStyles.js +0 -0
  102. package/{components → dist/components}/navigation/VerticalNavigation/VerticalNavigationItem/VerticalNavigationItemStyles.d.ts +1 -3
  103. package/{components → dist/components}/navigation/VerticalNavigation/VerticalNavigationItem/VerticalNavigationItemStyles.js +3 -5
  104. package/{components → dist/components}/navigation/VerticalNavigation/VerticalNavigationMotion.d.ts +0 -0
  105. package/{components → dist/components}/navigation/VerticalNavigation/VerticalNavigationMotion.js +0 -0
  106. package/dist/components/navigation/VerticalNavigation/VerticalNavigationStyles.d.ts +1163 -0
  107. package/{components → dist/components}/navigation/VerticalNavigation/VerticalNavigationStyles.js +5 -4
  108. package/{components → dist/components}/pages/ErrorPage/ErrorPage.d.ts +0 -0
  109. package/{components → dist/components}/pages/ErrorPage/ErrorPage.js +0 -0
  110. package/{components → dist/components}/pages/ErrorPage/ErrorPageStyles.d.ts +0 -0
  111. package/{components → dist/components}/pages/ErrorPage/ErrorPageStyles.js +0 -0
  112. package/{components → dist/components}/pages/SideInSide/SideInSide.d.ts +0 -0
  113. package/{components → dist/components}/pages/SideInSide/SideInSide.js +0 -0
  114. package/{components → dist/components}/pages/SideInSide/SideInSideStyles.d.ts +0 -0
  115. package/{components → dist/components}/pages/SideInSide/SideInSideStyles.js +0 -0
  116. package/{components → dist/components}/stream/AppSwitcher/AppSwitcher.d.ts +1 -9
  117. package/{components → dist/components}/stream/AppSwitcher/AppSwitcher.js +6 -6
  118. package/{components → dist/components}/stream/AppSwitcher/AppSwitcherItem.d.ts +0 -0
  119. package/{components → dist/components}/stream/AppSwitcher/AppSwitcherItem.js +0 -0
  120. package/{components → dist/components}/stream/AppSwitcher/AppSwitcherStyles.d.ts +2 -2
  121. package/{components → dist/components}/stream/AppSwitcher/AppSwitcherStyles.js +16 -16
  122. package/{components → dist/components}/stream/AppSwitcher/constants.d.ts +0 -0
  123. package/{components → dist/components}/stream/AppSwitcher/constants.js +2 -2
  124. package/{index.d.ts → dist/index.d.ts} +1 -0
  125. package/{index.js → dist/index.js} +1 -0
  126. package/{lang → dist/lang}/en-us.d.ts +0 -0
  127. package/{lang → dist/lang}/en-us.js +0 -0
  128. package/dist/package.json +41 -0
  129. package/dist/types/components/navigation/VerticalNavigation.d.ts +49 -0
  130. package/dist/types/components/navigation/VerticalNavigation.js +1 -0
  131. package/{components/navigation/VerticalNavigation → dist/types/components/navigation}/VerticalNavigationAvatar.d.ts +3 -4
  132. package/dist/types/components/navigation/VerticalNavigationAvatar.js +1 -0
  133. package/dist/types/components/stream/AppSwitcher.d.ts +9 -0
  134. package/dist/types/components/stream/AppSwitcher.js +1 -0
  135. package/dist/types/index.d.ts +3 -0
  136. package/dist/types/index.js +3 -0
  137. package/{utils → dist/utils}/constants.d.ts +1 -0
  138. package/dist/utils/constants.js +9 -0
  139. package/dist/utils/helpers.d.ts +21 -0
  140. package/dist/utils/helpers.js +64 -0
  141. package/{utils → dist/utils}/hooks.d.ts +0 -0
  142. package/{utils → dist/utils}/hooks.js +0 -0
  143. package/{utils → dist/utils}/index.d.ts +0 -0
  144. package/{utils → dist/utils}/index.js +0 -0
  145. package/{utils → dist/utils}/theme.d.ts +2 -2
  146. package/{utils → dist/utils}/theme.js +3 -3
  147. package/jest.config.ts +11 -0
  148. package/jest.setup.ts +5 -0
  149. package/{LICENSE → license} +0 -0
  150. package/merge.js +27 -0
  151. package/package.json +72 -5
  152. package/public/android-chrome-192x192.png +0 -0
  153. package/public/android-chrome-512x512.png +0 -0
  154. package/public/apple-touch-icon.png +0 -0
  155. package/public/assets/atoms.svg +5 -0
  156. package/public/assets/automation.svg +1 -0
  157. package/public/assets/avatar-1.jpg +0 -0
  158. package/public/assets/avatar-2.jpg +0 -0
  159. package/public/assets/avatar-3.jpg +0 -0
  160. package/public/assets/flux/icon-dark.svg +6 -0
  161. package/public/assets/flux/icon-light.svg +1 -0
  162. package/public/assets/flux/icon-white.svg +6 -0
  163. package/public/assets/flux/icon.svg +6 -0
  164. package/public/assets/flux/logo-dark.svg +22 -0
  165. package/public/assets/flux/logo-light.svg +1 -0
  166. package/public/assets/flux/logo-white.svg +22 -0
  167. package/public/assets/flux/logo.svg +22 -0
  168. package/public/assets/iPhone6.jpg +0 -0
  169. package/public/assets/iPhone6Plus.jpg +0 -0
  170. package/public/assets/lp-logo.png +0 -0
  171. package/public/assets/lplogo.svg +1 -0
  172. package/public/assets/molecules.svg +8 -0
  173. package/public/assets/organisms.svg +21 -0
  174. package/public/assets/pages.svg +4 -0
  175. package/public/assets/particles.svg +3 -0
  176. package/public/assets/stream-dark.png +0 -0
  177. package/public/assets/stream-suite-logo.svg +38 -0
  178. package/public/assets/stream-white.png +0 -0
  179. package/public/assets/stream.png +0 -0
  180. package/public/assets/templates.svg +3 -0
  181. package/public/favicon-16x16.png +0 -0
  182. package/public/favicon-32x32.png +0 -0
  183. package/public/favicon.ico +0 -0
  184. package/public/index.html +43 -0
  185. package/public/logo192.png +0 -0
  186. package/public/logo512.png +0 -0
  187. package/public/manifest.json +25 -0
  188. package/public/robots.txt +3 -0
  189. package/public/site.webmanifest +1 -0
  190. package/{README.md → readme.md} +0 -0
  191. package/src/docs.tsx +167 -0
  192. package/src/lib/assets/Images.tsx +47 -0
  193. package/src/lib/assets/stream-suite-logo.svg +38 -0
  194. package/src/lib/components/atoms/Autocomplete/Autocomplete.test.tsx +179 -0
  195. package/src/lib/components/atoms/Autocomplete/Autocomplete.tsx +14 -0
  196. package/src/lib/components/atoms/Button/Button.test.tsx +166 -0
  197. package/src/lib/components/atoms/Button/Button.tsx +16 -0
  198. package/src/lib/components/atoms/Checkbox/Checkbox.test.tsx +85 -0
  199. package/src/lib/components/atoms/Checkbox/Checkbox.tsx +10 -0
  200. package/src/lib/components/atoms/IconButton/IconButton.test.tsx +60 -0
  201. package/src/lib/components/atoms/IconButton/IconButton.tsx +9 -0
  202. package/src/lib/components/atoms/Radio/Radio.test.tsx +136 -0
  203. package/src/lib/components/atoms/Radio/Radio.tsx +10 -0
  204. package/src/lib/components/atoms/Select/Select.test.tsx +158 -0
  205. package/src/lib/components/atoms/Select/Select.tsx +12 -0
  206. package/src/lib/components/atoms/Slider/Slider.test.tsx +103 -0
  207. package/src/lib/components/atoms/Slider/Slider.tsx +10 -0
  208. package/src/lib/components/atoms/Switch/Switch.test.tsx +96 -0
  209. package/src/lib/components/atoms/Switch/Switch.tsx +10 -0
  210. package/src/lib/components/atoms/TextField/TextField.test.tsx +131 -0
  211. package/src/lib/components/atoms/TextField/TextField.tsx +31 -0
  212. package/src/lib/components/atoms/ToggleButton/ToggleButton.test.tsx +122 -0
  213. package/src/lib/components/atoms/ToggleButton/ToggleButton.tsx +10 -0
  214. package/src/lib/components/datadisplay/Avatar/Avatar.test.tsx +187 -0
  215. package/src/lib/components/datadisplay/Avatar/Avatar.tsx +35 -0
  216. package/src/lib/components/datadisplay/Avatar/avatar-1.jpg +0 -0
  217. package/src/lib/components/datadisplay/Chip/Chip.test.tsx +82 -0
  218. package/src/lib/components/datadisplay/Chip/Chip.tsx +11 -0
  219. package/src/lib/components/datadisplay/List/List.test.tsx +168 -0
  220. package/src/lib/components/datadisplay/List/List.tsx +8 -0
  221. package/src/lib/components/datadisplay/Tooltip/Tooltip.test.tsx +98 -0
  222. package/src/lib/components/datadisplay/Tooltip/Tooltip.tsx +9 -0
  223. package/src/lib/components/feedback/Alert/Alert.test.tsx +139 -0
  224. package/src/lib/components/feedback/Alert/Alert.tsx +10 -0
  225. package/src/lib/components/landmarks/Header/Header.tsx +140 -0
  226. package/src/lib/components/landmarks/Header/HeaderActionButtons.tsx +117 -0
  227. package/src/lib/components/landmarks/Header/HeaderStyles.tsx +62 -0
  228. package/src/lib/components/navigation/Drawer/Drawer.test.tsx +95 -0
  229. package/src/lib/components/navigation/Drawer/Drawer.tsx +21 -0
  230. package/src/lib/components/navigation/MobileNavigation/MobileNavigation.tsx +276 -0
  231. package/src/lib/components/navigation/MobileNavigation/MobileNavigationAvatar.tsx +334 -0
  232. package/src/lib/components/navigation/MobileNavigation/MobileNavigationAvatarStyles.tsx +77 -0
  233. package/src/lib/components/navigation/MobileNavigation/MobileNavigationDrawer.tsx +197 -0
  234. package/src/lib/components/navigation/MobileNavigation/MobileNavigationDrawerStyles.tsx +143 -0
  235. package/src/lib/components/navigation/MobileNavigation/MobileNavigationItem/MobileNavigationItem.tsx +192 -0
  236. package/src/lib/components/navigation/MobileNavigation/MobileNavigationItem/MobileNavigationItemFlyoutMenu.tsx +67 -0
  237. package/src/lib/components/navigation/MobileNavigation/MobileNavigationItem/MobileNavigationItemFlyoutMenuStyles.tsx +192 -0
  238. package/src/lib/components/navigation/MobileNavigation/MobileNavigationItem/MobileNavigationItemStyles.tsx +217 -0
  239. package/src/lib/components/navigation/MobileNavigation/MobileNavigationMotion.tsx +119 -0
  240. package/src/lib/components/navigation/MobileNavigation/MobileNavigationNotchIndicator.tsx +35 -0
  241. package/src/lib/components/navigation/MobileNavigation/MobileNavigationSearch.tsx +114 -0
  242. package/src/lib/components/navigation/MobileNavigation/MobileNavigationSearchStyles.tsx +47 -0
  243. package/src/lib/components/navigation/MobileNavigation/MobileNavigationStyles.tsx +320 -0
  244. package/src/lib/components/navigation/MobileNavigation/MobileNavigationToggleSearchX.tsx +59 -0
  245. package/src/lib/components/navigation/MobileNavigation/MobileNavigationToggleX.tsx +51 -0
  246. package/src/lib/components/navigation/VerticalNavigation/VerticalNavigation.tsx +467 -0
  247. package/src/lib/components/navigation/VerticalNavigation/VerticalNavigationAvatar.tsx +208 -0
  248. package/src/lib/components/navigation/VerticalNavigation/VerticalNavigationAvatarStyles.tsx +75 -0
  249. package/src/lib/components/navigation/VerticalNavigation/VerticalNavigationItem/VerticalNavigationItem.tsx +196 -0
  250. package/src/lib/components/navigation/VerticalNavigation/VerticalNavigationItem/VerticalNavigationItemFlyoutMenu.tsx +94 -0
  251. package/src/lib/components/navigation/VerticalNavigation/VerticalNavigationItem/VerticalNavigationItemFlyoutMenuStyles.tsx +212 -0
  252. package/src/lib/components/navigation/VerticalNavigation/VerticalNavigationItem/VerticalNavigationItemStyles.tsx +240 -0
  253. package/src/lib/components/navigation/VerticalNavigation/VerticalNavigationMotion.tsx +119 -0
  254. package/src/lib/components/navigation/VerticalNavigation/VerticalNavigationStyles.tsx +303 -0
  255. package/src/lib/components/pages/ErrorPage/ErrorPage.test.tsx +78 -0
  256. package/src/lib/components/pages/ErrorPage/ErrorPage.tsx +50 -0
  257. package/src/lib/components/pages/ErrorPage/ErrorPageStyles.tsx +30 -0
  258. package/src/lib/components/pages/SideInSide/SideInSide.tsx +100 -0
  259. package/src/lib/components/pages/SideInSide/SideInSideStyles.tsx +62 -0
  260. package/src/lib/components/stream/AppSwitcher/AppSwitcher.tsx +392 -0
  261. package/src/lib/components/stream/AppSwitcher/AppSwitcherItem.tsx +83 -0
  262. package/src/lib/components/stream/AppSwitcher/AppSwitcherStyles.tsx +325 -0
  263. package/src/lib/components/stream/AppSwitcher/constants.tsx +28 -0
  264. package/src/lib/index.tsx +148 -0
  265. package/src/lib/lang/en-us.js +6 -0
  266. package/src/lib/types/components/navigation/VerticalNavigation.ts +52 -0
  267. package/src/lib/types/components/navigation/VerticalNavigationAvatar.ts +26 -0
  268. package/src/lib/types/components/stream/AppSwitcher.ts +10 -0
  269. package/src/lib/types/index.ts +9 -0
  270. package/src/lib/utils/constants.tsx +11 -0
  271. package/src/lib/utils/helpers.tsx +77 -0
  272. package/src/lib/utils/hooks.tsx +33 -0
  273. package/src/lib/utils/index.tsx +4 -0
  274. package/src/lib/utils/theme.tsx +79 -0
  275. package/src/react-app-env.d.ts +1 -0
  276. package/src/setupTests.ts +5 -0
  277. package/src/stories/Components/DataDisplay/Avatar/Accessibility.stories.mdx +34 -0
  278. package/src/stories/Components/DataDisplay/Avatar/AllCombinations.tsx +56 -0
  279. package/src/stories/Components/DataDisplay/Avatar/Avatar.stories.tsx +19 -0
  280. package/src/stories/Components/DataDisplay/Avatar/Examples.stories.tsx +278 -0
  281. package/src/stories/Components/DataDisplay/Avatar/Overview.stories.mdx +47 -0
  282. package/src/stories/Components/DataDisplay/Chip/Accessibility.stories.mdx +29 -0
  283. package/src/stories/Components/DataDisplay/Chip/AllCombinations.tsx +58 -0
  284. package/src/stories/Components/DataDisplay/Chip/Chip.stories.tsx +21 -0
  285. package/src/stories/Components/DataDisplay/Chip/Examples.stories.tsx +126 -0
  286. package/src/stories/Components/DataDisplay/Chip/Overview.stories.mdx +57 -0
  287. package/src/stories/Components/DataDisplay/List/Accessibility.stories.mdx +54 -0
  288. package/src/stories/Components/DataDisplay/List/AllCombinations.tsx +396 -0
  289. package/src/stories/Components/DataDisplay/List/Examples.stories.tsx +501 -0
  290. package/src/stories/Components/DataDisplay/List/List.stories.tsx +35 -0
  291. package/src/stories/Components/DataDisplay/List/Overview.stories.mdx +69 -0
  292. package/src/stories/Components/DataDisplay/Table/Overview.stories.mdx +70 -0
  293. package/src/stories/Components/DataDisplay/Tooltip/Accessibility.stories.mdx +39 -0
  294. package/src/stories/Components/DataDisplay/Tooltip/AllCombinations.tsx +134 -0
  295. package/src/stories/Components/DataDisplay/Tooltip/Examples.stories.tsx +237 -0
  296. package/src/stories/Components/DataDisplay/Tooltip/Overview.stories.mdx +58 -0
  297. package/src/stories/Components/DataDisplay/Tooltip/Tooltip.stories.tsx +22 -0
  298. package/src/stories/Components/Feedback/Alert/Accessibility.stories.mdx +25 -0
  299. package/src/stories/Components/Feedback/Alert/Alert.stories.tsx +22 -0
  300. package/src/stories/Components/Feedback/Alert/AllCombinations.tsx +37 -0
  301. package/src/stories/Components/Feedback/Alert/Examples.stories.tsx +137 -0
  302. package/src/stories/Components/Feedback/Alert/Overview.stories.mdx +62 -0
  303. package/src/stories/Components/Inputs/Autocomplete/Accessibility.stories.mdx +31 -0
  304. package/src/stories/Components/Inputs/Autocomplete/AllCombinations.tsx +182 -0
  305. package/src/stories/Components/Inputs/Autocomplete/Autocomplete.stories.tsx +31 -0
  306. package/src/stories/Components/Inputs/Autocomplete/Examples.stories.tsx +233 -0
  307. package/src/stories/Components/Inputs/Autocomplete/Overview.stories.mdx +52 -0
  308. package/src/stories/Components/Inputs/Button/Accessibility.stories.mdx +52 -0
  309. package/src/stories/Components/Inputs/Button/AllCombinations.tsx +53 -0
  310. package/src/stories/Components/Inputs/Button/Button.stories.tsx +23 -0
  311. package/src/stories/Components/Inputs/Button/Examples.stories.tsx +190 -0
  312. package/src/stories/Components/Inputs/Button/Overview.stories.mdx +52 -0
  313. package/src/stories/Components/Inputs/Checkbox/Accessibility.stories.mdx +38 -0
  314. package/src/stories/Components/Inputs/Checkbox/AllCombinations.tsx +55 -0
  315. package/src/stories/Components/Inputs/Checkbox/Checkbox.stories.tsx +22 -0
  316. package/src/stories/Components/Inputs/Checkbox/Examples.stories.tsx +363 -0
  317. package/src/stories/Components/Inputs/Checkbox/Overview.stories.mdx +63 -0
  318. package/src/stories/Components/Inputs/IconButton/Examples.stories.tsx +24 -0
  319. package/src/stories/Components/Inputs/IconButton/IconButton.stories.tsx +26 -0
  320. package/src/stories/Components/Inputs/Radio/Accessibility.stories.mdx +61 -0
  321. package/src/stories/Components/Inputs/Radio/AllCombinations.tsx +75 -0
  322. package/src/stories/Components/Inputs/Radio/Examples.stories.tsx +333 -0
  323. package/src/stories/Components/Inputs/Radio/Overview.stories.mdx +74 -0
  324. package/src/stories/Components/Inputs/Radio/Radio.stories.tsx +22 -0
  325. package/src/stories/Components/Inputs/Select/Accessibility.stories.mdx +51 -0
  326. package/src/stories/Components/Inputs/Select/AllCombinations.tsx +63 -0
  327. package/src/stories/Components/Inputs/Select/Examples.stories.tsx +803 -0
  328. package/src/stories/Components/Inputs/Select/Overview.stories.mdx +73 -0
  329. package/src/stories/Components/Inputs/Select/Select.stories.tsx +22 -0
  330. package/src/stories/Components/Inputs/Slider/Accessibility.stories.mdx +43 -0
  331. package/src/stories/Components/Inputs/Slider/AllCombinations.tsx +30 -0
  332. package/src/stories/Components/Inputs/Slider/Examples.stories.tsx +146 -0
  333. package/src/stories/Components/Inputs/Slider/Overview.stories.mdx +59 -0
  334. package/src/stories/Components/Inputs/Slider/Slider.stories.tsx +27 -0
  335. package/src/stories/Components/Inputs/Switch/Accessibility.stories.mdx +34 -0
  336. package/src/stories/Components/Inputs/Switch/AllCombinations.tsx +45 -0
  337. package/src/stories/Components/Inputs/Switch/Examples.stories.tsx +213 -0
  338. package/src/stories/Components/Inputs/Switch/Overview.stories.mdx +62 -0
  339. package/src/stories/Components/Inputs/Switch/Switch.stories.tsx +22 -0
  340. package/src/stories/Components/Inputs/TextField/Accessibility.stories.mdx +29 -0
  341. package/src/stories/Components/Inputs/TextField/AllCombinations.tsx +57 -0
  342. package/src/stories/Components/Inputs/TextField/Examples.stories.tsx +127 -0
  343. package/src/stories/Components/Inputs/TextField/Overview.stories.mdx +60 -0
  344. package/src/stories/Components/Inputs/TextField/TextField.stories.tsx +261 -0
  345. package/src/stories/Components/Inputs/ToggleButton/Accessibility.stories.mdx +32 -0
  346. package/src/stories/Components/Inputs/ToggleButton/AllCombinations.tsx +113 -0
  347. package/src/stories/Components/Inputs/ToggleButton/Examples.stories.tsx +339 -0
  348. package/src/stories/Components/Inputs/ToggleButton/Overview.stories.mdx +55 -0
  349. package/src/stories/Components/Inputs/ToggleButton/ToggleButton.stories.tsx +19 -0
  350. package/src/stories/Components/Landmarks/Header/Examples.stories.tsx +197 -0
  351. package/src/stories/Components/Landmarks/Header/Header.stories.tsx +34 -0
  352. package/src/stories/Components/Landmarks/Header/Overview.stories.mdx +44 -0
  353. package/src/stories/Components/Navigation/Drawer/Accessibility.stories.mdx +13 -0
  354. package/src/stories/Components/Navigation/Drawer/Drawer.stories.tsx +80 -0
  355. package/src/stories/Components/Navigation/Drawer/Examples.stories.tsx +440 -0
  356. package/src/stories/Components/Navigation/Drawer/Overview.stories.mdx +43 -0
  357. package/src/stories/Components/Navigation/MobileNavigation/Accessibility.stories.mdx +14 -0
  358. package/src/stories/Components/Navigation/MobileNavigation/Examples.stories.tsx +384 -0
  359. package/src/stories/Components/Navigation/MobileNavigation/MobileNavigation.stories.tsx +24 -0
  360. package/src/stories/Components/Navigation/MobileNavigation/Overview.stories.mdx +47 -0
  361. package/src/stories/Components/Navigation/VerticalNavigation/Accessibility.stories.mdx +14 -0
  362. package/src/stories/Components/Navigation/VerticalNavigation/Examples.stories.tsx +307 -0
  363. package/src/stories/Components/Navigation/VerticalNavigation/Overview.stories.mdx +47 -0
  364. package/src/stories/Components/Navigation/VerticalNavigation/VerticalNavigation.stories.tsx +24 -0
  365. package/src/stories/ContactUs.stories.mdx +21 -0
  366. package/src/stories/Experimental/Test.stories.mdx +46 -0
  367. package/src/stories/GettingStarted/Designer.stories.mdx +86 -0
  368. package/src/stories/GettingStarted/Developer.stories.mdx +134 -0
  369. package/src/stories/Guidelines/Accessibility/AssistiveTechnology.stories.mdx +70 -0
  370. package/src/stories/Guidelines/Accessibility/ColorAndContrast.stories.mdx +109 -0
  371. package/src/stories/Guidelines/Accessibility/Hierarchy.stories.mdx +119 -0
  372. package/src/stories/Guidelines/Accessibility/Imagery.stories.mdx +136 -0
  373. package/src/stories/Guidelines/Accessibility/Overview.stories.mdx +44 -0
  374. package/src/stories/Guidelines/Accessibility/Principles.stories.mdx +156 -0
  375. package/src/stories/Guidelines/Accessibility/SoundAndMotion.stories.mdx +59 -0
  376. package/src/stories/Guidelines/Accessibility/Typography.stories.mdx +69 -0
  377. package/src/stories/Guidelines/Accessibility/Writing.stories.mdx +188 -0
  378. package/src/stories/Guidelines/Styleguide/ColorSwatch.tsx +53 -0
  379. package/src/stories/Guidelines/Styleguide/Colors.stories.mdx +118 -0
  380. package/src/stories/Guidelines/Styleguide/Typography.stories.mdx +84 -0
  381. package/src/stories/Introduction.stories.mdx +65 -0
  382. package/src/stories/Pages/ErrorPage.stories.tsx +30 -0
  383. package/src/stories/Pages/SideInSide.stories.tsx +195 -0
  384. package/src/stories/Roadmap.stories.mdx +19 -0
  385. package/src/stories/Templates/Login.stories.mdx +46 -0
  386. package/src/stories/assets/Atomic_Design_Icons-Dark.svg +24 -0
  387. package/src/stories/assets/Atomic_Design_Icons-Light.svg +25 -0
  388. package/src/stories/assets/accessibility-1.png +0 -0
  389. package/src/stories/assets/accessibility-2.png +0 -0
  390. package/src/stories/assets/accessibility-3.png +0 -0
  391. package/src/stories/assets/accessibility-banner.png +0 -0
  392. package/src/stories/assets/atoms.svg +6 -0
  393. package/src/stories/assets/design_system_2022-02-11_12.22pm.png +0 -0
  394. package/src/stories/assets/figma-tokens.png +0 -0
  395. package/src/stories/assets/hierarchy-1.jpg +0 -0
  396. package/src/stories/assets/hierarchy-2.jpg +0 -0
  397. package/src/stories/assets/hierarchy-3.jpg +0 -0
  398. package/src/stories/assets/icon-contrast-1.jpg +0 -0
  399. package/src/stories/assets/icon-contrast-2.jpg +0 -0
  400. package/src/stories/assets/imagery-1.png +0 -0
  401. package/src/stories/assets/imagery-2.png +0 -0
  402. package/src/stories/assets/imagery-3.png +0 -0
  403. package/src/stories/assets/imagery-4.jpg +0 -0
  404. package/src/stories/assets/molecules.svg +9 -0
  405. package/src/stories/assets/organisms.svg +22 -0
  406. package/src/stories/assets/pages.svg +5 -0
  407. package/src/stories/assets/particles.svg +4 -0
  408. package/src/stories/assets/templates.svg +4 -0
  409. package/src/stories/assets/testData.tsx +102 -0
  410. package/src/stories/assets/text-contrast-1.jpg +0 -0
  411. package/src/stories/assets/text-contrast-2.jpg +0 -0
  412. package/src/stories/assets/typography-1.png +0 -0
  413. package/src/stories/assets/visual-clues-1.png +0 -0
  414. package/src/stories/assets/visual-clues-2.png +0 -0
  415. package/src/stories/assets/writing-1.jpg +0 -0
  416. package/src/stories/assets/writing-2.png +0 -0
  417. package/src/stories/assets/writing-3.png +0 -0
  418. package/src/stories/assets/writing-4.png +0 -0
  419. package/src/stories/utils/CustomIcons.tsx +44 -0
  420. package/tsconfig.eslint.json +16 -0
  421. package/tsconfig.json +50 -0
  422. package/components/navigation/MobileNavigation/MobileNavigationAvatarStyles.d.ts +0 -827
  423. package/components/navigation/MobileNavigation/MobileNavigationDrawer.js +0 -148
  424. package/components/navigation/MobileNavigation/MobileNavigationDrawerStyles.d.ts +0 -392
  425. package/components/navigation/MobileNavigation/MobileNavigationSearchStyles.d.ts +0 -257
  426. package/components/navigation/MobileNavigation/MobileNavigationStyles.d.ts +0 -405
  427. package/components/navigation/MobileNavigation/MobileNavigationToggleSearchX.d.ts +0 -2
  428. package/components/navigation/MobileNavigation/MobileNavigationToggleSearchX.js +0 -32
  429. package/components/navigation/MobileNavigation/MobileNavigationToggleX.d.ts +0 -2
  430. package/components/navigation/MobileNavigation/MobileNavigationToggleX.js +0 -26
  431. package/components/navigation/MobileNavigation/MobileNavigationToggleXStyles.d.ts +0 -36
  432. package/components/navigation/MobileNavigation/MobileNavigationToggleXStyles.js +0 -10
  433. package/components/navigation/VerticalNavigation/VerticalNavigationAvatar.js +0 -84
  434. package/components/navigation/VerticalNavigation/VerticalNavigationAvatarStyles.d.ts +0 -827
  435. package/components/navigation/VerticalNavigation/VerticalNavigationItem/VerticalNavigationItem.d.ts +0 -19
  436. package/components/navigation/VerticalNavigation/VerticalNavigationItem/VerticalNavigationItem.js +0 -91
  437. package/utils/constants.js +0 -6
  438. package/utils/helpers.d.ts +0 -6
  439. package/utils/helpers.js +0 -17
@@ -0,0 +1,501 @@
1
+ import { ComponentMeta, ComponentStory } from '@storybook/react'
2
+ import * as React from 'react'
3
+ import { DOCS } from '../../../../docs'
4
+ import List from '../../../../lib/components/datadisplay/List/List'
5
+ import Checkbox from '../../../../lib/components/atoms/Checkbox/Checkbox'
6
+ import IconButton from '../../../../lib/components/atoms/IconButton/IconButton'
7
+ import {
8
+ ListItem, ListItemButton, ListItemIcon,
9
+ ListItemText, ListSubheader, ListItemAvatar
10
+ } from '../../../../lib/'
11
+ import {
12
+ Stack, Box, Typography,
13
+ Avatar, Divider, Collapse
14
+ } from '@mui/material'
15
+ import InboxIcon from '@mui/icons-material/Inbox'
16
+ import DraftsIcon from '@mui/icons-material/Drafts'
17
+ import ImageIcon from '@mui/icons-material/Image'
18
+ import WorkIcon from '@mui/icons-material/Work'
19
+ import BeachAccessIcon from '@mui/icons-material/BeachAccess'
20
+ import SendIcon from '@mui/icons-material/Send'
21
+ import ExpandLess from '@mui/icons-material/ExpandLess'
22
+ import ExpandMore from '@mui/icons-material/ExpandMore'
23
+ import StarBorder from '@mui/icons-material/StarBorder'
24
+ import CommentIcon from '@mui/icons-material/Comment'
25
+ import AllCombinations from './AllCombinations'
26
+
27
+ export default {
28
+ title: 'Components/Data Display/List/Examples',
29
+ component: List
30
+ } as ComponentMeta<typeof List>
31
+
32
+ export const Default: ComponentStory<typeof List> = (args) => {
33
+ return (
34
+ <Box sx={{ width: '100%', minWidth: 360, bgcolor: 'background.paper' }}>
35
+ <nav aria-label="Demo List">
36
+ <List>
37
+ <ListItem disablePadding>
38
+ <ListItemButton>
39
+ <ListItemText primary="One" />
40
+ </ListItemButton>
41
+ </ListItem>
42
+ <ListItem disablePadding>
43
+ <ListItemButton>
44
+ <ListItemText primary="Two" />
45
+ </ListItemButton>
46
+ </ListItem>
47
+ <ListItem disablePadding>
48
+ <ListItemButton>
49
+ <ListItemText primary="Three" />
50
+ </ListItemButton>
51
+ </ListItem>
52
+ <ListItem disablePadding>
53
+ <ListItemButton>
54
+ <ListItemText primary="Four" />
55
+ </ListItemButton>
56
+ </ListItem>
57
+ <ListItem disablePadding>
58
+ <ListItemButton>
59
+ <ListItemText primary="Five" />
60
+ </ListItemButton>
61
+ </ListItem>
62
+ </List>
63
+ </nav>
64
+ </Box>
65
+ )
66
+ }
67
+ Default.parameters = {
68
+ docs: {
69
+ description: {
70
+ component: DOCS.List.Default
71
+ }
72
+ },
73
+ backgrounds: { default: 'light' }
74
+ }
75
+
76
+ export const Basic: ComponentStory<typeof AllCombinations> = (args) => {
77
+ return (
78
+ <Box sx={{ width: '100%', minWidth: 360, bgcolor: 'background.paper' }}>
79
+ <nav aria-label="main mailbox folders">
80
+ <List>
81
+ <ListItem disablePadding>
82
+ <ListItemButton>
83
+ <ListItemIcon>
84
+ <InboxIcon />
85
+ </ListItemIcon>
86
+ <ListItemText primary="Inbox" />
87
+ </ListItemButton>
88
+ </ListItem>
89
+ <ListItem disablePadding>
90
+ <ListItemButton>
91
+ <ListItemIcon>
92
+ <DraftsIcon />
93
+ </ListItemIcon>
94
+ <ListItemText primary="Drafts" />
95
+ </ListItemButton>
96
+ </ListItem>
97
+ </List>
98
+ </nav>
99
+ <Divider />
100
+ <nav aria-label="secondary mailbox folders">
101
+ <List>
102
+ <ListItem disablePadding>
103
+ <ListItemButton>
104
+ <ListItemText primary="Trash" />
105
+ </ListItemButton>
106
+ </ListItem>
107
+ <ListItem disablePadding>
108
+ <ListItemButton component="a" href="#simple-list">
109
+ <ListItemText primary="Spam" />
110
+ </ListItemButton>
111
+ </ListItem>
112
+ </List>
113
+ </nav>
114
+ </Box>
115
+ )
116
+ }
117
+ Basic.parameters = {
118
+ docs: {
119
+ description: {
120
+ story: DOCS.List.Basic
121
+ }
122
+ },
123
+ backgrounds: { default: 'light' }
124
+ }
125
+
126
+ export const Nested: ComponentStory<typeof AllCombinations> = (args) => {
127
+ const [open, setOpen] = React.useState(true)
128
+
129
+ const handleClick = (): void => {
130
+ setOpen(!open)
131
+ }
132
+
133
+ return (
134
+ <List
135
+ sx={{ width: '100%', minWidth: 360, bgcolor: 'background.paper' }}
136
+ component="nav"
137
+ aria-labelledby="nested-list-subheader"
138
+ subheader={
139
+ <ListSubheader component="div" id="nested-list-subheader">
140
+ Nested List Items
141
+ </ListSubheader>
142
+ }
143
+ >
144
+ <ListItemButton>
145
+ <ListItemIcon>
146
+ <SendIcon />
147
+ </ListItemIcon>
148
+ <ListItemText primary="Sent mail" />
149
+ </ListItemButton>
150
+ <ListItemButton>
151
+ <ListItemIcon>
152
+ <DraftsIcon />
153
+ </ListItemIcon>
154
+ <ListItemText primary="Drafts" />
155
+ </ListItemButton>
156
+ <ListItemButton onClick={handleClick}>
157
+ <ListItemIcon>
158
+ <InboxIcon />
159
+ </ListItemIcon>
160
+ <ListItemText primary="Inbox" />
161
+ {open ? <ExpandLess /> : <ExpandMore />}
162
+ </ListItemButton>
163
+ <Collapse in={open} timeout="auto" unmountOnExit>
164
+ <List component="div" disablePadding>
165
+ <ListItemButton sx={{ pl: 4 }}>
166
+ <ListItemIcon>
167
+ <StarBorder />
168
+ </ListItemIcon>
169
+ <ListItemText primary="Starred" />
170
+ </ListItemButton>
171
+ </List>
172
+ </Collapse>
173
+ </List>
174
+ )
175
+ }
176
+ Nested.parameters = {
177
+ docs: {
178
+ description: {
179
+ story: DOCS.List.Nested
180
+ }
181
+ },
182
+ backgrounds: { default: 'light' }
183
+ }
184
+
185
+ export const Folder: ComponentStory<typeof AllCombinations> = (args) => {
186
+ return (
187
+ <List sx={{ width: '100%', minWidth: 360, bgcolor: 'background.paper' }}>
188
+ <ListItem>
189
+ <ListItemAvatar>
190
+ <Avatar>
191
+ <ImageIcon />
192
+ </Avatar>
193
+ </ListItemAvatar>
194
+ <ListItemText primary="Photos" secondary="Jan 9, 2022" />
195
+ </ListItem>
196
+ <ListItem>
197
+ <ListItemAvatar>
198
+ <Avatar>
199
+ <WorkIcon />
200
+ </Avatar>
201
+ </ListItemAvatar>
202
+ <ListItemText primary="Work" secondary="Jan 7, 2022" />
203
+ </ListItem>
204
+ <ListItem>
205
+ <ListItemAvatar>
206
+ <Avatar>
207
+ <BeachAccessIcon />
208
+ </Avatar>
209
+ </ListItemAvatar>
210
+ <ListItemText primary="Vacation" secondary="July 20, 2021" />
211
+ </ListItem>
212
+ </List>
213
+ )
214
+ }
215
+ Folder.parameters = {
216
+ docs: {
217
+ description: {
218
+ story: DOCS.List.Folder
219
+ }
220
+ },
221
+ backgrounds: { default: 'light' }
222
+ }
223
+
224
+ export const SelectedListItem: ComponentStory<typeof AllCombinations> = (args) => {
225
+ const [selectedIndex, setSelectedIndex] = React.useState(1)
226
+
227
+ const handleListItemClick = (
228
+ event: React.MouseEvent<HTMLDivElement, MouseEvent>,
229
+ index: number
230
+ ): void => {
231
+ setSelectedIndex(index)
232
+ }
233
+
234
+ return (
235
+ <Box sx={{ width: '100%', minWidth: 360, bgcolor: 'background.paper' }}>
236
+ <List component="nav" aria-label="main mailbox folders">
237
+ <ListItemButton
238
+ selected={selectedIndex === 0}
239
+ onClick={(event) => handleListItemClick(event, 0)}
240
+ >
241
+ <ListItemIcon>
242
+ <InboxIcon />
243
+ </ListItemIcon>
244
+ <ListItemText primary="Inbox" />
245
+ </ListItemButton>
246
+ <ListItemButton
247
+ selected={selectedIndex === 1}
248
+ onClick={(event) => handleListItemClick(event, 1)}
249
+ >
250
+ <ListItemIcon>
251
+ <DraftsIcon />
252
+ </ListItemIcon>
253
+ <ListItemText primary="Drafts" />
254
+ </ListItemButton>
255
+ </List>
256
+ <Divider />
257
+ <List component="nav" aria-label="secondary mailbox folder">
258
+ <ListItemButton
259
+ selected={selectedIndex === 2}
260
+ onClick={(event) => handleListItemClick(event, 2)}
261
+ >
262
+ <ListItemText primary="Trash" />
263
+ </ListItemButton>
264
+ <ListItemButton
265
+ selected={selectedIndex === 3}
266
+ onClick={(event) => handleListItemClick(event, 3)}
267
+ >
268
+ <ListItemText primary="Spam" />
269
+ </ListItemButton>
270
+ </List>
271
+ </Box>
272
+ )
273
+ }
274
+ SelectedListItem.parameters = {
275
+ docs: {
276
+ description: {
277
+ story: DOCS.List.SelectedListItem
278
+ }
279
+ },
280
+ backgrounds: { default: 'light' }
281
+ }
282
+
283
+ export const AlignListItems: ComponentStory<typeof AllCombinations> = (args) => {
284
+ return (
285
+ <List sx={{ width: '100%', maxWidth: 360, bgcolor: 'background.paper' }}>
286
+ <ListItem alignItems="flex-start">
287
+ <ListItemAvatar>
288
+ <Avatar alt="Remy Sharp" />
289
+ </ListItemAvatar>
290
+ <ListItemText
291
+ primary="Brunch this weekend?"
292
+ secondary={
293
+ <React.Fragment>
294
+ <Typography
295
+ sx={{ display: 'inline' }}
296
+ component="span"
297
+ variant="body2"
298
+ color="text.primary"
299
+ >
300
+ Ali Connors
301
+ </Typography>
302
+ {" — I'll be in your neighborhood doing errands this…"}
303
+ </React.Fragment>
304
+ }
305
+ />
306
+ </ListItem>
307
+ <Divider variant="inset" component="li" />
308
+ <ListItem alignItems="flex-start">
309
+ <ListItemAvatar>
310
+ <Avatar alt="Travis Howard" />
311
+ </ListItemAvatar>
312
+ <ListItemText
313
+ primary="Summer BBQ"
314
+ secondary={
315
+ <React.Fragment>
316
+ <Typography
317
+ sx={{ display: 'inline' }}
318
+ component="span"
319
+ variant="body2"
320
+ color="text.primary"
321
+ >
322
+ to Scott, Alex, Jennifer
323
+ </Typography>
324
+ {" — Wish I could come, but I'm out of town this…"}
325
+ </React.Fragment>
326
+ }
327
+ />
328
+ </ListItem>
329
+ <Divider variant="inset" component="li" />
330
+ <ListItem alignItems="flex-start">
331
+ <ListItemAvatar>
332
+ <Avatar alt="Cindy Baker" />
333
+ </ListItemAvatar>
334
+ <ListItemText
335
+ primary="Oui Oui"
336
+ secondary={
337
+ <React.Fragment>
338
+ <Typography
339
+ sx={{ display: 'inline' }}
340
+ component="span"
341
+ variant="body2"
342
+ color="text.primary"
343
+ >
344
+ Sandra Adams
345
+ </Typography>
346
+ {' — Do you have Paris recommendations? Have you ever…'}
347
+ </React.Fragment>
348
+ }
349
+ />
350
+ </ListItem>
351
+ </List>
352
+ )
353
+ }
354
+ AlignListItems.parameters = {
355
+ docs: {
356
+ description: {
357
+ story: DOCS.List.AlignListItems
358
+ }
359
+ },
360
+ backgrounds: { default: 'light' }
361
+ }
362
+
363
+ export const ListControls: ComponentStory<typeof AllCombinations> = (args) => {
364
+ const [checked, setChecked] = React.useState([0])
365
+
366
+ const handleToggle = (value: number) => () => {
367
+ const currentIndex = checked.indexOf(value)
368
+ const newChecked = [...checked]
369
+
370
+ if (currentIndex === -1) {
371
+ newChecked.push(value)
372
+ } else {
373
+ newChecked.splice(currentIndex, 1)
374
+ }
375
+
376
+ setChecked(newChecked)
377
+ }
378
+
379
+ return (
380
+ <Stack spacing={2}>
381
+
382
+ <List sx={{ width: '100%', minWidth: 360, bgcolor: 'background.paper' }}>
383
+ {[0, 1, 2, 3].map((value) => {
384
+ const labelId = `checkbox-list-label-${value}`
385
+
386
+ return (
387
+ <ListItem
388
+ key={value}
389
+ secondaryAction={
390
+ <IconButton edge="end" aria-label="comments">
391
+ <CommentIcon />
392
+ </IconButton>
393
+ }
394
+ disablePadding
395
+ >
396
+ <ListItemButton role={undefined} onClick={handleToggle(value)} dense>
397
+ <ListItemIcon>
398
+ <Checkbox
399
+ edge="start"
400
+ checked={checked.includes(value)}
401
+ tabIndex={-1}
402
+ disableRipple
403
+ inputProps={{ 'aria-labelledby': labelId }}
404
+ />
405
+ </ListItemIcon>
406
+ <ListItemText id={labelId} primary={`Line item ${value + 1}`} />
407
+ </ListItemButton>
408
+ </ListItem>
409
+ )
410
+ })}
411
+ </List>
412
+
413
+ <List dense sx={{ width: '100%', minWidth: 360, bgcolor: 'background.paper' }}>
414
+ {[0, 1, 2, 3].map((value) => {
415
+ const labelId = `checkbox-list-secondary-label-${value}`
416
+ return (
417
+ <ListItem
418
+ key={value}
419
+ secondaryAction={
420
+ <Checkbox
421
+ edge="end"
422
+ onChange={handleToggle(value)}
423
+ checked={checked.includes(value)}
424
+ inputProps={{ 'aria-labelledby': labelId }}
425
+ />
426
+ }
427
+ disablePadding
428
+ >
429
+ <ListItemButton>
430
+ <ListItemAvatar>
431
+ <Avatar
432
+ alt={`Avatar n°${value + 1}`}
433
+ src={`/static/images/avatar/${value + 1}.jpg`}
434
+ />
435
+ </ListItemAvatar>
436
+ <ListItemText id={labelId} primary={`Line item ${value + 1}`} />
437
+ </ListItemButton>
438
+ </ListItem>
439
+ )
440
+ })}
441
+ </List>
442
+
443
+ </Stack>
444
+ )
445
+ }
446
+ ListControls.parameters = {
447
+ docs: {
448
+ description: {
449
+ story: DOCS.List.ListControls
450
+ }
451
+ },
452
+ backgrounds: { default: 'light' }
453
+ }
454
+
455
+ export const StickySubheader: ComponentStory<typeof AllCombinations> = (args) => (
456
+ <List
457
+ sx={{
458
+ width: '100%',
459
+ minWidth: 360,
460
+ bgcolor: 'background.paper',
461
+ position: 'relative',
462
+ overflow: 'auto',
463
+ maxHeight: 300,
464
+ '& ul': { padding: 0 }
465
+ }}
466
+ subheader={<li />}
467
+ >
468
+ {[0, 1, 2, 3, 4].map((sectionId) => (
469
+ <li key={`section-${sectionId}`}>
470
+ <ul>
471
+ <ListSubheader>{`I'm sticky ${sectionId}`}</ListSubheader>
472
+ {[0, 1, 2].map((item) => (
473
+ <ListItem key={`item-${sectionId}-${item}`}>
474
+ <ListItemText primary={`Item ${item}`} />
475
+ </ListItem>
476
+ ))}
477
+ </ul>
478
+ </li>
479
+ ))}
480
+ </List>
481
+ )
482
+ StickySubheader.parameters = {
483
+ docs: {
484
+ description: {
485
+ story: DOCS.List.StickySubheader
486
+ }
487
+ },
488
+ backgrounds: { default: 'light' }
489
+ }
490
+
491
+ export const All: ComponentStory<typeof AllCombinations> = (args) => (
492
+ <AllCombinations />
493
+ )
494
+ All.parameters = {
495
+ docs: {
496
+ description: {
497
+ story: DOCS.List.All
498
+ }
499
+ },
500
+ backgrounds: { default: 'light' }
501
+ }
@@ -0,0 +1,35 @@
1
+ import { ComponentMeta, ComponentStory } from '@storybook/react'
2
+ import * as React from 'react'
3
+ import List from '../../../../lib/components/datadisplay/List/List'
4
+ import { ListItem, ListItemText } from '../../../../lib/'
5
+
6
+ export default {
7
+ title: 'Components/Data Display/List/Properties',
8
+ component: List,
9
+ parameters: {
10
+ controls: {
11
+ sort: 'requiredFirst'
12
+ },
13
+ backgrounds: { default: 'light' }
14
+ }
15
+ } as ComponentMeta<typeof List>
16
+
17
+ // 👇 We create a “template” of how args map to rendering
18
+ const Template: ComponentStory<typeof List> = (args) => {
19
+ return (
20
+ <List {...args} sx={{ width: '100%', minWidth: 360, bgcolor: 'background.paper' }}>
21
+ <ListItem>
22
+ <ListItemText primary="One" />
23
+ </ListItem>
24
+ <ListItem>
25
+ <ListItemText primary="Two" />
26
+ </ListItem>
27
+ <ListItem>
28
+ <ListItemText primary="Three" />
29
+ </ListItem>
30
+ </List>
31
+ )
32
+ }
33
+
34
+ export const Properties = Template.bind({})
35
+ Properties.args = {}
@@ -0,0 +1,69 @@
1
+ import { Canvas, Meta, Story } from '@storybook/addon-docs';
2
+ import List from '../../../../lib/components/datadisplay/List/List';
3
+ import Chip from '../../../../lib/components/datadisplay/Chip/Chip';
4
+ import {
5
+ ListItem, ListItemButton, ListItemIcon,
6
+ ListItemText, ListSubheader, ListItemAvatar } from '../../../../lib/';
7
+ import { MUIIcon, MaterialDesignIcon, W3CIcon, FigmaIcon, GithubIcon } from '../../../utils/CustomIcons';
8
+ import Stack from '@mui/material/Stack';
9
+ import DeleteIcon from '@mui/icons-material/Delete';
10
+ import IconButton from '@mui/material/IconButton';
11
+
12
+ <Meta title="Components/Data Display/List/Overview" component={List} />
13
+
14
+ [](#list-overview)List Overview <span class="sbdocs-edit-link"><Chip clickable component="a" href="https://github.com/ht2-labs/design-system/tree/main/src/stories/Components/DataDisplay/List/Overview.stories.mdx" size="small" label="Edit" variant="outlined" /></span>
15
+ =================================================================================
16
+
17
+ ### [](#what-does-it-do)What does it do?
18
+
19
+ Lists are continuous, vertical indexes of text or images.
20
+
21
+ <Stack direction="row" spacing={1}>
22
+ <Chip clickable component="a" href="https://mui.com/components/radio-buttons/" size="small" icon={<MUIIcon viewBox="-5 0 40 30" />} label="Material UI" variant="outlined" />
23
+ <Chip clickable component="a" href="https://material.io/components/selection-controls#radio-buttons" size="small" icon={<MaterialDesignIcon />} label="Material Design" variant="outlined" />
24
+ <Chip clickable component="a" href="https://www.w3.org/TR/wai-aria-practices/#radiobutton" size="small" icon={<W3CIcon />} label="WAI-ARIA" variant="outlined" />
25
+ <Chip clickable component="a" href="https://www.figma.com/proto/mBDuFn79U8wQIIEoCGpMew/DS%3A-Component-Library?node-id=1065%3A17356&scaling=min-zoom&page-id=1059%3A17709&starting-point-node-id=1065%3A17356" size="small" icon={<FigmaIcon />} label="Figma" variant="outlined" />
26
+ <Chip clickable component="a" href="https://github.com/HT2-Labs/design-system/tree/main/src/lib/components/atoms/Radio" size="small" icon={<GithubIcon />} label="Github" variant="outlined" />
27
+ </Stack>
28
+
29
+ ### [](#why-use-it)Why use it?
30
+
31
+ * Use a List component when you want to display a a continuous group of text or images. They are composed of items containing primary and supplemental actions, which are represented by icons and text.
32
+
33
+ ### [](#how-to-implement-it)How to implement it?
34
+
35
+ Below is basic example of the List component:
36
+
37
+ <Canvas isExpanded>
38
+ <List>
39
+ <ListItem>
40
+ <ListItemButton>
41
+ <ListItemText primary="One" />
42
+ </ListItemButton>
43
+ </ListItem>
44
+ <ListItem>
45
+ <ListItemButton>
46
+ <ListItemText primary="Two" />
47
+ </ListItemButton>
48
+ </ListItem>
49
+ <ListItem>
50
+ <ListItemButton>
51
+ <ListItemText primary="Three" />
52
+ </ListItemButton>
53
+ </ListItem>
54
+ </List>
55
+ </Canvas>
56
+
57
+ ### [](#when-to-avoid-it)When to avoid it?
58
+
59
+ * Do not use a List when you need to present large complex sets of data; use a data table instead.
60
+
61
+ ### [](#best-practices)Best practices
62
+
63
+ * Generally, lists should be used to present simple sets of information.
64
+ * When using nested lists, avoid nesting just a single item. Try to find other ways it can be expressed in the higher level layer
65
+ * Use bulleted lists when you don't need to convey a specific order for list items.
66
+ * Use numbered lists when you need to convey a priority, hierarchy, or sequence between list items.
67
+
68
+ ### [](#design-prototype)Design prototype
69
+ TODO: Add design prototype
@@ -0,0 +1,70 @@
1
+ import { Canvas, Meta, Story } from '@storybook/addon-docs';
2
+ import { Paper, TableContainer, Table, TableHead, TableRow, TableCell, TableBody } from '../../../../lib/index';
3
+ import Chip from '../../../../lib/components/datadisplay/Chip/Chip';
4
+ import { MUIIcon, MaterialDesignIcon, W3CIcon, FigmaIcon, GithubIcon } from '../../../utils/CustomIcons';
5
+ import Stack from '@mui/material/Stack';
6
+
7
+ <Meta title="Components/Data Display/Table/Overview" component={Table} />
8
+
9
+ [](#component-overview)Table Overview <span class="sbdocs-edit-link"><Chip clickable component="a" href="https://github.com/ht2-labs/design-system/tree/main/src/stories/Guidelines/Templates/ComponentOverview.stories.mdx" size="small" label="Edit" variant="outlined" /></span>
10
+ =================================================================================
11
+
12
+ ### [](#what-does-it-do)What does it do?
13
+
14
+ Tables display sets of data. They can be fully customized.
15
+
16
+ <Stack direction="row" spacing={1}>
17
+ <Chip clickable component="a" href="https://mui.com/material-ui/react-table/" size="small" icon={<MUIIcon viewBox="-5 0 40 30" />} label="Material UI" variant="outlined" />
18
+ <Chip clickable component="a" href="https://material.io/components/data-tables" size="small" icon={<MaterialDesignIcon />} label="Material Design" variant="outlined" />
19
+ <Chip clickable component="a" href="https://www.w3.org/WAI/ARIA/apg/patterns/table/" size="small" icon={<W3CIcon />} label="WAI-ARIA" variant="outlined" />
20
+ </Stack>
21
+
22
+ ### [](#why-use-it)Why use it?
23
+
24
+ Tables display information in a way that's easy to scan, so that users can look for patterns and insights. They can be embedded in primary content, such as cards. They can include:
25
+
26
+ * A corresponding visualization
27
+ * Navigation
28
+ * Tools to query and manipulate data
29
+
30
+ ### [](#how-to-implement-it)How to implement it?
31
+
32
+ Below is basic example of the Table component:
33
+
34
+ <Canvas isExpanded>
35
+ <TableContainer component={Paper}>
36
+ <Table sx={{ minWidth: 650 }} aria-label="simple table">
37
+ <TableHead>
38
+ <TableRow>
39
+ <TableCell>Dessert (100g serving)</TableCell>
40
+ <TableCell align="right">Calories</TableCell>
41
+ <TableCell align="right">Fat&nbsp;(g)</TableCell>
42
+ <TableCell align="right">Carbs&nbsp;(g)</TableCell>
43
+ <TableCell align="right">Protein&nbsp;(g)</TableCell>
44
+ </TableRow>
45
+ </TableHead>
46
+ <TableBody>
47
+ {[
48
+ { name: 'Frozen yoghurt', calories: 159, fat: 6.0, carbs: 24, protein: 4.0 },
49
+ { name: 'Ice cream sandwich', calories: 237, fat: 9.0, carbs: 37, protein: 4.3 },
50
+ { name: 'Eclair', calories: 262, fat: 16.0, carbs: 24, protein: 6.0 },
51
+ { name: 'Cupcake', calories: 305, fat: 3.7, carbs: 67, protein: 4.3 },
52
+ { name: 'Gingerbread', calories: 356, fat: 16.0, carbs: 49, protein: 3.9 }
53
+ ].map((row) => (
54
+ <TableRow
55
+ key={row.name}
56
+ sx={{ '&:last-child td, &:last-child th': { border: 0 } }}
57
+ >
58
+ <TableCell component="th" scope="row">
59
+ {row.name}
60
+ </TableCell>
61
+ <TableCell align="right">{row.calories}</TableCell>
62
+ <TableCell align="right">{row.fat}</TableCell>
63
+ <TableCell align="right">{row.carbs}</TableCell>
64
+ <TableCell align="right">{row.protein}</TableCell>
65
+ </TableRow>
66
+ ))}
67
+ </TableBody>
68
+ </Table>
69
+ </TableContainer>
70
+ </Canvas>