@dxc-technology/halstack-react 0.0.0-fed0950 → 0.0.0-ff43881

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 (435) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +47 -0
  3. package/ThemeContext.d.ts +15 -0
  4. package/ThemeContext.js +243 -0
  5. package/V3Select/V3Select.js +455 -0
  6. package/V3Select/index.d.ts +27 -0
  7. package/V3Textarea/V3Textarea.js +260 -0
  8. package/V3Textarea/index.d.ts +27 -0
  9. package/accordion/Accordion.d.ts +4 -0
  10. package/accordion/Accordion.js +247 -0
  11. package/accordion/Accordion.stories.tsx +307 -0
  12. package/accordion/types.d.ts +64 -0
  13. package/accordion/types.js +5 -0
  14. package/accordion-group/AccordionGroup.d.ts +7 -0
  15. package/accordion-group/AccordionGroup.js +170 -0
  16. package/accordion-group/AccordionGroup.stories.tsx +225 -0
  17. package/accordion-group/types.d.ts +68 -0
  18. package/accordion-group/types.js +5 -0
  19. package/alert/Alert.d.ts +4 -0
  20. package/alert/Alert.js +290 -0
  21. package/alert/Alert.stories.tsx +170 -0
  22. package/alert/types.d.ts +49 -0
  23. package/alert/types.js +5 -0
  24. package/badge/Badge.d.ts +4 -0
  25. package/badge/Badge.js +59 -0
  26. package/badge/types.d.ts +4 -0
  27. package/badge/types.js +5 -0
  28. package/bleed/Bleed.d.ts +3 -0
  29. package/bleed/Bleed.js +84 -0
  30. package/bleed/Bleed.stories.tsx +342 -0
  31. package/bleed/types.d.ts +13 -0
  32. package/bleed/types.js +5 -0
  33. package/box/Box.d.ts +4 -0
  34. package/box/Box.js +126 -0
  35. package/box/Box.stories.tsx +132 -0
  36. package/box/types.d.ts +43 -0
  37. package/box/types.js +5 -0
  38. package/button/Button.d.ts +4 -0
  39. package/button/Button.js +171 -0
  40. package/button/Button.stories.tsx +274 -0
  41. package/button/types.d.ts +53 -0
  42. package/button/types.js +5 -0
  43. package/card/Card.d.ts +4 -0
  44. package/card/Card.js +164 -0
  45. package/card/Card.stories.tsx +201 -0
  46. package/card/ice-cream.jpg +0 -0
  47. package/card/types.d.ts +67 -0
  48. package/card/types.js +5 -0
  49. package/checkbox/Checkbox.d.ts +4 -0
  50. package/checkbox/Checkbox.js +253 -0
  51. package/checkbox/Checkbox.stories.tsx +192 -0
  52. package/checkbox/types.d.ts +60 -0
  53. package/checkbox/types.js +5 -0
  54. package/chip/Chip.d.ts +4 -0
  55. package/chip/Chip.js +161 -0
  56. package/chip/Chip.stories.tsx +119 -0
  57. package/chip/types.d.ts +45 -0
  58. package/chip/types.js +5 -0
  59. package/{dist/common → common}/OpenSans.css +0 -0
  60. package/common/RequiredComponent.js +32 -0
  61. package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  62. package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  63. package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  64. package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  65. package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  66. package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  67. package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  68. package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  69. package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  70. package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  71. package/{dist/common → common}/utils.js +0 -0
  72. package/common/variables.js +1611 -0
  73. package/{dist/date → date}/Date.js +121 -90
  74. package/date/index.d.ts +27 -0
  75. package/date-input/DateInput.d.ts +4 -0
  76. package/date-input/DateInput.js +358 -0
  77. package/date-input/DateInput.stories.tsx +138 -0
  78. package/date-input/types.d.ts +100 -0
  79. package/date-input/types.js +5 -0
  80. package/dialog/Dialog.d.ts +4 -0
  81. package/dialog/Dialog.js +166 -0
  82. package/dialog/Dialog.stories.tsx +212 -0
  83. package/dialog/types.d.ts +43 -0
  84. package/dialog/types.js +5 -0
  85. package/dropdown/Dropdown.d.ts +4 -0
  86. package/dropdown/Dropdown.js +395 -0
  87. package/dropdown/Dropdown.stories.tsx +249 -0
  88. package/dropdown/types.d.ts +80 -0
  89. package/dropdown/types.js +5 -0
  90. package/file-input/FileInput.d.ts +4 -0
  91. package/file-input/FileInput.js +590 -0
  92. package/file-input/FileInput.stories.tsx +507 -0
  93. package/file-input/FileItem.d.ts +14 -0
  94. package/file-input/FileItem.js +184 -0
  95. package/file-input/types.d.ts +112 -0
  96. package/file-input/types.js +5 -0
  97. package/footer/Footer.d.ts +4 -0
  98. package/footer/Footer.js +258 -0
  99. package/footer/Footer.stories.tsx +130 -0
  100. package/footer/Icons.d.ts +2 -0
  101. package/footer/Icons.js +77 -0
  102. package/footer/types.d.ts +65 -0
  103. package/footer/types.js +5 -0
  104. package/header/Header.d.ts +7 -0
  105. package/header/Header.js +324 -0
  106. package/header/Header.stories.tsx +162 -0
  107. package/header/Icons.d.ts +2 -0
  108. package/header/Icons.js +34 -0
  109. package/header/types.d.ts +47 -0
  110. package/header/types.js +5 -0
  111. package/heading/Heading.d.ts +4 -0
  112. package/heading/Heading.js +159 -0
  113. package/heading/Heading.stories.tsx +54 -0
  114. package/heading/types.d.ts +33 -0
  115. package/heading/types.js +5 -0
  116. package/input-text/Icons.js +22 -0
  117. package/input-text/InputText.js +611 -0
  118. package/input-text/index.d.ts +36 -0
  119. package/inset/Inset.d.ts +3 -0
  120. package/inset/Inset.js +84 -0
  121. package/inset/Inset.stories.tsx +229 -0
  122. package/inset/types.d.ts +13 -0
  123. package/inset/types.js +5 -0
  124. package/layout/ApplicationLayout.d.ts +10 -0
  125. package/layout/ApplicationLayout.js +231 -0
  126. package/layout/ApplicationLayout.stories.tsx +171 -0
  127. package/layout/Icons.js +55 -0
  128. package/layout/types.d.ts +57 -0
  129. package/layout/types.js +5 -0
  130. package/link/Link.d.ts +3 -0
  131. package/link/Link.js +153 -0
  132. package/link/Link.stories.tsx +151 -0
  133. package/link/types.d.ts +70 -0
  134. package/link/types.js +5 -0
  135. package/list/List.d.ts +4 -0
  136. package/list/List.js +47 -0
  137. package/list/List.stories.tsx +95 -0
  138. package/list/types.d.ts +7 -0
  139. package/list/types.js +5 -0
  140. package/main.d.ts +51 -0
  141. package/{dist/main.js → main.js} +197 -41
  142. package/number-input/NumberInput.d.ts +4 -0
  143. package/number-input/NumberInput.js +83 -0
  144. package/number-input/NumberInput.stories.tsx +115 -0
  145. package/number-input/NumberInputContext.d.ts +4 -0
  146. package/{dist/ThemeContext.js → number-input/NumberInputContext.js} +6 -2
  147. package/number-input/numberInputContextTypes.d.ts +19 -0
  148. package/number-input/numberInputContextTypes.js +5 -0
  149. package/number-input/types.d.ts +117 -0
  150. package/number-input/types.js +5 -0
  151. package/package.json +44 -24
  152. package/paginator/Icons.js +66 -0
  153. package/paginator/Paginator.d.ts +4 -0
  154. package/paginator/Paginator.js +192 -0
  155. package/paginator/Paginator.stories.tsx +63 -0
  156. package/paginator/types.d.ts +38 -0
  157. package/paginator/types.js +5 -0
  158. package/password-input/PasswordInput.d.ts +4 -0
  159. package/password-input/PasswordInput.js +163 -0
  160. package/password-input/PasswordInput.stories.tsx +131 -0
  161. package/password-input/types.d.ts +107 -0
  162. package/password-input/types.js +5 -0
  163. package/progress-bar/ProgressBar.d.ts +4 -0
  164. package/progress-bar/ProgressBar.js +170 -0
  165. package/progress-bar/ProgressBar.stories.jsx +58 -0
  166. package/progress-bar/types.d.ts +37 -0
  167. package/progress-bar/types.js +5 -0
  168. package/radio/Radio.d.ts +4 -0
  169. package/radio/Radio.js +174 -0
  170. package/radio/Radio.stories.tsx +192 -0
  171. package/radio/types.d.ts +54 -0
  172. package/radio/types.js +5 -0
  173. package/radio-group/Radio.d.ts +4 -0
  174. package/radio-group/Radio.js +140 -0
  175. package/radio-group/RadioGroup.d.ts +4 -0
  176. package/radio-group/RadioGroup.js +273 -0
  177. package/radio-group/RadioGroup.stories.tsx +79 -0
  178. package/radio-group/RadioGroup.test.js +248 -0
  179. package/radio-group/types.d.ts +36 -0
  180. package/radio-group/types.js +5 -0
  181. package/resultsetTable/ResultsetTable.d.ts +4 -0
  182. package/resultsetTable/ResultsetTable.js +254 -0
  183. package/resultsetTable/ResultsetTable.stories.tsx +275 -0
  184. package/resultsetTable/types.d.ts +67 -0
  185. package/resultsetTable/types.js +5 -0
  186. package/row/Row.d.ts +3 -0
  187. package/row/Row.js +127 -0
  188. package/row/Row.stories.tsx +237 -0
  189. package/row/types.d.ts +10 -0
  190. package/row/types.js +5 -0
  191. package/select/Select.d.ts +4 -0
  192. package/select/Select.js +863 -0
  193. package/select/Select.stories.tsx +572 -0
  194. package/select/types.d.ts +170 -0
  195. package/select/types.js +5 -0
  196. package/sidenav/Sidenav.d.ts +9 -0
  197. package/sidenav/Sidenav.js +136 -0
  198. package/sidenav/Sidenav.stories.tsx +182 -0
  199. package/sidenav/types.d.ts +50 -0
  200. package/sidenav/types.js +5 -0
  201. package/slider/Slider.d.ts +4 -0
  202. package/slider/Slider.js +317 -0
  203. package/slider/Slider.stories.tsx +177 -0
  204. package/slider/types.d.ts +78 -0
  205. package/slider/types.js +5 -0
  206. package/spinner/Spinner.d.ts +4 -0
  207. package/spinner/Spinner.js +250 -0
  208. package/spinner/Spinner.stories.jsx +103 -0
  209. package/spinner/types.d.ts +32 -0
  210. package/spinner/types.js +5 -0
  211. package/stack/Stack.d.ts +3 -0
  212. package/stack/Stack.js +97 -0
  213. package/stack/Stack.stories.tsx +164 -0
  214. package/stack/types.d.ts +9 -0
  215. package/stack/types.js +5 -0
  216. package/switch/Switch.d.ts +4 -0
  217. package/switch/Switch.js +179 -0
  218. package/switch/Switch.stories.tsx +160 -0
  219. package/switch/types.d.ts +58 -0
  220. package/switch/types.js +5 -0
  221. package/table/Table.d.ts +4 -0
  222. package/table/Table.js +118 -0
  223. package/table/Table.stories.jsx +277 -0
  224. package/table/types.d.ts +21 -0
  225. package/table/types.js +5 -0
  226. package/tabs/Tabs.d.ts +4 -0
  227. package/tabs/Tabs.js +213 -0
  228. package/tabs/Tabs.stories.tsx +120 -0
  229. package/tabs/types.d.ts +78 -0
  230. package/tabs/types.js +5 -0
  231. package/tag/Tag.d.ts +4 -0
  232. package/tag/Tag.js +188 -0
  233. package/tag/Tag.stories.tsx +138 -0
  234. package/tag/types.d.ts +69 -0
  235. package/tag/types.js +5 -0
  236. package/text/Text.d.ts +7 -0
  237. package/text/Text.js +30 -0
  238. package/text/Text.stories.tsx +19 -0
  239. package/text-input/TextInput.d.ts +4 -0
  240. package/text-input/TextInput.js +794 -0
  241. package/text-input/TextInput.stories.tsx +456 -0
  242. package/text-input/types.d.ts +159 -0
  243. package/text-input/types.js +5 -0
  244. package/textarea/Textarea.d.ts +4 -0
  245. package/textarea/Textarea.js +284 -0
  246. package/textarea/Textarea.stories.jsx +136 -0
  247. package/textarea/types.d.ts +130 -0
  248. package/textarea/types.js +5 -0
  249. package/toggle-group/ToggleGroup.d.ts +4 -0
  250. package/toggle-group/ToggleGroup.js +214 -0
  251. package/toggle-group/ToggleGroup.stories.tsx +173 -0
  252. package/toggle-group/types.d.ts +97 -0
  253. package/toggle-group/types.js +5 -0
  254. package/{dist/upload → upload}/Upload.js +23 -22
  255. package/upload/buttons-upload/ButtonsUpload.js +111 -0
  256. package/upload/buttons-upload/Icons.js +40 -0
  257. package/upload/dragAndDropArea/DragAndDropArea.js +225 -0
  258. package/upload/dragAndDropArea/Icons.js +39 -0
  259. package/upload/file-upload/FileToUpload.js +115 -0
  260. package/upload/file-upload/Icons.js +66 -0
  261. package/upload/files-upload/FilesToUpload.js +109 -0
  262. package/upload/index.d.ts +15 -0
  263. package/upload/transaction/Icons.js +160 -0
  264. package/upload/transaction/Transaction.js +104 -0
  265. package/upload/transactions/Transactions.js +94 -0
  266. package/useTheme.d.ts +2 -0
  267. package/useTheme.js +22 -0
  268. package/wizard/Wizard.d.ts +4 -0
  269. package/wizard/Wizard.js +281 -0
  270. package/wizard/Wizard.stories.tsx +224 -0
  271. package/wizard/types.d.ts +60 -0
  272. package/wizard/types.js +5 -0
  273. package/babel.config.js +0 -4
  274. package/dist/accordion/Accordion.js +0 -264
  275. package/dist/accordion/Accordion.stories.js +0 -207
  276. package/dist/accordion/readme.md +0 -96
  277. package/dist/alert/Alert.js +0 -302
  278. package/dist/alert/Alert.stories.js +0 -158
  279. package/dist/alert/close.svg +0 -4
  280. package/dist/alert/error.svg +0 -4
  281. package/dist/alert/info.svg +0 -4
  282. package/dist/alert/readme.md +0 -43
  283. package/dist/alert/success.svg +0 -4
  284. package/dist/alert/warning.svg +0 -4
  285. package/dist/box/Box.js +0 -136
  286. package/dist/button/Button.js +0 -187
  287. package/dist/button/Button.stories.js +0 -224
  288. package/dist/button/readme.md +0 -93
  289. package/dist/card/Card.js +0 -246
  290. package/dist/checkbox/Checkbox.js +0 -221
  291. package/dist/checkbox/Checkbox.stories.js +0 -144
  292. package/dist/checkbox/readme.md +0 -116
  293. package/dist/chip/Chip.js +0 -170
  294. package/dist/common/RequiredComponent.js +0 -50
  295. package/dist/common/services/example-service.js +0 -10
  296. package/dist/common/services/example-service.test.js +0 -12
  297. package/dist/common/variables.js +0 -77
  298. package/dist/date/Date.stories.js +0 -205
  299. package/dist/date/calendar.svg +0 -1
  300. package/dist/date/calendar_dark.svg +0 -1
  301. package/dist/date/readme.md +0 -73
  302. package/dist/dialog/Dialog.js +0 -164
  303. package/dist/dialog/Dialog.stories.js +0 -217
  304. package/dist/dialog/readme.md +0 -32
  305. package/dist/dropdown/Dropdown.js +0 -412
  306. package/dist/dropdown/Dropdown.stories.js +0 -249
  307. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  308. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  309. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  310. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  311. package/dist/dropdown/readme.md +0 -69
  312. package/dist/footer/Footer.js +0 -341
  313. package/dist/footer/Footer.stories.js +0 -94
  314. package/dist/footer/dxc_logo_wht.png +0 -0
  315. package/dist/footer/readme.md +0 -41
  316. package/dist/header/Header.js +0 -343
  317. package/dist/header/Header.stories.js +0 -176
  318. package/dist/header/close_icon.svg +0 -1
  319. package/dist/header/dxc_logo_black.png +0 -0
  320. package/dist/header/dxc_logo_white.png +0 -0
  321. package/dist/header/hamb_menu_black.svg +0 -1
  322. package/dist/header/hamb_menu_white.svg +0 -1
  323. package/dist/header/readme.md +0 -33
  324. package/dist/heading/Heading.js +0 -159
  325. package/dist/input-text/InputText.js +0 -510
  326. package/dist/input-text/InputText.stories.js +0 -209
  327. package/dist/input-text/error.svg +0 -1
  328. package/dist/input-text/readme.md +0 -91
  329. package/dist/link/Link.js +0 -129
  330. package/dist/link/readme.md +0 -51
  331. package/dist/paginator/Paginator.js +0 -178
  332. package/dist/paginator/images/next.svg +0 -3
  333. package/dist/paginator/images/nextPage.svg +0 -3
  334. package/dist/paginator/images/previous.svg +0 -3
  335. package/dist/paginator/images/previousPage.svg +0 -3
  336. package/dist/paginator/readme.md +0 -50
  337. package/dist/progress-bar/ProgressBar.js +0 -189
  338. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  339. package/dist/progress-bar/readme.md +0 -63
  340. package/dist/radio/Radio.js +0 -204
  341. package/dist/radio/Radio.stories.js +0 -166
  342. package/dist/radio/readme.md +0 -70
  343. package/dist/resultsetTable/ResultsetTable.js +0 -334
  344. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  345. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  346. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  347. package/dist/select/Select.js +0 -425
  348. package/dist/select/Select.stories.js +0 -235
  349. package/dist/select/readme.md +0 -72
  350. package/dist/sidenav/Sidenav.js +0 -217
  351. package/dist/sidenav/arrow_icon.svg +0 -3
  352. package/dist/slider/Slider.js +0 -268
  353. package/dist/slider/Slider.stories.js +0 -241
  354. package/dist/slider/readme.md +0 -64
  355. package/dist/spinner/Spinner.js +0 -196
  356. package/dist/spinner/Spinner.stories.js +0 -183
  357. package/dist/spinner/readme.md +0 -65
  358. package/dist/switch/Switch.js +0 -219
  359. package/dist/switch/Switch.stories.js +0 -134
  360. package/dist/switch/readme.md +0 -133
  361. package/dist/table/Table.js +0 -84
  362. package/dist/tabs/Tabs.js +0 -183
  363. package/dist/tabs/Tabs.stories.js +0 -130
  364. package/dist/tabs/readme.md +0 -78
  365. package/dist/tabs-for-sections/TabsForSections.js +0 -107
  366. package/dist/tabs-for-sections/readme.md +0 -78
  367. package/dist/tag/Tag.js +0 -217
  368. package/dist/textarea/Textarea.js +0 -226
  369. package/dist/toggle/Toggle.js +0 -223
  370. package/dist/toggle/Toggle.stories.js +0 -297
  371. package/dist/toggle/readme.md +0 -80
  372. package/dist/upload/Upload.stories.js +0 -72
  373. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -125
  374. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  375. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  376. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -282
  377. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  378. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  379. package/dist/upload/file-upload/FileToUpload.js +0 -158
  380. package/dist/upload/file-upload/audio-icon.svg +0 -4
  381. package/dist/upload/file-upload/close.svg +0 -4
  382. package/dist/upload/file-upload/file-icon.svg +0 -4
  383. package/dist/upload/file-upload/video-icon.svg +0 -4
  384. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  385. package/dist/upload/readme.md +0 -37
  386. package/dist/upload/transaction/Transaction.js +0 -155
  387. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  388. package/dist/upload/transaction/audio-icon.svg +0 -4
  389. package/dist/upload/transaction/error-icon.svg +0 -4
  390. package/dist/upload/transaction/file-icon-err.svg +0 -4
  391. package/dist/upload/transaction/file-icon.svg +0 -4
  392. package/dist/upload/transaction/image-icon-err.svg +0 -4
  393. package/dist/upload/transaction/image-icon.svg +0 -4
  394. package/dist/upload/transaction/success-icon.svg +0 -4
  395. package/dist/upload/transaction/video-icon-err.svg +0 -4
  396. package/dist/upload/transaction/video-icon.svg +0 -4
  397. package/dist/upload/transactions/Transactions.js +0 -120
  398. package/dist/wizard/Wizard.js +0 -310
  399. package/dist/wizard/invalid_icon.svg +0 -6
  400. package/dist/wizard/valid_icon.svg +0 -6
  401. package/dist/wizard/validation-wrong.svg +0 -6
  402. package/test/Accordion.test.js +0 -33
  403. package/test/Alert.test.js +0 -53
  404. package/test/Box.test.js +0 -10
  405. package/test/Button.test.js +0 -18
  406. package/test/Card.test.js +0 -30
  407. package/test/Checkbox.test.js +0 -45
  408. package/test/Chip.test.js +0 -25
  409. package/test/Date.test.js +0 -393
  410. package/test/Dialog.test.js +0 -23
  411. package/test/Dropdown.test.js +0 -130
  412. package/test/Footer.test.js +0 -99
  413. package/test/Header.test.js +0 -39
  414. package/test/Heading.test.js +0 -35
  415. package/test/InputText.test.js +0 -236
  416. package/test/Link.test.js +0 -25
  417. package/test/Paginator.test.js +0 -165
  418. package/test/ProgressBar.test.js +0 -35
  419. package/test/Radio.test.js +0 -37
  420. package/test/ResultsetTable.test.js +0 -282
  421. package/test/Select.test.js +0 -191
  422. package/test/Sidenav.test.js +0 -87
  423. package/test/Slider.test.js +0 -65
  424. package/test/Spinner.test.js +0 -27
  425. package/test/Switch.test.js +0 -45
  426. package/test/Table.test.js +0 -36
  427. package/test/Tabs.test.js +0 -88
  428. package/test/TabsForSections.test.js +0 -34
  429. package/test/Tag.test.js +0 -32
  430. package/test/TextArea.test.js +0 -52
  431. package/test/Toggle.test.js +0 -43
  432. package/test/Upload.test.js +0 -60
  433. package/test/Wizard.test.js +0 -130
  434. package/test/mocks/pngMock.js +0 -1
  435. package/test/mocks/svgMock.js +0 -1
@@ -1,116 +0,0 @@
1
- # DXC Checkbox Component
2
-
3
- ## Usage
4
-
5
- ```js
6
- import { DxcCheckbox } from "@dxc-technology/halstack-react";
7
-
8
- <DxcCheckbox onChange={handleNewValue} label="Test Checkbox" checked={checked} />;
9
- ```
10
-
11
- ## Props
12
-
13
- <table>
14
- <tr style="background-color: grey">
15
- <td>Name</td>
16
- <td>Default</td>
17
- <td>Description</td>
18
- </tr>
19
- <tr>
20
- <td>checked: boolean</td>
21
- <td><code>false</code></td>
22
- <td>If true, the component is checked.</td>
23
- </tr>
24
- <tr>
25
- <td>value: any</td>
26
- <td></td>
27
- <td>Will be passed to the value attribute of the html input element. When inside a form, this value will be only submitted if the checkbox is checked </td>
28
- </tr>
29
- <tr>
30
- <td>label: string</td>
31
- <td></td>
32
- <td>Text to be placed next to the checkbox.</td>
33
- </tr>
34
- <tr>
35
- <td>labelPosition: 'before' | 'after'</td>
36
- <td><code>'before'</code></td>
37
- <td>Whether the label should appear after or before the checkbox.</td>
38
- </tr>
39
- <tr>
40
- <td>theme: 'light' | 'dark'</td>
41
- <td><code>'light'</code></td>
42
- <td>Uses one of the available component themes.</td>
43
- </tr>
44
- <tr>
45
- <td>name: string</td>
46
- <td></td>
47
- <td>Name attribute of the input element.</td>
48
- </tr>
49
- <tr>
50
- <td>disabled: boolean</td>
51
- <td><code>false</code></td>
52
- <td>If true, the component will be disabled.</td>
53
- </tr>
54
- <tr>
55
- <td>required: boolean</td>
56
- <td><code>false</code></td>
57
- <td>If true, a red asterisk will appear before the label to indicate to the user that the field is required.</td>
58
- </tr>
59
- <tr>
60
- <td>disableRipple: boolean</td>
61
- <td><code>false</code></td>
62
- <td>If true, the ripple effect will be disabled.</td>
63
- </tr>
64
- <tr>
65
- <td>onChange: function</td>
66
- <td></td>
67
- <td>This function will be called when the user clicks the checkbox. The new value will be passed as a parameter.<br>
68
- </td>
69
- </tr>
70
- </table>
71
-
72
- ## Examples
73
-
74
- - Basic checkbox - Light theme - Enabled - Label after checkbox - With ripple
75
-
76
- ```js
77
- import React from "react";
78
- import { DxcCheckbox } from "@dxc-technology/halstack-react";
79
-
80
- class App extends React.Component {
81
- state = {
82
- isChecked: true
83
- };
84
- constructor() {
85
- super();
86
- this.handleChange = this.handleChange.bind(this);
87
- }
88
-
89
- handleChange(checked) {
90
- this.setState({
91
- isChecked: checked
92
- });
93
- }
94
-
95
- render() {
96
- return (
97
- <div>
98
- <DxcCheckbox
99
- checked={this.state.isChecked}
100
- value="Checkbox1"
101
- label="Checkbox 1"
102
- labelPosition="after"
103
- theme="light"
104
- name="Checkbox"
105
- disabled={false}
106
- disableRipple={false}
107
- onChange={event => this.handleChange(event)}
108
- />
109
- </div>
110
- );
111
- }
112
- }
113
- export default App;
114
-
115
-
116
- ```
package/dist/chip/Chip.js DELETED
@@ -1,170 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
-
7
- Object.defineProperty(exports, "__esModule", {
8
- value: true
9
- });
10
- exports["default"] = void 0;
11
-
12
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
-
14
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
15
-
16
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
17
-
18
- var _react = _interopRequireWildcard(require("react"));
19
-
20
- var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
-
22
- var _propTypes = _interopRequireDefault(require("prop-types"));
23
-
24
- var _variables = require("../common/variables.js");
25
-
26
- var _ThemeContext = _interopRequireDefault(require("../ThemeContext.js"));
27
-
28
- require("../common/OpenSans.css");
29
-
30
- var _utils = require("../common/utils.js");
31
-
32
- function _templateObject4() {
33
- var data = (0, _taggedTemplateLiteral2["default"])(["\n cursor: ", ";\n padding-right: ", ";\n"]);
34
-
35
- _templateObject4 = function _templateObject4() {
36
- return data;
37
- };
38
-
39
- return data;
40
- }
41
-
42
- function _templateObject3() {
43
- var data = (0, _taggedTemplateLiteral2["default"])(["\n cursor: ", ";\n padding-left: ", ";\n"]);
44
-
45
- _templateObject3 = function _templateObject3() {
46
- return data;
47
- };
48
-
49
- return data;
50
- }
51
-
52
- function _templateObject2() {
53
- var data = (0, _taggedTemplateLiteral2["default"])(["\n font-size: 16px;\n font-family: \"Open Sans\";\n line-height: 24px;\n color: ", ";\n cursor: ", ";\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n"]);
54
-
55
- _templateObject2 = function _templateObject2() {
56
- return data;
57
- };
58
-
59
- return data;
60
- }
61
-
62
- function _templateObject() {
63
- var data = (0, _taggedTemplateLiteral2["default"])(["\n height: 22px;\n display: inline-flex;\n align-items: center;\n border-radius: 50px;\n margin: 2px;\n max-width: ", ";\n\n padding: 10px 20px;\n cursor: ", ";\n opacity: ", ";\n background: ", ";\n\nmargin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"]);
64
-
65
- _templateObject = function _templateObject() {
66
- return data;
67
- };
68
-
69
- return data;
70
- }
71
-
72
- var DxcChip = function DxcChip(_ref) {
73
- var label = _ref.label,
74
- suffixIconSrc = _ref.suffixIconSrc,
75
- onClickSuffix = _ref.onClickSuffix,
76
- prefixIconSrc = _ref.prefixIconSrc,
77
- onClickPrefix = _ref.onClickPrefix,
78
- disabled = _ref.disabled,
79
- margin = _ref.margin;
80
-
81
- var colorsTheme = (0, _react.useContext)(_ThemeContext["default"]) || _variables.colors;
82
-
83
- return _react["default"].createElement(_styledComponents.ThemeProvider, {
84
- theme: colorsTheme
85
- }, _react["default"].createElement(StyledDxcChip, {
86
- disabled: disabled,
87
- margin: margin
88
- }, prefixIconSrc && _react["default"].createElement(PrefixIconContainer, {
89
- disabled: disabled,
90
- src: prefixIconSrc,
91
- label: label,
92
- onClick: function onClick() {
93
- return onClickPrefix && !disabled && onClickPrefix(label);
94
- }
95
- }), label && _react["default"].createElement(ChipTextContainer, {
96
- disabled: disabled,
97
- prefixIconSrc: prefixIconSrc,
98
- suffixIconSrc: suffixIconSrc
99
- }, label), suffixIconSrc && _react["default"].createElement(SuffixIconContainer, {
100
- disabled: disabled,
101
- src: suffixIconSrc,
102
- label: label,
103
- onClick: function onClick() {
104
- return onClickSuffix && !disabled && onClickSuffix(label);
105
- }
106
- })));
107
- };
108
-
109
- var StyledDxcChip = _styledComponents["default"].div(_templateObject(), function (_ref2) {
110
- var margin = _ref2.margin;
111
- return "calc(100% - 40px - ".concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
112
- }, function (_ref3) {
113
- var disabled = _ref3.disabled;
114
- return disabled && "not-allowed";
115
- }, function (_ref4) {
116
- var disabled = _ref4.disabled;
117
- return disabled && "0.34" || "initial";
118
- }, function (props) {
119
- return props.theme.darkWhite;
120
- }, function (props) {
121
- return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
122
- }, function (props) {
123
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
124
- }, function (props) {
125
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "";
126
- }, function (props) {
127
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
128
- }, function (props) {
129
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
130
- });
131
-
132
- var ChipTextContainer = _styledComponents["default"].span(_templateObject2(), function (_ref5) {
133
- var theme = _ref5.theme;
134
- return theme.black;
135
- }, function (_ref6) {
136
- var disabled = _ref6.disabled;
137
- return disabled && "not-allowed" || "default";
138
- });
139
-
140
- var SuffixIconContainer = _styledComponents["default"].img(_templateObject3(), function (_ref7) {
141
- var disabled = _ref7.disabled;
142
- return disabled && "not-allowed" || "pointer";
143
- }, function (props) {
144
- return (props.label || props.suffixIconSrc) && "10px" || props.prefixIconSrc && "5px";
145
- });
146
-
147
- var PrefixIconContainer = _styledComponents["default"].img(_templateObject4(), function (_ref8) {
148
- var disabled = _ref8.disabled;
149
- return disabled && "not-allowed" || "pointer";
150
- }, function (props) {
151
- return (props.label || props.suffixIconSrc) && "10px" || props.prefixIconSrc && "5px";
152
- });
153
-
154
- DxcChip.propTypes = {
155
- label: _propTypes["default"].string,
156
- disabled: _propTypes["default"].bool,
157
- theme: _propTypes["default"].oneOf(["dark", "light"]),
158
- suffixIconSrc: _propTypes["default"].string,
159
- prefixIconSrc: _propTypes["default"].string,
160
- onClickSuffix: _propTypes["default"].func,
161
- onClickPrefix: _propTypes["default"].func,
162
- margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
163
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
164
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
165
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
166
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
167
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))])
168
- };
169
- var _default = DxcChip;
170
- exports["default"] = _default;
@@ -1,50 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
-
7
- Object.defineProperty(exports, "__esModule", {
8
- value: true
9
- });
10
- exports["default"] = void 0;
11
-
12
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
-
14
- var _react = _interopRequireWildcard(require("react"));
15
-
16
- var _styledComponents = _interopRequireWildcard(require("styled-components"));
17
-
18
- var _propTypes = _interopRequireDefault(require("prop-types"));
19
-
20
- var _variables = require("./variables.js");
21
-
22
- var _ThemeContext = _interopRequireDefault(require("../ThemeContext.js"));
23
-
24
- function _templateObject() {
25
- var data = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n margin-right: 1px;\n cursor: default;\n"]);
26
-
27
- _templateObject = function _templateObject() {
28
- return data;
29
- };
30
-
31
- return data;
32
- }
33
-
34
- var DxcRequired = function DxcRequired(_ref) {
35
- var _ref$theme = _ref.theme,
36
- theme = _ref$theme === void 0 ? "light" : _ref$theme;
37
- return _react["default"].createElement(RequiredSpan, {
38
- brightness: theme
39
- }, "*");
40
- };
41
-
42
- var RequiredSpan = _styledComponents["default"].span(_templateObject(), function (props) {
43
- return props.brightness === "dark" ? props.theme.lightRed : props.theme.darkRed;
44
- });
45
-
46
- DxcRequired.propTypes = {
47
- theme: _propTypes["default"].oneOf(["dark", "light"])
48
- };
49
- var _default = DxcRequired;
50
- exports["default"] = _default;
@@ -1,10 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = testFunction;
7
-
8
- function testFunction(num1, num2) {
9
- return num1 + num2;
10
- }
@@ -1,12 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _exampleService = _interopRequireDefault(require("./example-service"));
6
-
7
- describe("warnings array creation", function () {
8
- it("Function sums values", function () {
9
- var result = (0, _exampleService["default"])(2, 3);
10
- expect(result).toEqual(5);
11
- });
12
- });
@@ -1,77 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.typeface = exports.responsiveSizes = exports.spaces = exports.colors = void 0;
7
- var colors = {
8
- black: "#000000",
9
- lightBlack: "#212121",
10
- mediumBlack: "#000000B3",
11
- white: "#FFFFFF",
12
- darkWhite: "#EEEEEE",
13
- yellow: "#FFED00",
14
- darkGrey: "#666666",
15
- mediumGrey: "#00000033",
16
- lightGrey: "#D9D9D9",
17
- lighterGrey: "#D9D9D980",
18
- darkRed: "#D0011B",
19
- lightRed: "#FF6161",
20
- lightBlue: "#CEE0F5",
21
- lightYellow: "#FCF2BD",
22
- lightPink: "#F9CFCF",
23
- lightGreen: "#DBF1C4"
24
- };
25
- exports.colors = colors;
26
- var spaces = {
27
- xxsmall: "6px",
28
- xsmall: "16px",
29
- small: "24px",
30
- medium: "36px",
31
- large: "48px",
32
- xlarge: "64px",
33
- xxlarge: "100px"
34
- };
35
- exports.spaces = spaces;
36
- var responsiveSizes = {
37
- mobileSmall: "320",
38
- mobileMedium: "375",
39
- mobileLarge: "425",
40
- tablet: "768",
41
- laptop: "1024",
42
- desktop: "1440"
43
- };
44
- exports.responsiveSizes = responsiveSizes;
45
- var typeface = {
46
- body: {
47
- fontSize: "16px",
48
- letterSpacing: "0.5",
49
- textTransform: "initial"
50
- },
51
- altBody: {
52
- fontSize: "14px",
53
- letterSpacing: "0.25",
54
- textTransform: "initial"
55
- },
56
- subtitle: {
57
- fontSize: "16px",
58
- letterSpacing: "0.15",
59
- textTransform: "initial"
60
- },
61
- altSubtitle: {
62
- fontSize: "14px",
63
- letterSpacing: "0.1",
64
- textTransform: "initial"
65
- },
66
- caption: {
67
- fontSize: "12px",
68
- letterSpacing: "0.4",
69
- textTransform: "initial"
70
- },
71
- overline: {
72
- fontSize: "12px",
73
- letterSpacing: "2",
74
- textTransform: "uppercase"
75
- }
76
- };
77
- exports.typeface = typeface;
@@ -1,205 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
6
-
7
- var _react = _interopRequireDefault(require("react"));
8
-
9
- var _react2 = require("@storybook/react");
10
-
11
- var _addonActions = require("@storybook/addon-actions");
12
-
13
- var _addonKnobs = require("@storybook/addon-knobs");
14
-
15
- var _moment = _interopRequireDefault(require("moment"));
16
-
17
- var _readme = _interopRequireDefault(require("./readme.md"));
18
-
19
- var _Date = _interopRequireDefault(require("./Date"));
20
-
21
- var onChange = (0, _addonActions.action)("onChange");
22
-
23
- onChange.toString = function () {
24
- return "onChangeHandler";
25
- };
26
-
27
- (0, _react2.storiesOf)("Form Components|Date", module).add("Component", function () {
28
- return _react["default"].createElement("div", null, _react["default"].createElement("div", null, _react["default"].createElement(_Date["default"], {
29
- name: "date1",
30
- format: "dd-MM-yyyy",
31
- label: "Date",
32
- theme: "light",
33
- assistiveText: "Assistive text",
34
- onInputChange: function onInputChange(event) {
35
- return console.log(event);
36
- },
37
- onChange: onChange
38
- }), _react["default"].createElement(_Date["default"], {
39
- name: "date2",
40
- format: "dd-MM-yy",
41
- value: (0, _moment["default"])("03/12/1995", "DD/MM/YYYY"),
42
- label: "Default value",
43
- theme: "light",
44
- assistiveText: "Assistive text",
45
- onInputChange: function onInputChange(event) {
46
- return console.log(event);
47
- },
48
- onChange: onChange
49
- }), _react["default"].createElement(_Date["default"], {
50
- name: "date3",
51
- format: "dd/MM/yy",
52
- label: "Invalid Date",
53
- theme: "light",
54
- assistiveText: "Assistive text",
55
- onInputChange: function onInputChange(event) {
56
- return console.log(event);
57
- },
58
- onChange: onChange,
59
- invalid: true
60
- }), _react["default"].createElement(_Date["default"], {
61
- name: "date4",
62
- format: "dd/MM/yy",
63
- label: "Disabled Date",
64
- theme: "light",
65
- assistiveText: "Assistive text",
66
- onInputChange: function onInputChange(event) {
67
- return console.log(event);
68
- },
69
- onChange: onChange,
70
- invalid: true,
71
- disabled: true
72
- }), _react["default"].createElement(_Date["default"], {
73
- name: "date5",
74
- format: "dd/MM/yy",
75
- value: (0, _moment["default"])("03/12/1995", "DD/MM/YYYY"),
76
- label: "Disabled Default Date",
77
- theme: "light",
78
- assistiveText: "Assistive text",
79
- onInputChange: function onInputChange(event) {
80
- return console.log(event);
81
- },
82
- onChange: onChange,
83
- invalid: true,
84
- disabled: true
85
- }), _react["default"].createElement(_Date["default"], {
86
- name: "date6",
87
- format: "dd/MM/yy",
88
- label: "Required Date",
89
- theme: "light",
90
- assistiveText: "Assistive text",
91
- onInputChange: function onInputChange(event) {
92
- return console.log(event);
93
- },
94
- onChange: onChange,
95
- required: true
96
- })), _react["default"].createElement("div", {
97
- style: {
98
- background: "black",
99
- height: "150px"
100
- }
101
- }, _react["default"].createElement(_Date["default"], {
102
- name: "date1",
103
- format: "dd/MM/yyyy",
104
- label: "Date",
105
- theme: "dark",
106
- assistiveText: "Assistive text",
107
- onInputChange: function onInputChange(event) {
108
- return console.log(event);
109
- },
110
- onChange: onChange
111
- }), _react["default"].createElement(_Date["default"], {
112
- name: "date2",
113
- format: "dd/MM/yyyy",
114
- value: (0, _moment["default"])("03/12/1995", "DD/MM/YYYY"),
115
- label: "Default value",
116
- theme: "dark",
117
- assistiveText: "Assistive text",
118
- onInputChange: function onInputChange(event) {
119
- return console.log(event);
120
- },
121
- onChange: onChange
122
- }), _react["default"].createElement(_Date["default"], {
123
- name: "date3",
124
- format: "dd/MM/yy",
125
- label: "Invalid Date",
126
- theme: "dark",
127
- assistiveText: "Assistive text",
128
- onInputChange: function onInputChange(event) {
129
- return console.log(event);
130
- },
131
- onChange: onChange,
132
- invalid: true
133
- }), _react["default"].createElement(_Date["default"], {
134
- name: "date4",
135
- format: "dd/MM/yy",
136
- label: "Disabled Date",
137
- theme: "dark",
138
- assistiveText: "Assistive text",
139
- onInputChange: function onInputChange(event) {
140
- return console.log(event);
141
- },
142
- onChange: onChange,
143
- invalid: true,
144
- disabled: true
145
- }), _react["default"].createElement(_Date["default"], {
146
- name: "date5",
147
- format: "dd/MM/yy",
148
- value: (0, _moment["default"])("03/12/1995", "DD/MM/YYYY"),
149
- label: "Disabled Default Date",
150
- theme: "dark",
151
- assistiveText: "Assistive text",
152
- onInputChange: function onInputChange(event) {
153
- return console.log(event);
154
- },
155
- onChange: onChange,
156
- invalid: true,
157
- disabled: true
158
- }), _react["default"].createElement(_Date["default"], {
159
- name: "date6",
160
- format: "dd/MM/yy",
161
- label: "Required Date",
162
- theme: "dark",
163
- assistiveText: "Assistive text",
164
- onInputChange: function onInputChange(event) {
165
- return console.log(event);
166
- },
167
- onChange: onChange,
168
- required: true
169
- })));
170
- }, {
171
- notes: {
172
- markdown: _readme["default"]
173
- }
174
- });
175
-
176
- var knobProps = function knobProps() {
177
- return {
178
- label: (0, _addonKnobs.text)("Label", "Label"),
179
- assistiveText: (0, _addonKnobs.text)("Assistive Text", "Assistive Text"),
180
- format: (0, _addonKnobs.text)("Format", "dd/MM/yyyy"),
181
- theme: (0, _addonKnobs.select)("Theme", {
182
- light: "light",
183
- dark: "dark"
184
- }, "light"),
185
- disabled: (0, _addonKnobs["boolean"])("Disabled", false),
186
- dissableRipple: (0, _addonKnobs["boolean"])("Disable Ripple", false),
187
- invalid: (0, _addonKnobs["boolean"])("Invalid", false),
188
- required: (0, _addonKnobs["boolean"])("Required", false)
189
- };
190
- };
191
-
192
- (0, _react2.storiesOf)("Form Components|Date", module).add("Knobs example", function () {
193
- var props = knobProps();
194
- return _react["default"].createElement("div", {
195
- style: {
196
- background: props.theme === "dark" && "black" || "transparent"
197
- }
198
- }, _react["default"].createElement(_Date["default"], (0, _extends2["default"])({}, props, {
199
- onChange: onChange
200
- })));
201
- }, {
202
- notes: {
203
- markdown: _readme["default"]
204
- }
205
- });
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M17 12h-5v5h5v-5zM16 1v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2h-1V1h-2zm3 18H5V8h14v11z"/><path d="M0 0h24v24H0z" fill="none"/></svg>
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M17 12h-5v5h5v-5zM16 1v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2h-1V1h-2zm3 18H5V8h14v11z" fill="#ffed00"/><path d="M0 0h24v24H0z" fill="none"/></svg>