linear-react-components-ui 1.0.12-beta.1 → 1.0.12-beta.10
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/@types/PointerEvents.d.ts +1 -1
- package/lib/assets/styles/icon.scss +8 -0
- package/lib/assets/styles/multiSelect.scss +28 -13
- package/lib/assets/styles/select.scss +34 -12
- package/lib/assets/styles/sidenav.scss +108 -43
- package/lib/buttons/button_container/index.js +1 -0
- package/lib/dialog/Custom.js +1 -1
- package/lib/dialog/form/index.js +1 -1
- package/lib/dialog/types.d.ts +2 -2
- package/lib/form/types.d.ts +2 -0
- package/lib/icons/helper.d.ts +8 -0
- package/lib/icons/helper.js +8 -0
- package/lib/icons/index.d.ts +6 -2
- package/lib/icons/index.js +44 -23
- package/lib/icons/types.d.ts +6 -0
- package/lib/inputs/mask/helpers.js +1 -1
- package/lib/inputs/mask/imaskHOC.js +24 -1
- package/lib/inputs/mask/types.d.ts +1 -0
- package/lib/inputs/textarea/index.js +1 -1
- package/lib/inputs/types.d.ts +1 -0
- package/lib/menus/sidenav/NavMenuItem.js +13 -1
- package/lib/table/HeaderColumn.d.ts +1 -1
- package/lib/table/HeaderColumn.js +3 -1
- package/lib/table/types.d.ts +1 -0
- package/package.json +1 -1
- package/lib/alerts/alert.spec.js +0 -133
- package/lib/avatar/avatar.spec.js +0 -190
- package/lib/badge/badge.spec.js +0 -127
- package/lib/buttons/SpinnerLoading.js +0 -230
- package/lib/buttons/buttons.spec.js +0 -504
- package/lib/calendar/calendar.spec.js +0 -171
- package/lib/checkbox/checkbox.spec.js +0 -215
- package/lib/dialog/dialog.spec.js +0 -488
- package/lib/drawer/Drawer.spec.js +0 -258
- package/lib/dropdown/dropdown.spec.js +0 -169
- package/lib/fieldset/fieldset.spec.js +0 -329
- package/lib/form/form.spec.js +0 -293
- package/lib/gridlayout/gridLayout.spec.js +0 -169
- package/lib/icons/icons.spec.js +0 -86
- package/lib/inputs/base/base.spec.js +0 -690
- package/lib/inputs/base/index.js +0 -1
- package/lib/inputs/color/color_input.spec.js +0 -174
- package/lib/inputs/date/date.spec.js +0 -354
- package/lib/inputs/mask/input_mask.spec.js +0 -607
- package/lib/inputs/number/numberfield.spec.js +0 -215
- package/lib/inputs/search/search_input.spec.js +0 -209
- package/lib/inputs/select/select.spec.js +0 -395
- package/lib/inputs/text/textfield.spec.js +0 -215
- package/lib/inputs/textarea/textarea.spec.js +0 -59
- package/lib/labelMessages/labelMessages.spec.js +0 -176
- package/lib/labels/label.spec.js +0 -162
- package/lib/list/list.spec.js +0 -769
- package/lib/menus/float/float-menu.spec.js +0 -221
- package/lib/menus/sidenav/sidenav.spec.js +0 -379
- package/lib/panel/panel.spec.js +0 -216
- package/lib/popover/popover.spec.js +0 -146
- package/lib/progress/progress.spec.js +0 -94
- package/lib/radio/radio.spec.js +0 -189
- package/lib/spinner/spinner.spec.js +0 -152
- package/lib/split/split.spec.js +0 -163
- package/lib/table/table.spec.js +0 -352
- package/lib/tabs/tabs.spec.js +0 -321
- package/lib/toolbar/toolbar.spec.js +0 -394
- package/lib/tooltip/tooltip.spec.js +0 -215
- package/lib/treeview/treeview.spec.js +0 -279
- package/lib/uitour/uitour.spec.js +0 -176
package/lib/form/types.d.ts
CHANGED
package/lib/icons/helper.d.ts
CHANGED
|
@@ -591,6 +591,14 @@ declare const _default: {
|
|
|
591
591
|
viewbox: string;
|
|
592
592
|
paths: string[];
|
|
593
593
|
};
|
|
594
|
+
videoCamFill: {
|
|
595
|
+
viewbox: string;
|
|
596
|
+
paths: string[];
|
|
597
|
+
};
|
|
598
|
+
videoCamOutline: {
|
|
599
|
+
viewbox: string;
|
|
600
|
+
paths: string[];
|
|
601
|
+
};
|
|
594
602
|
};
|
|
595
603
|
|
|
596
604
|
export { _default as default };
|
package/lib/icons/helper.js
CHANGED
|
@@ -596,6 +596,14 @@ var _default = {
|
|
|
596
596
|
download: {
|
|
597
597
|
viewbox: '0 0 16 16',
|
|
598
598
|
paths: ['M12.5 6h-3.5v-4h-2v4h-3.5l4.5 4zM11.611 8.322l-0.525 0.462c1.746 0.35 2.914 0.987 2.914 1.716 0 1.105-2.686 2-6 2s-6-0.895-6-2c0-0.728 1.168-1.366 2.914-1.716l-0.525-0.462c-2.604 0.495-4.389 1.508-4.389 2.678 0 1.657 3.582 3 8 3s8-1.343 8-3c0-1.17-1.785-2.183-4.389-2.678z']
|
|
599
|
+
},
|
|
600
|
+
videoCamFill: {
|
|
601
|
+
viewbox: '0 0 16 16',
|
|
602
|
+
paths: ['M15.294 4.004c-0.165 0-0.335 0.058-0.491 0.168l-2.803 1.978v-1.651c0-0.825-0.675-1.5-1.5-1.5h-9c-0.825 0-1.5 0.675-1.5 1.5v7c0 0.825 0.675 1.5 1.5 1.5h9c0.825 0 1.5-0.675 1.5-1.5v-1.65l2.803 1.978c0.156 0.11 0.326 0.168 0.491 0.168 0 0 0 0 0 0 0.22 0 0.421-0.101 0.551-0.278 0.101-0.137 0.154-0.313 0.154-0.51v-6.415c-0-0.518-0.355-0.788-0.706-0.788zM4 11v-6l5 3-5 3z']
|
|
603
|
+
},
|
|
604
|
+
videoCamOutline: {
|
|
605
|
+
viewbox: '0 0 16 16',
|
|
606
|
+
paths: ['M15.294 4.004c-0.165 0-0.335 0.058-0.491 0.168l-2.803 1.978v-1.651c0-0.825-0.675-1.5-1.5-1.5h-9c-0.825 0-1.5 0.675-1.5 1.5v7c0 0.825 0.675 1.5 1.5 1.5h9c0.825 0 1.5-0.675 1.5-1.5v-1.65l2.803 1.978c0.156 0.11 0.326 0.168 0.491 0.168 0 0 0 0 0 0 0.22 0 0.421-0.101 0.551-0.278 0.101-0.137 0.154-0.313 0.154-0.51v-6.415c-0-0.518-0.355-0.788-0.706-0.788zM15 10.743l-2.469-1.743h-1.531v2.5c0 0.271-0.229 0.5-0.5 0.5h-9c-0.271 0-0.5-0.229-0.5-0.5v-7c0-0.271 0.229-0.5 0.5-0.5h9c0.271 0 0.5 0.229 0.5 0.5v2.5h1.531l2.469-1.743v5.486z', 'M4 5l5 3-5 3z']
|
|
599
607
|
}
|
|
600
608
|
};
|
|
601
609
|
exports.default = _default;
|
package/lib/icons/index.d.ts
CHANGED
|
@@ -4,7 +4,11 @@ import '../@types/PointerEvents.js';
|
|
|
4
4
|
import '../@types/SizePixels.js';
|
|
5
5
|
import '../@types/Icon.js';
|
|
6
6
|
import './helper.js';
|
|
7
|
+
import '../@types/Position.js';
|
|
7
8
|
|
|
8
|
-
declare const
|
|
9
|
+
declare const _default: {
|
|
10
|
+
(props: IIconProps): JSX.Element;
|
|
11
|
+
displayName: string;
|
|
12
|
+
};
|
|
9
13
|
|
|
10
|
-
export {
|
|
14
|
+
export { _default as default };
|
package/lib/icons/index.js
CHANGED
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
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); }
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
6
7
|
exports.default = void 0;
|
|
7
|
-
var _react =
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
9
|
var _helper = _interopRequireDefault(require("./helper"));
|
|
10
|
+
var _withTooltip = _interopRequireDefault(require("../internals/withTooltip"));
|
|
9
11
|
require("../assets/styles/icon.scss");
|
|
10
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
+
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); }
|
|
14
|
+
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; }
|
|
11
15
|
var listIcon = _helper.default;
|
|
12
16
|
var disabledIconColor = 'rgb(193, 193, 193)';
|
|
13
17
|
var Icon = function Icon(_ref) {
|
|
14
|
-
var _getPaths;
|
|
15
18
|
var name = _ref.name,
|
|
16
19
|
_onClick = _ref.onClick,
|
|
17
20
|
svgStruct = _ref.svgStruct,
|
|
@@ -25,34 +28,52 @@ var Icon = function Icon(_ref) {
|
|
|
25
28
|
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
26
29
|
_ref$customClass = _ref.customClass,
|
|
27
30
|
customClass = _ref$customClass === void 0 ? '' : _ref$customClass,
|
|
31
|
+
_ref$customClassForCo = _ref.customClassForContainer,
|
|
32
|
+
customClassForContainer = _ref$customClassForCo === void 0 ? '' : _ref$customClassForCo,
|
|
28
33
|
_ref$color = _ref.color,
|
|
29
34
|
color = _ref$color === void 0 ? '#676464' : _ref$color,
|
|
30
35
|
_ref$pointerEvents = _ref.pointerEvents,
|
|
31
|
-
pointerEvents = _ref$pointerEvents === void 0 ? 'none' : _ref$pointerEvents
|
|
36
|
+
pointerEvents = _ref$pointerEvents === void 0 ? 'none' : _ref$pointerEvents,
|
|
37
|
+
targetRef = _ref.targetRef,
|
|
38
|
+
tooltip = _ref.tooltip;
|
|
39
|
+
var refSvg = (0, _react.useRef)(null);
|
|
32
40
|
var getPaths = function getPaths() {
|
|
33
41
|
return name ? listIcon[name].paths : svgStruct === null || svgStruct === void 0 ? void 0 : svgStruct.paths;
|
|
34
42
|
};
|
|
43
|
+
var getSvg = function getSvg() {
|
|
44
|
+
var _getPaths;
|
|
45
|
+
return /*#__PURE__*/_react.default.createElement("svg", {
|
|
46
|
+
"data-testid": "icon",
|
|
47
|
+
onClick: function onClick() {
|
|
48
|
+
if (_onClick && !disabled) _onClick();
|
|
49
|
+
},
|
|
50
|
+
ref: function ref(r) {
|
|
51
|
+
refSvg.current = r;
|
|
52
|
+
},
|
|
53
|
+
width: "".concat(size, "px"),
|
|
54
|
+
height: "".concat(size, "px"),
|
|
55
|
+
fill: disabled ? disabledIconColor : color,
|
|
56
|
+
viewBox: name ? listIcon[name].viewbox : svgStruct === null || svgStruct === void 0 ? void 0 : svgStruct.viewbox,
|
|
57
|
+
className: "icon-component ".concat(customClass),
|
|
58
|
+
pointerEvents: pointerEvents,
|
|
59
|
+
style: style
|
|
60
|
+
}, (_getPaths = getPaths()) === null || _getPaths === void 0 ? void 0 : _getPaths.map(function (value) {
|
|
61
|
+
return /*#__PURE__*/_react.default.createElement("path", {
|
|
62
|
+
"data-testid": "icon-path",
|
|
63
|
+
d: value,
|
|
64
|
+
key: value
|
|
65
|
+
});
|
|
66
|
+
}));
|
|
67
|
+
};
|
|
35
68
|
if (!name && !svgStruct) throw new Error('One of the "name" and "svgStruct" props must be filled');
|
|
36
69
|
if (!visible) return null;
|
|
37
|
-
return
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
fill: disabled ? disabledIconColor : color,
|
|
45
|
-
viewBox: name ? listIcon[name].viewbox : svgStruct === null || svgStruct === void 0 ? void 0 : svgStruct.viewbox,
|
|
46
|
-
className: "icon-component ".concat(customClass),
|
|
47
|
-
pointerEvents: pointerEvents,
|
|
48
|
-
style: style
|
|
49
|
-
}, (_getPaths = getPaths()) === null || _getPaths === void 0 ? void 0 : _getPaths.map(function (value) {
|
|
50
|
-
return /*#__PURE__*/_react.default.createElement("path", {
|
|
51
|
-
"data-testid": "icon-path",
|
|
52
|
-
d: value,
|
|
53
|
-
key: value
|
|
54
|
-
});
|
|
55
|
-
}));
|
|
70
|
+
if (!tooltip) return getSvg();
|
|
71
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
72
|
+
className: "icon-component-container ".concat(customClassForContainer),
|
|
73
|
+
ref: function ref(r) {
|
|
74
|
+
if (targetRef && r) targetRef(r);
|
|
75
|
+
}
|
|
76
|
+
}, getSvg());
|
|
56
77
|
};
|
|
57
|
-
var _default = Icon;
|
|
78
|
+
var _default = (0, _withTooltip.default)(Icon);
|
|
58
79
|
exports.default = _default;
|
package/lib/icons/types.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { CSSProperties } from 'react';
|
|
|
2
2
|
import { PointerEvents } from '../@types/PointerEvents.js';
|
|
3
3
|
import { SizePixels } from '../@types/SizePixels.js';
|
|
4
4
|
import { IconNames } from '../@types/Icon.js';
|
|
5
|
+
import { Position } from '../@types/Position.js';
|
|
5
6
|
import './helper.js';
|
|
6
7
|
|
|
7
8
|
type ListIconType = {
|
|
@@ -14,6 +15,7 @@ interface IIconProps {
|
|
|
14
15
|
size?: SizePixels;
|
|
15
16
|
color?: string;
|
|
16
17
|
customClass?: string;
|
|
18
|
+
customClassForContainer?: string;
|
|
17
19
|
style?: CSSProperties;
|
|
18
20
|
visible?: boolean;
|
|
19
21
|
disabled?: boolean;
|
|
@@ -25,6 +27,10 @@ interface IIconProps {
|
|
|
25
27
|
paths: Array<string>;
|
|
26
28
|
};
|
|
27
29
|
onClick?: () => void;
|
|
30
|
+
tooltipPosition?: Exclude<Position, 'center'>;
|
|
31
|
+
tooltipWidth?: string | number;
|
|
32
|
+
tooltip?: string;
|
|
33
|
+
targetRef?: (ref: HTMLDivElement) => void;
|
|
28
34
|
}
|
|
29
35
|
|
|
30
36
|
export { IIconProps, ListIconType };
|
|
@@ -12,7 +12,7 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
12
12
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
13
13
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
14
14
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
15
|
-
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
15
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
16
16
|
/* eslint-disable no-plusplus */
|
|
17
17
|
function extractNonMaskProps(props, maskProps) {
|
|
18
18
|
var nonMask = _objectSpread({}, props);
|
|
@@ -60,7 +60,8 @@ var IMaskHOC = function IMaskHOC(ComposedComponent) {
|
|
|
60
60
|
value = _props$value === void 0 ? '' : _props$value,
|
|
61
61
|
onChange = props.onChange,
|
|
62
62
|
_props$isDateField = props.isDateField,
|
|
63
|
-
isDateField = _props$isDateField === void 0 ? false : _props$isDateField
|
|
63
|
+
isDateField = _props$isDateField === void 0 ? false : _props$isDateField,
|
|
64
|
+
autoCompleteMask = props.autoCompleteMask;
|
|
64
65
|
var maskOptions = {
|
|
65
66
|
placeholderChar: placeholderChar === '' ? ' ' : placeholderChar,
|
|
66
67
|
lazy: lazy,
|
|
@@ -127,6 +128,24 @@ var IMaskHOC = function IMaskHOC(ComposedComponent) {
|
|
|
127
128
|
}, props.unmask ? unmaskedValue : maskRef.current.value);
|
|
128
129
|
}
|
|
129
130
|
}, [props.onComplete]);
|
|
131
|
+
var autoCompleteMaskValue = (0, _react.useCallback)(function (eventTargetValue) {
|
|
132
|
+
if (autoCompleteMask && eventTargetValue.length && maskRef.current && elementRef.current) {
|
|
133
|
+
var sizeMask = maskRef.current.mask.toString().replace(/\D+/g, '').length;
|
|
134
|
+
if (sizeMask > eventTargetValue.length) {
|
|
135
|
+
switch (autoCompleteMask) {
|
|
136
|
+
case 'left':
|
|
137
|
+
setValue(eventTargetValue.padStart(sizeMask, '0'));
|
|
138
|
+
break;
|
|
139
|
+
case 'right':
|
|
140
|
+
setValue(eventTargetValue.padEnd(sizeMask, '0'));
|
|
141
|
+
break;
|
|
142
|
+
default:
|
|
143
|
+
setValue(eventTargetValue);
|
|
144
|
+
break;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}, [autoCompleteMask, maskRef.current, elementRef.current]);
|
|
130
149
|
var getMask = function getMask() {
|
|
131
150
|
var element = elementRef.current;
|
|
132
151
|
if (element) {
|
|
@@ -182,6 +201,10 @@ var IMaskHOC = function IMaskHOC(ComposedComponent) {
|
|
|
182
201
|
return /*#__PURE__*/_react.default.createElement(ComposedComponent, _extends({}, helpers.extractNonMaskProps(props, maskOptions), {
|
|
183
202
|
onDeniedActions: onDenied,
|
|
184
203
|
defaultValue: value,
|
|
204
|
+
onBlur: function onBlur(e) {
|
|
205
|
+
autoCompleteMaskValue(e.target.value);
|
|
206
|
+
if (props.onBlur) props.onBlur(e);
|
|
207
|
+
},
|
|
185
208
|
onChange: function onChange(e) {
|
|
186
209
|
return setValue(e.target.value);
|
|
187
210
|
},
|
|
@@ -7,7 +7,7 @@ exports.default = void 0;
|
|
|
7
7
|
var _react = _interopRequireDefault(require("react"));
|
|
8
8
|
var _InputTextBase = _interopRequireDefault(require("../base/InputTextBase"));
|
|
9
9
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }
|
|
10
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }
|
|
11
11
|
var TextArea = function TextArea(props) {
|
|
12
12
|
var rows = props.rows,
|
|
13
13
|
cols = props.cols,
|
package/lib/inputs/types.d.ts
CHANGED
|
@@ -6,11 +6,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.default = void 0;
|
|
8
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _withTooltip = _interopRequireDefault(require("../../internals/withTooltip"));
|
|
9
10
|
var _icons = _interopRequireDefault(require("../../icons"));
|
|
10
11
|
var _MenuLink = _interopRequireDefault(require("./MenuLink"));
|
|
11
12
|
var _helpers = require("./helpers");
|
|
12
13
|
var _permissionValidations = require("../../permissionValidations");
|
|
13
|
-
var _withTooltip = _interopRequireDefault(require("../../internals/withTooltip"));
|
|
14
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
15
|
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); }
|
|
16
16
|
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; }
|
|
@@ -44,6 +44,8 @@ var NavMenuItem = function NavMenuItem(props) {
|
|
|
44
44
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
45
45
|
targetDimensions = _useState4[0],
|
|
46
46
|
setTargetDimensions = _useState4[1];
|
|
47
|
+
var submenuContainerRef = (0, _react.useRef)(null);
|
|
48
|
+
var submenuContentRef = (0, _react.useRef)(null);
|
|
47
49
|
var options = [_permissionValidations.OPTIONS_ON_DENIED.disabled, _permissionValidations.OPTIONS_ON_DENIED.unvisible];
|
|
48
50
|
var _useState5 = (0, _react.useState)((0, _permissionValidations.actionsOnPermissionDenied)(options, permissionAttr)),
|
|
49
51
|
_useState6 = _slicedToArray(_useState5, 1),
|
|
@@ -65,6 +67,13 @@ var NavMenuItem = function NavMenuItem(props) {
|
|
|
65
67
|
var contextValues = {
|
|
66
68
|
toggleSubMenu: toggleSubMenu
|
|
67
69
|
};
|
|
70
|
+
(0, _react.useEffect)(function () {
|
|
71
|
+
var _submenuContainerRef$, _submenuContentRef$cu, _submenuContentRef$cu2;
|
|
72
|
+
var heigthSubmenuContainer = ((_submenuContainerRef$ = submenuContainerRef.current) === null || _submenuContainerRef$ === void 0 ? void 0 : _submenuContainerRef$.clientHeight) || 0;
|
|
73
|
+
var heigthSubmenuContent = ((_submenuContentRef$cu = submenuContentRef.current) === null || _submenuContentRef$cu === void 0 ? void 0 : _submenuContentRef$cu.clientHeight) || 0;
|
|
74
|
+
var maxHeigthSubMenu = (window.innerHeight - targetDimensions.top - (heigthSubmenuContainer - heigthSubmenuContent) - 1).toString().concat('px') || '0px';
|
|
75
|
+
(_submenuContentRef$cu2 = submenuContentRef.current) === null || _submenuContentRef$cu2 === void 0 ? void 0 : _submenuContentRef$cu2.style.setProperty('max-height', maxHeigthSubMenu);
|
|
76
|
+
}, [showSubMenu]);
|
|
68
77
|
if (unvisible) return null;
|
|
69
78
|
return /*#__PURE__*/_react.default.createElement(_helpers.SubMenuContext.Provider, {
|
|
70
79
|
value: contextValues
|
|
@@ -84,10 +93,12 @@ var NavMenuItem = function NavMenuItem(props) {
|
|
|
84
93
|
}), /*#__PURE__*/_react.default.createElement(_react.Fragment, null, iconName && /*#__PURE__*/_react.default.createElement(_icons.default, {
|
|
85
94
|
name: iconName,
|
|
86
95
|
size: menuSize === 'small' && 16 || menuSize === 'medium' && 24 || menuSize === 'large' && 32 || 16,
|
|
96
|
+
customClassForContainer: "menuicon-container",
|
|
87
97
|
customClass: "menuicon"
|
|
88
98
|
}), isExpanded && /*#__PURE__*/_react.default.createElement("span", {
|
|
89
99
|
className: "title"
|
|
90
100
|
}, title), !childrenIsSubMenu && children)), showSubMenu && children && childrenIsSubMenu && !disabled && !openSearchMenuPopup && /*#__PURE__*/_react.default.createElement("div", {
|
|
101
|
+
ref: submenuContainerRef,
|
|
91
102
|
className: "submenu-container",
|
|
92
103
|
style: {
|
|
93
104
|
marginLeft: targetDimensions.width,
|
|
@@ -98,6 +109,7 @@ var NavMenuItem = function NavMenuItem(props) {
|
|
|
98
109
|
}, /*#__PURE__*/_react.default.createElement("h1", {
|
|
99
110
|
className: "title"
|
|
100
111
|
}, title), /*#__PURE__*/_react.default.createElement("div", {
|
|
112
|
+
ref: submenuContentRef,
|
|
101
113
|
className: "submenu",
|
|
102
114
|
style: {
|
|
103
115
|
gridTemplateColumns: "repeat(".concat(columnsQtty, ", 1fr)")
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ITableHeaderProps } from './types.js';
|
|
2
2
|
import 'react';
|
|
3
3
|
|
|
4
|
-
declare const HeaderColumn: ({ customClass, style, children, textAlign, visible, }: ITableHeaderProps) => JSX.Element | null;
|
|
4
|
+
declare const HeaderColumn: ({ customClass, style, children, textAlign, visible, id, }: ITableHeaderProps) => JSX.Element | null;
|
|
5
5
|
|
|
6
6
|
export { HeaderColumn as default };
|
|
@@ -17,7 +17,8 @@ var HeaderColumn = function HeaderColumn(_ref) {
|
|
|
17
17
|
children = _ref.children,
|
|
18
18
|
textAlign = _ref.textAlign,
|
|
19
19
|
_ref$visible = _ref.visible,
|
|
20
|
-
visible = _ref$visible === void 0 ? true : _ref$visible
|
|
20
|
+
visible = _ref$visible === void 0 ? true : _ref$visible,
|
|
21
|
+
id = _ref.id;
|
|
21
22
|
var _useContext = (0, _react.useContext)(_helpers.default),
|
|
22
23
|
skeletonize = _useContext.skeletonize,
|
|
23
24
|
vertical = _useContext.vertical,
|
|
@@ -26,6 +27,7 @@ var HeaderColumn = function HeaderColumn(_ref) {
|
|
|
26
27
|
skeletonInRows = _useContext$skeletonI === void 0 ? 10 : _useContext$skeletonI;
|
|
27
28
|
if (!visible) return null;
|
|
28
29
|
return /*#__PURE__*/_react.default.createElement("th", {
|
|
30
|
+
id: id,
|
|
29
31
|
className: "headercolumn ".concat(customClass, " text-align-").concat(textAlign),
|
|
30
32
|
style: style
|
|
31
33
|
}, skeletonize && (skeletonInHeader || !skeletonInRows) && !vertical ? /*#__PURE__*/_react.default.createElement(_skeleton.default, {
|
package/lib/table/types.d.ts
CHANGED
|
@@ -24,6 +24,7 @@ interface ITableHeaderProps extends TableHTMLAttributes<HTMLTableElement> {
|
|
|
24
24
|
customClass?: string;
|
|
25
25
|
textAlign?: string;
|
|
26
26
|
visible?: boolean;
|
|
27
|
+
id?: string;
|
|
27
28
|
}
|
|
28
29
|
interface ITableBodyProps extends TableHTMLAttributes<HTMLTableElement> {
|
|
29
30
|
children?: ReactNode;
|
package/package.json
CHANGED
package/lib/alerts/alert.spec.js
DELETED
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _react = _interopRequireDefault(require("react"));
|
|
4
|
-
|
|
5
|
-
require("babel-polyfill");
|
|
6
|
-
|
|
7
|
-
require("@testing-library/jest-dom");
|
|
8
|
-
|
|
9
|
-
var _react2 = require("@testing-library/react");
|
|
10
|
-
|
|
11
|
-
var _Message = _interopRequireDefault(require("./Message"));
|
|
12
|
-
|
|
13
|
-
var _icons = _interopRequireDefault(require("../icons"));
|
|
14
|
-
|
|
15
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
16
|
-
|
|
17
|
-
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
18
|
-
|
|
19
|
-
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
20
|
-
|
|
21
|
-
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); }
|
|
22
|
-
|
|
23
|
-
var mockAlert = function mockAlert(props) {
|
|
24
|
-
return /*#__PURE__*/_react.default.createElement(_Message.default, _extends({
|
|
25
|
-
id: 3,
|
|
26
|
-
message: "Alerta",
|
|
27
|
-
position: "rightTop",
|
|
28
|
-
closeButton: true,
|
|
29
|
-
customClass: "mock-alert",
|
|
30
|
-
timeout: 500
|
|
31
|
-
}, props));
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
describe('Alert', function () {
|
|
35
|
-
describe('Message', function () {
|
|
36
|
-
it('should render correctly', function () {
|
|
37
|
-
var mockHandleClose = jest.fn();
|
|
38
|
-
|
|
39
|
-
var _render = (0, _react2.render)(mockAlert({
|
|
40
|
-
handleClose: mockHandleClose
|
|
41
|
-
})),
|
|
42
|
-
container = _render.container;
|
|
43
|
-
|
|
44
|
-
expect(container.firstChild).toBeTruthy();
|
|
45
|
-
expect(container.firstChild).toHaveTextContent('Alerta');
|
|
46
|
-
});
|
|
47
|
-
it('should close with timeout 500ms', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
|
|
48
|
-
var mockHandleClose;
|
|
49
|
-
return regeneratorRuntime.wrap(function _callee$(_context) {
|
|
50
|
-
while (1) {
|
|
51
|
-
switch (_context.prev = _context.next) {
|
|
52
|
-
case 0:
|
|
53
|
-
mockHandleClose = jest.fn();
|
|
54
|
-
(0, _react2.render)(mockAlert({
|
|
55
|
-
handleClose: mockHandleClose
|
|
56
|
-
}));
|
|
57
|
-
_context.next = 4;
|
|
58
|
-
return (0, _react2.waitFor)(function () {
|
|
59
|
-
return expect(mockHandleClose).toBeCalledTimes(1);
|
|
60
|
-
});
|
|
61
|
-
|
|
62
|
-
case 4:
|
|
63
|
-
case "end":
|
|
64
|
-
return _context.stop();
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
}, _callee);
|
|
68
|
-
})));
|
|
69
|
-
it('should apply custom class', function () {
|
|
70
|
-
var mockHandleClose = jest.fn();
|
|
71
|
-
|
|
72
|
-
var _render2 = (0, _react2.render)(mockAlert({
|
|
73
|
-
handleClose: mockHandleClose
|
|
74
|
-
})),
|
|
75
|
-
container = _render2.container;
|
|
76
|
-
|
|
77
|
-
expect(container.firstChild).toHaveClass('mock-alert');
|
|
78
|
-
});
|
|
79
|
-
it('should render icon', function () {
|
|
80
|
-
var mockHandleClose = jest.fn();
|
|
81
|
-
|
|
82
|
-
var _render3 = (0, _react2.render)(mockAlert({
|
|
83
|
-
handleClose: mockHandleClose,
|
|
84
|
-
icon: /*#__PURE__*/_react.default.createElement(_icons.default, {
|
|
85
|
-
name: "user"
|
|
86
|
-
})
|
|
87
|
-
})),
|
|
88
|
-
container = _render3.container,
|
|
89
|
-
getByTestId = _render3.getByTestId;
|
|
90
|
-
|
|
91
|
-
expect(container.querySelector('.-icon')).toContainElement(getByTestId('icon'));
|
|
92
|
-
});
|
|
93
|
-
it('should render icon by iconName', function () {
|
|
94
|
-
var mockHandleClose = jest.fn();
|
|
95
|
-
|
|
96
|
-
var _render4 = (0, _react2.render)(mockAlert({
|
|
97
|
-
handleClose: mockHandleClose,
|
|
98
|
-
iconName: 'user'
|
|
99
|
-
})),
|
|
100
|
-
container = _render4.container,
|
|
101
|
-
getByTestId = _render4.getByTestId;
|
|
102
|
-
|
|
103
|
-
expect(container.querySelector('.-icon')).toContainElement(getByTestId('icon'));
|
|
104
|
-
});
|
|
105
|
-
it('should change icon color', function () {
|
|
106
|
-
var mockHandleClose = jest.fn();
|
|
107
|
-
|
|
108
|
-
var _render5 = (0, _react2.render)(mockAlert({
|
|
109
|
-
handleClose: mockHandleClose,
|
|
110
|
-
iconName: 'user',
|
|
111
|
-
color: 'red'
|
|
112
|
-
})),
|
|
113
|
-
getByTestId = _render5.getByTestId;
|
|
114
|
-
|
|
115
|
-
expect(getByTestId('icon')).toHaveAttribute('fill', 'red');
|
|
116
|
-
});
|
|
117
|
-
it('should fire event on click', function () {
|
|
118
|
-
var mockHandleClose = jest.fn();
|
|
119
|
-
|
|
120
|
-
var _render6 = (0, _react2.render)(mockAlert({
|
|
121
|
-
handleClose: mockHandleClose
|
|
122
|
-
})),
|
|
123
|
-
container = _render6.container,
|
|
124
|
-
getByRole = _render6.getByRole;
|
|
125
|
-
|
|
126
|
-
_react2.fireEvent.click(getByRole('button'));
|
|
127
|
-
|
|
128
|
-
expect(container.querySelector('.close')).toBeInTheDocument();
|
|
129
|
-
expect(container.querySelector('.close-button')).toBeInTheDocument();
|
|
130
|
-
expect(mockHandleClose).toBeCalledTimes(1);
|
|
131
|
-
});
|
|
132
|
-
});
|
|
133
|
-
});
|