@dxc-technology/halstack-react 0.0.0-74ba970 → 0.0.0-74dd241

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 (478) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +5 -22
  3. package/HalstackContext.d.ts +1240 -6
  4. package/HalstackContext.js +130 -115
  5. package/README.md +47 -0
  6. package/accordion/Accordion.accessibility.test.d.ts +1 -0
  7. package/accordion/Accordion.accessibility.test.js +71 -0
  8. package/accordion/Accordion.d.ts +1 -1
  9. package/accordion/Accordion.js +44 -121
  10. package/accordion/Accordion.stories.tsx +82 -147
  11. package/accordion/Accordion.test.d.ts +1 -0
  12. package/accordion/Accordion.test.js +18 -33
  13. package/accordion/types.d.ts +6 -17
  14. package/accordion-group/AccordionGroup.accessibility.test.d.ts +1 -0
  15. package/accordion-group/AccordionGroup.accessibility.test.js +82 -0
  16. package/accordion-group/AccordionGroup.d.ts +2 -2
  17. package/accordion-group/AccordionGroup.js +29 -77
  18. package/accordion-group/AccordionGroup.stories.tsx +78 -77
  19. package/accordion-group/AccordionGroup.test.d.ts +1 -0
  20. package/accordion-group/AccordionGroup.test.js +41 -73
  21. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  22. package/accordion-group/AccordionGroupAccordion.js +31 -0
  23. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  24. package/accordion-group/AccordionGroupContext.js +8 -0
  25. package/accordion-group/types.d.ts +7 -18
  26. package/action-icon/ActionIcon.accessibility.test.d.ts +1 -0
  27. package/action-icon/ActionIcon.accessibility.test.js +63 -0
  28. package/action-icon/ActionIcon.d.ts +4 -0
  29. package/action-icon/ActionIcon.js +48 -0
  30. package/action-icon/ActionIcon.stories.tsx +41 -0
  31. package/action-icon/ActionIcon.test.d.ts +1 -0
  32. package/action-icon/ActionIcon.test.js +64 -0
  33. package/action-icon/types.d.ts +26 -0
  34. package/alert/Alert.accessibility.test.d.ts +1 -0
  35. package/alert/Alert.accessibility.test.js +95 -0
  36. package/alert/Alert.js +36 -126
  37. package/alert/Alert.stories.tsx +28 -0
  38. package/alert/Alert.test.d.ts +1 -0
  39. package/alert/Alert.test.js +28 -45
  40. package/alert/types.d.ts +5 -5
  41. package/badge/Badge.accessibility.test.d.ts +1 -0
  42. package/badge/Badge.accessibility.test.js +129 -0
  43. package/badge/Badge.d.ts +1 -1
  44. package/badge/Badge.js +142 -42
  45. package/badge/Badge.stories.tsx +210 -0
  46. package/badge/Badge.test.d.ts +1 -0
  47. package/badge/Badge.test.js +30 -0
  48. package/badge/types.d.ts +52 -3
  49. package/bleed/Bleed.js +13 -21
  50. package/bleed/Bleed.stories.tsx +1 -0
  51. package/bleed/types.d.ts +2 -2
  52. package/box/Box.accessibility.test.d.ts +1 -0
  53. package/box/Box.accessibility.test.js +33 -0
  54. package/box/Box.d.ts +1 -1
  55. package/box/Box.js +18 -59
  56. package/box/Box.stories.tsx +38 -51
  57. package/box/Box.test.d.ts +1 -0
  58. package/box/Box.test.js +1 -6
  59. package/box/types.d.ts +3 -14
  60. package/breadcrumbs/Breadcrumbs.accessibility.test.d.ts +1 -0
  61. package/breadcrumbs/Breadcrumbs.accessibility.test.js +96 -0
  62. package/breadcrumbs/Breadcrumbs.d.ts +4 -0
  63. package/breadcrumbs/Breadcrumbs.js +79 -0
  64. package/breadcrumbs/Breadcrumbs.stories.tsx +194 -0
  65. package/breadcrumbs/Breadcrumbs.test.d.ts +1 -0
  66. package/breadcrumbs/Breadcrumbs.test.js +168 -0
  67. package/breadcrumbs/Item.d.ts +4 -0
  68. package/breadcrumbs/Item.js +52 -0
  69. package/breadcrumbs/dropdownTheme.d.ts +53 -0
  70. package/breadcrumbs/dropdownTheme.js +62 -0
  71. package/breadcrumbs/types.d.ts +16 -0
  72. package/bulleted-list/BulletedList.accessibility.test.d.ts +1 -0
  73. package/bulleted-list/BulletedList.accessibility.test.js +119 -0
  74. package/bulleted-list/BulletedList.js +22 -53
  75. package/bulleted-list/BulletedList.stories.tsx +8 -93
  76. package/bulleted-list/types.d.ts +32 -5
  77. package/button/Button.accessibility.test.d.ts +1 -0
  78. package/button/Button.accessibility.test.js +127 -0
  79. package/button/Button.d.ts +1 -1
  80. package/button/Button.js +71 -106
  81. package/button/Button.stories.tsx +143 -101
  82. package/button/Button.test.d.ts +1 -0
  83. package/button/Button.test.js +19 -16
  84. package/button/types.d.ts +9 -5
  85. package/card/Card.accessibility.test.d.ts +1 -0
  86. package/card/Card.accessibility.test.js +36 -0
  87. package/card/Card.d.ts +1 -1
  88. package/card/Card.js +49 -89
  89. package/card/Card.stories.tsx +13 -43
  90. package/card/Card.test.d.ts +1 -0
  91. package/card/Card.test.js +10 -21
  92. package/card/types.d.ts +6 -11
  93. package/checkbox/Checkbox.accessibility.test.d.ts +1 -0
  94. package/checkbox/Checkbox.accessibility.test.js +87 -0
  95. package/checkbox/Checkbox.d.ts +2 -2
  96. package/checkbox/Checkbox.js +95 -132
  97. package/checkbox/Checkbox.stories.tsx +128 -94
  98. package/checkbox/Checkbox.test.d.ts +1 -0
  99. package/checkbox/Checkbox.test.js +107 -63
  100. package/checkbox/types.d.ts +11 -3
  101. package/chip/Chip.accessibility.test.d.ts +1 -0
  102. package/chip/Chip.accessibility.test.js +67 -0
  103. package/chip/Chip.js +45 -80
  104. package/chip/Chip.stories.tsx +103 -27
  105. package/chip/Chip.test.d.ts +1 -0
  106. package/chip/Chip.test.js +17 -32
  107. package/chip/types.d.ts +4 -4
  108. package/common/coreTokens.d.ts +237 -0
  109. package/common/coreTokens.js +184 -0
  110. package/common/utils.d.ts +1 -0
  111. package/common/utils.js +6 -12
  112. package/common/variables.d.ts +1392 -0
  113. package/common/variables.js +976 -1220
  114. package/container/Container.d.ts +4 -0
  115. package/container/Container.js +194 -0
  116. package/container/Container.stories.tsx +214 -0
  117. package/container/types.d.ts +74 -0
  118. package/contextual-menu/ContextualMenu.accessibility.test.d.ts +1 -0
  119. package/contextual-menu/ContextualMenu.accessibility.test.js +98 -0
  120. package/contextual-menu/ContextualMenu.d.ts +5 -0
  121. package/contextual-menu/ContextualMenu.js +108 -0
  122. package/contextual-menu/ContextualMenu.stories.tsx +223 -0
  123. package/contextual-menu/ContextualMenu.test.d.ts +1 -0
  124. package/contextual-menu/ContextualMenu.test.js +247 -0
  125. package/contextual-menu/GroupItem.d.ts +4 -0
  126. package/contextual-menu/GroupItem.js +67 -0
  127. package/contextual-menu/ItemAction.d.ts +4 -0
  128. package/contextual-menu/ItemAction.js +50 -0
  129. package/contextual-menu/MenuItem.d.ts +4 -0
  130. package/contextual-menu/MenuItem.js +29 -0
  131. package/contextual-menu/SingleItem.d.ts +4 -0
  132. package/contextual-menu/SingleItem.js +38 -0
  133. package/contextual-menu/types.d.ts +61 -0
  134. package/contextual-menu/types.js +5 -0
  135. package/date-input/Calendar.d.ts +4 -0
  136. package/date-input/Calendar.js +230 -0
  137. package/date-input/DateInput.accessibility.test.d.ts +1 -0
  138. package/date-input/DateInput.accessibility.test.js +229 -0
  139. package/date-input/DateInput.js +156 -300
  140. package/date-input/DateInput.stories.tsx +210 -57
  141. package/date-input/DateInput.test.d.ts +1 -0
  142. package/date-input/DateInput.test.js +699 -370
  143. package/date-input/DatePicker.d.ts +4 -0
  144. package/date-input/DatePicker.js +121 -0
  145. package/date-input/YearPicker.d.ts +4 -0
  146. package/date-input/YearPicker.js +105 -0
  147. package/date-input/types.d.ts +72 -15
  148. package/dialog/Dialog.accessibility.test.d.ts +1 -0
  149. package/dialog/Dialog.accessibility.test.js +69 -0
  150. package/dialog/Dialog.d.ts +1 -1
  151. package/dialog/Dialog.js +50 -119
  152. package/dialog/Dialog.stories.tsx +324 -166
  153. package/dialog/Dialog.test.d.ts +1 -0
  154. package/dialog/Dialog.test.js +332 -32
  155. package/dialog/types.d.ts +18 -25
  156. package/divider/Divider.accessibility.test.d.ts +1 -0
  157. package/divider/Divider.accessibility.test.js +33 -0
  158. package/divider/Divider.d.ts +4 -0
  159. package/divider/Divider.js +36 -0
  160. package/divider/Divider.stories.tsx +223 -0
  161. package/divider/Divider.test.d.ts +1 -0
  162. package/divider/Divider.test.js +38 -0
  163. package/divider/types.d.ts +21 -0
  164. package/divider/types.js +5 -0
  165. package/dropdown/Dropdown.accessibility.test.d.ts +1 -0
  166. package/dropdown/Dropdown.accessibility.test.js +183 -0
  167. package/dropdown/Dropdown.js +91 -158
  168. package/dropdown/Dropdown.stories.tsx +210 -95
  169. package/dropdown/Dropdown.test.d.ts +1 -0
  170. package/dropdown/Dropdown.test.js +449 -412
  171. package/dropdown/DropdownMenu.js +23 -40
  172. package/dropdown/DropdownMenuItem.js +17 -38
  173. package/dropdown/types.d.ts +20 -24
  174. package/file-input/FileInput.accessibility.test.d.ts +1 -0
  175. package/file-input/FileInput.accessibility.test.js +167 -0
  176. package/file-input/FileInput.d.ts +2 -2
  177. package/file-input/FileInput.js +238 -393
  178. package/file-input/FileInput.stories.tsx +123 -12
  179. package/file-input/FileInput.test.d.ts +1 -0
  180. package/file-input/FileInput.test.js +314 -367
  181. package/file-input/FileItem.d.ts +4 -14
  182. package/file-input/FileItem.js +56 -117
  183. package/file-input/types.d.ts +24 -11
  184. package/flex/Flex.d.ts +1 -1
  185. package/flex/Flex.js +40 -40
  186. package/flex/Flex.stories.tsx +35 -26
  187. package/flex/types.d.ts +84 -8
  188. package/footer/Footer.accessibility.test.d.ts +1 -0
  189. package/footer/Footer.accessibility.test.js +125 -0
  190. package/footer/Footer.d.ts +1 -1
  191. package/footer/Footer.js +73 -118
  192. package/footer/Footer.stories.tsx +94 -23
  193. package/footer/Footer.test.d.ts +1 -0
  194. package/footer/Footer.test.js +32 -56
  195. package/footer/Icons.d.ts +3 -2
  196. package/footer/Icons.js +53 -22
  197. package/footer/types.d.ts +26 -27
  198. package/grid/Grid.d.ts +7 -0
  199. package/grid/Grid.js +76 -0
  200. package/grid/Grid.stories.tsx +221 -0
  201. package/grid/types.d.ts +115 -0
  202. package/grid/types.js +5 -0
  203. package/header/Header.accessibility.test.d.ts +1 -0
  204. package/header/Header.accessibility.test.js +94 -0
  205. package/header/Header.d.ts +4 -3
  206. package/header/Header.js +55 -150
  207. package/header/Header.stories.tsx +131 -36
  208. package/header/Header.test.d.ts +1 -0
  209. package/header/Header.test.js +12 -25
  210. package/header/Icons.d.ts +2 -2
  211. package/header/Icons.js +3 -13
  212. package/header/types.d.ts +7 -21
  213. package/heading/Heading.accessibility.test.d.ts +1 -0
  214. package/heading/Heading.accessibility.test.js +33 -0
  215. package/heading/Heading.js +10 -32
  216. package/heading/Heading.test.d.ts +1 -0
  217. package/heading/Heading.test.js +64 -94
  218. package/heading/types.d.ts +7 -7
  219. package/icon/Icon.accessibility.test.d.ts +1 -0
  220. package/icon/Icon.accessibility.test.js +30 -0
  221. package/icon/Icon.d.ts +4 -0
  222. package/icon/Icon.js +33 -0
  223. package/icon/Icon.stories.tsx +28 -0
  224. package/icon/types.d.ts +4 -0
  225. package/icon/types.js +5 -0
  226. package/image/Image.accessibility.test.d.ts +1 -0
  227. package/image/Image.accessibility.test.js +56 -0
  228. package/image/Image.d.ts +4 -0
  229. package/image/Image.js +70 -0
  230. package/image/Image.stories.tsx +129 -0
  231. package/image/types.d.ts +72 -0
  232. package/image/types.js +5 -0
  233. package/inset/Inset.js +13 -21
  234. package/inset/Inset.stories.tsx +2 -1
  235. package/inset/types.d.ts +2 -2
  236. package/layout/ApplicationLayout.d.ts +5 -5
  237. package/layout/ApplicationLayout.js +36 -70
  238. package/layout/ApplicationLayout.stories.tsx +1 -1
  239. package/layout/Icons.d.ts +7 -5
  240. package/layout/Icons.js +41 -59
  241. package/layout/types.d.ts +5 -6
  242. package/link/Link.accessibility.test.d.ts +1 -0
  243. package/link/Link.accessibility.test.js +108 -0
  244. package/link/Link.js +32 -51
  245. package/link/Link.stories.tsx +64 -4
  246. package/link/Link.test.d.ts +1 -0
  247. package/link/Link.test.js +23 -43
  248. package/link/types.d.ts +14 -14
  249. package/main.d.ts +11 -5
  250. package/main.js +54 -59
  251. package/nav-tabs/NavTabs.accessibility.test.d.ts +1 -0
  252. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  253. package/nav-tabs/NavTabs.d.ts +7 -0
  254. package/nav-tabs/NavTabs.js +108 -0
  255. package/nav-tabs/NavTabs.stories.tsx +294 -0
  256. package/nav-tabs/NavTabs.test.d.ts +1 -0
  257. package/nav-tabs/NavTabs.test.js +77 -0
  258. package/nav-tabs/NavTabsContext.d.ts +3 -0
  259. package/nav-tabs/NavTabsContext.js +8 -0
  260. package/nav-tabs/Tab.js +117 -0
  261. package/{tabs-nav → nav-tabs}/types.d.ts +15 -16
  262. package/nav-tabs/types.js +5 -0
  263. package/number-input/NumberInput.accessibility.test.d.ts +1 -0
  264. package/number-input/NumberInput.accessibility.test.js +227 -0
  265. package/number-input/NumberInput.js +46 -36
  266. package/number-input/NumberInput.stories.tsx +28 -26
  267. package/number-input/NumberInput.test.d.ts +1 -0
  268. package/number-input/NumberInput.test.js +858 -376
  269. package/number-input/NumberInputContext.d.ts +3 -4
  270. package/number-input/NumberInputContext.js +3 -14
  271. package/number-input/types.d.ts +17 -5
  272. package/package.json +50 -49
  273. package/paginator/Paginator.accessibility.test.d.ts +1 -0
  274. package/paginator/Paginator.accessibility.test.js +78 -0
  275. package/paginator/Paginator.js +35 -68
  276. package/paginator/Paginator.stories.tsx +24 -0
  277. package/paginator/Paginator.test.d.ts +1 -0
  278. package/paginator/Paginator.test.js +253 -227
  279. package/paginator/types.d.ts +3 -3
  280. package/paragraph/Paragraph.accessibility.test.d.ts +1 -0
  281. package/paragraph/Paragraph.accessibility.test.js +28 -0
  282. package/paragraph/Paragraph.d.ts +3 -4
  283. package/paragraph/Paragraph.js +6 -22
  284. package/paragraph/Paragraph.stories.tsx +0 -17
  285. package/password-input/PasswordInput.accessibility.test.d.ts +1 -0
  286. package/password-input/PasswordInput.accessibility.test.js +152 -0
  287. package/password-input/PasswordInput.js +58 -127
  288. package/password-input/PasswordInput.stories.tsx +2 -34
  289. package/password-input/PasswordInput.test.d.ts +1 -0
  290. package/password-input/PasswordInput.test.js +158 -141
  291. package/password-input/types.d.ts +8 -7
  292. package/progress-bar/ProgressBar.accessibility.test.d.ts +1 -0
  293. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  294. package/progress-bar/ProgressBar.d.ts +2 -2
  295. package/progress-bar/ProgressBar.js +28 -58
  296. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +36 -3
  297. package/progress-bar/ProgressBar.test.d.ts +1 -0
  298. package/progress-bar/ProgressBar.test.js +35 -52
  299. package/progress-bar/types.d.ts +4 -3
  300. package/quick-nav/QuickNav.accessibility.test.d.ts +1 -0
  301. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  302. package/quick-nav/QuickNav.js +15 -39
  303. package/quick-nav/QuickNav.stories.tsx +112 -20
  304. package/quick-nav/types.d.ts +10 -10
  305. package/radio-group/Radio.d.ts +1 -1
  306. package/radio-group/Radio.js +31 -66
  307. package/radio-group/RadioGroup.accessibility.test.d.ts +1 -0
  308. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  309. package/radio-group/RadioGroup.js +54 -100
  310. package/radio-group/RadioGroup.stories.tsx +131 -18
  311. package/radio-group/RadioGroup.test.d.ts +1 -0
  312. package/radio-group/RadioGroup.test.js +514 -425
  313. package/radio-group/types.d.ts +8 -8
  314. package/resultset-table/Icons.d.ts +7 -0
  315. package/{text-input → resultset-table}/Icons.js +13 -26
  316. package/resultset-table/ResultsetTable.accessibility.test.d.ts +1 -0
  317. package/resultset-table/ResultsetTable.accessibility.test.js +284 -0
  318. package/resultset-table/ResultsetTable.d.ts +7 -0
  319. package/resultset-table/ResultsetTable.js +171 -0
  320. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +169 -31
  321. package/resultset-table/ResultsetTable.test.d.ts +1 -0
  322. package/resultset-table/ResultsetTable.test.js +379 -0
  323. package/{resultsetTable → resultset-table}/types.d.ts +44 -11
  324. package/resultset-table/types.js +5 -0
  325. package/select/Listbox.d.ts +1 -1
  326. package/select/Listbox.js +40 -87
  327. package/select/Option.js +35 -56
  328. package/select/Select.accessibility.test.d.ts +1 -0
  329. package/select/Select.accessibility.test.js +227 -0
  330. package/select/Select.js +138 -181
  331. package/select/Select.stories.tsx +496 -204
  332. package/select/Select.test.d.ts +1 -0
  333. package/select/Select.test.js +1919 -1827
  334. package/select/types.d.ts +17 -18
  335. package/sidenav/Sidenav.accessibility.test.d.ts +1 -0
  336. package/sidenav/Sidenav.accessibility.test.js +59 -0
  337. package/sidenav/Sidenav.d.ts +2 -2
  338. package/sidenav/Sidenav.js +90 -157
  339. package/sidenav/Sidenav.stories.tsx +161 -64
  340. package/sidenav/Sidenav.test.d.ts +1 -0
  341. package/sidenav/Sidenav.test.js +4 -11
  342. package/{layout → sidenav}/SidenavContext.d.ts +1 -1
  343. package/{layout → sidenav}/SidenavContext.js +3 -9
  344. package/sidenav/types.d.ts +33 -30
  345. package/slider/Slider.accessibility.test.d.ts +1 -0
  346. package/slider/Slider.accessibility.test.js +103 -0
  347. package/slider/Slider.d.ts +2 -2
  348. package/slider/Slider.js +79 -135
  349. package/slider/Slider.stories.tsx +57 -60
  350. package/slider/Slider.test.d.ts +1 -0
  351. package/slider/Slider.test.js +117 -111
  352. package/slider/types.d.ts +7 -3
  353. package/spinner/Spinner.accessibility.test.d.ts +1 -0
  354. package/spinner/Spinner.accessibility.test.js +96 -0
  355. package/spinner/Spinner.js +34 -74
  356. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  357. package/spinner/Spinner.test.d.ts +1 -0
  358. package/spinner/Spinner.test.js +25 -34
  359. package/spinner/types.d.ts +3 -3
  360. package/status-light/StatusLight.accessibility.test.d.ts +1 -0
  361. package/status-light/StatusLight.accessibility.test.js +157 -0
  362. package/status-light/StatusLight.d.ts +4 -0
  363. package/status-light/StatusLight.js +51 -0
  364. package/status-light/StatusLight.stories.tsx +74 -0
  365. package/status-light/StatusLight.test.d.ts +1 -0
  366. package/status-light/StatusLight.test.js +25 -0
  367. package/status-light/types.d.ts +17 -0
  368. package/status-light/types.js +5 -0
  369. package/switch/Switch.accessibility.test.d.ts +1 -0
  370. package/switch/Switch.accessibility.test.js +98 -0
  371. package/switch/Switch.d.ts +3 -3
  372. package/switch/Switch.js +56 -106
  373. package/switch/Switch.stories.tsx +45 -34
  374. package/switch/Switch.test.d.ts +1 -0
  375. package/switch/Switch.test.js +51 -96
  376. package/switch/types.d.ts +8 -3
  377. package/table/DropdownTheme.js +62 -0
  378. package/table/Table.accessibility.test.d.ts +1 -0
  379. package/table/Table.accessibility.test.js +92 -0
  380. package/table/Table.d.ts +6 -2
  381. package/table/Table.js +78 -35
  382. package/table/Table.stories.tsx +663 -0
  383. package/table/Table.test.d.ts +1 -0
  384. package/table/Table.test.js +92 -7
  385. package/table/types.d.ts +34 -6
  386. package/tabs/Tab.js +28 -46
  387. package/tabs/Tabs.accessibility.test.d.ts +1 -0
  388. package/tabs/Tabs.accessibility.test.js +56 -0
  389. package/tabs/Tabs.js +69 -163
  390. package/tabs/Tabs.stories.tsx +50 -6
  391. package/tabs/Tabs.test.d.ts +1 -0
  392. package/tabs/Tabs.test.js +60 -135
  393. package/tabs/types.d.ts +21 -21
  394. package/tag/Tag.accessibility.test.d.ts +1 -0
  395. package/tag/Tag.accessibility.test.js +69 -0
  396. package/tag/Tag.js +34 -66
  397. package/tag/Tag.stories.tsx +19 -9
  398. package/tag/Tag.test.d.ts +1 -0
  399. package/tag/Tag.test.js +17 -36
  400. package/tag/types.d.ts +9 -9
  401. package/text-input/Suggestion.js +35 -25
  402. package/text-input/Suggestions.d.ts +1 -1
  403. package/text-input/Suggestions.js +30 -70
  404. package/text-input/TextInput.accessibility.test.d.ts +1 -0
  405. package/text-input/TextInput.accessibility.test.js +320 -0
  406. package/text-input/TextInput.js +283 -377
  407. package/text-input/TextInput.stories.tsx +149 -162
  408. package/text-input/TextInput.test.d.ts +1 -0
  409. package/text-input/TextInput.test.js +1389 -1347
  410. package/text-input/types.d.ts +29 -16
  411. package/textarea/Textarea.accessibility.test.d.ts +1 -0
  412. package/textarea/Textarea.accessibility.test.js +155 -0
  413. package/textarea/Textarea.js +67 -109
  414. package/textarea/Textarea.stories.tsx +174 -0
  415. package/textarea/Textarea.test.d.ts +1 -0
  416. package/textarea/Textarea.test.js +151 -182
  417. package/textarea/types.d.ts +9 -5
  418. package/toggle-group/ToggleGroup.accessibility.test.d.ts +1 -0
  419. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  420. package/toggle-group/ToggleGroup.d.ts +2 -2
  421. package/toggle-group/ToggleGroup.js +92 -108
  422. package/toggle-group/ToggleGroup.stories.tsx +53 -8
  423. package/toggle-group/ToggleGroup.test.d.ts +1 -0
  424. package/toggle-group/ToggleGroup.test.js +68 -87
  425. package/toggle-group/types.d.ts +28 -19
  426. package/typography/Typography.accessibility.test.d.ts +1 -0
  427. package/typography/Typography.accessibility.test.js +339 -0
  428. package/typography/Typography.d.ts +2 -2
  429. package/typography/Typography.js +15 -123
  430. package/typography/Typography.stories.tsx +1 -3
  431. package/typography/types.d.ts +1 -1
  432. package/useTheme.d.ts +1144 -1
  433. package/useTheme.js +2 -9
  434. package/useTranslatedLabels.d.ts +84 -1
  435. package/useTranslatedLabels.js +1 -7
  436. package/utils/BaseTypography.d.ts +21 -0
  437. package/utils/BaseTypography.js +94 -0
  438. package/utils/FocusLock.d.ts +13 -0
  439. package/utils/FocusLock.js +125 -0
  440. package/wizard/Wizard.accessibility.test.d.ts +1 -0
  441. package/wizard/Wizard.accessibility.test.js +55 -0
  442. package/wizard/Wizard.js +29 -75
  443. package/wizard/Wizard.stories.tsx +40 -1
  444. package/wizard/Wizard.test.d.ts +1 -0
  445. package/wizard/Wizard.test.js +53 -80
  446. package/wizard/types.d.ts +10 -11
  447. package/card/ice-cream.jpg +0 -0
  448. package/common/OpenSans.css +0 -81
  449. package/common/RequiredComponent.js +0 -32
  450. package/common/fonts/OpenSans-Bold.ttf +0 -0
  451. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  452. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  453. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  454. package/common/fonts/OpenSans-Italic.ttf +0 -0
  455. package/common/fonts/OpenSans-Light.ttf +0 -0
  456. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  457. package/common/fonts/OpenSans-Regular.ttf +0 -0
  458. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  459. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  460. package/number-input/numberInputContextTypes.d.ts +0 -19
  461. package/paginator/Icons.js +0 -66
  462. package/resultsetTable/ResultsetTable.d.ts +0 -4
  463. package/resultsetTable/ResultsetTable.js +0 -254
  464. package/resultsetTable/ResultsetTable.test.js +0 -348
  465. package/select/Icons.d.ts +0 -10
  466. package/select/Icons.js +0 -93
  467. package/table/Table.stories.jsx +0 -277
  468. package/tabs-nav/NavTabs.d.ts +0 -8
  469. package/tabs-nav/NavTabs.js +0 -125
  470. package/tabs-nav/NavTabs.stories.tsx +0 -170
  471. package/tabs-nav/NavTabs.test.js +0 -82
  472. package/tabs-nav/Tab.js +0 -130
  473. package/text-input/Icons.d.ts +0 -8
  474. package/textarea/Textarea.stories.jsx +0 -157
  475. /package/{resultsetTable → action-icon}/types.js +0 -0
  476. /package/{tabs-nav → breadcrumbs}/types.js +0 -0
  477. /package/{number-input/numberInputContextTypes.js → container/types.js} +0 -0
  478. /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
package/tag/Tag.js CHANGED
@@ -1,77 +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
- var _variables = require("../common/variables.js");
23
-
14
+ var _variables = require("../common/variables");
24
15
  var _useTheme = _interopRequireDefault(require("../useTheme"));
25
-
26
- var _utils = require("../common/utils.js");
27
-
16
+ var _utils = require("../common/utils");
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
- }, /*#__PURE__*/_react["default"].createElement(TagContent, {
68
- labelPosition: labelPosition
69
- }, labelPosition === "before" && size !== "small" && label && /*#__PURE__*/_react["default"].createElement(TagLabel, null, label), icon && /*#__PURE__*/_react["default"].createElement(IconContainer, {
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, {
70
51
  iconBgColor: iconBgColor
71
- }, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(TagIcon, {
72
- src: icon
52
+ }, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
53
+ icon: icon
73
54
  }) : icon), labelPosition === "after" && size !== "small" && label && /*#__PURE__*/_react["default"].createElement(TagLabel, null, label)));
74
-
75
55
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
76
56
  theme: colorsTheme.tag
77
57
  }, /*#__PURE__*/_react["default"].createElement(StyledDxcTag, {
@@ -93,7 +73,6 @@ var DxcTag = function DxcTag(_ref) {
93
73
  target: newWindow ? "_blank" : "_self"
94
74
  }, tagContent) : tagContent));
95
75
  };
96
-
97
76
  var sizes = {
98
77
  small: "42px",
99
78
  medium: "240px",
@@ -101,11 +80,9 @@ var sizes = {
101
80
  fillParent: "100%",
102
81
  fitContent: "fit-content"
103
82
  };
104
-
105
83
  var calculateWidth = function calculateWidth(margin, size) {
106
84
  return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
107
85
  };
108
-
109
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) {
110
87
  var hasAction = _ref2.hasAction;
111
88
  return hasAction && "pointer" || "unset";
@@ -114,35 +91,31 @@ var StyledDxcTag = _styledComponents["default"].div(_templateObject || (_templat
114
91
  return margin && (0, _typeof2["default"])(margin) !== "object" ? _variables.spaces[margin] : "0px";
115
92
  }, function (_ref4) {
116
93
  var margin = _ref4.margin;
117
- return margin && margin.top ? _variables.spaces[margin.top] : "";
94
+ return margin && (0, _typeof2["default"])(margin) === "object" && margin.top ? _variables.spaces[margin.top] : "";
118
95
  }, function (_ref5) {
119
96
  var margin = _ref5.margin;
120
- return margin && margin.right ? _variables.spaces[margin.right] : "";
97
+ return margin && (0, _typeof2["default"])(margin) === "object" && margin.right ? _variables.spaces[margin.right] : "";
121
98
  }, function (_ref6) {
122
99
  var margin = _ref6.margin;
123
- return margin && margin.bottom ? _variables.spaces[margin.bottom] : "";
100
+ return margin && (0, _typeof2["default"])(margin) === "object" && margin.bottom ? _variables.spaces[margin.bottom] : "";
124
101
  }, function (_ref7) {
125
102
  var margin = _ref7.margin;
126
- return margin && margin.left ? _variables.spaces[margin.left] : "";
103
+ return margin && (0, _typeof2["default"])(margin) === "object" && margin.left ? _variables.spaces[margin.left] : "";
127
104
  }, function (props) {
128
105
  return calculateWidth(props.margin, props.size);
129
106
  }, function (props) {
130
107
  return props.theme.height;
131
108
  });
132
-
133
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) {
134
110
  return props.theme.height;
135
111
  });
136
-
137
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) {
138
113
  return props.theme.focusColor;
139
114
  });
140
-
141
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) {
142
116
  return props.theme.focusColor;
143
117
  });
144
-
145
- 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) {
146
119
  var iconBgColor = _ref8.iconBgColor;
147
120
  return iconBgColor;
148
121
  }, function (props) {
@@ -156,10 +129,7 @@ var IconContainer = _styledComponents["default"].div(_templateObject5 || (_templ
156
129
  }, function (props) {
157
130
  return props.theme.iconHeight;
158
131
  });
159
-
160
- var TagIcon = _styledComponents["default"].img(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])([""])));
161
-
162
- 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) {
163
133
  return props.theme.fontFamily;
164
134
  }, function (props) {
165
135
  return props.theme.fontSize;
@@ -178,6 +148,4 @@ var TagLabel = _styledComponents["default"].div(_templateObject7 || (_templateOb
178
148
  }, function (props) {
179
149
  return props.theme.labelPaddingRight;
180
150
  });
181
-
182
- var _default = DxcTag;
183
- exports["default"] = _default;
151
+ var _default = exports["default"] = DxcTag;
@@ -1,8 +1,9 @@
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 DxcTag from "./Tag";
6
+ import { HalstackProvider } from "../HalstackContext";
6
7
 
7
8
  export default {
8
9
  title: "Tag",
@@ -23,6 +24,13 @@ const largeIcon = (
23
24
  </svg>
24
25
  );
25
26
 
27
+ const opinionatedTheme = {
28
+ tag: {
29
+ fontColor: "#000000",
30
+ iconColor: "#ffffff",
31
+ },
32
+ };
33
+
26
34
  export const Chromatic = () => (
27
35
  <>
28
36
  <ExampleContainer>
@@ -39,14 +47,11 @@ export const Chromatic = () => (
39
47
  </ExampleContainer>
40
48
  <ExampleContainer>
41
49
  <Title title="With label and icon" theme="light" level={4} />
42
- <DxcTag
43
- label="Tag"
44
- icon="https://iconape.com/wp-content/files/yd/367773/svg/logo-linkedin-logo-icon-png-svg.png"
45
- />
50
+ <DxcTag label="Tag" icon="person" />
46
51
  </ExampleContainer>
47
52
  <ExampleContainer>
48
53
  <Title title="With right icon" theme="light" level={4} />
49
- <DxcTag label="Tag" icon={icon} labelPosition="before" />
54
+ <DxcTag label="Tag" icon="group" labelPosition="before" />
50
55
  </ExampleContainer>
51
56
  <ExampleContainer>
52
57
  <Title title="Icon background color" theme="light" level={4} />
@@ -59,7 +64,7 @@ export const Chromatic = () => (
59
64
  <ExampleContainer pseudoState="pseudo-focus">
60
65
  <Title title="With action focused" theme="light" level={4} />
61
66
  <DxcTag
62
- icon={icon}
67
+ icon="done"
63
68
  label="Tag"
64
69
  onClick={() => {
65
70
  console.log("click");
@@ -102,7 +107,7 @@ export const Chromatic = () => (
102
107
  </ExampleContainer>
103
108
  <ExampleContainer>
104
109
  <Title title="Medium size" theme="light" level={4} />
105
- <DxcTag label="Medium size medium s" size="medium" icon={icon} />
110
+ <DxcTag label="Medium size medium s" size="medium" icon="person" />
106
111
  </ExampleContainer>
107
112
  <ExampleContainer>
108
113
  <Title title="Medium size with ellipsis" theme="light" level={4} />
@@ -124,7 +129,12 @@ export const Chromatic = () => (
124
129
  <Title title="FitContent size" theme="light" level={4} />
125
130
  <DxcTag label="FitContent" size="fitContent" icon={icon} />
126
131
  </ExampleContainer>
127
- <hr />
132
+ <Title title="Opinionated theme" theme="light" level={2} />
133
+ <ExampleContainer>
134
+ <HalstackProvider theme={opinionatedTheme}>
135
+ <DxcTag label="Tag" icon={icon} />
136
+ </HalstackProvider>
137
+ </ExampleContainer>
128
138
  </>
129
139
  );
130
140
 
@@ -0,0 +1 @@
1
+ export {};
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"));
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,31 +1,46 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports["default"] = void 0;
9
-
10
9
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
11
-
12
- var _react = _interopRequireDefault(require("react"));
13
-
10
+ var _react = _interopRequireWildcard(require("react"));
14
11
  var _styledComponents = _interopRequireDefault(require("styled-components"));
15
-
16
12
  var _templateObject, _templateObject2;
17
-
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; }
15
+ var transformSpecialChars = function transformSpecialChars(str) {
16
+ var specialCharsRegex = /[\\*()\[\]{}+?/]/;
17
+ var value = str;
18
+ if (specialCharsRegex.test(value)) {
19
+ var regexAsString = specialCharsRegex.toString().split("");
20
+ var uniqueSpecialChars = regexAsString.filter(function (item, index) {
21
+ return regexAsString.indexOf(item) === index;
22
+ });
23
+ uniqueSpecialChars.forEach(function (specialChar) {
24
+ if (str.includes(specialChar)) value = value.replace(specialChar, "\\" + specialChar);
25
+ });
26
+ }
27
+ return value;
28
+ };
18
29
  var Suggestion = function Suggestion(_ref) {
19
30
  var id = _ref.id,
20
- value = _ref.value,
21
- _onClick = _ref.onClick,
22
- suggestion = _ref.suggestion,
23
- isLast = _ref.isLast,
24
- visuallyFocused = _ref.visuallyFocused,
25
- highlighted = _ref.highlighted;
26
- var regEx = new RegExp(value, "i");
27
- var matchedWords = suggestion.match(regEx);
28
- var noMatchedWords = suggestion.replace(regEx, "");
31
+ value = _ref.value,
32
+ _onClick = _ref.onClick,
33
+ suggestion = _ref.suggestion,
34
+ isLast = _ref.isLast,
35
+ visuallyFocused = _ref.visuallyFocused,
36
+ highlighted = _ref.highlighted;
37
+ var matchedSuggestion = (0, _react.useMemo)(function () {
38
+ var regEx = new RegExp(transformSpecialChars(value), "i");
39
+ return {
40
+ matchedWords: suggestion.match(regEx),
41
+ noMatchedWords: suggestion.replace(regEx, "")
42
+ };
43
+ }, [value, suggestion]);
29
44
  return /*#__PURE__*/_react["default"].createElement(SuggestionContainer, {
30
45
  id: id,
31
46
  onClick: function onClick() {
@@ -35,11 +50,10 @@ var Suggestion = function Suggestion(_ref) {
35
50
  role: "option",
36
51
  "aria-selected": visuallyFocused ? true : undefined
37
52
  }, /*#__PURE__*/_react["default"].createElement(StyledSuggestion, {
38
- last: isLast,
53
+ isLast: isLast,
39
54
  visuallyFocused: visuallyFocused
40
- }, highlighted ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("strong", null, matchedWords), noMatchedWords) : suggestion));
55
+ }, highlighted ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("strong", null, matchedSuggestion.matchedWords), matchedSuggestion.noMatchedWords) : suggestion));
41
56
  };
42
-
43
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) {
44
58
  return props.visuallyFocused ? props.theme.focusListOptionBorderColor : "transparent";
45
59
  }, function (props) {
@@ -47,11 +61,7 @@ var SuggestionContainer = _styledComponents["default"].li(_templateObject || (_t
47
61
  }, function (props) {
48
62
  return props.theme.activeListOptionBackgroundColor;
49
63
  });
50
-
51
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) {
52
- return props.last || props.visuallyFocused ? "border-bottom: 1px solid transparent" : "border-bottom: 1px solid ".concat(props.theme.listOptionDividerColor);
65
+ return props.isLast || props.visuallyFocused ? "border-bottom: 1px solid transparent" : "border-bottom: 1px solid ".concat(props.theme.listOptionDividerColor);
53
66
  });
54
-
55
- var _default = /*#__PURE__*/_react["default"].memo(Suggestion);
56
-
57
- 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;