@mailstep/design-system 0.2.0-beta.0 → 0.2.0-beta.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 (378) hide show
  1. package/Blocks/CornerDialog/CornerDialog.d.ts +2 -0
  2. package/Blocks/CornerDialog/CornerDialog.js +18 -0
  3. package/Blocks/CornerDialog/index.d.ts +3 -0
  4. package/Blocks/CornerDialog/index.js +2 -0
  5. package/Blocks/CornerDialog/stories/CornerDialog.stories.d.ts +14 -0
  6. package/Blocks/CornerDialog/stories/CornerDialog.stories.js +50 -0
  7. package/Blocks/CornerDialog/styles.d.ts +12 -0
  8. package/Blocks/CornerDialog/styles.js +21 -0
  9. package/Blocks/CornerDialog/types.d.ts +16 -0
  10. package/Blocks/CornerDialog/types.js +1 -0
  11. package/Blocks/CornerDialog/utils.d.ts +3 -0
  12. package/Blocks/CornerDialog/utils.js +12 -0
  13. package/Blocks/ImageList/ImageList.d.ts +3 -0
  14. package/Blocks/ImageList/ImageList.js +29 -0
  15. package/Blocks/ImageList/components/AddPhoto/index.d.ts +7 -0
  16. package/Blocks/ImageList/components/AddPhoto/index.js +63 -0
  17. package/Blocks/ImageList/components/AddPhoto/styles.d.ts +2 -0
  18. package/Blocks/ImageList/components/AddPhoto/styles.js +8 -0
  19. package/Blocks/ImageList/components/CloseButton/index.d.ts +6 -0
  20. package/Blocks/ImageList/components/CloseButton/index.js +7 -0
  21. package/Blocks/ImageList/components/CloseButton/styles.d.ts +1 -0
  22. package/Blocks/ImageList/components/CloseButton/styles.js +7 -0
  23. package/Blocks/ImageList/components/ImageElement/index.d.ts +9 -0
  24. package/Blocks/ImageList/components/ImageElement/index.js +11 -0
  25. package/Blocks/ImageList/components/ImageElement/styles.d.ts +2 -0
  26. package/Blocks/ImageList/components/ImageElement/styles.js +8 -0
  27. package/Blocks/ImageList/components/ImageTag/index.d.ts +6 -0
  28. package/Blocks/ImageList/components/ImageTag/index.js +9 -0
  29. package/Blocks/ImageList/components/ImageTag/styles.d.ts +1 -0
  30. package/Blocks/ImageList/components/ImageTag/styles.js +7 -0
  31. package/Blocks/ImageList/index.d.ts +5 -0
  32. package/Blocks/ImageList/index.js +2 -0
  33. package/Blocks/ImageList/styles.d.ts +1 -0
  34. package/Blocks/ImageList/styles.js +7 -0
  35. package/Blocks/ImageList/types.d.ts +12 -0
  36. package/Blocks/ImageList/types.js +1 -0
  37. package/Blocks/LightBox/LightBox.d.ts +3 -0
  38. package/Blocks/LightBox/LightBox.js +15 -0
  39. package/Blocks/LightBox/hooks/useLightBox.d.ts +2 -0
  40. package/Blocks/LightBox/hooks/useLightBox.js +17 -0
  41. package/Blocks/LightBox/index.d.ts +4 -0
  42. package/Blocks/LightBox/index.js +3 -0
  43. package/Blocks/LightBox/styles.d.ts +3 -0
  44. package/Blocks/LightBox/styles.js +9 -0
  45. package/Blocks/LightBox/types.d.ts +24 -0
  46. package/Blocks/LightBox/types.js +1 -0
  47. package/Blocks/Modal/Modal.d.ts +3 -0
  48. package/Blocks/Modal/Modal.js +35 -0
  49. package/Blocks/Modal/hooks/useClickOutside.d.ts +3 -0
  50. package/Blocks/Modal/hooks/useClickOutside.js +30 -0
  51. package/Blocks/Modal/hooks/useModal.d.ts +2 -0
  52. package/Blocks/Modal/hooks/useModal.js +15 -0
  53. package/Blocks/Modal/index.d.ts +5 -0
  54. package/Blocks/Modal/index.js +4 -0
  55. package/Blocks/Modal/stories/Modal.stories.d.ts +26 -0
  56. package/Blocks/Modal/stories/Modal.stories.js +146 -0
  57. package/Blocks/Modal/styles.d.ts +22 -0
  58. package/Blocks/Modal/styles.js +45 -0
  59. package/Blocks/Modal/types.d.ts +45 -0
  60. package/Blocks/Modal/types.js +1 -0
  61. package/Blocks/Modal/utils.d.ts +3 -0
  62. package/Blocks/Modal/utils.js +11 -0
  63. package/Blocks/Tabs/TabContent.d.ts +2 -0
  64. package/Blocks/Tabs/TabContent.js +4 -0
  65. package/Blocks/Tabs/Tabs.d.ts +2 -0
  66. package/Blocks/Tabs/Tabs.js +19 -0
  67. package/Blocks/Tabs/hooks/useTabs.d.ts +2 -0
  68. package/Blocks/Tabs/hooks/useTabs.js +10 -0
  69. package/Blocks/Tabs/index.d.ts +5 -0
  70. package/Blocks/Tabs/index.js +4 -0
  71. package/Blocks/Tabs/stories/Tabs.stories.d.ts +13 -0
  72. package/Blocks/Tabs/stories/Tabs.stories.js +44 -0
  73. package/Blocks/Tabs/styles.d.ts +8 -0
  74. package/Blocks/Tabs/styles.js +15 -0
  75. package/Blocks/Tabs/types.d.ts +27 -0
  76. package/Blocks/Tabs/types.js +1 -0
  77. package/Elements/Alert/Alert.d.ts +3 -0
  78. package/Elements/Alert/Alert.js +32 -0
  79. package/Elements/Alert/index.d.ts +3 -0
  80. package/Elements/Alert/index.js +3 -0
  81. package/Elements/Alert/stories/Alert.stories.d.ts +17 -0
  82. package/Elements/Alert/stories/Alert.stories.js +73 -0
  83. package/Elements/Alert/styles.d.ts +44 -0
  84. package/Elements/Alert/styles.js +33 -0
  85. package/Elements/Alert/types.d.ts +18 -0
  86. package/Elements/Alert/types.js +1 -0
  87. package/Elements/Avatar/Avatar.d.ts +2 -0
  88. package/Elements/Avatar/Avatar.js +37 -0
  89. package/Elements/Avatar/index.d.ts +3 -0
  90. package/Elements/Avatar/index.js +3 -0
  91. package/Elements/Avatar/stories/Avatar.stories.d.ts +12 -0
  92. package/Elements/Avatar/stories/Avatar.stories.js +20 -0
  93. package/Elements/Avatar/types.d.ts +8 -0
  94. package/Elements/Avatar/types.js +1 -0
  95. package/Elements/Badge/Badge.d.ts +12 -0
  96. package/Elements/Badge/Badge.js +40 -0
  97. package/Elements/Badge/index.d.ts +3 -0
  98. package/Elements/Badge/index.js +3 -0
  99. package/Elements/Badge/stories/Badge.stories.d.ts +12 -0
  100. package/Elements/Badge/stories/Badge.stories.js +24 -0
  101. package/Elements/BorderedBox/BorderedBox.d.ts +3 -0
  102. package/Elements/BorderedBox/BorderedBox.js +35 -0
  103. package/Elements/BorderedBox/index.d.ts +3 -0
  104. package/Elements/BorderedBox/index.js +3 -0
  105. package/Elements/BorderedBox/stories/BorderedBox.stories.d.ts +11 -0
  106. package/Elements/BorderedBox/stories/BorderedBox.stories.js +13 -0
  107. package/Elements/BorderedBox/types.d.ts +6 -0
  108. package/Elements/BorderedBox/types.js +1 -0
  109. package/Elements/Button/Button.d.ts +3 -0
  110. package/Elements/Button/Button.js +30 -0
  111. package/Elements/Button/index.d.ts +5 -0
  112. package/Elements/Button/index.js +3 -0
  113. package/Elements/Button/stories/Button.stories.d.ts +20 -0
  114. package/Elements/Button/stories/Button.stories.js +70 -0
  115. package/Elements/Button/styles.d.ts +19 -0
  116. package/Elements/Button/styles.js +48 -0
  117. package/Elements/Button/types.d.ts +22 -0
  118. package/Elements/Button/types.js +1 -0
  119. package/Elements/Card/Card.d.ts +6 -0
  120. package/Elements/Card/Card.js +45 -0
  121. package/Elements/Card/index.d.ts +3 -0
  122. package/Elements/Card/index.js +3 -0
  123. package/Elements/Card/stories/Card.stories.d.ts +15 -0
  124. package/Elements/Card/stories/Card.stories.js +43 -0
  125. package/Elements/Card/stories/CardComponent.stories.d.ts +12 -0
  126. package/Elements/Card/stories/CardComponent.stories.js +27 -0
  127. package/Elements/Card/styles.d.ts +14 -0
  128. package/Elements/Card/styles.js +34 -0
  129. package/Elements/Card/types.d.ts +21 -0
  130. package/Elements/Card/types.js +1 -0
  131. package/Elements/Dropdown/Dropdown.d.ts +3 -0
  132. package/Elements/Dropdown/Dropdown.js +28 -0
  133. package/Elements/Dropdown/index.d.ts +3 -0
  134. package/Elements/Dropdown/index.js +3 -0
  135. package/Elements/Dropdown/stories/Dropdown.stories.d.ts +11 -0
  136. package/Elements/Dropdown/stories/Dropdown.stories.js +14 -0
  137. package/Elements/Dropdown/types.d.ts +10 -0
  138. package/Elements/Dropdown/types.js +1 -0
  139. package/Elements/ErrorMessage/ErrorMessage.d.ts +3 -0
  140. package/Elements/ErrorMessage/ErrorMessage.js +17 -0
  141. package/Elements/ErrorMessage/index.d.ts +3 -0
  142. package/Elements/ErrorMessage/index.js +3 -0
  143. package/Elements/ErrorMessage/stories/ErrorMessage.stories.d.ts +12 -0
  144. package/Elements/ErrorMessage/stories/ErrorMessage.stories.js +19 -0
  145. package/Elements/ErrorMessage/types.d.ts +5 -0
  146. package/Elements/ErrorMessage/types.js +1 -0
  147. package/Elements/Icon/BadgeIcon.d.ts +6 -0
  148. package/Elements/Icon/BadgeIcon.js +51 -0
  149. package/Elements/Icon/Icon.d.ts +8 -0
  150. package/Elements/Icon/Icon.js +245 -0
  151. package/Elements/Icon/icons/Complaint.d.ts +3 -0
  152. package/Elements/Icon/icons/Complaint.js +13 -0
  153. package/Elements/Icon/icons/Expeditions.d.ts +3 -0
  154. package/Elements/Icon/icons/Expeditions.js +13 -0
  155. package/Elements/Icon/icons/FlagCZ.d.ts +3 -0
  156. package/Elements/Icon/icons/FlagCZ.js +13 -0
  157. package/Elements/Icon/icons/FlagUSA.d.ts +3 -0
  158. package/Elements/Icon/icons/FlagUSA.js +13 -0
  159. package/Elements/Icon/icons/HamburgerMenu.d.ts +3 -0
  160. package/Elements/Icon/icons/HamburgerMenu.js +13 -0
  161. package/Elements/Icon/icons/HelpCircle1.d.ts +3 -0
  162. package/Elements/Icon/icons/HelpCircle1.js +13 -0
  163. package/Elements/Icon/icons/Income.d.ts +3 -0
  164. package/Elements/Icon/icons/Income.js +13 -0
  165. package/Elements/Icon/icons/Inventory.d.ts +3 -0
  166. package/Elements/Icon/icons/Inventory.js +13 -0
  167. package/Elements/Icon/icons/MenuItems.d.ts +3 -0
  168. package/Elements/Icon/icons/MenuItems.js +13 -0
  169. package/Elements/Icon/icons/MobileCancel.d.ts +3 -0
  170. package/Elements/Icon/icons/MobileCancel.js +13 -0
  171. package/Elements/Icon/icons/Notification2.d.ts +3 -0
  172. package/Elements/Icon/icons/Notification2.js +13 -0
  173. package/Elements/Icon/icons/Plus1.d.ts +3 -0
  174. package/Elements/Icon/icons/Plus1.js +13 -0
  175. package/Elements/Icon/icons/Products.d.ts +3 -0
  176. package/Elements/Icon/icons/Products.js +13 -0
  177. package/Elements/Icon/icons/Profile.d.ts +3 -0
  178. package/Elements/Icon/icons/Profile.js +13 -0
  179. package/Elements/Icon/icons/Return.d.ts +3 -0
  180. package/Elements/Icon/icons/Return.js +13 -0
  181. package/Elements/Icon/icons/Settings2.d.ts +3 -0
  182. package/Elements/Icon/icons/Settings2.js +13 -0
  183. package/Elements/Icon/icons/Transfer.d.ts +3 -0
  184. package/Elements/Icon/icons/Transfer.js +13 -0
  185. package/Elements/Icon/icons/index.d.ts +17 -0
  186. package/Elements/Icon/icons/index.js +17 -0
  187. package/Elements/Icon/index.d.ts +6 -0
  188. package/Elements/Icon/index.js +5 -0
  189. package/Elements/Icon/stories/BadgeIcon.stories.d.ts +24 -0
  190. package/Elements/Icon/stories/BadgeIcon.stories.js +18 -0
  191. package/Elements/Icon/stories/Icon.stories.d.ts +16 -0
  192. package/Elements/Icon/stories/Icon.stories.js +48 -0
  193. package/Elements/Icon/types.d.ts +22 -0
  194. package/Elements/Icon/types.js +1 -0
  195. package/Elements/Image/Image.d.ts +3 -0
  196. package/Elements/Image/Image.js +26 -0
  197. package/Elements/Image/index.d.ts +3 -0
  198. package/Elements/Image/index.js +3 -0
  199. package/Elements/Image/stories/Image.stories.d.ts +14 -0
  200. package/Elements/Image/stories/Image.stories.js +36 -0
  201. package/Elements/Image/types.d.ts +18 -0
  202. package/Elements/Image/types.js +1 -0
  203. package/Elements/Label/Label.d.ts +6 -0
  204. package/Elements/Label/Label.js +17 -0
  205. package/Elements/Label/index.d.ts +3 -0
  206. package/Elements/Label/index.js +3 -0
  207. package/Elements/Label/stories/Label.stories.d.ts +13 -0
  208. package/Elements/Label/stories/Label.stories.js +20 -0
  209. package/Elements/Line/Line.d.ts +3 -0
  210. package/Elements/Line/Line.js +25 -0
  211. package/Elements/Line/index.d.ts +3 -0
  212. package/Elements/Line/index.js +3 -0
  213. package/Elements/Line/stories/Line.stories.d.ts +16 -0
  214. package/Elements/Line/stories/Line.stories.js +41 -0
  215. package/Elements/Line/types.d.ts +12 -0
  216. package/Elements/Line/types.js +1 -0
  217. package/Elements/Link/Link.d.ts +29 -0
  218. package/Elements/Link/Link.js +56 -0
  219. package/Elements/Link/index.d.ts +3 -0
  220. package/Elements/Link/index.js +3 -0
  221. package/Elements/Link/stories/Link.stories.d.ts +42 -0
  222. package/Elements/Link/stories/Link.stories.js +63 -0
  223. package/Elements/Logo/Logo.d.ts +3 -0
  224. package/Elements/Logo/Logo.js +84 -0
  225. package/Elements/Logo/index.d.ts +3 -0
  226. package/Elements/Logo/index.js +3 -0
  227. package/Elements/Logo/stories/Logo.stories.d.ts +34 -0
  228. package/Elements/Logo/stories/Logo.stories.js +112 -0
  229. package/Elements/Logo/types.d.ts +10 -0
  230. package/Elements/Logo/types.js +1 -0
  231. package/Elements/Pagination/Pagination.d.ts +8 -0
  232. package/Elements/Pagination/Pagination.js +35 -0
  233. package/Elements/Pagination/index.d.ts +3 -0
  234. package/Elements/Pagination/index.js +3 -0
  235. package/Elements/Pagination/stories/Pagination.stories.d.ts +12 -0
  236. package/Elements/Pagination/stories/Pagination.stories.js +22 -0
  237. package/Elements/Pagination/styled.d.ts +15 -0
  238. package/Elements/Pagination/styled.js +26 -0
  239. package/Elements/Paragraph/Paragraph.d.ts +2 -0
  240. package/Elements/Paragraph/Paragraph.js +3 -0
  241. package/Elements/Paragraph/index.d.ts +3 -0
  242. package/Elements/Paragraph/index.js +3 -0
  243. package/Elements/Paragraph/stories/Paragraph.stories.d.ts +17 -0
  244. package/Elements/Paragraph/stories/Paragraph.stories.js +34 -0
  245. package/Elements/Portal/index.d.ts +5 -0
  246. package/Elements/Portal/index.js +14 -0
  247. package/Elements/ProgressBar/ProgressBar.d.ts +9 -0
  248. package/Elements/ProgressBar/ProgressBar.js +9 -0
  249. package/Elements/ProgressBar/index.d.ts +3 -0
  250. package/Elements/ProgressBar/index.js +3 -0
  251. package/Elements/ProgressBar/stories/ProgressBar.stories.d.ts +18 -0
  252. package/Elements/ProgressBar/stories/ProgressBar.stories.js +27 -0
  253. package/Elements/ProgressBar/styles.d.ts +9 -0
  254. package/Elements/ProgressBar/styles.js +19 -0
  255. package/Elements/SimpleLink/SimpleLink.d.ts +19 -0
  256. package/Elements/SimpleLink/SimpleLink.js +17 -0
  257. package/Elements/SimpleLink/index.d.ts +3 -0
  258. package/Elements/SimpleLink/index.js +3 -0
  259. package/Elements/SpaceAround/SpaceAround.d.ts +3 -0
  260. package/Elements/SpaceAround/SpaceAround.js +54 -0
  261. package/Elements/SpaceAround/index.d.ts +4 -0
  262. package/Elements/SpaceAround/index.js +3 -0
  263. package/Elements/SpaceAround/stories/SpaceAround.stories.d.ts +12 -0
  264. package/Elements/SpaceAround/stories/SpaceAround.stories.js +22 -0
  265. package/Elements/SpaceAround/types.d.ts +14 -0
  266. package/Elements/SpaceAround/types.js +1 -0
  267. package/Elements/Spinner/Spinner.d.ts +14 -0
  268. package/Elements/Spinner/Spinner.js +28 -0
  269. package/Elements/Spinner/index.d.ts +3 -0
  270. package/Elements/Spinner/index.js +3 -0
  271. package/Elements/Spinner/stories/Spinner.stories.d.ts +19 -0
  272. package/Elements/Spinner/stories/Spinner.stories.js +56 -0
  273. package/Elements/Spinner/styles.d.ts +4 -0
  274. package/Elements/Spinner/styles.js +20 -0
  275. package/Elements/Spinner/types.d.ts +7 -0
  276. package/Elements/Spinner/types.js +1 -0
  277. package/Elements/Tag/Tag.d.ts +3 -0
  278. package/Elements/Tag/Tag.js +59 -0
  279. package/Elements/Tag/index.d.ts +4 -0
  280. package/Elements/Tag/index.js +4 -0
  281. package/Elements/Tag/palletes.d.ts +5 -0
  282. package/Elements/Tag/palletes.js +10 -0
  283. package/Elements/Tag/stories/Tag.stories.d.ts +19 -0
  284. package/Elements/Tag/stories/Tag.stories.js +72 -0
  285. package/Elements/Tag/stories/components/predefinedTags.d.ts +2 -0
  286. package/Elements/Tag/stories/components/predefinedTags.js +8 -0
  287. package/Elements/Tag/types.d.ts +17 -0
  288. package/Elements/Tag/types.js +1 -0
  289. package/Elements/Text/Text.d.ts +3 -0
  290. package/Elements/Text/Text.js +15 -0
  291. package/Elements/Text/index.d.ts +3 -0
  292. package/Elements/Text/index.js +2 -0
  293. package/Elements/Text/stories/Text.stories.d.ts +16 -0
  294. package/Elements/Text/stories/Text.stories.js +43 -0
  295. package/Elements/Text/types.d.ts +13 -0
  296. package/Elements/Text/types.js +1 -0
  297. package/Elements/Toast/Toast.d.ts +11 -0
  298. package/Elements/Toast/Toast.js +24 -0
  299. package/Elements/Toast/index.d.ts +4 -0
  300. package/Elements/Toast/index.js +3 -0
  301. package/Elements/Toggle/Toggle.d.ts +3 -0
  302. package/Elements/Toggle/Toggle.js +52 -0
  303. package/Elements/Toggle/index.d.ts +3 -0
  304. package/Elements/Toggle/index.js +3 -0
  305. package/Elements/Toggle/stories/Toggle.stories.d.ts +14 -0
  306. package/Elements/Toggle/stories/Toggle.stories.js +33 -0
  307. package/Elements/Toggle/types.d.ts +21 -0
  308. package/Elements/Toggle/types.js +1 -0
  309. package/Elements/Typography/Typography.d.ts +117 -0
  310. package/Elements/Typography/Typography.js +41 -0
  311. package/Elements/Typography/index.d.ts +3 -0
  312. package/Elements/Typography/index.js +3 -0
  313. package/Elements/Typography/stories/Typography.stories.d.ts +20 -0
  314. package/Elements/Typography/stories/Typography.stories.js +20 -0
  315. package/Forms/Checkbox/Checkbox.d.ts +4 -0
  316. package/Forms/Checkbox/Checkbox.js +11 -0
  317. package/Forms/Checkbox/index.d.ts +3 -0
  318. package/Forms/Checkbox/index.js +3 -0
  319. package/Forms/Checkbox/stories/Checkbox.stories.d.ts +14 -0
  320. package/Forms/Checkbox/stories/Checkbox.stories.js +35 -0
  321. package/Forms/Checkbox/styles.d.ts +11 -0
  322. package/Forms/Checkbox/styles.js +26 -0
  323. package/Forms/Checkbox/types.d.ts +16 -0
  324. package/Forms/Checkbox/types.js +1 -0
  325. package/Forms/Input/Input.d.ts +2 -0
  326. package/Forms/Input/Input.js +60 -0
  327. package/Forms/Input/index.d.ts +5 -0
  328. package/Forms/Input/index.js +3 -0
  329. package/Forms/Input/stories/Input.stories.d.ts +17 -0
  330. package/Forms/Input/stories/Input.stories.js +71 -0
  331. package/Forms/Input/styles.d.ts +31 -0
  332. package/Forms/Input/styles.js +57 -0
  333. package/Forms/Input/types.d.ts +49 -0
  334. package/Forms/Input/types.js +1 -0
  335. package/Forms/RadioButton/RadioButton.d.ts +3 -0
  336. package/Forms/RadioButton/RadioButton.js +29 -0
  337. package/Forms/RadioButton/index.d.ts +3 -0
  338. package/Forms/RadioButton/index.js +3 -0
  339. package/Forms/RadioButton/stories/RadioButton.stories.d.ts +14 -0
  340. package/Forms/RadioButton/stories/RadioButton.stories.js +38 -0
  341. package/Forms/RadioButton/styles.d.ts +10 -0
  342. package/Forms/RadioButton/styles.js +15 -0
  343. package/Forms/RadioButton/types.d.ts +12 -0
  344. package/Forms/RadioButton/types.js +1 -0
  345. package/ThemeProvider/ThemeProvider.d.ts +3 -0
  346. package/ThemeProvider/ThemeProvider.js +8 -0
  347. package/ThemeProvider/index.d.ts +5 -0
  348. package/ThemeProvider/index.js +5 -0
  349. package/ThemeProvider/themes/default.d.ts +142 -0
  350. package/ThemeProvider/themes/default.js +144 -0
  351. package/ThemeProvider/themes/index.d.ts +351 -0
  352. package/ThemeProvider/themes/index.js +9 -0
  353. package/ThemeProvider/themes/light.d.ts +3 -0
  354. package/ThemeProvider/themes/light.js +7 -0
  355. package/ThemeProvider/themes/mailwise.d.ts +207 -0
  356. package/ThemeProvider/themes/mailwise.js +214 -0
  357. package/ThemeProvider/types.d.ts +50 -0
  358. package/ThemeProvider/types.js +1 -0
  359. package/index.d.ts +71 -0
  360. package/index.es.js +17500 -0
  361. package/index.js +71 -0
  362. package/index.umd.js +2427 -0
  363. package/package.json +1 -5
  364. package/style.css +1 -0
  365. package/utils/CreateRgba/createRgba.d.ts +3 -0
  366. package/utils/CreateRgba/createRgba.js +16 -0
  367. package/utils/CreateRgba/types.d.ts +1 -0
  368. package/utils/CreateRgba/types.js +1 -0
  369. package/utils/KeyPress/KeyPress.d.ts +3 -0
  370. package/utils/KeyPress/KeyPress.js +17 -0
  371. package/utils/KeyPress/KeyPress.stories.d.ts +10 -0
  372. package/utils/KeyPress/KeyPress.stories.js +18 -0
  373. package/utils/KeyPress/index.d.ts +2 -0
  374. package/utils/KeyPress/index.js +2 -0
  375. package/utils/KeyPress/types.d.ts +6 -0
  376. package/utils/KeyPress/types.js +1 -0
  377. package/utils/index.d.ts +8 -0
  378. package/utils/index.js +7 -0
@@ -0,0 +1,30 @@
1
+ import { useCallback, useEffect, useRef } from 'react';
2
+ export var useClickOutside = function (_a) {
3
+ var onClose = _a.onClose, parentRef = _a.parentRef, _b = _a.ignoreClickOutside, ignoreClickOutside = _b === void 0 ? false : _b, _c = _a.closeCurrent, closeCurrent = _c === void 0 ? false : _c, _d = _a.allowScrollbarClick, allowScrollbarClick = _d === void 0 ? false : _d;
4
+ var elementRef = useRef(null);
5
+ var onCloseModal = !ignoreClickOutside ? onClose : undefined;
6
+ var handleClickOutside = useCallback(function (e) {
7
+ var _a;
8
+ var ignoreEvent = allowScrollbarClick && e.offsetX > e.target.clientWidth;
9
+ if (!ignoreEvent &&
10
+ elementRef.current &&
11
+ !elementRef.current.contains(e.target) &&
12
+ !((_a = parentRef === null || parentRef === void 0 ? void 0 : parentRef.current) === null || _a === void 0 ? void 0 : _a.contains(e.target))) {
13
+ closeCurrent ? e.target.contains(elementRef.current) && (onCloseModal === null || onCloseModal === void 0 ? void 0 : onCloseModal()) : onCloseModal === null || onCloseModal === void 0 ? void 0 : onCloseModal();
14
+ }
15
+ }, [allowScrollbarClick, parentRef, closeCurrent, onCloseModal]);
16
+ var keyPress = useCallback(function (e) {
17
+ if (e.key === 'Escape') {
18
+ onCloseModal === null || onCloseModal === void 0 ? void 0 : onCloseModal();
19
+ }
20
+ }, [onCloseModal]);
21
+ useEffect(function () {
22
+ document.addEventListener('mousedown', handleClickOutside);
23
+ document.addEventListener('keydown', keyPress);
24
+ return function () {
25
+ document.removeEventListener('mousedown', handleClickOutside);
26
+ document.removeEventListener('keydown', keyPress);
27
+ };
28
+ }, [handleClickOutside, keyPress]);
29
+ return elementRef;
30
+ };
@@ -0,0 +1,2 @@
1
+ import { ControlProps, ModalData } from '../types';
2
+ export declare const useModal: <TData = ModalData>(initialState?: boolean) => ControlProps<TData>;
@@ -0,0 +1,15 @@
1
+ import { useCallback, useState } from 'react';
2
+ export var useModal = function (initialState) {
3
+ if (initialState === void 0) { initialState = false; }
4
+ var _a = useState(initialState), isOpen = _a[0], setIsOpen = _a[1];
5
+ var _b = useState(), data = _b[0], setData = _b[1];
6
+ var onClose = useCallback(function () {
7
+ setIsOpen(false);
8
+ setData(undefined);
9
+ }, []);
10
+ var onOpen = useCallback(function (data) {
11
+ data && setData(data);
12
+ setIsOpen(true);
13
+ }, []);
14
+ return { isOpen: isOpen, onClose: onClose, onOpen: onOpen, data: data };
15
+ };
@@ -0,0 +1,5 @@
1
+ import { Modal } from './Modal';
2
+ export { useModal } from './hooks/useModal';
3
+ export { useClickOutside } from './hooks/useClickOutside';
4
+ export type { ControlProps, ModalProps, ModalData } from './types';
5
+ export default Modal;
@@ -0,0 +1,4 @@
1
+ import { Modal } from './Modal';
2
+ export { useModal } from './hooks/useModal';
3
+ export { useClickOutside } from './hooks/useClickOutside';
4
+ export default Modal;
@@ -0,0 +1,26 @@
1
+ /// <reference types="react" />
2
+ import { StoryObj } from '@storybook/react';
3
+ declare const meta: {
4
+ title: string;
5
+ component: import("react").FC<import("..").ModalProps>;
6
+ tags: string[];
7
+ argTypes: {};
8
+ };
9
+ export default meta;
10
+ type Story = StoryObj<typeof meta>;
11
+ export declare const ModalWithCloseAndConfirmBtns: Story;
12
+ export declare const MobileNotificationModal: Story;
13
+ export declare const ModalWithIcon: Story;
14
+ export declare const ModalLoading: Story;
15
+ export declare const ModalWithWhiteBg: Story;
16
+ export declare const ModalWithoutCloseIcon: Story;
17
+ export declare const ModalWithoutHeader: Story;
18
+ export declare const ModalWithoutFooter: Story;
19
+ export declare const ModalWithoutHeaderAndFooter: Story;
20
+ export declare const ModalWithCustomLabels: Story;
21
+ export declare const ModalWideWidth: Story;
22
+ export declare const ModalMediumLargeWidth: Story;
23
+ export declare const ModalMediumWidth: Story;
24
+ export declare const ModalAutoWidth: Story;
25
+ export declare const ModalWithDisabledConfirm: Story;
26
+ export declare const ModalWithCustomOverlayColor: Story;
@@ -0,0 +1,146 @@
1
+ import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
2
+ import { Modal } from '../Modal';
3
+ var meta = {
4
+ title: 'Blocks/Modal',
5
+ component: Modal,
6
+ tags: ['autodocs'],
7
+ argTypes: {},
8
+ };
9
+ export default meta;
10
+ export var ModalWithCloseAndConfirmBtns = {
11
+ args: {
12
+ children: _jsx(_Fragment, { children: "Modal Content with Cancel and Submit buttons" }),
13
+ title: 'Modal title',
14
+ width: 'narrow',
15
+ onClose: function () { return console.log('Close'); },
16
+ onConfirm: function () { return console.log('Submit'); },
17
+ },
18
+ };
19
+ export var MobileNotificationModal = {
20
+ args: {
21
+ children: (_jsx(_Fragment, { children: "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aspernatur explicabo harum, inventore natus qui repellendus suscipit vitae. Alias aliquam earum et ipsa labore, laboriosam maxime numquam odio recusandae, repellat, voluptas." })),
22
+ title: 'Poznamka',
23
+ width: 'narrow',
24
+ withCloseIcon: false,
25
+ onClose: function () { return console.log('Close'); },
26
+ onConfirm: undefined,
27
+ },
28
+ };
29
+ export var ModalWithIcon = {
30
+ args: {
31
+ children: _jsx(_Fragment, { children: "Modal with icon" }),
32
+ title: 'Modal title',
33
+ width: 'narrow',
34
+ titleIcon: 'info',
35
+ },
36
+ };
37
+ export var ModalLoading = {
38
+ args: {
39
+ children: _jsx(_Fragment, { children: "Modal with loading" }),
40
+ title: 'Modal title',
41
+ width: 'narrow',
42
+ isLoading: true,
43
+ },
44
+ };
45
+ export var ModalWithWhiteBg = {
46
+ args: {
47
+ children: _jsx(_Fragment, { children: "Modal with white background" }),
48
+ title: 'Modal title',
49
+ width: 'narrow',
50
+ whiteBg: true,
51
+ },
52
+ };
53
+ export var ModalWithoutCloseIcon = {
54
+ args: {
55
+ children: _jsx(_Fragment, { children: "Modal without close icon" }),
56
+ title: 'Modal title',
57
+ width: 'narrow',
58
+ withCloseIcon: false,
59
+ },
60
+ };
61
+ export var ModalWithoutHeader = {
62
+ args: {
63
+ children: _jsx(_Fragment, { children: "Modal without header" }),
64
+ title: 'Modal title',
65
+ width: 'narrow',
66
+ hasHeader: false,
67
+ },
68
+ };
69
+ export var ModalWithoutFooter = {
70
+ args: {
71
+ children: _jsx(_Fragment, { children: "Modal without footer" }),
72
+ title: 'Modal title',
73
+ width: 'narrow',
74
+ hasFooter: false,
75
+ onClose: function () { return console.log('Close'); },
76
+ },
77
+ };
78
+ export var ModalWithoutHeaderAndFooter = {
79
+ args: {
80
+ children: _jsx(_Fragment, { children: "Modal without header and footer" }),
81
+ title: 'Modal title',
82
+ width: 'narrow',
83
+ hasHeader: false,
84
+ hasFooter: false,
85
+ onClose: function () { return console.log('Close'); },
86
+ },
87
+ };
88
+ export var ModalWithCustomLabels = {
89
+ args: {
90
+ children: _jsx(_Fragment, { children: "Modal with custom labels" }),
91
+ title: 'Modal title',
92
+ width: 'narrow',
93
+ onClose: function () { return console.log('Close'); },
94
+ onConfirm: function () { return console.log('Submit'); },
95
+ confirmLabel: 'Custom confirm',
96
+ cancelLabel: 'Custom cancel',
97
+ },
98
+ };
99
+ export var ModalWideWidth = {
100
+ args: {
101
+ children: _jsx(_Fragment, { children: "Modal with wide width" }),
102
+ title: 'Modal title',
103
+ width: 'wide',
104
+ },
105
+ };
106
+ export var ModalMediumLargeWidth = {
107
+ args: {
108
+ children: _jsx(_Fragment, { children: "Modal with mediumLarge width" }),
109
+ title: 'Modal title',
110
+ width: 'mediumLarge',
111
+ },
112
+ };
113
+ export var ModalMediumWidth = {
114
+ args: {
115
+ children: _jsx(_Fragment, { children: "Modal with medium width" }),
116
+ title: 'Modal title',
117
+ width: 'medium',
118
+ },
119
+ };
120
+ export var ModalAutoWidth = {
121
+ args: {
122
+ children: _jsx(_Fragment, { children: "Modal with auto width" }),
123
+ title: 'Modal title',
124
+ width: 'auto',
125
+ },
126
+ };
127
+ export var ModalWithDisabledConfirm = {
128
+ args: {
129
+ children: _jsx(_Fragment, { children: "Modal with disabled confirm" }),
130
+ title: 'Modal title',
131
+ width: 'narrow',
132
+ onClose: function () { return console.log('Close'); },
133
+ onConfirm: function () { return console.log('Submit'); },
134
+ isConfirmDisabled: true,
135
+ },
136
+ };
137
+ export var ModalWithCustomOverlayColor = {
138
+ args: {
139
+ children: _jsx(_Fragment, { children: "Modal with custom overlay color" }),
140
+ title: 'Modal title',
141
+ width: 'narrow',
142
+ onClose: function () { return console.log('Close Modal with custom overlay color'); },
143
+ onConfirm: function () { return console.log('Submit'); },
144
+ overlayColor: 'red1',
145
+ },
146
+ };
@@ -0,0 +1,22 @@
1
+ export declare const DialogOverlay: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {
2
+ backgroundColor?: string | undefined;
3
+ }, never>;
4
+ export declare const DialogWindow: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {
5
+ $whiteBg?: boolean | undefined;
6
+ $minWidth?: string | undefined;
7
+ $minHeight?: string | undefined;
8
+ $maxWidth?: string | undefined;
9
+ $maxHeight?: string | undefined;
10
+ $mobileFullscreen: boolean;
11
+ }, never>;
12
+ export declare const HeaderContainer: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {
13
+ topSpace: string;
14
+ }, never>;
15
+ export declare const ContentContainer: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {
16
+ topSpace: string;
17
+ $mobileFullscreen: boolean;
18
+ }, never>;
19
+ export declare const TitleContainer: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {}, never>;
20
+ export declare const H4: import("styled-components").StyledComponent<"h4", import("@xstyled/system").Theme, {}, never>;
21
+ export declare const ButtonsContainer: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {}, never>;
22
+ export declare const CloseButton: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {}, never>;
@@ -0,0 +1,45 @@
1
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
2
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
3
+ return cooked;
4
+ };
5
+ import styled, { th } from '@xstyled/styled-components';
6
+ import { createRgba } from '../../utils';
7
+ export var DialogOverlay = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n position: fixed; /* Stay in place */\n z-index: 5;\n left: 0;\n top: 0;\n width: 100%; /* Full width */\n height: 100%; /* Full height */\n overflow: auto; /* Enable scroll if needed */\n background-color: ", ";\n text-align: center;\n @media print {\n position: absolute !important;\n left: 0 !important;\n top: 0 !important;\n height: auto !important;\n visibility: hidden;\n }\n"], ["\n position: fixed; /* Stay in place */\n z-index: 5;\n left: 0;\n top: 0;\n width: 100%; /* Full width */\n height: 100%; /* Full height */\n overflow: auto; /* Enable scroll if needed */\n background-color: ", ";\n text-align: center;\n @media print {\n position: absolute !important;\n left: 0 !important;\n top: 0 !important;\n height: auto !important;\n visibility: hidden;\n }\n"])), function (_a) {
8
+ var _b = _a.backgroundColor, backgroundColor = _b === void 0 ? 'blue2' : _b;
9
+ return createRgba(backgroundColor, 0.6);
10
+ });
11
+ export var DialogWindow = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n background-color: ", ";\n margin: 100px auto 0 auto; /* Location of the box */\n padding: 0;\n border: 0;\n border-radius: 1rem;\n box-shadow: dialogShadow;\n min-width: ", ";\n max-width: ", ";\n min-height: ", ";\n max-height: ", ";\n display: inline-block;\n position: relative;\n text-align: left;\n @media print {\n background-color: #fff;\n margin: 0;\n visibility: visible;\n overflow: visible;\n box-shadow: none;\n max-width: 100%;\n }\n\n @media (max-width: 576px) {\n margin: 20% auto 50px auto;\n ", "\n }\n"], ["\n background-color: ", ";\n margin: 100px auto 0 auto; /* Location of the box */\n padding: 0;\n border: 0;\n border-radius: 1rem;\n box-shadow: dialogShadow;\n min-width: ", ";\n max-width: ", ";\n min-height: ", ";\n max-height: ", ";\n display: inline-block;\n position: relative;\n text-align: left;\n @media print {\n background-color: #fff;\n margin: 0;\n visibility: visible;\n overflow: visible;\n box-shadow: none;\n max-width: 100%;\n }\n\n @media (max-width: 576px) {\n margin: 20% auto 50px auto;\n ", "\n }\n"])), function (_a) {
12
+ var $whiteBg = _a.$whiteBg;
13
+ return ($whiteBg ? th.color('white') : '#fefefe');
14
+ }, function (_a) {
15
+ var $minWidth = _a.$minWidth;
16
+ return $minWidth || '10%';
17
+ }, function (_a) {
18
+ var $maxWidth = _a.$maxWidth;
19
+ return $maxWidth || 'calc(100% - 32px)';
20
+ }, function (_a) {
21
+ var $minHeight = _a.$minHeight;
22
+ return $minHeight || 'auto';
23
+ }, function (_a) {
24
+ var $maxHeight = _a.$maxHeight;
25
+ return $maxHeight || 'auto';
26
+ }, function (_a) {
27
+ var $mobileFullscreen = _a.$mobileFullscreen;
28
+ return $mobileFullscreen && "border-radius: 0; max-width: 100% !important;";
29
+ });
30
+ export var HeaderContainer = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n display: flex;\n justify-content: space-between;\n padding: 30px;\n padding-bottom: ", ";\n\n @media (max-width: 576px) {\n padding: 18px;\n border-bottom: 1px solid ", ";\n }\n"], ["\n display: flex;\n justify-content: space-between;\n padding: 30px;\n padding-bottom: ", ";\n\n @media (max-width: 576px) {\n padding: 18px;\n border-bottom: 1px solid ", ";\n }\n"])), function (_a) {
31
+ var topSpace = _a.topSpace;
32
+ return topSpace;
33
+ }, th.color('lightGray6'));
34
+ export var ContentContainer = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n padding: 30px;\n padding-top: ", ";\n\n @media (max-width: 576px) {\n padding: ", ";\n font-size: 16px;\n line-height: 1.4;\n }\n \n \n"], ["\n padding: 30px;\n padding-top: ", ";\n\n @media (max-width: 576px) {\n padding: ", ";\n font-size: 16px;\n line-height: 1.4;\n }\n \n \n"])), function (_a) {
35
+ var topSpace = _a.topSpace;
36
+ return topSpace;
37
+ }, function (_a) {
38
+ var $mobileFullscreen = _a.$mobileFullscreen;
39
+ return $mobileFullscreen ? '0' : '18px';
40
+ });
41
+ export var TitleContainer = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n display: flex;\n flex-flow: row;\n align-items: center;\n > div:first-of-type {\n margin-right: 0.5em;\n display: block;\n }\n\n .icon {\n font-size: 24px;\n margin-right: 15px;\n display: flex;\n\n @media (max-width: 576px) {\n font-size: 18px;\n margin-right: 12px;\n }\n }\n"], ["\n display: flex;\n flex-flow: row;\n align-items: center;\n > div:first-of-type {\n margin-right: 0.5em;\n display: block;\n }\n\n .icon {\n font-size: 24px;\n margin-right: 15px;\n display: flex;\n\n @media (max-width: 576px) {\n font-size: 18px;\n margin-right: 12px;\n }\n }\n"])));
42
+ export var H4 = styled.h4(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n color: typoPrimary;\n margin: 0;\n font-size: 24px;\n line-height: 28px;\n font-weight: 700;\n\n @media (max-width: 576px) {\n font-size: 18px;\n line-height: 18px;\n }\n"], ["\n color: typoPrimary;\n margin: 0;\n font-size: 24px;\n line-height: 28px;\n font-weight: 700;\n\n @media (max-width: 576px) {\n font-size: 18px;\n line-height: 18px;\n }\n"])));
43
+ export var ButtonsContainer = styled.div(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n padding: 1.5rem;\n text-align: right;\n > * {\n margin: 0 0.5em;\n }\n\n @media (max-width: 576px) {\n display: flex;\n justify-content: space-around;\n padding: 32px 18px 18px;\n\n > * {\n margin: 0;\n }\n }\n"], ["\n padding: 1.5rem;\n text-align: right;\n > * {\n margin: 0 0.5em;\n }\n\n @media (max-width: 576px) {\n display: flex;\n justify-content: space-around;\n padding: 32px 18px 18px;\n\n > * {\n margin: 0;\n }\n }\n"])));
44
+ export var CloseButton = styled.div(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n z-index: 1;\n top: 32px;\n right: 24px;\n\n @media (max-width: 576px) {\n padding: 0;\n width: 32px;\n height: 32px;\n background-color: bgLightGray1;\n border-radius: 50%;\n top: 12px;\n right: 12px;\n }\n"], ["\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n z-index: 1;\n top: 32px;\n right: 24px;\n\n @media (max-width: 576px) {\n padding: 0;\n width: 32px;\n height: 32px;\n background-color: bgLightGray1;\n border-radius: 50%;\n top: 12px;\n right: 12px;\n }\n"])));
45
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8;
@@ -0,0 +1,45 @@
1
+ import { MutableRefObject } from 'react';
2
+ export type TopSpace = 'default' | 'medium';
3
+ export type Width = 'wide' | 'mediumLarge' | 'medium' | 'narrow' | 'auto';
4
+ export interface ModalProps {
5
+ isShown?: boolean;
6
+ children: JSX.Element | JSX.Element[];
7
+ title?: JSX.Element | string;
8
+ titleIcon?: JSX.Element | string;
9
+ onConfirm?: (close: () => void) => void;
10
+ onCancel?: () => void;
11
+ onClose?: () => void;
12
+ confirmLabel?: JSX.Element | string;
13
+ cancelLabel?: JSX.Element | string;
14
+ isLoading?: boolean;
15
+ isConfirmDisabled?: boolean;
16
+ hasFooter?: boolean;
17
+ hasHeader?: boolean;
18
+ width?: Width;
19
+ whiteBg?: boolean;
20
+ miniCloseBtn?: boolean;
21
+ ignoreClickOutside?: boolean;
22
+ closeEverywhere?: boolean;
23
+ withCloseIcon?: boolean;
24
+ overlayColor?: string;
25
+ minWidth?: string;
26
+ minHeight?: string;
27
+ maxWidth?: string;
28
+ maxHeight?: string;
29
+ topSpace?: TopSpace;
30
+ mobileFullscreen?: boolean;
31
+ }
32
+ export type ModalData = Record<string, any>;
33
+ export type ControlProps<T = ModalData> = {
34
+ isOpen: boolean;
35
+ onClose: () => void;
36
+ onOpen: (data?: T) => void;
37
+ data?: T;
38
+ };
39
+ export interface UseClickOutsideProps {
40
+ onClose?: () => void;
41
+ ignoreClickOutside?: boolean;
42
+ parentRef?: MutableRefObject<HTMLDivElement | null | undefined>;
43
+ closeCurrent?: boolean;
44
+ allowScrollbarClick?: boolean;
45
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ import { TopSpace, Width } from './types';
2
+ export declare const widthMap: Record<Width, string>;
3
+ export declare const topSpaceMap: Record<TopSpace, string>;
@@ -0,0 +1,11 @@
1
+ export var widthMap = {
2
+ wide: '1450px',
3
+ mediumLarge: '1200px',
4
+ medium: '900px',
5
+ narrow: '600px',
6
+ auto: 'auto',
7
+ };
8
+ export var topSpaceMap = {
9
+ default: '30px',
10
+ medium: '15px',
11
+ };
@@ -0,0 +1,2 @@
1
+ import { TabContentProps } from './types';
2
+ export declare const TabContent: ({ activeTab, value, children }: TabContentProps) => React.ReactNode | React.ReactNode[];
@@ -0,0 +1,4 @@
1
+ export var TabContent = function (_a) {
2
+ var activeTab = _a.activeTab, value = _a.value, children = _a.children;
3
+ return activeTab === value ? children : null;
4
+ };
@@ -0,0 +1,2 @@
1
+ import { TabsProps } from './types';
2
+ export declare const Tabs: ({ tabsDefinition, activeTab, onTabSwitch }: TabsProps) => JSX.Element;
@@ -0,0 +1,19 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useCallback } from 'react';
3
+ import { RoundedWrap, StyledImageBox, Tab as StyledTab, StyledTabWrapper, TabPanel } from './styles';
4
+ import { Text } from '../../Elements/Text';
5
+ import { Icon } from '../../Elements/Icon';
6
+ var Tab = function (_a) {
7
+ var tabDefinition = _a.tabDefinition, value = _a.value, isActive = _a.isActive, onTabSwitch = _a.onTabSwitch;
8
+ var icon = tabDefinition.icon, label = tabDefinition.label, badgeCount = tabDefinition.badgeCount;
9
+ var handleOnClick = useCallback(function () {
10
+ onTabSwitch(value);
11
+ }, [onTabSwitch, value]);
12
+ return (_jsx(StyledTabWrapper, { children: _jsxs(StyledTab, { onClick: handleOnClick, active: isActive, children: [icon && (_jsx(StyledImageBox, { children: _jsx(Icon, { icon: icon }) })), _jsx(Text, { children: label }), isActive && badgeCount && badgeCount > 0 && (_jsx(RoundedWrap, { children: _jsx(Text, { variant: "medium", children: badgeCount }) }))] }) }));
13
+ };
14
+ export var Tabs = function (_a) {
15
+ var tabsDefinition = _a.tabsDefinition, activeTab = _a.activeTab, onTabSwitch = _a.onTabSwitch;
16
+ return (_jsx(TabPanel, { children: tabsDefinition.map(function (item, index) {
17
+ return _jsx(Tab, { value: index, tabDefinition: item, isActive: index === activeTab, onTabSwitch: onTabSwitch }, index);
18
+ }) }));
19
+ };
@@ -0,0 +1,2 @@
1
+ import { UseTabsHook } from '../types';
2
+ export declare const useTabs: UseTabsHook;
@@ -0,0 +1,10 @@
1
+ import { useCallback, useState } from 'react';
2
+ export var useTabs = function (tabDefinitions) {
3
+ var index = tabDefinitions.map(function (item) { return item.default; }).indexOf(true);
4
+ var initialValue = index === -1 ? 0 : index;
5
+ var _a = useState(initialValue), activeTab = _a[0], setActiveTab = _a[1];
6
+ var onTabSwitch = useCallback(function (value) {
7
+ setActiveTab(value);
8
+ }, []);
9
+ return { activeTab: activeTab, onTabSwitch: onTabSwitch };
10
+ };
@@ -0,0 +1,5 @@
1
+ import { Tabs } from './Tabs';
2
+ export { Tabs } from './Tabs';
3
+ export { useTabs } from './hooks/useTabs';
4
+ export type { TabDefinition } from './types';
5
+ export default Tabs;
@@ -0,0 +1,4 @@
1
+ import { Tabs } from './Tabs';
2
+ export { Tabs } from './Tabs';
3
+ export { useTabs } from './hooks/useTabs';
4
+ export default Tabs;
@@ -0,0 +1,13 @@
1
+ /// <reference types="react" />
2
+ import { StoryObj } from '@storybook/react';
3
+ declare const meta: {
4
+ title: string;
5
+ component: ({ tabsDefinition, activeTab, onTabSwitch }: import("../types").TabsProps) => JSX.Element;
6
+ tags: string[];
7
+ argTypes: {};
8
+ };
9
+ export default meta;
10
+ type Story = StoryObj<typeof meta>;
11
+ export declare const ActiveTabWithBadgeAndIcon: Story;
12
+ export declare const ActiveTabWithBadge: Story;
13
+ export declare const ActiveTabWithIcon: Story;
@@ -0,0 +1,44 @@
1
+ import { Tabs } from '../Tabs';
2
+ var meta = {
3
+ title: 'Blocks/Tabs',
4
+ component: Tabs,
5
+ tags: ['autodocs'],
6
+ argTypes: {},
7
+ };
8
+ export default meta;
9
+ var tabs = [
10
+ {
11
+ label: 'Main Tab',
12
+ icon: 'product',
13
+ badgeCount: 55,
14
+ },
15
+ {
16
+ label: 'Main Tab',
17
+ badgeCount: 55,
18
+ },
19
+ {
20
+ label: 'Side Tab',
21
+ icon: 'box',
22
+ },
23
+ ];
24
+ export var ActiveTabWithBadgeAndIcon = {
25
+ args: {
26
+ tabsDefinition: tabs,
27
+ onTabSwitch: console.log,
28
+ activeTab: 0,
29
+ },
30
+ };
31
+ export var ActiveTabWithBadge = {
32
+ args: {
33
+ tabsDefinition: tabs,
34
+ onTabSwitch: console.log,
35
+ activeTab: 1,
36
+ },
37
+ };
38
+ export var ActiveTabWithIcon = {
39
+ args: {
40
+ tabsDefinition: tabs,
41
+ onTabSwitch: console.log,
42
+ activeTab: 2,
43
+ },
44
+ };
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ export declare const StyledImageBox: import("styled-components").StyledComponent<(props: Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "color">) => import("react").ReactElement<any, "div">, import("@xstyled/system").Theme, import("@xstyled/system").SystemProps<import("@xstyled/system").Theme>, "color">;
3
+ export declare const StyledTabWrapper: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {}, never>;
4
+ export declare const RoundedWrap: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {}, never>;
5
+ export declare const Tab: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {
6
+ active: boolean;
7
+ }, never>;
8
+ export declare const TabPanel: import("styled-components").StyledComponent<"div", import("@xstyled/system").Theme, {}, never>;
@@ -0,0 +1,15 @@
1
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
2
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
3
+ return cooked;
4
+ };
5
+ import styled, { css, th, x } from '@xstyled/styled-components';
6
+ export var StyledImageBox = styled(x.div)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n margin-right: 1em;\n"], ["\n margin-right: 1em;\n"])));
7
+ export var StyledTabWrapper = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n display: flex;\n flex-direction: row;\n align-items: baseline;\n"], ["\n display: flex;\n flex-direction: row;\n align-items: baseline;\n"])));
8
+ export var RoundedWrap = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n display: flex !important;\n justify-content: center;\n align-items: center;\n height: 23px;\n background-color: ", ";\n border-radius: 29px;\n padding: 3px 10px;\n margin-left: 8px;\n"], ["\n display: flex !important;\n justify-content: center;\n align-items: center;\n height: 23px;\n background-color: ", ";\n border-radius: 29px;\n padding: 3px 10px;\n margin-left: 8px;\n"])), th.color('lightGray7'));
9
+ var activeTab = css(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n color: ", ";\n position: relative;\n &:after {\n content: '';\n position: absolute;\n bottom: 2;\n left: 0;\n right: 0;\n background-color: ", ";\n height: 4px;\n border-radius: 6px 6px 0px 0px;\n }\n & > div {\n display: inline;\n color: ", ";\n }\n"], ["\n color: ", ";\n position: relative;\n &:after {\n content: '';\n position: absolute;\n bottom: 2;\n left: 0;\n right: 0;\n background-color: ", ";\n height: 4px;\n border-radius: 6px 6px 0px 0px;\n }\n & > div {\n display: inline;\n color: ", ";\n }\n"])), th.color('red1'), th.color('red1'), th.color('typoPrimary'));
10
+ export var Tab = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n display: inline-flex;\n align-items: center;\n cursor: pointer;\n padding: 0.6rem;\n transition: 200ms;\n color: ", ";\n font-weight: bold;\n font-size: 14px;\n height: 46px;\n letter-spacing: 0.03em;\n margin-top: 10px;\n min-width: 120px;\n & > div {\n display: none;\n }\n &:not(:last-child) {\n margin-right: 0.5rem;\n }\n\n :hover {\n color: ", ";\n }\n\n :active {\n ", "\n }\n\n ", "\n"], ["\n display: inline-flex;\n align-items: center;\n cursor: pointer;\n padding: 0.6rem;\n transition: 200ms;\n color: ", ";\n font-weight: bold;\n font-size: 14px;\n height: 46px;\n letter-spacing: 0.03em;\n margin-top: 10px;\n min-width: 120px;\n & > div {\n display: none;\n }\n &:not(:last-child) {\n margin-right: 0.5rem;\n }\n\n :hover {\n color: ", ";\n }\n\n :active {\n ", "\n }\n\n ", "\n"])), th.color('gray'), th.color('typoPrimary'), activeTab, function (_a) {
11
+ var active = _a.active;
12
+ return (active ? activeTab : '');
13
+ });
14
+ export var TabPanel = styled.div(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n min-height: 3rem;\n display: flex;\n align-items: flex-end;\n overflow: auto;\n width: fit-content;\n position: relative;\n &:after {\n content: '';\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n background-color: ", ";\n height: 2px;\n }\n"], ["\n min-height: 3rem;\n display: flex;\n align-items: flex-end;\n overflow: auto;\n width: fit-content;\n position: relative;\n &:after {\n content: '';\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n background-color: ", ";\n height: 2px;\n }\n"])), th.color('bgLightGray1'));
15
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6;
@@ -0,0 +1,27 @@
1
+ /// <reference types="react" />
2
+ export type TabDefinition = {
3
+ label: string;
4
+ icon?: string;
5
+ badgeCount?: number;
6
+ default?: true;
7
+ };
8
+ export type TabsProps = {
9
+ tabsDefinition: TabDefinition[];
10
+ activeTab: number;
11
+ onTabSwitch: (tab: number) => void;
12
+ };
13
+ export type TabElementProps = {
14
+ tabDefinition: TabDefinition;
15
+ value: number;
16
+ isActive: boolean;
17
+ onTabSwitch: (tab: number) => void;
18
+ };
19
+ export type UseTabsHook = (tabDefinitions: TabDefinition[]) => {
20
+ activeTab: number;
21
+ onTabSwitch: (tab: number) => void;
22
+ };
23
+ export type TabContentProps = {
24
+ activeTab: number;
25
+ value: number;
26
+ children: React.ReactNode | React.ReactNode[];
27
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ import { IAlert } from './types';
2
+ declare const Alert: IAlert;
3
+ export default Alert;
@@ -0,0 +1,32 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { x, useTheme } from '@xstyled/styled-components';
3
+ import { th } from '@xstyled/styled-components';
4
+ import { Icon } from '../Icon';
5
+ import { IconWrap, LinkWrapper, StyledAlert, VerticalSeparator, Text, Title, CloseBtn, ActionButton, Description } from './styles';
6
+ var alertBackgroundColor = {
7
+ success: 'green10',
8
+ info: 'blue10',
9
+ warning: 'yellow10',
10
+ danger: 'red10',
11
+ };
12
+ var alertColorFill = {
13
+ success: 'successColor',
14
+ info: 'blue60',
15
+ warning: 'yellow70',
16
+ danger: 'dangerColor',
17
+ };
18
+ var alertIconMap = {
19
+ success: 'circleCheck',
20
+ info: 'info',
21
+ warning: 'circleTriangle',
22
+ danger: 'circleTriangle',
23
+ };
24
+ var Alert = function (props) {
25
+ var intent = props.intent, inline = props.inline, onClick = props.onClick, onClose = props.onClose, title = props.title, text = props.text, href = props.href, actionLabel = props.actionLabel, actionType = props.actionType, desc = props.desc, _a = props.closeAnywhere, closeAnywhere = _a === void 0 ? false : _a;
26
+ var theme = useTheme();
27
+ var bgColor = th.color(intent ? alertBackgroundColor[intent] : 'transparent')({ theme: theme });
28
+ var colorFill = th.color(intent ? alertColorFill[intent] : 'transparent')({ theme: theme });
29
+ var icon = intent && alertIconMap[intent];
30
+ return (_jsxs(StyledAlert, { "$bgColor": bgColor, "$colorFill": colorFill, "$inline": inline, onClick: closeAnywhere ? onClose : undefined, children: [_jsxs(x.div, { display: "flex", alignItems: "center", children: [inline && _jsx(VerticalSeparator, { "$colorFill": colorFill }), icon && (_jsx(IconWrap, { children: _jsx(Icon, { icon: icon, size: "20px", fill: colorFill }) })), _jsxs("div", { children: [_jsx(Title, { children: title }), _jsxs(Text, { children: [" ", text] })] })] }), _jsxs(x.div, { display: "flex", alignItems: "center", children: [href && actionType === 'link' && (_jsx(LinkWrapper, { "$colorFill": colorFill, to: href, children: actionLabel !== null && actionLabel !== void 0 ? actionLabel : 'Link' })), onClick && actionType === 'button' && (_jsx(ActionButton, { "$colorFill": colorFill, onClick: onClick, children: actionLabel !== null && actionLabel !== void 0 ? actionLabel : 'Submit' })), onClose && !closeAnywhere && (_jsx(CloseBtn, { onClick: onClose, children: _jsx(Icon, { icon: "close", size: "15px", fill: "gray" }) })), desc && _jsx(Description, { children: desc })] })] }));
31
+ };
32
+ export default Alert;
@@ -0,0 +1,3 @@
1
+ import Alert from './Alert';
2
+ export { Alert };
3
+ export default Alert;
@@ -0,0 +1,3 @@
1
+ import Alert from './Alert';
2
+ export { Alert };
3
+ export default Alert;
@@ -0,0 +1,17 @@
1
+ import type { StoryObj } from '@storybook/react';
2
+ declare const meta: {
3
+ title: string;
4
+ component: import("../types").IAlert;
5
+ tags: string[];
6
+ argTypes: {};
7
+ };
8
+ export default meta;
9
+ type Story = StoryObj<typeof meta>;
10
+ export declare const Success: Story;
11
+ export declare const Warning: Story;
12
+ export declare const Info: Story;
13
+ export declare const Danger: Story;
14
+ export declare const DangerInline: Story;
15
+ export declare const DangerWithMessage: Story;
16
+ export declare const WithDescription: Story;
17
+ export declare const WithCloseAnywhere: Story;