@learningpool/ui 1.6.0 → 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 (437) 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/{components → dist/components}/landmarks/Header/Header.d.ts +0 -0
  51. package/{components → dist/components}/landmarks/Header/Header.js +0 -0
  52. package/{components → dist/components}/landmarks/Header/HeaderActionButtons.d.ts +0 -0
  53. package/{components → dist/components}/landmarks/Header/HeaderActionButtons.js +0 -0
  54. package/{components → dist/components}/landmarks/Header/HeaderStyles.d.ts +0 -0
  55. package/{components → dist/components}/landmarks/Header/HeaderStyles.js +0 -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 +0 -0
  59. package/{components → dist/components}/navigation/MobileNavigation/MobileNavigation.js +64 -41
  60. package/{components → dist/components}/navigation/MobileNavigation/MobileNavigationAvatar.d.ts +0 -0
  61. package/{components → dist/components}/navigation/MobileNavigation/MobileNavigationAvatar.js +23 -19
  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 +0 -0
  73. package/{components → dist/components}/navigation/MobileNavigation/MobileNavigationItem/MobileNavigationItemFlyoutMenuStyles.js +0 -0
  74. package/{components → dist/components}/navigation/MobileNavigation/MobileNavigationItem/MobileNavigationItemStyles.d.ts +0 -0
  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 → dist/components}/navigation/MobileNavigation/MobileNavigationStyles.d.ts +0 -0
  85. package/{components → dist/components}/navigation/MobileNavigation/MobileNavigationStyles.js +0 -0
  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 +0 -0
  91. package/{components → dist/components}/navigation/VerticalNavigation/VerticalNavigation.js +18 -16
  92. package/{components → dist/components}/navigation/VerticalNavigation/VerticalNavigationAvatar.d.ts +0 -0
  93. package/{components → dist/components}/navigation/VerticalNavigation/VerticalNavigationAvatar.js +20 -25
  94. package/dist/components/navigation/VerticalNavigation/VerticalNavigationAvatarStyles.d.ts +3296 -0
  95. package/{components → dist/components}/navigation/VerticalNavigation/VerticalNavigationAvatarStyles.js +4 -4
  96. package/{components → dist/components}/navigation/VerticalNavigation/VerticalNavigationItem/VerticalNavigationItem.d.ts +0 -0
  97. package/{components → dist/components}/navigation/VerticalNavigation/VerticalNavigationItem/VerticalNavigationItem.js +5 -1
  98. package/{components → dist/components}/navigation/VerticalNavigation/VerticalNavigationItem/VerticalNavigationItemFlyoutMenu.d.ts +0 -0
  99. package/{components → dist/components}/navigation/VerticalNavigation/VerticalNavigationItem/VerticalNavigationItemFlyoutMenu.js +0 -0
  100. package/{components → dist/components}/navigation/VerticalNavigation/VerticalNavigationItem/VerticalNavigationItemFlyoutMenuStyles.d.ts +0 -0
  101. package/{components → dist/components}/navigation/VerticalNavigation/VerticalNavigationItem/VerticalNavigationItemFlyoutMenuStyles.js +0 -0
  102. package/{components → dist/components}/navigation/VerticalNavigation/VerticalNavigationItem/VerticalNavigationItemStyles.d.ts +0 -0
  103. package/{components → dist/components}/navigation/VerticalNavigation/VerticalNavigationItem/VerticalNavigationItemStyles.js +0 -0
  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 +3 -2
  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 +0 -0
  117. package/{components → dist/components}/stream/AppSwitcher/AppSwitcher.js +0 -0
  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 +0 -0
  121. package/{components → dist/components}/stream/AppSwitcher/AppSwitcherStyles.js +0 -0
  122. package/{components → dist/components}/stream/AppSwitcher/constants.d.ts +0 -0
  123. package/{components → dist/components}/stream/AppSwitcher/constants.js +0 -0
  124. package/{index.d.ts → dist/index.d.ts} +0 -0
  125. package/{index.js → dist/index.js} +0 -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/{types → dist/types}/components/navigation/VerticalNavigation.d.ts +0 -0
  130. package/{types → dist/types}/components/navigation/VerticalNavigation.js +0 -0
  131. package/{types → dist/types}/components/navigation/VerticalNavigationAvatar.d.ts +1 -0
  132. package/{types → dist/types}/components/navigation/VerticalNavigationAvatar.js +0 -0
  133. package/{types → dist/types}/components/stream/AppSwitcher.d.ts +0 -0
  134. package/{types → dist/types}/components/stream/AppSwitcher.js +0 -0
  135. package/{types → dist/types}/index.d.ts +0 -0
  136. package/{types → dist/types}/index.js +0 -0
  137. package/{utils → dist/utils}/constants.d.ts +0 -0
  138. package/{utils → dist/utils}/constants.js +0 -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 +0 -0
  146. package/{utils → dist/utils}/theme.js +0 -0
  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 +71 -4
  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 -147
  424. package/components/navigation/MobileNavigation/MobileNavigationDrawerStyles.d.ts +0 -392
  425. package/components/navigation/MobileNavigation/MobileNavigationNotchIndicator.d.ts +0 -3
  426. package/components/navigation/MobileNavigation/MobileNavigationNotchIndicator.js +0 -31
  427. package/components/navigation/MobileNavigation/MobileNavigationSearchStyles.d.ts +0 -257
  428. package/components/navigation/MobileNavigation/MobileNavigationToggleSearchX.d.ts +0 -3
  429. package/components/navigation/MobileNavigation/MobileNavigationToggleSearchX.js +0 -33
  430. package/components/navigation/MobileNavigation/MobileNavigationToggleX.d.ts +0 -3
  431. package/components/navigation/MobileNavigation/MobileNavigationToggleX.js +0 -27
  432. package/components/navigation/MobileNavigation/MobileNavigationToggleXStyles.d.ts +0 -36
  433. package/components/navigation/MobileNavigation/MobileNavigationToggleXStyles.js +0 -10
  434. package/components/navigation/VerticalNavigation/VerticalNavigationAvatarStyles.d.ts +0 -827
  435. package/components/navigation/VerticalNavigation/VerticalNavigationStyles.d.ts +0 -88
  436. package/utils/helpers.d.ts +0 -6
  437. package/utils/helpers.js +0 -17
@@ -0,0 +1,39 @@
1
+ import { Canvas, Meta, Story } from '@storybook/addon-docs';
2
+ import Tooltip from '../../../../lib/components/datadisplay/Tooltip/Tooltip';
3
+ import Chip from '../../../../lib/components/datadisplay/Chip/Chip';
4
+ import Button from '../../../../lib/components/atoms/Button/Button';
5
+ import { Box, Typography, IconButton} from '@mui/material';
6
+ import DeleteIcon from '@mui/icons-material/Delete';
7
+
8
+ <Meta title="Components/Data Display/Tooltip/Accessibility" />
9
+
10
+ [](#Tooltip-accessibility)Tooltip Accessibility <span class="sbdocs-edit-link"><Chip clickable component="a" href="https://github.com/ht2-labs/design-system/tree/main/src/stories/Components/DataDisplay/Tooltip/Accessibility.stories.mdx" size="small" label="Edit" variant="outlined" /></span>
11
+ =================================================================================
12
+
13
+ This component has been validated to meet the WCAG 2.1 AA and Section 508 accessibility guidelines; however, changes made by the developer can affect accessibility compliance.
14
+
15
+ Please follow the guidance in this section and see [WAI-ARIA](https://www.w3.org/TR/wai-aria-practices/) for more information.
16
+
17
+ ## [](#guidelines)Guidelines
18
+ The component handles most of the work necessary to make it accessible. However, you need to make sure that:
19
+
20
+ * Tooltips can be hard to discover in the UI for some users because they lack visual cues, so try to use them consistently to increase awareness.
21
+ * Tooltips have moderate contrast against the background.
22
+
23
+ ### [](#when-to-use-this-component)When to use this component
24
+ Tooltips are used when you want a user-triggered messages that provides additional information about an element or feature.
25
+
26
+ ### [](#screen-readers)Screen readers
27
+ By default, the tooltip only labels its child element. This is notably different from `title` which can either label or describe its child depending on whether the child already has a label. If you want the tooltip to act as an accessible description you can pass `describeChild`. Note that you shouldn't use `describeChild` if the tooltip provides the only visual label. Otherwise, the child would have no accessible name and the tooltip would violate [success criterion 2.5.3 in WCAG 2.1](https://www.w3.org/WAI/WCAG21/Understanding/label-in-name.html).
28
+ <Canvas isExpanded>
29
+ <>
30
+ <Tooltip title="Delete">
31
+ <IconButton>
32
+ <DeleteIcon />
33
+ </IconButton>
34
+ </Tooltip>
35
+ <Tooltip describeChild title="Does not add if it already exists.">
36
+ <Button>Add</Button>
37
+ </Tooltip>
38
+ </>
39
+ </Canvas>
@@ -0,0 +1,134 @@
1
+ import * as React from 'react'
2
+ import { Stack, Box, ClickAwayListener } from '@mui/material'
3
+ import Tooltip from '../../../../lib/components/datadisplay/Tooltip/Tooltip'
4
+ import Button from '../../../../lib/components/atoms/Button/Button'
5
+ import Fade from '@mui/material/Fade'
6
+ import Zoom from '@mui/material/Zoom'
7
+
8
+ const TooltipGrid = (args: any): JSX.Element => {
9
+ const [open, setOpen] = React.useState(false)
10
+
11
+ const handleTooltipClose = (): void => {
12
+ setOpen(false)
13
+ }
14
+
15
+ const handleTooltipOpen = (): void => {
16
+ setOpen(true)
17
+ }
18
+
19
+ return (
20
+ <>
21
+ <Stack direction="row" spacing={1} alignItems="center" mb={2}>
22
+ <Tooltip disableFocusListener title="Add">
23
+ <Button>Hover or touch</Button>
24
+ </Tooltip>
25
+ <Tooltip disableHoverListener title="Add">
26
+ <Button>Focus or touch</Button>
27
+ </Tooltip>
28
+ <Tooltip disableFocusListener disableTouchListener title="Add">
29
+ <Button>Hover</Button>
30
+ </Tooltip>
31
+ <ClickAwayListener onClickAway={handleTooltipClose}>
32
+ <div>
33
+ <Tooltip
34
+ PopperProps={{
35
+ disablePortal: true
36
+ }}
37
+ onClose={handleTooltipClose}
38
+ open={open}
39
+ disableFocusListener
40
+ disableHoverListener
41
+ disableTouchListener
42
+ title="Add"
43
+ >
44
+ <Button onClick={handleTooltipOpen}>Click</Button>
45
+ </Tooltip>
46
+ </div>
47
+ </ClickAwayListener>
48
+ <Tooltip title="You don't have permission to do this" followCursor>
49
+ <Box sx={{ bgcolor: 'text.disabled', color: 'background.paper', p: 2 }}>
50
+ Disabled Action
51
+ </Box>
52
+ </Tooltip>
53
+ </Stack>
54
+
55
+ <Stack direction="row" spacing={10} alignItems="center" mb={2}>
56
+ <Tooltip title="Add">
57
+ <Button>Grow</Button>
58
+ </Tooltip>
59
+ <Tooltip
60
+ TransitionComponent={Fade}
61
+ TransitionProps={{ timeout: 600 }}
62
+ title="Add"
63
+ >
64
+ <Button>Fade</Button>
65
+ </Tooltip>
66
+ <Tooltip TransitionComponent={Zoom} title="Add">
67
+ <Button>Zoom</Button>
68
+ </Tooltip>
69
+ </Stack>
70
+
71
+ <Stack direction="row" spacing={10} alignItems="center" mb={2}>
72
+ <Tooltip title="Add" placement="top-start">
73
+ <Button>top-start</Button>
74
+ </Tooltip>
75
+ <Tooltip title="Add" placement="top">
76
+ <Button>top</Button>
77
+ </Tooltip>
78
+ <Tooltip title="Add" placement="top-end">
79
+ <Button>top-end</Button>
80
+ </Tooltip>
81
+ </Stack>
82
+
83
+ <Stack direction="row" spacing={10} alignItems="center" mb={2}>
84
+ <Tooltip title="Add" placement="left-start">
85
+ <Button>left-start</Button>
86
+ </Tooltip>
87
+ <Tooltip title="Add" placement="left">
88
+ <Button>left</Button>
89
+ </Tooltip>
90
+ <Tooltip title="Add" placement="left-end">
91
+ <Button>left-end</Button>
92
+ </Tooltip>
93
+ </Stack>
94
+
95
+ <Stack direction="row" spacing={10} alignItems="center" mb={2}>
96
+ <Tooltip title="Add" placement="right-start">
97
+ <Button>right-start</Button>
98
+ </Tooltip>
99
+ <Tooltip title="Add" placement="right">
100
+ <Button>right</Button>
101
+ </Tooltip>
102
+ <Tooltip title="Add" placement="right-end">
103
+ <Button>right-end</Button>
104
+ </Tooltip>
105
+ </Stack>
106
+
107
+ <Stack direction="row" spacing={10} alignItems="center" mb={2}>
108
+ <Tooltip title="Add" placement="bottom-start">
109
+ <Button>bottom-start</Button>
110
+ </Tooltip>
111
+ <Tooltip title="Add" placement="bottom">
112
+ <Button>bottom</Button>
113
+ </Tooltip>
114
+ <Tooltip title="Add" placement="bottom-end">
115
+ <Button>bottom-end</Button>
116
+ </Tooltip>
117
+ </Stack>
118
+ </>
119
+ )
120
+ }
121
+
122
+ export default function AllCombinations (): JSX.Element {
123
+ const combinations = [
124
+ { }
125
+ ]
126
+
127
+ return (
128
+ <Stack>
129
+ {combinations.map(TooltipConfig => (
130
+ <TooltipGrid {...TooltipConfig} />
131
+ ))}
132
+ </Stack>
133
+ )
134
+ }
@@ -0,0 +1,237 @@
1
+ import { ComponentMeta, ComponentStory } from '@storybook/react'
2
+ import * as React from 'react'
3
+ import { DOCS } from '../../../../docs'
4
+ import Tooltip from '../../../../lib/components/datadisplay/Tooltip/Tooltip'
5
+ import Button from '../../../../lib/components/atoms/Button/Button'
6
+ import ClickAwayListener from '@mui/material/ClickAwayListener'
7
+ import Box from '@mui/material/Box'
8
+ import Grid from '@mui/material/Grid'
9
+ import DeleteIcon from '@mui/icons-material/Delete'
10
+ import IconButton from '@mui/material/IconButton'
11
+ import Fade from '@mui/material/Fade'
12
+ import Zoom from '@mui/material/Zoom'
13
+ import AllCombinations from './AllCombinations'
14
+
15
+ export default {
16
+ title: 'Components/Data Display/Tooltip/Examples',
17
+ component: Tooltip
18
+ } as ComponentMeta<typeof Tooltip>
19
+
20
+ export const Default: ComponentStory<typeof Tooltip> = (args): JSX.Element => {
21
+ return (
22
+ <Tooltip title="Delete">
23
+ <IconButton>
24
+ <DeleteIcon />
25
+ </IconButton>
26
+ </Tooltip>
27
+ )
28
+ }
29
+ Default.parameters = {
30
+ docs: {
31
+ description: {
32
+ component: DOCS.Tooltip.Default
33
+ }
34
+ }
35
+ }
36
+
37
+ export const Position: ComponentStory<typeof Tooltip> = (args): JSX.Element => {
38
+ return (
39
+ <Box sx={{ width: 500 }}>
40
+ <Grid container justifyContent="center">
41
+ <Grid item spacing={2}>
42
+ <Tooltip title="Add" placement="top-start">
43
+ <Button>top-start</Button>
44
+ </Tooltip>
45
+ <Tooltip title="Add" placement="top">
46
+ <Button>top</Button>
47
+ </Tooltip>
48
+ <Tooltip title="Add" placement="top-end">
49
+ <Button>top-end</Button>
50
+ </Tooltip>
51
+ </Grid>
52
+ </Grid>
53
+ <Grid container justifyContent="center">
54
+ <Grid item xs={6} spacing={2}>
55
+ <Tooltip title="Add" placement="left-start">
56
+ <Button>left-start</Button>
57
+ </Tooltip>
58
+ <br />
59
+ <Tooltip title="Add" placement="left">
60
+ <Button>left</Button>
61
+ </Tooltip>
62
+ <br />
63
+ <Tooltip title="Add" placement="left-end">
64
+ <Button>left-end</Button>
65
+ </Tooltip>
66
+ </Grid>
67
+ <Grid item container xs={6} alignItems="flex-end" direction="column">
68
+ <Grid item spacing={2}>
69
+ <Tooltip title="Add" placement="right-start">
70
+ <Button>right-start</Button>
71
+ </Tooltip>
72
+ </Grid>
73
+ <Grid item spacing={2}>
74
+ <Tooltip title="Add" placement="right">
75
+ <Button>right</Button>
76
+ </Tooltip>
77
+ </Grid>
78
+ <Grid item spacing={2}>
79
+ <Tooltip title="Add" placement="right-end">
80
+ <Button>right-end</Button>
81
+ </Tooltip>
82
+ </Grid>
83
+ </Grid>
84
+ </Grid>
85
+ <Grid container justifyContent="center">
86
+ <Grid item spacing={2}>
87
+ <Tooltip title="Add" placement="bottom-start">
88
+ <Button>bottom-start</Button>
89
+ </Tooltip>
90
+ <Tooltip title="Add" placement="bottom">
91
+ <Button>bottom</Button>
92
+ </Tooltip>
93
+ <Tooltip title="Add" placement="bottom-end">
94
+ <Button>bottom-end</Button>
95
+ </Tooltip>
96
+ </Grid>
97
+ </Grid>
98
+ </Box>
99
+ )
100
+ }
101
+ Position.parameters = {
102
+ docs: {
103
+ description: {
104
+ component: DOCS.Tooltip.Position
105
+ }
106
+ }
107
+ }
108
+
109
+ export const Triggers: ComponentStory<typeof Tooltip> = (args): JSX.Element => {
110
+ const [open, setOpen] = React.useState(false)
111
+
112
+ const handleTooltipClose = (): void => {
113
+ setOpen(false)
114
+ }
115
+
116
+ const handleTooltipOpen = (): void => {
117
+ setOpen(true)
118
+ }
119
+
120
+ return (
121
+ <div>
122
+ <Grid container justifyContent="center">
123
+ <Grid item>
124
+ <Tooltip disableFocusListener title="Add">
125
+ <Button>Hover or touch</Button>
126
+ </Tooltip>
127
+ </Grid>
128
+ <Grid item>
129
+ <Tooltip disableHoverListener title="Add">
130
+ <Button>Focus or touch</Button>
131
+ </Tooltip>
132
+ </Grid>
133
+ <Grid item>
134
+ <Tooltip disableFocusListener disableTouchListener title="Add">
135
+ <Button>Hover</Button>
136
+ </Tooltip>
137
+ </Grid>
138
+ <Grid item>
139
+ <ClickAwayListener onClickAway={handleTooltipClose}>
140
+ <div>
141
+ <Tooltip
142
+ PopperProps={{
143
+ disablePortal: true
144
+ }}
145
+ onClose={handleTooltipClose}
146
+ open={open}
147
+ disableFocusListener
148
+ disableHoverListener
149
+ disableTouchListener
150
+ title="Add"
151
+ >
152
+ <Button onClick={handleTooltipOpen}>Click</Button>
153
+ </Tooltip>
154
+ </div>
155
+ </ClickAwayListener>
156
+ </Grid>
157
+ </Grid>
158
+ </div>
159
+ )
160
+ }
161
+ Triggers.parameters = {
162
+ docs: {
163
+ description: {
164
+ story: DOCS.Tooltip.Triggers
165
+ }
166
+ }
167
+ }
168
+
169
+ export const Transitions: ComponentStory<typeof Tooltip> = (args): JSX.Element => {
170
+ return (
171
+ <div>
172
+ <Tooltip title="Add">
173
+ <Button>Grow</Button>
174
+ </Tooltip>
175
+ <Tooltip
176
+ TransitionComponent={Fade}
177
+ TransitionProps={{ timeout: 600 }}
178
+ title="Add"
179
+ >
180
+ <Button>Fade</Button>
181
+ </Tooltip>
182
+ <Tooltip TransitionComponent={Zoom} title="Add">
183
+ <Button>Zoom</Button>
184
+ </Tooltip>
185
+ </div>
186
+ )
187
+ }
188
+ Transitions.parameters = {
189
+ docs: {
190
+ description: {
191
+ story: DOCS.Tooltip.Transitions
192
+ }
193
+ }
194
+ }
195
+
196
+ export const FollowCursor: ComponentStory<typeof Tooltip> = (args): JSX.Element => {
197
+ return (
198
+ <Tooltip title="You don't have permission to do this" followCursor>
199
+ <Box sx={{ bgcolor: 'text.disabled', color: 'background.paper', p: 2 }}>
200
+ Disabled Action
201
+ </Box>
202
+ </Tooltip>
203
+ )
204
+ }
205
+ FollowCursor.parameters = {
206
+ docs: {
207
+ description: {
208
+ story: DOCS.Tooltip.FollowCursor
209
+ }
210
+ }
211
+ }
212
+
213
+ export const ShowingAndHiding: ComponentStory<typeof Tooltip> = (args): JSX.Element => {
214
+ return (
215
+ <Tooltip title="Add" enterDelay={500} leaveDelay={200}>
216
+ <Button>[500ms, 200ms]</Button>
217
+ </Tooltip>
218
+ )
219
+ }
220
+ ShowingAndHiding.parameters = {
221
+ docs: {
222
+ description: {
223
+ story: DOCS.Tooltip.ShowingAndHiding
224
+ }
225
+ }
226
+ }
227
+
228
+ export const All: ComponentStory<typeof AllCombinations> = (args): JSX.Element => (
229
+ <AllCombinations />
230
+ )
231
+ All.parameters = {
232
+ docs: {
233
+ description: {
234
+ story: DOCS.Tooltip.All
235
+ }
236
+ }
237
+ }
@@ -0,0 +1,58 @@
1
+ import { Canvas, Meta, Story } from '@storybook/addon-docs';
2
+ import Tooltip from '../../../../lib/components/datadisplay/Tooltip/Tooltip';
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
+ import DeleteIcon from '@mui/icons-material/Delete';
7
+ import IconButton from '@mui/material/IconButton';
8
+
9
+ <Meta title="Components/Data Display/Tooltip/Overview" component={Tooltip} />
10
+
11
+ [](#component-overview)Tooltip 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>
12
+ =================================================================================
13
+
14
+ ### [](#what-does-it-do)What does it do?
15
+
16
+ Tooltips display informative text when users hover over, focus on, or tap an element.
17
+
18
+ <Stack direction="row" spacing={1}>
19
+ <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" />
20
+ <Chip clickable component="a" href="https://material.io/components/selection-controls#radio-buttons" size="small" icon={<MaterialDesignIcon />} label="Material Design" variant="outlined" />
21
+ <Chip clickable component="a" href="https://www.w3.org/TR/wai-aria-practices/#radiobutton" size="small" icon={<W3CIcon />} label="WAI-ARIA" variant="outlined" />
22
+ <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" />
23
+ <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" />
24
+ </Stack>
25
+
26
+ ### [](#why-use-it)Why use it?
27
+
28
+ * When activated, Tooltips can provide additional context for an element, such as a description of its function.
29
+
30
+ ### [](#how-to-implement-it)How to implement it?
31
+
32
+ Below is basic example of the Tooltip component used with an IconButton:
33
+
34
+ <Canvas isExpanded>
35
+ <Tooltip title="Delete">
36
+ <IconButton>
37
+ <DeleteIcon />
38
+ </IconButton>
39
+ </Tooltip>
40
+ </Canvas>
41
+
42
+ ### [](#when-to-avoid-it)When to avoid it?
43
+
44
+ * Do not use a Tooltip when you need to communicate critial information to a user.
45
+
46
+ ### [](#best-practices)Best practices
47
+
48
+ * The information in a Tooltip should be contextual, useful, and nonessential.
49
+ * Ensure the position of the Tooltip does not block related content.
50
+
51
+ ### [](#design-prototype)Design prototype
52
+ <iframe
53
+ allowfullscreen
54
+ frameborder="0"
55
+ height="350"
56
+ width="100%"
57
+ src="https://www.figma.com/proto/mBDuFn79U8wQIIEoCGpMew/DS%3A-Component-Library?node-id=1142%3A17936&amp;scaling=min-zoom&amp;page-id=1141%3A18763&amp;starting-point-node-id=1142%3A17936"
58
+ />
@@ -0,0 +1,22 @@
1
+ import { ComponentMeta, ComponentStory } from '@storybook/react'
2
+ import * as React from 'react'
3
+ import Button from '../../../../lib/components/atoms/Button/Button'
4
+ import Tooltip from '../../../../lib/components/datadisplay/Tooltip/Tooltip'
5
+
6
+ export default {
7
+ title: 'Components/Data Display/Tooltip/Properties',
8
+ component: Tooltip,
9
+ parameters: {
10
+ controls: {
11
+ sort: 'requiredFirst'
12
+ }
13
+ }
14
+ } as ComponentMeta<typeof Tooltip>
15
+
16
+ // 👇 We create a “template” of how args map to rendering
17
+ const Template: ComponentStory<typeof Tooltip> = (args) => <Tooltip {...args}><Button>Tooltip</Button></Tooltip>
18
+
19
+ export const Properties = Template.bind({})
20
+ Properties.args = {
21
+ title: 'Tooltip'
22
+ }
@@ -0,0 +1,25 @@
1
+ import { Canvas, Meta, Story } from '@storybook/addon-docs';
2
+ import Alert from '../../../../lib/components/feedback/Alert/Alert';
3
+ import Chip from '@mui/material/Chip';
4
+
5
+ <Meta title="Components/Feedback/Alert/Accessibility" />
6
+
7
+ [](#alert-accessibility)Alert Accessibility <span class="sbdocs-edit-link"><Chip clickable component="a" href="https://github.com/ht2-labs/design-system/tree/main/src/stories/Components/Feedback/Alert/Accessibility.stories.mdx" size="small" label="Edit" variant="outlined" /></span>
8
+ =================================================================================
9
+
10
+ This component has been validated to meet the WCAG 2.1 AA and Section 508 accessibility guidelines; however, changes made by the developer can affect accessibility compliance.
11
+
12
+ Please follow the guidance in this section and see [WAI-ARIA Alert](https://www.w3.org/TR/wai-aria-practices/#alert) for more information.
13
+
14
+ ## [](#guidelines)Guidelines
15
+ * Don't use alerts that dismiss on a timer for critical or emergency messages. Some users may need more time to read or interact with messages and timed toasts may not provide sufficient time.
16
+ * Users should be able to manage or limit noncritical alerts. This gives users the control to reduce the number of distractions or disruptions they receive, which is particularly helpful for users with cognitive limitations.
17
+
18
+ ### [](#when-to-use-this-component)When to use this component
19
+ Use an alert when you want to display a short, important message in a way that attracts the user's attention without interrupting the user's task.
20
+
21
+ ### [](#screen-readers)Screen readers
22
+ When the component is dynamically displayed, the content is automatically announced by most screen readers. At this time, screen readers do not inform users of alerts that are present when the page loads.
23
+
24
+ ### [](#color-and-contrast)Color and contrast
25
+ Using color to add meaning only provides a visual indication, which will not be conveyed to users of assistive technologies such as screen readers. Ensure that information denoted by the color is either obvious from the content itself (for example the visible text), or is included through alternative means, such as additional hidden text.
@@ -0,0 +1,22 @@
1
+ import { ComponentMeta, ComponentStory } from '@storybook/react'
2
+ import * as React from 'react'
3
+ import Alert from '../../../../lib/components/feedback/Alert/Alert'
4
+
5
+ export default {
6
+ title: 'Components/Feedback/Alert/Properties',
7
+ component: Alert,
8
+ parameters: {
9
+ controls: {
10
+ sort: 'requiredFirst'
11
+ }
12
+ },
13
+ addons: {
14
+ panelPosition: 'right'
15
+ }
16
+ } as ComponentMeta<typeof Alert>
17
+
18
+ // 👇 We create a “template” of how args map to rendering
19
+ const Template: ComponentStory<typeof Alert> = (args) => <Alert {...args} />
20
+
21
+ export const Properties = Template.bind({})
22
+ Properties.args = {}
@@ -0,0 +1,37 @@
1
+ import * as React from 'react'
2
+ import { Stack } from '@mui/material'
3
+ import Alert from '../../../../lib/components/feedback/Alert/Alert'
4
+ import AlertTitle from '@mui/material/AlertTitle'
5
+ import CheckIcon from '@mui/icons-material/Check'
6
+
7
+ const AlertGrid = (args: any): JSX.Element => {
8
+ return (
9
+ <Stack sx={{ width: '100%' }} spacing={1}>
10
+ <Alert {...args}>Alert message.</Alert>
11
+ <Alert {...args} icon={<CheckIcon fontSize="inherit" />}>Alert message.</Alert>
12
+ <Alert {...args}><AlertTitle>Error</AlertTitle>Alert message.</Alert>
13
+ <Alert {...args} onClose={() => {}}>Alert message.</Alert>
14
+ </Stack>
15
+ )
16
+ }
17
+
18
+ export default function AllCombinations (): JSX.Element {
19
+ const combinations = [
20
+ { severity: 'error', variant: 'outlined' },
21
+ { severity: 'warning', variant: 'outlined' },
22
+ { severity: 'info', variant: 'outlined' },
23
+ { severity: 'success', variant: 'outlined' },
24
+ { severity: 'error', variant: 'filled' },
25
+ { severity: 'warning', variant: 'filled' },
26
+ { severity: 'info', variant: 'filled' },
27
+ { severity: 'success', variant: 'filled' }
28
+ ]
29
+
30
+ return (
31
+ <Stack sx={{ width: '100%' }} spacing={2}>
32
+ {combinations.map(alertConfig => (
33
+ <AlertGrid {...alertConfig} />
34
+ ))}
35
+ </Stack>
36
+ )
37
+ }