@dxc-technology/halstack-react 0.0.0-e1386cf → 0.0.0-e19ca5f
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/BackgroundColorContext.d.ts +1 -10
- package/BackgroundColorContext.js +5 -22
- package/HalstackContext.d.ts +1240 -6
- package/HalstackContext.js +122 -106
- package/README.md +47 -0
- package/accordion/Accordion.accessibility.test.js +71 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +44 -118
- package/accordion/Accordion.stories.tsx +82 -147
- package/accordion/Accordion.test.js +19 -34
- package/accordion/types.d.ts +6 -18
- package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
- package/accordion-group/AccordionGroup.d.ts +2 -2
- package/accordion-group/AccordionGroup.js +29 -77
- package/accordion-group/AccordionGroup.stories.tsx +78 -77
- package/accordion-group/AccordionGroup.test.js +44 -72
- package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
- package/accordion-group/AccordionGroupAccordion.js +31 -0
- package/accordion-group/AccordionGroupContext.d.ts +3 -0
- package/accordion-group/AccordionGroupContext.js +8 -0
- package/accordion-group/types.d.ts +7 -19
- package/action-icon/ActionIcon.accessibility.test.js +63 -0
- package/action-icon/ActionIcon.d.ts +4 -0
- package/action-icon/ActionIcon.js +48 -0
- package/action-icon/ActionIcon.stories.tsx +41 -0
- package/action-icon/ActionIcon.test.js +64 -0
- package/action-icon/types.d.ts +26 -0
- package/alert/Alert.accessibility.test.js +95 -0
- package/alert/Alert.js +36 -126
- package/alert/Alert.stories.tsx +28 -0
- package/alert/Alert.test.js +29 -46
- package/alert/types.d.ts +5 -5
- package/badge/Badge.accessibility.test.js +129 -0
- package/badge/Badge.d.ts +1 -1
- package/badge/Badge.js +142 -42
- package/badge/Badge.stories.tsx +210 -0
- package/badge/Badge.test.js +30 -0
- package/badge/types.d.ts +52 -3
- package/bleed/Bleed.js +13 -21
- package/bleed/Bleed.stories.tsx +1 -0
- package/bleed/types.d.ts +2 -2
- package/box/Box.accessibility.test.js +33 -0
- package/box/Box.d.ts +1 -1
- package/box/Box.js +18 -59
- package/box/Box.stories.tsx +38 -51
- package/box/Box.test.js +2 -7
- package/box/types.d.ts +3 -15
- package/breadcrumbs/Breadcrumbs.accessibility.test.d.ts +1 -0
- package/breadcrumbs/Breadcrumbs.accessibility.test.js +96 -0
- package/breadcrumbs/Breadcrumbs.d.ts +4 -0
- package/breadcrumbs/Breadcrumbs.js +79 -0
- package/breadcrumbs/Breadcrumbs.stories.tsx +194 -0
- package/breadcrumbs/Breadcrumbs.test.d.ts +1 -0
- package/breadcrumbs/Breadcrumbs.test.js +169 -0
- package/breadcrumbs/Item.d.ts +4 -0
- package/breadcrumbs/Item.js +52 -0
- package/breadcrumbs/dropdownTheme.d.ts +53 -0
- package/breadcrumbs/dropdownTheme.js +62 -0
- package/breadcrumbs/types.d.ts +16 -0
- package/bulleted-list/BulletedList.accessibility.test.js +119 -0
- package/bulleted-list/BulletedList.js +22 -53
- package/bulleted-list/BulletedList.stories.tsx +8 -93
- package/bulleted-list/types.d.ts +32 -5
- package/button/Button.accessibility.test.js +127 -0
- package/button/Button.d.ts +1 -1
- package/button/Button.js +71 -106
- package/button/Button.stories.tsx +143 -101
- package/button/Button.test.js +20 -17
- package/button/types.d.ts +9 -5
- package/card/Card.accessibility.test.js +36 -0
- package/card/Card.d.ts +1 -1
- package/card/Card.js +49 -89
- package/card/Card.stories.tsx +12 -42
- package/card/Card.test.js +11 -22
- package/card/types.d.ts +6 -12
- package/checkbox/Checkbox.accessibility.test.js +87 -0
- package/checkbox/Checkbox.js +90 -125
- package/checkbox/Checkbox.stories.tsx +68 -54
- package/checkbox/Checkbox.test.js +108 -64
- package/checkbox/types.d.ts +8 -4
- package/chip/Chip.accessibility.test.js +67 -0
- package/chip/Chip.js +45 -80
- package/chip/Chip.stories.tsx +107 -27
- package/chip/Chip.test.js +18 -33
- package/chip/types.d.ts +4 -4
- package/common/coreTokens.d.ts +237 -0
- package/common/coreTokens.js +184 -0
- package/common/utils.d.ts +1 -0
- package/common/utils.js +6 -12
- package/common/variables.d.ts +1392 -0
- package/common/variables.js +969 -1213
- package/container/Container.d.ts +4 -0
- package/container/Container.js +194 -0
- package/container/Container.stories.tsx +214 -0
- package/container/types.d.ts +74 -0
- package/contextual-menu/ContextualMenu.accessibility.test.js +97 -0
- package/contextual-menu/ContextualMenu.d.ts +5 -0
- package/contextual-menu/ContextualMenu.js +88 -0
- package/contextual-menu/ContextualMenu.stories.tsx +232 -0
- package/contextual-menu/ContextualMenu.test.js +205 -0
- package/contextual-menu/GroupItem.d.ts +4 -0
- package/contextual-menu/GroupItem.js +67 -0
- package/contextual-menu/ItemAction.d.ts +4 -0
- package/contextual-menu/ItemAction.js +51 -0
- package/contextual-menu/MenuItem.d.ts +4 -0
- package/contextual-menu/MenuItem.js +29 -0
- package/contextual-menu/SingleItem.d.ts +4 -0
- package/contextual-menu/SingleItem.js +38 -0
- package/contextual-menu/types.d.ts +58 -0
- package/contextual-menu/types.js +5 -0
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +214 -0
- package/date-input/DateInput.accessibility.test.js +228 -0
- package/date-input/DateInput.js +149 -299
- package/date-input/DateInput.stories.tsx +210 -56
- package/date-input/DateInput.test.js +694 -429
- package/date-input/DatePicker.d.ts +4 -0
- package/date-input/DatePicker.js +121 -0
- package/date-input/YearPicker.d.ts +4 -0
- package/date-input/YearPicker.js +100 -0
- package/date-input/types.d.ts +72 -15
- package/dialog/Dialog.accessibility.test.js +69 -0
- package/dialog/Dialog.d.ts +1 -1
- package/dialog/Dialog.js +51 -120
- package/dialog/Dialog.stories.tsx +316 -212
- package/dialog/Dialog.test.js +270 -33
- package/dialog/types.d.ts +18 -26
- package/divider/Divider.accessibility.test.js +33 -0
- package/divider/Divider.d.ts +4 -0
- package/divider/Divider.js +36 -0
- package/divider/Divider.stories.tsx +223 -0
- package/divider/Divider.test.js +38 -0
- package/divider/types.d.ts +21 -0
- package/divider/types.js +5 -0
- package/dropdown/Dropdown.accessibility.test.js +180 -0
- package/dropdown/Dropdown.js +66 -136
- package/dropdown/Dropdown.stories.tsx +209 -94
- package/dropdown/Dropdown.test.js +404 -390
- package/dropdown/DropdownMenu.js +23 -40
- package/dropdown/DropdownMenuItem.js +17 -38
- package/dropdown/types.d.ts +20 -24
- package/file-input/FileInput.accessibility.test.js +160 -0
- package/file-input/FileInput.js +184 -292
- package/file-input/FileInput.stories.tsx +86 -3
- package/file-input/FileInput.test.js +279 -395
- package/file-input/FileItem.js +31 -67
- package/file-input/types.d.ts +10 -10
- package/flex/Flex.js +27 -39
- package/flex/Flex.stories.tsx +35 -26
- package/flex/types.d.ts +74 -9
- package/footer/Footer.accessibility.test.js +125 -0
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +73 -118
- package/footer/Footer.stories.tsx +94 -23
- package/footer/Footer.test.js +33 -57
- package/footer/Icons.d.ts +3 -2
- package/footer/Icons.js +53 -22
- package/footer/types.d.ts +26 -28
- package/grid/Grid.d.ts +7 -0
- package/grid/Grid.js +76 -0
- package/grid/Grid.stories.tsx +219 -0
- package/grid/types.d.ts +115 -0
- package/grid/types.js +5 -0
- package/header/Header.accessibility.test.js +93 -0
- package/header/Header.d.ts +4 -3
- package/header/Header.js +55 -150
- package/header/Header.stories.tsx +130 -35
- package/header/Header.test.js +13 -26
- package/header/Icons.d.ts +2 -2
- package/header/Icons.js +3 -13
- package/header/types.d.ts +7 -22
- package/heading/Heading.accessibility.test.js +33 -0
- package/heading/Heading.js +10 -32
- package/heading/Heading.test.js +71 -88
- package/heading/types.d.ts +7 -7
- package/icon/Icon.accessibility.test.js +30 -0
- package/icon/Icon.d.ts +4 -0
- package/icon/Icon.js +33 -0
- package/icon/Icon.stories.tsx +28 -0
- package/icon/types.d.ts +4 -0
- package/icon/types.js +5 -0
- package/image/Image.accessibility.test.js +56 -0
- package/image/Image.d.ts +4 -0
- package/image/Image.js +70 -0
- package/image/Image.stories.tsx +129 -0
- package/image/types.d.ts +72 -0
- package/image/types.js +5 -0
- package/inset/Inset.js +13 -21
- package/inset/Inset.stories.tsx +2 -1
- package/inset/types.d.ts +2 -2
- package/layout/ApplicationLayout.d.ts +5 -5
- package/layout/ApplicationLayout.js +36 -70
- package/layout/ApplicationLayout.stories.tsx +1 -1
- package/layout/Icons.d.ts +7 -5
- package/layout/Icons.js +41 -59
- package/layout/types.d.ts +5 -6
- package/link/Link.accessibility.test.js +108 -0
- package/link/Link.js +31 -50
- package/link/Link.stories.tsx +64 -4
- package/link/Link.test.js +24 -44
- package/link/types.d.ts +14 -14
- package/main.d.ts +11 -5
- package/main.js +54 -59
- package/nav-tabs/NavTabs.accessibility.test.js +44 -0
- package/nav-tabs/NavTabs.d.ts +7 -0
- package/{tabs-nav → nav-tabs}/NavTabs.js +25 -57
- package/nav-tabs/NavTabs.stories.tsx +279 -0
- package/nav-tabs/NavTabs.test.js +77 -0
- package/nav-tabs/NavTabsContext.d.ts +3 -0
- package/nav-tabs/NavTabsContext.js +8 -0
- package/nav-tabs/Tab.js +117 -0
- package/{tabs-nav → nav-tabs}/types.d.ts +15 -16
- package/nav-tabs/types.js +5 -0
- package/number-input/NumberInput.accessibility.test.js +228 -0
- package/number-input/NumberInput.js +46 -36
- package/number-input/NumberInput.stories.tsx +42 -26
- package/number-input/NumberInput.test.js +860 -413
- package/number-input/NumberInputContext.d.ts +3 -4
- package/number-input/NumberInputContext.js +3 -14
- package/number-input/types.d.ts +17 -5
- package/package.json +43 -46
- package/paginator/Paginator.accessibility.test.js +79 -0
- package/paginator/Paginator.js +34 -67
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +252 -225
- package/paginator/types.d.ts +3 -3
- package/paragraph/Paragraph.accessibility.test.js +28 -0
- package/paragraph/Paragraph.d.ts +3 -4
- package/paragraph/Paragraph.js +6 -22
- package/paragraph/Paragraph.stories.tsx +0 -17
- package/password-input/PasswordInput.accessibility.test.js +153 -0
- package/password-input/PasswordInput.js +58 -127
- package/password-input/PasswordInput.stories.tsx +1 -33
- package/password-input/PasswordInput.test.js +158 -141
- package/password-input/types.d.ts +8 -7
- package/progress-bar/ProgressBar.accessibility.test.js +35 -0
- package/progress-bar/ProgressBar.d.ts +2 -2
- package/progress-bar/ProgressBar.js +28 -58
- package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +36 -3
- package/progress-bar/ProgressBar.test.js +36 -53
- package/progress-bar/types.d.ts +4 -3
- package/quick-nav/QuickNav.accessibility.test.js +57 -0
- package/quick-nav/QuickNav.js +4 -27
- package/quick-nav/QuickNav.stories.tsx +15 -1
- package/quick-nav/types.d.ts +10 -10
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +31 -63
- package/radio-group/RadioGroup.accessibility.test.js +97 -0
- package/radio-group/RadioGroup.js +46 -93
- package/radio-group/RadioGroup.stories.tsx +131 -18
- package/radio-group/RadioGroup.test.js +505 -471
- package/radio-group/types.d.ts +8 -8
- package/resultset-table/Icons.d.ts +7 -0
- package/{text-input → resultset-table}/Icons.js +13 -26
- package/resultset-table/ResultsetTable.accessibility.test.js +285 -0
- package/resultset-table/ResultsetTable.d.ts +7 -0
- package/resultset-table/ResultsetTable.js +171 -0
- package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +168 -30
- package/resultset-table/ResultsetTable.test.js +381 -0
- package/{resultsetTable → resultset-table}/types.d.ts +44 -11
- package/resultset-table/types.js +5 -0
- package/select/Listbox.d.ts +1 -1
- package/select/Listbox.js +43 -86
- package/select/Option.js +35 -56
- package/select/Select.accessibility.test.js +228 -0
- package/select/Select.js +140 -183
- package/select/Select.stories.tsx +496 -204
- package/select/Select.test.js +1949 -1917
- package/select/types.d.ts +17 -18
- package/sidenav/Sidenav.accessibility.test.js +59 -0
- package/sidenav/Sidenav.d.ts +2 -2
- package/sidenav/Sidenav.js +90 -157
- package/sidenav/Sidenav.stories.tsx +160 -63
- package/sidenav/Sidenav.test.js +3 -10
- package/{layout → sidenav}/SidenavContext.d.ts +1 -1
- package/{layout → sidenav}/SidenavContext.js +3 -9
- package/sidenav/types.d.ts +33 -30
- package/slider/Slider.accessibility.test.js +104 -0
- package/slider/Slider.js +75 -132
- package/slider/Slider.test.js +108 -104
- package/slider/types.d.ts +4 -4
- package/spinner/Spinner.accessibility.test.js +96 -0
- package/spinner/Spinner.js +34 -74
- package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
- package/spinner/Spinner.test.js +26 -35
- package/spinner/types.d.ts +3 -3
- package/status-light/StatusLight.accessibility.test.js +157 -0
- package/status-light/StatusLight.d.ts +4 -0
- package/status-light/StatusLight.js +51 -0
- package/status-light/StatusLight.stories.tsx +74 -0
- package/status-light/StatusLight.test.js +25 -0
- package/status-light/types.d.ts +17 -0
- package/status-light/types.js +5 -0
- package/switch/Switch.accessibility.test.js +98 -0
- package/switch/Switch.js +52 -100
- package/switch/Switch.stories.tsx +45 -34
- package/switch/Switch.test.js +52 -97
- package/switch/types.d.ts +4 -4
- package/table/DropdownTheme.js +62 -0
- package/table/Table.accessibility.test.js +93 -0
- package/table/Table.d.ts +6 -2
- package/table/Table.js +78 -35
- package/table/Table.stories.tsx +663 -0
- package/table/Table.test.js +94 -7
- package/table/types.d.ts +34 -6
- package/tabs/Tab.js +28 -46
- package/tabs/Tabs.accessibility.test.js +56 -0
- package/tabs/Tabs.js +69 -163
- package/tabs/Tabs.stories.tsx +50 -6
- package/tabs/Tabs.test.js +61 -136
- package/tabs/types.d.ts +21 -21
- package/tag/Tag.accessibility.test.js +69 -0
- package/tag/Tag.js +34 -66
- package/tag/Tag.stories.tsx +18 -8
- package/tag/Tag.test.js +18 -37
- package/tag/types.d.ts +9 -9
- package/text-input/Suggestion.js +35 -25
- package/text-input/Suggestions.d.ts +1 -1
- package/text-input/Suggestions.js +30 -70
- package/text-input/TextInput.accessibility.test.js +321 -0
- package/text-input/TextInput.js +229 -335
- package/text-input/TextInput.stories.tsx +155 -162
- package/text-input/TextInput.test.js +1289 -1157
- package/text-input/types.d.ts +25 -17
- package/textarea/Textarea.accessibility.test.js +155 -0
- package/textarea/Textarea.js +71 -113
- package/textarea/Textarea.stories.tsx +174 -0
- package/textarea/Textarea.test.js +152 -183
- package/textarea/types.d.ts +9 -5
- package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
- package/toggle-group/ToggleGroup.d.ts +2 -2
- package/toggle-group/ToggleGroup.js +94 -107
- package/toggle-group/ToggleGroup.stories.tsx +52 -7
- package/toggle-group/ToggleGroup.test.js +69 -88
- package/toggle-group/types.d.ts +28 -19
- package/typography/Typography.accessibility.test.js +339 -0
- package/typography/Typography.d.ts +2 -2
- package/typography/Typography.js +15 -123
- package/typography/Typography.stories.tsx +1 -1
- package/typography/types.d.ts +1 -1
- package/useTheme.d.ts +1144 -1
- package/useTheme.js +2 -9
- package/useTranslatedLabels.d.ts +84 -1
- package/useTranslatedLabels.js +1 -7
- package/utils/BaseTypography.d.ts +21 -0
- package/utils/BaseTypography.js +94 -0
- package/utils/FocusLock.d.ts +13 -0
- package/utils/FocusLock.js +124 -0
- package/wizard/Wizard.accessibility.test.js +55 -0
- package/wizard/Wizard.js +29 -75
- package/wizard/Wizard.stories.tsx +39 -0
- package/wizard/Wizard.test.js +54 -81
- package/wizard/types.d.ts +10 -11
- package/card/ice-cream.jpg +0 -0
- package/common/OpenSans.css +0 -81
- package/common/RequiredComponent.js +0 -32
- package/common/fonts/OpenSans-Bold.ttf +0 -0
- package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
- package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
- package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
- package/common/fonts/OpenSans-Italic.ttf +0 -0
- package/common/fonts/OpenSans-Light.ttf +0 -0
- package/common/fonts/OpenSans-LightItalic.ttf +0 -0
- package/common/fonts/OpenSans-Regular.ttf +0 -0
- package/common/fonts/OpenSans-SemiBold.ttf +0 -0
- package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
- package/number-input/numberInputContextTypes.d.ts +0 -19
- package/paginator/Icons.js +0 -66
- package/resultsetTable/ResultsetTable.d.ts +0 -4
- package/resultsetTable/ResultsetTable.js +0 -252
- package/resultsetTable/ResultsetTable.test.js +0 -348
- package/select/Icons.d.ts +0 -10
- package/select/Icons.js +0 -93
- package/slider/Slider.stories.tsx +0 -183
- package/table/Table.stories.jsx +0 -277
- package/tabs-nav/NavTabs.d.ts +0 -8
- package/tabs-nav/NavTabs.stories.tsx +0 -170
- package/tabs-nav/NavTabs.test.js +0 -82
- package/tabs-nav/Tab.js +0 -130
- package/text-input/Icons.d.ts +0 -8
- package/textarea/Textarea.stories.jsx +0 -157
- /package/{resultsetTable → action-icon}/types.js +0 -0
- /package/{tabs-nav → breadcrumbs}/types.js +0 -0
- /package/{number-input/numberInputContextTypes.js → container/types.js} +0 -0
- /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
package/tabs/Tabs.js
CHANGED
|
@@ -1,88 +1,53 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _typeof3 = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports["default"] = void 0;
|
|
11
|
-
|
|
12
9
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
13
|
-
|
|
14
10
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
15
|
-
|
|
16
11
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
17
|
-
|
|
18
12
|
var _react = _interopRequireWildcard(require("react"));
|
|
19
|
-
|
|
20
13
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
21
|
-
|
|
22
|
-
var _variables = require("../common/variables.js");
|
|
23
|
-
|
|
14
|
+
var _variables = require("../common/variables");
|
|
24
15
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
25
|
-
|
|
26
16
|
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
27
|
-
|
|
28
17
|
var _Tab = _interopRequireDefault(require("./Tab"));
|
|
29
|
-
|
|
18
|
+
var _Icon = _interopRequireDefault(require("../icon/Icon"));
|
|
30
19
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
|
|
31
|
-
|
|
32
|
-
function
|
|
33
|
-
|
|
34
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(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; }
|
|
35
|
-
|
|
36
|
-
var arrowIcons = {
|
|
37
|
-
left: /*#__PURE__*/_react["default"].createElement("svg", {
|
|
38
|
-
focusable: "false",
|
|
39
|
-
viewBox: "0 0 24 24",
|
|
40
|
-
"aria-hidden": "true"
|
|
41
|
-
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
42
|
-
d: "M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z"
|
|
43
|
-
})),
|
|
44
|
-
right: /*#__PURE__*/_react["default"].createElement("svg", {
|
|
45
|
-
focusable: "false",
|
|
46
|
-
viewBox: "0 0 24 24",
|
|
47
|
-
"aria-hidden": "true"
|
|
48
|
-
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
49
|
-
d: "M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"
|
|
50
|
-
}))
|
|
51
|
-
};
|
|
52
|
-
|
|
20
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
21
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
53
22
|
var useResize = function useResize(refTabList) {
|
|
54
23
|
var _useState = (0, _react.useState)(0),
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
24
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
25
|
+
viewWidth = _useState2[0],
|
|
26
|
+
setViewWidth = _useState2[1];
|
|
59
27
|
var handleWindowSizeChange = (0, _react.useCallback)(function () {
|
|
60
|
-
var _refTabList$current;
|
|
61
|
-
|
|
62
|
-
setViewWidth(refTabList === null || refTabList === void 0 ? void 0 : (_refTabList$current = refTabList.current) === null || _refTabList$current === void 0 ? void 0 : _refTabList$current.offsetWidth);
|
|
28
|
+
var _refTabList$current$o, _refTabList$current;
|
|
29
|
+
setViewWidth((_refTabList$current$o = refTabList === null || refTabList === void 0 ? void 0 : (_refTabList$current = refTabList.current) === null || _refTabList$current === void 0 ? void 0 : _refTabList$current.offsetWidth) !== null && _refTabList$current$o !== void 0 ? _refTabList$current$o : 0);
|
|
63
30
|
}, [refTabList]);
|
|
64
31
|
(0, _react.useEffect)(function () {
|
|
65
|
-
|
|
32
|
+
handleWindowSizeChange();
|
|
66
33
|
window.addEventListener("resize", handleWindowSizeChange);
|
|
67
34
|
return function () {
|
|
68
|
-
window.removeEventListener("load", handleWindowSizeChange);
|
|
69
35
|
window.removeEventListener("resize", handleWindowSizeChange);
|
|
70
36
|
};
|
|
71
37
|
}, [handleWindowSizeChange]);
|
|
72
38
|
return viewWidth;
|
|
73
39
|
};
|
|
74
|
-
|
|
75
40
|
var DxcTabs = function DxcTabs(_ref) {
|
|
76
41
|
var defaultActiveTabIndex = _ref.defaultActiveTabIndex,
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
42
|
+
activeTabIndex = _ref.activeTabIndex,
|
|
43
|
+
tabs = _ref.tabs,
|
|
44
|
+
onTabClick = _ref.onTabClick,
|
|
45
|
+
onTabHover = _ref.onTabHover,
|
|
46
|
+
margin = _ref.margin,
|
|
47
|
+
_ref$iconPosition = _ref.iconPosition,
|
|
48
|
+
iconPosition = _ref$iconPosition === void 0 ? "top" : _ref$iconPosition,
|
|
49
|
+
_ref$tabIndex = _ref.tabIndex,
|
|
50
|
+
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
86
51
|
var colorsTheme = (0, _useTheme["default"])();
|
|
87
52
|
var hasLabelAndIcon = tabs && tabs.filter(function (tab) {
|
|
88
53
|
return tab.label && tab.icon;
|
|
@@ -90,62 +55,50 @@ var DxcTabs = function DxcTabs(_ref) {
|
|
|
90
55
|
var firstFocus = tabs && tabs.findIndex(function (tab) {
|
|
91
56
|
return !tab.isDisabled;
|
|
92
57
|
});
|
|
93
|
-
|
|
94
58
|
var _useState3 = (0, _react.useState)(tabs && defaultActiveTabIndex && !tabs[defaultActiveTabIndex].isDisabled ? defaultActiveTabIndex : firstFocus),
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
59
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
60
|
+
innerActiveTabIndex = _useState4[0],
|
|
61
|
+
setInnerActiveTabIndex = _useState4[1];
|
|
99
62
|
var _useState5 = (0, _react.useState)(0),
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
63
|
+
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
64
|
+
activeIndicatorWidth = _useState6[0],
|
|
65
|
+
setActiveIndicatorWidth = _useState6[1];
|
|
104
66
|
var _useState7 = (0, _react.useState)(0),
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
67
|
+
_useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
|
|
68
|
+
activeIndicatorLeft = _useState8[0],
|
|
69
|
+
setActiveIndicatorLeft = _useState8[1];
|
|
109
70
|
var _useState9 = (0, _react.useState)(0),
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
71
|
+
_useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
|
|
72
|
+
translateScroll = _useState10[0],
|
|
73
|
+
setTranslateScroll = _useState10[1];
|
|
114
74
|
var _useState11 = (0, _react.useState)(true),
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
75
|
+
_useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
|
|
76
|
+
scrollRightEnabled = _useState12[0],
|
|
77
|
+
setScrollRightEnabled = _useState12[1];
|
|
119
78
|
var _useState13 = (0, _react.useState)(false),
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
79
|
+
_useState14 = (0, _slicedToArray2["default"])(_useState13, 2),
|
|
80
|
+
scrollLeftEnabled = _useState14[0],
|
|
81
|
+
setScrollLeftEnabled = _useState14[1];
|
|
124
82
|
var _useState15 = (0, _react.useState)(0),
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
83
|
+
_useState16 = (0, _slicedToArray2["default"])(_useState15, 2),
|
|
84
|
+
countClick = _useState16[0],
|
|
85
|
+
setCountClick = _useState16[1];
|
|
129
86
|
var _useState17 = (0, _react.useState)(0),
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
87
|
+
_useState18 = (0, _slicedToArray2["default"])(_useState17, 2),
|
|
88
|
+
totalTabsWidth = _useState18[0],
|
|
89
|
+
setTotalTabsWidth = _useState18[1];
|
|
134
90
|
var _useState19 = (0, _react.useState)(activeTabIndex !== null && activeTabIndex !== void 0 ? activeTabIndex : innerActiveTabIndex),
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
91
|
+
_useState20 = (0, _slicedToArray2["default"])(_useState19, 2),
|
|
92
|
+
currentFocusIndex = _useState20[0],
|
|
93
|
+
setCurrentFocusIndex = _useState20[1];
|
|
139
94
|
var _useState21 = (0, _react.useState)(activeTabIndex !== null && activeTabIndex !== void 0 ? activeTabIndex : innerActiveTabIndex),
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
95
|
+
_useState22 = (0, _slicedToArray2["default"])(_useState21, 2),
|
|
96
|
+
temporalFocusIndex = _useState22[0],
|
|
97
|
+
setTemporalFocusIndex = _useState22[1];
|
|
144
98
|
var _useState23 = (0, _react.useState)(0),
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
99
|
+
_useState24 = (0, _slicedToArray2["default"])(_useState23, 2),
|
|
100
|
+
minHeightTabs = _useState24[0],
|
|
101
|
+
setMinHeightTabs = _useState24[1];
|
|
149
102
|
var refTabs = (0, _react.useRef)([]);
|
|
150
103
|
var refTabList = (0, _react.useRef)(null);
|
|
151
104
|
var viewWidth = useResize(refTabList);
|
|
@@ -155,7 +108,6 @@ var DxcTabs = function DxcTabs(_ref) {
|
|
|
155
108
|
}, [viewWidth]);
|
|
156
109
|
(0, _react.useEffect)(function () {
|
|
157
110
|
var _refTabs$current, _refTabs$current2, _refTabs$current3;
|
|
158
|
-
|
|
159
111
|
var sumWidth = refTabs === null || refTabs === void 0 ? void 0 : (_refTabs$current = refTabs.current) === null || _refTabs$current === void 0 ? void 0 : _refTabs$current.reduce(function (count, obj) {
|
|
160
112
|
return count + obj.offsetWidth;
|
|
161
113
|
}, 0);
|
|
@@ -165,36 +117,28 @@ var DxcTabs = function DxcTabs(_ref) {
|
|
|
165
117
|
}, [refTabs]);
|
|
166
118
|
(0, _react.useEffect)(function () {
|
|
167
119
|
var _refTabList$current2;
|
|
168
|
-
|
|
169
120
|
setMinHeightTabs((refTabList === null || refTabList === void 0 ? void 0 : (_refTabList$current2 = refTabList.current) === null || _refTabList$current2 === void 0 ? void 0 : _refTabList$current2.offsetHeight) + 1);
|
|
170
121
|
}, [refTabList]);
|
|
171
122
|
(0, _react.useEffect)(function () {
|
|
172
123
|
if (activeTabIndex >= 0) {
|
|
173
124
|
var _refTabs$current$acti, _refTabs$current$acti2;
|
|
174
|
-
|
|
175
125
|
setActiveIndicatorWidth(refTabs === null || refTabs === void 0 ? void 0 : (_refTabs$current$acti = refTabs.current[activeTabIndex]) === null || _refTabs$current$acti === void 0 ? void 0 : _refTabs$current$acti.offsetWidth);
|
|
176
126
|
setActiveIndicatorLeft(refTabs === null || refTabs === void 0 ? void 0 : (_refTabs$current$acti2 = refTabs.current[activeTabIndex]) === null || _refTabs$current$acti2 === void 0 ? void 0 : _refTabs$current$acti2.offsetLeft);
|
|
177
127
|
}
|
|
178
128
|
}, [activeTabIndex]);
|
|
179
|
-
|
|
180
129
|
var handleSelected = function handleSelected(newValue) {
|
|
181
130
|
activeTabIndex !== null && activeTabIndex !== void 0 ? activeTabIndex : setInnerActiveTabIndex(newValue);
|
|
182
131
|
onTabClick === null || onTabClick === void 0 ? void 0 : onTabClick(newValue);
|
|
183
|
-
|
|
184
132
|
if (activeTabIndex === undefined) {
|
|
185
133
|
var _refTabs$current$newV, _refTabs$current$newV2;
|
|
186
|
-
|
|
187
134
|
setActiveIndicatorWidth(refTabs === null || refTabs === void 0 ? void 0 : (_refTabs$current$newV = refTabs.current[newValue]) === null || _refTabs$current$newV === void 0 ? void 0 : _refTabs$current$newV.offsetWidth);
|
|
188
135
|
setActiveIndicatorLeft(refTabs === null || refTabs === void 0 ? void 0 : (_refTabs$current$newV2 = refTabs.current[newValue]) === null || _refTabs$current$newV2 === void 0 ? void 0 : _refTabs$current$newV2.offsetLeft);
|
|
189
136
|
}
|
|
190
137
|
};
|
|
191
|
-
|
|
192
138
|
var scrollLeft = function scrollLeft() {
|
|
193
139
|
var _refTabList$current3;
|
|
194
|
-
|
|
195
140
|
var scrollWidth = (refTabList === null || refTabList === void 0 ? void 0 : (_refTabList$current3 = refTabList.current) === null || _refTabList$current3 === void 0 ? void 0 : _refTabList$current3.offsetWidth) * 0.75;
|
|
196
|
-
var moveX;
|
|
197
|
-
|
|
141
|
+
var moveX = 0;
|
|
198
142
|
if (countClick <= scrollWidth) {
|
|
199
143
|
moveX = 0;
|
|
200
144
|
setScrollLeftEnabled(false);
|
|
@@ -204,20 +148,15 @@ var DxcTabs = function DxcTabs(_ref) {
|
|
|
204
148
|
setScrollRightEnabled(true);
|
|
205
149
|
setScrollLeftEnabled(true);
|
|
206
150
|
}
|
|
207
|
-
|
|
208
151
|
setTranslateScroll(-moveX);
|
|
209
152
|
setCountClick(moveX);
|
|
210
153
|
};
|
|
211
|
-
|
|
212
154
|
var scrollRight = function scrollRight() {
|
|
213
155
|
var _refTabList$current4, _refTabList$current5;
|
|
214
|
-
|
|
215
156
|
var scrollWidth = (refTabList === null || refTabList === void 0 ? void 0 : (_refTabList$current4 = refTabList.current) === null || _refTabList$current4 === void 0 ? void 0 : _refTabList$current4.offsetWidth) * 0.75;
|
|
216
|
-
var moveX;
|
|
217
|
-
|
|
157
|
+
var moveX = 0;
|
|
218
158
|
if (countClick + scrollWidth + (refTabList === null || refTabList === void 0 ? void 0 : (_refTabList$current5 = refTabList.current) === null || _refTabList$current5 === void 0 ? void 0 : _refTabList$current5.offsetWidth) >= totalTabsWidth) {
|
|
219
159
|
var _refTabList$current6;
|
|
220
|
-
|
|
221
160
|
moveX = totalTabsWidth - (refTabList === null || refTabList === void 0 ? void 0 : (_refTabList$current6 = refTabList.current) === null || _refTabList$current6 === void 0 ? void 0 : _refTabList$current6.offsetWidth);
|
|
222
161
|
setScrollRightEnabled(false);
|
|
223
162
|
setScrollLeftEnabled(true);
|
|
@@ -226,19 +165,15 @@ var DxcTabs = function DxcTabs(_ref) {
|
|
|
226
165
|
setScrollLeftEnabled(true);
|
|
227
166
|
setScrollRightEnabled(true);
|
|
228
167
|
}
|
|
229
|
-
|
|
230
168
|
setTranslateScroll(-moveX);
|
|
231
169
|
setCountClick(moveX);
|
|
232
170
|
};
|
|
233
|
-
|
|
234
171
|
var setPreviousTabFocus = function setPreviousTabFocus() {
|
|
235
172
|
setTemporalFocusIndex(function (temporalFocusIndex) {
|
|
236
173
|
var index = temporalFocusIndex === 0 ? tabs.length - 1 : temporalFocusIndex - 1;
|
|
237
|
-
|
|
238
174
|
while (tabs[index].isDisabled) {
|
|
239
175
|
index = index === 0 ? tabs.length - 1 : index - 1;
|
|
240
176
|
}
|
|
241
|
-
|
|
242
177
|
refTabs === null || refTabs === void 0 ? void 0 : refTabs.current[index].focus({
|
|
243
178
|
preventScroll: true
|
|
244
179
|
});
|
|
@@ -246,15 +181,12 @@ var DxcTabs = function DxcTabs(_ref) {
|
|
|
246
181
|
return index;
|
|
247
182
|
});
|
|
248
183
|
};
|
|
249
|
-
|
|
250
184
|
var setNextTabFocus = function setNextTabFocus() {
|
|
251
185
|
setTemporalFocusIndex(function (temporalFocusIndex) {
|
|
252
186
|
var index = temporalFocusIndex === tabs.length - 1 ? 0 : temporalFocusIndex + 1;
|
|
253
|
-
|
|
254
187
|
while (tabs[index].isDisabled) {
|
|
255
188
|
index = index === tabs.length - 1 ? 0 : index + 1;
|
|
256
189
|
}
|
|
257
|
-
|
|
258
190
|
refTabs === null || refTabs === void 0 ? void 0 : refTabs.current[index].focus({
|
|
259
191
|
preventScroll: true
|
|
260
192
|
});
|
|
@@ -262,10 +194,8 @@ var DxcTabs = function DxcTabs(_ref) {
|
|
|
262
194
|
return index;
|
|
263
195
|
});
|
|
264
196
|
};
|
|
265
|
-
|
|
266
197
|
var setScrollFocus = function setScrollFocus(actualIndex) {
|
|
267
198
|
var _refTabs$current4, _refTabList$current8;
|
|
268
|
-
|
|
269
199
|
var sumPrev = 0;
|
|
270
200
|
refTabs === null || refTabs === void 0 ? void 0 : (_refTabs$current4 = refTabs.current) === null || _refTabs$current4 === void 0 ? void 0 : _refTabs$current4.map(function (item, index) {
|
|
271
201
|
if (index <= actualIndex) {
|
|
@@ -273,29 +203,23 @@ var DxcTabs = function DxcTabs(_ref) {
|
|
|
273
203
|
}
|
|
274
204
|
});
|
|
275
205
|
var moveX = 0;
|
|
276
|
-
|
|
277
206
|
if (actualIndex === tabs.length - 1) {
|
|
278
207
|
var _refTabList$current7;
|
|
279
|
-
|
|
280
208
|
moveX = totalTabsWidth - (refTabList === null || refTabList === void 0 ? void 0 : (_refTabList$current7 = refTabList.current) === null || _refTabList$current7 === void 0 ? void 0 : _refTabList$current7.offsetWidth);
|
|
281
209
|
setScrollLeftEnabled(true);
|
|
282
210
|
setScrollRightEnabled(false);
|
|
283
211
|
} else if (sumPrev > (refTabList === null || refTabList === void 0 ? void 0 : (_refTabList$current8 = refTabList.current) === null || _refTabList$current8 === void 0 ? void 0 : _refTabList$current8.offsetWidth)) {
|
|
284
212
|
var _refTabList$current9;
|
|
285
|
-
|
|
286
213
|
moveX = sumPrev - (refTabList === null || refTabList === void 0 ? void 0 : (_refTabList$current9 = refTabList.current) === null || _refTabList$current9 === void 0 ? void 0 : _refTabList$current9.offsetWidth) + 1; //plus 1px for the outline
|
|
287
|
-
|
|
288
214
|
setScrollLeftEnabled(true);
|
|
289
215
|
setScrollRightEnabled(true);
|
|
290
216
|
} else {
|
|
291
217
|
setScrollLeftEnabled(false);
|
|
292
218
|
setScrollRightEnabled(true);
|
|
293
219
|
}
|
|
294
|
-
|
|
295
220
|
setTranslateScroll(-moveX);
|
|
296
221
|
setCountClick(moveX);
|
|
297
222
|
};
|
|
298
|
-
|
|
299
223
|
var handleOnKeyDown = function handleOnKeyDown(event) {
|
|
300
224
|
switch (event.key) {
|
|
301
225
|
case "Left":
|
|
@@ -303,36 +227,30 @@ var DxcTabs = function DxcTabs(_ref) {
|
|
|
303
227
|
event.preventDefault();
|
|
304
228
|
setPreviousTabFocus();
|
|
305
229
|
break;
|
|
306
|
-
|
|
307
230
|
case "Right":
|
|
308
231
|
case "ArrowRight":
|
|
309
232
|
event.preventDefault();
|
|
310
233
|
setNextTabFocus();
|
|
311
234
|
break;
|
|
312
|
-
|
|
313
235
|
case "Enter":
|
|
314
236
|
case " ":
|
|
315
237
|
event.preventDefault();
|
|
316
238
|
setCurrentFocusIndex(temporalFocusIndex);
|
|
317
239
|
handleSelected(temporalFocusIndex);
|
|
318
240
|
break;
|
|
319
|
-
|
|
320
241
|
case "Tab":
|
|
321
242
|
if (temporalFocusIndex !== currentFocusIndex) {
|
|
322
243
|
event.preventDefault();
|
|
323
244
|
setTemporalFocusIndex(currentFocusIndex);
|
|
324
245
|
refTabs === null || refTabs === void 0 ? void 0 : refTabs.current[currentFocusIndex].focus();
|
|
325
246
|
}
|
|
326
|
-
|
|
327
247
|
handleSelected(currentFocusIndex);
|
|
328
248
|
break;
|
|
329
249
|
}
|
|
330
250
|
};
|
|
331
|
-
|
|
332
251
|
var isTabActive = function isTabActive(index) {
|
|
333
252
|
return activeTabIndex >= 0 ? activeTabIndex === index : innerActiveTabIndex === index;
|
|
334
253
|
};
|
|
335
|
-
|
|
336
254
|
var isActiveIndicatorDisabled = firstFocus === -1 || tabs && activeTabIndex >= 0 && tabs[activeTabIndex].isDisabled;
|
|
337
255
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
338
256
|
theme: colorsTheme.tabs
|
|
@@ -343,13 +261,14 @@ var DxcTabs = function DxcTabs(_ref) {
|
|
|
343
261
|
iconPosition: iconPosition
|
|
344
262
|
}, /*#__PURE__*/_react["default"].createElement(ScrollIndicator, {
|
|
345
263
|
onClick: scrollLeft,
|
|
346
|
-
scrollLeftEnabled: scrollLeftEnabled,
|
|
347
264
|
enabled: enabledIndicator,
|
|
348
|
-
|
|
265
|
+
disabled: !scrollLeftEnabled,
|
|
349
266
|
"aria-label": translatedLabels.tabs.scrollLeft,
|
|
350
267
|
tabIndex: scrollLeftEnabled ? tabIndex : -1,
|
|
351
268
|
minHeightTabs: minHeightTabs
|
|
352
|
-
},
|
|
269
|
+
}, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
270
|
+
icon: "keyboard_arrow_left"
|
|
271
|
+
})), /*#__PURE__*/_react["default"].createElement(TabsContent, null, /*#__PURE__*/_react["default"].createElement(TabsContentScroll, {
|
|
353
272
|
translateScroll: translateScroll,
|
|
354
273
|
ref: refTabList,
|
|
355
274
|
enabled: enabledIndicator
|
|
@@ -386,21 +305,20 @@ var DxcTabs = function DxcTabs(_ref) {
|
|
|
386
305
|
"aria-disabled": isActiveIndicatorDisabled
|
|
387
306
|
}))), /*#__PURE__*/_react["default"].createElement(ScrollIndicator, {
|
|
388
307
|
onClick: scrollRight,
|
|
389
|
-
scrollRightEnabled: scrollRightEnabled,
|
|
390
308
|
enabled: enabledIndicator,
|
|
391
|
-
|
|
309
|
+
disabled: !scrollRightEnabled,
|
|
392
310
|
"aria-label": translatedLabels.tabs.scrollRight,
|
|
393
311
|
tabIndex: scrollRightEnabled ? tabIndex : -1,
|
|
394
312
|
minHeightTabs: minHeightTabs
|
|
395
|
-
},
|
|
313
|
+
}, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
314
|
+
icon: "keyboard_arrow_right"
|
|
315
|
+
})))));
|
|
396
316
|
};
|
|
397
|
-
|
|
398
|
-
var Underline = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n left: 0;\n bottom: 0;\n width: 100%;\n position: absolute;\n height: ", ";\n background-color: ", ";\n z-index: 1;\n"])), function (props) {
|
|
317
|
+
var Underline = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n left: 0;\n bottom: 0;\n width: 100%;\n height: ", ";\n background-color: ", ";\n"])), function (props) {
|
|
399
318
|
return props.theme.dividerThickness;
|
|
400
319
|
}, function (props) {
|
|
401
320
|
return props.theme.dividerColor;
|
|
402
321
|
});
|
|
403
|
-
|
|
404
322
|
var TabsContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
|
|
405
323
|
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
406
324
|
}, function (props) {
|
|
@@ -412,7 +330,6 @@ var TabsContainer = _styledComponents["default"].div(_templateObject2 || (_templ
|
|
|
412
330
|
}, function (props) {
|
|
413
331
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
|
|
414
332
|
});
|
|
415
|
-
|
|
416
333
|
var Tabs = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n min-height: ", ";\n height: ", ";\n display: flex;\n overflow: hidden;\n background-color: ", ";\n"])), function (props) {
|
|
417
334
|
return (!props.hasLabelAndIcon || props.hasLabelAndIcon && props.iconPosition !== "top") && "48px" || "72px";
|
|
418
335
|
}, function (props) {
|
|
@@ -420,17 +337,12 @@ var Tabs = _styledComponents["default"].div(_templateObject3 || (_templateObject
|
|
|
420
337
|
}, function (props) {
|
|
421
338
|
return props.theme.unselectedBackgroundColor;
|
|
422
339
|
});
|
|
423
|
-
|
|
424
|
-
var ScrollIndicator = _styledComponents["default"].button(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: ", ";\n background-color: #ffffff;\n font-size: 1.25rem;\n min-width: ", ";\n height: ", "px;\n padding: 0;\n justify-content: center;\n cursor: pointer;\n border-bottom: solid ", " ", ";\n box-sizing: border-box;\n border: none;\n &:hover {\n background-color: ", ";\n }\n &:focus {\n outline: ", " solid 1px;\n outline-offset: -1px;\n }\n &:active {\n background-color: ", ";\n }\n svg {\n height: 20px;\n width: 20px;\n align-self: center;\n fill: ", ";\n visibility: visible;\n }\n &[aria-disabled=\"true\"] {\n pointer-events: none;\n cursor: default;\n svg {\n visibility: hidden;\n }\n &:focus {\n outline: none;\n }\n &:hover,\n &:active {\n background-color: transparent !important;\n }\n }\n"])), function (props) {
|
|
340
|
+
var ScrollIndicator = _styledComponents["default"].button(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: ", ";\n justify-content: center;\n min-width: ", ";\n height: ", "px;\n padding: 0;\n border: none;\n background-color: #ffffff;\n font-size: 1.25rem;\n cursor: pointer;\n\n &:hover {\n background-color: ", ";\n }\n &:focus {\n outline: ", " solid 1px;\n outline-offset: -1px;\n }\n &:active {\n background-color: ", ";\n }\n &:disabled {\n cursor: default;\n display: none;\n svg {\n visibility: hidden;\n }\n &:focus {\n outline: none;\n }\n &:hover,\n &:active {\n background-color: transparent !important;\n }\n }\n\n span {\n align-self: center;\n height: 20px;\n width: 20px;\n }\n\n span::before {\n color: ", ";\n }\n"])), function (props) {
|
|
425
341
|
return props.enabled ? "flex" : "none";
|
|
426
342
|
}, function (props) {
|
|
427
343
|
return props.theme.scrollButtonsWidth;
|
|
428
344
|
}, function (props) {
|
|
429
345
|
return props.minHeightTabs - 1;
|
|
430
|
-
}, function (props) {
|
|
431
|
-
return props.theme.dividerThickness;
|
|
432
|
-
}, function (props) {
|
|
433
|
-
return props.theme.dividerColor;
|
|
434
346
|
}, function (props) {
|
|
435
347
|
return "".concat(props.theme.hoverBackgroundColor, " !important");
|
|
436
348
|
}, function (props) {
|
|
@@ -440,28 +352,22 @@ var ScrollIndicator = _styledComponents["default"].button(_templateObject4 || (_
|
|
|
440
352
|
}, function (props) {
|
|
441
353
|
return props.theme.unselectedFontColor;
|
|
442
354
|
});
|
|
443
|
-
|
|
444
|
-
var ActiveIndicator = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n left: ", ";\n width: ", ";\n z-index: 2;\n background-color: ", ";\n bottom: 0;\n height: ", ";\n position: absolute;\n &[aria-disabled=\"true\"] {\n background-color: ", ";\n display: none;\n }\n"])), function (props) {
|
|
355
|
+
var ActiveIndicator = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n bottom: 0;\n left: ", ";\n width: ", ";\n height: ", ";\n background-color: ", ";\n &[aria-disabled=\"true\"] {\n background-color: ", ";\n display: none;\n }\n"])), function (props) {
|
|
445
356
|
return "".concat(props.tabLeft, "px");
|
|
446
357
|
}, function (props) {
|
|
447
358
|
return "".concat(props.tabWidth, "px");
|
|
448
|
-
}, function (props) {
|
|
449
|
-
return props.theme.selectedUnderlineColor;
|
|
450
359
|
}, function (props) {
|
|
451
360
|
return props.theme.selectedUnderlineThickness;
|
|
361
|
+
}, function (props) {
|
|
362
|
+
return props.theme.selectedUnderlineColor;
|
|
452
363
|
}, function (props) {
|
|
453
364
|
return props.theme.disabledFontColor;
|
|
454
365
|
});
|
|
455
|
-
|
|
456
|
-
var TabsContent = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n z-index: 1;\n flex: 1 1 auto;\n display: inline-block;\n position: relative;\n white-space: nowrap;\n overflow-x: scroll;\n ::-webkit-scrollbar {\n display: none;\n }\n"])));
|
|
457
|
-
|
|
366
|
+
var TabsContent = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n flex: 1 1 auto;\n display: inline-block;\n position: relative;\n white-space: nowrap;\n overflow-x: scroll;\n ::-webkit-scrollbar {\n display: none;\n }\n"])));
|
|
458
367
|
var TabList = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n min-height: ", "px;\n"])), function (props) {
|
|
459
368
|
return props.minHeightTabs;
|
|
460
369
|
});
|
|
461
|
-
|
|
462
370
|
var TabsContentScroll = _styledComponents["default"].div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n ", ";\n transition: all 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n"])), function (props) {
|
|
463
371
|
return props.enabled ? "transform: translateX(".concat(props.translateScroll, "px)") : "transform: translateX(0px)";
|
|
464
372
|
});
|
|
465
|
-
|
|
466
|
-
var _default = DxcTabs;
|
|
467
|
-
exports["default"] = _default;
|
|
373
|
+
var _default = exports["default"] = DxcTabs;
|
package/tabs/Tabs.stories.tsx
CHANGED
|
@@ -2,16 +2,22 @@ import React from "react";
|
|
|
2
2
|
import DxcTabs from "./Tabs";
|
|
3
3
|
import Title from "../../.storybook/components/Title";
|
|
4
4
|
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
5
|
+
import { HalstackProvider } from "../HalstackContext";
|
|
6
|
+
import { INITIAL_VIEWPORTS } from '@storybook/addon-viewport';
|
|
5
7
|
|
|
6
8
|
export default {
|
|
7
9
|
title: "Tabs",
|
|
8
10
|
component: DxcTabs,
|
|
11
|
+
parameters: {
|
|
12
|
+
viewport: {
|
|
13
|
+
viewports: INITIAL_VIEWPORTS,
|
|
14
|
+
},
|
|
15
|
+
},
|
|
9
16
|
};
|
|
10
17
|
|
|
11
18
|
const iconSVG = (
|
|
12
|
-
<svg viewBox="0 0
|
|
13
|
-
<path d="
|
|
14
|
-
<path d="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z" />
|
|
19
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" height="20" width="20" fill="currentColor">
|
|
20
|
+
<path d="m10 17-1.042-.938q-2.083-1.854-3.437-3.177-1.354-1.323-2.136-2.354Q2.604 9.5 2.302 8.646 2 7.792 2 6.896q0-1.854 1.271-3.125T6.396 2.5q1.021 0 1.979.438.958.437 1.625 1.229.667-.792 1.625-1.229.958-.438 1.979-.438 1.854 0 3.125 1.271T18 6.896q0 .896-.292 1.729-.291.833-1.073 1.854-.781 1.021-2.145 2.365-1.365 1.344-3.49 3.26Zm0-2.021q1.938-1.729 3.188-2.948 1.25-1.219 1.989-2.125.74-.906 1.031-1.614.292-.709.292-1.396 0-1.229-.833-2.063Q14.833 4 13.604 4q-.729 0-1.364.302-.636.302-1.094.844L10.417 6h-.834l-.729-.854q-.458-.542-1.114-.844Q7.083 4 6.396 4q-1.229 0-2.063.833-.833.834-.833 2.063 0 .687.271 1.364.271.678.989 1.573.719.896 1.98 2.125Q8 13.188 10 14.979Zm0-5.5Z" />
|
|
15
21
|
</svg>
|
|
16
22
|
);
|
|
17
23
|
|
|
@@ -71,13 +77,21 @@ const firstDisabledTabs: any = [
|
|
|
71
77
|
|
|
72
78
|
const tabsNotification = tabs.map((tab, index) => ({
|
|
73
79
|
...tab,
|
|
74
|
-
notificationNumber: (index === 0 && true) || (index === 1 && 5) || (index === 2 && 200),
|
|
80
|
+
notificationNumber: (index === 0 && true) || (index === 1 && 5) || (index === 2 && 100) || (index === 3 && 200),
|
|
75
81
|
}));
|
|
76
82
|
|
|
77
|
-
const tabsIcon = tabs.map((tab) =>
|
|
83
|
+
const tabsIcon = tabs.map((tab, index) =>
|
|
84
|
+
index <= tabs.length / 2 ? { ...tab, icon: "mail" } : { ...tab, icon: iconSVG }
|
|
85
|
+
);
|
|
78
86
|
|
|
79
87
|
const tabsNotificationIcon = tabsNotification.map((tab) => ({ ...tab, icon: iconSVG }));
|
|
80
88
|
|
|
89
|
+
const opinionatedTheme = {
|
|
90
|
+
tabs: {
|
|
91
|
+
baseColor: "#5f249f",
|
|
92
|
+
},
|
|
93
|
+
};
|
|
94
|
+
|
|
81
95
|
export const Chromatic = () => (
|
|
82
96
|
<>
|
|
83
97
|
<ExampleContainer>
|
|
@@ -152,7 +166,37 @@ export const Chromatic = () => (
|
|
|
152
166
|
<ExampleContainer>
|
|
153
167
|
<Title title="Xxlarge margin" theme="light" level={4} />
|
|
154
168
|
<DxcTabs tabs={tabs} margin="xxlarge" />
|
|
155
|
-
|
|
169
|
+
</ExampleContainer>
|
|
170
|
+
<Title title="Opinionated theme" theme="light" level={2} />
|
|
171
|
+
<ExampleContainer>
|
|
172
|
+
<Title title="With icon and notification" theme="light" level={4} />
|
|
173
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
174
|
+
<DxcTabs tabs={tabsNotificationIcon} />
|
|
175
|
+
</HalstackProvider>
|
|
176
|
+
</ExampleContainer>
|
|
177
|
+
<ExampleContainer>
|
|
178
|
+
<Title title="Disabled" theme="light" level={4} />
|
|
179
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
180
|
+
<DxcTabs activeTabIndex={0} tabs={disabledTabs} />
|
|
181
|
+
</HalstackProvider>
|
|
182
|
+
</ExampleContainer>
|
|
183
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
184
|
+
<Title title="Hovered" theme="light" level={4} />
|
|
185
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
186
|
+
<DxcTabs tabs={tabs} />
|
|
187
|
+
</HalstackProvider>
|
|
188
|
+
</ExampleContainer>
|
|
189
|
+
<ExampleContainer pseudoState="pseudo-focus">
|
|
190
|
+
<Title title="Focused" theme="light" level={4} />
|
|
191
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
192
|
+
<DxcTabs tabs={tabs} />
|
|
193
|
+
</HalstackProvider>
|
|
194
|
+
</ExampleContainer>
|
|
195
|
+
<ExampleContainer pseudoState="pseudo-active">
|
|
196
|
+
<Title title="Actived" theme="light" level={4} />
|
|
197
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
198
|
+
<DxcTabs tabs={tabs} />
|
|
199
|
+
</HalstackProvider>
|
|
156
200
|
</ExampleContainer>
|
|
157
201
|
</>
|
|
158
202
|
);
|