@dxc-technology/halstack-react 0.0.0-6c89958 → 0.0.0-6d25405

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 (446) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +5 -23
  3. package/HalstackContext.d.ts +1249 -0
  4. package/HalstackContext.js +310 -0
  5. package/README.md +47 -0
  6. package/accordion/Accordion.accessibility.test.js +71 -0
  7. package/accordion/Accordion.d.ts +1 -1
  8. package/accordion/Accordion.js +104 -193
  9. package/accordion/Accordion.stories.tsx +251 -0
  10. package/accordion/Accordion.test.js +56 -0
  11. package/accordion/types.d.ts +12 -23
  12. package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
  13. package/accordion-group/AccordionGroup.d.ts +3 -3
  14. package/accordion-group/AccordionGroup.js +38 -107
  15. package/accordion-group/AccordionGroup.stories.tsx +95 -68
  16. package/accordion-group/AccordionGroup.test.js +98 -0
  17. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  18. package/accordion-group/AccordionGroupAccordion.js +31 -0
  19. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  20. package/accordion-group/AccordionGroupContext.js +8 -0
  21. package/accordion-group/types.d.ts +18 -23
  22. package/action-icon/ActionIcon.accessibility.test.js +63 -0
  23. package/action-icon/ActionIcon.d.ts +4 -0
  24. package/action-icon/ActionIcon.js +48 -0
  25. package/action-icon/ActionIcon.stories.tsx +41 -0
  26. package/action-icon/ActionIcon.test.js +64 -0
  27. package/action-icon/types.d.ts +26 -0
  28. package/alert/Alert.accessibility.test.js +95 -0
  29. package/alert/Alert.js +35 -125
  30. package/alert/Alert.stories.tsx +28 -0
  31. package/alert/Alert.test.js +75 -0
  32. package/alert/types.d.ts +5 -5
  33. package/badge/Badge.accessibility.test.js +129 -0
  34. package/badge/Badge.d.ts +4 -0
  35. package/badge/Badge.js +142 -40
  36. package/badge/Badge.stories.tsx +210 -0
  37. package/badge/Badge.test.js +30 -0
  38. package/badge/types.d.ts +54 -0
  39. package/bleed/Bleed.d.ts +3 -0
  40. package/bleed/Bleed.js +43 -0
  41. package/bleed/Bleed.stories.tsx +342 -0
  42. package/bleed/types.d.ts +37 -0
  43. package/box/Box.accessibility.test.js +33 -0
  44. package/box/Box.d.ts +1 -1
  45. package/box/Box.js +30 -81
  46. package/box/Box.stories.tsx +38 -51
  47. package/box/Box.test.js +13 -0
  48. package/box/types.d.ts +3 -14
  49. package/bulleted-list/BulletedList.accessibility.test.js +107 -0
  50. package/bulleted-list/BulletedList.d.ts +7 -0
  51. package/bulleted-list/BulletedList.js +92 -0
  52. package/bulleted-list/BulletedList.stories.tsx +115 -0
  53. package/bulleted-list/types.d.ts +38 -0
  54. package/bulleted-list/types.js +5 -0
  55. package/button/Button.accessibility.test.js +127 -0
  56. package/button/Button.d.ts +1 -1
  57. package/button/Button.js +64 -122
  58. package/button/Button.stories.tsx +155 -106
  59. package/button/Button.test.js +38 -0
  60. package/button/types.d.ts +12 -12
  61. package/card/Card.accessibility.test.js +36 -0
  62. package/card/Card.d.ts +1 -1
  63. package/card/Card.js +58 -102
  64. package/card/Card.stories.tsx +13 -43
  65. package/card/Card.test.js +39 -0
  66. package/card/types.d.ts +6 -11
  67. package/checkbox/Checkbox.accessibility.test.js +87 -0
  68. package/checkbox/Checkbox.d.ts +2 -2
  69. package/checkbox/Checkbox.js +144 -182
  70. package/checkbox/Checkbox.stories.tsx +166 -136
  71. package/checkbox/Checkbox.test.js +199 -0
  72. package/checkbox/types.d.ts +19 -7
  73. package/chip/Chip.accessibility.test.js +67 -0
  74. package/chip/Chip.d.ts +1 -1
  75. package/chip/Chip.js +48 -123
  76. package/chip/Chip.stories.tsx +104 -30
  77. package/chip/Chip.test.js +41 -0
  78. package/chip/types.d.ts +10 -18
  79. package/common/coreTokens.d.ts +237 -0
  80. package/common/coreTokens.js +184 -0
  81. package/common/utils.d.ts +1 -0
  82. package/common/utils.js +6 -12
  83. package/common/variables.d.ts +1395 -0
  84. package/common/variables.js +1034 -1343
  85. package/container/Container.d.ts +4 -0
  86. package/container/Container.js +194 -0
  87. package/container/Container.stories.tsx +214 -0
  88. package/container/types.d.ts +74 -0
  89. package/container/types.js +5 -0
  90. package/contextual-menu/ContextualMenu.accessibility.test.js +86 -0
  91. package/contextual-menu/ContextualMenu.d.ts +7 -0
  92. package/contextual-menu/ContextualMenu.js +71 -0
  93. package/contextual-menu/ContextualMenu.stories.tsx +182 -0
  94. package/contextual-menu/ContextualMenu.test.js +71 -0
  95. package/contextual-menu/MenuItemAction.d.ts +4 -0
  96. package/contextual-menu/MenuItemAction.js +46 -0
  97. package/contextual-menu/types.d.ts +22 -0
  98. package/contextual-menu/types.js +5 -0
  99. package/date-input/Calendar.d.ts +4 -0
  100. package/date-input/Calendar.js +214 -0
  101. package/date-input/DateInput.accessibility.test.js +216 -0
  102. package/date-input/DateInput.js +173 -308
  103. package/date-input/DateInput.stories.tsx +203 -56
  104. package/date-input/DateInput.test.js +808 -0
  105. package/date-input/DatePicker.d.ts +4 -0
  106. package/date-input/DatePicker.js +115 -0
  107. package/date-input/Icons.d.ts +6 -0
  108. package/date-input/Icons.js +58 -0
  109. package/date-input/YearPicker.d.ts +4 -0
  110. package/date-input/YearPicker.js +100 -0
  111. package/date-input/types.d.ts +86 -22
  112. package/dialog/Dialog.accessibility.test.js +69 -0
  113. package/dialog/Dialog.d.ts +1 -1
  114. package/dialog/Dialog.js +68 -129
  115. package/dialog/Dialog.stories.tsx +320 -167
  116. package/dialog/Dialog.test.js +307 -0
  117. package/dialog/types.d.ts +18 -25
  118. package/divider/Divider.accessibility.test.js +33 -0
  119. package/divider/Divider.d.ts +4 -0
  120. package/divider/Divider.js +36 -0
  121. package/divider/Divider.stories.tsx +223 -0
  122. package/divider/Divider.test.js +38 -0
  123. package/divider/types.d.ts +21 -0
  124. package/divider/types.js +5 -0
  125. package/dropdown/Dropdown.accessibility.test.js +180 -0
  126. package/dropdown/Dropdown.d.ts +1 -1
  127. package/dropdown/Dropdown.js +231 -329
  128. package/dropdown/Dropdown.stories.tsx +427 -0
  129. package/dropdown/Dropdown.test.js +599 -0
  130. package/dropdown/DropdownMenu.d.ts +4 -0
  131. package/dropdown/DropdownMenu.js +63 -0
  132. package/dropdown/DropdownMenuItem.d.ts +4 -0
  133. package/dropdown/DropdownMenuItem.js +70 -0
  134. package/dropdown/types.d.ts +37 -30
  135. package/file-input/FileInput.accessibility.test.js +160 -0
  136. package/file-input/FileInput.d.ts +2 -2
  137. package/file-input/FileInput.js +250 -328
  138. package/file-input/FileInput.stories.tsx +618 -0
  139. package/file-input/FileInput.test.js +382 -0
  140. package/file-input/FileItem.d.ts +4 -14
  141. package/file-input/FileItem.js +57 -120
  142. package/file-input/types.d.ts +25 -8
  143. package/flex/Flex.d.ts +4 -0
  144. package/flex/Flex.js +57 -0
  145. package/flex/Flex.stories.tsx +112 -0
  146. package/flex/types.d.ts +97 -0
  147. package/flex/types.js +5 -0
  148. package/footer/Footer.accessibility.test.js +117 -0
  149. package/footer/Footer.d.ts +1 -1
  150. package/footer/Footer.js +73 -199
  151. package/footer/Footer.stories.tsx +84 -39
  152. package/footer/Footer.test.js +85 -0
  153. package/footer/Icons.d.ts +3 -0
  154. package/footer/Icons.js +67 -8
  155. package/footer/types.d.ts +26 -27
  156. package/grid/Grid.d.ts +7 -0
  157. package/grid/Grid.js +76 -0
  158. package/grid/Grid.stories.tsx +219 -0
  159. package/grid/types.d.ts +115 -0
  160. package/grid/types.js +5 -0
  161. package/header/Header.accessibility.test.js +84 -0
  162. package/header/Header.d.ts +4 -3
  163. package/header/Header.js +102 -217
  164. package/header/Header.stories.tsx +152 -63
  165. package/header/Header.test.js +66 -0
  166. package/header/Icons.d.ts +2 -0
  167. package/header/Icons.js +4 -9
  168. package/header/types.d.ts +7 -21
  169. package/heading/Heading.accessibility.test.js +33 -0
  170. package/heading/Heading.js +10 -32
  171. package/heading/Heading.stories.tsx +3 -2
  172. package/heading/Heading.test.js +169 -0
  173. package/heading/types.d.ts +7 -7
  174. package/icon/Icon.accessibility.test.js +30 -0
  175. package/icon/Icon.d.ts +4 -0
  176. package/icon/Icon.js +33 -0
  177. package/icon/Icon.stories.tsx +28 -0
  178. package/icon/types.d.ts +4 -0
  179. package/icon/types.js +5 -0
  180. package/image/Image.accessibility.test.js +56 -0
  181. package/image/Image.d.ts +4 -0
  182. package/image/Image.js +70 -0
  183. package/image/Image.stories.tsx +129 -0
  184. package/image/types.d.ts +72 -0
  185. package/image/types.js +5 -0
  186. package/inset/Inset.d.ts +3 -0
  187. package/inset/Inset.js +43 -0
  188. package/inset/Inset.stories.tsx +230 -0
  189. package/inset/types.d.ts +37 -0
  190. package/inset/types.js +5 -0
  191. package/layout/ApplicationLayout.d.ts +16 -6
  192. package/layout/ApplicationLayout.js +83 -174
  193. package/layout/ApplicationLayout.stories.tsx +85 -94
  194. package/layout/Icons.d.ts +8 -0
  195. package/layout/Icons.js +49 -48
  196. package/layout/types.d.ts +19 -35
  197. package/link/Link.accessibility.test.js +112 -0
  198. package/link/Link.d.ts +3 -2
  199. package/link/Link.js +64 -108
  200. package/link/Link.stories.tsx +159 -52
  201. package/link/Link.test.js +63 -0
  202. package/link/types.d.ts +15 -35
  203. package/main.d.ts +19 -18
  204. package/main.js +82 -120
  205. package/nav-tabs/NavTabs.accessibility.test.js +52 -0
  206. package/nav-tabs/NavTabs.d.ts +7 -0
  207. package/nav-tabs/NavTabs.js +93 -0
  208. package/nav-tabs/NavTabs.stories.tsx +276 -0
  209. package/nav-tabs/NavTabs.test.js +76 -0
  210. package/nav-tabs/NavTabsContext.d.ts +3 -0
  211. package/nav-tabs/NavTabsContext.js +8 -0
  212. package/nav-tabs/Tab.d.ts +4 -0
  213. package/nav-tabs/Tab.js +118 -0
  214. package/nav-tabs/types.d.ts +52 -0
  215. package/nav-tabs/types.js +5 -0
  216. package/number-input/NumberInput.accessibility.test.js +228 -0
  217. package/number-input/NumberInput.js +47 -44
  218. package/number-input/NumberInput.stories.tsx +44 -28
  219. package/number-input/NumberInput.test.js +989 -0
  220. package/number-input/NumberInputContext.d.ts +3 -4
  221. package/number-input/NumberInputContext.js +3 -14
  222. package/number-input/types.d.ts +34 -15
  223. package/package.json +52 -51
  224. package/paginator/Icons.d.ts +5 -0
  225. package/paginator/Icons.js +21 -47
  226. package/paginator/Paginator.accessibility.test.js +79 -0
  227. package/paginator/Paginator.js +34 -91
  228. package/paginator/Paginator.stories.tsx +24 -0
  229. package/paginator/Paginator.test.js +335 -0
  230. package/paginator/types.d.ts +3 -3
  231. package/paragraph/Paragraph.accessibility.test.js +28 -0
  232. package/paragraph/Paragraph.d.ts +5 -0
  233. package/paragraph/Paragraph.js +22 -0
  234. package/paragraph/Paragraph.stories.tsx +27 -0
  235. package/password-input/Icons.d.ts +6 -0
  236. package/password-input/Icons.js +35 -0
  237. package/password-input/PasswordInput.accessibility.test.js +153 -0
  238. package/password-input/PasswordInput.js +57 -123
  239. package/password-input/PasswordInput.stories.tsx +3 -35
  240. package/password-input/PasswordInput.test.js +198 -0
  241. package/password-input/types.d.ts +21 -17
  242. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  243. package/progress-bar/ProgressBar.js +65 -91
  244. package/progress-bar/ProgressBar.stories.tsx +93 -0
  245. package/progress-bar/ProgressBar.test.js +93 -0
  246. package/progress-bar/types.d.ts +3 -3
  247. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  248. package/quick-nav/QuickNav.d.ts +4 -0
  249. package/quick-nav/QuickNav.js +94 -0
  250. package/quick-nav/QuickNav.stories.tsx +356 -0
  251. package/quick-nav/types.d.ts +21 -0
  252. package/quick-nav/types.js +5 -0
  253. package/radio-group/Radio.d.ts +4 -0
  254. package/radio-group/Radio.js +124 -0
  255. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  256. package/radio-group/RadioGroup.d.ts +4 -0
  257. package/radio-group/RadioGroup.js +235 -0
  258. package/radio-group/RadioGroup.stories.tsx +214 -0
  259. package/radio-group/RadioGroup.test.js +756 -0
  260. package/radio-group/types.d.ts +114 -0
  261. package/radio-group/types.js +5 -0
  262. package/resultset-table/Icons.d.ts +7 -0
  263. package/resultset-table/Icons.js +47 -0
  264. package/resultset-table/ResultsetTable.accessibility.test.js +274 -0
  265. package/resultset-table/ResultsetTable.d.ts +7 -0
  266. package/resultset-table/ResultsetTable.js +170 -0
  267. package/resultset-table/ResultsetTable.stories.tsx +401 -0
  268. package/resultset-table/ResultsetTable.test.js +381 -0
  269. package/{resultsetTable → resultset-table}/types.d.ts +45 -12
  270. package/resultset-table/types.js +5 -0
  271. package/select/Icons.d.ts +10 -0
  272. package/select/Icons.js +89 -0
  273. package/select/Listbox.d.ts +4 -0
  274. package/select/Listbox.js +143 -0
  275. package/select/Option.d.ts +4 -0
  276. package/select/Option.js +87 -0
  277. package/select/Select.accessibility.test.js +217 -0
  278. package/select/Select.d.ts +4 -0
  279. package/select/Select.js +230 -503
  280. package/select/Select.stories.tsx +602 -204
  281. package/select/Select.test.js +2370 -0
  282. package/select/types.d.ts +209 -0
  283. package/select/types.js +5 -0
  284. package/sidenav/Icons.d.ts +7 -0
  285. package/sidenav/Icons.js +47 -0
  286. package/sidenav/Sidenav.accessibility.test.js +59 -0
  287. package/sidenav/Sidenav.d.ts +6 -5
  288. package/sidenav/Sidenav.js +132 -71
  289. package/sidenav/Sidenav.stories.tsx +250 -134
  290. package/sidenav/Sidenav.test.js +37 -0
  291. package/sidenav/SidenavContext.d.ts +5 -0
  292. package/sidenav/SidenavContext.js +13 -0
  293. package/sidenav/types.d.ts +52 -26
  294. package/slider/Slider.accessibility.test.js +104 -0
  295. package/slider/Slider.d.ts +2 -2
  296. package/slider/Slider.js +148 -180
  297. package/slider/Slider.test.js +254 -0
  298. package/slider/types.d.ts +11 -3
  299. package/spinner/Spinner.accessibility.test.js +96 -0
  300. package/spinner/Spinner.js +31 -75
  301. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -26
  302. package/spinner/Spinner.test.js +55 -0
  303. package/spinner/types.d.ts +3 -3
  304. package/status-light/StatusLight.accessibility.test.js +157 -0
  305. package/status-light/StatusLight.d.ts +4 -0
  306. package/status-light/StatusLight.js +51 -0
  307. package/status-light/StatusLight.stories.tsx +74 -0
  308. package/status-light/StatusLight.test.js +25 -0
  309. package/status-light/types.d.ts +17 -0
  310. package/status-light/types.js +5 -0
  311. package/switch/Switch.accessibility.test.js +89 -0
  312. package/switch/Switch.d.ts +2 -2
  313. package/switch/Switch.js +149 -114
  314. package/switch/Switch.stories.tsx +45 -68
  315. package/switch/Switch.test.js +180 -0
  316. package/switch/types.d.ts +13 -5
  317. package/table/DropdownTheme.js +62 -0
  318. package/table/Table.accessibility.test.js +82 -0
  319. package/table/Table.d.ts +6 -2
  320. package/table/Table.js +78 -35
  321. package/table/Table.stories.tsx +651 -0
  322. package/table/Table.test.js +113 -0
  323. package/table/types.d.ts +34 -6
  324. package/tabs/Tab.d.ts +4 -0
  325. package/tabs/Tab.js +116 -0
  326. package/tabs/Tabs.accessibility.test.js +56 -0
  327. package/tabs/Tabs.d.ts +1 -1
  328. package/tabs/Tabs.js +317 -146
  329. package/tabs/Tabs.stories.tsx +123 -18
  330. package/tabs/Tabs.test.js +294 -0
  331. package/tabs/types.d.ts +46 -24
  332. package/tag/Tag.accessibility.test.js +69 -0
  333. package/tag/Tag.d.ts +1 -1
  334. package/tag/Tag.js +43 -85
  335. package/tag/Tag.stories.tsx +38 -28
  336. package/tag/Tag.test.js +49 -0
  337. package/tag/types.d.ts +25 -16
  338. package/text-input/Suggestion.d.ts +4 -0
  339. package/text-input/Suggestion.js +67 -0
  340. package/text-input/Suggestions.d.ts +4 -0
  341. package/text-input/Suggestions.js +86 -0
  342. package/text-input/TextInput.accessibility.test.js +321 -0
  343. package/text-input/TextInput.js +328 -547
  344. package/text-input/TextInput.stories.tsx +280 -271
  345. package/text-input/TextInput.test.js +1756 -0
  346. package/text-input/types.d.ts +71 -25
  347. package/textarea/Textarea.accessibility.test.js +155 -0
  348. package/textarea/Textarea.d.ts +4 -0
  349. package/textarea/Textarea.js +85 -165
  350. package/textarea/Textarea.stories.tsx +174 -0
  351. package/textarea/Textarea.test.js +406 -0
  352. package/textarea/types.d.ts +141 -0
  353. package/textarea/types.js +5 -0
  354. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  355. package/toggle-group/ToggleGroup.d.ts +2 -2
  356. package/toggle-group/ToggleGroup.js +95 -111
  357. package/toggle-group/ToggleGroup.stories.tsx +76 -36
  358. package/toggle-group/ToggleGroup.test.js +137 -0
  359. package/toggle-group/types.d.ts +66 -36
  360. package/typography/Typography.accessibility.test.js +339 -0
  361. package/typography/Typography.d.ts +4 -0
  362. package/typography/Typography.js +23 -0
  363. package/typography/Typography.stories.tsx +198 -0
  364. package/typography/types.d.ts +18 -0
  365. package/typography/types.js +5 -0
  366. package/useTheme.d.ts +1147 -1
  367. package/useTheme.js +4 -11
  368. package/useTranslatedLabels.d.ts +85 -0
  369. package/useTranslatedLabels.js +14 -0
  370. package/utils/BaseTypography.d.ts +21 -0
  371. package/utils/BaseTypography.js +94 -0
  372. package/utils/FocusLock.d.ts +13 -0
  373. package/utils/FocusLock.js +124 -0
  374. package/wizard/Wizard.accessibility.test.js +55 -0
  375. package/wizard/Wizard.d.ts +1 -1
  376. package/wizard/Wizard.js +122 -103
  377. package/wizard/{Wizard.stories.jsx → Wizard.stories.tsx} +48 -19
  378. package/wizard/Wizard.test.js +114 -0
  379. package/wizard/types.d.ts +15 -15
  380. package/ThemeContext.d.ts +0 -15
  381. package/ThemeContext.js +0 -243
  382. package/V3Select/V3Select.js +0 -455
  383. package/V3Select/index.d.ts +0 -27
  384. package/V3Textarea/V3Textarea.js +0 -260
  385. package/V3Textarea/index.d.ts +0 -27
  386. package/card/ice-cream.jpg +0 -0
  387. package/common/OpenSans.css +0 -81
  388. package/common/RequiredComponent.js +0 -32
  389. package/common/fonts/OpenSans-Bold.ttf +0 -0
  390. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  391. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  392. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  393. package/common/fonts/OpenSans-Italic.ttf +0 -0
  394. package/common/fonts/OpenSans-Light.ttf +0 -0
  395. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  396. package/common/fonts/OpenSans-Regular.ttf +0 -0
  397. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  398. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  399. package/date/Date.js +0 -373
  400. package/date/index.d.ts +0 -27
  401. package/input-text/Icons.js +0 -22
  402. package/input-text/InputText.js +0 -611
  403. package/input-text/index.d.ts +0 -36
  404. package/list/List.d.ts +0 -7
  405. package/list/List.js +0 -37
  406. package/list/List.stories.tsx +0 -70
  407. package/number-input/numberInputContextTypes.d.ts +0 -19
  408. package/progress-bar/ProgressBar.stories.jsx +0 -58
  409. package/radio/Radio.d.ts +0 -4
  410. package/radio/Radio.js +0 -174
  411. package/radio/Radio.stories.tsx +0 -192
  412. package/radio/types.d.ts +0 -54
  413. package/resultsetTable/ResultsetTable.d.ts +0 -4
  414. package/resultsetTable/ResultsetTable.js +0 -251
  415. package/row/Row.d.ts +0 -11
  416. package/row/Row.js +0 -124
  417. package/row/Row.stories.tsx +0 -223
  418. package/select/index.d.ts +0 -131
  419. package/slider/Slider.stories.tsx +0 -177
  420. package/stack/Stack.d.ts +0 -10
  421. package/stack/Stack.js +0 -94
  422. package/stack/Stack.stories.tsx +0 -150
  423. package/table/Table.stories.jsx +0 -276
  424. package/text/Text.d.ts +0 -7
  425. package/text/Text.js +0 -30
  426. package/text/Text.stories.tsx +0 -19
  427. package/textarea/Textarea.stories.jsx +0 -135
  428. package/textarea/index.d.ts +0 -127
  429. package/toggle/Toggle.js +0 -186
  430. package/toggle/index.d.ts +0 -21
  431. package/upload/Upload.js +0 -201
  432. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  433. package/upload/buttons-upload/Icons.js +0 -40
  434. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  435. package/upload/dragAndDropArea/Icons.js +0 -39
  436. package/upload/file-upload/FileToUpload.js +0 -115
  437. package/upload/file-upload/Icons.js +0 -66
  438. package/upload/files-upload/FilesToUpload.js +0 -109
  439. package/upload/index.d.ts +0 -15
  440. package/upload/transaction/Icons.js +0 -160
  441. package/upload/transaction/Transaction.js +0 -104
  442. package/upload/transactions/Transactions.js +0 -94
  443. package/wizard/Icons.js +0 -65
  444. /package/{radio → action-icon}/types.js +0 -0
  445. /package/{resultsetTable → badge}/types.js +0 -0
  446. /package/{number-input/numberInputContextTypes.js → bleed/types.js} +0 -0
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import ContainerPropsType from "./types";
3
+ declare const DxcContainer: ({ display, width, height, overflow, ...props }: ContainerPropsType) => React.JSX.Element;
4
+ export default DxcContainer;
@@ -0,0 +1,194 @@
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 _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
9
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
12
+ var _react = _interopRequireDefault(require("react"));
13
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
14
+ var _coreTokens = require("../common/coreTokens");
15
+ var _templateObject;
16
+ var _excluded = ["display", "width", "height", "overflow"];
17
+ /**
18
+ * This values correspond to the spaces defined in the design system
19
+ * https://developer.dxc.com/halstack/next/principles/spacing/#component-spacing-tokens
20
+ */
21
+ var spaces = {
22
+ xxsmall: "4px",
23
+ xsmall: "8px",
24
+ small: "12px",
25
+ medium: "16px",
26
+ large: "24px",
27
+ xlarge: "32px",
28
+ xxlarge: "48px"
29
+ };
30
+ var DxcContainer = function DxcContainer(_ref) {
31
+ var display = _ref.display,
32
+ width = _ref.width,
33
+ height = _ref.height,
34
+ overflow = _ref.overflow,
35
+ props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
36
+ return /*#__PURE__*/_react["default"].createElement(Container, (0, _extends2["default"])({
37
+ $display: display,
38
+ $width: width,
39
+ $height: height,
40
+ $overflow: overflow
41
+ }, props));
42
+ };
43
+ var getBorderStyles = function getBorderStyles(direction, borderProperties) {
44
+ var _borderProperties$wid, _borderProperties$sty, _getCoreColorToken;
45
+ return "border-".concat(direction, ": ").concat((_borderProperties$wid = borderProperties === null || borderProperties === void 0 ? void 0 : borderProperties.width) !== null && _borderProperties$wid !== void 0 ? _borderProperties$wid : "", " ").concat((_borderProperties$sty = borderProperties === null || borderProperties === void 0 ? void 0 : borderProperties.style) !== null && _borderProperties$sty !== void 0 ? _borderProperties$sty : "", " ").concat((_getCoreColorToken = (0, _coreTokens.getCoreColorToken)(borderProperties === null || borderProperties === void 0 ? void 0 : borderProperties.color)) !== null && _getCoreColorToken !== void 0 ? _getCoreColorToken : "", ";");
46
+ };
47
+ var Container = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: ", ";\n display: ", ";\n width: ", ";\n height: ", ";\n max-width: ", ";\n max-height: ", ";\n min-width: ", ";\n min-height: ", ";\n position: ", ";\n top: ", ";\n right: ", ";\n bottom: ", ";\n left: ", ";\n float: ", ";\n z-index: ", ";\n box-shadow: ", ";\n\n background-attachment: ", ";\n background-clip: ", ";\n background-color: ", ";\n background-image: ", ";\n background-origin: ", ";\n background-position: ", ";\n background-repeat: ", ";\n background-size: ", ";\n\n border-radius: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n\n ", ";\n\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n\n outline: ", ";\n outline-offset: ", ";\n\n overflow: ", ";\n overflow-x: ", ";\n overflow-y: ", ";\n\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n"])), function (_ref2) {
48
+ var boxSizing = _ref2.boxSizing;
49
+ return boxSizing;
50
+ }, function (_ref3) {
51
+ var $display = _ref3.$display;
52
+ return $display;
53
+ }, function (_ref4) {
54
+ var $width = _ref4.$width;
55
+ return $width;
56
+ }, function (_ref5) {
57
+ var $height = _ref5.$height;
58
+ return $height;
59
+ }, function (_ref6) {
60
+ var maxWidth = _ref6.maxWidth;
61
+ return maxWidth;
62
+ }, function (_ref7) {
63
+ var maxHeight = _ref7.maxHeight;
64
+ return maxHeight;
65
+ }, function (_ref8) {
66
+ var minWidth = _ref8.minWidth;
67
+ return minWidth;
68
+ }, function (_ref9) {
69
+ var minHeight = _ref9.minHeight;
70
+ return minHeight;
71
+ }, function (_ref10) {
72
+ var position = _ref10.position;
73
+ return position;
74
+ }, function (_ref11) {
75
+ var inset = _ref11.inset;
76
+ return inset === null || inset === void 0 ? void 0 : inset.top;
77
+ }, function (_ref12) {
78
+ var inset = _ref12.inset;
79
+ return inset === null || inset === void 0 ? void 0 : inset.right;
80
+ }, function (_ref13) {
81
+ var inset = _ref13.inset;
82
+ return inset === null || inset === void 0 ? void 0 : inset.bottom;
83
+ }, function (_ref14) {
84
+ var inset = _ref14.inset;
85
+ return inset === null || inset === void 0 ? void 0 : inset.left;
86
+ }, function (_ref15) {
87
+ var _float = _ref15["float"];
88
+ return _float;
89
+ }, function (_ref16) {
90
+ var zIndex = _ref16.zIndex;
91
+ return zIndex;
92
+ }, function (_ref17) {
93
+ var boxShadow = _ref17.boxShadow;
94
+ return boxShadow;
95
+ }, function (_ref18) {
96
+ var background = _ref18.background;
97
+ return background === null || background === void 0 ? void 0 : background.attachment;
98
+ }, function (_ref19) {
99
+ var background = _ref19.background;
100
+ return background === null || background === void 0 ? void 0 : background.clip;
101
+ }, function (_ref20) {
102
+ var background = _ref20.background;
103
+ return (0, _coreTokens.getCoreColorToken)(background === null || background === void 0 ? void 0 : background.color);
104
+ }, function (_ref21) {
105
+ var background = _ref21.background;
106
+ return background === null || background === void 0 ? void 0 : background.image;
107
+ }, function (_ref22) {
108
+ var background = _ref22.background;
109
+ return background === null || background === void 0 ? void 0 : background.origin;
110
+ }, function (_ref23) {
111
+ var background = _ref23.background;
112
+ return background === null || background === void 0 ? void 0 : background.position;
113
+ }, function (_ref24) {
114
+ var background = _ref24.background;
115
+ return background === null || background === void 0 ? void 0 : background.repeat;
116
+ }, function (_ref25) {
117
+ var background = _ref25.background;
118
+ return background === null || background === void 0 ? void 0 : background.size;
119
+ }, function (_ref26) {
120
+ var borderRadius = _ref26.borderRadius;
121
+ return borderRadius;
122
+ }, function (_ref27) {
123
+ var border = _ref27.border;
124
+ return border && "width" in border ? "".concat(border === null || border === void 0 ? void 0 : border.width) : "";
125
+ }, function (_ref28) {
126
+ var border = _ref28.border;
127
+ return border && "style" in border ? "".concat(border === null || border === void 0 ? void 0 : border.style) : "";
128
+ }, function (_ref29) {
129
+ var border = _ref29.border;
130
+ return border && "color" in border ? "".concat((0, _coreTokens.getCoreColorToken)(border === null || border === void 0 ? void 0 : border.color)) : "";
131
+ }, function (_ref30) {
132
+ var border = _ref30.border;
133
+ if (border != null) {
134
+ var styles = "";
135
+ switch (true) {
136
+ case "top" in border:
137
+ styles += getBorderStyles("top", border.top);
138
+ case "right" in border:
139
+ styles += getBorderStyles("right", border.right);
140
+ case "left" in border:
141
+ styles += getBorderStyles("left", border.left);
142
+ case "bottom" in border:
143
+ styles += getBorderStyles("bottom", border.bottom);
144
+ }
145
+ return styles;
146
+ }
147
+ }, function (_ref31) {
148
+ var margin = _ref31.margin;
149
+ return typeof margin === "string" ? spaces[margin] : "";
150
+ }, function (_ref32) {
151
+ var margin = _ref32.margin;
152
+ return (0, _typeof2["default"])(margin) === "object" ? spaces[margin.top] : "";
153
+ }, function (_ref33) {
154
+ var margin = _ref33.margin;
155
+ return (0, _typeof2["default"])(margin) === "object" ? spaces[margin.right] : "";
156
+ }, function (_ref34) {
157
+ var margin = _ref34.margin;
158
+ return (0, _typeof2["default"])(margin) === "object" ? spaces[margin.bottom] : "";
159
+ }, function (_ref35) {
160
+ var margin = _ref35.margin;
161
+ return (0, _typeof2["default"])(margin) === "object" ? spaces[margin.left] : "";
162
+ }, function (_ref36) {
163
+ var _outline$width, _outline$style, _getCoreColorToken2;
164
+ var outline = _ref36.outline;
165
+ return "".concat((_outline$width = outline === null || outline === void 0 ? void 0 : outline.width) !== null && _outline$width !== void 0 ? _outline$width : "", " ").concat((_outline$style = outline === null || outline === void 0 ? void 0 : outline.style) !== null && _outline$style !== void 0 ? _outline$style : "", " ").concat((_getCoreColorToken2 = (0, _coreTokens.getCoreColorToken)(outline === null || outline === void 0 ? void 0 : outline.color)) !== null && _getCoreColorToken2 !== void 0 ? _getCoreColorToken2 : "");
166
+ }, function (_ref37) {
167
+ var outline = _ref37.outline;
168
+ return outline === null || outline === void 0 ? void 0 : outline.offset;
169
+ }, function (_ref38) {
170
+ var $overflow = _ref38.$overflow;
171
+ return typeof $overflow === "string" ? $overflow : "";
172
+ }, function (_ref39) {
173
+ var $overflow = _ref39.$overflow;
174
+ return (0, _typeof2["default"])($overflow) === "object" ? "".concat($overflow === null || $overflow === void 0 ? void 0 : $overflow.x) : "";
175
+ }, function (_ref40) {
176
+ var $overflow = _ref40.$overflow;
177
+ return (0, _typeof2["default"])($overflow) === "object" ? "".concat($overflow === null || $overflow === void 0 ? void 0 : $overflow.y) : "";
178
+ }, function (_ref41) {
179
+ var padding = _ref41.padding;
180
+ return typeof padding === "string" ? spaces[padding] : "";
181
+ }, function (_ref42) {
182
+ var padding = _ref42.padding;
183
+ return (0, _typeof2["default"])(padding) === "object" ? spaces[padding.top] : "";
184
+ }, function (_ref43) {
185
+ var padding = _ref43.padding;
186
+ return (0, _typeof2["default"])(padding) === "object" ? spaces[padding.right] : "";
187
+ }, function (_ref44) {
188
+ var padding = _ref44.padding;
189
+ return (0, _typeof2["default"])(padding) === "object" ? spaces[padding.bottom] : "";
190
+ }, function (_ref45) {
191
+ var padding = _ref45.padding;
192
+ return (0, _typeof2["default"])(padding) === "object" ? spaces[padding.left] : "";
193
+ });
194
+ var _default = exports["default"] = DxcContainer;
@@ -0,0 +1,214 @@
1
+ import React from "react";
2
+ import Title from "../../.storybook/components/Title";
3
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
4
+ import DxcContainer from "./Container";
5
+ import DxcParagraph from "../paragraph/Paragraph";
6
+ import DxcTypography from "../typography/Typography";
7
+
8
+ export default {
9
+ title: "Container",
10
+ component: DxcContainer,
11
+ };
12
+
13
+ export const Chromatic = () => (
14
+ <>
15
+ <Title title="Box sizing border box" level={4} />
16
+ <ExampleContainer>
17
+ <DxcContainer
18
+ boxSizing="border-box"
19
+ width="200px"
20
+ height="200px"
21
+ background={{ color: "color_purple_400" }}
22
+ border={{
23
+ top: {
24
+ width: "2px",
25
+ color: "color_blue_600",
26
+ style: "solid",
27
+ },
28
+ bottom: {
29
+ width: "thick",
30
+ color: "color_purple_600",
31
+ style: "solid",
32
+ },
33
+ }}
34
+ borderRadius="0 0 0.25rem 0.25rem"
35
+ padding="medium"
36
+ margin="large"
37
+ >
38
+ <b>Example text</b>
39
+ </DxcContainer>
40
+ </ExampleContainer>
41
+ <Title title="Background image" level={4} />
42
+ <ExampleContainer>
43
+ <DxcContainer
44
+ background={{
45
+ image: "url(https://www.laecuaciondigital.com/wp-content/uploads/2023/10/DXC-Technology.png)",
46
+ position: "50%",
47
+ }}
48
+ width="500px"
49
+ height="500px"
50
+ >
51
+ <p>Example text</p>
52
+ </DxcContainer>
53
+ </ExampleContainer>
54
+ <Title title="Positioning of boxes" level={4} />
55
+ <ExampleContainer>
56
+ <DxcContainer
57
+ position="relative"
58
+ width="fit-content"
59
+ border={{ color: "color_purple_400", width: "2px", style: "dashed" }}
60
+ borderRadius="0.25rem"
61
+ margin={{ bottom: "xxlarge" }}
62
+ >
63
+ <DxcContainer display="inline-block" background={{ color: "color_purple_400" }} width="50px" height="50px">
64
+ <b>1</b>
65
+ </DxcContainer>
66
+ <DxcContainer display="inline-block" background={{ color: "color_purple_400" }} width="50px" height="50px">
67
+ <b>2</b>
68
+ </DxcContainer>
69
+ <DxcContainer
70
+ display="inline-block"
71
+ position="absolute"
72
+ inset={{ top: "25px", left: "0" }}
73
+ background={{ color: "color_blue_500" }}
74
+ width="50px"
75
+ height="50px"
76
+ zIndex={1}
77
+ >
78
+ <b>3</b>
79
+ </DxcContainer>
80
+ </DxcContainer>
81
+ </ExampleContainer>
82
+ <Title title="Margin collapse" level={4} />
83
+ <ExampleContainer>
84
+ <DxcContainer
85
+ width="fit-content"
86
+ border={{ color: "color_purple_400", width: "2px", style: "dashed" }}
87
+ borderRadius="0.25rem"
88
+ >
89
+ <DxcContainer
90
+ background={{ color: "color_purple_400" }}
91
+ width="50px"
92
+ height="50px"
93
+ margin={{ bottom: "medium" }}
94
+ >
95
+ <b>1</b>
96
+ </DxcContainer>
97
+ <DxcContainer background={{ color: "color_purple_400" }} width="50px" height="50px" margin={{ top: "large" }}>
98
+ <b>2</b>
99
+ </DxcContainer>
100
+ </DxcContainer>
101
+ </ExampleContainer>
102
+ <Title title="Overflow" level={4} />
103
+ <ExampleContainer>
104
+ <DxcContainer overflow={{ x: "auto" }} maxHeight="100px" width="fit-content">
105
+ <DxcContainer
106
+ border={{ width: "1px", style: "solid", color: "color_black" }}
107
+ background={{ color: "color_purple_400" }}
108
+ width="50px"
109
+ height="50px"
110
+ >
111
+ <b>1</b>
112
+ </DxcContainer>
113
+ <DxcContainer
114
+ border={{ width: "1px", style: "solid", color: "color_black" }}
115
+ background={{ color: "color_purple_400" }}
116
+ width="50px"
117
+ height="50px"
118
+ >
119
+ <b>2</b>
120
+ </DxcContainer>
121
+ <DxcContainer
122
+ border={{ width: "1px", style: "solid", color: "color_black" }}
123
+ background={{ color: "color_purple_400" }}
124
+ width="50px"
125
+ height="50px"
126
+ >
127
+ <b>3</b>
128
+ </DxcContainer>
129
+ </DxcContainer>
130
+ </ExampleContainer>
131
+ <Title title="Float" level={4} />
132
+ <ExampleContainer>
133
+ <DxcContainer padding="medium" border={{ width: "1px", style: "solid", color: "color_black" }}>
134
+ <DxcContainer float="right" background={{ color: "color_purple_400" }} width="100px" height="100px">
135
+ <b>Floating text</b>
136
+ </DxcContainer>
137
+ <p style={{ margin: 0 }}>
138
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla facilisis, sapien vitae aliquam lacinia, nisl
139
+ quam tincidunt ligula, eget aliquam eros quam quis nunc. Donec euismod, nisl eget ultricies aliquam, nisl
140
+ velit aliquam nunc, quis aliquam nisl nunc vel nisl. Donec euismod, nisl eget ultricies aliquam, nisl velit
141
+ aliquam nunc, quis aliquam nisl nunc vel nisl. Donec euismod, nisl eget ultricies aliquam, nisl velit aliquam
142
+ nunc, quis aliquam nisl nunc vel nisl. Donec euismod, nisl eget ultricies aliquam, nisl velit aliquam nunc,
143
+ quis aliquam nisl nunc vel nisl. Donec euismod, nisl eget ultricies aliquam, nisl velit aliquam nunc, quis
144
+ aliquam nisl nunc vel nisl. Donec euismod, nisl eget ultricies aliquam, nisl velit aliquam nunc, quis aliquam
145
+ nisl nunc vel nisl. Donec euismod, nisl eget ultricies aliquam, nisl velit aliquam nunc, quis aliquam nisl.
146
+ </p>
147
+ </DxcContainer>
148
+ </ExampleContainer>
149
+ <Title title="Box shadow and opacity" level={4} />
150
+ <ExampleContainer>
151
+ <DxcContainer
152
+ padding="medium"
153
+ outline={{ width: "1px", style: "solid", color: "color_black" }}
154
+ boxShadow="10px 5px 5px #fe0123"
155
+ >
156
+ <p style={{ margin: 0 }}>
157
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla facilisis, sapien vitae aliquam lacinia, nisl
158
+ quam tincidunt ligula, eget aliquam eros quam quis nunc. Donec euismod, nisl eget ultricies aliquam, nisl
159
+ velit aliquam nunc, quis aliquam nisl nunc vel nisl. Donec euismod, nisl eget ultricies aliquam, nisl velit
160
+ aliquam nunc, quis aliquam nisl nunc vel nisl. Donec euismod, nisl eget ultricies aliquam, nisl velit aliquam
161
+ nunc, quis aliquam nisl nunc vel nisl. Donec euismod, nisl eget ultricies aliquam, nisl velit aliquam nunc,
162
+ quis aliquam nisl nunc vel nisl. Donec euismod, nisl eget ultricies aliquam, nisl velit aliquam nunc, quis
163
+ aliquam nisl nunc vel nisl. Donec euismod, nisl eget ultricies aliquam, nisl velit aliquam nunc, quis aliquam
164
+ nisl.
165
+ </p>
166
+ </DxcContainer>
167
+ </ExampleContainer>
168
+ <Title title="Building a listbox component" level={4} />
169
+ <ExampleContainer>
170
+ <Listbox suggestions={["Option 1", "Option 2", "Option 3", "Option 4", "Option 5"]} />
171
+ </ExampleContainer>
172
+ <Title title="Border and outline" level={4} />
173
+ <ExampleContainer>
174
+ <DxcContainer
175
+ outline={{ color: "color_blue_400", style: "solid", offset: "2px" }}
176
+ border={{ top: { style: "solid" } }}
177
+ >
178
+ Example text
179
+ </DxcContainer>
180
+ </ExampleContainer>
181
+ </>
182
+ );
183
+
184
+ const Listbox = ({ suggestions = [] }: { suggestions: string[] }): JSX.Element => (
185
+ <DxcContainer
186
+ boxSizing="border-box"
187
+ boxShadow="0 4px 6px -1px rgba(0, 0, 0, 0.1)"
188
+ border={{ width: "1px", style: "solid", color: "color_grey_400" }}
189
+ borderRadius="0.25rem"
190
+ background={{ color: "color_white" }}
191
+ padding={{ top: "xxsmall", bottom: "xxsmall" }}
192
+ maxHeight="304px"
193
+ width="250px"
194
+ overflow={{ x: "hidden", y: "auto" }}
195
+ >
196
+ {suggestions.map((suggestion, index) => (
197
+ <DxcContainer padding={{ left: "xsmall", right: "xsmall" }}>
198
+ <DxcContainer
199
+ border={
200
+ index !== suggestions.length - 1
201
+ ? { bottom: { width: "1px", style: "solid", color: "color_grey_200" } }
202
+ : undefined
203
+ }
204
+ padding={{ top: "xxsmall", bottom: "xxsmall", left: "xxsmall", right: "xxsmall" }}
205
+ overflow="hidden"
206
+ >
207
+ <DxcTypography whiteSpace="nowrap" textOverflow="ellipsis" lineHeight="1.715em">
208
+ {suggestion}
209
+ </DxcTypography>
210
+ </DxcContainer>
211
+ </DxcContainer>
212
+ ))}
213
+ </DxcContainer>
214
+ );
@@ -0,0 +1,74 @@
1
+ /// <reference types="react" />
2
+ import { CoreColorTokens } from "../common/coreTokens";
3
+ type SpacingValues = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
4
+ type Space = SpacingValues | {
5
+ top?: SpacingValues;
6
+ right?: SpacingValues;
7
+ bottom?: SpacingValues;
8
+ left?: SpacingValues;
9
+ };
10
+ type Inset = {
11
+ top?: string;
12
+ right?: string;
13
+ bottom?: string;
14
+ left?: string;
15
+ };
16
+ type Background = {
17
+ attachment?: string;
18
+ clip?: string;
19
+ color?: CoreColorTokens;
20
+ image?: string;
21
+ origin?: string;
22
+ position?: string;
23
+ repeat?: string;
24
+ size?: string;
25
+ };
26
+ export type BorderProperties = {
27
+ width?: string;
28
+ style?: "none" | "dotted" | "dashed" | "solid" | "double" | "groove" | "ridge" | "inset" | "outset";
29
+ color?: CoreColorTokens;
30
+ };
31
+ type Border = BorderProperties | {
32
+ top?: BorderProperties;
33
+ right?: BorderProperties;
34
+ bottom?: BorderProperties;
35
+ left?: BorderProperties;
36
+ };
37
+ type Outline = BorderProperties & {
38
+ offset?: string;
39
+ };
40
+ type OverflowValues = "visible" | "hidden" | "clip" | "scroll" | "auto";
41
+ type Overflow = OverflowValues | {
42
+ x?: OverflowValues;
43
+ y?: OverflowValues;
44
+ };
45
+ type Props = {
46
+ boxSizing?: "border-box" | "content-box";
47
+ display?: "block" | "inline-block" | "inline" | "none";
48
+ width?: string;
49
+ height?: string;
50
+ maxWidth?: string;
51
+ maxHeight?: string;
52
+ minWidth?: string;
53
+ minHeight?: string;
54
+ padding?: Space;
55
+ border?: Border;
56
+ borderRadius?: string;
57
+ margin?: Space;
58
+ overflow?: Overflow;
59
+ position?: "static" | "relative" | "absolute" | "fixed" | "sticky";
60
+ inset?: Inset;
61
+ float?: "left" | "right" | "none";
62
+ zIndex?: "auto" | number;
63
+ background?: Background;
64
+ boxShadow?: string;
65
+ outline?: Outline;
66
+ children: React.ReactNode;
67
+ };
68
+ export type StyledProps = Omit<Props, "display" | "width" | "height" | "opacity" | "overflow"> & {
69
+ $display?: "block" | "inline-block" | "inline" | "none";
70
+ $width?: string;
71
+ $height?: string;
72
+ $overflow?: Overflow;
73
+ };
74
+ export default Props;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,86 @@
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 _jestAxe = require("jest-axe");
9
+ var _ContextualMenu = _interopRequireDefault(require("./ContextualMenu"));
10
+ var badge_icon = /*#__PURE__*/_react["default"].createElement("svg", {
11
+ width: "24",
12
+ height: "24",
13
+ viewBox: "0 0 24 24",
14
+ xmlns: "http://www.w3.org/2000/svg",
15
+ fill: "currentColor"
16
+ }, /*#__PURE__*/_react["default"].createElement("path", {
17
+ d: "M11 17H13V11H11V17ZM12 2C6.48 2 2 6.48 2 12C2 17.52 6.48 22 12 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 12 2ZM12 20C7.59 20 4 16.41 4 12C4 7.59 7.59 4 12 4C16.41 4 20 7.59 20 12C20 16.41 16.41 20 12 20ZM11 9H13V7H11V9Z"
18
+ }), /*#__PURE__*/_react["default"].createElement("path", {
19
+ d: "M11 7H13V9H11V7ZM11 11H13V17H11V11Z"
20
+ }), /*#__PURE__*/_react["default"].createElement("path", {
21
+ d: "M12 2C6.48 2 2 6.48 2 12C2 17.52 6.48 22 12 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 12 2ZM12 20C7.59 20 4 16.41 4 12C4 7.59 7.59 4 12 4C16.41 4 20 7.59 20 12C20 16.41 16.41 20 12 20Z"
22
+ }));
23
+ var key_icon = /*#__PURE__*/_react["default"].createElement("svg", {
24
+ xmlns: "http://www.w3.org/2000/svg",
25
+ height: "24",
26
+ viewBox: "0 -960 960 960",
27
+ width: "24",
28
+ fill: "currentColor"
29
+ }, /*#__PURE__*/_react["default"].createElement("path", {
30
+ d: "M280-400q-33 0-56.5-23.5T200-480q0-33 23.5-56.5T280-560q33 0 56.5 23.5T360-480q0 33-23.5 56.5T280-400Zm0 160q-100 0-170-70T40-480q0-100 70-170t170-70q67 0 121.5 33t86.5 87h352l120 120-180 180-80-60-80 60-85-60h-47q-32 54-86.5 87T280-240Zm0-80q56 0 98.5-34t56.5-86h125l58 41 82-61 71 55 75-75-40-40H435q-14-52-56.5-86T280-640q-66 0-113 47t-47 113q0 66 47 113t113 47Z"
31
+ }));
32
+ var fav_icon = /*#__PURE__*/_react["default"].createElement("svg", {
33
+ xmlns: "http://www.w3.org/2000/svg",
34
+ height: "24",
35
+ viewBox: "0 -960 960 960",
36
+ width: "24",
37
+ fill: "currentColor"
38
+ }, /*#__PURE__*/_react["default"].createElement("path", {
39
+ d: "m480-120-58-52q-101-91-167-157T150-447.5Q111-500 95.5-544T80-634q0-94 63-157t157-63q52 0 99 22t81 62q34-40 81-62t99-22q94 0 157 63t63 157q0 46-15.5 90T810-447.5Q771-395 705-329T538-172l-58 52Zm0-108q96-86 158-147.5t98-107q36-45.5 50-81t14-70.5q0-60-40-100t-100-40q-47 0-87 26.5T518-680h-76q-15-41-55-67.5T300-774q-60 0-100 40t-40 100q0 35 14 70.5t50 81q36 45.5 98 107T480-228Zm0-273Z"
40
+ }));
41
+ var itemsWithTruncatedText = [{
42
+ label: "Item with a very long label that should be truncated",
43
+ slot: /*#__PURE__*/_react["default"].createElement(_ContextualMenu["default"].Badge, {
44
+ color: "blue",
45
+ mode: "contextual",
46
+ label: "Label",
47
+ size: "small",
48
+ icon: badge_icon,
49
+ title: "Badge"
50
+ }),
51
+ icon: key_icon
52
+ }, {
53
+ label: "Item 2",
54
+ slot: /*#__PURE__*/_react["default"].createElement("svg", {
55
+ width: "12",
56
+ height: "12",
57
+ viewBox: "0 0 12 12",
58
+ fill: "currentColor",
59
+ xmlns: "http://www.w3.org/2000/svg"
60
+ }, /*#__PURE__*/_react["default"].createElement("path", {
61
+ d: "M10.6667 10.6667H1.33333V1.33333H6V0H1.33333C0.593333 0 0 0.6 0 1.33333V10.6667C0 11.4 0.593333 12 1.33333 12H10.6667C11.4 12 12 11.4 12 10.6667V6H10.6667V10.6667ZM7.33333 0V1.33333H9.72667L3.17333 7.88667L4.11333 8.82667L10.6667 2.27333V4.66667H12V0H7.33333Z",
62
+ fill: "#323232"
63
+ })),
64
+ icon: fav_icon
65
+ }];
66
+ describe("Context menu accessibility tests", function () {
67
+ it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
68
+ var _render, container, results;
69
+ return _regenerator["default"].wrap(function _callee$(_context) {
70
+ while (1) switch (_context.prev = _context.next) {
71
+ case 0:
72
+ _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ContextualMenu["default"], {
73
+ items: itemsWithTruncatedText
74
+ })), container = _render.container;
75
+ _context.next = 3;
76
+ return (0, _jestAxe.axe)(container);
77
+ case 3:
78
+ results = _context.sent;
79
+ expect(results).toHaveNoViolations();
80
+ case 5:
81
+ case "end":
82
+ return _context.stop();
83
+ }
84
+ }, _callee);
85
+ })));
86
+ });
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ import MenuPropsType, { BadgeProps as BadgePropsType } from "./types";
3
+ declare const DxcContextualMenu: {
4
+ ({ items, defaultSelectedItemIndex }: MenuPropsType): React.JSX.Element;
5
+ Badge(props: BadgePropsType): React.JSX.Element;
6
+ };
7
+ export default DxcContextualMenu;
@@ -0,0 +1,71 @@
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 _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
12
+ var _react = _interopRequireWildcard(require("react"));
13
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
14
+ var _coreTokens = _interopRequireDefault(require("../common/coreTokens"));
15
+ var _Badge = _interopRequireDefault(require("../badge/Badge"));
16
+ var _MenuItemAction = _interopRequireDefault(require("./MenuItemAction"));
17
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
18
+ 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); }
19
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
20
+ var DxcContextualMenu = function DxcContextualMenu(_ref) {
21
+ var items = _ref.items,
22
+ _ref$defaultSelectedI = _ref.defaultSelectedItemIndex,
23
+ defaultSelectedItemIndex = _ref$defaultSelectedI === void 0 ? -1 : _ref$defaultSelectedI;
24
+ var _useState = (0, _react.useState)(defaultSelectedItemIndex),
25
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
26
+ selectedItemIndex = _useState2[0],
27
+ setSelectedItemIndex = _useState2[1];
28
+ var renderSingleItem = function renderSingleItem(item, index) {
29
+ return /*#__PURE__*/_react["default"].createElement(Li, {
30
+ key: "option-".concat(index),
31
+ role: "menuitem"
32
+ }, /*#__PURE__*/_react["default"].createElement(_MenuItemAction["default"], (0, _extends2["default"])({}, item, {
33
+ selected: selectedItemIndex === index,
34
+ onSelect: function onSelect() {
35
+ var _item$onSelect;
36
+ setSelectedItemIndex(index);
37
+ (_item$onSelect = item.onSelect) === null || _item$onSelect === void 0 ? void 0 : _item$onSelect.call(item);
38
+ }
39
+ })));
40
+ };
41
+ var accLength = 0;
42
+ var renderSection = function renderSection(section, currentSectionIndex, items) {
43
+ var startingIndex = accLength;
44
+ accLength += section.items.length;
45
+ return /*#__PURE__*/_react["default"].createElement(_react.Fragment, {
46
+ key: "separator-".concat(currentSectionIndex)
47
+ }, /*#__PURE__*/_react["default"].createElement(Li, {
48
+ role: "group"
49
+ }, section.title != null && /*#__PURE__*/_react["default"].createElement(Title, null, section.title), /*#__PURE__*/_react["default"].createElement(Section, null, section.items.map(function (item, index) {
50
+ return renderSingleItem(item, startingIndex + index);
51
+ }))), currentSectionIndex !== items.length - 1 && /*#__PURE__*/_react["default"].createElement(Divider, {
52
+ "aria-hidden": true
53
+ }));
54
+ };
55
+ return /*#__PURE__*/_react["default"].createElement(Menu, {
56
+ role: "menu"
57
+ }, items.map(function (item, index, items) {
58
+ return "items" in item ? renderSection(item, index, items) : renderSingleItem(item, index);
59
+ }));
60
+ };
61
+ var Menu = _styledComponents["default"].ul(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n margin: 0;\n border: 1px solid ", ";\n border-radius: 0.25rem;\n padding: ", " ", ";\n\n display: grid;\n gap: ", ";\n min-width: 248px;\n max-height: 100%;\n background-color: ", ";\n\n overflow-y: auto;\n &::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n }\n &::-webkit-scrollbar-thumb {\n background-color: ", ";\n border-radius: 0.25rem;\n }\n &::-webkit-scrollbar-track {\n background-color: ", ";\n border-radius: 0.25rem;\n }\n"])), _coreTokens["default"].color_grey_200, _coreTokens["default"].spacing_16, _coreTokens["default"].spacing_8, _coreTokens["default"].spacing_4, _coreTokens["default"].color_white, _coreTokens["default"].color_grey_700, _coreTokens["default"].color_grey_300);
62
+ var Li = _styledComponents["default"].li(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: grid;\n"])));
63
+ var Section = _styledComponents["default"].ul(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n list-style: none;\n margin: 0;\n padding: 0;\n display: grid;\n gap: ", ";\n"])), _coreTokens["default"].spacing_4);
64
+ var Title = _styledComponents["default"].h2(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n margin: 0 0 ", " 0;\n padding: ", ";\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n line-height: 24px;\n\n & + ul > li > button {\n padding-left: ", " !important;\n }\n"])), _coreTokens["default"].spacing_4, _coreTokens["default"].spacing_4, _coreTokens["default"].color_grey_900, _coreTokens["default"].type_sans, _coreTokens["default"].type_scale_03, _coreTokens["default"].type_semibold, _coreTokens["default"].spacing_12);
65
+ var Divider = _styledComponents["default"].hr(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n margin: ", " 0;\n border: none;\n height: 1px;\n background: ", ";\n"])), _coreTokens["default"].spacing_4, _coreTokens["default"].color_grey_200);
66
+ DxcContextualMenu.Badge = function (props) {
67
+ return /*#__PURE__*/_react["default"].createElement(_Badge["default"], (0, _extends2["default"])({}, props, {
68
+ size: "small"
69
+ }));
70
+ };
71
+ var _default = exports["default"] = DxcContextualMenu;