@dxc-technology/halstack-react 0.0.0-8b133ff → 0.0.0-8b61ced

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.
Files changed (212) hide show
  1. package/HalstackContext.d.ts +4 -2
  2. package/HalstackContext.js +109 -58
  3. package/accordion/Accordion.js +122 -103
  4. package/accordion/Accordion.stories.tsx +2 -3
  5. package/accordion/Accordion.test.js +9 -10
  6. package/accordion/types.d.ts +5 -4
  7. package/accordion-group/AccordionGroup.js +2 -21
  8. package/accordion-group/AccordionGroup.stories.tsx +27 -1
  9. package/accordion-group/AccordionGroup.test.js +20 -45
  10. package/accordion-group/types.d.ts +10 -3
  11. package/alert/Alert.js +5 -2
  12. package/badge/Badge.d.ts +1 -1
  13. package/badge/Badge.js +5 -3
  14. package/badge/types.d.ts +1 -0
  15. package/bleed/Bleed.js +1 -34
  16. package/bleed/Bleed.stories.tsx +94 -95
  17. package/bleed/types.d.ts +1 -1
  18. package/box/Box.js +23 -33
  19. package/box/types.d.ts +1 -0
  20. package/bulleted-list/BulletedList.d.ts +7 -0
  21. package/bulleted-list/BulletedList.js +123 -0
  22. package/bulleted-list/BulletedList.stories.tsx +200 -0
  23. package/bulleted-list/types.d.ts +11 -0
  24. package/{list → bulleted-list}/types.js +0 -0
  25. package/button/Button.js +46 -62
  26. package/button/Button.stories.tsx +9 -0
  27. package/button/types.d.ts +7 -7
  28. package/card/Card.js +34 -36
  29. package/card/types.d.ts +1 -0
  30. package/checkbox/Checkbox.d.ts +2 -2
  31. package/checkbox/Checkbox.js +95 -99
  32. package/checkbox/Checkbox.stories.tsx +79 -59
  33. package/checkbox/Checkbox.test.js +93 -16
  34. package/checkbox/types.d.ts +6 -2
  35. package/chip/types.d.ts +1 -1
  36. package/common/variables.js +237 -97
  37. package/date-input/Calendar.d.ts +4 -0
  38. package/date-input/Calendar.js +258 -0
  39. package/date-input/DateInput.js +81 -223
  40. package/date-input/DateInput.stories.tsx +30 -17
  41. package/date-input/DateInput.test.js +411 -138
  42. package/date-input/DatePicker.d.ts +4 -0
  43. package/date-input/DatePicker.js +160 -0
  44. package/date-input/YearPicker.d.ts +4 -0
  45. package/date-input/YearPicker.js +115 -0
  46. package/date-input/types.d.ts +53 -0
  47. package/dialog/Dialog.js +52 -28
  48. package/dialog/Dialog.stories.tsx +57 -2
  49. package/dialog/Dialog.test.js +34 -4
  50. package/dialog/types.d.ts +3 -2
  51. package/dropdown/Dropdown.d.ts +1 -1
  52. package/dropdown/Dropdown.js +247 -247
  53. package/dropdown/Dropdown.stories.tsx +126 -63
  54. package/dropdown/Dropdown.test.js +504 -108
  55. package/dropdown/DropdownMenu.d.ts +4 -0
  56. package/dropdown/DropdownMenu.js +80 -0
  57. package/dropdown/DropdownMenuItem.d.ts +4 -0
  58. package/dropdown/DropdownMenuItem.js +92 -0
  59. package/dropdown/types.d.ts +25 -5
  60. package/file-input/FileInput.d.ts +2 -2
  61. package/file-input/FileInput.js +183 -222
  62. package/file-input/FileInput.stories.tsx +38 -10
  63. package/file-input/FileInput.test.js +53 -12
  64. package/file-input/FileItem.d.ts +4 -14
  65. package/file-input/FileItem.js +43 -66
  66. package/file-input/types.d.ts +17 -0
  67. package/flex/Flex.d.ts +4 -0
  68. package/flex/Flex.js +69 -0
  69. package/flex/Flex.stories.tsx +103 -0
  70. package/flex/types.d.ts +32 -0
  71. package/{radio → flex}/types.js +0 -0
  72. package/footer/Footer.js +7 -5
  73. package/footer/Footer.stories.tsx +8 -1
  74. package/footer/Icons.js +1 -1
  75. package/footer/types.d.ts +2 -1
  76. package/header/Header.js +80 -75
  77. package/header/Header.stories.tsx +4 -4
  78. package/header/Icons.js +2 -2
  79. package/header/types.d.ts +3 -2
  80. package/inset/Inset.js +1 -34
  81. package/inset/Inset.stories.tsx +36 -36
  82. package/inset/types.d.ts +1 -1
  83. package/layout/ApplicationLayout.d.ts +16 -6
  84. package/layout/ApplicationLayout.js +70 -117
  85. package/layout/ApplicationLayout.stories.tsx +84 -93
  86. package/layout/Icons.d.ts +5 -0
  87. package/layout/Icons.js +13 -2
  88. package/layout/SidenavContext.d.ts +5 -0
  89. package/layout/SidenavContext.js +19 -0
  90. package/layout/types.d.ts +18 -33
  91. package/link/Link.d.ts +3 -2
  92. package/link/Link.js +58 -71
  93. package/link/Link.stories.tsx +95 -53
  94. package/link/Link.test.js +7 -15
  95. package/link/types.d.ts +7 -23
  96. package/main.d.ts +7 -10
  97. package/main.js +38 -56
  98. package/number-input/NumberInput.test.js +43 -7
  99. package/number-input/types.d.ts +1 -1
  100. package/package.json +16 -19
  101. package/paginator/Paginator.js +17 -38
  102. package/paginator/Paginator.test.js +43 -1
  103. package/paragraph/Paragraph.d.ts +6 -0
  104. package/paragraph/Paragraph.js +38 -0
  105. package/paragraph/Paragraph.stories.tsx +44 -0
  106. package/password-input/PasswordInput.js +7 -4
  107. package/password-input/PasswordInput.test.js +14 -14
  108. package/password-input/types.d.ts +1 -1
  109. package/progress-bar/ProgressBar.d.ts +2 -2
  110. package/progress-bar/ProgressBar.js +57 -51
  111. package/progress-bar/ProgressBar.stories.jsx +13 -11
  112. package/progress-bar/ProgressBar.test.js +67 -22
  113. package/progress-bar/types.d.ts +3 -4
  114. package/quick-nav/QuickNav.js +75 -22
  115. package/quick-nav/QuickNav.stories.tsx +131 -26
  116. package/quick-nav/types.d.ts +4 -4
  117. package/radio-group/Radio.d.ts +1 -1
  118. package/radio-group/Radio.js +43 -28
  119. package/radio-group/RadioGroup.js +30 -27
  120. package/radio-group/RadioGroup.stories.tsx +1 -0
  121. package/radio-group/RadioGroup.test.js +123 -96
  122. package/radio-group/types.d.ts +2 -2
  123. package/resultsetTable/Icons.d.ts +7 -0
  124. package/resultsetTable/Icons.js +51 -0
  125. package/resultsetTable/ResultsetTable.js +48 -107
  126. package/resultsetTable/ResultsetTable.stories.tsx +50 -25
  127. package/resultsetTable/ResultsetTable.test.js +65 -41
  128. package/resultsetTable/types.d.ts +2 -2
  129. package/select/Listbox.d.ts +1 -1
  130. package/select/Listbox.js +58 -8
  131. package/select/Select.js +80 -90
  132. package/select/Select.stories.tsx +147 -105
  133. package/select/Select.test.js +425 -249
  134. package/select/types.d.ts +2 -5
  135. package/sidenav/Sidenav.d.ts +6 -5
  136. package/sidenav/Sidenav.js +184 -52
  137. package/sidenav/Sidenav.stories.tsx +154 -156
  138. package/sidenav/Sidenav.test.js +25 -37
  139. package/sidenav/types.d.ts +50 -27
  140. package/slider/Slider.d.ts +2 -2
  141. package/slider/Slider.js +120 -95
  142. package/slider/Slider.stories.tsx +7 -1
  143. package/slider/Slider.test.js +121 -21
  144. package/slider/types.d.ts +6 -2
  145. package/spinner/Spinner.js +3 -3
  146. package/switch/Switch.d.ts +2 -2
  147. package/switch/Switch.js +138 -68
  148. package/switch/Switch.stories.tsx +8 -30
  149. package/switch/Switch.test.js +144 -17
  150. package/switch/types.d.ts +6 -2
  151. package/table/Table.js +1 -1
  152. package/table/Table.test.js +1 -1
  153. package/tabs/Tab.d.ts +4 -0
  154. package/tabs/Tab.js +135 -0
  155. package/tabs/Tabs.js +360 -104
  156. package/tabs/Tabs.stories.tsx +74 -7
  157. package/tabs/Tabs.test.js +217 -6
  158. package/tabs/types.d.ts +15 -5
  159. package/tabs-nav/NavTabs.d.ts +8 -0
  160. package/tabs-nav/NavTabs.js +125 -0
  161. package/tabs-nav/NavTabs.stories.tsx +170 -0
  162. package/tabs-nav/NavTabs.test.js +82 -0
  163. package/tabs-nav/Tab.d.ts +4 -0
  164. package/tabs-nav/Tab.js +130 -0
  165. package/tabs-nav/types.d.ts +53 -0
  166. package/{row → tabs-nav}/types.js +0 -0
  167. package/tag/Tag.js +1 -1
  168. package/tag/types.d.ts +1 -1
  169. package/text-input/Icons.d.ts +8 -0
  170. package/text-input/Icons.js +60 -0
  171. package/text-input/Suggestion.d.ts +4 -0
  172. package/text-input/Suggestion.js +84 -0
  173. package/text-input/Suggestions.d.ts +4 -0
  174. package/text-input/Suggestions.js +134 -0
  175. package/text-input/TextInput.js +211 -330
  176. package/text-input/TextInput.stories.tsx +194 -182
  177. package/text-input/TextInput.test.js +738 -726
  178. package/text-input/types.d.ts +33 -2
  179. package/textarea/Textarea.js +10 -19
  180. package/textarea/types.d.ts +1 -1
  181. package/toggle-group/types.d.ts +1 -1
  182. package/typography/Typography.d.ts +4 -0
  183. package/typography/Typography.js +131 -0
  184. package/typography/Typography.stories.tsx +198 -0
  185. package/typography/types.d.ts +18 -0
  186. package/{stack → typography}/types.js +0 -0
  187. package/useTranslatedLabels.d.ts +2 -0
  188. package/useTranslatedLabels.js +20 -0
  189. package/wizard/Wizard.js +36 -41
  190. package/wizard/Wizard.stories.tsx +20 -1
  191. package/wizard/types.d.ts +5 -4
  192. package/common/RequiredComponent.js +0 -32
  193. package/list/List.d.ts +0 -4
  194. package/list/List.js +0 -47
  195. package/list/List.stories.tsx +0 -95
  196. package/list/types.d.ts +0 -7
  197. package/radio/Radio.d.ts +0 -4
  198. package/radio/Radio.js +0 -173
  199. package/radio/Radio.stories.tsx +0 -192
  200. package/radio/Radio.test.js +0 -71
  201. package/radio/types.d.ts +0 -54
  202. package/row/Row.d.ts +0 -3
  203. package/row/Row.js +0 -127
  204. package/row/Row.stories.tsx +0 -237
  205. package/row/types.d.ts +0 -28
  206. package/stack/Stack.d.ts +0 -3
  207. package/stack/Stack.js +0 -97
  208. package/stack/Stack.stories.tsx +0 -164
  209. package/stack/types.d.ts +0 -24
  210. package/text/Text.d.ts +0 -7
  211. package/text/Text.js +0 -30
  212. package/text/Text.stories.tsx +0 -19
@@ -2,14 +2,14 @@ import React from "react";
2
2
  import DxcFileInput from "./FileInput";
3
3
  import Title from "../../.storybook/components/Title";
4
4
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
+ import FileItem from "./FileItem";
5
6
 
6
7
  export default {
7
8
  title: "File input",
8
9
  component: DxcFileInput,
9
10
  };
10
11
 
11
- const picPreview =
12
- "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAABmJLR0QA/wD/AP+gvaeTAAAEDklEQVRogdXaXaxcUxQH8J/etloajVT1I9qgCbdIUB8PXPeKBJHgsV5ExAuVivBUgtSDxgNBVMVHxEeRUhIhkpJ40BYhoTShaQglQtA2VR+ttjMe1j45c6cztzNnzszc+09Ocs/Za+39/++zzt5rr7l0D1diA35P14b0bMJgAE+g2uR6FpP7xq4NZCL2YjlOSNdt6VkVj/eNXYu4VhD9G+c3aL8gtVWS7bjEsfhRCFk2ht2yZPNT8hl3WCUIfoZJY9gdhY+T7QM94NUWFmEfDuHCFuyXJNv9OL2LvNrGO2KGn2rD55nks6ErjAog+8B3YXYbfrPwR/Lt+4d/NLYLMrcW8F+efL/DtBJ5tY17EpEvxEbYLgawJfVxXxObRZhbiF2LWCjfE4Y66OeS1Mc/OLnm+Uw8ggP4oYP+j4hHxUy+VEJfL6e+3hTL8/X4RZ7W/FvCGE1xOdZp7wNvhvny9CULtSo+1QMhZWImPpQL+A03YbouCpkqXn8ZqA+jg1iD41P7NF0QMiAy2N0ipDrFWUa/hU9wXp1N6UIuEktsNug3HfY3gD2pr4rYTxrlZ6UJmY3n0mBZ7JYhhDi3ZP1+i6sb2HQsZBJuEEfUqljjV+Ic5QkhzifZylTF+xisae9IyBIRr1nnb+PU1DaoXCHkk5blXfvxGGYoKGQWnhbpdZb/XFNn0w0hGebgBXm4fY/rtClkOn6Wz8j96Vk9uikkw5DRm2JLQrKV4hB2pr+niJznuPI5toRN4rx/u1jZiLfUMqZiBf4Ss7Bb7Bu1WW0v3kgt5mA17i7iPB8vymN1Cy5Obb0W0jFm4Fd5jFbEfjJsggl5UBDeiLvk4bZP/4RcJj76W1p1OE2sXAfFBkgcotYrL0UpghF5BfOkVhzeTQ5rGrRdIXbiVWWxaxNvCG6vHckwq4jsFPXa8YYF8gPYVc2MaisiN/eGVyGsEBy3C86H4d5k8LliFZFeYSq+FlwP218WiJWpIpbY8Y5heeXllNqGdcqriPQKrwrO67MHZwh1ezGvT6SKIKu8VLCYWGareKgPZEZECrS5oP/Dgvtq2Jpuzi6FWmuYh7XyfK5asJ9zk++X5EWARuePsjEZd9SM+afOhBwjz9TtSDeDY3mUgBH526/gFRHnnQhZLD9NejLdvG7sn8yKoj6MtuLSmvaiQibJ8781RNl+V3rwEZaKpGxKQeIZ6sNoD+5s0G87QqYkbksT1yydWpQZDMl/kS16bawb9AN5GK3VfGnvZMwd0qEv+w+ETTgTN4rEcRAninSgVdTP6oE2fFvFf6JIuA1v4XmRkXQVk+UFhGoacKXDJ6eTj72nmGt0DWCbONdkmDBCMgzjK6MrmAtNQCGUvyH2HfXhNmGFZBgRNYD3Ou3ofwlpcfptqgzTAAAAAElFTkSuQmCC";
12
+ const picPreview = "https://cdn.mos.cms.futurecdn.net/CAZ6JXi6huSuN4QGE627NR.jpg"
13
13
 
14
14
  const file1 = new File(["file1"], "file.pdf", { type: "text/plain" });
15
15
  const file2 = new File(["file2"], "file2.mp3", {
@@ -21,7 +21,7 @@ const file3 = new File(["file3"], "file3.png", {
21
21
  const file4 = new File(["file4"], "file4file4file4file4file4file4file4file4file4.mp4", {
22
22
  type: "video",
23
23
  });
24
- const file5 = new File(["file4"], "file5file5file5file5file5file5file5file5file5.mp4", {
24
+ const file5 = new File(["file5"], "file5file5file5file5file5file5file5file5file5.mp4", {
25
25
  type: "video",
26
26
  });
27
27
 
@@ -53,7 +53,7 @@ const filesExamples = [
53
53
  file: file4,
54
54
  },
55
55
  {
56
- error: "Error message error message error message error message",
56
+ error: "This error message is a multiline paragraph for testing.",
57
57
  file: file5,
58
58
  },
59
59
  {
@@ -65,17 +65,45 @@ const filesExamples = [
65
65
 
66
66
  export const Chromatic = () => (
67
67
  <>
68
+ <Title title="File item states" theme="light" level={2} />
68
69
  <ExampleContainer pseudoState="pseudo-hover">
69
- <Title title="File item hovered" theme="light" level={4} />
70
- <DxcFileInput value={fileExample} callbackFile={() => {}} />
70
+ <Title title="Hovered" theme="light" level={4} />
71
+ <FileItem
72
+ fileName="file"
73
+ error=""
74
+ singleFileMode={false}
75
+ showPreview={false}
76
+ preview={picPreview}
77
+ type="image/png"
78
+ onDelete={() => {}}
79
+ tabIndex={0}
80
+ />
71
81
  </ExampleContainer>
72
82
  <ExampleContainer pseudoState="pseudo-focus">
73
- <Title title="File item focused" theme="light" level={4} />
74
- <DxcFileInput value={fileExample} callbackFile={() => {}} />
83
+ <Title title="Focused" theme="light" level={4} />
84
+ <FileItem
85
+ fileName="file"
86
+ error=""
87
+ singleFileMode={false}
88
+ showPreview={false}
89
+ preview={picPreview}
90
+ type="image/png"
91
+ onDelete={() => {}}
92
+ tabIndex={0}
93
+ />
75
94
  </ExampleContainer>
76
95
  <ExampleContainer pseudoState="pseudo-active">
77
- <Title title="File item actived" theme="light" level={4} />
78
- <DxcFileInput value={fileExample} callbackFile={() => {}} />
96
+ <Title title="Actived" theme="light" level={4} />
97
+ <FileItem
98
+ fileName="file"
99
+ error=""
100
+ singleFileMode={false}
101
+ showPreview={false}
102
+ preview={picPreview}
103
+ type="image/png"
104
+ onDelete={() => {}}
105
+ tabIndex={0}
106
+ />
79
107
  </ExampleContainer>
80
108
  <Title title="File" theme="light" level={2} />
81
109
  <ExampleContainer>
@@ -14,19 +14,19 @@ var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
14
14
 
15
15
  var _FileInput = _interopRequireDefault(require("./FileInput"));
16
16
 
17
+ var file1 = new File(["file1"], "file1.png", {
18
+ type: "image/png"
19
+ });
20
+ var file2 = new File(["file2"], "file2.txt", {
21
+ type: "text/plain"
22
+ });
23
+ var allFiles = [{
24
+ file: file1
25
+ }, {
26
+ error: "Error message",
27
+ file: file2
28
+ }];
17
29
  describe("FileInput component tests", function () {
18
- var file1 = new File(["file1"], "file1.png", {
19
- type: "image/png"
20
- });
21
- var file2 = new File(["file2"], "file2.txt", {
22
- type: "text/plain"
23
- });
24
- var allFiles = [{
25
- file: file1
26
- }, {
27
- error: "Error message",
28
- file: file2
29
- }];
30
30
  test("Renders with correct labels and helper text in file mode", function () {
31
31
  var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_FileInput["default"], {
32
32
  label: "File input label",
@@ -454,4 +454,45 @@ 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
+ });
457
498
  });
@@ -1,14 +1,4 @@
1
- /// <reference types="react" />
2
- declare const FileItem: ({ mode, multiple, name, error, showPreview, preview, type, numFiles, onDelete, tabIndex, }: {
3
- mode: any;
4
- multiple: any;
5
- name?: string;
6
- error?: string;
7
- showPreview: any;
8
- preview: any;
9
- type: any;
10
- numFiles: any;
11
- onDelete: any;
12
- tabIndex: any;
13
- }) => JSX.Element;
14
- export default FileItem;
1
+ import React from "react";
2
+ import { FileItemProps } from "./types";
3
+ declare const _default: React.MemoExoticComponent<({ fileName, error, singleFileMode, showPreview, preview, type, onDelete, tabIndex, }: FileItemProps) => JSX.Element>;
4
+ export default _default;
@@ -15,9 +15,13 @@ var _react = _interopRequireDefault(require("react"));
15
15
 
16
16
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
17
17
 
18
+ var _main = require("../main");
19
+
18
20
  var _useTheme = _interopRequireDefault(require("../useTheme"));
19
21
 
20
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10;
22
+ var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
23
+
24
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
21
25
 
22
26
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
27
 
@@ -47,103 +51,75 @@ var errorIcon = /*#__PURE__*/_react["default"].createElement("svg", {
47
51
  }));
48
52
 
49
53
  var FileItem = function FileItem(_ref) {
50
- var mode = _ref.mode,
51
- multiple = _ref.multiple,
52
- _ref$name = _ref.name,
53
- name = _ref$name === void 0 ? "" : _ref$name,
54
+ var _ref$fileName = _ref.fileName,
55
+ fileName = _ref$fileName === void 0 ? "" : _ref$fileName,
54
56
  _ref$error = _ref.error,
55
57
  error = _ref$error === void 0 ? "" : _ref$error,
58
+ singleFileMode = _ref.singleFileMode,
56
59
  showPreview = _ref.showPreview,
57
60
  preview = _ref.preview,
58
61
  type = _ref.type,
59
- numFiles = _ref.numFiles,
60
62
  onDelete = _ref.onDelete,
61
63
  tabIndex = _ref.tabIndex;
62
64
  var colorsTheme = (0, _useTheme["default"])();
63
- var isImage = type.includes("image");
65
+ var translatedLabels = (0, _useTranslatedLabels["default"])();
64
66
 
65
67
  var getIconAriaLabel = function getIconAriaLabel() {
66
- if (type.includes("video")) {
67
- return "video";
68
- }
69
-
70
- if (type.includes("audio")) {
71
- return "audio";
72
- }
73
-
74
- return "file";
68
+ if (type.includes("video")) return "video";else if (type.includes("audio")) return "audio";else return "file";
75
69
  };
76
70
 
77
71
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
78
72
  theme: colorsTheme.fileInput
79
- }, /*#__PURE__*/_react["default"].createElement(Container, {
80
- mode: mode,
81
- multiple: multiple,
73
+ }, /*#__PURE__*/_react["default"].createElement(MainContainer, {
82
74
  error: error,
83
- showPreview: showPreview,
84
- numFiles: numFiles
85
- }, showPreview && (isImage ? /*#__PURE__*/_react["default"].createElement(ImagePreview, {
75
+ singleFileMode: singleFileMode,
76
+ showPreview: showPreview
77
+ }, showPreview && (type.includes("image") ? /*#__PURE__*/_react["default"].createElement(ImagePreview, {
86
78
  src: preview,
87
- alt: name
88
- }) : /*#__PURE__*/_react["default"].createElement(IconPreviewContainer, {
79
+ alt: fileName
80
+ }) : /*#__PURE__*/_react["default"].createElement(IconPreview, {
89
81
  error: error,
90
82
  "aria-label": getIconAriaLabel()
91
- }, /*#__PURE__*/_react["default"].createElement(IconPreview, {
92
- error: error
93
- }, preview))), /*#__PURE__*/_react["default"].createElement(FileItemContent, null, /*#__PURE__*/_react["default"].createElement(FileItemContainer, null, /*#__PURE__*/_react["default"].createElement(FileName, {
94
- mode: mode,
95
- multiple: multiple,
96
- error: error,
97
- showPreview: showPreview,
98
- numFiles: numFiles
99
- }, name), error && /*#__PURE__*/_react["default"].createElement(ErrorIcon, {
100
- "aria-label": "Error"
101
- }, errorIcon), /*#__PURE__*/_react["default"].createElement(DeleteIcon, {
102
- error: error,
83
+ }, preview)), /*#__PURE__*/_react["default"].createElement(FileItemContent, null, /*#__PURE__*/_react["default"].createElement(FileName, null, fileName), /*#__PURE__*/_react["default"].createElement(_main.DxcFlex, {
84
+ gap: "0.25rem"
85
+ }, error && /*#__PURE__*/_react["default"].createElement(ErrorIcon, null, errorIcon), /*#__PURE__*/_react["default"].createElement(DeleteFileAction, {
103
86
  onClick: function onClick() {
104
- return onDelete(name);
87
+ onDelete(fileName);
105
88
  },
106
- "aria-label": "Remove ".concat(name),
89
+ title: translatedLabels.fileInput.deleteFileActionTitle,
90
+ "aria-label": translatedLabels.fileInput.deleteFileActionTitle,
107
91
  tabIndex: tabIndex
108
- }, deleteIcon)), error && (multiple || numFiles > 1) && /*#__PURE__*/_react["default"].createElement(ErrorMessage, null, error))));
92
+ }, deleteIcon)), error && !singleFileMode && /*#__PURE__*/_react["default"].createElement(ErrorMessage, null, error))));
109
93
  };
110
94
 
111
- var Container = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n padding: ", ";\n background-color: ", ";\n border-radius: ", ";\n width: ", ";\n min-height: ", ";\n border-color: ", ";\n border-width: ", ";\n border-style: ", ";\n display: flex;\n justify-content: center;\n"])), function (props) {
112
- return props.showPreview ? "calc(8px - ".concat(props.theme.fileItemBorderThickness, ") 8px") : "calc(8px - ".concat(props.theme.fileItemBorderThickness, ") 8px calc(8px - ").concat(props.theme.fileItemBorderThickness, ") 16px");
113
- }, function (props) {
114
- return props.error && props.theme.errorFileItemBackgroundColor;
115
- }, function (props) {
116
- return props.theme.fileItemBorderRadius;
95
+ var MainContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n justify-content: center;\n gap: 0.75rem;\n width: ", ";\n padding: ", ";\n ", ";\n border-color: ", ";\n border-width: ", ";\n border-style: ", ";\n border-radius: ", ";\n"])), function (props) {
96
+ return props.singleFileMode ? "230px" : "320px";
117
97
  }, function (props) {
118
- return props.mode === "file" && !props.multiple && props.numFiles === 1 ? "calc(230px - 26px)" : !props.showPreview ? "calc(320px - 26px)" : props.showPreview && "calc(320px - 18px)";
98
+ return props.showPreview ? "calc(8px - ".concat(props.theme.fileItemBorderThickness, ")") : "calc(8px - ".concat(props.theme.fileItemBorderThickness, ") calc(8px - ").concat(props.theme.fileItemBorderThickness, ") calc(8px - ").concat(props.theme.fileItemBorderThickness, ") 16px");
119
99
  }, function (props) {
120
- return props.mode === "file" && !props.multiple && props.numFiles === 1 || !props.showPreview && !props.error ? "calc(40px - 18px)" : !props.showPreview && props.error ? "calc(59px - 18px)" : "calc(64px - 18px)";
100
+ return props.error ? "background-color: ".concat(props.theme.errorFileItemBackgroundColor, ";") : "";
121
101
  }, function (props) {
122
102
  return props.error ? props.theme.errorFileItemBorderColor : props.theme.fileItemBorderColor;
123
103
  }, function (props) {
124
104
  return props.theme.fileItemBorderThickness;
125
105
  }, function (props) {
126
106
  return props.theme.fileItemBorderStyle;
107
+ }, function (props) {
108
+ return props.theme.fileItemBorderRadius;
127
109
  });
128
110
 
129
- var FileItemContent = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n"])));
130
-
131
- var FileItemContainer = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n align-items: center;\n"])));
132
-
133
- var ImagePreview = _styledComponents["default"].img(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n width: 48px;\n height: 48px;\n object-fit: contain;\n margin-right: 12px;\n border-radius: 2px;\n"])));
111
+ var ImagePreview = _styledComponents["default"].img(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n width: 48px;\n height: 48px;\n border-radius: 2px;\n object-fit: contain;\n"])));
134
112
 
135
- var IconPreviewContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n margin-right: 12px;\n background-color: ", ";\n width: 48px;\n height: 48px;\n border-radius: 2px;\n color: ", ";\n"])), function (props) {
136
- return props.error ? props.theme.errorFileItemIconBackgroundColor : props.theme.fileItemIconBackgroundColor;
113
+ var IconPreview = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: ", ";\n width: 48px;\n height: 48px;\n padding: 15px;\n border-radius: 2px;\n color: ", ";\n\n svg {\n height: 18px;\n width: 18px;\n }\n"])), function (props) {
114
+ return props.error ? props.theme.errorFilePreviewBackgroundColor : props.theme.filePreviewBackgroundColor;
137
115
  }, function (props) {
138
- return props.error ? props.theme.errorFileItemIconColor : props.theme.fileItemIconColor;
116
+ return props.error ? props.theme.errorFilePreviewIconColor : props.theme.filePreviewIconColor;
139
117
  });
140
118
 
141
- var IconPreview = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])([""])));
119
+ var FileItemContent = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n flex-grow: 1;\n display: grid;\n grid-template-columns: auto min-content;\n grid-template-rows: min-content auto;\n column-gap: 0.25rem;\n"])));
142
120
 
143
- var FileName = _styledComponents["default"].span(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n width: ", ";\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n line-height: ", ";\n"])), function (props) {
121
+ var FileName = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n align-self: center;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n line-height: ", ";\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n"])), function (props) {
144
122
  return props.theme.fileNameFontColor;
145
- }, function (props) {
146
- return props.mode === "file" && !props.multiple && props.error && props.numFiles === 1 ? "calc(230px - 76px)" : props.mode === "file" && !props.multiple && !props.error && props.numFiles === 1 ? "calc(230px - 50px)" : !props.showPreview && !props.error ? "calc(320px - 52px)" : !props.showPreview && props.error ? "calc(320px - 76px)" : props.showPreview && props.error ? "calc(320px - 128px)" : props.showPreview && !props.error && "calc(320px - 102px)";
147
123
  }, function (props) {
148
124
  return props.theme.fileItemFontFamily;
149
125
  }, function (props) {
@@ -154,21 +130,21 @@ var FileName = _styledComponents["default"].span(_templateObject7 || (_templateO
154
130
  return props.theme.fileItemLineHeight;
155
131
  });
156
132
 
157
- var ErrorIcon = _styledComponents["default"].span(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n padding: 3px;\n height: 18px;\n width: 18px;\n color: #d0011b;\n"])));
133
+ var ErrorIcon = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n padding: 3px;\n height: 18px;\n width: 18px;\n color: #d0011b;\n"])));
158
134
 
159
- var DeleteIcon = _styledComponents["default"].button(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 24px;\n width: 24px;\n font-size: 1rem;\n font-family: ", ";\n border: 1px solid transparent;\n border-radius: 2px;\n margin-left: 4px;\n background-color: transparent;\n box-shadow: 0 0 0 2px transparent;\n padding: 3px;\n cursor: pointer;\n svg {\n line-height: 18px;\n }\n &:hover {\n background-color: ", ";\n }\n &:focus {\n outline: none;\n box-shadow: 0 0 0 2px ", ";\n }\n &:focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px ", ";\n }\n &:active {\n background-color: ", ";\n }\n"])), function (props) {
135
+ var DeleteFileAction = _styledComponents["default"].button(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 24px;\n width: 24px;\n font-size: 1rem;\n font-family: ", ";\n border: 1px solid transparent;\n border-radius: 2px;\n background-color: transparent;\n box-shadow: 0 0 0 2px transparent;\n padding: 3px;\n cursor: pointer;\n color: ", ";\n\n svg {\n line-height: 18px;\n }\n &:hover {\n background-color: ", ";\n }\n &:focus,\n &:focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px ", ";\n }\n &:active {\n background-color: ", ";\n }\n"])), function (props) {
160
136
  return props.theme.fontFamily;
161
137
  }, function (props) {
162
- return props.theme.hoverDeleteFileItemBackgroundColor;
138
+ return props.theme.deleteFileItemColor;
163
139
  }, function (props) {
164
- return props.theme.focusActionBorderColor;
140
+ return props.theme.hoverDeleteFileItemBackgroundColor;
165
141
  }, function (props) {
166
- return props.theme.focusActionBorderColor;
142
+ return props.theme.focusDeleteFileItemBorderColor;
167
143
  }, function (props) {
168
144
  return props.theme.activeDeleteFileItemBackgroundColor;
169
145
  });
170
146
 
171
- var ErrorMessage = _styledComponents["default"].span(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n line-height: ", ";\n"])), function (props) {
147
+ var ErrorMessage = _styledComponents["default"].span(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n line-height: ", ";\n"])), function (props) {
172
148
  return props.theme.errorMessageFontColor;
173
149
  }, function (props) {
174
150
  return props.theme.errorMessageFontFamily;
@@ -180,5 +156,6 @@ var ErrorMessage = _styledComponents["default"].span(_templateObject10 || (_temp
180
156
  return props.theme.errorMessageLineHeight;
181
157
  });
182
158
 
183
- var _default = FileItem;
159
+ var _default = /*#__PURE__*/_react["default"].memo(FileItem);
160
+
184
161
  exports["default"] = _default;
@@ -108,5 +108,22 @@ declare type FileModeProps = CommonProps & {
108
108
  */
109
109
  dropAreaLabel?: never;
110
110
  };
111
+ /**
112
+ * Reference to the component.
113
+ */
114
+ export declare type RefType = HTMLDivElement;
111
115
  declare type Props = DropModeProps | FileModeProps;
116
+ /**
117
+ * Single file item preview.
118
+ */
119
+ export declare type FileItemProps = {
120
+ fileName?: string;
121
+ error?: string;
122
+ showPreview: boolean;
123
+ singleFileMode: boolean;
124
+ preview: string;
125
+ type: string;
126
+ onDelete: (fileName: string) => void;
127
+ tabIndex: number;
128
+ };
112
129
  export default Props;
package/flex/Flex.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import FlexPropsType from "./types";
3
+ declare const DxcFlex: ({ direction, wrap, gap, order, grow, shrink, basis, children, ...props }: FlexPropsType) => JSX.Element;
4
+ export default DxcFlex;
package/flex/Flex.js ADDED
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
11
+
12
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
+
14
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
15
+
16
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
17
+
18
+ var _react = _interopRequireDefault(require("react"));
19
+
20
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
21
+
22
+ var _templateObject;
23
+
24
+ var _excluded = ["direction", "wrap", "gap", "order", "grow", "shrink", "basis", "children"],
25
+ _excluded2 = ["justifyContent", "alignItems", "alignContent", "alignSelf"];
26
+
27
+ var DxcFlex = function DxcFlex(_ref) {
28
+ var _ref$direction = _ref.direction,
29
+ direction = _ref$direction === void 0 ? "row" : _ref$direction,
30
+ _ref$wrap = _ref.wrap,
31
+ wrap = _ref$wrap === void 0 ? "nowrap" : _ref$wrap,
32
+ _ref$gap = _ref.gap,
33
+ gap = _ref$gap === void 0 ? "0" : _ref$gap,
34
+ _ref$order = _ref.order,
35
+ order = _ref$order === void 0 ? 0 : _ref$order,
36
+ _ref$grow = _ref.grow,
37
+ grow = _ref$grow === void 0 ? 0 : _ref$grow,
38
+ _ref$shrink = _ref.shrink,
39
+ shrink = _ref$shrink === void 0 ? 1 : _ref$shrink,
40
+ _ref$basis = _ref.basis,
41
+ basis = _ref$basis === void 0 ? "auto" : _ref$basis,
42
+ children = _ref.children,
43
+ props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
44
+ return /*#__PURE__*/_react["default"].createElement(Flex, (0, _extends2["default"])({
45
+ $direction: direction,
46
+ $wrap: wrap,
47
+ $order: order,
48
+ $grow: grow,
49
+ $shrink: shrink,
50
+ $basis: basis,
51
+ $gap: gap
52
+ }, props), children);
53
+ };
54
+
55
+ var Flex = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n ", "\n"])), function (_ref2) {
56
+ var _ref2$justifyContent = _ref2.justifyContent,
57
+ justifyContent = _ref2$justifyContent === void 0 ? "flex-start" : _ref2$justifyContent,
58
+ _ref2$alignItems = _ref2.alignItems,
59
+ alignItems = _ref2$alignItems === void 0 ? "stretch" : _ref2$alignItems,
60
+ _ref2$alignContent = _ref2.alignContent,
61
+ alignContent = _ref2$alignContent === void 0 ? "normal" : _ref2$alignContent,
62
+ _ref2$alignSelf = _ref2.alignSelf,
63
+ alignSelf = _ref2$alignSelf === void 0 ? "auto" : _ref2$alignSelf,
64
+ 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" ? "".concat(props.$gap.rowGap, " ").concat(props.$gap.columnGap) : props.$gap, ";\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
+ });
67
+
68
+ var _default = DxcFlex;
69
+ exports["default"] = _default;
@@ -0,0 +1,103 @@
1
+ import React from "react";
2
+ import Title from "../../.storybook/components/Title";
3
+ import styled from "styled-components";
4
+ import DxcFlex from "./Flex";
5
+
6
+ export default {
7
+ title: "Flex",
8
+ component: DxcFlex,
9
+ };
10
+
11
+ export const Chromatic = () => (
12
+ <>
13
+ <Title title="Default" level={4} />
14
+ <Container>
15
+ <DxcFlex>
16
+ <Placeholder />
17
+ <Placeholder width="50px" />
18
+ <Placeholder />
19
+ <Placeholder width="50px" />
20
+ <Placeholder width="50px" />
21
+ </DxcFlex>
22
+ </Container>
23
+ <Title title="Direction column, wrap, justify content end, align items center and gap" level={4} />
24
+ <Container>
25
+ <DxcFlex direction="column" wrap="wrap" justifyContent="end" alignItems="center" gap="20px">
26
+ <Placeholder />
27
+ <Placeholder width="100px" />
28
+ <Placeholder />
29
+ <Placeholder width="100px" />
30
+ <Placeholder />
31
+ </DxcFlex>
32
+ </Container>
33
+ <Title title="Wrap with align content space between, row and column gaps, and as a span" level={4} />
34
+ <Container height="250px">
35
+ <DxcFlex wrap="wrap" alignContent="space-between" as="span" gap={{ rowGap: "10px", columnGap: "20px" }}>
36
+ <Placeholder />
37
+ <Placeholder />
38
+ <Placeholder />
39
+ <Placeholder />
40
+ <Placeholder width="100px" />
41
+ <Placeholder />
42
+ <Placeholder />
43
+ <Placeholder width="100px" />
44
+ <Placeholder />
45
+ <Placeholder />
46
+ <Placeholder width="100px" />
47
+ <Placeholder />
48
+ </DxcFlex>
49
+ </Container>
50
+ <Title title="Basis 100%, order, grow and align self" level={4} />
51
+ <Container height="75px">
52
+ <DxcFlex basis="100%">
53
+ <DxcFlex order={3} grow={1} alignSelf="flex-end">
54
+ <PlaceholderGrowAndShrink>order 3, grow 1, align self end</PlaceholderGrowAndShrink>
55
+ </DxcFlex>
56
+ <DxcFlex order={-1} grow={4}>
57
+ <PlaceholderGrowAndShrink>order -1, grow 4</PlaceholderGrowAndShrink>
58
+ </DxcFlex>
59
+ <DxcFlex order={5} grow={1}>
60
+ <PlaceholderGrowAndShrink>order 5, grow 1</PlaceholderGrowAndShrink>
61
+ </DxcFlex>
62
+ <DxcFlex order={2} grow={2}>
63
+ <PlaceholderGrowAndShrink>order 2. grow 2</PlaceholderGrowAndShrink>
64
+ </DxcFlex>
65
+ </DxcFlex>
66
+ </Container>
67
+ <Title title="Basis and shrink" level={4} />
68
+ <Container>
69
+ <DxcFlex basis="600px">
70
+ <DxcFlex shrink={4} basis="400px">
71
+ <PlaceholderGrowAndShrink>shrink 4</PlaceholderGrowAndShrink>
72
+ </DxcFlex>
73
+ <DxcFlex shrink={2} basis="400px">
74
+ <PlaceholderGrowAndShrink>shrink 2</PlaceholderGrowAndShrink>
75
+ </DxcFlex>
76
+ <DxcFlex shrink={1} basis="400px">
77
+ <PlaceholderGrowAndShrink>shrink 1</PlaceholderGrowAndShrink>
78
+ </DxcFlex>
79
+ </DxcFlex>
80
+ </Container>
81
+ </>
82
+ );
83
+
84
+ const Container = styled.div<{ height?: string }>`
85
+ display: flex;
86
+ background: #f2eafa;
87
+ margin: 2.5rem;
88
+ ${({ height }) => (height ? `height: ${height}` : "max-height: 150px")};
89
+ `;
90
+
91
+ const Placeholder = styled.div<{ width?: string }>`
92
+ height: 40px;
93
+ min-width: ${({ width }) => width || "200px"};
94
+ border: 1px solid #a46ede;
95
+ background-color: #e5d5f6;
96
+ `;
97
+
98
+ const PlaceholderGrowAndShrink = styled.div`
99
+ height: 40px;
100
+ width: 100%;
101
+ border: 1px solid #a46ede;
102
+ background-color: #e5d5f6;
103
+ `;
@@ -0,0 +1,32 @@
1
+ /// <reference types="react" />
2
+ declare type Gap = {
3
+ rowGap: string;
4
+ columnGap: string;
5
+ };
6
+ declare type CommonProps = {
7
+ justifyContent?: "flex-start" | "flex-end" | "start" | "end" | "left" | "right" | "center" | "space-between" | "space-around" | "space-evenly";
8
+ alignItems?: "stretch" | "flex-start" | "flex-end" | "start" | "end" | "self-start" | "self-end" | "center" | "baseline";
9
+ alignContent?: "normal" | "flex-start" | "flex-end" | "start" | "end" | "center" | "space-between" | "space-around" | "space-evenly" | "stretch";
10
+ alignSelf?: "auto" | "flex-start" | "flex-end" | "center" | "baseline" | "stretch";
11
+ };
12
+ declare type Props = CommonProps & {
13
+ direction?: "row" | "row-reverse" | "column" | "column-reverse";
14
+ wrap?: "nowrap" | "wrap" | "wrap-reverse";
15
+ gap?: string | Gap;
16
+ order?: number;
17
+ grow?: number;
18
+ shrink?: number;
19
+ basis?: string;
20
+ as?: keyof HTMLElementTagNameMap;
21
+ children: React.ReactNode;
22
+ };
23
+ export declare type StyledProps = CommonProps & {
24
+ $direction?: "row" | "row-reverse" | "column" | "column-reverse";
25
+ $wrap?: "nowrap" | "wrap" | "wrap-reverse";
26
+ $gap?: string | Gap;
27
+ $order?: number;
28
+ $grow?: number;
29
+ $shrink?: number;
30
+ $basis?: string;
31
+ };
32
+ export default Props;
File without changes