linear-react-components-ui 0.4.76-rc.9 → 0.4.77-beta.2

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 (124) hide show
  1. package/.husky/pre-commit +2 -2
  2. package/.tool-versions +1 -0
  3. package/.vscode/settings.json +1 -2
  4. package/README.md +40 -5
  5. package/lib/assets/styles/button.scss +19 -10
  6. package/lib/assets/styles/checkbox.scss +92 -70
  7. package/lib/assets/styles/commons.scss +36 -0
  8. package/lib/assets/styles/drawers.scss +22 -6
  9. package/lib/assets/styles/dropdown.scss +48 -2
  10. package/lib/assets/styles/effects.scss +43 -0
  11. package/lib/assets/styles/floatMenu.scss +0 -1
  12. package/lib/assets/styles/gridlayout.scss +2 -1
  13. package/lib/assets/styles/input.scss +21 -0
  14. package/lib/assets/styles/label.scss +9 -1
  15. package/lib/assets/styles/list.scss +8 -0
  16. package/lib/assets/styles/multiSelect.scss +105 -0
  17. package/lib/assets/styles/panel.scss +3 -1
  18. package/lib/assets/styles/periodpicker.scss +65 -0
  19. package/lib/assets/styles/progress.scss +8 -1
  20. package/lib/assets/styles/radio.scss +19 -0
  21. package/lib/assets/styles/select.scss +4 -3
  22. package/lib/assets/styles/sidenav.scss +11 -1
  23. package/lib/assets/styles/skeleton.scss +48 -0
  24. package/lib/assets/styles/table.scss +25 -5
  25. package/lib/assets/styles/tabs.scss +116 -75
  26. package/lib/assets/styles/treeview.scss +41 -0
  27. package/lib/assets/styles/uitour.scss +112 -0
  28. package/lib/avatar/avatar.spec.js +17 -6
  29. package/lib/avatar/index.js +1 -1
  30. package/lib/buttons/DefaultButton.js +13 -4
  31. package/lib/buttons/split_button/index.js +8 -4
  32. package/lib/checkbox/Label.js +37 -0
  33. package/lib/checkbox/checkbox.spec.js +16 -16
  34. package/lib/checkbox/index.js +33 -12
  35. package/lib/dialog/base/index.js +15 -6
  36. package/lib/dialog/form/index.js +24 -4
  37. package/lib/drawer/Drawer.js +9 -5
  38. package/lib/drawer/Header.js +15 -5
  39. package/lib/drawer/index.js +4 -1
  40. package/lib/dropdown/Popup.js +3 -2
  41. package/lib/dropdown/withDropdown.js +3 -3
  42. package/lib/form/Field.js +2 -0
  43. package/lib/form/FieldNumber.js +11 -3
  44. package/lib/form/FieldPeriod.js +100 -0
  45. package/lib/form/form.spec.js +8 -0
  46. package/lib/form/helpers.js +20 -1
  47. package/lib/form/index.js +220 -218
  48. package/lib/form/withFieldHOC.js +5 -1
  49. package/lib/form/withFormSecurity.js +106 -0
  50. package/lib/icons/helper.js +24 -0
  51. package/lib/inputs/base/InputTextBase.js +30 -5
  52. package/lib/inputs/base/helpers.js +13 -9
  53. package/lib/inputs/date/Dropdown.js +3 -3
  54. package/lib/inputs/date/date.spec.js +46 -36
  55. package/lib/inputs/date/helpers.js +36 -0
  56. package/lib/inputs/date/index.js +12 -10
  57. package/lib/inputs/mask/Phone.js +10 -1
  58. package/lib/inputs/mask/imaskHOC.js +2 -1
  59. package/lib/inputs/mask/input_mask.spec.js +21 -4
  60. package/lib/inputs/multiSelect/ActionButtons.js +68 -0
  61. package/lib/inputs/multiSelect/Dropdown.js +200 -0
  62. package/lib/inputs/multiSelect/helper.js +18 -0
  63. package/lib/inputs/multiSelect/index.js +343 -0
  64. package/lib/inputs/number/BaseNumber.js +1 -1
  65. package/lib/inputs/number/index.js +7 -5
  66. package/lib/inputs/period/Dialog.js +38 -0
  67. package/lib/inputs/period/Dropdown.js +90 -0
  68. package/lib/inputs/period/PeriodList.js +79 -0
  69. package/lib/inputs/period/helper.js +118 -0
  70. package/lib/inputs/period/index.js +490 -0
  71. package/lib/inputs/search/index.js +2 -0
  72. package/lib/inputs/select/Dropdown.js +55 -65
  73. package/lib/inputs/select/helper.js +65 -2
  74. package/lib/inputs/select/index.js +26 -3
  75. package/lib/inputs/select/multiple/index.js +16 -11
  76. package/lib/inputs/select/simple/index.js +39 -24
  77. package/lib/internals/constants.js +4 -3
  78. package/lib/internals/withTooltip.js +86 -82
  79. package/lib/labels/DefaultLabel.js +7 -4
  80. package/lib/list/Item.js +35 -9
  81. package/lib/list/helpers.js +8 -3
  82. package/lib/list/index.js +172 -14
  83. package/lib/list/list.spec.js +290 -89
  84. package/lib/menus/float/MenuItem.js +41 -12
  85. package/lib/menus/float/SubMenuContainer.js +48 -0
  86. package/lib/menus/float/index.js +8 -0
  87. package/lib/menus/sidenav/NavMenuItem.js +17 -8
  88. package/lib/menus/sidenav/index.js +59 -86
  89. package/lib/menus/sidenav/popup_menu_search/index.js +26 -17
  90. package/lib/menus/sidenav/sidenav.spec.js +86 -19
  91. package/lib/panel/Header.js +4 -3
  92. package/lib/progress/Bar.js +40 -9
  93. package/lib/progress/index.js +12 -4
  94. package/lib/radio/index.js +9 -6
  95. package/lib/skeleton/SkeletonContainer.js +42 -0
  96. package/lib/skeleton/index.js +84 -0
  97. package/lib/spinner/index.js +6 -1
  98. package/lib/split/Split.js +5 -11
  99. package/lib/table/Body.js +55 -11
  100. package/lib/table/Header.js +14 -1
  101. package/lib/table/HeaderColumn.js +26 -3
  102. package/lib/table/Row.js +19 -8
  103. package/lib/table/RowColumn.js +23 -3
  104. package/lib/table/helpers.js +11 -1
  105. package/lib/table/index.js +41 -8
  106. package/lib/tabs/DropdownItems.js +84 -0
  107. package/lib/tabs/Menu.js +12 -9
  108. package/lib/tabs/MenuItems.js +15 -9
  109. package/lib/tabs/Panel.js +1 -3
  110. package/lib/tabs/index.js +156 -22
  111. package/lib/tabs/tabs.spec.js +8 -5
  112. package/lib/toolbar/ButtonBar.js +30 -24
  113. package/lib/toolbar/LabelBar.js +22 -27
  114. package/lib/toolbar/helpers.js +12 -0
  115. package/lib/toolbar/index.js +24 -9
  116. package/lib/tooltip/index.js +20 -7
  117. package/lib/treeview/Node.js +364 -49
  118. package/lib/treeview/index.js +475 -36
  119. package/lib/treeview/treeview.spec.js +18 -0
  120. package/lib/uitour/helpers.js +15 -0
  121. package/lib/uitour/index.js +271 -0
  122. package/lib/uitour/uitour.spec.js +176 -0
  123. package/package.json +9 -8
  124. package/lib/inputs/date/helper.js +0 -16
@@ -41,6 +41,17 @@ var getColumnsWidth = function getColumnsWidth(children) {
41
41
  return columnsWidth;
42
42
  };
43
43
 
44
+ var getColumnsCount = function getColumnsCount(children) {
45
+ var columnsCount = 0;
46
+
47
+ if (_lodash["default"].isArray(children) && children.length > 0 && children[0].props) {
48
+ columnsCount = children[0].props.children.length;
49
+ }
50
+
51
+ if (children && children.props) columnsCount = children.props.children.length;
52
+ return columnsCount;
53
+ };
54
+
44
55
  var Header = function Header(_ref) {
45
56
  var customClass = _ref.customClass,
46
57
  children = _ref.children;
@@ -48,10 +59,12 @@ var Header = function Header(_ref) {
48
59
  var _useContext = (0, _react.useContext)(_helpers["default"]),
49
60
  bodyScrollWidth = _useContext.bodyScrollWidth,
50
61
  bodyScrollable = _useContext.bodyScrollable,
51
- handlerSetColumnsWidth = _useContext.handlerSetColumnsWidth;
62
+ handlerSetColumnsWidth = _useContext.handlerSetColumnsWidth,
63
+ handlerSetColumnsCount = _useContext.handlerSetColumnsCount;
52
64
 
53
65
  (0, _react.useEffect)(function () {
54
66
  handlerSetColumnsWidth(getColumnsWidth(children));
67
+ handlerSetColumnsCount(getColumnsCount(children));
55
68
  }, []);
56
69
  return bodyScrollable ? /*#__PURE__*/_react["default"].createElement("div", {
57
70
  className: "headercontainer",
@@ -1,26 +1,49 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
8
  exports["default"] = void 0;
7
9
 
8
- var _react = _interopRequireDefault(require("react"));
10
+ var _react = _interopRequireWildcard(require("react"));
9
11
 
10
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
13
 
14
+ var _skeleton = _interopRequireDefault(require("../skeleton"));
15
+
16
+ var _helpers = _interopRequireDefault(require("./helpers"));
17
+
12
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
19
 
20
+ 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); }
21
+
22
+ 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; }
23
+
14
24
  var HeaderColumn = function HeaderColumn(_ref) {
15
25
  var customClass = _ref.customClass,
16
26
  style = _ref.style,
17
27
  children = _ref.children,
18
28
  textAlign = _ref.textAlign,
19
29
  visible = _ref.visible;
20
- return visible ? /*#__PURE__*/_react["default"].createElement("th", {
30
+
31
+ var _useContext = (0, _react.useContext)(_helpers["default"]),
32
+ skeletonize = _useContext.skeletonize,
33
+ vertical = _useContext.vertical,
34
+ skeletonInHeader = _useContext.skeletonInHeader,
35
+ skeletonInRows = _useContext.skeletonInRows;
36
+
37
+ if (!visible) return null;
38
+ return /*#__PURE__*/_react["default"].createElement("th", {
21
39
  className: "headercolumn ".concat(customClass, " text-align-").concat(textAlign),
22
40
  style: style
23
- }, children) : null;
41
+ }, skeletonize && (skeletonInHeader || !skeletonInRows) && !vertical ? /*#__PURE__*/_react["default"].createElement(_skeleton["default"], {
42
+ height: style.height ? null : 16,
43
+ style: {
44
+ marginBottom: 0
45
+ }
46
+ }) : children);
24
47
  };
25
48
 
26
49
  HeaderColumn.propTypes = {
package/lib/table/Row.js CHANGED
@@ -19,6 +19,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
19
19
 
20
20
  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; }
21
21
 
22
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
23
+
22
24
  var Row = function Row(props) {
23
25
  var customClass = props.customClass,
24
26
  children = props.children,
@@ -26,18 +28,25 @@ var Row = function Row(props) {
26
28
  dataId = props.dataId,
27
29
  _onClick = props.onClick,
28
30
  height = props.height,
29
- rowBorder = props.rowBorder;
31
+ rowBorder = props.rowBorder,
32
+ style = props.style;
30
33
 
31
34
  var _useContext = (0, _react.useContext)(_helpers["default"]),
32
35
  selectedRowId = _useContext.selectedRowId,
33
36
  handleSelectRow = _useContext.handleSelectRow,
34
37
  handleTableRowClick = _useContext.handleTableRowClick,
35
- handleTableColClick = _useContext.handleTableColClick;
38
+ handleTableColClick = _useContext.handleTableColClick,
39
+ vertical = _useContext.vertical,
40
+ skeletonize = _useContext.skeletonize,
41
+ skeletonInRows = _useContext.skeletonInRows;
36
42
 
37
43
  var contextValues = {
38
44
  dataId: dataId,
39
45
  rowBorder: rowBorder,
40
- handleTableColClick: handleTableColClick
46
+ handleTableColClick: handleTableColClick,
47
+ vertical: vertical,
48
+ skeletonize: skeletonize,
49
+ skeletonInRows: skeletonInRows
41
50
  };
42
51
  return /*#__PURE__*/_react["default"].createElement(_helpers.RowContext.Provider, {
43
52
  value: contextValues
@@ -49,9 +58,9 @@ var Row = function Row(props) {
49
58
  if (_onClick) _onClick(e, dataId);
50
59
  },
51
60
  id: rowId,
52
- style: {
61
+ style: _extends({}, style, {
53
62
  height: height
54
- }
63
+ })
55
64
  }, children));
56
65
  };
57
66
 
@@ -59,10 +68,11 @@ Row.propTypes = {
59
68
  children: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].arrayOf(_propTypes["default"].object)]).isRequired,
60
69
  customClass: _propTypes["default"].string,
61
70
  rowId: _propTypes["default"].string,
62
- dataId: _propTypes["default"].number,
71
+ dataId: _propTypes["default"].oneOfType([_propTypes["default"].number, _propTypes["default"].string]),
63
72
  onClick: _propTypes["default"].func,
64
73
  rowBorder: _propTypes["default"].bool,
65
- height: _propTypes["default"].string
74
+ height: _propTypes["default"].string,
75
+ style: _propTypes["default"].object
66
76
  };
67
77
  Row.defaultProps = {
68
78
  customClass: '',
@@ -70,7 +80,8 @@ Row.defaultProps = {
70
80
  onClick: undefined,
71
81
  rowId: undefined,
72
82
  rowBorder: true,
73
- height: undefined
83
+ height: undefined,
84
+ style: null
74
85
  };
75
86
  var _default = Row;
76
87
  exports["default"] = _default;
@@ -13,6 +13,8 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
 
14
14
  var _helpers = require("./helpers");
15
15
 
16
+ var _skeleton = _interopRequireDefault(require("../skeleton"));
17
+
16
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17
19
 
18
20
  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); }
@@ -49,8 +51,28 @@ var RowColumn = function RowColumn(props) {
49
51
  textAlign = props.textAlign,
50
52
  visible = props.visible;
51
53
  var context = (0, _react.useContext)(_helpers.RowContext);
54
+ var skeletonize = context.skeletonize,
55
+ vertical = context.vertical,
56
+ skeletonInRows = context.skeletonInRows;
52
57
  var hiddenContent = displayContent !== 'always';
58
+
59
+ var renderContent = function renderContent() {
60
+ if (skeletonize && vertical) {
61
+ return /*#__PURE__*/_react["default"].createElement(_skeleton["default"], {
62
+ height: 16,
63
+ style: {
64
+ marginBottom: 0
65
+ }
66
+ });
67
+ }
68
+
69
+ return hiddenContent ? /*#__PURE__*/_react["default"].createElement("span", {
70
+ className: displayClass[displayContent]
71
+ }, props.children) : props.children;
72
+ };
73
+
53
74
  if (!visible) return null;
75
+ if (skeletonize && !skeletonInRows && !vertical) return null;
54
76
  return /*#__PURE__*/_react["default"].createElement("td", {
55
77
  className: "rowcolumn ".concat(customClass, " text-align-").concat(textAlign, " ").concat(!context.rowBorder && ' -noborder'),
56
78
  style: style,
@@ -59,9 +81,7 @@ var RowColumn = function RowColumn(props) {
59
81
  },
60
82
  role: "presentation",
61
83
  tabIndex: "-1"
62
- }, hiddenContent ? /*#__PURE__*/_react["default"].createElement("span", {
63
- className: displayClass[displayContent]
64
- }, props.children) : props.children);
84
+ }, renderContent());
65
85
  };
66
86
 
67
87
  RowColumn.propTypes = {
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.RowContext = exports["default"] = void 0;
6
+ exports.getArrayFromNumber = exports.RowContext = exports["default"] = void 0;
7
7
 
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
 
@@ -14,5 +14,15 @@ var TableContext = /*#__PURE__*/_react["default"].createContext();
14
14
  var RowContext = /*#__PURE__*/_react["default"].createContext();
15
15
 
16
16
  exports.RowContext = RowContext;
17
+
18
+ var getArrayFromNumber = function getArrayFromNumber(number) {
19
+ return Array.from({
20
+ length: number
21
+ }, function (_, i) {
22
+ return i + 1;
23
+ });
24
+ };
25
+
26
+ exports.getArrayFromNumber = getArrayFromNumber;
17
27
  var _default = TableContext;
18
28
  exports["default"] = _default;
@@ -63,6 +63,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
63
63
 
64
64
  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; }
65
65
 
66
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
67
+
66
68
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
67
69
 
68
70
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -81,18 +83,23 @@ var getClass = function getClass(_ref) {
81
83
  striped = _ref.striped,
82
84
  bordered = _ref.bordered,
83
85
  hovered = _ref.hovered,
86
+ skeletonize = _ref.skeletonize,
84
87
  headerColored = _ref.headerColored,
85
88
  condensed = _ref.condensed,
86
89
  vertical = _ref.vertical,
87
- bodyScrollable = _ref.bodyScrollable;
88
- return "table-component ".concat(customClass, " ").concat(striped && '-striped', " \n ").concat(bordered && '-bordered', " ").concat(hovered && '-hovered', " ").concat(headerColored && '-headercolor', "\n ").concat(condensed && '-condensed', "\n ").concat(vertical && '-vertical', "\n ").concat(bodyScrollable && '-scrollable');
90
+ bodyScrollable = _ref.bodyScrollable,
91
+ skeletonInRows = _ref.skeletonInRows;
92
+ return "table-component ".concat(customClass, " ").concat(striped && '-striped', " \n ").concat(bordered && '-bordered', " ").concat(hovered && '-hovered', " ").concat(headerColored && '-headercolor', "\n ").concat(condensed && '-condensed', "\n ").concat(vertical && '-vertical', "\n ").concat(skeletonize && !skeletonInRows ? '-skeletonized' : '', "\n ").concat(bodyScrollable ? '-scrollable' : '');
89
93
  };
90
94
 
91
95
  var Table = function Table(props) {
92
96
  var onColClick = props.onColClick,
93
97
  onRowClick = props.onRowClick,
94
98
  bodyScrollable = props.bodyScrollable,
95
- children = props.children;
99
+ children = props.children,
100
+ vertical = props.vertical,
101
+ skeletonize = props.skeletonize,
102
+ strict = props.strict;
96
103
 
97
104
  var _useState = (0, _react.useState)(props.selectedRowId),
98
105
  _useState2 = _slicedToArray(_useState, 2),
@@ -109,6 +116,11 @@ var Table = function Table(props) {
109
116
  columnsWidth = _useState6[0],
110
117
  setColumnsWidth = _useState6[1];
111
118
 
119
+ var _useState7 = (0, _react.useState)(undefined),
120
+ _useState8 = _slicedToArray(_useState7, 2),
121
+ columnsCount = _useState8[0],
122
+ setColumnsCount = _useState8[1];
123
+
112
124
  var bodyContainerRef = (0, _react.useRef)(undefined);
113
125
  (0, _react.useEffect)(function () {
114
126
  if (bodyScrollable && bodyContainerRef && bodyContainerRef.current) {
@@ -122,11 +134,15 @@ var Table = function Table(props) {
122
134
  (0, _react.useEffect)(function () {
123
135
  setSelectedRowId(props.selectedRowId);
124
136
  }, [props.selectedRowId]);
125
- var contextValues = {
137
+
138
+ var contextValues = _extends({}, props, {
126
139
  bodyContainerRef: bodyContainerRef,
127
- bodyScrollable: bodyScrollable,
128
140
  bodyScrollWidth: bodyScrollWidth,
129
141
  selectedRowId: selectedRowId,
142
+ vertical: vertical,
143
+ skeletonize: skeletonize,
144
+ strict: strict,
145
+ columnsCount: columnsCount,
130
146
  handleSelectRow: function handleSelectRow(selectedId) {
131
147
  setSelectedRowId(selectedId);
132
148
  },
@@ -134,13 +150,20 @@ var Table = function Table(props) {
134
150
  handleTableRowClick: onRowClick,
135
151
  handlerSetColumnsWidth: function handlerSetColumnsWidth(widths) {
136
152
  if (!_lodash["default"].isEmpty(widths) && _lodash["default"].isEmpty(columnsWidth)) setColumnsWidth(widths);
153
+ },
154
+ handlerSetColumnsCount: function handlerSetColumnsCount(count) {
155
+ return setColumnsCount(count);
137
156
  }
138
- };
157
+ });
158
+
139
159
  return /*#__PURE__*/_react["default"].createElement(_helpers["default"].Provider, {
140
160
  value: contextValues
141
161
  }, bodyScrollable ? /*#__PURE__*/_react["default"].createElement("div", {
142
162
  className: getClass(props)
143
163
  }, children) : /*#__PURE__*/_react["default"].createElement("table", {
164
+ style: {
165
+ contain: strict ? 'strict' : 'size layout style'
166
+ },
144
167
  className: getClass(props)
145
168
  }, children));
146
169
  };
@@ -157,7 +180,12 @@ Table.propTypes = {
157
180
  onColClick: _propTypes["default"].func,
158
181
  vertical: _propTypes["default"].bool,
159
182
  selectedRowId: _propTypes["default"].string,
160
- bodyScrollable: _propTypes["default"].bool
183
+ bodyScrollable: _propTypes["default"].bool,
184
+ skeletonize: _propTypes["default"].bool,
185
+ strict: _propTypes["default"].bool,
186
+ skeletonInRows: _propTypes["default"].number,
187
+ skeletonInHeader: _propTypes["default"].bool,
188
+ skeletonHeight: _propTypes["default"].number
161
189
  };
162
190
  Table.defaultProps = {
163
191
  striped: false,
@@ -170,7 +198,12 @@ Table.defaultProps = {
170
198
  onColClick: undefined,
171
199
  vertical: false,
172
200
  selectedRowId: null,
173
- bodyScrollable: false
201
+ bodyScrollable: false,
202
+ skeletonize: false,
203
+ strict: false,
204
+ skeletonInRows: 10,
205
+ skeletonInHeader: false,
206
+ skeletonHeight: 16
174
207
  };
175
208
  var _default = Table;
176
209
  exports["default"] = _default;
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
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 _propTypes = _interopRequireDefault(require("prop-types"));
13
+
14
+ var _buttons = _interopRequireDefault(require("./../buttons"));
15
+
16
+ var _list = _interopRequireWildcard(require("../list"));
17
+
18
+ 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); }
19
+
20
+ 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; }
21
+
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
23
+
24
+ var DropdownItems = function DropdownItems(_ref) {
25
+ var dropdownPanels = _ref.dropdownPanels,
26
+ handlerRemovePanel = _ref.handlerRemovePanel,
27
+ tabMenuSize = _ref.tabMenuSize,
28
+ handlerClick = _ref.handlerClick;
29
+ return dropdownPanels.length > 0 && /*#__PURE__*/_react["default"].createElement(_buttons["default"], {
30
+ dropdown: true,
31
+ dropdownAlign: "right",
32
+ transparent: true,
33
+ boxShadow: false,
34
+ size: "large",
35
+ customClass: "dropdownbutton"
36
+ }, /*#__PURE__*/_react["default"].createElement(_list["default"], {
37
+ customClass: "dropdown-hide-tabs"
38
+ }, dropdownPanels.map(function (panel, index) {
39
+ var _panel$props = panel.props,
40
+ id = _panel$props.id,
41
+ title = _panel$props.title,
42
+ closeable = _panel$props.closeable,
43
+ iconAlign = _panel$props.iconAlign,
44
+ icon = _panel$props.icon,
45
+ iconName = _panel$props.iconName,
46
+ disabled = _panel$props.disabled;
47
+ return /*#__PURE__*/_react["default"].createElement(_list.ListItem, {
48
+ key: id
49
+ }, /*#__PURE__*/_react["default"].createElement("div", {
50
+ className: "menuitem"
51
+ }, /*#__PURE__*/_react["default"].createElement(_buttons["default"], {
52
+ className: "btn menubutton",
53
+ boxShadow: false,
54
+ onClick: function onClick() {
55
+ return handlerClick(id);
56
+ },
57
+ iconAlign: iconAlign,
58
+ iconName: iconName,
59
+ icon: icon,
60
+ disabled: disabled,
61
+ label: title,
62
+ size: tabMenuSize,
63
+ transparent: true
64
+ }), closeable && /*#__PURE__*/_react["default"].createElement("button", {
65
+ className: "closepanel",
66
+ onClick: function onClick() {
67
+ handlerRemovePanel(id, index, true);
68
+ }
69
+ })));
70
+ })));
71
+ };
72
+
73
+ DropdownItems.propTypes = {
74
+ dropdownPanels: _propTypes["default"].arrayOf(_propTypes["default"].element).isRequired,
75
+ handlerClick: _propTypes["default"].func.isRequired,
76
+ handlerRemovePanel: _propTypes["default"].func,
77
+ tabMenuSize: _propTypes["default"].string
78
+ };
79
+ DropdownItems.defaultProps = {
80
+ handlerRemovePanel: null,
81
+ tabMenuSize: 'medium'
82
+ };
83
+ var _default = DropdownItems;
84
+ exports["default"] = _default;
package/lib/tabs/Menu.js CHANGED
@@ -11,34 +11,37 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
 
12
12
  var _MenuItems = _interopRequireDefault(require("./MenuItems"));
13
13
 
14
+ var _DropdownItems = _interopRequireDefault(require("./DropdownItems"));
15
+
14
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
17
 
16
18
  var Menu = function Menu(props) {
17
19
  var toolbar = props.toolbar,
18
20
  customClassForToolBar = props.customClassForToolBar,
19
- menuRef = props.menuRef;
20
-
21
- if (!toolbar) {
22
- return /*#__PURE__*/_react["default"].createElement(_MenuItems["default"], props);
23
- }
24
-
21
+ menuRef = props.menuRef,
22
+ toolBarRef = props.toolBarRef;
25
23
  return /*#__PURE__*/_react["default"].createElement("div", {
26
24
  className: "menucontainer",
27
25
  ref: function ref(r) {
28
26
  menuRef(r);
29
27
  }
30
- }, /*#__PURE__*/_react["default"].createElement(_MenuItems["default"], props), /*#__PURE__*/_react["default"].cloneElement(toolbar, {
31
- customClass: "menubar ".concat(customClassForToolBar)
28
+ }, /*#__PURE__*/_react["default"].createElement(_MenuItems["default"], props), /*#__PURE__*/_react["default"].createElement(_DropdownItems["default"], props), toolbar && /*#__PURE__*/_react["default"].cloneElement(toolbar, {
29
+ customClass: "menubar ".concat(customClassForToolBar),
30
+ innerRef: toolBarRef ? function (r) {
31
+ toolBarRef(r);
32
+ } : undefined
32
33
  }));
33
34
  };
34
35
 
35
36
  Menu.propTypes = {
36
37
  toolbar: _propTypes["default"].object,
37
38
  customClassForToolBar: _propTypes["default"].string,
38
- menuRef: _propTypes["default"].func.isRequired
39
+ menuRef: _propTypes["default"].func.isRequired,
40
+ toolBarRef: _propTypes["default"].func
39
41
  };
40
42
  Menu.defaultProps = {
41
43
  toolbar: undefined,
44
+ toolBarRef: null,
42
45
  customClassForToolBar: ''
43
46
  };
44
47
  var _default = Menu;
@@ -24,17 +24,18 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
24
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
25
25
 
26
26
  var MenuItems = function MenuItems(_ref) {
27
- var panels = _ref.panels,
28
- selectedTabId = _ref.selectedTabId,
27
+ var selectedTabId = _ref.selectedTabId,
29
28
  handlerClick = _ref.handlerClick,
30
29
  handlerRemovePanel = _ref.handlerRemovePanel,
31
30
  tabMenuAlign = _ref.tabMenuAlign,
32
31
  firstTabIdent = _ref.firstTabIdent,
33
- tabMenuSize = _ref.tabMenuSize;
32
+ tabMenuSize = _ref.tabMenuSize,
33
+ currentPanels = _ref.currentPanels,
34
+ tabWidth = _ref.tabWidth;
34
35
  return /*#__PURE__*/_react["default"].createElement("ul", {
35
36
  className: "menu ".concat(firstTabIdent && '-firsttabident'),
36
37
  style: helpers.menuStyles(tabMenuAlign)
37
- }, panels.map(function (panel, index) {
38
+ }, currentPanels.map(function (panel, index) {
38
39
  var _panel$props = panel.props,
39
40
  id = _panel$props.id,
40
41
  title = _panel$props.title,
@@ -50,6 +51,9 @@ var MenuItems = function MenuItems(_ref) {
50
51
  var onDenied = (0, _permissionValidations.actionsOnPermissionDenied)(permissionAttr, helpers.onDeniedOptions);
51
52
  return onDenied.unvisible ? null : /*#__PURE__*/_react["default"].createElement("li", {
52
53
  key: id,
54
+ style: {
55
+ width: tabWidth
56
+ },
53
57
  className: "menuitem ".concat(selectedTabId === id && 'selected')
54
58
  }, /*#__PURE__*/_react["default"].createElement(_buttons["default"], {
55
59
  className: "btn menubutton",
@@ -63,10 +67,10 @@ var MenuItems = function MenuItems(_ref) {
63
67
  disabled: disabled || onDenied.disabled,
64
68
  label: title,
65
69
  size: tabMenuSize,
66
- tooltip: tooltip,
70
+ tooltip: tooltip || title,
67
71
  tooltipPosition: tooltipPosition,
68
72
  tooltipWidth: tooltipWidth
69
- }), closeable && panels.length > 1 && /*#__PURE__*/_react["default"].createElement("button", {
73
+ }), closeable && currentPanels.length > 1 && /*#__PURE__*/_react["default"].createElement("button", {
70
74
  className: "closepanel",
71
75
  onClick: function onClick() {
72
76
  handlerRemovePanel(id, index);
@@ -76,19 +80,21 @@ var MenuItems = function MenuItems(_ref) {
76
80
  };
77
81
 
78
82
  MenuItems.propTypes = {
79
- panels: _propTypes["default"].arrayOf(_propTypes["default"].element).isRequired,
83
+ currentPanels: _propTypes["default"].arrayOf(_propTypes["default"].element).isRequired,
80
84
  selectedTabId: _propTypes["default"].string,
81
85
  handlerClick: _propTypes["default"].func.isRequired,
82
86
  handlerRemovePanel: _propTypes["default"].func,
83
87
  tabMenuAlign: _propTypes["default"].string.isRequired,
84
88
  tabMenuSize: _propTypes["default"].string,
85
- firstTabIdent: _propTypes["default"].bool
89
+ firstTabIdent: _propTypes["default"].bool,
90
+ tabWidth: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number])
86
91
  };
87
92
  MenuItems.defaultProps = {
88
93
  handlerRemovePanel: null,
89
94
  selectedTabId: '',
90
95
  firstTabIdent: false,
91
- tabMenuSize: 'medium'
96
+ tabMenuSize: 'medium',
97
+ tabWidth: 'auto'
92
98
  };
93
99
  var _default = MenuItems;
94
100
  exports["default"] = _default;
package/lib/tabs/Panel.js CHANGED
@@ -110,8 +110,7 @@ Panel.defaultProps = {
110
110
  iconAlign: 'left',
111
111
  customClass: '',
112
112
  children: undefined,
113
- tooltip: '',
114
- tooltipPosition: 'top',
113
+ tooltipPosition: 'bottom',
115
114
  tooltipWidth: 'auto',
116
115
  onEndReached: undefined,
117
116
  onEndReachedThreshold: 0.1,
@@ -131,7 +130,6 @@ Panel.propTypes = {
131
130
  icon: _propTypes["default"].instanceOf(Object),
132
131
  iconName: _propTypes["default"].string,
133
132
  iconAlign: _propTypes["default"].string,
134
- tooltip: _propTypes["default"].string,
135
133
  tooltipPosition: _propTypes["default"].string,
136
134
  tooltipWidth: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
137
135
  onEndReached: _propTypes["default"].func,