@audius/harmony 0.0.29 → 0.0.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (801) hide show
  1. package/dist/assets/icons/Album.svg.js +21 -7
  2. package/dist/assets/icons/Album.svg.js.map +1 -1
  3. package/dist/assets/icons/AllTime.svg.js +21 -7
  4. package/dist/assets/icons/AllTime.svg.js.map +1 -1
  5. package/dist/assets/icons/Appearance.svg.js +21 -7
  6. package/dist/assets/icons/Appearance.svg.js.map +1 -1
  7. package/dist/assets/icons/ArrowLeft.svg.js +21 -7
  8. package/dist/assets/icons/ArrowLeft.svg.js.map +1 -1
  9. package/dist/assets/icons/ArrowRight.svg.js +21 -7
  10. package/dist/assets/icons/ArrowRight.svg.js.map +1 -1
  11. package/dist/assets/icons/ArtistBadge.svg.js +21 -7
  12. package/dist/assets/icons/ArtistBadge.svg.js.map +1 -1
  13. package/dist/assets/icons/AudiusLogo.svg.js +21 -7
  14. package/dist/assets/icons/AudiusLogo.svg.js.map +1 -1
  15. package/dist/assets/icons/AudiusLogoColor.svg.js +21 -7
  16. package/dist/assets/icons/AudiusLogoColor.svg.js.map +1 -1
  17. package/dist/assets/icons/AudiusLogoHorizontal.svg.js +24 -8
  18. package/dist/assets/icons/AudiusLogoHorizontal.svg.js.map +1 -1
  19. package/dist/assets/icons/AudiusLogoHorizontalColor.svg.js +24 -8
  20. package/dist/assets/icons/AudiusLogoHorizontalColor.svg.js.map +1 -1
  21. package/dist/assets/icons/AudiusLogoVertical.svg.js +21 -7
  22. package/dist/assets/icons/AudiusLogoVertical.svg.js.map +1 -1
  23. package/dist/assets/icons/Blog.svg.js +21 -7
  24. package/dist/assets/icons/Blog.svg.js.map +1 -1
  25. package/dist/assets/icons/BoxHeart.svg.js +21 -7
  26. package/dist/assets/icons/BoxHeart.svg.js.map +1 -1
  27. package/dist/assets/icons/CalendarDay.svg.js +21 -7
  28. package/dist/assets/icons/CalendarDay.svg.js.map +1 -1
  29. package/dist/assets/icons/CalendarMonth.svg.js +21 -7
  30. package/dist/assets/icons/CalendarMonth.svg.js.map +1 -1
  31. package/dist/assets/icons/CalendarWeek.svg.js +21 -7
  32. package/dist/assets/icons/CalendarWeek.svg.js.map +1 -1
  33. package/dist/assets/icons/Camera.svg.js +21 -7
  34. package/dist/assets/icons/Camera.svg.js.map +1 -1
  35. package/dist/assets/icons/Campfire.svg.js +21 -7
  36. package/dist/assets/icons/Campfire.svg.js.map +1 -1
  37. package/dist/assets/icons/CaretDown.svg.js +21 -7
  38. package/dist/assets/icons/CaretDown.svg.js.map +1 -1
  39. package/dist/assets/icons/CaretLeft.svg.js +21 -7
  40. package/dist/assets/icons/CaretLeft.svg.js.map +1 -1
  41. package/dist/assets/icons/CaretRight.svg.js +21 -7
  42. package/dist/assets/icons/CaretRight.svg.js.map +1 -1
  43. package/dist/assets/icons/CaretUp.svg.js +21 -7
  44. package/dist/assets/icons/CaretUp.svg.js.map +1 -1
  45. package/dist/assets/icons/Cart.svg.js +21 -7
  46. package/dist/assets/icons/Cart.svg.js.map +1 -1
  47. package/dist/assets/icons/CastAirplay.svg.js +21 -7
  48. package/dist/assets/icons/CastAirplay.svg.js.map +1 -1
  49. package/dist/assets/icons/CastChromecast.svg.js +21 -7
  50. package/dist/assets/icons/CastChromecast.svg.js.map +1 -1
  51. package/dist/assets/icons/Check.svg.js +21 -7
  52. package/dist/assets/icons/Check.svg.js.map +1 -1
  53. package/dist/assets/icons/Close.svg.js +21 -7
  54. package/dist/assets/icons/Close.svg.js.map +1 -1
  55. package/dist/assets/icons/CloseAlt.svg.js +21 -7
  56. package/dist/assets/icons/CloseAlt.svg.js.map +1 -1
  57. package/dist/assets/icons/CloudDownload.svg.js +21 -7
  58. package/dist/assets/icons/CloudDownload.svg.js.map +1 -1
  59. package/dist/assets/icons/CloudDownloadError.svg.js +21 -7
  60. package/dist/assets/icons/CloudDownloadError.svg.js.map +1 -1
  61. package/dist/assets/icons/CloudDownloadInactive.svg.js +21 -7
  62. package/dist/assets/icons/CloudDownloadInactive.svg.js.map +1 -1
  63. package/dist/assets/icons/CloudDownloadPaused.svg.js +21 -7
  64. package/dist/assets/icons/CloudDownloadPaused.svg.js.map +1 -1
  65. package/dist/assets/icons/CloudDownloadQueued.svg.js +21 -7
  66. package/dist/assets/icons/CloudDownloadQueued.svg.js.map +1 -1
  67. package/dist/assets/icons/CloudUpload.svg.js +21 -7
  68. package/dist/assets/icons/CloudUpload.svg.js.map +1 -1
  69. package/dist/assets/icons/Coinbase.svg.js +21 -7
  70. package/dist/assets/icons/Coinbase.svg.js.map +1 -1
  71. package/dist/assets/icons/CoinbasePay.svg.js +75 -0
  72. package/dist/assets/icons/CoinbasePay.svg.js.map +1 -0
  73. package/dist/assets/icons/Collectible.svg.js +21 -7
  74. package/dist/assets/icons/Collectible.svg.js.map +1 -1
  75. package/dist/assets/icons/Compose.svg.js +21 -7
  76. package/dist/assets/icons/Compose.svg.js.map +1 -1
  77. package/dist/assets/icons/Copy.svg.js +21 -7
  78. package/dist/assets/icons/Copy.svg.js.map +1 -1
  79. package/dist/assets/icons/Cosign.svg.js +21 -7
  80. package/dist/assets/icons/Cosign.svg.js.map +1 -1
  81. package/dist/assets/icons/CreatePlaylist.svg.js +21 -7
  82. package/dist/assets/icons/CreatePlaylist.svg.js.map +1 -1
  83. package/dist/assets/icons/CreditCard.svg.js +21 -7
  84. package/dist/assets/icons/CreditCard.svg.js.map +1 -1
  85. package/dist/assets/icons/Crown.svg.js +21 -7
  86. package/dist/assets/icons/Crown.svg.js.map +1 -1
  87. package/dist/assets/icons/Dashboard.svg.js +21 -7
  88. package/dist/assets/icons/Dashboard.svg.js.map +1 -1
  89. package/dist/assets/icons/Desktop.svg.js +21 -7
  90. package/dist/assets/icons/Desktop.svg.js.map +1 -1
  91. package/dist/assets/icons/Discord.svg.js +21 -7
  92. package/dist/assets/icons/Discord.svg.js.map +1 -1
  93. package/dist/assets/icons/Donate.svg.js +21 -7
  94. package/dist/assets/icons/Donate.svg.js.map +1 -1
  95. package/dist/assets/icons/Drag.svg.js +21 -7
  96. package/dist/assets/icons/Drag.svg.js.map +1 -1
  97. package/dist/assets/icons/Earnings.svg.js +21 -7
  98. package/dist/assets/icons/Earnings.svg.js.map +1 -1
  99. package/dist/assets/icons/EmailAddress.svg.js +21 -7
  100. package/dist/assets/icons/EmailAddress.svg.js.map +1 -1
  101. package/dist/assets/icons/Embed.svg.js +21 -7
  102. package/dist/assets/icons/Embed.svg.js.map +1 -1
  103. package/dist/assets/icons/Error.svg.js +21 -7
  104. package/dist/assets/icons/Error.svg.js.map +1 -1
  105. package/dist/assets/icons/Explore.svg.js +21 -7
  106. package/dist/assets/icons/Explore.svg.js.map +1 -1
  107. package/dist/assets/icons/ExternalLink.svg.js +21 -7
  108. package/dist/assets/icons/ExternalLink.svg.js.map +1 -1
  109. package/dist/assets/icons/Facebook.svg.js +21 -7
  110. package/dist/assets/icons/Facebook.svg.js.map +1 -1
  111. package/dist/assets/icons/Feed.svg.js +21 -7
  112. package/dist/assets/icons/Feed.svg.js.map +1 -1
  113. package/dist/assets/icons/Filter.svg.js +21 -7
  114. package/dist/assets/icons/Filter.svg.js.map +1 -1
  115. package/dist/assets/icons/Folder.svg.js +21 -7
  116. package/dist/assets/icons/Folder.svg.js.map +1 -1
  117. package/dist/assets/icons/Foundation.svg.js +21 -7
  118. package/dist/assets/icons/Foundation.svg.js.map +1 -1
  119. package/dist/assets/icons/Gift.svg.js +21 -7
  120. package/dist/assets/icons/Gift.svg.js.map +1 -1
  121. package/dist/assets/icons/Headphones.svg.js +21 -7
  122. package/dist/assets/icons/Headphones.svg.js.map +1 -1
  123. package/dist/assets/icons/Heart.svg.js +21 -7
  124. package/dist/assets/icons/Heart.svg.js.map +1 -1
  125. package/dist/assets/icons/Image.svg.js +21 -7
  126. package/dist/assets/icons/Image.svg.js.map +1 -1
  127. package/dist/assets/icons/Indent.svg.js +21 -7
  128. package/dist/assets/icons/Indent.svg.js.map +1 -1
  129. package/dist/assets/icons/Info.svg.js +21 -7
  130. package/dist/assets/icons/Info.svg.js.map +1 -1
  131. package/dist/assets/icons/Instagram.svg.js +21 -7
  132. package/dist/assets/icons/Instagram.svg.js.map +1 -1
  133. package/dist/assets/icons/KebabHorizontal.svg.js +21 -7
  134. package/dist/assets/icons/KebabHorizontal.svg.js.map +1 -1
  135. package/dist/assets/icons/Key.svg.js +21 -7
  136. package/dist/assets/icons/Key.svg.js.map +1 -1
  137. package/dist/assets/icons/Library.svg.js +21 -7
  138. package/dist/assets/icons/Library.svg.js.map +1 -1
  139. package/dist/assets/icons/LifeRing.svg.js +21 -7
  140. package/dist/assets/icons/LifeRing.svg.js.map +1 -1
  141. package/dist/assets/icons/Link.svg.js +21 -7
  142. package/dist/assets/icons/Link.svg.js.map +1 -1
  143. package/dist/assets/icons/LinkByStripe.svg.js +21 -7
  144. package/dist/assets/icons/LinkByStripe.svg.js.map +1 -1
  145. package/dist/assets/icons/ListeningHistory.svg.js +21 -7
  146. package/dist/assets/icons/ListeningHistory.svg.js.map +1 -1
  147. package/dist/assets/icons/Listens.svg.js +21 -7
  148. package/dist/assets/icons/Listens.svg.js.map +1 -1
  149. package/dist/assets/icons/Lock.svg.js +21 -7
  150. package/dist/assets/icons/Lock.svg.js.map +1 -1
  151. package/dist/assets/icons/LockUnlocked.svg.js +21 -7
  152. package/dist/assets/icons/LockUnlocked.svg.js.map +1 -1
  153. package/dist/assets/icons/LogoCircle.svg.js +21 -7
  154. package/dist/assets/icons/LogoCircle.svg.js.map +1 -1
  155. package/dist/assets/icons/LogoCircleCoinbase.svg.js +21 -7
  156. package/dist/assets/icons/LogoCircleCoinbase.svg.js.map +1 -1
  157. package/dist/assets/icons/LogoCircleETH.svg.js +21 -7
  158. package/dist/assets/icons/LogoCircleETH.svg.js.map +1 -1
  159. package/dist/assets/icons/LogoCircleSOL.svg.js +21 -7
  160. package/dist/assets/icons/LogoCircleSOL.svg.js.map +1 -1
  161. package/dist/assets/icons/LogoCircleSTR.svg.js +21 -7
  162. package/dist/assets/icons/LogoCircleSTR.svg.js.map +1 -1
  163. package/dist/assets/icons/LogoCircleUSD.svg.js +21 -7
  164. package/dist/assets/icons/LogoCircleUSD.svg.js.map +1 -1
  165. package/dist/assets/icons/LogoCircleUSDC.svg.js +21 -7
  166. package/dist/assets/icons/LogoCircleUSDC.svg.js.map +1 -1
  167. package/dist/assets/icons/LogoPhantom.svg.js +21 -7
  168. package/dist/assets/icons/LogoPhantom.svg.js.map +1 -1
  169. package/dist/assets/icons/LogoSolana.svg.js +21 -7
  170. package/dist/assets/icons/LogoSolana.svg.js.map +1 -1
  171. package/dist/assets/icons/Merch.svg.js +21 -7
  172. package/dist/assets/icons/Merch.svg.js.map +1 -1
  173. package/dist/assets/icons/Message.svg.js +21 -7
  174. package/dist/assets/icons/Message.svg.js.map +1 -1
  175. package/dist/assets/icons/MessageBlock.svg.js +21 -7
  176. package/dist/assets/icons/MessageBlock.svg.js.map +1 -1
  177. package/dist/assets/icons/MessageLocked.svg.js +21 -7
  178. package/dist/assets/icons/MessageLocked.svg.js.map +1 -1
  179. package/dist/assets/icons/MessageUnblock.svg.js +21 -7
  180. package/dist/assets/icons/MessageUnblock.svg.js.map +1 -1
  181. package/dist/assets/icons/Metamask.svg.js +21 -7
  182. package/dist/assets/icons/Metamask.svg.js.map +1 -1
  183. package/dist/assets/icons/Minus.svg.js +21 -7
  184. package/dist/assets/icons/Minus.svg.js.map +1 -1
  185. package/dist/assets/icons/{PenSquare.svg.js → MoneyBracket.svg.js} +33 -14
  186. package/dist/assets/icons/MoneyBracket.svg.js.map +1 -0
  187. package/dist/assets/icons/Mood.svg.js +21 -7
  188. package/dist/assets/icons/Mood.svg.js.map +1 -1
  189. package/dist/assets/icons/MultiselectAdd.svg.js +21 -7
  190. package/dist/assets/icons/MultiselectAdd.svg.js.map +1 -1
  191. package/dist/assets/icons/MultiselectRemove.svg.js +21 -7
  192. package/dist/assets/icons/MultiselectRemove.svg.js.map +1 -1
  193. package/dist/assets/icons/NoWifi.svg.js +21 -7
  194. package/dist/assets/icons/NoWifi.svg.js.map +1 -1
  195. package/dist/assets/icons/Note.svg.js +21 -7
  196. package/dist/assets/icons/Note.svg.js.map +1 -1
  197. package/dist/assets/icons/NotificationOff.svg.js +21 -7
  198. package/dist/assets/icons/NotificationOff.svg.js.map +1 -1
  199. package/dist/assets/icons/NotificationOn.svg.js +21 -7
  200. package/dist/assets/icons/NotificationOn.svg.js.map +1 -1
  201. package/dist/assets/icons/Pause.svg.js +21 -7
  202. package/dist/assets/icons/Pause.svg.js.map +1 -1
  203. package/dist/assets/icons/Pencil.svg.js +21 -7
  204. package/dist/assets/icons/Pencil.svg.js.map +1 -1
  205. package/dist/assets/icons/Play.svg.js +21 -7
  206. package/dist/assets/icons/Play.svg.js.map +1 -1
  207. package/dist/assets/icons/PlaybackPause.svg.js +24 -8
  208. package/dist/assets/icons/PlaybackPause.svg.js.map +1 -1
  209. package/dist/assets/icons/PlaybackPlay.svg.js +24 -8
  210. package/dist/assets/icons/PlaybackPlay.svg.js.map +1 -1
  211. package/dist/assets/icons/Playlists.svg.js +21 -7
  212. package/dist/assets/icons/Playlists.svg.js.map +1 -1
  213. package/dist/assets/icons/Plus.svg.js +21 -7
  214. package/dist/assets/icons/Plus.svg.js.map +1 -1
  215. package/dist/assets/icons/PodcastBack.svg.js +21 -7
  216. package/dist/assets/icons/PodcastBack.svg.js.map +1 -1
  217. package/dist/assets/icons/PodcastForward.svg.js +21 -7
  218. package/dist/assets/icons/PodcastForward.svg.js.map +1 -1
  219. package/dist/assets/icons/QuestionCircle.svg.js +21 -7
  220. package/dist/assets/icons/QuestionCircle.svg.js.map +1 -1
  221. package/dist/assets/icons/Radar.svg.js +21 -7
  222. package/dist/assets/icons/Radar.svg.js.map +1 -1
  223. package/dist/assets/icons/Receive.svg.js +21 -7
  224. package/dist/assets/icons/Receive.svg.js.map +1 -1
  225. package/dist/assets/icons/RecoveryEmail.svg.js +21 -7
  226. package/dist/assets/icons/RecoveryEmail.svg.js.map +1 -1
  227. package/dist/assets/icons/Refresh.svg.js +21 -7
  228. package/dist/assets/icons/Refresh.svg.js.map +1 -1
  229. package/dist/assets/icons/Remix.svg.js +21 -7
  230. package/dist/assets/icons/Remix.svg.js.map +1 -1
  231. package/dist/assets/icons/Remove.svg.js +21 -7
  232. package/dist/assets/icons/Remove.svg.js.map +1 -1
  233. package/dist/assets/icons/RepeatOff.svg.js +21 -7
  234. package/dist/assets/icons/RepeatOff.svg.js.map +1 -1
  235. package/dist/assets/icons/Repost.svg.js +21 -7
  236. package/dist/assets/icons/Repost.svg.js.map +1 -1
  237. package/dist/assets/icons/Robot.svg.js +21 -7
  238. package/dist/assets/icons/Robot.svg.js.map +1 -1
  239. package/dist/assets/icons/Rocket.svg.js +21 -7
  240. package/dist/assets/icons/Rocket.svg.js.map +1 -1
  241. package/dist/assets/icons/Save.svg.js +21 -7
  242. package/dist/assets/icons/Save.svg.js.map +1 -1
  243. package/dist/assets/icons/Search.svg.js +21 -7
  244. package/dist/assets/icons/Search.svg.js.map +1 -1
  245. package/dist/assets/icons/Send.svg.js +21 -7
  246. package/dist/assets/icons/Send.svg.js.map +1 -1
  247. package/dist/assets/icons/Settings.svg.js +21 -7
  248. package/dist/assets/icons/Settings.svg.js.map +1 -1
  249. package/dist/assets/icons/Share.svg.js +21 -7
  250. package/dist/assets/icons/Share.svg.js.map +1 -1
  251. package/dist/assets/icons/ShieldCheck.svg.js +21 -7
  252. package/dist/assets/icons/ShieldCheck.svg.js.map +1 -1
  253. package/dist/assets/icons/ShieldUser.svg.js +81 -0
  254. package/dist/assets/icons/ShieldUser.svg.js.map +1 -0
  255. package/dist/assets/icons/Shuffle.svg.js +21 -7
  256. package/dist/assets/icons/Shuffle.svg.js.map +1 -1
  257. package/dist/assets/icons/SignOut.svg.js +21 -7
  258. package/dist/assets/icons/SignOut.svg.js.map +1 -1
  259. package/dist/assets/icons/SkipNext.svg.js +21 -7
  260. package/dist/assets/icons/SkipNext.svg.js.map +1 -1
  261. package/dist/assets/icons/SkipPrevious.svg.js +21 -7
  262. package/dist/assets/icons/SkipPrevious.svg.js.map +1 -1
  263. package/dist/assets/icons/Skull.svg.js +21 -7
  264. package/dist/assets/icons/Skull.svg.js.map +1 -1
  265. package/dist/assets/icons/SnapChat.svg.js +21 -7
  266. package/dist/assets/icons/SnapChat.svg.js.map +1 -1
  267. package/dist/assets/icons/Sort.svg.js +21 -7
  268. package/dist/assets/icons/Sort.svg.js.map +1 -1
  269. package/dist/assets/icons/SortDown.svg.js +21 -7
  270. package/dist/assets/icons/SortDown.svg.js.map +1 -1
  271. package/dist/assets/icons/SortUp.svg.js +21 -7
  272. package/dist/assets/icons/SortUp.svg.js.map +1 -1
  273. package/dist/assets/icons/Soundwave.svg.js +21 -7
  274. package/dist/assets/icons/Soundwave.svg.js.map +1 -1
  275. package/dist/assets/icons/Speaker.svg.js +21 -7
  276. package/dist/assets/icons/Speaker.svg.js.map +1 -1
  277. package/dist/assets/icons/SpecialAccess.svg.js +21 -7
  278. package/dist/assets/icons/SpecialAccess.svg.js.map +1 -1
  279. package/dist/assets/icons/Star.svg.js +21 -7
  280. package/dist/assets/icons/Star.svg.js.map +1 -1
  281. package/dist/assets/icons/Stars.svg.js +21 -7
  282. package/dist/assets/icons/Stars.svg.js.map +1 -1
  283. package/dist/assets/icons/Support.svg.js +21 -7
  284. package/dist/assets/icons/Support.svg.js.map +1 -1
  285. package/dist/assets/icons/Tastemaker.svg.js +21 -7
  286. package/dist/assets/icons/Tastemaker.svg.js.map +1 -1
  287. package/dist/assets/icons/Telegram.svg.js +21 -7
  288. package/dist/assets/icons/Telegram.svg.js.map +1 -1
  289. package/dist/assets/icons/ThumbsDown.svg.js +21 -7
  290. package/dist/assets/icons/ThumbsDown.svg.js.map +1 -1
  291. package/dist/assets/icons/ThumbsUp.svg.js +21 -7
  292. package/dist/assets/icons/ThumbsUp.svg.js.map +1 -1
  293. package/dist/assets/icons/TikTok.svg.js +21 -7
  294. package/dist/assets/icons/TikTok.svg.js.map +1 -1
  295. package/dist/assets/icons/Tipping.svg.js +21 -7
  296. package/dist/assets/icons/Tipping.svg.js.map +1 -1
  297. package/dist/assets/icons/TokenBronze.svg.js +21 -7
  298. package/dist/assets/icons/TokenBronze.svg.js.map +1 -1
  299. package/dist/assets/icons/TokenGold.svg.js +21 -7
  300. package/dist/assets/icons/TokenGold.svg.js.map +1 -1
  301. package/dist/assets/icons/TokenNoTier.svg.js +21 -7
  302. package/dist/assets/icons/TokenNoTier.svg.js.map +1 -1
  303. package/dist/assets/icons/TokenPlatinum.svg.js +21 -7
  304. package/dist/assets/icons/TokenPlatinum.svg.js.map +1 -1
  305. package/dist/assets/icons/TokenSilver.svg.js +21 -7
  306. package/dist/assets/icons/TokenSilver.svg.js.map +1 -1
  307. package/dist/assets/icons/Transaction.svg.js +21 -7
  308. package/dist/assets/icons/Transaction.svg.js.map +1 -1
  309. package/dist/assets/icons/Trash.svg.js +21 -7
  310. package/dist/assets/icons/Trash.svg.js.map +1 -1
  311. package/dist/assets/icons/Trending.svg.js +21 -7
  312. package/dist/assets/icons/Trending.svg.js.map +1 -1
  313. package/dist/assets/icons/TriangleExclamation.svg.js +21 -7
  314. package/dist/assets/icons/TriangleExclamation.svg.js.map +1 -1
  315. package/dist/assets/icons/Trophy.svg.js +21 -7
  316. package/dist/assets/icons/Trophy.svg.js.map +1 -1
  317. package/dist/assets/icons/Turntable.svg.js +21 -7
  318. package/dist/assets/icons/Turntable.svg.js.map +1 -1
  319. package/dist/assets/icons/Twitter.svg.js +21 -7
  320. package/dist/assets/icons/Twitter.svg.js.map +1 -1
  321. package/dist/assets/icons/User.svg.js +21 -7
  322. package/dist/assets/icons/User.svg.js.map +1 -1
  323. package/dist/assets/icons/UserArrowRotate.svg.js +81 -0
  324. package/dist/assets/icons/UserArrowRotate.svg.js.map +1 -0
  325. package/dist/assets/icons/UserFollow.svg.js +21 -7
  326. package/dist/assets/icons/UserFollow.svg.js.map +1 -1
  327. package/dist/assets/icons/UserFollowers.svg.js +21 -7
  328. package/dist/assets/icons/UserFollowers.svg.js.map +1 -1
  329. package/dist/assets/icons/UserFollowing.svg.js +21 -7
  330. package/dist/assets/icons/UserFollowing.svg.js.map +1 -1
  331. package/dist/assets/icons/UserGroup.svg.js +21 -7
  332. package/dist/assets/icons/UserGroup.svg.js.map +1 -1
  333. package/dist/assets/icons/UserList.svg.js +21 -7
  334. package/dist/assets/icons/UserList.svg.js.map +1 -1
  335. package/dist/assets/icons/UserUnfollow.svg.js +21 -7
  336. package/dist/assets/icons/UserUnfollow.svg.js.map +1 -1
  337. package/dist/assets/icons/ValidationCheck.svg.js +21 -7
  338. package/dist/assets/icons/ValidationCheck.svg.js.map +1 -1
  339. package/dist/assets/icons/ValidationX.svg.js +21 -7
  340. package/dist/assets/icons/ValidationX.svg.js.map +1 -1
  341. package/dist/assets/icons/Verified.svg.js +31 -22
  342. package/dist/assets/icons/Verified.svg.js.map +1 -1
  343. package/dist/assets/icons/VisibilityHidden.svg.js +21 -7
  344. package/dist/assets/icons/VisibilityHidden.svg.js.map +1 -1
  345. package/dist/assets/icons/VisibilityPublic.svg.js +21 -7
  346. package/dist/assets/icons/VisibilityPublic.svg.js.map +1 -1
  347. package/dist/assets/icons/VolumeLevel0.svg.js +21 -7
  348. package/dist/assets/icons/VolumeLevel0.svg.js.map +1 -1
  349. package/dist/assets/icons/VolumeLevel1.svg.js +21 -7
  350. package/dist/assets/icons/VolumeLevel1.svg.js.map +1 -1
  351. package/dist/assets/icons/VolumeLevel2.svg.js +21 -7
  352. package/dist/assets/icons/VolumeLevel2.svg.js.map +1 -1
  353. package/dist/assets/icons/VolumeLevel3.svg.js +21 -7
  354. package/dist/assets/icons/VolumeLevel3.svg.js.map +1 -1
  355. package/dist/assets/icons/Wallet.svg.js +21 -7
  356. package/dist/assets/icons/Wallet.svg.js.map +1 -1
  357. package/dist/assets/icons/Wand.svg.js +21 -7
  358. package/dist/assets/icons/Wand.svg.js.map +1 -1
  359. package/dist/assets/icons/Waveform.svg.js +21 -7
  360. package/dist/assets/icons/Waveform.svg.js.map +1 -1
  361. package/dist/assets/icons/Withdraw.svg.js +21 -7
  362. package/dist/assets/icons/Withdraw.svg.js.map +1 -1
  363. package/dist/assets/icons/ccBy.svg.js +21 -7
  364. package/dist/assets/icons/ccBy.svg.js.map +1 -1
  365. package/dist/assets/icons/ccCC.svg.js +21 -7
  366. package/dist/assets/icons/ccCC.svg.js.map +1 -1
  367. package/dist/assets/icons/ccNC-EU.svg.js +21 -7
  368. package/dist/assets/icons/ccNC-EU.svg.js.map +1 -1
  369. package/dist/assets/icons/ccNC-JP.svg.js +21 -7
  370. package/dist/assets/icons/ccNC-JP.svg.js.map +1 -1
  371. package/dist/assets/icons/ccNC.svg.js +21 -7
  372. package/dist/assets/icons/ccNC.svg.js.map +1 -1
  373. package/dist/assets/icons/ccND.svg.js +21 -7
  374. package/dist/assets/icons/ccND.svg.js.map +1 -1
  375. package/dist/assets/icons/ccPD.svg.js +21 -7
  376. package/dist/assets/icons/ccPD.svg.js.map +1 -1
  377. package/dist/assets/icons/ccRemix.svg.js +21 -7
  378. package/dist/assets/icons/ccRemix.svg.js.map +1 -1
  379. package/dist/assets/icons/ccSA.svg.js +21 -7
  380. package/dist/assets/icons/ccSA.svg.js.map +1 -1
  381. package/dist/assets/icons/ccSampling.svg.js +21 -7
  382. package/dist/assets/icons/ccSampling.svg.js.map +1 -1
  383. package/dist/assets/icons/ccSamplingPlus.svg.js +21 -7
  384. package/dist/assets/icons/ccSamplingPlus.svg.js.map +1 -1
  385. package/dist/assets/icons/ccShare.svg.js +21 -7
  386. package/dist/assets/icons/ccShare.svg.js.map +1 -1
  387. package/dist/assets/icons/ccZero.svg.js +21 -7
  388. package/dist/assets/icons/ccZero.svg.js.map +1 -1
  389. package/dist/assets/icons/file3GA.svg.js +21 -7
  390. package/dist/assets/icons/file3GA.svg.js.map +1 -1
  391. package/dist/assets/icons/file3GP.svg.js +21 -7
  392. package/dist/assets/icons/file3GP.svg.js.map +1 -1
  393. package/dist/assets/icons/fileAAC.svg.js +21 -7
  394. package/dist/assets/icons/fileAAC.svg.js.map +1 -1
  395. package/dist/assets/icons/fileAIF.svg.js +21 -7
  396. package/dist/assets/icons/fileAIF.svg.js.map +1 -1
  397. package/dist/assets/icons/fileAIFC.svg.js +21 -7
  398. package/dist/assets/icons/fileAIFC.svg.js.map +1 -1
  399. package/dist/assets/icons/fileAIFF.svg.js +21 -7
  400. package/dist/assets/icons/fileAIFF.svg.js.map +1 -1
  401. package/dist/assets/icons/fileAMR.svg.js +21 -7
  402. package/dist/assets/icons/fileAMR.svg.js.map +1 -1
  403. package/dist/assets/icons/fileAWB.svg.js +21 -7
  404. package/dist/assets/icons/fileAWB.svg.js.map +1 -1
  405. package/dist/assets/icons/fileFLAC.svg.js +21 -7
  406. package/dist/assets/icons/fileFLAC.svg.js.map +1 -1
  407. package/dist/assets/icons/fileM4A.svg.js +21 -7
  408. package/dist/assets/icons/fileM4A.svg.js.map +1 -1
  409. package/dist/assets/icons/fileM4B.svg.js +21 -7
  410. package/dist/assets/icons/fileM4B.svg.js.map +1 -1
  411. package/dist/assets/icons/fileM4P.svg.js +21 -7
  412. package/dist/assets/icons/fileM4P.svg.js.map +1 -1
  413. package/dist/assets/icons/fileM4R.svg.js +21 -7
  414. package/dist/assets/icons/fileM4R.svg.js.map +1 -1
  415. package/dist/assets/icons/fileM4V.svg.js +21 -7
  416. package/dist/assets/icons/fileM4V.svg.js.map +1 -1
  417. package/dist/assets/icons/fileMP2.svg.js +21 -7
  418. package/dist/assets/icons/fileMP2.svg.js.map +1 -1
  419. package/dist/assets/icons/fileMP3.svg.js +21 -7
  420. package/dist/assets/icons/fileMP3.svg.js.map +1 -1
  421. package/dist/assets/icons/fileMP4.svg.js +21 -7
  422. package/dist/assets/icons/fileMP4.svg.js.map +1 -1
  423. package/dist/assets/icons/fileMPGA.svg.js +21 -7
  424. package/dist/assets/icons/fileMPGA.svg.js.map +1 -1
  425. package/dist/assets/icons/fileOGA.svg.js +21 -7
  426. package/dist/assets/icons/fileOGA.svg.js.map +1 -1
  427. package/dist/assets/icons/fileOGG.svg.js +21 -7
  428. package/dist/assets/icons/fileOGG.svg.js.map +1 -1
  429. package/dist/assets/icons/fileOGM.svg.js +21 -7
  430. package/dist/assets/icons/fileOGM.svg.js.map +1 -1
  431. package/dist/assets/icons/fileOGV.svg.js +21 -7
  432. package/dist/assets/icons/fileOGV.svg.js.map +1 -1
  433. package/dist/assets/icons/fileOGX.svg.js +21 -7
  434. package/dist/assets/icons/fileOGX.svg.js.map +1 -1
  435. package/dist/assets/icons/fileOPUS.svg.js +21 -7
  436. package/dist/assets/icons/fileOPUS.svg.js.map +1 -1
  437. package/dist/assets/icons/fileSPX.svg.js +21 -7
  438. package/dist/assets/icons/fileSPX.svg.js.map +1 -1
  439. package/dist/assets/icons/fileTS.svg.js +21 -7
  440. package/dist/assets/icons/fileTS.svg.js.map +1 -1
  441. package/dist/assets/icons/fileTSA.svg.js +21 -7
  442. package/dist/assets/icons/fileTSA.svg.js.map +1 -1
  443. package/dist/assets/icons/fileTSV.svg.js +21 -7
  444. package/dist/assets/icons/fileTSV.svg.js.map +1 -1
  445. package/dist/assets/icons/fileUnknown.svg.js +24 -8
  446. package/dist/assets/icons/fileUnknown.svg.js.map +1 -1
  447. package/dist/assets/icons/fileWAV.svg.js +21 -7
  448. package/dist/assets/icons/fileWAV.svg.js.map +1 -1
  449. package/dist/assets/icons/fileWAVE.svg.js +21 -7
  450. package/dist/assets/icons/fileWAVE.svg.js.map +1 -1
  451. package/dist/assets/icons/fileWEBM.svg.js +21 -7
  452. package/dist/assets/icons/fileWEBM.svg.js.map +1 -1
  453. package/dist/assets/icons/fileXWMA.svg.js +21 -7
  454. package/dist/assets/icons/fileXWMA.svg.js.map +1 -1
  455. package/dist/components/artwork/Artwork.d.ts +17 -0
  456. package/dist/components/artwork/Artwork.d.ts.map +1 -0
  457. package/dist/components/artwork/Artwork.js +47 -0
  458. package/dist/components/artwork/Artwork.js.map +1 -0
  459. package/dist/components/artwork/Artwork.stories.d.ts +8 -0
  460. package/dist/components/artwork/Artwork.stories.d.ts.map +1 -0
  461. package/dist/components/artwork/index.d.ts +2 -0
  462. package/dist/components/artwork/index.d.ts.map +1 -0
  463. package/dist/components/avatar/Avatar.d.ts +8 -1
  464. package/dist/components/avatar/Avatar.d.ts.map +1 -1
  465. package/dist/components/avatar/Avatar.js +16 -45
  466. package/dist/components/avatar/Avatar.js.map +1 -1
  467. package/dist/components/avatar/Avatar.stories.d.ts.map +1 -1
  468. package/dist/components/avatar/index.d.ts +1 -1
  469. package/dist/components/avatar/index.d.ts.map +1 -1
  470. package/dist/components/button/Button/Button.d.ts.map +1 -1
  471. package/dist/components/button/Button/Button.js +13 -33
  472. package/dist/components/button/Button/Button.js.map +1 -1
  473. package/dist/components/button/Button/types.d.ts +3 -3
  474. package/dist/components/button/Button/types.d.ts.map +1 -1
  475. package/dist/components/button/FilterButton/FilterButton.d.ts.map +1 -1
  476. package/dist/components/button/FilterButton/FilterButton.js +5 -5
  477. package/dist/components/button/FilterButton/FilterButton.js.map +1 -1
  478. package/dist/components/button/FilterButton/FilterButton.stories.d.ts.map +1 -1
  479. package/dist/components/button/FilterButton/types.d.ts +2 -2
  480. package/dist/components/button/FilterButton/types.d.ts.map +1 -1
  481. package/dist/components/button/FollowButton/FollowButton.d.ts +2 -1
  482. package/dist/components/button/FollowButton/FollowButton.d.ts.map +1 -1
  483. package/dist/components/button/FollowButton/FollowButton.js +53 -21
  484. package/dist/components/button/FollowButton/FollowButton.js.map +1 -1
  485. package/dist/components/button/FollowButton/types.d.ts +6 -0
  486. package/dist/components/button/FollowButton/types.d.ts.map +1 -1
  487. package/dist/components/button/IconButton/IconButton.d.ts +3 -3
  488. package/dist/components/button/IconButton/IconButton.d.ts.map +1 -1
  489. package/dist/components/button/IconButton/IconButton.js +20 -5
  490. package/dist/components/button/IconButton/IconButton.js.map +1 -1
  491. package/dist/components/button/SocialButton/SocialButton.d.ts +1 -5
  492. package/dist/components/button/SocialButton/SocialButton.d.ts.map +1 -1
  493. package/dist/components/button/SocialButton/SocialButton.js +1 -1
  494. package/dist/components/button/SocialButton/SocialButton.js.map +1 -1
  495. package/dist/components/button/UnstyledButton.d.ts +11 -0
  496. package/dist/components/button/UnstyledButton.d.ts.map +1 -0
  497. package/dist/components/button/UnstyledButton.js +13 -0
  498. package/dist/components/button/UnstyledButton.js.map +1 -0
  499. package/dist/components/button/index.d.ts +2 -1
  500. package/dist/components/button/index.d.ts.map +1 -1
  501. package/dist/components/completion-check/CompletionCheck.js +0 -1
  502. package/dist/components/completion-check/CompletionCheck.js.map +1 -1
  503. package/dist/components/hint/Hint.d.ts +1 -1
  504. package/dist/components/hint/Hint.d.ts.map +1 -1
  505. package/dist/components/hint/Hint.js +5 -3
  506. package/dist/components/hint/Hint.js.map +1 -1
  507. package/dist/components/icon.d.ts +1 -0
  508. package/dist/components/icon.d.ts.map +1 -1
  509. package/dist/components/index.d.ts +7 -0
  510. package/dist/components/index.d.ts.map +1 -1
  511. package/dist/components/input/PasswordInput/PasswordInput.js +1 -0
  512. package/dist/components/input/PasswordInput/PasswordInput.js.map +1 -1
  513. package/dist/components/input/SelectablePill/SelectablePill.js +1 -1
  514. package/dist/components/input/TextInput/TextInput.d.ts.map +1 -1
  515. package/dist/components/input/TextInput/TextInput.js +3 -4
  516. package/dist/components/input/TextInput/TextInput.js.map +1 -1
  517. package/dist/components/layout/Box/Box.js +6 -6
  518. package/dist/components/layout/Box/Box.js.map +1 -1
  519. package/dist/components/layout/Box/types.d.ts +8 -8
  520. package/dist/components/layout/Box/types.d.ts.map +1 -1
  521. package/dist/components/layout/Divider/Divider.d.ts.map +1 -1
  522. package/dist/components/layout/Divider/Divider.js +4 -4
  523. package/dist/components/layout/Divider/Divider.js.map +1 -1
  524. package/dist/components/layout/Divider/types.d.ts +2 -0
  525. package/dist/components/layout/Divider/types.d.ts.map +1 -1
  526. package/dist/components/layout/Paper/Paper.d.ts +1 -6
  527. package/dist/components/layout/Paper/Paper.d.ts.map +1 -1
  528. package/dist/components/layout/Paper/Paper.js +24 -9
  529. package/dist/components/layout/Paper/Paper.js.map +1 -1
  530. package/dist/components/layout/Paper/Paper.stories.d.ts +1 -0
  531. package/dist/components/layout/Paper/Paper.stories.d.ts.map +1 -1
  532. package/dist/components/layout/Paper/types.d.ts +2 -0
  533. package/dist/components/layout/Paper/types.d.ts.map +1 -1
  534. package/dist/components/layout/index.d.ts +0 -1
  535. package/dist/components/layout/index.d.ts.map +1 -1
  536. package/dist/components/modal/Modal.d.ts.map +1 -1
  537. package/dist/components/modal/Modal.js +40 -28
  538. package/dist/components/modal/Modal.js.map +1 -1
  539. package/dist/components/modal/ModalHeader.js +1 -0
  540. package/dist/components/modal/ModalHeader.js.map +1 -1
  541. package/dist/components/pill/Pill.d.ts +31 -0
  542. package/dist/components/pill/Pill.d.ts.map +1 -0
  543. package/dist/components/pill/Pill.js +59 -0
  544. package/dist/components/pill/Pill.js.map +1 -0
  545. package/dist/components/pill/Pill.stories.d.ts +10 -0
  546. package/dist/components/pill/Pill.stories.d.ts.map +1 -0
  547. package/dist/components/pill/index.d.ts +3 -0
  548. package/dist/components/pill/index.d.ts.map +1 -0
  549. package/dist/components/popup/Popup.d.ts.map +1 -0
  550. package/dist/components/{layout/Popup → popup}/Popup.js +39 -23
  551. package/dist/components/popup/Popup.js.map +1 -0
  552. package/dist/components/popup/Popup.module.css.js +4 -0
  553. package/dist/components/popup/Popup.stories.d.ts.map +1 -0
  554. package/dist/components/popup/index.d.ts.map +1 -0
  555. package/dist/components/{layout/Popup → popup}/types.d.ts +3 -3
  556. package/dist/components/popup/types.d.ts.map +1 -0
  557. package/dist/components/popup-menu/PopupMenu.d.ts +2 -2
  558. package/dist/components/popup-menu/PopupMenu.js +2 -2
  559. package/dist/components/popup-menu/PopupMenu.js.map +1 -1
  560. package/dist/components/popup-menu/types.d.ts +1 -1
  561. package/dist/components/popup-menu/types.d.ts.map +1 -1
  562. package/dist/components/progress-bar/ProgressBar.d.ts +3 -0
  563. package/dist/components/progress-bar/ProgressBar.d.ts.map +1 -0
  564. package/dist/components/progress-bar/ProgressBar.js +40 -0
  565. package/dist/components/progress-bar/ProgressBar.js.map +1 -0
  566. package/dist/components/progress-bar/ProgressBar.module.css.js +4 -0
  567. package/dist/components/progress-bar/ProgressBar.module.css.js.map +1 -0
  568. package/dist/components/progress-bar/index.d.ts +3 -0
  569. package/dist/components/progress-bar/index.d.ts.map +1 -0
  570. package/dist/components/progress-bar/types.d.ts +20 -0
  571. package/dist/components/progress-bar/types.d.ts.map +1 -0
  572. package/dist/components/radio-group/RadioGroup.js +0 -1
  573. package/dist/components/radio-group/RadioGroup.js.map +1 -1
  574. package/dist/components/scrubber/Scrubber.d.ts +17 -0
  575. package/dist/components/scrubber/Scrubber.d.ts.map +1 -0
  576. package/dist/components/scrubber/Scrubber.js +61 -0
  577. package/dist/components/scrubber/Scrubber.js.map +1 -0
  578. package/dist/components/scrubber/Scrubber.module.css.js +4 -0
  579. package/dist/components/scrubber/Scrubber.module.css.js.map +1 -0
  580. package/dist/components/scrubber/Slider.d.ts +7 -0
  581. package/dist/components/scrubber/Slider.d.ts.map +1 -0
  582. package/dist/components/scrubber/Slider.js +230 -0
  583. package/dist/components/scrubber/Slider.js.map +1 -0
  584. package/dist/components/scrubber/Slider.module.css.js +4 -0
  585. package/dist/components/scrubber/Slider.module.css.js.map +1 -0
  586. package/dist/components/scrubber/hooks.d.ts +11 -0
  587. package/dist/components/scrubber/hooks.d.ts.map +1 -0
  588. package/dist/components/scrubber/hooks.js +63 -0
  589. package/dist/components/scrubber/hooks.js.map +1 -0
  590. package/dist/components/scrubber/index.d.ts +2 -0
  591. package/dist/components/scrubber/index.d.ts.map +1 -0
  592. package/dist/components/scrubber/types.d.ts +86 -0
  593. package/dist/components/scrubber/types.d.ts.map +1 -0
  594. package/dist/components/scrubber/types.js +11 -0
  595. package/dist/components/scrubber/types.js.map +1 -0
  596. package/dist/components/segmented-control/SegmentedControl.js +1 -1
  597. package/dist/components/segmented-control/SegmentedControl.js.map +1 -1
  598. package/dist/components/skeleton/Skeleton.d.ts +5 -0
  599. package/dist/components/skeleton/Skeleton.d.ts.map +1 -0
  600. package/dist/components/skeleton/Skeleton.js +27 -0
  601. package/dist/components/skeleton/Skeleton.js.map +1 -0
  602. package/dist/components/skeleton/Skeleton.stories.d.ts +7 -0
  603. package/dist/components/skeleton/Skeleton.stories.d.ts.map +1 -0
  604. package/dist/components/skeleton/index.d.ts +2 -0
  605. package/dist/components/skeleton/index.d.ts.map +1 -0
  606. package/dist/components/tag/Tag.js +5 -10
  607. package/dist/components/tag/Tag.js.map +1 -1
  608. package/dist/components/text/Text.d.ts.map +1 -0
  609. package/dist/components/text/Text.js +51 -0
  610. package/dist/components/text/Text.js.map +1 -0
  611. package/dist/components/text/Text.stories.d.ts.map +1 -0
  612. package/dist/components/text/constants.d.ts.map +1 -0
  613. package/dist/components/text/{Text/constants.js → constants.js} +4 -4
  614. package/dist/components/text/constants.js.map +1 -0
  615. package/dist/components/text/index.d.ts +3 -1
  616. package/dist/components/text/index.d.ts.map +1 -1
  617. package/dist/components/text/textContext.d.ts +7 -0
  618. package/dist/components/text/textContext.d.ts.map +1 -0
  619. package/dist/components/text/textContext.js +6 -0
  620. package/dist/components/text/textContext.js.map +1 -0
  621. package/dist/components/text/{Text/types.d.ts → types.d.ts} +2 -1
  622. package/dist/components/text/types.d.ts.map +1 -0
  623. package/dist/components/text-link/TextLink.d.ts +3 -7
  624. package/dist/components/text-link/TextLink.d.ts.map +1 -1
  625. package/dist/components/text-link/TextLink.js +8 -6
  626. package/dist/components/text-link/TextLink.js.map +1 -1
  627. package/dist/components/text-link/types.d.ts +4 -7
  628. package/dist/components/text-link/types.d.ts.map +1 -1
  629. package/dist/foundations/color/color.d.ts +3 -0
  630. package/dist/foundations/color/color.d.ts.map +1 -1
  631. package/dist/foundations/color/primitive.d.ts +3 -0
  632. package/dist/foundations/color/primitive.d.ts.map +1 -1
  633. package/dist/foundations/color/primitive.js +3 -0
  634. package/dist/foundations/color/primitive.js.map +1 -1
  635. package/dist/foundations/corner-radius/cornerRadius.d.ts +1 -0
  636. package/dist/foundations/corner-radius/cornerRadius.d.ts.map +1 -1
  637. package/dist/foundations/corner-radius/cornerRadius.js +2 -1
  638. package/dist/foundations/corner-radius/cornerRadius.js.map +1 -1
  639. package/dist/foundations/spacing/spacing.d.ts +1 -0
  640. package/dist/foundations/spacing/spacing.d.ts.map +1 -1
  641. package/dist/foundations/spacing/spacing.js +1 -0
  642. package/dist/foundations/spacing/spacing.js.map +1 -1
  643. package/dist/foundations/theme/ThemeProvider.d.ts +1 -1
  644. package/dist/foundations/theme/ThemeProvider.d.ts.map +1 -1
  645. package/dist/foundations/theme/ThemeProvider.js +6 -0
  646. package/dist/foundations/theme/ThemeProvider.js.map +1 -1
  647. package/dist/foundations/typography/typography.d.ts +1 -0
  648. package/dist/foundations/typography/typography.d.ts.map +1 -1
  649. package/dist/foundations/typography/typography.js +5 -3
  650. package/dist/foundations/typography/typography.js.map +1 -1
  651. package/dist/harmony.css +1 -1
  652. package/dist/hooks/useHotKeys.d.ts +3 -3
  653. package/dist/hooks/useHotKeys.d.ts.map +1 -1
  654. package/dist/hooks/useHotKeys.js +11 -5
  655. package/dist/hooks/useHotKeys.js.map +1 -1
  656. package/dist/icons/logos.d.ts +1 -0
  657. package/dist/icons/logos.d.ts.map +1 -1
  658. package/dist/icons/logos.js +3 -1
  659. package/dist/icons/logos.js.map +1 -1
  660. package/dist/icons/utilityIcons.d.ts +3 -0
  661. package/dist/icons/utilityIcons.d.ts.map +1 -1
  662. package/dist/icons/utilityIcons.js +7 -1
  663. package/dist/icons/utilityIcons.js.map +1 -1
  664. package/dist/index.d.ts +1 -0
  665. package/dist/index.d.ts.map +1 -1
  666. package/dist/index.js +12 -5
  667. package/dist/index.js.map +1 -1
  668. package/dist/utils/modalState.d.ts +2 -0
  669. package/dist/utils/modalState.d.ts.map +1 -0
  670. package/package.json +3 -3
  671. package/dist/2fdaa2b95a34d549.svg +0 -9
  672. package/dist/5f91e9bafd9a9e2b.svg +0 -9
  673. package/dist/assets/icons/PenSquare.svg.js.map +0 -1
  674. package/dist/avenir.css +0 -44
  675. package/dist/components/button/BaseButton/BaseButton.module.css.js +0 -4
  676. package/dist/components/button/BaseButton/BaseButton.module.css.js.map +0 -1
  677. package/dist/components/button/BaseButton.d.ts +0 -21
  678. package/dist/components/button/BaseButton.d.ts.map +0 -1
  679. package/dist/components/button/Button/Button.module.css.js +0 -4
  680. package/dist/components/button/Button/Button.module.css.js.map +0 -1
  681. package/dist/components/button/Button.d.ts +0 -13
  682. package/dist/components/button/Button.d.ts.map +0 -1
  683. package/dist/components/button/Button.stories.d.ts +0 -11
  684. package/dist/components/button/Button.stories.d.ts.map +0 -1
  685. package/dist/components/button/PlainButton/PlainButton.module.css.js +0 -4
  686. package/dist/components/button/PlainButton/PlainButton.module.css.js.map +0 -1
  687. package/dist/components/button/PlainButton.d.ts +0 -11
  688. package/dist/components/button/PlainButton.d.ts.map +0 -1
  689. package/dist/components/button/PlainButton.stories.d.ts +0 -20
  690. package/dist/components/button/PlainButton.stories.d.ts.map +0 -1
  691. package/dist/components/button/SocialButton/SocialButton.module.css.js +0 -4
  692. package/dist/components/button/SocialButton/SocialButton.module.css.js.map +0 -1
  693. package/dist/components/button/types.d.ts +0 -194
  694. package/dist/components/button/types.d.ts.map +0 -1
  695. package/dist/components/button/types.js +0 -43
  696. package/dist/components/button/types.js.map +0 -1
  697. package/dist/components/icon/Icon.d.ts +0 -33
  698. package/dist/components/icon/Icon.d.ts.map +0 -1
  699. package/dist/components/icon/Icon.js +0 -39
  700. package/dist/components/icon/Icon.js.map +0 -1
  701. package/dist/components/icon/index.d.ts +0 -2
  702. package/dist/components/icon/index.d.ts.map +0 -1
  703. package/dist/components/icon.js +0 -11
  704. package/dist/components/icon.js.map +0 -1
  705. package/dist/components/input/PasswordInput/PasswordInput.modules.css.js +0 -4
  706. package/dist/components/input/PasswordInput/PasswordInput.modules.css.js.map +0 -1
  707. package/dist/components/input/SelectablePill/SelectablePill.module.css.js +0 -4
  708. package/dist/components/input/SelectablePill/SelectablePill.module.css.js.map +0 -1
  709. package/dist/components/layout/Popup/Popup.d.ts.map +0 -1
  710. package/dist/components/layout/Popup/Popup.js.map +0 -1
  711. package/dist/components/layout/Popup/Popup.module.css.js +0 -4
  712. package/dist/components/layout/Popup/Popup.stories.d.ts.map +0 -1
  713. package/dist/components/layout/Popup/index.d.ts.map +0 -1
  714. package/dist/components/layout/Popup/types.d.ts.map +0 -1
  715. package/dist/components/link/Link.d.ts +0 -8
  716. package/dist/components/link/Link.d.ts.map +0 -1
  717. package/dist/components/link/Link.js +0 -19
  718. package/dist/components/link/Link.js.map +0 -1
  719. package/dist/components/link/Link.module.css.js +0 -4
  720. package/dist/components/link/Link.module.css.js.map +0 -1
  721. package/dist/components/link/TextLink.d.ts +0 -6
  722. package/dist/components/link/TextLink.d.ts.map +0 -1
  723. package/dist/components/link/TextLink.stories.d.ts +0 -12
  724. package/dist/components/link/TextLink.stories.d.ts.map +0 -1
  725. package/dist/components/link/index.d.ts +0 -2
  726. package/dist/components/link/index.d.ts.map +0 -1
  727. package/dist/components/link/types.d.ts +0 -37
  728. package/dist/components/link/types.d.ts.map +0 -1
  729. package/dist/components/text/Text/Text.d.ts.map +0 -1
  730. package/dist/components/text/Text/Text.js +0 -42
  731. package/dist/components/text/Text/Text.js.map +0 -1
  732. package/dist/components/text/Text/Text.stories.d.ts.map +0 -1
  733. package/dist/components/text/Text/constants.d.ts.map +0 -1
  734. package/dist/components/text/Text/constants.js.map +0 -1
  735. package/dist/components/text/Text/index.d.ts +0 -4
  736. package/dist/components/text/Text/index.d.ts.map +0 -1
  737. package/dist/components/text/Text/types.d.ts.map +0 -1
  738. package/dist/components/text/Text/typography.module.css.js +0 -4
  739. package/dist/components/text/Text/typography.module.css.js.map +0 -1
  740. package/dist/components/typography/Icons/Icon.d.ts +0 -22
  741. package/dist/components/typography/Icons/Icon.d.ts.map +0 -1
  742. package/dist/components/typography/Icons/Icon.js +0 -34
  743. package/dist/components/typography/Icons/Icon.js.map +0 -1
  744. package/dist/components/typography/Icons/Icon.module.css.js +0 -4
  745. package/dist/components/typography/Icons/Icon.module.css.js.map +0 -1
  746. package/dist/components/typography/Icons/index.d.ts +0 -208
  747. package/dist/components/typography/Icons/index.d.ts.map +0 -1
  748. package/dist/components/typography/Icons/types.d.ts +0 -5
  749. package/dist/components/typography/Icons/types.d.ts.map +0 -1
  750. package/dist/components/typography/Text/Text.d.ts +0 -3
  751. package/dist/components/typography/Text/Text.d.ts.map +0 -1
  752. package/dist/components/typography/Text/Text.js +0 -24
  753. package/dist/components/typography/Text/Text.js.map +0 -1
  754. package/dist/components/typography/Text/Text.stories.d.ts +0 -12
  755. package/dist/components/typography/Text/Text.stories.d.ts.map +0 -1
  756. package/dist/components/typography/Text/constants.d.ts +0 -3
  757. package/dist/components/typography/Text/constants.d.ts.map +0 -1
  758. package/dist/components/typography/Text/constants.js +0 -36
  759. package/dist/components/typography/Text/constants.js.map +0 -1
  760. package/dist/components/typography/Text/index.d.ts +0 -3
  761. package/dist/components/typography/Text/index.d.ts.map +0 -1
  762. package/dist/components/typography/Text/types.d.ts +0 -19
  763. package/dist/components/typography/Text/types.d.ts.map +0 -1
  764. package/dist/components/typography/Text/typography.module.css.js +0 -4
  765. package/dist/components/typography/Text/typography.module.css.js.map +0 -1
  766. package/dist/components/typography/index.d.ts +0 -4
  767. package/dist/components/typography/index.d.ts.map +0 -1
  768. package/dist/d2608cfebdf74ed2.svg +0 -21
  769. package/dist/foundations/color/colors.stories.d.ts +0 -7
  770. package/dist/foundations/color/colors.stories.d.ts.map +0 -1
  771. package/dist/icons/icons.d.ts +0 -189
  772. package/dist/icons/icons.d.ts.map +0 -1
  773. package/dist/index.es.js +0 -6383
  774. package/dist/index.es.js.map +0 -1
  775. package/dist/storybook/colors.stories.d.ts +0 -7
  776. package/dist/storybook/colors.stories.d.ts.map +0 -1
  777. package/dist/storybook/components/CardLink.d.ts +0 -10
  778. package/dist/storybook/components/CardLink.d.ts.map +0 -1
  779. package/dist/storybook/components/ColorPalette/ColorPalette.d.ts +0 -7
  780. package/dist/storybook/components/ColorPalette/ColorPalette.d.ts.map +0 -1
  781. package/dist/storybook/components/ColorPalette/index.d.ts +0 -2
  782. package/dist/storybook/components/ColorPalette/index.d.ts.map +0 -1
  783. package/dist/storybook/components/ColorSwatch/ColorSwatch.d.ts +0 -8
  784. package/dist/storybook/components/ColorSwatch/ColorSwatch.d.ts.map +0 -1
  785. package/dist/storybook/components/ColorSwatch/index.d.ts +0 -2
  786. package/dist/storybook/components/ColorSwatch/index.d.ts.map +0 -1
  787. package/dist/styles/theme.d.ts +0 -3
  788. package/dist/styles/theme.d.ts.map +0 -1
  789. package/dist/styles/types.d.ts +0 -55
  790. package/dist/styles/types.d.ts.map +0 -1
  791. package/dist/types/colors.d.ts +0 -2
  792. package/dist/types/colors.d.ts.map +0 -1
  793. package/dist/types/styles.d.ts +0 -19
  794. package/dist/types/styles.d.ts.map +0 -1
  795. /package/dist/components/{layout/Popup → popup}/Popup.d.ts +0 -0
  796. /package/dist/components/{layout/Popup → popup}/Popup.module.css.js.map +0 -0
  797. /package/dist/components/{layout/Popup → popup}/Popup.stories.d.ts +0 -0
  798. /package/dist/components/{layout/Popup → popup}/index.d.ts +0 -0
  799. /package/dist/components/text/{Text/Text.d.ts → Text.d.ts} +0 -0
  800. /package/dist/components/text/{Text/Text.stories.d.ts → Text.stories.d.ts} +0 -0
  801. /package/dist/components/text/{Text/constants.d.ts → constants.d.ts} +0 -0
@@ -1,6 +1,6 @@
1
1
  import { __awaiter, __assign, __generator } from '../../_virtual/_tslib.js';
2
2
  import { jsx, Fragment, jsxs } from '@emotion/react/jsx-runtime';
3
- import { forwardRef, useMemo, useState, useCallback, useEffect, useRef } from 'react';
3
+ import { forwardRef, useState, useMemo, useCallback, useEffect, useRef } from 'react';
4
4
  import { useTheme } from '@emotion/react';
5
5
  import cn from 'classnames';
6
6
  import { capitalize } from 'lodash';
@@ -38,7 +38,7 @@ var getOffset = function (anchor, verticalAnchorOffset) {
38
38
  var _a;
39
39
  return _a = {}, _a[anchorPropertyMap[anchor]] = verticalAnchorOffset, _a;
40
40
  };
41
- var useModalRoot = function (id, zIndex) {
41
+ var useModalRoot = function (id, isOpen, zIndex) {
42
42
  var _a = useState(null), modalRoot = _a[0], setModalRoot = _a[1];
43
43
  var _b = useState(null), modalBg = _b[0], setModalBg = _b[1];
44
44
  useEffect(function () {
@@ -48,6 +48,18 @@ var useModalRoot = function (id, zIndex) {
48
48
  var el = document.getElementById(uniqueRootId);
49
49
  var bgEl = document.getElementById(uniqueBgId);
50
50
  var container = document.getElementById(uniqueRootContainerId);
51
+ if (!isOpen) {
52
+ if (bgEl) {
53
+ document.body.removeChild(bgEl);
54
+ }
55
+ if (el && container) {
56
+ container.removeChild(el);
57
+ }
58
+ if (container) {
59
+ document.body.removeChild(container);
60
+ }
61
+ return;
62
+ }
51
63
  if (!bgEl) {
52
64
  bgEl = document.createElement('div');
53
65
  bgEl.id = uniqueBgId;
@@ -73,13 +85,13 @@ var useModalRoot = function (id, zIndex) {
73
85
  }
74
86
  setModalRoot(el);
75
87
  setModalBg(bgEl);
76
- }, [id, zIndex]);
88
+ }, [id, zIndex, isOpen]);
77
89
  return [modalRoot, modalBg];
78
90
  };
79
91
  var Modal = forwardRef(function Modal(_a, ref) {
80
92
  var _b, _c, _d;
81
93
  var _this = this;
82
- var ariaDescribedbyProp = _a["aria-describedby"], ariaLabelledbyProp = _a["aria-labelledby"], modalKey = _a.modalKey, children = _a.children, onClose = _a.onClose, onClosed = _a.onClosed, isOpen = _a.isOpen, wrapperClassName = _a.wrapperClassName, bodyClassName = _a.bodyClassName, titleClassName = _a.titleClassName, subtitleClassName = _a.subtitleClassName, headerContainerClassName = _a.headerContainerClassName, _e = _a.anchor, anchor = _e === void 0 ? Anchor.CENTER : _e, subtitle = _a.subtitle, _f = _a.verticalAnchorOffset, verticalAnchorOffset = _f === void 0 ? 0 : _f, _g = _a.horizontalPadding, horizontalPadding = _g === void 0 ? 8 : _g, _h = _a.contentHorizontalPadding, contentHorizontalPadding = _h === void 0 ? 0 : _h, _j = _a.allowScroll, allowScroll = _j === void 0 ? false : _j, _k = _a.title, title = _k === void 0 ? '' : _k, _l = _a.showTitleHeader, showTitleHeader = _l === void 0 ? false : _l, _m = _a.dismissOnClickOutside, dismissOnClickOutside = _m === void 0 ? true : _m, _o = _a.showDismissButton, showDismissButton = _o === void 0 ? false : _o, zIndex = _a.zIndex, size = _a.size;
94
+ var ariaDescribedbyProp = _a["aria-describedby"], ariaLabelledbyProp = _a["aria-labelledby"], modalKey = _a.modalKey, children = _a.children, onClose = _a.onClose, onClosed = _a.onClosed, isOpenProp = _a.isOpen, wrapperClassName = _a.wrapperClassName, bodyClassName = _a.bodyClassName, titleClassName = _a.titleClassName, subtitleClassName = _a.subtitleClassName, headerContainerClassName = _a.headerContainerClassName, _e = _a.anchor, anchor = _e === void 0 ? Anchor.CENTER : _e, subtitle = _a.subtitle, _f = _a.verticalAnchorOffset, verticalAnchorOffset = _f === void 0 ? 0 : _f, _g = _a.horizontalPadding, horizontalPadding = _g === void 0 ? 8 : _g, _h = _a.contentHorizontalPadding, contentHorizontalPadding = _h === void 0 ? 0 : _h, _j = _a.allowScroll, allowScroll = _j === void 0 ? false : _j, _k = _a.title, title = _k === void 0 ? '' : _k, _l = _a.showTitleHeader, showTitleHeader = _l === void 0 ? false : _l, _m = _a.dismissOnClickOutside, dismissOnClickOutside = _m === void 0 ? true : _m, _o = _a.showDismissButton, showDismissButton = _o === void 0 ? false : _o, zIndex = _a.zIndex, size = _a.size;
83
95
  useEffectOnce(function () {
84
96
  if (process.env.NODE_ENV !== 'production' &&
85
97
  process.env.NODE_ENV !== 'development') {
@@ -97,25 +109,30 @@ var Modal = forwardRef(function Modal(_a, ref) {
97
109
  }
98
110
  }
99
111
  });
112
+ var _p = useState('closed'), modalState = _p[0], setModalState = _p[1];
113
+ var isOpen = modalState !== 'closed';
114
+ var isDoneOpening = modalState === 'open';
100
115
  var spring = useTheme().spring;
101
116
  var id = useMemo(function () { return modalKey || uniqueId('modal-'); }, [modalKey]);
102
117
  var titleId = ariaLabelledbyProp || "".concat(id, "-title");
103
118
  var subtitleId = ariaDescribedbyProp || "".concat(id, "-subtitle");
104
- var _p = useState(false), isDoneOpening = _p[0], setIsDoneOpening = _p[1];
105
119
  var modalContextValue = useMemo(function () {
106
120
  return { titleId: titleId, subtitleId: subtitleId, onClose: onClose, isDoneOpening: isDoneOpening };
107
121
  }, [titleId, subtitleId, onClose, isDoneOpening]);
108
122
  var onTouchMove = useCallback(function (e) {
109
123
  !allowScroll && e.preventDefault();
110
124
  }, [allowScroll]);
111
- var _q = useModalRoot(id, zIndex), modalRoot = _q[0], bgModal = _q[1];
112
- var _r = useState(isOpen), isDestroyed = _r[0], setIsDestroyed = _r[1];
113
- var _s = useModalScrollCount(), incrementScrollCount = _s.incrementScrollCount, decrementScrollCount = _s.decrementScrollCount;
114
- useScrollLock(isDestroyed, incrementScrollCount, decrementScrollCount);
125
+ var _q = useModalRoot(id, isOpen, zIndex), modalRoot = _q[0], bgModal = _q[1];
126
+ var _r = useModalScrollCount(), incrementScrollCount = _r.incrementScrollCount, decrementScrollCount = _r.decrementScrollCount;
127
+ useScrollLock(isOpen, incrementScrollCount, decrementScrollCount);
115
128
  useEffect(function () {
116
- if (isOpen)
117
- setIsDestroyed(true);
118
- }, [isOpen]);
129
+ if (modalState === 'closed' && isOpenProp) {
130
+ setModalState('opening');
131
+ }
132
+ else if (modalState === 'open' && !isOpenProp) {
133
+ setModalState('closing');
134
+ }
135
+ }, [isOpenProp, modalState]);
119
136
  useEffect(function () {
120
137
  if (isOpen) {
121
138
  if (bgModal) {
@@ -137,19 +154,16 @@ var Modal = forwardRef(function Modal(_a, ref) {
137
154
  modalRoot.removeEventListener('touchmove', onTouchMove);
138
155
  return function () { };
139
156
  }, [isOpen, bgModal, onTouchMove, modalRoot]);
140
- var transition = useTransition(isOpen, null, {
157
+ var transition = useTransition(isOpenProp, null, {
141
158
  from: { transform: 'scale(0)', opacity: 0 },
142
159
  // @ts-ignore function is a valid value for enter, but the types don't acknowledge that
143
- enter: function (item) {
160
+ enter: function () {
144
161
  return function (next) { return __awaiter(_this, void 0, void 0, function () {
145
162
  return __generator(this, function (_a) {
146
163
  switch (_a.label) {
147
164
  case 0: return [4 /*yield*/, next({ transform: 'scale(1)', opacity: 1 })];
148
165
  case 1:
149
166
  _a.sent();
150
- if (item) {
151
- setImmediate(function () { return setIsDoneOpening(true); });
152
- }
153
167
  return [2 /*return*/];
154
168
  }
155
169
  });
@@ -158,13 +172,10 @@ var Modal = forwardRef(function Modal(_a, ref) {
158
172
  leave: { transform: 'scale(0)', opacity: 0 },
159
173
  unique: true,
160
174
  config: spring.standard,
161
- onDestroyed: function () {
162
- if (!isOpen) {
163
- setIsDestroyed(false);
164
- setIsDoneOpening(false);
165
- if (onClosed) {
166
- onClosed();
167
- }
175
+ onDestroyed: function (isDestroyed) {
176
+ setModalState(isDestroyed ? 'closed' : 'open');
177
+ if (isDestroyed) {
178
+ onClosed === null || onClosed === void 0 ? void 0 : onClosed();
168
179
  }
169
180
  }
170
181
  });
@@ -223,7 +234,7 @@ var Modal = forwardRef(function Modal(_a, ref) {
223
234
  var headerContainerClassNames = cn(styles.headerContainer, (_d = {},
224
235
  _d[headerContainerClassName] = !!headerContainerClassName,
225
236
  _d));
226
- var _t = useState(typeof window !== 'undefined' ? window.innerHeight : 0), height = _t[0], setHeight = _t[1];
237
+ var _s = useState(typeof window !== 'undefined' ? window.innerHeight : 0), height = _s[0], setHeight = _s[1];
227
238
  useEffect(function () {
228
239
  var onResize = function () {
229
240
  setHeight(window.innerHeight);
@@ -237,11 +248,12 @@ var Modal = forwardRef(function Modal(_a, ref) {
237
248
  var handleModalContentClicked = function () {
238
249
  modalContentClickedRef.current = true;
239
250
  };
240
- return (jsx(Fragment, { children: modalRoot &&
241
- ReactDOM.createPortal(jsx(Fragment, { children: transition.map(function (_a) {
251
+ return (jsx(Fragment, { children: modalRoot && isOpen
252
+ ? ReactDOM.createPortal(jsx(Fragment, { children: transition.map(function (_a) {
242
253
  var item = _a.item, props = _a.props, key = _a.key;
243
254
  return item && (jsx(animated.div, __assign({ className: wrapperClassNames, style: __assign(__assign({}, wrapperStyle), { opacity: props.opacity, height: height, minHeight: height }), ref: ref }, { children: jsx(animated.div, __assign({ ref: dismissOnClickOutside ? outsideClickRef : null, className: bodyClassNames, style: __assign(__assign(__assign({}, props), bodyOffset), bodyStyle), role: 'dialog', "aria-labelledby": titleId, "aria-describedby": subtitleId, onClick: handleModalContentClicked }, { children: jsxs(Fragment, { children: [showTitleHeader && (jsxs("div", __assign({ className: headerContainerClassNames }, { children: [showDismissButton && (jsx("div", __assign({ className: styles.dismissButton, onClick: onClose }, { children: jsx(IconClose, { color: 'subdued', size: 's' }) }))), jsx("div", __assign({ id: titleId, className: cn(styles.header, titleClassName) }, { children: title })), jsx("div", __assign({ id: subtitleId, className: cn(styles.subtitle, subtitleClassName) }, { children: subtitle }))] }))), jsx(ModalContext.Provider, __assign({ value: modalContextValue }, { children: children }))] }) })) }), key));
244
- }) }), modalRoot) }));
255
+ }) }), modalRoot)
256
+ : null }));
245
257
  });
246
258
 
247
259
  export { Modal };
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.js","sources":["../../../src/components/modal/Modal.tsx"],"sourcesContent":["import {\n useEffect,\n useState,\n useCallback,\n useMemo,\n forwardRef,\n MouseEventHandler,\n useRef\n} from 'react'\n\nimport { useTheme } from '@emotion/react'\nimport cn from 'classnames'\nimport { capitalize } from 'lodash'\nimport uniqueId from 'lodash/uniqueId'\nimport ReactDOM from 'react-dom'\n// eslint-disable-next-line no-restricted-imports -- TODO: migrate to @react-spring/web\nimport { animated, useTransition } from 'react-spring'\nimport { useEffectOnce } from 'react-use'\n\nimport { useHotkeys, useScrollLock, useClickOutside } from '../../hooks'\nimport { IconClose } from '../../icons'\n\nimport styles from './Modal.module.css'\nimport { ModalContext } from './ModalContext'\nimport { findAncestor } from './findAncestor'\nimport { useModalScrollCount } from './hooks'\nimport { ModalProps, Anchor } from './types'\n\nconst rootContainer = 'modalRootContainer'\nconst rootId = 'modalRoot'\nconst bgId = 'bgModal'\nconst wrapperClass = 'modalWrapper'\n\nconst anchorStyleMap = {\n [Anchor.TOP]: styles.top,\n [Anchor.CENTER]: styles.center,\n [Anchor.BOTTOM]: styles.bottom\n}\n\nconst anchorPropertyMap = {\n [Anchor.TOP]: 'marginTop',\n [Anchor.CENTER]: 'marginTop',\n [Anchor.BOTTOM]: 'marginBottom'\n}\n\nconst getOffset = (anchor: Anchor, verticalAnchorOffset: number) => {\n return { [anchorPropertyMap[anchor]]: verticalAnchorOffset }\n}\n\nconst useModalRoot = (id: string, zIndex?: number) => {\n const [modalRoot, setModalRoot] = useState<HTMLElement | null>(null)\n const [modalBg, setModalBg] = useState<HTMLElement | null>(null)\n\n useEffect(() => {\n const uniqueRootId = `${id}-${rootId}`\n const uniqueBgId = `${id}-${bgId}`\n const uniqueRootContainerId = `${id}-${rootContainer}`\n let el = document.getElementById(uniqueRootId)\n let bgEl = document.getElementById(uniqueBgId)\n let container = document.getElementById(uniqueRootContainerId)\n\n if (!bgEl) {\n bgEl = document.createElement('div')\n bgEl.id = uniqueBgId\n bgEl.classList.add(bgId)\n document.body.appendChild(bgEl)\n }\n\n if (!container) {\n container = document.createElement('div')\n container.id = uniqueRootContainerId\n container.classList.add(rootContainer)\n document.body.appendChild(container)\n }\n\n if (!el) {\n el = document.createElement('div')\n el.id = uniqueRootId\n el.classList.add(rootId)\n container.appendChild(el)\n }\n\n if (zIndex) {\n container.style.zIndex = `${zIndex}`\n el.style.zIndex = `${zIndex}`\n bgEl.style.zIndex = `${zIndex - 1}`\n }\n\n setModalRoot(el)\n setModalBg(bgEl)\n }, [id, zIndex])\n\n return [modalRoot, modalBg]\n}\n\nexport const Modal = forwardRef<HTMLDivElement, ModalProps>(function Modal(\n {\n 'aria-describedby': ariaDescribedbyProp,\n 'aria-labelledby': ariaLabelledbyProp,\n modalKey,\n children,\n onClose,\n onClosed,\n isOpen,\n wrapperClassName,\n bodyClassName,\n titleClassName,\n subtitleClassName,\n headerContainerClassName,\n anchor = Anchor.CENTER,\n subtitle,\n verticalAnchorOffset = 0,\n horizontalPadding = 8,\n contentHorizontalPadding = 0,\n allowScroll = false,\n title = '',\n showTitleHeader = false,\n dismissOnClickOutside = true,\n showDismissButton = false,\n zIndex,\n size\n },\n ref\n) {\n useEffectOnce(() => {\n if (\n process.env.NODE_ENV !== 'production' &&\n process.env.NODE_ENV !== 'development'\n ) {\n if (\n subtitle ||\n title ||\n showTitleHeader ||\n titleClassName ||\n subtitleClassName ||\n headerContainerClassName ||\n showDismissButton\n ) {\n console.warn(\n 'Header and title-related props of `Modal` have been deprecated. Use the `ModalHeader` sub-component instead.'\n )\n }\n\n if (allowScroll !== undefined) {\n console.warn('`allowScroll` prop of `Modal` has been deprecated.')\n }\n }\n })\n\n const { spring } = useTheme()\n const id = useMemo(() => modalKey || uniqueId('modal-'), [modalKey])\n const titleId = ariaLabelledbyProp || `${id}-title`\n const subtitleId = ariaDescribedbyProp || `${id}-subtitle`\n const [isDoneOpening, setIsDoneOpening] = useState(false)\n const modalContextValue = useMemo(() => {\n return { titleId, subtitleId, onClose, isDoneOpening }\n }, [titleId, subtitleId, onClose, isDoneOpening])\n\n const onTouchMove = useCallback(\n (e: any) => {\n !allowScroll && e.preventDefault()\n },\n [allowScroll]\n )\n\n const [modalRoot, bgModal] = useModalRoot(id, zIndex)\n const [isDestroyed, setIsDestroyed] = useState(isOpen)\n const { incrementScrollCount, decrementScrollCount } = useModalScrollCount()\n useScrollLock(isDestroyed, incrementScrollCount, decrementScrollCount)\n\n useEffect(() => {\n if (isOpen) setIsDestroyed(true)\n }, [isOpen])\n\n useEffect(() => {\n if (isOpen) {\n if (bgModal) {\n bgModal.classList.add('bgModalVisible')\n }\n\n // Need to prevent safari iOS bounce\n // overscroll effect by intercepting\n // touchmove events.\n if (modalRoot) modalRoot.addEventListener('touchmove', onTouchMove)\n return () => {\n if (bgModal) bgModal.classList.remove('bgModalVisible')\n }\n }\n if (bgModal) bgModal.classList.remove('bgModalVisible')\n if (modalRoot) modalRoot.removeEventListener('touchmove', onTouchMove)\n return () => {}\n }, [isOpen, bgModal, onTouchMove, modalRoot])\n\n const transition = useTransition(isOpen, null, {\n from: { transform: 'scale(0)', opacity: 0 },\n // @ts-ignore function is a valid value for enter, but the types don't acknowledge that\n enter:\n (item: boolean) =>\n async (\n next: (props: { transform: string; opacity: number }) => Promise<void>\n ) => {\n await next({ transform: 'scale(1)', opacity: 1 })\n if (item) {\n setImmediate(() => setIsDoneOpening(true))\n }\n },\n leave: { transform: 'scale(0)', opacity: 0 },\n unique: true,\n config: spring.standard,\n onDestroyed: () => {\n if (!isOpen) {\n setIsDestroyed(false)\n setIsDoneOpening(false)\n if (onClosed) {\n onClosed()\n }\n }\n }\n })\n\n const modalContentClickedRef = useRef<boolean>(false)\n const outsideClickRef = useClickOutside(\n onClose,\n // Check to see if the click outside is not another modal wrapper.\n // If it is, that means we have a nested modal situation and shouldn't\n // dismiss \"this\" modal. We let the useClickOutside in \"that\" modal to\n // dismiss it.\n (e: EventTarget) => {\n // Only close if we're open.\n // Closing when we're not open can cause a race condition when opened\n // via a click since this handler exists prior to visibility,\n // causing the modal to open and close immediately\n if (!isOpen || modalContentClickedRef?.current) {\n modalContentClickedRef.current = false\n return true\n }\n if (e instanceof Element) {\n const modalElement = findAncestor(e, `.${wrapperClass}`)\n if (!modalElement) {\n return false\n }\n const isModalWrapper = modalElement.classList.contains(wrapperClass)\n const isThisModalWrapper = modalElement.classList.contains(\n `${wrapperClass}-${id}`\n )\n return isModalWrapper && !isThisModalWrapper\n }\n return false\n },\n isOpen\n )\n\n const handleEscape = useCallback(() => {\n if (isOpen) onClose()\n }, [isOpen, onClose])\n\n useHotkeys({ 27 /* escape */: handleEscape })\n\n const wrapperClassNames = cn(\n styles.wrapper,\n anchorStyleMap[anchor],\n {\n [wrapperClassName!]: !!wrapperClassName\n },\n wrapperClass,\n // Add a unique id class name to detect whether, if we're using\n // click outside to dismiss the modal, the correct \"outside\" is being clicked.\n `${wrapperClass}-${id}`\n )\n\n const wrapperStyle = {\n paddingLeft: `${horizontalPadding}px`,\n paddingRight: `${horizontalPadding}px`\n }\n\n /** Begin @deprecated section (favor using ModalContent sub-component) */\n const bodyStyle = {\n paddingLeft: `${contentHorizontalPadding}px`,\n paddingRight: `${contentHorizontalPadding}px`\n }\n /** End @deprecated section */\n\n const bodyClassNames = cn(styles.body, {\n [styles.noScroll!]: !allowScroll,\n [styles[`size${capitalize(size)}`]]: size,\n [bodyClassName!]: !!bodyClassName\n })\n\n const headerContainerClassNames = cn(styles.headerContainer, {\n [headerContainerClassName!]: !!headerContainerClassName\n })\n\n const [height, setHeight] = useState(\n typeof window !== 'undefined' ? window.innerHeight : 0\n )\n\n useEffect(() => {\n const onResize = () => {\n setHeight(window.innerHeight)\n }\n window.addEventListener('resize', onResize)\n return () => {\n window.removeEventListener('resize', onResize)\n }\n }, [setHeight])\n\n const bodyOffset = getOffset(anchor, verticalAnchorOffset)\n\n const handleModalContentClicked: MouseEventHandler = () => {\n modalContentClickedRef.current = true\n }\n return (\n <>\n {modalRoot &&\n ReactDOM.createPortal(\n <>\n {transition.map(\n ({ item, props, key }) =>\n item && (\n <animated.div\n className={wrapperClassNames}\n style={{\n ...wrapperStyle,\n opacity: props.opacity,\n height,\n minHeight: height\n }}\n key={key}\n ref={ref}\n >\n <animated.div\n ref={dismissOnClickOutside ? outsideClickRef : null}\n className={bodyClassNames}\n style={{ ...props, ...bodyOffset, ...bodyStyle }}\n role='dialog'\n aria-labelledby={titleId}\n aria-describedby={subtitleId}\n onClick={handleModalContentClicked}\n >\n <>\n {/** Begin @deprecated section (moved to ModalHeader and ModalTitle sub-components) */}\n {showTitleHeader && (\n <div className={headerContainerClassNames}>\n {showDismissButton && (\n <div\n className={styles.dismissButton}\n onClick={onClose}\n >\n <IconClose color='subdued' size='s' />\n </div>\n )}\n <div\n id={titleId}\n className={cn(styles.header, titleClassName)}\n >\n {title}\n </div>\n <div\n id={subtitleId}\n className={cn(styles.subtitle, subtitleClassName)}\n >\n {subtitle}\n </div>\n </div>\n )}\n {/** End @deprecated section */}\n <ModalContext.Provider value={modalContextValue}>\n {children}\n </ModalContext.Provider>\n </>\n </animated.div>\n </animated.div>\n )\n )}\n </>,\n modalRoot\n )}\n </>\n )\n})\n"],"names":["_jsx","_Fragment","_jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"Modal.js","sources":["../../../src/components/modal/Modal.tsx"],"sourcesContent":["import {\n useEffect,\n useState,\n useCallback,\n useMemo,\n forwardRef,\n MouseEventHandler,\n useRef\n} from 'react'\n\nimport { useTheme } from '@emotion/react'\nimport cn from 'classnames'\nimport { capitalize } from 'lodash'\nimport uniqueId from 'lodash/uniqueId'\nimport ReactDOM from 'react-dom'\n// eslint-disable-next-line no-restricted-imports -- TODO: migrate to @react-spring/web\nimport { animated, useTransition } from 'react-spring'\nimport { useEffectOnce } from 'react-use'\n\nimport { ModalState } from 'utils/modalState'\n\nimport { useHotkeys, useScrollLock, useClickOutside } from '../../hooks'\nimport { IconClose } from '../../icons'\n\nimport styles from './Modal.module.css'\nimport { ModalContext } from './ModalContext'\nimport { findAncestor } from './findAncestor'\nimport { useModalScrollCount } from './hooks'\nimport { ModalProps, Anchor } from './types'\n\nconst rootContainer = 'modalRootContainer'\nconst rootId = 'modalRoot'\nconst bgId = 'bgModal'\nconst wrapperClass = 'modalWrapper'\n\nconst anchorStyleMap = {\n [Anchor.TOP]: styles.top,\n [Anchor.CENTER]: styles.center,\n [Anchor.BOTTOM]: styles.bottom\n}\n\nconst anchorPropertyMap = {\n [Anchor.TOP]: 'marginTop',\n [Anchor.CENTER]: 'marginTop',\n [Anchor.BOTTOM]: 'marginBottom'\n}\n\nconst getOffset = (anchor: Anchor, verticalAnchorOffset: number) => {\n return { [anchorPropertyMap[anchor]]: verticalAnchorOffset }\n}\n\nconst useModalRoot = (id: string, isOpen: boolean, zIndex?: number) => {\n const [modalRoot, setModalRoot] = useState<HTMLElement | null>(null)\n const [modalBg, setModalBg] = useState<HTMLElement | null>(null)\n\n useEffect(() => {\n const uniqueRootId = `${id}-${rootId}`\n const uniqueBgId = `${id}-${bgId}`\n const uniqueRootContainerId = `${id}-${rootContainer}`\n let el = document.getElementById(uniqueRootId)\n let bgEl = document.getElementById(uniqueBgId)\n let container = document.getElementById(uniqueRootContainerId)\n\n if (!isOpen) {\n if (bgEl) {\n document.body.removeChild(bgEl)\n }\n if (el && container) {\n container.removeChild(el)\n }\n\n if (container) {\n document.body.removeChild(container)\n }\n\n return\n }\n\n if (!bgEl) {\n bgEl = document.createElement('div')\n bgEl.id = uniqueBgId\n bgEl.classList.add(bgId)\n document.body.appendChild(bgEl)\n }\n\n if (!container) {\n container = document.createElement('div')\n container.id = uniqueRootContainerId\n container.classList.add(rootContainer)\n document.body.appendChild(container)\n }\n\n if (!el) {\n el = document.createElement('div')\n el.id = uniqueRootId\n el.classList.add(rootId)\n container.appendChild(el)\n }\n\n if (zIndex) {\n container.style.zIndex = `${zIndex}`\n el.style.zIndex = `${zIndex}`\n bgEl.style.zIndex = `${zIndex - 1}`\n }\n\n setModalRoot(el)\n setModalBg(bgEl)\n }, [id, zIndex, isOpen])\n\n return [modalRoot, modalBg]\n}\n\nexport const Modal = forwardRef<HTMLDivElement, ModalProps>(function Modal(\n {\n 'aria-describedby': ariaDescribedbyProp,\n 'aria-labelledby': ariaLabelledbyProp,\n modalKey,\n children,\n onClose,\n onClosed,\n isOpen: isOpenProp,\n wrapperClassName,\n bodyClassName,\n titleClassName,\n subtitleClassName,\n headerContainerClassName,\n anchor = Anchor.CENTER,\n subtitle,\n verticalAnchorOffset = 0,\n horizontalPadding = 8,\n contentHorizontalPadding = 0,\n allowScroll = false,\n title = '',\n showTitleHeader = false,\n dismissOnClickOutside = true,\n showDismissButton = false,\n zIndex,\n size\n },\n ref\n) {\n useEffectOnce(() => {\n if (\n process.env.NODE_ENV !== 'production' &&\n process.env.NODE_ENV !== 'development'\n ) {\n if (\n subtitle ||\n title ||\n showTitleHeader ||\n titleClassName ||\n subtitleClassName ||\n headerContainerClassName ||\n showDismissButton\n ) {\n console.warn(\n 'Header and title-related props of `Modal` have been deprecated. Use the `ModalHeader` sub-component instead.'\n )\n }\n\n if (allowScroll !== undefined) {\n console.warn('`allowScroll` prop of `Modal` has been deprecated.')\n }\n }\n })\n\n const [modalState, setModalState] = useState<ModalState>('closed')\n const isOpen = modalState !== 'closed'\n const isDoneOpening = modalState === 'open'\n const { spring } = useTheme()\n const id = useMemo(() => modalKey || uniqueId('modal-'), [modalKey])\n const titleId = ariaLabelledbyProp || `${id}-title`\n const subtitleId = ariaDescribedbyProp || `${id}-subtitle`\n const modalContextValue = useMemo(() => {\n return { titleId, subtitleId, onClose, isDoneOpening }\n }, [titleId, subtitleId, onClose, isDoneOpening])\n\n const onTouchMove = useCallback(\n (e: any) => {\n !allowScroll && e.preventDefault()\n },\n [allowScroll]\n )\n\n const [modalRoot, bgModal] = useModalRoot(id, isOpen, zIndex)\n const { incrementScrollCount, decrementScrollCount } = useModalScrollCount()\n useScrollLock(isOpen, incrementScrollCount, decrementScrollCount)\n\n useEffect(() => {\n if (modalState === 'closed' && isOpenProp) {\n setModalState('opening')\n } else if (modalState === 'open' && !isOpenProp) {\n setModalState('closing')\n }\n }, [isOpenProp, modalState])\n\n useEffect(() => {\n if (isOpen) {\n if (bgModal) {\n bgModal.classList.add('bgModalVisible')\n }\n\n // Need to prevent safari iOS bounce\n // overscroll effect by intercepting\n // touchmove events.\n if (modalRoot) modalRoot.addEventListener('touchmove', onTouchMove)\n return () => {\n if (bgModal) bgModal.classList.remove('bgModalVisible')\n }\n }\n if (bgModal) bgModal.classList.remove('bgModalVisible')\n if (modalRoot) modalRoot.removeEventListener('touchmove', onTouchMove)\n return () => {}\n }, [isOpen, bgModal, onTouchMove, modalRoot])\n\n const transition = useTransition(isOpenProp, null, {\n from: { transform: 'scale(0)', opacity: 0 },\n // @ts-ignore function is a valid value for enter, but the types don't acknowledge that\n enter:\n () =>\n async (\n next: (props: { transform: string; opacity: number }) => Promise<void>\n ) => {\n await next({ transform: 'scale(1)', opacity: 1 })\n },\n leave: { transform: 'scale(0)', opacity: 0 },\n unique: true,\n config: spring.standard,\n onDestroyed: (isDestroyed) => {\n setModalState(isDestroyed ? 'closed' : 'open')\n if (isDestroyed) {\n onClosed?.()\n }\n }\n })\n\n const modalContentClickedRef = useRef<boolean>(false)\n const outsideClickRef = useClickOutside(\n onClose,\n // Check to see if the click outside is not another modal wrapper.\n // If it is, that means we have a nested modal situation and shouldn't\n // dismiss \"this\" modal. We let the useClickOutside in \"that\" modal to\n // dismiss it.\n (e: EventTarget) => {\n // Only close if we're open.\n // Closing when we're not open can cause a race condition when opened\n // via a click since this handler exists prior to visibility,\n // causing the modal to open and close immediately\n if (!isOpen || modalContentClickedRef?.current) {\n modalContentClickedRef.current = false\n return true\n }\n if (e instanceof Element) {\n const modalElement = findAncestor(e, `.${wrapperClass}`)\n if (!modalElement) {\n return false\n }\n const isModalWrapper = modalElement.classList.contains(wrapperClass)\n const isThisModalWrapper = modalElement.classList.contains(\n `${wrapperClass}-${id}`\n )\n return isModalWrapper && !isThisModalWrapper\n }\n return false\n },\n isOpen\n )\n\n const handleEscape = useCallback(() => {\n if (isOpen) onClose()\n }, [isOpen, onClose])\n\n useHotkeys({ 27 /* escape */: handleEscape })\n\n const wrapperClassNames = cn(\n styles.wrapper,\n anchorStyleMap[anchor],\n {\n [wrapperClassName!]: !!wrapperClassName\n },\n wrapperClass,\n // Add a unique id class name to detect whether, if we're using\n // click outside to dismiss the modal, the correct \"outside\" is being clicked.\n `${wrapperClass}-${id}`\n )\n\n const wrapperStyle = {\n paddingLeft: `${horizontalPadding}px`,\n paddingRight: `${horizontalPadding}px`\n }\n\n /** Begin @deprecated section (favor using ModalContent sub-component) */\n const bodyStyle = {\n paddingLeft: `${contentHorizontalPadding}px`,\n paddingRight: `${contentHorizontalPadding}px`\n }\n /** End @deprecated section */\n\n const bodyClassNames = cn(styles.body, {\n [styles.noScroll!]: !allowScroll,\n [styles[`size${capitalize(size)}`]]: size,\n [bodyClassName!]: !!bodyClassName\n })\n\n const headerContainerClassNames = cn(styles.headerContainer, {\n [headerContainerClassName!]: !!headerContainerClassName\n })\n\n const [height, setHeight] = useState(\n typeof window !== 'undefined' ? window.innerHeight : 0\n )\n\n useEffect(() => {\n const onResize = () => {\n setHeight(window.innerHeight)\n }\n window.addEventListener('resize', onResize)\n return () => {\n window.removeEventListener('resize', onResize)\n }\n }, [setHeight])\n\n const bodyOffset = getOffset(anchor, verticalAnchorOffset)\n\n const handleModalContentClicked: MouseEventHandler = () => {\n modalContentClickedRef.current = true\n }\n\n return (\n <>\n {modalRoot && isOpen\n ? ReactDOM.createPortal(\n <>\n {transition.map(\n ({ item, props, key }) =>\n item && (\n <animated.div\n className={wrapperClassNames}\n style={{\n ...wrapperStyle,\n opacity: props.opacity,\n height,\n minHeight: height\n }}\n key={key}\n ref={ref}\n >\n <animated.div\n ref={dismissOnClickOutside ? outsideClickRef : null}\n className={bodyClassNames}\n style={{ ...props, ...bodyOffset, ...bodyStyle }}\n role='dialog'\n aria-labelledby={titleId}\n aria-describedby={subtitleId}\n onClick={handleModalContentClicked}\n >\n <>\n {/** Begin @deprecated section (moved to ModalHeader and ModalTitle sub-components) */}\n {showTitleHeader && (\n <div className={headerContainerClassNames}>\n {showDismissButton && (\n <div\n className={styles.dismissButton}\n onClick={onClose}\n >\n <IconClose color='subdued' size='s' />\n </div>\n )}\n <div\n id={titleId}\n className={cn(styles.header, titleClassName)}\n >\n {title}\n </div>\n <div\n id={subtitleId}\n className={cn(\n styles.subtitle,\n subtitleClassName\n )}\n >\n {subtitle}\n </div>\n </div>\n )}\n {/** End @deprecated section */}\n <ModalContext.Provider value={modalContextValue}>\n {children}\n </ModalContext.Provider>\n </>\n </animated.div>\n </animated.div>\n )\n )}\n </>,\n modalRoot\n )\n : null}\n </>\n )\n})\n"],"names":["_jsx","_Fragment","_jsxs"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AA8BA,IAAM,aAAa,GAAG,oBAAoB,CAAA;AAC1C,IAAM,MAAM,GAAG,WAAW,CAAA;AAC1B,IAAM,IAAI,GAAG,SAAS,CAAA;AACtB,IAAM,YAAY,GAAG,cAAc,CAAA;AAEnC,IAAM,cAAc,IAAA,EAAA,GAAA,EAAA;AAClB,IAAA,EAAA,CAAC,MAAM,CAAC,GAAG,CAAG,GAAA,MAAM,CAAC,GAAG;AACxB,IAAA,EAAA,CAAC,MAAM,CAAC,MAAM,CAAG,GAAA,MAAM,CAAC,MAAM;AAC9B,IAAA,EAAA,CAAC,MAAM,CAAC,MAAM,CAAG,GAAA,MAAM,CAAC,MAAM;OAC/B,CAAA;AAED,IAAM,iBAAiB,IAAA,EAAA,GAAA,EAAA;AACrB,IAAA,EAAA,CAAC,MAAM,CAAC,GAAG,CAAA,GAAG,WAAW;AACzB,IAAA,EAAA,CAAC,MAAM,CAAC,MAAM,CAAA,GAAG,WAAW;AAC5B,IAAA,EAAA,CAAC,MAAM,CAAC,MAAM,CAAA,GAAG,cAAc;OAChC,CAAA;AAED,IAAM,SAAS,GAAG,UAAC,MAAc,EAAE,oBAA4B,EAAA;;AAC7D,IAAA,OAAA,EAAA,GAAA,EAAA,EAAS,GAAC,iBAAiB,CAAC,MAAM,CAAC,CAAA,GAAG,oBAAoB,EAAE,EAAA,CAAA;AAC9D,CAAC,CAAA;AAED,IAAM,YAAY,GAAG,UAAC,EAAU,EAAE,MAAe,EAAE,MAAe,EAAA;IAC1D,IAAA,EAAA,GAA4B,QAAQ,CAAqB,IAAI,CAAC,EAA7D,SAAS,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,YAAY,GAAA,EAAA,CAAA,CAAA,CAAsC,CAAA;IAC9D,IAAA,EAAA,GAAwB,QAAQ,CAAqB,IAAI,CAAC,EAAzD,OAAO,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,UAAU,GAAA,EAAA,CAAA,CAAA,CAAsC,CAAA;AAEhE,IAAA,SAAS,CAAC,YAAA;AACR,QAAA,IAAM,YAAY,GAAG,EAAA,CAAA,MAAA,CAAG,EAAE,EAAI,GAAA,CAAA,CAAA,MAAA,CAAA,MAAM,CAAE,CAAA;AACtC,QAAA,IAAM,UAAU,GAAG,EAAA,CAAA,MAAA,CAAG,EAAE,EAAI,GAAA,CAAA,CAAA,MAAA,CAAA,IAAI,CAAE,CAAA;AAClC,QAAA,IAAM,qBAAqB,GAAG,EAAA,CAAA,MAAA,CAAG,EAAE,EAAI,GAAA,CAAA,CAAA,MAAA,CAAA,aAAa,CAAE,CAAA;QACtD,IAAI,EAAE,GAAG,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAA;QAC9C,IAAI,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAA;QAC9C,IAAI,SAAS,GAAG,QAAQ,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAA;QAE9D,IAAI,CAAC,MAAM,EAAE;AACX,YAAA,IAAI,IAAI,EAAE;AACR,gBAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;AAChC,aAAA;YACD,IAAI,EAAE,IAAI,SAAS,EAAE;AACnB,gBAAA,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;AAC1B,aAAA;AAED,YAAA,IAAI,SAAS,EAAE;AACb,gBAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;AACrC,aAAA;YAED,OAAM;AACP,SAAA;QAED,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;AACpC,YAAA,IAAI,CAAC,EAAE,GAAG,UAAU,CAAA;AACpB,YAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;AACxB,YAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;AAChC,SAAA;QAED,IAAI,CAAC,SAAS,EAAE;AACd,YAAA,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;AACzC,YAAA,SAAS,CAAC,EAAE,GAAG,qBAAqB,CAAA;AACpC,YAAA,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;AACtC,YAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;AACrC,SAAA;QAED,IAAI,CAAC,EAAE,EAAE;AACP,YAAA,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;AAClC,YAAA,EAAE,CAAC,EAAE,GAAG,YAAY,CAAA;AACpB,YAAA,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;AACxB,YAAA,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;AAC1B,SAAA;AAED,QAAA,IAAI,MAAM,EAAE;YACV,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,EAAG,CAAA,MAAA,CAAA,MAAM,CAAE,CAAA;YACpC,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,EAAG,CAAA,MAAA,CAAA,MAAM,CAAE,CAAA;YAC7B,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,UAAG,MAAM,GAAG,CAAC,CAAE,CAAA;AACpC,SAAA;QAED,YAAY,CAAC,EAAE,CAAC,CAAA;QAChB,UAAU,CAAC,IAAI,CAAC,CAAA;KACjB,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;AAExB,IAAA,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;AAC7B,CAAC,CAAA;AAEY,IAAA,KAAK,GAAG,UAAU,CAA6B,SAAS,KAAK,CACxE,EAyBC,EACD,GAAG,EAAA;;IA3BuD,IAgS3D,KAAA,GAAA,IAAA,CAAA;QA9RuB,mBAAmB,GAAA,EAAA,CAAA,kBAAA,CAAA,EACpB,kBAAkB,GAAA,EAAA,CAAA,iBAAA,CAAA,EACrC,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,QAAQ,GAAA,EAAA,CAAA,QAAA,EACA,UAAU,YAAA,EAClB,gBAAgB,GAAA,EAAA,CAAA,gBAAA,EAChB,aAAa,GAAA,EAAA,CAAA,aAAA,EACb,cAAc,GAAA,EAAA,CAAA,cAAA,EACd,iBAAiB,GAAA,EAAA,CAAA,iBAAA,EACjB,wBAAwB,GAAA,EAAA,CAAA,wBAAA,EACxB,EAAsB,GAAA,EAAA,CAAA,MAAA,EAAtB,MAAM,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,MAAM,CAAC,MAAM,GAAA,EAAA,EACtB,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,EAAwB,GAAA,EAAA,CAAA,oBAAA,EAAxB,oBAAoB,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,CAAC,GAAA,EAAA,EACxB,EAAqB,GAAA,EAAA,CAAA,iBAAA,EAArB,iBAAiB,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,CAAC,GAAA,EAAA,EACrB,EAA4B,GAAA,EAAA,CAAA,wBAAA,EAA5B,wBAAwB,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,CAAC,GAAA,EAAA,EAC5B,EAAmB,GAAA,EAAA,CAAA,WAAA,EAAnB,WAAW,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,KAAK,GAAA,EAAA,EACnB,EAAU,GAAA,EAAA,CAAA,KAAA,EAAV,KAAK,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAA,EAAA,EACV,EAAuB,GAAA,EAAA,CAAA,eAAA,EAAvB,eAAe,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,KAAK,GAAA,EAAA,EACvB,EAA4B,GAAA,EAAA,CAAA,qBAAA,EAA5B,qBAAqB,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,IAAI,GAAA,EAAA,EAC5B,EAAyB,GAAA,EAAA,CAAA,iBAAA,EAAzB,iBAAiB,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,KAAK,GAAA,EAAA,EACzB,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,IAAI,GAAA,EAAA,CAAA,IAAA,CAAA;AAIN,IAAA,aAAa,CAAC,YAAA;AACZ,QAAA,IACE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;AACrC,YAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EACtC;AACA,YAAA,IACE,QAAQ;gBACR,KAAK;gBACL,eAAe;gBACf,cAAc;gBACd,iBAAiB;gBACjB,wBAAwB;AACxB,gBAAA,iBAAiB,EACjB;AACA,gBAAA,OAAO,CAAC,IAAI,CACV,8GAA8G,CAC/G,CAAA;AACF,aAAA;YAED,IAAI,WAAW,KAAK,SAAS,EAAE;AAC7B,gBAAA,OAAO,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAA;AACnE,aAAA;AACF,SAAA;AACH,KAAC,CAAC,CAAA;IAEI,IAAA,EAAA,GAA8B,QAAQ,CAAa,QAAQ,CAAC,EAA3D,UAAU,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,aAAa,GAAA,EAAA,CAAA,CAAA,CAAkC,CAAA;AAClE,IAAA,IAAM,MAAM,GAAG,UAAU,KAAK,QAAQ,CAAA;AACtC,IAAA,IAAM,aAAa,GAAG,UAAU,KAAK,MAAM,CAAA;AACnC,IAAA,IAAA,MAAM,GAAK,QAAQ,EAAE,OAAf,CAAe;AAC7B,IAAA,IAAM,EAAE,GAAG,OAAO,CAAC,YAAM,EAAA,OAAA,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAA,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;AACpE,IAAA,IAAM,OAAO,GAAG,kBAAkB,IAAI,EAAG,CAAA,MAAA,CAAA,EAAE,WAAQ,CAAA;AACnD,IAAA,IAAM,UAAU,GAAG,mBAAmB,IAAI,EAAG,CAAA,MAAA,CAAA,EAAE,cAAW,CAAA;IAC1D,IAAM,iBAAiB,GAAG,OAAO,CAAC,YAAA;AAChC,QAAA,OAAO,EAAE,OAAO,EAAA,OAAA,EAAE,UAAU,EAAA,UAAA,EAAE,OAAO,EAAA,OAAA,EAAE,aAAa,EAAA,aAAA,EAAE,CAAA;KACvD,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAA;AAEjD,IAAA,IAAM,WAAW,GAAG,WAAW,CAC7B,UAAC,CAAM,EAAA;AACL,QAAA,CAAC,WAAW,IAAI,CAAC,CAAC,cAAc,EAAE,CAAA;AACpC,KAAC,EACD,CAAC,WAAW,CAAC,CACd,CAAA;AAEK,IAAA,IAAA,EAAuB,GAAA,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAtD,SAAS,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,OAAO,QAAoC,CAAA;IACvD,IAAA,EAAA,GAAiD,mBAAmB,EAAE,EAApE,oBAAoB,GAAA,EAAA,CAAA,oBAAA,EAAE,oBAAoB,GAAA,EAAA,CAAA,oBAA0B,CAAA;AAC5E,IAAA,aAAa,CAAC,MAAM,EAAE,oBAAoB,EAAE,oBAAoB,CAAC,CAAA;AAEjE,IAAA,SAAS,CAAC,YAAA;AACR,QAAA,IAAI,UAAU,KAAK,QAAQ,IAAI,UAAU,EAAE;YACzC,aAAa,CAAC,SAAS,CAAC,CAAA;AACzB,SAAA;AAAM,aAAA,IAAI,UAAU,KAAK,MAAM,IAAI,CAAC,UAAU,EAAE;YAC/C,aAAa,CAAC,SAAS,CAAC,CAAA;AACzB,SAAA;AACH,KAAC,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAA;AAE5B,IAAA,SAAS,CAAC,YAAA;AACR,QAAA,IAAI,MAAM,EAAE;AACV,YAAA,IAAI,OAAO,EAAE;AACX,gBAAA,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;AACxC,aAAA;;;;AAKD,YAAA,IAAI,SAAS;AAAE,gBAAA,SAAS,CAAC,gBAAgB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;YACnE,OAAO,YAAA;AACL,gBAAA,IAAI,OAAO;AAAE,oBAAA,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;AACzD,aAAC,CAAA;AACF,SAAA;AACD,QAAA,IAAI,OAAO;AAAE,YAAA,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;AACvD,QAAA,IAAI,SAAS;AAAE,YAAA,SAAS,CAAC,mBAAmB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;QACtE,OAAO,YAAA,GAAQ,CAAA;KAChB,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,CAAA;AAE7C,IAAA,IAAM,UAAU,GAAG,aAAa,CAAC,UAAU,EAAE,IAAI,EAAE;QACjD,IAAI,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE;;AAE3C,QAAA,KAAK,EACH,YAAA;AACA,YAAA,OAAA,UACE,IAAsE,EAAA,EAAA,OAAA,SAAA,CAAA,KAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,YAAA;;;AAEtE,wBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,YAAM,IAAI,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAA,CAAA;;AAAjD,4BAAA,EAAA,CAAA,IAAA,EAAiD,CAAA;;;;AAClD,aAAA,CAAA,CAAA,EAAA,CAAA;SAAA;QACH,KAAK,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE;AAC5C,QAAA,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,MAAM,CAAC,QAAQ;QACvB,WAAW,EAAE,UAAC,WAAW,EAAA;YACvB,aAAa,CAAC,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAC,CAAA;AAC9C,YAAA,IAAI,WAAW,EAAE;AACf,gBAAA,QAAQ,KAAR,IAAA,IAAA,QAAQ,KAAR,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,QAAQ,EAAI,CAAA;AACb,aAAA;SACF;AACF,KAAA,CAAC,CAAA;AAEF,IAAA,IAAM,sBAAsB,GAAG,MAAM,CAAU,KAAK,CAAC,CAAA;AACrD,IAAA,IAAM,eAAe,GAAG,eAAe,CACrC,OAAO;;;;;AAKP,IAAA,UAAC,CAAc,EAAA;;;;;QAKb,IAAI,CAAC,MAAM,KAAI,sBAAsB,KAAA,IAAA,IAAtB,sBAAsB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAtB,sBAAsB,CAAE,OAAO,CAAA,EAAE;AAC9C,YAAA,sBAAsB,CAAC,OAAO,GAAG,KAAK,CAAA;AACtC,YAAA,OAAO,IAAI,CAAA;AACZ,SAAA;QACD,IAAI,CAAC,YAAY,OAAO,EAAE;YACxB,IAAM,YAAY,GAAG,YAAY,CAAC,CAAC,EAAE,GAAI,CAAA,MAAA,CAAA,YAAY,CAAE,CAAC,CAAA;YACxD,IAAI,CAAC,YAAY,EAAE;AACjB,gBAAA,OAAO,KAAK,CAAA;AACb,aAAA;YACD,IAAM,cAAc,GAAG,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;AACpE,YAAA,IAAM,kBAAkB,GAAG,YAAY,CAAC,SAAS,CAAC,QAAQ,CACxD,EAAA,CAAA,MAAA,CAAG,YAAY,EAAA,GAAA,CAAA,CAAA,MAAA,CAAI,EAAE,CAAE,CACxB,CAAA;AACD,YAAA,OAAO,cAAc,IAAI,CAAC,kBAAkB,CAAA;AAC7C,SAAA;AACD,QAAA,OAAO,KAAK,CAAA;KACb,EACD,MAAM,CACP,CAAA;IAED,IAAM,YAAY,GAAG,WAAW,CAAC,YAAA;AAC/B,QAAA,IAAI,MAAM;AAAE,YAAA,OAAO,EAAE,CAAA;AACvB,KAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IAErB,UAAU,CAAC,EAAE,EAAE,eAAe,YAAY,EAAE,CAAC,CAAA;IAE7C,IAAM,iBAAiB,GAAG,EAAE,CAC1B,MAAM,CAAC,OAAO,EACd,cAAc,CAAC,MAAM,CAAC,GAAA,EAAA,GAAA,EAAA;AAEpB,QAAA,EAAA,CAAC,gBAAiB,CAAA,GAAG,CAAC,CAAC,gBAAgB;aAEzC,YAAY;;;AAGZ,IAAA,EAAA,CAAA,MAAA,CAAG,YAAY,EAAA,GAAA,CAAA,CAAA,MAAA,CAAI,EAAE,CAAE,CACxB,CAAA;AAED,IAAA,IAAM,YAAY,GAAG;QACnB,WAAW,EAAE,EAAG,CAAA,MAAA,CAAA,iBAAiB,EAAI,IAAA,CAAA;QACrC,YAAY,EAAE,EAAG,CAAA,MAAA,CAAA,iBAAiB,EAAI,IAAA,CAAA;KACvC,CAAA;;AAGD,IAAA,IAAM,SAAS,GAAG;QAChB,WAAW,EAAE,EAAG,CAAA,MAAA,CAAA,wBAAwB,EAAI,IAAA,CAAA;QAC5C,YAAY,EAAE,EAAG,CAAA,MAAA,CAAA,wBAAwB,EAAI,IAAA,CAAA;KAC9C,CAAA;;AAGD,IAAA,IAAM,cAAc,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,GAAA,EAAA,GAAA,EAAA;AACnC,QAAA,EAAA,CAAC,MAAM,CAAC,QAAS,CAAA,GAAG,CAAC,WAAW;QAChC,EAAC,CAAA,MAAM,CAAC,MAAA,CAAA,MAAA,CAAO,UAAU,CAAC,IAAI,CAAC,CAAE,CAAC,CAAA,GAAG,IAAI;AACzC,QAAA,EAAA,CAAC,aAAc,CAAA,GAAG,CAAC,CAAC,aAAa;YACjC,CAAA;AAEF,IAAA,IAAM,yBAAyB,GAAG,EAAE,CAAC,MAAM,CAAC,eAAe,GAAA,EAAA,GAAA,EAAA;AACzD,QAAA,EAAA,CAAC,wBAAyB,CAAA,GAAG,CAAC,CAAC,wBAAwB;YACvD,CAAA;IAEI,IAAA,EAAA,GAAsB,QAAQ,CAClC,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,WAAW,GAAG,CAAC,CACvD,EAFM,MAAM,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,SAAS,GAAA,EAAA,CAAA,CAAA,CAEvB,CAAA;AAED,IAAA,SAAS,CAAC,YAAA;AACR,QAAA,IAAM,QAAQ,GAAG,YAAA;AACf,YAAA,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;AAC/B,SAAC,CAAA;AACD,QAAA,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;QAC3C,OAAO,YAAA;AACL,YAAA,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;AAChD,SAAC,CAAA;AACH,KAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;IAEf,IAAM,UAAU,GAAG,SAAS,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;AAE1D,IAAA,IAAM,yBAAyB,GAAsB,YAAA;AACnD,QAAA,sBAAsB,CAAC,OAAO,GAAG,IAAI,CAAA;AACvC,KAAC,CAAA;AAED,IAAA,QACEA,GAAA,CAAAC,QAAA,EAAA,EAAA,QAAA,EACG,SAAS,IAAI,MAAM;cAChB,QAAQ,CAAC,YAAY,CACnBD,GACG,CAAAC,QAAA,EAAA,EAAA,QAAA,EAAA,UAAU,CAAC,GAAG,CACb,UAAC,EAAoB,EAAA;AAAlB,oBAAA,IAAA,IAAI,UAAA,EAAE,KAAK,GAAA,EAAA,CAAA,KAAA,EAAE,GAAG,GAAA,EAAA,CAAA,GAAA,CAAA;AACjB,oBAAA,OAAA,IAAI,KACFD,GAAC,CAAA,QAAQ,CAAC,GAAG,EAAA,QAAA,CAAA,EACX,SAAS,EAAE,iBAAiB,EAC5B,KAAK,wBACA,YAAY,CAAA,EAAA,EACf,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,MAAM,EAAA,MAAA,EACN,SAAS,EAAE,MAAM,EAAA,CAAA,EAGnB,GAAG,EAAE,GAAG,EAER,EAAA,EAAA,QAAA,EAAAA,GAAA,CAAC,QAAQ,CAAC,GAAG,aACX,GAAG,EAAE,qBAAqB,GAAG,eAAe,GAAG,IAAI,EACnD,SAAS,EAAE,cAAc,EACzB,KAAK,iCAAO,KAAK,CAAA,EAAK,UAAU,CAAK,EAAA,SAAS,CAC9C,EAAA,IAAI,EAAC,QAAQ,EAAA,iBAAA,EACI,OAAO,EACN,kBAAA,EAAA,UAAU,EAC5B,OAAO,EAAE,yBAAyB,EAAA,EAAA,EAAA,QAAA,EAElCE,4BAEG,eAAe,KACdA,IAAK,CAAA,KAAA,EAAA,QAAA,CAAA,EAAA,SAAS,EAAE,yBAAyB,EAAA,EAAA,EAAA,QAAA,EAAA,CACtC,iBAAiB,KAChBF,GACE,CAAA,KAAA,EAAA,QAAA,CAAA,EAAA,SAAS,EAAE,MAAM,CAAC,aAAa,EAC/B,OAAO,EAAE,OAAO,EAEhB,EAAA,EAAA,QAAA,EAAAA,GAAA,CAAC,SAAS,EAAC,EAAA,KAAK,EAAC,SAAS,EAAC,IAAI,EAAC,GAAG,EAAG,CAAA,EAAA,CAAA,CAClC,CACP,EACDA,GAAA,CAAA,KAAA,EAAA,QAAA,CAAA,EACE,EAAE,EAAE,OAAO,EACX,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,EAE3C,EAAA,EAAA,QAAA,EAAA,KAAK,IACF,EACNA,GAAA,CAAA,KAAA,EAAA,QAAA,CAAA,EACE,EAAE,EAAE,UAAU,EACd,SAAS,EAAE,EAAE,CACX,MAAM,CAAC,QAAQ,EACf,iBAAiB,CAClB,EAEA,EAAA,EAAA,QAAA,EAAA,QAAQ,EACL,CAAA,CAAA,CAAA,EAAA,CAAA,CACF,CACP,EAEDA,GAAA,CAAC,YAAY,CAAC,QAAQ,aAAC,KAAK,EAAE,iBAAiB,EAAA,EAAA,EAAA,QAAA,EAC5C,QAAQ,EACa,CAAA,CAAA,CAAA,EAAA,CACvB,IACU,EA9CV,CAAA,EAAA,GAAG,CA+CK,CAChB,CAAA;AAzDD,iBAyDC,CACJ,EAAA,CACA,EACH,SAAS,CACV;AACH,cAAE,IAAI,EACP,CAAA,EACJ;AACH,CAAC;;;;"}
@@ -10,6 +10,7 @@ import '../button/PlainButton/PlainButton.js';
10
10
  import '../button/FollowButton/FollowButton.js';
11
11
  import '../button/FilterButton/FilterButton.js';
12
12
  import { IconButton } from '../button/IconButton/IconButton.js';
13
+ import '../button/UnstyledButton.js';
13
14
  import { ModalContext } from './ModalContext.js';
14
15
  import styles from './ModalHeader.module.css.js';
15
16
 
@@ -1 +1 @@
1
- {"version":3,"file":"ModalHeader.js","sources":["../../../src/components/modal/ModalHeader.tsx"],"sourcesContent":["import { useContext, forwardRef, useCallback } from 'react'\n\nimport cn from 'classnames'\n\nimport { IconClose } from '../../icons'\nimport { IconButton } from '../button'\n\nimport { ModalContext } from './ModalContext'\nimport styles from './ModalHeader.module.css'\nimport { ModalHeaderProps, ModalTitleProps } from './types'\n\n/**\n * Header component to be used inside modals\n */\nexport const ModalHeader = forwardRef<HTMLDivElement, ModalHeaderProps>(\n function ModalHeader(\n {\n className,\n onClose: onCloseProp,\n dismissButtonClassName,\n showDismissButton = true,\n children,\n ...props\n },\n ref\n ) {\n const { onClose } = useContext(ModalContext)\n\n const handleClose = useCallback(() => {\n onClose?.()\n onCloseProp?.()\n }, [onClose, onCloseProp])\n\n return (\n <div\n className={cn(\n styles.headerContainer,\n { [styles.noDismissButton]: !showDismissButton },\n className\n )}\n ref={ref}\n {...props}\n >\n {showDismissButton ? (\n <IconButton\n aria-label='dismiss dialog'\n className={cn(styles.dismissButton, dismissButtonClassName)}\n icon={IconClose}\n color='subdued'\n size='s'\n onClick={handleClose}\n />\n ) : null}\n {children}\n </div>\n )\n }\n)\n\n/**\n * Title component to be used inside modal headers\n */\nexport const ModalTitle = forwardRef<HTMLDivElement, ModalTitleProps>(\n function ModalTitle(\n {\n subtitleClassName,\n icon,\n iconClassName,\n title,\n titleClassName,\n subtitle,\n titleId: titleIdProp,\n subtitleId: subtitleIdProp,\n ...props\n },\n ref\n ) {\n const modalContext = useContext(ModalContext)\n const titleId = titleIdProp || modalContext.titleId\n const subtitleId = subtitleIdProp || modalContext.subtitleId\n\n return (\n <>\n <div className={styles.titleContainer} {...props} ref={ref}>\n {icon == null ? null : (\n <div className={cn(styles.icon, iconClassName)}>{icon}</div>\n )}\n <h2 id={titleId} className={cn(styles.title, titleClassName)}>\n {title}\n </h2>\n </div>\n {subtitle == null ? null : (\n <div className={cn(styles.subtitleContainer, subtitleClassName)}>\n <h3 id={subtitleId} className={styles.subtitle}>\n {subtitle}\n </h3>\n </div>\n )}\n </>\n )\n }\n)\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"ModalHeader.js","sources":["../../../src/components/modal/ModalHeader.tsx"],"sourcesContent":["import { useContext, forwardRef, useCallback } from 'react'\n\nimport cn from 'classnames'\n\nimport { IconClose } from '../../icons'\nimport { IconButton } from '../button'\n\nimport { ModalContext } from './ModalContext'\nimport styles from './ModalHeader.module.css'\nimport { ModalHeaderProps, ModalTitleProps } from './types'\n\n/**\n * Header component to be used inside modals\n */\nexport const ModalHeader = forwardRef<HTMLDivElement, ModalHeaderProps>(\n function ModalHeader(\n {\n className,\n onClose: onCloseProp,\n dismissButtonClassName,\n showDismissButton = true,\n children,\n ...props\n },\n ref\n ) {\n const { onClose } = useContext(ModalContext)\n\n const handleClose = useCallback(() => {\n onClose?.()\n onCloseProp?.()\n }, [onClose, onCloseProp])\n\n return (\n <div\n className={cn(\n styles.headerContainer,\n { [styles.noDismissButton]: !showDismissButton },\n className\n )}\n ref={ref}\n {...props}\n >\n {showDismissButton ? (\n <IconButton\n aria-label='dismiss dialog'\n className={cn(styles.dismissButton, dismissButtonClassName)}\n icon={IconClose}\n color='subdued'\n size='s'\n onClick={handleClose}\n />\n ) : null}\n {children}\n </div>\n )\n }\n)\n\n/**\n * Title component to be used inside modal headers\n */\nexport const ModalTitle = forwardRef<HTMLDivElement, ModalTitleProps>(\n function ModalTitle(\n {\n subtitleClassName,\n icon,\n iconClassName,\n title,\n titleClassName,\n subtitle,\n titleId: titleIdProp,\n subtitleId: subtitleIdProp,\n ...props\n },\n ref\n ) {\n const modalContext = useContext(ModalContext)\n const titleId = titleIdProp || modalContext.titleId\n const subtitleId = subtitleIdProp || modalContext.subtitleId\n\n return (\n <>\n <div className={styles.titleContainer} {...props} ref={ref}>\n {icon == null ? null : (\n <div className={cn(styles.icon, iconClassName)}>{icon}</div>\n )}\n <h2 id={titleId} className={cn(styles.title, titleClassName)}>\n {title}\n </h2>\n </div>\n {subtitle == null ? null : (\n <div className={cn(styles.subtitleContainer, subtitleClassName)}>\n <h3 id={subtitleId} className={styles.subtitle}>\n {subtitle}\n </h3>\n </div>\n )}\n </>\n )\n }\n)\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /// <reference types="react" />
2
+ import { CSSObject } from '@emotion/react';
3
+ import { BaseButtonProps } from "../button/BaseButton/types";
4
+ export type PillProps = BaseButtonProps & {
5
+ variant?: 'default' | 'active' | 'custom';
6
+ };
7
+ /**
8
+ * The Pill button is located in the sidebar and is used to open the
9
+ * Add Playlist/Add Folder popover menu.
10
+ * It can also be used in the NEW pill in the notification card.
11
+ */
12
+ export declare const Pill: (props: {
13
+ iconLeft?: import("..").IconComponent | null | undefined;
14
+ iconRight?: import("..").IconComponent | null | undefined;
15
+ isStaticIcon?: boolean | undefined;
16
+ isLoading?: boolean | undefined;
17
+ widthToHideText?: number | undefined;
18
+ minWidth?: number | undefined;
19
+ fullWidth?: boolean | undefined;
20
+ styles?: {
21
+ button: CSSObject;
22
+ icon: CSSObject;
23
+ } | undefined;
24
+ asChild?: boolean | undefined;
25
+ } & Omit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & {
26
+ _isHovered?: boolean | undefined;
27
+ _isPressed?: boolean | undefined;
28
+ } & {
29
+ variant?: "default" | "active" | "custom" | undefined;
30
+ } & import("react").RefAttributes<HTMLButtonElement>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | null;
31
+ //# sourceMappingURL=Pill.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Pill.d.ts","sourceRoot":"","sources":["../../../src/components/pill/Pill.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAY,MAAM,gBAAgB,CAAA;AAGpD,OAAO,EAAE,eAAe,EAAE,mCAA0C;AAGpE,MAAM,MAAM,SAAS,GAAG,eAAe,GAAG;IACxC,OAAO,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAA;CAC1C,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;sJA+DhB,CAAA"}
@@ -0,0 +1,59 @@
1
+ import { __rest, __assign } from '../../_virtual/_tslib.js';
2
+ import { jsx } from '@emotion/react/jsx-runtime';
3
+ import { forwardRef } from 'react';
4
+ import { useTheme } from '@emotion/react';
5
+ import { BaseButton } from '../button/BaseButton/BaseButton.js';
6
+ import { Text } from '../text/Text.js';
7
+
8
+ /**
9
+ * The Pill button is located in the sidebar and is used to open the
10
+ * Add Playlist/Add Folder popover menu.
11
+ * It can also be used in the NEW pill in the notification card.
12
+ */
13
+ var Pill = forwardRef(function (props, ref) {
14
+ var _a = props.variant, variant = _a === void 0 ? 'default' : _a, children = props.children, other = __rest(props, ["variant", "children"]);
15
+ var onClick = other.onClick;
16
+ var _b = useTheme(), color = _b.color, spacing = _b.spacing, cornerRadius = _b.cornerRadius;
17
+ var backgroundColors = {
18
+ default: color.background.surface2,
19
+ active: color.background.accent,
20
+ custom: undefined
21
+ };
22
+ var hoverBackgroundColors = {
23
+ default: color.background.accent,
24
+ active: color.background.accent,
25
+ custom: undefined
26
+ };
27
+ var textColors = {
28
+ default: color.text.subdued,
29
+ active: color.text.staticWhite,
30
+ custom: color.text.staticWhite
31
+ };
32
+ var hoverTextColors = {
33
+ default: color.text.staticWhite,
34
+ active: color.text.staticWhite,
35
+ custom: color.text.staticWhite
36
+ };
37
+ var buttonCss = {
38
+ gap: spacing['2xs'],
39
+ paddingInline: 6,
40
+ paddingBlock: spacing['2xs'],
41
+ borderWidth: 0,
42
+ borderRadius: cornerRadius.circle,
43
+ backgroundColor: backgroundColors[variant],
44
+ color: textColors[variant],
45
+ '&:hover': {
46
+ backgroundColor: hoverBackgroundColors[variant],
47
+ color: hoverTextColors[variant]
48
+ },
49
+ pointerEvents: onClick ? 'auto' : 'none'
50
+ };
51
+ var iconCss = {
52
+ height: 10,
53
+ width: 10
54
+ };
55
+ return (jsx(BaseButton, __assign({ ref: ref, styles: { button: buttonCss, icon: iconCss }, asChild: !onClick }, other, { children: jsx(Text, __assign({ variant: 'label', size: 's' }, { children: children })) })));
56
+ });
57
+
58
+ export { Pill };
59
+ //# sourceMappingURL=Pill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Pill.js","sources":["../../../src/components/pill/Pill.tsx"],"sourcesContent":["import { Ref, forwardRef } from 'react'\n\nimport { CSSObject, useTheme } from '@emotion/react'\n\nimport { BaseButton } from 'components/button/BaseButton/BaseButton'\nimport { BaseButtonProps } from 'components/button/BaseButton/types'\nimport { Text } from 'components/text'\n\nexport type PillProps = BaseButtonProps & {\n variant?: 'default' | 'active' | 'custom'\n}\n\n/**\n * The Pill button is located in the sidebar and is used to open the\n * Add Playlist/Add Folder popover menu.\n * It can also be used in the NEW pill in the notification card.\n */\nexport const Pill = forwardRef(\n (props: PillProps, ref: Ref<HTMLButtonElement>) => {\n const { variant = 'default', children, ...other } = props\n const { onClick } = other\n const { color, spacing, cornerRadius } = useTheme()\n\n const backgroundColors = {\n default: color.background.surface2,\n active: color.background.accent,\n custom: undefined\n }\n\n const hoverBackgroundColors = {\n default: color.background.accent,\n active: color.background.accent,\n custom: undefined\n }\n\n const textColors = {\n default: color.text.subdued,\n active: color.text.staticWhite,\n custom: color.text.staticWhite\n }\n\n const hoverTextColors = {\n default: color.text.staticWhite,\n active: color.text.staticWhite,\n custom: color.text.staticWhite\n }\n\n const buttonCss: CSSObject = {\n gap: spacing['2xs'],\n paddingInline: 6,\n paddingBlock: spacing['2xs'],\n borderWidth: 0,\n borderRadius: cornerRadius.circle,\n backgroundColor: backgroundColors[variant],\n color: textColors[variant],\n '&:hover': {\n backgroundColor: hoverBackgroundColors[variant],\n color: hoverTextColors[variant]\n },\n pointerEvents: onClick ? 'auto' : 'none'\n }\n\n const iconCss = {\n height: 10,\n width: 10\n }\n\n return (\n <BaseButton\n ref={ref}\n styles={{ button: buttonCss, icon: iconCss }}\n asChild={!onClick}\n {...other}\n >\n <Text variant='label' size='s'>\n {children}\n </Text>\n </BaseButton>\n )\n }\n)\n"],"names":["_jsx"],"mappings":";;;;;;;AAYA;;;;AAIG;IACU,IAAI,GAAG,UAAU,CAC5B,UAAC,KAAgB,EAAE,GAA2B,EAAA;IACpC,IAAA,EAAA,GAA4C,KAAK,CAA9B,OAAA,EAAnB,OAAO,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,SAAS,KAAA,EAAE,QAAQ,GAAe,KAAK,CAAA,QAApB,EAAK,KAAK,GAAA,MAAA,CAAK,KAAK,EAAnD,CAAA,SAAA,EAAA,UAAA,CAA2C,CAAF,CAAU;AACjD,IAAA,IAAA,OAAO,GAAK,KAAK,CAAA,OAAV,CAAU;AACnB,IAAA,IAAA,EAAmC,GAAA,QAAQ,EAAE,EAA3C,KAAK,GAAA,EAAA,CAAA,KAAA,EAAE,OAAO,GAAA,EAAA,CAAA,OAAA,EAAE,YAAY,GAAA,EAAA,CAAA,YAAe,CAAA;AAEnD,IAAA,IAAM,gBAAgB,GAAG;AACvB,QAAA,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,QAAQ;AAClC,QAAA,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,MAAM;AAC/B,QAAA,MAAM,EAAE,SAAS;KAClB,CAAA;AAED,IAAA,IAAM,qBAAqB,GAAG;AAC5B,QAAA,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,MAAM;AAChC,QAAA,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,MAAM;AAC/B,QAAA,MAAM,EAAE,SAAS;KAClB,CAAA;AAED,IAAA,IAAM,UAAU,GAAG;AACjB,QAAA,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO;AAC3B,QAAA,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW;AAC9B,QAAA,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW;KAC/B,CAAA;AAED,IAAA,IAAM,eAAe,GAAG;AACtB,QAAA,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW;AAC/B,QAAA,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW;AAC9B,QAAA,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW;KAC/B,CAAA;AAED,IAAA,IAAM,SAAS,GAAc;AAC3B,QAAA,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC;AACnB,QAAA,aAAa,EAAE,CAAC;AAChB,QAAA,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC;AAC5B,QAAA,WAAW,EAAE,CAAC;QACd,YAAY,EAAE,YAAY,CAAC,MAAM;AACjC,QAAA,eAAe,EAAE,gBAAgB,CAAC,OAAO,CAAC;AAC1C,QAAA,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC;AAC1B,QAAA,SAAS,EAAE;AACT,YAAA,eAAe,EAAE,qBAAqB,CAAC,OAAO,CAAC;AAC/C,YAAA,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC;AAChC,SAAA;QACD,aAAa,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM;KACzC,CAAA;AAED,IAAA,IAAM,OAAO,GAAG;AACd,QAAA,MAAM,EAAE,EAAE;AACV,QAAA,KAAK,EAAE,EAAE;KACV,CAAA;AAED,IAAA,QACEA,GAAC,CAAA,UAAU,aACT,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,EAC5C,OAAO,EAAE,CAAC,OAAO,EACb,EAAA,KAAK,cAETA,GAAC,CAAA,IAAI,aAAC,OAAO,EAAC,OAAO,EAAC,IAAI,EAAC,GAAG,EAAA,EAAA,EAAA,QAAA,EAC3B,QAAQ,EACJ,CAAA,CAAA,EAAA,CAAA,CACI,EACd;AACH,CAAC;;;;"}
@@ -0,0 +1,10 @@
1
+ import { Meta, StoryObj } from '@storybook/react';
2
+ import { Pill } from './Pill';
3
+ declare const meta: Meta<typeof Pill>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof Pill>;
6
+ export declare const Primary: Story;
7
+ export declare const Active: Story;
8
+ export declare const Rewards: Story;
9
+ export declare const ClaimRewards: Story;
10
+ //# sourceMappingURL=Pill.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Pill.stories.d.ts","sourceRoot":"","sources":["../../../src/components/pill/Pill.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAIjD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,IAAI,CAG3B,CAAA;AAED,eAAe,IAAI,CAAA;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAA;AAElC,eAAO,MAAM,OAAO,EAAE,KAMrB,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,KAEpB,CAAA;AAED,eAAO,MAAM,OAAO,EAAE,KAMrB,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,KAW1B,CAAA"}
@@ -0,0 +1,3 @@
1
+ export type { PillProps } from './Pill';
2
+ export { Pill } from './Pill';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/pill/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Popup.d.ts","sourceRoot":"","sources":["../../../src/components/popup/Popup.tsx"],"names":[],"mappings":";AAuBA,OAAO,KAAK,EAAE,UAAU,EAAU,MAAM,SAAS,CAAA;AA+JjD;;;;;GAKG;AACH,eAAO,MAAM,KAAK,sKAwPhB,CAAA"}
@@ -1,19 +1,20 @@
1
- import { __assign } from '../../../_virtual/_tslib.js';
1
+ import { __assign } from '../../_virtual/_tslib.js';
2
2
  import { jsx, Fragment, jsxs } from '@emotion/react/jsx-runtime';
3
- import { forwardRef, useCallback, useRef, useState, useEffect } from 'react';
3
+ import { forwardRef, useState, useCallback, useRef, useEffect } from 'react';
4
4
  import { useTheme } from '@emotion/react';
5
5
  import cn from 'classnames';
6
6
  import ReactDOM from 'react-dom';
7
7
  import { useTransition, animated } from 'react-spring';
8
- import '../../button/Button/Button.js';
9
- import { PlainButton } from '../../button/PlainButton/PlainButton.js';
10
- import { IconClose } from '../../../icons/utilityIcons.js';
8
+ import '../button/Button/Button.js';
9
+ import { PlainButton } from '../button/PlainButton/PlainButton.js';
10
+ import { IconClose } from '../../icons/utilityIcons.js';
11
11
  import '@emotion/css';
12
- import '../../button/FollowButton/FollowButton.js';
13
- import '../../button/FilterButton/FilterButton.js';
14
- import '../../button/IconButton/IconButton.js';
15
- import { useClickOutside } from '../../../hooks/useClickOutside.js';
16
- import { getScrollParent } from '../../../utils/getScrollParent.js';
12
+ import '../button/FollowButton/FollowButton.js';
13
+ import '../button/FilterButton/FilterButton.js';
14
+ import '../button/IconButton/IconButton.js';
15
+ import '../button/UnstyledButton.js';
16
+ import { useClickOutside } from '../../hooks/useClickOutside.js';
17
+ import { getScrollParent } from '../../utils/getScrollParent.js';
17
18
  import styles from './Popup.module.css.js';
18
19
 
19
20
  var messages = {
@@ -153,8 +154,10 @@ var closingAnimationDuration = 90;
153
154
  * center-screened.
154
155
  */
155
156
  var Popup = forwardRef(function Popup(props, ref) {
156
- var anchorRef = props.anchorRef, checkIfClickInside = props.checkIfClickInside, children = props.children, className = props.className, isVisible = props.isVisible, onAfterClose = props.onAfterClose, onClose = props.onClose, _a = props.anchorOrigin, anchorOriginProp = _a === void 0 ? defaultAnchorOrigin : _a, _b = props.transformOrigin, transformOriginProp = _b === void 0 ? defaultTransformOrigin : _b, dismissOnMouseLeave = props.dismissOnMouseLeave, _c = props.hideCloseButton, hideCloseButton = _c === void 0 ? false : _c, showHeader = props.showHeader, title = props.title, zIndex = props.zIndex, containerRef = props.containerRef, _d = props.portalLocation, portalLocation = _d === void 0 ? document.body : _d, _e = props.shadow, shadow = _e === void 0 ? 'mid' : _e, fixed = props.fixed;
157
+ var anchorRef = props.anchorRef, checkIfClickInside = props.checkIfClickInside, children = props.children, className = props.className, isVisibleProp = props.isVisible, onAfterClose = props.onAfterClose, onClose = props.onClose, _a = props.anchorOrigin, anchorOriginProp = _a === void 0 ? defaultAnchorOrigin : _a, _b = props.transformOrigin, transformOriginProp = _b === void 0 ? defaultTransformOrigin : _b, dismissOnMouseLeave = props.dismissOnMouseLeave, _c = props.hideCloseButton, hideCloseButton = _c === void 0 ? false : _c, showHeader = props.showHeader, title = props.title, zIndex = props.zIndex, containerRef = props.containerRef, _d = props.portalLocation, portalLocation = _d === void 0 ? document.body : _d, _e = props.shadow, shadow = _e === void 0 ? 'mid' : _e, fixed = props.fixed;
157
158
  var _f = useTheme(), spring = _f.spring, shadows = _f.shadows;
159
+ var _g = useState('closed'), popupState = _g[0], setPopupState = _g[1];
160
+ var isVisible = popupState !== 'closed';
158
161
  var handleClose = useCallback(function () {
159
162
  onClose === null || onClose === void 0 ? void 0 : onClose();
160
163
  setTimeout(function () {
@@ -163,14 +166,14 @@ var Popup = forwardRef(function Popup(props, ref) {
163
166
  }
164
167
  }, closingAnimationDuration);
165
168
  }, [onClose, onAfterClose]);
166
- var _g = [
169
+ var _h = [
167
170
  anchorOriginProp,
168
171
  transformOriginProp
169
- ], anchorOrigin = _g[0], transformOrigin = _g[1];
172
+ ], anchorOrigin = _h[0], transformOrigin = _h[1];
170
173
  var popupRef = useClickOutside(handleClose, checkIfClickInside, isVisible, typeof ref === 'function' ? undefined : ref);
171
174
  var wrapperRef = useRef(null);
172
175
  var originalTopPosition = useRef(0);
173
- var _h = useState(anchorOrigin), computedTransformOrigin = _h[0], setComputedTransformOrigin = _h[1];
176
+ var _j = useState(anchorOrigin), computedTransformOrigin = _j[0], setComputedTransformOrigin = _j[1];
174
177
  // On visible, set the position
175
178
  useEffect(function () {
176
179
  if (isVisible) {
@@ -238,7 +241,15 @@ var Popup = forwardRef(function Popup(props, ref) {
238
241
  }
239
242
  return function () { };
240
243
  }, [isVisible, handleClose]);
241
- var transitions = useTransition(isVisible, null, {
244
+ useEffect(function () {
245
+ if (popupState === 'closed' && isVisibleProp) {
246
+ setPopupState('opening');
247
+ }
248
+ else if (popupState === 'open' && !isVisibleProp) {
249
+ setPopupState('closing');
250
+ }
251
+ }, [isVisibleProp, popupState]);
252
+ var transitions = useTransition(isVisibleProp, null, {
242
253
  from: {
243
254
  transform: "scale(0)",
244
255
  opacity: 0
@@ -252,7 +263,10 @@ var Popup = forwardRef(function Popup(props, ref) {
252
263
  opacity: 0
253
264
  },
254
265
  config: spring.standard,
255
- unique: true
266
+ unique: true,
267
+ onDestroyed: function (isDestroyed) {
268
+ setPopupState(isDestroyed ? 'closed' : 'open');
269
+ }
256
270
  });
257
271
  var rootStyle = { zIndex: zIndex, position: fixed ? 'fixed' : undefined };
258
272
  var handleMouseLeave = useCallback(function () {
@@ -260,13 +274,15 @@ var Popup = forwardRef(function Popup(props, ref) {
260
274
  onClose === null || onClose === void 0 ? void 0 : onClose();
261
275
  }
262
276
  }, [dismissOnMouseLeave, onClose]);
263
- return (jsx(Fragment, { children: ReactDOM.createPortal(jsx("div", __assign({ ref: wrapperRef, className: styles.root, style: rootStyle, onMouseLeave: handleMouseLeave }, { children: transitions.map(function (_a) {
264
- var _b;
265
- var item = _a.item, key = _a.key, props = _a.props;
266
- return item ? (jsxs(animated.div, __assign({ className: cn(styles.popup, className), css: { boxShadow: shadows[shadow] }, ref: popupRef, style: __assign(__assign({}, props), { transformOrigin: "".concat(computedTransformOrigin.horizontal, " ").concat(computedTransformOrigin.vertical) }) }, { children: [showHeader && (jsxs("div", __assign({ className: cn(styles.header, (_b = {},
267
- _b[styles.noAfter] = hideCloseButton,
268
- _b)) }, { children: [hideCloseButton ? null : (jsx(PlainButton, { variant: 'subdued', "aria-label": messages.close, onClick: handleClose, iconLeft: IconClose })), jsx("div", __assign({ className: styles.title }, { children: title }))] }))), children] }), key)) : null;
269
- }) })), portalLocation) }));
277
+ return (jsx(Fragment, { children: popupState !== 'closed'
278
+ ? ReactDOM.createPortal(jsx("div", __assign({ ref: wrapperRef, className: styles.root, style: rootStyle, onMouseLeave: handleMouseLeave }, { children: transitions.map(function (_a) {
279
+ var _b;
280
+ var item = _a.item, key = _a.key, props = _a.props;
281
+ return item ? (jsxs(animated.div, __assign({ className: cn(styles.popup, className), css: { boxShadow: shadows[shadow] }, ref: popupRef, style: __assign(__assign({}, props), { transformOrigin: "".concat(computedTransformOrigin.horizontal, " ").concat(computedTransformOrigin.vertical) }) }, { children: [showHeader && (jsxs("div", __assign({ className: cn(styles.header, (_b = {},
282
+ _b[styles.noAfter] = hideCloseButton,
283
+ _b)) }, { children: [hideCloseButton ? null : (jsx(PlainButton, { variant: 'subdued', "aria-label": messages.close, onClick: handleClose, iconLeft: IconClose })), jsx("div", __assign({ className: styles.title }, { children: title }))] }))), children] }), key)) : null;
284
+ }) })), portalLocation)
285
+ : null }));
270
286
  });
271
287
 
272
288
  export { Popup };