@dxc-technology/halstack-react 0.0.0-bd47c58 → 0.0.0-bdaadec

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 (329) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +4 -21
  3. package/HalstackContext.d.ts +43 -138
  4. package/HalstackContext.js +10 -35
  5. package/accordion/Accordion.accessibility.test.js +71 -0
  6. package/accordion/Accordion.js +31 -84
  7. package/accordion/Accordion.stories.tsx +5 -51
  8. package/accordion/Accordion.test.js +18 -33
  9. package/accordion/types.d.ts +6 -6
  10. package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
  11. package/accordion-group/AccordionGroup.d.ts +2 -3
  12. package/accordion-group/AccordionGroup.js +17 -44
  13. package/accordion-group/AccordionGroup.stories.tsx +1 -1
  14. package/accordion-group/AccordionGroup.test.js +42 -60
  15. package/accordion-group/AccordionGroupAccordion.js +11 -23
  16. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  17. package/accordion-group/AccordionGroupContext.js +8 -0
  18. package/accordion-group/types.d.ts +7 -7
  19. package/action-icon/ActionIcon.accessibility.test.js +63 -0
  20. package/action-icon/ActionIcon.d.ts +4 -0
  21. package/action-icon/ActionIcon.js +48 -0
  22. package/action-icon/ActionIcon.stories.tsx +41 -0
  23. package/action-icon/ActionIcon.test.js +64 -0
  24. package/action-icon/types.d.ts +26 -0
  25. package/alert/Alert.accessibility.test.js +95 -0
  26. package/alert/Alert.js +29 -118
  27. package/alert/Alert.test.js +28 -45
  28. package/alert/types.d.ts +5 -5
  29. package/badge/Badge.accessibility.test.js +129 -0
  30. package/badge/Badge.d.ts +1 -1
  31. package/badge/Badge.js +141 -43
  32. package/badge/Badge.stories.tsx +210 -0
  33. package/badge/Badge.test.js +30 -0
  34. package/badge/types.d.ts +52 -3
  35. package/bleed/Bleed.js +13 -21
  36. package/bleed/types.d.ts +2 -2
  37. package/box/Box.accessibility.test.js +33 -0
  38. package/box/Box.js +11 -33
  39. package/box/Box.test.js +1 -6
  40. package/box/types.d.ts +3 -3
  41. package/bulleted-list/BulletedList.accessibility.test.js +107 -0
  42. package/bulleted-list/BulletedList.js +22 -55
  43. package/bulleted-list/BulletedList.stories.tsx +2 -93
  44. package/bulleted-list/types.d.ts +5 -5
  45. package/button/Button.accessibility.test.js +127 -0
  46. package/button/Button.js +36 -59
  47. package/button/Button.stories.tsx +33 -133
  48. package/button/Button.test.js +13 -21
  49. package/button/types.d.ts +5 -5
  50. package/card/Card.accessibility.test.js +36 -0
  51. package/card/Card.js +21 -44
  52. package/card/Card.test.js +10 -21
  53. package/card/types.d.ts +5 -5
  54. package/checkbox/Checkbox.accessibility.test.js +87 -0
  55. package/checkbox/Checkbox.js +85 -120
  56. package/checkbox/Checkbox.stories.tsx +16 -54
  57. package/checkbox/Checkbox.test.js +107 -63
  58. package/checkbox/types.d.ts +8 -4
  59. package/chip/Chip.accessibility.test.js +67 -0
  60. package/chip/Chip.js +20 -36
  61. package/chip/Chip.stories.tsx +5 -24
  62. package/chip/Chip.test.js +17 -30
  63. package/chip/types.d.ts +4 -4
  64. package/common/coreTokens.d.ts +105 -14
  65. package/common/coreTokens.js +40 -23
  66. package/common/utils.js +2 -8
  67. package/common/variables.d.ts +44 -139
  68. package/common/variables.js +55 -157
  69. package/container/Container.d.ts +4 -0
  70. package/container/Container.js +194 -0
  71. package/container/Container.stories.tsx +214 -0
  72. package/container/types.d.ts +74 -0
  73. package/container/types.js +5 -0
  74. package/contextual-menu/ContextualMenu.accessibility.test.js +86 -0
  75. package/contextual-menu/ContextualMenu.d.ts +7 -0
  76. package/contextual-menu/ContextualMenu.js +71 -0
  77. package/contextual-menu/ContextualMenu.stories.tsx +182 -0
  78. package/contextual-menu/ContextualMenu.test.js +71 -0
  79. package/contextual-menu/MenuItemAction.d.ts +4 -0
  80. package/contextual-menu/MenuItemAction.js +46 -0
  81. package/contextual-menu/types.d.ts +22 -0
  82. package/contextual-menu/types.js +5 -0
  83. package/date-input/Calendar.js +13 -57
  84. package/date-input/DateInput.accessibility.test.js +216 -0
  85. package/date-input/DateInput.js +50 -96
  86. package/date-input/DateInput.stories.tsx +11 -30
  87. package/date-input/DateInput.test.js +674 -701
  88. package/date-input/DatePicker.js +11 -42
  89. package/date-input/Icons.d.ts +6 -6
  90. package/date-input/Icons.js +6 -23
  91. package/date-input/YearPicker.js +8 -34
  92. package/date-input/types.d.ts +28 -22
  93. package/dialog/Dialog.accessibility.test.js +69 -0
  94. package/dialog/Dialog.js +13 -40
  95. package/dialog/Dialog.stories.tsx +170 -0
  96. package/dialog/Dialog.test.js +126 -188
  97. package/dialog/types.d.ts +18 -13
  98. package/divider/Divider.accessibility.test.js +33 -0
  99. package/divider/Divider.d.ts +4 -0
  100. package/divider/Divider.js +36 -0
  101. package/divider/Divider.stories.tsx +223 -0
  102. package/divider/Divider.test.js +38 -0
  103. package/divider/types.d.ts +21 -0
  104. package/divider/types.js +5 -0
  105. package/dropdown/Dropdown.accessibility.test.js +180 -0
  106. package/dropdown/Dropdown.js +59 -128
  107. package/dropdown/Dropdown.stories.tsx +5 -16
  108. package/dropdown/Dropdown.test.js +391 -378
  109. package/dropdown/DropdownMenu.js +8 -19
  110. package/dropdown/DropdownMenuItem.js +11 -20
  111. package/dropdown/types.d.ts +20 -24
  112. package/file-input/FileInput.accessibility.test.js +160 -0
  113. package/file-input/FileInput.js +180 -284
  114. package/file-input/FileInput.stories.tsx +1 -1
  115. package/file-input/FileInput.test.js +279 -354
  116. package/file-input/FileItem.js +25 -66
  117. package/file-input/types.d.ts +9 -9
  118. package/flex/Flex.js +25 -39
  119. package/flex/types.d.ts +6 -6
  120. package/footer/Footer.accessibility.test.js +117 -0
  121. package/footer/Footer.d.ts +1 -1
  122. package/footer/Footer.js +43 -68
  123. package/footer/Footer.stories.tsx +54 -9
  124. package/footer/Footer.test.js +18 -32
  125. package/footer/Icons.d.ts +3 -2
  126. package/footer/Icons.js +66 -7
  127. package/footer/types.d.ts +17 -17
  128. package/grid/Grid.js +1 -16
  129. package/grid/types.d.ts +10 -10
  130. package/header/Header.accessibility.test.js +84 -0
  131. package/header/Header.d.ts +1 -1
  132. package/header/Header.js +28 -84
  133. package/header/Header.test.js +12 -25
  134. package/header/Icons.d.ts +2 -2
  135. package/header/Icons.js +2 -7
  136. package/header/types.d.ts +7 -8
  137. package/heading/Heading.accessibility.test.js +33 -0
  138. package/heading/Heading.js +9 -31
  139. package/heading/Heading.test.js +70 -87
  140. package/heading/types.d.ts +7 -7
  141. package/icon/Icon.accessibility.test.js +30 -0
  142. package/icon/Icon.d.ts +4 -0
  143. package/icon/Icon.js +33 -0
  144. package/icon/Icon.stories.tsx +28 -0
  145. package/icon/types.d.ts +4 -0
  146. package/icon/types.js +5 -0
  147. package/image/Image.accessibility.test.js +56 -0
  148. package/image/Image.d.ts +2 -2
  149. package/image/Image.js +17 -32
  150. package/image/Image.stories.tsx +3 -1
  151. package/image/types.d.ts +2 -2
  152. package/inset/Inset.js +13 -21
  153. package/inset/types.d.ts +2 -2
  154. package/layout/ApplicationLayout.d.ts +2 -2
  155. package/layout/ApplicationLayout.js +26 -66
  156. package/layout/ApplicationLayout.stories.tsx +1 -1
  157. package/layout/Icons.d.ts +8 -5
  158. package/layout/Icons.js +49 -59
  159. package/layout/types.d.ts +3 -3
  160. package/link/Link.accessibility.test.js +112 -0
  161. package/link/Link.js +28 -47
  162. package/link/Link.stories.tsx +2 -2
  163. package/link/Link.test.js +23 -41
  164. package/link/types.d.ts +14 -14
  165. package/main.d.ts +7 -4
  166. package/main.js +32 -60
  167. package/nav-tabs/NavTabs.accessibility.test.js +52 -0
  168. package/nav-tabs/NavTabs.d.ts +1 -2
  169. package/nav-tabs/NavTabs.js +19 -48
  170. package/nav-tabs/NavTabs.stories.tsx +7 -5
  171. package/nav-tabs/NavTabs.test.js +38 -44
  172. package/nav-tabs/NavTabsContext.d.ts +3 -0
  173. package/nav-tabs/NavTabsContext.js +8 -0
  174. package/nav-tabs/Tab.js +24 -52
  175. package/nav-tabs/types.d.ts +9 -9
  176. package/number-input/NumberInput.accessibility.test.js +228 -0
  177. package/number-input/NumberInput.d.ts +0 -7
  178. package/number-input/NumberInput.js +47 -39
  179. package/number-input/NumberInput.stories.tsx +42 -26
  180. package/number-input/NumberInput.test.js +839 -575
  181. package/number-input/NumberInputContext.d.ts +3 -0
  182. package/number-input/NumberInputContext.js +8 -0
  183. package/number-input/types.d.ts +17 -5
  184. package/package.json +39 -37
  185. package/paginator/Icons.d.ts +5 -5
  186. package/paginator/Icons.js +5 -19
  187. package/paginator/Paginator.accessibility.test.js +79 -0
  188. package/paginator/Paginator.js +15 -43
  189. package/paginator/Paginator.test.js +224 -207
  190. package/paginator/types.d.ts +3 -3
  191. package/paragraph/Paragraph.accessibility.test.js +28 -0
  192. package/paragraph/Paragraph.js +3 -19
  193. package/paragraph/Paragraph.stories.tsx +0 -17
  194. package/password-input/Icons.d.ts +3 -3
  195. package/password-input/Icons.js +1 -5
  196. package/password-input/PasswordInput.accessibility.test.js +153 -0
  197. package/password-input/PasswordInput.js +26 -48
  198. package/password-input/PasswordInput.stories.tsx +1 -34
  199. package/password-input/PasswordInput.test.js +153 -129
  200. package/password-input/types.d.ts +8 -7
  201. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  202. package/progress-bar/ProgressBar.js +21 -53
  203. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +1 -1
  204. package/progress-bar/ProgressBar.test.js +35 -52
  205. package/progress-bar/types.d.ts +3 -3
  206. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  207. package/quick-nav/QuickNav.js +4 -27
  208. package/quick-nav/QuickNav.stories.tsx +1 -1
  209. package/quick-nav/types.d.ts +10 -10
  210. package/radio-group/Radio.d.ts +1 -1
  211. package/radio-group/Radio.js +22 -54
  212. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  213. package/radio-group/RadioGroup.js +37 -83
  214. package/radio-group/RadioGroup.stories.tsx +10 -10
  215. package/radio-group/RadioGroup.test.js +504 -470
  216. package/radio-group/types.d.ts +8 -8
  217. package/resultset-table/Icons.d.ts +7 -0
  218. package/{resultsetTable → resultset-table}/Icons.js +1 -5
  219. package/resultset-table/ResultsetTable.accessibility.test.js +274 -0
  220. package/resultset-table/ResultsetTable.d.ts +7 -0
  221. package/{resultsetTable → resultset-table}/ResultsetTable.js +44 -69
  222. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +106 -5
  223. package/{resultsetTable → resultset-table}/ResultsetTable.test.js +148 -92
  224. package/{resultsetTable → resultset-table}/types.d.ts +44 -11
  225. package/resultset-table/types.js +5 -0
  226. package/select/Icons.d.ts +7 -7
  227. package/select/Icons.js +1 -5
  228. package/select/Listbox.js +13 -39
  229. package/select/Option.js +17 -27
  230. package/select/Select.accessibility.test.js +217 -0
  231. package/select/Select.js +87 -163
  232. package/select/Select.stories.tsx +3 -4
  233. package/select/Select.test.js +1946 -1804
  234. package/select/types.d.ts +14 -15
  235. package/sidenav/Icons.d.ts +4 -4
  236. package/sidenav/Icons.js +1 -5
  237. package/sidenav/Sidenav.accessibility.test.js +59 -0
  238. package/sidenav/Sidenav.js +29 -70
  239. package/sidenav/Sidenav.stories.tsx +0 -1
  240. package/sidenav/Sidenav.test.js +3 -10
  241. package/{layout → sidenav}/SidenavContext.d.ts +1 -1
  242. package/{layout → sidenav}/SidenavContext.js +3 -9
  243. package/sidenav/types.d.ts +18 -18
  244. package/slider/Slider.accessibility.test.js +104 -0
  245. package/slider/Slider.js +68 -125
  246. package/slider/Slider.test.js +107 -103
  247. package/slider/types.d.ts +4 -4
  248. package/spinner/Spinner.accessibility.test.js +96 -0
  249. package/spinner/Spinner.js +16 -54
  250. package/spinner/Spinner.test.js +25 -34
  251. package/spinner/types.d.ts +3 -3
  252. package/status-light/StatusLight.accessibility.test.js +157 -0
  253. package/status-light/StatusLight.d.ts +4 -0
  254. package/status-light/StatusLight.js +51 -0
  255. package/status-light/StatusLight.stories.tsx +74 -0
  256. package/status-light/StatusLight.test.js +25 -0
  257. package/status-light/types.d.ts +17 -0
  258. package/status-light/types.js +5 -0
  259. package/switch/Switch.accessibility.test.js +89 -0
  260. package/switch/Switch.js +49 -97
  261. package/switch/Switch.stories.tsx +0 -34
  262. package/switch/Switch.test.js +51 -96
  263. package/switch/types.d.ts +4 -4
  264. package/table/DropdownTheme.js +62 -0
  265. package/table/Table.accessibility.test.js +82 -0
  266. package/table/Table.d.ts +6 -2
  267. package/table/Table.js +76 -33
  268. package/table/{Table.stories.jsx → Table.stories.tsx} +297 -2
  269. package/table/Table.test.js +93 -6
  270. package/table/types.d.ts +34 -6
  271. package/tabs/Tab.js +17 -33
  272. package/tabs/Tabs.accessibility.test.js +56 -0
  273. package/tabs/Tabs.js +52 -129
  274. package/tabs/Tabs.stories.tsx +1 -1
  275. package/tabs/Tabs.test.js +62 -118
  276. package/tabs/types.d.ts +19 -19
  277. package/tag/Tag.accessibility.test.js +69 -0
  278. package/tag/Tag.js +21 -51
  279. package/tag/Tag.test.js +19 -30
  280. package/tag/types.d.ts +7 -7
  281. package/text-input/Suggestion.js +9 -26
  282. package/text-input/Suggestions.d.ts +1 -1
  283. package/text-input/Suggestions.js +19 -67
  284. package/text-input/TextInput.accessibility.test.js +321 -0
  285. package/text-input/TextInput.js +197 -287
  286. package/text-input/TextInput.stories.tsx +49 -153
  287. package/text-input/TextInput.test.js +1227 -1194
  288. package/text-input/types.d.ts +25 -17
  289. package/textarea/Textarea.accessibility.test.js +155 -0
  290. package/textarea/Textarea.js +67 -109
  291. package/textarea/{Textarea.stories.jsx → Textarea.stories.tsx} +58 -100
  292. package/textarea/Textarea.test.js +150 -179
  293. package/textarea/types.d.ts +9 -5
  294. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  295. package/toggle-group/ToggleGroup.js +21 -61
  296. package/toggle-group/ToggleGroup.stories.tsx +4 -4
  297. package/toggle-group/ToggleGroup.test.js +48 -81
  298. package/toggle-group/types.d.ts +10 -10
  299. package/typography/Typography.accessibility.test.js +339 -0
  300. package/typography/Typography.js +4 -13
  301. package/typography/types.d.ts +1 -1
  302. package/useTheme.d.ts +41 -136
  303. package/useTheme.js +1 -8
  304. package/useTranslatedLabels.js +1 -7
  305. package/utils/BaseTypography.d.ts +2 -2
  306. package/utils/BaseTypography.js +16 -30
  307. package/utils/FocusLock.js +25 -39
  308. package/wizard/Wizard.accessibility.test.js +55 -0
  309. package/wizard/Wizard.js +14 -49
  310. package/wizard/Wizard.test.js +53 -80
  311. package/wizard/types.d.ts +7 -7
  312. package/common/OpenSans.css +0 -69
  313. package/common/fonts/OpenSans-Bold.ttf +0 -0
  314. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  315. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  316. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  317. package/common/fonts/OpenSans-Italic.ttf +0 -0
  318. package/common/fonts/OpenSans-Light.ttf +0 -0
  319. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  320. package/common/fonts/OpenSans-Regular.ttf +0 -0
  321. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  322. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  323. package/resultsetTable/Icons.d.ts +0 -7
  324. package/resultsetTable/ResultsetTable.d.ts +0 -4
  325. package/slider/Slider.stories.tsx +0 -240
  326. package/text-input/Icons.d.ts +0 -8
  327. package/text-input/Icons.js +0 -60
  328. /package/{resultsetTable → action-icon}/types.js +0 -0
  329. /package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +0 -0
@@ -0,0 +1,216 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
5
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
6
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
7
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _react2 = require("@testing-library/react");
10
+ var _jestAxe = require("jest-axe");
11
+ var _DateInput = _interopRequireDefault(require("./DateInput.tsx"));
12
+ // Mocking DOMRect for Radix Primitive Popover
13
+ global.globalThis = global;
14
+ global.DOMRect = {
15
+ fromRect: function fromRect() {
16
+ return {
17
+ top: 0,
18
+ left: 0,
19
+ bottom: 0,
20
+ right: 0,
21
+ width: 0,
22
+ height: 0
23
+ };
24
+ }
25
+ };
26
+ global.ResizeObserver = /*#__PURE__*/function () {
27
+ function ResizeObserver() {
28
+ (0, _classCallCheck2["default"])(this, ResizeObserver);
29
+ }
30
+ (0, _createClass2["default"])(ResizeObserver, [{
31
+ key: "observe",
32
+ value: function observe() {}
33
+ }, {
34
+ key: "unobserve",
35
+ value: function unobserve() {}
36
+ }, {
37
+ key: "disconnect",
38
+ value: function disconnect() {}
39
+ }]);
40
+ return ResizeObserver;
41
+ }();
42
+ describe("DateInput component accessibility tests", function () {
43
+ it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
44
+ var _render, baseElement, results;
45
+ return _regenerator["default"].wrap(function _callee$(_context) {
46
+ while (1) switch (_context.prev = _context.next) {
47
+ case 0:
48
+ // baseElement is needed when using React Portals
49
+ _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
50
+ label: "Example label",
51
+ helperText: "Help message",
52
+ defaultValue: "06-04-2007",
53
+ format: "dd/mm/yy",
54
+ name: "DateInput Name",
55
+ margin: "medium",
56
+ size: "medium",
57
+ placeholder: true,
58
+ clearable: true
59
+ })), baseElement = _render.baseElement;
60
+ _context.next = 3;
61
+ return (0, _jestAxe.axe)(baseElement);
62
+ case 3:
63
+ results = _context.sent;
64
+ expect(results).toHaveNoViolations();
65
+ case 5:
66
+ case "end":
67
+ return _context.stop();
68
+ }
69
+ }, _callee);
70
+ })));
71
+ it("Should not have basic accessibility issues for autocomplete mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
72
+ var _render2, baseElement, results;
73
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
74
+ while (1) switch (_context2.prev = _context2.next) {
75
+ case 0:
76
+ // baseElement is needed when using React Portals
77
+ _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
78
+ label: "Example label",
79
+ helperText: "Help message",
80
+ defaultValue: "06-04-2007",
81
+ format: "dd/mm/yy",
82
+ name: "DateInput Name",
83
+ margin: "medium",
84
+ size: "medium",
85
+ placeholder: true,
86
+ autocomplete: "on"
87
+ })), baseElement = _render2.baseElement;
88
+ _context2.next = 3;
89
+ return (0, _jestAxe.axe)(baseElement);
90
+ case 3:
91
+ results = _context2.sent;
92
+ expect(results).toHaveNoViolations();
93
+ case 5:
94
+ case "end":
95
+ return _context2.stop();
96
+ }
97
+ }, _callee2);
98
+ })));
99
+ it("Should not have basic accessibility issues for optional mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
100
+ var _render3, baseElement, results;
101
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
102
+ while (1) switch (_context3.prev = _context3.next) {
103
+ case 0:
104
+ // baseElement is needed when using React Portals
105
+ _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
106
+ label: "Example label",
107
+ helperText: "Help message",
108
+ defaultValue: "06-04-2007",
109
+ format: "dd/mm/yy",
110
+ name: "DateInput Name",
111
+ margin: "medium",
112
+ size: "medium",
113
+ placeholder: true,
114
+ optional: true
115
+ })), baseElement = _render3.baseElement;
116
+ _context3.next = 3;
117
+ return (0, _jestAxe.axe)(baseElement);
118
+ case 3:
119
+ results = _context3.sent;
120
+ expect(results).toHaveNoViolations();
121
+ case 5:
122
+ case "end":
123
+ return _context3.stop();
124
+ }
125
+ }, _callee3);
126
+ })));
127
+ it("Should not have basic accessibility issues for error mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
128
+ var _render4, baseElement, results;
129
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
130
+ while (1) switch (_context4.prev = _context4.next) {
131
+ case 0:
132
+ // baseElement is needed when using React Portals
133
+ _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
134
+ label: "Example label",
135
+ helperText: "Help message",
136
+ defaultValue: "06-04-2007",
137
+ format: "dd/mm/yy",
138
+ name: "DateInput Name",
139
+ margin: "medium",
140
+ error: "Error message.",
141
+ size: "medium",
142
+ placeholder: true,
143
+ clearable: true
144
+ })), baseElement = _render4.baseElement;
145
+ _context4.next = 3;
146
+ return (0, _jestAxe.axe)(baseElement);
147
+ case 3:
148
+ results = _context4.sent;
149
+ expect(results).toHaveNoViolations();
150
+ case 5:
151
+ case "end":
152
+ return _context4.stop();
153
+ }
154
+ }, _callee4);
155
+ })));
156
+ it("Should not have basic accessibility issues for read-only mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
157
+ var _render5, baseElement, results;
158
+ return _regenerator["default"].wrap(function _callee5$(_context5) {
159
+ while (1) switch (_context5.prev = _context5.next) {
160
+ case 0:
161
+ // baseElement is needed when using React Portals
162
+ _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
163
+ label: "Example label",
164
+ helperText: "Help message",
165
+ defaultValue: "06-04-2007",
166
+ format: "dd/mm/yy",
167
+ name: "DateInput Name",
168
+ margin: "medium",
169
+ error: "Error message.",
170
+ size: "medium",
171
+ placeholder: true,
172
+ clearable: true,
173
+ readOnly: true
174
+ })), baseElement = _render5.baseElement;
175
+ _context5.next = 3;
176
+ return (0, _jestAxe.axe)(baseElement);
177
+ case 3:
178
+ results = _context5.sent;
179
+ expect(results).toHaveNoViolations();
180
+ case 5:
181
+ case "end":
182
+ return _context5.stop();
183
+ }
184
+ }, _callee5);
185
+ })));
186
+ it("Should not have basic accessibility issues for disabled mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
187
+ var _render6, baseElement, results;
188
+ return _regenerator["default"].wrap(function _callee6$(_context6) {
189
+ while (1) switch (_context6.prev = _context6.next) {
190
+ case 0:
191
+ // baseElement is needed when using React Portals
192
+ _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
193
+ label: "Example label",
194
+ helperText: "Help message",
195
+ defaultValue: "06-04-2007",
196
+ format: "dd/mm/yy",
197
+ name: "DateInput Name",
198
+ margin: "medium",
199
+ error: "Error message.",
200
+ size: "medium",
201
+ placeholder: true,
202
+ clearable: true,
203
+ disabled: true
204
+ })), baseElement = _render6.baseElement;
205
+ _context6.next = 3;
206
+ return (0, _jestAxe.axe)(baseElement);
207
+ case 3:
208
+ results = _context6.sent;
209
+ expect(results).toHaveNoViolations();
210
+ case 5:
211
+ case "end":
212
+ return _context6.stop();
213
+ }
214
+ }, _callee6);
215
+ })));
216
+ });
@@ -1,62 +1,37 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports["default"] = void 0;
11
-
12
9
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
-
14
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
-
16
11
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
-
18
12
  var _react = _interopRequireWildcard(require("react"));
19
-
20
13
  var _dayjs = _interopRequireDefault(require("dayjs"));
21
-
22
14
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
23
-
24
15
  var _useTheme = _interopRequireDefault(require("../useTheme"));
25
-
26
16
  var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
27
-
28
17
  var _TextInput = _interopRequireDefault(require("../text-input/TextInput"));
29
-
30
18
  var _DatePicker = _interopRequireDefault(require("./DatePicker"));
31
-
32
19
  var Popover = _interopRequireWildcard(require("@radix-ui/react-popover"));
33
-
34
20
  var _customParseFormat = _interopRequireDefault(require("dayjs/plugin/customParseFormat"));
35
-
36
21
  var _uuid = require("uuid");
37
-
38
22
  var _Icons = require("./Icons");
39
-
40
23
  var _templateObject;
41
-
42
- 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); }
43
-
44
- 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; }
45
-
46
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
47
-
48
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
49
-
24
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
25
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
26
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
27
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
50
28
  _dayjs["default"].extend(_customParseFormat["default"]);
51
-
52
29
  var getValueForPicker = function getValueForPicker(value, format) {
53
30
  return (0, _dayjs["default"])(value, format.toUpperCase(), true);
54
31
  };
55
-
56
32
  var getDate = function getDate(value, format, lastValidYear, setLastValidYear) {
57
33
  if ((value || value === "") && format.toUpperCase().includes("YYYY")) return getValueForPicker(value, format);else {
58
34
  var newDate = getValueForPicker(value, format);
59
-
60
35
  if (!lastValidYear) {
61
36
  if (+newDate.format("YY") < 68) {
62
37
  setLastValidYear(2000 + +newDate.format("YY"));
@@ -68,66 +43,58 @@ var getDate = function getDate(value, format, lastValidYear, setLastValidYear) {
68
43
  } else {
69
44
  newDate = newDate.set("year", (lastValidYear <= 1999 ? 1900 : 2000) + +newDate.format("YY"));
70
45
  }
71
-
72
46
  return newDate;
73
47
  }
74
48
  };
75
-
76
49
  var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
77
50
  var _ref2;
78
-
79
51
  var label = _ref.label,
80
- name = _ref.name,
81
- _ref$defaultValue = _ref.defaultValue,
82
- defaultValue = _ref$defaultValue === void 0 ? "" : _ref$defaultValue,
83
- value = _ref.value,
84
- _ref$format = _ref.format,
85
- format = _ref$format === void 0 ? "dd-MM-yyyy" : _ref$format,
86
- helperText = _ref.helperText,
87
- _ref$placeholder = _ref.placeholder,
88
- placeholder = _ref$placeholder === void 0 ? false : _ref$placeholder,
89
- clearable = _ref.clearable,
90
- disabled = _ref.disabled,
91
- optional = _ref.optional,
92
- onChange = _ref.onChange,
93
- onBlur = _ref.onBlur,
94
- error = _ref.error,
95
- autocomplete = _ref.autocomplete,
96
- margin = _ref.margin,
97
- size = _ref.size,
98
- tabIndex = _ref.tabIndex;
99
-
52
+ name = _ref.name,
53
+ _ref$defaultValue = _ref.defaultValue,
54
+ defaultValue = _ref$defaultValue === void 0 ? "" : _ref$defaultValue,
55
+ value = _ref.value,
56
+ _ref$format = _ref.format,
57
+ format = _ref$format === void 0 ? "dd-MM-yyyy" : _ref$format,
58
+ helperText = _ref.helperText,
59
+ _ref$placeholder = _ref.placeholder,
60
+ placeholder = _ref$placeholder === void 0 ? false : _ref$placeholder,
61
+ clearable = _ref.clearable,
62
+ disabled = _ref.disabled,
63
+ readOnly = _ref.readOnly,
64
+ optional = _ref.optional,
65
+ onChange = _ref.onChange,
66
+ onBlur = _ref.onBlur,
67
+ error = _ref.error,
68
+ autocomplete = _ref.autocomplete,
69
+ margin = _ref.margin,
70
+ size = _ref.size,
71
+ tabIndex = _ref.tabIndex;
100
72
  var _useState = (0, _react.useState)(defaultValue),
101
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
102
- innerValue = _useState2[0],
103
- setInnerValue = _useState2[1];
104
-
73
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
74
+ innerValue = _useState2[0],
75
+ setInnerValue = _useState2[1];
105
76
  var _useState3 = (0, _react.useState)(false),
106
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
107
- isOpen = _useState4[0],
108
- setIsOpen = _useState4[1];
109
-
77
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
78
+ isOpen = _useState4[0],
79
+ setIsOpen = _useState4[1];
110
80
  var _useState5 = (0, _react.useState)("date-picker-".concat((0, _uuid.v4)())),
111
- _useState6 = (0, _slicedToArray2["default"])(_useState5, 1),
112
- calendarId = _useState6[0];
113
-
81
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 1),
82
+ calendarId = _useState6[0];
114
83
  var _useState7 = (0, _react.useState)(getValueForPicker((_ref2 = value !== null && value !== void 0 ? value : defaultValue) !== null && _ref2 !== void 0 ? _ref2 : "", format)),
115
- _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
116
- dayjsDate = _useState8[0],
117
- setDayjsDate = _useState8[1];
118
-
84
+ _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
85
+ dayjsDate = _useState8[0],
86
+ setDayjsDate = _useState8[1];
119
87
  var _useState9 = (0, _react.useState)(innerValue || value ? !format.toUpperCase().includes("YYYY") && +getValueForPicker(value !== null && value !== void 0 ? value : innerValue, format).format("YY") < 68 ? 2000 : 1900 : undefined),
120
- _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
121
- lastValidYear = _useState10[0],
122
- setLastValidYear = _useState10[1];
123
-
88
+ _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
89
+ lastValidYear = _useState10[0],
90
+ setLastValidYear = _useState10[1];
124
91
  var colorsTheme = (0, _useTheme["default"])();
125
92
  var translatedLabels = (0, _useTranslatedLabels["default"])();
126
93
  var dateRef = (0, _react.useRef)(null);
127
94
  (0, _react.useEffect)(function () {
128
95
  if (value || value === "") setDayjsDate(getDate(value, format, lastValidYear, setLastValidYear));
129
96
  }, [value, format, lastValidYear]);
130
- (0, _react.useLayoutEffect)(function () {
97
+ (0, _react.useEffect)(function () {
131
98
  if (!disabled) {
132
99
  var actionButtonRef = dateRef === null || dateRef === void 0 ? void 0 : dateRef.current.querySelector("[title='Open calendar']");
133
100
  actionButtonRef === null || actionButtonRef === void 0 ? void 0 : actionButtonRef.setAttribute("aria-haspopup", true);
@@ -137,15 +104,12 @@ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
137
104
  actionButtonRef === null || actionButtonRef === void 0 ? void 0 : actionButtonRef.setAttribute("aria-describedby", calendarId);
138
105
  }
139
106
  }, [isOpen, disabled, calendarId]);
140
-
141
107
  var handleCalendarOnClick = function handleCalendarOnClick(newDate) {
142
108
  var newValue = newDate.format(format.toUpperCase());
143
-
144
109
  if (!value) {
145
110
  setDayjsDate(newDate);
146
111
  setInnerValue(newValue);
147
112
  }
148
-
149
113
  setLastValidYear(newDate.get("year"));
150
114
  newDate !== null && newDate !== void 0 && newDate.set("day", newDate.get("date")).toJSON() ? onChange === null || onChange === void 0 ? void 0 : onChange({
151
115
  value: newValue,
@@ -154,10 +118,9 @@ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
154
118
  value: newValue
155
119
  });
156
120
  };
157
-
158
- var handleIOnChange = function handleIOnChange(_ref3) {
121
+ var handleOnChange = function handleOnChange(_ref3) {
159
122
  var newValue = _ref3.value,
160
- inputError = _ref3.error;
123
+ inputError = _ref3.error;
161
124
  value !== null && value !== void 0 ? value : setInnerValue(newValue);
162
125
  var newDate = getDate(newValue, format, lastValidYear, setLastValidYear);
163
126
  var invalidDateMessage = newValue !== "" && !newDate.isValid() && translatedLabels.dateInput.invalidDateErrorMessage;
@@ -167,7 +130,6 @@ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
167
130
  } : {
168
131
  value: newValue
169
132
  };
170
-
171
133
  if (newDate.isValid()) {
172
134
  setDayjsDate(newDate);
173
135
  onChange === null || onChange === void 0 ? void 0 : onChange(_objectSpread(_objectSpread({}, callbackParams), {}, {
@@ -177,16 +139,14 @@ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
177
139
  onChange === null || onChange === void 0 ? void 0 : onChange(callbackParams);
178
140
  setLastValidYear(function (validYear) {
179
141
  var _dayjsDate$get;
180
-
181
142
  return (_dayjsDate$get = dayjsDate === null || dayjsDate === void 0 ? void 0 : dayjsDate.get("year")) !== null && _dayjsDate$get !== void 0 ? _dayjsDate$get : validYear;
182
143
  });
183
144
  setDayjsDate(null);
184
145
  }
185
146
  };
186
-
187
- var handleIOnBlur = function handleIOnBlur(_ref4) {
147
+ var handleOnBlur = function handleOnBlur(_ref4) {
188
148
  var value = _ref4.value,
189
- inputError = _ref4.error;
149
+ inputError = _ref4.error;
190
150
  var date = getDate(value, format, lastValidYear, setLastValidYear);
191
151
  var invalidDateMessage = value !== "" && !date.isValid() && translatedLabels.dateInput.invalidDateErrorMessage;
192
152
  var callbackParams = inputError || invalidDateMessage ? {
@@ -199,25 +159,20 @@ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
199
159
  date: date.toDate()
200
160
  })) : onBlur === null || onBlur === void 0 ? void 0 : onBlur(callbackParams);
201
161
  };
202
-
203
162
  var openCalendar = function openCalendar() {
204
163
  setIsOpen(!isOpen);
205
164
  };
206
-
207
165
  var closeCalendar = function closeCalendar() {
208
166
  setIsOpen(false);
209
167
  };
210
-
211
168
  var handleDatePickerEscKeydown = function handleDatePickerEscKeydown(event) {
212
169
  event.preventDefault();
213
170
  closeCalendar();
214
171
  dateRef === null || dateRef === void 0 ? void 0 : dateRef.current.getElementsByTagName("input")[0].focus();
215
172
  };
216
-
217
173
  var handleDatePickerOnBlur = function handleDatePickerOnBlur(event) {
218
174
  if (!(event !== null && event !== void 0 && event.currentTarget.contains(event.relatedTarget))) closeCalendar();
219
175
  };
220
-
221
176
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
222
177
  theme: colorsTheme
223
178
  }, /*#__PURE__*/_react["default"].createElement("div", {
@@ -241,16 +196,17 @@ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
241
196
  },
242
197
  clearable: clearable,
243
198
  disabled: disabled,
199
+ readOnly: readOnly,
244
200
  optional: optional,
245
- onChange: handleIOnChange,
246
- onBlur: handleIOnBlur,
201
+ onChange: handleOnChange,
202
+ onBlur: handleOnBlur,
247
203
  error: error,
248
204
  autocomplete: autocomplete,
249
205
  margin: margin,
250
206
  size: size,
251
207
  tabIndex: tabIndex,
252
208
  ref: dateRef
253
- })), /*#__PURE__*/_react["default"].createElement(StyledContent, {
209
+ })), /*#__PURE__*/_react["default"].createElement(Popover.Portal, null, /*#__PURE__*/_react["default"].createElement(StyledPopoverContent, {
254
210
  sideOffset: error ? -18 : 2,
255
211
  align: "end",
256
212
  "aria-modal": true,
@@ -261,9 +217,7 @@ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
261
217
  id: calendarId,
262
218
  onDateSelect: handleCalendarOnClick,
263
219
  date: dayjsDate
264
- })))));
220
+ }))))));
265
221
  });
266
-
267
- var StyledContent = (0, _styledComponents["default"])(Popover.Content)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n &:focus-visible {\n outline: none;\n }\n"])));
268
- var _default = DxcDateInput;
269
- exports["default"] = _default;
222
+ var StyledPopoverContent = (0, _styledComponents["default"])(Popover.Content)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n z-index: 2147483647;\n &:focus-visible {\n outline: none;\n }\n"])));
223
+ var _default = exports["default"] = DxcDateInput;
@@ -6,15 +6,13 @@ import YearPicker from "./YearPicker";
6
6
  import Calendar from "./Calendar";
7
7
  import Title from "../../.storybook/components/Title";
8
8
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
9
- import { BackgroundColorProvider } from "../BackgroundColorContext";
10
- import DarkContainer from "../../.storybook/components/DarkSection";
11
9
  import dayjs from "dayjs";
12
10
  import useTheme from "../useTheme";
13
11
  import { ThemeProvider } from "styled-components";
14
12
  import { HalstackProvider } from "../HalstackContext";
15
13
 
16
14
  export default {
17
- title: "Date input",
15
+ title: "Date Input",
18
16
  component: DxcDateInput,
19
17
  };
20
18
 
@@ -41,6 +39,16 @@ const DateInputChromatic = () => (
41
39
  disabled
42
40
  />
43
41
  </ExampleContainer>
42
+ <ExampleContainer>
43
+ <Title title="Read only" theme="light" level={4} />
44
+ <DxcDateInput
45
+ label="Example label"
46
+ helperText="Help message"
47
+ defaultValue="06-04-2007"
48
+ clearable
49
+ readOnly
50
+ />
51
+ </ExampleContainer>
44
52
  <ExampleContainer>
45
53
  <Title title="Invalid" theme="light" level={4} />
46
54
  <DxcDateInput label="Error date input" error="Error message." placeholder />
@@ -49,33 +57,6 @@ const DateInputChromatic = () => (
49
57
  <Title title="Relation between icons" theme="light" level={4} />
50
58
  <DxcDateInput label="Error date input" error="Error message." defaultValue="06-04-2007" clearable />
51
59
  </ExampleContainer>
52
- <BackgroundColorProvider color="#333333">
53
- <DarkContainer>
54
- <Title title="Dark" theme="dark" level={2} />
55
- <ExampleContainer>
56
- <Title title="Complete date input" theme="dark" level={4} />
57
- <DxcDateInput label="Date input" helperText="Help message" format="yyyy/dd/mm" placeholder optional />
58
- </ExampleContainer>
59
- <ExampleContainer>
60
- <Title title="Disabled" theme="dark" level={4} />
61
- <DxcDateInput
62
- label="Disabled Date input"
63
- helperText="Help message"
64
- defaultValue="06-04-2027"
65
- clearable
66
- disabled
67
- />
68
- </ExampleContainer>
69
- <ExampleContainer>
70
- <Title title="Invalid" theme="dark" level={4} />
71
- <DxcDateInput label="Error date input" error="Error message." placeholder />
72
- </ExampleContainer>
73
- <ExampleContainer>
74
- <Title title="Relation between icons" theme="dark" level={4} />
75
- <DxcDateInput label="Error date input" defaultValue="06-04-2007" error="Error message." clearable />
76
- </ExampleContainer>
77
- </DarkContainer>
78
- </BackgroundColorProvider>
79
60
  <Title title="Margins" theme="light" level={2} />
80
61
  <ExampleContainer>
81
62
  <Title title="Xxsmall" theme="light" level={4} />