@dxc-technology/halstack-react 0.0.0-9e54008 → 0.0.0-9f6fced

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 (354) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +4 -21
  3. package/HalstackContext.d.ts +54 -144
  4. package/HalstackContext.js +11 -36
  5. package/README.md +47 -0
  6. package/accordion/Accordion.accessibility.test.js +71 -0
  7. package/accordion/Accordion.js +33 -87
  8. package/accordion/Accordion.stories.tsx +8 -64
  9. package/accordion/Accordion.test.js +18 -33
  10. package/accordion/types.d.ts +6 -6
  11. package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
  12. package/accordion-group/AccordionGroup.d.ts +2 -3
  13. package/accordion-group/AccordionGroup.js +17 -44
  14. package/accordion-group/AccordionGroup.stories.tsx +24 -24
  15. package/accordion-group/AccordionGroup.test.js +42 -60
  16. package/accordion-group/AccordionGroupAccordion.js +11 -23
  17. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  18. package/accordion-group/AccordionGroupContext.js +8 -0
  19. package/accordion-group/types.d.ts +7 -7
  20. package/action-icon/ActionIcon.accessibility.test.js +63 -0
  21. package/action-icon/ActionIcon.d.ts +4 -0
  22. package/action-icon/ActionIcon.js +48 -0
  23. package/action-icon/ActionIcon.stories.tsx +41 -0
  24. package/action-icon/ActionIcon.test.js +64 -0
  25. package/action-icon/types.d.ts +26 -0
  26. package/alert/Alert.accessibility.test.js +95 -0
  27. package/alert/Alert.js +34 -120
  28. package/alert/Alert.test.js +28 -45
  29. package/alert/types.d.ts +5 -5
  30. package/badge/Badge.accessibility.test.js +129 -0
  31. package/badge/Badge.d.ts +1 -1
  32. package/badge/Badge.js +142 -42
  33. package/badge/Badge.stories.tsx +210 -0
  34. package/badge/Badge.test.js +30 -0
  35. package/badge/types.d.ts +52 -3
  36. package/bleed/Bleed.js +13 -21
  37. package/bleed/types.d.ts +2 -2
  38. package/box/Box.accessibility.test.js +33 -0
  39. package/box/Box.js +11 -33
  40. package/box/Box.test.js +1 -6
  41. package/box/types.d.ts +3 -3
  42. package/breadcrumbs/Breadcrumbs.accessibility.test.d.ts +1 -0
  43. package/breadcrumbs/Breadcrumbs.accessibility.test.js +96 -0
  44. package/breadcrumbs/Breadcrumbs.d.ts +4 -0
  45. package/breadcrumbs/Breadcrumbs.js +79 -0
  46. package/breadcrumbs/Breadcrumbs.stories.tsx +194 -0
  47. package/breadcrumbs/Breadcrumbs.test.d.ts +1 -0
  48. package/breadcrumbs/Breadcrumbs.test.js +169 -0
  49. package/breadcrumbs/Item.d.ts +4 -0
  50. package/breadcrumbs/Item.js +52 -0
  51. package/breadcrumbs/dropdownTheme.d.ts +53 -0
  52. package/breadcrumbs/dropdownTheme.js +62 -0
  53. package/breadcrumbs/types.d.ts +16 -0
  54. package/bulleted-list/BulletedList.accessibility.test.js +119 -0
  55. package/bulleted-list/BulletedList.js +22 -55
  56. package/bulleted-list/BulletedList.stories.tsx +2 -93
  57. package/bulleted-list/types.d.ts +5 -5
  58. package/button/Button.accessibility.test.js +127 -0
  59. package/button/Button.d.ts +1 -1
  60. package/button/Button.js +68 -100
  61. package/button/Button.stories.tsx +35 -135
  62. package/button/Button.test.js +19 -16
  63. package/button/types.d.ts +9 -5
  64. package/card/Card.accessibility.test.js +36 -0
  65. package/card/Card.js +23 -45
  66. package/card/Card.test.js +10 -21
  67. package/card/types.d.ts +5 -5
  68. package/checkbox/Checkbox.accessibility.test.js +87 -0
  69. package/checkbox/Checkbox.js +88 -126
  70. package/checkbox/Checkbox.stories.tsx +16 -54
  71. package/checkbox/Checkbox.test.js +107 -63
  72. package/checkbox/types.d.ts +8 -4
  73. package/chip/Chip.accessibility.test.js +67 -0
  74. package/chip/Chip.js +22 -36
  75. package/chip/Chip.stories.tsx +10 -25
  76. package/chip/Chip.test.js +17 -30
  77. package/chip/types.d.ts +4 -4
  78. package/common/coreTokens.d.ts +105 -14
  79. package/common/coreTokens.js +41 -24
  80. package/common/utils.js +2 -8
  81. package/common/variables.d.ts +54 -144
  82. package/common/variables.js +128 -225
  83. package/container/Container.d.ts +4 -0
  84. package/container/Container.js +194 -0
  85. package/container/Container.stories.tsx +214 -0
  86. package/container/types.d.ts +74 -0
  87. package/container/types.js +5 -0
  88. package/contextual-menu/ContextualMenu.accessibility.test.js +97 -0
  89. package/contextual-menu/ContextualMenu.d.ts +5 -0
  90. package/contextual-menu/ContextualMenu.js +88 -0
  91. package/contextual-menu/ContextualMenu.stories.tsx +232 -0
  92. package/contextual-menu/ContextualMenu.test.js +205 -0
  93. package/contextual-menu/GroupItem.d.ts +4 -0
  94. package/contextual-menu/GroupItem.js +67 -0
  95. package/contextual-menu/ItemAction.d.ts +4 -0
  96. package/contextual-menu/ItemAction.js +51 -0
  97. package/contextual-menu/MenuItem.d.ts +4 -0
  98. package/contextual-menu/MenuItem.js +29 -0
  99. package/contextual-menu/SingleItem.d.ts +4 -0
  100. package/contextual-menu/SingleItem.js +38 -0
  101. package/contextual-menu/types.d.ts +58 -0
  102. package/contextual-menu/types.js +5 -0
  103. package/date-input/Calendar.js +15 -59
  104. package/date-input/DateInput.accessibility.test.js +228 -0
  105. package/date-input/DateInput.js +54 -104
  106. package/date-input/DateInput.stories.tsx +19 -31
  107. package/date-input/DateInput.test.js +674 -701
  108. package/date-input/DatePicker.js +23 -48
  109. package/date-input/YearPicker.js +8 -34
  110. package/date-input/types.d.ts +28 -22
  111. package/dialog/Dialog.accessibility.test.js +69 -0
  112. package/dialog/Dialog.js +21 -59
  113. package/dialog/Dialog.stories.tsx +176 -0
  114. package/dialog/Dialog.test.js +126 -188
  115. package/dialog/types.d.ts +18 -13
  116. package/divider/Divider.accessibility.test.js +33 -0
  117. package/divider/Divider.d.ts +4 -0
  118. package/divider/Divider.js +36 -0
  119. package/divider/Divider.stories.tsx +223 -0
  120. package/divider/Divider.test.js +38 -0
  121. package/divider/types.d.ts +21 -0
  122. package/divider/types.js +5 -0
  123. package/dropdown/Dropdown.accessibility.test.js +180 -0
  124. package/dropdown/Dropdown.js +66 -135
  125. package/dropdown/Dropdown.stories.tsx +15 -26
  126. package/dropdown/Dropdown.test.js +402 -389
  127. package/dropdown/DropdownMenu.js +12 -23
  128. package/dropdown/DropdownMenuItem.js +13 -21
  129. package/dropdown/types.d.ts +20 -24
  130. package/file-input/FileInput.accessibility.test.js +160 -0
  131. package/file-input/FileInput.js +179 -286
  132. package/file-input/FileInput.stories.tsx +1 -1
  133. package/file-input/FileInput.test.js +293 -354
  134. package/file-input/FileItem.js +30 -67
  135. package/file-input/types.d.ts +9 -9
  136. package/flex/Flex.js +25 -39
  137. package/flex/types.d.ts +6 -6
  138. package/footer/Footer.accessibility.test.js +125 -0
  139. package/footer/Footer.d.ts +1 -1
  140. package/footer/Footer.js +73 -103
  141. package/footer/Footer.stories.tsx +76 -8
  142. package/footer/Footer.test.js +21 -33
  143. package/footer/Icons.d.ts +3 -2
  144. package/footer/Icons.js +53 -22
  145. package/footer/types.d.ts +26 -22
  146. package/grid/Grid.d.ts +1 -1
  147. package/grid/Grid.js +2 -17
  148. package/grid/Grid.stories.tsx +38 -38
  149. package/grid/types.d.ts +10 -10
  150. package/header/Header.accessibility.test.js +93 -0
  151. package/header/Header.d.ts +1 -1
  152. package/header/Header.js +38 -104
  153. package/header/Header.stories.tsx +16 -0
  154. package/header/Header.test.js +12 -25
  155. package/header/Icons.d.ts +2 -2
  156. package/header/Icons.js +3 -13
  157. package/header/types.d.ts +7 -8
  158. package/heading/Heading.accessibility.test.js +33 -0
  159. package/heading/Heading.js +9 -31
  160. package/heading/Heading.test.js +70 -87
  161. package/heading/types.d.ts +7 -7
  162. package/icon/Icon.accessibility.test.js +30 -0
  163. package/icon/Icon.d.ts +4 -0
  164. package/icon/Icon.js +33 -0
  165. package/icon/Icon.stories.tsx +28 -0
  166. package/icon/types.d.ts +4 -0
  167. package/icon/types.js +5 -0
  168. package/image/Image.accessibility.test.js +56 -0
  169. package/image/Image.d.ts +4 -0
  170. package/image/Image.js +70 -0
  171. package/image/Image.stories.tsx +129 -0
  172. package/image/types.d.ts +72 -0
  173. package/image/types.js +5 -0
  174. package/inset/Inset.js +13 -21
  175. package/inset/types.d.ts +2 -2
  176. package/layout/ApplicationLayout.d.ts +2 -2
  177. package/layout/ApplicationLayout.js +35 -69
  178. package/layout/ApplicationLayout.stories.tsx +1 -1
  179. package/layout/Icons.d.ts +7 -5
  180. package/layout/Icons.js +41 -59
  181. package/layout/types.d.ts +3 -3
  182. package/link/Link.accessibility.test.js +108 -0
  183. package/link/Link.js +28 -47
  184. package/link/Link.stories.tsx +4 -4
  185. package/link/Link.test.js +23 -41
  186. package/link/types.d.ts +14 -14
  187. package/main.d.ts +9 -4
  188. package/main.js +46 -59
  189. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  190. package/nav-tabs/NavTabs.d.ts +1 -2
  191. package/nav-tabs/NavTabs.js +19 -48
  192. package/nav-tabs/NavTabs.stories.tsx +30 -25
  193. package/nav-tabs/NavTabs.test.js +45 -50
  194. package/nav-tabs/NavTabsContext.d.ts +3 -0
  195. package/nav-tabs/NavTabsContext.js +8 -0
  196. package/nav-tabs/Tab.js +38 -67
  197. package/nav-tabs/types.d.ts +10 -10
  198. package/number-input/NumberInput.accessibility.test.js +228 -0
  199. package/number-input/NumberInput.js +46 -36
  200. package/number-input/NumberInput.stories.tsx +42 -26
  201. package/number-input/NumberInput.test.js +859 -412
  202. package/number-input/NumberInputContext.d.ts +3 -4
  203. package/number-input/NumberInputContext.js +3 -14
  204. package/number-input/types.d.ts +17 -5
  205. package/package.json +42 -40
  206. package/paginator/Paginator.accessibility.test.js +79 -0
  207. package/paginator/Paginator.js +27 -52
  208. package/paginator/Paginator.test.js +224 -207
  209. package/paginator/types.d.ts +3 -3
  210. package/paragraph/Paragraph.accessibility.test.js +28 -0
  211. package/paragraph/Paragraph.js +3 -19
  212. package/paragraph/Paragraph.stories.tsx +0 -17
  213. package/password-input/PasswordInput.accessibility.test.js +153 -0
  214. package/password-input/PasswordInput.js +58 -127
  215. package/password-input/PasswordInput.stories.tsx +1 -33
  216. package/password-input/PasswordInput.test.js +157 -140
  217. package/password-input/types.d.ts +8 -7
  218. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  219. package/progress-bar/ProgressBar.js +26 -56
  220. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +1 -1
  221. package/progress-bar/ProgressBar.test.js +35 -52
  222. package/progress-bar/types.d.ts +3 -3
  223. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  224. package/quick-nav/QuickNav.js +4 -27
  225. package/quick-nav/QuickNav.stories.tsx +1 -1
  226. package/quick-nav/types.d.ts +10 -10
  227. package/radio-group/Radio.d.ts +1 -1
  228. package/radio-group/Radio.js +22 -57
  229. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  230. package/radio-group/RadioGroup.js +40 -88
  231. package/radio-group/RadioGroup.stories.tsx +10 -10
  232. package/radio-group/RadioGroup.test.js +504 -472
  233. package/radio-group/types.d.ts +8 -8
  234. package/resultset-table/Icons.d.ts +7 -0
  235. package/{resultsetTable → resultset-table}/Icons.js +1 -5
  236. package/resultset-table/ResultsetTable.accessibility.test.js +285 -0
  237. package/resultset-table/ResultsetTable.d.ts +7 -0
  238. package/{resultsetTable → resultset-table}/ResultsetTable.js +45 -69
  239. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +118 -5
  240. package/{resultsetTable → resultset-table}/ResultsetTable.test.js +148 -92
  241. package/{resultsetTable → resultset-table}/types.d.ts +44 -11
  242. package/resultset-table/types.js +5 -0
  243. package/select/Listbox.js +36 -54
  244. package/select/Option.js +28 -36
  245. package/select/Select.accessibility.test.js +228 -0
  246. package/select/Select.js +110 -177
  247. package/select/Select.stories.tsx +59 -111
  248. package/select/Select.test.js +1895 -1858
  249. package/select/types.d.ts +15 -16
  250. package/sidenav/Sidenav.accessibility.test.js +59 -0
  251. package/sidenav/Sidenav.js +44 -81
  252. package/sidenav/Sidenav.stories.tsx +4 -9
  253. package/sidenav/Sidenav.test.js +3 -10
  254. package/{layout → sidenav}/SidenavContext.d.ts +1 -1
  255. package/{layout → sidenav}/SidenavContext.js +3 -9
  256. package/sidenav/types.d.ts +20 -20
  257. package/slider/Slider.accessibility.test.js +104 -0
  258. package/slider/Slider.js +66 -125
  259. package/slider/Slider.stories.tsx +0 -60
  260. package/slider/Slider.test.js +107 -103
  261. package/slider/types.d.ts +4 -4
  262. package/spinner/Spinner.accessibility.test.js +96 -0
  263. package/spinner/Spinner.js +21 -55
  264. package/spinner/Spinner.test.js +25 -34
  265. package/spinner/types.d.ts +3 -3
  266. package/status-light/StatusLight.accessibility.test.js +157 -0
  267. package/status-light/StatusLight.d.ts +4 -0
  268. package/status-light/StatusLight.js +51 -0
  269. package/status-light/StatusLight.stories.tsx +74 -0
  270. package/status-light/StatusLight.test.js +25 -0
  271. package/status-light/types.d.ts +17 -0
  272. package/status-light/types.js +5 -0
  273. package/switch/Switch.accessibility.test.js +98 -0
  274. package/switch/Switch.js +49 -100
  275. package/switch/Switch.stories.tsx +12 -34
  276. package/switch/Switch.test.js +51 -96
  277. package/switch/types.d.ts +4 -4
  278. package/table/DropdownTheme.js +62 -0
  279. package/table/Table.accessibility.test.js +93 -0
  280. package/table/Table.d.ts +6 -2
  281. package/table/Table.js +76 -33
  282. package/table/{Table.stories.jsx → Table.stories.tsx} +309 -2
  283. package/table/Table.test.js +93 -6
  284. package/table/types.d.ts +34 -6
  285. package/tabs/Tab.js +22 -37
  286. package/tabs/Tabs.accessibility.test.js +56 -0
  287. package/tabs/Tabs.js +59 -147
  288. package/tabs/Tabs.stories.tsx +8 -4
  289. package/tabs/Tabs.test.js +57 -131
  290. package/tabs/types.d.ts +21 -21
  291. package/tag/Tag.accessibility.test.js +69 -0
  292. package/tag/Tag.js +27 -57
  293. package/tag/Tag.stories.tsx +4 -7
  294. package/tag/Tag.test.js +17 -36
  295. package/tag/types.d.ts +9 -9
  296. package/text-input/Suggestion.js +9 -26
  297. package/text-input/Suggestions.d.ts +1 -1
  298. package/text-input/Suggestions.js +30 -70
  299. package/text-input/TextInput.accessibility.test.js +321 -0
  300. package/text-input/TextInput.js +221 -326
  301. package/text-input/TextInput.stories.tsx +65 -160
  302. package/text-input/TextInput.test.js +1227 -1194
  303. package/text-input/types.d.ts +25 -17
  304. package/textarea/Textarea.accessibility.test.js +155 -0
  305. package/textarea/Textarea.js +67 -111
  306. package/textarea/{Textarea.stories.jsx → Textarea.stories.tsx} +58 -100
  307. package/textarea/Textarea.test.js +150 -179
  308. package/textarea/types.d.ts +9 -5
  309. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  310. package/toggle-group/ToggleGroup.js +90 -109
  311. package/toggle-group/ToggleGroup.stories.tsx +10 -7
  312. package/toggle-group/ToggleGroup.test.js +68 -87
  313. package/toggle-group/types.d.ts +28 -19
  314. package/typography/Typography.accessibility.test.js +339 -0
  315. package/typography/Typography.js +4 -13
  316. package/typography/types.d.ts +1 -1
  317. package/useTheme.d.ts +51 -141
  318. package/useTheme.js +1 -8
  319. package/useTranslatedLabels.js +1 -7
  320. package/utils/BaseTypography.d.ts +2 -2
  321. package/utils/BaseTypography.js +16 -30
  322. package/utils/FocusLock.js +25 -39
  323. package/wizard/Wizard.accessibility.test.js +55 -0
  324. package/wizard/Wizard.js +27 -73
  325. package/wizard/Wizard.stories.tsx +19 -0
  326. package/wizard/Wizard.test.js +53 -80
  327. package/wizard/types.d.ts +8 -8
  328. package/common/OpenSans.css +0 -69
  329. package/common/fonts/OpenSans-Bold.ttf +0 -0
  330. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  331. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  332. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  333. package/common/fonts/OpenSans-Italic.ttf +0 -0
  334. package/common/fonts/OpenSans-Light.ttf +0 -0
  335. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  336. package/common/fonts/OpenSans-Regular.ttf +0 -0
  337. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  338. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  339. package/date-input/Icons.d.ts +0 -6
  340. package/date-input/Icons.js +0 -75
  341. package/number-input/numberInputContextTypes.d.ts +0 -19
  342. package/paginator/Icons.d.ts +0 -5
  343. package/paginator/Icons.js +0 -54
  344. package/resultsetTable/Icons.d.ts +0 -7
  345. package/resultsetTable/ResultsetTable.d.ts +0 -4
  346. package/select/Icons.d.ts +0 -10
  347. package/select/Icons.js +0 -93
  348. package/sidenav/Icons.d.ts +0 -7
  349. package/sidenav/Icons.js +0 -51
  350. package/text-input/Icons.d.ts +0 -8
  351. package/text-input/Icons.js +0 -60
  352. /package/{resultsetTable → action-icon}/types.js +0 -0
  353. /package/{number-input/numberInputContextTypes.js → breadcrumbs/types.js} +0 -0
  354. /package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +0 -0
@@ -1,64 +1,55 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _react = _interopRequireDefault(require("react"));
6
-
7
5
  var _react2 = require("@testing-library/react");
8
-
9
6
  var _Spinner = _interopRequireDefault(require("./Spinner.tsx"));
10
-
11
7
  describe("Spinner component tests", function () {
12
8
  test("Spinner renders with correct label", function () {
13
9
  var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
14
- label: "test-loading"
15
- })),
16
- getByText = _render.getByText;
17
-
10
+ label: "test-loading"
11
+ })),
12
+ getByText = _render.getByText;
18
13
  expect(getByText("test-loading")).toBeTruthy();
19
14
  });
20
15
  test("Spinner shows value correctly", function () {
21
16
  var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
22
- label: "test-loading",
23
- value: 75,
24
- showValue: true
25
- })),
26
- getByText = _render2.getByText;
27
-
17
+ label: "test-loading",
18
+ value: 75,
19
+ showValue: true
20
+ })),
21
+ getByText = _render2.getByText;
28
22
  expect(getByText("75%")).toBeTruthy();
29
23
  });
30
24
  test("Small spinner hides value and label correctly", function () {
31
25
  var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
32
- mode: "small",
33
- label: "test-loading",
34
- value: 75,
35
- showValue: true
36
- })),
37
- queryByText = _render3.queryByText;
38
-
26
+ mode: "small",
27
+ label: "test-loading",
28
+ value: 75,
29
+ showValue: true
30
+ })),
31
+ queryByText = _render3.queryByText;
39
32
  expect(queryByText("test-loading")).toBeFalsy();
40
33
  expect(queryByText("75%")).toBeFalsy();
41
34
  });
42
35
  test("Overlay spinner shows value and label correctly", function () {
43
36
  var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
44
- mode: "overlay",
45
- label: "test-loading",
46
- value: 75,
47
- showValue: true
48
- })),
49
- getByText = _render4.getByText;
50
-
37
+ mode: "overlay",
38
+ label: "test-loading",
39
+ value: 75,
40
+ showValue: true
41
+ })),
42
+ getByText = _render4.getByText;
51
43
  expect(getByText("test-loading")).toBeTruthy();
52
44
  expect(getByText("75%")).toBeTruthy();
53
45
  });
54
46
  test("Get spinner by role", function () {
55
47
  var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
56
- label: "test-loading",
57
- value: 75,
58
- showValue: true
59
- })),
60
- getByRole = _render5.getByRole;
61
-
48
+ label: "test-loading",
49
+ value: 75,
50
+ showValue: true
51
+ })),
52
+ getByRole = _render5.getByRole;
62
53
  expect(getByRole("progressbar")).toBeTruthy();
63
54
  });
64
55
  });
@@ -1,11 +1,11 @@
1
- declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
2
- declare type Margin = {
1
+ type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
2
+ type Margin = {
3
3
  top?: Space;
4
4
  bottom?: Space;
5
5
  left?: Space;
6
6
  right?: Space;
7
7
  };
8
- declare type Props = {
8
+ type Props = {
9
9
  /**
10
10
  * Text to be placed inside the spinner.
11
11
  */
@@ -0,0 +1,157 @@
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 _StatusLight = _interopRequireDefault(require("./StatusLight.tsx"));
10
+ var _Flex = _interopRequireDefault(require("../flex/Flex.tsx"));
11
+ describe("StatusLight component accessibility tests", function () {
12
+ it("Should not have basic accessibility issues for default mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
13
+ var _render, container, results;
14
+ return _regenerator["default"].wrap(function _callee$(_context) {
15
+ while (1) switch (_context.prev = _context.next) {
16
+ case 0:
17
+ _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Flex["default"], null, /*#__PURE__*/_react["default"].createElement(_StatusLight["default"], {
18
+ label: "Status Light Test",
19
+ mode: "default",
20
+ size: "large"
21
+ }), /*#__PURE__*/_react["default"].createElement(_StatusLight["default"], {
22
+ label: "Status Light Test",
23
+ mode: "default",
24
+ size: "medium"
25
+ }), /*#__PURE__*/_react["default"].createElement(_StatusLight["default"], {
26
+ label: "Status Light Test",
27
+ mode: "default",
28
+ size: "small"
29
+ }))), container = _render.container;
30
+ _context.next = 3;
31
+ return (0, _axeHelper.axe)(container);
32
+ case 3:
33
+ results = _context.sent;
34
+ expect(results).toHaveNoViolations();
35
+ case 5:
36
+ case "end":
37
+ return _context.stop();
38
+ }
39
+ }, _callee);
40
+ })));
41
+ it("Should not have basic accessibility issues for error mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
42
+ var _render2, container, results;
43
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
44
+ while (1) switch (_context2.prev = _context2.next) {
45
+ case 0:
46
+ _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Flex["default"], null, /*#__PURE__*/_react["default"].createElement(_StatusLight["default"], {
47
+ label: "Status Light Test",
48
+ mode: "error",
49
+ size: "large"
50
+ }), /*#__PURE__*/_react["default"].createElement(_StatusLight["default"], {
51
+ label: "Status Light Test",
52
+ mode: "error",
53
+ size: "medium"
54
+ }), /*#__PURE__*/_react["default"].createElement(_StatusLight["default"], {
55
+ label: "Status Light Test",
56
+ mode: "error",
57
+ size: "small"
58
+ }))), container = _render2.container;
59
+ _context2.next = 3;
60
+ return (0, _axeHelper.axe)(container);
61
+ case 3:
62
+ results = _context2.sent;
63
+ expect(results).toHaveNoViolations();
64
+ case 5:
65
+ case "end":
66
+ return _context2.stop();
67
+ }
68
+ }, _callee2);
69
+ })));
70
+ it("Should not have basic accessibility issues for info mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
71
+ var _render3, container, results;
72
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
73
+ while (1) switch (_context3.prev = _context3.next) {
74
+ case 0:
75
+ _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Flex["default"], null, /*#__PURE__*/_react["default"].createElement(_StatusLight["default"], {
76
+ label: "Status Light Test",
77
+ mode: "info",
78
+ size: "large"
79
+ }), /*#__PURE__*/_react["default"].createElement(_StatusLight["default"], {
80
+ label: "Status Light Test",
81
+ mode: "info",
82
+ size: "medium"
83
+ }), /*#__PURE__*/_react["default"].createElement(_StatusLight["default"], {
84
+ label: "Status Light Test",
85
+ mode: "info",
86
+ size: "small"
87
+ }))), container = _render3.container;
88
+ _context3.next = 3;
89
+ return (0, _axeHelper.axe)(container);
90
+ case 3:
91
+ results = _context3.sent;
92
+ expect(results).toHaveNoViolations();
93
+ case 5:
94
+ case "end":
95
+ return _context3.stop();
96
+ }
97
+ }, _callee3);
98
+ })));
99
+ it("Should not have basic accessibility issues for success mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
100
+ var _render4, container, results;
101
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
102
+ while (1) switch (_context4.prev = _context4.next) {
103
+ case 0:
104
+ _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Flex["default"], null, /*#__PURE__*/_react["default"].createElement(_StatusLight["default"], {
105
+ label: "Status Light Test",
106
+ mode: "success",
107
+ size: "large"
108
+ }), /*#__PURE__*/_react["default"].createElement(_StatusLight["default"], {
109
+ label: "Status Light Test",
110
+ mode: "success",
111
+ size: "medium"
112
+ }), /*#__PURE__*/_react["default"].createElement(_StatusLight["default"], {
113
+ label: "Status Light Test",
114
+ mode: "success",
115
+ size: "small"
116
+ }))), container = _render4.container;
117
+ _context4.next = 3;
118
+ return (0, _axeHelper.axe)(container);
119
+ case 3:
120
+ results = _context4.sent;
121
+ expect(results).toHaveNoViolations();
122
+ case 5:
123
+ case "end":
124
+ return _context4.stop();
125
+ }
126
+ }, _callee4);
127
+ })));
128
+ it("Should not have basic accessibility issues for warning mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
129
+ var _render5, container, results;
130
+ return _regenerator["default"].wrap(function _callee5$(_context5) {
131
+ while (1) switch (_context5.prev = _context5.next) {
132
+ case 0:
133
+ _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Flex["default"], null, /*#__PURE__*/_react["default"].createElement(_StatusLight["default"], {
134
+ label: "Status Light Test",
135
+ mode: "warning",
136
+ size: "large"
137
+ }), /*#__PURE__*/_react["default"].createElement(_StatusLight["default"], {
138
+ label: "Status Light Test",
139
+ mode: "warning",
140
+ size: "medium"
141
+ }), /*#__PURE__*/_react["default"].createElement(_StatusLight["default"], {
142
+ label: "Status Light Test",
143
+ mode: "warning",
144
+ size: "small"
145
+ }))), container = _render5.container;
146
+ _context5.next = 3;
147
+ return (0, _axeHelper.axe)(container);
148
+ case 3:
149
+ results = _context5.sent;
150
+ expect(results).toHaveNoViolations();
151
+ case 5:
152
+ case "end":
153
+ return _context5.stop();
154
+ }
155
+ }, _callee5);
156
+ })));
157
+ });
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import StatusLightPropsType from "./types";
3
+ declare const DxcStatusLight: ({ mode, label, size }: StatusLightPropsType) => JSX.Element;
4
+ export default DxcStatusLight;
@@ -0,0 +1,51 @@
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 _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
11
+ var _coreTokens = _interopRequireDefault(require("../common/coreTokens"));
12
+ var _templateObject, _templateObject2, _templateObject3;
13
+ var DxcStatusLight = function DxcStatusLight(_ref) {
14
+ var _ref$mode = _ref.mode,
15
+ mode = _ref$mode === void 0 ? "default" : _ref$mode,
16
+ label = _ref.label,
17
+ _ref$size = _ref.size,
18
+ size = _ref$size === void 0 ? "medium" : _ref$size;
19
+ return /*#__PURE__*/_react["default"].createElement(StatusLightContainer, {
20
+ size: size,
21
+ "aria-label": "".concat(mode, ": ").concat(label),
22
+ "data-testid": "status_light-container"
23
+ }, /*#__PURE__*/_react["default"].createElement(StatusDot, {
24
+ mode: mode,
25
+ size: size,
26
+ "aria-hidden": "true",
27
+ "data-testid": "status-dot"
28
+ }), /*#__PURE__*/_react["default"].createElement(StatusLabel, {
29
+ mode: mode,
30
+ size: size
31
+ }, label));
32
+ };
33
+ var StatusLightContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n align-items: center;\n gap: ", ";\n"])), _coreTokens["default"].spacing_8);
34
+ var StatusDot = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n border-radius: 50%;\n background-color: ", ";\n"])), function (_ref2) {
35
+ var size = _ref2.size;
36
+ return size === "small" && _coreTokens["default"].type_scale_01 || size === "medium" && _coreTokens["default"].type_scale_02 || size === "large" && _coreTokens["default"].type_scale_03 || _coreTokens["default"].type_scale_02;
37
+ }, function (_ref3) {
38
+ var size = _ref3.size;
39
+ return size === "small" && _coreTokens["default"].type_scale_01 || size === "medium" && _coreTokens["default"].type_scale_02 || size === "large" && _coreTokens["default"].type_scale_03 || _coreTokens["default"].type_scale_02;
40
+ }, function (_ref4) {
41
+ var mode = _ref4.mode;
42
+ return mode === "default" && _coreTokens["default"].color_grey_700 || mode === "error" && _coreTokens["default"].color_red_700 || mode === "info" && _coreTokens["default"].color_blue_700 || mode === "success" && _coreTokens["default"].color_green_700 || mode === "warning" && _coreTokens["default"].color_orange_700 || _coreTokens["default"].color_grey_700;
43
+ });
44
+ var StatusLabel = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n font-size: ", ";\n font-family: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n text-align: center;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n"])), function (_ref5) {
45
+ var size = _ref5.size;
46
+ return size === "small" && _coreTokens["default"].type_scale_01 || size === "medium" && _coreTokens["default"].type_scale_02 || size === "large" && _coreTokens["default"].type_scale_03 || _coreTokens["default"].type_scale_02;
47
+ }, _coreTokens["default"].type_sans, _coreTokens["default"].type_normal, _coreTokens["default"].type_semibold, function (_ref6) {
48
+ var mode = _ref6.mode;
49
+ return mode === "default" && _coreTokens["default"].color_grey_700 || mode === "error" && _coreTokens["default"].color_red_700 || mode === "info" && _coreTokens["default"].color_blue_700 || mode === "success" && _coreTokens["default"].color_green_700 || mode === "warning" && _coreTokens["default"].color_orange_700 || _coreTokens["default"].color_grey_700;
50
+ });
51
+ var _default = exports["default"] = DxcStatusLight;
@@ -0,0 +1,74 @@
1
+ import React from "react";
2
+ import Title from "../../.storybook/components/Title";
3
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
4
+ import DxcStatusLight from "./StatusLight";
5
+
6
+ export default {
7
+ title: "Status Light",
8
+ component: DxcStatusLight,
9
+ };
10
+
11
+ export const Chromatic = () => (
12
+ <>
13
+ <ExampleContainer>
14
+ <Title title="Default light small" theme="light" level={4} />
15
+ <DxcStatusLight label="StatusLight" size="small" />
16
+ </ExampleContainer>
17
+ <ExampleContainer>
18
+ <Title title="Default light medium" theme="light" level={4} />
19
+ <DxcStatusLight label="StatusLight" />
20
+ </ExampleContainer>
21
+ <ExampleContainer>
22
+ <Title title="Default light large" theme="light" level={4} />
23
+ <DxcStatusLight label="StatusLight" size="large" />
24
+ </ExampleContainer>
25
+ <ExampleContainer>
26
+ <Title title="Info light small" theme="light" level={4} />
27
+ <DxcStatusLight label="StatusLight" mode="info" size="small" />
28
+ </ExampleContainer>
29
+ <ExampleContainer>
30
+ <Title title="Info light medium" theme="light" level={4} />
31
+ <DxcStatusLight label="StatusLight" mode="info" />
32
+ </ExampleContainer>
33
+ <ExampleContainer>
34
+ <Title title="Info light large" theme="light" level={4} />
35
+ <DxcStatusLight label="StatusLight" mode="info" size="large" />
36
+ </ExampleContainer>
37
+ <ExampleContainer>
38
+ <Title title="Success light small" theme="light" level={4} />
39
+ <DxcStatusLight label="StatusLight" mode="success" size="small" />
40
+ </ExampleContainer>
41
+ <ExampleContainer>
42
+ <Title title="Success lights medium" theme="light" level={4} />
43
+ <DxcStatusLight label="StatusLight" mode="success" />
44
+ </ExampleContainer>
45
+ <ExampleContainer>
46
+ <Title title="Success lights large" theme="light" level={4} />
47
+ <DxcStatusLight label="StatusLight" mode="success" size="large" />
48
+ </ExampleContainer>
49
+ <ExampleContainer>
50
+ <Title title="Warning light small" theme="light" level={4} />
51
+ <DxcStatusLight label="StatusLight" mode="warning" size="small" />
52
+ </ExampleContainer>
53
+ <ExampleContainer>
54
+ <Title title="Warning light medium" theme="light" level={4} />
55
+ <DxcStatusLight label="StatusLight" mode="warning" />
56
+ </ExampleContainer>
57
+ <ExampleContainer>
58
+ <Title title="Warning light large" theme="light" level={4} />
59
+ <DxcStatusLight label="StatusLight" mode="warning" size="large" />
60
+ </ExampleContainer>
61
+ <ExampleContainer>
62
+ <Title title="Error light small" theme="light" level={4} />
63
+ <DxcStatusLight label="StatusLight" mode="error" size="small" />
64
+ </ExampleContainer>
65
+ <ExampleContainer>
66
+ <Title title="Error lights medium" theme="light" level={4} />
67
+ <DxcStatusLight label="StatusLight" mode="error" />
68
+ </ExampleContainer>
69
+ <ExampleContainer>
70
+ <Title title="Error lights large" theme="light" level={4} />
71
+ <DxcStatusLight label="StatusLight" mode="error" size="large" />
72
+ </ExampleContainer>
73
+ </>
74
+ );
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _react = _interopRequireDefault(require("react"));
5
+ var _react2 = require("@testing-library/react");
6
+ var _StatusLight = _interopRequireDefault(require("./StatusLight.tsx"));
7
+ describe("StatusLight component tests", function () {
8
+ test("StatusLight renders with correct label", function () {
9
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_StatusLight["default"], {
10
+ label: "Status Light Test"
11
+ })),
12
+ getByText = _render.getByText;
13
+ expect(getByText("Status Light Test")).toBeTruthy();
14
+ });
15
+ test("StatusLight applies accessibility attributes", function () {
16
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_StatusLight["default"], {
17
+ label: "Status Light Test"
18
+ })),
19
+ getByTestId = _render2.getByTestId;
20
+ var statusLightContainer = getByTestId("status_light-container");
21
+ var statusDot = getByTestId("status-dot");
22
+ expect(statusLightContainer.getAttribute("aria-label")).toBe("default: Status Light Test");
23
+ expect(statusDot.getAttribute("aria-hidden")).toBe("true");
24
+ });
25
+ });
@@ -0,0 +1,17 @@
1
+ type Mode = "default" | "info" | "success" | "warning" | "error";
2
+ type Size = "small" | "medium" | "large";
3
+ type Props = {
4
+ /**
5
+ * It will define the color of the light based on its semantic meaning.
6
+ */
7
+ mode?: Mode;
8
+ /**
9
+ * An auxiliar text that will add some context to the status.
10
+ */
11
+ label: string;
12
+ /**
13
+ * Size of the component. Should be defined based on its importance and/or available space.
14
+ */
15
+ size?: Size;
16
+ };
17
+ export default Props;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,98 @@
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 _Switch = _interopRequireDefault(require("./Switch.tsx"));
10
+ var _disabledRules = require("../../test/accessibility/rules/specific/switch/disabledRules.js");
11
+ var disabledRules = {
12
+ rules: _disabledRules.disabledRules.reduce(function (rulesObj, rule) {
13
+ rulesObj[rule] = {
14
+ enabled: false
15
+ };
16
+ return rulesObj;
17
+ }, {})
18
+ };
19
+ describe("Switch component accessibility tests", function () {
20
+ it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
21
+ var _render, container, results;
22
+ return _regenerator["default"].wrap(function _callee$(_context) {
23
+ while (1) switch (_context.prev = _context.next) {
24
+ case 0:
25
+ _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
26
+ label: "Default label",
27
+ defaultChecked: true,
28
+ value: "test-defaultChecked",
29
+ name: "test",
30
+ labelPosition: "after",
31
+ margin: "medium",
32
+ size: "medium",
33
+ checked: true
34
+ })), container = _render.container;
35
+ _context.next = 3;
36
+ return (0, _axeHelper.axe)(container, disabledRules);
37
+ case 3:
38
+ results = _context.sent;
39
+ expect(results).toHaveNoViolations();
40
+ case 5:
41
+ case "end":
42
+ return _context.stop();
43
+ }
44
+ }, _callee);
45
+ })));
46
+ it("Should not have basic accessibility issues for optional mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
47
+ var _render2, container, results;
48
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
49
+ while (1) switch (_context2.prev = _context2.next) {
50
+ case 0:
51
+ _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
52
+ label: "Default label",
53
+ defaultChecked: true,
54
+ value: "test-defaultChecked",
55
+ name: "test",
56
+ labelPosition: "after",
57
+ margin: "medium",
58
+ size: "medium",
59
+ optional: true
60
+ })), container = _render2.container;
61
+ _context2.next = 3;
62
+ return (0, _axeHelper.axe)(container, disabledRules);
63
+ case 3:
64
+ results = _context2.sent;
65
+ expect(results).toHaveNoViolations();
66
+ case 5:
67
+ case "end":
68
+ return _context2.stop();
69
+ }
70
+ }, _callee2);
71
+ })));
72
+ it("Should not have basic accessibility issues for disabled mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
73
+ var _render3, container, results;
74
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
75
+ while (1) switch (_context3.prev = _context3.next) {
76
+ case 0:
77
+ _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
78
+ label: "Default label",
79
+ defaultChecked: true,
80
+ value: "test-defaultChecked",
81
+ name: "test",
82
+ labelPosition: "after",
83
+ margin: "medium",
84
+ size: "medium",
85
+ disabled: true
86
+ })), container = _render3.container;
87
+ _context3.next = 3;
88
+ return (0, _axeHelper.axe)(container, disabledRules);
89
+ case 3:
90
+ results = _context3.sent;
91
+ expect(results).toHaveNoViolations();
92
+ case 5:
93
+ case "end":
94
+ return _context3.stop();
95
+ }
96
+ }, _callee3);
97
+ })));
98
+ });