@raystack/apsara 0.56.6 → 1.0.0-rc.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 (605) hide show
  1. package/README.md +3 -3
  2. package/dist/components/accordion/accordion-content.cjs +3 -3
  3. package/dist/components/accordion/accordion-content.cjs.map +1 -1
  4. package/dist/components/accordion/accordion-content.d.ts +1 -7
  5. package/dist/components/accordion/accordion-content.d.ts.map +1 -1
  6. package/dist/components/accordion/accordion-content.js +3 -3
  7. package/dist/components/accordion/accordion-content.js.map +1 -1
  8. package/dist/components/accordion/accordion-item.cjs +3 -3
  9. package/dist/components/accordion/accordion-item.cjs.map +1 -1
  10. package/dist/components/accordion/accordion-item.d.ts +1 -7
  11. package/dist/components/accordion/accordion-item.d.ts.map +1 -1
  12. package/dist/components/accordion/accordion-item.js +2 -2
  13. package/dist/components/accordion/accordion-item.js.map +1 -1
  14. package/dist/components/accordion/accordion-root.cjs +24 -13
  15. package/dist/components/accordion/accordion-root.cjs.map +1 -1
  16. package/dist/components/accordion/accordion-root.d.ts +12 -6
  17. package/dist/components/accordion/accordion-root.d.ts.map +1 -1
  18. package/dist/components/accordion/accordion-root.js +24 -13
  19. package/dist/components/accordion/accordion-root.js.map +1 -1
  20. package/dist/components/accordion/accordion-trigger.cjs +3 -3
  21. package/dist/components/accordion/accordion-trigger.cjs.map +1 -1
  22. package/dist/components/accordion/accordion-trigger.d.ts +1 -7
  23. package/dist/components/accordion/accordion-trigger.d.ts.map +1 -1
  24. package/dist/components/accordion/accordion-trigger.js +2 -2
  25. package/dist/components/accordion/accordion-trigger.js.map +1 -1
  26. package/dist/components/accordion/accordion.d.ts +14 -4
  27. package/dist/components/accordion/accordion.d.ts.map +1 -1
  28. package/dist/components/accordion/accordion.module.css.cjs +1 -1
  29. package/dist/components/accordion/accordion.module.css.js +1 -1
  30. package/dist/components/avatar/avatar.cjs +4 -5
  31. package/dist/components/avatar/avatar.cjs.map +1 -1
  32. package/dist/components/avatar/avatar.d.ts +4 -5
  33. package/dist/components/avatar/avatar.d.ts.map +1 -1
  34. package/dist/components/avatar/avatar.js +4 -5
  35. package/dist/components/avatar/avatar.js.map +1 -1
  36. package/dist/components/avatar/index.d.ts +2 -2
  37. package/dist/components/breadcrumb/breadcrumb-item.cjs +2 -2
  38. package/dist/components/breadcrumb/breadcrumb-item.cjs.map +1 -1
  39. package/dist/components/breadcrumb/breadcrumb-item.d.ts +3 -3
  40. package/dist/components/breadcrumb/breadcrumb-item.d.ts.map +1 -1
  41. package/dist/components/breadcrumb/breadcrumb-item.js +2 -2
  42. package/dist/components/breadcrumb/breadcrumb-item.js.map +1 -1
  43. package/dist/components/button/button.cjs +3 -4
  44. package/dist/components/button/button.cjs.map +1 -1
  45. package/dist/components/button/button.d.ts +12 -11
  46. package/dist/components/button/button.d.ts.map +1 -1
  47. package/dist/components/button/button.js +3 -4
  48. package/dist/components/button/button.js.map +1 -1
  49. package/dist/components/calendar/calendar.cjs +1 -2
  50. package/dist/components/calendar/calendar.cjs.map +1 -1
  51. package/dist/components/calendar/calendar.d.ts.map +1 -1
  52. package/dist/components/calendar/calendar.js +2 -3
  53. package/dist/components/calendar/calendar.js.map +1 -1
  54. package/dist/components/checkbox/__tests__/checkbox-group.test.d.ts +2 -0
  55. package/dist/components/checkbox/__tests__/checkbox-group.test.d.ts.map +1 -0
  56. package/dist/components/checkbox/checkbox.cjs +10 -21
  57. package/dist/components/checkbox/checkbox.cjs.map +1 -1
  58. package/dist/components/checkbox/checkbox.d.ts +3 -13
  59. package/dist/components/checkbox/checkbox.d.ts.map +1 -1
  60. package/dist/components/checkbox/checkbox.js +11 -22
  61. package/dist/components/checkbox/checkbox.js.map +1 -1
  62. package/dist/components/checkbox/checkbox.module.css.cjs +1 -1
  63. package/dist/components/checkbox/checkbox.module.css.js +1 -1
  64. package/dist/components/checkbox/index.d.ts +1 -1
  65. package/dist/components/chip/chip.d.ts +1 -1
  66. package/dist/components/code-block/code-block-misc.d.ts +15 -15
  67. package/dist/components/code-block/code-block-misc.d.ts.map +1 -1
  68. package/dist/components/code-block/code-block.d.ts +100 -0
  69. package/dist/components/code-block/code-block.d.ts.map +1 -0
  70. package/dist/components/collapsible/__tests__/collapsible.test.d.ts +2 -0
  71. package/dist/components/collapsible/__tests__/collapsible.test.d.ts.map +1 -0
  72. package/dist/components/collapsible/collapsible.cjs +22 -0
  73. package/dist/components/collapsible/collapsible.cjs.map +1 -0
  74. package/dist/components/collapsible/collapsible.d.ts +5 -0
  75. package/dist/components/collapsible/collapsible.d.ts.map +1 -0
  76. package/dist/components/collapsible/collapsible.js +20 -0
  77. package/dist/components/collapsible/collapsible.js.map +1 -0
  78. package/dist/components/collapsible/collapsible.module.css.cjs +8 -0
  79. package/dist/components/collapsible/collapsible.module.css.cjs.map +1 -0
  80. package/dist/components/collapsible/collapsible.module.css.js +4 -0
  81. package/dist/components/collapsible/collapsible.module.css.js.map +1 -0
  82. package/dist/components/collapsible/index.d.ts +2 -0
  83. package/dist/components/collapsible/index.d.ts.map +1 -0
  84. package/dist/components/color-picker/color-picker-alpha.cjs +3 -3
  85. package/dist/components/color-picker/color-picker-alpha.cjs.map +1 -1
  86. package/dist/components/color-picker/color-picker-alpha.d.ts +2 -3
  87. package/dist/components/color-picker/color-picker-alpha.d.ts.map +1 -1
  88. package/dist/components/color-picker/color-picker-alpha.js +4 -4
  89. package/dist/components/color-picker/color-picker-alpha.js.map +1 -1
  90. package/dist/components/color-picker/color-picker-hue.cjs +3 -3
  91. package/dist/components/color-picker/color-picker-hue.cjs.map +1 -1
  92. package/dist/components/color-picker/color-picker-hue.d.ts +2 -3
  93. package/dist/components/color-picker/color-picker-hue.d.ts.map +1 -1
  94. package/dist/components/color-picker/color-picker-hue.js +4 -4
  95. package/dist/components/color-picker/color-picker-hue.js.map +1 -1
  96. package/dist/components/color-picker/color-picker.d.ts +8 -0
  97. package/dist/components/color-picker/color-picker.d.ts.map +1 -0
  98. package/dist/components/color-picker/color-picker.module.css.cjs +1 -1
  99. package/dist/components/color-picker/color-picker.module.css.js +1 -1
  100. package/dist/components/combobox/combobox-content.cjs +5 -26
  101. package/dist/components/combobox/combobox-content.cjs.map +1 -1
  102. package/dist/components/combobox/combobox-content.d.ts +3 -4
  103. package/dist/components/combobox/combobox-content.d.ts.map +1 -1
  104. package/dist/components/combobox/combobox-content.js +6 -27
  105. package/dist/components/combobox/combobox-content.js.map +1 -1
  106. package/dist/components/combobox/combobox-input.cjs +10 -33
  107. package/dist/components/combobox/combobox-input.cjs.map +1 -1
  108. package/dist/components/combobox/combobox-input.d.ts.map +1 -1
  109. package/dist/components/combobox/combobox-input.js +11 -34
  110. package/dist/components/combobox/combobox-input.js.map +1 -1
  111. package/dist/components/combobox/combobox-item.cjs +15 -15
  112. package/dist/components/combobox/combobox-item.cjs.map +1 -1
  113. package/dist/components/combobox/combobox-item.d.ts +5 -5
  114. package/dist/components/combobox/combobox-item.d.ts.map +1 -1
  115. package/dist/components/combobox/combobox-item.js +15 -15
  116. package/dist/components/combobox/combobox-item.js.map +1 -1
  117. package/dist/components/combobox/combobox-misc.cjs +13 -13
  118. package/dist/components/combobox/combobox-misc.cjs.map +1 -1
  119. package/dist/components/combobox/combobox-misc.d.ts +3 -9
  120. package/dist/components/combobox/combobox-misc.d.ts.map +1 -1
  121. package/dist/components/combobox/combobox-misc.js +13 -13
  122. package/dist/components/combobox/combobox-misc.js.map +1 -1
  123. package/dist/components/combobox/combobox-root.cjs +23 -42
  124. package/dist/components/combobox/combobox-root.cjs.map +1 -1
  125. package/dist/components/combobox/combobox-root.d.ts +19 -26
  126. package/dist/components/combobox/combobox-root.d.ts.map +1 -1
  127. package/dist/components/combobox/combobox-root.js +24 -43
  128. package/dist/components/combobox/combobox-root.js.map +1 -1
  129. package/dist/components/combobox/combobox.d.ts +6 -12
  130. package/dist/components/combobox/combobox.d.ts.map +1 -1
  131. package/dist/components/combobox/combobox.module.css.cjs +1 -1
  132. package/dist/components/combobox/combobox.module.css.js +1 -1
  133. package/dist/components/data-table/components/content.cjs +26 -18
  134. package/dist/components/data-table/components/content.cjs.map +1 -1
  135. package/dist/components/data-table/components/content.d.ts.map +1 -1
  136. package/dist/components/data-table/components/content.js +26 -18
  137. package/dist/components/data-table/components/content.js.map +1 -1
  138. package/dist/components/data-table/components/filters.cjs +3 -3
  139. package/dist/components/data-table/components/filters.cjs.map +1 -1
  140. package/dist/components/data-table/components/filters.d.ts.map +1 -1
  141. package/dist/components/data-table/components/filters.js +4 -4
  142. package/dist/components/data-table/components/filters.js.map +1 -1
  143. package/dist/components/data-table/components/virtualized-content.cjs +52 -5
  144. package/dist/components/data-table/components/virtualized-content.cjs.map +1 -1
  145. package/dist/components/data-table/components/virtualized-content.d.ts.map +1 -1
  146. package/dist/components/data-table/components/virtualized-content.js +53 -6
  147. package/dist/components/data-table/components/virtualized-content.js.map +1 -1
  148. package/dist/components/data-table/data-table.cjs +6 -3
  149. package/dist/components/data-table/data-table.cjs.map +1 -1
  150. package/dist/components/data-table/data-table.d.ts +1 -1
  151. package/dist/components/data-table/data-table.d.ts.map +1 -1
  152. package/dist/components/data-table/data-table.js +6 -3
  153. package/dist/components/data-table/data-table.js.map +1 -1
  154. package/dist/components/data-table/data-table.module.css.cjs +1 -1
  155. package/dist/components/data-table/data-table.module.css.js +1 -1
  156. package/dist/components/data-table/data-table.types.cjs.map +1 -1
  157. package/dist/components/data-table/data-table.types.d.ts +5 -0
  158. package/dist/components/data-table/data-table.types.d.ts.map +1 -1
  159. package/dist/components/data-table/data-table.types.js.map +1 -1
  160. package/dist/components/data-table/utils/filter-operations.cjs +6 -6
  161. package/dist/components/data-table/utils/filter-operations.cjs.map +1 -1
  162. package/dist/components/data-table/utils/filter-operations.d.ts +1 -1
  163. package/dist/components/data-table/utils/filter-operations.js +6 -6
  164. package/dist/components/data-table/utils/filter-operations.js.map +1 -1
  165. package/dist/components/dialog/dialog-content.cjs +17 -0
  166. package/dist/components/dialog/dialog-content.cjs.map +1 -0
  167. package/dist/components/dialog/dialog-content.d.ts +15 -0
  168. package/dist/components/dialog/dialog-content.d.ts.map +1 -0
  169. package/dist/components/dialog/dialog-content.js +15 -0
  170. package/dist/components/dialog/dialog-content.js.map +1 -0
  171. package/dist/components/dialog/dialog-misc.cjs +37 -0
  172. package/dist/components/dialog/dialog-misc.cjs.map +1 -0
  173. package/dist/components/dialog/dialog-misc.d.ts +34 -0
  174. package/dist/components/dialog/dialog-misc.d.ts.map +1 -0
  175. package/dist/components/dialog/dialog-misc.js +30 -0
  176. package/dist/components/dialog/dialog-misc.js.map +1 -0
  177. package/dist/components/dialog/dialog.cjs +13 -44
  178. package/dist/components/dialog/dialog.cjs.map +1 -1
  179. package/dist/components/dialog/dialog.d.ts +38 -44
  180. package/dist/components/dialog/dialog.d.ts.map +1 -1
  181. package/dist/components/dialog/dialog.js +6 -34
  182. package/dist/components/dialog/dialog.js.map +1 -1
  183. package/dist/components/dialog/dialog.module.css.cjs +1 -1
  184. package/dist/components/dialog/dialog.module.css.js +1 -1
  185. package/dist/components/drawer/__tests__/drawer.test.d.ts +2 -0
  186. package/dist/components/drawer/__tests__/drawer.test.d.ts.map +1 -0
  187. package/dist/components/drawer/drawer-content.cjs +30 -0
  188. package/dist/components/drawer/drawer-content.cjs.map +1 -0
  189. package/dist/components/drawer/drawer-content.d.ts +13 -0
  190. package/dist/components/drawer/drawer-content.d.ts.map +1 -0
  191. package/dist/components/drawer/drawer-content.js +28 -0
  192. package/dist/components/drawer/drawer-content.js.map +1 -0
  193. package/dist/components/drawer/drawer-misc.cjs +26 -0
  194. package/dist/components/drawer/drawer-misc.cjs.map +1 -0
  195. package/dist/components/drawer/drawer-misc.d.ts +13 -0
  196. package/dist/components/drawer/drawer-misc.d.ts.map +1 -0
  197. package/dist/components/drawer/drawer-misc.js +20 -0
  198. package/dist/components/drawer/drawer-misc.js.map +1 -0
  199. package/dist/components/drawer/drawer-root.cjs +19 -0
  200. package/dist/components/drawer/drawer-root.cjs.map +1 -0
  201. package/dist/components/drawer/drawer-root.d.ts +12 -0
  202. package/dist/components/drawer/drawer-root.d.ts.map +1 -0
  203. package/dist/components/drawer/drawer-root.js +17 -0
  204. package/dist/components/drawer/drawer-root.js.map +1 -0
  205. package/dist/components/drawer/drawer.cjs +20 -0
  206. package/dist/components/drawer/drawer.cjs.map +1 -0
  207. package/dist/components/drawer/drawer.d.ts +21 -0
  208. package/dist/components/drawer/drawer.d.ts.map +1 -0
  209. package/dist/components/drawer/drawer.js +18 -0
  210. package/dist/components/drawer/drawer.js.map +1 -0
  211. package/dist/components/drawer/drawer.module.css.cjs +8 -0
  212. package/dist/components/drawer/drawer.module.css.cjs.map +1 -0
  213. package/dist/components/drawer/drawer.module.css.js +4 -0
  214. package/dist/components/drawer/drawer.module.css.js.map +1 -0
  215. package/dist/components/drawer/index.d.ts +2 -0
  216. package/dist/components/drawer/index.d.ts.map +1 -0
  217. package/dist/components/flex/flex.cjs +13 -4
  218. package/dist/components/flex/flex.cjs.map +1 -1
  219. package/dist/components/flex/flex.d.ts +7 -6
  220. package/dist/components/flex/flex.d.ts.map +1 -1
  221. package/dist/components/flex/flex.js +13 -4
  222. package/dist/components/flex/flex.js.map +1 -1
  223. package/dist/components/grid/grid-item.cjs +21 -16
  224. package/dist/components/grid/grid-item.cjs.map +1 -1
  225. package/dist/components/grid/grid-item.d.ts +14 -13
  226. package/dist/components/grid/grid-item.d.ts.map +1 -1
  227. package/dist/components/grid/grid-item.js +21 -16
  228. package/dist/components/grid/grid-item.js.map +1 -1
  229. package/dist/components/grid/grid.cjs +26 -21
  230. package/dist/components/grid/grid.cjs.map +1 -1
  231. package/dist/components/grid/grid.d.ts +27 -18
  232. package/dist/components/grid/grid.d.ts.map +1 -1
  233. package/dist/components/grid/grid.js +26 -21
  234. package/dist/components/grid/grid.js.map +1 -1
  235. package/dist/components/grid/index.d.ts +8 -6
  236. package/dist/components/grid/index.d.ts.map +1 -1
  237. package/dist/components/headline/headline.d.ts +1 -1
  238. package/dist/components/input-field/input-field.cjs +2 -2
  239. package/dist/components/input-field/input-field.cjs.map +1 -1
  240. package/dist/components/input-field/input-field.d.ts +2 -1
  241. package/dist/components/input-field/input-field.d.ts.map +1 -1
  242. package/dist/components/input-field/input-field.js +2 -2
  243. package/dist/components/input-field/input-field.js.map +1 -1
  244. package/dist/components/menu/__tests__/menu.test.d.ts +2 -0
  245. package/dist/components/menu/__tests__/menu.test.d.ts.map +1 -0
  246. package/dist/components/menu/cell.cjs +12 -0
  247. package/dist/components/menu/cell.cjs.map +1 -0
  248. package/dist/components/{dropdown-menu → menu}/cell.d.ts +2 -2
  249. package/dist/components/menu/cell.d.ts.map +1 -0
  250. package/dist/components/menu/cell.js +10 -0
  251. package/dist/components/menu/cell.js.map +1 -0
  252. package/dist/components/{dropdown-menu → menu}/cell.module.css.cjs +1 -1
  253. package/dist/components/menu/cell.module.css.js +4 -0
  254. package/dist/components/menu/index.d.ts +2 -0
  255. package/dist/components/menu/index.d.ts.map +1 -0
  256. package/dist/components/menu/menu-content.cjs +95 -0
  257. package/dist/components/menu/menu-content.cjs.map +1 -0
  258. package/dist/components/menu/menu-content.d.ts +7 -0
  259. package/dist/components/menu/menu-content.d.ts.map +1 -0
  260. package/dist/components/menu/menu-content.js +92 -0
  261. package/dist/components/menu/menu-content.js.map +1 -0
  262. package/dist/components/menu/menu-item.cjs +30 -0
  263. package/dist/components/menu/menu-item.cjs.map +1 -0
  264. package/dist/components/menu/menu-item.d.ts +7 -0
  265. package/dist/components/menu/menu-item.d.ts.map +1 -0
  266. package/dist/components/menu/menu-item.js +28 -0
  267. package/dist/components/menu/menu-item.js.map +1 -0
  268. package/dist/components/menu/menu-misc.cjs +42 -0
  269. package/dist/components/menu/menu-misc.cjs.map +1 -0
  270. package/dist/components/menu/menu-misc.d.ts +8 -0
  271. package/dist/components/menu/menu-misc.d.ts.map +1 -0
  272. package/dist/components/menu/menu-misc.js +37 -0
  273. package/dist/components/menu/menu-misc.js.map +1 -0
  274. package/dist/components/menu/menu-root.cjs +103 -0
  275. package/dist/components/menu/menu-root.cjs.map +1 -0
  276. package/dist/components/menu/menu-root.d.ts +71 -0
  277. package/dist/components/menu/menu-root.d.ts.map +1 -0
  278. package/dist/components/menu/menu-root.js +98 -0
  279. package/dist/components/menu/menu-root.js.map +1 -0
  280. package/dist/components/menu/menu-trigger.cjs +43 -0
  281. package/dist/components/menu/menu-trigger.cjs.map +1 -0
  282. package/dist/components/menu/menu-trigger.d.ts +11 -0
  283. package/dist/components/menu/menu-trigger.d.ts.map +1 -0
  284. package/dist/components/menu/menu-trigger.js +40 -0
  285. package/dist/components/menu/menu-trigger.js.map +1 -0
  286. package/dist/components/menu/menu.cjs +23 -0
  287. package/dist/components/menu/menu.cjs.map +1 -0
  288. package/dist/components/menu/menu.d.ts +21 -0
  289. package/dist/components/menu/menu.d.ts.map +1 -0
  290. package/dist/components/menu/menu.js +21 -0
  291. package/dist/components/menu/menu.js.map +1 -0
  292. package/dist/components/menu/menu.module.css.cjs +8 -0
  293. package/dist/components/menu/menu.module.css.cjs.map +1 -0
  294. package/dist/components/menu/menu.module.css.js +4 -0
  295. package/dist/components/menu/menu.module.css.js.map +1 -0
  296. package/dist/components/menu/utils.cjs +53 -0
  297. package/dist/components/menu/utils.cjs.map +1 -0
  298. package/dist/components/menu/utils.d.ts +8 -0
  299. package/dist/components/menu/utils.d.ts.map +1 -0
  300. package/dist/components/menu/utils.js +46 -0
  301. package/dist/components/menu/utils.js.map +1 -0
  302. package/dist/components/popover/popover.cjs +8 -7
  303. package/dist/components/popover/popover.cjs.map +1 -1
  304. package/dist/components/popover/popover.d.ts +6 -8
  305. package/dist/components/popover/popover.d.ts.map +1 -1
  306. package/dist/components/popover/popover.js +7 -6
  307. package/dist/components/popover/popover.js.map +1 -1
  308. package/dist/components/popover/popover.module.css.cjs +1 -1
  309. package/dist/components/popover/popover.module.css.js +1 -1
  310. package/dist/components/preview-card/__tests__/preview-card.test.d.ts +2 -0
  311. package/dist/components/preview-card/__tests__/preview-card.test.d.ts.map +1 -0
  312. package/dist/components/preview-card/index.d.ts +2 -0
  313. package/dist/components/preview-card/index.d.ts.map +1 -0
  314. package/dist/components/preview-card/preview-card.cjs +24 -0
  315. package/dist/components/preview-card/preview-card.cjs.map +1 -0
  316. package/dist/components/preview-card/preview-card.d.ts +15 -0
  317. package/dist/components/preview-card/preview-card.d.ts.map +1 -0
  318. package/dist/components/preview-card/preview-card.js +22 -0
  319. package/dist/components/preview-card/preview-card.js.map +1 -0
  320. package/dist/components/preview-card/preview-card.module.css.cjs +8 -0
  321. package/dist/components/preview-card/preview-card.module.css.cjs.map +1 -0
  322. package/dist/components/preview-card/preview-card.module.css.js +4 -0
  323. package/dist/components/preview-card/preview-card.module.css.js.map +1 -0
  324. package/dist/components/radio/index.d.ts +1 -1
  325. package/dist/components/radio/radio.cjs +8 -11
  326. package/dist/components/radio/radio.cjs.map +1 -1
  327. package/dist/components/radio/radio.d.ts +4 -13
  328. package/dist/components/radio/radio.d.ts.map +1 -1
  329. package/dist/components/radio/radio.js +10 -12
  330. package/dist/components/radio/radio.js.map +1 -1
  331. package/dist/components/scroll-area/index.d.ts +2 -1
  332. package/dist/components/scroll-area/index.d.ts.map +1 -1
  333. package/dist/components/scroll-area/scroll-area-scrollbar.cjs +4 -4
  334. package/dist/components/scroll-area/scroll-area-scrollbar.cjs.map +1 -1
  335. package/dist/components/scroll-area/scroll-area-scrollbar.d.ts +5 -6
  336. package/dist/components/scroll-area/scroll-area-scrollbar.d.ts.map +1 -1
  337. package/dist/components/scroll-area/scroll-area-scrollbar.js +4 -4
  338. package/dist/components/scroll-area/scroll-area-scrollbar.js.map +1 -1
  339. package/dist/components/scroll-area/scroll-area.cjs +11 -2
  340. package/dist/components/scroll-area/scroll-area.cjs.map +1 -1
  341. package/dist/components/scroll-area/scroll-area.d.ts +6 -1
  342. package/dist/components/scroll-area/scroll-area.d.ts.map +1 -1
  343. package/dist/components/scroll-area/scroll-area.js +11 -2
  344. package/dist/components/scroll-area/scroll-area.js.map +1 -1
  345. package/dist/components/scroll-area/scroll-area.module.css.cjs +1 -1
  346. package/dist/components/scroll-area/scroll-area.module.css.js +1 -1
  347. package/dist/components/select/select-content.cjs +9 -18
  348. package/dist/components/select/select-content.cjs.map +1 -1
  349. package/dist/components/select/select-content.d.ts +6 -2
  350. package/dist/components/select/select-content.d.ts.map +1 -1
  351. package/dist/components/select/select-content.js +11 -20
  352. package/dist/components/select/select-content.js.map +1 -1
  353. package/dist/components/select/select-item.cjs +10 -11
  354. package/dist/components/select/select-item.cjs.map +1 -1
  355. package/dist/components/select/select-item.d.ts +9 -4
  356. package/dist/components/select/select-item.d.ts.map +1 -1
  357. package/dist/components/select/select-item.js +10 -11
  358. package/dist/components/select/select-item.js.map +1 -1
  359. package/dist/components/select/select-misc.cjs +19 -10
  360. package/dist/components/select/select-misc.cjs.map +1 -1
  361. package/dist/components/select/select-misc.d.ts +15 -4
  362. package/dist/components/select/select-misc.d.ts.map +1 -1
  363. package/dist/components/select/select-misc.js +19 -10
  364. package/dist/components/select/select-misc.js.map +1 -1
  365. package/dist/components/select/select-multiple-value.cjs +3 -7
  366. package/dist/components/select/select-multiple-value.cjs.map +1 -1
  367. package/dist/components/select/select-multiple-value.d.ts +2 -3
  368. package/dist/components/select/select-multiple-value.d.ts.map +1 -1
  369. package/dist/components/select/select-multiple-value.js +5 -9
  370. package/dist/components/select/select-multiple-value.js.map +1 -1
  371. package/dist/components/select/select-root.cjs +51 -66
  372. package/dist/components/select/select-root.cjs.map +1 -1
  373. package/dist/components/select/select-root.d.ts +11 -15
  374. package/dist/components/select/select-root.d.ts.map +1 -1
  375. package/dist/components/select/select-root.js +52 -67
  376. package/dist/components/select/select-root.js.map +1 -1
  377. package/dist/components/select/select-trigger.cjs +7 -4
  378. package/dist/components/select/select-trigger.cjs.map +1 -1
  379. package/dist/components/select/select-trigger.d.ts +2 -3
  380. package/dist/components/select/select-trigger.d.ts.map +1 -1
  381. package/dist/components/select/select-trigger.js +7 -4
  382. package/dist/components/select/select-trigger.js.map +1 -1
  383. package/dist/components/select/select-value.cjs +17 -8
  384. package/dist/components/select/select-value.cjs.map +1 -1
  385. package/dist/components/select/select-value.d.ts +6 -4
  386. package/dist/components/select/select-value.d.ts.map +1 -1
  387. package/dist/components/select/select-value.js +17 -8
  388. package/dist/components/select/select-value.js.map +1 -1
  389. package/dist/components/select/select.cjs +4 -4
  390. package/dist/components/select/select.cjs.map +1 -1
  391. package/dist/components/select/select.d.ts +10 -11
  392. package/dist/components/select/select.d.ts.map +1 -1
  393. package/dist/components/select/select.js +4 -4
  394. package/dist/components/select/select.js.map +1 -1
  395. package/dist/components/select/select.module.css.cjs +1 -1
  396. package/dist/components/select/select.module.css.js +1 -1
  397. package/dist/components/separator/separator.cjs +3 -3
  398. package/dist/components/separator/separator.cjs.map +1 -1
  399. package/dist/components/separator/separator.d.ts +3 -5
  400. package/dist/components/separator/separator.d.ts.map +1 -1
  401. package/dist/components/separator/separator.js +3 -3
  402. package/dist/components/separator/separator.js.map +1 -1
  403. package/dist/components/sidebar/sidebar-item.cjs +7 -4
  404. package/dist/components/sidebar/sidebar-item.cjs.map +1 -1
  405. package/dist/components/sidebar/sidebar-item.d.ts.map +1 -1
  406. package/dist/components/sidebar/sidebar-item.js +7 -4
  407. package/dist/components/sidebar/sidebar-item.js.map +1 -1
  408. package/dist/components/sidebar/sidebar-misc.cjs +1 -1
  409. package/dist/components/sidebar/sidebar-misc.cjs.map +1 -1
  410. package/dist/components/sidebar/sidebar-misc.js +1 -1
  411. package/dist/components/sidebar/sidebar-misc.js.map +1 -1
  412. package/dist/components/sidebar/sidebar-root.cjs +4 -5
  413. package/dist/components/sidebar/sidebar-root.cjs.map +1 -1
  414. package/dist/components/sidebar/sidebar-root.d.ts +5 -3
  415. package/dist/components/sidebar/sidebar-root.d.ts.map +1 -1
  416. package/dist/components/sidebar/sidebar-root.js +4 -5
  417. package/dist/components/sidebar/sidebar-root.js.map +1 -1
  418. package/dist/components/sidebar/sidebar.d.ts +1 -1
  419. package/dist/components/sidebar/sidebar.module.css.cjs +1 -1
  420. package/dist/components/sidebar/sidebar.module.css.js +1 -1
  421. package/dist/components/slider/index.d.ts +1 -1
  422. package/dist/components/slider/slider.cjs +10 -22
  423. package/dist/components/slider/slider.cjs.map +1 -1
  424. package/dist/components/slider/slider.d.ts +6 -13
  425. package/dist/components/slider/slider.d.ts.map +1 -1
  426. package/dist/components/slider/slider.js +12 -24
  427. package/dist/components/slider/slider.js.map +1 -1
  428. package/dist/components/slider/slider.module.css.cjs +1 -1
  429. package/dist/components/slider/slider.module.css.js +1 -1
  430. package/dist/components/switch/switch.cjs +2 -3
  431. package/dist/components/switch/switch.cjs.map +1 -1
  432. package/dist/components/switch/switch.d.ts +4 -5
  433. package/dist/components/switch/switch.d.ts.map +1 -1
  434. package/dist/components/switch/switch.js +4 -5
  435. package/dist/components/switch/switch.js.map +1 -1
  436. package/dist/components/tabs/index.d.ts +1 -1
  437. package/dist/components/tabs/tabs.cjs +10 -14
  438. package/dist/components/tabs/tabs.cjs.map +1 -1
  439. package/dist/components/tabs/tabs.d.ts +7 -14
  440. package/dist/components/tabs/tabs.d.ts.map +1 -1
  441. package/dist/components/tabs/tabs.js +11 -15
  442. package/dist/components/tabs/tabs.js.map +1 -1
  443. package/dist/components/tabs/tabs.module.css.cjs +1 -1
  444. package/dist/components/tabs/tabs.module.css.js +1 -1
  445. package/dist/components/text/text.d.ts +1 -1
  446. package/dist/components/toast/index.d.ts +3 -1
  447. package/dist/components/toast/index.d.ts.map +1 -1
  448. package/dist/components/toast/toast-manager.cjs +9 -0
  449. package/dist/components/toast/toast-manager.cjs.map +1 -0
  450. package/dist/components/toast/toast-manager.d.ts +2 -0
  451. package/dist/components/toast/toast-manager.d.ts.map +1 -0
  452. package/dist/components/toast/toast-manager.js +7 -0
  453. package/dist/components/toast/toast-manager.js.map +1 -0
  454. package/dist/components/toast/toast-provider.cjs +22 -0
  455. package/dist/components/toast/toast-provider.cjs.map +1 -0
  456. package/dist/components/toast/toast-provider.d.ts +11 -0
  457. package/dist/components/toast/toast-provider.d.ts.map +1 -0
  458. package/dist/components/toast/toast-provider.js +20 -0
  459. package/dist/components/toast/toast-provider.js.map +1 -0
  460. package/dist/components/toast/toast-root.cjs +34 -0
  461. package/dist/components/toast/toast-root.cjs.map +1 -0
  462. package/dist/components/toast/toast-root.d.ts +8 -0
  463. package/dist/components/toast/toast-root.d.ts.map +1 -0
  464. package/dist/components/toast/toast-root.js +32 -0
  465. package/dist/components/toast/toast-root.js.map +1 -0
  466. package/dist/components/toast/toast.cjs +11 -25
  467. package/dist/components/toast/toast.cjs.map +1 -1
  468. package/dist/components/toast/toast.d.ts +6 -8
  469. package/dist/components/toast/toast.d.ts.map +1 -1
  470. package/dist/components/toast/toast.js +10 -24
  471. package/dist/components/toast/toast.js.map +1 -1
  472. package/dist/components/toast/toast.module.css.cjs +1 -1
  473. package/dist/components/toast/toast.module.css.js +1 -1
  474. package/dist/components/tooltip/tooltip-content.cjs +17 -0
  475. package/dist/components/tooltip/tooltip-content.cjs.map +1 -0
  476. package/dist/components/tooltip/tooltip-content.d.ts +10 -0
  477. package/dist/components/tooltip/tooltip-content.d.ts.map +1 -0
  478. package/dist/components/tooltip/tooltip-content.js +15 -0
  479. package/dist/components/tooltip/tooltip-content.js.map +1 -0
  480. package/dist/components/tooltip/tooltip-misc.cjs +19 -0
  481. package/dist/components/tooltip/tooltip-misc.cjs.map +1 -0
  482. package/dist/components/tooltip/tooltip-misc.d.ts +9 -0
  483. package/dist/components/tooltip/tooltip-misc.d.ts.map +1 -0
  484. package/dist/components/tooltip/tooltip-misc.js +16 -0
  485. package/dist/components/tooltip/tooltip-misc.js.map +1 -0
  486. package/dist/components/tooltip/tooltip.cjs +7 -4
  487. package/dist/components/tooltip/tooltip.cjs.map +1 -1
  488. package/dist/components/tooltip/tooltip.d.ts +8 -5
  489. package/dist/components/tooltip/tooltip.d.ts.map +1 -1
  490. package/dist/components/tooltip/tooltip.js +7 -4
  491. package/dist/components/tooltip/tooltip.js.map +1 -1
  492. package/dist/components/tooltip/tooltip.module.css.cjs +1 -1
  493. package/dist/components/tooltip/tooltip.module.css.js +1 -1
  494. package/dist/index.cjs +14 -8
  495. package/dist/index.cjs.map +1 -1
  496. package/dist/index.d.ts +6 -4
  497. package/dist/index.d.ts.map +1 -1
  498. package/dist/index.js +8 -4
  499. package/dist/index.js.map +1 -1
  500. package/dist/style.css +1 -1
  501. package/package.json +5 -7
  502. package/dist/components/dropdown-menu/__tests__/dropdown-menu.test.d.ts +0 -2
  503. package/dist/components/dropdown-menu/__tests__/dropdown-menu.test.d.ts.map +0 -1
  504. package/dist/components/dropdown-menu/cell.cjs +0 -12
  505. package/dist/components/dropdown-menu/cell.cjs.map +0 -1
  506. package/dist/components/dropdown-menu/cell.d.ts.map +0 -1
  507. package/dist/components/dropdown-menu/cell.js +0 -10
  508. package/dist/components/dropdown-menu/cell.js.map +0 -1
  509. package/dist/components/dropdown-menu/cell.module.css.js +0 -4
  510. package/dist/components/dropdown-menu/dropdown-menu-content.cjs +0 -36
  511. package/dist/components/dropdown-menu/dropdown-menu-content.cjs.map +0 -1
  512. package/dist/components/dropdown-menu/dropdown-menu-content.d.ts +0 -7
  513. package/dist/components/dropdown-menu/dropdown-menu-content.d.ts.map +0 -1
  514. package/dist/components/dropdown-menu/dropdown-menu-content.js +0 -34
  515. package/dist/components/dropdown-menu/dropdown-menu-content.js.map +0 -1
  516. package/dist/components/dropdown-menu/dropdown-menu-item.cjs +0 -45
  517. package/dist/components/dropdown-menu/dropdown-menu-item.cjs.map +0 -1
  518. package/dist/components/dropdown-menu/dropdown-menu-item.d.ts +0 -9
  519. package/dist/components/dropdown-menu/dropdown-menu-item.d.ts.map +0 -1
  520. package/dist/components/dropdown-menu/dropdown-menu-item.js +0 -43
  521. package/dist/components/dropdown-menu/dropdown-menu-item.js.map +0 -1
  522. package/dist/components/dropdown-menu/dropdown-menu-misc.cjs +0 -36
  523. package/dist/components/dropdown-menu/dropdown-menu-misc.cjs.map +0 -1
  524. package/dist/components/dropdown-menu/dropdown-menu-misc.d.ts +0 -10
  525. package/dist/components/dropdown-menu/dropdown-menu-misc.d.ts.map +0 -1
  526. package/dist/components/dropdown-menu/dropdown-menu-misc.js +0 -31
  527. package/dist/components/dropdown-menu/dropdown-menu-misc.js.map +0 -1
  528. package/dist/components/dropdown-menu/dropdown-menu-root.cjs +0 -52
  529. package/dist/components/dropdown-menu/dropdown-menu-root.cjs.map +0 -1
  530. package/dist/components/dropdown-menu/dropdown-menu-root.d.ts +0 -40
  531. package/dist/components/dropdown-menu/dropdown-menu-root.d.ts.map +0 -1
  532. package/dist/components/dropdown-menu/dropdown-menu-root.js +0 -48
  533. package/dist/components/dropdown-menu/dropdown-menu-root.js.map +0 -1
  534. package/dist/components/dropdown-menu/dropdown-menu-trigger.cjs +0 -34
  535. package/dist/components/dropdown-menu/dropdown-menu-trigger.cjs.map +0 -1
  536. package/dist/components/dropdown-menu/dropdown-menu-trigger.d.ts +0 -14
  537. package/dist/components/dropdown-menu/dropdown-menu-trigger.d.ts.map +0 -1
  538. package/dist/components/dropdown-menu/dropdown-menu-trigger.js +0 -31
  539. package/dist/components/dropdown-menu/dropdown-menu-trigger.js.map +0 -1
  540. package/dist/components/dropdown-menu/dropdown-menu.cjs +0 -24
  541. package/dist/components/dropdown-menu/dropdown-menu.cjs.map +0 -1
  542. package/dist/components/dropdown-menu/dropdown-menu.d.ts +0 -16
  543. package/dist/components/dropdown-menu/dropdown-menu.d.ts.map +0 -1
  544. package/dist/components/dropdown-menu/dropdown-menu.js +0 -22
  545. package/dist/components/dropdown-menu/dropdown-menu.js.map +0 -1
  546. package/dist/components/dropdown-menu/dropdown-menu.module.css.cjs +0 -8
  547. package/dist/components/dropdown-menu/dropdown-menu.module.css.cjs.map +0 -1
  548. package/dist/components/dropdown-menu/dropdown-menu.module.css.js +0 -4
  549. package/dist/components/dropdown-menu/dropdown-menu.module.css.js.map +0 -1
  550. package/dist/components/dropdown-menu/index.d.ts +0 -2
  551. package/dist/components/dropdown-menu/index.d.ts.map +0 -1
  552. package/dist/components/dropdown-menu/types.d.ts +0 -4
  553. package/dist/components/dropdown-menu/types.d.ts.map +0 -1
  554. package/dist/components/dropdown-menu/utils.cjs +0 -21
  555. package/dist/components/dropdown-menu/utils.cjs.map +0 -1
  556. package/dist/components/dropdown-menu/utils.d.ts +0 -4
  557. package/dist/components/dropdown-menu/utils.d.ts.map +0 -1
  558. package/dist/components/dropdown-menu/utils.js +0 -18
  559. package/dist/components/dropdown-menu/utils.js.map +0 -1
  560. package/dist/components/scroll-area/scroll-area-root.cjs +0 -17
  561. package/dist/components/scroll-area/scroll-area-root.cjs.map +0 -1
  562. package/dist/components/scroll-area/scroll-area-root.d.ts +0 -9
  563. package/dist/components/scroll-area/scroll-area-root.d.ts.map +0 -1
  564. package/dist/components/scroll-area/scroll-area-root.js +0 -15
  565. package/dist/components/scroll-area/scroll-area-root.js.map +0 -1
  566. package/dist/components/sheet/__tests__/sheet.test.d.ts +0 -2
  567. package/dist/components/sheet/__tests__/sheet.test.d.ts.map +0 -1
  568. package/dist/components/sheet/index.d.ts +0 -2
  569. package/dist/components/sheet/index.d.ts.map +0 -1
  570. package/dist/components/sheet/sheet.cjs +0 -50
  571. package/dist/components/sheet/sheet.cjs.map +0 -1
  572. package/dist/components/sheet/sheet.d.ts +0 -36
  573. package/dist/components/sheet/sheet.d.ts.map +0 -1
  574. package/dist/components/sheet/sheet.js +0 -45
  575. package/dist/components/sheet/sheet.js.map +0 -1
  576. package/dist/components/sheet/sheet.module.css.cjs +0 -8
  577. package/dist/components/sheet/sheet.module.css.cjs.map +0 -1
  578. package/dist/components/sheet/sheet.module.css.js +0 -4
  579. package/dist/components/sheet/sheet.module.css.js.map +0 -1
  580. package/dist/components/slider/thumb.cjs +0 -8
  581. package/dist/components/slider/thumb.cjs.map +0 -1
  582. package/dist/components/slider/thumb.d.ts +0 -2
  583. package/dist/components/slider/thumb.d.ts.map +0 -1
  584. package/dist/components/slider/thumb.js +0 -6
  585. package/dist/components/slider/thumb.js.map +0 -1
  586. package/dist/components/tooltip/tooltip-provider.cjs +0 -18
  587. package/dist/components/tooltip/tooltip-provider.cjs.map +0 -1
  588. package/dist/components/tooltip/tooltip-provider.d.ts +0 -9
  589. package/dist/components/tooltip/tooltip-provider.d.ts.map +0 -1
  590. package/dist/components/tooltip/tooltip-provider.js +0 -15
  591. package/dist/components/tooltip/tooltip-provider.js.map +0 -1
  592. package/dist/components/tooltip/tooltip-root.cjs +0 -66
  593. package/dist/components/tooltip/tooltip-root.cjs.map +0 -1
  594. package/dist/components/tooltip/tooltip-root.d.ts +0 -29
  595. package/dist/components/tooltip/tooltip-root.d.ts.map +0 -1
  596. package/dist/components/tooltip/tooltip-root.js +0 -63
  597. package/dist/components/tooltip/tooltip-root.js.map +0 -1
  598. package/dist/components/tooltip/utils.cjs +0 -30
  599. package/dist/components/tooltip/utils.cjs.map +0 -1
  600. package/dist/components/tooltip/utils.d.ts +0 -10
  601. package/dist/components/tooltip/utils.d.ts.map +0 -1
  602. package/dist/components/tooltip/utils.js +0 -28
  603. package/dist/components/tooltip/utils.js.map +0 -1
  604. /package/dist/components/{dropdown-menu → menu}/cell.module.css.cjs.map +0 -0
  605. /package/dist/components/{dropdown-menu → menu}/cell.module.css.js.map +0 -0
@@ -1,10 +1,10 @@
1
- import { HTMLAttributes, ReactNode } from "react";
1
+ import { HTMLAttributes, ReactNode } from 'react';
2
2
  export type CellBaseProps = {
3
3
  leadingIcon?: ReactNode;
4
4
  trailingIcon?: ReactNode;
5
5
  };
6
6
  export type CellProps = HTMLAttributes<HTMLDivElement> & CellBaseProps & {
7
- type?: "select" | "item";
7
+ type?: 'select' | 'item';
8
8
  };
9
9
  export declare const Cell: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & CellBaseProps & {
10
10
  type?: "select" | "item" | undefined;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cell.d.ts","sourceRoot":"","sources":["../../../components/menu/cell.tsx"],"names":[],"mappings":"AACA,OAAO,EAAc,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAG9D,MAAM,MAAM,aAAa,GAAG;IAC1B,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,YAAY,CAAC,EAAE,SAAS,CAAC;CAC1B,CAAC;AACF,MAAM,MAAM,SAAS,GAAG,cAAc,CAAC,cAAc,CAAC,GACpD,aAAa,GAAG;IACd,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;CAC1B,CAAC;AAEJ,eAAO,MAAM,IAAI;;kDAahB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { cx } from 'class-variance-authority';
3
+ import { forwardRef } from 'react';
4
+ import styles from './cell.module.css.js';
5
+
6
+ const Cell = forwardRef(({ className, children, leadingIcon, trailingIcon, type = 'item', ...props }, ref) => (jsxs("div", { ref: ref, ...props, className: cx(styles.cell, className), children: [leadingIcon && jsx("span", { className: styles.leadingIcon, children: leadingIcon }), children, trailingIcon && (jsx("span", { className: styles.trailingIcon, children: trailingIcon }))] })));
7
+ Cell.displayName = 'Menu.Cell';
8
+
9
+ export { Cell };
10
+ //# sourceMappingURL=cell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cell.js","sources":["../../../components/menu/cell.tsx"],"sourcesContent":["import { cx } from 'class-variance-authority';\nimport { forwardRef, HTMLAttributes, ReactNode } from 'react';\nimport styles from './cell.module.css';\n\nexport type CellBaseProps = {\n leadingIcon?: ReactNode;\n trailingIcon?: ReactNode;\n};\nexport type CellProps = HTMLAttributes<HTMLDivElement> &\n CellBaseProps & {\n type?: 'select' | 'item';\n };\n\nexport const Cell = forwardRef<HTMLDivElement, CellProps>(\n (\n { className, children, leadingIcon, trailingIcon, type = 'item', ...props },\n ref\n ) => (\n <div ref={ref} {...props} className={cx(styles.cell, className)}>\n {leadingIcon && <span className={styles.leadingIcon}>{leadingIcon}</span>}\n {children}\n {trailingIcon && (\n <span className={styles.trailingIcon}>{trailingIcon}</span>\n )}\n </div>\n )\n);\nCell.displayName = 'Menu.Cell';\n"],"names":["_jsxs","_jsx"],"mappings":";;;;;AAaa,MAAA,IAAI,GAAG,UAAU,CAC5B,CACE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,GAAG,MAAM,EAAE,GAAG,KAAK,EAAE,EAC3E,GAAG,MAEHA,IAAA,CAAA,KAAA,EAAA,EAAK,GAAG,EAAE,GAAG,EAAM,GAAA,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,EAC5D,QAAA,EAAA,CAAA,WAAW,IAAIC,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAE,MAAM,CAAC,WAAW,YAAG,WAAW,EAAA,CAAQ,EACxE,QAAQ,EACR,YAAY,KACXA,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAE,MAAM,CAAC,YAAY,YAAG,YAAY,EAAA,CAAQ,CAC5D,CACG,EAAA,CAAA,CACP,EACD;AACF,IAAI,CAAC,WAAW,GAAG,WAAW;;;;"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var styles = {"cell":"cell-module_cell__S6yRs","leadingIcon":"cell-module_leadingIcon__2uCcQ","trailingIcon":"cell-module_trailingIcon__NUfVO"};
5
+ var styles = {"cell":"cell-module_cell__CFvDx","leadingIcon":"cell-module_leadingIcon__-xf2e","trailingIcon":"cell-module_trailingIcon__IJxNx"};
6
6
 
7
7
  exports.default = styles;
8
8
  //# sourceMappingURL=cell.module.css.cjs.map
@@ -0,0 +1,4 @@
1
+ var styles = {"cell":"cell-module_cell__CFvDx","leadingIcon":"cell-module_leadingIcon__-xf2e","trailingIcon":"cell-module_trailingIcon__IJxNx"};
2
+
3
+ export { styles as default };
4
+ //# sourceMappingURL=cell.module.css.js.map
@@ -0,0 +1,2 @@
1
+ export { Menu } from './menu';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../components/menu/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC"}
@@ -0,0 +1,95 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+ var react = require('@base-ui/react');
6
+ var classVarianceAuthority = require('class-variance-authority');
7
+ var React = require('react');
8
+ var menu_module = require('./menu.module.css.cjs');
9
+ var menuRoot = require('./menu-root.cjs');
10
+ var utils = require('./utils.cjs');
11
+
12
+ const MenuContent = React.forwardRef(({ className, children, searchPlaceholder = 'Search...', render, finalFocus, style, sideOffset = 4, align = 'start', onFocus, ...positionerProps }, ref) => {
13
+ const { autocomplete, inputValue, onInputValueChange, inputRef, isInitialRender, parent } = menuRoot.useMenuContext();
14
+ const focusInput = React.useCallback(() => {
15
+ if (document?.activeElement !== inputRef?.current)
16
+ inputRef?.current?.focus();
17
+ }, [inputRef]);
18
+ const highlightedItem = React.useRef([-1, 'none']);
19
+ const containerRef = React.useRef(null);
20
+ const highlightFirstItem = React.useCallback(() => {
21
+ if (!isInitialRender?.current)
22
+ return;
23
+ isInitialRender.current = false;
24
+ const item = containerRef.current?.querySelector('[role="option"]');
25
+ if (!item)
26
+ return;
27
+ item.dispatchEvent(new PointerEvent('mousemove', { bubbles: true }));
28
+ }, [isInitialRender]);
29
+ const checkAndOpenSubMenu = React.useCallback(() => {
30
+ if (highlightedItem.current[0] === -1)
31
+ return;
32
+ const items = containerRef.current?.querySelectorAll('[role="option"]');
33
+ const item = items?.[highlightedItem.current[0]];
34
+ if (!item || !utils.isElementSubMenuTrigger(item))
35
+ return;
36
+ utils.dispatchKeyboardEvent(item, utils.KEYCODES.ARROW_RIGHT);
37
+ }, []);
38
+ const checkAndCloseSubMenu = React.useCallback((e) => {
39
+ if (highlightedItem.current[0] === -1)
40
+ return;
41
+ const items = containerRef.current?.querySelectorAll('[role="option"]');
42
+ const item = items?.[highlightedItem.current[0]];
43
+ if (!item ||
44
+ !utils.isElementSubMenuTrigger(item) ||
45
+ !utils.isElementSubMenuOpen(item))
46
+ return;
47
+ utils.dispatchKeyboardEvent(item, utils.KEYCODES.ESCAPE);
48
+ e.stopPropagation();
49
+ }, []);
50
+ const blurStaleMenuItem = React.useCallback((index) => {
51
+ const items = containerRef.current?.querySelectorAll('[role="option"]');
52
+ const item = items?.[index];
53
+ if (!item ||
54
+ !utils.isElementSubMenuTrigger(item) ||
55
+ !utils.isElementSubMenuOpen(item))
56
+ return;
57
+ utils.dispatchKeyboardEvent(item, utils.KEYCODES.ESCAPE);
58
+ item.dispatchEvent(new PointerEvent('pointerout', { bubbles: true }));
59
+ }, []);
60
+ return (jsxRuntime.jsx(react.Menu.Portal, { children: jsxRuntime.jsx(react.Menu.Positioner, { className: menu_module.default.positioner, sideOffset: sideOffset, align: align, ...positionerProps, children: jsxRuntime.jsx(react.Menu.Popup, { ref: ref, className: classVarianceAuthority.cx(menu_module.default.content, autocomplete && menu_module.default.comboboxContainer, className), style: style, render: render, finalFocus: finalFocus, role: autocomplete ? 'dialog' : 'menu', onFocus: autocomplete || parent?.autocomplete
61
+ ? e => {
62
+ focusInput();
63
+ e.stopPropagation();
64
+ highlightFirstItem();
65
+ onFocus?.(e);
66
+ }
67
+ : undefined, children: autocomplete ? (jsxRuntime.jsxs(react.Autocomplete.Root, { inline: true, open: true, value: inputValue, onValueChange: (value) => onInputValueChange?.(value), autoHighlight: !!inputValue?.length, mode: 'none', loopFocus: false, onItemHighlighted: (value, eventDetails) => {
68
+ if (highlightedItem.current[1] === 'pointer' &&
69
+ eventDetails.reason === 'keyboard') {
70
+ // focus moved using keyboard after using pointer
71
+ blurStaleMenuItem(highlightedItem.current[0]);
72
+ }
73
+ highlightedItem.current = [
74
+ eventDetails.index,
75
+ eventDetails.reason
76
+ ];
77
+ }, children: [jsxRuntime.jsx(react.Autocomplete.Input, { placeholder: searchPlaceholder, className: menu_module.default.comboboxInput, ref: inputRef, onPointerEnter: e => {
78
+ focusInput();
79
+ }, onKeyDown: e => {
80
+ if (e.key === 'ArrowLeft')
81
+ return;
82
+ if (e.key === 'Escape')
83
+ return checkAndCloseSubMenu(e);
84
+ if (e.key === 'ArrowRight' || e.key === 'Enter')
85
+ checkAndOpenSubMenu();
86
+ e.stopPropagation();
87
+ }, tabIndex: -1 }), jsxRuntime.jsx(react.Autocomplete.List, { className: menu_module.default.comboboxContent, ref: containerRef, children: children })] })) : (children) }) }) }));
88
+ });
89
+ MenuContent.displayName = 'Menu.Content';
90
+ const MenuSubContent = React.forwardRef(({ ...props }, ref) => jsxRuntime.jsx(MenuContent, { ref: ref, sideOffset: 2, ...props }));
91
+ MenuSubContent.displayName = 'Menu.SubContent';
92
+
93
+ exports.MenuContent = MenuContent;
94
+ exports.MenuSubContent = MenuSubContent;
95
+ //# sourceMappingURL=menu-content.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu-content.cjs","sources":["../../../components/menu/menu-content.tsx"],"sourcesContent":["'use client';\n\nimport {\n Autocomplete as AutocompletePrimitive,\n Menu as MenuPrimitive\n} from '@base-ui/react';\nimport { cx } from 'class-variance-authority';\nimport { forwardRef, KeyboardEvent, useCallback, useRef } from 'react';\nimport styles from './menu.module.css';\nimport { useMenuContext } from './menu-root';\nimport {\n dispatchKeyboardEvent,\n isElementSubMenuOpen,\n isElementSubMenuTrigger,\n KEYCODES\n} from './utils';\n\nexport interface MenuContentProps\n extends Omit<\n MenuPrimitive.Positioner.Props,\n 'render' | 'className' | 'style'\n >,\n MenuPrimitive.Popup.Props {\n searchPlaceholder?: string;\n}\n\nexport const MenuContent = forwardRef<HTMLDivElement, MenuContentProps>(\n (\n {\n className,\n children,\n searchPlaceholder = 'Search...',\n render,\n finalFocus,\n style,\n sideOffset = 4,\n align = 'start',\n onFocus,\n ...positionerProps\n },\n ref\n ) => {\n const {\n autocomplete,\n inputValue,\n onInputValueChange,\n inputRef,\n isInitialRender,\n parent\n } = useMenuContext();\n\n const focusInput = useCallback(() => {\n if (document?.activeElement !== inputRef?.current)\n inputRef?.current?.focus();\n }, [inputRef]);\n const highlightedItem = useRef<\n [index: number, reason: 'keyboard' | 'pointer' | 'none']\n >([-1, 'none']);\n const containerRef = useRef<HTMLDivElement>(null);\n\n const highlightFirstItem = useCallback(() => {\n if (!isInitialRender?.current) return;\n isInitialRender.current = false;\n const item = containerRef.current?.querySelector('[role=\"option\"]');\n if (!item) return;\n item.dispatchEvent(new PointerEvent('mousemove', { bubbles: true }));\n }, [isInitialRender]);\n\n const checkAndOpenSubMenu = useCallback(() => {\n if (highlightedItem.current[0] === -1) return;\n const items = containerRef.current?.querySelectorAll('[role=\"option\"]');\n const item = items?.[highlightedItem.current[0]];\n if (!item || !isElementSubMenuTrigger(item)) return;\n dispatchKeyboardEvent(item, KEYCODES.ARROW_RIGHT);\n }, []);\n\n const checkAndCloseSubMenu = useCallback(\n (e: KeyboardEvent<HTMLInputElement>) => {\n if (highlightedItem.current[0] === -1) return;\n const items = containerRef.current?.querySelectorAll('[role=\"option\"]');\n const item = items?.[highlightedItem.current[0]];\n if (\n !item ||\n !isElementSubMenuTrigger(item) ||\n !isElementSubMenuOpen(item)\n )\n return;\n dispatchKeyboardEvent(item, KEYCODES.ESCAPE);\n e.stopPropagation();\n },\n []\n );\n\n const blurStaleMenuItem = useCallback((index: number) => {\n const items = containerRef.current?.querySelectorAll('[role=\"option\"]');\n const item = items?.[index];\n if (\n !item ||\n !isElementSubMenuTrigger(item) ||\n !isElementSubMenuOpen(item)\n )\n return;\n dispatchKeyboardEvent(item, KEYCODES.ESCAPE);\n item.dispatchEvent(new PointerEvent('pointerout', { bubbles: true }));\n }, []);\n\n return (\n <MenuPrimitive.Portal>\n <MenuPrimitive.Positioner\n className={styles.positioner}\n sideOffset={sideOffset}\n align={align}\n {...positionerProps}\n >\n <MenuPrimitive.Popup\n ref={ref}\n className={cx(\n styles.content,\n autocomplete && styles.comboboxContainer,\n className\n )}\n style={style}\n render={render}\n finalFocus={finalFocus}\n role={autocomplete ? 'dialog' : 'menu'}\n onFocus={\n autocomplete || parent?.autocomplete\n ? e => {\n focusInput();\n e.stopPropagation();\n highlightFirstItem();\n onFocus?.(e);\n }\n : undefined\n }\n >\n {autocomplete ? (\n <AutocompletePrimitive.Root\n inline\n open\n value={inputValue}\n onValueChange={(value: string) => onInputValueChange?.(value)}\n autoHighlight={!!inputValue?.length}\n mode='none'\n loopFocus={false}\n onItemHighlighted={(value, eventDetails) => {\n if (\n highlightedItem.current[1] === 'pointer' &&\n eventDetails.reason === 'keyboard'\n ) {\n // focus moved using keyboard after using pointer\n blurStaleMenuItem(highlightedItem.current[0]);\n }\n highlightedItem.current = [\n eventDetails.index,\n eventDetails.reason\n ];\n }}\n >\n <AutocompletePrimitive.Input\n placeholder={searchPlaceholder}\n className={styles.comboboxInput}\n ref={inputRef}\n onPointerEnter={e => {\n focusInput();\n }}\n onKeyDown={e => {\n if (e.key === 'ArrowLeft') return;\n if (e.key === 'Escape') return checkAndCloseSubMenu(e);\n if (e.key === 'ArrowRight' || e.key === 'Enter')\n checkAndOpenSubMenu();\n e.stopPropagation();\n }}\n tabIndex={-1}\n />\n <AutocompletePrimitive.List\n className={styles.comboboxContent}\n ref={containerRef}\n >\n {children}\n </AutocompletePrimitive.List>\n </AutocompletePrimitive.Root>\n ) : (\n children\n )}\n </MenuPrimitive.Popup>\n </MenuPrimitive.Positioner>\n </MenuPrimitive.Portal>\n );\n }\n);\nMenuContent.displayName = 'Menu.Content';\n\nexport const MenuSubContent = forwardRef<HTMLDivElement, MenuContentProps>(\n ({ ...props }, ref) => <MenuContent ref={ref} sideOffset={2} {...props} />\n);\nMenuSubContent.displayName = 'Menu.SubContent';\n"],"names":[],"mappings":";;;;;;;;;;;AA0Ba;AAgBT;AASA;AACE;AACE;AACJ;;AAIA;AAEA;;;AAEE;;AAEA;;AACA;AACF;AAEA;;;;AAGE;AACA;;AACA;;AAGF;;;;AAII;AACA;;;;AAMA;;;AAMJ;;AAEE;AACA;;;;AAMA;AACA;;AAGF;;AAsBgB;;AAEA;AACA;;;AAeF;AAEE;;;;;AAMA;AACA;;;AASA;AACF;AAEE;;AACA;AAAwB;;AAEtB;;AAEJ;AAiBhB;AAEF;AAEO;AAGP;;;"}
@@ -0,0 +1,7 @@
1
+ import { Menu as MenuPrimitive } from '@base-ui/react';
2
+ export interface MenuContentProps extends Omit<MenuPrimitive.Positioner.Props, 'render' | 'className' | 'style'>, MenuPrimitive.Popup.Props {
3
+ searchPlaceholder?: string;
4
+ }
5
+ export declare const MenuContent: import("react").ForwardRefExoticComponent<Omit<MenuContentProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
6
+ export declare const MenuSubContent: import("react").ForwardRefExoticComponent<Omit<MenuContentProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
7
+ //# sourceMappingURL=menu-content.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu-content.d.ts","sourceRoot":"","sources":["../../../components/menu/menu-content.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,IAAI,IAAI,aAAa,EACtB,MAAM,gBAAgB,CAAC;AAYxB,MAAM,WAAW,gBACf,SAAQ,IAAI,CACR,aAAa,CAAC,UAAU,CAAC,KAAK,EAC9B,QAAQ,GAAG,WAAW,GAAG,OAAO,CACjC,EACD,aAAa,CAAC,KAAK,CAAC,KAAK;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,eAAO,MAAM,WAAW,0HAoKvB,CAAC;AAGF,eAAO,MAAM,cAAc,0HAE1B,CAAC"}
@@ -0,0 +1,92 @@
1
+ "use client";
2
+ import { jsx, jsxs } from 'react/jsx-runtime';
3
+ import { Menu, Autocomplete } from '@base-ui/react';
4
+ import { cx } from 'class-variance-authority';
5
+ import { forwardRef, useCallback, useRef } from 'react';
6
+ import styles from './menu.module.css.js';
7
+ import { useMenuContext } from './menu-root.js';
8
+ import { isElementSubMenuTrigger, dispatchKeyboardEvent, isElementSubMenuOpen, KEYCODES } from './utils.js';
9
+
10
+ const MenuContent = forwardRef(({ className, children, searchPlaceholder = 'Search...', render, finalFocus, style, sideOffset = 4, align = 'start', onFocus, ...positionerProps }, ref) => {
11
+ const { autocomplete, inputValue, onInputValueChange, inputRef, isInitialRender, parent } = useMenuContext();
12
+ const focusInput = useCallback(() => {
13
+ if (document?.activeElement !== inputRef?.current)
14
+ inputRef?.current?.focus();
15
+ }, [inputRef]);
16
+ const highlightedItem = useRef([-1, 'none']);
17
+ const containerRef = useRef(null);
18
+ const highlightFirstItem = useCallback(() => {
19
+ if (!isInitialRender?.current)
20
+ return;
21
+ isInitialRender.current = false;
22
+ const item = containerRef.current?.querySelector('[role="option"]');
23
+ if (!item)
24
+ return;
25
+ item.dispatchEvent(new PointerEvent('mousemove', { bubbles: true }));
26
+ }, [isInitialRender]);
27
+ const checkAndOpenSubMenu = useCallback(() => {
28
+ if (highlightedItem.current[0] === -1)
29
+ return;
30
+ const items = containerRef.current?.querySelectorAll('[role="option"]');
31
+ const item = items?.[highlightedItem.current[0]];
32
+ if (!item || !isElementSubMenuTrigger(item))
33
+ return;
34
+ dispatchKeyboardEvent(item, KEYCODES.ARROW_RIGHT);
35
+ }, []);
36
+ const checkAndCloseSubMenu = useCallback((e) => {
37
+ if (highlightedItem.current[0] === -1)
38
+ return;
39
+ const items = containerRef.current?.querySelectorAll('[role="option"]');
40
+ const item = items?.[highlightedItem.current[0]];
41
+ if (!item ||
42
+ !isElementSubMenuTrigger(item) ||
43
+ !isElementSubMenuOpen(item))
44
+ return;
45
+ dispatchKeyboardEvent(item, KEYCODES.ESCAPE);
46
+ e.stopPropagation();
47
+ }, []);
48
+ const blurStaleMenuItem = useCallback((index) => {
49
+ const items = containerRef.current?.querySelectorAll('[role="option"]');
50
+ const item = items?.[index];
51
+ if (!item ||
52
+ !isElementSubMenuTrigger(item) ||
53
+ !isElementSubMenuOpen(item))
54
+ return;
55
+ dispatchKeyboardEvent(item, KEYCODES.ESCAPE);
56
+ item.dispatchEvent(new PointerEvent('pointerout', { bubbles: true }));
57
+ }, []);
58
+ return (jsx(Menu.Portal, { children: jsx(Menu.Positioner, { className: styles.positioner, sideOffset: sideOffset, align: align, ...positionerProps, children: jsx(Menu.Popup, { ref: ref, className: cx(styles.content, autocomplete && styles.comboboxContainer, className), style: style, render: render, finalFocus: finalFocus, role: autocomplete ? 'dialog' : 'menu', onFocus: autocomplete || parent?.autocomplete
59
+ ? e => {
60
+ focusInput();
61
+ e.stopPropagation();
62
+ highlightFirstItem();
63
+ onFocus?.(e);
64
+ }
65
+ : undefined, children: autocomplete ? (jsxs(Autocomplete.Root, { inline: true, open: true, value: inputValue, onValueChange: (value) => onInputValueChange?.(value), autoHighlight: !!inputValue?.length, mode: 'none', loopFocus: false, onItemHighlighted: (value, eventDetails) => {
66
+ if (highlightedItem.current[1] === 'pointer' &&
67
+ eventDetails.reason === 'keyboard') {
68
+ // focus moved using keyboard after using pointer
69
+ blurStaleMenuItem(highlightedItem.current[0]);
70
+ }
71
+ highlightedItem.current = [
72
+ eventDetails.index,
73
+ eventDetails.reason
74
+ ];
75
+ }, children: [jsx(Autocomplete.Input, { placeholder: searchPlaceholder, className: styles.comboboxInput, ref: inputRef, onPointerEnter: e => {
76
+ focusInput();
77
+ }, onKeyDown: e => {
78
+ if (e.key === 'ArrowLeft')
79
+ return;
80
+ if (e.key === 'Escape')
81
+ return checkAndCloseSubMenu(e);
82
+ if (e.key === 'ArrowRight' || e.key === 'Enter')
83
+ checkAndOpenSubMenu();
84
+ e.stopPropagation();
85
+ }, tabIndex: -1 }), jsx(Autocomplete.List, { className: styles.comboboxContent, ref: containerRef, children: children })] })) : (children) }) }) }));
86
+ });
87
+ MenuContent.displayName = 'Menu.Content';
88
+ const MenuSubContent = forwardRef(({ ...props }, ref) => jsx(MenuContent, { ref: ref, sideOffset: 2, ...props }));
89
+ MenuSubContent.displayName = 'Menu.SubContent';
90
+
91
+ export { MenuContent, MenuSubContent };
92
+ //# sourceMappingURL=menu-content.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu-content.js","sources":["../../../components/menu/menu-content.tsx"],"sourcesContent":["'use client';\n\nimport {\n Autocomplete as AutocompletePrimitive,\n Menu as MenuPrimitive\n} from '@base-ui/react';\nimport { cx } from 'class-variance-authority';\nimport { forwardRef, KeyboardEvent, useCallback, useRef } from 'react';\nimport styles from './menu.module.css';\nimport { useMenuContext } from './menu-root';\nimport {\n dispatchKeyboardEvent,\n isElementSubMenuOpen,\n isElementSubMenuTrigger,\n KEYCODES\n} from './utils';\n\nexport interface MenuContentProps\n extends Omit<\n MenuPrimitive.Positioner.Props,\n 'render' | 'className' | 'style'\n >,\n MenuPrimitive.Popup.Props {\n searchPlaceholder?: string;\n}\n\nexport const MenuContent = forwardRef<HTMLDivElement, MenuContentProps>(\n (\n {\n className,\n children,\n searchPlaceholder = 'Search...',\n render,\n finalFocus,\n style,\n sideOffset = 4,\n align = 'start',\n onFocus,\n ...positionerProps\n },\n ref\n ) => {\n const {\n autocomplete,\n inputValue,\n onInputValueChange,\n inputRef,\n isInitialRender,\n parent\n } = useMenuContext();\n\n const focusInput = useCallback(() => {\n if (document?.activeElement !== inputRef?.current)\n inputRef?.current?.focus();\n }, [inputRef]);\n const highlightedItem = useRef<\n [index: number, reason: 'keyboard' | 'pointer' | 'none']\n >([-1, 'none']);\n const containerRef = useRef<HTMLDivElement>(null);\n\n const highlightFirstItem = useCallback(() => {\n if (!isInitialRender?.current) return;\n isInitialRender.current = false;\n const item = containerRef.current?.querySelector('[role=\"option\"]');\n if (!item) return;\n item.dispatchEvent(new PointerEvent('mousemove', { bubbles: true }));\n }, [isInitialRender]);\n\n const checkAndOpenSubMenu = useCallback(() => {\n if (highlightedItem.current[0] === -1) return;\n const items = containerRef.current?.querySelectorAll('[role=\"option\"]');\n const item = items?.[highlightedItem.current[0]];\n if (!item || !isElementSubMenuTrigger(item)) return;\n dispatchKeyboardEvent(item, KEYCODES.ARROW_RIGHT);\n }, []);\n\n const checkAndCloseSubMenu = useCallback(\n (e: KeyboardEvent<HTMLInputElement>) => {\n if (highlightedItem.current[0] === -1) return;\n const items = containerRef.current?.querySelectorAll('[role=\"option\"]');\n const item = items?.[highlightedItem.current[0]];\n if (\n !item ||\n !isElementSubMenuTrigger(item) ||\n !isElementSubMenuOpen(item)\n )\n return;\n dispatchKeyboardEvent(item, KEYCODES.ESCAPE);\n e.stopPropagation();\n },\n []\n );\n\n const blurStaleMenuItem = useCallback((index: number) => {\n const items = containerRef.current?.querySelectorAll('[role=\"option\"]');\n const item = items?.[index];\n if (\n !item ||\n !isElementSubMenuTrigger(item) ||\n !isElementSubMenuOpen(item)\n )\n return;\n dispatchKeyboardEvent(item, KEYCODES.ESCAPE);\n item.dispatchEvent(new PointerEvent('pointerout', { bubbles: true }));\n }, []);\n\n return (\n <MenuPrimitive.Portal>\n <MenuPrimitive.Positioner\n className={styles.positioner}\n sideOffset={sideOffset}\n align={align}\n {...positionerProps}\n >\n <MenuPrimitive.Popup\n ref={ref}\n className={cx(\n styles.content,\n autocomplete && styles.comboboxContainer,\n className\n )}\n style={style}\n render={render}\n finalFocus={finalFocus}\n role={autocomplete ? 'dialog' : 'menu'}\n onFocus={\n autocomplete || parent?.autocomplete\n ? e => {\n focusInput();\n e.stopPropagation();\n highlightFirstItem();\n onFocus?.(e);\n }\n : undefined\n }\n >\n {autocomplete ? (\n <AutocompletePrimitive.Root\n inline\n open\n value={inputValue}\n onValueChange={(value: string) => onInputValueChange?.(value)}\n autoHighlight={!!inputValue?.length}\n mode='none'\n loopFocus={false}\n onItemHighlighted={(value, eventDetails) => {\n if (\n highlightedItem.current[1] === 'pointer' &&\n eventDetails.reason === 'keyboard'\n ) {\n // focus moved using keyboard after using pointer\n blurStaleMenuItem(highlightedItem.current[0]);\n }\n highlightedItem.current = [\n eventDetails.index,\n eventDetails.reason\n ];\n }}\n >\n <AutocompletePrimitive.Input\n placeholder={searchPlaceholder}\n className={styles.comboboxInput}\n ref={inputRef}\n onPointerEnter={e => {\n focusInput();\n }}\n onKeyDown={e => {\n if (e.key === 'ArrowLeft') return;\n if (e.key === 'Escape') return checkAndCloseSubMenu(e);\n if (e.key === 'ArrowRight' || e.key === 'Enter')\n checkAndOpenSubMenu();\n e.stopPropagation();\n }}\n tabIndex={-1}\n />\n <AutocompletePrimitive.List\n className={styles.comboboxContent}\n ref={containerRef}\n >\n {children}\n </AutocompletePrimitive.List>\n </AutocompletePrimitive.Root>\n ) : (\n children\n )}\n </MenuPrimitive.Popup>\n </MenuPrimitive.Positioner>\n </MenuPrimitive.Portal>\n );\n }\n);\nMenuContent.displayName = 'Menu.Content';\n\nexport const MenuSubContent = forwardRef<HTMLDivElement, MenuContentProps>(\n ({ ...props }, ref) => <MenuContent ref={ref} sideOffset={2} {...props} />\n);\nMenuSubContent.displayName = 'Menu.SubContent';\n"],"names":[],"mappings":";;;;;;;;;AA0Ba;AAgBT;AASA;AACE;AACE;AACJ;;AAIA;AAEA;;;AAEE;;AAEA;;AACA;AACF;AAEA;;;;AAGE;AACA;;AACA;;AAGF;;;;AAII;AACA;;;;AAMA;;;AAMJ;;AAEE;AACA;;;;AAMA;AACA;;AAGF;;AAsBgB;;AAEA;AACA;;;AAeF;AAEE;;;;;AAMA;AACA;;;AASA;AACF;AAEE;;AACA;AAAwB;;AAEtB;;AAEJ;AAiBhB;AAEF;AAEO;AAGP;;"}
@@ -0,0 +1,30 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+ var react = require('@base-ui/react');
6
+ var React = require('react');
7
+ var cell = require('./cell.cjs');
8
+ var menuRoot = require('./menu-root.cjs');
9
+ var utils = require('./utils.cjs');
10
+
11
+ const MenuItem = React.forwardRef(({ children, value, leadingIcon, trailingIcon, render, ...props }, ref) => {
12
+ const { autocomplete, inputValue, shouldFilter } = menuRoot.useMenuContext();
13
+ const cell$1 = render ?? (jsxRuntime.jsx(cell.Cell, { leadingIcon: leadingIcon, trailingIcon: trailingIcon }));
14
+ // In auto mode, hide items that don't match the search value
15
+ if (shouldFilter && !utils.getMatch(value, children, inputValue)) {
16
+ return null;
17
+ }
18
+ if (autocomplete) {
19
+ return (jsxRuntime.jsx(react.Autocomplete.Item, { ref: ref, value: value, render: jsxRuntime.jsx(react.Menu.Item, { render: cell$1 }), ...props, children: children }));
20
+ }
21
+ return (jsxRuntime.jsx(react.Menu.Item, { ref: ref, render: cell$1, ...props, onFocus: e => {
22
+ e.stopPropagation();
23
+ e.preventDefault();
24
+ e.preventBaseUIHandler();
25
+ }, children: children }));
26
+ });
27
+ MenuItem.displayName = 'Menu.Item';
28
+
29
+ exports.MenuItem = MenuItem;
30
+ //# sourceMappingURL=menu-item.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu-item.cjs","sources":["../../../components/menu/menu-item.tsx"],"sourcesContent":["'use client';\n\nimport {\n Autocomplete as AutocompletePrimitive,\n Menu as MenuPrimitive\n} from '@base-ui/react';\nimport { forwardRef } from 'react';\nimport { Cell, CellBaseProps } from './cell';\nimport { useMenuContext } from './menu-root';\nimport { getMatch } from './utils';\n\nexport interface MenuItemProps extends MenuPrimitive.Item.Props, CellBaseProps {\n value?: string;\n}\n\nexport const MenuItem = forwardRef<HTMLDivElement, MenuItemProps>(\n ({ children, value, leadingIcon, trailingIcon, render, ...props }, ref) => {\n const { autocomplete, inputValue, shouldFilter } = useMenuContext();\n\n const cell = render ?? (\n <Cell leadingIcon={leadingIcon} trailingIcon={trailingIcon} />\n );\n\n // In auto mode, hide items that don't match the search value\n if (shouldFilter && !getMatch(value, children, inputValue)) {\n return null;\n }\n\n if (autocomplete) {\n return (\n <AutocompletePrimitive.Item\n ref={ref}\n value={value}\n render={<MenuPrimitive.Item render={cell} />}\n {...props}\n >\n {children}\n </AutocompletePrimitive.Item>\n );\n }\n\n return (\n <MenuPrimitive.Item\n ref={ref}\n render={cell}\n {...props}\n onFocus={e => {\n e.stopPropagation();\n e.preventDefault();\n e.preventBaseUIHandler();\n }}\n >\n {children}\n </MenuPrimitive.Item>\n );\n }\n);\nMenuItem.displayName = 'Menu.Item';\n"],"names":[],"mappings":";;;;;;;;;;AAea;;AAIT;;AAKA;AACE;;;AAIA;;;;;;AAqBE;AAKN;AAEF;;"}
@@ -0,0 +1,7 @@
1
+ import { Menu as MenuPrimitive } from '@base-ui/react';
2
+ import { CellBaseProps } from './cell';
3
+ export interface MenuItemProps extends MenuPrimitive.Item.Props, CellBaseProps {
4
+ value?: string;
5
+ }
6
+ export declare const MenuItem: import("react").ForwardRefExoticComponent<Omit<MenuItemProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
7
+ //# sourceMappingURL=menu-item.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu-item.d.ts","sourceRoot":"","sources":["../../../components/menu/menu-item.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,IAAI,IAAI,aAAa,EACtB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAQ,aAAa,EAAE,MAAM,QAAQ,CAAC;AAI7C,MAAM,WAAW,aAAc,SAAQ,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,aAAa;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,QAAQ,uHAyCpB,CAAC"}
@@ -0,0 +1,28 @@
1
+ "use client";
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { Autocomplete, Menu } from '@base-ui/react';
4
+ import { forwardRef } from 'react';
5
+ import { Cell } from './cell.js';
6
+ import { useMenuContext } from './menu-root.js';
7
+ import { getMatch } from './utils.js';
8
+
9
+ const MenuItem = forwardRef(({ children, value, leadingIcon, trailingIcon, render, ...props }, ref) => {
10
+ const { autocomplete, inputValue, shouldFilter } = useMenuContext();
11
+ const cell = render ?? (jsx(Cell, { leadingIcon: leadingIcon, trailingIcon: trailingIcon }));
12
+ // In auto mode, hide items that don't match the search value
13
+ if (shouldFilter && !getMatch(value, children, inputValue)) {
14
+ return null;
15
+ }
16
+ if (autocomplete) {
17
+ return (jsx(Autocomplete.Item, { ref: ref, value: value, render: jsx(Menu.Item, { render: cell }), ...props, children: children }));
18
+ }
19
+ return (jsx(Menu.Item, { ref: ref, render: cell, ...props, onFocus: e => {
20
+ e.stopPropagation();
21
+ e.preventDefault();
22
+ e.preventBaseUIHandler();
23
+ }, children: children }));
24
+ });
25
+ MenuItem.displayName = 'Menu.Item';
26
+
27
+ export { MenuItem };
28
+ //# sourceMappingURL=menu-item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu-item.js","sources":["../../../components/menu/menu-item.tsx"],"sourcesContent":["'use client';\n\nimport {\n Autocomplete as AutocompletePrimitive,\n Menu as MenuPrimitive\n} from '@base-ui/react';\nimport { forwardRef } from 'react';\nimport { Cell, CellBaseProps } from './cell';\nimport { useMenuContext } from './menu-root';\nimport { getMatch } from './utils';\n\nexport interface MenuItemProps extends MenuPrimitive.Item.Props, CellBaseProps {\n value?: string;\n}\n\nexport const MenuItem = forwardRef<HTMLDivElement, MenuItemProps>(\n ({ children, value, leadingIcon, trailingIcon, render, ...props }, ref) => {\n const { autocomplete, inputValue, shouldFilter } = useMenuContext();\n\n const cell = render ?? (\n <Cell leadingIcon={leadingIcon} trailingIcon={trailingIcon} />\n );\n\n // In auto mode, hide items that don't match the search value\n if (shouldFilter && !getMatch(value, children, inputValue)) {\n return null;\n }\n\n if (autocomplete) {\n return (\n <AutocompletePrimitive.Item\n ref={ref}\n value={value}\n render={<MenuPrimitive.Item render={cell} />}\n {...props}\n >\n {children}\n </AutocompletePrimitive.Item>\n );\n }\n\n return (\n <MenuPrimitive.Item\n ref={ref}\n render={cell}\n {...props}\n onFocus={e => {\n e.stopPropagation();\n e.preventDefault();\n e.preventBaseUIHandler();\n }}\n >\n {children}\n </MenuPrimitive.Item>\n );\n }\n);\nMenuItem.displayName = 'Menu.Item';\n"],"names":[],"mappings":";;;;;;;;AAea;;AAIT;;AAKA;AACE;;;AAIA;;;;;;AAqBE;AAKN;AAEF;;"}
@@ -0,0 +1,42 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+ var menu = require('@base-ui/react/menu');
6
+ var classVarianceAuthority = require('class-variance-authority');
7
+ var React = require('react');
8
+ var menu_module = require('./menu.module.css.cjs');
9
+ var menuRoot = require('./menu-root.cjs');
10
+
11
+ const MenuGroup = React.forwardRef(({ className, children, ...props }, ref) => {
12
+ const { shouldFilter } = menuRoot.useMenuContext();
13
+ if (shouldFilter) {
14
+ return jsxRuntime.jsx(React.Fragment, { children: children });
15
+ }
16
+ return (jsxRuntime.jsx(menu.Menu.Group, { ref: ref, className: classVarianceAuthority.cx(className), ...props, children: children }));
17
+ });
18
+ MenuGroup.displayName = 'Menu.Group';
19
+ const MenuLabel = React.forwardRef(({ className, ...props }, ref) => {
20
+ const { shouldFilter } = menuRoot.useMenuContext();
21
+ if (shouldFilter) {
22
+ return null;
23
+ }
24
+ return (jsxRuntime.jsx(menu.Menu.GroupLabel, { ref: ref, className: classVarianceAuthority.cx(menu_module.default.label, className), ...props }));
25
+ });
26
+ MenuLabel.displayName = 'Menu.Label';
27
+ const MenuSeparator = React.forwardRef(({ className, ...props }, ref) => {
28
+ const { shouldFilter } = menuRoot.useMenuContext();
29
+ if (shouldFilter) {
30
+ return null;
31
+ }
32
+ return (jsxRuntime.jsx("div", { ref: ref, role: 'separator', className: classVarianceAuthority.cx(menu_module.default.separator, className), ...props }));
33
+ });
34
+ MenuSeparator.displayName = 'Menu.Separator';
35
+ const MenuEmptyState = React.forwardRef(({ className, children, ...props }, ref) => (jsxRuntime.jsx("div", { ref: ref, className: classVarianceAuthority.cx(menu_module.default.empty, className), ...props, children: children })));
36
+ MenuEmptyState.displayName = 'Menu.EmptyState';
37
+
38
+ exports.MenuEmptyState = MenuEmptyState;
39
+ exports.MenuGroup = MenuGroup;
40
+ exports.MenuLabel = MenuLabel;
41
+ exports.MenuSeparator = MenuSeparator;
42
+ //# sourceMappingURL=menu-misc.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu-misc.cjs","sources":["../../../components/menu/menu-misc.tsx"],"sourcesContent":["'use client';\n\nimport { Menu as MenuPrimitive } from '@base-ui/react/menu';\nimport { cx } from 'class-variance-authority';\nimport { Fragment, forwardRef, HTMLAttributes, ReactNode } from 'react';\nimport styles from './menu.module.css';\nimport { useMenuContext } from './menu-root';\n\nexport const MenuGroup = forwardRef<HTMLDivElement, MenuPrimitive.Group.Props>(\n ({ className, children, ...props }, ref) => {\n const { shouldFilter } = useMenuContext();\n\n if (shouldFilter) {\n return <Fragment>{children}</Fragment>;\n }\n\n return (\n <MenuPrimitive.Group ref={ref} className={cx(className)} {...props}>\n {children}\n </MenuPrimitive.Group>\n );\n }\n);\nMenuGroup.displayName = 'Menu.Group';\n\nexport const MenuLabel = forwardRef<\n HTMLDivElement,\n MenuPrimitive.GroupLabel.Props\n>(({ className, ...props }, ref) => {\n const { shouldFilter } = useMenuContext();\n\n if (shouldFilter) {\n return null;\n }\n\n return (\n <MenuPrimitive.GroupLabel\n ref={ref}\n className={cx(styles.label, className)}\n {...props}\n />\n );\n});\nMenuLabel.displayName = 'Menu.Label';\n\nexport const MenuSeparator = forwardRef<\n HTMLDivElement,\n HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => {\n const { shouldFilter } = useMenuContext();\n\n if (shouldFilter) {\n return null;\n }\n\n return (\n <div\n ref={ref}\n role='separator'\n className={cx(styles.separator, className)}\n {...props}\n />\n );\n});\nMenuSeparator.displayName = 'Menu.Separator';\n\nexport const MenuEmptyState = forwardRef<\n HTMLDivElement,\n HTMLAttributes<HTMLDivElement> & {\n children: ReactNode;\n }\n>(({ className, children, ...props }, ref) => (\n <div ref={ref} className={cx(styles.empty, className)} {...props}>\n {children}\n </div>\n));\nMenuEmptyState.displayName = 'Menu.EmptyState';\n"],"names":[],"mappings":";;;;;;;;;;AAQa;AAET;;AAGE;;;AAQJ;AAEF;AAEa;AAIX;;AAGE;;;AAUJ;AACA;AAEa;AAIX;;AAGE;;;AAWJ;AACA;AAEa;AAUb;;;;;"}
@@ -0,0 +1,8 @@
1
+ import { HTMLAttributes, ReactNode } from 'react';
2
+ export declare const MenuGroup: import("react").ForwardRefExoticComponent<Omit<import("@base-ui/react/menu").MenuGroupProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
3
+ export declare const MenuLabel: import("react").ForwardRefExoticComponent<Omit<import("@base-ui/react/menu").MenuGroupLabelProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
4
+ export declare const MenuSeparator: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
5
+ export declare const MenuEmptyState: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
6
+ children: ReactNode;
7
+ } & import("react").RefAttributes<HTMLDivElement>>;
8
+ //# sourceMappingURL=menu-misc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu-misc.d.ts","sourceRoot":"","sources":["../../../components/menu/menu-misc.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAwB,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIxE,eAAO,MAAM,SAAS,sJAcrB,CAAC;AAGF,eAAO,MAAM,SAAS,2JAiBpB,CAAC;AAGH,eAAO,MAAM,aAAa,2HAkBxB,CAAC;AAGH,eAAO,MAAM,cAAc;cAGb,SAAS;kDAMrB,CAAC"}
@@ -0,0 +1,37 @@
1
+ "use client";
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { Menu } from '@base-ui/react/menu';
4
+ import { cx } from 'class-variance-authority';
5
+ import { forwardRef, Fragment } from 'react';
6
+ import styles from './menu.module.css.js';
7
+ import { useMenuContext } from './menu-root.js';
8
+
9
+ const MenuGroup = forwardRef(({ className, children, ...props }, ref) => {
10
+ const { shouldFilter } = useMenuContext();
11
+ if (shouldFilter) {
12
+ return jsx(Fragment, { children: children });
13
+ }
14
+ return (jsx(Menu.Group, { ref: ref, className: cx(className), ...props, children: children }));
15
+ });
16
+ MenuGroup.displayName = 'Menu.Group';
17
+ const MenuLabel = forwardRef(({ className, ...props }, ref) => {
18
+ const { shouldFilter } = useMenuContext();
19
+ if (shouldFilter) {
20
+ return null;
21
+ }
22
+ return (jsx(Menu.GroupLabel, { ref: ref, className: cx(styles.label, className), ...props }));
23
+ });
24
+ MenuLabel.displayName = 'Menu.Label';
25
+ const MenuSeparator = forwardRef(({ className, ...props }, ref) => {
26
+ const { shouldFilter } = useMenuContext();
27
+ if (shouldFilter) {
28
+ return null;
29
+ }
30
+ return (jsx("div", { ref: ref, role: 'separator', className: cx(styles.separator, className), ...props }));
31
+ });
32
+ MenuSeparator.displayName = 'Menu.Separator';
33
+ const MenuEmptyState = forwardRef(({ className, children, ...props }, ref) => (jsx("div", { ref: ref, className: cx(styles.empty, className), ...props, children: children })));
34
+ MenuEmptyState.displayName = 'Menu.EmptyState';
35
+
36
+ export { MenuEmptyState, MenuGroup, MenuLabel, MenuSeparator };
37
+ //# sourceMappingURL=menu-misc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu-misc.js","sources":["../../../components/menu/menu-misc.tsx"],"sourcesContent":["'use client';\n\nimport { Menu as MenuPrimitive } from '@base-ui/react/menu';\nimport { cx } from 'class-variance-authority';\nimport { Fragment, forwardRef, HTMLAttributes, ReactNode } from 'react';\nimport styles from './menu.module.css';\nimport { useMenuContext } from './menu-root';\n\nexport const MenuGroup = forwardRef<HTMLDivElement, MenuPrimitive.Group.Props>(\n ({ className, children, ...props }, ref) => {\n const { shouldFilter } = useMenuContext();\n\n if (shouldFilter) {\n return <Fragment>{children}</Fragment>;\n }\n\n return (\n <MenuPrimitive.Group ref={ref} className={cx(className)} {...props}>\n {children}\n </MenuPrimitive.Group>\n );\n }\n);\nMenuGroup.displayName = 'Menu.Group';\n\nexport const MenuLabel = forwardRef<\n HTMLDivElement,\n MenuPrimitive.GroupLabel.Props\n>(({ className, ...props }, ref) => {\n const { shouldFilter } = useMenuContext();\n\n if (shouldFilter) {\n return null;\n }\n\n return (\n <MenuPrimitive.GroupLabel\n ref={ref}\n className={cx(styles.label, className)}\n {...props}\n />\n );\n});\nMenuLabel.displayName = 'Menu.Label';\n\nexport const MenuSeparator = forwardRef<\n HTMLDivElement,\n HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => {\n const { shouldFilter } = useMenuContext();\n\n if (shouldFilter) {\n return null;\n }\n\n return (\n <div\n ref={ref}\n role='separator'\n className={cx(styles.separator, className)}\n {...props}\n />\n );\n});\nMenuSeparator.displayName = 'Menu.Separator';\n\nexport const MenuEmptyState = forwardRef<\n HTMLDivElement,\n HTMLAttributes<HTMLDivElement> & {\n children: ReactNode;\n }\n>(({ className, children, ...props }, ref) => (\n <div ref={ref} className={cx(styles.empty, className)} {...props}>\n {children}\n </div>\n));\nMenuEmptyState.displayName = 'Menu.EmptyState';\n"],"names":[],"mappings":";;;;;;;;AAQa;AAET;;AAGE;;;AAQJ;AAEF;AAEa;AAIX;;AAGE;;;AAUJ;AACA;AAEa;AAIX;;AAGE;;;AAWJ;AACA;AAEa;AAUb;;"}
@@ -0,0 +1,103 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+ var react = require('@base-ui/react');
6
+ var React = require('react');
7
+
8
+ /**
9
+ Root context to manage the Menu control
10
+ @remarks Only for internal usage.
11
+ */
12
+ const MenuContext = React.createContext(undefined);
13
+ const useMenuContext = () => {
14
+ const context = React.useContext(MenuContext);
15
+ if (!context)
16
+ return {};
17
+ const shouldFilter = !!(context?.autocomplete &&
18
+ context?.autocompleteMode === 'auto' &&
19
+ context?.inputValue?.length);
20
+ const shouldFilterParent = !!(context?.parent?.autocomplete &&
21
+ context?.parent?.autocompleteMode === 'auto' &&
22
+ context?.parent?.inputValue?.length);
23
+ return {
24
+ ...context,
25
+ shouldFilter,
26
+ parent: context?.parent && {
27
+ ...context.parent,
28
+ shouldFilter: shouldFilterParent
29
+ }
30
+ };
31
+ };
32
+ const MenuRoot = ({ autocomplete, autocompleteMode = 'auto', inputValue: providedInputValue, onInputValueChange, defaultInputValue = '', open: providedOpen, onOpenChange, defaultOpen = false, ...props }) => {
33
+ const [internalInputValue, setInternalInputValue] = React.useState(defaultInputValue);
34
+ const [internalOpen, setInternalOpen] = React.useState(defaultOpen);
35
+ const open = providedOpen ?? internalOpen;
36
+ const inputRef = React.useRef(null);
37
+ const contentRef = React.useRef(null);
38
+ const isInitialRender = React.useRef(true);
39
+ const inputValue = providedInputValue ?? internalInputValue;
40
+ const setValue = React.useCallback((value) => {
41
+ setInternalInputValue(value);
42
+ onInputValueChange?.(value);
43
+ }, [onInputValueChange]);
44
+ const handleOpenChange = React.useCallback((value, eventDetails) => {
45
+ if (!value && autocomplete) {
46
+ setValue('');
47
+ isInitialRender.current = true;
48
+ }
49
+ setInternalOpen(value);
50
+ onOpenChange?.(value, eventDetails);
51
+ }, [onOpenChange, setValue, autocomplete]);
52
+ return (jsxRuntime.jsx(MenuContext.Provider, { value: {
53
+ autocomplete,
54
+ inputRef,
55
+ autocompleteMode,
56
+ inputValue,
57
+ onInputValueChange: setValue,
58
+ open: open,
59
+ isInitialRender,
60
+ contentRef
61
+ }, children: jsxRuntime.jsx(react.Menu.Root, { open: open, onOpenChange: handleOpenChange, loopFocus: false, modal: true, ...props }) }));
62
+ };
63
+ MenuRoot.displayName = 'Menu';
64
+ const MenuSubMenu = ({ autocomplete, autocompleteMode = 'auto', inputValue: providedInputValue, onInputValueChange, defaultInputValue = '', open: providedOpen, onOpenChange, defaultOpen = false, ...props }) => {
65
+ const [internalInputValue, setInternalInputValue] = React.useState(defaultInputValue);
66
+ const [internalOpen, setInternalOpen] = React.useState(defaultOpen);
67
+ const open = providedOpen ?? internalOpen;
68
+ const parentContext = useMenuContext();
69
+ const inputRef = React.useRef(null);
70
+ const isInitialRender = React.useRef(true);
71
+ const contentRef = React.useRef(null);
72
+ const inputValue = providedInputValue ?? internalInputValue;
73
+ const setValue = React.useCallback((value) => {
74
+ setInternalInputValue(value);
75
+ onInputValueChange?.(value);
76
+ }, [onInputValueChange]);
77
+ const handleOpenChange = React.useCallback((value, eventDetails) => {
78
+ if (!value && autocomplete) {
79
+ setValue('');
80
+ isInitialRender.current = true;
81
+ }
82
+ setInternalOpen(value);
83
+ onOpenChange?.(value, eventDetails);
84
+ }, [onOpenChange, setValue, autocomplete]);
85
+ return (jsxRuntime.jsx(MenuContext.Provider, { value: {
86
+ autocomplete,
87
+ inputRef,
88
+ parent: parentContext,
89
+ autocompleteMode,
90
+ inputValue,
91
+ onInputValueChange: setValue,
92
+ open: open,
93
+ isInitialRender,
94
+ contentRef
95
+ }, children: jsxRuntime.jsx(react.Menu.SubmenuRoot, { loopFocus: false, open: open, onOpenChange: handleOpenChange, ...props }) }));
96
+ };
97
+ MenuSubMenu.displayName = 'Menu.SubMenu';
98
+
99
+ exports.MenuContext = MenuContext;
100
+ exports.MenuRoot = MenuRoot;
101
+ exports.MenuSubMenu = MenuSubMenu;
102
+ exports.useMenuContext = useMenuContext;
103
+ //# sourceMappingURL=menu-root.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu-root.cjs","sources":["../../../components/menu/menu-root.tsx"],"sourcesContent":["'use client';\n\nimport { Menu as MenuPrimitive } from '@base-ui/react';\nimport {\n createContext,\n useCallback,\n useContext,\n useRef,\n useState\n} from 'react';\n\ninterface CommonProps {\n autocomplete?: boolean;\n autocompleteMode?: 'auto' | 'manual';\n inputValue?: string;\n inputRef?: React.RefObject<HTMLInputElement | null>;\n contentRef?: React.RefObject<HTMLDivElement | null>;\n isInitialRender?: React.RefObject<boolean>;\n open?: boolean;\n}\n\ninterface MenuContextValue extends CommonProps {\n parent?: CommonProps;\n onInputValueChange?: (value: string) => void;\n}\n\ninterface UseMenuContextReturn extends MenuContextValue {\n shouldFilter?: boolean;\n parent?: CommonProps & {\n shouldFilter?: boolean;\n };\n}\n\n/**\n Root context to manage the Menu control\n @remarks Only for internal usage.\n */\nexport const MenuContext = createContext<MenuContextValue | undefined>(\n undefined\n);\n\nexport const useMenuContext = (): UseMenuContextReturn => {\n const context = useContext(MenuContext);\n if (!context) return {};\n\n const shouldFilter = !!(\n context?.autocomplete &&\n context?.autocompleteMode === 'auto' &&\n context?.inputValue?.length\n );\n\n const shouldFilterParent = !!(\n context?.parent?.autocomplete &&\n context?.parent?.autocompleteMode === 'auto' &&\n context?.parent?.inputValue?.length\n );\n\n return {\n ...context,\n shouldFilter,\n parent: context?.parent && {\n ...context.parent,\n shouldFilter: shouldFilterParent\n }\n };\n};\n\nexport interface MenuRootBaseProps {\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: MenuPrimitive.Root.Props['onOpenChange'];\n modal?: boolean;\n loopFocus?: boolean;\n}\n\nexport interface NormalMenuRootProps extends MenuPrimitive.Root.Props {\n autocomplete?: false;\n autocompleteMode?: never;\n inputValue?: never;\n onInputValueChange?: never;\n defaultInputValue?: never;\n}\n\nexport interface AutocompleteMenuRootProps\n extends MenuPrimitive.Root.Props,\n CommonProps {\n autocomplete: true;\n onInputValueChange?: (value: string) => void;\n defaultInputValue?: string;\n}\n\nexport type MenuRootProps = NormalMenuRootProps | AutocompleteMenuRootProps;\n\nexport const MenuRoot = ({\n autocomplete,\n autocompleteMode = 'auto',\n inputValue: providedInputValue,\n onInputValueChange,\n defaultInputValue = '',\n open: providedOpen,\n onOpenChange,\n defaultOpen = false,\n ...props\n}: MenuRootProps) => {\n const [internalInputValue, setInternalInputValue] =\n useState(defaultInputValue);\n\n const [internalOpen, setInternalOpen] = useState(defaultOpen);\n const open = providedOpen ?? internalOpen;\n const inputRef = useRef<HTMLInputElement>(null);\n const contentRef = useRef<HTMLDivElement>(null);\n const isInitialRender = useRef(true);\n\n const inputValue = providedInputValue ?? internalInputValue;\n\n const setValue = useCallback(\n (value: string) => {\n setInternalInputValue(value);\n onInputValueChange?.(value);\n },\n [onInputValueChange]\n );\n\n const handleOpenChange: MenuPrimitive.Root.Props['onOpenChange'] =\n useCallback(\n (value: boolean, eventDetails: MenuPrimitive.Root.ChangeEventDetails) => {\n if (!value && autocomplete) {\n setValue('');\n isInitialRender.current = true;\n }\n setInternalOpen(value);\n onOpenChange?.(value, eventDetails);\n },\n [onOpenChange, setValue, autocomplete]\n );\n\n return (\n <MenuContext.Provider\n value={{\n autocomplete,\n inputRef,\n autocompleteMode,\n inputValue,\n onInputValueChange: setValue,\n open: open,\n isInitialRender,\n contentRef\n }}\n >\n <MenuPrimitive.Root\n open={open}\n onOpenChange={handleOpenChange}\n loopFocus={false}\n modal\n {...props}\n />\n </MenuContext.Provider>\n );\n};\nMenuRoot.displayName = 'Menu';\n\nexport interface NormalMenuSubMenuProps\n extends MenuPrimitive.SubmenuRoot.Props {\n autocomplete?: false;\n autocompleteMode?: never;\n inputValue?: never;\n onInputValueChange?: never;\n defaultInputValue?: never;\n}\n\nexport interface AutocompleteMenuSubMenuProps\n extends MenuPrimitive.SubmenuRoot.Props {\n autocomplete: true;\n autocompleteMode?: 'auto' | 'manual';\n inputValue?: string;\n onInputValueChange?: (value: string) => void;\n defaultInputValue?: string;\n}\n\nexport type MenuSubMenuProps =\n | NormalMenuSubMenuProps\n | AutocompleteMenuSubMenuProps;\n\nexport const MenuSubMenu = ({\n autocomplete,\n autocompleteMode = 'auto',\n inputValue: providedInputValue,\n onInputValueChange,\n defaultInputValue = '',\n open: providedOpen,\n onOpenChange,\n defaultOpen = false,\n ...props\n}: MenuSubMenuProps) => {\n const [internalInputValue, setInternalInputValue] =\n useState(defaultInputValue);\n const [internalOpen, setInternalOpen] = useState(defaultOpen);\n const open = providedOpen ?? internalOpen;\n const parentContext = useMenuContext();\n const inputRef = useRef<HTMLInputElement>(null);\n const isInitialRender = useRef(true);\n const contentRef = useRef<HTMLDivElement>(null);\n const inputValue = providedInputValue ?? internalInputValue;\n\n const setValue = useCallback(\n (value: string) => {\n setInternalInputValue(value);\n onInputValueChange?.(value);\n },\n [onInputValueChange]\n );\n\n const handleOpenChange: MenuPrimitive.Root.Props['onOpenChange'] =\n useCallback(\n (value: boolean, eventDetails: MenuPrimitive.Root.ChangeEventDetails) => {\n if (!value && autocomplete) {\n setValue('');\n isInitialRender.current = true;\n }\n setInternalOpen(value);\n onOpenChange?.(value, eventDetails);\n },\n [onOpenChange, setValue, autocomplete]\n );\n\n return (\n <MenuContext.Provider\n value={{\n autocomplete,\n inputRef,\n parent: parentContext,\n autocompleteMode,\n inputValue,\n onInputValueChange: setValue,\n open: open,\n isInitialRender,\n contentRef\n }}\n >\n <MenuPrimitive.SubmenuRoot\n loopFocus={false}\n open={open}\n onOpenChange={handleOpenChange}\n {...props}\n />\n </MenuContext.Provider>\n );\n};\nMenuSubMenu.displayName = 'Menu.SubMenu';\n"],"names":[],"mappings":";;;;;;;AAiCA;;;AAGG;;AAKI;AACL;AACA;AAAc;AAEd;;AAGE;;AAKA;AACA;;AAIA;;AAEA;;AAEE;AACD;;AAEL;AA4Ba;;;AAeX;AACA;AACA;AACA;AAEA;AAEA;;AAGI;AACF;;AAOI;;AAEE;;;AAGF;;AAKN;;;;;AAOM;AACA;;;;AAcR;AACA;AAwBa;;;AAcX;AACA;AACA;AACA;AACA;AACA;AAEA;;AAGI;AACF;;AAOI;;AAEE;;;AAGF;;AAKN;;;AAKM;;;AAGA;AACA;;;;AAaR;AACA;;;;;"}