@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 +1 @@
1
- {"version":3,"file":"Select.es.js","sources":["../../../src/components/Select/Select.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n forwardRef,\n ReactNode,\n RefObject,\n useEffect,\n useRef,\n useState,\n type CSSProperties,\n} from \"react\";\nimport { Select as RadixSelect } from \"radix-ui\";\nimport { useTheme } from \"../ThemeProvider\";\nimport { useBreakpoint } from \"../../hooks/useBreakpoint\";\n\nimport { BREAKPOINTS } from \"../../constants\";\nimport { csx } from \"../../utils\";\n\nimport { ActionMenu, ActionMenuAction } from \"../ActionMenu/ActionMenu\";\nimport { CaretDown as CaretDownIcon } from \"../Icon\";\n\nimport \"./Select.css\";\nimport \"../Menu/Menu.css\";\n\ninterface SelectButtonProps {\n disabled?: boolean;\n isOpen?: boolean;\n children?: ReactNode;\n onClick?: () => void;\n isRounded?: boolean;\n}\n\nconst SelectButton = forwardRef<HTMLButtonElement, SelectButtonProps>(\n (\n { disabled, isOpen, children, onClick, isRounded, ...props },\n ref: RefObject<HTMLButtonElement>,\n ) => {\n return (\n <button\n {...props}\n ref={ref}\n disabled={disabled}\n onClick={onClick}\n className={csx(\n \"proton-Select__trigger\",\n disabled && \"proton-Select__trigger--disabled\",\n !isOpen && \"proton-Select__trigger--closed\",\n isOpen && \"proton-Select__trigger--opened\",\n isRounded && \"proton-Select__trigger--rounded\",\n )}\n >\n {children}\n </button>\n );\n },\n);\nSelectButton.displayName = \"ProtonUISelectButton\";\n\nexport interface SelectItem {\n /** The label to display for the item */\n label: string;\n\n /** The key of the item */\n key: string;\n\n /** The URL to navigate to when the item is clicked, turns item into an a tag */\n to?: string;\n}\n\nexport interface SelectProps {\n /** Array of keys that should be disabled\n * @example [\"Thing 1\", \"Thing 2\"]\n */\n disabledKeys?: string[];\n\n /** The key of the default selected item */\n defaultSelectedKey?: string;\n\n /** Test ID for the select */\n \"data-testid\"?: string;\n\n /** Whether the select is disabled */\n isDisabled?: boolean;\n\n /** Array of items to display\n * @example [{ key: \"thing-1\", label: \"Thing 1\" }, { key: \"thing-2\", label: \"Thing 2\" }]\n * @see {@link SelectItem}\n */\n items: SelectItem[];\n\n /** Whether the select button is rounded\n * @default false\n */\n isRounded?: boolean;\n\n /** Label to display above the select\n * @external https://developer.mozilla.org/en-US/docs/Web/HTML/Element/label#text\n */\n label?: string;\n\n /** The name of the select field */\n name: string;\n\n /** Callback fired when the menu closes */\n onClose?: () => void;\n\n /** Callback fired when the menu opens */\n onOpen?: () => void;\n\n /** Callback fired when selection changes */\n onSelectionChange?: (key: string) => void;\n\n /** Currently selected key */\n selectedKey?: string;\n}\n\n/**\n * A dropdown select menu that opens a popover on desktop and an action menu on mobile/touch devices.\n * Supports controlled and uncontrolled modes.\n *\n * API:\n * - {@link SelectProps}\n */\nexport function Select({\n label,\n name,\n isDisabled,\n disabledKeys,\n selectedKey,\n onSelectionChange,\n defaultSelectedKey,\n onOpen,\n onClose,\n items,\n isRounded = false,\n \"data-testid\": testId,\n}: SelectProps) {\n const [isOpen, setIsOpen] = useState(false);\n const [internalSelectedKey, setInternalSelectedKey] = useState(\n selectedKey || defaultSelectedKey || \"\",\n );\n const { className: themeClass, style: themeStyle } = useTheme();\n const isMobile = useBreakpoint(BREAKPOINTS.MEDIUM);\n const triggerRef = useRef<HTMLButtonElement>(null);\n const hiddenInputRef = useRef<HTMLInputElement>(null);\n\n // Handle controlled vs uncontrolled state\n const currentSelectedKey =\n selectedKey !== undefined ? selectedKey : internalSelectedKey;\n const selectedItem = items.find((item) => item.key === currentSelectedKey);\n\n const handleValueChange = (value: string) => {\n if (selectedKey === undefined) {\n setInternalSelectedKey(value);\n }\n onSelectionChange?.(value);\n\n // Update hidden input for form submission\n if (hiddenInputRef.current) {\n hiddenInputRef.current.value = value;\n hiddenInputRef.current.dispatchEvent(\n new Event(\"change\", { bubbles: true }),\n );\n }\n };\n\n const handleOpenChange = (open: boolean) => {\n setIsOpen(open);\n if (open) {\n onOpen?.();\n } else {\n onClose?.();\n }\n };\n\n // Update internal state when controlled selectedKey changes\n useEffect(() => {\n if (selectedKey !== undefined) {\n setInternalSelectedKey(selectedKey);\n }\n }, [selectedKey]);\n\n const actionItems: ActionMenuAction[] = items.map((item) => ({\n key: item.key,\n label: item.label,\n to: item.to,\n onAction: () => {\n handleValueChange(item.key);\n setIsOpen(false);\n },\n }));\n\n if (isMobile) {\n return (\n <div\n className=\"proton-Select\"\n aria-label={label || name}\n aria-disabled={isDisabled}\n >\n {label && (\n <div className=\"proton-Select__label\" data-testid=\"select-label\">\n {label}\n </div>\n )}\n\n {/* Hidden input for form submission */}\n <input\n ref={hiddenInputRef}\n type=\"hidden\"\n name={name}\n value={currentSelectedKey}\n data-testid=\"hidden-select-container\"\n />\n\n <SelectButton\n isOpen={isOpen}\n isRounded={isRounded}\n ref={triggerRef}\n disabled={isDisabled}\n data-testid={testId}\n onClick={() => setIsOpen(true)}\n >\n <div className=\"proton-Select__value\">\n {selectedItem ? selectedItem.label : \"Select an option\"}\n </div>\n <div\n className={csx(\n \"proton-Select__trigger_icon\",\n isOpen && \"proton-Select__trigger_icon--flipped\",\n )}\n aria-hidden=\"true\"\n >\n <CaretDownIcon size={16} />\n </div>\n </SelectButton>\n\n <ActionMenu\n isOpen={isOpen}\n onClose={() => setIsOpen(false)}\n actions={actionItems}\n selectedKeys={[currentSelectedKey]}\n disabledKeys={disabledKeys}\n />\n </div>\n );\n }\n\n return (\n <div\n className=\"proton-Select\"\n aria-label={label || name}\n aria-disabled={isDisabled}\n >\n {label && (\n <div className=\"proton-Select__label\" data-testid=\"select-label\">\n {label}\n </div>\n )}\n\n {/* Hidden input for form submission */}\n <input\n ref={hiddenInputRef}\n type=\"hidden\"\n name={name}\n value={currentSelectedKey}\n data-testid=\"hidden-select-container\"\n />\n\n <RadixSelect.Root\n value={currentSelectedKey}\n onValueChange={handleValueChange}\n onOpenChange={handleOpenChange}\n disabled={isDisabled}\n >\n <RadixSelect.Trigger asChild>\n <SelectButton\n isRounded={isRounded}\n isOpen={isOpen}\n ref={triggerRef}\n disabled={isDisabled}\n data-testid={testId}\n >\n <RadixSelect.Value\n className=\"proton-Select__value\"\n placeholder=\"Select an option\"\n >\n {selectedItem ? selectedItem.label : \"Select an option\"}\n </RadixSelect.Value>\n <RadixSelect.Icon asChild>\n <div\n className={csx(\n \"proton-Select__trigger_icon\",\n isOpen && \"proton-Select__trigger_icon--flipped\",\n )}\n aria-hidden=\"true\"\n >\n <CaretDownIcon size={16} />\n </div>\n </RadixSelect.Icon>\n </SelectButton>\n </RadixSelect.Trigger>\n\n <RadixSelect.Portal>\n <RadixSelect.Content\n className={csx(\n \"proton-Menu\",\n \"proton-MenuTrigger__menu\",\n themeClass,\n )}\n style={themeStyle as CSSProperties}\n position=\"popper\"\n >\n <RadixSelect.Viewport>\n {items.map((item) => (\n <RadixSelect.Item\n key={item.key}\n value={item.key}\n disabled={disabledKeys?.includes(item.key)}\n className=\"proton-Menu__item\"\n >\n <RadixSelect.ItemText>{item.label}</RadixSelect.ItemText>\n </RadixSelect.Item>\n ))}\n </RadixSelect.Viewport>\n </RadixSelect.Content>\n </RadixSelect.Portal>\n </RadixSelect.Root>\n </div>\n );\n}\n\nSelect.displayName = \"ProtonUISelect\";\n"],"names":["SelectButton","forwardRef","disabled","isOpen","children","onClick","isRounded","props","ref","jsx","csx","Select","label","name","isDisabled","disabledKeys","selectedKey","onSelectionChange","defaultSelectedKey","onOpen","onClose","items","testId","setIsOpen","useState","internalSelectedKey","setInternalSelectedKey","themeClass","themeStyle","useTheme","isMobile","useBreakpoint","BREAKPOINTS","triggerRef","useRef","hiddenInputRef","currentSelectedKey","selectedItem","item","handleValueChange","value","handleOpenChange","open","useEffect","actionItems","jsxs","CaretDownIcon","ActionMenu","RadixSelect"],"mappings":"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"}
1
+ {"version":3,"file":"Select.es.js","sources":["../../../src/components/Select/Select.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n forwardRef,\n ReactNode,\n useEffect,\n useRef,\n useState,\n type ForwardedRef,\n type CSSProperties,\n} from \"react\";\nimport { Select as RadixSelect } from \"radix-ui\";\nimport { useTheme } from \"../ThemeProvider\";\nimport { useBreakpoint } from \"../../hooks/useBreakpoint\";\nimport { BREAKPOINTS } from \"../../constants\";\nimport { csx } from \"../../utils\";\n\nimport { ActionMenu, type ActionMenuAction } from \"../ActionMenu/ActionMenu\";\nimport { CaretDown as CaretDownIcon } from \"../Icon\";\n\nimport \"./Select.css\";\nimport \"../Menu/Menu.css\";\nimport \"../Elevation/Elevation.css\";\n\ninterface SelectButtonProps {\n disabled?: boolean;\n isOpen?: boolean;\n selectedItem?: SelectItem;\n onClick?: () => void;\n isRounded?: boolean;\n ariaLabel?: string;\n \"data-testid\"?: string;\n}\n\nconst SelectButton = forwardRef<HTMLButtonElement, SelectButtonProps>(\n (\n {\n disabled,\n isOpen,\n onClick,\n isRounded,\n selectedItem,\n ariaLabel,\n \"data-testid\": testId,\n },\n ref: ForwardedRef<HTMLButtonElement>,\n ) => {\n return (\n <button\n ref={ref}\n type=\"button\"\n role=\"combobox\"\n aria-label={ariaLabel}\n aria-expanded={isOpen}\n aria-autocomplete=\"none\"\n data-state={isOpen ? \"open\" : \"closed\"}\n data-testid={testId}\n disabled={disabled}\n onClick={onClick}\n className={csx(\n \"proton-Select__trigger\",\n \"proton-Elevation--glass\",\n disabled && \"proton-Select__trigger--disabled\",\n !isOpen && \"proton-Select__trigger--closed\",\n isOpen && \"proton-Select__trigger--opened\",\n isRounded && \"proton-Select__trigger--rounded\",\n )}\n >\n <span className=\"proton-Select__value\">\n {selectedItem ? selectedItem.label : \"Select an option\"}\n </span>\n <span\n className={csx(\n \"proton-Select__trigger_icon\",\n isOpen && \"proton-Select__trigger_icon--flipped\",\n )}\n >\n <CaretDownIcon size={16} />\n </span>\n </button>\n );\n },\n);\n\nSelectButton.displayName = \"ProtonUISelectButton\";\n\nexport interface SelectItem {\n /** The label to display for the item */\n label: string;\n\n /** The key of the item */\n key: string;\n\n /** The URL to navigate to when the item is clicked, turns item into an a tag */\n to?: string;\n}\n\nexport interface SelectProps {\n /** Array of keys that should be disabled\n * @example [\"Thing 1\", \"Thing 2\"]\n */\n disabledKeys?: string[];\n\n /** The key of the default selected item */\n defaultSelectedKey?: string;\n\n /** Test ID for the select */\n \"data-testid\"?: string;\n\n /** Whether the select is disabled */\n isDisabled?: boolean;\n\n /** Array of items to display\n * @example [{ key: \"thing-1\", label: \"Thing 1\" }, { key: \"thing-2\", label: \"Thing 2\" }]\n * @see {@link SelectItem}\n */\n items: SelectItem[];\n\n /** Whether the select button is rounded\n * @default false\n */\n isRounded?: boolean;\n\n /** Label to display above the select\n * @external https://developer.mozilla.org/en-US/docs/Web/HTML/Element/label#text\n */\n label?: string;\n\n /** The name of the select field */\n name: string;\n\n /** Callback fired when the menu closes */\n onClose?: () => void;\n\n /** Callback fired when the menu opens */\n onOpen?: () => void;\n\n /** Callback fired when selection changes */\n onSelectionChange?: (key: string) => void;\n\n /** Currently selected key */\n selectedKey?: string;\n}\n\n/**\n * A dropdown select menu that opens a popover on desktop and an action menu on mobile/touch devices.\n * Supports controlled and uncontrolled modes.\n *\n * API:\n * - {@link SelectProps}\n */\nexport function Select({\n label,\n name,\n isDisabled,\n disabledKeys,\n selectedKey,\n onSelectionChange,\n defaultSelectedKey,\n onOpen,\n onClose,\n items,\n isRounded = false,\n \"data-testid\": testId,\n}: SelectProps) {\n const [isOpen, setIsOpen] = useState(false);\n const isControlled = selectedKey !== undefined;\n const [internalSelectedKey, setInternalSelectedKey] = useState(\n defaultSelectedKey ?? \"\",\n );\n const { className: themeClass, style: themeStyle } = useTheme();\n const isMobile = useBreakpoint(BREAKPOINTS.MEDIUM);\n const triggerRef = useRef<HTMLButtonElement>(null);\n const hiddenInputRef = useRef<HTMLInputElement>(null);\n\n // Handle controlled vs uncontrolled state\n const currentSelectedKey = isControlled\n ? (selectedKey as string)\n : internalSelectedKey;\n const selectedItem = items.find((item) => item.key === currentSelectedKey);\n\n const handleValueChange = (value: string) => {\n if (!isControlled) {\n setInternalSelectedKey(value);\n }\n onSelectionChange?.(value);\n\n // Update hidden input for form submission\n if (hiddenInputRef.current) {\n hiddenInputRef.current.value = value;\n hiddenInputRef.current.dispatchEvent(\n new Event(\"change\", { bubbles: true }),\n );\n }\n };\n\n const handleOpenChange = (open: boolean) => {\n setIsOpen(open);\n if (open) {\n onOpen?.();\n } else {\n onClose?.();\n }\n };\n\n // Update internal state when controlled selectedKey changes\n useEffect(() => {\n if (isControlled) {\n setInternalSelectedKey(selectedKey);\n }\n }, [isControlled]);\n\n const actionItems: ActionMenuAction[] = items.map((item) => ({\n key: item.key,\n label: item.label,\n to: item.to,\n onAction: () => {\n handleValueChange(item.key);\n setIsOpen(false);\n },\n }));\n\n if (isMobile) {\n return (\n <div\n className=\"proton-Select\"\n aria-label={label || name}\n aria-disabled={isDisabled}\n >\n {label && (\n <div className=\"proton-Select__label\" data-testid=\"select-label\">\n {label}\n </div>\n )}\n\n {/* Hidden input for form submission */}\n <input\n ref={hiddenInputRef}\n type=\"hidden\"\n name={name}\n value={currentSelectedKey}\n data-testid=\"hidden-select-container\"\n />\n\n <SelectButton\n isOpen={isOpen}\n isRounded={isRounded}\n ref={triggerRef}\n disabled={isDisabled}\n ariaLabel={label || name}\n data-testid={testId}\n onClick={() => setIsOpen(true)}\n selectedItem={selectedItem}\n />\n\n <ActionMenu\n isOpen={isOpen}\n onClose={() => setIsOpen(false)}\n actions={actionItems}\n selectedKeys={[currentSelectedKey]}\n disabledKeys={disabledKeys}\n />\n </div>\n );\n }\n\n return (\n <div\n className=\"proton-Select\"\n aria-label={label || name}\n aria-disabled={isDisabled}\n >\n {label && (\n <div className=\"proton-Select__label\" data-testid=\"select-label\">\n {label}\n </div>\n )}\n\n {/* Hidden input for form submission */}\n <input\n ref={hiddenInputRef}\n type=\"hidden\"\n name={name}\n value={currentSelectedKey}\n data-testid=\"hidden-select-container\"\n />\n\n <RadixSelect.Root\n value={currentSelectedKey}\n onValueChange={handleValueChange}\n onOpenChange={handleOpenChange}\n disabled={isDisabled}\n >\n <RadixSelect.Trigger asChild>\n <SelectButton\n isRounded={isRounded}\n isOpen={isOpen}\n ref={triggerRef}\n disabled={isDisabled}\n ariaLabel={label || name}\n data-testid={testId}\n selectedItem={selectedItem}\n />\n </RadixSelect.Trigger>\n\n <RadixSelect.Portal>\n <RadixSelect.Content\n className={csx(\n \"proton-Menu\",\n \"proton-MenuTrigger__menu\",\n \"proton-Elevation--glass\",\n themeClass,\n )}\n style={themeStyle as CSSProperties}\n position=\"popper\"\n >\n <RadixSelect.Viewport>\n {items.map((item) => (\n <RadixSelect.Item\n key={item.key}\n value={item.key}\n disabled={disabledKeys?.includes(item.key)}\n className=\"proton-Menu__item\"\n >\n <RadixSelect.ItemText>{item.label}</RadixSelect.ItemText>\n </RadixSelect.Item>\n ))}\n </RadixSelect.Viewport>\n </RadixSelect.Content>\n </RadixSelect.Portal>\n </RadixSelect.Root>\n </div>\n );\n}\n\nSelect.displayName = \"ProtonUISelect\";\n"],"names":["SelectButton","forwardRef","disabled","isOpen","onClick","isRounded","selectedItem","ariaLabel","testId","ref","jsxs","csx","jsx","CaretDownIcon","Select","label","name","isDisabled","disabledKeys","selectedKey","onSelectionChange","defaultSelectedKey","onOpen","onClose","items","setIsOpen","useState","isControlled","internalSelectedKey","setInternalSelectedKey","themeClass","themeStyle","useTheme","isMobile","useBreakpoint","BREAKPOINTS","triggerRef","useRef","hiddenInputRef","currentSelectedKey","item","handleValueChange","value","handleOpenChange","open","useEffect","actionItems","ActionMenu","RadixSelect"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../node_modules/react/jsx-runtime.cjs.js"),r=require("react"),a=require("../../node_modules/@react-aria/switch/dist/useSwitch.cjs.js"),d=require("../../node_modules/@react-aria/visually-hidden/dist/VisuallyHidden.cjs.js"),c=require("../../node_modules/@react-stately/toggle/dist/useToggleState.cjs.js");;/* empty css */const o=require("../../utils/string.cjs.js");function u(e){let s={...e,isSelected:e.isOn,"data-testid":void 0},l=r.useRef(null),i=c.useToggleState(s),{inputProps:n}=a.useSwitch(s,i,l);return t.jsxRuntimeExports.jsxs("label",{className:o.csx("proton-Switch",e.isDisabled&&"proton-Switch--disabled",i.isSelected&&"proton-Switch--on"),"data-on":i.isSelected||void 0,"data-disabled":e.isDisabled||void 0,"data-testid":e["data-testid"]||void 0,"aria-label":e.label||void 0,children:[t.jsxRuntimeExports.jsx(d.VisuallyHidden,{children:t.jsxRuntimeExports.jsx("input",{...n,ref:l})}),e.label&&t.jsxRuntimeExports.jsx("div",{className:"proton-Switch__label",children:e.label}),t.jsxRuntimeExports.jsxs("div",{className:"proton-Switch__wrapper",children:[t.jsxRuntimeExports.jsx("div",{className:"proton-Switch__toggle",children:t.jsxRuntimeExports.jsx("div",{className:"proton-Switch__slider"})}),e.children&&t.jsxRuntimeExports.jsx("div",{className:"proton-Switch__description",children:e.children})]})]})}exports.Switch=u;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../node_modules/react/jsx-runtime.cjs.js"),x=require("react"),S=require("radix-ui");;/* empty css */const w=require("../../utils/string.cjs.js");function v({defaultOn:p,isOn:n,isDisabled:s,onChange:i,label:e,children:o,"data-testid":u}){const c=n!==void 0,[l,j]=x.useState(p||!1),r=c?!!n:l,d=x.useId(),m={type:"checkbox",role:"switch",checked:r,disabled:s,"aria-label":e||void 0,"aria-describedby":o?d:void 0,onChange:h=>{if(s)return;const a=h.target.checked;c||j(a),i==null||i(a)}};return t.jsxRuntimeExports.jsx("div",{className:w.csx("proton-Switch",s&&"proton-Switch--disabled",r&&"proton-Switch--on"),"data-on":r||void 0,"data-disabled":s||void 0,"data-testid":u||void 0,children:t.jsxRuntimeExports.jsxs("label",{className:"proton-Switch__control",children:[t.jsxRuntimeExports.jsx(S.VisuallyHidden.Root,{children:t.jsxRuntimeExports.jsx("input",{...m})}),e&&t.jsxRuntimeExports.jsx("span",{className:"proton-Switch__label",children:e}),t.jsxRuntimeExports.jsxs("div",{className:"proton-Switch__wrapper",children:[t.jsxRuntimeExports.jsx("div",{className:"proton-Switch__toggle",children:t.jsxRuntimeExports.jsx("div",{className:"proton-Switch__slider"})}),o&&t.jsxRuntimeExports.jsx("div",{id:d,className:"proton-Switch__description",children:o})]})]})})}exports.Switch=v;
2
2
  //# sourceMappingURL=Switch.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Switch.cjs.js","sources":["../../../src/components/Switch/Switch.tsx"],"sourcesContent":["\"use client\";\n\nimport { useRef } from \"react\";\nimport { useSwitch } from \"@react-aria/switch\";\nimport { VisuallyHidden } from \"@react-aria/visually-hidden\";\nimport { useToggleState } from \"@react-stately/toggle\";\n\nimport { csx } from \"../../utils\";\n\nimport \"./Switch.css\";\n\nexport interface SwitchProps {\n /**\n * Whether the Switch is in the 'on' state (uncontrolled).\n */\n defaultOn?: boolean;\n\n /**\n * Whether the Switch is in the 'on' state. Providing this prop causes the\n * component to become controlled.\n */\n isOn?: boolean;\n\n /**\n * Should the input be non-interactive?\n */\n isDisabled?: boolean;\n\n /**\n * Called when the Switch's on state changes.\n */\n onChange?: (isOn: boolean) => void;\n\n /**\n * The string used for the input label. Forwarded to `aria-label`.\n */\n label?: string;\n\n /**\n * The text or component to be rendered as the Switch's description.\n */\n children?: React.ReactNode;\n}\n\n/**\n * A toggle switch component for boolean state control with support for controlled and uncontrolled modes.\n *\n * API:\n * - {@link SwitchProps}\n */\nexport function Switch(props: SwitchProps) {\n let sanitizedProps = {\n ...props,\n isSelected: props.isOn,\n \"data-testid\": undefined,\n };\n\n let ref = useRef(null);\n\n let state = useToggleState(sanitizedProps);\n let { inputProps } = useSwitch(sanitizedProps, state, ref);\n\n return (\n <label\n className={csx(\n \"proton-Switch\",\n props.isDisabled && \"proton-Switch--disabled\",\n state.isSelected && \"proton-Switch--on\"\n )}\n data-on={state.isSelected || undefined}\n data-disabled={props.isDisabled || undefined}\n data-testid={props[\"data-testid\"] || undefined}\n aria-label={props.label || undefined}\n >\n <VisuallyHidden>\n <input {...inputProps} ref={ref} />\n </VisuallyHidden>\n {props.label && <div className=\"proton-Switch__label\">{props.label}</div>}\n <div className=\"proton-Switch__wrapper\">\n <div className=\"proton-Switch__toggle\">\n <div className=\"proton-Switch__slider\"></div>\n </div>\n {props.children && (\n <div className=\"proton-Switch__description\">{props.children}</div>\n )}\n </div>\n </label>\n );\n}\n"],"names":["Switch","props","sanitizedProps","ref","useRef","state","useToggleState","inputProps","useSwitch","jsxs","csx","jsx","VisuallyHidden"],"mappings":"+dAkDO,SAASA,EAAOC,EAAoB,CACzC,IAAIC,EAAiB,CACnB,GAAGD,EACH,WAAYA,EAAM,KAClB,cAAe,MAAA,EAGbE,EAAMC,SAAO,IAAI,EAEjBC,EAAQC,iBAAeJ,CAAc,EACrC,CAAE,WAAAK,CAAW,EAAIC,EAAAA,UAAUN,EAAgBG,EAAOF,CAAG,EAGvD,OAAAM,EAAA,kBAAA,KAAC,QAAA,CACC,UAAWC,EAAA,IACT,gBACAT,EAAM,YAAc,0BACpBI,EAAM,YAAc,mBACtB,EACA,UAASA,EAAM,YAAc,OAC7B,gBAAeJ,EAAM,YAAc,OACnC,cAAaA,EAAM,aAAa,GAAK,OACrC,aAAYA,EAAM,OAAS,OAE3B,SAAA,CAAAU,wBAACC,EAAAA,gBACC,SAACD,EAAA,kBAAA,IAAA,QAAA,CAAO,GAAGJ,EAAY,IAAAJ,CAAU,CAAA,EACnC,EACCF,EAAM,OAASU,EAAA,kBAAA,IAAC,OAAI,UAAU,uBAAwB,WAAM,MAAM,EACnEF,EAAAA,kBAAAA,KAAC,MAAI,CAAA,UAAU,yBACb,SAAA,CAAAE,EAAAA,kBAAAA,IAAC,OAAI,UAAU,wBACb,iCAAC,MAAI,CAAA,UAAU,wBAAwB,CACzC,CAAA,EACCV,EAAM,UACLU,EAAA,kBAAA,IAAC,OAAI,UAAU,6BAA8B,WAAM,SAAS,CAAA,EAEhE,CAAA,CAAA,CAAA,CAGN"}
1
+ {"version":3,"file":"Switch.cjs.js","sources":["../../../src/components/Switch/Switch.tsx"],"sourcesContent":["\"use client\";\n\nimport { useId, useState, type ChangeEvent } from \"react\";\nimport { VisuallyHidden } from \"radix-ui\";\n\nimport { csx } from \"../../utils\";\n\nimport \"./Switch.css\";\n\nexport interface SwitchProps {\n /**\n * Whether the Switch is in the 'on' state (uncontrolled).\n */\n defaultOn?: boolean;\n /**\n * Whether the Switch is in the 'on' state. Providing this prop causes the\n * component to become controlled.\n */\n isOn?: boolean;\n /**\n * Should the input be non-interactive?\n */\n isDisabled?: boolean;\n /**\n * Called when the Switch's on state changes.\n */\n onChange?: (isOn: boolean) => void;\n /**\n * The string used for the input label. Forwarded to `aria-label`.\n */\n label?: string;\n /**\n * The text or component to be rendered as the Switch's description.\n */\n children?: React.ReactNode;\n /** The test ID for the switch. */\n \"data-testid\"?: string;\n}\n\n/**\n * A toggle switch component for boolean state control with support for controlled and uncontrolled modes.\n *\n * API:\n * - {@link SwitchProps}\n */\nexport function Switch({\n defaultOn,\n isOn: controlledIsOn,\n isDisabled,\n onChange,\n label,\n children,\n \"data-testid\": testId,\n}: SwitchProps) {\n const isControlled = controlledIsOn !== undefined;\n const [internalOn, setInternalOn] = useState(defaultOn || false);\n const isOn = isControlled ? Boolean(controlledIsOn) : internalOn;\n const descriptionId = useId();\n\n const inputProps = {\n type: \"checkbox\" as const,\n role: \"switch\" as const,\n checked: isOn,\n disabled: isDisabled,\n \"aria-label\": label || undefined,\n \"aria-describedby\": children ? descriptionId : undefined,\n onChange: (e: ChangeEvent<HTMLInputElement>) => {\n if (isDisabled) return;\n const next = e.target.checked;\n if (!isControlled) setInternalOn(next);\n onChange?.(next);\n },\n };\n\n return (\n <div\n className={csx(\n \"proton-Switch\",\n isDisabled && \"proton-Switch--disabled\",\n isOn && \"proton-Switch--on\",\n )}\n data-on={isOn || undefined}\n data-disabled={isDisabled || undefined}\n data-testid={testId || undefined}\n >\n <label className=\"proton-Switch__control\">\n <VisuallyHidden.Root>\n <input {...inputProps} />\n </VisuallyHidden.Root>\n {label && <span className=\"proton-Switch__label\">{label}</span>}\n <div className=\"proton-Switch__wrapper\">\n <div className=\"proton-Switch__toggle\">\n <div className=\"proton-Switch__slider\" />\n </div>\n {children && (\n <div id={descriptionId} className=\"proton-Switch__description\">\n {children}\n </div>\n )}\n </div>\n </label>\n </div>\n );\n}\n"],"names":["Switch","defaultOn","controlledIsOn","isDisabled","onChange","label","children","testId","isControlled","internalOn","setInternalOn","useState","isOn","descriptionId","useId","inputProps","e","next","jsx","csx","jsxs","VisuallyHidden"],"mappings":"oQA6CO,SAASA,EAAO,CACrB,UAAAC,EACA,KAAMC,EACN,WAAAC,EACA,SAAAC,EACA,MAAAC,EACA,SAAAC,EACA,cAAeC,CACjB,EAAgB,CACd,MAAMC,EAAeN,IAAmB,OAClC,CAACO,EAAYC,CAAa,EAAIC,EAAAA,SAASV,GAAa,EAAK,EACzDW,EAAOJ,EAAe,EAAQN,EAAkBO,EAChDI,EAAgBC,EAAAA,MAAA,EAEhBC,EAAa,CACjB,KAAM,WACN,KAAM,SACN,QAASH,EACT,SAAUT,EACV,aAAcE,GAAS,OACvB,mBAAoBC,EAAWO,EAAgB,OAC/C,SAAWG,GAAqC,CAC9C,GAAIb,EAAY,OAChB,MAAMc,EAAOD,EAAE,OAAO,QACjBR,GAAcE,EAAcO,CAAI,EACrCb,GAAA,MAAAA,EAAWa,EACb,CAAA,EAGF,OACEC,EAAAA,kBAAAA,IAAC,MAAA,CACC,UAAWC,EAAAA,IACT,gBACAhB,GAAc,0BACdS,GAAQ,mBAAA,EAEV,UAASA,GAAQ,OACjB,gBAAeT,GAAc,OAC7B,cAAaI,GAAU,OAEvB,SAAAa,EAAAA,kBAAAA,KAAC,QAAA,CAAM,UAAU,yBACf,SAAA,CAAAF,wBAACG,EAAAA,eAAe,KAAf,CACC,iCAAC,QAAA,CAAO,GAAGN,EAAY,EACzB,EACCV,GAASa,EAAAA,kBAAAA,IAAC,OAAA,CAAK,UAAU,uBAAwB,SAAAb,EAAM,EACxDe,EAAAA,kBAAAA,KAAC,MAAA,CAAI,UAAU,yBACb,SAAA,CAAAF,EAAAA,kBAAAA,IAAC,OAAI,UAAU,wBACb,iCAAC,MAAA,CAAI,UAAU,wBAAwB,CAAA,CACzC,EACCZ,GACCY,EAAAA,kBAAAA,IAAC,MAAA,CAAI,GAAIL,EAAe,UAAU,6BAC/B,SAAAP,CAAA,CACH,CAAA,CAAA,CAEJ,CAAA,CAAA,CACF,CAAA,CAAA,CAGN"}
@@ -1,40 +1,53 @@
1
- import { j as i } from "../../node_modules/react/jsx-runtime.es.js";
2
- import { useRef as s } from "react";
3
- import { useSwitch as c } from "../../node_modules/@react-aria/switch/dist/useSwitch.es.js";
4
- import { VisuallyHidden as o } from "../../node_modules/@react-aria/visually-hidden/dist/VisuallyHidden.es.js";
5
- import { useToggleState as r } from "../../node_modules/@react-stately/toggle/dist/useToggleState.es.js";
1
+ import { j as t } from "../../node_modules/react/jsx-runtime.es.js";
2
+ import { useState as _, useId as j } from "react";
3
+ import { VisuallyHidden as v } from "radix-ui";
6
4
  /* empty css */
7
- import { csx as n } from "../../utils/string.es.js";
8
- function j(e) {
9
- let a = {
10
- ...e,
11
- isSelected: e.isOn,
12
- "data-testid": void 0
13
- }, d = s(null), t = r(a), { inputProps: l } = c(a, t, d);
14
- return /* @__PURE__ */ i.jsxs(
15
- "label",
5
+ import { csx as S } from "../../utils/string.es.js";
6
+ function y({
7
+ defaultOn: p,
8
+ isOn: c,
9
+ isDisabled: o,
10
+ onChange: i,
11
+ label: s,
12
+ children: r,
13
+ "data-testid": l
14
+ }) {
15
+ const d = c !== void 0, [m, h] = _(p || !1), e = d ? !!c : m, n = j(), x = {
16
+ type: "checkbox",
17
+ role: "switch",
18
+ checked: e,
19
+ disabled: o,
20
+ "aria-label": s || void 0,
21
+ "aria-describedby": r ? n : void 0,
22
+ onChange: (w) => {
23
+ if (o) return;
24
+ const a = w.target.checked;
25
+ d || h(a), i == null || i(a);
26
+ }
27
+ };
28
+ return /* @__PURE__ */ t.jsx(
29
+ "div",
16
30
  {
17
- className: n(
31
+ className: S(
18
32
  "proton-Switch",
19
- e.isDisabled && "proton-Switch--disabled",
20
- t.isSelected && "proton-Switch--on"
33
+ o && "proton-Switch--disabled",
34
+ e && "proton-Switch--on"
21
35
  ),
22
- "data-on": t.isSelected || void 0,
23
- "data-disabled": e.isDisabled || void 0,
24
- "data-testid": e["data-testid"] || void 0,
25
- "aria-label": e.label || void 0,
26
- children: [
27
- /* @__PURE__ */ i.jsx(o, { children: /* @__PURE__ */ i.jsx("input", { ...l, ref: d }) }),
28
- e.label && /* @__PURE__ */ i.jsx("div", { className: "proton-Switch__label", children: e.label }),
29
- /* @__PURE__ */ i.jsxs("div", { className: "proton-Switch__wrapper", children: [
30
- /* @__PURE__ */ i.jsx("div", { className: "proton-Switch__toggle", children: /* @__PURE__ */ i.jsx("div", { className: "proton-Switch__slider" }) }),
31
- e.children && /* @__PURE__ */ i.jsx("div", { className: "proton-Switch__description", children: e.children })
36
+ "data-on": e || void 0,
37
+ "data-disabled": o || void 0,
38
+ "data-testid": l || void 0,
39
+ children: /* @__PURE__ */ t.jsxs("label", { className: "proton-Switch__control", children: [
40
+ /* @__PURE__ */ t.jsx(v.Root, { children: /* @__PURE__ */ t.jsx("input", { ...x }) }),
41
+ s && /* @__PURE__ */ t.jsx("span", { className: "proton-Switch__label", children: s }),
42
+ /* @__PURE__ */ t.jsxs("div", { className: "proton-Switch__wrapper", children: [
43
+ /* @__PURE__ */ t.jsx("div", { className: "proton-Switch__toggle", children: /* @__PURE__ */ t.jsx("div", { className: "proton-Switch__slider" }) }),
44
+ r && /* @__PURE__ */ t.jsx("div", { id: n, className: "proton-Switch__description", children: r })
32
45
  ] })
33
- ]
46
+ ] })
34
47
  }
35
48
  );
36
49
  }
37
50
  export {
38
- j as Switch
51
+ y as Switch
39
52
  };
40
53
  //# sourceMappingURL=Switch.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Switch.es.js","sources":["../../../src/components/Switch/Switch.tsx"],"sourcesContent":["\"use client\";\n\nimport { useRef } from \"react\";\nimport { useSwitch } from \"@react-aria/switch\";\nimport { VisuallyHidden } from \"@react-aria/visually-hidden\";\nimport { useToggleState } from \"@react-stately/toggle\";\n\nimport { csx } from \"../../utils\";\n\nimport \"./Switch.css\";\n\nexport interface SwitchProps {\n /**\n * Whether the Switch is in the 'on' state (uncontrolled).\n */\n defaultOn?: boolean;\n\n /**\n * Whether the Switch is in the 'on' state. Providing this prop causes the\n * component to become controlled.\n */\n isOn?: boolean;\n\n /**\n * Should the input be non-interactive?\n */\n isDisabled?: boolean;\n\n /**\n * Called when the Switch's on state changes.\n */\n onChange?: (isOn: boolean) => void;\n\n /**\n * The string used for the input label. Forwarded to `aria-label`.\n */\n label?: string;\n\n /**\n * The text or component to be rendered as the Switch's description.\n */\n children?: React.ReactNode;\n}\n\n/**\n * A toggle switch component for boolean state control with support for controlled and uncontrolled modes.\n *\n * API:\n * - {@link SwitchProps}\n */\nexport function Switch(props: SwitchProps) {\n let sanitizedProps = {\n ...props,\n isSelected: props.isOn,\n \"data-testid\": undefined,\n };\n\n let ref = useRef(null);\n\n let state = useToggleState(sanitizedProps);\n let { inputProps } = useSwitch(sanitizedProps, state, ref);\n\n return (\n <label\n className={csx(\n \"proton-Switch\",\n props.isDisabled && \"proton-Switch--disabled\",\n state.isSelected && \"proton-Switch--on\"\n )}\n data-on={state.isSelected || undefined}\n data-disabled={props.isDisabled || undefined}\n data-testid={props[\"data-testid\"] || undefined}\n aria-label={props.label || undefined}\n >\n <VisuallyHidden>\n <input {...inputProps} ref={ref} />\n </VisuallyHidden>\n {props.label && <div className=\"proton-Switch__label\">{props.label}</div>}\n <div className=\"proton-Switch__wrapper\">\n <div className=\"proton-Switch__toggle\">\n <div className=\"proton-Switch__slider\"></div>\n </div>\n {props.children && (\n <div className=\"proton-Switch__description\">{props.children}</div>\n )}\n </div>\n </label>\n );\n}\n"],"names":["Switch","props","sanitizedProps","ref","useRef","state","useToggleState","inputProps","useSwitch","jsxs","csx","jsx","VisuallyHidden"],"mappings":";;;;;;;AAkDO,SAASA,EAAOC,GAAoB;AACzC,MAAIC,IAAiB;AAAA,IACnB,GAAGD;AAAA,IACH,YAAYA,EAAM;AAAA,IAClB,eAAe;AAAA,EAAA,GAGbE,IAAMC,EAAO,IAAI,GAEjBC,IAAQC,EAAeJ,CAAc,GACrC,EAAE,YAAAK,EAAW,IAAIC,EAAUN,GAAgBG,GAAOF,CAAG;AAGvD,SAAAM,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACT;AAAA,QACAT,EAAM,cAAc;AAAA,QACpBI,EAAM,cAAc;AAAA,MACtB;AAAA,MACA,WAASA,EAAM,cAAc;AAAA,MAC7B,iBAAeJ,EAAM,cAAc;AAAA,MACnC,eAAaA,EAAM,aAAa,KAAK;AAAA,MACrC,cAAYA,EAAM,SAAS;AAAA,MAE3B,UAAA;AAAA,QAAAU,gBAAAA,MAACC,KACC,UAACD,gBAAAA,EAAA,IAAA,SAAA,EAAO,GAAGJ,GAAY,KAAAJ,EAAU,CAAA,GACnC;AAAA,QACCF,EAAM,SAASU,gBAAAA,EAAA,IAAC,SAAI,WAAU,wBAAwB,YAAM,OAAM;AAAA,QACnEF,gBAAAA,EAAAA,KAAC,OAAI,EAAA,WAAU,0BACb,UAAA;AAAA,UAAAE,gBAAAA,EAAAA,IAAC,SAAI,WAAU,yBACb,gCAAC,OAAI,EAAA,WAAU,yBAAwB,EACzC,CAAA;AAAA,UACCV,EAAM,YACLU,gBAAAA,EAAA,IAAC,SAAI,WAAU,8BAA8B,YAAM,UAAS;AAAA,QAAA,GAEhE;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN;"}
1
+ {"version":3,"file":"Switch.es.js","sources":["../../../src/components/Switch/Switch.tsx"],"sourcesContent":["\"use client\";\n\nimport { useId, useState, type ChangeEvent } from \"react\";\nimport { VisuallyHidden } from \"radix-ui\";\n\nimport { csx } from \"../../utils\";\n\nimport \"./Switch.css\";\n\nexport interface SwitchProps {\n /**\n * Whether the Switch is in the 'on' state (uncontrolled).\n */\n defaultOn?: boolean;\n /**\n * Whether the Switch is in the 'on' state. Providing this prop causes the\n * component to become controlled.\n */\n isOn?: boolean;\n /**\n * Should the input be non-interactive?\n */\n isDisabled?: boolean;\n /**\n * Called when the Switch's on state changes.\n */\n onChange?: (isOn: boolean) => void;\n /**\n * The string used for the input label. Forwarded to `aria-label`.\n */\n label?: string;\n /**\n * The text or component to be rendered as the Switch's description.\n */\n children?: React.ReactNode;\n /** The test ID for the switch. */\n \"data-testid\"?: string;\n}\n\n/**\n * A toggle switch component for boolean state control with support for controlled and uncontrolled modes.\n *\n * API:\n * - {@link SwitchProps}\n */\nexport function Switch({\n defaultOn,\n isOn: controlledIsOn,\n isDisabled,\n onChange,\n label,\n children,\n \"data-testid\": testId,\n}: SwitchProps) {\n const isControlled = controlledIsOn !== undefined;\n const [internalOn, setInternalOn] = useState(defaultOn || false);\n const isOn = isControlled ? Boolean(controlledIsOn) : internalOn;\n const descriptionId = useId();\n\n const inputProps = {\n type: \"checkbox\" as const,\n role: \"switch\" as const,\n checked: isOn,\n disabled: isDisabled,\n \"aria-label\": label || undefined,\n \"aria-describedby\": children ? descriptionId : undefined,\n onChange: (e: ChangeEvent<HTMLInputElement>) => {\n if (isDisabled) return;\n const next = e.target.checked;\n if (!isControlled) setInternalOn(next);\n onChange?.(next);\n },\n };\n\n return (\n <div\n className={csx(\n \"proton-Switch\",\n isDisabled && \"proton-Switch--disabled\",\n isOn && \"proton-Switch--on\",\n )}\n data-on={isOn || undefined}\n data-disabled={isDisabled || undefined}\n data-testid={testId || undefined}\n >\n <label className=\"proton-Switch__control\">\n <VisuallyHidden.Root>\n <input {...inputProps} />\n </VisuallyHidden.Root>\n {label && <span className=\"proton-Switch__label\">{label}</span>}\n <div className=\"proton-Switch__wrapper\">\n <div className=\"proton-Switch__toggle\">\n <div className=\"proton-Switch__slider\" />\n </div>\n {children && (\n <div id={descriptionId} className=\"proton-Switch__description\">\n {children}\n </div>\n )}\n </div>\n </label>\n </div>\n );\n}\n"],"names":["Switch","defaultOn","controlledIsOn","isDisabled","onChange","label","children","testId","isControlled","internalOn","setInternalOn","useState","isOn","descriptionId","useId","inputProps","e","next","jsx","csx","jsxs","VisuallyHidden"],"mappings":";;;;;AA6CO,SAASA,EAAO;AAAA,EACrB,WAAAC;AAAA,EACA,MAAMC;AAAA,EACN,YAAAC;AAAA,EACA,UAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,eAAeC;AACjB,GAAgB;AACd,QAAMC,IAAeN,MAAmB,QAClC,CAACO,GAAYC,CAAa,IAAIC,EAASV,KAAa,EAAK,GACzDW,IAAOJ,IAAe,EAAQN,IAAkBO,GAChDI,IAAgBC,EAAA,GAEhBC,IAAa;AAAA,IACjB,MAAM;AAAA,IACN,MAAM;AAAA,IACN,SAASH;AAAA,IACT,UAAUT;AAAA,IACV,cAAcE,KAAS;AAAA,IACvB,oBAAoBC,IAAWO,IAAgB;AAAA,IAC/C,UAAU,CAACG,MAAqC;AAC9C,UAAIb,EAAY;AAChB,YAAMc,IAAOD,EAAE,OAAO;AACtB,MAAKR,KAAcE,EAAcO,CAAI,GACrCb,KAAA,QAAAA,EAAWa;AAAA,IACb;AAAA,EAAA;AAGF,SACEC,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACT;AAAA,QACAhB,KAAc;AAAA,QACdS,KAAQ;AAAA,MAAA;AAAA,MAEV,WAASA,KAAQ;AAAA,MACjB,iBAAeT,KAAc;AAAA,MAC7B,eAAaI,KAAU;AAAA,MAEvB,UAAAa,gBAAAA,EAAAA,KAAC,SAAA,EAAM,WAAU,0BACf,UAAA;AAAA,QAAAF,gBAAAA,MAACG,EAAe,MAAf,EACC,gCAAC,SAAA,EAAO,GAAGN,GAAY,GACzB;AAAA,QACCV,KAASa,gBAAAA,EAAAA,IAAC,QAAA,EAAK,WAAU,wBAAwB,UAAAb,GAAM;AAAA,QACxDe,gBAAAA,EAAAA,KAAC,OAAA,EAAI,WAAU,0BACb,UAAA;AAAA,UAAAF,gBAAAA,EAAAA,IAAC,SAAI,WAAU,yBACb,gCAAC,OAAA,EAAI,WAAU,yBAAwB,EAAA,CACzC;AAAA,UACCZ,KACCY,gBAAAA,EAAAA,IAAC,OAAA,EAAI,IAAIL,GAAe,WAAU,8BAC/B,UAAAP,EAAA,CACH;AAAA,QAAA,EAAA,CAEJ;AAAA,MAAA,EAAA,CACF;AAAA,IAAA;AAAA,EAAA;AAGN;"}
@@ -1 +1 @@
1
- {"version":3,"file":"CompoundComponents.cjs.js","sources":["../../../../../src/components/Table/BaseTable/Collection/CompoundComponents.tsx"],"sourcesContent":["import { AriaAttributes, ReactElement, ReactNode } from \"react\";\n\n/*\n Compound reference components used to build the table collection.\n They are not rendered, but used to parse the table structure.\n*/\n\ntype TableColumnElement = ReactElement<\n TableColumnProps,\n typeof TableColumnCompound\n>;\ntype TableRowElement = ReactElement<TableRowProps, typeof TableRowCompound>;\ntype TableCellElement = ReactElement<TableCellProps, typeof TableCellCompound>;\n\nexport interface TableHeaderProps {\n children: TableColumnElement | TableColumnElement[];\n isHidden?: boolean;\n \"data-testid\"?: string;\n}\n\nexport interface TableColumnProps {\n id: string;\n children: ReactNode;\n \"aria-sort\"?: AriaAttributes[\"aria-sort\"];\n}\n\nexport interface TableBodyProps {\n children: TableRowElement | TableRowElement[] | ReactElement | ReactElement[];\n}\n\nexport interface TableRowProps {\n key?: string | number;\n children: TableCellElement | TableCellElement[];\n onClick?: () => void;\n \"data-testid\"?: string;\n}\n\nexport interface TableCellProps {\n columnKey?: string;\n children?: ReactNode;\n colSpan?: number;\n \"data-testid\"?: string;\n textAlign?: \"left\" | \"center\" | \"right\";\n}\n\n// Type-safe component definitions that enforce proper children\nexport const TableHeaderCompound = (_: TableHeaderProps) => {\n return null; // This is just a marker component for parsing\n};\n\nexport const TableColumnCompound = (_: TableColumnProps) => {\n return null; // This is just a marker component for parsing\n};\n\nexport const TableBodyCompound = (_: TableBodyProps) => {\n return null; // This is just a marker component for parsing\n};\n\nexport const TableRowCompound = (_: TableRowProps) => {\n return null; // This is just a marker component for parsing\n};\n\nexport const TableCellCompound = (_: TableCellProps) => {\n return null; // This is just a marker component for parsing\n};\n"],"names":["TableHeaderCompound","_","TableColumnCompound","TableBodyCompound","TableRowCompound","TableCellCompound"],"mappings":"gFA8Ca,MAAAA,EAAuBC,GAC3B,KAGIC,EAAuBD,GAC3B,KAGIE,EAAqBF,GACzB,KAGIG,EAAoBH,GACxB,KAGII,EAAqBJ,GACzB"}
1
+ {"version":3,"file":"CompoundComponents.cjs.js","sources":["../../../../../src/components/Table/BaseTable/Collection/CompoundComponents.tsx"],"sourcesContent":["import { AriaAttributes, ReactElement, ReactNode } from \"react\";\n\n/*\n Compound reference components used to build the table collection.\n They are not rendered, but used to parse the table structure.\n*/\n\ntype TableColumnElement = ReactElement<\n TableColumnProps,\n typeof TableColumnCompound\n>;\ntype TableRowElement = ReactElement<TableRowProps, typeof TableRowCompound>;\ntype TableCellElement = ReactElement<TableCellProps, typeof TableCellCompound>;\n\nexport interface TableHeaderProps {\n children: TableColumnElement | TableColumnElement[];\n isHidden?: boolean;\n \"data-testid\"?: string;\n}\n\nexport interface TableColumnProps {\n id: string;\n children: ReactNode;\n \"aria-sort\"?: AriaAttributes[\"aria-sort\"];\n}\n\nexport interface TableBodyProps {\n children: TableRowElement | TableRowElement[] | ReactElement | ReactElement[];\n}\n\nexport interface TableRowProps {\n key?: string | number;\n children: TableCellElement | TableCellElement[];\n onClick?: () => void;\n \"data-testid\"?: string;\n}\n\nexport interface TableCellProps {\n columnKey?: string;\n children?: ReactNode;\n colSpan?: number;\n \"data-testid\"?: string;\n textAlign?: \"left\" | \"center\" | \"right\";\n}\n\n// Type-safe component definitions that enforce proper children\nexport const TableHeaderCompound = (_: TableHeaderProps) => {\n return null; // This is just a marker component for parsing\n};\n\nexport const TableColumnCompound = (_: TableColumnProps) => {\n return null; // This is just a marker component for parsing\n};\n\nexport const TableBodyCompound = (_: TableBodyProps) => {\n return null; // This is just a marker component for parsing\n};\n\nexport const TableRowCompound = (_: TableRowProps) => {\n return null; // This is just a marker component for parsing\n};\n\nexport const TableCellCompound = (_: TableCellProps) => {\n return null; // This is just a marker component for parsing\n};\n"],"names":["TableHeaderCompound","_","TableColumnCompound","TableBodyCompound","TableRowCompound","TableCellCompound"],"mappings":"gFA8CO,MAAMA,EAAuBC,GAC3B,KAGIC,EAAuBD,GAC3B,KAGIE,EAAqBF,GACzB,KAGIG,EAAoBH,GACxB,KAGII,EAAqBJ,GACzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"CompoundComponents.es.js","sources":["../../../../../src/components/Table/BaseTable/Collection/CompoundComponents.tsx"],"sourcesContent":["import { AriaAttributes, ReactElement, ReactNode } from \"react\";\n\n/*\n Compound reference components used to build the table collection.\n They are not rendered, but used to parse the table structure.\n*/\n\ntype TableColumnElement = ReactElement<\n TableColumnProps,\n typeof TableColumnCompound\n>;\ntype TableRowElement = ReactElement<TableRowProps, typeof TableRowCompound>;\ntype TableCellElement = ReactElement<TableCellProps, typeof TableCellCompound>;\n\nexport interface TableHeaderProps {\n children: TableColumnElement | TableColumnElement[];\n isHidden?: boolean;\n \"data-testid\"?: string;\n}\n\nexport interface TableColumnProps {\n id: string;\n children: ReactNode;\n \"aria-sort\"?: AriaAttributes[\"aria-sort\"];\n}\n\nexport interface TableBodyProps {\n children: TableRowElement | TableRowElement[] | ReactElement | ReactElement[];\n}\n\nexport interface TableRowProps {\n key?: string | number;\n children: TableCellElement | TableCellElement[];\n onClick?: () => void;\n \"data-testid\"?: string;\n}\n\nexport interface TableCellProps {\n columnKey?: string;\n children?: ReactNode;\n colSpan?: number;\n \"data-testid\"?: string;\n textAlign?: \"left\" | \"center\" | \"right\";\n}\n\n// Type-safe component definitions that enforce proper children\nexport const TableHeaderCompound = (_: TableHeaderProps) => {\n return null; // This is just a marker component for parsing\n};\n\nexport const TableColumnCompound = (_: TableColumnProps) => {\n return null; // This is just a marker component for parsing\n};\n\nexport const TableBodyCompound = (_: TableBodyProps) => {\n return null; // This is just a marker component for parsing\n};\n\nexport const TableRowCompound = (_: TableRowProps) => {\n return null; // This is just a marker component for parsing\n};\n\nexport const TableCellCompound = (_: TableCellProps) => {\n return null; // This is just a marker component for parsing\n};\n"],"names":["TableHeaderCompound","_","TableColumnCompound","TableBodyCompound","TableRowCompound","TableCellCompound"],"mappings":"AA8Ca,MAAAA,IAAsB,CAACC,MAC3B,MAGIC,IAAsB,CAACD,MAC3B,MAGIE,IAAoB,CAACF,MACzB,MAGIG,IAAmB,CAACH,MACxB,MAGII,IAAoB,CAACJ,MACzB;"}
1
+ {"version":3,"file":"CompoundComponents.es.js","sources":["../../../../../src/components/Table/BaseTable/Collection/CompoundComponents.tsx"],"sourcesContent":["import { AriaAttributes, ReactElement, ReactNode } from \"react\";\n\n/*\n Compound reference components used to build the table collection.\n They are not rendered, but used to parse the table structure.\n*/\n\ntype TableColumnElement = ReactElement<\n TableColumnProps,\n typeof TableColumnCompound\n>;\ntype TableRowElement = ReactElement<TableRowProps, typeof TableRowCompound>;\ntype TableCellElement = ReactElement<TableCellProps, typeof TableCellCompound>;\n\nexport interface TableHeaderProps {\n children: TableColumnElement | TableColumnElement[];\n isHidden?: boolean;\n \"data-testid\"?: string;\n}\n\nexport interface TableColumnProps {\n id: string;\n children: ReactNode;\n \"aria-sort\"?: AriaAttributes[\"aria-sort\"];\n}\n\nexport interface TableBodyProps {\n children: TableRowElement | TableRowElement[] | ReactElement | ReactElement[];\n}\n\nexport interface TableRowProps {\n key?: string | number;\n children: TableCellElement | TableCellElement[];\n onClick?: () => void;\n \"data-testid\"?: string;\n}\n\nexport interface TableCellProps {\n columnKey?: string;\n children?: ReactNode;\n colSpan?: number;\n \"data-testid\"?: string;\n textAlign?: \"left\" | \"center\" | \"right\";\n}\n\n// Type-safe component definitions that enforce proper children\nexport const TableHeaderCompound = (_: TableHeaderProps) => {\n return null; // This is just a marker component for parsing\n};\n\nexport const TableColumnCompound = (_: TableColumnProps) => {\n return null; // This is just a marker component for parsing\n};\n\nexport const TableBodyCompound = (_: TableBodyProps) => {\n return null; // This is just a marker component for parsing\n};\n\nexport const TableRowCompound = (_: TableRowProps) => {\n return null; // This is just a marker component for parsing\n};\n\nexport const TableCellCompound = (_: TableCellProps) => {\n return null; // This is just a marker component for parsing\n};\n"],"names":["TableHeaderCompound","_","TableColumnCompound","TableBodyCompound","TableRowCompound","TableCellCompound"],"mappings":"AA8CO,MAAMA,IAAsB,CAACC,MAC3B,MAGIC,IAAsB,CAACD,MAC3B,MAGIE,IAAoB,CAACF,MACzB,MAGIG,IAAmB,CAACH,MACxB,MAGII,IAAoB,CAACJ,MACzB;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react"),a=require("./CompoundComponents.cjs.js"),p=(t,l)=>t.type===l,h=(t,l)=>{const r=[],d=s.Children.toArray(t);for(const o of d)if(s.isValidElement(o)&&p(o,a.TableColumnCompound)){const e=o.props;r.push({key:e.id,header:e.children,isHidden:l,ariaSort:e["aria-sort"]})}return r},C=(t,l)=>{var e;const r=[],d=s.Children.toArray(t);let o=0;for(const i of d)if(s.isValidElement(i)&&p(i,a.TableCellCompound)){const n=i.props,c=n.columnKey??((e=l[o])==null?void 0:e.key);c&&r.push({columnKey:c,value:n.children,colSpan:n.colSpan,dataTestId:n["data-testid"],textAlign:n.textAlign}),o++}return r},m=t=>{const l=[],r=[],d=s.Children.toArray(t);for(const o of d)if(s.isValidElement(o)){if(p(o,a.TableHeaderCompound)){const e=o.props,i=h(e.children,e.isHidden||!1);l.push(...i);continue}if(p(o,a.TableBodyCompound)){const e=o.props,i=s.Children.toArray(e.children);for(const n of i)if(s.isValidElement(n))if(p(n,a.TableRowCompound)){const c=n.props,u=C(c.children,l);r.push({key:n.key??c.key??String(r.length),cells:u,onClick:c.onClick,dataTestId:c["data-testid"]})}else r.push(n)}}return{columns:l,rows:r}};exports.parseTableChildren=m;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react"),a=require("./CompoundComponents.cjs.js"),p=(t,l)=>t.type===l,h=(t,l)=>{const r=[],d=s.Children.toArray(t);for(const e of d)if(s.isValidElement(e)&&p(e,a.TableColumnCompound)){const o=e.props;r.push({key:o.id,header:o.children,isHidden:l,ariaSort:o["aria-sort"]})}return r},C=(t,l)=>{var o;const r=[],d=s.Children.toArray(t);let e=0;for(const i of d)if(s.isValidElement(i)&&p(i,a.TableCellCompound)){const n=i.props,c=n.columnKey??((o=l[e])==null?void 0:o.key);c&&r.push({columnKey:c,value:n.children,colSpan:n.colSpan,dataTestId:n["data-testid"],textAlign:n.textAlign}),e++}return r},m=t=>{const l=[],r=[],d=s.Children.toArray(t);for(const e of d)if(s.isValidElement(e)){if(p(e,a.TableHeaderCompound)){const o=e.props,i=h(o.children,o.isHidden||!1);l.push(...i);continue}if(p(e,a.TableBodyCompound)){const o=e.props,i=s.Children.toArray(o.children);for(const n of i)if(s.isValidElement(n))if(p(n,a.TableRowCompound)){const c=n.props,u=C(c.children,l);r.push({key:n.key??c.key??String(r.length),cells:u,onClick:c.onClick,dataTestId:c["data-testid"]})}else r.push(n)}}return{columns:l,rows:r}};exports.parseTableChildren=m;
2
2
  //# sourceMappingURL=collectionParser.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"collectionParser.cjs.js","sources":["../../../../../src/components/Table/BaseTable/Collection/collectionParser.ts"],"sourcesContent":["import {\n Children,\n isValidElement,\n ReactElement,\n ReactNode,\n ComponentType,\n} from \"react\";\n\nimport {\n TableHeaderCompound,\n TableColumnCompound,\n TableBodyCompound,\n TableRowCompound,\n TableCellCompound,\n} from \"./CompoundComponents\";\nimport type {\n TableColumnData,\n TableData,\n TableRowData,\n TableCellData,\n} from \"../types\";\n\nconst isComponentType = (\n element: ReactElement,\n componentType: ComponentType<any>,\n): boolean => element.type === componentType;\n\n/**\n * Parses columns from Table.Header children\n */\nconst parseColumns = (\n headerChildren: ReactNode,\n isHeaderHidden: boolean,\n): TableColumnData[] => {\n const columns: TableColumnData[] = [];\n const childrenArray = Children.toArray(headerChildren);\n\n for (const columnChild of childrenArray) {\n if (\n isValidElement(columnChild) &&\n isComponentType(columnChild, TableColumnCompound)\n ) {\n const columnProps = columnChild.props;\n columns.push({\n key: columnProps.id,\n header: columnProps.children,\n isHidden: isHeaderHidden,\n ariaSort: columnProps[\"aria-sort\"],\n });\n }\n }\n\n return columns;\n};\n\n/**\n * Parses cells from Table.Row children\n */\nconst parseCells = (\n rowChildren: ReactNode,\n columns: TableColumnData[],\n): TableCellData[] => {\n const cells: TableCellData[] = [];\n const childrenArray = Children.toArray(rowChildren);\n let cellIndex = 0;\n\n for (const cellChild of childrenArray) {\n if (\n isValidElement(cellChild) &&\n isComponentType(cellChild, TableCellCompound)\n ) {\n const cellProps = cellChild.props;\n const columnKey = cellProps.columnKey ?? columns[cellIndex]?.key;\n\n if (columnKey) {\n cells.push({\n columnKey,\n value: cellProps.children,\n colSpan: cellProps.colSpan,\n dataTestId: cellProps[\"data-testid\"],\n textAlign: cellProps.textAlign,\n });\n }\n cellIndex++;\n }\n }\n\n return cells;\n};\n\n/**\n * Parses JSX table structure into collection data format.\n *\n * @returns parsed table data\n * @see {@link TableData} for the parsed table data structure\n */\nexport const parseTableChildren = (children: ReactNode): TableData => {\n const columns: TableColumnData[] = [];\n const rows: (TableRowData | ReactElement)[] = [];\n const childrenArray = Children.toArray(children);\n\n for (const child of childrenArray) {\n if (!isValidElement(child)) continue;\n\n // Parse columns from header\n if (isComponentType(child, TableHeaderCompound)) {\n const headerProps = child.props;\n const parsedColumns = parseColumns(\n headerProps.children,\n headerProps.isHidden || false,\n );\n columns.push(...parsedColumns);\n continue;\n }\n\n // Parse rows from body\n if (isComponentType(child, TableBodyCompound)) {\n const bodyProps = child.props;\n const bodyChildren = Children.toArray(bodyProps.children);\n\n for (const rowChild of bodyChildren) {\n if (!isValidElement(rowChild)) continue;\n\n if (isComponentType(rowChild, TableRowCompound)) {\n const rowProps = rowChild.props;\n const cells = parseCells(rowProps.children, columns);\n\n rows.push({\n key: rowChild.key ?? rowProps.key ?? String(rows.length),\n cells,\n onClick: rowProps.onClick,\n dataTestId: rowProps[\"data-testid\"],\n });\n } else {\n rows.push(rowChild);\n }\n }\n }\n }\n\n return {\n columns,\n rows,\n };\n};\n"],"names":["isComponentType","element","componentType","parseColumns","headerChildren","isHeaderHidden","columns","childrenArray","Children","columnChild","isValidElement","TableColumnCompound","columnProps","parseCells","rowChildren","cells","cellIndex","cellChild","TableCellCompound","cellProps","columnKey","_a","parseTableChildren","children","rows","child","TableHeaderCompound","headerProps","parsedColumns","TableBodyCompound","bodyProps","bodyChildren","rowChild","TableRowCompound","rowProps"],"mappings":"kJAsBMA,EAAkB,CACtBC,EACAC,IACYD,EAAQ,OAASC,EAKzBC,EAAe,CACnBC,EACAC,IACsB,CACtB,MAAMC,EAA6B,CAAA,EAC7BC,EAAgBC,EAAAA,SAAS,QAAQJ,CAAc,EAErD,UAAWK,KAAeF,EACxB,GACEG,EAAAA,eAAeD,CAAW,GAC1BT,EAAgBS,EAAaE,EAAmB,mBAAA,EAChD,CACA,MAAMC,EAAcH,EAAY,MAChCH,EAAQ,KAAK,CACX,IAAKM,EAAY,GACjB,OAAQA,EAAY,SACpB,SAAUP,EACV,SAAUO,EAAY,WAAW,CAAA,CAClC,CACH,CAGK,OAAAN,CACT,EAKMO,EAAa,CACjBC,EACAR,IACoB,OACpB,MAAMS,EAAyB,CAAA,EACzBR,EAAgBC,EAAAA,SAAS,QAAQM,CAAW,EAClD,IAAIE,EAAY,EAEhB,UAAWC,KAAaV,EACtB,GACEG,EAAAA,eAAeO,CAAS,GACxBjB,EAAgBiB,EAAWC,EAAiB,iBAAA,EAC5C,CACA,MAAMC,EAAYF,EAAU,MACtBG,EAAYD,EAAU,aAAaE,EAAAf,EAAQU,CAAS,IAAjB,YAAAK,EAAoB,KAEzDD,GACFL,EAAM,KAAK,CACT,UAAAK,EACA,MAAOD,EAAU,SACjB,QAASA,EAAU,QACnB,WAAYA,EAAU,aAAa,EACnC,UAAWA,EAAU,SAAA,CACtB,EAEHH,GACF,CAGK,OAAAD,CACT,EAQaO,EAAsBC,GAAmC,CACpE,MAAMjB,EAA6B,CAAA,EAC7BkB,EAAwC,CAAA,EACxCjB,EAAgBC,EAAAA,SAAS,QAAQe,CAAQ,EAE/C,UAAWE,KAASlB,EACd,GAACG,EAAAA,eAAee,CAAK,EAGrB,IAAAzB,EAAgByB,EAAOC,EAAAA,mBAAmB,EAAG,CAC/C,MAAMC,EAAcF,EAAM,MACpBG,EAAgBzB,EACpBwB,EAAY,SACZA,EAAY,UAAY,EAAA,EAElBrB,EAAA,KAAK,GAAGsB,CAAa,EAC7B,QACF,CAGI,GAAA5B,EAAgByB,EAAOI,EAAAA,iBAAiB,EAAG,CAC7C,MAAMC,EAAYL,EAAM,MAClBM,EAAevB,EAAA,SAAS,QAAQsB,EAAU,QAAQ,EAExD,UAAWE,KAAYD,EACjB,GAACrB,EAAAA,eAAesB,CAAQ,EAExB,GAAAhC,EAAgBgC,EAAUC,EAAAA,gBAAgB,EAAG,CAC/C,MAAMC,EAAWF,EAAS,MACpBjB,EAAQF,EAAWqB,EAAS,SAAU5B,CAAO,EAEnDkB,EAAK,KAAK,CACR,IAAKQ,EAAS,KAAOE,EAAS,KAAO,OAAOV,EAAK,MAAM,EACvD,MAAAT,EACA,QAASmB,EAAS,QAClB,WAAYA,EAAS,aAAa,CAAA,CACnC,CAAA,MAEDV,EAAK,KAAKQ,CAAQ,CAGxB,EAGK,MAAA,CACL,QAAA1B,EACA,KAAAkB,CAAA,CAEJ"}
1
+ {"version":3,"file":"collectionParser.cjs.js","sources":["../../../../../src/components/Table/BaseTable/Collection/collectionParser.ts"],"sourcesContent":["import {\n Children,\n isValidElement,\n ReactElement,\n ReactNode,\n ComponentType,\n} from \"react\";\n\nimport {\n TableHeaderCompound,\n TableColumnCompound,\n TableBodyCompound,\n TableRowCompound,\n TableCellCompound,\n type TableColumnProps,\n type TableCellProps,\n type TableHeaderProps,\n type TableBodyProps,\n type TableRowProps,\n} from \"./CompoundComponents\";\nimport type {\n TableColumnData,\n TableData,\n TableRowData,\n TableCellData,\n} from \"../types\";\n\nconst isComponentType = (\n element: ReactElement,\n componentType: ComponentType<any>,\n): boolean => element.type === componentType;\n\n/**\n * Parses columns from Table.Header children\n */\nconst parseColumns = (\n headerChildren: ReactNode,\n isHeaderHidden: boolean,\n): TableColumnData[] => {\n const columns: TableColumnData[] = [];\n const childrenArray = Children.toArray(headerChildren);\n\n for (const columnChild of childrenArray) {\n if (\n isValidElement(columnChild) &&\n isComponentType(columnChild, TableColumnCompound)\n ) {\n const columnProps = columnChild.props as TableColumnProps;\n columns.push({\n key: columnProps.id,\n header: columnProps.children,\n isHidden: isHeaderHidden,\n ariaSort: columnProps[\"aria-sort\"],\n });\n }\n }\n\n return columns;\n};\n\n/**\n * Parses cells from Table.Row children\n */\nconst parseCells = (\n rowChildren: ReactNode,\n columns: TableColumnData[],\n): TableCellData[] => {\n const cells: TableCellData[] = [];\n const childrenArray = Children.toArray(rowChildren);\n let cellIndex = 0;\n\n for (const cellChild of childrenArray) {\n if (\n isValidElement(cellChild) &&\n isComponentType(cellChild, TableCellCompound)\n ) {\n const cellProps = cellChild.props as TableCellProps;\n const columnKey = cellProps.columnKey ?? columns[cellIndex]?.key;\n\n if (columnKey) {\n cells.push({\n columnKey,\n value: cellProps.children,\n colSpan: cellProps.colSpan,\n dataTestId: cellProps[\"data-testid\"],\n textAlign: cellProps.textAlign,\n });\n }\n cellIndex++;\n }\n }\n\n return cells;\n};\n\n/**\n * Parses JSX table structure into collection data format.\n *\n * @returns parsed table data\n * @see {@link TableData} for the parsed table data structure\n */\nexport const parseTableChildren = (children: ReactNode): TableData => {\n const columns: TableColumnData[] = [];\n const rows: (TableRowData | ReactElement)[] = [];\n const childrenArray = Children.toArray(children);\n\n for (const child of childrenArray) {\n if (!isValidElement(child)) continue;\n\n // Parse columns from header\n if (isComponentType(child, TableHeaderCompound)) {\n const headerProps = child.props as TableHeaderProps;\n const parsedColumns = parseColumns(\n headerProps.children,\n headerProps.isHidden || false,\n );\n columns.push(...parsedColumns);\n continue;\n }\n\n // Parse rows from body\n if (isComponentType(child, TableBodyCompound)) {\n const bodyProps = child.props as TableBodyProps;\n const bodyChildren = Children.toArray(bodyProps.children);\n\n for (const rowChild of bodyChildren) {\n if (!isValidElement(rowChild)) continue;\n\n if (isComponentType(rowChild, TableRowCompound)) {\n const rowProps = rowChild.props as TableRowProps;\n const cells = parseCells(rowProps.children, columns);\n\n rows.push({\n key: rowChild.key ?? rowProps.key ?? String(rows.length),\n cells,\n onClick: rowProps.onClick,\n dataTestId: rowProps[\"data-testid\"],\n });\n } else {\n rows.push(rowChild);\n }\n }\n }\n }\n\n return {\n columns,\n rows,\n };\n};\n"],"names":["isComponentType","element","componentType","parseColumns","headerChildren","isHeaderHidden","columns","childrenArray","Children","columnChild","isValidElement","TableColumnCompound","columnProps","parseCells","rowChildren","cells","cellIndex","cellChild","TableCellCompound","cellProps","columnKey","_a","parseTableChildren","children","rows","child","TableHeaderCompound","headerProps","parsedColumns","TableBodyCompound","bodyProps","bodyChildren","rowChild","TableRowCompound","rowProps"],"mappings":"kJA2BMA,EAAkB,CACtBC,EACAC,IACYD,EAAQ,OAASC,EAKzBC,EAAe,CACnBC,EACAC,IACsB,CACtB,MAAMC,EAA6B,CAAA,EAC7BC,EAAgBC,EAAAA,SAAS,QAAQJ,CAAc,EAErD,UAAWK,KAAeF,EACxB,GACEG,EAAAA,eAAeD,CAAW,GAC1BT,EAAgBS,EAAaE,EAAAA,mBAAmB,EAChD,CACA,MAAMC,EAAcH,EAAY,MAChCH,EAAQ,KAAK,CACX,IAAKM,EAAY,GACjB,OAAQA,EAAY,SACpB,SAAUP,EACV,SAAUO,EAAY,WAAW,CAAA,CAClC,CACH,CAGF,OAAON,CACT,EAKMO,EAAa,CACjBC,EACAR,IACoB,OACpB,MAAMS,EAAyB,CAAA,EACzBR,EAAgBC,EAAAA,SAAS,QAAQM,CAAW,EAClD,IAAIE,EAAY,EAEhB,UAAWC,KAAaV,EACtB,GACEG,EAAAA,eAAeO,CAAS,GACxBjB,EAAgBiB,EAAWC,EAAAA,iBAAiB,EAC5C,CACA,MAAMC,EAAYF,EAAU,MACtBG,EAAYD,EAAU,aAAaE,EAAAf,EAAQU,CAAS,IAAjB,YAAAK,EAAoB,KAEzDD,GACFL,EAAM,KAAK,CACT,UAAAK,EACA,MAAOD,EAAU,SACjB,QAASA,EAAU,QACnB,WAAYA,EAAU,aAAa,EACnC,UAAWA,EAAU,SAAA,CACtB,EAEHH,GACF,CAGF,OAAOD,CACT,EAQaO,EAAsBC,GAAmC,CACpE,MAAMjB,EAA6B,CAAA,EAC7BkB,EAAwC,CAAA,EACxCjB,EAAgBC,EAAAA,SAAS,QAAQe,CAAQ,EAE/C,UAAWE,KAASlB,EAClB,GAAKG,EAAAA,eAAee,CAAK,EAGzB,IAAIzB,EAAgByB,EAAOC,EAAAA,mBAAmB,EAAG,CAC/C,MAAMC,EAAcF,EAAM,MACpBG,EAAgBzB,EACpBwB,EAAY,SACZA,EAAY,UAAY,EAAA,EAE1BrB,EAAQ,KAAK,GAAGsB,CAAa,EAC7B,QACF,CAGA,GAAI5B,EAAgByB,EAAOI,EAAAA,iBAAiB,EAAG,CAC7C,MAAMC,EAAYL,EAAM,MAClBM,EAAevB,EAAAA,SAAS,QAAQsB,EAAU,QAAQ,EAExD,UAAWE,KAAYD,EACrB,GAAKrB,EAAAA,eAAesB,CAAQ,EAE5B,GAAIhC,EAAgBgC,EAAUC,EAAAA,gBAAgB,EAAG,CAC/C,MAAMC,EAAWF,EAAS,MACpBjB,EAAQF,EAAWqB,EAAS,SAAU5B,CAAO,EAEnDkB,EAAK,KAAK,CACR,IAAKQ,EAAS,KAAOE,EAAS,KAAO,OAAOV,EAAK,MAAM,EACvD,MAAAT,EACA,QAASmB,EAAS,QAClB,WAAYA,EAAS,aAAa,CAAA,CACnC,CACH,MACEV,EAAK,KAAKQ,CAAQ,CAGxB,EAGF,MAAO,CACL,QAAA1B,EACA,KAAAkB,CAAA,CAEJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"collectionParser.es.js","sources":["../../../../../src/components/Table/BaseTable/Collection/collectionParser.ts"],"sourcesContent":["import {\n Children,\n isValidElement,\n ReactElement,\n ReactNode,\n ComponentType,\n} from \"react\";\n\nimport {\n TableHeaderCompound,\n TableColumnCompound,\n TableBodyCompound,\n TableRowCompound,\n TableCellCompound,\n} from \"./CompoundComponents\";\nimport type {\n TableColumnData,\n TableData,\n TableRowData,\n TableCellData,\n} from \"../types\";\n\nconst isComponentType = (\n element: ReactElement,\n componentType: ComponentType<any>,\n): boolean => element.type === componentType;\n\n/**\n * Parses columns from Table.Header children\n */\nconst parseColumns = (\n headerChildren: ReactNode,\n isHeaderHidden: boolean,\n): TableColumnData[] => {\n const columns: TableColumnData[] = [];\n const childrenArray = Children.toArray(headerChildren);\n\n for (const columnChild of childrenArray) {\n if (\n isValidElement(columnChild) &&\n isComponentType(columnChild, TableColumnCompound)\n ) {\n const columnProps = columnChild.props;\n columns.push({\n key: columnProps.id,\n header: columnProps.children,\n isHidden: isHeaderHidden,\n ariaSort: columnProps[\"aria-sort\"],\n });\n }\n }\n\n return columns;\n};\n\n/**\n * Parses cells from Table.Row children\n */\nconst parseCells = (\n rowChildren: ReactNode,\n columns: TableColumnData[],\n): TableCellData[] => {\n const cells: TableCellData[] = [];\n const childrenArray = Children.toArray(rowChildren);\n let cellIndex = 0;\n\n for (const cellChild of childrenArray) {\n if (\n isValidElement(cellChild) &&\n isComponentType(cellChild, TableCellCompound)\n ) {\n const cellProps = cellChild.props;\n const columnKey = cellProps.columnKey ?? columns[cellIndex]?.key;\n\n if (columnKey) {\n cells.push({\n columnKey,\n value: cellProps.children,\n colSpan: cellProps.colSpan,\n dataTestId: cellProps[\"data-testid\"],\n textAlign: cellProps.textAlign,\n });\n }\n cellIndex++;\n }\n }\n\n return cells;\n};\n\n/**\n * Parses JSX table structure into collection data format.\n *\n * @returns parsed table data\n * @see {@link TableData} for the parsed table data structure\n */\nexport const parseTableChildren = (children: ReactNode): TableData => {\n const columns: TableColumnData[] = [];\n const rows: (TableRowData | ReactElement)[] = [];\n const childrenArray = Children.toArray(children);\n\n for (const child of childrenArray) {\n if (!isValidElement(child)) continue;\n\n // Parse columns from header\n if (isComponentType(child, TableHeaderCompound)) {\n const headerProps = child.props;\n const parsedColumns = parseColumns(\n headerProps.children,\n headerProps.isHidden || false,\n );\n columns.push(...parsedColumns);\n continue;\n }\n\n // Parse rows from body\n if (isComponentType(child, TableBodyCompound)) {\n const bodyProps = child.props;\n const bodyChildren = Children.toArray(bodyProps.children);\n\n for (const rowChild of bodyChildren) {\n if (!isValidElement(rowChild)) continue;\n\n if (isComponentType(rowChild, TableRowCompound)) {\n const rowProps = rowChild.props;\n const cells = parseCells(rowProps.children, columns);\n\n rows.push({\n key: rowChild.key ?? rowProps.key ?? String(rows.length),\n cells,\n onClick: rowProps.onClick,\n dataTestId: rowProps[\"data-testid\"],\n });\n } else {\n rows.push(rowChild);\n }\n }\n }\n }\n\n return {\n columns,\n rows,\n };\n};\n"],"names":["isComponentType","element","componentType","parseColumns","headerChildren","isHeaderHidden","columns","childrenArray","Children","columnChild","isValidElement","TableColumnCompound","columnProps","parseCells","rowChildren","cells","cellIndex","cellChild","TableCellCompound","cellProps","columnKey","_a","parseTableChildren","children","rows","child","TableHeaderCompound","headerProps","parsedColumns","TableBodyCompound","bodyProps","bodyChildren","rowChild","TableRowCompound","rowProps"],"mappings":";;AAsBA,MAAMA,IAAkB,CACtBC,GACAC,MACYD,EAAQ,SAASC,GAKzBC,IAAe,CACnBC,GACAC,MACsB;AACtB,QAAMC,IAA6B,CAAA,GAC7BC,IAAgBC,EAAS,QAAQJ,CAAc;AAErD,aAAWK,KAAeF;AACxB,QACEG,EAAeD,CAAW,KAC1BT,EAAgBS,GAAaE,CAAmB,GAChD;AACA,YAAMC,IAAcH,EAAY;AAChC,MAAAH,EAAQ,KAAK;AAAA,QACX,KAAKM,EAAY;AAAA,QACjB,QAAQA,EAAY;AAAA,QACpB,UAAUP;AAAA,QACV,UAAUO,EAAY,WAAW;AAAA,MAAA,CAClC;AAAA,IACH;AAGK,SAAAN;AACT,GAKMO,IAAa,CACjBC,GACAR,MACoB;;AACpB,QAAMS,IAAyB,CAAA,GACzBR,IAAgBC,EAAS,QAAQM,CAAW;AAClD,MAAIE,IAAY;AAEhB,aAAWC,KAAaV;AACtB,QACEG,EAAeO,CAAS,KACxBjB,EAAgBiB,GAAWC,CAAiB,GAC5C;AACA,YAAMC,IAAYF,EAAU,OACtBG,IAAYD,EAAU,eAAaE,IAAAf,EAAQU,CAAS,MAAjB,gBAAAK,EAAoB;AAE7D,MAAID,KACFL,EAAM,KAAK;AAAA,QACT,WAAAK;AAAA,QACA,OAAOD,EAAU;AAAA,QACjB,SAASA,EAAU;AAAA,QACnB,YAAYA,EAAU,aAAa;AAAA,QACnC,WAAWA,EAAU;AAAA,MAAA,CACtB,GAEHH;AAAA,IACF;AAGK,SAAAD;AACT,GAQaO,IAAqB,CAACC,MAAmC;AACpE,QAAMjB,IAA6B,CAAA,GAC7BkB,IAAwC,CAAA,GACxCjB,IAAgBC,EAAS,QAAQe,CAAQ;AAE/C,aAAWE,KAASlB;AACd,QAACG,EAAee,CAAK,GAGrB;AAAA,UAAAzB,EAAgByB,GAAOC,CAAmB,GAAG;AAC/C,cAAMC,IAAcF,EAAM,OACpBG,IAAgBzB;AAAA,UACpBwB,EAAY;AAAA,UACZA,EAAY,YAAY;AAAA,QAAA;AAElB,QAAArB,EAAA,KAAK,GAAGsB,CAAa;AAC7B;AAAA,MACF;AAGI,UAAA5B,EAAgByB,GAAOI,CAAiB,GAAG;AAC7C,cAAMC,IAAYL,EAAM,OAClBM,IAAevB,EAAS,QAAQsB,EAAU,QAAQ;AAExD,mBAAWE,KAAYD;AACjB,cAACrB,EAAesB,CAAQ;AAExB,gBAAAhC,EAAgBgC,GAAUC,CAAgB,GAAG;AAC/C,oBAAMC,IAAWF,EAAS,OACpBjB,IAAQF,EAAWqB,EAAS,UAAU5B,CAAO;AAEnD,cAAAkB,EAAK,KAAK;AAAA,gBACR,KAAKQ,EAAS,OAAOE,EAAS,OAAO,OAAOV,EAAK,MAAM;AAAA,gBACvD,OAAAT;AAAA,gBACA,SAASmB,EAAS;AAAA,gBAClB,YAAYA,EAAS,aAAa;AAAA,cAAA,CACnC;AAAA,YAAA;AAED,cAAAV,EAAK,KAAKQ,CAAQ;AAAA,MAGxB;AAAA;AAGK,SAAA;AAAA,IACL,SAAA1B;AAAA,IACA,MAAAkB;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"collectionParser.es.js","sources":["../../../../../src/components/Table/BaseTable/Collection/collectionParser.ts"],"sourcesContent":["import {\n Children,\n isValidElement,\n ReactElement,\n ReactNode,\n ComponentType,\n} from \"react\";\n\nimport {\n TableHeaderCompound,\n TableColumnCompound,\n TableBodyCompound,\n TableRowCompound,\n TableCellCompound,\n type TableColumnProps,\n type TableCellProps,\n type TableHeaderProps,\n type TableBodyProps,\n type TableRowProps,\n} from \"./CompoundComponents\";\nimport type {\n TableColumnData,\n TableData,\n TableRowData,\n TableCellData,\n} from \"../types\";\n\nconst isComponentType = (\n element: ReactElement,\n componentType: ComponentType<any>,\n): boolean => element.type === componentType;\n\n/**\n * Parses columns from Table.Header children\n */\nconst parseColumns = (\n headerChildren: ReactNode,\n isHeaderHidden: boolean,\n): TableColumnData[] => {\n const columns: TableColumnData[] = [];\n const childrenArray = Children.toArray(headerChildren);\n\n for (const columnChild of childrenArray) {\n if (\n isValidElement(columnChild) &&\n isComponentType(columnChild, TableColumnCompound)\n ) {\n const columnProps = columnChild.props as TableColumnProps;\n columns.push({\n key: columnProps.id,\n header: columnProps.children,\n isHidden: isHeaderHidden,\n ariaSort: columnProps[\"aria-sort\"],\n });\n }\n }\n\n return columns;\n};\n\n/**\n * Parses cells from Table.Row children\n */\nconst parseCells = (\n rowChildren: ReactNode,\n columns: TableColumnData[],\n): TableCellData[] => {\n const cells: TableCellData[] = [];\n const childrenArray = Children.toArray(rowChildren);\n let cellIndex = 0;\n\n for (const cellChild of childrenArray) {\n if (\n isValidElement(cellChild) &&\n isComponentType(cellChild, TableCellCompound)\n ) {\n const cellProps = cellChild.props as TableCellProps;\n const columnKey = cellProps.columnKey ?? columns[cellIndex]?.key;\n\n if (columnKey) {\n cells.push({\n columnKey,\n value: cellProps.children,\n colSpan: cellProps.colSpan,\n dataTestId: cellProps[\"data-testid\"],\n textAlign: cellProps.textAlign,\n });\n }\n cellIndex++;\n }\n }\n\n return cells;\n};\n\n/**\n * Parses JSX table structure into collection data format.\n *\n * @returns parsed table data\n * @see {@link TableData} for the parsed table data structure\n */\nexport const parseTableChildren = (children: ReactNode): TableData => {\n const columns: TableColumnData[] = [];\n const rows: (TableRowData | ReactElement)[] = [];\n const childrenArray = Children.toArray(children);\n\n for (const child of childrenArray) {\n if (!isValidElement(child)) continue;\n\n // Parse columns from header\n if (isComponentType(child, TableHeaderCompound)) {\n const headerProps = child.props as TableHeaderProps;\n const parsedColumns = parseColumns(\n headerProps.children,\n headerProps.isHidden || false,\n );\n columns.push(...parsedColumns);\n continue;\n }\n\n // Parse rows from body\n if (isComponentType(child, TableBodyCompound)) {\n const bodyProps = child.props as TableBodyProps;\n const bodyChildren = Children.toArray(bodyProps.children);\n\n for (const rowChild of bodyChildren) {\n if (!isValidElement(rowChild)) continue;\n\n if (isComponentType(rowChild, TableRowCompound)) {\n const rowProps = rowChild.props as TableRowProps;\n const cells = parseCells(rowProps.children, columns);\n\n rows.push({\n key: rowChild.key ?? rowProps.key ?? String(rows.length),\n cells,\n onClick: rowProps.onClick,\n dataTestId: rowProps[\"data-testid\"],\n });\n } else {\n rows.push(rowChild);\n }\n }\n }\n }\n\n return {\n columns,\n rows,\n };\n};\n"],"names":["isComponentType","element","componentType","parseColumns","headerChildren","isHeaderHidden","columns","childrenArray","Children","columnChild","isValidElement","TableColumnCompound","columnProps","parseCells","rowChildren","cells","cellIndex","cellChild","TableCellCompound","cellProps","columnKey","_a","parseTableChildren","children","rows","child","TableHeaderCompound","headerProps","parsedColumns","TableBodyCompound","bodyProps","bodyChildren","rowChild","TableRowCompound","rowProps"],"mappings":";;AA2BA,MAAMA,IAAkB,CACtBC,GACAC,MACYD,EAAQ,SAASC,GAKzBC,IAAe,CACnBC,GACAC,MACsB;AACtB,QAAMC,IAA6B,CAAA,GAC7BC,IAAgBC,EAAS,QAAQJ,CAAc;AAErD,aAAWK,KAAeF;AACxB,QACEG,EAAeD,CAAW,KAC1BT,EAAgBS,GAAaE,CAAmB,GAChD;AACA,YAAMC,IAAcH,EAAY;AAChC,MAAAH,EAAQ,KAAK;AAAA,QACX,KAAKM,EAAY;AAAA,QACjB,QAAQA,EAAY;AAAA,QACpB,UAAUP;AAAA,QACV,UAAUO,EAAY,WAAW;AAAA,MAAA,CAClC;AAAA,IACH;AAGF,SAAON;AACT,GAKMO,IAAa,CACjBC,GACAR,MACoB;;AACpB,QAAMS,IAAyB,CAAA,GACzBR,IAAgBC,EAAS,QAAQM,CAAW;AAClD,MAAIE,IAAY;AAEhB,aAAWC,KAAaV;AACtB,QACEG,EAAeO,CAAS,KACxBjB,EAAgBiB,GAAWC,CAAiB,GAC5C;AACA,YAAMC,IAAYF,EAAU,OACtBG,IAAYD,EAAU,eAAaE,IAAAf,EAAQU,CAAS,MAAjB,gBAAAK,EAAoB;AAE7D,MAAID,KACFL,EAAM,KAAK;AAAA,QACT,WAAAK;AAAA,QACA,OAAOD,EAAU;AAAA,QACjB,SAASA,EAAU;AAAA,QACnB,YAAYA,EAAU,aAAa;AAAA,QACnC,WAAWA,EAAU;AAAA,MAAA,CACtB,GAEHH;AAAA,IACF;AAGF,SAAOD;AACT,GAQaO,IAAqB,CAACC,MAAmC;AACpE,QAAMjB,IAA6B,CAAA,GAC7BkB,IAAwC,CAAA,GACxCjB,IAAgBC,EAAS,QAAQe,CAAQ;AAE/C,aAAWE,KAASlB;AAClB,QAAKG,EAAee,CAAK,GAGzB;AAAA,UAAIzB,EAAgByB,GAAOC,CAAmB,GAAG;AAC/C,cAAMC,IAAcF,EAAM,OACpBG,IAAgBzB;AAAA,UACpBwB,EAAY;AAAA,UACZA,EAAY,YAAY;AAAA,QAAA;AAE1B,QAAArB,EAAQ,KAAK,GAAGsB,CAAa;AAC7B;AAAA,MACF;AAGA,UAAI5B,EAAgByB,GAAOI,CAAiB,GAAG;AAC7C,cAAMC,IAAYL,EAAM,OAClBM,IAAevB,EAAS,QAAQsB,EAAU,QAAQ;AAExD,mBAAWE,KAAYD;AACrB,cAAKrB,EAAesB,CAAQ;AAE5B,gBAAIhC,EAAgBgC,GAAUC,CAAgB,GAAG;AAC/C,oBAAMC,IAAWF,EAAS,OACpBjB,IAAQF,EAAWqB,EAAS,UAAU5B,CAAO;AAEnD,cAAAkB,EAAK,KAAK;AAAA,gBACR,KAAKQ,EAAS,OAAOE,EAAS,OAAO,OAAOV,EAAK,MAAM;AAAA,gBACvD,OAAAT;AAAA,gBACA,SAASmB,EAAS;AAAA,gBAClB,YAAYA,EAAS,aAAa;AAAA,cAAA,CACnC;AAAA,YACH;AACE,cAAAV,EAAK,KAAKQ,CAAQ;AAAA,MAGxB;AAAA;AAGF,SAAO;AAAA,IACL,SAAA1B;AAAA,IACA,MAAAkB;AAAA,EAAA;AAEJ;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useTableCollection.cjs.js","sources":["../../../../../src/components/Table/BaseTable/Collection/useTableCollection.tsx"],"sourcesContent":["import { useMemo, isValidElement } from \"react\";\nimport type { TableData, TableRowData } from \"../types\";\nimport type { ReactElement } from \"react\";\n\n/*\n * Calculates aria-rowindex from a 0 based `rowIndex` prop.\n */\nexport const calculateAriaRowIndex = (\n rowIndex: number,\n isHeaderHidden: boolean = false,\n): number => rowIndex + (isHeaderHidden ? 1 : 2);\n\n/*\n * Calculates aria-colindex from a 0 based `columnIndex` prop.\n */\nexport const calculateAriaColumnIndex = (columnIndex: number): number =>\n columnIndex + 1;\n\nconst isTableRowData = (\n row: TableRowData | ReactElement,\n): row is TableRowData => {\n return !isValidElement(row) && typeof row === \"object\" && \"cells\" in row;\n};\n\n/**\n * Hook for managing table data structure and providing navigation methods\n */\nexport const useTableCollection = (data: TableData) => {\n const parsedRows = data.rows.filter(isTableRowData);\n const directRows = data.rows.filter(isValidElement);\n\n const isHeaderHidden = data.columns[0]?.isHidden || false;\n const totalRows =\n directRows.length > 0 ? directRows.length : parsedRows.length;\n const getTotalRowCount = totalRows + (isHeaderHidden ? 0 : 1);\n\n const getRowAriaIndex = useMemo(\n () => (rowIndex: number) => calculateAriaRowIndex(rowIndex, isHeaderHidden),\n [isHeaderHidden],\n );\n\n const getColumnAriaIndex = useMemo(\n () => (columnIndex: number) => calculateAriaColumnIndex(columnIndex),\n [],\n );\n\n return {\n // Data\n columns: data.columns,\n rows: data.rows,\n // ARIA helpers\n isHeaderHidden,\n getTotalRowCount,\n getRowAriaIndex,\n getColumnAriaIndex,\n };\n};\n\nexport type TableCollection = ReturnType<typeof useTableCollection>;\n"],"names":["calculateAriaRowIndex","rowIndex","isHeaderHidden","calculateAriaColumnIndex","columnIndex","isTableRowData","row","isValidElement","useTableCollection","data","parsedRows","directRows","_a","getTotalRowCount","getRowAriaIndex","useMemo","getColumnAriaIndex"],"mappings":"yGAOaA,EAAwB,CACnCC,EACAC,EAA0B,KACfD,GAAYC,EAAiB,EAAI,GAKjCC,EAA4BC,GACvCA,EAAc,EAEVC,EACJC,GAEO,CAACC,EAAe,eAAAD,CAAG,GAAK,OAAOA,GAAQ,UAAY,UAAWA,EAM1DE,EAAsBC,GAAoB,OACrD,MAAMC,EAAaD,EAAK,KAAK,OAAOJ,CAAc,EAC5CM,EAAaF,EAAK,KAAK,OAAOF,EAAc,cAAA,EAE5CL,IAAiBU,EAAAH,EAAK,QAAQ,CAAC,IAAd,YAAAG,EAAiB,WAAY,GAG9CC,GADJF,EAAW,OAAS,EAAIA,EAAW,OAASD,EAAW,SACnBR,EAAiB,EAAI,GAErDY,EAAkBC,EAAA,QACtB,IAAOd,GAAqBD,EAAsBC,EAAUC,CAAc,EAC1E,CAACA,CAAc,CAAA,EAGXc,EAAqBD,EAAA,QACzB,IAAOX,GAAwBD,EAAyBC,CAAW,EACnE,CAAC,CAAA,EAGI,MAAA,CAEL,QAASK,EAAK,QACd,KAAMA,EAAK,KAEX,eAAAP,EACA,iBAAAW,EACA,gBAAAC,EACA,mBAAAE,CAAA,CAEJ"}
1
+ {"version":3,"file":"useTableCollection.cjs.js","sources":["../../../../../src/components/Table/BaseTable/Collection/useTableCollection.tsx"],"sourcesContent":["import { useMemo, isValidElement } from \"react\";\nimport type { TableData, TableRowData } from \"../types\";\nimport type { ReactElement } from \"react\";\n\n/*\n * Calculates aria-rowindex from a 0 based `rowIndex` prop.\n */\nexport const calculateAriaRowIndex = (\n rowIndex: number,\n isHeaderHidden: boolean = false,\n): number => rowIndex + (isHeaderHidden ? 1 : 2);\n\n/*\n * Calculates aria-colindex from a 0 based `columnIndex` prop.\n */\nexport const calculateAriaColumnIndex = (columnIndex: number): number =>\n columnIndex + 1;\n\nconst isTableRowData = (\n row: TableRowData | ReactElement,\n): row is TableRowData => {\n return !isValidElement(row) && typeof row === \"object\" && \"cells\" in row;\n};\n\n/**\n * Hook for managing table data structure and providing navigation methods\n */\nexport const useTableCollection = (data: TableData) => {\n const parsedRows = data.rows.filter(isTableRowData);\n const directRows = data.rows.filter(isValidElement);\n\n const isHeaderHidden = data.columns[0]?.isHidden || false;\n const totalRows =\n directRows.length > 0 ? directRows.length : parsedRows.length;\n const getTotalRowCount = totalRows + (isHeaderHidden ? 0 : 1);\n\n const getRowAriaIndex = useMemo(\n () => (rowIndex: number) => calculateAriaRowIndex(rowIndex, isHeaderHidden),\n [isHeaderHidden],\n );\n\n const getColumnAriaIndex = useMemo(\n () => (columnIndex: number) => calculateAriaColumnIndex(columnIndex),\n [],\n );\n\n return {\n // Data\n columns: data.columns,\n rows: data.rows,\n // ARIA helpers\n isHeaderHidden,\n getTotalRowCount,\n getRowAriaIndex,\n getColumnAriaIndex,\n };\n};\n\nexport type TableCollection = ReturnType<typeof useTableCollection>;\n"],"names":["calculateAriaRowIndex","rowIndex","isHeaderHidden","calculateAriaColumnIndex","columnIndex","isTableRowData","row","isValidElement","useTableCollection","data","parsedRows","directRows","_a","getTotalRowCount","getRowAriaIndex","useMemo","getColumnAriaIndex"],"mappings":"yGAOaA,EAAwB,CACnCC,EACAC,EAA0B,KACfD,GAAYC,EAAiB,EAAI,GAKjCC,EAA4BC,GACvCA,EAAc,EAEVC,EACJC,GAEO,CAACC,EAAAA,eAAeD,CAAG,GAAK,OAAOA,GAAQ,UAAY,UAAWA,EAM1DE,EAAsBC,GAAoB,OACrD,MAAMC,EAAaD,EAAK,KAAK,OAAOJ,CAAc,EAC5CM,EAAaF,EAAK,KAAK,OAAOF,EAAAA,cAAc,EAE5CL,IAAiBU,EAAAH,EAAK,QAAQ,CAAC,IAAd,YAAAG,EAAiB,WAAY,GAG9CC,GADJF,EAAW,OAAS,EAAIA,EAAW,OAASD,EAAW,SACnBR,EAAiB,EAAI,GAErDY,EAAkBC,EAAAA,QACtB,IAAOd,GAAqBD,EAAsBC,EAAUC,CAAc,EAC1E,CAACA,CAAc,CAAA,EAGXc,EAAqBD,EAAAA,QACzB,IAAOX,GAAwBD,EAAyBC,CAAW,EACnE,CAAA,CAAC,EAGH,MAAO,CAEL,QAASK,EAAK,QACd,KAAMA,EAAK,KAEX,eAAAP,EACA,iBAAAW,EACA,gBAAAC,EACA,mBAAAE,CAAA,CAEJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"useTableCollection.es.js","sources":["../../../../../src/components/Table/BaseTable/Collection/useTableCollection.tsx"],"sourcesContent":["import { useMemo, isValidElement } from \"react\";\nimport type { TableData, TableRowData } from \"../types\";\nimport type { ReactElement } from \"react\";\n\n/*\n * Calculates aria-rowindex from a 0 based `rowIndex` prop.\n */\nexport const calculateAriaRowIndex = (\n rowIndex: number,\n isHeaderHidden: boolean = false,\n): number => rowIndex + (isHeaderHidden ? 1 : 2);\n\n/*\n * Calculates aria-colindex from a 0 based `columnIndex` prop.\n */\nexport const calculateAriaColumnIndex = (columnIndex: number): number =>\n columnIndex + 1;\n\nconst isTableRowData = (\n row: TableRowData | ReactElement,\n): row is TableRowData => {\n return !isValidElement(row) && typeof row === \"object\" && \"cells\" in row;\n};\n\n/**\n * Hook for managing table data structure and providing navigation methods\n */\nexport const useTableCollection = (data: TableData) => {\n const parsedRows = data.rows.filter(isTableRowData);\n const directRows = data.rows.filter(isValidElement);\n\n const isHeaderHidden = data.columns[0]?.isHidden || false;\n const totalRows =\n directRows.length > 0 ? directRows.length : parsedRows.length;\n const getTotalRowCount = totalRows + (isHeaderHidden ? 0 : 1);\n\n const getRowAriaIndex = useMemo(\n () => (rowIndex: number) => calculateAriaRowIndex(rowIndex, isHeaderHidden),\n [isHeaderHidden],\n );\n\n const getColumnAriaIndex = useMemo(\n () => (columnIndex: number) => calculateAriaColumnIndex(columnIndex),\n [],\n );\n\n return {\n // Data\n columns: data.columns,\n rows: data.rows,\n // ARIA helpers\n isHeaderHidden,\n getTotalRowCount,\n getRowAriaIndex,\n getColumnAriaIndex,\n };\n};\n\nexport type TableCollection = ReturnType<typeof useTableCollection>;\n"],"names":["calculateAriaRowIndex","rowIndex","isHeaderHidden","calculateAriaColumnIndex","columnIndex","isTableRowData","row","isValidElement","useTableCollection","data","parsedRows","directRows","_a","getTotalRowCount","getRowAriaIndex","useMemo","getColumnAriaIndex"],"mappings":";AAOO,MAAMA,IAAwB,CACnCC,GACAC,IAA0B,OACfD,KAAYC,IAAiB,IAAI,IAKjCC,IAA2B,CAACC,MACvCA,IAAc,GAEVC,IAAiB,CACrBC,MAEO,CAACC,EAAeD,CAAG,KAAK,OAAOA,KAAQ,YAAY,WAAWA,GAM1DE,IAAqB,CAACC,MAAoB;;AACrD,QAAMC,IAAaD,EAAK,KAAK,OAAOJ,CAAc,GAC5CM,IAAaF,EAAK,KAAK,OAAOF,CAAc,GAE5CL,MAAiBU,IAAAH,EAAK,QAAQ,CAAC,MAAd,gBAAAG,EAAiB,aAAY,IAG9CC,KADJF,EAAW,SAAS,IAAIA,EAAW,SAASD,EAAW,WACnBR,IAAiB,IAAI,IAErDY,IAAkBC;AAAA,IACtB,MAAM,CAACd,MAAqBD,EAAsBC,GAAUC,CAAc;AAAA,IAC1E,CAACA,CAAc;AAAA,EAAA,GAGXc,IAAqBD;AAAA,IACzB,MAAM,CAACX,MAAwBD,EAAyBC,CAAW;AAAA,IACnE,CAAC;AAAA,EAAA;AAGI,SAAA;AAAA;AAAA,IAEL,SAASK,EAAK;AAAA,IACd,MAAMA,EAAK;AAAA;AAAA,IAEX,gBAAAP;AAAA,IACA,kBAAAW;AAAA,IACA,iBAAAC;AAAA,IACA,oBAAAE;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"useTableCollection.es.js","sources":["../../../../../src/components/Table/BaseTable/Collection/useTableCollection.tsx"],"sourcesContent":["import { useMemo, isValidElement } from \"react\";\nimport type { TableData, TableRowData } from \"../types\";\nimport type { ReactElement } from \"react\";\n\n/*\n * Calculates aria-rowindex from a 0 based `rowIndex` prop.\n */\nexport const calculateAriaRowIndex = (\n rowIndex: number,\n isHeaderHidden: boolean = false,\n): number => rowIndex + (isHeaderHidden ? 1 : 2);\n\n/*\n * Calculates aria-colindex from a 0 based `columnIndex` prop.\n */\nexport const calculateAriaColumnIndex = (columnIndex: number): number =>\n columnIndex + 1;\n\nconst isTableRowData = (\n row: TableRowData | ReactElement,\n): row is TableRowData => {\n return !isValidElement(row) && typeof row === \"object\" && \"cells\" in row;\n};\n\n/**\n * Hook for managing table data structure and providing navigation methods\n */\nexport const useTableCollection = (data: TableData) => {\n const parsedRows = data.rows.filter(isTableRowData);\n const directRows = data.rows.filter(isValidElement);\n\n const isHeaderHidden = data.columns[0]?.isHidden || false;\n const totalRows =\n directRows.length > 0 ? directRows.length : parsedRows.length;\n const getTotalRowCount = totalRows + (isHeaderHidden ? 0 : 1);\n\n const getRowAriaIndex = useMemo(\n () => (rowIndex: number) => calculateAriaRowIndex(rowIndex, isHeaderHidden),\n [isHeaderHidden],\n );\n\n const getColumnAriaIndex = useMemo(\n () => (columnIndex: number) => calculateAriaColumnIndex(columnIndex),\n [],\n );\n\n return {\n // Data\n columns: data.columns,\n rows: data.rows,\n // ARIA helpers\n isHeaderHidden,\n getTotalRowCount,\n getRowAriaIndex,\n getColumnAriaIndex,\n };\n};\n\nexport type TableCollection = ReturnType<typeof useTableCollection>;\n"],"names":["calculateAriaRowIndex","rowIndex","isHeaderHidden","calculateAriaColumnIndex","columnIndex","isTableRowData","row","isValidElement","useTableCollection","data","parsedRows","directRows","_a","getTotalRowCount","getRowAriaIndex","useMemo","getColumnAriaIndex"],"mappings":";AAOO,MAAMA,IAAwB,CACnCC,GACAC,IAA0B,OACfD,KAAYC,IAAiB,IAAI,IAKjCC,IAA2B,CAACC,MACvCA,IAAc,GAEVC,IAAiB,CACrBC,MAEO,CAACC,EAAeD,CAAG,KAAK,OAAOA,KAAQ,YAAY,WAAWA,GAM1DE,IAAqB,CAACC,MAAoB;;AACrD,QAAMC,IAAaD,EAAK,KAAK,OAAOJ,CAAc,GAC5CM,IAAaF,EAAK,KAAK,OAAOF,CAAc,GAE5CL,MAAiBU,IAAAH,EAAK,QAAQ,CAAC,MAAd,gBAAAG,EAAiB,aAAY,IAG9CC,KADJF,EAAW,SAAS,IAAIA,EAAW,SAASD,EAAW,WACnBR,IAAiB,IAAI,IAErDY,IAAkBC;AAAA,IACtB,MAAM,CAACd,MAAqBD,EAAsBC,GAAUC,CAAc;AAAA,IAC1E,CAACA,CAAc;AAAA,EAAA,GAGXc,IAAqBD;AAAA,IACzB,MAAM,CAACX,MAAwBD,EAAyBC,CAAW;AAAA,IACnE,CAAA;AAAA,EAAC;AAGH,SAAO;AAAA;AAAA,IAEL,SAASK,EAAK;AAAA,IACd,MAAMA,EAAK;AAAA;AAAA,IAEX,gBAAAP;AAAA,IACA,kBAAAW;AAAA,IACA,iBAAAC;AAAA,IACA,oBAAAE;AAAA,EAAA;AAEJ;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../../node_modules/react/jsx-runtime.cjs.js"),x=require("react"),m=require("./Collection/collectionParser.cjs.js"),r=require("./Collection/CompoundComponents.cjs.js"),C=require("./Collection/useTableCollection.cjs.js"),p=require("./elements/TableRoot.cjs.js"),R=require("./elements/TableHeader.cjs.js"),j=require("./elements/TableHeaderRow.cjs.js"),q=require("./elements/TableHeaderCell.cjs.js"),y=require("./elements/TableBody.cjs.js"),g=require("./elements/TableRow.cjs.js"),H=require("./elements/TableCell.cjs.js");;/* empty css */const i=({children:d,name:u})=>{const c=m.parseTableChildren(d),o=C.useTableCollection(c);return t.jsxRuntimeExports.jsxs(p.TableRoot,{name:u,rowCount:o.getTotalRowCount,colCount:o.columns.length,children:[t.jsxRuntimeExports.jsx(R.TableHeader,{isHidden:o.isHeaderHidden,children:t.jsxRuntimeExports.jsx(j.TableHeaderRow,{children:o.columns.map((n,l)=>t.jsxRuntimeExports.jsx(q.TableHeaderCell,{colIndex:o.getColumnAriaIndex(l),ariaSort:n.ariaSort,children:n.header},n.key))})}),t.jsxRuntimeExports.jsx(y.TableBody,{children:o.rows.map((n,l)=>{if(x.isValidElement(n))return n;const a=n;return t.jsxRuntimeExports.jsx(g.TableRow,{ariaRowIndex:o.getRowAriaIndex(l),onClick:a.onClick,dataTestId:a.dataTestId,children:o.columns.map((s,T)=>{const e=a.cells.find(b=>b.columnKey===s.key);return t.jsxRuntimeExports.jsx(H.TableCell,{columnIndex:o.getColumnAriaIndex(T),columnSpan:e==null?void 0:e.colSpan,dataTestId:e==null?void 0:e.dataTestId,textAlign:e==null?void 0:e.textAlign,children:(e==null?void 0:e.value)??""},s.key)})},a.key)})})]})};i.displayName="ProtonUITable";const I=Object.assign(i,{Header:r.TableHeaderCompound,Column:r.TableColumnCompound,Body:r.TableBodyCompound,Row:r.TableRowCompound,Cell:r.TableCellCompound});exports.Table=I;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../../node_modules/react/jsx-runtime.cjs.js"),x=require("react"),m=require("./Collection/collectionParser.cjs.js"),r=require("./Collection/CompoundComponents.cjs.js"),C=require("./Collection/useTableCollection.cjs.js"),p=require("./elements/TableRoot.cjs.js"),R=require("./elements/TableHeader.cjs.js"),j=require("./elements/TableHeaderRow.cjs.js"),q=require("./elements/TableHeaderCell.cjs.js"),y=require("./elements/TableBody.cjs.js"),H=require("./elements/TableRow.cjs.js"),I=require("./elements/TableCell.cjs.js");;/* empty css */const i=({children:d,name:u})=>{const c=m.parseTableChildren(d),o=C.useTableCollection(c);return t.jsxRuntimeExports.jsxs(p.TableRoot,{name:u,rowCount:o.getTotalRowCount,colCount:o.columns.length,children:[t.jsxRuntimeExports.jsx(R.TableHeader,{isHidden:o.isHeaderHidden,children:t.jsxRuntimeExports.jsx(j.TableHeaderRow,{children:o.columns.map((n,l)=>t.jsxRuntimeExports.jsx(q.TableHeaderCell,{colIndex:o.getColumnAriaIndex(l),ariaSort:n.ariaSort,children:n.header},n.key))})}),t.jsxRuntimeExports.jsx(y.TableBody,{children:o.rows.map((n,l)=>{if(x.isValidElement(n))return n;const a=n;return t.jsxRuntimeExports.jsx(H.TableRow,{ariaRowIndex:o.getRowAriaIndex(l),onClick:a.onClick,dataTestId:a.dataTestId,children:o.columns.map((s,T)=>{const e=a.cells.find(b=>b.columnKey===s.key);return t.jsxRuntimeExports.jsx(I.TableCell,{columnIndex:o.getColumnAriaIndex(T),columnSpan:e==null?void 0:e.colSpan,dataTestId:e==null?void 0:e.dataTestId,textAlign:e==null?void 0:e.textAlign,children:(e==null?void 0:e.value)??""},s.key)})},a.key)})})]})};i.displayName="ProtonUITable";const g=Object.assign(i,{Header:r.TableHeaderCompound,Column:r.TableColumnCompound,Body:r.TableBodyCompound,Row:r.TableRowCompound,Cell:r.TableCellCompound});exports.Table=g;
2
2
  //# sourceMappingURL=Table.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Table.cjs.js","sources":["../../../../src/components/Table/BaseTable/Table.tsx"],"sourcesContent":["import { ReactElement, isValidElement } from \"react\";\nimport { parseTableChildren } from \"./Collection/collectionParser\";\nimport {\n TableHeaderCompound,\n TableColumnCompound,\n TableBodyCompound,\n TableRowCompound,\n TableCellCompound,\n TableHeaderProps as CompoundHeaderProps,\n TableColumnProps as CompoundColumnProps,\n TableBodyProps as CompoundBodyProps,\n TableRowProps as CompoundRowProps,\n TableCellProps as CompoundCellProps,\n} from \"./Collection/CompoundComponents\";\nimport { useTableCollection } from \"./Collection/useTableCollection\";\nimport type {\n TableData,\n TableColumnData,\n TableRowData,\n TableCellData,\n} from \"./types\";\nimport { TableRoot } from \"./elements/TableRoot\";\nimport { TableHeader } from \"./elements/TableHeader\";\nimport { TableHeaderRow } from \"./elements/TableHeaderRow\";\nimport { TableHeaderCell } from \"./elements/TableHeaderCell\";\nimport { TableBody } from \"./elements/TableBody\";\nimport { TableRow } from \"./elements/TableRow\";\nimport { TableCell } from \"./elements/TableCell\";\nimport \"./Table.css\";\n\nexport type { TableColumnData, TableCellData, TableRowData, TableData };\n\nexport interface TableProps {\n children: [\n ReactElement<CompoundHeaderProps>,\n ReactElement<CompoundBodyProps>,\n ];\n /** Table name/caption for accessibility. Provides essential context for screen readers about table content. */\n name: string;\n}\n\nconst TableComponent = ({ children, name }: TableProps) => {\n const tableData: TableData = parseTableChildren(children);\n const collection = useTableCollection(tableData);\n\n return (\n <TableRoot\n name={name}\n rowCount={collection.getTotalRowCount}\n colCount={collection.columns.length}\n >\n {/* Header */}\n <TableHeader isHidden={collection.isHeaderHidden}>\n <TableHeaderRow>\n {collection.columns.map((column, index) => (\n <TableHeaderCell\n key={column.key}\n colIndex={collection.getColumnAriaIndex(index)}\n ariaSort={column.ariaSort}\n >\n {column.header}\n </TableHeaderCell>\n ))}\n </TableHeaderRow>\n </TableHeader>\n\n {/* Body */}\n <TableBody>\n {collection.rows.map((row, rowIndex) => {\n if (isValidElement(row)) return row;\n\n const tableRow = row as TableRowData;\n\n return (\n <TableRow\n key={tableRow.key}\n ariaRowIndex={collection.getRowAriaIndex(rowIndex)}\n onClick={tableRow.onClick}\n dataTestId={tableRow.dataTestId}\n >\n {collection.columns.map((column, colIndex) => {\n const cell = tableRow.cells.find(\n (c) => c.columnKey === column.key,\n );\n\n return (\n <TableCell\n key={column.key}\n columnIndex={collection.getColumnAriaIndex(colIndex)}\n columnSpan={cell?.colSpan}\n dataTestId={cell?.dataTestId}\n textAlign={cell?.textAlign}\n >\n {cell?.value ?? \"\"}\n </TableCell>\n );\n })}\n </TableRow>\n );\n })}\n </TableBody>\n </TableRoot>\n );\n};\n\nTableComponent.displayName = \"ProtonUITable\";\n\n/**\n * Base Table component that renders data in rows and columns using collections.\n *\n * ## Features\n * - Built-in keyboard navigation for interactive rows\n * - Full ARIA table semantics with proper roles, labels, and indices\n * - Support for both declarative and custom row rendering\n *\n * @see {@link TableProps} \n * @see {@link CompoundHeaderProps} \n * @see {@link CompoundColumnProps} \n * @see {@link CompoundBodyProps} \n * @see {@link CompoundRowProps} \n * @see {@link CompoundCellProps} \n * @see {@link parseTableChildren} for parser documentation\n *\n * ## Row APIs\n *\n * ### Declarative (Table.Row)\n * Use `Table.Row` with `Table.Cell` for automatic handling of rendering, accessibility, and keyboard navigation.\n *\n * @example\n * ```tsx\n <Table name=\"Employee Directory\">\n <Table.Header>\n <Table.Column id=\"name\">Name</Table.Column>\n </Table.Header>\n <Table.Body>\n <Table.Row key=\"1\">\n <Table.Cell>Joe</Table.Cell>\n </Table.Row>\n </Table.Body>\n </Table>\n * ```\n *\n * ### Imperative (ReactElement)\n * Pass custom components or `<tr>` elements directly to `Table.Body`. Powers advanced use cases like\n * row-level memoization, virtualization, drag-and-drop, or animations.\n *\n * **Consumer Responsibilities for Custom Rows:**\n * - Must directly render a `<tr>` element with `role=\"row\"`\n * - Set `aria-rowindex` (header is 1, data rows start at 2)\n * - Handle keyboard navigation if the row is interactive\n * - Apply styling as needed: `proton-Table__row`, `proton-Table__cell`, etc.\n *\n * @example custom row implementation\n * ```tsx\n const MemoizedRow = memo(({ data, rowIndex }) => (\n <tr\n className=\"proton-Table__row\"\n role=\"row\"\n aria-rowindex={calculateAriaRowIndex(rowIndex)}\n >\n <td className=\"proton-Table__cell\" role=\"cell\">\n {data.name}\n </td>\n </tr>\n ));\n\n <Table.Body>\n {data.map((item, i) => (\n <MemoizedRow key={item.id} data={item} rowIndex={i} />\n ))}\n </Table.Body>\n * ```\n *\n * @example reusable component implementation\n * ```tsx\n const MemoizedRow = memo(({ data, rowIndex }) => (\n <TableRow ariaRowIndex={calculateAriaRowIndex(rowIndex)}>\n <TableCell columnIndex={1}>\n {data.name}\n </TableCell>\n </TableRow>\n ));\n\n <Table.Body>\n {data.map((item, i) => (\n <MemoizedRow key={item.id} data={item} rowIndex={i} />\n ))}\n </Table.Body>\n * ```\n *\n * @see {@link DataTable} for a higher-level component that uses custom rows internally\n * @see {@link DataTableRow} for an example of a memoized custom row implementation\n */\nconst Table = Object.assign(TableComponent, {\n /** Table header: {@link CompoundHeaderProps} */\n Header: TableHeaderCompound,\n /** Table column: {@link CompoundColumnProps} */\n Column: TableColumnCompound,\n /** Table body: {@link CompoundBodyProps} */\n Body: TableBodyCompound,\n /** Table row: {@link CompoundRowProps} */\n Row: TableRowCompound,\n /** Table cell: {@link CompoundCellProps} */\n Cell: TableCellCompound,\n});\n\nexport { Table };\n"],"names":["TableComponent","children","name","tableData","parseTableChildren","collection","useTableCollection","jsxs","TableRoot","jsx","TableHeader","TableHeaderRow","column","index","TableHeaderCell","TableBody","row","rowIndex","isValidElement","tableRow","TableRow","colIndex","cell","c","TableCell","Table","TableHeaderCompound","TableColumnCompound","TableBodyCompound","TableRowCompound","TableCellCompound"],"mappings":"woBAyCA,MAAMA,EAAiB,CAAC,CAAE,SAAAC,EAAU,KAAAC,KAAuB,CACnD,MAAAC,EAAuBC,qBAAmBH,CAAQ,EAClDI,EAAaC,qBAAmBH,CAAS,EAG7C,OAAAI,EAAA,kBAAA,KAACC,EAAA,UAAA,CACC,KAAAN,EACA,SAAUG,EAAW,iBACrB,SAAUA,EAAW,QAAQ,OAG7B,SAAA,CAACI,EAAA,kBAAA,IAAAC,EAAA,YAAA,CAAY,SAAUL,EAAW,eAChC,SAAAI,EAAA,kBAAA,IAACE,EACE,eAAA,CAAA,SAAAN,EAAW,QAAQ,IAAI,CAACO,EAAQC,IAC/BJ,EAAA,kBAAA,IAACK,EAAA,gBAAA,CAEC,SAAUT,EAAW,mBAAmBQ,CAAK,EAC7C,SAAUD,EAAO,SAEhB,SAAOA,EAAA,MAAA,EAJHA,EAAO,GAAA,CAMf,EACH,CACF,CAAA,0BAGCG,EAAAA,UACE,CAAA,SAAAV,EAAW,KAAK,IAAI,CAACW,EAAKC,IAAa,CAClC,GAAAC,iBAAeF,CAAG,EAAU,OAAAA,EAEhC,MAAMG,EAAWH,EAGf,OAAAP,EAAA,kBAAA,IAACW,EAAA,SAAA,CAEC,aAAcf,EAAW,gBAAgBY,CAAQ,EACjD,QAASE,EAAS,QAClB,WAAYA,EAAS,WAEpB,SAAWd,EAAA,QAAQ,IAAI,CAACO,EAAQS,IAAa,CACtC,MAAAC,EAAOH,EAAS,MAAM,KACzBI,GAAMA,EAAE,YAAcX,EAAO,GAAA,EAI9B,OAAAH,EAAA,kBAAA,IAACe,EAAA,UAAA,CAEC,YAAanB,EAAW,mBAAmBgB,CAAQ,EACnD,WAAYC,GAAA,YAAAA,EAAM,QAClB,WAAYA,GAAA,YAAAA,EAAM,WAClB,UAAWA,GAAA,YAAAA,EAAM,UAEhB,2BAAM,QAAS,EAAA,EANXV,EAAO,GAAA,CAOd,CAEH,CAAA,EArBIO,EAAS,GAAA,CAwBnB,CAAA,EACH,CAAA,CAAA,CAAA,CAGN,EAEAnB,EAAe,YAAc,gBAwFvB,MAAAyB,EAAQ,OAAO,OAAOzB,EAAgB,CAE1C,OAAQ0B,EAAA,oBAER,OAAQC,EAAA,oBAER,KAAMC,EAAA,kBAEN,IAAKC,EAAA,iBAEL,KAAMC,EAAA,iBACR,CAAC"}
1
+ {"version":3,"file":"Table.cjs.js","sources":["../../../../src/components/Table/BaseTable/Table.tsx"],"sourcesContent":["import { ReactElement, isValidElement } from \"react\";\nimport { parseTableChildren } from \"./Collection/collectionParser\";\nimport {\n TableHeaderCompound,\n TableColumnCompound,\n TableBodyCompound,\n TableRowCompound,\n TableCellCompound,\n TableHeaderProps as CompoundHeaderProps,\n TableColumnProps as CompoundColumnProps,\n TableBodyProps as CompoundBodyProps,\n TableRowProps as CompoundRowProps,\n TableCellProps as CompoundCellProps,\n} from \"./Collection/CompoundComponents\";\nimport { useTableCollection } from \"./Collection/useTableCollection\";\nimport type {\n TableData,\n TableColumnData,\n TableRowData,\n TableCellData,\n} from \"./types\";\nimport { TableRoot } from \"./elements/TableRoot\";\nimport { TableHeader } from \"./elements/TableHeader\";\nimport { TableHeaderRow } from \"./elements/TableHeaderRow\";\nimport { TableHeaderCell } from \"./elements/TableHeaderCell\";\nimport { TableBody } from \"./elements/TableBody\";\nimport { TableRow } from \"./elements/TableRow\";\nimport { TableCell } from \"./elements/TableCell\";\nimport \"./Table.css\";\n\nexport type { TableColumnData, TableCellData, TableRowData, TableData };\n\nexport interface TableProps {\n children: [\n ReactElement<CompoundHeaderProps>,\n ReactElement<CompoundBodyProps>,\n ];\n /** Table name/caption for accessibility. Provides essential context for screen readers about table content. */\n name: string;\n}\n\nconst TableComponent = ({ children, name }: TableProps) => {\n const tableData: TableData = parseTableChildren(children);\n const collection = useTableCollection(tableData);\n\n return (\n <TableRoot\n name={name}\n rowCount={collection.getTotalRowCount}\n colCount={collection.columns.length}\n >\n {/* Header */}\n <TableHeader isHidden={collection.isHeaderHidden}>\n <TableHeaderRow>\n {collection.columns.map((column, index) => (\n <TableHeaderCell\n key={column.key}\n colIndex={collection.getColumnAriaIndex(index)}\n ariaSort={column.ariaSort}\n >\n {column.header}\n </TableHeaderCell>\n ))}\n </TableHeaderRow>\n </TableHeader>\n\n {/* Body */}\n <TableBody>\n {collection.rows.map((row, rowIndex) => {\n if (isValidElement(row)) return row;\n\n const tableRow = row as TableRowData;\n\n return (\n <TableRow\n key={tableRow.key}\n ariaRowIndex={collection.getRowAriaIndex(rowIndex)}\n onClick={tableRow.onClick}\n dataTestId={tableRow.dataTestId}\n >\n {collection.columns.map((column, colIndex) => {\n const cell = tableRow.cells.find(\n (c) => c.columnKey === column.key,\n );\n\n return (\n <TableCell\n key={column.key}\n columnIndex={collection.getColumnAriaIndex(colIndex)}\n columnSpan={cell?.colSpan}\n dataTestId={cell?.dataTestId}\n textAlign={cell?.textAlign}\n >\n {cell?.value ?? \"\"}\n </TableCell>\n );\n })}\n </TableRow>\n );\n })}\n </TableBody>\n </TableRoot>\n );\n};\n\nTableComponent.displayName = \"ProtonUITable\";\n\n/**\n * Base Table component that renders data in rows and columns using collections.\n *\n * ## Features\n * - Built-in keyboard navigation for interactive rows\n * - Full ARIA table semantics with proper roles, labels, and indices\n * - Support for both declarative and custom row rendering\n *\n * @see {@link TableProps} \n * @see {@link CompoundHeaderProps} \n * @see {@link CompoundColumnProps} \n * @see {@link CompoundBodyProps} \n * @see {@link CompoundRowProps} \n * @see {@link CompoundCellProps} \n * @see {@link parseTableChildren} for parser documentation\n *\n * ## Row APIs\n *\n * ### Declarative (Table.Row)\n * Use `Table.Row` with `Table.Cell` for automatic handling of rendering, accessibility, and keyboard navigation.\n *\n * @example\n * ```tsx\n <Table name=\"Employee Directory\">\n <Table.Header>\n <Table.Column id=\"name\">Name</Table.Column>\n </Table.Header>\n <Table.Body>\n <Table.Row key=\"1\">\n <Table.Cell>Joe</Table.Cell>\n </Table.Row>\n </Table.Body>\n </Table>\n * ```\n *\n * ### Imperative (ReactElement)\n * Pass custom components or `<tr>` elements directly to `Table.Body`. Powers advanced use cases like\n * row-level memoization, virtualization, drag-and-drop, or animations.\n *\n * **Consumer Responsibilities for Custom Rows:**\n * - Must directly render a `<tr>` element with `role=\"row\"`\n * - Set `aria-rowindex` (header is 1, data rows start at 2)\n * - Handle keyboard navigation if the row is interactive\n * - Apply styling as needed: `proton-Table__row`, `proton-Table__cell`, etc.\n *\n * @example custom row implementation\n * ```tsx\n const MemoizedRow = memo(({ data, rowIndex }) => (\n <tr\n className=\"proton-Table__row\"\n role=\"row\"\n aria-rowindex={calculateAriaRowIndex(rowIndex)}\n >\n <td className=\"proton-Table__cell\" role=\"cell\">\n {data.name}\n </td>\n </tr>\n ));\n\n <Table.Body>\n {data.map((item, i) => (\n <MemoizedRow key={item.id} data={item} rowIndex={i} />\n ))}\n </Table.Body>\n * ```\n *\n * @example reusable component implementation\n * ```tsx\n const MemoizedRow = memo(({ data, rowIndex }) => (\n <TableRow ariaRowIndex={calculateAriaRowIndex(rowIndex)}>\n <TableCell columnIndex={1}>\n {data.name}\n </TableCell>\n </TableRow>\n ));\n\n <Table.Body>\n {data.map((item, i) => (\n <MemoizedRow key={item.id} data={item} rowIndex={i} />\n ))}\n </Table.Body>\n * ```\n *\n * @see {@link DataTable} for a higher-level component that uses custom rows internally\n * @see {@link DataTableRow} for an example of a memoized custom row implementation\n */\nconst Table = Object.assign(TableComponent, {\n /** Table header: {@link CompoundHeaderProps} */\n Header: TableHeaderCompound,\n /** Table column: {@link CompoundColumnProps} */\n Column: TableColumnCompound,\n /** Table body: {@link CompoundBodyProps} */\n Body: TableBodyCompound,\n /** Table row: {@link CompoundRowProps} */\n Row: TableRowCompound,\n /** Table cell: {@link CompoundCellProps} */\n Cell: TableCellCompound,\n});\n\nexport { Table };\n"],"names":["TableComponent","children","name","tableData","parseTableChildren","collection","useTableCollection","jsxs","TableRoot","jsx","TableHeader","TableHeaderRow","column","index","TableHeaderCell","TableBody","row","rowIndex","isValidElement","tableRow","TableRow","colIndex","cell","c","TableCell","Table","TableHeaderCompound","TableColumnCompound","TableBodyCompound","TableRowCompound","TableCellCompound"],"mappings":"woBAyCA,MAAMA,EAAiB,CAAC,CAAE,SAAAC,EAAU,KAAAC,KAAuB,CACzD,MAAMC,EAAuBC,EAAAA,mBAAmBH,CAAQ,EAClDI,EAAaC,EAAAA,mBAAmBH,CAAS,EAE/C,OACEI,EAAAA,kBAAAA,KAACC,EAAAA,UAAA,CACC,KAAAN,EACA,SAAUG,EAAW,iBACrB,SAAUA,EAAW,QAAQ,OAG7B,SAAA,CAAAI,EAAAA,kBAAAA,IAACC,EAAAA,YAAA,CAAY,SAAUL,EAAW,eAChC,SAAAI,EAAAA,kBAAAA,IAACE,EAAAA,eAAA,CACE,SAAAN,EAAW,QAAQ,IAAI,CAACO,EAAQC,IAC/BJ,EAAAA,kBAAAA,IAACK,EAAAA,gBAAA,CAEC,SAAUT,EAAW,mBAAmBQ,CAAK,EAC7C,SAAUD,EAAO,SAEhB,SAAAA,EAAO,MAAA,EAJHA,EAAO,GAAA,CAMf,EACH,CAAA,CACF,0BAGCG,EAAAA,UAAA,CACE,SAAAV,EAAW,KAAK,IAAI,CAACW,EAAKC,IAAa,CACtC,GAAIC,EAAAA,eAAeF,CAAG,EAAG,OAAOA,EAEhC,MAAMG,EAAWH,EAEjB,OACEP,EAAAA,kBAAAA,IAACW,EAAAA,SAAA,CAEC,aAAcf,EAAW,gBAAgBY,CAAQ,EACjD,QAASE,EAAS,QAClB,WAAYA,EAAS,WAEpB,SAAAd,EAAW,QAAQ,IAAI,CAACO,EAAQS,IAAa,CAC5C,MAAMC,EAAOH,EAAS,MAAM,KACzBI,GAAMA,EAAE,YAAcX,EAAO,GAAA,EAGhC,OACEH,EAAAA,kBAAAA,IAACe,EAAAA,UAAA,CAEC,YAAanB,EAAW,mBAAmBgB,CAAQ,EACnD,WAAYC,GAAA,YAAAA,EAAM,QAClB,WAAYA,GAAA,YAAAA,EAAM,WAClB,UAAWA,GAAA,YAAAA,EAAM,UAEhB,2BAAM,QAAS,EAAA,EANXV,EAAO,GAAA,CASlB,CAAC,CAAA,EArBIO,EAAS,GAAA,CAwBpB,CAAC,CAAA,CACH,CAAA,CAAA,CAAA,CAGN,EAEAnB,EAAe,YAAc,gBAwF7B,MAAMyB,EAAQ,OAAO,OAAOzB,EAAgB,CAE1C,OAAQ0B,EAAAA,oBAER,OAAQC,EAAAA,oBAER,KAAMC,EAAAA,kBAEN,IAAKC,EAAAA,iBAEL,KAAMC,EAAAA,iBACR,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { j as t } from "../../../node_modules/react/jsx-runtime.es.js";
2
2
  import { isValidElement as T } from "react";
3
3
  import { parseTableChildren as C } from "./Collection/collectionParser.es.js";
4
- import { TableHeaderCompound as b, TableColumnCompound as c, TableBodyCompound as x, TableRowCompound as f, TableCellCompound as I } from "./Collection/CompoundComponents.es.js";
4
+ import { TableCellCompound as b, TableRowCompound as c, TableBodyCompound as x, TableColumnCompound as f, TableHeaderCompound as I } from "./Collection/CompoundComponents.es.js";
5
5
  import { useTableCollection as h } from "./Collection/useTableCollection.es.js";
6
6
  import { TableRoot as j } from "./elements/TableRoot.es.js";
7
7
  import { TableHeader as R } from "./elements/TableHeader.es.js";
@@ -65,15 +65,15 @@ const d = ({ children: i, name: m }) => {
65
65
  d.displayName = "ProtonUITable";
66
66
  const z = Object.assign(d, {
67
67
  /** Table header: {@link CompoundHeaderProps} */
68
- Header: b,
68
+ Header: I,
69
69
  /** Table column: {@link CompoundColumnProps} */
70
- Column: c,
70
+ Column: f,
71
71
  /** Table body: {@link CompoundBodyProps} */
72
72
  Body: x,
73
73
  /** Table row: {@link CompoundRowProps} */
74
- Row: f,
74
+ Row: c,
75
75
  /** Table cell: {@link CompoundCellProps} */
76
- Cell: I
76
+ Cell: b
77
77
  });
78
78
  export {
79
79
  z as Table
@@ -1 +1 @@
1
- {"version":3,"file":"Table.es.js","sources":["../../../../src/components/Table/BaseTable/Table.tsx"],"sourcesContent":["import { ReactElement, isValidElement } from \"react\";\nimport { parseTableChildren } from \"./Collection/collectionParser\";\nimport {\n TableHeaderCompound,\n TableColumnCompound,\n TableBodyCompound,\n TableRowCompound,\n TableCellCompound,\n TableHeaderProps as CompoundHeaderProps,\n TableColumnProps as CompoundColumnProps,\n TableBodyProps as CompoundBodyProps,\n TableRowProps as CompoundRowProps,\n TableCellProps as CompoundCellProps,\n} from \"./Collection/CompoundComponents\";\nimport { useTableCollection } from \"./Collection/useTableCollection\";\nimport type {\n TableData,\n TableColumnData,\n TableRowData,\n TableCellData,\n} from \"./types\";\nimport { TableRoot } from \"./elements/TableRoot\";\nimport { TableHeader } from \"./elements/TableHeader\";\nimport { TableHeaderRow } from \"./elements/TableHeaderRow\";\nimport { TableHeaderCell } from \"./elements/TableHeaderCell\";\nimport { TableBody } from \"./elements/TableBody\";\nimport { TableRow } from \"./elements/TableRow\";\nimport { TableCell } from \"./elements/TableCell\";\nimport \"./Table.css\";\n\nexport type { TableColumnData, TableCellData, TableRowData, TableData };\n\nexport interface TableProps {\n children: [\n ReactElement<CompoundHeaderProps>,\n ReactElement<CompoundBodyProps>,\n ];\n /** Table name/caption for accessibility. Provides essential context for screen readers about table content. */\n name: string;\n}\n\nconst TableComponent = ({ children, name }: TableProps) => {\n const tableData: TableData = parseTableChildren(children);\n const collection = useTableCollection(tableData);\n\n return (\n <TableRoot\n name={name}\n rowCount={collection.getTotalRowCount}\n colCount={collection.columns.length}\n >\n {/* Header */}\n <TableHeader isHidden={collection.isHeaderHidden}>\n <TableHeaderRow>\n {collection.columns.map((column, index) => (\n <TableHeaderCell\n key={column.key}\n colIndex={collection.getColumnAriaIndex(index)}\n ariaSort={column.ariaSort}\n >\n {column.header}\n </TableHeaderCell>\n ))}\n </TableHeaderRow>\n </TableHeader>\n\n {/* Body */}\n <TableBody>\n {collection.rows.map((row, rowIndex) => {\n if (isValidElement(row)) return row;\n\n const tableRow = row as TableRowData;\n\n return (\n <TableRow\n key={tableRow.key}\n ariaRowIndex={collection.getRowAriaIndex(rowIndex)}\n onClick={tableRow.onClick}\n dataTestId={tableRow.dataTestId}\n >\n {collection.columns.map((column, colIndex) => {\n const cell = tableRow.cells.find(\n (c) => c.columnKey === column.key,\n );\n\n return (\n <TableCell\n key={column.key}\n columnIndex={collection.getColumnAriaIndex(colIndex)}\n columnSpan={cell?.colSpan}\n dataTestId={cell?.dataTestId}\n textAlign={cell?.textAlign}\n >\n {cell?.value ?? \"\"}\n </TableCell>\n );\n })}\n </TableRow>\n );\n })}\n </TableBody>\n </TableRoot>\n );\n};\n\nTableComponent.displayName = \"ProtonUITable\";\n\n/**\n * Base Table component that renders data in rows and columns using collections.\n *\n * ## Features\n * - Built-in keyboard navigation for interactive rows\n * - Full ARIA table semantics with proper roles, labels, and indices\n * - Support for both declarative and custom row rendering\n *\n * @see {@link TableProps} \n * @see {@link CompoundHeaderProps} \n * @see {@link CompoundColumnProps} \n * @see {@link CompoundBodyProps} \n * @see {@link CompoundRowProps} \n * @see {@link CompoundCellProps} \n * @see {@link parseTableChildren} for parser documentation\n *\n * ## Row APIs\n *\n * ### Declarative (Table.Row)\n * Use `Table.Row` with `Table.Cell` for automatic handling of rendering, accessibility, and keyboard navigation.\n *\n * @example\n * ```tsx\n <Table name=\"Employee Directory\">\n <Table.Header>\n <Table.Column id=\"name\">Name</Table.Column>\n </Table.Header>\n <Table.Body>\n <Table.Row key=\"1\">\n <Table.Cell>Joe</Table.Cell>\n </Table.Row>\n </Table.Body>\n </Table>\n * ```\n *\n * ### Imperative (ReactElement)\n * Pass custom components or `<tr>` elements directly to `Table.Body`. Powers advanced use cases like\n * row-level memoization, virtualization, drag-and-drop, or animations.\n *\n * **Consumer Responsibilities for Custom Rows:**\n * - Must directly render a `<tr>` element with `role=\"row\"`\n * - Set `aria-rowindex` (header is 1, data rows start at 2)\n * - Handle keyboard navigation if the row is interactive\n * - Apply styling as needed: `proton-Table__row`, `proton-Table__cell`, etc.\n *\n * @example custom row implementation\n * ```tsx\n const MemoizedRow = memo(({ data, rowIndex }) => (\n <tr\n className=\"proton-Table__row\"\n role=\"row\"\n aria-rowindex={calculateAriaRowIndex(rowIndex)}\n >\n <td className=\"proton-Table__cell\" role=\"cell\">\n {data.name}\n </td>\n </tr>\n ));\n\n <Table.Body>\n {data.map((item, i) => (\n <MemoizedRow key={item.id} data={item} rowIndex={i} />\n ))}\n </Table.Body>\n * ```\n *\n * @example reusable component implementation\n * ```tsx\n const MemoizedRow = memo(({ data, rowIndex }) => (\n <TableRow ariaRowIndex={calculateAriaRowIndex(rowIndex)}>\n <TableCell columnIndex={1}>\n {data.name}\n </TableCell>\n </TableRow>\n ));\n\n <Table.Body>\n {data.map((item, i) => (\n <MemoizedRow key={item.id} data={item} rowIndex={i} />\n ))}\n </Table.Body>\n * ```\n *\n * @see {@link DataTable} for a higher-level component that uses custom rows internally\n * @see {@link DataTableRow} for an example of a memoized custom row implementation\n */\nconst Table = Object.assign(TableComponent, {\n /** Table header: {@link CompoundHeaderProps} */\n Header: TableHeaderCompound,\n /** Table column: {@link CompoundColumnProps} */\n Column: TableColumnCompound,\n /** Table body: {@link CompoundBodyProps} */\n Body: TableBodyCompound,\n /** Table row: {@link CompoundRowProps} */\n Row: TableRowCompound,\n /** Table cell: {@link CompoundCellProps} */\n Cell: TableCellCompound,\n});\n\nexport { Table };\n"],"names":["TableComponent","children","name","tableData","parseTableChildren","collection","useTableCollection","jsxs","TableRoot","jsx","TableHeader","TableHeaderRow","column","index","TableHeaderCell","TableBody","row","rowIndex","isValidElement","tableRow","TableRow","colIndex","cell","c","TableCell","Table","TableHeaderCompound","TableColumnCompound","TableBodyCompound","TableRowCompound","TableCellCompound"],"mappings":";;;;;;;;;;;;;AAyCA,MAAMA,IAAiB,CAAC,EAAE,UAAAC,GAAU,MAAAC,QAAuB;AACnD,QAAAC,IAAuBC,EAAmBH,CAAQ,GAClDI,IAAaC,EAAmBH,CAAS;AAG7C,SAAAI,gBAAAA,EAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAAN;AAAA,MACA,UAAUG,EAAW;AAAA,MACrB,UAAUA,EAAW,QAAQ;AAAA,MAG7B,UAAA;AAAA,QAACI,gBAAAA,EAAA,IAAAC,GAAA,EAAY,UAAUL,EAAW,gBAChC,UAAAI,gBAAAA,EAAA,IAACE,GACE,EAAA,UAAAN,EAAW,QAAQ,IAAI,CAACO,GAAQC,MAC/BJ,gBAAAA,EAAA;AAAA,UAACK;AAAA,UAAA;AAAA,YAEC,UAAUT,EAAW,mBAAmBQ,CAAK;AAAA,YAC7C,UAAUD,EAAO;AAAA,YAEhB,UAAOA,EAAA;AAAA,UAAA;AAAA,UAJHA,EAAO;AAAA,QAAA,CAMf,GACH,EACF,CAAA;AAAA,8BAGCG,GACE,EAAA,UAAAV,EAAW,KAAK,IAAI,CAACW,GAAKC,MAAa;AAClC,cAAAC,EAAeF,CAAG,EAAU,QAAAA;AAEhC,gBAAMG,IAAWH;AAGf,iBAAAP,gBAAAA,EAAA;AAAA,YAACW;AAAA,YAAA;AAAA,cAEC,cAAcf,EAAW,gBAAgBY,CAAQ;AAAA,cACjD,SAASE,EAAS;AAAA,cAClB,YAAYA,EAAS;AAAA,cAEpB,UAAWd,EAAA,QAAQ,IAAI,CAACO,GAAQS,MAAa;AACtC,sBAAAC,IAAOH,EAAS,MAAM;AAAA,kBAC1B,CAACI,MAAMA,EAAE,cAAcX,EAAO;AAAA,gBAAA;AAI9B,uBAAAH,gBAAAA,EAAA;AAAA,kBAACe;AAAA,kBAAA;AAAA,oBAEC,aAAanB,EAAW,mBAAmBgB,CAAQ;AAAA,oBACnD,YAAYC,KAAA,gBAAAA,EAAM;AAAA,oBAClB,YAAYA,KAAA,gBAAAA,EAAM;AAAA,oBAClB,WAAWA,KAAA,gBAAAA,EAAM;AAAA,oBAEhB,kCAAM,UAAS;AAAA,kBAAA;AAAA,kBANXV,EAAO;AAAA,gBAAA;AAAA,cAOd,CAEH;AAAA,YAAA;AAAA,YArBIO,EAAS;AAAA,UAAA;AAAA,QAwBnB,CAAA,GACH;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN;AAEAnB,EAAe,cAAc;AAwFvB,MAAAyB,IAAQ,OAAO,OAAOzB,GAAgB;AAAA;AAAA,EAE1C,QAAQ0B;AAAA;AAAA,EAER,QAAQC;AAAA;AAAA,EAER,MAAMC;AAAA;AAAA,EAEN,KAAKC;AAAA;AAAA,EAEL,MAAMC;AACR,CAAC;"}
1
+ {"version":3,"file":"Table.es.js","sources":["../../../../src/components/Table/BaseTable/Table.tsx"],"sourcesContent":["import { ReactElement, isValidElement } from \"react\";\nimport { parseTableChildren } from \"./Collection/collectionParser\";\nimport {\n TableHeaderCompound,\n TableColumnCompound,\n TableBodyCompound,\n TableRowCompound,\n TableCellCompound,\n TableHeaderProps as CompoundHeaderProps,\n TableColumnProps as CompoundColumnProps,\n TableBodyProps as CompoundBodyProps,\n TableRowProps as CompoundRowProps,\n TableCellProps as CompoundCellProps,\n} from \"./Collection/CompoundComponents\";\nimport { useTableCollection } from \"./Collection/useTableCollection\";\nimport type {\n TableData,\n TableColumnData,\n TableRowData,\n TableCellData,\n} from \"./types\";\nimport { TableRoot } from \"./elements/TableRoot\";\nimport { TableHeader } from \"./elements/TableHeader\";\nimport { TableHeaderRow } from \"./elements/TableHeaderRow\";\nimport { TableHeaderCell } from \"./elements/TableHeaderCell\";\nimport { TableBody } from \"./elements/TableBody\";\nimport { TableRow } from \"./elements/TableRow\";\nimport { TableCell } from \"./elements/TableCell\";\nimport \"./Table.css\";\n\nexport type { TableColumnData, TableCellData, TableRowData, TableData };\n\nexport interface TableProps {\n children: [\n ReactElement<CompoundHeaderProps>,\n ReactElement<CompoundBodyProps>,\n ];\n /** Table name/caption for accessibility. Provides essential context for screen readers about table content. */\n name: string;\n}\n\nconst TableComponent = ({ children, name }: TableProps) => {\n const tableData: TableData = parseTableChildren(children);\n const collection = useTableCollection(tableData);\n\n return (\n <TableRoot\n name={name}\n rowCount={collection.getTotalRowCount}\n colCount={collection.columns.length}\n >\n {/* Header */}\n <TableHeader isHidden={collection.isHeaderHidden}>\n <TableHeaderRow>\n {collection.columns.map((column, index) => (\n <TableHeaderCell\n key={column.key}\n colIndex={collection.getColumnAriaIndex(index)}\n ariaSort={column.ariaSort}\n >\n {column.header}\n </TableHeaderCell>\n ))}\n </TableHeaderRow>\n </TableHeader>\n\n {/* Body */}\n <TableBody>\n {collection.rows.map((row, rowIndex) => {\n if (isValidElement(row)) return row;\n\n const tableRow = row as TableRowData;\n\n return (\n <TableRow\n key={tableRow.key}\n ariaRowIndex={collection.getRowAriaIndex(rowIndex)}\n onClick={tableRow.onClick}\n dataTestId={tableRow.dataTestId}\n >\n {collection.columns.map((column, colIndex) => {\n const cell = tableRow.cells.find(\n (c) => c.columnKey === column.key,\n );\n\n return (\n <TableCell\n key={column.key}\n columnIndex={collection.getColumnAriaIndex(colIndex)}\n columnSpan={cell?.colSpan}\n dataTestId={cell?.dataTestId}\n textAlign={cell?.textAlign}\n >\n {cell?.value ?? \"\"}\n </TableCell>\n );\n })}\n </TableRow>\n );\n })}\n </TableBody>\n </TableRoot>\n );\n};\n\nTableComponent.displayName = \"ProtonUITable\";\n\n/**\n * Base Table component that renders data in rows and columns using collections.\n *\n * ## Features\n * - Built-in keyboard navigation for interactive rows\n * - Full ARIA table semantics with proper roles, labels, and indices\n * - Support for both declarative and custom row rendering\n *\n * @see {@link TableProps} \n * @see {@link CompoundHeaderProps} \n * @see {@link CompoundColumnProps} \n * @see {@link CompoundBodyProps} \n * @see {@link CompoundRowProps} \n * @see {@link CompoundCellProps} \n * @see {@link parseTableChildren} for parser documentation\n *\n * ## Row APIs\n *\n * ### Declarative (Table.Row)\n * Use `Table.Row` with `Table.Cell` for automatic handling of rendering, accessibility, and keyboard navigation.\n *\n * @example\n * ```tsx\n <Table name=\"Employee Directory\">\n <Table.Header>\n <Table.Column id=\"name\">Name</Table.Column>\n </Table.Header>\n <Table.Body>\n <Table.Row key=\"1\">\n <Table.Cell>Joe</Table.Cell>\n </Table.Row>\n </Table.Body>\n </Table>\n * ```\n *\n * ### Imperative (ReactElement)\n * Pass custom components or `<tr>` elements directly to `Table.Body`. Powers advanced use cases like\n * row-level memoization, virtualization, drag-and-drop, or animations.\n *\n * **Consumer Responsibilities for Custom Rows:**\n * - Must directly render a `<tr>` element with `role=\"row\"`\n * - Set `aria-rowindex` (header is 1, data rows start at 2)\n * - Handle keyboard navigation if the row is interactive\n * - Apply styling as needed: `proton-Table__row`, `proton-Table__cell`, etc.\n *\n * @example custom row implementation\n * ```tsx\n const MemoizedRow = memo(({ data, rowIndex }) => (\n <tr\n className=\"proton-Table__row\"\n role=\"row\"\n aria-rowindex={calculateAriaRowIndex(rowIndex)}\n >\n <td className=\"proton-Table__cell\" role=\"cell\">\n {data.name}\n </td>\n </tr>\n ));\n\n <Table.Body>\n {data.map((item, i) => (\n <MemoizedRow key={item.id} data={item} rowIndex={i} />\n ))}\n </Table.Body>\n * ```\n *\n * @example reusable component implementation\n * ```tsx\n const MemoizedRow = memo(({ data, rowIndex }) => (\n <TableRow ariaRowIndex={calculateAriaRowIndex(rowIndex)}>\n <TableCell columnIndex={1}>\n {data.name}\n </TableCell>\n </TableRow>\n ));\n\n <Table.Body>\n {data.map((item, i) => (\n <MemoizedRow key={item.id} data={item} rowIndex={i} />\n ))}\n </Table.Body>\n * ```\n *\n * @see {@link DataTable} for a higher-level component that uses custom rows internally\n * @see {@link DataTableRow} for an example of a memoized custom row implementation\n */\nconst Table = Object.assign(TableComponent, {\n /** Table header: {@link CompoundHeaderProps} */\n Header: TableHeaderCompound,\n /** Table column: {@link CompoundColumnProps} */\n Column: TableColumnCompound,\n /** Table body: {@link CompoundBodyProps} */\n Body: TableBodyCompound,\n /** Table row: {@link CompoundRowProps} */\n Row: TableRowCompound,\n /** Table cell: {@link CompoundCellProps} */\n Cell: TableCellCompound,\n});\n\nexport { Table };\n"],"names":["TableComponent","children","name","tableData","parseTableChildren","collection","useTableCollection","jsxs","TableRoot","jsx","TableHeader","TableHeaderRow","column","index","TableHeaderCell","TableBody","row","rowIndex","isValidElement","tableRow","TableRow","colIndex","cell","c","TableCell","Table","TableHeaderCompound","TableColumnCompound","TableBodyCompound","TableRowCompound","TableCellCompound"],"mappings":";;;;;;;;;;;;;AAyCA,MAAMA,IAAiB,CAAC,EAAE,UAAAC,GAAU,MAAAC,QAAuB;AACzD,QAAMC,IAAuBC,EAAmBH,CAAQ,GAClDI,IAAaC,EAAmBH,CAAS;AAE/C,SACEI,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAAN;AAAA,MACA,UAAUG,EAAW;AAAA,MACrB,UAAUA,EAAW,QAAQ;AAAA,MAG7B,UAAA;AAAA,QAAAI,gBAAAA,EAAAA,IAACC,GAAA,EAAY,UAAUL,EAAW,gBAChC,UAAAI,gBAAAA,EAAAA,IAACE,GAAA,EACE,UAAAN,EAAW,QAAQ,IAAI,CAACO,GAAQC,MAC/BJ,gBAAAA,EAAAA;AAAAA,UAACK;AAAA,UAAA;AAAA,YAEC,UAAUT,EAAW,mBAAmBQ,CAAK;AAAA,YAC7C,UAAUD,EAAO;AAAA,YAEhB,UAAAA,EAAO;AAAA,UAAA;AAAA,UAJHA,EAAO;AAAA,QAAA,CAMf,GACH,EAAA,CACF;AAAA,8BAGCG,GAAA,EACE,UAAAV,EAAW,KAAK,IAAI,CAACW,GAAKC,MAAa;AACtC,cAAIC,EAAeF,CAAG,EAAG,QAAOA;AAEhC,gBAAMG,IAAWH;AAEjB,iBACEP,gBAAAA,EAAAA;AAAAA,YAACW;AAAA,YAAA;AAAA,cAEC,cAAcf,EAAW,gBAAgBY,CAAQ;AAAA,cACjD,SAASE,EAAS;AAAA,cAClB,YAAYA,EAAS;AAAA,cAEpB,UAAAd,EAAW,QAAQ,IAAI,CAACO,GAAQS,MAAa;AAC5C,sBAAMC,IAAOH,EAAS,MAAM;AAAA,kBAC1B,CAACI,MAAMA,EAAE,cAAcX,EAAO;AAAA,gBAAA;AAGhC,uBACEH,gBAAAA,EAAAA;AAAAA,kBAACe;AAAA,kBAAA;AAAA,oBAEC,aAAanB,EAAW,mBAAmBgB,CAAQ;AAAA,oBACnD,YAAYC,KAAA,gBAAAA,EAAM;AAAA,oBAClB,YAAYA,KAAA,gBAAAA,EAAM;AAAA,oBAClB,WAAWA,KAAA,gBAAAA,EAAM;AAAA,oBAEhB,kCAAM,UAAS;AAAA,kBAAA;AAAA,kBANXV,EAAO;AAAA,gBAAA;AAAA,cASlB,CAAC;AAAA,YAAA;AAAA,YArBIO,EAAS;AAAA,UAAA;AAAA,QAwBpB,CAAC,EAAA,CACH;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN;AAEAnB,EAAe,cAAc;AAwF7B,MAAMyB,IAAQ,OAAO,OAAOzB,GAAgB;AAAA;AAAA,EAE1C,QAAQ0B;AAAA;AAAA,EAER,QAAQC;AAAA;AAAA,EAER,MAAMC;AAAA;AAAA,EAEN,KAAKC;AAAA;AAAA,EAEL,MAAMC;AACR,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"TableBody.cjs.js","sources":["../../../../../src/components/Table/BaseTable/elements/TableBody.tsx"],"sourcesContent":["import { ReactNode } from \"react\";\n\nexport interface TableBodyProps {\n /** Table row content */\n children: ReactNode;\n}\n\n/**\n * Table body element (`<tbody>`) with styling and ARIA attributes.\n *\n * @see {@link TableBodyProps}\n */\nexport const TableBody = ({ children }: TableBodyProps) => {\n return (\n <tbody className=\"proton-Table__body\" role=\"rowgroup\">\n {children}\n </tbody>\n );\n};\n\nTableBody.displayName = \"ProtonUITableBody\";\n"],"names":["TableBody","children"],"mappings":"qJAYaA,EAAY,CAAC,CAAE,SAAAC,6BAEvB,QAAM,CAAA,UAAU,qBAAqB,KAAK,WACxC,SAAAA,CACH,CAAA,EAIJD,EAAU,YAAc"}
1
+ {"version":3,"file":"TableBody.cjs.js","sources":["../../../../../src/components/Table/BaseTable/elements/TableBody.tsx"],"sourcesContent":["import { ReactNode } from \"react\";\n\nexport interface TableBodyProps {\n /** Table row content */\n children: ReactNode;\n}\n\n/**\n * Table body element (`<tbody>`) with styling and ARIA attributes.\n *\n * @see {@link TableBodyProps}\n */\nexport const TableBody = ({ children }: TableBodyProps) => {\n return (\n <tbody className=\"proton-Table__body\" role=\"rowgroup\">\n {children}\n </tbody>\n );\n};\n\nTableBody.displayName = \"ProtonUITableBody\";\n"],"names":["TableBody","children"],"mappings":"qJAYaA,EAAY,CAAC,CAAE,SAAAC,6BAEvB,QAAA,CAAM,UAAU,qBAAqB,KAAK,WACxC,SAAAA,EACH,EAIJD,EAAU,YAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"TableBody.es.js","sources":["../../../../../src/components/Table/BaseTable/elements/TableBody.tsx"],"sourcesContent":["import { ReactNode } from \"react\";\n\nexport interface TableBodyProps {\n /** Table row content */\n children: ReactNode;\n}\n\n/**\n * Table body element (`<tbody>`) with styling and ARIA attributes.\n *\n * @see {@link TableBodyProps}\n */\nexport const TableBody = ({ children }: TableBodyProps) => {\n return (\n <tbody className=\"proton-Table__body\" role=\"rowgroup\">\n {children}\n </tbody>\n );\n};\n\nTableBody.displayName = \"ProtonUITableBody\";\n"],"names":["TableBody","children"],"mappings":";AAYO,MAAMA,IAAY,CAAC,EAAE,UAAAC,8BAEvB,SAAM,EAAA,WAAU,sBAAqB,MAAK,YACxC,UAAAA,EACH,CAAA;AAIJD,EAAU,cAAc;"}
1
+ {"version":3,"file":"TableBody.es.js","sources":["../../../../../src/components/Table/BaseTable/elements/TableBody.tsx"],"sourcesContent":["import { ReactNode } from \"react\";\n\nexport interface TableBodyProps {\n /** Table row content */\n children: ReactNode;\n}\n\n/**\n * Table body element (`<tbody>`) with styling and ARIA attributes.\n *\n * @see {@link TableBodyProps}\n */\nexport const TableBody = ({ children }: TableBodyProps) => {\n return (\n <tbody className=\"proton-Table__body\" role=\"rowgroup\">\n {children}\n </tbody>\n );\n};\n\nTableBody.displayName = \"ProtonUITableBody\";\n"],"names":["TableBody","children"],"mappings":";AAYO,MAAMA,IAAY,CAAC,EAAE,UAAAC,8BAEvB,SAAA,EAAM,WAAU,sBAAqB,MAAK,YACxC,UAAAA,GACH;AAIJD,EAAU,cAAc;"}
@@ -1 +1 @@
1
- {"version":3,"file":"TableCell.cjs.js","sources":["../../../../../src/components/Table/BaseTable/elements/TableCell.tsx"],"sourcesContent":["import { ReactNode } from \"react\";\nimport { csx } from \"../../../../utils\";\n\nexport interface TableCellProps {\n /** 1-based column index for aria-colindex */\n columnIndex: number;\n /** Cell content */\n children: ReactNode;\n /** Number of columns this cell spans */\n columnSpan?: number;\n /** Test ID for testing purposes */\n dataTestId?: string;\n /** Text alignment */\n textAlign?: \"left\" | \"center\" | \"right\";\n}\n\n/**\n * Table cell element (`<td>`) with styling and ARIA attributes.\n *\n * @see {@link TableCellProps}\n */\nexport const TableCell = ({\n columnIndex,\n children,\n columnSpan,\n dataTestId,\n textAlign,\n}: TableCellProps) => {\n return (\n <td\n className={csx(\n \"proton-Table__cell\",\n textAlign && `proton-Table__cell--${textAlign}`,\n )}\n role=\"cell\"\n aria-colindex={columnIndex}\n colSpan={columnSpan}\n data-testid={dataTestId}\n >\n {children}\n </td>\n );\n};\n\nTableCell.displayName = \"ProtonUITableCell\";\n"],"names":["TableCell","columnIndex","children","columnSpan","dataTestId","textAlign","jsx","csx"],"mappings":"kMAqBaA,EAAY,CAAC,CACxB,YAAAC,EACA,SAAAC,EACA,WAAAC,EACA,WAAAC,EACA,UAAAC,CACF,IAEIC,EAAA,kBAAA,IAAC,KAAA,CACC,UAAWC,EAAA,IACT,qBACAF,GAAa,uBAAuBA,CAAS,EAC/C,EACA,KAAK,OACL,gBAAeJ,EACf,QAASE,EACT,cAAaC,EAEZ,SAAAF,CAAA,CAAA,EAKPF,EAAU,YAAc"}
1
+ {"version":3,"file":"TableCell.cjs.js","sources":["../../../../../src/components/Table/BaseTable/elements/TableCell.tsx"],"sourcesContent":["import { ReactNode } from \"react\";\nimport { csx } from \"../../../../utils\";\n\nexport interface TableCellProps {\n /** 1-based column index for aria-colindex */\n columnIndex: number;\n /** Cell content */\n children: ReactNode;\n /** Number of columns this cell spans */\n columnSpan?: number;\n /** Test ID for testing purposes */\n dataTestId?: string;\n /** Text alignment */\n textAlign?: \"left\" | \"center\" | \"right\";\n}\n\n/**\n * Table cell element (`<td>`) with styling and ARIA attributes.\n *\n * @see {@link TableCellProps}\n */\nexport const TableCell = ({\n columnIndex,\n children,\n columnSpan,\n dataTestId,\n textAlign,\n}: TableCellProps) => {\n return (\n <td\n className={csx(\n \"proton-Table__cell\",\n textAlign && `proton-Table__cell--${textAlign}`,\n )}\n role=\"cell\"\n aria-colindex={columnIndex}\n colSpan={columnSpan}\n data-testid={dataTestId}\n >\n {children}\n </td>\n );\n};\n\nTableCell.displayName = \"ProtonUITableCell\";\n"],"names":["TableCell","columnIndex","children","columnSpan","dataTestId","textAlign","jsx","csx"],"mappings":"kMAqBaA,EAAY,CAAC,CACxB,YAAAC,EACA,SAAAC,EACA,WAAAC,EACA,WAAAC,EACA,UAAAC,CACF,IAEIC,EAAAA,kBAAAA,IAAC,KAAA,CACC,UAAWC,EAAAA,IACT,qBACAF,GAAa,uBAAuBA,CAAS,EAAA,EAE/C,KAAK,OACL,gBAAeJ,EACf,QAASE,EACT,cAAaC,EAEZ,SAAAF,CAAA,CAAA,EAKPF,EAAU,YAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"TableCell.es.js","sources":["../../../../../src/components/Table/BaseTable/elements/TableCell.tsx"],"sourcesContent":["import { ReactNode } from \"react\";\nimport { csx } from \"../../../../utils\";\n\nexport interface TableCellProps {\n /** 1-based column index for aria-colindex */\n columnIndex: number;\n /** Cell content */\n children: ReactNode;\n /** Number of columns this cell spans */\n columnSpan?: number;\n /** Test ID for testing purposes */\n dataTestId?: string;\n /** Text alignment */\n textAlign?: \"left\" | \"center\" | \"right\";\n}\n\n/**\n * Table cell element (`<td>`) with styling and ARIA attributes.\n *\n * @see {@link TableCellProps}\n */\nexport const TableCell = ({\n columnIndex,\n children,\n columnSpan,\n dataTestId,\n textAlign,\n}: TableCellProps) => {\n return (\n <td\n className={csx(\n \"proton-Table__cell\",\n textAlign && `proton-Table__cell--${textAlign}`,\n )}\n role=\"cell\"\n aria-colindex={columnIndex}\n colSpan={columnSpan}\n data-testid={dataTestId}\n >\n {children}\n </td>\n );\n};\n\nTableCell.displayName = \"ProtonUITableCell\";\n"],"names":["TableCell","columnIndex","children","columnSpan","dataTestId","textAlign","jsx","csx"],"mappings":";;AAqBO,MAAMA,IAAY,CAAC;AAAA,EACxB,aAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC;AAAA,EACA,YAAAC;AAAA,EACA,WAAAC;AACF,MAEIC,gBAAAA,EAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC;AAAA,MACT;AAAA,MACAF,KAAa,uBAAuBA,CAAS;AAAA,IAC/C;AAAA,IACA,MAAK;AAAA,IACL,iBAAeJ;AAAA,IACf,SAASE;AAAA,IACT,eAAaC;AAAA,IAEZ,UAAAF;AAAA,EAAA;AAAA;AAKPF,EAAU,cAAc;"}
1
+ {"version":3,"file":"TableCell.es.js","sources":["../../../../../src/components/Table/BaseTable/elements/TableCell.tsx"],"sourcesContent":["import { ReactNode } from \"react\";\nimport { csx } from \"../../../../utils\";\n\nexport interface TableCellProps {\n /** 1-based column index for aria-colindex */\n columnIndex: number;\n /** Cell content */\n children: ReactNode;\n /** Number of columns this cell spans */\n columnSpan?: number;\n /** Test ID for testing purposes */\n dataTestId?: string;\n /** Text alignment */\n textAlign?: \"left\" | \"center\" | \"right\";\n}\n\n/**\n * Table cell element (`<td>`) with styling and ARIA attributes.\n *\n * @see {@link TableCellProps}\n */\nexport const TableCell = ({\n columnIndex,\n children,\n columnSpan,\n dataTestId,\n textAlign,\n}: TableCellProps) => {\n return (\n <td\n className={csx(\n \"proton-Table__cell\",\n textAlign && `proton-Table__cell--${textAlign}`,\n )}\n role=\"cell\"\n aria-colindex={columnIndex}\n colSpan={columnSpan}\n data-testid={dataTestId}\n >\n {children}\n </td>\n );\n};\n\nTableCell.displayName = \"ProtonUITableCell\";\n"],"names":["TableCell","columnIndex","children","columnSpan","dataTestId","textAlign","jsx","csx"],"mappings":";;AAqBO,MAAMA,IAAY,CAAC;AAAA,EACxB,aAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC;AAAA,EACA,YAAAC;AAAA,EACA,WAAAC;AACF,MAEIC,gBAAAA,EAAAA;AAAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC;AAAA,MACT;AAAA,MACAF,KAAa,uBAAuBA,CAAS;AAAA,IAAA;AAAA,IAE/C,MAAK;AAAA,IACL,iBAAeJ;AAAA,IACf,SAASE;AAAA,IACT,eAAaC;AAAA,IAEZ,UAAAF;AAAA,EAAA;AAAA;AAKPF,EAAU,cAAc;"}