@carbon/ibm-products 2.0.0 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (947) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +1 -1
  3. package/css/config.css +3 -0
  4. package/css/config.css.map +1 -0
  5. package/css/index-full-carbon.css +34268 -0
  6. package/css/index-full-carbon.css.map +1 -0
  7. package/css/index-full-carbon.min.css +8 -0
  8. package/css/index-full-carbon.min.css.map +1 -0
  9. package/css/index-without-carbon-released-only.css +8698 -0
  10. package/css/index-without-carbon-released-only.css.map +1 -0
  11. package/css/index-without-carbon-released-only.min.css +4 -0
  12. package/css/index-without-carbon-released-only.min.css.map +1 -0
  13. package/css/index-without-carbon.css +14253 -0
  14. package/css/index-without-carbon.css.map +1 -0
  15. package/css/index-without-carbon.min.css +8 -0
  16. package/css/index-without-carbon.min.css.map +1 -0
  17. package/css/index.css +17293 -0
  18. package/css/index.css.map +1 -0
  19. package/css/index.min.css +8 -0
  20. package/css/index.min.css.map +1 -0
  21. package/es/components/APIKeyModal/APIKeyDownloader.js +91 -0
  22. package/es/components/APIKeyModal/APIKeyModal.js +510 -0
  23. package/es/components/APIKeyModal/index.js +8 -0
  24. package/es/components/AboutModal/AboutModal.js +194 -0
  25. package/es/components/AboutModal/index.js +8 -0
  26. package/es/components/ActionBar/ActionBar.js +258 -0
  27. package/es/components/ActionBar/ActionBarItem.js +96 -0
  28. package/es/components/ActionBar/ActionBarOverflowItems.js +74 -0
  29. package/es/components/ActionBar/index.js +9 -0
  30. package/es/components/ActionSet/ActionSet.js +200 -0
  31. package/es/components/ActionSet/actions.js +55 -0
  32. package/es/components/ActionSet/index.js +8 -0
  33. package/es/components/AddSelect/AddSelect.js +129 -0
  34. package/es/components/AddSelect/AddSelectBody.js +368 -0
  35. package/es/components/AddSelect/AddSelectBreadcrumbs.js +45 -0
  36. package/es/components/AddSelect/AddSelectColumn.js +241 -0
  37. package/es/components/AddSelect/AddSelectFilter.js +172 -0
  38. package/es/components/AddSelect/AddSelectFormControl.js +82 -0
  39. package/es/components/AddSelect/AddSelectList.js +55 -0
  40. package/es/components/AddSelect/AddSelectMetaPanel.js +65 -0
  41. package/es/components/AddSelect/AddSelectRow.js +206 -0
  42. package/es/components/AddSelect/AddSelectSidebar.js +121 -0
  43. package/es/components/AddSelect/AddSelectSort.js +77 -0
  44. package/es/components/AddSelect/add-select-utils.js +127 -0
  45. package/es/components/AddSelect/hooks/useFocus.js +31 -0
  46. package/es/components/AddSelect/hooks/useItemSort.js +25 -0
  47. package/es/components/AddSelect/hooks/useParentSelect.js +20 -0
  48. package/es/components/AddSelect/hooks/usePath.js +72 -0
  49. package/es/components/AddSelect/index.js +8 -0
  50. package/es/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +336 -0
  51. package/es/components/BreadcrumbWithOverflow/index.js +10 -0
  52. package/es/components/ButtonMenu/ButtonMenu.js +129 -0
  53. package/es/components/ButtonMenu/ButtonMenuItem.js +33 -0
  54. package/es/components/ButtonMenu/index.js +9 -0
  55. package/es/components/ButtonSetWithOverflow/ButtonSetWithOverflow.js +211 -0
  56. package/es/components/ButtonSetWithOverflow/index.js +8 -0
  57. package/es/components/Card/Card.js +264 -0
  58. package/es/components/Card/CardFooter.js +79 -0
  59. package/es/components/Card/CardHeader.js +74 -0
  60. package/es/components/Card/index.js +10 -0
  61. package/es/components/Cascade/Cascade.js +80 -0
  62. package/es/components/Cascade/index.js +1 -0
  63. package/es/components/ComboButton/ComboButton.js +101 -0
  64. package/es/components/ComboButton/ComboButtonItem/index.js +30 -0
  65. package/es/components/ComboButton/index.js +9 -0
  66. package/es/components/CreateFullPage/CreateFullPage.js +288 -0
  67. package/es/components/CreateFullPage/CreateFullPageStep.js +166 -0
  68. package/es/components/CreateFullPage/index.js +9 -0
  69. package/es/components/CreateInfluencer/CreateInfluencer.js +92 -0
  70. package/es/components/CreateInfluencer/index.js +8 -0
  71. package/es/components/CreateModal/CreateModal.js +137 -0
  72. package/es/components/CreateModal/index.js +10 -0
  73. package/es/components/CreateSidePanel/CreateSidePanel.js +156 -0
  74. package/es/components/CreateSidePanel/index.js +8 -0
  75. package/es/components/CreateTearsheet/CreateTearsheet.js +308 -0
  76. package/es/components/CreateTearsheet/CreateTearsheetDivider.js +33 -0
  77. package/es/components/CreateTearsheet/CreateTearsheetStep.js +174 -0
  78. package/es/components/CreateTearsheet/index.js +10 -0
  79. package/es/components/CreateTearsheet/preview-components/MultiStepTearsheet.js +284 -0
  80. package/es/components/CreateTearsheet/preview-components/MultiStepWithIntro.js +280 -0
  81. package/es/components/CreateTearsheetNarrow/CreateTearsheetNarrow.js +165 -0
  82. package/es/components/CreateTearsheetNarrow/index.js +8 -0
  83. package/es/components/DataSpreadsheet/DataSpreadsheet.js +883 -0
  84. package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +551 -0
  85. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.js +282 -0
  86. package/es/components/DataSpreadsheet/hooks/index.js +14 -0
  87. package/es/components/DataSpreadsheet/hooks/useMoveActiveCell.js +28 -0
  88. package/es/components/DataSpreadsheet/hooks/useMultipleKeyTracking.js +119 -0
  89. package/es/components/DataSpreadsheet/hooks/useResetSpreadsheetFocus.js +26 -0
  90. package/es/components/DataSpreadsheet/hooks/useSpreadsheetEdit.js +102 -0
  91. package/es/components/DataSpreadsheet/hooks/useSpreadsheetMouseMove.js +58 -0
  92. package/es/components/DataSpreadsheet/hooks/useSpreadsheetMouseUp.js +164 -0
  93. package/es/components/DataSpreadsheet/hooks/useSpreadsheetOutsideClick.js +41 -0
  94. package/es/components/DataSpreadsheet/index.js +8 -0
  95. package/es/components/DataSpreadsheet/utils/checkActiveHeaderCell.js +30 -0
  96. package/es/components/DataSpreadsheet/utils/checkSelectedHeaderCell.js +29 -0
  97. package/es/components/DataSpreadsheet/utils/createActiveCellFn.js +54 -0
  98. package/es/components/DataSpreadsheet/utils/createCellSelectionArea.js +64 -0
  99. package/es/components/DataSpreadsheet/utils/generateData.js +52 -0
  100. package/es/components/DataSpreadsheet/utils/getCellSize.js +25 -0
  101. package/es/components/DataSpreadsheet/utils/getSelectionAreaPoints.js +19 -0
  102. package/es/components/DataSpreadsheet/utils/getSpreadsheetWidth.js +34 -0
  103. package/es/components/DataSpreadsheet/utils/handleActiveCellInSelectionEnter.js +107 -0
  104. package/es/components/DataSpreadsheet/utils/handleActiveCellInSelectionTab.js +98 -0
  105. package/es/components/DataSpreadsheet/utils/handleCellDeletion.js +40 -0
  106. package/es/components/DataSpreadsheet/utils/handleEditSubmit.js +80 -0
  107. package/es/components/DataSpreadsheet/utils/handleHeaderCellSelection.js +158 -0
  108. package/es/components/DataSpreadsheet/utils/handleMultipleKeys.js +259 -0
  109. package/es/components/DataSpreadsheet/utils/moveColumnIndicatorLine.js +33 -0
  110. package/es/components/DataSpreadsheet/utils/removeCellSelections.js +28 -0
  111. package/es/components/DataSpreadsheet/utils/selectAllCells.js +49 -0
  112. package/es/components/Datagrid/Datagrid/Datagrid.js +63 -0
  113. package/es/components/Datagrid/Datagrid/DatagridBody.js +30 -0
  114. package/es/components/Datagrid/Datagrid/DatagridContent.js +181 -0
  115. package/es/components/Datagrid/Datagrid/DatagridEmptyBody.js +41 -0
  116. package/es/components/Datagrid/Datagrid/DatagridExpandedRow.js +32 -0
  117. package/es/components/Datagrid/Datagrid/DatagridHead.js +22 -0
  118. package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +52 -0
  119. package/es/components/Datagrid/Datagrid/DatagridRefBody.js +36 -0
  120. package/es/components/Datagrid/Datagrid/DatagridRow.js +118 -0
  121. package/es/components/Datagrid/Datagrid/DatagridSelectAll.js +62 -0
  122. package/es/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +140 -0
  123. package/es/components/Datagrid/Datagrid/DatagridSimpleBody.js +32 -0
  124. package/es/components/Datagrid/Datagrid/DatagridToolbar.js +142 -0
  125. package/es/components/Datagrid/Datagrid/DatagridVirtualBody.js +109 -0
  126. package/es/components/Datagrid/Datagrid/DraggableElement.js +177 -0
  127. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/Actions.js +39 -0
  128. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/ButtonWrapper.js +52 -0
  129. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +117 -0
  130. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +176 -0
  131. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/DraggableItemsList.js +109 -0
  132. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/TearsheetWrapper.js +51 -0
  133. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/common.js +13 -0
  134. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/index.js +10 -0
  135. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +242 -0
  136. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +265 -0
  137. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +83 -0
  138. package/es/components/Datagrid/Datagrid/addons/Filtering/constants.js +27 -0
  139. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/index.js +10 -0
  140. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +328 -0
  141. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useShouldDisableButtons.js +34 -0
  142. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useSubscribeToEventEmitter.js +23 -0
  143. package/es/components/Datagrid/Datagrid/addons/Filtering/index.js +9 -0
  144. package/es/components/Datagrid/Datagrid/addons/Filtering/motion/variants.js +55 -0
  145. package/es/components/Datagrid/Datagrid/addons/Filtering/utils.js +84 -0
  146. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +59 -0
  147. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/index.js +1 -0
  148. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +489 -0
  149. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/index.js +1 -0
  150. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/InlineEditContext.js +98 -0
  151. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/getCellIdAsObject.js +27 -0
  152. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/index.js +1 -0
  153. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/returnUpdatedActiveCell.js +34 -0
  154. package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleGridFocus.js +18 -0
  155. package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +228 -0
  156. package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleMultipleKeys.js +80 -0
  157. package/es/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.js +67 -0
  158. package/es/components/Datagrid/Datagrid/addons/RowSize/RowSizeRadioGroup.js +105 -0
  159. package/es/components/Datagrid/Datagrid/addons/RowSize/index.js +9 -0
  160. package/es/components/Datagrid/Datagrid/index.js +8 -0
  161. package/es/components/Datagrid/Datagrid.stories/CustomizeColumnStory.js +6 -0
  162. package/es/components/Datagrid/Datagrid.stories/RowSizeDropdownStory.js +6 -0
  163. package/es/components/Datagrid/Datagrid.stories/SelectAllWithToggleStory.js +6 -0
  164. package/es/components/Datagrid/Datagrid.stories/StickyActionsColumnStory.js +102 -0
  165. package/es/components/Datagrid/Datagrid.stories/common.js +190 -0
  166. package/es/components/Datagrid/Datagrid.stories/index.js +4 -0
  167. package/es/components/Datagrid/common-column-ids.js +9 -0
  168. package/es/components/Datagrid/index.js +28 -0
  169. package/es/components/Datagrid/useActionsColumn.js +140 -0
  170. package/es/components/Datagrid/useColumnCenterAlign.js +44 -0
  171. package/es/components/Datagrid/useColumnOrder.js +9 -0
  172. package/es/components/Datagrid/useColumnRightAlign.js +44 -0
  173. package/es/components/Datagrid/useCustomizeColumns.js +44 -0
  174. package/es/components/Datagrid/useDatagrid.js +37 -0
  175. package/es/components/Datagrid/useDefaultStringRenderer.js +42 -0
  176. package/es/components/Datagrid/useDisableSelectRows.js +80 -0
  177. package/es/components/Datagrid/useEditableCell.js +12 -0
  178. package/es/components/Datagrid/useExpandedRow.js +46 -0
  179. package/es/components/Datagrid/useFiltering.js +95 -0
  180. package/es/components/Datagrid/useFlexResize.js +44 -0
  181. package/es/components/Datagrid/useFloatingScroll.js +75 -0
  182. package/es/components/Datagrid/useInfiniteScroll.js +52 -0
  183. package/es/components/Datagrid/useInlineEdit.js +71 -0
  184. package/es/components/Datagrid/useNestedRowExpander.js +41 -0
  185. package/es/components/Datagrid/useNestedRows.js +58 -0
  186. package/es/components/Datagrid/useOnRowClick.js +47 -0
  187. package/es/components/Datagrid/useParentDimensions.js +57 -0
  188. package/es/components/Datagrid/useResizeTable.js +34 -0
  189. package/es/components/Datagrid/useRowExpander.js +41 -0
  190. package/es/components/Datagrid/useRowIsMouseOver.js +52 -0
  191. package/es/components/Datagrid/useRowRenderer.js +25 -0
  192. package/es/components/Datagrid/useRowSize.js +55 -0
  193. package/es/components/Datagrid/useSelectAllToggle.js +90 -0
  194. package/es/components/Datagrid/useSelectRows.js +117 -0
  195. package/es/components/Datagrid/useSkeletonRows.js +27 -0
  196. package/es/components/Datagrid/useSortableColumns.js +115 -0
  197. package/es/components/Datagrid/useStickyColumn.js +182 -0
  198. package/es/components/Datagrid/utils/DatagridActions.js +239 -0
  199. package/es/components/Datagrid/utils/DatagridPagination.js +32 -0
  200. package/es/components/Datagrid/utils/Wrapper.js +21 -0
  201. package/es/components/Datagrid/utils/getArgTypes.js +95 -0
  202. package/es/components/Datagrid/utils/getAutoSizedColumnWidth.js +27 -0
  203. package/es/components/Datagrid/utils/getInlineEditColumns.js +157 -0
  204. package/es/components/Datagrid/utils/makeData.js +193 -0
  205. package/es/components/EditFullPage/EditFullPage.js +86 -0
  206. package/es/components/EditFullPage/index.js +8 -0
  207. package/es/components/EditInPlace/EditInPlace.js +303 -0
  208. package/es/components/EditInPlace/index.js +8 -0
  209. package/es/components/EditSidePanel/EditSidePanel.js +189 -0
  210. package/es/components/EditSidePanel/index.js +8 -0
  211. package/es/components/EditTearsheet/EditTearsheet.js +195 -0
  212. package/es/components/EditTearsheet/EditTearsheetForm.js +99 -0
  213. package/es/components/EditTearsheet/index.js +9 -0
  214. package/es/components/EditTearsheet/preview-components/MultiFormEditTearsheet.js +218 -0
  215. package/es/components/EditTearsheetNarrow/EditTearsheetNarrow.js +86 -0
  216. package/es/components/EditTearsheetNarrow/index.js +8 -0
  217. package/es/components/EditUpdateCards/EditUpdateCards.js +142 -0
  218. package/es/components/EditUpdateCards/index.js +8 -0
  219. package/es/components/EmptyStates/EmptyState.js +116 -0
  220. package/es/components/EmptyStates/EmptyStateContent.js +87 -0
  221. package/es/components/EmptyStates/ErrorEmptyState/ErrorEmptyState.js +111 -0
  222. package/es/components/EmptyStates/ErrorEmptyState/index.js +8 -0
  223. package/es/components/EmptyStates/NoDataEmptyState/NoDataEmptyState.js +111 -0
  224. package/es/components/EmptyStates/NoDataEmptyState/index.js +8 -0
  225. package/es/components/EmptyStates/NoTagsEmptyState/NoTagsEmptyState.js +111 -0
  226. package/es/components/EmptyStates/NoTagsEmptyState/index.js +8 -0
  227. package/es/components/EmptyStates/NotFoundEmptyState/NotFoundEmptyState.js +111 -0
  228. package/es/components/EmptyStates/NotFoundEmptyState/index.js +8 -0
  229. package/es/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.js +111 -0
  230. package/es/components/EmptyStates/NotificationsEmptyState/index.js +8 -0
  231. package/es/components/EmptyStates/UnauthorizedEmptyState/UnauthorizedEmptyState.js +111 -0
  232. package/es/components/EmptyStates/UnauthorizedEmptyState/index.js +8 -0
  233. package/es/components/EmptyStates/assets/ErrorIllustration.js +218 -0
  234. package/es/components/EmptyStates/assets/NoDataIllustration.js +181 -0
  235. package/es/components/EmptyStates/assets/NoTagsIllustration.js +489 -0
  236. package/es/components/EmptyStates/assets/NotFoundIllustration.js +366 -0
  237. package/es/components/EmptyStates/assets/NotificationsIllustration.js +337 -0
  238. package/es/components/EmptyStates/assets/UnauthorizedIllustration.js +310 -0
  239. package/es/components/EmptyStates/index.js +14 -0
  240. package/es/components/ExampleComponent/ExampleComponent.js +180 -0
  241. package/es/components/ExampleComponent/ExampleDeprecatedComponent.js +28 -0
  242. package/es/components/ExampleComponent/index.js +8 -0
  243. package/es/components/ExampleComponent/useExample.js +49 -0
  244. package/es/components/ExportModal/ExportModal.js +278 -0
  245. package/es/components/ExportModal/index.js +8 -0
  246. package/es/components/ExpressiveCard/ExpressiveCard.js +114 -0
  247. package/es/components/ExpressiveCard/index.js +8 -0
  248. package/es/components/FilterSummary/FilterSummary.js +54 -0
  249. package/es/components/FilterSummary/index.js +7 -0
  250. package/es/components/HTTPErrors/HTTPError403/HTTPError403.js +85 -0
  251. package/es/components/HTTPErrors/HTTPError403/index.js +8 -0
  252. package/es/components/HTTPErrors/HTTPError404/HTTPError404.js +85 -0
  253. package/es/components/HTTPErrors/HTTPError404/index.js +8 -0
  254. package/es/components/HTTPErrors/HTTPErrorContent.js +81 -0
  255. package/es/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +85 -0
  256. package/es/components/HTTPErrors/HTTPErrorOther/index.js +8 -0
  257. package/es/components/HTTPErrors/assets/HTTPErrorSvg403.js +1240 -0
  258. package/es/components/HTTPErrors/assets/HTTPErrorSvg404.js +1039 -0
  259. package/es/components/HTTPErrors/assets/HTTPErrorSvgOther.js +1090 -0
  260. package/es/components/HTTPErrors/index.js +10 -0
  261. package/es/components/ImportModal/ImportModal.js +383 -0
  262. package/es/components/ImportModal/index.js +8 -0
  263. package/es/components/MultiAddSelect/MultiAddSelect.js +148 -0
  264. package/es/components/MultiAddSelect/index.js +8 -0
  265. package/es/components/NotificationsPanel/NotificationsPanel.js +556 -0
  266. package/es/components/NotificationsPanel/NotificationsPanel_data.js +135 -0
  267. package/es/components/NotificationsPanel/index.js +8 -0
  268. package/es/components/NotificationsPanel/preview-components/UnreadNotificationBell.js +48 -0
  269. package/es/components/NotificationsPanel/utils.js +50 -0
  270. package/es/components/OptionsTile/OptionsTile.js +327 -0
  271. package/es/components/OptionsTile/index.js +8 -0
  272. package/es/components/PageHeader/PageHeader.js +767 -0
  273. package/es/components/PageHeader/PageHeaderDemo.data.js +613 -0
  274. package/es/components/PageHeader/PageHeaderTitle.js +121 -0
  275. package/es/components/PageHeader/PageHeaderUtils.js +179 -0
  276. package/es/components/PageHeader/index.js +8 -0
  277. package/es/components/ProductiveCard/ProductiveCard.js +123 -0
  278. package/es/components/ProductiveCard/index.js +8 -0
  279. package/es/components/RemoveModal/RemoveModal.js +183 -0
  280. package/es/components/RemoveModal/index.js +8 -0
  281. package/es/components/Saving/Saving.js +159 -0
  282. package/es/components/Saving/index.js +8 -0
  283. package/es/components/SidePanel/SidePanel.js +630 -0
  284. package/es/components/SidePanel/constants.js +14 -0
  285. package/es/components/SidePanel/index.js +8 -0
  286. package/es/components/SidePanel/motion/variants.js +46 -0
  287. package/es/components/SingleAddSelect/SingleAddSelect.js +94 -0
  288. package/es/components/SingleAddSelect/index.js +8 -0
  289. package/es/components/StatusIcon/StatusIcon.js +345 -0
  290. package/es/components/StatusIcon/index.js +8 -0
  291. package/es/components/TagSet/TagSet.js +324 -0
  292. package/es/components/TagSet/TagSetModal.js +112 -0
  293. package/es/components/TagSet/TagSetOverflow.js +123 -0
  294. package/es/components/TagSet/constants.js +21 -0
  295. package/es/components/TagSet/index.js +8 -0
  296. package/es/components/Tearsheet/Tearsheet.js +190 -0
  297. package/es/components/Tearsheet/TearsheetNarrow.js +152 -0
  298. package/es/components/Tearsheet/TearsheetShell.js +405 -0
  299. package/es/components/Tearsheet/index.js +9 -0
  300. package/es/components/Toolbar/Toolbar.js +102 -0
  301. package/es/components/Toolbar/ToolbarButton.js +57 -0
  302. package/es/components/Toolbar/ToolbarGroup.js +35 -0
  303. package/es/components/Toolbar/index.js +10 -0
  304. package/es/components/UserProfileImage/UserProfileImage.js +187 -0
  305. package/es/components/UserProfileImage/index.js +10 -0
  306. package/es/components/WebTerminal/WebTerminal.js +205 -0
  307. package/es/components/WebTerminal/WebTerminalContentWrapper.js +50 -0
  308. package/es/components/WebTerminal/hooks/index.js +52 -0
  309. package/es/components/WebTerminal/index.js +10 -0
  310. package/es/components/WebTerminal/preview-components/Navigation.js +37 -0
  311. package/es/components/WebTerminal/preview-components/documentationLinks.js +32 -0
  312. package/es/components/WebTerminal/preview-components/index.js +12 -0
  313. package/es/components/_Canary/Canary.js +48 -0
  314. package/es/components/_Canary/index.js +8 -0
  315. package/es/components/index.js +44 -0
  316. package/es/global/js/hooks/index.js +18 -0
  317. package/es/global/js/hooks/useActiveElement.js +25 -0
  318. package/es/global/js/hooks/useClickOutside.js +21 -0
  319. package/es/global/js/hooks/useControllableState.js +74 -0
  320. package/es/global/js/hooks/useCreateComponentFocus.js +55 -0
  321. package/es/global/js/hooks/useCreateComponentStepChange.js +203 -0
  322. package/es/global/js/hooks/usePreviousValue.js +20 -0
  323. package/es/global/js/hooks/useResetCreateComponent.js +48 -0
  324. package/es/global/js/hooks/useResizeObserver.js +74 -0
  325. package/es/global/js/hooks/useRetrieveStepData.js +48 -0
  326. package/es/global/js/hooks/useValidCreateStepCount.js +21 -0
  327. package/es/global/js/hooks/useWindowResize.js +66 -0
  328. package/es/global/js/hooks/useWindowScroll.js +77 -0
  329. package/es/global/js/package-settings.js +197 -0
  330. package/es/global/js/utils/ClickListener.js +65 -0
  331. package/es/global/js/utils/DisplayBox.js +32 -0
  332. package/es/global/js/utils/Wrap.js +84 -0
  333. package/es/global/js/utils/deepCloneObject.js +23 -0
  334. package/es/global/js/utils/devtools.js +17 -0
  335. package/es/global/js/utils/getBezierValues.js +19 -0
  336. package/es/global/js/utils/getFocusableElements.js +14 -0
  337. package/es/global/js/utils/getNumberOfHiddenSteps.js +19 -0
  338. package/es/global/js/utils/getScrollbarWidth.js +15 -0
  339. package/es/global/js/utils/keyboardNavigation.js +36 -0
  340. package/es/global/js/utils/lastIndexInArray.js +24 -0
  341. package/es/global/js/utils/motionConstants.js +44 -0
  342. package/es/global/js/utils/pconsole.js +34 -0
  343. package/es/global/js/utils/props-helper.js +256 -0
  344. package/es/global/js/utils/rangeWithCallback.js +14 -0
  345. package/es/global/js/utils/scrollableAncestor.js +38 -0
  346. package/es/global/js/utils/story-helper.js +108 -0
  347. package/es/global/js/utils/test-helper.js +309 -0
  348. package/es/global/js/utils/unwrap-if-fragment.js +63 -0
  349. package/es/global/js/utils/uuidv4.js +11 -0
  350. package/es/global/js/utils/uuidv4.spec.js +27 -0
  351. package/es/global/js/utils/wait.js +8 -0
  352. package/es/global/js/utils/wrapFocus.js +68 -0
  353. package/es/index.js +9 -0
  354. package/es/settings.js +79 -0
  355. package/lib/components/APIKeyModal/APIKeyDownloader.js +102 -0
  356. package/lib/components/APIKeyModal/APIKeyModal.js +519 -0
  357. package/lib/components/APIKeyModal/index.js +12 -0
  358. package/lib/components/AboutModal/AboutModal.js +201 -0
  359. package/lib/components/AboutModal/index.js +12 -0
  360. package/lib/components/ActionBar/ActionBar.js +264 -0
  361. package/lib/components/ActionBar/ActionBarItem.js +99 -0
  362. package/lib/components/ActionBar/ActionBarOverflowItems.js +86 -0
  363. package/lib/components/ActionBar/index.js +19 -0
  364. package/lib/components/ActionSet/ActionSet.js +205 -0
  365. package/lib/components/ActionSet/actions.js +64 -0
  366. package/lib/components/ActionSet/index.js +12 -0
  367. package/lib/components/AddSelect/AddSelect.js +138 -0
  368. package/lib/components/AddSelect/AddSelectBody.js +377 -0
  369. package/lib/components/AddSelect/AddSelectBreadcrumbs.js +53 -0
  370. package/lib/components/AddSelect/AddSelectColumn.js +250 -0
  371. package/lib/components/AddSelect/AddSelectFilter.js +181 -0
  372. package/lib/components/AddSelect/AddSelectFormControl.js +90 -0
  373. package/lib/components/AddSelect/AddSelectList.js +61 -0
  374. package/lib/components/AddSelect/AddSelectMetaPanel.js +76 -0
  375. package/lib/components/AddSelect/AddSelectRow.js +217 -0
  376. package/lib/components/AddSelect/AddSelectSidebar.js +127 -0
  377. package/lib/components/AddSelect/AddSelectSort.js +85 -0
  378. package/lib/components/AddSelect/add-select-utils.js +138 -0
  379. package/lib/components/AddSelect/hooks/useFocus.js +39 -0
  380. package/lib/components/AddSelect/hooks/useItemSort.js +33 -0
  381. package/lib/components/AddSelect/hooks/useParentSelect.js +28 -0
  382. package/lib/components/AddSelect/hooks/usePath.js +78 -0
  383. package/lib/components/AddSelect/index.js +12 -0
  384. package/lib/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +342 -0
  385. package/lib/components/BreadcrumbWithOverflow/index.js +12 -0
  386. package/lib/components/ButtonMenu/ButtonMenu.js +133 -0
  387. package/lib/components/ButtonMenu/ButtonMenuItem.js +42 -0
  388. package/lib/components/ButtonMenu/index.js +19 -0
  389. package/lib/components/ButtonSetWithOverflow/ButtonSetWithOverflow.js +220 -0
  390. package/lib/components/ButtonSetWithOverflow/index.js +12 -0
  391. package/lib/components/Card/Card.js +273 -0
  392. package/lib/components/Card/CardFooter.js +87 -0
  393. package/lib/components/Card/CardHeader.js +82 -0
  394. package/lib/components/Card/index.js +26 -0
  395. package/lib/components/Cascade/Cascade.js +89 -0
  396. package/lib/components/Cascade/index.js +12 -0
  397. package/lib/components/ComboButton/ComboButton.js +110 -0
  398. package/lib/components/ComboButton/ComboButtonItem/index.js +36 -0
  399. package/lib/components/ComboButton/index.js +19 -0
  400. package/lib/components/CreateFullPage/CreateFullPage.js +298 -0
  401. package/lib/components/CreateFullPage/CreateFullPageStep.js +176 -0
  402. package/lib/components/CreateFullPage/index.js +19 -0
  403. package/lib/components/CreateInfluencer/CreateInfluencer.js +100 -0
  404. package/lib/components/CreateInfluencer/index.js +12 -0
  405. package/lib/components/CreateModal/CreateModal.js +143 -0
  406. package/lib/components/CreateModal/index.js +12 -0
  407. package/lib/components/CreateSidePanel/CreateSidePanel.js +160 -0
  408. package/lib/components/CreateSidePanel/index.js +12 -0
  409. package/lib/components/CreateTearsheet/CreateTearsheet.js +320 -0
  410. package/lib/components/CreateTearsheet/CreateTearsheetDivider.js +43 -0
  411. package/lib/components/CreateTearsheet/CreateTearsheetStep.js +184 -0
  412. package/lib/components/CreateTearsheet/index.js +26 -0
  413. package/lib/components/CreateTearsheet/preview-components/MultiStepTearsheet.js +294 -0
  414. package/lib/components/CreateTearsheet/preview-components/MultiStepWithIntro.js +291 -0
  415. package/lib/components/CreateTearsheetNarrow/CreateTearsheetNarrow.js +170 -0
  416. package/lib/components/CreateTearsheetNarrow/index.js +12 -0
  417. package/lib/components/DataSpreadsheet/DataSpreadsheet.js +891 -0
  418. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +560 -0
  419. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +291 -0
  420. package/lib/components/DataSpreadsheet/hooks/index.js +54 -0
  421. package/lib/components/DataSpreadsheet/hooks/useMoveActiveCell.js +34 -0
  422. package/lib/components/DataSpreadsheet/hooks/useMultipleKeyTracking.js +127 -0
  423. package/lib/components/DataSpreadsheet/hooks/useResetSpreadsheetFocus.js +33 -0
  424. package/lib/components/DataSpreadsheet/hooks/useSpreadsheetEdit.js +110 -0
  425. package/lib/components/DataSpreadsheet/hooks/useSpreadsheetMouseMove.js +64 -0
  426. package/lib/components/DataSpreadsheet/hooks/useSpreadsheetMouseUp.js +170 -0
  427. package/lib/components/DataSpreadsheet/hooks/useSpreadsheetOutsideClick.js +47 -0
  428. package/lib/components/DataSpreadsheet/index.js +12 -0
  429. package/lib/components/DataSpreadsheet/utils/checkActiveHeaderCell.js +37 -0
  430. package/lib/components/DataSpreadsheet/utils/checkSelectedHeaderCell.js +36 -0
  431. package/lib/components/DataSpreadsheet/utils/createActiveCellFn.js +61 -0
  432. package/lib/components/DataSpreadsheet/utils/createCellSelectionArea.js +71 -0
  433. package/lib/components/DataSpreadsheet/utils/generateData.js +60 -0
  434. package/lib/components/DataSpreadsheet/utils/getCellSize.js +32 -0
  435. package/lib/components/DataSpreadsheet/utils/getSelectionAreaPoints.js +26 -0
  436. package/lib/components/DataSpreadsheet/utils/getSpreadsheetWidth.js +41 -0
  437. package/lib/components/DataSpreadsheet/utils/handleActiveCellInSelectionEnter.js +113 -0
  438. package/lib/components/DataSpreadsheet/utils/handleActiveCellInSelectionTab.js +105 -0
  439. package/lib/components/DataSpreadsheet/utils/handleCellDeletion.js +47 -0
  440. package/lib/components/DataSpreadsheet/utils/handleEditSubmit.js +85 -0
  441. package/lib/components/DataSpreadsheet/utils/handleHeaderCellSelection.js +166 -0
  442. package/lib/components/DataSpreadsheet/utils/handleMultipleKeys.js +267 -0
  443. package/lib/components/DataSpreadsheet/utils/moveColumnIndicatorLine.js +40 -0
  444. package/lib/components/DataSpreadsheet/utils/removeCellSelections.js +35 -0
  445. package/lib/components/DataSpreadsheet/utils/selectAllCells.js +55 -0
  446. package/lib/components/Datagrid/Datagrid/Datagrid.js +70 -0
  447. package/lib/components/Datagrid/Datagrid/DatagridBody.js +39 -0
  448. package/lib/components/Datagrid/Datagrid/DatagridContent.js +192 -0
  449. package/lib/components/Datagrid/Datagrid/DatagridEmptyBody.js +49 -0
  450. package/lib/components/Datagrid/Datagrid/DatagridExpandedRow.js +40 -0
  451. package/lib/components/Datagrid/Datagrid/DatagridHead.js +30 -0
  452. package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +61 -0
  453. package/lib/components/Datagrid/Datagrid/DatagridRefBody.js +43 -0
  454. package/lib/components/Datagrid/Datagrid/DatagridRow.js +126 -0
  455. package/lib/components/Datagrid/Datagrid/DatagridSelectAll.js +72 -0
  456. package/lib/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +150 -0
  457. package/lib/components/Datagrid/Datagrid/DatagridSimpleBody.js +39 -0
  458. package/lib/components/Datagrid/Datagrid/DatagridToolbar.js +153 -0
  459. package/lib/components/Datagrid/Datagrid/DatagridVirtualBody.js +119 -0
  460. package/lib/components/Datagrid/Datagrid/DraggableElement.js +189 -0
  461. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Actions.js +50 -0
  462. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/ButtonWrapper.js +62 -0
  463. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +125 -0
  464. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +184 -0
  465. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/DraggableItemsList.js +117 -0
  466. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/TearsheetWrapper.js +61 -0
  467. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/common.js +21 -0
  468. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/index.js +20 -0
  469. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +253 -0
  470. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +276 -0
  471. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +96 -0
  472. package/lib/components/Datagrid/Datagrid/addons/Filtering/constants.js +45 -0
  473. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/index.js +27 -0
  474. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +338 -0
  475. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useShouldDisableButtons.js +41 -0
  476. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useSubscribeToEventEmitter.js +30 -0
  477. package/lib/components/Datagrid/Datagrid/addons/Filtering/index.js +33 -0
  478. package/lib/components/Datagrid/Datagrid/addons/Filtering/motion/variants.js +64 -0
  479. package/lib/components/Datagrid/Datagrid/addons/Filtering/utils.js +91 -0
  480. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +67 -0
  481. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/index.js +12 -0
  482. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +498 -0
  483. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/index.js +12 -0
  484. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/InlineEditContext.js +108 -0
  485. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/getCellIdAsObject.js +34 -0
  486. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/index.js +18 -0
  487. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/returnUpdatedActiveCell.js +40 -0
  488. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridFocus.js +25 -0
  489. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +234 -0
  490. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleMultipleKeys.js +87 -0
  491. package/lib/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.js +77 -0
  492. package/lib/components/Datagrid/Datagrid/addons/RowSize/RowSizeRadioGroup.js +116 -0
  493. package/lib/components/Datagrid/Datagrid/addons/RowSize/index.js +13 -0
  494. package/lib/components/Datagrid/Datagrid/index.js +12 -0
  495. package/lib/components/Datagrid/Datagrid.stories/CustomizeColumnStory.js +13 -0
  496. package/lib/components/Datagrid/Datagrid.stories/RowSizeDropdownStory.js +13 -0
  497. package/lib/components/Datagrid/Datagrid.stories/SelectAllWithToggleStory.js +13 -0
  498. package/lib/components/Datagrid/Datagrid.stories/StickyActionsColumnStory.js +103 -0
  499. package/lib/components/Datagrid/Datagrid.stories/common.js +200 -0
  500. package/lib/components/Datagrid/Datagrid.stories/index.js +34 -0
  501. package/lib/components/Datagrid/common-column-ids.js +16 -0
  502. package/lib/components/Datagrid/index.js +153 -0
  503. package/lib/components/Datagrid/useActionsColumn.js +150 -0
  504. package/lib/components/Datagrid/useColumnCenterAlign.js +51 -0
  505. package/lib/components/Datagrid/useColumnOrder.js +15 -0
  506. package/lib/components/Datagrid/useColumnRightAlign.js +51 -0
  507. package/lib/components/Datagrid/useCustomizeColumns.js +53 -0
  508. package/lib/components/Datagrid/useDatagrid.js +44 -0
  509. package/lib/components/Datagrid/useDefaultStringRenderer.js +49 -0
  510. package/lib/components/Datagrid/useDisableSelectRows.js +87 -0
  511. package/lib/components/Datagrid/useEditableCell.js +20 -0
  512. package/lib/components/Datagrid/useExpandedRow.js +52 -0
  513. package/lib/components/Datagrid/useFiltering.js +101 -0
  514. package/lib/components/Datagrid/useFlexResize.js +52 -0
  515. package/lib/components/Datagrid/useFloatingScroll.js +84 -0
  516. package/lib/components/Datagrid/useInfiniteScroll.js +61 -0
  517. package/lib/components/Datagrid/useInlineEdit.js +82 -0
  518. package/lib/components/Datagrid/useNestedRowExpander.js +50 -0
  519. package/lib/components/Datagrid/useNestedRows.js +66 -0
  520. package/lib/components/Datagrid/useOnRowClick.js +54 -0
  521. package/lib/components/Datagrid/useParentDimensions.js +66 -0
  522. package/lib/components/Datagrid/useResizeTable.js +42 -0
  523. package/lib/components/Datagrid/useRowExpander.js +50 -0
  524. package/lib/components/Datagrid/useRowIsMouseOver.js +58 -0
  525. package/lib/components/Datagrid/useRowRenderer.js +34 -0
  526. package/lib/components/Datagrid/useRowSize.js +61 -0
  527. package/lib/components/Datagrid/useSelectAllToggle.js +102 -0
  528. package/lib/components/Datagrid/useSelectRows.js +126 -0
  529. package/lib/components/Datagrid/useSkeletonRows.js +35 -0
  530. package/lib/components/Datagrid/useSortableColumns.js +121 -0
  531. package/lib/components/Datagrid/useStickyColumn.js +188 -0
  532. package/lib/components/Datagrid/utils/DatagridActions.js +250 -0
  533. package/lib/components/Datagrid/utils/DatagridPagination.js +40 -0
  534. package/lib/components/Datagrid/utils/Wrapper.js +29 -0
  535. package/lib/components/Datagrid/utils/getArgTypes.js +102 -0
  536. package/lib/components/Datagrid/utils/getAutoSizedColumnWidth.js +35 -0
  537. package/lib/components/Datagrid/utils/getInlineEditColumns.js +166 -0
  538. package/lib/components/Datagrid/utils/makeData.js +201 -0
  539. package/lib/components/EditFullPage/EditFullPage.js +89 -0
  540. package/lib/components/EditFullPage/index.js +12 -0
  541. package/lib/components/EditInPlace/EditInPlace.js +312 -0
  542. package/lib/components/EditInPlace/index.js +12 -0
  543. package/lib/components/EditSidePanel/EditSidePanel.js +193 -0
  544. package/lib/components/EditSidePanel/index.js +12 -0
  545. package/lib/components/EditTearsheet/EditTearsheet.js +207 -0
  546. package/lib/components/EditTearsheet/EditTearsheetForm.js +109 -0
  547. package/lib/components/EditTearsheet/index.js +19 -0
  548. package/lib/components/EditTearsheet/preview-components/MultiFormEditTearsheet.js +229 -0
  549. package/lib/components/EditTearsheetNarrow/EditTearsheetNarrow.js +89 -0
  550. package/lib/components/EditTearsheetNarrow/index.js +12 -0
  551. package/lib/components/EditUpdateCards/EditUpdateCards.js +146 -0
  552. package/lib/components/EditUpdateCards/index.js +12 -0
  553. package/lib/components/EmptyStates/EmptyState.js +122 -0
  554. package/lib/components/EmptyStates/EmptyStateContent.js +89 -0
  555. package/lib/components/EmptyStates/ErrorEmptyState/ErrorEmptyState.js +116 -0
  556. package/lib/components/EmptyStates/ErrorEmptyState/index.js +12 -0
  557. package/lib/components/EmptyStates/NoDataEmptyState/NoDataEmptyState.js +116 -0
  558. package/lib/components/EmptyStates/NoDataEmptyState/index.js +12 -0
  559. package/lib/components/EmptyStates/NoTagsEmptyState/NoTagsEmptyState.js +116 -0
  560. package/lib/components/EmptyStates/NoTagsEmptyState/index.js +12 -0
  561. package/lib/components/EmptyStates/NotFoundEmptyState/NotFoundEmptyState.js +116 -0
  562. package/lib/components/EmptyStates/NotFoundEmptyState/index.js +12 -0
  563. package/lib/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.js +116 -0
  564. package/lib/components/EmptyStates/NotificationsEmptyState/index.js +12 -0
  565. package/lib/components/EmptyStates/UnauthorizedEmptyState/UnauthorizedEmptyState.js +116 -0
  566. package/lib/components/EmptyStates/UnauthorizedEmptyState/index.js +12 -0
  567. package/lib/components/EmptyStates/assets/ErrorIllustration.js +223 -0
  568. package/lib/components/EmptyStates/assets/NoDataIllustration.js +186 -0
  569. package/lib/components/EmptyStates/assets/NoTagsIllustration.js +494 -0
  570. package/lib/components/EmptyStates/assets/NotFoundIllustration.js +371 -0
  571. package/lib/components/EmptyStates/assets/NotificationsIllustration.js +342 -0
  572. package/lib/components/EmptyStates/assets/UnauthorizedIllustration.js +315 -0
  573. package/lib/components/EmptyStates/index.js +54 -0
  574. package/lib/components/ExampleComponent/ExampleComponent.js +188 -0
  575. package/lib/components/ExampleComponent/ExampleDeprecatedComponent.js +36 -0
  576. package/lib/components/ExampleComponent/index.js +12 -0
  577. package/lib/components/ExampleComponent/useExample.js +58 -0
  578. package/lib/components/ExportModal/ExportModal.js +287 -0
  579. package/lib/components/ExportModal/index.js +12 -0
  580. package/lib/components/ExpressiveCard/ExpressiveCard.js +125 -0
  581. package/lib/components/ExpressiveCard/index.js +12 -0
  582. package/lib/components/FilterSummary/FilterSummary.js +63 -0
  583. package/lib/components/FilterSummary/index.js +13 -0
  584. package/lib/components/HTTPErrors/HTTPError403/HTTPError403.js +90 -0
  585. package/lib/components/HTTPErrors/HTTPError403/index.js +12 -0
  586. package/lib/components/HTTPErrors/HTTPError404/HTTPError404.js +90 -0
  587. package/lib/components/HTTPErrors/HTTPError404/index.js +12 -0
  588. package/lib/components/HTTPErrors/HTTPErrorContent.js +83 -0
  589. package/lib/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +90 -0
  590. package/lib/components/HTTPErrors/HTTPErrorOther/index.js +12 -0
  591. package/lib/components/HTTPErrors/assets/HTTPErrorSvg403.js +1249 -0
  592. package/lib/components/HTTPErrors/assets/HTTPErrorSvg404.js +1048 -0
  593. package/lib/components/HTTPErrors/assets/HTTPErrorSvgOther.js +1099 -0
  594. package/lib/components/HTTPErrors/index.js +26 -0
  595. package/lib/components/ImportModal/ImportModal.js +392 -0
  596. package/lib/components/ImportModal/index.js +12 -0
  597. package/lib/components/MultiAddSelect/MultiAddSelect.js +159 -0
  598. package/lib/components/MultiAddSelect/index.js +12 -0
  599. package/lib/components/NotificationsPanel/NotificationsPanel.js +562 -0
  600. package/lib/components/NotificationsPanel/NotificationsPanel_data.js +143 -0
  601. package/lib/components/NotificationsPanel/index.js +12 -0
  602. package/lib/components/NotificationsPanel/preview-components/UnreadNotificationBell.js +55 -0
  603. package/lib/components/NotificationsPanel/utils.js +57 -0
  604. package/lib/components/OptionsTile/OptionsTile.js +334 -0
  605. package/lib/components/OptionsTile/index.js +12 -0
  606. package/lib/components/PageHeader/PageHeader.js +775 -0
  607. package/lib/components/PageHeader/PageHeaderDemo.data.js +620 -0
  608. package/lib/components/PageHeader/PageHeaderTitle.js +129 -0
  609. package/lib/components/PageHeader/PageHeaderUtils.js +188 -0
  610. package/lib/components/PageHeader/index.js +12 -0
  611. package/lib/components/ProductiveCard/ProductiveCard.js +132 -0
  612. package/lib/components/ProductiveCard/index.js +12 -0
  613. package/lib/components/RemoveModal/RemoveModal.js +192 -0
  614. package/lib/components/RemoveModal/index.js +12 -0
  615. package/lib/components/Saving/Saving.js +169 -0
  616. package/lib/components/Saving/index.js +12 -0
  617. package/lib/components/SidePanel/SidePanel.js +638 -0
  618. package/lib/components/SidePanel/constants.js +21 -0
  619. package/lib/components/SidePanel/index.js +12 -0
  620. package/lib/components/SidePanel/motion/variants.js +54 -0
  621. package/lib/components/SingleAddSelect/SingleAddSelect.js +105 -0
  622. package/lib/components/SingleAddSelect/index.js +12 -0
  623. package/lib/components/StatusIcon/StatusIcon.js +356 -0
  624. package/lib/components/StatusIcon/index.js +12 -0
  625. package/lib/components/TagSet/TagSet.js +335 -0
  626. package/lib/components/TagSet/TagSetModal.js +121 -0
  627. package/lib/components/TagSet/TagSetOverflow.js +132 -0
  628. package/lib/components/TagSet/constants.js +28 -0
  629. package/lib/components/TagSet/index.js +12 -0
  630. package/lib/components/Tearsheet/Tearsheet.js +196 -0
  631. package/lib/components/Tearsheet/TearsheetNarrow.js +158 -0
  632. package/lib/components/Tearsheet/TearsheetShell.js +416 -0
  633. package/lib/components/Tearsheet/index.js +19 -0
  634. package/lib/components/Toolbar/Toolbar.js +114 -0
  635. package/lib/components/Toolbar/ToolbarButton.js +68 -0
  636. package/lib/components/Toolbar/ToolbarGroup.js +44 -0
  637. package/lib/components/Toolbar/index.js +26 -0
  638. package/lib/components/UserProfileImage/UserProfileImage.js +191 -0
  639. package/lib/components/UserProfileImage/index.js +12 -0
  640. package/lib/components/WebTerminal/WebTerminal.js +212 -0
  641. package/lib/components/WebTerminal/WebTerminalContentWrapper.js +55 -0
  642. package/lib/components/WebTerminal/hooks/index.js +64 -0
  643. package/lib/components/WebTerminal/index.js +32 -0
  644. package/lib/components/WebTerminal/preview-components/Navigation.js +45 -0
  645. package/lib/components/WebTerminal/preview-components/documentationLinks.js +39 -0
  646. package/lib/components/WebTerminal/preview-components/index.js +13 -0
  647. package/lib/components/_Canary/Canary.js +51 -0
  648. package/lib/components/_Canary/index.js +12 -0
  649. package/lib/components/index.js +486 -0
  650. package/lib/global/js/hooks/index.js +88 -0
  651. package/lib/global/js/hooks/useActiveElement.js +33 -0
  652. package/lib/global/js/hooks/useClickOutside.js +28 -0
  653. package/lib/global/js/hooks/useControllableState.js +80 -0
  654. package/lib/global/js/hooks/useCreateComponentFocus.js +62 -0
  655. package/lib/global/js/hooks/useCreateComponentStepChange.js +211 -0
  656. package/lib/global/js/hooks/usePreviousValue.js +26 -0
  657. package/lib/global/js/hooks/useResetCreateComponent.js +54 -0
  658. package/lib/global/js/hooks/useResizeObserver.js +83 -0
  659. package/lib/global/js/hooks/useRetrieveStepData.js +55 -0
  660. package/lib/global/js/hooks/useValidCreateStepCount.js +27 -0
  661. package/lib/global/js/hooks/useWindowResize.js +73 -0
  662. package/lib/global/js/hooks/useWindowScroll.js +86 -0
  663. package/lib/global/js/package-settings.js +203 -0
  664. package/lib/global/js/utils/ClickListener.js +76 -0
  665. package/lib/global/js/utils/DisplayBox.js +40 -0
  666. package/lib/global/js/utils/Wrap.js +89 -0
  667. package/lib/global/js/utils/deepCloneObject.js +31 -0
  668. package/lib/global/js/utils/devtools.js +26 -0
  669. package/lib/global/js/utils/getBezierValues.js +25 -0
  670. package/lib/global/js/utils/getFocusableElements.js +22 -0
  671. package/lib/global/js/utils/getNumberOfHiddenSteps.js +26 -0
  672. package/lib/global/js/utils/getScrollbarWidth.js +22 -0
  673. package/lib/global/js/utils/keyboardNavigation.js +46 -0
  674. package/lib/global/js/utils/lastIndexInArray.js +31 -0
  675. package/lib/global/js/utils/motionConstants.js +51 -0
  676. package/lib/global/js/utils/pconsole.js +47 -0
  677. package/lib/global/js/utils/props-helper.js +267 -0
  678. package/lib/global/js/utils/rangeWithCallback.js +21 -0
  679. package/lib/global/js/utils/scrollableAncestor.js +46 -0
  680. package/lib/global/js/utils/story-helper.js +120 -0
  681. package/lib/global/js/utils/test-helper.js +329 -0
  682. package/lib/global/js/utils/unwrap-if-fragment.js +70 -0
  683. package/lib/global/js/utils/uuidv4.js +18 -0
  684. package/lib/global/js/utils/uuidv4.spec.js +30 -0
  685. package/lib/global/js/utils/wait.js +15 -0
  686. package/lib/global/js/utils/wrapFocus.js +74 -0
  687. package/lib/index.js +27 -0
  688. package/lib/settings.js +88 -0
  689. package/package.json +3 -2
  690. package/scss/components/APIKeyModal/_api-key-modal.scss +52 -0
  691. package/scss/components/APIKeyModal/_carbon-imports.scss +15 -0
  692. package/scss/components/APIKeyModal/_index-with-carbon.scss +9 -0
  693. package/scss/components/APIKeyModal/_index.scss +10 -0
  694. package/scss/components/APIKeyModal/_storybook-styles.scss +35 -0
  695. package/scss/components/AboutModal/_about-modal.scss +95 -0
  696. package/scss/components/AboutModal/_carbon-imports.scss +11 -0
  697. package/scss/components/AboutModal/_index-with-carbon.scss +9 -0
  698. package/scss/components/AboutModal/_index.scss +8 -0
  699. package/scss/components/AboutModal/_storybook-styles.scss +29 -0
  700. package/scss/components/ActionBar/_action-bar.scss +51 -0
  701. package/scss/components/ActionBar/_carbon-imports.scss +11 -0
  702. package/scss/components/ActionBar/_index-with-carbon.scss +9 -0
  703. package/scss/components/ActionBar/_index.scss +8 -0
  704. package/scss/components/ActionBar/_storybook-styles.scss +8 -0
  705. package/scss/components/ActionSet/_action-set.scss +126 -0
  706. package/scss/components/ActionSet/_carbon-imports.scss +11 -0
  707. package/scss/components/ActionSet/_index-with-carbon.scss +9 -0
  708. package/scss/components/ActionSet/_index.scss +8 -0
  709. package/scss/components/ActionSet/_storybook-styles.scss +36 -0
  710. package/scss/components/AddSelect/_add-select.scss +462 -0
  711. package/scss/components/AddSelect/_carbon-imports.scss +19 -0
  712. package/scss/components/AddSelect/_index-with-carbon.scss +9 -0
  713. package/scss/components/AddSelect/_index.scss +10 -0
  714. package/scss/components/AddSelect/_storybook-styles.scss +6 -0
  715. package/scss/components/BreadcrumbWithOverflow/_breadcrumb-with-overflow.scss +97 -0
  716. package/scss/components/BreadcrumbWithOverflow/_carbon-imports.scss +12 -0
  717. package/scss/components/BreadcrumbWithOverflow/_index-with-carbon.scss +9 -0
  718. package/scss/components/BreadcrumbWithOverflow/_index.scss +8 -0
  719. package/scss/components/BreadcrumbWithOverflow/_storybook-styles.scss +8 -0
  720. package/scss/components/ButtonMenu/_button-menu.scss +29 -0
  721. package/scss/components/ButtonMenu/_carbon-imports.scss +9 -0
  722. package/scss/components/ButtonMenu/_index-with-carbon.scss +9 -0
  723. package/scss/components/ButtonMenu/_index.scss +8 -0
  724. package/scss/components/ButtonMenu/_storybook-styles.scss +6 -0
  725. package/scss/components/ButtonSetWithOverflow/_button-set-with-overflow.scss +42 -0
  726. package/scss/components/ButtonSetWithOverflow/_carbon-imports.scss +10 -0
  727. package/scss/components/ButtonSetWithOverflow/_index-with-carbon.scss +9 -0
  728. package/scss/components/ButtonSetWithOverflow/_index.scss +8 -0
  729. package/scss/components/ButtonSetWithOverflow/_storybook-styles.scss +8 -0
  730. package/scss/components/Card/_carbon-imports.scss +11 -0
  731. package/scss/components/Card/_card.scss +123 -0
  732. package/scss/components/Card/_index-with-carbon.scss +9 -0
  733. package/scss/components/Card/_index.scss +8 -0
  734. package/scss/components/Card/_storybook-styles.scss +12 -0
  735. package/scss/components/Cascade/_carbon-imports.scss +6 -0
  736. package/scss/components/Cascade/_cascade.scss +47 -0
  737. package/scss/components/Cascade/_index-with-carbon.scss +9 -0
  738. package/scss/components/Cascade/_index.scss +10 -0
  739. package/scss/components/Cascade/_storybook-styles.scss +33 -0
  740. package/scss/components/ComboButton/_carbon-imports.scss +11 -0
  741. package/scss/components/ComboButton/_combo-button.scss +76 -0
  742. package/scss/components/ComboButton/_index-with-carbon.scss +9 -0
  743. package/scss/components/ComboButton/_index.scss +10 -0
  744. package/scss/components/CreateFullPage/_carbon-imports.scss +17 -0
  745. package/scss/components/CreateFullPage/_create-full-page.scss +169 -0
  746. package/scss/components/CreateFullPage/_index-with-carbon.scss +9 -0
  747. package/scss/components/CreateFullPage/_index.scss +8 -0
  748. package/scss/components/CreateFullPage/_storybook-styles.scss +67 -0
  749. package/scss/components/CreateInfluencer/_carbon-imports.scss +10 -0
  750. package/scss/components/CreateInfluencer/_create-influencer.scss +86 -0
  751. package/scss/components/CreateInfluencer/_index-with-carbon.scss +9 -0
  752. package/scss/components/CreateInfluencer/_index.scss +8 -0
  753. package/scss/components/CreateModal/_carbon-imports.scss +12 -0
  754. package/scss/components/CreateModal/_create-modal.scss +81 -0
  755. package/scss/components/CreateModal/_index-with-carbon.scss +9 -0
  756. package/scss/components/CreateModal/_index.scss +8 -0
  757. package/scss/components/CreateModal/_storybook-styles.scss +54 -0
  758. package/scss/components/CreateSidePanel/_carbon-imports.scss +10 -0
  759. package/scss/components/CreateSidePanel/_create-side-panel.scss +93 -0
  760. package/scss/components/CreateSidePanel/_index-with-carbon.scss +9 -0
  761. package/scss/components/CreateSidePanel/_index.scss +8 -0
  762. package/scss/components/CreateSidePanel/_storybook-styles.scss +29 -0
  763. package/scss/components/CreateTearsheet/_carbon-imports.scss +10 -0
  764. package/scss/components/CreateTearsheet/_create-tearsheet.scss +158 -0
  765. package/scss/components/CreateTearsheet/_index-with-carbon.scss +9 -0
  766. package/scss/components/CreateTearsheet/_index.scss +8 -0
  767. package/scss/components/CreateTearsheet/_storybook-styles.scss +56 -0
  768. package/scss/components/CreateTearsheetNarrow/_carbon-imports.scss +10 -0
  769. package/scss/components/CreateTearsheetNarrow/_create-tearsheet-narrow.scss +61 -0
  770. package/scss/components/CreateTearsheetNarrow/_index-with-carbon.scss +9 -0
  771. package/scss/components/CreateTearsheetNarrow/_index.scss +8 -0
  772. package/scss/components/CreateTearsheetNarrow/_storybook-styles.scss +27 -0
  773. package/scss/components/DataSpreadsheet/_carbon-imports.scss +6 -0
  774. package/scss/components/DataSpreadsheet/_data-spreadsheet.scss +294 -0
  775. package/scss/components/DataSpreadsheet/_index-with-carbon.scss +9 -0
  776. package/scss/components/DataSpreadsheet/_index.scss +8 -0
  777. package/scss/components/DataSpreadsheet/_storybook-styles.scss +6 -0
  778. package/scss/components/Datagrid/_carbon-imports.scss +6 -0
  779. package/scss/components/Datagrid/_datagrid.scss +63 -0
  780. package/scss/components/Datagrid/_index-with-carbon.scss +9 -0
  781. package/scss/components/Datagrid/_index.scss +8 -0
  782. package/scss/components/Datagrid/_storybook-styles.scss +116 -0
  783. package/scss/components/Datagrid/styles/_datagrid.scss +634 -0
  784. package/scss/components/Datagrid/styles/_draggableElement.scss +92 -0
  785. package/scss/components/Datagrid/styles/_index.scss +22 -0
  786. package/scss/components/Datagrid/styles/_useActionsColumn.scss +39 -0
  787. package/scss/components/Datagrid/styles/_useColumnCenterAlign.scss +20 -0
  788. package/scss/components/Datagrid/styles/_useColumnRightAlign.scss +29 -0
  789. package/scss/components/Datagrid/styles/_useExpandedRow.scss +60 -0
  790. package/scss/components/Datagrid/styles/_useInlineEdit.scss +431 -0
  791. package/scss/components/Datagrid/styles/_useNestedRows.scss +71 -0
  792. package/scss/components/Datagrid/styles/_useNestedTable.scss +34 -0
  793. package/scss/components/Datagrid/styles/_useSelectAllToggle.scss +37 -0
  794. package/scss/components/Datagrid/styles/_useSortableColumns.scss +79 -0
  795. package/scss/components/Datagrid/styles/_useStickyColumn.scss +68 -0
  796. package/scss/components/Datagrid/styles/_variables.scss +10 -0
  797. package/scss/components/Datagrid/styles/addons/_CustomizeColumnsTearsheet.scss +82 -0
  798. package/scss/components/Datagrid/styles/addons/_FilterFlyout.scss +87 -0
  799. package/scss/components/Datagrid/styles/addons/_FilterPanel.scss +129 -0
  800. package/scss/components/Datagrid/styles/addons/_RowSizeDropdown.scss +45 -0
  801. package/scss/components/EditFullPage/_edit-full-page.scss +26 -0
  802. package/scss/components/EditFullPage/_index.scss +8 -0
  803. package/scss/components/EditFullPage/_storybook-styles.scss +10 -0
  804. package/scss/components/EditInPlace/_carbon-imports.scss +9 -0
  805. package/scss/components/EditInPlace/_edit-in-place.scss +164 -0
  806. package/scss/components/EditInPlace/_index-with-carbon.scss +9 -0
  807. package/scss/components/EditInPlace/_index.scss +10 -0
  808. package/scss/components/EditInPlace/_storybook-styles.scss +15 -0
  809. package/scss/components/EditSidePanel/_carbon-imports.scss +9 -0
  810. package/scss/components/EditSidePanel/_edit-side-panel.scss +66 -0
  811. package/scss/components/EditSidePanel/_index-with-carbon.scss +9 -0
  812. package/scss/components/EditSidePanel/_index.scss +8 -0
  813. package/scss/components/EditSidePanel/_storybook-styles.scss +29 -0
  814. package/scss/components/EditTearsheet/_edit-tearsheet.scss +136 -0
  815. package/scss/components/EditTearsheet/_index.scss +8 -0
  816. package/scss/components/EditTearsheet/_storybook-styles.scss +59 -0
  817. package/scss/components/EditTearsheetNarrow/_edit-tearsheet-narrow.scss +26 -0
  818. package/scss/components/EditTearsheetNarrow/_index.scss +8 -0
  819. package/scss/components/EditTearsheetNarrow/_storybook-styles.scss +10 -0
  820. package/scss/components/EditUpdateCards/_carbon-imports.scss +9 -0
  821. package/scss/components/EditUpdateCards/_edit-update-cards.scss +85 -0
  822. package/scss/components/EditUpdateCards/_index-with-carbon.scss +9 -0
  823. package/scss/components/EditUpdateCards/_index.scss +8 -0
  824. package/scss/components/EditUpdateCards/_storybook-styles.scss +55 -0
  825. package/scss/components/EmptyStates/_carbon-imports.scss +11 -0
  826. package/scss/components/EmptyStates/_empty-state.scss +82 -0
  827. package/scss/components/EmptyStates/_index-with-carbon.scss +9 -0
  828. package/scss/components/EmptyStates/_index.scss +8 -0
  829. package/scss/components/EmptyStates/_storybook-styles.scss +6 -0
  830. package/scss/components/ExampleComponent/_carbon-imports.scss +10 -0
  831. package/scss/components/ExampleComponent/_example-component.scss +28 -0
  832. package/scss/components/ExampleComponent/_index-with-carbon.scss +9 -0
  833. package/scss/components/ExampleComponent/_index.scss +8 -0
  834. package/scss/components/ExampleComponent/_storybook-styles.scss +6 -0
  835. package/scss/components/ExportModal/_carbon-imports.scss +16 -0
  836. package/scss/components/ExportModal/_export-modal.scss +46 -0
  837. package/scss/components/ExportModal/_index-with-carbon.scss +9 -0
  838. package/scss/components/ExportModal/_index.scss +10 -0
  839. package/scss/components/ExportModal/_storybook-styles.scss +6 -0
  840. package/scss/components/ExpressiveCard/_carbon-imports.scss +6 -0
  841. package/scss/components/ExpressiveCard/_expressive-card.scss +18 -0
  842. package/scss/components/ExpressiveCard/_index-with-carbon.scss +9 -0
  843. package/scss/components/ExpressiveCard/_index.scss +10 -0
  844. package/scss/components/ExpressiveCard/_storybook-styles.scss +26 -0
  845. package/scss/components/FilterSummary/_filter-summary.scss +21 -0
  846. package/scss/components/FilterSummary/_index.scss +10 -0
  847. package/scss/components/FilterSummary/_storybook-styles.scss +14 -0
  848. package/scss/components/HTTPErrors/_carbon-imports.scss +10 -0
  849. package/scss/components/HTTPErrors/_http-errors.scss +68 -0
  850. package/scss/components/HTTPErrors/_index-with-carbon.scss +9 -0
  851. package/scss/components/HTTPErrors/_index.scss +8 -0
  852. package/scss/components/HTTPErrors/_storybook-styles.scss +6 -0
  853. package/scss/components/ImportModal/_carbon-imports.scss +14 -0
  854. package/scss/components/ImportModal/_import-modal.scss +83 -0
  855. package/scss/components/ImportModal/_index-with-carbon.scss +9 -0
  856. package/scss/components/ImportModal/_index.scss +8 -0
  857. package/scss/components/ImportModal/_storybook-styles.scss +6 -0
  858. package/scss/components/MultiAddSelect/_carbon-imports.scss +6 -0
  859. package/scss/components/MultiAddSelect/_index-with-carbon.scss +9 -0
  860. package/scss/components/MultiAddSelect/_index.scss +8 -0
  861. package/scss/components/MultiAddSelect/_multi-add-select.scss +8 -0
  862. package/scss/components/MultiAddSelect/_storybook-styles.scss +6 -0
  863. package/scss/components/NotificationsPanel/_carbon-imports.scss +12 -0
  864. package/scss/components/NotificationsPanel/_index-with-carbon.scss +9 -0
  865. package/scss/components/NotificationsPanel/_index.scss +8 -0
  866. package/scss/components/NotificationsPanel/_notifications-panel.scss +294 -0
  867. package/scss/components/NotificationsPanel/_storybook-styles.scss +15 -0
  868. package/scss/components/OptionsTile/_carbon-imports.scss +10 -0
  869. package/scss/components/OptionsTile/_index-with-carbon.scss +9 -0
  870. package/scss/components/OptionsTile/_index.scss +8 -0
  871. package/scss/components/OptionsTile/_options-tile.scss +230 -0
  872. package/scss/components/OptionsTile/_storybook-styles.scss +29 -0
  873. package/scss/components/PageHeader/_carbon-imports.scss +13 -0
  874. package/scss/components/PageHeader/_index-with-carbon.scss +9 -0
  875. package/scss/components/PageHeader/_index.scss +10 -0
  876. package/scss/components/PageHeader/_page-header.scss +654 -0
  877. package/scss/components/PageHeader/_storybook-styles.scss +80 -0
  878. package/scss/components/ProductiveCard/_carbon-imports.scss +6 -0
  879. package/scss/components/ProductiveCard/_index-with-carbon.scss +9 -0
  880. package/scss/components/ProductiveCard/_index.scss +10 -0
  881. package/scss/components/ProductiveCard/_productive-card.scss +95 -0
  882. package/scss/components/ProductiveCard/_storybook-styles.scss +23 -0
  883. package/scss/components/RemoveModal/_carbon-imports.scss +12 -0
  884. package/scss/components/RemoveModal/_index-with-carbon.scss +9 -0
  885. package/scss/components/RemoveModal/_index.scss +10 -0
  886. package/scss/components/RemoveModal/_remove-modal.scss +27 -0
  887. package/scss/components/RemoveModal/_storybook-styles.scss +6 -0
  888. package/scss/components/Saving/_carbon-imports.scss +11 -0
  889. package/scss/components/Saving/_index-with-carbon.scss +9 -0
  890. package/scss/components/Saving/_index.scss +10 -0
  891. package/scss/components/Saving/_saving.scss +34 -0
  892. package/scss/components/Saving/_storybook-styles.scss +12 -0
  893. package/scss/components/SidePanel/_carbon-imports.scss +10 -0
  894. package/scss/components/SidePanel/_index-with-carbon.scss +9 -0
  895. package/scss/components/SidePanel/_index.scss +8 -0
  896. package/scss/components/SidePanel/_side-panel-variables.scss +14 -0
  897. package/scss/components/SidePanel/_side-panel.scss +450 -0
  898. package/scss/components/SidePanel/_storybook-styles.scss +45 -0
  899. package/scss/components/SingleAddSelect/_carbon-imports.scss +6 -0
  900. package/scss/components/SingleAddSelect/_index-with-carbon.scss +9 -0
  901. package/scss/components/SingleAddSelect/_index.scss +8 -0
  902. package/scss/components/SingleAddSelect/_single-add-select.scss +8 -0
  903. package/scss/components/SingleAddSelect/_storybook-styles.scss +6 -0
  904. package/scss/components/StatusIcon/_carbon-imports.scss +6 -0
  905. package/scss/components/StatusIcon/_index-with-carbon.scss +9 -0
  906. package/scss/components/StatusIcon/_index.scss +8 -0
  907. package/scss/components/StatusIcon/_status-icon.scss +145 -0
  908. package/scss/components/StatusIcon/_storybook-styles.scss +6 -0
  909. package/scss/components/TagSet/_carbon-imports.scss +14 -0
  910. package/scss/components/TagSet/_index-with-carbon.scss +9 -0
  911. package/scss/components/TagSet/_index.scss +8 -0
  912. package/scss/components/TagSet/_storybook-styles.scss +8 -0
  913. package/scss/components/TagSet/_tag-set.scss +180 -0
  914. package/scss/components/Tearsheet/_carbon-imports.scss +11 -0
  915. package/scss/components/Tearsheet/_index-with-carbon.scss +9 -0
  916. package/scss/components/Tearsheet/_index.scss +8 -0
  917. package/scss/components/Tearsheet/_storybook-styles.scss +25 -0
  918. package/scss/components/Tearsheet/_tearsheet.scss +336 -0
  919. package/scss/components/Toolbar/_carbon-imports.scss +8 -0
  920. package/scss/components/Toolbar/_index-with-carbon.scss +9 -0
  921. package/scss/components/Toolbar/_index.scss +8 -0
  922. package/scss/components/Toolbar/_toolbar.scss +75 -0
  923. package/scss/components/UserProfileImage/_carbon-imports.scss +10 -0
  924. package/scss/components/UserProfileImage/_color-map.scss +39 -0
  925. package/scss/components/UserProfileImage/_index-with-carbon.scss +9 -0
  926. package/scss/components/UserProfileImage/_index.scss +8 -0
  927. package/scss/components/UserProfileImage/_storybook.scss +6 -0
  928. package/scss/components/UserProfileImage/_user-profile-image.scss +155 -0
  929. package/scss/components/WebTerminal/_carbon-imports.scss +12 -0
  930. package/scss/components/WebTerminal/_index-with-carbon.scss +9 -0
  931. package/scss/components/WebTerminal/_index.scss +8 -0
  932. package/scss/components/WebTerminal/_storybook-styles.scss +36 -0
  933. package/scss/components/WebTerminal/_web-terminal.scss +94 -0
  934. package/scss/components/_Canary/_canary.scss +7 -0
  935. package/scss/components/_index-released-only-with-carbon.scss +37 -0
  936. package/scss/components/_index-released-only.scss +38 -0
  937. package/scss/components/_index-with-carbon.scss +47 -0
  938. package/scss/components/_index.scss +51 -0
  939. package/scss/config.scss +1 -0
  940. package/scss/global/styles/_display-box.scss +66 -0
  941. package/scss/global/styles/_imported-carbon-modules.scss +25 -0
  942. package/scss/global/styles/_mixins.scss +22 -0
  943. package/scss/global/styles/_project-settings.scss +10 -0
  944. package/scss/index-full-carbon.scss +10 -0
  945. package/scss/index-without-carbon-released-only.scss +12 -0
  946. package/scss/index-without-carbon.scss +12 -0
  947. package/scss/index.scss +10 -0
@@ -0,0 +1,630 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
5
+ var _excluded = ["actionToolbarButtons", "actions", "animateTitle", "children", "className", "closeIconDescription", "condensedActions", "currentStep", "includeOverlay", "labelText", "navigationBackIconDescription", "onNavigationBack", "onRequestClose", "onUnmount", "open", "placement", "preventCloseOnClickOutside", "selectorPageContent", "selectorPrimaryFocus", "size", "slideIn", "subtitle", "title"],
6
+ _excluded2 = ["label", "kind", "icon", "tooltipPosition", "tooltipAlignment", "leading", "disabled", "className", "onClick"];
7
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
8
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
9
+ /**
10
+ * Copyright IBM Corp. 2020, 2023
11
+ *
12
+ * This source code is licensed under the Apache-2.0 license found in the
13
+ * LICENSE file in the root directory of this source tree.
14
+ */
15
+
16
+ // Import portions of React that are needed.
17
+ import React, { useState, useEffect, useRef } from 'react';
18
+ import { motion, AnimatePresence } from 'framer-motion';
19
+
20
+ // Other standard imports.
21
+ import PropTypes from 'prop-types';
22
+ import cx from 'classnames';
23
+ import { useResizeObserver } from '../../global/js/hooks/useResizeObserver';
24
+ import { moderate02 } from '@carbon/motion';
25
+ import { getDevtoolsProps } from '../../global/js/utils/devtools';
26
+ import { allPropTypes } from '../../global/js/utils/props-helper';
27
+ import wrapFocus from '../../global/js/utils/wrapFocus';
28
+ import { pkg } from '../../settings';
29
+ import { SIDE_PANEL_SIZES } from './constants';
30
+ import { usePreviousValue } from '../../global/js/hooks';
31
+
32
+ // Carbon and package components we use.
33
+ import { Button } from '@carbon/react';
34
+ import { Close, ArrowLeft } from '@carbon/react/icons';
35
+ import { ActionSet } from '../ActionSet';
36
+ import { overlayVariants, panelVariants } from './motion/variants';
37
+ var blockClass = "".concat(pkg.prefix, "--side-panel");
38
+ var componentName = 'SidePanel';
39
+
40
+ // NOTE: the component SCSS is not imported here: it is rolled up separately.
41
+
42
+ // Default values for props
43
+ var defaults = {
44
+ animateTitle: true,
45
+ closeIconDescription: 'Close',
46
+ currentStep: 0,
47
+ navigationBackIconDescription: 'Back',
48
+ placement: 'right',
49
+ size: 'md'
50
+ };
51
+
52
+ /**
53
+ * Side panels keep users in-context of a page while performing tasks like navigating, editing, viewing details, or configuring something new.
54
+ */
55
+ export var SidePanel = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
56
+ var _window, _ref5, _cx4;
57
+ var actionToolbarButtons = _ref.actionToolbarButtons,
58
+ actions = _ref.actions,
59
+ _ref$animateTitle = _ref.animateTitle,
60
+ animateTitle = _ref$animateTitle === void 0 ? defaults.animateTitle : _ref$animateTitle,
61
+ children = _ref.children,
62
+ className = _ref.className,
63
+ _ref$closeIconDescrip = _ref.closeIconDescription,
64
+ closeIconDescription = _ref$closeIconDescrip === void 0 ? defaults.closeIconDescription : _ref$closeIconDescrip,
65
+ condensedActions = _ref.condensedActions,
66
+ _ref$currentStep = _ref.currentStep,
67
+ currentStep = _ref$currentStep === void 0 ? defaults.currentStep : _ref$currentStep,
68
+ includeOverlay = _ref.includeOverlay,
69
+ labelText = _ref.labelText,
70
+ _ref$navigationBackIc = _ref.navigationBackIconDescription,
71
+ navigationBackIconDescription = _ref$navigationBackIc === void 0 ? defaults.navigationBackIconDescription : _ref$navigationBackIc,
72
+ onNavigationBack = _ref.onNavigationBack,
73
+ onRequestClose = _ref.onRequestClose,
74
+ onUnmount = _ref.onUnmount,
75
+ open = _ref.open,
76
+ _ref$placement = _ref.placement,
77
+ placement = _ref$placement === void 0 ? defaults.placement : _ref$placement,
78
+ preventCloseOnClickOutside = _ref.preventCloseOnClickOutside,
79
+ selectorPageContent = _ref.selectorPageContent,
80
+ selectorPrimaryFocus = _ref.selectorPrimaryFocus,
81
+ _ref$size = _ref.size,
82
+ size = _ref$size === void 0 ? defaults.size : _ref$size,
83
+ slideIn = _ref.slideIn,
84
+ subtitle = _ref.subtitle,
85
+ title = _ref.title,
86
+ rest = _objectWithoutProperties(_ref, _excluded);
87
+ var _useState = useState(false),
88
+ _useState2 = _slicedToArray(_useState, 2),
89
+ animationComplete = _useState2[0],
90
+ setAnimationComplete = _useState2[1];
91
+ var _useState3 = useState(0),
92
+ _useState4 = _slicedToArray(_useState3, 2),
93
+ panelHeight = _useState4[0],
94
+ setPanelHeight = _useState4[1];
95
+ var sidePanelRef = useRef();
96
+ var sidePanelOverlayRef = useRef();
97
+ var startTrapRef = useRef();
98
+ var endTrapRef = useRef();
99
+ var sidePanelInnerRef = useRef();
100
+ var sidePanelCloseRef = useRef();
101
+ var previousState = usePreviousValue({
102
+ size: size,
103
+ open: open
104
+ });
105
+ var reducedMotion = typeof window !== 'undefined' && (_window = window) !== null && _window !== void 0 && _window.matchMedia ? window.matchMedia('(prefers-reduced-motion: reduce)') : {
106
+ matches: true
107
+ };
108
+
109
+ // scroll panel to top going between steps
110
+ useEffect(function () {
111
+ var panelRef = ref || sidePanelRef;
112
+ if (panelRef && panelRef.current) {
113
+ var _document$querySelect;
114
+ var scrollableSection = panelRef.current.querySelector(".".concat(blockClass, "__inner-content"));
115
+ var sidePanelOuter = document.querySelector("#".concat(blockClass, "-outer"));
116
+ var initialTitleHeight = (_document$querySelect = document.querySelector(".".concat(blockClass, "__title-container"))) === null || _document$querySelect === void 0 ? void 0 : _document$querySelect.offsetHeight;
117
+ scrollableSection.scrollTop = 0;
118
+ // The size of the panel has changed while it is still opened
119
+ // so we need to scroll it to the top and reset the title container
120
+ // height css custom property
121
+ if ((previousState === null || previousState === void 0 ? void 0 : previousState.size) !== size) {
122
+ var _sidePanelOuter$style;
123
+ scrollableSection.scrollTop = 0;
124
+ sidePanelOuter === null || sidePanelOuter === void 0 ? void 0 : (_sidePanelOuter$style = sidePanelOuter.style) === null || _sidePanelOuter$style === void 0 ? void 0 : _sidePanelOuter$style.setProperty("--".concat(blockClass, "--title-container-height"), "".concat(Number(initialTitleHeight), "px"));
125
+ }
126
+ }
127
+ }, [currentStep, ref, size, previousState === null || previousState === void 0 ? void 0 : previousState.size]);
128
+
129
+ // set initial focus when side panel opens
130
+ useEffect(function () {
131
+ var initialFocus = function initialFocus(focusContainerElement) {
132
+ var containerElement = focusContainerElement;
133
+ var primaryFocusElement = containerElement && containerElement.querySelector(selectorPrimaryFocus);
134
+ if (primaryFocusElement) {
135
+ return primaryFocusElement;
136
+ } else {
137
+ return sidePanelCloseRef && sidePanelCloseRef.current;
138
+ }
139
+ };
140
+ var focusButton = function focusButton(focusContainerElement) {
141
+ var target = initialFocus(focusContainerElement);
142
+ target === null || target === void 0 ? void 0 : target.focus();
143
+ };
144
+ if (open && animationComplete) {
145
+ focusButton(sidePanelInnerRef.current);
146
+ }
147
+ }, [selectorPrimaryFocus, open, animationComplete]);
148
+ useEffect(function () {
149
+ if (open && actions && actions.length && animationComplete) {
150
+ var _sidePanelOuter$style2;
151
+ var sidePanelOuter = document.querySelector("#".concat(blockClass, "-outer"));
152
+ var actionsContainer = getActionsContainerElement();
153
+ var actionsHeight = (actionsContainer === null || actionsContainer === void 0 ? void 0 : actionsContainer.offsetHeight) + 16; // add additional 1rem spacing to bottom padding
154
+ actionsHeight = "".concat(Math.round(actionsHeight / 16), "rem");
155
+ sidePanelOuter === null || sidePanelOuter === void 0 ? void 0 : (_sidePanelOuter$style2 = sidePanelOuter.style) === null || _sidePanelOuter$style2 === void 0 ? void 0 : _sidePanelOuter$style2.setProperty("--".concat(blockClass, "--content-bottom-padding"), actionsHeight);
156
+ }
157
+ }, [actions, condensedActions, open, animationComplete]);
158
+
159
+ // Add console warning if labelText is provided without a title.
160
+ // This combination is not allowed.
161
+ useEffect(function () {
162
+ if (!title && labelText) {
163
+ console.warn("".concat(componentName, ": The prop `labelText` was provided without a `title`. It is required to have a `title` when using the `labelText` prop."));
164
+ }
165
+ }, [labelText, title]);
166
+
167
+ /* istanbul ignore next */
168
+ var handleResize = function handleResize(_ref2) {
169
+ var _sidePanelOuter$style3;
170
+ var height = _ref2.height;
171
+ setPanelHeight(height);
172
+ var sidePanelOuter = document.querySelector("#".concat(blockClass, "-outer"));
173
+ var actionsContainer = getActionsContainerElement();
174
+ var actionsHeight = (actionsContainer === null || actionsContainer === void 0 ? void 0 : actionsContainer.offsetHeight) + 16; // add additional 1rem spacing to bottom padding
175
+ actionsHeight = "".concat(Math.round(actionsHeight / 16), "rem");
176
+ sidePanelOuter === null || sidePanelOuter === void 0 ? void 0 : (_sidePanelOuter$style3 = sidePanelOuter.style) === null || _sidePanelOuter$style3 === void 0 ? void 0 : _sidePanelOuter$style3.setProperty("--".concat(blockClass, "--content-bottom-padding"), actionsHeight);
177
+ };
178
+ var getActionsContainerElement = function getActionsContainerElement() {
179
+ var sidePanelOuter = document.querySelector("#".concat(blockClass, "-outer"));
180
+ return sidePanelOuter && sidePanelOuter.querySelector(".".concat(blockClass, "__actions-container"));
181
+ };
182
+
183
+ // Title and subtitle scroll animation
184
+ useEffect(function () {
185
+ if (open && animateTitle && animationComplete && title && title.length && !reducedMotion.matches) {
186
+ var _document$querySelect2, _document$querySelect3, _document$querySelect4;
187
+ var sidePanelOuter = document.querySelector("#".concat(blockClass, "-outer"));
188
+ var sidePanelScrollArea = document.querySelector("#".concat(blockClass, "-outer .").concat(blockClass, "__inner-content"));
189
+ var sidePanelTitleElement = document.querySelector(".".concat(blockClass, "__title-text"));
190
+ var sidePanelCollapsedTitleElement = document.querySelector(".".concat(blockClass, "__collapsed-title-text"));
191
+ var sidePanelSubtitleElement = document.querySelector(".".concat("".concat(blockClass, "__subtitle-text")));
192
+ var sidePanelSubtitleElementHeight = (sidePanelSubtitleElement === null || sidePanelSubtitleElement === void 0 ? void 0 : sidePanelSubtitleElement.offsetHeight) || 0; // set default subtitle height if a subtitle is not provided to enable scrolling animation
193
+
194
+ var panelOuterHeight = panelHeight;
195
+ var scrollSectionHeight = (_document$querySelect2 = document.querySelector(".".concat(blockClass, "__body-content"))) === null || _document$querySelect2 === void 0 ? void 0 : _document$querySelect2.offsetHeight;
196
+ var titleContainerHeight = (_document$querySelect3 = document.querySelector(".".concat(blockClass, "__title-container"))) === null || _document$querySelect3 === void 0 ? void 0 : _document$querySelect3.offsetHeight;
197
+ var labelTextHeight = (_document$querySelect4 = document.querySelector(".".concat(blockClass, "__label-text"))) === null || _document$querySelect4 === void 0 ? void 0 : _document$querySelect4.offsetHeight;
198
+ var totalScrollingContentHeight = titleContainerHeight + sidePanelSubtitleElementHeight + scrollSectionHeight;
199
+ // if the difference between the total scrolling height and the panel height is less than
200
+ // the subtitleElement height OR if the subtitle element height is 0, use that difference
201
+ // as the length of the scroll animation (otherwise the animation will not be able to complete
202
+ // because there is not enough scrolling distance to complete it).
203
+ sidePanelSubtitleElementHeight = totalScrollingContentHeight - panelOuterHeight < sidePanelSubtitleElementHeight ? totalScrollingContentHeight - panelOuterHeight : sidePanelSubtitleElementHeight === 0 ? 16 : sidePanelSubtitleElementHeight;
204
+ sidePanelSubtitleElementHeight = sidePanelSubtitleElementHeight < 0 ? (sidePanelScrollArea === null || sidePanelScrollArea === void 0 ? void 0 : sidePanelScrollArea.scrollHeight) - (sidePanelScrollArea === null || sidePanelScrollArea === void 0 ? void 0 : sidePanelScrollArea.clientHeight) : sidePanelSubtitleElementHeight;
205
+ /* istanbul ignore next */
206
+ sidePanelScrollArea && sidePanelScrollArea.addEventListener('scroll', function () {
207
+ var scrollTop = sidePanelScrollArea.scrollTop;
208
+ // if scrolling has occurred
209
+ if (scrollTop > 0) {
210
+ sidePanelOuter.classList.add("".concat(blockClass, "__with-condensed-header"));
211
+ // Set subtitle opacity calculation here
212
+ // as scroll progresses
213
+ var titleOpacity = Math.min(1, (sidePanelSubtitleElementHeight - scrollTop) / sidePanelSubtitleElementHeight);
214
+ titleOpacity = titleOpacity < 0 ? 0 : titleOpacity;
215
+ sidePanelOuter.style.setProperty("--".concat(blockClass, "--subtitle-opacity"), titleOpacity);
216
+
217
+ // Calculate divider opacity to avoid border
218
+ // abruptly appearing when scrolling starts.
219
+ // This approach uses a pseudo element and sets
220
+ // the opacity as scroll progresses.
221
+ var dividerOpacity = Math.min(scrollTop / sidePanelSubtitleElementHeight, 1);
222
+ sidePanelOuter.style.setProperty("--".concat(blockClass, "--divider-opacity"), "".concat(Math.min(1, dividerOpacity)));
223
+
224
+ // We need to know the height of the title element
225
+ // so that we know how far to place the action toolbar
226
+ // from the top since it is sticky
227
+ var titleTextHeight = Math.max(sidePanelTitleElement.offsetHeight);
228
+ sidePanelOuter.style.setProperty("--".concat(blockClass, "--title-height"), "".concat(titleTextHeight + 16, "px"));
229
+
230
+ // Set title y positioning
231
+ var titleYPosition = Math.min(scrollTop / sidePanelSubtitleElementHeight, 1);
232
+ sidePanelOuter.style.setProperty("--".concat(blockClass, "--title-y-position"), "".concat(-Math.abs(titleYPosition), "rem"));
233
+
234
+ // mark title with aria-hidden={true} if opacity reaches 0
235
+ if (titleOpacity === 0) {
236
+ sidePanelTitleElement.setAttribute('aria-hidden', 'true');
237
+ sidePanelCollapsedTitleElement.setAttribute('aria-hidden', 'false');
238
+ }
239
+
240
+ // Set collapsed title y positioning
241
+ var collapsedTitleYPosition = Math.min(1, (sidePanelSubtitleElementHeight - scrollTop) / sidePanelSubtitleElementHeight);
242
+ collapsedTitleYPosition = collapsedTitleYPosition < 0 ? 0 : collapsedTitleYPosition;
243
+ sidePanelOuter.style.setProperty("--".concat(blockClass, "--collapsed-title-y-position"), "".concat(collapsedTitleYPosition, "rem"));
244
+
245
+ // Set label text height
246
+ var scrollAnimationProgress = dividerOpacity;
247
+ var reduceTitleContainerHeightAmount = labelTextHeight * scrollAnimationProgress / titleContainerHeight * 100;
248
+ sidePanelOuter.style.setProperty("--".concat(blockClass, "--label-text-height"), "".concat(Math.trunc(reduceTitleContainerHeightAmount), "px"));
249
+ sidePanelOuter.style.setProperty("--".concat(blockClass, "--title-container-height"), "".concat(titleContainerHeight, "px"));
250
+ } else {
251
+ sidePanelTitleElement.setAttribute('aria-hidden', 'false');
252
+ sidePanelCollapsedTitleElement.setAttribute('aria-hidden', 'true');
253
+ sidePanelOuter.classList.remove("".concat(blockClass, "__with-condensed-header"));
254
+ sidePanelOuter.style.setProperty("--".concat(blockClass, "--subtitle-opacity"), 1);
255
+ sidePanelOuter.style.setProperty("--".concat(blockClass, "--title-y-position"), 0);
256
+ sidePanelOuter.style.setProperty("--".concat(blockClass, "--divider-opacity"), 0);
257
+ sidePanelOuter.style.setProperty("--".concat(blockClass, "--collapsed-title-y-position"), "1rem");
258
+ sidePanelOuter.style.setProperty("--".concat(blockClass, "--label-text-height"), "0px");
259
+ }
260
+ });
261
+ }
262
+ if (open && !animateTitle) {
263
+ var _sidePanelOuter = document.querySelector("#".concat(blockClass, "-outer"));
264
+ var _sidePanelTitleElement = document.querySelector(".".concat(blockClass, "__title-container .").concat(blockClass, "__title-text"));
265
+ var _sidePanelSubtitleElement = document.querySelector(".".concat(blockClass, "__subtitle-text"));
266
+ var actionToolbarElement = document.querySelector(".".concat(blockClass, "__action-toolbar"));
267
+ var _labelText = document.querySelector(".".concat(blockClass, "__label-text"));
268
+ var _sidePanelSubtitleElementHeight = (_sidePanelSubtitleElement === null || _sidePanelSubtitleElement === void 0 ? void 0 : _sidePanelSubtitleElement.offsetHeight) || 0;
269
+ var sidePanelActionBarElementHeight = (actionToolbarElement === null || actionToolbarElement === void 0 ? void 0 : actionToolbarElement.offsetHeight) || 0;
270
+ var titleHeight = (_sidePanelTitleElement === null || _sidePanelTitleElement === void 0 ? void 0 : _sidePanelTitleElement.offsetHeight) + 24;
271
+ var labelHeight = (_labelText === null || _labelText === void 0 ? void 0 : _labelText.offsetHeight) || 0;
272
+ _sidePanelOuter === null || _sidePanelOuter === void 0 ? void 0 : _sidePanelOuter.style.setProperty("--".concat(blockClass, "--title-text-height"), "".concat(titleHeight, "px"));
273
+ _sidePanelOuter === null || _sidePanelOuter === void 0 ? void 0 : _sidePanelOuter.style.setProperty("--".concat(blockClass, "--subtitle-container-height"), "".concat(_sidePanelSubtitleElementHeight, "px"));
274
+ _sidePanelOuter === null || _sidePanelOuter === void 0 ? void 0 : _sidePanelOuter.style.setProperty("--".concat(blockClass, "--action-bar-container-height"), "".concat(sidePanelActionBarElementHeight, "px"));
275
+ _sidePanelOuter === null || _sidePanelOuter === void 0 ? void 0 : _sidePanelOuter.style.setProperty("--".concat(blockClass, "--label-text-height"), "".concat(labelHeight, "px"));
276
+ }
277
+ }, [open, animateTitle, animationComplete, panelHeight, title, size, reducedMotion.matches]);
278
+
279
+ // click outside functionality if `includeOverlay` prop is set
280
+ useEffect(function () {
281
+ var handleOutsideClick = function handleOutsideClick(event) {
282
+ var panelRef = ref || sidePanelRef;
283
+ if (panelRef.current && sidePanelOverlayRef.current && sidePanelOverlayRef.current.contains(event.target) && onRequestClose) {
284
+ onRequestClose();
285
+ }
286
+ };
287
+ var bodyElement = document.body;
288
+ if (includeOverlay && open) {
289
+ bodyElement.style.overflow = 'hidden';
290
+ } else if (includeOverlay && !open) {
291
+ bodyElement.style.overflow = 'initial';
292
+ }
293
+ if (includeOverlay && !preventCloseOnClickOutside) {
294
+ document.addEventListener('click', handleOutsideClick);
295
+ }
296
+ return function () {
297
+ document.removeEventListener('click', handleOutsideClick);
298
+ };
299
+ }, [includeOverlay, onRequestClose, open, preventCloseOnClickOutside, ref, onUnmount]);
300
+
301
+ // initializes the side panel to close
302
+ var onAnimationEnd = function onAnimationEnd() {
303
+ if (!open) {
304
+ onUnmount === null || onUnmount === void 0 ? void 0 : onUnmount();
305
+ }
306
+ setAnimationComplete(true);
307
+ };
308
+
309
+ // Set the internal state `animationComplete` to true if
310
+ // prefers reduced motion is true
311
+ useEffect(function () {
312
+ if (reducedMotion.matches) {
313
+ setAnimationComplete(true);
314
+ }
315
+ }, [reducedMotion.matches]);
316
+
317
+ // initializes the side panel to open
318
+ var _onAnimationStart = function onAnimationStart() {
319
+ setAnimationComplete(false);
320
+ };
321
+
322
+ // used to reset margins of the slide in panel when closed/closing
323
+ useEffect(function () {
324
+ if (!open && slideIn) {
325
+ var pageContentElement = document.querySelector(selectorPageContent);
326
+ if (placement && placement === 'right' && pageContentElement) {
327
+ pageContentElement.style.marginRight = 0;
328
+ } else if (pageContentElement) {
329
+ pageContentElement.style.marginLeft = 0;
330
+ }
331
+ }
332
+ }, [open, placement, selectorPageContent, slideIn]);
333
+ useEffect(function () {
334
+ if (!open && previousState !== null && previousState !== void 0 && previousState.open && reducedMotion.matches) {
335
+ onUnmount === null || onUnmount === void 0 ? void 0 : onUnmount();
336
+ }
337
+ }, [open, onUnmount, reducedMotion.matches, previousState === null || previousState === void 0 ? void 0 : previousState.open]);
338
+
339
+ // used to set margins of content for slide in panel version
340
+ useEffect(function () {
341
+ if (open && slideIn) {
342
+ var pageContentElement = document.querySelector(selectorPageContent);
343
+ if (placement && placement === 'right' && pageContentElement) {
344
+ pageContentElement.style.marginRight = 0;
345
+ pageContentElement.style.transition = !reducedMotion.matches ? "margin-right ".concat(moderate02) : null;
346
+ pageContentElement.style.marginRight = SIDE_PANEL_SIZES[size];
347
+ } else if (pageContentElement) {
348
+ pageContentElement.style.marginLeft = 0;
349
+ pageContentElement.style.transition = !reducedMotion.matches ? "margin-left ".concat(moderate02) : null;
350
+ pageContentElement.style.marginLeft = SIDE_PANEL_SIZES[size];
351
+ }
352
+ }
353
+ }, [slideIn, selectorPageContent, placement, size, reducedMotion.matches, open]);
354
+
355
+ // adds focus trap functionality
356
+ /* istanbul ignore next */
357
+ var handleBlur = function handleBlur(_ref3) {
358
+ var oldActiveNode = _ref3.target,
359
+ currentActiveNode = _ref3.relatedTarget;
360
+ // focus trap should only be set if the side panel is a `slideOver` type
361
+ if (open && sidePanelInnerRef && !slideIn) {
362
+ wrapFocus({
363
+ bodyNode: sidePanelInnerRef.current,
364
+ startTrapRef: startTrapRef,
365
+ endTrapRef: endTrapRef,
366
+ currentActiveNode: currentActiveNode,
367
+ oldActiveNode: oldActiveNode
368
+ });
369
+ }
370
+ };
371
+ var primaryActionContainerClassNames = cx(["".concat(blockClass, "__actions-container"), _defineProperty({}, "".concat(blockClass, "__actions-container-condensed"), condensedActions)]);
372
+ var mainPanelClassNames = cx([blockClass, className, "".concat(blockClass, "__container"), "".concat(blockClass, "__container--").concat(size), (_ref5 = {}, _defineProperty(_ref5, "".concat(blockClass, "__container-right-placement"), placement === 'right'), _defineProperty(_ref5, "".concat(blockClass, "__container-left-placement"), placement === 'left'), _defineProperty(_ref5, "".concat(blockClass, "__container-with-action-toolbar"), actionToolbarButtons && actionToolbarButtons.length), _defineProperty(_ref5, "".concat(blockClass, "__container-without-overlay"), !includeOverlay && !slideIn), _defineProperty(_ref5, "".concat(blockClass, "__container-is-animating"), !animationComplete || !open), _ref5)]);
373
+ var renderHeader = function renderHeader() {
374
+ var _cx, _cx2;
375
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
376
+ className: cx("".concat(blockClass, "__title-container"), (_cx = {}, _defineProperty(_cx, "".concat(blockClass, "__on-detail-step"), currentStep > 0), _defineProperty(_cx, "".concat(blockClass, "__on-detail-step-without-title"), currentStep > 0 && !title), _defineProperty(_cx, "".concat(blockClass, "__title-container--no-title-animation"), !animateTitle), _defineProperty(_cx, "".concat(blockClass, "__title-container-is-animating"), !animationComplete || !open), _defineProperty(_cx, "".concat(blockClass, "__title-container-without-title"), !title), _defineProperty(_cx, "".concat(blockClass, "__title-container--reduced-motion"), reducedMotion.matches), _cx))
377
+ }, currentStep > 0 && /*#__PURE__*/React.createElement(Button, {
378
+ "aria-label": navigationBackIconDescription,
379
+ kind: "ghost",
380
+ size: "sm",
381
+ disabled: false,
382
+ renderIcon: function renderIcon(props) {
383
+ return /*#__PURE__*/React.createElement(ArrowLeft, _extends({
384
+ size: 20
385
+ }, props));
386
+ },
387
+ iconDescription: navigationBackIconDescription,
388
+ className: "".concat(blockClass, "__navigation-back-button"),
389
+ onClick: onNavigationBack
390
+ }), title && title.length && labelText && labelText.length && /*#__PURE__*/React.createElement("p", {
391
+ className: "".concat(blockClass, "__label-text")
392
+ }, labelText), title && title.length && renderTitle()), /*#__PURE__*/React.createElement(Button, {
393
+ "aria-label": closeIconDescription,
394
+ kind: "ghost",
395
+ size: "sm",
396
+ renderIcon: function renderIcon(props) {
397
+ return /*#__PURE__*/React.createElement(Close, _extends({
398
+ size: 20
399
+ }, props));
400
+ },
401
+ iconDescription: closeIconDescription,
402
+ className: "".concat(blockClass, "__close-button"),
403
+ onClick: onRequestClose,
404
+ ref: sidePanelCloseRef
405
+ }), subtitle && /*#__PURE__*/React.createElement("p", {
406
+ className: cx("".concat(blockClass, "__subtitle-text"), (_cx2 = {}, _defineProperty(_cx2, "".concat(blockClass, "__subtitle-text-no-animation"), !animateTitle), _defineProperty(_cx2, "".concat(blockClass, "__subtitle-text-no-animation-no-action-toolbar"), !animateTitle && (!actionToolbarButtons || !actionToolbarButtons.length)), _defineProperty(_cx2, "".concat(blockClass, "__subtitle-text-is-animating"), !animationComplete && animateTitle), _defineProperty(_cx2, "".concat(blockClass, "__subtitle-without-title"), !title), _cx2))
407
+ }, subtitle), actionToolbarButtons && actionToolbarButtons.length && /*#__PURE__*/React.createElement("div", {
408
+ className: cx("".concat(blockClass, "__action-toolbar"), _defineProperty({}, "".concat(blockClass, "__action-toolbar-no-animation"), !animateTitle))
409
+ }, actionToolbarButtons.map(function (_ref6) {
410
+ var label = _ref6.label,
411
+ kind = _ref6.kind,
412
+ icon = _ref6.icon,
413
+ tooltipPosition = _ref6.tooltipPosition,
414
+ tooltipAlignment = _ref6.tooltipAlignment,
415
+ leading = _ref6.leading,
416
+ disabled = _ref6.disabled,
417
+ className = _ref6.className,
418
+ onClick = _ref6.onClick,
419
+ rest = _objectWithoutProperties(_ref6, _excluded2);
420
+ return /*#__PURE__*/React.createElement(Button, _extends({}, rest, {
421
+ key: label,
422
+ kind: kind || 'ghost',
423
+ size: "sm",
424
+ renderIcon: icon,
425
+ iconDescription: label,
426
+ tooltipPosition: tooltipPosition || 'bottom',
427
+ tooltipAlignment: tooltipAlignment || 'start',
428
+ hasIconOnly: !leading,
429
+ disabled: disabled,
430
+ className: cx(["".concat(blockClass, "__action-toolbar-button"), className, _defineProperty({}, "".concat(blockClass, "__action-toolbar-leading-button"), leading)]),
431
+ onClick: onClick
432
+ }), leading && label);
433
+ })));
434
+ };
435
+ var renderTitle = function renderTitle() {
436
+ return /*#__PURE__*/React.createElement(React.Fragment, null, title && title.length && /*#__PURE__*/React.createElement("h2", {
437
+ className: "".concat(blockClass, "__title-text"),
438
+ title: title,
439
+ "aria-hidden": false
440
+ }, title), animateTitle && title && title.length && !reducedMotion.matches && /*#__PURE__*/React.createElement("h2", {
441
+ className: "".concat(blockClass, "__collapsed-title-text"),
442
+ title: title,
443
+ "aria-hidden": true
444
+ }, title));
445
+ };
446
+ var contentRef = ref || sidePanelRef;
447
+ useResizeObserver(contentRef, {
448
+ callback: handleResize
449
+ });
450
+ return /*#__PURE__*/React.createElement(AnimatePresence, null, open && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(motion.div, _extends({}, getDevtoolsProps(componentName), rest, {
451
+ id: "".concat(blockClass, "-outer"),
452
+ className: mainPanelClassNames,
453
+ onBlur: handleBlur,
454
+ ref: contentRef,
455
+ role: "complementary",
456
+ "aria-label": title,
457
+ onAnimationComplete: onAnimationEnd,
458
+ onAnimationStart: function onAnimationStart(event) {
459
+ return _onAnimationStart(event);
460
+ },
461
+ variants: panelVariants,
462
+ initial: "hidden",
463
+ animate: "visible",
464
+ exit: "exit",
465
+ custom: placement
466
+ }), /*#__PURE__*/React.createElement("span", {
467
+ ref: startTrapRef,
468
+ tabIndex: "0",
469
+ role: "link",
470
+ className: "".concat(blockClass, "__visually-hidden")
471
+ }, "Focus sentinel"), !animateTitle && renderHeader(), /*#__PURE__*/React.createElement("div", {
472
+ ref: sidePanelInnerRef,
473
+ className: cx("".concat(blockClass, "__inner-content"), (_cx4 = {}, _defineProperty(_cx4, "".concat(blockClass, "__static-inner-content"), !animateTitle), _defineProperty(_cx4, "".concat(blockClass, "__static-inner-content-no-actions"), !animateTitle && !(actions !== null && actions !== void 0 && actions.length)), _defineProperty(_cx4, "".concat(blockClass, "__inner-content-with-actions"), actions && actions.length), _cx4))
474
+ }, animateTitle && renderHeader(), /*#__PURE__*/React.createElement("div", {
475
+ className: "".concat(blockClass, "__body-content")
476
+ }, children), /*#__PURE__*/React.createElement(ActionSet, {
477
+ actions: actions,
478
+ className: primaryActionContainerClassNames,
479
+ size: size === 'xs' ? 'sm' : size
480
+ })), /*#__PURE__*/React.createElement("span", {
481
+ ref: endTrapRef,
482
+ tabIndex: "0",
483
+ role: "link",
484
+ className: "".concat(blockClass, "__visually-hidden")
485
+ }, "Focus sentinel")), /*#__PURE__*/React.createElement(AnimatePresence, null, includeOverlay && /*#__PURE__*/React.createElement(motion.div, {
486
+ variants: overlayVariants,
487
+ initial: "hidden",
488
+ animate: "visible",
489
+ exit: "exit",
490
+ ref: sidePanelOverlayRef,
491
+ className: "".concat(blockClass, "__overlay")
492
+ }))));
493
+ });
494
+
495
+ // Return a placeholder if not released and not enabled by feature flag
496
+ SidePanel = pkg.checkComponentEnabled(SidePanel, componentName);
497
+ SidePanel.propTypes = {
498
+ /**
499
+ * Sets the action toolbar buttons
500
+ */
501
+ actionToolbarButtons: PropTypes.arrayOf(PropTypes.shape({
502
+ label: PropTypes.string,
503
+ leading: PropTypes.bool,
504
+ icon: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),
505
+ onClick: PropTypes.func,
506
+ kind: PropTypes.oneOf(['ghost', 'tertiary', 'secondary', 'primary']),
507
+ tooltipAlignment: PropTypes.oneOf(['top', 'right', 'bottom', 'left']),
508
+ tooltipPosition: PropTypes.oneOf(['start', 'center', 'end'])
509
+ })),
510
+ /**
511
+ * The primary actions to be shown in the side panel. Each action is
512
+ * specified as an object with optional fields: 'label' to supply the button
513
+ * label, 'kind' to select the button kind (must be 'primary', 'secondary' or
514
+ * 'ghost'), 'tooltipPosition' to select where the tooltip is placed around
515
+ * the button (must be 'top', 'right', 'bottom', or 'left'), 'tooltipAlignment'
516
+ * to select how the tooltip is aligned with the button (must be 'start',
517
+ * 'center', or 'end', 'loading' to display a loading indicator, and 'onClick' to
518
+ * receive notifications when the button is clicked. Additional fields in the
519
+ * object will be passed to the Button component, and these can include
520
+ * 'disabled', 'ref', 'className', and any other Button props. Any other
521
+ * fields in the object will be passed through to the button element as HTML
522
+ * attributes.
523
+ *
524
+ * See https://react.carbondesignsystem.com/?path=/docs/components-button--default#component-api
525
+ */
526
+ actions: allPropTypes([ActionSet.validateActions(), PropTypes.arrayOf(PropTypes.shape(_objectSpread(_objectSpread({}, Button.propTypes), {}, {
527
+ kind: PropTypes.oneOf(['ghost', 'danger--ghost', 'secondary', 'danger', 'primary']),
528
+ tooltipPosition: PropTypes.oneOf(['top', 'right', 'bottom', 'left']),
529
+ tooltipAlignment: PropTypes.oneOf(['start', 'center', 'end']),
530
+ label: PropTypes.string,
531
+ loading: PropTypes.bool,
532
+ // we duplicate this Button prop to improve the DocGen here
533
+ onClick: Button.propTypes.onClick
534
+ })))]),
535
+ /**
536
+ * Determines if the title will animate on scroll
537
+ */
538
+ animateTitle: PropTypes.bool,
539
+ /**
540
+ * Sets the body content of the side panel
541
+ */
542
+ children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,
543
+ /**
544
+ * Sets an optional className to be added to the side panel outermost element
545
+ */
546
+ className: PropTypes.string,
547
+ /**
548
+ * Sets the close button icon description
549
+ */
550
+ closeIconDescription: PropTypes.string,
551
+ /**
552
+ * Determines whether the side panel should render the condensed version (affects action buttons primarily)
553
+ */
554
+ condensedActions: PropTypes.bool,
555
+ /**
556
+ * Sets the current step of the side panel
557
+ */
558
+ currentStep: PropTypes.number,
559
+ /**
560
+ * Determines whether the side panel should render with an overlay
561
+ */
562
+ includeOverlay: PropTypes.bool,
563
+ /**
564
+ * Sets the label text which will display above the title text
565
+ */
566
+ labelText: PropTypes.string,
567
+ /**
568
+ * Sets the icon description for the navigation back icon button
569
+ */
570
+ navigationBackIconDescription: PropTypes.string,
571
+ /**
572
+ * Changes the current side panel page to the previous page
573
+ */
574
+ onNavigationBack: PropTypes.func,
575
+ /**
576
+ * Specify a handler for closing the side panel.
577
+ * This handler closes the modal, e.g. changing `open` prop.
578
+ */
579
+ onRequestClose: PropTypes.func,
580
+ /**
581
+ * Optional function called when the side panel exit animation is complete.
582
+ * This handler can be used for any state cleanup needed before the panel is removed from the DOM.
583
+ */
584
+ onUnmount: PropTypes.func,
585
+ /**
586
+ * Determines whether the side panel should render or not
587
+ */
588
+ open: PropTypes.bool.isRequired,
589
+ /**
590
+ * Determines if the side panel is on the right or left
591
+ */
592
+ placement: PropTypes.oneOf(['left', 'right']),
593
+ /**
594
+ * Prevent closing on click outside of the panel
595
+ */
596
+ preventCloseOnClickOutside: PropTypes.bool,
597
+ /**
598
+ * This is the selector to the element that contains all of the page content that will shrink if the panel is a slide in.
599
+ * This prop is required when using the `slideIn` variant of the side panel.
600
+ */
601
+ selectorPageContent: PropTypes.string.isRequired.if(function (_ref8) {
602
+ var slideIn = _ref8.slideIn;
603
+ return slideIn;
604
+ }),
605
+ /**
606
+ * Specify a CSS selector that matches the DOM element that should
607
+ * be focused when the side panel opens
608
+ */
609
+ selectorPrimaryFocus: PropTypes.string,
610
+ /**
611
+ * Sets the size of the side panel
612
+ */
613
+ size: PropTypes.oneOf(['xs', 'sm', 'md', 'lg', '2xl']),
614
+ /**
615
+ * Determines if this panel slides in
616
+ */
617
+ slideIn: PropTypes.bool,
618
+ /**
619
+ * Sets the subtitle text
620
+ */
621
+ subtitle: PropTypes.node,
622
+ /**
623
+ * Sets the title text
624
+ */
625
+ title: PropTypes.string.isRequired.if(function (_ref9) {
626
+ var labelText = _ref9.labelText;
627
+ return labelText;
628
+ })
629
+ };
630
+ SidePanel.displayName = componentName;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Copyright IBM Corp. 2020, 2021
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ export var SIDE_PANEL_SIZES = {
9
+ xs: '16rem',
10
+ sm: '20rem',
11
+ md: '30rem',
12
+ lg: '40rem',
13
+ max: '75%'
14
+ };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Copyright IBM Corp. 2020, 2021
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ export { SidePanel } from './SidePanel';