@protonradio/proton-ui 0.11.34 → 0.12.1
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/README.md +1 -1
- package/dist/_virtual/{react-jsx-runtime.production.min.cjs.js → react-jsx-runtime.production.cjs.js} +1 -1
- package/dist/_virtual/react-jsx-runtime.production.cjs.js.map +1 -0
- package/dist/_virtual/react-jsx-runtime.production.es.js +5 -0
- package/dist/_virtual/react-jsx-runtime.production.es.js.map +1 -0
- package/dist/components/ActionMenu/ActionMenu.cjs.js +1 -1
- package/dist/components/ActionMenu/ActionMenu.cjs.js.map +1 -1
- package/dist/components/ActionMenu/ActionMenu.es.js +87 -88
- package/dist/components/ActionMenu/ActionMenu.es.js.map +1 -1
- package/dist/components/Badge/Badge.cjs.js +1 -1
- package/dist/components/Badge/Badge.cjs.js.map +1 -1
- package/dist/components/Badge/Badge.es.js +6 -2
- package/dist/components/Badge/Badge.es.js.map +1 -1
- package/dist/components/Banner/Banner.cjs.js +1 -1
- package/dist/components/Banner/Banner.cjs.js.map +1 -1
- package/dist/components/Banner/Banner.es.js +4 -4
- package/dist/components/Banner/Banner.es.js.map +1 -1
- package/dist/components/Button/Button.cjs.js +1 -1
- package/dist/components/Button/Button.cjs.js.map +1 -1
- package/dist/components/Button/Button.es.js.map +1 -1
- package/dist/components/ButtonGroup/ButtonGroup.cjs.js +1 -1
- package/dist/components/ButtonGroup/ButtonGroup.cjs.js.map +1 -1
- package/dist/components/ButtonGroup/ButtonGroup.es.js +42 -38
- package/dist/components/ButtonGroup/ButtonGroup.es.js.map +1 -1
- package/dist/components/ButtonWithSelect/ButtonWithSelect.cjs.js +1 -1
- package/dist/components/ButtonWithSelect/ButtonWithSelect.cjs.js.map +1 -1
- package/dist/components/ButtonWithSelect/ButtonWithSelect.es.js +12 -12
- package/dist/components/ButtonWithSelect/ButtonWithSelect.es.js.map +1 -1
- package/dist/components/Checkbox/CheckboxIndicator.cjs.js +2 -0
- package/dist/components/Checkbox/CheckboxIndicator.cjs.js.map +1 -0
- package/dist/components/Checkbox/CheckboxIndicator.es.js +44 -0
- package/dist/components/Checkbox/CheckboxIndicator.es.js.map +1 -0
- package/dist/components/Checkbox/CheckboxInput/CheckboxInput.cjs.js +1 -1
- package/dist/components/Checkbox/CheckboxInput/CheckboxInput.cjs.js.map +1 -1
- package/dist/components/Checkbox/CheckboxInput/CheckboxInput.es.js +62 -58
- package/dist/components/Checkbox/CheckboxInput/CheckboxInput.es.js.map +1 -1
- package/dist/components/Checkbox/CheckboxRadioGroup/CheckboxRadioGroup.cjs.js +1 -1
- package/dist/components/Checkbox/CheckboxRadioGroup/CheckboxRadioGroup.cjs.js.map +1 -1
- package/dist/components/Checkbox/CheckboxRadioGroup/CheckboxRadioGroup.es.js +53 -43
- package/dist/components/Checkbox/CheckboxRadioGroup/CheckboxRadioGroup.es.js.map +1 -1
- package/dist/components/Elevation/Elevation.cjs.js +1 -1
- package/dist/components/Elevation/Elevation.cjs.js.map +1 -1
- package/dist/components/Elevation/Elevation.es.js +11 -10
- package/dist/components/Elevation/Elevation.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/AlertCircle.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/AlertCircle.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/AlertCircle.es.js +9 -9
- package/dist/components/Icon/IconComponents/AlertCircle.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/AmazonMusicLogo.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/AmazonMusicLogo.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/AmazonMusicLogo.es.js +10 -10
- package/dist/components/Icon/IconComponents/AmazonMusicLogo.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/AppleMusicLogo.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/AppleMusicLogo.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/AppleMusicLogo.es.js +10 -10
- package/dist/components/Icon/IconComponents/AppleMusicLogo.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/ArrowLeft.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/ArrowLeft.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/ArrowLeft.es.js +11 -11
- package/dist/components/Icon/IconComponents/ArrowLeft.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/BandcampLogo.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/BandcampLogo.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/BandcampLogo.es.js +16 -16
- package/dist/components/Icon/IconComponents/BandcampLogo.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/BeatportLogo.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/BeatportLogo.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/BeatportLogo.es.js +15 -15
- package/dist/components/Icon/IconComponents/BeatportLogo.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/Bell.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/Bell.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/Bell.es.js +8 -8
- package/dist/components/Icon/IconComponents/Bell.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/CaretDown.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/CaretDown.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/CaretDown.es.js +14 -14
- package/dist/components/Icon/IconComponents/CaretDown.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/CaretRight.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/CaretRight.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/CaretRight.es.js +14 -14
- package/dist/components/Icon/IconComponents/CaretRight.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/Chart.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/Chart.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/Chart.es.js +14 -14
- package/dist/components/Icon/IconComponents/Chart.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/CheckCircle.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/CheckCircle.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/CheckCircle.es.js +9 -9
- package/dist/components/Icon/IconComponents/CheckCircle.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/ChevronDown.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/ChevronDown.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/ChevronDown.es.js +13 -9
- package/dist/components/Icon/IconComponents/ChevronDown.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/ChevronLeft.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/ChevronLeft.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/ChevronLeft.es.js +12 -8
- package/dist/components/Icon/IconComponents/ChevronLeft.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/ChevronRight.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/ChevronRight.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/ChevronRight.es.js +14 -14
- package/dist/components/Icon/IconComponents/ChevronRight.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/ChevronSquareDown.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/ChevronSquareDown.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/ChevronSquareDown.es.js +17 -17
- package/dist/components/Icon/IconComponents/ChevronSquareDown.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/ChevronUp.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/ChevronUp.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/ChevronUp.es.js +14 -14
- package/dist/components/Icon/IconComponents/ChevronUp.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/Close.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/Close.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/Close.es.js +14 -14
- package/dist/components/Icon/IconComponents/Close.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/Cog.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/Cog.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/Cog.es.js +15 -11
- package/dist/components/Icon/IconComponents/Cog.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/Copy.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/Copy.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/Copy.es.js +11 -11
- package/dist/components/Icon/IconComponents/Copy.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/DangerCircle.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/DangerCircle.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/DangerCircle.es.js +11 -11
- package/dist/components/Icon/IconComponents/DangerCircle.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/Dashboard.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/Dashboard.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/Dashboard.es.js +15 -11
- package/dist/components/Icon/IconComponents/Dashboard.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/DeezerLogo.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/DeezerLogo.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/DeezerLogo.es.js +10 -10
- package/dist/components/Icon/IconComponents/DeezerLogo.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/Download.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/Download.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/Download.es.js +13 -9
- package/dist/components/Icon/IconComponents/Download.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/DragHandle.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/DragHandle.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/DragHandle.es.js +12 -8
- package/dist/components/Icon/IconComponents/DragHandle.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/Edit.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/Edit.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/Edit.es.js +13 -9
- package/dist/components/Icon/IconComponents/Edit.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/Ellipsis.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/Ellipsis.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/Ellipsis.es.js +14 -10
- package/dist/components/Icon/IconComponents/Ellipsis.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/EmailThick.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/EmailThick.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/EmailThick.es.js +15 -11
- package/dist/components/Icon/IconComponents/EmailThick.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/EmailThin.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/EmailThin.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/EmailThin.es.js +15 -11
- package/dist/components/Icon/IconComponents/EmailThin.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/ExternalLink.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/ExternalLink.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/ExternalLink.es.js +18 -14
- package/dist/components/Icon/IconComponents/ExternalLink.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/FacebookLogo.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/FacebookLogo.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/FacebookLogo.es.js +10 -10
- package/dist/components/Icon/IconComponents/FacebookLogo.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/Globe.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/Globe.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/Globe.es.js +12 -8
- package/dist/components/Icon/IconComponents/Globe.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/Hamburger.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/Hamburger.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/Hamburger.es.js +16 -12
- package/dist/components/Icon/IconComponents/Hamburger.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/Heartbeat.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/Heartbeat.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/Heartbeat.es.js +16 -12
- package/dist/components/Icon/IconComponents/Heartbeat.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/Info.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/Info.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/Info.es.js +9 -9
- package/dist/components/Icon/IconComponents/Info.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/InfoOutline.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/InfoOutline.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/InfoOutline.es.js +15 -11
- package/dist/components/Icon/IconComponents/InfoOutline.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/InstagramLogo.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/InstagramLogo.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/InstagramLogo.es.js +10 -10
- package/dist/components/Icon/IconComponents/InstagramLogo.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/IntercomLogo.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/IntercomLogo.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/IntercomLogo.es.js +10 -10
- package/dist/components/Icon/IconComponents/IntercomLogo.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/Lightning.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/Lightning.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/Lightning.es.js +16 -12
- package/dist/components/Icon/IconComponents/Lightning.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/Link.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/Link.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/Link.es.js +12 -8
- package/dist/components/Icon/IconComponents/Link.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/MessengerLogo.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/MessengerLogo.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/MessengerLogo.es.js +9 -9
- package/dist/components/Icon/IconComponents/MessengerLogo.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/MusicNote.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/MusicNote.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/MusicNote.es.js +15 -11
- package/dist/components/Icon/IconComponents/MusicNote.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/Pause.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/Pause.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/Pause.es.js +17 -13
- package/dist/components/Icon/IconComponents/Pause.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/Pencil.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/Pencil.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/Pencil.es.js +15 -11
- package/dist/components/Icon/IconComponents/Pencil.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/PhoneThick.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/PhoneThick.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/PhoneThick.es.js +17 -13
- package/dist/components/Icon/IconComponents/PhoneThick.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/PhoneThin.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/PhoneThin.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/PhoneThin.es.js +17 -13
- package/dist/components/Icon/IconComponents/PhoneThin.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/Play.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/Play.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/Play.es.js +13 -9
- package/dist/components/Icon/IconComponents/Play.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/ProtonLogo.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/ProtonLogo.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/ProtonLogo.es.js +10 -10
- package/dist/components/Icon/IconComponents/ProtonLogo.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/Quote.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/Quote.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/Quote.es.js +18 -14
- package/dist/components/Icon/IconComponents/Quote.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/Search.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/Search.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/Search.es.js +14 -14
- package/dist/components/Icon/IconComponents/Search.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/Share.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/Share.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/Share.es.js +13 -9
- package/dist/components/Icon/IconComponents/Share.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/SignOut.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/SignOut.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/SignOut.es.js +15 -11
- package/dist/components/Icon/IconComponents/SignOut.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/SoundcloudLogo.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/SoundcloudLogo.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/SoundcloudLogo.es.js +10 -10
- package/dist/components/Icon/IconComponents/SoundcloudLogo.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/SpotifyLogo.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/SpotifyLogo.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/SpotifyLogo.es.js +10 -10
- package/dist/components/Icon/IconComponents/SpotifyLogo.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/Spy.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/Spy.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/Spy.es.js +13 -9
- package/dist/components/Icon/IconComponents/Spy.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/SuccessCircle.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/SuccessCircle.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/SuccessCircle.es.js +9 -9
- package/dist/components/Icon/IconComponents/SuccessCircle.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/TelegramLogo.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/TelegramLogo.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/TelegramLogo.es.js +14 -14
- package/dist/components/Icon/IconComponents/TelegramLogo.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/TiktokLogo.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/TiktokLogo.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/TiktokLogo.es.js +10 -10
- package/dist/components/Icon/IconComponents/TiktokLogo.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/Tracklist.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/Tracklist.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/Tracklist.es.js +16 -12
- package/dist/components/Icon/IconComponents/Tracklist.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/TrashCan.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/TrashCan.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/TrashCan.es.js +13 -9
- package/dist/components/Icon/IconComponents/TrashCan.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/TraxsourceLogo.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/TraxsourceLogo.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/TraxsourceLogo.es.js +14 -14
- package/dist/components/Icon/IconComponents/TraxsourceLogo.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/User.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/User.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/User.es.js +9 -9
- package/dist/components/Icon/IconComponents/User.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/Users.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/Users.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/Users.es.js +12 -8
- package/dist/components/Icon/IconComponents/Users.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/WarningTriangle.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/WarningTriangle.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/WarningTriangle.es.js +13 -13
- package/dist/components/Icon/IconComponents/WarningTriangle.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/WhatsappLogoThick.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/WhatsappLogoThick.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/WhatsappLogoThick.es.js +14 -14
- package/dist/components/Icon/IconComponents/WhatsappLogoThick.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/WhatsappLogoThin.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/WhatsappLogoThin.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/WhatsappLogoThin.es.js +10 -10
- package/dist/components/Icon/IconComponents/WhatsappLogoThin.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/XTwitterLogo.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/XTwitterLogo.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/XTwitterLogo.es.js +9 -9
- package/dist/components/Icon/IconComponents/XTwitterLogo.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/YandexLogo.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/YandexLogo.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/YandexLogo.es.js +14 -14
- package/dist/components/Icon/IconComponents/YandexLogo.es.js.map +1 -1
- package/dist/components/Icon/IconComponents/YoutubeLogo.cjs.js +1 -1
- package/dist/components/Icon/IconComponents/YoutubeLogo.cjs.js.map +1 -1
- package/dist/components/Icon/IconComponents/YoutubeLogo.es.js +10 -10
- package/dist/components/Icon/IconComponents/YoutubeLogo.es.js.map +1 -1
- package/dist/components/Icon/IconProps.cjs.js +1 -1
- package/dist/components/Icon/IconProps.cjs.js.map +1 -1
- package/dist/components/Icon/IconProps.es.js +11 -7
- package/dist/components/Icon/IconProps.es.js.map +1 -1
- package/dist/components/ImageBackground/ImageBackground.cjs.js +1 -1
- package/dist/components/ImageBackground/ImageBackground.cjs.js.map +1 -1
- package/dist/components/ImageBackground/ImageBackground.es.js +5 -5
- package/dist/components/ImageBackground/ImageBackground.es.js.map +1 -1
- package/dist/components/Input/BaseInput/Input.cjs.js +1 -1
- package/dist/components/Input/BaseInput/Input.cjs.js.map +1 -1
- package/dist/components/Input/BaseInput/Input.es.js +63 -62
- package/dist/components/Input/BaseInput/Input.es.js.map +1 -1
- package/dist/components/Input/CopyInput/CopyInput.cjs.js +1 -1
- package/dist/components/Input/CopyInput/CopyInput.cjs.js.map +1 -1
- package/dist/components/Input/CopyInput/CopyInput.es.js +5 -2
- package/dist/components/Input/CopyInput/CopyInput.es.js.map +1 -1
- package/dist/components/Input/OTPInput/OTPInput.cjs.js +1 -1
- package/dist/components/Input/OTPInput/OTPInput.cjs.js.map +1 -1
- package/dist/components/Input/OTPInput/OTPInput.es.js.map +1 -1
- package/dist/components/Input/SearchInput/SearchInput.cjs.js.map +1 -1
- package/dist/components/Input/SearchInput/SearchInput.es.js.map +1 -1
- package/dist/components/Menu/MenuTrigger.cjs.js +1 -1
- package/dist/components/Menu/MenuTrigger.cjs.js.map +1 -1
- package/dist/components/Menu/MenuTrigger.es.js.map +1 -1
- package/dist/components/Menu/PopoverMenu.cjs.js +1 -1
- package/dist/components/Menu/PopoverMenu.cjs.js.map +1 -1
- package/dist/components/Menu/PopoverMenu.es.js +31 -30
- package/dist/components/Menu/PopoverMenu.es.js.map +1 -1
- package/dist/components/Modal/Modal.cjs.js +1 -1
- package/dist/components/Modal/Modal.cjs.js.map +1 -1
- package/dist/components/Modal/Modal.es.js +46 -41
- package/dist/components/Modal/Modal.es.js.map +1 -1
- package/dist/components/Overlay/Overlay.cjs.js +2 -0
- package/dist/components/Overlay/Overlay.cjs.js.map +1 -0
- package/dist/components/Overlay/Overlay.es.js +25 -0
- package/dist/components/Overlay/Overlay.es.js.map +1 -0
- package/dist/components/Popover/Popover.cjs.js +1 -1
- package/dist/components/Popover/Popover.cjs.js.map +1 -1
- package/dist/components/Popover/Popover.es.js +35 -29
- package/dist/components/Popover/Popover.es.js.map +1 -1
- package/dist/components/ScreenOverlay/ScreenOverlay.cjs.js +1 -1
- package/dist/components/ScreenOverlay/ScreenOverlay.cjs.js.map +1 -1
- package/dist/components/ScreenOverlay/ScreenOverlay.es.js.map +1 -1
- package/dist/components/Select/Select.cjs.js +1 -1
- package/dist/components/Select/Select.cjs.js.map +1 -1
- package/dist/components/Select/Select.es.js +104 -106
- package/dist/components/Select/Select.es.js.map +1 -1
- package/dist/components/Switch/Switch.cjs.js +1 -1
- package/dist/components/Switch/Switch.cjs.js.map +1 -1
- package/dist/components/Switch/Switch.es.js +42 -29
- package/dist/components/Switch/Switch.es.js.map +1 -1
- package/dist/components/Table/BaseTable/Collection/CompoundComponents.cjs.js.map +1 -1
- package/dist/components/Table/BaseTable/Collection/CompoundComponents.es.js.map +1 -1
- package/dist/components/Table/BaseTable/Collection/collectionParser.cjs.js +1 -1
- package/dist/components/Table/BaseTable/Collection/collectionParser.cjs.js.map +1 -1
- package/dist/components/Table/BaseTable/Collection/collectionParser.es.js.map +1 -1
- package/dist/components/Table/BaseTable/Collection/useTableCollection.cjs.js.map +1 -1
- package/dist/components/Table/BaseTable/Collection/useTableCollection.es.js.map +1 -1
- package/dist/components/Table/BaseTable/Table.cjs.js +1 -1
- package/dist/components/Table/BaseTable/Table.cjs.js.map +1 -1
- package/dist/components/Table/BaseTable/Table.es.js +5 -5
- package/dist/components/Table/BaseTable/Table.es.js.map +1 -1
- package/dist/components/Table/BaseTable/elements/TableBody.cjs.js.map +1 -1
- package/dist/components/Table/BaseTable/elements/TableBody.es.js.map +1 -1
- package/dist/components/Table/BaseTable/elements/TableCell.cjs.js.map +1 -1
- package/dist/components/Table/BaseTable/elements/TableCell.es.js.map +1 -1
- package/dist/components/Table/BaseTable/elements/TableHeader.cjs.js.map +1 -1
- package/dist/components/Table/BaseTable/elements/TableHeader.es.js.map +1 -1
- package/dist/components/Table/BaseTable/elements/TableHeaderCell.cjs.js.map +1 -1
- package/dist/components/Table/BaseTable/elements/TableHeaderCell.es.js.map +1 -1
- package/dist/components/Table/BaseTable/elements/TableHeaderRow.cjs.js.map +1 -1
- package/dist/components/Table/BaseTable/elements/TableHeaderRow.es.js.map +1 -1
- package/dist/components/Table/BaseTable/elements/TableRoot.cjs.js.map +1 -1
- package/dist/components/Table/BaseTable/elements/TableRoot.es.js.map +1 -1
- package/dist/components/Table/BaseTable/elements/TableRow.cjs.js.map +1 -1
- package/dist/components/Table/BaseTable/elements/TableRow.es.js.map +1 -1
- package/dist/components/Table/DataTable/DataTable.cjs.js +1 -1
- package/dist/components/Table/DataTable/DataTable.cjs.js.map +1 -1
- package/dist/components/Table/DataTable/DataTable.es.js +26 -26
- package/dist/components/Table/DataTable/DataTable.es.js.map +1 -1
- package/dist/components/Table/DataTable/DataTableRow.cjs.js +1 -1
- package/dist/components/Table/DataTable/DataTableRow.cjs.js.map +1 -1
- package/dist/components/Table/DataTable/DataTableRow.es.js +23 -17
- package/dist/components/Table/DataTable/DataTableRow.es.js.map +1 -1
- package/dist/components/Text/TextCountdown/TextCountdown.cjs.js +1 -1
- package/dist/components/Text/TextCountdown/TextCountdown.cjs.js.map +1 -1
- package/dist/components/Text/TextCountdown/TextCountdown.es.js.map +1 -1
- package/dist/components/Text/TextEllipsis/TextEllipsis.cjs.js.map +1 -1
- package/dist/components/Text/TextEllipsis/TextEllipsis.es.js.map +1 -1
- package/dist/components/Text/TextEmphasis/TextEmphasis.cjs.js.map +1 -1
- package/dist/components/Text/TextEmphasis/TextEmphasis.es.js.map +1 -1
- package/dist/components/ThemeProvider.cjs.js +1 -1
- package/dist/components/ThemeProvider.cjs.js.map +1 -1
- package/dist/components/ThemeProvider.es.js +4 -4
- package/dist/components/ThemeProvider.es.js.map +1 -1
- package/dist/components/Tombstone/Tombstone.cjs.js.map +1 -1
- package/dist/components/Tombstone/Tombstone.es.js.map +1 -1
- package/dist/components/Tooltip/ResponsiveTooltip.cjs.js +1 -1
- package/dist/components/Tooltip/ResponsiveTooltip.cjs.js.map +1 -1
- package/dist/components/Tooltip/ResponsiveTooltip.es.js +48 -46
- package/dist/components/Tooltip/ResponsiveTooltip.es.js.map +1 -1
- package/dist/components/Tooltip/Tooltip.cjs.js +1 -1
- package/dist/components/Tooltip/Tooltip.cjs.js.map +1 -1
- package/dist/components/Tooltip/Tooltip.es.js +57 -52
- package/dist/components/Tooltip/Tooltip.es.js.map +1 -1
- package/dist/components/Waveform/Waveform.cjs.js +1 -1
- package/dist/components/Waveform/Waveform.cjs.js.map +1 -1
- package/dist/components/Waveform/Waveform.es.js +1 -1
- package/dist/components/Waveform/Waveform.es.js.map +1 -1
- package/dist/components/Waveform/WaveformBar.cjs.js.map +1 -1
- package/dist/components/Waveform/WaveformBar.es.js.map +1 -1
- package/dist/constants.cjs.js +1 -1
- package/dist/constants.d.ts +5 -3
- package/dist/constants.es.js +2 -4
- package/dist/constants.es.js.map +1 -1
- package/dist/dark.d.ts +3 -3
- package/dist/design/colors.cjs.js.map +1 -1
- package/dist/design/colors.es.js.map +1 -1
- package/dist/design/darkTheme/colors.cjs.js +1 -1
- package/dist/design/darkTheme/colors.cjs.js.map +1 -1
- package/dist/design/darkTheme/colors.es.js +7 -7
- package/dist/design/darkTheme/colors.es.js.map +1 -1
- package/dist/design/darkTheme/stylesheet.cjs.js +1 -1
- package/dist/design/darkTheme/stylesheet.cjs.js.map +1 -1
- package/dist/design/darkTheme/stylesheet.es.js +17 -14
- package/dist/design/darkTheme/stylesheet.es.js.map +1 -1
- package/dist/design/generateStylesheet.cjs.js.map +1 -1
- package/dist/design/generateStylesheet.es.js.map +1 -1
- package/dist/design/lightTheme/colors.cjs.js.map +1 -1
- package/dist/design/lightTheme/colors.es.js +3 -3
- package/dist/design/lightTheme/stylesheet.cjs.js +1 -1
- package/dist/design/lightTheme/stylesheet.cjs.js.map +1 -1
- package/dist/design/lightTheme/stylesheet.es.js +17 -17
- package/dist/design/lightTheme/stylesheet.es.js.map +1 -1
- package/dist/hooks/useBreakpoint.cjs.js +1 -1
- package/dist/hooks/useBreakpoint.cjs.js.map +1 -1
- package/dist/hooks/useBreakpoint.es.js +13 -12
- package/dist/hooks/useBreakpoint.es.js.map +1 -1
- package/dist/hooks/useIsClosing.cjs.js +1 -1
- package/dist/hooks/useIsClosing.cjs.js.map +1 -1
- package/dist/hooks/useIsClosing.es.js.map +1 -1
- package/dist/hooks/useLockBodyScroll.cjs.js.map +1 -1
- package/dist/hooks/useLockBodyScroll.es.js.map +1 -1
- package/dist/hooks/useMergedRef.cjs.js +2 -0
- package/dist/hooks/useMergedRef.cjs.js.map +1 -0
- package/dist/hooks/useMergedRef.es.js +13 -0
- package/dist/hooks/useMergedRef.es.js.map +1 -0
- package/dist/hooks/usePalette.cjs.js +1 -1
- package/dist/hooks/usePalette.cjs.js.map +1 -1
- package/dist/hooks/usePalette.es.js.map +1 -1
- package/dist/hooks.cjs.js +1 -1
- package/dist/hooks.d.ts +12 -1
- package/dist/hooks.es.js +6 -4
- package/dist/hooks.es.js.map +1 -1
- package/dist/icons.d.ts +79 -74
- package/dist/index.cjs.js +1 -1
- package/dist/index.d.ts +131 -151
- package/dist/index.es.js +20 -20
- package/dist/light.d.ts +1 -1
- package/dist/node_modules/color2k/dist/index.exports.import.es.cjs.js.map +1 -1
- package/dist/node_modules/color2k/dist/index.exports.import.es.es.js.map +1 -1
- package/dist/node_modules/react/cjs/react-jsx-runtime.development.cjs.js +4 -12
- package/dist/node_modules/react/cjs/react-jsx-runtime.development.cjs.js.map +1 -1
- package/dist/node_modules/react/cjs/react-jsx-runtime.development.es.js +193 -557
- package/dist/node_modules/react/cjs/react-jsx-runtime.development.es.js.map +1 -1
- package/dist/node_modules/react/cjs/react-jsx-runtime.production.cjs.js +10 -0
- package/dist/node_modules/react/cjs/react-jsx-runtime.production.cjs.js.map +1 -0
- package/dist/node_modules/react/cjs/react-jsx-runtime.production.es.js +36 -0
- package/dist/node_modules/react/cjs/react-jsx-runtime.production.es.js.map +1 -0
- package/dist/node_modules/react/jsx-runtime.cjs.js +1 -1
- package/dist/node_modules/react/jsx-runtime.cjs.js.map +1 -1
- package/dist/node_modules/react/jsx-runtime.es.js +1 -1
- package/dist/node_modules/react/jsx-runtime.es.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/theme.d.ts +20 -4
- package/dist/utils/color2k.cjs.js.map +1 -1
- package/dist/utils/color2k.es.js +2 -2
- package/dist/utils/color2k.es.js.map +1 -1
- package/dist/utils/copy.cjs.js +1 -1
- package/dist/utils/copy.cjs.js.map +1 -1
- package/dist/utils/copy.es.js +12 -11
- package/dist/utils/copy.es.js.map +1 -1
- package/dist/utils/deepEqual.cjs.js.map +1 -1
- package/dist/utils/deepEqual.es.js.map +1 -1
- package/dist/utils/image.cjs.js +1 -1
- package/dist/utils/image.cjs.js.map +1 -1
- package/dist/utils/image.es.js +15 -14
- package/dist/utils/image.es.js.map +1 -1
- package/dist/utils/navigation.cjs.js.map +1 -1
- package/dist/utils/navigation.es.js.map +1 -1
- package/dist/utils/palette.cjs.js +1 -1
- package/dist/utils/palette.cjs.js.map +1 -1
- package/dist/utils/palette.es.js +40 -34
- package/dist/utils/palette.es.js.map +1 -1
- package/package.json +21 -28
- package/dist/_virtual/react-jsx-runtime.production.min.cjs.js.map +0 -1
- package/dist/_virtual/react-jsx-runtime.production.min.es.js +0 -5
- package/dist/_virtual/react-jsx-runtime.production.min.es.js.map +0 -1
- package/dist/components/Dialog/Dialog.cjs.js +0 -2
- package/dist/components/Dialog/Dialog.cjs.js.map +0 -1
- package/dist/components/Dialog/Dialog.es.js +0 -15
- package/dist/components/Dialog/Dialog.es.js.map +0 -1
- package/dist/constants/placement.cjs.js +0 -2
- package/dist/constants/placement.cjs.js.map +0 -1
- package/dist/constants/placement.es.js +0 -28
- package/dist/constants/placement.es.js.map +0 -1
- package/dist/node_modules/@react-aria/dialog/dist/useDialog.cjs.js +0 -2
- package/dist/node_modules/@react-aria/dialog/dist/useDialog.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/dialog/dist/useDialog.es.js +0 -44
- package/dist/node_modules/@react-aria/dialog/dist/useDialog.es.js.map +0 -1
- package/dist/node_modules/@react-aria/focus/dist/FocusScope.cjs.js +0 -2
- package/dist/node_modules/@react-aria/focus/dist/FocusScope.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/focus/dist/FocusScope.es.js +0 -88
- package/dist/node_modules/@react-aria/focus/dist/FocusScope.es.js.map +0 -1
- package/dist/node_modules/@react-aria/form/dist/useFormValidation.cjs.js +0 -2
- package/dist/node_modules/@react-aria/form/dist/useFormValidation.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/form/dist/useFormValidation.es.js +0 -78
- package/dist/node_modules/@react-aria/form/dist/useFormValidation.es.js.map +0 -1
- package/dist/node_modules/@react-aria/i18n/dist/context.cjs.js +0 -2
- package/dist/node_modules/@react-aria/i18n/dist/context.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/i18n/dist/context.es.js +0 -11
- package/dist/node_modules/@react-aria/i18n/dist/context.es.js.map +0 -1
- package/dist/node_modules/@react-aria/i18n/dist/useDefaultLocale.cjs.js +0 -2
- package/dist/node_modules/@react-aria/i18n/dist/useDefaultLocale.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/i18n/dist/useDefaultLocale.es.js +0 -30
- package/dist/node_modules/@react-aria/i18n/dist/useDefaultLocale.es.js.map +0 -1
- package/dist/node_modules/@react-aria/i18n/dist/utils.cjs.js +0 -2
- package/dist/node_modules/@react-aria/i18n/dist/utils.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/i18n/dist/utils.es.js +0 -45
- package/dist/node_modules/@react-aria/i18n/dist/utils.es.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/context.cjs.js +0 -2
- package/dist/node_modules/@react-aria/interactions/dist/context.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/context.es.js +0 -10
- package/dist/node_modules/@react-aria/interactions/dist/context.es.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/createEventHandler.cjs.js +0 -2
- package/dist/node_modules/@react-aria/interactions/dist/createEventHandler.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/createEventHandler.es.js +0 -29
- package/dist/node_modules/@react-aria/interactions/dist/createEventHandler.es.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/focusSafely.cjs.js +0 -2
- package/dist/node_modules/@react-aria/interactions/dist/focusSafely.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/focusSafely.es.js +0 -15
- package/dist/node_modules/@react-aria/interactions/dist/focusSafely.es.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/textSelection.cjs.js +0 -2
- package/dist/node_modules/@react-aria/interactions/dist/textSelection.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/textSelection.es.js +0 -35
- package/dist/node_modules/@react-aria/interactions/dist/textSelection.es.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/useFocus.cjs.js +0 -2
- package/dist/node_modules/@react-aria/interactions/dist/useFocus.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/useFocus.es.js +0 -30
- package/dist/node_modules/@react-aria/interactions/dist/useFocus.es.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/useFocusVisible.cjs.js +0 -2
- package/dist/node_modules/@react-aria/interactions/dist/useFocusVisible.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/useFocusVisible.es.js +0 -63
- package/dist/node_modules/@react-aria/interactions/dist/useFocusVisible.es.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/useFocusWithin.cjs.js +0 -2
- package/dist/node_modules/@react-aria/interactions/dist/useFocusWithin.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/useFocusWithin.es.js +0 -56
- package/dist/node_modules/@react-aria/interactions/dist/useFocusWithin.es.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/useFocusable.cjs.js +0 -2
- package/dist/node_modules/@react-aria/interactions/dist/useFocusable.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/useFocusable.es.js +0 -32
- package/dist/node_modules/@react-aria/interactions/dist/useFocusable.es.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/useKeyboard.cjs.js +0 -2
- package/dist/node_modules/@react-aria/interactions/dist/useKeyboard.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/useKeyboard.es.js +0 -13
- package/dist/node_modules/@react-aria/interactions/dist/useKeyboard.es.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/usePress.cjs.js +0 -8
- package/dist/node_modules/@react-aria/interactions/dist/usePress.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/usePress.es.js +0 -386
- package/dist/node_modules/@react-aria/interactions/dist/usePress.es.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/utils.cjs.js +0 -2
- package/dist/node_modules/@react-aria/interactions/dist/utils.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/interactions/dist/utils.es.js +0 -92
- package/dist/node_modules/@react-aria/interactions/dist/utils.es.js.map +0 -1
- package/dist/node_modules/@react-aria/label/dist/useField.cjs.js +0 -2
- package/dist/node_modules/@react-aria/label/dist/useField.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/label/dist/useField.es.js +0 -36
- package/dist/node_modules/@react-aria/label/dist/useField.es.js.map +0 -1
- package/dist/node_modules/@react-aria/label/dist/useLabel.cjs.js +0 -2
- package/dist/node_modules/@react-aria/label/dist/useLabel.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/label/dist/useLabel.es.js +0 -23
- package/dist/node_modules/@react-aria/label/dist/useLabel.es.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/Overlay.cjs.js +0 -2
- package/dist/node_modules/@react-aria/overlays/dist/Overlay.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/overlays/dist/Overlay.es.js +0 -16
- package/dist/node_modules/@react-aria/overlays/dist/Overlay.es.js.map +0 -1
- package/dist/node_modules/@react-aria/radio/dist/useRadio.cjs.js +0 -2
- package/dist/node_modules/@react-aria/radio/dist/useRadio.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/radio/dist/useRadio.es.js +0 -70
- package/dist/node_modules/@react-aria/radio/dist/useRadio.es.js.map +0 -1
- package/dist/node_modules/@react-aria/radio/dist/useRadioGroup.cjs.js +0 -2
- package/dist/node_modules/@react-aria/radio/dist/useRadioGroup.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/radio/dist/useRadioGroup.es.js +0 -80
- package/dist/node_modules/@react-aria/radio/dist/useRadioGroup.es.js.map +0 -1
- package/dist/node_modules/@react-aria/radio/dist/utils.cjs.js +0 -2
- package/dist/node_modules/@react-aria/radio/dist/utils.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/radio/dist/utils.es.js +0 -5
- package/dist/node_modules/@react-aria/radio/dist/utils.es.js.map +0 -1
- package/dist/node_modules/@react-aria/ssr/dist/SSRProvider.cjs.js +0 -2
- package/dist/node_modules/@react-aria/ssr/dist/SSRProvider.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/ssr/dist/SSRProvider.es.js +0 -19
- package/dist/node_modules/@react-aria/ssr/dist/SSRProvider.es.js.map +0 -1
- package/dist/node_modules/@react-aria/switch/dist/useSwitch.cjs.js +0 -2
- package/dist/node_modules/@react-aria/switch/dist/useSwitch.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/switch/dist/useSwitch.es.js +0 -20
- package/dist/node_modules/@react-aria/switch/dist/useSwitch.es.js.map +0 -1
- package/dist/node_modules/@react-aria/toggle/dist/useToggle.cjs.js +0 -2
- package/dist/node_modules/@react-aria/toggle/dist/useToggle.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/toggle/dist/useToggle.es.js +0 -60
- package/dist/node_modules/@react-aria/toggle/dist/useToggle.es.js.map +0 -1
- package/dist/node_modules/@react-aria/visually-hidden/dist/VisuallyHidden.cjs.js +0 -2
- package/dist/node_modules/@react-aria/visually-hidden/dist/VisuallyHidden.cjs.js.map +0 -1
- package/dist/node_modules/@react-aria/visually-hidden/dist/VisuallyHidden.es.js +0 -41
- package/dist/node_modules/@react-aria/visually-hidden/dist/VisuallyHidden.es.js.map +0 -1
- package/dist/node_modules/@react-stately/form/dist/useFormValidationState.cjs.js +0 -2
- package/dist/node_modules/@react-stately/form/dist/useFormValidationState.cjs.js.map +0 -1
- package/dist/node_modules/@react-stately/form/dist/useFormValidationState.es.js +0 -110
- package/dist/node_modules/@react-stately/form/dist/useFormValidationState.es.js.map +0 -1
- package/dist/node_modules/@react-stately/radio/dist/useRadioGroupState.cjs.js +0 -2
- package/dist/node_modules/@react-stately/radio/dist/useRadioGroupState.cjs.js.map +0 -1
- package/dist/node_modules/@react-stately/radio/dist/useRadioGroupState.es.js +0 -35
- package/dist/node_modules/@react-stately/radio/dist/useRadioGroupState.es.js.map +0 -1
- package/dist/node_modules/@react-stately/toggle/dist/useToggleState.cjs.js +0 -2
- package/dist/node_modules/@react-stately/toggle/dist/useToggleState.cjs.js.map +0 -1
- package/dist/node_modules/@react-stately/toggle/dist/useToggleState.es.js +0 -22
- package/dist/node_modules/@react-stately/toggle/dist/useToggleState.es.js.map +0 -1
- package/dist/node_modules/@react-stately/utils/dist/useControlledState.cjs.js +0 -2
- package/dist/node_modules/@react-stately/utils/dist/useControlledState.cjs.js.map +0 -1
- package/dist/node_modules/@react-stately/utils/dist/useControlledState.es.js +0 -31
- package/dist/node_modules/@react-stately/utils/dist/useControlledState.es.js.map +0 -1
- package/dist/node_modules/@swc/helpers/esm/_check_private_redeclaration.cjs.js +0 -2
- package/dist/node_modules/@swc/helpers/esm/_check_private_redeclaration.cjs.js.map +0 -1
- package/dist/node_modules/@swc/helpers/esm/_check_private_redeclaration.es.js +0 -9
- package/dist/node_modules/@swc/helpers/esm/_check_private_redeclaration.es.js.map +0 -1
- package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_get.cjs.js +0 -2
- package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_get.cjs.js.map +0 -1
- package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_get.es.js +0 -8
- package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_get.es.js.map +0 -1
- package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_set.cjs.js +0 -2
- package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_set.cjs.js.map +0 -1
- package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_set.es.js +0 -13
- package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_set.es.js.map +0 -1
- package/dist/node_modules/@swc/helpers/esm/_class_extract_field_descriptor.cjs.js +0 -2
- package/dist/node_modules/@swc/helpers/esm/_class_extract_field_descriptor.cjs.js.map +0 -1
- package/dist/node_modules/@swc/helpers/esm/_class_extract_field_descriptor.es.js +0 -9
- package/dist/node_modules/@swc/helpers/esm/_class_extract_field_descriptor.es.js.map +0 -1
- package/dist/node_modules/@swc/helpers/esm/_class_private_field_get.cjs.js +0 -2
- package/dist/node_modules/@swc/helpers/esm/_class_private_field_get.cjs.js.map +0 -1
- package/dist/node_modules/@swc/helpers/esm/_class_private_field_get.es.js +0 -11
- package/dist/node_modules/@swc/helpers/esm/_class_private_field_get.es.js.map +0 -1
- package/dist/node_modules/@swc/helpers/esm/_class_private_field_init.cjs.js +0 -2
- package/dist/node_modules/@swc/helpers/esm/_class_private_field_init.cjs.js.map +0 -1
- package/dist/node_modules/@swc/helpers/esm/_class_private_field_init.es.js +0 -9
- package/dist/node_modules/@swc/helpers/esm/_class_private_field_init.es.js.map +0 -1
- package/dist/node_modules/@swc/helpers/esm/_class_private_field_set.cjs.js +0 -2
- package/dist/node_modules/@swc/helpers/esm/_class_private_field_set.cjs.js.map +0 -1
- package/dist/node_modules/@swc/helpers/esm/_class_private_field_set.es.js +0 -11
- package/dist/node_modules/@swc/helpers/esm/_class_private_field_set.es.js.map +0 -1
- package/dist/node_modules/react/cjs/react-jsx-runtime.production.min.cjs.js +0 -10
- package/dist/node_modules/react/cjs/react-jsx-runtime.production.min.cjs.js.map +0 -1
- package/dist/node_modules/react/cjs/react-jsx-runtime.production.min.es.js +0 -29
- package/dist/node_modules/react/cjs/react-jsx-runtime.production.min.es.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.es.js","sources":["../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["\"use client\";\n\nimport
|
|
1
|
+
{"version":3,"file":"Tooltip.es.js","sources":["../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["\"use client\";\n\nimport { CSSProperties, forwardRef, ReactNode, useRef, useState } from \"react\";\nimport { Tooltip as RadixTooltip } from \"radix-ui\";\nimport { useTheme } from \"../ThemeProvider\";\nimport { csx } from \"../../utils/string\";\nimport type { RadixAlign, RadixSide } from \"../../constants/placement\";\n\nimport { Overlay } from \"../Overlay/Overlay\";\nimport \"./Tooltip.css\";\nimport \"../Elevation/Elevation.css\";\n\ntype TooltipContentProps = Pick<\n TooltipProps,\n \"content\" | \"arrow\" | \"placement\" | \"align\" | \"data-testid\"\n>;\n\nconst TooltipContent = forwardRef<HTMLDivElement, TooltipContentProps>(\n (\n {\n content,\n arrow,\n placement = \"top\",\n align = \"center\",\n \"data-testid\": testId,\n },\n ref,\n ) => {\n const { style, className } = useTheme();\n\n return (\n <RadixTooltip.Content\n ref={ref}\n side={placement}\n align={align}\n className={csx(\"proton__Tooltip\", \"proton-Elevation--glass\", className)}\n style={style as CSSProperties}\n sideOffset={8}\n data-testid={testId}\n >\n <Overlay\n arrow={\n arrow && (\n <RadixTooltip.Arrow width={8} height={8}>\n <svg width={8} height={8} viewBox=\"0 0 8 8\">\n <path d=\"M0 0 L4 4 L8 0\" />\n </svg>\n </RadixTooltip.Arrow>\n )\n }\n >\n {content}\n </Overlay>\n </RadixTooltip.Content>\n );\n },\n);\n\nTooltipContent.displayName = \"ProtonUITooltipContent\";\n\n/** Radix `Tooltip.Content` `side` */\nexport type TooltipPlacement = RadixSide;\n/** Radix `Tooltip.Content` `align` */\nexport type TooltipAlign = RadixAlign;\n\nexport interface TooltipProps {\n /**\n * Whether to show an arrow pointing to the tooltip.\n * @default true\n */\n arrow?: boolean;\n /**\n * The children to display in the tooltip.\n */\n children: ReactNode;\n /**\n * The content to display in the tooltip. Zero-length titles string are never displayed.\n */\n content: string | ReactNode;\n /**\n * A test ID.\n */\n \"data-testid\"?: string;\n /**\n * Side of the trigger to place the tooltip.\n * @see {@link TooltipPlacement}\n * @default \"top\"\n */\n placement?: TooltipPlacement;\n /**\n * Alignment along the side.\n * @see {@link TooltipAlign}\n * @default \"center\"\n */\n align?: TooltipAlign;\n /**\n * Whether to disable the trigger click feature.\n * This is useful when using an info only Tooltip that might wrap a clickable element.\n */\n disableTriggerClick?: boolean;\n /**\n * Whether the tooltip is disabled.\n */\n isDisabled?: boolean;\n /**\n * Delay before showing the tooltip (in milliseconds).\n * @default 100\n */\n delay?: number;\n /**\n * Whether the tooltip is open by default.\n * @default false\n */\n defaultOpen?: boolean;\n /**\n * The callback function to call when the tooltip is opened or closed.\n */\n onOpenChange?: (open: boolean) => void;\n}\n\n/**\n * A component that displays a tooltip when the user hovers over the trigger.\n * For mobile, use Popover instead.\n * API:\n * - {@link TooltipProps}\n *\n * @example\n * ```tsx\n <Tooltipcontent={...} placement=\"top\" arrow isDisabled={disabled}>\n {children}\n </Tooltip>\n * ```\n */\nexport function Tooltip({\n arrow = true,\n children,\n content,\n delay = 100,\n placement = \"top\",\n align = \"center\",\n isDisabled,\n defaultOpen = false,\n onOpenChange,\n disableTriggerClick,\n \"data-testid\": testId,\n}: TooltipProps) {\n const [isOpen, setIsOpen] = useState(defaultOpen);\n const triggerClickRef = useRef<boolean>(false);\n const hasHovered = useRef<boolean>(false);\n\n if (content === \"\") return null;\n\n const handleOpenChange = (openState: boolean) => {\n // When opened via hover, we want to disable the trigger click feature as it causes\n // the tooltip state to get out of sync with the trigger state.\n if (openState && !triggerClickRef.current) hasHovered.current = true;\n\n if (onOpenChange) onOpenChange(openState);\n\n // If the tooltip is clicked, it manually calls setIsOpen, so we don't want to call\n // it again here.\n if (!triggerClickRef.current) setIsOpen(openState);\n triggerClickRef.current = false;\n };\n\n return (\n <RadixTooltip.Provider>\n <RadixTooltip.Root\n open={isOpen}\n defaultOpen={defaultOpen}\n onOpenChange={handleOpenChange}\n delayDuration={delay}\n >\n <RadixTooltip.Trigger asChild>\n {disableTriggerClick ? (\n <span aria-label=\"Show tooltip\" className=\"proton__Tooltip-trigger\">\n {children}\n </span>\n ) : (\n <div\n role=\"button\"\n aria-label=\"Show tooltip\"\n data-hovered={isOpen}\n onClick={() => {\n if (disableTriggerClick || isDisabled) return;\n\n // Once hovered it's safe to assume the user isn't trying to use via a touch device,\n // so we can safely disable the trigger click feature.\n if (hasHovered.current) return;\n\n triggerClickRef.current = true;\n setIsOpen(!isOpen);\n }}\n className=\"proton__Tooltip-trigger\"\n >\n {children}\n </div>\n )}\n </RadixTooltip.Trigger>\n {!isDisabled && (\n <RadixTooltip.Portal>\n <TooltipContent\n content={content}\n placement={placement}\n align={align}\n arrow={arrow}\n data-testid={testId}\n />\n </RadixTooltip.Portal>\n )}\n </RadixTooltip.Root>\n </RadixTooltip.Provider>\n );\n}\n\nTooltip.displayName = \"ProtonUITooltip\";\n"],"names":["TooltipContent","forwardRef","content","arrow","placement","align","testId","ref","style","className","useTheme","jsx","RadixTooltip","csx","Overlay","Tooltip","children","delay","isDisabled","defaultOpen","onOpenChange","disableTriggerClick","isOpen","setIsOpen","useState","triggerClickRef","useRef","hasHovered","handleOpenChange","openState","jsxs"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("../../node_modules/react/jsx-runtime.cjs.js"),v=require("react"),H=require("../ThemeProvider.cjs.js");;/* empty css */const L=require("./WaveformBar.cjs.js")
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("../../node_modules/react/jsx-runtime.cjs.js"),v=require("react"),H=require("../ThemeProvider.cjs.js");;/* empty css */const L=require("./WaveformBar.cjs.js"),$=require("../../utils/string.cjs.js"),X=K(100);function F({data:e,resolution:t=2,startDuration:s,endDuration:a,currentTime:m=0,showTimestamps:g=!1,totalDuration:l,disabled:f,disabledMessage:d,onClick:h,"data-testid":p}){var S;const{className:_}=H.useTheme(),o=v.useRef(null),[W,B]=v.useState([]),[j,y]=v.useState(null),[q,w]=v.useState(!1),[I,N]=v.useState(!1),E=e||X,M=t;v.useEffect(()=>{if(!o.current)return;const r=i=>{const x=Math.floor(i/(t+M)),R=G(E,x);B(R)},n=o.current.clientWidth;r(n);const c=new ResizeObserver(i=>{i&&i[0]&&r(i[0].contentRect.width)});return c.observe(o.current),()=>c.disconnect()},[E,t,M]),v.useEffect(()=>{const r=setTimeout(()=>w(!0),50),n=setTimeout(()=>N(!0),500);return()=>{clearTimeout(r),clearTimeout(n)}},[]);const A=r=>{if(!o.current)return;const n=o.current.getBoundingClientRect(),i=(r.clientX-n.left)/n.width*l;y(i)},z=()=>{y(null)},O=t+M,b=(r,n)=>{var x;const c=r/l*100;return(n==="start"?Math.floor(c/100*W.length):Math.ceil(c/100*W.length))*O/((x=o.current)==null?void 0:x.clientWidth)*100},V=((S=o.current)==null?void 0:S.clientWidth)||0,P=v.useMemo(()=>f&&d?d:e?null:"Waveform Unavailable",[f,d,e]);return u.jsxRuntimeExports.jsxs("div",{className:$.csx("proton-Waveform",_),"data-testid":p,children:[g&&u.jsxRuntimeExports.jsx(T,{direction:"left",seconds:m}),u.jsxRuntimeExports.jsxs("div",{ref:o,className:"proton-Waveform__container",onMouseMove:A,onMouseLeave:z,onClick:r=>{if(!o.current||f)return;const n=o.current.getBoundingClientRect(),i=(r.clientX-n.left)/n.width*l;h==null||h(i,r)},"data-disabled":f,"data-testid":"waveform-container",children:[s!==void 0&&a!==void 0&&u.jsxRuntimeExports.jsx("div",{className:"proton-Waveform__active-region",style:{left:o.current?`calc(${b(s,"start")}%`:"0%",right:o.current?`calc(${100-b(a,"end")}% - 2px)`:"0%"}}),j!==null&&u.jsxRuntimeExports.jsx("div",{className:"proton-Waveform__hover-line",style:{left:`${j/l*100}%`}}),W.map((r,n)=>{const c=n/W.length*l,i=s!==void 0&&a!==void 0&&(c<s||c>a),x=m===0?!1:c<=m,R=j!==null&&c<=j;return u.jsxRuntimeExports.jsx(L.WaveformBar,{amplitude:r,isDisabled:f||i,isPlayed:x,isHovered:R,isVisible:q,hasAnimated:I,resolution:t,spacing:M,index:n},n)})]}),P&&u.jsxRuntimeExports.jsx("div",{className:"proton-Waveform__bar-unavailable",style:{fontSize:V<325?"0.85rem":"1rem"},children:P}),g&&u.jsxRuntimeExports.jsx(T,{direction:"right",seconds:l})]})}function T({direction:e,seconds:t}){return u.jsxRuntimeExports.jsx("div",{className:$.csx("proton-Waveform__timestamp",`proton-Waveform__timestamp--${e}`),children:U(t)})}function U(e){const t=Math.floor(e/60),s=Math.floor(e%60);return`${t}:${s<10?"0":""}${s.toFixed(0)}`}function G(e,t){const s=e.length,a=s/t,m=new Array(t).fill(0).map((g,l)=>{const f=l*a,d=Math.floor(f),h=Math.min(d+1,s-1),p=f-d;return e[d]*(1-p)+e[h]*p});return J(m)}function J(e){const t=Math.min(...e),s=Math.max(...e);return e.map(a=>{const m=(a-t)/(s-t);return Math.max(m*.8+.1,.1)})}function K(e){return Array.from({length:e},(t,s)=>{const m=s/(e-1)*6*2*Math.PI-Math.PI/2;return Math.sin(m)*.5+.5})}exports.Waveform=F;
|
|
2
2
|
//# sourceMappingURL=Waveform.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Waveform.cjs.js","sources":["../../../src/components/Waveform/Waveform.tsx"],"sourcesContent":["\"use client\";\n\nimport { useEffect, useMemo, useRef, useState } from \"react\";\nimport { csx } from \"../../utils\";\nimport { useTheme } from \"../ThemeProvider\";\nimport \"./Waveform.css\";\nimport { WaveformBar } from \"./WaveformBar\";\n\nexport interface WaveformProps {\n /**\n * Array of normalized amplitude values (0-1) representing the waveform.\n * If not provided, uses a sample sine wave.\n */\n data?: number[];\n\n /**\n * Current playback position in seconds.\n */\n currentTime?: number;\n\n /**\n * Test ID for testing purposes.\n */\n \"data-testid\"?: string;\n\n /**\n * Whether the entire waveform is disabled.\n */\n disabled?: boolean;\n\n /**\n * Reason for the waveform being disabled.\n */\n disabledMessage?: string;\n\n /**\n * End time to display until in seconds.\n */\n endDuration?: number;\n\n /**\n * Click handler that receives the clicked position (0-1) and event.\n */\n onClick?: (position: number, e: React.MouseEvent<HTMLDivElement>) => void;\n\n /**\n * Width in pixels of each waveform bar.\n */\n resolution?: number;\n\n /**\n * Whether to show timestamp markers.\n */\n showTimestamps?: boolean;\n\n /**\n * Start time to display from in seconds.\n */\n startDuration?: number;\n\n /**\n * Total duration of the audio in seconds.\n */\n totalDuration: number;\n}\n\nconst sampleWaveform = generateSampleWaveformData(100);\n\n/**\n * A waveform visualization component that displays audio data with interactive features.\n *\n * API:\n * - {@link WaveformProps}\n */\nexport function Waveform({\n data: waveformData,\n resolution = 2,\n startDuration,\n endDuration,\n currentTime = 0,\n showTimestamps = false,\n totalDuration,\n disabled,\n disabledMessage,\n onClick,\n \"data-testid\": testId,\n}: WaveformProps) {\n const { className } = useTheme();\n const containerRef = useRef<HTMLDivElement>(null);\n const [processedWaveform, setProcessedWaveform] = useState<number[]>([]);\n const [hoverPosition, setHoverPosition] = useState<number | null>(null);\n const [isVisible, setIsVisible] = useState(false);\n const [hasAnimated, setHasAnimated] = useState(false);\n\n const waveform = waveformData || sampleWaveform;\n\n const spacing = resolution;\n\n useEffect(() => {\n if (!containerRef.current) return;\n\n const processWaveform = (width: number) => {\n const numBars = Math.floor(width / (resolution + spacing));\n const processed = resampleData(waveform, numBars);\n setProcessedWaveform(processed);\n };\n\n const initialWidth = containerRef.current.clientWidth;\n processWaveform(initialWidth);\n\n const resizeObserver = new ResizeObserver((entries) => {\n if (entries && entries[0]) {\n processWaveform(entries[0].contentRect.width);\n }\n });\n\n resizeObserver.observe(containerRef.current);\n\n return () => resizeObserver.disconnect();\n }, [waveform, resolution, spacing]);\n\n useEffect(() => {\n const visibilityTimer = setTimeout(() => setIsVisible(true), 50);\n const animationTimer = setTimeout(() => setHasAnimated(true), 500);\n\n return () => {\n clearTimeout(visibilityTimer);\n clearTimeout(animationTimer);\n };\n }, []);\n\n const handleMouseMove = (e: React.MouseEvent<HTMLDivElement>) => {\n if (!containerRef.current) return;\n const rect = containerRef.current.getBoundingClientRect();\n const x = e.clientX - rect.left;\n const position = (x / rect.width) * totalDuration;\n setHoverPosition(position);\n };\n\n const handleMouseLeave = () => {\n setHoverPosition(null);\n };\n\n // Calculate the width of a single bar including spacing\n const barTotalWidth = resolution + spacing;\n\n // Find the nearest bar boundaries for start and end durations\n const getBarPosition = (time: number, direction: \"start\" | \"end\") => {\n const position = (time / totalDuration) * 100;\n const barIndex =\n direction === \"start\"\n ? Math.floor((position / 100) * processedWaveform.length)\n : Math.ceil((position / 100) * processedWaveform.length);\n\n return (\n ((barIndex * barTotalWidth) / containerRef.current?.clientWidth!) * 100\n );\n };\n\n const containerWidth = containerRef.current?.clientWidth;\n const waveformMessage = useMemo(() => {\n if (disabled && disabledMessage) return disabledMessage;\n if (!waveformData) return \"Waveform Unavailable\";\n\n return null;\n }, [disabled, disabledMessage, waveformData]);\n\n return (\n <div className={csx(\"proton-Waveform\", className)} data-testid={testId}>\n {showTimestamps && (\n <TimestampBlock direction=\"left\" seconds={currentTime} />\n )}\n <div\n ref={containerRef}\n className=\"proton-Waveform__container\"\n onMouseMove={handleMouseMove}\n onMouseLeave={handleMouseLeave}\n onClick={(e) => {\n if (!containerRef.current || disabled) return;\n const rect = containerRef.current.getBoundingClientRect();\n const x = e.clientX - rect.left;\n const position = (x / rect.width) * totalDuration;\n onClick?.(position, e);\n }}\n data-disabled={disabled}\n data-testid=\"waveform-container\"\n >\n {startDuration !== undefined && endDuration !== undefined && (\n <div\n className=\"proton-Waveform__active-region\"\n style={{\n left: containerRef.current\n ? `calc(${getBarPosition(startDuration, \"start\")}%`\n : \"0%\",\n right: containerRef.current\n ? `calc(${100 - getBarPosition(endDuration, \"end\")}% - 2px)`\n : \"0%\",\n }}\n />\n )}\n {hoverPosition !== null && (\n <div\n className=\"proton-Waveform__hover-line\"\n style={{\n left: `${(hoverPosition / totalDuration) * 100}%`,\n }}\n />\n )}\n {processedWaveform.map((amplitude, index) => {\n const position = (index / processedWaveform.length) * totalDuration;\n const isBarOutsideActiveRegion =\n startDuration !== undefined &&\n endDuration !== undefined &&\n (position < startDuration || position > endDuration);\n const isPlayed = currentTime === 0 ? false : position <= currentTime;\n const isHovered = hoverPosition !== null && position <= hoverPosition;\n\n return (\n <WaveformBar\n key={index}\n amplitude={amplitude}\n isDisabled={disabled || isBarOutsideActiveRegion}\n isPlayed={isPlayed}\n isHovered={isHovered}\n isVisible={isVisible}\n hasAnimated={hasAnimated}\n resolution={resolution}\n spacing={spacing}\n index={index}\n />\n );\n })}\n </div>\n\n {waveformMessage && (\n <div\n className=\"proton-Waveform__bar-unavailable\"\n style={{\n fontSize: containerWidth < 325 ? \"0.85rem\" : \"1rem\",\n }}\n >\n {waveformMessage}\n </div>\n )}\n\n {showTimestamps && (\n <TimestampBlock direction=\"right\" seconds={totalDuration} />\n )}\n </div>\n );\n}\n\nfunction TimestampBlock({\n direction,\n seconds,\n}: {\n direction: \"left\" | \"right\";\n seconds: number;\n}) {\n return (\n <div\n className={csx(\n \"proton-Waveform__timestamp\",\n `proton-Waveform__timestamp--${direction}`\n )}\n >\n {formatTimestamp(seconds)}\n </div>\n );\n}\n\n/** Formats seconds into MM:SS timestamp string\n * @param {number} seconds - Number of seconds to format\n * @returns {string} Formatted timestamp string in MM:SS format\n */\n\nfunction formatTimestamp(seconds: number) {\n const minutes = Math.floor(seconds / 60);\n const remainingSeconds = Math.floor(seconds % 60);\n return `${minutes}:${\n remainingSeconds < 10 ? \"0\" : \"\"\n }${remainingSeconds.toFixed(0)}`;\n}\n\n/** Takes an array of waveform data and rescales it to any length\n * @param {array} initialData - original waveform data\n * @param {number} finalArrayLength - How long do you want the returned array?\n * @param {number} height - Height of the waveform container\n */\n\nfunction resampleData(initialData: number[], finalArrayLength: number) {\n const initialArrayLength = initialData.length;\n // How many samples from the original data do we skip per new sample?\n const step = initialArrayLength / finalArrayLength;\n\n // Create new array with desired length\n const resampledData = new Array(finalArrayLength)\n .fill(0)\n .map((_, newIndex) => {\n // Calculate position in original array\n const position = newIndex * step;\n const leftIndex = Math.floor(position);\n const rightIndex = Math.min(leftIndex + 1, initialArrayLength - 1);\n\n // Calculate weights for interpolation\n const fraction = position - leftIndex;\n\n // Linear interpolation between adjacent samples\n const newVal =\n initialData[leftIndex] * (1 - fraction) +\n initialData[rightIndex] * fraction;\n\n return newVal;\n });\n\n return scaleData(resampledData);\n}\n\n/** Takes an array of waveform data and scales it based on the desired pixel height\n * @param {array} data – Array of waveform data\n * @param {number} height - Height of the waveform container\n */\nfunction scaleData(data: number[]) {\n const min = Math.min(...data);\n const max = Math.max(...data);\n\n return data.map((item) => {\n // Normalize to 0-1 range first\n const normalized = (item - min) / (max - min);\n // Then scale to desired height (using 0.1 as minimum to ensure visibility)\n return Math.max(normalized * 0.8 + 0.1, 0.1);\n });\n}\n\n/** Generates a sample sine wave waveform data array\n * @param {number} length - Length of the waveform data array\n * @returns {number[]} Array of normalized amplitude values (0-1) representing the waveform\n */\n\nfunction generateSampleWaveformData(length: number) {\n return Array.from({ length }, (_, i) => {\n const cycles = 6;\n // Create 3 complete cycles (6π total) starting at -π/2 (trough)\n const phase = (i / (length - 1)) * cycles * 2 * Math.PI - Math.PI / 2;\n return Math.sin(phase) * 0.5 + 0.5;\n });\n}\n"],"names":["sampleWaveform","generateSampleWaveformData","Waveform","waveformData","resolution","startDuration","endDuration","currentTime","showTimestamps","totalDuration","disabled","disabledMessage","onClick","testId","className","useTheme","containerRef","useRef","processedWaveform","setProcessedWaveform","useState","hoverPosition","setHoverPosition","isVisible","setIsVisible","hasAnimated","setHasAnimated","waveform","spacing","useEffect","processWaveform","width","numBars","processed","resampleData","initialWidth","resizeObserver","entries","visibilityTimer","animationTimer","handleMouseMove","e","rect","position","handleMouseLeave","barTotalWidth","getBarPosition","time","direction","_a","containerWidth","waveformMessage","useMemo","jsxs","csx","jsx","TimestampBlock","amplitude","index","isBarOutsideActiveRegion","isPlayed","isHovered","WaveformBar","seconds","formatTimestamp","minutes","remainingSeconds","initialData","finalArrayLength","initialArrayLength","step","resampledData","_","newIndex","leftIndex","rightIndex","fraction","scaleData","data","min","max","item","normalized","length","i","phase"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Waveform.cjs.js","sources":["../../../src/components/Waveform/Waveform.tsx"],"sourcesContent":["\"use client\";\n\nimport { useEffect, useMemo, useRef, useState } from \"react\";\nimport { csx } from \"../../utils\";\nimport { useTheme } from \"../ThemeProvider\";\nimport \"./Waveform.css\";\nimport { WaveformBar } from \"./WaveformBar\";\n\nexport interface WaveformProps {\n /**\n * Array of normalized amplitude values (0-1) representing the waveform.\n * If not provided, uses a sample sine wave.\n */\n data?: number[];\n\n /**\n * Current playback position in seconds.\n */\n currentTime?: number;\n\n /**\n * Test ID for testing purposes.\n */\n \"data-testid\"?: string;\n\n /**\n * Whether the entire waveform is disabled.\n */\n disabled?: boolean;\n\n /**\n * Reason for the waveform being disabled.\n */\n disabledMessage?: string;\n\n /**\n * End time to display until in seconds.\n */\n endDuration?: number;\n\n /**\n * Click handler that receives the clicked position (0-1) and event.\n */\n onClick?: (position: number, e: React.MouseEvent<HTMLDivElement>) => void;\n\n /**\n * Width in pixels of each waveform bar.\n */\n resolution?: number;\n\n /**\n * Whether to show timestamp markers.\n */\n showTimestamps?: boolean;\n\n /**\n * Start time to display from in seconds.\n */\n startDuration?: number;\n\n /**\n * Total duration of the audio in seconds.\n */\n totalDuration: number;\n}\n\nconst sampleWaveform = generateSampleWaveformData(100);\n\n/**\n * A waveform visualization component that displays audio data with interactive features.\n *\n * API:\n * - {@link WaveformProps}\n */\nexport function Waveform({\n data: waveformData,\n resolution = 2,\n startDuration,\n endDuration,\n currentTime = 0,\n showTimestamps = false,\n totalDuration,\n disabled,\n disabledMessage,\n onClick,\n \"data-testid\": testId,\n}: WaveformProps) {\n const { className } = useTheme();\n const containerRef = useRef<HTMLDivElement>(null);\n const [processedWaveform, setProcessedWaveform] = useState<number[]>([]);\n const [hoverPosition, setHoverPosition] = useState<number | null>(null);\n const [isVisible, setIsVisible] = useState(false);\n const [hasAnimated, setHasAnimated] = useState(false);\n\n const waveform = waveformData || sampleWaveform;\n\n const spacing = resolution;\n\n useEffect(() => {\n if (!containerRef.current) return;\n\n const processWaveform = (width: number) => {\n const numBars = Math.floor(width / (resolution + spacing));\n const processed = resampleData(waveform, numBars);\n setProcessedWaveform(processed);\n };\n\n const initialWidth = containerRef.current.clientWidth;\n processWaveform(initialWidth);\n\n const resizeObserver = new ResizeObserver((entries) => {\n if (entries && entries[0]) {\n processWaveform(entries[0].contentRect.width);\n }\n });\n\n resizeObserver.observe(containerRef.current);\n\n return () => resizeObserver.disconnect();\n }, [waveform, resolution, spacing]);\n\n useEffect(() => {\n const visibilityTimer = setTimeout(() => setIsVisible(true), 50);\n const animationTimer = setTimeout(() => setHasAnimated(true), 500);\n\n return () => {\n clearTimeout(visibilityTimer);\n clearTimeout(animationTimer);\n };\n }, []);\n\n const handleMouseMove = (e: React.MouseEvent<HTMLDivElement>) => {\n if (!containerRef.current) return;\n const rect = containerRef.current.getBoundingClientRect();\n const x = e.clientX - rect.left;\n const position = (x / rect.width) * totalDuration;\n setHoverPosition(position);\n };\n\n const handleMouseLeave = () => {\n setHoverPosition(null);\n };\n\n // Calculate the width of a single bar including spacing\n const barTotalWidth = resolution + spacing;\n\n // Find the nearest bar boundaries for start and end durations\n const getBarPosition = (time: number, direction: \"start\" | \"end\") => {\n const position = (time / totalDuration) * 100;\n const barIndex =\n direction === \"start\"\n ? Math.floor((position / 100) * processedWaveform.length)\n : Math.ceil((position / 100) * processedWaveform.length);\n\n return (\n ((barIndex * barTotalWidth) / containerRef.current?.clientWidth!) * 100\n );\n };\n\n const containerWidth = containerRef.current?.clientWidth || 0;\n const waveformMessage = useMemo(() => {\n if (disabled && disabledMessage) return disabledMessage;\n if (!waveformData) return \"Waveform Unavailable\";\n\n return null;\n }, [disabled, disabledMessage, waveformData]);\n\n return (\n <div className={csx(\"proton-Waveform\", className)} data-testid={testId}>\n {showTimestamps && (\n <TimestampBlock direction=\"left\" seconds={currentTime} />\n )}\n <div\n ref={containerRef}\n className=\"proton-Waveform__container\"\n onMouseMove={handleMouseMove}\n onMouseLeave={handleMouseLeave}\n onClick={(e) => {\n if (!containerRef.current || disabled) return;\n const rect = containerRef.current.getBoundingClientRect();\n const x = e.clientX - rect.left;\n const position = (x / rect.width) * totalDuration;\n onClick?.(position, e);\n }}\n data-disabled={disabled}\n data-testid=\"waveform-container\"\n >\n {startDuration !== undefined && endDuration !== undefined && (\n <div\n className=\"proton-Waveform__active-region\"\n style={{\n left: containerRef.current\n ? `calc(${getBarPosition(startDuration, \"start\")}%`\n : \"0%\",\n right: containerRef.current\n ? `calc(${100 - getBarPosition(endDuration, \"end\")}% - 2px)`\n : \"0%\",\n }}\n />\n )}\n {hoverPosition !== null && (\n <div\n className=\"proton-Waveform__hover-line\"\n style={{\n left: `${(hoverPosition / totalDuration) * 100}%`,\n }}\n />\n )}\n {processedWaveform.map((amplitude, index) => {\n const position = (index / processedWaveform.length) * totalDuration;\n const isBarOutsideActiveRegion =\n startDuration !== undefined &&\n endDuration !== undefined &&\n (position < startDuration || position > endDuration);\n const isPlayed = currentTime === 0 ? false : position <= currentTime;\n const isHovered = hoverPosition !== null && position <= hoverPosition;\n\n return (\n <WaveformBar\n key={index}\n amplitude={amplitude}\n isDisabled={disabled || isBarOutsideActiveRegion}\n isPlayed={isPlayed}\n isHovered={isHovered}\n isVisible={isVisible}\n hasAnimated={hasAnimated}\n resolution={resolution}\n spacing={spacing}\n index={index}\n />\n );\n })}\n </div>\n\n {waveformMessage && (\n <div\n className=\"proton-Waveform__bar-unavailable\"\n style={{\n fontSize: containerWidth < 325 ? \"0.85rem\" : \"1rem\",\n }}\n >\n {waveformMessage}\n </div>\n )}\n\n {showTimestamps && (\n <TimestampBlock direction=\"right\" seconds={totalDuration} />\n )}\n </div>\n );\n}\n\nfunction TimestampBlock({\n direction,\n seconds,\n}: {\n direction: \"left\" | \"right\";\n seconds: number;\n}) {\n return (\n <div\n className={csx(\n \"proton-Waveform__timestamp\",\n `proton-Waveform__timestamp--${direction}`,\n )}\n >\n {formatTimestamp(seconds)}\n </div>\n );\n}\n\n/** Formats seconds into MM:SS timestamp string\n * @param {number} seconds - Number of seconds to format\n * @returns {string} Formatted timestamp string in MM:SS format\n */\n\nfunction formatTimestamp(seconds: number) {\n const minutes = Math.floor(seconds / 60);\n const remainingSeconds = Math.floor(seconds % 60);\n return `${minutes}:${\n remainingSeconds < 10 ? \"0\" : \"\"\n }${remainingSeconds.toFixed(0)}`;\n}\n\n/** Takes an array of waveform data and rescales it to any length\n * @param {array} initialData - original waveform data\n * @param {number} finalArrayLength - How long do you want the returned array?\n * @param {number} height - Height of the waveform container\n */\n\nfunction resampleData(initialData: number[], finalArrayLength: number) {\n const initialArrayLength = initialData.length;\n // How many samples from the original data do we skip per new sample?\n const step = initialArrayLength / finalArrayLength;\n\n // Create new array with desired length\n const resampledData = new Array(finalArrayLength)\n .fill(0)\n .map((_, newIndex) => {\n // Calculate position in original array\n const position = newIndex * step;\n const leftIndex = Math.floor(position);\n const rightIndex = Math.min(leftIndex + 1, initialArrayLength - 1);\n\n // Calculate weights for interpolation\n const fraction = position - leftIndex;\n\n // Linear interpolation between adjacent samples\n const newVal =\n initialData[leftIndex] * (1 - fraction) +\n initialData[rightIndex] * fraction;\n\n return newVal;\n });\n\n return scaleData(resampledData);\n}\n\n/** Takes an array of waveform data and scales it based on the desired pixel height\n * @param {array} data – Array of waveform data\n * @param {number} height - Height of the waveform container\n */\nfunction scaleData(data: number[]) {\n const min = Math.min(...data);\n const max = Math.max(...data);\n\n return data.map((item) => {\n // Normalize to 0-1 range first\n const normalized = (item - min) / (max - min);\n // Then scale to desired height (using 0.1 as minimum to ensure visibility)\n return Math.max(normalized * 0.8 + 0.1, 0.1);\n });\n}\n\n/** Generates a sample sine wave waveform data array\n * @param {number} length - Length of the waveform data array\n * @returns {number[]} Array of normalized amplitude values (0-1) representing the waveform\n */\n\nfunction generateSampleWaveformData(length: number) {\n return Array.from({ length }, (_, i) => {\n const cycles = 6;\n // Create 3 complete cycles (6π total) starting at -π/2 (trough)\n const phase = (i / (length - 1)) * cycles * 2 * Math.PI - Math.PI / 2;\n return Math.sin(phase) * 0.5 + 0.5;\n });\n}\n"],"names":["sampleWaveform","generateSampleWaveformData","Waveform","waveformData","resolution","startDuration","endDuration","currentTime","showTimestamps","totalDuration","disabled","disabledMessage","onClick","testId","className","useTheme","containerRef","useRef","processedWaveform","setProcessedWaveform","useState","hoverPosition","setHoverPosition","isVisible","setIsVisible","hasAnimated","setHasAnimated","waveform","spacing","useEffect","processWaveform","width","numBars","processed","resampleData","initialWidth","resizeObserver","entries","visibilityTimer","animationTimer","handleMouseMove","e","rect","position","handleMouseLeave","barTotalWidth","getBarPosition","time","direction","_a","containerWidth","waveformMessage","useMemo","jsxs","csx","jsx","TimestampBlock","amplitude","index","isBarOutsideActiveRegion","isPlayed","isHovered","WaveformBar","seconds","formatTimestamp","minutes","remainingSeconds","initialData","finalArrayLength","initialArrayLength","step","resampledData","_","newIndex","leftIndex","rightIndex","fraction","scaleData","data","min","max","item","normalized","length","i","phase"],"mappings":"uTAkEMA,EAAiBC,EAA2B,GAAG,EAQ9C,SAASC,EAAS,CACvB,KAAMC,EACN,WAAAC,EAAa,EACb,cAAAC,EACA,YAAAC,EACA,YAAAC,EAAc,EACd,eAAAC,EAAiB,GACjB,cAAAC,EACA,SAAAC,EACA,gBAAAC,EACA,QAAAC,EACA,cAAeC,CACjB,EAAkB,OAChB,KAAM,CAAE,UAAAC,CAAA,EAAcC,WAAA,EAChBC,EAAeC,EAAAA,OAAuB,IAAI,EAC1C,CAACC,EAAmBC,CAAoB,EAAIC,EAAAA,SAAmB,CAAA,CAAE,EACjE,CAACC,EAAeC,CAAgB,EAAIF,EAAAA,SAAwB,IAAI,EAChE,CAACG,EAAWC,CAAY,EAAIJ,EAAAA,SAAS,EAAK,EAC1C,CAACK,EAAaC,CAAc,EAAIN,EAAAA,SAAS,EAAK,EAE9CO,EAAWxB,GAAgBH,EAE3B4B,EAAUxB,EAEhByB,EAAAA,UAAU,IAAM,CACd,GAAI,CAACb,EAAa,QAAS,OAE3B,MAAMc,EAAmBC,GAAkB,CACzC,MAAMC,EAAU,KAAK,MAAMD,GAAS3B,EAAawB,EAAQ,EACnDK,EAAYC,EAAaP,EAAUK,CAAO,EAChDb,EAAqBc,CAAS,CAChC,EAEME,EAAenB,EAAa,QAAQ,YAC1Cc,EAAgBK,CAAY,EAE5B,MAAMC,EAAiB,IAAI,eAAgBC,GAAY,CACjDA,GAAWA,EAAQ,CAAC,GACtBP,EAAgBO,EAAQ,CAAC,EAAE,YAAY,KAAK,CAEhD,CAAC,EAED,OAAAD,EAAe,QAAQpB,EAAa,OAAO,EAEpC,IAAMoB,EAAe,WAAA,CAC9B,EAAG,CAACT,EAAUvB,EAAYwB,CAAO,CAAC,EAElCC,EAAAA,UAAU,IAAM,CACd,MAAMS,EAAkB,WAAW,IAAMd,EAAa,EAAI,EAAG,EAAE,EACzDe,EAAiB,WAAW,IAAMb,EAAe,EAAI,EAAG,GAAG,EAEjE,MAAO,IAAM,CACX,aAAaY,CAAe,EAC5B,aAAaC,CAAc,CAC7B,CACF,EAAG,CAAA,CAAE,EAEL,MAAMC,EAAmBC,GAAwC,CAC/D,GAAI,CAACzB,EAAa,QAAS,OAC3B,MAAM0B,EAAO1B,EAAa,QAAQ,sBAAA,EAE5B2B,GADIF,EAAE,QAAUC,EAAK,MACLA,EAAK,MAASjC,EACpCa,EAAiBqB,CAAQ,CAC3B,EAEMC,EAAmB,IAAM,CAC7BtB,EAAiB,IAAI,CACvB,EAGMuB,EAAgBzC,EAAawB,EAG7BkB,EAAiB,CAACC,EAAcC,IAA+B,OACnE,MAAML,EAAYI,EAAOtC,EAAiB,IAM1C,OAJEuC,IAAc,QACV,KAAK,MAAOL,EAAW,IAAOzB,EAAkB,MAAM,EACtD,KAAK,KAAMyB,EAAW,IAAOzB,EAAkB,MAAM,GAG5C2B,IAAiBI,EAAAjC,EAAa,UAAb,YAAAiC,EAAsB,aAAgB,GAExE,EAEMC,IAAiBD,EAAAjC,EAAa,UAAb,YAAAiC,EAAsB,cAAe,EACtDE,EAAkBC,EAAAA,QAAQ,IAC1B1C,GAAYC,EAAwBA,EACnCR,EAEE,KAFmB,uBAGzB,CAACO,EAAUC,EAAiBR,CAAY,CAAC,EAE5C,OACEkD,yBAAC,OAAI,UAAWC,EAAAA,IAAI,kBAAmBxC,CAAS,EAAG,cAAaD,EAC7D,SAAA,CAAAL,GACC+C,EAAAA,kBAAAA,IAACC,EAAA,CAAe,UAAU,OAAO,QAASjD,EAAa,EAEzD8C,EAAAA,kBAAAA,KAAC,MAAA,CACC,IAAKrC,EACL,UAAU,6BACV,YAAawB,EACb,aAAcI,EACd,QAAUH,GAAM,CACd,GAAI,CAACzB,EAAa,SAAWN,EAAU,OACvC,MAAMgC,EAAO1B,EAAa,QAAQ,sBAAA,EAE5B2B,GADIF,EAAE,QAAUC,EAAK,MACLA,EAAK,MAASjC,EACpCG,GAAA,MAAAA,EAAU+B,EAAUF,EACtB,EACA,gBAAe/B,EACf,cAAY,qBAEX,SAAA,CAAAL,IAAkB,QAAaC,IAAgB,QAC9CiD,EAAAA,kBAAAA,IAAC,MAAA,CACC,UAAU,iCACV,MAAO,CACL,KAAMvC,EAAa,QACf,QAAQ8B,EAAezC,EAAe,OAAO,CAAC,IAC9C,KACJ,MAAOW,EAAa,QAChB,QAAQ,IAAM8B,EAAexC,EAAa,KAAK,CAAC,WAChD,IAAA,CACN,CAAA,EAGHe,IAAkB,MACjBkC,EAAAA,kBAAAA,IAAC,MAAA,CACC,UAAU,8BACV,MAAO,CACL,KAAM,GAAIlC,EAAgBZ,EAAiB,GAAG,GAAA,CAChD,CAAA,EAGHS,EAAkB,IAAI,CAACuC,EAAWC,IAAU,CAC3C,MAAMf,EAAYe,EAAQxC,EAAkB,OAAUT,EAChDkD,EACJtD,IAAkB,QAClBC,IAAgB,SACfqC,EAAWtC,GAAiBsC,EAAWrC,GACpCsD,EAAWrD,IAAgB,EAAI,GAAQoC,GAAYpC,EACnDsD,EAAYxC,IAAkB,MAAQsB,GAAYtB,EAExD,OACEkC,EAAAA,kBAAAA,IAACO,EAAAA,YAAA,CAEC,UAAAL,EACA,WAAY/C,GAAYiD,EACxB,SAAAC,EACA,UAAAC,EACA,UAAAtC,EACA,YAAAE,EACA,WAAArB,EACA,QAAAwB,EACA,MAAA8B,CAAA,EATKA,CAAA,CAYX,CAAC,CAAA,CAAA,CAAA,EAGFP,GACCI,EAAAA,kBAAAA,IAAC,MAAA,CACC,UAAU,mCACV,MAAO,CACL,SAAUL,EAAiB,IAAM,UAAY,MAAA,EAG9C,SAAAC,CAAA,CAAA,EAIJ3C,GACC+C,EAAAA,kBAAAA,IAACC,EAAA,CAAe,UAAU,QAAQ,QAAS/C,CAAA,CAAe,CAAA,EAE9D,CAEJ,CAEA,SAAS+C,EAAe,CACtB,UAAAR,EACA,QAAAe,CACF,EAGG,CACD,OACER,EAAAA,kBAAAA,IAAC,MAAA,CACC,UAAWD,EAAAA,IACT,6BACA,+BAA+BN,CAAS,EAAA,EAGzC,WAAgBe,CAAO,CAAA,CAAA,CAG9B,CAOA,SAASC,EAAgBD,EAAiB,CACxC,MAAME,EAAU,KAAK,MAAMF,EAAU,EAAE,EACjCG,EAAmB,KAAK,MAAMH,EAAU,EAAE,EAChD,MAAO,GAAGE,CAAO,IACfC,EAAmB,GAAK,IAAM,EAChC,GAAGA,EAAiB,QAAQ,CAAC,CAAC,EAChC,CAQA,SAAShC,EAAaiC,EAAuBC,EAA0B,CACrE,MAAMC,EAAqBF,EAAY,OAEjCG,EAAOD,EAAqBD,EAG5BG,EAAgB,IAAI,MAAMH,CAAgB,EAC7C,KAAK,CAAC,EACN,IAAI,CAACI,EAAGC,IAAa,CAEpB,MAAM9B,EAAW8B,EAAWH,EACtBI,EAAY,KAAK,MAAM/B,CAAQ,EAC/BgC,EAAa,KAAK,IAAID,EAAY,EAAGL,EAAqB,CAAC,EAG3DO,EAAWjC,EAAW+B,EAO5B,OAHEP,EAAYO,CAAS,GAAK,EAAIE,GAC9BT,EAAYQ,CAAU,EAAIC,CAG9B,CAAC,EAEH,OAAOC,EAAUN,CAAa,CAChC,CAMA,SAASM,EAAUC,EAAgB,CACjC,MAAMC,EAAM,KAAK,IAAI,GAAGD,CAAI,EACtBE,EAAM,KAAK,IAAI,GAAGF,CAAI,EAE5B,OAAOA,EAAK,IAAKG,GAAS,CAExB,MAAMC,GAAcD,EAAOF,IAAQC,EAAMD,GAEzC,OAAO,KAAK,IAAIG,EAAa,GAAM,GAAK,EAAG,CAC7C,CAAC,CACH,CAOA,SAASjF,EAA2BkF,EAAgB,CAClD,OAAO,MAAM,KAAK,CAAE,OAAAA,GAAU,CAACX,EAAGY,IAAM,CAGtC,MAAMC,EAASD,GAAKD,EAAS,GAAM,EAAS,EAAI,KAAK,GAAK,KAAK,GAAK,EACpE,OAAO,KAAK,IAAIE,CAAK,EAAI,GAAM,EACjC,CAAC,CACH"}
|
|
@@ -47,7 +47,7 @@ function ne({
|
|
|
47
47
|
var d;
|
|
48
48
|
const c = s / f * 100;
|
|
49
49
|
return (n === "start" ? Math.floor(c / 100 * x.length) : Math.ceil(c / 100 * x.length)) * E / ((d = r.current) == null ? void 0 : d.clientWidth) * 100;
|
|
50
|
-
}, L = (I = r.current) == null ? void 0 : I.clientWidth, B = F(() => u && v ? v : e ? null : "Waveform Unavailable", [u, v, e]);
|
|
50
|
+
}, L = ((I = r.current) == null ? void 0 : I.clientWidth) || 0, B = F(() => u && v ? v : e ? null : "Waveform Unavailable", [u, v, e]);
|
|
51
51
|
return /* @__PURE__ */ l.jsxs("div", { className: T("proton-Waveform", y), "data-testid": p, children: [
|
|
52
52
|
_ && /* @__PURE__ */ l.jsx(P, { direction: "left", seconds: m }),
|
|
53
53
|
/* @__PURE__ */ l.jsxs(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Waveform.es.js","sources":["../../../src/components/Waveform/Waveform.tsx"],"sourcesContent":["\"use client\";\n\nimport { useEffect, useMemo, useRef, useState } from \"react\";\nimport { csx } from \"../../utils\";\nimport { useTheme } from \"../ThemeProvider\";\nimport \"./Waveform.css\";\nimport { WaveformBar } from \"./WaveformBar\";\n\nexport interface WaveformProps {\n /**\n * Array of normalized amplitude values (0-1) representing the waveform.\n * If not provided, uses a sample sine wave.\n */\n data?: number[];\n\n /**\n * Current playback position in seconds.\n */\n currentTime?: number;\n\n /**\n * Test ID for testing purposes.\n */\n \"data-testid\"?: string;\n\n /**\n * Whether the entire waveform is disabled.\n */\n disabled?: boolean;\n\n /**\n * Reason for the waveform being disabled.\n */\n disabledMessage?: string;\n\n /**\n * End time to display until in seconds.\n */\n endDuration?: number;\n\n /**\n * Click handler that receives the clicked position (0-1) and event.\n */\n onClick?: (position: number, e: React.MouseEvent<HTMLDivElement>) => void;\n\n /**\n * Width in pixels of each waveform bar.\n */\n resolution?: number;\n\n /**\n * Whether to show timestamp markers.\n */\n showTimestamps?: boolean;\n\n /**\n * Start time to display from in seconds.\n */\n startDuration?: number;\n\n /**\n * Total duration of the audio in seconds.\n */\n totalDuration: number;\n}\n\nconst sampleWaveform = generateSampleWaveformData(100);\n\n/**\n * A waveform visualization component that displays audio data with interactive features.\n *\n * API:\n * - {@link WaveformProps}\n */\nexport function Waveform({\n data: waveformData,\n resolution = 2,\n startDuration,\n endDuration,\n currentTime = 0,\n showTimestamps = false,\n totalDuration,\n disabled,\n disabledMessage,\n onClick,\n \"data-testid\": testId,\n}: WaveformProps) {\n const { className } = useTheme();\n const containerRef = useRef<HTMLDivElement>(null);\n const [processedWaveform, setProcessedWaveform] = useState<number[]>([]);\n const [hoverPosition, setHoverPosition] = useState<number | null>(null);\n const [isVisible, setIsVisible] = useState(false);\n const [hasAnimated, setHasAnimated] = useState(false);\n\n const waveform = waveformData || sampleWaveform;\n\n const spacing = resolution;\n\n useEffect(() => {\n if (!containerRef.current) return;\n\n const processWaveform = (width: number) => {\n const numBars = Math.floor(width / (resolution + spacing));\n const processed = resampleData(waveform, numBars);\n setProcessedWaveform(processed);\n };\n\n const initialWidth = containerRef.current.clientWidth;\n processWaveform(initialWidth);\n\n const resizeObserver = new ResizeObserver((entries) => {\n if (entries && entries[0]) {\n processWaveform(entries[0].contentRect.width);\n }\n });\n\n resizeObserver.observe(containerRef.current);\n\n return () => resizeObserver.disconnect();\n }, [waveform, resolution, spacing]);\n\n useEffect(() => {\n const visibilityTimer = setTimeout(() => setIsVisible(true), 50);\n const animationTimer = setTimeout(() => setHasAnimated(true), 500);\n\n return () => {\n clearTimeout(visibilityTimer);\n clearTimeout(animationTimer);\n };\n }, []);\n\n const handleMouseMove = (e: React.MouseEvent<HTMLDivElement>) => {\n if (!containerRef.current) return;\n const rect = containerRef.current.getBoundingClientRect();\n const x = e.clientX - rect.left;\n const position = (x / rect.width) * totalDuration;\n setHoverPosition(position);\n };\n\n const handleMouseLeave = () => {\n setHoverPosition(null);\n };\n\n // Calculate the width of a single bar including spacing\n const barTotalWidth = resolution + spacing;\n\n // Find the nearest bar boundaries for start and end durations\n const getBarPosition = (time: number, direction: \"start\" | \"end\") => {\n const position = (time / totalDuration) * 100;\n const barIndex =\n direction === \"start\"\n ? Math.floor((position / 100) * processedWaveform.length)\n : Math.ceil((position / 100) * processedWaveform.length);\n\n return (\n ((barIndex * barTotalWidth) / containerRef.current?.clientWidth!) * 100\n );\n };\n\n const containerWidth = containerRef.current?.clientWidth;\n const waveformMessage = useMemo(() => {\n if (disabled && disabledMessage) return disabledMessage;\n if (!waveformData) return \"Waveform Unavailable\";\n\n return null;\n }, [disabled, disabledMessage, waveformData]);\n\n return (\n <div className={csx(\"proton-Waveform\", className)} data-testid={testId}>\n {showTimestamps && (\n <TimestampBlock direction=\"left\" seconds={currentTime} />\n )}\n <div\n ref={containerRef}\n className=\"proton-Waveform__container\"\n onMouseMove={handleMouseMove}\n onMouseLeave={handleMouseLeave}\n onClick={(e) => {\n if (!containerRef.current || disabled) return;\n const rect = containerRef.current.getBoundingClientRect();\n const x = e.clientX - rect.left;\n const position = (x / rect.width) * totalDuration;\n onClick?.(position, e);\n }}\n data-disabled={disabled}\n data-testid=\"waveform-container\"\n >\n {startDuration !== undefined && endDuration !== undefined && (\n <div\n className=\"proton-Waveform__active-region\"\n style={{\n left: containerRef.current\n ? `calc(${getBarPosition(startDuration, \"start\")}%`\n : \"0%\",\n right: containerRef.current\n ? `calc(${100 - getBarPosition(endDuration, \"end\")}% - 2px)`\n : \"0%\",\n }}\n />\n )}\n {hoverPosition !== null && (\n <div\n className=\"proton-Waveform__hover-line\"\n style={{\n left: `${(hoverPosition / totalDuration) * 100}%`,\n }}\n />\n )}\n {processedWaveform.map((amplitude, index) => {\n const position = (index / processedWaveform.length) * totalDuration;\n const isBarOutsideActiveRegion =\n startDuration !== undefined &&\n endDuration !== undefined &&\n (position < startDuration || position > endDuration);\n const isPlayed = currentTime === 0 ? false : position <= currentTime;\n const isHovered = hoverPosition !== null && position <= hoverPosition;\n\n return (\n <WaveformBar\n key={index}\n amplitude={amplitude}\n isDisabled={disabled || isBarOutsideActiveRegion}\n isPlayed={isPlayed}\n isHovered={isHovered}\n isVisible={isVisible}\n hasAnimated={hasAnimated}\n resolution={resolution}\n spacing={spacing}\n index={index}\n />\n );\n })}\n </div>\n\n {waveformMessage && (\n <div\n className=\"proton-Waveform__bar-unavailable\"\n style={{\n fontSize: containerWidth < 325 ? \"0.85rem\" : \"1rem\",\n }}\n >\n {waveformMessage}\n </div>\n )}\n\n {showTimestamps && (\n <TimestampBlock direction=\"right\" seconds={totalDuration} />\n )}\n </div>\n );\n}\n\nfunction TimestampBlock({\n direction,\n seconds,\n}: {\n direction: \"left\" | \"right\";\n seconds: number;\n}) {\n return (\n <div\n className={csx(\n \"proton-Waveform__timestamp\",\n `proton-Waveform__timestamp--${direction}`\n )}\n >\n {formatTimestamp(seconds)}\n </div>\n );\n}\n\n/** Formats seconds into MM:SS timestamp string\n * @param {number} seconds - Number of seconds to format\n * @returns {string} Formatted timestamp string in MM:SS format\n */\n\nfunction formatTimestamp(seconds: number) {\n const minutes = Math.floor(seconds / 60);\n const remainingSeconds = Math.floor(seconds % 60);\n return `${minutes}:${\n remainingSeconds < 10 ? \"0\" : \"\"\n }${remainingSeconds.toFixed(0)}`;\n}\n\n/** Takes an array of waveform data and rescales it to any length\n * @param {array} initialData - original waveform data\n * @param {number} finalArrayLength - How long do you want the returned array?\n * @param {number} height - Height of the waveform container\n */\n\nfunction resampleData(initialData: number[], finalArrayLength: number) {\n const initialArrayLength = initialData.length;\n // How many samples from the original data do we skip per new sample?\n const step = initialArrayLength / finalArrayLength;\n\n // Create new array with desired length\n const resampledData = new Array(finalArrayLength)\n .fill(0)\n .map((_, newIndex) => {\n // Calculate position in original array\n const position = newIndex * step;\n const leftIndex = Math.floor(position);\n const rightIndex = Math.min(leftIndex + 1, initialArrayLength - 1);\n\n // Calculate weights for interpolation\n const fraction = position - leftIndex;\n\n // Linear interpolation between adjacent samples\n const newVal =\n initialData[leftIndex] * (1 - fraction) +\n initialData[rightIndex] * fraction;\n\n return newVal;\n });\n\n return scaleData(resampledData);\n}\n\n/** Takes an array of waveform data and scales it based on the desired pixel height\n * @param {array} data – Array of waveform data\n * @param {number} height - Height of the waveform container\n */\nfunction scaleData(data: number[]) {\n const min = Math.min(...data);\n const max = Math.max(...data);\n\n return data.map((item) => {\n // Normalize to 0-1 range first\n const normalized = (item - min) / (max - min);\n // Then scale to desired height (using 0.1 as minimum to ensure visibility)\n return Math.max(normalized * 0.8 + 0.1, 0.1);\n });\n}\n\n/** Generates a sample sine wave waveform data array\n * @param {number} length - Length of the waveform data array\n * @returns {number[]} Array of normalized amplitude values (0-1) representing the waveform\n */\n\nfunction generateSampleWaveformData(length: number) {\n return Array.from({ length }, (_, i) => {\n const cycles = 6;\n // Create 3 complete cycles (6π total) starting at -π/2 (trough)\n const phase = (i / (length - 1)) * cycles * 2 * Math.PI - Math.PI / 2;\n return Math.sin(phase) * 0.5 + 0.5;\n });\n}\n"],"names":["sampleWaveform","generateSampleWaveformData","Waveform","waveformData","resolution","startDuration","endDuration","currentTime","showTimestamps","totalDuration","disabled","disabledMessage","onClick","testId","className","useTheme","containerRef","useRef","processedWaveform","setProcessedWaveform","useState","hoverPosition","setHoverPosition","isVisible","setIsVisible","hasAnimated","setHasAnimated","waveform","spacing","useEffect","processWaveform","width","numBars","processed","resampleData","initialWidth","resizeObserver","entries","visibilityTimer","animationTimer","handleMouseMove","e","rect","position","handleMouseLeave","barTotalWidth","getBarPosition","time","direction","_a","containerWidth","waveformMessage","useMemo","jsxs","csx","jsx","TimestampBlock","amplitude","index","isBarOutsideActiveRegion","isPlayed","isHovered","WaveformBar","seconds","formatTimestamp","minutes","remainingSeconds","initialData","finalArrayLength","initialArrayLength","step","resampledData","newIndex","leftIndex","rightIndex","fraction","scaleData","data","min","max","item","normalized","length","_","i","phase"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Waveform.es.js","sources":["../../../src/components/Waveform/Waveform.tsx"],"sourcesContent":["\"use client\";\n\nimport { useEffect, useMemo, useRef, useState } from \"react\";\nimport { csx } from \"../../utils\";\nimport { useTheme } from \"../ThemeProvider\";\nimport \"./Waveform.css\";\nimport { WaveformBar } from \"./WaveformBar\";\n\nexport interface WaveformProps {\n /**\n * Array of normalized amplitude values (0-1) representing the waveform.\n * If not provided, uses a sample sine wave.\n */\n data?: number[];\n\n /**\n * Current playback position in seconds.\n */\n currentTime?: number;\n\n /**\n * Test ID for testing purposes.\n */\n \"data-testid\"?: string;\n\n /**\n * Whether the entire waveform is disabled.\n */\n disabled?: boolean;\n\n /**\n * Reason for the waveform being disabled.\n */\n disabledMessage?: string;\n\n /**\n * End time to display until in seconds.\n */\n endDuration?: number;\n\n /**\n * Click handler that receives the clicked position (0-1) and event.\n */\n onClick?: (position: number, e: React.MouseEvent<HTMLDivElement>) => void;\n\n /**\n * Width in pixels of each waveform bar.\n */\n resolution?: number;\n\n /**\n * Whether to show timestamp markers.\n */\n showTimestamps?: boolean;\n\n /**\n * Start time to display from in seconds.\n */\n startDuration?: number;\n\n /**\n * Total duration of the audio in seconds.\n */\n totalDuration: number;\n}\n\nconst sampleWaveform = generateSampleWaveformData(100);\n\n/**\n * A waveform visualization component that displays audio data with interactive features.\n *\n * API:\n * - {@link WaveformProps}\n */\nexport function Waveform({\n data: waveformData,\n resolution = 2,\n startDuration,\n endDuration,\n currentTime = 0,\n showTimestamps = false,\n totalDuration,\n disabled,\n disabledMessage,\n onClick,\n \"data-testid\": testId,\n}: WaveformProps) {\n const { className } = useTheme();\n const containerRef = useRef<HTMLDivElement>(null);\n const [processedWaveform, setProcessedWaveform] = useState<number[]>([]);\n const [hoverPosition, setHoverPosition] = useState<number | null>(null);\n const [isVisible, setIsVisible] = useState(false);\n const [hasAnimated, setHasAnimated] = useState(false);\n\n const waveform = waveformData || sampleWaveform;\n\n const spacing = resolution;\n\n useEffect(() => {\n if (!containerRef.current) return;\n\n const processWaveform = (width: number) => {\n const numBars = Math.floor(width / (resolution + spacing));\n const processed = resampleData(waveform, numBars);\n setProcessedWaveform(processed);\n };\n\n const initialWidth = containerRef.current.clientWidth;\n processWaveform(initialWidth);\n\n const resizeObserver = new ResizeObserver((entries) => {\n if (entries && entries[0]) {\n processWaveform(entries[0].contentRect.width);\n }\n });\n\n resizeObserver.observe(containerRef.current);\n\n return () => resizeObserver.disconnect();\n }, [waveform, resolution, spacing]);\n\n useEffect(() => {\n const visibilityTimer = setTimeout(() => setIsVisible(true), 50);\n const animationTimer = setTimeout(() => setHasAnimated(true), 500);\n\n return () => {\n clearTimeout(visibilityTimer);\n clearTimeout(animationTimer);\n };\n }, []);\n\n const handleMouseMove = (e: React.MouseEvent<HTMLDivElement>) => {\n if (!containerRef.current) return;\n const rect = containerRef.current.getBoundingClientRect();\n const x = e.clientX - rect.left;\n const position = (x / rect.width) * totalDuration;\n setHoverPosition(position);\n };\n\n const handleMouseLeave = () => {\n setHoverPosition(null);\n };\n\n // Calculate the width of a single bar including spacing\n const barTotalWidth = resolution + spacing;\n\n // Find the nearest bar boundaries for start and end durations\n const getBarPosition = (time: number, direction: \"start\" | \"end\") => {\n const position = (time / totalDuration) * 100;\n const barIndex =\n direction === \"start\"\n ? Math.floor((position / 100) * processedWaveform.length)\n : Math.ceil((position / 100) * processedWaveform.length);\n\n return (\n ((barIndex * barTotalWidth) / containerRef.current?.clientWidth!) * 100\n );\n };\n\n const containerWidth = containerRef.current?.clientWidth || 0;\n const waveformMessage = useMemo(() => {\n if (disabled && disabledMessage) return disabledMessage;\n if (!waveformData) return \"Waveform Unavailable\";\n\n return null;\n }, [disabled, disabledMessage, waveformData]);\n\n return (\n <div className={csx(\"proton-Waveform\", className)} data-testid={testId}>\n {showTimestamps && (\n <TimestampBlock direction=\"left\" seconds={currentTime} />\n )}\n <div\n ref={containerRef}\n className=\"proton-Waveform__container\"\n onMouseMove={handleMouseMove}\n onMouseLeave={handleMouseLeave}\n onClick={(e) => {\n if (!containerRef.current || disabled) return;\n const rect = containerRef.current.getBoundingClientRect();\n const x = e.clientX - rect.left;\n const position = (x / rect.width) * totalDuration;\n onClick?.(position, e);\n }}\n data-disabled={disabled}\n data-testid=\"waveform-container\"\n >\n {startDuration !== undefined && endDuration !== undefined && (\n <div\n className=\"proton-Waveform__active-region\"\n style={{\n left: containerRef.current\n ? `calc(${getBarPosition(startDuration, \"start\")}%`\n : \"0%\",\n right: containerRef.current\n ? `calc(${100 - getBarPosition(endDuration, \"end\")}% - 2px)`\n : \"0%\",\n }}\n />\n )}\n {hoverPosition !== null && (\n <div\n className=\"proton-Waveform__hover-line\"\n style={{\n left: `${(hoverPosition / totalDuration) * 100}%`,\n }}\n />\n )}\n {processedWaveform.map((amplitude, index) => {\n const position = (index / processedWaveform.length) * totalDuration;\n const isBarOutsideActiveRegion =\n startDuration !== undefined &&\n endDuration !== undefined &&\n (position < startDuration || position > endDuration);\n const isPlayed = currentTime === 0 ? false : position <= currentTime;\n const isHovered = hoverPosition !== null && position <= hoverPosition;\n\n return (\n <WaveformBar\n key={index}\n amplitude={amplitude}\n isDisabled={disabled || isBarOutsideActiveRegion}\n isPlayed={isPlayed}\n isHovered={isHovered}\n isVisible={isVisible}\n hasAnimated={hasAnimated}\n resolution={resolution}\n spacing={spacing}\n index={index}\n />\n );\n })}\n </div>\n\n {waveformMessage && (\n <div\n className=\"proton-Waveform__bar-unavailable\"\n style={{\n fontSize: containerWidth < 325 ? \"0.85rem\" : \"1rem\",\n }}\n >\n {waveformMessage}\n </div>\n )}\n\n {showTimestamps && (\n <TimestampBlock direction=\"right\" seconds={totalDuration} />\n )}\n </div>\n );\n}\n\nfunction TimestampBlock({\n direction,\n seconds,\n}: {\n direction: \"left\" | \"right\";\n seconds: number;\n}) {\n return (\n <div\n className={csx(\n \"proton-Waveform__timestamp\",\n `proton-Waveform__timestamp--${direction}`,\n )}\n >\n {formatTimestamp(seconds)}\n </div>\n );\n}\n\n/** Formats seconds into MM:SS timestamp string\n * @param {number} seconds - Number of seconds to format\n * @returns {string} Formatted timestamp string in MM:SS format\n */\n\nfunction formatTimestamp(seconds: number) {\n const minutes = Math.floor(seconds / 60);\n const remainingSeconds = Math.floor(seconds % 60);\n return `${minutes}:${\n remainingSeconds < 10 ? \"0\" : \"\"\n }${remainingSeconds.toFixed(0)}`;\n}\n\n/** Takes an array of waveform data and rescales it to any length\n * @param {array} initialData - original waveform data\n * @param {number} finalArrayLength - How long do you want the returned array?\n * @param {number} height - Height of the waveform container\n */\n\nfunction resampleData(initialData: number[], finalArrayLength: number) {\n const initialArrayLength = initialData.length;\n // How many samples from the original data do we skip per new sample?\n const step = initialArrayLength / finalArrayLength;\n\n // Create new array with desired length\n const resampledData = new Array(finalArrayLength)\n .fill(0)\n .map((_, newIndex) => {\n // Calculate position in original array\n const position = newIndex * step;\n const leftIndex = Math.floor(position);\n const rightIndex = Math.min(leftIndex + 1, initialArrayLength - 1);\n\n // Calculate weights for interpolation\n const fraction = position - leftIndex;\n\n // Linear interpolation between adjacent samples\n const newVal =\n initialData[leftIndex] * (1 - fraction) +\n initialData[rightIndex] * fraction;\n\n return newVal;\n });\n\n return scaleData(resampledData);\n}\n\n/** Takes an array of waveform data and scales it based on the desired pixel height\n * @param {array} data – Array of waveform data\n * @param {number} height - Height of the waveform container\n */\nfunction scaleData(data: number[]) {\n const min = Math.min(...data);\n const max = Math.max(...data);\n\n return data.map((item) => {\n // Normalize to 0-1 range first\n const normalized = (item - min) / (max - min);\n // Then scale to desired height (using 0.1 as minimum to ensure visibility)\n return Math.max(normalized * 0.8 + 0.1, 0.1);\n });\n}\n\n/** Generates a sample sine wave waveform data array\n * @param {number} length - Length of the waveform data array\n * @returns {number[]} Array of normalized amplitude values (0-1) representing the waveform\n */\n\nfunction generateSampleWaveformData(length: number) {\n return Array.from({ length }, (_, i) => {\n const cycles = 6;\n // Create 3 complete cycles (6π total) starting at -π/2 (trough)\n const phase = (i / (length - 1)) * cycles * 2 * Math.PI - Math.PI / 2;\n return Math.sin(phase) * 0.5 + 0.5;\n });\n}\n"],"names":["sampleWaveform","generateSampleWaveformData","Waveform","waveformData","resolution","startDuration","endDuration","currentTime","showTimestamps","totalDuration","disabled","disabledMessage","onClick","testId","className","useTheme","containerRef","useRef","processedWaveform","setProcessedWaveform","useState","hoverPosition","setHoverPosition","isVisible","setIsVisible","hasAnimated","setHasAnimated","waveform","spacing","useEffect","processWaveform","width","numBars","processed","resampleData","initialWidth","resizeObserver","entries","visibilityTimer","animationTimer","handleMouseMove","e","rect","position","handleMouseLeave","barTotalWidth","getBarPosition","time","direction","_a","containerWidth","waveformMessage","useMemo","jsxs","csx","jsx","TimestampBlock","amplitude","index","isBarOutsideActiveRegion","isPlayed","isHovered","WaveformBar","seconds","formatTimestamp","minutes","remainingSeconds","initialData","finalArrayLength","initialArrayLength","step","resampledData","newIndex","leftIndex","rightIndex","fraction","scaleData","data","min","max","item","normalized","length","_","i","phase"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WaveformBar.cjs.js","sources":["../../../src/components/Waveform/WaveformBar.tsx"],"sourcesContent":["import { csx } from \"../../utils\";\n\ninterface WaveformBarProps {\n amplitude: number;\n isDisabled: boolean;\n isPlayed: boolean;\n isHovered: boolean;\n isVisible: boolean;\n hasAnimated: boolean;\n resolution: number;\n spacing: number;\n index: number;\n}\n\nexport function WaveformBar({\n amplitude,\n isDisabled,\n isPlayed,\n isHovered,\n isVisible,\n hasAnimated,\n resolution,\n spacing,\n index,\n}: WaveformBarProps) {\n const barHeight = isVisible ? `${Math.max(amplitude * 100, 4)}%` : \"0%\";\n\n return (\n <div\n className={csx(\"proton-Waveform__bar-wrapper\")}\n style={{\n width: `${resolution}px`,\n marginRight: `${spacing}px`,\n }}\n >\n <div\n className={csx(\n \"proton-Waveform__bar\",\n \"proton-Waveform__bar--upper\",\n isDisabled && \"proton-Waveform__bar--disabled\",\n isPlayed && \"proton-Waveform__bar--played\",\n isVisible && \"proton-Waveform__bar--visible\",\n hasAnimated && \"proton-Waveform__bar--animated\"\n )}\n style={\n {\n \"--target-height\": `calc(${barHeight} / 2)`,\n \"--index\": index,\n } as React.CSSProperties\n }\n />\n <div\n className={csx(\n \"proton-Waveform__bar\",\n \"proton-Waveform__bar--lower\",\n isDisabled && \"proton-Waveform__bar--disabled\",\n isPlayed && \"proton-Waveform__bar--played\",\n isVisible && \"proton-Waveform__bar--visible\",\n hasAnimated && \"proton-Waveform__bar--animated\"\n )}\n style={\n {\n \"--target-height\": `calc(${barHeight} / 2)`,\n \"--index\": index,\n } as React.CSSProperties\n }\n />\n {isHovered && !isDisabled && !isPlayed && (\n <div\n className=\"proton-Waveform__bar--hover\"\n style={\n {\n \"--hover-height\": barHeight,\n } as React.CSSProperties\n }\n />\n )}\n </div>\n );\n}\n"],"names":["WaveformBar","amplitude","isDisabled","isPlayed","isHovered","isVisible","hasAnimated","resolution","spacing","index","barHeight","jsxs","csx","jsx"],"mappings":"sLAcO,SAASA,EAAY,CAC1B,UAAAC,EACA,WAAAC,EACA,SAAAC,EACA,UAAAC,EACA,UAAAC,EACA,YAAAC,EACA,WAAAC,EACA,QAAAC,EACA,MAAAC,CACF,EAAqB,
|
|
1
|
+
{"version":3,"file":"WaveformBar.cjs.js","sources":["../../../src/components/Waveform/WaveformBar.tsx"],"sourcesContent":["import { csx } from \"../../utils\";\n\ninterface WaveformBarProps {\n amplitude: number;\n isDisabled: boolean;\n isPlayed: boolean;\n isHovered: boolean;\n isVisible: boolean;\n hasAnimated: boolean;\n resolution: number;\n spacing: number;\n index: number;\n}\n\nexport function WaveformBar({\n amplitude,\n isDisabled,\n isPlayed,\n isHovered,\n isVisible,\n hasAnimated,\n resolution,\n spacing,\n index,\n}: WaveformBarProps) {\n const barHeight = isVisible ? `${Math.max(amplitude * 100, 4)}%` : \"0%\";\n\n return (\n <div\n className={csx(\"proton-Waveform__bar-wrapper\")}\n style={{\n width: `${resolution}px`,\n marginRight: `${spacing}px`,\n }}\n >\n <div\n className={csx(\n \"proton-Waveform__bar\",\n \"proton-Waveform__bar--upper\",\n isDisabled && \"proton-Waveform__bar--disabled\",\n isPlayed && \"proton-Waveform__bar--played\",\n isVisible && \"proton-Waveform__bar--visible\",\n hasAnimated && \"proton-Waveform__bar--animated\"\n )}\n style={\n {\n \"--target-height\": `calc(${barHeight} / 2)`,\n \"--index\": index,\n } as React.CSSProperties\n }\n />\n <div\n className={csx(\n \"proton-Waveform__bar\",\n \"proton-Waveform__bar--lower\",\n isDisabled && \"proton-Waveform__bar--disabled\",\n isPlayed && \"proton-Waveform__bar--played\",\n isVisible && \"proton-Waveform__bar--visible\",\n hasAnimated && \"proton-Waveform__bar--animated\"\n )}\n style={\n {\n \"--target-height\": `calc(${barHeight} / 2)`,\n \"--index\": index,\n } as React.CSSProperties\n }\n />\n {isHovered && !isDisabled && !isPlayed && (\n <div\n className=\"proton-Waveform__bar--hover\"\n style={\n {\n \"--hover-height\": barHeight,\n } as React.CSSProperties\n }\n />\n )}\n </div>\n );\n}\n"],"names":["WaveformBar","amplitude","isDisabled","isPlayed","isHovered","isVisible","hasAnimated","resolution","spacing","index","barHeight","jsxs","csx","jsx"],"mappings":"sLAcO,SAASA,EAAY,CAC1B,UAAAC,EACA,WAAAC,EACA,SAAAC,EACA,UAAAC,EACA,UAAAC,EACA,YAAAC,EACA,WAAAC,EACA,QAAAC,EACA,MAAAC,CACF,EAAqB,CACnB,MAAMC,EAAYL,EAAY,GAAG,KAAK,IAAIJ,EAAY,IAAK,CAAC,CAAC,IAAM,KAEnE,OACEU,EAAAA,kBAAAA,KAAC,MAAA,CACC,UAAWC,EAAAA,IAAI,8BAA8B,EAC7C,MAAO,CACL,MAAO,GAAGL,CAAU,KACpB,YAAa,GAAGC,CAAO,IAAA,EAGzB,SAAA,CAAAK,EAAAA,kBAAAA,IAAC,MAAA,CACC,UAAWD,EAAAA,IACT,uBACA,8BACAV,GAAc,iCACdC,GAAY,+BACZE,GAAa,gCACbC,GAAe,gCAAA,EAEjB,MACE,CACE,kBAAmB,QAAQI,CAAS,QACpC,UAAWD,CAAA,CACb,CAAA,EAGJI,EAAAA,kBAAAA,IAAC,MAAA,CACC,UAAWD,EAAAA,IACT,uBACA,8BACAV,GAAc,iCACdC,GAAY,+BACZE,GAAa,gCACbC,GAAe,gCAAA,EAEjB,MACE,CACE,kBAAmB,QAAQI,CAAS,QACpC,UAAWD,CAAA,CACb,CAAA,EAGHL,GAAa,CAACF,GAAc,CAACC,GAC5BU,EAAAA,kBAAAA,IAAC,MAAA,CACC,UAAU,8BACV,MACE,CACE,iBAAkBH,CAAA,CACpB,CAAA,CAEJ,CAAA,CAAA,CAIR"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WaveformBar.es.js","sources":["../../../src/components/Waveform/WaveformBar.tsx"],"sourcesContent":["import { csx } from \"../../utils\";\n\ninterface WaveformBarProps {\n amplitude: number;\n isDisabled: boolean;\n isPlayed: boolean;\n isHovered: boolean;\n isVisible: boolean;\n hasAnimated: boolean;\n resolution: number;\n spacing: number;\n index: number;\n}\n\nexport function WaveformBar({\n amplitude,\n isDisabled,\n isPlayed,\n isHovered,\n isVisible,\n hasAnimated,\n resolution,\n spacing,\n index,\n}: WaveformBarProps) {\n const barHeight = isVisible ? `${Math.max(amplitude * 100, 4)}%` : \"0%\";\n\n return (\n <div\n className={csx(\"proton-Waveform__bar-wrapper\")}\n style={{\n width: `${resolution}px`,\n marginRight: `${spacing}px`,\n }}\n >\n <div\n className={csx(\n \"proton-Waveform__bar\",\n \"proton-Waveform__bar--upper\",\n isDisabled && \"proton-Waveform__bar--disabled\",\n isPlayed && \"proton-Waveform__bar--played\",\n isVisible && \"proton-Waveform__bar--visible\",\n hasAnimated && \"proton-Waveform__bar--animated\"\n )}\n style={\n {\n \"--target-height\": `calc(${barHeight} / 2)`,\n \"--index\": index,\n } as React.CSSProperties\n }\n />\n <div\n className={csx(\n \"proton-Waveform__bar\",\n \"proton-Waveform__bar--lower\",\n isDisabled && \"proton-Waveform__bar--disabled\",\n isPlayed && \"proton-Waveform__bar--played\",\n isVisible && \"proton-Waveform__bar--visible\",\n hasAnimated && \"proton-Waveform__bar--animated\"\n )}\n style={\n {\n \"--target-height\": `calc(${barHeight} / 2)`,\n \"--index\": index,\n } as React.CSSProperties\n }\n />\n {isHovered && !isDisabled && !isPlayed && (\n <div\n className=\"proton-Waveform__bar--hover\"\n style={\n {\n \"--hover-height\": barHeight,\n } as React.CSSProperties\n }\n />\n )}\n </div>\n );\n}\n"],"names":["WaveformBar","amplitude","isDisabled","isPlayed","isHovered","isVisible","hasAnimated","resolution","spacing","index","barHeight","jsxs","csx","jsx"],"mappings":";;AAcO,SAASA,EAAY;AAAA,EAC1B,WAAAC;AAAA,EACA,YAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,WAAAC;AAAA,EACA,aAAAC;AAAA,EACA,YAAAC;AAAA,EACA,SAAAC;AAAA,EACA,OAAAC;AACF,GAAqB;
|
|
1
|
+
{"version":3,"file":"WaveformBar.es.js","sources":["../../../src/components/Waveform/WaveformBar.tsx"],"sourcesContent":["import { csx } from \"../../utils\";\n\ninterface WaveformBarProps {\n amplitude: number;\n isDisabled: boolean;\n isPlayed: boolean;\n isHovered: boolean;\n isVisible: boolean;\n hasAnimated: boolean;\n resolution: number;\n spacing: number;\n index: number;\n}\n\nexport function WaveformBar({\n amplitude,\n isDisabled,\n isPlayed,\n isHovered,\n isVisible,\n hasAnimated,\n resolution,\n spacing,\n index,\n}: WaveformBarProps) {\n const barHeight = isVisible ? `${Math.max(amplitude * 100, 4)}%` : \"0%\";\n\n return (\n <div\n className={csx(\"proton-Waveform__bar-wrapper\")}\n style={{\n width: `${resolution}px`,\n marginRight: `${spacing}px`,\n }}\n >\n <div\n className={csx(\n \"proton-Waveform__bar\",\n \"proton-Waveform__bar--upper\",\n isDisabled && \"proton-Waveform__bar--disabled\",\n isPlayed && \"proton-Waveform__bar--played\",\n isVisible && \"proton-Waveform__bar--visible\",\n hasAnimated && \"proton-Waveform__bar--animated\"\n )}\n style={\n {\n \"--target-height\": `calc(${barHeight} / 2)`,\n \"--index\": index,\n } as React.CSSProperties\n }\n />\n <div\n className={csx(\n \"proton-Waveform__bar\",\n \"proton-Waveform__bar--lower\",\n isDisabled && \"proton-Waveform__bar--disabled\",\n isPlayed && \"proton-Waveform__bar--played\",\n isVisible && \"proton-Waveform__bar--visible\",\n hasAnimated && \"proton-Waveform__bar--animated\"\n )}\n style={\n {\n \"--target-height\": `calc(${barHeight} / 2)`,\n \"--index\": index,\n } as React.CSSProperties\n }\n />\n {isHovered && !isDisabled && !isPlayed && (\n <div\n className=\"proton-Waveform__bar--hover\"\n style={\n {\n \"--hover-height\": barHeight,\n } as React.CSSProperties\n }\n />\n )}\n </div>\n );\n}\n"],"names":["WaveformBar","amplitude","isDisabled","isPlayed","isHovered","isVisible","hasAnimated","resolution","spacing","index","barHeight","jsxs","csx","jsx"],"mappings":";;AAcO,SAASA,EAAY;AAAA,EAC1B,WAAAC;AAAA,EACA,YAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,WAAAC;AAAA,EACA,aAAAC;AAAA,EACA,YAAAC;AAAA,EACA,SAAAC;AAAA,EACA,OAAAC;AACF,GAAqB;AACnB,QAAMC,IAAYL,IAAY,GAAG,KAAK,IAAIJ,IAAY,KAAK,CAAC,CAAC,MAAM;AAEnE,SACEU,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAI,8BAA8B;AAAA,MAC7C,OAAO;AAAA,QACL,OAAO,GAAGL,CAAU;AAAA,QACpB,aAAa,GAAGC,CAAO;AAAA,MAAA;AAAA,MAGzB,UAAA;AAAA,QAAAK,gBAAAA,EAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAWD;AAAA,cACT;AAAA,cACA;AAAA,cACAV,KAAc;AAAA,cACdC,KAAY;AAAA,cACZE,KAAa;AAAA,cACbC,KAAe;AAAA,YAAA;AAAA,YAEjB,OACE;AAAA,cACE,mBAAmB,QAAQI,CAAS;AAAA,cACpC,WAAWD;AAAA,YAAA;AAAA,UACb;AAAA,QAAA;AAAA,QAGJI,gBAAAA,EAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAWD;AAAA,cACT;AAAA,cACA;AAAA,cACAV,KAAc;AAAA,cACdC,KAAY;AAAA,cACZE,KAAa;AAAA,cACbC,KAAe;AAAA,YAAA;AAAA,YAEjB,OACE;AAAA,cACE,mBAAmB,QAAQI,CAAS;AAAA,cACpC,WAAWD;AAAA,YAAA;AAAA,UACb;AAAA,QAAA;AAAA,QAGHL,KAAa,CAACF,KAAc,CAACC,KAC5BU,gBAAAA,EAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,OACE;AAAA,cACE,kBAAkBH;AAAA,YAAA;AAAA,UACpB;AAAA,QAAA;AAAA,MAEJ;AAAA,IAAA;AAAA,EAAA;AAIR;"}
|
package/dist/constants.cjs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./constants/breakpoint.cjs.js")
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./constants/breakpoint.cjs.js");exports.BREAKPOINTS=e.BREAKPOINTS;
|
|
2
2
|
//# sourceMappingURL=constants.cjs.js.map
|
package/dist/constants.d.ts
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { Placement } from 'react-aria';
|
|
2
|
-
|
|
3
1
|
export declare type Breakpoint = (typeof BREAKPOINTS)[keyof typeof BREAKPOINTS];
|
|
4
2
|
|
|
5
3
|
export declare const BREAKPOINTS: {
|
|
@@ -9,6 +7,10 @@ export declare const BREAKPOINTS: {
|
|
|
9
7
|
X_LARGE: number;
|
|
10
8
|
};
|
|
11
9
|
|
|
12
|
-
|
|
10
|
+
/** Radix `Popover.Content` `align`*/
|
|
11
|
+
export declare type RadixAlign = "start" | "center" | "end";
|
|
12
|
+
|
|
13
|
+
/** Radix `Popover.Content` `side` */
|
|
14
|
+
export declare type RadixSide = "top" | "right" | "bottom" | "left";
|
|
13
15
|
|
|
14
16
|
export { }
|
package/dist/constants.es.js
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import { BREAKPOINTS as
|
|
2
|
-
import { placements as p } from "./constants/placement.es.js";
|
|
1
|
+
import { BREAKPOINTS as e } from "./constants/breakpoint.es.js";
|
|
3
2
|
export {
|
|
4
|
-
|
|
5
|
-
p as placements
|
|
3
|
+
e as BREAKPOINTS
|
|
6
4
|
};
|
|
7
5
|
//# sourceMappingURL=constants.es.js.map
|
package/dist/constants.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"constants.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
package/dist/dark.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export declare const DARK_BORDER = "#
|
|
1
|
+
export declare const DARK_BORDER = "#f7f9fb";
|
|
2
2
|
|
|
3
|
-
export declare const DARK_ELEVATION = "rgba(174, 175, 177, 0.
|
|
3
|
+
export declare const DARK_ELEVATION = "rgba(174, 175, 177, 0.21)";
|
|
4
4
|
|
|
5
5
|
export declare const DARK_GRAYSCALE: ProtonColorScale;
|
|
6
6
|
|
|
@@ -48,13 +48,13 @@ declare type ProtonPalette = {
|
|
|
48
48
|
declare interface ProtonStyleSheet {
|
|
49
49
|
"--proton-control__background-color": string;
|
|
50
50
|
"--proton-control__background-color-light": string;
|
|
51
|
+
"--proton-control__elevation-color": string;
|
|
51
52
|
"--proton-control__text-color": string;
|
|
52
53
|
"--proton-control__title-color": string;
|
|
53
54
|
"--proton-control__border-color": string;
|
|
54
55
|
"--proton-control__shadow-color": string;
|
|
55
56
|
"--proton-control__hover-color": string;
|
|
56
57
|
"--proton-control__border-radius": string;
|
|
57
|
-
"--proton-control__interactive-color": string;
|
|
58
58
|
"--proton-color__primary": string;
|
|
59
59
|
"--proton-color__primary-light": string;
|
|
60
60
|
"--proton-color__primary-super-light": string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colors.cjs.js","sources":["../../src/design/colors.ts"],"sourcesContent":["import { ProtonColorScale, ProtonPalette } from \"./types\";\n\n/* Base Colors */\n\nexport const BACKGROUNDS = {\n BLACK: \"#121212\",\n WHITE: \"#FFFFFF\",\n};\n\nexport const BRAND: ProtonPalette[\"BRAND\"] = {\n PRIMARY: \"#E26014\",\n PRIMARY_LIGHT: \"#FBE5D7\",\n PRIMARY_SUPER_LIGHT: \"#FFF7F0\",\n SECONDARY: \"#2a9edb\",\n SECONDARY_LIGHT: \"#b5d9ff\",\n SECONDARY_SUPER_LIGHT: \"#d9e7fa\",\n};\n\nexport const BRAND_PRIMARY_SCALE: ProtonColorScale = {\n SUPER_DARK: \"#2d1304\",\n DARK: \"#5a2608\",\n MEDIUM: \"#883a0c\",\n MEDIUM_LIGHT: \"#b54d10\",\n LIGHT: \"#e88043\",\n LIGHTEST: \"#eea072\",\n SUPER_LIGHT: \"#f9dfd0\",\n WHITE: \"#fcfbfa\",\n};\n\n/* Semantic Colors */\n\nexport const DANGER
|
|
1
|
+
{"version":3,"file":"colors.cjs.js","sources":["../../src/design/colors.ts"],"sourcesContent":["import { ProtonColorScale, ProtonPalette } from \"./types\";\n\n/* Base Colors */\n\nexport const BACKGROUNDS = {\n BLACK: \"#121212\",\n WHITE: \"#FFFFFF\",\n};\n\nexport const BRAND: ProtonPalette[\"BRAND\"] = {\n PRIMARY: \"#E26014\",\n PRIMARY_LIGHT: \"#FBE5D7\",\n PRIMARY_SUPER_LIGHT: \"#FFF7F0\",\n SECONDARY: \"#2a9edb\",\n SECONDARY_LIGHT: \"#b5d9ff\",\n SECONDARY_SUPER_LIGHT: \"#d9e7fa\",\n};\n\nexport const BRAND_PRIMARY_SCALE: ProtonColorScale = {\n SUPER_DARK: \"#2d1304\",\n DARK: \"#5a2608\",\n MEDIUM: \"#883a0c\",\n MEDIUM_LIGHT: \"#b54d10\",\n LIGHT: \"#e88043\",\n LIGHTEST: \"#eea072\",\n SUPER_LIGHT: \"#f9dfd0\",\n WHITE: \"#fcfbfa\",\n};\n\n/* Semantic Colors */\n\nexport const DANGER = {\n SUPER_DARK: \"#991b1b\",\n DARK: \"#a80724\",\n MEDIUM: \"#e23f5c\",\n LIGHT: \"#f16880\",\n SUPER_LIGHT: \"#ffe1e1\",\n} satisfies Partial<ProtonColorScale>;\n\nexport const WARNING = {\n DARK: \"#8b5600\",\n MEDIUM: \"#b37208\",\n LIGHT: \"#ffac23\",\n SUPER_LIGHT: \"#fff0c9\",\n} satisfies Partial<ProtonColorScale>;\n\nexport const SUCCESS = {\n DARK: \"#247800\",\n MEDIUM: \"#339a07\",\n LIGHT: \"#66cf39\",\n SUPER_LIGHT: \"#deffd1\",\n} satisfies Partial<ProtonColorScale>;\n"],"names":["BACKGROUNDS","BRAND","BRAND_PRIMARY_SCALE","DANGER","WARNING","SUCCESS"],"mappings":"gFAIO,MAAMA,EAAc,CACzB,MAAO,UACP,MAAO,SACT,EAEaC,EAAgC,CAC3C,QAAS,UACT,cAAe,UACf,oBAAqB,UACrB,UAAW,UACX,gBAAiB,UACjB,sBAAuB,SACzB,EAEaC,EAAwC,CACnD,WAAY,UACZ,KAAM,UACN,OAAQ,UACR,aAAc,UACd,MAAO,UACP,SAAU,UACV,YAAa,UACb,MAAO,SACT,EAIaC,EAAS,CACpB,WAAY,UACZ,KAAM,UACN,OAAQ,UACR,MAAO,UACP,YAAa,SACf,EAEaC,EAAU,CACrB,KAAM,UACN,OAAQ,UACR,MAAO,UACP,YAAa,SACf,EAEaC,EAAU,CACrB,KAAM,UACN,OAAQ,UACR,MAAO,UACP,YAAa,SACf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colors.es.js","sources":["../../src/design/colors.ts"],"sourcesContent":["import { ProtonColorScale, ProtonPalette } from \"./types\";\n\n/* Base Colors */\n\nexport const BACKGROUNDS = {\n BLACK: \"#121212\",\n WHITE: \"#FFFFFF\",\n};\n\nexport const BRAND: ProtonPalette[\"BRAND\"] = {\n PRIMARY: \"#E26014\",\n PRIMARY_LIGHT: \"#FBE5D7\",\n PRIMARY_SUPER_LIGHT: \"#FFF7F0\",\n SECONDARY: \"#2a9edb\",\n SECONDARY_LIGHT: \"#b5d9ff\",\n SECONDARY_SUPER_LIGHT: \"#d9e7fa\",\n};\n\nexport const BRAND_PRIMARY_SCALE: ProtonColorScale = {\n SUPER_DARK: \"#2d1304\",\n DARK: \"#5a2608\",\n MEDIUM: \"#883a0c\",\n MEDIUM_LIGHT: \"#b54d10\",\n LIGHT: \"#e88043\",\n LIGHTEST: \"#eea072\",\n SUPER_LIGHT: \"#f9dfd0\",\n WHITE: \"#fcfbfa\",\n};\n\n/* Semantic Colors */\n\nexport const DANGER
|
|
1
|
+
{"version":3,"file":"colors.es.js","sources":["../../src/design/colors.ts"],"sourcesContent":["import { ProtonColorScale, ProtonPalette } from \"./types\";\n\n/* Base Colors */\n\nexport const BACKGROUNDS = {\n BLACK: \"#121212\",\n WHITE: \"#FFFFFF\",\n};\n\nexport const BRAND: ProtonPalette[\"BRAND\"] = {\n PRIMARY: \"#E26014\",\n PRIMARY_LIGHT: \"#FBE5D7\",\n PRIMARY_SUPER_LIGHT: \"#FFF7F0\",\n SECONDARY: \"#2a9edb\",\n SECONDARY_LIGHT: \"#b5d9ff\",\n SECONDARY_SUPER_LIGHT: \"#d9e7fa\",\n};\n\nexport const BRAND_PRIMARY_SCALE: ProtonColorScale = {\n SUPER_DARK: \"#2d1304\",\n DARK: \"#5a2608\",\n MEDIUM: \"#883a0c\",\n MEDIUM_LIGHT: \"#b54d10\",\n LIGHT: \"#e88043\",\n LIGHTEST: \"#eea072\",\n SUPER_LIGHT: \"#f9dfd0\",\n WHITE: \"#fcfbfa\",\n};\n\n/* Semantic Colors */\n\nexport const DANGER = {\n SUPER_DARK: \"#991b1b\",\n DARK: \"#a80724\",\n MEDIUM: \"#e23f5c\",\n LIGHT: \"#f16880\",\n SUPER_LIGHT: \"#ffe1e1\",\n} satisfies Partial<ProtonColorScale>;\n\nexport const WARNING = {\n DARK: \"#8b5600\",\n MEDIUM: \"#b37208\",\n LIGHT: \"#ffac23\",\n SUPER_LIGHT: \"#fff0c9\",\n} satisfies Partial<ProtonColorScale>;\n\nexport const SUCCESS = {\n DARK: \"#247800\",\n MEDIUM: \"#339a07\",\n LIGHT: \"#66cf39\",\n SUPER_LIGHT: \"#deffd1\",\n} satisfies Partial<ProtonColorScale>;\n"],"names":["BACKGROUNDS","BRAND","BRAND_PRIMARY_SCALE","DANGER","WARNING","SUCCESS"],"mappings":"AAIO,MAAMA,IAAc;AAAA,EACzB,OAAO;AAAA,EACP,OAAO;AACT,GAEaC,IAAgC;AAAA,EAC3C,SAAS;AAAA,EACT,eAAe;AAAA,EACf,qBAAqB;AAAA,EACrB,WAAW;AAAA,EACX,iBAAiB;AAAA,EACjB,uBAAuB;AACzB,GAEaC,IAAwC;AAAA,EACnD,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,OAAO;AAAA,EACP,UAAU;AAAA,EACV,aAAa;AAAA,EACb,OAAO;AACT,GAIaC,IAAS;AAAA,EACpB,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,aAAa;AACf,GAEaC,IAAU;AAAA,EACrB,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,aAAa;AACf,GAEaC,IAAU;AAAA,EACrB,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,aAAa;AACf;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const R=require("../colors.cjs.js"),A="#
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const R=require("../colors.cjs.js"),A="#f7f9fb",L=A,T="rgba(174, 175, 177, 0.21)",E={SUPER_DARK:"#111212",DARK:"#1e1f21",MEDIUM:"#232629",MEDIUM_LIGHT:"#2b2d30",LIGHT:"#43464a",LIGHTEST:"#63676b",SUPER_LIGHT:"#8a8e91",WHITE:A},D={SUPER_DARK:"#142736",DARK:"#22445d",MEDIUM:"#306082",MEDIUM_LIGHT:"#3e7ca8",LIGHT:"#5795c1",LIGHTEST:"#a2c4dd",SUPER_LIGHT:"#dae7f1",WHITE:A},I={BASE_COLOR:R.BACKGROUNDS.BLACK,BRAND:R.BRAND,GRAYSCALE:E,PRIMARY:R.BRAND_PRIMARY_SCALE,SECONDARY:D};exports.BORDER=L;exports.DARK_GRAYSCALE=E;exports.DARK_PALETTE=I;exports.DARK_SECONDARY=D;exports.ELEVATION=T;
|
|
2
2
|
//# sourceMappingURL=colors.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colors.cjs.js","sources":["../../../src/design/darkTheme/colors.ts"],"sourcesContent":["import { BACKGROUNDS, BRAND, BRAND_PRIMARY_SCALE } from \"../colors\";\nimport type { ProtonColorScale, ProtonPalette } from \"../types\";\n\nconst
|
|
1
|
+
{"version":3,"file":"colors.cjs.js","sources":["../../../src/design/darkTheme/colors.ts"],"sourcesContent":["import { BACKGROUNDS, BRAND, BRAND_PRIMARY_SCALE } from \"../colors\";\nimport type { ProtonColorScale, ProtonPalette } from \"../types\";\n\nconst WHITE = \"#f7f9fb\";\nexport const BORDER = WHITE;\nexport const ELEVATION = \"rgba(174, 175, 177, 0.21)\";\nexport const DARK_GRAYSCALE: ProtonColorScale = {\n SUPER_DARK: \"#111212\",\n DARK: \"#1e1f21\",\n MEDIUM: \"#232629\",\n MEDIUM_LIGHT: \"#2b2d30\",\n LIGHT: \"#43464a\",\n LIGHTEST: \"#63676b\",\n SUPER_LIGHT: \"#8a8e91\",\n WHITE: WHITE,\n};\n\nexport const DARK_SECONDARY = {\n SUPER_DARK: \"#142736\",\n DARK: \"#22445d\",\n MEDIUM: \"#306082\",\n MEDIUM_LIGHT: \"#3e7ca8\",\n LIGHT: \"#5795c1\",\n LIGHTEST: \"#a2c4dd\",\n SUPER_LIGHT: \"#dae7f1\",\n WHITE: WHITE,\n};\n\nexport const DARK_PALETTE: ProtonPalette = {\n BASE_COLOR: BACKGROUNDS.BLACK,\n BRAND,\n GRAYSCALE: DARK_GRAYSCALE,\n PRIMARY: BRAND_PRIMARY_SCALE,\n SECONDARY: DARK_SECONDARY,\n} as const;\n"],"names":["WHITE","BORDER","ELEVATION","DARK_GRAYSCALE","DARK_SECONDARY","DARK_PALETTE","BACKGROUNDS","BRAND","BRAND_PRIMARY_SCALE"],"mappings":"oHAGMA,EAAQ,UACDC,EAASD,EACTE,EAAY,4BACZC,EAAmC,CAC9C,WAAY,UACZ,KAAM,UACN,OAAQ,UACR,aAAc,UACd,MAAO,UACP,SAAU,UACV,YAAa,UACb,MAAAH,CACF,EAEaI,EAAiB,CAC5B,WAAY,UACZ,KAAM,UACN,OAAQ,UACR,aAAc,UACd,MAAO,UACP,SAAU,UACV,YAAa,UACb,MAAAJ,CACF,EAEaK,EAA8B,CACzC,WAAYC,EAAAA,YAAY,MAAA,MACxBC,EAAAA,MACA,UAAWJ,EACX,QAASK,EAAAA,oBACT,UAAWJ,CACb"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
const R = "#
|
|
1
|
+
import { BRAND_PRIMARY_SCALE as A, BRAND as E, BACKGROUNDS as D } from "../colors.es.js";
|
|
2
|
+
const R = "#f7f9fb", S = R, _ = "rgba(174, 175, 177, 0.21)", I = {
|
|
3
3
|
SUPER_DARK: "#111212",
|
|
4
4
|
DARK: "#1e1f21",
|
|
5
5
|
MEDIUM: "#232629",
|
|
6
6
|
MEDIUM_LIGHT: "#2b2d30",
|
|
7
7
|
LIGHT: "#43464a",
|
|
8
8
|
LIGHTEST: "#63676b",
|
|
9
|
-
SUPER_LIGHT:
|
|
10
|
-
WHITE:
|
|
9
|
+
SUPER_LIGHT: "#8a8e91",
|
|
10
|
+
WHITE: R
|
|
11
11
|
}, L = {
|
|
12
12
|
SUPER_DARK: "#142736",
|
|
13
13
|
DARK: "#22445d",
|
|
@@ -16,12 +16,12 @@ const R = "#8a8e91", S = R, _ = "rgba(174, 175, 177, 0.2)", I = {
|
|
|
16
16
|
LIGHT: "#5795c1",
|
|
17
17
|
LIGHTEST: "#a2c4dd",
|
|
18
18
|
SUPER_LIGHT: "#dae7f1",
|
|
19
|
-
WHITE:
|
|
19
|
+
WHITE: R
|
|
20
20
|
}, G = {
|
|
21
|
-
BASE_COLOR:
|
|
21
|
+
BASE_COLOR: D.BLACK,
|
|
22
22
|
BRAND: E,
|
|
23
23
|
GRAYSCALE: I,
|
|
24
|
-
PRIMARY:
|
|
24
|
+
PRIMARY: A,
|
|
25
25
|
SECONDARY: L
|
|
26
26
|
};
|
|
27
27
|
export {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colors.es.js","sources":["../../../src/design/darkTheme/colors.ts"],"sourcesContent":["import { BACKGROUNDS, BRAND, BRAND_PRIMARY_SCALE } from \"../colors\";\nimport type { ProtonColorScale, ProtonPalette } from \"../types\";\n\nconst
|
|
1
|
+
{"version":3,"file":"colors.es.js","sources":["../../../src/design/darkTheme/colors.ts"],"sourcesContent":["import { BACKGROUNDS, BRAND, BRAND_PRIMARY_SCALE } from \"../colors\";\nimport type { ProtonColorScale, ProtonPalette } from \"../types\";\n\nconst WHITE = \"#f7f9fb\";\nexport const BORDER = WHITE;\nexport const ELEVATION = \"rgba(174, 175, 177, 0.21)\";\nexport const DARK_GRAYSCALE: ProtonColorScale = {\n SUPER_DARK: \"#111212\",\n DARK: \"#1e1f21\",\n MEDIUM: \"#232629\",\n MEDIUM_LIGHT: \"#2b2d30\",\n LIGHT: \"#43464a\",\n LIGHTEST: \"#63676b\",\n SUPER_LIGHT: \"#8a8e91\",\n WHITE: WHITE,\n};\n\nexport const DARK_SECONDARY = {\n SUPER_DARK: \"#142736\",\n DARK: \"#22445d\",\n MEDIUM: \"#306082\",\n MEDIUM_LIGHT: \"#3e7ca8\",\n LIGHT: \"#5795c1\",\n LIGHTEST: \"#a2c4dd\",\n SUPER_LIGHT: \"#dae7f1\",\n WHITE: WHITE,\n};\n\nexport const DARK_PALETTE: ProtonPalette = {\n BASE_COLOR: BACKGROUNDS.BLACK,\n BRAND,\n GRAYSCALE: DARK_GRAYSCALE,\n PRIMARY: BRAND_PRIMARY_SCALE,\n SECONDARY: DARK_SECONDARY,\n} as const;\n"],"names":["WHITE","BORDER","ELEVATION","DARK_GRAYSCALE","DARK_SECONDARY","DARK_PALETTE","BACKGROUNDS","BRAND","BRAND_PRIMARY_SCALE"],"mappings":";AAGA,MAAMA,IAAQ,WACDC,IAASD,GACTE,IAAY,6BACZC,IAAmC;AAAA,EAC9C,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,OAAO;AAAA,EACP,UAAU;AAAA,EACV,aAAa;AAAA,EACb,OAAAH;AACF,GAEaI,IAAiB;AAAA,EAC5B,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,OAAO;AAAA,EACP,UAAU;AAAA,EACV,aAAa;AAAA,EACb,OAAAJ;AACF,GAEaK,IAA8B;AAAA,EACzC,YAAYC,EAAY;AAAA,EACxB,OAAAC;AAAA,EACA,WAAWJ;AAAA,EACX,SAASK;AAAA,EACT,WAAWJ;AACb;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const _=require("../../utils/color2k.cjs.js"),r=require("./colors.cjs.js"),o=require("../colors.cjs.js"),t={"--proton-control__background-color":r.DARK_GRAYSCALE.DARK,"--proton-control__background-color-light":r.ELEVATION,"--proton-control__text-color":r.DARK_GRAYSCALE.WHITE,"--proton-control__title-color":"#FFFFFF","--proton-control__border-color":r.BORDER,"--proton-control__hover-color":r.DARK_GRAYSCALE.
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const _=require("../../utils/color2k.cjs.js"),r=require("./colors.cjs.js"),o=require("../colors.cjs.js"),t={"--proton-control__background-color":r.DARK_GRAYSCALE.DARK,"--proton-control__background-color-light":r.ELEVATION,"--proton-control__elevation-color":r.ELEVATION,"--proton-control__text-color":r.DARK_GRAYSCALE.WHITE,"--proton-control__title-color":"#FFFFFF","--proton-control__border-color":_.transparentize(r.BORDER,.6),"--proton-control__hover-color":_.transparentize(r.DARK_GRAYSCALE.SUPER_LIGHT,.65),"--proton-control__shadow-color":_.transparentize(r.DARK_GRAYSCALE.SUPER_LIGHT,.54),"--proton-control__border-radius":"4px","--proton-color__primary":o.BRAND.PRIMARY,"--proton-color__primary-light":o.BRAND.PRIMARY_LIGHT,"--proton-color__primary-super-light":o.BRAND.PRIMARY_SUPER_LIGHT,"--proton-color__secondary":o.BRAND.SECONDARY,"--proton-color__secondary-light":o.BRAND.SECONDARY_LIGHT,"--proton-color__secondary-super-light":o.BRAND.SECONDARY_SUPER_LIGHT,"--proton-color__danger-super-dark":o.DANGER.SUPER_DARK,"--proton-color__danger-dark":o.DANGER.DARK,"--proton-color__danger-medium":o.DANGER.MEDIUM,"--proton-color__danger-light":o.DANGER.LIGHT,"--proton-color__danger-super-light":o.DANGER.SUPER_LIGHT,"--proton-color__warning-dark":o.WARNING.DARK,"--proton-color__warning-medium":o.WARNING.MEDIUM,"--proton-color__warning-light":o.WARNING.LIGHT,"--proton-color__warning-super-light":o.WARNING.SUPER_LIGHT,"--proton-color__success-dark":o.SUCCESS.DARK,"--proton-color__success-medium":o.SUCCESS.MEDIUM,"--proton-color__success-light":o.SUCCESS.LIGHT,"--proton-color__success-super-light":o.SUCCESS.SUPER_LIGHT,"--proton-color__gray-super-dark":r.DARK_GRAYSCALE.SUPER_DARK,"--proton-color__gray-dark":r.DARK_GRAYSCALE.DARK,"--proton-color__gray-medium":r.DARK_GRAYSCALE.MEDIUM,"--proton-color__gray-medium-light":r.DARK_GRAYSCALE.MEDIUM_LIGHT,"--proton-color__gray-light":r.DARK_GRAYSCALE.LIGHT,"--proton-color__gray-lightest":r.DARK_GRAYSCALE.LIGHTEST,"--proton-color__gray-super-light":r.DARK_GRAYSCALE.SUPER_LIGHT,"--proton-color__white":r.DARK_GRAYSCALE.WHITE};exports.DARK_STYLESHEET=t;
|
|
2
2
|
//# sourceMappingURL=stylesheet.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stylesheet.cjs.js","sources":["../../../src/design/darkTheme/stylesheet.ts"],"sourcesContent":["import { transparentize } from \"../../utils/color2k\";\nimport { BORDER, DARK_GRAYSCALE, ELEVATION } from \"./colors\";\nimport { DANGER, WARNING, SUCCESS, BRAND } from \"../colors\";\nimport type { ProtonStyleSheet } from \"../types\";\n\nexport const DARK_STYLESHEET: ProtonStyleSheet = {\n // Control/component colors\n \"--proton-control__background-color\": DARK_GRAYSCALE.DARK,\n \"--proton-control__background-color-light\": ELEVATION,\n \"--proton-control__text-color\": DARK_GRAYSCALE.WHITE,\n \"--proton-control__title-color\": \"#FFFFFF\",\n \"--proton-control__border-color\": BORDER,\n \"--proton-control__hover-color\": DARK_GRAYSCALE.
|
|
1
|
+
{"version":3,"file":"stylesheet.cjs.js","sources":["../../../src/design/darkTheme/stylesheet.ts"],"sourcesContent":["import { transparentize } from \"../../utils/color2k\";\nimport { BORDER, DARK_GRAYSCALE, ELEVATION } from \"./colors\";\nimport { DANGER, WARNING, SUCCESS, BRAND } from \"../colors\";\nimport type { ProtonStyleSheet } from \"../types\";\n\nexport const DARK_STYLESHEET: ProtonStyleSheet = {\n // Control/component colors\n \"--proton-control__background-color\": DARK_GRAYSCALE.DARK,\n \"--proton-control__background-color-light\": ELEVATION,\n \"--proton-control__elevation-color\": ELEVATION,\n \"--proton-control__text-color\": DARK_GRAYSCALE.WHITE,\n \"--proton-control__title-color\": \"#FFFFFF\",\n \"--proton-control__border-color\": transparentize(BORDER, 0.6),\n \"--proton-control__hover-color\": transparentize(\n DARK_GRAYSCALE.SUPER_LIGHT,\n 0.65,\n ),\n \"--proton-control__shadow-color\": transparentize(\n DARK_GRAYSCALE.SUPER_LIGHT,\n 0.54,\n ),\n \"--proton-control__border-radius\": \"4px\",\n\n // Brand colors\n \"--proton-color__primary\": BRAND.PRIMARY,\n \"--proton-color__primary-light\": BRAND.PRIMARY_LIGHT,\n \"--proton-color__primary-super-light\": BRAND.PRIMARY_SUPER_LIGHT,\n \"--proton-color__secondary\": BRAND.SECONDARY,\n \"--proton-color__secondary-light\": BRAND.SECONDARY_LIGHT,\n \"--proton-color__secondary-super-light\": BRAND.SECONDARY_SUPER_LIGHT,\n\n // Semantic colors\n \"--proton-color__danger-super-dark\": DANGER.SUPER_DARK,\n \"--proton-color__danger-dark\": DANGER.DARK,\n \"--proton-color__danger-medium\": DANGER.MEDIUM,\n \"--proton-color__danger-light\": DANGER.LIGHT,\n \"--proton-color__danger-super-light\": DANGER.SUPER_LIGHT,\n \"--proton-color__warning-dark\": WARNING.DARK,\n \"--proton-color__warning-medium\": WARNING.MEDIUM,\n \"--proton-color__warning-light\": WARNING.LIGHT,\n \"--proton-color__warning-super-light\": WARNING.SUPER_LIGHT,\n \"--proton-color__success-dark\": SUCCESS.DARK,\n \"--proton-color__success-medium\": SUCCESS.MEDIUM,\n \"--proton-color__success-light\": SUCCESS.LIGHT,\n \"--proton-color__success-super-light\": SUCCESS.SUPER_LIGHT,\n\n // Grayscale colors\n \"--proton-color__gray-super-dark\": DARK_GRAYSCALE.SUPER_DARK,\n \"--proton-color__gray-dark\": DARK_GRAYSCALE.DARK,\n \"--proton-color__gray-medium\": DARK_GRAYSCALE.MEDIUM,\n \"--proton-color__gray-medium-light\": DARK_GRAYSCALE.MEDIUM_LIGHT,\n \"--proton-color__gray-light\": DARK_GRAYSCALE.LIGHT,\n \"--proton-color__gray-lightest\": DARK_GRAYSCALE.LIGHTEST,\n \"--proton-color__gray-super-light\": DARK_GRAYSCALE.SUPER_LIGHT,\n \"--proton-color__white\": DARK_GRAYSCALE.WHITE,\n};\n"],"names":["DARK_STYLESHEET","DARK_GRAYSCALE","ELEVATION","transparentize","BORDER","BRAND","DANGER","WARNING","SUCCESS"],"mappings":"yLAKaA,EAAoC,CAE/C,qCAAsCC,EAAAA,eAAe,KACrD,2CAA4CC,EAAAA,UAC5C,oCAAqCA,EAAAA,UACrC,+BAAgCD,EAAAA,eAAe,MAC/C,gCAAiC,UACjC,iCAAkCE,EAAAA,eAAeC,EAAAA,OAAQ,EAAG,EAC5D,gCAAiCD,EAAAA,eAC/BF,EAAAA,eAAe,YACf,GAAA,EAEF,iCAAkCE,EAAAA,eAChCF,EAAAA,eAAe,YACf,GAAA,EAEF,kCAAmC,MAGnC,0BAA2BI,EAAAA,MAAM,QACjC,gCAAiCA,EAAAA,MAAM,cACvC,sCAAuCA,EAAAA,MAAM,oBAC7C,4BAA6BA,EAAAA,MAAM,UACnC,kCAAmCA,EAAAA,MAAM,gBACzC,wCAAyCA,EAAAA,MAAM,sBAG/C,oCAAqCC,EAAAA,OAAO,WAC5C,8BAA+BA,EAAAA,OAAO,KACtC,gCAAiCA,EAAAA,OAAO,OACxC,+BAAgCA,EAAAA,OAAO,MACvC,qCAAsCA,EAAAA,OAAO,YAC7C,+BAAgCC,EAAAA,QAAQ,KACxC,iCAAkCA,EAAAA,QAAQ,OAC1C,gCAAiCA,EAAAA,QAAQ,MACzC,sCAAuCA,EAAAA,QAAQ,YAC/C,+BAAgCC,EAAAA,QAAQ,KACxC,iCAAkCA,EAAAA,QAAQ,OAC1C,gCAAiCA,EAAAA,QAAQ,MACzC,sCAAuCA,EAAAA,QAAQ,YAG/C,kCAAmCP,EAAAA,eAAe,WAClD,4BAA6BA,EAAAA,eAAe,KAC5C,8BAA+BA,EAAAA,eAAe,OAC9C,oCAAqCA,EAAAA,eAAe,aACpD,6BAA8BA,EAAAA,eAAe,MAC7C,gCAAiCA,EAAAA,eAAe,SAChD,mCAAoCA,EAAAA,eAAe,YACnD,wBAAyBA,EAAAA,eAAe,KAC1C"}
|
|
@@ -1,20 +1,23 @@
|
|
|
1
1
|
import { transparentize as l } from "../../utils/color2k.es.js";
|
|
2
2
|
import { DARK_GRAYSCALE as o, ELEVATION as c, BORDER as p } from "./colors.es.js";
|
|
3
|
-
import {
|
|
3
|
+
import { SUCCESS as t, WARNING as n, DANGER as _, BRAND as r } from "../colors.es.js";
|
|
4
4
|
const R = {
|
|
5
5
|
// Control/component colors
|
|
6
6
|
"--proton-control__background-color": o.DARK,
|
|
7
7
|
"--proton-control__background-color-light": c,
|
|
8
|
+
"--proton-control__elevation-color": c,
|
|
8
9
|
"--proton-control__text-color": o.WHITE,
|
|
9
10
|
"--proton-control__title-color": "#FFFFFF",
|
|
10
|
-
"--proton-control__border-color": p,
|
|
11
|
-
"--proton-control__hover-color":
|
|
11
|
+
"--proton-control__border-color": l(p, 0.6),
|
|
12
|
+
"--proton-control__hover-color": l(
|
|
13
|
+
o.SUPER_LIGHT,
|
|
14
|
+
0.65
|
|
15
|
+
),
|
|
12
16
|
"--proton-control__shadow-color": l(
|
|
13
|
-
o.
|
|
14
|
-
0.
|
|
17
|
+
o.SUPER_LIGHT,
|
|
18
|
+
0.54
|
|
15
19
|
),
|
|
16
20
|
"--proton-control__border-radius": "4px",
|
|
17
|
-
"--proton-control__interactive-color": r.PRIMARY_LIGHT,
|
|
18
21
|
// Brand colors
|
|
19
22
|
"--proton-color__primary": r.PRIMARY,
|
|
20
23
|
"--proton-color__primary-light": r.PRIMARY_LIGHT,
|
|
@@ -28,14 +31,14 @@ const R = {
|
|
|
28
31
|
"--proton-color__danger-medium": _.MEDIUM,
|
|
29
32
|
"--proton-color__danger-light": _.LIGHT,
|
|
30
33
|
"--proton-color__danger-super-light": _.SUPER_LIGHT,
|
|
31
|
-
"--proton-color__warning-dark":
|
|
32
|
-
"--proton-color__warning-medium":
|
|
33
|
-
"--proton-color__warning-light":
|
|
34
|
-
"--proton-color__warning-super-light":
|
|
35
|
-
"--proton-color__success-dark":
|
|
36
|
-
"--proton-color__success-medium":
|
|
37
|
-
"--proton-color__success-light":
|
|
38
|
-
"--proton-color__success-super-light":
|
|
34
|
+
"--proton-color__warning-dark": n.DARK,
|
|
35
|
+
"--proton-color__warning-medium": n.MEDIUM,
|
|
36
|
+
"--proton-color__warning-light": n.LIGHT,
|
|
37
|
+
"--proton-color__warning-super-light": n.SUPER_LIGHT,
|
|
38
|
+
"--proton-color__success-dark": t.DARK,
|
|
39
|
+
"--proton-color__success-medium": t.MEDIUM,
|
|
40
|
+
"--proton-color__success-light": t.LIGHT,
|
|
41
|
+
"--proton-color__success-super-light": t.SUPER_LIGHT,
|
|
39
42
|
// Grayscale colors
|
|
40
43
|
"--proton-color__gray-super-dark": o.SUPER_DARK,
|
|
41
44
|
"--proton-color__gray-dark": o.DARK,
|