@dxc-technology/halstack-react 0.0.0-e1386cf → 0.0.0-e19ca5f

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 (385) 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 +122 -106
  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 +44 -118
  9. package/accordion/Accordion.stories.tsx +82 -147
  10. package/accordion/Accordion.test.js +19 -34
  11. package/accordion/types.d.ts +6 -18
  12. package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
  13. package/accordion-group/AccordionGroup.d.ts +2 -2
  14. package/accordion-group/AccordionGroup.js +29 -77
  15. package/accordion-group/AccordionGroup.stories.tsx +78 -77
  16. package/accordion-group/AccordionGroup.test.js +44 -72
  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 +7 -19
  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 +36 -126
  30. package/alert/Alert.stories.tsx +28 -0
  31. package/alert/Alert.test.js +29 -46
  32. package/alert/types.d.ts +5 -5
  33. package/badge/Badge.accessibility.test.js +129 -0
  34. package/badge/Badge.d.ts +1 -1
  35. package/badge/Badge.js +142 -42
  36. package/badge/Badge.stories.tsx +210 -0
  37. package/badge/Badge.test.js +30 -0
  38. package/badge/types.d.ts +52 -3
  39. package/bleed/Bleed.js +13 -21
  40. package/bleed/Bleed.stories.tsx +1 -0
  41. package/bleed/types.d.ts +2 -2
  42. package/box/Box.accessibility.test.js +33 -0
  43. package/box/Box.d.ts +1 -1
  44. package/box/Box.js +18 -59
  45. package/box/Box.stories.tsx +38 -51
  46. package/box/Box.test.js +2 -7
  47. package/box/types.d.ts +3 -15
  48. package/breadcrumbs/Breadcrumbs.accessibility.test.d.ts +1 -0
  49. package/breadcrumbs/Breadcrumbs.accessibility.test.js +96 -0
  50. package/breadcrumbs/Breadcrumbs.d.ts +4 -0
  51. package/breadcrumbs/Breadcrumbs.js +79 -0
  52. package/breadcrumbs/Breadcrumbs.stories.tsx +194 -0
  53. package/breadcrumbs/Breadcrumbs.test.d.ts +1 -0
  54. package/breadcrumbs/Breadcrumbs.test.js +169 -0
  55. package/breadcrumbs/Item.d.ts +4 -0
  56. package/breadcrumbs/Item.js +52 -0
  57. package/breadcrumbs/dropdownTheme.d.ts +53 -0
  58. package/breadcrumbs/dropdownTheme.js +62 -0
  59. package/breadcrumbs/types.d.ts +16 -0
  60. package/bulleted-list/BulletedList.accessibility.test.js +119 -0
  61. package/bulleted-list/BulletedList.js +22 -53
  62. package/bulleted-list/BulletedList.stories.tsx +8 -93
  63. package/bulleted-list/types.d.ts +32 -5
  64. package/button/Button.accessibility.test.js +127 -0
  65. package/button/Button.d.ts +1 -1
  66. package/button/Button.js +71 -106
  67. package/button/Button.stories.tsx +143 -101
  68. package/button/Button.test.js +20 -17
  69. package/button/types.d.ts +9 -5
  70. package/card/Card.accessibility.test.js +36 -0
  71. package/card/Card.d.ts +1 -1
  72. package/card/Card.js +49 -89
  73. package/card/Card.stories.tsx +12 -42
  74. package/card/Card.test.js +11 -22
  75. package/card/types.d.ts +6 -12
  76. package/checkbox/Checkbox.accessibility.test.js +87 -0
  77. package/checkbox/Checkbox.js +90 -125
  78. package/checkbox/Checkbox.stories.tsx +68 -54
  79. package/checkbox/Checkbox.test.js +108 -64
  80. package/checkbox/types.d.ts +8 -4
  81. package/chip/Chip.accessibility.test.js +67 -0
  82. package/chip/Chip.js +45 -80
  83. package/chip/Chip.stories.tsx +107 -27
  84. package/chip/Chip.test.js +18 -33
  85. package/chip/types.d.ts +4 -4
  86. package/common/coreTokens.d.ts +237 -0
  87. package/common/coreTokens.js +184 -0
  88. package/common/utils.d.ts +1 -0
  89. package/common/utils.js +6 -12
  90. package/common/variables.d.ts +1392 -0
  91. package/common/variables.js +969 -1213
  92. package/container/Container.d.ts +4 -0
  93. package/container/Container.js +194 -0
  94. package/container/Container.stories.tsx +214 -0
  95. package/container/types.d.ts +74 -0
  96. package/contextual-menu/ContextualMenu.accessibility.test.js +97 -0
  97. package/contextual-menu/ContextualMenu.d.ts +5 -0
  98. package/contextual-menu/ContextualMenu.js +88 -0
  99. package/contextual-menu/ContextualMenu.stories.tsx +232 -0
  100. package/contextual-menu/ContextualMenu.test.js +205 -0
  101. package/contextual-menu/GroupItem.d.ts +4 -0
  102. package/contextual-menu/GroupItem.js +67 -0
  103. package/contextual-menu/ItemAction.d.ts +4 -0
  104. package/contextual-menu/ItemAction.js +51 -0
  105. package/contextual-menu/MenuItem.d.ts +4 -0
  106. package/contextual-menu/MenuItem.js +29 -0
  107. package/contextual-menu/SingleItem.d.ts +4 -0
  108. package/contextual-menu/SingleItem.js +38 -0
  109. package/contextual-menu/types.d.ts +58 -0
  110. package/contextual-menu/types.js +5 -0
  111. package/date-input/Calendar.d.ts +4 -0
  112. package/date-input/Calendar.js +214 -0
  113. package/date-input/DateInput.accessibility.test.js +228 -0
  114. package/date-input/DateInput.js +149 -299
  115. package/date-input/DateInput.stories.tsx +210 -56
  116. package/date-input/DateInput.test.js +694 -429
  117. package/date-input/DatePicker.d.ts +4 -0
  118. package/date-input/DatePicker.js +121 -0
  119. package/date-input/YearPicker.d.ts +4 -0
  120. package/date-input/YearPicker.js +100 -0
  121. package/date-input/types.d.ts +72 -15
  122. package/dialog/Dialog.accessibility.test.js +69 -0
  123. package/dialog/Dialog.d.ts +1 -1
  124. package/dialog/Dialog.js +51 -120
  125. package/dialog/Dialog.stories.tsx +316 -212
  126. package/dialog/Dialog.test.js +270 -33
  127. package/dialog/types.d.ts +18 -26
  128. package/divider/Divider.accessibility.test.js +33 -0
  129. package/divider/Divider.d.ts +4 -0
  130. package/divider/Divider.js +36 -0
  131. package/divider/Divider.stories.tsx +223 -0
  132. package/divider/Divider.test.js +38 -0
  133. package/divider/types.d.ts +21 -0
  134. package/divider/types.js +5 -0
  135. package/dropdown/Dropdown.accessibility.test.js +180 -0
  136. package/dropdown/Dropdown.js +66 -136
  137. package/dropdown/Dropdown.stories.tsx +209 -94
  138. package/dropdown/Dropdown.test.js +404 -390
  139. package/dropdown/DropdownMenu.js +23 -40
  140. package/dropdown/DropdownMenuItem.js +17 -38
  141. package/dropdown/types.d.ts +20 -24
  142. package/file-input/FileInput.accessibility.test.js +160 -0
  143. package/file-input/FileInput.js +184 -292
  144. package/file-input/FileInput.stories.tsx +86 -3
  145. package/file-input/FileInput.test.js +279 -395
  146. package/file-input/FileItem.js +31 -67
  147. package/file-input/types.d.ts +10 -10
  148. package/flex/Flex.js +27 -39
  149. package/flex/Flex.stories.tsx +35 -26
  150. package/flex/types.d.ts +74 -9
  151. package/footer/Footer.accessibility.test.js +125 -0
  152. package/footer/Footer.d.ts +1 -1
  153. package/footer/Footer.js +73 -118
  154. package/footer/Footer.stories.tsx +94 -23
  155. package/footer/Footer.test.js +33 -57
  156. package/footer/Icons.d.ts +3 -2
  157. package/footer/Icons.js +53 -22
  158. package/footer/types.d.ts +26 -28
  159. package/grid/Grid.d.ts +7 -0
  160. package/grid/Grid.js +76 -0
  161. package/grid/Grid.stories.tsx +219 -0
  162. package/grid/types.d.ts +115 -0
  163. package/grid/types.js +5 -0
  164. package/header/Header.accessibility.test.js +93 -0
  165. package/header/Header.d.ts +4 -3
  166. package/header/Header.js +55 -150
  167. package/header/Header.stories.tsx +130 -35
  168. package/header/Header.test.js +13 -26
  169. package/header/Icons.d.ts +2 -2
  170. package/header/Icons.js +3 -13
  171. package/header/types.d.ts +7 -22
  172. package/heading/Heading.accessibility.test.js +33 -0
  173. package/heading/Heading.js +10 -32
  174. package/heading/Heading.test.js +71 -88
  175. package/heading/types.d.ts +7 -7
  176. package/icon/Icon.accessibility.test.js +30 -0
  177. package/icon/Icon.d.ts +4 -0
  178. package/icon/Icon.js +33 -0
  179. package/icon/Icon.stories.tsx +28 -0
  180. package/icon/types.d.ts +4 -0
  181. package/icon/types.js +5 -0
  182. package/image/Image.accessibility.test.js +56 -0
  183. package/image/Image.d.ts +4 -0
  184. package/image/Image.js +70 -0
  185. package/image/Image.stories.tsx +129 -0
  186. package/image/types.d.ts +72 -0
  187. package/image/types.js +5 -0
  188. package/inset/Inset.js +13 -21
  189. package/inset/Inset.stories.tsx +2 -1
  190. package/inset/types.d.ts +2 -2
  191. package/layout/ApplicationLayout.d.ts +5 -5
  192. package/layout/ApplicationLayout.js +36 -70
  193. package/layout/ApplicationLayout.stories.tsx +1 -1
  194. package/layout/Icons.d.ts +7 -5
  195. package/layout/Icons.js +41 -59
  196. package/layout/types.d.ts +5 -6
  197. package/link/Link.accessibility.test.js +108 -0
  198. package/link/Link.js +31 -50
  199. package/link/Link.stories.tsx +64 -4
  200. package/link/Link.test.js +24 -44
  201. package/link/types.d.ts +14 -14
  202. package/main.d.ts +11 -5
  203. package/main.js +54 -59
  204. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  205. package/nav-tabs/NavTabs.d.ts +7 -0
  206. package/{tabs-nav → nav-tabs}/NavTabs.js +25 -57
  207. package/nav-tabs/NavTabs.stories.tsx +279 -0
  208. package/nav-tabs/NavTabs.test.js +77 -0
  209. package/nav-tabs/NavTabsContext.d.ts +3 -0
  210. package/nav-tabs/NavTabsContext.js +8 -0
  211. package/nav-tabs/Tab.js +117 -0
  212. package/{tabs-nav → nav-tabs}/types.d.ts +15 -16
  213. package/nav-tabs/types.js +5 -0
  214. package/number-input/NumberInput.accessibility.test.js +228 -0
  215. package/number-input/NumberInput.js +46 -36
  216. package/number-input/NumberInput.stories.tsx +42 -26
  217. package/number-input/NumberInput.test.js +860 -413
  218. package/number-input/NumberInputContext.d.ts +3 -4
  219. package/number-input/NumberInputContext.js +3 -14
  220. package/number-input/types.d.ts +17 -5
  221. package/package.json +43 -46
  222. package/paginator/Paginator.accessibility.test.js +79 -0
  223. package/paginator/Paginator.js +34 -67
  224. package/paginator/Paginator.stories.tsx +24 -0
  225. package/paginator/Paginator.test.js +252 -225
  226. package/paginator/types.d.ts +3 -3
  227. package/paragraph/Paragraph.accessibility.test.js +28 -0
  228. package/paragraph/Paragraph.d.ts +3 -4
  229. package/paragraph/Paragraph.js +6 -22
  230. package/paragraph/Paragraph.stories.tsx +0 -17
  231. package/password-input/PasswordInput.accessibility.test.js +153 -0
  232. package/password-input/PasswordInput.js +58 -127
  233. package/password-input/PasswordInput.stories.tsx +1 -33
  234. package/password-input/PasswordInput.test.js +158 -141
  235. package/password-input/types.d.ts +8 -7
  236. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  237. package/progress-bar/ProgressBar.d.ts +2 -2
  238. package/progress-bar/ProgressBar.js +28 -58
  239. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +36 -3
  240. package/progress-bar/ProgressBar.test.js +36 -53
  241. package/progress-bar/types.d.ts +4 -3
  242. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  243. package/quick-nav/QuickNav.js +4 -27
  244. package/quick-nav/QuickNav.stories.tsx +15 -1
  245. package/quick-nav/types.d.ts +10 -10
  246. package/radio-group/Radio.d.ts +1 -1
  247. package/radio-group/Radio.js +31 -63
  248. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  249. package/radio-group/RadioGroup.js +46 -93
  250. package/radio-group/RadioGroup.stories.tsx +131 -18
  251. package/radio-group/RadioGroup.test.js +505 -471
  252. package/radio-group/types.d.ts +8 -8
  253. package/resultset-table/Icons.d.ts +7 -0
  254. package/{text-input → resultset-table}/Icons.js +13 -26
  255. package/resultset-table/ResultsetTable.accessibility.test.js +285 -0
  256. package/resultset-table/ResultsetTable.d.ts +7 -0
  257. package/resultset-table/ResultsetTable.js +171 -0
  258. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +168 -30
  259. package/resultset-table/ResultsetTable.test.js +381 -0
  260. package/{resultsetTable → resultset-table}/types.d.ts +44 -11
  261. package/resultset-table/types.js +5 -0
  262. package/select/Listbox.d.ts +1 -1
  263. package/select/Listbox.js +43 -86
  264. package/select/Option.js +35 -56
  265. package/select/Select.accessibility.test.js +228 -0
  266. package/select/Select.js +140 -183
  267. package/select/Select.stories.tsx +496 -204
  268. package/select/Select.test.js +1949 -1917
  269. package/select/types.d.ts +17 -18
  270. package/sidenav/Sidenav.accessibility.test.js +59 -0
  271. package/sidenav/Sidenav.d.ts +2 -2
  272. package/sidenav/Sidenav.js +90 -157
  273. package/sidenav/Sidenav.stories.tsx +160 -63
  274. package/sidenav/Sidenav.test.js +3 -10
  275. package/{layout → sidenav}/SidenavContext.d.ts +1 -1
  276. package/{layout → sidenav}/SidenavContext.js +3 -9
  277. package/sidenav/types.d.ts +33 -30
  278. package/slider/Slider.accessibility.test.js +104 -0
  279. package/slider/Slider.js +75 -132
  280. package/slider/Slider.test.js +108 -104
  281. package/slider/types.d.ts +4 -4
  282. package/spinner/Spinner.accessibility.test.js +96 -0
  283. package/spinner/Spinner.js +34 -74
  284. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  285. package/spinner/Spinner.test.js +26 -35
  286. package/spinner/types.d.ts +3 -3
  287. package/status-light/StatusLight.accessibility.test.js +157 -0
  288. package/status-light/StatusLight.d.ts +4 -0
  289. package/status-light/StatusLight.js +51 -0
  290. package/status-light/StatusLight.stories.tsx +74 -0
  291. package/status-light/StatusLight.test.js +25 -0
  292. package/status-light/types.d.ts +17 -0
  293. package/status-light/types.js +5 -0
  294. package/switch/Switch.accessibility.test.js +98 -0
  295. package/switch/Switch.js +52 -100
  296. package/switch/Switch.stories.tsx +45 -34
  297. package/switch/Switch.test.js +52 -97
  298. package/switch/types.d.ts +4 -4
  299. package/table/DropdownTheme.js +62 -0
  300. package/table/Table.accessibility.test.js +93 -0
  301. package/table/Table.d.ts +6 -2
  302. package/table/Table.js +78 -35
  303. package/table/Table.stories.tsx +663 -0
  304. package/table/Table.test.js +94 -7
  305. package/table/types.d.ts +34 -6
  306. package/tabs/Tab.js +28 -46
  307. package/tabs/Tabs.accessibility.test.js +56 -0
  308. package/tabs/Tabs.js +69 -163
  309. package/tabs/Tabs.stories.tsx +50 -6
  310. package/tabs/Tabs.test.js +61 -136
  311. package/tabs/types.d.ts +21 -21
  312. package/tag/Tag.accessibility.test.js +69 -0
  313. package/tag/Tag.js +34 -66
  314. package/tag/Tag.stories.tsx +18 -8
  315. package/tag/Tag.test.js +18 -37
  316. package/tag/types.d.ts +9 -9
  317. package/text-input/Suggestion.js +35 -25
  318. package/text-input/Suggestions.d.ts +1 -1
  319. package/text-input/Suggestions.js +30 -70
  320. package/text-input/TextInput.accessibility.test.js +321 -0
  321. package/text-input/TextInput.js +229 -335
  322. package/text-input/TextInput.stories.tsx +155 -162
  323. package/text-input/TextInput.test.js +1289 -1157
  324. package/text-input/types.d.ts +25 -17
  325. package/textarea/Textarea.accessibility.test.js +155 -0
  326. package/textarea/Textarea.js +71 -113
  327. package/textarea/Textarea.stories.tsx +174 -0
  328. package/textarea/Textarea.test.js +152 -183
  329. package/textarea/types.d.ts +9 -5
  330. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  331. package/toggle-group/ToggleGroup.d.ts +2 -2
  332. package/toggle-group/ToggleGroup.js +94 -107
  333. package/toggle-group/ToggleGroup.stories.tsx +52 -7
  334. package/toggle-group/ToggleGroup.test.js +69 -88
  335. package/toggle-group/types.d.ts +28 -19
  336. package/typography/Typography.accessibility.test.js +339 -0
  337. package/typography/Typography.d.ts +2 -2
  338. package/typography/Typography.js +15 -123
  339. package/typography/Typography.stories.tsx +1 -1
  340. package/typography/types.d.ts +1 -1
  341. package/useTheme.d.ts +1144 -1
  342. package/useTheme.js +2 -9
  343. package/useTranslatedLabels.d.ts +84 -1
  344. package/useTranslatedLabels.js +1 -7
  345. package/utils/BaseTypography.d.ts +21 -0
  346. package/utils/BaseTypography.js +94 -0
  347. package/utils/FocusLock.d.ts +13 -0
  348. package/utils/FocusLock.js +124 -0
  349. package/wizard/Wizard.accessibility.test.js +55 -0
  350. package/wizard/Wizard.js +29 -75
  351. package/wizard/Wizard.stories.tsx +39 -0
  352. package/wizard/Wizard.test.js +54 -81
  353. package/wizard/types.d.ts +10 -11
  354. package/card/ice-cream.jpg +0 -0
  355. package/common/OpenSans.css +0 -81
  356. package/common/RequiredComponent.js +0 -32
  357. package/common/fonts/OpenSans-Bold.ttf +0 -0
  358. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  359. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  360. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  361. package/common/fonts/OpenSans-Italic.ttf +0 -0
  362. package/common/fonts/OpenSans-Light.ttf +0 -0
  363. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  364. package/common/fonts/OpenSans-Regular.ttf +0 -0
  365. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  366. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  367. package/number-input/numberInputContextTypes.d.ts +0 -19
  368. package/paginator/Icons.js +0 -66
  369. package/resultsetTable/ResultsetTable.d.ts +0 -4
  370. package/resultsetTable/ResultsetTable.js +0 -252
  371. package/resultsetTable/ResultsetTable.test.js +0 -348
  372. package/select/Icons.d.ts +0 -10
  373. package/select/Icons.js +0 -93
  374. package/slider/Slider.stories.tsx +0 -183
  375. package/table/Table.stories.jsx +0 -277
  376. package/tabs-nav/NavTabs.d.ts +0 -8
  377. package/tabs-nav/NavTabs.stories.tsx +0 -170
  378. package/tabs-nav/NavTabs.test.js +0 -82
  379. package/tabs-nav/Tab.js +0 -130
  380. package/text-input/Icons.d.ts +0 -8
  381. package/textarea/Textarea.stories.jsx +0 -157
  382. /package/{resultsetTable → action-icon}/types.js +0 -0
  383. /package/{tabs-nav → breadcrumbs}/types.js +0 -0
  384. /package/{number-input/numberInputContextTypes.js → container/types.js} +0 -0
  385. /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
@@ -0,0 +1,169 @@
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 _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
7
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _react2 = require("@testing-library/react");
10
+ var _Breadcrumbs = _interopRequireDefault(require("./Breadcrumbs"));
11
+ var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
12
+ global.ResizeObserver = /*#__PURE__*/function () {
13
+ function ResizeObserver() {
14
+ (0, _classCallCheck2["default"])(this, ResizeObserver);
15
+ }
16
+ (0, _createClass2["default"])(ResizeObserver, [{
17
+ key: "observe",
18
+ value: function observe() {}
19
+ }, {
20
+ key: "unobserve",
21
+ value: function unobserve() {}
22
+ }, {
23
+ key: "disconnect",
24
+ value: function disconnect() {}
25
+ }]);
26
+ return ResizeObserver;
27
+ }();
28
+ var items = [{
29
+ label: "Home",
30
+ href: "/"
31
+ }, {
32
+ label: "User Menu",
33
+ href: ""
34
+ }, {
35
+ label: "Preferences",
36
+ href: ""
37
+ }, {
38
+ label: "Dark Mode",
39
+ href: ""
40
+ }];
41
+ describe("Breadcrumbs component tests", function () {
42
+ test("Renders with correct aria accessibility attributes", function () {
43
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Breadcrumbs["default"], {
44
+ items: items,
45
+ ariaLabel: "example"
46
+ })),
47
+ getByText = _render.getByText,
48
+ getByRole = _render.getByRole;
49
+ var breadcrumbs = getByRole("navigation");
50
+ expect(breadcrumbs.getAttribute("aria-label")).toBe("example");
51
+ expect(getByText("Dark Mode").parentElement.getAttribute("aria-current")).toBe("page");
52
+ });
53
+ test("Collapsed variant renders all the items inside the dropdown menu except the root and the current page", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
54
+ var _render2, queryByText, getByText, getByRole, dropdown;
55
+ return _regenerator["default"].wrap(function _callee$(_context) {
56
+ while (1) switch (_context.prev = _context.next) {
57
+ case 0:
58
+ _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Breadcrumbs["default"], {
59
+ items: items,
60
+ itemsBeforeCollapse: 3
61
+ })), queryByText = _render2.queryByText, getByText = _render2.getByText, getByRole = _render2.getByRole;
62
+ dropdown = getByRole("button");
63
+ expect(queryByText("User Menu")).toBeFalsy();
64
+ expect(queryByText("Preferences")).toBeFalsy();
65
+ _context.next = 6;
66
+ return _userEvent["default"].click(dropdown);
67
+ case 6:
68
+ expect(getByText("User Menu")).toBeTruthy();
69
+ expect(getByText("Preferences")).toBeTruthy();
70
+ case 8:
71
+ case "end":
72
+ return _context.stop();
73
+ }
74
+ }, _callee);
75
+ })));
76
+ test("Collapsed variant, with show root set to false, renders all the items inside the dropdown menu except the current page", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
77
+ var _render3, queryByText, getByText, getByRole, dropdown;
78
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
79
+ while (1) switch (_context2.prev = _context2.next) {
80
+ case 0:
81
+ _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Breadcrumbs["default"], {
82
+ items: items,
83
+ itemsBeforeCollapse: 3,
84
+ showRoot: false
85
+ })), queryByText = _render3.queryByText, getByText = _render3.getByText, getByRole = _render3.getByRole;
86
+ dropdown = getByRole("button");
87
+ expect(queryByText("Home")).toBeFalsy();
88
+ expect(queryByText("User Menu")).toBeFalsy();
89
+ expect(queryByText("Preferences")).toBeFalsy();
90
+ _context2.next = 7;
91
+ return _userEvent["default"].click(dropdown);
92
+ case 7:
93
+ expect(getByText("Home")).toBeTruthy();
94
+ expect(getByText("User Menu")).toBeTruthy();
95
+ expect(getByText("Preferences")).toBeTruthy();
96
+ case 10:
97
+ case "end":
98
+ return _context2.stop();
99
+ }
100
+ }, _callee2);
101
+ })));
102
+ test("If itemsBeforeCollapse value is below two, ignores it and renders a collapsed variant", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
103
+ var _render4, getByText, getByRole;
104
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
105
+ while (1) switch (_context3.prev = _context3.next) {
106
+ case 0:
107
+ _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Breadcrumbs["default"], {
108
+ items: items,
109
+ itemsBeforeCollapse: -1
110
+ })), getByText = _render4.getByText, getByRole = _render4.getByRole;
111
+ expect(getByText("Home")).toBeTruthy();
112
+ expect(getByRole("button")).toBeTruthy();
113
+ expect(getByText("Dark Mode")).toBeTruthy();
114
+ case 4:
115
+ case "end":
116
+ return _context3.stop();
117
+ }
118
+ }, _callee3);
119
+ })));
120
+ test("The onClick prop from an item is properly called", function () {
121
+ var onItemClick = jest.fn();
122
+ var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Breadcrumbs["default"], {
123
+ onItemClick: onItemClick,
124
+ items: [{
125
+ label: "Home",
126
+ href: "/home"
127
+ }, {
128
+ label: "Preferences",
129
+ href: "/preferences"
130
+ }]
131
+ })),
132
+ getByText = _render5.getByText;
133
+ _userEvent["default"].click(getByText("Home"));
134
+ expect(onItemClick).toHaveBeenCalledWith("/home");
135
+ });
136
+ test("The onClick prop from an item is properly called (collapsed)", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
137
+ var onItemClick, _render6, getByText, getByRole;
138
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
139
+ while (1) switch (_context4.prev = _context4.next) {
140
+ case 0:
141
+ onItemClick = jest.fn();
142
+ _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Breadcrumbs["default"], {
143
+ onItemClick: onItemClick,
144
+ items: [{
145
+ label: "Home",
146
+ href: "/"
147
+ }, {
148
+ label: "Preferences",
149
+ href: "/"
150
+ }, {
151
+ label: "Dark Mode",
152
+ href: "/"
153
+ }],
154
+ itemsBeforeCollapse: 2
155
+ })), getByText = _render6.getByText, getByRole = _render6.getByRole;
156
+ _context4.next = 4;
157
+ return _userEvent["default"].click(getByRole("button"));
158
+ case 4:
159
+ _context4.next = 6;
160
+ return _userEvent["default"].click(getByText("Preferences"));
161
+ case 6:
162
+ expect(onItemClick).toHaveBeenCalledWith("/");
163
+ case 7:
164
+ case "end":
165
+ return _context4.stop();
166
+ }
167
+ }, _callee4);
168
+ })));
169
+ });
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { ItemPropsType } from "./types";
3
+ declare const Item: ({ isCurrentPage, href, label, onClick }: ItemPropsType) => React.JSX.Element;
4
+ export default Item;
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
12
+ var _coreTokens = _interopRequireDefault(require("../common/coreTokens"));
13
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
14
+ 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); }
15
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
16
+ var Item = function Item(_ref) {
17
+ var _ref$isCurrentPage = _ref.isCurrentPage,
18
+ isCurrentPage = _ref$isCurrentPage === void 0 ? false : _ref$isCurrentPage,
19
+ href = _ref.href,
20
+ label = _ref.label,
21
+ onClick = _ref.onClick;
22
+ var currentItemRef = (0, _react.useRef)(null);
23
+ var handleOnMouseEnter = function handleOnMouseEnter(event) {
24
+ var labelContainer = event.currentTarget;
25
+ var optionElement = currentItemRef === null || currentItemRef === void 0 ? void 0 : currentItemRef.current;
26
+ if (optionElement.title === "" && labelContainer.scrollWidth > labelContainer.clientWidth) optionElement.title = label;
27
+ };
28
+ var handleOnClick = function handleOnClick(event) {
29
+ if (onClick) {
30
+ event.preventDefault();
31
+ onClick(href);
32
+ }
33
+ };
34
+ return /*#__PURE__*/_react["default"].createElement(ListItem, {
35
+ "aria-current": isCurrentPage ? "page" : undefined,
36
+ isCurrentPage: isCurrentPage
37
+ }, isCurrentPage ? /*#__PURE__*/_react["default"].createElement(CurrentPage, {
38
+ ref: currentItemRef,
39
+ onMouseEnter: handleOnMouseEnter
40
+ }, label) : /*#__PURE__*/_react["default"].createElement(Link, {
41
+ href: href,
42
+ onClick: handleOnClick
43
+ }, /*#__PURE__*/_react["default"].createElement(Text, null, label)));
44
+ };
45
+ var ListItem = _styledComponents["default"].li(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n font-family: ", ";\n font-size: ", ";\n color: ", ";\n ", "\n"])), _coreTokens["default"].type_sans, _coreTokens["default"].type_scale_02, _coreTokens["default"].color_black, function (_ref2) {
46
+ var isCurrentPage = _ref2.isCurrentPage;
47
+ return isCurrentPage && "overflow: hidden;";
48
+ });
49
+ var CurrentPage = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n font-weight: ", ";\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n cursor: default;\n"])), _coreTokens["default"].type_semibold);
50
+ var Link = _styledComponents["default"].a(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n border-radius: ", ";\n padding: ", " ", ";\n display: inline-flex;\n align-items: center;\n height: 24px;\n color: ", ";\n text-decoration: ", ";\n cursor: pointer;\n\n &:focus {\n outline: ", " solid ", ";\n }\n"])), _coreTokens["default"].border_radius_small, _coreTokens["default"].spacing_0, _coreTokens["default"].spacing_2, _coreTokens["default"].color_black, _coreTokens["default"].type_no_line, _coreTokens["default"].border_width_2, _coreTokens["default"].color_blue_600);
51
+ var Text = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n border: ", " solid ", ";\n &:hover {\n border-bottom-color: ", ";\n }\n"])), _coreTokens["default"].border_width_1, _coreTokens["default"].color_transparent, _coreTokens["default"].color_black);
52
+ var _default = exports["default"] = Item;
@@ -0,0 +1,53 @@
1
+ declare const _default: {
2
+ dropdown: {
3
+ buttonIconSize: string;
4
+ buttonPaddingTop: string;
5
+ buttonPaddingBottom: string;
6
+ buttonPaddingLeft: string;
7
+ buttonPaddingRight: string;
8
+ buttonHeight: string;
9
+ buttonBorderRadius: string;
10
+ buttonBorderColor: string;
11
+ optionFontSize: string;
12
+ optionPaddingTop: string;
13
+ optionPaddingBottom: string;
14
+ optionPaddingLeft: string;
15
+ optionPaddingRight: string;
16
+ buttonBackgroundColor: string;
17
+ hoverButtonBackgroundColor: string;
18
+ activeButtonBackgroundColor: string;
19
+ buttonFontFamily: string;
20
+ buttonFontSize: string;
21
+ buttonFontStyle: string;
22
+ buttonFontWeight: string;
23
+ buttonFontColor: string;
24
+ buttonIconSpacing: string;
25
+ buttonIconColor: string;
26
+ buttonBorderStyle: string;
27
+ buttonBorderThickness: string;
28
+ disabledColor: string;
29
+ disabledButtonBackgroundColor: string;
30
+ disabledButtonBorderColor: string;
31
+ optionBackgroundColor: string;
32
+ hoverOptionBackgroundColor: string;
33
+ activeOptionBackgroundColor: string;
34
+ optionFontFamily: string;
35
+ optionFontStyle: string;
36
+ optionFontWeight: string;
37
+ optionFontColor: string;
38
+ optionIconSize: string;
39
+ optionIconSpacing: string;
40
+ optionIconColor: string;
41
+ caretIconSize: string;
42
+ caretIconColor: string;
43
+ caretIconSpacing: string;
44
+ borderRadius: string;
45
+ borderStyle: string;
46
+ borderThickness: string;
47
+ borderColor: string;
48
+ scrollBarThumbColor: string;
49
+ scrollBarTrackColor: string;
50
+ focusColor: string;
51
+ };
52
+ };
53
+ export default _default;
@@ -0,0 +1,62 @@
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 _coreTokens = _interopRequireDefault(require("../common/coreTokens"));
9
+ var _default = exports["default"] = {
10
+ dropdown: {
11
+ // Breadcrumbs tokens
12
+ buttonIconSize: _coreTokens["default"].spacing_16,
13
+ buttonPaddingTop: _coreTokens["default"].spacing_4,
14
+ buttonPaddingBottom: _coreTokens["default"].spacing_4,
15
+ buttonPaddingLeft: _coreTokens["default"].spacing_4,
16
+ buttonPaddingRight: _coreTokens["default"].spacing_4,
17
+ buttonHeight: "24px",
18
+ buttonBorderRadius: "2px",
19
+ buttonBorderColor: _coreTokens["default"].color_transparent,
20
+ optionFontSize: "14px",
21
+ optionPaddingTop: _coreTokens["default"].spacing_0,
22
+ optionPaddingBottom: _coreTokens["default"].spacing_0,
23
+ optionPaddingLeft: _coreTokens["default"].spacing_16,
24
+ optionPaddingRight: _coreTokens["default"].spacing_16,
25
+ // Dropdown tokens
26
+ buttonBackgroundColor: _coreTokens["default"].color_white,
27
+ hoverButtonBackgroundColor: _coreTokens["default"].color_grey_100,
28
+ activeButtonBackgroundColor: _coreTokens["default"].color_grey_300,
29
+ buttonFontFamily: _coreTokens["default"].type_sans,
30
+ buttonFontSize: _coreTokens["default"].type_scale_03,
31
+ buttonFontStyle: _coreTokens["default"].type_normal,
32
+ buttonFontWeight: _coreTokens["default"].type_regular,
33
+ buttonFontColor: _coreTokens["default"].color_black,
34
+ buttonIconSpacing: "10px",
35
+ buttonIconColor: _coreTokens["default"].color_black,
36
+ buttonBorderStyle: _coreTokens["default"].border_none,
37
+ buttonBorderThickness: _coreTokens["default"].border_width_0,
38
+ disabledColor: _coreTokens["default"].color_grey_500,
39
+ disabledButtonBackgroundColor: _coreTokens["default"].color_transparent,
40
+ disabledButtonBorderColor: _coreTokens["default"].color_transparent,
41
+ optionBackgroundColor: _coreTokens["default"].color_white,
42
+ hoverOptionBackgroundColor: _coreTokens["default"].color_grey_100,
43
+ activeOptionBackgroundColor: _coreTokens["default"].color_grey_300,
44
+ optionFontFamily: _coreTokens["default"].type_sans,
45
+ optionFontStyle: _coreTokens["default"].type_normal,
46
+ optionFontWeight: _coreTokens["default"].type_regular,
47
+ optionFontColor: _coreTokens["default"].color_black,
48
+ optionIconSize: "20px",
49
+ optionIconSpacing: "10px",
50
+ optionIconColor: _coreTokens["default"].color_black,
51
+ caretIconSize: "24px",
52
+ caretIconColor: _coreTokens["default"].color_black,
53
+ caretIconSpacing: "12px",
54
+ borderRadius: "4px",
55
+ borderStyle: _coreTokens["default"].border_none,
56
+ borderThickness: _coreTokens["default"].border_width_0,
57
+ borderColor: _coreTokens["default"].color_transparent,
58
+ scrollBarThumbColor: _coreTokens["default"].color_grey_700,
59
+ scrollBarTrackColor: _coreTokens["default"].color_grey_300,
60
+ focusColor: _coreTokens["default"].color_blue_600
61
+ }
62
+ };
@@ -0,0 +1,16 @@
1
+ type Item = {
2
+ href?: string;
3
+ label: string;
4
+ };
5
+ type Props = {
6
+ ariaLabel?: string;
7
+ items: Array<Item>;
8
+ itemsBeforeCollapse?: number;
9
+ onItemClick?: (href: string) => void;
10
+ showRoot?: boolean;
11
+ };
12
+ export type ItemPropsType = Item & {
13
+ isCurrentPage?: boolean;
14
+ onClick?: (href: string) => void;
15
+ };
16
+ export default Props;
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
5
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
6
+ var _react = _interopRequireDefault(require("react"));
7
+ var _react2 = require("@testing-library/react");
8
+ var _axeHelper = require("../../test/accessibility/axe-helper.js");
9
+ var _BulletedList = _interopRequireDefault(require("./BulletedList"));
10
+ var icon = /*#__PURE__*/_react["default"].createElement("svg", {
11
+ xmlns: "http://www.w3.org/2000/svg",
12
+ height: "24px",
13
+ viewBox: "0 0 24 24",
14
+ width: "24px",
15
+ fill: "currentColor"
16
+ }, /*#__PURE__*/_react["default"].createElement("path", {
17
+ d: "M0 0h24v24H0V0z",
18
+ fill: "none"
19
+ }), /*#__PURE__*/_react["default"].createElement("path", {
20
+ d: "M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"
21
+ }));
22
+ describe("Bulleted List component accessibility tests", function () {
23
+ it("Should not have basic accessibility issues for disc mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
24
+ var _render, container, results;
25
+ return _regenerator["default"].wrap(function _callee$(_context) {
26
+ while (1) switch (_context.prev = _context.next) {
27
+ case 0:
28
+ _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_BulletedList["default"], {
29
+ type: "disc"
30
+ }, /*#__PURE__*/_react["default"].createElement(_BulletedList["default"].Item, null, "Code"), /*#__PURE__*/_react["default"].createElement(_BulletedList["default"].Item, null, "Usage"), /*#__PURE__*/_react["default"].createElement(_BulletedList["default"].Item, null, "Specifications"))), container = _render.container;
31
+ _context.next = 3;
32
+ return (0, _axeHelper.axe)(container);
33
+ case 3:
34
+ results = _context.sent;
35
+ expect(results).toHaveNoViolations();
36
+ case 5:
37
+ case "end":
38
+ return _context.stop();
39
+ }
40
+ }, _callee);
41
+ })));
42
+ it("Should not have basic accessibility issues for icon mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
43
+ var _render2, container, results;
44
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
45
+ while (1) switch (_context2.prev = _context2.next) {
46
+ case 0:
47
+ _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_BulletedList["default"], {
48
+ type: "icon",
49
+ icon: icon
50
+ }, /*#__PURE__*/_react["default"].createElement(_BulletedList["default"].Item, null, "Code"), /*#__PURE__*/_react["default"].createElement(_BulletedList["default"].Item, null, "Usage"), /*#__PURE__*/_react["default"].createElement(_BulletedList["default"].Item, null, "Specifications"))), container = _render2.container;
51
+ _context2.next = 3;
52
+ return (0, _axeHelper.axe)(container);
53
+ case 3:
54
+ results = _context2.sent;
55
+ expect(results).toHaveNoViolations();
56
+ case 5:
57
+ case "end":
58
+ return _context2.stop();
59
+ }
60
+ }, _callee2);
61
+ })));
62
+ it("Should not have basic accessibility issues for number mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
63
+ var _render3, container, results;
64
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
65
+ while (1) switch (_context3.prev = _context3.next) {
66
+ case 0:
67
+ _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_BulletedList["default"], {
68
+ type: "number"
69
+ }, /*#__PURE__*/_react["default"].createElement(_BulletedList["default"].Item, null, "Code"), /*#__PURE__*/_react["default"].createElement(_BulletedList["default"].Item, null, "Usage"), /*#__PURE__*/_react["default"].createElement(_BulletedList["default"].Item, null, "Specifications"))), container = _render3.container;
70
+ _context3.next = 3;
71
+ return (0, _axeHelper.axe)(container);
72
+ case 3:
73
+ results = _context3.sent;
74
+ expect(results).toHaveNoViolations();
75
+ case 5:
76
+ case "end":
77
+ return _context3.stop();
78
+ }
79
+ }, _callee3);
80
+ })));
81
+ it("Should not have basic accessibility issues for square mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
82
+ var _render4, container, results;
83
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
84
+ while (1) switch (_context4.prev = _context4.next) {
85
+ case 0:
86
+ _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_BulletedList["default"], {
87
+ type: "square"
88
+ }, /*#__PURE__*/_react["default"].createElement(_BulletedList["default"].Item, null, "Code"), /*#__PURE__*/_react["default"].createElement(_BulletedList["default"].Item, null, "Usage"), /*#__PURE__*/_react["default"].createElement(_BulletedList["default"].Item, null, "Specifications"))), container = _render4.container;
89
+ _context4.next = 3;
90
+ return (0, _axeHelper.axe)(container);
91
+ case 3:
92
+ results = _context4.sent;
93
+ expect(results).toHaveNoViolations();
94
+ case 5:
95
+ case "end":
96
+ return _context4.stop();
97
+ }
98
+ }, _callee4);
99
+ })));
100
+ it("Should not have basic accessibility issues for circle mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
101
+ var _render5, container, results;
102
+ return _regenerator["default"].wrap(function _callee5$(_context5) {
103
+ while (1) switch (_context5.prev = _context5.next) {
104
+ case 0:
105
+ _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_BulletedList["default"], {
106
+ type: "circle"
107
+ }, /*#__PURE__*/_react["default"].createElement(_BulletedList["default"].Item, null, "Code"), /*#__PURE__*/_react["default"].createElement(_BulletedList["default"].Item, null, "Usage"), /*#__PURE__*/_react["default"].createElement(_BulletedList["default"].Item, null, "Specifications"))), container = _render5.container;
108
+ _context5.next = 3;
109
+ return (0, _axeHelper.axe)(container);
110
+ case 3:
111
+ results = _context5.sent;
112
+ expect(results).toHaveNoViolations();
113
+ case 5:
114
+ case "end":
115
+ return _context5.stop();
116
+ }
117
+ }, _callee5);
118
+ })));
119
+ });
@@ -1,47 +1,32 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports["default"] = void 0;
11
-
12
9
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
-
14
- var _react = _interopRequireWildcard(require("react"));
15
-
10
+ var _react = _interopRequireDefault(require("react"));
16
11
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
17
-
18
12
  var _Flex = _interopRequireDefault(require("../flex/Flex"));
19
-
20
13
  var _Typography = _interopRequireDefault(require("../typography/Typography"));
21
-
22
14
  var _useTheme = _interopRequireDefault(require("../useTheme"));
23
-
24
- var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
25
-
15
+ var _Icon = _interopRequireDefault(require("../icon/Icon"));
26
16
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
27
-
28
- 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); }
29
-
30
- 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; }
31
-
17
+ 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); }
18
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
32
19
  var BulletedListItem = function BulletedListItem(_ref) {
33
20
  var children = _ref.children;
34
21
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, children);
35
22
  };
36
-
37
23
  var DxcBulletedList = function DxcBulletedList(_ref2) {
38
24
  var children = _ref2.children,
39
- _ref2$type = _ref2.type,
40
- type = _ref2$type === void 0 ? "disc" : _ref2$type,
41
- _ref2$icon = _ref2.icon,
42
- icon = _ref2$icon === void 0 ? "" : _ref2$icon;
25
+ _ref2$type = _ref2.type,
26
+ type = _ref2$type === void 0 ? "disc" : _ref2$type,
27
+ _ref2$icon = _ref2.icon,
28
+ icon = _ref2$icon === void 0 ? "" : _ref2$icon;
43
29
  var colorsTheme = (0, _useTheme["default"])();
44
- var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
45
30
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
46
31
  theme: colorsTheme.bulletedList
47
32
  }, /*#__PURE__*/_react["default"].createElement(ListContainer, null, /*#__PURE__*/_react["default"].createElement(_Flex["default"], {
@@ -50,45 +35,34 @@ var DxcBulletedList = function DxcBulletedList(_ref2) {
50
35
  gap: "0.125rem"
51
36
  }, _react["default"].Children.map(children, function (child, index) {
52
37
  return /*#__PURE__*/_react["default"].createElement(ListItem, null, /*#__PURE__*/_react["default"].createElement(GeneralContent, null, type === "number" ? /*#__PURE__*/_react["default"].createElement(Number, null, /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
53
- color: backgroundType && backgroundType === "dark" ? colorsTheme.bulletedList.fontColorOnDark : colorsTheme.bulletedList.fontColor
54
- }, index + 1, ".")) : type === "square" ? /*#__PURE__*/_react["default"].createElement(Bullet, null, /*#__PURE__*/_react["default"].createElement(Square, {
55
- backgroundType: backgroundType
56
- })) : type === "circle" ? /*#__PURE__*/_react["default"].createElement(Bullet, null, /*#__PURE__*/_react["default"].createElement(Circle, {
57
- backgroundType: backgroundType
58
- })) : type === "icon" ? /*#__PURE__*/_react["default"].createElement(Bullet, null, /*#__PURE__*/_react["default"].createElement(Icon, {
59
- backgroundType: backgroundType
60
- }, icon)) : /*#__PURE__*/_react["default"].createElement(Bullet, null, /*#__PURE__*/_react["default"].createElement(Disc, {
61
- backgroundType: backgroundType
62
- })), /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
63
- color: backgroundType && backgroundType === "dark" ? colorsTheme.bulletedList.fontColorOnDark : colorsTheme.bulletedList.fontColor
38
+ color: colorsTheme.bulletedList.fontColor
39
+ }, index + 1, ".")) : type === "square" ? /*#__PURE__*/_react["default"].createElement(Bullet, null, /*#__PURE__*/_react["default"].createElement(Square, null)) : type === "circle" ? /*#__PURE__*/_react["default"].createElement(Bullet, null, /*#__PURE__*/_react["default"].createElement(Circle, null)) : type === "icon" ? /*#__PURE__*/_react["default"].createElement(Bullet, null, /*#__PURE__*/_react["default"].createElement(Icon, null, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
40
+ icon: icon
41
+ }) : icon)) : /*#__PURE__*/_react["default"].createElement(Bullet, null, /*#__PURE__*/_react["default"].createElement(Disc, null)), /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
42
+ color: colorsTheme.bulletedList.fontColor
64
43
  }, child)));
65
44
  }))));
66
45
  };
67
-
68
46
  DxcBulletedList.Item = BulletedListItem;
69
-
70
47
  var ListContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n ul,\n ol {\n padding: 0;\n margin: 0;\n }\n"])));
71
-
72
48
  var Bullet = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-self: flex-start;\n align-items: center;\n height: 1.5rem;\n"])));
73
-
74
49
  var GeneralContent = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: grid;\n grid-template-columns: auto 1fr;\n align-items: center;\n"])));
75
-
76
- var Icon = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n height: 1.5rem;\n width: auto;\n margin-right: ", ";\n align-content: center;\n color: ", ";\n & > svg {\n height: ", ";\n width: ", ";\n }\n"])), function (props) {
50
+ var Icon = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n height: 1.5rem;\n width: auto;\n margin-right: ", ";\n align-content: center;\n color: ", ";\n\n font-size: ", ";\n svg {\n height: ", ";\n width: ", ";\n }\n"])), function (props) {
77
51
  return props.theme.bulletMarginRight;
78
52
  }, function (props) {
79
- return props.backgroundType && props.backgroundType === "dark" ? props.theme.fontColorOnDark : props.theme.fontColor;
53
+ return props.theme.fontColor;
54
+ }, function (props) {
55
+ return props.theme.bulletIconHeight;
80
56
  }, function (props) {
81
57
  return props.theme.bulletIconHeight;
82
58
  }, function (props) {
83
59
  return props.theme.bulletIconWidth;
84
60
  });
85
-
86
61
  var Number = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n user-select: none;\n margin-right: ", ";\n display: flex;\n box-sizing: border-box;\n align-self: flex-start;\n min-width: 0;\n"])), function (props) {
87
62
  return props.theme.bulletMarginRight;
88
63
  });
89
-
90
64
  var Square = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n height: ", ";\n width: ", ";\n margin-right: ", ";\n"])), function (props) {
91
- return props.backgroundType && props.backgroundType === "dark" ? props.theme.fontColorOnDark : props.theme.fontColor;
65
+ return props.theme.fontColor;
92
66
  }, function (props) {
93
67
  return props.theme.bulletHeight;
94
68
  }, function (props) {
@@ -96,19 +70,17 @@ var Square = _styledComponents["default"].div(_templateObject6 || (_templateObje
96
70
  }, function (props) {
97
71
  return props.theme.bulletMarginRight;
98
72
  });
99
-
100
73
  var Circle = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n height: ", ";\n width: ", ";\n border-radius: 50%;\n border: 1px solid;\n border-color: ", ";\n margin-right: ", ";\n"])), function (props) {
101
74
  return props.theme.bulletHeight;
102
75
  }, function (props) {
103
76
  return props.theme.bulletWidth;
104
77
  }, function (props) {
105
- return props.backgroundType && props.backgroundType === "dark" ? props.theme.fontColorOnDark : props.theme.fontColor;
78
+ return props.theme.fontColor;
106
79
  }, function (props) {
107
80
  return props.theme.bulletMarginRight;
108
81
  });
109
-
110
82
  var Disc = _styledComponents["default"].div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n height: ", ";\n width: ", ";\n border-radius: 50%;\n margin-right: ", ";\n"])), function (props) {
111
- return props.backgroundType && props.backgroundType === "dark" ? props.theme.fontColorOnDark : props.theme.fontColor;
83
+ return props.theme.fontColor;
112
84
  }, function (props) {
113
85
  return props.theme.bulletHeight;
114
86
  }, function (props) {
@@ -116,8 +88,5 @@ var Disc = _styledComponents["default"].div(_templateObject8 || (_templateObject
116
88
  }, function (props) {
117
89
  return props.theme.bulletMarginRight;
118
90
  });
119
-
120
- var ListItem = _styledComponents["default"].li(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n margin: 0px;\n padding: 0px;\n list-style: none;\n display: flex;\n font-size: 1em;\n"])));
121
-
122
- var _default = DxcBulletedList;
123
- exports["default"] = _default;
91
+ var ListItem = _styledComponents["default"].li(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n margin: 0px;\n padding: 0px;\n list-style: none;\n font-size: 1em;\n"])));
92
+ var _default = exports["default"] = DxcBulletedList;