@modul/mbui 0.0.27-beta-webpack-6d7a3f6c → 0.0.27-beta-fix-pv-53496-7e9837e9

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 (343) hide show
  1. package/dist/1476644af6cec1bd02a8.svg +1 -0
  2. package/dist/2deb3e3ba437d0581b29.svg +1 -0
  3. package/dist/302a770df56183f57b8f.svg +1 -0
  4. package/dist/49544592ad8cdafd48da.svg +1 -0
  5. package/dist/5353644099f4ce1b7bfb.svg +1 -0
  6. package/dist/53d3b89e5caf3efddf2f.svg +1 -0
  7. package/dist/8b4291644fa951602fbf.svg +1 -0
  8. package/dist/BankCardImage/BankCardImage.d.ts +8 -0
  9. package/dist/BankCardImage/index.d.ts +1 -0
  10. package/dist/BankCardImage/index.js +1 -0
  11. package/dist/Calendar/index.js +1 -1
  12. package/dist/Chip/Chip.d.ts +1 -1
  13. package/dist/DatePicker/index.js +1 -1
  14. package/dist/Input/index.js +1 -1
  15. package/dist/Input-OTP/Input.d.ts +4 -4
  16. package/dist/assets/css/global.css +1 -0
  17. package/{src → dist}/assets/fonts/Roboto-Italic.ttf +0 -0
  18. package/{src → dist}/assets/fonts/Roboto.ttf +0 -0
  19. package/dist/e02563d712f5569fb640.svg +1 -0
  20. package/dist/fa6c9ce5bcdc19d33629.svg +1 -0
  21. package/dist/index.d.ts +2 -2
  22. package/dist/index.js +11 -11
  23. package/package.json +11 -12
  24. package/dist/5df09ceadd47d11f8760.woff2 +0 -0
  25. package/dist/ac50880e253005087d8a.woff2 +0 -0
  26. package/dist/index.css +0 -1
  27. package/src/@/config/button.ts +0 -77
  28. package/src/@/config/index.ts +0 -97
  29. package/src/@/config/label.ts +0 -89
  30. package/src/@/lib/utils.ts +0 -7
  31. package/src/Alert/Alert.tsx +0 -81
  32. package/src/Alert/index.ts +0 -1
  33. package/src/AlertDialog/AlertDialog.tsx +0 -137
  34. package/src/AlertDialog/index.ts +0 -13
  35. package/src/Audio/Audio.styl +0 -115
  36. package/src/Audio/Audio.tsx +0 -359
  37. package/src/Audio/index.ts +0 -4
  38. package/src/Audio/types.ts +0 -40
  39. package/src/Badge/Badge.tsx +0 -58
  40. package/src/Badge/index.ts +0 -1
  41. package/src/Base/Input/Base.tsx +0 -37
  42. package/src/Base/Input/Input.tsx +0 -42
  43. package/src/Base/Input/index.ts +0 -3
  44. package/src/Base/Input/types.ts +0 -11
  45. package/src/Base/Links/TextLink.tsx +0 -16
  46. package/src/Base/Links/index.ts +0 -3
  47. package/src/BottomNavigation/BottomNavigation.tsx +0 -62
  48. package/src/BottomNavigation/index.ts +0 -1
  49. package/src/Button/Button.tsx +0 -124
  50. package/src/Button/ButtonWidget.tsx +0 -67
  51. package/src/Button/index.ts +0 -2
  52. package/src/Calendar/Calendar.tsx +0 -61
  53. package/src/Calendar/index.ts +0 -1
  54. package/src/Chat/MessageTyping.tsx +0 -61
  55. package/src/Chat/index.ts +0 -1
  56. package/src/Checkbox/Checkbox.tsx +0 -28
  57. package/src/Checkbox/index.ts +0 -1
  58. package/src/Chip/Chip.tsx +0 -55
  59. package/src/Chip/index.ts +0 -1
  60. package/src/Collapsible/AccountCollapsible.tsx +0 -79
  61. package/src/Collapsible/Collapsible.tsx +0 -13
  62. package/src/Collapsible/index.ts +0 -8
  63. package/src/DatePicker/DatePicker.tsx +0 -41
  64. package/src/DatePicker/index.ts +0 -1
  65. package/src/DigitKeyPad/DigitKeyPad.tsx +0 -69
  66. package/src/DigitKeyPad/index.ts +0 -1
  67. package/src/Drawer/Drawer.tsx +0 -89
  68. package/src/Drawer/index.ts +0 -7
  69. package/src/FavoritePyments/FavoritePaymentsList.tsx +0 -40
  70. package/src/FavoritePyments/index.ts +0 -1
  71. package/src/Form/Form.tsx +0 -154
  72. package/src/Form/index.ts +0 -1
  73. package/src/Icon/SvgIcon.tsx +0 -32
  74. package/src/Icon/icons/AddList.tsx +0 -19
  75. package/src/Icon/icons/AlertCircle.tsx +0 -18
  76. package/src/Icon/icons/AlertCircleSolid.tsx +0 -18
  77. package/src/Icon/icons/AlertDiamond.tsx +0 -18
  78. package/src/Icon/icons/AlertDiamondSolid.tsx +0 -18
  79. package/src/Icon/icons/AlertShield.tsx +0 -18
  80. package/src/Icon/icons/Android.tsx +0 -18
  81. package/src/Icon/icons/Apple.tsx +0 -18
  82. package/src/Icon/icons/Archive.tsx +0 -18
  83. package/src/Icon/icons/ArrowCircle.tsx +0 -18
  84. package/src/Icon/icons/ArrowDown.tsx +0 -18
  85. package/src/Icon/icons/ArrowLeft.tsx +0 -18
  86. package/src/Icon/icons/ArrowRight.tsx +0 -18
  87. package/src/Icon/icons/ArrowUp.tsx +0 -18
  88. package/src/Icon/icons/ArrowUpCorner.tsx +0 -18
  89. package/src/Icon/icons/ArrowsChange.tsx +0 -18
  90. package/src/Icon/icons/Atm.tsx +0 -18
  91. package/src/Icon/icons/Attach.tsx +0 -18
  92. package/src/Icon/icons/Bank.tsx +0 -18
  93. package/src/Icon/icons/Bold.tsx +0 -18
  94. package/src/Icon/icons/Bonus.tsx +0 -18
  95. package/src/Icon/icons/Building.tsx +0 -18
  96. package/src/Icon/icons/Calendar.tsx +0 -18
  97. package/src/Icon/icons/CalendarCancel.tsx +0 -18
  98. package/src/Icon/icons/Call.tsx +0 -18
  99. package/src/Icon/icons/CallEnd.tsx +0 -18
  100. package/src/Icon/icons/CallMissed.tsx +0 -18
  101. package/src/Icon/icons/Callback.tsx +0 -18
  102. package/src/Icon/icons/Camera.tsx +0 -18
  103. package/src/Icon/icons/Cancel.tsx +0 -18
  104. package/src/Icon/icons/CancelSolid.tsx +0 -18
  105. package/src/Icon/icons/Card.tsx +0 -18
  106. package/src/Icon/icons/CardLock.tsx +0 -18
  107. package/src/Icon/icons/CardRefill.tsx +0 -18
  108. package/src/Icon/icons/CardReissue.tsx +0 -18
  109. package/src/Icon/icons/CardScan.tsx +0 -18
  110. package/src/Icon/icons/CardToCard.tsx +0 -18
  111. package/src/Icon/icons/CardUnlock.tsx +0 -18
  112. package/src/Icon/icons/Change.tsx +0 -18
  113. package/src/Icon/icons/Chart.tsx +0 -18
  114. package/src/Icon/icons/Chat.tsx +0 -18
  115. package/src/Icon/icons/ChatSolid.tsx +0 -18
  116. package/src/Icon/icons/Check.tsx +0 -18
  117. package/src/Icon/icons/CheckCircle.tsx +0 -18
  118. package/src/Icon/icons/CheckCircleSolid.tsx +0 -18
  119. package/src/Icon/icons/CheckShield.tsx +0 -20
  120. package/src/Icon/icons/CheckSmall.tsx +0 -18
  121. package/src/Icon/icons/Checklist.tsx +0 -18
  122. package/src/Icon/icons/Circle.tsx +0 -18
  123. package/src/Icon/icons/Clock.tsx +0 -18
  124. package/src/Icon/icons/ClockSolid.tsx +0 -18
  125. package/src/Icon/icons/Close.tsx +0 -18
  126. package/src/Icon/icons/Coins.tsx +0 -18
  127. package/src/Icon/icons/Collapse.tsx +0 -18
  128. package/src/Icon/icons/Copy.tsx +0 -18
  129. package/src/Icon/icons/Cup.tsx +0 -18
  130. package/src/Icon/icons/CurrencyChange.tsx +0 -18
  131. package/src/Icon/icons/CurrencyTransfer.tsx +0 -18
  132. package/src/Icon/icons/Deposit.tsx +0 -18
  133. package/src/Icon/icons/Diamond.tsx +0 -18
  134. package/src/Icon/icons/Dislike.tsx +0 -18
  135. package/src/Icon/icons/DislikeSolid.tsx +0 -18
  136. package/src/Icon/icons/Doc.tsx +0 -18
  137. package/src/Icon/icons/DocCancel.tsx +0 -18
  138. package/src/Icon/icons/Dollar.tsx +0 -18
  139. package/src/Icon/icons/DoubleArrow.tsx +0 -18
  140. package/src/Icon/icons/DoubleTick.tsx +0 -18
  141. package/src/Icon/icons/Download.tsx +0 -18
  142. package/src/Icon/icons/Dropdown.tsx +0 -18
  143. package/src/Icon/icons/DropdownSmall.tsx +0 -20
  144. package/src/Icon/icons/DropdownSmallOld.tsx +0 -20
  145. package/src/Icon/icons/Dropup.tsx +0 -18
  146. package/src/Icon/icons/Edit.tsx +0 -18
  147. package/src/Icon/icons/Email.tsx +0 -18
  148. package/src/Icon/icons/Erase.tsx +0 -16
  149. package/src/Icon/icons/Excel.tsx +0 -18
  150. package/src/Icon/icons/Expand.tsx +0 -18
  151. package/src/Icon/icons/Eye.tsx +0 -18
  152. package/src/Icon/icons/EyeOff.tsx +0 -18
  153. package/src/Icon/icons/Favorite.tsx +0 -18
  154. package/src/Icon/icons/FavoriteSolid.tsx +0 -18
  155. package/src/Icon/icons/Fb.tsx +0 -18
  156. package/src/Icon/icons/FbCircle.tsx +0 -18
  157. package/src/Icon/icons/File.tsx +0 -18
  158. package/src/Icon/icons/FileAdd.tsx +0 -18
  159. package/src/Icon/icons/Files.tsx +0 -18
  160. package/src/Icon/icons/Filter.tsx +0 -18
  161. package/src/Icon/icons/Folder.tsx +0 -18
  162. package/src/Icon/icons/Geolocation.tsx +0 -18
  163. package/src/Icon/icons/Gift.tsx +0 -18
  164. package/src/Icon/icons/Globe.tsx +0 -18
  165. package/src/Icon/icons/Heart.tsx +0 -18
  166. package/src/Icon/icons/HeartSolid.tsx +0 -18
  167. package/src/Icon/icons/Help.tsx +0 -18
  168. package/src/Icon/icons/Home.tsx +0 -18
  169. package/src/Icon/icons/Housing.tsx +0 -18
  170. package/src/Icon/icons/Ig.tsx +0 -18
  171. package/src/Icon/icons/IgCircle.tsx +0 -18
  172. package/src/Icon/icons/Info.tsx +0 -18
  173. package/src/Icon/icons/InfoBook.tsx +0 -18
  174. package/src/Icon/icons/InfoSolid.tsx +0 -18
  175. package/src/Icon/icons/Italic.tsx +0 -18
  176. package/src/Icon/icons/Key.tsx +0 -18
  177. package/src/Icon/icons/Left.tsx +0 -18
  178. package/src/Icon/icons/Lightbulb.tsx +0 -18
  179. package/src/Icon/icons/Like.tsx +0 -18
  180. package/src/Icon/icons/LikeSolid.tsx +0 -18
  181. package/src/Icon/icons/Link.tsx +0 -18
  182. package/src/Icon/icons/Lock.tsx +0 -18
  183. package/src/Icon/icons/Logout.tsx +0 -18
  184. package/src/Icon/icons/MagicWand.tsx +0 -18
  185. package/src/Icon/icons/Mail.tsx +0 -18
  186. package/src/Icon/icons/MailSend.tsx +0 -18
  187. package/src/Icon/icons/Map.tsx +0 -18
  188. package/src/Icon/icons/MapPin.tsx +0 -18
  189. package/src/Icon/icons/MapPinSolid.tsx +0 -18
  190. package/src/Icon/icons/Menu.tsx +0 -18
  191. package/src/Icon/icons/Mic.tsx +0 -18
  192. package/src/Icon/icons/MicOff.tsx +0 -18
  193. package/src/Icon/icons/Minus.tsx +0 -18
  194. package/src/Icon/icons/MinusCircle.tsx +0 -18
  195. package/src/Icon/icons/MinusShort.tsx +0 -18
  196. package/src/Icon/icons/Moneybox.tsx +0 -18
  197. package/src/Icon/icons/More.tsx +0 -18
  198. package/src/Icon/icons/Move.tsx +0 -18
  199. package/src/Icon/icons/Newbie.tsx +0 -20
  200. package/src/Icon/icons/News.tsx +0 -18
  201. package/src/Icon/icons/Notes.tsx +0 -18
  202. package/src/Icon/icons/Notification.tsx +0 -18
  203. package/src/Icon/icons/Ok.tsx +0 -18
  204. package/src/Icon/icons/OkCircle.tsx +0 -18
  205. package/src/Icon/icons/Order.tsx +0 -18
  206. package/src/Icon/icons/OrderLoad.tsx +0 -18
  207. package/src/Icon/icons/OrderSend.tsx +0 -18
  208. package/src/Icon/icons/Pause.tsx +0 -18
  209. package/src/Icon/icons/PauseCircle.tsx +0 -18
  210. package/src/Icon/icons/Payment.tsx +0 -18
  211. package/src/Icon/icons/PhoneShake.tsx +0 -18
  212. package/src/Icon/icons/Play.tsx +0 -18
  213. package/src/Icon/icons/PlaySolid.tsx +0 -18
  214. package/src/Icon/icons/Plus.tsx +0 -18
  215. package/src/Icon/icons/PlusCircle.tsx +0 -18
  216. package/src/Icon/icons/Pos.tsx +0 -18
  217. package/src/Icon/icons/Print.tsx +0 -18
  218. package/src/Icon/icons/QrPay.tsx +0 -18
  219. package/src/Icon/icons/Redirect.tsx +0 -18
  220. package/src/Icon/icons/Refill.tsx +0 -18
  221. package/src/Icon/icons/Refund.tsx +0 -18
  222. package/src/Icon/icons/Reload.tsx +0 -19
  223. package/src/Icon/icons/Reply.tsx +0 -18
  224. package/src/Icon/icons/ReplyShape.tsx +0 -18
  225. package/src/Icon/icons/ReplyShapeSolid.tsx +0 -18
  226. package/src/Icon/icons/Request.tsx +0 -18
  227. package/src/Icon/icons/Right.tsx +0 -18
  228. package/src/Icon/icons/Route.tsx +0 -18
  229. package/src/Icon/icons/Ruble.tsx +0 -18
  230. package/src/Icon/icons/Sbp.tsx +0 -18
  231. package/src/Icon/icons/SbpColored.tsx +0 -46
  232. package/src/Icon/icons/Search.tsx +0 -18
  233. package/src/Icon/icons/Send.tsx +0 -18
  234. package/src/Icon/icons/Services.tsx +0 -17
  235. package/src/Icon/icons/Settings.tsx +0 -17
  236. package/src/Icon/icons/Share.tsx +0 -18
  237. package/src/Icon/icons/ShoppingCart.tsx +0 -18
  238. package/src/Icon/icons/Sign.tsx +0 -18
  239. package/src/Icon/icons/SlotMachine.tsx +0 -18
  240. package/src/Icon/icons/SortDown.tsx +0 -18
  241. package/src/Icon/icons/SortDownSolid.tsx +0 -18
  242. package/src/Icon/icons/SortUp.tsx +0 -18
  243. package/src/Icon/icons/SortUpSolid.tsx +0 -18
  244. package/src/Icon/icons/Stop.tsx +0 -18
  245. package/src/Icon/icons/Support.tsx +0 -18
  246. package/src/Icon/icons/Sync.tsx +0 -18
  247. package/src/Icon/icons/Table.tsx +0 -18
  248. package/src/Icon/icons/Tariffs.tsx +0 -19
  249. package/src/Icon/icons/Tg.tsx +0 -18
  250. package/src/Icon/icons/TgCircle.tsx +0 -18
  251. package/src/Icon/icons/Timeout.tsx +0 -18
  252. package/src/Icon/icons/Timer.tsx +0 -18
  253. package/src/Icon/icons/Transfer.tsx +0 -17
  254. package/src/Icon/icons/Trash.tsx +0 -18
  255. package/src/Icon/icons/TurnOff.tsx +0 -18
  256. package/src/Icon/icons/Twitter.tsx +0 -18
  257. package/src/Icon/icons/TwitterCircle.tsx +0 -18
  258. package/src/Icon/icons/Underline.tsx +0 -18
  259. package/src/Icon/icons/Unlink.tsx +0 -18
  260. package/src/Icon/icons/Unsorted.tsx +0 -18
  261. package/src/Icon/icons/UnsortedSolid.tsx +0 -18
  262. package/src/Icon/icons/Upload.tsx +0 -18
  263. package/src/Icon/icons/User.tsx +0 -18
  264. package/src/Icon/icons/UserAdd.tsx +0 -18
  265. package/src/Icon/icons/UserCard.tsx +0 -18
  266. package/src/Icon/icons/UserEdit.tsx +0 -18
  267. package/src/Icon/icons/UserQueue.tsx +0 -18
  268. package/src/Icon/icons/Viber.tsx +0 -18
  269. package/src/Icon/icons/ViberCircle.tsx +0 -18
  270. package/src/Icon/icons/ViewGrid.tsx +0 -18
  271. package/src/Icon/icons/ViewHorizontal.tsx +0 -18
  272. package/src/Icon/icons/ViewList.tsx +0 -18
  273. package/src/Icon/icons/ViewRows.tsx +0 -18
  274. package/src/Icon/icons/ViewVertical.tsx +0 -18
  275. package/src/Icon/icons/Vk.tsx +0 -18
  276. package/src/Icon/icons/VkCircle.tsx +0 -18
  277. package/src/Icon/icons/Wallet.tsx +0 -17
  278. package/src/Icon/icons/Warning.tsx +0 -18
  279. package/src/Icon/icons/WarningClean.tsx +0 -18
  280. package/src/Icon/icons/Whatsapp.tsx +0 -18
  281. package/src/Icon/icons/WhatsappCircle.tsx +0 -18
  282. package/src/Icon/icons/Wheelchair.tsx +0 -18
  283. package/src/Icon/icons/index.ts +0 -209
  284. package/src/Icon/index.ts +0 -2
  285. package/src/Input/Input.tsx +0 -35
  286. package/src/Input/InputMask.tsx +0 -36
  287. package/src/Input/index.ts +0 -2
  288. package/src/Input-OTP/Input.tsx +0 -64
  289. package/src/Input-OTP/index.ts +0 -3
  290. package/src/Label/Label.tsx +0 -20
  291. package/src/Label/index.ts +0 -1
  292. package/src/Logo/Logo.tsx +0 -22
  293. package/src/Logo/index.ts +0 -3
  294. package/src/Navbar/Navbar.tsx +0 -21
  295. package/src/Navbar/index.tsx +0 -2
  296. package/src/Page/Page.tsx +0 -43
  297. package/src/Page/index.ts +0 -1
  298. package/src/Popover/Popover.tsx +0 -64
  299. package/src/Popover/index.ts +0 -5
  300. package/src/Progress/Progress.tsx +0 -31
  301. package/src/Progress/index.ts +0 -1
  302. package/src/Select/Select.tsx +0 -19
  303. package/src/Select/SelectAccount.tsx +0 -101
  304. package/src/Select/SelectAccountCard.tsx +0 -146
  305. package/src/Select/SelectAsync.tsx +0 -28
  306. package/src/Select/SelectBase.tsx +0 -54
  307. package/src/Select/components/components.tsx +0 -186
  308. package/src/Select/components/index.tsx +0 -15
  309. package/src/Select/index.ts +0 -5
  310. package/src/Skeleton/Skeleton.tsx +0 -25
  311. package/src/Skeleton/index.ts +0 -1
  312. package/src/Slider/Slider.tsx +0 -38
  313. package/src/Slider/index.ts +0 -4
  314. package/src/Swipe2Show/Swipe2Show.tsx +0 -71
  315. package/src/Swipe2Show/index.ts +0 -1
  316. package/src/Switch/Switch.tsx +0 -59
  317. package/src/Switch/index.ts +0 -1
  318. package/src/Tabs/Tabs.tsx +0 -106
  319. package/src/Tabs/index.ts +0 -1
  320. package/src/Textarea/Textarea.tsx +0 -35
  321. package/src/Textarea/index.ts +0 -1
  322. package/src/Toaster/Toaster.tsx +0 -71
  323. package/src/Toaster/index.ts +0 -1
  324. package/src/assets/css/global.css +0 -209
  325. package/src/assets/images/logo/1c.svg +0 -1
  326. package/src/assets/images/logo/bank/emblem-white.svg +0 -1
  327. package/src/assets/images/logo/bank/emblem.svg +0 -1
  328. package/src/assets/images/logo/bank/logo-white.svg +0 -1
  329. package/src/assets/images/logo/bank/logo.svg +0 -1
  330. package/src/assets/images/logo/garant/emblem-white.svg +0 -1
  331. package/src/assets/images/logo/garant/emblem.svg +0 -1
  332. package/src/assets/images/logo/garant/logo-white.svg +0 -1
  333. package/src/assets/images/logo/garant/logo.svg +0 -1
  334. package/src/assets/images/logo/kassa/emblem-white.svg +0 -1
  335. package/src/assets/images/logo/kassa/emblem.svg +0 -1
  336. package/src/assets/images/logo/kassa/logo-white.svg +0 -1
  337. package/src/assets/images/logo/kassa/logo.svg +0 -1
  338. package/src/assets/images/logo/sbp-logo.svg +0 -1
  339. package/src/assets/images/statusbar.svg +0 -1
  340. package/src/index.ts +0 -135
  341. package/src/pages/payments/SmsSign/sms-sign.tsx +0 -91
  342. /package/{src → dist}/assets/fonts/Roboto-Italic.woff2 +0 -0
  343. /package/{src → dist}/assets/fonts/Roboto.woff2 +0 -0
@@ -1,115 +0,0 @@
1
-
2
- .player
3
- display flex
4
- align-items center
5
-
6
- &__btn
7
- position relative
8
- margin-right 12px
9
- width 40px
10
- height @width
11
- font-size $fz-large
12
- color $cl-white
13
- background-color $cl-green-3
14
- border 0
15
- border-radius 50%
16
- outline 0
17
- transition background-color .3s ease-in-out
18
-
19
- &:hover
20
- &:focus
21
- background-color $cl-green-4
22
-
23
- &:active
24
- background-color $cl-green-2
25
-
26
- [class*=icon]
27
- position absolute
28
- top 50%
29
- left 53%
30
- transform translate(-50%, -50%)
31
-
32
- &__progress
33
- position relative
34
- flex-grow 1
35
-
36
- &-buffer
37
- position absolute
38
- top 0
39
- left 0
40
- height 2px
41
- background-color $ca-graphite-5
42
- border-radius 1px
43
-
44
- .ant-slider-rail
45
- cursor pointer
46
- height 2px
47
- background-color $ca-graphite-5
48
- border-radius 1px
49
-
50
- .ant-slider-track
51
- position absolute
52
- top 0
53
- left 0
54
- height 2px
55
- background-color $cl-green-2
56
- border-radius 1px
57
-
58
- .ant-slider-handle
59
- margin 0
60
- cursor pointer
61
- position absolute
62
- top -4px
63
- width 10px
64
- height @width
65
- border-radius 0
66
- border 0
67
- background-color transparent
68
- transform translateX(-50%)
69
- &::before
70
- position absolute
71
- display block
72
- content ''
73
- width 2px
74
- height 8px
75
- left 50%
76
- top 50%
77
- transform translate(-50%, -50%)
78
- background-color $cl-green-2
79
- border-radius 1px
80
-
81
- .player__time
82
- margin-top 14px
83
-
84
- & + .player__time
85
- margin-left 12px
86
-
87
- &__range
88
- position relative
89
- height 2px
90
- border-radius 1px
91
-
92
- &__slider
93
- position absolute
94
- top 50%
95
- left 0
96
- margin-left -5px
97
- width 10px
98
- height @width
99
- transform translateY(-50%)
100
-
101
- &::after
102
- content ''
103
- position absolute
104
- top 1px
105
- left 50%
106
- width 2px
107
- height 8px
108
- background-color $cl-green-2
109
- border-radius 1px
110
- transform translateX(-50%)
111
-
112
- &__time
113
- line-height 1
114
- font-size 12px
115
- color $cl-text-success
@@ -1,359 +0,0 @@
1
- import React from 'react'
2
- import Slider from '../Slider'
3
- // import './Audio.styl'
4
- import {EAudioStatuses, IAudioProps, IState} from "./types";
5
-
6
- /**
7
- * Функция отображения продолжительности записи в "мм:cc"
8
- * @param {number} value Значение в секундах
9
- * @returns {string}
10
- */
11
- function Duration(value) {
12
- let result = '––:––'
13
- if (value || value === 0) {
14
- const minutes = Math.floor(value / 60)
15
- const seconds = Math.round(value - minutes * 60)
16
- const leadZero = (value) => `${value < 10 ? '0' : ''}${value}`
17
- result = `${leadZero(minutes)}:${leadZero(seconds)}`
18
- }
19
- return result
20
- }
21
-
22
- /**
23
- * Компонент прослушивания аудиозаписей
24
- */
25
- export class Audio extends React.Component<IAudioProps, IState> {
26
- /* начальное состояние */
27
- state: any = {
28
- loadingProgress: 0,
29
- progress: 0,
30
- duration: 0,
31
- status: EAudioStatuses.PAUSED,
32
- currentTime: 0,
33
- drag: false,
34
- }
35
-
36
- // static defaultProps = {
37
- // onlyOneIsPlayed: true,
38
- // }
39
-
40
- /**
41
- * ссылка на аудио элемент на странице
42
- * @memberof Audio
43
- */
44
- audioRef = React.createRef<HTMLAudioElement>()
45
-
46
- componentDidMount() {
47
- this.changeVolume(this.props.volume)
48
- this.setState({
49
- duration: this.props.duration,
50
- })
51
- }
52
-
53
- componentDidUpdate(prevProps) {
54
- if (prevProps.changeVolume !== this.props.volume) {
55
- this.changeVolume(this.props.volume)
56
- }
57
- }
58
-
59
- changeVolume(value) {
60
- const audio = this.audioRef.current
61
- if (audio.volume) {
62
- audio.volume = value || 0.5
63
- }
64
- }
65
-
66
- getDuration = () => {
67
- const audio = this.audioRef.current
68
- return Number(this.state.duration || audio.duration)
69
- }
70
-
71
- /**
72
- * Метод включение записи на проигрывание
73
- * @memberof Audio
74
- */
75
- play() {
76
- const audio = this.audioRef.current
77
- if (audio && (!audio.src || audio.src.indexOf('_abortedAudio') >= 0)) {
78
- audio.src = this.props.src
79
- }
80
- /** Останавливаем проигрывание остальных записей */
81
- const allAudioElements = document.getElementsByTagName('audio')
82
- for (let i = allAudioElements.length - 1; i >= 0; i--) {
83
- const audioElement = allAudioElements.item(i)
84
- if (audioElement !== this.audioRef.current && !!audioElement.getAttribute('data-only-one-is-played')) {
85
- audioElement.pause()
86
- }
87
- }
88
- audio.play().catch(() => {
89
- audio.pause()
90
- })
91
- }
92
-
93
- /**
94
- * Метод постановки проигрываемой записи на паузу
95
- * @memberof Audio
96
- */
97
- pause() {
98
- const audio = this.audioRef.current
99
- audio.pause()
100
- }
101
-
102
- /**
103
- * Метод прерывания процесса загрузки записи
104
- * @memberof Audio
105
- */
106
- loadCancel() {
107
- this.pause()
108
- const audio = this.audioRef.current
109
- if (audio.src) {
110
- audio.src = '_abortedAudio'
111
- }
112
- }
113
-
114
- /**
115
- * Метод перемотки записи до нужной секунды
116
- * @param {number} sec значение в секундах
117
- * @memberof Audio
118
- */
119
- seek(sec) {
120
- const audio = this.audioRef.current
121
- audio.currentTime = Math.min(Math.max(sec, 0), this.getDuration())
122
- }
123
-
124
- /**
125
- * Обработчик изменения позиции слайдера момента исполнения записи
126
- * @param {*} value значение слайдера
127
- * @memberof Audio
128
- */
129
- onSliderChange = (value) => {
130
- const duration = this.getDuration()
131
- const newTimeValue = (value / 100) * duration
132
- this.seek(newTimeValue)
133
- const audio = this.audioRef.current
134
- const progress = audio ? (audio.currentTime / duration) * 100 : 0
135
- this.setState({ progress, drag: true, currentTime: newTimeValue })
136
- }
137
-
138
- onAfterChange = () => {
139
- this.setState({ drag: false })
140
- }
141
-
142
- /**
143
- * Обработчик нажатия кнопки управления
144
- * @memberof Audio
145
- */
146
- onButtonClick = () => {
147
- switch (this.state.status) {
148
- case EAudioStatuses.LOADING:
149
- this.loadCancel()
150
- break
151
- case EAudioStatuses.PLAYING:
152
- this.pause()
153
- break
154
- default:
155
- this.play()
156
- }
157
- }
158
-
159
- /**
160
- * Обработчик события загрузки метаданных записи
161
- * @param {*} event дескриптор события
162
- * @memberof Audio
163
- */
164
- onLoadedMetaData = ({ target }) => {
165
- const { duration } = target || {}
166
- this.setState({
167
- duration: duration,
168
- })
169
- }
170
-
171
- /**
172
- * Обработчик изменения отметки времени исполнения
173
- * @param {*} event дексриптор события
174
- * @memberof Audio
175
- */
176
- onTimeUpdate = (event) => {
177
- const { currentTime } = event.target
178
- const progress = (currentTime / this.getDuration()) * 100
179
- this.setState({ progress, currentTime })
180
- }
181
-
182
- /**
183
- * Метод расчета прогресса загруженной записи
184
- * @param {TimeRanges} timeRanges загруженные промежутки
185
- * @param {number} duration длительность записи
186
- * @returns {number}
187
- * @memberof Audio
188
- */
189
- calcProgress(timeRanges, duration) {
190
- let buffered = 0
191
- if (timeRanges && timeRanges.length) {
192
- for (let i = timeRanges.length - 1; 0 <= i; i--) {
193
- buffered += timeRanges.end(i) - timeRanges.start(i) + 1
194
- }
195
- }
196
- return Math.min(duration && buffered !== duration ? (buffered / duration) * 100 : 0, 100)
197
- }
198
-
199
- updateLoadingProgress(buffered, duration) {
200
- this.setState({
201
- loadingProgress: this.calcProgress(buffered, duration),
202
- })
203
- }
204
-
205
- /**
206
- * Обработчик загрузки нового фрагмента записи
207
- * @param {*} event
208
- * @memberof Audio
209
- */
210
- onProgress = ({ target }) => {
211
- const { buffered, duration } = target || {}
212
- /* считаем и записываем процент загрузки аудиозаписи*/
213
- this.updateLoadingProgress(buffered, duration)
214
- }
215
-
216
- /**
217
- * Обработчик при включении проигрывания записи
218
- * @param {*} event
219
- * @memberof Audio
220
- */
221
- onPlay = () => {
222
- this.setState({ status: EAudioStatuses.PLAYING })
223
- }
224
-
225
- /**
226
- * Обработчик при постновки записи на паузу
227
- * @param {*} event дескриптор события
228
- * @memberof Audio
229
- */
230
- onPause = () => {
231
- this.setState({ status: EAudioStatuses.PAUSED })
232
- }
233
-
234
- /**
235
- * Обработчик перехода к проигрыванию записи
236
- * @memberof Audio
237
- */
238
- onPlaying = () => {
239
- if (this.state.waitingTimerId) {
240
- clearTimeout(this.state.waitingTimerId)
241
- }
242
- this.setState({ status: EAudioStatuses.PLAYING })
243
- }
244
-
245
- /**
246
- * Обработчик события ожидания, когда что-то грузится
247
- * @param {*} event дескриптор события
248
- * @memberof Audio
249
- */
250
- onWaiting = (event) => {
251
- const { buffered, duration } = event.target || {}
252
- /* устанавливаем статус "загрузка" через задержку, чтобы не видеть моргания "||" -> "Х" -> "||" при переходе к уже загруженному фрагменту */
253
- this.setState({
254
- waitingTimerId: setTimeout(() => {
255
- this.setState({
256
- status: EAudioStatuses.LOADING,
257
- })
258
- }, 5),
259
- })
260
- this.updateLoadingProgress(buffered, duration)
261
- }
262
-
263
- /**
264
- * Обработчик достижения конца проигрываемой записи
265
- * @param {*} event дескриптор события
266
- * @memberof Audio
267
- */
268
- onEnded = (event) => {
269
- event.target.currentTime = 0
270
- this.setState({ status: EAudioStatuses.PAUSED })
271
- }
272
-
273
- /**
274
- * Обработчик возникновения ошибки аудио элемента
275
- * @memberof Audio
276
- */
277
- onError = () => {
278
- this.setState({ status: EAudioStatuses.PAUSED })
279
- }
280
-
281
- /**
282
- * Метод рендера содержимого кнопки управления
283
- * @returns
284
- * @memberof Audio
285
- */
286
- getButtonCaption() {
287
- switch (this.state.status) {
288
- case EAudioStatuses.PAUSED:
289
- return <i className="icon-play-solid" />
290
- case EAudioStatuses.PLAYING:
291
- return <i className="icon-pause" />
292
- case EAudioStatuses.LOADING:
293
- return (
294
- <div>
295
- <i className="icon-close" />
296
- </div>
297
- )
298
- }
299
- }
300
-
301
- durationRender = () => {
302
- const duration = this.state.currentTime || this.state.drag ? this.state.currentTime : this.state.duration
303
- return Duration(duration)
304
- }
305
-
306
- render() {
307
- let { src, fileName, durationView = 'right', onlyOneIsPlayed } = this.props
308
- return (
309
- <>
310
- <div className="player">
311
- {/* кнопка */}
312
- <button
313
- className="player__btn"
314
- onClick={this.onButtonClick}
315
- >
316
- {this.getButtonCaption()}
317
- </button>
318
- {/* полоса прогресса и перемотки */}
319
- <div className="player__progress">
320
- <div
321
- className="player__progress-buffer"
322
- style={{ width: `${this.state.loadingProgress}%` }}
323
- />
324
- <Slider
325
- value={[this.state.progress ? this.state.progress : 0]}
326
- onValueChange={this.onSliderChange}
327
- onValueCommit={this.onAfterChange}
328
- />
329
- {durationView === 'bottom' && <div className="player__time">{this.durationRender()}</div>}
330
- </div>
331
- {/* продолжительность аудиозаписи */}
332
- {durationView === 'right' && <div className="player__time">{this.durationRender()}</div>}
333
- {/* HTML5 элемент аудио */}
334
- <audio
335
- ref={this.audioRef}
336
- preload="none"
337
- onLoadedMetadata={this.onLoadedMetaData}
338
- onDurationChange={this.onLoadedMetaData}
339
- onTimeUpdate={this.onTimeUpdate}
340
- onProgress={this.onProgress}
341
- onPlay={this.onPlay}
342
- onPause={this.onPause}
343
- onPlaying={this.onPlaying}
344
- onWaiting={this.onWaiting}
345
- onEnded={this.onEnded}
346
- onAbort={this.onError}
347
- onError={this.onError}
348
- src={src}
349
- data-only-one-is-played={onlyOneIsPlayed ? 'true' : ''}
350
- >
351
- <p>
352
- <a href={src}>{fileName}</a>
353
- </p>
354
- </audio>
355
- </div>
356
- </>
357
- )
358
- }
359
- }
@@ -1,4 +0,0 @@
1
- import { Audio } from './Audio'
2
-
3
- export default Audio
4
- export { Audio }
@@ -1,40 +0,0 @@
1
- /**
2
- * статусы состояния аудио компонента
3
- */
4
- export enum EAudioStatuses {
5
- LOADING,
6
- PLAYING,
7
- PAUSED
8
- }
9
-
10
- export interface IState {
11
- /* текущий статус */
12
- status: EAudioStatuses;
13
- /* процесс загрузки */
14
- loadingProgress: number;
15
- /* прогресс прослушивания */
16
- progress: number;
17
- /** Продолжительность записи (инициализация), будет пересчитано при получении метаданных */
18
- duration: number;
19
- /* ИД таймера задержки перед показом лоадера */
20
- waitingTimerId?: ReturnType<typeof setTimeout>;
21
- /** Текущее время воспроизведения */
22
- currentTime: number,
23
- /** признак когда пользователь взял ползунок перемотки */
24
- drag: boolean,
25
- }
26
-
27
- export interface IAudioProps {
28
- /** Продолжительность записи (инициализация), будет пересчитано при получении метаданных */
29
- duration: number;
30
- /** Источник аудиозаписи */
31
- src: string,
32
- /** Имя файла, отображаемое когда невозможно отобразить контрол аудиозаписи */
33
- fileName: string,
34
- /** Уровень звука [0,1] */
35
- volume: number,
36
- /** Расположение продолжительности аудиозаписи */
37
- durationView: 'right' | 'bottom',
38
- /** Только один элемент проигрывается на странице */
39
- onlyOneIsPlayed: boolean,
40
- }
@@ -1,58 +0,0 @@
1
- import * as React from 'react'
2
- import { cva, type VariantProps } from 'class-variance-authority'
3
-
4
- import { cn } from '../@/lib/utils'
5
-
6
- const badgeClasses = {
7
- variant: {
8
- base: `
9
- inline-block
10
- focus:ring-2
11
- focus:ring-ring
12
- focus:ring-offset-2
13
- focus:outline-none
14
- transition-colors
15
- rounded-full
16
- `,
17
- default: `
18
- bg-critical
19
- text-white
20
- `,
21
- },
22
- size: {
23
- default: 'size-[16px] text-[10px] text-center leadimg-[1] truncate',
24
- dot: 'size-[10px] bg-critical-light border-critical border-[3px]',
25
- sm: '',
26
- md: '',
27
- lg: '',
28
- },
29
- }
30
-
31
- const badgeVariants = cva(badgeClasses.variant.base, {
32
- variants: {
33
- variant: {
34
- default: badgeClasses.variant.default,
35
- },
36
- size: {
37
- default: badgeClasses.size.default,
38
- dot: badgeClasses.size.dot
39
- },
40
- },
41
- defaultVariants: {
42
- variant: 'default',
43
- size: 'default',
44
- },
45
- })
46
-
47
- export interface BadgeProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {}
48
-
49
- function Badge({ className, variant, size, ...props }: BadgeProps) {
50
- return (
51
- <div
52
- className={cn(badgeVariants({ variant, size }), className)}
53
- {...props}
54
- />
55
- )
56
- }
57
-
58
- export { Badge, badgeVariants }
@@ -1 +0,0 @@
1
- export { Badge, badgeVariants } from './Badge'
@@ -1,37 +0,0 @@
1
- import React, { ChangeEvent, ForwardedRef } from 'react'
2
- import { IMaskInput } from 'react-imask'
3
- import { IInputProps } from './types'
4
-
5
- const Base = React.forwardRef<HTMLInputElement, IInputProps>(
6
- ({ onChange, type = 'text', mask, ...props }: IInputProps, ref: ForwardedRef<HTMLInputElement>) => {
7
- const handleChange = (event: ChangeEvent<HTMLInputElement>): void => {
8
- // @ts-ignore
9
- const val = event.target.value
10
- onChange?.(val, event)
11
- }
12
-
13
- if (!mask) {
14
- return (
15
- <input
16
- type={type}
17
- ref={ref}
18
- onChange={handleChange}
19
- {...props}
20
- />
21
- )
22
- }
23
-
24
- return (
25
- // @ts-ignore
26
- <IMaskInput
27
- type={type}
28
- inputRef={ref}
29
- mask={mask}
30
- onChange={handleChange}
31
- {...props}
32
- />
33
- )
34
- }
35
- )
36
-
37
- export default Base
@@ -1,42 +0,0 @@
1
- import React, { ForwardedRef } from 'react'
2
- import Base from './Base'
3
- import { IInputProps } from './types'
4
-
5
- const Input = React.forwardRef<HTMLInputElement, IInputProps>(
6
- ({ onChange, value, clearable, ...props }: IInputProps, ref: ForwardedRef<HTMLInputElement>) => {
7
- const handleClearClick = (): void => {
8
- onChange?.('')
9
- }
10
-
11
- if (!clearable) {
12
- return (
13
- <Base
14
- ref={ref}
15
- onChange={onChange}
16
- value={value}
17
- {...props}
18
- />
19
- )
20
- }
21
-
22
- return (
23
- <div className="input_wrap_clear">
24
- <Base
25
- ref={ref}
26
- onChange={onChange}
27
- value={value}
28
- {...props}
29
- />
30
- {value && (
31
- <a
32
- className="input_clear icon-cancel"
33
- onClick={handleClearClick}
34
- style={{ visibility: 'initial' }}
35
- />
36
- )}
37
- </div>
38
- )
39
- }
40
- )
41
-
42
- export default Input
@@ -1,3 +0,0 @@
1
- import Input from './Input'
2
-
3
- export { Input }
@@ -1,11 +0,0 @@
1
- import React, { ChangeEvent, ChangeEventHandler } from 'react'
2
-
3
- type CustomChangeEventHandler = (value: string, event?: ChangeEvent<HTMLInputElement>) => void
4
-
5
- type CombinedChangeEventHandler = ChangeEventHandler<HTMLInputElement> & CustomChangeEventHandler
6
-
7
- export interface IInputProps extends React.InputHTMLAttributes<HTMLInputElement> {
8
- onChange?: CombinedChangeEventHandler
9
- mask?: string | RegExp | (string | RegExp)[] | NumberConstructor
10
- clearable?: boolean
11
- }
@@ -1,16 +0,0 @@
1
- import React from 'react'
2
-
3
- type TextLinkProps = React.HTMLProps<HTMLAnchorElement>
4
-
5
- const TextLink = React.forwardRef<HTMLAnchorElement, TextLinkProps>(({ children, ...props }, ref) => {
6
- return (
7
- <a
8
- ref={ref}
9
- {...props}
10
- >
11
- {children}
12
- </a>
13
- )
14
- })
15
-
16
- export default TextLink
@@ -1,3 +0,0 @@
1
- import TextLink from './TextLink'
2
-
3
- export { TextLink }