@dxc-technology/halstack-react 0.0.0-b39a2d8 → 0.0.0-b3e1a2f
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 +10 -0
- package/BackgroundColorContext.js +1 -4
- package/ThemeContext.d.ts +15 -0
- package/ThemeContext.js +5 -8
- package/V3Select/V3Select.js +2 -2
- package/V3Textarea/V3Textarea.js +2 -2
- package/accordion/Accordion.js +2 -2
- package/accordion/Accordion.stories.tsx +307 -0
- package/accordion/types.d.ts +1 -1
- package/accordion-group/AccordionGroup.js +2 -2
- package/accordion-group/AccordionGroup.stories.tsx +225 -0
- package/accordion-group/types.d.ts +1 -1
- package/alert/Alert.js +2 -2
- package/badge/Badge.js +1 -1
- package/bleed/Bleed.d.ts +3 -0
- package/bleed/Bleed.js +84 -0
- package/bleed/Bleed.stories.tsx +342 -0
- package/bleed/types.d.ts +13 -0
- package/bleed/types.js +5 -0
- package/box/Box.js +2 -2
- package/button/Button.d.ts +1 -1
- package/button/Button.js +13 -19
- package/button/Button.stories.tsx +6 -8
- package/button/types.d.ts +5 -9
- package/card/Card.js +1 -1
- package/card/Card.stories.tsx +1 -1
- package/checkbox/Checkbox.js +2 -2
- package/checkbox/types.d.ts +1 -1
- package/chip/Chip.d.ts +4 -0
- package/chip/Chip.js +5 -27
- package/chip/types.d.ts +53 -0
- package/chip/types.js +5 -0
- package/common/variables.js +57 -22
- package/date/Date.js +1 -1
- package/date-input/DateInput.js +10 -13
- package/dialog/Dialog.js +4 -3
- package/dropdown/Dropdown.js +1 -1
- package/dropdown/Dropdown.stories.tsx +247 -0
- package/dropdown/types.d.ts +1 -1
- package/file-input/FileInput.d.ts +1 -1
- package/file-input/FileInput.js +160 -81
- package/file-input/FileInput.stories.tsx +507 -0
- package/file-input/FileItem.js +8 -6
- package/file-input/types.d.ts +32 -7
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +12 -18
- package/footer/{Footer.stories.jsx → Footer.stories.tsx} +1 -22
- package/footer/Icons.d.ts +2 -0
- package/footer/Icons.js +3 -3
- package/footer/types.d.ts +21 -17
- package/header/Header.js +2 -2
- package/header/Icons.d.ts +2 -0
- package/heading/Heading.js +1 -1
- package/heading/Heading.stories.tsx +54 -0
- package/input-text/InputText.js +2 -2
- package/inset/Inset.d.ts +3 -0
- package/inset/Inset.js +84 -0
- package/inset/Inset.stories.tsx +229 -0
- package/inset/types.d.ts +13 -0
- package/inset/types.js +5 -0
- package/layout/ApplicationLayout.d.ts +10 -0
- package/layout/ApplicationLayout.js +9 -19
- package/layout/ApplicationLayout.stories.tsx +171 -0
- package/layout/types.d.ts +57 -0
- package/layout/types.js +5 -0
- package/link/Link.js +1 -1
- package/list/List.d.ts +4 -0
- package/list/List.js +47 -0
- package/list/List.stories.tsx +95 -0
- package/list/types.d.ts +7 -0
- package/list/types.js +5 -0
- package/main.d.ts +7 -3
- package/main.js +34 -2
- package/number-input/NumberInput.js +3 -6
- package/number-input/NumberInputContext.d.ts +4 -0
- package/number-input/NumberInputContext.js +5 -2
- package/number-input/numberInputContextTypes.d.ts +19 -0
- package/number-input/numberInputContextTypes.js +5 -0
- package/package.json +4 -2
- package/paginator/Paginator.js +2 -8
- package/password-input/PasswordInput.js +19 -18
- package/password-input/PasswordInput.stories.tsx +3 -3
- package/password-input/types.d.ts +17 -10
- package/progress-bar/ProgressBar.js +4 -4
- package/radio/Radio.js +2 -2
- package/radio-group/Radio.d.ts +4 -0
- package/radio-group/Radio.js +130 -0
- package/radio-group/RadioGroup.d.ts +4 -0
- package/radio-group/RadioGroup.js +268 -0
- package/radio-group/RadioGroup.stories.tsx +79 -0
- package/radio-group/types.d.ts +36 -0
- package/radio-group/types.js +5 -0
- package/resultsetTable/ResultsetTable.d.ts +4 -0
- package/resultsetTable/ResultsetTable.js +5 -28
- package/resultsetTable/ResultsetTable.stories.tsx +275 -0
- package/resultsetTable/types.d.ts +67 -0
- package/resultsetTable/types.js +5 -0
- package/row/Row.d.ts +3 -0
- package/row/Row.js +127 -0
- package/row/Row.stories.tsx +237 -0
- package/row/types.d.ts +10 -0
- package/row/types.js +5 -0
- package/select/Select.d.ts +4 -0
- package/select/Select.js +20 -22
- package/select/types.d.ts +170 -0
- package/select/types.js +5 -0
- package/sidenav/Sidenav.js +2 -2
- package/sidenav/Sidenav.stories.tsx +182 -0
- package/slider/Slider.js +4 -4
- package/spinner/Spinner.js +2 -2
- package/spinner/Spinner.stories.jsx +1 -0
- package/stack/Stack.d.ts +3 -0
- package/stack/Stack.js +97 -0
- package/stack/Stack.stories.tsx +164 -0
- package/stack/types.d.ts +9 -0
- package/stack/types.js +5 -0
- package/switch/Switch.js +2 -2
- package/switch/Switch.stories.tsx +1 -1
- package/table/Table.js +3 -3
- package/table/Table.stories.jsx +2 -1
- package/tabs/Tabs.js +11 -9
- package/tabs/Tabs.stories.tsx +120 -0
- package/tabs/types.d.ts +23 -15
- package/tag/Tag.js +1 -1
- package/tag/Tag.stories.tsx +1 -1
- package/text/Text.d.ts +7 -0
- package/text/Text.js +30 -0
- package/text/Text.stories.tsx +19 -0
- package/text-input/TextInput.d.ts +4 -0
- package/text-input/TextInput.js +54 -85
- package/text-input/TextInput.stories.tsx +456 -0
- package/text-input/types.d.ts +159 -0
- package/text-input/types.js +5 -0
- package/textarea/Textarea.d.ts +4 -0
- package/textarea/Textarea.js +27 -60
- package/textarea/Textarea.stories.jsx +4 -3
- package/textarea/types.d.ts +130 -0
- package/textarea/types.js +5 -0
- package/toggle/Toggle.js +1 -1
- package/toggle-group/ToggleGroup.d.ts +4 -0
- package/toggle-group/ToggleGroup.js +16 -45
- package/toggle-group/ToggleGroup.stories.tsx +23 -28
- package/toggle-group/types.d.ts +97 -0
- package/toggle-group/types.js +5 -0
- package/upload/buttons-upload/ButtonsUpload.js +2 -2
- package/upload/dragAndDropArea/DragAndDropArea.js +2 -2
- package/upload/file-upload/FileToUpload.js +1 -1
- package/upload/files-upload/FilesToUpload.js +1 -1
- package/upload/transaction/Transaction.js +2 -2
- package/upload/transactions/Transactions.js +1 -1
- package/useTheme.d.ts +2 -0
- package/useTheme.js +1 -1
- package/wizard/Wizard.js +59 -9
- package/wizard/{Wizard.stories.jsx → Wizard.stories.tsx} +0 -0
- package/wizard/types.d.ts +3 -7
- package/chip/index.d.ts +0 -22
- package/resultsetTable/index.d.ts +0 -19
- package/select/index.d.ts +0 -131
- package/text-input/index.d.ts +0 -135
- package/textarea/index.d.ts +0 -117
- package/toggle-group/index.d.ts +0 -21
- package/wizard/Icons.js +0 -65
package/chip/types.d.ts
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
3
|
+
declare type Margin = {
|
|
4
|
+
top?: Space;
|
|
5
|
+
bottom?: Space;
|
|
6
|
+
left?: Space;
|
|
7
|
+
right?: Space;
|
|
8
|
+
};
|
|
9
|
+
declare type SVG = React.SVGProps<SVGSVGElement> | React.FunctionComponent<React.SVGProps<SVGSVGElement>>;
|
|
10
|
+
declare type Props = {
|
|
11
|
+
/**
|
|
12
|
+
* Text to be placed on the chip.
|
|
13
|
+
*/
|
|
14
|
+
label?: string;
|
|
15
|
+
/**
|
|
16
|
+
* Element used as icon to be placed after the chip label.
|
|
17
|
+
*/
|
|
18
|
+
suffixIcon?: SVG;
|
|
19
|
+
/**
|
|
20
|
+
* Element used as icon to be placed before the chip label.
|
|
21
|
+
*/
|
|
22
|
+
prefixIcon?: SVG;
|
|
23
|
+
/**
|
|
24
|
+
* @deprecated Path of the icon to be placed after the chip label.
|
|
25
|
+
*/
|
|
26
|
+
suffixIconSrc?: string;
|
|
27
|
+
/**
|
|
28
|
+
* This function will be called when the suffix is clicked.
|
|
29
|
+
*/
|
|
30
|
+
onClickSuffix?: () => void;
|
|
31
|
+
/**
|
|
32
|
+
* @deprecated Path of the icon to be placed before the chip label.
|
|
33
|
+
*/
|
|
34
|
+
prefixIconSrc?: string;
|
|
35
|
+
/**
|
|
36
|
+
* This function will be called when the prefix is clicked.
|
|
37
|
+
*/
|
|
38
|
+
onClickPrefix?: () => void;
|
|
39
|
+
/**
|
|
40
|
+
* If true, the component will be disabled.
|
|
41
|
+
*/
|
|
42
|
+
disabled?: boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
|
|
45
|
+
* You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
|
|
46
|
+
*/
|
|
47
|
+
margin?: Space | Margin;
|
|
48
|
+
/**
|
|
49
|
+
* Value of the tabindex attribute.
|
|
50
|
+
*/
|
|
51
|
+
tabIndex?: number;
|
|
52
|
+
};
|
|
53
|
+
export default Props;
|
package/chip/types.js
ADDED
package/common/variables.js
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
3
|
Object.defineProperty(exports, "__esModule", {
|
|
6
4
|
value: true
|
|
7
5
|
});
|
|
@@ -9,7 +7,7 @@ exports.typeface = exports.spaces = exports.responsiveSizes = exports.globalToke
|
|
|
9
7
|
|
|
10
8
|
var _Icons = require("../header/Icons");
|
|
11
9
|
|
|
12
|
-
var _Icons2 =
|
|
10
|
+
var _Icons2 = require("../footer/Icons");
|
|
13
11
|
|
|
14
12
|
var globalTokens = {
|
|
15
13
|
// Color
|
|
@@ -99,7 +97,7 @@ var globalTokens = {
|
|
|
99
97
|
type_sans: "Open Sans, sans-serif",
|
|
100
98
|
type_scale_root: "16px",
|
|
101
99
|
type_scale_08: "3.75rem",
|
|
102
|
-
type_scale_07: "
|
|
100
|
+
type_scale_07: "2.5rem",
|
|
103
101
|
type_scale_06: "2rem",
|
|
104
102
|
type_scale_05: "1.5rem",
|
|
105
103
|
type_scale_04: "1.25rem",
|
|
@@ -535,17 +533,16 @@ var componentTokens = {
|
|
|
535
533
|
errorMessageFontFamily: globalTokens.type_sans,
|
|
536
534
|
errorMessageFontSize: globalTokens.type_scale_01,
|
|
537
535
|
errorMessageFontWeight: globalTokens.type_regular,
|
|
538
|
-
errorMessageLineHeight: globalTokens.
|
|
536
|
+
errorMessageLineHeight: globalTokens.type_leading_normal,
|
|
539
537
|
dropBorderThickness: globalTokens.border_width_1,
|
|
540
538
|
dropBorderStyle: globalTokens.border_dashed,
|
|
541
539
|
dropBorderRadius: globalTokens.border_radius_large,
|
|
542
540
|
fileItemBorderThickness: globalTokens.border_width_1,
|
|
543
541
|
fileItemBorderStyle: globalTokens.border_solid,
|
|
544
542
|
fileItemBorderRadius: globalTokens.border_radius_medium,
|
|
545
|
-
hoverDeleteFileItemBackgroundColor:
|
|
546
|
-
activeDeleteFileItemBackgroundColor:
|
|
547
|
-
|
|
548
|
-
errorActiveDeleteFileItemBackgroundColor: globalTokens.hal_red_s_41
|
|
543
|
+
hoverDeleteFileItemBackgroundColor: "#0000000d",
|
|
544
|
+
activeDeleteFileItemBackgroundColor: "#00000033",
|
|
545
|
+
focusActionBorderColor: globalTokens.hal_blue_l_50
|
|
549
546
|
},
|
|
550
547
|
footer: {
|
|
551
548
|
height: "124px",
|
|
@@ -565,7 +562,7 @@ var componentTokens = {
|
|
|
565
562
|
copyrightFontStyle: globalTokens.type_normal,
|
|
566
563
|
copyrightFontWeight: globalTokens.type_regular,
|
|
567
564
|
copyrightFontColor: globalTokens.hal_white,
|
|
568
|
-
logo:
|
|
565
|
+
logo: "",
|
|
569
566
|
logoHeight: "32px",
|
|
570
567
|
logoWidth: "auto",
|
|
571
568
|
socialLinksSize: "24px",
|
|
@@ -583,8 +580,8 @@ var componentTokens = {
|
|
|
583
580
|
hamburguerTextTransform: globalTokens.type_uppercase,
|
|
584
581
|
hamburguerIconColor: globalTokens.hal_black,
|
|
585
582
|
hamburguerHoverColor: globalTokens.mediumGreyBlack,
|
|
586
|
-
logo:
|
|
587
|
-
logoResponsive:
|
|
583
|
+
logo: "",
|
|
584
|
+
logoResponsive: "",
|
|
588
585
|
logoHeight: "40px",
|
|
589
586
|
logoWidth: "auto",
|
|
590
587
|
menuBackgroundColor: globalTokens.hal_white,
|
|
@@ -608,37 +605,37 @@ var componentTokens = {
|
|
|
608
605
|
heading: {
|
|
609
606
|
level1FontColor: globalTokens.inherit,
|
|
610
607
|
level1FontFamily: globalTokens.type_sans,
|
|
611
|
-
level1FontSize: globalTokens.
|
|
608
|
+
level1FontSize: globalTokens.type_scale_07,
|
|
612
609
|
level1FontStyle: globalTokens.type_normal,
|
|
613
|
-
level1FontWeight: globalTokens.
|
|
610
|
+
level1FontWeight: globalTokens.type_semibold,
|
|
614
611
|
level1LineHeight: globalTokens.type_leading_compact_01,
|
|
615
612
|
level1LetterSpacing: globalTokens.type_spacing_tight_01,
|
|
616
613
|
level2FontColor: globalTokens.inherit,
|
|
617
614
|
level2FontFamily: globalTokens.type_sans,
|
|
618
|
-
level2FontSize: globalTokens.
|
|
615
|
+
level2FontSize: globalTokens.type_scale_05,
|
|
619
616
|
level2FontStyle: globalTokens.type_normal,
|
|
620
|
-
level2FontWeight: globalTokens.
|
|
617
|
+
level2FontWeight: globalTokens.type_semibold,
|
|
621
618
|
level2LineHeight: globalTokens.type_leading_normal,
|
|
622
619
|
level2LetterSpacing: globalTokens.type_spacing_normal,
|
|
623
620
|
level3FontColor: globalTokens.inherit,
|
|
624
621
|
level3FontFamily: globalTokens.type_sans,
|
|
625
|
-
level3FontSize: globalTokens.
|
|
622
|
+
level3FontSize: globalTokens.type_scale_04,
|
|
626
623
|
level3FontStyle: globalTokens.type_normal,
|
|
627
|
-
level3FontWeight: globalTokens.
|
|
624
|
+
level3FontWeight: globalTokens.type_semibold,
|
|
628
625
|
level3LineHeight: globalTokens.type_leading_compact_01,
|
|
629
626
|
level3LetterSpacing: globalTokens.type_spacing_wide_01,
|
|
630
627
|
level4FontColor: globalTokens.inherit,
|
|
631
628
|
level4FontFamily: globalTokens.type_sans,
|
|
632
|
-
level4FontSize: globalTokens.
|
|
629
|
+
level4FontSize: globalTokens.type_scale_03,
|
|
633
630
|
level4FontStyle: globalTokens.type_normal,
|
|
634
|
-
level4FontWeight: globalTokens.
|
|
631
|
+
level4FontWeight: globalTokens.type_semibold,
|
|
635
632
|
level4LineHeight: globalTokens.type_leading_normal,
|
|
636
633
|
level4LetterSpacing: globalTokens.type_spacing_normal,
|
|
637
634
|
level5FontColor: globalTokens.inherit,
|
|
638
635
|
level5FontFamily: globalTokens.type_sans,
|
|
639
|
-
level5FontSize: globalTokens.
|
|
636
|
+
level5FontSize: globalTokens.type_scale_02,
|
|
640
637
|
level5FontStyle: globalTokens.type_normal,
|
|
641
|
-
level5FontWeight: globalTokens.
|
|
638
|
+
level5FontWeight: globalTokens.type_semibold,
|
|
642
639
|
level5LineHeight: globalTokens.type_leading_normal,
|
|
643
640
|
level5LetterSpacing: globalTokens.type_spacing_wide_01
|
|
644
641
|
},
|
|
@@ -880,6 +877,44 @@ var componentTokens = {
|
|
|
880
877
|
fontStyle: globalTokens.type_normal,
|
|
881
878
|
fontWeight: globalTokens.type_regular
|
|
882
879
|
},
|
|
880
|
+
radioGroup: {
|
|
881
|
+
fontFamily: globalTokens.type_sans,
|
|
882
|
+
radioInputColor: globalTokens.hal_blue_l_45,
|
|
883
|
+
hoverRadioInputColor: globalTokens.hal_blue_s_35,
|
|
884
|
+
focusBorderColor: globalTokens.hal_blue_l_50,
|
|
885
|
+
activeRadioInputColor: globalTokens.hal_blue_d_20,
|
|
886
|
+
errorRadioInputColor: globalTokens.hal_red_s_41,
|
|
887
|
+
hoverErrorRadioInputColor: globalTokens.hal_red_d_30,
|
|
888
|
+
activeErrorRadioInputColor: globalTokens.hal_red_d_20,
|
|
889
|
+
readonlyRadioInputColor: globalTokens.hal_grey_l_60,
|
|
890
|
+
hoverReadonlyRadioInputColor: globalTokens.color_grey_600,
|
|
891
|
+
activeReadonlyRadioInputColor: globalTokens.hal_grey_s_40,
|
|
892
|
+
disabledRadioInputColor: globalTokens.hal_grey_l_60,
|
|
893
|
+
disabledLabelFontColor: globalTokens.hal_grey_l_60,
|
|
894
|
+
disabledHelperTextFontColor: globalTokens.hal_grey_l_60,
|
|
895
|
+
disabledRadioInputLabelFontColor: globalTokens.hal_grey_l_60,
|
|
896
|
+
errorMessageColor: globalTokens.hal_red_s_41,
|
|
897
|
+
labelFontColor: globalTokens.hal_black,
|
|
898
|
+
labelFontSize: globalTokens.type_scale_02,
|
|
899
|
+
labelFontStyle: globalTokens.type_normal,
|
|
900
|
+
labelFontWeight: globalTokens.type_semibold,
|
|
901
|
+
labelLineHeight: globalTokens.type_leading_loose_01,
|
|
902
|
+
optionalLabelFontWeight: globalTokens.type_regular,
|
|
903
|
+
helperTextFontColor: globalTokens.hal_black,
|
|
904
|
+
helperTextFontSize: globalTokens.type_scale_01,
|
|
905
|
+
helperTextFontStyle: globalTokens.type_normal,
|
|
906
|
+
helperTextFontWeight: globalTokens.type_regular,
|
|
907
|
+
helperTextLineHeight: globalTokens.type_leading_normal,
|
|
908
|
+
radioInputLabelFontColor: globalTokens.hal_black,
|
|
909
|
+
radioInputLabelFontSize: globalTokens.type_scale_02,
|
|
910
|
+
radioInputLabelFontStyle: globalTokens.type_normal,
|
|
911
|
+
radioInputLabelFontWeight: globalTokens.type_regular,
|
|
912
|
+
radioInputLabelLineHeight: globalTokens.type_leading_loose_01,
|
|
913
|
+
groupLabelMargin: globalTokens.spacing_03,
|
|
914
|
+
radioInputLabelMargin: globalTokens.spacing_03,
|
|
915
|
+
groupVerticalGutter: globalTokens.spacing_02,
|
|
916
|
+
groupHorizontalGutter: globalTokens.spacing_07
|
|
917
|
+
},
|
|
883
918
|
select: {
|
|
884
919
|
fontFamily: globalTokens.type_sans,
|
|
885
920
|
disabledColor: globalTokens.hal_grey_l_60,
|
package/date/Date.js
CHANGED
|
@@ -39,7 +39,7 @@ var _InputText = _interopRequireDefault(require("../input-text/InputText"));
|
|
|
39
39
|
|
|
40
40
|
var _variables = require("../common/variables.js");
|
|
41
41
|
|
|
42
|
-
var _useTheme = _interopRequireDefault(require("../useTheme
|
|
42
|
+
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
43
43
|
|
|
44
44
|
var _templateObject, _DxcDate$propTypes;
|
|
45
45
|
|
package/date-input/DateInput.js
CHANGED
|
@@ -29,7 +29,7 @@ var _dateFns = _interopRequireDefault(require("@date-io/date-fns"));
|
|
|
29
29
|
|
|
30
30
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
31
31
|
|
|
32
|
-
var _useTheme = _interopRequireDefault(require("../useTheme
|
|
32
|
+
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
33
33
|
|
|
34
34
|
var _TextInput = _interopRequireDefault(require("../text-input/TextInput"));
|
|
35
35
|
|
|
@@ -40,15 +40,13 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
40
40
|
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; }
|
|
41
41
|
|
|
42
42
|
var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
43
|
-
var
|
|
44
|
-
label = _ref$label === void 0 ? "" : _ref$label,
|
|
43
|
+
var label = _ref.label,
|
|
45
44
|
_ref$name = _ref.name,
|
|
46
45
|
name = _ref$name === void 0 ? "" : _ref$name,
|
|
47
46
|
value = _ref.value,
|
|
48
47
|
_ref$format = _ref.format,
|
|
49
48
|
format = _ref$format === void 0 ? "dd-MM-yyyy" : _ref$format,
|
|
50
|
-
|
|
51
|
-
helperText = _ref$helperText === void 0 ? "" : _ref$helperText,
|
|
49
|
+
helperText = _ref.helperText,
|
|
52
50
|
_ref$placeholder = _ref.placeholder,
|
|
53
51
|
placeholder = _ref$placeholder === void 0 ? false : _ref$placeholder,
|
|
54
52
|
_ref$clearable = _ref.clearable,
|
|
@@ -59,8 +57,7 @@ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
|
|
|
59
57
|
optional = _ref$optional === void 0 ? false : _ref$optional,
|
|
60
58
|
onChange = _ref.onChange,
|
|
61
59
|
onBlur = _ref.onBlur,
|
|
62
|
-
|
|
63
|
-
error = _ref$error === void 0 ? "" : _ref$error,
|
|
60
|
+
error = _ref.error,
|
|
64
61
|
_ref$autocomplete = _ref.autocomplete,
|
|
65
62
|
autocomplete = _ref$autocomplete === void 0 ? "off" : _ref$autocomplete,
|
|
66
63
|
margin = _ref.margin,
|
|
@@ -85,6 +82,7 @@ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
|
|
|
85
82
|
setAnchorEl = _useState6[1];
|
|
86
83
|
|
|
87
84
|
var colorsTheme = (0, _useTheme["default"])();
|
|
85
|
+
var refDate = ref || (0, _react.useRef)(null);
|
|
88
86
|
|
|
89
87
|
var handleCalendarOnKeyDown = function handleCalendarOnKeyDown(event) {
|
|
90
88
|
switch (event.keyCode) {
|
|
@@ -135,11 +133,10 @@ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
|
|
|
135
133
|
return (0, _moment["default"])(value !== null && value !== void 0 ? value : innerValue, format.toUpperCase(), true).format();
|
|
136
134
|
};
|
|
137
135
|
|
|
138
|
-
var openCalendar = function openCalendar(
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
}
|
|
136
|
+
var openCalendar = function openCalendar() {
|
|
137
|
+
var dateBtn = refDate.current.getElementsByTagName("button")[0];
|
|
138
|
+
setIsOpen(!isOpen);
|
|
139
|
+
setAnchorEl(dateBtn);
|
|
143
140
|
};
|
|
144
141
|
|
|
145
142
|
var closeCalendar = function closeCalendar() {
|
|
@@ -321,7 +318,7 @@ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
|
|
|
321
318
|
margin: margin,
|
|
322
319
|
size: size,
|
|
323
320
|
tabIndex: tabIndex,
|
|
324
|
-
ref:
|
|
321
|
+
ref: refDate
|
|
325
322
|
}), /*#__PURE__*/_react["default"].createElement(_Popover["default"], {
|
|
326
323
|
onKeyDown: handleCalendarOnKeyDown,
|
|
327
324
|
open: isOpen,
|
package/dialog/Dialog.js
CHANGED
|
@@ -23,9 +23,9 @@ var _Dialog = _interopRequireDefault(require("@material-ui/core/Dialog"));
|
|
|
23
23
|
|
|
24
24
|
var _variables = require("../common/variables.js");
|
|
25
25
|
|
|
26
|
-
var _useTheme = _interopRequireDefault(require("../useTheme
|
|
26
|
+
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
27
27
|
|
|
28
|
-
var _BackgroundColorContext = require("../BackgroundColorContext
|
|
28
|
+
var _BackgroundColorContext = require("../BackgroundColorContext");
|
|
29
29
|
|
|
30
30
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4;
|
|
31
31
|
|
|
@@ -41,7 +41,8 @@ var DxcDialog = function DxcDialog(_ref) {
|
|
|
41
41
|
_ref$overlay = _ref.overlay,
|
|
42
42
|
overlay = _ref$overlay === void 0 ? true : _ref$overlay,
|
|
43
43
|
onBackgroundClick = _ref.onBackgroundClick,
|
|
44
|
-
padding = _ref.padding,
|
|
44
|
+
_ref$padding = _ref.padding,
|
|
45
|
+
padding = _ref$padding === void 0 ? "small" : _ref$padding,
|
|
45
46
|
_ref$tabIndex = _ref.tabIndex,
|
|
46
47
|
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
47
48
|
|
package/dropdown/Dropdown.js
CHANGED
|
@@ -35,7 +35,7 @@ var _variables = require("../common/variables.js");
|
|
|
35
35
|
|
|
36
36
|
var _utils = require("../common/utils.js");
|
|
37
37
|
|
|
38
|
-
var _useTheme = _interopRequireDefault(require("../useTheme
|
|
38
|
+
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
39
39
|
|
|
40
40
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10;
|
|
41
41
|
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { userEvent, within } from "@storybook/testing-library";
|
|
3
|
+
import DxcDropdown from "./Dropdown";
|
|
4
|
+
import Title from "../../.storybook/components/Title";
|
|
5
|
+
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
6
|
+
|
|
7
|
+
export default {
|
|
8
|
+
title: "Dropdown",
|
|
9
|
+
component: DxcDropdown,
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
const iconSVG = () => {
|
|
13
|
+
return (
|
|
14
|
+
<svg viewBox="0 0 24 24" fill="currentColor">
|
|
15
|
+
<path d="M0 0h24v24H0z" fill="none" />
|
|
16
|
+
<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" />
|
|
17
|
+
</svg>
|
|
18
|
+
);
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const iconSVGLarge = () => {
|
|
22
|
+
return (
|
|
23
|
+
<svg enable-background="new 0 0 24 24" height="48px" viewBox="0 0 24 24" width="48px" fill="currentColor">
|
|
24
|
+
<g>
|
|
25
|
+
<path d="M0,0h24v24H0V0z" fill="none" />
|
|
26
|
+
<path d="M0,0h24v24H0V0z" fill="none" />
|
|
27
|
+
</g>
|
|
28
|
+
<g>
|
|
29
|
+
<path d="M12,17.27L18.18,21l-1.64-7.03L22,9.24l-7.19-0.61L12,2L9.19,8.63L2,9.24l5.46,4.73L5.82,21L12,17.27z" />
|
|
30
|
+
</g>
|
|
31
|
+
</svg>
|
|
32
|
+
);
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
const options: any = [
|
|
36
|
+
{
|
|
37
|
+
value: "1",
|
|
38
|
+
label: "Amazon with a very long text",
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
value: "2",
|
|
42
|
+
label: "Ebay",
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
value: "3",
|
|
46
|
+
label: "Apple",
|
|
47
|
+
},
|
|
48
|
+
];
|
|
49
|
+
|
|
50
|
+
const option: any = [
|
|
51
|
+
{
|
|
52
|
+
value: "1",
|
|
53
|
+
label: "Ebay",
|
|
54
|
+
},
|
|
55
|
+
];
|
|
56
|
+
|
|
57
|
+
const optionsIcon: any = options.map((op, i) => ({ ...op, icon: i === 1 ? iconSVGLarge : iconSVG }));
|
|
58
|
+
|
|
59
|
+
export const Chromatic = () => (
|
|
60
|
+
<>
|
|
61
|
+
<ExampleContainer>
|
|
62
|
+
<Title title="Default" theme="light" level={4} />
|
|
63
|
+
<DxcDropdown label="Default" options={options} onSelectOption={(value) => {}} />
|
|
64
|
+
</ExampleContainer>
|
|
65
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
66
|
+
<Title title="Hovered" theme="light" level={4} />
|
|
67
|
+
<DxcDropdown label="Hovered" options={options} onSelectOption={(value) => {}} />
|
|
68
|
+
</ExampleContainer>
|
|
69
|
+
<ExampleContainer pseudoState="pseudo-focus-visible">
|
|
70
|
+
<Title title="Focused" theme="light" level={4} />
|
|
71
|
+
<DxcDropdown label="Focused" options={options} onSelectOption={(value) => {}} />
|
|
72
|
+
</ExampleContainer>
|
|
73
|
+
<ExampleContainer pseudoState="pseudo-active">
|
|
74
|
+
<Title title="Actived" theme="light" level={4} />
|
|
75
|
+
<DxcDropdown label="Actived" options={options} onSelectOption={(value) => {}} />
|
|
76
|
+
</ExampleContainer>
|
|
77
|
+
<ExampleContainer>
|
|
78
|
+
<Title title="Disabled" theme="light" level={4} />
|
|
79
|
+
<DxcDropdown label="Disabled" options={options} onSelectOption={(value) => {}} disabled />
|
|
80
|
+
</ExampleContainer>
|
|
81
|
+
<ExampleContainer>
|
|
82
|
+
<Title title="Caret hidden" theme="light" level={4} />
|
|
83
|
+
<DxcDropdown label="Caret hidden" options={options} onSelectOption={(value) => {}} caretHidden />
|
|
84
|
+
</ExampleContainer>
|
|
85
|
+
<ExampleContainer>
|
|
86
|
+
<Title title="With icon before" theme="light" level={4} />
|
|
87
|
+
<DxcDropdown label="Icon before" options={options} onSelectOption={(value) => {}} icon={iconSVG} />
|
|
88
|
+
</ExampleContainer>
|
|
89
|
+
<ExampleContainer>
|
|
90
|
+
<Title title="With icon after" theme="light" level={4} />
|
|
91
|
+
<DxcDropdown
|
|
92
|
+
label="Icon after"
|
|
93
|
+
options={options}
|
|
94
|
+
onSelectOption={(value) => {}}
|
|
95
|
+
icon={iconSVG}
|
|
96
|
+
iconPosition="after"
|
|
97
|
+
/>
|
|
98
|
+
</ExampleContainer>
|
|
99
|
+
<ExampleContainer>
|
|
100
|
+
<Title title="Only icon" theme="light" level={4} />
|
|
101
|
+
<DxcDropdown options={options} onSelectOption={(value) => {}} icon={iconSVG} />
|
|
102
|
+
</ExampleContainer>
|
|
103
|
+
<ExampleContainer>
|
|
104
|
+
<Title title="Large icon" theme="light" level={4} />
|
|
105
|
+
<DxcDropdown label="Large icon" options={options} onSelectOption={(value) => {}} icon={iconSVGLarge} />
|
|
106
|
+
</ExampleContainer>
|
|
107
|
+
<ExampleContainer>
|
|
108
|
+
<Title title="Disabled with icon" theme="light" level={4} />
|
|
109
|
+
<DxcDropdown
|
|
110
|
+
label="Disabled with icon"
|
|
111
|
+
options={options}
|
|
112
|
+
onSelectOption={(value) => {}}
|
|
113
|
+
icon={iconSVG}
|
|
114
|
+
disabled
|
|
115
|
+
/>
|
|
116
|
+
</ExampleContainer>
|
|
117
|
+
<ExampleContainer>
|
|
118
|
+
<Title title="Ellipsis" theme="light" level={4} />
|
|
119
|
+
<DxcDropdown
|
|
120
|
+
label="Very long text in dropdown button"
|
|
121
|
+
options={options}
|
|
122
|
+
onSelectOption={(value) => {}}
|
|
123
|
+
icon={iconSVG}
|
|
124
|
+
size="medium"
|
|
125
|
+
/>
|
|
126
|
+
</ExampleContainer>
|
|
127
|
+
<Title title="Margins" theme="light" level={2} />
|
|
128
|
+
<ExampleContainer>
|
|
129
|
+
<Title title="Xxsmall" theme="light" level={4} />
|
|
130
|
+
<DxcDropdown label="Xxsmall" options={options} onSelectOption={(value) => {}} icon={iconSVG} margin="xxsmall" />
|
|
131
|
+
</ExampleContainer>
|
|
132
|
+
<ExampleContainer>
|
|
133
|
+
<Title title="Xsmall" theme="light" level={4} />
|
|
134
|
+
<DxcDropdown label="Xsmall" options={options} onSelectOption={(value) => {}} icon={iconSVG} margin="xsmall" />
|
|
135
|
+
</ExampleContainer>
|
|
136
|
+
<ExampleContainer>
|
|
137
|
+
<Title title="Small" theme="light" level={4} />
|
|
138
|
+
<DxcDropdown label="Small" options={options} onSelectOption={(value) => {}} icon={iconSVG} margin="small" />
|
|
139
|
+
</ExampleContainer>
|
|
140
|
+
<ExampleContainer>
|
|
141
|
+
<Title title="Medium" theme="light" level={4} />
|
|
142
|
+
<DxcDropdown label="Medium" options={options} onSelectOption={(value) => {}} icon={iconSVG} margin="medium" />
|
|
143
|
+
</ExampleContainer>
|
|
144
|
+
<ExampleContainer>
|
|
145
|
+
<Title title="Large" theme="light" level={4} />
|
|
146
|
+
<DxcDropdown label="Large" options={options} onSelectOption={(value) => {}} icon={iconSVG} margin="large" />
|
|
147
|
+
</ExampleContainer>
|
|
148
|
+
<ExampleContainer>
|
|
149
|
+
<Title title="Xlarge" theme="light" level={4} />
|
|
150
|
+
<DxcDropdown label="Xlarge" options={options} onSelectOption={(value) => {}} icon={iconSVG} margin="xlarge" />
|
|
151
|
+
</ExampleContainer>
|
|
152
|
+
<ExampleContainer>
|
|
153
|
+
<Title title="Xxlarge" theme="light" level={4} />
|
|
154
|
+
<DxcDropdown label="Xxlarge" options={options} onSelectOption={(value) => {}} icon={iconSVG} margin="xxlarge" />
|
|
155
|
+
</ExampleContainer>
|
|
156
|
+
<Title title="Sizes" theme="light" level={2} />
|
|
157
|
+
<ExampleContainer>
|
|
158
|
+
<Title title="Small" theme="light" level={4} />
|
|
159
|
+
<DxcDropdown label="Small" options={options} onSelectOption={(value) => {}} icon={iconSVG} size="small" />
|
|
160
|
+
</ExampleContainer>
|
|
161
|
+
<ExampleContainer>
|
|
162
|
+
<Title title="Medium" theme="light" level={4} />
|
|
163
|
+
<DxcDropdown label="Medium" options={options} onSelectOption={(value) => {}} icon={iconSVG} size="medium" />
|
|
164
|
+
</ExampleContainer>
|
|
165
|
+
<ExampleContainer>
|
|
166
|
+
<Title title="Large" theme="light" level={4} />
|
|
167
|
+
<DxcDropdown label="Large" options={options} onSelectOption={(value) => {}} icon={iconSVG} size="large" />
|
|
168
|
+
</ExampleContainer>
|
|
169
|
+
<ExampleContainer>
|
|
170
|
+
<Title title="FitContent" theme="light" level={4} />
|
|
171
|
+
<DxcDropdown
|
|
172
|
+
label="FitContent"
|
|
173
|
+
options={options}
|
|
174
|
+
onSelectOption={(value) => {}}
|
|
175
|
+
icon={iconSVG}
|
|
176
|
+
size="fitContent"
|
|
177
|
+
/>
|
|
178
|
+
</ExampleContainer>
|
|
179
|
+
<ExampleContainer>
|
|
180
|
+
<Title title="FillParent" theme="light" level={4} />
|
|
181
|
+
<DxcDropdown
|
|
182
|
+
label="FillParent"
|
|
183
|
+
options={options}
|
|
184
|
+
onSelectOption={(value) => {}}
|
|
185
|
+
icon={iconSVG}
|
|
186
|
+
size="fillParent"
|
|
187
|
+
/>
|
|
188
|
+
</ExampleContainer>
|
|
189
|
+
</>
|
|
190
|
+
);
|
|
191
|
+
|
|
192
|
+
const DropdownWithOptions = () => (
|
|
193
|
+
<ExampleContainer expanded>
|
|
194
|
+
<Title title="Options" theme="light" level={4} />
|
|
195
|
+
<DxcDropdown label="Options with icon" options={optionsIcon} onSelectOption={(value) => {}} />
|
|
196
|
+
</ExampleContainer>
|
|
197
|
+
);
|
|
198
|
+
|
|
199
|
+
const DropdownHoverOption = () => (
|
|
200
|
+
<ExampleContainer pseudoState="pseudo-hover" expanded>
|
|
201
|
+
<Title title="Hovered option" theme="light" level={4} />
|
|
202
|
+
<DxcDropdown label="Hovered options" options={option} onSelectOption={(value) => {}} />
|
|
203
|
+
</ExampleContainer>
|
|
204
|
+
);
|
|
205
|
+
|
|
206
|
+
const DropdownActiveOption = () => (
|
|
207
|
+
<ExampleContainer pseudoState="pseudo-active" expanded>
|
|
208
|
+
<Title title="Actived option" theme="light" level={4} />
|
|
209
|
+
<DxcDropdown label="Actived options" options={option} onSelectOption={(value) => {}} />
|
|
210
|
+
</ExampleContainer>
|
|
211
|
+
);
|
|
212
|
+
|
|
213
|
+
const DropdownWithOptionsIconAfter = () => (
|
|
214
|
+
<ExampleContainer expanded>
|
|
215
|
+
<Title title="Icon after options" theme="light" level={4} />
|
|
216
|
+
<DxcDropdown
|
|
217
|
+
label="Icon after options"
|
|
218
|
+
options={optionsIcon}
|
|
219
|
+
onSelectOption={(value) => {}}
|
|
220
|
+
optionsIconPosition="after"
|
|
221
|
+
/>
|
|
222
|
+
</ExampleContainer>
|
|
223
|
+
);
|
|
224
|
+
|
|
225
|
+
export const DropdownOptions = DropdownWithOptions.bind({});
|
|
226
|
+
DropdownOptions.play = async ({ canvasElement }) => {
|
|
227
|
+
const canvas = within(canvasElement);
|
|
228
|
+
await userEvent.click(canvas.getByRole("button"));
|
|
229
|
+
};
|
|
230
|
+
|
|
231
|
+
export const DropdownHoveredOption = DropdownHoverOption.bind({});
|
|
232
|
+
DropdownHoveredOption.play = async ({ canvasElement }) => {
|
|
233
|
+
const canvas = within(canvasElement);
|
|
234
|
+
await userEvent.click(canvas.getByRole("button"));
|
|
235
|
+
};
|
|
236
|
+
|
|
237
|
+
export const DropdownActivedOption = DropdownActiveOption.bind({});
|
|
238
|
+
DropdownActivedOption.play = async ({ canvasElement }) => {
|
|
239
|
+
const canvas = within(canvasElement);
|
|
240
|
+
await userEvent.click(canvas.getByRole("button"));
|
|
241
|
+
};
|
|
242
|
+
|
|
243
|
+
export const DropdownOptionsIconAfter = DropdownWithOptionsIconAfter.bind({});
|
|
244
|
+
DropdownOptionsIconAfter.play = async ({ canvasElement }) => {
|
|
245
|
+
const canvas = within(canvasElement);
|
|
246
|
+
await userEvent.click(canvas.getByRole("button"));
|
|
247
|
+
};
|
package/dropdown/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import FileInputPropsType from "./types";
|
|
3
|
-
declare const DxcFileInput: ({ name, mode, label, helperText, accept, minSize, maxSize, showPreview, multiple, disabled, callbackFile, value, margin, tabIndex, }: FileInputPropsType) => JSX.Element;
|
|
3
|
+
declare const DxcFileInput: ({ name, mode, label, buttonLabel, dropAreaLabel, helperText, accept, minSize, maxSize, showPreview, multiple, disabled, callbackFile, value, margin, tabIndex, }: FileInputPropsType) => JSX.Element;
|
|
4
4
|
export default DxcFileInput;
|