@dxc-technology/halstack-react 0.0.0-6d8b48c → 0.0.0-6e2cafb

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 (503) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +5 -22
  3. package/HalstackContext.d.ts +1240 -6
  4. package/HalstackContext.js +127 -116
  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 +101 -159
  10. package/accordion/Accordion.stories.tsx +82 -148
  11. package/accordion/Accordion.test.d.ts +1 -0
  12. package/accordion/Accordion.test.js +24 -40
  13. package/accordion/types.d.ts +6 -17
  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 +2 -2
  17. package/accordion-group/AccordionGroup.js +31 -98
  18. package/accordion-group/AccordionGroup.stories.tsx +94 -67
  19. package/accordion-group/AccordionGroup.test.d.ts +1 -0
  20. package/accordion-group/AccordionGroup.test.js +49 -106
  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 +12 -17
  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 +37 -127
  37. package/alert/Alert.stories.tsx +28 -0
  38. package/alert/Alert.test.d.ts +1 -0
  39. package/alert/Alert.test.js +28 -45
  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 +1 -1
  44. package/badge/Badge.js +142 -42
  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 +52 -3
  49. package/bleed/Bleed.js +13 -21
  50. package/bleed/Bleed.stories.tsx +64 -63
  51. package/bleed/types.d.ts +2 -2
  52. package/box/Box.accessibility.test.d.ts +1 -0
  53. package/box/Box.accessibility.test.js +33 -0
  54. package/box/Box.d.ts +1 -1
  55. package/box/Box.js +19 -60
  56. package/box/Box.stories.tsx +38 -51
  57. package/box/Box.test.d.ts +1 -0
  58. package/box/Box.test.js +1 -6
  59. package/box/types.d.ts +3 -14
  60. package/breadcrumbs/Breadcrumbs.accessibility.test.d.ts +1 -0
  61. package/breadcrumbs/Breadcrumbs.accessibility.test.js +96 -0
  62. package/breadcrumbs/Breadcrumbs.d.ts +4 -0
  63. package/breadcrumbs/Breadcrumbs.js +79 -0
  64. package/breadcrumbs/Breadcrumbs.stories.tsx +194 -0
  65. package/breadcrumbs/Breadcrumbs.test.d.ts +1 -0
  66. package/breadcrumbs/Breadcrumbs.test.js +169 -0
  67. package/breadcrumbs/Item.d.ts +4 -0
  68. package/breadcrumbs/Item.js +52 -0
  69. package/breadcrumbs/dropdownTheme.d.ts +53 -0
  70. package/breadcrumbs/dropdownTheme.js +62 -0
  71. package/breadcrumbs/types.d.ts +16 -0
  72. package/bulleted-list/BulletedList.accessibility.test.d.ts +1 -0
  73. package/bulleted-list/BulletedList.accessibility.test.js +119 -0
  74. package/bulleted-list/BulletedList.d.ts +7 -0
  75. package/bulleted-list/BulletedList.js +92 -0
  76. package/bulleted-list/BulletedList.stories.tsx +115 -0
  77. package/bulleted-list/types.d.ts +38 -0
  78. package/button/Button.accessibility.test.d.ts +1 -0
  79. package/button/Button.accessibility.test.js +127 -0
  80. package/button/Button.d.ts +1 -1
  81. package/button/Button.js +64 -117
  82. package/button/Button.stories.tsx +151 -100
  83. package/button/Button.test.d.ts +1 -0
  84. package/button/Button.test.js +19 -16
  85. package/button/types.d.ts +12 -8
  86. package/card/Card.accessibility.test.d.ts +1 -0
  87. package/card/Card.accessibility.test.js +36 -0
  88. package/card/Card.d.ts +1 -1
  89. package/card/Card.js +49 -89
  90. package/card/Card.stories.tsx +12 -42
  91. package/card/Card.test.d.ts +1 -0
  92. package/card/Card.test.js +10 -21
  93. package/card/types.d.ts +6 -11
  94. package/checkbox/Checkbox.accessibility.test.d.ts +1 -0
  95. package/checkbox/Checkbox.accessibility.test.js +87 -0
  96. package/checkbox/Checkbox.d.ts +2 -2
  97. package/checkbox/Checkbox.js +138 -183
  98. package/checkbox/Checkbox.stories.tsx +128 -94
  99. package/checkbox/Checkbox.test.d.ts +1 -0
  100. package/checkbox/Checkbox.test.js +159 -38
  101. package/checkbox/types.d.ts +11 -3
  102. package/chip/Chip.accessibility.test.d.ts +1 -0
  103. package/chip/Chip.accessibility.test.js +67 -0
  104. package/chip/Chip.js +45 -80
  105. package/chip/Chip.stories.tsx +107 -27
  106. package/chip/Chip.test.d.ts +1 -0
  107. package/chip/Chip.test.js +17 -32
  108. package/chip/types.d.ts +4 -4
  109. package/common/coreTokens.d.ts +237 -0
  110. package/common/coreTokens.js +184 -0
  111. package/common/fonts.css +2 -0
  112. package/common/utils.d.ts +1 -0
  113. package/common/utils.js +6 -12
  114. package/common/variables.d.ts +1392 -0
  115. package/common/variables.js +993 -1199
  116. package/container/Container.d.ts +4 -0
  117. package/container/Container.js +194 -0
  118. package/container/Container.stories.tsx +214 -0
  119. package/container/types.d.ts +74 -0
  120. package/contextual-menu/ContextualMenu.accessibility.test.d.ts +1 -0
  121. package/contextual-menu/ContextualMenu.accessibility.test.js +98 -0
  122. package/contextual-menu/ContextualMenu.d.ts +5 -0
  123. package/contextual-menu/ContextualMenu.js +88 -0
  124. package/contextual-menu/ContextualMenu.stories.tsx +232 -0
  125. package/contextual-menu/ContextualMenu.test.d.ts +1 -0
  126. package/contextual-menu/ContextualMenu.test.js +205 -0
  127. package/contextual-menu/GroupItem.d.ts +4 -0
  128. package/contextual-menu/GroupItem.js +67 -0
  129. package/contextual-menu/ItemAction.d.ts +4 -0
  130. package/contextual-menu/ItemAction.js +51 -0
  131. package/contextual-menu/MenuItem.d.ts +4 -0
  132. package/contextual-menu/MenuItem.js +29 -0
  133. package/contextual-menu/SingleItem.d.ts +4 -0
  134. package/contextual-menu/SingleItem.js +38 -0
  135. package/contextual-menu/types.d.ts +58 -0
  136. package/date-input/Calendar.d.ts +4 -0
  137. package/date-input/Calendar.js +214 -0
  138. package/date-input/DateInput.accessibility.test.d.ts +1 -0
  139. package/date-input/DateInput.accessibility.test.js +230 -0
  140. package/date-input/DateInput.js +149 -299
  141. package/date-input/DateInput.stories.tsx +210 -56
  142. package/date-input/DateInput.test.d.ts +1 -0
  143. package/date-input/DateInput.test.js +700 -370
  144. package/date-input/DatePicker.d.ts +4 -0
  145. package/date-input/DatePicker.js +121 -0
  146. package/date-input/YearPicker.d.ts +4 -0
  147. package/date-input/YearPicker.js +100 -0
  148. package/date-input/types.d.ts +72 -15
  149. package/dialog/Dialog.accessibility.test.d.ts +1 -0
  150. package/dialog/Dialog.accessibility.test.js +69 -0
  151. package/dialog/Dialog.d.ts +1 -1
  152. package/dialog/Dialog.js +61 -106
  153. package/dialog/Dialog.stories.tsx +325 -167
  154. package/dialog/Dialog.test.d.ts +1 -0
  155. package/dialog/Dialog.test.js +350 -19
  156. package/dialog/types.d.ts +18 -25
  157. package/divider/Divider.accessibility.test.d.ts +1 -0
  158. package/divider/Divider.accessibility.test.js +33 -0
  159. package/divider/Divider.d.ts +4 -0
  160. package/divider/Divider.js +36 -0
  161. package/divider/Divider.stories.tsx +223 -0
  162. package/divider/Divider.test.d.ts +1 -0
  163. package/divider/Divider.test.js +38 -0
  164. package/divider/types.d.ts +21 -0
  165. package/dropdown/Dropdown.accessibility.test.d.ts +1 -0
  166. package/dropdown/Dropdown.accessibility.test.js +184 -0
  167. package/dropdown/Dropdown.d.ts +1 -1
  168. package/dropdown/Dropdown.js +232 -303
  169. package/dropdown/Dropdown.stories.tsx +235 -57
  170. package/dropdown/Dropdown.test.d.ts +1 -0
  171. package/dropdown/Dropdown.test.js +604 -164
  172. package/dropdown/DropdownMenu.d.ts +4 -0
  173. package/dropdown/DropdownMenu.js +63 -0
  174. package/dropdown/DropdownMenuItem.d.ts +4 -0
  175. package/dropdown/DropdownMenuItem.js +71 -0
  176. package/dropdown/types.d.ts +35 -19
  177. package/file-input/FileInput.accessibility.test.d.ts +1 -0
  178. package/file-input/FileInput.accessibility.test.js +167 -0
  179. package/file-input/FileInput.d.ts +2 -2
  180. package/file-input/FileInput.js +240 -393
  181. package/file-input/FileInput.stories.tsx +123 -12
  182. package/file-input/FileInput.test.d.ts +1 -0
  183. package/file-input/FileInput.test.js +314 -367
  184. package/file-input/FileItem.d.ts +4 -14
  185. package/file-input/FileItem.js +56 -117
  186. package/file-input/types.d.ts +25 -8
  187. package/flex/Flex.d.ts +4 -0
  188. package/flex/Flex.js +57 -0
  189. package/flex/Flex.stories.tsx +112 -0
  190. package/flex/types.d.ts +97 -0
  191. package/footer/Footer.accessibility.test.d.ts +1 -0
  192. package/footer/Footer.accessibility.test.js +125 -0
  193. package/footer/Footer.d.ts +1 -1
  194. package/footer/Footer.js +73 -118
  195. package/footer/Footer.stories.tsx +99 -21
  196. package/footer/Footer.test.d.ts +1 -0
  197. package/footer/Footer.test.js +32 -56
  198. package/footer/Icons.d.ts +3 -2
  199. package/footer/Icons.js +54 -23
  200. package/footer/types.d.ts +26 -27
  201. package/grid/Grid.d.ts +7 -0
  202. package/grid/Grid.js +76 -0
  203. package/grid/Grid.stories.tsx +219 -0
  204. package/grid/types.d.ts +115 -0
  205. package/grid/types.js +5 -0
  206. package/header/Header.accessibility.test.d.ts +1 -0
  207. package/header/Header.accessibility.test.js +94 -0
  208. package/header/Header.d.ts +4 -3
  209. package/header/Header.js +90 -183
  210. package/header/Header.stories.tsx +133 -38
  211. package/header/Header.test.d.ts +1 -0
  212. package/header/Header.test.js +12 -25
  213. package/header/Icons.d.ts +2 -2
  214. package/header/Icons.js +5 -15
  215. package/header/types.d.ts +7 -21
  216. package/heading/Heading.accessibility.test.d.ts +1 -0
  217. package/heading/Heading.accessibility.test.js +33 -0
  218. package/heading/Heading.js +10 -32
  219. package/heading/Heading.test.d.ts +1 -0
  220. package/heading/Heading.test.js +64 -94
  221. package/heading/types.d.ts +7 -7
  222. package/icon/Icon.accessibility.test.d.ts +1 -0
  223. package/icon/Icon.accessibility.test.js +30 -0
  224. package/icon/Icon.d.ts +4 -0
  225. package/icon/Icon.js +33 -0
  226. package/icon/Icon.stories.tsx +28 -0
  227. package/icon/types.d.ts +4 -0
  228. package/icon/types.js +5 -0
  229. package/image/Image.accessibility.test.d.ts +1 -0
  230. package/image/Image.accessibility.test.js +56 -0
  231. package/image/Image.d.ts +4 -0
  232. package/image/Image.js +70 -0
  233. package/image/Image.stories.tsx +129 -0
  234. package/image/types.d.ts +72 -0
  235. package/image/types.js +5 -0
  236. package/inset/Inset.js +13 -21
  237. package/inset/Inset.stories.tsx +5 -4
  238. package/inset/types.d.ts +2 -2
  239. package/layout/ApplicationLayout.d.ts +15 -6
  240. package/layout/ApplicationLayout.js +56 -118
  241. package/layout/ApplicationLayout.stories.tsx +81 -45
  242. package/layout/Icons.d.ts +7 -5
  243. package/layout/Icons.js +41 -59
  244. package/layout/types.d.ts +21 -32
  245. package/link/Link.accessibility.test.d.ts +1 -0
  246. package/link/Link.accessibility.test.js +108 -0
  247. package/link/Link.js +32 -51
  248. package/link/Link.stories.tsx +76 -9
  249. package/link/Link.test.d.ts +1 -0
  250. package/link/Link.test.js +23 -43
  251. package/link/types.d.ts +14 -14
  252. package/main.d.ts +16 -13
  253. package/main.js +67 -103
  254. package/nav-tabs/NavTabs.accessibility.test.d.ts +1 -0
  255. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  256. package/nav-tabs/NavTabs.d.ts +7 -0
  257. package/nav-tabs/NavTabs.js +108 -0
  258. package/nav-tabs/NavTabs.stories.tsx +294 -0
  259. package/nav-tabs/NavTabs.test.d.ts +1 -0
  260. package/nav-tabs/NavTabs.test.js +77 -0
  261. package/nav-tabs/NavTabsContext.d.ts +3 -0
  262. package/nav-tabs/NavTabsContext.js +8 -0
  263. package/nav-tabs/Tab.js +117 -0
  264. package/{tabs-nav → nav-tabs}/types.d.ts +15 -16
  265. package/nav-tabs/types.js +5 -0
  266. package/number-input/NumberInput.accessibility.test.d.ts +1 -0
  267. package/number-input/NumberInput.accessibility.test.js +228 -0
  268. package/number-input/NumberInput.js +46 -36
  269. package/number-input/NumberInput.stories.tsx +42 -26
  270. package/number-input/NumberInput.test.d.ts +1 -0
  271. package/number-input/NumberInput.test.js +859 -376
  272. package/number-input/NumberInputContext.d.ts +3 -4
  273. package/number-input/NumberInputContext.js +3 -14
  274. package/number-input/types.d.ts +17 -5
  275. package/package.json +53 -54
  276. package/paginator/Paginator.accessibility.test.d.ts +1 -0
  277. package/paginator/Paginator.accessibility.test.js +79 -0
  278. package/paginator/Paginator.js +35 -68
  279. package/paginator/Paginator.stories.tsx +24 -0
  280. package/paginator/Paginator.test.d.ts +1 -0
  281. package/paginator/Paginator.test.js +252 -225
  282. package/paginator/types.d.ts +3 -3
  283. package/paragraph/Paragraph.accessibility.test.d.ts +1 -0
  284. package/paragraph/Paragraph.accessibility.test.js +28 -0
  285. package/paragraph/Paragraph.d.ts +5 -0
  286. package/paragraph/Paragraph.js +22 -0
  287. package/paragraph/Paragraph.stories.tsx +27 -0
  288. package/password-input/PasswordInput.accessibility.test.d.ts +1 -0
  289. package/password-input/PasswordInput.accessibility.test.js +153 -0
  290. package/password-input/PasswordInput.js +58 -127
  291. package/password-input/PasswordInput.stories.tsx +1 -33
  292. package/password-input/PasswordInput.test.d.ts +1 -0
  293. package/password-input/PasswordInput.test.js +159 -141
  294. package/password-input/types.d.ts +8 -7
  295. package/progress-bar/ProgressBar.accessibility.test.d.ts +1 -0
  296. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  297. package/progress-bar/ProgressBar.js +68 -92
  298. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +39 -4
  299. package/progress-bar/ProgressBar.test.d.ts +1 -0
  300. package/progress-bar/ProgressBar.test.js +71 -43
  301. package/progress-bar/types.d.ts +3 -3
  302. package/quick-nav/QuickNav.accessibility.test.d.ts +1 -0
  303. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  304. package/quick-nav/QuickNav.js +27 -45
  305. package/quick-nav/QuickNav.stories.tsx +146 -27
  306. package/quick-nav/types.d.ts +10 -10
  307. package/radio-group/Radio.d.ts +1 -1
  308. package/radio-group/Radio.js +59 -79
  309. package/radio-group/RadioGroup.accessibility.test.d.ts +1 -0
  310. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  311. package/radio-group/RadioGroup.js +70 -119
  312. package/radio-group/RadioGroup.stories.tsx +132 -18
  313. package/radio-group/RadioGroup.test.d.ts +1 -0
  314. package/radio-group/RadioGroup.test.js +518 -459
  315. package/radio-group/types.d.ts +10 -10
  316. package/resultset-table/Icons.d.ts +7 -0
  317. package/resultset-table/Icons.js +47 -0
  318. package/resultset-table/ResultsetTable.accessibility.test.d.ts +1 -0
  319. package/resultset-table/ResultsetTable.accessibility.test.js +285 -0
  320. package/resultset-table/ResultsetTable.d.ts +7 -0
  321. package/resultset-table/ResultsetTable.js +171 -0
  322. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +168 -30
  323. package/resultset-table/ResultsetTable.test.d.ts +1 -0
  324. package/resultset-table/ResultsetTable.test.js +380 -0
  325. package/{resultsetTable → resultset-table}/types.d.ts +44 -11
  326. package/resultset-table/types.js +5 -0
  327. package/select/Listbox.js +40 -64
  328. package/select/Option.js +35 -56
  329. package/select/Select.accessibility.test.d.ts +1 -0
  330. package/select/Select.accessibility.test.js +228 -0
  331. package/select/Select.js +147 -207
  332. package/select/Select.stories.tsx +496 -203
  333. package/select/Select.test.d.ts +1 -0
  334. package/select/Select.test.js +1922 -1816
  335. package/select/types.d.ts +17 -20
  336. package/sidenav/Sidenav.accessibility.test.d.ts +1 -0
  337. package/sidenav/Sidenav.accessibility.test.js +59 -0
  338. package/sidenav/Sidenav.d.ts +6 -5
  339. package/sidenav/Sidenav.js +132 -78
  340. package/sidenav/Sidenav.stories.tsx +246 -151
  341. package/sidenav/Sidenav.test.d.ts +1 -0
  342. package/sidenav/Sidenav.test.js +25 -44
  343. package/{layout → sidenav}/SidenavContext.d.ts +1 -1
  344. package/{layout → sidenav}/SidenavContext.js +3 -9
  345. package/sidenav/types.d.ts +52 -26
  346. package/slider/Slider.accessibility.test.d.ts +1 -0
  347. package/slider/Slider.accessibility.test.js +104 -0
  348. package/slider/Slider.d.ts +2 -2
  349. package/slider/Slider.js +146 -181
  350. package/slider/Slider.stories.tsx +64 -61
  351. package/slider/Slider.test.d.ts +1 -0
  352. package/slider/Slider.test.js +195 -88
  353. package/slider/types.d.ts +7 -3
  354. package/spinner/Spinner.accessibility.test.d.ts +1 -0
  355. package/spinner/Spinner.accessibility.test.js +96 -0
  356. package/spinner/Spinner.js +34 -74
  357. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  358. package/spinner/Spinner.test.d.ts +1 -0
  359. package/spinner/Spinner.test.js +25 -34
  360. package/spinner/types.d.ts +3 -3
  361. package/status-light/StatusLight.accessibility.test.d.ts +1 -0
  362. package/status-light/StatusLight.accessibility.test.js +157 -0
  363. package/status-light/StatusLight.d.ts +4 -0
  364. package/status-light/StatusLight.js +51 -0
  365. package/status-light/StatusLight.stories.tsx +74 -0
  366. package/status-light/StatusLight.test.d.ts +1 -0
  367. package/status-light/StatusLight.test.js +25 -0
  368. package/status-light/types.d.ts +17 -0
  369. package/status-light/types.js +5 -0
  370. package/switch/Switch.accessibility.test.d.ts +1 -0
  371. package/switch/Switch.accessibility.test.js +98 -0
  372. package/switch/Switch.d.ts +2 -2
  373. package/switch/Switch.js +145 -129
  374. package/switch/Switch.stories.tsx +49 -60
  375. package/switch/Switch.test.d.ts +1 -0
  376. package/switch/Switch.test.js +137 -55
  377. package/switch/types.d.ts +7 -3
  378. package/table/DropdownTheme.js +62 -0
  379. package/table/Table.accessibility.test.d.ts +1 -0
  380. package/table/Table.accessibility.test.js +93 -0
  381. package/table/Table.d.ts +6 -2
  382. package/table/Table.js +78 -35
  383. package/table/Table.stories.tsx +663 -0
  384. package/table/Table.test.d.ts +1 -0
  385. package/table/Table.test.js +93 -7
  386. package/table/types.d.ts +34 -6
  387. package/tabs/Tab.d.ts +4 -0
  388. package/tabs/Tab.js +117 -0
  389. package/tabs/Tabs.accessibility.test.d.ts +1 -0
  390. package/tabs/Tabs.accessibility.test.js +56 -0
  391. package/tabs/Tabs.js +303 -141
  392. package/tabs/Tabs.stories.tsx +124 -6
  393. package/tabs/Tabs.test.d.ts +1 -0
  394. package/tabs/Tabs.test.js +212 -76
  395. package/tabs/types.d.ts +30 -20
  396. package/tag/Tag.accessibility.test.d.ts +1 -0
  397. package/tag/Tag.accessibility.test.js +69 -0
  398. package/tag/Tag.js +35 -67
  399. package/tag/Tag.stories.tsx +18 -8
  400. package/tag/Tag.test.d.ts +1 -0
  401. package/tag/Tag.test.js +17 -36
  402. package/tag/types.d.ts +9 -9
  403. package/text-input/Suggestion.js +40 -28
  404. package/text-input/Suggestions.d.ts +4 -0
  405. package/text-input/Suggestions.js +94 -0
  406. package/text-input/TextInput.accessibility.test.d.ts +1 -0
  407. package/text-input/TextInput.accessibility.test.js +321 -0
  408. package/text-input/TextInput.js +311 -512
  409. package/text-input/TextInput.stories.tsx +276 -276
  410. package/text-input/TextInput.test.d.ts +1 -0
  411. package/text-input/TextInput.test.js +1418 -1374
  412. package/text-input/types.d.ts +43 -16
  413. package/textarea/Textarea.accessibility.test.d.ts +1 -0
  414. package/textarea/Textarea.accessibility.test.js +155 -0
  415. package/textarea/Textarea.js +70 -115
  416. package/textarea/Textarea.stories.tsx +174 -0
  417. package/textarea/Textarea.test.d.ts +1 -0
  418. package/textarea/Textarea.test.js +151 -182
  419. package/textarea/types.d.ts +9 -5
  420. package/toggle-group/ToggleGroup.accessibility.test.d.ts +1 -0
  421. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  422. package/toggle-group/ToggleGroup.d.ts +2 -2
  423. package/toggle-group/ToggleGroup.js +92 -108
  424. package/toggle-group/ToggleGroup.stories.tsx +52 -7
  425. package/toggle-group/ToggleGroup.test.d.ts +1 -0
  426. package/toggle-group/ToggleGroup.test.js +68 -87
  427. package/toggle-group/types.d.ts +28 -19
  428. package/typography/Typography.accessibility.test.d.ts +1 -0
  429. package/typography/Typography.accessibility.test.js +339 -0
  430. package/typography/Typography.d.ts +4 -0
  431. package/typography/Typography.js +23 -0
  432. package/typography/Typography.stories.tsx +198 -0
  433. package/typography/types.d.ts +18 -0
  434. package/typography/types.js +5 -0
  435. package/useTheme.d.ts +1144 -1
  436. package/useTheme.js +2 -9
  437. package/useTranslatedLabels.d.ts +84 -1
  438. package/useTranslatedLabels.js +1 -7
  439. package/utils/BaseTypography.d.ts +21 -0
  440. package/utils/BaseTypography.js +94 -0
  441. package/utils/FocusLock.d.ts +13 -0
  442. package/utils/FocusLock.js +124 -0
  443. package/wizard/Wizard.accessibility.test.d.ts +1 -0
  444. package/wizard/Wizard.accessibility.test.js +55 -0
  445. package/wizard/Wizard.js +34 -87
  446. package/wizard/Wizard.stories.tsx +59 -1
  447. package/wizard/Wizard.test.d.ts +1 -0
  448. package/wizard/Wizard.test.js +53 -80
  449. package/wizard/types.d.ts +9 -9
  450. package/card/ice-cream.jpg +0 -0
  451. package/common/OpenSans.css +0 -81
  452. package/common/RequiredComponent.js +0 -32
  453. package/common/fonts/OpenSans-Bold.ttf +0 -0
  454. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  455. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  456. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  457. package/common/fonts/OpenSans-Italic.ttf +0 -0
  458. package/common/fonts/OpenSans-Light.ttf +0 -0
  459. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  460. package/common/fonts/OpenSans-Regular.ttf +0 -0
  461. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  462. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  463. package/inline/Inline.d.ts +0 -4
  464. package/inline/Inline.js +0 -54
  465. package/inline/Inline.stories.tsx +0 -240
  466. package/inline/types.d.ts +0 -32
  467. package/list/List.d.ts +0 -4
  468. package/list/List.js +0 -47
  469. package/list/List.stories.tsx +0 -89
  470. package/list/types.d.ts +0 -7
  471. package/number-input/numberInputContextTypes.d.ts +0 -19
  472. package/paginator/Icons.js +0 -66
  473. package/resultsetTable/ResultsetTable.d.ts +0 -4
  474. package/resultsetTable/ResultsetTable.js +0 -254
  475. package/resultsetTable/ResultsetTable.test.js +0 -348
  476. package/row/Row.d.ts +0 -3
  477. package/row/Row.js +0 -127
  478. package/row/Row.stories.tsx +0 -237
  479. package/row/types.d.ts +0 -28
  480. package/select/Icons.d.ts +0 -10
  481. package/select/Icons.js +0 -93
  482. package/stack/Stack.d.ts +0 -4
  483. package/stack/Stack.js +0 -50
  484. package/stack/Stack.stories.tsx +0 -203
  485. package/stack/types.d.ts +0 -28
  486. package/table/Table.stories.jsx +0 -277
  487. package/tabs-nav/NavTabs.d.ts +0 -8
  488. package/tabs-nav/NavTabs.js +0 -125
  489. package/tabs-nav/NavTabs.stories.tsx +0 -170
  490. package/tabs-nav/NavTabs.test.js +0 -82
  491. package/tabs-nav/Tab.js +0 -132
  492. package/text/Text.d.ts +0 -7
  493. package/text/Text.js +0 -30
  494. package/text/Text.stories.tsx +0 -19
  495. package/textarea/Textarea.stories.jsx +0 -157
  496. /package/{inline → action-icon}/types.js +0 -0
  497. /package/{list → breadcrumbs}/types.js +0 -0
  498. /package/{resultsetTable → bulleted-list}/types.js +0 -0
  499. /package/{row → container}/types.js +0 -0
  500. /package/{stack → contextual-menu}/types.js +0 -0
  501. /package/{tabs-nav → divider}/types.js +0 -0
  502. /package/{number-input/numberInputContextTypes.js → flex/types.js} +0 -0
  503. /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
@@ -1,203 +0,0 @@
1
- import React from "react";
2
- import Title from "../../.storybook/components/Title";
3
- import styled from "styled-components";
4
- import DxcStack from "./Stack";
5
-
6
- export default {
7
- title: "Stack",
8
- component: DxcStack,
9
- };
10
-
11
- export const Chromatic = () => (
12
- <>
13
- <Title title="Default" theme="light" level={4} />
14
- <Container>
15
- <DxcStack>
16
- <Placeholder />
17
- <Placeholder />
18
- <Placeholder />
19
- <Placeholder />
20
- <Placeholder />
21
- </DxcStack>
22
- </Container>
23
- <Title title="Default with divider" theme="light" level={4} />
24
- <Container>
25
- <DxcStack divider>
26
- <Placeholder />
27
- <Placeholder />
28
- <Placeholder />
29
- </DxcStack>
30
- </Container>
31
- <Title title="Alignment with divider" theme="light" level={4} />
32
- <Container>
33
- <DxcStack alignX="end" divider>
34
- <Placeholder paddingLeft={20}></Placeholder>
35
- <Placeholder />
36
- <Placeholder paddingLeft={60}></Placeholder>
37
- </DxcStack>
38
- </Container>
39
- <Title title="Default with one child" theme="light" level={4} />
40
- <Container>
41
- <DxcStack divider>
42
- <Placeholder />
43
- </DxcStack>
44
- </Container>
45
- <Title title="Wrap" theme="light" level={4} />
46
- <FlexContainer customHeight>
47
- <DxcStack>
48
- <Placeholder />
49
- <Placeholder />
50
- <Placeholder />
51
- <Placeholder />
52
- <Placeholder />
53
- </DxcStack>
54
- </FlexContainer>
55
- <Title title="AlignX = start" theme="light" level={4} />
56
- <Container>
57
- <DxcStack alignX="start">
58
- <Placeholder paddingLeft={20}></Placeholder>
59
- <Placeholder />
60
- <Placeholder paddingRight={60}></Placeholder>
61
- <Placeholder paddingLeft={20}></Placeholder>
62
- </DxcStack>
63
- </Container>
64
- <Title title="AlignX = end" theme="light" level={4} />
65
- <Container>
66
- <DxcStack alignX="end">
67
- <Placeholder paddingLeft={20}></Placeholder>
68
- <Placeholder />
69
- <Placeholder paddingLeft={60}></Placeholder>
70
- </DxcStack>
71
- </Container>
72
- <Title title="AlignX = center" theme="light" level={4} />
73
- <Container>
74
- <DxcStack alignX="center">
75
- <Placeholder paddingLeft={20}></Placeholder>
76
- <Placeholder />
77
- <Placeholder paddingLeft={60}></Placeholder>
78
- <Placeholder paddingLeft={20}></Placeholder>
79
- </DxcStack>
80
- </Container>
81
- <Title title="AlignX = baseline" theme="light" level={4} />
82
- <Container>
83
- <DxcStack alignX="baseline">
84
- <Placeholder paddingLeft={20}></Placeholder>
85
- <Placeholder />
86
- <Placeholder paddingLeft={60}></Placeholder>
87
- </DxcStack>
88
- </Container>
89
- <Title title="AlignX with wrapped items" theme="light" level={4} />
90
- <FlexContainer customHeight>
91
- <DxcStack alignX="center">
92
- <Placeholder />
93
- <Placeholder paddingRight={60} />
94
- <Placeholder paddingLeft={20} />
95
- <Placeholder />
96
- <Placeholder paddingRight={20} />
97
- <Placeholder paddingLeft={60} />
98
- </DxcStack>
99
- </FlexContainer>
100
- <Title title="Gutter = 0rem" theme="light" level={4} />
101
- <Container>
102
- <DxcStack gutter="0rem">
103
- <Placeholder />
104
- <Placeholder />
105
- <Placeholder />
106
- <Placeholder />
107
- <Placeholder />
108
- </DxcStack>
109
- </Container>
110
- <Title title="Gutter = 0.125rem" theme="light" level={4} />
111
- <Container>
112
- <DxcStack gutter="0.125rem">
113
- <Placeholder />
114
- <Placeholder />
115
- <Placeholder />
116
- </DxcStack>
117
- </Container>
118
- <Title title="Gutter = 0.25rem" theme="light" level={4} />
119
- <Container>
120
- <DxcStack gutter="0.25rem">
121
- <Placeholder />
122
- <Placeholder />
123
- <Placeholder />
124
- <Placeholder />
125
- <Placeholder />
126
- </DxcStack>
127
- </Container>
128
- <Title title="Gutter = 0.5rem" theme="light" level={4} />
129
- <Container>
130
- <DxcStack gutter="0.5rem">
131
- <Placeholder />
132
- <Placeholder />
133
- <Placeholder />
134
- </DxcStack>
135
- </Container>
136
- <Title title="Gutter = 0.75rem" theme="light" level={4} />
137
- <Container>
138
- <DxcStack gutter="0.75rem">
139
- <Placeholder />
140
- <Placeholder />
141
- <Placeholder />
142
- <Placeholder />
143
- <Placeholder />
144
- </DxcStack>
145
- </Container>
146
- <Title title="Gutter = 1rem" theme="light" level={4} />
147
- <Container>
148
- <DxcStack gutter="1rem">
149
- <Placeholder />
150
- <Placeholder />
151
- <Placeholder />
152
- </DxcStack>
153
- </Container>
154
- <Title title="Gutter = 1.5rem" theme="light" level={4} />
155
- <Container>
156
- <DxcStack gutter="1.5rem">
157
- <Placeholder />
158
- <Placeholder />
159
- <Placeholder />
160
- <Placeholder />
161
- <Placeholder />
162
- </DxcStack>
163
- </Container>
164
- <Title title="Gutter = 2rem & divider" theme="light" level={4} />
165
- <Container>
166
- <DxcStack gutter="2rem" divider>
167
- <Placeholder />
168
- <Placeholder />
169
- <Placeholder />
170
- </DxcStack>
171
- </Container>
172
- <Title title="Reverse" theme="light" level={4} />
173
- <Container>
174
- <DxcStack reverse>
175
- <Placeholder>1</Placeholder>
176
- <Placeholder>2</Placeholder>
177
- <Placeholder>3</Placeholder>
178
- <Placeholder>4</Placeholder>
179
- </DxcStack>
180
- </Container>
181
- </>
182
- );
183
-
184
- const FlexContainer = styled.div<{ customHeight?: boolean }>`
185
- display: flex;
186
- ${({ customHeight }) => customHeight && `height: 100px;`};
187
- background: #f2eafa;
188
- `;
189
-
190
- const Container = styled.div<{ customHeight?: boolean }>`
191
- background: #f2eafa;
192
- `;
193
-
194
- type PlaceholderProps = { paddingLeft?: number; paddingRight?: number };
195
-
196
- const Placeholder = styled.div<PlaceholderProps>`
197
- min-height: 40px;
198
- min-width: 120px;
199
- border: 1px solid #a46ede;
200
- background-color: #e5d5f6;
201
- padding-left: ${({ paddingLeft }) => `${paddingLeft ?? 0}px`};
202
- padding-right: ${({ paddingRight }) => `${paddingRight ?? 0}px`};
203
- `;
package/stack/types.d.ts DELETED
@@ -1,28 +0,0 @@
1
- /// <reference types="react" />
2
- declare type Props = {
3
- /**
4
- * Alignment applied to children in the main axis.
5
- */
6
- alignX?: "start" | "end" | "center" | "baseline" | "stretch";
7
- /**
8
- * Specifies the HTML tag or component that is rendered as the wrapper element.
9
- */
10
- as?: React.ElementType;
11
- /**
12
- * If true, a divider is shown between children.
13
- */
14
- divider?: boolean;
15
- /**
16
- * Space applied between each child.
17
- */
18
- gutter?: "0rem" | "0.125rem" | "0.25rem" | "0.5rem" | "0.75rem" | "1rem" | "1.5rem" | "2rem";
19
- /**
20
- * Change the direction of the stack to reverse.
21
- */
22
- reverse?: boolean;
23
- /**
24
- * Custom content inside the stack.
25
- */
26
- children: React.ReactElement<React.ReactNode>[] | React.ReactElement<React.ReactNode>;
27
- };
28
- export default Props;
@@ -1,277 +0,0 @@
1
- import React from "react";
2
- import DxcTable from "./Table";
3
- import Title from "../../.storybook/components/Title";
4
- import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
-
6
- export default {
7
- title: "Table",
8
- component: DxcTable,
9
- };
10
-
11
- export const Chromatic = () => (
12
- <>
13
- <ExampleContainer>
14
- <Title title="Default" theme="light" level={4} />
15
- <DxcTable>
16
- <tr>
17
- <th>header 1</th>
18
- <th>header 2</th>
19
- <th>header 3</th>
20
- </tr>
21
- <tr>
22
- <td>cell 1</td>
23
- <td>cell 2</td>
24
- <td>cell 3</td>
25
- </tr>
26
- <tr>
27
- <td>cell 4</td>
28
- <td>cell 5</td>
29
- <td>cell 6</td>
30
- </tr>
31
- <tr>
32
- <td>cell 7</td>
33
- <td>cell 8</td>
34
- <td>Cell 9</td>
35
- </tr>
36
- </DxcTable>
37
- </ExampleContainer>
38
- <ExampleContainer>
39
- <Title title="With scrollbar" theme="light" level={4} />
40
- <div
41
- style={{ height: 200 + "px", display: "flex", flexDirection: "row", width: 100 + "%", marginBottom: 50 + "px" }}
42
- >
43
- <DxcTable>
44
- <tr>
45
- <th>
46
- header<br></br>subheader
47
- </th>
48
- <th>
49
- header<br></br>subheader
50
- </th>
51
- <th>
52
- header<br></br>subheader
53
- </th>
54
- </tr>
55
- <tr>
56
- <td>
57
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
58
- dolore magna aliqua.
59
- </td>
60
- <td>
61
- Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
62
- consequat.
63
- </td>
64
- <td>
65
- Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
66
- </td>
67
- </tr>
68
- <tr>
69
- <td>cell data</td>
70
- <td>cell data</td>
71
- <td>cell data</td>
72
- </tr>
73
- <tr>
74
- <td>cell data</td>
75
- <td>cell data</td>
76
- <td>cell data</td>
77
- </tr>
78
- <tr>
79
- <td>cell data</td>
80
- <td>cell data</td>
81
- <td>cell data</td>
82
- </tr>
83
- <tr>
84
- <td>cell data</td>
85
- <td>cell data</td>
86
- <td>cell data</td>
87
- </tr>
88
- <tr>
89
- <td>cell data</td>
90
- <td>cell data</td>
91
- <td>cell data</td>
92
- </tr>
93
- <tr>
94
- <td>cell data</td>
95
- <td>cell data</td>
96
- <td>cell data</td>
97
- </tr>
98
- <tr>
99
- <td>cell data</td>
100
- <td>cell data</td>
101
- <td>cell data</td>
102
- </tr>
103
- <tr>
104
- <td>cell data</td>
105
- <td>cell data</td>
106
- <td>cell data</td>
107
- </tr>
108
- </DxcTable>
109
- </div>
110
- </ExampleContainer>
111
- <Title title="Margins" theme="light" level={2} />
112
- <ExampleContainer>
113
- <Title title="Xxsmall margin" theme="light" level={4} />
114
- <DxcTable margin="xxsmall">
115
- <tr>
116
- <th>header 1</th>
117
- <th>header 2</th>
118
- <th>header 3</th>
119
- </tr>
120
- <tr>
121
- <td>cell 1</td>
122
- <td>cell 2</td>
123
- <td>cell 3</td>
124
- </tr>
125
- <tr>
126
- <td>cell 4</td>
127
- <td>cell 5</td>
128
- <td>cell 6</td>
129
- </tr>
130
- <tr>
131
- <td>cell 7</td>
132
- <td>cell 8</td>
133
- <td>Cell 9</td>
134
- </tr>
135
- </DxcTable>
136
- <Title title="Xsmall margin" theme="light" level={4} />
137
- <DxcTable margin="xsmall">
138
- <tr>
139
- <th>header 1</th>
140
- <th>header 2</th>
141
- <th>header 3</th>
142
- </tr>
143
- <tr>
144
- <td>cell 1</td>
145
- <td>cell 2</td>
146
- <td>cell 3</td>
147
- </tr>
148
- <tr>
149
- <td>cell 4</td>
150
- <td>cell 5</td>
151
- <td>cell 6</td>
152
- </tr>
153
- <tr>
154
- <td>cell 7</td>
155
- <td>cell 8</td>
156
- <td>Cell 9</td>
157
- </tr>
158
- </DxcTable>
159
- <Title title="Small margin" theme="light" level={4} />
160
- <DxcTable margin="small">
161
- <tr>
162
- <th>header 1</th>
163
- <th>header 2</th>
164
- <th>header 3</th>
165
- </tr>
166
- <tr>
167
- <td>cell 1</td>
168
- <td>cell 2</td>
169
- <td>cell 3</td>
170
- </tr>
171
- <tr>
172
- <td>cell 4</td>
173
- <td>cell 5</td>
174
- <td>cell 6</td>
175
- </tr>
176
- <tr>
177
- <td>cell 7</td>
178
- <td>cell 8</td>
179
- <td>Cell 9</td>
180
- </tr>
181
- </DxcTable>
182
- <Title title="Medium margin" theme="light" level={4} />
183
- <DxcTable margin="medium">
184
- <tr>
185
- <th>header 1</th>
186
- <th>header 2</th>
187
- <th>header 3</th>
188
- </tr>
189
- <tr>
190
- <td>cell 1</td>
191
- <td>cell 2</td>
192
- <td>cell 3</td>
193
- </tr>
194
- <tr>
195
- <td>cell 4</td>
196
- <td>cell 5</td>
197
- <td>cell 6</td>
198
- </tr>
199
- <tr>
200
- <td>cell 7</td>
201
- <td>cell 8</td>
202
- <td>Cell 9</td>
203
- </tr>
204
- </DxcTable>
205
- <Title title="Large margin" theme="light" level={4} />
206
- <DxcTable margin="large">
207
- <tr>
208
- <th>header 1</th>
209
- <th>header 2</th>
210
- <th>header 3</th>
211
- </tr>
212
- <tr>
213
- <td>cell 1</td>
214
- <td>cell 2</td>
215
- <td>cell 3</td>
216
- </tr>
217
- <tr>
218
- <td>cell 4</td>
219
- <td>cell 5</td>
220
- <td>cell 6</td>
221
- </tr>
222
- <tr>
223
- <td>cell 7</td>
224
- <td>cell 8</td>
225
- <td>Cell 9</td>
226
- </tr>
227
- </DxcTable>
228
- <Title title="Xlarge margin" theme="light" level={4} />
229
- <DxcTable margin="xlarge">
230
- <tr>
231
- <th>header 1</th>
232
- <th>header 2</th>
233
- <th>header 3</th>
234
- </tr>
235
- <tr>
236
- <td>cell 1</td>
237
- <td>cell 2</td>
238
- <td>cell 3</td>
239
- </tr>
240
- <tr>
241
- <td>cell 4</td>
242
- <td>cell 5</td>
243
- <td>cell 6</td>
244
- </tr>
245
- <tr>
246
- <td>cell 7</td>
247
- <td>cell 8</td>
248
- <td>Cell 9</td>
249
- </tr>
250
- </DxcTable>
251
- <Title title="Xxlarge margin" theme="light" level={4} />
252
- <DxcTable margin="xxlarge">
253
- <tr>
254
- <th>header 1</th>
255
- <th>header 2</th>
256
- <th>header 3</th>
257
- </tr>
258
- <tr>
259
- <td>cell 1</td>
260
- <td>cell 2</td>
261
- <td>cell 3</td>
262
- </tr>
263
- <tr>
264
- <td>cell 4</td>
265
- <td>cell 5</td>
266
- <td>cell 6</td>
267
- </tr>
268
- <tr>
269
- <td>cell 7</td>
270
- <td>cell 8</td>
271
- <td>Cell 9</td>
272
- </tr>
273
- </DxcTable>
274
- <hr />
275
- </ExampleContainer>
276
- </>
277
- );
@@ -1,8 +0,0 @@
1
- import React from "react";
2
- import { NavTabsContextProps, NavTabsProps } from "./types";
3
- export declare const NavTabsContext: React.Context<NavTabsContextProps>;
4
- declare const DxcNavTabs: {
5
- ({ iconPosition, tabIndex, children }: NavTabsProps): JSX.Element;
6
- Tab: React.ForwardRefExoticComponent<import("./types").TabProps & React.RefAttributes<HTMLAnchorElement>>;
7
- };
8
- export default DxcNavTabs;
@@ -1,125 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
- Object.defineProperty(exports, "__esModule", {
8
- value: true
9
- });
10
- exports["default"] = exports.NavTabsContext = void 0;
11
-
12
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
-
14
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
-
16
- var _react = _interopRequireWildcard(require("react"));
17
-
18
- var _styledComponents = _interopRequireWildcard(require("styled-components"));
19
-
20
- var _useTheme = _interopRequireDefault(require("../useTheme"));
21
-
22
- var _Tab = _interopRequireDefault(require("./Tab"));
23
-
24
- var _templateObject;
25
-
26
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
27
-
28
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
29
-
30
- var NavTabsContext = /*#__PURE__*/(0, _react.createContext)(null);
31
- exports.NavTabsContext = NavTabsContext;
32
-
33
- var getPropInChild = function getPropInChild(child, propName) {
34
- return child.props ? child.props[propName] ? child.props[propName] : child.props.children ? getPropInChild(child.props.children, propName) : undefined : undefined;
35
- };
36
-
37
- var getLabelFromTab = function getLabelFromTab(child) {
38
- if (typeof child === "string") {
39
- return child.toString();
40
- } else if (child.props.children) {
41
- return Array.isArray(child.props.children) ? getLabelFromTab(child.props.children[0]) : getLabelFromTab(child.props.children);
42
- }
43
- };
44
-
45
- var getPreviousTabIndex = function getPreviousTabIndex(array, initialIndex) {
46
- var index = initialIndex === 0 ? array.length - 1 : initialIndex - 1;
47
-
48
- while (getPropInChild(array[index], "disabled")) {
49
- index = index === 0 ? array.length - 1 : index - 1;
50
- }
51
-
52
- return index;
53
- };
54
-
55
- var getNextTabIndex = function getNextTabIndex(array, initialIndex) {
56
- var index = initialIndex === array.length - 1 ? 0 : initialIndex + 1;
57
-
58
- while (getPropInChild(array[index], "disabled")) {
59
- index = index === array.length - 1 ? 0 : index + 1;
60
- }
61
-
62
- return index;
63
- };
64
-
65
- var DxcNavTabs = function DxcNavTabs(_ref) {
66
- var _ref$iconPosition = _ref.iconPosition,
67
- iconPosition = _ref$iconPosition === void 0 ? "top" : _ref$iconPosition,
68
- _ref$tabIndex = _ref.tabIndex,
69
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex,
70
- children = _ref.children;
71
- var colorsTheme = (0, _useTheme["default"])();
72
-
73
- var _useState = (0, _react.useState)(null),
74
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
75
- innerFocus = _useState2[0],
76
- setInnerFocus = _useState2[1];
77
-
78
- var contextValue = (0, _react.useMemo)(function () {
79
- return {
80
- iconPosition: iconPosition,
81
- tabIndex: tabIndex,
82
- hasIcons: _react["default"].Children.toArray(children).some(function (child) {
83
- return getPropInChild(child, "icon");
84
- }),
85
- focusedLabel: innerFocus === null ? undefined : getLabelFromTab(children[innerFocus])
86
- };
87
- }, [iconPosition, tabIndex, innerFocus]);
88
-
89
- var handleOnKeyDown = function handleOnKeyDown(event) {
90
- var activeTab = _react["default"].Children.toArray(children).findIndex(function (child) {
91
- return getPropInChild(child, "active");
92
- });
93
-
94
- switch (event.keyCode) {
95
- case 37:
96
- // arrow left
97
- event.preventDefault();
98
- setInnerFocus(getPreviousTabIndex(children, innerFocus === null ? activeTab : innerFocus));
99
- break;
100
-
101
- case 39:
102
- // arrow right
103
- event.preventDefault();
104
- setInnerFocus(getNextTabIndex(children, innerFocus === null ? activeTab : innerFocus));
105
- break;
106
- }
107
- };
108
-
109
- return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
110
- theme: colorsTheme.tabs
111
- }, /*#__PURE__*/_react["default"].createElement(NavTabsContainer, {
112
- onKeyDown: handleOnKeyDown,
113
- role: "tablist",
114
- "aria-label": "Navigation tabs"
115
- }, /*#__PURE__*/_react["default"].createElement(NavTabsContext.Provider, {
116
- value: contextValue
117
- }, children)));
118
- };
119
-
120
- DxcNavTabs.Tab = _Tab["default"];
121
-
122
- var NavTabsContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n"])));
123
-
124
- var _default = DxcNavTabs;
125
- exports["default"] = _default;