@economic/taco 13.0.0 → 14.0.0-tanstack-virtual-update.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (645) hide show
  1. package/dist/charts/components/Area/AreaChart.cjs.map +1 -1
  2. package/dist/charts/components/Area/AreaChart.js.map +1 -1
  3. package/dist/charts/components/Bar/BarChart.cjs.map +1 -1
  4. package/dist/charts/components/Bar/BarChart.js.map +1 -1
  5. package/dist/charts/components/Composed/BarLineChart.cjs.map +1 -1
  6. package/dist/charts/components/Composed/BarLineChart.js.map +1 -1
  7. package/dist/charts/components/Donut/DonutChart.cjs +1 -1
  8. package/dist/charts/components/Donut/DonutChart.cjs.map +1 -1
  9. package/dist/charts/components/Donut/DonutChart.js +1 -1
  10. package/dist/charts/components/Donut/DonutChart.js.map +1 -1
  11. package/dist/charts/components/LegacyDonut/ActiveShape.cjs.map +1 -1
  12. package/dist/charts/components/LegacyDonut/ActiveShape.js.map +1 -1
  13. package/dist/charts/components/LegacyDonut/LegacyDonutChart.cjs.map +1 -1
  14. package/dist/charts/components/LegacyDonut/LegacyDonutChart.js.map +1 -1
  15. package/dist/charts/components/LegacyDonut/Legend.cjs.map +1 -1
  16. package/dist/charts/components/LegacyDonut/Legend.js.map +1 -1
  17. package/dist/charts/components/Legend.cjs +3 -3
  18. package/dist/charts/components/Legend.cjs.map +1 -1
  19. package/dist/charts/components/Legend.js +3 -3
  20. package/dist/charts/components/Legend.js.map +1 -1
  21. package/dist/charts/components/Line/LineChart.cjs.map +1 -1
  22. package/dist/charts/components/Line/LineChart.js.map +1 -1
  23. package/dist/charts/components/Pie/PieChart.cjs.map +1 -1
  24. package/dist/charts/components/Pie/PieChart.js.map +1 -1
  25. package/dist/charts/components/useChartData.cjs +1 -1
  26. package/dist/charts/components/useChartData.cjs.map +1 -1
  27. package/dist/charts/components/useChartData.js +1 -1
  28. package/dist/charts/components/useChartData.js.map +1 -1
  29. package/dist/charts/utils/color.cjs.map +1 -1
  30. package/dist/charts/utils/color.js.map +1 -1
  31. package/dist/charts/utils/common.cjs.map +1 -1
  32. package/dist/charts/utils/common.d.ts +1 -1
  33. package/dist/charts/utils/common.js.map +1 -1
  34. package/dist/components/Accordion/Accordion.cjs.map +1 -1
  35. package/dist/components/Accordion/Accordion.js.map +1 -1
  36. package/dist/components/Actions/Button/Button.cjs +2 -2
  37. package/dist/components/Actions/Button/Button.cjs.map +1 -1
  38. package/dist/components/Actions/Button/Button.d.ts +2 -2
  39. package/dist/components/Actions/Button/Button.js +2 -2
  40. package/dist/components/Actions/Button/Button.js.map +1 -1
  41. package/dist/components/Actions/Link/Link.cjs.map +1 -1
  42. package/dist/components/Actions/Link/Link.js.map +1 -1
  43. package/dist/components/Actions/LinkButton/LinkButton.cjs +1 -1
  44. package/dist/components/Actions/LinkButton/LinkButton.cjs.map +1 -1
  45. package/dist/components/Actions/LinkButton/LinkButton.d.ts +2 -2
  46. package/dist/components/Actions/LinkButton/LinkButton.js +1 -1
  47. package/dist/components/Actions/LinkButton/LinkButton.js.map +1 -1
  48. package/dist/components/Alert/Alert.cjs.map +1 -1
  49. package/dist/components/Alert/Alert.js.map +1 -1
  50. package/dist/components/AlertDialog/components/Content.cjs +2 -2
  51. package/dist/components/AlertDialog/components/Content.cjs.map +1 -1
  52. package/dist/components/AlertDialog/components/Content.js +2 -2
  53. package/dist/components/AlertDialog/components/Content.js.map +1 -1
  54. package/dist/components/AlertDialog/components/Trigger.cjs.map +1 -1
  55. package/dist/components/AlertDialog/components/Trigger.js.map +1 -1
  56. package/dist/components/Backdrop/Backdrop.cjs.map +1 -1
  57. package/dist/components/Backdrop/Backdrop.js.map +1 -1
  58. package/dist/components/Badge/Badge.cjs +1 -1
  59. package/dist/components/Badge/Badge.cjs.map +1 -1
  60. package/dist/components/Badge/Badge.js +1 -1
  61. package/dist/components/Badge/Badge.js.map +1 -1
  62. package/dist/components/BadgeIcon/BadgeIcon.cjs.map +1 -1
  63. package/dist/components/BadgeIcon/BadgeIcon.d.ts +1 -1
  64. package/dist/components/BadgeIcon/BadgeIcon.js.map +1 -1
  65. package/dist/components/Banner/Banner.cjs +2 -2
  66. package/dist/components/Banner/Banner.cjs.map +1 -1
  67. package/dist/components/Banner/Banner.js +2 -2
  68. package/dist/components/Banner/Banner.js.map +1 -1
  69. package/dist/components/Banner/util.cjs.map +1 -1
  70. package/dist/components/Banner/util.js.map +1 -1
  71. package/dist/components/Calendar/Calendar.cjs +2 -2
  72. package/dist/components/Calendar/Calendar.cjs.map +1 -1
  73. package/dist/components/Calendar/Calendar.js +2 -2
  74. package/dist/components/Calendar/Calendar.js.map +1 -1
  75. package/dist/components/Card/Card.cjs +2 -2
  76. package/dist/components/Card/Card.cjs.map +1 -1
  77. package/dist/components/Card/Card.d.ts +1 -1
  78. package/dist/components/Card/Card.js +2 -2
  79. package/dist/components/Card/Card.js.map +1 -1
  80. package/dist/components/Checkbox/Checkbox.cjs.map +1 -1
  81. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  82. package/dist/components/Combobox/Combobox.cjs +4 -4
  83. package/dist/components/Combobox/Combobox.cjs.map +1 -1
  84. package/dist/components/Combobox/Combobox.d.ts +1 -2
  85. package/dist/components/Combobox/Combobox.js +4 -4
  86. package/dist/components/Combobox/Combobox.js.map +1 -1
  87. package/dist/components/Combobox/useCombobox.cjs +3 -3
  88. package/dist/components/Combobox/useCombobox.cjs.map +1 -1
  89. package/dist/components/Combobox/useCombobox.d.ts +1 -1
  90. package/dist/components/Combobox/useCombobox.js +3 -3
  91. package/dist/components/Combobox/useCombobox.js.map +1 -1
  92. package/dist/components/Datepicker/Datepicker.cjs +3 -3
  93. package/dist/components/Datepicker/Datepicker.cjs.map +1 -1
  94. package/dist/components/Datepicker/Datepicker.d.ts +1 -2
  95. package/dist/components/Datepicker/Datepicker.js +3 -3
  96. package/dist/components/Datepicker/Datepicker.js.map +1 -1
  97. package/dist/components/Datepicker/useDatepicker.cjs.map +1 -1
  98. package/dist/components/Datepicker/useDatepicker.d.ts +1 -2
  99. package/dist/components/Datepicker/useDatepicker.js.map +1 -1
  100. package/dist/components/Dialog/components/Content.cjs +3 -3
  101. package/dist/components/Dialog/components/Content.cjs.map +1 -1
  102. package/dist/components/Dialog/components/Content.js +3 -3
  103. package/dist/components/Dialog/components/Content.js.map +1 -1
  104. package/dist/components/Dialog/components/Trigger.cjs.map +1 -1
  105. package/dist/components/Dialog/components/Trigger.js.map +1 -1
  106. package/dist/components/Drawer/Drawer.cjs.map +1 -1
  107. package/dist/components/Drawer/Drawer.d.ts +1 -1
  108. package/dist/components/Drawer/Drawer.js.map +1 -1
  109. package/dist/components/Drawer/components/Content.cjs +3 -3
  110. package/dist/components/Drawer/components/Content.cjs.map +1 -1
  111. package/dist/components/Drawer/components/Content.js +3 -3
  112. package/dist/components/Drawer/components/Content.js.map +1 -1
  113. package/dist/components/Field/Field.cjs +1 -1
  114. package/dist/components/Field/Field.cjs.map +1 -1
  115. package/dist/components/Field/Field.js +1 -1
  116. package/dist/components/Field/Field.js.map +1 -1
  117. package/dist/components/Form/Form.cjs.map +1 -1
  118. package/dist/components/Form/Form.d.ts +1 -1
  119. package/dist/components/Form/Form.js.map +1 -1
  120. package/dist/components/Group/Group.cjs.map +1 -1
  121. package/dist/components/Group/Group.d.ts +2 -1
  122. package/dist/components/Group/Group.js.map +1 -1
  123. package/dist/components/Hanger/Hanger.cjs +2 -2
  124. package/dist/components/Hanger/Hanger.cjs.map +1 -1
  125. package/dist/components/Hanger/Hanger.d.ts +1 -1
  126. package/dist/components/Hanger/Hanger.js +2 -2
  127. package/dist/components/Hanger/Hanger.js.map +1 -1
  128. package/dist/components/Header/components/Agreement/Badge.cjs.map +1 -1
  129. package/dist/components/Header/components/Agreement/Badge.js.map +1 -1
  130. package/dist/components/Header/components/Agreement/Display.cjs.map +1 -1
  131. package/dist/components/Header/components/Agreement/Display.js.map +1 -1
  132. package/dist/components/Header/components/Agreement/Item.cjs +1 -1
  133. package/dist/components/Header/components/Agreement/Item.cjs.map +1 -1
  134. package/dist/components/Header/components/Agreement/Item.js +1 -1
  135. package/dist/components/Header/components/Agreement/Item.js.map +1 -1
  136. package/dist/components/Header/components/AgreementSelector.cjs +3 -3
  137. package/dist/components/Header/components/AgreementSelector.cjs.map +1 -1
  138. package/dist/components/Header/components/AgreementSelector.js +3 -3
  139. package/dist/components/Header/components/AgreementSelector.js.map +1 -1
  140. package/dist/components/Header/components/Button.cjs.map +1 -1
  141. package/dist/components/Header/components/Button.d.ts +1 -1
  142. package/dist/components/Header/components/Button.js.map +1 -1
  143. package/dist/components/Header/components/Link.cjs +2 -2
  144. package/dist/components/Header/components/Link.cjs.map +1 -1
  145. package/dist/components/Header/components/Link.d.ts +1 -1
  146. package/dist/components/Header/components/Link.js +2 -2
  147. package/dist/components/Header/components/Link.js.map +1 -1
  148. package/dist/components/Header/components/MenuButton.cjs +1 -1
  149. package/dist/components/Header/components/MenuButton.cjs.map +1 -1
  150. package/dist/components/Header/components/MenuButton.js +1 -1
  151. package/dist/components/Header/components/MenuButton.js.map +1 -1
  152. package/dist/components/Header/components/PrimaryNavigation.cjs +3 -3
  153. package/dist/components/Header/components/PrimaryNavigation.cjs.map +1 -1
  154. package/dist/components/Header/components/PrimaryNavigation.js +3 -3
  155. package/dist/components/Header/components/PrimaryNavigation.js.map +1 -1
  156. package/dist/components/HoverCard/HoverCard.cjs.map +1 -1
  157. package/dist/components/HoverCard/HoverCard.d.ts +1 -1
  158. package/dist/components/HoverCard/HoverCard.js.map +1 -1
  159. package/dist/components/Inline/Inline.cjs +2 -6
  160. package/dist/components/Inline/Inline.cjs.map +1 -1
  161. package/dist/components/Inline/Inline.d.ts +1 -1
  162. package/dist/components/Inline/Inline.js +2 -6
  163. package/dist/components/Inline/Inline.js.map +1 -1
  164. package/dist/components/Input/Input.cjs +1 -1
  165. package/dist/components/Input/Input.cjs.map +1 -1
  166. package/dist/components/Input/Input.d.ts +1 -1
  167. package/dist/components/Input/Input.js +1 -1
  168. package/dist/components/Input/Input.js.map +1 -1
  169. package/dist/components/Layout/components/Sidebar.cjs.map +1 -1
  170. package/dist/components/Layout/components/Sidebar.js.map +1 -1
  171. package/dist/components/LegacyComponents/Button/Button.cjs +1 -1
  172. package/dist/components/LegacyComponents/Button/Button.cjs.map +1 -1
  173. package/dist/components/LegacyComponents/Button/Button.d.ts +3 -7
  174. package/dist/components/LegacyComponents/Button/Button.js +1 -1
  175. package/dist/components/LegacyComponents/Button/Button.js.map +1 -1
  176. package/dist/components/LegacyComponents/Button/util.cjs.map +1 -1
  177. package/dist/components/LegacyComponents/Button/util.js.map +1 -1
  178. package/dist/components/LegacyComponents/IconButton/IconButton.cjs +1 -1
  179. package/dist/components/LegacyComponents/IconButton/IconButton.cjs.map +1 -1
  180. package/dist/components/LegacyComponents/IconButton/IconButton.d.ts +4 -8
  181. package/dist/components/LegacyComponents/IconButton/IconButton.js +1 -1
  182. package/dist/components/LegacyComponents/IconButton/IconButton.js.map +1 -1
  183. package/dist/components/List/components/Collapsible.cjs +1 -1
  184. package/dist/components/List/components/Collapsible.cjs.map +1 -1
  185. package/dist/components/List/components/Collapsible.js +1 -1
  186. package/dist/components/List/components/Collapsible.js.map +1 -1
  187. package/dist/components/List/components/Item.cjs.map +1 -1
  188. package/dist/components/List/components/Item.d.ts +1 -1
  189. package/dist/components/List/components/Item.js.map +1 -1
  190. package/dist/components/List/components/Link.cjs +1 -1
  191. package/dist/components/List/components/Link.cjs.map +1 -1
  192. package/dist/components/List/components/Link.js +1 -1
  193. package/dist/components/List/components/Link.js.map +1 -1
  194. package/dist/components/List/components/Toggle.cjs +2 -2
  195. package/dist/components/List/components/Toggle.cjs.map +1 -1
  196. package/dist/components/List/components/Toggle.d.ts +1 -2
  197. package/dist/components/List/components/Toggle.js +2 -2
  198. package/dist/components/List/components/Toggle.js.map +1 -1
  199. package/dist/components/Listbox/Listbox.d.ts +2 -2
  200. package/dist/components/Listbox/ScrollableList.cjs +3 -3
  201. package/dist/components/Listbox/ScrollableList.cjs.map +1 -1
  202. package/dist/components/Listbox/ScrollableList.d.ts +1 -1
  203. package/dist/components/Listbox/ScrollableList.js +3 -3
  204. package/dist/components/Listbox/ScrollableList.js.map +1 -1
  205. package/dist/components/Listbox/useListbox.cjs.map +1 -1
  206. package/dist/components/Listbox/useListbox.js.map +1 -1
  207. package/dist/components/Listbox/useMultiListbox.cjs +1 -1
  208. package/dist/components/Listbox/useMultiListbox.cjs.map +1 -1
  209. package/dist/components/Listbox/useMultiListbox.js +1 -1
  210. package/dist/components/Listbox/useMultiListbox.js.map +1 -1
  211. package/dist/components/Listbox/useTypeahead.cjs.map +1 -1
  212. package/dist/components/Listbox/useTypeahead.js.map +1 -1
  213. package/dist/components/Listbox/util.cjs.map +1 -1
  214. package/dist/components/Listbox/util.js.map +1 -1
  215. package/dist/components/Menu/Menu.cjs.map +1 -1
  216. package/dist/components/Menu/Menu.js.map +1 -1
  217. package/dist/components/Menu/components/Checkbox.cjs +1 -1
  218. package/dist/components/Menu/components/Checkbox.cjs.map +1 -1
  219. package/dist/components/Menu/components/Checkbox.js +1 -1
  220. package/dist/components/Menu/components/Checkbox.js.map +1 -1
  221. package/dist/components/Menu/components/Content.cjs.map +1 -1
  222. package/dist/components/Menu/components/Content.js.map +1 -1
  223. package/dist/components/Menu/components/Item.cjs +1 -1
  224. package/dist/components/Menu/components/Item.cjs.map +1 -1
  225. package/dist/components/Menu/components/Item.d.ts +1 -2
  226. package/dist/components/Menu/components/Item.js +1 -1
  227. package/dist/components/Menu/components/Item.js.map +1 -1
  228. package/dist/components/Menu/components/Link.cjs.map +1 -1
  229. package/dist/components/Menu/components/Link.d.ts +1 -1
  230. package/dist/components/Menu/components/Link.js.map +1 -1
  231. package/dist/components/Menu/components/RadioGroup.cjs.map +1 -1
  232. package/dist/components/Menu/components/RadioGroup.d.ts +1 -1
  233. package/dist/components/Menu/components/RadioGroup.js.map +1 -1
  234. package/dist/components/Menu/components/SubMenu.cjs.map +1 -1
  235. package/dist/components/Menu/components/SubMenu.js.map +1 -1
  236. package/dist/components/Menu/components/Trigger.cjs.map +1 -1
  237. package/dist/components/Menu/components/Trigger.js.map +1 -1
  238. package/dist/components/Navigation2/components/Group.cjs.map +1 -1
  239. package/dist/components/Navigation2/components/Group.js.map +1 -1
  240. package/dist/components/Navigation2/components/Link.cjs +2 -2
  241. package/dist/components/Navigation2/components/Link.cjs.map +1 -1
  242. package/dist/components/Navigation2/components/Link.d.ts +1 -2
  243. package/dist/components/Navigation2/components/Link.js +2 -2
  244. package/dist/components/Navigation2/components/Link.js.map +1 -1
  245. package/dist/components/OverflowGroup/OverflowGroup.cjs +1 -1
  246. package/dist/components/OverflowGroup/OverflowGroup.cjs.map +1 -1
  247. package/dist/components/OverflowGroup/OverflowGroup.d.ts +1 -1
  248. package/dist/components/OverflowGroup/OverflowGroup.js +1 -1
  249. package/dist/components/OverflowGroup/OverflowGroup.js.map +1 -1
  250. package/dist/components/Pagination/PageNumbers.cjs +1 -1
  251. package/dist/components/Pagination/PageNumbers.cjs.map +1 -1
  252. package/dist/components/Pagination/PageNumbers.js +1 -1
  253. package/dist/components/Pagination/PageNumbers.js.map +1 -1
  254. package/dist/components/Pagination/Pagination.cjs +4 -4
  255. package/dist/components/Pagination/Pagination.cjs.map +1 -1
  256. package/dist/components/Pagination/Pagination.js +4 -4
  257. package/dist/components/Pagination/Pagination.js.map +1 -1
  258. package/dist/components/Popover/Popover.cjs.map +1 -1
  259. package/dist/components/Popover/Popover.d.ts +1 -1
  260. package/dist/components/Popover/Popover.js.map +1 -1
  261. package/dist/components/Provider/Localization.cjs.map +1 -1
  262. package/dist/components/Provider/Localization.d.ts +1 -1
  263. package/dist/components/Provider/Localization.js.map +1 -1
  264. package/dist/components/Provider/Provider.cjs +1 -1
  265. package/dist/components/Provider/Provider.cjs.map +1 -1
  266. package/dist/components/Provider/Provider.js +1 -1
  267. package/dist/components/Provider/Provider.js.map +1 -1
  268. package/dist/components/RadioGroup/RadioGroup.cjs +1 -1
  269. package/dist/components/RadioGroup/RadioGroup.cjs.map +1 -1
  270. package/dist/components/RadioGroup/RadioGroup.js +1 -1
  271. package/dist/components/RadioGroup/RadioGroup.js.map +1 -1
  272. package/dist/components/Report/Report.cjs.map +1 -1
  273. package/dist/components/Report/Report.js.map +1 -1
  274. package/dist/components/Report/useReport.cjs.map +1 -1
  275. package/dist/components/Report/useReport.js.map +1 -1
  276. package/dist/components/SearchInput/SearchInput.cjs +1 -1
  277. package/dist/components/SearchInput/SearchInput.cjs.map +1 -1
  278. package/dist/components/SearchInput/SearchInput.d.ts +5 -5
  279. package/dist/components/SearchInput/SearchInput.js +1 -1
  280. package/dist/components/SearchInput/SearchInput.js.map +1 -1
  281. package/dist/components/SearchInput2/SearchInput2.cjs +3 -3
  282. package/dist/components/SearchInput2/SearchInput2.cjs.map +1 -1
  283. package/dist/components/SearchInput2/SearchInput2.js +3 -3
  284. package/dist/components/SearchInput2/SearchInput2.js.map +1 -1
  285. package/dist/components/Select/Select.cjs +4 -4
  286. package/dist/components/Select/Select.cjs.map +1 -1
  287. package/dist/components/Select/Select.d.ts +5 -5
  288. package/dist/components/Select/Select.js +4 -4
  289. package/dist/components/Select/Select.js.map +1 -1
  290. package/dist/components/Select/useSelect.cjs +1 -1
  291. package/dist/components/Select/useSelect.cjs.map +1 -1
  292. package/dist/components/Select/useSelect.js +1 -1
  293. package/dist/components/Select/useSelect.js.map +1 -1
  294. package/dist/components/Select2/Select2.cjs +4 -4
  295. package/dist/components/Select2/Select2.cjs.map +1 -1
  296. package/dist/components/Select2/Select2.d.ts +2 -2
  297. package/dist/components/Select2/Select2.js +4 -4
  298. package/dist/components/Select2/Select2.js.map +1 -1
  299. package/dist/components/Select2/components/Collection.cjs.map +1 -1
  300. package/dist/components/Select2/components/Collection.js.map +1 -1
  301. package/dist/components/Select2/components/Context.cjs.map +1 -1
  302. package/dist/components/Select2/components/Context.js.map +1 -1
  303. package/dist/components/Select2/components/Create.cjs +4 -4
  304. package/dist/components/Select2/components/Create.cjs.map +1 -1
  305. package/dist/components/Select2/components/Create.js +4 -4
  306. package/dist/components/Select2/components/Create.js.map +1 -1
  307. package/dist/components/Select2/components/Edit.cjs +5 -5
  308. package/dist/components/Select2/components/Edit.cjs.map +1 -1
  309. package/dist/components/Select2/components/Edit.d.ts +1 -1
  310. package/dist/components/Select2/components/Edit.js +5 -5
  311. package/dist/components/Select2/components/Edit.js.map +1 -1
  312. package/dist/components/Select2/components/Group.cjs +1 -1
  313. package/dist/components/Select2/components/Group.cjs.map +1 -1
  314. package/dist/components/Select2/components/Group.js +1 -1
  315. package/dist/components/Select2/components/Group.js.map +1 -1
  316. package/dist/components/Select2/components/Option.cjs +4 -4
  317. package/dist/components/Select2/components/Option.cjs.map +1 -1
  318. package/dist/components/Select2/components/Option.d.ts +1 -1
  319. package/dist/components/Select2/components/Option.js +4 -4
  320. package/dist/components/Select2/components/Option.js.map +1 -1
  321. package/dist/components/Select2/components/Search.cjs +1 -1
  322. package/dist/components/Select2/components/Search.cjs.map +1 -1
  323. package/dist/components/Select2/components/Search.js +1 -1
  324. package/dist/components/Select2/components/Search.js.map +1 -1
  325. package/dist/components/Select2/components/Title.cjs.map +1 -1
  326. package/dist/components/Select2/components/Title.js.map +1 -1
  327. package/dist/components/Select2/components/Trigger.cjs +6 -6
  328. package/dist/components/Select2/components/Trigger.cjs.map +1 -1
  329. package/dist/components/Select2/components/Trigger.d.ts +1 -1
  330. package/dist/components/Select2/components/Trigger.js +6 -6
  331. package/dist/components/Select2/components/Trigger.js.map +1 -1
  332. package/dist/components/Select2/types.d.ts +1 -1
  333. package/dist/components/Select2/utilities.cjs.map +1 -1
  334. package/dist/components/Select2/utilities.js.map +1 -1
  335. package/dist/components/Shortcut/Shortcut.cjs.map +1 -1
  336. package/dist/components/Shortcut/Shortcut.js.map +1 -1
  337. package/dist/components/Stack/Stack.cjs +2 -6
  338. package/dist/components/Stack/Stack.cjs.map +1 -1
  339. package/dist/components/Stack/Stack.d.ts +1 -1
  340. package/dist/components/Stack/Stack.js +2 -6
  341. package/dist/components/Stack/Stack.js.map +1 -1
  342. package/dist/components/Switch/Switch.cjs.map +1 -1
  343. package/dist/components/Switch/Switch.js.map +1 -1
  344. package/dist/components/Table3/Table3.cjs +1 -3
  345. package/dist/components/Table3/Table3.cjs.map +1 -1
  346. package/dist/components/Table3/Table3.d.ts +1 -4
  347. package/dist/components/Table3/Table3.js +1 -3
  348. package/dist/components/Table3/Table3.js.map +1 -1
  349. package/dist/components/Table3/components/Columns/Cell/Cell.cjs.map +1 -1
  350. package/dist/components/Table3/components/Columns/Cell/Cell.js.map +1 -1
  351. package/dist/components/Table3/components/Columns/Cell/Editing/RowMoveIndicator.cjs +1 -1
  352. package/dist/components/Table3/components/Columns/Cell/Editing/RowMoveIndicator.cjs.map +1 -1
  353. package/dist/components/Table3/components/Columns/Cell/Editing/RowMoveIndicator.js +1 -1
  354. package/dist/components/Table3/components/Columns/Cell/Editing/RowMoveIndicator.js.map +1 -1
  355. package/dist/components/Table3/components/Columns/Cell/Editing/TextareaWithAutosizing.cjs.map +1 -1
  356. package/dist/components/Table3/components/Columns/Cell/Editing/TextareaWithAutosizing.js.map +1 -1
  357. package/dist/components/Table3/components/Columns/Cell/EditingControlCell.cjs +6 -6
  358. package/dist/components/Table3/components/Columns/Cell/EditingControlCell.cjs.map +1 -1
  359. package/dist/components/Table3/components/Columns/Cell/EditingControlCell.js +6 -6
  360. package/dist/components/Table3/components/Columns/Cell/EditingControlCell.js.map +1 -1
  361. package/dist/components/Table3/components/Columns/Cell/EditingDisplayCell.cjs.map +1 -1
  362. package/dist/components/Table3/components/Columns/Cell/EditingDisplayCell.js.map +1 -1
  363. package/dist/components/Table3/components/Columns/Cell/util.cjs.map +1 -1
  364. package/dist/components/Table3/components/Columns/Cell/util.js.map +1 -1
  365. package/dist/components/Table3/components/Editing/Alert.cjs +3 -3
  366. package/dist/components/Table3/components/Editing/Alert.cjs.map +1 -1
  367. package/dist/components/Table3/components/Editing/Alert.d.ts +1 -1
  368. package/dist/components/Table3/components/Editing/Alert.js +3 -3
  369. package/dist/components/Table3/components/Editing/Alert.js.map +1 -1
  370. package/dist/components/Table3/components/Editing/DiscardChangesConfirmationDialog.cjs +3 -3
  371. package/dist/components/Table3/components/Editing/DiscardChangesConfirmationDialog.cjs.map +1 -1
  372. package/dist/components/Table3/components/Editing/DiscardChangesConfirmationDialog.d.ts +1 -1
  373. package/dist/components/Table3/components/Editing/DiscardChangesConfirmationDialog.js +3 -3
  374. package/dist/components/Table3/components/Editing/DiscardChangesConfirmationDialog.js.map +1 -1
  375. package/dist/components/Table3/components/Row/Editing/CreateNewRow.cjs +2 -2
  376. package/dist/components/Table3/components/Row/Editing/CreateNewRow.cjs.map +1 -1
  377. package/dist/components/Table3/components/Row/Editing/CreateNewRow.js +2 -2
  378. package/dist/components/Table3/components/Row/Editing/CreateNewRow.js.map +1 -1
  379. package/dist/components/Table3/components/Row/Editing/SaveStatus.cjs +2 -2
  380. package/dist/components/Table3/components/Row/Editing/SaveStatus.cjs.map +1 -1
  381. package/dist/components/Table3/components/Row/Editing/SaveStatus.js +2 -2
  382. package/dist/components/Table3/components/Row/Editing/SaveStatus.js.map +1 -1
  383. package/dist/components/Table3/components/Row/Editing/TemporaryRow.cjs.map +1 -1
  384. package/dist/components/Table3/components/Row/Editing/TemporaryRow.js.map +1 -1
  385. package/dist/components/Table3/components/Row/Row.cjs.map +1 -1
  386. package/dist/components/Table3/components/Row/Row.js.map +1 -1
  387. package/dist/components/Table3/components/Toolbar/Editing/Editing.cjs +2 -2
  388. package/dist/components/Table3/components/Toolbar/Editing/Editing.cjs.map +1 -1
  389. package/dist/components/Table3/components/Toolbar/Editing/Editing.js +2 -2
  390. package/dist/components/Table3/components/Toolbar/Editing/Editing.js.map +1 -1
  391. package/dist/components/Table3/features/useEditingState.cjs +1 -1
  392. package/dist/components/Table3/features/useEditingState.cjs.map +1 -1
  393. package/dist/components/Table3/features/useEditingState.js +1 -1
  394. package/dist/components/Table3/features/useEditingState.js.map +1 -1
  395. package/dist/components/Table3/features/useTableEditing.cjs +1 -1
  396. package/dist/components/Table3/features/useTableEditing.cjs.map +1 -1
  397. package/dist/components/Table3/features/useTableEditing.js +1 -1
  398. package/dist/components/Table3/features/useTableEditing.js.map +1 -1
  399. package/dist/components/Table3/listeners/useTableEditingListener.cjs +1 -1
  400. package/dist/components/Table3/listeners/useTableEditingListener.cjs.map +1 -1
  401. package/dist/components/Table3/listeners/useTableEditingListener.js +1 -1
  402. package/dist/components/Table3/listeners/useTableEditingListener.js.map +1 -1
  403. package/dist/components/Table3/useTable3.cjs +2 -2
  404. package/dist/components/Table3/useTable3.cjs.map +1 -1
  405. package/dist/components/Table3/useTable3.js +2 -2
  406. package/dist/components/Table3/useTable3.js.map +1 -1
  407. package/dist/components/Table3/util/editing.cjs.map +1 -1
  408. package/dist/components/Table3/util/editing.d.ts +2 -2
  409. package/dist/components/Table3/util/editing.js.map +1 -1
  410. package/dist/components/Tabs/Context.cjs.map +1 -1
  411. package/dist/components/Tabs/Context.js.map +1 -1
  412. package/dist/components/Tabs/Tabs.cjs.map +1 -1
  413. package/dist/components/Tabs/Tabs.js.map +1 -1
  414. package/dist/components/Tabs/components/TabList.cjs +2 -2
  415. package/dist/components/Tabs/components/TabList.cjs.map +1 -1
  416. package/dist/components/Tabs/components/TabList.js +2 -2
  417. package/dist/components/Tabs/components/TabList.js.map +1 -1
  418. package/dist/components/Tabs/components/Trigger.cjs +3 -3
  419. package/dist/components/Tabs/components/Trigger.cjs.map +1 -1
  420. package/dist/components/Tabs/components/Trigger.js +3 -3
  421. package/dist/components/Tabs/components/Trigger.js.map +1 -1
  422. package/dist/components/Tag/Tag.cjs.map +1 -1
  423. package/dist/components/Tag/Tag.d.ts +1 -1
  424. package/dist/components/Tag/Tag.js.map +1 -1
  425. package/dist/components/Textarea/Textarea.cjs +1 -1
  426. package/dist/components/Textarea/Textarea.cjs.map +1 -1
  427. package/dist/components/Textarea/Textarea.js +1 -1
  428. package/dist/components/Textarea/Textarea.js.map +1 -1
  429. package/dist/components/Toast/Toast.cjs +2 -2
  430. package/dist/components/Toast/Toast.cjs.map +1 -1
  431. package/dist/components/Toast/Toast.js +2 -2
  432. package/dist/components/Toast/Toast.js.map +1 -1
  433. package/dist/components/Toast/util.cjs +1 -1
  434. package/dist/components/Toast/util.cjs.map +1 -1
  435. package/dist/components/Toast/util.js +1 -1
  436. package/dist/components/Toast/util.js.map +1 -1
  437. package/dist/components/Tour/Tour.cjs +2 -2
  438. package/dist/components/Tour/Tour.cjs.map +1 -1
  439. package/dist/components/Tour/Tour.js +2 -2
  440. package/dist/components/Tour/Tour.js.map +1 -1
  441. package/dist/components/Truncate/Truncate.cjs.map +1 -1
  442. package/dist/components/Truncate/Truncate.js.map +1 -1
  443. package/dist/components/Typography/Heading.cjs.map +1 -1
  444. package/dist/components/Typography/Heading.d.ts +1 -1
  445. package/dist/components/Typography/Heading.js.map +1 -1
  446. package/dist/components/Typography/Text.cjs.map +1 -1
  447. package/dist/components/Typography/Text.d.ts +1 -1
  448. package/dist/components/Typography/Text.js.map +1 -1
  449. package/dist/components/index.d.ts +0 -1
  450. package/dist/hooks/useBoundaryOverflowDetection.cjs.map +1 -1
  451. package/dist/hooks/useBoundaryOverflowDetection.js.map +1 -1
  452. package/dist/hooks/useBoundingClientRectListener.cjs.map +1 -1
  453. package/dist/hooks/useBoundingClientRectListener.js.map +1 -1
  454. package/dist/hooks/useGlobalKeyDown.cjs.map +1 -1
  455. package/dist/hooks/useGlobalKeyDown.js.map +1 -1
  456. package/dist/hooks/useTacoSettings.cjs.map +1 -1
  457. package/dist/hooks/useTacoSettings.d.ts +1 -1
  458. package/dist/hooks/useTacoSettings.js.map +1 -1
  459. package/dist/index.cjs +0 -2
  460. package/dist/index.cjs.map +1 -1
  461. package/dist/index.js +0 -2
  462. package/dist/index.js.map +1 -1
  463. package/dist/primitives/BubbleSelect.cjs.map +1 -1
  464. package/dist/primitives/BubbleSelect.js.map +1 -1
  465. package/dist/primitives/Button.cjs.map +1 -1
  466. package/dist/primitives/Button.js.map +1 -1
  467. package/dist/primitives/Collection/components/Root.cjs.map +1 -1
  468. package/dist/primitives/Collection/components/Root.js.map +1 -1
  469. package/dist/primitives/Listbox2/components/Option.cjs.map +1 -1
  470. package/dist/primitives/Listbox2/components/Option.js.map +1 -1
  471. package/dist/primitives/Listbox2/components/Root.cjs.map +1 -1
  472. package/dist/primitives/Listbox2/components/Root.js.map +1 -1
  473. package/dist/primitives/Listbox2/components/Title.cjs.map +1 -1
  474. package/dist/primitives/Listbox2/components/Title.js.map +1 -1
  475. package/dist/primitives/Table/Core/components/Body/Body.cjs.map +1 -1
  476. package/dist/primitives/Table/Core/components/Body/Body.js.map +1 -1
  477. package/dist/primitives/Table/Core/components/Body/EmptyStateBody.cjs.map +1 -1
  478. package/dist/primitives/Table/Core/components/Body/EmptyStateBody.js.map +1 -1
  479. package/dist/primitives/Table/Core/components/Body/util.cjs.map +1 -1
  480. package/dist/primitives/Table/Core/components/Body/util.js.map +1 -1
  481. package/dist/primitives/Table/Core/components/Columns/Cell/util.cjs +1 -1
  482. package/dist/primitives/Table/Core/components/Columns/Cell/util.cjs.map +1 -1
  483. package/dist/primitives/Table/Core/components/Columns/Cell/util.js +1 -1
  484. package/dist/primitives/Table/Core/components/Columns/Cell/util.js.map +1 -1
  485. package/dist/primitives/Table/Core/components/Columns/Internal/Actions.cjs +3 -3
  486. package/dist/primitives/Table/Core/components/Columns/Internal/Actions.cjs.map +1 -1
  487. package/dist/primitives/Table/Core/components/Columns/Internal/Actions.js +3 -3
  488. package/dist/primitives/Table/Core/components/Columns/Internal/Actions.js.map +1 -1
  489. package/dist/primitives/Table/Core/components/Columns/Internal/Drag.cjs +2 -2
  490. package/dist/primitives/Table/Core/components/Columns/Internal/Drag.cjs.map +1 -1
  491. package/dist/primitives/Table/Core/components/Columns/Internal/Drag.js +2 -2
  492. package/dist/primitives/Table/Core/components/Columns/Internal/Drag.js.map +1 -1
  493. package/dist/primitives/Table/Core/components/Columns/Internal/Expansion.cjs +3 -3
  494. package/dist/primitives/Table/Core/components/Columns/Internal/Expansion.cjs.map +1 -1
  495. package/dist/primitives/Table/Core/components/Columns/Internal/Expansion.js +3 -3
  496. package/dist/primitives/Table/Core/components/Columns/Internal/Expansion.js.map +1 -1
  497. package/dist/primitives/Table/Core/components/Columns/Internal/Selection.cjs +4 -4
  498. package/dist/primitives/Table/Core/components/Columns/Internal/Selection.cjs.map +1 -1
  499. package/dist/primitives/Table/Core/components/Columns/Internal/Selection.js +4 -4
  500. package/dist/primitives/Table/Core/components/Columns/Internal/Selection.js.map +1 -1
  501. package/dist/primitives/Table/Core/components/Footer/Summary.cjs.map +1 -1
  502. package/dist/primitives/Table/Core/components/Footer/Summary.js.map +1 -1
  503. package/dist/primitives/Table/Core/components/Header/Header.cjs +1 -1
  504. package/dist/primitives/Table/Core/components/Header/Header.cjs.map +1 -1
  505. package/dist/primitives/Table/Core/components/Header/Header.js +1 -1
  506. package/dist/primitives/Table/Core/components/Header/Header.js.map +1 -1
  507. package/dist/primitives/Table/Core/components/Header/components/Goto.cjs +1 -1
  508. package/dist/primitives/Table/Core/components/Header/components/Goto.cjs.map +1 -1
  509. package/dist/primitives/Table/Core/components/Header/components/Goto.d.ts +1 -1
  510. package/dist/primitives/Table/Core/components/Header/components/Goto.js +1 -1
  511. package/dist/primitives/Table/Core/components/Header/components/Goto.js.map +1 -1
  512. package/dist/primitives/Table/Core/components/Header/components/Menu.cjs +4 -6
  513. package/dist/primitives/Table/Core/components/Header/components/Menu.cjs.map +1 -1
  514. package/dist/primitives/Table/Core/components/Header/components/Menu.js +4 -6
  515. package/dist/primitives/Table/Core/components/Header/components/Menu.js.map +1 -1
  516. package/dist/primitives/Table/Core/components/Header/components/Resizer.cjs.map +1 -1
  517. package/dist/primitives/Table/Core/components/Header/components/Resizer.js.map +1 -1
  518. package/dist/primitives/Table/Core/components/Header/components/SortIndicator.cjs.map +1 -1
  519. package/dist/primitives/Table/Core/components/Header/components/SortIndicator.js.map +1 -1
  520. package/dist/primitives/Table/Core/components/Row/BuiltIns/DisplayRow.cjs +3 -1
  521. package/dist/primitives/Table/Core/components/Row/BuiltIns/DisplayRow.cjs.map +1 -1
  522. package/dist/primitives/Table/Core/components/Row/BuiltIns/DisplayRow.js +3 -1
  523. package/dist/primitives/Table/Core/components/Row/BuiltIns/DisplayRow.js.map +1 -1
  524. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/Filters.cjs +5 -5
  525. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/Filters.cjs.map +1 -1
  526. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/Filters.js +5 -5
  527. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/Filters.js.map +1 -1
  528. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/ManageFiltersPopover.cjs +4 -4
  529. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/ManageFiltersPopover.cjs.map +1 -1
  530. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/ManageFiltersPopover.js +4 -4
  531. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/ManageFiltersPopover.js.map +1 -1
  532. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/Filter.cjs +2 -2
  533. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/Filter.cjs.map +1 -1
  534. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/Filter.js +2 -2
  535. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/Filter.js.map +1 -1
  536. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterColumn.cjs +3 -3
  537. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterColumn.cjs.map +1 -1
  538. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterColumn.d.ts +1 -1
  539. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterColumn.js +3 -3
  540. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterColumn.js.map +1 -1
  541. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterComparator.cjs +2 -2
  542. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterComparator.cjs.map +1 -1
  543. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterComparator.d.ts +1 -1
  544. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterComparator.js +2 -2
  545. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterComparator.js.map +1 -1
  546. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterValue.cjs +5 -5
  547. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterValue.cjs.map +1 -1
  548. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterValue.js +5 -5
  549. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/components/FilterValue.js.map +1 -1
  550. package/dist/primitives/Table/Core/components/Toolbar/components/Print/Print.cjs +4 -4
  551. package/dist/primitives/Table/Core/components/Toolbar/components/Print/Print.cjs.map +1 -1
  552. package/dist/primitives/Table/Core/components/Toolbar/components/Print/Print.js +4 -4
  553. package/dist/primitives/Table/Core/components/Toolbar/components/Print/Print.js.map +1 -1
  554. package/dist/primitives/Table/Core/components/Toolbar/components/Print/PrintDialog.cjs +6 -6
  555. package/dist/primitives/Table/Core/components/Toolbar/components/Print/PrintDialog.cjs.map +1 -1
  556. package/dist/primitives/Table/Core/components/Toolbar/components/Print/PrintDialog.d.ts +1 -2
  557. package/dist/primitives/Table/Core/components/Toolbar/components/Print/PrintDialog.js +6 -6
  558. package/dist/primitives/Table/Core/components/Toolbar/components/Print/PrintDialog.js.map +1 -1
  559. package/dist/primitives/Table/Core/components/Toolbar/components/Search/Search.cjs +2 -2
  560. package/dist/primitives/Table/Core/components/Toolbar/components/Search/Search.cjs.map +1 -1
  561. package/dist/primitives/Table/Core/components/Toolbar/components/Search/Search.js +2 -2
  562. package/dist/primitives/Table/Core/components/Toolbar/components/Search/Search.js.map +1 -1
  563. package/dist/primitives/Table/Core/components/Toolbar/components/Settings/HideOrOrderPopover.cjs +7 -7
  564. package/dist/primitives/Table/Core/components/Toolbar/components/Settings/HideOrOrderPopover.cjs.map +1 -1
  565. package/dist/primitives/Table/Core/components/Toolbar/components/Settings/HideOrOrderPopover.d.ts +1 -1
  566. package/dist/primitives/Table/Core/components/Toolbar/components/Settings/HideOrOrderPopover.js +7 -7
  567. package/dist/primitives/Table/Core/components/Toolbar/components/Settings/HideOrOrderPopover.js.map +1 -1
  568. package/dist/primitives/Table/Core/components/Toolbar/components/Settings/Settings.cjs +3 -3
  569. package/dist/primitives/Table/Core/components/Toolbar/components/Settings/Settings.cjs.map +1 -1
  570. package/dist/primitives/Table/Core/components/Toolbar/components/Settings/Settings.js +3 -3
  571. package/dist/primitives/Table/Core/components/Toolbar/components/Settings/Settings.js.map +1 -1
  572. package/dist/primitives/Table/Core/features/useTableGlobalShortcuts.cjs.map +1 -1
  573. package/dist/primitives/Table/Core/features/useTableGlobalShortcuts.js.map +1 -1
  574. package/dist/primitives/Table/Core/listeners/useTableRowActiveListener.cjs.map +1 -1
  575. package/dist/primitives/Table/Core/listeners/useTableRowActiveListener.js.map +1 -1
  576. package/dist/primitives/Table/Core/useTable.cjs.map +1 -1
  577. package/dist/primitives/Table/Core/useTable.js.map +1 -1
  578. package/dist/primitives/Table/types.cjs.map +1 -1
  579. package/dist/primitives/Table/types.d.ts +1 -1
  580. package/dist/primitives/Table/types.js.map +1 -1
  581. package/dist/primitives/Table/useTableManager/features/useTableFontSize.cjs.map +1 -1
  582. package/dist/primitives/Table/useTableManager/features/useTableFontSize.js.map +1 -1
  583. package/dist/primitives/Table/useTableManager/features/useTablePrinting.cjs.map +1 -1
  584. package/dist/primitives/Table/useTableManager/features/useTablePrinting.js.map +1 -1
  585. package/dist/primitives/Table/useTableManager/features/useTableRowActive.cjs.map +1 -1
  586. package/dist/primitives/Table/useTableManager/features/useTableRowActive.js.map +1 -1
  587. package/dist/primitives/Table/useTableManager/features/useTableSettings.cjs.map +1 -1
  588. package/dist/primitives/Table/useTableManager/features/useTableSettings.js.map +1 -1
  589. package/dist/primitives/Table/useTableManager/listeners/useTableDataListener.cjs.map +1 -1
  590. package/dist/primitives/Table/useTableManager/listeners/useTableDataListener.js.map +1 -1
  591. package/dist/primitives/Table/useTableManager/listeners/useTableFilterListener.cjs.map +1 -1
  592. package/dist/primitives/Table/useTableManager/listeners/useTableFilterListener.js.map +1 -1
  593. package/dist/primitives/Table/useTableManager/listeners/useTableFontSizeListener.cjs.map +1 -1
  594. package/dist/primitives/Table/useTableManager/listeners/useTableFontSizeListener.js.map +1 -1
  595. package/dist/primitives/Table/useTableManager/listeners/useTableRowHeightListener.cjs.map +1 -1
  596. package/dist/primitives/Table/useTableManager/listeners/useTableRowHeightListener.js.map +1 -1
  597. package/dist/primitives/Table/useTableManager/listeners/useTableRowSelectionListener.cjs.map +1 -1
  598. package/dist/primitives/Table/useTableManager/listeners/useTableRowSelectionListener.js.map +1 -1
  599. package/dist/primitives/Table/useTableManager/listeners/useTableSearchListener.cjs +1 -1
  600. package/dist/primitives/Table/useTableManager/listeners/useTableSearchListener.cjs.map +1 -1
  601. package/dist/primitives/Table/useTableManager/listeners/useTableSearchListener.js +1 -1
  602. package/dist/primitives/Table/useTableManager/listeners/useTableSearchListener.js.map +1 -1
  603. package/dist/primitives/Table/useTableManager/listeners/useTableShortcutsListener.cjs.map +1 -1
  604. package/dist/primitives/Table/useTableManager/listeners/useTableShortcutsListener.js.map +1 -1
  605. package/dist/primitives/Table/useTableManager/listeners/useTableSortingListener.cjs.map +1 -1
  606. package/dist/primitives/Table/useTableManager/listeners/useTableSortingListener.js.map +1 -1
  607. package/dist/primitives/Table/useTableManager/useTableManager.cjs +1 -1
  608. package/dist/primitives/Table/useTableManager/useTableManager.cjs.map +1 -1
  609. package/dist/primitives/Table/useTableManager/useTableManager.js +1 -1
  610. package/dist/primitives/Table/useTableManager/useTableManager.js.map +1 -1
  611. package/dist/primitives/Table/useTableManager/util/columns.cjs.map +1 -1
  612. package/dist/primitives/Table/useTableManager/util/columns.d.ts +1 -1
  613. package/dist/primitives/Table/useTableManager/util/columns.js.map +1 -1
  614. package/dist/primitives/Table/useTableManager/util/dataTypes.cjs.map +1 -1
  615. package/dist/primitives/Table/useTableManager/util/dataTypes.d.ts +1 -1
  616. package/dist/primitives/Table/useTableManager/util/dataTypes.js.map +1 -1
  617. package/dist/primitives/Table/useTableManager/util/filtering.cjs.map +1 -1
  618. package/dist/primitives/Table/useTableManager/util/filtering.d.ts +1 -1
  619. package/dist/primitives/Table/useTableManager/util/filtering.js.map +1 -1
  620. package/dist/primitives/Table/useTableManager/util/search.cjs.map +1 -1
  621. package/dist/primitives/Table/useTableManager/util/search.d.ts +1 -1
  622. package/dist/primitives/Table/useTableManager/util/search.js.map +1 -1
  623. package/dist/primitives/Table/useTableManager/util/setup.cjs +11 -1
  624. package/dist/primitives/Table/useTableManager/util/setup.cjs.map +1 -1
  625. package/dist/primitives/Table/useTableManager/util/setup.d.ts +1 -1
  626. package/dist/primitives/Table/useTableManager/util/setup.js +12 -2
  627. package/dist/primitives/Table/useTableManager/util/setup.js.map +1 -1
  628. package/dist/utils/dom.cjs.map +1 -1
  629. package/dist/utils/dom.js.map +1 -1
  630. package/dist/utils/flattenChildren.cjs +12 -0
  631. package/dist/utils/flattenChildren.cjs.map +1 -0
  632. package/dist/utils/flattenChildren.d.ts +6 -0
  633. package/dist/utils/flattenChildren.js +12 -0
  634. package/dist/utils/flattenChildren.js.map +1 -0
  635. package/dist/utils/hooks/useListKeyboardNavigation.cjs.map +1 -1
  636. package/dist/utils/hooks/useListKeyboardNavigation.js.map +1 -1
  637. package/dist/utils/storyutils.d.ts +1 -1
  638. package/dist/utils/tailwind.cjs.map +1 -1
  639. package/dist/utils/tailwind.js.map +1 -1
  640. package/package.json +6 -5
  641. package/dist/components/Treeview/Treeview.cjs +0 -52
  642. package/dist/components/Treeview/Treeview.cjs.map +0 -1
  643. package/dist/components/Treeview/Treeview.d.ts +0 -25
  644. package/dist/components/Treeview/Treeview.js +0 -52
  645. package/dist/components/Treeview/Treeview.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"util.cjs","sources":["../../../src/components/Listbox/util.ts"],"sourcesContent":["import React from 'react';\n\nimport { setInputValueByRef as setInputValueByRefBase } from '../../utils/input';\n\nimport type { ScrollableListItem, ScrollableListItemValue } from './ScrollableList';\nimport { getId } from './ScrollableList';\n\nconst getValue = (value: ScrollableListItemValue | undefined): string => String(value ?? '');\n\nexport const setInputValueByRef = (\n input: HTMLInputElement | null,\n value: ScrollableListItemValue | undefined,\n event = 'change'\n): void => {\n setInputValueByRefBase(input, getValue(value), event);\n};\n\nexport const getIndexFromValue = (data: ScrollableListItem[], value: ScrollableListItemValue | undefined): number | undefined => {\n const index = data.findIndex(option => getValue(option.value) === getValue(value));\n return index > -1 ? index : undefined;\n};\n\nexport const getSelectedIndexesFromValue = (data: ScrollableListItem[], value: ScrollableListItemValue | undefined): number[] => {\n if (typeof value !== 'string') return [];\n\n return value\n .split(',')\n .map(v => data.findIndex(o => String(o.value) === v))\n .filter(v => v !== -1);\n};\n\nexport const findByValue = (\n data: ScrollableListItem[],\n value: ScrollableListItemValue | undefined\n): ScrollableListItem | undefined => {\n return data.find(option => getValue(option.value) === getValue(value));\n};\n\nexport const searchForString = (child: React.JSX.Element | string, value: string, strategy = 'includes'): boolean => {\n try {\n if (typeof child !== 'string' && child.props?.children) {\n if (Array.isArray(child.props?.children)) {\n return !!child.props.children.some((subChild: React.JSX.Element | string) =>\n searchForString(subChild, value, strategy)\n );\n }\n\n return searchForString(child.props?.children, value, strategy);\n }\n\n // @ts-expect-error\n return child.toString().toLowerCase()[strategy](String(value).toLowerCase());\n } catch {\n return false;\n }\n};\n\nconst getIndexInRangeByValue = (\n data: ScrollableListItem[],\n query: string,\n firstIndex: number,\n lastIndex: number = data.length\n): number => {\n const index = data.slice(firstIndex, lastIndex).findIndex(option => {\n if (option.disabled) {\n return false;\n }\n\n return searchForString(option.text, query, 'startsWith');\n });\n\n return index > -1 ? index + firstIndex : -1;\n};\n\nexport const findNextIndexByValue = (data: ScrollableListItem[], query: string, activeIndex: number | undefined): number => {\n const firstIndex = activeIndex === undefined ? 0 : activeIndex + 1;\n let index = getIndexInRangeByValue(data, query, firstIndex);\n\n if (index === -1) {\n index = getIndexInRangeByValue(data, query, 0, activeIndex);\n }\n\n return index;\n};\n\nexport const getActiveDescendant = (data: ScrollableListItem[], currentIndex: number | undefined, id: string): any => {\n return currentIndex !== undefined && data[currentIndex] ? getId(id, data[currentIndex].value) : undefined;\n};\n\nexport const useFlattenedData = (data: ScrollableListItem[]): ScrollableListItem[] => {\n return React.useMemo(() => {\n const items: ScrollableListItem[] = [];\n\n const flatten = (item: ScrollableListItem, path: number, parentPath?: string, parentDisabled?: boolean) => {\n const currentPath = parentPath ? `${parentPath}.${path}` : `${path}`;\n const isItemDisabled = parentDisabled || item.disabled;\n\n items.push({\n ...item,\n disabled: isItemDisabled,\n path: currentPath,\n hasChildren: !!item.children,\n });\n\n if (item.children) {\n item.children.forEach((childItem: ScrollableListItem, childPath: number) =>\n flatten(childItem, childPath, currentPath, isItemDisabled)\n );\n }\n };\n\n data.forEach((item, index) => {\n flatten(item, index);\n });\n\n return items;\n }, [data]);\n};\n\nexport const sanitizeItem = (item: ScrollableListItem | undefined) => {\n if (item) {\n const { hasChildren: _1, path: _2, ...rest } = item;\n return rest;\n }\n\n return undefined;\n};\n\nexport const getOptionParents = (data: ScrollableListItem[], path?: string) => {\n const indexes = path?.split('.') ?? [];\n\n if (indexes.length > 1) {\n // we don't want to map the current item\n indexes.pop();\n // we need to rebuild the path as we map\n let lastPath: string;\n\n return indexes.map(i => {\n lastPath = lastPath ? [lastPath, i].join('.') : i;\n return sanitizeItem(data.find((i: ScrollableListItem) => i.path === lastPath));\n });\n }\n\n return null;\n};\n\nexport const filterData = (data: ScrollableListItem[], value: ScrollableListItemValue = ''): ScrollableListItem[] => {\n if (value === '' || value === null) {\n return data;\n }\n\n const filteredOptionValues = new Set();\n const shouldFilterOption = (option: ScrollableListItem): boolean => {\n if (option.disabled) {\n return false;\n }\n\n return searchForString(option.text, String(value));\n };\n\n data.forEach(option => {\n if (shouldFilterOption(option)) {\n const parents = getOptionParents(data, option.path);\n\n filteredOptionValues.add(option.value);\n\n if (parents !== null) {\n parents.forEach(option => filteredOptionValues.add(option?.value));\n }\n }\n });\n\n return data.filter(({ value }) => filteredOptionValues.has(value));\n};\n"],"names":["input","setInputValueByRefBase","getId","i","option","value"],"mappings":";;;;;AAOA,MAAM,WAAW,CAAC,UAAuD,OAAO,SAAS,EAAE;AAEpF,MAAM,qBAAqB,CAC9BA,SACA,OACA,QAAQ,aACD;AACPC,QAAAA,mBAAuBD,SAAO,SAAS,KAAK,GAAG,KAAK;AACxD;AAEO,MAAM,oBAAoB,CAAC,MAA4B,UAAmE;AAC7H,QAAM,QAAQ,KAAK,UAAU,CAAA,WAAU,SAAS,OAAO,KAAK,MAAM,SAAS,KAAK,CAAC;AACjF,SAAO,QAAQ,KAAK,QAAQ;AAChC;AAEO,MAAM,8BAA8B,CAAC,MAA4B,UAAyD;AAC7H,MAAI,OAAO,UAAU,SAAU,QAAO,CAAA;AAEtC,SAAO,MACF,MAAM,GAAG,EACT,IAAI,CAAA,MAAK,KAAK,UAAU,CAAA,MAAK,OAAO,EAAE,KAAK,MAAM,CAAC,CAAC,EACnD,OAAO,CAAA,MAAK,MAAM,EAAE;AAC7B;AAEO,MAAM,cAAc,CACvB,MACA,UACiC;AACjC,SAAO,KAAK,KAAK,CAAA,WAAU,SAAS,OAAO,KAAK,MAAM,SAAS,KAAK,CAAC;AACzE;AAEO,MAAM,kBAAkB,CAAC,OAAmC,OAAe,WAAW,eAAwB;AACjH,MAAI;AACA,QAAI,OAAO,UAAU,YAAY,MAAM,OAAO,UAAU;AACpD,UAAI,MAAM,QAAQ,MAAM,OAAO,QAAQ,GAAG;AACtC,eAAO,CAAC,CAAC,MAAM,MAAM,SAAS;AAAA,UAAK,CAAC,aAChC,gBAAgB,UAAU,OAAO,QAAQ;AAAA,QAAA;AAAA,MAEjD;AAEA,aAAO,gBAAgB,MAAM,OAAO,UAAU,OAAO,QAAQ;AAAA,IACjE;AAGA,WAAO,MAAM,SAAA,EAAW,YAAA,EAAc,QAAQ,EAAE,OAAO,KAAK,EAAE,aAAa;AAAA,EAC/E,QAAQ;AACJ,WAAO;AAAA,EACX;AACJ;AAEA,MAAM,yBAAyB,CAC3B,MACA,OACA,YACA,YAAoB,KAAK,WAChB;AACT,QAAM,QAAQ,KAAK,MAAM,YAAY,SAAS,EAAE,UAAU,CAAA,WAAU;AAChE,QAAI,OAAO,UAAU;AACjB,aAAO;AAAA,IACX;AAEA,WAAO,gBAAgB,OAAO,MAAM,OAAO,YAAY;AAAA,EAC3D,CAAC;AAED,SAAO,QAAQ,KAAK,QAAQ,aAAa;AAC7C;AAEO,MAAM,uBAAuB,CAAC,MAA4B,OAAe,gBAA4C;AACxH,QAAM,aAAa,gBAAgB,SAAY,IAAI,cAAc;AACjE,MAAI,QAAQ,uBAAuB,MAAM,OAAO,UAAU;AAE1D,MAAI,UAAU,IAAI;AACd,YAAQ,uBAAuB,MAAM,OAAO,GAAG,WAAW;AAAA,EAC9D;AAEA,SAAO;AACX;AAEO,MAAM,sBAAsB,CAAC,MAA4B,cAAkC,OAAoB;AAClH,SAAO,iBAAiB,UAAa,KAAK,YAAY,IAAIE,eAAAA,MAAM,IAAI,KAAK,YAAY,EAAE,KAAK,IAAI;AACpG;AAEO,MAAM,mBAAmB,CAAC,SAAqD;AAClF,SAAO,MAAM,QAAQ,MAAM;AACvB,UAAM,QAA8B,CAAA;AAEpC,UAAM,UAAU,CAAC,MAA0B,MAAc,YAAqB,mBAA6B;AACvG,YAAM,cAAc,aAAa,GAAG,UAAU,IAAI,IAAI,KAAK,GAAG,IAAI;AAClE,YAAM,iBAAiB,kBAAkB,KAAK;AAE9C,YAAM,KAAK;AAAA,QACP,GAAG;AAAA,QACH,UAAU;AAAA,QACV,MAAM;AAAA,QACN,aAAa,CAAC,CAAC,KAAK;AAAA,MAAA,CACvB;AAED,UAAI,KAAK,UAAU;AACf,aAAK,SAAS;AAAA,UAAQ,CAAC,WAA+B,cAClD,QAAQ,WAAW,WAAW,aAAa,cAAc;AAAA,QAAA;AAAA,MAEjE;AAAA,IACJ;AAEA,SAAK,QAAQ,CAAC,MAAM,UAAU;AAC1B,cAAQ,MAAM,KAAK;AAAA,IACvB,CAAC;AAED,WAAO;AAAA,EACX,GAAG,CAAC,IAAI,CAAC;AACb;AAEO,MAAM,eAAe,CAAC,SAAyC;AAClE,MAAI,MAAM;AACN,UAAM,EAAE,aAAa,IAAI,MAAM,IAAI,GAAG,SAAS;AAC/C,WAAO;AAAA,EACX;AAEA,SAAO;AACX;AAEO,MAAM,mBAAmB,CAAC,MAA4B,SAAkB;AAC3E,QAAM,UAAU,MAAM,MAAM,GAAG,KAAK,CAAA;AAEpC,MAAI,QAAQ,SAAS,GAAG;AAEpB,YAAQ,IAAA;AAER,QAAI;AAEJ,WAAO,QAAQ,IAAI,CAAA,MAAK;AACpB,iBAAW,WAAW,CAAC,UAAU,CAAC,EAAE,KAAK,GAAG,IAAI;AAChD,aAAO,aAAa,KAAK,KAAK,CAACC,OAA0BA,GAAE,SAAS,QAAQ,CAAC;AAAA,IACjF,CAAC;AAAA,EACL;AAEA,SAAO;AACX;AAEO,MAAM,aAAa,CAAC,MAA4B,QAAiC,OAA6B;AACjH,MAAI,UAAU,MAAM,UAAU,MAAM;AAChC,WAAO;AAAA,EACX;AAEA,QAAM,2CAA2B,IAAA;AACjC,QAAM,qBAAqB,CAAC,WAAwC;AAChE,QAAI,OAAO,UAAU;AACjB,aAAO;AAAA,IACX;AAEA,WAAO,gBAAgB,OAAO,MAAM,OAAO,KAAK,CAAC;AAAA,EACrD;AAEA,OAAK,QAAQ,CAAA,WAAU;AACnB,QAAI,mBAAmB,MAAM,GAAG;AAC5B,YAAM,UAAU,iBAAiB,MAAM,OAAO,IAAI;AAElD,2BAAqB,IAAI,OAAO,KAAK;AAErC,UAAI,YAAY,MAAM;AAClB,gBAAQ,QAAQ,CAAAC,YAAU,qBAAqB,IAAIA,SAAQ,KAAK,CAAC;AAAA,MACrE;AAAA,IACJ;AAAA,EACJ,CAAC;AAED,SAAO,KAAK,OAAO,CAAC,EAAE,OAAAC,aAAY,qBAAqB,IAAIA,MAAK,CAAC;AACrE;;;;;;;;;;;;"}
1
+ {"version":3,"file":"util.cjs","sources":["../../../src/components/Listbox/util.ts"],"sourcesContent":["import React from 'react';\n\nimport { setInputValueByRef as setInputValueByRefBase } from '@/utils/input';\n\nimport type { ScrollableListItem, ScrollableListItemValue } from './ScrollableList';\nimport { getId } from './ScrollableList';\n\nconst getValue = (value: ScrollableListItemValue | undefined): string => String(value ?? '');\n\nexport const setInputValueByRef = (\n input: HTMLInputElement | null,\n value: ScrollableListItemValue | undefined,\n event = 'change'\n): void => {\n setInputValueByRefBase(input, getValue(value), event);\n};\n\nexport const getIndexFromValue = (data: ScrollableListItem[], value: ScrollableListItemValue | undefined): number | undefined => {\n const index = data.findIndex(option => getValue(option.value) === getValue(value));\n return index > -1 ? index : undefined;\n};\n\nexport const getSelectedIndexesFromValue = (data: ScrollableListItem[], value: ScrollableListItemValue | undefined): number[] => {\n if (typeof value !== 'string') return [];\n\n return value\n .split(',')\n .map(v => data.findIndex(o => String(o.value) === v))\n .filter(v => v !== -1);\n};\n\nexport const findByValue = (\n data: ScrollableListItem[],\n value: ScrollableListItemValue | undefined\n): ScrollableListItem | undefined => {\n return data.find(option => getValue(option.value) === getValue(value));\n};\n\nexport const searchForString = (child: React.JSX.Element | string, value: string, strategy = 'includes'): boolean => {\n try {\n if (typeof child !== 'string' && child.props?.children) {\n if (Array.isArray(child.props?.children)) {\n return !!child.props.children.some((subChild: React.JSX.Element | string) =>\n searchForString(subChild, value, strategy)\n );\n }\n\n return searchForString(child.props?.children, value, strategy);\n }\n\n // @ts-expect-error\n return child.toString().toLowerCase()[strategy](String(value).toLowerCase());\n } catch {\n return false;\n }\n};\n\nconst getIndexInRangeByValue = (\n data: ScrollableListItem[],\n query: string,\n firstIndex: number,\n lastIndex: number = data.length\n): number => {\n const index = data.slice(firstIndex, lastIndex).findIndex(option => {\n if (option.disabled) {\n return false;\n }\n\n return searchForString(option.text, query, 'startsWith');\n });\n\n return index > -1 ? index + firstIndex : -1;\n};\n\nexport const findNextIndexByValue = (data: ScrollableListItem[], query: string, activeIndex: number | undefined): number => {\n const firstIndex = activeIndex === undefined ? 0 : activeIndex + 1;\n let index = getIndexInRangeByValue(data, query, firstIndex);\n\n if (index === -1) {\n index = getIndexInRangeByValue(data, query, 0, activeIndex);\n }\n\n return index;\n};\n\nexport const getActiveDescendant = (data: ScrollableListItem[], currentIndex: number | undefined, id: string): any => {\n return currentIndex !== undefined && data[currentIndex] ? getId(id, data[currentIndex].value) : undefined;\n};\n\nexport const useFlattenedData = (data: ScrollableListItem[]): ScrollableListItem[] => {\n return React.useMemo(() => {\n const items: ScrollableListItem[] = [];\n\n const flatten = (item: ScrollableListItem, path: number, parentPath?: string, parentDisabled?: boolean) => {\n const currentPath = parentPath ? `${parentPath}.${path}` : `${path}`;\n const isItemDisabled = parentDisabled || item.disabled;\n\n items.push({\n ...item,\n disabled: isItemDisabled,\n path: currentPath,\n hasChildren: !!item.children,\n });\n\n if (item.children) {\n item.children.forEach((childItem: ScrollableListItem, childPath: number) =>\n flatten(childItem, childPath, currentPath, isItemDisabled)\n );\n }\n };\n\n data.forEach((item, index) => {\n flatten(item, index);\n });\n\n return items;\n }, [data]);\n};\n\nexport const sanitizeItem = (item: ScrollableListItem | undefined) => {\n if (item) {\n const { hasChildren: _1, path: _2, ...rest } = item;\n return rest;\n }\n\n return undefined;\n};\n\nexport const getOptionParents = (data: ScrollableListItem[], path?: string) => {\n const indexes = path?.split('.') ?? [];\n\n if (indexes.length > 1) {\n // we don't want to map the current item\n indexes.pop();\n // we need to rebuild the path as we map\n let lastPath: string;\n\n return indexes.map(i => {\n lastPath = lastPath ? [lastPath, i].join('.') : i;\n return sanitizeItem(data.find((i: ScrollableListItem) => i.path === lastPath));\n });\n }\n\n return null;\n};\n\nexport const filterData = (data: ScrollableListItem[], value: ScrollableListItemValue = ''): ScrollableListItem[] => {\n if (value === '' || value === null) {\n return data;\n }\n\n const filteredOptionValues = new Set();\n const shouldFilterOption = (option: ScrollableListItem): boolean => {\n if (option.disabled) {\n return false;\n }\n\n return searchForString(option.text, String(value));\n };\n\n data.forEach(option => {\n if (shouldFilterOption(option)) {\n const parents = getOptionParents(data, option.path);\n\n filteredOptionValues.add(option.value);\n\n if (parents !== null) {\n parents.forEach(option => filteredOptionValues.add(option?.value));\n }\n }\n });\n\n return data.filter(({ value }) => filteredOptionValues.has(value));\n};\n"],"names":["input","setInputValueByRefBase","getId","i","option","value"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sources":["../../../src/components/Listbox/util.ts"],"sourcesContent":["import React from 'react';\n\nimport { setInputValueByRef as setInputValueByRefBase } from '../../utils/input';\n\nimport type { ScrollableListItem, ScrollableListItemValue } from './ScrollableList';\nimport { getId } from './ScrollableList';\n\nconst getValue = (value: ScrollableListItemValue | undefined): string => String(value ?? '');\n\nexport const setInputValueByRef = (\n input: HTMLInputElement | null,\n value: ScrollableListItemValue | undefined,\n event = 'change'\n): void => {\n setInputValueByRefBase(input, getValue(value), event);\n};\n\nexport const getIndexFromValue = (data: ScrollableListItem[], value: ScrollableListItemValue | undefined): number | undefined => {\n const index = data.findIndex(option => getValue(option.value) === getValue(value));\n return index > -1 ? index : undefined;\n};\n\nexport const getSelectedIndexesFromValue = (data: ScrollableListItem[], value: ScrollableListItemValue | undefined): number[] => {\n if (typeof value !== 'string') return [];\n\n return value\n .split(',')\n .map(v => data.findIndex(o => String(o.value) === v))\n .filter(v => v !== -1);\n};\n\nexport const findByValue = (\n data: ScrollableListItem[],\n value: ScrollableListItemValue | undefined\n): ScrollableListItem | undefined => {\n return data.find(option => getValue(option.value) === getValue(value));\n};\n\nexport const searchForString = (child: React.JSX.Element | string, value: string, strategy = 'includes'): boolean => {\n try {\n if (typeof child !== 'string' && child.props?.children) {\n if (Array.isArray(child.props?.children)) {\n return !!child.props.children.some((subChild: React.JSX.Element | string) =>\n searchForString(subChild, value, strategy)\n );\n }\n\n return searchForString(child.props?.children, value, strategy);\n }\n\n // @ts-expect-error\n return child.toString().toLowerCase()[strategy](String(value).toLowerCase());\n } catch {\n return false;\n }\n};\n\nconst getIndexInRangeByValue = (\n data: ScrollableListItem[],\n query: string,\n firstIndex: number,\n lastIndex: number = data.length\n): number => {\n const index = data.slice(firstIndex, lastIndex).findIndex(option => {\n if (option.disabled) {\n return false;\n }\n\n return searchForString(option.text, query, 'startsWith');\n });\n\n return index > -1 ? index + firstIndex : -1;\n};\n\nexport const findNextIndexByValue = (data: ScrollableListItem[], query: string, activeIndex: number | undefined): number => {\n const firstIndex = activeIndex === undefined ? 0 : activeIndex + 1;\n let index = getIndexInRangeByValue(data, query, firstIndex);\n\n if (index === -1) {\n index = getIndexInRangeByValue(data, query, 0, activeIndex);\n }\n\n return index;\n};\n\nexport const getActiveDescendant = (data: ScrollableListItem[], currentIndex: number | undefined, id: string): any => {\n return currentIndex !== undefined && data[currentIndex] ? getId(id, data[currentIndex].value) : undefined;\n};\n\nexport const useFlattenedData = (data: ScrollableListItem[]): ScrollableListItem[] => {\n return React.useMemo(() => {\n const items: ScrollableListItem[] = [];\n\n const flatten = (item: ScrollableListItem, path: number, parentPath?: string, parentDisabled?: boolean) => {\n const currentPath = parentPath ? `${parentPath}.${path}` : `${path}`;\n const isItemDisabled = parentDisabled || item.disabled;\n\n items.push({\n ...item,\n disabled: isItemDisabled,\n path: currentPath,\n hasChildren: !!item.children,\n });\n\n if (item.children) {\n item.children.forEach((childItem: ScrollableListItem, childPath: number) =>\n flatten(childItem, childPath, currentPath, isItemDisabled)\n );\n }\n };\n\n data.forEach((item, index) => {\n flatten(item, index);\n });\n\n return items;\n }, [data]);\n};\n\nexport const sanitizeItem = (item: ScrollableListItem | undefined) => {\n if (item) {\n const { hasChildren: _1, path: _2, ...rest } = item;\n return rest;\n }\n\n return undefined;\n};\n\nexport const getOptionParents = (data: ScrollableListItem[], path?: string) => {\n const indexes = path?.split('.') ?? [];\n\n if (indexes.length > 1) {\n // we don't want to map the current item\n indexes.pop();\n // we need to rebuild the path as we map\n let lastPath: string;\n\n return indexes.map(i => {\n lastPath = lastPath ? [lastPath, i].join('.') : i;\n return sanitizeItem(data.find((i: ScrollableListItem) => i.path === lastPath));\n });\n }\n\n return null;\n};\n\nexport const filterData = (data: ScrollableListItem[], value: ScrollableListItemValue = ''): ScrollableListItem[] => {\n if (value === '' || value === null) {\n return data;\n }\n\n const filteredOptionValues = new Set();\n const shouldFilterOption = (option: ScrollableListItem): boolean => {\n if (option.disabled) {\n return false;\n }\n\n return searchForString(option.text, String(value));\n };\n\n data.forEach(option => {\n if (shouldFilterOption(option)) {\n const parents = getOptionParents(data, option.path);\n\n filteredOptionValues.add(option.value);\n\n if (parents !== null) {\n parents.forEach(option => filteredOptionValues.add(option?.value));\n }\n }\n });\n\n return data.filter(({ value }) => filteredOptionValues.has(value));\n};\n"],"names":["setInputValueByRefBase","React","i","option","value"],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sources":["../../../src/components/Listbox/util.ts"],"sourcesContent":["import React from 'react';\n\nimport { setInputValueByRef as setInputValueByRefBase } from '@/utils/input';\n\nimport type { ScrollableListItem, ScrollableListItemValue } from './ScrollableList';\nimport { getId } from './ScrollableList';\n\nconst getValue = (value: ScrollableListItemValue | undefined): string => String(value ?? '');\n\nexport const setInputValueByRef = (\n input: HTMLInputElement | null,\n value: ScrollableListItemValue | undefined,\n event = 'change'\n): void => {\n setInputValueByRefBase(input, getValue(value), event);\n};\n\nexport const getIndexFromValue = (data: ScrollableListItem[], value: ScrollableListItemValue | undefined): number | undefined => {\n const index = data.findIndex(option => getValue(option.value) === getValue(value));\n return index > -1 ? index : undefined;\n};\n\nexport const getSelectedIndexesFromValue = (data: ScrollableListItem[], value: ScrollableListItemValue | undefined): number[] => {\n if (typeof value !== 'string') return [];\n\n return value\n .split(',')\n .map(v => data.findIndex(o => String(o.value) === v))\n .filter(v => v !== -1);\n};\n\nexport const findByValue = (\n data: ScrollableListItem[],\n value: ScrollableListItemValue | undefined\n): ScrollableListItem | undefined => {\n return data.find(option => getValue(option.value) === getValue(value));\n};\n\nexport const searchForString = (child: React.JSX.Element | string, value: string, strategy = 'includes'): boolean => {\n try {\n if (typeof child !== 'string' && child.props?.children) {\n if (Array.isArray(child.props?.children)) {\n return !!child.props.children.some((subChild: React.JSX.Element | string) =>\n searchForString(subChild, value, strategy)\n );\n }\n\n return searchForString(child.props?.children, value, strategy);\n }\n\n // @ts-expect-error\n return child.toString().toLowerCase()[strategy](String(value).toLowerCase());\n } catch {\n return false;\n }\n};\n\nconst getIndexInRangeByValue = (\n data: ScrollableListItem[],\n query: string,\n firstIndex: number,\n lastIndex: number = data.length\n): number => {\n const index = data.slice(firstIndex, lastIndex).findIndex(option => {\n if (option.disabled) {\n return false;\n }\n\n return searchForString(option.text, query, 'startsWith');\n });\n\n return index > -1 ? index + firstIndex : -1;\n};\n\nexport const findNextIndexByValue = (data: ScrollableListItem[], query: string, activeIndex: number | undefined): number => {\n const firstIndex = activeIndex === undefined ? 0 : activeIndex + 1;\n let index = getIndexInRangeByValue(data, query, firstIndex);\n\n if (index === -1) {\n index = getIndexInRangeByValue(data, query, 0, activeIndex);\n }\n\n return index;\n};\n\nexport const getActiveDescendant = (data: ScrollableListItem[], currentIndex: number | undefined, id: string): any => {\n return currentIndex !== undefined && data[currentIndex] ? getId(id, data[currentIndex].value) : undefined;\n};\n\nexport const useFlattenedData = (data: ScrollableListItem[]): ScrollableListItem[] => {\n return React.useMemo(() => {\n const items: ScrollableListItem[] = [];\n\n const flatten = (item: ScrollableListItem, path: number, parentPath?: string, parentDisabled?: boolean) => {\n const currentPath = parentPath ? `${parentPath}.${path}` : `${path}`;\n const isItemDisabled = parentDisabled || item.disabled;\n\n items.push({\n ...item,\n disabled: isItemDisabled,\n path: currentPath,\n hasChildren: !!item.children,\n });\n\n if (item.children) {\n item.children.forEach((childItem: ScrollableListItem, childPath: number) =>\n flatten(childItem, childPath, currentPath, isItemDisabled)\n );\n }\n };\n\n data.forEach((item, index) => {\n flatten(item, index);\n });\n\n return items;\n }, [data]);\n};\n\nexport const sanitizeItem = (item: ScrollableListItem | undefined) => {\n if (item) {\n const { hasChildren: _1, path: _2, ...rest } = item;\n return rest;\n }\n\n return undefined;\n};\n\nexport const getOptionParents = (data: ScrollableListItem[], path?: string) => {\n const indexes = path?.split('.') ?? [];\n\n if (indexes.length > 1) {\n // we don't want to map the current item\n indexes.pop();\n // we need to rebuild the path as we map\n let lastPath: string;\n\n return indexes.map(i => {\n lastPath = lastPath ? [lastPath, i].join('.') : i;\n return sanitizeItem(data.find((i: ScrollableListItem) => i.path === lastPath));\n });\n }\n\n return null;\n};\n\nexport const filterData = (data: ScrollableListItem[], value: ScrollableListItemValue = ''): ScrollableListItem[] => {\n if (value === '' || value === null) {\n return data;\n }\n\n const filteredOptionValues = new Set();\n const shouldFilterOption = (option: ScrollableListItem): boolean => {\n if (option.disabled) {\n return false;\n }\n\n return searchForString(option.text, String(value));\n };\n\n data.forEach(option => {\n if (shouldFilterOption(option)) {\n const parents = getOptionParents(data, option.path);\n\n filteredOptionValues.add(option.value);\n\n if (parents !== null) {\n parents.forEach(option => filteredOptionValues.add(option?.value));\n }\n }\n });\n\n return data.filter(({ value }) => filteredOptionValues.has(value));\n};\n"],"names":["setInputValueByRefBase","React","i","option","value"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.cjs","sources":["../../../src/components/Menu/Menu.tsx"],"sourcesContent":["import { Menu as MenuPrimitive } from '@base-ui/react/menu';\nimport * as React from 'react';\n\nimport { useControlled } from '../../hooks/useControlled';\nimport { isElementInsideTable3OrReport } from '../../utils/dom';\n\nimport type { MenuCheckboxItemProps } from './components/Checkbox';\nimport { Checkbox } from './components/Checkbox';\nimport type { MenuContentProps } from './components/Content';\nimport { Content } from './components/Content';\nimport type { MenuGroupProps } from './components/Group';\nimport { Group } from './components/Group';\nimport type { MenuHeaderProps } from './components/Header';\nimport { Header } from './components/Header';\nimport type { MenuItemProps } from './components/Item';\nimport { Item } from './components/Item';\nimport type { MenuLinkItemProps } from './components/Link';\nimport { Link } from './components/Link';\nimport type { ForwardedMenuRadioGroupWithStatics } from './components/RadioGroup';\nimport { RadioGroup } from './components/RadioGroup';\nimport type { MenuSeparatorProps } from './components/Separator';\nimport { Separator } from './components/Separator';\nimport type { MenuSubMenuProps } from './components/SubMenu';\nimport { SubMenu } from './components/SubMenu';\nimport type { MenuTriggerProps } from './components/Trigger';\nimport { Trigger } from './components/Trigger';\nimport { MenuContext } from './Context';\n\nexport type MenuProps = {\n children: React.ReactNode;\n /** Set whether the menu is open by default or not */\n defaultOpen?: boolean;\n /** Called when the menu opens or closes, must be used in conjunction with open */\n onChange?: (open: boolean) => void;\n /** Control the open state of the menu from outside the component */\n open?: boolean;\n /** ID of the trigger the menu is associated with (controlled mode) */\n triggerId?: string | null;\n /** A trigger to be used for the menu, should not be set if `children` already contains a trigger */\n trigger?: React.JSX.Element;\n};\nexport type ForwardedMenuWithStatics = React.ForwardRefExoticComponent<MenuProps & React.RefAttributes<HTMLElement>> & {\n Trigger: React.ForwardRefExoticComponent<MenuTriggerProps>;\n Content: React.ForwardRefExoticComponent<MenuContentProps>;\n Item: React.ForwardRefExoticComponent<MenuItemProps>;\n Link: React.ForwardRefExoticComponent<MenuLinkItemProps>;\n Checkbox: React.ForwardRefExoticComponent<MenuCheckboxItemProps>;\n Separator: React.ForwardRefExoticComponent<MenuSeparatorProps>;\n Group: React.ForwardRefExoticComponent<MenuGroupProps>;\n Header: React.ForwardRefExoticComponent<MenuHeaderProps>;\n RadioGroup: ForwardedMenuRadioGroupWithStatics;\n SubMenu: React.ForwardRefExoticComponent<MenuSubMenuProps>;\n};\n\nexport const Menu = React.forwardRef<HTMLButtonElement, MenuProps>(function Menu(externalProps, _ref) {\n const { children, defaultOpen, onChange, open: openProp, trigger, ...props } = externalProps;\n const [indented, setIndented] = React.useState(false);\n const [minWidth, setMinWidth] = React.useState<number | undefined>(undefined);\n const [open, setOpen] = useControlled<boolean>({\n defaultValue: defaultOpen ?? false,\n onChange,\n value: openProp,\n });\n const [dialogState, setDialogState] = React.useState<{ open: boolean; render: (() => React.ReactElement) | null }>({\n open: false,\n render: null,\n });\n\n const triggerRef = React.useRef<HTMLButtonElement>(null);\n\n const closeDialog = React.useCallback(() => {\n setDialogState({ open: false, render: null });\n triggerRef.current?.focus();\n }, []);\n\n const context = React.useMemo(\n () => ({\n indented,\n registerIndentation: () => setIndented(true),\n minWidth,\n setMinWidth: (width: number) => setMinWidth(width),\n open: () => setOpen(true),\n close: () => setOpen(false),\n // Dialog state management - survives menu close\n dialogState,\n openDialog: (render: () => React.ReactElement) => {\n setDialogState({ open: true, render });\n setOpen(false);\n },\n closeDialog,\n // Trigger ref for focus management after dialog closes\n triggerRef,\n }),\n [indented, minWidth, setOpen, dialogState, closeDialog]\n );\n\n const handleOpenChange = (open: boolean, eventDetails: MenuPrimitive.Root.ChangeEventDetails) => {\n const event = eventDetails.event as KeyboardEvent;\n const triggerElement = eventDetails.trigger ?? (event?.currentTarget as Element | null);\n const isTableHeaderOrCellMenu = isElementInsideTable3OrReport(triggerElement);\n\n // In Table3 header/cell contexts, ArrowUp/ArrowDown should keep driving table row navigation.\n // Cancel only the menu open transition for these keys so the key event can still bubble to the table.\n if (open && (event.key === 'ArrowUp' || event.key === 'ArrowDown') && isTableHeaderOrCellMenu) {\n eventDetails.cancel();\n return;\n }\n setOpen(open);\n };\n\n return (\n <MenuContext.Provider value={context}>\n <MenuPrimitive.Root {...props} open={open} onOpenChange={handleOpenChange}>\n {trigger && <Trigger ref={triggerRef}>{trigger}</Trigger>}\n {children}\n </MenuPrimitive.Root>\n {/* Render dialog outside menu tree - state survives menu close */}\n {dialogState.open && dialogState.render && dialogState.render()}\n </MenuContext.Provider>\n );\n}) as ForwardedMenuWithStatics;\nMenu.Trigger = Trigger;\nMenu.Content = Content;\nMenu.Item = Item;\nMenu.Link = Link;\nMenu.Checkbox = Checkbox;\nMenu.Separator = Separator;\nMenu.Group = Group;\nMenu.Header = Header;\nMenu.RadioGroup = RadioGroup;\nMenu.SubMenu = SubMenu;\n\nexport type {\n MenuItemProps,\n MenuContentProps,\n MenuLinkItemProps,\n MenuTriggerProps,\n MenuCheckboxItemProps,\n MenuSeparatorProps,\n MenuGroupProps,\n MenuHeaderProps,\n MenuSubMenuProps,\n};\n"],"names":["React","Menu","useControlled","open","isElementInsideTable3OrReport","MenuContext","MenuPrimitive","Trigger","Content","Item","Link","Checkbox","Separator","Group","Header","RadioGroup","SubMenu"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsDO,MAAM,OAAOA,iBAAM,WAAyC,SAASC,MAAK,eAAe,MAAM;AAClG,QAAM,EAAE,UAAU,aAAa,UAAU,MAAM,UAAU,SAAS,GAAG,MAAA,IAAU;AAC/E,QAAM,CAAC,UAAU,WAAW,IAAID,iBAAM,SAAS,KAAK;AACpD,QAAM,CAAC,UAAU,WAAW,IAAIA,iBAAM,SAA6B,MAAS;AAC5E,QAAM,CAAC,MAAM,OAAO,IAAIE,4BAAuB;AAAA,IAC3C,cAAc,eAAe;AAAA,IAC7B;AAAA,IACA,OAAO;AAAA,EAAA,CACV;AACD,QAAM,CAAC,aAAa,cAAc,IAAIF,iBAAM,SAAuE;AAAA,IAC/G,MAAM;AAAA,IACN,QAAQ;AAAA,EAAA,CACX;AAED,QAAM,aAAaA,iBAAM,OAA0B,IAAI;AAEvD,QAAM,cAAcA,iBAAM,YAAY,MAAM;AACxC,mBAAe,EAAE,MAAM,OAAO,QAAQ,MAAM;AAC5C,eAAW,SAAS,MAAA;AAAA,EACxB,GAAG,CAAA,CAAE;AAEL,QAAM,UAAUA,iBAAM;AAAA,IAClB,OAAO;AAAA,MACH;AAAA,MACA,qBAAqB,MAAM,YAAY,IAAI;AAAA,MAC3C;AAAA,MACA,aAAa,CAAC,UAAkB,YAAY,KAAK;AAAA,MACjD,MAAM,MAAM,QAAQ,IAAI;AAAA,MACxB,OAAO,MAAM,QAAQ,KAAK;AAAA;AAAA,MAE1B;AAAA,MACA,YAAY,CAAC,WAAqC;AAC9C,uBAAe,EAAE,MAAM,MAAM,OAAA,CAAQ;AACrC,gBAAQ,KAAK;AAAA,MACjB;AAAA,MACA;AAAA;AAAA,MAEA;AAAA,IAAA;AAAA,IAEJ,CAAC,UAAU,UAAU,SAAS,aAAa,WAAW;AAAA,EAAA;AAG1D,QAAM,mBAAmB,CAACG,OAAe,iBAAwD;AAC7F,UAAM,QAAQ,aAAa;AAC3B,UAAM,iBAAiB,aAAa,WAAY,OAAO;AACvD,UAAM,0BAA0BC,IAAAA,8BAA8B,cAAc;AAI5E,QAAID,UAAS,MAAM,QAAQ,aAAa,MAAM,QAAQ,gBAAgB,yBAAyB;AAC3F,mBAAa,OAAA;AACb;AAAA,IACJ;AACA,YAAQA,KAAI;AAAA,EAChB;AAEA,SACIH,iCAAA,cAACK,QAAAA,YAAY,UAAZ,EAAqB,OAAO,QAAA,GACzBL,iCAAA,cAACM,KAAAA,KAAc,MAAd,EAAoB,GAAG,OAAO,MAAY,cAAc,iBAAA,GACpD,WAAWN,iCAAA,cAACO,QAAAA,SAAA,EAAQ,KAAK,WAAA,GAAa,OAAQ,GAC9C,QACL,GAEC,YAAY,QAAQ,YAAY,UAAU,YAAY,QAC3D;AAER,CAAC;AACD,KAAK,UAAUA,QAAAA;AACf,KAAK,UAAUC,QAAAA;AACf,KAAK,OAAOC,KAAAA;AACZ,KAAK,OAAOC,KAAAA;AACZ,KAAK,WAAWC,SAAAA;AAChB,KAAK,YAAYC,UAAAA;AACjB,KAAK,QAAQC,MAAAA;AACb,KAAK,SAASC,OAAAA;AACd,KAAK,aAAaC,WAAAA;AAClB,KAAK,UAAUC,QAAAA;;"}
1
+ {"version":3,"file":"Menu.cjs","sources":["../../../src/components/Menu/Menu.tsx"],"sourcesContent":["import { Menu as MenuPrimitive } from '@base-ui/react/menu';\nimport * as React from 'react';\n\nimport { useControlled } from '@/hooks/useControlled';\nimport { isElementInsideTable3OrReport } from '@/utils/dom';\n\nimport type { MenuCheckboxItemProps } from './components/Checkbox';\nimport { Checkbox } from './components/Checkbox';\nimport type { MenuContentProps } from './components/Content';\nimport { Content } from './components/Content';\nimport type { MenuGroupProps } from './components/Group';\nimport { Group } from './components/Group';\nimport type { MenuHeaderProps } from './components/Header';\nimport { Header } from './components/Header';\nimport type { MenuItemProps } from './components/Item';\nimport { Item } from './components/Item';\nimport type { MenuLinkItemProps } from './components/Link';\nimport { Link } from './components/Link';\nimport type { ForwardedMenuRadioGroupWithStatics } from './components/RadioGroup';\nimport { RadioGroup } from './components/RadioGroup';\nimport type { MenuSeparatorProps } from './components/Separator';\nimport { Separator } from './components/Separator';\nimport type { MenuSubMenuProps } from './components/SubMenu';\nimport { SubMenu } from './components/SubMenu';\nimport type { MenuTriggerProps } from './components/Trigger';\nimport { Trigger } from './components/Trigger';\nimport { MenuContext } from './Context';\n\nexport type MenuProps = {\n children: React.ReactNode;\n /** Set whether the menu is open by default or not */\n defaultOpen?: boolean;\n /** Called when the menu opens or closes, must be used in conjunction with open */\n onChange?: (open: boolean) => void;\n /** Control the open state of the menu from outside the component */\n open?: boolean;\n /** ID of the trigger the menu is associated with (controlled mode) */\n triggerId?: string | null;\n /** A trigger to be used for the menu, should not be set if `children` already contains a trigger */\n trigger?: React.JSX.Element;\n};\nexport type ForwardedMenuWithStatics = React.ForwardRefExoticComponent<MenuProps & React.RefAttributes<HTMLElement>> & {\n Trigger: React.ForwardRefExoticComponent<MenuTriggerProps>;\n Content: React.ForwardRefExoticComponent<MenuContentProps>;\n Item: React.ForwardRefExoticComponent<MenuItemProps>;\n Link: React.ForwardRefExoticComponent<MenuLinkItemProps>;\n Checkbox: React.ForwardRefExoticComponent<MenuCheckboxItemProps>;\n Separator: React.ForwardRefExoticComponent<MenuSeparatorProps>;\n Group: React.ForwardRefExoticComponent<MenuGroupProps>;\n Header: React.ForwardRefExoticComponent<MenuHeaderProps>;\n RadioGroup: ForwardedMenuRadioGroupWithStatics;\n SubMenu: React.ForwardRefExoticComponent<MenuSubMenuProps>;\n};\n\nexport const Menu = React.forwardRef<HTMLButtonElement, MenuProps>(function Menu(externalProps, _ref) {\n const { children, defaultOpen, onChange, open: openProp, trigger, ...props } = externalProps;\n const [indented, setIndented] = React.useState(false);\n const [minWidth, setMinWidth] = React.useState<number | undefined>(undefined);\n const [open, setOpen] = useControlled<boolean>({\n defaultValue: defaultOpen ?? false,\n onChange,\n value: openProp,\n });\n const [dialogState, setDialogState] = React.useState<{ open: boolean; render: (() => React.ReactElement) | null }>({\n open: false,\n render: null,\n });\n\n const triggerRef = React.useRef<HTMLButtonElement>(null);\n\n const closeDialog = React.useCallback(() => {\n setDialogState({ open: false, render: null });\n triggerRef.current?.focus();\n }, []);\n\n const context = React.useMemo(\n () => ({\n indented,\n registerIndentation: () => setIndented(true),\n minWidth,\n setMinWidth: (width: number) => setMinWidth(width),\n open: () => setOpen(true),\n close: () => setOpen(false),\n // Dialog state management - survives menu close\n dialogState,\n openDialog: (render: () => React.ReactElement) => {\n setDialogState({ open: true, render });\n setOpen(false);\n },\n closeDialog,\n // Trigger ref for focus management after dialog closes\n triggerRef,\n }),\n [indented, minWidth, setOpen, dialogState, closeDialog]\n );\n\n const handleOpenChange = (open: boolean, eventDetails: MenuPrimitive.Root.ChangeEventDetails) => {\n const event = eventDetails.event as KeyboardEvent;\n const triggerElement = eventDetails.trigger ?? (event?.currentTarget as Element | null);\n const isTableHeaderOrCellMenu = isElementInsideTable3OrReport(triggerElement);\n\n // In Table3 header/cell contexts, ArrowUp/ArrowDown should keep driving table row navigation.\n // Cancel only the menu open transition for these keys so the key event can still bubble to the table.\n if (open && (event.key === 'ArrowUp' || event.key === 'ArrowDown') && isTableHeaderOrCellMenu) {\n eventDetails.cancel();\n return;\n }\n setOpen(open);\n };\n\n return (\n <MenuContext.Provider value={context}>\n <MenuPrimitive.Root {...props} open={open} onOpenChange={handleOpenChange}>\n {trigger && <Trigger ref={triggerRef}>{trigger}</Trigger>}\n {children}\n </MenuPrimitive.Root>\n {/* Render dialog outside menu tree - state survives menu close */}\n {dialogState.open && dialogState.render && dialogState.render()}\n </MenuContext.Provider>\n );\n}) as ForwardedMenuWithStatics;\nMenu.Trigger = Trigger;\nMenu.Content = Content;\nMenu.Item = Item;\nMenu.Link = Link;\nMenu.Checkbox = Checkbox;\nMenu.Separator = Separator;\nMenu.Group = Group;\nMenu.Header = Header;\nMenu.RadioGroup = RadioGroup;\nMenu.SubMenu = SubMenu;\n\nexport type {\n MenuItemProps,\n MenuContentProps,\n MenuLinkItemProps,\n MenuTriggerProps,\n MenuCheckboxItemProps,\n MenuSeparatorProps,\n MenuGroupProps,\n MenuHeaderProps,\n MenuSubMenuProps,\n};\n"],"names":["React","Menu","useControlled","open","isElementInsideTable3OrReport","MenuContext","MenuPrimitive","Trigger","Content","Item","Link","Checkbox","Separator","Group","Header","RadioGroup","SubMenu"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsDO,MAAM,OAAOA,iBAAM,WAAyC,SAASC,MAAK,eAAe,MAAM;AAClG,QAAM,EAAE,UAAU,aAAa,UAAU,MAAM,UAAU,SAAS,GAAG,MAAA,IAAU;AAC/E,QAAM,CAAC,UAAU,WAAW,IAAID,iBAAM,SAAS,KAAK;AACpD,QAAM,CAAC,UAAU,WAAW,IAAIA,iBAAM,SAA6B,MAAS;AAC5E,QAAM,CAAC,MAAM,OAAO,IAAIE,4BAAuB;AAAA,IAC3C,cAAc,eAAe;AAAA,IAC7B;AAAA,IACA,OAAO;AAAA,EAAA,CACV;AACD,QAAM,CAAC,aAAa,cAAc,IAAIF,iBAAM,SAAuE;AAAA,IAC/G,MAAM;AAAA,IACN,QAAQ;AAAA,EAAA,CACX;AAED,QAAM,aAAaA,iBAAM,OAA0B,IAAI;AAEvD,QAAM,cAAcA,iBAAM,YAAY,MAAM;AACxC,mBAAe,EAAE,MAAM,OAAO,QAAQ,MAAM;AAC5C,eAAW,SAAS,MAAA;AAAA,EACxB,GAAG,CAAA,CAAE;AAEL,QAAM,UAAUA,iBAAM;AAAA,IAClB,OAAO;AAAA,MACH;AAAA,MACA,qBAAqB,MAAM,YAAY,IAAI;AAAA,MAC3C;AAAA,MACA,aAAa,CAAC,UAAkB,YAAY,KAAK;AAAA,MACjD,MAAM,MAAM,QAAQ,IAAI;AAAA,MACxB,OAAO,MAAM,QAAQ,KAAK;AAAA;AAAA,MAE1B;AAAA,MACA,YAAY,CAAC,WAAqC;AAC9C,uBAAe,EAAE,MAAM,MAAM,OAAA,CAAQ;AACrC,gBAAQ,KAAK;AAAA,MACjB;AAAA,MACA;AAAA;AAAA,MAEA;AAAA,IAAA;AAAA,IAEJ,CAAC,UAAU,UAAU,SAAS,aAAa,WAAW;AAAA,EAAA;AAG1D,QAAM,mBAAmB,CAACG,OAAe,iBAAwD;AAC7F,UAAM,QAAQ,aAAa;AAC3B,UAAM,iBAAiB,aAAa,WAAY,OAAO;AACvD,UAAM,0BAA0BC,IAAAA,8BAA8B,cAAc;AAI5E,QAAID,UAAS,MAAM,QAAQ,aAAa,MAAM,QAAQ,gBAAgB,yBAAyB;AAC3F,mBAAa,OAAA;AACb;AAAA,IACJ;AACA,YAAQA,KAAI;AAAA,EAChB;AAEA,SACIH,iCAAA,cAACK,QAAAA,YAAY,UAAZ,EAAqB,OAAO,QAAA,GACzBL,iCAAA,cAACM,KAAAA,KAAc,MAAd,EAAoB,GAAG,OAAO,MAAY,cAAc,iBAAA,GACpD,WAAWN,iCAAA,cAACO,QAAAA,SAAA,EAAQ,KAAK,WAAA,GAAa,OAAQ,GAC9C,QACL,GAEC,YAAY,QAAQ,YAAY,UAAU,YAAY,QAC3D;AAER,CAAC;AACD,KAAK,UAAUA,QAAAA;AACf,KAAK,UAAUC,QAAAA;AACf,KAAK,OAAOC,KAAAA;AACZ,KAAK,OAAOC,KAAAA;AACZ,KAAK,WAAWC,SAAAA;AAChB,KAAK,YAAYC,UAAAA;AACjB,KAAK,QAAQC,MAAAA;AACb,KAAK,SAASC,OAAAA;AACd,KAAK,aAAaC,WAAAA;AAClB,KAAK,UAAUC,QAAAA;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.js","sources":["../../../src/components/Menu/Menu.tsx"],"sourcesContent":["import { Menu as MenuPrimitive } from '@base-ui/react/menu';\nimport * as React from 'react';\n\nimport { useControlled } from '../../hooks/useControlled';\nimport { isElementInsideTable3OrReport } from '../../utils/dom';\n\nimport type { MenuCheckboxItemProps } from './components/Checkbox';\nimport { Checkbox } from './components/Checkbox';\nimport type { MenuContentProps } from './components/Content';\nimport { Content } from './components/Content';\nimport type { MenuGroupProps } from './components/Group';\nimport { Group } from './components/Group';\nimport type { MenuHeaderProps } from './components/Header';\nimport { Header } from './components/Header';\nimport type { MenuItemProps } from './components/Item';\nimport { Item } from './components/Item';\nimport type { MenuLinkItemProps } from './components/Link';\nimport { Link } from './components/Link';\nimport type { ForwardedMenuRadioGroupWithStatics } from './components/RadioGroup';\nimport { RadioGroup } from './components/RadioGroup';\nimport type { MenuSeparatorProps } from './components/Separator';\nimport { Separator } from './components/Separator';\nimport type { MenuSubMenuProps } from './components/SubMenu';\nimport { SubMenu } from './components/SubMenu';\nimport type { MenuTriggerProps } from './components/Trigger';\nimport { Trigger } from './components/Trigger';\nimport { MenuContext } from './Context';\n\nexport type MenuProps = {\n children: React.ReactNode;\n /** Set whether the menu is open by default or not */\n defaultOpen?: boolean;\n /** Called when the menu opens or closes, must be used in conjunction with open */\n onChange?: (open: boolean) => void;\n /** Control the open state of the menu from outside the component */\n open?: boolean;\n /** ID of the trigger the menu is associated with (controlled mode) */\n triggerId?: string | null;\n /** A trigger to be used for the menu, should not be set if `children` already contains a trigger */\n trigger?: React.JSX.Element;\n};\nexport type ForwardedMenuWithStatics = React.ForwardRefExoticComponent<MenuProps & React.RefAttributes<HTMLElement>> & {\n Trigger: React.ForwardRefExoticComponent<MenuTriggerProps>;\n Content: React.ForwardRefExoticComponent<MenuContentProps>;\n Item: React.ForwardRefExoticComponent<MenuItemProps>;\n Link: React.ForwardRefExoticComponent<MenuLinkItemProps>;\n Checkbox: React.ForwardRefExoticComponent<MenuCheckboxItemProps>;\n Separator: React.ForwardRefExoticComponent<MenuSeparatorProps>;\n Group: React.ForwardRefExoticComponent<MenuGroupProps>;\n Header: React.ForwardRefExoticComponent<MenuHeaderProps>;\n RadioGroup: ForwardedMenuRadioGroupWithStatics;\n SubMenu: React.ForwardRefExoticComponent<MenuSubMenuProps>;\n};\n\nexport const Menu = React.forwardRef<HTMLButtonElement, MenuProps>(function Menu(externalProps, _ref) {\n const { children, defaultOpen, onChange, open: openProp, trigger, ...props } = externalProps;\n const [indented, setIndented] = React.useState(false);\n const [minWidth, setMinWidth] = React.useState<number | undefined>(undefined);\n const [open, setOpen] = useControlled<boolean>({\n defaultValue: defaultOpen ?? false,\n onChange,\n value: openProp,\n });\n const [dialogState, setDialogState] = React.useState<{ open: boolean; render: (() => React.ReactElement) | null }>({\n open: false,\n render: null,\n });\n\n const triggerRef = React.useRef<HTMLButtonElement>(null);\n\n const closeDialog = React.useCallback(() => {\n setDialogState({ open: false, render: null });\n triggerRef.current?.focus();\n }, []);\n\n const context = React.useMemo(\n () => ({\n indented,\n registerIndentation: () => setIndented(true),\n minWidth,\n setMinWidth: (width: number) => setMinWidth(width),\n open: () => setOpen(true),\n close: () => setOpen(false),\n // Dialog state management - survives menu close\n dialogState,\n openDialog: (render: () => React.ReactElement) => {\n setDialogState({ open: true, render });\n setOpen(false);\n },\n closeDialog,\n // Trigger ref for focus management after dialog closes\n triggerRef,\n }),\n [indented, minWidth, setOpen, dialogState, closeDialog]\n );\n\n const handleOpenChange = (open: boolean, eventDetails: MenuPrimitive.Root.ChangeEventDetails) => {\n const event = eventDetails.event as KeyboardEvent;\n const triggerElement = eventDetails.trigger ?? (event?.currentTarget as Element | null);\n const isTableHeaderOrCellMenu = isElementInsideTable3OrReport(triggerElement);\n\n // In Table3 header/cell contexts, ArrowUp/ArrowDown should keep driving table row navigation.\n // Cancel only the menu open transition for these keys so the key event can still bubble to the table.\n if (open && (event.key === 'ArrowUp' || event.key === 'ArrowDown') && isTableHeaderOrCellMenu) {\n eventDetails.cancel();\n return;\n }\n setOpen(open);\n };\n\n return (\n <MenuContext.Provider value={context}>\n <MenuPrimitive.Root {...props} open={open} onOpenChange={handleOpenChange}>\n {trigger && <Trigger ref={triggerRef}>{trigger}</Trigger>}\n {children}\n </MenuPrimitive.Root>\n {/* Render dialog outside menu tree - state survives menu close */}\n {dialogState.open && dialogState.render && dialogState.render()}\n </MenuContext.Provider>\n );\n}) as ForwardedMenuWithStatics;\nMenu.Trigger = Trigger;\nMenu.Content = Content;\nMenu.Item = Item;\nMenu.Link = Link;\nMenu.Checkbox = Checkbox;\nMenu.Separator = Separator;\nMenu.Group = Group;\nMenu.Header = Header;\nMenu.RadioGroup = RadioGroup;\nMenu.SubMenu = SubMenu;\n\nexport type {\n MenuItemProps,\n MenuContentProps,\n MenuLinkItemProps,\n MenuTriggerProps,\n MenuCheckboxItemProps,\n MenuSeparatorProps,\n MenuGroupProps,\n MenuHeaderProps,\n MenuSubMenuProps,\n};\n"],"names":["Menu","open","MenuPrimitive"],"mappings":";;;;;;;;;;;;;;;AAsDO,MAAM,OAAO,MAAM,WAAyC,SAASA,MAAK,eAAe,MAAM;AAClG,QAAM,EAAE,UAAU,aAAa,UAAU,MAAM,UAAU,SAAS,GAAG,MAAA,IAAU;AAC/E,QAAM,CAAC,UAAU,WAAW,IAAI,MAAM,SAAS,KAAK;AACpD,QAAM,CAAC,UAAU,WAAW,IAAI,MAAM,SAA6B,MAAS;AAC5E,QAAM,CAAC,MAAM,OAAO,IAAI,cAAuB;AAAA,IAC3C,cAAc,eAAe;AAAA,IAC7B;AAAA,IACA,OAAO;AAAA,EAAA,CACV;AACD,QAAM,CAAC,aAAa,cAAc,IAAI,MAAM,SAAuE;AAAA,IAC/G,MAAM;AAAA,IACN,QAAQ;AAAA,EAAA,CACX;AAED,QAAM,aAAa,MAAM,OAA0B,IAAI;AAEvD,QAAM,cAAc,MAAM,YAAY,MAAM;AACxC,mBAAe,EAAE,MAAM,OAAO,QAAQ,MAAM;AAC5C,eAAW,SAAS,MAAA;AAAA,EACxB,GAAG,CAAA,CAAE;AAEL,QAAM,UAAU,MAAM;AAAA,IAClB,OAAO;AAAA,MACH;AAAA,MACA,qBAAqB,MAAM,YAAY,IAAI;AAAA,MAC3C;AAAA,MACA,aAAa,CAAC,UAAkB,YAAY,KAAK;AAAA,MACjD,MAAM,MAAM,QAAQ,IAAI;AAAA,MACxB,OAAO,MAAM,QAAQ,KAAK;AAAA;AAAA,MAE1B;AAAA,MACA,YAAY,CAAC,WAAqC;AAC9C,uBAAe,EAAE,MAAM,MAAM,OAAA,CAAQ;AACrC,gBAAQ,KAAK;AAAA,MACjB;AAAA,MACA;AAAA;AAAA,MAEA;AAAA,IAAA;AAAA,IAEJ,CAAC,UAAU,UAAU,SAAS,aAAa,WAAW;AAAA,EAAA;AAG1D,QAAM,mBAAmB,CAACC,OAAe,iBAAwD;AAC7F,UAAM,QAAQ,aAAa;AAC3B,UAAM,iBAAiB,aAAa,WAAY,OAAO;AACvD,UAAM,0BAA0B,8BAA8B,cAAc;AAI5E,QAAIA,UAAS,MAAM,QAAQ,aAAa,MAAM,QAAQ,gBAAgB,yBAAyB;AAC3F,mBAAa,OAAA;AACb;AAAA,IACJ;AACA,YAAQA,KAAI;AAAA,EAChB;AAEA,SACI,sBAAA,cAAC,YAAY,UAAZ,EAAqB,OAAO,QAAA,GACzB,sBAAA,cAACC,OAAc,MAAd,EAAoB,GAAG,OAAO,MAAY,cAAc,iBAAA,GACpD,WAAW,sBAAA,cAAC,SAAA,EAAQ,KAAK,WAAA,GAAa,OAAQ,GAC9C,QACL,GAEC,YAAY,QAAQ,YAAY,UAAU,YAAY,QAC3D;AAER,CAAC;AACD,KAAK,UAAU;AACf,KAAK,UAAU;AACf,KAAK,OAAO;AACZ,KAAK,OAAO;AACZ,KAAK,WAAW;AAChB,KAAK,YAAY;AACjB,KAAK,QAAQ;AACb,KAAK,SAAS;AACd,KAAK,aAAa;AAClB,KAAK,UAAU;"}
1
+ {"version":3,"file":"Menu.js","sources":["../../../src/components/Menu/Menu.tsx"],"sourcesContent":["import { Menu as MenuPrimitive } from '@base-ui/react/menu';\nimport * as React from 'react';\n\nimport { useControlled } from '@/hooks/useControlled';\nimport { isElementInsideTable3OrReport } from '@/utils/dom';\n\nimport type { MenuCheckboxItemProps } from './components/Checkbox';\nimport { Checkbox } from './components/Checkbox';\nimport type { MenuContentProps } from './components/Content';\nimport { Content } from './components/Content';\nimport type { MenuGroupProps } from './components/Group';\nimport { Group } from './components/Group';\nimport type { MenuHeaderProps } from './components/Header';\nimport { Header } from './components/Header';\nimport type { MenuItemProps } from './components/Item';\nimport { Item } from './components/Item';\nimport type { MenuLinkItemProps } from './components/Link';\nimport { Link } from './components/Link';\nimport type { ForwardedMenuRadioGroupWithStatics } from './components/RadioGroup';\nimport { RadioGroup } from './components/RadioGroup';\nimport type { MenuSeparatorProps } from './components/Separator';\nimport { Separator } from './components/Separator';\nimport type { MenuSubMenuProps } from './components/SubMenu';\nimport { SubMenu } from './components/SubMenu';\nimport type { MenuTriggerProps } from './components/Trigger';\nimport { Trigger } from './components/Trigger';\nimport { MenuContext } from './Context';\n\nexport type MenuProps = {\n children: React.ReactNode;\n /** Set whether the menu is open by default or not */\n defaultOpen?: boolean;\n /** Called when the menu opens or closes, must be used in conjunction with open */\n onChange?: (open: boolean) => void;\n /** Control the open state of the menu from outside the component */\n open?: boolean;\n /** ID of the trigger the menu is associated with (controlled mode) */\n triggerId?: string | null;\n /** A trigger to be used for the menu, should not be set if `children` already contains a trigger */\n trigger?: React.JSX.Element;\n};\nexport type ForwardedMenuWithStatics = React.ForwardRefExoticComponent<MenuProps & React.RefAttributes<HTMLElement>> & {\n Trigger: React.ForwardRefExoticComponent<MenuTriggerProps>;\n Content: React.ForwardRefExoticComponent<MenuContentProps>;\n Item: React.ForwardRefExoticComponent<MenuItemProps>;\n Link: React.ForwardRefExoticComponent<MenuLinkItemProps>;\n Checkbox: React.ForwardRefExoticComponent<MenuCheckboxItemProps>;\n Separator: React.ForwardRefExoticComponent<MenuSeparatorProps>;\n Group: React.ForwardRefExoticComponent<MenuGroupProps>;\n Header: React.ForwardRefExoticComponent<MenuHeaderProps>;\n RadioGroup: ForwardedMenuRadioGroupWithStatics;\n SubMenu: React.ForwardRefExoticComponent<MenuSubMenuProps>;\n};\n\nexport const Menu = React.forwardRef<HTMLButtonElement, MenuProps>(function Menu(externalProps, _ref) {\n const { children, defaultOpen, onChange, open: openProp, trigger, ...props } = externalProps;\n const [indented, setIndented] = React.useState(false);\n const [minWidth, setMinWidth] = React.useState<number | undefined>(undefined);\n const [open, setOpen] = useControlled<boolean>({\n defaultValue: defaultOpen ?? false,\n onChange,\n value: openProp,\n });\n const [dialogState, setDialogState] = React.useState<{ open: boolean; render: (() => React.ReactElement) | null }>({\n open: false,\n render: null,\n });\n\n const triggerRef = React.useRef<HTMLButtonElement>(null);\n\n const closeDialog = React.useCallback(() => {\n setDialogState({ open: false, render: null });\n triggerRef.current?.focus();\n }, []);\n\n const context = React.useMemo(\n () => ({\n indented,\n registerIndentation: () => setIndented(true),\n minWidth,\n setMinWidth: (width: number) => setMinWidth(width),\n open: () => setOpen(true),\n close: () => setOpen(false),\n // Dialog state management - survives menu close\n dialogState,\n openDialog: (render: () => React.ReactElement) => {\n setDialogState({ open: true, render });\n setOpen(false);\n },\n closeDialog,\n // Trigger ref for focus management after dialog closes\n triggerRef,\n }),\n [indented, minWidth, setOpen, dialogState, closeDialog]\n );\n\n const handleOpenChange = (open: boolean, eventDetails: MenuPrimitive.Root.ChangeEventDetails) => {\n const event = eventDetails.event as KeyboardEvent;\n const triggerElement = eventDetails.trigger ?? (event?.currentTarget as Element | null);\n const isTableHeaderOrCellMenu = isElementInsideTable3OrReport(triggerElement);\n\n // In Table3 header/cell contexts, ArrowUp/ArrowDown should keep driving table row navigation.\n // Cancel only the menu open transition for these keys so the key event can still bubble to the table.\n if (open && (event.key === 'ArrowUp' || event.key === 'ArrowDown') && isTableHeaderOrCellMenu) {\n eventDetails.cancel();\n return;\n }\n setOpen(open);\n };\n\n return (\n <MenuContext.Provider value={context}>\n <MenuPrimitive.Root {...props} open={open} onOpenChange={handleOpenChange}>\n {trigger && <Trigger ref={triggerRef}>{trigger}</Trigger>}\n {children}\n </MenuPrimitive.Root>\n {/* Render dialog outside menu tree - state survives menu close */}\n {dialogState.open && dialogState.render && dialogState.render()}\n </MenuContext.Provider>\n );\n}) as ForwardedMenuWithStatics;\nMenu.Trigger = Trigger;\nMenu.Content = Content;\nMenu.Item = Item;\nMenu.Link = Link;\nMenu.Checkbox = Checkbox;\nMenu.Separator = Separator;\nMenu.Group = Group;\nMenu.Header = Header;\nMenu.RadioGroup = RadioGroup;\nMenu.SubMenu = SubMenu;\n\nexport type {\n MenuItemProps,\n MenuContentProps,\n MenuLinkItemProps,\n MenuTriggerProps,\n MenuCheckboxItemProps,\n MenuSeparatorProps,\n MenuGroupProps,\n MenuHeaderProps,\n MenuSubMenuProps,\n};\n"],"names":["Menu","open","MenuPrimitive"],"mappings":";;;;;;;;;;;;;;;AAsDO,MAAM,OAAO,MAAM,WAAyC,SAASA,MAAK,eAAe,MAAM;AAClG,QAAM,EAAE,UAAU,aAAa,UAAU,MAAM,UAAU,SAAS,GAAG,MAAA,IAAU;AAC/E,QAAM,CAAC,UAAU,WAAW,IAAI,MAAM,SAAS,KAAK;AACpD,QAAM,CAAC,UAAU,WAAW,IAAI,MAAM,SAA6B,MAAS;AAC5E,QAAM,CAAC,MAAM,OAAO,IAAI,cAAuB;AAAA,IAC3C,cAAc,eAAe;AAAA,IAC7B;AAAA,IACA,OAAO;AAAA,EAAA,CACV;AACD,QAAM,CAAC,aAAa,cAAc,IAAI,MAAM,SAAuE;AAAA,IAC/G,MAAM;AAAA,IACN,QAAQ;AAAA,EAAA,CACX;AAED,QAAM,aAAa,MAAM,OAA0B,IAAI;AAEvD,QAAM,cAAc,MAAM,YAAY,MAAM;AACxC,mBAAe,EAAE,MAAM,OAAO,QAAQ,MAAM;AAC5C,eAAW,SAAS,MAAA;AAAA,EACxB,GAAG,CAAA,CAAE;AAEL,QAAM,UAAU,MAAM;AAAA,IAClB,OAAO;AAAA,MACH;AAAA,MACA,qBAAqB,MAAM,YAAY,IAAI;AAAA,MAC3C;AAAA,MACA,aAAa,CAAC,UAAkB,YAAY,KAAK;AAAA,MACjD,MAAM,MAAM,QAAQ,IAAI;AAAA,MACxB,OAAO,MAAM,QAAQ,KAAK;AAAA;AAAA,MAE1B;AAAA,MACA,YAAY,CAAC,WAAqC;AAC9C,uBAAe,EAAE,MAAM,MAAM,OAAA,CAAQ;AACrC,gBAAQ,KAAK;AAAA,MACjB;AAAA,MACA;AAAA;AAAA,MAEA;AAAA,IAAA;AAAA,IAEJ,CAAC,UAAU,UAAU,SAAS,aAAa,WAAW;AAAA,EAAA;AAG1D,QAAM,mBAAmB,CAACC,OAAe,iBAAwD;AAC7F,UAAM,QAAQ,aAAa;AAC3B,UAAM,iBAAiB,aAAa,WAAY,OAAO;AACvD,UAAM,0BAA0B,8BAA8B,cAAc;AAI5E,QAAIA,UAAS,MAAM,QAAQ,aAAa,MAAM,QAAQ,gBAAgB,yBAAyB;AAC3F,mBAAa,OAAA;AACb;AAAA,IACJ;AACA,YAAQA,KAAI;AAAA,EAChB;AAEA,SACI,sBAAA,cAAC,YAAY,UAAZ,EAAqB,OAAO,QAAA,GACzB,sBAAA,cAACC,OAAc,MAAd,EAAoB,GAAG,OAAO,MAAY,cAAc,iBAAA,GACpD,WAAW,sBAAA,cAAC,SAAA,EAAQ,KAAK,WAAA,GAAa,OAAQ,GAC9C,QACL,GAEC,YAAY,QAAQ,YAAY,UAAU,YAAY,QAC3D;AAER,CAAC;AACD,KAAK,UAAU;AACf,KAAK,UAAU;AACf,KAAK,OAAO;AACZ,KAAK,OAAO;AACZ,KAAK,WAAW;AAChB,KAAK,YAAY;AACjB,KAAK,QAAQ;AACb,KAAK,SAAS;AACd,KAAK,aAAa;AAClB,KAAK,UAAU;"}
@@ -2,8 +2,8 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const menu = require("@base-ui/react/menu");
4
4
  const React = require("react");
5
- const Icon = require("../../Icon/Icon.cjs");
6
5
  const Item = require("./Item.cjs");
6
+ const Icon = require("../../Icon/Icon.cjs");
7
7
  function _interopNamespaceDefault(e) {
8
8
  const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
9
9
  if (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.cjs","sources":["../../../../src/components/Menu/components/Checkbox.tsx"],"sourcesContent":["import { Menu as MenuPrimitive } from '@base-ui/react/menu';\nimport * as React from 'react';\n\nimport { Icon } from '../../Icon/Icon';\n\nimport { useItemStyling } from './Item';\n\nexport type MenuCheckboxItemProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect'> & {\n /** Whether the checkbox item is disabled */\n disabled?: boolean;\n /** The current checked state (controlled) */\n checked: boolean;\n /** Handler called when the checked state changes */\n onChange: (checked: boolean | 'indeterminate') => void;\n};\n\nexport const Checkbox = React.forwardRef<HTMLDivElement, MenuCheckboxItemProps>(function MenuCheckboxItem(props, ref) {\n const { checked, children, onChange, ...otherProps } = props;\n const className = useItemStyling({\n disabled: props.disabled,\n indented: true,\n className: props.className,\n });\n\n return (\n <MenuPrimitive.CheckboxItem {...otherProps} checked={checked} className={className} onCheckedChange={onChange} ref={ref}>\n <MenuPrimitive.CheckboxItemIndicator className=\"absolute left-0 ml-1.5\">\n <Icon name=\"tick\" className=\"-ml-px !h-4 !w-4\" />\n </MenuPrimitive.CheckboxItemIndicator>\n {children}\n </MenuPrimitive.CheckboxItem>\n );\n});\n"],"names":["React","useItemStyling","MenuPrimitive","Icon"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAgBO,MAAM,WAAWA,iBAAM,WAAkD,SAAS,iBAAiB,OAAO,KAAK;AAClH,QAAM,EAAE,SAAS,UAAU,UAAU,GAAG,eAAe;AACvD,QAAM,YAAYC,KAAAA,eAAe;AAAA,IAC7B,UAAU,MAAM;AAAA,IAChB,UAAU;AAAA,IACV,WAAW,MAAM;AAAA,EAAA,CACpB;AAED,SACID,iCAAA,cAACE,KAAAA,KAAc,cAAd,EAA4B,GAAG,YAAY,SAAkB,WAAsB,iBAAiB,UAAU,IAAA,GAC3GF,iCAAA,cAACE,UAAc,uBAAd,EAAoC,WAAU,yBAAA,GAC3CF,iCAAA,cAACG,KAAAA,MAAA,EAAK,MAAK,QAAO,WAAU,mBAAA,CAAmB,CACnD,GACC,QACL;AAER,CAAC;;"}
1
+ {"version":3,"file":"Checkbox.cjs","sources":["../../../../src/components/Menu/components/Checkbox.tsx"],"sourcesContent":["import { Menu as MenuPrimitive } from '@base-ui/react/menu';\nimport * as React from 'react';\n\nimport { Icon } from '@/components';\n\nimport { useItemStyling } from './Item';\n\nexport type MenuCheckboxItemProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect'> & {\n /** Whether the checkbox item is disabled */\n disabled?: boolean;\n /** The current checked state (controlled) */\n checked: boolean;\n /** Handler called when the checked state changes */\n onChange: (checked: boolean | 'indeterminate') => void;\n};\n\nexport const Checkbox = React.forwardRef<HTMLDivElement, MenuCheckboxItemProps>(function MenuCheckboxItem(props, ref) {\n const { checked, children, onChange, ...otherProps } = props;\n const className = useItemStyling({\n disabled: props.disabled,\n indented: true,\n className: props.className,\n });\n\n return (\n <MenuPrimitive.CheckboxItem {...otherProps} checked={checked} className={className} onCheckedChange={onChange} ref={ref}>\n <MenuPrimitive.CheckboxItemIndicator className=\"absolute left-0 ml-1.5\">\n <Icon name=\"tick\" className=\"-ml-px !h-4 !w-4\" />\n </MenuPrimitive.CheckboxItemIndicator>\n {children}\n </MenuPrimitive.CheckboxItem>\n );\n});\n"],"names":["React","useItemStyling","MenuPrimitive","Icon"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAgBO,MAAM,WAAWA,iBAAM,WAAkD,SAAS,iBAAiB,OAAO,KAAK;AAClH,QAAM,EAAE,SAAS,UAAU,UAAU,GAAG,eAAe;AACvD,QAAM,YAAYC,KAAAA,eAAe;AAAA,IAC7B,UAAU,MAAM;AAAA,IAChB,UAAU;AAAA,IACV,WAAW,MAAM;AAAA,EAAA,CACpB;AAED,SACID,iCAAA,cAACE,KAAAA,KAAc,cAAd,EAA4B,GAAG,YAAY,SAAkB,WAAsB,iBAAiB,UAAU,IAAA,GAC3GF,iCAAA,cAACE,UAAc,uBAAd,EAAoC,WAAU,yBAAA,GAC3CF,iCAAA,cAACG,KAAAA,MAAA,EAAK,MAAK,QAAO,WAAU,mBAAA,CAAmB,CACnD,GACC,QACL;AAER,CAAC;;"}
@@ -1,7 +1,7 @@
1
1
  import { Menu } from "@base-ui/react/menu";
2
2
  import * as React from "react";
3
- import { Icon } from "../../Icon/Icon.js";
4
3
  import { useItemStyling } from "./Item.js";
4
+ import { Icon } from "../../Icon/Icon.js";
5
5
  const Checkbox = React.forwardRef(function MenuCheckboxItem(props, ref) {
6
6
  const { checked, children, onChange, ...otherProps } = props;
7
7
  const className = useItemStyling({
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.js","sources":["../../../../src/components/Menu/components/Checkbox.tsx"],"sourcesContent":["import { Menu as MenuPrimitive } from '@base-ui/react/menu';\nimport * as React from 'react';\n\nimport { Icon } from '../../Icon/Icon';\n\nimport { useItemStyling } from './Item';\n\nexport type MenuCheckboxItemProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect'> & {\n /** Whether the checkbox item is disabled */\n disabled?: boolean;\n /** The current checked state (controlled) */\n checked: boolean;\n /** Handler called when the checked state changes */\n onChange: (checked: boolean | 'indeterminate') => void;\n};\n\nexport const Checkbox = React.forwardRef<HTMLDivElement, MenuCheckboxItemProps>(function MenuCheckboxItem(props, ref) {\n const { checked, children, onChange, ...otherProps } = props;\n const className = useItemStyling({\n disabled: props.disabled,\n indented: true,\n className: props.className,\n });\n\n return (\n <MenuPrimitive.CheckboxItem {...otherProps} checked={checked} className={className} onCheckedChange={onChange} ref={ref}>\n <MenuPrimitive.CheckboxItemIndicator className=\"absolute left-0 ml-1.5\">\n <Icon name=\"tick\" className=\"-ml-px !h-4 !w-4\" />\n </MenuPrimitive.CheckboxItemIndicator>\n {children}\n </MenuPrimitive.CheckboxItem>\n );\n});\n"],"names":["MenuPrimitive"],"mappings":";;;;AAgBO,MAAM,WAAW,MAAM,WAAkD,SAAS,iBAAiB,OAAO,KAAK;AAClH,QAAM,EAAE,SAAS,UAAU,UAAU,GAAG,eAAe;AACvD,QAAM,YAAY,eAAe;AAAA,IAC7B,UAAU,MAAM;AAAA,IAChB,UAAU;AAAA,IACV,WAAW,MAAM;AAAA,EAAA,CACpB;AAED,SACI,sBAAA,cAACA,KAAc,cAAd,EAA4B,GAAG,YAAY,SAAkB,WAAsB,iBAAiB,UAAU,IAAA,GAC3G,sBAAA,cAACA,KAAc,uBAAd,EAAoC,WAAU,yBAAA,GAC3C,sBAAA,cAAC,MAAA,EAAK,MAAK,QAAO,WAAU,mBAAA,CAAmB,CACnD,GACC,QACL;AAER,CAAC;"}
1
+ {"version":3,"file":"Checkbox.js","sources":["../../../../src/components/Menu/components/Checkbox.tsx"],"sourcesContent":["import { Menu as MenuPrimitive } from '@base-ui/react/menu';\nimport * as React from 'react';\n\nimport { Icon } from '@/components';\n\nimport { useItemStyling } from './Item';\n\nexport type MenuCheckboxItemProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect'> & {\n /** Whether the checkbox item is disabled */\n disabled?: boolean;\n /** The current checked state (controlled) */\n checked: boolean;\n /** Handler called when the checked state changes */\n onChange: (checked: boolean | 'indeterminate') => void;\n};\n\nexport const Checkbox = React.forwardRef<HTMLDivElement, MenuCheckboxItemProps>(function MenuCheckboxItem(props, ref) {\n const { checked, children, onChange, ...otherProps } = props;\n const className = useItemStyling({\n disabled: props.disabled,\n indented: true,\n className: props.className,\n });\n\n return (\n <MenuPrimitive.CheckboxItem {...otherProps} checked={checked} className={className} onCheckedChange={onChange} ref={ref}>\n <MenuPrimitive.CheckboxItemIndicator className=\"absolute left-0 ml-1.5\">\n <Icon name=\"tick\" className=\"-ml-px !h-4 !w-4\" />\n </MenuPrimitive.CheckboxItemIndicator>\n {children}\n </MenuPrimitive.CheckboxItem>\n );\n});\n"],"names":["MenuPrimitive"],"mappings":";;;;AAgBO,MAAM,WAAW,MAAM,WAAkD,SAAS,iBAAiB,OAAO,KAAK;AAClH,QAAM,EAAE,SAAS,UAAU,UAAU,GAAG,eAAe;AACvD,QAAM,YAAY,eAAe;AAAA,IAC7B,UAAU,MAAM;AAAA,IAChB,UAAU;AAAA,IACV,WAAW,MAAM;AAAA,EAAA,CACpB;AAED,SACI,sBAAA,cAACA,KAAc,cAAd,EAA4B,GAAG,YAAY,SAAkB,WAAsB,iBAAiB,UAAU,IAAA,GAC3G,sBAAA,cAACA,KAAc,uBAAd,EAAoC,WAAU,yBAAA,GAC3C,sBAAA,cAAC,MAAA,EAAK,MAAK,QAAO,WAAU,mBAAA,CAAmB,CACnD,GACC,QACL;AAER,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Content.cjs","sources":["../../../../src/components/Menu/components/Content.tsx"],"sourcesContent":["import { Menu as MenuPrimitive } from '@base-ui/react/menu';\nimport cn from 'clsx';\nimport * as React from 'react';\n\nimport { useMergedRef } from '../../../hooks/useMergedRef';\nimport type { Align, Placement } from '../../../types';\nimport { createShortcutKeyDownHandler } from '../../../utils/keyboard';\nimport { useCurrentMenu } from '../Context';\n\nimport type { MenuItemProps } from './Item';\n\nexport type MenuContentProps = Omit<React.ComponentPropsWithoutRef<typeof MenuPrimitive.Popup>, 'children' | 'side'> & {\n align?: Align;\n children: React.ReactNode;\n /** Set the position of the Menu relative to its trigger. Default value is `bottom` */\n placement?: Placement;\n};\n\nexport const Content = React.forwardRef(function MenuContent(props: MenuContentProps, ref: React.Ref<HTMLDivElement>) {\n const internalRef = useMergedRef<any>(ref);\n const menu = useCurrentMenu();\n const { align = 'start', children: _1, placement: side, ...otherProps } = props;\n const className = cn(\n 'block rounded border border-transparent bg-white p-1 text-black outline-none yt-shadow',\n props.className\n );\n\n // attach refs to each child\n const childrenRefs = React.useRef<React.RefObject<HTMLDivElement | null>[]>([]);\n const childrenWithRefs = (React.Children.toArray(props.children) as React.ReactElement<MenuItemProps & { ref: any }>[])\n .filter(child => !!child) // remove falsey children\n .map((child, index) => {\n childrenRefs.current[index] = React.createRef<HTMLDivElement>();\n return React.cloneElement(child, { ref: childrenRefs.current[index] });\n });\n\n // register any shortcuts attached to children\n React.useEffect(() => {\n const shortcuts: ((event: KeyboardEvent) => void)[] = [];\n childrenWithRefs.forEach((child, index) => {\n if (child.props.shortcut) {\n shortcuts.push(\n createShortcutKeyDownHandler(child.props.shortcut, event => {\n event.preventDefault();\n\n const dialog = document.querySelector('[role=\"dialog\"]');\n\n // Don't trigger the shortcut if it is outside of the dialog\n if (dialog && !dialog?.contains(internalRef.current)) {\n return;\n }\n\n menu?.open();\n setTimeout(() => childrenRefs.current[index]?.current?.click(), 1);\n })\n );\n }\n });\n\n // Use capture phase to intercept events before Base UI menu items can stop propagation\n shortcuts.forEach(handler => document.addEventListener('keydown', handler, { capture: true }));\n\n return () => {\n shortcuts.forEach(handler => document.removeEventListener('keydown', handler, { capture: true }));\n };\n }, []);\n\n return (\n <MenuPrimitive.Portal>\n <MenuPrimitive.Positioner align={align} side={side} sideOffset={3}>\n <MenuPrimitive.Popup\n {...otherProps}\n className={className}\n data-taco=\"menu\"\n style={{ minWidth: menu?.minWidth }}\n ref={internalRef}>\n {childrenWithRefs}\n </MenuPrimitive.Popup>\n </MenuPrimitive.Positioner>\n </MenuPrimitive.Portal>\n );\n});\n"],"names":["React","useMergedRef","menu","useCurrentMenu","createShortcutKeyDownHandler","MenuPrimitive"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAkBO,MAAM,UAAUA,iBAAM,WAAW,SAAS,YAAY,OAAyB,KAAgC;AAClH,QAAM,cAAcC,aAAAA,aAAkB,GAAG;AACzC,QAAMC,SAAOC,QAAAA,eAAA;AACb,QAAM,EAAE,QAAQ,SAAS,UAAU,IAAI,WAAW,MAAM,GAAG,WAAA,IAAe;AAC1E,QAAM,YAAY;AAAA,IACd;AAAA,IACA,MAAM;AAAA,EAAA;AAIV,QAAM,eAAeH,iBAAM,OAAiD,EAAE;AAC9E,QAAM,mBAAoBA,iBAAM,SAAS,QAAQ,MAAM,QAAQ,EAC1D,OAAO,CAAA,UAAS,CAAC,CAAC,KAAK,EACvB,IAAI,CAAC,OAAO,UAAU;AACnB,iBAAa,QAAQ,KAAK,IAAIA,iBAAM,UAAA;AACpC,WAAOA,iBAAM,aAAa,OAAO,EAAE,KAAK,aAAa,QAAQ,KAAK,GAAG;AAAA,EACzE,CAAC;AAGLA,mBAAM,UAAU,MAAM;AAClB,UAAM,YAAgD,CAAA;AACtD,qBAAiB,QAAQ,CAAC,OAAO,UAAU;AACvC,UAAI,MAAM,MAAM,UAAU;AACtB,kBAAU;AAAA,UACNI,SAAAA,6BAA6B,MAAM,MAAM,UAAU,CAAA,UAAS;AACxD,kBAAM,eAAA;AAEN,kBAAM,SAAS,SAAS,cAAc,iBAAiB;AAGvD,gBAAI,UAAU,CAAC,QAAQ,SAAS,YAAY,OAAO,GAAG;AAClD;AAAA,YACJ;AAEAF,oBAAM,KAAA;AACN,uBAAW,MAAM,aAAa,QAAQ,KAAK,GAAG,SAAS,MAAA,GAAS,CAAC;AAAA,UACrE,CAAC;AAAA,QAAA;AAAA,MAET;AAAA,IACJ,CAAC;AAGD,cAAU,QAAQ,CAAA,YAAW,SAAS,iBAAiB,WAAW,SAAS,EAAE,SAAS,KAAA,CAAM,CAAC;AAE7F,WAAO,MAAM;AACT,gBAAU,QAAQ,CAAA,YAAW,SAAS,oBAAoB,WAAW,SAAS,EAAE,SAAS,KAAA,CAAM,CAAC;AAAA,IACpG;AAAA,EACJ,GAAG,CAAA,CAAE;AAEL,SACIF,iCAAA,cAACK,KAAAA,KAAc,QAAd,MACGL,iCAAA,cAACK,KAAAA,KAAc,YAAd,EAAyB,OAAc,MAAY,YAAY,EAAA,GAC5DL,iCAAA;AAAA,IAACK,KAAAA,KAAc;AAAA,IAAd;AAAA,MACI,GAAG;AAAA,MACJ;AAAA,MACA,aAAU;AAAA,MACV,OAAO,EAAE,UAAUH,QAAM,SAAA;AAAA,MACzB,KAAK;AAAA,IAAA;AAAA,IACJ;AAAA,EAAA,CAET,CACJ;AAER,CAAC;;"}
1
+ {"version":3,"file":"Content.cjs","sources":["../../../../src/components/Menu/components/Content.tsx"],"sourcesContent":["import { Menu as MenuPrimitive } from '@base-ui/react/menu';\nimport cn from 'clsx';\nimport * as React from 'react';\n\nimport { useMergedRef } from '@/hooks/useMergedRef';\nimport type { Align, Placement } from '@/types';\nimport { createShortcutKeyDownHandler } from '@/utils/keyboard';\n\nimport { useCurrentMenu } from '../Context';\n\nimport type { MenuItemProps } from './Item';\n\nexport type MenuContentProps = Omit<React.ComponentPropsWithoutRef<typeof MenuPrimitive.Popup>, 'children' | 'side'> & {\n align?: Align;\n children: React.ReactNode;\n /** Set the position of the Menu relative to its trigger. Default value is `bottom` */\n placement?: Placement;\n};\n\nexport const Content = React.forwardRef(function MenuContent(props: MenuContentProps, ref: React.Ref<HTMLDivElement>) {\n const internalRef = useMergedRef<any>(ref);\n const menu = useCurrentMenu();\n const { align = 'start', children: _1, placement: side, ...otherProps } = props;\n const className = cn(\n 'block rounded border border-transparent bg-white p-1 text-black outline-none yt-shadow',\n props.className\n );\n\n // attach refs to each child\n const childrenRefs = React.useRef<React.RefObject<HTMLDivElement | null>[]>([]);\n const childrenWithRefs = (React.Children.toArray(props.children) as React.ReactElement<MenuItemProps & { ref: any }>[])\n .filter(child => !!child) // remove falsey children\n .map((child, index) => {\n childrenRefs.current[index] = React.createRef<HTMLDivElement>();\n return React.cloneElement(child, { ref: childrenRefs.current[index] });\n });\n\n // register any shortcuts attached to children\n React.useEffect(() => {\n const shortcuts: ((event: KeyboardEvent) => void)[] = [];\n childrenWithRefs.forEach((child, index) => {\n if (child.props.shortcut) {\n shortcuts.push(\n createShortcutKeyDownHandler(child.props.shortcut, event => {\n event.preventDefault();\n\n const dialog = document.querySelector('[role=\"dialog\"]');\n\n // Don't trigger the shortcut if it is outside of the dialog\n if (dialog && !dialog?.contains(internalRef.current)) {\n return;\n }\n\n menu?.open();\n setTimeout(() => childrenRefs.current[index]?.current?.click(), 1);\n })\n );\n }\n });\n\n // Use capture phase to intercept events before Base UI menu items can stop propagation\n shortcuts.forEach(handler => document.addEventListener('keydown', handler, { capture: true }));\n\n return () => {\n shortcuts.forEach(handler => document.removeEventListener('keydown', handler, { capture: true }));\n };\n }, []);\n\n return (\n <MenuPrimitive.Portal>\n <MenuPrimitive.Positioner align={align} side={side} sideOffset={3}>\n <MenuPrimitive.Popup\n {...otherProps}\n className={className}\n data-taco=\"menu\"\n style={{ minWidth: menu?.minWidth }}\n ref={internalRef}>\n {childrenWithRefs}\n </MenuPrimitive.Popup>\n </MenuPrimitive.Positioner>\n </MenuPrimitive.Portal>\n );\n});\n"],"names":["React","useMergedRef","menu","useCurrentMenu","createShortcutKeyDownHandler","MenuPrimitive"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAmBO,MAAM,UAAUA,iBAAM,WAAW,SAAS,YAAY,OAAyB,KAAgC;AAClH,QAAM,cAAcC,aAAAA,aAAkB,GAAG;AACzC,QAAMC,SAAOC,QAAAA,eAAA;AACb,QAAM,EAAE,QAAQ,SAAS,UAAU,IAAI,WAAW,MAAM,GAAG,WAAA,IAAe;AAC1E,QAAM,YAAY;AAAA,IACd;AAAA,IACA,MAAM;AAAA,EAAA;AAIV,QAAM,eAAeH,iBAAM,OAAiD,EAAE;AAC9E,QAAM,mBAAoBA,iBAAM,SAAS,QAAQ,MAAM,QAAQ,EAC1D,OAAO,CAAA,UAAS,CAAC,CAAC,KAAK,EACvB,IAAI,CAAC,OAAO,UAAU;AACnB,iBAAa,QAAQ,KAAK,IAAIA,iBAAM,UAAA;AACpC,WAAOA,iBAAM,aAAa,OAAO,EAAE,KAAK,aAAa,QAAQ,KAAK,GAAG;AAAA,EACzE,CAAC;AAGLA,mBAAM,UAAU,MAAM;AAClB,UAAM,YAAgD,CAAA;AACtD,qBAAiB,QAAQ,CAAC,OAAO,UAAU;AACvC,UAAI,MAAM,MAAM,UAAU;AACtB,kBAAU;AAAA,UACNI,SAAAA,6BAA6B,MAAM,MAAM,UAAU,CAAA,UAAS;AACxD,kBAAM,eAAA;AAEN,kBAAM,SAAS,SAAS,cAAc,iBAAiB;AAGvD,gBAAI,UAAU,CAAC,QAAQ,SAAS,YAAY,OAAO,GAAG;AAClD;AAAA,YACJ;AAEAF,oBAAM,KAAA;AACN,uBAAW,MAAM,aAAa,QAAQ,KAAK,GAAG,SAAS,MAAA,GAAS,CAAC;AAAA,UACrE,CAAC;AAAA,QAAA;AAAA,MAET;AAAA,IACJ,CAAC;AAGD,cAAU,QAAQ,CAAA,YAAW,SAAS,iBAAiB,WAAW,SAAS,EAAE,SAAS,KAAA,CAAM,CAAC;AAE7F,WAAO,MAAM;AACT,gBAAU,QAAQ,CAAA,YAAW,SAAS,oBAAoB,WAAW,SAAS,EAAE,SAAS,KAAA,CAAM,CAAC;AAAA,IACpG;AAAA,EACJ,GAAG,CAAA,CAAE;AAEL,SACIF,iCAAA,cAACK,KAAAA,KAAc,QAAd,MACGL,iCAAA,cAACK,KAAAA,KAAc,YAAd,EAAyB,OAAc,MAAY,YAAY,EAAA,GAC5DL,iCAAA;AAAA,IAACK,KAAAA,KAAc;AAAA,IAAd;AAAA,MACI,GAAG;AAAA,MACJ;AAAA,MACA,aAAU;AAAA,MACV,OAAO,EAAE,UAAUH,QAAM,SAAA;AAAA,MACzB,KAAK;AAAA,IAAA;AAAA,IACJ;AAAA,EAAA,CAET,CACJ;AAER,CAAC;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Content.js","sources":["../../../../src/components/Menu/components/Content.tsx"],"sourcesContent":["import { Menu as MenuPrimitive } from '@base-ui/react/menu';\nimport cn from 'clsx';\nimport * as React from 'react';\n\nimport { useMergedRef } from '../../../hooks/useMergedRef';\nimport type { Align, Placement } from '../../../types';\nimport { createShortcutKeyDownHandler } from '../../../utils/keyboard';\nimport { useCurrentMenu } from '../Context';\n\nimport type { MenuItemProps } from './Item';\n\nexport type MenuContentProps = Omit<React.ComponentPropsWithoutRef<typeof MenuPrimitive.Popup>, 'children' | 'side'> & {\n align?: Align;\n children: React.ReactNode;\n /** Set the position of the Menu relative to its trigger. Default value is `bottom` */\n placement?: Placement;\n};\n\nexport const Content = React.forwardRef(function MenuContent(props: MenuContentProps, ref: React.Ref<HTMLDivElement>) {\n const internalRef = useMergedRef<any>(ref);\n const menu = useCurrentMenu();\n const { align = 'start', children: _1, placement: side, ...otherProps } = props;\n const className = cn(\n 'block rounded border border-transparent bg-white p-1 text-black outline-none yt-shadow',\n props.className\n );\n\n // attach refs to each child\n const childrenRefs = React.useRef<React.RefObject<HTMLDivElement | null>[]>([]);\n const childrenWithRefs = (React.Children.toArray(props.children) as React.ReactElement<MenuItemProps & { ref: any }>[])\n .filter(child => !!child) // remove falsey children\n .map((child, index) => {\n childrenRefs.current[index] = React.createRef<HTMLDivElement>();\n return React.cloneElement(child, { ref: childrenRefs.current[index] });\n });\n\n // register any shortcuts attached to children\n React.useEffect(() => {\n const shortcuts: ((event: KeyboardEvent) => void)[] = [];\n childrenWithRefs.forEach((child, index) => {\n if (child.props.shortcut) {\n shortcuts.push(\n createShortcutKeyDownHandler(child.props.shortcut, event => {\n event.preventDefault();\n\n const dialog = document.querySelector('[role=\"dialog\"]');\n\n // Don't trigger the shortcut if it is outside of the dialog\n if (dialog && !dialog?.contains(internalRef.current)) {\n return;\n }\n\n menu?.open();\n setTimeout(() => childrenRefs.current[index]?.current?.click(), 1);\n })\n );\n }\n });\n\n // Use capture phase to intercept events before Base UI menu items can stop propagation\n shortcuts.forEach(handler => document.addEventListener('keydown', handler, { capture: true }));\n\n return () => {\n shortcuts.forEach(handler => document.removeEventListener('keydown', handler, { capture: true }));\n };\n }, []);\n\n return (\n <MenuPrimitive.Portal>\n <MenuPrimitive.Positioner align={align} side={side} sideOffset={3}>\n <MenuPrimitive.Popup\n {...otherProps}\n className={className}\n data-taco=\"menu\"\n style={{ minWidth: menu?.minWidth }}\n ref={internalRef}>\n {childrenWithRefs}\n </MenuPrimitive.Popup>\n </MenuPrimitive.Positioner>\n </MenuPrimitive.Portal>\n );\n});\n"],"names":["MenuPrimitive"],"mappings":";;;;;;AAkBO,MAAM,UAAU,MAAM,WAAW,SAAS,YAAY,OAAyB,KAAgC;AAClH,QAAM,cAAc,aAAkB,GAAG;AACzC,QAAM,OAAO,eAAA;AACb,QAAM,EAAE,QAAQ,SAAS,UAAU,IAAI,WAAW,MAAM,GAAG,WAAA,IAAe;AAC1E,QAAM,YAAY;AAAA,IACd;AAAA,IACA,MAAM;AAAA,EAAA;AAIV,QAAM,eAAe,MAAM,OAAiD,EAAE;AAC9E,QAAM,mBAAoB,MAAM,SAAS,QAAQ,MAAM,QAAQ,EAC1D,OAAO,CAAA,UAAS,CAAC,CAAC,KAAK,EACvB,IAAI,CAAC,OAAO,UAAU;AACnB,iBAAa,QAAQ,KAAK,IAAI,MAAM,UAAA;AACpC,WAAO,MAAM,aAAa,OAAO,EAAE,KAAK,aAAa,QAAQ,KAAK,GAAG;AAAA,EACzE,CAAC;AAGL,QAAM,UAAU,MAAM;AAClB,UAAM,YAAgD,CAAA;AACtD,qBAAiB,QAAQ,CAAC,OAAO,UAAU;AACvC,UAAI,MAAM,MAAM,UAAU;AACtB,kBAAU;AAAA,UACN,6BAA6B,MAAM,MAAM,UAAU,CAAA,UAAS;AACxD,kBAAM,eAAA;AAEN,kBAAM,SAAS,SAAS,cAAc,iBAAiB;AAGvD,gBAAI,UAAU,CAAC,QAAQ,SAAS,YAAY,OAAO,GAAG;AAClD;AAAA,YACJ;AAEA,kBAAM,KAAA;AACN,uBAAW,MAAM,aAAa,QAAQ,KAAK,GAAG,SAAS,MAAA,GAAS,CAAC;AAAA,UACrE,CAAC;AAAA,QAAA;AAAA,MAET;AAAA,IACJ,CAAC;AAGD,cAAU,QAAQ,CAAA,YAAW,SAAS,iBAAiB,WAAW,SAAS,EAAE,SAAS,KAAA,CAAM,CAAC;AAE7F,WAAO,MAAM;AACT,gBAAU,QAAQ,CAAA,YAAW,SAAS,oBAAoB,WAAW,SAAS,EAAE,SAAS,KAAA,CAAM,CAAC;AAAA,IACpG;AAAA,EACJ,GAAG,CAAA,CAAE;AAEL,SACI,sBAAA,cAACA,KAAc,QAAd,MACG,sBAAA,cAACA,KAAc,YAAd,EAAyB,OAAc,MAAY,YAAY,EAAA,GAC5D,sBAAA;AAAA,IAACA,KAAc;AAAA,IAAd;AAAA,MACI,GAAG;AAAA,MACJ;AAAA,MACA,aAAU;AAAA,MACV,OAAO,EAAE,UAAU,MAAM,SAAA;AAAA,MACzB,KAAK;AAAA,IAAA;AAAA,IACJ;AAAA,EAAA,CAET,CACJ;AAER,CAAC;"}
1
+ {"version":3,"file":"Content.js","sources":["../../../../src/components/Menu/components/Content.tsx"],"sourcesContent":["import { Menu as MenuPrimitive } from '@base-ui/react/menu';\nimport cn from 'clsx';\nimport * as React from 'react';\n\nimport { useMergedRef } from '@/hooks/useMergedRef';\nimport type { Align, Placement } from '@/types';\nimport { createShortcutKeyDownHandler } from '@/utils/keyboard';\n\nimport { useCurrentMenu } from '../Context';\n\nimport type { MenuItemProps } from './Item';\n\nexport type MenuContentProps = Omit<React.ComponentPropsWithoutRef<typeof MenuPrimitive.Popup>, 'children' | 'side'> & {\n align?: Align;\n children: React.ReactNode;\n /** Set the position of the Menu relative to its trigger. Default value is `bottom` */\n placement?: Placement;\n};\n\nexport const Content = React.forwardRef(function MenuContent(props: MenuContentProps, ref: React.Ref<HTMLDivElement>) {\n const internalRef = useMergedRef<any>(ref);\n const menu = useCurrentMenu();\n const { align = 'start', children: _1, placement: side, ...otherProps } = props;\n const className = cn(\n 'block rounded border border-transparent bg-white p-1 text-black outline-none yt-shadow',\n props.className\n );\n\n // attach refs to each child\n const childrenRefs = React.useRef<React.RefObject<HTMLDivElement | null>[]>([]);\n const childrenWithRefs = (React.Children.toArray(props.children) as React.ReactElement<MenuItemProps & { ref: any }>[])\n .filter(child => !!child) // remove falsey children\n .map((child, index) => {\n childrenRefs.current[index] = React.createRef<HTMLDivElement>();\n return React.cloneElement(child, { ref: childrenRefs.current[index] });\n });\n\n // register any shortcuts attached to children\n React.useEffect(() => {\n const shortcuts: ((event: KeyboardEvent) => void)[] = [];\n childrenWithRefs.forEach((child, index) => {\n if (child.props.shortcut) {\n shortcuts.push(\n createShortcutKeyDownHandler(child.props.shortcut, event => {\n event.preventDefault();\n\n const dialog = document.querySelector('[role=\"dialog\"]');\n\n // Don't trigger the shortcut if it is outside of the dialog\n if (dialog && !dialog?.contains(internalRef.current)) {\n return;\n }\n\n menu?.open();\n setTimeout(() => childrenRefs.current[index]?.current?.click(), 1);\n })\n );\n }\n });\n\n // Use capture phase to intercept events before Base UI menu items can stop propagation\n shortcuts.forEach(handler => document.addEventListener('keydown', handler, { capture: true }));\n\n return () => {\n shortcuts.forEach(handler => document.removeEventListener('keydown', handler, { capture: true }));\n };\n }, []);\n\n return (\n <MenuPrimitive.Portal>\n <MenuPrimitive.Positioner align={align} side={side} sideOffset={3}>\n <MenuPrimitive.Popup\n {...otherProps}\n className={className}\n data-taco=\"menu\"\n style={{ minWidth: menu?.minWidth }}\n ref={internalRef}>\n {childrenWithRefs}\n </MenuPrimitive.Popup>\n </MenuPrimitive.Positioner>\n </MenuPrimitive.Portal>\n );\n});\n"],"names":["MenuPrimitive"],"mappings":";;;;;;AAmBO,MAAM,UAAU,MAAM,WAAW,SAAS,YAAY,OAAyB,KAAgC;AAClH,QAAM,cAAc,aAAkB,GAAG;AACzC,QAAM,OAAO,eAAA;AACb,QAAM,EAAE,QAAQ,SAAS,UAAU,IAAI,WAAW,MAAM,GAAG,WAAA,IAAe;AAC1E,QAAM,YAAY;AAAA,IACd;AAAA,IACA,MAAM;AAAA,EAAA;AAIV,QAAM,eAAe,MAAM,OAAiD,EAAE;AAC9E,QAAM,mBAAoB,MAAM,SAAS,QAAQ,MAAM,QAAQ,EAC1D,OAAO,CAAA,UAAS,CAAC,CAAC,KAAK,EACvB,IAAI,CAAC,OAAO,UAAU;AACnB,iBAAa,QAAQ,KAAK,IAAI,MAAM,UAAA;AACpC,WAAO,MAAM,aAAa,OAAO,EAAE,KAAK,aAAa,QAAQ,KAAK,GAAG;AAAA,EACzE,CAAC;AAGL,QAAM,UAAU,MAAM;AAClB,UAAM,YAAgD,CAAA;AACtD,qBAAiB,QAAQ,CAAC,OAAO,UAAU;AACvC,UAAI,MAAM,MAAM,UAAU;AACtB,kBAAU;AAAA,UACN,6BAA6B,MAAM,MAAM,UAAU,CAAA,UAAS;AACxD,kBAAM,eAAA;AAEN,kBAAM,SAAS,SAAS,cAAc,iBAAiB;AAGvD,gBAAI,UAAU,CAAC,QAAQ,SAAS,YAAY,OAAO,GAAG;AAClD;AAAA,YACJ;AAEA,kBAAM,KAAA;AACN,uBAAW,MAAM,aAAa,QAAQ,KAAK,GAAG,SAAS,MAAA,GAAS,CAAC;AAAA,UACrE,CAAC;AAAA,QAAA;AAAA,MAET;AAAA,IACJ,CAAC;AAGD,cAAU,QAAQ,CAAA,YAAW,SAAS,iBAAiB,WAAW,SAAS,EAAE,SAAS,KAAA,CAAM,CAAC;AAE7F,WAAO,MAAM;AACT,gBAAU,QAAQ,CAAA,YAAW,SAAS,oBAAoB,WAAW,SAAS,EAAE,SAAS,KAAA,CAAM,CAAC;AAAA,IACpG;AAAA,EACJ,GAAG,CAAA,CAAE;AAEL,SACI,sBAAA,cAACA,KAAc,QAAd,MACG,sBAAA,cAACA,KAAc,YAAd,EAAyB,OAAc,MAAY,YAAY,EAAA,GAC5D,sBAAA;AAAA,IAACA,KAAc;AAAA,IAAd;AAAA,MACI,GAAG;AAAA,MACJ;AAAA,MACA,aAAU;AAAA,MACV,OAAO,EAAE,UAAU,MAAM,SAAA;AAAA,MACzB,KAAK;AAAA,IAAA;AAAA,IACJ;AAAA,EAAA,CAET,CACJ;AAER,CAAC;"}
@@ -3,9 +3,9 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const menu = require("@base-ui/react/menu");
4
4
  const cn = require("clsx");
5
5
  const React = require("react");
6
+ const Context = require("../Context.cjs");
6
7
  const Icon$1 = require("../../Icon/Icon.cjs");
7
8
  const Shortcut = require("../../Shortcut/Shortcut.cjs");
8
- const Context = require("../Context.cjs");
9
9
  function _interopNamespaceDefault(e) {
10
10
  const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
11
11
  if (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"Item.cjs","sources":["../../../../src/components/Menu/components/Item.tsx"],"sourcesContent":["import { Menu as MenuPrimitive } from '@base-ui/react/menu';\nimport cn from 'clsx';\nimport * as React from 'react';\n\nimport type { KeyDownHandlerOptions } from '../../../utils/keyboard';\nimport type { DialogProps } from '../../Dialog/Dialog';\nimport type { IconName } from '../../Icon/Icon';\nimport { Icon as IconPrimitive } from '../../Icon/Icon';\nimport { Shortcut } from '../../Shortcut/Shortcut';\nimport { useCurrentMenu } from '../Context';\n\nexport const Icon = ({ name }: { name: IconName }) => (\n // oxlint-disable-next-line taco/no-component-margin -- grandfathered; removing this margin is a visual breaking change\n <span className=\"absolute left-0 ml-1\">\n <IconPrimitive className=\"-ml-px -mt-px !h-5 !w-5\" name={name} />\n </span>\n);\n\nexport const useItemStyling = ({\n disabled,\n indented,\n className,\n}: {\n disabled?: boolean;\n indented: boolean;\n className?: string;\n}) => {\n const menu = useCurrentMenu();\n\n React.useEffect(() => {\n if (indented && !menu?.indented) {\n menu?.registerIndentation();\n }\n }, [indented]);\n\n return cn(\n 'group relative flex h-8 w-full items-center justify-start rounded pr-1.5 focus:outline-none',\n {\n 'pl-7': menu?.indented,\n 'pl-1.5': !menu?.indented,\n /* TODO: Why have both hover and data-[highlighted]? */\n /* shadow-none on hover is to prevent the focus style from showing up on hover */\n 'cursor-pointer text-black hover:bg-gray-100 hover:text-black hover:!shadow-none focus-visible:yt-focus data-[highlighted]:bg-gray-100 data-[highlighted]:text-black':\n !disabled,\n 'cursor-not-allowed text-gray-300 hover:bg-white': disabled,\n },\n className\n );\n};\n\nexport type MenuItemProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect'> & {\n dialog?: (props: Partial<DialogProps>) => React.JSX.Element;\n disabled?: boolean;\n icon?: IconName;\n onClick?: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;\n shortcut?: string | KeyDownHandlerOptions;\n subMenu?: any;\n};\n\nexport const Item = React.forwardRef(function MenuItem(props: MenuItemProps, ref: React.Ref<HTMLDivElement>) {\n const { dialog, icon, onClick, shortcut, subMenu, ...otherProps } = props;\n const menu = useCurrentMenu();\n\n const className = useItemStyling({\n disabled: props.disabled,\n indented: !!icon,\n className: props.className,\n });\n\n const disabled = !!props.disabled || props['aria-disabled'] === true || props['aria-disabled'] === 'true';\n\n const handleClick = (event: React.MouseEvent<HTMLDivElement>) => {\n if (disabled) {\n event.preventDefault();\n return;\n }\n\n event.stopPropagation();\n\n // For dialog items, use menu context to manage state (survives menu close)\n if (dialog && menu) {\n menu.openDialog(() =>\n dialog({\n open: true,\n onChange: (open: boolean) => {\n if (!open) menu.closeDialog();\n },\n onClose: () => menu.closeDialog(),\n })\n );\n return;\n }\n\n // Call onClick handler\n if (onClick) {\n onClick(event);\n }\n };\n\n if (subMenu) {\n return (\n <MenuPrimitive.SubmenuRoot>\n <MenuPrimitive.SubmenuTrigger {...otherProps} className={className} ref={ref}>\n {icon ? <Icon name={icon} /> : null}\n {props.children}\n <IconPrimitive className=\"-mr-1.5 ml-auto !h-5 !w-5\" name=\"chevron-right\" />\n </MenuPrimitive.SubmenuTrigger>\n {subMenu()}\n </MenuPrimitive.SubmenuRoot>\n );\n }\n\n const menuItem = (\n <MenuPrimitive.Item\n {...otherProps}\n // Need to set aria-haspopup=\"dialog\" otherwise there is no way to know item opens the dialo (in e2e tests), and we need to know this to be able to test this scenario in e2e tests.\n {...(dialog ? { 'aria-haspopup': 'dialog' } : {})}\n className={className}\n onClick={handleClick}\n ref={ref}\n disabled={disabled}>\n {icon ? <Icon name={icon} /> : null}\n {props.children}\n {shortcut ? (\n <span className=\"ml-auto pl-5\">\n <Shortcut keys={shortcut} className=\"text-gray-700\" />\n </span>\n ) : null}\n </MenuPrimitive.Item>\n );\n\n return menuItem;\n});\n"],"names":["React","IconPrimitive","menu","useCurrentMenu","MenuPrimitive","Shortcut"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAWO,MAAM,OAAO,CAAC,EAAE,KAAA;AAAA;AAAA,EAEnBA,iCAAA,cAAC,UAAK,WAAU,uBAAA,kDACXC,OAAAA,MAAA,EAAc,WAAU,2BAA0B,KAAA,CAAY,CACnE;AAAA;AAGG,MAAM,iBAAiB,CAAC;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AACJ,MAIM;AACF,QAAMC,QAAOC,QAAAA,eAAA;AAEbH,mBAAM,UAAU,MAAM;AAClB,QAAI,YAAY,CAACE,OAAM,UAAU;AAC7B,MAAAA,OAAM,oBAAA;AAAA,IACV;AAAA,EACJ,GAAG,CAAC,QAAQ,CAAC;AAEb,SAAO;AAAA,IACH;AAAA,IACA;AAAA,MACI,QAAQA,OAAM;AAAA,MACd,UAAU,CAACA,OAAM;AAAA;AAAA;AAAA,MAGjB,uKACI,CAAC;AAAA,MACL,mDAAmD;AAAA,IAAA;AAAA,IAEvD;AAAA,EAAA;AAER;AAWO,MAAM,OAAOF,iBAAM,WAAW,SAAS,SAAS,OAAsB,KAAgC;AACzG,QAAM,EAAE,QAAQ,MAAM,SAAS,UAAU,SAAS,GAAG,eAAe;AACpE,QAAME,SAAOC,QAAAA,eAAA;AAEb,QAAM,YAAY,eAAe;AAAA,IAC7B,UAAU,MAAM;AAAA,IAChB,UAAU,CAAC,CAAC;AAAA,IACZ,WAAW,MAAM;AAAA,EAAA,CACpB;AAED,QAAM,WAAW,CAAC,CAAC,MAAM,YAAY,MAAM,eAAe,MAAM,QAAQ,MAAM,eAAe,MAAM;AAEnG,QAAM,cAAc,CAAC,UAA4C;AAC7D,QAAI,UAAU;AACV,YAAM,eAAA;AACN;AAAA,IACJ;AAEA,UAAM,gBAAA;AAGN,QAAI,UAAUD,QAAM;AAChBA,aAAK;AAAA,QAAW,MACZ,OAAO;AAAA,UACH,MAAM;AAAA,UACN,UAAU,CAAC,SAAkB;AACzB,gBAAI,CAAC,KAAMA,QAAK,YAAA;AAAA,UACpB;AAAA,UACA,SAAS,MAAMA,OAAK,YAAA;AAAA,QAAY,CACnC;AAAA,MAAA;AAEL;AAAA,IACJ;AAGA,QAAI,SAAS;AACT,cAAQ,KAAK;AAAA,IACjB;AAAA,EACJ;AAEA,MAAI,SAAS;AACT,WACIF,iCAAA,cAACI,KAAAA,KAAc,aAAd,MACGJ,iCAAA,cAACI,KAAAA,KAAc,gBAAd,EAA8B,GAAG,YAAY,WAAsB,IAAA,GAC/D,OAAOJ,iCAAA,cAAC,MAAA,EAAK,MAAM,MAAM,IAAK,MAC9B,MAAM,UACPA,iCAAA,cAACC,OAAAA,MAAA,EAAc,WAAU,6BAA4B,MAAK,iBAAgB,CAC9E,GACC,SACL;AAAA,EAER;AAEA,QAAM,WACFD,iCAAA;AAAA,IAACI,KAAAA,KAAc;AAAA,IAAd;AAAA,MACI,GAAG;AAAA,MAEH,GAAI,SAAS,EAAE,iBAAiB,SAAA,IAAa,CAAA;AAAA,MAC9C;AAAA,MACA,SAAS;AAAA,MACT;AAAA,MACA;AAAA,IAAA;AAAA,IACC,OAAOJ,iCAAA,cAAC,MAAA,EAAK,MAAM,MAAM,IAAK;AAAA,IAC9B,MAAM;AAAA,IACN,WACGA,iCAAA,cAAC,QAAA,EAAK,WAAU,kBACZA,iCAAA,cAACK,SAAAA,UAAA,EAAS,MAAM,UAAU,WAAU,gBAAA,CAAgB,CACxD,IACA;AAAA,EAAA;AAIZ,SAAO;AACX,CAAC;;;;"}
1
+ {"version":3,"file":"Item.cjs","sources":["../../../../src/components/Menu/components/Item.tsx"],"sourcesContent":["import { Menu as MenuPrimitive } from '@base-ui/react/menu';\nimport cn from 'clsx';\nimport * as React from 'react';\n\nimport type { DialogProps, IconName } from '@/components';\nimport { Icon as IconPrimitive, Shortcut } from '@/components';\nimport type { KeyDownHandlerOptions } from '@/utils/keyboard';\n\nimport { useCurrentMenu } from '../Context';\n\nexport const Icon = ({ name }: { name: IconName }) => (\n // oxlint-disable-next-line taco/no-component-margin -- grandfathered; removing this margin is a visual breaking change\n <span className=\"absolute left-0 ml-1\">\n <IconPrimitive className=\"-ml-px -mt-px !h-5 !w-5\" name={name} />\n </span>\n);\n\nexport const useItemStyling = ({\n disabled,\n indented,\n className,\n}: {\n disabled?: boolean;\n indented: boolean;\n className?: string;\n}) => {\n const menu = useCurrentMenu();\n\n React.useEffect(() => {\n if (indented && !menu?.indented) {\n menu?.registerIndentation();\n }\n }, [indented]);\n\n return cn(\n 'group relative flex h-8 w-full items-center justify-start rounded pr-1.5 focus:outline-none',\n {\n 'pl-7': menu?.indented,\n 'pl-1.5': !menu?.indented,\n /* TODO: Why have both hover and data-[highlighted]? */\n /* shadow-none on hover is to prevent the focus style from showing up on hover */\n 'cursor-pointer text-black hover:bg-gray-100 hover:text-black hover:!shadow-none focus-visible:yt-focus data-[highlighted]:bg-gray-100 data-[highlighted]:text-black':\n !disabled,\n 'cursor-not-allowed text-gray-300 hover:bg-white': disabled,\n },\n className\n );\n};\n\nexport type MenuItemProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect'> & {\n dialog?: (props: Partial<DialogProps>) => React.JSX.Element;\n disabled?: boolean;\n icon?: IconName;\n onClick?: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;\n shortcut?: string | KeyDownHandlerOptions;\n subMenu?: any;\n};\n\nexport const Item = React.forwardRef(function MenuItem(props: MenuItemProps, ref: React.Ref<HTMLDivElement>) {\n const { dialog, icon, onClick, shortcut, subMenu, ...otherProps } = props;\n const menu = useCurrentMenu();\n\n const className = useItemStyling({\n disabled: props.disabled,\n indented: !!icon,\n className: props.className,\n });\n\n const disabled = !!props.disabled || props['aria-disabled'] === true || props['aria-disabled'] === 'true';\n\n const handleClick = (event: React.MouseEvent<HTMLDivElement>) => {\n if (disabled) {\n event.preventDefault();\n return;\n }\n\n event.stopPropagation();\n\n // For dialog items, use menu context to manage state (survives menu close)\n if (dialog && menu) {\n menu.openDialog(() =>\n dialog({\n open: true,\n onChange: (open: boolean) => {\n if (!open) menu.closeDialog();\n },\n onClose: () => menu.closeDialog(),\n })\n );\n return;\n }\n\n // Call onClick handler\n if (onClick) {\n onClick(event);\n }\n };\n\n if (subMenu) {\n return (\n <MenuPrimitive.SubmenuRoot>\n <MenuPrimitive.SubmenuTrigger {...otherProps} className={className} ref={ref}>\n {icon ? <Icon name={icon} /> : null}\n {props.children}\n <IconPrimitive className=\"-mr-1.5 ml-auto !h-5 !w-5\" name=\"chevron-right\" />\n </MenuPrimitive.SubmenuTrigger>\n {subMenu()}\n </MenuPrimitive.SubmenuRoot>\n );\n }\n\n const menuItem = (\n <MenuPrimitive.Item\n {...otherProps}\n // Need to set aria-haspopup=\"dialog\" otherwise there is no way to know item opens the dialo (in e2e tests), and we need to know this to be able to test this scenario in e2e tests.\n {...(dialog ? { 'aria-haspopup': 'dialog' } : {})}\n className={className}\n onClick={handleClick}\n ref={ref}\n disabled={disabled}>\n {icon ? <Icon name={icon} /> : null}\n {props.children}\n {shortcut ? (\n <span className=\"ml-auto pl-5\">\n <Shortcut keys={shortcut} className=\"text-gray-700\" />\n </span>\n ) : null}\n </MenuPrimitive.Item>\n );\n\n return menuItem;\n});\n"],"names":["React","IconPrimitive","menu","useCurrentMenu","MenuPrimitive","Shortcut"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAUO,MAAM,OAAO,CAAC,EAAE,KAAA;AAAA;AAAA,EAEnBA,iCAAA,cAAC,UAAK,WAAU,uBAAA,kDACXC,OAAAA,MAAA,EAAc,WAAU,2BAA0B,KAAA,CAAY,CACnE;AAAA;AAGG,MAAM,iBAAiB,CAAC;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AACJ,MAIM;AACF,QAAMC,QAAOC,QAAAA,eAAA;AAEbH,mBAAM,UAAU,MAAM;AAClB,QAAI,YAAY,CAACE,OAAM,UAAU;AAC7B,MAAAA,OAAM,oBAAA;AAAA,IACV;AAAA,EACJ,GAAG,CAAC,QAAQ,CAAC;AAEb,SAAO;AAAA,IACH;AAAA,IACA;AAAA,MACI,QAAQA,OAAM;AAAA,MACd,UAAU,CAACA,OAAM;AAAA;AAAA;AAAA,MAGjB,uKACI,CAAC;AAAA,MACL,mDAAmD;AAAA,IAAA;AAAA,IAEvD;AAAA,EAAA;AAER;AAWO,MAAM,OAAOF,iBAAM,WAAW,SAAS,SAAS,OAAsB,KAAgC;AACzG,QAAM,EAAE,QAAQ,MAAM,SAAS,UAAU,SAAS,GAAG,eAAe;AACpE,QAAME,SAAOC,QAAAA,eAAA;AAEb,QAAM,YAAY,eAAe;AAAA,IAC7B,UAAU,MAAM;AAAA,IAChB,UAAU,CAAC,CAAC;AAAA,IACZ,WAAW,MAAM;AAAA,EAAA,CACpB;AAED,QAAM,WAAW,CAAC,CAAC,MAAM,YAAY,MAAM,eAAe,MAAM,QAAQ,MAAM,eAAe,MAAM;AAEnG,QAAM,cAAc,CAAC,UAA4C;AAC7D,QAAI,UAAU;AACV,YAAM,eAAA;AACN;AAAA,IACJ;AAEA,UAAM,gBAAA;AAGN,QAAI,UAAUD,QAAM;AAChBA,aAAK;AAAA,QAAW,MACZ,OAAO;AAAA,UACH,MAAM;AAAA,UACN,UAAU,CAAC,SAAkB;AACzB,gBAAI,CAAC,KAAMA,QAAK,YAAA;AAAA,UACpB;AAAA,UACA,SAAS,MAAMA,OAAK,YAAA;AAAA,QAAY,CACnC;AAAA,MAAA;AAEL;AAAA,IACJ;AAGA,QAAI,SAAS;AACT,cAAQ,KAAK;AAAA,IACjB;AAAA,EACJ;AAEA,MAAI,SAAS;AACT,WACIF,iCAAA,cAACI,KAAAA,KAAc,aAAd,MACGJ,iCAAA,cAACI,KAAAA,KAAc,gBAAd,EAA8B,GAAG,YAAY,WAAsB,IAAA,GAC/D,OAAOJ,iCAAA,cAAC,MAAA,EAAK,MAAM,MAAM,IAAK,MAC9B,MAAM,UACPA,iCAAA,cAACC,OAAAA,MAAA,EAAc,WAAU,6BAA4B,MAAK,iBAAgB,CAC9E,GACC,SACL;AAAA,EAER;AAEA,QAAM,WACFD,iCAAA;AAAA,IAACI,KAAAA,KAAc;AAAA,IAAd;AAAA,MACI,GAAG;AAAA,MAEH,GAAI,SAAS,EAAE,iBAAiB,SAAA,IAAa,CAAA;AAAA,MAC9C;AAAA,MACA,SAAS;AAAA,MACT;AAAA,MACA;AAAA,IAAA;AAAA,IACC,OAAOJ,iCAAA,cAAC,MAAA,EAAK,MAAM,MAAM,IAAK;AAAA,IAC9B,MAAM;AAAA,IACN,WACGA,iCAAA,cAAC,QAAA,EAAK,WAAU,kBACZA,iCAAA,cAACK,SAAAA,UAAA,EAAS,MAAM,UAAU,WAAU,gBAAA,CAAgB,CACxD,IACA;AAAA,EAAA;AAIZ,SAAO;AACX,CAAC;;;;"}
@@ -1,6 +1,5 @@
1
+ import { DialogProps, IconName } from '../..';
1
2
  import { KeyDownHandlerOptions } from '../../../utils/keyboard';
2
- import { DialogProps } from '../../Dialog/Dialog';
3
- import { IconName } from '../../Icon/Icon';
4
3
  import * as React from 'react';
5
4
  export declare const Icon: ({ name }: {
6
5
  name: IconName;
@@ -1,9 +1,9 @@
1
1
  import { Menu } from "@base-ui/react/menu";
2
2
  import cn from "clsx";
3
3
  import * as React from "react";
4
+ import { useCurrentMenu } from "../Context.js";
4
5
  import { Icon as Icon$1 } from "../../Icon/Icon.js";
5
6
  import { Shortcut } from "../../Shortcut/Shortcut.js";
6
- import { useCurrentMenu } from "../Context.js";
7
7
  const Icon = ({ name }) => (
8
8
  // oxlint-disable-next-line taco/no-component-margin -- grandfathered; removing this margin is a visual breaking change
9
9
  /* @__PURE__ */ React.createElement("span", { className: "absolute left-0 ml-1" }, /* @__PURE__ */ React.createElement(Icon$1, { className: "-ml-px -mt-px !h-5 !w-5", name }))
@@ -1 +1 @@
1
- {"version":3,"file":"Item.js","sources":["../../../../src/components/Menu/components/Item.tsx"],"sourcesContent":["import { Menu as MenuPrimitive } from '@base-ui/react/menu';\nimport cn from 'clsx';\nimport * as React from 'react';\n\nimport type { KeyDownHandlerOptions } from '../../../utils/keyboard';\nimport type { DialogProps } from '../../Dialog/Dialog';\nimport type { IconName } from '../../Icon/Icon';\nimport { Icon as IconPrimitive } from '../../Icon/Icon';\nimport { Shortcut } from '../../Shortcut/Shortcut';\nimport { useCurrentMenu } from '../Context';\n\nexport const Icon = ({ name }: { name: IconName }) => (\n // oxlint-disable-next-line taco/no-component-margin -- grandfathered; removing this margin is a visual breaking change\n <span className=\"absolute left-0 ml-1\">\n <IconPrimitive className=\"-ml-px -mt-px !h-5 !w-5\" name={name} />\n </span>\n);\n\nexport const useItemStyling = ({\n disabled,\n indented,\n className,\n}: {\n disabled?: boolean;\n indented: boolean;\n className?: string;\n}) => {\n const menu = useCurrentMenu();\n\n React.useEffect(() => {\n if (indented && !menu?.indented) {\n menu?.registerIndentation();\n }\n }, [indented]);\n\n return cn(\n 'group relative flex h-8 w-full items-center justify-start rounded pr-1.5 focus:outline-none',\n {\n 'pl-7': menu?.indented,\n 'pl-1.5': !menu?.indented,\n /* TODO: Why have both hover and data-[highlighted]? */\n /* shadow-none on hover is to prevent the focus style from showing up on hover */\n 'cursor-pointer text-black hover:bg-gray-100 hover:text-black hover:!shadow-none focus-visible:yt-focus data-[highlighted]:bg-gray-100 data-[highlighted]:text-black':\n !disabled,\n 'cursor-not-allowed text-gray-300 hover:bg-white': disabled,\n },\n className\n );\n};\n\nexport type MenuItemProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect'> & {\n dialog?: (props: Partial<DialogProps>) => React.JSX.Element;\n disabled?: boolean;\n icon?: IconName;\n onClick?: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;\n shortcut?: string | KeyDownHandlerOptions;\n subMenu?: any;\n};\n\nexport const Item = React.forwardRef(function MenuItem(props: MenuItemProps, ref: React.Ref<HTMLDivElement>) {\n const { dialog, icon, onClick, shortcut, subMenu, ...otherProps } = props;\n const menu = useCurrentMenu();\n\n const className = useItemStyling({\n disabled: props.disabled,\n indented: !!icon,\n className: props.className,\n });\n\n const disabled = !!props.disabled || props['aria-disabled'] === true || props['aria-disabled'] === 'true';\n\n const handleClick = (event: React.MouseEvent<HTMLDivElement>) => {\n if (disabled) {\n event.preventDefault();\n return;\n }\n\n event.stopPropagation();\n\n // For dialog items, use menu context to manage state (survives menu close)\n if (dialog && menu) {\n menu.openDialog(() =>\n dialog({\n open: true,\n onChange: (open: boolean) => {\n if (!open) menu.closeDialog();\n },\n onClose: () => menu.closeDialog(),\n })\n );\n return;\n }\n\n // Call onClick handler\n if (onClick) {\n onClick(event);\n }\n };\n\n if (subMenu) {\n return (\n <MenuPrimitive.SubmenuRoot>\n <MenuPrimitive.SubmenuTrigger {...otherProps} className={className} ref={ref}>\n {icon ? <Icon name={icon} /> : null}\n {props.children}\n <IconPrimitive className=\"-mr-1.5 ml-auto !h-5 !w-5\" name=\"chevron-right\" />\n </MenuPrimitive.SubmenuTrigger>\n {subMenu()}\n </MenuPrimitive.SubmenuRoot>\n );\n }\n\n const menuItem = (\n <MenuPrimitive.Item\n {...otherProps}\n // Need to set aria-haspopup=\"dialog\" otherwise there is no way to know item opens the dialo (in e2e tests), and we need to know this to be able to test this scenario in e2e tests.\n {...(dialog ? { 'aria-haspopup': 'dialog' } : {})}\n className={className}\n onClick={handleClick}\n ref={ref}\n disabled={disabled}>\n {icon ? <Icon name={icon} /> : null}\n {props.children}\n {shortcut ? (\n <span className=\"ml-auto pl-5\">\n <Shortcut keys={shortcut} className=\"text-gray-700\" />\n </span>\n ) : null}\n </MenuPrimitive.Item>\n );\n\n return menuItem;\n});\n"],"names":["IconPrimitive","MenuPrimitive"],"mappings":";;;;;;AAWO,MAAM,OAAO,CAAC,EAAE,KAAA;AAAA;AAAA,EAEnB,sBAAA,cAAC,UAAK,WAAU,uBAAA,uCACXA,QAAA,EAAc,WAAU,2BAA0B,KAAA,CAAY,CACnE;AAAA;AAGG,MAAM,iBAAiB,CAAC;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AACJ,MAIM;AACF,QAAM,OAAO,eAAA;AAEb,QAAM,UAAU,MAAM;AAClB,QAAI,YAAY,CAAC,MAAM,UAAU;AAC7B,YAAM,oBAAA;AAAA,IACV;AAAA,EACJ,GAAG,CAAC,QAAQ,CAAC;AAEb,SAAO;AAAA,IACH;AAAA,IACA;AAAA,MACI,QAAQ,MAAM;AAAA,MACd,UAAU,CAAC,MAAM;AAAA;AAAA;AAAA,MAGjB,uKACI,CAAC;AAAA,MACL,mDAAmD;AAAA,IAAA;AAAA,IAEvD;AAAA,EAAA;AAER;AAWO,MAAM,OAAO,MAAM,WAAW,SAAS,SAAS,OAAsB,KAAgC;AACzG,QAAM,EAAE,QAAQ,MAAM,SAAS,UAAU,SAAS,GAAG,eAAe;AACpE,QAAM,OAAO,eAAA;AAEb,QAAM,YAAY,eAAe;AAAA,IAC7B,UAAU,MAAM;AAAA,IAChB,UAAU,CAAC,CAAC;AAAA,IACZ,WAAW,MAAM;AAAA,EAAA,CACpB;AAED,QAAM,WAAW,CAAC,CAAC,MAAM,YAAY,MAAM,eAAe,MAAM,QAAQ,MAAM,eAAe,MAAM;AAEnG,QAAM,cAAc,CAAC,UAA4C;AAC7D,QAAI,UAAU;AACV,YAAM,eAAA;AACN;AAAA,IACJ;AAEA,UAAM,gBAAA;AAGN,QAAI,UAAU,MAAM;AAChB,WAAK;AAAA,QAAW,MACZ,OAAO;AAAA,UACH,MAAM;AAAA,UACN,UAAU,CAAC,SAAkB;AACzB,gBAAI,CAAC,KAAM,MAAK,YAAA;AAAA,UACpB;AAAA,UACA,SAAS,MAAM,KAAK,YAAA;AAAA,QAAY,CACnC;AAAA,MAAA;AAEL;AAAA,IACJ;AAGA,QAAI,SAAS;AACT,cAAQ,KAAK;AAAA,IACjB;AAAA,EACJ;AAEA,MAAI,SAAS;AACT,WACI,sBAAA,cAACC,KAAc,aAAd,MACG,sBAAA,cAACA,KAAc,gBAAd,EAA8B,GAAG,YAAY,WAAsB,IAAA,GAC/D,OAAO,sBAAA,cAAC,MAAA,EAAK,MAAM,MAAM,IAAK,MAC9B,MAAM,UACP,sBAAA,cAACD,QAAA,EAAc,WAAU,6BAA4B,MAAK,iBAAgB,CAC9E,GACC,SACL;AAAA,EAER;AAEA,QAAM,WACF,sBAAA;AAAA,IAACC,KAAc;AAAA,IAAd;AAAA,MACI,GAAG;AAAA,MAEH,GAAI,SAAS,EAAE,iBAAiB,SAAA,IAAa,CAAA;AAAA,MAC9C;AAAA,MACA,SAAS;AAAA,MACT;AAAA,MACA;AAAA,IAAA;AAAA,IACC,OAAO,sBAAA,cAAC,MAAA,EAAK,MAAM,MAAM,IAAK;AAAA,IAC9B,MAAM;AAAA,IACN,WACG,sBAAA,cAAC,QAAA,EAAK,WAAU,kBACZ,sBAAA,cAAC,UAAA,EAAS,MAAM,UAAU,WAAU,gBAAA,CAAgB,CACxD,IACA;AAAA,EAAA;AAIZ,SAAO;AACX,CAAC;"}
1
+ {"version":3,"file":"Item.js","sources":["../../../../src/components/Menu/components/Item.tsx"],"sourcesContent":["import { Menu as MenuPrimitive } from '@base-ui/react/menu';\nimport cn from 'clsx';\nimport * as React from 'react';\n\nimport type { DialogProps, IconName } from '@/components';\nimport { Icon as IconPrimitive, Shortcut } from '@/components';\nimport type { KeyDownHandlerOptions } from '@/utils/keyboard';\n\nimport { useCurrentMenu } from '../Context';\n\nexport const Icon = ({ name }: { name: IconName }) => (\n // oxlint-disable-next-line taco/no-component-margin -- grandfathered; removing this margin is a visual breaking change\n <span className=\"absolute left-0 ml-1\">\n <IconPrimitive className=\"-ml-px -mt-px !h-5 !w-5\" name={name} />\n </span>\n);\n\nexport const useItemStyling = ({\n disabled,\n indented,\n className,\n}: {\n disabled?: boolean;\n indented: boolean;\n className?: string;\n}) => {\n const menu = useCurrentMenu();\n\n React.useEffect(() => {\n if (indented && !menu?.indented) {\n menu?.registerIndentation();\n }\n }, [indented]);\n\n return cn(\n 'group relative flex h-8 w-full items-center justify-start rounded pr-1.5 focus:outline-none',\n {\n 'pl-7': menu?.indented,\n 'pl-1.5': !menu?.indented,\n /* TODO: Why have both hover and data-[highlighted]? */\n /* shadow-none on hover is to prevent the focus style from showing up on hover */\n 'cursor-pointer text-black hover:bg-gray-100 hover:text-black hover:!shadow-none focus-visible:yt-focus data-[highlighted]:bg-gray-100 data-[highlighted]:text-black':\n !disabled,\n 'cursor-not-allowed text-gray-300 hover:bg-white': disabled,\n },\n className\n );\n};\n\nexport type MenuItemProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect'> & {\n dialog?: (props: Partial<DialogProps>) => React.JSX.Element;\n disabled?: boolean;\n icon?: IconName;\n onClick?: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;\n shortcut?: string | KeyDownHandlerOptions;\n subMenu?: any;\n};\n\nexport const Item = React.forwardRef(function MenuItem(props: MenuItemProps, ref: React.Ref<HTMLDivElement>) {\n const { dialog, icon, onClick, shortcut, subMenu, ...otherProps } = props;\n const menu = useCurrentMenu();\n\n const className = useItemStyling({\n disabled: props.disabled,\n indented: !!icon,\n className: props.className,\n });\n\n const disabled = !!props.disabled || props['aria-disabled'] === true || props['aria-disabled'] === 'true';\n\n const handleClick = (event: React.MouseEvent<HTMLDivElement>) => {\n if (disabled) {\n event.preventDefault();\n return;\n }\n\n event.stopPropagation();\n\n // For dialog items, use menu context to manage state (survives menu close)\n if (dialog && menu) {\n menu.openDialog(() =>\n dialog({\n open: true,\n onChange: (open: boolean) => {\n if (!open) menu.closeDialog();\n },\n onClose: () => menu.closeDialog(),\n })\n );\n return;\n }\n\n // Call onClick handler\n if (onClick) {\n onClick(event);\n }\n };\n\n if (subMenu) {\n return (\n <MenuPrimitive.SubmenuRoot>\n <MenuPrimitive.SubmenuTrigger {...otherProps} className={className} ref={ref}>\n {icon ? <Icon name={icon} /> : null}\n {props.children}\n <IconPrimitive className=\"-mr-1.5 ml-auto !h-5 !w-5\" name=\"chevron-right\" />\n </MenuPrimitive.SubmenuTrigger>\n {subMenu()}\n </MenuPrimitive.SubmenuRoot>\n );\n }\n\n const menuItem = (\n <MenuPrimitive.Item\n {...otherProps}\n // Need to set aria-haspopup=\"dialog\" otherwise there is no way to know item opens the dialo (in e2e tests), and we need to know this to be able to test this scenario in e2e tests.\n {...(dialog ? { 'aria-haspopup': 'dialog' } : {})}\n className={className}\n onClick={handleClick}\n ref={ref}\n disabled={disabled}>\n {icon ? <Icon name={icon} /> : null}\n {props.children}\n {shortcut ? (\n <span className=\"ml-auto pl-5\">\n <Shortcut keys={shortcut} className=\"text-gray-700\" />\n </span>\n ) : null}\n </MenuPrimitive.Item>\n );\n\n return menuItem;\n});\n"],"names":["IconPrimitive","MenuPrimitive"],"mappings":";;;;;;AAUO,MAAM,OAAO,CAAC,EAAE,KAAA;AAAA;AAAA,EAEnB,sBAAA,cAAC,UAAK,WAAU,uBAAA,uCACXA,QAAA,EAAc,WAAU,2BAA0B,KAAA,CAAY,CACnE;AAAA;AAGG,MAAM,iBAAiB,CAAC;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AACJ,MAIM;AACF,QAAM,OAAO,eAAA;AAEb,QAAM,UAAU,MAAM;AAClB,QAAI,YAAY,CAAC,MAAM,UAAU;AAC7B,YAAM,oBAAA;AAAA,IACV;AAAA,EACJ,GAAG,CAAC,QAAQ,CAAC;AAEb,SAAO;AAAA,IACH;AAAA,IACA;AAAA,MACI,QAAQ,MAAM;AAAA,MACd,UAAU,CAAC,MAAM;AAAA;AAAA;AAAA,MAGjB,uKACI,CAAC;AAAA,MACL,mDAAmD;AAAA,IAAA;AAAA,IAEvD;AAAA,EAAA;AAER;AAWO,MAAM,OAAO,MAAM,WAAW,SAAS,SAAS,OAAsB,KAAgC;AACzG,QAAM,EAAE,QAAQ,MAAM,SAAS,UAAU,SAAS,GAAG,eAAe;AACpE,QAAM,OAAO,eAAA;AAEb,QAAM,YAAY,eAAe;AAAA,IAC7B,UAAU,MAAM;AAAA,IAChB,UAAU,CAAC,CAAC;AAAA,IACZ,WAAW,MAAM;AAAA,EAAA,CACpB;AAED,QAAM,WAAW,CAAC,CAAC,MAAM,YAAY,MAAM,eAAe,MAAM,QAAQ,MAAM,eAAe,MAAM;AAEnG,QAAM,cAAc,CAAC,UAA4C;AAC7D,QAAI,UAAU;AACV,YAAM,eAAA;AACN;AAAA,IACJ;AAEA,UAAM,gBAAA;AAGN,QAAI,UAAU,MAAM;AAChB,WAAK;AAAA,QAAW,MACZ,OAAO;AAAA,UACH,MAAM;AAAA,UACN,UAAU,CAAC,SAAkB;AACzB,gBAAI,CAAC,KAAM,MAAK,YAAA;AAAA,UACpB;AAAA,UACA,SAAS,MAAM,KAAK,YAAA;AAAA,QAAY,CACnC;AAAA,MAAA;AAEL;AAAA,IACJ;AAGA,QAAI,SAAS;AACT,cAAQ,KAAK;AAAA,IACjB;AAAA,EACJ;AAEA,MAAI,SAAS;AACT,WACI,sBAAA,cAACC,KAAc,aAAd,MACG,sBAAA,cAACA,KAAc,gBAAd,EAA8B,GAAG,YAAY,WAAsB,IAAA,GAC/D,OAAO,sBAAA,cAAC,MAAA,EAAK,MAAM,MAAM,IAAK,MAC9B,MAAM,UACP,sBAAA,cAACD,QAAA,EAAc,WAAU,6BAA4B,MAAK,iBAAgB,CAC9E,GACC,SACL;AAAA,EAER;AAEA,QAAM,WACF,sBAAA;AAAA,IAACC,KAAc;AAAA,IAAd;AAAA,MACI,GAAG;AAAA,MAEH,GAAI,SAAS,EAAE,iBAAiB,SAAA,IAAa,CAAA;AAAA,MAC9C;AAAA,MACA,SAAS;AAAA,MACT;AAAA,MACA;AAAA,IAAA;AAAA,IACC,OAAO,sBAAA,cAAC,MAAA,EAAK,MAAM,MAAM,IAAK;AAAA,IAC9B,MAAM;AAAA,IACN,WACG,sBAAA,cAAC,QAAA,EAAK,WAAU,kBACZ,sBAAA,cAAC,UAAA,EAAS,MAAM,UAAU,WAAU,gBAAA,CAAgB,CACxD,IACA;AAAA,EAAA;AAIZ,SAAO;AACX,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Link.cjs","sources":["../../../../src/components/Menu/components/Link.tsx"],"sourcesContent":["import { Menu as MenuPrimitive } from '@base-ui/react/menu';\nimport * as React from 'react';\n\nimport type { IconName } from '../../Icon/Icon';\nimport { useCurrentMenu } from '../Context';\n\nimport { Icon, useItemStyling } from './Item';\n\nexport type MenuLinkItemProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect'> & {\n disabled?: boolean;\n icon?: IconName;\n href: string;\n onClick?: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;\n};\n\nexport const Link = React.forwardRef(function MenuLink(props: MenuLinkItemProps, ref: React.Ref<HTMLDivElement>) {\n const { href, icon, onClick, children, ...otherProps } = props;\n const menu = useCurrentMenu();\n\n const className = useItemStyling({\n disabled: props.disabled,\n indented: !!icon,\n className: props.className,\n });\n\n const handleClick: React.MouseEventHandler<HTMLDivElement> = event => {\n onClick?.(event);\n menu?.close();\n };\n\n return (\n <MenuPrimitive.Item\n {...otherProps}\n className={className}\n ref={ref}\n onClick={handleClick}\n render={<a href={href} target=\"_blank\" rel=\"noopener noreferrer\" />}>\n {icon && <Icon name={icon} />}\n {children}\n </MenuPrimitive.Item>\n );\n});\n"],"names":["React","menu","useCurrentMenu","useItemStyling","MenuPrimitive","Icon"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAeO,MAAM,OAAOA,iBAAM,WAAW,SAAS,SAAS,OAA0B,KAAgC;AAC7G,QAAM,EAAE,MAAM,MAAM,SAAS,UAAU,GAAG,eAAe;AACzD,QAAMC,SAAOC,QAAAA,eAAA;AAEb,QAAM,YAAYC,KAAAA,eAAe;AAAA,IAC7B,UAAU,MAAM;AAAA,IAChB,UAAU,CAAC,CAAC;AAAA,IACZ,WAAW,MAAM;AAAA,EAAA,CACpB;AAED,QAAM,cAAuD,CAAA,UAAS;AAClE,cAAU,KAAK;AACfF,YAAM,MAAA;AAAA,EACV;AAEA,SACID,iCAAA;AAAA,IAACI,KAAAA,KAAc;AAAA,IAAd;AAAA,MACI,GAAG;AAAA,MACJ;AAAA,MACA;AAAA,MACA,SAAS;AAAA,MACT,QAAQJ,iCAAA,cAAC,KAAA,EAAE,MAAY,QAAO,UAAS,KAAI,sBAAA,CAAsB;AAAA,IAAA;AAAA,IAChE,QAAQA,iCAAA,cAACK,KAAAA,MAAA,EAAK,MAAM,MAAM;AAAA,IAC1B;AAAA,EAAA;AAGb,CAAC;;"}
1
+ {"version":3,"file":"Link.cjs","sources":["../../../../src/components/Menu/components/Link.tsx"],"sourcesContent":["import { Menu as MenuPrimitive } from '@base-ui/react/menu';\nimport * as React from 'react';\n\nimport type { IconName } from '@/components';\n\nimport { useCurrentMenu } from '../Context';\n\nimport { Icon, useItemStyling } from './Item';\n\nexport type MenuLinkItemProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect'> & {\n disabled?: boolean;\n icon?: IconName;\n href: string;\n onClick?: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;\n};\n\nexport const Link = React.forwardRef(function MenuLink(props: MenuLinkItemProps, ref: React.Ref<HTMLDivElement>) {\n const { href, icon, onClick, children, ...otherProps } = props;\n const menu = useCurrentMenu();\n\n const className = useItemStyling({\n disabled: props.disabled,\n indented: !!icon,\n className: props.className,\n });\n\n const handleClick: React.MouseEventHandler<HTMLDivElement> = event => {\n onClick?.(event);\n menu?.close();\n };\n\n return (\n <MenuPrimitive.Item\n {...otherProps}\n className={className}\n ref={ref}\n onClick={handleClick}\n render={<a href={href} target=\"_blank\" rel=\"noopener noreferrer\" />}>\n {icon && <Icon name={icon} />}\n {children}\n </MenuPrimitive.Item>\n );\n});\n"],"names":["React","menu","useCurrentMenu","useItemStyling","MenuPrimitive","Icon"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAgBO,MAAM,OAAOA,iBAAM,WAAW,SAAS,SAAS,OAA0B,KAAgC;AAC7G,QAAM,EAAE,MAAM,MAAM,SAAS,UAAU,GAAG,eAAe;AACzD,QAAMC,SAAOC,QAAAA,eAAA;AAEb,QAAM,YAAYC,KAAAA,eAAe;AAAA,IAC7B,UAAU,MAAM;AAAA,IAChB,UAAU,CAAC,CAAC;AAAA,IACZ,WAAW,MAAM;AAAA,EAAA,CACpB;AAED,QAAM,cAAuD,CAAA,UAAS;AAClE,cAAU,KAAK;AACfF,YAAM,MAAA;AAAA,EACV;AAEA,SACID,iCAAA;AAAA,IAACI,KAAAA,KAAc;AAAA,IAAd;AAAA,MACI,GAAG;AAAA,MACJ;AAAA,MACA;AAAA,MACA,SAAS;AAAA,MACT,QAAQJ,iCAAA,cAAC,KAAA,EAAE,MAAY,QAAO,UAAS,KAAI,sBAAA,CAAsB;AAAA,IAAA;AAAA,IAChE,QAAQA,iCAAA,cAACK,KAAAA,MAAA,EAAK,MAAM,MAAM;AAAA,IAC1B;AAAA,EAAA;AAGb,CAAC;;"}
@@ -1,4 +1,4 @@
1
- import { IconName } from '../../Icon/Icon';
1
+ import { IconName } from '../..';
2
2
  import * as React from 'react';
3
3
  export type MenuLinkItemProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect'> & {
4
4
  disabled?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"Link.js","sources":["../../../../src/components/Menu/components/Link.tsx"],"sourcesContent":["import { Menu as MenuPrimitive } from '@base-ui/react/menu';\nimport * as React from 'react';\n\nimport type { IconName } from '../../Icon/Icon';\nimport { useCurrentMenu } from '../Context';\n\nimport { Icon, useItemStyling } from './Item';\n\nexport type MenuLinkItemProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect'> & {\n disabled?: boolean;\n icon?: IconName;\n href: string;\n onClick?: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;\n};\n\nexport const Link = React.forwardRef(function MenuLink(props: MenuLinkItemProps, ref: React.Ref<HTMLDivElement>) {\n const { href, icon, onClick, children, ...otherProps } = props;\n const menu = useCurrentMenu();\n\n const className = useItemStyling({\n disabled: props.disabled,\n indented: !!icon,\n className: props.className,\n });\n\n const handleClick: React.MouseEventHandler<HTMLDivElement> = event => {\n onClick?.(event);\n menu?.close();\n };\n\n return (\n <MenuPrimitive.Item\n {...otherProps}\n className={className}\n ref={ref}\n onClick={handleClick}\n render={<a href={href} target=\"_blank\" rel=\"noopener noreferrer\" />}>\n {icon && <Icon name={icon} />}\n {children}\n </MenuPrimitive.Item>\n );\n});\n"],"names":["MenuPrimitive"],"mappings":";;;;AAeO,MAAM,OAAO,MAAM,WAAW,SAAS,SAAS,OAA0B,KAAgC;AAC7G,QAAM,EAAE,MAAM,MAAM,SAAS,UAAU,GAAG,eAAe;AACzD,QAAM,OAAO,eAAA;AAEb,QAAM,YAAY,eAAe;AAAA,IAC7B,UAAU,MAAM;AAAA,IAChB,UAAU,CAAC,CAAC;AAAA,IACZ,WAAW,MAAM;AAAA,EAAA,CACpB;AAED,QAAM,cAAuD,CAAA,UAAS;AAClE,cAAU,KAAK;AACf,UAAM,MAAA;AAAA,EACV;AAEA,SACI,sBAAA;AAAA,IAACA,KAAc;AAAA,IAAd;AAAA,MACI,GAAG;AAAA,MACJ;AAAA,MACA;AAAA,MACA,SAAS;AAAA,MACT,QAAQ,sBAAA,cAAC,KAAA,EAAE,MAAY,QAAO,UAAS,KAAI,sBAAA,CAAsB;AAAA,IAAA;AAAA,IAChE,QAAQ,sBAAA,cAAC,MAAA,EAAK,MAAM,MAAM;AAAA,IAC1B;AAAA,EAAA;AAGb,CAAC;"}
1
+ {"version":3,"file":"Link.js","sources":["../../../../src/components/Menu/components/Link.tsx"],"sourcesContent":["import { Menu as MenuPrimitive } from '@base-ui/react/menu';\nimport * as React from 'react';\n\nimport type { IconName } from '@/components';\n\nimport { useCurrentMenu } from '../Context';\n\nimport { Icon, useItemStyling } from './Item';\n\nexport type MenuLinkItemProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect'> & {\n disabled?: boolean;\n icon?: IconName;\n href: string;\n onClick?: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;\n};\n\nexport const Link = React.forwardRef(function MenuLink(props: MenuLinkItemProps, ref: React.Ref<HTMLDivElement>) {\n const { href, icon, onClick, children, ...otherProps } = props;\n const menu = useCurrentMenu();\n\n const className = useItemStyling({\n disabled: props.disabled,\n indented: !!icon,\n className: props.className,\n });\n\n const handleClick: React.MouseEventHandler<HTMLDivElement> = event => {\n onClick?.(event);\n menu?.close();\n };\n\n return (\n <MenuPrimitive.Item\n {...otherProps}\n className={className}\n ref={ref}\n onClick={handleClick}\n render={<a href={href} target=\"_blank\" rel=\"noopener noreferrer\" />}>\n {icon && <Icon name={icon} />}\n {children}\n </MenuPrimitive.Item>\n );\n});\n"],"names":["MenuPrimitive"],"mappings":";;;;AAgBO,MAAM,OAAO,MAAM,WAAW,SAAS,SAAS,OAA0B,KAAgC;AAC7G,QAAM,EAAE,MAAM,MAAM,SAAS,UAAU,GAAG,eAAe;AACzD,QAAM,OAAO,eAAA;AAEb,QAAM,YAAY,eAAe;AAAA,IAC7B,UAAU,MAAM;AAAA,IAChB,UAAU,CAAC,CAAC;AAAA,IACZ,WAAW,MAAM;AAAA,EAAA,CACpB;AAED,QAAM,cAAuD,CAAA,UAAS;AAClE,cAAU,KAAK;AACf,UAAM,MAAA;AAAA,EACV;AAEA,SACI,sBAAA;AAAA,IAACA,KAAc;AAAA,IAAd;AAAA,MACI,GAAG;AAAA,MACJ;AAAA,MACA;AAAA,MACA,SAAS;AAAA,MACT,QAAQ,sBAAA,cAAC,KAAA,EAAE,MAAY,QAAO,UAAS,KAAI,sBAAA,CAAsB;AAAA,IAAA;AAAA,IAChE,QAAQ,sBAAA,cAAC,MAAA,EAAK,MAAM,MAAM;AAAA,IAC1B;AAAA,EAAA;AAGb,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"RadioGroup.cjs","sources":["../../../../src/components/Menu/components/RadioGroup.tsx"],"sourcesContent":["import { Menu as MenuPrimitive } from '@base-ui/react/menu';\nimport * as React from 'react';\n\nimport type { RadioGroupItemValue } from '../../RadioGroup/RadioGroup';\nimport { getRadioItemByValue } from '../../RadioGroup/util';\n\nimport { useItemStyling } from './Item';\n\ntype MenuRadioGroupContextType = {\n disabled?: boolean;\n value?: string;\n onChange?: (value: string) => void;\n};\n\n// Context for the radio group used to pass the disabled state to the radio group items\n// This is needed because context from RadioGroup component context was removed after migration to react-aria\n// TODO: remove this context once this component will be migrated to react-aria\nconst MenuRadioGroupContext = React.createContext<MenuRadioGroupContextType>({});\n\n// item\nexport type MenuRadioGroupItemProps<T = HTMLDivElement> = Omit<React.HTMLAttributes<T>, 'children' | 'onSelect'> & {\n /** Label for the radio group item */\n children: React.ReactNode;\n /** Whether the radio group item is disabled */\n disabled?: boolean;\n /** Value of the radio button */\n value: RadioGroupItemValue;\n};\n\nexport const RadioItem = (props: MenuRadioGroupItemProps) => {\n const { children, disabled, value, ...otherProps } = props;\n const context = React.useContext(MenuRadioGroupContext);\n const isDisabled = context.disabled || disabled;\n\n const className = useItemStyling({\n disabled: isDisabled,\n indented: true,\n className: props.className,\n });\n\n return (\n <MenuPrimitive.RadioItem {...otherProps} className={className} disabled={isDisabled} value={String(value ?? '')}>\n <MenuPrimitive.RadioItemIndicator className=\"absolute left-0 ml-1.5\">\n <span className=\"ml-1 flex h-1.5 w-1.5 rounded-full bg-current\" />\n </MenuPrimitive.RadioItemIndicator>\n {children}\n </MenuPrimitive.RadioItem>\n );\n};\n\n// group\nexport type MenuRadioGroupProps = React.HTMLAttributes<HTMLDivElement> & {\n disabled?: boolean;\n /** Handler called when the value changes */\n onChange: (value: RadioGroupItemValue) => void;\n /** The current value (controlled) */\n value?: RadioGroupItemValue;\n};\n\nexport type ForwardedMenuRadioGroupWithStatics = React.ForwardRefExoticComponent<\n MenuRadioGroupProps & React.RefAttributes<HTMLElement>\n> & {\n Item: React.FunctionComponent<MenuRadioGroupItemProps>;\n};\n\nexport const RadioGroup = React.forwardRef<HTMLDivElement, MenuRadioGroupProps>(function MenuRadioItem(props, ref) {\n const values = React.useMemo<RadioGroupItemValue[]>(() => {\n const radioGroupItemValues: RadioGroupItemValue[] = [];\n\n React.Children.forEach(props.children, child => {\n if (React.isValidElement<{ value: RadioGroupItemValue }>(child)) {\n radioGroupItemValues.push(child.props.value);\n }\n });\n\n return radioGroupItemValues;\n }, [props.children]);\n\n const handleChange = (value: string) => props.onChange(getRadioItemByValue(values, value));\n const value = String(props.value ?? '');\n\n return (\n <MenuRadioGroupContext.Provider value={{ disabled: props.disabled, value, onChange: handleChange }}>\n <MenuPrimitive.RadioGroup {...props} className=\"flex flex-col\" value={value} onValueChange={handleChange} ref={ref} />\n </MenuRadioGroupContext.Provider>\n );\n}) as ForwardedMenuRadioGroupWithStatics;\n\nRadioGroup.Item = RadioItem;\n"],"names":["React","useItemStyling","MenuPrimitive","value","getRadioItemByValue"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAiBA,MAAM,wBAAwBA,iBAAM,cAAyC,EAAE;AAYxE,MAAM,YAAY,CAAC,UAAmC;AACzD,QAAM,EAAE,UAAU,UAAU,OAAO,GAAG,eAAe;AACrD,QAAM,UAAUA,iBAAM,WAAW,qBAAqB;AACtD,QAAM,aAAa,QAAQ,YAAY;AAEvC,QAAM,YAAYC,KAAAA,eAAe;AAAA,IAC7B,UAAU;AAAA,IACV,UAAU;AAAA,IACV,WAAW,MAAM;AAAA,EAAA,CACpB;AAED,SACID,iCAAA,cAACE,KAAAA,KAAc,WAAd,EAAyB,GAAG,YAAY,WAAsB,UAAU,YAAY,OAAO,OAAO,SAAS,EAAE,KAC1GF,iCAAA,cAACE,KAAAA,KAAc,oBAAd,EAAiC,WAAU,yBAAA,GACxCF,iCAAA,cAAC,QAAA,EAAK,WAAU,gDAAA,CAAgD,CACpE,GACC,QACL;AAER;AAiBO,MAAM,aAAaA,iBAAM,WAAgD,SAAS,cAAc,OAAO,KAAK;AAC/G,QAAM,SAASA,iBAAM,QAA+B,MAAM;AACtD,UAAM,uBAA8C,CAAA;AAEpDA,qBAAM,SAAS,QAAQ,MAAM,UAAU,CAAA,UAAS;AAC5C,UAAIA,iBAAM,eAA+C,KAAK,GAAG;AAC7D,6BAAqB,KAAK,MAAM,MAAM,KAAK;AAAA,MAC/C;AAAA,IACJ,CAAC;AAED,WAAO;AAAA,EACX,GAAG,CAAC,MAAM,QAAQ,CAAC;AAEnB,QAAM,eAAe,CAACG,WAAkB,MAAM,SAASC,yBAAoB,QAAQD,MAAK,CAAC;AACzF,QAAM,QAAQ,OAAO,MAAM,SAAS,EAAE;AAEtC,SACIH,iCAAA,cAAC,sBAAsB,UAAtB,EAA+B,OAAO,EAAE,UAAU,MAAM,UAAU,OAAO,UAAU,aAAA,KAChFA,iCAAA,cAACE,KAAAA,KAAc,YAAd,EAA0B,GAAG,OAAO,WAAU,iBAAgB,OAAc,eAAe,cAAc,IAAA,CAAU,CACxH;AAER,CAAC;AAED,WAAW,OAAO;;;"}
1
+ {"version":3,"file":"RadioGroup.cjs","sources":["../../../../src/components/Menu/components/RadioGroup.tsx"],"sourcesContent":["import { Menu as MenuPrimitive } from '@base-ui/react/menu';\nimport * as React from 'react';\n\nimport type { RadioGroupItemValue } from '@/components';\nimport { getRadioItemByValue } from '@/components/RadioGroup/util';\n\nimport { useItemStyling } from './Item';\n\ntype MenuRadioGroupContextType = {\n disabled?: boolean;\n value?: string;\n onChange?: (value: string) => void;\n};\n\n// Context for the radio group used to pass the disabled state to the radio group items\n// This is needed because context from RadioGroup component context was removed after migration to react-aria\n// TODO: remove this context once this component will be migrated to react-aria\nconst MenuRadioGroupContext = React.createContext<MenuRadioGroupContextType>({});\n\n// item\nexport type MenuRadioGroupItemProps<T = HTMLDivElement> = Omit<React.HTMLAttributes<T>, 'children' | 'onSelect'> & {\n /** Label for the radio group item */\n children: React.ReactNode;\n /** Whether the radio group item is disabled */\n disabled?: boolean;\n /** Value of the radio button */\n value: RadioGroupItemValue;\n};\n\nexport const RadioItem = (props: MenuRadioGroupItemProps) => {\n const { children, disabled, value, ...otherProps } = props;\n const context = React.useContext(MenuRadioGroupContext);\n const isDisabled = context.disabled || disabled;\n\n const className = useItemStyling({\n disabled: isDisabled,\n indented: true,\n className: props.className,\n });\n\n return (\n <MenuPrimitive.RadioItem {...otherProps} className={className} disabled={isDisabled} value={String(value ?? '')}>\n <MenuPrimitive.RadioItemIndicator className=\"absolute left-0 ml-1.5\">\n <span className=\"ml-1 flex h-1.5 w-1.5 rounded-full bg-current\" />\n </MenuPrimitive.RadioItemIndicator>\n {children}\n </MenuPrimitive.RadioItem>\n );\n};\n\n// group\nexport type MenuRadioGroupProps = React.HTMLAttributes<HTMLDivElement> & {\n disabled?: boolean;\n /** Handler called when the value changes */\n onChange: (value: RadioGroupItemValue) => void;\n /** The current value (controlled) */\n value?: RadioGroupItemValue;\n};\n\nexport type ForwardedMenuRadioGroupWithStatics = React.ForwardRefExoticComponent<\n MenuRadioGroupProps & React.RefAttributes<HTMLElement>\n> & {\n Item: React.FunctionComponent<MenuRadioGroupItemProps>;\n};\n\nexport const RadioGroup = React.forwardRef<HTMLDivElement, MenuRadioGroupProps>(function MenuRadioItem(props, ref) {\n const values = React.useMemo<RadioGroupItemValue[]>(() => {\n const radioGroupItemValues: RadioGroupItemValue[] = [];\n\n React.Children.forEach(props.children, child => {\n if (React.isValidElement<{ value: RadioGroupItemValue }>(child)) {\n radioGroupItemValues.push(child.props.value);\n }\n });\n\n return radioGroupItemValues;\n }, [props.children]);\n\n const handleChange = (value: string) => props.onChange(getRadioItemByValue(values, value));\n const value = String(props.value ?? '');\n\n return (\n <MenuRadioGroupContext.Provider value={{ disabled: props.disabled, value, onChange: handleChange }}>\n <MenuPrimitive.RadioGroup {...props} className=\"flex flex-col\" value={value} onValueChange={handleChange} ref={ref} />\n </MenuRadioGroupContext.Provider>\n );\n}) as ForwardedMenuRadioGroupWithStatics;\n\nRadioGroup.Item = RadioItem;\n"],"names":["React","useItemStyling","MenuPrimitive","value","getRadioItemByValue"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAiBA,MAAM,wBAAwBA,iBAAM,cAAyC,EAAE;AAYxE,MAAM,YAAY,CAAC,UAAmC;AACzD,QAAM,EAAE,UAAU,UAAU,OAAO,GAAG,eAAe;AACrD,QAAM,UAAUA,iBAAM,WAAW,qBAAqB;AACtD,QAAM,aAAa,QAAQ,YAAY;AAEvC,QAAM,YAAYC,KAAAA,eAAe;AAAA,IAC7B,UAAU;AAAA,IACV,UAAU;AAAA,IACV,WAAW,MAAM;AAAA,EAAA,CACpB;AAED,SACID,iCAAA,cAACE,KAAAA,KAAc,WAAd,EAAyB,GAAG,YAAY,WAAsB,UAAU,YAAY,OAAO,OAAO,SAAS,EAAE,KAC1GF,iCAAA,cAACE,KAAAA,KAAc,oBAAd,EAAiC,WAAU,yBAAA,GACxCF,iCAAA,cAAC,QAAA,EAAK,WAAU,gDAAA,CAAgD,CACpE,GACC,QACL;AAER;AAiBO,MAAM,aAAaA,iBAAM,WAAgD,SAAS,cAAc,OAAO,KAAK;AAC/G,QAAM,SAASA,iBAAM,QAA+B,MAAM;AACtD,UAAM,uBAA8C,CAAA;AAEpDA,qBAAM,SAAS,QAAQ,MAAM,UAAU,CAAA,UAAS;AAC5C,UAAIA,iBAAM,eAA+C,KAAK,GAAG;AAC7D,6BAAqB,KAAK,MAAM,MAAM,KAAK;AAAA,MAC/C;AAAA,IACJ,CAAC;AAED,WAAO;AAAA,EACX,GAAG,CAAC,MAAM,QAAQ,CAAC;AAEnB,QAAM,eAAe,CAACG,WAAkB,MAAM,SAASC,yBAAoB,QAAQD,MAAK,CAAC;AACzF,QAAM,QAAQ,OAAO,MAAM,SAAS,EAAE;AAEtC,SACIH,iCAAA,cAAC,sBAAsB,UAAtB,EAA+B,OAAO,EAAE,UAAU,MAAM,UAAU,OAAO,UAAU,aAAA,KAChFA,iCAAA,cAACE,KAAAA,KAAc,YAAd,EAA0B,GAAG,OAAO,WAAU,iBAAgB,OAAc,eAAe,cAAc,IAAA,CAAU,CACxH;AAER,CAAC;AAED,WAAW,OAAO;;;"}
@@ -1,4 +1,4 @@
1
- import { RadioGroupItemValue } from '../../RadioGroup/RadioGroup';
1
+ import { RadioGroupItemValue } from '../..';
2
2
  import * as React from 'react';
3
3
  export type MenuRadioGroupItemProps<T = HTMLDivElement> = Omit<React.HTMLAttributes<T>, 'children' | 'onSelect'> & {
4
4
  /** Label for the radio group item */
@@ -1 +1 @@
1
- {"version":3,"file":"RadioGroup.js","sources":["../../../../src/components/Menu/components/RadioGroup.tsx"],"sourcesContent":["import { Menu as MenuPrimitive } from '@base-ui/react/menu';\nimport * as React from 'react';\n\nimport type { RadioGroupItemValue } from '../../RadioGroup/RadioGroup';\nimport { getRadioItemByValue } from '../../RadioGroup/util';\n\nimport { useItemStyling } from './Item';\n\ntype MenuRadioGroupContextType = {\n disabled?: boolean;\n value?: string;\n onChange?: (value: string) => void;\n};\n\n// Context for the radio group used to pass the disabled state to the radio group items\n// This is needed because context from RadioGroup component context was removed after migration to react-aria\n// TODO: remove this context once this component will be migrated to react-aria\nconst MenuRadioGroupContext = React.createContext<MenuRadioGroupContextType>({});\n\n// item\nexport type MenuRadioGroupItemProps<T = HTMLDivElement> = Omit<React.HTMLAttributes<T>, 'children' | 'onSelect'> & {\n /** Label for the radio group item */\n children: React.ReactNode;\n /** Whether the radio group item is disabled */\n disabled?: boolean;\n /** Value of the radio button */\n value: RadioGroupItemValue;\n};\n\nexport const RadioItem = (props: MenuRadioGroupItemProps) => {\n const { children, disabled, value, ...otherProps } = props;\n const context = React.useContext(MenuRadioGroupContext);\n const isDisabled = context.disabled || disabled;\n\n const className = useItemStyling({\n disabled: isDisabled,\n indented: true,\n className: props.className,\n });\n\n return (\n <MenuPrimitive.RadioItem {...otherProps} className={className} disabled={isDisabled} value={String(value ?? '')}>\n <MenuPrimitive.RadioItemIndicator className=\"absolute left-0 ml-1.5\">\n <span className=\"ml-1 flex h-1.5 w-1.5 rounded-full bg-current\" />\n </MenuPrimitive.RadioItemIndicator>\n {children}\n </MenuPrimitive.RadioItem>\n );\n};\n\n// group\nexport type MenuRadioGroupProps = React.HTMLAttributes<HTMLDivElement> & {\n disabled?: boolean;\n /** Handler called when the value changes */\n onChange: (value: RadioGroupItemValue) => void;\n /** The current value (controlled) */\n value?: RadioGroupItemValue;\n};\n\nexport type ForwardedMenuRadioGroupWithStatics = React.ForwardRefExoticComponent<\n MenuRadioGroupProps & React.RefAttributes<HTMLElement>\n> & {\n Item: React.FunctionComponent<MenuRadioGroupItemProps>;\n};\n\nexport const RadioGroup = React.forwardRef<HTMLDivElement, MenuRadioGroupProps>(function MenuRadioItem(props, ref) {\n const values = React.useMemo<RadioGroupItemValue[]>(() => {\n const radioGroupItemValues: RadioGroupItemValue[] = [];\n\n React.Children.forEach(props.children, child => {\n if (React.isValidElement<{ value: RadioGroupItemValue }>(child)) {\n radioGroupItemValues.push(child.props.value);\n }\n });\n\n return radioGroupItemValues;\n }, [props.children]);\n\n const handleChange = (value: string) => props.onChange(getRadioItemByValue(values, value));\n const value = String(props.value ?? '');\n\n return (\n <MenuRadioGroupContext.Provider value={{ disabled: props.disabled, value, onChange: handleChange }}>\n <MenuPrimitive.RadioGroup {...props} className=\"flex flex-col\" value={value} onValueChange={handleChange} ref={ref} />\n </MenuRadioGroupContext.Provider>\n );\n}) as ForwardedMenuRadioGroupWithStatics;\n\nRadioGroup.Item = RadioItem;\n"],"names":["MenuPrimitive","value"],"mappings":";;;;AAiBA,MAAM,wBAAwB,MAAM,cAAyC,EAAE;AAYxE,MAAM,YAAY,CAAC,UAAmC;AACzD,QAAM,EAAE,UAAU,UAAU,OAAO,GAAG,eAAe;AACrD,QAAM,UAAU,MAAM,WAAW,qBAAqB;AACtD,QAAM,aAAa,QAAQ,YAAY;AAEvC,QAAM,YAAY,eAAe;AAAA,IAC7B,UAAU;AAAA,IACV,UAAU;AAAA,IACV,WAAW,MAAM;AAAA,EAAA,CACpB;AAED,SACI,sBAAA,cAACA,KAAc,WAAd,EAAyB,GAAG,YAAY,WAAsB,UAAU,YAAY,OAAO,OAAO,SAAS,EAAE,KAC1G,sBAAA,cAACA,KAAc,oBAAd,EAAiC,WAAU,yBAAA,GACxC,sBAAA,cAAC,QAAA,EAAK,WAAU,gDAAA,CAAgD,CACpE,GACC,QACL;AAER;AAiBO,MAAM,aAAa,MAAM,WAAgD,SAAS,cAAc,OAAO,KAAK;AAC/G,QAAM,SAAS,MAAM,QAA+B,MAAM;AACtD,UAAM,uBAA8C,CAAA;AAEpD,UAAM,SAAS,QAAQ,MAAM,UAAU,CAAA,UAAS;AAC5C,UAAI,MAAM,eAA+C,KAAK,GAAG;AAC7D,6BAAqB,KAAK,MAAM,MAAM,KAAK;AAAA,MAC/C;AAAA,IACJ,CAAC;AAED,WAAO;AAAA,EACX,GAAG,CAAC,MAAM,QAAQ,CAAC;AAEnB,QAAM,eAAe,CAACC,WAAkB,MAAM,SAAS,oBAAoB,QAAQA,MAAK,CAAC;AACzF,QAAM,QAAQ,OAAO,MAAM,SAAS,EAAE;AAEtC,SACI,sBAAA,cAAC,sBAAsB,UAAtB,EAA+B,OAAO,EAAE,UAAU,MAAM,UAAU,OAAO,UAAU,aAAA,KAChF,sBAAA,cAACD,KAAc,YAAd,EAA0B,GAAG,OAAO,WAAU,iBAAgB,OAAc,eAAe,cAAc,IAAA,CAAU,CACxH;AAER,CAAC;AAED,WAAW,OAAO;"}
1
+ {"version":3,"file":"RadioGroup.js","sources":["../../../../src/components/Menu/components/RadioGroup.tsx"],"sourcesContent":["import { Menu as MenuPrimitive } from '@base-ui/react/menu';\nimport * as React from 'react';\n\nimport type { RadioGroupItemValue } from '@/components';\nimport { getRadioItemByValue } from '@/components/RadioGroup/util';\n\nimport { useItemStyling } from './Item';\n\ntype MenuRadioGroupContextType = {\n disabled?: boolean;\n value?: string;\n onChange?: (value: string) => void;\n};\n\n// Context for the radio group used to pass the disabled state to the radio group items\n// This is needed because context from RadioGroup component context was removed after migration to react-aria\n// TODO: remove this context once this component will be migrated to react-aria\nconst MenuRadioGroupContext = React.createContext<MenuRadioGroupContextType>({});\n\n// item\nexport type MenuRadioGroupItemProps<T = HTMLDivElement> = Omit<React.HTMLAttributes<T>, 'children' | 'onSelect'> & {\n /** Label for the radio group item */\n children: React.ReactNode;\n /** Whether the radio group item is disabled */\n disabled?: boolean;\n /** Value of the radio button */\n value: RadioGroupItemValue;\n};\n\nexport const RadioItem = (props: MenuRadioGroupItemProps) => {\n const { children, disabled, value, ...otherProps } = props;\n const context = React.useContext(MenuRadioGroupContext);\n const isDisabled = context.disabled || disabled;\n\n const className = useItemStyling({\n disabled: isDisabled,\n indented: true,\n className: props.className,\n });\n\n return (\n <MenuPrimitive.RadioItem {...otherProps} className={className} disabled={isDisabled} value={String(value ?? '')}>\n <MenuPrimitive.RadioItemIndicator className=\"absolute left-0 ml-1.5\">\n <span className=\"ml-1 flex h-1.5 w-1.5 rounded-full bg-current\" />\n </MenuPrimitive.RadioItemIndicator>\n {children}\n </MenuPrimitive.RadioItem>\n );\n};\n\n// group\nexport type MenuRadioGroupProps = React.HTMLAttributes<HTMLDivElement> & {\n disabled?: boolean;\n /** Handler called when the value changes */\n onChange: (value: RadioGroupItemValue) => void;\n /** The current value (controlled) */\n value?: RadioGroupItemValue;\n};\n\nexport type ForwardedMenuRadioGroupWithStatics = React.ForwardRefExoticComponent<\n MenuRadioGroupProps & React.RefAttributes<HTMLElement>\n> & {\n Item: React.FunctionComponent<MenuRadioGroupItemProps>;\n};\n\nexport const RadioGroup = React.forwardRef<HTMLDivElement, MenuRadioGroupProps>(function MenuRadioItem(props, ref) {\n const values = React.useMemo<RadioGroupItemValue[]>(() => {\n const radioGroupItemValues: RadioGroupItemValue[] = [];\n\n React.Children.forEach(props.children, child => {\n if (React.isValidElement<{ value: RadioGroupItemValue }>(child)) {\n radioGroupItemValues.push(child.props.value);\n }\n });\n\n return radioGroupItemValues;\n }, [props.children]);\n\n const handleChange = (value: string) => props.onChange(getRadioItemByValue(values, value));\n const value = String(props.value ?? '');\n\n return (\n <MenuRadioGroupContext.Provider value={{ disabled: props.disabled, value, onChange: handleChange }}>\n <MenuPrimitive.RadioGroup {...props} className=\"flex flex-col\" value={value} onValueChange={handleChange} ref={ref} />\n </MenuRadioGroupContext.Provider>\n );\n}) as ForwardedMenuRadioGroupWithStatics;\n\nRadioGroup.Item = RadioItem;\n"],"names":["MenuPrimitive","value"],"mappings":";;;;AAiBA,MAAM,wBAAwB,MAAM,cAAyC,EAAE;AAYxE,MAAM,YAAY,CAAC,UAAmC;AACzD,QAAM,EAAE,UAAU,UAAU,OAAO,GAAG,eAAe;AACrD,QAAM,UAAU,MAAM,WAAW,qBAAqB;AACtD,QAAM,aAAa,QAAQ,YAAY;AAEvC,QAAM,YAAY,eAAe;AAAA,IAC7B,UAAU;AAAA,IACV,UAAU;AAAA,IACV,WAAW,MAAM;AAAA,EAAA,CACpB;AAED,SACI,sBAAA,cAACA,KAAc,WAAd,EAAyB,GAAG,YAAY,WAAsB,UAAU,YAAY,OAAO,OAAO,SAAS,EAAE,KAC1G,sBAAA,cAACA,KAAc,oBAAd,EAAiC,WAAU,yBAAA,GACxC,sBAAA,cAAC,QAAA,EAAK,WAAU,gDAAA,CAAgD,CACpE,GACC,QACL;AAER;AAiBO,MAAM,aAAa,MAAM,WAAgD,SAAS,cAAc,OAAO,KAAK;AAC/G,QAAM,SAAS,MAAM,QAA+B,MAAM;AACtD,UAAM,uBAA8C,CAAA;AAEpD,UAAM,SAAS,QAAQ,MAAM,UAAU,CAAA,UAAS;AAC5C,UAAI,MAAM,eAA+C,KAAK,GAAG;AAC7D,6BAAqB,KAAK,MAAM,MAAM,KAAK;AAAA,MAC/C;AAAA,IACJ,CAAC;AAED,WAAO;AAAA,EACX,GAAG,CAAC,MAAM,QAAQ,CAAC;AAEnB,QAAM,eAAe,CAACC,WAAkB,MAAM,SAAS,oBAAoB,QAAQA,MAAK,CAAC;AACzF,QAAM,QAAQ,OAAO,MAAM,SAAS,EAAE;AAEtC,SACI,sBAAA,cAAC,sBAAsB,UAAtB,EAA+B,OAAO,EAAE,UAAU,MAAM,UAAU,OAAO,UAAU,aAAA,KAChF,sBAAA,cAACD,KAAc,YAAd,EAA0B,GAAG,OAAO,WAAU,iBAAgB,OAAc,eAAe,cAAc,IAAA,CAAU,CACxH;AAER,CAAC;AAED,WAAW,OAAO;"}
@@ -1 +1 @@
1
- {"version":3,"file":"SubMenu.cjs","sources":["../../../../src/components/Menu/components/SubMenu.tsx"],"sourcesContent":["import { Menu as MenuPrimitive } from '@base-ui/react/menu';\nimport cn from 'clsx';\nimport * as React from 'react';\n\nimport { useMergedRef } from '../../../hooks/useMergedRef';\n\nexport type MenuSubMenuProps = Omit<React.ComponentPropsWithoutRef<typeof MenuPrimitive.Popup>, 'children' | 'side'> & {\n children: React.ReactNode;\n};\n\nexport const SubMenu = React.forwardRef(function MenuSubMenu(props: MenuSubMenuProps, ref: React.Ref<HTMLDivElement>) {\n const internalRef = useMergedRef<any>(ref);\n const { children, ...otherProps } = props;\n const className = cn(\n 'block rounded border border-transparent bg-white p-1 text-black outline-none yt-shadow',\n props.className\n );\n\n return (\n <MenuPrimitive.Portal>\n <MenuPrimitive.Positioner sideOffset={4}>\n <MenuPrimitive.Popup {...otherProps} className={className} data-taco=\"menu-submenu\" ref={internalRef}>\n {children}\n </MenuPrimitive.Popup>\n </MenuPrimitive.Positioner>\n </MenuPrimitive.Portal>\n );\n});\n"],"names":["React","useMergedRef","MenuPrimitive"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAUO,MAAM,UAAUA,iBAAM,WAAW,SAAS,YAAY,OAAyB,KAAgC;AAClH,QAAM,cAAcC,aAAAA,aAAkB,GAAG;AACzC,QAAM,EAAE,UAAU,GAAG,WAAA,IAAe;AACpC,QAAM,YAAY;AAAA,IACd;AAAA,IACA,MAAM;AAAA,EAAA;AAGV,SACID,iCAAA,cAACE,KAAAA,KAAc,QAAd,qDACIA,KAAAA,KAAc,YAAd,EAAyB,YAAY,EAAA,GAClCF,iCAAA,cAACE,KAAAA,KAAc,OAAd,EAAqB,GAAG,YAAY,WAAsB,aAAU,gBAAe,KAAK,eACpF,QACL,CACJ,CACJ;AAER,CAAC;;"}
1
+ {"version":3,"file":"SubMenu.cjs","sources":["../../../../src/components/Menu/components/SubMenu.tsx"],"sourcesContent":["import { Menu as MenuPrimitive } from '@base-ui/react/menu';\nimport cn from 'clsx';\nimport * as React from 'react';\n\nimport { useMergedRef } from '@/hooks/useMergedRef';\n\nexport type MenuSubMenuProps = Omit<React.ComponentPropsWithoutRef<typeof MenuPrimitive.Popup>, 'children' | 'side'> & {\n children: React.ReactNode;\n};\n\nexport const SubMenu = React.forwardRef(function MenuSubMenu(props: MenuSubMenuProps, ref: React.Ref<HTMLDivElement>) {\n const internalRef = useMergedRef<any>(ref);\n const { children, ...otherProps } = props;\n const className = cn(\n 'block rounded border border-transparent bg-white p-1 text-black outline-none yt-shadow',\n props.className\n );\n\n return (\n <MenuPrimitive.Portal>\n <MenuPrimitive.Positioner sideOffset={4}>\n <MenuPrimitive.Popup {...otherProps} className={className} data-taco=\"menu-submenu\" ref={internalRef}>\n {children}\n </MenuPrimitive.Popup>\n </MenuPrimitive.Positioner>\n </MenuPrimitive.Portal>\n );\n});\n"],"names":["React","useMergedRef","MenuPrimitive"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAUO,MAAM,UAAUA,iBAAM,WAAW,SAAS,YAAY,OAAyB,KAAgC;AAClH,QAAM,cAAcC,aAAAA,aAAkB,GAAG;AACzC,QAAM,EAAE,UAAU,GAAG,WAAA,IAAe;AACpC,QAAM,YAAY;AAAA,IACd;AAAA,IACA,MAAM;AAAA,EAAA;AAGV,SACID,iCAAA,cAACE,KAAAA,KAAc,QAAd,qDACIA,KAAAA,KAAc,YAAd,EAAyB,YAAY,EAAA,GAClCF,iCAAA,cAACE,KAAAA,KAAc,OAAd,EAAqB,GAAG,YAAY,WAAsB,aAAU,gBAAe,KAAK,eACpF,QACL,CACJ,CACJ;AAER,CAAC;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"SubMenu.js","sources":["../../../../src/components/Menu/components/SubMenu.tsx"],"sourcesContent":["import { Menu as MenuPrimitive } from '@base-ui/react/menu';\nimport cn from 'clsx';\nimport * as React from 'react';\n\nimport { useMergedRef } from '../../../hooks/useMergedRef';\n\nexport type MenuSubMenuProps = Omit<React.ComponentPropsWithoutRef<typeof MenuPrimitive.Popup>, 'children' | 'side'> & {\n children: React.ReactNode;\n};\n\nexport const SubMenu = React.forwardRef(function MenuSubMenu(props: MenuSubMenuProps, ref: React.Ref<HTMLDivElement>) {\n const internalRef = useMergedRef<any>(ref);\n const { children, ...otherProps } = props;\n const className = cn(\n 'block rounded border border-transparent bg-white p-1 text-black outline-none yt-shadow',\n props.className\n );\n\n return (\n <MenuPrimitive.Portal>\n <MenuPrimitive.Positioner sideOffset={4}>\n <MenuPrimitive.Popup {...otherProps} className={className} data-taco=\"menu-submenu\" ref={internalRef}>\n {children}\n </MenuPrimitive.Popup>\n </MenuPrimitive.Positioner>\n </MenuPrimitive.Portal>\n );\n});\n"],"names":["MenuPrimitive"],"mappings":";;;;AAUO,MAAM,UAAU,MAAM,WAAW,SAAS,YAAY,OAAyB,KAAgC;AAClH,QAAM,cAAc,aAAkB,GAAG;AACzC,QAAM,EAAE,UAAU,GAAG,WAAA,IAAe;AACpC,QAAM,YAAY;AAAA,IACd;AAAA,IACA,MAAM;AAAA,EAAA;AAGV,SACI,sBAAA,cAACA,KAAc,QAAd,0CACIA,KAAc,YAAd,EAAyB,YAAY,EAAA,GAClC,sBAAA,cAACA,KAAc,OAAd,EAAqB,GAAG,YAAY,WAAsB,aAAU,gBAAe,KAAK,eACpF,QACL,CACJ,CACJ;AAER,CAAC;"}
1
+ {"version":3,"file":"SubMenu.js","sources":["../../../../src/components/Menu/components/SubMenu.tsx"],"sourcesContent":["import { Menu as MenuPrimitive } from '@base-ui/react/menu';\nimport cn from 'clsx';\nimport * as React from 'react';\n\nimport { useMergedRef } from '@/hooks/useMergedRef';\n\nexport type MenuSubMenuProps = Omit<React.ComponentPropsWithoutRef<typeof MenuPrimitive.Popup>, 'children' | 'side'> & {\n children: React.ReactNode;\n};\n\nexport const SubMenu = React.forwardRef(function MenuSubMenu(props: MenuSubMenuProps, ref: React.Ref<HTMLDivElement>) {\n const internalRef = useMergedRef<any>(ref);\n const { children, ...otherProps } = props;\n const className = cn(\n 'block rounded border border-transparent bg-white p-1 text-black outline-none yt-shadow',\n props.className\n );\n\n return (\n <MenuPrimitive.Portal>\n <MenuPrimitive.Positioner sideOffset={4}>\n <MenuPrimitive.Popup {...otherProps} className={className} data-taco=\"menu-submenu\" ref={internalRef}>\n {children}\n </MenuPrimitive.Popup>\n </MenuPrimitive.Positioner>\n </MenuPrimitive.Portal>\n );\n});\n"],"names":["MenuPrimitive"],"mappings":";;;;AAUO,MAAM,UAAU,MAAM,WAAW,SAAS,YAAY,OAAyB,KAAgC;AAClH,QAAM,cAAc,aAAkB,GAAG;AACzC,QAAM,EAAE,UAAU,GAAG,WAAA,IAAe;AACpC,QAAM,YAAY;AAAA,IACd;AAAA,IACA,MAAM;AAAA,EAAA;AAGV,SACI,sBAAA,cAACA,KAAc,QAAd,0CACIA,KAAc,YAAd,EAAyB,YAAY,EAAA,GAClC,sBAAA,cAACA,KAAc,OAAd,EAAqB,GAAG,YAAY,WAAsB,aAAU,gBAAe,KAAK,eACpF,QACL,CACJ,CACJ;AAER,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Trigger.cjs","sources":["../../../../src/components/Menu/components/Trigger.tsx"],"sourcesContent":["import { Menu as MenuPrimitive } from '@base-ui/react/menu';\nimport * as React from 'react';\n\nimport { isElementInsideTable3OrReport } from '../../../utils/dom';\nimport { createCustomKeyboardEvent } from '../../../utils/input';\nimport { mergeRefs } from '../../../utils/mergeRefs';\nimport { useCurrentMenu } from '../Context';\n\nexport type MenuTriggerProps = Omit<React.HTMLAttributes<HTMLButtonElement>, 'children'> & {\n children: React.ReactElement;\n};\n\nexport const Trigger = React.forwardRef(function MenuTrigger(props: MenuTriggerProps, ref: React.Ref<HTMLButtonElement>) {\n const { children, ...otherProps } = props;\n const menu = useCurrentMenu();\n const internalRef = React.useRef<HTMLButtonElement | null>(null);\n const mergedRef = mergeRefs<HTMLButtonElement>([\n ref,\n internalRef,\n menu?.triggerRef as React.MutableRefObject<HTMLButtonElement>,\n ]);\n\n const handleKeyDown = (event: React.KeyboardEvent) => {\n if ((event.key === 'ArrowDown' || event.key === 'ArrowUp') && isElementInsideTable3OrReport(event.currentTarget)) {\n event.preventDefault();\n event.currentTarget.parentNode?.dispatchEvent(createCustomKeyboardEvent(event));\n }\n };\n\n React.useEffect(() => {\n if (internalRef.current) {\n menu?.setMinWidth(internalRef.current.getBoundingClientRect().width);\n }\n }, [internalRef]);\n\n return <MenuPrimitive.Trigger {...otherProps} ref={mergedRef} onKeyDown={handleKeyDown} render={children} />;\n});\n"],"names":["React","menu","useCurrentMenu","mergeRefs","isElementInsideTable3OrReport","createCustomKeyboardEvent","MenuPrimitive"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAYO,MAAM,UAAUA,iBAAM,WAAW,SAAS,YAAY,OAAyB,KAAmC;AACrH,QAAM,EAAE,UAAU,GAAG,WAAA,IAAe;AACpC,QAAMC,SAAOC,QAAAA,eAAA;AACb,QAAM,cAAcF,iBAAM,OAAiC,IAAI;AAC/D,QAAM,YAAYG,UAAAA,UAA6B;AAAA,IAC3C;AAAA,IACA;AAAA,IACAF,QAAM;AAAA,EAAA,CACT;AAED,QAAM,gBAAgB,CAAC,UAA+B;AAClD,SAAK,MAAM,QAAQ,eAAe,MAAM,QAAQ,cAAcG,IAAAA,8BAA8B,MAAM,aAAa,GAAG;AAC9G,YAAM,eAAA;AACN,YAAM,cAAc,YAAY,cAAcC,MAAAA,0BAA0B,KAAK,CAAC;AAAA,IAClF;AAAA,EACJ;AAEAL,mBAAM,UAAU,MAAM;AAClB,QAAI,YAAY,SAAS;AACrBC,cAAM,YAAY,YAAY,QAAQ,sBAAA,EAAwB,KAAK;AAAA,IACvE;AAAA,EACJ,GAAG,CAAC,WAAW,CAAC;AAEhB,SAAOD,iCAAA,cAACM,UAAc,SAAd,EAAuB,GAAG,YAAY,KAAK,WAAW,WAAW,eAAe,QAAQ,SAAA,CAAU;AAC9G,CAAC;;"}
1
+ {"version":3,"file":"Trigger.cjs","sources":["../../../../src/components/Menu/components/Trigger.tsx"],"sourcesContent":["import { Menu as MenuPrimitive } from '@base-ui/react/menu';\nimport * as React from 'react';\n\nimport { isElementInsideTable3OrReport } from '@/utils/dom';\nimport { createCustomKeyboardEvent } from '@/utils/input';\nimport { mergeRefs } from '@/utils/mergeRefs';\n\nimport { useCurrentMenu } from '../Context';\n\nexport type MenuTriggerProps = Omit<React.HTMLAttributes<HTMLButtonElement>, 'children'> & {\n children: React.ReactElement;\n};\n\nexport const Trigger = React.forwardRef(function MenuTrigger(props: MenuTriggerProps, ref: React.Ref<HTMLButtonElement>) {\n const { children, ...otherProps } = props;\n const menu = useCurrentMenu();\n const internalRef = React.useRef<HTMLButtonElement | null>(null);\n const mergedRef = mergeRefs<HTMLButtonElement>([\n ref,\n internalRef,\n menu?.triggerRef as React.MutableRefObject<HTMLButtonElement>,\n ]);\n\n const handleKeyDown = (event: React.KeyboardEvent) => {\n if ((event.key === 'ArrowDown' || event.key === 'ArrowUp') && isElementInsideTable3OrReport(event.currentTarget)) {\n event.preventDefault();\n event.currentTarget.parentNode?.dispatchEvent(createCustomKeyboardEvent(event));\n }\n };\n\n React.useEffect(() => {\n if (internalRef.current) {\n menu?.setMinWidth(internalRef.current.getBoundingClientRect().width);\n }\n }, [internalRef]);\n\n return <MenuPrimitive.Trigger {...otherProps} ref={mergedRef} onKeyDown={handleKeyDown} render={children} />;\n});\n"],"names":["React","menu","useCurrentMenu","mergeRefs","isElementInsideTable3OrReport","createCustomKeyboardEvent","MenuPrimitive"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAaO,MAAM,UAAUA,iBAAM,WAAW,SAAS,YAAY,OAAyB,KAAmC;AACrH,QAAM,EAAE,UAAU,GAAG,WAAA,IAAe;AACpC,QAAMC,SAAOC,QAAAA,eAAA;AACb,QAAM,cAAcF,iBAAM,OAAiC,IAAI;AAC/D,QAAM,YAAYG,UAAAA,UAA6B;AAAA,IAC3C;AAAA,IACA;AAAA,IACAF,QAAM;AAAA,EAAA,CACT;AAED,QAAM,gBAAgB,CAAC,UAA+B;AAClD,SAAK,MAAM,QAAQ,eAAe,MAAM,QAAQ,cAAcG,IAAAA,8BAA8B,MAAM,aAAa,GAAG;AAC9G,YAAM,eAAA;AACN,YAAM,cAAc,YAAY,cAAcC,MAAAA,0BAA0B,KAAK,CAAC;AAAA,IAClF;AAAA,EACJ;AAEAL,mBAAM,UAAU,MAAM;AAClB,QAAI,YAAY,SAAS;AACrBC,cAAM,YAAY,YAAY,QAAQ,sBAAA,EAAwB,KAAK;AAAA,IACvE;AAAA,EACJ,GAAG,CAAC,WAAW,CAAC;AAEhB,SAAOD,iCAAA,cAACM,UAAc,SAAd,EAAuB,GAAG,YAAY,KAAK,WAAW,WAAW,eAAe,QAAQ,SAAA,CAAU;AAC9G,CAAC;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Trigger.js","sources":["../../../../src/components/Menu/components/Trigger.tsx"],"sourcesContent":["import { Menu as MenuPrimitive } from '@base-ui/react/menu';\nimport * as React from 'react';\n\nimport { isElementInsideTable3OrReport } from '../../../utils/dom';\nimport { createCustomKeyboardEvent } from '../../../utils/input';\nimport { mergeRefs } from '../../../utils/mergeRefs';\nimport { useCurrentMenu } from '../Context';\n\nexport type MenuTriggerProps = Omit<React.HTMLAttributes<HTMLButtonElement>, 'children'> & {\n children: React.ReactElement;\n};\n\nexport const Trigger = React.forwardRef(function MenuTrigger(props: MenuTriggerProps, ref: React.Ref<HTMLButtonElement>) {\n const { children, ...otherProps } = props;\n const menu = useCurrentMenu();\n const internalRef = React.useRef<HTMLButtonElement | null>(null);\n const mergedRef = mergeRefs<HTMLButtonElement>([\n ref,\n internalRef,\n menu?.triggerRef as React.MutableRefObject<HTMLButtonElement>,\n ]);\n\n const handleKeyDown = (event: React.KeyboardEvent) => {\n if ((event.key === 'ArrowDown' || event.key === 'ArrowUp') && isElementInsideTable3OrReport(event.currentTarget)) {\n event.preventDefault();\n event.currentTarget.parentNode?.dispatchEvent(createCustomKeyboardEvent(event));\n }\n };\n\n React.useEffect(() => {\n if (internalRef.current) {\n menu?.setMinWidth(internalRef.current.getBoundingClientRect().width);\n }\n }, [internalRef]);\n\n return <MenuPrimitive.Trigger {...otherProps} ref={mergedRef} onKeyDown={handleKeyDown} render={children} />;\n});\n"],"names":["MenuPrimitive"],"mappings":";;;;;;AAYO,MAAM,UAAU,MAAM,WAAW,SAAS,YAAY,OAAyB,KAAmC;AACrH,QAAM,EAAE,UAAU,GAAG,WAAA,IAAe;AACpC,QAAM,OAAO,eAAA;AACb,QAAM,cAAc,MAAM,OAAiC,IAAI;AAC/D,QAAM,YAAY,UAA6B;AAAA,IAC3C;AAAA,IACA;AAAA,IACA,MAAM;AAAA,EAAA,CACT;AAED,QAAM,gBAAgB,CAAC,UAA+B;AAClD,SAAK,MAAM,QAAQ,eAAe,MAAM,QAAQ,cAAc,8BAA8B,MAAM,aAAa,GAAG;AAC9G,YAAM,eAAA;AACN,YAAM,cAAc,YAAY,cAAc,0BAA0B,KAAK,CAAC;AAAA,IAClF;AAAA,EACJ;AAEA,QAAM,UAAU,MAAM;AAClB,QAAI,YAAY,SAAS;AACrB,YAAM,YAAY,YAAY,QAAQ,sBAAA,EAAwB,KAAK;AAAA,IACvE;AAAA,EACJ,GAAG,CAAC,WAAW,CAAC;AAEhB,SAAO,sBAAA,cAACA,KAAc,SAAd,EAAuB,GAAG,YAAY,KAAK,WAAW,WAAW,eAAe,QAAQ,SAAA,CAAU;AAC9G,CAAC;"}
1
+ {"version":3,"file":"Trigger.js","sources":["../../../../src/components/Menu/components/Trigger.tsx"],"sourcesContent":["import { Menu as MenuPrimitive } from '@base-ui/react/menu';\nimport * as React from 'react';\n\nimport { isElementInsideTable3OrReport } from '@/utils/dom';\nimport { createCustomKeyboardEvent } from '@/utils/input';\nimport { mergeRefs } from '@/utils/mergeRefs';\n\nimport { useCurrentMenu } from '../Context';\n\nexport type MenuTriggerProps = Omit<React.HTMLAttributes<HTMLButtonElement>, 'children'> & {\n children: React.ReactElement;\n};\n\nexport const Trigger = React.forwardRef(function MenuTrigger(props: MenuTriggerProps, ref: React.Ref<HTMLButtonElement>) {\n const { children, ...otherProps } = props;\n const menu = useCurrentMenu();\n const internalRef = React.useRef<HTMLButtonElement | null>(null);\n const mergedRef = mergeRefs<HTMLButtonElement>([\n ref,\n internalRef,\n menu?.triggerRef as React.MutableRefObject<HTMLButtonElement>,\n ]);\n\n const handleKeyDown = (event: React.KeyboardEvent) => {\n if ((event.key === 'ArrowDown' || event.key === 'ArrowUp') && isElementInsideTable3OrReport(event.currentTarget)) {\n event.preventDefault();\n event.currentTarget.parentNode?.dispatchEvent(createCustomKeyboardEvent(event));\n }\n };\n\n React.useEffect(() => {\n if (internalRef.current) {\n menu?.setMinWidth(internalRef.current.getBoundingClientRect().width);\n }\n }, [internalRef]);\n\n return <MenuPrimitive.Trigger {...otherProps} ref={mergedRef} onKeyDown={handleKeyDown} render={children} />;\n});\n"],"names":["MenuPrimitive"],"mappings":";;;;;;AAaO,MAAM,UAAU,MAAM,WAAW,SAAS,YAAY,OAAyB,KAAmC;AACrH,QAAM,EAAE,UAAU,GAAG,WAAA,IAAe;AACpC,QAAM,OAAO,eAAA;AACb,QAAM,cAAc,MAAM,OAAiC,IAAI;AAC/D,QAAM,YAAY,UAA6B;AAAA,IAC3C;AAAA,IACA;AAAA,IACA,MAAM;AAAA,EAAA,CACT;AAED,QAAM,gBAAgB,CAAC,UAA+B;AAClD,SAAK,MAAM,QAAQ,eAAe,MAAM,QAAQ,cAAc,8BAA8B,MAAM,aAAa,GAAG;AAC9G,YAAM,eAAA;AACN,YAAM,cAAc,YAAY,cAAc,0BAA0B,KAAK,CAAC;AAAA,IAClF;AAAA,EACJ;AAEA,QAAM,UAAU,MAAM;AAClB,QAAI,YAAY,SAAS;AACrB,YAAM,YAAY,YAAY,QAAQ,sBAAA,EAAwB,KAAK;AAAA,IACvE;AAAA,EACJ,GAAG,CAAC,WAAW,CAAC;AAEhB,SAAO,sBAAA,cAACA,KAAc,SAAd,EAAuB,GAAG,YAAY,KAAK,WAAW,WAAW,eAAe,QAAQ,SAAA,CAAU;AAC9G,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Group.cjs","sources":["../../../../src/components/Navigation2/components/Group.tsx"],"sourcesContent":["import cn from 'clsx';\nimport React from 'react';\n\nimport { Icon } from '../../Icon/Icon';\n\nexport type Navigation2GroupProps = Omit<React.LiHTMLAttributes<HTMLLIElement>, 'onClick'> & {\n defaultExpanded?: boolean;\n heading: string | React.JSX.Element;\n onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;\n};\n\nexport const Group = React.forwardRef<HTMLLIElement, Navigation2GroupProps>(function Group(props, ref) {\n const { children, defaultExpanded = false, heading, onClick, ...attributes } = props;\n const [expanded, setExpanded] = React.useState(defaultExpanded);\n const className = cn(\n 'flex w-full cursor-pointer items-center rounded px-3 text-left font-bold leading-8 hover:bg-black-subtle focus-visible:yt-focus-dark',\n attributes.className\n );\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n setExpanded(!expanded);\n\n if (onClick) {\n onClick(event);\n }\n };\n\n return (\n <li {...attributes} className=\"[[data-taco=navigation2]>&]:px-3\" ref={ref}>\n <button\n aria-haspopup=\"true\"\n aria-expanded={expanded}\n data-taco=\"navigation2-group\"\n className={className}\n onClick={handleClick}>\n <Icon className=\"-ml-2 !h-5 !w-5\" name={expanded ? 'chevron-down-solid' : 'chevron-right-solid'} />\n <span className=\"flex-grow truncate\">{heading}</span>\n </button>\n <ul className={cn('mb-0 flex flex-col gap-y-px pt-px', { hidden: !expanded })} data-taco=\"navigation2-grouplist\">\n {children}\n </ul>\n </li>\n );\n});\n"],"names":["Group","Icon"],"mappings":";;;;;AAWO,MAAM,QAAQ,MAAM,WAAiD,SAASA,OAAM,OAAO,KAAK;AACnG,QAAM,EAAE,UAAU,kBAAkB,OAAO,SAAS,SAAS,GAAG,eAAe;AAC/E,QAAM,CAAC,UAAU,WAAW,IAAI,MAAM,SAAS,eAAe;AAC9D,QAAM,YAAY;AAAA,IACd;AAAA,IACA,WAAW;AAAA,EAAA;AAGf,QAAM,cAAc,CAAC,UAA+C;AAChE,gBAAY,CAAC,QAAQ;AAErB,QAAI,SAAS;AACT,cAAQ,KAAK;AAAA,IACjB;AAAA,EACJ;AAEA,6CACK,MAAA,EAAI,GAAG,YAAY,WAAU,oCAAmC,OAC7D,sBAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,iBAAc;AAAA,MACd,iBAAe;AAAA,MACf,aAAU;AAAA,MACV;AAAA,MACA,SAAS;AAAA,IAAA;AAAA,wCACRC,KAAAA,MAAA,EAAK,WAAU,mBAAkB,MAAM,WAAW,uBAAuB,uBAAuB;AAAA,IACjG,sBAAA,cAAC,QAAA,EAAK,WAAU,qBAAA,GAAsB,OAAQ;AAAA,EAAA,GAElD,sBAAA,cAAC,MAAA,EAAG,WAAW,GAAG,qCAAqC,EAAE,QAAQ,CAAC,UAAU,GAAG,aAAU,wBAAA,GACpF,QACL,CACJ;AAER,CAAC;;"}
1
+ {"version":3,"file":"Group.cjs","sources":["../../../../src/components/Navigation2/components/Group.tsx"],"sourcesContent":["import cn from 'clsx';\nimport React from 'react';\n\nimport { Icon } from '@/components';\n\nexport type Navigation2GroupProps = Omit<React.LiHTMLAttributes<HTMLLIElement>, 'onClick'> & {\n defaultExpanded?: boolean;\n heading: string | React.JSX.Element;\n onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;\n};\n\nexport const Group = React.forwardRef<HTMLLIElement, Navigation2GroupProps>(function Group(props, ref) {\n const { children, defaultExpanded = false, heading, onClick, ...attributes } = props;\n const [expanded, setExpanded] = React.useState(defaultExpanded);\n const className = cn(\n 'flex w-full cursor-pointer items-center rounded px-3 text-left font-bold leading-8 hover:bg-black-subtle focus-visible:yt-focus-dark',\n attributes.className\n );\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n setExpanded(!expanded);\n\n if (onClick) {\n onClick(event);\n }\n };\n\n return (\n <li {...attributes} className=\"[[data-taco=navigation2]>&]:px-3\" ref={ref}>\n <button\n aria-haspopup=\"true\"\n aria-expanded={expanded}\n data-taco=\"navigation2-group\"\n className={className}\n onClick={handleClick}>\n <Icon className=\"-ml-2 !h-5 !w-5\" name={expanded ? 'chevron-down-solid' : 'chevron-right-solid'} />\n <span className=\"flex-grow truncate\">{heading}</span>\n </button>\n <ul className={cn('mb-0 flex flex-col gap-y-px pt-px', { hidden: !expanded })} data-taco=\"navigation2-grouplist\">\n {children}\n </ul>\n </li>\n );\n});\n"],"names":["Group","Icon"],"mappings":";;;;;AAWO,MAAM,QAAQ,MAAM,WAAiD,SAASA,OAAM,OAAO,KAAK;AACnG,QAAM,EAAE,UAAU,kBAAkB,OAAO,SAAS,SAAS,GAAG,eAAe;AAC/E,QAAM,CAAC,UAAU,WAAW,IAAI,MAAM,SAAS,eAAe;AAC9D,QAAM,YAAY;AAAA,IACd;AAAA,IACA,WAAW;AAAA,EAAA;AAGf,QAAM,cAAc,CAAC,UAA+C;AAChE,gBAAY,CAAC,QAAQ;AAErB,QAAI,SAAS;AACT,cAAQ,KAAK;AAAA,IACjB;AAAA,EACJ;AAEA,6CACK,MAAA,EAAI,GAAG,YAAY,WAAU,oCAAmC,OAC7D,sBAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,iBAAc;AAAA,MACd,iBAAe;AAAA,MACf,aAAU;AAAA,MACV;AAAA,MACA,SAAS;AAAA,IAAA;AAAA,wCACRC,KAAAA,MAAA,EAAK,WAAU,mBAAkB,MAAM,WAAW,uBAAuB,uBAAuB;AAAA,IACjG,sBAAA,cAAC,QAAA,EAAK,WAAU,qBAAA,GAAsB,OAAQ;AAAA,EAAA,GAElD,sBAAA,cAAC,MAAA,EAAG,WAAW,GAAG,qCAAqC,EAAE,QAAQ,CAAC,UAAU,GAAG,aAAU,wBAAA,GACpF,QACL,CACJ;AAER,CAAC;;"}