@audius/harmony 0.0.33 → 0.1.0
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 +21 -7
- package/dist/assets/icons/CoinbasePay.svg.js.map +1 -1
- 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/MoneyBracket.svg.js +78 -0
- 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/BaseButton/BaseButton.d.ts +2 -2
- package/dist/components/button/BaseButton/types.d.ts +2 -2
- package/dist/components/button/BaseButton/types.d.ts.map +1 -1
- package/dist/components/button/Button/Button.d.ts +1 -1
- package/dist/components/button/Button/Button.js +7 -8
- package/dist/components/button/Button/Button.js.map +1 -1
- package/dist/components/button/Button/types.d.ts +2 -2
- 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 +63 -69
- package/dist/components/button/FilterButton/FilterButton.js.map +1 -1
- package/dist/components/button/FilterButton/types.d.ts +38 -23
- package/dist/components/button/FilterButton/types.d.ts.map +1 -1
- package/dist/components/button/FollowButton/FollowButton.js +1 -1
- package/dist/components/button/FollowButton/FollowButton.js.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 +4 -3
- package/dist/components/button/IconButton/IconButton.js.map +1 -1
- package/dist/components/button/OptionsFilterButton/OptionsFilterButton.d.ts +18 -0
- package/dist/components/button/OptionsFilterButton/OptionsFilterButton.d.ts.map +1 -0
- package/dist/components/button/OptionsFilterButton/OptionsFilterButton.js +123 -0
- package/dist/components/button/OptionsFilterButton/OptionsFilterButton.js.map +1 -0
- package/dist/components/button/{FilterButton/FilterButton.stories.d.ts → OptionsFilterButton/OptionsFilterButton.stories.d.ts} +4 -4
- package/dist/components/button/OptionsFilterButton/OptionsFilterButton.stories.d.ts.map +1 -0
- package/dist/components/button/OptionsFilterButton/SelectPopupKeyHandler.d.ts +18 -0
- package/dist/components/button/OptionsFilterButton/SelectPopupKeyHandler.d.ts.map +1 -0
- package/dist/components/button/OptionsFilterButton/SelectPopupKeyHandler.js +82 -0
- package/dist/components/button/OptionsFilterButton/SelectPopupKeyHandler.js.map +1 -0
- package/dist/components/button/OptionsFilterButton/types.d.ts +62 -0
- package/dist/components/button/OptionsFilterButton/types.d.ts.map +1 -0
- 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 +3 -0
- 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 +2 -0
- package/dist/components/input/PasswordInput/PasswordInput.js.map +1 -1
- package/dist/components/input/SelectablePill/SelectablePill.js +2 -2
- package/dist/components/input/SelectablePill/SelectablePill.js.map +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.map +1 -1
- package/dist/components/layout/Paper/Paper.js +2 -1
- package/dist/components/layout/Paper/Paper.js.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.js +1 -1
- package/dist/components/modal/Modal.js.map +1 -1
- package/dist/components/modal/ModalHeader.js +2 -0
- package/dist/components/modal/ModalHeader.js.map +1 -1
- package/dist/components/music-badge/MusicBadge.d.ts +25 -0
- package/dist/components/music-badge/MusicBadge.d.ts.map +1 -0
- package/dist/components/music-badge/MusicBadge.js +40 -0
- package/dist/components/music-badge/MusicBadge.js.map +1 -0
- package/dist/components/music-badge/MusicBadge.stories.d.ts +7 -0
- package/dist/components/music-badge/MusicBadge.stories.d.ts.map +1 -0
- package/dist/components/music-badge/index.d.ts +3 -0
- package/dist/components/music-badge/index.d.ts.map +1 -0
- 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 +13 -9
- 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 +1 -1
- 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/radio-group/RadioGroup.js +0 -1
- package/dist/components/radio-group/RadioGroup.js.map +1 -1
- 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 +52 -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} +1 -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 +12 -0
- package/dist/foundations/color/color.d.ts.map +1 -1
- package/dist/foundations/color/primitive.d.ts +9 -0
- package/dist/foundations/color/primitive.d.ts.map +1 -1
- package/dist/foundations/color/primitive.js +9 -0
- package/dist/foundations/color/primitive.js.map +1 -1
- package/dist/foundations/color/semantic.d.ts +3 -0
- package/dist/foundations/color/semantic.d.ts.map +1 -1
- package/dist/foundations/color/semantic.js +2 -1
- package/dist/foundations/color/semantic.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/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/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.js +12 -4
- package/dist/index.js.map +1 -1
- package/package.json +4 -2
- package/dist/components/button/FilterButton/FilterButton.stories.d.ts.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/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/{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
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { __rest, __assign } from '../../../_virtual/_tslib.js';
|
|
2
|
+
import { jsx, jsxs } from '@emotion/react/jsx-runtime';
|
|
3
|
+
import { forwardRef, useState, useRef, useCallback, useMemo } from 'react';
|
|
4
|
+
import { useTheme } from '@emotion/react';
|
|
5
|
+
import { BaseButton } from '../BaseButton/BaseButton.js';
|
|
6
|
+
import '../../common/HiddenInput.js';
|
|
7
|
+
import '../../radio-group/RadioGroupContext.js';
|
|
8
|
+
import { Text } from '../../text/Text.js';
|
|
9
|
+
import { TextInput } from '../../input/TextInput/TextInput.js';
|
|
10
|
+
import { TextInputSize } from '../../input/TextInput/types.js';
|
|
11
|
+
import '../../input/PasswordInput/PasswordInput.js';
|
|
12
|
+
import '../../input/TokenAmountInput/TokenAmountInput.js';
|
|
13
|
+
import { Box } from '../../layout/Box/Box.js';
|
|
14
|
+
import { Flex } from '../../layout/Flex/Flex.js';
|
|
15
|
+
import { Paper } from '../../layout/Paper/Paper.js';
|
|
16
|
+
import { Popup } from '../../popup/Popup.js';
|
|
17
|
+
import { useControlled } from '../../../hooks/useControlled.js';
|
|
18
|
+
import { IconCaretDown, IconSearch } from '../../../icons/utilityIcons.js';
|
|
19
|
+
import '@emotion/css';
|
|
20
|
+
import { FilterButton } from '../FilterButton/FilterButton.js';
|
|
21
|
+
import { SelectPopupKeyHandler } from './SelectPopupKeyHandler.js';
|
|
22
|
+
|
|
23
|
+
var messages = {
|
|
24
|
+
noMatches: 'No matches'
|
|
25
|
+
};
|
|
26
|
+
var FilterButtonOptions = function (props) {
|
|
27
|
+
var activeValue = props.activeValue, options = props.options, onChange = props.onChange, optionRefs = props.optionRefs;
|
|
28
|
+
var _a = useTheme(), color = _a.color, cornerRadius = _a.cornerRadius, spacing = _a.spacing, typography = _a.typography;
|
|
29
|
+
// Popup Styles
|
|
30
|
+
var optionIconCss = {
|
|
31
|
+
width: spacing.unit4,
|
|
32
|
+
height: spacing.unit4
|
|
33
|
+
};
|
|
34
|
+
var activeOptionCss = {
|
|
35
|
+
transform: 'none',
|
|
36
|
+
backgroundColor: color.secondary.s300,
|
|
37
|
+
color: color.special.white
|
|
38
|
+
};
|
|
39
|
+
var optionCss = {
|
|
40
|
+
background: 'transparent',
|
|
41
|
+
border: 'none',
|
|
42
|
+
color: color.text.default,
|
|
43
|
+
fontWeight: typography.weight.medium,
|
|
44
|
+
gap: spacing.s,
|
|
45
|
+
paddingLeft: spacing.m,
|
|
46
|
+
paddingRight: spacing.m,
|
|
47
|
+
paddingTop: spacing.s,
|
|
48
|
+
paddingBottom: spacing.s,
|
|
49
|
+
width: '100%',
|
|
50
|
+
borderRadius: cornerRadius.s,
|
|
51
|
+
justifyContent: 'flex-start',
|
|
52
|
+
'&:hover': activeOptionCss,
|
|
53
|
+
'&:active': {
|
|
54
|
+
transform: 'none'
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
if (!options.length) {
|
|
58
|
+
return (jsx(Flex, __assign({ justifyContent: 'center' }, { children: jsx(Text, __assign({ variant: 'body', color: 'subdued', size: 's' }, { children: messages.noMatches })) })));
|
|
59
|
+
}
|
|
60
|
+
return (jsx(Flex, __assign({ direction: 'column' }, { children: options.map(function (option, index) {
|
|
61
|
+
var _a, _b, _c;
|
|
62
|
+
return (jsxs(BaseButton, __assign({ iconLeft: option.icon, styles: {
|
|
63
|
+
button: __assign(__assign({}, optionCss), (option.value === activeValue ? activeOptionCss : {})),
|
|
64
|
+
icon: optionIconCss
|
|
65
|
+
}, onClick: function () { return onChange(option); }, "aria-label": (_a = option.label) !== null && _a !== void 0 ? _a : option.value, role: 'option', ref: function (el) {
|
|
66
|
+
if (optionRefs && optionRefs.current && el) {
|
|
67
|
+
optionRefs.current[index] = el;
|
|
68
|
+
}
|
|
69
|
+
} }, { children: [(_b = option.leadingElement) !== null && _b !== void 0 ? _b : null, jsx(Text, __assign({ variant: 'body', strength: 'strong' }, { children: (_c = option.label) !== null && _c !== void 0 ? _c : option.value })), option.helperText ? (jsx(Text, __assign({ variant: 'body', strength: 'strong', color: 'subdued' }, { children: option.helperText }))) : null] }), option.value));
|
|
70
|
+
}) })));
|
|
71
|
+
};
|
|
72
|
+
var OptionsFilterButton = forwardRef(function OptionsFilterButton(props, ref) {
|
|
73
|
+
var _a;
|
|
74
|
+
var selectionProp = props.selection, options = props.options, optionsLabel = props.optionsLabel, showFilterInput = props.showFilterInput, _b = props.filterInputPlaceholder, filterInputPlaceholder = _b === void 0 ? 'Search' : _b, popupAnchorOrigin = props.popupAnchorOrigin, popupMaxHeight = props.popupMaxHeight, popupTransformOrigin = props.popupTransformOrigin, popupPortalLocation = props.popupPortalLocation, popupZIndex = props.popupZIndex, filterButtonProps = __rest(props, ["selection", "options", "optionsLabel", "showFilterInput", "filterInputPlaceholder", "popupAnchorOrigin", "popupMaxHeight", "popupTransformOrigin", "popupPortalLocation", "popupZIndex"]);
|
|
75
|
+
var _c = useControlled({
|
|
76
|
+
controlledProp: selectionProp,
|
|
77
|
+
defaultValue: null,
|
|
78
|
+
stateName: 'selection',
|
|
79
|
+
componentName: 'FilterButton'
|
|
80
|
+
}), selection = _c[0], setSelection = _c[1];
|
|
81
|
+
var _d = useState(''), filterInputValue = _d[0], setFilterInputValue = _d[1];
|
|
82
|
+
var selectedOption = options.find(function (option) { return option.value === selection; });
|
|
83
|
+
var selectedLabel = (_a = selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.label) !== null && _a !== void 0 ? _a : selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.value;
|
|
84
|
+
var inputRef = useRef(null);
|
|
85
|
+
var optionRefs = useRef([]);
|
|
86
|
+
var scrollRef = useRef(null);
|
|
87
|
+
var handleOptionSelect = useCallback(function (handleChange, setIsOpen) {
|
|
88
|
+
return function (option) {
|
|
89
|
+
var _a;
|
|
90
|
+
setSelection(option.value);
|
|
91
|
+
handleChange(option.value, (_a = option.label) !== null && _a !== void 0 ? _a : '');
|
|
92
|
+
setIsOpen(false);
|
|
93
|
+
};
|
|
94
|
+
}, [setSelection]);
|
|
95
|
+
var handleOpen = useCallback(function () {
|
|
96
|
+
// Focus the input after the popup is open
|
|
97
|
+
setTimeout(function () {
|
|
98
|
+
var _a;
|
|
99
|
+
(_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus({ preventScroll: true });
|
|
100
|
+
}, 0);
|
|
101
|
+
}, [inputRef]);
|
|
102
|
+
var filteredOptions = useMemo(function () {
|
|
103
|
+
return options.filter(function (_a) {
|
|
104
|
+
var label = _a.label;
|
|
105
|
+
return (!filterInputValue ||
|
|
106
|
+
(label === null || label === void 0 ? void 0 : label.toLowerCase().includes(filterInputValue.toLowerCase())));
|
|
107
|
+
});
|
|
108
|
+
}, [options, filterInputValue]);
|
|
109
|
+
return (jsx(FilterButton, __assign({ iconRight: IconCaretDown }, filterButtonProps, { value: selection, onOpen: handleOpen, onReset: function () { return setFilterInputValue(''); }, label: selectedLabel !== null && selectedLabel !== void 0 ? selectedLabel : filterButtonProps.label }, { children: function (_a) {
|
|
110
|
+
var isOpen = _a.isOpen, setIsOpen = _a.setIsOpen, handleChange = _a.handleChange, anchorRef = _a.anchorRef;
|
|
111
|
+
return (jsx(SelectPopupKeyHandler, __assign({ options: filteredOptions, disabled: !isOpen, onOptionSelect: handleOptionSelect(handleChange, setIsOpen), optionRefs: optionRefs, scrollRef: scrollRef }, { children: function (activeValue) {
|
|
112
|
+
var _a;
|
|
113
|
+
return (jsx(Popup, __assign({ anchorRef: ref || anchorRef, isVisible: isOpen, onClose: function () { return setIsOpen(false); }, anchorOrigin: popupAnchorOrigin, transformOrigin: popupTransformOrigin, portalLocation: popupPortalLocation, zIndex: popupZIndex, onAfterClose: function () { return setFilterInputValue(''); } }, { children: jsx(Paper, __assign({ mt: 's', border: 'strong', shadow: 'far', onClick: function (e) { return e.stopPropagation(); } }, { children: jsx(Flex, __assign({ p: 's', direction: 'column', alignItems: 'flex-start', role: 'listbox', "aria-label": (_a = selectedLabel !== null && selectedLabel !== void 0 ? selectedLabel : filterButtonProps.label) !== null && _a !== void 0 ? _a : props['aria-label'], "aria-activedescendant": selectedLabel, css: { maxHeight: popupMaxHeight, overflowY: 'auto' }, ref: scrollRef }, { children: jsxs(Flex, __assign({ direction: 'column', w: '100%', gap: 's' }, { children: [showFilterInput ? (jsx(TextInput, { ref: inputRef, placeholder: filterInputPlaceholder, label: filterInputPlaceholder, size: TextInputSize.SMALL, startIcon: IconSearch, onClick: function (e) {
|
|
114
|
+
e.stopPropagation();
|
|
115
|
+
}, onChange: function (e) {
|
|
116
|
+
setFilterInputValue(e.target.value);
|
|
117
|
+
}, autoComplete: 'off' })) : null, optionsLabel ? (jsx(Box, __assign({ pt: 's', ph: 'm' }, { children: jsx(Text, __assign({ variant: 'label', size: 'xs' }, { children: optionsLabel })) }))) : null, jsx(FilterButtonOptions, { activeValue: activeValue, options: filteredOptions, optionRefs: optionRefs, onChange: handleOptionSelect(handleChange, setIsOpen) })] })) })) })) })));
|
|
118
|
+
} })));
|
|
119
|
+
} })));
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
export { FilterButtonOptions, OptionsFilterButton };
|
|
123
|
+
//# sourceMappingURL=OptionsFilterButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OptionsFilterButton.js","sources":["../../../../src/components/button/OptionsFilterButton/OptionsFilterButton.tsx"],"sourcesContent":["import {\n forwardRef,\n RefObject,\n useState,\n useCallback,\n useRef,\n useMemo\n} from 'react'\n\nimport { CSSObject, useTheme } from '@emotion/react'\n\nimport { BaseButton } from 'components/button/BaseButton/BaseButton'\nimport { TextInput, TextInputSize } from 'components/input'\nimport { Box, Flex, Paper } from 'components/layout'\nimport { Popup } from 'components/popup'\nimport { Text } from 'components/text'\nimport { useControlled } from 'hooks/useControlled'\nimport { IconCaretDown, IconSearch } from 'icons'\n\nimport { FilterButton } from '../FilterButton/FilterButton'\n\nimport { SelectPopupKeyHandler } from './SelectPopupKeyHandler'\nimport { OptionsFilterButtonProps, OptionsFilterButtonOption } from './types'\n\nconst messages = {\n noMatches: 'No matches'\n}\n\ntype FilterButtonOptionsProps = {\n activeValue?: string | null\n options: OptionsFilterButtonOption[]\n optionRefs?: RefObject<HTMLButtonElement[]>\n onChange: (option: OptionsFilterButtonOption) => void\n}\n\nexport const FilterButtonOptions = (props: FilterButtonOptionsProps) => {\n const { activeValue, options, onChange, optionRefs } = props\n const { color, cornerRadius, spacing, typography } = useTheme()\n\n // Popup Styles\n const optionIconCss: CSSObject = {\n width: spacing.unit4,\n height: spacing.unit4\n }\n\n const activeOptionCss: CSSObject = {\n transform: 'none',\n backgroundColor: color.secondary.s300,\n color: color.special.white\n }\n\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': activeOptionCss,\n\n '&:active': {\n transform: 'none'\n }\n }\n\n if (!options.length) {\n return (\n <Flex justifyContent='center'>\n <Text variant='body' color='subdued' size='s'>\n {messages.noMatches}\n </Text>\n </Flex>\n )\n }\n\n return (\n <Flex direction='column'>\n {options.map((option, index) => (\n <BaseButton\n key={option.value}\n iconLeft={option.icon}\n styles={{\n button: {\n ...optionCss,\n ...(option.value === activeValue ? activeOptionCss : {})\n },\n icon: optionIconCss\n }}\n onClick={() => onChange(option)}\n aria-label={option.label ?? option.value}\n role='option'\n ref={(el) => {\n if (optionRefs && optionRefs.current && el) {\n optionRefs.current[index] = el\n }\n }}\n >\n {option.leadingElement ?? null}\n <Text variant='body' strength='strong'>\n {option.label ?? option.value}\n </Text>\n {option.helperText ? (\n <Text variant='body' strength='strong' color='subdued'>\n {option.helperText}\n </Text>\n ) : null}\n </BaseButton>\n ))}\n </Flex>\n )\n}\n\nexport const OptionsFilterButton = forwardRef<\n HTMLButtonElement,\n OptionsFilterButtonProps\n>(function OptionsFilterButton(props, ref) {\n const {\n selection: selectionProp,\n options,\n optionsLabel,\n showFilterInput,\n filterInputPlaceholder = 'Search',\n popupAnchorOrigin,\n popupMaxHeight,\n popupTransformOrigin,\n popupPortalLocation,\n popupZIndex,\n ...filterButtonProps\n } = props\n\n const [selection, setSelection] = useControlled({\n controlledProp: selectionProp,\n defaultValue: null,\n stateName: 'selection',\n componentName: 'FilterButton'\n })\n\n const [filterInputValue, setFilterInputValue] = useState('')\n const selectedOption = options.find((option) => option.value === selection)\n const selectedLabel = selectedOption?.label ?? selectedOption?.value\n const inputRef = useRef<HTMLInputElement>(null)\n const optionRefs = useRef([])\n const scrollRef = useRef<HTMLDivElement>(null)\n\n const handleOptionSelect = useCallback(\n (\n handleChange: (value: string, label: string) => void,\n setIsOpen: (isOpen: boolean) => void\n ) =>\n (option: OptionsFilterButtonOption) => {\n setSelection(option.value)\n handleChange(option.value, option.label ?? '')\n setIsOpen(false)\n },\n [setSelection]\n )\n\n const handleOpen = useCallback(() => {\n // Focus the input after the popup is open\n setTimeout(() => {\n inputRef.current?.focus({ preventScroll: true })\n }, 0)\n }, [inputRef])\n\n const filteredOptions = useMemo(\n () =>\n options.filter(({ label }) => {\n return (\n !filterInputValue ||\n label?.toLowerCase().includes(filterInputValue.toLowerCase())\n )\n }),\n [options, filterInputValue]\n )\n\n return (\n <FilterButton\n iconRight={IconCaretDown}\n {...filterButtonProps}\n value={selection}\n onOpen={handleOpen}\n onReset={() => setFilterInputValue('')}\n label={selectedLabel ?? filterButtonProps.label}\n >\n {({ isOpen, setIsOpen, handleChange, anchorRef }) => (\n <SelectPopupKeyHandler\n options={filteredOptions}\n disabled={!isOpen}\n onOptionSelect={handleOptionSelect(handleChange, setIsOpen)}\n optionRefs={optionRefs}\n scrollRef={scrollRef}\n >\n {(activeValue) => (\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 onAfterClose={() => setFilterInputValue('')}\n >\n <Paper\n mt='s'\n border='strong'\n shadow='far'\n onClick={(e) => e.stopPropagation()}\n >\n <Flex\n p='s'\n direction='column'\n alignItems='flex-start'\n role='listbox'\n aria-label={\n selectedLabel ??\n filterButtonProps.label ??\n props['aria-label']\n }\n aria-activedescendant={selectedLabel}\n css={{ maxHeight: popupMaxHeight, overflowY: 'auto' }}\n ref={scrollRef}\n >\n <Flex direction='column' w='100%' gap='s'>\n {showFilterInput ? (\n <TextInput\n ref={inputRef}\n placeholder={filterInputPlaceholder}\n label={filterInputPlaceholder}\n size={TextInputSize.SMALL}\n startIcon={IconSearch}\n onClick={(e) => {\n e.stopPropagation()\n }}\n onChange={(e) => {\n setFilterInputValue(e.target.value)\n }}\n autoComplete='off'\n />\n ) : null}\n {optionsLabel ? (\n <Box pt='s' ph='m'>\n <Text variant='label' size='xs'>\n {optionsLabel}\n </Text>\n </Box>\n ) : null}\n <FilterButtonOptions\n activeValue={activeValue}\n options={filteredOptions}\n optionRefs={optionRefs}\n onChange={handleOptionSelect(handleChange, setIsOpen)}\n />\n </Flex>\n </Flex>\n </Paper>\n </Popup>\n )}\n </SelectPopupKeyHandler>\n )}\n </FilterButton>\n )\n})\n"],"names":["_jsx","_jsxs"],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { Meta, StoryObj } from '@storybook/react';
|
|
2
|
-
import {
|
|
3
|
-
declare const meta: Meta<typeof
|
|
2
|
+
import { OptionsFilterButton } from './OptionsFilterButton';
|
|
3
|
+
declare const meta: Meta<typeof OptionsFilterButton>;
|
|
4
4
|
export default meta;
|
|
5
|
-
type Story = StoryObj<typeof
|
|
5
|
+
type Story = StoryObj<typeof OptionsFilterButton>;
|
|
6
6
|
export declare const Primary: Story;
|
|
7
7
|
export declare const FillContainer: Story;
|
|
8
8
|
export declare const ReplaceLabel: Story;
|
|
9
9
|
export declare const CustomIcon: Story;
|
|
10
10
|
export declare const Accessibility: Story;
|
|
11
|
-
//# sourceMappingURL=
|
|
11
|
+
//# sourceMappingURL=OptionsFilterButton.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OptionsFilterButton.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/button/OptionsFilterButton/OptionsFilterButton.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAMtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAG3D,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,mBAAmB,CAwB1C,CAAA;AAED,eAAe,IAAI,CAAA;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAGjD,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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { RefObject, ReactNode } from 'react';
|
|
2
|
+
import { FilterButtonOption } from '../FilterButton/types';
|
|
3
|
+
type SelectPopupKeyHandlerProps = {
|
|
4
|
+
children: (activeValue: string | null) => ReactNode;
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
onOptionSelect: (option: FilterButtonOption) => void;
|
|
7
|
+
optionRefs: RefObject<HTMLButtonElement[]>;
|
|
8
|
+
options: FilterButtonOption[];
|
|
9
|
+
scrollRef: RefObject<HTMLDivElement>;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Handles key events for the popup inside the Select component
|
|
13
|
+
*
|
|
14
|
+
* Calls the `children` function with the currently active value
|
|
15
|
+
*/
|
|
16
|
+
export declare const SelectPopupKeyHandler: (props: SelectPopupKeyHandlerProps) => import("@emotion/react/jsx-runtime").JSX.Element;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=SelectPopupKeyHandler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectPopupKeyHandler.d.ts","sourceRoot":"","sources":["../../../../src/components/button/OptionsFilterButton/SelectPopupKeyHandler.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAY,SAAS,EAAa,MAAM,OAAO,CAAA;AAEjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAE1D,KAAK,0BAA0B,GAAG;IAChC,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,KAAK,SAAS,CAAA;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,cAAc,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAA;IACpD,UAAU,EAAE,SAAS,CAAC,iBAAiB,EAAE,CAAC,CAAA;IAC1C,OAAO,EAAE,kBAAkB,EAAE,CAAA;IAC7B,SAAS,EAAE,SAAS,CAAC,cAAc,CAAC,CAAA;CACrC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,UAAW,0BAA0B,qDAkFtE,CAAA"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { jsx, Fragment } from '@emotion/react/jsx-runtime';
|
|
2
|
+
import { useState, useEffect } from 'react';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Handles key events for the popup inside the Select component
|
|
6
|
+
*
|
|
7
|
+
* Calls the `children` function with the currently active value
|
|
8
|
+
*/
|
|
9
|
+
var SelectPopupKeyHandler = function (props) {
|
|
10
|
+
var _a;
|
|
11
|
+
var disabled = props.disabled, options = props.options, onOptionSelect = props.onOptionSelect, optionRefs = props.optionRefs, scrollRef = props.scrollRef, children = props.children;
|
|
12
|
+
var _b = useState(null), activeIndex = _b[0], setActiveIndex = _b[1];
|
|
13
|
+
var activeValue = activeIndex !== null ? (_a = options[activeIndex]) === null || _a === void 0 ? void 0 : _a.value : null;
|
|
14
|
+
useEffect(function () {
|
|
15
|
+
var adjustScrollPosition = function (newIndex) {
|
|
16
|
+
var _a;
|
|
17
|
+
if (newIndex !== null) {
|
|
18
|
+
if (optionRefs.current) {
|
|
19
|
+
optionRefs.current[newIndex].scrollIntoView({
|
|
20
|
+
behavior: 'smooth',
|
|
21
|
+
block: 'start'
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
(_a = scrollRef.current) === null || _a === void 0 ? void 0 : _a.scrollTo({ top: 0, behavior: 'smooth' });
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
var handleKeyDown = function (event) {
|
|
30
|
+
if (disabled) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
switch (event.key) {
|
|
34
|
+
case 'ArrowUp':
|
|
35
|
+
event.stopPropagation();
|
|
36
|
+
event.preventDefault();
|
|
37
|
+
setActiveIndex(function (prevIndex) {
|
|
38
|
+
var getNewIndex = function () {
|
|
39
|
+
if (prevIndex === null) {
|
|
40
|
+
return options.length - 1;
|
|
41
|
+
}
|
|
42
|
+
return prevIndex > 0 ? prevIndex - 1 : null;
|
|
43
|
+
};
|
|
44
|
+
var newIndex = getNewIndex();
|
|
45
|
+
adjustScrollPosition(newIndex);
|
|
46
|
+
return newIndex;
|
|
47
|
+
});
|
|
48
|
+
break;
|
|
49
|
+
case 'ArrowDown':
|
|
50
|
+
event.stopPropagation();
|
|
51
|
+
event.preventDefault();
|
|
52
|
+
setActiveIndex(function (prevIndex) {
|
|
53
|
+
var getNewIndex = function () {
|
|
54
|
+
if (prevIndex === null) {
|
|
55
|
+
return 0;
|
|
56
|
+
}
|
|
57
|
+
return prevIndex < options.length - 1 ? prevIndex + 1 : null;
|
|
58
|
+
};
|
|
59
|
+
var newIndex = getNewIndex();
|
|
60
|
+
adjustScrollPosition(newIndex);
|
|
61
|
+
return newIndex;
|
|
62
|
+
});
|
|
63
|
+
break;
|
|
64
|
+
case 'Enter':
|
|
65
|
+
event.stopPropagation();
|
|
66
|
+
event.preventDefault();
|
|
67
|
+
if (activeIndex !== null && options[activeIndex]) {
|
|
68
|
+
onOptionSelect(options[activeIndex]);
|
|
69
|
+
}
|
|
70
|
+
break;
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
window.addEventListener('keydown', handleKeyDown);
|
|
74
|
+
return function () {
|
|
75
|
+
window.removeEventListener('keydown', handleKeyDown);
|
|
76
|
+
};
|
|
77
|
+
}, [disabled, options, activeIndex, scrollRef, optionRefs]);
|
|
78
|
+
return jsx(Fragment, { children: children(activeValue) });
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
export { SelectPopupKeyHandler };
|
|
82
|
+
//# sourceMappingURL=SelectPopupKeyHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectPopupKeyHandler.js","sources":["../../../../src/components/button/OptionsFilterButton/SelectPopupKeyHandler.tsx"],"sourcesContent":["import { RefObject, useState, ReactNode, useEffect } from 'react'\n\nimport { FilterButtonOption } from '../FilterButton/types'\n\ntype SelectPopupKeyHandlerProps = {\n children: (activeValue: string | null) => ReactNode\n disabled?: boolean\n onOptionSelect: (option: FilterButtonOption) => void\n optionRefs: RefObject<HTMLButtonElement[]>\n options: FilterButtonOption[]\n scrollRef: RefObject<HTMLDivElement>\n}\n\n/**\n * Handles key events for the popup inside the Select component\n *\n * Calls the `children` function with the currently active value\n */\nexport const SelectPopupKeyHandler = (props: SelectPopupKeyHandlerProps) => {\n const { disabled, options, onOptionSelect, optionRefs, scrollRef, children } =\n props\n const [activeIndex, setActiveIndex] = useState<number | null>(null)\n const activeValue = activeIndex !== null ? options[activeIndex]?.value : null\n\n useEffect(() => {\n const adjustScrollPosition = (newIndex: number | null) => {\n if (newIndex !== null) {\n if (optionRefs.current) {\n optionRefs.current[newIndex].scrollIntoView({\n behavior: 'smooth',\n block: 'start'\n })\n }\n } else {\n scrollRef.current?.scrollTo({ top: 0, behavior: 'smooth' })\n }\n }\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (disabled) {\n return\n }\n\n switch (event.key) {\n case 'ArrowUp':\n event.stopPropagation()\n event.preventDefault()\n setActiveIndex((prevIndex) => {\n const getNewIndex = () => {\n if (prevIndex === null) {\n return options.length - 1\n }\n\n return prevIndex > 0 ? prevIndex - 1 : null\n }\n\n const newIndex = getNewIndex()\n adjustScrollPosition(newIndex)\n\n return newIndex\n })\n break\n case 'ArrowDown':\n event.stopPropagation()\n event.preventDefault()\n setActiveIndex((prevIndex) => {\n const getNewIndex = () => {\n if (prevIndex === null) {\n return 0\n }\n\n return prevIndex < options.length - 1 ? prevIndex + 1 : null\n }\n\n const newIndex = getNewIndex()\n adjustScrollPosition(newIndex)\n\n return newIndex\n })\n break\n case 'Enter':\n event.stopPropagation()\n event.preventDefault()\n if (activeIndex !== null && options[activeIndex]) {\n onOptionSelect(options[activeIndex])\n }\n break\n default:\n break\n }\n }\n\n window.addEventListener('keydown', handleKeyDown)\n\n return () => {\n window.removeEventListener('keydown', handleKeyDown)\n }\n }, [disabled, options, activeIndex, scrollRef, optionRefs])\n\n return <>{children(activeValue)}</>\n}\n"],"names":["_jsx"],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { IconComponent } from "../../icon";
|
|
3
|
+
import { Origin } from "../../popup/types";
|
|
4
|
+
import { FilterButtonProps } from '../FilterButton/types';
|
|
5
|
+
export type OptionsFilterButtonOption = {
|
|
6
|
+
value: string;
|
|
7
|
+
/**
|
|
8
|
+
* The label to display. If not provided, uses the value.
|
|
9
|
+
*/
|
|
10
|
+
label?: string;
|
|
11
|
+
helperText?: string;
|
|
12
|
+
icon?: IconComponent;
|
|
13
|
+
leadingElement?: JSX.Element;
|
|
14
|
+
};
|
|
15
|
+
export type FilterButtonPopupProps = {
|
|
16
|
+
/**
|
|
17
|
+
* Popup anchor origin
|
|
18
|
+
* @default { horizontal: 'center', vertical: 'bottom' }
|
|
19
|
+
*/
|
|
20
|
+
popupAnchorOrigin?: Origin;
|
|
21
|
+
/**
|
|
22
|
+
* Popup max height
|
|
23
|
+
*/
|
|
24
|
+
popupMaxHeight?: number;
|
|
25
|
+
/**
|
|
26
|
+
* Popup transform origin
|
|
27
|
+
* @default { horizontal: 'center', vertical: 'top' }
|
|
28
|
+
*/
|
|
29
|
+
popupTransformOrigin?: Origin;
|
|
30
|
+
/**
|
|
31
|
+
* Popup portal location passed to the inner popup
|
|
32
|
+
*/
|
|
33
|
+
popupPortalLocation?: HTMLElement;
|
|
34
|
+
/**
|
|
35
|
+
* zIndex applied to the inner Popup component
|
|
36
|
+
*/
|
|
37
|
+
popupZIndex?: number;
|
|
38
|
+
};
|
|
39
|
+
export type OptionsFilterButtonProps = {
|
|
40
|
+
/**
|
|
41
|
+
* Selection options
|
|
42
|
+
* e.g. { label: 'Option A', icon: IconRadar }
|
|
43
|
+
*/
|
|
44
|
+
options: OptionsFilterButtonOption[];
|
|
45
|
+
/**
|
|
46
|
+
* Label to display above options
|
|
47
|
+
*/
|
|
48
|
+
optionsLabel?: string;
|
|
49
|
+
/**
|
|
50
|
+
* The selected value
|
|
51
|
+
*/
|
|
52
|
+
selection?: string | null;
|
|
53
|
+
/**
|
|
54
|
+
* Show a text input to filter the options
|
|
55
|
+
*/
|
|
56
|
+
showFilterInput?: boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Placeholder text for the filter input
|
|
59
|
+
*/
|
|
60
|
+
filterInputPlaceholder?: string;
|
|
61
|
+
} & FilterButtonPopupProps & Omit<FilterButtonProps, 'children' | 'value'>;
|
|
62
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/button/OptionsFilterButton/types.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,mBAAuB;AAC/C,OAAO,EAAE,MAAM,EAAE,0BAA8B;AAE/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAEzD,MAAM,MAAM,yBAAyB,GAAG;IACtC,KAAK,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,aAAa,CAAA;IACpB,cAAc,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAE1B;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IAEvB;;;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;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC;;;OAGG;IACH,OAAO,EAAE,yBAAyB,EAAE,CAAA;IAEpC;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAEzB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IAEzB;;OAEG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAA;CAChC,GAAG,sBAAsB,GACxB,IAAI,CAAC,iBAAiB,EAAE,UAAU,GAAG,OAAO,CAAC,CAAA"}
|
|
@@ -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;;;;;"}
|
|
@@ -7,5 +7,8 @@ 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
|
+
export { OptionsFilterButton, FilterButtonOptions } from './OptionsFilterButton/OptionsFilterButton';
|
|
11
|
+
export * from './OptionsFilterButton/types';
|
|
10
12
|
export { IconButton, IconButtonProps } from './IconButton/IconButton';
|
|
13
|
+
export { UnstyledButton } from './UnstyledButton';
|
|
11
14
|
//# 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,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"}
|
|
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,EACL,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,2CAA2C,CAAA;AAClD,cAAc,6BAA6B,CAAA;AAC3C,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) })); };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CompletionCheck.js","sources":["../../../src/components/completion-check/CompletionCheck.tsx"],"sourcesContent":["import type { CSSProperties } from 'react'\n\nimport { useTransition, animated } from '@react-spring/web'\nimport cn from 'classnames'\n\nimport { IconValidationCheck, IconValidationX } from 'icons'\n\nimport { Flex } from '../layout'\n\nimport styles from './CompletionCheck.module.css'\nimport type { CompletionCheckProps } from './types'\n\nexport const CompletionDefault = () => (\n <div className={cn(styles.defaultCompletionIcon)} />\n)\nexport const CompletionEmpty = () => (\n <div className={cn(styles.completionIcon, styles.emptyCompletionIcon)} />\n)\n\ntype CompletionChangeIconProps = {\n iconStyles: CSSProperties\n}\n\nexport const CompletionError = (props: CompletionChangeIconProps) => (\n <animated.div\n style={props.iconStyles}\n className={cn(styles.completionIcon, styles.xIcon)}\n >\n {' '}\n <IconValidationX size='s' />{' '}\n </animated.div>\n)\nexport const CompletionSuccess = (props: CompletionChangeIconProps) => (\n <animated.div\n style={props.iconStyles}\n className={cn(styles.completionIcon, styles.checkIcon)}\n >\n {' '}\n <IconValidationCheck size='s' />\n </animated.div>\n)\n\nconst completionComponents = {\n complete: CompletionSuccess,\n error: CompletionError,\n incomplete: CompletionEmpty\n}\n\nexport const CompletionCheck = (props: CompletionCheckProps) => {\n const transitions = useTransition(props.value, {\n from: { x: 0 },\n enter: { x: 1 },\n leave: { x: 0 }\n })\n return (\n <Flex alignItems='center' className={styles.container}>\n <CompletionDefault />\n {transitions((style, value) => {\n if (completionComponents[value]) {\n const CompletionIcon = completionComponents[value]\n return (\n <CompletionIcon\n iconStyles={{\n opacity: style.x.to({\n output: [0.3, 1]\n }) as any,\n transform: style.x\n .to({\n range: [0, 0.75, 1],\n output: [0, 1.2, 1]\n })\n .to((x) => `scale3d(${x}, ${x}, ${x})`) as any\n }}\n />\n )\n }\n return null\n })}\n </Flex>\n )\n}\n"],"names":["_jsx","_jsxs"],"mappings":"
|
|
1
|
+
{"version":3,"file":"CompletionCheck.js","sources":["../../../src/components/completion-check/CompletionCheck.tsx"],"sourcesContent":["import type { CSSProperties } from 'react'\n\nimport { useTransition, animated } from '@react-spring/web'\nimport cn from 'classnames'\n\nimport { IconValidationCheck, IconValidationX } from 'icons'\n\nimport { Flex } from '../layout'\n\nimport styles from './CompletionCheck.module.css'\nimport type { CompletionCheckProps } from './types'\n\nexport const CompletionDefault = () => (\n <div className={cn(styles.defaultCompletionIcon)} />\n)\nexport const CompletionEmpty = () => (\n <div className={cn(styles.completionIcon, styles.emptyCompletionIcon)} />\n)\n\ntype CompletionChangeIconProps = {\n iconStyles: CSSProperties\n}\n\nexport const CompletionError = (props: CompletionChangeIconProps) => (\n <animated.div\n style={props.iconStyles}\n className={cn(styles.completionIcon, styles.xIcon)}\n >\n {' '}\n <IconValidationX size='s' />{' '}\n </animated.div>\n)\nexport const CompletionSuccess = (props: CompletionChangeIconProps) => (\n <animated.div\n style={props.iconStyles}\n className={cn(styles.completionIcon, styles.checkIcon)}\n >\n {' '}\n <IconValidationCheck size='s' />\n </animated.div>\n)\n\nconst completionComponents = {\n complete: CompletionSuccess,\n error: CompletionError,\n incomplete: CompletionEmpty\n}\n\nexport const CompletionCheck = (props: CompletionCheckProps) => {\n const transitions = useTransition(props.value, {\n from: { x: 0 },\n enter: { x: 1 },\n leave: { x: 0 }\n })\n return (\n <Flex alignItems='center' className={styles.container}>\n <CompletionDefault />\n {transitions((style, value) => {\n if (completionComponents[value]) {\n const CompletionIcon = completionComponents[value]\n return (\n <CompletionIcon\n iconStyles={{\n opacity: style.x.to({\n output: [0.3, 1]\n }) as any,\n transform: style.x\n .to({\n range: [0, 0.75, 1],\n output: [0, 1.2, 1]\n })\n .to((x) => `scale3d(${x}, ${x}, ${x})`) as any\n }}\n />\n )\n }\n return null\n })}\n </Flex>\n )\n}\n"],"names":["_jsx","_jsxs"],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { ReactNode } from 'react';
|
|
|
2
2
|
import type { IconComponent } from "../icon";
|
|
3
3
|
import { PaperProps } from "../layout/Paper";
|
|
4
4
|
type HintProps = {
|
|
5
|
-
icon
|
|
5
|
+
icon?: IconComponent;
|
|
6
6
|
actions?: ReactNode;
|
|
7
7
|
} & PaperProps;
|
|
8
8
|
export declare const Hint: (props: HintProps) => import("@emotion/react/jsx-runtime").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Hint.d.ts","sourceRoot":"","sources":["../../../src/components/hint/Hint.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjC,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAuB;AAEpD,OAAO,EAAS,UAAU,EAAE,wBAA+B;
|
|
1
|
+
{"version":3,"file":"Hint.d.ts","sourceRoot":"","sources":["../../../src/components/hint/Hint.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjC,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAuB;AAEpD,OAAO,EAAS,UAAU,EAAE,wBAA+B;AAI3D,KAAK,SAAS,GAAG;IACf,IAAI,CAAC,EAAE,aAAa,CAAA;IACpB,OAAO,CAAC,EAAE,SAAS,CAAA;CACpB,GAAG,UAAU,CAAA;AAKd,eAAO,MAAM,IAAI,UAAW,SAAS,qDA2BpC,CAAA"}
|
|
@@ -4,14 +4,16 @@ import '../layout/Box/Box.js';
|
|
|
4
4
|
import '@emotion/react';
|
|
5
5
|
import { Flex } from '../layout/Flex/Flex.js';
|
|
6
6
|
import { Paper } from '../layout/Paper/Paper.js';
|
|
7
|
-
import '../
|
|
8
|
-
import {
|
|
7
|
+
import { Text } from '../text/Text.js';
|
|
8
|
+
import { IconQuestionCircle } from '../../icons/utilityIcons.js';
|
|
9
|
+
import 'react';
|
|
10
|
+
import '@emotion/css';
|
|
9
11
|
|
|
10
12
|
/*
|
|
11
13
|
* A way of informing the user of important details in line in a prominent way.
|
|
12
14
|
*/
|
|
13
15
|
var Hint = function (props) {
|
|
14
|
-
var
|
|
16
|
+
var _a = props.icon, Icon = _a === void 0 ? IconQuestionCircle : _a, children = props.children, actions = props.actions, other = __rest(props, ["icon", "children", "actions"]);
|
|
15
17
|
return (jsxs(Paper, __assign({ role: 'alert', backgroundColor: 'surface2', ph: 'l', pv: 'm', direction: 'column', gap: 'm', shadow: 'flat', border: 'strong' }, other, { children: [jsxs(Flex, __assign({ gap: 'l', alignItems: 'center' }, { children: [jsx(Icon, { size: 'l', color: 'default' }), jsx(Text, __assign({ variant: 'body', color: 'default' }, { children: children }))] })), actions ? (jsx(Flex, __assign({ pl: 'unit10', gap: 'l' }, { children: actions }))) : null] })));
|
|
16
18
|
};
|
|
17
19
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Hint.js","sources":["../../../src/components/hint/Hint.tsx"],"sourcesContent":["import { ReactNode } from 'react'\n\nimport type { IconComponent } from 'components/icon'\nimport { Flex } from 'components/layout'\nimport { Paper, PaperProps } from 'components/layout/Paper'\nimport { Text } from 'components/text'\n\ntype HintProps = {\n icon
|
|
1
|
+
{"version":3,"file":"Hint.js","sources":["../../../src/components/hint/Hint.tsx"],"sourcesContent":["import { ReactNode } from 'react'\n\nimport type { IconComponent } from 'components/icon'\nimport { Flex } from 'components/layout'\nimport { Paper, PaperProps } from 'components/layout/Paper'\nimport { Text } from 'components/text'\nimport { IconQuestionCircle } from 'icons'\n\ntype HintProps = {\n icon?: IconComponent\n actions?: ReactNode\n} & PaperProps\n\n/*\n * A way of informing the user of important details in line in a prominent way.\n */\nexport const Hint = (props: HintProps) => {\n const { icon: Icon = IconQuestionCircle, children, actions, ...other } = props\n return (\n <Paper\n role='alert'\n backgroundColor='surface2'\n ph='l'\n pv='m'\n direction='column'\n gap='m'\n shadow='flat'\n border='strong'\n {...other}\n >\n <Flex gap='l' alignItems='center'>\n <Icon size='l' color='default' />\n <Text variant='body' color='default'>\n {children}\n </Text>\n </Flex>\n {actions ? (\n <Flex pl='unit10' gap='l'>\n {actions}\n </Flex>\n ) : null}\n </Paper>\n )\n}\n"],"names":["_jsxs","_jsx"],"mappings":";;;;;;;;;;;AAaA;;AAEG;AACI,IAAM,IAAI,GAAG,UAAC,KAAgB,EAAA;IAC3B,IAAA,EAAA,GAAiE,KAAK,CAAA,IAAvC,EAAzB,IAAI,mBAAG,kBAAkB,GAAA,EAAA,EAAE,QAAQ,GAAwB,KAAK,SAA7B,EAAE,OAAO,GAAe,KAAK,CAApB,OAAA,EAAK,KAAK,GAAA,MAAA,CAAK,KAAK,EAAxE,CAAgE,MAAA,EAAA,UAAA,EAAA,SAAA,CAAA,CAAF,CAAU;IAC9E,QACEA,KAAC,KAAK,EAAA,QAAA,CAAA,EACJ,IAAI,EAAC,OAAO,EACZ,eAAe,EAAC,UAAU,EAC1B,EAAE,EAAC,GAAG,EACN,EAAE,EAAC,GAAG,EACN,SAAS,EAAC,QAAQ,EAClB,GAAG,EAAC,GAAG,EACP,MAAM,EAAC,MAAM,EACb,MAAM,EAAC,QAAQ,EACX,EAAA,KAAK,eAETA,IAAC,CAAA,IAAI,aAAC,GAAG,EAAC,GAAG,EAAC,UAAU,EAAC,QAAQ,EAC/B,EAAA,EAAA,QAAA,EAAA,CAAAC,GAAA,CAAC,IAAI,EAAC,EAAA,IAAI,EAAC,GAAG,EAAC,KAAK,EAAC,SAAS,EAAG,CAAA,EACjCA,GAAC,CAAA,IAAI,aAAC,OAAO,EAAC,MAAM,EAAC,KAAK,EAAC,SAAS,EAAA,EAAA,EAAA,QAAA,EACjC,QAAQ,EAAA,CAAA,CACJ,CACF,EAAA,CAAA,CAAA,EACN,OAAO,IACNA,GAAA,CAAC,IAAI,EAAC,QAAA,CAAA,EAAA,EAAE,EAAC,QAAQ,EAAC,GAAG,EAAC,GAAG,EAAA,EAAA,EAAA,QAAA,EACtB,OAAO,EAAA,CAAA,CACH,IACL,IAAI,CACF,EAAA,CAAA,CAAA,EACT;AACH;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icon.d.ts","sourceRoot":"","sources":["../../src/components/icon.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAEjD,KAAK,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAA;AAE3C,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,KAAK,CAAC,EAAE,QAAQ,CAAA;IAChB,KAAK,CAAC,EAAE,QAAQ,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"icon.d.ts","sourceRoot":"","sources":["../../src/components/icon.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAEjD,KAAK,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAA;AAE3C,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,KAAK,CAAC,EAAE,QAAQ,CAAA;IAChB,KAAK,CAAC,EAAE,QAAQ,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,KAAK,YAAY,GAAG,YAAY,GAAG,SAAS,CAAA;AAE5C,MAAM,MAAM,aAAa,GAAG,aAAa,CAAC,YAAY,GAAG,YAAY,CAAC,CAAA"}
|
|
@@ -13,8 +13,15 @@ export * from './segmented-control';
|
|
|
13
13
|
export * from './scrollbar';
|
|
14
14
|
export * from './radio';
|
|
15
15
|
export * from './radio-group';
|
|
16
|
+
export * from './popup';
|
|
16
17
|
export * from './popup-menu';
|
|
17
18
|
export * from './modal';
|
|
18
19
|
export * from './progress-bar';
|
|
19
20
|
export * from './scrubber';
|
|
21
|
+
export * from './skeleton';
|
|
22
|
+
export * from './artwork';
|
|
23
|
+
export * from './music-badge';
|
|
24
|
+
export { default as LoadingSpinner } from './loading-spinner/LoadingSpinner';
|
|
25
|
+
export * from './pill';
|
|
26
|
+
export * from './common/HiddenInput';
|
|
20
27
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA;AACxB,cAAc,oBAAoB,CAAA;AAClC,cAAc,QAAQ,CAAA;AACtB,cAAc,aAAa,CAAA;AAC3B,cAAc,QAAQ,CAAA;AACtB,cAAc,OAAO,CAAA;AACrB,cAAc,UAAU,CAAA;AACxB,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA;AAC3B,cAAc,SAAS,CAAA;AACvB,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA;AACvB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA;AACxB,cAAc,oBAAoB,CAAA;AAClC,cAAc,QAAQ,CAAA;AACtB,cAAc,aAAa,CAAA;AAC3B,cAAc,QAAQ,CAAA;AACtB,cAAc,OAAO,CAAA;AACrB,cAAc,UAAU,CAAA;AACxB,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA;AAC3B,cAAc,SAAS,CAAA;AACvB,cAAc,eAAe,CAAA;AAC7B,cAAc,SAAS,CAAA;AACvB,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA;AACvB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA;AAC7B,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kCAAkC,CAAA;AAC5E,cAAc,QAAQ,CAAA;AACtB,cAAc,sBAAsB,CAAA"}
|
|
@@ -9,7 +9,9 @@ import '@emotion/react';
|
|
|
9
9
|
import '@emotion/css';
|
|
10
10
|
import '../../button/FollowButton/FollowButton.js';
|
|
11
11
|
import '../../button/FilterButton/FilterButton.js';
|
|
12
|
+
import '../../button/OptionsFilterButton/OptionsFilterButton.js';
|
|
12
13
|
import { IconButton } from '../../button/IconButton/IconButton.js';
|
|
14
|
+
import '../../button/UnstyledButton.js';
|
|
13
15
|
import { TextInput } from '../TextInput/TextInput.js';
|
|
14
16
|
import '../TextInput/types.js';
|
|
15
17
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PasswordInput.js","sources":["../../../../src/components/input/PasswordInput/PasswordInput.tsx"],"sourcesContent":["import { forwardRef } from 'react'\n\nimport { useToggle } from 'react-use'\n\nimport { IconButton } from 'components/button'\nimport { IconVisibilityHidden, IconVisibilityPublic } from 'icons'\n\nimport { TextInput } from '../TextInput'\n\nimport type { PasswordInputProps } from './types'\n\nconst messages = {\n hidePasswordInput: 'Hide password input',\n showPasswordInput: 'Show password input'\n}\n\nexport const PasswordInput = forwardRef<HTMLInputElement, PasswordInputProps>(\n (props, ref) => {\n const { hideVisibilityToggle, ...restProps } = props\n const [isPasswordVisible, toggleIsPasswordVisible] = useToggle(false)\n const VisibilityIcon = isPasswordVisible\n ? IconVisibilityPublic\n : IconVisibilityHidden\n\n return (\n <TextInput\n ref={ref}\n type={isPasswordVisible ? 'text' : 'password'}\n endAdornment={\n hideVisibilityToggle ? null : (\n <IconButton\n icon={VisibilityIcon}\n color='subdued'\n onClick={toggleIsPasswordVisible}\n aria-label={\n isPasswordVisible\n ? messages.hidePasswordInput\n : messages.showPasswordInput\n }\n ripple\n />\n )\n }\n {...restProps}\n />\n )\n }\n)\n"],"names":["_jsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"PasswordInput.js","sources":["../../../../src/components/input/PasswordInput/PasswordInput.tsx"],"sourcesContent":["import { forwardRef } from 'react'\n\nimport { useToggle } from 'react-use'\n\nimport { IconButton } from 'components/button'\nimport { IconVisibilityHidden, IconVisibilityPublic } from 'icons'\n\nimport { TextInput } from '../TextInput'\n\nimport type { PasswordInputProps } from './types'\n\nconst messages = {\n hidePasswordInput: 'Hide password input',\n showPasswordInput: 'Show password input'\n}\n\nexport const PasswordInput = forwardRef<HTMLInputElement, PasswordInputProps>(\n (props, ref) => {\n const { hideVisibilityToggle, ...restProps } = props\n const [isPasswordVisible, toggleIsPasswordVisible] = useToggle(false)\n const VisibilityIcon = isPasswordVisible\n ? IconVisibilityPublic\n : IconVisibilityHidden\n\n return (\n <TextInput\n ref={ref}\n type={isPasswordVisible ? 'text' : 'password'}\n endAdornment={\n hideVisibilityToggle ? null : (\n <IconButton\n icon={VisibilityIcon}\n color='subdued'\n onClick={toggleIsPasswordVisible}\n aria-label={\n isPasswordVisible\n ? messages.hidePasswordInput\n : messages.showPasswordInput\n }\n ripple\n />\n )\n }\n {...restProps}\n />\n )\n }\n)\n"],"names":["_jsx"],"mappings":";;;;;;;;;;;;;;;;;AAWA,IAAM,QAAQ,GAAG;AACf,IAAA,iBAAiB,EAAE,qBAAqB;AACxC,IAAA,iBAAiB,EAAE,qBAAqB;CACzC,CAAA;IAEY,aAAa,GAAG,UAAU,CACrC,UAAC,KAAK,EAAE,GAAG,EAAA;IACD,IAAA,oBAAoB,GAAmB,KAAK,CAAxB,oBAAA,EAAK,SAAS,GAAA,MAAA,CAAK,KAAK,EAA9C,CAAsC,sBAAA,CAAA,CAAF,CAAU;IAC9C,IAAA,EAAA,GAA+C,SAAS,CAAC,KAAK,CAAC,EAA9D,iBAAiB,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,uBAAuB,GAAA,EAAA,CAAA,CAAA,CAAoB,CAAA;IACrE,IAAM,cAAc,GAAG,iBAAiB;AACtC,UAAE,oBAAoB;UACpB,oBAAoB,CAAA;IAExB,QACEA,IAAC,SAAS,EAAA,QAAA,CAAA,EACR,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,iBAAiB,GAAG,MAAM,GAAG,UAAU,EAC7C,YAAY,EACV,oBAAoB,GAAG,IAAI,IACzBA,GAAA,CAAC,UAAU,EACT,EAAA,IAAI,EAAE,cAAc,EACpB,KAAK,EAAC,SAAS,EACf,OAAO,EAAE,uBAAuB,EAAA,YAAA,EAE9B,iBAAiB;kBACb,QAAQ,CAAC,iBAAiB;AAC5B,kBAAE,QAAQ,CAAC,iBAAiB,EAEhC,MAAM,EACN,IAAA,EAAA,CAAA,CACH,EAEC,EAAA,SAAS,CACb,CAAA,EACH;AACH,CAAC;;;;"}
|
|
@@ -3,7 +3,7 @@ import { jsxs, Fragment, jsx } from '@emotion/react/jsx-runtime';
|
|
|
3
3
|
import { useTheme } from '@emotion/react';
|
|
4
4
|
import { HiddenInput } from '../../common/HiddenInput.js';
|
|
5
5
|
import { useRadioGroup } from '../../radio-group/useRadioGroup.js';
|
|
6
|
-
import { Text } from '../../text/Text
|
|
6
|
+
import { Text } from '../../text/Text.js';
|
|
7
7
|
|
|
8
8
|
var RadioInput = function (props) {
|
|
9
9
|
var _a = useRadioGroup(props), name = _a.name, checked = _a.checked, onChange = _a.onChange;
|
|
@@ -26,7 +26,7 @@ var SelectablePill = function (props) {
|
|
|
26
26
|
var activeCss = __assign({ backgroundColor: theme.color.secondary.s400, color: theme.color.static.white, border: "1px solid ".concat(theme.color.secondary.s400) }, (size === 'large' && {
|
|
27
27
|
boxShadow: 'none'
|
|
28
28
|
}));
|
|
29
|
-
var rootCss = __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({ display: 'inline-flex', position: 'relative', alignItems: 'center', justifyContent: 'center', gap: theme.spacing.
|
|
29
|
+
var rootCss = __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({ display: 'inline-flex', position: 'relative', alignItems: 'center', justifyContent: 'center', gap: theme.spacing.s, color: theme.color.text.default, backgroundColor: theme.color.background.white, cursor: 'pointer', userSelect: 'none', transition: 'all 0.12s ease-out', textWrap: 'nowrap', border: "1px solid ".concat(theme.color.border.strong), borderRadius: theme.cornerRadius['2xl'] }, (size === 'small' && {
|
|
30
30
|
height: theme.spacing.xl,
|
|
31
31
|
paddingInline: theme.spacing.m
|
|
32
32
|
})), (size === 'large' && {
|