@dxc-technology/halstack-react 0.0.0-efc8cec → 0.0.0-eff2879

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 (607) hide show
  1. package/BackgroundColorContext.d.ts +1 -0
  2. package/BackgroundColorContext.js +30 -0
  3. package/HalstackContext.d.ts +1248 -0
  4. package/HalstackContext.js +310 -0
  5. package/README.md +28 -47
  6. package/accordion/Accordion.accessibility.test.js +71 -0
  7. package/accordion/Accordion.d.ts +4 -0
  8. package/accordion/Accordion.js +171 -0
  9. package/accordion/Accordion.stories.tsx +251 -0
  10. package/accordion/Accordion.test.js +56 -0
  11. package/accordion/types.d.ts +57 -0
  12. package/accordion/types.js +5 -0
  13. package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
  14. package/accordion-group/AccordionGroup.d.ts +7 -0
  15. package/accordion-group/AccordionGroup.js +101 -0
  16. package/accordion-group/AccordionGroup.stories.tsx +252 -0
  17. package/accordion-group/AccordionGroup.test.js +98 -0
  18. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  19. package/accordion-group/AccordionGroupAccordion.js +31 -0
  20. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  21. package/accordion-group/AccordionGroupContext.js +8 -0
  22. package/accordion-group/types.d.ts +67 -0
  23. package/accordion-group/types.js +5 -0
  24. package/action-icon/ActionIcon.accessibility.test.js +63 -0
  25. package/action-icon/ActionIcon.d.ts +4 -0
  26. package/action-icon/ActionIcon.js +48 -0
  27. package/action-icon/ActionIcon.stories.tsx +41 -0
  28. package/action-icon/ActionIcon.test.js +64 -0
  29. package/action-icon/types.d.ts +26 -0
  30. package/action-icon/types.js +5 -0
  31. package/alert/Alert.accessibility.test.js +95 -0
  32. package/alert/Alert.d.ts +4 -0
  33. package/alert/Alert.js +200 -0
  34. package/alert/Alert.stories.tsx +198 -0
  35. package/alert/Alert.test.js +75 -0
  36. package/alert/types.d.ts +49 -0
  37. package/alert/types.js +5 -0
  38. package/badge/Badge.accessibility.test.js +129 -0
  39. package/badge/Badge.d.ts +4 -0
  40. package/badge/Badge.js +161 -0
  41. package/badge/Badge.stories.tsx +210 -0
  42. package/badge/Badge.test.js +30 -0
  43. package/badge/types.d.ts +54 -0
  44. package/badge/types.js +5 -0
  45. package/bleed/Bleed.d.ts +3 -0
  46. package/bleed/Bleed.js +43 -0
  47. package/bleed/Bleed.stories.tsx +342 -0
  48. package/bleed/types.d.ts +37 -0
  49. package/bleed/types.js +5 -0
  50. package/box/Box.accessibility.test.js +33 -0
  51. package/box/Box.d.ts +4 -0
  52. package/box/Box.js +75 -0
  53. package/box/Box.stories.tsx +119 -0
  54. package/box/Box.test.js +13 -0
  55. package/box/types.d.ts +32 -0
  56. package/box/types.js +5 -0
  57. package/bulleted-list/BulletedList.accessibility.test.js +107 -0
  58. package/bulleted-list/BulletedList.d.ts +7 -0
  59. package/bulleted-list/BulletedList.js +92 -0
  60. package/bulleted-list/BulletedList.stories.tsx +115 -0
  61. package/bulleted-list/types.d.ts +38 -0
  62. package/bulleted-list/types.js +5 -0
  63. package/button/Button.accessibility.test.js +127 -0
  64. package/button/Button.d.ts +4 -0
  65. package/button/Button.js +121 -0
  66. package/button/Button.stories.tsx +325 -0
  67. package/button/Button.test.js +38 -0
  68. package/button/types.d.ts +57 -0
  69. package/button/types.js +5 -0
  70. package/card/Card.accessibility.test.js +36 -0
  71. package/card/Card.d.ts +4 -0
  72. package/card/Card.js +120 -0
  73. package/card/Card.stories.tsx +171 -0
  74. package/card/Card.test.js +39 -0
  75. package/card/types.d.ts +62 -0
  76. package/card/types.js +5 -0
  77. package/checkbox/Checkbox.accessibility.test.js +87 -0
  78. package/checkbox/Checkbox.d.ts +4 -0
  79. package/checkbox/Checkbox.js +215 -0
  80. package/checkbox/Checkbox.stories.tsx +222 -0
  81. package/checkbox/Checkbox.test.js +199 -0
  82. package/checkbox/types.d.ts +72 -0
  83. package/checkbox/types.js +5 -0
  84. package/chip/Chip.accessibility.test.js +67 -0
  85. package/chip/Chip.d.ts +4 -0
  86. package/chip/Chip.js +124 -0
  87. package/chip/Chip.stories.tsx +195 -0
  88. package/chip/Chip.test.js +41 -0
  89. package/chip/types.d.ts +45 -0
  90. package/chip/types.js +5 -0
  91. package/common/coreTokens.d.ts +237 -0
  92. package/common/coreTokens.js +184 -0
  93. package/common/utils.d.ts +1 -0
  94. package/common/utils.js +16 -0
  95. package/common/variables.d.ts +1394 -0
  96. package/common/variables.js +1266 -0
  97. package/container/Container.d.ts +4 -0
  98. package/container/Container.js +194 -0
  99. package/container/Container.stories.tsx +214 -0
  100. package/container/types.d.ts +74 -0
  101. package/container/types.js +5 -0
  102. package/contextual-menu/ContextualMenu.accessibility.test.js +86 -0
  103. package/contextual-menu/ContextualMenu.d.ts +5 -0
  104. package/contextual-menu/ContextualMenu.js +88 -0
  105. package/contextual-menu/ContextualMenu.stories.tsx +219 -0
  106. package/contextual-menu/ContextualMenu.test.js +205 -0
  107. package/contextual-menu/GroupItem.d.ts +4 -0
  108. package/contextual-menu/GroupItem.js +67 -0
  109. package/contextual-menu/ItemAction.d.ts +4 -0
  110. package/contextual-menu/ItemAction.js +52 -0
  111. package/contextual-menu/MenuItem.d.ts +4 -0
  112. package/contextual-menu/MenuItem.js +29 -0
  113. package/contextual-menu/SingleItem.d.ts +4 -0
  114. package/contextual-menu/SingleItem.js +38 -0
  115. package/contextual-menu/types.d.ts +58 -0
  116. package/contextual-menu/types.js +5 -0
  117. package/date-input/Calendar.d.ts +4 -0
  118. package/date-input/Calendar.js +214 -0
  119. package/date-input/DateInput.accessibility.test.js +216 -0
  120. package/date-input/DateInput.d.ts +4 -0
  121. package/date-input/DateInput.js +222 -0
  122. package/date-input/DateInput.stories.tsx +285 -0
  123. package/date-input/DateInput.test.js +808 -0
  124. package/date-input/DatePicker.d.ts +4 -0
  125. package/date-input/DatePicker.js +121 -0
  126. package/date-input/YearPicker.d.ts +4 -0
  127. package/date-input/YearPicker.js +100 -0
  128. package/date-input/types.d.ts +164 -0
  129. package/date-input/types.js +5 -0
  130. package/dialog/Dialog.accessibility.test.js +69 -0
  131. package/dialog/Dialog.d.ts +4 -0
  132. package/dialog/Dialog.js +92 -0
  133. package/dialog/Dialog.stories.tsx +365 -0
  134. package/dialog/Dialog.test.js +307 -0
  135. package/dialog/types.d.ts +36 -0
  136. package/dialog/types.js +5 -0
  137. package/divider/Divider.accessibility.test.js +33 -0
  138. package/divider/Divider.d.ts +4 -0
  139. package/divider/Divider.js +36 -0
  140. package/divider/Divider.stories.tsx +223 -0
  141. package/divider/Divider.test.js +38 -0
  142. package/divider/types.d.ts +21 -0
  143. package/divider/types.js +5 -0
  144. package/dropdown/Dropdown.accessibility.test.js +180 -0
  145. package/dropdown/Dropdown.d.ts +4 -0
  146. package/dropdown/Dropdown.js +319 -0
  147. package/dropdown/Dropdown.stories.tsx +427 -0
  148. package/dropdown/Dropdown.test.js +599 -0
  149. package/dropdown/DropdownMenu.d.ts +4 -0
  150. package/dropdown/DropdownMenu.js +63 -0
  151. package/dropdown/DropdownMenuItem.d.ts +4 -0
  152. package/dropdown/DropdownMenuItem.js +70 -0
  153. package/dropdown/types.d.ts +96 -0
  154. package/dropdown/types.js +5 -0
  155. package/file-input/FileInput.accessibility.test.js +160 -0
  156. package/file-input/FileInput.d.ts +4 -0
  157. package/file-input/FileInput.js +443 -0
  158. package/file-input/FileInput.stories.tsx +618 -0
  159. package/file-input/FileInput.test.js +382 -0
  160. package/file-input/FileItem.d.ts +4 -0
  161. package/file-input/FileItem.js +121 -0
  162. package/file-input/types.d.ts +129 -0
  163. package/file-input/types.js +5 -0
  164. package/flex/Flex.d.ts +4 -0
  165. package/flex/Flex.js +57 -0
  166. package/flex/Flex.stories.tsx +112 -0
  167. package/flex/types.d.ts +97 -0
  168. package/flex/types.js +5 -0
  169. package/footer/Footer.accessibility.test.js +117 -0
  170. package/footer/Footer.d.ts +4 -0
  171. package/footer/Footer.js +140 -0
  172. package/footer/Footer.stories.tsx +196 -0
  173. package/footer/Footer.test.js +85 -0
  174. package/footer/Icons.d.ts +3 -0
  175. package/footer/Icons.js +136 -0
  176. package/footer/types.d.ts +64 -0
  177. package/footer/types.js +5 -0
  178. package/grid/Grid.d.ts +7 -0
  179. package/grid/Grid.js +76 -0
  180. package/grid/Grid.stories.tsx +219 -0
  181. package/grid/types.d.ts +115 -0
  182. package/grid/types.js +5 -0
  183. package/header/Header.accessibility.test.js +84 -0
  184. package/header/Header.d.ts +8 -0
  185. package/header/Header.js +209 -0
  186. package/header/Header.stories.tsx +251 -0
  187. package/header/Header.test.js +66 -0
  188. package/header/Icons.d.ts +2 -0
  189. package/header/Icons.js +29 -0
  190. package/header/types.d.ts +33 -0
  191. package/header/types.js +5 -0
  192. package/heading/Heading.accessibility.test.js +33 -0
  193. package/heading/Heading.d.ts +4 -0
  194. package/heading/Heading.js +137 -0
  195. package/heading/Heading.stories.tsx +54 -0
  196. package/heading/Heading.test.js +169 -0
  197. package/heading/types.d.ts +33 -0
  198. package/heading/types.js +5 -0
  199. package/icon/Icon.accessibility.test.js +30 -0
  200. package/icon/Icon.d.ts +4 -0
  201. package/icon/Icon.js +33 -0
  202. package/icon/Icon.stories.tsx +28 -0
  203. package/icon/types.d.ts +4 -0
  204. package/icon/types.js +5 -0
  205. package/image/Image.accessibility.test.js +56 -0
  206. package/image/Image.d.ts +4 -0
  207. package/image/Image.js +70 -0
  208. package/image/Image.stories.tsx +129 -0
  209. package/image/types.d.ts +72 -0
  210. package/image/types.js +5 -0
  211. package/inset/Inset.d.ts +3 -0
  212. package/inset/Inset.js +43 -0
  213. package/inset/Inset.stories.tsx +230 -0
  214. package/inset/types.d.ts +37 -0
  215. package/inset/types.js +5 -0
  216. package/layout/ApplicationLayout.d.ts +20 -0
  217. package/layout/ApplicationLayout.js +137 -0
  218. package/layout/ApplicationLayout.stories.tsx +162 -0
  219. package/layout/Icons.d.ts +7 -0
  220. package/layout/Icons.js +48 -0
  221. package/layout/types.d.ts +41 -0
  222. package/layout/types.js +5 -0
  223. package/link/Link.accessibility.test.js +112 -0
  224. package/link/Link.d.ts +4 -0
  225. package/link/Link.js +117 -0
  226. package/link/Link.stories.tsx +253 -0
  227. package/link/Link.test.js +63 -0
  228. package/link/types.d.ts +54 -0
  229. package/link/types.js +5 -0
  230. package/main.d.ts +49 -0
  231. package/{dist/main.js → main.js} +165 -111
  232. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  233. package/nav-tabs/NavTabs.d.ts +7 -0
  234. package/nav-tabs/NavTabs.js +93 -0
  235. package/nav-tabs/NavTabs.stories.tsx +279 -0
  236. package/nav-tabs/NavTabs.test.js +75 -0
  237. package/nav-tabs/NavTabsContext.d.ts +3 -0
  238. package/nav-tabs/NavTabsContext.js +8 -0
  239. package/nav-tabs/Tab.d.ts +4 -0
  240. package/nav-tabs/Tab.js +117 -0
  241. package/nav-tabs/types.d.ts +52 -0
  242. package/nav-tabs/types.js +5 -0
  243. package/number-input/NumberInput.accessibility.test.js +228 -0
  244. package/number-input/NumberInput.d.ts +4 -0
  245. package/number-input/NumberInput.js +86 -0
  246. package/number-input/NumberInput.stories.tsx +131 -0
  247. package/number-input/NumberInput.test.js +989 -0
  248. package/number-input/NumberInputContext.d.ts +3 -0
  249. package/number-input/NumberInputContext.js +8 -0
  250. package/number-input/types.d.ts +136 -0
  251. package/number-input/types.js +5 -0
  252. package/package.json +62 -52
  253. package/paginator/Paginator.accessibility.test.js +79 -0
  254. package/paginator/Paginator.d.ts +4 -0
  255. package/paginator/Paginator.js +134 -0
  256. package/paginator/Paginator.stories.tsx +87 -0
  257. package/paginator/Paginator.test.js +335 -0
  258. package/paginator/types.d.ts +38 -0
  259. package/paginator/types.js +5 -0
  260. package/paragraph/Paragraph.accessibility.test.js +28 -0
  261. package/paragraph/Paragraph.d.ts +5 -0
  262. package/paragraph/Paragraph.js +22 -0
  263. package/paragraph/Paragraph.stories.tsx +27 -0
  264. package/password-input/PasswordInput.accessibility.test.js +153 -0
  265. package/password-input/PasswordInput.d.ts +4 -0
  266. package/password-input/PasswordInput.js +96 -0
  267. package/password-input/PasswordInput.stories.tsx +99 -0
  268. package/password-input/PasswordInput.test.js +198 -0
  269. package/password-input/types.d.ts +111 -0
  270. package/password-input/types.js +5 -0
  271. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  272. package/progress-bar/ProgressBar.d.ts +4 -0
  273. package/progress-bar/ProgressBar.js +144 -0
  274. package/progress-bar/ProgressBar.stories.tsx +93 -0
  275. package/progress-bar/ProgressBar.test.js +93 -0
  276. package/progress-bar/types.d.ts +37 -0
  277. package/progress-bar/types.js +5 -0
  278. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  279. package/quick-nav/QuickNav.d.ts +4 -0
  280. package/quick-nav/QuickNav.js +94 -0
  281. package/quick-nav/QuickNav.stories.tsx +356 -0
  282. package/quick-nav/types.d.ts +21 -0
  283. package/quick-nav/types.js +5 -0
  284. package/radio-group/Radio.d.ts +4 -0
  285. package/radio-group/Radio.js +124 -0
  286. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  287. package/radio-group/RadioGroup.d.ts +4 -0
  288. package/radio-group/RadioGroup.js +235 -0
  289. package/radio-group/RadioGroup.stories.tsx +214 -0
  290. package/radio-group/RadioGroup.test.js +756 -0
  291. package/radio-group/types.d.ts +114 -0
  292. package/radio-group/types.js +5 -0
  293. package/resultset-table/Icons.d.ts +7 -0
  294. package/resultset-table/Icons.js +47 -0
  295. package/resultset-table/ResultsetTable.accessibility.test.js +274 -0
  296. package/resultset-table/ResultsetTable.d.ts +7 -0
  297. package/resultset-table/ResultsetTable.js +170 -0
  298. package/resultset-table/ResultsetTable.stories.tsx +401 -0
  299. package/resultset-table/ResultsetTable.test.js +381 -0
  300. package/resultset-table/types.d.ts +100 -0
  301. package/resultset-table/types.js +5 -0
  302. package/select/Listbox.d.ts +4 -0
  303. package/select/Listbox.js +145 -0
  304. package/select/Option.d.ts +4 -0
  305. package/select/Option.js +88 -0
  306. package/select/Select.accessibility.test.js +217 -0
  307. package/select/Select.d.ts +4 -0
  308. package/select/Select.js +598 -0
  309. package/select/Select.stories.tsx +907 -0
  310. package/select/Select.test.js +2276 -0
  311. package/select/types.d.ts +209 -0
  312. package/select/types.js +5 -0
  313. package/sidenav/Sidenav.accessibility.test.js +59 -0
  314. package/sidenav/Sidenav.d.ts +10 -0
  315. package/sidenav/Sidenav.js +201 -0
  316. package/sidenav/Sidenav.stories.tsx +277 -0
  317. package/sidenav/Sidenav.test.js +37 -0
  318. package/sidenav/SidenavContext.d.ts +5 -0
  319. package/sidenav/SidenavContext.js +13 -0
  320. package/sidenav/types.d.ts +76 -0
  321. package/sidenav/types.js +5 -0
  322. package/slider/Slider.accessibility.test.js +104 -0
  323. package/slider/Slider.d.ts +4 -0
  324. package/slider/Slider.js +285 -0
  325. package/slider/Slider.test.js +254 -0
  326. package/slider/types.d.ts +86 -0
  327. package/slider/types.js +5 -0
  328. package/spinner/Spinner.accessibility.test.js +96 -0
  329. package/spinner/Spinner.d.ts +4 -0
  330. package/spinner/Spinner.js +206 -0
  331. package/spinner/Spinner.stories.tsx +129 -0
  332. package/spinner/Spinner.test.js +55 -0
  333. package/spinner/types.d.ts +32 -0
  334. package/spinner/types.js +5 -0
  335. package/status-light/StatusLight.accessibility.test.js +157 -0
  336. package/status-light/StatusLight.d.ts +4 -0
  337. package/status-light/StatusLight.js +51 -0
  338. package/status-light/StatusLight.stories.tsx +74 -0
  339. package/status-light/StatusLight.test.js +25 -0
  340. package/status-light/types.d.ts +17 -0
  341. package/status-light/types.js +5 -0
  342. package/switch/Switch.accessibility.test.js +89 -0
  343. package/switch/Switch.d.ts +4 -0
  344. package/switch/Switch.js +214 -0
  345. package/switch/Switch.stories.tsx +137 -0
  346. package/switch/Switch.test.js +180 -0
  347. package/switch/types.d.ts +66 -0
  348. package/switch/types.js +5 -0
  349. package/table/DropdownTheme.js +62 -0
  350. package/table/Table.accessibility.test.js +82 -0
  351. package/table/Table.d.ts +8 -0
  352. package/table/Table.js +161 -0
  353. package/table/Table.stories.tsx +651 -0
  354. package/table/Table.test.js +113 -0
  355. package/table/types.d.ts +49 -0
  356. package/table/types.js +5 -0
  357. package/tabs/Tab.d.ts +4 -0
  358. package/tabs/Tab.js +117 -0
  359. package/tabs/Tabs.accessibility.test.js +56 -0
  360. package/tabs/Tabs.d.ts +4 -0
  361. package/tabs/Tabs.js +373 -0
  362. package/tabs/Tabs.stories.tsx +224 -0
  363. package/tabs/Tabs.test.js +276 -0
  364. package/tabs/types.d.ts +92 -0
  365. package/tabs/types.js +5 -0
  366. package/tag/Tag.accessibility.test.js +69 -0
  367. package/tag/Tag.d.ts +4 -0
  368. package/tag/Tag.js +151 -0
  369. package/tag/Tag.stories.tsx +152 -0
  370. package/tag/Tag.test.js +41 -0
  371. package/tag/types.d.ts +69 -0
  372. package/tag/types.js +5 -0
  373. package/text-input/Suggestion.d.ts +4 -0
  374. package/text-input/Suggestion.js +67 -0
  375. package/text-input/Suggestions.d.ts +4 -0
  376. package/text-input/Suggestions.js +86 -0
  377. package/text-input/TextInput.accessibility.test.js +321 -0
  378. package/text-input/TextInput.d.ts +4 -0
  379. package/text-input/TextInput.js +567 -0
  380. package/text-input/TextInput.stories.tsx +465 -0
  381. package/text-input/TextInput.test.js +1756 -0
  382. package/text-input/types.d.ts +205 -0
  383. package/text-input/types.js +5 -0
  384. package/textarea/Textarea.accessibility.test.js +155 -0
  385. package/textarea/Textarea.d.ts +4 -0
  386. package/textarea/Textarea.js +234 -0
  387. package/textarea/Textarea.stories.tsx +174 -0
  388. package/textarea/Textarea.test.js +406 -0
  389. package/textarea/types.d.ts +141 -0
  390. package/textarea/types.js +5 -0
  391. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  392. package/toggle-group/ToggleGroup.d.ts +4 -0
  393. package/toggle-group/ToggleGroup.js +202 -0
  394. package/toggle-group/ToggleGroup.stories.tsx +218 -0
  395. package/toggle-group/ToggleGroup.test.js +137 -0
  396. package/toggle-group/types.d.ts +114 -0
  397. package/toggle-group/types.js +5 -0
  398. package/typography/Typography.accessibility.test.js +339 -0
  399. package/typography/Typography.d.ts +4 -0
  400. package/typography/Typography.js +23 -0
  401. package/typography/Typography.stories.tsx +198 -0
  402. package/typography/types.d.ts +18 -0
  403. package/typography/types.js +5 -0
  404. package/useTheme.d.ts +1147 -0
  405. package/{dist/useTheme.js → useTheme.js} +4 -11
  406. package/useTranslatedLabels.d.ts +85 -0
  407. package/useTranslatedLabels.js +14 -0
  408. package/utils/BaseTypography.d.ts +21 -0
  409. package/utils/BaseTypography.js +94 -0
  410. package/utils/FocusLock.d.ts +13 -0
  411. package/utils/FocusLock.js +124 -0
  412. package/wizard/Wizard.accessibility.test.js +55 -0
  413. package/wizard/Wizard.d.ts +4 -0
  414. package/wizard/Wizard.js +247 -0
  415. package/wizard/Wizard.stories.tsx +272 -0
  416. package/wizard/Wizard.test.js +114 -0
  417. package/wizard/types.d.ts +64 -0
  418. package/wizard/types.js +5 -0
  419. package/babel.config.js +0 -8
  420. package/dist/ThemeContext.js +0 -185
  421. package/dist/accordion/Accordion.js +0 -286
  422. package/dist/accordion/Accordion.stories.js +0 -207
  423. package/dist/accordion/readme.md +0 -96
  424. package/dist/accordion-group/AccordionGroup.js +0 -156
  425. package/dist/accordion-group/AccordionGroup.stories.js +0 -207
  426. package/dist/accordion-group/readme.md +0 -70
  427. package/dist/alert/Alert.js +0 -316
  428. package/dist/alert/Alert.stories.js +0 -158
  429. package/dist/alert/close.svg +0 -4
  430. package/dist/alert/error.svg +0 -4
  431. package/dist/alert/info.svg +0 -4
  432. package/dist/alert/readme.md +0 -43
  433. package/dist/alert/success.svg +0 -4
  434. package/dist/alert/warning.svg +0 -4
  435. package/dist/badge/Badge.js +0 -42
  436. package/dist/box/Box.js +0 -149
  437. package/dist/button/Button.js +0 -221
  438. package/dist/button/Button.stories.js +0 -224
  439. package/dist/button/readme.md +0 -93
  440. package/dist/card/Card.js +0 -247
  441. package/dist/checkbox/Checkbox.js +0 -235
  442. package/dist/checkbox/Checkbox.stories.js +0 -144
  443. package/dist/checkbox/readme.md +0 -116
  444. package/dist/chip/Chip.js +0 -225
  445. package/dist/common/OpenSans.css +0 -81
  446. package/dist/common/RequiredComponent.js +0 -40
  447. package/dist/common/fonts/OpenSans-Bold.ttf +0 -0
  448. package/dist/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  449. package/dist/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  450. package/dist/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  451. package/dist/common/fonts/OpenSans-Italic.ttf +0 -0
  452. package/dist/common/fonts/OpenSans-Light.ttf +0 -0
  453. package/dist/common/fonts/OpenSans-LightItalic.ttf +0 -0
  454. package/dist/common/fonts/OpenSans-Regular.ttf +0 -0
  455. package/dist/common/fonts/OpenSans-SemiBold.ttf +0 -0
  456. package/dist/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  457. package/dist/common/services/example-service.js +0 -10
  458. package/dist/common/services/example-service.test.js +0 -12
  459. package/dist/common/utils.js +0 -42
  460. package/dist/common/variables.js +0 -522
  461. package/dist/date/Date.js +0 -359
  462. package/dist/date/Date.stories.js +0 -205
  463. package/dist/date/calendar.svg +0 -1
  464. package/dist/date/calendar_dark.svg +0 -1
  465. package/dist/date/readme.md +0 -73
  466. package/dist/dialog/Dialog.js +0 -205
  467. package/dist/dialog/Dialog.stories.js +0 -217
  468. package/dist/dialog/readme.md +0 -32
  469. package/dist/dropdown/Dropdown.js +0 -458
  470. package/dist/dropdown/Dropdown.stories.js +0 -249
  471. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  472. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  473. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  474. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  475. package/dist/dropdown/readme.md +0 -69
  476. package/dist/footer/Footer.js +0 -381
  477. package/dist/footer/Footer.stories.js +0 -94
  478. package/dist/footer/dxc_logo_wht.png +0 -0
  479. package/dist/footer/readme.md +0 -41
  480. package/dist/header/Header.js +0 -385
  481. package/dist/header/Header.stories.js +0 -176
  482. package/dist/header/close_icon.svg +0 -1
  483. package/dist/header/dxc_logo_black.png +0 -0
  484. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  485. package/dist/header/dxc_logo_white.png +0 -0
  486. package/dist/header/hamb_menu_black.svg +0 -1
  487. package/dist/header/hamb_menu_white.svg +0 -1
  488. package/dist/header/readme.md +0 -33
  489. package/dist/heading/Heading.js +0 -165
  490. package/dist/input-text/InputText.js +0 -599
  491. package/dist/input-text/InputText.stories.js +0 -209
  492. package/dist/input-text/error.svg +0 -1
  493. package/dist/input-text/readme.md +0 -91
  494. package/dist/layout/ApplicationLayout.js +0 -331
  495. package/dist/layout/facebook.svg +0 -45
  496. package/dist/layout/linkedin.svg +0 -50
  497. package/dist/layout/twitter.svg +0 -53
  498. package/dist/link/Link.js +0 -201
  499. package/dist/link/readme.md +0 -51
  500. package/dist/paginator/Paginator.js +0 -263
  501. package/dist/paginator/images/next.svg +0 -3
  502. package/dist/paginator/images/nextPage.svg +0 -3
  503. package/dist/paginator/images/previous.svg +0 -3
  504. package/dist/paginator/images/previousPage.svg +0 -3
  505. package/dist/paginator/readme.md +0 -50
  506. package/dist/progress-bar/ProgressBar.js +0 -194
  507. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  508. package/dist/progress-bar/readme.md +0 -63
  509. package/dist/radio/Radio.js +0 -192
  510. package/dist/radio/Radio.stories.js +0 -166
  511. package/dist/radio/readme.md +0 -70
  512. package/dist/resultsetTable/ResultsetTable.js +0 -333
  513. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  514. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  515. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  516. package/dist/select/Select.js +0 -492
  517. package/dist/select/Select.stories.js +0 -235
  518. package/dist/select/readme.md +0 -72
  519. package/dist/sidenav/Sidenav.js +0 -157
  520. package/dist/slider/Slider.js +0 -269
  521. package/dist/slider/Slider.stories.js +0 -241
  522. package/dist/slider/readme.md +0 -64
  523. package/dist/spinner/Spinner.js +0 -200
  524. package/dist/spinner/Spinner.stories.js +0 -183
  525. package/dist/spinner/readme.md +0 -65
  526. package/dist/switch/Switch.js +0 -196
  527. package/dist/switch/Switch.stories.js +0 -134
  528. package/dist/switch/readme.md +0 -133
  529. package/dist/table/Table.js +0 -100
  530. package/dist/tabs/Tabs.js +0 -327
  531. package/dist/tabs/Tabs.stories.js +0 -130
  532. package/dist/tabs/readme.md +0 -78
  533. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  534. package/dist/tabs-for-sections/readme.md +0 -78
  535. package/dist/tag/Tag.js +0 -268
  536. package/dist/textarea/Textarea.js +0 -240
  537. package/dist/toggle/Toggle.js +0 -222
  538. package/dist/toggle/Toggle.stories.js +0 -297
  539. package/dist/toggle/readme.md +0 -80
  540. package/dist/toggle-group/ToggleGroup.js +0 -225
  541. package/dist/toggle-group/readme.md +0 -82
  542. package/dist/upload/Upload.js +0 -211
  543. package/dist/upload/Upload.stories.js +0 -72
  544. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -125
  545. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  546. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  547. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -295
  548. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  549. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  550. package/dist/upload/file-upload/FileToUpload.js +0 -164
  551. package/dist/upload/file-upload/audio-icon.svg +0 -4
  552. package/dist/upload/file-upload/close.svg +0 -4
  553. package/dist/upload/file-upload/file-icon.svg +0 -4
  554. package/dist/upload/file-upload/video-icon.svg +0 -4
  555. package/dist/upload/files-upload/FilesToUpload.js +0 -125
  556. package/dist/upload/readme.md +0 -37
  557. package/dist/upload/transaction/Transaction.js +0 -154
  558. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  559. package/dist/upload/transaction/audio-icon.svg +0 -4
  560. package/dist/upload/transaction/error-icon.svg +0 -4
  561. package/dist/upload/transaction/file-icon-err.svg +0 -4
  562. package/dist/upload/transaction/file-icon.svg +0 -4
  563. package/dist/upload/transaction/image-icon-err.svg +0 -4
  564. package/dist/upload/transaction/image-icon.svg +0 -4
  565. package/dist/upload/transaction/success-icon.svg +0 -4
  566. package/dist/upload/transaction/video-icon-err.svg +0 -4
  567. package/dist/upload/transaction/video-icon.svg +0 -4
  568. package/dist/upload/transactions/Transactions.js +0 -124
  569. package/dist/wizard/Wizard.js +0 -357
  570. package/dist/wizard/invalid_icon.svg +0 -6
  571. package/dist/wizard/valid_icon.svg +0 -6
  572. package/dist/wizard/validation-wrong.svg +0 -6
  573. package/test/Accordion.test.js +0 -33
  574. package/test/AccordionGroup.test.js +0 -109
  575. package/test/Alert.test.js +0 -53
  576. package/test/Box.test.js +0 -10
  577. package/test/Button.test.js +0 -18
  578. package/test/Card.test.js +0 -30
  579. package/test/Checkbox.test.js +0 -45
  580. package/test/Chip.test.js +0 -25
  581. package/test/Date.test.js +0 -393
  582. package/test/Dialog.test.js +0 -23
  583. package/test/Dropdown.test.js +0 -130
  584. package/test/Footer.test.js +0 -99
  585. package/test/Header.test.js +0 -39
  586. package/test/Heading.test.js +0 -35
  587. package/test/InputText.test.js +0 -240
  588. package/test/Link.test.js +0 -42
  589. package/test/Paginator.test.js +0 -177
  590. package/test/ProgressBar.test.js +0 -35
  591. package/test/Radio.test.js +0 -37
  592. package/test/ResultsetTable.test.js +0 -330
  593. package/test/Select.test.js +0 -192
  594. package/test/Sidenav.test.js +0 -45
  595. package/test/Slider.test.js +0 -82
  596. package/test/Spinner.test.js +0 -27
  597. package/test/Switch.test.js +0 -45
  598. package/test/Table.test.js +0 -36
  599. package/test/Tabs.test.js +0 -109
  600. package/test/TabsForSections.test.js +0 -34
  601. package/test/Tag.test.js +0 -32
  602. package/test/TextArea.test.js +0 -52
  603. package/test/ToggleGroup.test.js +0 -81
  604. package/test/Upload.test.js +0 -60
  605. package/test/Wizard.test.js +0 -130
  606. package/test/mocks/pngMock.js +0 -1
  607. package/test/mocks/svgMock.js +0 -1
@@ -0,0 +1,222 @@
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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
12
+ var _react = _interopRequireWildcard(require("react"));
13
+ var _dayjs = _interopRequireDefault(require("dayjs"));
14
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
15
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
16
+ var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
17
+ var _TextInput = _interopRequireDefault(require("../text-input/TextInput"));
18
+ var _DatePicker = _interopRequireDefault(require("./DatePicker"));
19
+ var Popover = _interopRequireWildcard(require("@radix-ui/react-popover"));
20
+ var _customParseFormat = _interopRequireDefault(require("dayjs/plugin/customParseFormat"));
21
+ var _uuid = require("uuid");
22
+ var _templateObject;
23
+ 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); }
24
+ 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; }
25
+ 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; }
26
+ 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; }
27
+ _dayjs["default"].extend(_customParseFormat["default"]);
28
+ var getValueForPicker = function getValueForPicker(value, format) {
29
+ return (0, _dayjs["default"])(value, format.toUpperCase(), true);
30
+ };
31
+ var getDate = function getDate(value, format, lastValidYear, setLastValidYear) {
32
+ if ((value || value === "") && format.toUpperCase().includes("YYYY")) return getValueForPicker(value, format);else {
33
+ var newDate = getValueForPicker(value, format);
34
+ if (!lastValidYear) {
35
+ if (+newDate.format("YY") < 68) {
36
+ setLastValidYear(2000 + +newDate.format("YY"));
37
+ newDate = newDate.set("year", 2000 + +newDate.format("YY"));
38
+ } else {
39
+ setLastValidYear(1900 + +newDate.format("YY"));
40
+ newDate = newDate.set("year", 1900 + +newDate.format("YY"));
41
+ }
42
+ } else {
43
+ newDate = newDate.set("year", (lastValidYear <= 1999 ? 1900 : 2000) + +newDate.format("YY"));
44
+ }
45
+ return newDate;
46
+ }
47
+ };
48
+ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
49
+ var _ref2;
50
+ var label = _ref.label,
51
+ name = _ref.name,
52
+ _ref$defaultValue = _ref.defaultValue,
53
+ defaultValue = _ref$defaultValue === void 0 ? "" : _ref$defaultValue,
54
+ value = _ref.value,
55
+ _ref$format = _ref.format,
56
+ format = _ref$format === void 0 ? "dd-MM-yyyy" : _ref$format,
57
+ helperText = _ref.helperText,
58
+ _ref$placeholder = _ref.placeholder,
59
+ placeholder = _ref$placeholder === void 0 ? false : _ref$placeholder,
60
+ clearable = _ref.clearable,
61
+ disabled = _ref.disabled,
62
+ readOnly = _ref.readOnly,
63
+ optional = _ref.optional,
64
+ onChange = _ref.onChange,
65
+ onBlur = _ref.onBlur,
66
+ error = _ref.error,
67
+ autocomplete = _ref.autocomplete,
68
+ margin = _ref.margin,
69
+ size = _ref.size,
70
+ tabIndex = _ref.tabIndex;
71
+ var _useState = (0, _react.useState)(defaultValue),
72
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
73
+ innerValue = _useState2[0],
74
+ setInnerValue = _useState2[1];
75
+ var _useState3 = (0, _react.useState)(false),
76
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
77
+ isOpen = _useState4[0],
78
+ setIsOpen = _useState4[1];
79
+ var _useState5 = (0, _react.useState)("date-picker-".concat((0, _uuid.v4)())),
80
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 1),
81
+ calendarId = _useState6[0];
82
+ var _useState7 = (0, _react.useState)(getValueForPicker((_ref2 = value !== null && value !== void 0 ? value : defaultValue) !== null && _ref2 !== void 0 ? _ref2 : "", format)),
83
+ _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
84
+ dayjsDate = _useState8[0],
85
+ setDayjsDate = _useState8[1];
86
+ 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),
87
+ _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
88
+ lastValidYear = _useState10[0],
89
+ setLastValidYear = _useState10[1];
90
+ var colorsTheme = (0, _useTheme["default"])();
91
+ var translatedLabels = (0, _useTranslatedLabels["default"])();
92
+ var dateRef = (0, _react.useRef)(null);
93
+ (0, _react.useEffect)(function () {
94
+ if (value || value === "") setDayjsDate(getDate(value, format, lastValidYear, setLastValidYear));
95
+ }, [value, format, lastValidYear]);
96
+ (0, _react.useEffect)(function () {
97
+ if (!disabled) {
98
+ var actionButtonRef = dateRef === null || dateRef === void 0 ? void 0 : dateRef.current.querySelector("[title='Open calendar']");
99
+ actionButtonRef === null || actionButtonRef === void 0 ? void 0 : actionButtonRef.setAttribute("aria-haspopup", true);
100
+ actionButtonRef === null || actionButtonRef === void 0 ? void 0 : actionButtonRef.setAttribute("role", "combobox");
101
+ actionButtonRef === null || actionButtonRef === void 0 ? void 0 : actionButtonRef.setAttribute("aria-expanded", isOpen);
102
+ actionButtonRef === null || actionButtonRef === void 0 ? void 0 : actionButtonRef.setAttribute("aria-controls", calendarId);
103
+ actionButtonRef === null || actionButtonRef === void 0 ? void 0 : actionButtonRef.setAttribute("aria-describedby", calendarId);
104
+ }
105
+ }, [isOpen, disabled, calendarId]);
106
+ var handleCalendarOnClick = function handleCalendarOnClick(newDate) {
107
+ var newValue = newDate.format(format.toUpperCase());
108
+ if (!value) {
109
+ setDayjsDate(newDate);
110
+ setInnerValue(newValue);
111
+ }
112
+ setLastValidYear(newDate.get("year"));
113
+ newDate !== null && newDate !== void 0 && newDate.set("day", newDate.get("date")).toJSON() ? onChange === null || onChange === void 0 ? void 0 : onChange({
114
+ value: newValue,
115
+ date: newDate.toDate()
116
+ }) : onChange === null || onChange === void 0 ? void 0 : onChange({
117
+ value: newValue
118
+ });
119
+ };
120
+ var handleOnChange = function handleOnChange(_ref3) {
121
+ var newValue = _ref3.value,
122
+ inputError = _ref3.error;
123
+ value !== null && value !== void 0 ? value : setInnerValue(newValue);
124
+ var newDate = getDate(newValue, format, lastValidYear, setLastValidYear);
125
+ var invalidDateMessage = newValue !== "" && !newDate.isValid() && translatedLabels.dateInput.invalidDateErrorMessage;
126
+ var callbackParams = inputError || invalidDateMessage ? {
127
+ value: newValue,
128
+ error: inputError || invalidDateMessage
129
+ } : {
130
+ value: newValue
131
+ };
132
+ if (newDate.isValid()) {
133
+ setDayjsDate(newDate);
134
+ onChange === null || onChange === void 0 ? void 0 : onChange(_objectSpread(_objectSpread({}, callbackParams), {}, {
135
+ date: newDate.toDate()
136
+ }));
137
+ } else {
138
+ onChange === null || onChange === void 0 ? void 0 : onChange(callbackParams);
139
+ setLastValidYear(function (validYear) {
140
+ var _dayjsDate$get;
141
+ return (_dayjsDate$get = dayjsDate === null || dayjsDate === void 0 ? void 0 : dayjsDate.get("year")) !== null && _dayjsDate$get !== void 0 ? _dayjsDate$get : validYear;
142
+ });
143
+ setDayjsDate(null);
144
+ }
145
+ };
146
+ var handleOnBlur = function handleOnBlur(_ref4) {
147
+ var value = _ref4.value,
148
+ inputError = _ref4.error;
149
+ var date = getDate(value, format, lastValidYear, setLastValidYear);
150
+ var invalidDateMessage = value !== "" && !date.isValid() && translatedLabels.dateInput.invalidDateErrorMessage;
151
+ var callbackParams = inputError || invalidDateMessage ? {
152
+ value: value,
153
+ error: inputError || invalidDateMessage
154
+ } : {
155
+ value: value
156
+ };
157
+ date.isValid() ? onBlur === null || onBlur === void 0 ? void 0 : onBlur(_objectSpread(_objectSpread({}, callbackParams), {}, {
158
+ date: date.toDate()
159
+ })) : onBlur === null || onBlur === void 0 ? void 0 : onBlur(callbackParams);
160
+ };
161
+ var openCalendar = function openCalendar() {
162
+ setIsOpen(!isOpen);
163
+ };
164
+ var closeCalendar = function closeCalendar() {
165
+ setIsOpen(false);
166
+ };
167
+ var handleDatePickerEscKeydown = function handleDatePickerEscKeydown(event) {
168
+ event.preventDefault();
169
+ closeCalendar();
170
+ dateRef === null || dateRef === void 0 ? void 0 : dateRef.current.getElementsByTagName("input")[0].focus();
171
+ };
172
+ var handleDatePickerOnBlur = function handleDatePickerOnBlur(event) {
173
+ if (!(event !== null && event !== void 0 && event.currentTarget.contains(event.relatedTarget))) closeCalendar();
174
+ };
175
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
176
+ theme: colorsTheme
177
+ }, /*#__PURE__*/_react["default"].createElement("div", {
178
+ ref: ref
179
+ }, /*#__PURE__*/_react["default"].createElement(Popover.Root, {
180
+ open: isOpen
181
+ }, /*#__PURE__*/_react["default"].createElement(Popover.Trigger, {
182
+ asChild: true,
183
+ "aria-controls": undefined
184
+ }, /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
185
+ label: label,
186
+ name: name,
187
+ defaultValue: defaultValue,
188
+ value: value !== null && value !== void 0 ? value : innerValue,
189
+ helperText: helperText,
190
+ placeholder: placeholder ? format.toUpperCase() : null,
191
+ action: {
192
+ onClick: openCalendar,
193
+ icon: "filled_calendar_today",
194
+ title: "Open calendar"
195
+ },
196
+ clearable: clearable,
197
+ disabled: disabled,
198
+ readOnly: readOnly,
199
+ optional: optional,
200
+ onChange: handleOnChange,
201
+ onBlur: handleOnBlur,
202
+ error: error,
203
+ autocomplete: autocomplete,
204
+ margin: margin,
205
+ size: size,
206
+ tabIndex: tabIndex,
207
+ ref: dateRef
208
+ })), /*#__PURE__*/_react["default"].createElement(Popover.Portal, null, /*#__PURE__*/_react["default"].createElement(StyledPopoverContent, {
209
+ sideOffset: error ? -18 : 2,
210
+ align: "end",
211
+ "aria-modal": true,
212
+ onBlur: handleDatePickerOnBlur,
213
+ onEscapeKeyDown: handleDatePickerEscKeydown,
214
+ avoidCollisions: false
215
+ }, /*#__PURE__*/_react["default"].createElement(_DatePicker["default"], {
216
+ id: calendarId,
217
+ onDateSelect: handleCalendarOnClick,
218
+ date: dayjsDate
219
+ }))))));
220
+ });
221
+ var StyledPopoverContent = (0, _styledComponents["default"])(Popover.Content)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n z-index: 2147483647;\n &:focus-visible {\n outline: none;\n }\n"])));
222
+ var _default = exports["default"] = DxcDateInput;
@@ -0,0 +1,285 @@
1
+ import React from "react";
2
+ import { userEvent, within, fireEvent, screen } from "@storybook/testing-library";
3
+ import DxcDateInput from "./DateInput";
4
+ import DxcDatePicker from "./DatePicker";
5
+ import YearPicker from "./YearPicker";
6
+ import Calendar from "./Calendar";
7
+ import Title from "../../.storybook/components/Title";
8
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
9
+ import dayjs from "dayjs";
10
+ import useTheme from "../useTheme";
11
+ import { ThemeProvider } from "styled-components";
12
+ import { HalstackProvider } from "../HalstackContext";
13
+
14
+ export default {
15
+ title: "Date Input",
16
+ component: DxcDateInput,
17
+ };
18
+
19
+ const opinionatedTheme = {
20
+ dateInput: {
21
+ baseColor: "#5f249f",
22
+ selectedFontColor: "#ffffff",
23
+ },
24
+ };
25
+
26
+ const DateInputChromatic = () => (
27
+ <>
28
+ <ExampleContainer>
29
+ <Title title="Complete date input" theme="light" level={4} />
30
+ <DxcDateInput label="Date input" helperText="Help message" format="dd/mm/yy" placeholder optional />
31
+ </ExampleContainer>
32
+ <ExampleContainer>
33
+ <Title title="Disabled" theme="light" level={4} />
34
+ <DxcDateInput
35
+ label="Disabled date input"
36
+ helperText="Help message"
37
+ defaultValue="06-04-2007"
38
+ clearable
39
+ disabled
40
+ />
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>
52
+ <ExampleContainer>
53
+ <Title title="Invalid" theme="light" level={4} />
54
+ <DxcDateInput label="Error date input" error="Error message." placeholder />
55
+ </ExampleContainer>
56
+ <ExampleContainer>
57
+ <Title title="Relation between icons" theme="light" level={4} />
58
+ <DxcDateInput label="Error date input" error="Error message." defaultValue="06-04-2007" clearable />
59
+ </ExampleContainer>
60
+ <Title title="Margins" theme="light" level={2} />
61
+ <ExampleContainer>
62
+ <Title title="Xxsmall" theme="light" level={4} />
63
+ <DxcDateInput label="Xxsmall" margin="xxsmall" />
64
+ </ExampleContainer>
65
+ <ExampleContainer>
66
+ <Title title="Xsmall" theme="light" level={4} />
67
+ <DxcDateInput label="Xsmall" margin="xsmall" />
68
+ </ExampleContainer>
69
+ <ExampleContainer>
70
+ <Title title="Small" theme="light" level={4} />
71
+ <DxcDateInput label="Small" margin="small" />
72
+ </ExampleContainer>
73
+ <ExampleContainer>
74
+ <Title title="Medium" theme="light" level={4} />
75
+ <DxcDateInput label="Medium" margin="medium" />
76
+ </ExampleContainer>
77
+ <ExampleContainer>
78
+ <Title title="Large" theme="light" level={4} />
79
+ <DxcDateInput label="Large" margin="large" />
80
+ </ExampleContainer>
81
+ <ExampleContainer>
82
+ <Title title="Xlarge" theme="light" level={4} />
83
+ <DxcDateInput label="Xlarge" margin="xlarge" />
84
+ </ExampleContainer>
85
+ <ExampleContainer>
86
+ <Title title="Xxlarge" theme="light" level={4} />
87
+ <DxcDateInput label="Xxlarge" margin="xxlarge" />
88
+ </ExampleContainer>
89
+ <Title title="Sizes" theme="light" level={2} />
90
+ <ExampleContainer>
91
+ <Title title="Medium size" theme="light" level={4} />
92
+ <DxcDateInput label="Medium" size="medium" />
93
+ </ExampleContainer>
94
+ <ExampleContainer>
95
+ <Title title="Large size" theme="light" level={4} />
96
+ <DxcDateInput label="Large" size="large" />
97
+ </ExampleContainer>
98
+ <ExampleContainer>
99
+ <Title title="FillParent size" theme="light" level={4} />
100
+ <DxcDateInput label="FillParent" size="fillParent" />
101
+ </ExampleContainer>
102
+ <ExampleContainer expanded>
103
+ <Title title="Year picker" theme="light" level={4} />
104
+ <DxcDateInput label="Date input" defaultValue="06-04-1905" />
105
+ </ExampleContainer>
106
+ </>
107
+ );
108
+
109
+ export const Chromatic = DateInputChromatic.bind({});
110
+ Chromatic.play = async ({ canvasElement }) => {
111
+ const canvas = within(canvasElement);
112
+ await userEvent.click(canvas.getAllByRole("combobox")[canvas.getAllByRole("combobox").length - 1]);
113
+ await fireEvent.click(screen.getByText("April 1905"));
114
+ };
115
+
116
+ const DateInputOpinionatedTheme = () => (
117
+ <>
118
+ <Title title="Opinionated theme" theme="light" level={2} />
119
+ <ExampleContainer>
120
+ <Title title="Enabled" theme="light" level={4} />
121
+ <HalstackProvider theme={opinionatedTheme}>
122
+ <DxcDateInput
123
+ label="Date input"
124
+ helperText="Help message"
125
+ format="dd/mm/yy"
126
+ placeholder
127
+ optional
128
+ defaultValue="10-10-2022"
129
+ />
130
+ </HalstackProvider>
131
+ </ExampleContainer>
132
+ <ExampleContainer>
133
+ <Title title="Disabled" theme="light" level={4} />
134
+ <HalstackProvider theme={opinionatedTheme}>
135
+ <DxcDateInput label="Date input" helperText="Help message" format="dd/mm/yy" placeholder optional />
136
+ </HalstackProvider>
137
+ </ExampleContainer>
138
+ <ExampleContainer>
139
+ <Title title="Invalid" theme="light" level={4} />
140
+ <HalstackProvider theme={opinionatedTheme}>
141
+ <DxcDateInput label="Error date input" error="Error message." placeholder />
142
+ </HalstackProvider>
143
+ </ExampleContainer>
144
+ <ExampleContainer expanded>
145
+ <Title title="Date picker" theme="light" level={4} />
146
+ <HalstackProvider theme={opinionatedTheme}>
147
+ <DxcDateInput label="Date input" defaultValue="06-04-1905" />
148
+ </HalstackProvider>
149
+ </ExampleContainer>
150
+ </>
151
+ );
152
+
153
+ export const DateInputOpinionated = DateInputOpinionatedTheme.bind({});
154
+ DateInputOpinionated.play = async ({ canvasElement }) => {
155
+ const canvas = within(canvasElement);
156
+ await userEvent.click(canvas.getAllByRole("combobox")[canvas.getAllByRole("combobox").length - 1]);
157
+ };
158
+
159
+ const YearPickerOpinionatedTheme = () => (
160
+ <ExampleContainer expanded>
161
+ <Title title="Year picker" theme="light" level={4} />
162
+ <HalstackProvider theme={opinionatedTheme}>
163
+ <DxcDateInput label="Date input" defaultValue="06-04-1905" />
164
+ </HalstackProvider>
165
+ </ExampleContainer>
166
+ );
167
+
168
+ export const YearPickerOpinionated = YearPickerOpinionatedTheme.bind({});
169
+ YearPickerOpinionated.play = async ({ canvasElement }) => {
170
+ const canvas = within(canvasElement);
171
+ await userEvent.click(canvas.getByRole("combobox"));
172
+ await fireEvent.click(screen.getByText("April 1905"));
173
+ };
174
+
175
+ const DatePickerButtonStates = () => {
176
+ const colorsTheme: any = useTheme();
177
+ return (
178
+ <>
179
+ <ExampleContainer>
180
+ <Title title="Show date picker over another element with z-index 0" theme="light" level={4} />
181
+ <div
182
+ style={{
183
+ display: "flex",
184
+ flexDirection: "column",
185
+ gap: "20px",
186
+ height: "200px",
187
+ width: "500px",
188
+ marginBottom: "250px",
189
+ padding: "20px",
190
+ border: "1px solid black",
191
+ borderRadius: "4px",
192
+ overflow: "auto",
193
+ zIndex: "1300",
194
+ position: "relative",
195
+ }}
196
+ >
197
+ <DxcDateInput label="From" defaultValue="01-12-1995" />
198
+ <DxcDateInput label="To" />
199
+ <button style={{ zIndex: "1", width: "100px" }}>Submit</button>
200
+ </div>
201
+ </ExampleContainer>
202
+ <ThemeProvider theme={colorsTheme}>
203
+ <ExampleContainer pseudoState="pseudo-focus">
204
+ <Title title="Isolated calendar focused" theme="light" level={4} />
205
+ <DxcDatePicker date={dayjs("06-04-1950", "DD-MM-YYYY")} onDateSelect={() => {}} id="test-calendar" />
206
+ </ExampleContainer>
207
+ <ExampleContainer pseudoState="pseudo-hover">
208
+ <Title title="Isolated calendar hovered" theme="light" level={4} />
209
+ <DxcDatePicker date={dayjs("06-04-1950", "DD-MM-YYYY")} onDateSelect={() => {}} id="test-calendar" />
210
+ </ExampleContainer>
211
+ <ExampleContainer pseudoState="pseudo-active">
212
+ <Title title="Isolated calendar actived" theme="light" level={4} />
213
+ <DxcDatePicker date={dayjs("06-04-1950", "DD-MM-YYYY")} onDateSelect={() => {}} id="test-calendar" />
214
+ </ExampleContainer>
215
+ </ThemeProvider>
216
+ </>
217
+ );
218
+ };
219
+
220
+ export const DatePickerStates = DatePickerButtonStates.bind({});
221
+ DatePickerStates.play = async ({ canvasElement }) => {
222
+ const canvas = within(canvasElement);
223
+ const dateBtn = canvas.getAllByTitle("Open calendar")[0];
224
+ await userEvent.click(dateBtn);
225
+ };
226
+
227
+ export const YearPickerStates = () => {
228
+ const colorsTheme: any = useTheme();
229
+ return (
230
+ <>
231
+ <ThemeProvider theme={colorsTheme}>
232
+ <ExampleContainer pseudoState="pseudo-focus">
233
+ <Title title="Isolated year picker focused" theme="light" level={4} />
234
+ <YearPicker
235
+ selectedDate={dayjs("06-04-1905", "DD-MM-YYYY")}
236
+ onYearSelect={() => {}}
237
+ today={dayjs("1904-04-03", "YYYY-MM-DD")}
238
+ />
239
+ </ExampleContainer>
240
+ <ExampleContainer pseudoState="pseudo-hover">
241
+ <Title title="Isolated year picker hovered" theme="light" level={4} />
242
+ <YearPicker
243
+ selectedDate={dayjs("06-04-1905", "DD-MM-YYYY")}
244
+ onYearSelect={() => {}}
245
+ today={dayjs("1904-04-03", "YYYY-MM-DD")}
246
+ />
247
+ </ExampleContainer>
248
+ <ExampleContainer pseudoState="pseudo-active">
249
+ <Title title="Isolated year picker actived" theme="light" level={4} />
250
+ <YearPicker
251
+ selectedDate={dayjs("06-04-1905", "DD-MM-YYYY")}
252
+ onYearSelect={() => {}}
253
+ today={dayjs("1904-04-03", "YYYY-MM-DD")}
254
+ />
255
+ </ExampleContainer>
256
+ </ThemeProvider>
257
+ </>
258
+ );
259
+ };
260
+
261
+ export const DatePickerWithToday = () => {
262
+ const colorsTheme: any = useTheme();
263
+ return (
264
+ <ThemeProvider theme={colorsTheme}>
265
+ <ExampleContainer>
266
+ <Title title="Isolated calendar with today" theme="light" level={4} />
267
+ <Calendar
268
+ selectedDate={dayjs("06-04-1904", "DD-MM-YYYY")}
269
+ today={dayjs("1904-04-03", "YYYY-MM-DD")}
270
+ onInnerDateChange={() => {}}
271
+ onDaySelect={() => {}}
272
+ innerDate={dayjs("06-04-1904", "DD-MM-YYYY")}
273
+ />
274
+ </ExampleContainer>
275
+ <ExampleContainer>
276
+ <Title title="Isolated year picker with today" theme="light" level={4} />
277
+ <YearPicker
278
+ selectedDate={dayjs("06-04-1905", "DD-MM-YYYY")}
279
+ onYearSelect={() => {}}
280
+ today={dayjs("1904-04-03", "YYYY-MM-DD")}
281
+ />
282
+ </ExampleContainer>
283
+ </ThemeProvider>
284
+ );
285
+ };