@dxc-technology/halstack-react 0.0.0-c293b72 → 0.0.0-c2b6ec9
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.js +1 -1
- package/HalstackContext.d.ts +2 -5
- package/HalstackContext.js +6 -6
- package/accordion/Accordion.accessibility.test.d.ts +1 -0
- package/accordion/Accordion.accessibility.test.js +4 -4
- package/accordion/Accordion.js +9 -10
- package/accordion/Accordion.stories.tsx +4 -14
- package/accordion/Accordion.test.d.ts +1 -0
- package/accordion/Accordion.test.js +3 -3
- package/accordion-group/AccordionGroup.accessibility.test.d.ts +1 -0
- package/accordion-group/AccordionGroup.accessibility.test.js +11 -17
- package/accordion-group/AccordionGroup.js +1 -1
- package/accordion-group/AccordionGroup.stories.tsx +23 -23
- package/accordion-group/AccordionGroup.test.d.ts +1 -0
- package/accordion-group/AccordionGroup.test.js +5 -9
- package/accordion-group/AccordionGroupAccordion.js +1 -1
- package/action-icon/ActionIcon.accessibility.test.d.ts +1 -0
- package/action-icon/ActionIcon.accessibility.test.js +4 -4
- package/action-icon/ActionIcon.test.d.ts +1 -0
- package/action-icon/ActionIcon.test.js +1 -1
- package/alert/Alert.accessibility.test.d.ts +1 -0
- package/alert/Alert.accessibility.test.js +6 -6
- package/alert/Alert.js +6 -3
- package/alert/Alert.test.d.ts +1 -0
- package/alert/Alert.test.js +1 -1
- package/badge/Badge.accessibility.test.d.ts +1 -0
- package/badge/Badge.accessibility.test.js +5 -5
- package/badge/Badge.test.d.ts +1 -0
- package/badge/Badge.test.js +2 -2
- package/box/Box.accessibility.test.d.ts +1 -0
- package/box/Box.accessibility.test.js +3 -3
- package/box/Box.js +1 -1
- package/box/Box.test.d.ts +1 -0
- package/box/Box.test.js +1 -1
- 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 +168 -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/breadcrumbs/types.js +5 -0
- package/bulleted-list/BulletedList.accessibility.test.d.ts +1 -0
- package/bulleted-list/BulletedList.accessibility.test.js +18 -6
- package/bulleted-list/BulletedList.js +2 -2
- package/button/Button.accessibility.test.d.ts +1 -0
- package/button/Button.accessibility.test.js +6 -6
- package/button/Button.js +1 -1
- package/button/Button.stories.tsx +3 -3
- package/button/Button.test.d.ts +1 -0
- package/button/Button.test.js +1 -1
- package/card/Card.accessibility.test.d.ts +1 -0
- package/card/Card.accessibility.test.js +3 -3
- package/card/Card.js +3 -2
- package/card/Card.stories.tsx +1 -1
- package/card/Card.test.d.ts +1 -0
- package/card/Card.test.js +1 -1
- package/checkbox/Checkbox.accessibility.test.d.ts +1 -0
- package/checkbox/Checkbox.accessibility.test.js +5 -5
- package/checkbox/Checkbox.js +10 -13
- package/checkbox/Checkbox.test.d.ts +1 -0
- package/checkbox/Checkbox.test.js +1 -1
- package/chip/Chip.accessibility.test.d.ts +1 -0
- package/chip/Chip.accessibility.test.js +4 -4
- package/chip/Chip.js +3 -1
- package/chip/Chip.stories.tsx +1 -1
- package/chip/Chip.test.d.ts +1 -0
- package/chip/Chip.test.js +1 -1
- package/common/coreTokens.js +3 -3
- package/common/variables.d.ts +2 -5
- package/common/variables.js +68 -71
- package/container/Container.stories.tsx +3 -3
- package/contextual-menu/ContextualMenu.accessibility.test.d.ts +1 -0
- package/contextual-menu/ContextualMenu.accessibility.test.js +15 -3
- package/contextual-menu/ContextualMenu.d.ts +3 -5
- package/contextual-menu/ContextualMenu.js +89 -52
- package/contextual-menu/ContextualMenu.stories.tsx +115 -74
- package/contextual-menu/ContextualMenu.test.d.ts +1 -0
- package/contextual-menu/ContextualMenu.test.js +200 -24
- 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 +50 -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 +50 -11
- package/date-input/Calendar.js +47 -31
- package/date-input/DateInput.accessibility.test.d.ts +1 -0
- package/date-input/DateInput.accessibility.test.js +24 -11
- package/date-input/DateInput.js +27 -21
- package/date-input/DateInput.stories.tsx +18 -12
- package/date-input/DateInput.test.d.ts +1 -0
- package/date-input/DateInput.test.js +39 -39
- package/date-input/DatePicker.js +1 -1
- package/date-input/YearPicker.js +10 -5
- package/dialog/Dialog.accessibility.test.d.ts +1 -0
- package/dialog/Dialog.accessibility.test.js +5 -5
- package/dialog/Dialog.js +9 -20
- package/dialog/Dialog.stories.tsx +8 -4
- package/dialog/Dialog.test.d.ts +1 -0
- package/dialog/Dialog.test.js +111 -48
- package/divider/Divider.accessibility.test.d.ts +1 -0
- package/divider/Divider.accessibility.test.js +2 -2
- package/divider/Divider.test.d.ts +1 -0
- package/dropdown/Dropdown.accessibility.test.d.ts +1 -0
- package/dropdown/Dropdown.accessibility.test.js +12 -9
- package/dropdown/Dropdown.js +16 -15
- package/dropdown/Dropdown.stories.tsx +11 -11
- package/dropdown/Dropdown.test.d.ts +1 -0
- package/dropdown/Dropdown.test.js +101 -72
- package/dropdown/DropdownMenu.js +4 -4
- package/dropdown/DropdownMenuItem.js +2 -1
- package/file-input/FileInput.accessibility.test.d.ts +1 -0
- package/file-input/FileInput.accessibility.test.js +30 -23
- package/file-input/FileInput.js +3 -8
- package/file-input/FileInput.test.d.ts +1 -0
- package/file-input/FileInput.test.js +44 -22
- package/file-input/FileItem.js +6 -2
- package/file-input/types.d.ts +0 -4
- package/footer/Footer.accessibility.test.d.ts +1 -0
- package/footer/Footer.accessibility.test.js +13 -5
- package/footer/Footer.js +1 -1
- package/footer/Footer.stories.tsx +12 -0
- package/footer/Footer.test.d.ts +1 -0
- package/footer/Footer.test.js +1 -1
- package/footer/Icons.js +2 -30
- package/grid/Grid.stories.tsx +3 -1
- package/header/Header.accessibility.test.d.ts +1 -0
- package/header/Header.accessibility.test.js +16 -6
- package/header/Header.js +3 -2
- package/header/Header.stories.tsx +17 -1
- package/header/Header.test.d.ts +1 -0
- package/header/Header.test.js +1 -1
- package/header/Icons.js +1 -6
- package/heading/Heading.accessibility.test.d.ts +1 -0
- package/heading/Heading.accessibility.test.js +3 -3
- package/heading/Heading.js +1 -1
- package/heading/Heading.test.d.ts +1 -0
- package/heading/Heading.test.js +1 -14
- package/icon/Icon.accessibility.test.d.ts +1 -0
- package/icon/Icon.accessibility.test.js +2 -2
- package/icon/Icon.js +1 -1
- package/image/Image.accessibility.test.d.ts +1 -0
- package/image/Image.accessibility.test.js +3 -3
- package/image/Image.js +1 -1
- package/layout/ApplicationLayout.js +9 -6
- package/layout/Icons.d.ts +0 -1
- package/layout/Icons.js +1 -9
- package/link/Link.accessibility.test.d.ts +1 -0
- package/link/Link.accessibility.test.js +8 -12
- package/link/Link.js +1 -1
- package/link/Link.stories.tsx +2 -2
- package/link/Link.test.d.ts +1 -0
- package/link/Link.test.js +1 -1
- package/main.d.ts +2 -1
- package/main.js +8 -1
- package/nav-tabs/NavTabs.accessibility.test.d.ts +1 -0
- package/nav-tabs/NavTabs.accessibility.test.js +3 -3
- package/nav-tabs/NavTabs.js +19 -4
- package/nav-tabs/NavTabs.stories.tsx +18 -3
- package/nav-tabs/NavTabs.test.d.ts +1 -0
- package/nav-tabs/NavTabs.test.js +9 -7
- package/nav-tabs/Tab.js +7 -7
- package/number-input/NumberInput.accessibility.test.d.ts +1 -0
- package/number-input/NumberInput.accessibility.test.js +9 -10
- package/number-input/NumberInput.js +6 -3
- package/number-input/NumberInput.stories.tsx +11 -16
- package/number-input/NumberInput.test.d.ts +1 -0
- package/number-input/NumberInput.test.js +6 -7
- package/package.json +25 -20
- package/paginator/Paginator.accessibility.test.d.ts +1 -0
- package/paginator/Paginator.accessibility.test.js +4 -5
- package/paginator/Paginator.js +13 -10
- package/paginator/Paginator.test.d.ts +1 -0
- package/paginator/Paginator.test.js +2 -3
- package/paragraph/Paragraph.accessibility.test.d.ts +1 -0
- package/paragraph/Paragraph.accessibility.test.js +2 -2
- package/password-input/PasswordInput.accessibility.test.d.ts +1 -0
- package/password-input/PasswordInput.accessibility.test.js +7 -8
- package/password-input/PasswordInput.js +11 -7
- package/password-input/PasswordInput.stories.tsx +10 -1
- package/password-input/PasswordInput.test.d.ts +1 -0
- package/password-input/PasswordInput.test.js +6 -7
- package/progress-bar/ProgressBar.accessibility.test.d.ts +1 -0
- package/progress-bar/ProgressBar.accessibility.test.js +3 -3
- package/progress-bar/ProgressBar.js +6 -4
- package/progress-bar/ProgressBar.test.d.ts +1 -0
- package/progress-bar/ProgressBar.test.js +1 -1
- package/quick-nav/QuickNav.accessibility.test.d.ts +1 -0
- package/quick-nav/QuickNav.accessibility.test.js +2 -2
- package/quick-nav/QuickNav.js +1 -1
- package/radio-group/Radio.js +6 -9
- package/radio-group/RadioGroup.accessibility.test.d.ts +1 -0
- package/radio-group/RadioGroup.accessibility.test.js +4 -4
- package/radio-group/RadioGroup.js +14 -16
- package/radio-group/RadioGroup.test.d.ts +1 -0
- package/radio-group/RadioGroup.test.js +3 -5
- package/resultset-table/ResultsetTable.accessibility.test.d.ts +1 -0
- package/resultset-table/ResultsetTable.accessibility.test.js +16 -6
- package/resultset-table/ResultsetTable.js +3 -2
- package/resultset-table/ResultsetTable.stories.tsx +13 -1
- package/resultset-table/ResultsetTable.test.d.ts +1 -0
- package/resultset-table/ResultsetTable.test.js +2 -4
- package/select/Listbox.js +19 -13
- package/select/Option.js +2 -1
- package/select/Select.accessibility.test.d.ts +1 -0
- package/select/Select.accessibility.test.js +18 -8
- package/select/Select.js +25 -21
- package/select/Select.stories.tsx +36 -15
- package/select/Select.test.d.ts +1 -0
- package/select/Select.test.js +42 -51
- package/sidenav/Sidenav.accessibility.test.d.ts +1 -0
- package/sidenav/Sidenav.accessibility.test.js +3 -3
- package/sidenav/Sidenav.js +1 -1
- package/sidenav/Sidenav.stories.tsx +1 -1
- package/sidenav/Sidenav.test.d.ts +1 -0
- package/sidenav/Sidenav.test.js +1 -1
- package/slider/Slider.accessibility.test.d.ts +1 -0
- package/slider/Slider.accessibility.test.js +5 -6
- package/slider/Slider.js +11 -13
- package/slider/Slider.stories.tsx +180 -0
- package/slider/Slider.test.d.ts +1 -0
- package/slider/Slider.test.js +13 -11
- package/spinner/Spinner.accessibility.test.d.ts +1 -0
- package/spinner/Spinner.accessibility.test.js +6 -6
- package/spinner/Spinner.js +6 -2
- package/spinner/Spinner.test.d.ts +1 -0
- package/spinner/Spinner.test.js +1 -1
- package/status-light/StatusLight.accessibility.test.d.ts +1 -0
- package/status-light/StatusLight.accessibility.test.js +8 -8
- package/status-light/StatusLight.test.d.ts +1 -0
- package/status-light/StatusLight.test.js +1 -1
- package/switch/Switch.accessibility.test.d.ts +1 -0
- package/switch/Switch.accessibility.test.js +14 -5
- package/switch/Switch.js +6 -9
- package/switch/Switch.stories.tsx +12 -0
- package/switch/Switch.test.d.ts +1 -0
- package/switch/Switch.test.js +1 -1
- package/table/Table.accessibility.test.d.ts +1 -0
- package/table/Table.accessibility.test.js +16 -6
- package/table/Table.js +1 -1
- package/table/Table.stories.tsx +13 -1
- package/table/Table.test.d.ts +1 -0
- package/table/Table.test.js +2 -4
- package/tabs/Tab.js +1 -1
- package/tabs/Tabs.accessibility.test.d.ts +1 -0
- package/tabs/Tabs.accessibility.test.js +3 -3
- package/tabs/Tabs.js +1 -1
- package/tabs/Tabs.stories.tsx +7 -1
- package/tabs/Tabs.test.d.ts +1 -0
- package/tabs/Tabs.test.js +1 -1
- package/tag/Tag.accessibility.test.d.ts +1 -0
- package/tag/Tag.accessibility.test.js +4 -4
- package/tag/Tag.js +1 -1
- package/tag/Tag.stories.tsx +1 -1
- package/tag/Tag.test.d.ts +1 -0
- package/tag/Tag.test.js +1 -1
- package/text-input/Suggestion.js +1 -1
- package/text-input/Suggestions.js +14 -6
- package/text-input/TextInput.accessibility.test.d.ts +1 -0
- package/text-input/TextInput.accessibility.test.js +11 -12
- package/text-input/TextInput.js +29 -25
- package/text-input/TextInput.stories.tsx +19 -7
- package/text-input/TextInput.test.d.ts +1 -0
- package/text-input/TextInput.test.js +2 -3
- package/textarea/Textarea.accessibility.test.d.ts +1 -0
- package/textarea/Textarea.accessibility.test.js +7 -7
- package/textarea/Textarea.js +14 -13
- package/textarea/Textarea.test.d.ts +1 -0
- package/textarea/Textarea.test.js +1 -1
- package/toggle-group/ToggleGroup.accessibility.test.d.ts +1 -0
- package/toggle-group/ToggleGroup.accessibility.test.js +5 -5
- package/toggle-group/ToggleGroup.js +6 -9
- package/toggle-group/ToggleGroup.stories.tsx +1 -1
- package/toggle-group/ToggleGroup.test.d.ts +1 -0
- package/toggle-group/ToggleGroup.test.js +1 -1
- package/tooltip/Tooltip.accessibility.test.d.ts +1 -0
- package/tooltip/Tooltip.accessibility.test.js +144 -0
- package/tooltip/Tooltip.d.ts +4 -0
- package/tooltip/Tooltip.js +50 -0
- package/tooltip/Tooltip.stories.tsx +111 -0
- package/tooltip/Tooltip.test.d.ts +1 -0
- package/tooltip/Tooltip.test.js +112 -0
- package/tooltip/types.d.ts +16 -0
- package/tooltip/types.js +5 -0
- package/typography/Typography.accessibility.test.d.ts +1 -0
- package/typography/Typography.accessibility.test.js +12 -12
- package/typography/Typography.stories.tsx +1 -3
- package/useTheme.d.ts +2 -5
- package/utils/BaseTypography.js +1 -1
- package/utils/FocusLock.js +3 -2
- package/wizard/Wizard.accessibility.test.d.ts +1 -0
- package/wizard/Wizard.accessibility.test.js +3 -3
- package/wizard/Wizard.js +1 -9
- package/wizard/Wizard.stories.tsx +1 -1
- package/wizard/Wizard.test.d.ts +1 -0
- package/wizard/Wizard.test.js +1 -1
- package/contextual-menu/MenuItemAction.d.ts +0 -4
- package/contextual-menu/MenuItemAction.js +0 -46
- package/paginator/Icons.d.ts +0 -5
- package/paginator/Icons.js +0 -40
|
@@ -11,14 +11,13 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/hel
|
|
|
11
11
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
12
12
|
var _react = _interopRequireWildcard(require("react"));
|
|
13
13
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
14
|
-
var _uuid = require("uuid");
|
|
15
14
|
var _variables = require("../common/variables");
|
|
16
15
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
17
16
|
var _Flex = _interopRequireDefault(require("../flex/Flex"));
|
|
18
17
|
var _Icon = _interopRequireDefault(require("../icon/Icon"));
|
|
19
18
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
|
|
20
19
|
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 &&
|
|
20
|
+
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; }
|
|
22
21
|
var DxcToggleGroup = function DxcToggleGroup(_ref) {
|
|
23
22
|
var label = _ref.label,
|
|
24
23
|
helperText = _ref.helperText,
|
|
@@ -33,13 +32,11 @@ var DxcToggleGroup = function DxcToggleGroup(_ref) {
|
|
|
33
32
|
multiple = _ref$multiple === void 0 ? false : _ref$multiple,
|
|
34
33
|
_ref$tabIndex = _ref.tabIndex,
|
|
35
34
|
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
36
|
-
var
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
selectedValue = _useState4[0],
|
|
42
|
-
setSelectedValue = _useState4[1];
|
|
35
|
+
var toggleGroupLabelId = "label-toggle-group-".concat((0, _react.useId)());
|
|
36
|
+
var _useState = (0, _react.useState)(defaultValue !== null && defaultValue !== void 0 ? defaultValue : multiple ? [] : -1),
|
|
37
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
38
|
+
selectedValue = _useState2[0],
|
|
39
|
+
setSelectedValue = _useState2[1];
|
|
43
40
|
var colorsTheme = (0, _useTheme["default"])();
|
|
44
41
|
var handleToggleChange = function handleToggleChange(selectedOption) {
|
|
45
42
|
var newSelectedOptions;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { userEvent, within } from "@storybook/
|
|
2
|
+
import { userEvent, within } from "@storybook/test";
|
|
3
3
|
import DxcToggleGroup from "./ToggleGroup";
|
|
4
4
|
import Title from "../../.storybook/components/Title";
|
|
5
5
|
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
var _react = _interopRequireDefault(require("react"));
|
|
5
5
|
var _react2 = require("@testing-library/react");
|
|
6
|
-
var _ToggleGroup = _interopRequireDefault(require("./ToggleGroup
|
|
6
|
+
var _ToggleGroup = _interopRequireDefault(require("./ToggleGroup"));
|
|
7
7
|
var options = [{
|
|
8
8
|
value: 1,
|
|
9
9
|
label: "Amazon"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
5
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
6
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
7
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _react2 = require("@testing-library/react");
|
|
10
|
+
var _axeHelper = require("../../test/accessibility/axe-helper.js");
|
|
11
|
+
var _Tooltip = _interopRequireDefault(require("./Tooltip"));
|
|
12
|
+
var _Button = _interopRequireDefault(require("../button/Button"));
|
|
13
|
+
global.globalThis = global;
|
|
14
|
+
global.DOMRect = {
|
|
15
|
+
fromRect: function fromRect() {
|
|
16
|
+
return {
|
|
17
|
+
top: 0,
|
|
18
|
+
left: 0,
|
|
19
|
+
bottom: 0,
|
|
20
|
+
right: 0,
|
|
21
|
+
width: 0,
|
|
22
|
+
height: 0,
|
|
23
|
+
x: 0,
|
|
24
|
+
y: 0
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
global.ResizeObserver = /*#__PURE__*/function () {
|
|
29
|
+
function ResizeObserver() {
|
|
30
|
+
(0, _classCallCheck2["default"])(this, ResizeObserver);
|
|
31
|
+
}
|
|
32
|
+
return (0, _createClass2["default"])(ResizeObserver, [{
|
|
33
|
+
key: "observe",
|
|
34
|
+
value: function observe() {}
|
|
35
|
+
}, {
|
|
36
|
+
key: "unobserve",
|
|
37
|
+
value: function unobserve() {}
|
|
38
|
+
}, {
|
|
39
|
+
key: "disconnect",
|
|
40
|
+
value: function disconnect() {}
|
|
41
|
+
}]);
|
|
42
|
+
}();
|
|
43
|
+
describe("Tooltip component accessibility tests", function () {
|
|
44
|
+
it("Should not have basic accessibility issues for bottom position", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
45
|
+
var _render, baseElement, getByText, triggerElement, results;
|
|
46
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
47
|
+
while (1) switch (_context.prev = _context.next) {
|
|
48
|
+
case 0:
|
|
49
|
+
// baseElement is needed when using React Portals
|
|
50
|
+
_render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tooltip["default"], {
|
|
51
|
+
label: "Tooltip Test",
|
|
52
|
+
position: "bottom"
|
|
53
|
+
}, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
54
|
+
label: "Hoverable button"
|
|
55
|
+
}))), baseElement = _render.baseElement, getByText = _render.getByText;
|
|
56
|
+
triggerElement = getByText("Hoverable button");
|
|
57
|
+
_react2.fireEvent.mouseEnter(triggerElement);
|
|
58
|
+
_context.next = 5;
|
|
59
|
+
return (0, _axeHelper.axe)(baseElement);
|
|
60
|
+
case 5:
|
|
61
|
+
results = _context.sent;
|
|
62
|
+
expect(results).toHaveNoViolations();
|
|
63
|
+
case 7:
|
|
64
|
+
case "end":
|
|
65
|
+
return _context.stop();
|
|
66
|
+
}
|
|
67
|
+
}, _callee);
|
|
68
|
+
})));
|
|
69
|
+
it("Should not have basic accessibility issues for top position", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
70
|
+
var _render2, baseElement, getByText, triggerElement, results;
|
|
71
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
72
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
73
|
+
case 0:
|
|
74
|
+
// baseElement is needed when using React Portals
|
|
75
|
+
_render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tooltip["default"], {
|
|
76
|
+
label: "Tooltip Test",
|
|
77
|
+
position: "top"
|
|
78
|
+
}, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
79
|
+
label: "Hoverable button"
|
|
80
|
+
}))), baseElement = _render2.baseElement, getByText = _render2.getByText;
|
|
81
|
+
triggerElement = getByText("Hoverable button");
|
|
82
|
+
_react2.fireEvent.mouseEnter(triggerElement);
|
|
83
|
+
_context2.next = 5;
|
|
84
|
+
return (0, _axeHelper.axe)(baseElement);
|
|
85
|
+
case 5:
|
|
86
|
+
results = _context2.sent;
|
|
87
|
+
expect(results).toHaveNoViolations();
|
|
88
|
+
case 7:
|
|
89
|
+
case "end":
|
|
90
|
+
return _context2.stop();
|
|
91
|
+
}
|
|
92
|
+
}, _callee2);
|
|
93
|
+
})));
|
|
94
|
+
it("Should not have basic accessibility issues for left position", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
|
|
95
|
+
var _render3, baseElement, getByText, triggerElement, results;
|
|
96
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
97
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
98
|
+
case 0:
|
|
99
|
+
// baseElement is needed when using React Portals
|
|
100
|
+
_render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tooltip["default"], {
|
|
101
|
+
label: "Tooltip Test",
|
|
102
|
+
position: "left"
|
|
103
|
+
}, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
104
|
+
label: "Hoverable button"
|
|
105
|
+
}))), baseElement = _render3.baseElement, getByText = _render3.getByText;
|
|
106
|
+
triggerElement = getByText("Hoverable button");
|
|
107
|
+
_react2.fireEvent.mouseEnter(triggerElement);
|
|
108
|
+
_context3.next = 5;
|
|
109
|
+
return (0, _axeHelper.axe)(baseElement);
|
|
110
|
+
case 5:
|
|
111
|
+
results = _context3.sent;
|
|
112
|
+
expect(results).toHaveNoViolations();
|
|
113
|
+
case 7:
|
|
114
|
+
case "end":
|
|
115
|
+
return _context3.stop();
|
|
116
|
+
}
|
|
117
|
+
}, _callee3);
|
|
118
|
+
})));
|
|
119
|
+
it("Should not have basic accessibility issues for right position", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
|
|
120
|
+
var _render4, baseElement, getByText, triggerElement, results;
|
|
121
|
+
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
122
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
123
|
+
case 0:
|
|
124
|
+
// baseElement is needed when using React Portals
|
|
125
|
+
_render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tooltip["default"], {
|
|
126
|
+
label: "Tooltip Test",
|
|
127
|
+
position: "right"
|
|
128
|
+
}, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
129
|
+
label: "Hoverable button"
|
|
130
|
+
}))), baseElement = _render4.baseElement, getByText = _render4.getByText;
|
|
131
|
+
triggerElement = getByText("Hoverable button");
|
|
132
|
+
_react2.fireEvent.mouseEnter(triggerElement);
|
|
133
|
+
_context4.next = 5;
|
|
134
|
+
return (0, _axeHelper.axe)(baseElement);
|
|
135
|
+
case 5:
|
|
136
|
+
results = _context4.sent;
|
|
137
|
+
expect(results).toHaveNoViolations();
|
|
138
|
+
case 7:
|
|
139
|
+
case "end":
|
|
140
|
+
return _context4.stop();
|
|
141
|
+
}
|
|
142
|
+
}, _callee4);
|
|
143
|
+
})));
|
|
144
|
+
});
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
12
|
+
var Tooltip = _interopRequireWildcard(require("@radix-ui/react-tooltip"));
|
|
13
|
+
var _coreTokens = _interopRequireDefault(require("../common/coreTokens"));
|
|
14
|
+
var _templateObject, _templateObject2, _templateObject3;
|
|
15
|
+
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); }
|
|
16
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(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; }
|
|
17
|
+
var Triangle = function Triangle() {
|
|
18
|
+
return /*#__PURE__*/_react["default"].createElement("svg", {
|
|
19
|
+
width: "12",
|
|
20
|
+
height: "6",
|
|
21
|
+
viewBox: "0 0 12 6",
|
|
22
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
23
|
+
preserveAspectRatio: "none",
|
|
24
|
+
display: "block"
|
|
25
|
+
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
26
|
+
d: "M0.351562 0L5.30131 4.94975C5.69184 5.34027 6.325 5.34027 6.71552 4.94975L11.6653 0H6.00842H0.351562Z",
|
|
27
|
+
fill: _coreTokens["default"].color_grey_800
|
|
28
|
+
}));
|
|
29
|
+
};
|
|
30
|
+
var DxcTooltip = function DxcTooltip(_ref) {
|
|
31
|
+
var _ref$position = _ref.position,
|
|
32
|
+
position = _ref$position === void 0 ? "bottom" : _ref$position,
|
|
33
|
+
label = _ref.label,
|
|
34
|
+
children = _ref.children;
|
|
35
|
+
return label ? /*#__PURE__*/_react["default"].createElement(Tooltip.Provider, {
|
|
36
|
+
delayDuration: 300
|
|
37
|
+
}, /*#__PURE__*/_react["default"].createElement(Tooltip.Root, null, /*#__PURE__*/_react["default"].createElement(Tooltip.Trigger, {
|
|
38
|
+
asChild: true
|
|
39
|
+
}, /*#__PURE__*/_react["default"].createElement(TooltipTriggerContainer, null, children)), /*#__PURE__*/_react["default"].createElement(Tooltip.Portal, null, /*#__PURE__*/_react["default"].createElement(StyledTooltipContent, {
|
|
40
|
+
side: position,
|
|
41
|
+
sideOffset: 8
|
|
42
|
+
}, /*#__PURE__*/_react["default"].createElement(TooltipContainer, null, label), /*#__PURE__*/_react["default"].createElement(Tooltip.Arrow, {
|
|
43
|
+
asChild: true,
|
|
44
|
+
"aria-hidden": true
|
|
45
|
+
}, /*#__PURE__*/_react["default"].createElement(Triangle, null)))))) : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, children);
|
|
46
|
+
};
|
|
47
|
+
var TooltipTriggerContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n position: relative;\n"])));
|
|
48
|
+
var StyledTooltipContent = (0, _styledComponents["default"])(Tooltip.Content)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n z-index: 2147483647;\n\n animation-duration: 0.2s;\n animation-timing-function: ease-out;\n\n /* Additional optimization to prevent blurry text in certain browsers */\n -webkit-font-smoothing: antialiased;\n transform: translateZ(0) scale(1, 1);\n\n &[data-side=\"top\"] {\n animation-name: slideUp;\n }\n &[data-side=\"bottom\"] {\n animation-name: slideDown;\n }\n &[data-side=\"left\"] {\n animation-name: slideLeft;\n }\n &[data-side=\"right\"] {\n animation-name: slideRight;\n }\n @keyframes slideDown {\n from {\n opacity: 0;\n transform: translateY(-10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n @keyframes slideUp {\n from {\n opacity: 0;\n transform: translateY(10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n @keyframes slideLeft {\n from {\n opacity: 0;\n transform: translateX(10px);\n }\n to {\n opacity: 1;\n transform: translateX(0);\n }\n }\n @keyframes slideRight {\n from {\n opacity: 0;\n transform: translateX(-10px);\n }\n to {\n opacity: 1;\n transform: translateX(0);\n }\n }\n"])));
|
|
49
|
+
var TooltipContainer = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n padding: 8px 12px;\n border-radius: 4px;\n font-size: ", ";\n font-family: ", ";\n max-width: 242px;\n color: ", ";\n background-color: ", ";\n border-color: ", ";\n"])), _coreTokens["default"].type_scale_01, _coreTokens["default"].type_sans, _coreTokens["default"].color_white, _coreTokens["default"].color_grey_800, _coreTokens["default"].color_grey_800);
|
|
50
|
+
var _default = exports["default"] = DxcTooltip;
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import DxcTooltip from "./Tooltip";
|
|
3
|
+
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
4
|
+
import DxcButton from "../button/Button";
|
|
5
|
+
import { userEvent, within } from "@storybook/test";
|
|
6
|
+
import DxcInset from "../inset/Inset";
|
|
7
|
+
import Title from "../../.storybook/components/Title";
|
|
8
|
+
import DxcFlex from "../flex/Flex";
|
|
9
|
+
|
|
10
|
+
export default {
|
|
11
|
+
title: "Tooltip",
|
|
12
|
+
component: DxcTooltip,
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
const Tooltip = () => (
|
|
16
|
+
<>
|
|
17
|
+
<Title title="Default tooltip" theme="light" level={4} />
|
|
18
|
+
<ExampleContainer>
|
|
19
|
+
<DxcInset bottom="3rem">
|
|
20
|
+
<DxcTooltip label="Tooltip Test">
|
|
21
|
+
<DxcButton label="Hoverable button" />
|
|
22
|
+
</DxcTooltip>
|
|
23
|
+
</DxcInset>
|
|
24
|
+
</ExampleContainer>
|
|
25
|
+
</>
|
|
26
|
+
);
|
|
27
|
+
|
|
28
|
+
const LargeTextWithinTooltip = () => (
|
|
29
|
+
<>
|
|
30
|
+
<Title title="Multiple line tooltip" theme="light" level={4} />
|
|
31
|
+
<ExampleContainer>
|
|
32
|
+
<DxcInset bottom="5rem" left="1rem">
|
|
33
|
+
<DxcTooltip label="Tooltip Test with a large text to display in the container while hovering the component">
|
|
34
|
+
<DxcButton label="Hoverable button" />
|
|
35
|
+
</DxcTooltip>
|
|
36
|
+
</DxcInset>
|
|
37
|
+
</ExampleContainer>
|
|
38
|
+
</>
|
|
39
|
+
);
|
|
40
|
+
|
|
41
|
+
const TopTooltip = () => (
|
|
42
|
+
<>
|
|
43
|
+
<Title title="Top tooltip" theme="light" level={4} />
|
|
44
|
+
<ExampleContainer>
|
|
45
|
+
<DxcInset top="3rem">
|
|
46
|
+
<DxcTooltip label="Tooltip Test" position="top">
|
|
47
|
+
<DxcButton label="Hoverable button" />
|
|
48
|
+
</DxcTooltip>
|
|
49
|
+
</DxcInset>
|
|
50
|
+
</ExampleContainer>
|
|
51
|
+
</>
|
|
52
|
+
);
|
|
53
|
+
|
|
54
|
+
const LeftTooltip = () => (
|
|
55
|
+
<>
|
|
56
|
+
<Title title="Left tooltip" theme="light" level={4} />
|
|
57
|
+
<ExampleContainer>
|
|
58
|
+
<DxcFlex justifyContent="center">
|
|
59
|
+
<DxcTooltip label="Tooltip Test" position="left">
|
|
60
|
+
<DxcButton label="Hoverable button" />
|
|
61
|
+
</DxcTooltip>
|
|
62
|
+
</DxcFlex>
|
|
63
|
+
</ExampleContainer>
|
|
64
|
+
</>
|
|
65
|
+
);
|
|
66
|
+
|
|
67
|
+
const RightTooltip = () => (
|
|
68
|
+
<>
|
|
69
|
+
<Title title="Right tooltip" theme="light" level={4} />
|
|
70
|
+
<ExampleContainer>
|
|
71
|
+
<DxcTooltip label="Tooltip Test" position="right">
|
|
72
|
+
<DxcButton label="Hoverable button" />
|
|
73
|
+
</DxcTooltip>
|
|
74
|
+
</ExampleContainer>
|
|
75
|
+
</>
|
|
76
|
+
);
|
|
77
|
+
|
|
78
|
+
export const Chromatic = Tooltip.bind({});
|
|
79
|
+
Chromatic.play = async ({ canvasElement }) => {
|
|
80
|
+
const canvas = within(canvasElement);
|
|
81
|
+
const buttonList = canvas.getByRole("button");
|
|
82
|
+
await userEvent.hover(buttonList);
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
export const LargeTextTooltip = LargeTextWithinTooltip.bind({});
|
|
86
|
+
LargeTextTooltip.play = async ({ canvasElement }) => {
|
|
87
|
+
const canvas = within(canvasElement);
|
|
88
|
+
const buttonList = canvas.getByRole("button");
|
|
89
|
+
await userEvent.hover(buttonList);
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
export const TooltipPositionTop = TopTooltip.bind({});
|
|
93
|
+
TooltipPositionTop.play = async ({ canvasElement }) => {
|
|
94
|
+
const canvas = within(canvasElement);
|
|
95
|
+
const buttonList = canvas.getByRole("button");
|
|
96
|
+
await userEvent.hover(buttonList);
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
export const TooltipPositionLeft = LeftTooltip.bind({});
|
|
100
|
+
TooltipPositionLeft.play = async ({ canvasElement }) => {
|
|
101
|
+
const canvas = within(canvasElement);
|
|
102
|
+
const buttonList = canvas.getByRole("button");
|
|
103
|
+
await userEvent.hover(buttonList);
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
export const TooltipPositionRight = RightTooltip.bind({});
|
|
107
|
+
TooltipPositionRight.play = async ({ canvasElement }) => {
|
|
108
|
+
const canvas = within(canvasElement);
|
|
109
|
+
const buttonList = canvas.getByRole("button");
|
|
110
|
+
await userEvent.hover(buttonList);
|
|
111
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "@testing-library/jest-dom";
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
5
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
6
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
7
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _react2 = require("@testing-library/react");
|
|
10
|
+
var _Tooltip = _interopRequireDefault(require("./Tooltip"));
|
|
11
|
+
var _Button = _interopRequireDefault(require("../button/Button"));
|
|
12
|
+
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
|
13
|
+
require("@testing-library/jest-dom");
|
|
14
|
+
global.globalThis = global;
|
|
15
|
+
global.DOMRect = {
|
|
16
|
+
fromRect: function fromRect() {
|
|
17
|
+
return {
|
|
18
|
+
top: 0,
|
|
19
|
+
left: 0,
|
|
20
|
+
bottom: 0,
|
|
21
|
+
right: 0,
|
|
22
|
+
width: 0,
|
|
23
|
+
height: 0,
|
|
24
|
+
x: 0,
|
|
25
|
+
y: 0
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
global.ResizeObserver = /*#__PURE__*/function () {
|
|
30
|
+
function ResizeObserver() {
|
|
31
|
+
(0, _classCallCheck2["default"])(this, ResizeObserver);
|
|
32
|
+
}
|
|
33
|
+
return (0, _createClass2["default"])(ResizeObserver, [{
|
|
34
|
+
key: "observe",
|
|
35
|
+
value: function observe() {}
|
|
36
|
+
}, {
|
|
37
|
+
key: "unobserve",
|
|
38
|
+
value: function unobserve() {}
|
|
39
|
+
}, {
|
|
40
|
+
key: "disconnect",
|
|
41
|
+
value: function disconnect() {}
|
|
42
|
+
}]);
|
|
43
|
+
}();
|
|
44
|
+
describe("Tooltip component tests", function () {
|
|
45
|
+
test("Tooltip does not render by default", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
46
|
+
var _render, queryByRole;
|
|
47
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
48
|
+
while (1) switch (_context.prev = _context.next) {
|
|
49
|
+
case 0:
|
|
50
|
+
_render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tooltip["default"], {
|
|
51
|
+
label: "Tooltip Test"
|
|
52
|
+
}, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
53
|
+
label: "Hoverable button"
|
|
54
|
+
}))), queryByRole = _render.queryByRole;
|
|
55
|
+
_context.next = 3;
|
|
56
|
+
return (0, _react2.waitFor)(function () {
|
|
57
|
+
var tooltipElement = queryByRole("tooltip");
|
|
58
|
+
expect(tooltipElement).toBeFalsy();
|
|
59
|
+
});
|
|
60
|
+
case 3:
|
|
61
|
+
case "end":
|
|
62
|
+
return _context.stop();
|
|
63
|
+
}
|
|
64
|
+
}, _callee);
|
|
65
|
+
})));
|
|
66
|
+
test("Tooltip renders with correct label on hover", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
67
|
+
var _render2, getByText, triggerElement;
|
|
68
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
69
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
70
|
+
case 0:
|
|
71
|
+
_render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tooltip["default"], {
|
|
72
|
+
label: "Tooltip Test"
|
|
73
|
+
}, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
74
|
+
label: "Hoverable button"
|
|
75
|
+
}))), getByText = _render2.getByText;
|
|
76
|
+
triggerElement = getByText("Hoverable button");
|
|
77
|
+
_userEvent["default"].hover(triggerElement);
|
|
78
|
+
_context2.next = 5;
|
|
79
|
+
return _react2.screen.findByRole("tooltip", {
|
|
80
|
+
name: "Tooltip Test"
|
|
81
|
+
});
|
|
82
|
+
case 5:
|
|
83
|
+
case "end":
|
|
84
|
+
return _context2.stop();
|
|
85
|
+
}
|
|
86
|
+
}, _callee2);
|
|
87
|
+
})));
|
|
88
|
+
test("Tooltip stops being rendered when hover is stopped", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
|
|
89
|
+
var _render3, getByText, queryByRole, triggerElement;
|
|
90
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
91
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
92
|
+
case 0:
|
|
93
|
+
_render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tooltip["default"], {
|
|
94
|
+
label: "Tooltip Test"
|
|
95
|
+
}, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
96
|
+
label: "Hoverable button"
|
|
97
|
+
}))), getByText = _render3.getByText, queryByRole = _render3.queryByRole;
|
|
98
|
+
triggerElement = getByText("Hoverable button");
|
|
99
|
+
_userEvent["default"].hover(triggerElement);
|
|
100
|
+
_userEvent["default"].unhover(triggerElement);
|
|
101
|
+
_context3.next = 6;
|
|
102
|
+
return (0, _react2.waitFor)(function () {
|
|
103
|
+
var tooltipElement = queryByRole("tooltip");
|
|
104
|
+
expect(tooltipElement).toBeFalsy();
|
|
105
|
+
});
|
|
106
|
+
case 6:
|
|
107
|
+
case "end":
|
|
108
|
+
return _context3.stop();
|
|
109
|
+
}
|
|
110
|
+
}, _callee3);
|
|
111
|
+
})));
|
|
112
|
+
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
type Props = {
|
|
3
|
+
/**
|
|
4
|
+
* Preferred position for displaying the tooltip. It may adjust automatically based on available space.
|
|
5
|
+
*/
|
|
6
|
+
position?: "bottom" | "top" | "left" | "right";
|
|
7
|
+
/**
|
|
8
|
+
* Text to be displayed inside the tooltip.
|
|
9
|
+
*/
|
|
10
|
+
label: string;
|
|
11
|
+
/**
|
|
12
|
+
* Content in which the Tooltip will be displayed.
|
|
13
|
+
*/
|
|
14
|
+
children: React.ReactNode;
|
|
15
|
+
};
|
|
16
|
+
export default Props;
|
package/tooltip/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -5,7 +5,7 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
|
|
|
5
5
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
6
6
|
var _react = _interopRequireDefault(require("react"));
|
|
7
7
|
var _react2 = require("@testing-library/react");
|
|
8
|
-
var
|
|
8
|
+
var _axeHelper = require("../../test/accessibility/axe-helper.js");
|
|
9
9
|
var _Typography = _interopRequireDefault(require("./Typography"));
|
|
10
10
|
var _Flex = _interopRequireDefault(require("../flex/Flex"));
|
|
11
11
|
describe("Typography component accessibility tests", function () {
|
|
@@ -40,7 +40,7 @@ describe("Typography component accessibility tests", function () {
|
|
|
40
40
|
fontSize: "0.75rem"
|
|
41
41
|
}, "0.75rem."))), container = _render.container;
|
|
42
42
|
_context.next = 3;
|
|
43
|
-
return (0,
|
|
43
|
+
return (0, _axeHelper.axe)(container);
|
|
44
44
|
case 3:
|
|
45
45
|
results = _context.sent;
|
|
46
46
|
expect(results).toHaveNoViolations();
|
|
@@ -75,7 +75,7 @@ describe("Typography component accessibility tests", function () {
|
|
|
75
75
|
letterSpacing: "0.1em"
|
|
76
76
|
}, "0.1em."))), container = _render2.container;
|
|
77
77
|
_context2.next = 3;
|
|
78
|
-
return (0,
|
|
78
|
+
return (0, _axeHelper.axe)(container);
|
|
79
79
|
case 3:
|
|
80
80
|
results = _context2.sent;
|
|
81
81
|
expect(results).toHaveNoViolations();
|
|
@@ -110,7 +110,7 @@ describe("Typography component accessibility tests", function () {
|
|
|
110
110
|
lineHeight: "2em"
|
|
111
111
|
}, "2em."))), container = _render3.container;
|
|
112
112
|
_context3.next = 3;
|
|
113
|
-
return (0,
|
|
113
|
+
return (0, _axeHelper.axe)(container);
|
|
114
114
|
case 3:
|
|
115
115
|
results = _context3.sent;
|
|
116
116
|
expect(results).toHaveNoViolations();
|
|
@@ -139,7 +139,7 @@ describe("Typography component accessibility tests", function () {
|
|
|
139
139
|
fontWeight: "700"
|
|
140
140
|
}, "700."))), container = _render4.container;
|
|
141
141
|
_context4.next = 3;
|
|
142
|
-
return (0,
|
|
142
|
+
return (0, _axeHelper.axe)(container);
|
|
143
143
|
case 3:
|
|
144
144
|
results = _context4.sent;
|
|
145
145
|
expect(results).toHaveNoViolations();
|
|
@@ -162,7 +162,7 @@ describe("Typography component accessibility tests", function () {
|
|
|
162
162
|
textDecoration: "line-through"
|
|
163
163
|
}, "Line-through."))), container = _render5.container;
|
|
164
164
|
_context5.next = 3;
|
|
165
|
-
return (0,
|
|
165
|
+
return (0, _axeHelper.axe)(container);
|
|
166
166
|
case 3:
|
|
167
167
|
results = _context5.sent;
|
|
168
168
|
expect(results).toHaveNoViolations();
|
|
@@ -185,7 +185,7 @@ describe("Typography component accessibility tests", function () {
|
|
|
185
185
|
fontFamily: "Source Code Pro, monospace"
|
|
186
186
|
}, "Source Code Pro, monospace."))), container = _render6.container;
|
|
187
187
|
_context6.next = 3;
|
|
188
|
-
return (0,
|
|
188
|
+
return (0, _axeHelper.axe)(container);
|
|
189
189
|
case 3:
|
|
190
190
|
results = _context6.sent;
|
|
191
191
|
expect(results).toHaveNoViolations();
|
|
@@ -208,7 +208,7 @@ describe("Typography component accessibility tests", function () {
|
|
|
208
208
|
fontStyle: "normal"
|
|
209
209
|
}, "Normal."))), container = _render7.container;
|
|
210
210
|
_context7.next = 3;
|
|
211
|
-
return (0,
|
|
211
|
+
return (0, _axeHelper.axe)(container);
|
|
212
212
|
case 3:
|
|
213
213
|
results = _context7.sent;
|
|
214
214
|
expect(results).toHaveNoViolations();
|
|
@@ -234,7 +234,7 @@ describe("Typography component accessibility tests", function () {
|
|
|
234
234
|
textAlign: "right"
|
|
235
235
|
}, "Right."))), container = _render8.container;
|
|
236
236
|
_context8.next = 3;
|
|
237
|
-
return (0,
|
|
237
|
+
return (0, _axeHelper.axe)(container);
|
|
238
238
|
case 3:
|
|
239
239
|
results = _context8.sent;
|
|
240
240
|
expect(results).toHaveNoViolations();
|
|
@@ -265,7 +265,7 @@ describe("Typography component accessibility tests", function () {
|
|
|
265
265
|
fontSize: "2rem"
|
|
266
266
|
}, " ", " pre-wrap: A bunch of words you see."))), container = _render9.container;
|
|
267
267
|
_context9.next = 3;
|
|
268
|
-
return (0,
|
|
268
|
+
return (0, _axeHelper.axe)(container);
|
|
269
269
|
case 3:
|
|
270
270
|
results = _context9.sent;
|
|
271
271
|
expect(results).toHaveNoViolations();
|
|
@@ -288,7 +288,7 @@ describe("Typography component accessibility tests", function () {
|
|
|
288
288
|
textAlign: "left"
|
|
289
289
|
}, "Display Inline.", /*#__PURE__*/_react["default"].createElement(_Typography["default"], null, "A different text.")))), container = _render10.container;
|
|
290
290
|
_context10.next = 3;
|
|
291
|
-
return (0,
|
|
291
|
+
return (0, _axeHelper.axe)(container);
|
|
292
292
|
case 3:
|
|
293
293
|
results = _context10.sent;
|
|
294
294
|
expect(results).toHaveNoViolations();
|
|
@@ -326,7 +326,7 @@ describe("Typography component accessibility tests", function () {
|
|
|
326
326
|
textOverflow: "unset"
|
|
327
327
|
}, "Overflow unset.")))), container = _render11.container;
|
|
328
328
|
_context11.next = 3;
|
|
329
|
-
return (0,
|
|
329
|
+
return (0, _axeHelper.axe)(container);
|
|
330
330
|
case 3:
|
|
331
331
|
results = _context11.sent;
|
|
332
332
|
expect(results).toHaveNoViolations();
|
|
@@ -140,9 +140,7 @@ export const Chromatic = () => (
|
|
|
140
140
|
<ExampleContainer>
|
|
141
141
|
<Title title="Typography whitespace" theme="light" level={4} />
|
|
142
142
|
<div style={{ margin: "50px", border: "1px solid red", width: "125px" }}>
|
|
143
|
-
<DxcTypography fontSize="2rem">
|
|
144
|
-
{" "} Normal: A bunch of words you see.
|
|
145
|
-
</DxcTypography>
|
|
143
|
+
<DxcTypography fontSize="2rem">{" "} Normal: A bunch of words you see.</DxcTypography>
|
|
146
144
|
</div>
|
|
147
145
|
<div style={{ margin: "50px", border: "1px solid red", width: "125px" }}>
|
|
148
146
|
<DxcTypography whiteSpace="nowrap" fontSize="2rem">
|