@dxc-technology/halstack-react 0.0.0-ff5083e → 0.0.0-ff6c8bf

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 (403) 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 +126 -111
  5. package/README.md +47 -0
  6. package/accordion/Accordion.accessibility.test.js +71 -0
  7. package/accordion/Accordion.d.ts +1 -1
  8. package/accordion/Accordion.js +105 -160
  9. package/accordion/Accordion.stories.tsx +82 -148
  10. package/accordion/Accordion.test.js +25 -41
  11. package/accordion/types.d.ts +6 -17
  12. package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
  13. package/accordion-group/AccordionGroup.d.ts +2 -2
  14. package/accordion-group/AccordionGroup.js +31 -98
  15. package/accordion-group/AccordionGroup.stories.tsx +94 -67
  16. package/accordion-group/AccordionGroup.test.js +52 -105
  17. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  18. package/accordion-group/AccordionGroupAccordion.js +31 -0
  19. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  20. package/accordion-group/AccordionGroupContext.js +8 -0
  21. package/accordion-group/types.d.ts +12 -17
  22. package/action-icon/ActionIcon.accessibility.test.js +63 -0
  23. package/action-icon/ActionIcon.d.ts +4 -0
  24. package/action-icon/ActionIcon.js +48 -0
  25. package/action-icon/ActionIcon.stories.tsx +41 -0
  26. package/action-icon/ActionIcon.test.js +64 -0
  27. package/action-icon/types.d.ts +26 -0
  28. package/alert/Alert.accessibility.test.js +95 -0
  29. package/alert/Alert.js +37 -127
  30. package/alert/Alert.stories.tsx +28 -0
  31. package/alert/Alert.test.js +29 -46
  32. package/alert/types.d.ts +5 -5
  33. package/badge/Badge.accessibility.test.js +129 -0
  34. package/badge/Badge.d.ts +1 -1
  35. package/badge/Badge.js +142 -42
  36. package/badge/Badge.stories.tsx +210 -0
  37. package/badge/Badge.test.js +30 -0
  38. package/badge/types.d.ts +52 -3
  39. package/bleed/Bleed.js +13 -21
  40. package/bleed/Bleed.stories.tsx +64 -63
  41. package/bleed/types.d.ts +2 -2
  42. package/box/Box.accessibility.test.js +33 -0
  43. package/box/Box.d.ts +1 -1
  44. package/box/Box.js +19 -60
  45. package/box/Box.stories.tsx +38 -51
  46. package/box/Box.test.js +2 -7
  47. package/box/types.d.ts +3 -14
  48. package/breadcrumbs/Breadcrumbs.accessibility.test.d.ts +1 -0
  49. package/breadcrumbs/Breadcrumbs.accessibility.test.js +96 -0
  50. package/breadcrumbs/Breadcrumbs.d.ts +4 -0
  51. package/breadcrumbs/Breadcrumbs.js +79 -0
  52. package/breadcrumbs/Breadcrumbs.stories.tsx +194 -0
  53. package/breadcrumbs/Breadcrumbs.test.d.ts +1 -0
  54. package/breadcrumbs/Breadcrumbs.test.js +169 -0
  55. package/breadcrumbs/Item.d.ts +4 -0
  56. package/breadcrumbs/Item.js +52 -0
  57. package/breadcrumbs/dropdownTheme.d.ts +53 -0
  58. package/breadcrumbs/dropdownTheme.js +62 -0
  59. package/breadcrumbs/types.d.ts +16 -0
  60. package/bulleted-list/BulletedList.accessibility.test.js +119 -0
  61. package/bulleted-list/BulletedList.js +35 -63
  62. package/bulleted-list/BulletedList.stories.tsx +18 -106
  63. package/bulleted-list/types.d.ts +32 -5
  64. package/button/Button.accessibility.test.js +127 -0
  65. package/button/Button.d.ts +1 -1
  66. package/button/Button.js +64 -117
  67. package/button/Button.stories.tsx +151 -100
  68. package/button/Button.test.js +20 -17
  69. package/button/types.d.ts +12 -8
  70. package/card/Card.accessibility.test.js +36 -0
  71. package/card/Card.d.ts +1 -1
  72. package/card/Card.js +49 -89
  73. package/card/Card.stories.tsx +12 -42
  74. package/card/Card.test.js +11 -22
  75. package/card/types.d.ts +6 -11
  76. package/checkbox/Checkbox.accessibility.test.js +87 -0
  77. package/checkbox/Checkbox.d.ts +2 -2
  78. package/checkbox/Checkbox.js +139 -181
  79. package/checkbox/Checkbox.stories.tsx +128 -94
  80. package/checkbox/Checkbox.test.js +160 -39
  81. package/checkbox/types.d.ts +11 -3
  82. package/chip/Chip.accessibility.test.js +67 -0
  83. package/chip/Chip.js +45 -80
  84. package/chip/Chip.stories.tsx +107 -27
  85. package/chip/Chip.test.js +18 -33
  86. package/chip/types.d.ts +4 -4
  87. package/common/coreTokens.d.ts +237 -0
  88. package/common/coreTokens.js +184 -0
  89. package/common/utils.d.ts +1 -0
  90. package/common/utils.js +6 -12
  91. package/common/variables.d.ts +1392 -0
  92. package/common/variables.js +984 -1206
  93. package/container/Container.d.ts +4 -0
  94. package/container/Container.js +194 -0
  95. package/container/Container.stories.tsx +214 -0
  96. package/container/types.d.ts +74 -0
  97. package/contextual-menu/ContextualMenu.accessibility.test.js +97 -0
  98. package/contextual-menu/ContextualMenu.d.ts +5 -0
  99. package/contextual-menu/ContextualMenu.js +88 -0
  100. package/contextual-menu/ContextualMenu.stories.tsx +232 -0
  101. package/contextual-menu/ContextualMenu.test.js +205 -0
  102. package/contextual-menu/GroupItem.d.ts +4 -0
  103. package/contextual-menu/GroupItem.js +67 -0
  104. package/contextual-menu/ItemAction.d.ts +4 -0
  105. package/contextual-menu/ItemAction.js +51 -0
  106. package/contextual-menu/MenuItem.d.ts +4 -0
  107. package/contextual-menu/MenuItem.js +29 -0
  108. package/contextual-menu/SingleItem.d.ts +4 -0
  109. package/contextual-menu/SingleItem.js +38 -0
  110. package/contextual-menu/types.d.ts +58 -0
  111. package/date-input/Calendar.d.ts +4 -0
  112. package/date-input/Calendar.js +214 -0
  113. package/date-input/DateInput.accessibility.test.js +228 -0
  114. package/date-input/DateInput.js +149 -299
  115. package/date-input/DateInput.stories.tsx +210 -56
  116. package/date-input/DateInput.test.js +700 -371
  117. package/date-input/DatePicker.d.ts +4 -0
  118. package/date-input/DatePicker.js +121 -0
  119. package/date-input/YearPicker.d.ts +4 -0
  120. package/date-input/YearPicker.js +100 -0
  121. package/date-input/types.d.ts +72 -15
  122. package/dialog/Dialog.accessibility.test.js +69 -0
  123. package/dialog/Dialog.d.ts +1 -1
  124. package/dialog/Dialog.js +61 -106
  125. package/dialog/Dialog.stories.tsx +326 -167
  126. package/dialog/Dialog.test.js +287 -20
  127. package/dialog/types.d.ts +18 -25
  128. package/divider/Divider.accessibility.test.js +33 -0
  129. package/divider/Divider.d.ts +4 -0
  130. package/divider/Divider.js +36 -0
  131. package/divider/Divider.stories.tsx +223 -0
  132. package/divider/Divider.test.js +38 -0
  133. package/divider/types.d.ts +21 -0
  134. package/dropdown/Dropdown.accessibility.test.js +180 -0
  135. package/dropdown/Dropdown.d.ts +1 -1
  136. package/dropdown/Dropdown.js +233 -303
  137. package/dropdown/Dropdown.stories.tsx +235 -57
  138. package/dropdown/Dropdown.test.js +575 -165
  139. package/dropdown/DropdownMenu.d.ts +4 -0
  140. package/dropdown/DropdownMenu.js +63 -0
  141. package/dropdown/DropdownMenuItem.d.ts +4 -0
  142. package/dropdown/DropdownMenuItem.js +71 -0
  143. package/dropdown/types.d.ts +35 -19
  144. package/file-input/FileInput.accessibility.test.js +160 -0
  145. package/file-input/FileInput.d.ts +2 -2
  146. package/file-input/FileInput.js +241 -391
  147. package/file-input/FileInput.stories.tsx +123 -12
  148. package/file-input/FileInput.test.js +306 -367
  149. package/file-input/FileItem.d.ts +4 -14
  150. package/file-input/FileItem.js +56 -117
  151. package/file-input/types.d.ts +25 -8
  152. package/flex/Flex.d.ts +4 -0
  153. package/flex/Flex.js +57 -0
  154. package/flex/Flex.stories.tsx +112 -0
  155. package/flex/types.d.ts +97 -0
  156. package/footer/Footer.accessibility.test.js +125 -0
  157. package/footer/Footer.d.ts +1 -1
  158. package/footer/Footer.js +73 -118
  159. package/footer/Footer.stories.tsx +99 -21
  160. package/footer/Footer.test.js +33 -57
  161. package/footer/Icons.d.ts +3 -2
  162. package/footer/Icons.js +54 -23
  163. package/footer/types.d.ts +26 -27
  164. package/grid/Grid.d.ts +7 -0
  165. package/grid/Grid.js +76 -0
  166. package/grid/Grid.stories.tsx +219 -0
  167. package/grid/types.d.ts +115 -0
  168. package/grid/types.js +5 -0
  169. package/header/Header.accessibility.test.js +93 -0
  170. package/header/Header.d.ts +4 -3
  171. package/header/Header.js +90 -183
  172. package/header/Header.stories.tsx +133 -38
  173. package/header/Header.test.js +13 -26
  174. package/header/Icons.d.ts +2 -2
  175. package/header/Icons.js +5 -15
  176. package/header/types.d.ts +7 -21
  177. package/heading/Heading.accessibility.test.js +33 -0
  178. package/heading/Heading.js +10 -32
  179. package/heading/Heading.test.js +71 -88
  180. package/heading/types.d.ts +7 -7
  181. package/icon/Icon.accessibility.test.js +30 -0
  182. package/icon/Icon.d.ts +4 -0
  183. package/icon/Icon.js +33 -0
  184. package/icon/Icon.stories.tsx +28 -0
  185. package/icon/types.d.ts +4 -0
  186. package/icon/types.js +5 -0
  187. package/image/Image.accessibility.test.js +56 -0
  188. package/image/Image.d.ts +4 -0
  189. package/image/Image.js +70 -0
  190. package/image/Image.stories.tsx +129 -0
  191. package/image/types.d.ts +72 -0
  192. package/image/types.js +5 -0
  193. package/inset/Inset.js +13 -21
  194. package/inset/Inset.stories.tsx +5 -4
  195. package/inset/types.d.ts +2 -2
  196. package/layout/ApplicationLayout.d.ts +15 -6
  197. package/layout/ApplicationLayout.js +57 -119
  198. package/layout/ApplicationLayout.stories.tsx +81 -45
  199. package/layout/Icons.d.ts +7 -5
  200. package/layout/Icons.js +41 -59
  201. package/layout/types.d.ts +21 -32
  202. package/link/Link.accessibility.test.js +108 -0
  203. package/link/Link.js +32 -51
  204. package/link/Link.stories.tsx +76 -9
  205. package/link/Link.test.js +24 -44
  206. package/link/types.d.ts +14 -14
  207. package/main.d.ts +14 -12
  208. package/main.js +51 -88
  209. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  210. package/nav-tabs/NavTabs.d.ts +7 -0
  211. package/{tabs-nav → nav-tabs}/NavTabs.js +30 -62
  212. package/nav-tabs/NavTabs.stories.tsx +279 -0
  213. package/nav-tabs/NavTabs.test.js +77 -0
  214. package/nav-tabs/NavTabsContext.d.ts +3 -0
  215. package/nav-tabs/NavTabsContext.js +8 -0
  216. package/nav-tabs/Tab.js +117 -0
  217. package/{tabs-nav → nav-tabs}/types.d.ts +15 -16
  218. package/nav-tabs/types.js +5 -0
  219. package/number-input/NumberInput.accessibility.test.js +228 -0
  220. package/number-input/NumberInput.js +46 -36
  221. package/number-input/NumberInput.stories.tsx +42 -26
  222. package/number-input/NumberInput.test.js +860 -377
  223. package/number-input/NumberInputContext.d.ts +3 -4
  224. package/number-input/NumberInputContext.js +3 -14
  225. package/number-input/types.d.ts +17 -5
  226. package/package.json +51 -51
  227. package/paginator/Paginator.accessibility.test.js +79 -0
  228. package/paginator/Paginator.js +35 -68
  229. package/paginator/Paginator.stories.tsx +24 -0
  230. package/paginator/Paginator.test.js +280 -211
  231. package/paginator/types.d.ts +3 -3
  232. package/paragraph/Paragraph.accessibility.test.js +28 -0
  233. package/paragraph/Paragraph.d.ts +3 -4
  234. package/paragraph/Paragraph.js +7 -23
  235. package/paragraph/Paragraph.stories.tsx +1 -18
  236. package/password-input/PasswordInput.accessibility.test.js +153 -0
  237. package/password-input/PasswordInput.js +58 -127
  238. package/password-input/PasswordInput.stories.tsx +1 -33
  239. package/password-input/PasswordInput.test.js +160 -142
  240. package/password-input/types.d.ts +8 -7
  241. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  242. package/progress-bar/ProgressBar.js +68 -92
  243. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +39 -4
  244. package/progress-bar/ProgressBar.test.js +72 -44
  245. package/progress-bar/types.d.ts +3 -3
  246. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  247. package/quick-nav/QuickNav.js +24 -42
  248. package/quick-nav/QuickNav.stories.tsx +146 -27
  249. package/quick-nav/types.d.ts +10 -10
  250. package/radio-group/Radio.d.ts +1 -1
  251. package/radio-group/Radio.js +59 -76
  252. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  253. package/radio-group/RadioGroup.js +68 -114
  254. package/radio-group/RadioGroup.stories.tsx +132 -18
  255. package/radio-group/RadioGroup.test.js +518 -457
  256. package/radio-group/types.d.ts +10 -10
  257. package/resultset-table/Icons.d.ts +7 -0
  258. package/resultset-table/Icons.js +47 -0
  259. package/resultset-table/ResultsetTable.accessibility.test.js +285 -0
  260. package/resultset-table/ResultsetTable.d.ts +7 -0
  261. package/resultset-table/ResultsetTable.js +171 -0
  262. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +168 -30
  263. package/resultset-table/ResultsetTable.test.js +381 -0
  264. package/{resultsetTable → resultset-table}/types.d.ts +44 -11
  265. package/resultset-table/types.js +5 -0
  266. package/select/Listbox.d.ts +1 -1
  267. package/select/Listbox.js +68 -65
  268. package/select/Option.js +35 -56
  269. package/select/Select.accessibility.test.js +228 -0
  270. package/select/Select.js +171 -214
  271. package/select/Select.stories.tsx +515 -190
  272. package/select/Select.test.js +1934 -1789
  273. package/select/types.d.ts +17 -21
  274. package/sidenav/Sidenav.accessibility.test.js +59 -0
  275. package/sidenav/Sidenav.d.ts +6 -5
  276. package/sidenav/Sidenav.js +132 -78
  277. package/sidenav/Sidenav.stories.tsx +246 -151
  278. package/sidenav/Sidenav.test.js +26 -45
  279. package/{layout → sidenav}/SidenavContext.d.ts +1 -1
  280. package/{layout → sidenav}/SidenavContext.js +3 -9
  281. package/sidenav/types.d.ts +52 -26
  282. package/slider/Slider.accessibility.test.js +104 -0
  283. package/slider/Slider.d.ts +2 -2
  284. package/slider/Slider.js +149 -181
  285. package/slider/Slider.stories.tsx +64 -61
  286. package/slider/Slider.test.js +185 -81
  287. package/slider/types.d.ts +7 -3
  288. package/spinner/Spinner.accessibility.test.js +96 -0
  289. package/spinner/Spinner.js +34 -74
  290. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  291. package/spinner/Spinner.test.js +26 -35
  292. package/spinner/types.d.ts +3 -3
  293. package/status-light/StatusLight.accessibility.test.js +157 -0
  294. package/status-light/StatusLight.d.ts +4 -0
  295. package/status-light/StatusLight.js +51 -0
  296. package/status-light/StatusLight.stories.tsx +74 -0
  297. package/status-light/StatusLight.test.js +25 -0
  298. package/status-light/types.d.ts +17 -0
  299. package/status-light/types.js +5 -0
  300. package/switch/Switch.accessibility.test.js +98 -0
  301. package/switch/Switch.d.ts +2 -2
  302. package/switch/Switch.js +145 -126
  303. package/switch/Switch.stories.tsx +49 -60
  304. package/switch/Switch.test.js +138 -56
  305. package/switch/types.d.ts +7 -3
  306. package/table/DropdownTheme.js +62 -0
  307. package/table/Table.accessibility.test.js +93 -0
  308. package/table/Table.d.ts +6 -2
  309. package/table/Table.js +78 -35
  310. package/table/Table.stories.tsx +663 -0
  311. package/table/Table.test.js +95 -8
  312. package/table/types.d.ts +34 -6
  313. package/tabs/Tab.d.ts +4 -0
  314. package/tabs/Tab.js +117 -0
  315. package/tabs/Tabs.accessibility.test.js +56 -0
  316. package/tabs/Tabs.js +303 -141
  317. package/tabs/Tabs.stories.tsx +124 -6
  318. package/tabs/Tabs.test.js +213 -77
  319. package/tabs/types.d.ts +30 -20
  320. package/tag/Tag.accessibility.test.js +69 -0
  321. package/tag/Tag.js +35 -67
  322. package/tag/Tag.stories.tsx +18 -8
  323. package/tag/Tag.test.js +18 -37
  324. package/tag/types.d.ts +9 -9
  325. package/text-input/Suggestion.js +40 -28
  326. package/text-input/Suggestions.d.ts +4 -0
  327. package/text-input/Suggestions.js +94 -0
  328. package/text-input/TextInput.accessibility.test.js +321 -0
  329. package/text-input/TextInput.js +316 -515
  330. package/text-input/TextInput.stories.tsx +276 -276
  331. package/text-input/TextInput.test.js +1419 -1375
  332. package/text-input/types.d.ts +43 -16
  333. package/textarea/Textarea.accessibility.test.js +155 -0
  334. package/textarea/Textarea.js +71 -113
  335. package/textarea/Textarea.stories.tsx +174 -0
  336. package/textarea/Textarea.test.js +152 -183
  337. package/textarea/types.d.ts +9 -5
  338. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  339. package/toggle-group/ToggleGroup.d.ts +2 -2
  340. package/toggle-group/ToggleGroup.js +94 -107
  341. package/toggle-group/ToggleGroup.stories.tsx +52 -7
  342. package/toggle-group/ToggleGroup.test.js +69 -88
  343. package/toggle-group/types.d.ts +28 -19
  344. package/typography/Typography.accessibility.test.js +339 -0
  345. package/typography/Typography.d.ts +2 -2
  346. package/typography/Typography.js +16 -124
  347. package/typography/Typography.stories.tsx +185 -162
  348. package/typography/types.d.ts +1 -1
  349. package/useTheme.d.ts +1144 -1
  350. package/useTheme.js +2 -9
  351. package/useTranslatedLabels.d.ts +84 -1
  352. package/useTranslatedLabels.js +1 -7
  353. package/utils/BaseTypography.d.ts +21 -0
  354. package/utils/BaseTypography.js +94 -0
  355. package/utils/FocusLock.d.ts +13 -0
  356. package/utils/FocusLock.js +124 -0
  357. package/wizard/Wizard.accessibility.test.js +55 -0
  358. package/wizard/Wizard.js +34 -87
  359. package/wizard/Wizard.stories.tsx +59 -1
  360. package/wizard/Wizard.test.js +54 -81
  361. package/wizard/types.d.ts +9 -9
  362. package/card/ice-cream.jpg +0 -0
  363. package/common/OpenSans.css +0 -81
  364. package/common/RequiredComponent.js +0 -32
  365. package/common/fonts/OpenSans-Bold.ttf +0 -0
  366. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  367. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  368. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  369. package/common/fonts/OpenSans-Italic.ttf +0 -0
  370. package/common/fonts/OpenSans-Light.ttf +0 -0
  371. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  372. package/common/fonts/OpenSans-Regular.ttf +0 -0
  373. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  374. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  375. package/number-input/numberInputContextTypes.d.ts +0 -19
  376. package/paginator/Icons.js +0 -66
  377. package/resultsetTable/ResultsetTable.d.ts +0 -4
  378. package/resultsetTable/ResultsetTable.js +0 -254
  379. package/resultsetTable/ResultsetTable.test.js +0 -306
  380. package/row/Row.d.ts +0 -3
  381. package/row/Row.js +0 -127
  382. package/row/Row.stories.tsx +0 -237
  383. package/row/types.d.ts +0 -28
  384. package/select/Icons.d.ts +0 -10
  385. package/select/Icons.js +0 -93
  386. package/stack/Stack.d.ts +0 -3
  387. package/stack/Stack.js +0 -97
  388. package/stack/Stack.stories.tsx +0 -164
  389. package/stack/types.d.ts +0 -24
  390. package/table/Table.stories.jsx +0 -277
  391. package/tabs-nav/NavTabs.d.ts +0 -8
  392. package/tabs-nav/NavTabs.stories.tsx +0 -170
  393. package/tabs-nav/NavTabs.test.js +0 -82
  394. package/tabs-nav/Tab.js +0 -132
  395. package/textarea/Textarea.stories.jsx +0 -157
  396. package/typography/typographyContextTypes.d.ts +0 -16
  397. /package/{resultsetTable → action-icon}/types.js +0 -0
  398. /package/{row → breadcrumbs}/types.js +0 -0
  399. /package/{stack → container}/types.js +0 -0
  400. /package/{tabs-nav → contextual-menu}/types.js +0 -0
  401. /package/{number-input/numberInputContextTypes.js → divider/types.js} +0 -0
  402. /package/{typography/typographyContextTypes.js → flex/types.js} +0 -0
  403. /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
@@ -1,43 +1,37 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
4
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
5
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
5
6
  var _react = _interopRequireDefault(require("react"));
6
-
7
7
  var _react2 = require("@testing-library/react");
8
-
9
8
  var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
10
-
11
- var _Textarea = _interopRequireDefault(require("./Textarea"));
12
-
9
+ var _Textarea = _interopRequireDefault(require("./Textarea.tsx"));
13
10
  describe("Textarea component tests", function () {
14
11
  test("Renders with correct label", function () {
15
12
  var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
16
- label: "Example label"
17
- })),
18
- getByText = _render.getByText;
19
-
13
+ label: "Example label"
14
+ })),
15
+ getByText = _render.getByText;
20
16
  expect(getByText("Example label")).toBeTruthy();
21
17
  });
22
18
  test("Renders with correct label and helper text", function () {
23
19
  var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
24
- label: "Example label",
25
- helperText: "Example helper text"
26
- })),
27
- getByText = _render2.getByText;
28
-
20
+ label: "Example label",
21
+ helperText: "Example helper text"
22
+ })),
23
+ getByText = _render2.getByText;
29
24
  expect(getByText("Example label")).toBeTruthy();
30
25
  expect(getByText("Example helper text")).toBeTruthy();
31
26
  });
32
27
  test("Renders with correct label and optional", function () {
33
28
  var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
34
- label: "Example label",
35
- helperText: "Example helper text",
36
- optional: true
37
- })),
38
- getByText = _render3.getByText,
39
- getByRole = _render3.getByRole;
40
-
29
+ label: "Example label",
30
+ helperText: "Example helper text",
31
+ optional: true
32
+ })),
33
+ getByText = _render3.getByText,
34
+ getByRole = _render3.getByRole;
41
35
  var textarea = getByRole("textbox");
42
36
  expect(getByText("Example label")).toBeTruthy();
43
37
  expect(getByText("(Optional)")).toBeTruthy();
@@ -46,21 +40,19 @@ describe("Textarea component tests", function () {
46
40
  });
47
41
  test("Renders with correct placeholder", function () {
48
42
  var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
49
- placeholder: "Placeholder"
50
- })),
51
- getByRole = _render4.getByRole;
52
-
43
+ placeholder: "Placeholder"
44
+ })),
45
+ getByRole = _render4.getByRole;
53
46
  var textarea = getByRole("textbox");
54
47
  expect(textarea.getAttribute("placeholder")).toBe("Placeholder");
55
48
  });
56
49
  test("Renders with error message and correct aria attributes", function () {
57
50
  var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
58
- label: "Example label",
59
- error: "Error message."
60
- })),
61
- getByText = _render5.getByText,
62
- getByLabelText = _render5.getByLabelText;
63
-
51
+ label: "Example label",
52
+ error: "Error message."
53
+ })),
54
+ getByText = _render5.getByText,
55
+ getByLabelText = _render5.getByLabelText;
64
56
  var textarea = getByLabelText("Example label");
65
57
  var errorMessage = getByText("Error message.");
66
58
  expect(errorMessage).toBeTruthy();
@@ -70,86 +62,115 @@ describe("Textarea component tests", function () {
70
62
  });
71
63
  test("Renders with correct default rows", function () {
72
64
  var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
73
- label: "Example label",
74
- rows: 10
75
- })),
76
- getByLabelText = _render6.getByLabelText;
77
-
65
+ label: "Example label",
66
+ rows: 10
67
+ })),
68
+ getByLabelText = _render6.getByLabelText;
78
69
  var textarea = getByLabelText("Example label");
79
70
  expect(textarea.rows).toBe(10);
80
71
  });
81
- test("Renders with correct accesibility attributes", function () {
72
+ test("Renders with correct accessibility attributes", function () {
82
73
  var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
83
- label: "Example label"
84
- })),
85
- getByLabelText = _render7.getByLabelText;
86
-
74
+ label: "Example label"
75
+ })),
76
+ getByLabelText = _render7.getByLabelText;
87
77
  var textarea = getByLabelText("Example label");
88
- expect(textarea.getAttribute("aria-disabled")).toBe("false");
89
78
  expect(textarea.getAttribute("aria-invalid")).toBe("false");
90
79
  expect(textarea.getAttribute("aria-describedBy")).toBeNull();
91
80
  expect(textarea.getAttribute("aria-required")).toBe("true");
92
81
  });
93
82
  test("Renders with correct initial value", function () {
94
83
  var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
95
- label: "Example label",
96
- placeholder: "Placeholder",
97
- defaultValue: "Example text"
98
- })),
99
- getByLabelText = _render8.getByLabelText;
100
-
84
+ label: "Example label",
85
+ placeholder: "Placeholder",
86
+ defaultValue: "Example text"
87
+ })),
88
+ getByLabelText = _render8.getByLabelText;
101
89
  var textarea = getByLabelText("Example label");
102
90
  expect(textarea.value).toBe("Example text");
103
91
  });
104
- test("Disabled textarea renders with correct aria and can not be modified", function () {
92
+ test("Disabled textarea can not be modified", function () {
105
93
  var onChange = jest.fn();
106
-
107
94
  var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
108
- label: "Example label",
109
- onChange: onChange,
110
- disabled: true
111
- })),
112
- getByLabelText = _render9.getByLabelText;
113
-
95
+ label: "Example label",
96
+ onChange: onChange,
97
+ disabled: true
98
+ })),
99
+ getByLabelText = _render9.getByLabelText;
100
+ var textarea = getByLabelText("Example label");
101
+ _userEvent["default"].type(textarea, "Test");
102
+ expect(onChange).not.toHaveBeenCalled();
103
+ });
104
+ test("Read-only textarea does not trigger onChange function", function () {
105
+ var onChange = jest.fn();
106
+ var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
107
+ label: "Example label",
108
+ onChange: onChange,
109
+ readOnly: true
110
+ })),
111
+ getByLabelText = _render10.getByLabelText;
114
112
  var textarea = getByLabelText("Example label");
115
- expect(textarea.getAttribute("aria-disabled")).toBe("true");
116
-
117
113
  _userEvent["default"].type(textarea, "Test");
118
-
119
114
  expect(onChange).not.toHaveBeenCalled();
120
115
  });
116
+ test("Read-only textarea sends its value on submit", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
117
+ var handlerOnSubmit, _render11, getByText, submit;
118
+ return _regenerator["default"].wrap(function _callee$(_context) {
119
+ while (1) switch (_context.prev = _context.next) {
120
+ case 0:
121
+ handlerOnSubmit = jest.fn(function (e) {
122
+ e.preventDefault();
123
+ var formData = new FormData(e.target);
124
+ var formProps = Object.fromEntries(formData);
125
+ expect(formProps).toStrictEqual({
126
+ data: "Comments"
127
+ });
128
+ });
129
+ _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement("form", {
130
+ onSubmit: handlerOnSubmit
131
+ }, /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
132
+ label: "Example label",
133
+ name: "data",
134
+ defaultValue: "Comments",
135
+ readOnly: true
136
+ }), /*#__PURE__*/_react["default"].createElement("button", {
137
+ type: "submit"
138
+ }, "Submit"))), getByText = _render11.getByText;
139
+ submit = getByText("Submit");
140
+ _context.next = 5;
141
+ return _userEvent["default"].click(submit);
142
+ case 5:
143
+ expect(handlerOnSubmit).toHaveBeenCalled();
144
+ case 6:
145
+ case "end":
146
+ return _context.stop();
147
+ }
148
+ }, _callee);
149
+ })));
121
150
  test("Not optional constraint (onBlur)", function () {
122
151
  var onChange = jest.fn();
123
152
  var onBlur = jest.fn();
124
-
125
- var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
126
- label: "Example label",
127
- placeholder: "Placeholder",
128
- onChange: onChange,
129
- onBlur: onBlur
130
- })),
131
- getByLabelText = _render10.getByLabelText;
132
-
153
+ var _render12 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
154
+ label: "Example label",
155
+ placeholder: "Placeholder",
156
+ onChange: onChange,
157
+ onBlur: onBlur
158
+ })),
159
+ getByLabelText = _render12.getByLabelText;
133
160
  var textarea = getByLabelText("Example label");
134
-
135
161
  _react2.fireEvent.focus(textarea);
136
-
137
162
  _react2.fireEvent.blur(textarea);
138
-
139
163
  expect(onBlur).toHaveBeenCalled();
140
164
  expect(onBlur).toHaveBeenCalledWith({
141
165
  value: "",
142
166
  error: "This field is required. Please, enter a value."
143
167
  });
144
-
145
168
  _react2.fireEvent.change(textarea, {
146
169
  target: {
147
170
  value: "Test"
148
171
  }
149
172
  });
150
-
151
173
  _react2.fireEvent.blur(textarea);
152
-
153
174
  expect(onBlur).toHaveBeenCalled();
154
175
  expect(onBlur).toHaveBeenCalledWith({
155
176
  value: "Test"
@@ -157,31 +178,24 @@ describe("Textarea component tests", function () {
157
178
  });
158
179
  test("Not optional constraint (onChange)", function () {
159
180
  var onChange = jest.fn();
160
-
161
- var _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
162
- label: "Example label",
163
- placeholder: "Placeholder",
164
- onChange: onChange
165
- })),
166
- getByLabelText = _render11.getByLabelText;
167
-
181
+ var _render13 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
182
+ label: "Example label",
183
+ placeholder: "Placeholder",
184
+ onChange: onChange
185
+ })),
186
+ getByLabelText = _render13.getByLabelText;
168
187
  var textarea = getByLabelText("Example label");
169
-
170
188
  _react2.fireEvent.focus(textarea);
171
-
172
189
  _react2.fireEvent.change(textarea, {
173
190
  target: {
174
191
  value: "Test"
175
192
  }
176
193
  });
177
-
178
194
  expect(onChange).toHaveBeenCalled();
179
195
  expect(onChange).toHaveBeenCalledWith({
180
196
  value: "Test"
181
197
  });
182
-
183
198
  _userEvent["default"].clear(textarea);
184
-
185
199
  expect(onChange).toHaveBeenCalled();
186
200
  expect(onChange).toHaveBeenCalledWith({
187
201
  value: "",
@@ -191,57 +205,46 @@ describe("Textarea component tests", function () {
191
205
  test("Pattern constraint", function () {
192
206
  var onChange = jest.fn();
193
207
  var onBlur = jest.fn();
194
-
195
- var _render12 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
196
- label: "Example label",
197
- placeholder: "Placeholder",
198
- onChange: onChange,
199
- onBlur: onBlur,
200
- margin: {
201
- left: "medium",
202
- right: "medium"
203
- },
204
- pattern: "^.*(?=.*[a-zA-Z])(?=.*\\d)(?=.*[!&$%&? \"]).*$"
205
- })),
206
- getByLabelText = _render12.getByLabelText;
207
-
208
+ var _render14 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
209
+ label: "Example label",
210
+ placeholder: "Placeholder",
211
+ onChange: onChange,
212
+ onBlur: onBlur,
213
+ margin: {
214
+ left: "medium",
215
+ right: "medium"
216
+ },
217
+ pattern: "^.*(?=.*[a-zA-Z])(?=.*\\d)(?=.*[!&$%&? \"]).*$"
218
+ })),
219
+ getByLabelText = _render14.getByLabelText;
208
220
  var textarea = getByLabelText("Example label");
209
-
210
221
  _react2.fireEvent.change(textarea, {
211
222
  target: {
212
223
  value: "pattern test"
213
224
  }
214
225
  });
215
-
216
226
  expect(onChange).toHaveBeenCalled();
217
227
  expect(onChange).toHaveBeenCalledWith({
218
228
  value: "pattern test",
219
229
  error: "Please match the format requested."
220
230
  });
221
-
222
231
  _react2.fireEvent.blur(textarea);
223
-
224
232
  expect(onBlur).toHaveBeenCalled();
225
233
  expect(onBlur).toHaveBeenCalledWith({
226
234
  value: "pattern test",
227
235
  error: "Please match the format requested."
228
236
  });
229
-
230
237
  _userEvent["default"].clear(textarea);
231
-
232
238
  _react2.fireEvent.change(textarea, {
233
239
  target: {
234
240
  value: "pattern4&"
235
241
  }
236
242
  });
237
-
238
243
  expect(onChange).toHaveBeenCalled();
239
244
  expect(onChange).toHaveBeenCalledWith({
240
245
  value: "pattern4&"
241
246
  });
242
-
243
247
  _react2.fireEvent.blur(textarea);
244
-
245
248
  expect(onBlur).toHaveBeenCalled();
246
249
  expect(onBlur).toHaveBeenCalledWith({
247
250
  value: "pattern4&"
@@ -250,58 +253,47 @@ describe("Textarea component tests", function () {
250
253
  test("Length constraint", function () {
251
254
  var onChange = jest.fn();
252
255
  var onBlur = jest.fn();
253
-
254
- var _render13 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
255
- label: "Example label",
256
- placeholder: "Placeholder",
257
- onChange: onChange,
258
- onBlur: onBlur,
259
- margin: {
260
- left: "medium",
261
- right: "medium"
262
- },
263
- minLength: 5,
264
- maxLength: 10
265
- })),
266
- getByLabelText = _render13.getByLabelText;
267
-
256
+ var _render15 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
257
+ label: "Example label",
258
+ placeholder: "Placeholder",
259
+ onChange: onChange,
260
+ onBlur: onBlur,
261
+ margin: {
262
+ left: "medium",
263
+ right: "medium"
264
+ },
265
+ minLength: 5,
266
+ maxLength: 10
267
+ })),
268
+ getByLabelText = _render15.getByLabelText;
268
269
  var textarea = getByLabelText("Example label");
269
-
270
270
  _react2.fireEvent.change(textarea, {
271
271
  target: {
272
272
  value: "test"
273
273
  }
274
274
  });
275
-
276
275
  expect(onChange).toHaveBeenCalled();
277
276
  expect(onChange).toHaveBeenCalledWith({
278
277
  value: "test",
279
278
  error: "Min length 5, max length 10."
280
279
  });
281
-
282
280
  _react2.fireEvent.blur(textarea);
283
-
284
281
  expect(onBlur).toHaveBeenCalled();
285
282
  expect(onBlur).toHaveBeenCalledWith({
286
283
  value: "test",
287
284
  error: "Min length 5, max length 10."
288
285
  });
289
-
290
286
  _userEvent["default"].clear(textarea);
291
-
292
287
  _react2.fireEvent.change(textarea, {
293
288
  target: {
294
289
  value: "length"
295
290
  }
296
291
  });
297
-
298
292
  expect(onChange).toHaveBeenCalled();
299
293
  expect(onChange).toHaveBeenCalledWith({
300
294
  value: "length"
301
295
  });
302
-
303
296
  _react2.fireEvent.blur(textarea);
304
-
305
297
  expect(onBlur).toHaveBeenCalled();
306
298
  expect(onBlur).toHaveBeenCalledWith({
307
299
  value: "length"
@@ -310,77 +302,63 @@ describe("Textarea component tests", function () {
310
302
  test("Pattern and length constraints", function () {
311
303
  var onChange = jest.fn();
312
304
  var onBlur = jest.fn();
313
-
314
- var _render14 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
315
- label: "Example label",
316
- placeholder: "Placeholder",
317
- onChange: onChange,
318
- onBlur: onBlur,
319
- margin: {
320
- left: "medium",
321
- right: "medium"
322
- },
323
- pattern: "^.*(?=.*[a-zA-Z])(?=.*\\d)(?=.*[!&$%&? \"]).*$",
324
- minLength: 5,
325
- maxLength: 10
326
- })),
327
- getByLabelText = _render14.getByLabelText;
328
-
305
+ var _render16 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
306
+ label: "Example label",
307
+ placeholder: "Placeholder",
308
+ onChange: onChange,
309
+ onBlur: onBlur,
310
+ margin: {
311
+ left: "medium",
312
+ right: "medium"
313
+ },
314
+ pattern: "^.*(?=.*[a-zA-Z])(?=.*\\d)(?=.*[!&$%&? \"]).*$",
315
+ minLength: 5,
316
+ maxLength: 10
317
+ })),
318
+ getByLabelText = _render16.getByLabelText;
329
319
  var textarea = getByLabelText("Example label");
330
-
331
320
  _react2.fireEvent.change(textarea, {
332
321
  target: {
333
322
  value: "test"
334
323
  }
335
324
  });
336
-
337
325
  expect(onChange).toHaveBeenCalled();
338
326
  expect(onChange).toHaveBeenCalledWith({
339
327
  value: "test",
340
328
  error: "Min length 5, max length 10."
341
329
  });
342
-
343
330
  _react2.fireEvent.blur(textarea);
344
-
345
331
  expect(onBlur).toHaveBeenCalled();
346
332
  expect(onBlur).toHaveBeenCalledWith({
347
333
  value: "test",
348
334
  error: "Min length 5, max length 10."
349
335
  });
350
-
351
336
  _react2.fireEvent.change(textarea, {
352
337
  target: {
353
338
  value: "tests"
354
339
  }
355
340
  });
356
-
357
341
  expect(onChange).toHaveBeenCalled();
358
342
  expect(onChange).toHaveBeenCalledWith({
359
343
  value: "tests",
360
344
  error: "Please match the format requested."
361
345
  });
362
-
363
346
  _react2.fireEvent.blur(textarea);
364
-
365
347
  expect(onBlur).toHaveBeenCalled();
366
348
  expect(onBlur).toHaveBeenCalledWith({
367
349
  value: "tests",
368
350
  error: "Please match the format requested."
369
351
  });
370
-
371
352
  _react2.fireEvent.change(textarea, {
372
353
  target: {
373
354
  value: "tests4&"
374
355
  }
375
356
  });
376
-
377
357
  expect(onChange).toHaveBeenCalled();
378
358
  expect(onChange).toHaveBeenCalledWith({
379
359
  value: "tests4&"
380
360
  });
381
-
382
361
  _react2.fireEvent.blur(textarea);
383
-
384
362
  expect(onBlur).toHaveBeenCalled();
385
363
  expect(onBlur).toHaveBeenCalledWith({
386
364
  value: "tests4&"
@@ -388,23 +366,18 @@ describe("Textarea component tests", function () {
388
366
  });
389
367
  test("onBlur function is called correctly", function () {
390
368
  var onBlur = jest.fn();
391
-
392
- var _render15 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
393
- label: "Example label",
394
- onBlur: onBlur
395
- })),
396
- getByLabelText = _render15.getByLabelText;
397
-
369
+ var _render17 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
370
+ label: "Example label",
371
+ onBlur: onBlur
372
+ })),
373
+ getByLabelText = _render17.getByLabelText;
398
374
  var textarea = getByLabelText("Example label");
399
-
400
375
  _react2.fireEvent.change(textarea, {
401
376
  target: {
402
377
  value: "Blur test"
403
378
  }
404
379
  });
405
-
406
380
  _react2.fireEvent.blur(textarea);
407
-
408
381
  expect(onBlur).toHaveBeenCalled();
409
382
  expect(onBlur).toHaveBeenCalledWith({
410
383
  value: "Blur test"
@@ -412,22 +385,18 @@ describe("Textarea component tests", function () {
412
385
  });
413
386
  test("onChange function is called correctly", function () {
414
387
  var onChange = jest.fn();
415
-
416
- var _render16 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
417
- label: "Example label",
418
- value: "Test value",
419
- onChange: onChange
420
- })),
421
- getByLabelText = _render16.getByLabelText;
422
-
388
+ var _render18 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
389
+ label: "Example label",
390
+ value: "Test value",
391
+ onChange: onChange
392
+ })),
393
+ getByLabelText = _render18.getByLabelText;
423
394
  var textarea = getByLabelText("Example label");
424
-
425
395
  _react2.fireEvent.change(textarea, {
426
396
  target: {
427
397
  value: "Controlled test"
428
398
  }
429
399
  });
430
-
431
400
  expect(onChange).toHaveBeenCalled();
432
401
  expect(onChange).toHaveBeenCalledWith({
433
402
  value: "Controlled test"
@@ -1,11 +1,11 @@
1
- declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
2
- declare type Margin = {
1
+ type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
2
+ type Margin = {
3
3
  top?: Space;
4
4
  bottom?: Space;
5
5
  left?: Space;
6
6
  right?: Space;
7
7
  };
8
- declare type Props = {
8
+ type Props = {
9
9
  /**
10
10
  * Text to be placed above the textarea.
11
11
  */
@@ -34,6 +34,10 @@ declare type Props = {
34
34
  * If true, the component will be disabled.
35
35
  */
36
36
  disabled?: boolean;
37
+ /**
38
+ * If true, the component will not be mutable, meaning the user can not edit the control.
39
+ */
40
+ readOnly?: boolean;
37
41
  /**
38
42
  * If true, the textarea will be optional, showing '(Optional)'
39
43
  * next to the label. Otherwise, the field will be considered required
@@ -92,7 +96,7 @@ declare type Props = {
92
96
  */
93
97
  pattern?: string;
94
98
  /**
95
- * Specifies the minimun length allowed by the textarea.
99
+ * Specifies the minimum length allowed by the textarea.
96
100
  * This will be checked both when the textarea loses the
97
101
  * focus and while typing within it. If the string entered does not
98
102
  * comply the minimum length, the onBlur and onChange functions will be called
@@ -133,5 +137,5 @@ declare type Props = {
133
137
  /**
134
138
  * Reference to the component.
135
139
  */
136
- export declare type RefType = HTMLDivElement;
140
+ export type RefType = HTMLDivElement;
137
141
  export default Props;