@dxc-technology/halstack-react 0.0.0-f54247d → 0.0.0-f6d6be5
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 +1 -1
- package/HalstackContext.d.ts +1337 -5
- package/HalstackContext.js +113 -72
- package/README.md +47 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +14 -37
- package/accordion/Accordion.stories.tsx +104 -113
- package/accordion/Accordion.test.js +1 -1
- package/accordion/types.d.ts +2 -14
- package/accordion-group/AccordionGroup.d.ts +4 -3
- package/accordion-group/AccordionGroup.js +23 -44
- package/accordion-group/AccordionGroup.stories.tsx +77 -76
- package/accordion-group/AccordionGroup.test.js +7 -17
- package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
- package/accordion-group/AccordionGroupAccordion.js +43 -0
- package/accordion-group/types.d.ts +2 -14
- package/alert/Alert.js +4 -8
- package/alert/Alert.stories.tsx +28 -0
- package/alert/Alert.test.js +1 -1
- package/bleed/Bleed.stories.tsx +1 -0
- package/box/Box.d.ts +1 -1
- package/box/Box.js +7 -26
- package/box/Box.stories.tsx +38 -51
- package/box/Box.test.js +1 -1
- package/box/types.d.ts +0 -12
- package/bulleted-list/BulletedList.js +4 -2
- package/bulleted-list/BulletedList.stories.tsx +7 -1
- package/bulleted-list/types.d.ts +31 -4
- package/button/Button.d.ts +1 -1
- package/button/Button.js +48 -60
- package/button/Button.stories.tsx +151 -9
- package/button/Button.test.js +12 -1
- package/button/types.d.ts +7 -3
- package/card/Card.d.ts +1 -1
- package/card/Card.js +27 -45
- package/card/Card.stories.tsx +12 -42
- package/card/Card.test.js +1 -1
- package/card/types.d.ts +1 -7
- package/checkbox/Checkbox.js +3 -3
- package/checkbox/Checkbox.stories.tsx +52 -0
- package/checkbox/Checkbox.test.js +1 -1
- package/checkbox/types.d.ts +2 -2
- package/chip/Chip.js +28 -49
- package/chip/Chip.stories.tsx +121 -26
- package/chip/Chip.test.js +3 -5
- package/common/OpenSans.css +68 -80
- package/common/coreTokens.d.ts +146 -0
- package/common/coreTokens.js +167 -0
- package/common/utils.d.ts +1 -0
- package/common/utils.js +4 -4
- package/common/variables.d.ts +1490 -0
- package/common/variables.js +984 -1127
- package/date-input/Calendar.d.ts +1 -1
- package/date-input/Calendar.js +45 -45
- package/date-input/DateInput.js +74 -32
- package/date-input/DateInput.stories.tsx +183 -30
- package/date-input/DateInput.test.js +120 -37
- package/date-input/DatePicker.js +38 -52
- package/date-input/Icons.d.ts +6 -0
- package/date-input/Icons.js +75 -0
- package/date-input/YearPicker.d.ts +1 -1
- package/date-input/YearPicker.js +23 -12
- package/date-input/types.d.ts +6 -8
- package/dialog/Dialog.d.ts +1 -1
- package/dialog/Dialog.js +55 -86
- package/dialog/Dialog.stories.tsx +145 -217
- package/dialog/Dialog.test.js +302 -3
- package/dialog/types.d.ts +0 -13
- package/dropdown/Dropdown.js +5 -8
- package/dropdown/Dropdown.stories.tsx +210 -84
- package/dropdown/Dropdown.test.js +3 -2
- package/dropdown/DropdownMenu.js +12 -18
- package/dropdown/DropdownMenuItem.js +4 -17
- package/dropdown/types.d.ts +3 -3
- package/file-input/FileInput.js +4 -8
- package/file-input/FileInput.stories.tsx +85 -2
- package/file-input/FileInput.test.js +1 -42
- package/file-input/FileItem.js +3 -2
- package/file-input/types.d.ts +1 -1
- package/flex/Flex.js +4 -2
- package/flex/Flex.stories.tsx +35 -26
- package/flex/types.d.ts +70 -5
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +44 -64
- package/footer/Footer.stories.tsx +36 -21
- package/footer/Footer.test.js +16 -26
- package/footer/types.d.ts +10 -12
- package/grid/Grid.d.ts +7 -0
- package/grid/Grid.js +91 -0
- package/grid/Grid.stories.tsx +219 -0
- package/grid/types.d.ts +115 -0
- package/header/Header.d.ts +4 -3
- package/header/Header.js +20 -49
- package/header/Header.stories.tsx +115 -36
- package/header/Header.test.js +2 -2
- package/header/types.d.ts +1 -15
- package/heading/Heading.js +1 -1
- package/heading/Heading.test.js +1 -1
- package/image/Image.d.ts +4 -0
- package/image/Image.js +85 -0
- package/image/Image.stories.tsx +127 -0
- package/image/types.d.ts +72 -0
- package/inset/Inset.stories.tsx +2 -1
- package/layout/ApplicationLayout.d.ts +5 -5
- package/layout/ApplicationLayout.js +15 -12
- package/layout/ApplicationLayout.stories.tsx +1 -1
- package/layout/Icons.d.ts +7 -4
- package/layout/Icons.js +52 -56
- package/layout/types.d.ts +2 -3
- package/link/Link.js +3 -3
- package/link/Link.stories.tsx +60 -0
- package/link/Link.test.js +2 -4
- package/link/types.d.ts +2 -2
- package/main.d.ts +4 -2
- package/main.js +17 -1
- package/{tabs-nav → nav-tabs}/NavTabs.d.ts +2 -2
- package/{tabs-nav → nav-tabs}/NavTabs.js +8 -11
- package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +110 -6
- package/{tabs-nav → nav-tabs}/NavTabs.test.js +1 -1
- package/{tabs-nav → nav-tabs}/Tab.js +48 -32
- package/{tabs-nav → nav-tabs}/types.d.ts +8 -9
- package/nav-tabs/types.js +5 -0
- package/number-input/NumberInput.d.ts +7 -0
- package/number-input/NumberInput.js +6 -4
- package/number-input/NumberInput.test.js +279 -96
- package/package.json +3 -3
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +16 -28
- package/paginator/Paginator.js +7 -15
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +57 -47
- package/paragraph/Paragraph.d.ts +3 -4
- package/paragraph/Paragraph.js +5 -5
- package/password-input/Icons.d.ts +6 -0
- package/password-input/Icons.js +39 -0
- package/password-input/PasswordInput.js +35 -82
- package/password-input/PasswordInput.stories.tsx +1 -0
- package/password-input/PasswordInput.test.js +28 -35
- package/progress-bar/ProgressBar.d.ts +2 -2
- package/progress-bar/ProgressBar.js +5 -5
- package/progress-bar/ProgressBar.stories.jsx +35 -2
- package/progress-bar/ProgressBar.test.js +1 -1
- package/progress-bar/types.d.ts +4 -3
- package/quick-nav/QuickNav.stories.tsx +14 -0
- package/radio-group/Radio.js +10 -10
- package/radio-group/RadioGroup.js +8 -10
- package/radio-group/RadioGroup.stories.tsx +131 -18
- package/radio-group/RadioGroup.test.js +1 -1
- package/resultsetTable/ResultsetTable.js +2 -2
- package/resultsetTable/ResultsetTable.test.js +18 -23
- package/resultsetTable/types.d.ts +3 -3
- package/select/Listbox.d.ts +1 -1
- package/select/Listbox.js +5 -34
- package/select/Option.js +11 -24
- package/select/Select.js +56 -35
- package/select/Select.stories.tsx +495 -148
- package/select/Select.test.js +80 -85
- package/select/types.d.ts +2 -2
- package/sidenav/Icons.d.ts +7 -0
- package/sidenav/Icons.js +51 -0
- package/sidenav/Sidenav.d.ts +2 -2
- package/sidenav/Sidenav.js +66 -96
- package/sidenav/Sidenav.stories.tsx +165 -63
- package/sidenav/types.d.ts +21 -18
- package/slider/Slider.js +6 -7
- package/slider/Slider.stories.tsx +57 -0
- package/slider/Slider.test.js +1 -1
- package/slider/types.d.ts +2 -2
- package/spinner/Spinner.js +17 -23
- package/spinner/Spinner.stories.jsx +53 -27
- package/spinner/Spinner.test.js +1 -1
- package/switch/Switch.js +3 -3
- package/switch/Switch.stories.tsx +33 -0
- package/switch/Switch.test.js +1 -1
- package/switch/types.d.ts +2 -2
- package/table/Table.js +2 -2
- package/table/Table.stories.jsx +80 -1
- package/table/Table.test.js +1 -1
- package/tabs/Tab.js +12 -15
- package/tabs/Tabs.js +11 -17
- package/tabs/Tabs.stories.tsx +45 -5
- package/tabs/Tabs.test.js +4 -5
- package/tabs/types.d.ts +2 -2
- package/tag/Tag.js +7 -9
- package/tag/Tag.stories.tsx +14 -1
- package/tag/Tag.test.js +1 -1
- package/text-input/Suggestion.js +34 -7
- package/text-input/TextInput.js +71 -91
- package/text-input/TextInput.stories.tsx +93 -5
- package/text-input/TextInput.test.js +125 -26
- package/textarea/Textarea.js +3 -4
- package/textarea/Textarea.stories.jsx +60 -1
- package/textarea/Textarea.test.js +2 -4
- package/toggle-group/ToggleGroup.d.ts +2 -2
- package/toggle-group/ToggleGroup.js +85 -59
- package/toggle-group/ToggleGroup.stories.tsx +48 -3
- package/toggle-group/ToggleGroup.test.js +38 -24
- package/toggle-group/types.d.ts +22 -13
- package/typography/Typography.d.ts +2 -2
- package/typography/Typography.js +14 -113
- package/typography/Typography.stories.tsx +1 -1
- package/useTheme.d.ts +1242 -1
- package/useTheme.js +1 -1
- package/useTranslatedLabels.d.ts +84 -1
- package/utils/BaseTypography.d.ts +21 -0
- package/utils/BaseTypography.js +108 -0
- package/utils/FocusLock.d.ts +13 -0
- package/utils/FocusLock.js +138 -0
- package/wizard/Wizard.js +2 -2
- package/wizard/Wizard.stories.tsx +20 -0
- package/wizard/Wizard.test.js +1 -1
- package/wizard/types.d.ts +5 -6
- package/card/ice-cream.jpg +0 -0
- package/number-input/NumberInputContext.d.ts +0 -4
- package/number-input/NumberInputContext.js +0 -19
- package/number-input/numberInputContextTypes.d.ts +0 -19
- /package/{tabs-nav → grid}/types.js +0 -0
- /package/{number-input/numberInputContextTypes.js → image/types.js} +0 -0
- /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
|
@@ -3,13 +3,14 @@ import DxcFileInput from "./FileInput";
|
|
|
3
3
|
import Title from "../../.storybook/components/Title";
|
|
4
4
|
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
5
5
|
import FileItem from "./FileItem";
|
|
6
|
+
import { HalstackProvider } from "../HalstackContext";
|
|
6
7
|
|
|
7
8
|
export default {
|
|
8
9
|
title: "File input",
|
|
9
10
|
component: DxcFileInput,
|
|
10
11
|
};
|
|
11
12
|
|
|
12
|
-
const picPreview = "https://cdn.mos.cms.futurecdn.net/CAZ6JXi6huSuN4QGE627NR.jpg"
|
|
13
|
+
const picPreview = "https://cdn.mos.cms.futurecdn.net/CAZ6JXi6huSuN4QGE627NR.jpg";
|
|
13
14
|
|
|
14
15
|
const file1 = new File(["file1"], "file.pdf", { type: "text/plain" });
|
|
15
16
|
const file2 = new File(["file2"], "file2.mp3", {
|
|
@@ -63,6 +64,12 @@ const filesExamples = [
|
|
|
63
64
|
},
|
|
64
65
|
];
|
|
65
66
|
|
|
67
|
+
const opinionatedTheme = {
|
|
68
|
+
fileInput: {
|
|
69
|
+
fontColor: "#000000",
|
|
70
|
+
},
|
|
71
|
+
};
|
|
72
|
+
|
|
66
73
|
export const Chromatic = () => (
|
|
67
74
|
<>
|
|
68
75
|
<Title title="File item states" theme="light" level={2} />
|
|
@@ -529,7 +536,83 @@ export const Chromatic = () => (
|
|
|
529
536
|
mode="dropzone"
|
|
530
537
|
margin="xxlarge"
|
|
531
538
|
/>
|
|
532
|
-
|
|
539
|
+
</ExampleContainer>
|
|
540
|
+
<Title title="Opinionated theme" theme="light" level={2} />
|
|
541
|
+
<ExampleContainer>
|
|
542
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
543
|
+
<Title title="Single file" theme="light" level={4} />
|
|
544
|
+
<DxcFileInput
|
|
545
|
+
label="File input"
|
|
546
|
+
helperText="Please select files"
|
|
547
|
+
value={fileExample}
|
|
548
|
+
multiple={false}
|
|
549
|
+
callbackFile={() => {}}
|
|
550
|
+
/>
|
|
551
|
+
</HalstackProvider>
|
|
552
|
+
</ExampleContainer>
|
|
553
|
+
<ExampleContainer>
|
|
554
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
555
|
+
<Title title="Invalid single file" theme="light" level={4} />
|
|
556
|
+
<DxcFileInput
|
|
557
|
+
label="File input"
|
|
558
|
+
helperText="Please select files"
|
|
559
|
+
value={fileExampleError}
|
|
560
|
+
multiple={false}
|
|
561
|
+
callbackFile={() => {}}
|
|
562
|
+
/>
|
|
563
|
+
</HalstackProvider>
|
|
564
|
+
</ExampleContainer>
|
|
565
|
+
<ExampleContainer>
|
|
566
|
+
<Title title="Single file" theme="light" level={4} />
|
|
567
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
568
|
+
<DxcFileInput
|
|
569
|
+
mode="filedrop"
|
|
570
|
+
label="File input"
|
|
571
|
+
helperText="Please select files"
|
|
572
|
+
value={fileExample}
|
|
573
|
+
multiple={false}
|
|
574
|
+
callbackFile={() => {}}
|
|
575
|
+
/>
|
|
576
|
+
</HalstackProvider>
|
|
577
|
+
</ExampleContainer>
|
|
578
|
+
<ExampleContainer>
|
|
579
|
+
<Title title="Invalid single file" theme="light" level={4} />
|
|
580
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
581
|
+
<DxcFileInput
|
|
582
|
+
mode="filedrop"
|
|
583
|
+
label="File input"
|
|
584
|
+
helperText="Please select files"
|
|
585
|
+
value={fileExampleError}
|
|
586
|
+
multiple={false}
|
|
587
|
+
callbackFile={() => {}}
|
|
588
|
+
/>
|
|
589
|
+
</HalstackProvider>
|
|
590
|
+
</ExampleContainer>
|
|
591
|
+
<ExampleContainer>
|
|
592
|
+
<Title title="Single file" theme="light" level={4} />
|
|
593
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
594
|
+
<DxcFileInput
|
|
595
|
+
label="File input"
|
|
596
|
+
helperText="Please select files"
|
|
597
|
+
mode="dropzone"
|
|
598
|
+
value={fileExample}
|
|
599
|
+
callbackFile={() => {}}
|
|
600
|
+
multiple={false}
|
|
601
|
+
/>
|
|
602
|
+
</HalstackProvider>
|
|
603
|
+
</ExampleContainer>
|
|
604
|
+
<ExampleContainer>
|
|
605
|
+
<Title title="Invalid single file" theme="light" level={4} />{" "}
|
|
606
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
607
|
+
<DxcFileInput
|
|
608
|
+
label="File input"
|
|
609
|
+
helperText="Please select files"
|
|
610
|
+
mode="dropzone"
|
|
611
|
+
value={fileExampleError}
|
|
612
|
+
callbackFile={() => {}}
|
|
613
|
+
multiple={false}
|
|
614
|
+
/>
|
|
615
|
+
</HalstackProvider>
|
|
533
616
|
</ExampleContainer>
|
|
534
617
|
</>
|
|
535
618
|
);
|
|
@@ -12,7 +12,7 @@ var _react2 = require("@testing-library/react");
|
|
|
12
12
|
|
|
13
13
|
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
|
14
14
|
|
|
15
|
-
var _FileInput = _interopRequireDefault(require("./FileInput"));
|
|
15
|
+
var _FileInput = _interopRequireDefault(require("./FileInput.tsx"));
|
|
16
16
|
|
|
17
17
|
var file1 = new File(["file1"], "file1.png", {
|
|
18
18
|
type: "image/png"
|
|
@@ -454,45 +454,4 @@ describe("FileInput component tests", function () {
|
|
|
454
454
|
}
|
|
455
455
|
}, _callee6);
|
|
456
456
|
})));
|
|
457
|
-
test("File input sends value when submitted in a form", function () {
|
|
458
|
-
var newFile = new File(["newFile"], "newFile.pdf", {
|
|
459
|
-
type: "pdf"
|
|
460
|
-
});
|
|
461
|
-
var handlerOnSubmit = jest.fn(function (e) {
|
|
462
|
-
e.preventDefault();
|
|
463
|
-
var formData = new FormData(e.target);
|
|
464
|
-
var formProps = Object.fromEntries(formData);
|
|
465
|
-
expect(formProps).toStrictEqual({
|
|
466
|
-
file: newFile
|
|
467
|
-
});
|
|
468
|
-
});
|
|
469
|
-
|
|
470
|
-
var _render17 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement("form", {
|
|
471
|
-
onSubmit: handlerOnSubmit
|
|
472
|
-
}, /*#__PURE__*/_react["default"].createElement(_FileInput["default"], {
|
|
473
|
-
label: "File input label",
|
|
474
|
-
name: "file",
|
|
475
|
-
helperText: "File input helper text",
|
|
476
|
-
mode: "filedrop",
|
|
477
|
-
buttonLabel: "Choose",
|
|
478
|
-
dropAreaLabel: "(or drop the files)"
|
|
479
|
-
}), /*#__PURE__*/_react["default"].createElement("button", {
|
|
480
|
-
type: "submit"
|
|
481
|
-
}, "Submit"))),
|
|
482
|
-
getByText = _render17.getByText,
|
|
483
|
-
getByLabelText = _render17.getByLabelText;
|
|
484
|
-
|
|
485
|
-
var inputFile = getByLabelText("File input label", {
|
|
486
|
-
hidden: true
|
|
487
|
-
});
|
|
488
|
-
var submit = getByText("Submit");
|
|
489
|
-
|
|
490
|
-
_react2.fireEvent.change(inputFile, {
|
|
491
|
-
target: {
|
|
492
|
-
files: [newFile]
|
|
493
|
-
}
|
|
494
|
-
});
|
|
495
|
-
|
|
496
|
-
_userEvent["default"].click(submit);
|
|
497
|
-
});
|
|
498
457
|
});
|
package/file-input/FileItem.js
CHANGED
|
@@ -15,7 +15,7 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
15
15
|
|
|
16
16
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
17
17
|
|
|
18
|
-
var
|
|
18
|
+
var _Flex = _interopRequireDefault(require("../flex/Flex"));
|
|
19
19
|
|
|
20
20
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
21
21
|
|
|
@@ -80,12 +80,13 @@ var FileItem = function FileItem(_ref) {
|
|
|
80
80
|
}) : /*#__PURE__*/_react["default"].createElement(IconPreview, {
|
|
81
81
|
error: error,
|
|
82
82
|
"aria-label": getIconAriaLabel()
|
|
83
|
-
}, preview)), /*#__PURE__*/_react["default"].createElement(FileItemContent, null, /*#__PURE__*/_react["default"].createElement(FileName, null, fileName), /*#__PURE__*/_react["default"].createElement(
|
|
83
|
+
}, preview)), /*#__PURE__*/_react["default"].createElement(FileItemContent, null, /*#__PURE__*/_react["default"].createElement(FileName, null, fileName), /*#__PURE__*/_react["default"].createElement(_Flex["default"], {
|
|
84
84
|
gap: "0.25rem"
|
|
85
85
|
}, error && /*#__PURE__*/_react["default"].createElement(ErrorIcon, null, errorIcon), /*#__PURE__*/_react["default"].createElement(DeleteFileAction, {
|
|
86
86
|
onClick: function onClick() {
|
|
87
87
|
onDelete(fileName);
|
|
88
88
|
},
|
|
89
|
+
type: "button",
|
|
89
90
|
title: translatedLabels.fileInput.deleteFileActionTitle,
|
|
90
91
|
"aria-label": translatedLabels.fileInput.deleteFileActionTitle,
|
|
91
92
|
tabIndex: tabIndex
|
package/file-input/types.d.ts
CHANGED
package/flex/Flex.js
CHANGED
|
@@ -30,7 +30,7 @@ var DxcFlex = function DxcFlex(_ref) {
|
|
|
30
30
|
_ref$wrap = _ref.wrap,
|
|
31
31
|
wrap = _ref$wrap === void 0 ? "nowrap" : _ref$wrap,
|
|
32
32
|
_ref$gap = _ref.gap,
|
|
33
|
-
gap = _ref$gap === void 0 ? "
|
|
33
|
+
gap = _ref$gap === void 0 ? "0rem" : _ref$gap,
|
|
34
34
|
_ref$order = _ref.order,
|
|
35
35
|
order = _ref$order === void 0 ? 0 : _ref$order,
|
|
36
36
|
_ref$grow = _ref.grow,
|
|
@@ -53,6 +53,8 @@ var DxcFlex = function DxcFlex(_ref) {
|
|
|
53
53
|
};
|
|
54
54
|
|
|
55
55
|
var Flex = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n ", "\n"])), function (_ref2) {
|
|
56
|
+
var _props$$gap, _props$$gap$rowGap, _props$$gap$columnGap;
|
|
57
|
+
|
|
56
58
|
var _ref2$justifyContent = _ref2.justifyContent,
|
|
57
59
|
justifyContent = _ref2$justifyContent === void 0 ? "flex-start" : _ref2$justifyContent,
|
|
58
60
|
_ref2$alignItems = _ref2.alignItems,
|
|
@@ -62,7 +64,7 @@ var Flex = _styledComponents["default"].div(_templateObject || (_templateObject
|
|
|
62
64
|
_ref2$alignSelf = _ref2.alignSelf,
|
|
63
65
|
alignSelf = _ref2$alignSelf === void 0 ? "auto" : _ref2$alignSelf,
|
|
64
66
|
props = (0, _objectWithoutProperties2["default"])(_ref2, _excluded2);
|
|
65
|
-
return "\n flex-direction: ".concat(props.$direction, "; \n flex-wrap: ").concat(props.$wrap, "; \n justify-content: ").concat(justifyContent, "; \n align-items: ").concat(alignItems, ";\n align-content: ").concat(alignContent, ";\n align-self: ").concat(alignSelf, ";\n gap: ").concat((0, _typeof2["default"])(props.$gap) === "object" ?
|
|
67
|
+
return "\n flex-direction: ".concat(props.$direction, "; \n flex-wrap: ").concat(props.$wrap, "; \n justify-content: ").concat(justifyContent, "; \n align-items: ").concat(alignItems, ";\n align-content: ").concat(alignContent, ";\n align-self: ").concat(alignSelf, ";\n gap: ").concat(props.$gap != null && typeof props.$gap === "string" ? (_props$$gap = props.$gap) !== null && _props$$gap !== void 0 ? _props$$gap : "" : "", "}\n row-gap: ").concat(props.$gap != null && (0, _typeof2["default"])(props.$gap) === "object" ? (_props$$gap$rowGap = props.$gap.rowGap) !== null && _props$$gap$rowGap !== void 0 ? _props$$gap$rowGap : "" : "", "}\n column-gap: ").concat(props.$gap != null && (0, _typeof2["default"])(props.$gap) === "object" ? (_props$$gap$columnGap = props.$gap.columnGap) !== null && _props$$gap$columnGap !== void 0 ? _props$$gap$columnGap : "" : "", "}\n order: ").concat(props.$order, ";\n flex-grow: ").concat(props.$grow, ";\n flex-shrink: ").concat(props.$shrink, ";\n flex-basis: ").concat(props.$basis, ";\n ");
|
|
66
68
|
});
|
|
67
69
|
|
|
68
70
|
var _default = DxcFlex;
|
package/flex/Flex.stories.tsx
CHANGED
|
@@ -14,36 +14,36 @@ export const Chromatic = () => (
|
|
|
14
14
|
<Container>
|
|
15
15
|
<DxcFlex>
|
|
16
16
|
<Placeholder />
|
|
17
|
-
<Placeholder
|
|
17
|
+
<Placeholder minWidth="50px" />
|
|
18
18
|
<Placeholder />
|
|
19
|
-
<Placeholder
|
|
20
|
-
<Placeholder
|
|
19
|
+
<Placeholder minWidth="50px" />
|
|
20
|
+
<Placeholder minWidth="50px" />
|
|
21
21
|
</DxcFlex>
|
|
22
22
|
</Container>
|
|
23
23
|
<Title title="Direction column, wrap, justify content end, align items center and gap" level={4} />
|
|
24
24
|
<Container>
|
|
25
|
-
<DxcFlex direction="column" wrap="wrap" justifyContent="end" alignItems="center" gap="
|
|
25
|
+
<DxcFlex direction="column" wrap="wrap" justifyContent="end" alignItems="center" gap="1.5rem">
|
|
26
26
|
<Placeholder />
|
|
27
|
-
<Placeholder
|
|
27
|
+
<Placeholder minWidth="100px" />
|
|
28
28
|
<Placeholder />
|
|
29
|
-
<Placeholder
|
|
29
|
+
<Placeholder minWidth="100px" />
|
|
30
30
|
<Placeholder />
|
|
31
31
|
</DxcFlex>
|
|
32
32
|
</Container>
|
|
33
33
|
<Title title="Wrap with align content space between, row and column gaps, and as a span" level={4} />
|
|
34
34
|
<Container height="250px">
|
|
35
|
-
<DxcFlex wrap="wrap" alignContent="space-between" as="span" gap={{ rowGap: "
|
|
35
|
+
<DxcFlex wrap="wrap" alignContent="space-between" as="span" gap={{ rowGap: "0.5rem", columnGap: "1.5rem" }}>
|
|
36
36
|
<Placeholder />
|
|
37
37
|
<Placeholder />
|
|
38
38
|
<Placeholder />
|
|
39
39
|
<Placeholder />
|
|
40
|
-
<Placeholder
|
|
40
|
+
<Placeholder minWidth="100px" />
|
|
41
41
|
<Placeholder />
|
|
42
42
|
<Placeholder />
|
|
43
|
-
<Placeholder
|
|
43
|
+
<Placeholder minWidth="100px" />
|
|
44
44
|
<Placeholder />
|
|
45
45
|
<Placeholder />
|
|
46
|
-
<Placeholder
|
|
46
|
+
<Placeholder minWidth="100px" />
|
|
47
47
|
<Placeholder />
|
|
48
48
|
</DxcFlex>
|
|
49
49
|
</Container>
|
|
@@ -51,16 +51,24 @@ export const Chromatic = () => (
|
|
|
51
51
|
<Container height="75px">
|
|
52
52
|
<DxcFlex basis="100%">
|
|
53
53
|
<DxcFlex order={3} grow={1} alignSelf="flex-end">
|
|
54
|
-
<
|
|
54
|
+
<Placeholder width="100%" minWidth="0">
|
|
55
|
+
order 3, grow 1, align self end
|
|
56
|
+
</Placeholder>
|
|
55
57
|
</DxcFlex>
|
|
56
58
|
<DxcFlex order={-1} grow={4}>
|
|
57
|
-
<
|
|
59
|
+
<Placeholder width="100%" minWidth="0">
|
|
60
|
+
order -1, grow 4
|
|
61
|
+
</Placeholder>
|
|
58
62
|
</DxcFlex>
|
|
59
63
|
<DxcFlex order={5} grow={1}>
|
|
60
|
-
<
|
|
64
|
+
<Placeholder width="100%" minWidth="0">
|
|
65
|
+
order 5, grow 1
|
|
66
|
+
</Placeholder>
|
|
61
67
|
</DxcFlex>
|
|
62
68
|
<DxcFlex order={2} grow={2}>
|
|
63
|
-
<
|
|
69
|
+
<Placeholder width="100%" minWidth="0">
|
|
70
|
+
order 2. grow 2
|
|
71
|
+
</Placeholder>
|
|
64
72
|
</DxcFlex>
|
|
65
73
|
</DxcFlex>
|
|
66
74
|
</Container>
|
|
@@ -68,13 +76,19 @@ export const Chromatic = () => (
|
|
|
68
76
|
<Container>
|
|
69
77
|
<DxcFlex basis="600px">
|
|
70
78
|
<DxcFlex shrink={4} basis="400px">
|
|
71
|
-
<
|
|
79
|
+
<Placeholder width="100%" minWidth="0">
|
|
80
|
+
shrink 4
|
|
81
|
+
</Placeholder>
|
|
72
82
|
</DxcFlex>
|
|
73
83
|
<DxcFlex shrink={2} basis="400px">
|
|
74
|
-
<
|
|
84
|
+
<Placeholder width="100%" minWidth="0">
|
|
85
|
+
shrink 2
|
|
86
|
+
</Placeholder>
|
|
75
87
|
</DxcFlex>
|
|
76
88
|
<DxcFlex shrink={1} basis="400px">
|
|
77
|
-
<
|
|
89
|
+
<Placeholder width="100%" minWidth="0">
|
|
90
|
+
shrink 1
|
|
91
|
+
</Placeholder>
|
|
78
92
|
</DxcFlex>
|
|
79
93
|
</DxcFlex>
|
|
80
94
|
</Container>
|
|
@@ -88,16 +102,11 @@ const Container = styled.div<{ height?: string }>`
|
|
|
88
102
|
${({ height }) => (height ? `height: ${height}` : "max-height: 150px")};
|
|
89
103
|
`;
|
|
90
104
|
|
|
91
|
-
const Placeholder = styled.div<{ width?: string }>`
|
|
105
|
+
const Placeholder = styled.div<{ minWidth?: string; width?: string }>`
|
|
92
106
|
height: 40px;
|
|
93
|
-
min-width: ${({
|
|
94
|
-
|
|
95
|
-
background-color: #e5d5f6;
|
|
96
|
-
`;
|
|
97
|
-
|
|
98
|
-
const PlaceholderGrowAndShrink = styled.div`
|
|
99
|
-
height: 40px;
|
|
100
|
-
width: 100%;
|
|
107
|
+
min-width: ${({ minWidth }) => minWidth ?? "200px"};
|
|
108
|
+
width: ${({ width }) => width};
|
|
101
109
|
border: 1px solid #a46ede;
|
|
110
|
+
border-radius: 0.5rem;
|
|
102
111
|
background-color: #e5d5f6;
|
|
103
112
|
`;
|
package/flex/types.d.ts
CHANGED
|
@@ -1,29 +1,94 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
+
declare type Spaces = "0rem" | "0.125rem" | "0.25rem" | "0.5rem" | "1rem" | "1.5rem" | "2rem" | "3rem" | "4rem" | "5rem";
|
|
2
3
|
declare type Gap = {
|
|
3
|
-
rowGap:
|
|
4
|
-
columnGap
|
|
5
|
-
}
|
|
4
|
+
rowGap: Spaces;
|
|
5
|
+
columnGap?: Spaces;
|
|
6
|
+
} | {
|
|
7
|
+
rowGap?: Spaces;
|
|
8
|
+
columnGap?: Spaces;
|
|
9
|
+
} | Spaces;
|
|
6
10
|
declare type CommonProps = {
|
|
11
|
+
/**
|
|
12
|
+
* Sets the justify-content CSS property.
|
|
13
|
+
*
|
|
14
|
+
* See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/justify-content
|
|
15
|
+
*/
|
|
7
16
|
justifyContent?: "flex-start" | "flex-end" | "start" | "end" | "left" | "right" | "center" | "space-between" | "space-around" | "space-evenly";
|
|
17
|
+
/**
|
|
18
|
+
* Sets the align-items CSS property.
|
|
19
|
+
*
|
|
20
|
+
* See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/align-items
|
|
21
|
+
*/
|
|
8
22
|
alignItems?: "stretch" | "flex-start" | "flex-end" | "start" | "end" | "self-start" | "self-end" | "center" | "baseline";
|
|
23
|
+
/**
|
|
24
|
+
* Sets the align-content CSS property.
|
|
25
|
+
*
|
|
26
|
+
* See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/align-content
|
|
27
|
+
*/
|
|
9
28
|
alignContent?: "normal" | "flex-start" | "flex-end" | "start" | "end" | "center" | "space-between" | "space-around" | "space-evenly" | "stretch";
|
|
29
|
+
/**
|
|
30
|
+
* Sets the align-self CSS property.
|
|
31
|
+
*
|
|
32
|
+
* See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/align-self
|
|
33
|
+
*/
|
|
10
34
|
alignSelf?: "auto" | "flex-start" | "flex-end" | "center" | "baseline" | "stretch";
|
|
11
35
|
};
|
|
12
36
|
declare type Props = CommonProps & {
|
|
37
|
+
/**
|
|
38
|
+
* Sets the flex-direction CSS property.
|
|
39
|
+
*
|
|
40
|
+
* See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/flex-direction
|
|
41
|
+
*/
|
|
13
42
|
direction?: "row" | "row-reverse" | "column" | "column-reverse";
|
|
43
|
+
/**
|
|
44
|
+
* Sets the flex-wrap CSS property.
|
|
45
|
+
*
|
|
46
|
+
* See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/flex-wrap
|
|
47
|
+
*/
|
|
14
48
|
wrap?: "nowrap" | "wrap" | "wrap-reverse";
|
|
15
|
-
|
|
49
|
+
/**
|
|
50
|
+
* Sets the gap CSS property.
|
|
51
|
+
*
|
|
52
|
+
* See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/gap
|
|
53
|
+
*/
|
|
54
|
+
gap?: Gap;
|
|
55
|
+
/**
|
|
56
|
+
* Sets the order CSS property.
|
|
57
|
+
*
|
|
58
|
+
* See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/order
|
|
59
|
+
*/
|
|
16
60
|
order?: number;
|
|
61
|
+
/**
|
|
62
|
+
* Sets the flex-grow CSS property.
|
|
63
|
+
*
|
|
64
|
+
* See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/flex-grow
|
|
65
|
+
*/
|
|
17
66
|
grow?: number;
|
|
67
|
+
/**
|
|
68
|
+
* Sets the flex-shrink CSS property.
|
|
69
|
+
*
|
|
70
|
+
* See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/flex-shrink
|
|
71
|
+
*/
|
|
18
72
|
shrink?: number;
|
|
73
|
+
/**
|
|
74
|
+
* Sets the flex-basis CSS property.
|
|
75
|
+
*
|
|
76
|
+
* See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/flex-basis
|
|
77
|
+
*/
|
|
19
78
|
basis?: string;
|
|
79
|
+
/**
|
|
80
|
+
* Sets a custom HTML tag.
|
|
81
|
+
*/
|
|
20
82
|
as?: keyof HTMLElementTagNameMap;
|
|
83
|
+
/**
|
|
84
|
+
* Custom content inside the flex container.
|
|
85
|
+
*/
|
|
21
86
|
children: React.ReactNode;
|
|
22
87
|
};
|
|
23
88
|
export declare type StyledProps = CommonProps & {
|
|
24
89
|
$direction?: "row" | "row-reverse" | "column" | "column-reverse";
|
|
25
90
|
$wrap?: "nowrap" | "wrap" | "wrap-reverse";
|
|
26
|
-
$gap?:
|
|
91
|
+
$gap?: Spaces | Gap;
|
|
27
92
|
$order?: number;
|
|
28
93
|
$grow?: number;
|
|
29
94
|
$shrink?: number;
|
package/footer/Footer.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import FooterPropsType from "./types";
|
|
3
|
-
declare const DxcFooter: ({ socialLinks, bottomLinks, copyright, children,
|
|
3
|
+
declare const DxcFooter: ({ socialLinks, bottomLinks, copyright, children, margin, tabIndex, }: FooterPropsType) => JSX.Element;
|
|
4
4
|
export default DxcFooter;
|