@dxc-technology/halstack-react 0.0.0-5b2ad05 → 0.0.0-5b32837

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 -0
  2. package/BackgroundColorContext.js +30 -0
  3. package/HalstackContext.d.ts +1237 -0
  4. package/HalstackContext.js +310 -0
  5. package/README.md +28 -47
  6. package/accordion/Accordion.d.ts +4 -0
  7. package/accordion/Accordion.js +182 -0
  8. package/accordion/Accordion.stories.tsx +283 -0
  9. package/accordion/Accordion.test.js +56 -0
  10. package/accordion/types.d.ts +57 -0
  11. package/accordion/types.js +5 -0
  12. package/accordion-group/AccordionGroup.d.ts +8 -0
  13. package/accordion-group/AccordionGroup.js +101 -0
  14. package/accordion-group/AccordionGroup.stories.tsx +252 -0
  15. package/accordion-group/AccordionGroup.test.js +98 -0
  16. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  17. package/accordion-group/AccordionGroupAccordion.js +31 -0
  18. package/accordion-group/types.d.ts +67 -0
  19. package/accordion-group/types.js +5 -0
  20. package/action-icon/ActionIcon.d.ts +4 -0
  21. package/action-icon/ActionIcon.js +47 -0
  22. package/action-icon/ActionIcon.stories.tsx +41 -0
  23. package/action-icon/ActionIcon.test.js +64 -0
  24. package/action-icon/types.d.ts +26 -0
  25. package/action-icon/types.js +5 -0
  26. package/alert/Alert.d.ts +4 -0
  27. package/{dist/alert → alert}/Alert.js +55 -204
  28. package/alert/Alert.stories.tsx +198 -0
  29. package/alert/Alert.test.js +75 -0
  30. package/alert/types.d.ts +49 -0
  31. package/alert/types.js +5 -0
  32. package/badge/Badge.d.ts +4 -0
  33. package/badge/Badge.js +159 -0
  34. package/badge/Badge.stories.tsx +210 -0
  35. package/badge/Badge.test.js +30 -0
  36. package/badge/types.d.ts +54 -0
  37. package/badge/types.js +5 -0
  38. package/bleed/Bleed.d.ts +3 -0
  39. package/bleed/Bleed.js +43 -0
  40. package/bleed/Bleed.stories.tsx +342 -0
  41. package/bleed/types.d.ts +37 -0
  42. package/bleed/types.js +5 -0
  43. package/box/Box.d.ts +4 -0
  44. package/box/Box.js +75 -0
  45. package/box/Box.stories.tsx +119 -0
  46. package/box/Box.test.js +13 -0
  47. package/box/types.d.ts +32 -0
  48. package/box/types.js +5 -0
  49. package/bulleted-list/BulletedList.d.ts +7 -0
  50. package/bulleted-list/BulletedList.js +89 -0
  51. package/bulleted-list/BulletedList.stories.tsx +115 -0
  52. package/bulleted-list/types.d.ts +38 -0
  53. package/bulleted-list/types.js +5 -0
  54. package/button/Button.d.ts +4 -0
  55. package/button/Button.js +120 -0
  56. package/button/Button.stories.tsx +344 -0
  57. package/button/Button.test.js +38 -0
  58. package/button/types.d.ts +57 -0
  59. package/button/types.js +5 -0
  60. package/card/Card.d.ts +4 -0
  61. package/card/Card.js +120 -0
  62. package/card/Card.stories.tsx +171 -0
  63. package/card/Card.test.js +39 -0
  64. package/card/types.d.ts +62 -0
  65. package/card/types.js +5 -0
  66. package/checkbox/Checkbox.d.ts +4 -0
  67. package/checkbox/Checkbox.js +215 -0
  68. package/checkbox/Checkbox.stories.tsx +222 -0
  69. package/checkbox/Checkbox.test.js +199 -0
  70. package/checkbox/types.d.ts +72 -0
  71. package/checkbox/types.js +5 -0
  72. package/chip/Chip.d.ts +4 -0
  73. package/chip/Chip.js +121 -0
  74. package/chip/Chip.stories.tsx +214 -0
  75. package/chip/Chip.test.js +41 -0
  76. package/chip/types.d.ts +45 -0
  77. package/chip/types.js +5 -0
  78. package/common/OpenSans.css +69 -0
  79. package/common/coreTokens.d.ts +237 -0
  80. package/common/coreTokens.js +184 -0
  81. package/common/utils.d.ts +1 -0
  82. package/{dist/common → common}/utils.js +6 -12
  83. package/common/variables.d.ts +1383 -0
  84. package/common/variables.js +1255 -0
  85. package/container/Container.d.ts +4 -0
  86. package/container/Container.js +194 -0
  87. package/container/Container.stories.tsx +214 -0
  88. package/container/types.d.ts +74 -0
  89. package/container/types.js +5 -0
  90. package/date-input/Calendar.d.ts +4 -0
  91. package/date-input/Calendar.js +214 -0
  92. package/date-input/DateInput.d.ts +4 -0
  93. package/date-input/DateInput.js +223 -0
  94. package/date-input/DateInput.stories.tsx +285 -0
  95. package/date-input/DateInput.test.js +808 -0
  96. package/date-input/DatePicker.d.ts +4 -0
  97. package/date-input/DatePicker.js +115 -0
  98. package/date-input/Icons.d.ts +6 -0
  99. package/date-input/Icons.js +58 -0
  100. package/date-input/YearPicker.d.ts +4 -0
  101. package/date-input/YearPicker.js +100 -0
  102. package/date-input/types.d.ts +164 -0
  103. package/date-input/types.js +5 -0
  104. package/dialog/Dialog.d.ts +4 -0
  105. package/dialog/Dialog.js +104 -0
  106. package/dialog/Dialog.stories.tsx +365 -0
  107. package/dialog/Dialog.test.js +307 -0
  108. package/dialog/types.d.ts +36 -0
  109. package/dialog/types.js +5 -0
  110. package/dropdown/Dropdown.d.ts +4 -0
  111. package/dropdown/Dropdown.js +336 -0
  112. package/dropdown/Dropdown.stories.tsx +438 -0
  113. package/dropdown/Dropdown.test.js +599 -0
  114. package/dropdown/DropdownMenu.d.ts +4 -0
  115. package/dropdown/DropdownMenu.js +63 -0
  116. package/dropdown/DropdownMenuItem.d.ts +4 -0
  117. package/dropdown/DropdownMenuItem.js +67 -0
  118. package/dropdown/types.d.ts +98 -0
  119. package/dropdown/types.js +5 -0
  120. package/file-input/FileInput.d.ts +4 -0
  121. package/file-input/FileInput.js +479 -0
  122. package/file-input/FileInput.stories.tsx +618 -0
  123. package/file-input/FileInput.test.js +459 -0
  124. package/file-input/FileItem.d.ts +4 -0
  125. package/file-input/FileItem.js +135 -0
  126. package/file-input/types.d.ts +129 -0
  127. package/file-input/types.js +5 -0
  128. package/flex/Flex.d.ts +4 -0
  129. package/flex/Flex.js +57 -0
  130. package/flex/Flex.stories.tsx +112 -0
  131. package/flex/types.d.ts +97 -0
  132. package/flex/types.js +5 -0
  133. package/footer/Footer.d.ts +4 -0
  134. package/footer/Footer.js +138 -0
  135. package/footer/Footer.stories.tsx +171 -0
  136. package/footer/Footer.test.js +85 -0
  137. package/footer/Icons.d.ts +3 -0
  138. package/footer/Icons.js +136 -0
  139. package/footer/types.d.ts +64 -0
  140. package/footer/types.js +5 -0
  141. package/grid/Grid.d.ts +7 -0
  142. package/grid/Grid.js +76 -0
  143. package/grid/Grid.stories.tsx +219 -0
  144. package/grid/types.d.ts +115 -0
  145. package/grid/types.js +5 -0
  146. package/header/Header.d.ts +8 -0
  147. package/header/Header.js +220 -0
  148. package/header/Header.stories.tsx +251 -0
  149. package/header/Header.test.js +66 -0
  150. package/header/Icons.d.ts +2 -0
  151. package/{dist/header → header}/Icons.js +9 -39
  152. package/header/types.d.ts +33 -0
  153. package/header/types.js +5 -0
  154. package/heading/Heading.d.ts +4 -0
  155. package/{dist/heading → heading}/Heading.js +31 -124
  156. package/heading/Heading.stories.tsx +54 -0
  157. package/heading/Heading.test.js +169 -0
  158. package/heading/types.d.ts +33 -0
  159. package/heading/types.js +5 -0
  160. package/image/Image.d.ts +4 -0
  161. package/image/Image.js +70 -0
  162. package/image/Image.stories.tsx +127 -0
  163. package/image/types.d.ts +72 -0
  164. package/image/types.js +5 -0
  165. package/inset/Inset.d.ts +3 -0
  166. package/inset/Inset.js +43 -0
  167. package/inset/Inset.stories.tsx +230 -0
  168. package/inset/types.d.ts +37 -0
  169. package/inset/types.js +5 -0
  170. package/layout/ApplicationLayout.d.ts +20 -0
  171. package/layout/ApplicationLayout.js +134 -0
  172. package/layout/ApplicationLayout.stories.tsx +162 -0
  173. package/layout/Icons.d.ts +8 -0
  174. package/layout/Icons.js +58 -0
  175. package/layout/SidenavContext.d.ts +5 -0
  176. package/layout/SidenavContext.js +13 -0
  177. package/layout/types.d.ts +41 -0
  178. package/layout/types.js +5 -0
  179. package/link/Link.d.ts +4 -0
  180. package/link/Link.js +115 -0
  181. package/link/Link.stories.tsx +253 -0
  182. package/link/Link.test.js +63 -0
  183. package/link/types.d.ts +54 -0
  184. package/link/types.js +5 -0
  185. package/main.d.ts +47 -0
  186. package/{dist/main.js → main.js} +123 -139
  187. package/nav-tabs/NavTabs.d.ts +8 -0
  188. package/nav-tabs/NavTabs.js +93 -0
  189. package/nav-tabs/NavTabs.stories.tsx +276 -0
  190. package/nav-tabs/NavTabs.test.js +76 -0
  191. package/nav-tabs/Tab.d.ts +4 -0
  192. package/nav-tabs/Tab.js +118 -0
  193. package/nav-tabs/types.d.ts +52 -0
  194. package/nav-tabs/types.js +5 -0
  195. package/number-input/NumberInput.d.ts +11 -0
  196. package/number-input/NumberInput.js +67 -0
  197. package/number-input/NumberInput.stories.tsx +131 -0
  198. package/number-input/NumberInput.test.js +830 -0
  199. package/number-input/types.d.ts +130 -0
  200. package/number-input/types.js +5 -0
  201. package/package.json +56 -44
  202. package/paginator/Icons.d.ts +5 -0
  203. package/paginator/Icons.js +40 -0
  204. package/paginator/Paginator.d.ts +4 -0
  205. package/paginator/Paginator.js +135 -0
  206. package/paginator/Paginator.stories.tsx +87 -0
  207. package/paginator/Paginator.test.js +335 -0
  208. package/paginator/types.d.ts +38 -0
  209. package/paginator/types.js +5 -0
  210. package/paragraph/Paragraph.d.ts +5 -0
  211. package/paragraph/Paragraph.js +22 -0
  212. package/paragraph/Paragraph.stories.tsx +27 -0
  213. package/password-input/Icons.d.ts +6 -0
  214. package/password-input/Icons.js +35 -0
  215. package/password-input/PasswordInput.d.ts +4 -0
  216. package/password-input/PasswordInput.js +97 -0
  217. package/password-input/PasswordInput.stories.tsx +99 -0
  218. package/password-input/PasswordInput.test.js +198 -0
  219. package/password-input/types.d.ts +111 -0
  220. package/password-input/types.js +5 -0
  221. package/progress-bar/ProgressBar.d.ts +4 -0
  222. package/progress-bar/ProgressBar.js +144 -0
  223. package/progress-bar/ProgressBar.stories.tsx +93 -0
  224. package/progress-bar/ProgressBar.test.js +93 -0
  225. package/progress-bar/types.d.ts +37 -0
  226. package/progress-bar/types.js +5 -0
  227. package/quick-nav/QuickNav.d.ts +4 -0
  228. package/quick-nav/QuickNav.js +94 -0
  229. package/quick-nav/QuickNav.stories.tsx +356 -0
  230. package/quick-nav/types.d.ts +21 -0
  231. package/quick-nav/types.js +5 -0
  232. package/radio-group/Radio.d.ts +4 -0
  233. package/radio-group/Radio.js +124 -0
  234. package/radio-group/RadioGroup.d.ts +4 -0
  235. package/radio-group/RadioGroup.js +235 -0
  236. package/radio-group/RadioGroup.stories.tsx +214 -0
  237. package/radio-group/RadioGroup.test.js +756 -0
  238. package/radio-group/types.d.ts +114 -0
  239. package/radio-group/types.js +5 -0
  240. package/resultset-table/Icons.d.ts +7 -0
  241. package/resultset-table/Icons.js +47 -0
  242. package/resultset-table/ResultsetTable.d.ts +7 -0
  243. package/resultset-table/ResultsetTable.js +167 -0
  244. package/resultset-table/ResultsetTable.stories.tsx +381 -0
  245. package/resultset-table/ResultsetTable.test.js +371 -0
  246. package/resultset-table/types.d.ts +73 -0
  247. package/resultset-table/types.js +5 -0
  248. package/select/Icons.d.ts +10 -0
  249. package/select/Icons.js +89 -0
  250. package/select/Listbox.d.ts +4 -0
  251. package/select/Listbox.js +143 -0
  252. package/select/Option.d.ts +4 -0
  253. package/select/Option.js +87 -0
  254. package/select/Select.d.ts +4 -0
  255. package/select/Select.js +590 -0
  256. package/select/Select.stories.tsx +971 -0
  257. package/select/Select.test.js +2370 -0
  258. package/select/types.d.ts +209 -0
  259. package/select/types.js +5 -0
  260. package/sidenav/Icons.d.ts +7 -0
  261. package/sidenav/Icons.js +47 -0
  262. package/sidenav/Sidenav.d.ts +10 -0
  263. package/sidenav/Sidenav.js +196 -0
  264. package/sidenav/Sidenav.stories.tsx +282 -0
  265. package/sidenav/Sidenav.test.js +37 -0
  266. package/sidenav/types.d.ts +76 -0
  267. package/sidenav/types.js +5 -0
  268. package/slider/Slider.d.ts +4 -0
  269. package/slider/Slider.js +285 -0
  270. package/slider/Slider.test.js +254 -0
  271. package/slider/types.d.ts +86 -0
  272. package/slider/types.js +5 -0
  273. package/spinner/Spinner.d.ts +4 -0
  274. package/spinner/Spinner.js +206 -0
  275. package/spinner/Spinner.stories.tsx +129 -0
  276. package/spinner/Spinner.test.js +55 -0
  277. package/spinner/types.d.ts +32 -0
  278. package/spinner/types.js +5 -0
  279. package/status-light/StatusLight.d.ts +4 -0
  280. package/status-light/StatusLight.js +51 -0
  281. package/status-light/StatusLight.stories.tsx +74 -0
  282. package/status-light/StatusLight.test.js +25 -0
  283. package/status-light/types.d.ts +17 -0
  284. package/status-light/types.js +5 -0
  285. package/switch/Switch.d.ts +4 -0
  286. package/switch/Switch.js +214 -0
  287. package/switch/Switch.stories.tsx +137 -0
  288. package/switch/Switch.test.js +180 -0
  289. package/switch/types.d.ts +66 -0
  290. package/switch/types.js +5 -0
  291. package/table/ActionsCell.d.ts +4 -0
  292. package/table/ActionsCell.js +54 -0
  293. package/table/DropdownTheme.js +57 -0
  294. package/table/Table.d.ts +7 -0
  295. package/table/Table.js +113 -0
  296. package/table/Table.stories.tsx +615 -0
  297. package/table/Table.test.js +113 -0
  298. package/table/types.d.ts +60 -0
  299. package/table/types.js +5 -0
  300. package/tabs/Tab.d.ts +4 -0
  301. package/tabs/Tab.js +116 -0
  302. package/tabs/Tabs.d.ts +4 -0
  303. package/tabs/Tabs.js +384 -0
  304. package/tabs/Tabs.stories.tsx +226 -0
  305. package/tabs/Tabs.test.js +294 -0
  306. package/tabs/types.d.ts +92 -0
  307. package/tabs/types.js +5 -0
  308. package/tag/Tag.d.ts +4 -0
  309. package/tag/Tag.js +151 -0
  310. package/tag/Tag.stories.tsx +155 -0
  311. package/tag/Tag.test.js +49 -0
  312. package/tag/types.d.ts +69 -0
  313. package/tag/types.js +5 -0
  314. package/text-input/Icons.d.ts +8 -0
  315. package/text-input/Icons.js +56 -0
  316. package/text-input/Suggestion.d.ts +4 -0
  317. package/text-input/Suggestion.js +67 -0
  318. package/text-input/Suggestions.d.ts +4 -0
  319. package/text-input/Suggestions.js +84 -0
  320. package/text-input/TextInput.d.ts +4 -0
  321. package/text-input/TextInput.js +572 -0
  322. package/text-input/TextInput.stories.tsx +465 -0
  323. package/text-input/TextInput.test.js +1739 -0
  324. package/text-input/types.d.ts +205 -0
  325. package/text-input/types.js +5 -0
  326. package/textarea/Textarea.d.ts +4 -0
  327. package/textarea/Textarea.js +234 -0
  328. package/textarea/Textarea.stories.tsx +174 -0
  329. package/textarea/Textarea.test.js +406 -0
  330. package/textarea/types.d.ts +141 -0
  331. package/textarea/types.js +5 -0
  332. package/toggle-group/ToggleGroup.d.ts +4 -0
  333. package/toggle-group/ToggleGroup.js +201 -0
  334. package/toggle-group/ToggleGroup.stories.tsx +218 -0
  335. package/toggle-group/ToggleGroup.test.js +137 -0
  336. package/toggle-group/types.d.ts +114 -0
  337. package/toggle-group/types.js +5 -0
  338. package/typography/Typography.d.ts +4 -0
  339. package/typography/Typography.js +23 -0
  340. package/typography/Typography.stories.tsx +198 -0
  341. package/typography/types.d.ts +18 -0
  342. package/typography/types.js +5 -0
  343. package/useTheme.d.ts +1136 -0
  344. package/{dist/useTheme.js → useTheme.js} +4 -11
  345. package/useTranslatedLabels.d.ts +85 -0
  346. package/useTranslatedLabels.js +14 -0
  347. package/utils/BaseTypography.d.ts +21 -0
  348. package/utils/BaseTypography.js +94 -0
  349. package/utils/FocusLock.d.ts +13 -0
  350. package/utils/FocusLock.js +124 -0
  351. package/wizard/Wizard.d.ts +4 -0
  352. package/wizard/Wizard.js +250 -0
  353. package/wizard/Wizard.stories.tsx +253 -0
  354. package/wizard/Wizard.test.js +114 -0
  355. package/wizard/types.d.ts +64 -0
  356. package/wizard/types.js +5 -0
  357. package/babel.config.js +0 -8
  358. package/dist/BackgroundColorContext.js +0 -46
  359. package/dist/ThemeContext.js +0 -250
  360. package/dist/V3Select/V3Select.js +0 -549
  361. package/dist/V3Textarea/V3Textarea.js +0 -264
  362. package/dist/accordion/Accordion.js +0 -353
  363. package/dist/accordion-group/AccordionGroup.js +0 -186
  364. package/dist/alert/index.d.ts +0 -51
  365. package/dist/badge/Badge.js +0 -63
  366. package/dist/box/Box.js +0 -156
  367. package/dist/button/Button.js +0 -238
  368. package/dist/card/Card.js +0 -254
  369. package/dist/checkbox/Checkbox.js +0 -299
  370. package/dist/chip/Chip.js +0 -265
  371. package/dist/common/OpenSans.css +0 -81
  372. package/dist/common/RequiredComponent.js +0 -40
  373. package/dist/common/variables.js +0 -1578
  374. package/dist/date/Date.js +0 -379
  375. package/dist/date-input/DateInput.js +0 -400
  376. package/dist/date-input/index.d.ts +0 -95
  377. package/dist/dialog/Dialog.js +0 -218
  378. package/dist/dropdown/Dropdown.js +0 -544
  379. package/dist/file-input/FileInput.js +0 -644
  380. package/dist/file-input/FileItem.js +0 -280
  381. package/dist/file-input/index.d.ts +0 -81
  382. package/dist/footer/Footer.js +0 -421
  383. package/dist/footer/Icons.js +0 -77
  384. package/dist/header/Header.js +0 -470
  385. package/dist/input-text/Icons.js +0 -22
  386. package/dist/input-text/InputText.js +0 -705
  387. package/dist/layout/ApplicationLayout.js +0 -327
  388. package/dist/layout/Icons.js +0 -55
  389. package/dist/link/Link.js +0 -237
  390. package/dist/main.d.ts +0 -8
  391. package/dist/number-input/NumberInput.js +0 -136
  392. package/dist/number-input/NumberInputContext.js +0 -16
  393. package/dist/number-input/index.d.ts +0 -113
  394. package/dist/paginator/Icons.js +0 -66
  395. package/dist/paginator/Paginator.js +0 -283
  396. package/dist/password-input/PasswordInput.js +0 -198
  397. package/dist/password-input/index.d.ts +0 -94
  398. package/dist/progress-bar/ProgressBar.js +0 -242
  399. package/dist/radio/Radio.js +0 -209
  400. package/dist/resultsetTable/ResultsetTable.js +0 -358
  401. package/dist/select/Select.js +0 -1085
  402. package/dist/select/index.d.ts +0 -53
  403. package/dist/sidenav/Sidenav.js +0 -179
  404. package/dist/slider/Slider.js +0 -404
  405. package/dist/spinner/Spinner.js +0 -381
  406. package/dist/switch/Switch.js +0 -222
  407. package/dist/table/Table.js +0 -132
  408. package/dist/tabs/Tabs.js +0 -343
  409. package/dist/tag/Tag.js +0 -282
  410. package/dist/text-input/TextInput.js +0 -971
  411. package/dist/text-input/index.d.ts +0 -135
  412. package/dist/textarea/Textarea.js +0 -369
  413. package/dist/textarea/index.d.ts +0 -117
  414. package/dist/toggle/Toggle.js +0 -220
  415. package/dist/toggle-group/ToggleGroup.js +0 -327
  416. package/dist/upload/Upload.js +0 -205
  417. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -135
  418. package/dist/upload/buttons-upload/Icons.js +0 -40
  419. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -329
  420. package/dist/upload/dragAndDropArea/Icons.js +0 -39
  421. package/dist/upload/file-upload/FileToUpload.js +0 -189
  422. package/dist/upload/file-upload/Icons.js +0 -66
  423. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  424. package/dist/upload/transaction/Icons.js +0 -160
  425. package/dist/upload/transaction/Transaction.js +0 -148
  426. package/dist/upload/transactions/Transactions.js +0 -138
  427. package/dist/wizard/Icons.js +0 -65
  428. package/dist/wizard/Wizard.js +0 -405
  429. package/test/Accordion.test.js +0 -33
  430. package/test/AccordionGroup.test.js +0 -125
  431. package/test/Alert.test.js +0 -53
  432. package/test/Box.test.js +0 -10
  433. package/test/Button.test.js +0 -18
  434. package/test/Card.test.js +0 -30
  435. package/test/Checkbox.test.js +0 -45
  436. package/test/Chip.test.js +0 -25
  437. package/test/Date.test.js +0 -397
  438. package/test/DateInput.test.js +0 -242
  439. package/test/Dialog.test.js +0 -23
  440. package/test/Dropdown.test.js +0 -145
  441. package/test/FileInput.test.js +0 -201
  442. package/test/Footer.test.js +0 -94
  443. package/test/Header.test.js +0 -34
  444. package/test/Heading.test.js +0 -83
  445. package/test/InputText.test.js +0 -248
  446. package/test/Link.test.js +0 -43
  447. package/test/NumberInput.test.js +0 -259
  448. package/test/Paginator.test.js +0 -177
  449. package/test/PasswordInput.test.js +0 -83
  450. package/test/ProgressBar.test.js +0 -35
  451. package/test/Radio.test.js +0 -37
  452. package/test/ResultsetTable.test.js +0 -329
  453. package/test/Sidenav.test.js +0 -45
  454. package/test/Slider.test.js +0 -74
  455. package/test/Spinner.test.js +0 -32
  456. package/test/Switch.test.js +0 -45
  457. package/test/Table.test.js +0 -36
  458. package/test/Tabs.test.js +0 -109
  459. package/test/Tag.test.js +0 -32
  460. package/test/TextInput.test.js +0 -732
  461. package/test/Textarea.test.js +0 -193
  462. package/test/ToggleGroup.test.js +0 -85
  463. package/test/Upload.test.js +0 -60
  464. package/test/V3Select.test.js +0 -212
  465. package/test/V3TextArea.test.js +0 -51
  466. package/test/Wizard.test.js +0 -130
  467. package/test/mocks/pngMock.js +0 -1
  468. package/test/mocks/svgMock.js +0 -1
  469. /package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  470. /package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  471. /package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  472. /package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  473. /package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  474. /package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  475. /package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  476. /package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  477. /package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  478. /package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
@@ -0,0 +1,206 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof3 = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
10
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
11
+ var _react = _interopRequireDefault(require("react"));
12
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
13
+ var _variables = require("../common/variables");
14
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
15
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12;
16
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
17
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
18
+ var DxcSpinner = function DxcSpinner(_ref) {
19
+ var _ref$label = _ref.label,
20
+ label = _ref$label === void 0 ? "" : _ref$label,
21
+ value = _ref.value,
22
+ _ref$showValue = _ref.showValue,
23
+ showValue = _ref$showValue === void 0 ? false : _ref$showValue,
24
+ _ref$mode = _ref.mode,
25
+ mode = _ref$mode === void 0 ? "large" : _ref$mode,
26
+ margin = _ref.margin;
27
+ var colorsTheme = (0, _useTheme["default"])();
28
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
29
+ theme: colorsTheme.spinner
30
+ }, /*#__PURE__*/_react["default"].createElement(DXCSpinner, {
31
+ margin: margin,
32
+ mode: mode
33
+ }, /*#__PURE__*/_react["default"].createElement(SpinnerContainer, {
34
+ mode: mode
35
+ }, mode === "overlay" && /*#__PURE__*/_react["default"].createElement(BackOverlay, null), /*#__PURE__*/_react["default"].createElement(BackgroundSpinner, null, mode !== "small" && /*#__PURE__*/_react["default"].createElement(SVGBackground, {
36
+ viewBox: "0 0 140 140"
37
+ }, /*#__PURE__*/_react["default"].createElement(CircleBackground, {
38
+ cx: "70",
39
+ cy: "70",
40
+ r: "65",
41
+ mode: mode
42
+ })), mode === "small" && /*#__PURE__*/_react["default"].createElement(SVGBackground, {
43
+ viewBox: "0 0 16 16"
44
+ }, /*#__PURE__*/_react["default"].createElement(CircleBackground, {
45
+ cx: "8",
46
+ cy: "8",
47
+ r: "6",
48
+ mode: mode
49
+ }))), value >= 0 && value <= 100 ? /*#__PURE__*/_react["default"].createElement(Spinner, {
50
+ role: "progressbar"
51
+ }, mode !== "small" && /*#__PURE__*/_react["default"].createElement(SVGSpinner, {
52
+ viewBox: "0 0 140 140",
53
+ isDeterminated: true
54
+ }, /*#__PURE__*/_react["default"].createElement(CircleSpinner, {
55
+ cx: "70",
56
+ cy: "70",
57
+ r: "65",
58
+ mode: mode,
59
+ isDeterminated: true,
60
+ value: value
61
+ })), mode === "small" && /*#__PURE__*/_react["default"].createElement(SVGSpinner, {
62
+ viewBox: "0 0 16 16",
63
+ isDeterminated: true
64
+ }, /*#__PURE__*/_react["default"].createElement(CircleSpinner, {
65
+ cx: "8",
66
+ cy: "8",
67
+ r: "6",
68
+ mode: mode,
69
+ isDeterminated: true,
70
+ value: value
71
+ }))) : /*#__PURE__*/_react["default"].createElement(Spinner, {
72
+ role: "progressbar"
73
+ }, mode !== "small" && /*#__PURE__*/_react["default"].createElement(SVGSpinner, {
74
+ viewBox: "0 0 140 140",
75
+ isDeterminated: false
76
+ }, /*#__PURE__*/_react["default"].createElement(CircleSpinner, {
77
+ cx: "70",
78
+ cy: "70",
79
+ r: "65",
80
+ mode: mode,
81
+ isDeterminated: false,
82
+ value: value
83
+ })), mode === "small" && /*#__PURE__*/_react["default"].createElement(SVGSpinner, {
84
+ viewBox: "0 0 16 16",
85
+ isDeterminated: false
86
+ }, /*#__PURE__*/_react["default"].createElement(CircleSpinner, {
87
+ cx: "8",
88
+ cy: "8",
89
+ r: "6",
90
+ mode: mode,
91
+ isDeterminated: false,
92
+ value: value
93
+ }))), mode !== "small" && /*#__PURE__*/_react["default"].createElement(LabelsContainer, null, /*#__PURE__*/_react["default"].createElement(SpinnerLabel, {
94
+ mode: mode
95
+ }, label), (value || value === 0) && showValue && /*#__PURE__*/_react["default"].createElement(SpinnerProgress, {
96
+ value: value,
97
+ mode: mode,
98
+ showValue: showValue
99
+ }, value, "%")))));
100
+ };
101
+ var determinateValue = function determinateValue(value, strokeDashArray) {
102
+ var val = 0;
103
+ if (value >= 0 && value <= 100) {
104
+ val = strokeDashArray * (1 - value / 100);
105
+ }
106
+ return val;
107
+ };
108
+ var DXCSpinner = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n height: ", ";\n width: ", ";\n display: ", ";\n position: ", ";\n top: ", ";\n left: ", ";\n justify-content: ", ";\n align-items: ", ";\n z-index: ", ";\n\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
109
+ return props.mode === "overlay" ? "100vh" : "";
110
+ }, function (props) {
111
+ return props.mode === "overlay" ? "100vw" : "";
112
+ }, function (props) {
113
+ return props.mode === "overlay" ? "flex" : "";
114
+ }, function (props) {
115
+ return props.mode === "overlay" ? "fixed" : "";
116
+ }, function (props) {
117
+ return props.mode === "overlay" ? 0 : "";
118
+ }, function (props) {
119
+ return props.mode === "overlay" ? 0 : "";
120
+ }, function (props) {
121
+ return props.mode === "overlay" ? "center" : "";
122
+ }, function (props) {
123
+ return props.mode === "overlay" ? "center" : "";
124
+ }, function (props) {
125
+ return props.mode === "overlay" ? 1300 : "";
126
+ }, function (props) {
127
+ return props.mode != "overlay" ? props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px" : "";
128
+ }, function (props) {
129
+ return props.mode != "overlay" ? props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "" : "";
130
+ }, function (props) {
131
+ return props.mode != "overlay" ? props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "" : "";
132
+ }, function (props) {
133
+ return props.mode != "overlay" ? props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "" : "";
134
+ }, function (props) {
135
+ return props.mode != "overlay" ? props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "" : "";
136
+ });
137
+ var SpinnerContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n align-items: center;\n display: flex;\n height: ", ";\n width: ", ";\n justify-content: center;\n position: relative;\n background-color: transparent;\n\n @keyframes spinner-svg {\n 0% {\n transform: rotateZ(0deg);\n }\n 100% {\n transform: rotateZ(360deg);\n }\n }\n @keyframes svg-circle-large {\n 0% {\n stroke-dashoffset: 400;\n transform: rotate(0);\n }\n\n 50% {\n stroke-dashoffset: 75;\n transform: rotate(45deg);\n }\n\n 100% {\n stroke-dashoffset: 400;\n transform: rotate(360deg);\n }\n }\n @keyframes svg-circle-small {\n 0% {\n stroke-dashoffset: 35;\n transform: rotate(0);\n }\n\n 50% {\n stroke-dashoffset: 8;\n transform: rotate(45deg);\n }\n\n 100% {\n stroke-dashoffset: 35;\n transform: rotate(360deg);\n }\n }\n"])), function (props) {
138
+ return props.mode === "small" ? "16px" : "140px";
139
+ }, function (props) {
140
+ return props.mode === "small" ? "16px" : "140px";
141
+ });
142
+ var BackOverlay = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100vw;\n height: 100vh;\n opacity: 1;\n transition: opacity 225ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n position: fixed;\n top: 0;\n left: 0;\n background-color: ", ";\n opacity: ", ";\n"])), function (props) {
143
+ return "".concat(props.theme.overlayBackgroundColor);
144
+ }, function (props) {
145
+ return "".concat(props.theme.overlayOpacity);
146
+ });
147
+ var BackgroundSpinner = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n height: inherit;\n width: inherit;\n position: absolute;\n"])));
148
+ var SVGBackground = _styledComponents["default"].svg(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n height: inherit;\n width: inherit;\n"])));
149
+ var CircleBackground = _styledComponents["default"].circle(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n animation: none;\n fill: transparent;\n stroke: ", ";\n stroke-dasharray: ", ";\n stroke-linecap: initial;\n stroke-width: ", ";\n transform-origin: 50% 50%;\n vector-effect: non-scaling-stroke;\n"])), function (props) {
150
+ return "".concat(props.theme.totalCircleColor);
151
+ }, function (props) {
152
+ return props.mode !== "small" ? "409" : "38";
153
+ }, function (props) {
154
+ return props.mode !== "small" ? "8.5px" : "2px";
155
+ });
156
+ var Spinner = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n height: inherit;\n width: inherit;\n position: relative;\n"])));
157
+ var SVGSpinner = _styledComponents["default"].svg(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n height: inherit;\n width: inherit;\n transform: rotate(-90deg);\n top: 0;\n left: 0;\n transform-origin: center;\n overflow: visible;\n animation: ", ";\n"])), function (props) {
158
+ return !props.isDeterminated ? "1.4s linear infinite both spinner-svg" : "";
159
+ });
160
+ var CircleSpinner = _styledComponents["default"].circle(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n fill: transparent;\n stroke-linecap: initial;\n vector-effect: non-scaling-stroke;\n animation: ", ";\n stroke: ", ";\n transform-origin: ", ";\n stroke-dasharray: ", ";\n stroke-width: ", ";\n stroke-dashoffset: ", ";\n"])), function (props) {
161
+ return props.isDeterminated ? "none" : props.mode !== "small" ? "1.4s ease-in-out infinite both svg-circle-large" : "1.4s ease-in-out infinite both svg-circle-small";
162
+ }, function (props) {
163
+ return props.mode === "overlay" ? props.theme.trackCircleColorOverlay : props.theme.trackCircleColor;
164
+ }, function (props) {
165
+ return !props.isDeterminated ? "50% 50%" : "";
166
+ }, function (props) {
167
+ return props.mode !== "small" ? "409" : "38";
168
+ }, function (props) {
169
+ return props.mode !== "small" ? "8.5px" : "2px";
170
+ }, function (props) {
171
+ return props.isDeterminated ? props.mode !== "small" ? determinateValue(props.value, 409) : determinateValue(props.value, 38) : "";
172
+ });
173
+ var LabelsContainer = _styledComponents["default"].div(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n display: block;\n margin: 0 auto;\n position: absolute;\n text-align: center;\n width: 110px;\n"])));
174
+ var SpinnerLabel = _styledComponents["default"].p(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n margin: 0;\n width: 100%;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font-family: ", ";\n font-weight: ", ";\n font-size: ", ";\n font-style: ", ";\n color: ", ";\n text-align: ", ";\n letter-spacing: ", ";\n"])), function (props) {
175
+ return props.mode === "overlay" ? props.theme.overlayLabelFontFamily : props.theme.labelFontFamily;
176
+ }, function (props) {
177
+ return props.mode === "overlay" ? props.theme.overlayLabelFontWeight : props.theme.labelFontWeight;
178
+ }, function (props) {
179
+ return props.mode === "overlay" ? props.theme.overlayLabelFontSize : props.theme.labelFontSize;
180
+ }, function (props) {
181
+ return props.mode === "overlay" ? props.theme.overlayLabelFontStyle : props.theme.labelFontStyle;
182
+ }, function (props) {
183
+ return props.mode === "overlay" ? props.theme.overlayLabelFontColor : props.theme.labelFontColor;
184
+ }, function (props) {
185
+ return props.mode === "overlay" ? props.theme.overlayLabelTextAlign : props.theme.labelTextAlign;
186
+ }, function (props) {
187
+ return props.mode === "overlay" ? props.theme.overlayLabelLetterSpacing : props.theme.labelLetterSpacing;
188
+ });
189
+ var SpinnerProgress = _styledComponents["default"].p(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n margin: 0;\n width: 100%;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: ", ";\n font-family: ", ";\n font-weight: ", ";\n font-size: ", ";\n font-style: ", ";\n color: ", ";\n text-align: ", ";\n letter-spacing: ", ";\n"])), function (props) {
190
+ return props.value && props.showValue === true && "block" || "none";
191
+ }, function (props) {
192
+ return props.mode === "overlay" ? props.theme.overlayProgressValueFontFamily : props.theme.progressValueFontFamily;
193
+ }, function (props) {
194
+ return props.mode === "overlay" ? props.theme.overlayProgressValueFontWeight : props.theme.progressValueFontWeight;
195
+ }, function (props) {
196
+ return props.mode === "overlay" ? props.theme.overlayProgressValueFontSize : props.theme.progressValueFontSize;
197
+ }, function (props) {
198
+ return props.mode === "overlay" ? props.theme.overlayProgressValueFontStyle : props.theme.progressValueFontStyle;
199
+ }, function (props) {
200
+ return props.mode === "overlay" ? props.theme.overlayProgressValueFontColor : props.theme.progressValueFontColor;
201
+ }, function (props) {
202
+ return props.mode === "overlay" ? props.theme.overlayProgressValueTextAlign : props.theme.progressValueTextAlign;
203
+ }, function (props) {
204
+ return props.mode === "overlay" ? props.theme.overlayProgressValueLetterSpacing : props.theme.progressValueLetterSpacing;
205
+ });
206
+ var _default = exports["default"] = DxcSpinner;
@@ -0,0 +1,129 @@
1
+ import React from "react";
2
+ import DxcSpinner from "./Spinner";
3
+ import Title from "../../.storybook/components/Title";
4
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
+ import { HalstackProvider } from "../HalstackContext";
6
+
7
+ export default {
8
+ title: "Spinner",
9
+ component: DxcSpinner,
10
+ };
11
+
12
+ const opinionatedTheme = {
13
+ spinner: {
14
+ accentColor: "#5f249f",
15
+ baseColor: "#ffffff",
16
+ fontColor: "#000000",
17
+ overlayColor: "#a46ede",
18
+ overlayFontColor: "#ffffff",
19
+ },
20
+ };
21
+
22
+ export const Chromatic = () => (
23
+ <>
24
+ <ExampleContainer>
25
+ <Title title="With label" theme="light" level={4} />
26
+ <DxcSpinner label="Label" value={50}></DxcSpinner>
27
+ <Title title="With value label" theme="light" level={4} />
28
+ <DxcSpinner value={50} showValue></DxcSpinner>
29
+ <Title title="With label and value label" theme="light" level={4} />
30
+ <DxcSpinner label="Label" value={50} showValue></DxcSpinner>
31
+ <Title title="With 100%" theme="light" level={4} />
32
+ <DxcSpinner label="Label" value={100} showValue></DxcSpinner>
33
+ </ExampleContainer>
34
+ <Title title="Modes" theme="light" level={2} />
35
+ <ExampleContainer>
36
+ <Title title="Mode large" theme="light" level={4} />
37
+ <DxcSpinner mode="large" value={50}></DxcSpinner>
38
+ <Title title="Mode small" theme="light" level={4} />
39
+ <DxcSpinner mode="small" value={50}></DxcSpinner>
40
+ <Title title="Mode small with 100%" theme="light" level={4} />
41
+ <DxcSpinner mode="small" value={100} showValue></DxcSpinner>
42
+ </ExampleContainer>
43
+ <Title title="Margins with large mode" theme="light" level={2} />
44
+ <ExampleContainer>
45
+ <Title title="Xxsmall margin" theme="light" level={4} />
46
+ <DxcSpinner margin="xxsmall" value={75}></DxcSpinner>
47
+ <Title title="Xsmall margin" theme="light" level={4} />
48
+ <DxcSpinner margin="xsmall" value={75}></DxcSpinner>
49
+ <Title title="Small margin" theme="light" level={4} />
50
+ <DxcSpinner margin="small" value={75}></DxcSpinner>
51
+ <Title title="Medium margin" theme="light" level={4} />
52
+ <DxcSpinner margin="medium" value={75}></DxcSpinner>
53
+ <Title title="Large margin" theme="light" level={4} />
54
+ <DxcSpinner margin="large" value={75}></DxcSpinner>
55
+ <Title title="Xlarge margin" theme="light" level={4} />
56
+ <DxcSpinner margin="xlarge" value={75}></DxcSpinner>
57
+ <Title title="Xxlarge margin" theme="light" level={4} />
58
+ <DxcSpinner margin="xxlarge" value={75}></DxcSpinner>
59
+ </ExampleContainer>
60
+ <Title title="Margins with small mode" theme="light" level={2} />
61
+ <ExampleContainer>
62
+ <Title title="Xxsmall margin" theme="light" level={4} />
63
+ <DxcSpinner margin="xxsmall" mode="small" value={75}></DxcSpinner>
64
+ <Title title="Xsmall margin" theme="light" level={4} />
65
+ <DxcSpinner margin="xsmall" mode="small" value={75}></DxcSpinner>
66
+ <Title title="Small margin" theme="light" level={4} />
67
+ <DxcSpinner margin="small" mode="small" value={75}></DxcSpinner>
68
+ <Title title="Medium margin" theme="light" level={4} />
69
+ <DxcSpinner margin="medium" mode="small" value={75}></DxcSpinner>
70
+ <Title title="Large margin" theme="light" level={4} />
71
+ <DxcSpinner margin="large" mode="small" value={75}></DxcSpinner>
72
+ <Title title="Xlarge margin" theme="light" level={4} />
73
+ <DxcSpinner margin="xlarge" mode="small" value={75}></DxcSpinner>
74
+ <Title title="Xxlarge margin" theme="light" level={4} />
75
+ <DxcSpinner margin="xxlarge" mode="small" value={75}></DxcSpinner>
76
+ </ExampleContainer>
77
+ <Title title="Opinionated theme" theme="light" level={2} />
78
+ <ExampleContainer>
79
+ <Title title="With label and value label" theme="light" level={4} />
80
+ <HalstackProvider theme={opinionatedTheme}>
81
+ <DxcSpinner label="Label" value={50} showValue></DxcSpinner>
82
+ </HalstackProvider>
83
+ </ExampleContainer>
84
+ </>
85
+ );
86
+
87
+ export const SpinnerOverlay = () => (
88
+ <ExampleContainer>
89
+ <Title title="Mode overlay" theme="light" level={4} />
90
+ <DxcSpinner mode="overlay" value={25}></DxcSpinner>
91
+ </ExampleContainer>
92
+ );
93
+
94
+ export const SpinnerOverlayWith100 = () => (
95
+ <ExampleContainer>
96
+ <Title title="Mode overlay" theme="light" level={4} />
97
+ <DxcSpinner mode="overlay" value={100}></DxcSpinner>
98
+ </ExampleContainer>
99
+ );
100
+
101
+ export const SpinnerOverlayWithLabel = () => (
102
+ <ExampleContainer>
103
+ <Title title="Mode overlay" theme="light" level={4} />
104
+ <DxcSpinner mode="overlay" value={50} label="Label"></DxcSpinner>
105
+ </ExampleContainer>
106
+ );
107
+
108
+ export const SpinnerOverlayWithValue = () => (
109
+ <ExampleContainer>
110
+ <Title title="Mode overlay" theme="light" level={4} />
111
+ <DxcSpinner mode="overlay" value={50} showValue></DxcSpinner>
112
+ </ExampleContainer>
113
+ );
114
+
115
+ export const SpinnerOverlayWithValueAndLabel = () => (
116
+ <ExampleContainer>
117
+ <Title title="Mode overlay" theme="light" level={4} />
118
+ <DxcSpinner mode="overlay" label="Label" value={50} showValue></DxcSpinner>
119
+ </ExampleContainer>
120
+ );
121
+
122
+ export const SpinnerOverlayWithValueAndLabelOpinionated = () => (
123
+ <ExampleContainer>
124
+ <HalstackProvider theme={opinionatedTheme}>
125
+ <Title title="Mode overlay" theme="light" level={4} />
126
+ <DxcSpinner mode="overlay" label="Label" value={50} showValue></DxcSpinner>
127
+ </HalstackProvider>
128
+ </ExampleContainer>
129
+ );
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _react = _interopRequireDefault(require("react"));
5
+ var _react2 = require("@testing-library/react");
6
+ var _Spinner = _interopRequireDefault(require("./Spinner.tsx"));
7
+ describe("Spinner component tests", function () {
8
+ test("Spinner renders with correct label", function () {
9
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
10
+ label: "test-loading"
11
+ })),
12
+ getByText = _render.getByText;
13
+ expect(getByText("test-loading")).toBeTruthy();
14
+ });
15
+ test("Spinner shows value correctly", function () {
16
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
17
+ label: "test-loading",
18
+ value: 75,
19
+ showValue: true
20
+ })),
21
+ getByText = _render2.getByText;
22
+ expect(getByText("75%")).toBeTruthy();
23
+ });
24
+ test("Small spinner hides value and label correctly", function () {
25
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
26
+ mode: "small",
27
+ label: "test-loading",
28
+ value: 75,
29
+ showValue: true
30
+ })),
31
+ queryByText = _render3.queryByText;
32
+ expect(queryByText("test-loading")).toBeFalsy();
33
+ expect(queryByText("75%")).toBeFalsy();
34
+ });
35
+ test("Overlay spinner shows value and label correctly", function () {
36
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
37
+ mode: "overlay",
38
+ label: "test-loading",
39
+ value: 75,
40
+ showValue: true
41
+ })),
42
+ getByText = _render4.getByText;
43
+ expect(getByText("test-loading")).toBeTruthy();
44
+ expect(getByText("75%")).toBeTruthy();
45
+ });
46
+ test("Get spinner by role", function () {
47
+ var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
48
+ label: "test-loading",
49
+ value: 75,
50
+ showValue: true
51
+ })),
52
+ getByRole = _render5.getByRole;
53
+ expect(getByRole("progressbar")).toBeTruthy();
54
+ });
55
+ });
@@ -0,0 +1,32 @@
1
+ type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
2
+ type Margin = {
3
+ top?: Space;
4
+ bottom?: Space;
5
+ left?: Space;
6
+ right?: Space;
7
+ };
8
+ type Props = {
9
+ /**
10
+ * Text to be placed inside the spinner.
11
+ */
12
+ label?: string;
13
+ /**
14
+ * The value of the progress indicator. If it's received the
15
+ * component is determinate, otherwise is indeterminate.
16
+ */
17
+ value?: number;
18
+ /**
19
+ * If true, the value is displayed inside the spinner..
20
+ */
21
+ showValue?: boolean;
22
+ /**
23
+ * Available modes of the spinner.
24
+ */
25
+ mode?: "large" | "small" | "overlay";
26
+ /**
27
+ * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
28
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
29
+ */
30
+ margin?: Space | Margin;
31
+ };
32
+ export default Props;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import StatusLightPropsType from "./types";
3
+ declare const DxcStatusLight: ({ mode, label, size }: StatusLightPropsType) => JSX.Element;
4
+ export default DxcStatusLight;
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
11
+ var _coreTokens = _interopRequireDefault(require("../common/coreTokens"));
12
+ var _templateObject, _templateObject2, _templateObject3;
13
+ var DxcStatusLight = function DxcStatusLight(_ref) {
14
+ var _ref$mode = _ref.mode,
15
+ mode = _ref$mode === void 0 ? "default" : _ref$mode,
16
+ label = _ref.label,
17
+ _ref$size = _ref.size,
18
+ size = _ref$size === void 0 ? "medium" : _ref$size;
19
+ return /*#__PURE__*/_react["default"].createElement(StatusLightContainer, {
20
+ size: size,
21
+ "aria-label": "".concat(mode, ": ").concat(label),
22
+ "data-testid": "status_light-container"
23
+ }, /*#__PURE__*/_react["default"].createElement(StatusDot, {
24
+ mode: mode,
25
+ size: size,
26
+ "aria-hidden": "true",
27
+ "data-testid": "status-dot"
28
+ }), /*#__PURE__*/_react["default"].createElement(StatusLabel, {
29
+ mode: mode,
30
+ size: size
31
+ }, label));
32
+ };
33
+ var StatusLightContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n align-items: center;\n gap: ", ";\n"])), _coreTokens["default"].spacing_8);
34
+ var StatusDot = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n border-radius: 50%;\n background-color: ", ";\n"])), function (_ref2) {
35
+ var size = _ref2.size;
36
+ return size === "small" && _coreTokens["default"].type_scale_01 || size === "medium" && _coreTokens["default"].type_scale_02 || size === "large" && _coreTokens["default"].type_scale_03 || _coreTokens["default"].type_scale_02;
37
+ }, function (_ref3) {
38
+ var size = _ref3.size;
39
+ return size === "small" && _coreTokens["default"].type_scale_01 || size === "medium" && _coreTokens["default"].type_scale_02 || size === "large" && _coreTokens["default"].type_scale_03 || _coreTokens["default"].type_scale_02;
40
+ }, function (_ref4) {
41
+ var mode = _ref4.mode;
42
+ return mode === "default" && _coreTokens["default"].color_grey_700 || mode === "error" && _coreTokens["default"].color_red_700 || mode === "info" && _coreTokens["default"].color_blue_700 || mode === "success" && _coreTokens["default"].color_green_700 || mode === "warning" && _coreTokens["default"].color_orange_700 || _coreTokens["default"].color_grey_700;
43
+ });
44
+ var StatusLabel = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n font-size: ", ";\n font-family: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n text-align: center;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n"])), function (_ref5) {
45
+ var size = _ref5.size;
46
+ return size === "small" && _coreTokens["default"].type_scale_01 || size === "medium" && _coreTokens["default"].type_scale_02 || size === "large" && _coreTokens["default"].type_scale_03 || _coreTokens["default"].type_scale_02;
47
+ }, _coreTokens["default"].type_sans, _coreTokens["default"].type_normal, _coreTokens["default"].type_semibold, function (_ref6) {
48
+ var mode = _ref6.mode;
49
+ return mode === "default" && _coreTokens["default"].color_grey_700 || mode === "error" && _coreTokens["default"].color_red_700 || mode === "info" && _coreTokens["default"].color_blue_700 || mode === "success" && _coreTokens["default"].color_green_700 || mode === "warning" && _coreTokens["default"].color_orange_700 || _coreTokens["default"].color_grey_700;
50
+ });
51
+ var _default = exports["default"] = DxcStatusLight;
@@ -0,0 +1,74 @@
1
+ import React from "react";
2
+ import Title from "../../.storybook/components/Title";
3
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
4
+ import DxcStatusLight from "./StatusLight";
5
+
6
+ export default {
7
+ title: "Status Light",
8
+ component: DxcStatusLight,
9
+ };
10
+
11
+ export const Chromatic = () => (
12
+ <>
13
+ <ExampleContainer>
14
+ <Title title="Default light small" theme="light" level={4} />
15
+ <DxcStatusLight label="StatusLight" size="small" />
16
+ </ExampleContainer>
17
+ <ExampleContainer>
18
+ <Title title="Default light medium" theme="light" level={4} />
19
+ <DxcStatusLight label="StatusLight" />
20
+ </ExampleContainer>
21
+ <ExampleContainer>
22
+ <Title title="Default light large" theme="light" level={4} />
23
+ <DxcStatusLight label="StatusLight" size="large" />
24
+ </ExampleContainer>
25
+ <ExampleContainer>
26
+ <Title title="Info light small" theme="light" level={4} />
27
+ <DxcStatusLight label="StatusLight" mode="info" size="small" />
28
+ </ExampleContainer>
29
+ <ExampleContainer>
30
+ <Title title="Info light medium" theme="light" level={4} />
31
+ <DxcStatusLight label="StatusLight" mode="info" />
32
+ </ExampleContainer>
33
+ <ExampleContainer>
34
+ <Title title="Info light large" theme="light" level={4} />
35
+ <DxcStatusLight label="StatusLight" mode="info" size="large" />
36
+ </ExampleContainer>
37
+ <ExampleContainer>
38
+ <Title title="Success light small" theme="light" level={4} />
39
+ <DxcStatusLight label="StatusLight" mode="success" size="small" />
40
+ </ExampleContainer>
41
+ <ExampleContainer>
42
+ <Title title="Success lights medium" theme="light" level={4} />
43
+ <DxcStatusLight label="StatusLight" mode="success" />
44
+ </ExampleContainer>
45
+ <ExampleContainer>
46
+ <Title title="Success lights large" theme="light" level={4} />
47
+ <DxcStatusLight label="StatusLight" mode="success" size="large" />
48
+ </ExampleContainer>
49
+ <ExampleContainer>
50
+ <Title title="Warning light small" theme="light" level={4} />
51
+ <DxcStatusLight label="StatusLight" mode="warning" size="small" />
52
+ </ExampleContainer>
53
+ <ExampleContainer>
54
+ <Title title="Warning light medium" theme="light" level={4} />
55
+ <DxcStatusLight label="StatusLight" mode="warning" />
56
+ </ExampleContainer>
57
+ <ExampleContainer>
58
+ <Title title="Warning light large" theme="light" level={4} />
59
+ <DxcStatusLight label="StatusLight" mode="warning" size="large" />
60
+ </ExampleContainer>
61
+ <ExampleContainer>
62
+ <Title title="Error light small" theme="light" level={4} />
63
+ <DxcStatusLight label="StatusLight" mode="error" size="small" />
64
+ </ExampleContainer>
65
+ <ExampleContainer>
66
+ <Title title="Error lights medium" theme="light" level={4} />
67
+ <DxcStatusLight label="StatusLight" mode="error" />
68
+ </ExampleContainer>
69
+ <ExampleContainer>
70
+ <Title title="Error lights large" theme="light" level={4} />
71
+ <DxcStatusLight label="StatusLight" mode="error" size="large" />
72
+ </ExampleContainer>
73
+ </>
74
+ );
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _react = _interopRequireDefault(require("react"));
5
+ var _react2 = require("@testing-library/react");
6
+ var _StatusLight = _interopRequireDefault(require("./StatusLight.tsx"));
7
+ describe("StatusLight component tests", function () {
8
+ test("StatusLight renders with correct label", function () {
9
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_StatusLight["default"], {
10
+ label: "Status Light Test"
11
+ })),
12
+ getByText = _render.getByText;
13
+ expect(getByText("Status Light Test")).toBeTruthy();
14
+ });
15
+ test("StatusLight applies accessibility attributes", function () {
16
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_StatusLight["default"], {
17
+ label: "Status Light Test"
18
+ })),
19
+ getByTestId = _render2.getByTestId;
20
+ var statusLightContainer = getByTestId("status_light-container");
21
+ var statusDot = getByTestId("status-dot");
22
+ expect(statusLightContainer.getAttribute("aria-label")).toBe("default: Status Light Test");
23
+ expect(statusDot.getAttribute("aria-hidden")).toBe("true");
24
+ });
25
+ });
@@ -0,0 +1,17 @@
1
+ type Mode = "default" | "info" | "success" | "warning" | "error";
2
+ type Size = "small" | "medium" | "large";
3
+ type Props = {
4
+ /**
5
+ * It will define the color of the light based on its semantic meaning.
6
+ */
7
+ mode?: Mode;
8
+ /**
9
+ * An auxiliar text that will add some context to the status.
10
+ */
11
+ label: string;
12
+ /**
13
+ * Size of the component. Should be defined based on its importance and/or available space.
14
+ */
15
+ size?: Size;
16
+ };
17
+ export default Props;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import SwitchPropsType from "./types";
3
+ declare const DxcSwitch: React.ForwardRefExoticComponent<SwitchPropsType & React.RefAttributes<HTMLDivElement>>;
4
+ export default DxcSwitch;