@pushwoosh/dumb-components 1.0.0 → 1.0.2

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 (479) hide show
  1. package/ActionsGroup/ActionsGroup.d.ts +3 -0
  2. package/ActionsGroup/ActionsGroup.js +18 -0
  3. package/ActionsGroup/ActionsGroupItem.d.ts +3 -0
  4. package/ActionsGroup/ActionsGroupItem.js +12 -0
  5. package/ActionsGroup/index.d.ts +3 -0
  6. package/ActionsGroup/index.js +2 -0
  7. package/ActionsGroup/styles.d.ts +7 -0
  8. package/ActionsGroup/styles.js +22 -0
  9. package/ActionsGroup/types.d.ts +12 -0
  10. package/Badge/Badge.d.ts +3 -0
  11. package/Badge/Badge.js +16 -0
  12. package/Badge/index.d.ts +2 -0
  13. package/Badge/index.js +1 -0
  14. package/Badge/maps.d.ts +19 -0
  15. package/Badge/maps.js +19 -0
  16. package/Badge/styles.d.ts +5 -0
  17. package/Badge/styles.js +14 -0
  18. package/Badge/types.d.ts +8 -0
  19. package/Banner/Banner.d.ts +3 -0
  20. package/Banner/Banner.js +82 -0
  21. package/Banner/colors.d.ts +12 -0
  22. package/Banner/colors.js +115 -0
  23. package/Banner/index.d.ts +2 -0
  24. package/Banner/index.js +1 -0
  25. package/Banner/maps.d.ts +27 -0
  26. package/Banner/maps.js +19 -0
  27. package/Banner/styles.d.ts +29 -0
  28. package/Banner/styles.js +45 -0
  29. package/Banner/types.d.ts +20 -0
  30. package/Button/Button.d.ts +5 -0
  31. package/Button/Button.js +48 -0
  32. package/Button/GhostButton.d.ts +1 -0
  33. package/Button/GhostButton.js +5 -0
  34. package/Button/colors.d.ts +16 -0
  35. package/Button/colors.js +130 -0
  36. package/Button/index.d.ts +3 -0
  37. package/Button/index.js +2 -0
  38. package/Button/maps.d.ts +132 -0
  39. package/Button/maps.js +37 -0
  40. package/Button/styles.d.ts +120 -0
  41. package/Button/styles.js +103 -0
  42. package/Button/types.d.ts +26 -0
  43. package/CardMetric/CardChildren.d.ts +3 -0
  44. package/CardMetric/CardChildren.js +25 -0
  45. package/CardMetric/CardCollapse.d.ts +3 -0
  46. package/CardMetric/CardCollapse.js +13 -0
  47. package/CardMetric/CardMetric.d.ts +3 -0
  48. package/CardMetric/CardMetric.js +62 -0
  49. package/CardMetric/index.d.ts +2 -0
  50. package/CardMetric/index.js +1 -0
  51. package/CardMetric/styles.d.ts +13 -0
  52. package/CardMetric/styles.js +74 -0
  53. package/CardMetric/types.d.ts +34 -0
  54. package/Checkbox/Checkbox.d.ts +3 -0
  55. package/Checkbox/Checkbox.js +47 -0
  56. package/Checkbox/index.d.ts +2 -0
  57. package/Checkbox/index.js +1 -0
  58. package/Checkbox/maps.d.ts +3 -0
  59. package/Checkbox/maps.js +7 -0
  60. package/Checkbox/styles.d.ts +9 -0
  61. package/Checkbox/styles.js +17 -0
  62. package/Checkbox/types.d.ts +15 -0
  63. package/Drawer/Drawer.d.ts +3 -0
  64. package/Drawer/Drawer.js +62 -0
  65. package/Drawer/index.d.ts +1 -0
  66. package/Drawer/index.js +1 -0
  67. package/Drawer/maps.d.ts +6 -0
  68. package/Drawer/maps.js +6 -0
  69. package/Drawer/styles.d.ts +11 -0
  70. package/Drawer/styles.js +57 -0
  71. package/Drawer/types.d.ts +18 -0
  72. package/DropdownMenu/components/DropdownMenu/DropdownMenu.d.ts +3 -0
  73. package/DropdownMenu/components/DropdownMenu/DropdownMenu.js +27 -0
  74. package/DropdownMenu/components/DropdownMenu/hooks.d.ts +4 -0
  75. package/DropdownMenu/components/DropdownMenu/hooks.js +10 -0
  76. package/DropdownMenu/components/DropdownMenu/index.d.ts +2 -0
  77. package/DropdownMenu/components/DropdownMenu/index.js +2 -0
  78. package/DropdownMenu/components/DropdownMenu/types.d.ts +23 -0
  79. package/DropdownMenu/components/DropdownMenuContainer/DropdownMenuContainer.d.ts +3 -0
  80. package/DropdownMenu/components/DropdownMenuContainer/DropdownMenuContainer.js +79 -0
  81. package/DropdownMenu/components/DropdownMenuContainer/index.d.ts +1 -0
  82. package/DropdownMenu/components/DropdownMenuContainer/index.js +1 -0
  83. package/DropdownMenu/components/DropdownMenuContainer/maps.d.ts +26 -0
  84. package/DropdownMenu/components/DropdownMenuContainer/maps.js +11 -0
  85. package/DropdownMenu/components/DropdownMenuContainer/styles.d.ts +35 -0
  86. package/DropdownMenu/components/DropdownMenuContainer/styles.js +109 -0
  87. package/DropdownMenu/components/DropdownMenuContainer/types.d.ts +19 -0
  88. package/DropdownMenu/components/DropdownMenuGroup/DropdownMenuGroup.d.ts +3 -0
  89. package/DropdownMenu/components/DropdownMenuGroup/DropdownMenuGroup.js +12 -0
  90. package/DropdownMenu/components/DropdownMenuGroup/index.d.ts +1 -0
  91. package/DropdownMenu/components/DropdownMenuGroup/index.js +1 -0
  92. package/DropdownMenu/components/DropdownMenuGroup/styles.d.ts +1 -0
  93. package/DropdownMenu/components/DropdownMenuGroup/styles.js +7 -0
  94. package/DropdownMenu/components/DropdownMenuGroup/types.d.ts +5 -0
  95. package/DropdownMenu/components/DropdownMenuGroup/types.js +1 -0
  96. package/DropdownMenu/components/DropdownMenuItem/DropdownMenuItem.d.ts +5 -0
  97. package/DropdownMenu/components/DropdownMenuItem/DropdownMenuItem.js +38 -0
  98. package/DropdownMenu/components/DropdownMenuItem/index.d.ts +2 -0
  99. package/DropdownMenu/components/DropdownMenuItem/index.js +2 -0
  100. package/DropdownMenu/components/DropdownMenuItem/styles.d.ts +5 -0
  101. package/DropdownMenu/components/DropdownMenuItem/styles.js +73 -0
  102. package/DropdownMenu/components/DropdownMenuItem/types.d.ts +24 -0
  103. package/DropdownMenu/components/DropdownMenuItem/types.js +1 -0
  104. package/DropdownMenu/components/DropdownMenuItemCheckbox/DropdownMenuItemCheckbox.d.ts +3 -0
  105. package/DropdownMenu/components/DropdownMenuItemCheckbox/DropdownMenuItemCheckbox.js +9 -0
  106. package/DropdownMenu/components/DropdownMenuItemCheckbox/index.d.ts +1 -0
  107. package/DropdownMenu/components/DropdownMenuItemCheckbox/index.js +1 -0
  108. package/DropdownMenu/components/DropdownMenuItemCheckbox/styles.d.ts +1 -0
  109. package/DropdownMenu/components/DropdownMenuItemCheckbox/styles.js +8 -0
  110. package/DropdownMenu/components/DropdownMenuItemPick/DropdownMenuItemPick.d.ts +3 -0
  111. package/DropdownMenu/components/DropdownMenuItemPick/DropdownMenuItemPick.js +16 -0
  112. package/DropdownMenu/components/DropdownMenuItemPick/index.d.ts +1 -0
  113. package/DropdownMenu/components/DropdownMenuItemPick/index.js +1 -0
  114. package/DropdownMenu/components/DropdownMenuItemPick/styles.d.ts +3 -0
  115. package/DropdownMenu/components/DropdownMenuItemPick/styles.js +8 -0
  116. package/DropdownMenu/components/DropdownMenuItemPick/types.d.ts +2 -0
  117. package/DropdownMenu/components/DropdownMenuItemPick/types.js +1 -0
  118. package/DropdownMenu/components/DropdownMenuItemRadio/DropdownMenuItemRadio.d.ts +3 -0
  119. package/DropdownMenu/components/DropdownMenuItemRadio/DropdownMenuItemRadio.js +9 -0
  120. package/DropdownMenu/components/DropdownMenuItemRadio/index.d.ts +1 -0
  121. package/DropdownMenu/components/DropdownMenuItemRadio/index.js +1 -0
  122. package/DropdownMenu/components/DropdownMenuItemRadio/styles.d.ts +1 -0
  123. package/DropdownMenu/components/DropdownMenuItemRadio/styles.js +8 -0
  124. package/DropdownMenu/components/DropdownMenuNested/DropdownMenuNested.d.ts +3 -0
  125. package/DropdownMenu/components/DropdownMenuNested/DropdownMenuNested.js +69 -0
  126. package/DropdownMenu/components/DropdownMenuNested/index.d.ts +1 -0
  127. package/DropdownMenu/components/DropdownMenuNested/index.js +1 -0
  128. package/DropdownMenu/components/DropdownMenuNested/styles.d.ts +8 -0
  129. package/DropdownMenu/components/DropdownMenuNested/styles.js +35 -0
  130. package/DropdownMenu/components/DropdownMenuNested/types.d.ts +6 -0
  131. package/DropdownMenu/components/DropdownMenuNested/types.js +1 -0
  132. package/DropdownMenu/components/DropdownMenuWindow/DropdownMenuWindow.d.ts +3 -0
  133. package/DropdownMenu/components/DropdownMenuWindow/DropdownMenuWindow.js +12 -0
  134. package/DropdownMenu/components/DropdownMenuWindow/index.d.ts +1 -0
  135. package/DropdownMenu/components/DropdownMenuWindow/index.js +1 -0
  136. package/DropdownMenu/components/DropdownMenuWindow/styles.d.ts +1 -0
  137. package/DropdownMenu/components/DropdownMenuWindow/styles.js +7 -0
  138. package/DropdownMenu/components/DropdownMenuWindow/types.d.ts +5 -0
  139. package/DropdownMenu/components/DropdownMenuWindow/types.js +1 -0
  140. package/DropdownMenu/index.d.ts +9 -0
  141. package/DropdownMenu/index.js +9 -0
  142. package/EditableField/EditableField.d.ts +3 -0
  143. package/EditableField/EditableField.js +61 -0
  144. package/EditableField/index.d.ts +2 -0
  145. package/EditableField/index.js +1 -0
  146. package/EditableField/styles.d.ts +8 -0
  147. package/EditableField/styles.js +25 -0
  148. package/EditableField/types.d.ts +15 -0
  149. package/EditableField/types.js +1 -0
  150. package/EmailTemplatePreview/EmailTemplatePreview.d.ts +3 -11
  151. package/EmailTemplatePreview/EmailTemplatePreview.js +11 -10
  152. package/EmailTemplatePreview/components/NoEmailTemplatePreview/NoEmailTemplatePreview.d.ts +2 -2
  153. package/EmailTemplatePreview/components/NoEmailTemplatePreview/NoEmailTemplatePreview.js +3 -3
  154. package/EmailTemplatePreview/components/NoEmailTemplatePreview/assets/PW_logo.svg +1 -5
  155. package/EmailTemplatePreview/components/NoEmailTemplatePreview/{styled.js → styles.js} +2 -2
  156. package/EmailTemplatePreview/{styled.js → styles.js} +1 -1
  157. package/EmailTemplatePreview/types.d.ts +8 -0
  158. package/EmailTemplatePreview/types.js +1 -0
  159. package/ExportResult/ExportResult.d.ts +2 -2
  160. package/ExportResult/ExportResult.js +11 -10
  161. package/ExportResult/{styled.js → styles.js} +5 -5
  162. package/FieldBox/FieldBox.d.ts +3 -3
  163. package/FieldBox/FieldBox.js +8 -7
  164. package/FieldBox/index.d.ts +1 -1
  165. package/FieldBox/types.js +1 -0
  166. package/InputFile/InputFile.d.ts +3 -0
  167. package/InputFile/InputFile.js +88 -0
  168. package/InputFile/index.d.ts +1 -0
  169. package/InputFile/index.js +1 -0
  170. package/InputFile/styles.d.ts +5 -0
  171. package/InputFile/styles.js +29 -0
  172. package/InputFile/types.d.ts +25 -0
  173. package/InputFile/types.js +1 -0
  174. package/Link/Link.d.ts +5 -0
  175. package/Link/Link.js +12 -0
  176. package/Link/index.d.ts +1 -0
  177. package/Link/index.js +1 -0
  178. package/Link/styles.d.ts +1 -0
  179. package/Link/styles.js +7 -0
  180. package/Link/types.d.ts +21 -0
  181. package/Link/types.js +1 -0
  182. package/Modal/components/Modal/Modal.d.ts +3 -0
  183. package/Modal/components/Modal/Modal.js +51 -0
  184. package/Modal/components/Modal/index.d.ts +1 -0
  185. package/Modal/components/Modal/index.js +1 -0
  186. package/Modal/components/Modal/maps.d.ts +6 -0
  187. package/Modal/components/Modal/maps.js +6 -0
  188. package/Modal/components/Modal/styles.d.ts +13 -0
  189. package/Modal/components/Modal/styles.js +45 -0
  190. package/Modal/components/Modal/types.d.ts +13 -0
  191. package/Modal/components/Modal/types.js +1 -0
  192. package/Modal/components/ModalConfirm/ModalConfirm.d.ts +3 -0
  193. package/Modal/components/ModalConfirm/ModalConfirm.js +54 -0
  194. package/Modal/components/ModalConfirm/ModalConfirmProvider.d.ts +4 -0
  195. package/Modal/components/ModalConfirm/ModalConfirmProvider.js +35 -0
  196. package/Modal/components/ModalConfirm/hooks.d.ts +2 -0
  197. package/Modal/components/ModalConfirm/hooks.js +9 -0
  198. package/Modal/components/ModalConfirm/index.d.ts +3 -0
  199. package/Modal/components/ModalConfirm/index.js +3 -0
  200. package/Modal/components/ModalConfirm/types.d.ts +20 -0
  201. package/Modal/components/ModalConfirm/types.js +1 -0
  202. package/Modal/components/ModalContent/index.d.ts +1 -0
  203. package/Modal/components/ModalContent/index.js +1 -0
  204. package/Modal/components/ModalContent/styled.d.ts +19 -0
  205. package/Modal/components/ModalContent/styled.js +29 -0
  206. package/Modal/components/ModalTitle/ModalTitle.d.ts +3 -0
  207. package/Modal/components/ModalTitle/ModalTitle.js +18 -0
  208. package/Modal/components/ModalTitle/index.d.ts +1 -0
  209. package/Modal/components/ModalTitle/index.js +1 -0
  210. package/Modal/components/ModalTitle/styles.d.ts +1 -0
  211. package/Modal/components/ModalTitle/styles.js +8 -0
  212. package/Modal/components/ModalTitle/types.d.ts +5 -0
  213. package/Modal/components/ModalTitle/types.js +1 -0
  214. package/Modal/index.d.ts +4 -0
  215. package/Modal/index.js +4 -0
  216. package/NumberPicker/NumberPicker.js +2 -2
  217. package/NumberPicker/{AutosizeInput.d.ts → components/AutosizeInput/AutosizeInput.d.ts} +1 -1
  218. package/NumberPicker/{AutosizeInput.js → components/AutosizeInput/AutosizeInput.js} +3 -3
  219. package/NumberPicker/components/AutosizeInput/index.d.ts +1 -0
  220. package/NumberPicker/components/AutosizeInput/index.js +1 -0
  221. package/NumberPicker/{AutosizeInput.styled.js → components/AutosizeInput/styles.js} +1 -1
  222. package/NumberPicker/components/AutosizeInput/types.js +1 -0
  223. package/NumberPicker/{styled.js → styles.js} +3 -3
  224. package/PageHeader/components/AutosizeInput/AutosizeInput.d.ts +3 -0
  225. package/PageHeader/components/AutosizeInput/AutosizeInput.js +80 -0
  226. package/PageHeader/components/AutosizeInput/constants.d.ts +2 -0
  227. package/PageHeader/components/AutosizeInput/constants.js +2 -0
  228. package/PageHeader/components/AutosizeInput/index.d.ts +1 -0
  229. package/PageHeader/components/AutosizeInput/index.js +1 -0
  230. package/PageHeader/components/AutosizeInput/styles.d.ts +5 -0
  231. package/PageHeader/components/AutosizeInput/styles.js +20 -0
  232. package/PageHeader/components/AutosizeInput/types.d.ts +10 -0
  233. package/PageHeader/components/AutosizeInput/types.js +1 -0
  234. package/PageHeader/components/PageHeader/PageHeader.d.ts +3 -0
  235. package/PageHeader/components/PageHeader/PageHeader.js +51 -0
  236. package/PageHeader/components/PageHeader/index.d.ts +1 -0
  237. package/PageHeader/components/PageHeader/index.js +1 -0
  238. package/PageHeader/components/PageHeader/styles.d.ts +9 -0
  239. package/PageHeader/components/PageHeader/styles.js +29 -0
  240. package/PageHeader/components/PageHeader/types.d.ts +15 -0
  241. package/PageHeader/components/PageHeader/types.js +1 -0
  242. package/PageHeader/components/PageHeaderEditable/PageHeaderEditable.d.ts +3 -0
  243. package/PageHeader/components/PageHeaderEditable/PageHeaderEditable.js +67 -0
  244. package/PageHeader/components/PageHeaderEditable/index.d.ts +1 -0
  245. package/PageHeader/components/PageHeaderEditable/index.js +1 -0
  246. package/PageHeader/components/PageHeaderEditable/styles.d.ts +10 -0
  247. package/PageHeader/components/PageHeaderEditable/styles.js +33 -0
  248. package/PageHeader/components/PageHeaderEditable/types.d.ts +21 -0
  249. package/PageHeader/components/PageHeaderEditable/types.js +1 -0
  250. package/PageHeader/components/PageHeaderError/PageHeaderError.d.ts +3 -0
  251. package/PageHeader/components/PageHeaderError/PageHeaderError.js +19 -0
  252. package/PageHeader/components/PageHeaderError/index.d.ts +1 -0
  253. package/PageHeader/components/PageHeaderError/index.js +1 -0
  254. package/PageHeader/components/PageHeaderError/styles.d.ts +6 -0
  255. package/PageHeader/components/PageHeaderError/styles.js +20 -0
  256. package/PageHeader/components/PageHeaderError/types.d.ts +5 -0
  257. package/PageHeader/components/PageHeaderError/types.js +1 -0
  258. package/PageHeader/components/PageHeaderSkeleton/PageHeaderSkeleton.d.ts +2 -0
  259. package/PageHeader/components/PageHeaderSkeleton/PageHeaderSkeleton.js +20 -0
  260. package/PageHeader/components/PageHeaderSkeleton/index.d.ts +1 -0
  261. package/PageHeader/components/PageHeaderSkeleton/index.js +1 -0
  262. package/PageHeader/components/PageHeaderSkeleton/styles.d.ts +5 -0
  263. package/PageHeader/components/PageHeaderSkeleton/styles.js +15 -0
  264. package/PageHeader/index.d.ts +3 -0
  265. package/PageHeader/index.js +3 -0
  266. package/Pagination/Pagination.d.ts +3 -0
  267. package/Pagination/Pagination.js +85 -0
  268. package/Pagination/helpers.d.ts +1 -0
  269. package/Pagination/helpers.js +4 -0
  270. package/Pagination/index.d.ts +1 -0
  271. package/Pagination/index.js +1 -0
  272. package/Pagination/styles.d.ts +8 -0
  273. package/Pagination/styles.js +35 -0
  274. package/Pagination/types.d.ts +9 -0
  275. package/Pagination/types.js +1 -0
  276. package/Popover/Popover.d.ts +3 -0
  277. package/Popover/Popover.js +44 -0
  278. package/Popover/index.d.ts +4 -0
  279. package/Popover/index.js +2 -0
  280. package/Popover/styles.d.ts +6 -0
  281. package/Popover/styles.js +19 -0
  282. package/Popover/types.d.ts +12 -0
  283. package/Popover/types.js +1 -0
  284. package/ProgressBar/ProgressBar.d.ts +2 -2
  285. package/ProgressBar/ProgressBar.js +20 -17
  286. package/ProgressBar/{styled.js → styles.js} +10 -10
  287. package/PushPreview/PushPreview.js +4 -4
  288. package/PushPreview/{styled.js → styles.js} +8 -8
  289. package/Radio/Radio.d.ts +3 -0
  290. package/Radio/Radio.js +37 -0
  291. package/Radio/index.d.ts +2 -0
  292. package/Radio/index.js +1 -0
  293. package/Radio/maps.d.ts +3 -0
  294. package/Radio/maps.js +8 -0
  295. package/Radio/styled.d.ts +5 -0
  296. package/Radio/styled.js +13 -0
  297. package/Radio/types.d.ts +12 -0
  298. package/Radio/types.js +1 -0
  299. package/ReCaptcha/ReCaptcha.d.ts +2 -0
  300. package/ReCaptcha/ReCaptcha.js +8 -0
  301. package/ReCaptcha/constants.d.ts +3 -0
  302. package/ReCaptcha/constants.js +4 -0
  303. package/ReCaptcha/helpers.d.ts +1 -0
  304. package/ReCaptcha/helpers.js +15 -0
  305. package/ReCaptcha/hooks.d.ts +2 -0
  306. package/ReCaptcha/hooks.js +66 -0
  307. package/ReCaptcha/index.d.ts +3 -0
  308. package/ReCaptcha/index.js +3 -0
  309. package/ReCaptcha/styles.d.ts +1 -0
  310. package/ReCaptcha/styles.js +5 -0
  311. package/ReCaptcha/types.d.ts +8 -0
  312. package/ReCaptcha/types.js +1 -0
  313. package/Skeleton/TextSkeleton.d.ts +3 -0
  314. package/Skeleton/TextSkeleton.js +16 -0
  315. package/Skeleton/index.d.ts +2 -0
  316. package/Skeleton/index.js +2 -0
  317. package/Skeleton/styles.d.ts +4 -0
  318. package/Skeleton/styles.js +33 -0
  319. package/Skeleton/types.d.ts +16 -0
  320. package/Skeleton/types.js +1 -0
  321. package/SortButton/SortButton.d.ts +6 -0
  322. package/SortButton/SortButton.js +33 -0
  323. package/SortButton/constants.d.ts +2 -0
  324. package/SortButton/constants.js +1 -0
  325. package/SortButton/index.d.ts +1 -0
  326. package/SortButton/index.js +1 -0
  327. package/SortButton/maps.d.ts +10 -0
  328. package/SortButton/maps.js +15 -0
  329. package/SortButton/styles.d.ts +3 -0
  330. package/SortButton/styles.js +9 -0
  331. package/SortButton/types.d.ts +14 -0
  332. package/SortButton/types.js +1 -0
  333. package/Spinner/Spinner.d.ts +3 -0
  334. package/Spinner/Spinner.js +20 -0
  335. package/Spinner/assets/index.d.ts +4 -0
  336. package/Spinner/assets/index.js +6 -0
  337. package/Spinner/assets/spinner.medium.svg +1 -0
  338. package/Spinner/assets/spinner.small.svg +1 -0
  339. package/Spinner/index.d.ts +2 -0
  340. package/Spinner/index.js +1 -0
  341. package/Spinner/maps.d.ts +5 -0
  342. package/Spinner/maps.js +5 -0
  343. package/Spinner/styles.d.ts +5 -0
  344. package/Spinner/styles.js +20 -0
  345. package/Spinner/types.d.ts +6 -0
  346. package/Spinner/types.js +1 -0
  347. package/StatisticCard/StatisticCard.d.ts +2 -2
  348. package/StatisticCard/StatisticCard.js +16 -15
  349. package/Switch/Switch.d.ts +3 -0
  350. package/Switch/Switch.js +23 -0
  351. package/Switch/index.d.ts +1 -0
  352. package/Switch/index.js +1 -0
  353. package/Switch/styles.d.ts +5 -0
  354. package/Switch/styles.js +62 -0
  355. package/Switch/types.d.ts +15 -0
  356. package/Switch/types.js +1 -0
  357. package/Tabs/{tab/tab.d.ts → components/Tab/Tab.d.ts} +2 -2
  358. package/Tabs/{tab/tab.js → components/Tab/Tab.js} +2 -2
  359. package/Tabs/components/Tab/index.d.ts +1 -0
  360. package/Tabs/components/Tab/index.js +1 -0
  361. package/Tabs/{tab/tab.types.d.ts → components/Tab/types.d.ts} +1 -1
  362. package/Tabs/components/Tab/types.js +1 -0
  363. package/Tabs/{tab-bar/tab-bar.js → components/TabBar/TabBar.js} +2 -2
  364. package/Tabs/components/TabBar/index.d.ts +1 -0
  365. package/Tabs/components/TabBar/index.js +1 -0
  366. package/Tabs/{tab-bar/tab-bar.styles.js → components/TabBar/styles.js} +2 -2
  367. package/Tabs/components/TabBar/types.js +1 -0
  368. package/Tabs/{tabs-list-slide-frame/tabs-list-slide-frame.d.ts → components/TabBarScrollableFrame/TabBarScrollableFrame.d.ts} +1 -1
  369. package/Tabs/{tabs-list-slide-frame/tabs-list-slide-frame.js → components/TabBarScrollableFrame/TabBarScrollableFrame.js} +2 -2
  370. package/Tabs/components/TabBarScrollableFrame/index.d.ts +1 -0
  371. package/Tabs/components/TabBarScrollableFrame/index.js +1 -0
  372. package/Tabs/{tabs-list-slide-frame/tabs-list-slide-frame.styles.js → components/TabBarScrollableFrame/styles.js} +5 -5
  373. package/Tabs/components/TabBarScrollableFrame/types.js +1 -0
  374. package/Tabs/{tab-base/tab-base.js → components/TabBase/TabBase.js} +1 -1
  375. package/Tabs/components/TabBase/index.d.ts +1 -0
  376. package/Tabs/components/TabBase/index.js +1 -0
  377. package/Tabs/{tab-base/tab-base.styles.js → components/TabBase/styles.js} +4 -4
  378. package/Tabs/components/TabBase/types.js +1 -0
  379. package/Tabs/{tab-panel/tab-panel.d.ts → components/TabPanel/TabPanel.d.ts} +1 -1
  380. package/Tabs/{tab-panel/tab-panel.js → components/TabPanel/TabPanel.js} +1 -1
  381. package/Tabs/components/TabPanel/index.d.ts +1 -0
  382. package/Tabs/components/TabPanel/index.js +1 -0
  383. package/Tabs/{tab-panel → components/TabPanel}/styles.js +1 -1
  384. package/Tabs/{tab-panel/tab-panel.types.d.ts → components/TabPanel/types.d.ts} +1 -1
  385. package/Tabs/components/TabPanel/types.js +1 -0
  386. package/Tabs/{tabs/tabs.d.ts → components/Tabs/Tabs.d.ts} +1 -1
  387. package/Tabs/{tabs/tabs.js → components/Tabs/Tabs.js} +1 -1
  388. package/Tabs/components/Tabs/index.d.ts +1 -0
  389. package/Tabs/components/Tabs/index.js +1 -0
  390. package/Tabs/{tabs → components/Tabs}/styles.js +1 -1
  391. package/Tabs/{tabs/tabs.types.d.ts → components/Tabs/types.d.ts} +1 -1
  392. package/Tabs/components/Tabs/types.js +1 -0
  393. package/Tabs/{tabs.context.d.ts → context.d.ts} +1 -1
  394. package/Tabs/index.d.ts +5 -5
  395. package/Tabs/index.js +4 -5
  396. package/Tabs/types.js +1 -0
  397. package/Toast/Toast.d.ts +3 -0
  398. package/Toast/Toast.js +62 -0
  399. package/Toast/ToastProvider.d.ts +4 -0
  400. package/Toast/ToastProvider.js +45 -0
  401. package/Toast/constants.d.ts +8 -0
  402. package/Toast/constants.js +8 -0
  403. package/Toast/hooks.d.ts +2 -0
  404. package/Toast/hooks.js +9 -0
  405. package/Toast/index.d.ts +3 -0
  406. package/Toast/index.js +3 -0
  407. package/Toast/styles.d.ts +8 -0
  408. package/Toast/styles.js +23 -0
  409. package/Toast/types.d.ts +28 -0
  410. package/Toast/types.js +1 -0
  411. package/Tooltip/Tooltip.d.ts +3 -0
  412. package/Tooltip/Tooltip.js +47 -0
  413. package/Tooltip/index.d.ts +2 -0
  414. package/Tooltip/index.js +1 -0
  415. package/Tooltip/maps.d.ts +48 -0
  416. package/Tooltip/maps.js +161 -0
  417. package/Tooltip/styles.d.ts +5 -0
  418. package/Tooltip/styles.js +22 -0
  419. package/Tooltip/types.d.ts +14 -0
  420. package/Tooltip/types.js +1 -0
  421. package/hooks/index.d.ts +2 -0
  422. package/hooks/index.js +2 -0
  423. package/hooks/useElementWidth.d.ts +11 -0
  424. package/hooks/useElementWidth.js +27 -0
  425. package/hooks/useOnClickOutside.d.ts +4 -0
  426. package/hooks/useOnClickOutside.js +23 -0
  427. package/index.d.ts +24 -3
  428. package/index.js +22 -1
  429. package/package.json +6 -5
  430. package/Tabs/tab/index.d.ts +0 -2
  431. package/Tabs/tab/index.js +0 -2
  432. package/Tabs/tab-bar/index.d.ts +0 -2
  433. package/Tabs/tab-bar/index.js +0 -2
  434. package/Tabs/tab-base/index.d.ts +0 -3
  435. package/Tabs/tab-base/index.js +0 -3
  436. package/Tabs/tab-panel/index.d.ts +0 -2
  437. package/Tabs/tab-panel/index.js +0 -2
  438. package/Tabs/tabs/index.d.ts +0 -2
  439. package/Tabs/tabs/index.js +0 -2
  440. package/Tabs/tabs-list-slide-frame/index.d.ts +0 -3
  441. package/Tabs/tabs-list-slide-frame/index.js +0 -3
  442. package/{FieldBox/FieldBox.types.js → ActionsGroup/types.js} +0 -0
  443. package/{NumberPicker/AutosizeInput.types.js → Badge/types.js} +0 -0
  444. package/{Tabs/tab-bar/tab-bar.types.js → Banner/types.js} +0 -0
  445. package/{Tabs/tab-base/tab-base.types.js → Button/types.js} +0 -0
  446. package/{Tabs/tab-panel/tab-panel.types.js → CardMetric/types.js} +0 -0
  447. package/{Tabs/tab/tab.types.js → Checkbox/types.js} +0 -0
  448. package/{Tabs/tabs-list-slide-frame/tabs-list-slide-frame.types.js → Drawer/types.js} +0 -0
  449. package/{Tabs/tabs.types.js → DropdownMenu/components/DropdownMenu/types.js} +0 -0
  450. package/{Tabs/tabs/tabs.types.js → DropdownMenu/components/DropdownMenuContainer/types.js} +0 -0
  451. package/EmailTemplatePreview/components/NoEmailTemplatePreview/{styled.d.ts → styles.d.ts} +0 -0
  452. package/EmailTemplatePreview/{styled.d.ts → styles.d.ts} +0 -0
  453. package/ExportResult/{styled.d.ts → styles.d.ts} +0 -0
  454. package/FieldBox/{FieldBox.types.d.ts → types.d.ts} +0 -0
  455. package/NumberPicker/{AutosizeInput.constants.d.ts → components/AutosizeInput/constants.d.ts} +0 -0
  456. package/NumberPicker/{AutosizeInput.constants.js → components/AutosizeInput/constants.js} +0 -0
  457. package/NumberPicker/{AutosizeInput.styled.d.ts → components/AutosizeInput/styles.d.ts} +0 -0
  458. package/NumberPicker/{AutosizeInput.types.d.ts → components/AutosizeInput/types.d.ts} +0 -0
  459. package/NumberPicker/{styled.d.ts → styles.d.ts} +0 -0
  460. package/ProgressBar/{styled.d.ts → styles.d.ts} +0 -0
  461. package/PushPreview/{constants/urls.d.ts → constants.d.ts} +0 -0
  462. package/PushPreview/{constants/urls.js → constants.js} +0 -0
  463. package/PushPreview/{helpers/helpers.d.ts → helpers.d.ts} +0 -0
  464. package/PushPreview/{helpers/helpers.js → helpers.js} +0 -0
  465. package/PushPreview/{styled.d.ts → styles.d.ts} +0 -0
  466. package/Tabs/{tab-bar/tab-bar.d.ts → components/TabBar/TabBar.d.ts} +0 -0
  467. package/Tabs/{tab-bar/tab-bar.styles.d.ts → components/TabBar/styles.d.ts} +0 -0
  468. package/Tabs/{tab-bar/tab-bar.types.d.ts → components/TabBar/types.d.ts} +0 -0
  469. package/Tabs/{tabs-list-slide-frame/tabs-list-slide-frame.styles.d.ts → components/TabBarScrollableFrame/styles.d.ts} +0 -0
  470. package/Tabs/{tabs-list-slide-frame/tabs-list-slide-frame.types.d.ts → components/TabBarScrollableFrame/types.d.ts} +0 -0
  471. package/Tabs/{tab-base/tab-base.d.ts → components/TabBase/TabBase.d.ts} +1 -1
  472. package/Tabs/{tab-base/tab-base.styles.d.ts → components/TabBase/styles.d.ts} +0 -0
  473. package/Tabs/{tab-base/tab-base.types.d.ts → components/TabBase/types.d.ts} +1 -1
  474. /package/Tabs/{tab-panel → components/TabPanel}/styles.d.ts +0 -0
  475. /package/Tabs/{tabs → components/Tabs}/styles.d.ts +0 -0
  476. /package/Tabs/{tabs.context.js → context.js} +0 -0
  477. /package/Tabs/{tabs.helpers.d.ts → helpers.d.ts} +0 -0
  478. /package/Tabs/{tabs.helpers.js → helpers.js} +0 -0
  479. /package/Tabs/{tabs.types.d.ts → types.d.ts} +0 -0
@@ -0,0 +1,3 @@
1
+ import { type ReactElement } from 'react';
2
+ import type { ActionsGroupProps } from './types';
3
+ export declare function ActionsGroup(props: ActionsGroupProps): ReactElement;
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import { ActionsGroupBox, ActionsGroupInner } from './styles';
3
+ export function ActionsGroup(props) {
4
+ const {
5
+ boxRef,
6
+ align,
7
+ gap,
8
+ children,
9
+ ...rest
10
+ } = props;
11
+ return React.createElement(ActionsGroupBox, {
12
+ ...rest,
13
+ ref: boxRef
14
+ }, React.createElement(ActionsGroupInner, {
15
+ "$align": align,
16
+ "$gap": gap
17
+ }, children));
18
+ }
@@ -0,0 +1,3 @@
1
+ import { type ReactElement } from 'react';
2
+ import type { ActionsGroupItemProps } from './types';
3
+ export declare function ActionsGroupItem(props: ActionsGroupItemProps): ReactElement;
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import { ActionsGroupItemBox } from './styles';
3
+ export function ActionsGroupItem(props) {
4
+ const {
5
+ boxRef,
6
+ ...rest
7
+ } = props;
8
+ return React.createElement(ActionsGroupItemBox, {
9
+ ...rest,
10
+ ref: boxRef
11
+ });
12
+ }
@@ -0,0 +1,3 @@
1
+ export { ActionsGroup } from './ActionsGroup';
2
+ export { ActionsGroupItem } from './ActionsGroupItem';
3
+ export type { ActionsGroupProps, ActionsGroupItemProps } from './types';
@@ -0,0 +1,2 @@
1
+ export { ActionsGroup } from './ActionsGroup';
2
+ export { ActionsGroupItem } from './ActionsGroupItem';
@@ -0,0 +1,7 @@
1
+ import type { ActionsGroupProps } from './types';
2
+ export declare const ActionsGroupBox: import("styled-components").StyledComponent<"div", any, {}, never>;
3
+ export declare const ActionsGroupItemBox: import("styled-components").StyledComponent<"div", any, {}, never>;
4
+ export declare const ActionsGroupInner: import("styled-components").StyledComponent<"div", any, {
5
+ $align: ActionsGroupProps["align"];
6
+ $gap: ActionsGroupProps["gap"];
7
+ }, never>;
@@ -0,0 +1,22 @@
1
+ import styled from 'styled-components';
2
+ export const ActionsGroupBox = styled.div.withConfig({
3
+ displayName: "ActionsGroupBox",
4
+ componentId: "sc-eb6b51-0"
5
+ })([""]);
6
+ export const ActionsGroupItemBox = styled.div.withConfig({
7
+ displayName: "ActionsGroupItemBox",
8
+ componentId: "sc-eb6b51-1"
9
+ })([""]);
10
+ export const ActionsGroupInner = styled.div.withConfig({
11
+ displayName: "ActionsGroupInner",
12
+ componentId: "sc-eb6b51-2"
13
+ })(["display:flex;flex-wrap:nowrap;align-items:center;justify-content:", ";margin:0 ", ";", "{padding:0 ", ";}"], ({
14
+ $align
15
+ }) => $align === 'end' ? 'flex-end' : 'flex-start', ({
16
+ $gap
17
+ }) => `calc(-${$gap}/2)`, ActionsGroupItemBox, ({
18
+ $gap
19
+ }) => `calc(${$gap}/2)`);
20
+ ActionsGroupBox.displayName = 'ActionsGroupBox';
21
+ ActionsGroupInner.displayName = 'ActionsGroupInner';
22
+ ActionsGroupItemBox.displayName = 'ActionsGroupBox';
@@ -0,0 +1,12 @@
1
+ import type { Ref, ReactNode } from 'react';
2
+ import type { Spacing } from '@pushwoosh/kit-constants';
3
+ export type ActionsGroupProps = Omit<JSX.IntrinsicElements['div'], 'ref'> & {
4
+ readonly boxRef?: Ref<HTMLDivElement>;
5
+ readonly align: 'start' | 'end';
6
+ readonly gap: Spacing;
7
+ readonly children: ReactNode;
8
+ };
9
+ export type ActionsGroupItemProps = Omit<JSX.IntrinsicElements['div'], 'ref'> & {
10
+ readonly boxRef?: Ref<HTMLDivElement>;
11
+ readonly children: ReactNode;
12
+ };
@@ -0,0 +1,3 @@
1
+ import { type ReactElement } from 'react';
2
+ import type { BadgeProps } from './types';
3
+ export declare function Badge(props: BadgeProps): ReactElement;
package/Badge/Badge.js ADDED
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ import { BadgeBox } from './styles';
3
+ export function Badge(props) {
4
+ const {
5
+ boxRef,
6
+ color,
7
+ isSaturated,
8
+ ...rest
9
+ } = props;
10
+ return React.createElement(BadgeBox, {
11
+ ...rest,
12
+ ref: boxRef,
13
+ "$color": color,
14
+ "$isSaturated": isSaturated
15
+ });
16
+ }
@@ -0,0 +1,2 @@
1
+ export { Badge } from './Badge';
2
+ export type { BadgeProps, BadgeColor } from './types';
package/Badge/index.js ADDED
@@ -0,0 +1 @@
1
+ export { Badge } from './Badge';
@@ -0,0 +1,19 @@
1
+ import { Color } from '@pushwoosh/kit-constants';
2
+ export declare const BadgeColorToColorMap: {
3
+ gray: Color;
4
+ green: Color;
5
+ orange: Color;
6
+ red: Color;
7
+ purple: Color;
8
+ sky: Color;
9
+ locked: Color;
10
+ };
11
+ export declare const BadgeColorToLightColorMap: {
12
+ gray: Color;
13
+ green: Color;
14
+ orange: Color;
15
+ red: Color;
16
+ purple: Color;
17
+ sky: Color;
18
+ locked: Color;
19
+ };
package/Badge/maps.js ADDED
@@ -0,0 +1,19 @@
1
+ import { Color } from '@pushwoosh/kit-constants';
2
+ export const BadgeColorToColorMap = {
3
+ gray: Color.SOFT,
4
+ green: Color.SUCCESS,
5
+ orange: Color.WARNING,
6
+ red: Color.DANGER,
7
+ purple: Color.EXCEPTIONAL,
8
+ sky: Color.BRIGHT,
9
+ locked: Color.LOCKED
10
+ };
11
+ export const BadgeColorToLightColorMap = {
12
+ gray: Color.SOFT_LIGHT,
13
+ green: Color.SUCCESS_LIGHT,
14
+ orange: Color.WARNING_LIGHT,
15
+ red: Color.DANGER_LIGHT,
16
+ purple: Color.EXCEPTIONAL_LIGHT,
17
+ sky: Color.BRIGHT_LIGHT,
18
+ locked: Color.FROZEN
19
+ };
@@ -0,0 +1,5 @@
1
+ import type { BadgeProps } from './types';
2
+ export declare const BadgeBox: import("styled-components").StyledComponent<"div", any, {
3
+ $color: BadgeProps["color"];
4
+ $isSaturated?: boolean;
5
+ }, never>;
@@ -0,0 +1,14 @@
1
+ import styled from 'styled-components';
2
+ import { Color, FontSize, FontWeight, FontFamily, LineHeight, ShapeRadius, Spacing } from '@pushwoosh/kit-constants';
3
+ import { BadgeColorToColorMap, BadgeColorToLightColorMap } from './maps';
4
+ export const BadgeBox = styled.div.withConfig({
5
+ displayName: "BadgeBox",
6
+ componentId: "sc-6ptm8-0"
7
+ })(["display:inline-block;width:fit-content;padding:", " ", ";border-radius:", ";color:", ";background-color:", ";font-size:", ";font-family:", ";font-weight:", ";line-height:", ";text-transform:uppercase;user-select:none;"], Spacing.S0, Spacing.S2, ShapeRadius.SECTION, ({
8
+ $isSaturated,
9
+ $color
10
+ }) => $isSaturated ? Color.CLEAR : BadgeColorToColorMap[$color], ({
11
+ $isSaturated,
12
+ $color
13
+ }) => $isSaturated ? BadgeColorToColorMap[$color] : BadgeColorToLightColorMap[$color], FontSize.HEADING5, FontFamily.MAIN, FontWeight.MEDIUM, LineHeight.SMALL);
14
+ BadgeBox.displayName = 'BadgeBox';
@@ -0,0 +1,8 @@
1
+ import type { Ref, ReactNode } from 'react';
2
+ export type BadgeColor = 'gray' | 'green' | 'orange' | 'red' | 'purple' | 'sky' | 'locked';
3
+ export type BadgeProps = Omit<JSX.IntrinsicElements['div'], 'ref'> & {
4
+ readonly boxRef?: Ref<HTMLDivElement>;
5
+ readonly color: BadgeColor;
6
+ readonly isSaturated?: boolean;
7
+ readonly children: ReactNode;
8
+ };
@@ -0,0 +1,3 @@
1
+ import { type ReactElement } from 'react';
2
+ import type { BannerPropsWithButton, RequiredBannerProps } from './types';
3
+ export declare function Banner(props: RequiredBannerProps | BannerPropsWithButton): ReactElement | null;
@@ -0,0 +1,82 @@
1
+ import React, { useState, useCallback } from 'react';
2
+ import { Spacing } from '@pushwoosh/kit-constants';
3
+ import { Vertical } from '@pushwoosh/kit-helpers';
4
+ import { CloseIcon } from '@pushwoosh/kit-icons';
5
+ import { H4 } from '@pushwoosh/kit-typography';
6
+ import { Spinner } from '../Spinner';
7
+ import { BannerPropsToBannerBoxMap, BannerPropsToIconContainerMap, BannerTypeToSpinnerColorMap } from './maps';
8
+ import { ActionButton, BannerContent, BannerSpinner, CloseButton, IconContainer } from './styles';
9
+ export function Banner(props) {
10
+ const [isOpen, setIsOpen] = useState(true);
11
+ const [isActionPressed, setIsActionPressed] = useState(false);
12
+ const [isClosePressed, setIsClosePressed] = useState(false);
13
+ const {
14
+ boxRef,
15
+ type,
16
+ title,
17
+ icon,
18
+ view = 'shape',
19
+ canBeClosed,
20
+ isLoading = false,
21
+ children,
22
+ className,
23
+ onClose,
24
+ ...rest
25
+ } = props;
26
+ const {
27
+ action
28
+ } = props;
29
+ const handleClose = useCallback(() => {
30
+ setIsOpen(false);
31
+ setIsClosePressed(true);
32
+ if (onClose) {
33
+ onClose();
34
+ }
35
+ }, [onClose]);
36
+ const handleAction = useCallback(() => {
37
+ setIsActionPressed(true);
38
+ action === null || action === void 0 || action.onClick();
39
+ }, [action]);
40
+ if (!type) {
41
+ console.error(`[Banner]: required prop type "${type}" is not set`);
42
+ return null;
43
+ }
44
+ const BannerBox = BannerPropsToBannerBoxMap[view];
45
+ if (!BannerBox) {
46
+ console.error(`[Banner]: cannot render with type "${type}" and view "${view}"`);
47
+ return null;
48
+ }
49
+ const DefaultIcon = BannerPropsToIconContainerMap[type] ?? null;
50
+ const SpinnerColor = BannerTypeToSpinnerColorMap[type];
51
+ if (!isOpen) {
52
+ return null;
53
+ }
54
+ return React.createElement(BannerBox, {
55
+ ...rest,
56
+ "$isOpen": isOpen,
57
+ "$isLoading": isLoading,
58
+ ref: boxRef,
59
+ "$type": type,
60
+ className: className
61
+ }, React.createElement(IconContainer, null, icon || React.createElement(DefaultIcon, {
62
+ size: "small",
63
+ view: "filled"
64
+ })), React.createElement(BannerContent, {
65
+ "$hasChildren": !!children
66
+ }, React.createElement(H4, null, title), children && React.createElement("div", null, children)), action && React.createElement(Vertical, {
67
+ "$padding": `0 ${Spacing.S3} 0 0`,
68
+ "$alignContent": "center"
69
+ }, React.createElement(ActionButton, {
70
+ onClick: handleAction,
71
+ "$isPressed": isActionPressed,
72
+ "$isLoading": isLoading
73
+ }, React.createElement("span", null, action.buttonText), isLoading && React.createElement(BannerSpinner, null, React.createElement(Spinner, {
74
+ size: "small",
75
+ color: SpinnerColor
76
+ })))), canBeClosed && React.createElement(CloseButton, {
77
+ onClick: handleClose,
78
+ "$isPressed": isClosePressed
79
+ }, React.createElement(CloseIcon, {
80
+ size: "small"
81
+ })));
82
+ }
@@ -0,0 +1,12 @@
1
+ import type { BannerType } from './types';
2
+ type Colors = {
3
+ color: string;
4
+ bgColor: string;
5
+ };
6
+ type BannerColors = {
7
+ base: Colors;
8
+ iconArea: Colors;
9
+ hover: Partial<Colors>;
10
+ };
11
+ export declare const colors: Record<BannerType, Record<'shape' | 'ghost', BannerColors>>;
12
+ export {};
@@ -0,0 +1,115 @@
1
+ import { Color } from '@pushwoosh/kit-constants';
2
+ export const colors = {
3
+ error: {
4
+ shape: {
5
+ base: {
6
+ color: Color.MAIN,
7
+ bgColor: Color.DANGER_LIGHT
8
+ },
9
+ iconArea: {
10
+ color: Color.CLEAR,
11
+ bgColor: Color.DANGER
12
+ },
13
+ hover: {
14
+ bgColor: Color.DANGER_LIGHT
15
+ }
16
+ },
17
+ ghost: {
18
+ base: {
19
+ color: Color.MAIN,
20
+ bgColor: Color.DANGER_LIGHT
21
+ },
22
+ iconArea: {
23
+ color: Color.DANGER,
24
+ bgColor: Color.DANGER_LIGHT
25
+ },
26
+ hover: {
27
+ bgColor: Color.DANGER_LIGHT
28
+ }
29
+ }
30
+ },
31
+ warning: {
32
+ shape: {
33
+ base: {
34
+ color: Color.MAIN,
35
+ bgColor: Color.WARNING_LIGHT
36
+ },
37
+ iconArea: {
38
+ color: Color.CLEAR,
39
+ bgColor: Color.WARNING
40
+ },
41
+ hover: {
42
+ bgColor: Color.WARNING_LIGHT
43
+ }
44
+ },
45
+ ghost: {
46
+ base: {
47
+ color: Color.MAIN,
48
+ bgColor: Color.WARNING_LIGHT
49
+ },
50
+ iconArea: {
51
+ color: Color.WARNING,
52
+ bgColor: Color.WARNING_LIGHT
53
+ },
54
+ hover: {
55
+ bgColor: Color.WARNING_LIGHT
56
+ }
57
+ }
58
+ },
59
+ info: {
60
+ shape: {
61
+ base: {
62
+ color: Color.MAIN,
63
+ bgColor: Color.BRIGHT_LIGHT
64
+ },
65
+ iconArea: {
66
+ color: Color.CLEAR,
67
+ bgColor: Color.BRIGHT
68
+ },
69
+ hover: {
70
+ bgColor: Color.BRIGHT_LIGHT
71
+ }
72
+ },
73
+ ghost: {
74
+ base: {
75
+ color: Color.MAIN,
76
+ bgColor: Color.BRIGHT_LIGHT
77
+ },
78
+ iconArea: {
79
+ color: Color.BRIGHT,
80
+ bgColor: Color.BRIGHT_LIGHT
81
+ },
82
+ hover: {
83
+ bgColor: Color.BRIGHT_LIGHT
84
+ }
85
+ }
86
+ },
87
+ success: {
88
+ shape: {
89
+ base: {
90
+ color: Color.MAIN,
91
+ bgColor: Color.SUCCESS_LIGHT
92
+ },
93
+ iconArea: {
94
+ color: Color.CLEAR,
95
+ bgColor: Color.SUCCESS
96
+ },
97
+ hover: {
98
+ bgColor: Color.SUCCESS_LIGHT
99
+ }
100
+ },
101
+ ghost: {
102
+ base: {
103
+ color: Color.MAIN,
104
+ bgColor: Color.SUCCESS_LIGHT
105
+ },
106
+ iconArea: {
107
+ color: Color.SUCCESS,
108
+ bgColor: Color.SUCCESS_LIGHT
109
+ },
110
+ hover: {
111
+ bgColor: Color.SUCCESS_LIGHT
112
+ }
113
+ }
114
+ }
115
+ };
@@ -0,0 +1,2 @@
1
+ export { Banner } from './Banner';
2
+ export type { BannerType, RequiredBannerProps, BannerPropsWithButton, } from './types';
@@ -0,0 +1 @@
1
+ export { Banner } from './Banner';
@@ -0,0 +1,27 @@
1
+ import { Color } from '@pushwoosh/kit-constants';
2
+ export declare const BannerPropsToIconContainerMap: {
3
+ error: import("react").FC<import("@pushwoosh/kit-icons").DangerTriangleIconProps>;
4
+ warning: import("react").FC<import("@pushwoosh/kit-icons").WarningRoundIconProps>;
5
+ info: import("react").FC<import("@pushwoosh/kit-icons").WarningRoundIconProps>;
6
+ success: import("react").FC<import("@pushwoosh/kit-icons").WarningRoundIconProps>;
7
+ };
8
+ export declare const BannerTypeToSpinnerColorMap: {
9
+ error: Color;
10
+ warning: Color;
11
+ info: Color;
12
+ success: Color;
13
+ };
14
+ export declare const BannerPropsToBannerBoxMap: {
15
+ readonly shape: import("styled-components").StyledComponent<"div", any, import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & {
16
+ $isOpen?: boolean;
17
+ $isLoading: boolean;
18
+ } & {
19
+ $type: import("./types").BannerType;
20
+ }, never>;
21
+ readonly ghost: import("styled-components").StyledComponent<"div", any, import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & {
22
+ $isOpen?: boolean;
23
+ $isLoading: boolean;
24
+ } & {
25
+ $type: import("./types").BannerType;
26
+ }, never>;
27
+ };
package/Banner/maps.js ADDED
@@ -0,0 +1,19 @@
1
+ import { Color } from '@pushwoosh/kit-constants';
2
+ import { DangerTriangleIcon, WarningRoundIcon } from '@pushwoosh/kit-icons';
3
+ import { BannerShape, BannerGhost } from './styles';
4
+ export const BannerPropsToIconContainerMap = {
5
+ error: DangerTriangleIcon,
6
+ warning: WarningRoundIcon,
7
+ info: WarningRoundIcon,
8
+ success: WarningRoundIcon
9
+ };
10
+ export const BannerTypeToSpinnerColorMap = {
11
+ error: Color.DANGER,
12
+ warning: Color.WARNING,
13
+ info: Color.BRIGHT,
14
+ success: Color.SUCCESS
15
+ };
16
+ export const BannerPropsToBannerBoxMap = {
17
+ shape: BannerShape,
18
+ ghost: BannerGhost
19
+ };
@@ -0,0 +1,29 @@
1
+ import type { BannerType } from './types';
2
+ export declare const BannerSpinner: import("styled-components").StyledComponent<"div", any, {}, never>;
3
+ export declare const ActionButton: import("styled-components").StyledComponent<"button", any, import("react").ClassAttributes<HTMLButtonElement> & import("react").ButtonHTMLAttributes<HTMLButtonElement> & {
4
+ $isPressed: boolean;
5
+ $isLoading?: boolean;
6
+ }, never>;
7
+ export declare const CloseButton: import("styled-components").StyledComponent<"button", any, import("react").ClassAttributes<HTMLButtonElement> & import("react").ButtonHTMLAttributes<HTMLButtonElement> & {
8
+ $isPressed: boolean;
9
+ }, never>;
10
+ export declare const BannerBox: import("styled-components").StyledComponent<"div", any, import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & {
11
+ $isOpen?: boolean;
12
+ $isLoading: boolean;
13
+ }, never>;
14
+ export declare const BannerContent: import("styled-components").StyledComponent<"div", any, {
15
+ $hasChildren?: boolean;
16
+ }, never>;
17
+ export declare const IconContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
18
+ export declare const BannerShape: import("styled-components").StyledComponent<"div", any, import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & {
19
+ $isOpen?: boolean;
20
+ $isLoading: boolean;
21
+ } & {
22
+ $type: BannerType;
23
+ }, never>;
24
+ export declare const BannerGhost: import("styled-components").StyledComponent<"div", any, import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & {
25
+ $isOpen?: boolean;
26
+ $isLoading: boolean;
27
+ } & {
28
+ $type: BannerType;
29
+ }, never>;
@@ -0,0 +1,45 @@
1
+ import { rgba } from 'polished';
2
+ import styled from 'styled-components';
3
+ import { Spacing, ShapeRadius, FontWeight } from '@pushwoosh/kit-constants';
4
+ import { colors } from './colors';
5
+ export const BannerSpinner = styled.div.withConfig({
6
+ displayName: "BannerSpinner",
7
+ componentId: "sc-9uu4ap-0"
8
+ })(["position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;"]);
9
+ export const ActionButton = styled.button.withConfig({
10
+ displayName: "ActionButton",
11
+ componentId: "sc-9uu4ap-1"
12
+ })(["appearance:none !important;border:none;background:initial;cursor:pointer;padding:", ";position:relative;font-weight:", ";white-space:nowrap;height:fit-content;> span{visibility:", ";}opacity:", ";"], Spacing.S2, FontWeight.BOLD, ({
13
+ $isLoading
14
+ }) => $isLoading ? 'hidden' : 'visible', ({
15
+ $isPressed,
16
+ $isLoading
17
+ }) => $isPressed && !$isLoading ? 0.5 : 1);
18
+ export const CloseButton = styled.button.withConfig({
19
+ displayName: "CloseButton",
20
+ componentId: "sc-9uu4ap-2"
21
+ })(["appearance:none !important;border:none;background:initial;cursor:pointer;padding:0 ", " 0 0;height:fit-content;align-self:center;opacity:", ";"], Spacing.S3, props => props.$isPressed ? 0.5 : 1);
22
+ export const BannerBox = styled.div.withConfig({
23
+ displayName: "BannerBox",
24
+ componentId: "sc-9uu4ap-3"
25
+ })(["display:flex;border-radius:", ";pointer-events:", ";"], ShapeRadius.SECTION, ({
26
+ $isLoading
27
+ }) => $isLoading ? 'none' : 'auto');
28
+ export const BannerContent = styled.div.withConfig({
29
+ displayName: "BannerContent",
30
+ componentId: "sc-9uu4ap-4"
31
+ })(["flex-grow:1;padding:", ";color:", ";"], ({
32
+ $hasChildren
33
+ }) => $hasChildren ? Spacing.S5 : `${Spacing.S3} ${Spacing.S5}`, colors.error.shape.base.color);
34
+ export const IconContainer = styled.div.withConfig({
35
+ displayName: "IconContainer",
36
+ componentId: "sc-9uu4ap-5"
37
+ })(["display:flex;align-items:center;justify-content:center;padding:0 ", ";border-radius:", " 0 0 ", ";"], Spacing.S3, ShapeRadius.SECTION, ShapeRadius.SECTION);
38
+ export const BannerShape = styled(BannerBox).withConfig({
39
+ displayName: "BannerShape",
40
+ componentId: "sc-9uu4ap-6"
41
+ })(["background:", ";", "{color:", ";background:", ";}", "{color:", ";background:", ";;border-radius:", ";&:hover{text-decoration:none;background:", ";border-radius:", ";}}", "{color:", ";> *{&:hover{text-decoration:none;background:", ";border-radius:", ";}}}"], props => colors[props.$type].shape.base.bgColor, IconContainer, props => colors[props.$type].shape.iconArea.color, props => colors[props.$type].shape.iconArea.bgColor, ActionButton, props => colors[props.$type].shape.iconArea.bgColor, props => props.$isLoading ? colors[props.$type].shape.base.bgColor : 'initial', props => props.$isLoading ? ShapeRadius.CONTROL : 'initial', props => colors[props.$type].shape.hover.bgColor, ShapeRadius.CONTROL, CloseButton, props => colors[props.$type].shape.iconArea.bgColor, props => colors[props.$type].shape.hover.bgColor, Spacing.S5);
42
+ export const BannerGhost = styled(BannerBox).withConfig({
43
+ displayName: "BannerGhost",
44
+ componentId: "sc-9uu4ap-7"
45
+ })(["background:", ";", "{color:", ";background:", ";}", "{color:", ";background:", ";;border-radius:", ";&:hover{text-decoration:none;background:", ";border-radius:", ";}}", "{color:", ";> *{&:hover{text-decoration:none;background:", ";border-radius:", ";}}}"], props => colors[props.$type].ghost.base.bgColor, IconContainer, props => colors[props.$type].ghost.iconArea.color, props => rgba(colors[props.$type].ghost.iconArea.bgColor, 0.14), ActionButton, props => colors[props.$type].ghost.iconArea.color, props => props.$isLoading ? colors[props.$type].ghost.base.bgColor : 'initial', props => props.$isLoading ? ShapeRadius.CONTROL : 'initial', props => colors[props.$type].ghost.hover.bgColor, ShapeRadius.CONTROL, CloseButton, props => colors[props.$type].ghost.iconArea.color, props => colors[props.$type].ghost.hover.bgColor, Spacing.S5);
@@ -0,0 +1,20 @@
1
+ import type { ReactElement, ReactNode } from 'react';
2
+ export type BannerType = 'error' | 'warning' | 'info' | 'success';
3
+ export type RequiredBannerProps = {
4
+ readonly boxRef?: any;
5
+ readonly type: BannerType;
6
+ readonly title: string;
7
+ readonly view?: 'shape' | 'ghost';
8
+ readonly icon?: ReactElement;
9
+ readonly className?: string;
10
+ readonly isLoading?: boolean;
11
+ readonly canBeClosed?: boolean;
12
+ readonly onClose?: () => void;
13
+ readonly children?: ReactNode;
14
+ };
15
+ export type BannerPropsWithButton = RequiredBannerProps & {
16
+ readonly action?: {
17
+ readonly onClick: () => void;
18
+ readonly buttonText: string;
19
+ };
20
+ };
@@ -0,0 +1,5 @@
1
+ import { type ReactElement } from 'react';
2
+ import type { ButtonPropsWithoutAs, ButtonPropsWithAsTag, ButtonPropsWithAsComponent } from './types';
3
+ export declare function Button(props: ButtonPropsWithoutAs): ReactElement | null;
4
+ export declare function Button<AS extends keyof HTMLElementTagNameMap>(props: ButtonPropsWithAsTag<AS>): ReactElement | null;
5
+ export declare function Button<OuterProps extends object>(props: ButtonPropsWithAsComponent<OuterProps>): ReactElement | null;
@@ -0,0 +1,48 @@
1
+ import React from 'react';
2
+ import { Spinner } from '../Spinner';
3
+ import { ButtonPropsToButtonBoxMap, SpinnerSizeByButtonSizeMap } from './maps';
4
+ import { ButtonIcon, ButtonSpinner, ButtonContent } from './styles';
5
+ export function Button(props) {
6
+ const {
7
+ type = 'button',
8
+ boxRef,
9
+ color,
10
+ view = 'shape',
11
+ size = 'field',
12
+ isDisabled,
13
+ isLoading,
14
+ isOpen,
15
+ icon,
16
+ rightIcon,
17
+ children,
18
+ ...rest
19
+ } = props;
20
+ if (!color) {
21
+ console.error(`[Button]: required prop color "${color}" is not set`);
22
+ return null;
23
+ }
24
+ const ButtonBox = ButtonPropsToButtonBoxMap[color][view][size];
25
+ if (!ButtonBox) {
26
+ console.error(`[Button]: cannot render with color "${color}" and size "${size}" and view "${view}"`);
27
+ return null;
28
+ }
29
+ const isShowOverlaySpinner = !!children && !icon && view !== 'ghost' && isLoading;
30
+ return React.createElement(ButtonBox, {
31
+ ...rest,
32
+ type: type,
33
+ disabled: isDisabled,
34
+ "$isDisabled": isDisabled,
35
+ "$isLoading": isLoading,
36
+ "$isOpen": isOpen,
37
+ "$hideContent": isShowOverlaySpinner,
38
+ "$hasLeftIcon": !!icon,
39
+ "$hasRightIcon": !!rightIcon,
40
+ "$hasContent": !!children,
41
+ ref: boxRef
42
+ }, icon && React.createElement(ButtonIcon, null, isLoading ? React.createElement(Spinner, {
43
+ size: SpinnerSizeByButtonSizeMap[size]
44
+ }) : icon), children && React.createElement(ButtonContent, null, React.createElement("div", null, children)), rightIcon && React.createElement(ButtonIcon, null, rightIcon), isShowOverlaySpinner && React.createElement(ButtonSpinner, null, React.createElement(Spinner, {
45
+ color: "danger",
46
+ size: SpinnerSizeByButtonSizeMap[size]
47
+ })));
48
+ }
@@ -0,0 +1 @@
1
+ export declare const GhostButton: import("styled-components").StyledComponent<"button", any, {}, never>;
@@ -0,0 +1,5 @@
1
+ import styled from 'styled-components';
2
+ export const GhostButton = styled.button.withConfig({
3
+ displayName: "GhostButton",
4
+ componentId: "sc-11te6l1-0"
5
+ })(["padding:0;appearance:none;border:none;background-color:transparent;user-select:none;&:focus{outline:none;}"]);
@@ -0,0 +1,16 @@
1
+ type Colors = {
2
+ color: string;
3
+ bgColor: string;
4
+ borderColor?: string;
5
+ };
6
+ type ButtonColors = {
7
+ base: Colors;
8
+ disabled: Partial<Colors>;
9
+ hover: Partial<Colors>;
10
+ };
11
+ export declare const colors: Record<string, Record<string, ButtonColors>>;
12
+ export declare function createColors(buttonColors: ButtonColors): import("styled-components").FlattenInterpolation<import("styled-components").ThemedStyledProps<{
13
+ $isOpen?: boolean;
14
+ $isDisabled?: boolean;
15
+ }, any>>;
16
+ export {};