@carbon/ibm-products 1.11.2 → 1.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (238) hide show
  1. package/README.md +0 -3
  2. package/css/components/Datagrid/styles/addons/CustomizeColumnsModal.css +47 -0
  3. package/css/components/Datagrid/styles/addons/CustomizeColumnsModal.css.map +1 -0
  4. package/css/components/Datagrid/styles/addons/RowSizeDropdown.css +20 -0
  5. package/css/components/Datagrid/styles/addons/RowSizeDropdown.css.map +1 -0
  6. package/css/components/Datagrid/styles/datagrid.css +264 -0
  7. package/css/components/Datagrid/styles/datagrid.css.map +1 -0
  8. package/css/components/Datagrid/styles/index.css +509 -0
  9. package/css/components/Datagrid/styles/index.css.map +1 -0
  10. package/css/components/Datagrid/styles/useActionsColumn.css +23 -0
  11. package/css/components/Datagrid/styles/useActionsColumn.css.map +1 -0
  12. package/css/components/Datagrid/styles/useColumnRightAlign.css +28 -0
  13. package/css/components/Datagrid/styles/useColumnRightAlign.css.map +1 -0
  14. package/css/components/Datagrid/styles/useNestedRows.css +15 -0
  15. package/css/components/Datagrid/styles/useNestedRows.css.map +1 -0
  16. package/css/components/Datagrid/styles/useNestedTable.css +25 -0
  17. package/css/components/Datagrid/styles/useNestedTable.css.map +1 -0
  18. package/css/components/Datagrid/styles/useSelectAllToggle.css +28 -0
  19. package/css/components/Datagrid/styles/useSelectAllToggle.css.map +1 -0
  20. package/css/components/Datagrid/styles/useSortableColumns.css +50 -0
  21. package/css/components/Datagrid/styles/useSortableColumns.css.map +1 -0
  22. package/css/components/Datagrid/styles/useStickyColumn.css +35 -0
  23. package/css/components/Datagrid/styles/useStickyColumn.css.map +1 -0
  24. package/css/index-full-carbon.css +2019 -376
  25. package/css/index-full-carbon.css.map +1 -1
  26. package/css/index-full-carbon.min.css +6 -6
  27. package/css/index-full-carbon.min.css.map +1 -1
  28. package/css/index-without-carbon-released-only.css +18 -6
  29. package/css/index-without-carbon-released-only.css.map +1 -1
  30. package/css/index-without-carbon-released-only.min.css +2 -2
  31. package/css/index-without-carbon-released-only.min.css.map +1 -1
  32. package/css/index-without-carbon.css +679 -19
  33. package/css/index-without-carbon.css.map +1 -1
  34. package/css/index-without-carbon.min.css +5 -5
  35. package/css/index-without-carbon.min.css.map +1 -1
  36. package/css/index.css +679 -19
  37. package/css/index.css.map +1 -1
  38. package/css/index.min.css +6 -6
  39. package/css/index.min.css.map +1 -1
  40. package/es/components/ActionBar/ActionBar.js +3 -1
  41. package/es/components/ActionBar/ActionBarOverflowItems.js +5 -3
  42. package/es/components/AddSelect/AddSelect.js +133 -30
  43. package/es/components/AddSelect/AddSelectColumn.js +0 -1
  44. package/es/components/AddSelect/AddSelectFilter.js +129 -0
  45. package/es/components/AddSelect/AddSelectList.js +59 -13
  46. package/es/components/AddSelect/AddSelectSidebar.js +15 -5
  47. package/es/components/AddSelect/add-select-utils.js +30 -0
  48. package/es/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +2 -0
  49. package/es/components/DataSpreadsheet/DataSpreadsheet.js +262 -164
  50. package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +191 -51
  51. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.js +65 -13
  52. package/es/components/DataSpreadsheet/hooks/index.js +10 -0
  53. package/es/components/DataSpreadsheet/hooks/useMultipleKeyTracking.js +111 -0
  54. package/es/components/DataSpreadsheet/hooks/useResetSpreadsheetFocus.js +2 -4
  55. package/es/components/DataSpreadsheet/hooks/useSpreadsheetOutsideClick.js +6 -6
  56. package/es/components/DataSpreadsheet/utils/handleHeaderCellSelection.js +3 -1
  57. package/es/components/DataSpreadsheet/utils/handleMultipleKeys.js +80 -6
  58. package/es/components/Datagrid/Datagrid/Datagrid.js +70 -0
  59. package/es/components/Datagrid/Datagrid/DatagridBody.js +36 -0
  60. package/es/components/Datagrid/Datagrid/DatagridEmptyBody.js +19 -0
  61. package/es/components/Datagrid/Datagrid/DatagridExpandedRow.js +26 -0
  62. package/es/components/Datagrid/Datagrid/DatagridHead.js +31 -0
  63. package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +57 -0
  64. package/es/components/Datagrid/Datagrid/DatagridRefBody.js +37 -0
  65. package/es/components/Datagrid/Datagrid/DatagridRow.js +50 -0
  66. package/es/components/Datagrid/Datagrid/DatagridSelectAll.js +50 -0
  67. package/es/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +122 -0
  68. package/es/components/Datagrid/Datagrid/DatagridSimpleBody.js +36 -0
  69. package/es/components/Datagrid/Datagrid/DatagridToolbar.js +22 -0
  70. package/es/components/Datagrid/Datagrid/DatagridVirtualBody.js +87 -0
  71. package/es/components/Datagrid/Datagrid/DraggableElement.js +188 -0
  72. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/Actions.js +78 -0
  73. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/ButtonWrapper.js +51 -0
  74. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +140 -0
  75. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsModal.js +157 -0
  76. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/ModalWrapper.js +62 -0
  77. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/common.js +13 -0
  78. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/index.js +9 -0
  79. package/es/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.js +62 -0
  80. package/es/components/Datagrid/Datagrid/addons/RowSize/RowSizeRadioGroup.js +139 -0
  81. package/es/components/Datagrid/Datagrid/addons/RowSize/index.js +8 -0
  82. package/es/components/Datagrid/Datagrid/index.js +8 -0
  83. package/es/components/Datagrid/Datagrid.stories/CustomizeColumnStory.js +6 -0
  84. package/es/components/Datagrid/Datagrid.stories/LeftPanelStory.js +6 -0
  85. package/es/components/Datagrid/Datagrid.stories/RowSizeDropdownStory.js +6 -0
  86. package/es/components/Datagrid/Datagrid.stories/SelectAllWithToggleStory.js +6 -0
  87. package/es/components/Datagrid/Datagrid.stories/StickyActionsColumnStory.js +92 -0
  88. package/es/components/Datagrid/Datagrid.stories/common.js +199 -0
  89. package/es/components/Datagrid/Datagrid.stories/index.js +5 -0
  90. package/es/components/Datagrid/common-column-ids.js +8 -0
  91. package/es/components/Datagrid/index.js +22 -0
  92. package/es/components/Datagrid/useActionsColumn.js +86 -0
  93. package/es/components/Datagrid/useColumnRightAlign.js +52 -0
  94. package/es/components/Datagrid/useCustomizeColumns.js +45 -0
  95. package/es/components/Datagrid/useDatagrid.js +44 -0
  96. package/es/components/Datagrid/useDefaultStringRenderer.js +48 -0
  97. package/es/components/Datagrid/useDisableSelectRows.js +84 -0
  98. package/es/components/Datagrid/useExpandedRow.js +52 -0
  99. package/es/components/Datagrid/useFlexResize.js +51 -0
  100. package/es/components/Datagrid/useFloatingScroll.js +88 -0
  101. package/es/components/Datagrid/useInfiniteScroll.js +54 -0
  102. package/es/components/Datagrid/useNestedRows.js +53 -0
  103. package/es/components/Datagrid/useOnRowClick.js +37 -0
  104. package/es/components/Datagrid/useParentDimensions.js +65 -0
  105. package/es/components/Datagrid/useResizeTable.js +40 -0
  106. package/es/components/Datagrid/useRowExpander.js +34 -0
  107. package/es/components/Datagrid/useRowIsMouseOver.js +61 -0
  108. package/es/components/Datagrid/useRowRenderer.js +30 -0
  109. package/es/components/Datagrid/useRowSize.js +56 -0
  110. package/es/components/Datagrid/useSelectAllToggle.js +74 -0
  111. package/es/components/Datagrid/useSelectRows.js +107 -0
  112. package/es/components/Datagrid/useSkeletonRows.js +32 -0
  113. package/es/components/Datagrid/useSortableColumns.js +110 -0
  114. package/es/components/Datagrid/useStickyColumn.js +183 -0
  115. package/es/components/HTTPErrors/assets/HTTPErrorSvg403.js +2 -3
  116. package/es/components/HTTPErrors/assets/HTTPErrorSvg404.js +2 -3
  117. package/es/components/HTTPErrors/assets/HTTPErrorSvgOther.js +2 -3
  118. package/es/components/ImportModal/ImportModal.js +2 -2
  119. package/es/components/TagSet/TagSet.js +12 -3
  120. package/es/components/UserProfileImage/UserProfileImage.js +38 -10
  121. package/es/components/index.js +2 -1
  122. package/es/global/js/package-settings.js +2 -1
  123. package/lib/components/ActionBar/ActionBar.js +3 -1
  124. package/lib/components/ActionBar/ActionBarOverflowItems.js +5 -3
  125. package/lib/components/AddSelect/AddSelect.js +132 -28
  126. package/lib/components/AddSelect/AddSelectColumn.js +0 -1
  127. package/lib/components/AddSelect/AddSelectFilter.js +147 -0
  128. package/lib/components/AddSelect/AddSelectList.js +61 -12
  129. package/lib/components/AddSelect/AddSelectSidebar.js +15 -11
  130. package/lib/components/AddSelect/add-select-utils.js +35 -2
  131. package/lib/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +2 -0
  132. package/lib/components/DataSpreadsheet/DataSpreadsheet.js +267 -168
  133. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +191 -57
  134. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +67 -18
  135. package/lib/components/DataSpreadsheet/hooks/index.js +37 -0
  136. package/lib/components/DataSpreadsheet/hooks/useMultipleKeyTracking.js +123 -0
  137. package/lib/components/DataSpreadsheet/hooks/useResetSpreadsheetFocus.js +2 -4
  138. package/lib/components/DataSpreadsheet/hooks/useSpreadsheetOutsideClick.js +6 -5
  139. package/lib/components/DataSpreadsheet/utils/handleHeaderCellSelection.js +3 -1
  140. package/lib/components/DataSpreadsheet/utils/handleMultipleKeys.js +83 -7
  141. package/lib/components/Datagrid/Datagrid/Datagrid.js +86 -0
  142. package/lib/components/Datagrid/Datagrid/DatagridBody.js +50 -0
  143. package/lib/components/Datagrid/Datagrid/DatagridEmptyBody.js +31 -0
  144. package/lib/components/Datagrid/Datagrid/DatagridExpandedRow.js +38 -0
  145. package/lib/components/Datagrid/Datagrid/DatagridHead.js +43 -0
  146. package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +73 -0
  147. package/lib/components/Datagrid/Datagrid/DatagridRefBody.js +44 -0
  148. package/lib/components/Datagrid/Datagrid/DatagridRow.js +56 -0
  149. package/lib/components/Datagrid/Datagrid/DatagridSelectAll.js +55 -0
  150. package/lib/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +139 -0
  151. package/lib/components/Datagrid/Datagrid/DatagridSimpleBody.js +44 -0
  152. package/lib/components/Datagrid/Datagrid/DatagridToolbar.js +35 -0
  153. package/lib/components/Datagrid/Datagrid/DatagridVirtualBody.js +101 -0
  154. package/lib/components/Datagrid/Datagrid/DraggableElement.js +210 -0
  155. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Actions.js +92 -0
  156. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/ButtonWrapper.js +65 -0
  157. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +166 -0
  158. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsModal.js +173 -0
  159. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/ModalWrapper.js +73 -0
  160. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/common.js +25 -0
  161. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/index.js +23 -0
  162. package/lib/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.js +80 -0
  163. package/lib/components/Datagrid/Datagrid/addons/RowSize/RowSizeRadioGroup.js +160 -0
  164. package/lib/components/Datagrid/Datagrid/addons/RowSize/index.js +15 -0
  165. package/lib/components/Datagrid/Datagrid/index.js +15 -0
  166. package/lib/components/Datagrid/Datagrid.stories/CustomizeColumnStory.js +13 -0
  167. package/lib/components/Datagrid/Datagrid.stories/LeftPanelStory.js +13 -0
  168. package/lib/components/Datagrid/Datagrid.stories/RowSizeDropdownStory.js +13 -0
  169. package/lib/components/Datagrid/Datagrid.stories/SelectAllWithToggleStory.js +13 -0
  170. package/lib/components/Datagrid/Datagrid.stories/StickyActionsColumnStory.js +112 -0
  171. package/lib/components/Datagrid/Datagrid.stories/common.js +215 -0
  172. package/lib/components/Datagrid/Datagrid.stories/index.js +47 -0
  173. package/lib/components/Datagrid/common-column-ids.js +16 -0
  174. package/lib/components/Datagrid/index.js +127 -0
  175. package/lib/components/Datagrid/useActionsColumn.js +94 -0
  176. package/lib/components/Datagrid/useColumnRightAlign.js +59 -0
  177. package/lib/components/Datagrid/useCustomizeColumns.js +55 -0
  178. package/lib/components/Datagrid/useDatagrid.js +58 -0
  179. package/lib/components/Datagrid/useDefaultStringRenderer.js +54 -0
  180. package/lib/components/Datagrid/useDisableSelectRows.js +92 -0
  181. package/lib/components/Datagrid/useExpandedRow.js +58 -0
  182. package/lib/components/Datagrid/useFlexResize.js +61 -0
  183. package/lib/components/Datagrid/useFloatingScroll.js +101 -0
  184. package/lib/components/Datagrid/useInfiniteScroll.js +67 -0
  185. package/lib/components/Datagrid/useNestedRows.js +65 -0
  186. package/lib/components/Datagrid/useOnRowClick.js +45 -0
  187. package/lib/components/Datagrid/useParentDimensions.js +75 -0
  188. package/lib/components/Datagrid/useResizeTable.js +48 -0
  189. package/lib/components/Datagrid/useRowExpander.js +45 -0
  190. package/lib/components/Datagrid/useRowIsMouseOver.js +66 -0
  191. package/lib/components/Datagrid/useRowRenderer.js +40 -0
  192. package/lib/components/Datagrid/useRowSize.js +67 -0
  193. package/lib/components/Datagrid/useSelectAllToggle.js +88 -0
  194. package/lib/components/Datagrid/useSelectRows.js +119 -0
  195. package/lib/components/Datagrid/useSkeletonRows.js +42 -0
  196. package/lib/components/Datagrid/useSortableColumns.js +117 -0
  197. package/lib/components/Datagrid/useStickyColumn.js +190 -0
  198. package/lib/components/HTTPErrors/assets/HTTPErrorSvg403.js +2 -3
  199. package/lib/components/HTTPErrors/assets/HTTPErrorSvg404.js +2 -3
  200. package/lib/components/HTTPErrors/assets/HTTPErrorSvgOther.js +2 -3
  201. package/lib/components/ImportModal/ImportModal.js +1 -1
  202. package/lib/components/TagSet/TagSet.js +12 -3
  203. package/lib/components/UserProfileImage/UserProfileImage.js +38 -10
  204. package/lib/components/index.js +9 -1
  205. package/lib/global/js/package-settings.js +2 -1
  206. package/package.json +19 -15
  207. package/scss/components/AboutModal/_about-modal.scss +2 -2
  208. package/scss/components/ActionSet/_action-set.scss +3 -1
  209. package/scss/components/AddSelect/_add-select.scss +87 -3
  210. package/scss/components/CreateModal/_create-modal.scss +7 -5
  211. package/scss/components/CreateModal/_storybook-styles.scss +8 -7
  212. package/scss/components/DataSpreadsheet/_data-spreadsheet.scss +70 -10
  213. package/scss/components/Datagrid/_datagrid.scss +66 -0
  214. package/scss/components/Datagrid/_index.scss +8 -0
  215. package/scss/components/Datagrid/_storybook-styles.scss +26 -0
  216. package/scss/components/Datagrid/styles/_variables.scss +9 -0
  217. package/scss/components/Datagrid/styles/addons/CustomizeColumnsModal.scss +48 -0
  218. package/scss/components/Datagrid/styles/addons/RowSizeDropdown.scss +23 -0
  219. package/scss/components/Datagrid/styles/datagrid.scss +318 -0
  220. package/scss/components/Datagrid/styles/index.scss +17 -0
  221. package/scss/components/Datagrid/styles/useActionsColumn.scss +24 -0
  222. package/scss/components/Datagrid/styles/useColumnRightAlign.scss +29 -0
  223. package/scss/components/Datagrid/styles/useNestedRows.scss +17 -0
  224. package/scss/components/Datagrid/styles/useNestedTable.scss +28 -0
  225. package/scss/components/Datagrid/styles/useSelectAllToggle.scss +28 -0
  226. package/scss/components/Datagrid/styles/useSortableColumns.scss +55 -0
  227. package/scss/components/Datagrid/styles/useStickyColumn.scss +38 -0
  228. package/scss/components/ExportModal/_export-modal.scss +3 -3
  229. package/scss/components/HTTPErrors/_http-errors.scss +16 -16
  230. package/scss/components/InlineEdit/_inline-edit.scss +0 -1
  231. package/scss/components/ModifiedTabs/_modified-tabs.scss +0 -10
  232. package/scss/components/NotificationsPanel/_notifications-panel.scss +3 -3
  233. package/scss/components/OptionsTile/_options-tile.scss +0 -1
  234. package/scss/components/PageHeader/_page-header.scss +4 -0
  235. package/scss/components/RemoveModal/_remove-modal.scss +3 -3
  236. package/scss/components/TagSet/_tag-set.scss +2 -1
  237. package/scss/components/Tearsheet/_tearsheet.scss +5 -2
  238. package/scss/components/_index.scss +1 -0
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
+
12
+ var _react = require("react");
13
+
14
+ /*
15
+ * Licensed Materials - Property of IBM
16
+ * 5724-Q36
17
+ * (c) Copyright IBM Corp. 2020
18
+ * US Government Users Restricted Rights - Use, duplication or disclosure
19
+ * restricted by GSA ADP Schedule Contract with IBM Corp.
20
+ */
21
+ var useParentDimensions = function useParentDimensions(hooks) {
22
+ var rootRef = (0, _react.useRef)();
23
+ var headRef = (0, _react.useRef)();
24
+ var innerListRef = (0, _react.useRef)();
25
+ var listRef = (0, _react.useRef)();
26
+
27
+ var _useState = (0, _react.useState)(),
28
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
29
+ tableHeight = _useState2[0],
30
+ setTableHeight = _useState2[1];
31
+
32
+ var useInstance = function useInstance(instance) {
33
+ var DatagridActions = instance.DatagridActions,
34
+ DatagridBatchActions = instance.DatagridBatchActions,
35
+ totalColumnsWidth = instance.totalColumnsWidth,
36
+ DatagridPagination = instance.DatagridPagination;
37
+
38
+ var handleResize = function handleResize() {
39
+ var parent = rootRef && rootRef.current && rootRef.current.parentElement;
40
+
41
+ if (!parent) {
42
+ return;
43
+ }
44
+
45
+ var parentHeight = parent.clientHeight;
46
+ var parentWidth = parent.clientWidth;
47
+ var headHeight = headRef && headRef.current && headRef.current.clientHeight;
48
+ var parentStyles = window.getComputedStyle(parent);
49
+ var parentMarginBottom = parseFloat(parentStyles.getPropertyValue('margin-bottom'));
50
+ var parentPaddingBottom = parseFloat(parentStyles.getPropertyValue('padding-bottom'));
51
+ var parentMarginTop = parseFloat(parentStyles.getPropertyValue('margin-top'));
52
+ var parentPaddingTop = parseFloat(parentStyles.getPropertyValue('padding-top'));
53
+ var datagridActionsHeight = DatagridActions || DatagridBatchActions ? 48 : 0;
54
+ var datagridPaginationHeight = DatagridPagination ? 48 : 0;
55
+ var hasHorizontalScrollbar = parentWidth < totalColumnsWidth;
56
+ var horizontalScrollbarHolder = hasHorizontalScrollbar ? 16 : 0;
57
+ var newHeight = parentHeight - headHeight - parentMarginBottom - parentPaddingBottom - parentMarginTop - parentPaddingTop - datagridActionsHeight - datagridPaginationHeight - horizontalScrollbarHolder;
58
+ setTableHeight(newHeight);
59
+ };
60
+
61
+ Object.assign(instance, {
62
+ tableHeight: tableHeight,
63
+ rootRef: rootRef,
64
+ headRef: headRef,
65
+ innerListRef: innerListRef,
66
+ handleResize: handleResize,
67
+ listRef: listRef
68
+ });
69
+ };
70
+
71
+ hooks.useInstance.push(useInstance);
72
+ };
73
+
74
+ var _default = useParentDimensions;
75
+ exports.default = _default;
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = require("react");
9
+
10
+ /*
11
+ * Licensed Materials - Property of IBM
12
+ * 5724-Q36
13
+ * (c) Copyright IBM Corp. 2020
14
+ * US Government Users Restricted Rights - Use, duplication or disclosure
15
+ * restricted by GSA ADP Schedule Contract with IBM Corp.
16
+ */
17
+ var useResizeTable = function useResizeTable(hooks) {
18
+ var useInstanceBeforeDimensions = function useInstanceBeforeDimensions(instance) {
19
+ var rootRef = instance.rootRef,
20
+ handleResize = instance.handleResize;
21
+ var parent = rootRef && rootRef.current && rootRef.current.parentElement;
22
+ (0, _react.useLayoutEffect)(function () {
23
+ if (!parent) {
24
+ return function () {};
25
+ }
26
+
27
+ handleResize();
28
+
29
+ if (typeof ResizeObserver === 'function') {
30
+ var resizeObserver = new ResizeObserver(function () {
31
+ handleResize();
32
+ });
33
+ resizeObserver.observe(parent);
34
+ return function () {
35
+ resizeObserver.disconnect(parent);
36
+ resizeObserver = null;
37
+ };
38
+ }
39
+
40
+ return console.error(' Could not resize table, no support for ResizeObserver');
41
+ }, [handleResize, parent]);
42
+ };
43
+
44
+ hooks.useInstanceBeforeDimensions.push(useInstanceBeforeDimensions);
45
+ };
46
+
47
+ var _default = useResizeTable;
48
+ exports.default = _default;
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
+
12
+ var _react = _interopRequireDefault(require("react"));
13
+
14
+ var _iconsReact = require("@carbon/icons-react");
15
+
16
+ /* eslint-disable react/prop-types */
17
+
18
+ /*
19
+ * Licensed Materials - Property of IBM
20
+ * 5724-Q36
21
+ * (c) Copyright IBM Corp. 2020
22
+ * US Government Users Restricted Rights - Use, duplication or disclosure
23
+ * restricted by GSA ADP Schedule Contract with IBM Corp.
24
+ */
25
+ var useRowExpander = function useRowExpander(hooks) {
26
+ var visibleColumns = function visibleColumns(columns) {
27
+ var expanderColumn = {
28
+ id: 'expander',
29
+ Cell: function Cell(_ref) {
30
+ var row = _ref.row;
31
+ return row.canExpand && /*#__PURE__*/_react.default.createElement("span", row.getToggleRowExpandedProps(), row.isExpanded ? /*#__PURE__*/_react.default.createElement(_iconsReact.ChevronUp16, null) : /*#__PURE__*/_react.default.createElement(_iconsReact.ChevronDown16, null));
32
+ },
33
+ width: 32,
34
+ disableResizing: true,
35
+ disableSortBy: true,
36
+ Header: ''
37
+ };
38
+ return [expanderColumn].concat((0, _toConsumableArray2.default)(columns));
39
+ };
40
+
41
+ hooks.visibleColumns.push(visibleColumns);
42
+ };
43
+
44
+ var _default = useRowExpander;
45
+ exports.default = _default;
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+
14
+ var _react = require("react");
15
+
16
+ var _debounce = _interopRequireDefault(require("lodash/debounce"));
17
+
18
+ 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; }
19
+
20
+ 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; }
21
+
22
+ var useRowIsMouseOver = function useRowIsMouseOver(hooks) {
23
+ var useInstance = function useInstance(instance) {
24
+ var _useState = (0, _react.useState)(),
25
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
26
+ mouseOverRowIndex = _useState2[0],
27
+ setMouseOverRowIndex = _useState2[1];
28
+
29
+ var onMouseChange = useDebounce(function (datagridState) {
30
+ var row = datagridState.row;
31
+ setMouseOverRowIndex(row.index);
32
+ }, 100);
33
+
34
+ var getRowProps = function getRowProps(props, datagridState) {
35
+ var onMouseOver = function onMouseOver() {
36
+ return onMouseChange(datagridState);
37
+ };
38
+
39
+ return [props, {
40
+ onMouseOver: onMouseOver
41
+ }];
42
+ };
43
+
44
+ var rows = instance.rows;
45
+ var rowsWithMouseOver = rows.map(function (row) {
46
+ return _objectSpread(_objectSpread({}, row), {}, {
47
+ isMouseOver: row.index === mouseOverRowIndex
48
+ });
49
+ });
50
+ Object.assign(instance, {
51
+ rows: rowsWithMouseOver
52
+ });
53
+ hooks.getRowProps.push(getRowProps);
54
+ };
55
+
56
+ hooks.useInstance.push(useInstance);
57
+ };
58
+
59
+ var useDebounce = function useDebounce(fn, wait) {
60
+ return (// eslint-disable-next-line react-hooks/exhaustive-deps
61
+ (0, _react.useCallback)((0, _debounce.default)(fn, wait), [])
62
+ );
63
+ };
64
+
65
+ var _default = useRowIsMouseOver;
66
+ exports.default = _default;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _DatagridRow = _interopRequireDefault(require("./Datagrid/DatagridRow"));
11
+
12
+ /*
13
+ * Licensed Materials - Property of IBM
14
+ * 5724-Q36
15
+ * (c) Copyright IBM Corp. 2020
16
+ * US Government Users Restricted Rights - Use, duplication or disclosure
17
+ * restricted by GSA ADP Schedule Contract with IBM Corp.
18
+ */
19
+ var useRowRenderer = function useRowRenderer(hooks) {
20
+ var useInstance = function useInstance(instance) {
21
+ var rows = instance.rows;
22
+
23
+ var addRowRenderer = function addRowRenderer(row) {
24
+ return Object.assign(row, {
25
+ RowRenderer: _DatagridRow.default,
26
+ subRows: (row.subRows || []).map(addRowRenderer)
27
+ });
28
+ };
29
+
30
+ var rowsWithRenderer = rows.map(addRowRenderer);
31
+ Object.assign(instance, {
32
+ rows: rowsWithRenderer
33
+ });
34
+ };
35
+
36
+ hooks.useInstance.push(useInstance);
37
+ };
38
+
39
+ var _default = useRowRenderer;
40
+ exports.default = _default;
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
+
12
+ var _react = require("react");
13
+
14
+ var _RowSize = require("./Datagrid/addons/RowSize");
15
+
16
+ /*
17
+ * Licensed Materials - Property of IBM
18
+ * 5724-Q36
19
+ * (c) Copyright IBM Corp. 2020, 2021
20
+ * US Government Users Restricted Rights - Use, duplication or disclosure
21
+ * restricted by GSA ADP Schedule Contract with IBM Corp.
22
+ */
23
+ var useRowSize = function useRowSize(hooks) {
24
+ var _useState = (0, _react.useState)(''),
25
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
26
+ internalRowSize = _useState2[0],
27
+ setRowSize = _useState2[1];
28
+
29
+ hooks.useInstance.push(function (instance) {
30
+ var rowSizes = instance.rowSizes,
31
+ rowSize = instance.rowSize,
32
+ onRowSizeChange = instance.onRowSizeChange;
33
+ Object.assign(instance, {
34
+ rowSize: internalRowSize || rowSize,
35
+ rowSizeDropdownProps: {
36
+ rowSizes: rowSizes,
37
+ selectedOption: internalRowSize || rowSize,
38
+ onChange: function onChange(value) {
39
+ setRowSize(value);
40
+
41
+ if (typeof onRowSizeChange === 'function') {
42
+ onRowSizeChange(value);
43
+ }
44
+ }
45
+ },
46
+ RowSizeDropdown: _RowSize.RowSizeDropdown
47
+ });
48
+ });
49
+
50
+ var getTableProps = function getTableProps(props, _ref) {
51
+ var instance = _ref.instance;
52
+ var rowSize = instance.rowSize;
53
+
54
+ if (!rowSize) {
55
+ return props;
56
+ }
57
+
58
+ return [props, {
59
+ size: rowSize
60
+ }];
61
+ };
62
+
63
+ hooks.getTableProps.push(getTableProps);
64
+ };
65
+
66
+ var _default = useRowSize;
67
+ exports.default = _default;
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _commonColumnIds = require("./common-column-ids");
13
+
14
+ var _DatagridSelectAllWithToggle = _interopRequireDefault(require("./Datagrid/DatagridSelectAllWithToggle"));
15
+
16
+ var _settings = require("../../settings");
17
+
18
+ /*
19
+ * Licensed Materials - Property of IBM
20
+ * 5724-Q36
21
+ * (c) Copyright IBM Corp. 2021
22
+ * US Government Users Restricted Rights - Use, duplication or disclosure
23
+ * restricted by GSA ADP Schedule Contract with IBM Corp.
24
+ */
25
+ // @flow
26
+ var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
27
+
28
+ var useSelectAllToggle = function useSelectAllToggle(hooks) {
29
+ useSelectAllWithToggleComponent(hooks);
30
+ useAddClassNameToSelectRow(hooks);
31
+ };
32
+
33
+ var useSelectAllWithToggleComponent = function useSelectAllWithToggleComponent(hooks) {
34
+ var useInstance = function useInstance(instance) {
35
+ var headers = instance.headers,
36
+ DatagridPagination = instance.DatagridPagination;
37
+ var headersWithSelectAllToggle = headers.map(function (header) {
38
+ if (header.id === _commonColumnIds.selectionColumnId && DatagridPagination) {
39
+ Object.assign(header, {
40
+ Header: Header
41
+ });
42
+ }
43
+
44
+ return header;
45
+ });
46
+ Object.assign(instance, {
47
+ headers: headersWithSelectAllToggle
48
+ });
49
+ };
50
+
51
+ hooks.useInstance.push(useInstance);
52
+ };
53
+
54
+ var useAddClassNameToSelectRow = function useAddClassNameToSelectRow(hooks) {
55
+ hooks.getCellProps.push(function (props, data) {
56
+ var column = data.cell.column;
57
+ var DatagridPagination = data.instance.DatagridPagination;
58
+
59
+ if (column.id === _commonColumnIds.selectionColumnId && DatagridPagination) {
60
+ return [props, {
61
+ className: "".concat(blockClass, "__select-all-toggle-on")
62
+ }];
63
+ }
64
+
65
+ return [props];
66
+ });
67
+ };
68
+
69
+ var Header = function Header(gridState) {
70
+ var tableId = gridState.tableId,
71
+ isFetching = gridState.isFetching,
72
+ selectAllToggle = gridState.selectAllToggle,
73
+ getToggleAllPageRowsSelectedProps = gridState.getToggleAllPageRowsSelectedProps,
74
+ getToggleAllRowsSelectedProps = gridState.getToggleAllRowsSelectedProps,
75
+ isAllRowsSelected = gridState.isAllRowsSelected;
76
+ var props = {
77
+ tableId: tableId,
78
+ isFetching: isFetching,
79
+ selectAllToggle: selectAllToggle,
80
+ getToggleAllPageRowsSelectedProps: getToggleAllPageRowsSelectedProps,
81
+ getToggleAllRowsSelectedProps: getToggleAllRowsSelectedProps,
82
+ isAllRowsSelected: isAllRowsSelected
83
+ };
84
+ return /*#__PURE__*/_react.default.createElement(_DatagridSelectAllWithToggle.default, props);
85
+ };
86
+
87
+ var _default = useSelectAllToggle;
88
+ exports.default = _default;
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
12
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
13
+
14
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
15
+
16
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
+
18
+ var _react = _interopRequireDefault(require("react"));
19
+
20
+ var _classnames = _interopRequireDefault(require("classnames"));
21
+
22
+ var _carbonComponentsReact = require("carbon-components-react");
23
+
24
+ var _DatagridSelectAll = require("./Datagrid/DatagridSelectAll");
25
+
26
+ var _commonColumnIds = require("./common-column-ids");
27
+
28
+ var _settings = require("../../settings");
29
+
30
+ var _excluded = ["onChange"];
31
+
32
+ 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; }
33
+
34
+ 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; }
35
+
36
+ var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
37
+
38
+ var useSelectRows = function useSelectRows(hooks) {
39
+ useHighlightSelection(hooks);
40
+
41
+ var useInstance = function useInstance(instance) {
42
+ var rows = instance.rows;
43
+ var rowsWithSelect = rows.map(function (row) {
44
+ return _objectSpread(_objectSpread({}, row), {}, {
45
+ isSelectable: true
46
+ });
47
+ });
48
+ Object.assign(instance, {
49
+ rows: rowsWithSelect
50
+ });
51
+ };
52
+
53
+ hooks.useInstance.push(useInstance);
54
+ hooks.visibleColumns.push(function (columns) {
55
+ return [{
56
+ id: _commonColumnIds.selectionColumnId,
57
+ Header: function Header(gridState) {
58
+ return /*#__PURE__*/_react.default.createElement(_DatagridSelectAll.SelectAll, gridState);
59
+ },
60
+ Cell: function Cell(gridState) {
61
+ return /*#__PURE__*/_react.default.createElement(SelectRow, gridState);
62
+ }
63
+ }].concat((0, _toConsumableArray2.default)(columns));
64
+ });
65
+ };
66
+
67
+ var useHighlightSelection = function useHighlightSelection(hooks) {
68
+ var getRowProps = function getRowProps(props, _ref) {
69
+ var row = _ref.row;
70
+ return [props, {
71
+ className: (0, _classnames.default)("".concat(blockClass, "__carbon-row"), row.getToggleRowSelectedProps().checked ? 'bx--data-table--selected' : '')
72
+ }];
73
+ };
74
+
75
+ hooks.getRowProps.push(getRowProps);
76
+ };
77
+
78
+ var SelectRow = function SelectRow(datagridState) {
79
+ var _datagridState$isFetc = datagridState.isFetching,
80
+ isFetching = _datagridState$isFetc === void 0 ? false : _datagridState$isFetc,
81
+ tableId = datagridState.tableId,
82
+ row = datagridState.row,
83
+ cell = datagridState.cell,
84
+ radio = datagridState.radio,
85
+ toggleAllRowsSelected = datagridState.toggleAllRowsSelected,
86
+ onRadioSelect = datagridState.onRadioSelect;
87
+ var selectDisabled = isFetching || row.getRowProps().selectDisabled;
88
+
89
+ var _row$getToggleRowSele = row.getToggleRowSelectedProps(),
90
+ onChange = _row$getToggleRowSele.onChange,
91
+ selectProps = (0, _objectWithoutProperties2.default)(_row$getToggleRowSele, _excluded);
92
+
93
+ var cellProps = cell.getCellProps();
94
+ return /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.TableSelectRow, (0, _extends2.default)({}, cellProps, selectProps, {
95
+ radio: radio,
96
+ onSelect: function onSelect(e) {
97
+ e.stopPropagation(); // avoid triggering onRowClick
98
+
99
+ if (radio) {
100
+ toggleAllRowsSelected(false);
101
+
102
+ if (onRadioSelect) {
103
+ onRadioSelect(row);
104
+ }
105
+ }
106
+
107
+ onChange(e);
108
+ },
109
+ id: "".concat(tableId, "-").concat(row.index),
110
+ name: "".concat(tableId, "-").concat(row.index, "-name"),
111
+ className: (0, _classnames.default)("".concat(blockClass, "__checkbox-cell"), cellProps.className),
112
+ ariaLabel: "".concat(tableId, "-row-").concat(row.index) // TODO: aria label should be i18n'ed
113
+ ,
114
+ disabled: selectDisabled
115
+ }));
116
+ };
117
+
118
+ var _default = useSelectRows;
119
+ exports.default = _default;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
+
12
+ /*
13
+ * Licensed Materials - Property of IBM
14
+ * 5724-Q36
15
+ * (c) Copyright IBM Corp. 2020
16
+ * US Government Users Restricted Rights - Use, duplication or disclosure
17
+ * restricted by GSA ADP Schedule Contract with IBM Corp.
18
+ */
19
+ var useSkeletons = function useSkeletons(hooks) {
20
+ var useInstance = function useInstance(instance) {
21
+ var isFetching = instance.isFetching,
22
+ rows = instance.rows;
23
+
24
+ var skeletonRow = function skeletonRow(id) {
25
+ return {
26
+ isSkeleton: true,
27
+ values: 'skeleton',
28
+ id: id
29
+ };
30
+ };
31
+
32
+ var rowsWithSkeletons = [].concat((0, _toConsumableArray2.default)(rows), [skeletonRow('skeleton-row-1'), skeletonRow('skeleton-row-2'), skeletonRow('skeleton-row-3')]);
33
+ Object.assign(instance, {
34
+ rows: isFetching ? rowsWithSkeletons : rows
35
+ });
36
+ };
37
+
38
+ hooks.useInstance.push(useInstance);
39
+ };
40
+
41
+ var _default = useSkeletons;
42
+ exports.default = _default;