iguazio.dashboard-react-controls 0.0.13 → 0.0.16
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/dist/components/FormChipCell/FormChip/FormChip.js +143 -0
- package/dist/components/FormChipCell/FormChip/formChip.scss +74 -0
- package/dist/components/FormChipCell/FormChipCell.js +313 -0
- package/dist/components/FormChipCell/FormChipCellView.js +178 -0
- package/dist/components/FormChipCell/NewChipForm/NewChipForm.js +244 -0
- package/dist/components/FormChipCell/NewChipForm/newChipForm.scss +62 -0
- package/dist/components/FormChipCell/NewChipInput/NewChipInput.js +73 -0
- package/dist/components/FormChipCell/formChipCell.scss +52 -0
- package/dist/components/FormCombobox/formCombobox.scss +1 -1
- package/dist/components/FormInput/FormInput.js +1 -1
- package/dist/components/Modal/Modal.js +4 -4
- package/dist/components/Modal/Modal.scss +2 -2
- package/dist/components/Wizard/Wizard.js +5 -27
- package/dist/components/Wizard/Wizard.scss +1 -0
- package/dist/components/Wizard/WizardSteps/WizardSteps.scss +7 -1
- package/dist/components/index.js +8 -0
- package/dist/constants.js +13 -1
- package/dist/elements/HiddenChipsBlock/HiddenChipsBlock.js +188 -0
- package/dist/elements/HiddenChipsBlock/hiddenChipsBlock.scss +58 -0
- package/dist/scss/mixins.scss +14 -14
- package/dist/types.js +35 -1
- package/dist/utils/generateChipsList.util.js +25 -0
- package/dist/utils/getFirstScrollableParent.util.js +21 -0
- package/package.json +1 -1
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
position: fixed;
|
|
7
7
|
top: 50%;
|
|
8
8
|
left: 50%;
|
|
9
|
-
width:
|
|
9
|
+
width: 100%;
|
|
10
10
|
height: 660px;
|
|
11
11
|
max-width: 96%;
|
|
12
12
|
max-height: 96%;
|
|
@@ -98,13 +98,13 @@
|
|
|
98
98
|
&-enter {
|
|
99
99
|
opacity: 0;
|
|
100
100
|
transform: translate(-50%, calc(100vh));
|
|
101
|
-
transition: all 0.3s ease-in-out;
|
|
102
101
|
}
|
|
103
102
|
|
|
104
103
|
&-enter-active,
|
|
105
104
|
&-enter-done {
|
|
106
105
|
opacity: 1;
|
|
107
106
|
transform: translate(-50%, -50%);
|
|
107
|
+
transition: all 0.3s ease-in-out;
|
|
108
108
|
}
|
|
109
109
|
|
|
110
110
|
&-exit {
|
|
@@ -15,8 +15,6 @@ var _classnames = _interopRequireDefault(require("classnames"));
|
|
|
15
15
|
|
|
16
16
|
var _Button = _interopRequireDefault(require("../Button/Button"));
|
|
17
17
|
|
|
18
|
-
var _ConfirmDialog = _interopRequireDefault(require("../ConfirmDialog/ConfirmDialog"));
|
|
19
|
-
|
|
20
18
|
var _Modal = _interopRequireDefault(require("../Modal/Modal"));
|
|
21
19
|
|
|
22
20
|
var _WizardSteps = _interopRequireDefault(require("./WizardSteps/WizardSteps"));
|
|
@@ -25,8 +23,6 @@ var _constants = require("../../constants");
|
|
|
25
23
|
|
|
26
24
|
var _types = require("../../types");
|
|
27
25
|
|
|
28
|
-
var _common = require("../../utils/common.util");
|
|
29
|
-
|
|
30
26
|
require("./Wizard.scss");
|
|
31
27
|
|
|
32
28
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
@@ -83,7 +79,9 @@ var Wizard = function Wizard(_ref) {
|
|
|
83
79
|
return activeStepNumber === totalSteps;
|
|
84
80
|
}, [activeStepNumber, totalSteps]);
|
|
85
81
|
var stepsMenu = (0, _react.useMemo)(function () {
|
|
86
|
-
return (stepsConfig === null || stepsConfig === void 0 ? void 0 : stepsConfig.
|
|
82
|
+
return (stepsConfig === null || stepsConfig === void 0 ? void 0 : stepsConfig.filter(function (step) {
|
|
83
|
+
return !step.isHidden;
|
|
84
|
+
}).map(function (step) {
|
|
87
85
|
return {
|
|
88
86
|
id: step.id,
|
|
89
87
|
label: step.label
|
|
@@ -108,26 +106,6 @@ var Wizard = function Wizard(_ref) {
|
|
|
108
106
|
return setActiveStepNumber(idx);
|
|
109
107
|
};
|
|
110
108
|
|
|
111
|
-
var handleOnClose = function handleOnClose() {
|
|
112
|
-
if (formState && formState.dirty) {
|
|
113
|
-
(0, _common.openPopUp)(_ConfirmDialog.default, {
|
|
114
|
-
cancelButton: {
|
|
115
|
-
label: 'Cancel',
|
|
116
|
-
variant: _constants.TERTIARY_BUTTON
|
|
117
|
-
},
|
|
118
|
-
confirmButton: {
|
|
119
|
-
handler: onWizardResolve,
|
|
120
|
-
label: 'OK',
|
|
121
|
-
variant: _constants.SECONDARY_BUTTON
|
|
122
|
-
},
|
|
123
|
-
header: 'Are you sure?',
|
|
124
|
-
message: 'All changes will be lost'
|
|
125
|
-
});
|
|
126
|
-
} else {
|
|
127
|
-
onWizardResolve();
|
|
128
|
-
}
|
|
129
|
-
};
|
|
130
|
-
|
|
131
109
|
var handleSubmit = function handleSubmit() {
|
|
132
110
|
formState.handleSubmit();
|
|
133
111
|
|
|
@@ -163,7 +141,7 @@ var Wizard = function Wizard(_ref) {
|
|
|
163
141
|
formState: formState,
|
|
164
142
|
goToNextStep: goToNextStep,
|
|
165
143
|
goToPreviousStep: goToPreviousStep,
|
|
166
|
-
|
|
144
|
+
onWizardResolve: onWizardResolve,
|
|
167
145
|
handleSubmit: handleSubmit
|
|
168
146
|
}).map(function (action) {
|
|
169
147
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, _objectSpread({}, action));
|
|
@@ -176,7 +154,7 @@ var Wizard = function Wizard(_ref) {
|
|
|
176
154
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Modal.default, {
|
|
177
155
|
actions: renderModalActions(),
|
|
178
156
|
className: wizardClasses,
|
|
179
|
-
onClose:
|
|
157
|
+
onClose: onWizardResolve,
|
|
180
158
|
location: location,
|
|
181
159
|
show: isWizardOpen,
|
|
182
160
|
size: size,
|
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
.wizard-steps {
|
|
6
6
|
background-color: $white;
|
|
7
7
|
min-width: 260px;
|
|
8
|
-
margin-right:
|
|
8
|
+
margin-right: 1rem;
|
|
9
|
+
overflow-y: auto;
|
|
9
10
|
|
|
10
11
|
&__indicator {
|
|
11
12
|
display: inline-flex;
|
|
@@ -32,6 +33,11 @@
|
|
|
32
33
|
min-height: 52px;
|
|
33
34
|
width: 100%;
|
|
34
35
|
|
|
36
|
+
& > * {
|
|
37
|
+
text-align: left;
|
|
38
|
+
white-space: normal;
|
|
39
|
+
}
|
|
40
|
+
|
|
35
41
|
&.active {
|
|
36
42
|
background-color: $malibuTwo;
|
|
37
43
|
color: $cornflowerBlue;
|
package/dist/components/index.js
CHANGED
|
@@ -21,6 +21,12 @@ Object.defineProperty(exports, "FormCheckBox", {
|
|
|
21
21
|
return _FormCheckBox.default;
|
|
22
22
|
}
|
|
23
23
|
});
|
|
24
|
+
Object.defineProperty(exports, "FormChipCell", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function get() {
|
|
27
|
+
return _FormChipCell.default;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
24
30
|
Object.defineProperty(exports, "FormCombobox", {
|
|
25
31
|
enumerable: true,
|
|
26
32
|
get: function get() {
|
|
@@ -106,6 +112,8 @@ var _ConfirmDialog = _interopRequireDefault(require("./ConfirmDialog/ConfirmDial
|
|
|
106
112
|
|
|
107
113
|
var _FormCheckBox = _interopRequireDefault(require("./FormCheckBox/FormCheckBox"));
|
|
108
114
|
|
|
115
|
+
var _FormChipCell = _interopRequireDefault(require("./FormChipCell/FormChipCell"));
|
|
116
|
+
|
|
109
117
|
var _FormInput = _interopRequireDefault(require("./FormInput/FormInput"));
|
|
110
118
|
|
|
111
119
|
var _FormKeyValueTable = _interopRequireDefault(require("./FormKeyValueTable/FormKeyValueTable"));
|
package/dist/constants.js
CHANGED
|
@@ -3,9 +3,21 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.validation = exports.TERTIARY_BUTTON = exports.SECONDARY_BUTTON = exports.PRIMARY_BUTTON = exports.MODAL_SM = exports.MODAL_MD = exports.MODAL_LG = exports.LABEL_BUTTON = exports.INTERNAL_SERVER_ERROR_STATUS_CODE = exports.FORBIDDEN_ERROR_STATUS_CODE = exports.DANGER_BUTTON = exports.CONFLICT_ERROR_STATUS_CODE = void 0;
|
|
6
|
+
exports.validation = exports.TERTIARY_BUTTON = exports.TAB_SHIFT = exports.TAB = exports.SECONDARY_BUTTON = exports.PRIMARY_BUTTON = exports.MODAL_SM = exports.MODAL_MD = exports.MODAL_LG = exports.LABEL_BUTTON = exports.INTERNAL_SERVER_ERROR_STATUS_CODE = exports.FORBIDDEN_ERROR_STATUS_CODE = exports.DELETE = exports.DANGER_BUTTON = exports.CONFLICT_ERROR_STATUS_CODE = exports.CLICK = exports.BACKSPACE = void 0;
|
|
7
7
|
|
|
8
|
+
/*=========== EVENT KEYS =============*/
|
|
9
|
+
var BACKSPACE = 'Backspace';
|
|
10
|
+
exports.BACKSPACE = BACKSPACE;
|
|
11
|
+
var CLICK = 'Click';
|
|
12
|
+
exports.CLICK = CLICK;
|
|
13
|
+
var DELETE = 'Delete';
|
|
14
|
+
exports.DELETE = DELETE;
|
|
15
|
+
var TAB = 'Tab';
|
|
16
|
+
exports.TAB = TAB;
|
|
17
|
+
var TAB_SHIFT = 'Tab+Shift';
|
|
8
18
|
/*=========== BUTTONS =============*/
|
|
19
|
+
|
|
20
|
+
exports.TAB_SHIFT = TAB_SHIFT;
|
|
9
21
|
var PRIMARY_BUTTON = 'primary';
|
|
10
22
|
exports.PRIMARY_BUTTON = PRIMARY_BUTTON;
|
|
11
23
|
var SECONDARY_BUTTON = 'secondary';
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
|
|
12
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
|
+
|
|
14
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
15
|
+
|
|
16
|
+
var _FormChip = _interopRequireDefault(require("../../components/FormChipCell/FormChip/FormChip"));
|
|
17
|
+
|
|
18
|
+
var _components = require("igz-controls/components");
|
|
19
|
+
|
|
20
|
+
var _getFirstScrollableParent = require("../../utils/getFirstScrollableParent.util");
|
|
21
|
+
|
|
22
|
+
var _types = require("../../types");
|
|
23
|
+
|
|
24
|
+
require("./hiddenChipsBlock.scss");
|
|
25
|
+
|
|
26
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
27
|
+
|
|
28
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
29
|
+
|
|
30
|
+
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); }
|
|
31
|
+
|
|
32
|
+
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; }
|
|
33
|
+
|
|
34
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
35
|
+
|
|
36
|
+
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."); }
|
|
37
|
+
|
|
38
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
39
|
+
|
|
40
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
41
|
+
|
|
42
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
43
|
+
|
|
44
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
45
|
+
|
|
46
|
+
var HiddenChipsBlock = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
47
|
+
var chipClassNames = _ref.chipClassNames,
|
|
48
|
+
chipIndex = _ref.chipIndex,
|
|
49
|
+
chipOptions = _ref.chipOptions,
|
|
50
|
+
chips = _ref.chips,
|
|
51
|
+
className = _ref.className,
|
|
52
|
+
editConfig = _ref.editConfig,
|
|
53
|
+
handleEditChip = _ref.handleEditChip,
|
|
54
|
+
handleIsEdit = _ref.handleIsEdit,
|
|
55
|
+
handleRemoveChip = _ref.handleRemoveChip,
|
|
56
|
+
handleShowElements = _ref.handleShowElements,
|
|
57
|
+
isEditMode = _ref.isEditMode,
|
|
58
|
+
setChipsSizes = _ref.setChipsSizes,
|
|
59
|
+
setEditConfig = _ref.setEditConfig;
|
|
60
|
+
|
|
61
|
+
var _useState = (0, _react.useState)(false),
|
|
62
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
63
|
+
isTop = _useState2[0],
|
|
64
|
+
setIsTop = _useState2[1];
|
|
65
|
+
|
|
66
|
+
var _useState3 = (0, _react.useState)(true),
|
|
67
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
68
|
+
isRight = _useState4[0],
|
|
69
|
+
setIsRight = _useState4[1];
|
|
70
|
+
|
|
71
|
+
var _useState5 = (0, _react.useState)(false),
|
|
72
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
73
|
+
isVisible = _useState6[0],
|
|
74
|
+
setIsVisible = _useState6[1];
|
|
75
|
+
|
|
76
|
+
var _useState7 = (0, _react.useState)(window.innerWidth / 2),
|
|
77
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
78
|
+
windowHalfWidth = _useState8[0],
|
|
79
|
+
setWindowHalfWidth = _useState8[1];
|
|
80
|
+
|
|
81
|
+
var hiddenRef = (0, _react.useRef)();
|
|
82
|
+
var offset = 28;
|
|
83
|
+
var hiddenChipsBlockClassNames = (0, _classnames.default)('chip-block-hidden', isTop ? 'chip-block-hidden_top' : 'chip-block-hidden_bottom', isRight ? 'chip-block-hidden_right' : 'chip-block-hidden_left', isVisible && 'chip-block-hidden_visible');
|
|
84
|
+
var handleResize = (0, _react.useCallback)(function () {
|
|
85
|
+
if (hiddenRef !== null && hiddenRef !== void 0 && hiddenRef.current) {
|
|
86
|
+
setWindowHalfWidth(parseInt(window.innerWidth / 2));
|
|
87
|
+
}
|
|
88
|
+
}, [hiddenRef]);
|
|
89
|
+
|
|
90
|
+
var generateChipData = function generateChipData(chip) {
|
|
91
|
+
return "".concat(chip.key).concat(chip.delimiter ? chip.delimiter : ':', " ").concat(chip.value);
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
(0, _react.useEffect)(function () {
|
|
95
|
+
handleResize();
|
|
96
|
+
}, [handleResize]);
|
|
97
|
+
(0, _react.useEffect)(function () {
|
|
98
|
+
if (hiddenRef !== null && hiddenRef !== void 0 && hiddenRef.current) {
|
|
99
|
+
window.addEventListener('resize', handleResize);
|
|
100
|
+
return function () {
|
|
101
|
+
return window.removeEventListener('resize', handleResize);
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
}, [handleResize, hiddenRef]);
|
|
105
|
+
(0, _react.useEffect)(function () {
|
|
106
|
+
if (hiddenRef !== null && hiddenRef !== void 0 && hiddenRef.current) {
|
|
107
|
+
var scrollableParent = (0, _getFirstScrollableParent.getFirstScrollableParentUtil)(hiddenRef.current.offsetParent);
|
|
108
|
+
|
|
109
|
+
var _hiddenRef$current$ge = hiddenRef.current.getBoundingClientRect(),
|
|
110
|
+
height = _hiddenRef$current$ge.height,
|
|
111
|
+
top = _hiddenRef$current$ge.top;
|
|
112
|
+
|
|
113
|
+
var _ref$current$getBound = ref.current.getBoundingClientRect(),
|
|
114
|
+
right = _ref$current$getBound.right;
|
|
115
|
+
|
|
116
|
+
if (hiddenRef.current.offsetParent.getBoundingClientRect().top - hiddenRef.current.offsetParent.clientHeight - height - offset < 0 || scrollableParent.getBoundingClientRect().top > top) {
|
|
117
|
+
setIsTop(true);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
setIsRight(right <= windowHalfWidth);
|
|
121
|
+
setIsVisible(true);
|
|
122
|
+
}
|
|
123
|
+
}, [hiddenRef, isRight, offset, ref, windowHalfWidth]);
|
|
124
|
+
(0, _react.useEffect)(function () {
|
|
125
|
+
if (chips.length === 0) {
|
|
126
|
+
handleShowElements();
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
130
|
+
ref: hiddenRef,
|
|
131
|
+
className: hiddenChipsBlockClassNames,
|
|
132
|
+
children: chips === null || chips === void 0 ? void 0 : chips.map(function (element, index) {
|
|
133
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Tooltip, {
|
|
134
|
+
template: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.TextTooltipTemplate, {
|
|
135
|
+
text: element.delimiter ? /*#__PURE__*/(0, _jsxRuntime.jsxs)("span", {
|
|
136
|
+
className: "chip__content",
|
|
137
|
+
children: [element.key, /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
138
|
+
className: "chip__delimiter",
|
|
139
|
+
children: element.delimiter
|
|
140
|
+
}), element.value]
|
|
141
|
+
}) : generateChipData(element)
|
|
142
|
+
}),
|
|
143
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_FormChip.default, {
|
|
144
|
+
chip: element,
|
|
145
|
+
chipClassNames: chipClassNames,
|
|
146
|
+
chipIndex: index + chipIndex,
|
|
147
|
+
chipOptions: chipOptions,
|
|
148
|
+
className: className,
|
|
149
|
+
editConfig: editConfig,
|
|
150
|
+
handleEditChip: handleEditChip,
|
|
151
|
+
handleIsEdit: handleIsEdit,
|
|
152
|
+
handleRemoveChip: handleRemoveChip,
|
|
153
|
+
hiddenChips: true,
|
|
154
|
+
isEditMode: isEditMode,
|
|
155
|
+
ref: hiddenRef,
|
|
156
|
+
setChipsSizes: setChipsSizes,
|
|
157
|
+
setEditConfig: setEditConfig,
|
|
158
|
+
showChips: true,
|
|
159
|
+
textOverflowEllipsis: true
|
|
160
|
+
})
|
|
161
|
+
}, element.value);
|
|
162
|
+
})
|
|
163
|
+
});
|
|
164
|
+
});
|
|
165
|
+
|
|
166
|
+
HiddenChipsBlock.defaultProps = {
|
|
167
|
+
chips: [],
|
|
168
|
+
chipIndex: 0,
|
|
169
|
+
editConfig: {},
|
|
170
|
+
isEditMode: false
|
|
171
|
+
};
|
|
172
|
+
HiddenChipsBlock.propTypes = {
|
|
173
|
+
chipClassNames: _propTypes.default.string.isRequired,
|
|
174
|
+
chipIndex: _propTypes.default.number,
|
|
175
|
+
chipOptions: _types.CHIP_OPTIONS.isRequired,
|
|
176
|
+
chips: _propTypes.default.array.isRequired,
|
|
177
|
+
className: _propTypes.default.string,
|
|
178
|
+
editConfig: _propTypes.default.shape({}),
|
|
179
|
+
handleEditChip: _propTypes.default.func.isRequired,
|
|
180
|
+
handleIsEdit: _propTypes.default.func.isRequired,
|
|
181
|
+
handleRemoveChip: _propTypes.default.func.isRequired,
|
|
182
|
+
handleShowElements: _propTypes.default.func.isRequired,
|
|
183
|
+
isEditMode: _propTypes.default.bool,
|
|
184
|
+
setEditConfig: _propTypes.default.func.isRequired,
|
|
185
|
+
setChipsSizes: _propTypes.default.func.isRequired
|
|
186
|
+
};
|
|
187
|
+
var _default = HiddenChipsBlock;
|
|
188
|
+
exports.default = _default;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
@import '../../scss/variables';
|
|
2
|
+
@import '../../scss/colors';
|
|
3
|
+
@import '../../scss/shadows';
|
|
4
|
+
@import '../../scss/borders';
|
|
5
|
+
@import '../../scss/mixins';
|
|
6
|
+
|
|
7
|
+
.chip-block-hidden {
|
|
8
|
+
position: absolute;
|
|
9
|
+
right: 0;
|
|
10
|
+
z-index: 6;
|
|
11
|
+
display: flex;
|
|
12
|
+
flex-flow: row wrap;
|
|
13
|
+
min-width: 250px;
|
|
14
|
+
max-width: 45vw;
|
|
15
|
+
padding: 10px;
|
|
16
|
+
background-color: $white;
|
|
17
|
+
border-radius: $mainBorderRadius;
|
|
18
|
+
box-shadow: $hiddenChipsBlockShadow;
|
|
19
|
+
opacity: 0;
|
|
20
|
+
|
|
21
|
+
&_bottom {
|
|
22
|
+
bottom: 112%;
|
|
23
|
+
|
|
24
|
+
&::after {
|
|
25
|
+
@include hiddenChipBlockArrow();
|
|
26
|
+
|
|
27
|
+
bottom: -6px;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
&_top {
|
|
32
|
+
top: 112%;
|
|
33
|
+
|
|
34
|
+
&::before {
|
|
35
|
+
@include hiddenChipBlockArrow();
|
|
36
|
+
|
|
37
|
+
top: -6px;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
&_left {
|
|
42
|
+
&::before {
|
|
43
|
+
right: 20px;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
&::after {
|
|
47
|
+
right: 20px;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
&_right {
|
|
52
|
+
right: unset;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
&_visible {
|
|
56
|
+
opacity: 1;
|
|
57
|
+
}
|
|
58
|
+
}
|
package/dist/scss/mixins.scss
CHANGED
|
@@ -1041,27 +1041,19 @@
|
|
|
1041
1041
|
}
|
|
1042
1042
|
|
|
1043
1043
|
&-dense {
|
|
1044
|
-
|
|
1045
|
-
height: $fieldDense;
|
|
1046
|
-
}
|
|
1044
|
+
height: $fieldDense;
|
|
1047
1045
|
}
|
|
1048
1046
|
|
|
1049
1047
|
&-normal {
|
|
1050
|
-
|
|
1051
|
-
height: $fieldNormal;
|
|
1052
|
-
}
|
|
1048
|
+
height: $fieldNormal;
|
|
1053
1049
|
}
|
|
1054
1050
|
|
|
1055
1051
|
&-medium {
|
|
1056
|
-
|
|
1057
|
-
height: $fieldMedium;
|
|
1058
|
-
}
|
|
1052
|
+
height: $fieldMedium;
|
|
1059
1053
|
}
|
|
1060
1054
|
|
|
1061
1055
|
&-chunky {
|
|
1062
|
-
|
|
1063
|
-
height: $fieldChunky;
|
|
1064
|
-
}
|
|
1056
|
+
height: $fieldChunky;
|
|
1065
1057
|
}
|
|
1066
1058
|
}
|
|
1067
1059
|
|
|
@@ -1131,8 +1123,16 @@
|
|
|
1131
1123
|
|
|
1132
1124
|
&:focus:not(:disabled),
|
|
1133
1125
|
&:active:not(:disabled) {
|
|
1134
|
-
|
|
1135
|
-
|
|
1126
|
+
animation: pulse-animation 0.5s ease-out;
|
|
1127
|
+
}
|
|
1128
|
+
|
|
1129
|
+
@keyframes pulse-animation {
|
|
1130
|
+
20% {
|
|
1131
|
+
box-shadow: 0 0 0 0 rgba($cornflowerBlue, 0.5);
|
|
1132
|
+
}
|
|
1133
|
+
100% {
|
|
1134
|
+
box-shadow: 0 0 0 6px rgba($cornflowerBlue, 0);
|
|
1135
|
+
}
|
|
1136
1136
|
}
|
|
1137
1137
|
|
|
1138
1138
|
&:hover {
|
package/dist/types.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.WIZARD_STEPS_CONFIG = exports.SELECT_OPTIONS = exports.SELECT_OPTION = exports.POP_UP_CUSTOM_POSITION = exports.MODAL_SIZES = exports.INPUT_VALIDATION_RULES = exports.INPUT_LINK = exports.CONFIRM_DIALOG_SUBMIT_BUTTON = exports.CONFIRM_DIALOG_CANCEL_BUTTON = exports.COMBOBOX_VALIDATION_RULES = exports.COMBOBOX_SUGGESTION_LIST = exports.COMBOBOX_SELECT_OPTIONS = exports.BUTTON_VARIANTS = void 0;
|
|
6
|
+
exports.WIZARD_STEPS_CONFIG = exports.SELECT_OPTIONS = exports.SELECT_OPTION = exports.POP_UP_CUSTOM_POSITION = exports.MODAL_SIZES = exports.INPUT_VALIDATION_RULES = exports.INPUT_LINK = exports.CONFIRM_DIALOG_SUBMIT_BUTTON = exports.CONFIRM_DIALOG_CANCEL_BUTTON = exports.COMBOBOX_VALIDATION_RULES = exports.COMBOBOX_SUGGESTION_LIST = exports.COMBOBOX_SELECT_OPTIONS = exports.CHIP_OPTIONS = exports.CHIP_INPUT_LIST = exports.CHIPS = exports.CHIP = exports.BUTTON_VARIANTS = void 0;
|
|
7
7
|
|
|
8
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
9
|
|
|
@@ -15,6 +15,40 @@ var BUTTON_VARIANTS = _propTypes.default.oneOf([_constants.PRIMARY_BUTTON, _cons
|
|
|
15
15
|
|
|
16
16
|
exports.BUTTON_VARIANTS = BUTTON_VARIANTS;
|
|
17
17
|
|
|
18
|
+
var CHIP = _propTypes.default.shape({
|
|
19
|
+
delimiter: _propTypes.default.element,
|
|
20
|
+
id: _propTypes.default.string,
|
|
21
|
+
value: _propTypes.default.string.isRequired
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
exports.CHIP = CHIP;
|
|
25
|
+
|
|
26
|
+
var CHIP_INPUT_LIST = _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
27
|
+
disabled: _propTypes.default.bool,
|
|
28
|
+
icon: _propTypes.default.element,
|
|
29
|
+
id: _propTypes.default.string.isRequired,
|
|
30
|
+
label: _propTypes.default.string.isRequired,
|
|
31
|
+
subLabel: _propTypes.default.string,
|
|
32
|
+
ui: _propTypes.default.shape({})
|
|
33
|
+
}));
|
|
34
|
+
|
|
35
|
+
exports.CHIP_INPUT_LIST = CHIP_INPUT_LIST;
|
|
36
|
+
|
|
37
|
+
var CHIP_OPTIONS = _propTypes.default.shape({
|
|
38
|
+
background: _propTypes.default.oneOf(['none', 'orange', 'green', 'purple', 'grey', 'sorbus', 'java', 'amethyst']),
|
|
39
|
+
boldValue: _propTypes.default.bool,
|
|
40
|
+
borderColor: _propTypes.default.oneOf(['transparent', 'orange', 'green', 'purple', 'grey']),
|
|
41
|
+
density: _propTypes.default.oneOf(['dense', 'normal', 'medium']),
|
|
42
|
+
font: _propTypes.default.oneOf(['primary', 'white', 'green', 'purple', 'orange']),
|
|
43
|
+
borderRadius: _propTypes.default.oneOf(['primary', 'secondary'])
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
exports.CHIP_OPTIONS = CHIP_OPTIONS;
|
|
47
|
+
|
|
48
|
+
var CHIPS = _propTypes.default.arrayOf(CHIP);
|
|
49
|
+
|
|
50
|
+
exports.CHIPS = CHIPS;
|
|
51
|
+
|
|
18
52
|
var POP_UP_CUSTOM_POSITION = _propTypes.default.shape({
|
|
19
53
|
element: _propTypes.default.shape({}),
|
|
20
54
|
position: _propTypes.default.oneOf(['top-left', 'top-right', 'bottom-left', 'bottom-right'])
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.generateChipsList = void 0;
|
|
7
|
+
|
|
8
|
+
var generateChipsList = function generateChipsList(chips, maxLength) {
|
|
9
|
+
if (chips.length > maxLength) {
|
|
10
|
+
var hiddenChipsNumber = "+ ".concat(chips.length - maxLength);
|
|
11
|
+
var hiddenChips = chips.slice(maxLength);
|
|
12
|
+
var visibleChips = chips.slice(0, maxLength);
|
|
13
|
+
return {
|
|
14
|
+
visibleChips: visibleChips,
|
|
15
|
+
hiddenChips: hiddenChips,
|
|
16
|
+
hiddenChipsNumber: hiddenChipsNumber
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
return {
|
|
21
|
+
visibleChips: chips
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
exports.generateChipsList = generateChipsList;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getFirstScrollableParentUtil = void 0;
|
|
7
|
+
var regex = /(auto|scroll|hidden)/;
|
|
8
|
+
|
|
9
|
+
var style = function style(node, prop) {
|
|
10
|
+
return getComputedStyle(node, null).getPropertyValue(prop);
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
var scroll = function scroll(node) {
|
|
14
|
+
return regex.test(style(node, 'overflow') + style(node, 'overflow-y') + style(node, 'overflow-x'));
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
var getFirstScrollableParentUtil = function getFirstScrollableParentUtil(node) {
|
|
18
|
+
return !node || node === document.body ? document.body : scroll(node) ? node : getFirstScrollableParentUtil(node.parentNode);
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
exports.getFirstScrollableParentUtil = getFirstScrollableParentUtil;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "iguazio.dashboard-react-controls",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.16",
|
|
4
4
|
"description": "Collection of resources (such as CSS styles, fonts and images) and ReactJS 17.x components to share among different Iguazio React repos.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.js",
|