@dxc-technology/halstack-react 0.0.0-f2bad31 → 0.0.0-f319e71

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 (330) hide show
  1. package/BackgroundColorContext.js +1 -1
  2. package/HalstackContext.d.ts +2 -5
  3. package/HalstackContext.js +6 -6
  4. package/accordion/Accordion.accessibility.test.d.ts +1 -0
  5. package/accordion/Accordion.accessibility.test.js +4 -4
  6. package/accordion/Accordion.js +9 -10
  7. package/accordion/Accordion.stories.tsx +4 -14
  8. package/accordion/Accordion.test.d.ts +1 -0
  9. package/accordion/Accordion.test.js +3 -3
  10. package/accordion-group/AccordionGroup.accessibility.test.d.ts +1 -0
  11. package/accordion-group/AccordionGroup.accessibility.test.js +11 -17
  12. package/accordion-group/AccordionGroup.js +1 -1
  13. package/accordion-group/AccordionGroup.stories.tsx +23 -23
  14. package/accordion-group/AccordionGroup.test.d.ts +1 -0
  15. package/accordion-group/AccordionGroup.test.js +5 -9
  16. package/accordion-group/AccordionGroupAccordion.js +1 -1
  17. package/action-icon/ActionIcon.accessibility.test.d.ts +1 -0
  18. package/action-icon/ActionIcon.accessibility.test.js +4 -4
  19. package/action-icon/ActionIcon.test.d.ts +1 -0
  20. package/action-icon/ActionIcon.test.js +1 -1
  21. package/alert/Alert.accessibility.test.d.ts +1 -0
  22. package/alert/Alert.accessibility.test.js +6 -6
  23. package/alert/Alert.js +6 -3
  24. package/alert/Alert.test.d.ts +1 -0
  25. package/alert/Alert.test.js +1 -1
  26. package/badge/Badge.accessibility.test.d.ts +1 -0
  27. package/badge/Badge.accessibility.test.js +5 -5
  28. package/badge/Badge.js +6 -4
  29. package/badge/Badge.stories.tsx +11 -11
  30. package/badge/Badge.test.d.ts +1 -0
  31. package/badge/Badge.test.js +2 -2
  32. package/badge/types.d.ts +1 -1
  33. package/box/Box.accessibility.test.d.ts +1 -0
  34. package/box/Box.accessibility.test.js +3 -3
  35. package/box/Box.js +1 -1
  36. package/box/Box.test.d.ts +1 -0
  37. package/box/Box.test.js +1 -1
  38. package/breadcrumbs/Breadcrumbs.accessibility.test.d.ts +1 -0
  39. package/breadcrumbs/Breadcrumbs.accessibility.test.js +96 -0
  40. package/breadcrumbs/Breadcrumbs.d.ts +4 -0
  41. package/breadcrumbs/Breadcrumbs.js +79 -0
  42. package/breadcrumbs/Breadcrumbs.stories.tsx +194 -0
  43. package/breadcrumbs/Breadcrumbs.test.d.ts +1 -0
  44. package/breadcrumbs/Breadcrumbs.test.js +168 -0
  45. package/breadcrumbs/Item.d.ts +4 -0
  46. package/breadcrumbs/Item.js +52 -0
  47. package/breadcrumbs/dropdownTheme.d.ts +53 -0
  48. package/breadcrumbs/dropdownTheme.js +62 -0
  49. package/breadcrumbs/types.d.ts +16 -0
  50. package/breadcrumbs/types.js +5 -0
  51. package/bulleted-list/BulletedList.accessibility.test.d.ts +1 -0
  52. package/bulleted-list/BulletedList.accessibility.test.js +18 -6
  53. package/bulleted-list/BulletedList.js +2 -2
  54. package/button/Button.accessibility.test.d.ts +1 -0
  55. package/button/Button.accessibility.test.js +6 -6
  56. package/button/Button.js +1 -1
  57. package/button/Button.stories.tsx +3 -3
  58. package/button/Button.test.d.ts +1 -0
  59. package/button/Button.test.js +1 -1
  60. package/card/Card.accessibility.test.d.ts +1 -0
  61. package/card/Card.accessibility.test.js +3 -3
  62. package/card/Card.js +3 -2
  63. package/card/Card.stories.tsx +1 -1
  64. package/card/Card.test.d.ts +1 -0
  65. package/card/Card.test.js +1 -1
  66. package/checkbox/Checkbox.accessibility.test.d.ts +1 -0
  67. package/checkbox/Checkbox.accessibility.test.js +5 -5
  68. package/checkbox/Checkbox.js +10 -13
  69. package/checkbox/Checkbox.test.d.ts +1 -0
  70. package/checkbox/Checkbox.test.js +1 -1
  71. package/chip/Chip.accessibility.test.d.ts +1 -0
  72. package/chip/Chip.accessibility.test.js +4 -4
  73. package/chip/Chip.js +3 -1
  74. package/chip/Chip.stories.tsx +1 -1
  75. package/chip/Chip.test.d.ts +1 -0
  76. package/chip/Chip.test.js +1 -1
  77. package/common/coreTokens.js +3 -3
  78. package/common/variables.d.ts +2 -5
  79. package/common/variables.js +68 -71
  80. package/container/Container.stories.tsx +3 -3
  81. package/contextual-menu/ContextualMenu.accessibility.test.d.ts +1 -0
  82. package/contextual-menu/ContextualMenu.accessibility.test.js +15 -3
  83. package/contextual-menu/ContextualMenu.d.ts +3 -5
  84. package/contextual-menu/ContextualMenu.js +89 -52
  85. package/contextual-menu/ContextualMenu.stories.tsx +115 -74
  86. package/contextual-menu/ContextualMenu.test.d.ts +1 -0
  87. package/contextual-menu/ContextualMenu.test.js +200 -24
  88. package/contextual-menu/GroupItem.d.ts +4 -0
  89. package/contextual-menu/GroupItem.js +67 -0
  90. package/contextual-menu/ItemAction.d.ts +4 -0
  91. package/contextual-menu/ItemAction.js +50 -0
  92. package/contextual-menu/MenuItem.d.ts +4 -0
  93. package/contextual-menu/MenuItem.js +29 -0
  94. package/contextual-menu/SingleItem.d.ts +4 -0
  95. package/contextual-menu/SingleItem.js +38 -0
  96. package/contextual-menu/types.d.ts +50 -11
  97. package/date-input/Calendar.js +47 -31
  98. package/date-input/DateInput.accessibility.test.d.ts +1 -0
  99. package/date-input/DateInput.accessibility.test.js +24 -11
  100. package/date-input/DateInput.js +28 -23
  101. package/date-input/DateInput.stories.tsx +18 -12
  102. package/date-input/DateInput.test.d.ts +1 -0
  103. package/date-input/DateInput.test.js +39 -39
  104. package/date-input/DatePicker.js +13 -7
  105. package/date-input/YearPicker.js +10 -5
  106. package/dialog/Dialog.accessibility.test.d.ts +1 -0
  107. package/dialog/Dialog.accessibility.test.js +5 -5
  108. package/dialog/Dialog.js +9 -20
  109. package/dialog/Dialog.stories.tsx +8 -4
  110. package/dialog/Dialog.test.d.ts +1 -0
  111. package/dialog/Dialog.test.js +111 -48
  112. package/divider/Divider.accessibility.test.d.ts +1 -0
  113. package/divider/Divider.accessibility.test.js +2 -2
  114. package/divider/Divider.stories.tsx +2 -1
  115. package/divider/Divider.test.d.ts +1 -0
  116. package/dropdown/Dropdown.accessibility.test.d.ts +1 -0
  117. package/dropdown/Dropdown.accessibility.test.js +12 -9
  118. package/dropdown/Dropdown.js +16 -15
  119. package/dropdown/Dropdown.stories.tsx +11 -11
  120. package/dropdown/Dropdown.test.d.ts +1 -0
  121. package/dropdown/Dropdown.test.js +101 -72
  122. package/dropdown/DropdownMenu.js +4 -4
  123. package/dropdown/DropdownMenuItem.js +2 -1
  124. package/file-input/FileInput.accessibility.test.d.ts +1 -0
  125. package/file-input/FileInput.accessibility.test.js +30 -23
  126. package/file-input/FileInput.js +6 -47
  127. package/file-input/FileInput.test.d.ts +1 -0
  128. package/file-input/FileInput.test.js +51 -106
  129. package/file-input/FileItem.js +18 -28
  130. package/file-input/types.d.ts +0 -4
  131. package/footer/Footer.accessibility.test.d.ts +1 -0
  132. package/footer/Footer.accessibility.test.js +13 -5
  133. package/footer/Footer.js +8 -6
  134. package/footer/Footer.stories.tsx +39 -1
  135. package/footer/Footer.test.d.ts +1 -0
  136. package/footer/Footer.test.js +1 -1
  137. package/footer/Icons.js +2 -30
  138. package/footer/types.d.ts +1 -1
  139. package/grid/Grid.stories.tsx +3 -1
  140. package/header/Header.accessibility.test.d.ts +1 -0
  141. package/header/Header.accessibility.test.js +16 -6
  142. package/header/Header.js +12 -22
  143. package/header/Header.stories.tsx +17 -1
  144. package/header/Header.test.d.ts +1 -0
  145. package/header/Header.test.js +1 -1
  146. package/header/Icons.js +1 -6
  147. package/heading/Heading.accessibility.test.d.ts +1 -0
  148. package/heading/Heading.accessibility.test.js +3 -3
  149. package/heading/Heading.js +1 -1
  150. package/heading/Heading.test.d.ts +1 -0
  151. package/heading/Heading.test.js +1 -14
  152. package/icon/Icon.accessibility.test.d.ts +1 -0
  153. package/icon/Icon.accessibility.test.js +2 -2
  154. package/icon/Icon.js +1 -1
  155. package/icon/Icon.stories.tsx +1 -1
  156. package/image/Image.accessibility.test.d.ts +1 -0
  157. package/image/Image.accessibility.test.js +3 -3
  158. package/image/Image.js +1 -1
  159. package/layout/ApplicationLayout.js +9 -6
  160. package/layout/Icons.d.ts +0 -1
  161. package/layout/Icons.js +1 -9
  162. package/link/Link.accessibility.test.d.ts +1 -0
  163. package/link/Link.accessibility.test.js +8 -12
  164. package/link/Link.js +8 -6
  165. package/link/Link.stories.tsx +4 -4
  166. package/link/Link.test.d.ts +1 -0
  167. package/link/Link.test.js +1 -1
  168. package/link/types.d.ts +1 -1
  169. package/main.d.ts +2 -1
  170. package/main.js +8 -1
  171. package/nav-tabs/NavTabs.accessibility.test.d.ts +1 -0
  172. package/nav-tabs/NavTabs.accessibility.test.js +8 -16
  173. package/nav-tabs/NavTabs.js +19 -4
  174. package/nav-tabs/NavTabs.stories.tsx +41 -23
  175. package/nav-tabs/NavTabs.test.d.ts +1 -0
  176. package/nav-tabs/NavTabs.test.js +10 -9
  177. package/nav-tabs/Tab.js +17 -18
  178. package/nav-tabs/types.d.ts +1 -1
  179. package/number-input/NumberInput.accessibility.test.d.ts +1 -0
  180. package/number-input/NumberInput.accessibility.test.js +9 -10
  181. package/number-input/NumberInput.js +6 -3
  182. package/number-input/NumberInput.stories.tsx +11 -16
  183. package/number-input/NumberInput.test.d.ts +1 -0
  184. package/number-input/NumberInput.test.js +6 -7
  185. package/package.json +25 -20
  186. package/paginator/Paginator.accessibility.test.d.ts +1 -0
  187. package/paginator/Paginator.accessibility.test.js +4 -5
  188. package/paginator/Paginator.js +13 -10
  189. package/paginator/Paginator.test.d.ts +1 -0
  190. package/paginator/Paginator.test.js +2 -3
  191. package/paragraph/Paragraph.accessibility.test.d.ts +1 -0
  192. package/paragraph/Paragraph.accessibility.test.js +2 -2
  193. package/password-input/PasswordInput.accessibility.test.d.ts +1 -0
  194. package/password-input/PasswordInput.accessibility.test.js +7 -8
  195. package/password-input/PasswordInput.js +11 -8
  196. package/password-input/PasswordInput.stories.tsx +10 -1
  197. package/password-input/PasswordInput.test.d.ts +1 -0
  198. package/password-input/PasswordInput.test.js +6 -7
  199. package/progress-bar/ProgressBar.accessibility.test.d.ts +1 -0
  200. package/progress-bar/ProgressBar.accessibility.test.js +3 -3
  201. package/progress-bar/ProgressBar.js +6 -4
  202. package/progress-bar/ProgressBar.test.d.ts +1 -0
  203. package/progress-bar/ProgressBar.test.js +1 -1
  204. package/quick-nav/QuickNav.accessibility.test.d.ts +1 -0
  205. package/quick-nav/QuickNav.accessibility.test.js +2 -2
  206. package/quick-nav/QuickNav.js +1 -1
  207. package/radio-group/Radio.js +6 -9
  208. package/radio-group/RadioGroup.accessibility.test.d.ts +1 -0
  209. package/radio-group/RadioGroup.accessibility.test.js +4 -4
  210. package/radio-group/RadioGroup.js +14 -16
  211. package/radio-group/RadioGroup.test.d.ts +1 -0
  212. package/radio-group/RadioGroup.test.js +3 -5
  213. package/resultset-table/ResultsetTable.accessibility.test.d.ts +1 -0
  214. package/resultset-table/ResultsetTable.accessibility.test.js +16 -6
  215. package/resultset-table/ResultsetTable.js +36 -11
  216. package/resultset-table/ResultsetTable.stories.tsx +14 -2
  217. package/resultset-table/ResultsetTable.test.d.ts +1 -0
  218. package/resultset-table/ResultsetTable.test.js +103 -34
  219. package/select/Listbox.js +24 -16
  220. package/select/Option.js +12 -10
  221. package/select/Select.accessibility.test.d.ts +1 -0
  222. package/select/Select.accessibility.test.js +18 -8
  223. package/select/Select.js +41 -29
  224. package/select/Select.stories.tsx +69 -111
  225. package/select/Select.test.d.ts +1 -0
  226. package/select/Select.test.js +371 -474
  227. package/select/types.d.ts +1 -1
  228. package/sidenav/Sidenav.accessibility.test.d.ts +1 -0
  229. package/sidenav/Sidenav.accessibility.test.js +3 -3
  230. package/sidenav/Sidenav.js +16 -12
  231. package/sidenav/Sidenav.stories.tsx +5 -9
  232. package/sidenav/Sidenav.test.d.ts +1 -0
  233. package/sidenav/Sidenav.test.js +1 -1
  234. package/sidenav/types.d.ts +2 -2
  235. package/slider/Slider.accessibility.test.d.ts +1 -0
  236. package/slider/Slider.accessibility.test.js +5 -6
  237. package/slider/Slider.js +11 -13
  238. package/slider/Slider.stories.tsx +180 -0
  239. package/slider/Slider.test.d.ts +1 -0
  240. package/slider/Slider.test.js +13 -11
  241. package/spinner/Spinner.accessibility.test.d.ts +1 -0
  242. package/spinner/Spinner.accessibility.test.js +6 -6
  243. package/spinner/Spinner.js +6 -2
  244. package/spinner/Spinner.test.d.ts +1 -0
  245. package/spinner/Spinner.test.js +1 -1
  246. package/status-light/StatusLight.accessibility.test.d.ts +1 -0
  247. package/status-light/StatusLight.accessibility.test.js +8 -8
  248. package/status-light/StatusLight.test.d.ts +1 -0
  249. package/status-light/StatusLight.test.js +1 -1
  250. package/switch/Switch.accessibility.test.d.ts +1 -0
  251. package/switch/Switch.accessibility.test.js +14 -5
  252. package/switch/Switch.js +6 -9
  253. package/switch/Switch.stories.tsx +12 -0
  254. package/switch/Switch.test.d.ts +1 -0
  255. package/switch/Switch.test.js +1 -1
  256. package/table/Table.accessibility.test.d.ts +1 -0
  257. package/table/Table.accessibility.test.js +16 -6
  258. package/table/Table.js +1 -1
  259. package/table/Table.stories.tsx +13 -1
  260. package/table/Table.test.d.ts +1 -0
  261. package/table/Table.test.js +2 -4
  262. package/tabs/Tab.js +6 -5
  263. package/tabs/Tabs.accessibility.test.d.ts +1 -0
  264. package/tabs/Tabs.accessibility.test.js +3 -3
  265. package/tabs/Tabs.js +9 -20
  266. package/tabs/Tabs.stories.tsx +7 -3
  267. package/tabs/Tabs.test.d.ts +1 -0
  268. package/tabs/Tabs.test.js +20 -38
  269. package/tabs/types.d.ts +2 -2
  270. package/tag/Tag.accessibility.test.d.ts +1 -0
  271. package/tag/Tag.accessibility.test.js +4 -4
  272. package/tag/Tag.js +7 -7
  273. package/tag/Tag.stories.tsx +5 -8
  274. package/tag/Tag.test.d.ts +1 -0
  275. package/tag/Tag.test.js +5 -13
  276. package/tag/types.d.ts +2 -2
  277. package/text-input/Suggestion.js +1 -1
  278. package/text-input/Suggestions.js +14 -6
  279. package/text-input/TextInput.accessibility.test.d.ts +1 -0
  280. package/text-input/TextInput.accessibility.test.js +11 -12
  281. package/text-input/TextInput.js +29 -25
  282. package/text-input/TextInput.stories.tsx +19 -7
  283. package/text-input/TextInput.test.d.ts +1 -0
  284. package/text-input/TextInput.test.js +2 -3
  285. package/textarea/Textarea.accessibility.test.d.ts +1 -0
  286. package/textarea/Textarea.accessibility.test.js +7 -7
  287. package/textarea/Textarea.js +14 -13
  288. package/textarea/Textarea.test.d.ts +1 -0
  289. package/textarea/Textarea.test.js +1 -1
  290. package/toggle-group/ToggleGroup.accessibility.test.d.ts +1 -0
  291. package/toggle-group/ToggleGroup.accessibility.test.js +5 -5
  292. package/toggle-group/ToggleGroup.js +10 -12
  293. package/toggle-group/ToggleGroup.stories.tsx +4 -4
  294. package/toggle-group/ToggleGroup.test.d.ts +1 -0
  295. package/toggle-group/ToggleGroup.test.js +1 -1
  296. package/toggle-group/types.d.ts +2 -2
  297. package/tooltip/Tooltip.accessibility.test.d.ts +1 -0
  298. package/tooltip/Tooltip.accessibility.test.js +144 -0
  299. package/tooltip/Tooltip.d.ts +4 -0
  300. package/tooltip/Tooltip.js +50 -0
  301. package/tooltip/Tooltip.stories.tsx +111 -0
  302. package/tooltip/Tooltip.test.d.ts +1 -0
  303. package/tooltip/Tooltip.test.js +112 -0
  304. package/tooltip/types.d.ts +16 -0
  305. package/tooltip/types.js +5 -0
  306. package/typography/Typography.accessibility.test.d.ts +1 -0
  307. package/typography/Typography.accessibility.test.js +12 -12
  308. package/typography/Typography.stories.tsx +1 -3
  309. package/useTheme.d.ts +2 -5
  310. package/utils/BaseTypography.js +1 -1
  311. package/utils/FocusLock.js +3 -2
  312. package/wizard/Wizard.accessibility.test.d.ts +1 -0
  313. package/wizard/Wizard.accessibility.test.js +3 -3
  314. package/wizard/Wizard.js +14 -25
  315. package/wizard/Wizard.stories.tsx +20 -1
  316. package/wizard/Wizard.test.d.ts +1 -0
  317. package/wizard/Wizard.test.js +1 -1
  318. package/wizard/types.d.ts +1 -1
  319. package/contextual-menu/MenuItemAction.d.ts +0 -4
  320. package/contextual-menu/MenuItemAction.js +0 -46
  321. package/date-input/Icons.d.ts +0 -6
  322. package/date-input/Icons.js +0 -58
  323. package/paginator/Icons.d.ts +0 -5
  324. package/paginator/Icons.js +0 -40
  325. package/password-input/Icons.d.ts +0 -6
  326. package/password-input/Icons.js +0 -35
  327. package/select/Icons.d.ts +0 -10
  328. package/select/Icons.js +0 -89
  329. package/sidenav/Icons.d.ts +0 -7
  330. package/sidenav/Icons.js +0 -47
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import { userEvent, within } from "@storybook/testing-library";
2
+ import { userEvent, within } from "@storybook/test";
3
3
  import Title from "../../.storybook/components/Title";
4
4
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
5
  import DxcTextInput from "./TextInput";
@@ -7,6 +7,7 @@ import Suggestions from "./Suggestions";
7
7
  import { ThemeProvider } from "styled-components";
8
8
  import useTheme from "../useTheme";
9
9
  import { HalstackProvider } from "../HalstackContext";
10
+ import DxcFlex from "../flex/Flex";
10
11
 
11
12
  export default {
12
13
  title: "Text Input",
@@ -21,6 +22,7 @@ const action = {
21
22
  <path 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" />
22
23
  </svg>
23
24
  ),
25
+ title: "Copy",
24
26
  };
25
27
 
26
28
  const actionLargeIconSVG = {
@@ -31,11 +33,13 @@ const actionLargeIconSVG = {
31
33
  <path d="M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67z" />
32
34
  </svg>
33
35
  ),
36
+ title: "Clock",
34
37
  };
35
38
 
36
39
  const actionLargeIconURL = {
37
40
  onClick: () => {},
38
41
  icon: "search",
42
+ title: "Search",
39
43
  };
40
44
 
41
45
  const country = ["Afghanistan"];
@@ -265,6 +269,14 @@ export const Chromatic = () => (
265
269
  <Title title="FillParent size" theme="light" level={4} />
266
270
  <DxcTextInput label="FillParent" size="fillParent" />
267
271
  </ExampleContainer>
272
+ <ExampleContainer>
273
+ <Title title="Different sizes inside a flex" theme="light" level={4} />
274
+ <DxcFlex justifyContent="space-between" gap="1.5rem">
275
+ <DxcTextInput label="Text input" size="fillParent" />
276
+ <DxcTextInput label="Text input" size="medium" />
277
+ <DxcTextInput label="Text input" size="large" />
278
+ </DxcFlex>
279
+ </ExampleContainer>
268
280
  <Title title="Opinionated theme" theme="light" level={2} />
269
281
  <ExampleContainer>
270
282
  <HalstackProvider theme={opinionatedTheme}>
@@ -371,7 +383,7 @@ const AutosuggestListbox = () => {
371
383
  <ExampleContainer pseudoState="pseudo-hover">
372
384
  <Title title="Hovered suggestion" theme="light" level={4} />
373
385
  <Suggestions
374
- id="x"
386
+ id="x1"
375
387
  value=""
376
388
  suggestions={country}
377
389
  visualFocusIndex={-1}
@@ -385,7 +397,7 @@ const AutosuggestListbox = () => {
385
397
  <ExampleContainer pseudoState="pseudo-active">
386
398
  <Title title="Active suggestion" theme="light" level={4} />
387
399
  <Suggestions
388
- id="x"
400
+ id="x2"
389
401
  value=""
390
402
  suggestions={country}
391
403
  visualFocusIndex={-1}
@@ -399,7 +411,7 @@ const AutosuggestListbox = () => {
399
411
  <ExampleContainer>
400
412
  <Title title="Focused suggestion" theme="light" level={4} />
401
413
  <Suggestions
402
- id="x"
414
+ id="x3"
403
415
  value=""
404
416
  suggestions={country}
405
417
  visualFocusIndex={0}
@@ -413,7 +425,7 @@ const AutosuggestListbox = () => {
413
425
  <ExampleContainer>
414
426
  <Title title="Highlighted suggestion" theme="light" level={4} />
415
427
  <Suggestions
416
- id="x"
428
+ id="x4"
417
429
  value="Afgh"
418
430
  suggestions={country}
419
431
  visualFocusIndex={-1}
@@ -428,7 +440,7 @@ const AutosuggestListbox = () => {
428
440
  <ExampleContainer>
429
441
  <Title title="Autosuggest Error" theme="light" level={3} />
430
442
  <Suggestions
431
- id="x"
443
+ id="x5"
432
444
  value=""
433
445
  suggestions={country}
434
446
  visualFocusIndex={-1}
@@ -442,7 +454,7 @@ const AutosuggestListbox = () => {
442
454
  <ExampleContainer>
443
455
  <Title title="Autosuggest Searching message" theme="light" level={3} />
444
456
  <Suggestions
445
- id="x"
457
+ id="x6"
446
458
  value=""
447
459
  suggestions={country}
448
460
  visualFocusIndex={-1}
@@ -0,0 +1 @@
1
+ export {};
@@ -8,7 +8,7 @@ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/creat
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _react2 = require("@testing-library/react");
10
10
  var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
11
- var _TextInput = _interopRequireDefault(require("./TextInput.tsx"));
11
+ var _TextInput = _interopRequireDefault(require("./TextInput"));
12
12
  // Mocking DOMRect for Radix Primitive Popover
13
13
  global.globalThis = global;
14
14
  global.DOMRect = {
@@ -27,7 +27,7 @@ global.ResizeObserver = /*#__PURE__*/function () {
27
27
  function ResizeObserver() {
28
28
  (0, _classCallCheck2["default"])(this, ResizeObserver);
29
29
  }
30
- (0, _createClass2["default"])(ResizeObserver, [{
30
+ return (0, _createClass2["default"])(ResizeObserver, [{
31
31
  key: "observe",
32
32
  value: function observe() {}
33
33
  }, {
@@ -37,7 +37,6 @@ global.ResizeObserver = /*#__PURE__*/function () {
37
37
  key: "disconnect",
38
38
  value: function disconnect() {}
39
39
  }]);
40
- return ResizeObserver;
41
40
  }();
42
41
  var countries = ["Afghanistan", "Albania", "Algeria", "Andorra", "Angola", "Antigua and Barbuda", "Bahamas", "Bahrain", "Bangladesh", "Barbados", "Cabo Verde", "Cambodia", "Cameroon", "Canada", "Cayman Islands, The", "Central African Republic", "Chad", "Democratic Republic of the Congo", "Dominican Republic", "Dominica", "Denmark", "Djibouti"];
43
42
  var specialCharacters = ["/", "\\", "*", "(", ")", "[", "]", "+", "?", "*{[]}|"];
@@ -0,0 +1 @@
1
+ export {};
@@ -5,8 +5,8 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
5
5
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
6
6
  var _react = _interopRequireDefault(require("react"));
7
7
  var _react2 = require("@testing-library/react");
8
- var _jestAxe = require("jest-axe");
9
- var _Textarea = _interopRequireDefault(require("./Textarea.tsx"));
8
+ var _axeHelper = require("../../test/accessibility/axe-helper.js");
9
+ var _Textarea = _interopRequireDefault(require("./Textarea"));
10
10
  describe("Textarea component accessibility tests", function () {
11
11
  it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
12
12
  var _render, container, results;
@@ -27,7 +27,7 @@ describe("Textarea component accessibility tests", function () {
27
27
  optional: true
28
28
  })), container = _render.container;
29
29
  _context.next = 3;
30
- return (0, _jestAxe.axe)(container);
30
+ return (0, _axeHelper.axe)(container);
31
31
  case 3:
32
32
  results = _context.sent;
33
33
  expect(results).toHaveNoViolations();
@@ -56,7 +56,7 @@ describe("Textarea component accessibility tests", function () {
56
56
  pattern: "^.*(?=.*[a-zA-Z])(?=.*)(?=.*[!&$%&? \"]).*$"
57
57
  })), container = _render2.container;
58
58
  _context2.next = 3;
59
- return (0, _jestAxe.axe)(container);
59
+ return (0, _axeHelper.axe)(container);
60
60
  case 3:
61
61
  results = _context2.sent;
62
62
  expect(results).toHaveNoViolations();
@@ -84,7 +84,7 @@ describe("Textarea component accessibility tests", function () {
84
84
  maxLength: 100
85
85
  })), container = _render3.container;
86
86
  _context3.next = 3;
87
- return (0, _jestAxe.axe)(container);
87
+ return (0, _axeHelper.axe)(container);
88
88
  case 3:
89
89
  results = _context3.sent;
90
90
  expect(results).toHaveNoViolations();
@@ -113,7 +113,7 @@ describe("Textarea component accessibility tests", function () {
113
113
  disabled: true
114
114
  })), container = _render4.container;
115
115
  _context4.next = 3;
116
- return (0, _jestAxe.axe)(container);
116
+ return (0, _axeHelper.axe)(container);
117
117
  case 3:
118
118
  results = _context4.sent;
119
119
  expect(results).toHaveNoViolations();
@@ -142,7 +142,7 @@ describe("Textarea component accessibility tests", function () {
142
142
  readOnly: true
143
143
  })), container = _render5.container;
144
144
  _context5.next = 3;
145
- return (0, _jestAxe.axe)(container);
145
+ return (0, _axeHelper.axe)(container);
146
146
  case 3:
147
147
  results = _context5.sent;
148
148
  expect(results).toHaveNoViolations();
@@ -15,10 +15,9 @@ var _utils = require("../common/utils");
15
15
  var _useTheme = _interopRequireDefault(require("../useTheme"));
16
16
  var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
17
17
  var _variables = require("../common/variables");
18
- var _uuid = require("uuid");
19
18
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
20
19
  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); }
21
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
20
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(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; }
22
21
  var patternMatch = function patternMatch(pattern, value) {
23
22
  return new RegExp(pattern).test(value);
24
23
  };
@@ -59,12 +58,11 @@ var DxcTextarea = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref)
59
58
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
60
59
  innerValue = _useState2[0],
61
60
  setInnerValue = _useState2[1];
62
- var _useState3 = (0, _react.useState)("textarea-".concat((0, _uuid.v4)())),
63
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 1),
64
- textareaId = _useState4[0];
61
+ var textareaId = "textarea-".concat((0, _react.useId)());
65
62
  var colorsTheme = (0, _useTheme["default"])();
66
63
  var translatedLabels = (0, _useTranslatedLabels["default"])();
67
64
  var textareaRef = (0, _react.useRef)(null);
65
+ var prevValueRef = (0, _react.useRef)(null);
68
66
  var errorId = "error-".concat(textareaId);
69
67
  var isNotOptional = function isNotOptional(value) {
70
68
  return value === "" && !optional;
@@ -87,13 +85,6 @@ var DxcTextarea = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref)
87
85
  value: newValue
88
86
  });
89
87
  };
90
- var autoVerticalGrow = function autoVerticalGrow() {
91
- var textareaLineHeight = parseInt(window.getComputedStyle(textareaRef.current)["line-height"]);
92
- var textareaPaddingTopBottom = parseInt(window.getComputedStyle(textareaRef.current)["padding-top"]) * 2;
93
- textareaRef.current.style.height = "".concat(textareaLineHeight * rows, "px");
94
- var newHeight = textareaRef.current.scrollHeight - textareaPaddingTopBottom;
95
- textareaRef.current.style.height = "".concat(newHeight, "px");
96
- };
97
88
  var handleOnBlur = function handleOnBlur(event) {
98
89
  if (isNotOptional(event.target.value)) onBlur === null || onBlur === void 0 ? void 0 : onBlur({
99
90
  value: event.target.value,
@@ -110,8 +101,17 @@ var DxcTextarea = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref)
110
101
  };
111
102
  var handleOnChange = function handleOnChange(event) {
112
103
  changeValue(event.target.value);
113
- verticalGrow === "auto" && autoVerticalGrow();
114
104
  };
105
+ (0, _react.useEffect)(function () {
106
+ if (verticalGrow === "auto" && prevValueRef.current !== (value !== null && value !== void 0 ? value : innerValue)) {
107
+ var textareaLineHeight = parseInt(window.getComputedStyle(textareaRef.current)["line-height"]);
108
+ var textareaPaddingTopBottom = parseInt(window.getComputedStyle(textareaRef.current)["padding-top"]) * 2;
109
+ textareaRef.current.style.height = "".concat(textareaLineHeight * rows, "px");
110
+ var newHeight = textareaRef.current.scrollHeight - textareaPaddingTopBottom;
111
+ textareaRef.current.style.height = "".concat(newHeight, "px");
112
+ prevValueRef.current = value !== null && value !== void 0 ? value : innerValue;
113
+ }
114
+ }, [verticalGrow, value, innerValue, rows]);
115
115
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
116
116
  theme: colorsTheme.textarea
117
117
  }, /*#__PURE__*/_react["default"].createElement(TextareaContainer, {
@@ -146,6 +146,7 @@ var DxcTextarea = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref)
146
146
  "aria-required": !disabled && !optional
147
147
  }), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
148
148
  id: errorId,
149
+ role: "alert",
149
150
  "aria-live": error ? "assertive" : "off"
150
151
  }, error)));
151
152
  });
@@ -0,0 +1 @@
1
+ export {};
@@ -6,7 +6,7 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
6
6
  var _react = _interopRequireDefault(require("react"));
7
7
  var _react2 = require("@testing-library/react");
8
8
  var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
9
- var _Textarea = _interopRequireDefault(require("./Textarea.tsx"));
9
+ var _Textarea = _interopRequireDefault(require("./Textarea"));
10
10
  describe("Textarea component tests", function () {
11
11
  test("Renders with correct label", function () {
12
12
  var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
@@ -0,0 +1 @@
1
+ export {};
@@ -5,8 +5,8 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
5
5
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
6
6
  var _react = _interopRequireDefault(require("react"));
7
7
  var _react2 = require("@testing-library/react");
8
- var _jestAxe = require("jest-axe");
9
- var _ToggleGroup = _interopRequireDefault(require("./ToggleGroup.tsx"));
8
+ var _axeHelper = require("../../test/accessibility/axe-helper.js");
9
+ var _ToggleGroup = _interopRequireDefault(require("./ToggleGroup"));
10
10
  var ethernetSVG = /*#__PURE__*/_react["default"].createElement("svg", {
11
11
  xmlns: "http://www.w3.org/2000/svg",
12
12
  height: "24px",
@@ -67,11 +67,11 @@ describe("Toggle group component accessibility tests", function () {
67
67
  helperText: "Toggle group helper text",
68
68
  options: options,
69
69
  margin: "medium",
70
- defaultValue: 2,
70
+ defaultValue: [2],
71
71
  multiple: true
72
72
  })), container = _render.container;
73
73
  _context.next = 3;
74
- return (0, _jestAxe.axe)(container);
74
+ return (0, _axeHelper.axe)(container);
75
75
  case 3:
76
76
  results = _context.sent;
77
77
  expect(results).toHaveNoViolations();
@@ -94,7 +94,7 @@ describe("Toggle group component accessibility tests", function () {
94
94
  disabled: true
95
95
  })), container = _render2.container;
96
96
  _context2.next = 3;
97
- return (0, _jestAxe.axe)(container);
97
+ return (0, _axeHelper.axe)(container);
98
98
  case 3:
99
99
  results = _context2.sent;
100
100
  expect(results).toHaveNoViolations();
@@ -11,13 +11,13 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/hel
11
11
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
12
12
  var _react = _interopRequireWildcard(require("react"));
13
13
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
14
- var _uuid = require("uuid");
15
14
  var _variables = require("../common/variables");
16
15
  var _useTheme = _interopRequireDefault(require("../useTheme"));
17
16
  var _Flex = _interopRequireDefault(require("../flex/Flex"));
17
+ var _Icon = _interopRequireDefault(require("../icon/Icon"));
18
18
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
19
19
  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); }
20
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
20
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(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; }
21
21
  var DxcToggleGroup = function DxcToggleGroup(_ref) {
22
22
  var label = _ref.label,
23
23
  helperText = _ref.helperText,
@@ -32,13 +32,11 @@ var DxcToggleGroup = function DxcToggleGroup(_ref) {
32
32
  multiple = _ref$multiple === void 0 ? false : _ref$multiple,
33
33
  _ref$tabIndex = _ref.tabIndex,
34
34
  tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
35
- var _useState = (0, _react.useState)("label-toggle-group-".concat((0, _uuid.v4)())),
36
- _useState2 = (0, _slicedToArray2["default"])(_useState, 1),
37
- toggleGroupLabelId = _useState2[0];
38
- var _useState3 = (0, _react.useState)(defaultValue !== null && defaultValue !== void 0 ? defaultValue : multiple ? [] : -1),
39
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
40
- selectedValue = _useState4[0],
41
- setSelectedValue = _useState4[1];
35
+ var toggleGroupLabelId = "label-toggle-group-".concat((0, _react.useId)());
36
+ var _useState = (0, _react.useState)(defaultValue !== null && defaultValue !== void 0 ? defaultValue : multiple ? [] : -1),
37
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
38
+ selectedValue = _useState2[0],
39
+ setSelectedValue = _useState2[1];
42
40
  var colorsTheme = (0, _useTheme["default"])();
43
41
  var handleToggleChange = function handleToggleChange(selectedOption) {
44
42
  var newSelectedOptions;
@@ -106,8 +104,8 @@ var DxcToggleGroup = function DxcToggleGroup(_ref) {
106
104
  alignItems: "center"
107
105
  }, option.icon && /*#__PURE__*/_react["default"].createElement(IconContainer, {
108
106
  optionLabel: option.label
109
- }, typeof option.icon === "string" ? /*#__PURE__*/_react["default"].createElement("img", {
110
- src: option.icon
107
+ }, typeof option.icon === "string" ? /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
108
+ icon: option.icon
111
109
  }) : option.icon), option.label && /*#__PURE__*/_react["default"].createElement(LabelContainer, null, option.label)));
112
110
  }))));
113
111
  };
@@ -195,7 +193,7 @@ var LabelContainer = _styledComponents["default"].span(_templateObject6 || (_tem
195
193
  }, function (props) {
196
194
  return props.theme.optionLabelFontWeight;
197
195
  });
198
- var IconContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n height: 24px;\n width: 24px;\n margin-right: ", ";\n overflow: hidden;\n\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
196
+ var IconContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n margin-right: ", ";\n overflow: hidden;\n font-size: 24px;\n svg {\n height: 24px;\n width: 24px;\n }\n"])), function (props) {
199
197
  return props.optionLabel && props.theme.iconMarginRight;
200
198
  });
201
199
  var _default = exports["default"] = DxcToggleGroup;
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import { userEvent, within } from "@storybook/testing-library";
2
+ import { userEvent, within } from "@storybook/test";
3
3
  import DxcToggleGroup from "./ToggleGroup";
4
4
  import Title from "../../.storybook/components/Title";
5
5
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
@@ -52,17 +52,17 @@ const options = [
52
52
  const optionsWithIcon = [
53
53
  {
54
54
  value: 1,
55
- icon: wifiSVG,
55
+ icon: "wifi",
56
56
  title: "WiFi connection",
57
57
  },
58
58
  {
59
59
  value: 2,
60
- icon: ethernetSVG,
60
+ icon: "filled_lan",
61
61
  title: "Ethernet connection",
62
62
  },
63
63
  {
64
64
  value: 3,
65
- icon: gMobileSVG,
65
+ icon: "5g",
66
66
  title: "3G Mobile data connection",
67
67
  },
68
68
  ];
@@ -0,0 +1 @@
1
+ export {};
@@ -3,7 +3,7 @@
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
  var _react = _interopRequireDefault(require("react"));
5
5
  var _react2 = require("@testing-library/react");
6
- var _ToggleGroup = _interopRequireDefault(require("./ToggleGroup.tsx"));
6
+ var _ToggleGroup = _interopRequireDefault(require("./ToggleGroup"));
7
7
  var options = [{
8
8
  value: 1,
9
9
  label: "Amazon"
@@ -13,7 +13,7 @@ type OptionIcon = {
13
13
  */
14
14
  label?: never;
15
15
  /**
16
- * Element used as the icon. Icon and label can't be used at same time.
16
+ * Material Symbols icon or SVG element. Icon and label can't be used at same time.
17
17
  */
18
18
  icon: string | SVG;
19
19
  /**
@@ -28,7 +28,7 @@ export type OptionLabel = {
28
28
  */
29
29
  label: string;
30
30
  /**
31
- * Element used as the icon. Icon and label can't be used at same time.
31
+ * Material Symbols icon or SVG element. Icon and label can't be used at same time.
32
32
  */
33
33
  icon?: string | SVG;
34
34
  /**
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,144 @@
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 _axeHelper = require("../../test/accessibility/axe-helper.js");
11
+ var _Tooltip = _interopRequireDefault(require("./Tooltip"));
12
+ var _Button = _interopRequireDefault(require("../button/Button"));
13
+ global.globalThis = global;
14
+ global.DOMRect = {
15
+ fromRect: function fromRect() {
16
+ return {
17
+ top: 0,
18
+ left: 0,
19
+ bottom: 0,
20
+ right: 0,
21
+ width: 0,
22
+ height: 0,
23
+ x: 0,
24
+ y: 0
25
+ };
26
+ }
27
+ };
28
+ global.ResizeObserver = /*#__PURE__*/function () {
29
+ function ResizeObserver() {
30
+ (0, _classCallCheck2["default"])(this, ResizeObserver);
31
+ }
32
+ return (0, _createClass2["default"])(ResizeObserver, [{
33
+ key: "observe",
34
+ value: function observe() {}
35
+ }, {
36
+ key: "unobserve",
37
+ value: function unobserve() {}
38
+ }, {
39
+ key: "disconnect",
40
+ value: function disconnect() {}
41
+ }]);
42
+ }();
43
+ describe("Tooltip component accessibility tests", function () {
44
+ it("Should not have basic accessibility issues for bottom position", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
45
+ var _render, baseElement, getByText, triggerElement, results;
46
+ return _regenerator["default"].wrap(function _callee$(_context) {
47
+ while (1) switch (_context.prev = _context.next) {
48
+ case 0:
49
+ // baseElement is needed when using React Portals
50
+ _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tooltip["default"], {
51
+ label: "Tooltip Test",
52
+ position: "bottom"
53
+ }, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
54
+ label: "Hoverable button"
55
+ }))), baseElement = _render.baseElement, getByText = _render.getByText;
56
+ triggerElement = getByText("Hoverable button");
57
+ _react2.fireEvent.mouseEnter(triggerElement);
58
+ _context.next = 5;
59
+ return (0, _axeHelper.axe)(baseElement);
60
+ case 5:
61
+ results = _context.sent;
62
+ expect(results).toHaveNoViolations();
63
+ case 7:
64
+ case "end":
65
+ return _context.stop();
66
+ }
67
+ }, _callee);
68
+ })));
69
+ it("Should not have basic accessibility issues for top position", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
70
+ var _render2, baseElement, getByText, triggerElement, results;
71
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
72
+ while (1) switch (_context2.prev = _context2.next) {
73
+ case 0:
74
+ // baseElement is needed when using React Portals
75
+ _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tooltip["default"], {
76
+ label: "Tooltip Test",
77
+ position: "top"
78
+ }, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
79
+ label: "Hoverable button"
80
+ }))), baseElement = _render2.baseElement, getByText = _render2.getByText;
81
+ triggerElement = getByText("Hoverable button");
82
+ _react2.fireEvent.mouseEnter(triggerElement);
83
+ _context2.next = 5;
84
+ return (0, _axeHelper.axe)(baseElement);
85
+ case 5:
86
+ results = _context2.sent;
87
+ expect(results).toHaveNoViolations();
88
+ case 7:
89
+ case "end":
90
+ return _context2.stop();
91
+ }
92
+ }, _callee2);
93
+ })));
94
+ it("Should not have basic accessibility issues for left position", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
95
+ var _render3, baseElement, getByText, triggerElement, results;
96
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
97
+ while (1) switch (_context3.prev = _context3.next) {
98
+ case 0:
99
+ // baseElement is needed when using React Portals
100
+ _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tooltip["default"], {
101
+ label: "Tooltip Test",
102
+ position: "left"
103
+ }, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
104
+ label: "Hoverable button"
105
+ }))), baseElement = _render3.baseElement, getByText = _render3.getByText;
106
+ triggerElement = getByText("Hoverable button");
107
+ _react2.fireEvent.mouseEnter(triggerElement);
108
+ _context3.next = 5;
109
+ return (0, _axeHelper.axe)(baseElement);
110
+ case 5:
111
+ results = _context3.sent;
112
+ expect(results).toHaveNoViolations();
113
+ case 7:
114
+ case "end":
115
+ return _context3.stop();
116
+ }
117
+ }, _callee3);
118
+ })));
119
+ it("Should not have basic accessibility issues for right position", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
120
+ var _render4, baseElement, getByText, triggerElement, results;
121
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
122
+ while (1) switch (_context4.prev = _context4.next) {
123
+ case 0:
124
+ // baseElement is needed when using React Portals
125
+ _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tooltip["default"], {
126
+ label: "Tooltip Test",
127
+ position: "right"
128
+ }, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
129
+ label: "Hoverable button"
130
+ }))), baseElement = _render4.baseElement, getByText = _render4.getByText;
131
+ triggerElement = getByText("Hoverable button");
132
+ _react2.fireEvent.mouseEnter(triggerElement);
133
+ _context4.next = 5;
134
+ return (0, _axeHelper.axe)(baseElement);
135
+ case 5:
136
+ results = _context4.sent;
137
+ expect(results).toHaveNoViolations();
138
+ case 7:
139
+ case "end":
140
+ return _context4.stop();
141
+ }
142
+ }, _callee4);
143
+ })));
144
+ });
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import TooltipPropsType from "./types";
3
+ declare const DxcTooltip: ({ position, label, children }: TooltipPropsType) => JSX.Element;
4
+ export default DxcTooltip;
@@ -0,0 +1,50 @@
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 = _interopRequireDefault(require("react"));
11
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
12
+ var Tooltip = _interopRequireWildcard(require("@radix-ui/react-tooltip"));
13
+ var _coreTokens = _interopRequireDefault(require("../common/coreTokens"));
14
+ var _templateObject, _templateObject2, _templateObject3;
15
+ 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); }
16
+ 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; }
17
+ var Triangle = function Triangle() {
18
+ return /*#__PURE__*/_react["default"].createElement("svg", {
19
+ width: "12",
20
+ height: "6",
21
+ viewBox: "0 0 12 6",
22
+ xmlns: "http://www.w3.org/2000/svg",
23
+ preserveAspectRatio: "none",
24
+ display: "block"
25
+ }, /*#__PURE__*/_react["default"].createElement("path", {
26
+ d: "M0.351562 0L5.30131 4.94975C5.69184 5.34027 6.325 5.34027 6.71552 4.94975L11.6653 0H6.00842H0.351562Z",
27
+ fill: _coreTokens["default"].color_grey_800
28
+ }));
29
+ };
30
+ var DxcTooltip = function DxcTooltip(_ref) {
31
+ var _ref$position = _ref.position,
32
+ position = _ref$position === void 0 ? "bottom" : _ref$position,
33
+ label = _ref.label,
34
+ children = _ref.children;
35
+ return label ? /*#__PURE__*/_react["default"].createElement(Tooltip.Provider, {
36
+ delayDuration: 300
37
+ }, /*#__PURE__*/_react["default"].createElement(Tooltip.Root, null, /*#__PURE__*/_react["default"].createElement(Tooltip.Trigger, {
38
+ asChild: true
39
+ }, /*#__PURE__*/_react["default"].createElement(TooltipTriggerContainer, null, children)), /*#__PURE__*/_react["default"].createElement(Tooltip.Portal, null, /*#__PURE__*/_react["default"].createElement(StyledTooltipContent, {
40
+ side: position,
41
+ sideOffset: 8
42
+ }, /*#__PURE__*/_react["default"].createElement(TooltipContainer, null, label), /*#__PURE__*/_react["default"].createElement(Tooltip.Arrow, {
43
+ asChild: true,
44
+ "aria-hidden": true
45
+ }, /*#__PURE__*/_react["default"].createElement(Triangle, null)))))) : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, children);
46
+ };
47
+ var TooltipTriggerContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n position: relative;\n"])));
48
+ var StyledTooltipContent = (0, _styledComponents["default"])(Tooltip.Content)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n z-index: 2147483647;\n\n animation-duration: 0.2s;\n animation-timing-function: ease-out;\n\n /* Additional optimization to prevent blurry text in certain browsers */\n -webkit-font-smoothing: antialiased;\n transform: translateZ(0) scale(1, 1);\n\n &[data-side=\"top\"] {\n animation-name: slideUp;\n }\n &[data-side=\"bottom\"] {\n animation-name: slideDown;\n }\n &[data-side=\"left\"] {\n animation-name: slideLeft;\n }\n &[data-side=\"right\"] {\n animation-name: slideRight;\n }\n @keyframes slideDown {\n from {\n opacity: 0;\n transform: translateY(-10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n @keyframes slideUp {\n from {\n opacity: 0;\n transform: translateY(10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n @keyframes slideLeft {\n from {\n opacity: 0;\n transform: translateX(10px);\n }\n to {\n opacity: 1;\n transform: translateX(0);\n }\n }\n @keyframes slideRight {\n from {\n opacity: 0;\n transform: translateX(-10px);\n }\n to {\n opacity: 1;\n transform: translateX(0);\n }\n }\n"])));
49
+ var TooltipContainer = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n padding: 8px 12px;\n border-radius: 4px;\n font-size: ", ";\n font-family: ", ";\n max-width: 242px;\n color: ", ";\n background-color: ", ";\n border-color: ", ";\n"])), _coreTokens["default"].type_scale_01, _coreTokens["default"].type_sans, _coreTokens["default"].color_white, _coreTokens["default"].color_grey_800, _coreTokens["default"].color_grey_800);
50
+ var _default = exports["default"] = DxcTooltip;