@dxc-technology/halstack-react 0.0.0-7ffdc43 → 0.0.0-816f33d

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 (379) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +5 -22
  3. package/HalstackContext.d.ts +1242 -6
  4. package/HalstackContext.js +126 -111
  5. package/README.md +47 -0
  6. package/accordion/Accordion.accessibility.test.js +71 -0
  7. package/accordion/Accordion.d.ts +1 -1
  8. package/accordion/Accordion.js +105 -160
  9. package/accordion/Accordion.stories.tsx +82 -148
  10. package/accordion/Accordion.test.js +25 -41
  11. package/accordion/types.d.ts +6 -17
  12. package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
  13. package/accordion-group/AccordionGroup.d.ts +2 -2
  14. package/accordion-group/AccordionGroup.js +30 -98
  15. package/accordion-group/AccordionGroup.stories.tsx +94 -67
  16. package/accordion-group/AccordionGroup.test.js +52 -105
  17. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  18. package/accordion-group/AccordionGroupAccordion.js +31 -0
  19. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  20. package/accordion-group/AccordionGroupContext.js +8 -0
  21. package/accordion-group/types.d.ts +12 -17
  22. package/action-icon/ActionIcon.accessibility.test.js +63 -0
  23. package/action-icon/ActionIcon.d.ts +4 -0
  24. package/action-icon/ActionIcon.js +48 -0
  25. package/action-icon/ActionIcon.stories.tsx +41 -0
  26. package/action-icon/ActionIcon.test.js +64 -0
  27. package/action-icon/types.d.ts +26 -0
  28. package/alert/Alert.accessibility.test.js +95 -0
  29. package/alert/Alert.js +37 -127
  30. package/alert/Alert.stories.tsx +28 -0
  31. package/alert/Alert.test.js +29 -46
  32. package/alert/types.d.ts +5 -5
  33. package/badge/Badge.accessibility.test.js +129 -0
  34. package/badge/Badge.d.ts +1 -1
  35. package/badge/Badge.js +142 -42
  36. package/badge/Badge.stories.tsx +210 -0
  37. package/badge/Badge.test.js +30 -0
  38. package/badge/types.d.ts +52 -3
  39. package/bleed/Bleed.js +13 -21
  40. package/bleed/Bleed.stories.tsx +1 -0
  41. package/bleed/types.d.ts +2 -2
  42. package/box/Box.accessibility.test.js +33 -0
  43. package/box/Box.d.ts +1 -1
  44. package/box/Box.js +19 -60
  45. package/box/Box.stories.tsx +38 -51
  46. package/box/Box.test.js +2 -7
  47. package/box/types.d.ts +3 -14
  48. package/bulleted-list/BulletedList.accessibility.test.js +119 -0
  49. package/bulleted-list/BulletedList.js +22 -53
  50. package/bulleted-list/BulletedList.stories.tsx +8 -93
  51. package/bulleted-list/types.d.ts +32 -5
  52. package/button/Button.accessibility.test.js +127 -0
  53. package/button/Button.d.ts +1 -1
  54. package/button/Button.js +71 -106
  55. package/button/Button.stories.tsx +143 -101
  56. package/button/Button.test.js +20 -17
  57. package/button/types.d.ts +9 -5
  58. package/card/Card.accessibility.test.js +36 -0
  59. package/card/Card.d.ts +1 -1
  60. package/card/Card.js +49 -89
  61. package/card/Card.stories.tsx +12 -42
  62. package/card/Card.test.js +11 -22
  63. package/card/types.d.ts +6 -11
  64. package/checkbox/Checkbox.accessibility.test.js +87 -0
  65. package/checkbox/Checkbox.d.ts +2 -2
  66. package/checkbox/Checkbox.js +139 -181
  67. package/checkbox/Checkbox.stories.tsx +128 -94
  68. package/checkbox/Checkbox.test.js +160 -39
  69. package/checkbox/types.d.ts +11 -3
  70. package/chip/Chip.accessibility.test.js +67 -0
  71. package/chip/Chip.js +45 -80
  72. package/chip/Chip.stories.tsx +107 -27
  73. package/chip/Chip.test.js +18 -33
  74. package/chip/types.d.ts +4 -4
  75. package/common/coreTokens.d.ts +237 -0
  76. package/common/coreTokens.js +184 -0
  77. package/common/utils.d.ts +1 -0
  78. package/common/utils.js +6 -12
  79. package/common/variables.d.ts +1394 -0
  80. package/common/variables.js +935 -1166
  81. package/container/Container.d.ts +4 -0
  82. package/container/Container.js +194 -0
  83. package/container/Container.stories.tsx +214 -0
  84. package/container/types.d.ts +74 -0
  85. package/contextual-menu/ContextualMenu.accessibility.test.js +97 -0
  86. package/contextual-menu/ContextualMenu.d.ts +5 -0
  87. package/contextual-menu/ContextualMenu.js +88 -0
  88. package/contextual-menu/ContextualMenu.stories.tsx +232 -0
  89. package/contextual-menu/ContextualMenu.test.js +205 -0
  90. package/contextual-menu/GroupItem.d.ts +4 -0
  91. package/contextual-menu/GroupItem.js +67 -0
  92. package/contextual-menu/ItemAction.d.ts +4 -0
  93. package/contextual-menu/ItemAction.js +52 -0
  94. package/contextual-menu/MenuItem.d.ts +4 -0
  95. package/contextual-menu/MenuItem.js +29 -0
  96. package/contextual-menu/SingleItem.d.ts +4 -0
  97. package/contextual-menu/SingleItem.js +38 -0
  98. package/contextual-menu/types.d.ts +58 -0
  99. package/date-input/Calendar.d.ts +4 -0
  100. package/date-input/Calendar.js +214 -0
  101. package/date-input/DateInput.accessibility.test.js +228 -0
  102. package/date-input/DateInput.js +149 -299
  103. package/date-input/DateInput.stories.tsx +210 -56
  104. package/date-input/DateInput.test.js +700 -371
  105. package/date-input/DatePicker.d.ts +4 -0
  106. package/date-input/DatePicker.js +121 -0
  107. package/date-input/YearPicker.d.ts +4 -0
  108. package/date-input/YearPicker.js +100 -0
  109. package/date-input/types.d.ts +72 -15
  110. package/dialog/Dialog.accessibility.test.js +69 -0
  111. package/dialog/Dialog.d.ts +1 -1
  112. package/dialog/Dialog.js +61 -106
  113. package/dialog/Dialog.stories.tsx +326 -167
  114. package/dialog/Dialog.test.js +287 -20
  115. package/dialog/types.d.ts +18 -25
  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.d.ts +1 -1
  125. package/dropdown/Dropdown.js +233 -303
  126. package/dropdown/Dropdown.stories.tsx +235 -57
  127. package/dropdown/Dropdown.test.js +575 -165
  128. package/dropdown/DropdownMenu.d.ts +4 -0
  129. package/dropdown/DropdownMenu.js +63 -0
  130. package/dropdown/DropdownMenuItem.d.ts +4 -0
  131. package/dropdown/DropdownMenuItem.js +71 -0
  132. package/dropdown/types.d.ts +35 -19
  133. package/file-input/FileInput.accessibility.test.js +160 -0
  134. package/file-input/FileInput.d.ts +2 -2
  135. package/file-input/FileInput.js +241 -391
  136. package/file-input/FileInput.stories.tsx +123 -12
  137. package/file-input/FileInput.test.js +292 -367
  138. package/file-input/FileItem.d.ts +4 -14
  139. package/file-input/FileItem.js +56 -117
  140. package/file-input/types.d.ts +25 -8
  141. package/flex/Flex.d.ts +1 -1
  142. package/flex/Flex.js +40 -40
  143. package/flex/Flex.stories.tsx +35 -26
  144. package/flex/types.d.ts +85 -9
  145. package/footer/Footer.accessibility.test.js +125 -0
  146. package/footer/Footer.d.ts +1 -1
  147. package/footer/Footer.js +73 -118
  148. package/footer/Footer.stories.tsx +99 -21
  149. package/footer/Footer.test.js +33 -57
  150. package/footer/Icons.d.ts +3 -2
  151. package/footer/Icons.js +53 -22
  152. package/footer/types.d.ts +26 -27
  153. package/grid/Grid.d.ts +7 -0
  154. package/grid/Grid.js +76 -0
  155. package/grid/Grid.stories.tsx +219 -0
  156. package/grid/types.d.ts +115 -0
  157. package/grid/types.js +5 -0
  158. package/header/Header.accessibility.test.js +93 -0
  159. package/header/Header.d.ts +4 -3
  160. package/header/Header.js +90 -183
  161. package/header/Header.stories.tsx +133 -38
  162. package/header/Header.test.js +13 -26
  163. package/header/Icons.d.ts +2 -2
  164. package/header/Icons.js +5 -15
  165. package/header/types.d.ts +7 -21
  166. package/heading/Heading.accessibility.test.js +33 -0
  167. package/heading/Heading.js +10 -32
  168. package/heading/Heading.test.js +71 -88
  169. package/heading/types.d.ts +7 -7
  170. package/icon/Icon.accessibility.test.js +30 -0
  171. package/icon/Icon.d.ts +4 -0
  172. package/icon/Icon.js +33 -0
  173. package/icon/Icon.stories.tsx +28 -0
  174. package/icon/types.d.ts +4 -0
  175. package/icon/types.js +5 -0
  176. package/image/Image.accessibility.test.js +56 -0
  177. package/image/Image.d.ts +4 -0
  178. package/image/Image.js +70 -0
  179. package/image/Image.stories.tsx +129 -0
  180. package/image/types.d.ts +72 -0
  181. package/image/types.js +5 -0
  182. package/inset/Inset.js +13 -21
  183. package/inset/Inset.stories.tsx +2 -1
  184. package/inset/types.d.ts +2 -2
  185. package/layout/ApplicationLayout.d.ts +5 -5
  186. package/layout/ApplicationLayout.js +36 -70
  187. package/layout/ApplicationLayout.stories.tsx +2 -1
  188. package/layout/Icons.d.ts +7 -5
  189. package/layout/Icons.js +41 -59
  190. package/layout/types.d.ts +5 -6
  191. package/link/Link.accessibility.test.js +108 -0
  192. package/link/Link.js +32 -51
  193. package/link/Link.stories.tsx +64 -4
  194. package/link/Link.test.js +24 -44
  195. package/link/types.d.ts +14 -14
  196. package/main.d.ts +10 -5
  197. package/main.js +47 -59
  198. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  199. package/nav-tabs/NavTabs.d.ts +7 -0
  200. package/{tabs-nav → nav-tabs}/NavTabs.js +30 -62
  201. package/nav-tabs/NavTabs.stories.tsx +279 -0
  202. package/nav-tabs/NavTabs.test.js +77 -0
  203. package/nav-tabs/NavTabsContext.d.ts +3 -0
  204. package/nav-tabs/NavTabsContext.js +8 -0
  205. package/nav-tabs/Tab.js +117 -0
  206. package/{tabs-nav → nav-tabs}/types.d.ts +15 -16
  207. package/nav-tabs/types.js +5 -0
  208. package/number-input/NumberInput.accessibility.test.js +228 -0
  209. package/number-input/NumberInput.js +46 -36
  210. package/number-input/NumberInput.stories.tsx +42 -26
  211. package/number-input/NumberInput.test.js +860 -377
  212. package/number-input/NumberInputContext.d.ts +3 -4
  213. package/number-input/NumberInputContext.js +3 -14
  214. package/number-input/types.d.ts +17 -5
  215. package/package.json +49 -52
  216. package/paginator/Paginator.accessibility.test.js +79 -0
  217. package/paginator/Paginator.js +35 -68
  218. package/paginator/Paginator.stories.tsx +24 -0
  219. package/paginator/Paginator.test.js +253 -226
  220. package/paginator/types.d.ts +3 -3
  221. package/paragraph/Paragraph.accessibility.test.js +28 -0
  222. package/paragraph/Paragraph.d.ts +3 -4
  223. package/paragraph/Paragraph.js +6 -22
  224. package/paragraph/Paragraph.stories.tsx +0 -17
  225. package/password-input/PasswordInput.accessibility.test.js +153 -0
  226. package/password-input/PasswordInput.js +58 -127
  227. package/password-input/PasswordInput.stories.tsx +1 -33
  228. package/password-input/PasswordInput.test.js +160 -142
  229. package/password-input/types.d.ts +8 -7
  230. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  231. package/progress-bar/ProgressBar.js +68 -92
  232. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +39 -4
  233. package/progress-bar/ProgressBar.test.js +72 -44
  234. package/progress-bar/types.d.ts +3 -3
  235. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  236. package/quick-nav/QuickNav.js +15 -39
  237. package/quick-nav/QuickNav.stories.tsx +112 -20
  238. package/quick-nav/types.d.ts +10 -10
  239. package/radio-group/Radio.d.ts +1 -1
  240. package/radio-group/Radio.js +59 -76
  241. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  242. package/radio-group/RadioGroup.js +69 -116
  243. package/radio-group/RadioGroup.stories.tsx +132 -18
  244. package/radio-group/RadioGroup.test.js +518 -457
  245. package/radio-group/types.d.ts +10 -10
  246. package/resultset-table/Icons.d.ts +7 -0
  247. package/resultset-table/Icons.js +47 -0
  248. package/resultset-table/ResultsetTable.accessibility.test.js +285 -0
  249. package/resultset-table/ResultsetTable.d.ts +7 -0
  250. package/resultset-table/ResultsetTable.js +171 -0
  251. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +168 -30
  252. package/resultset-table/ResultsetTable.test.js +381 -0
  253. package/{resultsetTable → resultset-table}/types.d.ts +44 -11
  254. package/resultset-table/types.js +5 -0
  255. package/select/Listbox.js +44 -64
  256. package/select/Option.js +35 -56
  257. package/select/Select.accessibility.test.js +228 -0
  258. package/select/Select.js +152 -210
  259. package/select/Select.stories.tsx +496 -203
  260. package/select/Select.test.js +1919 -1816
  261. package/select/types.d.ts +17 -20
  262. package/sidenav/Sidenav.accessibility.test.js +59 -0
  263. package/sidenav/Sidenav.d.ts +2 -2
  264. package/sidenav/Sidenav.js +90 -157
  265. package/sidenav/Sidenav.stories.tsx +160 -63
  266. package/sidenav/Sidenav.test.js +3 -10
  267. package/{layout → sidenav}/SidenavContext.d.ts +1 -1
  268. package/{layout → sidenav}/SidenavContext.js +3 -9
  269. package/sidenav/types.d.ts +33 -30
  270. package/slider/Slider.accessibility.test.js +104 -0
  271. package/slider/Slider.d.ts +2 -2
  272. package/slider/Slider.js +149 -181
  273. package/slider/Slider.test.js +185 -81
  274. package/slider/types.d.ts +7 -3
  275. package/spinner/Spinner.accessibility.test.js +96 -0
  276. package/spinner/Spinner.js +34 -74
  277. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  278. package/spinner/Spinner.test.js +26 -35
  279. package/spinner/types.d.ts +3 -3
  280. package/status-light/StatusLight.accessibility.test.js +157 -0
  281. package/status-light/StatusLight.d.ts +4 -0
  282. package/status-light/StatusLight.js +51 -0
  283. package/status-light/StatusLight.stories.tsx +74 -0
  284. package/status-light/StatusLight.test.js +25 -0
  285. package/status-light/types.d.ts +17 -0
  286. package/status-light/types.js +5 -0
  287. package/switch/Switch.accessibility.test.js +98 -0
  288. package/switch/Switch.d.ts +2 -2
  289. package/switch/Switch.js +145 -126
  290. package/switch/Switch.stories.tsx +49 -60
  291. package/switch/Switch.test.js +138 -56
  292. package/switch/types.d.ts +7 -3
  293. package/table/DropdownTheme.js +62 -0
  294. package/table/Table.accessibility.test.js +93 -0
  295. package/table/Table.d.ts +6 -2
  296. package/table/Table.js +78 -35
  297. package/table/Table.stories.tsx +663 -0
  298. package/table/Table.test.js +95 -8
  299. package/table/types.d.ts +34 -6
  300. package/tabs/Tab.d.ts +4 -0
  301. package/tabs/Tab.js +117 -0
  302. package/tabs/Tabs.accessibility.test.js +56 -0
  303. package/tabs/Tabs.js +303 -141
  304. package/tabs/Tabs.stories.tsx +124 -6
  305. package/tabs/Tabs.test.js +213 -77
  306. package/tabs/types.d.ts +30 -20
  307. package/tag/Tag.accessibility.test.js +69 -0
  308. package/tag/Tag.js +35 -67
  309. package/tag/Tag.stories.tsx +18 -8
  310. package/tag/Tag.test.js +18 -37
  311. package/tag/types.d.ts +9 -9
  312. package/text-input/Suggestion.js +40 -28
  313. package/text-input/Suggestions.d.ts +4 -0
  314. package/text-input/Suggestions.js +94 -0
  315. package/text-input/TextInput.accessibility.test.js +321 -0
  316. package/text-input/TextInput.js +316 -515
  317. package/text-input/TextInput.stories.tsx +276 -276
  318. package/text-input/TextInput.test.js +1419 -1375
  319. package/text-input/types.d.ts +43 -16
  320. package/textarea/Textarea.accessibility.test.js +155 -0
  321. package/textarea/Textarea.js +71 -113
  322. package/textarea/Textarea.stories.tsx +174 -0
  323. package/textarea/Textarea.test.js +152 -183
  324. package/textarea/types.d.ts +9 -5
  325. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  326. package/toggle-group/ToggleGroup.d.ts +2 -2
  327. package/toggle-group/ToggleGroup.js +94 -107
  328. package/toggle-group/ToggleGroup.stories.tsx +52 -7
  329. package/toggle-group/ToggleGroup.test.js +69 -88
  330. package/toggle-group/types.d.ts +28 -19
  331. package/typography/Typography.accessibility.test.js +339 -0
  332. package/typography/Typography.d.ts +2 -2
  333. package/typography/Typography.js +15 -123
  334. package/typography/Typography.stories.tsx +1 -1
  335. package/typography/types.d.ts +1 -1
  336. package/useTheme.d.ts +1146 -1
  337. package/useTheme.js +2 -9
  338. package/useTranslatedLabels.d.ts +84 -1
  339. package/useTranslatedLabels.js +1 -7
  340. package/utils/BaseTypography.d.ts +21 -0
  341. package/utils/BaseTypography.js +94 -0
  342. package/utils/FocusLock.d.ts +13 -0
  343. package/utils/FocusLock.js +124 -0
  344. package/wizard/Wizard.accessibility.test.js +55 -0
  345. package/wizard/Wizard.js +29 -75
  346. package/wizard/Wizard.stories.tsx +39 -0
  347. package/wizard/Wizard.test.js +54 -81
  348. package/wizard/types.d.ts +10 -11
  349. package/card/ice-cream.jpg +0 -0
  350. package/common/OpenSans.css +0 -81
  351. package/common/RequiredComponent.js +0 -32
  352. package/common/fonts/OpenSans-Bold.ttf +0 -0
  353. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  354. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  355. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  356. package/common/fonts/OpenSans-Italic.ttf +0 -0
  357. package/common/fonts/OpenSans-Light.ttf +0 -0
  358. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  359. package/common/fonts/OpenSans-Regular.ttf +0 -0
  360. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  361. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  362. package/number-input/numberInputContextTypes.d.ts +0 -19
  363. package/paginator/Icons.js +0 -66
  364. package/resultsetTable/ResultsetTable.d.ts +0 -4
  365. package/resultsetTable/ResultsetTable.js +0 -254
  366. package/resultsetTable/ResultsetTable.test.js +0 -348
  367. package/select/Icons.d.ts +0 -10
  368. package/select/Icons.js +0 -93
  369. package/slider/Slider.stories.tsx +0 -177
  370. package/table/Table.stories.jsx +0 -277
  371. package/tabs-nav/NavTabs.d.ts +0 -8
  372. package/tabs-nav/NavTabs.stories.tsx +0 -170
  373. package/tabs-nav/NavTabs.test.js +0 -82
  374. package/tabs-nav/Tab.js +0 -132
  375. package/textarea/Textarea.stories.jsx +0 -157
  376. /package/{resultsetTable → action-icon}/types.js +0 -0
  377. /package/{tabs-nav → container}/types.js +0 -0
  378. /package/{number-input/numberInputContextTypes.js → contextual-menu/types.js} +0 -0
  379. /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
12
+ var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
13
+ var _Suggestion = _interopRequireDefault(require("./Suggestion"));
14
+ var _Icon = _interopRequireDefault(require("../icon/Icon"));
15
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
16
+ 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); }
17
+ 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; }
18
+ var Suggestions = function Suggestions(_ref) {
19
+ var id = _ref.id,
20
+ value = _ref.value,
21
+ suggestions = _ref.suggestions,
22
+ visualFocusIndex = _ref.visualFocusIndex,
23
+ highlightedSuggestions = _ref.highlightedSuggestions,
24
+ searchHasErrors = _ref.searchHasErrors,
25
+ isSearching = _ref.isSearching,
26
+ suggestionOnClick = _ref.suggestionOnClick,
27
+ styles = _ref.styles;
28
+ var translatedLabels = (0, _useTranslatedLabels["default"])();
29
+ var listboxRef = (0, _react.useRef)(null);
30
+ (0, _react.useEffect)(function () {
31
+ var _listboxRef$current, _visualFocusedOptionE;
32
+ var visualFocusedOptionEl = listboxRef === null || listboxRef === void 0 ? void 0 : (_listboxRef$current = listboxRef.current) === null || _listboxRef$current === void 0 ? void 0 : _listboxRef$current.querySelectorAll("[role='option']")[visualFocusIndex];
33
+ visualFocusedOptionEl === null || visualFocusedOptionEl === void 0 ? void 0 : (_visualFocusedOptionE = visualFocusedOptionEl.scrollIntoView) === null || _visualFocusedOptionE === void 0 ? void 0 : _visualFocusedOptionE.call(visualFocusedOptionEl, {
34
+ block: "nearest",
35
+ inline: "start"
36
+ });
37
+ }, [visualFocusIndex]);
38
+ return /*#__PURE__*/_react["default"].createElement(SuggestionsContainer, {
39
+ id: id,
40
+ error: searchHasErrors ? true : false,
41
+ onMouseDown: function onMouseDown(event) {
42
+ event.preventDefault();
43
+ },
44
+ ref: listboxRef,
45
+ role: "listbox",
46
+ style: styles,
47
+ "aria-label": "Suggestions"
48
+ }, !isSearching && !searchHasErrors && suggestions.length > 0 && suggestions.map(function (suggestion, index) {
49
+ return /*#__PURE__*/_react["default"].createElement(_Suggestion["default"], {
50
+ key: "".concat(id, "-suggestion-").concat(index),
51
+ id: "".concat(id, "-suggestion-").concat(index),
52
+ value: value,
53
+ onClick: suggestionOnClick,
54
+ suggestion: suggestion,
55
+ isLast: index === suggestions.length - 1,
56
+ visuallyFocused: visualFocusIndex === index,
57
+ highlighted: highlightedSuggestions
58
+ });
59
+ }), isSearching && /*#__PURE__*/_react["default"].createElement(SuggestionsSystemMessage, {
60
+ role: "option"
61
+ }, translatedLabels.textInput.searchingMessage), searchHasErrors && /*#__PURE__*/_react["default"].createElement("span", {
62
+ role: "option"
63
+ }, /*#__PURE__*/_react["default"].createElement(SuggestionsError, {
64
+ role: "alert",
65
+ "aria-live": "assertive"
66
+ }, /*#__PURE__*/_react["default"].createElement(SuggestionsErrorIcon, null, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
67
+ icon: "filled_error"
68
+ })), translatedLabels.textInput.fetchingDataErrorMessage)));
69
+ };
70
+ var SuggestionsContainer = _styledComponents["default"].ul(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n max-height: 304px;\n overflow-y: auto;\n margin: 0;\n padding: 0.25rem 0;\n background-color: ", ";\n border: 1px solid\n ", ";\n\n border-radius: 0.25rem;\n box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n"])), function (props) {
71
+ return props.error ? props.theme.errorListDialogBackgroundColor : props.theme.listDialogBackgroundColor;
72
+ }, function (props) {
73
+ return props.error ? props.theme.errorListDialogBorderColor : props.theme.listDialogBorderColor;
74
+ }, function (props) {
75
+ return props.theme.listOptionFontColor;
76
+ }, function (props) {
77
+ return props.theme.fontFamily;
78
+ }, function (props) {
79
+ return props.theme.listOptionFontSize;
80
+ }, function (props) {
81
+ return props.theme.listOptionFontStyle;
82
+ }, function (props) {
83
+ return props.theme.listOptionFontWeight;
84
+ });
85
+ var SuggestionsSystemMessage = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n padding: 0.25rem 1rem;\n color: ", ";\n line-height: 1.715em;\n"])), function (props) {
86
+ return props.theme.systemMessageFontColor;
87
+ });
88
+ var SuggestionsErrorIcon = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n margin-right: 0.5rem;\n height: 18px;\n width: 18px;\n font-size: 18px;\n color: ", ";\n"])), function (props) {
89
+ return props.theme.errorIconColor;
90
+ });
91
+ var SuggestionsError = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n padding: 0.25rem 1rem;\n align-items: center;\n line-height: 1.715em;\n color: ", ";\n"])), function (props) {
92
+ return props.theme.errorListDialogFontColor;
93
+ });
94
+ var _default = exports["default"] = /*#__PURE__*/_react["default"].memo(Suggestions);
@@ -0,0 +1,321 @@
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 _TextInput = _interopRequireDefault(require("./TextInput.tsx"));
12
+ 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"];
13
+ var action = {
14
+ onClick: function onClick() {},
15
+ icon: /*#__PURE__*/_react["default"].createElement("svg", {
16
+ xmlns: "http://www.w3.org/2000/svg",
17
+ height: "24px",
18
+ viewBox: "0 0 24 24",
19
+ width: "24px",
20
+ fill: "currentColor"
21
+ }, /*#__PURE__*/_react["default"].createElement("path", {
22
+ d: "M0 0h24v24H0V0z",
23
+ fill: "none"
24
+ }), /*#__PURE__*/_react["default"].createElement("path", {
25
+ 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"
26
+ })),
27
+ title: "Action Title"
28
+ };
29
+
30
+ // Mocking DOMRect for Radix Primitive Popover
31
+ global.globalThis = global;
32
+ global.DOMRect = {
33
+ fromRect: function fromRect() {
34
+ return {
35
+ top: 0,
36
+ left: 0,
37
+ bottom: 0,
38
+ right: 0,
39
+ width: 0,
40
+ height: 0
41
+ };
42
+ }
43
+ };
44
+ global.ResizeObserver = /*#__PURE__*/function () {
45
+ function ResizeObserver() {
46
+ (0, _classCallCheck2["default"])(this, ResizeObserver);
47
+ }
48
+ (0, _createClass2["default"])(ResizeObserver, [{
49
+ key: "observe",
50
+ value: function observe() {}
51
+ }, {
52
+ key: "unobserve",
53
+ value: function unobserve() {}
54
+ }, {
55
+ key: "disconnect",
56
+ value: function disconnect() {}
57
+ }]);
58
+ return ResizeObserver;
59
+ }();
60
+ describe("TextInput component accessibility tests", function () {
61
+ it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
62
+ var _render, baseElement, results;
63
+ return _regenerator["default"].wrap(function _callee$(_context) {
64
+ while (1) switch (_context.prev = _context.next) {
65
+ case 0:
66
+ // baseElement is needed when using React Portals
67
+ _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
68
+ label: "Label",
69
+ placeholder: "Placeholder",
70
+ helperText: "Helper Text",
71
+ margin: "medium",
72
+ name: "Name",
73
+ size: "medium",
74
+ suffix: "Suffix",
75
+ prefix: "Prefix",
76
+ defaultValue: "Value",
77
+ action: action,
78
+ minLength: 0,
79
+ maxLength: 100,
80
+ clearable: true
81
+ })), baseElement = _render.baseElement;
82
+ _context.next = 3;
83
+ return (0, _axeHelper.axe)(baseElement);
84
+ case 3:
85
+ results = _context.sent;
86
+ expect(results).toHaveNoViolations();
87
+ case 5:
88
+ case "end":
89
+ return _context.stop();
90
+ }
91
+ }, _callee);
92
+ })));
93
+ it("Should not have basic accessibility issues for autocomplete mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
94
+ var _render2, baseElement, results;
95
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
96
+ while (1) switch (_context2.prev = _context2.next) {
97
+ case 0:
98
+ // baseElement is needed when using React Portals
99
+ _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
100
+ label: "Label",
101
+ placeholder: "Placeholder",
102
+ helperText: "Helper Text",
103
+ margin: "medium",
104
+ name: "Name",
105
+ size: "medium",
106
+ suffix: "Suffix",
107
+ prefix: "Prefix",
108
+ defaultValue: "Value",
109
+ action: action,
110
+ minLength: 0,
111
+ maxLength: 100,
112
+ clearable: true,
113
+ autocomplete: "on"
114
+ })), baseElement = _render2.baseElement;
115
+ _context2.next = 3;
116
+ return (0, _axeHelper.axe)(baseElement);
117
+ case 3:
118
+ results = _context2.sent;
119
+ expect(results).toHaveNoViolations();
120
+ case 5:
121
+ case "end":
122
+ return _context2.stop();
123
+ }
124
+ }, _callee2);
125
+ })));
126
+ it("Should not have basic accessibility issues for suggestions mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
127
+ var _render3, baseElement, results;
128
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
129
+ while (1) switch (_context3.prev = _context3.next) {
130
+ case 0:
131
+ // baseElement is needed when using React Portals
132
+ _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
133
+ label: "Label",
134
+ placeholder: "Placeholder",
135
+ helperText: "Helper Text",
136
+ margin: "medium",
137
+ name: "Name",
138
+ size: "medium",
139
+ suffix: "Suffix",
140
+ prefix: "Prefix",
141
+ defaultValue: "Value",
142
+ action: action,
143
+ minLength: 0,
144
+ maxLength: 100,
145
+ clearable: true,
146
+ suggestions: countries
147
+ })), baseElement = _render3.baseElement;
148
+ _context3.next = 3;
149
+ return (0, _axeHelper.axe)(baseElement);
150
+ case 3:
151
+ results = _context3.sent;
152
+ expect(results).toHaveNoViolations();
153
+ case 5:
154
+ case "end":
155
+ return _context3.stop();
156
+ }
157
+ }, _callee3);
158
+ })));
159
+ it("Should not have basic accessibility issues for pattern mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
160
+ var _render4, baseElement, results;
161
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
162
+ while (1) switch (_context4.prev = _context4.next) {
163
+ case 0:
164
+ // baseElement is needed when using React Portals
165
+ _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
166
+ label: "Label",
167
+ placeholder: "Placeholder",
168
+ helperText: "Helper Text",
169
+ margin: "medium",
170
+ name: "Name",
171
+ size: "medium",
172
+ suffix: "Suffix",
173
+ prefix: "Prefix",
174
+ defaultValue: "Value",
175
+ action: action,
176
+ minLength: 0,
177
+ maxLength: 100,
178
+ clearable: true,
179
+ pattern: "^.*(?=.*[a-zA-Z])(?=.*\\d)(?=.*[!&$%&? \"]).*$"
180
+ })), baseElement = _render4.baseElement;
181
+ _context4.next = 3;
182
+ return (0, _axeHelper.axe)(baseElement);
183
+ case 3:
184
+ results = _context4.sent;
185
+ expect(results).toHaveNoViolations();
186
+ case 5:
187
+ case "end":
188
+ return _context4.stop();
189
+ }
190
+ }, _callee4);
191
+ })));
192
+ it("Should not have basic accessibility issues for optional mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
193
+ var _render5, baseElement, results;
194
+ return _regenerator["default"].wrap(function _callee5$(_context5) {
195
+ while (1) switch (_context5.prev = _context5.next) {
196
+ case 0:
197
+ // baseElement is needed when using React Portals
198
+ _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
199
+ label: "Label",
200
+ placeholder: "Placeholder",
201
+ helperText: "Helper Text",
202
+ margin: "medium",
203
+ name: "Name",
204
+ size: "medium",
205
+ suffix: "Suffix",
206
+ prefix: "Prefix",
207
+ defaultValue: "Value",
208
+ action: action,
209
+ minLength: 0,
210
+ maxLength: 100,
211
+ clearable: true,
212
+ optional: true
213
+ })), baseElement = _render5.baseElement;
214
+ _context5.next = 3;
215
+ return (0, _axeHelper.axe)(baseElement);
216
+ case 3:
217
+ results = _context5.sent;
218
+ expect(results).toHaveNoViolations();
219
+ case 5:
220
+ case "end":
221
+ return _context5.stop();
222
+ }
223
+ }, _callee5);
224
+ })));
225
+ it("Should not have basic accessibility issues for error mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
226
+ var _render6, baseElement, results;
227
+ return _regenerator["default"].wrap(function _callee6$(_context6) {
228
+ while (1) switch (_context6.prev = _context6.next) {
229
+ case 0:
230
+ // baseElement is needed when using React Portals
231
+ _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
232
+ label: "Label",
233
+ placeholder: "Placeholder",
234
+ helperText: "Helper Text",
235
+ margin: "medium",
236
+ name: "Name",
237
+ size: "medium",
238
+ suffix: "Suffix",
239
+ prefix: "Prefix",
240
+ defaultValue: "Value",
241
+ error: "Error message.",
242
+ action: action,
243
+ minLength: 0,
244
+ maxLength: 100,
245
+ clearable: true
246
+ })), baseElement = _render6.baseElement;
247
+ _context6.next = 3;
248
+ return (0, _axeHelper.axe)(baseElement);
249
+ case 3:
250
+ results = _context6.sent;
251
+ expect(results).toHaveNoViolations();
252
+ case 5:
253
+ case "end":
254
+ return _context6.stop();
255
+ }
256
+ }, _callee6);
257
+ })));
258
+ it("Should not have basic accessibility issues for read-only mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
259
+ var _render7, baseElement, results;
260
+ return _regenerator["default"].wrap(function _callee7$(_context7) {
261
+ while (1) switch (_context7.prev = _context7.next) {
262
+ case 0:
263
+ // baseElement is needed when using React Portals
264
+ _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
265
+ label: "Label",
266
+ placeholder: "Placeholder",
267
+ helperText: "Helper Text",
268
+ margin: "medium",
269
+ name: "Name",
270
+ size: "medium",
271
+ suffix: "Suffix",
272
+ prefix: "Prefix",
273
+ defaultValue: "Value",
274
+ action: action,
275
+ minLength: 0,
276
+ maxLength: 100,
277
+ readOnly: true
278
+ })), baseElement = _render7.baseElement;
279
+ _context7.next = 3;
280
+ return (0, _axeHelper.axe)(baseElement);
281
+ case 3:
282
+ results = _context7.sent;
283
+ expect(results).toHaveNoViolations();
284
+ case 5:
285
+ case "end":
286
+ return _context7.stop();
287
+ }
288
+ }, _callee7);
289
+ })));
290
+ it("Should not have basic accessibility issues for disabled mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee8() {
291
+ var _render8, baseElement, results;
292
+ return _regenerator["default"].wrap(function _callee8$(_context8) {
293
+ while (1) switch (_context8.prev = _context8.next) {
294
+ case 0:
295
+ // baseElement is needed when using React Portals
296
+ _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
297
+ label: "Label",
298
+ placeholder: "Placeholder",
299
+ helperText: "Helper Text",
300
+ margin: "medium",
301
+ name: "Name",
302
+ size: "medium",
303
+ suffix: "Suffix",
304
+ prefix: "Prefix",
305
+ action: action,
306
+ minLength: 0,
307
+ maxLength: 100,
308
+ disabled: true
309
+ })), baseElement = _render8.baseElement;
310
+ _context8.next = 3;
311
+ return (0, _axeHelper.axe)(baseElement);
312
+ case 3:
313
+ results = _context8.sent;
314
+ expect(results).toHaveNoViolations();
315
+ case 5:
316
+ case "end":
317
+ return _context8.stop();
318
+ }
319
+ }, _callee8);
320
+ })));
321
+ });