@dxc-technology/halstack-react 0.0.0-9d82cb9 → 0.0.0-9e25510

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 (553) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +5 -22
  3. package/HalstackContext.d.ts +1286 -0
  4. package/HalstackContext.js +320 -0
  5. package/README.md +47 -0
  6. package/accordion/Accordion.accessibility.test.d.ts +1 -0
  7. package/accordion/Accordion.accessibility.test.js +71 -0
  8. package/accordion/Accordion.d.ts +1 -1
  9. package/accordion/Accordion.js +102 -192
  10. package/accordion/Accordion.stories.tsx +83 -149
  11. package/accordion/Accordion.test.d.ts +1 -0
  12. package/accordion/Accordion.test.js +56 -0
  13. package/accordion/types.d.ts +11 -22
  14. package/accordion-group/AccordionGroup.accessibility.test.d.ts +1 -0
  15. package/accordion-group/AccordionGroup.accessibility.test.js +82 -0
  16. package/accordion-group/AccordionGroup.d.ts +3 -3
  17. package/accordion-group/AccordionGroup.js +38 -107
  18. package/accordion-group/AccordionGroup.stories.tsx +95 -68
  19. package/accordion-group/AccordionGroup.test.d.ts +1 -0
  20. package/accordion-group/AccordionGroup.test.js +94 -0
  21. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  22. package/accordion-group/AccordionGroupAccordion.js +31 -0
  23. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  24. package/accordion-group/AccordionGroupContext.js +8 -0
  25. package/accordion-group/types.d.ts +17 -22
  26. package/action-icon/ActionIcon.accessibility.test.d.ts +1 -0
  27. package/action-icon/ActionIcon.accessibility.test.js +63 -0
  28. package/action-icon/ActionIcon.d.ts +4 -0
  29. package/action-icon/ActionIcon.js +48 -0
  30. package/action-icon/ActionIcon.stories.tsx +41 -0
  31. package/action-icon/ActionIcon.test.d.ts +1 -0
  32. package/action-icon/ActionIcon.test.js +64 -0
  33. package/action-icon/types.d.ts +26 -0
  34. package/alert/Alert.accessibility.test.d.ts +1 -0
  35. package/alert/Alert.accessibility.test.js +95 -0
  36. package/alert/Alert.js +40 -127
  37. package/alert/Alert.stories.tsx +28 -0
  38. package/alert/Alert.test.d.ts +1 -0
  39. package/alert/Alert.test.js +75 -0
  40. package/alert/types.d.ts +5 -5
  41. package/badge/Badge.accessibility.test.d.ts +1 -0
  42. package/badge/Badge.accessibility.test.js +129 -0
  43. package/badge/Badge.d.ts +4 -0
  44. package/badge/Badge.js +142 -40
  45. package/badge/Badge.stories.tsx +210 -0
  46. package/badge/Badge.test.d.ts +1 -0
  47. package/badge/Badge.test.js +30 -0
  48. package/badge/types.d.ts +54 -0
  49. package/bar-chart/BarChart.d.ts +4 -0
  50. package/bar-chart/BarChart.js +157 -0
  51. package/bar-chart/BarChart.stories.tsx +281 -0
  52. package/bar-chart/BarChart.test.d.ts +1 -0
  53. package/bar-chart/BarChart.test.js +194 -0
  54. package/bar-chart/theme.d.ts +3 -0
  55. package/bar-chart/theme.js +31 -0
  56. package/bar-chart/types.d.ts +137 -0
  57. package/bleed/Bleed.d.ts +2 -2
  58. package/bleed/Bleed.js +14 -55
  59. package/bleed/Bleed.stories.tsx +95 -96
  60. package/bleed/types.d.ts +26 -2
  61. package/box/Box.accessibility.test.d.ts +1 -0
  62. package/box/Box.accessibility.test.js +33 -0
  63. package/box/Box.d.ts +1 -1
  64. package/box/Box.js +30 -81
  65. package/box/Box.stories.tsx +38 -51
  66. package/box/Box.test.d.ts +1 -0
  67. package/box/Box.test.js +13 -0
  68. package/box/types.d.ts +3 -14
  69. package/breadcrumbs/Breadcrumbs.accessibility.test.d.ts +1 -0
  70. package/breadcrumbs/Breadcrumbs.accessibility.test.js +96 -0
  71. package/breadcrumbs/Breadcrumbs.d.ts +4 -0
  72. package/breadcrumbs/Breadcrumbs.js +79 -0
  73. package/breadcrumbs/Breadcrumbs.stories.tsx +194 -0
  74. package/breadcrumbs/Breadcrumbs.test.d.ts +1 -0
  75. package/breadcrumbs/Breadcrumbs.test.js +168 -0
  76. package/breadcrumbs/Item.d.ts +4 -0
  77. package/breadcrumbs/Item.js +52 -0
  78. package/breadcrumbs/dropdownTheme.d.ts +53 -0
  79. package/breadcrumbs/dropdownTheme.js +62 -0
  80. package/breadcrumbs/types.d.ts +40 -0
  81. package/breadcrumbs/types.js +5 -0
  82. package/bulleted-list/BulletedList.accessibility.test.d.ts +1 -0
  83. package/bulleted-list/BulletedList.accessibility.test.js +119 -0
  84. package/bulleted-list/BulletedList.d.ts +7 -0
  85. package/bulleted-list/BulletedList.js +92 -0
  86. package/bulleted-list/BulletedList.stories.tsx +115 -0
  87. package/bulleted-list/types.d.ts +38 -0
  88. package/bulleted-list/types.js +5 -0
  89. package/button/Button.accessibility.test.d.ts +1 -0
  90. package/button/Button.accessibility.test.js +127 -0
  91. package/button/Button.d.ts +1 -1
  92. package/button/Button.js +63 -113
  93. package/button/Button.stories.tsx +151 -100
  94. package/button/Button.test.d.ts +1 -0
  95. package/button/Button.test.js +38 -0
  96. package/button/types.d.ts +12 -8
  97. package/card/Card.accessibility.test.d.ts +1 -0
  98. package/card/Card.accessibility.test.js +36 -0
  99. package/card/Card.d.ts +1 -1
  100. package/card/Card.js +59 -102
  101. package/card/Card.stories.tsx +13 -43
  102. package/card/Card.test.d.ts +1 -0
  103. package/card/Card.test.js +39 -0
  104. package/card/types.d.ts +6 -11
  105. package/checkbox/Checkbox.accessibility.test.d.ts +1 -0
  106. package/checkbox/Checkbox.accessibility.test.js +87 -0
  107. package/checkbox/Checkbox.d.ts +2 -2
  108. package/checkbox/Checkbox.js +140 -181
  109. package/checkbox/Checkbox.stories.tsx +166 -136
  110. package/checkbox/Checkbox.test.d.ts +1 -0
  111. package/checkbox/Checkbox.test.js +199 -0
  112. package/checkbox/types.d.ts +18 -6
  113. package/chip/Chip.accessibility.test.d.ts +1 -0
  114. package/chip/Chip.accessibility.test.js +67 -0
  115. package/chip/Chip.d.ts +1 -1
  116. package/chip/Chip.js +49 -122
  117. package/chip/Chip.stories.tsx +105 -31
  118. package/chip/Chip.test.d.ts +1 -0
  119. package/chip/Chip.test.js +41 -0
  120. package/chip/types.d.ts +8 -16
  121. package/common/coreTokens.d.ts +236 -0
  122. package/common/coreTokens.js +183 -0
  123. package/common/utils.d.ts +1 -0
  124. package/common/utils.js +6 -12
  125. package/common/variables.d.ts +1438 -0
  126. package/common/variables.js +1119 -1427
  127. package/container/Container.d.ts +4 -0
  128. package/container/Container.js +194 -0
  129. package/container/Container.stories.tsx +214 -0
  130. package/container/types.d.ts +176 -0
  131. package/container/types.js +5 -0
  132. package/contextual-menu/ContextualMenu.accessibility.test.d.ts +1 -0
  133. package/contextual-menu/ContextualMenu.accessibility.test.js +98 -0
  134. package/contextual-menu/ContextualMenu.d.ts +5 -0
  135. package/contextual-menu/ContextualMenu.js +136 -0
  136. package/contextual-menu/ContextualMenu.stories.tsx +231 -0
  137. package/contextual-menu/ContextualMenu.test.d.ts +1 -0
  138. package/contextual-menu/ContextualMenu.test.js +247 -0
  139. package/contextual-menu/GroupItem.d.ts +4 -0
  140. package/contextual-menu/GroupItem.js +67 -0
  141. package/contextual-menu/ItemAction.d.ts +4 -0
  142. package/contextual-menu/ItemAction.js +88 -0
  143. package/contextual-menu/MenuItem.d.ts +4 -0
  144. package/contextual-menu/MenuItem.js +29 -0
  145. package/contextual-menu/SingleItem.d.ts +4 -0
  146. package/contextual-menu/SingleItem.js +38 -0
  147. package/contextual-menu/types.d.ts +65 -0
  148. package/contextual-menu/types.js +5 -0
  149. package/date-input/Calendar.d.ts +4 -0
  150. package/date-input/Calendar.js +230 -0
  151. package/date-input/DateInput.accessibility.test.d.ts +1 -0
  152. package/date-input/DateInput.accessibility.test.js +229 -0
  153. package/date-input/DateInput.js +263 -310
  154. package/date-input/DateInput.stories.tsx +215 -57
  155. package/date-input/DateInput.test.d.ts +1 -0
  156. package/date-input/DateInput.test.js +808 -0
  157. package/date-input/DatePicker.d.ts +4 -0
  158. package/date-input/DatePicker.js +121 -0
  159. package/date-input/YearPicker.d.ts +4 -0
  160. package/date-input/YearPicker.js +105 -0
  161. package/date-input/types.d.ts +86 -22
  162. package/dialog/Dialog.accessibility.test.d.ts +1 -0
  163. package/dialog/Dialog.accessibility.test.js +69 -0
  164. package/dialog/Dialog.d.ts +1 -1
  165. package/dialog/Dialog.js +56 -129
  166. package/dialog/Dialog.stories.tsx +324 -167
  167. package/dialog/Dialog.test.d.ts +1 -0
  168. package/dialog/Dialog.test.js +370 -0
  169. package/dialog/types.d.ts +18 -25
  170. package/divider/Divider.accessibility.test.d.ts +1 -0
  171. package/divider/Divider.accessibility.test.js +33 -0
  172. package/divider/Divider.d.ts +4 -0
  173. package/divider/Divider.js +36 -0
  174. package/divider/Divider.stories.tsx +224 -0
  175. package/divider/Divider.test.d.ts +1 -0
  176. package/divider/Divider.test.js +38 -0
  177. package/divider/types.d.ts +21 -0
  178. package/divider/types.js +5 -0
  179. package/dropdown/Dropdown.accessibility.test.d.ts +1 -0
  180. package/dropdown/Dropdown.accessibility.test.js +183 -0
  181. package/dropdown/Dropdown.d.ts +1 -1
  182. package/dropdown/Dropdown.js +213 -329
  183. package/dropdown/Dropdown.stories.tsx +245 -65
  184. package/dropdown/Dropdown.test.d.ts +1 -0
  185. package/dropdown/Dropdown.test.js +628 -0
  186. package/dropdown/DropdownMenu.d.ts +4 -0
  187. package/dropdown/DropdownMenu.js +63 -0
  188. package/dropdown/DropdownMenuItem.d.ts +4 -0
  189. package/dropdown/DropdownMenuItem.js +71 -0
  190. package/dropdown/types.d.ts +37 -30
  191. package/file-input/FileInput.accessibility.test.d.ts +1 -0
  192. package/file-input/FileInput.accessibility.test.js +167 -0
  193. package/file-input/FileInput.d.ts +2 -2
  194. package/file-input/FileInput.js +243 -395
  195. package/file-input/FileInput.stories.tsx +123 -12
  196. package/file-input/FileInput.test.d.ts +1 -0
  197. package/file-input/FileInput.test.js +404 -0
  198. package/file-input/FileItem.d.ts +4 -14
  199. package/file-input/FileItem.js +61 -120
  200. package/file-input/types.d.ts +24 -11
  201. package/flex/Flex.d.ts +4 -0
  202. package/flex/Flex.js +57 -0
  203. package/flex/Flex.stories.tsx +112 -0
  204. package/flex/types.d.ts +97 -0
  205. package/flex/types.js +5 -0
  206. package/footer/Footer.accessibility.test.d.ts +1 -0
  207. package/footer/Footer.accessibility.test.js +125 -0
  208. package/footer/Footer.d.ts +1 -1
  209. package/footer/Footer.js +73 -193
  210. package/footer/Footer.stories.tsx +99 -21
  211. package/footer/Footer.test.d.ts +1 -0
  212. package/footer/Footer.test.js +85 -0
  213. package/footer/Icons.d.ts +3 -2
  214. package/footer/Icons.js +54 -23
  215. package/footer/types.d.ts +26 -27
  216. package/grid/Grid.d.ts +7 -0
  217. package/grid/Grid.js +76 -0
  218. package/grid/Grid.stories.tsx +221 -0
  219. package/grid/types.d.ts +115 -0
  220. package/grid/types.js +5 -0
  221. package/header/Header.accessibility.test.d.ts +1 -0
  222. package/header/Header.accessibility.test.js +94 -0
  223. package/header/Header.d.ts +4 -3
  224. package/header/Header.js +104 -218
  225. package/header/Header.stories.tsx +169 -64
  226. package/header/Header.test.d.ts +1 -0
  227. package/header/Header.test.js +66 -0
  228. package/header/Icons.d.ts +2 -2
  229. package/header/Icons.js +5 -15
  230. package/header/types.d.ts +7 -21
  231. package/heading/Heading.accessibility.test.d.ts +1 -0
  232. package/heading/Heading.accessibility.test.js +33 -0
  233. package/heading/Heading.js +10 -32
  234. package/heading/Heading.test.d.ts +1 -0
  235. package/heading/Heading.test.js +156 -0
  236. package/heading/types.d.ts +7 -7
  237. package/icon/Icon.accessibility.test.d.ts +1 -0
  238. package/icon/Icon.accessibility.test.js +30 -0
  239. package/icon/Icon.d.ts +4 -0
  240. package/icon/Icon.js +33 -0
  241. package/icon/Icon.stories.tsx +28 -0
  242. package/icon/types.d.ts +4 -0
  243. package/icon/types.js +5 -0
  244. package/image/Image.accessibility.test.d.ts +1 -0
  245. package/image/Image.accessibility.test.js +56 -0
  246. package/image/Image.d.ts +4 -0
  247. package/image/Image.js +70 -0
  248. package/image/Image.stories.tsx +129 -0
  249. package/image/types.d.ts +72 -0
  250. package/image/types.js +5 -0
  251. package/inset/Inset.js +14 -55
  252. package/inset/Inset.stories.tsx +37 -36
  253. package/inset/types.d.ts +26 -2
  254. package/layout/ApplicationLayout.d.ts +16 -6
  255. package/layout/ApplicationLayout.js +88 -176
  256. package/layout/ApplicationLayout.stories.tsx +85 -94
  257. package/layout/Icons.d.ts +7 -0
  258. package/layout/Icons.js +41 -48
  259. package/layout/types.d.ts +19 -35
  260. package/link/Link.accessibility.test.d.ts +1 -0
  261. package/link/Link.accessibility.test.js +108 -0
  262. package/link/Link.d.ts +3 -2
  263. package/link/Link.js +64 -108
  264. package/link/Link.stories.tsx +161 -54
  265. package/link/Link.test.d.ts +1 -0
  266. package/link/Link.test.js +63 -0
  267. package/link/types.d.ts +15 -35
  268. package/main.d.ts +21 -18
  269. package/main.js +96 -120
  270. package/nav-tabs/NavTabs.accessibility.test.d.ts +1 -0
  271. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  272. package/nav-tabs/NavTabs.d.ts +7 -0
  273. package/nav-tabs/NavTabs.js +108 -0
  274. package/nav-tabs/NavTabs.stories.tsx +294 -0
  275. package/nav-tabs/NavTabs.test.d.ts +1 -0
  276. package/nav-tabs/NavTabs.test.js +77 -0
  277. package/nav-tabs/NavTabsContext.d.ts +3 -0
  278. package/nav-tabs/NavTabsContext.js +8 -0
  279. package/nav-tabs/Tab.d.ts +4 -0
  280. package/nav-tabs/Tab.js +117 -0
  281. package/nav-tabs/types.d.ts +52 -0
  282. package/nav-tabs/types.js +5 -0
  283. package/number-input/NumberInput.accessibility.test.d.ts +1 -0
  284. package/number-input/NumberInput.accessibility.test.js +227 -0
  285. package/number-input/NumberInput.js +51 -45
  286. package/number-input/NumberInput.stories.tsx +39 -28
  287. package/number-input/NumberInput.test.d.ts +1 -0
  288. package/number-input/NumberInput.test.js +988 -0
  289. package/number-input/NumberInputContext.d.ts +3 -4
  290. package/number-input/NumberInputContext.js +3 -14
  291. package/number-input/types.d.ts +34 -15
  292. package/package.json +60 -55
  293. package/paginator/Paginator.accessibility.test.d.ts +1 -0
  294. package/paginator/Paginator.accessibility.test.js +78 -0
  295. package/paginator/Paginator.js +46 -100
  296. package/paginator/Paginator.stories.tsx +24 -0
  297. package/paginator/Paginator.test.d.ts +1 -0
  298. package/paginator/Paginator.test.js +334 -0
  299. package/paginator/types.d.ts +3 -3
  300. package/paragraph/Paragraph.accessibility.test.d.ts +1 -0
  301. package/paragraph/Paragraph.accessibility.test.js +28 -0
  302. package/paragraph/Paragraph.d.ts +5 -0
  303. package/paragraph/Paragraph.js +22 -0
  304. package/paragraph/Paragraph.stories.tsx +27 -0
  305. package/password-input/PasswordInput.accessibility.test.d.ts +1 -0
  306. package/password-input/PasswordInput.accessibility.test.js +152 -0
  307. package/password-input/PasswordInput.js +62 -125
  308. package/password-input/PasswordInput.stories.tsx +11 -34
  309. package/password-input/PasswordInput.test.d.ts +1 -0
  310. package/password-input/PasswordInput.test.js +197 -0
  311. package/password-input/types.d.ts +21 -17
  312. package/progress-bar/ProgressBar.accessibility.test.d.ts +1 -0
  313. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  314. package/progress-bar/ProgressBar.js +68 -92
  315. package/progress-bar/ProgressBar.stories.tsx +93 -0
  316. package/progress-bar/ProgressBar.test.d.ts +1 -0
  317. package/progress-bar/ProgressBar.test.js +93 -0
  318. package/progress-bar/types.d.ts +3 -3
  319. package/quick-nav/QuickNav.accessibility.test.d.ts +1 -0
  320. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  321. package/quick-nav/QuickNav.d.ts +4 -0
  322. package/quick-nav/QuickNav.js +94 -0
  323. package/quick-nav/QuickNav.stories.tsx +356 -0
  324. package/quick-nav/types.d.ts +21 -0
  325. package/quick-nav/types.js +5 -0
  326. package/radio-group/Radio.d.ts +1 -1
  327. package/radio-group/Radio.js +66 -75
  328. package/radio-group/RadioGroup.accessibility.test.d.ts +1 -0
  329. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  330. package/radio-group/RadioGroup.js +110 -145
  331. package/radio-group/RadioGroup.stories.tsx +171 -36
  332. package/radio-group/RadioGroup.test.d.ts +1 -0
  333. package/radio-group/RadioGroup.test.js +754 -0
  334. package/radio-group/types.d.ts +88 -10
  335. package/resultset-table/Icons.d.ts +7 -0
  336. package/resultset-table/Icons.js +47 -0
  337. package/resultset-table/ResultsetTable.accessibility.test.d.ts +1 -0
  338. package/resultset-table/ResultsetTable.accessibility.test.js +284 -0
  339. package/resultset-table/ResultsetTable.d.ts +7 -0
  340. package/resultset-table/ResultsetTable.js +198 -0
  341. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +169 -31
  342. package/resultset-table/ResultsetTable.test.d.ts +1 -0
  343. package/resultset-table/ResultsetTable.test.js +450 -0
  344. package/{resultsetTable → resultset-table}/types.d.ts +47 -13
  345. package/resultset-table/types.js +5 -0
  346. package/select/Listbox.d.ts +4 -0
  347. package/select/Listbox.js +147 -0
  348. package/select/Option.d.ts +4 -0
  349. package/select/Option.js +93 -0
  350. package/select/Select.accessibility.test.d.ts +1 -0
  351. package/select/Select.accessibility.test.js +227 -0
  352. package/select/Select.js +213 -593
  353. package/select/Select.stories.tsx +611 -255
  354. package/select/Select.test.d.ts +1 -0
  355. package/select/Select.test.js +2168 -0
  356. package/select/selectUtils.d.ts +41 -0
  357. package/select/selectUtils.js +129 -0
  358. package/select/types.d.ts +65 -26
  359. package/sidenav/Sidenav.accessibility.test.d.ts +1 -0
  360. package/sidenav/Sidenav.accessibility.test.js +59 -0
  361. package/sidenav/Sidenav.d.ts +6 -5
  362. package/sidenav/Sidenav.js +136 -71
  363. package/sidenav/Sidenav.stories.tsx +246 -151
  364. package/sidenav/Sidenav.test.d.ts +1 -0
  365. package/sidenav/Sidenav.test.js +37 -0
  366. package/sidenav/SidenavContext.d.ts +5 -0
  367. package/sidenav/SidenavContext.js +13 -0
  368. package/sidenav/types.d.ts +52 -26
  369. package/slider/Slider.accessibility.test.d.ts +1 -0
  370. package/slider/Slider.accessibility.test.js +103 -0
  371. package/slider/Slider.d.ts +2 -2
  372. package/slider/Slider.js +147 -181
  373. package/slider/Slider.stories.tsx +68 -65
  374. package/slider/Slider.test.d.ts +1 -0
  375. package/slider/Slider.test.js +256 -0
  376. package/slider/types.d.ts +11 -3
  377. package/spinner/Spinner.accessibility.test.d.ts +1 -0
  378. package/spinner/Spinner.accessibility.test.js +96 -0
  379. package/spinner/Spinner.d.ts +1 -1
  380. package/spinner/Spinner.js +50 -109
  381. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  382. package/spinner/Spinner.test.d.ts +1 -0
  383. package/spinner/Spinner.test.js +55 -0
  384. package/spinner/types.d.ts +3 -3
  385. package/status-light/StatusLight.accessibility.test.d.ts +1 -0
  386. package/status-light/StatusLight.accessibility.test.js +157 -0
  387. package/status-light/StatusLight.d.ts +4 -0
  388. package/status-light/StatusLight.js +51 -0
  389. package/status-light/StatusLight.stories.tsx +74 -0
  390. package/status-light/StatusLight.test.d.ts +1 -0
  391. package/status-light/StatusLight.test.js +25 -0
  392. package/status-light/types.d.ts +17 -0
  393. package/status-light/types.js +5 -0
  394. package/switch/Switch.accessibility.test.d.ts +1 -0
  395. package/switch/Switch.accessibility.test.js +98 -0
  396. package/switch/Switch.d.ts +2 -2
  397. package/switch/Switch.js +146 -114
  398. package/switch/Switch.stories.tsx +56 -67
  399. package/switch/Switch.test.d.ts +1 -0
  400. package/switch/Switch.test.js +180 -0
  401. package/switch/types.d.ts +13 -5
  402. package/table/DropdownTheme.js +62 -0
  403. package/table/Table.accessibility.test.d.ts +1 -0
  404. package/table/Table.accessibility.test.js +92 -0
  405. package/table/Table.d.ts +6 -2
  406. package/table/Table.js +78 -35
  407. package/table/Table.stories.tsx +663 -0
  408. package/table/Table.test.d.ts +1 -0
  409. package/table/Table.test.js +111 -0
  410. package/table/types.d.ts +34 -6
  411. package/tabs/Tab.d.ts +4 -0
  412. package/tabs/Tab.js +117 -0
  413. package/tabs/Tabs.accessibility.test.d.ts +1 -0
  414. package/tabs/Tabs.accessibility.test.js +56 -0
  415. package/tabs/Tabs.d.ts +1 -1
  416. package/tabs/Tabs.js +306 -146
  417. package/tabs/Tabs.stories.tsx +127 -19
  418. package/tabs/Tabs.test.d.ts +1 -0
  419. package/tabs/Tabs.test.js +276 -0
  420. package/tabs/types.d.ts +46 -24
  421. package/tag/Tag.accessibility.test.d.ts +1 -0
  422. package/tag/Tag.accessibility.test.js +69 -0
  423. package/tag/Tag.d.ts +1 -1
  424. package/tag/Tag.js +43 -85
  425. package/tag/Tag.stories.tsx +37 -30
  426. package/tag/Tag.test.d.ts +1 -0
  427. package/tag/Tag.test.js +41 -0
  428. package/tag/types.d.ts +25 -16
  429. package/text-input/Suggestion.d.ts +4 -0
  430. package/text-input/Suggestion.js +67 -0
  431. package/text-input/Suggestions.d.ts +4 -0
  432. package/text-input/Suggestions.js +94 -0
  433. package/text-input/TextInput.accessibility.test.d.ts +1 -0
  434. package/text-input/TextInput.accessibility.test.js +320 -0
  435. package/text-input/TextInput.js +323 -569
  436. package/text-input/TextInput.stories.tsx +293 -272
  437. package/text-input/TextInput.test.d.ts +1 -0
  438. package/text-input/TextInput.test.js +1755 -0
  439. package/text-input/types.d.ts +70 -24
  440. package/textarea/Textarea.accessibility.test.d.ts +1 -0
  441. package/textarea/Textarea.accessibility.test.js +155 -0
  442. package/textarea/Textarea.js +82 -131
  443. package/textarea/Textarea.stories.tsx +174 -0
  444. package/textarea/Textarea.test.d.ts +1 -0
  445. package/textarea/Textarea.test.js +406 -0
  446. package/textarea/types.d.ts +27 -16
  447. package/toggle-group/ToggleGroup.accessibility.test.d.ts +1 -0
  448. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  449. package/toggle-group/ToggleGroup.d.ts +2 -2
  450. package/toggle-group/ToggleGroup.js +92 -107
  451. package/toggle-group/ToggleGroup.stories.tsx +57 -12
  452. package/toggle-group/ToggleGroup.test.d.ts +1 -0
  453. package/toggle-group/ToggleGroup.test.js +137 -0
  454. package/toggle-group/types.d.ts +36 -19
  455. package/tooltip/Tooltip.accessibility.test.d.ts +1 -0
  456. package/tooltip/Tooltip.accessibility.test.js +144 -0
  457. package/tooltip/Tooltip.d.ts +4 -0
  458. package/tooltip/Tooltip.js +50 -0
  459. package/tooltip/Tooltip.stories.tsx +111 -0
  460. package/tooltip/Tooltip.test.d.ts +1 -0
  461. package/tooltip/Tooltip.test.js +112 -0
  462. package/tooltip/types.d.ts +16 -0
  463. package/tooltip/types.js +5 -0
  464. package/typography/Typography.accessibility.test.d.ts +1 -0
  465. package/typography/Typography.accessibility.test.js +339 -0
  466. package/typography/Typography.d.ts +4 -0
  467. package/typography/Typography.js +23 -0
  468. package/typography/Typography.stories.tsx +196 -0
  469. package/typography/Typography.test.js +23 -0
  470. package/typography/types.d.ts +18 -0
  471. package/typography/types.js +5 -0
  472. package/useTheme.d.ts +1173 -1
  473. package/useTheme.js +4 -11
  474. package/useTranslatedLabels.d.ts +96 -0
  475. package/useTranslatedLabels.js +14 -0
  476. package/utils/BaseTypography.d.ts +21 -0
  477. package/utils/BaseTypography.js +98 -0
  478. package/utils/FocusLock.d.ts +13 -0
  479. package/utils/FocusLock.js +125 -0
  480. package/utils/useWidth.d.ts +2 -0
  481. package/utils/useWidth.js +30 -0
  482. package/wizard/Wizard.accessibility.test.d.ts +1 -0
  483. package/wizard/Wizard.accessibility.test.js +55 -0
  484. package/wizard/Wizard.d.ts +1 -1
  485. package/wizard/Wizard.js +78 -120
  486. package/wizard/Wizard.stories.tsx +68 -20
  487. package/wizard/Wizard.test.d.ts +1 -0
  488. package/wizard/Wizard.test.js +114 -0
  489. package/wizard/types.d.ts +14 -10
  490. package/ThemeContext.d.ts +0 -15
  491. package/ThemeContext.js +0 -243
  492. package/V3Select/V3Select.js +0 -455
  493. package/V3Select/index.d.ts +0 -27
  494. package/V3Textarea/V3Textarea.js +0 -260
  495. package/V3Textarea/index.d.ts +0 -27
  496. package/card/ice-cream.jpg +0 -0
  497. package/common/OpenSans.css +0 -81
  498. package/common/RequiredComponent.js +0 -32
  499. package/common/fonts/OpenSans-Bold.ttf +0 -0
  500. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  501. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  502. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  503. package/common/fonts/OpenSans-Italic.ttf +0 -0
  504. package/common/fonts/OpenSans-Light.ttf +0 -0
  505. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  506. package/common/fonts/OpenSans-Regular.ttf +0 -0
  507. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  508. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  509. package/date/Date.js +0 -373
  510. package/date/index.d.ts +0 -27
  511. package/input-text/Icons.js +0 -22
  512. package/input-text/InputText.js +0 -611
  513. package/input-text/index.d.ts +0 -36
  514. package/list/List.d.ts +0 -8
  515. package/list/List.js +0 -47
  516. package/list/List.stories.tsx +0 -95
  517. package/number-input/numberInputContextTypes.d.ts +0 -19
  518. package/paginator/Icons.js +0 -66
  519. package/progress-bar/ProgressBar.stories.jsx +0 -58
  520. package/radio/Radio.d.ts +0 -4
  521. package/radio/Radio.js +0 -174
  522. package/radio/Radio.stories.tsx +0 -192
  523. package/radio/types.d.ts +0 -54
  524. package/resultsetTable/ResultsetTable.d.ts +0 -4
  525. package/resultsetTable/ResultsetTable.js +0 -251
  526. package/row/Row.d.ts +0 -11
  527. package/row/Row.js +0 -127
  528. package/row/Row.stories.tsx +0 -239
  529. package/stack/Stack.d.ts +0 -10
  530. package/stack/Stack.js +0 -97
  531. package/stack/Stack.stories.tsx +0 -166
  532. package/table/Table.stories.jsx +0 -277
  533. package/text/Text.d.ts +0 -7
  534. package/text/Text.js +0 -30
  535. package/text/Text.stories.tsx +0 -19
  536. package/textarea/Textarea.stories.jsx +0 -136
  537. package/toggle/Toggle.js +0 -186
  538. package/toggle/index.d.ts +0 -21
  539. package/upload/Upload.js +0 -201
  540. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  541. package/upload/buttons-upload/Icons.js +0 -40
  542. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  543. package/upload/dragAndDropArea/Icons.js +0 -39
  544. package/upload/file-upload/FileToUpload.js +0 -115
  545. package/upload/file-upload/Icons.js +0 -66
  546. package/upload/files-upload/FilesToUpload.js +0 -109
  547. package/upload/index.d.ts +0 -15
  548. package/upload/transaction/Icons.js +0 -160
  549. package/upload/transaction/Transaction.js +0 -104
  550. package/upload/transactions/Transactions.js +0 -94
  551. /package/{radio → action-icon}/types.js +0 -0
  552. /package/{resultsetTable → badge}/types.js +0 -0
  553. /package/{number-input/numberInputContextTypes.js → bar-chart/types.js} +0 -0
package/useTheme.js CHANGED
@@ -1,22 +1,15 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports["default"] = void 0;
9
-
10
8
  var _react = require("react");
11
-
12
- var _variables = require("./common/variables.js");
13
-
14
- var _ThemeContext = _interopRequireDefault(require("./ThemeContext"));
15
-
9
+ var _variables = require("./common/variables");
10
+ var _HalstackContext = _interopRequireDefault(require("./HalstackContext"));
16
11
  var useTheme = function useTheme() {
17
- var colorsTheme = (0, _react.useContext)(_ThemeContext["default"]);
12
+ var colorsTheme = (0, _react.useContext)(_HalstackContext["default"]);
18
13
  return colorsTheme || _variables.componentTokens;
19
14
  };
20
-
21
- var _default = useTheme;
22
- exports["default"] = _default;
15
+ var _default = exports["default"] = useTheme;
@@ -0,0 +1,96 @@
1
+ declare const useTranslatedLabels: () => {
2
+ formFields?: Partial<{
3
+ optionalLabel: string;
4
+ requiredSelectionErrorMessage: string;
5
+ requiredValueErrorMessage: string;
6
+ formatRequestedErrorMessage: string;
7
+ lengthErrorMessage: (minLength?: number, maxLength?: number) => string;
8
+ logoAlternativeText: string;
9
+ }>;
10
+ applicationLayout?: Partial<{
11
+ visibilityToggleTitle: string;
12
+ }>;
13
+ alert?: Partial<{
14
+ infoTitleText: string;
15
+ successTitleText: string;
16
+ warningTitleText: string;
17
+ errorTitleText: string;
18
+ }>;
19
+ barChart?: Partial<{
20
+ ariaLabel: string;
21
+ filterLabel: string;
22
+ filterPlaceholder: string;
23
+ loadingDataMessage: string;
24
+ noDataMessageBody: string;
25
+ noDataMessageTitle: string;
26
+ noMatchesMessageBody: string;
27
+ noMatchesMessageTitle: string;
28
+ retryButtonLabel: string;
29
+ }>;
30
+ dateInput?: Partial<{
31
+ invalidDateErrorMessage: string;
32
+ }>;
33
+ dialog?: Partial<{
34
+ closeIconAriaLabel: string;
35
+ }>;
36
+ fileInput?: Partial<{
37
+ fileSizeGreaterThanErrorMessage: string;
38
+ fileSizeLessThanErrorMessage: string;
39
+ multipleButtonLabelDefault: string;
40
+ singleButtonLabelDefault: string;
41
+ dropAreaButtonLabelDefault: string;
42
+ multipleDropAreaLabelDefault: string;
43
+ singleDropAreaLabelDefault: string;
44
+ deleteFileActionTitle: string;
45
+ }>;
46
+ footer?: Partial<{
47
+ copyrightText: (year: number) => string;
48
+ }>;
49
+ header?: Partial<{
50
+ closeIcon: string;
51
+ hamburguerTitle: string;
52
+ }>;
53
+ numberInput?: Partial<{
54
+ valueGreaterThanOrEqualToErrorMessage: (value: number) => string;
55
+ valueLessThanOrEqualToErrorMessage: (value: number) => string;
56
+ decrementValueTitle: string;
57
+ incrementValueTitle: string;
58
+ }>;
59
+ paginator?: Partial<{
60
+ itemsPerPageText: string;
61
+ minToMaxOfText: (minNumberOfItems: number, maxNumberOfItems: number, totalItems: number) => string;
62
+ goToPageText: string;
63
+ pageOfText: (pageNumber: number, totalPagesNumber: number) => string;
64
+ }>;
65
+ passwordInput?: Partial<{
66
+ inputShowPasswordTitle: string;
67
+ inputHidePasswordTitle: string;
68
+ }>;
69
+ quickNav?: Partial<{
70
+ contentTitle: string;
71
+ }>;
72
+ radioGroup?: Partial<{
73
+ optionalItemLabelDefault: string;
74
+ }>;
75
+ select?: Partial<{
76
+ noMatchesErrorMessage: string;
77
+ actionClearSelectionTitle: string;
78
+ actionClearSearchTitle: string;
79
+ }>;
80
+ tabs?: Partial<{
81
+ scrollLeft: string;
82
+ scrollRight: string;
83
+ }>;
84
+ textInput?: Partial<{
85
+ clearFieldActionTitle: string;
86
+ searchingMessage: string;
87
+ fetchingDataErrorMessage: string;
88
+ }>;
89
+ calendar?: Partial<{
90
+ daysShort: string[];
91
+ months: string[];
92
+ previousMonthTitle: string;
93
+ nextMonthTitle: string;
94
+ }>;
95
+ };
96
+ export default useTranslatedLabels;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ var _react = require("react");
8
+ var _variables = require("./common/variables");
9
+ var _HalstackContext = require("./HalstackContext");
10
+ var useTranslatedLabels = function useTranslatedLabels() {
11
+ var labels = (0, _react.useContext)(_HalstackContext.HalstackLanguageContext);
12
+ return labels || _variables.defaultTranslatedComponentLabels;
13
+ };
14
+ var _default = exports["default"] = useTranslatedLabels;
@@ -0,0 +1,21 @@
1
+ import React from "react";
2
+ type TypographyContextProps = {
3
+ as?: keyof HTMLElementTagNameMap;
4
+ display?: string;
5
+ fontFamily?: string;
6
+ fontSize?: string;
7
+ fontStyle?: string;
8
+ fontWeight?: string;
9
+ letterSpacing?: string;
10
+ lineHeight?: string;
11
+ textAlign?: string;
12
+ color?: string;
13
+ textDecoration?: string;
14
+ textOverflow?: string;
15
+ whiteSpace?: string;
16
+ };
17
+ type BaseTypographyProps = TypographyContextProps & {
18
+ children: React.ReactNode;
19
+ };
20
+ declare const BaseTypography: ({ as, display, fontFamily, fontSize, fontStyle, fontWeight, letterSpacing, lineHeight, textAlign, color, textDecoration, textOverflow, whiteSpace, children, }: BaseTypographyProps) => JSX.Element;
21
+ export default BaseTypography;
@@ -0,0 +1,98 @@
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 _react = _interopRequireWildcard(require("react"));
11
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
12
+ var _templateObject;
13
+ 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); }
14
+ 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 && {}.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; }
15
+ var TypographyContext = /*#__PURE__*/_react["default"].createContext(null);
16
+ var ValidTypographyTags = ["a", "blockquote", "cite", "code", "div", "em", "figcaption", "h1", "h2", "h3", "h4", "h5", "h6", "p", "pre", "small", "span", "strong"];
17
+ var isValidTypography = function isValidTypography(tag) {
18
+ return ValidTypographyTags.includes(tag);
19
+ };
20
+ var BaseTypography = function BaseTypography(_ref) {
21
+ var as = _ref.as,
22
+ display = _ref.display,
23
+ fontFamily = _ref.fontFamily,
24
+ fontSize = _ref.fontSize,
25
+ fontStyle = _ref.fontStyle,
26
+ fontWeight = _ref.fontWeight,
27
+ letterSpacing = _ref.letterSpacing,
28
+ lineHeight = _ref.lineHeight,
29
+ textAlign = _ref.textAlign,
30
+ color = _ref.color,
31
+ textDecoration = _ref.textDecoration,
32
+ textOverflow = _ref.textOverflow,
33
+ whiteSpace = _ref.whiteSpace,
34
+ children = _ref.children;
35
+ var componentContext = (0, _react.useContext)(TypographyContext);
36
+ var contextValue = (0, _react.useMemo)(function () {
37
+ var _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9, _ref10, _ref11, _ref12, _ref13;
38
+ return {
39
+ as: isValidTypography(as) ? as : isValidTypography(componentContext === null || componentContext === void 0 ? void 0 : componentContext.as) ? componentContext === null || componentContext === void 0 ? void 0 : componentContext.as : "span",
40
+ display: (_ref2 = display !== null && display !== void 0 ? display : componentContext === null || componentContext === void 0 ? void 0 : componentContext.display) !== null && _ref2 !== void 0 ? _ref2 : "inline",
41
+ fontFamily: (_ref3 = fontFamily !== null && fontFamily !== void 0 ? fontFamily : componentContext === null || componentContext === void 0 ? void 0 : componentContext.fontFamily) !== null && _ref3 !== void 0 ? _ref3 : "Open Sans, sans-serif",
42
+ fontSize: (_ref4 = fontSize !== null && fontSize !== void 0 ? fontSize : componentContext === null || componentContext === void 0 ? void 0 : componentContext.fontSize) !== null && _ref4 !== void 0 ? _ref4 : "1rem",
43
+ fontStyle: (_ref5 = fontStyle !== null && fontStyle !== void 0 ? fontStyle : componentContext === null || componentContext === void 0 ? void 0 : componentContext.fontStyle) !== null && _ref5 !== void 0 ? _ref5 : "normal",
44
+ fontWeight: (_ref6 = fontWeight !== null && fontWeight !== void 0 ? fontWeight : componentContext === null || componentContext === void 0 ? void 0 : componentContext.fontWeight) !== null && _ref6 !== void 0 ? _ref6 : "400",
45
+ letterSpacing: (_ref7 = letterSpacing !== null && letterSpacing !== void 0 ? letterSpacing : componentContext === null || componentContext === void 0 ? void 0 : componentContext.letterSpacing) !== null && _ref7 !== void 0 ? _ref7 : "0em",
46
+ lineHeight: (_ref8 = lineHeight !== null && lineHeight !== void 0 ? lineHeight : componentContext === null || componentContext === void 0 ? void 0 : componentContext.lineHeight) !== null && _ref8 !== void 0 ? _ref8 : "1.5em",
47
+ textAlign: (_ref9 = textAlign !== null && textAlign !== void 0 ? textAlign : componentContext === null || componentContext === void 0 ? void 0 : componentContext.textAlign) !== null && _ref9 !== void 0 ? _ref9 : "left",
48
+ color: (_ref10 = color !== null && color !== void 0 ? color : componentContext === null || componentContext === void 0 ? void 0 : componentContext.color) !== null && _ref10 !== void 0 ? _ref10 : "#000000",
49
+ textDecoration: (_ref11 = textDecoration !== null && textDecoration !== void 0 ? textDecoration : componentContext === null || componentContext === void 0 ? void 0 : componentContext.textDecoration) !== null && _ref11 !== void 0 ? _ref11 : "none",
50
+ textOverflow: (_ref12 = textOverflow !== null && textOverflow !== void 0 ? textOverflow : componentContext === null || componentContext === void 0 ? void 0 : componentContext.textOverflow) !== null && _ref12 !== void 0 ? _ref12 : "unset",
51
+ whiteSpace: (_ref13 = whiteSpace !== null && whiteSpace !== void 0 ? whiteSpace : componentContext === null || componentContext === void 0 ? void 0 : componentContext.whiteSpace) !== null && _ref13 !== void 0 ? _ref13 : "normal"
52
+ };
53
+ }, [as, display, fontFamily, fontSize, fontStyle, fontWeight, letterSpacing, lineHeight, textAlign, color, textDecoration, textOverflow, whiteSpace]);
54
+ return /*#__PURE__*/_react["default"].createElement(TypographyContext.Provider, {
55
+ value: contextValue
56
+ }, /*#__PURE__*/_react["default"].createElement(StyledTypography, contextValue, children));
57
+ };
58
+ var StyledTypography = _styledComponents["default"].span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: ", ";\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n line-height: ", ";\n text-align: ", ";\n text-decoration: ", ";\n text-overflow: ", ";\n white-space: ", ";\n overflow: ", ";\n margin: 0;\n"])), function (_ref14) {
59
+ var display = _ref14.display;
60
+ return display;
61
+ }, function (_ref15) {
62
+ var color = _ref15.color;
63
+ return color;
64
+ }, function (_ref16) {
65
+ var fontFamily = _ref16.fontFamily;
66
+ return fontFamily;
67
+ }, function (_ref17) {
68
+ var fontSize = _ref17.fontSize;
69
+ return fontSize;
70
+ }, function (_ref18) {
71
+ var fontStyle = _ref18.fontStyle;
72
+ return fontStyle;
73
+ }, function (_ref19) {
74
+ var fontWeight = _ref19.fontWeight;
75
+ return fontWeight;
76
+ }, function (_ref20) {
77
+ var letterSpacing = _ref20.letterSpacing;
78
+ return letterSpacing;
79
+ }, function (_ref21) {
80
+ var lineHeight = _ref21.lineHeight;
81
+ return lineHeight;
82
+ }, function (_ref22) {
83
+ var textAlign = _ref22.textAlign;
84
+ return textAlign;
85
+ }, function (_ref23) {
86
+ var textDecoration = _ref23.textDecoration;
87
+ return textDecoration;
88
+ }, function (_ref24) {
89
+ var textOverflow = _ref24.textOverflow;
90
+ return textOverflow;
91
+ }, function (_ref25) {
92
+ var whiteSpace = _ref25.whiteSpace;
93
+ return whiteSpace;
94
+ }, function (_ref26) {
95
+ var textOverflow = _ref26.textOverflow;
96
+ return textOverflow !== "unset" ? "hidden" : "visible";
97
+ });
98
+ var _default = exports["default"] = BaseTypography;
@@ -0,0 +1,13 @@
1
+ import React from "react";
2
+ /**
3
+ * Traps the focus inside the children of the component. It will focus the first focusable element when the component is mounted.
4
+ * When the focus is on the last focusable element and the user tries to focus the next element, it will focus the first element.
5
+ * When the focus is on the first focusable element and the user tries to focus the previous element, it will focus the last element.
6
+ * The focus can't be moved outside the children unless the children are removed from the DOM (for example, a Dialog, a Modal, etc).
7
+ * @param children: React.ReactNode
8
+ * @returns
9
+ */
10
+ declare const FocusLock: ({ children }: {
11
+ children: React.ReactNode;
12
+ }) => JSX.Element;
13
+ export default FocusLock;
@@ -0,0 +1,125 @@
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 _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ 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); }
12
+ 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 && {}.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; }
13
+ var not = {
14
+ negTabIndex: ':not([tabindex^="-"])',
15
+ disabled: ":not(:disabled)"
16
+ };
17
+ var focusableQuery = ["a[href]".concat(not.negTabIndex), "area[href]".concat(not.negTabIndex), "input:not([type=\"hidden\"])".concat(not.negTabIndex).concat(not.disabled), "select".concat(not.negTabIndex).concat(not.disabled), "textarea".concat(not.negTabIndex).concat(not.disabled), "button".concat(not.negTabIndex).concat(not.disabled), "details > summary:first-of-type".concat(not.negTabIndex), "iframe".concat(not.negTabIndex), "audio[controls]".concat(not.negTabIndex), "video[controls]".concat(not.negTabIndex), "[contenteditable]".concat(not.negTabIndex), "[tabindex]".concat(not.negTabIndex).concat(not.disabled)].join(",");
18
+ var getFocusableElements = function getFocusableElements(container) {
19
+ return Array.prototype.slice.call(container.querySelectorAll(focusableQuery)).filter(function (element) {
20
+ return element.getAttribute("aria-hidden") !== "true" && window.getComputedStyle(element).display !== "none" && window.getComputedStyle(element).visibility !== "hidden";
21
+ });
22
+ };
23
+
24
+ /**
25
+ * This function will try to focus the element and return true if it was able to receive the focus.
26
+ * Even if the element is focusable (passes any of the conditions of our selector), there is the possibility
27
+ * that the element may not be focusable at all.
28
+ * @param element: HTMLElement
29
+ * @returns
30
+ */
31
+ var attemptFocus = function attemptFocus(element) {
32
+ element === null || element === void 0 ? void 0 : element.focus();
33
+ return document.activeElement === element;
34
+ };
35
+
36
+ /**
37
+ * @param element: HTMLElement
38
+ * @returns boolean: true if element is contained inside a Radix Portal, false otherwise.
39
+ */
40
+ var radixPortalContains = function radixPortalContains(activeElement) {
41
+ var radixPortals = document.querySelectorAll("[data-radix-portal]");
42
+ var radixPoppers = document.querySelectorAll("[data-radix-popper-content-wrapper]");
43
+ return Array.prototype.slice.call(radixPortals).some(function (portal) {
44
+ return portal.contains(activeElement);
45
+ }) || Array.prototype.slice.call(radixPoppers).some(function (popper) {
46
+ return popper.contains(activeElement);
47
+ });
48
+ };
49
+
50
+ /**
51
+ * Custom hook that returns an array of focusable elements inside a container.
52
+ * @param ref: React.MutableRefObject<HTMLDivElement>
53
+ * @returns
54
+ */
55
+ var useFocusableElements = function useFocusableElements(ref) {
56
+ var _useState = (0, _react.useState)(),
57
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
58
+ focusableElements = _useState2[0],
59
+ setFocusableElements = _useState2[1];
60
+ (0, _react.useEffect)(function () {
61
+ if (ref.current != null) {
62
+ setFocusableElements(getFocusableElements(ref.current));
63
+ var observer = new MutationObserver(function () {
64
+ setFocusableElements(getFocusableElements(ref.current));
65
+ });
66
+ observer.observe(ref.current, {
67
+ childList: true,
68
+ subtree: true,
69
+ attributes: true
70
+ });
71
+ return function () {
72
+ observer.disconnect();
73
+ };
74
+ }
75
+ }, []);
76
+ return focusableElements;
77
+ };
78
+
79
+ /**
80
+ * Traps the focus inside the children of the component. It will focus the first focusable element when the component is mounted.
81
+ * When the focus is on the last focusable element and the user tries to focus the next element, it will focus the first element.
82
+ * When the focus is on the first focusable element and the user tries to focus the previous element, it will focus the last element.
83
+ * The focus can't be moved outside the children unless the children are removed from the DOM (for example, a Dialog, a Modal, etc).
84
+ * @param children: React.ReactNode
85
+ * @returns
86
+ */
87
+ var FocusLock = function FocusLock(_ref) {
88
+ var children = _ref.children;
89
+ var childrenContainerRef = (0, _react.useRef)();
90
+ var focusableElements = useFocusableElements(childrenContainerRef);
91
+ var focusFirst = (0, _react.useCallback)(function () {
92
+ var _childrenContainerRef;
93
+ if ((focusableElements === null || focusableElements === void 0 ? void 0 : focusableElements.length) === 0) (_childrenContainerRef = childrenContainerRef.current) === null || _childrenContainerRef === void 0 ? void 0 : _childrenContainerRef.focus();else if ((focusableElements === null || focusableElements === void 0 ? void 0 : focusableElements.length) > 0) focusableElements.some(function (element) {
94
+ return attemptFocus(element);
95
+ });
96
+ }, [focusableElements]);
97
+ var focusLast = function focusLast() {
98
+ var _focusableElements$re;
99
+ focusableElements === null || focusableElements === void 0 ? void 0 : (_focusableElements$re = focusableElements.reverse()) === null || _focusableElements$re === void 0 ? void 0 : _focusableElements$re.some(function (element) {
100
+ return attemptFocus(element);
101
+ });
102
+ };
103
+ var focusLock = function focusLock(event) {
104
+ if (event.key === "Tab") focusableElements.length === 0 && event.preventDefault();
105
+ };
106
+ (0, _react.useEffect)(function () {
107
+ var _childrenContainerRef2;
108
+ if (!((_childrenContainerRef2 = childrenContainerRef.current) !== null && _childrenContainerRef2 !== void 0 && _childrenContainerRef2.contains(document.activeElement)) && !radixPortalContains(document.activeElement)) focusFirst();
109
+ }, [focusFirst]);
110
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", {
111
+ onFocus: focusLast,
112
+ tabIndex: 0
113
+ }), /*#__PURE__*/_react["default"].createElement("div", {
114
+ onKeyDown: focusLock,
115
+ ref: childrenContainerRef,
116
+ tabIndex: (focusableElements === null || focusableElements === void 0 ? void 0 : focusableElements.length) === 0 ? 0 : -1,
117
+ style: {
118
+ outline: "none"
119
+ }
120
+ }, children), /*#__PURE__*/_react["default"].createElement("div", {
121
+ onFocus: focusFirst,
122
+ tabIndex: 0
123
+ }));
124
+ };
125
+ var _default = exports["default"] = FocusLock;
@@ -0,0 +1,2 @@
1
+ declare const useWidth: <T extends Element>(target: T) => number;
2
+ export default useWidth;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
+ var _react = require("react");
10
+ var useWidth = function useWidth(target) {
11
+ var _useState = (0, _react.useState)(0),
12
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
13
+ width = _useState2[0],
14
+ setWidth = _useState2[1];
15
+ (0, _react.useLayoutEffect)(function () {
16
+ if (target != null) {
17
+ setWidth(target.getBoundingClientRect().width);
18
+ var triggerObserver = new ResizeObserver(function (entries) {
19
+ var rect = entries[0].target.getBoundingClientRect();
20
+ setWidth(rect === null || rect === void 0 ? void 0 : rect.width);
21
+ });
22
+ triggerObserver.observe(target);
23
+ return function () {
24
+ triggerObserver.unobserve(target);
25
+ };
26
+ }
27
+ }, [target]);
28
+ return width;
29
+ };
30
+ var _default = exports["default"] = useWidth;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
5
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
6
+ var _react = _interopRequireDefault(require("react"));
7
+ var _react2 = require("@testing-library/react");
8
+ var _axeHelper = require("../../test/accessibility/axe-helper.js");
9
+ var _Wizard = _interopRequireDefault(require("./Wizard"));
10
+ var favoriteSVG = /*#__PURE__*/_react["default"].createElement("svg", {
11
+ viewBox: "0 0 24 24",
12
+ fill: "currentColor"
13
+ }, /*#__PURE__*/_react["default"].createElement("path", {
14
+ d: "M0 0h24v24H0z",
15
+ fill: "none"
16
+ }), /*#__PURE__*/_react["default"].createElement("path", {
17
+ d: "M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z"
18
+ }));
19
+ describe("Wizard component accessibility tests", function () {
20
+ it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
21
+ var _render, container, results;
22
+ return _regenerator["default"].wrap(function _callee$(_context) {
23
+ while (1) switch (_context.prev = _context.next) {
24
+ case 0:
25
+ _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Wizard["default"], {
26
+ steps: [{
27
+ label: "first-step",
28
+ description: "Description",
29
+ icon: favoriteSVG
30
+ }, {
31
+ label: "second-step",
32
+ description: "Description"
33
+ }, {
34
+ label: "valid-step",
35
+ valid: true
36
+ }, {
37
+ label: "disabled-step",
38
+ disabled: true
39
+ }],
40
+ mode: "vertical",
41
+ defaultCurrentStep: 1,
42
+ margin: "medium"
43
+ })), container = _render.container;
44
+ _context.next = 3;
45
+ return (0, _axeHelper.axe)(container);
46
+ case 3:
47
+ results = _context.sent;
48
+ expect(results).toHaveNoViolations();
49
+ case 5:
50
+ case "end":
51
+ return _context.stop();
52
+ }
53
+ }, _callee);
54
+ })));
55
+ });
@@ -1,4 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import WizardPropsType from "./types";
3
- declare const DxcWizard: ({ mode, currentStep, onStepClick, steps, margin, tabIndex, }: WizardPropsType) => JSX.Element;
3
+ declare const DxcWizard: ({ mode, defaultCurrentStep, currentStep, onStepClick, steps, margin, tabIndex, }: WizardPropsType) => JSX.Element;
4
4
  export default DxcWizard;