@dxc-technology/halstack-react 0.0.0-b92e300 → 0.0.0-b94d9fc

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 (393) hide show
  1. package/BackgroundColorContext.d.ts +1 -0
  2. package/BackgroundColorContext.js +6 -26
  3. package/HalstackContext.d.ts +1249 -0
  4. package/HalstackContext.js +310 -0
  5. package/README.md +47 -0
  6. package/accordion/Accordion.d.ts +1 -1
  7. package/accordion/Accordion.js +118 -194
  8. package/accordion/Accordion.stories.tsx +283 -0
  9. package/accordion/Accordion.test.js +56 -0
  10. package/accordion/types.d.ts +12 -23
  11. package/accordion-group/AccordionGroup.d.ts +5 -4
  12. package/accordion-group/AccordionGroup.js +39 -108
  13. package/accordion-group/AccordionGroup.stories.tsx +252 -0
  14. package/accordion-group/AccordionGroup.test.js +98 -0
  15. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  16. package/accordion-group/AccordionGroupAccordion.js +31 -0
  17. package/accordion-group/types.d.ts +18 -23
  18. package/action-icon/ActionIcon.d.ts +4 -0
  19. package/action-icon/ActionIcon.js +47 -0
  20. package/action-icon/ActionIcon.stories.tsx +41 -0
  21. package/action-icon/ActionIcon.test.js +64 -0
  22. package/action-icon/types.d.ts +26 -0
  23. package/alert/Alert.js +24 -60
  24. package/alert/Alert.stories.tsx +198 -0
  25. package/alert/Alert.test.js +75 -0
  26. package/alert/types.d.ts +6 -6
  27. package/badge/Badge.d.ts +4 -0
  28. package/badge/Badge.js +141 -41
  29. package/badge/Badge.stories.tsx +210 -0
  30. package/badge/Badge.test.js +30 -0
  31. package/badge/types.d.ts +54 -0
  32. package/badge/types.js +5 -0
  33. package/bleed/Bleed.d.ts +3 -0
  34. package/bleed/Bleed.js +43 -0
  35. package/bleed/Bleed.stories.tsx +342 -0
  36. package/bleed/types.d.ts +37 -0
  37. package/bleed/types.js +5 -0
  38. package/box/Box.d.ts +4 -0
  39. package/box/Box.js +32 -109
  40. package/box/Box.stories.tsx +119 -0
  41. package/box/Box.test.js +13 -0
  42. package/box/types.d.ts +32 -0
  43. package/box/types.js +5 -0
  44. package/bulleted-list/BulletedList.d.ts +7 -0
  45. package/bulleted-list/BulletedList.js +89 -0
  46. package/bulleted-list/BulletedList.stories.tsx +115 -0
  47. package/bulleted-list/types.d.ts +38 -0
  48. package/bulleted-list/types.js +5 -0
  49. package/button/Button.d.ts +1 -1
  50. package/button/Button.js +65 -127
  51. package/button/Button.stories.tsx +329 -278
  52. package/button/Button.test.js +38 -0
  53. package/button/types.d.ts +18 -18
  54. package/card/Card.d.ts +1 -1
  55. package/card/Card.js +59 -104
  56. package/card/Card.stories.tsx +171 -0
  57. package/card/Card.test.js +39 -0
  58. package/card/types.d.ts +8 -15
  59. package/checkbox/Checkbox.d.ts +2 -2
  60. package/checkbox/Checkbox.js +145 -183
  61. package/checkbox/Checkbox.stories.tsx +222 -0
  62. package/checkbox/Checkbox.test.js +199 -0
  63. package/checkbox/types.d.ts +20 -8
  64. package/chip/Chip.d.ts +4 -0
  65. package/chip/Chip.js +48 -148
  66. package/chip/Chip.stories.tsx +214 -0
  67. package/chip/Chip.test.js +41 -0
  68. package/chip/types.d.ts +45 -0
  69. package/chip/types.js +5 -0
  70. package/common/OpenSans.css +68 -80
  71. package/common/coreTokens.d.ts +237 -0
  72. package/common/coreTokens.js +184 -0
  73. package/common/utils.d.ts +1 -0
  74. package/common/utils.js +6 -12
  75. package/common/variables.d.ts +1395 -0
  76. package/common/variables.js +1033 -1335
  77. package/container/Container.d.ts +4 -0
  78. package/container/Container.js +194 -0
  79. package/container/Container.stories.tsx +214 -0
  80. package/container/types.d.ts +74 -0
  81. package/container/types.js +5 -0
  82. package/date-input/Calendar.d.ts +4 -0
  83. package/date-input/Calendar.js +214 -0
  84. package/date-input/DateInput.js +175 -313
  85. package/date-input/DateInput.stories.tsx +285 -0
  86. package/date-input/DateInput.test.js +808 -0
  87. package/date-input/DatePicker.d.ts +4 -0
  88. package/date-input/DatePicker.js +115 -0
  89. package/date-input/Icons.d.ts +6 -0
  90. package/date-input/Icons.js +58 -0
  91. package/date-input/YearPicker.d.ts +4 -0
  92. package/date-input/YearPicker.js +100 -0
  93. package/date-input/types.d.ts +86 -22
  94. package/dialog/Dialog.d.ts +4 -0
  95. package/dialog/Dialog.js +69 -149
  96. package/dialog/Dialog.stories.tsx +365 -0
  97. package/dialog/Dialog.test.js +307 -0
  98. package/dialog/types.d.ts +36 -0
  99. package/dialog/types.js +5 -0
  100. package/dropdown/Dropdown.d.ts +4 -0
  101. package/dropdown/Dropdown.js +251 -365
  102. package/dropdown/Dropdown.stories.tsx +438 -0
  103. package/dropdown/Dropdown.test.js +599 -0
  104. package/dropdown/DropdownMenu.d.ts +4 -0
  105. package/dropdown/DropdownMenu.js +63 -0
  106. package/dropdown/DropdownMenuItem.d.ts +4 -0
  107. package/dropdown/DropdownMenuItem.js +67 -0
  108. package/dropdown/types.d.ts +98 -0
  109. package/dropdown/types.js +5 -0
  110. package/file-input/FileInput.d.ts +4 -0
  111. package/file-input/FileInput.js +274 -327
  112. package/file-input/FileInput.stories.tsx +618 -0
  113. package/file-input/FileInput.test.js +459 -0
  114. package/file-input/FileItem.d.ts +4 -0
  115. package/file-input/FileItem.js +54 -112
  116. package/file-input/types.d.ts +129 -0
  117. package/file-input/types.js +5 -0
  118. package/flex/Flex.d.ts +4 -0
  119. package/flex/Flex.js +57 -0
  120. package/flex/Flex.stories.tsx +112 -0
  121. package/flex/types.d.ts +97 -0
  122. package/flex/types.js +5 -0
  123. package/footer/Footer.d.ts +4 -0
  124. package/footer/Footer.js +74 -233
  125. package/footer/Footer.stories.tsx +171 -0
  126. package/footer/Footer.test.js +85 -0
  127. package/footer/Icons.d.ts +3 -0
  128. package/footer/Icons.js +67 -8
  129. package/footer/types.d.ts +64 -0
  130. package/footer/types.js +5 -0
  131. package/grid/Grid.d.ts +7 -0
  132. package/grid/Grid.js +76 -0
  133. package/grid/Grid.stories.tsx +219 -0
  134. package/grid/types.d.ts +115 -0
  135. package/grid/types.js +5 -0
  136. package/header/Header.d.ts +8 -0
  137. package/header/Header.js +115 -221
  138. package/header/Header.stories.tsx +251 -0
  139. package/header/Header.test.js +66 -0
  140. package/header/Icons.d.ts +2 -0
  141. package/header/Icons.js +5 -35
  142. package/header/types.d.ts +33 -0
  143. package/header/types.js +5 -0
  144. package/heading/Heading.d.ts +4 -0
  145. package/heading/Heading.js +16 -55
  146. package/heading/Heading.stories.tsx +54 -0
  147. package/heading/Heading.test.js +169 -0
  148. package/heading/types.d.ts +33 -0
  149. package/heading/types.js +5 -0
  150. package/image/Image.d.ts +4 -0
  151. package/image/Image.js +70 -0
  152. package/image/Image.stories.tsx +129 -0
  153. package/image/types.d.ts +72 -0
  154. package/image/types.js +5 -0
  155. package/inset/Inset.d.ts +3 -0
  156. package/inset/Inset.js +43 -0
  157. package/inset/Inset.stories.tsx +230 -0
  158. package/inset/types.d.ts +37 -0
  159. package/inset/types.js +5 -0
  160. package/layout/ApplicationLayout.d.ts +20 -0
  161. package/layout/ApplicationLayout.js +83 -184
  162. package/layout/ApplicationLayout.stories.tsx +162 -0
  163. package/layout/Icons.d.ts +8 -0
  164. package/layout/Icons.js +51 -48
  165. package/layout/SidenavContext.d.ts +5 -0
  166. package/layout/SidenavContext.js +13 -0
  167. package/layout/types.d.ts +41 -0
  168. package/layout/types.js +5 -0
  169. package/link/Link.d.ts +4 -0
  170. package/link/Link.js +65 -133
  171. package/link/Link.stories.tsx +253 -0
  172. package/link/Link.test.js +63 -0
  173. package/link/types.d.ts +54 -0
  174. package/link/types.js +5 -0
  175. package/main.d.ts +17 -14
  176. package/main.js +78 -98
  177. package/nav-tabs/NavTabs.d.ts +8 -0
  178. package/nav-tabs/NavTabs.js +93 -0
  179. package/nav-tabs/NavTabs.stories.tsx +276 -0
  180. package/nav-tabs/NavTabs.test.js +76 -0
  181. package/nav-tabs/Tab.d.ts +4 -0
  182. package/nav-tabs/Tab.js +118 -0
  183. package/nav-tabs/types.d.ts +52 -0
  184. package/nav-tabs/types.js +5 -0
  185. package/number-input/NumberInput.d.ts +11 -0
  186. package/number-input/NumberInput.js +49 -91
  187. package/number-input/NumberInput.stories.tsx +131 -0
  188. package/number-input/NumberInput.test.js +989 -0
  189. package/number-input/types.d.ts +130 -0
  190. package/number-input/types.js +5 -0
  191. package/package.json +46 -45
  192. package/paginator/Icons.d.ts +5 -0
  193. package/paginator/Icons.js +21 -47
  194. package/paginator/Paginator.js +35 -98
  195. package/paginator/Paginator.stories.tsx +87 -0
  196. package/paginator/Paginator.test.js +335 -0
  197. package/paginator/types.d.ts +3 -3
  198. package/paragraph/Paragraph.d.ts +5 -0
  199. package/paragraph/Paragraph.js +22 -0
  200. package/paragraph/Paragraph.stories.tsx +27 -0
  201. package/password-input/Icons.d.ts +6 -0
  202. package/password-input/Icons.js +35 -0
  203. package/password-input/PasswordInput.d.ts +4 -0
  204. package/password-input/PasswordInput.js +60 -162
  205. package/password-input/{PasswordInput.stories.jsx → PasswordInput.stories.tsx} +3 -35
  206. package/password-input/PasswordInput.test.js +198 -0
  207. package/password-input/types.d.ts +111 -0
  208. package/password-input/types.js +5 -0
  209. package/progress-bar/ProgressBar.js +67 -93
  210. package/progress-bar/ProgressBar.stories.tsx +93 -0
  211. package/progress-bar/ProgressBar.test.js +93 -0
  212. package/progress-bar/types.d.ts +3 -3
  213. package/quick-nav/QuickNav.d.ts +4 -0
  214. package/quick-nav/QuickNav.js +94 -0
  215. package/quick-nav/QuickNav.stories.tsx +356 -0
  216. package/quick-nav/types.d.ts +21 -0
  217. package/quick-nav/types.js +5 -0
  218. package/radio-group/Radio.d.ts +4 -0
  219. package/radio-group/Radio.js +124 -0
  220. package/radio-group/RadioGroup.d.ts +4 -0
  221. package/radio-group/RadioGroup.js +235 -0
  222. package/radio-group/RadioGroup.stories.tsx +214 -0
  223. package/radio-group/RadioGroup.test.js +756 -0
  224. package/radio-group/types.d.ts +114 -0
  225. package/radio-group/types.js +5 -0
  226. package/resultset-table/Icons.d.ts +7 -0
  227. package/resultset-table/Icons.js +47 -0
  228. package/resultset-table/ResultsetTable.d.ts +7 -0
  229. package/resultset-table/ResultsetTable.js +166 -0
  230. package/resultset-table/ResultsetTable.stories.tsx +397 -0
  231. package/resultset-table/ResultsetTable.test.js +371 -0
  232. package/resultset-table/types.d.ts +73 -0
  233. package/resultset-table/types.js +5 -0
  234. package/select/Icons.d.ts +10 -0
  235. package/select/Icons.js +89 -0
  236. package/select/Listbox.d.ts +4 -0
  237. package/select/Listbox.js +143 -0
  238. package/select/Option.d.ts +4 -0
  239. package/select/Option.js +87 -0
  240. package/select/Select.d.ts +4 -0
  241. package/select/Select.js +240 -515
  242. package/select/Select.stories.tsx +971 -0
  243. package/select/Select.test.js +2370 -0
  244. package/select/types.d.ts +209 -0
  245. package/select/types.js +5 -0
  246. package/sidenav/Icons.d.ts +7 -0
  247. package/sidenav/Icons.js +47 -0
  248. package/sidenav/Sidenav.d.ts +10 -0
  249. package/sidenav/Sidenav.js +132 -81
  250. package/sidenav/Sidenav.stories.tsx +282 -0
  251. package/sidenav/Sidenav.test.js +37 -0
  252. package/sidenav/types.d.ts +76 -0
  253. package/sidenav/types.js +5 -0
  254. package/slider/Slider.d.ts +2 -2
  255. package/slider/Slider.js +162 -183
  256. package/slider/Slider.test.js +254 -0
  257. package/slider/types.d.ts +13 -10
  258. package/spinner/Spinner.d.ts +4 -0
  259. package/spinner/Spinner.js +38 -99
  260. package/spinner/Spinner.stories.tsx +129 -0
  261. package/spinner/Spinner.test.js +55 -0
  262. package/spinner/types.d.ts +32 -0
  263. package/spinner/types.js +5 -0
  264. package/status-light/StatusLight.d.ts +4 -0
  265. package/status-light/StatusLight.js +51 -0
  266. package/status-light/StatusLight.stories.tsx +74 -0
  267. package/status-light/StatusLight.test.js +25 -0
  268. package/status-light/types.d.ts +17 -0
  269. package/status-light/types.js +5 -0
  270. package/switch/Switch.d.ts +2 -2
  271. package/switch/Switch.js +150 -115
  272. package/switch/Switch.stories.tsx +137 -0
  273. package/switch/Switch.test.js +180 -0
  274. package/switch/types.d.ts +13 -5
  275. package/table/DropdownTheme.js +62 -0
  276. package/table/Table.d.ts +8 -0
  277. package/table/Table.js +89 -37
  278. package/table/Table.stories.tsx +658 -0
  279. package/table/Table.test.js +113 -0
  280. package/table/types.d.ts +63 -0
  281. package/table/types.js +5 -0
  282. package/tabs/Tab.d.ts +4 -0
  283. package/tabs/Tab.js +116 -0
  284. package/tabs/Tabs.d.ts +4 -0
  285. package/tabs/Tabs.js +319 -194
  286. package/tabs/Tabs.stories.tsx +226 -0
  287. package/tabs/Tabs.test.js +294 -0
  288. package/tabs/types.d.ts +92 -0
  289. package/tabs/types.js +5 -0
  290. package/tag/Tag.d.ts +4 -0
  291. package/tag/Tag.js +55 -112
  292. package/tag/Tag.stories.tsx +155 -0
  293. package/tag/Tag.test.js +49 -0
  294. package/tag/types.d.ts +69 -0
  295. package/tag/types.js +5 -0
  296. package/text-input/Icons.d.ts +8 -0
  297. package/text-input/Icons.js +56 -0
  298. package/text-input/Suggestion.d.ts +4 -0
  299. package/text-input/Suggestion.js +67 -0
  300. package/text-input/Suggestions.d.ts +4 -0
  301. package/text-input/Suggestions.js +84 -0
  302. package/text-input/TextInput.d.ts +4 -0
  303. package/text-input/TextInput.js +333 -593
  304. package/text-input/TextInput.stories.tsx +465 -0
  305. package/text-input/TextInput.test.js +1756 -0
  306. package/text-input/types.d.ts +205 -0
  307. package/text-input/types.js +5 -0
  308. package/textarea/Textarea.d.ts +4 -0
  309. package/textarea/Textarea.js +98 -181
  310. package/textarea/Textarea.stories.tsx +174 -0
  311. package/textarea/Textarea.test.js +406 -0
  312. package/textarea/types.d.ts +141 -0
  313. package/textarea/types.js +5 -0
  314. package/toggle-group/ToggleGroup.d.ts +4 -0
  315. package/toggle-group/ToggleGroup.js +100 -142
  316. package/toggle-group/ToggleGroup.stories.tsx +218 -0
  317. package/toggle-group/ToggleGroup.test.js +137 -0
  318. package/toggle-group/types.d.ts +114 -0
  319. package/toggle-group/types.js +5 -0
  320. package/typography/Typography.d.ts +4 -0
  321. package/typography/Typography.js +23 -0
  322. package/typography/Typography.stories.tsx +198 -0
  323. package/typography/types.d.ts +18 -0
  324. package/typography/types.js +5 -0
  325. package/useTheme.d.ts +1148 -0
  326. package/useTheme.js +4 -11
  327. package/useTranslatedLabels.d.ts +85 -0
  328. package/useTranslatedLabels.js +14 -0
  329. package/utils/BaseTypography.d.ts +21 -0
  330. package/utils/BaseTypography.js +94 -0
  331. package/utils/FocusLock.d.ts +13 -0
  332. package/utils/FocusLock.js +124 -0
  333. package/wizard/Wizard.d.ts +4 -0
  334. package/wizard/Wizard.js +130 -151
  335. package/wizard/Wizard.stories.tsx +253 -0
  336. package/wizard/Wizard.test.js +114 -0
  337. package/wizard/types.d.ts +64 -0
  338. package/wizard/types.js +5 -0
  339. package/ThemeContext.js +0 -246
  340. package/V3Select/V3Select.js +0 -455
  341. package/V3Select/index.d.ts +0 -27
  342. package/V3Textarea/V3Textarea.js +0 -260
  343. package/V3Textarea/index.d.ts +0 -27
  344. package/box/index.d.ts +0 -25
  345. package/chip/index.d.ts +0 -22
  346. package/common/RequiredComponent.js +0 -32
  347. package/date/Date.js +0 -373
  348. package/date/index.d.ts +0 -27
  349. package/dialog/index.d.ts +0 -18
  350. package/dropdown/index.d.ts +0 -26
  351. package/file-input/index.d.ts +0 -81
  352. package/footer/index.d.ts +0 -25
  353. package/header/index.d.ts +0 -25
  354. package/heading/index.d.ts +0 -17
  355. package/input-text/Icons.js +0 -22
  356. package/input-text/InputText.js +0 -611
  357. package/input-text/index.d.ts +0 -36
  358. package/link/index.d.ts +0 -23
  359. package/number-input/NumberInputContext.js +0 -16
  360. package/number-input/index.d.ts +0 -113
  361. package/password-input/index.d.ts +0 -94
  362. package/radio/Radio.d.ts +0 -4
  363. package/radio/Radio.js +0 -174
  364. package/radio/types.d.ts +0 -54
  365. package/resultsetTable/ResultsetTable.js +0 -274
  366. package/resultsetTable/index.d.ts +0 -19
  367. package/select/index.d.ts +0 -131
  368. package/sidenav/index.d.ts +0 -13
  369. package/spinner/index.d.ts +0 -17
  370. package/table/index.d.ts +0 -13
  371. package/tabs/index.d.ts +0 -19
  372. package/tag/index.d.ts +0 -24
  373. package/text-input/index.d.ts +0 -135
  374. package/textarea/Textarea.stories.jsx +0 -135
  375. package/textarea/index.d.ts +0 -117
  376. package/toggle/Toggle.js +0 -186
  377. package/toggle/index.d.ts +0 -21
  378. package/toggle-group/index.d.ts +0 -21
  379. package/upload/Upload.js +0 -201
  380. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  381. package/upload/buttons-upload/Icons.js +0 -40
  382. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  383. package/upload/dragAndDropArea/Icons.js +0 -39
  384. package/upload/file-upload/FileToUpload.js +0 -115
  385. package/upload/file-upload/Icons.js +0 -66
  386. package/upload/files-upload/FilesToUpload.js +0 -109
  387. package/upload/index.d.ts +0 -15
  388. package/upload/transaction/Icons.js +0 -160
  389. package/upload/transaction/Transaction.js +0 -104
  390. package/upload/transactions/Transactions.js +0 -94
  391. package/wizard/Icons.js +0 -65
  392. package/wizard/index.d.ts +0 -18
  393. /package/{radio → action-icon}/types.js +0 -0
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { DatePickerPropsType } from "./types";
3
+ declare const _default: React.MemoExoticComponent<({ date, onDateSelect, id }: DatePickerPropsType) => JSX.Element>;
4
+ export default _default;
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
+ var _dayjs = _interopRequireDefault(require("dayjs"));
12
+ var _react = _interopRequireWildcard(require("react"));
13
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
14
+ var _Calendar = _interopRequireDefault(require("./Calendar"));
15
+ var _YearPicker = _interopRequireDefault(require("./YearPicker"));
16
+ var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
17
+ var _Icons = require("./Icons");
18
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
19
+ 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); }
20
+ 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; }
21
+ var today = (0, _dayjs["default"])();
22
+ var DxcDatePicker = function DxcDatePicker(_ref) {
23
+ var date = _ref.date,
24
+ onDateSelect = _ref.onDateSelect,
25
+ id = _ref.id;
26
+ var _useState = (0, _react.useState)(date !== null && date !== void 0 && date.isValid() ? date : (0, _dayjs["default"])()),
27
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
28
+ innerDate = _useState2[0],
29
+ setInnerDate = _useState2[1];
30
+ var _useState3 = (0, _react.useState)("calendar"),
31
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
32
+ content = _useState4[0],
33
+ setContent = _useState4[1];
34
+ var selectedDate = date !== null && date !== void 0 && date.isValid() ? date : null;
35
+ var translatedLabels = (0, _useTranslatedLabels["default"])();
36
+ var handleDateSelect = function handleDateSelect(date) {
37
+ setInnerDate(date);
38
+ onDateSelect(date);
39
+ };
40
+ var handleOnYearSelect = function handleOnYearSelect(year) {
41
+ setInnerDate(innerDate.set("year", year));
42
+ setContent("calendar");
43
+ };
44
+ var handleMonthChange = function handleMonthChange(date) {
45
+ setInnerDate(date);
46
+ };
47
+ return /*#__PURE__*/_react["default"].createElement(DatePicker, {
48
+ id: id
49
+ }, /*#__PURE__*/_react["default"].createElement(PickerHeader, null, /*#__PURE__*/_react["default"].createElement(HeaderButton, {
50
+ "aria-label": translatedLabels.calendar.previousMonthTitle,
51
+ title: translatedLabels.calendar.previousMonthTitle,
52
+ onClick: function onClick() {
53
+ return handleMonthChange(innerDate.set("month", innerDate.get("month") - 1));
54
+ }
55
+ }, _Icons.leftCaret), /*#__PURE__*/_react["default"].createElement(HeaderYearTrigger, {
56
+ "aria-live": "polite",
57
+ onClick: function onClick() {
58
+ return setContent(function (content) {
59
+ return content === "yearPicker" ? "calendar" : "yearPicker";
60
+ });
61
+ }
62
+ }, /*#__PURE__*/_react["default"].createElement(HeaderYearTriggerLabel, null, translatedLabels.calendar.months[innerDate.get("month")], " ", innerDate.format("YYYY")), content === "yearPicker" ? _Icons.upCaret : _Icons.downCaret), /*#__PURE__*/_react["default"].createElement(HeaderButton, {
63
+ "aria-label": translatedLabels.calendar.nextMonthTitle,
64
+ title: translatedLabels.calendar.nextMonthTitle,
65
+ onClick: function onClick() {
66
+ return handleMonthChange(innerDate.set("month", innerDate.get("month") + 1));
67
+ }
68
+ }, _Icons.rightCaret)), content === "calendar" && /*#__PURE__*/_react["default"].createElement(_Calendar["default"], {
69
+ innerDate: innerDate,
70
+ selectedDate: selectedDate,
71
+ onInnerDateChange: setInnerDate,
72
+ onDaySelect: handleDateSelect,
73
+ today: today
74
+ }), content === "yearPicker" && /*#__PURE__*/_react["default"].createElement(_YearPicker["default"], {
75
+ selectedDate: selectedDate,
76
+ onYearSelect: handleOnYearSelect,
77
+ today: today
78
+ }));
79
+ };
80
+ var DatePicker = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n padding-top: 16px;\n background-color: ", ";\n box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);\n border: ", ";\n border-radius: 4px;\n width: fit-content;\n font-family: ", ";\n font-size: ", ";\n color: ", ";\n font-weight: ", ";\n"])), function (props) {
81
+ return props.theme.dateInput.pickerBackgroundColor;
82
+ }, function (props) {
83
+ return "".concat(props.theme.dateInput.pickerBorderWidth, " ").concat(props.theme.dateInput.pickerBorderStyle, "\n ").concat(props.theme.dateInput.pickerBorderColor);
84
+ }, function (props) {
85
+ return props.theme.dateInput.pickerFontFamily;
86
+ }, function (props) {
87
+ return props.theme.dateInput.pickerFontSize;
88
+ }, function (props) {
89
+ return props.theme.dateInput.pickerFontColor;
90
+ }, function (props) {
91
+ return props.theme.dateInput.pickerFontWeight;
92
+ });
93
+ var PickerHeader = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n gap: 8px;\n align-items: center;\n justify-content: space-between;\n padding: 0px 16px;\n"])));
94
+ var HeaderButton = _styledComponents["default"].button(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n padding: 0px;\n color: ", ";\n background-color: ", ";\n border-radius: 4px;\n border: none;\n cursor: pointer;\n\n &:hover {\n color: ", ";\n background-color: ", ";\n }\n &:focus {\n outline: ", ";\n }\n &:active {\n color: ", ";\n background-color: ", ";\n }\n svg {\n width: 24px;\n height: 24px;\n }\n"])), function (props) {
95
+ return props.theme.dateInput.pickerHeaderFontColor;
96
+ }, function (props) {
97
+ return props.theme.dateInput.pickerHeaderBackgroundColor;
98
+ }, function (props) {
99
+ return props.theme.dateInput.pickerHeaderHoverFontColor;
100
+ }, function (props) {
101
+ return props.theme.dateInput.pickerHeaderHoverBackgroundColor;
102
+ }, function (props) {
103
+ return "".concat(props.theme.dateInput.pickerFocusColor, " solid\n ").concat(props.theme.dateInput.pickerFocusWidth);
104
+ }, function (props) {
105
+ return props.theme.dateInput.pickerHeaderActiveFontColor;
106
+ }, function (props) {
107
+ return props.theme.dateInput.pickerHeaderActiveBackgroundColor;
108
+ });
109
+ var HeaderYearTrigger = (0, _styledComponents["default"])(HeaderButton)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n gap: 8px;\n height: 40px;\n width: 172px;\n"])));
110
+ var HeaderYearTriggerLabel = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n font-family: ", ";\n font-size: ", ";\n"])), function (props) {
111
+ return props.theme.dateInput.pickerFontFamily;
112
+ }, function (props) {
113
+ return props.theme.dateInput.pickerHeaderFontSize;
114
+ });
115
+ var _default = exports["default"] = /*#__PURE__*/_react["default"].memo(DxcDatePicker);
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ export declare const calendarIcon: React.JSX.Element;
3
+ export declare const leftCaret: React.JSX.Element;
4
+ export declare const rightCaret: React.JSX.Element;
5
+ export declare const downCaret: React.JSX.Element;
6
+ export declare const upCaret: React.JSX.Element;
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.upCaret = exports.rightCaret = exports.leftCaret = exports.downCaret = exports.calendarIcon = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var calendarIcon = exports.calendarIcon = /*#__PURE__*/_react["default"].createElement("svg", {
10
+ xmlns: "http://www.w3.org/2000/svg",
11
+ height: "24",
12
+ viewBox: "0 0 24 24",
13
+ width: "24",
14
+ fill: "currentColor"
15
+ }, /*#__PURE__*/_react["default"].createElement("path", {
16
+ d: "M0 0h24v24H0z",
17
+ fill: "none"
18
+ }), /*#__PURE__*/_react["default"].createElement("path", {
19
+ d: "M20 3h-1V1h-2v2H7V1H5v2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 18H4V8h16v13z"
20
+ }));
21
+ var leftCaret = exports.leftCaret = /*#__PURE__*/_react["default"].createElement("svg", {
22
+ fill: "currentColor",
23
+ focusable: "false",
24
+ viewBox: "0 0 24 24"
25
+ }, /*#__PURE__*/_react["default"].createElement("path", {
26
+ d: "M15.41 16.59L10.83 12l4.58-4.59L14 6l-6 6 6 6 1.41-1.41z"
27
+ }), /*#__PURE__*/_react["default"].createElement("path", {
28
+ fill: "none",
29
+ d: "M0 0h24v24H0V0z"
30
+ }));
31
+ var rightCaret = exports.rightCaret = /*#__PURE__*/_react["default"].createElement("svg", {
32
+ fill: "currentColor",
33
+ focusable: "false",
34
+ viewBox: "0 0 24 24"
35
+ }, /*#__PURE__*/_react["default"].createElement("path", {
36
+ d: "M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z"
37
+ }), /*#__PURE__*/_react["default"].createElement("path", {
38
+ fill: "none",
39
+ d: "M0 0h24v24H0V0z"
40
+ }));
41
+ var downCaret = exports.downCaret = /*#__PURE__*/_react["default"].createElement("svg", {
42
+ xmlns: "http://www.w3.org/2000/svg",
43
+ width: "24",
44
+ height: "24",
45
+ viewBox: "0 0 24 24"
46
+ }, /*#__PURE__*/_react["default"].createElement("path", {
47
+ d: "M7.5 10L12.5 15L17.5 10H7.5Z",
48
+ fill: "currentColor"
49
+ }));
50
+ var upCaret = exports.upCaret = /*#__PURE__*/_react["default"].createElement("svg", {
51
+ xmlns: "http://www.w3.org/2000/svg",
52
+ height: "24",
53
+ width: "24",
54
+ viewBox: "0 0 24 24"
55
+ }, /*#__PURE__*/_react["default"].createElement("path", {
56
+ d: "m7 14 5-5 5 5Z",
57
+ fill: "currentColor"
58
+ }));
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { YearPickerPropsType } from "./types";
3
+ declare const _default: React.MemoExoticComponent<({ onYearSelect, selectedDate, today }: YearPickerPropsType) => JSX.Element>;
4
+ export default _default;
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
+ var _dayjs = _interopRequireDefault(require("dayjs"));
12
+ var _react = _interopRequireWildcard(require("react"));
13
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
14
+ var _templateObject, _templateObject2;
15
+ 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); }
16
+ 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; }
17
+ var getYearsArray = function getYearsArray() {
18
+ var yearList = [];
19
+ for (var i = 1899; i <= 2100; i++) {
20
+ yearList.push(i);
21
+ }
22
+ return yearList;
23
+ };
24
+ var yearList = getYearsArray();
25
+ var YearPicker = function YearPicker(_ref) {
26
+ var onYearSelect = _ref.onYearSelect,
27
+ selectedDate = _ref.selectedDate,
28
+ today = _ref.today;
29
+ var _useState = (0, _react.useState)(selectedDate ? selectedDate.get("year") : (0, _dayjs["default"])().get("year")),
30
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
31
+ yearToFocus = _useState2[0],
32
+ setYearToFocus = _useState2[1];
33
+ (0, _react.useEffect)(function () {
34
+ var _yearToFocusEl$scroll;
35
+ var yearToFocusEl = document.getElementById("year_".concat(yearToFocus));
36
+ yearToFocusEl === null || yearToFocusEl === void 0 ? void 0 : (_yearToFocusEl$scroll = yearToFocusEl.scrollIntoView) === null || _yearToFocusEl$scroll === void 0 ? void 0 : _yearToFocusEl$scroll.call(yearToFocusEl, {
37
+ block: "nearest",
38
+ inline: "start"
39
+ });
40
+ yearToFocusEl === null || yearToFocusEl === void 0 ? void 0 : yearToFocusEl.focus();
41
+ }, [yearToFocus]);
42
+ var handleDayKeyboardEvent = function handleDayKeyboardEvent(event) {
43
+ switch (event.key) {
44
+ case "ArrowUp":
45
+ setYearToFocus(function (prev) {
46
+ return prev > 1899 ? prev - 1 : prev;
47
+ });
48
+ break;
49
+ case "ArrowDown":
50
+ setYearToFocus(function (prev) {
51
+ return prev < 2100 ? prev + 1 : prev;
52
+ });
53
+ break;
54
+ }
55
+ };
56
+ return /*#__PURE__*/_react["default"].createElement(YearPickerContainer, null, yearList.map(function (year) {
57
+ return /*#__PURE__*/_react["default"].createElement(YearPickerButton, {
58
+ "aria-label": year,
59
+ key: year,
60
+ selected: (selectedDate === null || selectedDate === void 0 ? void 0 : selectedDate.get("year")) === year,
61
+ "aria-selected": (selectedDate === null || selectedDate === void 0 ? void 0 : selectedDate.get("year")) === year,
62
+ tabIndex: yearToFocus === year ? 0 : -1,
63
+ isCurrentYear: today.get("year") === year,
64
+ onKeyDown: function onKeyDown(event) {
65
+ return handleDayKeyboardEvent(event);
66
+ },
67
+ id: "year_".concat(year),
68
+ onClick: function onClick() {
69
+ onYearSelect(year);
70
+ }
71
+ }, year);
72
+ }));
73
+ };
74
+ var YearPickerContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n gap: 4px;\n align-items: center;\n overflow-y: scroll;\n width: 292px;\n height: 312px;\n padding: 2px 8px 8px 8px;\n"])));
75
+ var YearPickerButton = _styledComponents["default"].button(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n width: 80px;\n min-height: 40px;\n line-height: 21px;\n background-color: transparent;\n border: none;\n border-radius: 50px;\n cursor: pointer;\n font-family: ", ";\n font-size: ", ";\n color: ", ";\n font-weight: ", ";\n\n ", "\n\n &:hover, &:focus, &:active {\n font-size: ", ";\n line-height: 36px;\n }\n &:hover {\n color: ", ";\n background-color: ", ";\n }\n &:focus {\n color: ", ";\n outline: ", ";\n }\n &:active {\n color: ", ";\n background-color: ", " !important;\n }\n"])), function (props) {
76
+ return props.theme.dateInput.pickerFontFamily;
77
+ }, function (props) {
78
+ return props.theme.dateInput.pickerFontSize;
79
+ }, function (props) {
80
+ return props.theme.dateInput.pickerFontColor;
81
+ }, function (props) {
82
+ return props.theme.dateInput.pickerFontWeight;
83
+ }, function (props) {
84
+ return props.selected ? "font-size: ".concat(props.theme.dateInput.pickerInteractedYearFontSize, ";\n line-height: 36px;\n color: ").concat(props.theme.dateInput.pickerSelectedFontColor, " !important;\n background-color: ").concat(props.theme.dateInput.pickerSelectedBackgroundColor, " !important;") : props.isCurrentYear ? "border: 1px solid ".concat(props.theme.dateInput.pickerCurrentDateBorderColor, "; \n color: ").concat(props.theme.dateInput.pickerCurrentYearFontColor, ";") : "";
85
+ }, function (props) {
86
+ return props.theme.dateInput.pickerInteractedYearFontSize;
87
+ }, function (props) {
88
+ return props.theme.dateInput.pickerHoverFontColor;
89
+ }, function (props) {
90
+ return props.theme.dateInput.pickerHoverBackgroundColor;
91
+ }, function (props) {
92
+ return props.theme.dateInput.pickerHoverFontColor;
93
+ }, function (props) {
94
+ return "".concat(props.theme.dateInput.pickerFocusColor, " solid\n ").concat(props.theme.dateInput.pickerFocusWidth);
95
+ }, function (props) {
96
+ return props.theme.dateInput.pickerActiveFontColor;
97
+ }, function (props) {
98
+ return props.theme.dateInput.pickerActiveBackgroundColor;
99
+ });
100
+ var _default = exports["default"] = /*#__PURE__*/_react["default"].memo(YearPicker);
@@ -1,27 +1,28 @@
1
- declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
2
- declare type Margin = {
1
+ import { Dayjs } from "dayjs";
2
+ type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ type Margin = {
3
4
  top?: Space;
4
5
  bottom?: Space;
5
6
  left?: Space;
6
7
  right?: Space;
7
8
  };
8
- declare type Props = {
9
+ type Props = {
9
10
  /**
10
- * Text to be placed above the date.
11
+ * Initial value of the input element, only when it is uncontrolled.
11
12
  */
12
- label?: string;
13
- /**
14
- * Name attribute of the input element.
15
- */
16
- name?: string;
13
+ defaultValue?: string;
17
14
  /**
18
15
  * Value of the input element. If undefined, the component will be uncontrolled and the value will be managed internally by the component.
19
16
  */
20
17
  value?: string;
21
18
  /**
22
- * The format in which the date value will be displayed. User must use this format when editing the value or it will be considered as an invalid date.
19
+ * Text to be placed above the date input.
23
20
  */
24
- format?: string;
21
+ label?: string;
22
+ /**
23
+ * Name attribute of the input element.
24
+ */
25
+ name?: string;
25
26
  /**
26
27
  * Helper text to be placed above the date.
27
28
  */
@@ -30,6 +31,10 @@ declare type Props = {
30
31
  * If true, the date format will appear as placeholder in the field.
31
32
  */
32
33
  placeholder?: boolean;
34
+ /**
35
+ * The format in which the date value will be displayed. User must use this format when editing the value or it will be considered as an invalid date.
36
+ */
37
+ format?: string;
33
38
  /**
34
39
  * If true, the date input will have an action to clear the entered value.
35
40
  */
@@ -39,39 +44,48 @@ declare type Props = {
39
44
  */
40
45
  disabled?: boolean;
41
46
  /**
42
- * If true, the date will be optional, showing '(Optional)'
47
+ * If true, the date will be optional, showing the text '(Optional)'
43
48
  * next to the label. Otherwise, the field will be considered required and an error will be
44
49
  * passed as a parameter to the OnBlur and onChange functions when it has
45
50
  * not been filled.
46
51
  */
47
52
  optional?: boolean;
53
+ /**
54
+ * If true, the component will not be mutable, meaning the user can not edit the control.
55
+ * The date picker cannot be opened either. In addition, the clear action will not be displayed
56
+ * even if the flag is set to true.
57
+ */
58
+ readOnly?: boolean;
48
59
  /**
49
60
  * This function will be called when the user types within the input
50
61
  * element of the component. An object including the string value, the
51
62
  * error and the date value will be passed to this function.
52
63
  * If the string value is a valid date, error will
53
- * be null. Also, if the string value is not a valid date, date will be null.
64
+ * be undefined. Also, if the string value is not a valid date, date will be undefined.
54
65
  */
55
66
  onChange?: (val: {
56
67
  value: string;
57
- error: string | null;
58
- date: Date | null;
68
+ error?: string;
69
+ date?: Date;
59
70
  }) => void;
60
71
  /**
61
72
  * This function will be called when the input element loses the focus.
62
73
  * An object including the string value, the error and the date value
63
74
  * will be passed to this function. If the string value is a valid date, error will
64
- * be null. Also, if the string value is not a valid date, date will be null.
75
+ * be undefined. Also, if the string value is not a valid date, date will be undefined.
65
76
  */
66
77
  onBlur?: (val: {
67
78
  value: string;
68
- error: string | null;
69
- date: Date | null;
79
+ error?: string;
80
+ date?: Date;
70
81
  }) => void;
71
82
  /**
72
- * If it is defined, the component will change its appearance, showing
73
- * the error below the date input component. If it is not defined, the error
74
- * messages will be managed internally, but never displayed on its own.
83
+ * If it is a defined value and also a truthy string, the component will
84
+ * change its appearance, showing the error below the date input
85
+ * component. If the defined value is an empty string, it will reserve a
86
+ * space below the component for a future error, but it would not change
87
+ * its look. In case of being undefined or null, both the appearance and
88
+ * the space for the error message would not be modified.
75
89
  */
76
90
  error?: string;
77
91
  /**
@@ -93,8 +107,58 @@ declare type Props = {
93
107
  */
94
108
  tabIndex?: number;
95
109
  };
110
+ export type DatePickerPropsType = {
111
+ /**
112
+ * Initial selected date value. If invalid the actual date will be used instead.
113
+ */
114
+ date: Dayjs;
115
+ /**
116
+ * Function called when a date is selected.
117
+ */
118
+ onDateSelect: (date: Dayjs) => void;
119
+ /**
120
+ * Id assigned to the date picker.
121
+ */
122
+ id: string;
123
+ };
124
+ export type CalendarPropsType = {
125
+ /**
126
+ * Initial selected date value. If invalid the actual date will be used instead.
127
+ */
128
+ selectedDate: Dayjs;
129
+ /**
130
+ * Date showed by the calendar.
131
+ */
132
+ innerDate: Dayjs;
133
+ /**
134
+ * Function called when the showed date needs to be updated.
135
+ */
136
+ onInnerDateChange: (date: Dayjs) => void;
137
+ /**
138
+ * Function called when a date is selected.
139
+ */
140
+ onDaySelect: (date: Dayjs) => void;
141
+ /**
142
+ * Current date.
143
+ */
144
+ today: Dayjs;
145
+ };
146
+ export type YearPickerPropsType = {
147
+ /**
148
+ * Initial selected date value. If invalid the actual date will be used instead.
149
+ */
150
+ selectedDate: Dayjs;
151
+ /**
152
+ * Function called when a year is selected.
153
+ */
154
+ onYearSelect: (year: number) => void;
155
+ /**
156
+ * Current date.
157
+ */
158
+ today: Dayjs;
159
+ };
96
160
  /**
97
161
  * Reference to the component.
98
162
  */
99
- export declare type RefType = HTMLDivElement;
163
+ export type RefType = HTMLDivElement;
100
164
  export default Props;
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import DialogPropsType from "./types";
3
+ declare const DxcDialog: ({ isCloseVisible, onCloseClick, children, overlay, onBackgroundClick, tabIndex, }: DialogPropsType) => JSX.Element;
4
+ export default DxcDialog;