@dxc-technology/halstack-react 10.1.0 → 12.0.0

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 (350) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +4 -21
  3. package/HalstackContext.d.ts +45 -143
  4. package/HalstackContext.js +10 -35
  5. package/accordion/Accordion.accessibility.test.js +71 -0
  6. package/accordion/Accordion.js +33 -84
  7. package/accordion/Accordion.stories.tsx +8 -64
  8. package/accordion/Accordion.test.js +18 -33
  9. package/accordion/types.d.ts +6 -6
  10. package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
  11. package/accordion-group/AccordionGroup.d.ts +2 -3
  12. package/accordion-group/AccordionGroup.js +17 -44
  13. package/accordion-group/AccordionGroup.stories.tsx +24 -24
  14. package/accordion-group/AccordionGroup.test.js +42 -60
  15. package/accordion-group/AccordionGroupAccordion.js +11 -23
  16. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  17. package/accordion-group/AccordionGroupContext.js +8 -0
  18. package/accordion-group/types.d.ts +7 -7
  19. package/action-icon/ActionIcon.accessibility.test.js +63 -0
  20. package/action-icon/ActionIcon.d.ts +4 -0
  21. package/action-icon/ActionIcon.js +48 -0
  22. package/action-icon/ActionIcon.stories.tsx +41 -0
  23. package/action-icon/ActionIcon.test.js +64 -0
  24. package/action-icon/types.d.ts +26 -0
  25. package/alert/Alert.accessibility.test.js +95 -0
  26. package/alert/Alert.js +34 -120
  27. package/alert/Alert.test.js +28 -45
  28. package/alert/types.d.ts +5 -5
  29. package/badge/Badge.accessibility.test.js +129 -0
  30. package/badge/Badge.d.ts +1 -1
  31. package/badge/Badge.js +142 -42
  32. package/badge/Badge.stories.tsx +210 -0
  33. package/badge/Badge.test.js +30 -0
  34. package/badge/types.d.ts +52 -3
  35. package/bleed/Bleed.js +13 -21
  36. package/bleed/types.d.ts +2 -2
  37. package/box/Box.accessibility.test.js +33 -0
  38. package/box/Box.js +11 -33
  39. package/box/Box.test.js +1 -6
  40. package/box/types.d.ts +3 -3
  41. package/breadcrumbs/Breadcrumbs.accessibility.test.d.ts +1 -0
  42. package/breadcrumbs/Breadcrumbs.accessibility.test.js +96 -0
  43. package/breadcrumbs/Breadcrumbs.d.ts +4 -0
  44. package/breadcrumbs/Breadcrumbs.js +79 -0
  45. package/breadcrumbs/Breadcrumbs.stories.tsx +194 -0
  46. package/breadcrumbs/Breadcrumbs.test.d.ts +1 -0
  47. package/breadcrumbs/Breadcrumbs.test.js +169 -0
  48. package/breadcrumbs/Item.d.ts +4 -0
  49. package/breadcrumbs/Item.js +52 -0
  50. package/breadcrumbs/dropdownTheme.d.ts +53 -0
  51. package/breadcrumbs/dropdownTheme.js +62 -0
  52. package/breadcrumbs/types.d.ts +16 -0
  53. package/breadcrumbs/types.js +5 -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.js +36 -59
  60. package/button/Button.stories.tsx +35 -135
  61. package/button/Button.test.js +13 -21
  62. package/button/types.d.ts +5 -5
  63. package/card/Card.accessibility.test.js +36 -0
  64. package/card/Card.js +23 -45
  65. package/card/Card.test.js +10 -21
  66. package/card/types.d.ts +5 -5
  67. package/checkbox/Checkbox.accessibility.test.js +87 -0
  68. package/checkbox/Checkbox.js +88 -123
  69. package/checkbox/Checkbox.stories.tsx +16 -54
  70. package/checkbox/Checkbox.test.js +107 -63
  71. package/checkbox/types.d.ts +8 -4
  72. package/chip/Chip.accessibility.test.js +67 -0
  73. package/chip/Chip.js +22 -36
  74. package/chip/Chip.stories.tsx +10 -25
  75. package/chip/Chip.test.js +17 -30
  76. package/chip/types.d.ts +4 -4
  77. package/common/coreTokens.d.ts +105 -14
  78. package/common/coreTokens.js +40 -23
  79. package/common/utils.js +2 -8
  80. package/common/variables.d.ts +46 -144
  81. package/common/variables.js +120 -225
  82. package/container/Container.d.ts +4 -0
  83. package/container/Container.js +194 -0
  84. package/container/Container.stories.tsx +214 -0
  85. package/container/types.d.ts +74 -0
  86. package/container/types.js +5 -0
  87. package/contextual-menu/ContextualMenu.accessibility.test.js +97 -0
  88. package/contextual-menu/ContextualMenu.d.ts +5 -0
  89. package/contextual-menu/ContextualMenu.js +88 -0
  90. package/contextual-menu/ContextualMenu.stories.tsx +232 -0
  91. package/contextual-menu/ContextualMenu.test.js +205 -0
  92. package/contextual-menu/GroupItem.d.ts +4 -0
  93. package/contextual-menu/GroupItem.js +67 -0
  94. package/contextual-menu/ItemAction.d.ts +4 -0
  95. package/contextual-menu/ItemAction.js +51 -0
  96. package/contextual-menu/MenuItem.d.ts +4 -0
  97. package/contextual-menu/MenuItem.js +29 -0
  98. package/contextual-menu/SingleItem.d.ts +4 -0
  99. package/contextual-menu/SingleItem.js +38 -0
  100. package/contextual-menu/types.d.ts +58 -0
  101. package/contextual-menu/types.js +5 -0
  102. package/date-input/Calendar.js +13 -57
  103. package/date-input/DateInput.accessibility.test.js +228 -0
  104. package/date-input/DateInput.js +53 -100
  105. package/date-input/DateInput.stories.tsx +19 -31
  106. package/date-input/DateInput.test.js +674 -701
  107. package/date-input/DatePicker.js +23 -48
  108. package/date-input/YearPicker.js +8 -34
  109. package/date-input/types.d.ts +28 -22
  110. package/dialog/Dialog.accessibility.test.js +69 -0
  111. package/dialog/Dialog.js +21 -59
  112. package/dialog/Dialog.stories.tsx +176 -0
  113. package/dialog/Dialog.test.js +126 -188
  114. package/dialog/types.d.ts +18 -13
  115. package/divider/Divider.accessibility.test.js +33 -0
  116. package/divider/Divider.d.ts +4 -0
  117. package/divider/Divider.js +36 -0
  118. package/divider/Divider.stories.tsx +223 -0
  119. package/divider/Divider.test.js +38 -0
  120. package/divider/types.d.ts +21 -0
  121. package/divider/types.js +5 -0
  122. package/dropdown/Dropdown.accessibility.test.js +180 -0
  123. package/dropdown/Dropdown.js +63 -130
  124. package/dropdown/Dropdown.stories.tsx +15 -26
  125. package/dropdown/Dropdown.test.js +402 -389
  126. package/dropdown/DropdownMenu.js +12 -23
  127. package/dropdown/DropdownMenuItem.js +13 -21
  128. package/dropdown/types.d.ts +20 -24
  129. package/file-input/FileInput.accessibility.test.js +160 -0
  130. package/file-input/FileInput.js +180 -284
  131. package/file-input/FileInput.stories.tsx +1 -1
  132. package/file-input/FileInput.test.js +279 -354
  133. package/file-input/FileItem.js +29 -66
  134. package/file-input/types.d.ts +9 -9
  135. package/flex/Flex.js +25 -39
  136. package/flex/types.d.ts +6 -6
  137. package/footer/Footer.accessibility.test.js +125 -0
  138. package/footer/Footer.d.ts +1 -1
  139. package/footer/Footer.js +43 -68
  140. package/footer/Footer.stories.tsx +58 -2
  141. package/footer/Footer.test.js +18 -32
  142. package/footer/Icons.d.ts +3 -2
  143. package/footer/Icons.js +53 -22
  144. package/footer/types.d.ts +17 -17
  145. package/grid/Grid.js +1 -16
  146. package/grid/types.d.ts +10 -10
  147. package/header/Header.accessibility.test.js +93 -0
  148. package/header/Header.d.ts +1 -1
  149. package/header/Header.js +38 -104
  150. package/header/Header.stories.tsx +16 -0
  151. package/header/Header.test.js +12 -25
  152. package/header/Icons.d.ts +2 -2
  153. package/header/Icons.js +3 -13
  154. package/header/types.d.ts +7 -8
  155. package/heading/Heading.accessibility.test.js +33 -0
  156. package/heading/Heading.js +9 -31
  157. package/heading/Heading.test.js +70 -87
  158. package/heading/types.d.ts +7 -7
  159. package/icon/Icon.accessibility.test.js +30 -0
  160. package/icon/Icon.d.ts +4 -0
  161. package/icon/Icon.js +33 -0
  162. package/icon/Icon.stories.tsx +28 -0
  163. package/icon/types.d.ts +4 -0
  164. package/icon/types.js +5 -0
  165. package/image/Image.accessibility.test.js +56 -0
  166. package/image/Image.d.ts +2 -2
  167. package/image/Image.js +17 -32
  168. package/image/Image.stories.tsx +3 -1
  169. package/image/types.d.ts +2 -2
  170. package/inset/Inset.js +13 -21
  171. package/inset/types.d.ts +2 -2
  172. package/layout/ApplicationLayout.d.ts +2 -2
  173. package/layout/ApplicationLayout.js +23 -60
  174. package/layout/Icons.d.ts +4 -5
  175. package/layout/Icons.js +2 -16
  176. package/layout/types.d.ts +3 -3
  177. package/link/Link.accessibility.test.js +108 -0
  178. package/link/Link.js +28 -47
  179. package/link/Link.stories.tsx +4 -4
  180. package/link/Link.test.js +23 -41
  181. package/link/types.d.ts +14 -14
  182. package/main.d.ts +8 -4
  183. package/main.js +39 -60
  184. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  185. package/nav-tabs/NavTabs.d.ts +1 -2
  186. package/nav-tabs/NavTabs.js +19 -48
  187. package/nav-tabs/NavTabs.stories.tsx +30 -25
  188. package/nav-tabs/NavTabs.test.js +45 -50
  189. package/nav-tabs/NavTabsContext.d.ts +3 -0
  190. package/nav-tabs/NavTabsContext.js +8 -0
  191. package/nav-tabs/Tab.js +38 -67
  192. package/nav-tabs/types.d.ts +10 -10
  193. package/number-input/NumberInput.accessibility.test.js +228 -0
  194. package/number-input/NumberInput.d.ts +0 -7
  195. package/number-input/NumberInput.js +47 -39
  196. package/number-input/NumberInput.stories.tsx +42 -26
  197. package/number-input/NumberInput.test.js +839 -575
  198. package/number-input/NumberInputContext.d.ts +3 -0
  199. package/number-input/NumberInputContext.js +8 -0
  200. package/number-input/types.d.ts +17 -5
  201. package/package.json +41 -37
  202. package/paginator/Paginator.accessibility.test.js +79 -0
  203. package/paginator/Paginator.js +27 -52
  204. package/paginator/Paginator.test.js +224 -207
  205. package/paginator/types.d.ts +3 -3
  206. package/paragraph/Paragraph.accessibility.test.js +28 -0
  207. package/paragraph/Paragraph.js +3 -19
  208. package/paragraph/Paragraph.stories.tsx +0 -17
  209. package/password-input/PasswordInput.accessibility.test.js +153 -0
  210. package/password-input/PasswordInput.js +32 -54
  211. package/password-input/PasswordInput.stories.tsx +1 -34
  212. package/password-input/PasswordInput.test.js +153 -129
  213. package/password-input/types.d.ts +8 -7
  214. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  215. package/progress-bar/ProgressBar.js +26 -56
  216. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +1 -1
  217. package/progress-bar/ProgressBar.test.js +35 -52
  218. package/progress-bar/types.d.ts +3 -3
  219. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  220. package/quick-nav/QuickNav.js +4 -27
  221. package/quick-nav/QuickNav.stories.tsx +1 -1
  222. package/quick-nav/types.d.ts +10 -10
  223. package/radio-group/Radio.d.ts +1 -1
  224. package/radio-group/Radio.js +22 -54
  225. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  226. package/radio-group/RadioGroup.js +38 -83
  227. package/radio-group/RadioGroup.stories.tsx +10 -10
  228. package/radio-group/RadioGroup.test.js +504 -470
  229. package/radio-group/types.d.ts +8 -8
  230. package/resultset-table/Icons.d.ts +7 -0
  231. package/{resultsetTable → resultset-table}/Icons.js +1 -5
  232. package/resultset-table/ResultsetTable.accessibility.test.js +285 -0
  233. package/resultset-table/ResultsetTable.d.ts +7 -0
  234. package/{resultsetTable → resultset-table}/ResultsetTable.js +45 -69
  235. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +118 -5
  236. package/{resultsetTable → resultset-table}/ResultsetTable.test.js +148 -92
  237. package/{resultsetTable → resultset-table}/types.d.ts +44 -11
  238. package/resultset-table/types.js +5 -0
  239. package/select/Listbox.js +40 -54
  240. package/select/Option.js +28 -36
  241. package/select/Select.accessibility.test.js +228 -0
  242. package/select/Select.js +107 -171
  243. package/select/Select.stories.tsx +59 -111
  244. package/select/Select.test.js +1895 -1858
  245. package/select/types.d.ts +15 -16
  246. package/sidenav/Sidenav.accessibility.test.js +59 -0
  247. package/sidenav/Sidenav.js +44 -81
  248. package/sidenav/Sidenav.stories.tsx +4 -9
  249. package/sidenav/Sidenav.test.js +3 -10
  250. package/{layout → sidenav}/SidenavContext.d.ts +1 -1
  251. package/{layout → sidenav}/SidenavContext.js +3 -9
  252. package/sidenav/types.d.ts +20 -20
  253. package/slider/Slider.accessibility.test.js +104 -0
  254. package/slider/Slider.js +70 -126
  255. package/slider/Slider.test.js +107 -103
  256. package/slider/types.d.ts +4 -4
  257. package/spinner/Spinner.accessibility.test.js +96 -0
  258. package/spinner/Spinner.js +21 -55
  259. package/spinner/Spinner.test.js +25 -34
  260. package/spinner/types.d.ts +3 -3
  261. package/status-light/StatusLight.accessibility.test.js +157 -0
  262. package/status-light/StatusLight.d.ts +4 -0
  263. package/status-light/StatusLight.js +51 -0
  264. package/status-light/StatusLight.stories.tsx +74 -0
  265. package/status-light/StatusLight.test.js +25 -0
  266. package/status-light/types.d.ts +17 -0
  267. package/status-light/types.js +5 -0
  268. package/switch/Switch.accessibility.test.js +98 -0
  269. package/switch/Switch.js +49 -97
  270. package/switch/Switch.stories.tsx +12 -34
  271. package/switch/Switch.test.js +51 -96
  272. package/switch/types.d.ts +4 -4
  273. package/table/DropdownTheme.js +62 -0
  274. package/table/Table.accessibility.test.js +93 -0
  275. package/table/Table.d.ts +6 -2
  276. package/table/Table.js +76 -33
  277. package/table/{Table.stories.jsx → Table.stories.tsx} +309 -2
  278. package/table/Table.test.js +93 -6
  279. package/table/types.d.ts +34 -6
  280. package/tabs/Tab.js +22 -37
  281. package/tabs/Tabs.accessibility.test.js +56 -0
  282. package/tabs/Tabs.js +59 -147
  283. package/tabs/Tabs.stories.tsx +8 -4
  284. package/tabs/Tabs.test.js +57 -131
  285. package/tabs/types.d.ts +21 -21
  286. package/tag/Tag.accessibility.test.js +69 -0
  287. package/tag/Tag.js +27 -57
  288. package/tag/Tag.stories.tsx +4 -7
  289. package/tag/Tag.test.js +17 -36
  290. package/tag/types.d.ts +9 -9
  291. package/text-input/Suggestion.js +9 -26
  292. package/text-input/Suggestions.d.ts +1 -1
  293. package/text-input/Suggestions.js +30 -70
  294. package/text-input/TextInput.accessibility.test.js +321 -0
  295. package/text-input/TextInput.js +203 -289
  296. package/text-input/TextInput.stories.tsx +65 -160
  297. package/text-input/TextInput.test.js +1227 -1194
  298. package/text-input/types.d.ts +25 -17
  299. package/textarea/Textarea.accessibility.test.js +155 -0
  300. package/textarea/Textarea.js +68 -109
  301. package/textarea/{Textarea.stories.jsx → Textarea.stories.tsx} +58 -100
  302. package/textarea/Textarea.test.js +150 -179
  303. package/textarea/types.d.ts +9 -5
  304. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  305. package/toggle-group/ToggleGroup.js +25 -64
  306. package/toggle-group/ToggleGroup.stories.tsx +4 -4
  307. package/toggle-group/ToggleGroup.test.js +48 -81
  308. package/toggle-group/types.d.ts +12 -12
  309. package/typography/Typography.accessibility.test.js +339 -0
  310. package/typography/Typography.js +4 -13
  311. package/typography/types.d.ts +1 -1
  312. package/useTheme.d.ts +43 -141
  313. package/useTheme.js +1 -8
  314. package/useTranslatedLabels.js +1 -7
  315. package/utils/BaseTypography.d.ts +2 -2
  316. package/utils/BaseTypography.js +16 -30
  317. package/utils/FocusLock.js +25 -39
  318. package/wizard/Wizard.accessibility.test.js +55 -0
  319. package/wizard/Wizard.js +27 -73
  320. package/wizard/Wizard.stories.tsx +19 -0
  321. package/wizard/Wizard.test.js +53 -80
  322. package/wizard/types.d.ts +8 -8
  323. package/common/OpenSans.css +0 -69
  324. package/common/fonts/OpenSans-Bold.ttf +0 -0
  325. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  326. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  327. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  328. package/common/fonts/OpenSans-Italic.ttf +0 -0
  329. package/common/fonts/OpenSans-Light.ttf +0 -0
  330. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  331. package/common/fonts/OpenSans-Regular.ttf +0 -0
  332. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  333. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  334. package/date-input/Icons.d.ts +0 -6
  335. package/date-input/Icons.js +0 -75
  336. package/paginator/Icons.d.ts +0 -5
  337. package/paginator/Icons.js +0 -54
  338. package/password-input/Icons.d.ts +0 -6
  339. package/password-input/Icons.js +0 -39
  340. package/resultsetTable/Icons.d.ts +0 -7
  341. package/resultsetTable/ResultsetTable.d.ts +0 -4
  342. package/select/Icons.d.ts +0 -10
  343. package/select/Icons.js +0 -93
  344. package/sidenav/Icons.d.ts +0 -7
  345. package/sidenav/Icons.js +0 -51
  346. package/slider/Slider.stories.tsx +0 -240
  347. package/text-input/Icons.d.ts +0 -8
  348. package/text-input/Icons.js +0 -60
  349. /package/{resultsetTable → action-icon}/types.js +0 -0
  350. /package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +0 -0
package/tag/Tag.js CHANGED
@@ -1,75 +1,57 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof3 = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports["default"] = void 0;
11
-
12
9
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
-
14
10
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
-
16
11
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
-
18
12
  var _react = _interopRequireWildcard(require("react"));
19
-
20
13
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
-
22
14
  var _variables = require("../common/variables");
23
-
24
15
  var _useTheme = _interopRequireDefault(require("../useTheme"));
25
-
26
16
  var _utils = require("../common/utils");
27
-
28
17
  var _Box = _interopRequireDefault(require("../box/Box"));
29
-
30
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
31
-
32
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
33
-
34
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
35
-
18
+ var _Icon = _interopRequireDefault(require("../icon/Icon"));
19
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
20
+ 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 && {}.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; }
36
22
  var DxcTag = function DxcTag(_ref) {
37
23
  var icon = _ref.icon,
38
- _ref$label = _ref.label,
39
- label = _ref$label === void 0 ? "" : _ref$label,
40
- linkHref = _ref.linkHref,
41
- onClick = _ref.onClick,
42
- _ref$iconBgColor = _ref.iconBgColor,
43
- iconBgColor = _ref$iconBgColor === void 0 ? "#5f249f" : _ref$iconBgColor,
44
- _ref$labelPosition = _ref.labelPosition,
45
- labelPosition = _ref$labelPosition === void 0 ? "after" : _ref$labelPosition,
46
- _ref$newWindow = _ref.newWindow,
47
- newWindow = _ref$newWindow === void 0 ? false : _ref$newWindow,
48
- margin = _ref.margin,
49
- _ref$size = _ref.size,
50
- size = _ref$size === void 0 ? "fitContent" : _ref$size,
51
- _ref$tabIndex = _ref.tabIndex,
52
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
24
+ _ref$label = _ref.label,
25
+ label = _ref$label === void 0 ? "" : _ref$label,
26
+ linkHref = _ref.linkHref,
27
+ onClick = _ref.onClick,
28
+ _ref$iconBgColor = _ref.iconBgColor,
29
+ iconBgColor = _ref$iconBgColor === void 0 ? "#5f249f" : _ref$iconBgColor,
30
+ _ref$labelPosition = _ref.labelPosition,
31
+ labelPosition = _ref$labelPosition === void 0 ? "after" : _ref$labelPosition,
32
+ _ref$newWindow = _ref.newWindow,
33
+ newWindow = _ref$newWindow === void 0 ? false : _ref$newWindow,
34
+ margin = _ref.margin,
35
+ _ref$size = _ref.size,
36
+ size = _ref$size === void 0 ? "fitContent" : _ref$size,
37
+ _ref$tabIndex = _ref.tabIndex,
38
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
53
39
  var colorsTheme = (0, _useTheme["default"])();
54
-
55
40
  var _useState = (0, _react.useState)(false),
56
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
57
- isHovered = _useState2[0],
58
- changeIsHovered = _useState2[1];
59
-
41
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
42
+ isHovered = _useState2[0],
43
+ changeIsHovered = _useState2[1];
60
44
  var clickHandler = function clickHandler() {
61
45
  onClick && onClick();
62
46
  };
63
-
64
47
  var tagContent = /*#__PURE__*/_react["default"].createElement(_Box["default"], {
65
48
  size: size,
66
49
  shadowDepth: isHovered && (onClick || linkHref) && 2 || 1
67
50
  }, /*#__PURE__*/_react["default"].createElement(TagContent, null, labelPosition === "before" && size !== "small" && label && /*#__PURE__*/_react["default"].createElement(TagLabel, null, label), icon && /*#__PURE__*/_react["default"].createElement(IconContainer, {
68
51
  iconBgColor: iconBgColor
69
- }, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(TagIcon, {
70
- src: icon
52
+ }, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
53
+ icon: icon
71
54
  }) : icon), labelPosition === "after" && size !== "small" && label && /*#__PURE__*/_react["default"].createElement(TagLabel, null, label)));
72
-
73
55
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
74
56
  theme: colorsTheme.tag
75
57
  }, /*#__PURE__*/_react["default"].createElement(StyledDxcTag, {
@@ -91,7 +73,6 @@ var DxcTag = function DxcTag(_ref) {
91
73
  target: newWindow ? "_blank" : "_self"
92
74
  }, tagContent) : tagContent));
93
75
  };
94
-
95
76
  var sizes = {
96
77
  small: "42px",
97
78
  medium: "240px",
@@ -99,11 +80,9 @@ var sizes = {
99
80
  fillParent: "100%",
100
81
  fitContent: "fit-content"
101
82
  };
102
-
103
83
  var calculateWidth = function calculateWidth(margin, size) {
104
84
  return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
105
85
  };
106
-
107
86
  var StyledDxcTag = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n cursor: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n width: ", ";\n height: ", ";\n"])), function (_ref2) {
108
87
  var hasAction = _ref2.hasAction;
109
88
  return hasAction && "pointer" || "unset";
@@ -127,20 +106,16 @@ var StyledDxcTag = _styledComponents["default"].div(_templateObject || (_templat
127
106
  }, function (props) {
128
107
  return props.theme.height;
129
108
  });
130
-
131
109
  var TagContent = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n align-items: center;\n width: 100%;\n height: ", ";\n"])), function (props) {
132
110
  return props.theme.height;
133
111
  });
134
-
135
112
  var StyledLink = _styledComponents["default"].a(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n text-decoration: none;\n border-radius: 4px;\n width: 100%;\n :focus {\n outline: 2px solid ", ";\n outline-offset: 0px;\n }\n"])), function (props) {
136
113
  return props.theme.focusColor;
137
114
  });
138
-
139
115
  var StyledButton = _styledComponents["default"].button(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n background: none;\n border-radius: 4px;\n border: none;\n padding: 0;\n cursor: pointer;\n font-family: inherit;\n width: 100%;\n :focus {\n outline: 2px solid ", ";\n }\n"])), function (props) {
140
116
  return props.theme.focusColor;
141
117
  });
142
-
143
- var IconContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n background: ", ";\n width: ", ";\n height: 100%;\n justify-content: center;\n align-items: center;\n color: ", ";\n min-width: ", ";\n overflow: hidden;\n img,\n svg {\n width: ", ";\n height: ", ";\n }\n"])), function (_ref8) {
118
+ var IconContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n background: ", ";\n width: ", ";\n height: 100%;\n justify-content: center;\n align-items: center;\n color: ", ";\n min-width: ", ";\n overflow: hidden;\n font-size: 24px;\n\n svg {\n width: ", ";\n height: ", ";\n }\n"])), function (_ref8) {
144
119
  var iconBgColor = _ref8.iconBgColor;
145
120
  return iconBgColor;
146
121
  }, function (props) {
@@ -154,10 +129,7 @@ var IconContainer = _styledComponents["default"].div(_templateObject5 || (_templ
154
129
  }, function (props) {
155
130
  return props.theme.iconHeight;
156
131
  });
157
-
158
- var TagIcon = _styledComponents["default"].img(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])([""])));
159
-
160
- var TagLabel = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n flex-grow: 1;\n text-align: center;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n"])), function (props) {
132
+ var TagLabel = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n flex-grow: 1;\n text-align: center;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n"])), function (props) {
161
133
  return props.theme.fontFamily;
162
134
  }, function (props) {
163
135
  return props.theme.fontSize;
@@ -176,6 +148,4 @@ var TagLabel = _styledComponents["default"].div(_templateObject7 || (_templateOb
176
148
  }, function (props) {
177
149
  return props.theme.labelPaddingRight;
178
150
  });
179
-
180
- var _default = DxcTag;
181
- exports["default"] = _default;
151
+ var _default = exports["default"] = DxcTag;
@@ -47,14 +47,11 @@ export const Chromatic = () => (
47
47
  </ExampleContainer>
48
48
  <ExampleContainer>
49
49
  <Title title="With label and icon" theme="light" level={4} />
50
- <DxcTag
51
- label="Tag"
52
- icon="https://iconape.com/wp-content/files/yd/367773/svg/logo-linkedin-logo-icon-png-svg.png"
53
- />
50
+ <DxcTag label="Tag" icon="person" />
54
51
  </ExampleContainer>
55
52
  <ExampleContainer>
56
53
  <Title title="With right icon" theme="light" level={4} />
57
- <DxcTag label="Tag" icon={icon} labelPosition="before" />
54
+ <DxcTag label="Tag" icon="group" labelPosition="before" />
58
55
  </ExampleContainer>
59
56
  <ExampleContainer>
60
57
  <Title title="Icon background color" theme="light" level={4} />
@@ -67,7 +64,7 @@ export const Chromatic = () => (
67
64
  <ExampleContainer pseudoState="pseudo-focus">
68
65
  <Title title="With action focused" theme="light" level={4} />
69
66
  <DxcTag
70
- icon={icon}
67
+ icon="done"
71
68
  label="Tag"
72
69
  onClick={() => {
73
70
  console.log("click");
@@ -110,7 +107,7 @@ export const Chromatic = () => (
110
107
  </ExampleContainer>
111
108
  <ExampleContainer>
112
109
  <Title title="Medium size" theme="light" level={4} />
113
- <DxcTag label="Medium size medium s" size="medium" icon={icon} />
110
+ <DxcTag label="Medium size medium s" size="medium" icon="person" />
114
111
  </ExampleContainer>
115
112
  <ExampleContainer>
116
113
  <Title title="Medium size with ellipsis" theme="light" level={4} />
package/tag/Tag.test.js CHANGED
@@ -1,60 +1,41 @@
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 _Tag = _interopRequireDefault(require("./Tag.tsx"));
10
-
11
7
  describe("Tag component tests", function () {
12
8
  test("Tag renders with correct label", function () {
13
9
  var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tag["default"], {
14
- label: "tag-test"
15
- })),
16
- getByText = _render.getByText;
17
-
10
+ label: "tag-test"
11
+ })),
12
+ getByText = _render.getByText;
18
13
  expect(getByText("tag-test")).toBeTruthy();
19
14
  });
20
15
  test("Tag renders with correct label before", function () {
21
16
  var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tag["default"], {
22
- label: "tag-test",
23
- labelPosition: "before"
24
- })),
25
- getByText = _render2.getByText;
26
-
17
+ label: "tag-test",
18
+ labelPosition: "before"
19
+ })),
20
+ getByText = _render2.getByText;
27
21
  expect(getByText("tag-test")).toBeTruthy();
28
22
  });
29
- test("Tag renders with correct icon", function () {
30
- var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tag["default"], {
31
- label: "tag-test",
32
- icon: "/test-icon.jpg"
33
- })),
34
- getByRole = _render3.getByRole;
35
-
36
- expect(getByRole("img").getAttribute("src")).toBe("/test-icon.jpg");
37
- });
38
23
  test("Tag renders with link href", function () {
39
- var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tag["default"], {
40
- label: "tag-test",
41
- linkHref: "/test/page"
42
- })),
43
- getByRole = _render4.getByRole;
44
-
24
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tag["default"], {
25
+ label: "tag-test",
26
+ linkHref: "/test/page"
27
+ })),
28
+ getByRole = _render3.getByRole;
45
29
  expect(getByRole("link").getAttribute("href")).toBe("/test/page");
46
30
  });
47
31
  test("Call correct function on click", function () {
48
32
  var onClick = jest.fn();
49
-
50
- var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tag["default"], {
51
- label: "tag-test",
52
- onClick: onClick
53
- })),
54
- getByText = _render5.getByText;
55
-
33
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tag["default"], {
34
+ label: "tag-test",
35
+ onClick: onClick
36
+ })),
37
+ getByText = _render4.getByText;
56
38
  _react2.fireEvent.click(getByText("tag-test"));
57
-
58
39
  expect(onClick).toHaveBeenCalled();
59
40
  });
60
41
  });
package/tag/types.d.ts CHANGED
@@ -1,13 +1,13 @@
1
1
  /// <reference types="react" />
2
- declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
- declare type Margin = {
2
+ type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ type Margin = {
4
4
  top?: Space;
5
5
  bottom?: Space;
6
6
  left?: Space;
7
7
  right?: Space;
8
8
  };
9
- declare type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
10
- declare type TagCommonProps = {
9
+ type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
10
+ type TagCommonProps = {
11
11
  /**
12
12
  * If defined, the tag will be displayed as an anchor, using this prop as "href".
13
13
  * Component will show some visual feedback on hover.
@@ -45,9 +45,9 @@ declare type TagCommonProps = {
45
45
  */
46
46
  tabIndex?: number;
47
47
  };
48
- declare type TagLabelProps = TagCommonProps & {
48
+ type TagLabelProps = TagCommonProps & {
49
49
  /**
50
- * Element or path used as the icon that will be placed next to the label.
50
+ * Material Symbol name or SVG element used as the icon that will be placed next to the label.
51
51
  */
52
52
  icon?: string | SVG;
53
53
  /**
@@ -55,9 +55,9 @@ declare type TagLabelProps = TagCommonProps & {
55
55
  */
56
56
  label: string;
57
57
  };
58
- declare type TagIconProps = TagCommonProps & {
58
+ type TagIconProps = TagCommonProps & {
59
59
  /**
60
- * Element or path used as the icon that will be placed next to the label.
60
+ * Material Symbol name or SVG element used as the icon that will be placed next to the label.
61
61
  */
62
62
  icon: string | SVG;
63
63
  /**
@@ -65,5 +65,5 @@ declare type TagIconProps = TagCommonProps & {
65
65
  */
66
66
  label?: string;
67
67
  };
68
- declare type Props = TagLabelProps | TagIconProps;
68
+ type Props = TagLabelProps | TagIconProps;
69
69
  export default Props;
@@ -1,30 +1,20 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports["default"] = void 0;
11
-
12
9
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
-
14
10
  var _react = _interopRequireWildcard(require("react"));
15
-
16
11
  var _styledComponents = _interopRequireDefault(require("styled-components"));
17
-
18
12
  var _templateObject, _templateObject2;
19
-
20
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
-
22
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
-
13
+ 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); }
14
+ 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; }
24
15
  var transformSpecialChars = function transformSpecialChars(str) {
25
16
  var specialCharsRegex = /[\\*()\[\]{}+?/]/;
26
17
  var value = str;
27
-
28
18
  if (specialCharsRegex.test(value)) {
29
19
  var regexAsString = specialCharsRegex.toString().split("");
30
20
  var uniqueSpecialChars = regexAsString.filter(function (item, index) {
@@ -34,18 +24,16 @@ var transformSpecialChars = function transformSpecialChars(str) {
34
24
  if (str.includes(specialChar)) value = value.replace(specialChar, "\\" + specialChar);
35
25
  });
36
26
  }
37
-
38
27
  return value;
39
28
  };
40
-
41
29
  var Suggestion = function Suggestion(_ref) {
42
30
  var id = _ref.id,
43
- value = _ref.value,
44
- _onClick = _ref.onClick,
45
- suggestion = _ref.suggestion,
46
- isLast = _ref.isLast,
47
- visuallyFocused = _ref.visuallyFocused,
48
- highlighted = _ref.highlighted;
31
+ value = _ref.value,
32
+ _onClick = _ref.onClick,
33
+ suggestion = _ref.suggestion,
34
+ isLast = _ref.isLast,
35
+ visuallyFocused = _ref.visuallyFocused,
36
+ highlighted = _ref.highlighted;
49
37
  var matchedSuggestion = (0, _react.useMemo)(function () {
50
38
  var regEx = new RegExp(transformSpecialChars(value), "i");
51
39
  return {
@@ -66,7 +54,6 @@ var Suggestion = function Suggestion(_ref) {
66
54
  visuallyFocused: visuallyFocused
67
55
  }, highlighted ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("strong", null, matchedSuggestion.matchedWords), matchedSuggestion.noMatchedWords) : suggestion));
68
56
  };
69
-
70
57
  var SuggestionContainer = _styledComponents["default"].li(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n padding: 0 0.5rem;\n line-height: 1.715em;\n cursor: pointer;\n box-shadow: inset 0 0 0 2px\n ", ";\n\n &:hover {\n background-color: ", ";\n }\n &:active {\n background-color: ", ";\n }\n"])), function (props) {
71
58
  return props.visuallyFocused ? props.theme.focusListOptionBorderColor : "transparent";
72
59
  }, function (props) {
@@ -74,11 +61,7 @@ var SuggestionContainer = _styledComponents["default"].li(_templateObject || (_t
74
61
  }, function (props) {
75
62
  return props.theme.activeListOptionBackgroundColor;
76
63
  });
77
-
78
64
  var StyledSuggestion = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n padding: 0.25rem 0.5rem 0.188rem 0.5rem;\n ", ";\n"])), function (props) {
79
65
  return props.isLast || props.visuallyFocused ? "border-bottom: 1px solid transparent" : "border-bottom: 1px solid ".concat(props.theme.listOptionDividerColor);
80
66
  });
81
-
82
- var _default = /*#__PURE__*/_react["default"].memo(Suggestion);
83
-
84
- exports["default"] = _default;
67
+ var _default = exports["default"] = /*#__PURE__*/_react["default"].memo(Suggestion);
@@ -1,4 +1,4 @@
1
1
  import React from "react";
2
2
  import { SuggestionsProps } from "./types";
3
- declare const _default: React.MemoExoticComponent<({ id, value, suggestions, visualFocusIndex, highlightedSuggestions, searchHasErrors, isSearching, suggestionOnClick, getTextInputWidth, }: SuggestionsProps) => JSX.Element>;
3
+ declare const _default: React.MemoExoticComponent<({ id, value, suggestions, visualFocusIndex, highlightedSuggestions, searchHasErrors, isSearching, suggestionOnClick, styles, }: SuggestionsProps) => JSX.Element>;
4
4
  export default _default;
@@ -1,80 +1,40 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports["default"] = void 0;
11
-
12
9
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
-
14
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
-
16
10
  var _react = _interopRequireWildcard(require("react"));
17
-
18
11
  var _styledComponents = _interopRequireDefault(require("styled-components"));
19
-
20
12
  var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
21
-
22
- var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
23
-
24
13
  var _Suggestion = _interopRequireDefault(require("./Suggestion"));
25
-
26
- var _Icons = _interopRequireDefault(require("./Icons"));
27
-
14
+ var _Icon = _interopRequireDefault(require("../icon/Icon"));
28
15
  var _templateObject, _templateObject2, _templateObject3, _templateObject4;
29
-
30
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
31
-
32
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
33
-
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; }
34
18
  var Suggestions = function Suggestions(_ref) {
35
19
  var id = _ref.id,
36
- value = _ref.value,
37
- suggestions = _ref.suggestions,
38
- visualFocusIndex = _ref.visualFocusIndex,
39
- highlightedSuggestions = _ref.highlightedSuggestions,
40
- searchHasErrors = _ref.searchHasErrors,
41
- isSearching = _ref.isSearching,
42
- suggestionOnClick = _ref.suggestionOnClick,
43
- getTextInputWidth = _ref.getTextInputWidth;
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;
44
28
  var translatedLabels = (0, _useTranslatedLabels["default"])();
45
- var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
46
29
  var listboxRef = (0, _react.useRef)(null);
47
-
48
- var _useState = (0, _react.useState)(null),
49
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
50
- styles = _useState2[0],
51
- setStyles = _useState2[1];
52
-
53
- (0, _react.useLayoutEffect)(function () {
30
+ (0, _react.useEffect)(function () {
54
31
  var _listboxRef$current, _visualFocusedOptionE;
55
-
56
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];
57
33
  visualFocusedOptionEl === null || visualFocusedOptionEl === void 0 ? void 0 : (_visualFocusedOptionE = visualFocusedOptionEl.scrollIntoView) === null || _visualFocusedOptionE === void 0 ? void 0 : _visualFocusedOptionE.call(visualFocusedOptionEl, {
58
34
  block: "nearest",
59
35
  inline: "start"
60
36
  });
61
37
  }, [visualFocusIndex]);
62
-
63
- var handleResize = function handleResize() {
64
- setStyles({
65
- width: getTextInputWidth()
66
- });
67
- };
68
-
69
- (0, _react.useLayoutEffect)(function () {
70
- handleResize();
71
- }, [getTextInputWidth]);
72
- (0, _react.useEffect)(function () {
73
- window.addEventListener("resize", handleResize);
74
- return function () {
75
- window.removeEventListener("resize", handleResize);
76
- };
77
- }, [getTextInputWidth]);
78
38
  return /*#__PURE__*/_react["default"].createElement(SuggestionsContainer, {
79
39
  id: id,
80
40
  error: searchHasErrors ? true : false,
@@ -83,12 +43,12 @@ var Suggestions = function Suggestions(_ref) {
83
43
  },
84
44
  ref: listboxRef,
85
45
  role: "listbox",
86
- backgroundType: backgroundType,
87
- style: styles
46
+ style: styles,
47
+ "aria-label": "Suggestions"
88
48
  }, !isSearching && !searchHasErrors && suggestions.length > 0 && suggestions.map(function (suggestion, index) {
89
49
  return /*#__PURE__*/_react["default"].createElement(_Suggestion["default"], {
90
- key: "suggestion-".concat(index),
91
- id: "suggestion-".concat(index),
50
+ key: "".concat(id, "-suggestion-").concat(index),
51
+ id: "".concat(id, "-suggestion-").concat(index),
92
52
  value: value,
93
53
  onClick: suggestionOnClick,
94
54
  suggestion: suggestion,
@@ -96,15 +56,21 @@ var Suggestions = function Suggestions(_ref) {
96
56
  visuallyFocused: visualFocusIndex === index,
97
57
  highlighted: highlightedSuggestions
98
58
  });
99
- }), isSearching && /*#__PURE__*/_react["default"].createElement(SuggestionsSystemMessage, null, translatedLabels.textInput.searchingMessage), searchHasErrors && /*#__PURE__*/_react["default"].createElement(SuggestionsError, null, /*#__PURE__*/_react["default"].createElement(SuggestionsErrorIcon, {
100
- backgroundType: backgroundType
101
- }, _Icons["default"].error), translatedLabels.textInput.fetchingDataErrorMessage));
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)));
102
69
  };
103
-
104
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) {
105
71
  return props.error ? props.theme.errorListDialogBackgroundColor : props.theme.listDialogBackgroundColor;
106
72
  }, function (props) {
107
- return props.error ? props.backgroundType === "dark" ? props.theme.errorBorderColorOnDark : props.theme.errorListDialogBorderColor : props.theme.listDialogBorderColor;
73
+ return props.error ? props.theme.errorListDialogBorderColor : props.theme.listDialogBorderColor;
108
74
  }, function (props) {
109
75
  return props.theme.listOptionFontColor;
110
76
  }, function (props) {
@@ -116,19 +82,13 @@ var SuggestionsContainer = _styledComponents["default"].ul(_templateObject || (_
116
82
  }, function (props) {
117
83
  return props.theme.listOptionFontWeight;
118
84
  });
119
-
120
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) {
121
86
  return props.theme.systemMessageFontColor;
122
87
  });
123
-
124
- 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 color: ", ";\n"])), function (props) {
125
- return props.backgroundType === "dark" ? props.theme.errorIconColorOnDark : props.theme.errorIconColor;
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;
126
90
  });
127
-
128
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) {
129
92
  return props.theme.errorListDialogFontColor;
130
93
  });
131
-
132
- var _default = /*#__PURE__*/_react["default"].memo(Suggestions);
133
-
134
- exports["default"] = _default;
94
+ var _default = exports["default"] = /*#__PURE__*/_react["default"].memo(Suggestions);