@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,210 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = void 0;
11
+
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+
14
+ var React = _interopRequireWildcard(require("react"));
15
+
16
+ var _propTypes = _interopRequireDefault(require("prop-types"));
17
+
18
+ var _iconsReact = require("@carbon/icons-react");
19
+
20
+ var _reactDnd = require("react-dnd");
21
+
22
+ var _classnames = _interopRequireDefault(require("classnames"));
23
+
24
+ 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); }
25
+
26
+ 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; }
27
+
28
+ // @flow
29
+
30
+ /*
31
+ * Licensed Materials - Property of IBM
32
+ * 5724-Q36
33
+ * (c) Copyright IBM Corp. 2021
34
+ * US Government Users Restricted Rights - Use, duplication or disclosure
35
+ * restricted by GSA ADP Schedule Contract with IBM Corp.
36
+ */
37
+ var useEffect = React.useEffect,
38
+ useRef = React.useRef,
39
+ useState = React.useState;
40
+ var DRAG_TYPE = 'wkc-shared-ui-draggable-element';
41
+
42
+ var DraggableElement = function DraggableElement(_ref) {
43
+ var id = _ref.id,
44
+ index = _ref.index,
45
+ listData = _ref.listData,
46
+ children = _ref.children,
47
+ type = _ref.type,
48
+ disabled = _ref.disabled,
49
+ ariaLabel = _ref.ariaLabel,
50
+ onGrab = _ref.onGrab,
51
+ onArrowKeyDown = _ref.onArrowKeyDown,
52
+ isFocused = _ref.isFocused,
53
+ moveElement = _ref.moveElement,
54
+ _ref$positionLabel = _ref.positionLabel,
55
+ positionLabel = _ref$positionLabel === void 0 ? 'Current position {index} of {total}' : _ref$positionLabel,
56
+ _ref$grabbedLabel = _ref.grabbedLabel,
57
+ grabbedLabel = _ref$grabbedLabel === void 0 ? '{itemName} grabbed.' : _ref$grabbedLabel,
58
+ _ref$droppedLabel = _ref.droppedLabel,
59
+ droppedLabel = _ref$droppedLabel === void 0 ? '{itemName} dropped.' : _ref$droppedLabel;
60
+ var ref = useRef();
61
+
62
+ var _useDrop = (0, _reactDnd.useDrop)({
63
+ accept: DRAG_TYPE + type,
64
+ collect: function collect(monitor) {
65
+ return {
66
+ isOver: !!monitor.isOver()
67
+ };
68
+ },
69
+ drop: function drop(item) {
70
+ moveElement(item.index, index);
71
+ },
72
+ canDrop: function canDrop() {
73
+ return !disabled;
74
+ },
75
+ hover: function hover(item) {
76
+ var dragIndex = item.index;
77
+ var hoverIndex = index; // Don't replace items with themselves
78
+
79
+ // Don't replace items with themselves
80
+ if (dragIndex === hoverIndex || disabled) {
81
+ return;
82
+ }
83
+
84
+ moveElement(dragIndex, hoverIndex); // Time to actually perform the action
85
+ // Note: we're mutating the monitor item here!
86
+ // Generally it's better to avoid mutations,
87
+ // but it's good here for the sake of performance
88
+ // to avoid expensive index searches.
89
+ // eslint-disable-next-line no-param-reassign
90
+
91
+ // Time to actually perform the action
92
+ // Note: we're mutating the monitor item here!
93
+ // Generally it's better to avoid mutations,
94
+ // but it's good here for the sake of performance
95
+ // to avoid expensive index searches.
96
+ // eslint-disable-next-line no-param-reassign
97
+ item.index = hoverIndex;
98
+ }
99
+ }),
100
+ _useDrop2 = (0, _slicedToArray2.default)(_useDrop, 2),
101
+ isOver = _useDrop2[0].isOver,
102
+ drop = _useDrop2[1];
103
+
104
+ var _useDrag = (0, _reactDnd.useDrag)({
105
+ type: DRAG_TYPE + type,
106
+ item: {
107
+ id: id,
108
+ index: index
109
+ },
110
+ canDrag: function canDrag() {
111
+ return !disabled;
112
+ },
113
+ collect: function collect(monitor) {
114
+ return {
115
+ isDragging: monitor.isDragging()
116
+ };
117
+ }
118
+ }),
119
+ _useDrag2 = (0, _slicedToArray2.default)(_useDrag, 3),
120
+ isDragging = _useDrag2[0].isDragging,
121
+ drag = _useDrag2[1],
122
+ preview = _useDrag2[2];
123
+
124
+ useEffect(function () {
125
+ if (isFocused && ref && ref.current) {
126
+ ref.current.focus();
127
+ }
128
+ }, [isFocused]);
129
+
130
+ var _useState = useState(false),
131
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
132
+ isGrabbed = _useState2[0],
133
+ setIsGrabbed = _useState2[1];
134
+
135
+ var _useState3 = useState(isFocused),
136
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
137
+ isFocusedOnItem = _useState4[0],
138
+ setIsFocusedOnItem = _useState4[1];
139
+
140
+ drop(ref);
141
+ var content = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
142
+ className: (0, _classnames.default)({
143
+ disabled: disabled
144
+ }, 'wkc-draggable-handleStyle')
145
+ }, /*#__PURE__*/React.createElement(_iconsReact.Draggable16, null)), children);
146
+ return /*#__PURE__*/React.createElement("li", {
147
+ className: (0, _classnames.default)({
148
+ 'wkc-draggable-handleHolder-isOver': isOver && !disabled
149
+ }, {
150
+ 'wkc-draggable-handleHolder--grabbed': isGrabbed
151
+ }, 'wkc-draggable-handleHolder'),
152
+ ref: ref,
153
+ "aria-selected": isFocused,
154
+ role: "option",
155
+ tabIndex: isFocused ? 0 : -1,
156
+ onKeyPress: function onKeyPress(e) {
157
+ if (e.key === ' ' && e.target === e.currentTarget && !disabled) {
158
+ var positionText = positionLabel.replace('{index}', index + 1).replace('{total}', listData.length);
159
+ var grabAriaText = (isGrabbed ? droppedLabel : grabbedLabel).replace('{itemName}', ariaLabel);
160
+ onGrab(grabAriaText + positionText);
161
+ setIsGrabbed(!isGrabbed);
162
+ e.preventDefault();
163
+ }
164
+ },
165
+ onKeyDown: function onKeyDown(e) {
166
+ if (e.key === 'ArrowUp' || e.key === 'ArrowDown') {
167
+ onArrowKeyDown(e, isGrabbed, index);
168
+ }
169
+ },
170
+ onBlur: function onBlur(e) {
171
+ // handle when focus move to inner elements
172
+ setIsFocusedOnItem(e.currentTarget === e.target);
173
+ },
174
+ onFocus: function onFocus(e) {
175
+ // handle when focus move to li element
176
+ setIsFocusedOnItem(e.currentTarget === e.target);
177
+ }
178
+ }, /*#__PURE__*/React.createElement("span", {
179
+ className: "wkc-shared-ui--assistive-text"
180
+ }, ariaLabel), isDragging && !isOver ? /*#__PURE__*/React.createElement("div", {
181
+ ref: preview,
182
+ className: "wkc-draggable-handleHolder-droppable"
183
+ }, content) : /*#__PURE__*/React.createElement("div", {
184
+ ref: drag,
185
+ "aria-hidden": isFocused && isFocusedOnItem // if focus on li, hide the children from aria
186
+ ,
187
+ className: (0, _classnames.default)({
188
+ 'wkc-draggable-handleStyle': !disabled
189
+ }, 'wkc-draggable-handleHolder-droppable')
190
+ }, (!isOver || disabled) && content));
191
+ };
192
+
193
+ DraggableElement.propTypes = {
194
+ ariaLabel: _propTypes.default.string.isRequired,
195
+ children: _propTypes.default.element.isRequired,
196
+ disabled: _propTypes.default.bool,
197
+ droppedLabel: _propTypes.default.string,
198
+ grabbedLabel: _propTypes.default.string,
199
+ id: _propTypes.default.string.isRequired,
200
+ index: _propTypes.default.number.isRequired,
201
+ isFocused: _propTypes.default.bool.isRequired,
202
+ listData: _propTypes.default.array.isRequired,
203
+ moveElement: _propTypes.default.func.isRequired,
204
+ onArrowKeyDown: _propTypes.default.func.isRequired,
205
+ onGrab: _propTypes.default.func.isRequired,
206
+ positionLabel: _propTypes.default.string,
207
+ type: _propTypes.default.string.isRequired
208
+ };
209
+ var _default = DraggableElement;
210
+ exports.default = _default;
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = void 0;
11
+
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+
14
+ var _iconsReact = require("@carbon/icons-react");
15
+
16
+ var _propTypes = _interopRequireDefault(require("prop-types"));
17
+
18
+ var _carbonComponentsReact = require("carbon-components-react");
19
+
20
+ var React = _interopRequireWildcard(require("react"));
21
+
22
+ var _keyBy = _interopRequireDefault(require("lodash/keyBy"));
23
+
24
+ var _settings = require("../../../../../settings");
25
+
26
+ var _common = require("./common");
27
+
28
+ 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); }
29
+
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; }
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 Actions = function Actions(_ref) {
39
+ var searchText = _ref.searchText,
40
+ columns = _ref.columns,
41
+ originalColumnDefinitions = _ref.originalColumnDefinitions,
42
+ setColumnsObject = _ref.setColumnsObject,
43
+ setSearchText = _ref.setSearchText,
44
+ _ref$findColumnPlaceh = _ref.findColumnPlaceholderLabel,
45
+ findColumnPlaceholderLabel = _ref$findColumnPlaceh === void 0 ? 'Find column' : _ref$findColumnPlaceh,
46
+ _ref$resetToDefaultLa = _ref.resetToDefaultLabel,
47
+ resetToDefaultLabel = _ref$resetToDefaultLa === void 0 ? 'Reset to default' : _ref$resetToDefaultLa;
48
+ return /*#__PURE__*/React.createElement("div", {
49
+ className: "".concat(blockClass, "__customize-columns-modal--actions"),
50
+ "test-id": "".concat(blockClass, "__customize-columns-modal--actions")
51
+ }, /*#__PURE__*/React.createElement(_carbonComponentsReact.Search, {
52
+ placeholder: findColumnPlaceholderLabel,
53
+ value: searchText,
54
+ size: "sm",
55
+ labelText: findColumnPlaceholderLabel,
56
+ onChange: function onChange(e) {
57
+ // TODO: is it performant?
58
+ setSearchText(e.target.value);
59
+ },
60
+ "test-id": "".concat(blockClass, "__customize-columns-modal--search")
61
+ }), /*#__PURE__*/React.createElement(_carbonComponentsReact.Button, {
62
+ onClick: function onClick() {
63
+ var reset = resetToOriginal(columns, originalColumnDefinitions);
64
+ setColumnsObject(reset);
65
+ },
66
+ size: "sm",
67
+ kind: "ghost",
68
+ renderIcon: _iconsReact.Reset16,
69
+ "test-id": "".concat(blockClass, "__customize-columns-modal--reset")
70
+ }, resetToDefaultLabel));
71
+ };
72
+
73
+ var resetToOriginal = function resetToOriginal(columnDefinitions, originalColumnDefinitions) {
74
+ var keyedDefs = (0, _keyBy.default)(columnDefinitions, 'id');
75
+ return originalColumnDefinitions.map(function (colDef) {
76
+ return _objectSpread(_objectSpread({}, keyedDefs[colDef.id]), {}, {
77
+ isVisible: (0, _common.isColumnVisible)(colDef)
78
+ });
79
+ });
80
+ };
81
+
82
+ Actions.propTypes = {
83
+ columns: _propTypes.default.array.isRequired,
84
+ findColumnPlaceholderLabel: _propTypes.default.string,
85
+ originalColumnDefinitions: _propTypes.default.array.isRequired,
86
+ resetToDefaultLabel: _propTypes.default.string,
87
+ searchText: _propTypes.default.string.isRequired,
88
+ setColumnsObject: _propTypes.default.func.isRequired,
89
+ setSearchText: _propTypes.default.func.isRequired
90
+ };
91
+ var _default = Actions;
92
+ exports.default = _default;
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = void 0;
11
+
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
+
14
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
15
+
16
+ var React = _interopRequireWildcard(require("react"));
17
+
18
+ var _propTypes = _interopRequireDefault(require("prop-types"));
19
+
20
+ var _iconsReact = require("@carbon/icons-react");
21
+
22
+ var _carbonComponentsReact = require("carbon-components-react");
23
+
24
+ var _settings = require("../../../../../settings");
25
+
26
+ var _excluded = ["onClick", "setIsModalOpen", "isModalOpen", "iconTooltipLabel"];
27
+
28
+ 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); }
29
+
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; }
31
+
32
+ var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
33
+
34
+ var ButtonWrapper = function ButtonWrapper(_ref) {
35
+ var _onClick = _ref.onClick,
36
+ setIsModalOpen = _ref.setIsModalOpen,
37
+ isModalOpen = _ref.isModalOpen,
38
+ _ref$iconTooltipLabel = _ref.iconTooltipLabel,
39
+ iconTooltipLabel = _ref$iconTooltipLabel === void 0 ? 'Customize columns' : _ref$iconTooltipLabel,
40
+ rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
41
+ return /*#__PURE__*/React.createElement(_carbonComponentsReact.Button, (0, _extends2.default)({}, rest, {
42
+ renderIcon: _iconsReact.Column16,
43
+ iconDescription: iconTooltipLabel,
44
+ tooltipPosition: "left",
45
+ kind: "ghost",
46
+ hasIconOnly: true,
47
+ "test-id": "".concat(blockClass, "__customize-columns-trigger"),
48
+ onClick: function onClick() {
49
+ setIsModalOpen(!isModalOpen);
50
+
51
+ if (typeof _onClick === 'function') {
52
+ _onClick();
53
+ }
54
+ }
55
+ }));
56
+ };
57
+
58
+ ButtonWrapper.propTypes = {
59
+ iconTooltipLabel: _propTypes.default.string,
60
+ isModalOpen: _propTypes.default.bool.isRequired,
61
+ onClick: _propTypes.default.func.isRequired,
62
+ setIsModalOpen: _propTypes.default.func.isRequired
63
+ };
64
+ var _default = ButtonWrapper;
65
+ exports.default = _default;
@@ -0,0 +1,166 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = void 0;
11
+
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+
14
+ var React = _interopRequireWildcard(require("react"));
15
+
16
+ var _propTypes = _interopRequireDefault(require("prop-types"));
17
+
18
+ var _reactDnd = require("react-dnd");
19
+
20
+ var _reactDndHtml5Backend = require("react-dnd-html5-backend");
21
+
22
+ var _carbonComponentsReact = require("carbon-components-react");
23
+
24
+ var _immutabilityHelper = _interopRequireDefault(require("immutability-helper"));
25
+
26
+ var _settings = require("../../../../../settings");
27
+
28
+ var _DraggableElement = _interopRequireDefault(require("../../DraggableElement"));
29
+
30
+ var _common = require("./common");
31
+
32
+ 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); }
33
+
34
+ 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; }
35
+
36
+ // @flow
37
+
38
+ /*
39
+ * Licensed Materials - Property of IBM
40
+ * 5724-Q36
41
+ * (c) Copyright IBM Corp. 2021
42
+ * US Government Users Restricted Rights - Use, duplication or disclosure
43
+ * restricted by GSA ADP Schedule Contract with IBM Corp.
44
+ */
45
+ var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
46
+
47
+ var getNextIndex = function getNextIndex(array, currentIndex, key) {
48
+ var newIndex = -1;
49
+
50
+ if (key === 'ArrowUp') {
51
+ newIndex = currentIndex - 1 >= 0 ? currentIndex - 1 : array.length - 1;
52
+ }
53
+
54
+ if (key === 'ArrowDown') {
55
+ newIndex = currentIndex + 1 < array.length ? currentIndex + 1 : 0;
56
+ }
57
+
58
+ return newIndex;
59
+ };
60
+
61
+ var Columns = function Columns(_ref) {
62
+ var filterString = _ref.filterString,
63
+ columns = _ref.columns,
64
+ setColumnsObject = _ref.setColumnsObject,
65
+ onSelectColumn = _ref.onSelectColumn,
66
+ _ref$instructionsLabe = _ref.instructionsLabel,
67
+ instructionsLabel = _ref$instructionsLabe === void 0 ? 'Press space bar to toggle drag drop mode, use arrow keys to move selected elements.' : _ref$instructionsLabe,
68
+ _ref$disabledInstruct = _ref.disabledInstructionsLabel,
69
+ disabledInstructionsLabel = _ref$disabledInstruct === void 0 ? 'Reordering columns are disabled because they are filtered currently.' : _ref$disabledInstruct;
70
+
71
+ var _React$useState = React.useState(''),
72
+ _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
73
+ ariaRegionText = _React$useState2[0],
74
+ setAriaRegionText = _React$useState2[1];
75
+
76
+ var _React$useState3 = React.useState(-1),
77
+ _React$useState4 = (0, _slicedToArray2.default)(_React$useState3, 2),
78
+ focusIndex = _React$useState4[0],
79
+ setFocusIndex = _React$useState4[1];
80
+
81
+ var moveElement = React.useCallback(function (dragIndex, hoverIndex) {
82
+ var dragCard = columns[dragIndex];
83
+ setColumnsObject((0, _immutabilityHelper.default)(columns, {
84
+ $splice: [[dragIndex, 1], [hoverIndex, 0, dragCard]]
85
+ }));
86
+ }, [columns, setColumnsObject]);
87
+ return /*#__PURE__*/React.createElement("div", {
88
+ className: "".concat(blockClass, "__customize-columns-column-list")
89
+ }, /*#__PURE__*/React.createElement(_reactDnd.DndProvider, {
90
+ backend: _reactDndHtml5Backend.HTML5Backend
91
+ }, /*#__PURE__*/React.createElement("ol", {
92
+ className: "".concat(blockClass, "__customize-columns-column-list--focus"),
93
+ role: "listbox",
94
+ "aria-describedby": "".concat(blockClass, "__customize-columns--instructions"),
95
+ onKeyDown: function onKeyDown(e) {
96
+ var nextIndex = getNextIndex(columns, focusIndex, e.key);
97
+
98
+ if (nextIndex >= 0) {
99
+ setFocusIndex(nextIndex);
100
+ e.preventDefault();
101
+ e.stopPropagation();
102
+ }
103
+ },
104
+ tabIndex: 0,
105
+ onFocus: function onFocus(e) {
106
+ if (e.target === e.currentTarget) {
107
+ setFocusIndex(0);
108
+ }
109
+ }
110
+ }, /*#__PURE__*/React.createElement("span", {
111
+ "aria-live": "assertive",
112
+ className: "".concat(blockClass, "__shared-ui--assistive-text")
113
+ }, ariaRegionText), /*#__PURE__*/React.createElement("span", {
114
+ id: "".concat(blockClass, "__customize-columns--instructions"),
115
+ className: "".concat(blockClass, "__shared-ui--assistive-text")
116
+ }, filterString.length === 0 ? instructionsLabel : disabledInstructionsLabel), columns.filter(function (colDef) {
117
+ return filterString.length === 0 || colDef.Header.props.title.toLowerCase().includes(filterString);
118
+ }).map(function (colDef, i) {
119
+ return /*#__PURE__*/React.createElement(_DraggableElement.default, {
120
+ key: colDef.id,
121
+ index: i,
122
+ listData: columns,
123
+ setListData: setColumnsObject,
124
+ id: "dnd-datagrid-columns-".concat(colDef.id),
125
+ type: "column-customization",
126
+ disabled: filterString.length > 0,
127
+ ariaLabel: colDef.Header.props.title,
128
+ onGrab: setAriaRegionText,
129
+ isFocused: focusIndex === i,
130
+ moveElement: moveElement,
131
+ onArrowKeyDown: function onArrowKeyDown(e, isGrabbed, currentIndex) {
132
+ if (isGrabbed) {
133
+ var nextIndex = getNextIndex(columns, currentIndex, e.key);
134
+ e.preventDefault();
135
+ e.stopPropagation();
136
+
137
+ if (nextIndex >= 0) {
138
+ setFocusIndex(nextIndex);
139
+ moveElement(currentIndex, nextIndex);
140
+ e.target.scrollIntoView({
141
+ block: 'center'
142
+ });
143
+ }
144
+ }
145
+ }
146
+ }, /*#__PURE__*/React.createElement(_carbonComponentsReact.Checkbox, {
147
+ wrapperClassName: "".concat(blockClass, "__customize-columns-checkbox"),
148
+ checked: (0, _common.isColumnVisible)(colDef),
149
+ onChange: onSelectColumn.bind(null, colDef),
150
+ id: "".concat(blockClass, "__customization-column-").concat(colDef.id),
151
+ labelText: colDef.Header.props.title,
152
+ title: colDef.Header.props.title
153
+ }));
154
+ }))));
155
+ };
156
+
157
+ Columns.propTypes = {
158
+ columns: _propTypes.default.array.isRequired,
159
+ disabledInstructionsLabel: _propTypes.default.string,
160
+ filterString: _propTypes.default.string.isRequired,
161
+ instructionsLabel: _propTypes.default.string,
162
+ onSelectColumn: _propTypes.default.func.isRequired,
163
+ setColumnsObject: _propTypes.default.func.isRequired
164
+ };
165
+ var _default = Columns;
166
+ exports.default = _default;