@carbon/ibm-products 2.0.0-rc.1 → 2.0.0-rc.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (357) hide show
  1. package/README.md +2 -2
  2. package/css/index-full-carbon.css +1294 -331
  3. package/css/index-full-carbon.css.map +1 -1
  4. package/css/index-full-carbon.min.css +6 -8
  5. package/css/index-full-carbon.min.css.map +1 -1
  6. package/css/index-without-carbon-released-only.css +789 -171
  7. package/css/index-without-carbon-released-only.css.map +1 -1
  8. package/css/index-without-carbon-released-only.min.css +4 -8
  9. package/css/index-without-carbon-released-only.min.css.map +1 -1
  10. package/css/index-without-carbon.css +1171 -416
  11. package/css/index-without-carbon.css.map +1 -1
  12. package/css/index-without-carbon.min.css +6 -8
  13. package/css/index-without-carbon.min.css.map +1 -1
  14. package/css/index.css +1068 -262
  15. package/css/index.css.map +1 -1
  16. package/css/index.min.css +6 -8
  17. package/css/index.min.css.map +1 -1
  18. package/es/components/APIKeyModal/APIKeyModal.js +1 -1
  19. package/es/components/ActionBar/ActionBarOverflowItems.js +1 -0
  20. package/es/components/ActionSet/ActionSet.js +7 -3
  21. package/es/components/AddSelect/AddSelect.js +6 -6
  22. package/es/components/AddSelect/AddSelectBody.js +72 -31
  23. package/es/components/AddSelect/AddSelectBreadcrumbs.js +12 -4
  24. package/es/components/AddSelect/AddSelectColumn.js +8 -8
  25. package/es/components/AddSelect/AddSelectFilter.js +10 -7
  26. package/es/components/AddSelect/AddSelectList.js +64 -29
  27. package/es/components/AddSelect/AddSelectMetaPanel.js +7 -1
  28. package/es/components/AddSelect/AddSelectSidebar.js +5 -2
  29. package/es/components/AddSelect/AddSelectSort.js +2 -2
  30. package/es/components/AddSelect/add-select-utils.js +9 -2
  31. package/es/components/AddSelect/hooks/useItemSort.js +6 -0
  32. package/es/components/AddSelect/hooks/useParentSelect.js +6 -0
  33. package/es/components/AddSelect/hooks/usePath.js +15 -1
  34. package/es/components/AddSelect/index.js +1 -1
  35. package/es/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +4 -6
  36. package/es/components/Card/Card.js +16 -6
  37. package/es/components/Card/CardFooter.js +3 -1
  38. package/es/components/Card/CardHeader.js +20 -1
  39. package/es/components/ComboButton/ComboButton.js +1 -1
  40. package/es/components/CreateFullPage/CreateFullPage.js +4 -1
  41. package/es/components/CreateTearsheet/CreateTearsheet.js +8 -1
  42. package/es/components/CreateTearsheetNarrow/CreateTearsheetNarrow.js +2 -2
  43. package/es/components/DataSpreadsheet/DataSpreadsheet.js +65 -15
  44. package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +2 -1
  45. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.js +7 -0
  46. package/es/components/DataSpreadsheet/hooks/useMultipleKeyTracking.js +6 -5
  47. package/es/components/DataSpreadsheet/utils/handleCellDeletion.js +42 -0
  48. package/es/components/DataSpreadsheet/utils/handleMultipleKeys.js +1 -1
  49. package/es/components/Datagrid/Datagrid/Datagrid.js +13 -37
  50. package/es/components/Datagrid/Datagrid/DatagridContent.js +159 -0
  51. package/es/components/Datagrid/Datagrid/DatagridEmptyBody.js +17 -4
  52. package/es/components/Datagrid/Datagrid/DatagridExpandedRow.js +9 -1
  53. package/es/components/Datagrid/Datagrid/DatagridRow.js +44 -5
  54. package/es/components/Datagrid/Datagrid/DatagridSelectAll.js +10 -3
  55. package/es/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +13 -4
  56. package/es/components/Datagrid/Datagrid/DatagridToolbar.js +29 -8
  57. package/es/components/Datagrid/Datagrid/DatagridVirtualBody.js +31 -9
  58. package/es/components/Datagrid/Datagrid/DraggableElement.js +6 -2
  59. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/Actions.js +5 -45
  60. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/ButtonWrapper.js +4 -1
  61. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +36 -10
  62. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsModal.js +62 -26
  63. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/ModalWrapper.js +3 -2
  64. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +424 -0
  65. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +83 -0
  66. package/es/components/Datagrid/Datagrid/addons/Filtering/constants.js +20 -0
  67. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useInitialStateFromFilters.js +22 -0
  68. package/es/components/Datagrid/Datagrid/addons/Filtering/index.js +7 -0
  69. package/es/components/Datagrid/Datagrid/addons/Filtering/utils.js +38 -0
  70. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +60 -0
  71. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/index.js +1 -0
  72. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +537 -0
  73. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/index.js +1 -0
  74. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/InlineEditContext.js +112 -0
  75. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/getCellIdAsObject.js +27 -0
  76. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/index.js +1 -0
  77. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/returnUpdatedActiveCell.js +39 -0
  78. package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleGridFocus.js +19 -0
  79. package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +263 -0
  80. package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleMultipleKeys.js +87 -0
  81. package/es/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.js +17 -14
  82. package/es/components/Datagrid/Datagrid/addons/RowSize/RowSizeRadioGroup.js +13 -36
  83. package/es/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/CustomizeColumnStory.js +0 -0
  84. package/es/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/LeftPanelStory.js +0 -0
  85. package/es/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/RowSizeDropdownStory.js +0 -0
  86. package/es/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/SelectAllWithToggleStory.js +0 -0
  87. package/es/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/StickyActionsColumnStory.js +0 -0
  88. package/es/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/common.js +0 -0
  89. package/es/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/index.js +0 -0
  90. package/es/components/Datagrid/index.js +4 -1
  91. package/es/components/Datagrid/useActionsColumn.js +28 -12
  92. package/es/components/Datagrid/useColumnOrder.js +8 -0
  93. package/es/components/Datagrid/useCustomizeColumns.js +5 -0
  94. package/es/components/Datagrid/useDefaultStringRenderer.js +4 -1
  95. package/es/components/Datagrid/useDisableSelectRows.js +6 -2
  96. package/es/components/Datagrid/useExpandedRow.js +0 -1
  97. package/es/components/Datagrid/useFiltering.js +90 -0
  98. package/es/components/Datagrid/useInfiniteScroll.js +5 -2
  99. package/es/components/Datagrid/useInlineEdit.js +71 -0
  100. package/es/components/Datagrid/useNestedRowExpander.js +47 -0
  101. package/es/components/Datagrid/useNestedRows.js +16 -4
  102. package/es/components/Datagrid/useParentDimensions.js +3 -1
  103. package/es/components/Datagrid/useRowExpander.js +12 -4
  104. package/es/components/Datagrid/useRowSize.js +17 -6
  105. package/es/components/Datagrid/useSelectAllToggle.js +17 -4
  106. package/es/components/Datagrid/useSelectRows.js +12 -2
  107. package/es/components/Datagrid/useSortableColumns.js +1 -1
  108. package/es/components/Datagrid/useStickyColumn.js +11 -0
  109. package/es/components/Datagrid/utils/DatagridActions.js +223 -0
  110. package/es/components/Datagrid/utils/DatagridPagination.js +33 -0
  111. package/es/components/Datagrid/utils/Wrapper.js +21 -0
  112. package/es/components/Datagrid/utils/getArgTypes.js +94 -0
  113. package/es/components/Datagrid/utils/getInlineEditColumns.js +158 -0
  114. package/es/components/Datagrid/utils/makeData.js +55 -2
  115. package/es/components/EditUpdateCards/EditUpdateCards.js +144 -0
  116. package/es/components/EditUpdateCards/index.js +7 -0
  117. package/es/components/ExportModal/ExportModal.js +1 -1
  118. package/es/components/FilterSummary/FilterSummary.js +54 -0
  119. package/es/components/FilterSummary/index.js +7 -0
  120. package/es/components/ImportModal/ImportModal.js +3 -3
  121. package/es/components/InlineEdit/InlineEdit.js +28 -426
  122. package/es/components/InlineEditV1/InlineEditV1.js +447 -0
  123. package/es/components/InlineEditV1/index.js +7 -0
  124. package/es/components/InlineEditV2/InlineEditV2.js +289 -0
  125. package/es/components/InlineEditV2/index.js +7 -0
  126. package/es/components/ModifiedTabs/ModifiedTabLabelNew.js +1 -1
  127. package/es/components/ModifiedTabs/ModifiedTabLabelWithClose.js +1 -1
  128. package/es/components/MultiAddSelect/MultiAddSelect.js +14 -7
  129. package/es/components/MultiAddSelect/index.js +6 -0
  130. package/es/components/NotificationsPanel/NotificationsPanel.js +1 -1
  131. package/es/components/OptionsTile/OptionsTile.js +29 -13
  132. package/es/components/PageHeader/PageHeader.js +4 -4
  133. package/es/components/PageHeader/PageHeaderTitle.js +1 -1
  134. package/es/components/ProductiveCard/ProductiveCard.js +5 -0
  135. package/es/components/RemoveModal/RemoveModal.js +20 -3
  136. package/es/components/Saving/Saving.js +1 -1
  137. package/es/components/SidePanel/SidePanel.js +45 -52
  138. package/es/components/SidePanel/motion/variants.js +45 -0
  139. package/es/components/SingleAddSelect/SingleAddSelect.js +6 -0
  140. package/es/components/SingleAddSelect/index.js +6 -0
  141. package/es/components/StatusIcon/StatusIcon.js +1 -1
  142. package/es/components/UserProfileImage/UserProfileImage.js +1 -1
  143. package/es/components/WebTerminal/WebTerminal.js +2 -2
  144. package/es/components/WebTerminal/WebTerminalContentWrapper.js +1 -1
  145. package/es/components/WebTerminal/hooks/index.js +6 -0
  146. package/es/components/WebTerminal/index.js +6 -0
  147. package/es/components/WebTerminal/preview-components/Navigation.js +7 -1
  148. package/es/components/WebTerminal/preview-components/documentationLinks.js +6 -0
  149. package/es/components/WebTerminal/preview-components/index.js +7 -0
  150. package/es/components/index.js +3 -2
  151. package/es/global/js/hooks/index.js +2 -1
  152. package/es/global/js/hooks/useClickOutside.js +1 -1
  153. package/es/global/js/hooks/useControllableState.js +83 -0
  154. package/es/global/js/hooks/useResetCreateComponent.js +6 -2
  155. package/es/global/js/package-settings.js +7 -4
  156. package/es/global/js/utils/getBezierValues.js +20 -0
  157. package/es/global/js/utils/getNumberOfHiddenSteps.js +19 -0
  158. package/es/global/js/utils/motionConstants.js +45 -0
  159. package/es/global/js/utils/rangeWithCallback.js +13 -0
  160. package/es/global/js/utils/story-helper.js +5 -1
  161. package/es/global/js/utils/uuidv4.spec.js +4 -0
  162. package/lib/components/APIKeyModal/APIKeyModal.js +4 -4
  163. package/lib/components/ActionBar/ActionBarOverflowItems.js +1 -0
  164. package/lib/components/ActionSet/ActionSet.js +7 -3
  165. package/lib/components/AddSelect/AddSelect.js +5 -6
  166. package/lib/components/AddSelect/AddSelectBody.js +67 -30
  167. package/lib/components/AddSelect/AddSelectBreadcrumbs.js +15 -4
  168. package/lib/components/AddSelect/AddSelectColumn.js +7 -7
  169. package/lib/components/AddSelect/AddSelectFilter.js +9 -6
  170. package/lib/components/AddSelect/AddSelectList.js +65 -30
  171. package/lib/components/AddSelect/AddSelectMetaPanel.js +8 -2
  172. package/lib/components/AddSelect/AddSelectSidebar.js +4 -1
  173. package/lib/components/AddSelect/AddSelectSort.js +5 -5
  174. package/lib/components/AddSelect/add-select-utils.js +9 -2
  175. package/lib/components/AddSelect/hooks/useItemSort.js +6 -0
  176. package/lib/components/AddSelect/hooks/useParentSelect.js +6 -0
  177. package/lib/components/AddSelect/hooks/usePath.js +9 -1
  178. package/lib/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +6 -6
  179. package/lib/components/Card/Card.js +16 -6
  180. package/lib/components/Card/CardFooter.js +3 -1
  181. package/lib/components/Card/CardHeader.js +21 -1
  182. package/lib/components/ComboButton/ComboButton.js +3 -3
  183. package/lib/components/CreateFullPage/CreateFullPage.js +4 -1
  184. package/lib/components/CreateTearsheet/CreateTearsheet.js +9 -1
  185. package/lib/components/CreateTearsheetNarrow/CreateTearsheetNarrow.js +2 -2
  186. package/lib/components/DataSpreadsheet/DataSpreadsheet.js +65 -14
  187. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +2 -1
  188. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +7 -0
  189. package/lib/components/DataSpreadsheet/hooks/useMultipleKeyTracking.js +6 -5
  190. package/lib/components/DataSpreadsheet/utils/handleCellDeletion.js +53 -0
  191. package/lib/components/DataSpreadsheet/utils/handleMultipleKeys.js +1 -1
  192. package/lib/components/Datagrid/Datagrid/Datagrid.js +16 -44
  193. package/lib/components/Datagrid/Datagrid/DatagridContent.js +193 -0
  194. package/lib/components/Datagrid/Datagrid/DatagridEmptyBody.js +17 -4
  195. package/lib/components/Datagrid/Datagrid/DatagridExpandedRow.js +9 -1
  196. package/lib/components/Datagrid/Datagrid/DatagridRow.js +45 -5
  197. package/lib/components/Datagrid/Datagrid/DatagridSelectAll.js +12 -3
  198. package/lib/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +16 -5
  199. package/lib/components/Datagrid/Datagrid/DatagridToolbar.js +32 -8
  200. package/lib/components/Datagrid/Datagrid/DatagridVirtualBody.js +33 -9
  201. package/lib/components/Datagrid/Datagrid/DraggableElement.js +7 -3
  202. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Actions.js +12 -47
  203. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/ButtonWrapper.js +5 -2
  204. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +48 -25
  205. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsModal.js +60 -25
  206. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/ModalWrapper.js +3 -2
  207. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +443 -0
  208. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +104 -0
  209. package/lib/components/Datagrid/Datagrid/addons/Filtering/constants.js +35 -0
  210. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useInitialStateFromFilters.js +33 -0
  211. package/lib/components/Datagrid/Datagrid/addons/Filtering/index.js +15 -0
  212. package/lib/components/Datagrid/Datagrid/addons/Filtering/utils.js +47 -0
  213. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +76 -0
  214. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/index.js +13 -0
  215. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +562 -0
  216. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/index.js +13 -0
  217. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/InlineEditContext.js +129 -0
  218. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/getCellIdAsObject.js +36 -0
  219. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/index.js +19 -0
  220. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/returnUpdatedActiveCell.js +45 -0
  221. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridFocus.js +28 -0
  222. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +272 -0
  223. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleMultipleKeys.js +100 -0
  224. package/lib/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.js +17 -13
  225. package/lib/components/Datagrid/Datagrid/addons/RowSize/RowSizeRadioGroup.js +13 -35
  226. package/lib/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/CustomizeColumnStory.js +0 -0
  227. package/lib/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/LeftPanelStory.js +0 -0
  228. package/lib/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/RowSizeDropdownStory.js +0 -0
  229. package/lib/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/SelectAllWithToggleStory.js +0 -0
  230. package/lib/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/StickyActionsColumnStory.js +0 -0
  231. package/lib/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/common.js +0 -0
  232. package/lib/components/Datagrid/{Datagrid.stories-helpers → Datagrid.stories}/index.js +0 -0
  233. package/lib/components/Datagrid/index.js +25 -1
  234. package/lib/components/Datagrid/useActionsColumn.js +28 -13
  235. package/lib/components/Datagrid/useColumnOrder.js +17 -0
  236. package/lib/components/Datagrid/useCustomizeColumns.js +5 -0
  237. package/lib/components/Datagrid/useDefaultStringRenderer.js +5 -1
  238. package/lib/components/Datagrid/useDisableSelectRows.js +6 -2
  239. package/lib/components/Datagrid/useExpandedRow.js +0 -1
  240. package/lib/components/Datagrid/useFiltering.js +94 -0
  241. package/lib/components/Datagrid/useInfiniteScroll.js +5 -2
  242. package/lib/components/Datagrid/useInlineEdit.js +85 -0
  243. package/lib/components/Datagrid/useNestedRowExpander.js +63 -0
  244. package/lib/components/Datagrid/useNestedRows.js +17 -4
  245. package/lib/components/Datagrid/useParentDimensions.js +3 -1
  246. package/lib/components/Datagrid/useRowExpander.js +17 -5
  247. package/lib/components/Datagrid/useRowSize.js +18 -13
  248. package/lib/components/Datagrid/useSelectAllToggle.js +18 -4
  249. package/lib/components/Datagrid/useSelectRows.js +12 -2
  250. package/lib/components/Datagrid/useSortableColumns.js +5 -5
  251. package/lib/components/Datagrid/useStickyColumn.js +11 -0
  252. package/lib/components/Datagrid/utils/DatagridActions.js +248 -0
  253. package/lib/components/Datagrid/utils/DatagridPagination.js +46 -0
  254. package/lib/components/Datagrid/utils/Wrapper.js +33 -0
  255. package/lib/components/Datagrid/utils/getArgTypes.js +102 -0
  256. package/lib/components/Datagrid/utils/getInlineEditColumns.js +173 -0
  257. package/lib/components/Datagrid/utils/makeData.js +57 -3
  258. package/lib/components/EditUpdateCards/EditUpdateCards.js +152 -0
  259. package/lib/components/EditUpdateCards/index.js +13 -0
  260. package/lib/components/ExportModal/ExportModal.js +3 -3
  261. package/lib/components/FilterSummary/FilterSummary.js +72 -0
  262. package/lib/components/FilterSummary/index.js +15 -0
  263. package/lib/components/ImportModal/ImportModal.js +4 -4
  264. package/lib/components/InlineEdit/InlineEdit.js +27 -426
  265. package/lib/components/InlineEditV1/InlineEditV1.js +464 -0
  266. package/lib/components/InlineEditV1/index.js +13 -0
  267. package/lib/components/InlineEditV2/InlineEditV2.js +309 -0
  268. package/lib/components/InlineEditV2/index.js +13 -0
  269. package/lib/components/ModifiedTabs/ModifiedTabLabelNew.js +2 -2
  270. package/lib/components/ModifiedTabs/ModifiedTabLabelWithClose.js +3 -3
  271. package/lib/components/MultiAddSelect/MultiAddSelect.js +14 -7
  272. package/lib/components/NotificationsPanel/NotificationsPanel.js +8 -8
  273. package/lib/components/OptionsTile/OptionsTile.js +34 -17
  274. package/lib/components/PageHeader/PageHeader.js +5 -5
  275. package/lib/components/PageHeader/PageHeaderTitle.js +1 -1
  276. package/lib/components/ProductiveCard/ProductiveCard.js +5 -0
  277. package/lib/components/RemoveModal/RemoveModal.js +20 -3
  278. package/lib/components/Saving/Saving.js +5 -5
  279. package/lib/components/SidePanel/SidePanel.js +48 -53
  280. package/lib/components/SidePanel/motion/variants.js +55 -0
  281. package/lib/components/SingleAddSelect/SingleAddSelect.js +6 -0
  282. package/lib/components/StatusIcon/StatusIcon.js +45 -45
  283. package/lib/components/UserProfileImage/UserProfileImage.js +7 -7
  284. package/lib/components/WebTerminal/WebTerminal.js +3 -3
  285. package/lib/components/WebTerminal/hooks/index.js +6 -0
  286. package/lib/components/WebTerminal/preview-components/Navigation.js +10 -4
  287. package/lib/components/WebTerminal/preview-components/documentationLinks.js +6 -0
  288. package/lib/components/index.js +21 -1
  289. package/lib/global/js/hooks/index.js +9 -1
  290. package/lib/global/js/hooks/useClickOutside.js +1 -1
  291. package/lib/global/js/hooks/useControllableState.js +94 -0
  292. package/lib/global/js/hooks/useResetCreateComponent.js +7 -2
  293. package/lib/global/js/package-settings.js +7 -4
  294. package/lib/global/js/utils/getBezierValues.js +29 -0
  295. package/lib/global/js/utils/getNumberOfHiddenSteps.js +28 -0
  296. package/lib/global/js/utils/motionConstants.js +55 -0
  297. package/lib/global/js/utils/rangeWithCallback.js +22 -0
  298. package/lib/global/js/utils/story-helper.js +5 -1
  299. package/lib/global/js/utils/uuidv4.spec.js +4 -0
  300. package/package.json +18 -16
  301. package/scss/components/ActionSet/_action-set.scss +9 -4
  302. package/scss/components/AddSelect/_add-select.scss +132 -34
  303. package/scss/components/AddSelect/_index.scss +1 -1
  304. package/scss/components/AddSelect/_storybook-styles.scss +1 -1
  305. package/scss/components/Card/_card.scss +1 -0
  306. package/scss/components/Cascade/_cascade.scss +1 -1
  307. package/scss/components/CreateTearsheet/_create-tearsheet.scss +2 -0
  308. package/scss/components/Datagrid/_datagrid.scss +7 -1
  309. package/scss/components/Datagrid/_storybook-styles.scss +29 -5
  310. package/scss/components/Datagrid/styles/_datagrid.scss +105 -18
  311. package/scss/components/Datagrid/styles/_draggableElement.scss +26 -9
  312. package/scss/components/Datagrid/styles/_index.scss +2 -0
  313. package/scss/components/Datagrid/styles/_useActionsColumn.scss +14 -0
  314. package/scss/components/Datagrid/styles/_useExpandedRow.scss +57 -11
  315. package/scss/components/Datagrid/styles/_useInlineEdit.scss +419 -0
  316. package/scss/components/Datagrid/styles/_useNestedRows.scss +33 -1
  317. package/scss/components/Datagrid/styles/_useStickyColumn.scss +31 -2
  318. package/scss/components/Datagrid/styles/addons/_CustomizeColumnsModal.scss +47 -6
  319. package/scss/components/Datagrid/styles/addons/_FilterFlyout.scss +87 -0
  320. package/scss/components/Datagrid/styles/addons/_RowSizeDropdown.scss +9 -1
  321. package/scss/components/EditUpdateCards/_carbon-imports.scss +9 -0
  322. package/scss/components/EditUpdateCards/_edit-update-cards.scss +85 -0
  323. package/scss/components/EditUpdateCards/_index-with-carbon.scss +9 -0
  324. package/scss/components/EditUpdateCards/_index.scss +8 -0
  325. package/scss/components/EditUpdateCards/_storybook-styles.scss +55 -0
  326. package/scss/components/FilterSummary/_filter-summary.scss +20 -0
  327. package/scss/components/FilterSummary/_index.scss +10 -0
  328. package/scss/components/FilterSummary/_storybook-styles.scss +14 -0
  329. package/scss/components/{InlineEdit → InlineEditV1}/_carbon-imports.scss +0 -0
  330. package/scss/components/{InlineEdit → InlineEditV1}/_index-with-carbon.scss +1 -1
  331. package/scss/components/{InlineEdit → InlineEditV1}/_index.scss +1 -1
  332. package/scss/components/{InlineEdit/_inline-edit.scss → InlineEditV1/_inline-edit-v1.scss} +4 -2
  333. package/scss/components/{InlineEdit → InlineEditV1}/_storybook-styles.scss +0 -0
  334. package/scss/components/InlineEditV2/_carbon-imports.scss +9 -0
  335. package/scss/components/InlineEditV2/_index-with-carbon.scss +9 -0
  336. package/scss/components/InlineEditV2/_index.scss +10 -0
  337. package/scss/components/InlineEditV2/_inline-edit-v2.scss +83 -0
  338. package/scss/components/InlineEditV2/_storybook-styles.scss +9 -0
  339. package/scss/components/MultiAddSelect/_multi-add-select.scss +7 -0
  340. package/scss/components/MultiAddSelect/_storybook-styles.scss +1 -1
  341. package/scss/components/NotificationsPanel/_notifications-panel.scss +3 -6
  342. package/scss/components/RemoveModal/_remove-modal.scss +0 -4
  343. package/scss/components/SidePanel/_side-panel.scss +3 -82
  344. package/scss/components/SidePanel/_storybook-styles.scss +6 -1
  345. package/scss/components/SingleAddSelect/_carbon-imports.scss +1 -1
  346. package/scss/components/SingleAddSelect/_index-with-carbon.scss +1 -1
  347. package/scss/components/SingleAddSelect/_index.scss +7 -0
  348. package/scss/components/SingleAddSelect/_single-add-select.scss +7 -0
  349. package/scss/components/SingleAddSelect/_storybook-styles.scss +1 -1
  350. package/scss/components/Tearsheet/_tearsheet.scss +2 -2
  351. package/scss/components/WebTerminal/_carbon-imports.scss +6 -0
  352. package/scss/components/WebTerminal/_index.scss +7 -0
  353. package/scss/components/WebTerminal/_storybook-styles.scss +7 -0
  354. package/scss/components/_index-released-only-with-carbon.scss +1 -1
  355. package/scss/components/_index-released-only.scss +2 -1
  356. package/scss/components/_index-with-carbon.scss +3 -1
  357. package/scss/components/_index.scss +4 -1
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Copyright IBM Corp. 2022, 2022
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
+ import { getBezierValues } from './getBezierValues';
8
+ import { fast01, fast02, moderate01, moderate02, slow01, slow02 } from '@carbon/motion';
9
+
10
+ var cleanMotionValue = function cleanMotionValue(val) {
11
+ return parseInt(val) / 1000;
12
+ };
13
+
14
+ export var DURATIONS = {
15
+ // Micro-interactions such as button and toggle
16
+ fast01: cleanMotionValue(fast01),
17
+ // '70ms'
18
+ // Micro-interactions such as fade
19
+ fast02: cleanMotionValue(fast02),
20
+ // '110ms'
21
+ // Micro-interactions, small expansion, short distance movements
22
+ moderate01: cleanMotionValue(moderate01),
23
+ // '150ms'
24
+ // Expansion, system communication, toast
25
+ moderate02: cleanMotionValue(moderate02),
26
+ // '240ms'
27
+ // Large expansion, important system notifications
28
+ slow01: cleanMotionValue(slow01),
29
+ // '400ms'
30
+ // Background dimming
31
+ slow02: cleanMotionValue(slow02) // '700ms'
32
+
33
+ };
34
+ export var EASINGS = {
35
+ productive: {
36
+ entrance: getBezierValues('entrance', 'productive'),
37
+ standard: getBezierValues('standard', 'productive'),
38
+ exit: getBezierValues('exit', 'productive')
39
+ },
40
+ expressive: {
41
+ entrance: getBezierValues('entrance', 'expressive'),
42
+ standard: getBezierValues('standard', 'expressive'),
43
+ exit: getBezierValues('exit', 'expressive')
44
+ }
45
+ };
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Copyright IBM Corp. 2022, 2022
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
+ // Iterates through a numeric range and calls callback
8
+ // function for each iteration
9
+ export var rangeWithCallback = function rangeWithCallback(start, end, fn) {
10
+ for (var i = start; i <= end; i++) {
11
+ fn(i);
12
+ }
13
+ };
@@ -29,7 +29,11 @@ export var getStoryTitle = function getStoryTitle(componentName) {
29
29
  * @returns The story id.
30
30
  */
31
31
 
32
- export var getStoryId = function getStoryId(componentName, scenario) {
32
+ export var getStoryId = function getStoryId(componentName, scenario, subdirectory) {
33
+ if (subdirectory) {
34
+ return "".concat(sanitize(getStoryTitle(componentName)), "-").concat(sanitize(subdirectory), "--").concat(scenario);
35
+ }
36
+
33
37
  return "".concat(sanitize(getStoryTitle(componentName)), "--").concat(scenario);
34
38
  };
35
39
  /**
@@ -4,11 +4,15 @@ describe('uuidv4', function () {
4
4
  jest.resetAllMocks();
5
5
  });
6
6
  it('Uses Math.random when window is not defined', function () {
7
+ var _window = window,
8
+ crypto = _window.crypto;
9
+ delete window.crypto;
7
10
  var mockMath = Object.create(global.Math);
8
11
  var mockMathRandom = jest.fn().mockReturnValue(0.5);
9
12
  mockMath.random = mockMathRandom;
10
13
  global.Math = mockMath;
11
14
  expect(uuidv4()).toEqual('98888888-9888-4888-a888-988888888888');
15
+ window.crypto = crypto;
12
16
  });
13
17
  it('Uses crypto from window when window is defined', function () {
14
18
  var mGetRandomValues = jest.fn().mockReturnValue(new Uint32Array(10));
@@ -29,7 +29,7 @@ var _classnames = _interopRequireDefault(require("classnames"));
29
29
 
30
30
  var _react2 = require("@carbon/react");
31
31
 
32
- var _iconsReact = require("@carbon/icons-react");
32
+ var _icons = require("@carbon/react/icons");
33
33
 
34
34
  var _APIKeyDownloader = require("./APIKeyDownloader");
35
35
 
@@ -128,7 +128,7 @@ var APIKeyModal = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
128
128
  var hasPreviousStep = hasSteps && currentStep !== 0;
129
129
  var copyButtonProps = {
130
130
  renderIcon: function renderIcon(props) {
131
- return /*#__PURE__*/_react.default.createElement(_iconsReact.Copy, (0, _extends2.default)({
131
+ return /*#__PURE__*/_react.default.createElement(_icons.Copy, (0, _extends2.default)({
132
132
  size: 16
133
133
  }, props));
134
134
  },
@@ -334,13 +334,13 @@ var APIKeyModal = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
334
334
  className: "".concat(blockClass, "__messaging")
335
335
  }, /*#__PURE__*/_react.default.createElement("div", {
336
336
  className: "".concat(blockClass, "__error-icon")
337
- }, /*#__PURE__*/_react.default.createElement(_iconsReact.ErrorFilled, {
337
+ }, /*#__PURE__*/_react.default.createElement(_icons.ErrorFilled, {
338
338
  size: 16
339
339
  })), /*#__PURE__*/_react.default.createElement("p", {
340
340
  className: "".concat(blockClass, "__messaging-text")
341
341
  }, copyError ? copyErrorText : errorText)), apiKeyLoaded && /*#__PURE__*/_react.default.createElement("div", {
342
342
  className: "".concat(blockClass, "__messaging")
343
- }, /*#__PURE__*/_react.default.createElement(_iconsReact.InformationFilled, {
343
+ }, /*#__PURE__*/_react.default.createElement(_icons.InformationFilled, {
344
344
  size: 16
345
345
  }), hasDownloadLink ? /*#__PURE__*/_react.default.createElement(_APIKeyDownloader.APIKeyDownloader, {
346
346
  apiKey: apiKey,
@@ -59,6 +59,7 @@ var ActionBarOverflowItems = function ActionBarOverflowItems(_ref) {
59
59
  var ItemIcon = item.props.renderIcon;
60
60
  return /*#__PURE__*/_react.default.createElement(_react2.OverflowMenuItem, {
61
61
  className: "".concat(blockClass, "__item"),
62
+ onClick: item.props.onClick,
62
63
  itemText: /*#__PURE__*/_react.default.createElement("div", {
63
64
  className: "".concat(blockClass, "__item-content"),
64
65
  "aria-describedby": "".concat(internalId.current, "-").concat(index, "--item-label")
@@ -25,7 +25,7 @@ var _propsHelper = require("../../global/js/utils/props-helper");
25
25
 
26
26
  var _react2 = require("@carbon/react");
27
27
 
28
- var _excluded = ["className", "disabled", "kind", "label", "loading"],
28
+ var _excluded = ["className", "disabled", "kind", "label", "loading", "isExpressive"],
29
29
  _excluded2 = ["actions", "buttonSize", "className", "size"];
30
30
 
31
31
  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; }
@@ -36,15 +36,19 @@ var blockClass = "".concat(_settings.pkg.prefix, "--action-set");
36
36
  var componentName = 'ActionSet'; // NOTE: the component SCSS is not imported here: it is rolled up separately.
37
37
 
38
38
  var ActionSetButton = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
39
+ var _ref2;
40
+
39
41
  var className = _ref.className,
40
42
  disabled = _ref.disabled,
41
43
  kind = _ref.kind,
42
44
  label = _ref.label,
43
45
  loading = _ref.loading,
46
+ _ref$isExpressive = _ref.isExpressive,
47
+ isExpressive = _ref$isExpressive === void 0 ? true : _ref$isExpressive,
44
48
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
45
49
  return /*#__PURE__*/_react.default.createElement(_react2.Button, (0, _extends2.default)({}, rest, {
46
- isExpressive: true,
47
- className: (0, _classnames.default)(className, ["".concat(blockClass, "__action-button"), (0, _defineProperty2.default)({}, "".concat(blockClass, "__action-button--ghost"), kind === 'ghost' || kind === 'danger--ghost')]),
50
+ isExpressive: isExpressive,
51
+ className: (0, _classnames.default)(className, ["".concat(blockClass, "__action-button"), (_ref2 = {}, (0, _defineProperty2.default)(_ref2, "".concat(blockClass, "__action-button--ghost"), kind === 'ghost' || kind === 'danger--ghost'), (0, _defineProperty2.default)(_ref2, "".concat(blockClass, "__action-button--expressive"), isExpressive), _ref2)]),
48
52
  disabled: disabled || loading || false,
49
53
  kind: kind,
50
54
  ref: ref
@@ -21,8 +21,6 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
21
21
 
22
22
  var _AddSelectBody = require("./AddSelectBody");
23
23
 
24
- var _settings = require("../../settings");
25
-
26
24
  var _addSelectUtils = require("./add-select-utils");
27
25
 
28
26
  var _excluded = ["items", "globalFilters"];
@@ -31,7 +29,6 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
31
29
 
32
30
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
33
31
 
34
- var blockClass = "".concat(_settings.pkg.prefix, "--add-select");
35
32
  var componentName = 'AddSelect';
36
33
  var AddSelect = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
37
34
  var items = _ref.items,
@@ -49,7 +46,6 @@ var AddSelect = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
49
46
  }, modifierAttribute, item[modifierAttribute]);
50
47
  }) : [];
51
48
  return /*#__PURE__*/_react.default.createElement(_AddSelectBody.AddSelectBody, (0, _extends2.default)({}, props, {
52
- className: blockClass,
53
49
  ref: ref,
54
50
  items: items,
55
51
  normalizedItems: normalizedItems,
@@ -71,12 +67,14 @@ AddSelect.propTypes = {
71
67
  label: _propTypes.default.string
72
68
  })),
73
69
  globalFiltersIconDescription: _propTypes.default.string,
70
+ globalFiltersLabel: _propTypes.default.string,
74
71
  globalFiltersPlaceholderText: _propTypes.default.string,
75
72
  globalFiltersPrimaryButtonText: _propTypes.default.string,
76
73
  globalFiltersSecondaryButtonText: _propTypes.default.string,
77
74
  globalSearchLabel: _propTypes.default.string.isRequired,
78
75
  globalSearchPlaceholder: _propTypes.default.string,
79
76
  globalSortBy: _propTypes.default.array,
77
+ illustrationTheme: _propTypes.default.oneOf(['light', 'dark']),
80
78
  influencerTitle: _propTypes.default.string,
81
79
  items: _propTypes.default.shape({
82
80
  modifiers: _propTypes.default.shape({
@@ -90,7 +88,8 @@ AddSelect.propTypes = {
90
88
  avatar: _propTypes.default.shape({
91
89
  alt: _propTypes.default.string,
92
90
  icon: _propTypes.default.func,
93
- src: _propTypes.default.string
91
+ src: _propTypes.default.string,
92
+ theme: _propTypes.default.oneOf(['light', 'dark'])
94
93
  }),
95
94
  children: _propTypes.default.object,
96
95
  icon: _propTypes.default.func,
@@ -124,7 +123,7 @@ AddSelect.propTypes = {
124
123
  * portal target for the all tags modal
125
124
  */
126
125
  portalTarget: _propTypes.default.node,
127
- searchResultsLabel: _propTypes.default.string,
126
+ searchResultsTitle: _propTypes.default.string,
128
127
  sortByLabel: _propTypes.default.string,
129
128
  title: _propTypes.default.string.isRequired
130
129
  };
@@ -51,16 +51,19 @@ var _usePath2 = _interopRequireDefault(require("./hooks/usePath"));
51
51
 
52
52
  var _settings = require("../../settings");
53
53
 
54
- var _excluded = ["className", "clearFiltersText", "closeIconDescription", "columnInputPlaceholder", "defaultModifiers", "description", "filterByLabel", "globalFilterOpts", "globalFiltersIconDescription", "globalFiltersPlaceholderText", "globalFiltersPrimaryButtonText", "globalFiltersSecondaryButtonText", "globalSearchLabel", "globalSearchPlaceholder", "globalSortBy", "influencerTitle", "items", "itemsLabel", "metaIconDescription", "metaPanelTitle", "multi", "navIconDescription", "noResultsDescription", "noResultsTitle", "noSelectionDescription", "noSelectionTitle", "normalizedItems", "onClose", "onCloseButtonText", "onSubmit", "onSubmitButtonText", "open", "portalTarget", "searchResultsLabel", "sortByLabel", "title", "useNormalizedItems"];
54
+ var _excluded = ["className", "clearFiltersText", "closeIconDescription", "columnInputPlaceholder", "defaultModifiers", "description", "filterByLabel", "globalFilterOpts", "globalFiltersLabel", "globalFiltersIconDescription", "globalFiltersPlaceholderText", "globalFiltersPrimaryButtonText", "globalFiltersSecondaryButtonText", "globalSearchLabel", "globalSearchPlaceholder", "globalSortBy", "illustrationTheme", "influencerTitle", "items", "itemsLabel", "metaIconDescription", "metaPanelTitle", "multi", "navIconDescription", "noResultsDescription", "noResultsTitle", "noSelectionDescription", "noSelectionTitle", "normalizedItems", "onClose", "onCloseButtonText", "onSubmit", "onSubmitButtonText", "open", "portalTarget", "searchResultsTitle", "title", "useNormalizedItems"];
55
55
 
56
56
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
57
57
 
58
58
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
59
59
 
60
+ 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; }
61
+
62
+ 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) { (0, _defineProperty2.default)(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; }
63
+
60
64
  var blockClass = "".concat(_settings.pkg.prefix, "--add-select");
61
65
  var componentName = 'AddSelectBody';
62
-
63
- var AddSelectBody = function AddSelectBody(_ref) {
66
+ var AddSelectBody = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
64
67
  var _cx, _path$;
65
68
 
66
69
  var className = _ref.className,
@@ -71,6 +74,7 @@ var AddSelectBody = function AddSelectBody(_ref) {
71
74
  description = _ref.description,
72
75
  filterByLabel = _ref.filterByLabel,
73
76
  globalFilterOpts = _ref.globalFilterOpts,
77
+ globalFiltersLabel = _ref.globalFiltersLabel,
74
78
  globalFiltersIconDescription = _ref.globalFiltersIconDescription,
75
79
  globalFiltersPlaceholderText = _ref.globalFiltersPlaceholderText,
76
80
  globalFiltersPrimaryButtonText = _ref.globalFiltersPrimaryButtonText,
@@ -78,6 +82,7 @@ var AddSelectBody = function AddSelectBody(_ref) {
78
82
  globalSearchLabel = _ref.globalSearchLabel,
79
83
  globalSearchPlaceholder = _ref.globalSearchPlaceholder,
80
84
  globalSortBy = _ref.globalSortBy,
85
+ illustrationTheme = _ref.illustrationTheme,
81
86
  influencerTitle = _ref.influencerTitle,
82
87
  items = _ref.items,
83
88
  itemsLabel = _ref.itemsLabel,
@@ -96,8 +101,7 @@ var AddSelectBody = function AddSelectBody(_ref) {
96
101
  onSubmitButtonText = _ref.onSubmitButtonText,
97
102
  open = _ref.open,
98
103
  portalTarget = _ref.portalTarget,
99
- searchResultsLabel = _ref.searchResultsLabel,
100
- sortByLabel = _ref.sortByLabel,
104
+ searchResultsTitle = _ref.searchResultsTitle,
101
105
  title = _ref.title,
102
106
  useNormalizedItems = _ref.useNormalizedItems,
103
107
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
@@ -146,9 +150,28 @@ var AddSelectBody = function AddSelectBody(_ref) {
146
150
  var _usePath = (0, _usePath2.default)(itemsLabel),
147
151
  path = _usePath.path,
148
152
  setPath = _usePath.setPath,
149
- pathOnclick = _usePath.pathOnclick;
153
+ pathOnclick = _usePath.pathOnclick,
154
+ resetPath = _usePath.resetPath;
155
+
156
+ var resetState = function resetState() {
157
+ setSingleSelection('');
158
+ setMultiSelection([]);
159
+ setSearchTerm('');
160
+ setAppliedGlobalFilters({});
161
+ setDisplayMetaPanel({});
162
+ setAppliedModifiers(defaultModifiers);
163
+ setSortAttribute('');
164
+ setSortDirection('');
165
+ setParentSelected(null);
166
+ resetPath();
167
+ };
150
168
 
151
- var classNames = (0, _classnames.default)(className, blockClass, (_cx = {}, (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__single"), !multi), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__multi"), multi), _cx));
169
+ var onCloseHandler = function onCloseHandler() {
170
+ resetState();
171
+ onClose();
172
+ };
173
+
174
+ var tearsheetClassnames = (0, _classnames.default)(className, blockClass, (_cx = {}, (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__single"), !multi), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__multi"), multi), _cx));
152
175
  var globalFilterKeys = Object.keys(appliedGlobalFilters);
153
176
  var globalFiltersApplied = globalFilterKeys.length > 0; // handlers
154
177
 
@@ -173,6 +196,8 @@ var AddSelectBody = function AddSelectBody(_ref) {
173
196
  } else {
174
197
  onSubmit(singleSelection);
175
198
  }
199
+
200
+ onCloseHandler();
176
201
  };
177
202
 
178
203
  var setShowBreadsCrumbs = function setShowBreadsCrumbs() {
@@ -207,6 +232,7 @@ var AddSelectBody = function AddSelectBody(_ref) {
207
232
  var showSort = (searchTerm || globalFiltersApplied) && hasResults;
208
233
  var showTags = setShowTags();
209
234
  var commonListProps = {
235
+ displayMetalPanel: displayMetalPanel,
210
236
  metaIconDescription: metaIconDescription,
211
237
  multi: multi,
212
238
  multiSelection: multiSelection,
@@ -219,28 +245,31 @@ var AddSelectBody = function AddSelectBody(_ref) {
219
245
  setDisplayMetaPanel: setDisplayMetaPanel,
220
246
  parentId: path[0].id
221
247
  };
222
- var commonTearsheetProps = {
223
- className: classNames,
248
+
249
+ var commonTearsheetProps = _objectSpread(_objectSpread({}, rest), {}, {
250
+ className: tearsheetClassnames,
224
251
  open: open,
225
252
  title: title,
226
253
  description: description,
227
- closeIconDescription: 'temp description',
228
254
  actions: [{
229
255
  label: onCloseButtonText,
230
256
  kind: 'secondary',
231
- onClick: onClose
257
+ onClick: onCloseHandler
232
258
  }, {
233
259
  label: onSubmitButtonText,
234
260
  kind: 'primary',
235
261
  onClick: submitHandler,
236
262
  disabled: multi ? multiSelection.length === 0 : !singleSelection
237
263
  }],
238
- portalTarget: portalTarget
239
- };
264
+ portalTarget: portalTarget,
265
+ ref: ref
266
+ });
267
+
240
268
  var sidebarProps = {
241
269
  appliedModifiers: appliedModifiers,
242
270
  closeIconDescription: closeIconDescription,
243
271
  displayMetalPanel: displayMetalPanel,
272
+ illustrationTheme: illustrationTheme,
244
273
  influencerTitle: influencerTitle,
245
274
  items: useNormalizedItems ? normalizedItems : items.entries,
246
275
  metaPanelTitle: metaPanelTitle,
@@ -261,6 +290,7 @@ var AddSelectBody = function AddSelectBody(_ref) {
261
290
  handleSearch: handleSearch,
262
291
  multi: multi,
263
292
  filterOpts: globalFilterOpts,
293
+ filtersLabel: globalFiltersLabel,
264
294
  handleFilter: handleFilter,
265
295
  primaryButtonText: globalFiltersPrimaryButtonText,
266
296
  secondaryButtonText: globalFiltersSecondaryButtonText,
@@ -270,15 +300,16 @@ var AddSelectBody = function AddSelectBody(_ref) {
270
300
  hasFiltersApplied: globalFiltersApplied,
271
301
  clearFiltersText: clearFiltersText
272
302
  }), /*#__PURE__*/_react.default.createElement("div", {
273
- className: "".concat(blockClass, "__sub-header")
303
+ className: (0, _classnames.default)("".concat(blockClass, "__sub-header"), (0, _defineProperty2.default)({}, "".concat(blockClass, "__sub-header-multi"), multi))
274
304
  }, /*#__PURE__*/_react.default.createElement("div", {
275
- className: "".concat(blockClass, "__tag-container")
305
+ className: "".concat(blockClass, "__tags")
276
306
  }, showBreadsCrumbs ? /*#__PURE__*/_react.default.createElement(_AddSelectBreadcrumbs.AddSelectBreadcrumbs, {
277
307
  path: path,
278
- onClick: pathOnclick
308
+ onClick: pathOnclick,
309
+ multi: multi
279
310
  }) : /*#__PURE__*/_react.default.createElement("p", {
280
- className: "".concat(blockClass, "__tag-container-label")
281
- }, searchTerm ? searchResultsLabel : itemsLabel), showTags && /*#__PURE__*/_react.default.createElement(_react2.Tag, {
311
+ className: "".concat(blockClass, "__tags-label")
312
+ }, searchTerm ? searchResultsTitle : itemsLabel), showTags && /*#__PURE__*/_react.default.createElement(_react2.Tag, {
282
313
  type: "gray",
283
314
  size: "sm"
284
315
  }, itemsToDisplay.length)), showSort && /*#__PURE__*/_react.default.createElement(_AddSelectSort.AddSelectSort, {
@@ -287,8 +318,7 @@ var AddSelectBody = function AddSelectBody(_ref) {
287
318
  setSortDirection: setSortDirection,
288
319
  sortAttribute: sortAttribute,
289
320
  sortDirection: sortDirection,
290
- sortBy: globalSortBy,
291
- sortByLabel: sortByLabel
321
+ sortBy: globalSortBy
292
322
  }))), displayColumnView ? /*#__PURE__*/_react.default.createElement("div", {
293
323
  className: "".concat(blockClass, "__columns")
294
324
  }, /*#__PURE__*/_react.default.createElement(_AddSelectColumn.AddSelectColumn, (0, _extends2.default)({}, commonListProps, {
@@ -308,15 +338,19 @@ var AddSelectBody = function AddSelectBody(_ref) {
308
338
  className: "".concat(blockClass, "__body")
309
339
  }, /*#__PURE__*/_react.default.createElement(_NoDataEmptyState.NoDataEmptyState, {
310
340
  subtitle: noResultsDescription,
311
- title: noResultsTitle
341
+ title: noResultsTitle,
342
+ illustrationTheme: illustrationTheme
312
343
  }))));
313
344
 
314
- return /*#__PURE__*/_react.default.createElement("div", rest, multi ? /*#__PURE__*/_react.default.createElement(_Tearsheet.Tearsheet, (0, _extends2.default)({}, commonTearsheetProps, {
315
- influencer: multi && /*#__PURE__*/_react.default.createElement(_AddSelectSidebar.AddSelectSidebar, sidebarProps),
316
- influencerPosition: "right"
317
- }), body) : /*#__PURE__*/_react.default.createElement(_Tearsheet.TearsheetNarrow, commonTearsheetProps, body));
318
- };
345
+ if (multi) {
346
+ return /*#__PURE__*/_react.default.createElement(_Tearsheet.Tearsheet, (0, _extends2.default)({}, commonTearsheetProps, {
347
+ influencer: multi && /*#__PURE__*/_react.default.createElement(_AddSelectSidebar.AddSelectSidebar, sidebarProps),
348
+ influencerPosition: "right"
349
+ }), body);
350
+ }
319
351
 
352
+ return /*#__PURE__*/_react.default.createElement(_Tearsheet.TearsheetNarrow, commonTearsheetProps, body);
353
+ });
320
354
  exports.AddSelectBody = AddSelectBody;
321
355
  AddSelectBody.propTypes = {
322
356
  className: _propTypes.default.string,
@@ -328,12 +362,14 @@ AddSelectBody.propTypes = {
328
362
  filterByLabel: _propTypes.default.string,
329
363
  globalFilterOpts: _propTypes.default.array,
330
364
  globalFiltersIconDescription: _propTypes.default.string,
365
+ globalFiltersLabel: _propTypes.default.string,
331
366
  globalFiltersPlaceholderText: _propTypes.default.string,
332
367
  globalFiltersPrimaryButtonText: _propTypes.default.string,
333
368
  globalFiltersSecondaryButtonText: _propTypes.default.string,
334
369
  globalSearchLabel: _propTypes.default.string.isRequired,
335
370
  globalSearchPlaceholder: _propTypes.default.string,
336
371
  globalSortBy: _propTypes.default.array,
372
+ illustrationTheme: _propTypes.default.oneOf(['light', 'dark']),
337
373
  influencerTitle: _propTypes.default.string,
338
374
  items: _propTypes.default.shape({
339
375
  modifiers: _propTypes.default.shape({
@@ -346,11 +382,12 @@ AddSelectBody.propTypes = {
346
382
  entries: _propTypes.default.arrayOf(_propTypes.default.shape({
347
383
  avatar: _propTypes.default.shape({
348
384
  alt: _propTypes.default.string,
349
- icon: _propTypes.default.func,
350
- src: _propTypes.default.string
385
+ icon: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
386
+ src: _propTypes.default.string,
387
+ theme: _propTypes.default.oneOf(['light', 'dark'])
351
388
  }),
352
389
  children: _propTypes.default.object,
353
- icon: _propTypes.default.func,
390
+ icon: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
354
391
  id: _propTypes.default.string.isRequired,
355
392
  meta: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.shape({
356
393
  id: _propTypes.default.string,
@@ -378,7 +415,7 @@ AddSelectBody.propTypes = {
378
415
  onSubmitButtonText: _propTypes.default.string,
379
416
  open: _propTypes.default.bool,
380
417
  portalTarget: _propTypes.default.node,
381
- searchResultsLabel: _propTypes.default.string,
418
+ searchResultsTitle: _propTypes.default.string,
382
419
  sortByLabel: _propTypes.default.string,
383
420
  title: _propTypes.default.string,
384
421
  useNormalizedItems: _propTypes.default.bool
@@ -7,30 +7,40 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.AddSelectBreadcrumbs = void 0;
9
9
 
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
10
12
  var _react = _interopRequireDefault(require("react"));
11
13
 
12
14
  var _react2 = require("@carbon/react");
13
15
 
14
16
  var _propTypes = _interopRequireDefault(require("prop-types"));
15
17
 
18
+ var _classnames = _interopRequireDefault(require("classnames"));
19
+
20
+ var _settings = require("../../settings");
21
+
16
22
  //
17
- // Copyright IBM Corp. 2022
23
+ // Copyright IBM Corp. 2022, 2022
18
24
  //
19
25
  // This source code is licensed under the Apache-2.0 license found in the
20
26
  // LICENSE file in the root directory of this source tree.
21
27
  //
28
+ var blockClass = "".concat(_settings.pkg.prefix, "--add-select__breadcrumbs");
22
29
  var componentName = 'AddSelectBreadcrumbs';
23
30
 
24
31
  var AddSelectBreadcrumbs = function AddSelectBreadcrumbs(_ref) {
25
- var path = _ref.path,
26
- onClick = _ref.onClick;
32
+ var multi = _ref.multi,
33
+ onClick = _ref.onClick,
34
+ path = _ref.path;
27
35
 
28
36
  var clickHandler = function clickHandler(idx) {
29
37
  onClick(idx);
30
38
  };
31
39
 
40
+ var classNames = (0, _classnames.default)(blockClass, (0, _defineProperty2.default)({}, "".concat(blockClass, "-multi"), multi));
32
41
  return /*#__PURE__*/_react.default.createElement(_react2.Breadcrumb, {
33
- noTrailingSlash: true
42
+ noTrailingSlash: true,
43
+ className: classNames
34
44
  }, path.map(function (entry, idx) {
35
45
  var isCurrentPage = idx === path.length - 1;
36
46
  return /*#__PURE__*/_react.default.createElement(_react2.BreadcrumbItem, {
@@ -45,6 +55,7 @@ var AddSelectBreadcrumbs = function AddSelectBreadcrumbs(_ref) {
45
55
 
46
56
  exports.AddSelectBreadcrumbs = AddSelectBreadcrumbs;
47
57
  AddSelectBreadcrumbs.propTypes = {
58
+ multi: _propTypes.default.bool,
48
59
  onClick: _propTypes.default.func,
49
60
  path: _propTypes.default.array
50
61
  };
@@ -23,7 +23,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
23
23
 
24
24
  var _react2 = require("@carbon/react");
25
25
 
26
- var _iconsReact = require("@carbon/icons-react");
26
+ var _icons = require("@carbon/react/icons");
27
27
 
28
28
  var _settings = require("../../settings");
29
29
 
@@ -189,16 +189,16 @@ var AddSelectColumn = function AddSelectColumn(_ref) {
189
189
  className: colClass
190
190
  }, /*#__PURE__*/_react.default.createElement("div", {
191
191
  className: "".concat(colClass, "-search-bar")
192
- }, /*#__PURE__*/_react.default.createElement(_react2.TextInput, {
192
+ }, /*#__PURE__*/_react.default.createElement(_react2.Search, {
193
193
  value: searchTerm,
194
194
  onChange: function onChange(e) {
195
195
  return setSearchTerm(e.target.value);
196
196
  },
197
- light: true,
198
197
  placeholder: columnInputPlaceholder,
199
198
  className: "".concat(colClass, "-input"),
200
199
  id: (0, _uuidv.default)(),
201
- labelText: columnInputPlaceholder
200
+ labelText: columnInputPlaceholder,
201
+ size: "md"
202
202
  }), /*#__PURE__*/_react.default.createElement("div", {
203
203
  className: "".concat(colClass, "-sort-filter")
204
204
  }, /*#__PURE__*/_react.default.createElement(_AddSelectSort.AddSelectSort, {
@@ -210,7 +210,7 @@ var AddSelectColumn = function AddSelectColumn(_ref) {
210
210
  sortBy: sortBy
211
211
  }), filterByOpts.length > 0 && /*#__PURE__*/_react.default.createElement(_react2.OverflowMenu, {
212
212
  renderIcon: function renderIcon(props) {
213
- return /*#__PURE__*/_react.default.createElement(_iconsReact.Filter, (0, _extends2.default)({
213
+ return /*#__PURE__*/_react.default.createElement(_icons.Filter, (0, _extends2.default)({
214
214
  size: 32
215
215
  }, props));
216
216
  },
@@ -235,14 +235,14 @@ var AddSelectColumn = function AddSelectColumn(_ref) {
235
235
  }) ? true : false
236
236
  })));
237
237
  })))), /*#__PURE__*/_react.default.createElement("div", {
238
- className: "".concat(blockClass, "__tag-container")
238
+ className: "".concat(blockClass, "__tags")
239
239
  }, /*#__PURE__*/_react.default.createElement(_react2.Checkbox, {
240
240
  id: "".concat((0, _uuidv.default)(), "-select-all"),
241
241
  className: "".concat(colClass, "__select-all"),
242
242
  checked: allSelected,
243
243
  onChange: selectAllHandler,
244
244
  labelText: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", {
245
- className: "".concat(blockClass, "__tag-container-label")
245
+ className: "".concat(blockClass, "__tag-label")
246
246
  }, header), /*#__PURE__*/_react.default.createElement(_react2.Tag, {
247
247
  type: "gray",
248
248
  size: "sm"
@@ -23,7 +23,7 @@ var _classnames = _interopRequireDefault(require("classnames"));
23
23
 
24
24
  var _propTypes = _interopRequireDefault(require("prop-types"));
25
25
 
26
- var _iconsReact = require("@carbon/icons-react");
26
+ var _icons = require("@carbon/react/icons");
27
27
 
28
28
  var _settings = require("../../settings");
29
29
 
@@ -42,6 +42,7 @@ var AddSelectFilter = function AddSelectFilter(_ref) {
42
42
  var appliedFilters = _ref.appliedFilters,
43
43
  clearFiltersText = _ref.clearFiltersText,
44
44
  filterOpts = _ref.filterOpts,
45
+ filtersLabel = _ref.filtersLabel,
45
46
  handleFilter = _ref.handleFilter,
46
47
  handleSearch = _ref.handleSearch,
47
48
  hasFiltersApplied = _ref.hasFiltersApplied,
@@ -112,15 +113,15 @@ var AddSelectFilter = function AddSelectFilter(_ref) {
112
113
  var dirtyInput = Object.keys(filters).length > 0;
113
114
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
114
115
  className: "".concat(blockClass, "-search")
115
- }, /*#__PURE__*/_react.default.createElement(_react2.TextInput, {
116
- id: "temp-id",
116
+ }, /*#__PURE__*/_react.default.createElement(_react2.Search, {
117
+ id: "add-select-global-search-filter",
117
118
  labelText: inputLabel,
118
119
  placeholder: inputPlaceholder,
119
120
  value: searchTerm,
120
121
  onChange: searchHandler
121
122
  }), showFilter && /*#__PURE__*/_react.default.createElement(_react2.Button, {
122
123
  renderIcon: function renderIcon(props) {
123
- return /*#__PURE__*/_react.default.createElement(_iconsReact.Filter, (0, _extends2.default)({
124
+ return /*#__PURE__*/_react.default.createElement(_icons.Filter, (0, _extends2.default)({
124
125
  size: 16
125
126
  }, props));
126
127
  },
@@ -131,12 +132,13 @@ var AddSelectFilter = function AddSelectFilter(_ref) {
131
132
  },
132
133
  iconDescription: iconDescription,
133
134
  className: filterBtnClassnames,
134
- size: "md"
135
+ size: "lg",
136
+ tooltipPosition: "left"
135
137
  }), open && /*#__PURE__*/_react.default.createElement("div", {
136
138
  className: blockClass
137
139
  }, /*#__PURE__*/_react.default.createElement("div", {
138
140
  className: "".concat(blockClass, "-content")
139
- }, /*#__PURE__*/_react.default.createElement("p", null, "Filters"), /*#__PURE__*/_react.default.createElement("div", {
141
+ }, /*#__PURE__*/_react.default.createElement("p", null, filtersLabel), /*#__PURE__*/_react.default.createElement("div", {
140
142
  className: "".concat(blockClass, "-opts")
141
143
  }, filterOpts.map(function (filterOpts) {
142
144
  return /*#__PURE__*/_react.default.createElement(_react2.Dropdown, {
@@ -187,6 +189,7 @@ AddSelectFilter.propTypes = {
187
189
  appliedFilters: _propTypes.default.object,
188
190
  clearFiltersText: _propTypes.default.string,
189
191
  filterOpts: _propTypes.default.array,
192
+ filtersLabel: _propTypes.default.string,
190
193
  handleFilter: _propTypes.default.func,
191
194
  handleSearch: _propTypes.default.func,
192
195
  hasFiltersApplied: _propTypes.default.bool,