@audius/harmony 0.0.29 → 0.0.34
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/assets/icons/Album.svg.js +21 -7
- package/dist/assets/icons/Album.svg.js.map +1 -1
- package/dist/assets/icons/AllTime.svg.js +21 -7
- package/dist/assets/icons/AllTime.svg.js.map +1 -1
- package/dist/assets/icons/Appearance.svg.js +21 -7
- package/dist/assets/icons/Appearance.svg.js.map +1 -1
- package/dist/assets/icons/ArrowLeft.svg.js +21 -7
- package/dist/assets/icons/ArrowLeft.svg.js.map +1 -1
- package/dist/assets/icons/ArrowRight.svg.js +21 -7
- package/dist/assets/icons/ArrowRight.svg.js.map +1 -1
- package/dist/assets/icons/ArtistBadge.svg.js +21 -7
- package/dist/assets/icons/ArtistBadge.svg.js.map +1 -1
- package/dist/assets/icons/AudiusLogo.svg.js +21 -7
- package/dist/assets/icons/AudiusLogo.svg.js.map +1 -1
- package/dist/assets/icons/AudiusLogoColor.svg.js +21 -7
- package/dist/assets/icons/AudiusLogoColor.svg.js.map +1 -1
- package/dist/assets/icons/AudiusLogoHorizontal.svg.js +24 -8
- package/dist/assets/icons/AudiusLogoHorizontal.svg.js.map +1 -1
- package/dist/assets/icons/AudiusLogoHorizontalColor.svg.js +24 -8
- package/dist/assets/icons/AudiusLogoHorizontalColor.svg.js.map +1 -1
- package/dist/assets/icons/AudiusLogoVertical.svg.js +21 -7
- package/dist/assets/icons/AudiusLogoVertical.svg.js.map +1 -1
- package/dist/assets/icons/Blog.svg.js +21 -7
- package/dist/assets/icons/Blog.svg.js.map +1 -1
- package/dist/assets/icons/BoxHeart.svg.js +21 -7
- package/dist/assets/icons/BoxHeart.svg.js.map +1 -1
- package/dist/assets/icons/CalendarDay.svg.js +21 -7
- package/dist/assets/icons/CalendarDay.svg.js.map +1 -1
- package/dist/assets/icons/CalendarMonth.svg.js +21 -7
- package/dist/assets/icons/CalendarMonth.svg.js.map +1 -1
- package/dist/assets/icons/CalendarWeek.svg.js +21 -7
- package/dist/assets/icons/CalendarWeek.svg.js.map +1 -1
- package/dist/assets/icons/Camera.svg.js +21 -7
- package/dist/assets/icons/Camera.svg.js.map +1 -1
- package/dist/assets/icons/Campfire.svg.js +21 -7
- package/dist/assets/icons/Campfire.svg.js.map +1 -1
- package/dist/assets/icons/CaretDown.svg.js +21 -7
- package/dist/assets/icons/CaretDown.svg.js.map +1 -1
- package/dist/assets/icons/CaretLeft.svg.js +21 -7
- package/dist/assets/icons/CaretLeft.svg.js.map +1 -1
- package/dist/assets/icons/CaretRight.svg.js +21 -7
- package/dist/assets/icons/CaretRight.svg.js.map +1 -1
- package/dist/assets/icons/CaretUp.svg.js +21 -7
- package/dist/assets/icons/CaretUp.svg.js.map +1 -1
- package/dist/assets/icons/Cart.svg.js +21 -7
- package/dist/assets/icons/Cart.svg.js.map +1 -1
- package/dist/assets/icons/CastAirplay.svg.js +21 -7
- package/dist/assets/icons/CastAirplay.svg.js.map +1 -1
- package/dist/assets/icons/CastChromecast.svg.js +21 -7
- package/dist/assets/icons/CastChromecast.svg.js.map +1 -1
- package/dist/assets/icons/Check.svg.js +21 -7
- package/dist/assets/icons/Check.svg.js.map +1 -1
- package/dist/assets/icons/Close.svg.js +21 -7
- package/dist/assets/icons/Close.svg.js.map +1 -1
- package/dist/assets/icons/CloseAlt.svg.js +21 -7
- package/dist/assets/icons/CloseAlt.svg.js.map +1 -1
- package/dist/assets/icons/CloudDownload.svg.js +21 -7
- package/dist/assets/icons/CloudDownload.svg.js.map +1 -1
- package/dist/assets/icons/CloudDownloadError.svg.js +21 -7
- package/dist/assets/icons/CloudDownloadError.svg.js.map +1 -1
- package/dist/assets/icons/CloudDownloadInactive.svg.js +21 -7
- package/dist/assets/icons/CloudDownloadInactive.svg.js.map +1 -1
- package/dist/assets/icons/CloudDownloadPaused.svg.js +21 -7
- package/dist/assets/icons/CloudDownloadPaused.svg.js.map +1 -1
- package/dist/assets/icons/CloudDownloadQueued.svg.js +21 -7
- package/dist/assets/icons/CloudDownloadQueued.svg.js.map +1 -1
- package/dist/assets/icons/CloudUpload.svg.js +21 -7
- package/dist/assets/icons/CloudUpload.svg.js.map +1 -1
- package/dist/assets/icons/Coinbase.svg.js +21 -7
- package/dist/assets/icons/Coinbase.svg.js.map +1 -1
- package/dist/assets/icons/CoinbasePay.svg.js +75 -0
- package/dist/assets/icons/CoinbasePay.svg.js.map +1 -0
- package/dist/assets/icons/Collectible.svg.js +21 -7
- package/dist/assets/icons/Collectible.svg.js.map +1 -1
- package/dist/assets/icons/Compose.svg.js +21 -7
- package/dist/assets/icons/Compose.svg.js.map +1 -1
- package/dist/assets/icons/Copy.svg.js +21 -7
- package/dist/assets/icons/Copy.svg.js.map +1 -1
- package/dist/assets/icons/Cosign.svg.js +21 -7
- package/dist/assets/icons/Cosign.svg.js.map +1 -1
- package/dist/assets/icons/CreatePlaylist.svg.js +21 -7
- package/dist/assets/icons/CreatePlaylist.svg.js.map +1 -1
- package/dist/assets/icons/CreditCard.svg.js +21 -7
- package/dist/assets/icons/CreditCard.svg.js.map +1 -1
- package/dist/assets/icons/Crown.svg.js +21 -7
- package/dist/assets/icons/Crown.svg.js.map +1 -1
- package/dist/assets/icons/Dashboard.svg.js +21 -7
- package/dist/assets/icons/Dashboard.svg.js.map +1 -1
- package/dist/assets/icons/Desktop.svg.js +21 -7
- package/dist/assets/icons/Desktop.svg.js.map +1 -1
- package/dist/assets/icons/Discord.svg.js +21 -7
- package/dist/assets/icons/Discord.svg.js.map +1 -1
- package/dist/assets/icons/Donate.svg.js +21 -7
- package/dist/assets/icons/Donate.svg.js.map +1 -1
- package/dist/assets/icons/Drag.svg.js +21 -7
- package/dist/assets/icons/Drag.svg.js.map +1 -1
- package/dist/assets/icons/Earnings.svg.js +21 -7
- package/dist/assets/icons/Earnings.svg.js.map +1 -1
- package/dist/assets/icons/EmailAddress.svg.js +21 -7
- package/dist/assets/icons/EmailAddress.svg.js.map +1 -1
- package/dist/assets/icons/Embed.svg.js +21 -7
- package/dist/assets/icons/Embed.svg.js.map +1 -1
- package/dist/assets/icons/Error.svg.js +21 -7
- package/dist/assets/icons/Error.svg.js.map +1 -1
- package/dist/assets/icons/Explore.svg.js +21 -7
- package/dist/assets/icons/Explore.svg.js.map +1 -1
- package/dist/assets/icons/ExternalLink.svg.js +21 -7
- package/dist/assets/icons/ExternalLink.svg.js.map +1 -1
- package/dist/assets/icons/Facebook.svg.js +21 -7
- package/dist/assets/icons/Facebook.svg.js.map +1 -1
- package/dist/assets/icons/Feed.svg.js +21 -7
- package/dist/assets/icons/Feed.svg.js.map +1 -1
- package/dist/assets/icons/Filter.svg.js +21 -7
- package/dist/assets/icons/Filter.svg.js.map +1 -1
- package/dist/assets/icons/Folder.svg.js +21 -7
- package/dist/assets/icons/Folder.svg.js.map +1 -1
- package/dist/assets/icons/Foundation.svg.js +21 -7
- package/dist/assets/icons/Foundation.svg.js.map +1 -1
- package/dist/assets/icons/Gift.svg.js +21 -7
- package/dist/assets/icons/Gift.svg.js.map +1 -1
- package/dist/assets/icons/Headphones.svg.js +21 -7
- package/dist/assets/icons/Headphones.svg.js.map +1 -1
- package/dist/assets/icons/Heart.svg.js +21 -7
- package/dist/assets/icons/Heart.svg.js.map +1 -1
- package/dist/assets/icons/Image.svg.js +21 -7
- package/dist/assets/icons/Image.svg.js.map +1 -1
- package/dist/assets/icons/Indent.svg.js +21 -7
- package/dist/assets/icons/Indent.svg.js.map +1 -1
- package/dist/assets/icons/Info.svg.js +21 -7
- package/dist/assets/icons/Info.svg.js.map +1 -1
- package/dist/assets/icons/Instagram.svg.js +21 -7
- package/dist/assets/icons/Instagram.svg.js.map +1 -1
- package/dist/assets/icons/KebabHorizontal.svg.js +21 -7
- package/dist/assets/icons/KebabHorizontal.svg.js.map +1 -1
- package/dist/assets/icons/Key.svg.js +21 -7
- package/dist/assets/icons/Key.svg.js.map +1 -1
- package/dist/assets/icons/Library.svg.js +21 -7
- package/dist/assets/icons/Library.svg.js.map +1 -1
- package/dist/assets/icons/LifeRing.svg.js +21 -7
- package/dist/assets/icons/LifeRing.svg.js.map +1 -1
- package/dist/assets/icons/Link.svg.js +21 -7
- package/dist/assets/icons/Link.svg.js.map +1 -1
- package/dist/assets/icons/LinkByStripe.svg.js +21 -7
- package/dist/assets/icons/LinkByStripe.svg.js.map +1 -1
- package/dist/assets/icons/ListeningHistory.svg.js +21 -7
- package/dist/assets/icons/ListeningHistory.svg.js.map +1 -1
- package/dist/assets/icons/Listens.svg.js +21 -7
- package/dist/assets/icons/Listens.svg.js.map +1 -1
- package/dist/assets/icons/Lock.svg.js +21 -7
- package/dist/assets/icons/Lock.svg.js.map +1 -1
- package/dist/assets/icons/LockUnlocked.svg.js +21 -7
- package/dist/assets/icons/LockUnlocked.svg.js.map +1 -1
- package/dist/assets/icons/LogoCircle.svg.js +21 -7
- package/dist/assets/icons/LogoCircle.svg.js.map +1 -1
- package/dist/assets/icons/LogoCircleCoinbase.svg.js +21 -7
- package/dist/assets/icons/LogoCircleCoinbase.svg.js.map +1 -1
- package/dist/assets/icons/LogoCircleETH.svg.js +21 -7
- package/dist/assets/icons/LogoCircleETH.svg.js.map +1 -1
- package/dist/assets/icons/LogoCircleSOL.svg.js +21 -7
- package/dist/assets/icons/LogoCircleSOL.svg.js.map +1 -1
- package/dist/assets/icons/LogoCircleSTR.svg.js +21 -7
- package/dist/assets/icons/LogoCircleSTR.svg.js.map +1 -1
- package/dist/assets/icons/LogoCircleUSD.svg.js +21 -7
- package/dist/assets/icons/LogoCircleUSD.svg.js.map +1 -1
- package/dist/assets/icons/LogoCircleUSDC.svg.js +21 -7
- package/dist/assets/icons/LogoCircleUSDC.svg.js.map +1 -1
- package/dist/assets/icons/LogoPhantom.svg.js +21 -7
- package/dist/assets/icons/LogoPhantom.svg.js.map +1 -1
- package/dist/assets/icons/LogoSolana.svg.js +21 -7
- package/dist/assets/icons/LogoSolana.svg.js.map +1 -1
- package/dist/assets/icons/Merch.svg.js +21 -7
- package/dist/assets/icons/Merch.svg.js.map +1 -1
- package/dist/assets/icons/Message.svg.js +21 -7
- package/dist/assets/icons/Message.svg.js.map +1 -1
- package/dist/assets/icons/MessageBlock.svg.js +21 -7
- package/dist/assets/icons/MessageBlock.svg.js.map +1 -1
- package/dist/assets/icons/MessageLocked.svg.js +21 -7
- package/dist/assets/icons/MessageLocked.svg.js.map +1 -1
- package/dist/assets/icons/MessageUnblock.svg.js +21 -7
- package/dist/assets/icons/MessageUnblock.svg.js.map +1 -1
- package/dist/assets/icons/Metamask.svg.js +21 -7
- package/dist/assets/icons/Metamask.svg.js.map +1 -1
- package/dist/assets/icons/Minus.svg.js +21 -7
- package/dist/assets/icons/Minus.svg.js.map +1 -1
- package/dist/assets/icons/{PenSquare.svg.js → MoneyBracket.svg.js} +33 -14
- package/dist/assets/icons/MoneyBracket.svg.js.map +1 -0
- package/dist/assets/icons/Mood.svg.js +21 -7
- package/dist/assets/icons/Mood.svg.js.map +1 -1
- package/dist/assets/icons/MultiselectAdd.svg.js +21 -7
- package/dist/assets/icons/MultiselectAdd.svg.js.map +1 -1
- package/dist/assets/icons/MultiselectRemove.svg.js +21 -7
- package/dist/assets/icons/MultiselectRemove.svg.js.map +1 -1
- package/dist/assets/icons/NoWifi.svg.js +21 -7
- package/dist/assets/icons/NoWifi.svg.js.map +1 -1
- package/dist/assets/icons/Note.svg.js +21 -7
- package/dist/assets/icons/Note.svg.js.map +1 -1
- package/dist/assets/icons/NotificationOff.svg.js +21 -7
- package/dist/assets/icons/NotificationOff.svg.js.map +1 -1
- package/dist/assets/icons/NotificationOn.svg.js +21 -7
- package/dist/assets/icons/NotificationOn.svg.js.map +1 -1
- package/dist/assets/icons/Pause.svg.js +21 -7
- package/dist/assets/icons/Pause.svg.js.map +1 -1
- package/dist/assets/icons/Pencil.svg.js +21 -7
- package/dist/assets/icons/Pencil.svg.js.map +1 -1
- package/dist/assets/icons/Play.svg.js +21 -7
- package/dist/assets/icons/Play.svg.js.map +1 -1
- package/dist/assets/icons/PlaybackPause.svg.js +24 -8
- package/dist/assets/icons/PlaybackPause.svg.js.map +1 -1
- package/dist/assets/icons/PlaybackPlay.svg.js +24 -8
- package/dist/assets/icons/PlaybackPlay.svg.js.map +1 -1
- package/dist/assets/icons/Playlists.svg.js +21 -7
- package/dist/assets/icons/Playlists.svg.js.map +1 -1
- package/dist/assets/icons/Plus.svg.js +21 -7
- package/dist/assets/icons/Plus.svg.js.map +1 -1
- package/dist/assets/icons/PodcastBack.svg.js +21 -7
- package/dist/assets/icons/PodcastBack.svg.js.map +1 -1
- package/dist/assets/icons/PodcastForward.svg.js +21 -7
- package/dist/assets/icons/PodcastForward.svg.js.map +1 -1
- package/dist/assets/icons/QuestionCircle.svg.js +21 -7
- package/dist/assets/icons/QuestionCircle.svg.js.map +1 -1
- package/dist/assets/icons/Radar.svg.js +21 -7
- package/dist/assets/icons/Radar.svg.js.map +1 -1
- package/dist/assets/icons/Receive.svg.js +21 -7
- package/dist/assets/icons/Receive.svg.js.map +1 -1
- package/dist/assets/icons/RecoveryEmail.svg.js +21 -7
- package/dist/assets/icons/RecoveryEmail.svg.js.map +1 -1
- package/dist/assets/icons/Refresh.svg.js +21 -7
- package/dist/assets/icons/Refresh.svg.js.map +1 -1
- package/dist/assets/icons/Remix.svg.js +21 -7
- package/dist/assets/icons/Remix.svg.js.map +1 -1
- package/dist/assets/icons/Remove.svg.js +21 -7
- package/dist/assets/icons/Remove.svg.js.map +1 -1
- package/dist/assets/icons/RepeatOff.svg.js +21 -7
- package/dist/assets/icons/RepeatOff.svg.js.map +1 -1
- package/dist/assets/icons/Repost.svg.js +21 -7
- package/dist/assets/icons/Repost.svg.js.map +1 -1
- package/dist/assets/icons/Robot.svg.js +21 -7
- package/dist/assets/icons/Robot.svg.js.map +1 -1
- package/dist/assets/icons/Rocket.svg.js +21 -7
- package/dist/assets/icons/Rocket.svg.js.map +1 -1
- package/dist/assets/icons/Save.svg.js +21 -7
- package/dist/assets/icons/Save.svg.js.map +1 -1
- package/dist/assets/icons/Search.svg.js +21 -7
- package/dist/assets/icons/Search.svg.js.map +1 -1
- package/dist/assets/icons/Send.svg.js +21 -7
- package/dist/assets/icons/Send.svg.js.map +1 -1
- package/dist/assets/icons/Settings.svg.js +21 -7
- package/dist/assets/icons/Settings.svg.js.map +1 -1
- package/dist/assets/icons/Share.svg.js +21 -7
- package/dist/assets/icons/Share.svg.js.map +1 -1
- package/dist/assets/icons/ShieldCheck.svg.js +21 -7
- package/dist/assets/icons/ShieldCheck.svg.js.map +1 -1
- package/dist/assets/icons/ShieldUser.svg.js +81 -0
- package/dist/assets/icons/ShieldUser.svg.js.map +1 -0
- package/dist/assets/icons/Shuffle.svg.js +21 -7
- package/dist/assets/icons/Shuffle.svg.js.map +1 -1
- package/dist/assets/icons/SignOut.svg.js +21 -7
- package/dist/assets/icons/SignOut.svg.js.map +1 -1
- package/dist/assets/icons/SkipNext.svg.js +21 -7
- package/dist/assets/icons/SkipNext.svg.js.map +1 -1
- package/dist/assets/icons/SkipPrevious.svg.js +21 -7
- package/dist/assets/icons/SkipPrevious.svg.js.map +1 -1
- package/dist/assets/icons/Skull.svg.js +21 -7
- package/dist/assets/icons/Skull.svg.js.map +1 -1
- package/dist/assets/icons/SnapChat.svg.js +21 -7
- package/dist/assets/icons/SnapChat.svg.js.map +1 -1
- package/dist/assets/icons/Sort.svg.js +21 -7
- package/dist/assets/icons/Sort.svg.js.map +1 -1
- package/dist/assets/icons/SortDown.svg.js +21 -7
- package/dist/assets/icons/SortDown.svg.js.map +1 -1
- package/dist/assets/icons/SortUp.svg.js +21 -7
- package/dist/assets/icons/SortUp.svg.js.map +1 -1
- package/dist/assets/icons/Soundwave.svg.js +21 -7
- package/dist/assets/icons/Soundwave.svg.js.map +1 -1
- package/dist/assets/icons/Speaker.svg.js +21 -7
- package/dist/assets/icons/Speaker.svg.js.map +1 -1
- package/dist/assets/icons/SpecialAccess.svg.js +21 -7
- package/dist/assets/icons/SpecialAccess.svg.js.map +1 -1
- package/dist/assets/icons/Star.svg.js +21 -7
- package/dist/assets/icons/Star.svg.js.map +1 -1
- package/dist/assets/icons/Stars.svg.js +21 -7
- package/dist/assets/icons/Stars.svg.js.map +1 -1
- package/dist/assets/icons/Support.svg.js +21 -7
- package/dist/assets/icons/Support.svg.js.map +1 -1
- package/dist/assets/icons/Tastemaker.svg.js +21 -7
- package/dist/assets/icons/Tastemaker.svg.js.map +1 -1
- package/dist/assets/icons/Telegram.svg.js +21 -7
- package/dist/assets/icons/Telegram.svg.js.map +1 -1
- package/dist/assets/icons/ThumbsDown.svg.js +21 -7
- package/dist/assets/icons/ThumbsDown.svg.js.map +1 -1
- package/dist/assets/icons/ThumbsUp.svg.js +21 -7
- package/dist/assets/icons/ThumbsUp.svg.js.map +1 -1
- package/dist/assets/icons/TikTok.svg.js +21 -7
- package/dist/assets/icons/TikTok.svg.js.map +1 -1
- package/dist/assets/icons/Tipping.svg.js +21 -7
- package/dist/assets/icons/Tipping.svg.js.map +1 -1
- package/dist/assets/icons/TokenBronze.svg.js +21 -7
- package/dist/assets/icons/TokenBronze.svg.js.map +1 -1
- package/dist/assets/icons/TokenGold.svg.js +21 -7
- package/dist/assets/icons/TokenGold.svg.js.map +1 -1
- package/dist/assets/icons/TokenNoTier.svg.js +21 -7
- package/dist/assets/icons/TokenNoTier.svg.js.map +1 -1
- package/dist/assets/icons/TokenPlatinum.svg.js +21 -7
- package/dist/assets/icons/TokenPlatinum.svg.js.map +1 -1
- package/dist/assets/icons/TokenSilver.svg.js +21 -7
- package/dist/assets/icons/TokenSilver.svg.js.map +1 -1
- package/dist/assets/icons/Transaction.svg.js +21 -7
- package/dist/assets/icons/Transaction.svg.js.map +1 -1
- package/dist/assets/icons/Trash.svg.js +21 -7
- package/dist/assets/icons/Trash.svg.js.map +1 -1
- package/dist/assets/icons/Trending.svg.js +21 -7
- package/dist/assets/icons/Trending.svg.js.map +1 -1
- package/dist/assets/icons/TriangleExclamation.svg.js +21 -7
- package/dist/assets/icons/TriangleExclamation.svg.js.map +1 -1
- package/dist/assets/icons/Trophy.svg.js +21 -7
- package/dist/assets/icons/Trophy.svg.js.map +1 -1
- package/dist/assets/icons/Turntable.svg.js +21 -7
- package/dist/assets/icons/Turntable.svg.js.map +1 -1
- package/dist/assets/icons/Twitter.svg.js +21 -7
- package/dist/assets/icons/Twitter.svg.js.map +1 -1
- package/dist/assets/icons/User.svg.js +21 -7
- package/dist/assets/icons/User.svg.js.map +1 -1
- package/dist/assets/icons/UserArrowRotate.svg.js +81 -0
- package/dist/assets/icons/UserArrowRotate.svg.js.map +1 -0
- package/dist/assets/icons/UserFollow.svg.js +21 -7
- package/dist/assets/icons/UserFollow.svg.js.map +1 -1
- package/dist/assets/icons/UserFollowers.svg.js +21 -7
- package/dist/assets/icons/UserFollowers.svg.js.map +1 -1
- package/dist/assets/icons/UserFollowing.svg.js +21 -7
- package/dist/assets/icons/UserFollowing.svg.js.map +1 -1
- package/dist/assets/icons/UserGroup.svg.js +21 -7
- package/dist/assets/icons/UserGroup.svg.js.map +1 -1
- package/dist/assets/icons/UserList.svg.js +21 -7
- package/dist/assets/icons/UserList.svg.js.map +1 -1
- package/dist/assets/icons/UserUnfollow.svg.js +21 -7
- package/dist/assets/icons/UserUnfollow.svg.js.map +1 -1
- package/dist/assets/icons/ValidationCheck.svg.js +21 -7
- package/dist/assets/icons/ValidationCheck.svg.js.map +1 -1
- package/dist/assets/icons/ValidationX.svg.js +21 -7
- package/dist/assets/icons/ValidationX.svg.js.map +1 -1
- package/dist/assets/icons/Verified.svg.js +31 -22
- package/dist/assets/icons/Verified.svg.js.map +1 -1
- package/dist/assets/icons/VisibilityHidden.svg.js +21 -7
- package/dist/assets/icons/VisibilityHidden.svg.js.map +1 -1
- package/dist/assets/icons/VisibilityPublic.svg.js +21 -7
- package/dist/assets/icons/VisibilityPublic.svg.js.map +1 -1
- package/dist/assets/icons/VolumeLevel0.svg.js +21 -7
- package/dist/assets/icons/VolumeLevel0.svg.js.map +1 -1
- package/dist/assets/icons/VolumeLevel1.svg.js +21 -7
- package/dist/assets/icons/VolumeLevel1.svg.js.map +1 -1
- package/dist/assets/icons/VolumeLevel2.svg.js +21 -7
- package/dist/assets/icons/VolumeLevel2.svg.js.map +1 -1
- package/dist/assets/icons/VolumeLevel3.svg.js +21 -7
- package/dist/assets/icons/VolumeLevel3.svg.js.map +1 -1
- package/dist/assets/icons/Wallet.svg.js +21 -7
- package/dist/assets/icons/Wallet.svg.js.map +1 -1
- package/dist/assets/icons/Wand.svg.js +21 -7
- package/dist/assets/icons/Wand.svg.js.map +1 -1
- package/dist/assets/icons/Waveform.svg.js +21 -7
- package/dist/assets/icons/Waveform.svg.js.map +1 -1
- package/dist/assets/icons/Withdraw.svg.js +21 -7
- package/dist/assets/icons/Withdraw.svg.js.map +1 -1
- package/dist/assets/icons/ccBy.svg.js +21 -7
- package/dist/assets/icons/ccBy.svg.js.map +1 -1
- package/dist/assets/icons/ccCC.svg.js +21 -7
- package/dist/assets/icons/ccCC.svg.js.map +1 -1
- package/dist/assets/icons/ccNC-EU.svg.js +21 -7
- package/dist/assets/icons/ccNC-EU.svg.js.map +1 -1
- package/dist/assets/icons/ccNC-JP.svg.js +21 -7
- package/dist/assets/icons/ccNC-JP.svg.js.map +1 -1
- package/dist/assets/icons/ccNC.svg.js +21 -7
- package/dist/assets/icons/ccNC.svg.js.map +1 -1
- package/dist/assets/icons/ccND.svg.js +21 -7
- package/dist/assets/icons/ccND.svg.js.map +1 -1
- package/dist/assets/icons/ccPD.svg.js +21 -7
- package/dist/assets/icons/ccPD.svg.js.map +1 -1
- package/dist/assets/icons/ccRemix.svg.js +21 -7
- package/dist/assets/icons/ccRemix.svg.js.map +1 -1
- package/dist/assets/icons/ccSA.svg.js +21 -7
- package/dist/assets/icons/ccSA.svg.js.map +1 -1
- package/dist/assets/icons/ccSampling.svg.js +21 -7
- package/dist/assets/icons/ccSampling.svg.js.map +1 -1
- package/dist/assets/icons/ccSamplingPlus.svg.js +21 -7
- package/dist/assets/icons/ccSamplingPlus.svg.js.map +1 -1
- package/dist/assets/icons/ccShare.svg.js +21 -7
- package/dist/assets/icons/ccShare.svg.js.map +1 -1
- package/dist/assets/icons/ccZero.svg.js +21 -7
- package/dist/assets/icons/ccZero.svg.js.map +1 -1
- package/dist/assets/icons/file3GA.svg.js +21 -7
- package/dist/assets/icons/file3GA.svg.js.map +1 -1
- package/dist/assets/icons/file3GP.svg.js +21 -7
- package/dist/assets/icons/file3GP.svg.js.map +1 -1
- package/dist/assets/icons/fileAAC.svg.js +21 -7
- package/dist/assets/icons/fileAAC.svg.js.map +1 -1
- package/dist/assets/icons/fileAIF.svg.js +21 -7
- package/dist/assets/icons/fileAIF.svg.js.map +1 -1
- package/dist/assets/icons/fileAIFC.svg.js +21 -7
- package/dist/assets/icons/fileAIFC.svg.js.map +1 -1
- package/dist/assets/icons/fileAIFF.svg.js +21 -7
- package/dist/assets/icons/fileAIFF.svg.js.map +1 -1
- package/dist/assets/icons/fileAMR.svg.js +21 -7
- package/dist/assets/icons/fileAMR.svg.js.map +1 -1
- package/dist/assets/icons/fileAWB.svg.js +21 -7
- package/dist/assets/icons/fileAWB.svg.js.map +1 -1
- package/dist/assets/icons/fileFLAC.svg.js +21 -7
- package/dist/assets/icons/fileFLAC.svg.js.map +1 -1
- package/dist/assets/icons/fileM4A.svg.js +21 -7
- package/dist/assets/icons/fileM4A.svg.js.map +1 -1
- package/dist/assets/icons/fileM4B.svg.js +21 -7
- package/dist/assets/icons/fileM4B.svg.js.map +1 -1
- package/dist/assets/icons/fileM4P.svg.js +21 -7
- package/dist/assets/icons/fileM4P.svg.js.map +1 -1
- package/dist/assets/icons/fileM4R.svg.js +21 -7
- package/dist/assets/icons/fileM4R.svg.js.map +1 -1
- package/dist/assets/icons/fileM4V.svg.js +21 -7
- package/dist/assets/icons/fileM4V.svg.js.map +1 -1
- package/dist/assets/icons/fileMP2.svg.js +21 -7
- package/dist/assets/icons/fileMP2.svg.js.map +1 -1
- package/dist/assets/icons/fileMP3.svg.js +21 -7
- package/dist/assets/icons/fileMP3.svg.js.map +1 -1
- package/dist/assets/icons/fileMP4.svg.js +21 -7
- package/dist/assets/icons/fileMP4.svg.js.map +1 -1
- package/dist/assets/icons/fileMPGA.svg.js +21 -7
- package/dist/assets/icons/fileMPGA.svg.js.map +1 -1
- package/dist/assets/icons/fileOGA.svg.js +21 -7
- package/dist/assets/icons/fileOGA.svg.js.map +1 -1
- package/dist/assets/icons/fileOGG.svg.js +21 -7
- package/dist/assets/icons/fileOGG.svg.js.map +1 -1
- package/dist/assets/icons/fileOGM.svg.js +21 -7
- package/dist/assets/icons/fileOGM.svg.js.map +1 -1
- package/dist/assets/icons/fileOGV.svg.js +21 -7
- package/dist/assets/icons/fileOGV.svg.js.map +1 -1
- package/dist/assets/icons/fileOGX.svg.js +21 -7
- package/dist/assets/icons/fileOGX.svg.js.map +1 -1
- package/dist/assets/icons/fileOPUS.svg.js +21 -7
- package/dist/assets/icons/fileOPUS.svg.js.map +1 -1
- package/dist/assets/icons/fileSPX.svg.js +21 -7
- package/dist/assets/icons/fileSPX.svg.js.map +1 -1
- package/dist/assets/icons/fileTS.svg.js +21 -7
- package/dist/assets/icons/fileTS.svg.js.map +1 -1
- package/dist/assets/icons/fileTSA.svg.js +21 -7
- package/dist/assets/icons/fileTSA.svg.js.map +1 -1
- package/dist/assets/icons/fileTSV.svg.js +21 -7
- package/dist/assets/icons/fileTSV.svg.js.map +1 -1
- package/dist/assets/icons/fileUnknown.svg.js +24 -8
- package/dist/assets/icons/fileUnknown.svg.js.map +1 -1
- package/dist/assets/icons/fileWAV.svg.js +21 -7
- package/dist/assets/icons/fileWAV.svg.js.map +1 -1
- package/dist/assets/icons/fileWAVE.svg.js +21 -7
- package/dist/assets/icons/fileWAVE.svg.js.map +1 -1
- package/dist/assets/icons/fileWEBM.svg.js +21 -7
- package/dist/assets/icons/fileWEBM.svg.js.map +1 -1
- package/dist/assets/icons/fileXWMA.svg.js +21 -7
- package/dist/assets/icons/fileXWMA.svg.js.map +1 -1
- package/dist/components/artwork/Artwork.d.ts +17 -0
- package/dist/components/artwork/Artwork.d.ts.map +1 -0
- package/dist/components/artwork/Artwork.js +47 -0
- package/dist/components/artwork/Artwork.js.map +1 -0
- package/dist/components/artwork/Artwork.stories.d.ts +8 -0
- package/dist/components/artwork/Artwork.stories.d.ts.map +1 -0
- package/dist/components/artwork/index.d.ts +2 -0
- package/dist/components/artwork/index.d.ts.map +1 -0
- package/dist/components/avatar/Avatar.d.ts +8 -1
- package/dist/components/avatar/Avatar.d.ts.map +1 -1
- package/dist/components/avatar/Avatar.js +16 -45
- package/dist/components/avatar/Avatar.js.map +1 -1
- package/dist/components/avatar/Avatar.stories.d.ts.map +1 -1
- package/dist/components/avatar/index.d.ts +1 -1
- package/dist/components/avatar/index.d.ts.map +1 -1
- package/dist/components/button/Button/Button.d.ts.map +1 -1
- package/dist/components/button/Button/Button.js +13 -33
- package/dist/components/button/Button/Button.js.map +1 -1
- package/dist/components/button/Button/types.d.ts +3 -3
- package/dist/components/button/Button/types.d.ts.map +1 -1
- package/dist/components/button/FilterButton/FilterButton.d.ts.map +1 -1
- package/dist/components/button/FilterButton/FilterButton.js +5 -5
- package/dist/components/button/FilterButton/FilterButton.js.map +1 -1
- package/dist/components/button/FilterButton/FilterButton.stories.d.ts.map +1 -1
- package/dist/components/button/FilterButton/types.d.ts +2 -2
- package/dist/components/button/FilterButton/types.d.ts.map +1 -1
- package/dist/components/button/FollowButton/FollowButton.d.ts +2 -1
- package/dist/components/button/FollowButton/FollowButton.d.ts.map +1 -1
- package/dist/components/button/FollowButton/FollowButton.js +53 -21
- package/dist/components/button/FollowButton/FollowButton.js.map +1 -1
- package/dist/components/button/FollowButton/types.d.ts +6 -0
- package/dist/components/button/FollowButton/types.d.ts.map +1 -1
- package/dist/components/button/IconButton/IconButton.d.ts +3 -3
- package/dist/components/button/IconButton/IconButton.d.ts.map +1 -1
- package/dist/components/button/IconButton/IconButton.js +20 -5
- package/dist/components/button/IconButton/IconButton.js.map +1 -1
- package/dist/components/button/SocialButton/SocialButton.d.ts +1 -5
- package/dist/components/button/SocialButton/SocialButton.d.ts.map +1 -1
- package/dist/components/button/SocialButton/SocialButton.js +1 -1
- package/dist/components/button/SocialButton/SocialButton.js.map +1 -1
- package/dist/components/button/UnstyledButton.d.ts +11 -0
- package/dist/components/button/UnstyledButton.d.ts.map +1 -0
- package/dist/components/button/UnstyledButton.js +13 -0
- package/dist/components/button/UnstyledButton.js.map +1 -0
- package/dist/components/button/index.d.ts +2 -1
- package/dist/components/button/index.d.ts.map +1 -1
- package/dist/components/completion-check/CompletionCheck.js +0 -1
- package/dist/components/completion-check/CompletionCheck.js.map +1 -1
- package/dist/components/hint/Hint.d.ts +1 -1
- package/dist/components/hint/Hint.d.ts.map +1 -1
- package/dist/components/hint/Hint.js +5 -3
- package/dist/components/hint/Hint.js.map +1 -1
- package/dist/components/icon.d.ts +1 -0
- package/dist/components/icon.d.ts.map +1 -1
- package/dist/components/index.d.ts +7 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/input/PasswordInput/PasswordInput.js +1 -0
- package/dist/components/input/PasswordInput/PasswordInput.js.map +1 -1
- package/dist/components/input/SelectablePill/SelectablePill.js +1 -1
- package/dist/components/input/TextInput/TextInput.d.ts.map +1 -1
- package/dist/components/input/TextInput/TextInput.js +3 -4
- package/dist/components/input/TextInput/TextInput.js.map +1 -1
- package/dist/components/layout/Box/Box.js +6 -6
- package/dist/components/layout/Box/Box.js.map +1 -1
- package/dist/components/layout/Box/types.d.ts +8 -8
- package/dist/components/layout/Box/types.d.ts.map +1 -1
- package/dist/components/layout/Divider/Divider.d.ts.map +1 -1
- package/dist/components/layout/Divider/Divider.js +4 -4
- package/dist/components/layout/Divider/Divider.js.map +1 -1
- package/dist/components/layout/Divider/types.d.ts +2 -0
- package/dist/components/layout/Divider/types.d.ts.map +1 -1
- package/dist/components/layout/Paper/Paper.d.ts +1 -6
- package/dist/components/layout/Paper/Paper.d.ts.map +1 -1
- package/dist/components/layout/Paper/Paper.js +24 -9
- package/dist/components/layout/Paper/Paper.js.map +1 -1
- package/dist/components/layout/Paper/Paper.stories.d.ts +1 -0
- package/dist/components/layout/Paper/Paper.stories.d.ts.map +1 -1
- package/dist/components/layout/Paper/types.d.ts +2 -0
- package/dist/components/layout/Paper/types.d.ts.map +1 -1
- package/dist/components/layout/index.d.ts +0 -1
- package/dist/components/layout/index.d.ts.map +1 -1
- package/dist/components/modal/Modal.d.ts.map +1 -1
- package/dist/components/modal/Modal.js +40 -28
- package/dist/components/modal/Modal.js.map +1 -1
- package/dist/components/modal/ModalHeader.js +1 -0
- package/dist/components/modal/ModalHeader.js.map +1 -1
- package/dist/components/pill/Pill.d.ts +31 -0
- package/dist/components/pill/Pill.d.ts.map +1 -0
- package/dist/components/pill/Pill.js +59 -0
- package/dist/components/pill/Pill.js.map +1 -0
- package/dist/components/pill/Pill.stories.d.ts +10 -0
- package/dist/components/pill/Pill.stories.d.ts.map +1 -0
- package/dist/components/pill/index.d.ts +3 -0
- package/dist/components/pill/index.d.ts.map +1 -0
- package/dist/components/popup/Popup.d.ts.map +1 -0
- package/dist/components/{layout/Popup → popup}/Popup.js +39 -23
- package/dist/components/popup/Popup.js.map +1 -0
- package/dist/components/popup/Popup.module.css.js +4 -0
- package/dist/components/popup/Popup.stories.d.ts.map +1 -0
- package/dist/components/popup/index.d.ts.map +1 -0
- package/dist/components/{layout/Popup → popup}/types.d.ts +3 -3
- package/dist/components/popup/types.d.ts.map +1 -0
- package/dist/components/popup-menu/PopupMenu.d.ts +2 -2
- package/dist/components/popup-menu/PopupMenu.js +2 -2
- package/dist/components/popup-menu/PopupMenu.js.map +1 -1
- package/dist/components/popup-menu/types.d.ts +1 -1
- package/dist/components/popup-menu/types.d.ts.map +1 -1
- package/dist/components/progress-bar/ProgressBar.d.ts +3 -0
- package/dist/components/progress-bar/ProgressBar.d.ts.map +1 -0
- package/dist/components/progress-bar/ProgressBar.js +40 -0
- package/dist/components/progress-bar/ProgressBar.js.map +1 -0
- package/dist/components/progress-bar/ProgressBar.module.css.js +4 -0
- package/dist/components/progress-bar/ProgressBar.module.css.js.map +1 -0
- package/dist/components/progress-bar/index.d.ts +3 -0
- package/dist/components/progress-bar/index.d.ts.map +1 -0
- package/dist/components/progress-bar/types.d.ts +20 -0
- package/dist/components/progress-bar/types.d.ts.map +1 -0
- package/dist/components/radio-group/RadioGroup.js +0 -1
- package/dist/components/radio-group/RadioGroup.js.map +1 -1
- package/dist/components/scrubber/Scrubber.d.ts +17 -0
- package/dist/components/scrubber/Scrubber.d.ts.map +1 -0
- package/dist/components/scrubber/Scrubber.js +61 -0
- package/dist/components/scrubber/Scrubber.js.map +1 -0
- package/dist/components/scrubber/Scrubber.module.css.js +4 -0
- package/dist/components/scrubber/Scrubber.module.css.js.map +1 -0
- package/dist/components/scrubber/Slider.d.ts +7 -0
- package/dist/components/scrubber/Slider.d.ts.map +1 -0
- package/dist/components/scrubber/Slider.js +230 -0
- package/dist/components/scrubber/Slider.js.map +1 -0
- package/dist/components/scrubber/Slider.module.css.js +4 -0
- package/dist/components/scrubber/Slider.module.css.js.map +1 -0
- package/dist/components/scrubber/hooks.d.ts +11 -0
- package/dist/components/scrubber/hooks.d.ts.map +1 -0
- package/dist/components/scrubber/hooks.js +63 -0
- package/dist/components/scrubber/hooks.js.map +1 -0
- package/dist/components/scrubber/index.d.ts +2 -0
- package/dist/components/scrubber/index.d.ts.map +1 -0
- package/dist/components/scrubber/types.d.ts +86 -0
- package/dist/components/scrubber/types.d.ts.map +1 -0
- package/dist/components/scrubber/types.js +11 -0
- package/dist/components/scrubber/types.js.map +1 -0
- package/dist/components/segmented-control/SegmentedControl.js +1 -1
- package/dist/components/segmented-control/SegmentedControl.js.map +1 -1
- package/dist/components/skeleton/Skeleton.d.ts +5 -0
- package/dist/components/skeleton/Skeleton.d.ts.map +1 -0
- package/dist/components/skeleton/Skeleton.js +27 -0
- package/dist/components/skeleton/Skeleton.js.map +1 -0
- package/dist/components/skeleton/Skeleton.stories.d.ts +7 -0
- package/dist/components/skeleton/Skeleton.stories.d.ts.map +1 -0
- package/dist/components/skeleton/index.d.ts +2 -0
- package/dist/components/skeleton/index.d.ts.map +1 -0
- package/dist/components/tag/Tag.js +5 -10
- package/dist/components/tag/Tag.js.map +1 -1
- package/dist/components/text/Text.d.ts.map +1 -0
- package/dist/components/text/Text.js +51 -0
- package/dist/components/text/Text.js.map +1 -0
- package/dist/components/text/Text.stories.d.ts.map +1 -0
- package/dist/components/text/constants.d.ts.map +1 -0
- package/dist/components/text/{Text/constants.js → constants.js} +4 -4
- package/dist/components/text/constants.js.map +1 -0
- package/dist/components/text/index.d.ts +3 -1
- package/dist/components/text/index.d.ts.map +1 -1
- package/dist/components/text/textContext.d.ts +7 -0
- package/dist/components/text/textContext.d.ts.map +1 -0
- package/dist/components/text/textContext.js +6 -0
- package/dist/components/text/textContext.js.map +1 -0
- package/dist/components/text/{Text/types.d.ts → types.d.ts} +2 -1
- package/dist/components/text/types.d.ts.map +1 -0
- package/dist/components/text-link/TextLink.d.ts +3 -7
- package/dist/components/text-link/TextLink.d.ts.map +1 -1
- package/dist/components/text-link/TextLink.js +8 -6
- package/dist/components/text-link/TextLink.js.map +1 -1
- package/dist/components/text-link/types.d.ts +4 -7
- package/dist/components/text-link/types.d.ts.map +1 -1
- package/dist/foundations/color/color.d.ts +3 -0
- package/dist/foundations/color/color.d.ts.map +1 -1
- package/dist/foundations/color/primitive.d.ts +3 -0
- package/dist/foundations/color/primitive.d.ts.map +1 -1
- package/dist/foundations/color/primitive.js +3 -0
- package/dist/foundations/color/primitive.js.map +1 -1
- package/dist/foundations/corner-radius/cornerRadius.d.ts +1 -0
- package/dist/foundations/corner-radius/cornerRadius.d.ts.map +1 -1
- package/dist/foundations/corner-radius/cornerRadius.js +2 -1
- package/dist/foundations/corner-radius/cornerRadius.js.map +1 -1
- package/dist/foundations/spacing/spacing.d.ts +1 -0
- package/dist/foundations/spacing/spacing.d.ts.map +1 -1
- package/dist/foundations/spacing/spacing.js +1 -0
- package/dist/foundations/spacing/spacing.js.map +1 -1
- package/dist/foundations/theme/ThemeProvider.d.ts +1 -1
- package/dist/foundations/theme/ThemeProvider.d.ts.map +1 -1
- package/dist/foundations/theme/ThemeProvider.js +6 -0
- package/dist/foundations/theme/ThemeProvider.js.map +1 -1
- package/dist/foundations/typography/typography.d.ts +1 -0
- package/dist/foundations/typography/typography.d.ts.map +1 -1
- package/dist/foundations/typography/typography.js +5 -3
- package/dist/foundations/typography/typography.js.map +1 -1
- package/dist/harmony.css +1 -1
- package/dist/hooks/useHotKeys.d.ts +3 -3
- package/dist/hooks/useHotKeys.d.ts.map +1 -1
- package/dist/hooks/useHotKeys.js +11 -5
- package/dist/hooks/useHotKeys.js.map +1 -1
- package/dist/icons/logos.d.ts +1 -0
- package/dist/icons/logos.d.ts.map +1 -1
- package/dist/icons/logos.js +3 -1
- package/dist/icons/logos.js.map +1 -1
- package/dist/icons/utilityIcons.d.ts +3 -0
- package/dist/icons/utilityIcons.d.ts.map +1 -1
- package/dist/icons/utilityIcons.js +7 -1
- package/dist/icons/utilityIcons.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -5
- package/dist/index.js.map +1 -1
- package/dist/utils/modalState.d.ts +2 -0
- package/dist/utils/modalState.d.ts.map +1 -0
- package/package.json +3 -3
- package/dist/2fdaa2b95a34d549.svg +0 -9
- package/dist/5f91e9bafd9a9e2b.svg +0 -9
- package/dist/assets/icons/PenSquare.svg.js.map +0 -1
- package/dist/avenir.css +0 -44
- package/dist/components/button/BaseButton/BaseButton.module.css.js +0 -4
- package/dist/components/button/BaseButton/BaseButton.module.css.js.map +0 -1
- package/dist/components/button/BaseButton.d.ts +0 -21
- package/dist/components/button/BaseButton.d.ts.map +0 -1
- package/dist/components/button/Button/Button.module.css.js +0 -4
- package/dist/components/button/Button/Button.module.css.js.map +0 -1
- package/dist/components/button/Button.d.ts +0 -13
- package/dist/components/button/Button.d.ts.map +0 -1
- package/dist/components/button/Button.stories.d.ts +0 -11
- package/dist/components/button/Button.stories.d.ts.map +0 -1
- package/dist/components/button/PlainButton/PlainButton.module.css.js +0 -4
- package/dist/components/button/PlainButton/PlainButton.module.css.js.map +0 -1
- package/dist/components/button/PlainButton.d.ts +0 -11
- package/dist/components/button/PlainButton.d.ts.map +0 -1
- package/dist/components/button/PlainButton.stories.d.ts +0 -20
- package/dist/components/button/PlainButton.stories.d.ts.map +0 -1
- package/dist/components/button/SocialButton/SocialButton.module.css.js +0 -4
- package/dist/components/button/SocialButton/SocialButton.module.css.js.map +0 -1
- package/dist/components/button/types.d.ts +0 -194
- package/dist/components/button/types.d.ts.map +0 -1
- package/dist/components/button/types.js +0 -43
- package/dist/components/button/types.js.map +0 -1
- package/dist/components/icon/Icon.d.ts +0 -33
- package/dist/components/icon/Icon.d.ts.map +0 -1
- package/dist/components/icon/Icon.js +0 -39
- package/dist/components/icon/Icon.js.map +0 -1
- package/dist/components/icon/index.d.ts +0 -2
- package/dist/components/icon/index.d.ts.map +0 -1
- package/dist/components/icon.js +0 -11
- package/dist/components/icon.js.map +0 -1
- package/dist/components/input/PasswordInput/PasswordInput.modules.css.js +0 -4
- package/dist/components/input/PasswordInput/PasswordInput.modules.css.js.map +0 -1
- package/dist/components/input/SelectablePill/SelectablePill.module.css.js +0 -4
- package/dist/components/input/SelectablePill/SelectablePill.module.css.js.map +0 -1
- package/dist/components/layout/Popup/Popup.d.ts.map +0 -1
- package/dist/components/layout/Popup/Popup.js.map +0 -1
- package/dist/components/layout/Popup/Popup.module.css.js +0 -4
- package/dist/components/layout/Popup/Popup.stories.d.ts.map +0 -1
- package/dist/components/layout/Popup/index.d.ts.map +0 -1
- package/dist/components/layout/Popup/types.d.ts.map +0 -1
- package/dist/components/link/Link.d.ts +0 -8
- package/dist/components/link/Link.d.ts.map +0 -1
- package/dist/components/link/Link.js +0 -19
- package/dist/components/link/Link.js.map +0 -1
- package/dist/components/link/Link.module.css.js +0 -4
- package/dist/components/link/Link.module.css.js.map +0 -1
- package/dist/components/link/TextLink.d.ts +0 -6
- package/dist/components/link/TextLink.d.ts.map +0 -1
- package/dist/components/link/TextLink.stories.d.ts +0 -12
- package/dist/components/link/TextLink.stories.d.ts.map +0 -1
- package/dist/components/link/index.d.ts +0 -2
- package/dist/components/link/index.d.ts.map +0 -1
- package/dist/components/link/types.d.ts +0 -37
- package/dist/components/link/types.d.ts.map +0 -1
- package/dist/components/text/Text/Text.d.ts.map +0 -1
- package/dist/components/text/Text/Text.js +0 -42
- package/dist/components/text/Text/Text.js.map +0 -1
- package/dist/components/text/Text/Text.stories.d.ts.map +0 -1
- package/dist/components/text/Text/constants.d.ts.map +0 -1
- package/dist/components/text/Text/constants.js.map +0 -1
- package/dist/components/text/Text/index.d.ts +0 -4
- package/dist/components/text/Text/index.d.ts.map +0 -1
- package/dist/components/text/Text/types.d.ts.map +0 -1
- package/dist/components/text/Text/typography.module.css.js +0 -4
- package/dist/components/text/Text/typography.module.css.js.map +0 -1
- package/dist/components/typography/Icons/Icon.d.ts +0 -22
- package/dist/components/typography/Icons/Icon.d.ts.map +0 -1
- package/dist/components/typography/Icons/Icon.js +0 -34
- package/dist/components/typography/Icons/Icon.js.map +0 -1
- package/dist/components/typography/Icons/Icon.module.css.js +0 -4
- package/dist/components/typography/Icons/Icon.module.css.js.map +0 -1
- package/dist/components/typography/Icons/index.d.ts +0 -208
- package/dist/components/typography/Icons/index.d.ts.map +0 -1
- package/dist/components/typography/Icons/types.d.ts +0 -5
- package/dist/components/typography/Icons/types.d.ts.map +0 -1
- package/dist/components/typography/Text/Text.d.ts +0 -3
- package/dist/components/typography/Text/Text.d.ts.map +0 -1
- package/dist/components/typography/Text/Text.js +0 -24
- package/dist/components/typography/Text/Text.js.map +0 -1
- package/dist/components/typography/Text/Text.stories.d.ts +0 -12
- package/dist/components/typography/Text/Text.stories.d.ts.map +0 -1
- package/dist/components/typography/Text/constants.d.ts +0 -3
- package/dist/components/typography/Text/constants.d.ts.map +0 -1
- package/dist/components/typography/Text/constants.js +0 -36
- package/dist/components/typography/Text/constants.js.map +0 -1
- package/dist/components/typography/Text/index.d.ts +0 -3
- package/dist/components/typography/Text/index.d.ts.map +0 -1
- package/dist/components/typography/Text/types.d.ts +0 -19
- package/dist/components/typography/Text/types.d.ts.map +0 -1
- package/dist/components/typography/Text/typography.module.css.js +0 -4
- package/dist/components/typography/Text/typography.module.css.js.map +0 -1
- package/dist/components/typography/index.d.ts +0 -4
- package/dist/components/typography/index.d.ts.map +0 -1
- package/dist/d2608cfebdf74ed2.svg +0 -21
- package/dist/foundations/color/colors.stories.d.ts +0 -7
- package/dist/foundations/color/colors.stories.d.ts.map +0 -1
- package/dist/icons/icons.d.ts +0 -189
- package/dist/icons/icons.d.ts.map +0 -1
- package/dist/index.es.js +0 -6383
- package/dist/index.es.js.map +0 -1
- package/dist/storybook/colors.stories.d.ts +0 -7
- package/dist/storybook/colors.stories.d.ts.map +0 -1
- package/dist/storybook/components/CardLink.d.ts +0 -10
- package/dist/storybook/components/CardLink.d.ts.map +0 -1
- package/dist/storybook/components/ColorPalette/ColorPalette.d.ts +0 -7
- package/dist/storybook/components/ColorPalette/ColorPalette.d.ts.map +0 -1
- package/dist/storybook/components/ColorPalette/index.d.ts +0 -2
- package/dist/storybook/components/ColorPalette/index.d.ts.map +0 -1
- package/dist/storybook/components/ColorSwatch/ColorSwatch.d.ts +0 -8
- package/dist/storybook/components/ColorSwatch/ColorSwatch.d.ts.map +0 -1
- package/dist/storybook/components/ColorSwatch/index.d.ts +0 -2
- package/dist/storybook/components/ColorSwatch/index.d.ts.map +0 -1
- package/dist/styles/theme.d.ts +0 -3
- package/dist/styles/theme.d.ts.map +0 -1
- package/dist/styles/types.d.ts +0 -55
- package/dist/styles/types.d.ts.map +0 -1
- package/dist/types/colors.d.ts +0 -2
- package/dist/types/colors.d.ts.map +0 -1
- package/dist/types/styles.d.ts +0 -19
- package/dist/types/styles.d.ts.map +0 -1
- /package/dist/components/{layout/Popup → popup}/Popup.d.ts +0 -0
- /package/dist/components/{layout/Popup → popup}/Popup.module.css.js.map +0 -0
- /package/dist/components/{layout/Popup → popup}/Popup.stories.d.ts +0 -0
- /package/dist/components/{layout/Popup → popup}/index.d.ts +0 -0
- /package/dist/components/text/{Text/Text.d.ts → Text.d.ts} +0 -0
- /package/dist/components/text/{Text/Text.stories.d.ts → Text.stories.d.ts} +0 -0
- /package/dist/components/text/{Text/constants.d.ts → constants.d.ts} +0 -0
|
@@ -6,14 +6,14 @@ import { BaseButton } from '../BaseButton/BaseButton.js';
|
|
|
6
6
|
import { Box } from '../../layout/Box/Box.js';
|
|
7
7
|
import { Flex } from '../../layout/Flex/Flex.js';
|
|
8
8
|
import { Paper } from '../../layout/Paper/Paper.js';
|
|
9
|
-
import { Popup } from '../../
|
|
9
|
+
import { Popup } from '../../popup/Popup.js';
|
|
10
10
|
import { useControlled } from '../../../hooks/useControlled.js';
|
|
11
11
|
import { IconCloseAlt, IconCaretDown } from '../../../icons/utilityIcons.js';
|
|
12
12
|
import '@emotion/css';
|
|
13
13
|
|
|
14
14
|
var FilterButton = forwardRef(function FilterButton(props, ref) {
|
|
15
15
|
var _a, _b;
|
|
16
|
-
var selectionProp = props.selection, label = props.label, options = props.options, onSelect = props.onSelect,
|
|
16
|
+
var selectionProp = props.selection, label = props.label, options = props.options, onSelect = props.onSelect, disabled = props.disabled, _c = props.variant, variant = _c === void 0 ? 'fillContainer' : _c, _d = props.size, size = _d === void 0 ? 'default' : _d, _e = props.iconRight, iconRight = _e === void 0 ? IconCaretDown : _e, popupAnchorOrigin = props.popupAnchorOrigin, popupTransformOrigin = props.popupTransformOrigin, popupPortalLocation = props.popupPortalLocation, popupZIndex = props.popupZIndex;
|
|
17
17
|
var _f = useTheme(), color = _f.color, cornerRadius = _f.cornerRadius, spacing = _f.spacing, typography = _f.typography;
|
|
18
18
|
var _g = useControlled({
|
|
19
19
|
controlledProp: selectionProp,
|
|
@@ -61,8 +61,8 @@ var FilterButton = forwardRef(function FilterButton(props, ref) {
|
|
|
61
61
|
: {};
|
|
62
62
|
// Button Styles
|
|
63
63
|
var buttonCss = __assign(__assign(__assign({ background: 'transparent', border: "1px solid ".concat(color.border.strong), borderRadius: cornerRadius.s, color: variant === 'fillContainer' && selection !== null
|
|
64
|
-
? color.
|
|
65
|
-
: color.text.default, gap: spacing.xs, fontSize: typography.size.s, fontWeight: typography.weight.demiBold, lineHeight: typography.lineHeight.s, '&:hover': {
|
|
64
|
+
? color.static.white
|
|
65
|
+
: color.text.default, gap: spacing.xs, fontSize: typography.size.s, fontWeight: typography.weight.demiBold, lineHeight: typography.lineHeight.s, opacity: disabled ? 0.6 : 1, '&:hover': {
|
|
66
66
|
border: "1px solid ".concat(color.neutral.n800),
|
|
67
67
|
transform: 'none'
|
|
68
68
|
}, '&:active': __assign(__assign({}, activeStyle), { transform: 'none' }) }, (size === 'small' ? smallStyles : defaultStyles)), (isOpen ? activeStyle : {})), (variant === 'fillContainer' && selection !== null
|
|
@@ -116,7 +116,7 @@ var FilterButton = forwardRef(function FilterButton(props, ref) {
|
|
|
116
116
|
icon: iconCss
|
|
117
117
|
}, onClick: handleButtonClick, iconRight: variant === 'fillContainer' && selection !== null
|
|
118
118
|
? IconCloseAlt
|
|
119
|
-
: iconRight, disabled:
|
|
119
|
+
: iconRight, disabled: disabled, "aria-haspopup": 'listbox', "aria-expanded": isOpen }, { children: [selectedLabel !== null && selectedLabel !== void 0 ? selectedLabel : label, jsx(Popup, __assign({ anchorRef: ref || anchorRef, isVisible: isOpen, onClose: function () { return setIsOpen(false); }, anchorOrigin: popupAnchorOrigin, transformOrigin: popupTransformOrigin, portalLocation: popupPortalLocation, zIndex: popupZIndex }, { children: jsx(Paper, __assign({ mt: 's', border: 'strong', shadow: 'far' }, { children: jsx(Box, __assign({ p: 's' }, { children: jsx(Flex, __assign({ direction: 'column', alignItems: 'flex-start', justifyContent: 'center', role: 'listbox', "aria-label": (_b = selectedLabel !== null && selectedLabel !== void 0 ? selectedLabel : label) !== null && _b !== void 0 ? _b : props['aria-label'], "aria-activedescendant": selectedLabel }, { children: options.map(function (option) {
|
|
120
120
|
var _a, _b;
|
|
121
121
|
return (jsx(BaseButton, __assign({ iconLeft: option.icon, styles: {
|
|
122
122
|
button: optionCss,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterButton.js","sources":["../../../../src/components/button/FilterButton/FilterButton.tsx"],"sourcesContent":["import { forwardRef, RefObject, useRef, useState, useCallback } from 'react'\n\nimport { CSSObject, useTheme } from '@emotion/react'\n\nimport { BaseButton } from 'components/button/BaseButton/BaseButton'\nimport { Box, Flex, Paper, Popup } from 'components/layout'\nimport { useControlled } from 'hooks/useControlled'\nimport { IconCaretDown, IconCloseAlt } from 'icons'\n\nimport { FilterButtonOption, FilterButtonProps } from './types'\n\nexport const FilterButton = forwardRef<HTMLButtonElement, FilterButtonProps>(\n function FilterButton(props, ref) {\n const {\n selection: selectionProp,\n label,\n options,\n onSelect,\n isDisabled,\n variant = 'fillContainer',\n size = 'default',\n iconRight = IconCaretDown,\n popupAnchorOrigin,\n popupTransformOrigin,\n popupPortalLocation,\n popupZIndex\n } = props\n const { color, cornerRadius, spacing, typography } = useTheme()\n const [selection, setSelection] = useControlled({\n controlledProp: selectionProp,\n defaultValue: null,\n stateName: 'selection',\n componentName: 'FilterButton'\n })\n const selectedOption = options.find((option) => option.value === selection)\n const selectedLabel = selectedOption?.label ?? selectedOption?.value\n\n const [isOpen, setIsOpen] = useState(false)\n\n // Size Styles\n const defaultStyles: CSSObject = {\n paddingLeft: spacing.m,\n paddingRight: spacing.m,\n paddingTop: spacing.s,\n paddingBottom: spacing.s\n }\n const defaultIconStyles: CSSObject = {\n width: spacing.unit4,\n height: spacing.unit4\n }\n\n const smallStyles: CSSObject = {\n paddingLeft: spacing.m,\n paddingRight: spacing.m,\n paddingTop: spacing.xs,\n paddingBottom: spacing.xs\n }\n const smallIconStyles: CSSObject = {\n width: spacing.unit3,\n height: spacing.unit3\n }\n\n const fillContainerStyles: CSSObject = {\n background: color.secondary.s400,\n border: `1px solid ${color.secondary.s400}`,\n '&:hover': {\n border: `1px solid ${color.secondary.s400}`,\n transform: 'none'\n }\n }\n\n const activeStyle =\n variant !== 'fillContainer' || selection === null\n ? {\n border: `1px solid ${color.border.strong}`,\n background: color.background.surface2\n }\n : {}\n\n // Button Styles\n const buttonCss: CSSObject = {\n background: 'transparent',\n border: `1px solid ${color.border.strong}`,\n borderRadius: cornerRadius.s,\n color:\n variant === 'fillContainer' && selection !== null\n ? color.special.white\n : color.text.default,\n gap: spacing.xs,\n fontSize: typography.size.s,\n fontWeight: typography.weight.demiBold,\n lineHeight: typography.lineHeight.s,\n\n '&:hover': {\n border: `1px solid ${color.neutral.n800}`,\n transform: 'none'\n },\n\n '&:active': {\n ...activeStyle,\n transform: 'none'\n },\n\n ...(size === 'small' ? smallStyles : defaultStyles),\n ...(isOpen ? activeStyle : {}),\n ...(variant === 'fillContainer' && selection !== null\n ? fillContainerStyles\n : {})\n }\n\n const iconCss = size === 'small' ? smallIconStyles : defaultIconStyles\n\n // Popup Styles\n const optionCss: CSSObject = {\n background: 'transparent',\n border: 'none',\n color: color.text.default,\n fontWeight: typography.weight.medium,\n gap: spacing.s,\n paddingLeft: spacing.m,\n paddingRight: spacing.m,\n paddingTop: spacing.s,\n paddingBottom: spacing.s,\n width: '100%',\n borderRadius: cornerRadius.s,\n justifyContent: 'flex-start',\n\n '&:hover': {\n transform: 'none',\n backgroundColor: color.secondary.s300,\n color: color.special.white\n },\n\n '&:active': {\n transform: 'none'\n }\n }\n const optionIconCss: CSSObject = {\n width: spacing.unit4,\n height: spacing.unit4\n }\n\n const handleButtonClick = useCallback(() => {\n if (variant === 'fillContainer' && selection !== null) {\n setSelection(null)\n // @ts-ignore\n onSelect?.(null)\n } else {\n setIsOpen((isOpen: boolean) => !isOpen)\n }\n }, [selection, variant, setIsOpen, setSelection, onSelect])\n\n const handleOptionSelect = useCallback(\n (option: FilterButtonOption) => {\n setSelection(option.value)\n onSelect?.(option.value)\n },\n [onSelect, setSelection]\n )\n\n const anchorRef = useRef<HTMLButtonElement>(null)\n\n return (\n <BaseButton\n ref={ref || anchorRef}\n styles={{\n button: buttonCss,\n icon: iconCss\n }}\n onClick={handleButtonClick}\n iconRight={\n variant === 'fillContainer' && selection !== null\n ? IconCloseAlt\n : iconRight\n }\n disabled={isDisabled}\n aria-haspopup='listbox'\n aria-expanded={isOpen}\n >\n {selectedLabel ?? label}\n <Popup\n anchorRef={(ref as RefObject<HTMLElement>) || anchorRef}\n isVisible={isOpen}\n onClose={() => setIsOpen(false)}\n anchorOrigin={popupAnchorOrigin}\n transformOrigin={popupTransformOrigin}\n portalLocation={popupPortalLocation}\n zIndex={popupZIndex}\n >\n <Paper mt='s' border='strong' shadow='far'>\n <Box p='s'>\n <Flex\n direction='column'\n alignItems='flex-start'\n justifyContent='center'\n role='listbox'\n aria-label={selectedLabel ?? label ?? props['aria-label']}\n aria-activedescendant={selectedLabel}\n >\n {options.map((option) => (\n <BaseButton\n key={option.value}\n iconLeft={option.icon}\n styles={{\n button: optionCss,\n icon: optionIconCss\n }}\n onClick={() => handleOptionSelect(option)}\n aria-label={option.label ?? option.value}\n role='option'\n >\n {option.label ?? option.value}\n </BaseButton>\n ))}\n </Flex>\n </Box>\n </Paper>\n </Popup>\n </BaseButton>\n )\n }\n)\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FilterButton.js","sources":["../../../../src/components/button/FilterButton/FilterButton.tsx"],"sourcesContent":["import { forwardRef, RefObject, useRef, useState, useCallback } from 'react'\n\nimport { CSSObject, useTheme } from '@emotion/react'\n\nimport { BaseButton } from 'components/button/BaseButton/BaseButton'\nimport { Box, Flex, Paper } from 'components/layout'\nimport { Popup } from 'components/popup'\nimport { useControlled } from 'hooks/useControlled'\nimport { IconCaretDown, IconCloseAlt } from 'icons'\n\nimport { FilterButtonOption, FilterButtonProps } from './types'\n\nexport const FilterButton = forwardRef<HTMLButtonElement, FilterButtonProps>(\n function FilterButton(props, ref) {\n const {\n selection: selectionProp,\n label,\n options,\n onSelect,\n disabled,\n variant = 'fillContainer',\n size = 'default',\n iconRight = IconCaretDown,\n popupAnchorOrigin,\n popupTransformOrigin,\n popupPortalLocation,\n popupZIndex\n } = props\n const { color, cornerRadius, spacing, typography } = useTheme()\n const [selection, setSelection] = useControlled({\n controlledProp: selectionProp,\n defaultValue: null,\n stateName: 'selection',\n componentName: 'FilterButton'\n })\n const selectedOption = options.find((option) => option.value === selection)\n const selectedLabel = selectedOption?.label ?? selectedOption?.value\n\n const [isOpen, setIsOpen] = useState(false)\n\n // Size Styles\n const defaultStyles: CSSObject = {\n paddingLeft: spacing.m,\n paddingRight: spacing.m,\n paddingTop: spacing.s,\n paddingBottom: spacing.s\n }\n const defaultIconStyles: CSSObject = {\n width: spacing.unit4,\n height: spacing.unit4\n }\n\n const smallStyles: CSSObject = {\n paddingLeft: spacing.m,\n paddingRight: spacing.m,\n paddingTop: spacing.xs,\n paddingBottom: spacing.xs\n }\n const smallIconStyles: CSSObject = {\n width: spacing.unit3,\n height: spacing.unit3\n }\n\n const fillContainerStyles: CSSObject = {\n background: color.secondary.s400,\n border: `1px solid ${color.secondary.s400}`,\n '&:hover': {\n border: `1px solid ${color.secondary.s400}`,\n transform: 'none'\n }\n }\n\n const activeStyle =\n variant !== 'fillContainer' || selection === null\n ? {\n border: `1px solid ${color.border.strong}`,\n background: color.background.surface2\n }\n : {}\n\n // Button Styles\n const buttonCss: CSSObject = {\n background: 'transparent',\n border: `1px solid ${color.border.strong}`,\n borderRadius: cornerRadius.s,\n color:\n variant === 'fillContainer' && selection !== null\n ? color.static.white\n : color.text.default,\n gap: spacing.xs,\n fontSize: typography.size.s,\n fontWeight: typography.weight.demiBold,\n lineHeight: typography.lineHeight.s,\n opacity: disabled ? 0.6 : 1,\n\n '&:hover': {\n border: `1px solid ${color.neutral.n800}`,\n transform: 'none'\n },\n\n '&:active': {\n ...activeStyle,\n transform: 'none'\n },\n\n ...(size === 'small' ? smallStyles : defaultStyles),\n ...(isOpen ? activeStyle : {}),\n ...(variant === 'fillContainer' && selection !== null\n ? fillContainerStyles\n : {})\n }\n\n const iconCss = size === 'small' ? smallIconStyles : defaultIconStyles\n\n // Popup Styles\n const optionCss: CSSObject = {\n background: 'transparent',\n border: 'none',\n color: color.text.default,\n fontWeight: typography.weight.medium,\n gap: spacing.s,\n paddingLeft: spacing.m,\n paddingRight: spacing.m,\n paddingTop: spacing.s,\n paddingBottom: spacing.s,\n width: '100%',\n borderRadius: cornerRadius.s,\n justifyContent: 'flex-start',\n\n '&:hover': {\n transform: 'none',\n backgroundColor: color.secondary.s300,\n color: color.special.white\n },\n\n '&:active': {\n transform: 'none'\n }\n }\n const optionIconCss: CSSObject = {\n width: spacing.unit4,\n height: spacing.unit4\n }\n\n const handleButtonClick = useCallback(() => {\n if (variant === 'fillContainer' && selection !== null) {\n setSelection(null)\n // @ts-ignore\n onSelect?.(null)\n } else {\n setIsOpen((isOpen: boolean) => !isOpen)\n }\n }, [selection, variant, setIsOpen, setSelection, onSelect])\n\n const handleOptionSelect = useCallback(\n (option: FilterButtonOption) => {\n setSelection(option.value)\n onSelect?.(option.value)\n },\n [onSelect, setSelection]\n )\n\n const anchorRef = useRef<HTMLButtonElement>(null)\n\n return (\n <BaseButton\n ref={ref || anchorRef}\n styles={{\n button: buttonCss,\n icon: iconCss\n }}\n onClick={handleButtonClick}\n iconRight={\n variant === 'fillContainer' && selection !== null\n ? IconCloseAlt\n : iconRight\n }\n disabled={disabled}\n aria-haspopup='listbox'\n aria-expanded={isOpen}\n >\n {selectedLabel ?? label}\n <Popup\n anchorRef={(ref as RefObject<HTMLElement>) || anchorRef}\n isVisible={isOpen}\n onClose={() => setIsOpen(false)}\n anchorOrigin={popupAnchorOrigin}\n transformOrigin={popupTransformOrigin}\n portalLocation={popupPortalLocation}\n zIndex={popupZIndex}\n >\n <Paper mt='s' border='strong' shadow='far'>\n <Box p='s'>\n <Flex\n direction='column'\n alignItems='flex-start'\n justifyContent='center'\n role='listbox'\n aria-label={selectedLabel ?? label ?? props['aria-label']}\n aria-activedescendant={selectedLabel}\n >\n {options.map((option) => (\n <BaseButton\n key={option.value}\n iconLeft={option.icon}\n styles={{\n button: optionCss,\n icon: optionIconCss\n }}\n onClick={() => handleOptionSelect(option)}\n aria-label={option.label ?? option.value}\n role='option'\n >\n {option.label ?? option.value}\n </BaseButton>\n ))}\n </Flex>\n </Box>\n </Paper>\n </Popup>\n </BaseButton>\n )\n }\n)\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterButton.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/button/FilterButton/FilterButton.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAMtD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAG7C,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,YAAY,CAwBnC,CAAA;AAED,eAAe,IAAI,CAAA;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,YAAY,CAAC,CAAA;AAG1C,eAAO,MAAM,OAAO,EAAE,KAerB,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAe3B,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,KAgB1B,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,KAexB,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"FilterButton.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/button/FilterButton/FilterButton.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAMtD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAG7C,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,YAAY,CAwBnC,CAAA;AAED,eAAe,IAAI,CAAA;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,YAAY,CAAC,CAAA;AAG1C,eAAO,MAAM,OAAO,EAAE,KAerB,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAe3B,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,KAgB1B,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,KAexB,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAqB3B,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IconComponent } from "../../icon";
|
|
2
|
-
import { Origin } from "../../
|
|
2
|
+
import { Origin } from "../../popup/types";
|
|
3
3
|
export type FilterButtonSize = 'default' | 'small';
|
|
4
4
|
export type FilterButtonVariant = 'fillContainer' | 'replaceLabel';
|
|
5
5
|
export type FilterButtonOption = {
|
|
@@ -55,7 +55,7 @@ export type FilterButtonProps = {
|
|
|
55
55
|
/**
|
|
56
56
|
* Whether interaction is disabled
|
|
57
57
|
*/
|
|
58
|
-
|
|
58
|
+
disabled?: boolean;
|
|
59
59
|
/**
|
|
60
60
|
* Popup anchor origin
|
|
61
61
|
* @default { horizontal: 'center', vertical: 'bottom' }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/button/FilterButton/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,mBAAuB;AAC/C,OAAO,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/button/FilterButton/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,mBAAuB;AAC/C,OAAO,EAAE,MAAM,EAAE,0BAA8B;AAE/C,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,OAAO,CAAA;AAElD,MAAM,MAAM,mBAAmB,GAAG,eAAe,GAAG,cAAc,CAAA;AAElE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,aAAa,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;;OAGG;IACH,OAAO,EAAE,kBAAkB,EAAE,CAAA;IAE7B;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAEzB;;;OAGG;IACH,IAAI,CAAC,EAAE,gBAAgB,CAAA;IAEvB;;;OAGG;IACH,OAAO,CAAC,EAAE,mBAAmB,CAAA;IAE7B;;OAEG;IACH,QAAQ,CAAC,EAAE,aAAa,CAAA;IAExB;;OAEG;IACH,SAAS,CAAC,EAAE,aAAa,CAAA;IAEzB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAElC;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAE1B;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAE7B;;OAEG;IACH,mBAAmB,CAAC,EAAE,WAAW,CAAA;IAEjC;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
1
2
|
import type { FollowButtonProps } from './types';
|
|
2
3
|
/**
|
|
3
4
|
* Special button for following or unfollowing a user.
|
|
4
5
|
*/
|
|
5
|
-
export declare const FollowButton: (props: FollowButtonProps) => import("
|
|
6
|
+
export declare const FollowButton: (props: FollowButtonProps & import("react").RefAttributes<HTMLButtonElement>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | null;
|
|
6
7
|
//# sourceMappingURL=FollowButton.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FollowButton.d.ts","sourceRoot":"","sources":["../../../../src/components/button/FollowButton/FollowButton.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAqBhD;;GAEG;AACH,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"FollowButton.d.ts","sourceRoot":"","sources":["../../../../src/components/button/FollowButton/FollowButton.tsx"],"names":[],"mappings":";AAWA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAqBhD;;GAEG;AACH,eAAO,MAAM,YAAY,gLAyLxB,CAAA"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { __rest, __assign } from '../../../_virtual/_tslib.js';
|
|
2
2
|
import { jsxs, jsx } from '@emotion/react/jsx-runtime';
|
|
3
|
-
import { useState, useCallback, useEffect } from 'react';
|
|
3
|
+
import { forwardRef, useState, useCallback, useEffect } from 'react';
|
|
4
4
|
import { useTheme } from '@emotion/react';
|
|
5
5
|
import styled from '@emotion/styled';
|
|
6
6
|
import { Flex } from '../../layout/Flex/Flex.js';
|
|
7
|
-
import { Text } from '../../text/Text
|
|
7
|
+
import { Text } from '../../text/Text.js';
|
|
8
8
|
import { useControlled } from '../../../hooks/useControlled.js';
|
|
9
9
|
import { IconUserFollow, IconUserFollowing, IconUserUnfollow } from '../../../icons/utilityIcons.js';
|
|
10
10
|
import '@emotion/css';
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var defaultMessages = {
|
|
13
13
|
follow: 'Follow',
|
|
14
14
|
following: 'Following',
|
|
15
15
|
unfollow: 'Unfollow'
|
|
@@ -29,18 +29,19 @@ var InputRoot = styled.input({
|
|
|
29
29
|
/**
|
|
30
30
|
* Special button for following or unfollowing a user.
|
|
31
31
|
*/
|
|
32
|
-
var FollowButton = function (props) {
|
|
33
|
-
var _a = props.variant, variant = _a === void 0 ? 'default' : _a, _b = props.isFollowing, isFollowing = _b === void 0 ? false : _b, onUnfollow = props.onUnfollow, onFollow = props.onFollow, _c = props.size, size = _c === void 0 ? 'default' : _c, other = __rest(props, ["variant", "isFollowing", "onUnfollow", "onFollow", "size"]);
|
|
32
|
+
var FollowButton = forwardRef(function (props, ref) {
|
|
33
|
+
var _a = props.variant, variant = _a === void 0 ? 'default' : _a, _b = props.isFollowing, isFollowing = _b === void 0 ? false : _b, onUnfollow = props.onUnfollow, onFollow = props.onFollow, _c = props.size, size = _c === void 0 ? 'default' : _c, _d = props.fullWidth, fullWidth = _d === void 0 ? true : _d, messagesProp = props.messages, other = __rest(props, ["variant", "isFollowing", "onUnfollow", "onFollow", "size", "fullWidth", "messages"]);
|
|
34
|
+
var messages = __assign(__assign({}, defaultMessages), messagesProp);
|
|
34
35
|
var type = other.type;
|
|
35
|
-
var
|
|
36
|
+
var _e = useControlled({
|
|
36
37
|
componentName: 'FollowButton',
|
|
37
38
|
controlledProp: isFollowing,
|
|
38
39
|
defaultValue: undefined,
|
|
39
40
|
stateName: 'following'
|
|
40
|
-
}), value =
|
|
41
|
+
}), value = _e[0], setValueState = _e[1];
|
|
41
42
|
// Track hover manually to swap text and icon
|
|
42
|
-
var
|
|
43
|
-
var
|
|
43
|
+
var _f = useState(false), isHovering = _f[0], setIsHovering = _f[1];
|
|
44
|
+
var _g = useState(false), isPressing = _g[0], setIsPressing = _g[1];
|
|
44
45
|
var handleMouseEnter = useCallback(function () {
|
|
45
46
|
setIsHovering(true);
|
|
46
47
|
}, []);
|
|
@@ -82,22 +83,49 @@ var FollowButton = function (props) {
|
|
|
82
83
|
Icon = IconUserUnfollow;
|
|
83
84
|
text = messages.unfollow;
|
|
84
85
|
}
|
|
85
|
-
var
|
|
86
|
+
var _h = useTheme(), color = _h.color, cornerRadius = _h.cornerRadius, motion = _h.motion, shadows = _h.shadows;
|
|
86
87
|
var textColor = checkedValue || isHovering || isPressing
|
|
87
88
|
? color.static.white
|
|
88
89
|
: color.primary.primary;
|
|
90
|
+
var borderRadius = variant === 'pill' ? cornerRadius['2xl'] : cornerRadius.s;
|
|
89
91
|
var rootCss = {
|
|
90
92
|
cursor: 'pointer',
|
|
91
93
|
minWidth: size === 'small' ? 128 : 152,
|
|
92
|
-
width: '100%',
|
|
94
|
+
width: fullWidth ? '100%' : undefined,
|
|
93
95
|
userSelect: 'none',
|
|
94
|
-
borderRadius:
|
|
95
|
-
|
|
96
|
-
? color.primary.
|
|
97
|
-
:
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
96
|
+
borderRadius: borderRadius,
|
|
97
|
+
backgroundColor: checkedValue
|
|
98
|
+
? color.primary.primary
|
|
99
|
+
: color.special.white,
|
|
100
|
+
boxShadow: shadows.near,
|
|
101
|
+
border: "1px solid ".concat(color.primary.primary),
|
|
102
|
+
transition: "\n transform ".concat(motion.hover, ",\n border-color ").concat(motion.hover, ",\n background-color ").concat(motion.hover, ",\n color ").concat(motion.hover, "\n "),
|
|
103
|
+
'::before': {
|
|
104
|
+
content: '""',
|
|
105
|
+
position: 'absolute',
|
|
106
|
+
top: 0,
|
|
107
|
+
left: 0,
|
|
108
|
+
right: 0,
|
|
109
|
+
bottom: 0,
|
|
110
|
+
backgroundColor: 'rgba(0, 0, 0, 0)',
|
|
111
|
+
borderRadius: borderRadius
|
|
112
|
+
},
|
|
113
|
+
'&:hover': {
|
|
114
|
+
backgroundColor: color.primary.primary,
|
|
115
|
+
borderWidth: 0,
|
|
116
|
+
boxShadow: shadows.mid,
|
|
117
|
+
'&::before': {
|
|
118
|
+
backgroundColor: 'rgba(255, 255, 255, 0.2)'
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
'&:active': {
|
|
122
|
+
backgroundColor: color.primary.primary,
|
|
123
|
+
borderWidth: 0,
|
|
124
|
+
boxShadow: 'none',
|
|
125
|
+
'&::before': {
|
|
126
|
+
backgroundColor: 'rgba(0, 0, 0, 0.2)'
|
|
127
|
+
}
|
|
128
|
+
}
|
|
101
129
|
};
|
|
102
130
|
// Handles case where user mouses down, moves cursor, and mouses up
|
|
103
131
|
useEffect(function () {
|
|
@@ -119,10 +147,14 @@ var FollowButton = function (props) {
|
|
|
119
147
|
};
|
|
120
148
|
var buttonProps = type === 'checkbox' ? undefined : other;
|
|
121
149
|
var inputProps = type === 'checkbox' ? other : undefined;
|
|
122
|
-
return (jsxs(Flex
|
|
150
|
+
return (jsxs(Flex
|
|
151
|
+
// @ts-ignore flex not smart enough
|
|
152
|
+
, __assign({
|
|
123
153
|
// @ts-ignore flex not smart enough
|
|
124
|
-
|
|
125
|
-
|
|
154
|
+
ref: ref, as: type === 'checkbox' ? 'label' : 'button', h: size === 'small' ? 28 : 32, direction: 'row', alignItems: 'center', justifyContent: 'center', gap: 'xs', pv: 's', css: rootCss,
|
|
155
|
+
// @ts-ignore flex not smart enough
|
|
156
|
+
onClick: handleClick }, buttonProps, rootProps, { children: [jsx(Icon, { height: 18, width: 18, css: { path: { fill: textColor } } }), jsx(Text, __assign({ variant: 'label', tag: 'span', size: size === 'small' ? 's' : 'l', strength: 'default', css: { color: textColor } }, { children: text })), type === 'checkbox' ? (jsx(InputRoot, __assign({}, inputProps, { checked: isFollowing }))) : null] })));
|
|
157
|
+
});
|
|
126
158
|
|
|
127
159
|
export { FollowButton };
|
|
128
160
|
//# sourceMappingURL=FollowButton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FollowButton.js","sources":["../../../../src/components/button/FollowButton/FollowButton.tsx"],"sourcesContent":["import { useState, useCallback, useEffect } from 'react'\n\nimport { useTheme, type CSSObject } from '@emotion/react'\nimport styled from '@emotion/styled'\n\nimport type { IconComponent } from 'components/icon'\nimport { Flex } from 'components/layout/Flex'\nimport { Text } from 'components/text/Text'\nimport { useControlled } from 'hooks/useControlled'\nimport { IconUserFollowing, IconUserFollow, IconUserUnfollow } from 'icons'\n\nimport type { FollowButtonProps } from './types'\n\nconst messages = {\n follow: 'Follow',\n following: 'Following',\n unfollow: 'Unfollow'\n}\n\nconst InputRoot = styled.input({\n cursor: 'inherit',\n position: 'absolute',\n opacity: 0,\n width: '100%',\n height: '100%',\n top: 0,\n left: 0,\n margin: 0,\n padding: 0,\n zIndex: 1\n})\n\n/**\n * Special button for following or unfollowing a user.\n */\nexport const FollowButton = (props: FollowButtonProps) => {\n const {\n variant = 'default',\n isFollowing = false,\n onUnfollow,\n onFollow,\n size = 'default',\n ...other\n } = props\n const { type } = other\n const [value, setValueState] = useControlled({\n componentName: 'FollowButton',\n controlledProp: isFollowing,\n defaultValue: undefined,\n stateName: 'following'\n })\n\n // Track hover manually to swap text and icon\n const [isHovering, setIsHovering] = useState(false)\n const [isPressing, setIsPressing] = useState(false)\n\n const handleMouseEnter = useCallback(() => {\n setIsHovering(true)\n }, [])\n\n const handleMouseDown = useCallback(() => {\n setIsPressing(true)\n }, [])\n\n const handleMouseLeave = useCallback(() => {\n setIsHovering(false)\n }, [])\n\n const handleMouseUp = useCallback(() => {\n setIsPressing(false)\n }, [])\n\n const handlePressIn = useCallback(() => {\n setIsHovering(true)\n setIsPressing(true)\n }, [])\n\n const handlePressOut = useCallback(() => {\n setIsHovering(false)\n setIsPressing(false)\n }, [])\n\n useEffect(() => {}, [value])\n\n const handleClick = useCallback(() => {\n if (value) {\n onUnfollow?.()\n } else {\n onFollow?.()\n }\n setValueState(!value)\n }, [value, setValueState, onUnfollow, onFollow])\n\n const checkedValue = value\n let Icon: IconComponent | null = IconUserFollow\n let text = messages.follow\n if (checkedValue && !isHovering) {\n Icon = IconUserFollowing\n text = messages.following\n } else if (checkedValue && isHovering && !isPressing) {\n Icon = IconUserUnfollow\n text = messages.unfollow\n }\n\n const { color, cornerRadius } = useTheme()\n\n const textColor =\n checkedValue || isHovering || isPressing\n ? color.static.white\n : color.primary.primary\n\n const rootCss: CSSObject = {\n cursor: 'pointer',\n minWidth: size === 'small' ? 128 : 152,\n width: '100%',\n userSelect: 'none',\n borderRadius: variant === 'pill' ? cornerRadius['2xl'] : cornerRadius.s,\n background: isPressing\n ? color.primary.p500\n : checkedValue || isHovering\n ? color.primary.primary\n : color.static.white,\n border: `1px solid ${\n isPressing ? color.primary.p500 : color.primary.primary\n }`\n }\n\n // Handles case where user mouses down, moves cursor, and mouses up\n useEffect(() => {\n if (isPressing) {\n document.addEventListener('mouseup', handleMouseUp)\n return () => {\n document.removeEventListener('mouseup', handleMouseUp)\n }\n }\n return undefined\n }, [isPressing, handleMouseUp])\n\n const rootProps = {\n onMouseEnter: handleMouseEnter,\n onMouseLeave: handleMouseLeave,\n onMouseDown: handleMouseDown,\n onMouseUp: handleMouseUp,\n onTouchStart: handlePressIn,\n onTouchEnd: handlePressOut\n }\n\n const buttonProps = type === 'checkbox' ? undefined : other\n const inputProps = type === 'checkbox' ? other : undefined\n\n return (\n <Flex\n as={type === 'checkbox' ? 'label' : 'button'}\n h={size === 'small' ? 28 : 32}\n direction='row'\n alignItems='center'\n justifyContent='center'\n gap='xs'\n pv='s'\n css={rootCss}\n // @ts-ignore flex not smart enough\n onClick={handleClick}\n {...buttonProps}\n {...rootProps}\n >\n {/* TODO: use theme icon colors (confirm w/design) */}\n <Icon height={18} width={18} css={{ path: { fill: textColor } }} />\n <Text\n variant='label'\n size={size === 'small' ? 's' : 'l'}\n strength='default'\n css={{ color: textColor }}\n >\n {text}\n </Text>\n {type === 'checkbox' ? (\n <InputRoot {...inputProps} checked={isFollowing} />\n ) : null}\n </Flex>\n )\n}\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FollowButton.js","sources":["../../../../src/components/button/FollowButton/FollowButton.tsx"],"sourcesContent":["import { useState, useCallback, useEffect, forwardRef, Ref } from 'react'\n\nimport { useTheme, type CSSObject } from '@emotion/react'\nimport styled from '@emotion/styled'\n\nimport type { IconComponent } from 'components/icon'\nimport { Flex } from 'components/layout/Flex'\nimport { Text } from 'components/text'\nimport { useControlled } from 'hooks/useControlled'\nimport { IconUserFollowing, IconUserFollow, IconUserUnfollow } from 'icons'\n\nimport type { FollowButtonProps } from './types'\n\nconst defaultMessages = {\n follow: 'Follow',\n following: 'Following',\n unfollow: 'Unfollow'\n}\n\nconst InputRoot = styled.input({\n cursor: 'inherit',\n position: 'absolute',\n opacity: 0,\n width: '100%',\n height: '100%',\n top: 0,\n left: 0,\n margin: 0,\n padding: 0,\n zIndex: 1\n})\n\n/**\n * Special button for following or unfollowing a user.\n */\nexport const FollowButton = forwardRef(\n (props: FollowButtonProps, ref: Ref<HTMLButtonElement>) => {\n const {\n variant = 'default',\n isFollowing = false,\n onUnfollow,\n onFollow,\n size = 'default',\n fullWidth = true,\n messages: messagesProp,\n ...other\n } = props\n const messages = { ...defaultMessages, ...messagesProp }\n const { type } = other\n const [value, setValueState] = useControlled({\n componentName: 'FollowButton',\n controlledProp: isFollowing,\n defaultValue: undefined,\n stateName: 'following'\n })\n\n // Track hover manually to swap text and icon\n const [isHovering, setIsHovering] = useState(false)\n const [isPressing, setIsPressing] = useState(false)\n\n const handleMouseEnter = useCallback(() => {\n setIsHovering(true)\n }, [])\n\n const handleMouseDown = useCallback(() => {\n setIsPressing(true)\n }, [])\n\n const handleMouseLeave = useCallback(() => {\n setIsHovering(false)\n }, [])\n\n const handleMouseUp = useCallback(() => {\n setIsPressing(false)\n }, [])\n\n const handlePressIn = useCallback(() => {\n setIsHovering(true)\n setIsPressing(true)\n }, [])\n\n const handlePressOut = useCallback(() => {\n setIsHovering(false)\n setIsPressing(false)\n }, [])\n\n useEffect(() => {}, [value])\n\n const handleClick = useCallback(() => {\n if (value) {\n onUnfollow?.()\n } else {\n onFollow?.()\n }\n setValueState(!value)\n }, [value, setValueState, onUnfollow, onFollow])\n\n const checkedValue = value\n let Icon: IconComponent | null = IconUserFollow\n let text = messages.follow\n if (checkedValue && !isHovering) {\n Icon = IconUserFollowing\n text = messages.following\n } else if (checkedValue && isHovering && !isPressing) {\n Icon = IconUserUnfollow\n text = messages.unfollow\n }\n\n const { color, cornerRadius, motion, shadows } = useTheme()\n\n const textColor =\n checkedValue || isHovering || isPressing\n ? color.static.white\n : color.primary.primary\n\n const borderRadius =\n variant === 'pill' ? cornerRadius['2xl'] : cornerRadius.s\n\n const rootCss: CSSObject = {\n cursor: 'pointer',\n minWidth: size === 'small' ? 128 : 152,\n width: fullWidth ? '100%' : undefined,\n userSelect: 'none',\n borderRadius,\n backgroundColor: checkedValue\n ? color.primary.primary\n : color.special.white,\n boxShadow: shadows.near,\n border: `1px solid ${color.primary.primary}`,\n transition: `\n transform ${motion.hover},\n border-color ${motion.hover},\n background-color ${motion.hover},\n color ${motion.hover}\n `,\n '::before': {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n backgroundColor: 'rgba(0, 0, 0, 0)',\n borderRadius\n },\n '&:hover': {\n backgroundColor: color.primary.primary,\n borderWidth: 0,\n boxShadow: shadows.mid,\n '&::before': {\n backgroundColor: 'rgba(255, 255, 255, 0.2)'\n }\n },\n '&:active': {\n backgroundColor: color.primary.primary,\n borderWidth: 0,\n boxShadow: 'none',\n '&::before': {\n backgroundColor: 'rgba(0, 0, 0, 0.2)'\n }\n }\n }\n\n // Handles case where user mouses down, moves cursor, and mouses up\n useEffect(() => {\n if (isPressing) {\n document.addEventListener('mouseup', handleMouseUp)\n return () => {\n document.removeEventListener('mouseup', handleMouseUp)\n }\n }\n return undefined\n }, [isPressing, handleMouseUp])\n\n const rootProps = {\n onMouseEnter: handleMouseEnter,\n onMouseLeave: handleMouseLeave,\n onMouseDown: handleMouseDown,\n onMouseUp: handleMouseUp,\n onTouchStart: handlePressIn,\n onTouchEnd: handlePressOut\n }\n\n const buttonProps = type === 'checkbox' ? undefined : other\n const inputProps = type === 'checkbox' ? other : undefined\n\n return (\n <Flex\n // @ts-ignore flex not smart enough\n ref={ref}\n as={type === 'checkbox' ? 'label' : 'button'}\n h={size === 'small' ? 28 : 32}\n direction='row'\n alignItems='center'\n justifyContent='center'\n gap='xs'\n pv='s'\n css={rootCss}\n // @ts-ignore flex not smart enough\n onClick={handleClick}\n {...buttonProps}\n {...rootProps}\n >\n {/* TODO: use theme icon colors (confirm w/design) */}\n <Icon height={18} width={18} css={{ path: { fill: textColor } }} />\n <Text\n variant='label'\n tag='span'\n size={size === 'small' ? 's' : 'l'}\n strength='default'\n css={{ color: textColor }}\n >\n {text}\n </Text>\n {type === 'checkbox' ? (\n <InputRoot {...inputProps} checked={isFollowing} />\n ) : null}\n </Flex>\n )\n }\n)\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
|
|
@@ -27,6 +27,12 @@ export type FollowButtonProps = {
|
|
|
27
27
|
* Callback for when an unfollow is triggered.
|
|
28
28
|
*/
|
|
29
29
|
onUnfollow?: () => void;
|
|
30
|
+
fullWidth?: boolean;
|
|
31
|
+
messages?: {
|
|
32
|
+
follow?: string;
|
|
33
|
+
following?: string;
|
|
34
|
+
unfollow?: string;
|
|
35
|
+
};
|
|
30
36
|
} & InputProps;
|
|
31
37
|
export {};
|
|
32
38
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/button/FollowButton/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,OAAO,CAAA;AAErD,KAAK,UAAU,GACX,CAAC;IACC,IAAI,EAAE,UAAU,CAAA;CACjB,GAAG,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC,CAAC,GAClE,CAAC;IACC,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;CAC5B,GAAG,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,CAAC,CAAA;AAE7D,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;;OAGG;IACH,OAAO,CAAC,EAAE,SAAS,GAAG,MAAM,CAAA;IAE5B;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,CAAA;IAE1B;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IAErB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IAErB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/button/FollowButton/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,OAAO,CAAA;AAErD,KAAK,UAAU,GACX,CAAC;IACC,IAAI,EAAE,UAAU,CAAA;CACjB,GAAG,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC,CAAC,GAClE,CAAC;IACC,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;CAC5B,GAAG,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,CAAC,CAAA;AAE7D,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;;OAGG;IACH,OAAO,CAAC,EAAE,SAAS,GAAG,MAAM,CAAA;IAE5B;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,CAAA;IAE1B;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IAErB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IAErB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;IAEvB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE;QACT,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;KAClB,CAAA;CACF,GAAG,UAAU,CAAA"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { type CSSObject } from '@emotion/react';
|
|
3
|
-
import type { IconComponent, IconProps } from
|
|
3
|
+
import type { IconComponent, IconProps } from '../../icon';
|
|
4
4
|
import type { BaseButtonProps } from '../BaseButton/types';
|
|
5
5
|
export type IconButtonProps = {
|
|
6
6
|
icon: IconComponent;
|
|
7
7
|
ripple?: boolean;
|
|
8
8
|
'aria-label': string;
|
|
9
9
|
iconCss?: CSSObject;
|
|
10
|
-
} & Pick<IconProps, 'color' | 'size' | 'shadow' | 'height' | 'width'> & Pick<BaseButtonProps, 'onClick' | 'disabled' | 'className' | 'type'>;
|
|
10
|
+
} & Pick<IconProps, 'color' | 'size' | 'shadow' | 'height' | 'width'> & Pick<BaseButtonProps, 'onClick' | 'disabled' | 'className' | 'type' | 'children'>;
|
|
11
11
|
/**
|
|
12
12
|
* The icon component allows you to pass in an icon and
|
|
13
13
|
* apply color and sizing properties.
|
|
@@ -17,5 +17,5 @@ export declare const IconButton: (props: {
|
|
|
17
17
|
ripple?: boolean | undefined;
|
|
18
18
|
'aria-label': string;
|
|
19
19
|
iconCss?: CSSObject | undefined;
|
|
20
|
-
} & Pick<IconProps, "color" | "size" | "shadow" | "height" | "width"> & Pick<BaseButtonProps, "disabled" | "type" | "className" | "onClick"> & import("react").RefAttributes<HTMLButtonElement>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | null;
|
|
20
|
+
} & Pick<IconProps, "color" | "size" | "shadow" | "height" | "width"> & Pick<BaseButtonProps, "disabled" | "type" | "className" | "children" | "onClick"> & import("react").RefAttributes<HTMLButtonElement>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | null;
|
|
21
21
|
//# sourceMappingURL=IconButton.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../../../../src/components/button/IconButton/IconButton.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAEzD,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../../../../src/components/button/IconButton/IconButton.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAEzD,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAE1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAE1D,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,aAAa,CAAA;IACnB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,SAAS,CAAA;CACpB,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC,GACnE,IAAI,CACF,eAAe,EACf,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,MAAM,GAAG,UAAU,CAC3D,CAAA;AAEH;;;GAGG;AACH,eAAO,MAAM,UAAU;UAdf,aAAa;;kBAEL,MAAM;;8SAwFrB,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __rest, __assign } from '../../../_virtual/_tslib.js';
|
|
2
|
-
import { jsx } from '@emotion/react/jsx-runtime';
|
|
2
|
+
import { jsxs, jsx } from '@emotion/react/jsx-runtime';
|
|
3
3
|
import { forwardRef } from 'react';
|
|
4
4
|
import { useTheme } from '@emotion/react';
|
|
5
5
|
import { BaseButton } from '../BaseButton/BaseButton.js';
|
|
@@ -9,15 +9,30 @@ import { BaseButton } from '../BaseButton/BaseButton.js';
|
|
|
9
9
|
* apply color and sizing properties.
|
|
10
10
|
*/
|
|
11
11
|
var IconButton = forwardRef(function (props, ref) {
|
|
12
|
-
var Icon = props.icon, iconColor = props.color, _a = props.size, size = _a === void 0 ? 'l' : _a, shadow = props.shadow, ripple = props.ripple, height = props.height, width = props.width, iconCss = props.iconCss, other = __rest(props, ["icon", "color", "size", "shadow", "ripple", "height", "width", "iconCss"]);
|
|
12
|
+
var Icon = props.icon, iconColor = props.color, _a = props.size, size = _a === void 0 ? 'l' : _a, shadow = props.shadow, ripple = props.ripple, height = props.height, width = props.width, iconCss = props.iconCss, children = props.children, other = __rest(props, ["icon", "color", "size", "shadow", "ripple", "height", "width", "iconCss", "children"]);
|
|
13
13
|
var disabled = other.disabled;
|
|
14
|
-
var _b = useTheme(), color = _b.color, cornerRadius = _b.cornerRadius, spacing = _b.spacing;
|
|
14
|
+
var _b = useTheme(), color = _b.color, cornerRadius = _b.cornerRadius, spacing = _b.spacing, motion = _b.motion;
|
|
15
15
|
var buttonCss = {
|
|
16
16
|
background: 'transparent',
|
|
17
17
|
border: 'none',
|
|
18
18
|
borderRadius: '50%',
|
|
19
19
|
padding: spacing.xs,
|
|
20
|
-
overflow: 'unset'
|
|
20
|
+
overflow: 'unset',
|
|
21
|
+
svg: {
|
|
22
|
+
transition: "\n transform ".concat(motion.hover, ",\n color ").concat(motion.hover, "\n ")
|
|
23
|
+
},
|
|
24
|
+
'&:hover': {
|
|
25
|
+
transform: 'scale(1.0)',
|
|
26
|
+
svg: {
|
|
27
|
+
transform: 'scale(1.1)'
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
'&:active': {
|
|
31
|
+
transform: 'scale(1.0)',
|
|
32
|
+
svg: {
|
|
33
|
+
transform: 'scale(0.98)'
|
|
34
|
+
}
|
|
35
|
+
}
|
|
21
36
|
};
|
|
22
37
|
var rippleCss = {
|
|
23
38
|
'&:hover': {
|
|
@@ -31,7 +46,7 @@ var IconButton = forwardRef(function (props, ref) {
|
|
|
31
46
|
borderRadius: cornerRadius.s
|
|
32
47
|
}
|
|
33
48
|
};
|
|
34
|
-
return (
|
|
49
|
+
return (jsxs(BaseButton, __assign({ ref: ref, type: 'button' }, other, { css: [buttonCss, ripple && rippleCss] }, { children: [jsx(Icon, { "aria-hidden": true, color: disabled ? 'disabled' : iconColor, size: size, shadow: shadow, height: height, width: width, css: iconCss }), children] })));
|
|
35
50
|
});
|
|
36
51
|
|
|
37
52
|
export { IconButton };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconButton.js","sources":["../../../../src/components/button/IconButton/IconButton.tsx"],"sourcesContent":["import { forwardRef } from 'react'\n\nimport { useTheme, type CSSObject } from '@emotion/react'\n\nimport type { IconComponent, IconProps } from '
|
|
1
|
+
{"version":3,"file":"IconButton.js","sources":["../../../../src/components/button/IconButton/IconButton.tsx"],"sourcesContent":["import { forwardRef } from 'react'\n\nimport { useTheme, type CSSObject } from '@emotion/react'\n\nimport type { IconComponent, IconProps } from '../../icon'\nimport { BaseButton } from '../BaseButton/BaseButton'\nimport type { BaseButtonProps } from '../BaseButton/types'\n\nexport type IconButtonProps = {\n icon: IconComponent\n ripple?: boolean\n 'aria-label': string\n iconCss?: CSSObject\n} & Pick<IconProps, 'color' | 'size' | 'shadow' | 'height' | 'width'> &\n Pick<\n BaseButtonProps,\n 'onClick' | 'disabled' | 'className' | 'type' | 'children'\n >\n\n/**\n * The icon component allows you to pass in an icon and\n * apply color and sizing properties.\n */\nexport const IconButton = forwardRef<HTMLButtonElement, IconButtonProps>(\n (props: IconButtonProps, ref) => {\n const {\n icon: Icon,\n color: iconColor,\n size = 'l',\n shadow,\n ripple,\n height,\n width,\n iconCss,\n children,\n ...other\n } = props\n const { disabled } = other\n const { color, cornerRadius, spacing, motion } = useTheme()\n\n const buttonCss: CSSObject = {\n background: 'transparent',\n border: 'none',\n borderRadius: '50%',\n padding: spacing.xs,\n overflow: 'unset',\n svg: {\n transition: `\n transform ${motion.hover},\n color ${motion.hover}\n `\n },\n '&:hover': {\n transform: 'scale(1.0)',\n svg: {\n transform: 'scale(1.1)'\n }\n },\n '&:active': {\n transform: 'scale(1.0)',\n svg: {\n transform: 'scale(0.98)'\n }\n }\n }\n\n const rippleCss: CSSObject = {\n '&:hover': {\n backgroundColor: color.neutral.n100\n },\n '&:active': {\n backgroundColor: color.neutral.n150\n },\n '&:focus-visible': {\n border: `1px solid ${color.secondary.secondary}`,\n borderRadius: cornerRadius.s\n }\n }\n\n return (\n <BaseButton\n ref={ref}\n type='button'\n {...other}\n css={[buttonCss, ripple && rippleCss]}\n >\n <Icon\n aria-hidden\n color={disabled ? 'disabled' : iconColor}\n size={size}\n shadow={shadow}\n height={height}\n width={width}\n css={iconCss}\n />\n {children}\n </BaseButton>\n )\n }\n)\n"],"names":["_jsxs","_jsx"],"mappings":";;;;;;AAmBA;;;AAGG;IACU,UAAU,GAAG,UAAU,CAClC,UAAC,KAAsB,EAAE,GAAG,EAAA;IAExB,IAAM,IAAI,GAUR,KAAK,CAVG,IAAA,EACH,SAAS,GASd,KAAK,CATS,KAAA,EAChB,EAQE,GAAA,KAAK,KARG,EAAV,IAAI,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,GAAG,GAAA,EAAA,EACV,MAAM,GAOJ,KAAK,CAAA,MAPD,EACN,MAAM,GAMJ,KAAK,OAND,EACN,MAAM,GAKJ,KAAK,CALD,MAAA,EACN,KAAK,GAIH,KAAK,CAAA,KAJF,EACL,OAAO,GAGL,KAAK,QAHA,EACP,QAAQ,GAEN,KAAK,CAFC,QAAA,EACL,KAAK,GAAA,MAAA,CACN,KAAK,EAXH,CAWL,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,UAAA,CAAA,CADS,CACD;AACD,IAAA,IAAA,QAAQ,GAAK,KAAK,CAAA,QAAV,CAAU;AACpB,IAAA,IAAA,EAA2C,GAAA,QAAQ,EAAE,EAAnD,KAAK,GAAA,EAAA,CAAA,KAAA,EAAE,YAAY,GAAA,EAAA,CAAA,YAAA,EAAE,OAAO,GAAA,EAAA,CAAA,OAAA,EAAE,MAAM,YAAe,CAAA;AAE3D,IAAA,IAAM,SAAS,GAAc;AAC3B,QAAA,UAAU,EAAE,aAAa;AACzB,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,YAAY,EAAE,KAAK;QACnB,OAAO,EAAE,OAAO,CAAC,EAAE;AACnB,QAAA,QAAQ,EAAE,OAAO;AACjB,QAAA,GAAG,EAAE;YACH,UAAU,EAAE,8BACA,MAAM,CAAC,KAAK,EAChB,mBAAA,CAAA,CAAA,MAAA,CAAA,MAAM,CAAC,KAAK,EACnB,YAAA,CAAA;AACF,SAAA;AACD,QAAA,SAAS,EAAE;AACT,YAAA,SAAS,EAAE,YAAY;AACvB,YAAA,GAAG,EAAE;AACH,gBAAA,SAAS,EAAE,YAAY;AACxB,aAAA;AACF,SAAA;AACD,QAAA,UAAU,EAAE;AACV,YAAA,SAAS,EAAE,YAAY;AACvB,YAAA,GAAG,EAAE;AACH,gBAAA,SAAS,EAAE,aAAa;AACzB,aAAA;AACF,SAAA;KACF,CAAA;AAED,IAAA,IAAM,SAAS,GAAc;AAC3B,QAAA,SAAS,EAAE;AACT,YAAA,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI;AACpC,SAAA;AACD,QAAA,UAAU,EAAE;AACV,YAAA,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI;AACpC,SAAA;AACD,QAAA,iBAAiB,EAAE;AACjB,YAAA,MAAM,EAAE,YAAa,CAAA,MAAA,CAAA,KAAK,CAAC,SAAS,CAAC,SAAS,CAAE;YAChD,YAAY,EAAE,YAAY,CAAC,CAAC;AAC7B,SAAA;KACF,CAAA;AAED,IAAA,QACEA,IAAA,CAAC,UAAU,EAAA,QAAA,CAAA,EACT,GAAG,EAAE,GAAG,EACR,IAAI,EAAC,QAAQ,EAAA,EACT,KAAK,EAAA,EACT,GAAG,EAAE,CAAC,SAAS,EAAE,MAAM,IAAI,SAAS,CAAC,EAAA,EAAA,EAAA,QAAA,EAAA,CAErCC,GAAC,CAAA,IAAI,EAEH,EAAA,aAAA,EAAA,IAAA,EAAA,KAAK,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,EACxC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,OAAO,EACZ,CAAA,EACD,QAAQ,CAAA,EAAA,CAAA,CACE,EACd;AACH,CAAC;;;;"}
|
|
@@ -1,14 +1,10 @@
|
|
|
1
1
|
import type { ButtonProps } from '../Button/types';
|
|
2
2
|
type SocialMedia = 'tiktok' | 'instagram' | 'twitter';
|
|
3
|
-
export type SocialButtonProps =
|
|
3
|
+
export type SocialButtonProps = ButtonProps & {
|
|
4
4
|
/**
|
|
5
5
|
* Which social media.
|
|
6
6
|
*/
|
|
7
7
|
socialType: SocialMedia;
|
|
8
|
-
/**
|
|
9
|
-
* Aria label text. Required since these buttons just have icons
|
|
10
|
-
*/
|
|
11
|
-
'aria-label': string;
|
|
12
8
|
};
|
|
13
9
|
export declare const SocialButton: (props: SocialButtonProps) => import("@emotion/react/jsx-runtime").JSX.Element;
|
|
14
10
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SocialButton.d.ts","sourceRoot":"","sources":["../../../../src/components/button/SocialButton/SocialButton.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAElD,KAAK,WAAW,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,CAAA;AAGrD,MAAM,MAAM,iBAAiB,GAAG,
|
|
1
|
+
{"version":3,"file":"SocialButton.d.ts","sourceRoot":"","sources":["../../../../src/components/button/SocialButton/SocialButton.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAElD,KAAK,WAAW,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,CAAA;AAGrD,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG;IAC5C;;OAEG;IACH,UAAU,EAAE,WAAW,CAAA;CACxB,CAAA;AAmBD,eAAO,MAAM,YAAY,UAAW,iBAAiB,qDAsBpD,CAAA"}
|
|
@@ -28,7 +28,7 @@ var SocialButton = function (props) {
|
|
|
28
28
|
background: "radial-gradient(61.46% 59.09% at 36.25% 96.55%, #ffd600 0%, #ff6930 48.44%, #fe3b36 73.44%, rgba(254, 59, 54, 0) 100%),\n radial-gradient(202.83% 136.37% at 84.5% 113.5%, #ff1b90 24.39%, #f80261 43.67%, #ed00c0 68.85%, #c500e9 77.68%, #7017ff 89.32%)"
|
|
29
29
|
};
|
|
30
30
|
var SocialLogo = socialLogos[socialType];
|
|
31
|
-
return (jsx(Button, __assign({}, socialButtonProps, rest, { css: __assign({ border: 'transparent' }, (socialType === 'instagram' && instagramBackgroundCss))
|
|
31
|
+
return (jsx(Button, __assign({}, socialButtonProps, rest, { css: __assign({ border: 'transparent' }, (socialType === 'instagram' && instagramBackgroundCss)), iconLeft: SocialLogo })));
|
|
32
32
|
};
|
|
33
33
|
|
|
34
34
|
export { SocialButton };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SocialButton.js","sources":["../../../../src/components/button/SocialButton/SocialButton.tsx"],"sourcesContent":["import type { CSSObject } from '@emotion/react'\n\nimport { IconInstagram, IconTikTok, IconTwitter } from 'icons'\n\nimport { Button } from '../Button/Button'\nimport type { ButtonProps } from '../Button/types'\n\ntype SocialMedia = 'tiktok' | 'instagram' | 'twitter'\n\n// Omitting aria-label from original type purely for showing in Storybook\nexport type SocialButtonProps =
|
|
1
|
+
{"version":3,"file":"SocialButton.js","sources":["../../../../src/components/button/SocialButton/SocialButton.tsx"],"sourcesContent":["import type { CSSObject } from '@emotion/react'\n\nimport { IconInstagram, IconTikTok, IconTwitter } from 'icons'\n\nimport { Button } from '../Button/Button'\nimport type { ButtonProps } from '../Button/types'\n\ntype SocialMedia = 'tiktok' | 'instagram' | 'twitter'\n\n// Omitting aria-label from original type purely for showing in Storybook\nexport type SocialButtonProps = ButtonProps & {\n /**\n * Which social media.\n */\n socialType: SocialMedia\n}\n\nconst socialLogos = {\n tiktok: IconTikTok,\n instagram: IconInstagram,\n twitter: IconTwitter\n}\n\nconst getSocialButtonProps = (type: SocialMedia): ButtonProps => {\n switch (type) {\n case 'tiktok':\n return { hexColor: '#fe2c55' }\n case 'twitter':\n return { hexColor: '#1ba1f1' }\n default:\n return {}\n }\n}\n\nexport const SocialButton = (props: SocialButtonProps) => {\n const { socialType, ...rest } = props\n const socialButtonProps = getSocialButtonProps(socialType)\n\n const instagramBackgroundCss: CSSObject = {\n background: `radial-gradient(61.46% 59.09% at 36.25% 96.55%, #ffd600 0%, #ff6930 48.44%, #fe3b36 73.44%, rgba(254, 59, 54, 0) 100%),\n radial-gradient(202.83% 136.37% at 84.5% 113.5%, #ff1b90 24.39%, #f80261 43.67%, #ed00c0 68.85%, #c500e9 77.68%, #7017ff 89.32%)`\n }\n\n const SocialLogo = socialLogos[socialType]\n\n return (\n <Button\n {...socialButtonProps}\n {...rest}\n css={{\n border: 'transparent',\n ...(socialType === 'instagram' && instagramBackgroundCss)\n }}\n iconLeft={SocialLogo}\n />\n )\n}\n"],"names":["_jsx"],"mappings":";;;;;;;;AAiBA,IAAM,WAAW,GAAG;AAClB,IAAA,MAAM,EAAE,UAAU;AAClB,IAAA,SAAS,EAAE,aAAa;AACxB,IAAA,OAAO,EAAE,WAAW;CACrB,CAAA;AAED,IAAM,oBAAoB,GAAG,UAAC,IAAiB,EAAA;AAC7C,IAAA,QAAQ,IAAI;AACV,QAAA,KAAK,QAAQ;AACX,YAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAA;AAChC,QAAA,KAAK,SAAS;AACZ,YAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAA;AAChC,QAAA;AACE,YAAA,OAAO,EAAE,CAAA;AACZ,KAAA;AACH,CAAC,CAAA;AAEM,IAAM,YAAY,GAAG,UAAC,KAAwB,EAAA;IAC3C,IAAA,UAAU,GAAc,KAAK,CAAnB,UAAA,EAAK,IAAI,GAAA,MAAA,CAAK,KAAK,EAA/B,CAAuB,YAAA,CAAA,CAAF,CAAU;AACrC,IAAA,IAAM,iBAAiB,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAA;AAE1D,IAAA,IAAM,sBAAsB,GAAc;AACxC,QAAA,UAAU,EAAE,iQACuH;KACpI,CAAA;AAED,IAAA,IAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC,CAAA;IAE1C,QACEA,GAAC,CAAA,MAAM,EACD,QAAA,CAAA,EAAA,EAAA,iBAAiB,EACjB,IAAI,EACR,EAAA,GAAG,EACD,QAAA,CAAA,EAAA,MAAM,EAAE,aAAa,EAClB,GAAC,UAAU,KAAK,WAAW,IAAI,sBAAsB,EAE1D,EAAA,QAAQ,EAAE,UAAU,EACpB,CAAA,CAAA,EACH;AACH;;;;"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
/**
|
|
3
|
+
* A button element with no styling.
|
|
4
|
+
* For use when you want the correct HTML button role on something that isn't visually a button
|
|
5
|
+
* e.g. icons, etc
|
|
6
|
+
*/
|
|
7
|
+
export declare const UnstyledButton: import("@emotion/styled").StyledComponent<{
|
|
8
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
9
|
+
as?: import("react").ElementType<any> | undefined;
|
|
10
|
+
}, import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, {}>;
|
|
11
|
+
//# sourceMappingURL=UnstyledButton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UnstyledButton.d.ts","sourceRoot":"","sources":["../../../src/components/button/UnstyledButton.tsx"],"names":[],"mappings":";AAEA;;;;GAIG;AACH,eAAO,MAAM,cAAc;;;qHAK1B,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { __makeTemplateObject } from '../../_virtual/_tslib.js';
|
|
2
|
+
import styled from '@emotion/styled';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* A button element with no styling.
|
|
6
|
+
* For use when you want the correct HTML button role on something that isn't visually a button
|
|
7
|
+
* e.g. icons, etc
|
|
8
|
+
*/
|
|
9
|
+
var UnstyledButton = styled.button(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n border: none;\n background: transparent;\n padding: 0;\n margin: 0;\n"], ["\n border: none;\n background: transparent;\n padding: 0;\n margin: 0;\n"])));
|
|
10
|
+
var templateObject_1;
|
|
11
|
+
|
|
12
|
+
export { UnstyledButton };
|
|
13
|
+
//# sourceMappingURL=UnstyledButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UnstyledButton.js","sources":["../../../src/components/button/UnstyledButton.tsx"],"sourcesContent":["import styled from '@emotion/styled'\n\n/**\n * A button element with no styling.\n * For use when you want the correct HTML button role on something that isn't visually a button\n * e.g. icons, etc\n */\nexport const UnstyledButton = styled.button`\n border: none;\n background: transparent;\n padding: 0;\n margin: 0;\n`\n"],"names":[],"mappings":";;;AAEA;;;;AAIG;AACU,IAAA,cAAc,GAAG,MAAM,CAAC,MAAM,CAAA,gBAAA,KAAA,gBAAA,GAAA,oBAAA,CAAA,CAAA,8EAAA,CAAA,EAAA,CAAA,8EAK1C,CAAA,CAAA,CAAA,EAAA;;;;;"}
|
|
@@ -2,10 +2,11 @@ export { Button } from './Button/Button';
|
|
|
2
2
|
export * from './Button/types';
|
|
3
3
|
export { PlainButton } from './PlainButton/PlainButton';
|
|
4
4
|
export * from './PlainButton/types';
|
|
5
|
-
export { SocialButton } from './SocialButton/SocialButton';
|
|
5
|
+
export { SocialButton, SocialButtonProps } from './SocialButton/SocialButton';
|
|
6
6
|
export { FollowButton } from './FollowButton/FollowButton';
|
|
7
7
|
export * from './FollowButton/types';
|
|
8
8
|
export { FilterButton } from './FilterButton/FilterButton';
|
|
9
9
|
export * from './FilterButton/types';
|
|
10
10
|
export { IconButton, IconButtonProps } from './IconButton/IconButton';
|
|
11
|
+
export { UnstyledButton } from './UnstyledButton';
|
|
11
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/button/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,cAAc,gBAAgB,CAAA;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACvD,cAAc,qBAAqB,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/button/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,cAAc,gBAAgB,CAAA;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACvD,cAAc,qBAAqB,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,cAAc,sBAAsB,CAAA;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,cAAc,sBAAsB,CAAA;AACpC,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA"}
|
|
@@ -9,7 +9,6 @@ import '@emotion/css';
|
|
|
9
9
|
import '../layout/Box/Box.js';
|
|
10
10
|
import { Flex } from '../layout/Flex/Flex.js';
|
|
11
11
|
import '../layout/Paper/Paper.js';
|
|
12
|
-
import '../layout/Popup/Popup.js';
|
|
13
12
|
import styles from './CompletionCheck.module.css.js';
|
|
14
13
|
|
|
15
14
|
var CompletionDefault = function () { return (jsx("div", { className: cn(styles.defaultCompletionIcon) })); };
|