linear-react-components-ui 0.4.76-beta.27 → 0.4.76-beta.28

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.
package/lib/list/Item.js CHANGED
@@ -21,8 +21,6 @@ var _helpers = _interopRequireDefault(require("./helpers"));
21
21
 
22
22
  var _withDropdown = require("../dropdown/withDropdown");
23
23
 
24
- var constants = _interopRequireWildcard(require("../internals/constants"));
25
-
26
24
  var _permissionValidations = require("../permissionValidations");
27
25
 
28
26
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
@@ -46,7 +44,7 @@ function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "und
46
44
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
47
45
 
48
46
  var Item = function Item(props) {
49
- var onClick = props.onClick,
47
+ var _onClick = props.onClick,
50
48
  leftIconName = props.leftIconName,
51
49
  leftIcon = props.leftIcon,
52
50
  displayCheckbox = props.displayCheckbox,
@@ -70,8 +68,7 @@ var Item = function Item(props) {
70
68
  var _useContext = (0, _react.useContext)(_helpers["default"]),
71
69
  handleSelectItem = _useContext.handleSelectItem,
72
70
  selectable = _useContext.selectable,
73
- selectedItemId = _useContext.selectedItemId,
74
- selectedItemRef = _useContext.selectedItemRef;
71
+ selectedItemId = _useContext.selectedItemId;
75
72
 
76
73
  var dropdownContext = (0, _react.useContext)(_withDropdown.WithDropdownContext);
77
74
  var options = [_permissionValidations.OPTIONS_ON_DENIED.disabled, _permissionValidations.OPTIONS_ON_DENIED.unvisible];
@@ -80,8 +77,6 @@ var Item = function Item(props) {
80
77
  _useState2 = _slicedToArray(_useState, 1),
81
78
  onDenied = _useState2[0];
82
79
 
83
- var history = (0, _reactRouterDom.useHistory)();
84
-
85
80
  var shouldDisable = function shouldDisable() {
86
81
  return disabled || onDenied.disabled;
87
82
  };
@@ -102,42 +97,23 @@ var Item = function Item(props) {
102
97
  return null;
103
98
  };
104
99
 
105
- var handleOnSelectItem = function handleOnSelectItem(e) {
106
- if (onClick !== undefined) onClick(e, itemId);
107
- if (dropdownContext) dropdownContext.handleDropdownClose();
108
- if (selectable) handleSelectItem(itemId, onClick);
109
- };
110
-
111
- var onKeyDown = (0, _react.useCallback)(function (e) {
112
- if ([constants.keyCodes.ENTER].includes(e.keyCode)) {
113
- e.preventDefault();
114
- handleOnSelectItem(e);
115
- if (url) history.push(url);
116
- }
117
- }, [url]);
118
-
119
100
  var getProps = function getProps() {
120
101
  if (shouldDisable()) return undefined;
121
- if (onClick === undefined && dropdownContext === undefined && !selectable) return null;
102
+ if (_onClick === undefined && dropdownContext === undefined && !selectable) return null;
122
103
  return {
123
104
  onClick: function onClick(e) {
124
- handleOnSelectItem(e);
105
+ if (_onClick !== undefined) _onClick(e, itemId);
106
+ if (dropdownContext) dropdownContext.handleDropdownClose();
107
+ if (selectable) handleSelectItem(itemId, _onClick);
125
108
  },
109
+ onKeyDown: null,
126
110
  role: 'button',
127
- onKeyDown: onKeyDown,
128
111
  tabIndex: '0'
129
112
  };
130
113
  };
131
114
 
132
- (0, _react.useEffect)(function () {
133
- document.addEventListener('keydown', onKeyDown);
134
- return function () {
135
- document.removeEventListener('keydown', onKeyDown);
136
- };
137
- }, []);
138
115
  if (!visible || onDenied.unvisible) return null;
139
116
  return /*#__PURE__*/_react["default"].createElement("li", _extends({
140
- ref: itemId && selectedItemId === itemId ? selectedItemRef : null,
141
117
  style: style,
142
118
  className: "item-container ".concat(hovered && 'hovered', "\n ").concat(itemId && selectedItemId === itemId ? '-activedlist' : '')
143
119
  }, getProps(), {
package/lib/list/index.js CHANGED
@@ -33,8 +33,6 @@ var _Header = _interopRequireDefault(require("./Header"));
33
33
 
34
34
  var _Item = _interopRequireDefault(require("./Item"));
35
35
 
36
- var constants = _interopRequireWildcard(require("../internals/constants"));
37
-
38
36
  var _Separator = _interopRequireDefault(require("./Separator"));
39
37
 
40
38
  require("../assets/styles/list.scss");
@@ -60,19 +58,6 @@ function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "und
60
58
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
61
59
 
62
60
  var List = function List(props) {
63
- var selectedItemRef = (0, _react.useRef)(null);
64
- var listRef = (0, _react.useRef)(null);
65
-
66
- var _useState = (0, _react.useState)(''),
67
- _useState2 = _slicedToArray(_useState, 2),
68
- selectedItemId = _useState2[0],
69
- setSelectedItemId = _useState2[1];
70
-
71
- var _useState3 = (0, _react.useState)([]),
72
- _useState4 = _slicedToArray(_useState3, 2),
73
- itensId = _useState4[0],
74
- setItensId = _useState4[1];
75
-
76
61
  var children = props.children,
77
62
  customClass = props.customClass,
78
63
  condensed = props.condensed,
@@ -80,92 +65,29 @@ var List = function List(props) {
80
65
  style = props.style,
81
66
  selectable = props.selectable,
82
67
  onSelectItem = props.onSelectItem;
68
+
69
+ var _useState = (0, _react.useState)(''),
70
+ _useState2 = _slicedToArray(_useState, 2),
71
+ selectedItemId = _useState2[0],
72
+ setSelectedItemId = _useState2[1];
73
+
83
74
  var contextValues = {
84
75
  selectable: selectable,
85
76
  selectedItemId: selectedItemId,
86
- selectedItemRef: selectedItemRef,
87
- children: children,
88
- handleSelectItem: function handleSelectItem(itemId, onClick) {
89
- if (!onSelectItem && onClick) setSelectedItemId(itemId);
90
- if (onSelectItem) onSelectItem(itemId);
91
- }
92
- };
93
-
94
- var onKeyDown = function onKeyDown(e) {
95
- if ([constants.keyCodes.ARROW_DOWN, constants.keyCodes.ARROW_UP].includes(e.keyCode)) {
96
- e.preventDefault();
97
-
98
- if (e.keyCode === constants.keyCodes.ARROW_DOWN) {
99
- if (selectedItemId === itensId[itensId.length - 1]) {
100
- setSelectedItemId(itensId[0]);
101
- } else {
102
- var index = itensId.indexOf(selectedItemId === '' ? '0' : selectedItemId);
103
- setSelectedItemId(itensId[index + 1]);
104
- }
105
- } else if (e.keyCode === constants.keyCodes.ARROW_UP) {
106
- if (selectedItemId === itensId[0]) {
107
- setSelectedItemId(itensId[itensId.length - 1]);
108
- } else {
109
- var _index = itensId.indexOf(selectedItemId);
110
-
111
- setSelectedItemId(itensId[_index - 1]);
112
- }
113
- }
114
-
115
- return selectedItemRef.current && selectedItemRef.current.focus();
77
+ handleSelectItem: function handleSelectItem(selectedId, onClick) {
78
+ if (!onSelectItem && onClick) setSelectedItemId(selectedId);
79
+ if (onSelectItem) onSelectItem(selectedId);
116
80
  }
117
-
118
- return null;
119
81
  };
120
-
121
- (0, _react.useEffect)(function () {
122
- if (selectedItemRef.current && listRef.current && listRef.current.scroll) {
123
- var selectedItemRect = selectedItemRef.current.getBoundingClientRect();
124
- var listRect = listRef.current.getBoundingClientRect();
125
- var defaultScrollTop = 0;
126
- var defaultBottomOffset = 100;
127
-
128
- if (selectedItemRect.top - selectedItemRect.height > listRect.bottom) {
129
- listRef.current.scroll({
130
- top: selectedItemRect.top
131
- });
132
- } else if (selectedItemRect.top + selectedItemRect.height - listRect.y >= listRect.height) {
133
- listRef.current.scroll({
134
- top: listRef.current.scrollTop + selectedItemRect.height
135
- });
136
- } else if (selectedItemRect.bottom < defaultBottomOffset) {
137
- listRef.current.scroll({
138
- top: defaultScrollTop
139
- });
140
- } else {
141
- listRef.current.scroll({
142
- top: listRef.current.scrollTop - selectedItemRect.height
143
- });
144
- }
145
- }
146
- }, [selectedItemRef.current]);
147
- (0, _react.useEffect)(function () {
148
- document.addEventListener('keydown', onKeyDown);
149
- return function () {
150
- document.removeEventListener('keydown', onKeyDown);
151
- };
152
- });
153
82
  (0, _react.useEffect)(function () {
154
83
  if (onSelectItem && props.selectedItemId) setSelectedItemId(props.selectedItemId);
155
84
  }, [props.selectedItemId]);
156
- (0, _react.useEffect)(function () {
157
- var newItensIds = children.length > 0 && children.map(function (item) {
158
- return item.props.itemId;
159
- }).filter(Boolean);
160
- setItensId(newItensIds);
161
- }, [children.length]);
162
85
  return /*#__PURE__*/_react["default"].createElement(_helpers["default"].Provider, {
163
86
  value: contextValues
164
87
  }, /*#__PURE__*/_react["default"].createElement("ul", {
165
88
  "data-testid": "list-component",
166
89
  style: style,
167
- ref: listRef,
168
- className: "list-component ".concat(condensed && '-condensed', "\n ").concat(customClass, " ").concat(!transparent && '-listbackground')
90
+ className: "list-component ".concat(condensed && '-condensed', " ").concat(customClass, " ").concat(!transparent && '-listbackground')
169
91
  }, children));
170
92
  };
171
93