@modul/mbui 0.0.27-beta-webpack-559623b1 → 0.0.27-beta-webpack-305b06ab

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 (372) hide show
  1. package/dist/Chip/Chip.d.ts +1 -1
  2. package/dist/Input-OTP/Input.d.ts +2 -2
  3. package/dist/{index.js → main.js} +3 -3
  4. package/package.json +3 -1
  5. package/src/@/config/button.ts +77 -0
  6. package/src/@/config/index.ts +97 -0
  7. package/src/@/config/label.ts +89 -0
  8. package/src/@/lib/utils.ts +7 -0
  9. package/src/Alert/Alert.tsx +81 -0
  10. package/src/Alert/index.ts +1 -0
  11. package/src/AlertDialog/AlertDialog.tsx +137 -0
  12. package/src/AlertDialog/index.ts +13 -0
  13. package/src/Audio/Audio.styl +115 -0
  14. package/src/Audio/Audio.tsx +359 -0
  15. package/src/Audio/index.ts +4 -0
  16. package/src/Audio/types.ts +40 -0
  17. package/src/Badge/Badge.tsx +58 -0
  18. package/src/Badge/index.ts +1 -0
  19. package/src/Base/Input/Base.tsx +37 -0
  20. package/src/Base/Input/Input.tsx +42 -0
  21. package/src/Base/Input/index.ts +3 -0
  22. package/src/Base/Input/types.ts +11 -0
  23. package/src/Base/Links/TextLink.tsx +16 -0
  24. package/src/Base/Links/index.ts +3 -0
  25. package/src/BottomNavigation/BottomNavigation.tsx +62 -0
  26. package/src/BottomNavigation/index.ts +1 -0
  27. package/src/Button/Button.tsx +124 -0
  28. package/src/Button/ButtonWidget.tsx +67 -0
  29. package/src/Button/index.ts +2 -0
  30. package/src/Calendar/Calendar.tsx +61 -0
  31. package/src/Calendar/index.ts +1 -0
  32. package/src/Chat/MessageTyping.tsx +61 -0
  33. package/src/Chat/index.ts +1 -0
  34. package/src/Checkbox/Checkbox.tsx +28 -0
  35. package/src/Checkbox/index.ts +1 -0
  36. package/src/Chip/Chip.tsx +55 -0
  37. package/src/Chip/index.ts +1 -0
  38. package/src/Collapsible/AccountCollapsible.tsx +79 -0
  39. package/src/Collapsible/Collapsible.tsx +13 -0
  40. package/src/Collapsible/index.ts +8 -0
  41. package/src/DatePicker/DatePicker.tsx +41 -0
  42. package/src/DatePicker/index.ts +1 -0
  43. package/src/DigitKeyPad/DigitKeyPad.tsx +69 -0
  44. package/src/DigitKeyPad/index.ts +1 -0
  45. package/src/Drawer/Drawer.tsx +89 -0
  46. package/src/Drawer/index.ts +7 -0
  47. package/src/FavoritePyments/FavoritePaymentsList.tsx +40 -0
  48. package/src/FavoritePyments/index.ts +1 -0
  49. package/src/Form/Form.tsx +154 -0
  50. package/src/Form/index.ts +1 -0
  51. package/src/Icon/SvgIcon.tsx +32 -0
  52. package/src/Icon/icons/AddList.tsx +19 -0
  53. package/src/Icon/icons/AlertCircle.tsx +18 -0
  54. package/src/Icon/icons/AlertCircleSolid.tsx +18 -0
  55. package/src/Icon/icons/AlertDiamond.tsx +18 -0
  56. package/src/Icon/icons/AlertDiamondSolid.tsx +18 -0
  57. package/src/Icon/icons/AlertShield.tsx +18 -0
  58. package/src/Icon/icons/Android.tsx +18 -0
  59. package/src/Icon/icons/Apple.tsx +18 -0
  60. package/src/Icon/icons/Archive.tsx +18 -0
  61. package/src/Icon/icons/ArrowCircle.tsx +18 -0
  62. package/src/Icon/icons/ArrowDown.tsx +18 -0
  63. package/src/Icon/icons/ArrowLeft.tsx +18 -0
  64. package/src/Icon/icons/ArrowRight.tsx +18 -0
  65. package/src/Icon/icons/ArrowUp.tsx +18 -0
  66. package/src/Icon/icons/ArrowUpCorner.tsx +18 -0
  67. package/src/Icon/icons/ArrowsChange.tsx +18 -0
  68. package/src/Icon/icons/Atm.tsx +18 -0
  69. package/src/Icon/icons/Attach.tsx +18 -0
  70. package/src/Icon/icons/Bank.tsx +18 -0
  71. package/src/Icon/icons/Bold.tsx +18 -0
  72. package/src/Icon/icons/Bonus.tsx +18 -0
  73. package/src/Icon/icons/Building.tsx +18 -0
  74. package/src/Icon/icons/Calendar.tsx +18 -0
  75. package/src/Icon/icons/CalendarCancel.tsx +18 -0
  76. package/src/Icon/icons/Call.tsx +18 -0
  77. package/src/Icon/icons/CallEnd.tsx +18 -0
  78. package/src/Icon/icons/CallMissed.tsx +18 -0
  79. package/src/Icon/icons/Callback.tsx +18 -0
  80. package/src/Icon/icons/Camera.tsx +18 -0
  81. package/src/Icon/icons/Cancel.tsx +18 -0
  82. package/src/Icon/icons/CancelSolid.tsx +18 -0
  83. package/src/Icon/icons/Card.tsx +18 -0
  84. package/src/Icon/icons/CardLock.tsx +18 -0
  85. package/src/Icon/icons/CardRefill.tsx +18 -0
  86. package/src/Icon/icons/CardReissue.tsx +18 -0
  87. package/src/Icon/icons/CardScan.tsx +18 -0
  88. package/src/Icon/icons/CardToCard.tsx +18 -0
  89. package/src/Icon/icons/CardUnlock.tsx +18 -0
  90. package/src/Icon/icons/Change.tsx +18 -0
  91. package/src/Icon/icons/Chart.tsx +18 -0
  92. package/src/Icon/icons/Chat.tsx +18 -0
  93. package/src/Icon/icons/ChatSolid.tsx +18 -0
  94. package/src/Icon/icons/Check.tsx +18 -0
  95. package/src/Icon/icons/CheckCircle.tsx +18 -0
  96. package/src/Icon/icons/CheckCircleSolid.tsx +18 -0
  97. package/src/Icon/icons/CheckShield.tsx +20 -0
  98. package/src/Icon/icons/CheckSmall.tsx +18 -0
  99. package/src/Icon/icons/Checklist.tsx +18 -0
  100. package/src/Icon/icons/Circle.tsx +18 -0
  101. package/src/Icon/icons/Clock.tsx +18 -0
  102. package/src/Icon/icons/ClockSolid.tsx +18 -0
  103. package/src/Icon/icons/Close.tsx +18 -0
  104. package/src/Icon/icons/Coins.tsx +18 -0
  105. package/src/Icon/icons/Collapse.tsx +18 -0
  106. package/src/Icon/icons/Copy.tsx +18 -0
  107. package/src/Icon/icons/Cup.tsx +18 -0
  108. package/src/Icon/icons/CurrencyChange.tsx +18 -0
  109. package/src/Icon/icons/CurrencyTransfer.tsx +18 -0
  110. package/src/Icon/icons/Deposit.tsx +18 -0
  111. package/src/Icon/icons/Diamond.tsx +18 -0
  112. package/src/Icon/icons/Dislike.tsx +18 -0
  113. package/src/Icon/icons/DislikeSolid.tsx +18 -0
  114. package/src/Icon/icons/Doc.tsx +18 -0
  115. package/src/Icon/icons/DocCancel.tsx +18 -0
  116. package/src/Icon/icons/Dollar.tsx +18 -0
  117. package/src/Icon/icons/DoubleArrow.tsx +18 -0
  118. package/src/Icon/icons/DoubleTick.tsx +18 -0
  119. package/src/Icon/icons/Download.tsx +18 -0
  120. package/src/Icon/icons/Dropdown.tsx +18 -0
  121. package/src/Icon/icons/DropdownSmall.tsx +20 -0
  122. package/src/Icon/icons/DropdownSmallOld.tsx +20 -0
  123. package/src/Icon/icons/Dropup.tsx +18 -0
  124. package/src/Icon/icons/Edit.tsx +18 -0
  125. package/src/Icon/icons/Email.tsx +18 -0
  126. package/src/Icon/icons/Erase.tsx +16 -0
  127. package/src/Icon/icons/Excel.tsx +18 -0
  128. package/src/Icon/icons/Expand.tsx +18 -0
  129. package/src/Icon/icons/Eye.tsx +18 -0
  130. package/src/Icon/icons/EyeOff.tsx +18 -0
  131. package/src/Icon/icons/Favorite.tsx +18 -0
  132. package/src/Icon/icons/FavoriteSolid.tsx +18 -0
  133. package/src/Icon/icons/Fb.tsx +18 -0
  134. package/src/Icon/icons/FbCircle.tsx +18 -0
  135. package/src/Icon/icons/File.tsx +18 -0
  136. package/src/Icon/icons/FileAdd.tsx +18 -0
  137. package/src/Icon/icons/Files.tsx +18 -0
  138. package/src/Icon/icons/Filter.tsx +18 -0
  139. package/src/Icon/icons/Folder.tsx +18 -0
  140. package/src/Icon/icons/Geolocation.tsx +18 -0
  141. package/src/Icon/icons/Gift.tsx +18 -0
  142. package/src/Icon/icons/Globe.tsx +18 -0
  143. package/src/Icon/icons/Heart.tsx +18 -0
  144. package/src/Icon/icons/HeartSolid.tsx +18 -0
  145. package/src/Icon/icons/Help.tsx +18 -0
  146. package/src/Icon/icons/Home.tsx +18 -0
  147. package/src/Icon/icons/Housing.tsx +18 -0
  148. package/src/Icon/icons/Ig.tsx +18 -0
  149. package/src/Icon/icons/IgCircle.tsx +18 -0
  150. package/src/Icon/icons/Info.tsx +18 -0
  151. package/src/Icon/icons/InfoBook.tsx +18 -0
  152. package/src/Icon/icons/InfoSolid.tsx +18 -0
  153. package/src/Icon/icons/Italic.tsx +18 -0
  154. package/src/Icon/icons/Key.tsx +18 -0
  155. package/src/Icon/icons/Left.tsx +18 -0
  156. package/src/Icon/icons/Lightbulb.tsx +18 -0
  157. package/src/Icon/icons/Like.tsx +18 -0
  158. package/src/Icon/icons/LikeSolid.tsx +18 -0
  159. package/src/Icon/icons/Link.tsx +18 -0
  160. package/src/Icon/icons/Lock.tsx +18 -0
  161. package/src/Icon/icons/Logout.tsx +18 -0
  162. package/src/Icon/icons/MagicWand.tsx +18 -0
  163. package/src/Icon/icons/Mail.tsx +18 -0
  164. package/src/Icon/icons/MailSend.tsx +18 -0
  165. package/src/Icon/icons/Map.tsx +18 -0
  166. package/src/Icon/icons/MapPin.tsx +18 -0
  167. package/src/Icon/icons/MapPinSolid.tsx +18 -0
  168. package/src/Icon/icons/Menu.tsx +18 -0
  169. package/src/Icon/icons/Mic.tsx +18 -0
  170. package/src/Icon/icons/MicOff.tsx +18 -0
  171. package/src/Icon/icons/Minus.tsx +18 -0
  172. package/src/Icon/icons/MinusCircle.tsx +18 -0
  173. package/src/Icon/icons/MinusShort.tsx +18 -0
  174. package/src/Icon/icons/Moneybox.tsx +18 -0
  175. package/src/Icon/icons/More.tsx +18 -0
  176. package/src/Icon/icons/Move.tsx +18 -0
  177. package/src/Icon/icons/Newbie.tsx +20 -0
  178. package/src/Icon/icons/News.tsx +18 -0
  179. package/src/Icon/icons/Notes.tsx +18 -0
  180. package/src/Icon/icons/Notification.tsx +18 -0
  181. package/src/Icon/icons/Ok.tsx +18 -0
  182. package/src/Icon/icons/OkCircle.tsx +18 -0
  183. package/src/Icon/icons/Order.tsx +18 -0
  184. package/src/Icon/icons/OrderLoad.tsx +18 -0
  185. package/src/Icon/icons/OrderSend.tsx +18 -0
  186. package/src/Icon/icons/Pause.tsx +18 -0
  187. package/src/Icon/icons/PauseCircle.tsx +18 -0
  188. package/src/Icon/icons/Payment.tsx +18 -0
  189. package/src/Icon/icons/PhoneShake.tsx +18 -0
  190. package/src/Icon/icons/Play.tsx +18 -0
  191. package/src/Icon/icons/PlaySolid.tsx +18 -0
  192. package/src/Icon/icons/Plus.tsx +18 -0
  193. package/src/Icon/icons/PlusCircle.tsx +18 -0
  194. package/src/Icon/icons/Pos.tsx +18 -0
  195. package/src/Icon/icons/Print.tsx +18 -0
  196. package/src/Icon/icons/QrPay.tsx +18 -0
  197. package/src/Icon/icons/Redirect.tsx +18 -0
  198. package/src/Icon/icons/Refill.tsx +18 -0
  199. package/src/Icon/icons/Refund.tsx +18 -0
  200. package/src/Icon/icons/Reload.tsx +19 -0
  201. package/src/Icon/icons/Reply.tsx +18 -0
  202. package/src/Icon/icons/ReplyShape.tsx +18 -0
  203. package/src/Icon/icons/ReplyShapeSolid.tsx +18 -0
  204. package/src/Icon/icons/Request.tsx +18 -0
  205. package/src/Icon/icons/Right.tsx +18 -0
  206. package/src/Icon/icons/Route.tsx +18 -0
  207. package/src/Icon/icons/Ruble.tsx +18 -0
  208. package/src/Icon/icons/Sbp.tsx +18 -0
  209. package/src/Icon/icons/SbpColored.tsx +46 -0
  210. package/src/Icon/icons/Search.tsx +18 -0
  211. package/src/Icon/icons/Send.tsx +18 -0
  212. package/src/Icon/icons/Services.tsx +17 -0
  213. package/src/Icon/icons/Settings.tsx +17 -0
  214. package/src/Icon/icons/Share.tsx +18 -0
  215. package/src/Icon/icons/ShoppingCart.tsx +18 -0
  216. package/src/Icon/icons/Sign.tsx +18 -0
  217. package/src/Icon/icons/SlotMachine.tsx +18 -0
  218. package/src/Icon/icons/SortDown.tsx +18 -0
  219. package/src/Icon/icons/SortDownSolid.tsx +18 -0
  220. package/src/Icon/icons/SortUp.tsx +18 -0
  221. package/src/Icon/icons/SortUpSolid.tsx +18 -0
  222. package/src/Icon/icons/Stop.tsx +18 -0
  223. package/src/Icon/icons/Support.tsx +18 -0
  224. package/src/Icon/icons/Sync.tsx +18 -0
  225. package/src/Icon/icons/Table.tsx +18 -0
  226. package/src/Icon/icons/Tariffs.tsx +19 -0
  227. package/src/Icon/icons/Tg.tsx +18 -0
  228. package/src/Icon/icons/TgCircle.tsx +18 -0
  229. package/src/Icon/icons/Timeout.tsx +18 -0
  230. package/src/Icon/icons/Timer.tsx +18 -0
  231. package/src/Icon/icons/Transfer.tsx +17 -0
  232. package/src/Icon/icons/Trash.tsx +18 -0
  233. package/src/Icon/icons/TurnOff.tsx +18 -0
  234. package/src/Icon/icons/Twitter.tsx +18 -0
  235. package/src/Icon/icons/TwitterCircle.tsx +18 -0
  236. package/src/Icon/icons/Underline.tsx +18 -0
  237. package/src/Icon/icons/Unlink.tsx +18 -0
  238. package/src/Icon/icons/Unsorted.tsx +18 -0
  239. package/src/Icon/icons/UnsortedSolid.tsx +18 -0
  240. package/src/Icon/icons/Upload.tsx +18 -0
  241. package/src/Icon/icons/User.tsx +18 -0
  242. package/src/Icon/icons/UserAdd.tsx +18 -0
  243. package/src/Icon/icons/UserCard.tsx +18 -0
  244. package/src/Icon/icons/UserEdit.tsx +18 -0
  245. package/src/Icon/icons/UserQueue.tsx +18 -0
  246. package/src/Icon/icons/Viber.tsx +18 -0
  247. package/src/Icon/icons/ViberCircle.tsx +18 -0
  248. package/src/Icon/icons/ViewGrid.tsx +18 -0
  249. package/src/Icon/icons/ViewHorizontal.tsx +18 -0
  250. package/src/Icon/icons/ViewList.tsx +18 -0
  251. package/src/Icon/icons/ViewRows.tsx +18 -0
  252. package/src/Icon/icons/ViewVertical.tsx +18 -0
  253. package/src/Icon/icons/Vk.tsx +18 -0
  254. package/src/Icon/icons/VkCircle.tsx +18 -0
  255. package/src/Icon/icons/Wallet.tsx +17 -0
  256. package/src/Icon/icons/Warning.tsx +18 -0
  257. package/src/Icon/icons/WarningClean.tsx +18 -0
  258. package/src/Icon/icons/Whatsapp.tsx +18 -0
  259. package/src/Icon/icons/WhatsappCircle.tsx +18 -0
  260. package/src/Icon/icons/Wheelchair.tsx +18 -0
  261. package/src/Icon/icons/index.ts +209 -0
  262. package/src/Icon/index.ts +2 -0
  263. package/src/Input/Input.tsx +35 -0
  264. package/src/Input/InputMask.tsx +36 -0
  265. package/src/Input/index.ts +2 -0
  266. package/src/Input-OTP/Input.tsx +64 -0
  267. package/src/Input-OTP/index.ts +3 -0
  268. package/src/Label/Label.tsx +20 -0
  269. package/src/Label/index.ts +1 -0
  270. package/src/Logo/Logo.tsx +22 -0
  271. package/src/Logo/index.ts +3 -0
  272. package/src/Navbar/Navbar.tsx +21 -0
  273. package/src/Navbar/index.tsx +2 -0
  274. package/src/Page/Page.tsx +43 -0
  275. package/src/Page/index.ts +1 -0
  276. package/src/Popover/Popover.tsx +64 -0
  277. package/src/Popover/index.ts +5 -0
  278. package/src/Progress/Progress.tsx +31 -0
  279. package/src/Progress/index.ts +1 -0
  280. package/src/Select/Select.tsx +19 -0
  281. package/src/Select/SelectAccount.tsx +101 -0
  282. package/src/Select/SelectAccountCard.tsx +146 -0
  283. package/src/Select/SelectAsync.tsx +28 -0
  284. package/src/Select/SelectBase.tsx +54 -0
  285. package/src/Select/components/components.tsx +186 -0
  286. package/src/Select/components/index.tsx +15 -0
  287. package/src/Select/index.ts +5 -0
  288. package/src/Skeleton/Skeleton.tsx +25 -0
  289. package/src/Skeleton/index.ts +1 -0
  290. package/src/Slider/Slider.tsx +38 -0
  291. package/src/Slider/index.ts +4 -0
  292. package/src/Swipe2Show/Swipe2Show.tsx +71 -0
  293. package/src/Swipe2Show/index.ts +1 -0
  294. package/src/Switch/Switch.tsx +59 -0
  295. package/src/Switch/index.ts +1 -0
  296. package/src/Tabs/Tabs.tsx +106 -0
  297. package/src/Tabs/index.ts +1 -0
  298. package/src/Textarea/Textarea.tsx +35 -0
  299. package/src/Textarea/index.ts +1 -0
  300. package/src/Toaster/Toaster.tsx +71 -0
  301. package/src/Toaster/index.ts +1 -0
  302. package/src/assets/css/global.css +209 -0
  303. package/src/assets/fonts/Roboto-Italic.ttf +0 -0
  304. package/src/assets/fonts/Roboto-Italic.woff2 +0 -0
  305. package/src/assets/fonts/Roboto.ttf +0 -0
  306. package/src/assets/fonts/Roboto.woff2 +0 -0
  307. package/src/assets/images/logo/1c.svg +1 -0
  308. package/src/assets/images/logo/bank/emblem-white.svg +1 -0
  309. package/src/assets/images/logo/bank/emblem.svg +1 -0
  310. package/src/assets/images/logo/bank/logo-white.svg +1 -0
  311. package/src/assets/images/logo/bank/logo.svg +1 -0
  312. package/src/assets/images/logo/garant/emblem-white.svg +1 -0
  313. package/src/assets/images/logo/garant/emblem.svg +1 -0
  314. package/src/assets/images/logo/garant/logo-white.svg +1 -0
  315. package/src/assets/images/logo/garant/logo.svg +1 -0
  316. package/src/assets/images/logo/kassa/emblem-white.svg +1 -0
  317. package/src/assets/images/logo/kassa/emblem.svg +1 -0
  318. package/src/assets/images/logo/kassa/logo-white.svg +1 -0
  319. package/src/assets/images/logo/kassa/logo.svg +1 -0
  320. package/src/assets/images/logo/sbp-logo.svg +1 -0
  321. package/src/assets/images/statusbar.svg +1 -0
  322. package/src/index.ts +134 -0
  323. package/src/pages/payments/SmsSign/sms-sign.tsx +91 -0
  324. package/dist/@/config/button.d.ts +0 -78
  325. package/dist/@/config/index.d.ts +0 -223
  326. package/dist/@/config/index.js +0 -1
  327. package/dist/@/config/label.d.ts +0 -90
  328. package/dist/Alert/index.js +0 -1
  329. package/dist/AlertDialog/index.js +0 -21
  330. package/dist/Audio/index.js +0 -11
  331. package/dist/Badge/index.js +0 -1
  332. package/dist/Base/Input/Base.d.ts +0 -4
  333. package/dist/Base/Input/Input.d.ts +0 -4
  334. package/dist/Base/Input/index.d.ts +0 -2
  335. package/dist/Base/Input/index.js +0 -1
  336. package/dist/Base/Input/types.d.ts +0 -9
  337. package/dist/Base/Links/TextLink.d.ts +0 -4
  338. package/dist/Base/Links/index.d.ts +0 -2
  339. package/dist/Base/Links/index.js +0 -1
  340. package/dist/BottomNavigation/index.js +0 -11
  341. package/dist/Button/index.js +0 -11
  342. package/dist/Calendar/index.js +0 -1
  343. package/dist/Chat/index.js +0 -1
  344. package/dist/Checkbox/index.js +0 -11
  345. package/dist/Chip/index.js +0 -11
  346. package/dist/Collapsible/index.js +0 -11
  347. package/dist/DatePicker/index.js +0 -11
  348. package/dist/DigitKeyPad/index.js +0 -1
  349. package/dist/Drawer/index.js +0 -15
  350. package/dist/FavoritePyments/index.js +0 -1
  351. package/dist/Form/index.js +0 -11
  352. package/dist/Icon/icons/index.js +0 -1
  353. package/dist/Icon/index.js +0 -1
  354. package/dist/Input/index.js +0 -1
  355. package/dist/Input-OTP/index.js +0 -20
  356. package/dist/Label/index.js +0 -11
  357. package/dist/Logo/index.js +0 -1
  358. package/dist/Navbar/Navbar.d.ts +0 -6
  359. package/dist/Navbar/index.d.ts +0 -1
  360. package/dist/Navbar/index.js +0 -1
  361. package/dist/Page/index.js +0 -1
  362. package/dist/Popover/index.js +0 -11
  363. package/dist/Progress/index.js +0 -16
  364. package/dist/Select/components/index.js +0 -10
  365. package/dist/Select/index.js +0 -10
  366. package/dist/Skeleton/index.js +0 -1
  367. package/dist/Slider/index.js +0 -11
  368. package/dist/Swipe2Show/index.js +0 -1
  369. package/dist/Switch/index.js +0 -11
  370. package/dist/Tabs/index.js +0 -11
  371. package/dist/Textarea/index.js +0 -1
  372. package/dist/Toaster/index.js +0 -2
@@ -0,0 +1,101 @@
1
+ import * as React from 'react'
2
+ import { CheckSmall } from '../../src/Icon'
3
+ import Select, { components, OptionProps, SingleValueProps, GroupBase, Props } from 'react-select'
4
+ import { cn } from '../@/lib/utils'
5
+ import {
6
+ colourStyles,
7
+ Control,
8
+ DropdownIndicator,
9
+ IndicatorsContainer,
10
+ Input,
11
+ LoadingIndicator,
12
+ Menu,
13
+ optionClasses,
14
+ Placeholder,
15
+ ValueContainer,
16
+ } from './components'
17
+
18
+ const Option = ({ children, ...props }: OptionProps) => {
19
+ const {
20
+ isSelected,
21
+ isFocused,
22
+ isDisabled,
23
+ // @ts-ignore
24
+ data: { label, account, balance, cur },
25
+ } = props
26
+ return (
27
+ <components.Option
28
+ className={cn(optionClasses, 'items-start', { 'bg-light': isFocused }, { 'opacity-50 pointer-events-none': isDisabled })}
29
+ {...props}
30
+ >
31
+ <span className="flex basis-0 grow">
32
+ <span>
33
+ <span className="text-[16px`] leading-[1.375]">{label}</span>
34
+ <br />
35
+ <span className="text-[12px] text-light">{account}</span>
36
+ </span>
37
+ <span className="ml-auto shrink-0">{cur}</span>
38
+ </span>
39
+
40
+ <span className="ml-[16px] shrink-0 size-[24px]">
41
+ {isSelected && (
42
+ <CheckSmall
43
+ width="24"
44
+ height="24"
45
+ className="text-primary"
46
+ />
47
+ )}
48
+ </span>
49
+ </components.Option>
50
+ )
51
+ }
52
+
53
+ const SingleValue = ({ children, ...props }: SingleValueProps) => {
54
+ const {
55
+ // @ts-ignore
56
+ data: { account, cur },
57
+ } = props
58
+ return (
59
+ <components.SingleValue
60
+ className="col-start-1 col-end-3 row-start-1 row-end-2"
61
+ {...props}
62
+ >
63
+ {account} ({cur})
64
+ </components.SingleValue>
65
+ )
66
+ }
67
+
68
+ type SelectAccountProps<
69
+ Option,
70
+ IsMulti extends boolean = false,
71
+ Group extends GroupBase<Option> = GroupBase<Option>
72
+ > = Props<Option, IsMulti, Group>
73
+
74
+ function SelectAccount<Option, IsMulti extends boolean = false, Group extends GroupBase<Option> = GroupBase<Option>>(
75
+ props: SelectAccountProps<Option, IsMulti, Group>
76
+ ) {
77
+ return (
78
+ <Select
79
+ components={{
80
+ Control,
81
+ Option,
82
+ SingleValue,
83
+ DropdownIndicator,
84
+ IndicatorSeparator: () => null,
85
+ Menu,
86
+ ValueContainer,
87
+ Placeholder,
88
+ Input,
89
+ LoadingIndicator,
90
+ IndicatorsContainer,
91
+ }}
92
+ styles={colourStyles}
93
+ unstyled={true}
94
+ {...props}
95
+ />
96
+ )
97
+ }
98
+
99
+ SelectAccount.displayName = 'SelectAccount'
100
+
101
+ export { SelectAccount }
@@ -0,0 +1,146 @@
1
+ import * as React from 'react'
2
+ import { DropdownSmallOld, CheckSmall } from '../../src/Icon'
3
+ import Select, {
4
+ components,
5
+ ControlProps,
6
+ OptionProps,
7
+ DropdownIndicatorProps,
8
+ SingleValueProps,
9
+ Props,
10
+ GroupBase,
11
+ } from 'react-select'
12
+ import { cn } from '../@/lib/utils'
13
+ import { colourStyles, Menu, optionClasses, ValueContainer } from './components'
14
+
15
+ const selectTriggerClasses: string = `
16
+ flex
17
+ items-center
18
+ py-[8px]
19
+ px-[16px]
20
+ min-h-[80px]
21
+ border-none
22
+ rounded-md
23
+ text-left
24
+ text-white
25
+ bg-gradient-to-r
26
+ from-[--cl-blue-3]
27
+ to-primary
28
+ shadow-[0px_8px_18px_0px_rgba(73,113,208,0.38)]
29
+ cursor-pointer
30
+ `
31
+ const Control = ({ children, ...props }: ControlProps) => {
32
+ const { isFocused } = props
33
+ return (
34
+ <components.Control
35
+ className={cn(
36
+ selectTriggerClasses,
37
+ { 'outline outline-primary outline-offset-2 outline-2': isFocused }
38
+ )}
39
+ {...props}
40
+ >
41
+ {children}
42
+ </components.Control>
43
+ )
44
+ }
45
+
46
+ const Option = ({ children, ...props }: OptionProps) => {
47
+ const {
48
+ isSelected,
49
+ isFocused,
50
+ isDisabled,
51
+ // @ts-ignore
52
+ data: { label, account, balance, cur },
53
+ } = props
54
+ return (
55
+ <components.Option
56
+ className={cn(optionClasses, { 'bg-light': isFocused }, { 'opacity-50 pointer-events-none': isDisabled })}
57
+ {...props}
58
+ >
59
+ <span className="flex basis-0 grow">
60
+ <span>
61
+ <span>{label}</span>
62
+ <br />
63
+ <span className="text-[14px] text-light">{account}</span>
64
+ </span>
65
+ <span className="ml-auto shrink-0">
66
+ {balance}&nbsp;{cur}
67
+ </span>
68
+ </span>
69
+
70
+ <span className="ml-[16px] shrink-0 size-[24px]">
71
+ {isSelected && (
72
+ <CheckSmall
73
+ width="24"
74
+ height="24"
75
+ className="text-primary"
76
+ />
77
+ )}
78
+ </span>
79
+ </components.Option>
80
+ )
81
+ }
82
+
83
+ const DropdownIndicator = ({ children, ...props }: DropdownIndicatorProps) => {
84
+ return (
85
+ <components.DropdownIndicator
86
+ className="shrink-0"
87
+ {...props}
88
+ >
89
+ <DropdownSmallOld
90
+ className="text-white"
91
+ width="16"
92
+ height="16"
93
+ />
94
+ </components.DropdownIndicator>
95
+ )
96
+ }
97
+
98
+ const SingleValue = ({ children, ...props }: SingleValueProps) => {
99
+ // @ts-ignore
100
+ const { label, account, balance, cur } = props.data
101
+ return (
102
+ <components.SingleValue
103
+ className="col-start-1 col-end-3 row-start-1 row-end-2"
104
+ {...props}
105
+ >
106
+ <span className="block max-w-full text-[16px] truncate leading-[1.5]">
107
+ {label} <span className="opacity-75 text-[14px] leading-[1.42]">{account}</span>
108
+ </span>
109
+ <span className="block mt-[8px] font-medium text-[24px] leading-[1.333]">
110
+ {balance} {cur}
111
+ </span>
112
+ </components.SingleValue>
113
+ )
114
+ }
115
+
116
+ type SelectAccountCardProps<
117
+ Option,
118
+ IsMulti extends boolean = false,
119
+ Group extends GroupBase<Option> = GroupBase<Option>
120
+ > = Props<Option, IsMulti, Group>
121
+
122
+ const SelectAccountCard = <
123
+ Option,
124
+ IsMulti extends boolean = false,
125
+ Group extends GroupBase<Option> = GroupBase<Option>
126
+ >(props: SelectAccountCardProps<Option, IsMulti, Group>) => {
127
+ return (
128
+ <Select
129
+ isSearchable={false}
130
+ components={{
131
+ Control,
132
+ Option,
133
+ SingleValue,
134
+ DropdownIndicator,
135
+ IndicatorSeparator: () => null,
136
+ Menu,
137
+ ValueContainer,
138
+ }}
139
+ styles={colourStyles}
140
+ unstyled={true}
141
+ {...props}
142
+ />
143
+ )
144
+ }
145
+
146
+ export { SelectAccountCard }
@@ -0,0 +1,28 @@
1
+ import * as React from 'react'
2
+ import AsyncSelect from 'react-select/async'
3
+ import { colourStyles, Control, DropdownIndicator, IndicatorsContainer, Input, LoadingIndicator, Menu, Option, Placeholder, SingleValue, ValueContainer } from './components'
4
+
5
+ const SelectAsync = ({ ...props }) => (
6
+ <AsyncSelect
7
+ components={{
8
+ Control,
9
+ Option,
10
+ SingleValue,
11
+ DropdownIndicator,
12
+ IndicatorSeparator: () => null,
13
+ Menu,
14
+ ValueContainer,
15
+ Placeholder,
16
+ Input,
17
+ LoadingIndicator,
18
+ IndicatorsContainer
19
+ }}
20
+ styles={colourStyles}
21
+ unstyled={true}
22
+ {...props}
23
+ />
24
+ )
25
+
26
+ SelectAsync.displayName = 'SelectAsync'
27
+
28
+ export { SelectAsync }
@@ -0,0 +1,54 @@
1
+ import * as React from 'react'
2
+
3
+ import Select, {
4
+ GroupBase,
5
+ Props,
6
+ } from 'react-select'
7
+ import {
8
+ colourStyles,
9
+ Control,
10
+ DropdownIndicator,
11
+ IndicatorsContainer,
12
+ Input,
13
+ LoadingIndicator,
14
+ Menu,
15
+ Placeholder,
16
+ SingleValue,
17
+ ValueContainer,
18
+ Option,
19
+ } from './components'
20
+
21
+ type SelectBaseProps<
22
+ Option,
23
+ IsMulti extends boolean = false,
24
+ Group extends GroupBase<Option> = GroupBase<Option>
25
+ > = Props<Option, IsMulti, Group>
26
+
27
+ function SelectBase<Option, IsMulti extends boolean = false, Group extends GroupBase<Option> = GroupBase<Option>>(
28
+ props: SelectBaseProps<Option, IsMulti, Group>
29
+ ) {
30
+ return (
31
+ <Select
32
+ components={{
33
+ Control,
34
+ Option,
35
+ SingleValue,
36
+ DropdownIndicator,
37
+ IndicatorSeparator: () => null,
38
+ Menu,
39
+ ValueContainer,
40
+ Placeholder,
41
+ Input,
42
+ LoadingIndicator,
43
+ IndicatorsContainer,
44
+ }}
45
+ styles={colourStyles}
46
+ unstyled={true}
47
+ {...props}
48
+ />
49
+ )
50
+ }
51
+
52
+ SelectBase.displayName = 'SelectBase'
53
+
54
+ export { SelectBase }
@@ -0,0 +1,186 @@
1
+ import React from 'react'
2
+ import {
3
+ components,
4
+ ControlProps,
5
+ OptionProps,
6
+ DropdownIndicatorProps,
7
+ StylesConfig,
8
+ SingleValueProps,
9
+ MenuProps,
10
+ PlaceholderProps,
11
+ ValueContainerProps,
12
+ InputProps,
13
+ LoadingIndicatorProps,
14
+ IndicatorsContainerProps,
15
+ } from 'react-select'
16
+ import { cn } from '../../@/lib/utils'
17
+ import { CheckSmall, DropdownSmallOld } from '../../Icon'
18
+
19
+ const Input = ({ ...props }: InputProps) => {
20
+ return (
21
+ <components.Input
22
+ className="col-start-1 col-end-3 row-start-1 row-end-2"
23
+ {...props}
24
+ />
25
+ )
26
+ }
27
+
28
+ const selectTriggerClasses: string = `
29
+ flex
30
+ items-center
31
+ py-[12px]
32
+ px-[16px]
33
+ h-[44px]
34
+ text-left
35
+ border-[1px]
36
+ border-input
37
+ rounded-sm
38
+ cursor-pointer
39
+ `
40
+ const Control = ({ children, ...props }: ControlProps) => {
41
+ const { isFocused } = props
42
+ return (
43
+ <components.Control
44
+ className={cn(selectTriggerClasses, { 'outline outline-primary outline-offset-2 outline-2': isFocused })}
45
+ {...props}
46
+ >
47
+ {children}
48
+ </components.Control>
49
+ )
50
+ }
51
+
52
+ const colourStyles: StylesConfig = {
53
+ control: () => ({}),
54
+ option: () => ({}),
55
+ input: () => ({}),
56
+ dropdownIndicator: () => ({}),
57
+ indicatorsContainer: () => ({}),
58
+ menu: () => ({}),
59
+ menuList: () => ({}),
60
+ singleValue: () => ({}),
61
+ valueContainer: () => ({}),
62
+ }
63
+
64
+ const optionClasses =
65
+ 'flex items-center first:rounded-t-sm last:rounded-b-sm px-[16px] py-[12px] w-full cursor-default select-none outline-none'
66
+
67
+ const Option = ({ children, ...props }: OptionProps) => {
68
+ const { isSelected, isFocused, isDisabled } = props
69
+ return (
70
+ <components.Option
71
+ className={cn(
72
+ optionClasses,
73
+ 'items-start',
74
+ { 'bg-light': isFocused },
75
+ { 'opacity-50 pointer-events-none': isDisabled }
76
+ )}
77
+ {...props}
78
+ >
79
+ <span className="flex basis-0 grow">{children}</span>
80
+
81
+ <span className="ml-[16px] shrink-0 size-[24px]">
82
+ {isSelected && (
83
+ <CheckSmall
84
+ width="24"
85
+ height="24"
86
+ className="text-primary"
87
+ />
88
+ )}
89
+ </span>
90
+ </components.Option>
91
+ )
92
+ }
93
+
94
+ const IndicatorsContainer = ({ children, ...props }: IndicatorsContainerProps) => {
95
+ return (
96
+ <components.IndicatorsContainer
97
+ className="flex items-center gap-x-[8px] shrink-0"
98
+ {...props}
99
+ >
100
+ {children}
101
+ </components.IndicatorsContainer>
102
+ )
103
+ }
104
+
105
+ const LoadingIndicator = ({ ...props }: LoadingIndicatorProps) => {
106
+ return (
107
+ <components.LoadingIndicator
108
+ className="text-light shrink-0"
109
+ {...props}
110
+ />
111
+ )
112
+ }
113
+
114
+ const DropdownIndicator = ({ children, ...props }: DropdownIndicatorProps) => {
115
+ return (
116
+ <components.DropdownIndicator
117
+ className="shrink-0"
118
+ {...props}
119
+ >
120
+ <DropdownSmallOld
121
+ className="text-light"
122
+ width="12"
123
+ height="12"
124
+ />
125
+ </components.DropdownIndicator>
126
+ )
127
+ }
128
+
129
+ const ValueContainer = ({ children, ...props }: ValueContainerProps) => {
130
+ return (
131
+ <components.ValueContainer
132
+ className="flex-1 grid"
133
+ {...props}
134
+ >
135
+ {children}
136
+ </components.ValueContainer>
137
+ )
138
+ }
139
+
140
+ const SingleValue = ({ children, ...props }: SingleValueProps) => {
141
+ return (
142
+ <components.SingleValue
143
+ className="col-start-1 col-end-3 row-start-1 row-end-2"
144
+ {...props}
145
+ >
146
+ {children}
147
+ </components.SingleValue>
148
+ )
149
+ }
150
+
151
+ const Menu = ({ children, ...props }: MenuProps) => {
152
+ return (
153
+ <components.Menu
154
+ className="z-[1] absolute inset-x-0 bg-page shadow-sm mt-[8px] rounded-sm"
155
+ {...props}
156
+ >
157
+ {children}
158
+ </components.Menu>
159
+ )
160
+ }
161
+
162
+ const Placeholder = ({ children, ...props }: PlaceholderProps) => {
163
+ return (
164
+ <components.Placeholder
165
+ className="col-start-1 col-end-3 row-start-1 row-end-2 text-[16px] text-light truncate"
166
+ {...props}
167
+ >
168
+ {children}
169
+ </components.Placeholder>
170
+ )
171
+ }
172
+
173
+ export {
174
+ Input,
175
+ Control,
176
+ colourStyles,
177
+ optionClasses,
178
+ Option,
179
+ IndicatorsContainer,
180
+ LoadingIndicator,
181
+ DropdownIndicator,
182
+ ValueContainer,
183
+ SingleValue,
184
+ Menu,
185
+ Placeholder,
186
+ }
@@ -0,0 +1,15 @@
1
+ export {
2
+ Input,
3
+ Control,
4
+ colourStyles,
5
+ optionClasses,
6
+ Option,
7
+ IndicatorsContainer,
8
+ LoadingIndicator,
9
+ DropdownIndicator,
10
+ ValueContainer,
11
+ SingleValue,
12
+ Menu,
13
+ Placeholder,
14
+
15
+ } from './components'
@@ -0,0 +1,5 @@
1
+ export { SelectAccountCard } from './SelectAccountCard'
2
+ export { SelectAccount } from './SelectAccount'
3
+ export { SelectAsync } from './SelectAsync'
4
+ export { SelectBase } from './SelectBase'
5
+ export { Select } from './Select'
@@ -0,0 +1,25 @@
1
+ import React, { FC, HTMLAttributes } from 'react'
2
+ import { cn } from '../@/lib/utils'
3
+
4
+ interface ISkeletonProps {
5
+ displayName: string
6
+ Item: typeof Item
7
+ }
8
+
9
+ const Skeleton: FC<HTMLAttributes<HTMLDivElement>> & ISkeletonProps = ({ className, children, ...props }) => {
10
+ return (
11
+ <div className={className} {...props} role="status">
12
+ {children}
13
+ </div>
14
+ )
15
+ }
16
+
17
+ const Item: FC<HTMLAttributes<HTMLDivElement>> = ({ className }) => (
18
+ <div className={cn('animate-pulse bg-[--skeleton-bg] rounded-sm', className)} />
19
+ )
20
+ Skeleton.displayName = 'Skeleton'
21
+
22
+ Skeleton.Item = Item
23
+ Skeleton.Item.displayName = 'Skeleton.Item'
24
+
25
+ export { Skeleton }
@@ -0,0 +1 @@
1
+ export { Skeleton } from "./Skeleton";
@@ -0,0 +1,38 @@
1
+ import * as React from 'react'
2
+ import * as SliderPrimitive from '@radix-ui/react-slider'
3
+ import cn from 'clsx'
4
+
5
+ const sliderThumb = `
6
+ block
7
+ size-5
8
+ border-2
9
+ border-primary
10
+ bg-background
11
+ rounded-full
12
+ ring-offset-background
13
+ focus-visible:ring-2
14
+ focus-visible:ring-ring
15
+ focus-visible:ring-offset-2
16
+ focus-visible:outline-none
17
+ disabled:pointer-events-none
18
+ disabled:opacity-50
19
+ transition-colors
20
+ `
21
+
22
+ const Slider = React.forwardRef<
23
+ React.ElementRef<typeof SliderPrimitive.Root>,
24
+ React.ComponentPropsWithoutRef<typeof SliderPrimitive.Root>
25
+ >(({ className = '', ...props }, ref) => (
26
+ <SliderPrimitive.Root
27
+ ref={ref}
28
+ className={cn('relative flex w-full touch-none select-none items-center', className)}
29
+ {...props}
30
+ >
31
+ <SliderPrimitive.Track className="relative bg-secondary rounded-full w-full h-2 overflow-hidden grow">
32
+ <SliderPrimitive.Range className="absolute bg-primary h-full" />
33
+ </SliderPrimitive.Track>
34
+ <SliderPrimitive.Thumb className={sliderThumb} />
35
+ </SliderPrimitive.Root>
36
+ ))
37
+
38
+ export default Slider
@@ -0,0 +1,4 @@
1
+ import Slider from './Slider'
2
+
3
+ export { Slider }
4
+ export default Slider
@@ -0,0 +1,71 @@
1
+ import React, { cloneElement, FC, useCallback, useEffect, useRef, useState } from 'react'
2
+ import { useSwipeable } from 'react-swipeable'
3
+
4
+ interface IProps extends React.PropsWithChildren {
5
+ contentToShowRight: React.ReactNode
6
+ }
7
+
8
+ const Swipe2Show: FC<IProps> = ({ children, contentToShowRight }) => {
9
+ const wrapperRef = useRef<HTMLDivElement>(null)
10
+ const actionRef = useRef<HTMLDivElement>(null)
11
+ const [showRight, setShowRight] = useState(false)
12
+ const translateX = actionRef.current?.offsetWidth
13
+
14
+ const handlers = useSwipeable({
15
+ onSwipedLeft: () => setShowRight(true),
16
+ onSwipedRight: () => setShowRight(false),
17
+ swipeDuration: 500,
18
+ preventScrollOnSwipe: true,
19
+ trackMouse: true,
20
+ })
21
+
22
+ const checkClickOutside = (evt) => {
23
+ if (showRight && wrapperRef.current && !wrapperRef.current.contains(evt.target)) {
24
+ setShowRight(false)
25
+ }
26
+ }
27
+
28
+ useEffect(() => {
29
+ document.addEventListener('mousedown', checkClickOutside)
30
+ document.addEventListener('touchstart', checkClickOutside)
31
+
32
+ return () => {
33
+ document.removeEventListener('mousedown', checkClickOutside)
34
+ document.removeEventListener('touchstart', checkClickOutside)
35
+ }
36
+ })
37
+
38
+ return (
39
+ <div
40
+ style={{ position: 'relative' }}
41
+ ref={wrapperRef}
42
+ >
43
+ {cloneElement(children as React.ReactElement<any>, {
44
+ style: {
45
+ position: 'relative',
46
+ transform: showRight && `translateX(-${translateX}px)`,
47
+ transition: 'transform .15s ease-in-out',
48
+ width: '100%',
49
+ zIndex: '1',
50
+ touchAction: 'pan-x',
51
+ },
52
+ ...handlers,
53
+ })}
54
+ <div
55
+ ref={actionRef}
56
+ style={{
57
+ position: 'absolute',
58
+ top: '.5px',
59
+ right: '0',
60
+ bottom: '.5px',
61
+ opacity: `${showRight ? '1' : '0'}`,
62
+ transition: 'opacity .15s ease-in-out',
63
+ }}
64
+ >
65
+ {contentToShowRight}
66
+ </div>
67
+ </div>
68
+ )
69
+ }
70
+
71
+ export { Swipe2Show }
@@ -0,0 +1 @@
1
+ export { Swipe2Show } from './Swipe2Show'