@protonradio/proton-ui 0.11.34 → 0.12.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (678) hide show
  1. package/README.md +1 -1
  2. package/dist/_virtual/{react-jsx-runtime.production.min.cjs.js → react-jsx-runtime.production.cjs.js} +1 -1
  3. package/dist/_virtual/react-jsx-runtime.production.cjs.js.map +1 -0
  4. package/dist/_virtual/react-jsx-runtime.production.es.js +5 -0
  5. package/dist/_virtual/react-jsx-runtime.production.es.js.map +1 -0
  6. package/dist/components/ActionMenu/ActionMenu.cjs.js +1 -1
  7. package/dist/components/ActionMenu/ActionMenu.cjs.js.map +1 -1
  8. package/dist/components/ActionMenu/ActionMenu.es.js +87 -88
  9. package/dist/components/ActionMenu/ActionMenu.es.js.map +1 -1
  10. package/dist/components/Badge/Badge.cjs.js +1 -1
  11. package/dist/components/Badge/Badge.cjs.js.map +1 -1
  12. package/dist/components/Badge/Badge.es.js +6 -2
  13. package/dist/components/Badge/Badge.es.js.map +1 -1
  14. package/dist/components/Banner/Banner.cjs.js +1 -1
  15. package/dist/components/Banner/Banner.cjs.js.map +1 -1
  16. package/dist/components/Banner/Banner.es.js +4 -4
  17. package/dist/components/Banner/Banner.es.js.map +1 -1
  18. package/dist/components/Button/Button.cjs.js +1 -1
  19. package/dist/components/Button/Button.cjs.js.map +1 -1
  20. package/dist/components/Button/Button.es.js.map +1 -1
  21. package/dist/components/ButtonGroup/ButtonGroup.cjs.js +1 -1
  22. package/dist/components/ButtonGroup/ButtonGroup.cjs.js.map +1 -1
  23. package/dist/components/ButtonGroup/ButtonGroup.es.js +42 -38
  24. package/dist/components/ButtonGroup/ButtonGroup.es.js.map +1 -1
  25. package/dist/components/ButtonWithSelect/ButtonWithSelect.cjs.js +1 -1
  26. package/dist/components/ButtonWithSelect/ButtonWithSelect.cjs.js.map +1 -1
  27. package/dist/components/ButtonWithSelect/ButtonWithSelect.es.js +12 -12
  28. package/dist/components/ButtonWithSelect/ButtonWithSelect.es.js.map +1 -1
  29. package/dist/components/Checkbox/CheckboxIndicator.cjs.js +2 -0
  30. package/dist/components/Checkbox/CheckboxIndicator.cjs.js.map +1 -0
  31. package/dist/components/Checkbox/CheckboxIndicator.es.js +44 -0
  32. package/dist/components/Checkbox/CheckboxIndicator.es.js.map +1 -0
  33. package/dist/components/Checkbox/CheckboxInput/CheckboxInput.cjs.js +1 -1
  34. package/dist/components/Checkbox/CheckboxInput/CheckboxInput.cjs.js.map +1 -1
  35. package/dist/components/Checkbox/CheckboxInput/CheckboxInput.es.js +62 -58
  36. package/dist/components/Checkbox/CheckboxInput/CheckboxInput.es.js.map +1 -1
  37. package/dist/components/Checkbox/CheckboxRadioGroup/CheckboxRadioGroup.cjs.js +1 -1
  38. package/dist/components/Checkbox/CheckboxRadioGroup/CheckboxRadioGroup.cjs.js.map +1 -1
  39. package/dist/components/Checkbox/CheckboxRadioGroup/CheckboxRadioGroup.es.js +53 -43
  40. package/dist/components/Checkbox/CheckboxRadioGroup/CheckboxRadioGroup.es.js.map +1 -1
  41. package/dist/components/Elevation/Elevation.cjs.js +1 -1
  42. package/dist/components/Elevation/Elevation.cjs.js.map +1 -1
  43. package/dist/components/Elevation/Elevation.es.js +11 -10
  44. package/dist/components/Elevation/Elevation.es.js.map +1 -1
  45. package/dist/components/Icon/IconComponents/AlertCircle.cjs.js +1 -1
  46. package/dist/components/Icon/IconComponents/AlertCircle.cjs.js.map +1 -1
  47. package/dist/components/Icon/IconComponents/AlertCircle.es.js +9 -9
  48. package/dist/components/Icon/IconComponents/AlertCircle.es.js.map +1 -1
  49. package/dist/components/Icon/IconComponents/AmazonMusicLogo.cjs.js +1 -1
  50. package/dist/components/Icon/IconComponents/AmazonMusicLogo.cjs.js.map +1 -1
  51. package/dist/components/Icon/IconComponents/AmazonMusicLogo.es.js +10 -10
  52. package/dist/components/Icon/IconComponents/AmazonMusicLogo.es.js.map +1 -1
  53. package/dist/components/Icon/IconComponents/AppleMusicLogo.cjs.js +1 -1
  54. package/dist/components/Icon/IconComponents/AppleMusicLogo.cjs.js.map +1 -1
  55. package/dist/components/Icon/IconComponents/AppleMusicLogo.es.js +10 -10
  56. package/dist/components/Icon/IconComponents/AppleMusicLogo.es.js.map +1 -1
  57. package/dist/components/Icon/IconComponents/ArrowLeft.cjs.js +1 -1
  58. package/dist/components/Icon/IconComponents/ArrowLeft.cjs.js.map +1 -1
  59. package/dist/components/Icon/IconComponents/ArrowLeft.es.js +11 -11
  60. package/dist/components/Icon/IconComponents/ArrowLeft.es.js.map +1 -1
  61. package/dist/components/Icon/IconComponents/BandcampLogo.cjs.js +1 -1
  62. package/dist/components/Icon/IconComponents/BandcampLogo.cjs.js.map +1 -1
  63. package/dist/components/Icon/IconComponents/BandcampLogo.es.js +16 -16
  64. package/dist/components/Icon/IconComponents/BandcampLogo.es.js.map +1 -1
  65. package/dist/components/Icon/IconComponents/BeatportLogo.cjs.js +1 -1
  66. package/dist/components/Icon/IconComponents/BeatportLogo.cjs.js.map +1 -1
  67. package/dist/components/Icon/IconComponents/BeatportLogo.es.js +15 -15
  68. package/dist/components/Icon/IconComponents/BeatportLogo.es.js.map +1 -1
  69. package/dist/components/Icon/IconComponents/Bell.cjs.js +1 -1
  70. package/dist/components/Icon/IconComponents/Bell.cjs.js.map +1 -1
  71. package/dist/components/Icon/IconComponents/Bell.es.js +8 -8
  72. package/dist/components/Icon/IconComponents/Bell.es.js.map +1 -1
  73. package/dist/components/Icon/IconComponents/CaretDown.cjs.js +1 -1
  74. package/dist/components/Icon/IconComponents/CaretDown.cjs.js.map +1 -1
  75. package/dist/components/Icon/IconComponents/CaretDown.es.js +14 -14
  76. package/dist/components/Icon/IconComponents/CaretDown.es.js.map +1 -1
  77. package/dist/components/Icon/IconComponents/CaretRight.cjs.js +1 -1
  78. package/dist/components/Icon/IconComponents/CaretRight.cjs.js.map +1 -1
  79. package/dist/components/Icon/IconComponents/CaretRight.es.js +14 -14
  80. package/dist/components/Icon/IconComponents/CaretRight.es.js.map +1 -1
  81. package/dist/components/Icon/IconComponents/Chart.cjs.js +1 -1
  82. package/dist/components/Icon/IconComponents/Chart.cjs.js.map +1 -1
  83. package/dist/components/Icon/IconComponents/Chart.es.js +14 -14
  84. package/dist/components/Icon/IconComponents/Chart.es.js.map +1 -1
  85. package/dist/components/Icon/IconComponents/CheckCircle.cjs.js +1 -1
  86. package/dist/components/Icon/IconComponents/CheckCircle.cjs.js.map +1 -1
  87. package/dist/components/Icon/IconComponents/CheckCircle.es.js +9 -9
  88. package/dist/components/Icon/IconComponents/CheckCircle.es.js.map +1 -1
  89. package/dist/components/Icon/IconComponents/ChevronDown.cjs.js +1 -1
  90. package/dist/components/Icon/IconComponents/ChevronDown.cjs.js.map +1 -1
  91. package/dist/components/Icon/IconComponents/ChevronDown.es.js +13 -9
  92. package/dist/components/Icon/IconComponents/ChevronDown.es.js.map +1 -1
  93. package/dist/components/Icon/IconComponents/ChevronLeft.cjs.js +1 -1
  94. package/dist/components/Icon/IconComponents/ChevronLeft.cjs.js.map +1 -1
  95. package/dist/components/Icon/IconComponents/ChevronLeft.es.js +12 -8
  96. package/dist/components/Icon/IconComponents/ChevronLeft.es.js.map +1 -1
  97. package/dist/components/Icon/IconComponents/ChevronRight.cjs.js +1 -1
  98. package/dist/components/Icon/IconComponents/ChevronRight.cjs.js.map +1 -1
  99. package/dist/components/Icon/IconComponents/ChevronRight.es.js +14 -14
  100. package/dist/components/Icon/IconComponents/ChevronRight.es.js.map +1 -1
  101. package/dist/components/Icon/IconComponents/ChevronSquareDown.cjs.js +1 -1
  102. package/dist/components/Icon/IconComponents/ChevronSquareDown.cjs.js.map +1 -1
  103. package/dist/components/Icon/IconComponents/ChevronSquareDown.es.js +17 -17
  104. package/dist/components/Icon/IconComponents/ChevronSquareDown.es.js.map +1 -1
  105. package/dist/components/Icon/IconComponents/ChevronUp.cjs.js +1 -1
  106. package/dist/components/Icon/IconComponents/ChevronUp.cjs.js.map +1 -1
  107. package/dist/components/Icon/IconComponents/ChevronUp.es.js +14 -14
  108. package/dist/components/Icon/IconComponents/ChevronUp.es.js.map +1 -1
  109. package/dist/components/Icon/IconComponents/Close.cjs.js +1 -1
  110. package/dist/components/Icon/IconComponents/Close.cjs.js.map +1 -1
  111. package/dist/components/Icon/IconComponents/Close.es.js +14 -14
  112. package/dist/components/Icon/IconComponents/Close.es.js.map +1 -1
  113. package/dist/components/Icon/IconComponents/Cog.cjs.js +1 -1
  114. package/dist/components/Icon/IconComponents/Cog.cjs.js.map +1 -1
  115. package/dist/components/Icon/IconComponents/Cog.es.js +15 -11
  116. package/dist/components/Icon/IconComponents/Cog.es.js.map +1 -1
  117. package/dist/components/Icon/IconComponents/Copy.cjs.js +1 -1
  118. package/dist/components/Icon/IconComponents/Copy.cjs.js.map +1 -1
  119. package/dist/components/Icon/IconComponents/Copy.es.js +11 -11
  120. package/dist/components/Icon/IconComponents/Copy.es.js.map +1 -1
  121. package/dist/components/Icon/IconComponents/DangerCircle.cjs.js +1 -1
  122. package/dist/components/Icon/IconComponents/DangerCircle.cjs.js.map +1 -1
  123. package/dist/components/Icon/IconComponents/DangerCircle.es.js +11 -11
  124. package/dist/components/Icon/IconComponents/DangerCircle.es.js.map +1 -1
  125. package/dist/components/Icon/IconComponents/Dashboard.cjs.js +1 -1
  126. package/dist/components/Icon/IconComponents/Dashboard.cjs.js.map +1 -1
  127. package/dist/components/Icon/IconComponents/Dashboard.es.js +15 -11
  128. package/dist/components/Icon/IconComponents/Dashboard.es.js.map +1 -1
  129. package/dist/components/Icon/IconComponents/DeezerLogo.cjs.js +1 -1
  130. package/dist/components/Icon/IconComponents/DeezerLogo.cjs.js.map +1 -1
  131. package/dist/components/Icon/IconComponents/DeezerLogo.es.js +10 -10
  132. package/dist/components/Icon/IconComponents/DeezerLogo.es.js.map +1 -1
  133. package/dist/components/Icon/IconComponents/Download.cjs.js +1 -1
  134. package/dist/components/Icon/IconComponents/Download.cjs.js.map +1 -1
  135. package/dist/components/Icon/IconComponents/Download.es.js +13 -9
  136. package/dist/components/Icon/IconComponents/Download.es.js.map +1 -1
  137. package/dist/components/Icon/IconComponents/DragHandle.cjs.js +1 -1
  138. package/dist/components/Icon/IconComponents/DragHandle.cjs.js.map +1 -1
  139. package/dist/components/Icon/IconComponents/DragHandle.es.js +12 -8
  140. package/dist/components/Icon/IconComponents/DragHandle.es.js.map +1 -1
  141. package/dist/components/Icon/IconComponents/Edit.cjs.js +1 -1
  142. package/dist/components/Icon/IconComponents/Edit.cjs.js.map +1 -1
  143. package/dist/components/Icon/IconComponents/Edit.es.js +13 -9
  144. package/dist/components/Icon/IconComponents/Edit.es.js.map +1 -1
  145. package/dist/components/Icon/IconComponents/Ellipsis.cjs.js +1 -1
  146. package/dist/components/Icon/IconComponents/Ellipsis.cjs.js.map +1 -1
  147. package/dist/components/Icon/IconComponents/Ellipsis.es.js +14 -10
  148. package/dist/components/Icon/IconComponents/Ellipsis.es.js.map +1 -1
  149. package/dist/components/Icon/IconComponents/EmailThick.cjs.js +1 -1
  150. package/dist/components/Icon/IconComponents/EmailThick.cjs.js.map +1 -1
  151. package/dist/components/Icon/IconComponents/EmailThick.es.js +15 -11
  152. package/dist/components/Icon/IconComponents/EmailThick.es.js.map +1 -1
  153. package/dist/components/Icon/IconComponents/EmailThin.cjs.js +1 -1
  154. package/dist/components/Icon/IconComponents/EmailThin.cjs.js.map +1 -1
  155. package/dist/components/Icon/IconComponents/EmailThin.es.js +15 -11
  156. package/dist/components/Icon/IconComponents/EmailThin.es.js.map +1 -1
  157. package/dist/components/Icon/IconComponents/ExternalLink.cjs.js +1 -1
  158. package/dist/components/Icon/IconComponents/ExternalLink.cjs.js.map +1 -1
  159. package/dist/components/Icon/IconComponents/ExternalLink.es.js +18 -14
  160. package/dist/components/Icon/IconComponents/ExternalLink.es.js.map +1 -1
  161. package/dist/components/Icon/IconComponents/FacebookLogo.cjs.js +1 -1
  162. package/dist/components/Icon/IconComponents/FacebookLogo.cjs.js.map +1 -1
  163. package/dist/components/Icon/IconComponents/FacebookLogo.es.js +10 -10
  164. package/dist/components/Icon/IconComponents/FacebookLogo.es.js.map +1 -1
  165. package/dist/components/Icon/IconComponents/Globe.cjs.js +1 -1
  166. package/dist/components/Icon/IconComponents/Globe.cjs.js.map +1 -1
  167. package/dist/components/Icon/IconComponents/Globe.es.js +12 -8
  168. package/dist/components/Icon/IconComponents/Globe.es.js.map +1 -1
  169. package/dist/components/Icon/IconComponents/Hamburger.cjs.js +1 -1
  170. package/dist/components/Icon/IconComponents/Hamburger.cjs.js.map +1 -1
  171. package/dist/components/Icon/IconComponents/Hamburger.es.js +16 -12
  172. package/dist/components/Icon/IconComponents/Hamburger.es.js.map +1 -1
  173. package/dist/components/Icon/IconComponents/Heartbeat.cjs.js +1 -1
  174. package/dist/components/Icon/IconComponents/Heartbeat.cjs.js.map +1 -1
  175. package/dist/components/Icon/IconComponents/Heartbeat.es.js +16 -12
  176. package/dist/components/Icon/IconComponents/Heartbeat.es.js.map +1 -1
  177. package/dist/components/Icon/IconComponents/Info.cjs.js +1 -1
  178. package/dist/components/Icon/IconComponents/Info.cjs.js.map +1 -1
  179. package/dist/components/Icon/IconComponents/Info.es.js +9 -9
  180. package/dist/components/Icon/IconComponents/Info.es.js.map +1 -1
  181. package/dist/components/Icon/IconComponents/InfoOutline.cjs.js +1 -1
  182. package/dist/components/Icon/IconComponents/InfoOutline.cjs.js.map +1 -1
  183. package/dist/components/Icon/IconComponents/InfoOutline.es.js +15 -11
  184. package/dist/components/Icon/IconComponents/InfoOutline.es.js.map +1 -1
  185. package/dist/components/Icon/IconComponents/InstagramLogo.cjs.js +1 -1
  186. package/dist/components/Icon/IconComponents/InstagramLogo.cjs.js.map +1 -1
  187. package/dist/components/Icon/IconComponents/InstagramLogo.es.js +10 -10
  188. package/dist/components/Icon/IconComponents/InstagramLogo.es.js.map +1 -1
  189. package/dist/components/Icon/IconComponents/IntercomLogo.cjs.js +1 -1
  190. package/dist/components/Icon/IconComponents/IntercomLogo.cjs.js.map +1 -1
  191. package/dist/components/Icon/IconComponents/IntercomLogo.es.js +10 -10
  192. package/dist/components/Icon/IconComponents/IntercomLogo.es.js.map +1 -1
  193. package/dist/components/Icon/IconComponents/Lightning.cjs.js +1 -1
  194. package/dist/components/Icon/IconComponents/Lightning.cjs.js.map +1 -1
  195. package/dist/components/Icon/IconComponents/Lightning.es.js +16 -12
  196. package/dist/components/Icon/IconComponents/Lightning.es.js.map +1 -1
  197. package/dist/components/Icon/IconComponents/Link.cjs.js +1 -1
  198. package/dist/components/Icon/IconComponents/Link.cjs.js.map +1 -1
  199. package/dist/components/Icon/IconComponents/Link.es.js +12 -8
  200. package/dist/components/Icon/IconComponents/Link.es.js.map +1 -1
  201. package/dist/components/Icon/IconComponents/MessengerLogo.cjs.js +1 -1
  202. package/dist/components/Icon/IconComponents/MessengerLogo.cjs.js.map +1 -1
  203. package/dist/components/Icon/IconComponents/MessengerLogo.es.js +9 -9
  204. package/dist/components/Icon/IconComponents/MessengerLogo.es.js.map +1 -1
  205. package/dist/components/Icon/IconComponents/MusicNote.cjs.js +1 -1
  206. package/dist/components/Icon/IconComponents/MusicNote.cjs.js.map +1 -1
  207. package/dist/components/Icon/IconComponents/MusicNote.es.js +15 -11
  208. package/dist/components/Icon/IconComponents/MusicNote.es.js.map +1 -1
  209. package/dist/components/Icon/IconComponents/Pause.cjs.js +1 -1
  210. package/dist/components/Icon/IconComponents/Pause.cjs.js.map +1 -1
  211. package/dist/components/Icon/IconComponents/Pause.es.js +17 -13
  212. package/dist/components/Icon/IconComponents/Pause.es.js.map +1 -1
  213. package/dist/components/Icon/IconComponents/Pencil.cjs.js +1 -1
  214. package/dist/components/Icon/IconComponents/Pencil.cjs.js.map +1 -1
  215. package/dist/components/Icon/IconComponents/Pencil.es.js +15 -11
  216. package/dist/components/Icon/IconComponents/Pencil.es.js.map +1 -1
  217. package/dist/components/Icon/IconComponents/PhoneThick.cjs.js +1 -1
  218. package/dist/components/Icon/IconComponents/PhoneThick.cjs.js.map +1 -1
  219. package/dist/components/Icon/IconComponents/PhoneThick.es.js +17 -13
  220. package/dist/components/Icon/IconComponents/PhoneThick.es.js.map +1 -1
  221. package/dist/components/Icon/IconComponents/PhoneThin.cjs.js +1 -1
  222. package/dist/components/Icon/IconComponents/PhoneThin.cjs.js.map +1 -1
  223. package/dist/components/Icon/IconComponents/PhoneThin.es.js +17 -13
  224. package/dist/components/Icon/IconComponents/PhoneThin.es.js.map +1 -1
  225. package/dist/components/Icon/IconComponents/Play.cjs.js +1 -1
  226. package/dist/components/Icon/IconComponents/Play.cjs.js.map +1 -1
  227. package/dist/components/Icon/IconComponents/Play.es.js +13 -9
  228. package/dist/components/Icon/IconComponents/Play.es.js.map +1 -1
  229. package/dist/components/Icon/IconComponents/ProtonLogo.cjs.js +1 -1
  230. package/dist/components/Icon/IconComponents/ProtonLogo.cjs.js.map +1 -1
  231. package/dist/components/Icon/IconComponents/ProtonLogo.es.js +10 -10
  232. package/dist/components/Icon/IconComponents/ProtonLogo.es.js.map +1 -1
  233. package/dist/components/Icon/IconComponents/Quote.cjs.js +1 -1
  234. package/dist/components/Icon/IconComponents/Quote.cjs.js.map +1 -1
  235. package/dist/components/Icon/IconComponents/Quote.es.js +18 -14
  236. package/dist/components/Icon/IconComponents/Quote.es.js.map +1 -1
  237. package/dist/components/Icon/IconComponents/Search.cjs.js +1 -1
  238. package/dist/components/Icon/IconComponents/Search.cjs.js.map +1 -1
  239. package/dist/components/Icon/IconComponents/Search.es.js +14 -14
  240. package/dist/components/Icon/IconComponents/Search.es.js.map +1 -1
  241. package/dist/components/Icon/IconComponents/Share.cjs.js +1 -1
  242. package/dist/components/Icon/IconComponents/Share.cjs.js.map +1 -1
  243. package/dist/components/Icon/IconComponents/Share.es.js +13 -9
  244. package/dist/components/Icon/IconComponents/Share.es.js.map +1 -1
  245. package/dist/components/Icon/IconComponents/SignOut.cjs.js +1 -1
  246. package/dist/components/Icon/IconComponents/SignOut.cjs.js.map +1 -1
  247. package/dist/components/Icon/IconComponents/SignOut.es.js +15 -11
  248. package/dist/components/Icon/IconComponents/SignOut.es.js.map +1 -1
  249. package/dist/components/Icon/IconComponents/SoundcloudLogo.cjs.js +1 -1
  250. package/dist/components/Icon/IconComponents/SoundcloudLogo.cjs.js.map +1 -1
  251. package/dist/components/Icon/IconComponents/SoundcloudLogo.es.js +10 -10
  252. package/dist/components/Icon/IconComponents/SoundcloudLogo.es.js.map +1 -1
  253. package/dist/components/Icon/IconComponents/SpotifyLogo.cjs.js +1 -1
  254. package/dist/components/Icon/IconComponents/SpotifyLogo.cjs.js.map +1 -1
  255. package/dist/components/Icon/IconComponents/SpotifyLogo.es.js +10 -10
  256. package/dist/components/Icon/IconComponents/SpotifyLogo.es.js.map +1 -1
  257. package/dist/components/Icon/IconComponents/Spy.cjs.js +1 -1
  258. package/dist/components/Icon/IconComponents/Spy.cjs.js.map +1 -1
  259. package/dist/components/Icon/IconComponents/Spy.es.js +13 -9
  260. package/dist/components/Icon/IconComponents/Spy.es.js.map +1 -1
  261. package/dist/components/Icon/IconComponents/SuccessCircle.cjs.js +1 -1
  262. package/dist/components/Icon/IconComponents/SuccessCircle.cjs.js.map +1 -1
  263. package/dist/components/Icon/IconComponents/SuccessCircle.es.js +9 -9
  264. package/dist/components/Icon/IconComponents/SuccessCircle.es.js.map +1 -1
  265. package/dist/components/Icon/IconComponents/TelegramLogo.cjs.js +1 -1
  266. package/dist/components/Icon/IconComponents/TelegramLogo.cjs.js.map +1 -1
  267. package/dist/components/Icon/IconComponents/TelegramLogo.es.js +14 -14
  268. package/dist/components/Icon/IconComponents/TelegramLogo.es.js.map +1 -1
  269. package/dist/components/Icon/IconComponents/TiktokLogo.cjs.js +1 -1
  270. package/dist/components/Icon/IconComponents/TiktokLogo.cjs.js.map +1 -1
  271. package/dist/components/Icon/IconComponents/TiktokLogo.es.js +10 -10
  272. package/dist/components/Icon/IconComponents/TiktokLogo.es.js.map +1 -1
  273. package/dist/components/Icon/IconComponents/Tracklist.cjs.js +1 -1
  274. package/dist/components/Icon/IconComponents/Tracklist.cjs.js.map +1 -1
  275. package/dist/components/Icon/IconComponents/Tracklist.es.js +16 -12
  276. package/dist/components/Icon/IconComponents/Tracklist.es.js.map +1 -1
  277. package/dist/components/Icon/IconComponents/TrashCan.cjs.js +1 -1
  278. package/dist/components/Icon/IconComponents/TrashCan.cjs.js.map +1 -1
  279. package/dist/components/Icon/IconComponents/TrashCan.es.js +13 -9
  280. package/dist/components/Icon/IconComponents/TrashCan.es.js.map +1 -1
  281. package/dist/components/Icon/IconComponents/TraxsourceLogo.cjs.js +1 -1
  282. package/dist/components/Icon/IconComponents/TraxsourceLogo.cjs.js.map +1 -1
  283. package/dist/components/Icon/IconComponents/TraxsourceLogo.es.js +14 -14
  284. package/dist/components/Icon/IconComponents/TraxsourceLogo.es.js.map +1 -1
  285. package/dist/components/Icon/IconComponents/User.cjs.js +1 -1
  286. package/dist/components/Icon/IconComponents/User.cjs.js.map +1 -1
  287. package/dist/components/Icon/IconComponents/User.es.js +9 -9
  288. package/dist/components/Icon/IconComponents/User.es.js.map +1 -1
  289. package/dist/components/Icon/IconComponents/Users.cjs.js +1 -1
  290. package/dist/components/Icon/IconComponents/Users.cjs.js.map +1 -1
  291. package/dist/components/Icon/IconComponents/Users.es.js +12 -8
  292. package/dist/components/Icon/IconComponents/Users.es.js.map +1 -1
  293. package/dist/components/Icon/IconComponents/WarningTriangle.cjs.js +1 -1
  294. package/dist/components/Icon/IconComponents/WarningTriangle.cjs.js.map +1 -1
  295. package/dist/components/Icon/IconComponents/WarningTriangle.es.js +13 -13
  296. package/dist/components/Icon/IconComponents/WarningTriangle.es.js.map +1 -1
  297. package/dist/components/Icon/IconComponents/WhatsappLogoThick.cjs.js +1 -1
  298. package/dist/components/Icon/IconComponents/WhatsappLogoThick.cjs.js.map +1 -1
  299. package/dist/components/Icon/IconComponents/WhatsappLogoThick.es.js +14 -14
  300. package/dist/components/Icon/IconComponents/WhatsappLogoThick.es.js.map +1 -1
  301. package/dist/components/Icon/IconComponents/WhatsappLogoThin.cjs.js +1 -1
  302. package/dist/components/Icon/IconComponents/WhatsappLogoThin.cjs.js.map +1 -1
  303. package/dist/components/Icon/IconComponents/WhatsappLogoThin.es.js +10 -10
  304. package/dist/components/Icon/IconComponents/WhatsappLogoThin.es.js.map +1 -1
  305. package/dist/components/Icon/IconComponents/XTwitterLogo.cjs.js +1 -1
  306. package/dist/components/Icon/IconComponents/XTwitterLogo.cjs.js.map +1 -1
  307. package/dist/components/Icon/IconComponents/XTwitterLogo.es.js +9 -9
  308. package/dist/components/Icon/IconComponents/XTwitterLogo.es.js.map +1 -1
  309. package/dist/components/Icon/IconComponents/YandexLogo.cjs.js +1 -1
  310. package/dist/components/Icon/IconComponents/YandexLogo.cjs.js.map +1 -1
  311. package/dist/components/Icon/IconComponents/YandexLogo.es.js +14 -14
  312. package/dist/components/Icon/IconComponents/YandexLogo.es.js.map +1 -1
  313. package/dist/components/Icon/IconComponents/YoutubeLogo.cjs.js +1 -1
  314. package/dist/components/Icon/IconComponents/YoutubeLogo.cjs.js.map +1 -1
  315. package/dist/components/Icon/IconComponents/YoutubeLogo.es.js +10 -10
  316. package/dist/components/Icon/IconComponents/YoutubeLogo.es.js.map +1 -1
  317. package/dist/components/Icon/IconProps.cjs.js +1 -1
  318. package/dist/components/Icon/IconProps.cjs.js.map +1 -1
  319. package/dist/components/Icon/IconProps.es.js +11 -7
  320. package/dist/components/Icon/IconProps.es.js.map +1 -1
  321. package/dist/components/ImageBackground/ImageBackground.cjs.js +1 -1
  322. package/dist/components/ImageBackground/ImageBackground.cjs.js.map +1 -1
  323. package/dist/components/ImageBackground/ImageBackground.es.js +5 -5
  324. package/dist/components/ImageBackground/ImageBackground.es.js.map +1 -1
  325. package/dist/components/Input/BaseInput/Input.cjs.js +1 -1
  326. package/dist/components/Input/BaseInput/Input.cjs.js.map +1 -1
  327. package/dist/components/Input/BaseInput/Input.es.js +63 -62
  328. package/dist/components/Input/BaseInput/Input.es.js.map +1 -1
  329. package/dist/components/Input/CopyInput/CopyInput.cjs.js +1 -1
  330. package/dist/components/Input/CopyInput/CopyInput.cjs.js.map +1 -1
  331. package/dist/components/Input/CopyInput/CopyInput.es.js +5 -2
  332. package/dist/components/Input/CopyInput/CopyInput.es.js.map +1 -1
  333. package/dist/components/Input/OTPInput/OTPInput.cjs.js +1 -1
  334. package/dist/components/Input/OTPInput/OTPInput.cjs.js.map +1 -1
  335. package/dist/components/Input/OTPInput/OTPInput.es.js.map +1 -1
  336. package/dist/components/Input/SearchInput/SearchInput.cjs.js.map +1 -1
  337. package/dist/components/Input/SearchInput/SearchInput.es.js.map +1 -1
  338. package/dist/components/Menu/MenuTrigger.cjs.js +1 -1
  339. package/dist/components/Menu/MenuTrigger.cjs.js.map +1 -1
  340. package/dist/components/Menu/MenuTrigger.es.js.map +1 -1
  341. package/dist/components/Menu/PopoverMenu.cjs.js +1 -1
  342. package/dist/components/Menu/PopoverMenu.cjs.js.map +1 -1
  343. package/dist/components/Menu/PopoverMenu.es.js +31 -30
  344. package/dist/components/Menu/PopoverMenu.es.js.map +1 -1
  345. package/dist/components/Modal/Modal.cjs.js +1 -1
  346. package/dist/components/Modal/Modal.cjs.js.map +1 -1
  347. package/dist/components/Modal/Modal.es.js +46 -41
  348. package/dist/components/Modal/Modal.es.js.map +1 -1
  349. package/dist/components/Overlay/Overlay.cjs.js +2 -0
  350. package/dist/components/Overlay/Overlay.cjs.js.map +1 -0
  351. package/dist/components/Overlay/Overlay.es.js +25 -0
  352. package/dist/components/Overlay/Overlay.es.js.map +1 -0
  353. package/dist/components/Popover/Popover.cjs.js +1 -1
  354. package/dist/components/Popover/Popover.cjs.js.map +1 -1
  355. package/dist/components/Popover/Popover.es.js +35 -29
  356. package/dist/components/Popover/Popover.es.js.map +1 -1
  357. package/dist/components/ScreenOverlay/ScreenOverlay.cjs.js +1 -1
  358. package/dist/components/ScreenOverlay/ScreenOverlay.cjs.js.map +1 -1
  359. package/dist/components/ScreenOverlay/ScreenOverlay.es.js.map +1 -1
  360. package/dist/components/Select/Select.cjs.js +1 -1
  361. package/dist/components/Select/Select.cjs.js.map +1 -1
  362. package/dist/components/Select/Select.es.js +104 -106
  363. package/dist/components/Select/Select.es.js.map +1 -1
  364. package/dist/components/Switch/Switch.cjs.js +1 -1
  365. package/dist/components/Switch/Switch.cjs.js.map +1 -1
  366. package/dist/components/Switch/Switch.es.js +42 -29
  367. package/dist/components/Switch/Switch.es.js.map +1 -1
  368. package/dist/components/Table/BaseTable/Collection/CompoundComponents.cjs.js.map +1 -1
  369. package/dist/components/Table/BaseTable/Collection/CompoundComponents.es.js.map +1 -1
  370. package/dist/components/Table/BaseTable/Collection/collectionParser.cjs.js +1 -1
  371. package/dist/components/Table/BaseTable/Collection/collectionParser.cjs.js.map +1 -1
  372. package/dist/components/Table/BaseTable/Collection/collectionParser.es.js.map +1 -1
  373. package/dist/components/Table/BaseTable/Collection/useTableCollection.cjs.js.map +1 -1
  374. package/dist/components/Table/BaseTable/Collection/useTableCollection.es.js.map +1 -1
  375. package/dist/components/Table/BaseTable/Table.cjs.js +1 -1
  376. package/dist/components/Table/BaseTable/Table.cjs.js.map +1 -1
  377. package/dist/components/Table/BaseTable/Table.es.js +5 -5
  378. package/dist/components/Table/BaseTable/Table.es.js.map +1 -1
  379. package/dist/components/Table/BaseTable/elements/TableBody.cjs.js.map +1 -1
  380. package/dist/components/Table/BaseTable/elements/TableBody.es.js.map +1 -1
  381. package/dist/components/Table/BaseTable/elements/TableCell.cjs.js.map +1 -1
  382. package/dist/components/Table/BaseTable/elements/TableCell.es.js.map +1 -1
  383. package/dist/components/Table/BaseTable/elements/TableHeader.cjs.js.map +1 -1
  384. package/dist/components/Table/BaseTable/elements/TableHeader.es.js.map +1 -1
  385. package/dist/components/Table/BaseTable/elements/TableHeaderCell.cjs.js.map +1 -1
  386. package/dist/components/Table/BaseTable/elements/TableHeaderCell.es.js.map +1 -1
  387. package/dist/components/Table/BaseTable/elements/TableHeaderRow.cjs.js.map +1 -1
  388. package/dist/components/Table/BaseTable/elements/TableHeaderRow.es.js.map +1 -1
  389. package/dist/components/Table/BaseTable/elements/TableRoot.cjs.js.map +1 -1
  390. package/dist/components/Table/BaseTable/elements/TableRoot.es.js.map +1 -1
  391. package/dist/components/Table/BaseTable/elements/TableRow.cjs.js.map +1 -1
  392. package/dist/components/Table/BaseTable/elements/TableRow.es.js.map +1 -1
  393. package/dist/components/Table/DataTable/DataTable.cjs.js +1 -1
  394. package/dist/components/Table/DataTable/DataTable.cjs.js.map +1 -1
  395. package/dist/components/Table/DataTable/DataTable.es.js +26 -26
  396. package/dist/components/Table/DataTable/DataTable.es.js.map +1 -1
  397. package/dist/components/Table/DataTable/DataTableRow.cjs.js +1 -1
  398. package/dist/components/Table/DataTable/DataTableRow.cjs.js.map +1 -1
  399. package/dist/components/Table/DataTable/DataTableRow.es.js +23 -17
  400. package/dist/components/Table/DataTable/DataTableRow.es.js.map +1 -1
  401. package/dist/components/Text/TextCountdown/TextCountdown.cjs.js +1 -1
  402. package/dist/components/Text/TextCountdown/TextCountdown.cjs.js.map +1 -1
  403. package/dist/components/Text/TextCountdown/TextCountdown.es.js.map +1 -1
  404. package/dist/components/Text/TextEllipsis/TextEllipsis.cjs.js.map +1 -1
  405. package/dist/components/Text/TextEllipsis/TextEllipsis.es.js.map +1 -1
  406. package/dist/components/Text/TextEmphasis/TextEmphasis.cjs.js.map +1 -1
  407. package/dist/components/Text/TextEmphasis/TextEmphasis.es.js.map +1 -1
  408. package/dist/components/ThemeProvider.cjs.js +1 -1
  409. package/dist/components/ThemeProvider.cjs.js.map +1 -1
  410. package/dist/components/ThemeProvider.es.js +4 -4
  411. package/dist/components/ThemeProvider.es.js.map +1 -1
  412. package/dist/components/Tombstone/Tombstone.cjs.js.map +1 -1
  413. package/dist/components/Tombstone/Tombstone.es.js.map +1 -1
  414. package/dist/components/Tooltip/ResponsiveTooltip.cjs.js +1 -1
  415. package/dist/components/Tooltip/ResponsiveTooltip.cjs.js.map +1 -1
  416. package/dist/components/Tooltip/ResponsiveTooltip.es.js +48 -46
  417. package/dist/components/Tooltip/ResponsiveTooltip.es.js.map +1 -1
  418. package/dist/components/Tooltip/Tooltip.cjs.js +1 -1
  419. package/dist/components/Tooltip/Tooltip.cjs.js.map +1 -1
  420. package/dist/components/Tooltip/Tooltip.es.js +57 -52
  421. package/dist/components/Tooltip/Tooltip.es.js.map +1 -1
  422. package/dist/components/Waveform/Waveform.cjs.js +1 -1
  423. package/dist/components/Waveform/Waveform.cjs.js.map +1 -1
  424. package/dist/components/Waveform/Waveform.es.js +1 -1
  425. package/dist/components/Waveform/Waveform.es.js.map +1 -1
  426. package/dist/components/Waveform/WaveformBar.cjs.js.map +1 -1
  427. package/dist/components/Waveform/WaveformBar.es.js.map +1 -1
  428. package/dist/constants.cjs.js +1 -1
  429. package/dist/constants.d.ts +5 -3
  430. package/dist/constants.es.js +2 -4
  431. package/dist/constants.es.js.map +1 -1
  432. package/dist/dark.d.ts +3 -3
  433. package/dist/design/colors.cjs.js.map +1 -1
  434. package/dist/design/colors.es.js.map +1 -1
  435. package/dist/design/darkTheme/colors.cjs.js +1 -1
  436. package/dist/design/darkTheme/colors.cjs.js.map +1 -1
  437. package/dist/design/darkTheme/colors.es.js +7 -7
  438. package/dist/design/darkTheme/colors.es.js.map +1 -1
  439. package/dist/design/darkTheme/stylesheet.cjs.js +1 -1
  440. package/dist/design/darkTheme/stylesheet.cjs.js.map +1 -1
  441. package/dist/design/darkTheme/stylesheet.es.js +17 -14
  442. package/dist/design/darkTheme/stylesheet.es.js.map +1 -1
  443. package/dist/design/generateStylesheet.cjs.js.map +1 -1
  444. package/dist/design/generateStylesheet.es.js.map +1 -1
  445. package/dist/design/lightTheme/colors.cjs.js.map +1 -1
  446. package/dist/design/lightTheme/colors.es.js +3 -3
  447. package/dist/design/lightTheme/stylesheet.cjs.js +1 -1
  448. package/dist/design/lightTheme/stylesheet.cjs.js.map +1 -1
  449. package/dist/design/lightTheme/stylesheet.es.js +17 -17
  450. package/dist/design/lightTheme/stylesheet.es.js.map +1 -1
  451. package/dist/hooks/useBreakpoint.cjs.js +1 -1
  452. package/dist/hooks/useBreakpoint.cjs.js.map +1 -1
  453. package/dist/hooks/useBreakpoint.es.js +13 -12
  454. package/dist/hooks/useBreakpoint.es.js.map +1 -1
  455. package/dist/hooks/useIsClosing.cjs.js +1 -1
  456. package/dist/hooks/useIsClosing.cjs.js.map +1 -1
  457. package/dist/hooks/useIsClosing.es.js.map +1 -1
  458. package/dist/hooks/useLockBodyScroll.cjs.js.map +1 -1
  459. package/dist/hooks/useLockBodyScroll.es.js.map +1 -1
  460. package/dist/hooks/useMergedRef.cjs.js +2 -0
  461. package/dist/hooks/useMergedRef.cjs.js.map +1 -0
  462. package/dist/hooks/useMergedRef.es.js +13 -0
  463. package/dist/hooks/useMergedRef.es.js.map +1 -0
  464. package/dist/hooks/usePalette.cjs.js +1 -1
  465. package/dist/hooks/usePalette.cjs.js.map +1 -1
  466. package/dist/hooks/usePalette.es.js.map +1 -1
  467. package/dist/hooks.cjs.js +1 -1
  468. package/dist/hooks.d.ts +12 -1
  469. package/dist/hooks.es.js +6 -4
  470. package/dist/hooks.es.js.map +1 -1
  471. package/dist/icons.d.ts +79 -74
  472. package/dist/index.cjs.js +1 -1
  473. package/dist/index.d.ts +131 -151
  474. package/dist/index.es.js +20 -20
  475. package/dist/light.d.ts +1 -1
  476. package/dist/node_modules/color2k/dist/index.exports.import.es.cjs.js.map +1 -1
  477. package/dist/node_modules/color2k/dist/index.exports.import.es.es.js.map +1 -1
  478. package/dist/node_modules/react/cjs/react-jsx-runtime.development.cjs.js +4 -12
  479. package/dist/node_modules/react/cjs/react-jsx-runtime.development.cjs.js.map +1 -1
  480. package/dist/node_modules/react/cjs/react-jsx-runtime.development.es.js +193 -557
  481. package/dist/node_modules/react/cjs/react-jsx-runtime.development.es.js.map +1 -1
  482. package/dist/node_modules/react/cjs/react-jsx-runtime.production.cjs.js +10 -0
  483. package/dist/node_modules/react/cjs/react-jsx-runtime.production.cjs.js.map +1 -0
  484. package/dist/node_modules/react/cjs/react-jsx-runtime.production.es.js +36 -0
  485. package/dist/node_modules/react/cjs/react-jsx-runtime.production.es.js.map +1 -0
  486. package/dist/node_modules/react/jsx-runtime.cjs.js +1 -1
  487. package/dist/node_modules/react/jsx-runtime.cjs.js.map +1 -1
  488. package/dist/node_modules/react/jsx-runtime.es.js +1 -1
  489. package/dist/node_modules/react/jsx-runtime.es.js.map +1 -1
  490. package/dist/style.css +1 -1
  491. package/dist/theme.d.ts +20 -4
  492. package/dist/utils/color2k.cjs.js.map +1 -1
  493. package/dist/utils/color2k.es.js +2 -2
  494. package/dist/utils/color2k.es.js.map +1 -1
  495. package/dist/utils/copy.cjs.js +1 -1
  496. package/dist/utils/copy.cjs.js.map +1 -1
  497. package/dist/utils/copy.es.js +12 -11
  498. package/dist/utils/copy.es.js.map +1 -1
  499. package/dist/utils/deepEqual.cjs.js.map +1 -1
  500. package/dist/utils/deepEqual.es.js.map +1 -1
  501. package/dist/utils/image.cjs.js +1 -1
  502. package/dist/utils/image.cjs.js.map +1 -1
  503. package/dist/utils/image.es.js +15 -14
  504. package/dist/utils/image.es.js.map +1 -1
  505. package/dist/utils/navigation.cjs.js.map +1 -1
  506. package/dist/utils/navigation.es.js.map +1 -1
  507. package/dist/utils/palette.cjs.js +1 -1
  508. package/dist/utils/palette.cjs.js.map +1 -1
  509. package/dist/utils/palette.es.js +40 -34
  510. package/dist/utils/palette.es.js.map +1 -1
  511. package/package.json +21 -28
  512. package/dist/_virtual/react-jsx-runtime.production.min.cjs.js.map +0 -1
  513. package/dist/_virtual/react-jsx-runtime.production.min.es.js +0 -5
  514. package/dist/_virtual/react-jsx-runtime.production.min.es.js.map +0 -1
  515. package/dist/components/Dialog/Dialog.cjs.js +0 -2
  516. package/dist/components/Dialog/Dialog.cjs.js.map +0 -1
  517. package/dist/components/Dialog/Dialog.es.js +0 -15
  518. package/dist/components/Dialog/Dialog.es.js.map +0 -1
  519. package/dist/constants/placement.cjs.js +0 -2
  520. package/dist/constants/placement.cjs.js.map +0 -1
  521. package/dist/constants/placement.es.js +0 -28
  522. package/dist/constants/placement.es.js.map +0 -1
  523. package/dist/node_modules/@react-aria/dialog/dist/useDialog.cjs.js +0 -2
  524. package/dist/node_modules/@react-aria/dialog/dist/useDialog.cjs.js.map +0 -1
  525. package/dist/node_modules/@react-aria/dialog/dist/useDialog.es.js +0 -44
  526. package/dist/node_modules/@react-aria/dialog/dist/useDialog.es.js.map +0 -1
  527. package/dist/node_modules/@react-aria/focus/dist/FocusScope.cjs.js +0 -2
  528. package/dist/node_modules/@react-aria/focus/dist/FocusScope.cjs.js.map +0 -1
  529. package/dist/node_modules/@react-aria/focus/dist/FocusScope.es.js +0 -88
  530. package/dist/node_modules/@react-aria/focus/dist/FocusScope.es.js.map +0 -1
  531. package/dist/node_modules/@react-aria/form/dist/useFormValidation.cjs.js +0 -2
  532. package/dist/node_modules/@react-aria/form/dist/useFormValidation.cjs.js.map +0 -1
  533. package/dist/node_modules/@react-aria/form/dist/useFormValidation.es.js +0 -78
  534. package/dist/node_modules/@react-aria/form/dist/useFormValidation.es.js.map +0 -1
  535. package/dist/node_modules/@react-aria/i18n/dist/context.cjs.js +0 -2
  536. package/dist/node_modules/@react-aria/i18n/dist/context.cjs.js.map +0 -1
  537. package/dist/node_modules/@react-aria/i18n/dist/context.es.js +0 -11
  538. package/dist/node_modules/@react-aria/i18n/dist/context.es.js.map +0 -1
  539. package/dist/node_modules/@react-aria/i18n/dist/useDefaultLocale.cjs.js +0 -2
  540. package/dist/node_modules/@react-aria/i18n/dist/useDefaultLocale.cjs.js.map +0 -1
  541. package/dist/node_modules/@react-aria/i18n/dist/useDefaultLocale.es.js +0 -30
  542. package/dist/node_modules/@react-aria/i18n/dist/useDefaultLocale.es.js.map +0 -1
  543. package/dist/node_modules/@react-aria/i18n/dist/utils.cjs.js +0 -2
  544. package/dist/node_modules/@react-aria/i18n/dist/utils.cjs.js.map +0 -1
  545. package/dist/node_modules/@react-aria/i18n/dist/utils.es.js +0 -45
  546. package/dist/node_modules/@react-aria/i18n/dist/utils.es.js.map +0 -1
  547. package/dist/node_modules/@react-aria/interactions/dist/context.cjs.js +0 -2
  548. package/dist/node_modules/@react-aria/interactions/dist/context.cjs.js.map +0 -1
  549. package/dist/node_modules/@react-aria/interactions/dist/context.es.js +0 -10
  550. package/dist/node_modules/@react-aria/interactions/dist/context.es.js.map +0 -1
  551. package/dist/node_modules/@react-aria/interactions/dist/createEventHandler.cjs.js +0 -2
  552. package/dist/node_modules/@react-aria/interactions/dist/createEventHandler.cjs.js.map +0 -1
  553. package/dist/node_modules/@react-aria/interactions/dist/createEventHandler.es.js +0 -29
  554. package/dist/node_modules/@react-aria/interactions/dist/createEventHandler.es.js.map +0 -1
  555. package/dist/node_modules/@react-aria/interactions/dist/focusSafely.cjs.js +0 -2
  556. package/dist/node_modules/@react-aria/interactions/dist/focusSafely.cjs.js.map +0 -1
  557. package/dist/node_modules/@react-aria/interactions/dist/focusSafely.es.js +0 -15
  558. package/dist/node_modules/@react-aria/interactions/dist/focusSafely.es.js.map +0 -1
  559. package/dist/node_modules/@react-aria/interactions/dist/textSelection.cjs.js +0 -2
  560. package/dist/node_modules/@react-aria/interactions/dist/textSelection.cjs.js.map +0 -1
  561. package/dist/node_modules/@react-aria/interactions/dist/textSelection.es.js +0 -35
  562. package/dist/node_modules/@react-aria/interactions/dist/textSelection.es.js.map +0 -1
  563. package/dist/node_modules/@react-aria/interactions/dist/useFocus.cjs.js +0 -2
  564. package/dist/node_modules/@react-aria/interactions/dist/useFocus.cjs.js.map +0 -1
  565. package/dist/node_modules/@react-aria/interactions/dist/useFocus.es.js +0 -30
  566. package/dist/node_modules/@react-aria/interactions/dist/useFocus.es.js.map +0 -1
  567. package/dist/node_modules/@react-aria/interactions/dist/useFocusVisible.cjs.js +0 -2
  568. package/dist/node_modules/@react-aria/interactions/dist/useFocusVisible.cjs.js.map +0 -1
  569. package/dist/node_modules/@react-aria/interactions/dist/useFocusVisible.es.js +0 -63
  570. package/dist/node_modules/@react-aria/interactions/dist/useFocusVisible.es.js.map +0 -1
  571. package/dist/node_modules/@react-aria/interactions/dist/useFocusWithin.cjs.js +0 -2
  572. package/dist/node_modules/@react-aria/interactions/dist/useFocusWithin.cjs.js.map +0 -1
  573. package/dist/node_modules/@react-aria/interactions/dist/useFocusWithin.es.js +0 -56
  574. package/dist/node_modules/@react-aria/interactions/dist/useFocusWithin.es.js.map +0 -1
  575. package/dist/node_modules/@react-aria/interactions/dist/useFocusable.cjs.js +0 -2
  576. package/dist/node_modules/@react-aria/interactions/dist/useFocusable.cjs.js.map +0 -1
  577. package/dist/node_modules/@react-aria/interactions/dist/useFocusable.es.js +0 -32
  578. package/dist/node_modules/@react-aria/interactions/dist/useFocusable.es.js.map +0 -1
  579. package/dist/node_modules/@react-aria/interactions/dist/useKeyboard.cjs.js +0 -2
  580. package/dist/node_modules/@react-aria/interactions/dist/useKeyboard.cjs.js.map +0 -1
  581. package/dist/node_modules/@react-aria/interactions/dist/useKeyboard.es.js +0 -13
  582. package/dist/node_modules/@react-aria/interactions/dist/useKeyboard.es.js.map +0 -1
  583. package/dist/node_modules/@react-aria/interactions/dist/usePress.cjs.js +0 -8
  584. package/dist/node_modules/@react-aria/interactions/dist/usePress.cjs.js.map +0 -1
  585. package/dist/node_modules/@react-aria/interactions/dist/usePress.es.js +0 -386
  586. package/dist/node_modules/@react-aria/interactions/dist/usePress.es.js.map +0 -1
  587. package/dist/node_modules/@react-aria/interactions/dist/utils.cjs.js +0 -2
  588. package/dist/node_modules/@react-aria/interactions/dist/utils.cjs.js.map +0 -1
  589. package/dist/node_modules/@react-aria/interactions/dist/utils.es.js +0 -92
  590. package/dist/node_modules/@react-aria/interactions/dist/utils.es.js.map +0 -1
  591. package/dist/node_modules/@react-aria/label/dist/useField.cjs.js +0 -2
  592. package/dist/node_modules/@react-aria/label/dist/useField.cjs.js.map +0 -1
  593. package/dist/node_modules/@react-aria/label/dist/useField.es.js +0 -36
  594. package/dist/node_modules/@react-aria/label/dist/useField.es.js.map +0 -1
  595. package/dist/node_modules/@react-aria/label/dist/useLabel.cjs.js +0 -2
  596. package/dist/node_modules/@react-aria/label/dist/useLabel.cjs.js.map +0 -1
  597. package/dist/node_modules/@react-aria/label/dist/useLabel.es.js +0 -23
  598. package/dist/node_modules/@react-aria/label/dist/useLabel.es.js.map +0 -1
  599. package/dist/node_modules/@react-aria/overlays/dist/Overlay.cjs.js +0 -2
  600. package/dist/node_modules/@react-aria/overlays/dist/Overlay.cjs.js.map +0 -1
  601. package/dist/node_modules/@react-aria/overlays/dist/Overlay.es.js +0 -16
  602. package/dist/node_modules/@react-aria/overlays/dist/Overlay.es.js.map +0 -1
  603. package/dist/node_modules/@react-aria/radio/dist/useRadio.cjs.js +0 -2
  604. package/dist/node_modules/@react-aria/radio/dist/useRadio.cjs.js.map +0 -1
  605. package/dist/node_modules/@react-aria/radio/dist/useRadio.es.js +0 -70
  606. package/dist/node_modules/@react-aria/radio/dist/useRadio.es.js.map +0 -1
  607. package/dist/node_modules/@react-aria/radio/dist/useRadioGroup.cjs.js +0 -2
  608. package/dist/node_modules/@react-aria/radio/dist/useRadioGroup.cjs.js.map +0 -1
  609. package/dist/node_modules/@react-aria/radio/dist/useRadioGroup.es.js +0 -80
  610. package/dist/node_modules/@react-aria/radio/dist/useRadioGroup.es.js.map +0 -1
  611. package/dist/node_modules/@react-aria/radio/dist/utils.cjs.js +0 -2
  612. package/dist/node_modules/@react-aria/radio/dist/utils.cjs.js.map +0 -1
  613. package/dist/node_modules/@react-aria/radio/dist/utils.es.js +0 -5
  614. package/dist/node_modules/@react-aria/radio/dist/utils.es.js.map +0 -1
  615. package/dist/node_modules/@react-aria/ssr/dist/SSRProvider.cjs.js +0 -2
  616. package/dist/node_modules/@react-aria/ssr/dist/SSRProvider.cjs.js.map +0 -1
  617. package/dist/node_modules/@react-aria/ssr/dist/SSRProvider.es.js +0 -19
  618. package/dist/node_modules/@react-aria/ssr/dist/SSRProvider.es.js.map +0 -1
  619. package/dist/node_modules/@react-aria/switch/dist/useSwitch.cjs.js +0 -2
  620. package/dist/node_modules/@react-aria/switch/dist/useSwitch.cjs.js.map +0 -1
  621. package/dist/node_modules/@react-aria/switch/dist/useSwitch.es.js +0 -20
  622. package/dist/node_modules/@react-aria/switch/dist/useSwitch.es.js.map +0 -1
  623. package/dist/node_modules/@react-aria/toggle/dist/useToggle.cjs.js +0 -2
  624. package/dist/node_modules/@react-aria/toggle/dist/useToggle.cjs.js.map +0 -1
  625. package/dist/node_modules/@react-aria/toggle/dist/useToggle.es.js +0 -60
  626. package/dist/node_modules/@react-aria/toggle/dist/useToggle.es.js.map +0 -1
  627. package/dist/node_modules/@react-aria/visually-hidden/dist/VisuallyHidden.cjs.js +0 -2
  628. package/dist/node_modules/@react-aria/visually-hidden/dist/VisuallyHidden.cjs.js.map +0 -1
  629. package/dist/node_modules/@react-aria/visually-hidden/dist/VisuallyHidden.es.js +0 -41
  630. package/dist/node_modules/@react-aria/visually-hidden/dist/VisuallyHidden.es.js.map +0 -1
  631. package/dist/node_modules/@react-stately/form/dist/useFormValidationState.cjs.js +0 -2
  632. package/dist/node_modules/@react-stately/form/dist/useFormValidationState.cjs.js.map +0 -1
  633. package/dist/node_modules/@react-stately/form/dist/useFormValidationState.es.js +0 -110
  634. package/dist/node_modules/@react-stately/form/dist/useFormValidationState.es.js.map +0 -1
  635. package/dist/node_modules/@react-stately/radio/dist/useRadioGroupState.cjs.js +0 -2
  636. package/dist/node_modules/@react-stately/radio/dist/useRadioGroupState.cjs.js.map +0 -1
  637. package/dist/node_modules/@react-stately/radio/dist/useRadioGroupState.es.js +0 -35
  638. package/dist/node_modules/@react-stately/radio/dist/useRadioGroupState.es.js.map +0 -1
  639. package/dist/node_modules/@react-stately/toggle/dist/useToggleState.cjs.js +0 -2
  640. package/dist/node_modules/@react-stately/toggle/dist/useToggleState.cjs.js.map +0 -1
  641. package/dist/node_modules/@react-stately/toggle/dist/useToggleState.es.js +0 -22
  642. package/dist/node_modules/@react-stately/toggle/dist/useToggleState.es.js.map +0 -1
  643. package/dist/node_modules/@react-stately/utils/dist/useControlledState.cjs.js +0 -2
  644. package/dist/node_modules/@react-stately/utils/dist/useControlledState.cjs.js.map +0 -1
  645. package/dist/node_modules/@react-stately/utils/dist/useControlledState.es.js +0 -31
  646. package/dist/node_modules/@react-stately/utils/dist/useControlledState.es.js.map +0 -1
  647. package/dist/node_modules/@swc/helpers/esm/_check_private_redeclaration.cjs.js +0 -2
  648. package/dist/node_modules/@swc/helpers/esm/_check_private_redeclaration.cjs.js.map +0 -1
  649. package/dist/node_modules/@swc/helpers/esm/_check_private_redeclaration.es.js +0 -9
  650. package/dist/node_modules/@swc/helpers/esm/_check_private_redeclaration.es.js.map +0 -1
  651. package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_get.cjs.js +0 -2
  652. package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_get.cjs.js.map +0 -1
  653. package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_get.es.js +0 -8
  654. package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_get.es.js.map +0 -1
  655. package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_set.cjs.js +0 -2
  656. package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_set.cjs.js.map +0 -1
  657. package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_set.es.js +0 -13
  658. package/dist/node_modules/@swc/helpers/esm/_class_apply_descriptor_set.es.js.map +0 -1
  659. package/dist/node_modules/@swc/helpers/esm/_class_extract_field_descriptor.cjs.js +0 -2
  660. package/dist/node_modules/@swc/helpers/esm/_class_extract_field_descriptor.cjs.js.map +0 -1
  661. package/dist/node_modules/@swc/helpers/esm/_class_extract_field_descriptor.es.js +0 -9
  662. package/dist/node_modules/@swc/helpers/esm/_class_extract_field_descriptor.es.js.map +0 -1
  663. package/dist/node_modules/@swc/helpers/esm/_class_private_field_get.cjs.js +0 -2
  664. package/dist/node_modules/@swc/helpers/esm/_class_private_field_get.cjs.js.map +0 -1
  665. package/dist/node_modules/@swc/helpers/esm/_class_private_field_get.es.js +0 -11
  666. package/dist/node_modules/@swc/helpers/esm/_class_private_field_get.es.js.map +0 -1
  667. package/dist/node_modules/@swc/helpers/esm/_class_private_field_init.cjs.js +0 -2
  668. package/dist/node_modules/@swc/helpers/esm/_class_private_field_init.cjs.js.map +0 -1
  669. package/dist/node_modules/@swc/helpers/esm/_class_private_field_init.es.js +0 -9
  670. package/dist/node_modules/@swc/helpers/esm/_class_private_field_init.es.js.map +0 -1
  671. package/dist/node_modules/@swc/helpers/esm/_class_private_field_set.cjs.js +0 -2
  672. package/dist/node_modules/@swc/helpers/esm/_class_private_field_set.cjs.js.map +0 -1
  673. package/dist/node_modules/@swc/helpers/esm/_class_private_field_set.es.js +0 -11
  674. package/dist/node_modules/@swc/helpers/esm/_class_private_field_set.es.js.map +0 -1
  675. package/dist/node_modules/react/cjs/react-jsx-runtime.production.min.cjs.js +0 -10
  676. package/dist/node_modules/react/cjs/react-jsx-runtime.production.min.cjs.js.map +0 -1
  677. package/dist/node_modules/react/cjs/react-jsx-runtime.production.min.es.js +0 -29
  678. package/dist/node_modules/react/cjs/react-jsx-runtime.production.min.es.js.map +0 -1
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../../node_modules/react/jsx-runtime.cjs.js"),o=require("react"),b=require("../../hooks/useBreakpoint.cjs.js"),O=require("../ActionMenu/ActionMenu.cjs.js"),k=require("./PopoverMenu.cjs.js");;/* empty css */;/* empty css */const y=require("../Icon/IconComponents/Ellipsis.cjs.js"),A=require("../../constants/breakpoint.cjs.js");function f({renderTrigger:a,size:R=24,title:c,items:p,disabled:g,onClose:s,triggerTestId:d="MenuTrigger-Trigger",menuTestId:q,onSelectionChange:i,selectedKey:u,disabledKeys:x}){const E=b.useBreakpoint(A.BREAKPOINTS.SMALL),[e,n]=o.useState(!1),T=o.useRef(null),l=o.useMemo(()=>p.map(t=>({...t,id:t.key})),[p]),m=t=>{i==null||i(t),n(!1)},M=a?a({isOpen:e,disabled:g,setIsOpen:n}):r.jsxRuntimeExports.jsx("button",{"data-testid":d,disabled:g,className:"proton-MenuTrigger__button",ref:T,onClick:()=>n(!e),type:"button","aria-label":"Open menu","aria-expanded":e,children:r.jsxRuntimeExports.jsx(y.Ellipsis,{size:R})});return E?r.jsxRuntimeExports.jsxs(r.jsxRuntimeExports.Fragment,{children:[M,e&&r.jsxRuntimeExports.jsx(O.ActionMenu,{actions:l,title:c,isOpen:e,onClose:()=>{n(!1),s==null||s()},showCancel:!0,"data-testid":q,selectionMode:"single",onSelectionChange:t=>{const j=Array.from(t)[0];j&&m(j)},selectedKeys:u?[u]:void 0,disabledKeys:x})]}):r.jsxRuntimeExports.jsx(k.PopoverMenu,{trigger:M,items:l,isOpen:e,onOpenChange:n,selectedKey:u,onSelectionChange:m,disabledKeys:x,title:c})}f.displayName="ProtonUIMenuTrigger";exports.MenuTrigger=f;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../node_modules/react/jsx-runtime.cjs.js"),o=require("react"),b=require("../../hooks/useBreakpoint.cjs.js"),O=require("../ActionMenu/ActionMenu.cjs.js"),k=require("./PopoverMenu.cjs.js");;/* empty css */;/* empty css */const y=require("../Icon/IconComponents/Ellipsis.cjs.js"),A=require("../../constants/breakpoint.cjs.js");function f({renderTrigger:a,size:q=24,title:c,items:p,disabled:g,onClose:s,triggerTestId:R="MenuTrigger-Trigger",menuTestId:d,onSelectionChange:i,selectedKey:u,disabledKeys:x}){const E=b.useBreakpoint(A.BREAKPOINTS.SMALL),[e,n]=o.useState(!1),T=o.useRef(null),l=o.useMemo(()=>p.map(r=>({...r,id:r.key})),[p]),m=r=>{i==null||i(r),n(!1)},M=a?a({isOpen:e,disabled:g,setIsOpen:n}):t.jsxRuntimeExports.jsx("button",{"data-testid":R,disabled:g,className:"proton-MenuTrigger__button",ref:T,onClick:()=>n(!e),type:"button","aria-label":"Open menu","aria-expanded":e,children:t.jsxRuntimeExports.jsx(y.Ellipsis,{size:q})});return E?t.jsxRuntimeExports.jsxs(t.jsxRuntimeExports.Fragment,{children:[M,e&&t.jsxRuntimeExports.jsx(O.ActionMenu,{actions:l,title:c,isOpen:e,onClose:()=>{n(!1),s==null||s()},showCancel:!0,"data-testid":d,selectionMode:"single",onSelectionChange:r=>{const j=Array.from(r)[0];j&&m(j)},selectedKeys:u?[u]:void 0,disabledKeys:x})]}):t.jsxRuntimeExports.jsx(k.PopoverMenu,{trigger:M,items:l,isOpen:e,onOpenChange:n,selectedKey:u,onSelectionChange:m,disabledKeys:x,title:c})}f.displayName="ProtonUIMenuTrigger";exports.MenuTrigger=f;
2
2
  //# sourceMappingURL=MenuTrigger.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MenuTrigger.cjs.js","sources":["../../../src/components/Menu/MenuTrigger.tsx"],"sourcesContent":["\"use client\";\n\nimport { ReactNode, useMemo, useRef, useState } from \"react\";\n\nimport { BREAKPOINTS } from \"../../constants\";\nimport { useBreakpoint } from \"../../hooks/useBreakpoint\";\nimport { ActionMenu, ActionMenuAction } from \"../ActionMenu/ActionMenu\";\nimport { Ellipsis as EllipsisIcon } from \"../Icon\";\nimport { PopoverMenu } from \"./PopoverMenu\";\n\nimport \"./MenuTrigger.css\";\nimport \"./Menu.css\";\n\nexport interface MenuTriggerProps {\n disabled?: boolean;\n isOpen?: boolean;\n setIsOpen: (isOpen: boolean) => void;\n}\n\nexport interface MenuProps {\n /** Custom trigger component. If not provided, defaults to ellipsis icon.\n * - @prop triggerProps {@link TriggerProps}\n */\n renderTrigger?: (triggerProps: MenuTriggerProps) => ReactNode;\n\n /** Size of the trigger icon\n * @default 24\n */\n size?: number;\n\n /** Title of the parent menu */\n title?: string;\n\n /** Array of menu actions/items to display\n * - type {@link ActionMenuAction}[]\n */\n items: ActionMenuAction[];\n\n /** Whether the menu is disabled\n * @default false\n */\n disabled?: boolean;\n\n /** Callback when the menu closes */\n onClose?: () => void;\n\n /** Test ID for the trigger button */\n triggerTestId?: string;\n\n /** Test ID for the menu */\n menuTestId?: string;\n\n /** Callback when the selection changes */\n onSelectionChange?: (key: string) => void;\n\n /** The key of the selected item */\n selectedKey?: string;\n\n /** The keys of the disabled items */\n disabledKeys?: string[];\n}\n\n/**\n * An uncontrolled component that displays either a popover menu or an action menu\n * depending on device capabilities (touch detection and screen size) when the menu trigger is pressed.\n *\n * API:\n * - {@link MenuProps}\n */\nexport function MenuTrigger({\n renderTrigger,\n size = 24,\n title,\n items,\n disabled,\n onClose,\n triggerTestId = \"MenuTrigger-Trigger\",\n menuTestId,\n onSelectionChange,\n selectedKey,\n disabledKeys,\n}: MenuProps) {\n const isMobile = useBreakpoint(BREAKPOINTS.SMALL);\n const [isOpen, setIsOpen] = useState(false);\n const triggerRef = useRef<HTMLButtonElement>(null);\n\n const menuItems = useMemo(\n () => items.map((item) => ({ ...item, id: item.key })),\n [items],\n );\n\n const handleSelectionChange = (key: string) => {\n onSelectionChange?.(key);\n setIsOpen(false);\n };\n\n const triggerButton = renderTrigger ? (\n renderTrigger({\n isOpen,\n disabled,\n setIsOpen,\n })\n ) : (\n <button\n data-testid={triggerTestId}\n disabled={disabled}\n className=\"proton-MenuTrigger__button\"\n ref={triggerRef}\n onClick={() => setIsOpen(!isOpen)}\n type=\"button\"\n aria-label=\"Open menu\"\n aria-expanded={isOpen}\n >\n <EllipsisIcon size={size} />\n </button>\n );\n\n if (isMobile) {\n return (\n <>\n {triggerButton}\n {isOpen && (\n <ActionMenu\n actions={menuItems}\n title={title}\n isOpen={isOpen}\n onClose={() => {\n setIsOpen(false);\n onClose?.();\n }}\n showCancel\n data-testid={menuTestId}\n selectionMode=\"single\"\n onSelectionChange={(keys) => {\n const nextKey = Array.from(keys)[0];\n if (nextKey) handleSelectionChange(nextKey as string);\n }}\n selectedKeys={selectedKey ? [selectedKey] : undefined}\n disabledKeys={disabledKeys}\n />\n )}\n </>\n );\n }\n\n return (\n <PopoverMenu\n trigger={triggerButton}\n items={menuItems}\n isOpen={isOpen}\n onOpenChange={setIsOpen}\n selectedKey={selectedKey}\n onSelectionChange={handleSelectionChange}\n disabledKeys={disabledKeys}\n title={title}\n />\n );\n}\n\nMenuTrigger.displayName = \"ProtonUIMenuTrigger\";\n"],"names":["MenuTrigger","renderTrigger","size","title","items","disabled","onClose","triggerTestId","menuTestId","onSelectionChange","selectedKey","disabledKeys","isMobile","useBreakpoint","BREAKPOINTS","isOpen","setIsOpen","useState","triggerRef","useRef","menuItems","useMemo","item","handleSelectionChange","key","triggerButton","jsx","EllipsisIcon","jsxs","Fragment","ActionMenu","keys","nextKey","PopoverMenu"],"mappings":"ycAqEO,SAASA,EAAY,CAC1B,cAAAC,EACA,KAAAC,EAAO,GACP,MAAAC,EACA,MAAAC,EACA,SAAAC,EACA,QAAAC,EACA,cAAAC,EAAgB,sBAChB,WAAAC,EACA,kBAAAC,EACA,YAAAC,EACA,aAAAC,CACF,EAAc,CACN,MAAAC,EAAWC,EAAAA,cAAcC,EAAA,YAAY,KAAK,EAC1C,CAACC,EAAQC,CAAS,EAAIC,WAAS,EAAK,EACpCC,EAAaC,SAA0B,IAAI,EAE3CC,EAAYC,EAAA,QAChB,IAAMjB,EAAM,IAAKkB,IAAU,CAAE,GAAGA,EAAM,GAAIA,EAAK,GAAA,EAAM,EACrD,CAAClB,CAAK,CAAA,EAGFmB,EAAyBC,GAAgB,CAC7Cf,GAAA,MAAAA,EAAoBe,GACpBR,EAAU,EAAK,CAAA,EAGXS,EAAgBxB,EACpBA,EAAc,CACZ,OAAAc,EACA,SAAAV,EACA,UAAAW,CACD,CAAA,EAEDU,EAAA,kBAAA,IAAC,SAAA,CACC,cAAanB,EACb,SAAAF,EACA,UAAU,6BACV,IAAKa,EACL,QAAS,IAAMF,EAAU,CAACD,CAAM,EAChC,KAAK,SACL,aAAW,YACX,gBAAeA,EAEf,SAAAW,EAAA,kBAAA,IAACC,YAAa,KAAAzB,CAAY,CAAA,CAAA,CAAA,EAI9B,OAAIU,EAGGgB,EAAA,kBAAA,KAAAC,6BAAA,CAAA,SAAA,CAAAJ,EACAV,GACCW,EAAA,kBAAA,IAACI,EAAA,WAAA,CACC,QAASV,EACT,MAAAjB,EACA,OAAAY,EACA,QAAS,IAAM,CACbC,EAAU,EAAK,EACLV,GAAA,MAAAA,GACZ,EACA,WAAU,GACV,cAAaE,EACb,cAAc,SACd,kBAAoBuB,GAAS,CAC3B,MAAMC,EAAU,MAAM,KAAKD,CAAI,EAAE,CAAC,EAC9BC,KAA+BA,CAAiB,CACtD,EACA,aAActB,EAAc,CAACA,CAAW,EAAI,OAC5C,aAAAC,CAAA,CACF,CAEJ,CAAA,CAAA,EAKFe,EAAA,kBAAA,IAACO,EAAA,YAAA,CACC,QAASR,EACT,MAAOL,EACP,OAAAL,EACA,aAAcC,EACd,YAAAN,EACA,kBAAmBa,EACnB,aAAAZ,EACA,MAAAR,CAAA,CAAA,CAGN,CAEAH,EAAY,YAAc"}
1
+ {"version":3,"file":"MenuTrigger.cjs.js","sources":["../../../src/components/Menu/MenuTrigger.tsx"],"sourcesContent":["\"use client\";\n\nimport { ReactNode, useMemo, useRef, useState } from \"react\";\n\nimport { BREAKPOINTS } from \"../../constants\";\nimport { useBreakpoint } from \"../../hooks/useBreakpoint\";\nimport { ActionMenu, ActionMenuAction } from \"../ActionMenu/ActionMenu\";\nimport { Ellipsis as EllipsisIcon } from \"../Icon\";\nimport { PopoverMenu } from \"./PopoverMenu\";\n\nimport \"./MenuTrigger.css\";\nimport \"./Menu.css\";\n\nexport interface MenuTriggerProps {\n disabled?: boolean;\n isOpen?: boolean;\n setIsOpen: (isOpen: boolean) => void;\n}\n\nexport interface MenuProps {\n /** Custom trigger component. If not provided, defaults to ellipsis icon.\n * - @prop triggerProps {@link TriggerProps}\n */\n renderTrigger?: (triggerProps: MenuTriggerProps) => ReactNode;\n\n /** Size of the trigger icon\n * @default 24\n */\n size?: number;\n\n /** Title of the parent menu */\n title?: string;\n\n /** Array of menu actions/items to display\n * - type {@link ActionMenuAction}[]\n */\n items: ActionMenuAction[];\n\n /** Whether the menu is disabled\n * @default false\n */\n disabled?: boolean;\n\n /** Callback when the menu closes */\n onClose?: () => void;\n\n /** Test ID for the trigger button */\n triggerTestId?: string;\n\n /** Test ID for the menu */\n menuTestId?: string;\n\n /** Callback when the selection changes */\n onSelectionChange?: (key: string) => void;\n\n /** The key of the selected item */\n selectedKey?: string;\n\n /** The keys of the disabled items */\n disabledKeys?: string[];\n}\n\n/**\n * An uncontrolled component that displays either a popover menu or an action menu\n * depending on device capabilities (touch detection and screen size) when the menu trigger is pressed.\n *\n * API:\n * - {@link MenuProps}\n */\nexport function MenuTrigger({\n renderTrigger,\n size = 24,\n title,\n items,\n disabled,\n onClose,\n triggerTestId = \"MenuTrigger-Trigger\",\n menuTestId,\n onSelectionChange,\n selectedKey,\n disabledKeys,\n}: MenuProps) {\n const isMobile = useBreakpoint(BREAKPOINTS.SMALL);\n const [isOpen, setIsOpen] = useState(false);\n const triggerRef = useRef<HTMLButtonElement>(null);\n\n const menuItems = useMemo(\n () => items.map((item) => ({ ...item, id: item.key })),\n [items],\n );\n\n const handleSelectionChange = (key: string) => {\n onSelectionChange?.(key);\n setIsOpen(false);\n };\n\n const triggerButton = renderTrigger ? (\n renderTrigger({\n isOpen,\n disabled,\n setIsOpen,\n })\n ) : (\n <button\n data-testid={triggerTestId}\n disabled={disabled}\n className=\"proton-MenuTrigger__button\"\n ref={triggerRef}\n onClick={() => setIsOpen(!isOpen)}\n type=\"button\"\n aria-label=\"Open menu\"\n aria-expanded={isOpen}\n >\n <EllipsisIcon size={size} />\n </button>\n );\n\n if (isMobile) {\n return (\n <>\n {triggerButton}\n {isOpen && (\n <ActionMenu\n actions={menuItems}\n title={title}\n isOpen={isOpen}\n onClose={() => {\n setIsOpen(false);\n onClose?.();\n }}\n showCancel\n data-testid={menuTestId}\n selectionMode=\"single\"\n onSelectionChange={(keys) => {\n const nextKey = Array.from(keys)[0];\n if (nextKey) handleSelectionChange(nextKey as string);\n }}\n selectedKeys={selectedKey ? [selectedKey] : undefined}\n disabledKeys={disabledKeys}\n />\n )}\n </>\n );\n }\n\n return (\n <PopoverMenu\n trigger={triggerButton}\n items={menuItems}\n isOpen={isOpen}\n onOpenChange={setIsOpen}\n selectedKey={selectedKey}\n onSelectionChange={handleSelectionChange}\n disabledKeys={disabledKeys}\n title={title}\n />\n );\n}\n\nMenuTrigger.displayName = \"ProtonUIMenuTrigger\";\n"],"names":["MenuTrigger","renderTrigger","size","title","items","disabled","onClose","triggerTestId","menuTestId","onSelectionChange","selectedKey","disabledKeys","isMobile","useBreakpoint","BREAKPOINTS","isOpen","setIsOpen","useState","triggerRef","useRef","menuItems","useMemo","item","handleSelectionChange","key","triggerButton","jsx","EllipsisIcon","jsxs","Fragment","ActionMenu","keys","nextKey","PopoverMenu"],"mappings":"ycAqEO,SAASA,EAAY,CAC1B,cAAAC,EACA,KAAAC,EAAO,GACP,MAAAC,EACA,MAAAC,EACA,SAAAC,EACA,QAAAC,EACA,cAAAC,EAAgB,sBAChB,WAAAC,EACA,kBAAAC,EACA,YAAAC,EACA,aAAAC,CACF,EAAc,CACZ,MAAMC,EAAWC,EAAAA,cAAcC,EAAAA,YAAY,KAAK,EAC1C,CAACC,EAAQC,CAAS,EAAIC,EAAAA,SAAS,EAAK,EACpCC,EAAaC,EAAAA,OAA0B,IAAI,EAE3CC,EAAYC,EAAAA,QAChB,IAAMjB,EAAM,IAAKkB,IAAU,CAAE,GAAGA,EAAM,GAAIA,EAAK,GAAA,EAAM,EACrD,CAAClB,CAAK,CAAA,EAGFmB,EAAyBC,GAAgB,CAC7Cf,GAAA,MAAAA,EAAoBe,GACpBR,EAAU,EAAK,CACjB,EAEMS,EAAgBxB,EACpBA,EAAc,CACZ,OAAAc,EACA,SAAAV,EACA,UAAAW,CAAA,CACD,EAEDU,EAAAA,kBAAAA,IAAC,SAAA,CACC,cAAanB,EACb,SAAAF,EACA,UAAU,6BACV,IAAKa,EACL,QAAS,IAAMF,EAAU,CAACD,CAAM,EAChC,KAAK,SACL,aAAW,YACX,gBAAeA,EAEf,SAAAW,EAAAA,kBAAAA,IAACC,YAAa,KAAAzB,CAAA,CAAY,CAAA,CAAA,EAI9B,OAAIU,EAEAgB,EAAAA,kBAAAA,KAAAC,6BAAA,CACG,SAAA,CAAAJ,EACAV,GACCW,EAAAA,kBAAAA,IAACI,EAAAA,WAAA,CACC,QAASV,EACT,MAAAjB,EACA,OAAAY,EACA,QAAS,IAAM,CACbC,EAAU,EAAK,EACfV,GAAA,MAAAA,GACF,EACA,WAAU,GACV,cAAaE,EACb,cAAc,SACd,kBAAoBuB,GAAS,CAC3B,MAAMC,EAAU,MAAM,KAAKD,CAAI,EAAE,CAAC,EAC9BC,KAA+BA,CAAiB,CACtD,EACA,aAActB,EAAc,CAACA,CAAW,EAAI,OAC5C,aAAAC,CAAA,CAAA,CACF,EAEJ,EAKFe,EAAAA,kBAAAA,IAACO,EAAAA,YAAA,CACC,QAASR,EACT,MAAOL,EACP,OAAAL,EACA,aAAcC,EACd,YAAAN,EACA,kBAAmBa,EACnB,aAAAZ,EACA,MAAAR,CAAA,CAAA,CAGN,CAEAH,EAAY,YAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"MenuTrigger.es.js","sources":["../../../src/components/Menu/MenuTrigger.tsx"],"sourcesContent":["\"use client\";\n\nimport { ReactNode, useMemo, useRef, useState } from \"react\";\n\nimport { BREAKPOINTS } from \"../../constants\";\nimport { useBreakpoint } from \"../../hooks/useBreakpoint\";\nimport { ActionMenu, ActionMenuAction } from \"../ActionMenu/ActionMenu\";\nimport { Ellipsis as EllipsisIcon } from \"../Icon\";\nimport { PopoverMenu } from \"./PopoverMenu\";\n\nimport \"./MenuTrigger.css\";\nimport \"./Menu.css\";\n\nexport interface MenuTriggerProps {\n disabled?: boolean;\n isOpen?: boolean;\n setIsOpen: (isOpen: boolean) => void;\n}\n\nexport interface MenuProps {\n /** Custom trigger component. If not provided, defaults to ellipsis icon.\n * - @prop triggerProps {@link TriggerProps}\n */\n renderTrigger?: (triggerProps: MenuTriggerProps) => ReactNode;\n\n /** Size of the trigger icon\n * @default 24\n */\n size?: number;\n\n /** Title of the parent menu */\n title?: string;\n\n /** Array of menu actions/items to display\n * - type {@link ActionMenuAction}[]\n */\n items: ActionMenuAction[];\n\n /** Whether the menu is disabled\n * @default false\n */\n disabled?: boolean;\n\n /** Callback when the menu closes */\n onClose?: () => void;\n\n /** Test ID for the trigger button */\n triggerTestId?: string;\n\n /** Test ID for the menu */\n menuTestId?: string;\n\n /** Callback when the selection changes */\n onSelectionChange?: (key: string) => void;\n\n /** The key of the selected item */\n selectedKey?: string;\n\n /** The keys of the disabled items */\n disabledKeys?: string[];\n}\n\n/**\n * An uncontrolled component that displays either a popover menu or an action menu\n * depending on device capabilities (touch detection and screen size) when the menu trigger is pressed.\n *\n * API:\n * - {@link MenuProps}\n */\nexport function MenuTrigger({\n renderTrigger,\n size = 24,\n title,\n items,\n disabled,\n onClose,\n triggerTestId = \"MenuTrigger-Trigger\",\n menuTestId,\n onSelectionChange,\n selectedKey,\n disabledKeys,\n}: MenuProps) {\n const isMobile = useBreakpoint(BREAKPOINTS.SMALL);\n const [isOpen, setIsOpen] = useState(false);\n const triggerRef = useRef<HTMLButtonElement>(null);\n\n const menuItems = useMemo(\n () => items.map((item) => ({ ...item, id: item.key })),\n [items],\n );\n\n const handleSelectionChange = (key: string) => {\n onSelectionChange?.(key);\n setIsOpen(false);\n };\n\n const triggerButton = renderTrigger ? (\n renderTrigger({\n isOpen,\n disabled,\n setIsOpen,\n })\n ) : (\n <button\n data-testid={triggerTestId}\n disabled={disabled}\n className=\"proton-MenuTrigger__button\"\n ref={triggerRef}\n onClick={() => setIsOpen(!isOpen)}\n type=\"button\"\n aria-label=\"Open menu\"\n aria-expanded={isOpen}\n >\n <EllipsisIcon size={size} />\n </button>\n );\n\n if (isMobile) {\n return (\n <>\n {triggerButton}\n {isOpen && (\n <ActionMenu\n actions={menuItems}\n title={title}\n isOpen={isOpen}\n onClose={() => {\n setIsOpen(false);\n onClose?.();\n }}\n showCancel\n data-testid={menuTestId}\n selectionMode=\"single\"\n onSelectionChange={(keys) => {\n const nextKey = Array.from(keys)[0];\n if (nextKey) handleSelectionChange(nextKey as string);\n }}\n selectedKeys={selectedKey ? [selectedKey] : undefined}\n disabledKeys={disabledKeys}\n />\n )}\n </>\n );\n }\n\n return (\n <PopoverMenu\n trigger={triggerButton}\n items={menuItems}\n isOpen={isOpen}\n onOpenChange={setIsOpen}\n selectedKey={selectedKey}\n onSelectionChange={handleSelectionChange}\n disabledKeys={disabledKeys}\n title={title}\n />\n );\n}\n\nMenuTrigger.displayName = \"ProtonUIMenuTrigger\";\n"],"names":["MenuTrigger","renderTrigger","size","title","items","disabled","onClose","triggerTestId","menuTestId","onSelectionChange","selectedKey","disabledKeys","isMobile","useBreakpoint","BREAKPOINTS","isOpen","setIsOpen","useState","triggerRef","useRef","menuItems","useMemo","item","handleSelectionChange","key","triggerButton","jsx","EllipsisIcon","jsxs","Fragment","ActionMenu","keys","nextKey","PopoverMenu"],"mappings":";;;;;;;;;AAqEO,SAASA,EAAY;AAAA,EAC1B,eAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,OAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,SAAAC;AAAA,EACA,eAAAC,IAAgB;AAAA,EAChB,YAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,aAAAC;AAAA,EACA,cAAAC;AACF,GAAc;AACN,QAAAC,IAAWC,EAAcC,EAAY,KAAK,GAC1C,CAACC,GAAQC,CAAS,IAAIC,EAAS,EAAK,GACpCC,IAAaC,EAA0B,IAAI,GAE3CC,IAAYC;AAAA,IAChB,MAAMjB,EAAM,IAAI,CAACkB,OAAU,EAAE,GAAGA,GAAM,IAAIA,EAAK,IAAA,EAAM;AAAA,IACrD,CAAClB,CAAK;AAAA,EAAA,GAGFmB,IAAwB,CAACC,MAAgB;AAC7C,IAAAf,KAAA,QAAAA,EAAoBe,IACpBR,EAAU,EAAK;AAAA,EAAA,GAGXS,IAAgBxB,IACpBA,EAAc;AAAA,IACZ,QAAAc;AAAA,IACA,UAAAV;AAAA,IACA,WAAAW;AAAA,EACD,CAAA,IAEDU,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,eAAanB;AAAA,MACb,UAAAF;AAAA,MACA,WAAU;AAAA,MACV,KAAKa;AAAA,MACL,SAAS,MAAMF,EAAU,CAACD,CAAM;AAAA,MAChC,MAAK;AAAA,MACL,cAAW;AAAA,MACX,iBAAeA;AAAA,MAEf,UAAAW,gBAAAA,EAAA,IAACC,KAAa,MAAAzB,EAAY,CAAA;AAAA,IAAA;AAAA,EAAA;AAI9B,SAAIU,IAGGgB,gBAAAA,EAAA,KAAAC,YAAA,EAAA,UAAA;AAAA,IAAAJ;AAAA,IACAV,KACCW,gBAAAA,EAAA;AAAA,MAACI;AAAA,MAAA;AAAA,QACC,SAASV;AAAA,QACT,OAAAjB;AAAA,QACA,QAAAY;AAAA,QACA,SAAS,MAAM;AACb,UAAAC,EAAU,EAAK,GACLV,KAAA,QAAAA;AAAA,QACZ;AAAA,QACA,YAAU;AAAA,QACV,eAAaE;AAAA,QACb,eAAc;AAAA,QACd,mBAAmB,CAACuB,MAAS;AAC3B,gBAAMC,IAAU,MAAM,KAAKD,CAAI,EAAE,CAAC;AAC9B,UAAAC,OAA+BA,CAAiB;AAAA,QACtD;AAAA,QACA,cAActB,IAAc,CAACA,CAAW,IAAI;AAAA,QAC5C,cAAAC;AAAA,MAAA;AAAA,IACF;AAAA,EAEJ,EAAA,CAAA,IAKFe,gBAAAA,EAAA;AAAA,IAACO;AAAA,IAAA;AAAA,MACC,SAASR;AAAA,MACT,OAAOL;AAAA,MACP,QAAAL;AAAA,MACA,cAAcC;AAAA,MACd,aAAAN;AAAA,MACA,mBAAmBa;AAAA,MACnB,cAAAZ;AAAA,MACA,OAAAR;AAAA,IAAA;AAAA,EAAA;AAGN;AAEAH,EAAY,cAAc;"}
1
+ {"version":3,"file":"MenuTrigger.es.js","sources":["../../../src/components/Menu/MenuTrigger.tsx"],"sourcesContent":["\"use client\";\n\nimport { ReactNode, useMemo, useRef, useState } from \"react\";\n\nimport { BREAKPOINTS } from \"../../constants\";\nimport { useBreakpoint } from \"../../hooks/useBreakpoint\";\nimport { ActionMenu, ActionMenuAction } from \"../ActionMenu/ActionMenu\";\nimport { Ellipsis as EllipsisIcon } from \"../Icon\";\nimport { PopoverMenu } from \"./PopoverMenu\";\n\nimport \"./MenuTrigger.css\";\nimport \"./Menu.css\";\n\nexport interface MenuTriggerProps {\n disabled?: boolean;\n isOpen?: boolean;\n setIsOpen: (isOpen: boolean) => void;\n}\n\nexport interface MenuProps {\n /** Custom trigger component. If not provided, defaults to ellipsis icon.\n * - @prop triggerProps {@link TriggerProps}\n */\n renderTrigger?: (triggerProps: MenuTriggerProps) => ReactNode;\n\n /** Size of the trigger icon\n * @default 24\n */\n size?: number;\n\n /** Title of the parent menu */\n title?: string;\n\n /** Array of menu actions/items to display\n * - type {@link ActionMenuAction}[]\n */\n items: ActionMenuAction[];\n\n /** Whether the menu is disabled\n * @default false\n */\n disabled?: boolean;\n\n /** Callback when the menu closes */\n onClose?: () => void;\n\n /** Test ID for the trigger button */\n triggerTestId?: string;\n\n /** Test ID for the menu */\n menuTestId?: string;\n\n /** Callback when the selection changes */\n onSelectionChange?: (key: string) => void;\n\n /** The key of the selected item */\n selectedKey?: string;\n\n /** The keys of the disabled items */\n disabledKeys?: string[];\n}\n\n/**\n * An uncontrolled component that displays either a popover menu or an action menu\n * depending on device capabilities (touch detection and screen size) when the menu trigger is pressed.\n *\n * API:\n * - {@link MenuProps}\n */\nexport function MenuTrigger({\n renderTrigger,\n size = 24,\n title,\n items,\n disabled,\n onClose,\n triggerTestId = \"MenuTrigger-Trigger\",\n menuTestId,\n onSelectionChange,\n selectedKey,\n disabledKeys,\n}: MenuProps) {\n const isMobile = useBreakpoint(BREAKPOINTS.SMALL);\n const [isOpen, setIsOpen] = useState(false);\n const triggerRef = useRef<HTMLButtonElement>(null);\n\n const menuItems = useMemo(\n () => items.map((item) => ({ ...item, id: item.key })),\n [items],\n );\n\n const handleSelectionChange = (key: string) => {\n onSelectionChange?.(key);\n setIsOpen(false);\n };\n\n const triggerButton = renderTrigger ? (\n renderTrigger({\n isOpen,\n disabled,\n setIsOpen,\n })\n ) : (\n <button\n data-testid={triggerTestId}\n disabled={disabled}\n className=\"proton-MenuTrigger__button\"\n ref={triggerRef}\n onClick={() => setIsOpen(!isOpen)}\n type=\"button\"\n aria-label=\"Open menu\"\n aria-expanded={isOpen}\n >\n <EllipsisIcon size={size} />\n </button>\n );\n\n if (isMobile) {\n return (\n <>\n {triggerButton}\n {isOpen && (\n <ActionMenu\n actions={menuItems}\n title={title}\n isOpen={isOpen}\n onClose={() => {\n setIsOpen(false);\n onClose?.();\n }}\n showCancel\n data-testid={menuTestId}\n selectionMode=\"single\"\n onSelectionChange={(keys) => {\n const nextKey = Array.from(keys)[0];\n if (nextKey) handleSelectionChange(nextKey as string);\n }}\n selectedKeys={selectedKey ? [selectedKey] : undefined}\n disabledKeys={disabledKeys}\n />\n )}\n </>\n );\n }\n\n return (\n <PopoverMenu\n trigger={triggerButton}\n items={menuItems}\n isOpen={isOpen}\n onOpenChange={setIsOpen}\n selectedKey={selectedKey}\n onSelectionChange={handleSelectionChange}\n disabledKeys={disabledKeys}\n title={title}\n />\n );\n}\n\nMenuTrigger.displayName = \"ProtonUIMenuTrigger\";\n"],"names":["MenuTrigger","renderTrigger","size","title","items","disabled","onClose","triggerTestId","menuTestId","onSelectionChange","selectedKey","disabledKeys","isMobile","useBreakpoint","BREAKPOINTS","isOpen","setIsOpen","useState","triggerRef","useRef","menuItems","useMemo","item","handleSelectionChange","key","triggerButton","jsx","EllipsisIcon","jsxs","Fragment","ActionMenu","keys","nextKey","PopoverMenu"],"mappings":";;;;;;;;;AAqEO,SAASA,EAAY;AAAA,EAC1B,eAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,OAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,SAAAC;AAAA,EACA,eAAAC,IAAgB;AAAA,EAChB,YAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,aAAAC;AAAA,EACA,cAAAC;AACF,GAAc;AACZ,QAAMC,IAAWC,EAAcC,EAAY,KAAK,GAC1C,CAACC,GAAQC,CAAS,IAAIC,EAAS,EAAK,GACpCC,IAAaC,EAA0B,IAAI,GAE3CC,IAAYC;AAAA,IAChB,MAAMjB,EAAM,IAAI,CAACkB,OAAU,EAAE,GAAGA,GAAM,IAAIA,EAAK,IAAA,EAAM;AAAA,IACrD,CAAClB,CAAK;AAAA,EAAA,GAGFmB,IAAwB,CAACC,MAAgB;AAC7C,IAAAf,KAAA,QAAAA,EAAoBe,IACpBR,EAAU,EAAK;AAAA,EACjB,GAEMS,IAAgBxB,IACpBA,EAAc;AAAA,IACZ,QAAAc;AAAA,IACA,UAAAV;AAAA,IACA,WAAAW;AAAA,EAAA,CACD,IAEDU,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,eAAanB;AAAA,MACb,UAAAF;AAAA,MACA,WAAU;AAAA,MACV,KAAKa;AAAA,MACL,SAAS,MAAMF,EAAU,CAACD,CAAM;AAAA,MAChC,MAAK;AAAA,MACL,cAAW;AAAA,MACX,iBAAeA;AAAA,MAEf,UAAAW,gBAAAA,EAAAA,IAACC,KAAa,MAAAzB,EAAA,CAAY;AAAA,IAAA;AAAA,EAAA;AAI9B,SAAIU,IAEAgB,gBAAAA,EAAAA,KAAAC,YAAA,EACG,UAAA;AAAA,IAAAJ;AAAA,IACAV,KACCW,gBAAAA,EAAAA;AAAAA,MAACI;AAAA,MAAA;AAAA,QACC,SAASV;AAAA,QACT,OAAAjB;AAAA,QACA,QAAAY;AAAA,QACA,SAAS,MAAM;AACb,UAAAC,EAAU,EAAK,GACfV,KAAA,QAAAA;AAAA,QACF;AAAA,QACA,YAAU;AAAA,QACV,eAAaE;AAAA,QACb,eAAc;AAAA,QACd,mBAAmB,CAACuB,MAAS;AAC3B,gBAAMC,IAAU,MAAM,KAAKD,CAAI,EAAE,CAAC;AAClC,UAAIC,OAA+BA,CAAiB;AAAA,QACtD;AAAA,QACA,cAActB,IAAc,CAACA,CAAW,IAAI;AAAA,QAC5C,cAAAC;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,GAEJ,IAKFe,gBAAAA,EAAAA;AAAAA,IAACO;AAAA,IAAA;AAAA,MACC,SAASR;AAAA,MACT,OAAOL;AAAA,MACP,QAAAL;AAAA,MACA,cAAcC;AAAA,MACd,aAAAN;AAAA,MACA,mBAAmBa;AAAA,MACnB,cAAAZ;AAAA,MACA,OAAAR;AAAA,IAAA;AAAA,EAAA;AAGN;AAEAH,EAAY,cAAc;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../../node_modules/react/jsx-runtime.cjs.js"),s=require("radix-ui"),b=require("../ThemeProvider.cjs.js"),u=require("../../utils/string.cjs.js"),E=require("../Icon/IconComponents/ChevronRight.cjs.js");function p({trigger:j,items:M,isOpen:h,onOpenChange:n,selectedKey:_,onSelectionChange:l,disabledKeys:g,title:c}){const{className:m,style:x}=b.useTheme();function a(d){const{item:e,className:y,style:R,disabledKeys:t,onClose:o}=d;return e.children&&e.children.length>0?r.jsxRuntimeExports.jsxs(s.DropdownMenu.Sub,{children:[r.jsxRuntimeExports.jsxs(s.DropdownMenu.SubTrigger,{className:u.csx("proton-Menu__item","proton-MenuTrigger__menu-item"),children:[e.label,r.jsxRuntimeExports.jsx("span",{className:"proton-MenuTrigger__chevron","aria-hidden":"true",children:r.jsxRuntimeExports.jsx(E.ChevronRight,{size:12})})]}),r.jsxRuntimeExports.jsx(s.DropdownMenu.SubContent,{sideOffset:8,"data-has-submenu":"true",className:u.csx("proton-Menu","proton-MenuTrigger__menu"),children:e.children.map(i=>a({item:i,className:y,style:R,disabledKeys:t,onClose:o}))})]},e.key):r.jsxRuntimeExports.jsxs(s.DropdownMenu.Item,{className:u.csx("proton-Menu__item","proton-MenuTrigger__menu-item"),"aria-selected":_===e.key,disabled:t==null?void 0:t.includes(e.key),onSelect:()=>{var i;(i=e.onAction)==null||i.call(e,e.key),l==null||l(e.key),o==null||o()},children:[r.jsxRuntimeExports.jsx("span",{className:"proton-MenuTrigger__label",style:{gridArea:"label"},children:e.label}),e.description&&r.jsxRuntimeExports.jsx("span",{className:"proton-MenuTrigger__description",style:{gridArea:"desc"},children:e.description})]},e.key)}return r.jsxRuntimeExports.jsxs(s.DropdownMenu.Root,{open:h,onOpenChange:n,children:[r.jsxRuntimeExports.jsx(s.DropdownMenu.Trigger,{asChild:!0,children:j}),r.jsxRuntimeExports.jsx(s.DropdownMenu.Portal,{children:r.jsxRuntimeExports.jsxs(s.DropdownMenu.Content,{className:u.csx("proton-Menu","proton-MenuTrigger__menu",m),style:x,children:[c&&r.jsxRuntimeExports.jsx(s.DropdownMenu.Label,{className:"proton-MenuTrigger__menu-header",children:c}),M.map(d=>a({item:d,className:m,style:x,disabledKeys:g,onClose:()=>n==null?void 0:n(!1)}))]})})]})}p.displayName="ProtonUIPopoverMenu";exports.PopoverMenu=p;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../../node_modules/react/jsx-runtime.cjs.js"),s=require("radix-ui"),R=require("../ThemeProvider.cjs.js"),u=require("../../utils/string.cjs.js"),y=require("../Icon/IconComponents/ChevronRight.cjs.js");function a({trigger:j,items:M,isOpen:h,onOpenChange:n,selectedKey:_="",onSelectionChange:l,disabledKeys:g=[],title:x=""}){const{className:c,style:p}=R.useTheme();function m(d){const{item:e,disabledKeys:t,onClose:o}=d;return e.children&&e.children.length>0?r.jsxRuntimeExports.jsxs(s.DropdownMenu.Sub,{children:[r.jsxRuntimeExports.jsxs(s.DropdownMenu.SubTrigger,{className:u.csx("proton-Menu__item","proton-MenuTrigger__menu-item"),children:[e.label,r.jsxRuntimeExports.jsx("span",{className:"proton-MenuTrigger__chevron","aria-hidden":"true",children:r.jsxRuntimeExports.jsx(y.ChevronRight,{size:12})})]}),r.jsxRuntimeExports.jsx(s.DropdownMenu.Portal,{children:r.jsxRuntimeExports.jsx(s.DropdownMenu.SubContent,{sideOffset:8,"data-has-submenu":"true",className:u.csx("proton-Menu","proton-MenuTrigger__menu",c),style:p,children:e.children.map(i=>m({item:i,disabledKeys:t,onClose:o}))})})]},e.key):r.jsxRuntimeExports.jsxs(s.DropdownMenu.Item,{className:u.csx("proton-Menu__item","proton-MenuTrigger__menu-item"),"aria-selected":_===e.key,disabled:t==null?void 0:t.includes(e.key),onSelect:()=>{var i;(i=e.onAction)==null||i.call(e,e.key),l==null||l(e.key),o==null||o()},children:[r.jsxRuntimeExports.jsx("span",{className:"proton-MenuTrigger__label",style:{gridArea:"label"},children:e.label}),e.description&&r.jsxRuntimeExports.jsx("span",{className:"proton-MenuTrigger__description",style:{gridArea:"desc"},children:e.description})]},e.key)}return r.jsxRuntimeExports.jsxs(s.DropdownMenu.Root,{open:h,onOpenChange:n,children:[r.jsxRuntimeExports.jsx(s.DropdownMenu.Trigger,{asChild:!0,children:j}),r.jsxRuntimeExports.jsx(s.DropdownMenu.Portal,{children:r.jsxRuntimeExports.jsxs(s.DropdownMenu.Content,{className:u.csx("proton-Menu","proton-MenuTrigger__menu",c),style:p,children:[x&&r.jsxRuntimeExports.jsx(s.DropdownMenu.Label,{className:"proton-MenuTrigger__menu-header",children:x}),M.map(d=>m({item:d,disabledKeys:g,onClose:()=>n==null?void 0:n(!1)}))]})})]})}a.displayName="ProtonUIPopoverMenu";exports.PopoverMenu=a;
2
2
  //# sourceMappingURL=PopoverMenu.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PopoverMenu.cjs.js","sources":["../../../src/components/Menu/PopoverMenu.tsx"],"sourcesContent":["import { DropdownMenu as RadixDropdownMenu } from \"radix-ui\";\nimport { useTheme } from \"../ThemeProvider\";\nimport { csx } from \"../../utils/string\";\nimport { ActionMenuAction } from \"../ActionMenu/ActionMenu\";\nimport { ChevronRight as ChevronRightIcon } from \"../Icon\";\n\nexport interface PopoverMenuProps {\n /** The trigger component */\n trigger: React.ReactNode;\n\n /** Array of menu actions/items to display\n * - type {@link ActionMenuAction}[]\n */\n items: ActionMenuAction[];\n\n /** Whether the menu is open */\n isOpen: boolean;\n\n /** Callback when the menu is opened or closed */\n onOpenChange: (open: boolean) => void;\n\n /** The key of the selected item */\n selectedKey: string;\n\n /** Callback when the selection changes */\n onSelectionChange: (key: string) => void;\n\n /** The keys of the disabled items */\n disabledKeys: string[];\n\n /** The title of the menu */\n title: string;\n}\n\n/**\n * A component that displays a popover menu.\n *\n * API:\n * - {@link PopoverMenuProps}\n */\nexport function PopoverMenu({\n trigger,\n items,\n isOpen,\n onOpenChange,\n selectedKey,\n onSelectionChange,\n disabledKeys,\n title,\n}: PopoverMenuProps) {\n const { className: themeClass, style: themeStyle } = useTheme();\n\n function renderMenuItem(props) {\n const { item, className, style, disabledKeys, onClose } = props;\n\n if (item.children && item.children.length > 0) {\n return (\n <RadixDropdownMenu.Sub key={item.key}>\n <RadixDropdownMenu.SubTrigger\n className={csx(\n \"proton-Menu__item\",\n \"proton-MenuTrigger__menu-item\",\n )}\n >\n {item.label}\n <span className=\"proton-MenuTrigger__chevron\" aria-hidden=\"true\">\n <ChevronRightIcon size={12} />\n </span>\n </RadixDropdownMenu.SubTrigger>\n\n <RadixDropdownMenu.SubContent\n sideOffset={8}\n data-has-submenu=\"true\"\n className={csx(\"proton-Menu\", \"proton-MenuTrigger__menu\")}\n >\n {item.children.map((child) =>\n renderMenuItem({\n item: child,\n className,\n style,\n disabledKeys,\n onClose,\n }),\n )}\n </RadixDropdownMenu.SubContent>\n </RadixDropdownMenu.Sub>\n );\n } else {\n return (\n <RadixDropdownMenu.Item\n className={csx(\"proton-Menu__item\", \"proton-MenuTrigger__menu-item\")}\n key={item.key}\n aria-selected={selectedKey === item.key}\n disabled={disabledKeys?.includes(item.key)}\n onSelect={() => {\n item.onAction?.(item.key);\n onSelectionChange?.(item.key);\n onClose?.();\n }}\n >\n <span\n className=\"proton-MenuTrigger__label\"\n style={{ gridArea: \"label\" }}\n >\n {item.label}\n </span>\n {item.description && (\n <span\n className=\"proton-MenuTrigger__description\"\n style={{ gridArea: \"desc\" }}\n >\n {item.description}\n </span>\n )}\n </RadixDropdownMenu.Item>\n );\n }\n }\n\n return (\n <RadixDropdownMenu.Root open={isOpen} onOpenChange={onOpenChange}>\n <RadixDropdownMenu.Trigger asChild>{trigger}</RadixDropdownMenu.Trigger>\n <RadixDropdownMenu.Portal>\n <RadixDropdownMenu.Content\n className={csx(\"proton-Menu\", \"proton-MenuTrigger__menu\", themeClass)}\n style={themeStyle as React.CSSProperties}\n >\n {title && (\n <RadixDropdownMenu.Label className=\"proton-MenuTrigger__menu-header\">\n {title}\n </RadixDropdownMenu.Label>\n )}\n {items.map((item) =>\n renderMenuItem({\n item,\n className: themeClass,\n style: themeStyle as React.CSSProperties,\n disabledKeys,\n onClose: () => onOpenChange?.(false),\n }),\n )}\n </RadixDropdownMenu.Content>\n </RadixDropdownMenu.Portal>\n </RadixDropdownMenu.Root>\n );\n}\n\nPopoverMenu.displayName = \"ProtonUIPopoverMenu\";\n"],"names":["PopoverMenu","trigger","items","isOpen","onOpenChange","selectedKey","onSelectionChange","disabledKeys","title","themeClass","themeStyle","useTheme","renderMenuItem","props","item","className","style","onClose","jsxs","RadixDropdownMenu","csx","jsx","ChevronRightIcon","child","_a"],"mappings":"ySAwCO,SAASA,EAAY,CAC1B,QAAAC,EACA,MAAAC,EACA,OAAAC,EACA,aAAAC,EACA,YAAAC,EACA,kBAAAC,EACA,aAAAC,EACA,MAAAC,CACF,EAAqB,CACnB,KAAM,CAAE,UAAWC,EAAY,MAAOC,CAAA,EAAeC,EAAAA,WAErD,SAASC,EAAeC,EAAO,CAC7B,KAAM,CAAE,KAAAC,EAAM,UAAAC,EAAW,MAAAC,EAAO,aAAAT,EAAc,QAAAU,CAAY,EAAAJ,EAE1D,OAAIC,EAAK,UAAYA,EAAK,SAAS,OAAS,EAExCI,yBAACC,EAAAA,aAAkB,IAAlB,CACC,SAAA,CAAAD,EAAA,kBAAA,KAACC,EAAAA,aAAkB,WAAlB,CACC,UAAWC,EAAA,IACT,oBACA,+BACF,EAEC,SAAA,CAAKN,EAAA,MACNO,EAAAA,kBAAAA,IAAC,OAAK,CAAA,UAAU,8BAA8B,cAAY,OACxD,SAACA,EAAAA,kBAAAA,IAAAC,EAAAA,aAAA,CAAiB,KAAM,EAAA,CAAI,CAC9B,CAAA,CAAA,CAAA,CACF,EAEAD,EAAA,kBAAA,IAACF,EAAAA,aAAkB,WAAlB,CACC,WAAY,EACZ,mBAAiB,OACjB,UAAWC,EAAAA,IAAI,cAAe,0BAA0B,EAEvD,WAAK,SAAS,IAAKG,GAClBX,EAAe,CACb,KAAMW,EACN,UAAAR,EACA,MAAAC,EACA,aAAAT,EACA,QAAAU,CAAA,CACD,CACH,CAAA,CACF,CAAA,GA3B0BH,EAAK,GA4BjC,EAIAI,EAAA,kBAAA,KAACC,EAAAA,aAAkB,KAAlB,CACC,UAAWC,EAAAA,IAAI,oBAAqB,+BAA+B,EAEnE,gBAAef,IAAgBS,EAAK,IACpC,SAAUP,GAAAA,YAAAA,EAAc,SAASO,EAAK,KACtC,SAAU,IAAM,QACTU,EAAAV,EAAA,WAAA,MAAAU,EAAA,KAAAV,EAAWA,EAAK,KACrBR,GAAA,MAAAA,EAAoBQ,EAAK,KACfG,GAAA,MAAAA,GACZ,EAEA,SAAA,CAAAI,EAAA,kBAAA,IAAC,OAAA,CACC,UAAU,4BACV,MAAO,CAAE,SAAU,OAAQ,EAE1B,SAAKP,EAAA,KAAA,CACR,EACCA,EAAK,aACJO,EAAA,kBAAA,IAAC,OAAA,CACC,UAAU,kCACV,MAAO,CAAE,SAAU,MAAO,EAEzB,SAAKP,EAAA,WAAA,CACR,CAAA,CAAA,EArBGA,EAAK,GAAA,CA0BlB,CAEA,gCACGK,EAAAA,aAAkB,KAAlB,CAAuB,KAAMhB,EAAQ,aAAAC,EACpC,SAAA,CAAAiB,EAAA,kBAAA,IAACF,EAAkB,aAAA,QAAlB,CAA0B,QAAO,GAAE,SAAQlB,EAAA,EAC5CoB,EAAAA,kBAAAA,IAACF,EAAkB,aAAA,OAAlB,CACC,SAAAD,EAAA,kBAAA,KAACC,EAAAA,aAAkB,QAAlB,CACC,UAAWC,EAAA,IAAI,cAAe,2BAA4BX,CAAU,EACpE,MAAOC,EAEN,SAAA,CAAAF,2BACEW,EAAAA,aAAkB,MAAlB,CAAwB,UAAU,kCAChC,SACHX,EAAA,EAEDN,EAAM,IAAKY,GACVF,EAAe,CACb,KAAAE,EACA,UAAWL,EACX,MAAOC,EACP,aAAAH,EACA,QAAS,IAAMH,GAAA,YAAAA,EAAe,GAAK,CACpC,CACH,CAAA,CAAA,CAAA,EAEJ,CACF,CAAA,CAAA,CAEJ,CAEAJ,EAAY,YAAc"}
1
+ {"version":3,"file":"PopoverMenu.cjs.js","sources":["../../../src/components/Menu/PopoverMenu.tsx"],"sourcesContent":["import { DropdownMenu as RadixDropdownMenu } from \"radix-ui\";\nimport { useTheme } from \"../ThemeProvider\";\nimport { csx } from \"../../utils/string\";\nimport { ActionMenuAction } from \"../ActionMenu/ActionMenu\";\nimport { ChevronRight as ChevronRightIcon } from \"../Icon\";\n\nimport type { CSSProperties, ReactNode } from \"react\";\n\ntype MenuItemRenderArgs = {\n item: ActionMenuAction;\n className: string | undefined;\n style: CSSProperties | undefined;\n disabledKeys: string[];\n onClose: (() => void) | undefined;\n};\n\nexport interface PopoverMenuProps {\n /** The trigger component */\n trigger: ReactNode;\n\n /** Array of menu actions/items to display\n * - type {@link ActionMenuAction}[]\n */\n items: ActionMenuAction[];\n\n /** Whether the menu is open */\n isOpen: boolean;\n\n /** Callback when the menu is opened or closed */\n onOpenChange: (open: boolean) => void;\n\n /** The key of the selected item */\n selectedKey?: string;\n\n /** Callback when the selection changes */\n onSelectionChange: (key: string) => void;\n\n /** The keys of the disabled items */\n disabledKeys?: string[];\n\n /** The title of the menu */\n title?: string;\n}\n\n/**\n * A component that displays a popover menu.\n *\n * API:\n * - {@link PopoverMenuProps}\n */\nexport function PopoverMenu({\n trigger,\n items,\n isOpen,\n onOpenChange,\n selectedKey = \"\",\n onSelectionChange,\n disabledKeys = [],\n title = \"\",\n}: PopoverMenuProps) {\n const { className: themeClass, style: themeStyle } = useTheme();\n\n function renderMenuItem(props: MenuItemRenderArgs) {\n const { item, className, style, disabledKeys, onClose } = props;\n\n if (item.children && item.children.length > 0) {\n return (\n <RadixDropdownMenu.Sub key={item.key}>\n <RadixDropdownMenu.SubTrigger\n className={csx(\n \"proton-Menu__item\",\n \"proton-MenuTrigger__menu-item\",\n )}\n >\n {item.label}\n <span className=\"proton-MenuTrigger__chevron\" aria-hidden=\"true\">\n <ChevronRightIcon size={12} />\n </span>\n </RadixDropdownMenu.SubTrigger>\n\n <RadixDropdownMenu.Portal>\n <RadixDropdownMenu.SubContent\n sideOffset={8}\n data-has-submenu=\"true\"\n className={csx(\n \"proton-Menu\",\n \"proton-MenuTrigger__menu\",\n themeClass,\n )}\n style={themeStyle as CSSProperties}\n >\n {item.children.map((child: ActionMenuAction) =>\n renderMenuItem({\n item: child,\n className,\n style,\n disabledKeys,\n onClose,\n }),\n )}\n </RadixDropdownMenu.SubContent>\n </RadixDropdownMenu.Portal>\n </RadixDropdownMenu.Sub>\n );\n } else {\n return (\n <RadixDropdownMenu.Item\n className={csx(\"proton-Menu__item\", \"proton-MenuTrigger__menu-item\")}\n key={item.key}\n aria-selected={selectedKey === item.key}\n disabled={disabledKeys?.includes(item.key)}\n onSelect={() => {\n item.onAction?.(item.key);\n onSelectionChange?.(item.key);\n onClose?.();\n }}\n >\n <span\n className=\"proton-MenuTrigger__label\"\n style={{ gridArea: \"label\" }}\n >\n {item.label}\n </span>\n {item.description && (\n <span\n className=\"proton-MenuTrigger__description\"\n style={{ gridArea: \"desc\" }}\n >\n {item.description}\n </span>\n )}\n </RadixDropdownMenu.Item>\n );\n }\n }\n\n return (\n <RadixDropdownMenu.Root open={isOpen} onOpenChange={onOpenChange}>\n <RadixDropdownMenu.Trigger asChild>{trigger}</RadixDropdownMenu.Trigger>\n <RadixDropdownMenu.Portal>\n <RadixDropdownMenu.Content\n className={csx(\"proton-Menu\", \"proton-MenuTrigger__menu\", themeClass)}\n style={themeStyle as CSSProperties}\n >\n {title && (\n <RadixDropdownMenu.Label className=\"proton-MenuTrigger__menu-header\">\n {title}\n </RadixDropdownMenu.Label>\n )}\n {items.map((item) =>\n renderMenuItem({\n item,\n className: themeClass,\n style: themeStyle as CSSProperties,\n disabledKeys,\n onClose: () => onOpenChange?.(false),\n }),\n )}\n </RadixDropdownMenu.Content>\n </RadixDropdownMenu.Portal>\n </RadixDropdownMenu.Root>\n );\n}\n\nPopoverMenu.displayName = \"ProtonUIPopoverMenu\";\n"],"names":["PopoverMenu","trigger","items","isOpen","onOpenChange","selectedKey","onSelectionChange","disabledKeys","title","themeClass","themeStyle","useTheme","renderMenuItem","props","item","onClose","jsxs","RadixDropdownMenu","csx","jsx","ChevronRightIcon","child","_a"],"mappings":"ySAkDO,SAASA,EAAY,CAC1B,QAAAC,EACA,MAAAC,EACA,OAAAC,EACA,aAAAC,EACA,YAAAC,EAAc,GACd,kBAAAC,EACA,aAAAC,EAAe,CAAA,EACf,MAAAC,EAAQ,EACV,EAAqB,CACnB,KAAM,CAAE,UAAWC,EAAY,MAAOC,CAAA,EAAeC,EAAAA,SAAA,EAErD,SAASC,EAAeC,EAA2B,CACjD,KAAM,CAAE,KAAAC,EAAwB,aAAAP,EAAc,QAAAQ,GAAYF,EAE1D,OAAIC,EAAK,UAAYA,EAAK,SAAS,OAAS,EAExCE,yBAACC,EAAAA,aAAkB,IAAlB,CACC,SAAA,CAAAD,EAAAA,kBAAAA,KAACC,EAAAA,aAAkB,WAAlB,CACC,UAAWC,EAAAA,IACT,oBACA,+BAAA,EAGD,SAAA,CAAAJ,EAAK,MACNK,EAAAA,kBAAAA,IAAC,OAAA,CAAK,UAAU,8BAA8B,cAAY,OACxD,SAAAA,EAAAA,kBAAAA,IAACC,EAAAA,aAAA,CAAiB,KAAM,EAAA,CAAI,CAAA,CAC9B,CAAA,CAAA,CAAA,EAGFD,EAAAA,kBAAAA,IAACF,EAAAA,aAAkB,OAAlB,CACC,SAAAE,EAAAA,kBAAAA,IAACF,EAAAA,aAAkB,WAAlB,CACC,WAAY,EACZ,mBAAiB,OACjB,UAAWC,EAAAA,IACT,cACA,2BACAT,CAAA,EAEF,MAAOC,EAEN,WAAK,SAAS,IAAKW,GAClBT,EAAe,CACb,KAAMS,EAGN,aAAAd,EACA,QAAAQ,CAAA,CACD,CAAA,CACH,CAAA,CACF,CACF,CAAA,CAAA,EAlC0BD,EAAK,GAmCjC,EAIAE,EAAAA,kBAAAA,KAACC,EAAAA,aAAkB,KAAlB,CACC,UAAWC,EAAAA,IAAI,oBAAqB,+BAA+B,EAEnE,gBAAeb,IAAgBS,EAAK,IACpC,SAAUP,GAAAA,YAAAA,EAAc,SAASO,EAAK,KACtC,SAAU,IAAM,QACdQ,EAAAR,EAAK,WAAL,MAAAQ,EAAA,KAAAR,EAAgBA,EAAK,KACrBR,GAAA,MAAAA,EAAoBQ,EAAK,KACzBC,GAAA,MAAAA,GACF,EAEA,SAAA,CAAAI,EAAAA,kBAAAA,IAAC,OAAA,CACC,UAAU,4BACV,MAAO,CAAE,SAAU,OAAA,EAElB,SAAAL,EAAK,KAAA,CAAA,EAEPA,EAAK,aACJK,EAAAA,kBAAAA,IAAC,OAAA,CACC,UAAU,kCACV,MAAO,CAAE,SAAU,MAAA,EAElB,SAAAL,EAAK,WAAA,CAAA,CACR,CAAA,EArBGA,EAAK,GAAA,CA0BlB,CAEA,gCACGG,EAAAA,aAAkB,KAAlB,CAAuB,KAAMd,EAAQ,aAAAC,EACpC,SAAA,CAAAe,EAAAA,kBAAAA,IAACF,EAAAA,aAAkB,QAAlB,CAA0B,QAAO,GAAE,SAAAhB,EAAQ,EAC5CkB,EAAAA,kBAAAA,IAACF,EAAAA,aAAkB,OAAlB,CACC,SAAAD,EAAAA,kBAAAA,KAACC,EAAAA,aAAkB,QAAlB,CACC,UAAWC,EAAAA,IAAI,cAAe,2BAA4BT,CAAU,EACpE,MAAOC,EAEN,SAAA,CAAAF,2BACES,EAAAA,aAAkB,MAAlB,CAAwB,UAAU,kCAChC,SAAAT,EACH,EAEDN,EAAM,IAAKY,GACVF,EAAe,CACb,KAAAE,EAGA,aAAAP,EACA,QAAS,IAAMH,GAAA,YAAAA,EAAe,GAAK,CACpC,CAAA,CACH,CAAA,CAAA,CACF,CACF,CAAA,EACF,CAEJ,CAEAJ,EAAY,YAAc"}
@@ -1,61 +1,64 @@
1
1
  import { j as r } from "../../node_modules/react/jsx-runtime.es.js";
2
2
  import { DropdownMenu as s } from "radix-ui";
3
- import { useTheme as N } from "../ThemeProvider.es.js";
4
- import { csx as o } from "../../utils/string.es.js";
5
- import { ChevronRight as b } from "../Icon/IconComponents/ChevronRight.es.js";
6
- function f({
3
+ import { useTheme as g } from "../ThemeProvider.es.js";
4
+ import { csx as l } from "../../utils/string.es.js";
5
+ import { ChevronRight as y } from "../Icon/IconComponents/ChevronRight.es.js";
6
+ function b({
7
7
  trigger: _,
8
8
  items: h,
9
9
  isOpen: x,
10
10
  onOpenChange: t,
11
- selectedKey: M,
11
+ selectedKey: j = "",
12
12
  onSelectionChange: a,
13
- disabledKeys: g,
14
- title: u
13
+ disabledKeys: M = [],
14
+ title: d = ""
15
15
  }) {
16
- const { className: c, style: d } = N();
16
+ const { className: u, style: c } = g();
17
17
  function p(m) {
18
- const { item: e, className: j, style: y, disabledKeys: n, onClose: i } = m;
18
+ const { item: e, disabledKeys: n, onClose: i } = m;
19
19
  return e.children && e.children.length > 0 ? /* @__PURE__ */ r.jsxs(s.Sub, { children: [
20
20
  /* @__PURE__ */ r.jsxs(
21
21
  s.SubTrigger,
22
22
  {
23
- className: o(
23
+ className: l(
24
24
  "proton-Menu__item",
25
25
  "proton-MenuTrigger__menu-item"
26
26
  ),
27
27
  children: [
28
28
  e.label,
29
- /* @__PURE__ */ r.jsx("span", { className: "proton-MenuTrigger__chevron", "aria-hidden": "true", children: /* @__PURE__ */ r.jsx(b, { size: 12 }) })
29
+ /* @__PURE__ */ r.jsx("span", { className: "proton-MenuTrigger__chevron", "aria-hidden": "true", children: /* @__PURE__ */ r.jsx(y, { size: 12 }) })
30
30
  ]
31
31
  }
32
32
  ),
33
- /* @__PURE__ */ r.jsx(
33
+ /* @__PURE__ */ r.jsx(s.Portal, { children: /* @__PURE__ */ r.jsx(
34
34
  s.SubContent,
35
35
  {
36
36
  sideOffset: 8,
37
37
  "data-has-submenu": "true",
38
- className: o("proton-Menu", "proton-MenuTrigger__menu"),
38
+ className: l(
39
+ "proton-Menu",
40
+ "proton-MenuTrigger__menu",
41
+ u
42
+ ),
43
+ style: c,
39
44
  children: e.children.map(
40
- (l) => p({
41
- item: l,
42
- className: j,
43
- style: y,
45
+ (o) => p({
46
+ item: o,
44
47
  disabledKeys: n,
45
48
  onClose: i
46
49
  })
47
50
  )
48
51
  }
49
- )
52
+ ) })
50
53
  ] }, e.key) : /* @__PURE__ */ r.jsxs(
51
54
  s.Item,
52
55
  {
53
- className: o("proton-Menu__item", "proton-MenuTrigger__menu-item"),
54
- "aria-selected": M === e.key,
56
+ className: l("proton-Menu__item", "proton-MenuTrigger__menu-item"),
57
+ "aria-selected": j === e.key,
55
58
  disabled: n == null ? void 0 : n.includes(e.key),
56
59
  onSelect: () => {
57
- var l;
58
- (l = e.onAction) == null || l.call(e, e.key), a == null || a(e.key), i == null || i();
60
+ var o;
61
+ (o = e.onAction) == null || o.call(e, e.key), a == null || a(e.key), i == null || i();
59
62
  },
60
63
  children: [
61
64
  /* @__PURE__ */ r.jsx(
@@ -84,16 +87,14 @@ function f({
84
87
  /* @__PURE__ */ r.jsx(s.Portal, { children: /* @__PURE__ */ r.jsxs(
85
88
  s.Content,
86
89
  {
87
- className: o("proton-Menu", "proton-MenuTrigger__menu", c),
88
- style: d,
90
+ className: l("proton-Menu", "proton-MenuTrigger__menu", u),
91
+ style: c,
89
92
  children: [
90
- u && /* @__PURE__ */ r.jsx(s.Label, { className: "proton-MenuTrigger__menu-header", children: u }),
93
+ d && /* @__PURE__ */ r.jsx(s.Label, { className: "proton-MenuTrigger__menu-header", children: d }),
91
94
  h.map(
92
95
  (m) => p({
93
96
  item: m,
94
- className: c,
95
- style: d,
96
- disabledKeys: g,
97
+ disabledKeys: M,
97
98
  onClose: () => t == null ? void 0 : t(!1)
98
99
  })
99
100
  )
@@ -102,8 +103,8 @@ function f({
102
103
  ) })
103
104
  ] });
104
105
  }
105
- f.displayName = "ProtonUIPopoverMenu";
106
+ b.displayName = "ProtonUIPopoverMenu";
106
107
  export {
107
- f as PopoverMenu
108
+ b as PopoverMenu
108
109
  };
109
110
  //# sourceMappingURL=PopoverMenu.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PopoverMenu.es.js","sources":["../../../src/components/Menu/PopoverMenu.tsx"],"sourcesContent":["import { DropdownMenu as RadixDropdownMenu } from \"radix-ui\";\nimport { useTheme } from \"../ThemeProvider\";\nimport { csx } from \"../../utils/string\";\nimport { ActionMenuAction } from \"../ActionMenu/ActionMenu\";\nimport { ChevronRight as ChevronRightIcon } from \"../Icon\";\n\nexport interface PopoverMenuProps {\n /** The trigger component */\n trigger: React.ReactNode;\n\n /** Array of menu actions/items to display\n * - type {@link ActionMenuAction}[]\n */\n items: ActionMenuAction[];\n\n /** Whether the menu is open */\n isOpen: boolean;\n\n /** Callback when the menu is opened or closed */\n onOpenChange: (open: boolean) => void;\n\n /** The key of the selected item */\n selectedKey: string;\n\n /** Callback when the selection changes */\n onSelectionChange: (key: string) => void;\n\n /** The keys of the disabled items */\n disabledKeys: string[];\n\n /** The title of the menu */\n title: string;\n}\n\n/**\n * A component that displays a popover menu.\n *\n * API:\n * - {@link PopoverMenuProps}\n */\nexport function PopoverMenu({\n trigger,\n items,\n isOpen,\n onOpenChange,\n selectedKey,\n onSelectionChange,\n disabledKeys,\n title,\n}: PopoverMenuProps) {\n const { className: themeClass, style: themeStyle } = useTheme();\n\n function renderMenuItem(props) {\n const { item, className, style, disabledKeys, onClose } = props;\n\n if (item.children && item.children.length > 0) {\n return (\n <RadixDropdownMenu.Sub key={item.key}>\n <RadixDropdownMenu.SubTrigger\n className={csx(\n \"proton-Menu__item\",\n \"proton-MenuTrigger__menu-item\",\n )}\n >\n {item.label}\n <span className=\"proton-MenuTrigger__chevron\" aria-hidden=\"true\">\n <ChevronRightIcon size={12} />\n </span>\n </RadixDropdownMenu.SubTrigger>\n\n <RadixDropdownMenu.SubContent\n sideOffset={8}\n data-has-submenu=\"true\"\n className={csx(\"proton-Menu\", \"proton-MenuTrigger__menu\")}\n >\n {item.children.map((child) =>\n renderMenuItem({\n item: child,\n className,\n style,\n disabledKeys,\n onClose,\n }),\n )}\n </RadixDropdownMenu.SubContent>\n </RadixDropdownMenu.Sub>\n );\n } else {\n return (\n <RadixDropdownMenu.Item\n className={csx(\"proton-Menu__item\", \"proton-MenuTrigger__menu-item\")}\n key={item.key}\n aria-selected={selectedKey === item.key}\n disabled={disabledKeys?.includes(item.key)}\n onSelect={() => {\n item.onAction?.(item.key);\n onSelectionChange?.(item.key);\n onClose?.();\n }}\n >\n <span\n className=\"proton-MenuTrigger__label\"\n style={{ gridArea: \"label\" }}\n >\n {item.label}\n </span>\n {item.description && (\n <span\n className=\"proton-MenuTrigger__description\"\n style={{ gridArea: \"desc\" }}\n >\n {item.description}\n </span>\n )}\n </RadixDropdownMenu.Item>\n );\n }\n }\n\n return (\n <RadixDropdownMenu.Root open={isOpen} onOpenChange={onOpenChange}>\n <RadixDropdownMenu.Trigger asChild>{trigger}</RadixDropdownMenu.Trigger>\n <RadixDropdownMenu.Portal>\n <RadixDropdownMenu.Content\n className={csx(\"proton-Menu\", \"proton-MenuTrigger__menu\", themeClass)}\n style={themeStyle as React.CSSProperties}\n >\n {title && (\n <RadixDropdownMenu.Label className=\"proton-MenuTrigger__menu-header\">\n {title}\n </RadixDropdownMenu.Label>\n )}\n {items.map((item) =>\n renderMenuItem({\n item,\n className: themeClass,\n style: themeStyle as React.CSSProperties,\n disabledKeys,\n onClose: () => onOpenChange?.(false),\n }),\n )}\n </RadixDropdownMenu.Content>\n </RadixDropdownMenu.Portal>\n </RadixDropdownMenu.Root>\n );\n}\n\nPopoverMenu.displayName = \"ProtonUIPopoverMenu\";\n"],"names":["PopoverMenu","trigger","items","isOpen","onOpenChange","selectedKey","onSelectionChange","disabledKeys","title","themeClass","themeStyle","useTheme","renderMenuItem","props","item","className","style","onClose","jsxs","RadixDropdownMenu","csx","jsx","ChevronRightIcon","child","_a"],"mappings":"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"}
1
+ {"version":3,"file":"PopoverMenu.es.js","sources":["../../../src/components/Menu/PopoverMenu.tsx"],"sourcesContent":["import { DropdownMenu as RadixDropdownMenu } from \"radix-ui\";\nimport { useTheme } from \"../ThemeProvider\";\nimport { csx } from \"../../utils/string\";\nimport { ActionMenuAction } from \"../ActionMenu/ActionMenu\";\nimport { ChevronRight as ChevronRightIcon } from \"../Icon\";\n\nimport type { CSSProperties, ReactNode } from \"react\";\n\ntype MenuItemRenderArgs = {\n item: ActionMenuAction;\n className: string | undefined;\n style: CSSProperties | undefined;\n disabledKeys: string[];\n onClose: (() => void) | undefined;\n};\n\nexport interface PopoverMenuProps {\n /** The trigger component */\n trigger: ReactNode;\n\n /** Array of menu actions/items to display\n * - type {@link ActionMenuAction}[]\n */\n items: ActionMenuAction[];\n\n /** Whether the menu is open */\n isOpen: boolean;\n\n /** Callback when the menu is opened or closed */\n onOpenChange: (open: boolean) => void;\n\n /** The key of the selected item */\n selectedKey?: string;\n\n /** Callback when the selection changes */\n onSelectionChange: (key: string) => void;\n\n /** The keys of the disabled items */\n disabledKeys?: string[];\n\n /** The title of the menu */\n title?: string;\n}\n\n/**\n * A component that displays a popover menu.\n *\n * API:\n * - {@link PopoverMenuProps}\n */\nexport function PopoverMenu({\n trigger,\n items,\n isOpen,\n onOpenChange,\n selectedKey = \"\",\n onSelectionChange,\n disabledKeys = [],\n title = \"\",\n}: PopoverMenuProps) {\n const { className: themeClass, style: themeStyle } = useTheme();\n\n function renderMenuItem(props: MenuItemRenderArgs) {\n const { item, className, style, disabledKeys, onClose } = props;\n\n if (item.children && item.children.length > 0) {\n return (\n <RadixDropdownMenu.Sub key={item.key}>\n <RadixDropdownMenu.SubTrigger\n className={csx(\n \"proton-Menu__item\",\n \"proton-MenuTrigger__menu-item\",\n )}\n >\n {item.label}\n <span className=\"proton-MenuTrigger__chevron\" aria-hidden=\"true\">\n <ChevronRightIcon size={12} />\n </span>\n </RadixDropdownMenu.SubTrigger>\n\n <RadixDropdownMenu.Portal>\n <RadixDropdownMenu.SubContent\n sideOffset={8}\n data-has-submenu=\"true\"\n className={csx(\n \"proton-Menu\",\n \"proton-MenuTrigger__menu\",\n themeClass,\n )}\n style={themeStyle as CSSProperties}\n >\n {item.children.map((child: ActionMenuAction) =>\n renderMenuItem({\n item: child,\n className,\n style,\n disabledKeys,\n onClose,\n }),\n )}\n </RadixDropdownMenu.SubContent>\n </RadixDropdownMenu.Portal>\n </RadixDropdownMenu.Sub>\n );\n } else {\n return (\n <RadixDropdownMenu.Item\n className={csx(\"proton-Menu__item\", \"proton-MenuTrigger__menu-item\")}\n key={item.key}\n aria-selected={selectedKey === item.key}\n disabled={disabledKeys?.includes(item.key)}\n onSelect={() => {\n item.onAction?.(item.key);\n onSelectionChange?.(item.key);\n onClose?.();\n }}\n >\n <span\n className=\"proton-MenuTrigger__label\"\n style={{ gridArea: \"label\" }}\n >\n {item.label}\n </span>\n {item.description && (\n <span\n className=\"proton-MenuTrigger__description\"\n style={{ gridArea: \"desc\" }}\n >\n {item.description}\n </span>\n )}\n </RadixDropdownMenu.Item>\n );\n }\n }\n\n return (\n <RadixDropdownMenu.Root open={isOpen} onOpenChange={onOpenChange}>\n <RadixDropdownMenu.Trigger asChild>{trigger}</RadixDropdownMenu.Trigger>\n <RadixDropdownMenu.Portal>\n <RadixDropdownMenu.Content\n className={csx(\"proton-Menu\", \"proton-MenuTrigger__menu\", themeClass)}\n style={themeStyle as CSSProperties}\n >\n {title && (\n <RadixDropdownMenu.Label className=\"proton-MenuTrigger__menu-header\">\n {title}\n </RadixDropdownMenu.Label>\n )}\n {items.map((item) =>\n renderMenuItem({\n item,\n className: themeClass,\n style: themeStyle as CSSProperties,\n disabledKeys,\n onClose: () => onOpenChange?.(false),\n }),\n )}\n </RadixDropdownMenu.Content>\n </RadixDropdownMenu.Portal>\n </RadixDropdownMenu.Root>\n );\n}\n\nPopoverMenu.displayName = \"ProtonUIPopoverMenu\";\n"],"names":["PopoverMenu","trigger","items","isOpen","onOpenChange","selectedKey","onSelectionChange","disabledKeys","title","themeClass","themeStyle","useTheme","renderMenuItem","props","item","onClose","jsxs","RadixDropdownMenu","csx","jsx","ChevronRightIcon","child","_a"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../../node_modules/react/jsx-runtime.cjs.js"),R=require("react"),E=require("../../hooks/useIsClosing.cjs.js"),_=require("../Button/Button.cjs.js");;/* empty css */const b=require("../ScreenOverlay/ScreenOverlay.cjs.js"),C=require("../../hooks/useBreakpoint.cjs.js"),g=require("../../constants/breakpoint.cjs.js"),h=require("../../utils/string.cjs.js"),d=({children:t})=>o.jsxRuntimeExports.jsx("h2",{className:"proton-Modal__title",children:t}),x=({children:t})=>o.jsxRuntimeExports.jsx("h3",{className:"proton-Modal__subtitle",children:t}),j=({children:t})=>o.jsxRuntimeExports.jsx("div",{className:"proton-Modal__body",children:t}),q=t=>o.jsxRuntimeExports.jsx("div",{className:"proton-Modal__action",children:o.jsxRuntimeExports.jsx(_.Button,{...t})}),v=({children:t})=>o.jsxRuntimeExports.jsx("div",{className:"proton-Modal__actions",children:t}),N=({title:t,subtitle:s,body:e,onClose:n,children:r,isClosing:i,"data-testid":a})=>o.jsxRuntimeExports.jsxs("div",{"data-testid":a,className:h.csx("proton-Modal",i&&"proton-Modal--closing"),"aria-modal":"true",role:"dialog",tabIndex:-1,children:[o.jsxRuntimeExports.jsx("button",{name:"Close",className:"proton-Modal__close-button",onClick:n,"aria-label":"Close",children:"×"}),t&&o.jsxRuntimeExports.jsx(d,{children:t}),s&&o.jsxRuntimeExports.jsx(x,{children:s}),e&&o.jsxRuntimeExports.jsx(j,{children:e}),o.jsxRuntimeExports.jsx("div",{className:"proton-Modal__content",children:r})]}),B=({isOpen:t,onClose:s,title:e,subtitle:n,body:r,children:i,isOverlay:a=!0,"data-testid":p})=>{const l=R.useRef(null),{isClosing:m,handleClose:c}=E.useIsClosing({onClose:s,overlayRef:l}),M=C.useBreakpoint(g.BREAKPOINTS.MEDIUM);if(!t)return null;const u=o.jsxRuntimeExports.jsx(N,{isOpen:t,title:e,subtitle:n,body:r,onClose:c,isClosing:m,"data-testid":p,children:i});return a||M?o.jsxRuntimeExports.jsx(b.ScreenOverlay,{fadeIn:!0,ref:l,onClose:c,children:u}):u},y=Object.assign(B,{Title:d,Subtitle:x,Body:j,Action:q,Actions:v});exports.Modal=y;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../../node_modules/react/jsx-runtime.cjs.js"),M=require("react"),R=require("../../hooks/useIsClosing.cjs.js"),E=require("../Button/Button.cjs.js");;/* empty css */const _=require("../ScreenOverlay/ScreenOverlay.cjs.js");;/* empty css */const C=require("../../utils/string.cjs.js"),x=({children:t})=>o.jsxRuntimeExports.jsx("h2",{className:"proton-Modal__title",children:t}),j=({children:t})=>o.jsxRuntimeExports.jsx("h3",{className:"proton-Modal__subtitle",children:t}),m=({children:t})=>o.jsxRuntimeExports.jsx("div",{className:"proton-Modal__body",children:t}),b=t=>o.jsxRuntimeExports.jsx("div",{className:"proton-Modal__action",children:o.jsxRuntimeExports.jsx(E.Button,{...t})}),g=({children:t})=>o.jsxRuntimeExports.jsx("div",{className:"proton-Modal__actions",children:t}),h=({title:t,subtitle:s,body:e,onClose:n,children:r,isClosing:l,isOpen:a,"data-testid":i})=>o.jsxRuntimeExports.jsxs("div",{"data-testid":i,"data-disable-document-scroll":a,className:C.csx("proton-Modal","proton-Elevation--glass",l&&"proton-Modal--closing"),"aria-modal":"true",role:"dialog",tabIndex:-1,children:[o.jsxRuntimeExports.jsx("button",{name:"Close",className:"proton-Modal__close-button",onClick:n,"aria-label":"Close",children:"×"}),t&&o.jsxRuntimeExports.jsx(x,{children:t}),s&&o.jsxRuntimeExports.jsx(j,{children:s}),e&&o.jsxRuntimeExports.jsx(m,{children:e}),o.jsxRuntimeExports.jsx("div",{className:"proton-Modal__content",children:r})]}),v=({isOpen:t,onClose:s,title:e,subtitle:n,body:r,children:l,isOverlay:a=!0,"data-testid":i})=>{const d=M.useRef(null),{isClosing:p,handleClose:c}=R.useIsClosing({onClose:s,overlayRef:d});if(!t)return null;const u=o.jsxRuntimeExports.jsx(h,{isOpen:t,title:e,subtitle:n,body:r,onClose:c,isClosing:p,"data-testid":i,children:l});return a?o.jsxRuntimeExports.jsx(_.ScreenOverlay,{fadeIn:!0,ref:d,onClose:c,children:u}):u},q=Object.assign(v,{Title:x,Subtitle:j,Body:m,Action:b,Actions:g});exports.Modal=q;
2
2
  //# sourceMappingURL=Modal.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.cjs.js","sources":["../../../src/components/Modal/Modal.tsx"],"sourcesContent":["\"use client\";\n\nimport { useRef } from \"react\";\nimport { BREAKPOINTS } from \"../../constants\";\nimport { useBreakpoint } from \"../../hooks\";\nimport { useIsClosing } from \"../../hooks/useIsClosing\";\nimport { csx } from \"../../utils\";\nimport { Button, ButtonProps } from \"../Button/Button\";\nimport \"./Modal.css\";\nimport { ScreenOverlay } from \"../ScreenOverlay/ScreenOverlay\";\n\nconst ModalTitle = ({ children }: { children: React.ReactNode }) => {\n return <h2 className=\"proton-Modal__title\">{children}</h2>;\n};\n\nconst ModalSubtitle = ({ children }: { children: React.ReactNode }) => {\n return <h3 className=\"proton-Modal__subtitle\">{children}</h3>;\n};\n\nconst ModalBody = ({ children }: { children: React.ReactNode }) => {\n return <div className=\"proton-Modal__body\">{children}</div>;\n};\n\nconst ModalAction = (buttonProps: ButtonProps) => {\n return (\n <div className=\"proton-Modal__action\">\n <Button {...buttonProps} />\n </div>\n );\n};\n\nconst ModalActions = ({ children }: { children: React.ReactNode }) => {\n return <div className=\"proton-Modal__actions\">{children}</div>;\n};\n\nconst ModalContent = ({\n title,\n subtitle,\n body,\n onClose,\n children,\n isClosing,\n \"data-testid\": dataTestId,\n}: ModalProps & {\n isClosing: boolean;\n}) => {\n return (\n <div\n data-testid={dataTestId}\n className={csx(\"proton-Modal\", isClosing && \"proton-Modal--closing\")}\n aria-modal=\"true\"\n role=\"dialog\"\n tabIndex={-1}\n >\n <button\n name=\"Close\"\n className=\"proton-Modal__close-button\"\n onClick={onClose}\n aria-label=\"Close\"\n >\n ×\n </button>\n {title && <ModalTitle>{title}</ModalTitle>}\n {subtitle && <ModalSubtitle>{subtitle}</ModalSubtitle>}\n {body && <ModalBody>{body}</ModalBody>}\n <div className=\"proton-Modal__content\">{children}</div>\n </div>\n );\n};\n\nexport interface ModalProps {\n /**\n * Optional body text content for the modal\n * */\n body?: string;\n /**\n * Content to render inside the modal\n * */\n children: React.ReactNode;\n /**\n * data-testid for the modal\n * */\n \"data-testid\"?: string;\n /**\n * Controls the visibility of the modal\n * */\n isOpen: boolean;\n /**\n * Whether to show the modal with an overlay background.\n * @default true\n * */\n isOverlay?: boolean;\n /**\n * Callback function when modal is closed\n * */\n onClose?: () => void;\n /**\n * Optional subtitle text below the modal title\n * */\n subtitle?: string;\n /**\n * Optional title text for the modal header\n * */\n title?: string;\n}\n\n/**\n * Modal component with overlay support and responsive behavior.\n *\n * API:\n * - {@link ModalProps}\n */\nconst ModalWrapper = ({\n isOpen,\n onClose,\n title,\n subtitle,\n body,\n children,\n isOverlay = true,\n \"data-testid\": dataTestId,\n}: ModalProps) => {\n const overlayRef = useRef<HTMLDivElement>(null);\n const { isClosing, handleClose } = useIsClosing({\n onClose,\n overlayRef,\n });\n const isMobile = useBreakpoint(BREAKPOINTS.MEDIUM);\n\n if (!isOpen) return null;\n\n const modalContent = (\n <ModalContent\n isOpen={isOpen}\n title={title}\n subtitle={subtitle}\n body={body}\n onClose={handleClose}\n isClosing={isClosing}\n data-testid={dataTestId}\n >\n {children}\n </ModalContent>\n );\n\n return isOverlay || isMobile ? (\n <ScreenOverlay fadeIn ref={overlayRef} onClose={handleClose}>\n {modalContent}\n </ScreenOverlay>\n ) : (\n modalContent\n );\n};\n\nexport const Modal = Object.assign(ModalWrapper, {\n /**\n * Renders a h2 styled title\n * */\n Title: ModalTitle,\n /**\n * Renders a h3 styled subtitle\n * */\n Subtitle: ModalSubtitle,\n /**\n * Renders a div styled body\n * */\n Body: ModalBody,\n /**\n * Renders a Proton Button action\n * - @prop buttonProps {@link ButtonProps}\n * */\n Action: ModalAction,\n /**\n * Renders a group of Proton Buttons\n * */\n Actions: ModalActions,\n});\n"],"names":["ModalTitle","children","jsx","ModalSubtitle","ModalBody","ModalAction","buttonProps","Button","ModalActions","ModalContent","title","subtitle","body","onClose","isClosing","dataTestId","jsxs","csx","ModalWrapper","isOpen","isOverlay","overlayRef","useRef","handleClose","useIsClosing","isMobile","useBreakpoint","BREAKPOINTS","modalContent","ScreenOverlay","Modal"],"mappings":"+cAWMA,EAAa,CAAC,CAAE,SAAAC,KACZC,EAAAA,kBAAAA,IAAA,KAAA,CAAG,UAAU,sBAAuB,SAAAD,CAAS,CAAA,EAGjDE,EAAgB,CAAC,CAAE,SAAAF,KACfC,EAAAA,kBAAAA,IAAA,KAAA,CAAG,UAAU,yBAA0B,SAAAD,CAAS,CAAA,EAGpDG,EAAY,CAAC,CAAE,SAAAH,KACXC,EAAAA,kBAAAA,IAAA,MAAA,CAAI,UAAU,qBAAsB,SAAAD,CAAS,CAAA,EAGjDI,EAAeC,GAEjBJ,wBAAC,OAAI,UAAU,uBACb,iCAACK,EAAQ,OAAA,CAAA,GAAGD,CAAa,CAAA,CAC3B,CAAA,EAIEE,EAAe,CAAC,CAAE,SAAAP,KACdC,EAAAA,kBAAAA,IAAA,MAAA,CAAI,UAAU,wBAAyB,SAAAD,CAAS,CAAA,EAGpDQ,EAAe,CAAC,CACpB,MAAAC,EACA,SAAAC,EACA,KAAAC,EACA,QAAAC,EACA,SAAAZ,EACA,UAAAa,EACA,cAAeC,CACjB,IAIIC,EAAA,kBAAA,KAAC,MAAA,CACC,cAAaD,EACb,UAAWE,EAAA,IAAI,eAAgBH,GAAa,uBAAuB,EACnE,aAAW,OACX,KAAK,SACL,SAAU,GAEV,SAAA,CAAAZ,EAAA,kBAAA,IAAC,SAAA,CACC,KAAK,QACL,UAAU,6BACV,QAASW,EACT,aAAW,QACZ,SAAA,GAAA,CAED,EACCH,GAAUR,EAAAA,kBAAAA,IAAAF,EAAA,CAAY,SAAMU,CAAA,CAAA,EAC5BC,GAAaT,EAAAA,kBAAAA,IAAAC,EAAA,CAAe,SAASQ,CAAA,CAAA,EACrCC,GAASV,EAAAA,kBAAAA,IAAAE,EAAA,CAAW,SAAKQ,CAAA,CAAA,EACzBV,EAAAA,kBAAAA,IAAA,MAAA,CAAI,UAAU,wBAAyB,SAAAD,CAAS,CAAA,CAAA,CAAA,CAAA,EA+CjDiB,EAAe,CAAC,CACpB,OAAAC,EACA,QAAAN,EACA,MAAAH,EACA,SAAAC,EACA,KAAAC,EACA,SAAAX,EACA,UAAAmB,EAAY,GACZ,cAAeL,CACjB,IAAkB,CACV,MAAAM,EAAaC,SAAuB,IAAI,EACxC,CAAE,UAAAR,EAAW,YAAAS,CAAY,EAAIC,eAAa,CAC9C,QAAAX,EACA,WAAAQ,CAAA,CACD,EACKI,EAAWC,EAAAA,cAAcC,EAAA,YAAY,MAAM,EAE7C,GAAA,CAACR,EAAe,OAAA,KAEpB,MAAMS,EACJ1B,EAAA,kBAAA,IAACO,EAAA,CACC,OAAAU,EACA,MAAAT,EACA,SAAAC,EACA,KAAAC,EACA,QAASW,EACT,UAAAT,EACA,cAAaC,EAEZ,SAAAd,CAAA,CAAA,EAIE,OAAAmB,GAAaK,EAClBvB,EAAAA,kBAAAA,IAAC2B,EAAAA,cAAc,CAAA,OAAM,GAAC,IAAKR,EAAY,QAASE,EAC7C,SAAAK,CAAA,CACH,EAEAA,CAEJ,EAEaE,EAAQ,OAAO,OAAOZ,EAAc,CAI/C,MAAOlB,EAIP,SAAUG,EAIV,KAAMC,EAKN,OAAQC,EAIR,QAASG,CACX,CAAC"}
1
+ {"version":3,"file":"Modal.cjs.js","sources":["../../../src/components/Modal/Modal.tsx"],"sourcesContent":["\"use client\";\n\nimport { useRef } from \"react\";\nimport { useIsClosing } from \"../../hooks/useIsClosing\";\nimport { csx } from \"../../utils\";\nimport { Button, ButtonProps } from \"../Button/Button\";\nimport \"./Modal.css\";\nimport { ScreenOverlay } from \"../ScreenOverlay/ScreenOverlay\";\nimport \"../Elevation/Elevation.css\";\n\nconst ModalTitle = ({ children }: { children: React.ReactNode }) => {\n return <h2 className=\"proton-Modal__title\">{children}</h2>;\n};\n\nconst ModalSubtitle = ({ children }: { children: React.ReactNode }) => {\n return <h3 className=\"proton-Modal__subtitle\">{children}</h3>;\n};\n\nconst ModalBody = ({ children }: { children: React.ReactNode }) => {\n return <div className=\"proton-Modal__body\">{children}</div>;\n};\n\nconst ModalAction = (buttonProps: ButtonProps) => {\n return (\n <div className=\"proton-Modal__action\">\n <Button {...buttonProps} />\n </div>\n );\n};\n\nconst ModalActions = ({ children }: { children: React.ReactNode }) => {\n return <div className=\"proton-Modal__actions\">{children}</div>;\n};\n\nconst ModalContent = ({\n title,\n subtitle,\n body,\n onClose,\n children,\n isClosing,\n isOpen,\n \"data-testid\": dataTestId,\n}: ModalProps & {\n isClosing: boolean;\n}) => {\n return (\n <div\n data-testid={dataTestId}\n data-disable-document-scroll={isOpen}\n className={csx(\n \"proton-Modal\",\n \"proton-Elevation--glass\",\n isClosing && \"proton-Modal--closing\",\n )}\n aria-modal=\"true\"\n role=\"dialog\"\n tabIndex={-1}\n >\n <button\n name=\"Close\"\n className=\"proton-Modal__close-button\"\n onClick={onClose}\n aria-label=\"Close\"\n >\n ×\n </button>\n {title && <ModalTitle>{title}</ModalTitle>}\n {subtitle && <ModalSubtitle>{subtitle}</ModalSubtitle>}\n {body && <ModalBody>{body}</ModalBody>}\n <div className=\"proton-Modal__content\">{children}</div>\n </div>\n );\n};\n\nexport interface ModalProps {\n /**\n * Optional body text content for the modal\n * */\n body?: string;\n /**\n * Content to render inside the modal\n * */\n children: React.ReactNode;\n /**\n * data-testid for the modal\n * */\n \"data-testid\"?: string;\n /**\n * Controls the visibility of the modal\n * */\n isOpen: boolean;\n /**\n * Whether to show the modal with an overlay background.\n * @default true\n * */\n isOverlay?: boolean;\n /**\n * Callback function when modal is closed\n * */\n onClose?: () => void;\n /**\n * Optional subtitle text below the modal title\n * */\n subtitle?: string;\n /**\n * Optional title text for the modal header\n * */\n title?: string;\n}\n\n/**\n * Modal component with overlay support and responsive behavior.\n *\n * API:\n * - {@link ModalProps}\n */\nconst ModalWrapper = ({\n isOpen,\n onClose,\n title,\n subtitle,\n body,\n children,\n isOverlay = true,\n \"data-testid\": dataTestId,\n}: ModalProps) => {\n const overlayRef = useRef<HTMLDivElement>(null);\n const { isClosing, handleClose } = useIsClosing({\n onClose,\n overlayRef,\n });\n\n if (!isOpen) return null;\n\n const modalContent = (\n <ModalContent\n isOpen={isOpen}\n title={title}\n subtitle={subtitle}\n body={body}\n onClose={handleClose}\n isClosing={isClosing}\n data-testid={dataTestId}\n >\n {children}\n </ModalContent>\n );\n\n return isOverlay ? (\n <ScreenOverlay fadeIn ref={overlayRef} onClose={handleClose}>\n {modalContent}\n </ScreenOverlay>\n ) : (\n modalContent\n );\n};\n\nexport const Modal = Object.assign(ModalWrapper, {\n /**\n * Renders a h2 styled title\n * */\n Title: ModalTitle,\n /**\n * Renders a h3 styled subtitle\n * */\n Subtitle: ModalSubtitle,\n /**\n * Renders a div styled body\n * */\n Body: ModalBody,\n /**\n * Renders a Proton Button action\n * - @prop buttonProps {@link ButtonProps}\n * */\n Action: ModalAction,\n /**\n * Renders a group of Proton Buttons\n * */\n Actions: ModalActions,\n});\n"],"names":["ModalTitle","children","jsx","ModalSubtitle","ModalBody","ModalAction","buttonProps","Button","ModalActions","ModalContent","title","subtitle","body","onClose","isClosing","isOpen","dataTestId","jsxs","csx","ModalWrapper","isOverlay","overlayRef","useRef","handleClose","useIsClosing","modalContent","ScreenOverlay","Modal"],"mappings":"qaAUMA,EAAa,CAAC,CAAE,SAAAC,KACbC,EAAAA,kBAAAA,IAAC,KAAA,CAAG,UAAU,sBAAuB,SAAAD,CAAA,CAAS,EAGjDE,EAAgB,CAAC,CAAE,SAAAF,KAChBC,EAAAA,kBAAAA,IAAC,KAAA,CAAG,UAAU,yBAA0B,SAAAD,CAAA,CAAS,EAGpDG,EAAY,CAAC,CAAE,SAAAH,KACZC,EAAAA,kBAAAA,IAAC,MAAA,CAAI,UAAU,qBAAsB,SAAAD,CAAA,CAAS,EAGjDI,EAAeC,GAEjBJ,wBAAC,OAAI,UAAU,uBACb,iCAACK,SAAA,CAAQ,GAAGD,EAAa,CAAA,CAC3B,EAIEE,EAAe,CAAC,CAAE,SAAAP,KACfC,EAAAA,kBAAAA,IAAC,MAAA,CAAI,UAAU,wBAAyB,SAAAD,CAAA,CAAS,EAGpDQ,EAAe,CAAC,CACpB,MAAAC,EACA,SAAAC,EACA,KAAAC,EACA,QAAAC,EACA,SAAAZ,EACA,UAAAa,EACA,OAAAC,EACA,cAAeC,CACjB,IAIIC,EAAAA,kBAAAA,KAAC,MAAA,CACC,cAAaD,EACb,+BAA8BD,EAC9B,UAAWG,EAAAA,IACT,eACA,0BACAJ,GAAa,uBAAA,EAEf,aAAW,OACX,KAAK,SACL,SAAU,GAEV,SAAA,CAAAZ,EAAAA,kBAAAA,IAAC,SAAA,CACC,KAAK,QACL,UAAU,6BACV,QAASW,EACT,aAAW,QACZ,SAAA,GAAA,CAAA,EAGAH,GAASR,EAAAA,kBAAAA,IAACF,EAAA,CAAY,SAAAU,CAAA,CAAM,EAC5BC,GAAYT,EAAAA,kBAAAA,IAACC,EAAA,CAAe,SAAAQ,CAAA,CAAS,EACrCC,GAAQV,EAAAA,kBAAAA,IAACE,EAAA,CAAW,SAAAQ,CAAA,CAAK,EAC1BV,EAAAA,kBAAAA,IAAC,MAAA,CAAI,UAAU,wBAAyB,SAAAD,CAAA,CAAS,CAAA,CAAA,CAAA,EA+CjDkB,EAAe,CAAC,CACpB,OAAAJ,EACA,QAAAF,EACA,MAAAH,EACA,SAAAC,EACA,KAAAC,EACA,SAAAX,EACA,UAAAmB,EAAY,GACZ,cAAeJ,CACjB,IAAkB,CAChB,MAAMK,EAAaC,EAAAA,OAAuB,IAAI,EACxC,CAAE,UAAAR,EAAW,YAAAS,CAAA,EAAgBC,eAAa,CAC9C,QAAAX,EACA,WAAAQ,CAAA,CACD,EAED,GAAI,CAACN,EAAQ,OAAO,KAEpB,MAAMU,EACJvB,EAAAA,kBAAAA,IAACO,EAAA,CACC,OAAAM,EACA,MAAAL,EACA,SAAAC,EACA,KAAAC,EACA,QAASW,EACT,UAAAT,EACA,cAAaE,EAEZ,SAAAf,CAAA,CAAA,EAIL,OAAOmB,EACLlB,EAAAA,kBAAAA,IAACwB,EAAAA,cAAA,CAAc,OAAM,GAAC,IAAKL,EAAY,QAASE,EAC7C,SAAAE,CAAA,CACH,EAEAA,CAEJ,EAEaE,EAAQ,OAAO,OAAOR,EAAc,CAI/C,MAAOnB,EAIP,SAAUG,EAIV,KAAMC,EAKN,OAAQC,EAIR,QAASG,CACX,CAAC"}
@@ -1,25 +1,30 @@
1
1
  import { j as t } from "../../node_modules/react/jsx-runtime.es.js";
2
- import { useRef as _ } from "react";
3
- import { useIsClosing as f } from "../../hooks/useIsClosing.es.js";
4
- import { Button as h } from "../Button/Button.es.js";
2
+ import { useRef as M } from "react";
3
+ import { useIsClosing as _ } from "../../hooks/useIsClosing.es.js";
4
+ import { Button as f } from "../Button/Button.es.js";
5
5
  /* empty css */
6
- import { ScreenOverlay as C } from "../ScreenOverlay/ScreenOverlay.es.js";
7
- import { useBreakpoint as N } from "../../hooks/useBreakpoint.es.js";
8
- import { BREAKPOINTS as b } from "../../constants/breakpoint.es.js";
9
- import { csx as v } from "../../utils/string.es.js";
10
- const m = ({ children: o }) => /* @__PURE__ */ t.jsx("h2", { className: "proton-Modal__title", children: o }), p = ({ children: o }) => /* @__PURE__ */ t.jsx("h3", { className: "proton-Modal__subtitle", children: o }), u = ({ children: o }) => /* @__PURE__ */ t.jsx("div", { className: "proton-Modal__body", children: o }), g = (o) => /* @__PURE__ */ t.jsx("div", { className: "proton-Modal__action", children: /* @__PURE__ */ t.jsx(h, { ...o }) }), A = ({ children: o }) => /* @__PURE__ */ t.jsx("div", { className: "proton-Modal__actions", children: o }), B = ({
6
+ import { ScreenOverlay as h } from "../ScreenOverlay/ScreenOverlay.es.js";
7
+ /* empty css */
8
+ import { csx as C } from "../../utils/string.es.js";
9
+ const u = ({ children: o }) => /* @__PURE__ */ t.jsx("h2", { className: "proton-Modal__title", children: o }), p = ({ children: o }) => /* @__PURE__ */ t.jsx("h3", { className: "proton-Modal__subtitle", children: o }), x = ({ children: o }) => /* @__PURE__ */ t.jsx("div", { className: "proton-Modal__body", children: o }), b = (o) => /* @__PURE__ */ t.jsx("div", { className: "proton-Modal__action", children: /* @__PURE__ */ t.jsx(f, { ...o }) }), v = ({ children: o }) => /* @__PURE__ */ t.jsx("div", { className: "proton-Modal__actions", children: o }), N = ({
11
10
  title: o,
12
11
  subtitle: s,
13
12
  body: n,
14
- onClose: e,
15
- children: r,
16
- isClosing: a,
17
- "data-testid": l
13
+ onClose: a,
14
+ children: e,
15
+ isClosing: l,
16
+ isOpen: r,
17
+ "data-testid": d
18
18
  }) => /* @__PURE__ */ t.jsxs(
19
19
  "div",
20
20
  {
21
- "data-testid": l,
22
- className: v("proton-Modal", a && "proton-Modal--closing"),
21
+ "data-testid": d,
22
+ "data-disable-document-scroll": r,
23
+ className: C(
24
+ "proton-Modal",
25
+ "proton-Elevation--glass",
26
+ l && "proton-Modal--closing"
27
+ ),
23
28
  "aria-modal": "true",
24
29
  role: "dialog",
25
30
  tabIndex: -1,
@@ -29,51 +34,51 @@ const m = ({ children: o }) => /* @__PURE__ */ t.jsx("h2", { className: "proton-
29
34
  {
30
35
  name: "Close",
31
36
  className: "proton-Modal__close-button",
32
- onClick: e,
37
+ onClick: a,
33
38
  "aria-label": "Close",
34
39
  children: "×"
35
40
  }
36
41
  ),
37
- o && /* @__PURE__ */ t.jsx(m, { children: o }),
42
+ o && /* @__PURE__ */ t.jsx(u, { children: o }),
38
43
  s && /* @__PURE__ */ t.jsx(p, { children: s }),
39
- n && /* @__PURE__ */ t.jsx(u, { children: n }),
40
- /* @__PURE__ */ t.jsx("div", { className: "proton-Modal__content", children: r })
44
+ n && /* @__PURE__ */ t.jsx(x, { children: n }),
45
+ /* @__PURE__ */ t.jsx("div", { className: "proton-Modal__content", children: e })
41
46
  ]
42
47
  }
43
- ), I = ({
48
+ ), g = ({
44
49
  isOpen: o,
45
50
  onClose: s,
46
51
  title: n,
47
- subtitle: e,
48
- body: r,
49
- children: a,
50
- isOverlay: l = !0,
51
- "data-testid": M
52
+ subtitle: a,
53
+ body: e,
54
+ children: l,
55
+ isOverlay: r = !0,
56
+ "data-testid": d
52
57
  }) => {
53
- const i = _(null), { isClosing: x, handleClose: d } = f({
58
+ const i = M(null), { isClosing: j, handleClose: c } = _({
54
59
  onClose: s,
55
60
  overlayRef: i
56
- }), j = N(b.MEDIUM);
61
+ });
57
62
  if (!o) return null;
58
- const c = /* @__PURE__ */ t.jsx(
59
- B,
63
+ const m = /* @__PURE__ */ t.jsx(
64
+ N,
60
65
  {
61
66
  isOpen: o,
62
67
  title: n,
63
- subtitle: e,
64
- body: r,
65
- onClose: d,
66
- isClosing: x,
67
- "data-testid": M,
68
- children: a
68
+ subtitle: a,
69
+ body: e,
70
+ onClose: c,
71
+ isClosing: j,
72
+ "data-testid": d,
73
+ children: l
69
74
  }
70
75
  );
71
- return l || j ? /* @__PURE__ */ t.jsx(C, { fadeIn: !0, ref: i, onClose: d, children: c }) : c;
72
- }, P = Object.assign(I, {
76
+ return r ? /* @__PURE__ */ t.jsx(h, { fadeIn: !0, ref: i, onClose: c, children: m }) : m;
77
+ }, k = Object.assign(g, {
73
78
  /**
74
79
  * Renders a h2 styled title
75
80
  * */
76
- Title: m,
81
+ Title: u,
77
82
  /**
78
83
  * Renders a h3 styled subtitle
79
84
  * */
@@ -81,18 +86,18 @@ const m = ({ children: o }) => /* @__PURE__ */ t.jsx("h2", { className: "proton-
81
86
  /**
82
87
  * Renders a div styled body
83
88
  * */
84
- Body: u,
89
+ Body: x,
85
90
  /**
86
91
  * Renders a Proton Button action
87
92
  * - @prop buttonProps {@link ButtonProps}
88
93
  * */
89
- Action: g,
94
+ Action: b,
90
95
  /**
91
96
  * Renders a group of Proton Buttons
92
97
  * */
93
- Actions: A
98
+ Actions: v
94
99
  });
95
100
  export {
96
- P as Modal
101
+ k as Modal
97
102
  };
98
103
  //# sourceMappingURL=Modal.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.es.js","sources":["../../../src/components/Modal/Modal.tsx"],"sourcesContent":["\"use client\";\n\nimport { useRef } from \"react\";\nimport { BREAKPOINTS } from \"../../constants\";\nimport { useBreakpoint } from \"../../hooks\";\nimport { useIsClosing } from \"../../hooks/useIsClosing\";\nimport { csx } from \"../../utils\";\nimport { Button, ButtonProps } from \"../Button/Button\";\nimport \"./Modal.css\";\nimport { ScreenOverlay } from \"../ScreenOverlay/ScreenOverlay\";\n\nconst ModalTitle = ({ children }: { children: React.ReactNode }) => {\n return <h2 className=\"proton-Modal__title\">{children}</h2>;\n};\n\nconst ModalSubtitle = ({ children }: { children: React.ReactNode }) => {\n return <h3 className=\"proton-Modal__subtitle\">{children}</h3>;\n};\n\nconst ModalBody = ({ children }: { children: React.ReactNode }) => {\n return <div className=\"proton-Modal__body\">{children}</div>;\n};\n\nconst ModalAction = (buttonProps: ButtonProps) => {\n return (\n <div className=\"proton-Modal__action\">\n <Button {...buttonProps} />\n </div>\n );\n};\n\nconst ModalActions = ({ children }: { children: React.ReactNode }) => {\n return <div className=\"proton-Modal__actions\">{children}</div>;\n};\n\nconst ModalContent = ({\n title,\n subtitle,\n body,\n onClose,\n children,\n isClosing,\n \"data-testid\": dataTestId,\n}: ModalProps & {\n isClosing: boolean;\n}) => {\n return (\n <div\n data-testid={dataTestId}\n className={csx(\"proton-Modal\", isClosing && \"proton-Modal--closing\")}\n aria-modal=\"true\"\n role=\"dialog\"\n tabIndex={-1}\n >\n <button\n name=\"Close\"\n className=\"proton-Modal__close-button\"\n onClick={onClose}\n aria-label=\"Close\"\n >\n ×\n </button>\n {title && <ModalTitle>{title}</ModalTitle>}\n {subtitle && <ModalSubtitle>{subtitle}</ModalSubtitle>}\n {body && <ModalBody>{body}</ModalBody>}\n <div className=\"proton-Modal__content\">{children}</div>\n </div>\n );\n};\n\nexport interface ModalProps {\n /**\n * Optional body text content for the modal\n * */\n body?: string;\n /**\n * Content to render inside the modal\n * */\n children: React.ReactNode;\n /**\n * data-testid for the modal\n * */\n \"data-testid\"?: string;\n /**\n * Controls the visibility of the modal\n * */\n isOpen: boolean;\n /**\n * Whether to show the modal with an overlay background.\n * @default true\n * */\n isOverlay?: boolean;\n /**\n * Callback function when modal is closed\n * */\n onClose?: () => void;\n /**\n * Optional subtitle text below the modal title\n * */\n subtitle?: string;\n /**\n * Optional title text for the modal header\n * */\n title?: string;\n}\n\n/**\n * Modal component with overlay support and responsive behavior.\n *\n * API:\n * - {@link ModalProps}\n */\nconst ModalWrapper = ({\n isOpen,\n onClose,\n title,\n subtitle,\n body,\n children,\n isOverlay = true,\n \"data-testid\": dataTestId,\n}: ModalProps) => {\n const overlayRef = useRef<HTMLDivElement>(null);\n const { isClosing, handleClose } = useIsClosing({\n onClose,\n overlayRef,\n });\n const isMobile = useBreakpoint(BREAKPOINTS.MEDIUM);\n\n if (!isOpen) return null;\n\n const modalContent = (\n <ModalContent\n isOpen={isOpen}\n title={title}\n subtitle={subtitle}\n body={body}\n onClose={handleClose}\n isClosing={isClosing}\n data-testid={dataTestId}\n >\n {children}\n </ModalContent>\n );\n\n return isOverlay || isMobile ? (\n <ScreenOverlay fadeIn ref={overlayRef} onClose={handleClose}>\n {modalContent}\n </ScreenOverlay>\n ) : (\n modalContent\n );\n};\n\nexport const Modal = Object.assign(ModalWrapper, {\n /**\n * Renders a h2 styled title\n * */\n Title: ModalTitle,\n /**\n * Renders a h3 styled subtitle\n * */\n Subtitle: ModalSubtitle,\n /**\n * Renders a div styled body\n * */\n Body: ModalBody,\n /**\n * Renders a Proton Button action\n * - @prop buttonProps {@link ButtonProps}\n * */\n Action: ModalAction,\n /**\n * Renders a group of Proton Buttons\n * */\n Actions: ModalActions,\n});\n"],"names":["ModalTitle","children","jsx","ModalSubtitle","ModalBody","ModalAction","buttonProps","Button","ModalActions","ModalContent","title","subtitle","body","onClose","isClosing","dataTestId","jsxs","csx","ModalWrapper","isOpen","isOverlay","overlayRef","useRef","handleClose","useIsClosing","isMobile","useBreakpoint","BREAKPOINTS","modalContent","ScreenOverlay","Modal"],"mappings":"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"}
1
+ {"version":3,"file":"Modal.es.js","sources":["../../../src/components/Modal/Modal.tsx"],"sourcesContent":["\"use client\";\n\nimport { useRef } from \"react\";\nimport { useIsClosing } from \"../../hooks/useIsClosing\";\nimport { csx } from \"../../utils\";\nimport { Button, ButtonProps } from \"../Button/Button\";\nimport \"./Modal.css\";\nimport { ScreenOverlay } from \"../ScreenOverlay/ScreenOverlay\";\nimport \"../Elevation/Elevation.css\";\n\nconst ModalTitle = ({ children }: { children: React.ReactNode }) => {\n return <h2 className=\"proton-Modal__title\">{children}</h2>;\n};\n\nconst ModalSubtitle = ({ children }: { children: React.ReactNode }) => {\n return <h3 className=\"proton-Modal__subtitle\">{children}</h3>;\n};\n\nconst ModalBody = ({ children }: { children: React.ReactNode }) => {\n return <div className=\"proton-Modal__body\">{children}</div>;\n};\n\nconst ModalAction = (buttonProps: ButtonProps) => {\n return (\n <div className=\"proton-Modal__action\">\n <Button {...buttonProps} />\n </div>\n );\n};\n\nconst ModalActions = ({ children }: { children: React.ReactNode }) => {\n return <div className=\"proton-Modal__actions\">{children}</div>;\n};\n\nconst ModalContent = ({\n title,\n subtitle,\n body,\n onClose,\n children,\n isClosing,\n isOpen,\n \"data-testid\": dataTestId,\n}: ModalProps & {\n isClosing: boolean;\n}) => {\n return (\n <div\n data-testid={dataTestId}\n data-disable-document-scroll={isOpen}\n className={csx(\n \"proton-Modal\",\n \"proton-Elevation--glass\",\n isClosing && \"proton-Modal--closing\",\n )}\n aria-modal=\"true\"\n role=\"dialog\"\n tabIndex={-1}\n >\n <button\n name=\"Close\"\n className=\"proton-Modal__close-button\"\n onClick={onClose}\n aria-label=\"Close\"\n >\n ×\n </button>\n {title && <ModalTitle>{title}</ModalTitle>}\n {subtitle && <ModalSubtitle>{subtitle}</ModalSubtitle>}\n {body && <ModalBody>{body}</ModalBody>}\n <div className=\"proton-Modal__content\">{children}</div>\n </div>\n );\n};\n\nexport interface ModalProps {\n /**\n * Optional body text content for the modal\n * */\n body?: string;\n /**\n * Content to render inside the modal\n * */\n children: React.ReactNode;\n /**\n * data-testid for the modal\n * */\n \"data-testid\"?: string;\n /**\n * Controls the visibility of the modal\n * */\n isOpen: boolean;\n /**\n * Whether to show the modal with an overlay background.\n * @default true\n * */\n isOverlay?: boolean;\n /**\n * Callback function when modal is closed\n * */\n onClose?: () => void;\n /**\n * Optional subtitle text below the modal title\n * */\n subtitle?: string;\n /**\n * Optional title text for the modal header\n * */\n title?: string;\n}\n\n/**\n * Modal component with overlay support and responsive behavior.\n *\n * API:\n * - {@link ModalProps}\n */\nconst ModalWrapper = ({\n isOpen,\n onClose,\n title,\n subtitle,\n body,\n children,\n isOverlay = true,\n \"data-testid\": dataTestId,\n}: ModalProps) => {\n const overlayRef = useRef<HTMLDivElement>(null);\n const { isClosing, handleClose } = useIsClosing({\n onClose,\n overlayRef,\n });\n\n if (!isOpen) return null;\n\n const modalContent = (\n <ModalContent\n isOpen={isOpen}\n title={title}\n subtitle={subtitle}\n body={body}\n onClose={handleClose}\n isClosing={isClosing}\n data-testid={dataTestId}\n >\n {children}\n </ModalContent>\n );\n\n return isOverlay ? (\n <ScreenOverlay fadeIn ref={overlayRef} onClose={handleClose}>\n {modalContent}\n </ScreenOverlay>\n ) : (\n modalContent\n );\n};\n\nexport const Modal = Object.assign(ModalWrapper, {\n /**\n * Renders a h2 styled title\n * */\n Title: ModalTitle,\n /**\n * Renders a h3 styled subtitle\n * */\n Subtitle: ModalSubtitle,\n /**\n * Renders a div styled body\n * */\n Body: ModalBody,\n /**\n * Renders a Proton Button action\n * - @prop buttonProps {@link ButtonProps}\n * */\n Action: ModalAction,\n /**\n * Renders a group of Proton Buttons\n * */\n Actions: ModalActions,\n});\n"],"names":["ModalTitle","children","jsx","ModalSubtitle","ModalBody","ModalAction","buttonProps","Button","ModalActions","ModalContent","title","subtitle","body","onClose","isClosing","isOpen","dataTestId","jsxs","csx","ModalWrapper","isOverlay","overlayRef","useRef","handleClose","useIsClosing","modalContent","ScreenOverlay","Modal"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../node_modules/react/jsx-runtime.cjs.js"),o=require("react");;/* empty css */const i=require("../../utils/string.cjs.js"),t=o.forwardRef(({children:s,arrow:r},n)=>e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx("div",{ref:n,className:i.csx("proton-Overlay","proton-Overlay__content"),children:s}),r&&e.jsxRuntimeExports.jsx("span",{className:"proton-Overlay-arrow",children:r})]}));t.displayName="ProtonUIOverlay";exports.Overlay=t;
2
+ //# sourceMappingURL=Overlay.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Overlay.cjs.js","sources":["../../../src/components/Overlay/Overlay.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRef, ReactNode } from \"react\";\n\nimport \"./Overlay.css\";\nimport { csx } from \"../../utils/string\";\n\nexport interface OverlayProps {\n children?: ReactNode;\n /**\n * Optional arrow element.\n */\n arrow?: ReactNode;\n}\n\n/**\n * Applies a floating background to the content.\n * Intended use in overlay containers such as modals, tooltips, or popovers.\n *\n * API:\n * - {@link OverlayProps}\n */\nexport const Overlay = forwardRef<HTMLDivElement, OverlayProps>(\n ({ children, arrow }, ref) => {\n return (\n <>\n <div\n ref={ref}\n className={csx(\n \"proton-Overlay\",\n \"proton-Overlay__content\",\n )}\n >\n {children}\n </div>\n {arrow && <span className=\"proton-Overlay-arrow\">{arrow}</span>}\n </>\n );\n },\n);\n\nOverlay.displayName = \"ProtonUIOverlay\";\n"],"names":["Overlay","forwardRef","children","arrow","ref","jsxs","Fragment","jsx","csx"],"mappings":"+OAsBaA,EAAUC,EAAAA,WACrB,CAAC,CAAE,SAAAC,EAAU,MAAAC,CAAA,EAASC,IAElBC,EAAAA,kBAAAA,KAAAC,6BAAA,CACE,SAAA,CAAAC,EAAAA,kBAAAA,IAAC,MAAA,CACC,IAAAH,EACA,UAAWI,EAAAA,IACT,iBACA,yBAAA,EAGD,SAAAN,CAAA,CAAA,EAEFC,GAASI,EAAAA,kBAAAA,IAAC,OAAA,CAAK,UAAU,uBAAwB,SAAAJ,CAAA,CAAM,CAAA,EAC1D,CAGN,EAEAH,EAAQ,YAAc"}
@@ -0,0 +1,25 @@
1
+ import { j as r } from "../../node_modules/react/jsx-runtime.es.js";
2
+ import { forwardRef as a } from "react";
3
+ /* empty css */
4
+ import { csx as s } from "../../utils/string.es.js";
5
+ const n = a(
6
+ ({ children: e, arrow: o }, t) => /* @__PURE__ */ r.jsxs(r.Fragment, { children: [
7
+ /* @__PURE__ */ r.jsx(
8
+ "div",
9
+ {
10
+ ref: t,
11
+ className: s(
12
+ "proton-Overlay",
13
+ "proton-Overlay__content"
14
+ ),
15
+ children: e
16
+ }
17
+ ),
18
+ o && /* @__PURE__ */ r.jsx("span", { className: "proton-Overlay-arrow", children: o })
19
+ ] })
20
+ );
21
+ n.displayName = "ProtonUIOverlay";
22
+ export {
23
+ n as Overlay
24
+ };
25
+ //# sourceMappingURL=Overlay.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Overlay.es.js","sources":["../../../src/components/Overlay/Overlay.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRef, ReactNode } from \"react\";\n\nimport \"./Overlay.css\";\nimport { csx } from \"../../utils/string\";\n\nexport interface OverlayProps {\n children?: ReactNode;\n /**\n * Optional arrow element.\n */\n arrow?: ReactNode;\n}\n\n/**\n * Applies a floating background to the content.\n * Intended use in overlay containers such as modals, tooltips, or popovers.\n *\n * API:\n * - {@link OverlayProps}\n */\nexport const Overlay = forwardRef<HTMLDivElement, OverlayProps>(\n ({ children, arrow }, ref) => {\n return (\n <>\n <div\n ref={ref}\n className={csx(\n \"proton-Overlay\",\n \"proton-Overlay__content\",\n )}\n >\n {children}\n </div>\n {arrow && <span className=\"proton-Overlay-arrow\">{arrow}</span>}\n </>\n );\n },\n);\n\nOverlay.displayName = \"ProtonUIOverlay\";\n"],"names":["Overlay","forwardRef","children","arrow","ref","jsxs","Fragment","jsx","csx"],"mappings":";;;;AAsBO,MAAMA,IAAUC;AAAA,EACrB,CAAC,EAAE,UAAAC,GAAU,OAAAC,EAAA,GAASC,MAElBC,gBAAAA,EAAAA,KAAAC,YAAA,EACE,UAAA;AAAA,IAAAC,gBAAAA,EAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAAH;AAAA,QACA,WAAWI;AAAA,UACT;AAAA,UACA;AAAA,QAAA;AAAA,QAGD,UAAAN;AAAA,MAAA;AAAA,IAAA;AAAA,IAEFC,KAASI,gBAAAA,EAAAA,IAAC,QAAA,EAAK,WAAU,wBAAwB,UAAAJ,EAAA,CAAM;AAAA,EAAA,GAC1D;AAGN;AAEAH,EAAQ,cAAc;"}