linear-react-components-ui 0.4.76-rc.9 → 0.4.76

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 (120) 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 +28 -2
  10. package/lib/assets/styles/effects.scss +32 -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/form/Field.js +2 -0
  42. package/lib/form/FieldNumber.js +11 -3
  43. package/lib/form/FieldPeriod.js +100 -0
  44. package/lib/form/form.spec.js +8 -0
  45. package/lib/form/helpers.js +20 -1
  46. package/lib/form/index.js +220 -218
  47. package/lib/form/withFieldHOC.js +5 -1
  48. package/lib/form/withFormSecurity.js +106 -0
  49. package/lib/icons/helper.js +24 -0
  50. package/lib/inputs/base/InputTextBase.js +30 -5
  51. package/lib/inputs/base/helpers.js +13 -9
  52. package/lib/inputs/date/Dropdown.js +3 -3
  53. package/lib/inputs/date/date.spec.js +46 -36
  54. package/lib/inputs/date/helpers.js +36 -0
  55. package/lib/inputs/date/index.js +12 -10
  56. package/lib/inputs/mask/Phone.js +10 -1
  57. package/lib/inputs/mask/imaskHOC.js +2 -1
  58. package/lib/inputs/mask/input_mask.spec.js +21 -4
  59. package/lib/inputs/multiSelect/ActionButtons.js +68 -0
  60. package/lib/inputs/multiSelect/Dropdown.js +200 -0
  61. package/lib/inputs/multiSelect/helper.js +18 -0
  62. package/lib/inputs/multiSelect/index.js +343 -0
  63. package/lib/inputs/number/BaseNumber.js +1 -1
  64. package/lib/inputs/number/index.js +7 -5
  65. package/lib/inputs/period/Dialog.js +38 -0
  66. package/lib/inputs/period/Dropdown.js +90 -0
  67. package/lib/inputs/period/PeriodList.js +79 -0
  68. package/lib/inputs/period/helper.js +118 -0
  69. package/lib/inputs/period/index.js +490 -0
  70. package/lib/inputs/search/index.js +2 -0
  71. package/lib/inputs/select/Dropdown.js +55 -65
  72. package/lib/inputs/select/helper.js +65 -2
  73. package/lib/inputs/select/index.js +26 -3
  74. package/lib/inputs/select/multiple/index.js +16 -11
  75. package/lib/inputs/select/simple/index.js +39 -24
  76. package/lib/internals/constants.js +4 -3
  77. package/lib/internals/withTooltip.js +86 -82
  78. package/lib/labels/DefaultLabel.js +7 -4
  79. package/lib/list/Item.js +35 -9
  80. package/lib/list/helpers.js +8 -3
  81. package/lib/list/index.js +172 -14
  82. package/lib/list/list.spec.js +290 -89
  83. package/lib/menus/float/MenuItem.js +25 -8
  84. package/lib/menus/sidenav/NavMenuItem.js +17 -8
  85. package/lib/menus/sidenav/index.js +59 -86
  86. package/lib/menus/sidenav/popup_menu_search/index.js +26 -17
  87. package/lib/menus/sidenav/sidenav.spec.js +86 -19
  88. package/lib/panel/Header.js +4 -3
  89. package/lib/progress/Bar.js +40 -9
  90. package/lib/progress/index.js +12 -4
  91. package/lib/radio/index.js +9 -6
  92. package/lib/skeleton/SkeletonContainer.js +42 -0
  93. package/lib/skeleton/index.js +84 -0
  94. package/lib/spinner/index.js +6 -1
  95. package/lib/split/Split.js +5 -11
  96. package/lib/table/Body.js +55 -11
  97. package/lib/table/Header.js +14 -1
  98. package/lib/table/HeaderColumn.js +26 -3
  99. package/lib/table/Row.js +19 -8
  100. package/lib/table/RowColumn.js +23 -3
  101. package/lib/table/helpers.js +11 -1
  102. package/lib/table/index.js +41 -8
  103. package/lib/tabs/DropdownItems.js +84 -0
  104. package/lib/tabs/Menu.js +12 -9
  105. package/lib/tabs/MenuItems.js +15 -9
  106. package/lib/tabs/Panel.js +1 -3
  107. package/lib/tabs/index.js +156 -22
  108. package/lib/tabs/tabs.spec.js +8 -5
  109. package/lib/toolbar/ButtonBar.js +30 -24
  110. package/lib/toolbar/LabelBar.js +22 -27
  111. package/lib/toolbar/helpers.js +12 -0
  112. package/lib/toolbar/index.js +24 -9
  113. package/lib/tooltip/index.js +20 -7
  114. package/lib/treeview/Node.js +364 -49
  115. package/lib/treeview/index.js +475 -36
  116. package/lib/treeview/treeview.spec.js +18 -0
  117. package/lib/uitour/helpers.js +15 -0
  118. package/lib/uitour/index.js +271 -0
  119. package/lib/uitour/uitour.spec.js +176 -0
  120. package/package.json +9 -8
@@ -64,7 +64,7 @@ var PanelHeader = function PanelHeader(props) {
64
64
  style: style
65
65
  }, (icon || titleIcon) && /*#__PURE__*/_react["default"].createElement("div", {
66
66
  className: "".concat(icon !== null || titleIcon !== null ? 'icon-left-panel' : '')
67
- }, getIcon(titleIcon, icon)), /*#__PURE__*/_react["default"].createElement("h1", {
67
+ }, getIcon(titleIcon, icon)), title && /*#__PURE__*/_react["default"].createElement("h1", {
68
68
  className: "title ".concat(customClassForTitle),
69
69
  style: styleForTitle
70
70
  }, title), toggleable && /*#__PURE__*/_react["default"].createElement(_buttons.ButtonContainer, {
@@ -83,7 +83,7 @@ var PanelHeader = function PanelHeader(props) {
83
83
  };
84
84
 
85
85
  PanelHeader.propTypes = {
86
- title: _propTypes["default"].string.isRequired,
86
+ title: _propTypes["default"].string,
87
87
  children: _propTypes["default"].element,
88
88
  icon: _propTypes["default"].instanceOf(Object),
89
89
  titleIcon: _propTypes["default"].string,
@@ -101,7 +101,8 @@ PanelHeader.defaultProps = {
101
101
  styleForTitle: {},
102
102
  customClassForTitle: '',
103
103
  headerColored: true,
104
- children: null
104
+ children: null,
105
+ title: ''
105
106
  };
106
107
  var _default = PanelHeader;
107
108
  exports["default"] = _default;
@@ -18,6 +18,16 @@ var getPercentage = function getPercentage(props) {
18
18
  return Math.round(percentage * ROUND_PRECISION) / ROUND_PRECISION;
19
19
  };
20
20
 
21
+ var getClass = function getClass(props) {
22
+ var style = 'bar';
23
+ if (props.customClass) style += "".concat(props.customClass);
24
+ if (props.type) style += " -".concat(props.type);
25
+ if (props.effect) style += ' -effect';
26
+ if (props.animated) style += ' -animated';
27
+ if (props.indeterminate) style += ' -indeterminate';
28
+ return style;
29
+ };
30
+
21
31
  var getLabel = function getLabel(progress) {
22
32
  var value = progress.label;
23
33
 
@@ -30,43 +40,64 @@ var getLabel = function getLabel(progress) {
30
40
  }, value);
31
41
  };
32
42
 
43
+ var getStyle = function getStyle(props) {
44
+ if (props.indeterminate) {
45
+ return {
46
+ width: props.progressWidth,
47
+ height: props.height,
48
+ animationDuration: "".concat(props.indeterminateDuration, "s"),
49
+ animationDelay: "".concat(props.indeterminateDelay, "s")
50
+ };
51
+ }
52
+
53
+ return {
54
+ width: "".concat(getPercentage(props), "%"),
55
+ height: props.height
56
+ };
57
+ };
58
+
33
59
  var ProgressBar = function ProgressBar(props) {
34
60
  return /*#__PURE__*/_react["default"].createElement("div", {
35
61
  role: "progressbar",
36
- className: "bar -".concat(props.type, " ").concat(props.customClass, " -").concat(props.effect && '-effect', " -").concat(props.animated && '-animated'),
37
- style: {
38
- width: "".concat(getPercentage(props), "%"),
39
- height: "".concat(props.height)
40
- },
62
+ className: getClass(props),
63
+ style: getStyle(props),
41
64
  "aria-valuenow": props.value,
42
65
  "aria-valuemin": props.min,
43
66
  "aria-valuemax": props.max
44
- }, props.showLabel && getLabel(props));
67
+ }, props.showLabel && !props.indeterminate && getLabel(props));
45
68
  };
46
69
 
47
70
  ProgressBar.defaultProps = {
48
71
  min: 0,
49
72
  max: 100,
50
73
  value: 0,
74
+ progressWidth: '100%',
51
75
  height: '100%',
52
76
  effect: false,
53
77
  customClass: '',
54
78
  type: '',
55
79
  showLabel: true,
56
80
  label: '',
57
- animated: false
81
+ animated: false,
82
+ indeterminate: false,
83
+ indeterminateDuration: 1.5,
84
+ indeterminateDelay: 1
58
85
  };
59
86
  ProgressBar.propTypes = {
60
87
  label: _propTypes["default"].string,
61
88
  min: _propTypes["default"].number,
62
89
  value: _propTypes["default"].number,
63
90
  max: _propTypes["default"].number,
64
- height: _propTypes["default"].string,
91
+ progressWidth: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
92
+ height: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
65
93
  showLabel: _propTypes["default"].bool,
66
94
  effect: _propTypes["default"].bool,
67
95
  type: _propTypes["default"].string,
68
96
  customClass: _propTypes["default"].string,
69
- animated: _propTypes["default"].bool
97
+ animated: _propTypes["default"].bool,
98
+ indeterminate: _propTypes["default"].bool,
99
+ indeterminateDuration: _propTypes["default"].number,
100
+ indeterminateDelay: _propTypes["default"].number
70
101
  };
71
102
  var _default = ProgressBar;
72
103
  exports["default"] = _default;
@@ -21,24 +21,32 @@ require("../assets/styles/progress.scss");
21
21
 
22
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
23
23
 
24
+ 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); }
25
+
24
26
  var ProgressBar = function ProgressBar(props) {
25
27
  var style = props.style,
26
28
  children = props.children;
29
+
30
+ var getStyle = _extends({}, style, {
31
+ width: props.width,
32
+ height: props.height
33
+ });
34
+
27
35
  return /*#__PURE__*/_react["default"].createElement("div", {
28
36
  className: "container-progress",
29
- style: style
37
+ style: getStyle
30
38
  }, children || /*#__PURE__*/_react["default"].createElement(_Bar["default"], props));
31
39
  };
32
40
 
33
41
  ProgressBar.propTypes = {
34
- width: _propTypes["default"].string,
35
- height: _propTypes["default"].string,
42
+ width: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
43
+ height: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
36
44
  style: _propTypes["default"].object,
37
45
  children: _propTypes["default"].any
38
46
  };
39
47
  ProgressBar.defaultProps = {
40
48
  width: '100%',
41
- height: '100%',
49
+ height: '24px',
42
50
  children: null,
43
51
  style: {}
44
52
  };
@@ -50,7 +50,8 @@ var Radio = function Radio(props) {
50
50
  _onChange = props.onChange,
51
51
  id = props.id,
52
52
  checked = props.checked,
53
- permissionAttr = props.permissionAttr;
53
+ permissionAttr = props.permissionAttr,
54
+ skeletonize = props.skeletonize;
54
55
 
55
56
  var _useState = (0, _react.useState)(checked),
56
57
  _useState2 = _slicedToArray(_useState, 2),
@@ -68,7 +69,7 @@ var Radio = function Radio(props) {
68
69
  }, [checked]);
69
70
 
70
71
  var shouldDisable = function shouldDisable() {
71
- return disabled || onDenied.disabled;
72
+ return disabled || onDenied.disabled || skeletonize;
72
73
  };
73
74
 
74
75
  var getCustomProps = function getCustomProps() {
@@ -96,7 +97,7 @@ var Radio = function Radio(props) {
96
97
 
97
98
  if (onDenied.unvisible) return null;
98
99
  return /*#__PURE__*/_react["default"].createElement("div", {
99
- className: "radio-button ".concat(disabled)
100
+ className: "radio-button ".concat(disabled ? 'disabled' : '', " ").concat(skeletonize ? '-skeletonized' : '')
100
101
  }, /*#__PURE__*/_react["default"].createElement("input", _extends({}, getCustomProps(), {
101
102
  className: "radio-component",
102
103
  type: "radio",
@@ -108,7 +109,7 @@ var Radio = function Radio(props) {
108
109
  })), /*#__PURE__*/_react["default"].createElement("label", {
109
110
  className: "description",
110
111
  htmlFor: id
111
- }, label));
112
+ }, /*#__PURE__*/_react["default"].createElement("span", null, label)));
112
113
  };
113
114
 
114
115
  Radio.propTypes = {
@@ -121,7 +122,8 @@ Radio.propTypes = {
121
122
  required: _propTypes["default"].bool,
122
123
  onChange: _propTypes["default"].func,
123
124
  checked: _propTypes["default"].bool,
124
- permissionAttr: _propTypes["default"].oneOfType([_propTypes["default"].object, _propTypes["default"].arrayOf(_propTypes["default"].object)])
125
+ permissionAttr: _propTypes["default"].oneOfType([_propTypes["default"].object, _propTypes["default"].arrayOf(_propTypes["default"].object)]),
126
+ skeletonize: _propTypes["default"].bool
125
127
  };
126
128
  Radio.defaultProps = {
127
129
  label: null,
@@ -132,7 +134,8 @@ Radio.defaultProps = {
132
134
  value: undefined,
133
135
  checked: undefined,
134
136
  id: undefined,
135
- permissionAttr: undefined
137
+ permissionAttr: undefined,
138
+ skeletonize: false
136
139
  };
137
140
  var _default = Radio;
138
141
  exports["default"] = _default;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
+
14
+ var SkeletonContainer = function SkeletonContainer(_ref) {
15
+ var children = _ref.children,
16
+ row = _ref.row,
17
+ customClass = _ref.customClass,
18
+ style = _ref.style;
19
+
20
+ var getClass = function getClass() {
21
+ return "skeletoncontainer-component ".concat(customClass, "\n ").concat(row && '-row');
22
+ };
23
+
24
+ return /*#__PURE__*/_react["default"].createElement("div", {
25
+ className: getClass(),
26
+ style: style
27
+ }, children);
28
+ };
29
+
30
+ SkeletonContainer.propTypes = {
31
+ children: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].arrayOf(_propTypes["default"].element)]).isRequired,
32
+ row: _propTypes["default"].bool,
33
+ customClass: _propTypes["default"].string,
34
+ style: _propTypes["default"].object
35
+ };
36
+ SkeletonContainer.defaultProps = {
37
+ row: false,
38
+ customClass: undefined,
39
+ style: null
40
+ };
41
+ var _default = SkeletonContainer;
42
+ exports["default"] = _default;
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "SkeletonContainer", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _SkeletonContainer["default"];
10
+ }
11
+ });
12
+ exports["default"] = void 0;
13
+
14
+ var _react = _interopRequireDefault(require("react"));
15
+
16
+ var _propTypes = _interopRequireDefault(require("prop-types"));
17
+
18
+ var _gridlayout = _interopRequireDefault(require("../gridlayout"));
19
+
20
+ var _SkeletonContainer = _interopRequireDefault(require("./SkeletonContainer"));
21
+
22
+ require("../assets/styles/skeleton.scss");
23
+
24
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
25
+
26
+ 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); }
27
+
28
+ var Skeleton = function Skeleton(props) {
29
+ var customClass = props.customClass,
30
+ style = props.style,
31
+ width = props.width,
32
+ height = props.height,
33
+ round = props.round,
34
+ color = props.color,
35
+ size = props.size,
36
+ gridLayout = props.gridLayout;
37
+ var customStyles = {
38
+ width: width,
39
+ height: height
40
+ };
41
+
42
+ var getClass = function getClass() {
43
+ return "skeleton-component ".concat(customClass, "\n ").concat(color && "-".concat(color), "\n ").concat(round && '-round', "\n ").concat(round && size && "-".concat(size));
44
+ };
45
+
46
+ var renderContent = function renderContent() {
47
+ return /*#__PURE__*/_react["default"].createElement("div", {
48
+ className: getClass(),
49
+ style: _extends({}, customStyles, style)
50
+ });
51
+ };
52
+
53
+ if (gridLayout !== undefined) {
54
+ return /*#__PURE__*/_react["default"].createElement(_gridlayout["default"], {
55
+ customClass: "-withskeleton",
56
+ cols: gridLayout
57
+ }, renderContent());
58
+ }
59
+
60
+ return renderContent();
61
+ };
62
+
63
+ Skeleton.propTypes = {
64
+ width: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
65
+ height: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
66
+ round: _propTypes["default"].bool,
67
+ size: _propTypes["default"].oneOf(['mini', 'small', 'medium', 'large']),
68
+ color: _propTypes["default"].oneOf(['default', 'white']),
69
+ gridLayout: _propTypes["default"].string,
70
+ customClass: _propTypes["default"].string,
71
+ style: _propTypes["default"].object
72
+ };
73
+ Skeleton.defaultProps = {
74
+ width: undefined,
75
+ height: undefined,
76
+ round: false,
77
+ size: 'medium',
78
+ color: 'default',
79
+ gridLayout: undefined,
80
+ customClass: '',
81
+ style: null
82
+ };
83
+ var _default = Skeleton;
84
+ exports["default"] = _default;
@@ -47,12 +47,17 @@ var Spinner = function Spinner(props) {
47
47
  delay = _useState2[0],
48
48
  setDelay = _useState2[1];
49
49
 
50
+ var delayTimeout = (0, _react.useRef)(null);
50
51
  (0, _react.useEffect)(function () {
51
52
  if (delayTime) {
52
- setTimeout(function () {
53
+ delayTimeout.current = setTimeout(function () {
53
54
  setDelay(false);
54
55
  }, delayTime);
55
56
  }
57
+
58
+ return function () {
59
+ clearTimeout(delayTimeout.current);
60
+ };
56
61
  }, []);
57
62
 
58
63
  var getCssClass = function getCssClass() {
@@ -49,8 +49,6 @@ var Split = function Split(props) {
49
49
  var hotKey = props.hotKey,
50
50
  secondaryInitialSize = props.secondaryInitialSize,
51
51
  onSecondaryPaneSizeChange = props.onSecondaryPaneSizeChange,
52
- onDragStart = props.onDragStart,
53
- onDragEnd = props.onDragEnd,
54
52
  vertical = props.vertical,
55
53
  primaryIndex = props.primaryIndex,
56
54
  percentage = props.percentage,
@@ -271,9 +269,6 @@ var Split = function Split(props) {
271
269
  (0, _react.useEffect)(function () {
272
270
  if (state.resizing) {
273
271
  document.addEventListener('mousemove', handleMouseMove);
274
- if (onDragStart) onDragStart();
275
- } else if (onDragEnd) {
276
- onDragEnd();
277
272
  }
278
273
 
279
274
  return function () {
@@ -334,8 +329,11 @@ var Split = function Split(props) {
334
329
  role: "button",
335
330
  tabIndex: "-1",
336
331
  onDoubleClick: function onDoubleClick() {
337
- return setState(_extends({}, state, {
338
- visibleSplitSide: !visibleSplitSide,
332
+ return state.secondaryPaneSize === 100 ? setState(_extends({}, state, {
333
+ secondaryPaneSize: 50,
334
+ resizing: false
335
+ })) : setState(_extends({}, state, {
336
+ secondaryPaneSize: 100,
339
337
  resizing: false
340
338
  }));
341
339
  },
@@ -354,8 +352,6 @@ Split.propTypes = {
354
352
  secondaryInitialSize: _propTypes["default"].number,
355
353
  secondaryMinSize: _propTypes["default"].number,
356
354
  hideSplitSideOnToggleClick: _propTypes["default"].string,
357
- onDragStart: _propTypes["default"].func,
358
- onDragEnd: _propTypes["default"].func,
359
355
  onSecondaryPaneSizeChange: _propTypes["default"].func,
360
356
  children: _propTypes["default"].arrayOf(_propTypes["default"].node)
361
357
  };
@@ -369,8 +365,6 @@ Split.defaultProps = {
369
365
  secondaryInitialSize: undefined,
370
366
  secondaryMinSize: 0,
371
367
  hideSplitSideOnToggleClick: 'primary',
372
- onDragStart: null,
373
- onDragEnd: null,
374
368
  onSecondaryPaneSizeChange: null,
375
369
  children: [],
376
370
  hotKey: false
package/lib/table/Body.js CHANGED
@@ -11,7 +11,11 @@ var _react = _interopRequireWildcard(require("react"));
11
11
 
12
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
 
14
- var _helpers = _interopRequireDefault(require("./helpers"));
14
+ var _helpers = _interopRequireWildcard(require("./helpers"));
15
+
16
+ var _skeleton = _interopRequireDefault(require("../skeleton"));
17
+
18
+ var _index = require("./index");
15
19
 
16
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17
21
 
@@ -19,27 +23,67 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
19
23
 
20
24
  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
25
 
22
- var TableBody = function TableBody(_ref) {
26
+ 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); }
27
+
28
+ var renderChildren = function renderChildren(_ref) {
23
29
  var children = _ref.children,
24
- customClass = _ref.customClass;
30
+ columnsCount = _ref.columnsCount,
31
+ vertical = _ref.vertical,
32
+ skeletonize = _ref.skeletonize,
33
+ skeletonInRows = _ref.skeletonInRows,
34
+ skeletonHeight = _ref.skeletonHeight;
25
35
 
26
- var _useContext = (0, _react.useContext)(_helpers["default"]),
27
- bodyScrollable = _useContext.bodyScrollable,
28
- bodyContainerRef = _useContext.bodyContainerRef;
36
+ if (skeletonize && !vertical && columnsCount) {
37
+ var rows = (0, _helpers.getArrayFromNumber)(skeletonInRows);
38
+ var columns = (0, _helpers.getArrayFromNumber)(columnsCount);
39
+ var skeletonChildrens = rows.map(function (index) {
40
+ return /*#__PURE__*/_react["default"].createElement(_index.TRow, {
41
+ key: index
42
+ }, columns.map(function (id) {
43
+ return /*#__PURE__*/_react["default"].createElement(_index.Td, {
44
+ key: id
45
+ }, /*#__PURE__*/_react["default"].createElement(_skeleton["default"], {
46
+ height: skeletonHeight,
47
+ customClass: "rowskeleton"
48
+ }));
49
+ }));
50
+ });
51
+ return skeletonChildrens;
52
+ }
53
+
54
+ return children;
55
+ };
29
56
 
57
+ var TableBody = function TableBody(_ref2) {
58
+ var children = _ref2.children,
59
+ customClass = _ref2.customClass;
60
+ var context = (0, _react.useContext)(_helpers["default"]);
61
+ var bodyScrollable = context.bodyScrollable,
62
+ bodyContainerRef = context.bodyContainerRef,
63
+ skeletonize = context.skeletonize,
64
+ skeletonInRows = context.skeletonInRows,
65
+ strict = context.strict,
66
+ vertical = context.vertical,
67
+ columnsCount = context.columnsCount;
68
+ var isSkeletonized = skeletonize && !vertical && skeletonInRows && columnsCount;
30
69
  return bodyScrollable ? /*#__PURE__*/_react["default"].createElement("div", {
31
70
  className: "bodycontainer",
32
71
  ref: bodyContainerRef
33
72
  }, /*#__PURE__*/_react["default"].createElement("table", {
34
73
  className: "innertable",
35
74
  style: {
36
- tableLayout: 'fixed'
75
+ tableLayout: 'fixed',
76
+ contain: strict ? 'strict' : 'size layout style'
37
77
  }
38
78
  }, /*#__PURE__*/_react["default"].createElement("tbody", {
39
- className: "tbody ".concat(customClass)
40
- }, children))) : /*#__PURE__*/_react["default"].createElement("tbody", {
41
- className: "tbody ".concat(customClass)
42
- }, children);
79
+ className: "tbody ".concat(isSkeletonized ? 'skeleton-transparency' : '', " ").concat(customClass)
80
+ }, renderChildren(_extends({}, context, {
81
+ children: children
82
+ }))))) : /*#__PURE__*/_react["default"].createElement("tbody", {
83
+ className: "tbody ".concat(isSkeletonized ? 'skeleton-transparency' : '', " ").concat(customClass)
84
+ }, renderChildren(_extends({}, context, {
85
+ children: children
86
+ })));
43
87
  };
44
88
 
45
89
  TableBody.propTypes = {
@@ -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;