linear-react-components-ui 1.1.13 → 1.1.14-beta.0
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/.eslintrc.json +77 -45
- package/.gitlab-ci.yml +5 -13
- package/.tool-versions +1 -0
- package/.vscode/settings.json +3 -12
- package/babel.config.json +4 -4
- package/lib/@types/SizePixels.d.ts +1 -1
- package/lib/alerts/AlertContainer.js +56 -47
- package/lib/alerts/AlertProvider.js +51 -33
- package/lib/alerts/BaseAlert.js +18 -11
- package/lib/alerts/Message.d.ts +1 -1
- package/lib/alerts/Message.js +44 -77
- package/lib/alerts/helpers.js +3 -2
- package/lib/alerts/index.js +3 -2
- package/lib/alerts/types.d.ts +0 -1
- package/lib/alerts/withAlert.js +9 -8
- package/lib/assets/styles/alerts.scss +7 -4
- package/lib/assets/styles/button.scss +9 -11
- package/lib/assets/styles/checkbox.scss +38 -45
- package/lib/assets/styles/colors.scss +1 -3
- package/lib/assets/styles/commons.scss +0 -1
- package/lib/assets/styles/dialog.scss +20 -37
- package/lib/assets/styles/drawers.scss +6 -9
- package/lib/assets/styles/fieldset.scss +0 -3
- package/lib/assets/styles/gridlayout.scss +2 -0
- package/lib/assets/styles/hint.scss +0 -21
- package/lib/assets/styles/icon.scss +4 -31
- package/lib/assets/styles/input.scss +7 -7
- package/lib/assets/styles/multiSelect.scss +1 -6
- package/lib/assets/styles/radio.scss +35 -37
- package/lib/assets/styles/select.scss +7 -13
- package/lib/assets/styles/table.scss +1 -9
- package/lib/assets/styles/tabs.scss +18 -28
- package/lib/avatar/index.js +39 -39
- package/lib/badge/index.js +13 -11
- package/lib/buttons/ActivateButton.js +7 -4
- package/lib/buttons/AddButton.js +10 -7
- package/lib/buttons/Button.js +9 -8
- package/lib/buttons/ButtonGroups.js +4 -5
- package/lib/buttons/CancelButton.js +5 -6
- package/lib/buttons/DangerButton.js +5 -6
- package/lib/buttons/DefaultButton.js +85 -85
- package/lib/buttons/DestroyButton.js +5 -6
- package/lib/buttons/EditButton.js +7 -4
- package/lib/buttons/InactivateButton.js +7 -4
- package/lib/buttons/InfoButton.js +5 -6
- package/lib/buttons/PrimaryButton.js +5 -6
- package/lib/buttons/RestoreButton.js +7 -4
- package/lib/buttons/SaveButton.js +5 -6
- package/lib/buttons/SuccessButton.js +5 -6
- package/lib/buttons/WarningButton.js +5 -6
- package/lib/buttons/button_container/index.js +19 -15
- package/lib/buttons/index.js +16 -15
- package/lib/buttons/split_button/index.js +23 -20
- package/lib/buttons/types.d.ts +0 -1
- package/lib/calendar/DangerCalendar.js +5 -6
- package/lib/calendar/InfoCalendar.js +5 -6
- package/lib/calendar/PrimaryCalendar.js +5 -6
- package/lib/calendar/SuccessCalendar.js +5 -6
- package/lib/calendar/WarningCalendar.js +5 -6
- package/lib/calendar/base/Day.js +11 -12
- package/lib/calendar/base/Month.js +17 -12
- package/lib/calendar/base/Week.js +17 -12
- package/lib/calendar/base/helpers.js +11 -11
- package/lib/calendar/base/index.js +43 -29
- package/lib/calendar/index.js +7 -6
- package/lib/checkbox/Label.js +9 -19
- package/lib/checkbox/index.d.ts +2 -2
- package/lib/checkbox/index.js +95 -81
- package/lib/checkbox/types.d.ts +1 -2
- package/lib/dialog/Alert.js +4 -3
- package/lib/dialog/Custom.js +16 -14
- package/lib/dialog/Error.js +4 -3
- package/lib/dialog/Information.js +4 -3
- package/lib/dialog/Question.js +12 -11
- package/lib/dialog/Warning.js +5 -5
- package/lib/dialog/base/Content.js +5 -7
- package/lib/dialog/base/Footer.js +7 -4
- package/lib/dialog/base/Header.js +28 -28
- package/lib/dialog/base/index.d.ts +2 -8
- package/lib/dialog/base/index.js +104 -108
- package/lib/dialog/base/style.js +10 -7
- package/lib/dialog/form/index.js +35 -36
- package/lib/dialog/index.js +8 -7
- package/lib/dialog/types.d.ts +13 -8
- package/lib/drawer/Content.js +10 -11
- package/lib/drawer/Drawer.js +83 -69
- package/lib/drawer/Header.js +36 -33
- package/lib/drawer/helpers.js +3 -2
- package/lib/drawer/index.js +4 -3
- package/lib/dropdown/Popup.d.ts +1 -1
- package/lib/dropdown/Popup.js +39 -38
- package/lib/dropdown/helper.js +5 -3
- package/lib/dropdown/types.d.ts +0 -1
- package/lib/dropdown/withDropdown.js +58 -37
- package/lib/fieldset/index.js +56 -50
- package/lib/fieldset/types.d.ts +0 -2
- package/lib/form/Field.d.ts +0 -2
- package/lib/form/Field.js +74 -68
- package/lib/form/FieldArray.d.ts +0 -2
- package/lib/form/FieldArray.js +90 -66
- package/lib/form/FieldNumber.d.ts +0 -2
- package/lib/form/FieldNumber.js +53 -33
- package/lib/form/FieldPeriod.d.ts +0 -2
- package/lib/form/FieldPeriod.js +52 -46
- package/lib/form/helpers.d.ts +0 -2
- package/lib/form/helpers.js +26 -21
- package/lib/form/index.d.ts +0 -2
- package/lib/form/index.js +143 -111
- package/lib/form/types.d.ts +4 -7
- package/lib/form/withFieldHOC.d.ts +0 -2
- package/lib/form/withFieldHOC.js +38 -31
- package/lib/form/withFormSecurity.d.ts +0 -2
- package/lib/form/withFormSecurity.js +34 -26
- package/lib/gridlayout/GridCol.js +13 -13
- package/lib/gridlayout/GridRow.js +11 -17
- package/lib/gridlayout/index.js +3 -2
- package/lib/gridlayout/types.d.ts +1 -1
- package/lib/hint/index.d.ts +1 -2
- package/lib/hint/index.js +28 -17
- package/lib/hint/types.d.ts +0 -3
- package/lib/icons/helper.d.ts +0 -4
- package/lib/icons/helper.js +4 -7
- package/lib/icons/index.d.ts +2 -3
- package/lib/icons/index.js +47 -42
- package/lib/icons/types.d.ts +9 -22
- package/lib/index.d.ts +1 -2
- package/lib/index.js +9 -9
- package/lib/inputs/base/InputTextBase.d.ts +0 -2
- package/lib/inputs/base/InputTextBase.js +111 -143
- package/lib/inputs/base/helpers.d.ts +2 -3
- package/lib/inputs/base/helpers.js +25 -20
- package/lib/inputs/base/types.d.ts +3 -17
- package/lib/inputs/color/index.js +38 -27
- package/lib/inputs/date/Dialog.d.ts +0 -2
- package/lib/inputs/date/Dialog.js +9 -8
- package/lib/inputs/date/Dropdown.d.ts +0 -2
- package/lib/inputs/date/Dropdown.js +10 -11
- package/lib/inputs/date/helpers.d.ts +0 -2
- package/lib/inputs/date/helpers.js +13 -13
- package/lib/inputs/date/index.d.ts +0 -2
- package/lib/inputs/date/index.js +150 -125
- package/lib/inputs/date/types.d.ts +1 -4
- package/lib/inputs/file/DefaultFile.d.ts +0 -2
- package/lib/inputs/file/DefaultFile.js +72 -45
- package/lib/inputs/file/DragDropFile.d.ts +0 -2
- package/lib/inputs/file/DragDropFile.js +147 -95
- package/lib/inputs/file/File.d.ts +1 -3
- package/lib/inputs/file/File.js +28 -22
- package/lib/inputs/file/FileButtonSettings.d.ts +0 -2
- package/lib/inputs/file/FileButtonSettings.js +12 -12
- package/lib/inputs/file/helpers.d.ts +0 -2
- package/lib/inputs/file/helpers.js +6 -4
- package/lib/inputs/file/index.d.ts +0 -2
- package/lib/inputs/file/index.js +4 -3
- package/lib/inputs/file/types.d.ts +0 -2
- package/lib/inputs/inputHOC.d.ts +1 -2
- package/lib/inputs/inputHOC.js +32 -19
- package/lib/inputs/mask/BaseMask.d.ts +5 -4
- package/lib/inputs/mask/BaseMask.js +34 -121
- package/lib/inputs/mask/Cnpj.d.ts +0 -2
- package/lib/inputs/mask/Cnpj.js +29 -16
- package/lib/inputs/mask/Cpf.d.ts +0 -2
- package/lib/inputs/mask/Cpf.js +35 -18
- package/lib/inputs/mask/Phone.d.ts +0 -2
- package/lib/inputs/mask/Phone.js +4 -5
- package/lib/inputs/mask/ZipCode.d.ts +0 -2
- package/lib/inputs/mask/ZipCode.js +7 -4
- package/lib/inputs/mask/helpers.d.ts +12 -53
- package/lib/inputs/mask/helpers.js +36 -90
- package/lib/inputs/{errorMessage/index.d.ts → mask/imaskHOC.d.ts} +7 -5
- package/lib/inputs/mask/imaskHOC.js +224 -0
- package/lib/inputs/mask/index.d.ts +2 -4
- package/lib/inputs/mask/index.js +6 -5
- package/lib/inputs/mask/types.d.ts +18 -22
- package/lib/inputs/multiSelect/ActionButtons.d.ts +0 -2
- package/lib/inputs/multiSelect/ActionButtons.js +21 -22
- package/lib/inputs/multiSelect/Dropdown.d.ts +0 -2
- package/lib/inputs/multiSelect/Dropdown.js +65 -48
- package/lib/inputs/multiSelect/helper.d.ts +0 -2
- package/lib/inputs/multiSelect/helper.js +7 -8
- package/lib/inputs/multiSelect/index.d.ts +0 -2
- package/lib/inputs/multiSelect/index.js +132 -80
- package/lib/inputs/multiSelect/types.d.ts +0 -2
- package/lib/inputs/number/BaseNumber.d.ts +2 -3
- package/lib/inputs/number/BaseNumber.js +21 -22
- package/lib/inputs/number/Currency.d.ts +2 -3
- package/lib/inputs/number/Currency.js +6 -6
- package/lib/inputs/number/Decimal.d.ts +2 -3
- package/lib/inputs/number/Decimal.js +5 -2
- package/lib/inputs/number/format_number.js +5 -5
- package/lib/inputs/number/index.d.ts +2 -3
- package/lib/inputs/number/index.js +49 -18
- package/lib/inputs/number/types.d.ts +14 -15
- package/lib/inputs/period/Dialog.d.ts +1 -3
- package/lib/inputs/period/Dialog.js +9 -8
- package/lib/inputs/period/Dropdown.d.ts +0 -2
- package/lib/inputs/period/Dropdown.js +8 -7
- package/lib/inputs/period/PeriodList.d.ts +0 -2
- package/lib/inputs/period/PeriodList.js +12 -13
- package/lib/inputs/period/helper.d.ts +0 -2
- package/lib/inputs/period/helper.js +36 -33
- package/lib/inputs/period/index.d.ts +0 -2
- package/lib/inputs/period/index.js +194 -160
- package/lib/inputs/period/types.d.ts +1 -3
- package/lib/inputs/search/index.d.ts +1 -2
- package/lib/inputs/search/index.js +63 -40
- package/lib/inputs/select/ActionButtons.d.ts +1 -2
- package/lib/inputs/select/ActionButtons.js +34 -24
- package/lib/inputs/select/Dropdown.d.ts +1 -2
- package/lib/inputs/select/Dropdown.js +58 -39
- package/lib/inputs/select/helper.d.ts +1 -2
- package/lib/inputs/select/helper.js +43 -49
- package/lib/inputs/select/index.d.ts +0 -2
- package/lib/inputs/select/index.js +8 -9
- package/lib/inputs/select/multiple/Selecteds.d.ts +1 -3
- package/lib/inputs/select/multiple/Selecteds.js +21 -16
- package/lib/inputs/select/multiple/index.d.ts +0 -2
- package/lib/inputs/select/multiple/index.js +176 -128
- package/lib/inputs/select/simple/index.d.ts +0 -2
- package/lib/inputs/select/simple/index.js +179 -151
- package/lib/inputs/select/types.d.ts +2 -5
- package/lib/inputs/text/index.js +5 -2
- package/lib/inputs/textarea/index.d.ts +0 -2
- package/lib/inputs/textarea/index.js +9 -9
- package/lib/inputs/textarea/types.d.ts +0 -2
- package/lib/inputs/types.d.ts +7 -12
- package/lib/internals/colorStyles.js +3 -2
- package/lib/internals/constants.js +4 -2
- package/lib/internals/types.d.ts +2 -5
- package/lib/internals/withTooltip.d.ts +2 -3
- package/lib/internals/withTooltip.js +74 -74
- package/lib/labelMessages/index.js +41 -21
- package/lib/labels/DangerLabel.js +5 -6
- package/lib/labels/DefaultLabel.js +39 -25
- package/lib/labels/InfoLabel.js +5 -6
- package/lib/labels/PrimaryLabel.js +5 -6
- package/lib/labels/SuccessLabel.js +5 -6
- package/lib/labels/WarningLabel.js +5 -6
- package/lib/labels/index.js +8 -7
- package/lib/labels/label_container/index.js +7 -7
- package/lib/list/Header.js +7 -8
- package/lib/list/Item.js +68 -72
- package/lib/list/Separator.js +7 -4
- package/lib/list/helpers.js +5 -3
- package/lib/list/index.js +100 -73
- package/lib/menus/float/MenuItem.js +19 -18
- package/lib/menus/float/SubMenuContainer.js +32 -26
- package/lib/menus/float/helpers.js +3 -2
- package/lib/menus/float/index.js +17 -16
- package/lib/menus/float/types.d.ts +1 -1
- package/lib/menus/index.js +2 -1
- package/lib/menus/sidenav/ExpandMenu.js +7 -8
- package/lib/menus/sidenav/MenuLink.js +8 -9
- package/lib/menus/sidenav/NavMenuGroup.js +11 -12
- package/lib/menus/sidenav/NavMenuItem.js +60 -46
- package/lib/menus/sidenav/NavSubMenuItem.js +24 -19
- package/lib/menus/sidenav/helpers.js +8 -5
- package/lib/menus/sidenav/index.js +111 -83
- package/lib/menus/sidenav/popup_menu_search/EmptyList.js +6 -6
- package/lib/menus/sidenav/popup_menu_search/index.js +83 -63
- package/lib/menus/sidenav/types.d.ts +1 -1
- package/lib/noPermission/index.js +16 -13
- package/lib/panel/Content.d.ts +1 -1
- package/lib/panel/Content.js +56 -43
- package/lib/panel/DangerPanel.d.ts +1 -1
- package/lib/panel/DangerPanel.js +7 -4
- package/lib/panel/Default.d.ts +1 -1
- package/lib/panel/Default.js +56 -41
- package/lib/panel/Header.d.ts +1 -1
- package/lib/panel/Header.js +26 -28
- package/lib/panel/InfoPanel.d.ts +1 -1
- package/lib/panel/InfoPanel.js +7 -4
- package/lib/panel/PrimaryPanel.d.ts +1 -1
- package/lib/panel/PrimaryPanel.js +7 -4
- package/lib/panel/SuccessPanel.d.ts +1 -1
- package/lib/panel/SuccessPanel.js +7 -4
- package/lib/panel/ToolBar.d.ts +1 -1
- package/lib/panel/ToolBar.js +4 -5
- package/lib/panel/WarningPanel.d.ts +1 -1
- package/lib/panel/WarningPanel.js +7 -4
- package/lib/panel/helpers.d.ts +2 -7
- package/lib/panel/helpers.js +23 -11
- package/lib/panel/index.d.ts +1 -1
- package/lib/panel/index.js +9 -8
- package/lib/panel/types.d.ts +5 -46
- package/lib/permissionValidations.js +29 -24
- package/lib/popover/PopoverText.js +4 -5
- package/lib/popover/PopoverTitle.js +4 -5
- package/lib/popover/index.js +18 -14
- package/lib/progress/Bar.js +36 -30
- package/lib/progress/index.js +18 -16
- package/lib/radio/index.js +55 -34
- package/lib/shortcuts/index.js +8 -9
- package/lib/skeleton/SkeletonContainer.js +10 -9
- package/lib/skeleton/index.js +32 -25
- package/lib/spinner/SpinnerLoading.js +7 -6
- package/lib/spinner/index.js +36 -22
- package/lib/split/Split.js +110 -93
- package/lib/split/SplitSide.js +18 -19
- package/lib/split/helpers.js +3 -2
- package/lib/split/index.js +3 -2
- package/lib/table/Body.js +44 -41
- package/lib/table/Header.js +31 -28
- package/lib/table/HeaderColumn.d.ts +1 -1
- package/lib/table/HeaderColumn.js +21 -34
- package/lib/table/Row.js +47 -44
- package/lib/table/RowColumn.js +37 -36
- package/lib/table/helpers.js +12 -6
- package/lib/table/index.js +98 -78
- package/lib/table/types.d.ts +0 -3
- package/lib/tabs/{MenuTabs.d.ts → DropdownItems.d.ts} +3 -3
- package/lib/tabs/DropdownItems.js +65 -0
- package/lib/tabs/Menu.d.ts +1 -1
- package/lib/tabs/Menu.js +20 -32
- package/lib/tabs/MenuItems.d.ts +11 -0
- package/lib/tabs/MenuItems.js +76 -0
- package/lib/tabs/Panel.d.ts +1 -1
- package/lib/tabs/Panel.js +65 -69
- package/lib/tabs/index.d.ts +1 -1
- package/lib/tabs/index.js +221 -42
- package/lib/tabs/tabHelpers.d.ts +15 -4
- package/lib/tabs/tabHelpers.js +41 -36
- package/lib/tabs/types.d.ts +15 -48
- package/lib/toolbar/ButtonBar.js +39 -35
- package/lib/toolbar/LabelBar.js +36 -32
- package/lib/toolbar/Separator.js +7 -4
- package/lib/toolbar/ToolBarGroup.js +6 -6
- package/lib/toolbar/helpers.js +3 -2
- package/lib/toolbar/index.js +21 -19
- package/lib/toolbar/types.d.ts +0 -1
- package/lib/tooltip/index.js +32 -27
- package/lib/treetable/Body.js +32 -20
- package/lib/treetable/Header.js +14 -11
- package/lib/treetable/Row.js +137 -85
- package/lib/treetable/helpers.js +24 -15
- package/lib/treetable/index.js +10 -8
- package/lib/treeview/Header.js +6 -7
- package/lib/treeview/Node.js +132 -92
- package/lib/treeview/constants.js +2 -1
- package/lib/treeview/index.js +214 -148
- package/lib/treeview_old/Header.js +28 -0
- package/lib/treeview_old/Node.js +88 -0
- package/lib/treeview_old/index.js +42 -0
- package/lib/types-c2a0f035.d.ts +50 -0
- package/lib/uitour/helpers.js +7 -4
- package/lib/uitour/index.d.ts +1 -2
- package/lib/uitour/index.js +99 -112
- package/lib/uitour/types.d.ts +1 -9
- package/package.json +82 -77
- package/tsconfig.json +0 -1
- package/.eslintcache +0 -1
- package/.nvmrc +0 -1
- package/lib/assets/styles/error.scss +0 -9
- package/lib/assets/styles/textContent.scss +0 -9
- package/lib/hint/helpers.d.ts +0 -3
- package/lib/hint/helpers.js +0 -21
- package/lib/inputs/base/Label.d.ts +0 -14
- package/lib/inputs/base/Label.js +0 -35
- package/lib/inputs/errorMessage/index.js +0 -26
- package/lib/tabs/DropdownTabs.d.ts +0 -11
- package/lib/tabs/DropdownTabs.js +0 -71
- package/lib/tabs/MenuTabs.js +0 -82
- package/lib/tabs/context.d.ts +0 -12
- package/lib/tabs/context.js +0 -130
- package/lib/tabs/useTabs.d.ts +0 -11
- package/lib/tabs/useTabs.js +0 -11
- package/lib/textContent/index.d.ts +0 -8
- package/lib/textContent/index.js +0 -30
package/lib/tabs/Panel.js
CHANGED
|
@@ -1,86 +1,82 @@
|
|
|
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
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
-
var _tabHelpers = require("./tabHelpers");
|
|
9
|
+
var _tabHelpers = _interopRequireWildcard(require("./tabHelpers"));
|
|
9
10
|
var _permissionValidations = require("../permissionValidations");
|
|
10
11
|
var _noPermission = _interopRequireDefault(require("../noPermission"));
|
|
11
|
-
var _useTabs = require("./useTabs");
|
|
12
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
-
function _getRequireWildcardCache(
|
|
14
|
-
function _interopRequireWildcard(
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
if (rootElementRef.current && onEndReached) {
|
|
58
|
-
observer = new ResizeObserver(() => {
|
|
59
|
-
const {
|
|
60
|
-
scrollHeight
|
|
61
|
-
} = rootElementRef.current;
|
|
62
|
-
if (scrollHeight !== lastScrollHeight.current) {
|
|
63
|
-
var _observer;
|
|
64
|
-
enableOnEndReached.current = true;
|
|
65
|
-
(_observer = observer) === null || _observer === void 0 ? void 0 : _observer.disconnect();
|
|
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; }
|
|
15
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
16
|
+
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."); }
|
|
17
|
+
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); }
|
|
18
|
+
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; }
|
|
19
|
+
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
20
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
21
|
+
var observer = null;
|
|
22
|
+
var Panel = function Panel(_ref) {
|
|
23
|
+
var id = _ref.id,
|
|
24
|
+
children = _ref.children,
|
|
25
|
+
onEndReached = _ref.onEndReached,
|
|
26
|
+
permissionAttr = _ref.permissionAttr,
|
|
27
|
+
_ref$customClass = _ref.customClass,
|
|
28
|
+
customClass = _ref$customClass === void 0 ? '' : _ref$customClass,
|
|
29
|
+
_ref$onEndReachedThre = _ref.onEndReachedThreshold,
|
|
30
|
+
onEndReachedThreshold = _ref$onEndReachedThre === void 0 ? 0.1 : _ref$onEndReachedThre;
|
|
31
|
+
var _useContext = (0, _react.useContext)(_tabHelpers.default),
|
|
32
|
+
selectedTabId = _useContext.selectedTabId,
|
|
33
|
+
contentHeight = _useContext.contentHeight;
|
|
34
|
+
var hidePanel = id !== selectedTabId ? 'hidepanel' : '';
|
|
35
|
+
var style = {};
|
|
36
|
+
var rootElementRef = (0, _react.useRef)(null);
|
|
37
|
+
var observedElement = (0, _react.useRef)(null);
|
|
38
|
+
/* usa uma referencia ao onEndReched pra evitar novas instancias do observer */
|
|
39
|
+
var onEndReachedRef = (0, _react.useRef)(onEndReached);
|
|
40
|
+
var _useState = (0, _react.useState)((0, _permissionValidations.actionsOnPermissionDenied)(_tabHelpers.onDeniedOptions, permissionAttr)),
|
|
41
|
+
_useState2 = _slicedToArray(_useState, 1),
|
|
42
|
+
onDenied = _useState2[0];
|
|
43
|
+
var hideContent = onDenied.hideContent;
|
|
44
|
+
if (contentHeight) style.height = contentHeight;
|
|
45
|
+
var options = {
|
|
46
|
+
root: rootElementRef.current,
|
|
47
|
+
threshold: onEndReachedThreshold || 0
|
|
48
|
+
};
|
|
49
|
+
var scrollObserver = function scrollObserver(node) {
|
|
50
|
+
// evitar criação de multiplos observers
|
|
51
|
+
if (observer) observer.unobserve(node);
|
|
52
|
+
observer = new IntersectionObserver(function (entries) {
|
|
53
|
+
entries.forEach(function (en) {
|
|
54
|
+
if (en.intersectionRatio > 0) {
|
|
55
|
+
var _onEndReachedRef$curr;
|
|
56
|
+
(_onEndReachedRef$curr = onEndReachedRef.current) === null || _onEndReachedRef$curr === void 0 ? void 0 : _onEndReachedRef$curr.call(onEndReachedRef);
|
|
66
57
|
}
|
|
67
|
-
});
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
58
|
+
}, options);
|
|
59
|
+
});
|
|
60
|
+
observer.observe(node);
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
/* atualiza referencia caso a função mude */
|
|
64
|
+
(0, _react.useEffect)(function () {
|
|
65
|
+
onEndReachedRef.current = onEndReached;
|
|
66
|
+
}, [onEndReached]);
|
|
67
|
+
(0, _react.useEffect)(function () {
|
|
68
|
+
if (observedElement.current && onEndReachedRef.current) {
|
|
69
|
+
scrollObserver(observedElement.current);
|
|
71
70
|
}
|
|
72
|
-
|
|
73
|
-
var _rootElementRef$curre, _rootElementRef$curre2, _observer2;
|
|
74
|
-
(_rootElementRef$curre = rootElementRef.current) === null || _rootElementRef$curre === void 0 ? void 0 : _rootElementRef$curre.removeEventListener('scroll', onScrollEndReached);
|
|
75
|
-
(_rootElementRef$curre2 = rootElementRef.current) === null || _rootElementRef$curre2 === void 0 ? void 0 : _rootElementRef$curre2.removeEventListener('resize', onScrollEndReached);
|
|
76
|
-
(_observer2 = observer) === null || _observer2 === void 0 ? void 0 : _observer2.disconnect();
|
|
77
|
-
};
|
|
78
|
-
}, [onScrollEndReached]);
|
|
71
|
+
}, [observedElement]);
|
|
79
72
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
80
73
|
ref: rootElementRef,
|
|
81
74
|
id: id,
|
|
82
|
-
className: "".concat(customClass, " panel ").concat(hidePanel),
|
|
75
|
+
className: " ".concat(customClass, " panel ").concat(hidePanel),
|
|
83
76
|
style: style
|
|
84
|
-
}, hideContent ? /*#__PURE__*/_react.default.createElement(_noPermission.default, null) : children
|
|
77
|
+
}, hideContent ? /*#__PURE__*/_react.default.createElement(_noPermission.default, null) : children, !hideContent && onEndReached ? /*#__PURE__*/_react.default.createElement("div", {
|
|
78
|
+
ref: observedElement
|
|
79
|
+
}) : /*#__PURE__*/_react.default.createElement("noscript", null));
|
|
85
80
|
};
|
|
86
|
-
var _default =
|
|
81
|
+
var _default = Panel;
|
|
82
|
+
exports.default = _default;
|
package/lib/tabs/index.d.ts
CHANGED
|
@@ -7,6 +7,6 @@ import '../@types/PermissionAttr.js';
|
|
|
7
7
|
import '../@types/Icon.js';
|
|
8
8
|
import '../icons/helper.js';
|
|
9
9
|
|
|
10
|
-
declare const Tabs: ({ toolbar,
|
|
10
|
+
declare const Tabs: ({ toolbar, children, selectedTab, firstTabIdent, handlerTabClick, handlerCloseTab, style, tabMenuSize, tabMenuAlign, tabMenuPosition, customClassForToolBar, tabsWidthOnExceedCount, ...props }: ITabsPros) => JSX.Element;
|
|
11
11
|
|
|
12
12
|
export { Tabs as default };
|
package/lib/tabs/index.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
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
|
Object.defineProperty(exports, "TabPanel", {
|
|
7
8
|
enumerable: true,
|
|
8
|
-
get: function () {
|
|
9
|
+
get: function get() {
|
|
9
10
|
return _Panel.default;
|
|
10
11
|
}
|
|
11
12
|
});
|
|
@@ -13,58 +14,236 @@ exports.default = void 0;
|
|
|
13
14
|
var _react = _interopRequireWildcard(require("react"));
|
|
14
15
|
var _Menu = _interopRequireDefault(require("./Menu"));
|
|
15
16
|
var _Panel = _interopRequireDefault(require("./Panel"));
|
|
16
|
-
var _tabHelpers = require("./tabHelpers");
|
|
17
|
+
var _tabHelpers = _interopRequireWildcard(require("./tabHelpers"));
|
|
17
18
|
require("../assets/styles/tabs.scss");
|
|
18
|
-
var
|
|
19
|
-
const _excluded = ["toolbar", "toolBarRef", "children", "firstTabIdent", "handlerTabClick", "handlerCloseTab", "style", "tabMenuSize", "tabMenuAlign", "tabMenuPosition", "customClassForToolBar", "tabsWidth"];
|
|
19
|
+
var _excluded = ["toolbar", "children", "selectedTab", "firstTabIdent", "handlerTabClick", "handlerCloseTab", "style", "tabMenuSize", "tabMenuAlign", "tabMenuPosition", "customClassForToolBar", "tabsWidthOnExceedCount"];
|
|
20
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
|
-
function _getRequireWildcardCache(
|
|
22
|
-
function _interopRequireWildcard(
|
|
21
|
+
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); }
|
|
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
23
|
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); }
|
|
24
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
25
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
26
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
27
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
28
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
29
|
+
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."); }
|
|
30
|
+
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); }
|
|
31
|
+
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; }
|
|
32
|
+
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
33
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
24
34
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
25
35
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
36
|
+
var DROPDOWN_WIDTH = 26;
|
|
37
|
+
var Tabs = function Tabs(_ref) {
|
|
38
|
+
var _panels$, _panels$$props;
|
|
39
|
+
var toolbar = _ref.toolbar,
|
|
40
|
+
children = _ref.children,
|
|
41
|
+
selectedTab = _ref.selectedTab,
|
|
42
|
+
firstTabIdent = _ref.firstTabIdent,
|
|
43
|
+
handlerTabClick = _ref.handlerTabClick,
|
|
44
|
+
handlerCloseTab = _ref.handlerCloseTab,
|
|
45
|
+
_ref$style = _ref.style,
|
|
46
|
+
style = _ref$style === void 0 ? {} : _ref$style,
|
|
47
|
+
_ref$tabMenuSize = _ref.tabMenuSize,
|
|
48
|
+
tabMenuSize = _ref$tabMenuSize === void 0 ? 'default' : _ref$tabMenuSize,
|
|
49
|
+
_ref$tabMenuAlign = _ref.tabMenuAlign,
|
|
50
|
+
tabMenuAlign = _ref$tabMenuAlign === void 0 ? 'left' : _ref$tabMenuAlign,
|
|
51
|
+
_ref$tabMenuPosition = _ref.tabMenuPosition,
|
|
52
|
+
tabMenuPosition = _ref$tabMenuPosition === void 0 ? 'top' : _ref$tabMenuPosition,
|
|
53
|
+
_ref$customClassForTo = _ref.customClassForToolBar,
|
|
54
|
+
customClassForToolBar = _ref$customClassForTo === void 0 ? '' : _ref$customClassForTo,
|
|
55
|
+
_ref$tabsWidthOnExcee = _ref.tabsWidthOnExceedCount,
|
|
56
|
+
tabsWidthOnExceedCount = _ref$tabsWidthOnExcee === void 0 ? 0 : _ref$tabsWidthOnExcee,
|
|
41
57
|
props = _objectWithoutProperties(_ref, _excluded);
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
58
|
+
var _useState = (0, _react.useState)((0, _tabHelpers.buildPanels)(children) || []),
|
|
59
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
60
|
+
panels = _useState2[0],
|
|
61
|
+
setPanels = _useState2[1];
|
|
62
|
+
var _useState3 = (0, _react.useState)([]),
|
|
63
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
64
|
+
currentPanels = _useState4[0],
|
|
65
|
+
setCurrentPanels = _useState4[1];
|
|
66
|
+
var _useState5 = (0, _react.useState)([]),
|
|
67
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
68
|
+
dropdownPanels = _useState6[0],
|
|
69
|
+
setDropdownPanels = _useState6[1];
|
|
70
|
+
var _useState7 = (0, _react.useState)(selectedTab || ((_panels$ = panels[0]) === null || _panels$ === void 0 ? void 0 : (_panels$$props = _panels$.props) === null || _panels$$props === void 0 ? void 0 : _panels$$props.id)),
|
|
71
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
72
|
+
selectedTabId = _useState8[0],
|
|
73
|
+
setSelectedTabId = _useState8[1];
|
|
74
|
+
var _useState9 = (0, _react.useState)(''),
|
|
75
|
+
_useState10 = _slicedToArray(_useState9, 1),
|
|
76
|
+
customClass = _useState10[0];
|
|
77
|
+
var _useState11 = (0, _react.useState)(0),
|
|
78
|
+
_useState12 = _slicedToArray(_useState11, 2),
|
|
79
|
+
contentHeight = _useState12[0],
|
|
80
|
+
setContentHeight = _useState12[1];
|
|
81
|
+
var _useState13 = (0, _react.useState)(0),
|
|
82
|
+
_useState14 = _slicedToArray(_useState13, 2),
|
|
83
|
+
tabsContentWidth = _useState14[0],
|
|
84
|
+
setTabsContentWidth = _useState14[1];
|
|
85
|
+
var _useState15 = (0, _react.useState)(false),
|
|
86
|
+
_useState16 = _slicedToArray(_useState15, 2),
|
|
87
|
+
hasMenuAttributes = _useState16[0],
|
|
88
|
+
setHasMenuAttributes = _useState16[1];
|
|
89
|
+
var _useState17 = (0, _react.useState)('auto'),
|
|
90
|
+
_useState18 = _slicedToArray(_useState17, 2),
|
|
91
|
+
tabWidth = _useState18[0],
|
|
92
|
+
setTabWidth = _useState18[1];
|
|
93
|
+
var componentRef = (0, _react.useRef)(null);
|
|
94
|
+
var _menuRef = (0, _react.useRef)(null);
|
|
95
|
+
var _toolBarRef = (0, _react.useRef)(null);
|
|
96
|
+
var getTabListWidth = function getTabListWidth() {
|
|
97
|
+
var _menuRef$current;
|
|
98
|
+
var tabMenu = (_menuRef$current = _menuRef.current) === null || _menuRef$current === void 0 ? void 0 : _menuRef$current.children[0];
|
|
99
|
+
var tabList = Array.from(tabMenu === null || tabMenu === void 0 ? void 0 : tabMenu.childNodes);
|
|
100
|
+
var tabsListWidth = tabList.reduce(function (total, tab) {
|
|
101
|
+
return total + tab.clientWidth;
|
|
102
|
+
}, 0);
|
|
103
|
+
return tabsListWidth;
|
|
104
|
+
};
|
|
105
|
+
var getMenuAttributes = function getMenuAttributes() {
|
|
106
|
+
var _menuRef$current2;
|
|
107
|
+
var menuSize = (_menuRef$current2 = _menuRef.current) === null || _menuRef$current2 === void 0 ? void 0 : _menuRef$current2.clientWidth;
|
|
108
|
+
var toolbarSize = toolbar && _toolBarRef.current ? _toolBarRef.current.clientWidth : 0;
|
|
109
|
+
var contentWidth = menuSize ? (toolbar ? menuSize - toolbarSize : menuSize) - DROPDOWN_WIDTH : 0;
|
|
110
|
+
setTabsContentWidth(contentWidth);
|
|
111
|
+
};
|
|
112
|
+
var getTabsList = function getTabsList() {
|
|
113
|
+
var tabsListWidth = getTabListWidth();
|
|
114
|
+
var newDropdownPanels = _toConsumableArray(dropdownPanels);
|
|
115
|
+
var newCurrentPanels = _toConsumableArray(panels);
|
|
116
|
+
if (newDropdownPanels.length) {
|
|
117
|
+
var newDropdownPanelsIds = newDropdownPanels.map(function (dd) {
|
|
118
|
+
var _dd$props;
|
|
119
|
+
return dd === null || dd === void 0 ? void 0 : (_dd$props = dd.props) === null || _dd$props === void 0 ? void 0 : _dd$props.id;
|
|
120
|
+
});
|
|
121
|
+
newCurrentPanels = newCurrentPanels.filter(function (tab) {
|
|
122
|
+
return !newDropdownPanelsIds.includes(tab === null || tab === void 0 ? void 0 : tab.props.id);
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
if (tabsListWidth > tabsContentWidth) {
|
|
126
|
+
var lastPanel = newCurrentPanels[newCurrentPanels.length - 1];
|
|
127
|
+
newDropdownPanels.push(lastPanel);
|
|
128
|
+
newCurrentPanels.pop();
|
|
129
|
+
if (tabsWidthOnExceedCount) setTabWidth(tabsWidthOnExceedCount);
|
|
130
|
+
} else if (tabsListWidth + (tabsWidthOnExceedCount || 110) < tabsContentWidth && newDropdownPanels.length) {
|
|
131
|
+
newCurrentPanels.push(newDropdownPanels[0]);
|
|
132
|
+
newDropdownPanels.shift();
|
|
133
|
+
}
|
|
134
|
+
setCurrentPanels(newCurrentPanels);
|
|
135
|
+
setDropdownPanels(newDropdownPanels);
|
|
136
|
+
};
|
|
137
|
+
var onMenuClick = function onMenuClick(tabId) {
|
|
138
|
+
var includedInDropdown = dropdownPanels.filter(function (item) {
|
|
139
|
+
var _item$props;
|
|
140
|
+
return (item === null || item === void 0 ? void 0 : (_item$props = item.props) === null || _item$props === void 0 ? void 0 : _item$props.id) === tabId;
|
|
141
|
+
});
|
|
142
|
+
if (includedInDropdown.length > 0 && getTabListWidth() > 0) {
|
|
143
|
+
var newDropdownPanels = dropdownPanels.filter(function (item) {
|
|
144
|
+
var _item$props2;
|
|
145
|
+
return (item === null || item === void 0 ? void 0 : (_item$props2 = item.props) === null || _item$props2 === void 0 ? void 0 : _item$props2.id) !== tabId;
|
|
146
|
+
});
|
|
147
|
+
var newPanels = panels.filter(function (item) {
|
|
148
|
+
return (item === null || item === void 0 ? void 0 : item.props.id) !== tabId;
|
|
149
|
+
});
|
|
150
|
+
var newCurrentPanels = currentPanels.slice(0, -1);
|
|
151
|
+
newDropdownPanels.push(currentPanels.pop());
|
|
152
|
+
newPanels.unshift(includedInDropdown[0]);
|
|
153
|
+
newCurrentPanels.unshift(includedInDropdown[0]);
|
|
154
|
+
setPanels(newPanels);
|
|
155
|
+
setDropdownPanels(newDropdownPanels);
|
|
156
|
+
setCurrentPanels(newCurrentPanels);
|
|
157
|
+
}
|
|
158
|
+
if (handlerTabClick) handlerTabClick(tabId);
|
|
159
|
+
setSelectedTabId(tabId);
|
|
160
|
+
};
|
|
161
|
+
var onRemovePanel = function onRemovePanel(closedPanelId) {
|
|
162
|
+
var panelIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
163
|
+
var fromDropdownPanels = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
164
|
+
var newSelectedTabId = selectedTabId;
|
|
165
|
+
var remainPanels;
|
|
166
|
+
if (!fromDropdownPanels) {
|
|
167
|
+
var _remainPanels;
|
|
168
|
+
remainPanels = panels.filter(function (panel) {
|
|
169
|
+
return (panel === null || panel === void 0 ? void 0 : panel.props.id) !== closedPanelId;
|
|
170
|
+
});
|
|
171
|
+
newSelectedTabId = selectedTabId === closedPanelId ? (_remainPanels = remainPanels[panelIndex - (panelIndex === 0 ? 0 : 1)]) === null || _remainPanels === void 0 ? void 0 : _remainPanels.props.id : selectedTabId;
|
|
172
|
+
setSelectedTabId(newSelectedTabId);
|
|
173
|
+
} else {
|
|
174
|
+
remainPanels = dropdownPanels.filter(function (panel) {
|
|
175
|
+
var _panel$props;
|
|
176
|
+
return (panel === null || panel === void 0 ? void 0 : (_panel$props = panel.props) === null || _panel$props === void 0 ? void 0 : _panel$props.id) !== closedPanelId;
|
|
177
|
+
});
|
|
178
|
+
setDropdownPanels(remainPanels);
|
|
179
|
+
}
|
|
180
|
+
if (handlerCloseTab && newSelectedTabId) handlerCloseTab(closedPanelId, newSelectedTabId);
|
|
181
|
+
};
|
|
182
|
+
var onResize = function onResize() {
|
|
183
|
+
if (componentRef.current && _menuRef.current) {
|
|
184
|
+
setContentHeight(componentRef.current.offsetHeight - _menuRef.current.offsetHeight);
|
|
185
|
+
if (!hasMenuAttributes && _menuRef.current && _menuRef.current.clientWidth > 0) {
|
|
186
|
+
getMenuAttributes();
|
|
187
|
+
setHasMenuAttributes(true);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
};
|
|
191
|
+
var renderContent = function renderContent() {
|
|
192
|
+
var menu = /*#__PURE__*/_react.default.createElement(_Menu.default, _extends({}, props, {
|
|
45
193
|
toolbar: toolbar,
|
|
46
|
-
tabWidth:
|
|
47
|
-
|
|
194
|
+
tabWidth: tabWidth,
|
|
195
|
+
customClass: customClass,
|
|
48
196
|
tabMenuSize: tabMenuSize,
|
|
197
|
+
handlerClick: onMenuClick,
|
|
49
198
|
tabMenuAlign: tabMenuAlign,
|
|
50
|
-
firstTabIdent: firstTabIdent
|
|
51
|
-
|
|
199
|
+
firstTabIdent: firstTabIdent,
|
|
200
|
+
currentPanels: currentPanels,
|
|
201
|
+
selectedTabId: selectedTabId,
|
|
202
|
+
dropdownPanels: dropdownPanels,
|
|
203
|
+
handlerRemovePanel: onRemovePanel,
|
|
204
|
+
customClassForToolBar: customClassForToolBar,
|
|
205
|
+
menuRef: function menuRef(ref) {
|
|
206
|
+
_menuRef.current = ref;
|
|
207
|
+
},
|
|
208
|
+
toolBarRef: function toolBarRef(ref) {
|
|
209
|
+
_toolBarRef.current = ref;
|
|
210
|
+
}
|
|
211
|
+
}));
|
|
212
|
+
/*
|
|
213
|
+
Change the order of elements depending of menus position
|
|
214
|
+
*/
|
|
52
215
|
if (tabMenuPosition === 'top' || tabMenuPosition === 'left') {
|
|
53
|
-
return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, menu,
|
|
216
|
+
return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, menu, panels);
|
|
54
217
|
}
|
|
55
|
-
return /*#__PURE__*/_react.default.createElement(_react.Fragment, null,
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
218
|
+
return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, panels, menu);
|
|
219
|
+
};
|
|
220
|
+
(0, _react.useEffect)(function () {
|
|
221
|
+
onResize();
|
|
222
|
+
window.addEventListener('resize', onResize);
|
|
223
|
+
return function () {
|
|
224
|
+
return window.removeEventListener('resize', onResize);
|
|
225
|
+
};
|
|
226
|
+
}, [_menuRef.current, tabMenuPosition]);
|
|
227
|
+
(0, _react.useEffect)(function () {
|
|
228
|
+
if (selectedTab) setSelectedTabId(selectedTab);
|
|
229
|
+
if (children) setPanels((0, _tabHelpers.buildPanels)(children));
|
|
230
|
+
}, [selectedTab, children]);
|
|
231
|
+
(0, _react.useEffect)(function () {
|
|
232
|
+
getTabsList();
|
|
233
|
+
}, [panels.length, currentPanels.length, tabsContentWidth]);
|
|
234
|
+
var contextValues = {
|
|
235
|
+
selectedTabId: selectedTabId,
|
|
236
|
+
contentHeight: contentHeight
|
|
237
|
+
};
|
|
238
|
+
return /*#__PURE__*/_react.default.createElement(_tabHelpers.default.Provider, {
|
|
239
|
+
value: contextValues
|
|
240
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
241
|
+
ref: function ref(_ref2) {
|
|
242
|
+
componentRef.current = _ref2;
|
|
243
|
+
},
|
|
66
244
|
className: (0, _tabHelpers.tabsClass)(tabMenuPosition),
|
|
67
245
|
style: style
|
|
68
|
-
},
|
|
246
|
+
}, renderContent()));
|
|
69
247
|
};
|
|
70
|
-
var _default =
|
|
248
|
+
var _default = Tabs;
|
|
249
|
+
exports.default = _default;
|
package/lib/tabs/tabHelpers.d.ts
CHANGED
|
@@ -1,12 +1,23 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
2
3
|
import { Position } from '../@types/Position.js';
|
|
4
|
+
import { PanelTypeAndProps, TabsContextValues } from './types.js';
|
|
5
|
+
import '../@types/Size.js';
|
|
6
|
+
import '../@types/PermissionAttr.js';
|
|
7
|
+
import '../@types/Icon.js';
|
|
8
|
+
import '../icons/helper.js';
|
|
3
9
|
|
|
4
|
-
|
|
5
|
-
|
|
10
|
+
/**
|
|
11
|
+
* Recursive funcion to get the panels passed as children elements to the Tabs Component.
|
|
12
|
+
* Sometimes, when tabs were added dynamically, the children can came as array or Panels.
|
|
13
|
+
*/
|
|
14
|
+
declare function buildPanels(children: ReactNode | ReactNode, panels?: Array<ReactNode>): PanelTypeAndProps[];
|
|
6
15
|
declare function tabsClass(tabMenuPosition: Exclude<Position, 'center'>): string;
|
|
7
16
|
declare function menuStyles(tabMenuAlign: Position): {
|
|
8
17
|
justifyContent: string;
|
|
9
18
|
};
|
|
19
|
+
declare function numberAroundZeroAndOne(props: Array<object>, propName: number, componentName: string): Error | null;
|
|
10
20
|
declare const onDeniedOptions: string[];
|
|
21
|
+
declare const TabContext: React.Context<TabsContextValues>;
|
|
11
22
|
|
|
12
|
-
export {
|
|
23
|
+
export { buildPanels, TabContext as default, menuStyles, numberAroundZeroAndOne, onDeniedOptions, tabsClass };
|
package/lib/tabs/tabHelpers.js
CHANGED
|
@@ -3,56 +3,48 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
7
|
-
exports.
|
|
6
|
+
exports.buildPanels = buildPanels;
|
|
7
|
+
exports.default = void 0;
|
|
8
8
|
exports.menuStyles = menuStyles;
|
|
9
|
+
exports.numberAroundZeroAndOne = numberAroundZeroAndOne;
|
|
9
10
|
exports.onDeniedOptions = void 0;
|
|
10
11
|
exports.tabsClass = tabsClass;
|
|
11
|
-
var _react =
|
|
12
|
+
var _react = require("react");
|
|
13
|
+
var _Panel = _interopRequireDefault(require("./Panel"));
|
|
12
14
|
var _permissionValidations = require("../permissionValidations");
|
|
13
|
-
const _excluded = ["children"];
|
|
14
15
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
16
|
+
/**
|
|
17
|
+
* Recursive funcion to get the panels passed as children elements to the Tabs Component.
|
|
18
|
+
* Sometimes, when tabs were added dynamically, the children can came as array or Panels.
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
function buildPanels(children) {
|
|
22
|
+
var panels = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
23
|
+
if (!Array.isArray(children)) return new Array(children);
|
|
24
|
+
children.forEach(function (child) {
|
|
25
|
+
if (child.type === _Panel.default) {
|
|
26
|
+
var _child$props;
|
|
27
|
+
if (!((_child$props = child.props) !== null && _child$props !== void 0 && _child$props.hidden)) {
|
|
28
|
+
panels.push(child);
|
|
29
|
+
}
|
|
30
|
+
} else if (Array.isArray(child)) {
|
|
31
|
+
buildPanels(child, panels);
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
return panels;
|
|
30
35
|
}
|
|
31
|
-
const getTabs = tabsProp => {
|
|
32
|
-
const tabs = _react.default.Children.map(tabsProp, child => {
|
|
33
|
-
if (!child || ! /*#__PURE__*/_react.default.isValidElement(child)) return null;
|
|
34
|
-
const _child$props = child.props,
|
|
35
|
-
{
|
|
36
|
-
children: childrenProp
|
|
37
|
-
} = _child$props,
|
|
38
|
-
props = _objectWithoutProperties(_child$props, _excluded);
|
|
39
|
-
return props;
|
|
40
|
-
}) || [];
|
|
41
|
-
return tabs.filter(tab => !tab.hidden);
|
|
42
|
-
};
|
|
43
36
|
|
|
44
37
|
/**
|
|
45
38
|
* Get the css class according to the options passed to the Tabs Component
|
|
46
39
|
*/
|
|
47
|
-
|
|
48
|
-
const positionsMenuClass = {
|
|
40
|
+
var positionsMenuClass = {
|
|
49
41
|
top: '',
|
|
50
42
|
left: 'menu-left',
|
|
51
43
|
bottom: 'menu-bottom',
|
|
52
44
|
right: 'menu-right'
|
|
53
45
|
};
|
|
54
46
|
function tabsClass(tabMenuPosition) {
|
|
55
|
-
|
|
47
|
+
var cssClass = 'tabs-component ';
|
|
56
48
|
cssClass += positionsMenuClass[tabMenuPosition];
|
|
57
49
|
return cssClass;
|
|
58
50
|
}
|
|
@@ -60,7 +52,7 @@ function tabsClass(tabMenuPosition) {
|
|
|
60
52
|
/**
|
|
61
53
|
* Menu Styles for tab menus
|
|
62
54
|
*/
|
|
63
|
-
|
|
55
|
+
var flextJustifyContent = {
|
|
64
56
|
left: 'flex-start',
|
|
65
57
|
top: 'flex-start',
|
|
66
58
|
right: 'flex-end',
|
|
@@ -72,4 +64,17 @@ function menuStyles(tabMenuAlign) {
|
|
|
72
64
|
justifyContent: flextJustifyContent[tabMenuAlign]
|
|
73
65
|
};
|
|
74
66
|
}
|
|
75
|
-
|
|
67
|
+
function numberAroundZeroAndOne(props, propName, componentName) {
|
|
68
|
+
if (props[propName]) {
|
|
69
|
+
var value = props[propName];
|
|
70
|
+
if (typeof value === 'number') {
|
|
71
|
+
return value >= 0 && value <= 1 ? null : new Error("invalid value of ".concat(propName, " in ").concat(componentName, " component, is not between 0 and 1"));
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
var onDeniedOptions = [_permissionValidations.OPTIONS_ON_DENIED.disabled, _permissionValidations.OPTIONS_ON_DENIED.unvisible, _permissionValidations.OPTIONS_ON_DENIED.hideContent];
|
|
77
|
+
exports.onDeniedOptions = onDeniedOptions;
|
|
78
|
+
var TabContext = /*#__PURE__*/(0, _react.createContext)({});
|
|
79
|
+
var _default = TabContext;
|
|
80
|
+
exports.default = _default;
|