@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.
- package/dist/1476644af6cec1bd02a8.svg +1 -0
- package/dist/2deb3e3ba437d0581b29.svg +1 -0
- package/dist/302a770df56183f57b8f.svg +1 -0
- package/dist/49544592ad8cdafd48da.svg +1 -0
- package/dist/5353644099f4ce1b7bfb.svg +1 -0
- package/dist/53d3b89e5caf3efddf2f.svg +1 -0
- package/dist/8b4291644fa951602fbf.svg +1 -0
- package/dist/BankCardImage/BankCardImage.d.ts +8 -0
- package/dist/BankCardImage/index.d.ts +1 -0
- package/dist/BankCardImage/index.js +1 -0
- package/dist/Calendar/index.js +1 -1
- package/dist/Chip/Chip.d.ts +1 -1
- package/dist/DatePicker/index.js +1 -1
- package/dist/Input/index.js +1 -1
- package/dist/Input-OTP/Input.d.ts +4 -4
- package/dist/assets/css/global.css +1 -0
- package/{src → dist}/assets/fonts/Roboto-Italic.ttf +0 -0
- package/{src → dist}/assets/fonts/Roboto.ttf +0 -0
- package/dist/e02563d712f5569fb640.svg +1 -0
- package/dist/fa6c9ce5bcdc19d33629.svg +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.js +11 -11
- package/package.json +11 -12
- package/dist/5df09ceadd47d11f8760.woff2 +0 -0
- package/dist/ac50880e253005087d8a.woff2 +0 -0
- package/dist/index.css +0 -1
- package/src/@/config/button.ts +0 -77
- package/src/@/config/index.ts +0 -97
- package/src/@/config/label.ts +0 -89
- package/src/@/lib/utils.ts +0 -7
- package/src/Alert/Alert.tsx +0 -81
- package/src/Alert/index.ts +0 -1
- package/src/AlertDialog/AlertDialog.tsx +0 -137
- package/src/AlertDialog/index.ts +0 -13
- package/src/Audio/Audio.styl +0 -115
- package/src/Audio/Audio.tsx +0 -359
- package/src/Audio/index.ts +0 -4
- package/src/Audio/types.ts +0 -40
- package/src/Badge/Badge.tsx +0 -58
- package/src/Badge/index.ts +0 -1
- package/src/Base/Input/Base.tsx +0 -37
- package/src/Base/Input/Input.tsx +0 -42
- package/src/Base/Input/index.ts +0 -3
- package/src/Base/Input/types.ts +0 -11
- package/src/Base/Links/TextLink.tsx +0 -16
- package/src/Base/Links/index.ts +0 -3
- package/src/BottomNavigation/BottomNavigation.tsx +0 -62
- package/src/BottomNavigation/index.ts +0 -1
- package/src/Button/Button.tsx +0 -124
- package/src/Button/ButtonWidget.tsx +0 -67
- package/src/Button/index.ts +0 -2
- package/src/Calendar/Calendar.tsx +0 -61
- package/src/Calendar/index.ts +0 -1
- package/src/Chat/MessageTyping.tsx +0 -61
- package/src/Chat/index.ts +0 -1
- package/src/Checkbox/Checkbox.tsx +0 -28
- package/src/Checkbox/index.ts +0 -1
- package/src/Chip/Chip.tsx +0 -55
- package/src/Chip/index.ts +0 -1
- package/src/Collapsible/AccountCollapsible.tsx +0 -79
- package/src/Collapsible/Collapsible.tsx +0 -13
- package/src/Collapsible/index.ts +0 -8
- package/src/DatePicker/DatePicker.tsx +0 -41
- package/src/DatePicker/index.ts +0 -1
- package/src/DigitKeyPad/DigitKeyPad.tsx +0 -69
- package/src/DigitKeyPad/index.ts +0 -1
- package/src/Drawer/Drawer.tsx +0 -89
- package/src/Drawer/index.ts +0 -7
- package/src/FavoritePyments/FavoritePaymentsList.tsx +0 -40
- package/src/FavoritePyments/index.ts +0 -1
- package/src/Form/Form.tsx +0 -154
- package/src/Form/index.ts +0 -1
- package/src/Icon/SvgIcon.tsx +0 -32
- package/src/Icon/icons/AddList.tsx +0 -19
- package/src/Icon/icons/AlertCircle.tsx +0 -18
- package/src/Icon/icons/AlertCircleSolid.tsx +0 -18
- package/src/Icon/icons/AlertDiamond.tsx +0 -18
- package/src/Icon/icons/AlertDiamondSolid.tsx +0 -18
- package/src/Icon/icons/AlertShield.tsx +0 -18
- package/src/Icon/icons/Android.tsx +0 -18
- package/src/Icon/icons/Apple.tsx +0 -18
- package/src/Icon/icons/Archive.tsx +0 -18
- package/src/Icon/icons/ArrowCircle.tsx +0 -18
- package/src/Icon/icons/ArrowDown.tsx +0 -18
- package/src/Icon/icons/ArrowLeft.tsx +0 -18
- package/src/Icon/icons/ArrowRight.tsx +0 -18
- package/src/Icon/icons/ArrowUp.tsx +0 -18
- package/src/Icon/icons/ArrowUpCorner.tsx +0 -18
- package/src/Icon/icons/ArrowsChange.tsx +0 -18
- package/src/Icon/icons/Atm.tsx +0 -18
- package/src/Icon/icons/Attach.tsx +0 -18
- package/src/Icon/icons/Bank.tsx +0 -18
- package/src/Icon/icons/Bold.tsx +0 -18
- package/src/Icon/icons/Bonus.tsx +0 -18
- package/src/Icon/icons/Building.tsx +0 -18
- package/src/Icon/icons/Calendar.tsx +0 -18
- package/src/Icon/icons/CalendarCancel.tsx +0 -18
- package/src/Icon/icons/Call.tsx +0 -18
- package/src/Icon/icons/CallEnd.tsx +0 -18
- package/src/Icon/icons/CallMissed.tsx +0 -18
- package/src/Icon/icons/Callback.tsx +0 -18
- package/src/Icon/icons/Camera.tsx +0 -18
- package/src/Icon/icons/Cancel.tsx +0 -18
- package/src/Icon/icons/CancelSolid.tsx +0 -18
- package/src/Icon/icons/Card.tsx +0 -18
- package/src/Icon/icons/CardLock.tsx +0 -18
- package/src/Icon/icons/CardRefill.tsx +0 -18
- package/src/Icon/icons/CardReissue.tsx +0 -18
- package/src/Icon/icons/CardScan.tsx +0 -18
- package/src/Icon/icons/CardToCard.tsx +0 -18
- package/src/Icon/icons/CardUnlock.tsx +0 -18
- package/src/Icon/icons/Change.tsx +0 -18
- package/src/Icon/icons/Chart.tsx +0 -18
- package/src/Icon/icons/Chat.tsx +0 -18
- package/src/Icon/icons/ChatSolid.tsx +0 -18
- package/src/Icon/icons/Check.tsx +0 -18
- package/src/Icon/icons/CheckCircle.tsx +0 -18
- package/src/Icon/icons/CheckCircleSolid.tsx +0 -18
- package/src/Icon/icons/CheckShield.tsx +0 -20
- package/src/Icon/icons/CheckSmall.tsx +0 -18
- package/src/Icon/icons/Checklist.tsx +0 -18
- package/src/Icon/icons/Circle.tsx +0 -18
- package/src/Icon/icons/Clock.tsx +0 -18
- package/src/Icon/icons/ClockSolid.tsx +0 -18
- package/src/Icon/icons/Close.tsx +0 -18
- package/src/Icon/icons/Coins.tsx +0 -18
- package/src/Icon/icons/Collapse.tsx +0 -18
- package/src/Icon/icons/Copy.tsx +0 -18
- package/src/Icon/icons/Cup.tsx +0 -18
- package/src/Icon/icons/CurrencyChange.tsx +0 -18
- package/src/Icon/icons/CurrencyTransfer.tsx +0 -18
- package/src/Icon/icons/Deposit.tsx +0 -18
- package/src/Icon/icons/Diamond.tsx +0 -18
- package/src/Icon/icons/Dislike.tsx +0 -18
- package/src/Icon/icons/DislikeSolid.tsx +0 -18
- package/src/Icon/icons/Doc.tsx +0 -18
- package/src/Icon/icons/DocCancel.tsx +0 -18
- package/src/Icon/icons/Dollar.tsx +0 -18
- package/src/Icon/icons/DoubleArrow.tsx +0 -18
- package/src/Icon/icons/DoubleTick.tsx +0 -18
- package/src/Icon/icons/Download.tsx +0 -18
- package/src/Icon/icons/Dropdown.tsx +0 -18
- package/src/Icon/icons/DropdownSmall.tsx +0 -20
- package/src/Icon/icons/DropdownSmallOld.tsx +0 -20
- package/src/Icon/icons/Dropup.tsx +0 -18
- package/src/Icon/icons/Edit.tsx +0 -18
- package/src/Icon/icons/Email.tsx +0 -18
- package/src/Icon/icons/Erase.tsx +0 -16
- package/src/Icon/icons/Excel.tsx +0 -18
- package/src/Icon/icons/Expand.tsx +0 -18
- package/src/Icon/icons/Eye.tsx +0 -18
- package/src/Icon/icons/EyeOff.tsx +0 -18
- package/src/Icon/icons/Favorite.tsx +0 -18
- package/src/Icon/icons/FavoriteSolid.tsx +0 -18
- package/src/Icon/icons/Fb.tsx +0 -18
- package/src/Icon/icons/FbCircle.tsx +0 -18
- package/src/Icon/icons/File.tsx +0 -18
- package/src/Icon/icons/FileAdd.tsx +0 -18
- package/src/Icon/icons/Files.tsx +0 -18
- package/src/Icon/icons/Filter.tsx +0 -18
- package/src/Icon/icons/Folder.tsx +0 -18
- package/src/Icon/icons/Geolocation.tsx +0 -18
- package/src/Icon/icons/Gift.tsx +0 -18
- package/src/Icon/icons/Globe.tsx +0 -18
- package/src/Icon/icons/Heart.tsx +0 -18
- package/src/Icon/icons/HeartSolid.tsx +0 -18
- package/src/Icon/icons/Help.tsx +0 -18
- package/src/Icon/icons/Home.tsx +0 -18
- package/src/Icon/icons/Housing.tsx +0 -18
- package/src/Icon/icons/Ig.tsx +0 -18
- package/src/Icon/icons/IgCircle.tsx +0 -18
- package/src/Icon/icons/Info.tsx +0 -18
- package/src/Icon/icons/InfoBook.tsx +0 -18
- package/src/Icon/icons/InfoSolid.tsx +0 -18
- package/src/Icon/icons/Italic.tsx +0 -18
- package/src/Icon/icons/Key.tsx +0 -18
- package/src/Icon/icons/Left.tsx +0 -18
- package/src/Icon/icons/Lightbulb.tsx +0 -18
- package/src/Icon/icons/Like.tsx +0 -18
- package/src/Icon/icons/LikeSolid.tsx +0 -18
- package/src/Icon/icons/Link.tsx +0 -18
- package/src/Icon/icons/Lock.tsx +0 -18
- package/src/Icon/icons/Logout.tsx +0 -18
- package/src/Icon/icons/MagicWand.tsx +0 -18
- package/src/Icon/icons/Mail.tsx +0 -18
- package/src/Icon/icons/MailSend.tsx +0 -18
- package/src/Icon/icons/Map.tsx +0 -18
- package/src/Icon/icons/MapPin.tsx +0 -18
- package/src/Icon/icons/MapPinSolid.tsx +0 -18
- package/src/Icon/icons/Menu.tsx +0 -18
- package/src/Icon/icons/Mic.tsx +0 -18
- package/src/Icon/icons/MicOff.tsx +0 -18
- package/src/Icon/icons/Minus.tsx +0 -18
- package/src/Icon/icons/MinusCircle.tsx +0 -18
- package/src/Icon/icons/MinusShort.tsx +0 -18
- package/src/Icon/icons/Moneybox.tsx +0 -18
- package/src/Icon/icons/More.tsx +0 -18
- package/src/Icon/icons/Move.tsx +0 -18
- package/src/Icon/icons/Newbie.tsx +0 -20
- package/src/Icon/icons/News.tsx +0 -18
- package/src/Icon/icons/Notes.tsx +0 -18
- package/src/Icon/icons/Notification.tsx +0 -18
- package/src/Icon/icons/Ok.tsx +0 -18
- package/src/Icon/icons/OkCircle.tsx +0 -18
- package/src/Icon/icons/Order.tsx +0 -18
- package/src/Icon/icons/OrderLoad.tsx +0 -18
- package/src/Icon/icons/OrderSend.tsx +0 -18
- package/src/Icon/icons/Pause.tsx +0 -18
- package/src/Icon/icons/PauseCircle.tsx +0 -18
- package/src/Icon/icons/Payment.tsx +0 -18
- package/src/Icon/icons/PhoneShake.tsx +0 -18
- package/src/Icon/icons/Play.tsx +0 -18
- package/src/Icon/icons/PlaySolid.tsx +0 -18
- package/src/Icon/icons/Plus.tsx +0 -18
- package/src/Icon/icons/PlusCircle.tsx +0 -18
- package/src/Icon/icons/Pos.tsx +0 -18
- package/src/Icon/icons/Print.tsx +0 -18
- package/src/Icon/icons/QrPay.tsx +0 -18
- package/src/Icon/icons/Redirect.tsx +0 -18
- package/src/Icon/icons/Refill.tsx +0 -18
- package/src/Icon/icons/Refund.tsx +0 -18
- package/src/Icon/icons/Reload.tsx +0 -19
- package/src/Icon/icons/Reply.tsx +0 -18
- package/src/Icon/icons/ReplyShape.tsx +0 -18
- package/src/Icon/icons/ReplyShapeSolid.tsx +0 -18
- package/src/Icon/icons/Request.tsx +0 -18
- package/src/Icon/icons/Right.tsx +0 -18
- package/src/Icon/icons/Route.tsx +0 -18
- package/src/Icon/icons/Ruble.tsx +0 -18
- package/src/Icon/icons/Sbp.tsx +0 -18
- package/src/Icon/icons/SbpColored.tsx +0 -46
- package/src/Icon/icons/Search.tsx +0 -18
- package/src/Icon/icons/Send.tsx +0 -18
- package/src/Icon/icons/Services.tsx +0 -17
- package/src/Icon/icons/Settings.tsx +0 -17
- package/src/Icon/icons/Share.tsx +0 -18
- package/src/Icon/icons/ShoppingCart.tsx +0 -18
- package/src/Icon/icons/Sign.tsx +0 -18
- package/src/Icon/icons/SlotMachine.tsx +0 -18
- package/src/Icon/icons/SortDown.tsx +0 -18
- package/src/Icon/icons/SortDownSolid.tsx +0 -18
- package/src/Icon/icons/SortUp.tsx +0 -18
- package/src/Icon/icons/SortUpSolid.tsx +0 -18
- package/src/Icon/icons/Stop.tsx +0 -18
- package/src/Icon/icons/Support.tsx +0 -18
- package/src/Icon/icons/Sync.tsx +0 -18
- package/src/Icon/icons/Table.tsx +0 -18
- package/src/Icon/icons/Tariffs.tsx +0 -19
- package/src/Icon/icons/Tg.tsx +0 -18
- package/src/Icon/icons/TgCircle.tsx +0 -18
- package/src/Icon/icons/Timeout.tsx +0 -18
- package/src/Icon/icons/Timer.tsx +0 -18
- package/src/Icon/icons/Transfer.tsx +0 -17
- package/src/Icon/icons/Trash.tsx +0 -18
- package/src/Icon/icons/TurnOff.tsx +0 -18
- package/src/Icon/icons/Twitter.tsx +0 -18
- package/src/Icon/icons/TwitterCircle.tsx +0 -18
- package/src/Icon/icons/Underline.tsx +0 -18
- package/src/Icon/icons/Unlink.tsx +0 -18
- package/src/Icon/icons/Unsorted.tsx +0 -18
- package/src/Icon/icons/UnsortedSolid.tsx +0 -18
- package/src/Icon/icons/Upload.tsx +0 -18
- package/src/Icon/icons/User.tsx +0 -18
- package/src/Icon/icons/UserAdd.tsx +0 -18
- package/src/Icon/icons/UserCard.tsx +0 -18
- package/src/Icon/icons/UserEdit.tsx +0 -18
- package/src/Icon/icons/UserQueue.tsx +0 -18
- package/src/Icon/icons/Viber.tsx +0 -18
- package/src/Icon/icons/ViberCircle.tsx +0 -18
- package/src/Icon/icons/ViewGrid.tsx +0 -18
- package/src/Icon/icons/ViewHorizontal.tsx +0 -18
- package/src/Icon/icons/ViewList.tsx +0 -18
- package/src/Icon/icons/ViewRows.tsx +0 -18
- package/src/Icon/icons/ViewVertical.tsx +0 -18
- package/src/Icon/icons/Vk.tsx +0 -18
- package/src/Icon/icons/VkCircle.tsx +0 -18
- package/src/Icon/icons/Wallet.tsx +0 -17
- package/src/Icon/icons/Warning.tsx +0 -18
- package/src/Icon/icons/WarningClean.tsx +0 -18
- package/src/Icon/icons/Whatsapp.tsx +0 -18
- package/src/Icon/icons/WhatsappCircle.tsx +0 -18
- package/src/Icon/icons/Wheelchair.tsx +0 -18
- package/src/Icon/icons/index.ts +0 -209
- package/src/Icon/index.ts +0 -2
- package/src/Input/Input.tsx +0 -35
- package/src/Input/InputMask.tsx +0 -36
- package/src/Input/index.ts +0 -2
- package/src/Input-OTP/Input.tsx +0 -64
- package/src/Input-OTP/index.ts +0 -3
- package/src/Label/Label.tsx +0 -20
- package/src/Label/index.ts +0 -1
- package/src/Logo/Logo.tsx +0 -22
- package/src/Logo/index.ts +0 -3
- package/src/Navbar/Navbar.tsx +0 -21
- package/src/Navbar/index.tsx +0 -2
- package/src/Page/Page.tsx +0 -43
- package/src/Page/index.ts +0 -1
- package/src/Popover/Popover.tsx +0 -64
- package/src/Popover/index.ts +0 -5
- package/src/Progress/Progress.tsx +0 -31
- package/src/Progress/index.ts +0 -1
- package/src/Select/Select.tsx +0 -19
- package/src/Select/SelectAccount.tsx +0 -101
- package/src/Select/SelectAccountCard.tsx +0 -146
- package/src/Select/SelectAsync.tsx +0 -28
- package/src/Select/SelectBase.tsx +0 -54
- package/src/Select/components/components.tsx +0 -186
- package/src/Select/components/index.tsx +0 -15
- package/src/Select/index.ts +0 -5
- package/src/Skeleton/Skeleton.tsx +0 -25
- package/src/Skeleton/index.ts +0 -1
- package/src/Slider/Slider.tsx +0 -38
- package/src/Slider/index.ts +0 -4
- package/src/Swipe2Show/Swipe2Show.tsx +0 -71
- package/src/Swipe2Show/index.ts +0 -1
- package/src/Switch/Switch.tsx +0 -59
- package/src/Switch/index.ts +0 -1
- package/src/Tabs/Tabs.tsx +0 -106
- package/src/Tabs/index.ts +0 -1
- package/src/Textarea/Textarea.tsx +0 -35
- package/src/Textarea/index.ts +0 -1
- package/src/Toaster/Toaster.tsx +0 -71
- package/src/Toaster/index.ts +0 -1
- package/src/assets/css/global.css +0 -209
- package/src/assets/images/logo/1c.svg +0 -1
- package/src/assets/images/logo/bank/emblem-white.svg +0 -1
- package/src/assets/images/logo/bank/emblem.svg +0 -1
- package/src/assets/images/logo/bank/logo-white.svg +0 -1
- package/src/assets/images/logo/bank/logo.svg +0 -1
- package/src/assets/images/logo/garant/emblem-white.svg +0 -1
- package/src/assets/images/logo/garant/emblem.svg +0 -1
- package/src/assets/images/logo/garant/logo-white.svg +0 -1
- package/src/assets/images/logo/garant/logo.svg +0 -1
- package/src/assets/images/logo/kassa/emblem-white.svg +0 -1
- package/src/assets/images/logo/kassa/emblem.svg +0 -1
- package/src/assets/images/logo/kassa/logo-white.svg +0 -1
- package/src/assets/images/logo/kassa/logo.svg +0 -1
- package/src/assets/images/logo/sbp-logo.svg +0 -1
- package/src/assets/images/statusbar.svg +0 -1
- package/src/index.ts +0 -135
- package/src/pages/payments/SmsSign/sms-sign.tsx +0 -91
- /package/{src → dist}/assets/fonts/Roboto-Italic.woff2 +0 -0
- /package/{src → dist}/assets/fonts/Roboto.woff2 +0 -0
package/src/Audio/Audio.styl
DELETED
|
@@ -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
|
package/src/Audio/Audio.tsx
DELETED
|
@@ -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
|
-
}
|
package/src/Audio/index.ts
DELETED
package/src/Audio/types.ts
DELETED
|
@@ -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
|
-
}
|
package/src/Badge/Badge.tsx
DELETED
|
@@ -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 }
|
package/src/Badge/index.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { Badge, badgeVariants } from './Badge'
|
package/src/Base/Input/Base.tsx
DELETED
|
@@ -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
|
package/src/Base/Input/Input.tsx
DELETED
|
@@ -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
|
package/src/Base/Input/index.ts
DELETED
package/src/Base/Input/types.ts
DELETED
|
@@ -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
|
package/src/Base/Links/index.ts
DELETED