@learningpool/ui 1.6.3 → 1.6.5

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 (424) hide show
  1. package/{dist/assets → assets}/Images.d.ts +0 -0
  2. package/{dist/assets → assets}/Images.js +0 -0
  3. package/{dist/components → components}/atoms/Autocomplete/Autocomplete.d.ts +0 -0
  4. package/{dist/components → components}/atoms/Autocomplete/Autocomplete.js +0 -0
  5. package/{dist/components → components}/atoms/Button/Button.d.ts +0 -0
  6. package/{dist/components → components}/atoms/Button/Button.js +0 -0
  7. package/{dist/components → components}/atoms/Checkbox/Checkbox.d.ts +0 -0
  8. package/{dist/components → components}/atoms/Checkbox/Checkbox.js +0 -0
  9. package/{dist/components → components}/atoms/IconButton/IconButton.d.ts +0 -0
  10. package/{dist/components → components}/atoms/IconButton/IconButton.js +0 -0
  11. package/{dist/components → components}/atoms/Radio/Radio.d.ts +0 -0
  12. package/{dist/components → components}/atoms/Radio/Radio.js +0 -0
  13. package/{dist/components → components}/atoms/Select/Select.d.ts +0 -0
  14. package/{dist/components → components}/atoms/Select/Select.js +0 -0
  15. package/{dist/components → components}/atoms/Slider/Slider.d.ts +0 -0
  16. package/{dist/components → components}/atoms/Slider/Slider.js +0 -0
  17. package/{dist/components → components}/atoms/Switch/Switch.d.ts +0 -0
  18. package/{dist/components → components}/atoms/Switch/Switch.js +0 -0
  19. package/{dist/components → components}/atoms/TextField/TextField.d.ts +0 -0
  20. package/{dist/components → components}/atoms/TextField/TextField.js +0 -0
  21. package/{dist/components → components}/atoms/ToggleButton/ToggleButton.d.ts +0 -0
  22. package/{dist/components → components}/atoms/ToggleButton/ToggleButton.js +0 -0
  23. package/{dist/components → components}/datadisplay/Avatar/Avatar.d.ts +0 -0
  24. package/{dist/components → components}/datadisplay/Avatar/Avatar.js +0 -0
  25. package/{dist/components → components}/datadisplay/Chip/Chip.d.ts +0 -0
  26. package/{dist/components → components}/datadisplay/Chip/Chip.js +0 -0
  27. package/{dist/components → components}/datadisplay/List/List.d.ts +0 -0
  28. package/{dist/components → components}/datadisplay/List/List.js +0 -0
  29. package/{dist/components → components}/datadisplay/Tooltip/Tooltip.d.ts +0 -0
  30. package/{dist/components → components}/datadisplay/Tooltip/Tooltip.js +0 -0
  31. package/{dist/components → components}/feedback/Alert/Alert.d.ts +0 -0
  32. package/{dist/components → components}/feedback/Alert/Alert.js +0 -0
  33. package/{dist/components → components}/landmarks/Header/Header.d.ts +0 -0
  34. package/{dist/components → components}/landmarks/Header/Header.js +0 -0
  35. package/{dist/components → components}/landmarks/Header/HeaderActionButtons.d.ts +0 -0
  36. package/{dist/components → components}/landmarks/Header/HeaderActionButtons.js +0 -0
  37. package/{dist/components → components}/landmarks/Header/HeaderStyles.d.ts +0 -0
  38. package/{dist/components → components}/landmarks/Header/HeaderStyles.js +0 -0
  39. package/{dist/components → components}/navigation/Drawer/Drawer.d.ts +0 -0
  40. package/{dist/components → components}/navigation/Drawer/Drawer.js +0 -0
  41. package/{dist/components → components}/navigation/MobileNavigation/MobileNavigation.d.ts +0 -0
  42. package/{dist/components → components}/navigation/MobileNavigation/MobileNavigation.js +0 -0
  43. package/{dist/components → components}/navigation/MobileNavigation/MobileNavigationAvatar.d.ts +0 -0
  44. package/{dist/components → components}/navigation/MobileNavigation/MobileNavigationAvatar.js +0 -0
  45. package/{dist/components → components}/navigation/MobileNavigation/MobileNavigationAvatarStyles.d.ts +0 -0
  46. package/{dist/components → components}/navigation/MobileNavigation/MobileNavigationAvatarStyles.js +0 -0
  47. package/{dist/components → components}/navigation/MobileNavigation/MobileNavigationDrawer.d.ts +0 -0
  48. package/{dist/components → components}/navigation/MobileNavigation/MobileNavigationDrawer.js +0 -0
  49. package/{dist/components → components}/navigation/MobileNavigation/MobileNavigationDrawerStyles.d.ts +0 -0
  50. package/{dist/components → components}/navigation/MobileNavigation/MobileNavigationDrawerStyles.js +0 -0
  51. package/{dist/components → components}/navigation/MobileNavigation/MobileNavigationItem/MobileNavigationItem.d.ts +0 -0
  52. package/{dist/components → components}/navigation/MobileNavigation/MobileNavigationItem/MobileNavigationItem.js +0 -0
  53. package/{dist/components → components}/navigation/MobileNavigation/MobileNavigationItem/MobileNavigationItemFlyoutMenu.d.ts +0 -0
  54. package/{dist/components → components}/navigation/MobileNavigation/MobileNavigationItem/MobileNavigationItemFlyoutMenu.js +0 -0
  55. package/{dist/components → components}/navigation/MobileNavigation/MobileNavigationItem/MobileNavigationItemFlyoutMenuStyles.d.ts +0 -0
  56. package/{dist/components → components}/navigation/MobileNavigation/MobileNavigationItem/MobileNavigationItemFlyoutMenuStyles.js +0 -0
  57. package/{dist/components → components}/navigation/MobileNavigation/MobileNavigationItem/MobileNavigationItemStyles.d.ts +0 -0
  58. package/{dist/components → components}/navigation/MobileNavigation/MobileNavigationItem/MobileNavigationItemStyles.js +0 -0
  59. package/{dist/components → components}/navigation/MobileNavigation/MobileNavigationMotion.d.ts +0 -0
  60. package/{dist/components → components}/navigation/MobileNavigation/MobileNavigationMotion.js +0 -0
  61. package/{dist/components → components}/navigation/MobileNavigation/MobileNavigationNotchIndicator.d.ts +0 -0
  62. package/{dist/components → components}/navigation/MobileNavigation/MobileNavigationNotchIndicator.js +0 -0
  63. package/{dist/components → components}/navigation/MobileNavigation/MobileNavigationSearch.d.ts +0 -0
  64. package/{dist/components → components}/navigation/MobileNavigation/MobileNavigationSearch.js +0 -0
  65. package/{dist/components → components}/navigation/MobileNavigation/MobileNavigationSearchStyles.d.ts +0 -0
  66. package/{dist/components → components}/navigation/MobileNavigation/MobileNavigationSearchStyles.js +0 -0
  67. package/{dist/components → components}/navigation/MobileNavigation/MobileNavigationStyles.d.ts +0 -0
  68. package/{dist/components → components}/navigation/MobileNavigation/MobileNavigationStyles.js +0 -0
  69. package/{dist/components → components}/navigation/MobileNavigation/MobileNavigationToggleSearchX.d.ts +0 -0
  70. package/{dist/components → components}/navigation/MobileNavigation/MobileNavigationToggleSearchX.js +0 -0
  71. package/{dist/components → components}/navigation/MobileNavigation/MobileNavigationToggleX.d.ts +0 -0
  72. package/{dist/components → components}/navigation/MobileNavigation/MobileNavigationToggleX.js +0 -0
  73. package/{dist/components → components}/navigation/VerticalNavigation/VerticalNavigation.d.ts +1 -0
  74. package/{dist/components → components}/navigation/VerticalNavigation/VerticalNavigation.js +12 -10
  75. package/{dist/components → components}/navigation/VerticalNavigation/VerticalNavigationAvatar.d.ts +0 -0
  76. package/{dist/components → components}/navigation/VerticalNavigation/VerticalNavigationAvatar.js +11 -7
  77. package/{dist/components → components}/navigation/VerticalNavigation/VerticalNavigationAvatarStyles.d.ts +49 -0
  78. package/components/navigation/VerticalNavigation/VerticalNavigationAvatarStyles.js +33 -0
  79. package/{dist/components → components}/navigation/VerticalNavigation/VerticalNavigationItem/VerticalNavigationItem.d.ts +0 -0
  80. package/{dist/components → components}/navigation/VerticalNavigation/VerticalNavigationItem/VerticalNavigationItem.js +0 -0
  81. package/{dist/components → components}/navigation/VerticalNavigation/VerticalNavigationItem/VerticalNavigationItemFlyoutMenu.d.ts +0 -0
  82. package/{dist/components → components}/navigation/VerticalNavigation/VerticalNavigationItem/VerticalNavigationItemFlyoutMenu.js +3 -3
  83. package/{dist/components → components}/navigation/VerticalNavigation/VerticalNavigationItem/VerticalNavigationItemFlyoutMenuStyles.d.ts +1 -0
  84. package/{dist/components → components}/navigation/VerticalNavigation/VerticalNavigationItem/VerticalNavigationItemFlyoutMenuStyles.js +16 -15
  85. package/{dist/components → components}/navigation/VerticalNavigation/VerticalNavigationItem/VerticalNavigationItemStyles.d.ts +0 -0
  86. package/{dist/components → components}/navigation/VerticalNavigation/VerticalNavigationItem/VerticalNavigationItemStyles.js +3 -3
  87. package/{dist/components → components}/navigation/VerticalNavigation/VerticalNavigationMotion.d.ts +0 -0
  88. package/{dist/components → components}/navigation/VerticalNavigation/VerticalNavigationMotion.js +0 -0
  89. package/{dist/components → components}/navigation/VerticalNavigation/VerticalNavigationStyles.d.ts +6 -1
  90. package/{dist/components → components}/navigation/VerticalNavigation/VerticalNavigationStyles.js +14 -15
  91. package/{dist/components → components}/pages/ErrorPage/ErrorPage.d.ts +0 -0
  92. package/{dist/components → components}/pages/ErrorPage/ErrorPage.js +0 -0
  93. package/{dist/components → components}/pages/ErrorPage/ErrorPageStyles.d.ts +0 -0
  94. package/{dist/components → components}/pages/ErrorPage/ErrorPageStyles.js +0 -0
  95. package/{dist/components → components}/pages/SideInSide/SideInSide.d.ts +0 -0
  96. package/{dist/components → components}/pages/SideInSide/SideInSide.js +0 -0
  97. package/{dist/components → components}/pages/SideInSide/SideInSideStyles.d.ts +0 -0
  98. package/{dist/components → components}/pages/SideInSide/SideInSideStyles.js +0 -0
  99. package/{dist/components → components}/stream/AppSwitcher/AppSwitcher.d.ts +0 -0
  100. package/{dist/components → components}/stream/AppSwitcher/AppSwitcher.js +1 -1
  101. package/{dist/components → components}/stream/AppSwitcher/AppSwitcherItem.d.ts +0 -0
  102. package/{dist/components → components}/stream/AppSwitcher/AppSwitcherItem.js +0 -0
  103. package/{dist/components → components}/stream/AppSwitcher/AppSwitcherStyles.d.ts +0 -0
  104. package/{dist/components → components}/stream/AppSwitcher/AppSwitcherStyles.js +8 -6
  105. package/{dist/components → components}/stream/AppSwitcher/constants.d.ts +0 -0
  106. package/{dist/components → components}/stream/AppSwitcher/constants.js +0 -0
  107. package/{dist/index.d.ts → index.d.ts} +0 -0
  108. package/{dist/index.js → index.js} +0 -0
  109. package/lang/en-us.d.ts +15 -0
  110. package/lang/en-us.js +18 -0
  111. package/package.json +3 -70
  112. package/{dist/types → types}/components/navigation/VerticalNavigation.d.ts +0 -0
  113. package/{dist/types → types}/components/navigation/VerticalNavigation.js +0 -0
  114. package/{dist/types → types}/components/navigation/VerticalNavigationAvatar.d.ts +1 -0
  115. package/{dist/types → types}/components/navigation/VerticalNavigationAvatar.js +0 -0
  116. package/{dist/types → types}/components/stream/AppSwitcher.d.ts +0 -0
  117. package/{dist/types → types}/components/stream/AppSwitcher.js +0 -0
  118. package/{dist/types → types}/index.d.ts +0 -0
  119. package/{dist/types → types}/index.js +0 -0
  120. package/{dist/utils → utils}/constants.d.ts +0 -0
  121. package/{dist/utils → utils}/constants.js +0 -0
  122. package/{dist/utils → utils}/helpers.d.ts +0 -0
  123. package/{dist/utils → utils}/helpers.js +0 -0
  124. package/{dist/utils → utils}/hooks.d.ts +0 -0
  125. package/{dist/utils → utils}/hooks.js +0 -0
  126. package/{dist/utils → utils}/index.d.ts +0 -0
  127. package/{dist/utils → utils}/index.js +0 -0
  128. package/{dist/utils → utils}/theme.d.ts +0 -0
  129. package/{dist/utils → utils}/theme.js +0 -0
  130. package/.eslintrc.js +0 -40
  131. package/.github/pull_request_template.md +0 -23
  132. package/.github/renovate.json +0 -57
  133. package/.github/workflows/integration.yml +0 -53
  134. package/.github/workflows/wss.yml +0 -22
  135. package/.jest-test-results.json +0 -1
  136. package/.releaserc +0 -32
  137. package/.storybook/learningpoolTheme.js +0 -39
  138. package/.storybook/main.js +0 -21
  139. package/.storybook/manager-head.html +0 -175
  140. package/.storybook/manager.js +0 -34
  141. package/.storybook/preview-head.html +0 -212
  142. package/.storybook/preview.js +0 -120
  143. package/.storybook/storybook-sort.js +0 -54
  144. package/CHANGELOG.md +0 -20
  145. package/amplify.yml +0 -16
  146. package/babel.config.json +0 -14
  147. package/dist/components/navigation/VerticalNavigation/VerticalNavigationAvatarStyles.js +0 -31
  148. package/dist/lang/en-us.d.ts +0 -6
  149. package/dist/lang/en-us.js +0 -6
  150. package/dist/package.json +0 -41
  151. package/jest.config.ts +0 -11
  152. package/jest.setup.ts +0 -5
  153. package/license +0 -7
  154. package/merge.js +0 -27
  155. package/public/android-chrome-192x192.png +0 -0
  156. package/public/android-chrome-512x512.png +0 -0
  157. package/public/apple-touch-icon.png +0 -0
  158. package/public/assets/atoms.svg +0 -5
  159. package/public/assets/automation.svg +0 -1
  160. package/public/assets/avatar-1.jpg +0 -0
  161. package/public/assets/avatar-2.jpg +0 -0
  162. package/public/assets/avatar-3.jpg +0 -0
  163. package/public/assets/flux/icon-dark.svg +0 -6
  164. package/public/assets/flux/icon-light.svg +0 -1
  165. package/public/assets/flux/icon-white.svg +0 -6
  166. package/public/assets/flux/icon.svg +0 -6
  167. package/public/assets/flux/logo-dark.svg +0 -22
  168. package/public/assets/flux/logo-light.svg +0 -1
  169. package/public/assets/flux/logo-white.svg +0 -22
  170. package/public/assets/flux/logo.svg +0 -22
  171. package/public/assets/iPhone6.jpg +0 -0
  172. package/public/assets/iPhone6Plus.jpg +0 -0
  173. package/public/assets/lp-logo.png +0 -0
  174. package/public/assets/lplogo.svg +0 -1
  175. package/public/assets/molecules.svg +0 -8
  176. package/public/assets/organisms.svg +0 -21
  177. package/public/assets/pages.svg +0 -4
  178. package/public/assets/particles.svg +0 -3
  179. package/public/assets/stream-dark.png +0 -0
  180. package/public/assets/stream-suite-logo.svg +0 -38
  181. package/public/assets/stream-white.png +0 -0
  182. package/public/assets/stream.png +0 -0
  183. package/public/assets/templates.svg +0 -3
  184. package/public/favicon-16x16.png +0 -0
  185. package/public/favicon-32x32.png +0 -0
  186. package/public/favicon.ico +0 -0
  187. package/public/index.html +0 -43
  188. package/public/logo192.png +0 -0
  189. package/public/logo512.png +0 -0
  190. package/public/manifest.json +0 -25
  191. package/public/robots.txt +0 -3
  192. package/public/site.webmanifest +0 -1
  193. package/readme.md +0 -132
  194. package/src/docs.tsx +0 -167
  195. package/src/lib/assets/Images.tsx +0 -47
  196. package/src/lib/assets/stream-suite-logo.svg +0 -38
  197. package/src/lib/components/atoms/Autocomplete/Autocomplete.test.tsx +0 -179
  198. package/src/lib/components/atoms/Autocomplete/Autocomplete.tsx +0 -14
  199. package/src/lib/components/atoms/Button/Button.test.tsx +0 -166
  200. package/src/lib/components/atoms/Button/Button.tsx +0 -16
  201. package/src/lib/components/atoms/Checkbox/Checkbox.test.tsx +0 -85
  202. package/src/lib/components/atoms/Checkbox/Checkbox.tsx +0 -10
  203. package/src/lib/components/atoms/IconButton/IconButton.test.tsx +0 -60
  204. package/src/lib/components/atoms/IconButton/IconButton.tsx +0 -9
  205. package/src/lib/components/atoms/Radio/Radio.test.tsx +0 -136
  206. package/src/lib/components/atoms/Radio/Radio.tsx +0 -10
  207. package/src/lib/components/atoms/Select/Select.test.tsx +0 -158
  208. package/src/lib/components/atoms/Select/Select.tsx +0 -12
  209. package/src/lib/components/atoms/Slider/Slider.test.tsx +0 -103
  210. package/src/lib/components/atoms/Slider/Slider.tsx +0 -10
  211. package/src/lib/components/atoms/Switch/Switch.test.tsx +0 -96
  212. package/src/lib/components/atoms/Switch/Switch.tsx +0 -10
  213. package/src/lib/components/atoms/TextField/TextField.test.tsx +0 -131
  214. package/src/lib/components/atoms/TextField/TextField.tsx +0 -31
  215. package/src/lib/components/atoms/ToggleButton/ToggleButton.test.tsx +0 -122
  216. package/src/lib/components/atoms/ToggleButton/ToggleButton.tsx +0 -10
  217. package/src/lib/components/datadisplay/Avatar/Avatar.test.tsx +0 -187
  218. package/src/lib/components/datadisplay/Avatar/Avatar.tsx +0 -35
  219. package/src/lib/components/datadisplay/Avatar/avatar-1.jpg +0 -0
  220. package/src/lib/components/datadisplay/Chip/Chip.test.tsx +0 -82
  221. package/src/lib/components/datadisplay/Chip/Chip.tsx +0 -11
  222. package/src/lib/components/datadisplay/List/List.test.tsx +0 -168
  223. package/src/lib/components/datadisplay/List/List.tsx +0 -8
  224. package/src/lib/components/datadisplay/Tooltip/Tooltip.test.tsx +0 -98
  225. package/src/lib/components/datadisplay/Tooltip/Tooltip.tsx +0 -9
  226. package/src/lib/components/feedback/Alert/Alert.test.tsx +0 -139
  227. package/src/lib/components/feedback/Alert/Alert.tsx +0 -10
  228. package/src/lib/components/landmarks/Header/Header.tsx +0 -140
  229. package/src/lib/components/landmarks/Header/HeaderActionButtons.tsx +0 -117
  230. package/src/lib/components/landmarks/Header/HeaderStyles.tsx +0 -62
  231. package/src/lib/components/navigation/Drawer/Drawer.test.tsx +0 -95
  232. package/src/lib/components/navigation/Drawer/Drawer.tsx +0 -21
  233. package/src/lib/components/navigation/MobileNavigation/MobileNavigation.tsx +0 -276
  234. package/src/lib/components/navigation/MobileNavigation/MobileNavigationAvatar.tsx +0 -334
  235. package/src/lib/components/navigation/MobileNavigation/MobileNavigationAvatarStyles.tsx +0 -77
  236. package/src/lib/components/navigation/MobileNavigation/MobileNavigationDrawer.tsx +0 -197
  237. package/src/lib/components/navigation/MobileNavigation/MobileNavigationDrawerStyles.tsx +0 -143
  238. package/src/lib/components/navigation/MobileNavigation/MobileNavigationItem/MobileNavigationItem.tsx +0 -192
  239. package/src/lib/components/navigation/MobileNavigation/MobileNavigationItem/MobileNavigationItemFlyoutMenu.tsx +0 -67
  240. package/src/lib/components/navigation/MobileNavigation/MobileNavigationItem/MobileNavigationItemFlyoutMenuStyles.tsx +0 -192
  241. package/src/lib/components/navigation/MobileNavigation/MobileNavigationItem/MobileNavigationItemStyles.tsx +0 -217
  242. package/src/lib/components/navigation/MobileNavigation/MobileNavigationMotion.tsx +0 -119
  243. package/src/lib/components/navigation/MobileNavigation/MobileNavigationNotchIndicator.tsx +0 -35
  244. package/src/lib/components/navigation/MobileNavigation/MobileNavigationSearch.tsx +0 -114
  245. package/src/lib/components/navigation/MobileNavigation/MobileNavigationSearchStyles.tsx +0 -47
  246. package/src/lib/components/navigation/MobileNavigation/MobileNavigationStyles.tsx +0 -320
  247. package/src/lib/components/navigation/MobileNavigation/MobileNavigationToggleSearchX.tsx +0 -59
  248. package/src/lib/components/navigation/MobileNavigation/MobileNavigationToggleX.tsx +0 -51
  249. package/src/lib/components/navigation/VerticalNavigation/VerticalNavigation.tsx +0 -468
  250. package/src/lib/components/navigation/VerticalNavigation/VerticalNavigationAvatar.tsx +0 -208
  251. package/src/lib/components/navigation/VerticalNavigation/VerticalNavigationAvatarStyles.tsx +0 -75
  252. package/src/lib/components/navigation/VerticalNavigation/VerticalNavigationItem/VerticalNavigationItem.tsx +0 -196
  253. package/src/lib/components/navigation/VerticalNavigation/VerticalNavigationItem/VerticalNavigationItemFlyoutMenu.tsx +0 -94
  254. package/src/lib/components/navigation/VerticalNavigation/VerticalNavigationItem/VerticalNavigationItemFlyoutMenuStyles.tsx +0 -212
  255. package/src/lib/components/navigation/VerticalNavigation/VerticalNavigationItem/VerticalNavigationItemStyles.tsx +0 -240
  256. package/src/lib/components/navigation/VerticalNavigation/VerticalNavigationMotion.tsx +0 -119
  257. package/src/lib/components/navigation/VerticalNavigation/VerticalNavigationStyles.tsx +0 -302
  258. package/src/lib/components/pages/ErrorPage/ErrorPage.test.tsx +0 -78
  259. package/src/lib/components/pages/ErrorPage/ErrorPage.tsx +0 -50
  260. package/src/lib/components/pages/ErrorPage/ErrorPageStyles.tsx +0 -30
  261. package/src/lib/components/pages/SideInSide/SideInSide.tsx +0 -100
  262. package/src/lib/components/pages/SideInSide/SideInSideStyles.tsx +0 -62
  263. package/src/lib/components/stream/AppSwitcher/AppSwitcher.tsx +0 -381
  264. package/src/lib/components/stream/AppSwitcher/AppSwitcherItem.tsx +0 -84
  265. package/src/lib/components/stream/AppSwitcher/AppSwitcherStyles.tsx +0 -325
  266. package/src/lib/components/stream/AppSwitcher/constants.tsx +0 -28
  267. package/src/lib/index.tsx +0 -148
  268. package/src/lib/lang/en-us.js +0 -6
  269. package/src/lib/types/components/navigation/VerticalNavigation.ts +0 -52
  270. package/src/lib/types/components/navigation/VerticalNavigationAvatar.ts +0 -26
  271. package/src/lib/types/components/stream/AppSwitcher.ts +0 -10
  272. package/src/lib/types/index.ts +0 -9
  273. package/src/lib/utils/constants.tsx +0 -11
  274. package/src/lib/utils/helpers.tsx +0 -77
  275. package/src/lib/utils/hooks.tsx +0 -33
  276. package/src/lib/utils/index.tsx +0 -4
  277. package/src/lib/utils/theme.tsx +0 -79
  278. package/src/react-app-env.d.ts +0 -1
  279. package/src/setupTests.ts +0 -5
  280. package/src/stories/Components/DataDisplay/Avatar/Accessibility.stories.mdx +0 -34
  281. package/src/stories/Components/DataDisplay/Avatar/AllCombinations.tsx +0 -56
  282. package/src/stories/Components/DataDisplay/Avatar/Avatar.stories.tsx +0 -19
  283. package/src/stories/Components/DataDisplay/Avatar/Examples.stories.tsx +0 -278
  284. package/src/stories/Components/DataDisplay/Avatar/Overview.stories.mdx +0 -47
  285. package/src/stories/Components/DataDisplay/Chip/Accessibility.stories.mdx +0 -29
  286. package/src/stories/Components/DataDisplay/Chip/AllCombinations.tsx +0 -58
  287. package/src/stories/Components/DataDisplay/Chip/Chip.stories.tsx +0 -21
  288. package/src/stories/Components/DataDisplay/Chip/Examples.stories.tsx +0 -126
  289. package/src/stories/Components/DataDisplay/Chip/Overview.stories.mdx +0 -57
  290. package/src/stories/Components/DataDisplay/List/Accessibility.stories.mdx +0 -54
  291. package/src/stories/Components/DataDisplay/List/AllCombinations.tsx +0 -396
  292. package/src/stories/Components/DataDisplay/List/Examples.stories.tsx +0 -501
  293. package/src/stories/Components/DataDisplay/List/List.stories.tsx +0 -35
  294. package/src/stories/Components/DataDisplay/List/Overview.stories.mdx +0 -69
  295. package/src/stories/Components/DataDisplay/Table/Overview.stories.mdx +0 -70
  296. package/src/stories/Components/DataDisplay/Tooltip/Accessibility.stories.mdx +0 -39
  297. package/src/stories/Components/DataDisplay/Tooltip/AllCombinations.tsx +0 -134
  298. package/src/stories/Components/DataDisplay/Tooltip/Examples.stories.tsx +0 -237
  299. package/src/stories/Components/DataDisplay/Tooltip/Overview.stories.mdx +0 -58
  300. package/src/stories/Components/DataDisplay/Tooltip/Tooltip.stories.tsx +0 -22
  301. package/src/stories/Components/Feedback/Alert/Accessibility.stories.mdx +0 -25
  302. package/src/stories/Components/Feedback/Alert/Alert.stories.tsx +0 -22
  303. package/src/stories/Components/Feedback/Alert/AllCombinations.tsx +0 -37
  304. package/src/stories/Components/Feedback/Alert/Examples.stories.tsx +0 -137
  305. package/src/stories/Components/Feedback/Alert/Overview.stories.mdx +0 -62
  306. package/src/stories/Components/Inputs/Autocomplete/Accessibility.stories.mdx +0 -31
  307. package/src/stories/Components/Inputs/Autocomplete/AllCombinations.tsx +0 -182
  308. package/src/stories/Components/Inputs/Autocomplete/Autocomplete.stories.tsx +0 -31
  309. package/src/stories/Components/Inputs/Autocomplete/Examples.stories.tsx +0 -233
  310. package/src/stories/Components/Inputs/Autocomplete/Overview.stories.mdx +0 -52
  311. package/src/stories/Components/Inputs/Button/Accessibility.stories.mdx +0 -52
  312. package/src/stories/Components/Inputs/Button/AllCombinations.tsx +0 -53
  313. package/src/stories/Components/Inputs/Button/Button.stories.tsx +0 -23
  314. package/src/stories/Components/Inputs/Button/Examples.stories.tsx +0 -190
  315. package/src/stories/Components/Inputs/Button/Overview.stories.mdx +0 -52
  316. package/src/stories/Components/Inputs/Checkbox/Accessibility.stories.mdx +0 -38
  317. package/src/stories/Components/Inputs/Checkbox/AllCombinations.tsx +0 -55
  318. package/src/stories/Components/Inputs/Checkbox/Checkbox.stories.tsx +0 -22
  319. package/src/stories/Components/Inputs/Checkbox/Examples.stories.tsx +0 -363
  320. package/src/stories/Components/Inputs/Checkbox/Overview.stories.mdx +0 -63
  321. package/src/stories/Components/Inputs/IconButton/Examples.stories.tsx +0 -24
  322. package/src/stories/Components/Inputs/IconButton/IconButton.stories.tsx +0 -26
  323. package/src/stories/Components/Inputs/Radio/Accessibility.stories.mdx +0 -61
  324. package/src/stories/Components/Inputs/Radio/AllCombinations.tsx +0 -75
  325. package/src/stories/Components/Inputs/Radio/Examples.stories.tsx +0 -333
  326. package/src/stories/Components/Inputs/Radio/Overview.stories.mdx +0 -74
  327. package/src/stories/Components/Inputs/Radio/Radio.stories.tsx +0 -22
  328. package/src/stories/Components/Inputs/Select/Accessibility.stories.mdx +0 -51
  329. package/src/stories/Components/Inputs/Select/AllCombinations.tsx +0 -63
  330. package/src/stories/Components/Inputs/Select/Examples.stories.tsx +0 -803
  331. package/src/stories/Components/Inputs/Select/Overview.stories.mdx +0 -73
  332. package/src/stories/Components/Inputs/Select/Select.stories.tsx +0 -22
  333. package/src/stories/Components/Inputs/Slider/Accessibility.stories.mdx +0 -43
  334. package/src/stories/Components/Inputs/Slider/AllCombinations.tsx +0 -30
  335. package/src/stories/Components/Inputs/Slider/Examples.stories.tsx +0 -146
  336. package/src/stories/Components/Inputs/Slider/Overview.stories.mdx +0 -59
  337. package/src/stories/Components/Inputs/Slider/Slider.stories.tsx +0 -27
  338. package/src/stories/Components/Inputs/Switch/Accessibility.stories.mdx +0 -34
  339. package/src/stories/Components/Inputs/Switch/AllCombinations.tsx +0 -45
  340. package/src/stories/Components/Inputs/Switch/Examples.stories.tsx +0 -213
  341. package/src/stories/Components/Inputs/Switch/Overview.stories.mdx +0 -62
  342. package/src/stories/Components/Inputs/Switch/Switch.stories.tsx +0 -22
  343. package/src/stories/Components/Inputs/TextField/Accessibility.stories.mdx +0 -29
  344. package/src/stories/Components/Inputs/TextField/AllCombinations.tsx +0 -57
  345. package/src/stories/Components/Inputs/TextField/Examples.stories.tsx +0 -127
  346. package/src/stories/Components/Inputs/TextField/Overview.stories.mdx +0 -60
  347. package/src/stories/Components/Inputs/TextField/TextField.stories.tsx +0 -261
  348. package/src/stories/Components/Inputs/ToggleButton/Accessibility.stories.mdx +0 -32
  349. package/src/stories/Components/Inputs/ToggleButton/AllCombinations.tsx +0 -113
  350. package/src/stories/Components/Inputs/ToggleButton/Examples.stories.tsx +0 -339
  351. package/src/stories/Components/Inputs/ToggleButton/Overview.stories.mdx +0 -55
  352. package/src/stories/Components/Inputs/ToggleButton/ToggleButton.stories.tsx +0 -19
  353. package/src/stories/Components/Landmarks/Header/Examples.stories.tsx +0 -197
  354. package/src/stories/Components/Landmarks/Header/Header.stories.tsx +0 -34
  355. package/src/stories/Components/Landmarks/Header/Overview.stories.mdx +0 -44
  356. package/src/stories/Components/Navigation/Drawer/Accessibility.stories.mdx +0 -13
  357. package/src/stories/Components/Navigation/Drawer/Drawer.stories.tsx +0 -80
  358. package/src/stories/Components/Navigation/Drawer/Examples.stories.tsx +0 -440
  359. package/src/stories/Components/Navigation/Drawer/Overview.stories.mdx +0 -43
  360. package/src/stories/Components/Navigation/MobileNavigation/Accessibility.stories.mdx +0 -14
  361. package/src/stories/Components/Navigation/MobileNavigation/Examples.stories.tsx +0 -384
  362. package/src/stories/Components/Navigation/MobileNavigation/MobileNavigation.stories.tsx +0 -24
  363. package/src/stories/Components/Navigation/MobileNavigation/Overview.stories.mdx +0 -47
  364. package/src/stories/Components/Navigation/VerticalNavigation/Accessibility.stories.mdx +0 -14
  365. package/src/stories/Components/Navigation/VerticalNavigation/Examples.stories.tsx +0 -307
  366. package/src/stories/Components/Navigation/VerticalNavigation/Overview.stories.mdx +0 -47
  367. package/src/stories/Components/Navigation/VerticalNavigation/VerticalNavigation.stories.tsx +0 -24
  368. package/src/stories/ContactUs.stories.mdx +0 -21
  369. package/src/stories/Experimental/Test.stories.mdx +0 -46
  370. package/src/stories/GettingStarted/Designer.stories.mdx +0 -86
  371. package/src/stories/GettingStarted/Developer.stories.mdx +0 -134
  372. package/src/stories/Guidelines/Accessibility/AssistiveTechnology.stories.mdx +0 -70
  373. package/src/stories/Guidelines/Accessibility/ColorAndContrast.stories.mdx +0 -109
  374. package/src/stories/Guidelines/Accessibility/Hierarchy.stories.mdx +0 -119
  375. package/src/stories/Guidelines/Accessibility/Imagery.stories.mdx +0 -136
  376. package/src/stories/Guidelines/Accessibility/Overview.stories.mdx +0 -44
  377. package/src/stories/Guidelines/Accessibility/Principles.stories.mdx +0 -156
  378. package/src/stories/Guidelines/Accessibility/SoundAndMotion.stories.mdx +0 -59
  379. package/src/stories/Guidelines/Accessibility/Typography.stories.mdx +0 -69
  380. package/src/stories/Guidelines/Accessibility/Writing.stories.mdx +0 -188
  381. package/src/stories/Guidelines/Styleguide/ColorSwatch.tsx +0 -53
  382. package/src/stories/Guidelines/Styleguide/Colors.stories.mdx +0 -118
  383. package/src/stories/Guidelines/Styleguide/Typography.stories.mdx +0 -84
  384. package/src/stories/Introduction.stories.mdx +0 -65
  385. package/src/stories/Pages/ErrorPage.stories.tsx +0 -30
  386. package/src/stories/Pages/SideInSide.stories.tsx +0 -195
  387. package/src/stories/Roadmap.stories.mdx +0 -19
  388. package/src/stories/Templates/Login.stories.mdx +0 -46
  389. package/src/stories/assets/Atomic_Design_Icons-Dark.svg +0 -24
  390. package/src/stories/assets/Atomic_Design_Icons-Light.svg +0 -25
  391. package/src/stories/assets/accessibility-1.png +0 -0
  392. package/src/stories/assets/accessibility-2.png +0 -0
  393. package/src/stories/assets/accessibility-3.png +0 -0
  394. package/src/stories/assets/accessibility-banner.png +0 -0
  395. package/src/stories/assets/atoms.svg +0 -6
  396. package/src/stories/assets/design_system_2022-02-11_12.22pm.png +0 -0
  397. package/src/stories/assets/figma-tokens.png +0 -0
  398. package/src/stories/assets/hierarchy-1.jpg +0 -0
  399. package/src/stories/assets/hierarchy-2.jpg +0 -0
  400. package/src/stories/assets/hierarchy-3.jpg +0 -0
  401. package/src/stories/assets/icon-contrast-1.jpg +0 -0
  402. package/src/stories/assets/icon-contrast-2.jpg +0 -0
  403. package/src/stories/assets/imagery-1.png +0 -0
  404. package/src/stories/assets/imagery-2.png +0 -0
  405. package/src/stories/assets/imagery-3.png +0 -0
  406. package/src/stories/assets/imagery-4.jpg +0 -0
  407. package/src/stories/assets/molecules.svg +0 -9
  408. package/src/stories/assets/organisms.svg +0 -22
  409. package/src/stories/assets/pages.svg +0 -5
  410. package/src/stories/assets/particles.svg +0 -4
  411. package/src/stories/assets/templates.svg +0 -4
  412. package/src/stories/assets/testData.tsx +0 -102
  413. package/src/stories/assets/text-contrast-1.jpg +0 -0
  414. package/src/stories/assets/text-contrast-2.jpg +0 -0
  415. package/src/stories/assets/typography-1.png +0 -0
  416. package/src/stories/assets/visual-clues-1.png +0 -0
  417. package/src/stories/assets/visual-clues-2.png +0 -0
  418. package/src/stories/assets/writing-1.jpg +0 -0
  419. package/src/stories/assets/writing-2.png +0 -0
  420. package/src/stories/assets/writing-3.png +0 -0
  421. package/src/stories/assets/writing-4.png +0 -0
  422. package/src/stories/utils/CustomIcons.tsx +0 -44
  423. package/tsconfig.eslint.json +0 -16
  424. package/tsconfig.json +0 -50
@@ -1,117 +0,0 @@
1
- import { useState } from 'react'
2
- import Icon from '@mui/material/Icon'
3
- import Menu from '@mui/material/Menu'
4
- import MenuItem from '@mui/material/MenuItem'
5
- import IconButton from '@mui/material/IconButton'
6
- import Tooltip from '@mui/material/Tooltip'
7
- import MoreVertIcon from '@mui/icons-material/MoreVert'
8
-
9
- const MAX_ICONS = 0
10
-
11
- const HeaderActionButtons = (props: any) => {
12
- const { options, styles, forceListView } = props
13
- const [anchorEl, setAnchorEl] = useState(null)
14
-
15
- const handleClick = (event: any) => {
16
- event?.stopPropagation()
17
- setAnchorEl(event.currentTarget)
18
- }
19
-
20
- const handleClose = (event: any) => {
21
- event?.stopPropagation()
22
- setAnchorEl(null)
23
- }
24
-
25
- const handleOptionClick = (event: any, option: any) => {
26
- event?.stopPropagation()
27
- option?.onClick()
28
- handleClose(event)
29
- }
30
-
31
- if (!options) {
32
- console.log('Did you mean to pass items using the `options` parameter?')
33
- return null
34
- }
35
-
36
- // Show icon buttons if less than MAX_ICONS
37
- if (options.length <= MAX_ICONS && !forceListView) {
38
- return (
39
- <div style={styles}>
40
- {options.map((option: any) => {
41
- const { label, icon, onClick } = option
42
- const handleOptionClick = onClick
43
-
44
- return (
45
- <Tooltip
46
- key={label}
47
- title={label}
48
- aria-label={label}
49
- placement='bottom'
50
- enterDelay={500}
51
- enterNextDelay={50}
52
- leaveDelay={50}
53
- disableInteractive
54
- >
55
- <IconButton
56
- size='small'
57
- aria-label={label}
58
- onClick={handleOptionClick}
59
- >
60
- <Icon>{icon}</Icon>
61
- </IconButton>
62
- </Tooltip>
63
- )
64
- })}
65
- </div>
66
- )
67
- }
68
-
69
- // Show menu and v-ellipsis if more than MAX_ICONS
70
- return (
71
- <div style={styles}>
72
- <IconButton
73
- aria-label='more'
74
- aria-haspopup='true'
75
- onClick={handleClick}
76
- >
77
- <MoreVertIcon />
78
- </IconButton>
79
- <Menu
80
- id='actionButtonMenu'
81
- anchorEl={anchorEl}
82
- open={Boolean(anchorEl)}
83
- onClose={handleClose}
84
- anchorOrigin={{
85
- vertical: 'bottom',
86
- horizontal: 'center'
87
- }}
88
- // getContentAnchorEl={null}
89
- transformOrigin={{
90
- vertical: 'top',
91
- horizontal: 'center'
92
- }}
93
- >
94
- {options.map((option: any) => {
95
- const { label, isDisabled, actionKey, hide } = option
96
-
97
- if (hide) {
98
- return null
99
- }
100
-
101
- return (
102
- <MenuItem
103
- key={actionKey}
104
- onClick={event => handleOptionClick(event, option)}
105
- aria-label={label}
106
- disabled={isDisabled}
107
- >
108
- {label}
109
- </MenuItem>
110
- )
111
- })}
112
- </Menu>
113
- </div>
114
- )
115
- }
116
-
117
- export default HeaderActionButtons
@@ -1,62 +0,0 @@
1
- import { Box, Paper } from '../../../index'
2
- import { Breadcrumbs, styled } from '@mui/material'
3
-
4
- export const StyledPaper = styled(Paper)`
5
- display: flex;
6
- flex-direction: ${props => props.theme.direction === 'ltr' ? 'row' : 'row-reverse'};
7
- position: relative;
8
- width: 100%;
9
-
10
- &.is-sticky {
11
- position: sticky;
12
- top: 0;
13
- z-index: 1;
14
- }
15
- `
16
-
17
- export const StyledBreadcrumbs = styled(Breadcrumbs)`
18
- font-size: ${props => props.theme.typography.subtitle2.fontSize};
19
- margin-bottom: 0.5rem;
20
-
21
- ol {
22
- flex-direction: ${props => props.theme.direction === 'ltr' ? 'row' : 'row-reverse'};
23
- }
24
- `
25
-
26
- export const StyledHeaderPrimary = styled(Box)`
27
- align-items: ${props => props.theme.direction === 'ltr' ? 'flex-start' : 'flex-end'};
28
- display: flex;
29
- flex: 1 auto;
30
- flex-direction: column;
31
- padding: 1rem;
32
- padding-inline-start: 2rem;
33
-
34
- h1,
35
- h4 {
36
- font-size: clamp(1.125rem, 3.25vw, 2.75rem);
37
- text-align: ${props => props.theme.direction === 'ltr' ? 'left' : 'right'};
38
- }
39
- `
40
-
41
- export const StyledHeaderSecondary = styled(Box)`
42
- align-items: center;
43
- display: flex;
44
- flex-direction: ${props => props.theme.direction === 'ltr' ? 'row' : 'row-reverse'};
45
- justify-content: flex-end;
46
- padding: 1rem;
47
- padding-inline-end: 2rem;
48
-
49
- button,
50
- a {
51
- white-space: nowrap;
52
- }
53
- `
54
-
55
- export const StyledAdditionalButtonsContainer = styled(Box)`
56
- margin-inline-start: ${props => props.theme.direction === 'ltr' ? '0.5rem' : '0'};
57
- margin-inline-end: ${props => props.theme.direction === 'rtl' ? '0.5rem' : '0'};
58
- `
59
-
60
- export const StyledBox = styled(Box)`
61
- background: ${props => props.theme.palette.background.default};
62
- `
@@ -1,95 +0,0 @@
1
- /**
2
- * @jest-environment jsdom
3
- */
4
-
5
- import React from 'react'
6
- import { cleanup, render, screen } from '@testing-library/react'
7
- import userEvent from '@testing-library/user-event'
8
- import { Drawer } from '../../../../lib'
9
-
10
- // Note: running cleanup afterEach is done automatically for you in @testing-library/react@9.0.0 or higher
11
- // unmount and cleanup DOM after the test is finished.
12
- afterEach(cleanup)
13
-
14
- describe('Test -- Drawer component', () => {
15
- it('renders a Drawer', () => {
16
- render(
17
- <Drawer open={true} data-testid="DrawerTest">
18
- Test
19
- </Drawer>
20
- )
21
-
22
- expect(screen.getByTestId('DrawerTest')).toMatchInlineSnapshot(`
23
- <div
24
- class="MuiDrawer-root MuiDrawer-modal MuiModal-root css-11wwa2f-MuiModal-root-MuiDrawer-root"
25
- data-testid="DrawerTest"
26
- role="presentation"
27
- >
28
- <div
29
- aria-hidden="true"
30
- class="MuiBackdrop-root css-i9fmh8-MuiBackdrop-root-MuiModal-backdrop"
31
- style="opacity: 1; webkit-transition: opacity 225ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; transition: opacity 225ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;"
32
- />
33
- <div
34
- data-test="sentinelStart"
35
- tabindex="0"
36
- />
37
- <div
38
- class="MuiPaper-root MuiPaper-elevation MuiPaper-elevation16 MuiDrawer-paper MuiDrawer-paperAnchorLeft css-4t3x6l-MuiPaper-root-MuiDrawer-paper"
39
- tabindex="-1"
40
- >
41
- Test
42
- </div>
43
- <div
44
- data-test="sentinelEnd"
45
- tabindex="0"
46
- />
47
- </div>
48
- `)
49
- })
50
-
51
- it('should be closed by default', () => {
52
- render(
53
- <div data-testid="parent">
54
- <Drawer>Test</Drawer>
55
- </div>
56
- )
57
-
58
- const parent = screen.getByTestId('parent')
59
- expect(parent).toBeEmptyDOMElement()
60
- })
61
-
62
- it('renders a persistant drawer', () => {
63
- render(
64
- <Drawer variant="persistent" data-testid="test">
65
- Test
66
- </Drawer>
67
- )
68
-
69
- const drawer = screen.getByTestId('test')
70
- expect(drawer).toBeInTheDocument()
71
- })
72
-
73
- it('responds to a onClick event', () => {
74
- const mockCallBack = jest.fn()
75
- render(
76
- <Drawer open={true} onClick={mockCallBack} data-testid="DrawerTest">
77
- Test
78
- </Drawer>
79
- )
80
-
81
- userEvent.click(screen.getByTestId('DrawerTest'))
82
- expect(mockCallBack.mock.calls.length).toEqual(1)
83
- })
84
-
85
- it('has the proper tabindex', () => {
86
- render(
87
- <Drawer open={true} data-testid="DrawerTest">
88
- Test
89
- </Drawer>
90
- )
91
-
92
- const drawer = screen.getByText('Test')
93
- expect(drawer).toHaveAttribute('tabindex', '-1')
94
- })
95
- })
@@ -1,21 +0,0 @@
1
- import React from 'react'
2
- import MUIDrawer, { DrawerProps } from '@mui/material/Drawer'
3
- import { styled } from '@mui/material/styles'
4
-
5
- interface IDrawerProps extends DrawerProps {
6
- component?: string | JSX.Element
7
- }
8
-
9
- const StyledDrawer = styled(MUIDrawer)(({ theme }) => ({}))
10
-
11
- const Drawer = React.forwardRef((
12
- { ...rest }: IDrawerProps,
13
- ref: React.Ref<HTMLDivElement>
14
- ): JSX.Element => (
15
- <StyledDrawer
16
- {...rest}
17
- ref={ref}
18
- />
19
- ))
20
-
21
- export default Drawer
@@ -1,276 +0,0 @@
1
- import React, { useEffect } from 'react'
2
- import { Person } from '@mui/icons-material'
3
- import { IMobileNavigationItemProps } from './MobileNavigationItem/MobileNavigationItem'
4
- import {
5
- StyledBottomNavigationAction, StyledPaper, StyledBottomNavigation
6
- } from './MobileNavigationStyles'
7
- import { StyledAvatar } from './MobileNavigationAvatarStyles'
8
- import SwipeableTemporaryDrawer from './MobileNavigationDrawer'
9
- import SwipeableTemporarySearch from './MobileNavigationSearch'
10
- import SwipeableTemporaryAvatar, { IAvatarMenuItemProps } from './MobileNavigationAvatar'
11
- import NotchIndicator from './MobileNavigationNotchIndicator'
12
- import ToggleX from './MobileNavigationToggleX'
13
- import ToggleSearchX from './MobileNavigationToggleSearchX'
14
- import { MOBILE_NAV_PANEL_TYPES } from '../../../utils/constants'
15
- import { handleAvatarInitials } from '../../../utils/helpers'
16
- import { useSpring, animated, useSpringRef, config } from '@react-spring/web'
17
- import { useCurrentWidth } from '../../../utils/hooks'
18
-
19
- interface MobileNavigationProps {
20
- logo?: string
21
- logoText?: string
22
- logoOnClick?: any
23
- items?: IMobileNavigationItemProps[]
24
- secondaryItems?: IMobileNavigationItemProps[]
25
- hasStreamHome?: boolean
26
- streamHomeAccessToken?: string
27
- streamHomeBaseUrl?: string
28
- streamHomeApiKey?: string
29
- avatarName?: string
30
- isDrawerOpen?: boolean
31
- isSearchOpen?: boolean
32
- isAvatarOpen?: boolean
33
- hideAvatarInitials?: boolean
34
- showNotchIndicator?: boolean
35
-
36
- // Search panel props
37
- hasSearch?: boolean
38
- searchPanelPlaceholder?: string
39
- searchPanelDefaultValue?: string
40
- searchPanelOnClickSearch?: any
41
-
42
- // Avatar panel props
43
- hasAvatar?: boolean
44
- avatarPanelLogoutString?: string
45
- avatarPanelOnClickSwitchDirection?: any
46
- avatarPanelOnClickLogout?: any
47
- avatarPanelOnClickViewProfile?: any
48
- avatarPanelViewProfileString?: string
49
- avatarPanelOnClickEditProfile?: any
50
- avatarPanelEditProfileString?: string
51
- avatarPanelMenuItems?: Array<IAvatarMenuItemProps>
52
- avatarPanelOnClickMainAction?: any
53
- avatarPanelMainActionString?: string
54
- avatarPanelSettingItems?: Array<IAvatarMenuItemProps>
55
- }
56
-
57
- const MobileNavigation = (
58
- props: MobileNavigationProps
59
- ): React.ReactElement => {
60
- const {
61
- items, secondaryItems, hideAvatarInitials,
62
- hasSearch, hasAvatar, showNotchIndicator, ...rest
63
- } = props
64
- const propIsDrawerOpen = typeof props?.isDrawerOpen === 'boolean' ? props.isDrawerOpen : undefined
65
- const propIsSearchOpen = typeof props?.isSearchOpen === 'boolean' ? props.isSearchOpen : undefined
66
- const propIsAvatarOpen = typeof props?.isAvatarOpen === 'boolean' ? props.isAvatarOpen : undefined
67
- const avatarName = props?.avatarName ?? 'Avatar name'
68
- const [isDrawerOpen, setIsDrawerOpen] = React.useState(propIsDrawerOpen ?? false)
69
- const [isSearchOpen, setIsSearchOpen] = React.useState(propIsSearchOpen ?? false)
70
- const [isAvatarOpen, setIsAvatarOpen] = React.useState(propIsAvatarOpen ?? false)
71
- const [value, setValue] = React.useState(0)
72
-
73
- const currentDirection = window.localStorage.getItem('@learningpool/ui/store/mobile-navigation-direction')
74
- const [mobileNavDirection, setMobileNavDirection] = React.useState(currentDirection ?? 'ltr')
75
-
76
- const [mobileNotchPosition, setMobileNotchPosition] = React.useState(0)
77
- const windowWidth = useCurrentWidth()
78
-
79
- useEffect(() => {
80
- window.localStorage.setItem('@learningpool/ui/store/mobile-navigation-direction', mobileNavDirection)
81
- positionMobileNotch()
82
- }, [mobileNavDirection])
83
-
84
- const NOTCH = {
85
- Height: 50,
86
- Width: 50
87
- }
88
-
89
- const BOTTOM_NAVIGATION_ITEM_DOM_ELEMENTS = document.querySelectorAll('.MuiBottomNavigationAction-root, .bottom-navigation-item')
90
-
91
- const positionMobileNotch = () => {
92
- const selectedDOMRect = BOTTOM_NAVIGATION_ITEM_DOM_ELEMENTS[value]?.getBoundingClientRect()
93
- setMobileNotchPosition(selectedDOMRect ? selectedDOMRect.left + (selectedDOMRect.width / 2) - (NOTCH.Width / 2) : mobileNotchPosition)
94
- }
95
-
96
- useEffect(() => positionMobileNotch(), [
97
- value,
98
- windowWidth,
99
- // Fix notch position if scrollbar is hidden/shown
100
- BOTTOM_NAVIGATION_ITEM_DOM_ELEMENTS[value]?.getBoundingClientRect()
101
- ])
102
-
103
- useEffect(() => setIsDrawerOpen(propIsDrawerOpen ?? false), [propIsDrawerOpen])
104
- useEffect(() => setIsSearchOpen(propIsSearchOpen ?? false), [propIsSearchOpen])
105
- useEffect(() => setIsAvatarOpen(propIsAvatarOpen ?? false), [propIsAvatarOpen])
106
- useEffect(() => setAvatarInitials(handleAvatarInitials(avatarName)), [avatarName])
107
-
108
- useEffect(() => {
109
- function hideNotch (): void {
110
- const HIDE_NOTCH = -1
111
-
112
- if (!isDrawerOpen && !isSearchOpen && !isAvatarOpen) {
113
- setValue(HIDE_NOTCH)
114
- }
115
- }
116
-
117
- hideNotch()
118
- }, [isDrawerOpen, isSearchOpen, isAvatarOpen])
119
-
120
- const [avatarInitials, setAvatarInitials] = React.useState(handleAvatarInitials(avatarName) ?? 'AN')
121
-
122
- const toggleDrawer = (open: boolean, action: string) => (event: React.KeyboardEvent | React.MouseEvent) => {
123
- event?.stopPropagation()
124
-
125
- if (event.type === 'keydown') {
126
- if ((event as React.KeyboardEvent).key === 'Tab' || (event as React.KeyboardEvent).key === 'Shift') {
127
- return
128
- }
129
- }
130
-
131
- // Close any open drawers
132
- setIsDrawerOpen(false)
133
- setIsSearchOpen(false)
134
- setIsAvatarOpen(false)
135
-
136
- // Handle drawer toggling based on 'action' or default to 'drawer'
137
- switch (action) {
138
- case MOBILE_NAV_PANEL_TYPES.SEARCH: {
139
- setIsSearchOpen(open ?? !isSearchOpen)
140
- setValue(1)
141
- break
142
- }
143
- case MOBILE_NAV_PANEL_TYPES.AVATAR: {
144
- setIsAvatarOpen(open ?? !isAvatarOpen)
145
- setValue(2)
146
- break
147
- }
148
- default: {
149
- setIsDrawerOpen(open ?? !isDrawerOpen)
150
- setValue(0)
151
- break
152
- }
153
- }
154
- }
155
-
156
- const api = useSpringRef()
157
- const animationConfig: any = {
158
- MobileNavigationPaper: {
159
- from: { opacity: 0 },
160
- to: { opacity: 1 }
161
- },
162
- MobileNavigation: {
163
- from: { opacity: 0 },
164
- to: { opacity: 1 }
165
- },
166
- MobileNavigationButton: {
167
- from: { opacity: 0 },
168
- to: { opacity: 1 }
169
- },
170
- MobileNavigationNotch: {
171
- ref: api,
172
- config: {
173
- ...config.default,
174
- mass: 1
175
- // friction: 30,
176
- // tension: 200
177
- },
178
- x: mobileNotchPosition,
179
- y: value < 0 ? 100 : 0
180
- }
181
- }
182
-
183
- const MobileNavigationPaperAnimation = useSpring(animationConfig.MobileNavigationPaper)
184
- const MobileNavigationAnimation = useSpring(animationConfig.MobileNavigation)
185
- const MobileNavigationButtonAnimation = useSpring(animationConfig.MobileNavigationButton)
186
-
187
- return (
188
- <>
189
- <SwipeableTemporaryDrawer
190
- isDrawerOpen={isDrawerOpen}
191
- setIsDrawerOpen={setIsDrawerOpen}
192
- items={items}
193
- secondaryItems={secondaryItems}
194
- label='Primary'
195
- {...rest}
196
- />
197
- {hasSearch && (
198
- <SwipeableTemporarySearch
199
- isSearchOpen={isSearchOpen}
200
- setIsSearchOpen={setIsSearchOpen}
201
- {...rest}
202
- />
203
- )}
204
- {hasAvatar && (
205
- <SwipeableTemporaryAvatar
206
- isAvatarOpen={isAvatarOpen}
207
- setIsAvatarOpen={setIsAvatarOpen}
208
- avatarName={avatarName}
209
- mobileNavDirection={mobileNavDirection}
210
- setMobileNavDirection={setMobileNavDirection}
211
- {...rest}
212
- />
213
- )}
214
- <StyledPaper
215
- elevation={3}
216
- // @ts-expect-error
217
- component={animated.div}
218
- style={MobileNavigationPaperAnimation}
219
- >
220
- {showNotchIndicator && <NotchIndicator {...animationConfig.MobileNavigationNotch} />}
221
-
222
- <StyledBottomNavigation
223
- value={value}
224
- onChange={(event, newValue) => setValue(newValue)}
225
- // @ts-expect-error
226
- component={animated.div}
227
- style={{
228
- flexDirection: mobileNavDirection && mobileNavDirection === 'rtl' ? 'row-reverse' : 'row',
229
- ...MobileNavigationAnimation
230
- }}
231
- >
232
- <StyledBottomNavigationAction
233
- icon={<ToggleX isOpen={isDrawerOpen} />}
234
- onClick={toggleDrawer(!isDrawerOpen, MOBILE_NAV_PANEL_TYPES.DRAWER)}
235
- // @ts-expect-error
236
- component={animated.div}
237
- aria-label={isDrawerOpen ? 'Close drawer panel' : 'Open drawer panel'}
238
- aria-expanded={isDrawerOpen ? 'true' : 'false'}
239
- aria-controls='mobile-nav-menu'
240
- style={{
241
- marginInlineStart: (hasSearch || hasAvatar) && (mobileNavDirection && mobileNavDirection === 'rtl') ? 'auto' : 'initial',
242
- marginInlineEnd: (hasSearch || hasAvatar) && (mobileNavDirection && mobileNavDirection === 'rtl') ? 'initial' : 'auto',
243
- ...MobileNavigationButtonAnimation
244
- }}
245
- />
246
- {hasSearch && (
247
- <StyledBottomNavigationAction
248
- icon={<ToggleSearchX isOpen={isSearchOpen} />}
249
- onClick={toggleDrawer(!isSearchOpen, MOBILE_NAV_PANEL_TYPES.SEARCH)}
250
- // @ts-expect-error
251
- component={animated.div}
252
- aria-label={isSearchOpen ? 'Close search panel' : 'Open search panel'}
253
- aria-expanded={isSearchOpen ? 'true' : 'false'}
254
- aria-controls='mobile-nav-menu'
255
- style={MobileNavigationButtonAnimation}
256
- />
257
- )}
258
- {hasAvatar && (
259
- <StyledBottomNavigationAction
260
- onClick={toggleDrawer(!isAvatarOpen, MOBILE_NAV_PANEL_TYPES.AVATAR)}
261
- icon={!hideAvatarInitials ? <StyledAvatar>{avatarInitials}</StyledAvatar> : <Person />}
262
- // @ts-expect-error
263
- component={animated.button}
264
- aria-label={isAvatarOpen ? 'Close Profile Menu' : 'Open Profile Menu'}
265
- aria-expanded={isAvatarOpen ? 'true' : 'false'}
266
- aria-controls='mobile-nav-menu'
267
- style={MobileNavigationButtonAnimation}
268
- />
269
- )}
270
- </StyledBottomNavigation>
271
- </StyledPaper>
272
- </>
273
- )
274
- }
275
-
276
- export default MobileNavigation