@carbon/ibm-products 1.0.0-rc.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (479) hide show
  1. package/README.md +19 -18
  2. package/css/index-full-carbon.css +33427 -0
  3. package/css/index-full-carbon.css.map +1 -0
  4. package/css/index-full-carbon.min.css +9 -0
  5. package/css/index-without-carbon-released-only.css +7831 -0
  6. package/css/index-without-carbon-released-only.css.map +1 -0
  7. package/css/index-without-carbon-released-only.min.css +9 -0
  8. package/css/index-without-carbon.css +9841 -0
  9. package/css/index-without-carbon.css.map +1 -0
  10. package/css/index-without-carbon.min.css +9 -0
  11. package/css/index.css +22317 -0
  12. package/css/index.css.map +1 -0
  13. package/css/index.min.css +9 -0
  14. package/es/components/APIKeyModal/APIKeyDownloader.js +103 -0
  15. package/es/components/APIKeyModal/APIKeyModal.js +593 -0
  16. package/es/components/APIKeyModal/index.js +7 -0
  17. package/es/components/AboutModal/AboutModal.js +202 -0
  18. package/es/components/AboutModal/index.js +7 -0
  19. package/es/components/ActionBar/ActionBar.js +274 -0
  20. package/es/components/ActionBar/ActionBarItem.js +99 -0
  21. package/es/components/ActionBar/ActionBarOverflowItems.js +70 -0
  22. package/es/components/ActionBar/index.js +8 -0
  23. package/es/components/ActionSet/ActionSet.js +195 -0
  24. package/es/components/ActionSet/actions.js +48 -0
  25. package/es/components/ActionSet/index.js +7 -0
  26. package/es/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +349 -0
  27. package/es/components/BreadcrumbWithOverflow/index.js +8 -0
  28. package/es/components/ButtonMenu/ButtonMenu.js +108 -0
  29. package/es/components/ButtonMenu/ButtonMenuItem.js +30 -0
  30. package/es/components/ButtonMenu/index.js +8 -0
  31. package/es/components/ButtonSetWithOverflow/ButtonSetWithOverflow.js +231 -0
  32. package/es/components/ButtonSetWithOverflow/index.js +7 -0
  33. package/es/components/Card/Card.js +242 -0
  34. package/es/components/Card/CardFooter.js +72 -0
  35. package/es/components/Card/CardHeader.js +53 -0
  36. package/es/components/Card/index.js +9 -0
  37. package/es/components/Cascade/Cascade.js +88 -0
  38. package/es/components/Cascade/index.js +1 -0
  39. package/es/components/ComboButton/ComboButton.js +110 -0
  40. package/es/components/ComboButton/ComboButtonItem/index.js +39 -0
  41. package/es/components/ComboButton/index.js +8 -0
  42. package/es/components/CreateFullPage/CreateFullPage.js +454 -0
  43. package/es/components/CreateFullPage/CreateFullPageSection.js +53 -0
  44. package/es/components/CreateFullPage/CreateFullPageStep.js +112 -0
  45. package/es/components/CreateFullPage/constants.js +8 -0
  46. package/es/components/CreateFullPage/index.js +9 -0
  47. package/es/components/CreateInfluencer/CreateInfluencer.js +273 -0
  48. package/es/components/CreateInfluencer/index.js +7 -0
  49. package/es/components/CreateModal/CreateModal.js +152 -0
  50. package/es/components/CreateModal/index.js +8 -0
  51. package/es/components/CreateSidePanel/CreateSidePanel.js +175 -0
  52. package/es/components/CreateSidePanel/index.js +7 -0
  53. package/es/components/CreateTearsheet/CreateTearsheet.js +371 -0
  54. package/es/components/CreateTearsheet/CreateTearsheetDivider.js +33 -0
  55. package/es/components/CreateTearsheet/CreateTearsheetSection.js +83 -0
  56. package/es/components/CreateTearsheet/CreateTearsheetStep.js +129 -0
  57. package/es/components/CreateTearsheet/constants.js +8 -0
  58. package/es/components/CreateTearsheet/index.js +10 -0
  59. package/es/components/CreateTearsheet/preview-components/MultiStepTearsheet.js +244 -0
  60. package/es/components/CreateTearsheet/preview-components/MultiStepWithIntro.js +295 -0
  61. package/es/components/CreateTearsheet/preview-components/MultiStepWithSectionsTearsheet.js +327 -0
  62. package/es/components/CreateTearsheetNarrow/CreateTearsheetNarrow.js +174 -0
  63. package/es/components/CreateTearsheetNarrow/index.js +7 -0
  64. package/es/components/EditSidePanel/EditSidePanel.js +209 -0
  65. package/es/components/EditSidePanel/index.js +7 -0
  66. package/es/components/EmptyStates/EmptyState.js +118 -0
  67. package/es/components/EmptyStates/EmptyStateContent.js +85 -0
  68. package/es/components/EmptyStates/ErrorEmptyState/ErrorEmptyState.js +113 -0
  69. package/es/components/EmptyStates/ErrorEmptyState/index.js +7 -0
  70. package/es/components/EmptyStates/NoDataEmptyState/NoDataEmptyState.js +113 -0
  71. package/es/components/EmptyStates/NoDataEmptyState/index.js +7 -0
  72. package/es/components/EmptyStates/NoTagsEmptyState/NoTagsEmptyState.js +113 -0
  73. package/es/components/EmptyStates/NoTagsEmptyState/index.js +7 -0
  74. package/es/components/EmptyStates/NotFoundEmptyState/NotFoundEmptyState.js +113 -0
  75. package/es/components/EmptyStates/NotFoundEmptyState/index.js +7 -0
  76. package/es/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.js +113 -0
  77. package/es/components/EmptyStates/NotificationsEmptyState/index.js +7 -0
  78. package/es/components/EmptyStates/UnauthorizedEmptyState/UnauthorizedEmptyState.js +113 -0
  79. package/es/components/EmptyStates/UnauthorizedEmptyState/index.js +7 -0
  80. package/es/components/EmptyStates/assets/ErrorIllustration.js +217 -0
  81. package/es/components/EmptyStates/assets/NoDataIllustration.js +180 -0
  82. package/es/components/EmptyStates/assets/NoTagsIllustration.js +488 -0
  83. package/es/components/EmptyStates/assets/NotFoundIllustration.js +365 -0
  84. package/es/components/EmptyStates/assets/NotificationsIllustration.js +336 -0
  85. package/es/components/EmptyStates/assets/UnauthorizedIllustration.js +309 -0
  86. package/es/components/EmptyStates/index.js +13 -0
  87. package/es/components/ExampleComponent/ExampleComponent.js +160 -0
  88. package/es/components/ExampleComponent/index.js +7 -0
  89. package/es/components/ExportModal/ExportModal.js +276 -0
  90. package/es/components/ExportModal/index.js +7 -0
  91. package/es/components/ExpressiveCard/ExpressiveCard.js +138 -0
  92. package/es/components/ExpressiveCard/index.js +7 -0
  93. package/es/components/HTTPErrors/HTTPError403/HTTPError403.js +87 -0
  94. package/es/components/HTTPErrors/HTTPError403/index.js +7 -0
  95. package/es/components/HTTPErrors/HTTPError404/HTTPError404.js +87 -0
  96. package/es/components/HTTPErrors/HTTPError404/index.js +7 -0
  97. package/es/components/HTTPErrors/HTTPErrorContent.js +84 -0
  98. package/es/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +87 -0
  99. package/es/components/HTTPErrors/HTTPErrorOther/index.js +7 -0
  100. package/es/components/HTTPErrors/assets/HTTPErrorSvg403.js +1238 -0
  101. package/es/components/HTTPErrors/assets/HTTPErrorSvg404.js +1037 -0
  102. package/es/components/HTTPErrors/assets/HTTPErrorSvgOther.js +1088 -0
  103. package/es/components/HTTPErrors/index.js +9 -0
  104. package/es/components/ImportModal/ImportModal.js +421 -0
  105. package/es/components/ImportModal/index.js +7 -0
  106. package/es/components/LoadingBar/LoadingBar.js +160 -0
  107. package/es/components/LoadingBar/index.js +7 -0
  108. package/es/components/ModifiedTabs/ModifiedTabLabelNew.js +34 -0
  109. package/es/components/ModifiedTabs/ModifiedTabLabelWithClose.js +54 -0
  110. package/es/components/ModifiedTabs/ModifiedTabs.js +113 -0
  111. package/es/components/ModifiedTabs/index.js +1 -0
  112. package/es/components/NotificationsPanel/NotificationsPanel.js +547 -0
  113. package/es/components/NotificationsPanel/NotificationsPanel_data.js +134 -0
  114. package/es/components/NotificationsPanel/index.js +7 -0
  115. package/es/components/NotificationsPanel/preview-components/UnreadNotificationBell.js +49 -0
  116. package/es/components/NotificationsPanel/utils.js +56 -0
  117. package/es/components/OptionsTile/OptionsTile.js +306 -0
  118. package/es/components/OptionsTile/index.js +7 -0
  119. package/es/components/PageHeader/PageHeader.js +779 -0
  120. package/es/components/PageHeader/PageHeaderDemo.data.js +614 -0
  121. package/es/components/PageHeader/PageHeaderTitle.js +49 -0
  122. package/es/components/PageHeader/PageHeaderUtils.js +187 -0
  123. package/es/components/PageHeader/index.js +7 -0
  124. package/es/components/ProductiveCard/ProductiveCard.js +118 -0
  125. package/es/components/ProductiveCard/index.js +7 -0
  126. package/es/components/RemoveModal/RemoveModal.js +189 -0
  127. package/es/components/RemoveModal/index.js +7 -0
  128. package/es/components/Saving/Saving.js +156 -0
  129. package/es/components/Saving/index.js +7 -0
  130. package/es/components/SidePanel/SidePanel.js +643 -0
  131. package/es/components/SidePanel/constants.js +13 -0
  132. package/es/components/SidePanel/index.js +7 -0
  133. package/es/components/StatusIcon/StatusIcon.js +132 -0
  134. package/es/components/StatusIcon/index.js +7 -0
  135. package/es/components/TagSet/TagSet.js +326 -0
  136. package/es/components/TagSet/TagSetModal.js +118 -0
  137. package/es/components/TagSet/TagSetOverflow.js +121 -0
  138. package/es/components/TagSet/index.js +7 -0
  139. package/es/components/Tearsheet/Tearsheet.js +180 -0
  140. package/es/components/Tearsheet/TearsheetNarrow.js +148 -0
  141. package/es/components/Tearsheet/TearsheetShell.js +390 -0
  142. package/es/components/Tearsheet/index.js +8 -0
  143. package/es/components/Toolbar/Toolbar.js +54 -0
  144. package/es/components/Toolbar/ToolbarButton.js +55 -0
  145. package/es/components/Toolbar/ToolbarGroup.js +37 -0
  146. package/es/components/Toolbar/index.js +9 -0
  147. package/es/components/UserProfileImage/UserProfileImage.js +136 -0
  148. package/es/components/UserProfileImage/index.js +8 -0
  149. package/es/components/WebTerminal/WebTerminal.js +168 -0
  150. package/es/components/WebTerminal/index.js +1 -0
  151. package/es/components/WebTerminal/preview-components/Navigation.js +31 -0
  152. package/es/components/WebTerminal/preview-components/documentationLinks.js +25 -0
  153. package/es/components/WebTerminal/preview-components/index.js +5 -0
  154. package/es/components/_Canary/Canary.js +48 -0
  155. package/es/components/_Canary/index.js +7 -0
  156. package/es/components/index.js +37 -0
  157. package/es/generated/feature-flags/feature-flags.js +15 -0
  158. package/es/global/js/hooks/index.js +14 -0
  159. package/es/global/js/hooks/useClickOutside.js +21 -0
  160. package/es/global/js/hooks/useCreateComponentFocus.js +37 -0
  161. package/es/global/js/hooks/useCreateComponentStepChange.js +250 -0
  162. package/es/global/js/hooks/usePreviousValue.js +19 -0
  163. package/es/global/js/hooks/useResetCreateComponent.js +40 -0
  164. package/es/global/js/hooks/useValidCreateStepCount.js +23 -0
  165. package/es/global/js/hooks/useWindowResize.js +67 -0
  166. package/es/global/js/hooks/useWindowScroll.js +80 -0
  167. package/es/global/js/package-settings.js +161 -0
  168. package/es/global/js/utils/ClickListener.js +70 -0
  169. package/es/global/js/utils/Wrap.js +85 -0
  170. package/es/global/js/utils/devtools.js +20 -0
  171. package/es/global/js/utils/getFocusableElements.js +14 -0
  172. package/es/global/js/utils/hasValidType.js +94 -0
  173. package/es/global/js/utils/keyboardNavigation.js +34 -0
  174. package/es/global/js/utils/pconsole.js +36 -0
  175. package/es/global/js/utils/props-helper.js +272 -0
  176. package/es/global/js/utils/scrollableAncestor.js +40 -0
  177. package/es/global/js/utils/story-helper.js +75 -0
  178. package/es/global/js/utils/test-helper.js +296 -0
  179. package/es/global/js/utils/unwrap-if-fragment.js +71 -0
  180. package/es/global/js/utils/uuidv4.js +12 -0
  181. package/es/global/js/utils/uuidv4.spec.js +23 -0
  182. package/es/global/js/utils/wait.js +8 -0
  183. package/es/global/js/utils/wrapFocus.js +74 -0
  184. package/es/index.js +8 -0
  185. package/es/settings.js +73 -0
  186. package/lib/components/APIKeyModal/APIKeyDownloader.js +127 -0
  187. package/lib/components/APIKeyModal/APIKeyModal.js +619 -0
  188. package/lib/components/APIKeyModal/index.js +13 -0
  189. package/lib/components/AboutModal/AboutModal.js +222 -0
  190. package/lib/components/AboutModal/index.js +13 -0
  191. package/lib/components/ActionBar/ActionBar.js +294 -0
  192. package/lib/components/ActionBar/ActionBarItem.js +107 -0
  193. package/lib/components/ActionBar/ActionBarOverflowItems.js +94 -0
  194. package/lib/components/ActionBar/index.js +21 -0
  195. package/lib/components/ActionSet/ActionSet.js +205 -0
  196. package/lib/components/ActionSet/actions.js +60 -0
  197. package/lib/components/ActionSet/index.js +13 -0
  198. package/lib/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +366 -0
  199. package/lib/components/BreadcrumbWithOverflow/index.js +13 -0
  200. package/lib/components/ButtonMenu/ButtonMenu.js +115 -0
  201. package/lib/components/ButtonMenu/ButtonMenuItem.js +44 -0
  202. package/lib/components/ButtonMenu/index.js +21 -0
  203. package/lib/components/ButtonSetWithOverflow/ButtonSetWithOverflow.js +255 -0
  204. package/lib/components/ButtonSetWithOverflow/index.js +13 -0
  205. package/lib/components/Card/Card.js +260 -0
  206. package/lib/components/Card/CardFooter.js +90 -0
  207. package/lib/components/Card/CardHeader.js +70 -0
  208. package/lib/components/Card/index.js +29 -0
  209. package/lib/components/Cascade/Cascade.js +109 -0
  210. package/lib/components/Cascade/index.js +13 -0
  211. package/lib/components/ComboButton/ComboButton.js +129 -0
  212. package/lib/components/ComboButton/ComboButtonItem/index.js +49 -0
  213. package/lib/components/ComboButton/index.js +21 -0
  214. package/lib/components/CreateFullPage/CreateFullPage.js +478 -0
  215. package/lib/components/CreateFullPage/CreateFullPageSection.js +74 -0
  216. package/lib/components/CreateFullPage/CreateFullPageStep.js +134 -0
  217. package/lib/components/CreateFullPage/constants.js +16 -0
  218. package/lib/components/CreateFullPage/index.js +29 -0
  219. package/lib/components/CreateInfluencer/CreateInfluencer.js +304 -0
  220. package/lib/components/CreateInfluencer/index.js +13 -0
  221. package/lib/components/CreateModal/CreateModal.js +161 -0
  222. package/lib/components/CreateModal/index.js +13 -0
  223. package/lib/components/CreateSidePanel/CreateSidePanel.js +187 -0
  224. package/lib/components/CreateSidePanel/index.js +13 -0
  225. package/lib/components/CreateTearsheet/CreateTearsheet.js +397 -0
  226. package/lib/components/CreateTearsheet/CreateTearsheetDivider.js +48 -0
  227. package/lib/components/CreateTearsheet/CreateTearsheetSection.js +105 -0
  228. package/lib/components/CreateTearsheet/CreateTearsheetStep.js +151 -0
  229. package/lib/components/CreateTearsheet/constants.js +17 -0
  230. package/lib/components/CreateTearsheet/index.js +37 -0
  231. package/lib/components/CreateTearsheet/preview-components/MultiStepTearsheet.js +268 -0
  232. package/lib/components/CreateTearsheet/preview-components/MultiStepWithIntro.js +320 -0
  233. package/lib/components/CreateTearsheet/preview-components/MultiStepWithSectionsTearsheet.js +354 -0
  234. package/lib/components/CreateTearsheetNarrow/CreateTearsheetNarrow.js +184 -0
  235. package/lib/components/CreateTearsheetNarrow/index.js +13 -0
  236. package/lib/components/EditSidePanel/EditSidePanel.js +220 -0
  237. package/lib/components/EditSidePanel/index.js +13 -0
  238. package/lib/components/EmptyStates/EmptyState.js +134 -0
  239. package/lib/components/EmptyStates/EmptyStateContent.js +94 -0
  240. package/lib/components/EmptyStates/ErrorEmptyState/ErrorEmptyState.js +128 -0
  241. package/lib/components/EmptyStates/ErrorEmptyState/index.js +13 -0
  242. package/lib/components/EmptyStates/NoDataEmptyState/NoDataEmptyState.js +128 -0
  243. package/lib/components/EmptyStates/NoDataEmptyState/index.js +13 -0
  244. package/lib/components/EmptyStates/NoTagsEmptyState/NoTagsEmptyState.js +128 -0
  245. package/lib/components/EmptyStates/NoTagsEmptyState/index.js +13 -0
  246. package/lib/components/EmptyStates/NotFoundEmptyState/NotFoundEmptyState.js +128 -0
  247. package/lib/components/EmptyStates/NotFoundEmptyState/index.js +13 -0
  248. package/lib/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.js +128 -0
  249. package/lib/components/EmptyStates/NotificationsEmptyState/index.js +13 -0
  250. package/lib/components/EmptyStates/UnauthorizedEmptyState/UnauthorizedEmptyState.js +128 -0
  251. package/lib/components/EmptyStates/UnauthorizedEmptyState/index.js +13 -0
  252. package/lib/components/EmptyStates/assets/ErrorIllustration.js +226 -0
  253. package/lib/components/EmptyStates/assets/NoDataIllustration.js +189 -0
  254. package/lib/components/EmptyStates/assets/NoTagsIllustration.js +497 -0
  255. package/lib/components/EmptyStates/assets/NotFoundIllustration.js +374 -0
  256. package/lib/components/EmptyStates/assets/NotificationsIllustration.js +345 -0
  257. package/lib/components/EmptyStates/assets/UnauthorizedIllustration.js +318 -0
  258. package/lib/components/EmptyStates/index.js +61 -0
  259. package/lib/components/ExampleComponent/ExampleComponent.js +169 -0
  260. package/lib/components/ExampleComponent/index.js +13 -0
  261. package/lib/components/ExportModal/ExportModal.js +298 -0
  262. package/lib/components/ExportModal/index.js +13 -0
  263. package/lib/components/ExpressiveCard/ExpressiveCard.js +161 -0
  264. package/lib/components/ExpressiveCard/index.js +13 -0
  265. package/lib/components/HTTPErrors/HTTPError403/HTTPError403.js +98 -0
  266. package/lib/components/HTTPErrors/HTTPError403/index.js +13 -0
  267. package/lib/components/HTTPErrors/HTTPError404/HTTPError404.js +98 -0
  268. package/lib/components/HTTPErrors/HTTPError404/index.js +13 -0
  269. package/lib/components/HTTPErrors/HTTPErrorContent.js +90 -0
  270. package/lib/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +98 -0
  271. package/lib/components/HTTPErrors/HTTPErrorOther/index.js +13 -0
  272. package/lib/components/HTTPErrors/assets/HTTPErrorSvg403.js +1251 -0
  273. package/lib/components/HTTPErrors/assets/HTTPErrorSvg404.js +1050 -0
  274. package/lib/components/HTTPErrors/assets/HTTPErrorSvgOther.js +1101 -0
  275. package/lib/components/HTTPErrors/index.js +29 -0
  276. package/lib/components/ImportModal/ImportModal.js +443 -0
  277. package/lib/components/ImportModal/index.js +13 -0
  278. package/lib/components/LoadingBar/LoadingBar.js +174 -0
  279. package/lib/components/LoadingBar/index.js +13 -0
  280. package/lib/components/ModifiedTabs/ModifiedTabLabelNew.js +48 -0
  281. package/lib/components/ModifiedTabs/ModifiedTabLabelWithClose.js +68 -0
  282. package/lib/components/ModifiedTabs/ModifiedTabs.js +137 -0
  283. package/lib/components/ModifiedTabs/index.js +13 -0
  284. package/lib/components/NotificationsPanel/NotificationsPanel.js +569 -0
  285. package/lib/components/NotificationsPanel/NotificationsPanel_data.js +146 -0
  286. package/lib/components/NotificationsPanel/index.js +13 -0
  287. package/lib/components/NotificationsPanel/preview-components/UnreadNotificationBell.js +58 -0
  288. package/lib/components/NotificationsPanel/utils.js +65 -0
  289. package/lib/components/OptionsTile/OptionsTile.js +327 -0
  290. package/lib/components/OptionsTile/index.js +13 -0
  291. package/lib/components/PageHeader/PageHeader.js +812 -0
  292. package/lib/components/PageHeader/PageHeaderDemo.data.js +623 -0
  293. package/lib/components/PageHeader/PageHeaderTitle.js +63 -0
  294. package/lib/components/PageHeader/PageHeaderUtils.js +205 -0
  295. package/lib/components/PageHeader/index.js +13 -0
  296. package/lib/components/ProductiveCard/ProductiveCard.js +141 -0
  297. package/lib/components/ProductiveCard/index.js +13 -0
  298. package/lib/components/RemoveModal/RemoveModal.js +210 -0
  299. package/lib/components/RemoveModal/index.js +13 -0
  300. package/lib/components/Saving/Saving.js +175 -0
  301. package/lib/components/Saving/index.js +13 -0
  302. package/lib/components/SidePanel/SidePanel.js +668 -0
  303. package/lib/components/SidePanel/constants.js +21 -0
  304. package/lib/components/SidePanel/index.js +13 -0
  305. package/lib/components/StatusIcon/StatusIcon.js +145 -0
  306. package/lib/components/StatusIcon/index.js +13 -0
  307. package/lib/components/TagSet/TagSet.js +352 -0
  308. package/lib/components/TagSet/TagSetModal.js +139 -0
  309. package/lib/components/TagSet/TagSetOverflow.js +147 -0
  310. package/lib/components/TagSet/index.js +13 -0
  311. package/lib/components/Tearsheet/Tearsheet.js +192 -0
  312. package/lib/components/Tearsheet/TearsheetNarrow.js +160 -0
  313. package/lib/components/Tearsheet/TearsheetShell.js +420 -0
  314. package/lib/components/Tearsheet/index.js +21 -0
  315. package/lib/components/Toolbar/Toolbar.js +72 -0
  316. package/lib/components/Toolbar/ToolbarButton.js +72 -0
  317. package/lib/components/Toolbar/ToolbarGroup.js +52 -0
  318. package/lib/components/Toolbar/index.js +29 -0
  319. package/lib/components/UserProfileImage/UserProfileImage.js +146 -0
  320. package/lib/components/UserProfileImage/index.js +13 -0
  321. package/lib/components/WebTerminal/WebTerminal.js +186 -0
  322. package/lib/components/WebTerminal/index.js +13 -0
  323. package/lib/components/WebTerminal/preview-components/Navigation.js +44 -0
  324. package/lib/components/WebTerminal/preview-components/documentationLinks.js +32 -0
  325. package/lib/components/WebTerminal/preview-components/index.js +15 -0
  326. package/lib/components/_Canary/Canary.js +54 -0
  327. package/lib/components/_Canary/index.js +13 -0
  328. package/lib/components/index.js +343 -0
  329. package/lib/generated/feature-flags/feature-flags.js +22 -0
  330. package/lib/global/js/hooks/index.js +75 -0
  331. package/lib/global/js/hooks/useClickOutside.js +31 -0
  332. package/lib/global/js/hooks/useCreateComponentFocus.js +48 -0
  333. package/lib/global/js/hooks/useCreateComponentStepChange.js +263 -0
  334. package/lib/global/js/hooks/usePreviousValue.js +29 -0
  335. package/lib/global/js/hooks/useResetCreateComponent.js +50 -0
  336. package/lib/global/js/hooks/useValidCreateStepCount.js +33 -0
  337. package/lib/global/js/hooks/useWindowResize.js +79 -0
  338. package/lib/global/js/hooks/useWindowScroll.js +91 -0
  339. package/lib/global/js/package-settings.js +166 -0
  340. package/lib/global/js/utils/ClickListener.js +89 -0
  341. package/lib/global/js/utils/Wrap.js +93 -0
  342. package/lib/global/js/utils/devtools.js +31 -0
  343. package/lib/global/js/utils/getFocusableElements.js +25 -0
  344. package/lib/global/js/utils/hasValidType.js +110 -0
  345. package/lib/global/js/utils/keyboardNavigation.js +45 -0
  346. package/lib/global/js/utils/pconsole.js +53 -0
  347. package/lib/global/js/utils/props-helper.js +304 -0
  348. package/lib/global/js/utils/scrollableAncestor.js +48 -0
  349. package/lib/global/js/utils/story-helper.js +100 -0
  350. package/lib/global/js/utils/test-helper.js +342 -0
  351. package/lib/global/js/utils/unwrap-if-fragment.js +82 -0
  352. package/lib/global/js/utils/uuidv4.js +20 -0
  353. package/lib/global/js/utils/uuidv4.spec.js +28 -0
  354. package/lib/global/js/utils/wait.js +16 -0
  355. package/lib/global/js/utils/wrapFocus.js +84 -0
  356. package/lib/index.js +30 -0
  357. package/lib/settings.js +92 -0
  358. package/package.json +9 -8
  359. package/scss/components/APIKeyModal/_api-key-modal.scss +63 -0
  360. package/scss/components/APIKeyModal/_index.scss +10 -0
  361. package/scss/components/APIKeyModal/_storybook-styles.scss +33 -0
  362. package/scss/components/AboutModal/_about-modal.scss +116 -0
  363. package/scss/components/AboutModal/_index.scss +8 -0
  364. package/scss/components/AboutModal/_storybook-styles.scss +15 -0
  365. package/scss/components/ActionBar/_action-bar.scss +67 -0
  366. package/scss/components/ActionBar/_index.scss +8 -0
  367. package/scss/components/ActionSet/_action-set.scss +114 -0
  368. package/scss/components/ActionSet/_index.scss +8 -0
  369. package/scss/components/ActionSet/_storybook-styles.scss +38 -0
  370. package/scss/components/BreadcrumbWithOverflow/_breadcrumb-with-overflow.scss +86 -0
  371. package/scss/components/BreadcrumbWithOverflow/_index.scss +8 -0
  372. package/scss/components/ButtonMenu/_button-menu.scss +36 -0
  373. package/scss/components/ButtonMenu/_index.scss +8 -0
  374. package/scss/components/ButtonMenu/_storybook-styles.scss +6 -0
  375. package/scss/components/ButtonSetWithOverflow/_button-set-with-overflow.scss +52 -0
  376. package/scss/components/ButtonSetWithOverflow/_index.scss +8 -0
  377. package/scss/components/Card/_card.scss +121 -0
  378. package/scss/components/Card/_index.scss +10 -0
  379. package/scss/components/Card/_storybook-styles.scss +12 -0
  380. package/scss/components/Cascade/_cascade.scss +50 -0
  381. package/scss/components/Cascade/_index.scss +10 -0
  382. package/scss/components/Cascade/_storybook-styles.scss +32 -0
  383. package/scss/components/ComboButton/_combo-button.scss +64 -0
  384. package/scss/components/ComboButton/_index.scss +10 -0
  385. package/scss/components/CreateFullPage/_create-full-page.scss +187 -0
  386. package/scss/components/CreateFullPage/_index.scss +8 -0
  387. package/scss/components/CreateFullPage/_storybook-styles.scss +51 -0
  388. package/scss/components/CreateInfluencer/_create-influencer.scss +89 -0
  389. package/scss/components/CreateInfluencer/_index.scss +8 -0
  390. package/scss/components/CreateModal/_create-modal.scss +81 -0
  391. package/scss/components/CreateModal/_index.scss +8 -0
  392. package/scss/components/CreateModal/_storybook-styles.scss +50 -0
  393. package/scss/components/CreateSidePanel/_create-side-panel.scss +99 -0
  394. package/scss/components/CreateSidePanel/_index.scss +8 -0
  395. package/scss/components/CreateSidePanel/_storybook-styles.scss +27 -0
  396. package/scss/components/CreateTearsheet/_create-tearsheet.scss +136 -0
  397. package/scss/components/CreateTearsheet/_index.scss +8 -0
  398. package/scss/components/CreateTearsheet/_storybook-styles.scss +53 -0
  399. package/scss/components/CreateTearsheetNarrow/_create-tearsheet-narrow.scss +68 -0
  400. package/scss/components/CreateTearsheetNarrow/_index.scss +8 -0
  401. package/scss/components/CreateTearsheetNarrow/_storybook-styles.scss +32 -0
  402. package/scss/components/EditSidePanel/_edit-side-panel.scss +66 -0
  403. package/scss/components/EditSidePanel/_index.scss +8 -0
  404. package/scss/components/EditSidePanel/_storybook-styles.scss +35 -0
  405. package/scss/components/EmptyStates/_empty-state.scss +62 -0
  406. package/scss/components/EmptyStates/_index.scss +8 -0
  407. package/scss/components/EmptyStates/_storybook-styles.scss +6 -0
  408. package/scss/components/ExampleComponent/_example-component.scss +39 -0
  409. package/scss/components/ExampleComponent/_index.scss +8 -0
  410. package/scss/components/ExampleComponent/_storybook-styles.scss +6 -0
  411. package/scss/components/ExportModal/_export-modal.scss +61 -0
  412. package/scss/components/ExportModal/_index.scss +10 -0
  413. package/scss/components/ExportModal/_storybook-styles.scss +6 -0
  414. package/scss/components/ExpressiveCard/_expressive-card.scss +25 -0
  415. package/scss/components/ExpressiveCard/_index.scss +10 -0
  416. package/scss/components/ExpressiveCard/_storybook-styles.scss +25 -0
  417. package/scss/components/HTTPErrors/_http-errors.scss +72 -0
  418. package/scss/components/HTTPErrors/_index.scss +8 -0
  419. package/scss/components/HTTPErrors/_storybook-styles.scss +6 -0
  420. package/scss/components/ImportModal/_import-modal.scss +88 -0
  421. package/scss/components/ImportModal/_index.scss +8 -0
  422. package/scss/components/ImportModal/_storybook-styles.scss +6 -0
  423. package/scss/components/LoadingBar/_index.scss +8 -0
  424. package/scss/components/LoadingBar/_loading-bar.scss +211 -0
  425. package/scss/components/LoadingBar/_storybook-styles.scss +19 -0
  426. package/scss/components/ModifiedTabs/_index.scss +1 -0
  427. package/scss/components/ModifiedTabs/_modified-tabs.scss +72 -0
  428. package/scss/components/ModifiedTabs/_storybook-styles.scss +6 -0
  429. package/scss/components/NotificationsPanel/_index.scss +8 -0
  430. package/scss/components/NotificationsPanel/_notifications-panel.scss +285 -0
  431. package/scss/components/NotificationsPanel/_storybook-styles.scss +6 -0
  432. package/scss/components/OptionsTile/_index.scss +8 -0
  433. package/scss/components/OptionsTile/_options-tile.scss +221 -0
  434. package/scss/components/OptionsTile/_storybook-styles.scss +33 -0
  435. package/scss/components/PageHeader/_index.scss +10 -0
  436. package/scss/components/PageHeader/_page-header.scss +641 -0
  437. package/scss/components/PageHeader/_storybook-styles.scss +76 -0
  438. package/scss/components/ProductiveCard/_index.scss +10 -0
  439. package/scss/components/ProductiveCard/_productive-card.scss +71 -0
  440. package/scss/components/ProductiveCard/_storybook-styles.scss +22 -0
  441. package/scss/components/RemoveModal/_index.scss +10 -0
  442. package/scss/components/RemoveModal/_remove-modal.scss +40 -0
  443. package/scss/components/RemoveModal/_storybook-styles.scss +6 -0
  444. package/scss/components/Saving/_index.scss +10 -0
  445. package/scss/components/Saving/_saving.scss +42 -0
  446. package/scss/components/Saving/_storybook-styles.scss +12 -0
  447. package/scss/components/SidePanel/_index.scss +8 -0
  448. package/scss/components/SidePanel/_side-panel-variables.scss +14 -0
  449. package/scss/components/SidePanel/_side-panel.scss +496 -0
  450. package/scss/components/SidePanel/_storybook-styles.scss +38 -0
  451. package/scss/components/StatusIcon/_index.scss +8 -0
  452. package/scss/components/StatusIcon/_status-icon.scss +139 -0
  453. package/scss/components/StatusIcon/_storybook-styles.scss +6 -0
  454. package/scss/components/TagSet/_index.scss +8 -0
  455. package/scss/components/TagSet/_tag-set.scss +162 -0
  456. package/scss/components/Tearsheet/_index.scss +8 -0
  457. package/scss/components/Tearsheet/_storybook-styles.scss +24 -0
  458. package/scss/components/Tearsheet/_tearsheet.scss +308 -0
  459. package/scss/components/Toolbar/_index.scss +8 -0
  460. package/scss/components/Toolbar/_toolbar.scss +78 -0
  461. package/scss/components/UserProfileImage/_color-map.scss +39 -0
  462. package/scss/components/UserProfileImage/_index.scss +8 -0
  463. package/scss/components/UserProfileImage/_storybook.scss +6 -0
  464. package/scss/components/UserProfileImage/_user-profile-image.scss +137 -0
  465. package/scss/components/WebTerminal/_index.scss +1 -0
  466. package/scss/components/WebTerminal/_storybook-styles.scss +14 -0
  467. package/scss/components/WebTerminal/_web-terminal.scss +70 -0
  468. package/scss/components/_Canary/_canary.scss +9 -0
  469. package/scss/components/_index-released-only.scss +34 -0
  470. package/scss/components/_index.scss +44 -0
  471. package/scss/generated/feature-flags/_feature-flags.scss +19 -0
  472. package/scss/global/styles/_generate-carbon-modules.scss +14 -0
  473. package/scss/global/styles/_imported-carbon-modules.scss +25 -0
  474. package/scss/global/styles/_mixins.scss +22 -0
  475. package/scss/global/styles/_project-settings.scss +22 -0
  476. package/scss/index-full-carbon.scss +11 -0
  477. package/scss/index-without-carbon-released-only.scss +13 -0
  478. package/scss/index-without-carbon.scss +13 -0
  479. package/scss/index.scss +10 -0
@@ -0,0 +1,569 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.NotificationsPanel = void 0;
11
+
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
+
14
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
+
16
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
+
18
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
19
+
20
+ var _react = _interopRequireWildcard(require("react"));
21
+
22
+ var _propTypes = _interopRequireDefault(require("prop-types"));
23
+
24
+ var _classnames = _interopRequireDefault(require("classnames"));
25
+
26
+ var _devtools = require("../../global/js/utils/devtools");
27
+
28
+ var _hooks = require("../../global/js/hooks");
29
+
30
+ var _settings = require("../../settings");
31
+
32
+ var _utils = require("./utils");
33
+
34
+ var _NotificationsEmptyState = require("../EmptyStates/NotificationsEmptyState");
35
+
36
+ var _carbonComponentsReact = require("carbon-components-react");
37
+
38
+ var _iconsReact = require("@carbon/icons-react");
39
+
40
+ var _excluded = ["className", "data", "daysAgoText", "dismissAllLabel", "dismissSingleNotificationIconDescription", "doNotDisturbDefaultToggled", "doNotDisturbLabel", "emptyStateLabel", "hoursAgoText", "hourAgoText", "minuteAgoText", "minutesAgoText", "monthsAgoText", "monthAgoText", "nowText", "onClickOutside", "onDismissAllNotifications", "onDismissSingleNotification", "onDoNotDisturbChange", "onSettingsClick", "onViewAllClick", "open", "previousLabel", "readLessLabel", "readMoreLabel", "secondsAgoText", "settingsIconDescription", "title", "todayLabel", "viewAllLabel", "yearsAgoText", "yearAgoText", "yesterdayAtText", "yesterdayLabel"];
41
+
42
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
43
+
44
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
45
+
46
+ // The block part of our conventional BEM class names (blockClass__E--M).
47
+ var componentName = 'NotificationsPanel';
48
+ var blockClass = "".concat(_settings.pkg.prefix, "--notifications-panel");
49
+
50
+ var NotificationsPanel = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
51
+ var className = _ref.className,
52
+ data = _ref.data,
53
+ daysAgoText = _ref.daysAgoText,
54
+ dismissAllLabel = _ref.dismissAllLabel,
55
+ dismissSingleNotificationIconDescription = _ref.dismissSingleNotificationIconDescription,
56
+ doNotDisturbDefaultToggled = _ref.doNotDisturbDefaultToggled,
57
+ doNotDisturbLabel = _ref.doNotDisturbLabel,
58
+ emptyStateLabel = _ref.emptyStateLabel,
59
+ hoursAgoText = _ref.hoursAgoText,
60
+ hourAgoText = _ref.hourAgoText,
61
+ minuteAgoText = _ref.minuteAgoText,
62
+ minutesAgoText = _ref.minutesAgoText,
63
+ monthsAgoText = _ref.monthsAgoText,
64
+ monthAgoText = _ref.monthAgoText,
65
+ nowText = _ref.nowText,
66
+ onClickOutside = _ref.onClickOutside,
67
+ onDismissAllNotifications = _ref.onDismissAllNotifications,
68
+ onDismissSingleNotification = _ref.onDismissSingleNotification,
69
+ onDoNotDisturbChange = _ref.onDoNotDisturbChange,
70
+ onSettingsClick = _ref.onSettingsClick,
71
+ onViewAllClick = _ref.onViewAllClick,
72
+ open = _ref.open,
73
+ previousLabel = _ref.previousLabel,
74
+ readLessLabel = _ref.readLessLabel,
75
+ readMoreLabel = _ref.readMoreLabel,
76
+ secondsAgoText = _ref.secondsAgoText,
77
+ settingsIconDescription = _ref.settingsIconDescription,
78
+ title = _ref.title,
79
+ todayLabel = _ref.todayLabel,
80
+ viewAllLabel = _ref.viewAllLabel,
81
+ yearsAgoText = _ref.yearsAgoText,
82
+ yearAgoText = _ref.yearAgoText,
83
+ yesterdayAtText = _ref.yesterdayAtText,
84
+ yesterdayLabel = _ref.yesterdayLabel,
85
+ rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
86
+ var notificationPanelRef = (0, _react.useRef)();
87
+
88
+ var _useState = (0, _react.useState)(open),
89
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
90
+ shouldRender = _useState2[0],
91
+ setRender = _useState2[1];
92
+
93
+ var _useState3 = (0, _react.useState)([]),
94
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
95
+ allNotifications = _useState4[0],
96
+ setAllNotifications = _useState4[1];
97
+
98
+ (0, _react.useEffect)(function () {
99
+ // Set the notifications passed to the state within this component
100
+ setAllNotifications(data);
101
+ }, [data]);
102
+ (0, _hooks.useClickOutside)(ref || notificationPanelRef, function () {
103
+ onClickOutside();
104
+ });
105
+ (0, _react.useEffect)(function () {
106
+ // initialize the notification panel to open
107
+ if (open) {
108
+ setRender(true);
109
+ }
110
+ }, [open]);
111
+
112
+ var onAnimationEnd = function onAnimationEnd() {
113
+ // initialize the notification panel to close
114
+ !open && setRender(false);
115
+ };
116
+
117
+ var sortChronologically = function sortChronologically(arr) {
118
+ if (!arr || arr && !arr.length) {
119
+ return;
120
+ }
121
+
122
+ return arr.sort(function (a, b) {
123
+ return b.timestamp - a.timestamp;
124
+ });
125
+ }; // Notifications should be grouped by "Today", "Yesterday", and "Previous", the variables
126
+ // below filter the notifications based on those conditions and then render them in those groups
127
+
128
+
129
+ var yesterdayDate = new Date();
130
+ yesterdayDate = new Date(yesterdayDate.setDate(yesterdayDate.getDate() - 1));
131
+ var dayBeforeYesterdayDate = new Date();
132
+ dayBeforeYesterdayDate = new Date(dayBeforeYesterdayDate.setDate(dayBeforeYesterdayDate.getDate() - 2));
133
+ var withinLastDayNotifications = allNotifications && allNotifications.length && allNotifications.filter(function (item) {
134
+ return item.timestamp.getTime() >= yesterdayDate.getTime();
135
+ });
136
+ withinLastDayNotifications = sortChronologically(withinLastDayNotifications);
137
+ var previousDayNotifications = allNotifications && allNotifications.length && allNotifications.filter(function (item) {
138
+ return item.timestamp.getTime() < yesterdayDate.getTime() && item.timestamp.getTime() >= dayBeforeYesterdayDate.getTime();
139
+ });
140
+ previousDayNotifications = sortChronologically(previousDayNotifications);
141
+ var previousNotifications = allNotifications && allNotifications.length && allNotifications.filter(function (item) {
142
+ return item.timestamp.getTime() < dayBeforeYesterdayDate.getTime();
143
+ });
144
+ previousNotifications = sortChronologically(previousNotifications);
145
+
146
+ var renderDescription = function renderDescription(id) {
147
+ var _ref2, _ref3;
148
+
149
+ var notification = allNotifications && allNotifications.length && allNotifications.filter(function (item) {
150
+ return item.id === id;
151
+ })[0];
152
+ var trimLength = 88;
153
+ var description = notification.description;
154
+ var descriptionClassName = (0, _classnames.default)(["".concat(blockClass, "__notification-description"), (_ref2 = {}, (0, _defineProperty2.default)(_ref2, "".concat(blockClass, "__notification-long-description"), notification.showAll), (0, _defineProperty2.default)(_ref2, "".concat(blockClass, "__notification-short-description"), !notification.showAll), _ref2)]);
155
+ var showMoreButtonClassName = (0, _classnames.default)([(_ref3 = {}, (0, _defineProperty2.default)(_ref3, "".concat(blockClass, "__notification-read-less-button"), notification.showAll), (0, _defineProperty2.default)(_ref3, "".concat(blockClass, "__notification-read-more-button"), !notification.showAll), _ref3)]);
156
+ return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("p", {
157
+ className: descriptionClassName
158
+ }, description), description.length > trimLength && /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Button, {
159
+ kind: "ghost",
160
+ size: "small",
161
+ renderIcon: _iconsReact.ChevronDown16,
162
+ iconDescription: notification.showAll ? readLessLabel : readMoreLabel,
163
+ onClick: function onClick(event) {
164
+ event.preventDefault();
165
+ event.stopPropagation();
166
+ var newData = allNotifications.map(function (item) {
167
+ if (item.id === notification.id) {
168
+ return Object.assign({}, item, {
169
+ showAll: !item.showAll
170
+ });
171
+ }
172
+
173
+ return item;
174
+ });
175
+ setAllNotifications(newData);
176
+ },
177
+ className: showMoreButtonClassName
178
+ }, notification.showAll ? readLessLabel : readMoreLabel));
179
+ };
180
+
181
+ var renderNotification = function renderNotification(group, notification, index) {
182
+ var notificationClassName = (0, _classnames.default)(["".concat(blockClass, "__notification"), "".concat(blockClass, "__notification-").concat(group)]);
183
+ var notificationHeaderClassName = (0, _classnames.default)(["".concat(blockClass, "__notification-title"), (0, _defineProperty2.default)({}, "".concat(blockClass, "__notification-title-unread"), notification.unread)]);
184
+ return /*#__PURE__*/_react.default.createElement("div", {
185
+ "aria-label": notification.title,
186
+ key: "".concat(notification.timestamp, "-").concat(notification.title, "-").concat(index),
187
+ className: notificationClassName,
188
+ type: "button",
189
+ role: "button",
190
+ tabIndex: 0,
191
+ onClick: function onClick() {
192
+ return notification.onNotificationClick(notification);
193
+ },
194
+ onKeyDown: function onKeyDown(event) {
195
+ if (event.target.classList.contains("".concat(blockClass, "__dismiss-single-button"))) {
196
+ return;
197
+ }
198
+
199
+ event.which === 13 && notification.onNotificationClick(notification);
200
+ }
201
+ }, notification.type === 'error' && /*#__PURE__*/_react.default.createElement(_iconsReact.ErrorFilled16, {
202
+ className: (0, _classnames.default)(["".concat(blockClass, "__notification-status-icon"), "".concat(blockClass, "__notification-status-icon-error")])
203
+ }), notification.type === 'success' && /*#__PURE__*/_react.default.createElement(_iconsReact.CheckmarkFilled16, {
204
+ className: (0, _classnames.default)(["".concat(blockClass, "__notification-status-icon"), "".concat(blockClass, "__notification-status-icon-success")])
205
+ }), notification.type === 'warning' && /*#__PURE__*/_react.default.createElement(_iconsReact.WarningAltFilled16, {
206
+ className: (0, _classnames.default)(["".concat(blockClass, "__notification-status-icon"), "".concat(blockClass, "__notification-status-icon-warning")])
207
+ }), notification.type === 'informational' && /*#__PURE__*/_react.default.createElement(_iconsReact.InformationSquareFilled16, {
208
+ className: (0, _classnames.default)(["".concat(blockClass, "__notification-status-icon"), "".concat(blockClass, "__notification-status-icon-informational")])
209
+ }), /*#__PURE__*/_react.default.createElement("div", {
210
+ className: "".concat(blockClass, "__notification-content")
211
+ }, /*#__PURE__*/_react.default.createElement("p", {
212
+ className: "".concat(blockClass, "__notification-time-label")
213
+ }, (0, _utils.timeAgo)({
214
+ previousTime: notification.timestamp,
215
+ secondsAgoText: secondsAgoText,
216
+ minuteAgoText: minuteAgoText,
217
+ minutesAgoText: minutesAgoText,
218
+ hoursAgoText: hoursAgoText,
219
+ hourAgoText: hourAgoText,
220
+ daysAgoText: daysAgoText,
221
+ yesterdayAtText: yesterdayAtText,
222
+ monthsAgoText: monthsAgoText,
223
+ monthAgoText: monthAgoText,
224
+ yearsAgoText: yearsAgoText,
225
+ yearAgoText: yearAgoText,
226
+ nowText: nowText
227
+ })), /*#__PURE__*/_react.default.createElement("h6", {
228
+ className: notificationHeaderClassName
229
+ }, notification.title), notification.description && notification.description.length && renderDescription(notification.id), notification.link && notification.link.text && notification.link.url && /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Link, {
230
+ href: notification.link.url,
231
+ className: "".concat(blockClass, "__notifications-link")
232
+ }, notification.link.text)), /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Button, {
233
+ kind: "ghost",
234
+ size: "small",
235
+ renderIcon: _iconsReact.Close16,
236
+ iconDescription: dismissSingleNotificationIconDescription,
237
+ tooltipPosition: "left",
238
+ className: "".concat(blockClass, "__dismiss-single-button"),
239
+ onClick: function onClick(event) {
240
+ return dismissSingleNotification(event, notification);
241
+ }
242
+ }));
243
+ };
244
+
245
+ var dismissSingleNotification = function dismissSingleNotification(event, notification) {
246
+ event.preventDefault();
247
+ event.stopPropagation();
248
+ onDismissSingleNotification(notification);
249
+ };
250
+
251
+ var mainSectionClassName = (0, _classnames.default)(["".concat(blockClass, "__main-section"), (0, _defineProperty2.default)({}, "".concat(blockClass, "__main-section-empty"), allNotifications && !allNotifications.length)]);
252
+ return shouldRender ? /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, rest, {
253
+ id: blockClass,
254
+ className: (0, _classnames.default)(blockClass, className, "".concat(blockClass, "__container")),
255
+ style: {
256
+ animation: "".concat(open ? 'fadeIn 250ms' : 'fadeOut 250ms')
257
+ },
258
+ onAnimationEnd: onAnimationEnd,
259
+ ref: ref || notificationPanelRef
260
+ }, (0, _devtools.getDevtoolsProps)(componentName)), /*#__PURE__*/_react.default.createElement("div", {
261
+ className: "".concat(blockClass, "__header-container")
262
+ }, /*#__PURE__*/_react.default.createElement("div", {
263
+ className: "".concat(blockClass, "__header-flex")
264
+ }, /*#__PURE__*/_react.default.createElement("h1", {
265
+ className: "".concat(blockClass, "__header")
266
+ }, title), /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Button, {
267
+ size: "small",
268
+ kind: "ghost",
269
+ className: "".concat(blockClass, "__dismiss-button"),
270
+ onClick: function onClick() {
271
+ return onDismissAllNotifications();
272
+ }
273
+ }, dismissAllLabel)), /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Toggle, {
274
+ size: "sm",
275
+ className: "".concat(blockClass, "__do-not-disturb-toggle"),
276
+ id: "".concat(blockClass, "__do-not-disturb-toggle-component"),
277
+ labelA: doNotDisturbLabel,
278
+ labelB: doNotDisturbLabel,
279
+ onToggle: function onToggle(event) {
280
+ return onDoNotDisturbChange(event);
281
+ },
282
+ defaultToggled: doNotDisturbDefaultToggled,
283
+ "aria-label": doNotDisturbLabel
284
+ })), /*#__PURE__*/_react.default.createElement("div", {
285
+ className: mainSectionClassName
286
+ }, withinLastDayNotifications && withinLastDayNotifications.length ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("h6", {
287
+ className: "".concat(blockClass, "__time-section-label")
288
+ }, todayLabel), withinLastDayNotifications.map(function (notification, index) {
289
+ return renderNotification('today', notification, index);
290
+ })) : null, previousDayNotifications && previousDayNotifications.length ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("h6", {
291
+ className: "".concat(blockClass, "__time-section-label")
292
+ }, yesterdayLabel), previousDayNotifications.map(function (notification, index) {
293
+ return renderNotification('yesterday', notification, index);
294
+ })) : null, previousNotifications && previousNotifications.length ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("h6", {
295
+ className: "".concat(blockClass, "__time-section-label")
296
+ }, previousLabel), previousNotifications.map(function (notification, index) {
297
+ return renderNotification('previous', notification, index);
298
+ })) : null, !allNotifications.length && /*#__PURE__*/_react.default.createElement(_NotificationsEmptyState.NotificationsEmptyState, {
299
+ illustrationTheme: "dark",
300
+ title: "",
301
+ subtitle: emptyStateLabel
302
+ })), onViewAllClick && onSettingsClick && allNotifications && allNotifications.length ? /*#__PURE__*/_react.default.createElement("div", {
303
+ className: "".concat(blockClass, "__bottom-actions")
304
+ }, /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Button, {
305
+ kind: "ghost",
306
+ className: "".concat(blockClass, "__view-all-button"),
307
+ onClick: function onClick() {
308
+ return onViewAllClick();
309
+ }
310
+ }, viewAllLabel(allNotifications.length)), /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Button, {
311
+ kind: "ghost",
312
+ size: "small",
313
+ className: "".concat(blockClass, "__settings-button"),
314
+ renderIcon: _iconsReact.Settings16,
315
+ iconDescription: settingsIconDescription,
316
+ onClick: function onClick() {
317
+ return onSettingsClick();
318
+ }
319
+ })) : null) : null;
320
+ }); // Return a placeholder if not released and not enabled by feature flag
321
+
322
+
323
+ exports.NotificationsPanel = NotificationsPanel;
324
+ exports.NotificationsPanel = NotificationsPanel = _settings.pkg.checkComponentEnabled(NotificationsPanel, componentName); // The display name of the component, used by React. Note that displayName
325
+ // is used in preference to relying on function.name.
326
+
327
+ NotificationsPanel.displayName = componentName; // The types and DocGen commentary for the component props,
328
+ // in alphabetical order (for consistency).
329
+ // See https://www.npmjs.com/package/prop-types#usage.
330
+
331
+ NotificationsPanel.propTypes = {
332
+ /**
333
+ * Provide an optional class to be applied to the containing node.
334
+ */
335
+ className: _propTypes.default.string,
336
+
337
+ /**
338
+ * Array of data for Notifications component to render
339
+ */
340
+ data: _propTypes.default.arrayOf(_propTypes.default.shape({
341
+ id: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
342
+ type: _propTypes.default.oneOf(['error', 'warning', 'success', 'informational']),
343
+ timestamp: _propTypes.default.instanceOf(Date),
344
+ title: _propTypes.default.string,
345
+ description: _propTypes.default.string,
346
+ link: _propTypes.default.shape({
347
+ url: _propTypes.default.string,
348
+ text: _propTypes.default.string
349
+ }),
350
+ unread: _propTypes.default.bool,
351
+ onNotificationClick: _propTypes.default.func
352
+ })).isRequired,
353
+
354
+ /**
355
+ * Sets the `days ago` label text
356
+ */
357
+ daysAgoText: _propTypes.default.func,
358
+
359
+ /**
360
+ * Label for Dismiss all button
361
+ */
362
+ dismissAllLabel: _propTypes.default.string,
363
+
364
+ /**
365
+ * Label for Dismiss single notification icon button
366
+ */
367
+ dismissSingleNotificationIconDescription: _propTypes.default.string,
368
+
369
+ /**
370
+ * Determines if the `Do not disturb` toggle is on or off when the component is rendered
371
+ */
372
+ doNotDisturbDefaultToggled: _propTypes.default.bool,
373
+
374
+ /**
375
+ * Label for Do not disturb toggle
376
+ */
377
+ doNotDisturbLabel: _propTypes.default.string,
378
+
379
+ /**
380
+ * Sets the empty state label text when there are no notifications
381
+ */
382
+ emptyStateLabel: _propTypes.default.string,
383
+
384
+ /**
385
+ * Sets the `hour ago` label text
386
+ */
387
+ hourAgoText: _propTypes.default.func,
388
+
389
+ /**
390
+ * Sets the `hours ago` label text
391
+ */
392
+ hoursAgoText: _propTypes.default.func,
393
+
394
+ /**
395
+ * Sets the `minute ago` label text
396
+ */
397
+ minuteAgoText: _propTypes.default.func,
398
+
399
+ /**
400
+ * Sets the `minutes ago` label text
401
+ */
402
+ minutesAgoText: _propTypes.default.func,
403
+
404
+ /**
405
+ * Sets the `month ago` label text
406
+ */
407
+ monthAgoText: _propTypes.default.func,
408
+
409
+ /**
410
+ * Sets the `months ago` label text
411
+ */
412
+ monthsAgoText: _propTypes.default.func,
413
+
414
+ /**
415
+ * Sets the `now` label text
416
+ */
417
+ nowText: _propTypes.default.string,
418
+
419
+ /**
420
+ * Sets the notifications panel open state
421
+ */
422
+ onClickOutside: _propTypes.default.func.isRequired,
423
+
424
+ /**
425
+ * Function that will dismiss all notifications
426
+ */
427
+ onDismissAllNotifications: _propTypes.default.func.isRequired,
428
+
429
+ /**
430
+ * Function that will dismiss a single notification
431
+ */
432
+ onDismissSingleNotification: _propTypes.default.func.isRequired,
433
+
434
+ /**
435
+ * Function that returns the current selected value of the disable notification toggle
436
+ */
437
+ onDoNotDisturbChange: _propTypes.default.func,
438
+
439
+ /**
440
+ * Event handler for the View all button
441
+ */
442
+ onSettingsClick: _propTypes.default.func,
443
+
444
+ /**
445
+ * Event handler for the View all button
446
+ */
447
+ onViewAllClick: _propTypes.default.func,
448
+
449
+ /**
450
+ * Determines whether the notifications panel should render or not
451
+ */
452
+ open: _propTypes.default.bool.isRequired,
453
+
454
+ /**
455
+ * Sets the previous label text
456
+ */
457
+ previousLabel: _propTypes.default.string,
458
+
459
+ /**
460
+ * Sets the `read less` label text
461
+ */
462
+ readLessLabel: _propTypes.default.string,
463
+
464
+ /**
465
+ * Sets the `read more` label text
466
+ */
467
+ readMoreLabel: _propTypes.default.string,
468
+
469
+ /**
470
+ * Sets the `seconds ago` label text
471
+ */
472
+ secondsAgoText: _propTypes.default.func,
473
+
474
+ /**
475
+ * Sets the settings icon description text
476
+ */
477
+ settingsIconDescription: _propTypes.default.string,
478
+
479
+ /**
480
+ * Sets the title for the Notifications panel
481
+ */
482
+ title: _propTypes.default.string,
483
+
484
+ /**
485
+ * Sets the today label text
486
+ */
487
+ todayLabel: _propTypes.default.string,
488
+
489
+ /**
490
+ * Sets the View all button text
491
+ */
492
+ viewAllLabel: _propTypes.default.func,
493
+
494
+ /**
495
+ * Sets the `year ago` label text
496
+ */
497
+ yearAgoText: _propTypes.default.func,
498
+
499
+ /**
500
+ * Sets the `years ago` label text
501
+ */
502
+ yearsAgoText: _propTypes.default.func,
503
+
504
+ /**
505
+ * Sets the `Yesterday at` label text
506
+ */
507
+ yesterdayAtText: _propTypes.default.func,
508
+
509
+ /**
510
+ * Sets the yesterday label text
511
+ */
512
+ yesterdayLabel: _propTypes.default.string
513
+ }; // Default values for component props. Default values are not required for
514
+ // props that are required, nor for props where the component can apply
515
+ // 'undefined' values reasonably. Default values should be provided when the
516
+ // component needs to make a choice or assumption when a prop is not supplied.
517
+
518
+ NotificationsPanel.defaultProps = {
519
+ daysAgoText: function daysAgoText(value) {
520
+ return "".concat(value, " days ago");
521
+ },
522
+ dismissAllLabel: 'Dismiss all',
523
+ dismissSingleNotificationIconDescription: 'Dismiss',
524
+ doNotDisturbLabel: 'Do not disturb',
525
+ emptyStateLabel: 'You do not have any notifications',
526
+ hourAgoText: function hourAgoText(value) {
527
+ return "".concat(value, " hour ago");
528
+ },
529
+ hoursAgoText: function hoursAgoText(value) {
530
+ return "".concat(value, " hours ago");
531
+ },
532
+ minuteAgoText: function minuteAgoText(value) {
533
+ return "".concat(value, " minute ago");
534
+ },
535
+ minutesAgoText: function minutesAgoText(value) {
536
+ return "".concat(value, " minutes ago");
537
+ },
538
+ monthAgoText: function monthAgoText(value) {
539
+ return "".concat(value, " month ago");
540
+ },
541
+ monthsAgoText: function monthsAgoText(value) {
542
+ return "".concat(value, " months ago");
543
+ },
544
+ nowText: 'Now',
545
+ onDismissAllNotifications: function onDismissAllNotifications() {},
546
+ onDismissSingleNotification: function onDismissSingleNotification() {},
547
+ previousLabel: 'Previous',
548
+ readLessLabel: 'Read less',
549
+ readMoreLabel: 'Read more',
550
+ secondsAgoText: function secondsAgoText(value) {
551
+ return "".concat(value, " seconds ago");
552
+ },
553
+ settingsIconDescription: 'Settings',
554
+ title: 'Notifications',
555
+ todayLabel: 'Today',
556
+ viewAllLabel: function viewAllLabel(value) {
557
+ return "View all (".concat(value, ")");
558
+ },
559
+ yearsAgoText: function yearsAgoText(value) {
560
+ return "".concat(value, " years ago");
561
+ },
562
+ yearAgoText: function yearAgoText(value) {
563
+ return "".concat(value, " year ago");
564
+ },
565
+ yesterdayLabel: 'Yesterday',
566
+ yesterdayAtText: function yesterdayAtText(value) {
567
+ return "Yesterday at ".concat(value);
568
+ }
569
+ };