@dxc-technology/halstack-react 10.0.0 → 11.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BackgroundColorContext.d.ts +2 -2
- package/BackgroundColorContext.js +5 -17
- package/HalstackContext.d.ts +26 -6
- package/HalstackContext.js +9 -34
- package/README.md +47 -0
- package/accordion/Accordion.js +21 -58
- package/accordion/Accordion.stories.tsx +1 -15
- package/accordion/Accordion.test.js +18 -33
- package/accordion/types.d.ts +5 -5
- package/accordion-group/AccordionGroup.js +15 -42
- package/accordion-group/AccordionGroup.stories.tsx +1 -1
- package/accordion-group/AccordionGroup.test.js +42 -60
- package/accordion-group/AccordionGroupAccordion.js +9 -21
- package/accordion-group/types.d.ts +6 -6
- package/alert/Alert.js +14 -46
- package/alert/Alert.test.js +28 -45
- package/alert/types.d.ts +5 -5
- package/badge/Badge.js +4 -17
- package/badge/types.d.ts +1 -1
- package/bleed/Bleed.js +13 -21
- package/bleed/types.d.ts +2 -2
- package/box/Box.js +10 -29
- package/box/Box.test.js +1 -6
- package/box/types.d.ts +3 -3
- package/bulleted-list/BulletedList.js +7 -33
- package/bulleted-list/BulletedList.stories.tsx +1 -91
- package/bulleted-list/types.d.ts +5 -5
- package/button/Button.js +23 -46
- package/button/Button.stories.tsx +5 -86
- package/button/Button.test.js +11 -21
- package/button/types.d.ts +4 -4
- package/card/Card.js +21 -44
- package/card/Card.test.js +10 -21
- package/card/types.d.ts +5 -5
- package/checkbox/Checkbox.js +81 -111
- package/checkbox/Checkbox.stories.tsx +16 -54
- package/checkbox/Checkbox.test.js +107 -63
- package/checkbox/types.d.ts +8 -4
- package/chip/Chip.js +12 -31
- package/chip/Chip.test.js +15 -28
- package/chip/types.d.ts +4 -4
- package/common/coreTokens.js +1 -2
- package/common/utils.js +2 -8
- package/common/variables.d.ts +23 -6
- package/common/variables.js +25 -15
- package/date-input/Calendar.js +13 -57
- package/date-input/DateInput.js +50 -96
- package/date-input/DateInput.stories.tsx +11 -30
- package/date-input/DateInput.test.js +674 -701
- package/date-input/DatePicker.js +11 -42
- package/date-input/Icons.d.ts +6 -6
- package/date-input/Icons.js +6 -23
- package/date-input/YearPicker.js +8 -34
- package/date-input/types.d.ts +27 -21
- package/dialog/Dialog.js +11 -35
- package/dialog/Dialog.test.js +125 -187
- package/dialog/types.d.ts +18 -13
- package/dropdown/Dropdown.js +39 -93
- package/dropdown/Dropdown.test.js +391 -378
- package/dropdown/DropdownMenu.js +8 -19
- package/dropdown/DropdownMenuItem.js +5 -17
- package/dropdown/types.d.ts +17 -19
- package/file-input/FileInput.js +131 -220
- package/file-input/FileInput.stories.tsx +1 -1
- package/file-input/FileInput.test.js +293 -342
- package/file-input/FileItem.js +12 -39
- package/file-input/types.d.ts +9 -9
- package/flex/Flex.js +25 -39
- package/flex/types.d.ts +6 -6
- package/footer/Footer.js +9 -39
- package/footer/Footer.stories.tsx +8 -7
- package/footer/Footer.test.js +18 -32
- package/footer/Icons.d.ts +2 -2
- package/footer/Icons.js +2 -7
- package/footer/types.d.ts +13 -13
- package/grid/Grid.js +1 -16
- package/grid/types.d.ts +10 -10
- package/header/Header.d.ts +1 -1
- package/header/Header.js +19 -64
- package/header/Header.test.js +12 -25
- package/header/Icons.d.ts +2 -2
- package/header/Icons.js +2 -7
- package/header/types.d.ts +5 -7
- package/heading/Heading.js +9 -31
- package/heading/Heading.test.js +70 -87
- package/heading/types.d.ts +7 -7
- package/image/Image.d.ts +4 -0
- package/image/Image.js +70 -0
- package/image/Image.stories.tsx +127 -0
- package/image/types.d.ts +72 -0
- package/inset/Inset.js +13 -21
- package/inset/types.d.ts +2 -2
- package/layout/ApplicationLayout.d.ts +1 -1
- package/layout/ApplicationLayout.js +25 -65
- package/layout/ApplicationLayout.stories.tsx +1 -1
- package/layout/Icons.d.ts +8 -5
- package/layout/Icons.js +51 -59
- package/layout/SidenavContext.d.ts +1 -1
- package/layout/SidenavContext.js +3 -9
- package/layout/types.d.ts +3 -3
- package/link/Link.js +21 -42
- package/link/Link.test.js +23 -41
- package/link/types.d.ts +14 -14
- package/main.d.ts +3 -2
- package/main.js +10 -51
- package/nav-tabs/NavTabs.js +11 -43
- package/nav-tabs/NavTabs.stories.tsx +1 -1
- package/nav-tabs/NavTabs.test.js +36 -43
- package/nav-tabs/Tab.js +16 -45
- package/nav-tabs/types.d.ts +9 -9
- package/number-input/NumberInput.d.ts +7 -0
- package/number-input/NumberInput.js +26 -35
- package/number-input/NumberInput.stories.tsx +42 -26
- package/number-input/NumberInput.test.js +700 -412
- package/number-input/types.d.ts +11 -5
- package/package.json +28 -26
- package/paginator/Icons.d.ts +5 -5
- package/paginator/Icons.js +5 -19
- package/paginator/Paginator.js +14 -39
- package/paginator/Paginator.test.js +224 -207
- package/paginator/types.d.ts +3 -3
- package/paragraph/Paragraph.js +3 -14
- package/paragraph/Paragraph.stories.tsx +0 -17
- package/password-input/Icons.d.ts +6 -0
- package/password-input/Icons.js +35 -0
- package/password-input/PasswordInput.js +57 -126
- package/password-input/PasswordInput.stories.tsx +1 -32
- package/password-input/PasswordInput.test.js +157 -140
- package/password-input/types.d.ts +8 -7
- package/progress-bar/ProgressBar.js +16 -42
- package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +1 -1
- package/progress-bar/ProgressBar.test.js +35 -52
- package/progress-bar/types.d.ts +3 -3
- package/quick-nav/QuickNav.js +4 -27
- package/quick-nav/QuickNav.stories.tsx +1 -1
- package/quick-nav/types.d.ts +10 -10
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +22 -54
- package/radio-group/RadioGroup.js +37 -83
- package/radio-group/RadioGroup.stories.tsx +10 -10
- package/radio-group/RadioGroup.test.js +504 -470
- package/radio-group/types.d.ts +8 -8
- package/resultset-table/Icons.d.ts +7 -0
- package/{resultsetTable → resultset-table}/Icons.js +1 -5
- package/{resultsetTable → resultset-table}/ResultsetTable.js +22 -58
- package/{resultsetTable → resultset-table}/ResultsetTable.test.js +72 -92
- package/{resultsetTable → resultset-table}/types.d.ts +7 -7
- package/select/Icons.d.ts +7 -7
- package/select/Icons.js +1 -5
- package/select/Listbox.js +13 -39
- package/select/Option.js +9 -26
- package/select/Select.js +54 -138
- package/select/Select.stories.tsx +3 -3
- package/select/Select.test.js +1906 -1800
- package/select/types.d.ts +14 -15
- package/sidenav/Icons.d.ts +4 -4
- package/sidenav/Icons.js +1 -5
- package/sidenav/Sidenav.js +24 -63
- package/sidenav/Sidenav.test.js +3 -10
- package/sidenav/types.d.ts +18 -18
- package/slider/Slider.js +38 -86
- package/slider/Slider.test.js +107 -103
- package/slider/types.d.ts +4 -4
- package/spinner/Spinner.js +10 -40
- package/spinner/Spinner.test.js +25 -34
- package/spinner/types.d.ts +3 -3
- package/switch/Switch.js +26 -69
- package/switch/Switch.stories.tsx +0 -34
- package/switch/Switch.test.js +51 -96
- package/switch/types.d.ts +4 -4
- package/table/Table.js +4 -23
- package/table/Table.test.js +1 -6
- package/table/types.d.ts +8 -8
- package/tabs/Tab.js +10 -29
- package/tabs/Tabs.js +48 -124
- package/tabs/Tabs.test.js +62 -118
- package/tabs/types.d.ts +19 -19
- package/tag/Tag.js +21 -51
- package/tag/Tag.test.js +19 -30
- package/tag/types.d.ts +7 -7
- package/text-input/Icons.d.ts +5 -5
- package/text-input/Icons.js +1 -5
- package/text-input/Suggestion.js +9 -26
- package/text-input/Suggestions.d.ts +1 -1
- package/text-input/Suggestions.js +12 -57
- package/text-input/TextInput.js +182 -263
- package/text-input/TextInput.stories.tsx +48 -152
- package/text-input/TextInput.test.js +1210 -1194
- package/text-input/types.d.ts +25 -17
- package/textarea/Textarea.js +60 -96
- package/textarea/{Textarea.stories.jsx → Textarea.stories.tsx} +58 -99
- package/textarea/Textarea.test.js +150 -179
- package/textarea/types.d.ts +9 -5
- package/toggle-group/ToggleGroup.js +91 -105
- package/toggle-group/ToggleGroup.stories.tsx +7 -4
- package/toggle-group/ToggleGroup.test.js +68 -87
- package/toggle-group/types.d.ts +26 -17
- package/typography/Typography.js +4 -13
- package/typography/types.d.ts +1 -1
- package/useTheme.d.ts +20 -3
- package/useTheme.js +1 -8
- package/useTranslatedLabels.js +1 -7
- package/utils/BaseTypography.d.ts +2 -2
- package/utils/BaseTypography.js +16 -30
- package/utils/FocusLock.js +12 -36
- package/wizard/Wizard.js +14 -49
- package/wizard/Wizard.test.js +53 -80
- package/wizard/types.d.ts +6 -6
- package/number-input/NumberInputContext.d.ts +0 -4
- package/number-input/NumberInputContext.js +0 -19
- package/number-input/numberInputContextTypes.d.ts +0 -19
- package/resultsetTable/Icons.d.ts +0 -7
- package/slider/Slider.stories.tsx +0 -240
- /package/{resultsetTable → image}/types.js +0 -0
- /package/{resultsetTable → resultset-table}/ResultsetTable.d.ts +0 -0
- /package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +0 -0
- /package/{number-input/numberInputContextTypes.js → resultset-table/types.js} +0 -0
- /package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +0 -0
- /package/table/{Table.stories.jsx → Table.stories.tsx} +0 -0
package/toggle-group/types.d.ts
CHANGED
|
@@ -1,29 +1,28 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
3
|
+
type Margin = {
|
|
4
4
|
top?: Space;
|
|
5
5
|
bottom?: Space;
|
|
6
6
|
left?: Space;
|
|
7
7
|
right?: Space;
|
|
8
8
|
};
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Number with the option inner value.
|
|
13
|
-
*/
|
|
14
|
-
value: number;
|
|
15
|
-
};
|
|
16
|
-
declare type OptionIcon = OptionCommons & {
|
|
9
|
+
type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
|
|
10
|
+
type OptionIcon = {
|
|
17
11
|
/**
|
|
18
12
|
* String with the option display value.
|
|
19
13
|
*/
|
|
20
|
-
label?:
|
|
14
|
+
label?: never;
|
|
21
15
|
/**
|
|
22
16
|
* Element used as the icon. Icon and label can't be used at same time.
|
|
23
17
|
*/
|
|
24
18
|
icon: string | SVG;
|
|
19
|
+
/**
|
|
20
|
+
* Value for the HTML properties title and aria-label.
|
|
21
|
+
* When a label is defined, this prop can not be use.
|
|
22
|
+
*/
|
|
23
|
+
title: string;
|
|
25
24
|
};
|
|
26
|
-
export
|
|
25
|
+
export type OptionLabel = {
|
|
27
26
|
/**
|
|
28
27
|
* String with the option display value.
|
|
29
28
|
*/
|
|
@@ -32,9 +31,19 @@ export declare type OptionLabel = OptionCommons & {
|
|
|
32
31
|
* Element used as the icon. Icon and label can't be used at same time.
|
|
33
32
|
*/
|
|
34
33
|
icon?: string | SVG;
|
|
34
|
+
/**
|
|
35
|
+
* Value for the HTML properties title and aria-label.
|
|
36
|
+
* When a label is defined, this prop can not be use.
|
|
37
|
+
*/
|
|
38
|
+
title?: never;
|
|
35
39
|
};
|
|
36
|
-
|
|
37
|
-
|
|
40
|
+
type Option = {
|
|
41
|
+
/**
|
|
42
|
+
* Number with the option inner value.
|
|
43
|
+
*/
|
|
44
|
+
value: number;
|
|
45
|
+
} & (OptionIcon | OptionLabel);
|
|
46
|
+
type CommonProps = {
|
|
38
47
|
/**
|
|
39
48
|
* Text to be placed above the component.
|
|
40
49
|
*/
|
|
@@ -61,7 +70,7 @@ declare type CommonProps = {
|
|
|
61
70
|
*/
|
|
62
71
|
tabIndex?: number;
|
|
63
72
|
};
|
|
64
|
-
|
|
73
|
+
type SingleSelectionToggleGroup = CommonProps & {
|
|
65
74
|
/**
|
|
66
75
|
* If true, the toggle group will support multiple selection. In that case, value must be an array of numbers with the keys of the selected values.
|
|
67
76
|
*/
|
|
@@ -81,7 +90,7 @@ declare type SingleSelectionToggle = CommonProps & {
|
|
|
81
90
|
*/
|
|
82
91
|
onChange?: (optionIndex: number) => void;
|
|
83
92
|
};
|
|
84
|
-
|
|
93
|
+
type MultipleSelectionToggleGroup = CommonProps & {
|
|
85
94
|
/**
|
|
86
95
|
* If true, the toggle group will support multiple selection. In that case, value must be an array of numbers with the keys of the selected values.
|
|
87
96
|
*/
|
|
@@ -101,5 +110,5 @@ declare type MultipleSelectionToggle = CommonProps & {
|
|
|
101
110
|
*/
|
|
102
111
|
onChange?: (optionIndex: number[]) => void;
|
|
103
112
|
};
|
|
104
|
-
|
|
113
|
+
type Props = SingleSelectionToggleGroup | MultipleSelectionToggleGroup;
|
|
105
114
|
export default Props;
|
package/typography/Typography.js
CHANGED
|
@@ -1,32 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports["default"] = void 0;
|
|
9
|
-
|
|
10
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
-
|
|
12
9
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
13
|
-
|
|
14
10
|
var _react = _interopRequireDefault(require("react"));
|
|
15
|
-
|
|
16
11
|
var _BaseTypography = _interopRequireDefault(require("../utils/BaseTypography"));
|
|
17
|
-
|
|
18
12
|
var _excluded = ["textOverflow", "whiteSpace", "children"];
|
|
19
|
-
|
|
20
13
|
var DxcTypography = function DxcTypography(_ref) {
|
|
21
14
|
var textOverflow = _ref.textOverflow,
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
15
|
+
whiteSpace = _ref.whiteSpace,
|
|
16
|
+
children = _ref.children,
|
|
17
|
+
props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
|
|
25
18
|
return /*#__PURE__*/_react["default"].createElement(_BaseTypography["default"], (0, _extends2["default"])({
|
|
26
19
|
textOverflow: textOverflow,
|
|
27
20
|
whiteSpace: whiteSpace == null && textOverflow != null && textOverflow !== "unset" ? "nowrap" : whiteSpace
|
|
28
21
|
}, props), children);
|
|
29
22
|
};
|
|
30
|
-
|
|
31
|
-
var _default = DxcTypography;
|
|
32
|
-
exports["default"] = _default;
|
|
23
|
+
var _default = exports["default"] = DxcTypography;
|
package/typography/types.d.ts
CHANGED
package/useTheme.d.ts
CHANGED
|
@@ -197,16 +197,21 @@ declare const useTheme: () => {
|
|
|
197
197
|
hoverBackgroundColorCheckedOnDark: string;
|
|
198
198
|
disabledBackgroundColorChecked: string;
|
|
199
199
|
disabledBackgroundColorCheckedOnDark: string;
|
|
200
|
+
readOnlyBackgroundColorChecked: string;
|
|
201
|
+
hoverReadOnlyBackgroundColorChecked: string;
|
|
200
202
|
borderColor: string;
|
|
201
203
|
borderColorOnDark: string;
|
|
202
204
|
hoverBorderColor: string;
|
|
203
205
|
hoverBorderColorOnDark: string;
|
|
204
206
|
disabledBorderColor: string;
|
|
205
207
|
disabledBorderColorOnDark: string;
|
|
208
|
+
readOnlyBorderColor: string;
|
|
209
|
+
hoverReadOnlyBorderColor: string;
|
|
206
210
|
checkColor: string;
|
|
207
211
|
checkColorOnDark: string;
|
|
208
212
|
disabledCheckColor: string;
|
|
209
213
|
disabledCheckColorOnDark: string;
|
|
214
|
+
readOnlyCheckColor: string;
|
|
210
215
|
fontFamily: string;
|
|
211
216
|
fontSize: string;
|
|
212
217
|
fontWeight: string;
|
|
@@ -488,6 +493,14 @@ declare const useTheme: () => {
|
|
|
488
493
|
level5LineHeight: string;
|
|
489
494
|
level5LetterSpacing: string;
|
|
490
495
|
}>;
|
|
496
|
+
image?: Partial<{
|
|
497
|
+
captionFontColor: string;
|
|
498
|
+
captionFontFamily: string;
|
|
499
|
+
captionFontSize: string;
|
|
500
|
+
captionFontStyle: string;
|
|
501
|
+
captionFontWeight: string;
|
|
502
|
+
captionLineHeight: string;
|
|
503
|
+
}>;
|
|
491
504
|
link?: Partial<{
|
|
492
505
|
fontColor: string;
|
|
493
506
|
fontFamily: string;
|
|
@@ -608,9 +621,9 @@ declare const useTheme: () => {
|
|
|
608
621
|
errorRadioInputColor: string;
|
|
609
622
|
hoverErrorRadioInputColor: string;
|
|
610
623
|
activeErrorRadioInputColor: string;
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
624
|
+
readOnlyRadioInputColor: string;
|
|
625
|
+
hoverReadOnlyRadioInputColor: string;
|
|
626
|
+
activeReadOnlyRadioInputColor: string;
|
|
614
627
|
disabledRadioInputColor: string;
|
|
615
628
|
disabledLabelFontColor: string;
|
|
616
629
|
disabledHelperTextFontColor: string;
|
|
@@ -992,6 +1005,8 @@ declare const useTheme: () => {
|
|
|
992
1005
|
disabledBorderColorOnDark: string;
|
|
993
1006
|
disabledContainerFillColor: string;
|
|
994
1007
|
disabledContainerFillColorOnDark: string;
|
|
1008
|
+
readOnlyBorderColor: string;
|
|
1009
|
+
hoverReadOnlyBorderColor: string;
|
|
995
1010
|
errorBorderColor: string;
|
|
996
1011
|
errorBorderColorOnDark: string;
|
|
997
1012
|
hoverErrorBorderColor: string;
|
|
@@ -1041,6 +1056,8 @@ declare const useTheme: () => {
|
|
|
1041
1056
|
disabledBorderColorOnDark: string;
|
|
1042
1057
|
disabledContainerFillColor: string;
|
|
1043
1058
|
disabledContainerFillColorOnDark: string;
|
|
1059
|
+
readOnlyBorderColor: string;
|
|
1060
|
+
hoverReadOnlyBorderColor: string;
|
|
1044
1061
|
errorBorderColor: string;
|
|
1045
1062
|
errorBorderColorOnDark: string;
|
|
1046
1063
|
hoverErrorBorderColor: string;
|
package/useTheme.js
CHANGED
|
@@ -1,22 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports["default"] = void 0;
|
|
9
|
-
|
|
10
8
|
var _react = require("react");
|
|
11
|
-
|
|
12
9
|
var _variables = require("./common/variables");
|
|
13
|
-
|
|
14
10
|
var _HalstackContext = _interopRequireDefault(require("./HalstackContext"));
|
|
15
|
-
|
|
16
11
|
var useTheme = function useTheme() {
|
|
17
12
|
var colorsTheme = (0, _react.useContext)(_HalstackContext["default"]);
|
|
18
13
|
return colorsTheme || _variables.componentTokens;
|
|
19
14
|
};
|
|
20
|
-
|
|
21
|
-
var _default = useTheme;
|
|
22
|
-
exports["default"] = _default;
|
|
15
|
+
var _default = exports["default"] = useTheme;
|
package/useTranslatedLabels.js
CHANGED
|
@@ -4,17 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
|
-
|
|
8
7
|
var _react = require("react");
|
|
9
|
-
|
|
10
8
|
var _variables = require("./common/variables");
|
|
11
|
-
|
|
12
9
|
var _HalstackContext = require("./HalstackContext");
|
|
13
|
-
|
|
14
10
|
var useTranslatedLabels = function useTranslatedLabels() {
|
|
15
11
|
var labels = (0, _react.useContext)(_HalstackContext.HalstackLanguageContext);
|
|
16
12
|
return labels || _variables.defaultTranslatedComponentLabels;
|
|
17
13
|
};
|
|
18
|
-
|
|
19
|
-
var _default = useTranslatedLabels;
|
|
20
|
-
exports["default"] = _default;
|
|
14
|
+
var _default = exports["default"] = useTranslatedLabels;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
|
|
2
|
+
type TypographyContextProps = {
|
|
3
3
|
as?: keyof HTMLElementTagNameMap;
|
|
4
4
|
display?: string;
|
|
5
5
|
fontFamily?: string;
|
|
@@ -14,7 +14,7 @@ declare type TypographyContextProps = {
|
|
|
14
14
|
textOverflow?: string;
|
|
15
15
|
whiteSpace?: string;
|
|
16
16
|
};
|
|
17
|
-
|
|
17
|
+
type BaseTypographyProps = TypographyContextProps & {
|
|
18
18
|
children: React.ReactNode;
|
|
19
19
|
};
|
|
20
20
|
declare const BaseTypography: ({ as, display, fontFamily, fontSize, fontStyle, fontWeight, letterSpacing, lineHeight, textAlign, color, textDecoration, textOverflow, whiteSpace, children, }: BaseTypographyProps) => JSX.Element;
|
package/utils/BaseTypography.js
CHANGED
|
@@ -1,47 +1,36 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _typeof = 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 _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
|
-
|
|
14
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
15
|
-
|
|
16
11
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
17
|
-
|
|
18
12
|
var _templateObject;
|
|
19
|
-
|
|
20
|
-
function
|
|
21
|
-
|
|
22
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
23
|
-
|
|
13
|
+
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); }
|
|
14
|
+
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 && Object.prototype.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; }
|
|
24
15
|
var TypographyContext = /*#__PURE__*/_react["default"].createContext(null);
|
|
25
|
-
|
|
26
16
|
var BaseTypography = function BaseTypography(_ref) {
|
|
27
17
|
var as = _ref.as,
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
18
|
+
display = _ref.display,
|
|
19
|
+
fontFamily = _ref.fontFamily,
|
|
20
|
+
fontSize = _ref.fontSize,
|
|
21
|
+
fontStyle = _ref.fontStyle,
|
|
22
|
+
fontWeight = _ref.fontWeight,
|
|
23
|
+
letterSpacing = _ref.letterSpacing,
|
|
24
|
+
lineHeight = _ref.lineHeight,
|
|
25
|
+
textAlign = _ref.textAlign,
|
|
26
|
+
color = _ref.color,
|
|
27
|
+
textDecoration = _ref.textDecoration,
|
|
28
|
+
textOverflow = _ref.textOverflow,
|
|
29
|
+
whiteSpace = _ref.whiteSpace,
|
|
30
|
+
children = _ref.children;
|
|
41
31
|
var componentContext = (0, _react.useContext)(TypographyContext);
|
|
42
32
|
var contextValue = (0, _react.useMemo)(function () {
|
|
43
33
|
var _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9, _ref10, _ref11, _ref12, _ref13, _ref14;
|
|
44
|
-
|
|
45
34
|
return {
|
|
46
35
|
as: (_ref2 = as !== null && as !== void 0 ? as : componentContext === null || componentContext === void 0 ? void 0 : componentContext.as) !== null && _ref2 !== void 0 ? _ref2 : "span",
|
|
47
36
|
display: (_ref3 = display !== null && display !== void 0 ? display : componentContext === null || componentContext === void 0 ? void 0 : componentContext.display) !== null && _ref3 !== void 0 ? _ref3 : "inline",
|
|
@@ -62,7 +51,6 @@ var BaseTypography = function BaseTypography(_ref) {
|
|
|
62
51
|
value: contextValue
|
|
63
52
|
}, /*#__PURE__*/_react["default"].createElement(StyledTypography, contextValue, children));
|
|
64
53
|
};
|
|
65
|
-
|
|
66
54
|
var StyledTypography = _styledComponents["default"].span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: ", ";\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n line-height: ", ";\n text-align: ", ";\n text-decoration: ", ";\n text-overflow: ", ";\n white-space: ", ";\n overflow: ", ";\n margin: 0;\n"])), function (_ref15) {
|
|
67
55
|
var display = _ref15.display;
|
|
68
56
|
return display;
|
|
@@ -103,6 +91,4 @@ var StyledTypography = _styledComponents["default"].span(_templateObject || (_te
|
|
|
103
91
|
var textOverflow = _ref27.textOverflow;
|
|
104
92
|
return textOverflow !== "unset" ? "hidden" : "visible";
|
|
105
93
|
});
|
|
106
|
-
|
|
107
|
-
var _default = BaseTypography;
|
|
108
|
-
exports["default"] = _default;
|
|
94
|
+
var _default = exports["default"] = BaseTypography;
|
package/utils/FocusLock.js
CHANGED
|
@@ -1,33 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _typeof = 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 _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
-
|
|
14
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
15
|
-
|
|
16
|
-
function
|
|
17
|
-
|
|
18
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
19
|
-
|
|
11
|
+
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); }
|
|
12
|
+
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 && Object.prototype.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; }
|
|
20
13
|
var not = {
|
|
21
14
|
negTabIndex: ':not([tabindex^="-"])',
|
|
22
15
|
disabled: ":not(:disabled)"
|
|
23
16
|
};
|
|
24
17
|
var focusableQuery = ["a[href]".concat(not.negTabIndex), "area[href]".concat(not.negTabIndex), "input:not([type=\"hidden\"])".concat(not.negTabIndex).concat(not.disabled), "select".concat(not.negTabIndex).concat(not.disabled), "textarea".concat(not.negTabIndex).concat(not.disabled), "button".concat(not.negTabIndex).concat(not.disabled), "details > summary:first-of-type".concat(not.negTabIndex), "iframe".concat(not.negTabIndex), "audio[controls]".concat(not.negTabIndex), "video[controls]".concat(not.negTabIndex), "[contenteditable]".concat(not.negTabIndex), "[tabindex]".concat(not.negTabIndex).concat(not.disabled)].join(",");
|
|
25
|
-
|
|
26
18
|
var getFocusableElements = function getFocusableElements(container) {
|
|
27
19
|
return Array.prototype.slice.call(container.querySelectorAll(focusableQuery)).filter(function (element) {
|
|
28
20
|
return element.getAttribute("aria-hidden") !== "true" && window.getComputedStyle(element).display !== "none" && window.getComputedStyle(element).visibility !== "hidden";
|
|
29
21
|
});
|
|
30
22
|
};
|
|
23
|
+
|
|
31
24
|
/**
|
|
32
25
|
* This function will try to focus the element and return true if it was able to receive the focus.
|
|
33
26
|
* Even if the element is focusable (passes any of the conditions of our selector), there is the possibility
|
|
@@ -35,37 +28,32 @@ var getFocusableElements = function getFocusableElements(container) {
|
|
|
35
28
|
* @param element: HTMLElement
|
|
36
29
|
* @returns
|
|
37
30
|
*/
|
|
38
|
-
|
|
39
|
-
|
|
40
31
|
var attempFocus = function attempFocus(element) {
|
|
41
32
|
element === null || element === void 0 ? void 0 : element.focus();
|
|
42
33
|
return document.activeElement === element;
|
|
43
34
|
};
|
|
35
|
+
|
|
44
36
|
/**
|
|
45
37
|
* @param element: HTMLElement
|
|
46
38
|
* @returns boolean: true if element is contained inside a Radix Portal, false otherwise.
|
|
47
39
|
*/
|
|
48
|
-
|
|
49
|
-
|
|
50
40
|
var radixPortalContains = function radixPortalContains(activeElement) {
|
|
51
41
|
var radixPortals = document.querySelectorAll("[data-radix-portal]");
|
|
52
42
|
return Array.prototype.slice.call(radixPortals).some(function (portal) {
|
|
53
43
|
return portal.contains(activeElement);
|
|
54
44
|
});
|
|
55
45
|
};
|
|
46
|
+
|
|
56
47
|
/**
|
|
57
48
|
* Custom hook that returns an array of focusable elements inside a container.
|
|
58
49
|
* @param ref: React.MutableRefObject<HTMLDivElement>
|
|
59
50
|
* @returns
|
|
60
51
|
*/
|
|
61
|
-
|
|
62
|
-
|
|
63
52
|
var useFocusableElements = function useFocusableElements(ref) {
|
|
64
53
|
var _useState = (0, _react.useState)(),
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
54
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
55
|
+
focusableElements = _useState2[0],
|
|
56
|
+
setFocusableElements = _useState2[1];
|
|
69
57
|
(0, _react.useEffect)(function () {
|
|
70
58
|
if (ref.current != null) {
|
|
71
59
|
setFocusableElements(getFocusableElements(ref.current));
|
|
@@ -84,6 +72,7 @@ var useFocusableElements = function useFocusableElements(ref) {
|
|
|
84
72
|
}, []);
|
|
85
73
|
return focusableElements;
|
|
86
74
|
};
|
|
75
|
+
|
|
87
76
|
/**
|
|
88
77
|
* Traps the focus inside the children of the component. It will focus the first focusable element when the component is mounted.
|
|
89
78
|
* When the focus is on the last focusable element and the user tries to focus the next element, it will focus the first element.
|
|
@@ -92,33 +81,22 @@ var useFocusableElements = function useFocusableElements(ref) {
|
|
|
92
81
|
* @param children: React.ReactNode
|
|
93
82
|
* @returns
|
|
94
83
|
*/
|
|
95
|
-
|
|
96
|
-
|
|
97
84
|
var FocusLock = function FocusLock(_ref) {
|
|
98
85
|
var children = _ref.children;
|
|
99
86
|
var childrenContainerRef = (0, _react.useRef)();
|
|
100
87
|
var focusableElements = useFocusableElements(childrenContainerRef);
|
|
101
88
|
var focusFirst = (0, _react.useCallback)(function () {
|
|
102
89
|
var _childrenContainerRef;
|
|
103
|
-
|
|
104
|
-
if ((focusableElements === null || focusableElements === void 0 ? void 0 : focusableElements.length) === 0) (_childrenContainerRef = childrenContainerRef.current) === null || _childrenContainerRef === void 0 ? void 0 : _childrenContainerRef.focus();else if ((focusableElements === null || focusableElements === void 0 ? void 0 : focusableElements.length) > 0) for (var i = 0; i < focusableElements.length; i++) {
|
|
105
|
-
if (attempFocus(focusableElements[i])) return;
|
|
106
|
-
}
|
|
90
|
+
if ((focusableElements === null || focusableElements === void 0 ? void 0 : focusableElements.length) === 0) (_childrenContainerRef = childrenContainerRef.current) === null || _childrenContainerRef === void 0 ? void 0 : _childrenContainerRef.focus();else if ((focusableElements === null || focusableElements === void 0 ? void 0 : focusableElements.length) > 0) for (var i = 0; i < focusableElements.length; i++) if (attempFocus(focusableElements[i])) return;
|
|
107
91
|
}, [focusableElements]);
|
|
108
|
-
|
|
109
92
|
var focusLast = function focusLast() {
|
|
110
|
-
for (var i = focusableElements.length - 1; i >= 0; i--)
|
|
111
|
-
if (attempFocus(focusableElements[i])) return;
|
|
112
|
-
}
|
|
93
|
+
for (var i = focusableElements.length - 1; i >= 0; i--) if (attempFocus(focusableElements[i])) return;
|
|
113
94
|
};
|
|
114
|
-
|
|
115
95
|
var focusLock = function focusLock(event) {
|
|
116
96
|
if (event.key === "Tab") focusableElements.length === 0 && event.preventDefault();else if (event.key === "Tab" && event.key === "Shift") focusableElements.length === 0 && event.preventDefault();
|
|
117
97
|
};
|
|
118
|
-
|
|
119
98
|
(0, _react.useEffect)(function () {
|
|
120
99
|
var _childrenContainerRef2;
|
|
121
|
-
|
|
122
100
|
if (!((_childrenContainerRef2 = childrenContainerRef.current) !== null && _childrenContainerRef2 !== void 0 && _childrenContainerRef2.contains(document.activeElement)) && !radixPortalContains(document.activeElement)) focusFirst();
|
|
123
101
|
}, [focusFirst]);
|
|
124
102
|
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
@@ -133,6 +111,4 @@ var FocusLock = function FocusLock(_ref) {
|
|
|
133
111
|
tabIndex: 0
|
|
134
112
|
}));
|
|
135
113
|
};
|
|
136
|
-
|
|
137
|
-
var _default = FocusLock;
|
|
138
|
-
exports["default"] = _default;
|
|
114
|
+
var _default = exports["default"] = FocusLock;
|