@expressms/smartapp-ui 2.8.2-alpha.10 → 2.8.2-alpha.11

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 (308) hide show
  1. package/build/main/assets/icons/arrow-back.svg +3 -0
  2. package/build/main/assets/icons/arrow-down.svg +3 -0
  3. package/build/main/assets/icons/arrow-up.svg +3 -0
  4. package/build/main/assets/icons/attachment-loader.svg +3 -0
  5. package/build/main/assets/icons/button-loader.svg +3 -0
  6. package/build/main/assets/icons/cancel-cross.svg +3 -0
  7. package/build/main/assets/icons/check-mark.svg +4 -0
  8. package/build/main/assets/icons/clear.svg +3 -0
  9. package/build/main/assets/icons/close-stories.svg +4 -0
  10. package/build/main/assets/icons/close.svg +10 -0
  11. package/build/main/assets/icons/contact-info.svg +12 -0
  12. package/build/main/assets/icons/corporate-user.svg +10 -0
  13. package/build/main/assets/icons/crown.svg +5 -0
  14. package/build/main/assets/icons/delete-chip.svg +3 -0
  15. package/build/main/assets/icons/download.svg +4 -0
  16. package/build/main/assets/icons/error.svg +5 -0
  17. package/build/main/assets/icons/external-link.svg +3 -0
  18. package/build/main/assets/icons/eye-off.svg +10 -0
  19. package/build/main/assets/icons/eye.svg +10 -0
  20. package/build/main/assets/icons/file.svg +3 -0
  21. package/build/main/assets/icons/info.svg +5 -0
  22. package/build/main/assets/icons/loader.svg +3 -0
  23. package/build/main/assets/icons/logout.svg +4 -0
  24. package/build/main/assets/icons/magnifying-glass.svg +3 -0
  25. package/build/main/assets/icons/mail.svg +3 -0
  26. package/build/main/assets/icons/more.svg +3 -0
  27. package/build/main/assets/icons/my-contact-user.svg +10 -0
  28. package/build/main/assets/icons/notification-close.svg +3 -0
  29. package/build/main/assets/icons/notification-error.svg +3 -0
  30. package/build/main/assets/icons/notification-failure.svg +3 -0
  31. package/build/main/assets/icons/notification-info.svg +5 -0
  32. package/build/main/assets/icons/notification-success.svg +4 -0
  33. package/build/main/assets/icons/notification-warning.svg +5 -0
  34. package/build/main/assets/icons/order.svg +6 -0
  35. package/build/main/assets/icons/plus.svg +4 -0
  36. package/build/main/assets/icons/private.svg +12 -0
  37. package/build/main/assets/icons/refresh.svg +3 -0
  38. package/build/main/assets/icons/story-loader.svg +3 -0
  39. package/build/main/assets/icons/tick.svg +10 -0
  40. package/build/main/assets/icons/trash.svg +3 -0
  41. package/build/main/assets/icons/unread-mails.svg +4 -0
  42. package/build/main/assets/storybook/index.js +21 -0
  43. package/build/main/assets/storybook/index.js.map +1 -0
  44. package/build/main/components/ActionModal/ActionModal.js +55 -0
  45. package/build/main/components/ActionModal/ActionModal.js.map +1 -0
  46. package/build/main/components/ActionModal/index.js +2 -0
  47. package/build/main/components/ActionModal/index.js.map +1 -0
  48. package/build/main/components/ActionModal/types.js +2 -0
  49. package/build/main/components/ActionModal/types.js.map +1 -0
  50. package/build/main/components/AttachedFile/AttachedFile.js +60 -0
  51. package/build/main/components/AttachedFile/AttachedFile.js.map +1 -0
  52. package/build/main/components/AttachedFile/index.js +2 -0
  53. package/build/main/components/AttachedFile/index.js.map +1 -0
  54. package/build/main/components/AttachedFile/types.js +2 -0
  55. package/build/main/components/AttachedFile/types.js.map +1 -0
  56. package/build/main/components/Avatar/Avatar.js +131 -0
  57. package/build/main/components/Avatar/Avatar.js.map +1 -0
  58. package/build/main/components/Avatar/index.js +2 -0
  59. package/build/main/components/Avatar/index.js.map +1 -0
  60. package/build/main/components/Avatar/types.js +9 -0
  61. package/build/main/components/Avatar/types.js.map +1 -0
  62. package/build/main/components/Button/Button.js +57 -0
  63. package/build/main/components/Button/Button.js.map +1 -0
  64. package/build/main/components/Button/index.js +2 -0
  65. package/build/main/components/Button/index.js.map +1 -0
  66. package/build/main/components/Button/types.js +11 -0
  67. package/build/main/components/Button/types.js.map +1 -0
  68. package/build/main/components/CachedImage/CachedImage.js +59 -0
  69. package/build/main/components/CachedImage/CachedImage.js.map +1 -0
  70. package/build/main/components/CachedImage/helpers.js +40 -0
  71. package/build/main/components/CachedImage/helpers.js.map +1 -0
  72. package/build/main/components/CachedImage/index.js +2 -0
  73. package/build/main/components/CachedImage/index.js.map +1 -0
  74. package/build/main/components/CachedImage/types.js +2 -0
  75. package/build/main/components/CachedImage/types.js.map +1 -0
  76. package/build/main/components/Calendar/Calendar.js +48 -0
  77. package/build/main/components/Calendar/Calendar.js.map +1 -0
  78. package/build/main/components/Calendar/index.js +2 -0
  79. package/build/main/components/Calendar/index.js.map +1 -0
  80. package/build/main/components/Calendar/types.js +2 -0
  81. package/build/main/components/Calendar/types.js.map +1 -0
  82. package/build/main/components/Charts/ChartBar/ChartBar.js +46 -0
  83. package/build/main/components/Charts/ChartBar/ChartBar.js.map +1 -0
  84. package/build/main/components/Charts/ChartLegend/ChartLegend.js +71 -0
  85. package/build/main/components/Charts/ChartLegend/ChartLegend.js.map +1 -0
  86. package/build/main/components/Charts/ChartLine/ChartLine.js +41 -0
  87. package/build/main/components/Charts/ChartLine/ChartLine.js.map +1 -0
  88. package/build/main/components/Charts/ChartPie/ChartPie.js +63 -0
  89. package/build/main/components/Charts/ChartPie/ChartPie.js.map +1 -0
  90. package/build/main/components/Charts/colors.js +4 -0
  91. package/build/main/components/Charts/colors.js.map +1 -0
  92. package/build/main/components/Charts/constants.js +43 -0
  93. package/build/main/components/Charts/constants.js.map +1 -0
  94. package/build/main/components/Charts/helpers.js +73 -0
  95. package/build/main/components/Charts/helpers.js.map +1 -0
  96. package/build/main/components/Charts/index.js +4 -0
  97. package/build/main/components/Charts/index.js.map +1 -0
  98. package/build/main/components/Charts/types.js +2 -0
  99. package/build/main/components/Charts/types.js.map +1 -0
  100. package/build/main/components/Charts/useEvents.js +45 -0
  101. package/build/main/components/Charts/useEvents.js.map +1 -0
  102. package/build/main/components/Charts/usePieEvents.js +57 -0
  103. package/build/main/components/Charts/usePieEvents.js.map +1 -0
  104. package/build/main/components/Checkbox/Checkbox.js +38 -0
  105. package/build/main/components/Checkbox/Checkbox.js.map +1 -0
  106. package/build/main/components/Checkbox/index.js +2 -0
  107. package/build/main/components/Checkbox/index.js.map +1 -0
  108. package/build/main/components/Checkbox/types.js +2 -0
  109. package/build/main/components/Checkbox/types.js.map +1 -0
  110. package/build/main/components/Chip/Chip.js +35 -0
  111. package/build/main/components/Chip/Chip.js.map +1 -0
  112. package/build/main/components/Chip/index.js +2 -0
  113. package/build/main/components/Chip/index.js.map +1 -0
  114. package/build/main/components/Chip/types.js +2 -0
  115. package/build/main/components/Chip/types.js.map +1 -0
  116. package/build/main/components/ConfirmationModal/ConfirmationModal.js +70 -0
  117. package/build/main/components/ConfirmationModal/ConfirmationModal.js.map +1 -0
  118. package/build/main/components/ConfirmationModal/index.js +2 -0
  119. package/build/main/components/ConfirmationModal/index.js.map +1 -0
  120. package/build/main/components/ConfirmationModal/types.js +2 -0
  121. package/build/main/components/ConfirmationModal/types.js.map +1 -0
  122. package/build/main/components/ContextMenu/ContextMenu.js +82 -0
  123. package/build/main/components/ContextMenu/ContextMenu.js.map +1 -0
  124. package/build/main/components/ContextMenu/index.js +2 -0
  125. package/build/main/components/ContextMenu/index.js.map +1 -0
  126. package/build/main/components/ContextMenu/types.js +2 -0
  127. package/build/main/components/ContextMenu/types.js.map +1 -0
  128. package/build/main/components/CustomSelect/CustomSelect.js +220 -0
  129. package/build/main/components/CustomSelect/CustomSelect.js.map +1 -0
  130. package/build/main/components/CustomSelect/index.js +2 -0
  131. package/build/main/components/CustomSelect/index.js.map +1 -0
  132. package/build/main/components/CustomSelect/selectStyles.js +67 -0
  133. package/build/main/components/CustomSelect/selectStyles.js.map +1 -0
  134. package/build/main/components/CustomSelect/types.js +2 -0
  135. package/build/main/components/CustomSelect/types.js.map +1 -0
  136. package/build/main/components/CustomSelectProfiles/CustomSelectProfiles.js +57 -0
  137. package/build/main/components/CustomSelectProfiles/CustomSelectProfiles.js.map +1 -0
  138. package/build/main/components/CustomSelectProfiles/index.js +2 -0
  139. package/build/main/components/CustomSelectProfiles/index.js.map +1 -0
  140. package/build/main/components/CustomSelectProfiles/types.js +2 -0
  141. package/build/main/components/CustomSelectProfiles/types.js.map +1 -0
  142. package/build/main/components/DragAndDrop/DragAndDrop.js +57 -0
  143. package/build/main/components/DragAndDrop/DragAndDrop.js.map +1 -0
  144. package/build/main/components/DragAndDrop/index.js +2 -0
  145. package/build/main/components/DragAndDrop/index.js.map +1 -0
  146. package/build/main/components/DragAndDrop/types.js +2 -0
  147. package/build/main/components/DragAndDrop/types.js.map +1 -0
  148. package/build/main/components/DraggablePopup/DraggablePopup.js +124 -0
  149. package/build/main/components/DraggablePopup/DraggablePopup.js.map +1 -0
  150. package/build/main/components/DraggablePopup/index.js +2 -0
  151. package/build/main/components/DraggablePopup/index.js.map +1 -0
  152. package/build/main/components/DraggablePopup/types.js +2 -0
  153. package/build/main/components/DraggablePopup/types.js.map +1 -0
  154. package/build/main/components/Error/Error.js +23 -0
  155. package/build/main/components/Error/Error.js.map +1 -0
  156. package/build/main/components/Error/index.js +2 -0
  157. package/build/main/components/Error/index.js.map +1 -0
  158. package/build/main/components/Error/types.js +2 -0
  159. package/build/main/components/Error/types.js.map +1 -0
  160. package/build/main/components/Flex/Flex.js +49 -0
  161. package/build/main/components/Flex/Flex.js.map +1 -0
  162. package/build/main/components/Flex/HFlex/HFlex.js +16 -0
  163. package/build/main/components/Flex/HFlex/HFlex.js.map +1 -0
  164. package/build/main/components/Flex/HFlex/index.js +2 -0
  165. package/build/main/components/Flex/HFlex/index.js.map +1 -0
  166. package/build/main/components/Flex/VFlex/VFlex.js +16 -0
  167. package/build/main/components/Flex/VFlex/VFlex.js.map +1 -0
  168. package/build/main/components/Flex/VFlex/index.js +2 -0
  169. package/build/main/components/Flex/VFlex/index.js.map +1 -0
  170. package/build/main/components/Flex/index.js +4 -0
  171. package/build/main/components/Flex/index.js.map +1 -0
  172. package/build/main/components/Flex/types.js +2 -0
  173. package/build/main/components/Flex/types.js.map +1 -0
  174. package/build/main/components/Header/Header.js +124 -0
  175. package/build/main/components/Header/Header.js.map +1 -0
  176. package/build/main/components/Header/index.js +2 -0
  177. package/build/main/components/Header/index.js.map +1 -0
  178. package/build/main/components/Header/types.js +2 -0
  179. package/build/main/components/Header/types.js.map +1 -0
  180. package/build/main/components/Input/Input.js +207 -0
  181. package/build/main/components/Input/Input.js.map +1 -0
  182. package/build/main/components/Input/index.js +2 -0
  183. package/build/main/components/Input/index.js.map +1 -0
  184. package/build/main/components/Input/types.js +2 -0
  185. package/build/main/components/Input/types.js.map +1 -0
  186. package/build/main/components/ListItem/ListItem.js +208 -0
  187. package/build/main/components/ListItem/ListItem.js.map +1 -0
  188. package/build/main/components/ListItem/index.js +2 -0
  189. package/build/main/components/ListItem/index.js.map +1 -0
  190. package/build/main/components/ListItem/types.js +2 -0
  191. package/build/main/components/ListItem/types.js.map +1 -0
  192. package/build/main/components/Loader/Loader.js +44 -0
  193. package/build/main/components/Loader/Loader.js.map +1 -0
  194. package/build/main/components/Loader/index.js +2 -0
  195. package/build/main/components/Loader/index.js.map +1 -0
  196. package/build/main/components/Loader/types.js +2 -0
  197. package/build/main/components/Loader/types.js.map +1 -0
  198. package/build/main/components/Modal/Modal.js +125 -0
  199. package/build/main/components/Modal/Modal.js.map +1 -0
  200. package/build/main/components/Modal/index.js +2 -0
  201. package/build/main/components/Modal/index.js.map +1 -0
  202. package/build/main/components/Modal/types.js +2 -0
  203. package/build/main/components/Modal/types.js.map +1 -0
  204. package/build/main/components/Notification/Notification.js +197 -0
  205. package/build/main/components/Notification/Notification.js.map +1 -0
  206. package/build/main/components/Notification/index.js +2 -0
  207. package/build/main/components/Notification/index.js.map +1 -0
  208. package/build/main/components/Notification/types.js +2 -0
  209. package/build/main/components/Notification/types.js.map +1 -0
  210. package/build/main/components/Profile/Profile.js +42 -0
  211. package/build/main/components/Profile/Profile.js.map +1 -0
  212. package/build/main/components/Profile/index.js +2 -0
  213. package/build/main/components/Profile/index.js.map +1 -0
  214. package/build/main/components/Profile/types.js +2 -0
  215. package/build/main/components/Profile/types.js.map +1 -0
  216. package/build/main/components/ProgressBar/ProgressBar.js +66 -0
  217. package/build/main/components/ProgressBar/ProgressBar.js.map +1 -0
  218. package/build/main/components/ProgressBar/index.js +2 -0
  219. package/build/main/components/ProgressBar/index.js.map +1 -0
  220. package/build/main/components/ProgressBar/types.js +2 -0
  221. package/build/main/components/ProgressBar/types.js.map +1 -0
  222. package/build/main/components/RadioButton/RadioButton.js +37 -0
  223. package/build/main/components/RadioButton/RadioButton.js.map +1 -0
  224. package/build/main/components/RadioButton/index.js +2 -0
  225. package/build/main/components/RadioButton/index.js.map +1 -0
  226. package/build/main/components/RadioButton/types.js +2 -0
  227. package/build/main/components/RadioButton/types.js.map +1 -0
  228. package/build/main/components/ScrollBar/ScrollBar.js +63 -0
  229. package/build/main/components/ScrollBar/ScrollBar.js.map +1 -0
  230. package/build/main/components/ScrollBar/index.js +2 -0
  231. package/build/main/components/ScrollBar/index.js.map +1 -0
  232. package/build/main/components/ScrollBar/types.js +2 -0
  233. package/build/main/components/ScrollBar/types.js.map +1 -0
  234. package/build/main/components/Skeleton/Skeleton.js +59 -0
  235. package/build/main/components/Skeleton/Skeleton.js.map +1 -0
  236. package/build/main/components/Skeleton/index.js +2 -0
  237. package/build/main/components/Skeleton/index.js.map +1 -0
  238. package/build/main/components/Skeleton/types.js +2 -0
  239. package/build/main/components/Skeleton/types.js.map +1 -0
  240. package/build/main/components/Stories/Stories.js +296 -0
  241. package/build/main/components/Stories/Stories.js.map +1 -0
  242. package/build/main/components/Stories/index.js +2 -0
  243. package/build/main/components/Stories/index.js.map +1 -0
  244. package/build/main/components/Stories/types.js +11 -0
  245. package/build/main/components/Stories/types.js.map +1 -0
  246. package/build/main/components/Switcher/Switcher.js +34 -0
  247. package/build/main/components/Switcher/Switcher.js.map +1 -0
  248. package/build/main/components/Switcher/index.js +2 -0
  249. package/build/main/components/Switcher/index.js.map +1 -0
  250. package/build/main/components/Switcher/types.js +2 -0
  251. package/build/main/components/Switcher/types.js.map +1 -0
  252. package/build/main/components/SyncLoader/SyncLoader.js +65 -0
  253. package/build/main/components/SyncLoader/SyncLoader.js.map +1 -0
  254. package/build/main/components/SyncLoader/index.js +2 -0
  255. package/build/main/components/SyncLoader/index.js.map +1 -0
  256. package/build/main/components/SyncLoader/types.js +2 -0
  257. package/build/main/components/SyncLoader/types.js.map +1 -0
  258. package/build/main/components/Textarea/Textarea.js +96 -0
  259. package/build/main/components/Textarea/Textarea.js.map +1 -0
  260. package/build/main/components/Textarea/index.js +2 -0
  261. package/build/main/components/Textarea/index.js.map +1 -0
  262. package/build/main/components/Textarea/types.js +2 -0
  263. package/build/main/components/Textarea/types.js.map +1 -0
  264. package/build/main/components/Toggle/Toggle.js +38 -0
  265. package/build/main/components/Toggle/Toggle.js.map +1 -0
  266. package/build/main/components/Toggle/index.js +2 -0
  267. package/build/main/components/Toggle/index.js.map +1 -0
  268. package/build/main/components/Toggle/types.js +2 -0
  269. package/build/main/components/Toggle/types.js.map +1 -0
  270. package/build/main/components/UserDropdown/ContactBottomSheet/ContactBottomSheet.js +31 -0
  271. package/build/main/components/UserDropdown/ContactBottomSheet/ContactBottomSheet.js.map +1 -0
  272. package/build/main/components/UserDropdown/ContactInfo/ContactInfo.js +70 -0
  273. package/build/main/components/UserDropdown/ContactInfo/ContactInfo.js.map +1 -0
  274. package/build/main/components/UserDropdown/LoadingMessage/LoadingMessage.js +23 -0
  275. package/build/main/components/UserDropdown/LoadingMessage/LoadingMessage.js.map +1 -0
  276. package/build/main/components/UserDropdown/MenuList/MenuList.js +81 -0
  277. package/build/main/components/UserDropdown/MenuList/MenuList.js.map +1 -0
  278. package/build/main/components/UserDropdown/MultiValueLabel/MultiValueLabel.js +40 -0
  279. package/build/main/components/UserDropdown/MultiValueLabel/MultiValueLabel.js.map +1 -0
  280. package/build/main/components/UserDropdown/Option/Option.js +91 -0
  281. package/build/main/components/UserDropdown/Option/Option.js.map +1 -0
  282. package/build/main/components/UserDropdown/UserDropdown.js +434 -0
  283. package/build/main/components/UserDropdown/UserDropdown.js.map +1 -0
  284. package/build/main/components/UserDropdown/helpers.js +93 -0
  285. package/build/main/components/UserDropdown/helpers.js.map +1 -0
  286. package/build/main/components/UserDropdown/index.js +2 -0
  287. package/build/main/components/UserDropdown/index.js.map +1 -0
  288. package/build/main/components/UserDropdown/selectStyles.js +75 -0
  289. package/build/main/components/UserDropdown/selectStyles.js.map +1 -0
  290. package/build/main/components/UserDropdown/types.js +2 -0
  291. package/build/main/components/UserDropdown/types.js.map +1 -0
  292. package/build/main/components/types.js +2 -0
  293. package/build/main/components/types.js.map +1 -0
  294. package/build/main/constants/constants.js +161 -0
  295. package/build/main/constants/constants.js.map +1 -0
  296. package/build/main/constants/index.js +3 -0
  297. package/build/main/constants/index.js.map +1 -0
  298. package/build/main/constants/types.js +2 -0
  299. package/build/main/constants/types.js.map +1 -0
  300. package/build/main/helpers/index.js +89 -0
  301. package/build/main/helpers/index.js.map +1 -0
  302. package/build/main/hooks/useModal.js +60 -0
  303. package/build/main/hooks/useModal.js.map +1 -0
  304. package/build/main/index.js +37 -0
  305. package/build/main/index.js.map +1 -0
  306. package/build/main/styles/index.js +2 -0
  307. package/build/main/styles/index.js.map +1 -0
  308. package/package.json +2 -1
@@ -0,0 +1,125 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __rest = (this && this.__rest) || function (s, e) {
13
+ var t = {};
14
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
+ t[p] = s[p];
16
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
+ t[p[i]] = s[p[i]];
20
+ }
21
+ return t;
22
+ };
23
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
24
+ import { useEffect, useRef, useState } from 'react';
25
+ import classNames from 'classnames';
26
+ import ScrollBar from '../ScrollBar';
27
+ import ContextMenu from '../ContextMenu';
28
+ import { DEFAULT_SCROLL_BAR_HEIGHT } from '../ScrollBar/ScrollBar';
29
+ import { ReactComponent as CloseIcon } from '../../assets/icons/cancel-cross.svg';
30
+ import { ReactComponent as MoreIcon } from '../../assets/icons/more.svg';
31
+ import { EVENT_LISTENER_TYPES, PLATFORM } from '../../constants';
32
+ import { checkIfContentIsCentered, generateClassNames, generateColor, generateIsCloseIconHidden, generateBottomSheetClassName, isMobilePlatform, } from '../../helpers';
33
+ import { useModal } from '../../hooks/useModal';
34
+ import '../../styles/styles.scss';
35
+ var SCROLL_BAR_HEIGHT_WITH_PADDING = 'calc(100% - 20px)';
36
+ var MODAL_MARGIN_SIZE_WEB = 165;
37
+ var CONTENT_PADDING_TOP = 20;
38
+ var MODAL_TITLE_MARGIN_BOTTOM = 16;
39
+ var MODAL_MARGIN_SIZE_MOBILE = 136;
40
+ var Modal = function (_a) {
41
+ var isModalOpen = _a.isModalOpen, _b = _a.isClosableOutside, isClosableOutside = _b === void 0 ? true : _b, isCloseIconHidden = _a.isCloseIconHidden, isPopup = _a.isPopup, _c = _a.isBottomSheet, isBottomSheet = _c === void 0 ? false : _c, _d = _a.isDisabledBottomSheet, isDisabledBottomSheet = _d === void 0 ? false : _d, _e = _a.isCloseButtonDisabled, isCloseButtonDisabled = _e === void 0 ? false : _e, modalId = _a.modalId, content = _a.content, bottomContent = _a.bottomContent, title = _a.title, _f = _a.platform, platform = _f === void 0 ? PLATFORM.web : _f, popupClassName = _a.popupClassName, className = _a.className, popupStyles = _a.popupStyles, styles = _a.styles, titleStyles = _a.titleStyles, contentStyles = _a.contentStyles, iconColor = _a.iconColor, backgroundColor = _a.backgroundColor, modalMaxHeight = _a.modalMaxHeight, bottomSheetProps = _a.bottomSheetProps, externalBottomSheetScrollContainer = _a.externalBottomSheetScrollContainer, contextMenuProps = _a.contextMenuProps, handleCloseModal = _a.handleCloseModal;
42
+ var ref = useRef(null);
43
+ var titleRef = useRef(null);
44
+ var scrollableContentRef = useRef(null);
45
+ var scrollerRef = useRef(null);
46
+ var bottomContentRef = useRef(null);
47
+ var _g = useState(''), containerHeight = _g[0], setContainerHeight = _g[1];
48
+ var _h = useModal({
49
+ isModalOpen: isModalOpen,
50
+ platform: platform,
51
+ isDisabledBottomSheet: isDisabledBottomSheet,
52
+ initialIsBottomSheet: isBottomSheet,
53
+ modalRef: ref,
54
+ isClosableOutside: isClosableOutside,
55
+ handleCloseModal: handleCloseModal,
56
+ popupClassName: classNames('modal', popupClassName),
57
+ popupStyles: popupStyles,
58
+ bottomSheetProps: bottomSheetProps,
59
+ scrollRef: externalBottomSheetScrollContainer || scrollerRef,
60
+ }), shouldUseBottomSheet = _h.shouldUseBottomSheet, renderModal = _h.renderModal;
61
+ var additionalClassName = generateBottomSheetClassName(platform, shouldUseBottomSheet);
62
+ var isCloseIconInvisible = generateIsCloseIconHidden(platform, isCloseIconHidden);
63
+ var modalMargins = isMobilePlatform(platform) ? MODAL_MARGIN_SIZE_MOBILE : 2 * MODAL_MARGIN_SIZE_WEB;
64
+ var MAX_MODAL_HEIGHT = modalMaxHeight || window.innerHeight - modalMargins;
65
+ var handleMouseDown = function (event) { return !isPopup && event.stopPropagation(); };
66
+ var handleSetContainerHeight = function (contentRef) {
67
+ var _a, _b;
68
+ if (!contentRef)
69
+ return;
70
+ var height = contentRef.getBoundingClientRect().height;
71
+ var titleHeight = ((_a = titleRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect().height) || 0;
72
+ var bottomContentHeight = ((_b = bottomContentRef.current) === null || _b === void 0 ? void 0 : _b.getBoundingClientRect().height) || 0;
73
+ var titleHeightWithMargin = titleHeight ? titleHeight + MODAL_TITLE_MARGIN_BOTTOM : titleHeight;
74
+ var defaultContentHeight = MAX_MODAL_HEIGHT - titleHeightWithMargin - CONTENT_PADDING_TOP;
75
+ var maxContentHeightValue = bottomContent ? defaultContentHeight - bottomContentHeight : defaultContentHeight;
76
+ setContainerHeight("".concat(height > maxContentHeightValue ? maxContentHeightValue : height, "px"));
77
+ };
78
+ useEffect(function () {
79
+ document.documentElement.style.setProperty('--modal-background', generateColor(backgroundColor));
80
+ }, [backgroundColor]);
81
+ useEffect(function () {
82
+ var checkIfClickedOutside = function (e) {
83
+ if (isModalOpen && isClosableOutside && ref.current && !ref.current.contains(e.target)) {
84
+ handleCloseModal();
85
+ }
86
+ };
87
+ !isPopup && (document === null || document === void 0 ? void 0 : document.addEventListener(EVENT_LISTENER_TYPES.click, checkIfClickedOutside, true));
88
+ return function () {
89
+ document === null || document === void 0 ? void 0 : document.removeEventListener(EVENT_LISTENER_TYPES.click, checkIfClickedOutside, true);
90
+ };
91
+ }, [isModalOpen, isClosableOutside, handleCloseModal, isPopup]);
92
+ var renderTitle = function () {
93
+ return title && (_jsxs("div", { children: [!isCloseIconInvisible && renderCloseIconSpace({ elementRef: titleRef, isLarge: true }), _jsx("p", __assign({ ref: titleRef, className: "smartapp-modal__content--title", style: titleStyles }, { children: title }))] }));
94
+ };
95
+ var renderCloseIcon = function () {
96
+ return !isCloseIconInvisible && (_jsx("div", __assign({ onClick: !isCloseButtonDisabled ? handleCloseModal : function () { }, className: classNames('smartapp-modal__content--close-icon', {
97
+ 'smartapp-modal__content--close-icon__disabled': isCloseButtonDisabled,
98
+ }) }, { children: _jsx(CloseIcon, { style: { color: generateColor(iconColor) } }) })));
99
+ };
100
+ var renderCloseIconSpace = function (_a) {
101
+ var elementRef = _a.elementRef, _b = _a.isLarge, isLarge = _b === void 0 ? false : _b, _c = _a.isContent, isContent = _c === void 0 ? false : _c;
102
+ var isContentCentered = checkIfContentIsCentered(elementRef);
103
+ return (_jsx("div", { className: classNames('close-icon-space', {
104
+ 'close-icon-space__large': isLarge,
105
+ 'close-icon-space__large--with-context-menu': isLarge && contextMenuProps,
106
+ 'close-icon-space__content': isContent,
107
+ 'close-icon-space__content--with-context-menu': isContent && contextMenuProps,
108
+ 'close-icon-space__centered': isContentCentered,
109
+ 'close-icon-space__centered--with-context-menu': isContentCentered && contextMenuProps,
110
+ }) }));
111
+ };
112
+ var renderContextMenuIcon = function () {
113
+ if (contextMenuProps) {
114
+ var openMenu = contextMenuProps.openMenu, isMenuOpen = contextMenuProps.isMenuOpen, remainingProps = __rest(contextMenuProps, ["openMenu", "isMenuOpen"]);
115
+ return (_jsxs("div", __assign({ className: classNames('smartapp-modal__content--context-menu-icon', { 'smartapp-modal__content--context-menu-icon__active': isMenuOpen }), onClick: openMenu }, { children: [_jsx(MoreIcon, {}), _jsx(ContextMenu, __assign({ isMenuOpen: isMenuOpen }, remainingProps))] })));
116
+ }
117
+ };
118
+ var renderBottomContent = function () {
119
+ return bottomContent && (_jsx("div", __assign({ ref: bottomContentRef, className: classNames('smartapp-modal__content--bottom', 'smartapp-modal__content--pr', 'smartapp-modal__content--pb') }, { children: bottomContent })));
120
+ };
121
+ var modalContent = (_jsx("div", __assign({ ref: ref, className: classNames('smartapp-modal', { 'smartapp-modal__bottom-sheet': shouldUseBottomSheet }, className), style: styles, onMouseDown: handleMouseDown }, { children: _jsxs("div", __assign({ className: generateClassNames({ className: 'smartapp-modal__content', delimiter: '--', additionalClassName: additionalClassName }), style: contentStyles }, { children: [renderTitle(), _jsxs("div", __assign({ className: "smartapp-modal__content--icons" }, { children: [renderContextMenuIcon(), renderCloseIcon()] })), _jsx(ScrollBar, { contentId: modalId, scrollerProps: { elementRef: function (el) { return (scrollerRef.current = el); } }, content: _jsxs("div", __assign({ ref: handleSetContainerHeight, className: classNames('smartapp-modal__content--pr', { 'smartapp-modal__content--pb': !bottomContent }) }, { children: [!title && !isCloseIconInvisible && renderCloseIconSpace({ elementRef: scrollableContentRef, isContent: true }), _jsx("div", __assign({ ref: scrollableContentRef }, { children: content }))] })), containerHeight: containerHeight, trackHeight: bottomContent ? DEFAULT_SCROLL_BAR_HEIGHT : SCROLL_BAR_HEIGHT_WITH_PADDING }), renderBottomContent()] })) })));
122
+ return isPopup ? modalContent : renderModal(modalContent);
123
+ };
124
+ export default Modal;
125
+ //# sourceMappingURL=Modal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Modal.js","sourceRoot":"","sources":["../../../../src/components/Modal/Modal.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { default } from './Modal';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Modal/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/components/Modal/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,197 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
13
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
14
+ if (ar || !(i in from)) {
15
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
16
+ ar[i] = from[i];
17
+ }
18
+ }
19
+ return to.concat(ar || Array.prototype.slice.call(from));
20
+ };
21
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
22
+ import { useEffect, useRef, useState } from 'react';
23
+ import { cssTransition, toast, ToastContainer } from 'react-toastify';
24
+ import classNames from 'classnames';
25
+ import juice from 'juice';
26
+ import DOMPurify from 'dompurify';
27
+ import { debounce } from 'lodash';
28
+ import Avatar from '../Avatar';
29
+ import { isFullScreen, isWebPlatform } from '../../helpers';
30
+ import { CANCEL_ACTION_TEXT, COLORS, LAYOUT_TYPE, MOBILE_NOTIFICATION_DISTANCE_FROM_BOTTOM, PLATFORM, THEME, WEB_NOTIFICATION_DISTANCE_FROM_BOTTOM, } from '../../constants';
31
+ import { ReactComponent as NotificationSuccessIcon } from '../../assets/icons/notification-success.svg';
32
+ import { ReactComponent as NotificationInfoIcon } from '../../assets/icons/notification-info.svg';
33
+ import { ReactComponent as NotificationWarningIcon } from '../../assets/icons/notification-warning.svg';
34
+ import { ReactComponent as NotificationErrorIcon } from '../../assets/icons/notification-error.svg';
35
+ import { ReactComponent as NotificationFailureIcon } from '../../assets/icons/notification-failure.svg';
36
+ import { ReactComponent as NotificationCloseIcon } from '../../assets/icons/notification-close.svg';
37
+ import { ReactComponent as MailIcon } from '../../assets/icons/mail.svg';
38
+ import { ReactComponent as UnreadMailsIcon } from '../../assets/icons/unread-mails.svg';
39
+ import '../../styles/styles.scss';
40
+ var AUTO_HIDDEN_CONTAINER_ID = 'autoHiddenContainerId';
41
+ var INDEFINITELY_CONTAINER_ID = 'indefinitelyContainerId';
42
+ var NOTIFICATION_HEIGHT = 66;
43
+ var MIN_CONTENT_HEIGHT = 19;
44
+ var TOP_ALIGN_CLASSNAME = 'smartapp-notification__content--top-align';
45
+ var PADDING_VERTICAL_CLASSNAME = 'smartapp-notification__content--pv-2';
46
+ var TOAST_CONTAINER_CLASSNAME = 'Toastify__toast-container';
47
+ var TOAST_CONTAINER_FULL_SCREEN_CLASSNAME = 'Toastify__toast-container--full-screen';
48
+ var NOTIFICATION_TYPES = {
49
+ success: 'success',
50
+ info: 'info',
51
+ warning: 'warning',
52
+ error: 'error',
53
+ failure: 'failure',
54
+ mail: 'mail',
55
+ mailMulti: 'mail-multi',
56
+ custom: 'custom',
57
+ };
58
+ var NOTIFICATION_ICONS = function (iconColor) {
59
+ var _a;
60
+ return (_a = {},
61
+ _a[NOTIFICATION_TYPES.success] = _jsx(NotificationSuccessIcon, { style: { color: iconColor || COLORS.blue } }),
62
+ _a[NOTIFICATION_TYPES.info] = _jsx(NotificationInfoIcon, { style: { color: iconColor || COLORS.blue } }),
63
+ _a[NOTIFICATION_TYPES.warning] = _jsx(NotificationWarningIcon, {}),
64
+ _a[NOTIFICATION_TYPES.error] = _jsx(NotificationErrorIcon, {}),
65
+ _a[NOTIFICATION_TYPES.failure] = _jsx(NotificationFailureIcon, {}),
66
+ _a);
67
+ };
68
+ export var INDEFINITELY_FULL_SCREEN_POSITION = {
69
+ right: 'right',
70
+ left: 'left',
71
+ };
72
+ var Notification = function (_a) {
73
+ var _b = _a.theme, theme = _b === void 0 ? THEME.default : _b, _c = _a.platform, platform = _c === void 0 ? PLATFORM.web : _c, id = _a.id, _d = _a.type, type = _d === void 0 ? 'success' : _d, _e = _a.isAutoHidden, isAutoHidden = _e === void 0 ? true : _e, _f = _a.layoutType, layoutType = _f === void 0 ? LAYOUT_TYPE.minimal : _f, _g = _a.isAllIndefinitelyNeedToBeClosed, isAllIndefinitelyNeedToBeClosed = _g === void 0 ? false : _g, _h = _a.indefinitelyFullScreenPosition, indefinitelyFullScreenPosition = _h === void 0 ? 'right' : _h, _j = _a.hideDuration, hideDuration = _j === void 0 ? 3000 : _j, distanceFromBottom = _a.distanceFromBottom, containerClassName = _a.containerClassName, className = _a.className, containerStyles = _a.containerStyles, styles = _a.styles, title = _a.title, avatar = _a.avatar, text = _a.text, subText = _a.subText, iconColor = _a.iconColor, action = _a.action, onClose = _a.onClose, content = _a.content;
74
+ var contentRef = useRef(null);
75
+ var contentSpanRef = useRef(null);
76
+ var toastContainerRef = useRef(null);
77
+ var isLayoutFullScreen = isFullScreen(layoutType);
78
+ var isBiggerGapInNotificationContent = isWebPlatform(platform) && layoutType !== LAYOUT_TYPE.minimal;
79
+ var _k = useState([]), indefinitelyIds = _k[0], setIndefinitelyIds = _k[1];
80
+ var calculateDistanceFromBottom = function () {
81
+ var defaultDistanceFromBottom = isWebPlatform(platform) ? WEB_NOTIFICATION_DISTANCE_FROM_BOTTOM : MOBILE_NOTIFICATION_DISTANCE_FROM_BOTTOM;
82
+ return distanceFromBottom || defaultDistanceFromBottom;
83
+ };
84
+ var notificationAnimation = cssTransition({
85
+ enter: 'notification-enter-animation',
86
+ exit: 'notification-exit-animation',
87
+ appendPosition: true,
88
+ });
89
+ var handleActionClick = function (_a) {
90
+ var notificationId = _a.notificationId, action = _a.action;
91
+ toast.dismiss(notificationId);
92
+ action && action();
93
+ };
94
+ var handleClickMailCloseIcon = function (_a) {
95
+ var event = _a.event, notificationId = _a.notificationId;
96
+ event.stopPropagation();
97
+ toast.dismiss(notificationId);
98
+ };
99
+ var createSanitizedHtml = function (str) {
100
+ var preparedHtml = juice(str);
101
+ var html = DOMPurify.sanitize(preparedHtml);
102
+ return { __html: html };
103
+ };
104
+ var renderMailNotificationContent = function (notificationId) { return (_jsxs("div", __assign({ onClick: function () { return handleActionClick({ notificationId: notificationId, action: action === null || action === void 0 ? void 0 : action.onClick }); } }, { children: [_jsxs("div", __assign({ className: "smartapp-notification__title" }, { children: [_jsxs("div", { children: [_jsx(MailIcon, {}), _jsx("div", { children: title })] }), _jsx(NotificationCloseIcon, { onClick: function (event) { return handleClickMailCloseIcon({ event: event, notificationId: notificationId }); } })] })), _jsxs("div", __assign({ className: "smartapp-notification__body" }, { children: [avatar && _jsx(Avatar, { size: 40, avatar: avatar.src, username: avatar.username }), _jsxs("div", __assign({ className: "smartapp-notification__body--text" }, { children: [text && _jsx("div", { children: text }), _jsx("div", { children: subText })] }))] }))] }))); };
105
+ var renderMultiMailNotificationContent = function (notificationId) { return (_jsxs("div", __assign({ className: "smartapp-notification__multi" }, { children: [_jsxs("div", __assign({ className: "smartapp-notification__multi--content" }, { children: [_jsx(UnreadMailsIcon, {}), _jsxs("div", __assign({ className: "smartapp-notification__multi--content__text" }, { children: [text && (_jsx("div", { children: _jsx("span", { dangerouslySetInnerHTML: createSanitizedHtml(text) }) })), (action === null || action === void 0 ? void 0 : action.text) && (_jsx("div", __assign({ className: "smartapp-notification__multi--content__action", onClick: function () { return handleActionClick({ notificationId: notificationId, action: action === null || action === void 0 ? void 0 : action.onClick }); } }, { children: action.text })))] }))] })), _jsx(NotificationCloseIcon, { className: "smartapp-notification__multi--close-icon", onClick: function (event) { return handleClickMailCloseIcon({ event: event, notificationId: notificationId }); } })] }))); };
106
+ var renderNotificationAction = function (_a) {
107
+ var notificationId = _a.notificationId, _b = _a.action, text = _b.text, color = _b.color, onClick = _b.onClick;
108
+ return (_jsx("div", __assign({ className: "smartapp-notification__content--action", style: { color: color }, onClick: function () { return handleActionClick({ notificationId: notificationId, action: onClick }); } }, { children: text || CANCEL_ACTION_TEXT })));
109
+ };
110
+ var renderNotificationContent = function (notificationId) {
111
+ switch (type) {
112
+ case NOTIFICATION_TYPES.mail:
113
+ return renderMailNotificationContent(notificationId);
114
+ case NOTIFICATION_TYPES.mailMulti:
115
+ return renderMultiMailNotificationContent(notificationId);
116
+ case NOTIFICATION_TYPES.custom:
117
+ return content || _jsx("div", {});
118
+ default:
119
+ return (_jsxs("div", __assign({ className: "smartapp-notification" }, { children: [NOTIFICATION_ICONS(iconColor)[type], _jsxs("div", __assign({ ref: contentRef, className: classNames('smartapp-notification__content', {
120
+ 'smartapp-notification__content--column-direction': action === null || action === void 0 ? void 0 : action.isLocatedAtBottom,
121
+ }) }, { children: [text && (_jsx("div", { children: _jsx("span", { ref: contentSpanRef, dangerouslySetInnerHTML: createSanitizedHtml(text) }) })), action && renderNotificationAction({ notificationId: notificationId, action: action })] }))] })));
122
+ }
123
+ };
124
+ var renderToastContainer = function (_a) {
125
+ var containerId = _a.containerId, distanceFromBottom = _a.distanceFromBottom;
126
+ var isIndefinitelyContainer = containerId === INDEFINITELY_CONTAINER_ID;
127
+ var fullScreenPosition = isIndefinitelyContainer ? "bottom-".concat(indefinitelyFullScreenPosition) : 'top-right';
128
+ return (_jsx(ToastContainer, { ref: toastContainerRef, enableMultiContainer: true, containerId: containerId, hideProgressBar: true, draggable: false, closeButton: false, pauseOnHover: false, pauseOnFocusLoss: false, closeOnClick: false, className: classNames("Toastify__toast-container--".concat(theme), {
129
+ 'Toastify__toast-container--bigger-gap': isBiggerGapInNotificationContent,
130
+ 'Toastify__toast-container--full-screen': isLayoutFullScreen,
131
+ 'Toastify__toast-container--full-screen__indefinitely-right': isLayoutFullScreen && isIndefinitelyContainer && indefinitelyFullScreenPosition === INDEFINITELY_FULL_SCREEN_POSITION.right,
132
+ 'Toastify__toast-container--full-screen__indefinitely-left': isLayoutFullScreen && isIndefinitelyContainer && indefinitelyFullScreenPosition === INDEFINITELY_FULL_SCREEN_POSITION.left,
133
+ }, containerClassName), style: __assign({ '--distance-from-bottom': "".concat(distanceFromBottom, "px") }, containerStyles), transition: notificationAnimation, position: isLayoutFullScreen ? fullScreenPosition : 'bottom-center' }));
134
+ };
135
+ var handleAddContentResizeObserver = function () {
136
+ var contentRefCurrent = contentRef.current;
137
+ var contentSpanRefCurrent = contentSpanRef.current;
138
+ var contentSpanParentElement = contentSpanRefCurrent === null || contentSpanRefCurrent === void 0 ? void 0 : contentSpanRefCurrent.parentElement;
139
+ var toastContainerElement = contentRefCurrent === null || contentRefCurrent === void 0 ? void 0 : contentRefCurrent.closest(".".concat(TOAST_CONTAINER_CLASSNAME));
140
+ if (!contentRefCurrent || !contentSpanRefCurrent || !contentSpanParentElement || !toastContainerElement)
141
+ return null;
142
+ var contentRefClassList = contentRefCurrent.classList;
143
+ var resizeObserver = new ResizeObserver(debounce(function () {
144
+ var _a;
145
+ var _b = contentSpanRefCurrent.getBoundingClientRect(), spanWidth = _b.width, spanHeight = _b.height;
146
+ var contentHeight = ((_a = contentRefCurrent.firstElementChild) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect().height) || 0;
147
+ var spanParentWidth = toastContainerElement.classList.contains(TOAST_CONTAINER_FULL_SCREEN_CLASSNAME) ? "".concat(spanWidth, "px") : '';
148
+ contentHeight > MIN_CONTENT_HEIGHT ? contentRefClassList.add(TOP_ALIGN_CLASSNAME) : contentRefClassList.remove(TOP_ALIGN_CLASSNAME);
149
+ type === NOTIFICATION_TYPES.failure && spanHeight > MIN_CONTENT_HEIGHT
150
+ ? contentRefClassList.remove(PADDING_VERTICAL_CLASSNAME)
151
+ : contentRefClassList.add(PADDING_VERTICAL_CLASSNAME);
152
+ contentSpanParentElement.style.width = spanParentWidth;
153
+ }));
154
+ resizeObserver.observe(contentRefCurrent);
155
+ return resizeObserver;
156
+ };
157
+ useEffect(function () {
158
+ if (id) {
159
+ var contentResizeObserver_1;
160
+ if (toast.isActive(id))
161
+ return toast.update(id, { containerId: AUTO_HIDDEN_CONTAINER_ID, autoClose: hideDuration, render: renderNotificationContent(id) });
162
+ !isAutoHidden && setIndefinitelyIds(function (prevIds) { return __spreadArray(__spreadArray([], prevIds, true), [id], false); });
163
+ toast(renderNotificationContent(id), {
164
+ containerId: !isAutoHidden ? INDEFINITELY_CONTAINER_ID : AUTO_HIDDEN_CONTAINER_ID,
165
+ toastId: id,
166
+ autoClose: isAutoHidden ? hideDuration : false,
167
+ className: classNames("Toastify__toast--".concat(type), className),
168
+ style: styles,
169
+ onOpen: function () { return (contentResizeObserver_1 = handleAddContentResizeObserver()); },
170
+ onClose: function () {
171
+ onClose === null || onClose === void 0 ? void 0 : onClose(id);
172
+ contentResizeObserver_1 === null || contentResizeObserver_1 === void 0 ? void 0 : contentResizeObserver_1.disconnect();
173
+ },
174
+ });
175
+ }
176
+ // eslint-disable-next-line
177
+ }, [id, hideDuration]);
178
+ useEffect(function () {
179
+ if (isAllIndefinitelyNeedToBeClosed) {
180
+ indefinitelyIds.forEach(function (indefinitelyId) { return toast.dismiss(indefinitelyId); });
181
+ }
182
+ }, [indefinitelyIds, isAllIndefinitelyNeedToBeClosed]);
183
+ useEffect(function () {
184
+ if (isAllIndefinitelyNeedToBeClosed) {
185
+ setIndefinitelyIds([]);
186
+ }
187
+ }, [isAllIndefinitelyNeedToBeClosed]);
188
+ return (_jsxs(_Fragment, { children: [renderToastContainer({
189
+ containerId: AUTO_HIDDEN_CONTAINER_ID,
190
+ distanceFromBottom: calculateDistanceFromBottom() + indefinitelyIds.length * NOTIFICATION_HEIGHT,
191
+ }), renderToastContainer({
192
+ containerId: INDEFINITELY_CONTAINER_ID,
193
+ distanceFromBottom: calculateDistanceFromBottom(),
194
+ })] }));
195
+ };
196
+ export default Notification;
197
+ //# sourceMappingURL=Notification.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Notification.js","sourceRoot":"","sources":["../../../../src/components/Notification/Notification.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { default } from './Notification';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Notification/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/components/Notification/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,42 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ import { useEffect, useRef } from 'react';
14
+ import { ReactComponent as LogoutIcon } from '../../assets/icons/logout.svg';
15
+ import { ReactComponent as AddProfileIcon } from '../../assets/icons/plus.svg';
16
+ import { generateColor } from '../../helpers';
17
+ import { COLORS } from '../../constants';
18
+ import '../../styles/styles.scss';
19
+ var Profile = function (_a) {
20
+ var _b, _c, _d;
21
+ var username = _a.username, email = _a.email, _e = _a.isShowProfile, isShowProfile = _e === void 0 ? false : _e, _f = _a.onChange, onChange = _f === void 0 ? function () { return undefined; } : _f, onClickLogout = _a.onClickLogout, isMultipleProfile = _a.isMultipleProfile, onClickAddProfile = _a.onClickAddProfile, _g = _a.width, width = _g === void 0 ? 100 : _g, logoutColor = _a.logoutColor, addProfileColor = _a.addProfileColor, addProfileBackgroundColor = _a.addProfileBackgroundColor;
22
+ var ref = useRef(null);
23
+ var initials = (_d = (_c = (_b = username === null || username === void 0 ? void 0 : username.split(' ')) === null || _b === void 0 ? void 0 : _b.map(function (n) { return n[0]; })) === null || _c === void 0 ? void 0 : _c.join('.')) === null || _d === void 0 ? void 0 : _d.toUpperCase();
24
+ useEffect(function () {
25
+ var checkIfClickedOutside = function (e) {
26
+ var _a;
27
+ if (isShowProfile && (ref === null || ref === void 0 ? void 0 : ref.current) && !((_a = ref === null || ref === void 0 ? void 0 : ref.current) === null || _a === void 0 ? void 0 : _a.contains(e === null || e === void 0 ? void 0 : e.target))) {
28
+ onChange(false);
29
+ }
30
+ };
31
+ document.addEventListener('mousedown', checkIfClickedOutside);
32
+ return function () {
33
+ document.removeEventListener('mousedown', checkIfClickedOutside);
34
+ };
35
+ }, [isShowProfile, onChange]);
36
+ return (_jsxs("div", __assign({ ref: ref, className: "smartapp-profile__container" }, { children: [_jsx("div", __assign({ onClick: function () { return onChange(!isShowProfile); }, className: "smartapp-profile__avatar" }, { children: initials })), isShowProfile && (_jsxs("div", __assign({ style: { width: "".concat(width, "%") }, className: "smartapp-profile" }, { children: [_jsxs("div", __assign({ className: "smartapp-profile__current-profile" }, { children: [_jsxs("div", __assign({ className: "smartapp-profile__current-profile--info" }, { children: [_jsx("div", __assign({ className: "smartapp-profile__avatar" }, { children: initials })), _jsxs("div", __assign({ className: "smartapp-profile__current-profile--info__data" }, { children: [_jsx("p", __assign({ className: "smartapp-profile__current-profile--info__data--username" }, { children: username })), email && _jsx("p", __assign({ className: "smartapp-profile__current-profile--info__data--email" }, { children: email }))] }))] })), _jsx("div", __assign({ onClick: onClickLogout, className: "smartapp-profile__current-profile--logout" }, { children: _jsx(LogoutIcon, { style: { color: generateColor(logoutColor, COLORS.blue) } }) }))] })), isMultipleProfile && (_jsxs("div", __assign({ onClick: onClickAddProfile, className: "smartapp-profile__add-profile" }, { children: [_jsx("div", __assign({ className: "smartapp-profile__add-profile--icon" }, { children: _jsx(AddProfileIcon, { style: {
37
+ stroke: generateColor(addProfileColor, COLORS.blue),
38
+ color: generateColor(addProfileBackgroundColor, COLORS.lighterBlue),
39
+ } }) })), _jsx("p", __assign({ className: "smartapp-profile__add-profile--title" }, { children: "\u0414\u043E\u0431\u0430\u0432\u044C\u0442\u0435 \u0430\u043A\u043A\u0430\u0443\u043D\u0442" }))] })))] })))] })));
40
+ };
41
+ export default Profile;
42
+ //# sourceMappingURL=Profile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Profile.js","sourceRoot":"","sources":["../../../../src/components/Profile/Profile.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { default } from './Profile';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Profile/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/components/Profile/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,66 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ import { useEffect, useState } from 'react';
14
+ import classNames from 'classnames';
15
+ import { generateId } from '../../helpers';
16
+ import '../../styles/styles.scss';
17
+ var PROGRESS_LOOP_INTERVAL = 10;
18
+ var DOTS_BLINKING_ANIMATION_INTERVAL = 200;
19
+ var DOTS_ANIMATION_INTERVAL = 450;
20
+ var PROGRESS_LOOP_ITERATION_PAUSE = 1000;
21
+ var PROGRESS_LOOP_MIN_VALUE = -100;
22
+ var PROGRESS_LOOP_MAX_VALUE = 100;
23
+ var TITLE_DOTS_LOOP_MIN_VALUE = 0;
24
+ var TITLE_DOTS_LOOP_MAX_VALUE = 3;
25
+ var ProgressBar = function (_a) {
26
+ var _b = _a.title, title = _b === void 0 ? '' : _b, _c = _a.isShowDotsInTitle, isShowDotsInTitle = _c === void 0 ? true : _c, className = _a.className, styles = _a.styles;
27
+ var _d = useState(false), isPaused = _d[0], setIsPaused = _d[1];
28
+ var _e = useState(true), isTitleDotsBlink = _e[0], setIsTitleDotsBlink = _e[1];
29
+ var _f = useState(0), loadedPartPosition = _f[0], setLoadedPartPosition = _f[1];
30
+ var _g = useState(TITLE_DOTS_LOOP_MIN_VALUE), titleDotsAnimationState = _g[0], setTitleDotsAnimationState = _g[1];
31
+ useEffect(function () {
32
+ var interval = setInterval(function () {
33
+ if (!isPaused) {
34
+ setLoadedPartPosition(function (prev) {
35
+ if (prev >= PROGRESS_LOOP_MAX_VALUE) {
36
+ setIsPaused(true);
37
+ setTimeout(function () { return setIsPaused(false); }, PROGRESS_LOOP_ITERATION_PAUSE);
38
+ return PROGRESS_LOOP_MIN_VALUE;
39
+ }
40
+ return prev + 1;
41
+ });
42
+ }
43
+ }, PROGRESS_LOOP_INTERVAL);
44
+ return function () { return clearInterval(interval); };
45
+ }, [isPaused]);
46
+ useEffect(function () {
47
+ if (isShowDotsInTitle) {
48
+ var interval_1 = setInterval(function () { return setTitleDotsAnimationState(function (prev) { return (prev === TITLE_DOTS_LOOP_MAX_VALUE ? TITLE_DOTS_LOOP_MIN_VALUE : prev + 1); }); }, DOTS_ANIMATION_INTERVAL);
49
+ return function () { return clearInterval(interval_1); };
50
+ }
51
+ }, [isShowDotsInTitle]);
52
+ useEffect(function () {
53
+ if (isShowDotsInTitle) {
54
+ var blinkingInterval_1 = setInterval(function () { return setIsTitleDotsBlink(!isTitleDotsBlink); }, DOTS_BLINKING_ANIMATION_INTERVAL);
55
+ return function () { return clearInterval(blinkingInterval_1); };
56
+ }
57
+ }, [isShowDotsInTitle, isTitleDotsBlink]);
58
+ var generateStylesForProgressBar = function () { return ({ left: "".concat(loadedPartPosition, "%") }); };
59
+ var renderTitleDotsAnimation = function () { return Array.from({ length: titleDotsAnimationState }).map(function () { return _jsx("span", { children: "." }, generateId()); }); };
60
+ return (_jsxs("div", __assign({ className: classNames('smartapp-progress-bar', className), style: styles }, { children: [title && (_jsxs("div", __assign({ className: "smartapp-progress-bar__title" }, { children: [_jsx("span", { children: title }), isShowDotsInTitle && (_jsx("div", __assign({ className: classNames('smartapp-progress-bar__title--dots-container', {
61
+ 'smartapp-progress-bar__title--dots-container__light': !isTitleDotsBlink,
62
+ 'smartapp-progress-bar__title--dots-container__hidden': titleDotsAnimationState === TITLE_DOTS_LOOP_MAX_VALUE,
63
+ }) }, { children: renderTitleDotsAnimation() })))] }))), _jsx("div", __assign({ className: "smartapp-progress-bar__background" }, { children: _jsx("div", { className: "smartapp-progress-bar__background--loaded", style: generateStylesForProgressBar() }) }))] })));
64
+ };
65
+ export default ProgressBar;
66
+ //# sourceMappingURL=ProgressBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProgressBar.js","sourceRoot":"","sources":["../../../../src/components/ProgressBar/ProgressBar.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { default } from './ProgressBar';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/ProgressBar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/components/ProgressBar/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,37 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { jsx as _jsx } from "react/jsx-runtime";
13
+ import { useEffect, useRef } from 'react';
14
+ import classNames from 'classnames';
15
+ import { COLORS } from '../../constants';
16
+ import { generateColor } from '../../helpers';
17
+ import '../../styles/styles.scss';
18
+ var RadioButton = function (_a) {
19
+ var id = _a.id, _b = _a.isDisabled, isDisabled = _b === void 0 ? false : _b, _c = _a.isChecked, isChecked = _c === void 0 ? false : _c, className = _a.className, styles = _a.styles, checkedColor = _a.checkedColor, checkedHoverColor = _a.checkedHoverColor, checkedPressedColor = _a.checkedPressedColor, onChange = _a.onChange;
20
+ var radioButtonRef = useRef(null);
21
+ useEffect(function () {
22
+ document.documentElement.style.setProperty('--radio-button-color', generateColor(checkedColor, COLORS.blue));
23
+ document.documentElement.style.setProperty('--radio-button-hover-color', generateColor(checkedHoverColor, COLORS.darkBlue));
24
+ document.documentElement.style.setProperty('--radio-button-pressed-color', generateColor(checkedPressedColor, COLORS.darkerBlue));
25
+ }, [checkedColor, checkedHoverColor, checkedPressedColor]);
26
+ useEffect(function () {
27
+ window.addEventListener('mouseup', handleMouseUp);
28
+ return function () {
29
+ window.removeEventListener('mouseup', handleMouseUp);
30
+ };
31
+ }, []);
32
+ var handleMouseDown = function () { var _a; return (_a = radioButtonRef.current) === null || _a === void 0 ? void 0 : _a.classList.add('smartapp-radio-button__pressed'); };
33
+ var handleMouseUp = function () { var _a; return (_a = radioButtonRef.current) === null || _a === void 0 ? void 0 : _a.classList.remove('smartapp-radio-button__pressed'); };
34
+ return (_jsx("div", __assign({ ref: radioButtonRef, className: classNames('smartapp-radio-button', className), style: styles }, { children: _jsx("label", __assign({ htmlFor: "smartapp-radio-button-".concat(id), onClick: onChange, onMouseDown: handleMouseDown }, { children: _jsx("input", { type: "radio", id: "smartapp-radio-button-".concat(id), checked: isChecked, disabled: isDisabled }) })) })));
35
+ };
36
+ export default RadioButton;
37
+ //# sourceMappingURL=RadioButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioButton.js","sourceRoot":"","sources":["../../../../src/components/RadioButton/RadioButton.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAc,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAChD,OAAO,UAAU,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAE7C,OAAO,0BAA0B,CAAA;AAEjC,IAAM,WAAW,GAAG,UAAC,EAUD;QATlB,EAAE,QAAA,EACF,kBAAkB,EAAlB,UAAU,mBAAG,KAAK,KAAA,EAClB,iBAAiB,EAAjB,SAAS,mBAAG,KAAK,KAAA,EACjB,SAAS,eAAA,EACT,MAAM,YAAA,EACN,YAAY,kBAAA,EACZ,iBAAiB,uBAAA,EACjB,mBAAmB,yBAAA,EACnB,QAAQ,cAAA;IAER,IAAM,cAAc,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAA;IAE1D,SAAS,CAAC;QACR,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,sBAAsB,EAAE,aAAa,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;QAC5G,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,4BAA4B,EAAE,aAAa,CAAC,iBAAiB,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAA;QAC3H,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,8BAA8B,EAAE,aAAa,CAAC,mBAAmB,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAA;IACnI,CAAC,EAAE,CAAC,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,CAAC,CAAC,CAAA;IAE1D,SAAS,CAAC;QACR,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;QAEjD,OAAO;YACL,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;QACtD,CAAC,CAAA;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,IAAM,eAAe,GAAG,sBAAM,OAAA,MAAA,cAAc,CAAC,OAAO,0CAAE,SAAS,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAA,EAAA,CAAA;IACrG,IAAM,aAAa,GAAG,sBAAM,OAAA,MAAA,cAAc,CAAC,OAAO,0CAAE,SAAS,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAAA,EAAA,CAAA;IAEtG,OAAO,CACL,uBAAK,GAAG,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,CAAC,uBAAuB,EAAE,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,gBAChG,yBAAO,OAAO,EAAE,gCAAyB,EAAE,CAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,gBAC5F,gBAAO,IAAI,EAAC,OAAO,EAAC,EAAE,EAAE,gCAAyB,EAAE,CAAE,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,GAAI,IAC7F,IACJ,CACP,CAAA;AACH,CAAC,CAAA;AAED,eAAe,WAAW,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { default } from './RadioButton';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/RadioButton/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA"}