@lotte-innovate/ui-component-test 0.1.56 → 0.1.58

Sign up to get free protection for your applications and to get access to all the features.
Files changed (328) hide show
  1. package/dist/lib/Typography/Header/index.mjs +1 -1
  2. package/dist/lib/Typography/Header/index.mjs.map +1 -1
  3. package/dist/lib/Typography/Text/index.mjs +1 -1
  4. package/dist/lib/Typography/Text/index.mjs.map +1 -1
  5. package/dist/lib/components/Accordion/index.d.ts +1 -1
  6. package/dist/lib/components/Accordion/index.mjs +1 -1
  7. package/dist/lib/components/Accordion/index.mjs.map +1 -1
  8. package/dist/lib/components/AlertDialog/AlertDialogAction.mjs +1 -1
  9. package/dist/lib/components/AlertDialog/AlertDialogAction.mjs.map +1 -1
  10. package/dist/lib/components/AlertDialog/AlertDialogCancel.mjs +1 -1
  11. package/dist/lib/components/AlertDialog/AlertDialogCancel.mjs.map +1 -1
  12. package/dist/lib/components/AlertDialog/AlertDialogContent.mjs +1 -1
  13. package/dist/lib/components/AlertDialog/AlertDialogContent.mjs.map +1 -1
  14. package/dist/lib/components/AlertDialog/AlertDialogDescription.mjs +1 -1
  15. package/dist/lib/components/AlertDialog/AlertDialogDescription.mjs.map +1 -1
  16. package/dist/lib/components/AlertDialog/AlertDialogTitle.mjs +1 -1
  17. package/dist/lib/components/AlertDialog/AlertDialogTitle.mjs.map +1 -1
  18. package/dist/lib/components/AlertDialog/AlertDialogTrigger.mjs +1 -1
  19. package/dist/lib/components/AlertDialog/AlertDialogTrigger.mjs.map +1 -1
  20. package/dist/lib/components/AspectRatio/index.mjs +1 -1
  21. package/dist/lib/components/AspectRatio/index.mjs.map +1 -1
  22. package/dist/lib/components/Avatar/index.mjs +1 -1
  23. package/dist/lib/components/Avatar/index.mjs.map +1 -1
  24. package/dist/lib/components/Badge/index.mjs +1 -1
  25. package/dist/lib/components/Badge/index.mjs.map +1 -1
  26. package/dist/lib/components/BarChart/index.d.ts +1 -5
  27. package/dist/lib/components/BarChart/index.mjs +1 -1
  28. package/dist/lib/components/BarChart/index.mjs.map +1 -1
  29. package/dist/lib/components/BubbleChart/index.js +13 -2
  30. package/dist/lib/components/BubbleChart/index.mjs +1 -1
  31. package/dist/lib/components/BubbleChart/index.mjs.map +1 -1
  32. package/dist/lib/components/Button/index.mjs +1 -1
  33. package/dist/lib/components/Button/index.mjs.map +1 -1
  34. package/dist/lib/components/Callout/CalloutIcon.mjs +1 -1
  35. package/dist/lib/components/Callout/CalloutIcon.mjs.map +1 -1
  36. package/dist/lib/components/Callout/CalloutRoot.mjs +1 -1
  37. package/dist/lib/components/Callout/CalloutRoot.mjs.map +1 -1
  38. package/dist/lib/components/Callout/CalloutText.mjs +1 -1
  39. package/dist/lib/components/Callout/CalloutText.mjs.map +1 -1
  40. package/dist/lib/components/Card/index.mjs +1 -1
  41. package/dist/lib/components/Card/index.mjs.map +1 -1
  42. package/dist/lib/components/Checkbox/index.mjs +1 -1
  43. package/dist/lib/components/Checkbox/index.mjs.map +1 -1
  44. package/dist/lib/components/CheckboxCard/index.mjs +1 -1
  45. package/dist/lib/components/CheckboxCard/index.mjs.map +1 -1
  46. package/dist/lib/components/CheckboxGroup/CheckboxGroupRoot.mjs +1 -1
  47. package/dist/lib/components/CheckboxGroup/CheckboxGroupRoot.mjs.map +1 -1
  48. package/dist/lib/components/ContextMenu/ContextMenuContent.mjs +1 -1
  49. package/dist/lib/components/ContextMenu/ContextMenuContent.mjs.map +1 -1
  50. package/dist/lib/components/ContextMenu/ContextMenuItem.mjs +1 -1
  51. package/dist/lib/components/ContextMenu/ContextMenuItem.mjs.map +1 -1
  52. package/dist/lib/components/ContextMenu/ContextMenuItemIndicator.mjs +1 -1
  53. package/dist/lib/components/ContextMenu/ContextMenuItemIndicator.mjs.map +1 -1
  54. package/dist/lib/components/ContextMenu/ContextMenuLabel.mjs +1 -1
  55. package/dist/lib/components/ContextMenu/ContextMenuLabel.mjs.map +1 -1
  56. package/dist/lib/components/ContextMenu/ContextMenuSubContent.mjs +1 -1
  57. package/dist/lib/components/ContextMenu/ContextMenuSubContent.mjs.map +1 -1
  58. package/dist/lib/components/DataList/DataListItem.mjs +1 -1
  59. package/dist/lib/components/DataList/DataListItem.mjs.map +1 -1
  60. package/dist/lib/components/DataList/DataListLabel.mjs +1 -1
  61. package/dist/lib/components/DataList/DataListLabel.mjs.map +1 -1
  62. package/dist/lib/components/DataList/DataListRoot.mjs +1 -1
  63. package/dist/lib/components/DataList/DataListRoot.mjs.map +1 -1
  64. package/dist/lib/components/DataList/DataListValue.mjs +1 -1
  65. package/dist/lib/components/DataList/DataListValue.mjs.map +1 -1
  66. package/dist/lib/components/Dialog/DialogAction.mjs +1 -1
  67. package/dist/lib/components/Dialog/DialogAction.mjs.map +1 -1
  68. package/dist/lib/components/Dialog/DialogCancel.mjs +1 -1
  69. package/dist/lib/components/Dialog/DialogCancel.mjs.map +1 -1
  70. package/dist/lib/components/Dialog/DialogContent.mjs +1 -1
  71. package/dist/lib/components/Dialog/DialogContent.mjs.map +1 -1
  72. package/dist/lib/components/Dialog/DialogDescription.mjs +1 -1
  73. package/dist/lib/components/Dialog/DialogDescription.mjs.map +1 -1
  74. package/dist/lib/components/Dialog/DialogRoot.d.ts +1 -4
  75. package/dist/lib/components/Dialog/DialogSlot.mjs +1 -1
  76. package/dist/lib/components/Dialog/DialogSlot.mjs.map +1 -1
  77. package/dist/lib/components/Dialog/DialogTitle.mjs +1 -1
  78. package/dist/lib/components/Dialog/DialogTitle.mjs.map +1 -1
  79. package/dist/lib/components/DoughnutChart/index.mjs +1 -1
  80. package/dist/lib/components/DoughnutChart/index.mjs.map +1 -1
  81. package/dist/lib/components/DropdownMenu/DropdonMenuSubContent.mjs +1 -1
  82. package/dist/lib/components/DropdownMenu/DropdonMenuSubContent.mjs.map +1 -1
  83. package/dist/lib/components/DropdownMenu/DropdownMenuContent.mjs +1 -1
  84. package/dist/lib/components/DropdownMenu/DropdownMenuContent.mjs.map +1 -1
  85. package/dist/lib/components/DropdownMenu/DropdownMenuItem.mjs +1 -1
  86. package/dist/lib/components/DropdownMenu/DropdownMenuItem.mjs.map +1 -1
  87. package/dist/lib/components/DropdownMenu/DropdownMenuItemIndicator.mjs +1 -1
  88. package/dist/lib/components/DropdownMenu/DropdownMenuItemIndicator.mjs.map +1 -1
  89. package/dist/lib/components/DropdownMenu/DropdownMenuLable.mjs +1 -1
  90. package/dist/lib/components/DropdownMenu/DropdownMenuLable.mjs.map +1 -1
  91. package/dist/lib/components/DropdownMenu/DropdownMenuRoot.d.ts +1 -2
  92. package/dist/lib/components/DropdownMenu/DropdownMenuTrigger.mjs +1 -1
  93. package/dist/lib/components/DropdownMenu/DropdownMenuTrigger.mjs.map +1 -1
  94. package/dist/lib/components/HoverCard/HoverCardContent.mjs +1 -1
  95. package/dist/lib/components/HoverCard/HoverCardContent.mjs.map +1 -1
  96. package/dist/lib/components/IconButton/index.d.ts +2 -2
  97. package/dist/lib/components/IconButton/index.mjs +1 -1
  98. package/dist/lib/components/IconButton/index.mjs.map +1 -1
  99. package/dist/lib/components/Inset/index.mjs +1 -1
  100. package/dist/lib/components/Inset/index.mjs.map +1 -1
  101. package/dist/lib/components/Label/index.mjs +1 -1
  102. package/dist/lib/components/Label/index.mjs.map +1 -1
  103. package/dist/lib/components/LineChart/index.mjs +1 -1
  104. package/dist/lib/components/LineChart/index.mjs.map +1 -1
  105. package/dist/lib/components/Menubar/MenubarContent.mjs +1 -1
  106. package/dist/lib/components/Menubar/MenubarContent.mjs.map +1 -1
  107. package/dist/lib/components/Menubar/MenubarItem.mjs +1 -1
  108. package/dist/lib/components/Menubar/MenubarItem.mjs.map +1 -1
  109. package/dist/lib/components/Menubar/MenubarItemIndicator.mjs +1 -1
  110. package/dist/lib/components/Menubar/MenubarItemIndicator.mjs.map +1 -1
  111. package/dist/lib/components/Menubar/MenubarRoot.mjs +1 -1
  112. package/dist/lib/components/Menubar/MenubarRoot.mjs.map +1 -1
  113. package/dist/lib/components/Menubar/MenubarSubContent.mjs +1 -1
  114. package/dist/lib/components/Menubar/MenubarSubContent.mjs.map +1 -1
  115. package/dist/lib/components/Menubar/MenubarTrigger.mjs +1 -1
  116. package/dist/lib/components/Menubar/MenubarTrigger.mjs.map +1 -1
  117. package/dist/lib/components/NavigationMenu/NavigationMenuContent.mjs +1 -1
  118. package/dist/lib/components/NavigationMenu/NavigationMenuContent.mjs.map +1 -1
  119. package/dist/lib/components/NavigationMenu/NavigationMenuLink.mjs +1 -1
  120. package/dist/lib/components/NavigationMenu/NavigationMenuLink.mjs.map +1 -1
  121. package/dist/lib/components/NavigationMenu/NavigationMenuList.mjs +1 -1
  122. package/dist/lib/components/NavigationMenu/NavigationMenuList.mjs.map +1 -1
  123. package/dist/lib/components/NavigationMenu/NavigationMenuTrigger.mjs +1 -1
  124. package/dist/lib/components/NavigationMenu/NavigationMenuTrigger.mjs.map +1 -1
  125. package/dist/lib/components/NavigationMenu/NavigationMenuViewport.mjs +1 -1
  126. package/dist/lib/components/NavigationMenu/NavigationMenuViewport.mjs.map +1 -1
  127. package/dist/lib/components/PieChart/index.mjs +1 -1
  128. package/dist/lib/components/PieChart/index.mjs.map +1 -1
  129. package/dist/lib/components/Popover/PopoverClose.mjs +1 -1
  130. package/dist/lib/components/Popover/PopoverClose.mjs.map +1 -1
  131. package/dist/lib/components/Popover/PopoverContent.mjs +1 -1
  132. package/dist/lib/components/Popover/PopoverContent.mjs.map +1 -1
  133. package/dist/lib/components/Popover/PopoverRoot.d.ts +1 -2
  134. package/dist/lib/components/Progress/index.mjs +1 -1
  135. package/dist/lib/components/Progress/index.mjs.map +1 -1
  136. package/dist/lib/components/RadarChart/index.js +31 -2
  137. package/dist/lib/components/RadarChart/index.mjs +1 -1
  138. package/dist/lib/components/RadarChart/index.mjs.map +1 -1
  139. package/dist/lib/components/Radio/index.mjs +1 -1
  140. package/dist/lib/components/Radio/index.mjs.map +1 -1
  141. package/dist/lib/components/RadioCards/RadioCardsItem.mjs +1 -1
  142. package/dist/lib/components/RadioCards/RadioCardsItem.mjs.map +1 -1
  143. package/dist/lib/components/RadioCards/RadioCardsRoot.mjs +1 -1
  144. package/dist/lib/components/RadioCards/RadioCardsRoot.mjs.map +1 -1
  145. package/dist/lib/components/RadioGroup/RadioGroupItem.mjs +1 -1
  146. package/dist/lib/components/RadioGroup/RadioGroupItem.mjs.map +1 -1
  147. package/dist/lib/components/RadioGroup/RadioGroupRoot.mjs +1 -1
  148. package/dist/lib/components/RadioGroup/RadioGroupRoot.mjs.map +1 -1
  149. package/dist/lib/components/SegmentedControl/SegmentedControlRoot.mjs +1 -1
  150. package/dist/lib/components/SegmentedControl/SegmentedControlRoot.mjs.map +1 -1
  151. package/dist/lib/components/Select/index.mjs +1 -1
  152. package/dist/lib/components/Select/index.mjs.map +1 -1
  153. package/dist/lib/components/Separator/index.mjs +1 -1
  154. package/dist/lib/components/Separator/index.mjs.map +1 -1
  155. package/dist/lib/components/Skeleton/index.mjs +1 -1
  156. package/dist/lib/components/Skeleton/index.mjs.map +1 -1
  157. package/dist/lib/components/Slider/index.mjs +1 -1
  158. package/dist/lib/components/Slider/index.mjs.map +1 -1
  159. package/dist/lib/components/Spinner/index.mjs +1 -1
  160. package/dist/lib/components/Spinner/index.mjs.map +1 -1
  161. package/dist/lib/components/TabNav/index.mjs +1 -1
  162. package/dist/lib/components/TabNav/index.mjs.map +1 -1
  163. package/dist/lib/components/Table/index.mjs +1 -1
  164. package/dist/lib/components/Table/index.mjs.map +1 -1
  165. package/dist/lib/components/Tabs/index.mjs +1 -1
  166. package/dist/lib/components/Tabs/index.mjs.map +1 -1
  167. package/dist/lib/components/TextArea/index.mjs +1 -1
  168. package/dist/lib/components/TextArea/index.mjs.map +1 -1
  169. package/dist/lib/components/TextField/index.mjs +1 -1
  170. package/dist/lib/components/TextField/index.mjs.map +1 -1
  171. package/dist/lib/components/Toast/ToastActionButton.mjs +1 -1
  172. package/dist/lib/components/Toast/ToastActionButton.mjs.map +1 -1
  173. package/dist/lib/components/Toast/ToastDescription.mjs +1 -1
  174. package/dist/lib/components/Toast/ToastDescription.mjs.map +1 -1
  175. package/dist/lib/components/Toast/ToastRoot.mjs +1 -1
  176. package/dist/lib/components/Toast/ToastRoot.mjs.map +1 -1
  177. package/dist/lib/components/Toast/ToastTitle.mjs +1 -1
  178. package/dist/lib/components/Toast/ToastTitle.mjs.map +1 -1
  179. package/dist/lib/components/Toggle/ToggleWithText.mjs +1 -1
  180. package/dist/lib/components/Toggle/ToggleWithText.mjs.map +1 -1
  181. package/dist/lib/components/Toggle/index.mjs +1 -1
  182. package/dist/lib/components/Toggle/index.mjs.map +1 -1
  183. package/dist/lib/components/ToggleGroup/ToggleGroupItem.mjs +1 -1
  184. package/dist/lib/components/ToggleGroup/ToggleGroupItem.mjs.map +1 -1
  185. package/dist/lib/components/ToggleGroup/ToggleGroupRoot.mjs +1 -1
  186. package/dist/lib/components/ToggleGroup/ToggleGroupRoot.mjs.map +1 -1
  187. package/dist/lib/components/ToggleSwitch/index.mjs +1 -1
  188. package/dist/lib/components/ToggleSwitch/index.mjs.map +1 -1
  189. package/dist/lib/components/Tooltip/index.mjs +1 -1
  190. package/dist/lib/components/Tooltip/index.mjs.map +1 -1
  191. package/dist/lib/utils/utils.mjs +1 -1
  192. package/dist/lib/utils/utils.mjs.map +1 -1
  193. package/dist/node_modules/@radix-ui/react-dialog/dist/index.mjs +1 -1
  194. package/dist/node_modules/@radix-ui/react-dialog/dist/index.mjs.map +1 -1
  195. package/dist/node_modules/@radix-ui/react-menu/dist/index.mjs +1 -1
  196. package/dist/node_modules/@radix-ui/react-menu/dist/index.mjs.map +1 -1
  197. package/dist/node_modules/@radix-ui/react-select/dist/index.mjs +1 -1
  198. package/dist/node_modules/@radix-ui/react-select/dist/index.mjs.map +1 -1
  199. package/dist/node_modules/@radix-ui/themes/dist/esm/components/callout.mjs +1 -1
  200. package/dist/node_modules/@radix-ui/themes/dist/esm/components/callout.mjs.map +1 -1
  201. package/dist/node_modules/@radix-ui/themes/dist/esm/components/checkbox-group.mjs +1 -1
  202. package/dist/node_modules/@radix-ui/themes/dist/esm/components/checkbox-group.mjs.map +1 -1
  203. package/dist/node_modules/@radix-ui/themes/dist/esm/components/data-list.mjs +1 -1
  204. package/dist/node_modules/@radix-ui/themes/dist/esm/components/data-list.mjs.map +1 -1
  205. package/dist/node_modules/@radix-ui/themes/dist/esm/components/dialog.mjs +1 -1
  206. package/dist/node_modules/@radix-ui/themes/dist/esm/components/dialog.mjs.map +1 -1
  207. package/dist/node_modules/@radix-ui/themes/dist/esm/components/flex.mjs +1 -1
  208. package/dist/node_modules/@radix-ui/themes/dist/esm/components/flex.mjs.map +1 -1
  209. package/dist/node_modules/@radix-ui/themes/dist/esm/components/grid.mjs +1 -1
  210. package/dist/node_modules/@radix-ui/themes/dist/esm/components/grid.mjs.map +1 -1
  211. package/dist/node_modules/@radix-ui/themes/dist/esm/components/heading.mjs +1 -1
  212. package/dist/node_modules/@radix-ui/themes/dist/esm/components/heading.mjs.map +1 -1
  213. package/dist/node_modules/@radix-ui/themes/dist/esm/components/hover-card.mjs +1 -1
  214. package/dist/node_modules/@radix-ui/themes/dist/esm/components/hover-card.mjs.map +1 -1
  215. package/dist/node_modules/@radix-ui/themes/dist/esm/components/inset.mjs +1 -1
  216. package/dist/node_modules/@radix-ui/themes/dist/esm/components/inset.mjs.map +1 -1
  217. package/dist/node_modules/@radix-ui/themes/dist/esm/components/popover.mjs +1 -1
  218. package/dist/node_modules/@radix-ui/themes/dist/esm/components/popover.mjs.map +1 -1
  219. package/dist/node_modules/@radix-ui/themes/dist/esm/components/progress.mjs +1 -1
  220. package/dist/node_modules/@radix-ui/themes/dist/esm/components/progress.mjs.map +1 -1
  221. package/dist/node_modules/@radix-ui/themes/dist/esm/components/radio-cards.mjs +1 -1
  222. package/dist/node_modules/@radix-ui/themes/dist/esm/components/radio-cards.mjs.map +1 -1
  223. package/dist/node_modules/@radix-ui/themes/dist/esm/components/radio-group.mjs +1 -1
  224. package/dist/node_modules/@radix-ui/themes/dist/esm/components/radio-group.mjs.map +1 -1
  225. package/dist/node_modules/@radix-ui/themes/dist/esm/components/radio.mjs +1 -1
  226. package/dist/node_modules/@radix-ui/themes/dist/esm/components/radio.mjs.map +1 -1
  227. package/dist/node_modules/@radix-ui/themes/dist/esm/components/scroll-area.mjs +1 -1
  228. package/dist/node_modules/@radix-ui/themes/dist/esm/components/scroll-area.mjs.map +1 -1
  229. package/dist/node_modules/@radix-ui/themes/dist/esm/components/segmented-control.mjs +1 -1
  230. package/dist/node_modules/@radix-ui/themes/dist/esm/components/segmented-control.mjs.map +1 -1
  231. package/dist/node_modules/@radix-ui/themes/dist/esm/components/select.mjs +1 -1
  232. package/dist/node_modules/@radix-ui/themes/dist/esm/components/select.mjs.map +1 -1
  233. package/dist/node_modules/@radix-ui/themes/dist/esm/components/separator.mjs +1 -1
  234. package/dist/node_modules/@radix-ui/themes/dist/esm/components/separator.mjs.map +1 -1
  235. package/dist/node_modules/@radix-ui/themes/dist/esm/components/skeleton.mjs +1 -1
  236. package/dist/node_modules/@radix-ui/themes/dist/esm/components/skeleton.mjs.map +1 -1
  237. package/dist/node_modules/@radix-ui/themes/dist/esm/components/slider.mjs +1 -1
  238. package/dist/node_modules/@radix-ui/themes/dist/esm/components/slider.mjs.map +1 -1
  239. package/dist/node_modules/@radix-ui/themes/dist/esm/components/spinner.mjs +1 -1
  240. package/dist/node_modules/@radix-ui/themes/dist/esm/components/spinner.mjs.map +1 -1
  241. package/dist/node_modules/@radix-ui/themes/dist/esm/components/switch.mjs +1 -1
  242. package/dist/node_modules/@radix-ui/themes/dist/esm/components/switch.mjs.map +1 -1
  243. package/dist/node_modules/@radix-ui/themes/dist/esm/components/tab-nav.mjs +1 -1
  244. package/dist/node_modules/@radix-ui/themes/dist/esm/components/tab-nav.mjs.map +1 -1
  245. package/dist/node_modules/@radix-ui/themes/dist/esm/components/table.mjs +1 -1
  246. package/dist/node_modules/@radix-ui/themes/dist/esm/components/table.mjs.map +1 -1
  247. package/dist/node_modules/@radix-ui/themes/dist/esm/components/tabs.mjs +1 -1
  248. package/dist/node_modules/@radix-ui/themes/dist/esm/components/tabs.mjs.map +1 -1
  249. package/dist/node_modules/@radix-ui/themes/dist/esm/components/text-area.mjs +1 -1
  250. package/dist/node_modules/@radix-ui/themes/dist/esm/components/text-area.mjs.map +1 -1
  251. package/dist/node_modules/@radix-ui/themes/dist/esm/components/text-field.mjs +1 -1
  252. package/dist/node_modules/@radix-ui/themes/dist/esm/components/text-field.mjs.map +1 -1
  253. package/dist/node_modules/@radix-ui/themes/dist/esm/components/text.mjs +1 -1
  254. package/dist/node_modules/@radix-ui/themes/dist/esm/components/text.mjs.map +1 -1
  255. package/dist/node_modules/@radix-ui/themes/dist/esm/components/theme.mjs +1 -1
  256. package/dist/node_modules/@radix-ui/themes/dist/esm/components/theme.mjs.map +1 -1
  257. package/dist/node_modules/@radix-ui/themes/dist/esm/helpers/extract-props.mjs +1 -1
  258. package/dist/node_modules/@radix-ui/themes/dist/esm/helpers/extract-props.mjs.map +1 -1
  259. package/dist/node_modules/@radix-ui/themes/dist/esm/helpers/get-margin-styles.mjs +1 -1
  260. package/dist/node_modules/@radix-ui/themes/dist/esm/helpers/get-margin-styles.mjs.map +1 -1
  261. package/dist/node_modules/@radix-ui/themes/node_modules/@radix-ui/react-popover/dist/index.mjs +1 -1
  262. package/dist/node_modules/@radix-ui/themes/node_modules/@radix-ui/react-popover/dist/index.mjs.map +1 -1
  263. package/dist/node_modules/chart.js/dist/chart.mjs +2 -2
  264. package/dist/node_modules/chart.js/dist/chart.mjs.map +1 -1
  265. package/dist/tsconfig.tsbuildinfo +1 -1
  266. package/package.json +1 -1
  267. package/dist/_virtual/_commonjsHelpers.mjs +0 -2
  268. package/dist/_virtual/_commonjsHelpers.mjs.map +0 -1
  269. package/dist/_virtual/index.mjs +0 -2
  270. package/dist/_virtual/index.mjs.map +0 -1
  271. package/dist/_virtual/index2.mjs +0 -2
  272. package/dist/_virtual/index2.mjs.map +0 -1
  273. package/dist/node_modules/aria-hidden/dist/es2015/index.mjs +0 -2
  274. package/dist/node_modules/aria-hidden/dist/es2015/index.mjs.map +0 -1
  275. package/dist/node_modules/chartjs-plugin-datalabels/dist/chartjs-plugin-datalabels.esm.mjs +0 -8
  276. package/dist/node_modules/chartjs-plugin-datalabels/dist/chartjs-plugin-datalabels.esm.mjs.map +0 -1
  277. package/dist/node_modules/class-variance-authority/dist/index.mjs +0 -2
  278. package/dist/node_modules/class-variance-authority/dist/index.mjs.map +0 -1
  279. package/dist/node_modules/class-variance-authority/node_modules/clsx/dist/clsx.mjs +0 -2
  280. package/dist/node_modules/class-variance-authority/node_modules/clsx/dist/clsx.mjs.map +0 -1
  281. package/dist/node_modules/classnames/index.mjs +0 -7
  282. package/dist/node_modules/classnames/index.mjs.map +0 -1
  283. package/dist/node_modules/clsx/dist/clsx.mjs +0 -2
  284. package/dist/node_modules/clsx/dist/clsx.mjs.map +0 -1
  285. package/dist/node_modules/get-nonce/dist/es2015/index.mjs +0 -2
  286. package/dist/node_modules/get-nonce/dist/es2015/index.mjs.map +0 -1
  287. package/dist/node_modules/react-chartjs-2/dist/index.mjs +0 -2
  288. package/dist/node_modules/react-chartjs-2/dist/index.mjs.map +0 -1
  289. package/dist/node_modules/react-remove-scroll/dist/es2015/Combination.mjs +0 -2
  290. package/dist/node_modules/react-remove-scroll/dist/es2015/Combination.mjs.map +0 -1
  291. package/dist/node_modules/react-remove-scroll/dist/es2015/SideEffect.mjs +0 -2
  292. package/dist/node_modules/react-remove-scroll/dist/es2015/SideEffect.mjs.map +0 -1
  293. package/dist/node_modules/react-remove-scroll/dist/es2015/UI.mjs +0 -2
  294. package/dist/node_modules/react-remove-scroll/dist/es2015/UI.mjs.map +0 -1
  295. package/dist/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.mjs +0 -2
  296. package/dist/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.mjs.map +0 -1
  297. package/dist/node_modules/react-remove-scroll/dist/es2015/handleScroll.mjs +0 -2
  298. package/dist/node_modules/react-remove-scroll/dist/es2015/handleScroll.mjs.map +0 -1
  299. package/dist/node_modules/react-remove-scroll/dist/es2015/medium.mjs +0 -2
  300. package/dist/node_modules/react-remove-scroll/dist/es2015/medium.mjs.map +0 -1
  301. package/dist/node_modules/react-remove-scroll/dist/es2015/sidecar.mjs +0 -2
  302. package/dist/node_modules/react-remove-scroll/dist/es2015/sidecar.mjs.map +0 -1
  303. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/component.mjs +0 -2
  304. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/component.mjs.map +0 -1
  305. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/constants.mjs +0 -2
  306. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/constants.mjs.map +0 -1
  307. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/utils.mjs +0 -2
  308. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/utils.mjs.map +0 -1
  309. package/dist/node_modules/react-style-singleton/dist/es2015/component.mjs +0 -2
  310. package/dist/node_modules/react-style-singleton/dist/es2015/component.mjs.map +0 -1
  311. package/dist/node_modules/react-style-singleton/dist/es2015/hook.mjs +0 -2
  312. package/dist/node_modules/react-style-singleton/dist/es2015/hook.mjs.map +0 -1
  313. package/dist/node_modules/react-style-singleton/dist/es2015/singleton.mjs +0 -2
  314. package/dist/node_modules/react-style-singleton/dist/es2015/singleton.mjs.map +0 -1
  315. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.mjs +0 -2
  316. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.mjs.map +0 -1
  317. package/dist/node_modules/tslib/tslib.es6.mjs +0 -2
  318. package/dist/node_modules/tslib/tslib.es6.mjs.map +0 -1
  319. package/dist/node_modules/use-callback-ref/dist/es2015/assignRef.mjs +0 -2
  320. package/dist/node_modules/use-callback-ref/dist/es2015/assignRef.mjs.map +0 -1
  321. package/dist/node_modules/use-callback-ref/dist/es2015/useMergeRef.mjs +0 -2
  322. package/dist/node_modules/use-callback-ref/dist/es2015/useMergeRef.mjs.map +0 -1
  323. package/dist/node_modules/use-callback-ref/dist/es2015/useRef.mjs +0 -2
  324. package/dist/node_modules/use-callback-ref/dist/es2015/useRef.mjs.map +0 -1
  325. package/dist/node_modules/use-sidecar/dist/es2015/exports.mjs +0 -2
  326. package/dist/node_modules/use-sidecar/dist/es2015/exports.mjs.map +0 -1
  327. package/dist/node_modules/use-sidecar/dist/es2015/medium.mjs +0 -2
  328. package/dist/node_modules/use-sidecar/dist/es2015/medium.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../node_modules/@radix-ui/react-dialog/dist/index.mjs"],"sourcesContent":["\"use client\";\n\n// packages/react/dialog/src/Dialog.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContext, createContextScope } from \"@radix-ui/react-context\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { hideOthers } from \"aria-hidden\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar DIALOG_NAME = \"Dialog\";\nvar [createDialogContext, createDialogScope] = createContextScope(DIALOG_NAME);\nvar [DialogProvider, useDialogContext] = createDialogContext(DIALOG_NAME);\nvar Dialog = (props) => {\n const {\n __scopeDialog,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = true\n } = props;\n const triggerRef = React.useRef(null);\n const contentRef = React.useRef(null);\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange\n });\n return /* @__PURE__ */ jsx(\n DialogProvider,\n {\n scope: __scopeDialog,\n triggerRef,\n contentRef,\n contentId: useId(),\n titleId: useId(),\n descriptionId: useId(),\n open,\n onOpenChange: setOpen,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n modal,\n children\n }\n );\n};\nDialog.displayName = DIALOG_NAME;\nvar TRIGGER_NAME = \"DialogTrigger\";\nvar DialogTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...triggerProps } = props;\n const context = useDialogContext(TRIGGER_NAME, __scopeDialog);\n const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.contentId,\n \"data-state\": getState(context.open),\n ...triggerProps,\n ref: composedTriggerRef,\n onClick: composeEventHandlers(props.onClick, context.onOpenToggle)\n }\n );\n }\n);\nDialogTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"DialogPortal\";\nvar [PortalProvider, usePortalContext] = createDialogContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar DialogPortal = (props) => {\n const { __scopeDialog, forceMount, children, container } = props;\n const context = useDialogContext(PORTAL_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeDialog, forceMount, children: React.Children.map(children, (child) => /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children: child }) })) });\n};\nDialogPortal.displayName = PORTAL_NAME;\nvar OVERLAY_NAME = \"DialogOverlay\";\nvar DialogOverlay = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(OVERLAY_NAME, props.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, props.__scopeDialog);\n return context.modal ? /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(DialogOverlayImpl, { ...overlayProps, ref: forwardedRef }) }) : null;\n }\n);\nDialogOverlay.displayName = OVERLAY_NAME;\nvar DialogOverlayImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, __scopeDialog);\n return (\n // Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`\n // ie. when `Overlay` and `Content` are siblings\n /* @__PURE__ */ jsx(RemoveScroll, { as: Slot, allowPinchZoom: true, shards: [context.contentRef], children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": getState(context.open),\n ...overlayProps,\n ref: forwardedRef,\n style: { pointerEvents: \"auto\", ...overlayProps.style }\n }\n ) })\n );\n }\n);\nvar CONTENT_NAME = \"DialogContent\";\nvar DialogContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ jsx(DialogContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(DialogContentNonModal, { ...contentProps, ref: forwardedRef }) });\n }\n);\nDialogContent.displayName = CONTENT_NAME;\nvar DialogContentModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, context.contentRef, contentRef);\n React.useEffect(() => {\n const content = contentRef.current;\n if (content) return hideOthers(content);\n }, []);\n return /* @__PURE__ */ jsx(\n DialogContentImpl,\n {\n ...props,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: true,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n event.preventDefault();\n context.triggerRef.current?.focus();\n }),\n onPointerDownOutside: composeEventHandlers(props.onPointerDownOutside, (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n if (isRightClick) event.preventDefault();\n }),\n onFocusOutside: composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault()\n )\n }\n );\n }\n);\nvar DialogContentNonModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n const hasInteractedOutsideRef = React.useRef(false);\n const hasPointerDownOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n DialogContentImpl,\n {\n ...props,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n onCloseAutoFocus: (event) => {\n props.onCloseAutoFocus?.(event);\n if (!event.defaultPrevented) {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n event.preventDefault();\n }\n hasInteractedOutsideRef.current = false;\n hasPointerDownOutsideRef.current = false;\n },\n onInteractOutside: (event) => {\n props.onInteractOutside?.(event);\n if (!event.defaultPrevented) {\n hasInteractedOutsideRef.current = true;\n if (event.detail.originalEvent.type === \"pointerdown\") {\n hasPointerDownOutsideRef.current = true;\n }\n }\n const target = event.target;\n const targetIsTrigger = context.triggerRef.current?.contains(target);\n if (targetIsTrigger) event.preventDefault();\n if (event.detail.originalEvent.type === \"focusin\" && hasPointerDownOutsideRef.current) {\n event.preventDefault();\n }\n }\n }\n );\n }\n);\nvar DialogContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, trapFocus, onOpenAutoFocus, onCloseAutoFocus, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME, __scopeDialog);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n useFocusGuards();\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n loop: true,\n trapped: trapFocus,\n onMountAutoFocus: onOpenAutoFocus,\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n role: \"dialog\",\n id: context.contentId,\n \"aria-describedby\": context.descriptionId,\n \"aria-labelledby\": context.titleId,\n \"data-state\": getState(context.open),\n ...contentProps,\n ref: composedRefs,\n onDismiss: () => context.onOpenChange(false)\n }\n )\n }\n ),\n /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(TitleWarning, { titleId: context.titleId }),\n /* @__PURE__ */ jsx(DescriptionWarning, { contentRef, descriptionId: context.descriptionId })\n ] })\n ] });\n }\n);\nvar TITLE_NAME = \"DialogTitle\";\nvar DialogTitle = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...titleProps } = props;\n const context = useDialogContext(TITLE_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(Primitive.h2, { id: context.titleId, ...titleProps, ref: forwardedRef });\n }\n);\nDialogTitle.displayName = TITLE_NAME;\nvar DESCRIPTION_NAME = \"DialogDescription\";\nvar DialogDescription = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...descriptionProps } = props;\n const context = useDialogContext(DESCRIPTION_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(Primitive.p, { id: context.descriptionId, ...descriptionProps, ref: forwardedRef });\n }\n);\nDialogDescription.displayName = DESCRIPTION_NAME;\nvar CLOSE_NAME = \"DialogClose\";\nvar DialogClose = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...closeProps } = props;\n const context = useDialogContext(CLOSE_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n ...closeProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(props.onClick, () => context.onOpenChange(false))\n }\n );\n }\n);\nDialogClose.displayName = CLOSE_NAME;\nfunction getState(open) {\n return open ? \"open\" : \"closed\";\n}\nvar TITLE_WARNING_NAME = \"DialogTitleWarning\";\nvar [WarningProvider, useWarningContext] = createContext(TITLE_WARNING_NAME, {\n contentName: CONTENT_NAME,\n titleName: TITLE_NAME,\n docsSlug: \"dialog\"\n});\nvar TitleWarning = ({ titleId }) => {\n const titleWarningContext = useWarningContext(TITLE_WARNING_NAME);\n const MESSAGE = `\\`${titleWarningContext.contentName}\\` requires a \\`${titleWarningContext.titleName}\\` for the component to be accessible for screen reader users.\n\nIf you want to hide the \\`${titleWarningContext.titleName}\\`, you can wrap it with our VisuallyHidden component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/${titleWarningContext.docsSlug}`;\n React.useEffect(() => {\n if (titleId) {\n const hasTitle = document.getElementById(titleId);\n if (!hasTitle) console.error(MESSAGE);\n }\n }, [MESSAGE, titleId]);\n return null;\n};\nvar DESCRIPTION_WARNING_NAME = \"DialogDescriptionWarning\";\nvar DescriptionWarning = ({ contentRef, descriptionId }) => {\n const descriptionWarningContext = useWarningContext(DESCRIPTION_WARNING_NAME);\n const MESSAGE = `Warning: Missing \\`Description\\` or \\`aria-describedby={undefined}\\` for {${descriptionWarningContext.contentName}}.`;\n React.useEffect(() => {\n const describedById = contentRef.current?.getAttribute(\"aria-describedby\");\n if (descriptionId && describedById) {\n const hasDescription = document.getElementById(descriptionId);\n if (!hasDescription) console.warn(MESSAGE);\n }\n }, [MESSAGE, contentRef, descriptionId]);\n return null;\n};\nvar Root = Dialog;\nvar Trigger = DialogTrigger;\nvar Portal = DialogPortal;\nvar Overlay = DialogOverlay;\nvar Content = DialogContent;\nvar Title = DialogTitle;\nvar Description = DialogDescription;\nvar Close = DialogClose;\nexport {\n Close,\n Content,\n Description,\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n Overlay,\n Portal,\n Root,\n Title,\n Trigger,\n WarningProvider,\n createDialogScope\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["DIALOG_NAME","createDialogContext","createDialogScope","createContextScope","DialogProvider","useDialogContext","Dialog","props","__scopeDialog","children","open","openProp","defaultOpen","onOpenChange","modal","triggerRef","React","useRef","contentRef","setOpen","useControllableState","prop","defaultProp","onChange","jsx","scope","contentId","useId","titleId","descriptionId","onOpenToggle","useCallback","prevOpen","displayName","TRIGGER_NAME","DialogTrigger","forwardRef","forwardedRef","triggerProps","context","composedTriggerRef","useComposedRefs","Primitive","button","type","getState","ref","onClick","composeEventHandlers","PORTAL_NAME","PortalProvider","usePortalContext","forceMount","DialogPortal","container","Children","map","child","Presence","present","PortalPrimitive","asChild","OVERLAY_NAME","DialogOverlay","portalContext","overlayProps","DialogOverlayImpl","RemoveScroll","as","Slot","allowPinchZoom","shards","div","style","pointerEvents","CONTENT_NAME","DialogContent","contentProps","DialogContentModal","DialogContentNonModal","composedRefs","useEffect","content","current","hideOthers","DialogContentImpl","trapFocus","disableOutsidePointerEvents","onCloseAutoFocus","event","preventDefault","focus","onPointerDownOutside","originalEvent","detail","ctrlLeftClick","ctrlKey","onFocusOutside","hasInteractedOutsideRef","hasPointerDownOutsideRef","defaultPrevented","onInteractOutside","target","targetIsTrigger","contains","onOpenAutoFocus","useFocusGuards","jsxs","Fragment","FocusScope","loop","trapped","onMountAutoFocus","onUnmountAutoFocus","DismissableLayer","role","id","onDismiss","TitleWarning","DescriptionWarning","TITLE_NAME","DialogTitle","titleProps","h2","DESCRIPTION_NAME","DialogDescription","descriptionProps","p","CLOSE_NAME","DialogClose","closeProps","TITLE_WARNING_NAME","WarningProvider","useWarningContext","createContext","contentName","titleName","docsSlug","titleWarningContext","MESSAGE","document","getElementById","console","error","describedById","getAttribute","warn","Root","Trigger","Portal","Overlay","Content","Title","Description","Close"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../node_modules/@radix-ui/react-dialog/dist/index.mjs"],"sourcesContent":["\"use client\";\n\n// packages/react/dialog/src/Dialog.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContext, createContextScope } from \"@radix-ui/react-context\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { hideOthers } from \"aria-hidden\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar DIALOG_NAME = \"Dialog\";\nvar [createDialogContext, createDialogScope] = createContextScope(DIALOG_NAME);\nvar [DialogProvider, useDialogContext] = createDialogContext(DIALOG_NAME);\nvar Dialog = (props) => {\n const {\n __scopeDialog,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = true\n } = props;\n const triggerRef = React.useRef(null);\n const contentRef = React.useRef(null);\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange\n });\n return /* @__PURE__ */ jsx(\n DialogProvider,\n {\n scope: __scopeDialog,\n triggerRef,\n contentRef,\n contentId: useId(),\n titleId: useId(),\n descriptionId: useId(),\n open,\n onOpenChange: setOpen,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n modal,\n children\n }\n );\n};\nDialog.displayName = DIALOG_NAME;\nvar TRIGGER_NAME = \"DialogTrigger\";\nvar DialogTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...triggerProps } = props;\n const context = useDialogContext(TRIGGER_NAME, __scopeDialog);\n const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.contentId,\n \"data-state\": getState(context.open),\n ...triggerProps,\n ref: composedTriggerRef,\n onClick: composeEventHandlers(props.onClick, context.onOpenToggle)\n }\n );\n }\n);\nDialogTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"DialogPortal\";\nvar [PortalProvider, usePortalContext] = createDialogContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar DialogPortal = (props) => {\n const { __scopeDialog, forceMount, children, container } = props;\n const context = useDialogContext(PORTAL_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeDialog, forceMount, children: React.Children.map(children, (child) => /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children: child }) })) });\n};\nDialogPortal.displayName = PORTAL_NAME;\nvar OVERLAY_NAME = \"DialogOverlay\";\nvar DialogOverlay = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(OVERLAY_NAME, props.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, props.__scopeDialog);\n return context.modal ? /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(DialogOverlayImpl, { ...overlayProps, ref: forwardedRef }) }) : null;\n }\n);\nDialogOverlay.displayName = OVERLAY_NAME;\nvar DialogOverlayImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, __scopeDialog);\n return (\n // Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`\n // ie. when `Overlay` and `Content` are siblings\n /* @__PURE__ */ jsx(RemoveScroll, { as: Slot, allowPinchZoom: true, shards: [context.contentRef], children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": getState(context.open),\n ...overlayProps,\n ref: forwardedRef,\n style: { pointerEvents: \"auto\", ...overlayProps.style }\n }\n ) })\n );\n }\n);\nvar CONTENT_NAME = \"DialogContent\";\nvar DialogContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ jsx(DialogContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(DialogContentNonModal, { ...contentProps, ref: forwardedRef }) });\n }\n);\nDialogContent.displayName = CONTENT_NAME;\nvar DialogContentModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, context.contentRef, contentRef);\n React.useEffect(() => {\n const content = contentRef.current;\n if (content) return hideOthers(content);\n }, []);\n return /* @__PURE__ */ jsx(\n DialogContentImpl,\n {\n ...props,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: true,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n event.preventDefault();\n context.triggerRef.current?.focus();\n }),\n onPointerDownOutside: composeEventHandlers(props.onPointerDownOutside, (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n if (isRightClick) event.preventDefault();\n }),\n onFocusOutside: composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault()\n )\n }\n );\n }\n);\nvar DialogContentNonModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n const hasInteractedOutsideRef = React.useRef(false);\n const hasPointerDownOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n DialogContentImpl,\n {\n ...props,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n onCloseAutoFocus: (event) => {\n props.onCloseAutoFocus?.(event);\n if (!event.defaultPrevented) {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n event.preventDefault();\n }\n hasInteractedOutsideRef.current = false;\n hasPointerDownOutsideRef.current = false;\n },\n onInteractOutside: (event) => {\n props.onInteractOutside?.(event);\n if (!event.defaultPrevented) {\n hasInteractedOutsideRef.current = true;\n if (event.detail.originalEvent.type === \"pointerdown\") {\n hasPointerDownOutsideRef.current = true;\n }\n }\n const target = event.target;\n const targetIsTrigger = context.triggerRef.current?.contains(target);\n if (targetIsTrigger) event.preventDefault();\n if (event.detail.originalEvent.type === \"focusin\" && hasPointerDownOutsideRef.current) {\n event.preventDefault();\n }\n }\n }\n );\n }\n);\nvar DialogContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, trapFocus, onOpenAutoFocus, onCloseAutoFocus, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME, __scopeDialog);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n useFocusGuards();\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n loop: true,\n trapped: trapFocus,\n onMountAutoFocus: onOpenAutoFocus,\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n role: \"dialog\",\n id: context.contentId,\n \"aria-describedby\": context.descriptionId,\n \"aria-labelledby\": context.titleId,\n \"data-state\": getState(context.open),\n ...contentProps,\n ref: composedRefs,\n onDismiss: () => context.onOpenChange(false)\n }\n )\n }\n ),\n /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(TitleWarning, { titleId: context.titleId }),\n /* @__PURE__ */ jsx(DescriptionWarning, { contentRef, descriptionId: context.descriptionId })\n ] })\n ] });\n }\n);\nvar TITLE_NAME = \"DialogTitle\";\nvar DialogTitle = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...titleProps } = props;\n const context = useDialogContext(TITLE_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(Primitive.h2, { id: context.titleId, ...titleProps, ref: forwardedRef });\n }\n);\nDialogTitle.displayName = TITLE_NAME;\nvar DESCRIPTION_NAME = \"DialogDescription\";\nvar DialogDescription = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...descriptionProps } = props;\n const context = useDialogContext(DESCRIPTION_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(Primitive.p, { id: context.descriptionId, ...descriptionProps, ref: forwardedRef });\n }\n);\nDialogDescription.displayName = DESCRIPTION_NAME;\nvar CLOSE_NAME = \"DialogClose\";\nvar DialogClose = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...closeProps } = props;\n const context = useDialogContext(CLOSE_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n ...closeProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(props.onClick, () => context.onOpenChange(false))\n }\n );\n }\n);\nDialogClose.displayName = CLOSE_NAME;\nfunction getState(open) {\n return open ? \"open\" : \"closed\";\n}\nvar TITLE_WARNING_NAME = \"DialogTitleWarning\";\nvar [WarningProvider, useWarningContext] = createContext(TITLE_WARNING_NAME, {\n contentName: CONTENT_NAME,\n titleName: TITLE_NAME,\n docsSlug: \"dialog\"\n});\nvar TitleWarning = ({ titleId }) => {\n const titleWarningContext = useWarningContext(TITLE_WARNING_NAME);\n const MESSAGE = `\\`${titleWarningContext.contentName}\\` requires a \\`${titleWarningContext.titleName}\\` for the component to be accessible for screen reader users.\n\nIf you want to hide the \\`${titleWarningContext.titleName}\\`, you can wrap it with our VisuallyHidden component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/${titleWarningContext.docsSlug}`;\n React.useEffect(() => {\n if (titleId) {\n const hasTitle = document.getElementById(titleId);\n if (!hasTitle) console.error(MESSAGE);\n }\n }, [MESSAGE, titleId]);\n return null;\n};\nvar DESCRIPTION_WARNING_NAME = \"DialogDescriptionWarning\";\nvar DescriptionWarning = ({ contentRef, descriptionId }) => {\n const descriptionWarningContext = useWarningContext(DESCRIPTION_WARNING_NAME);\n const MESSAGE = `Warning: Missing \\`Description\\` or \\`aria-describedby={undefined}\\` for {${descriptionWarningContext.contentName}}.`;\n React.useEffect(() => {\n const describedById = contentRef.current?.getAttribute(\"aria-describedby\");\n if (descriptionId && describedById) {\n const hasDescription = document.getElementById(descriptionId);\n if (!hasDescription) console.warn(MESSAGE);\n }\n }, [MESSAGE, contentRef, descriptionId]);\n return null;\n};\nvar Root = Dialog;\nvar Trigger = DialogTrigger;\nvar Portal = DialogPortal;\nvar Overlay = DialogOverlay;\nvar Content = DialogContent;\nvar Title = DialogTitle;\nvar Description = DialogDescription;\nvar Close = DialogClose;\nexport {\n Close,\n Content,\n Description,\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n Overlay,\n Portal,\n Root,\n Title,\n Trigger,\n WarningProvider,\n createDialogScope\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["DIALOG_NAME","createDialogContext","createDialogScope","createContextScope","DialogProvider","useDialogContext","Dialog","props","__scopeDialog","children","open","openProp","defaultOpen","onOpenChange","modal","triggerRef","React","useRef","contentRef","setOpen","useControllableState","prop","defaultProp","onChange","jsx","scope","contentId","useId","titleId","descriptionId","onOpenToggle","useCallback","prevOpen","displayName","TRIGGER_NAME","DialogTrigger","forwardRef","forwardedRef","triggerProps","context","composedTriggerRef","useComposedRefs","Primitive","button","type","getState","ref","onClick","composeEventHandlers","PORTAL_NAME","PortalProvider","usePortalContext","forceMount","DialogPortal","container","Children","map","child","Presence","present","PortalPrimitive","asChild","OVERLAY_NAME","DialogOverlay","portalContext","overlayProps","DialogOverlayImpl","RemoveScroll","as","Slot","allowPinchZoom","shards","div","style","pointerEvents","CONTENT_NAME","DialogContent","contentProps","DialogContentModal","DialogContentNonModal","composedRefs","useEffect","content","current","hideOthers","DialogContentImpl","trapFocus","disableOutsidePointerEvents","onCloseAutoFocus","event","preventDefault","focus","onPointerDownOutside","originalEvent","detail","ctrlLeftClick","ctrlKey","onFocusOutside","hasInteractedOutsideRef","hasPointerDownOutsideRef","defaultPrevented","onInteractOutside","target","targetIsTrigger","contains","onOpenAutoFocus","useFocusGuards","jsxs","Fragment","FocusScope","loop","trapped","onMountAutoFocus","onUnmountAutoFocus","DismissableLayer","role","id","onDismiss","TitleWarning","DescriptionWarning","TITLE_NAME","DialogTitle","titleProps","h2","DESCRIPTION_NAME","DialogDescription","descriptionProps","p","CLOSE_NAME","DialogClose","closeProps","TITLE_WARNING_NAME","WarningProvider","useWarningContext","createContext","contentName","titleName","docsSlug","titleWarningContext","MESSAGE","document","getElementById","console","error","describedById","getAttribute","warn","Root","Trigger","Portal","Overlay","Content","Title","Description","Close"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import*as e from"react";import{composeEventHandlers as n}from"../../primitive/dist/index.mjs";import{createCollection as t}from"../../react-collection/dist/index.mjs";import{useComposedRefs as r,composeRefs as o}from"../../react-compose-refs/dist/index.mjs";import{createContextScope as s}from"../../react-context/dist/index.mjs";import{useDirection as c}from"../../react-direction/dist/index.mjs";import{DismissableLayer as i}from"../../react-dismissable-layer/dist/index.mjs";import{useFocusGuards as a}from"../../react-focus-guards/dist/index.mjs";import{FocusScope as u}from"../../react-focus-scope/dist/index.mjs";import{useId as d}from"../../react-id/dist/index.mjs";import{createPopperScope as l,Anchor as f,Content as p,Arrow as m,Root as h}from"../../react-popper/dist/index.mjs";import{Portal as v}from"../../react-portal/dist/index.mjs";import{Presence as g}from"../../react-presence/dist/index.mjs";import{Primitive as x,dispatchDiscreteCustomEvent as _}from"../../react-primitive/dist/index.mjs";import{createRovingFocusGroupScope as w,Root as M,Item as j}from"../../react-roving-focus/dist/index.mjs";import{Slot as y}from"../../react-slot/dist/index.mjs";import{useCallbackRef as C}from"../../react-use-callback-ref/dist/index.mjs";import{hideOthers as b}from"../../../aria-hidden/dist/es2015/index.mjs";import R from"../../../react-remove-scroll/dist/es2015/Combination.mjs";import{j as k}from"../../../../_virtual/jsx-runtime.mjs";var P=["Enter"," "],D=["ArrowUp","PageDown","End"],E=["ArrowDown","PageUp","Home",...D],O={ltr:[...P,"ArrowRight"],rtl:[...P,"ArrowLeft"]},I={ltr:["ArrowLeft"],rtl:["ArrowRight"]},T="Menu",[S,F,L]=t(T),[K,A]=s(T,[L,l,w]),N=l(),G=w(),[V,U]=K(T),[B,X]=K(T),Y=n=>{const{__scopeMenu:t,open:r=!1,children:o,dir:s,onOpenChange:i,modal:a=!0}=n,u=N(t),[d,l]=e.useState(null),f=e.useRef(!1),p=C(i),m=c(s);return e.useEffect((()=>{const e=()=>{f.current=!0,document.addEventListener("pointerdown",n,{capture:!0,once:!0}),document.addEventListener("pointermove",n,{capture:!0,once:!0})},n=()=>f.current=!1;return document.addEventListener("keydown",e,{capture:!0}),()=>{document.removeEventListener("keydown",e,{capture:!0}),document.removeEventListener("pointerdown",n,{capture:!0}),document.removeEventListener("pointermove",n,{capture:!0})}}),[]),k.jsx(h,{...u,children:k.jsx(V,{scope:t,open:r,onOpenChange:p,content:d,onContentChange:l,children:k.jsx(B,{scope:t,onClose:e.useCallback((()=>p(!1)),[p]),isUsingKeyboardRef:f,dir:m,modal:a,children:o})})})};Y.displayName=T;var z=e.forwardRef(((e,n)=>{const{__scopeMenu:t,...r}=e,o=N(t);return k.jsx(f,{...o,...r,ref:n})}));z.displayName="MenuAnchor";var H="MenuPortal",[W,Z]=K(H,{forceMount:void 0}),q=e=>{const{__scopeMenu:n,forceMount:t,children:r,container:o}=e,s=U(H,n);return k.jsx(W,{scope:n,forceMount:t,children:k.jsx(g,{present:t||s.open,children:k.jsx(v,{asChild:!0,container:o,children:r})})})};q.displayName=H;var J="MenuContent",[Q,$]=K(J),ee=e.forwardRef(((e,n)=>{const t=Z(J,e.__scopeMenu),{forceMount:r=t.forceMount,...o}=e,s=U(J,e.__scopeMenu),c=X(J,e.__scopeMenu);return k.jsx(S.Provider,{scope:e.__scopeMenu,children:k.jsx(g,{present:r||s.open,children:k.jsx(S.Slot,{scope:e.__scopeMenu,children:c.modal?k.jsx(ne,{...o,ref:n}):k.jsx(te,{...o,ref:n})})})})})),ne=e.forwardRef(((t,o)=>{const s=U(J,t.__scopeMenu),c=e.useRef(null),i=r(o,c);return e.useEffect((()=>{const e=c.current;if(e)return b(e)}),[]),k.jsx(re,{...t,ref:i,trapFocus:s.open,disableOutsidePointerEvents:s.open,disableOutsideScroll:!0,onFocusOutside:n(t.onFocusOutside,(e=>e.preventDefault()),{checkForDefaultPrevented:!1}),onDismiss:()=>s.onOpenChange(!1)})})),te=e.forwardRef(((e,n)=>{const t=U(J,e.__scopeMenu);return k.jsx(re,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>t.onOpenChange(!1)})})),re=e.forwardRef(((t,o)=>{const{__scopeMenu:s,loop:c=!1,trapFocus:d,onOpenAutoFocus:l,onCloseAutoFocus:f,disableOutsidePointerEvents:m,onEntryFocus:h,onEscapeKeyDown:v,onPointerDownOutside:g,onFocusOutside:x,onInteractOutside:_,onDismiss:w,disableOutsideScroll:j,...C}=t,b=U(J,s),P=X(J,s),O=N(s),I=G(s),T=F(s),[S,L]=e.useState(null),K=e.useRef(null),A=r(o,K,b.onContentChange),V=e.useRef(0),B=e.useRef(""),Y=e.useRef(0),z=e.useRef(null),H=e.useRef("right"),W=e.useRef(0),Z=j?R:e.Fragment,q=j?{as:y,allowPinchZoom:!0}:void 0,$=e=>{const n=B.current+e,t=T().filter((e=>!e.disabled)),r=document.activeElement,o=t.find((e=>e.ref.current===r))?.textValue,s=function(e,n,t){const r=n.length>1&&Array.from(n).every((e=>e===n[0])),o=r?n[0]:n,s=t?e.indexOf(t):-1;let c=(i=e,a=Math.max(s,0),i.map(((e,n)=>i[(a+n)%i.length])));var i,a;1===o.length&&(c=c.filter((e=>e!==t)));const u=c.find((e=>e.toLowerCase().startsWith(o.toLowerCase())));return u!==t?u:void 0}(t.map((e=>e.textValue)),n,o),c=t.find((e=>e.textValue===s))?.ref.current;!function e(n){B.current=n,window.clearTimeout(V.current),""!==n&&(V.current=window.setTimeout((()=>e("")),1e3))}(n),c&&setTimeout((()=>c.focus()))};e.useEffect((()=>()=>window.clearTimeout(V.current)),[]),a();const ee=e.useCallback((e=>H.current===z.current?.side&&function(e,n){if(!n)return!1;const t={x:e.clientX,y:e.clientY};return function(e,n){const{x:t,y:r}=e;let o=!1;for(let e=0,s=n.length-1;e<n.length;s=e++){const c=n[e].x,i=n[e].y,a=n[s].x,u=n[s].y;i>r!=u>r&&t<(a-c)*(r-i)/(u-i)+c&&(o=!o)}return o}(t,n)}(e,z.current?.area)),[]);return k.jsx(Q,{scope:s,searchRef:B,onItemEnter:e.useCallback((e=>{ee(e)&&e.preventDefault()}),[ee]),onItemLeave:e.useCallback((e=>{ee(e)||(K.current?.focus(),L(null))}),[ee]),onTriggerLeave:e.useCallback((e=>{ee(e)&&e.preventDefault()}),[ee]),pointerGraceTimerRef:Y,onPointerGraceIntentChange:e.useCallback((e=>{z.current=e}),[]),children:k.jsx(Z,{...q,children:k.jsx(u,{asChild:!0,trapped:d,onMountAutoFocus:n(l,(e=>{e.preventDefault(),K.current?.focus({preventScroll:!0})})),onUnmountAutoFocus:f,children:k.jsx(i,{asChild:!0,disableOutsidePointerEvents:m,onEscapeKeyDown:v,onPointerDownOutside:g,onFocusOutside:x,onInteractOutside:_,onDismiss:w,children:k.jsx(M,{asChild:!0,...I,dir:P.dir,orientation:"vertical",loop:c,currentTabStopId:S,onCurrentTabStopIdChange:L,onEntryFocus:n(h,(e=>{P.isUsingKeyboardRef.current||e.preventDefault()})),preventScrollOnEntryFocus:!0,children:k.jsx(p,{role:"menu","aria-orientation":"vertical","data-state":Oe(b.open),"data-radix-menu-content":"",dir:P.dir,...O,...C,ref:A,style:{outline:"none",...C.style},onKeyDown:n(C.onKeyDown,(e=>{const n=e.target.closest("[data-radix-menu-content]")===e.currentTarget,t=e.ctrlKey||e.altKey||e.metaKey,r=1===e.key.length;n&&("Tab"===e.key&&e.preventDefault(),!t&&r&&$(e.key));const o=K.current;if(e.target!==o)return;if(!E.includes(e.key))return;e.preventDefault();const s=T().filter((e=>!e.disabled)).map((e=>e.ref.current));D.includes(e.key)&&s.reverse(),function(e){const n=document.activeElement;for(const t of e){if(t===n)return;if(t.focus(),document.activeElement!==n)return}}(s)})),onBlur:n(t.onBlur,(e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(V.current),B.current="")})),onPointerMove:n(t.onPointerMove,Se((e=>{const n=e.target,t=W.current!==e.clientX;if(e.currentTarget.contains(n)&&t){const n=e.clientX>W.current?"right":"left";H.current=n,W.current=e.clientX}})))})})})})})})}));ee.displayName=J;var oe=e.forwardRef(((e,n)=>{const{__scopeMenu:t,...r}=e;return k.jsx(x.div,{role:"group",...r,ref:n})}));oe.displayName="MenuGroup";var se=e.forwardRef(((e,n)=>{const{__scopeMenu:t,...r}=e;return k.jsx(x.div,{...r,ref:n})}));se.displayName="MenuLabel";var ce="MenuItem",ie="menu.itemSelect",ae=e.forwardRef(((t,o)=>{const{disabled:s=!1,onSelect:c,...i}=t,a=e.useRef(null),u=X(ce,t.__scopeMenu),d=$(ce,t.__scopeMenu),l=r(o,a),f=e.useRef(!1);return k.jsx(ue,{...i,ref:l,disabled:s,onClick:n(t.onClick,(()=>{const e=a.current;if(!s&&e){const n=new CustomEvent(ie,{bubbles:!0,cancelable:!0});e.addEventListener(ie,(e=>c?.(e)),{once:!0}),_(e,n),n.defaultPrevented?f.current=!1:u.onClose()}})),onPointerDown:e=>{t.onPointerDown?.(e),f.current=!0},onPointerUp:n(t.onPointerUp,(e=>{f.current||e.currentTarget?.click()})),onKeyDown:n(t.onKeyDown,(e=>{const n=""!==d.searchRef.current;s||n&&" "===e.key||P.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())}))})}));ae.displayName=ce;var ue=e.forwardRef(((t,o)=>{const{__scopeMenu:s,disabled:c=!1,textValue:i,...a}=t,u=$(ce,s),d=G(s),l=e.useRef(null),f=r(o,l),[p,m]=e.useState(!1),[h,v]=e.useState("");return e.useEffect((()=>{const e=l.current;e&&v((e.textContent??"").trim())}),[a.children]),k.jsx(S.ItemSlot,{scope:s,disabled:c,textValue:i??h,children:k.jsx(j,{asChild:!0,...d,focusable:!c,children:k.jsx(x.div,{role:"menuitem","data-highlighted":p?"":void 0,"aria-disabled":c||void 0,"data-disabled":c?"":void 0,...a,ref:f,onPointerMove:n(t.onPointerMove,Se((e=>{if(c)u.onItemLeave(e);else if(u.onItemEnter(e),!e.defaultPrevented){e.currentTarget.focus({preventScroll:!0})}}))),onPointerLeave:n(t.onPointerLeave,Se((e=>u.onItemLeave(e)))),onFocus:n(t.onFocus,(()=>m(!0))),onBlur:n(t.onBlur,(()=>m(!1)))})})})})),de=e.forwardRef(((e,t)=>{const{checked:r=!1,onCheckedChange:o,...s}=e;return k.jsx(xe,{scope:e.__scopeMenu,checked:r,children:k.jsx(ae,{role:"menuitemcheckbox","aria-checked":Ie(r)?"mixed":r,...s,ref:t,"data-state":Te(r),onSelect:n(s.onSelect,(()=>o?.(!!Ie(r)||!r)),{checkForDefaultPrevented:!1})})})}));de.displayName="MenuCheckboxItem";var le="MenuRadioGroup",[fe,pe]=K(le,{value:void 0,onValueChange:()=>{}}),me=e.forwardRef(((e,n)=>{const{value:t,onValueChange:r,...o}=e,s=C(r);return k.jsx(fe,{scope:e.__scopeMenu,value:t,onValueChange:s,children:k.jsx(oe,{...o,ref:n})})}));me.displayName=le;var he="MenuRadioItem",ve=e.forwardRef(((e,t)=>{const{value:r,...o}=e,s=pe(he,e.__scopeMenu),c=r===s.value;return k.jsx(xe,{scope:e.__scopeMenu,checked:c,children:k.jsx(ae,{role:"menuitemradio","aria-checked":c,...o,ref:t,"data-state":Te(c),onSelect:n(o.onSelect,(()=>s.onValueChange?.(r)),{checkForDefaultPrevented:!1})})})}));ve.displayName=he;var ge="MenuItemIndicator",[xe,_e]=K(ge,{checked:!1}),we=e.forwardRef(((e,n)=>{const{__scopeMenu:t,forceMount:r,...o}=e,s=_e(ge,t);return k.jsx(g,{present:r||Ie(s.checked)||!0===s.checked,children:k.jsx(x.span,{...o,ref:n,"data-state":Te(s.checked)})})}));we.displayName=ge;var Me=e.forwardRef(((e,n)=>{const{__scopeMenu:t,...r}=e;return k.jsx(x.div,{role:"separator","aria-orientation":"horizontal",...r,ref:n})}));Me.displayName="MenuSeparator";var je=e.forwardRef(((e,n)=>{const{__scopeMenu:t,...r}=e,o=N(t);return k.jsx(m,{...o,...r,ref:n})}));je.displayName="MenuArrow";var ye="MenuSub",[Ce,be]=K(ye),Re=n=>{const{__scopeMenu:t,children:r,open:o=!1,onOpenChange:s}=n,c=U(ye,t),i=N(t),[a,u]=e.useState(null),[l,f]=e.useState(null),p=C(s);return e.useEffect((()=>(!1===c.open&&p(!1),()=>p(!1))),[c.open,p]),k.jsx(h,{...i,children:k.jsx(V,{scope:t,open:o,onOpenChange:p,content:l,onContentChange:f,children:k.jsx(Ce,{scope:t,contentId:d(),triggerId:d(),trigger:a,onTriggerChange:u,children:r})})})};Re.displayName=ye;var ke="MenuSubTrigger",Pe=e.forwardRef(((t,r)=>{const s=U(ke,t.__scopeMenu),c=X(ke,t.__scopeMenu),i=be(ke,t.__scopeMenu),a=$(ke,t.__scopeMenu),u=e.useRef(null),{pointerGraceTimerRef:d,onPointerGraceIntentChange:l}=a,f={__scopeMenu:t.__scopeMenu},p=e.useCallback((()=>{u.current&&window.clearTimeout(u.current),u.current=null}),[]);return e.useEffect((()=>p),[p]),e.useEffect((()=>{const e=d.current;return()=>{window.clearTimeout(e),l(null)}}),[d,l]),k.jsx(z,{asChild:!0,...f,children:k.jsx(ue,{id:i.triggerId,"aria-haspopup":"menu","aria-expanded":s.open,"aria-controls":i.contentId,"data-state":Oe(s.open),...t,ref:o(r,i.onTriggerChange),onClick:e=>{t.onClick?.(e),t.disabled||e.defaultPrevented||(e.currentTarget.focus(),s.open||s.onOpenChange(!0))},onPointerMove:n(t.onPointerMove,Se((e=>{a.onItemEnter(e),e.defaultPrevented||t.disabled||s.open||u.current||(a.onPointerGraceIntentChange(null),u.current=window.setTimeout((()=>{s.onOpenChange(!0),p()}),100))}))),onPointerLeave:n(t.onPointerLeave,Se((e=>{p();const n=s.content?.getBoundingClientRect();if(n){const t=s.content?.dataset.side,r="right"===t,o=r?-5:5,c=n[r?"left":"right"],i=n[r?"right":"left"];a.onPointerGraceIntentChange({area:[{x:e.clientX+o,y:e.clientY},{x:c,y:n.top},{x:i,y:n.top},{x:i,y:n.bottom},{x:c,y:n.bottom}],side:t}),window.clearTimeout(d.current),d.current=window.setTimeout((()=>a.onPointerGraceIntentChange(null)),300)}else{if(a.onTriggerLeave(e),e.defaultPrevented)return;a.onPointerGraceIntentChange(null)}}))),onKeyDown:n(t.onKeyDown,(e=>{const n=""!==a.searchRef.current;t.disabled||n&&" "===e.key||O[c.dir].includes(e.key)&&(s.onOpenChange(!0),s.content?.focus(),e.preventDefault())}))})})}));Pe.displayName=ke;var De="MenuSubContent",Ee=e.forwardRef(((t,o)=>{const s=Z(J,t.__scopeMenu),{forceMount:c=s.forceMount,...i}=t,a=U(J,t.__scopeMenu),u=X(J,t.__scopeMenu),d=be(De,t.__scopeMenu),l=e.useRef(null),f=r(o,l);return k.jsx(S.Provider,{scope:t.__scopeMenu,children:k.jsx(g,{present:c||a.open,children:k.jsx(S.Slot,{scope:t.__scopeMenu,children:k.jsx(re,{id:d.contentId,"aria-labelledby":d.triggerId,...i,ref:f,align:"start",side:"rtl"===u.dir?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{u.isUsingKeyboardRef.current&&l.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:n(t.onFocusOutside,(e=>{e.target!==d.trigger&&a.onOpenChange(!1)})),onEscapeKeyDown:n(t.onEscapeKeyDown,(e=>{u.onClose(),e.preventDefault()})),onKeyDown:n(t.onKeyDown,(e=>{const n=e.currentTarget.contains(e.target),t=I[u.dir].includes(e.key);n&&t&&(a.onOpenChange(!1),d.trigger?.focus(),e.preventDefault())}))})})})})}));function Oe(e){return e?"open":"closed"}function Ie(e){return"indeterminate"===e}function Te(e){return Ie(e)?"indeterminate":e?"checked":"unchecked"}function Se(e){return n=>"mouse"===n.pointerType?e(n):void 0}Ee.displayName=De;var Fe=Y,Le=z,Ke=q,Ae=ee,Ne=oe,Ge=se,Ve=ae,Ue=de,Be=me,Xe=ve,Ye=we,ze=Me,He=je,We=Re,Ze=Pe,qe=Ee;export{Le as Anchor,He as Arrow,Ue as CheckboxItem,Ae as Content,Ne as Group,Ve as Item,Ye as ItemIndicator,Ge as Label,Y as Menu,z as MenuAnchor,je as MenuArrow,de as MenuCheckboxItem,ee as MenuContent,oe as MenuGroup,ae as MenuItem,we as MenuItemIndicator,se as MenuLabel,q as MenuPortal,me as MenuRadioGroup,ve as MenuRadioItem,Me as MenuSeparator,Re as MenuSub,Ee as MenuSubContent,Pe as MenuSubTrigger,Ke as Portal,Be as RadioGroup,Xe as RadioItem,Fe as Root,ze as Separator,We as Sub,qe as SubContent,Ze as SubTrigger,A as createMenuScope};
1
+ import*as e from"react";import{composeEventHandlers as n}from"../../primitive/dist/index.mjs";import{createCollection as t}from"../../react-collection/dist/index.mjs";import{useComposedRefs as r,composeRefs as o}from"../../react-compose-refs/dist/index.mjs";import{createContextScope as s}from"../../react-context/dist/index.mjs";import{useDirection as c}from"../../react-direction/dist/index.mjs";import{DismissableLayer as a}from"../../react-dismissable-layer/dist/index.mjs";import{useFocusGuards as i}from"../../react-focus-guards/dist/index.mjs";import{FocusScope as u}from"../../react-focus-scope/dist/index.mjs";import{useId as d}from"../../react-id/dist/index.mjs";import{createPopperScope as l,Anchor as f,Content as p,Arrow as m,Root as h}from"../../react-popper/dist/index.mjs";import{Portal as v}from"../../react-portal/dist/index.mjs";import{Presence as g}from"../../react-presence/dist/index.mjs";import{Primitive as x,dispatchDiscreteCustomEvent as _}from"../../react-primitive/dist/index.mjs";import{createRovingFocusGroupScope as w,Root as M,Item as y}from"../../react-roving-focus/dist/index.mjs";import{Slot as j}from"../../react-slot/dist/index.mjs";import{useCallbackRef as C}from"../../react-use-callback-ref/dist/index.mjs";import{hideOthers as b}from"aria-hidden";import{RemoveScroll as R}from"react-remove-scroll";import{j as k}from"../../../../_virtual/jsx-runtime.mjs";var P=["Enter"," "],D=["ArrowUp","PageDown","End"],E=["ArrowDown","PageUp","Home",...D],O={ltr:[...P,"ArrowRight"],rtl:[...P,"ArrowLeft"]},I={ltr:["ArrowLeft"],rtl:["ArrowRight"]},T="Menu",[S,F,L]=t(T),[K,A]=s(T,[L,l,w]),N=l(),G=w(),[V,U]=K(T),[B,X]=K(T),Y=n=>{const{__scopeMenu:t,open:r=!1,children:o,dir:s,onOpenChange:a,modal:i=!0}=n,u=N(t),[d,l]=e.useState(null),f=e.useRef(!1),p=C(a),m=c(s);return e.useEffect((()=>{const e=()=>{f.current=!0,document.addEventListener("pointerdown",n,{capture:!0,once:!0}),document.addEventListener("pointermove",n,{capture:!0,once:!0})},n=()=>f.current=!1;return document.addEventListener("keydown",e,{capture:!0}),()=>{document.removeEventListener("keydown",e,{capture:!0}),document.removeEventListener("pointerdown",n,{capture:!0}),document.removeEventListener("pointermove",n,{capture:!0})}}),[]),k.jsx(h,{...u,children:k.jsx(V,{scope:t,open:r,onOpenChange:p,content:d,onContentChange:l,children:k.jsx(B,{scope:t,onClose:e.useCallback((()=>p(!1)),[p]),isUsingKeyboardRef:f,dir:m,modal:i,children:o})})})};Y.displayName=T;var z=e.forwardRef(((e,n)=>{const{__scopeMenu:t,...r}=e,o=N(t);return k.jsx(f,{...o,...r,ref:n})}));z.displayName="MenuAnchor";var H="MenuPortal",[W,Z]=K(H,{forceMount:void 0}),q=e=>{const{__scopeMenu:n,forceMount:t,children:r,container:o}=e,s=U(H,n);return k.jsx(W,{scope:n,forceMount:t,children:k.jsx(g,{present:t||s.open,children:k.jsx(v,{asChild:!0,container:o,children:r})})})};q.displayName=H;var J="MenuContent",[Q,$]=K(J),ee=e.forwardRef(((e,n)=>{const t=Z(J,e.__scopeMenu),{forceMount:r=t.forceMount,...o}=e,s=U(J,e.__scopeMenu),c=X(J,e.__scopeMenu);return k.jsx(S.Provider,{scope:e.__scopeMenu,children:k.jsx(g,{present:r||s.open,children:k.jsx(S.Slot,{scope:e.__scopeMenu,children:c.modal?k.jsx(ne,{...o,ref:n}):k.jsx(te,{...o,ref:n})})})})})),ne=e.forwardRef(((t,o)=>{const s=U(J,t.__scopeMenu),c=e.useRef(null),a=r(o,c);return e.useEffect((()=>{const e=c.current;if(e)return b(e)}),[]),k.jsx(re,{...t,ref:a,trapFocus:s.open,disableOutsidePointerEvents:s.open,disableOutsideScroll:!0,onFocusOutside:n(t.onFocusOutside,(e=>e.preventDefault()),{checkForDefaultPrevented:!1}),onDismiss:()=>s.onOpenChange(!1)})})),te=e.forwardRef(((e,n)=>{const t=U(J,e.__scopeMenu);return k.jsx(re,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>t.onOpenChange(!1)})})),re=e.forwardRef(((t,o)=>{const{__scopeMenu:s,loop:c=!1,trapFocus:d,onOpenAutoFocus:l,onCloseAutoFocus:f,disableOutsidePointerEvents:m,onEntryFocus:h,onEscapeKeyDown:v,onPointerDownOutside:g,onFocusOutside:x,onInteractOutside:_,onDismiss:w,disableOutsideScroll:y,...C}=t,b=U(J,s),P=X(J,s),O=N(s),I=G(s),T=F(s),[S,L]=e.useState(null),K=e.useRef(null),A=r(o,K,b.onContentChange),V=e.useRef(0),B=e.useRef(""),Y=e.useRef(0),z=e.useRef(null),H=e.useRef("right"),W=e.useRef(0),Z=y?R:e.Fragment,q=y?{as:j,allowPinchZoom:!0}:void 0,$=e=>{const n=B.current+e,t=T().filter((e=>!e.disabled)),r=document.activeElement,o=t.find((e=>e.ref.current===r))?.textValue,s=function(e,n,t){const r=n.length>1&&Array.from(n).every((e=>e===n[0])),o=r?n[0]:n,s=t?e.indexOf(t):-1;let c=(a=e,i=Math.max(s,0),a.map(((e,n)=>a[(i+n)%a.length])));var a,i;1===o.length&&(c=c.filter((e=>e!==t)));const u=c.find((e=>e.toLowerCase().startsWith(o.toLowerCase())));return u!==t?u:void 0}(t.map((e=>e.textValue)),n,o),c=t.find((e=>e.textValue===s))?.ref.current;!function e(n){B.current=n,window.clearTimeout(V.current),""!==n&&(V.current=window.setTimeout((()=>e("")),1e3))}(n),c&&setTimeout((()=>c.focus()))};e.useEffect((()=>()=>window.clearTimeout(V.current)),[]),i();const ee=e.useCallback((e=>H.current===z.current?.side&&function(e,n){if(!n)return!1;const t={x:e.clientX,y:e.clientY};return function(e,n){const{x:t,y:r}=e;let o=!1;for(let e=0,s=n.length-1;e<n.length;s=e++){const c=n[e].x,a=n[e].y,i=n[s].x,u=n[s].y;a>r!=u>r&&t<(i-c)*(r-a)/(u-a)+c&&(o=!o)}return o}(t,n)}(e,z.current?.area)),[]);return k.jsx(Q,{scope:s,searchRef:B,onItemEnter:e.useCallback((e=>{ee(e)&&e.preventDefault()}),[ee]),onItemLeave:e.useCallback((e=>{ee(e)||(K.current?.focus(),L(null))}),[ee]),onTriggerLeave:e.useCallback((e=>{ee(e)&&e.preventDefault()}),[ee]),pointerGraceTimerRef:Y,onPointerGraceIntentChange:e.useCallback((e=>{z.current=e}),[]),children:k.jsx(Z,{...q,children:k.jsx(u,{asChild:!0,trapped:d,onMountAutoFocus:n(l,(e=>{e.preventDefault(),K.current?.focus({preventScroll:!0})})),onUnmountAutoFocus:f,children:k.jsx(a,{asChild:!0,disableOutsidePointerEvents:m,onEscapeKeyDown:v,onPointerDownOutside:g,onFocusOutside:x,onInteractOutside:_,onDismiss:w,children:k.jsx(M,{asChild:!0,...I,dir:P.dir,orientation:"vertical",loop:c,currentTabStopId:S,onCurrentTabStopIdChange:L,onEntryFocus:n(h,(e=>{P.isUsingKeyboardRef.current||e.preventDefault()})),preventScrollOnEntryFocus:!0,children:k.jsx(p,{role:"menu","aria-orientation":"vertical","data-state":Oe(b.open),"data-radix-menu-content":"",dir:P.dir,...O,...C,ref:A,style:{outline:"none",...C.style},onKeyDown:n(C.onKeyDown,(e=>{const n=e.target.closest("[data-radix-menu-content]")===e.currentTarget,t=e.ctrlKey||e.altKey||e.metaKey,r=1===e.key.length;n&&("Tab"===e.key&&e.preventDefault(),!t&&r&&$(e.key));const o=K.current;if(e.target!==o)return;if(!E.includes(e.key))return;e.preventDefault();const s=T().filter((e=>!e.disabled)).map((e=>e.ref.current));D.includes(e.key)&&s.reverse(),function(e){const n=document.activeElement;for(const t of e){if(t===n)return;if(t.focus(),document.activeElement!==n)return}}(s)})),onBlur:n(t.onBlur,(e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(V.current),B.current="")})),onPointerMove:n(t.onPointerMove,Se((e=>{const n=e.target,t=W.current!==e.clientX;if(e.currentTarget.contains(n)&&t){const n=e.clientX>W.current?"right":"left";H.current=n,W.current=e.clientX}})))})})})})})})}));ee.displayName=J;var oe=e.forwardRef(((e,n)=>{const{__scopeMenu:t,...r}=e;return k.jsx(x.div,{role:"group",...r,ref:n})}));oe.displayName="MenuGroup";var se=e.forwardRef(((e,n)=>{const{__scopeMenu:t,...r}=e;return k.jsx(x.div,{...r,ref:n})}));se.displayName="MenuLabel";var ce="MenuItem",ae="menu.itemSelect",ie=e.forwardRef(((t,o)=>{const{disabled:s=!1,onSelect:c,...a}=t,i=e.useRef(null),u=X(ce,t.__scopeMenu),d=$(ce,t.__scopeMenu),l=r(o,i),f=e.useRef(!1);return k.jsx(ue,{...a,ref:l,disabled:s,onClick:n(t.onClick,(()=>{const e=i.current;if(!s&&e){const n=new CustomEvent(ae,{bubbles:!0,cancelable:!0});e.addEventListener(ae,(e=>c?.(e)),{once:!0}),_(e,n),n.defaultPrevented?f.current=!1:u.onClose()}})),onPointerDown:e=>{t.onPointerDown?.(e),f.current=!0},onPointerUp:n(t.onPointerUp,(e=>{f.current||e.currentTarget?.click()})),onKeyDown:n(t.onKeyDown,(e=>{const n=""!==d.searchRef.current;s||n&&" "===e.key||P.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())}))})}));ie.displayName=ce;var ue=e.forwardRef(((t,o)=>{const{__scopeMenu:s,disabled:c=!1,textValue:a,...i}=t,u=$(ce,s),d=G(s),l=e.useRef(null),f=r(o,l),[p,m]=e.useState(!1),[h,v]=e.useState("");return e.useEffect((()=>{const e=l.current;e&&v((e.textContent??"").trim())}),[i.children]),k.jsx(S.ItemSlot,{scope:s,disabled:c,textValue:a??h,children:k.jsx(y,{asChild:!0,...d,focusable:!c,children:k.jsx(x.div,{role:"menuitem","data-highlighted":p?"":void 0,"aria-disabled":c||void 0,"data-disabled":c?"":void 0,...i,ref:f,onPointerMove:n(t.onPointerMove,Se((e=>{if(c)u.onItemLeave(e);else if(u.onItemEnter(e),!e.defaultPrevented){e.currentTarget.focus({preventScroll:!0})}}))),onPointerLeave:n(t.onPointerLeave,Se((e=>u.onItemLeave(e)))),onFocus:n(t.onFocus,(()=>m(!0))),onBlur:n(t.onBlur,(()=>m(!1)))})})})})),de=e.forwardRef(((e,t)=>{const{checked:r=!1,onCheckedChange:o,...s}=e;return k.jsx(xe,{scope:e.__scopeMenu,checked:r,children:k.jsx(ie,{role:"menuitemcheckbox","aria-checked":Ie(r)?"mixed":r,...s,ref:t,"data-state":Te(r),onSelect:n(s.onSelect,(()=>o?.(!!Ie(r)||!r)),{checkForDefaultPrevented:!1})})})}));de.displayName="MenuCheckboxItem";var le="MenuRadioGroup",[fe,pe]=K(le,{value:void 0,onValueChange:()=>{}}),me=e.forwardRef(((e,n)=>{const{value:t,onValueChange:r,...o}=e,s=C(r);return k.jsx(fe,{scope:e.__scopeMenu,value:t,onValueChange:s,children:k.jsx(oe,{...o,ref:n})})}));me.displayName=le;var he="MenuRadioItem",ve=e.forwardRef(((e,t)=>{const{value:r,...o}=e,s=pe(he,e.__scopeMenu),c=r===s.value;return k.jsx(xe,{scope:e.__scopeMenu,checked:c,children:k.jsx(ie,{role:"menuitemradio","aria-checked":c,...o,ref:t,"data-state":Te(c),onSelect:n(o.onSelect,(()=>s.onValueChange?.(r)),{checkForDefaultPrevented:!1})})})}));ve.displayName=he;var ge="MenuItemIndicator",[xe,_e]=K(ge,{checked:!1}),we=e.forwardRef(((e,n)=>{const{__scopeMenu:t,forceMount:r,...o}=e,s=_e(ge,t);return k.jsx(g,{present:r||Ie(s.checked)||!0===s.checked,children:k.jsx(x.span,{...o,ref:n,"data-state":Te(s.checked)})})}));we.displayName=ge;var Me=e.forwardRef(((e,n)=>{const{__scopeMenu:t,...r}=e;return k.jsx(x.div,{role:"separator","aria-orientation":"horizontal",...r,ref:n})}));Me.displayName="MenuSeparator";var ye=e.forwardRef(((e,n)=>{const{__scopeMenu:t,...r}=e,o=N(t);return k.jsx(m,{...o,...r,ref:n})}));ye.displayName="MenuArrow";var je="MenuSub",[Ce,be]=K(je),Re=n=>{const{__scopeMenu:t,children:r,open:o=!1,onOpenChange:s}=n,c=U(je,t),a=N(t),[i,u]=e.useState(null),[l,f]=e.useState(null),p=C(s);return e.useEffect((()=>(!1===c.open&&p(!1),()=>p(!1))),[c.open,p]),k.jsx(h,{...a,children:k.jsx(V,{scope:t,open:o,onOpenChange:p,content:l,onContentChange:f,children:k.jsx(Ce,{scope:t,contentId:d(),triggerId:d(),trigger:i,onTriggerChange:u,children:r})})})};Re.displayName=je;var ke="MenuSubTrigger",Pe=e.forwardRef(((t,r)=>{const s=U(ke,t.__scopeMenu),c=X(ke,t.__scopeMenu),a=be(ke,t.__scopeMenu),i=$(ke,t.__scopeMenu),u=e.useRef(null),{pointerGraceTimerRef:d,onPointerGraceIntentChange:l}=i,f={__scopeMenu:t.__scopeMenu},p=e.useCallback((()=>{u.current&&window.clearTimeout(u.current),u.current=null}),[]);return e.useEffect((()=>p),[p]),e.useEffect((()=>{const e=d.current;return()=>{window.clearTimeout(e),l(null)}}),[d,l]),k.jsx(z,{asChild:!0,...f,children:k.jsx(ue,{id:a.triggerId,"aria-haspopup":"menu","aria-expanded":s.open,"aria-controls":a.contentId,"data-state":Oe(s.open),...t,ref:o(r,a.onTriggerChange),onClick:e=>{t.onClick?.(e),t.disabled||e.defaultPrevented||(e.currentTarget.focus(),s.open||s.onOpenChange(!0))},onPointerMove:n(t.onPointerMove,Se((e=>{i.onItemEnter(e),e.defaultPrevented||t.disabled||s.open||u.current||(i.onPointerGraceIntentChange(null),u.current=window.setTimeout((()=>{s.onOpenChange(!0),p()}),100))}))),onPointerLeave:n(t.onPointerLeave,Se((e=>{p();const n=s.content?.getBoundingClientRect();if(n){const t=s.content?.dataset.side,r="right"===t,o=r?-5:5,c=n[r?"left":"right"],a=n[r?"right":"left"];i.onPointerGraceIntentChange({area:[{x:e.clientX+o,y:e.clientY},{x:c,y:n.top},{x:a,y:n.top},{x:a,y:n.bottom},{x:c,y:n.bottom}],side:t}),window.clearTimeout(d.current),d.current=window.setTimeout((()=>i.onPointerGraceIntentChange(null)),300)}else{if(i.onTriggerLeave(e),e.defaultPrevented)return;i.onPointerGraceIntentChange(null)}}))),onKeyDown:n(t.onKeyDown,(e=>{const n=""!==i.searchRef.current;t.disabled||n&&" "===e.key||O[c.dir].includes(e.key)&&(s.onOpenChange(!0),s.content?.focus(),e.preventDefault())}))})})}));Pe.displayName=ke;var De="MenuSubContent",Ee=e.forwardRef(((t,o)=>{const s=Z(J,t.__scopeMenu),{forceMount:c=s.forceMount,...a}=t,i=U(J,t.__scopeMenu),u=X(J,t.__scopeMenu),d=be(De,t.__scopeMenu),l=e.useRef(null),f=r(o,l);return k.jsx(S.Provider,{scope:t.__scopeMenu,children:k.jsx(g,{present:c||i.open,children:k.jsx(S.Slot,{scope:t.__scopeMenu,children:k.jsx(re,{id:d.contentId,"aria-labelledby":d.triggerId,...a,ref:f,align:"start",side:"rtl"===u.dir?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{u.isUsingKeyboardRef.current&&l.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:n(t.onFocusOutside,(e=>{e.target!==d.trigger&&i.onOpenChange(!1)})),onEscapeKeyDown:n(t.onEscapeKeyDown,(e=>{u.onClose(),e.preventDefault()})),onKeyDown:n(t.onKeyDown,(e=>{const n=e.currentTarget.contains(e.target),t=I[u.dir].includes(e.key);n&&t&&(i.onOpenChange(!1),d.trigger?.focus(),e.preventDefault())}))})})})})}));function Oe(e){return e?"open":"closed"}function Ie(e){return"indeterminate"===e}function Te(e){return Ie(e)?"indeterminate":e?"checked":"unchecked"}function Se(e){return n=>"mouse"===n.pointerType?e(n):void 0}Ee.displayName=De;var Fe=Y,Le=z,Ke=q,Ae=ee,Ne=oe,Ge=se,Ve=ie,Ue=de,Be=me,Xe=ve,Ye=we,ze=Me,He=ye,We=Re,Ze=Pe,qe=Ee;export{Le as Anchor,He as Arrow,Ue as CheckboxItem,Ae as Content,Ne as Group,Ve as Item,Ye as ItemIndicator,Ge as Label,Y as Menu,z as MenuAnchor,ye as MenuArrow,de as MenuCheckboxItem,ee as MenuContent,oe as MenuGroup,ie as MenuItem,we as MenuItemIndicator,se as MenuLabel,q as MenuPortal,me as MenuRadioGroup,ve as MenuRadioItem,Me as MenuSeparator,Re as MenuSub,Ee as MenuSubContent,Pe as MenuSubTrigger,Ke as Portal,Be as RadioGroup,Xe as RadioItem,Fe as Root,ze as Separator,We as Sub,qe as SubContent,Ze as SubTrigger,A as createMenuScope};
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../node_modules/@radix-ui/react-menu/dist/index.mjs"],"sourcesContent":["\"use client\";\n\n// packages/react/menu/src/Menu.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs, composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive, dispatchDiscreteCustomEvent } from \"@radix-ui/react-primitive\";\nimport * as RovingFocusGroup from \"@radix-ui/react-roving-focus\";\nimport { createRovingFocusGroupScope } from \"@radix-ui/react-roving-focus\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { jsx } from \"react/jsx-runtime\";\nvar SELECTION_KEYS = [\"Enter\", \" \"];\nvar FIRST_KEYS = [\"ArrowDown\", \"PageUp\", \"Home\"];\nvar LAST_KEYS = [\"ArrowUp\", \"PageDown\", \"End\"];\nvar FIRST_LAST_KEYS = [...FIRST_KEYS, ...LAST_KEYS];\nvar SUB_OPEN_KEYS = {\n ltr: [...SELECTION_KEYS, \"ArrowRight\"],\n rtl: [...SELECTION_KEYS, \"ArrowLeft\"]\n};\nvar SUB_CLOSE_KEYS = {\n ltr: [\"ArrowLeft\"],\n rtl: [\"ArrowRight\"]\n};\nvar MENU_NAME = \"Menu\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(MENU_NAME);\nvar [createMenuContext, createMenuScope] = createContextScope(MENU_NAME, [\n createCollectionScope,\n createPopperScope,\n createRovingFocusGroupScope\n]);\nvar usePopperScope = createPopperScope();\nvar useRovingFocusGroupScope = createRovingFocusGroupScope();\nvar [MenuProvider, useMenuContext] = createMenuContext(MENU_NAME);\nvar [MenuRootProvider, useMenuRootContext] = createMenuContext(MENU_NAME);\nvar Menu = (props) => {\n const { __scopeMenu, open = false, children, dir, onOpenChange, modal = true } = props;\n const popperScope = usePopperScope(__scopeMenu);\n const [content, setContent] = React.useState(null);\n const isUsingKeyboardRef = React.useRef(false);\n const handleOpenChange = useCallbackRef(onOpenChange);\n const direction = useDirection(dir);\n React.useEffect(() => {\n const handleKeyDown = () => {\n isUsingKeyboardRef.current = true;\n document.addEventListener(\"pointerdown\", handlePointer, { capture: true, once: true });\n document.addEventListener(\"pointermove\", handlePointer, { capture: true, once: true });\n };\n const handlePointer = () => isUsingKeyboardRef.current = false;\n document.addEventListener(\"keydown\", handleKeyDown, { capture: true });\n return () => {\n document.removeEventListener(\"keydown\", handleKeyDown, { capture: true });\n document.removeEventListener(\"pointerdown\", handlePointer, { capture: true });\n document.removeEventListener(\"pointermove\", handlePointer, { capture: true });\n };\n }, []);\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n MenuProvider,\n {\n scope: __scopeMenu,\n open,\n onOpenChange: handleOpenChange,\n content,\n onContentChange: setContent,\n children: /* @__PURE__ */ jsx(\n MenuRootProvider,\n {\n scope: __scopeMenu,\n onClose: React.useCallback(() => handleOpenChange(false), [handleOpenChange]),\n isUsingKeyboardRef,\n dir: direction,\n modal,\n children\n }\n )\n }\n ) });\n};\nMenu.displayName = MENU_NAME;\nvar ANCHOR_NAME = \"MenuAnchor\";\nvar MenuAnchor = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...anchorProps } = props;\n const popperScope = usePopperScope(__scopeMenu);\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });\n }\n);\nMenuAnchor.displayName = ANCHOR_NAME;\nvar PORTAL_NAME = \"MenuPortal\";\nvar [PortalProvider, usePortalContext] = createMenuContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar MenuPortal = (props) => {\n const { __scopeMenu, forceMount, children, container } = props;\n const context = useMenuContext(PORTAL_NAME, __scopeMenu);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeMenu, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nMenuPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"MenuContent\";\nvar [MenuContentProvider, useMenuContentContext] = createMenuContext(CONTENT_NAME);\nvar MenuContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeMenu);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu);\n return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeMenu, children: rootContext.modal ? /* @__PURE__ */ jsx(MenuRootContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(MenuRootContentNonModal, { ...contentProps, ref: forwardedRef }) }) }) });\n }\n);\nvar MenuRootContentModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n React.useEffect(() => {\n const content = ref.current;\n if (content) return hideOthers(content);\n }, []);\n return /* @__PURE__ */ jsx(\n MenuContentImpl,\n {\n ...props,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: context.open,\n disableOutsideScroll: true,\n onFocusOutside: composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault(),\n { checkForDefaultPrevented: false }\n ),\n onDismiss: () => context.onOpenChange(false)\n }\n );\n }\n);\nvar MenuRootContentNonModal = React.forwardRef((props, forwardedRef) => {\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n return /* @__PURE__ */ jsx(\n MenuContentImpl,\n {\n ...props,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n disableOutsideScroll: false,\n onDismiss: () => context.onOpenChange(false)\n }\n );\n});\nvar MenuContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeMenu,\n loop = false,\n trapFocus,\n onOpenAutoFocus,\n onCloseAutoFocus,\n disableOutsidePointerEvents,\n onEntryFocus,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n disableOutsideScroll,\n ...contentProps\n } = props;\n const context = useMenuContext(CONTENT_NAME, __scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME, __scopeMenu);\n const popperScope = usePopperScope(__scopeMenu);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);\n const getItems = useCollection(__scopeMenu);\n const [currentItemId, setCurrentItemId] = React.useState(null);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef, context.onContentChange);\n const timerRef = React.useRef(0);\n const searchRef = React.useRef(\"\");\n const pointerGraceTimerRef = React.useRef(0);\n const pointerGraceIntentRef = React.useRef(null);\n const pointerDirRef = React.useRef(\"right\");\n const lastPointerXRef = React.useRef(0);\n const ScrollLockWrapper = disableOutsideScroll ? RemoveScroll : React.Fragment;\n const scrollLockWrapperProps = disableOutsideScroll ? { as: Slot, allowPinchZoom: true } : void 0;\n const handleTypeaheadSearch = (key) => {\n const search = searchRef.current + key;\n const items = getItems().filter((item) => !item.disabled);\n const currentItem = document.activeElement;\n const currentMatch = items.find((item) => item.ref.current === currentItem)?.textValue;\n const values = items.map((item) => item.textValue);\n const nextMatch = getNextMatch(values, search, currentMatch);\n const newItem = items.find((item) => item.textValue === nextMatch)?.ref.current;\n (function updateSearch(value) {\n searchRef.current = value;\n window.clearTimeout(timerRef.current);\n if (value !== \"\") timerRef.current = window.setTimeout(() => updateSearch(\"\"), 1e3);\n })(search);\n if (newItem) {\n setTimeout(() => newItem.focus());\n }\n };\n React.useEffect(() => {\n return () => window.clearTimeout(timerRef.current);\n }, []);\n useFocusGuards();\n const isPointerMovingToSubmenu = React.useCallback((event) => {\n const isMovingTowards = pointerDirRef.current === pointerGraceIntentRef.current?.side;\n return isMovingTowards && isPointerInGraceArea(event, pointerGraceIntentRef.current?.area);\n }, []);\n return /* @__PURE__ */ jsx(\n MenuContentProvider,\n {\n scope: __scopeMenu,\n searchRef,\n onItemEnter: React.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) event.preventDefault();\n },\n [isPointerMovingToSubmenu]\n ),\n onItemLeave: React.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) return;\n contentRef.current?.focus();\n setCurrentItemId(null);\n },\n [isPointerMovingToSubmenu]\n ),\n onTriggerLeave: React.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) event.preventDefault();\n },\n [isPointerMovingToSubmenu]\n ),\n pointerGraceTimerRef,\n onPointerGraceIntentChange: React.useCallback((intent) => {\n pointerGraceIntentRef.current = intent;\n }, []),\n children: /* @__PURE__ */ jsx(ScrollLockWrapper, { ...scrollLockWrapperProps, children: /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n trapped: trapFocus,\n onMountAutoFocus: composeEventHandlers(onOpenAutoFocus, (event) => {\n event.preventDefault();\n contentRef.current?.focus({ preventScroll: true });\n }),\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n children: /* @__PURE__ */ jsx(\n RovingFocusGroup.Root,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n dir: rootContext.dir,\n orientation: \"vertical\",\n loop,\n currentTabStopId: currentItemId,\n onCurrentTabStopIdChange: setCurrentItemId,\n onEntryFocus: composeEventHandlers(onEntryFocus, (event) => {\n if (!rootContext.isUsingKeyboardRef.current) event.preventDefault();\n }),\n preventScrollOnEntryFocus: true,\n children: /* @__PURE__ */ jsx(\n PopperPrimitive.Content,\n {\n role: \"menu\",\n \"aria-orientation\": \"vertical\",\n \"data-state\": getOpenState(context.open),\n \"data-radix-menu-content\": \"\",\n dir: rootContext.dir,\n ...popperScope,\n ...contentProps,\n ref: composedRefs,\n style: { outline: \"none\", ...contentProps.style },\n onKeyDown: composeEventHandlers(contentProps.onKeyDown, (event) => {\n const target = event.target;\n const isKeyDownInside = target.closest(\"[data-radix-menu-content]\") === event.currentTarget;\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n const isCharacterKey = event.key.length === 1;\n if (isKeyDownInside) {\n if (event.key === \"Tab\") event.preventDefault();\n if (!isModifierKey && isCharacterKey) handleTypeaheadSearch(event.key);\n }\n const content = contentRef.current;\n if (event.target !== content) return;\n if (!FIRST_LAST_KEYS.includes(event.key)) return;\n event.preventDefault();\n const items = getItems().filter((item) => !item.disabled);\n const candidateNodes = items.map((item) => item.ref.current);\n if (LAST_KEYS.includes(event.key)) candidateNodes.reverse();\n focusFirst(candidateNodes);\n }),\n onBlur: composeEventHandlers(props.onBlur, (event) => {\n if (!event.currentTarget.contains(event.target)) {\n window.clearTimeout(timerRef.current);\n searchRef.current = \"\";\n }\n }),\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse((event) => {\n const target = event.target;\n const pointerXHasChanged = lastPointerXRef.current !== event.clientX;\n if (event.currentTarget.contains(target) && pointerXHasChanged) {\n const newDir = event.clientX > lastPointerXRef.current ? \"right\" : \"left\";\n pointerDirRef.current = newDir;\n lastPointerXRef.current = event.clientX;\n }\n })\n )\n }\n )\n }\n )\n }\n )\n }\n ) })\n }\n );\n }\n);\nMenuContent.displayName = CONTENT_NAME;\nvar GROUP_NAME = \"MenuGroup\";\nvar MenuGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...groupProps } = props;\n return /* @__PURE__ */ jsx(Primitive.div, { role: \"group\", ...groupProps, ref: forwardedRef });\n }\n);\nMenuGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"MenuLabel\";\nvar MenuLabel = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...labelProps } = props;\n return /* @__PURE__ */ jsx(Primitive.div, { ...labelProps, ref: forwardedRef });\n }\n);\nMenuLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"MenuItem\";\nvar ITEM_SELECT = \"menu.itemSelect\";\nvar MenuItem = React.forwardRef(\n (props, forwardedRef) => {\n const { disabled = false, onSelect, ...itemProps } = props;\n const ref = React.useRef(null);\n const rootContext = useMenuRootContext(ITEM_NAME, props.__scopeMenu);\n const contentContext = useMenuContentContext(ITEM_NAME, props.__scopeMenu);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const isPointerDownRef = React.useRef(false);\n const handleSelect = () => {\n const menuItem = ref.current;\n if (!disabled && menuItem) {\n const itemSelectEvent = new CustomEvent(ITEM_SELECT, { bubbles: true, cancelable: true });\n menuItem.addEventListener(ITEM_SELECT, (event) => onSelect?.(event), { once: true });\n dispatchDiscreteCustomEvent(menuItem, itemSelectEvent);\n if (itemSelectEvent.defaultPrevented) {\n isPointerDownRef.current = false;\n } else {\n rootContext.onClose();\n }\n }\n };\n return /* @__PURE__ */ jsx(\n MenuItemImpl,\n {\n ...itemProps,\n ref: composedRefs,\n disabled,\n onClick: composeEventHandlers(props.onClick, handleSelect),\n onPointerDown: (event) => {\n props.onPointerDown?.(event);\n isPointerDownRef.current = true;\n },\n onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n if (!isPointerDownRef.current) event.currentTarget?.click();\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef.current !== \"\";\n if (disabled || isTypingAhead && event.key === \" \") return;\n if (SELECTION_KEYS.includes(event.key)) {\n event.currentTarget.click();\n event.preventDefault();\n }\n })\n }\n );\n }\n);\nMenuItem.displayName = ITEM_NAME;\nvar MenuItemImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, disabled = false, textValue, ...itemProps } = props;\n const contentContext = useMenuContentContext(ITEM_NAME, __scopeMenu);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const [isFocused, setIsFocused] = React.useState(false);\n const [textContent, setTextContent] = React.useState(\"\");\n React.useEffect(() => {\n const menuItem = ref.current;\n if (menuItem) {\n setTextContent((menuItem.textContent ?? \"\").trim());\n }\n }, [itemProps.children]);\n return /* @__PURE__ */ jsx(\n Collection.ItemSlot,\n {\n scope: __scopeMenu,\n disabled,\n textValue: textValue ?? textContent,\n children: /* @__PURE__ */ jsx(RovingFocusGroup.Item, { asChild: true, ...rovingFocusGroupScope, focusable: !disabled, children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"menuitem\",\n \"data-highlighted\": isFocused ? \"\" : void 0,\n \"aria-disabled\": disabled || void 0,\n \"data-disabled\": disabled ? \"\" : void 0,\n ...itemProps,\n ref: composedRefs,\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse((event) => {\n if (disabled) {\n contentContext.onItemLeave(event);\n } else {\n contentContext.onItemEnter(event);\n if (!event.defaultPrevented) {\n const item = event.currentTarget;\n item.focus({ preventScroll: true });\n }\n }\n })\n ),\n onPointerLeave: composeEventHandlers(\n props.onPointerLeave,\n whenMouse((event) => contentContext.onItemLeave(event))\n ),\n onFocus: composeEventHandlers(props.onFocus, () => setIsFocused(true)),\n onBlur: composeEventHandlers(props.onBlur, () => setIsFocused(false))\n }\n ) })\n }\n );\n }\n);\nvar CHECKBOX_ITEM_NAME = \"MenuCheckboxItem\";\nvar MenuCheckboxItem = React.forwardRef(\n (props, forwardedRef) => {\n const { checked = false, onCheckedChange, ...checkboxItemProps } = props;\n return /* @__PURE__ */ jsx(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ jsx(\n MenuItem,\n {\n role: \"menuitemcheckbox\",\n \"aria-checked\": isIndeterminate(checked) ? \"mixed\" : checked,\n ...checkboxItemProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(checked),\n onSelect: composeEventHandlers(\n checkboxItemProps.onSelect,\n () => onCheckedChange?.(isIndeterminate(checked) ? true : !checked),\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n);\nMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\nvar RADIO_GROUP_NAME = \"MenuRadioGroup\";\nvar [RadioGroupProvider, useRadioGroupContext] = createMenuContext(\n RADIO_GROUP_NAME,\n { value: void 0, onValueChange: () => {\n } }\n);\nvar MenuRadioGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { value, onValueChange, ...groupProps } = props;\n const handleValueChange = useCallbackRef(onValueChange);\n return /* @__PURE__ */ jsx(RadioGroupProvider, { scope: props.__scopeMenu, value, onValueChange: handleValueChange, children: /* @__PURE__ */ jsx(MenuGroup, { ...groupProps, ref: forwardedRef }) });\n }\n);\nMenuRadioGroup.displayName = RADIO_GROUP_NAME;\nvar RADIO_ITEM_NAME = \"MenuRadioItem\";\nvar MenuRadioItem = React.forwardRef(\n (props, forwardedRef) => {\n const { value, ...radioItemProps } = props;\n const context = useRadioGroupContext(RADIO_ITEM_NAME, props.__scopeMenu);\n const checked = value === context.value;\n return /* @__PURE__ */ jsx(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ jsx(\n MenuItem,\n {\n role: \"menuitemradio\",\n \"aria-checked\": checked,\n ...radioItemProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(checked),\n onSelect: composeEventHandlers(\n radioItemProps.onSelect,\n () => context.onValueChange?.(value),\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n);\nMenuRadioItem.displayName = RADIO_ITEM_NAME;\nvar ITEM_INDICATOR_NAME = \"MenuItemIndicator\";\nvar [ItemIndicatorProvider, useItemIndicatorContext] = createMenuContext(\n ITEM_INDICATOR_NAME,\n { checked: false }\n);\nvar MenuItemIndicator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, forceMount, ...itemIndicatorProps } = props;\n const indicatorContext = useItemIndicatorContext(ITEM_INDICATOR_NAME, __scopeMenu);\n return /* @__PURE__ */ jsx(\n Presence,\n {\n present: forceMount || isIndeterminate(indicatorContext.checked) || indicatorContext.checked === true,\n children: /* @__PURE__ */ jsx(\n Primitive.span,\n {\n ...itemIndicatorProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(indicatorContext.checked)\n }\n )\n }\n );\n }\n);\nMenuItemIndicator.displayName = ITEM_INDICATOR_NAME;\nvar SEPARATOR_NAME = \"MenuSeparator\";\nvar MenuSeparator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...separatorProps } = props;\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"separator\",\n \"aria-orientation\": \"horizontal\",\n ...separatorProps,\n ref: forwardedRef\n }\n );\n }\n);\nMenuSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"MenuArrow\";\nvar MenuArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopeMenu);\n return /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n }\n);\nMenuArrow.displayName = ARROW_NAME;\nvar SUB_NAME = \"MenuSub\";\nvar [MenuSubProvider, useMenuSubContext] = createMenuContext(SUB_NAME);\nvar MenuSub = (props) => {\n const { __scopeMenu, children, open = false, onOpenChange } = props;\n const parentMenuContext = useMenuContext(SUB_NAME, __scopeMenu);\n const popperScope = usePopperScope(__scopeMenu);\n const [trigger, setTrigger] = React.useState(null);\n const [content, setContent] = React.useState(null);\n const handleOpenChange = useCallbackRef(onOpenChange);\n React.useEffect(() => {\n if (parentMenuContext.open === false) handleOpenChange(false);\n return () => handleOpenChange(false);\n }, [parentMenuContext.open, handleOpenChange]);\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n MenuProvider,\n {\n scope: __scopeMenu,\n open,\n onOpenChange: handleOpenChange,\n content,\n onContentChange: setContent,\n children: /* @__PURE__ */ jsx(\n MenuSubProvider,\n {\n scope: __scopeMenu,\n contentId: useId(),\n triggerId: useId(),\n trigger,\n onTriggerChange: setTrigger,\n children\n }\n )\n }\n ) });\n};\nMenuSub.displayName = SUB_NAME;\nvar SUB_TRIGGER_NAME = \"MenuSubTrigger\";\nvar MenuSubTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const context = useMenuContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const rootContext = useMenuRootContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const subContext = useMenuSubContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const contentContext = useMenuContentContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const openTimerRef = React.useRef(null);\n const { pointerGraceTimerRef, onPointerGraceIntentChange } = contentContext;\n const scope = { __scopeMenu: props.__scopeMenu };\n const clearOpenTimer = React.useCallback(() => {\n if (openTimerRef.current) window.clearTimeout(openTimerRef.current);\n openTimerRef.current = null;\n }, []);\n React.useEffect(() => clearOpenTimer, [clearOpenTimer]);\n React.useEffect(() => {\n const pointerGraceTimer = pointerGraceTimerRef.current;\n return () => {\n window.clearTimeout(pointerGraceTimer);\n onPointerGraceIntentChange(null);\n };\n }, [pointerGraceTimerRef, onPointerGraceIntentChange]);\n return /* @__PURE__ */ jsx(MenuAnchor, { asChild: true, ...scope, children: /* @__PURE__ */ jsx(\n MenuItemImpl,\n {\n id: subContext.triggerId,\n \"aria-haspopup\": \"menu\",\n \"aria-expanded\": context.open,\n \"aria-controls\": subContext.contentId,\n \"data-state\": getOpenState(context.open),\n ...props,\n ref: composeRefs(forwardedRef, subContext.onTriggerChange),\n onClick: (event) => {\n props.onClick?.(event);\n if (props.disabled || event.defaultPrevented) return;\n event.currentTarget.focus();\n if (!context.open) context.onOpenChange(true);\n },\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse((event) => {\n contentContext.onItemEnter(event);\n if (event.defaultPrevented) return;\n if (!props.disabled && !context.open && !openTimerRef.current) {\n contentContext.onPointerGraceIntentChange(null);\n openTimerRef.current = window.setTimeout(() => {\n context.onOpenChange(true);\n clearOpenTimer();\n }, 100);\n }\n })\n ),\n onPointerLeave: composeEventHandlers(\n props.onPointerLeave,\n whenMouse((event) => {\n clearOpenTimer();\n const contentRect = context.content?.getBoundingClientRect();\n if (contentRect) {\n const side = context.content?.dataset.side;\n const rightSide = side === \"right\";\n const bleed = rightSide ? -5 : 5;\n const contentNearEdge = contentRect[rightSide ? \"left\" : \"right\"];\n const contentFarEdge = contentRect[rightSide ? \"right\" : \"left\"];\n contentContext.onPointerGraceIntentChange({\n area: [\n // Apply a bleed on clientX to ensure that our exit point is\n // consistently within polygon bounds\n { x: event.clientX + bleed, y: event.clientY },\n { x: contentNearEdge, y: contentRect.top },\n { x: contentFarEdge, y: contentRect.top },\n { x: contentFarEdge, y: contentRect.bottom },\n { x: contentNearEdge, y: contentRect.bottom }\n ],\n side\n });\n window.clearTimeout(pointerGraceTimerRef.current);\n pointerGraceTimerRef.current = window.setTimeout(\n () => contentContext.onPointerGraceIntentChange(null),\n 300\n );\n } else {\n contentContext.onTriggerLeave(event);\n if (event.defaultPrevented) return;\n contentContext.onPointerGraceIntentChange(null);\n }\n })\n ),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef.current !== \"\";\n if (props.disabled || isTypingAhead && event.key === \" \") return;\n if (SUB_OPEN_KEYS[rootContext.dir].includes(event.key)) {\n context.onOpenChange(true);\n context.content?.focus();\n event.preventDefault();\n }\n })\n }\n ) });\n }\n);\nMenuSubTrigger.displayName = SUB_TRIGGER_NAME;\nvar SUB_CONTENT_NAME = \"MenuSubContent\";\nvar MenuSubContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeMenu);\n const { forceMount = portalContext.forceMount, ...subContentProps } = props;\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu);\n const subContext = useMenuSubContext(SUB_CONTENT_NAME, props.__scopeMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(\n MenuContentImpl,\n {\n id: subContext.contentId,\n \"aria-labelledby\": subContext.triggerId,\n ...subContentProps,\n ref: composedRefs,\n align: \"start\",\n side: rootContext.dir === \"rtl\" ? \"left\" : \"right\",\n disableOutsidePointerEvents: false,\n disableOutsideScroll: false,\n trapFocus: false,\n onOpenAutoFocus: (event) => {\n if (rootContext.isUsingKeyboardRef.current) ref.current?.focus();\n event.preventDefault();\n },\n onCloseAutoFocus: (event) => event.preventDefault(),\n onFocusOutside: composeEventHandlers(props.onFocusOutside, (event) => {\n if (event.target !== subContext.trigger) context.onOpenChange(false);\n }),\n onEscapeKeyDown: composeEventHandlers(props.onEscapeKeyDown, (event) => {\n rootContext.onClose();\n event.preventDefault();\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isKeyDownInside = event.currentTarget.contains(event.target);\n const isCloseKey = SUB_CLOSE_KEYS[rootContext.dir].includes(event.key);\n if (isKeyDownInside && isCloseKey) {\n context.onOpenChange(false);\n subContext.trigger?.focus();\n event.preventDefault();\n }\n })\n }\n ) }) }) });\n }\n);\nMenuSubContent.displayName = SUB_CONTENT_NAME;\nfunction getOpenState(open) {\n return open ? \"open\" : \"closed\";\n}\nfunction isIndeterminate(checked) {\n return checked === \"indeterminate\";\n}\nfunction getCheckedState(checked) {\n return isIndeterminate(checked) ? \"indeterminate\" : checked ? \"checked\" : \"unchecked\";\n}\nfunction focusFirst(candidates) {\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate.focus();\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n}\nfunction wrapArray(array, startIndex) {\n return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nfunction getNextMatch(values, search, currentMatch) {\n const isRepeated = search.length > 1 && Array.from(search).every((char) => char === search[0]);\n const normalizedSearch = isRepeated ? search[0] : search;\n const currentMatchIndex = currentMatch ? values.indexOf(currentMatch) : -1;\n let wrappedValues = wrapArray(values, Math.max(currentMatchIndex, 0));\n const excludeCurrentMatch = normalizedSearch.length === 1;\n if (excludeCurrentMatch) wrappedValues = wrappedValues.filter((v) => v !== currentMatch);\n const nextMatch = wrappedValues.find(\n (value) => value.toLowerCase().startsWith(normalizedSearch.toLowerCase())\n );\n return nextMatch !== currentMatch ? nextMatch : void 0;\n}\nfunction isPointInPolygon(point, polygon) {\n const { x, y } = point;\n let inside = false;\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const xi = polygon[i].x;\n const yi = polygon[i].y;\n const xj = polygon[j].x;\n const yj = polygon[j].y;\n const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi;\n if (intersect) inside = !inside;\n }\n return inside;\n}\nfunction isPointerInGraceArea(event, area) {\n if (!area) return false;\n const cursorPos = { x: event.clientX, y: event.clientY };\n return isPointInPolygon(cursorPos, area);\n}\nfunction whenMouse(handler) {\n return (event) => event.pointerType === \"mouse\" ? handler(event) : void 0;\n}\nvar Root3 = Menu;\nvar Anchor2 = MenuAnchor;\nvar Portal = MenuPortal;\nvar Content2 = MenuContent;\nvar Group = MenuGroup;\nvar Label = MenuLabel;\nvar Item2 = MenuItem;\nvar CheckboxItem = MenuCheckboxItem;\nvar RadioGroup = MenuRadioGroup;\nvar RadioItem = MenuRadioItem;\nvar ItemIndicator = MenuItemIndicator;\nvar Separator = MenuSeparator;\nvar Arrow2 = MenuArrow;\nvar Sub = MenuSub;\nvar SubTrigger = MenuSubTrigger;\nvar SubContent = MenuSubContent;\nexport {\n Anchor2 as Anchor,\n Arrow2 as Arrow,\n CheckboxItem,\n Content2 as Content,\n Group,\n Item2 as Item,\n ItemIndicator,\n Label,\n Menu,\n MenuAnchor,\n MenuArrow,\n MenuCheckboxItem,\n MenuContent,\n MenuGroup,\n MenuItem,\n MenuItemIndicator,\n MenuLabel,\n MenuPortal,\n MenuRadioGroup,\n MenuRadioItem,\n MenuSeparator,\n MenuSub,\n MenuSubContent,\n MenuSubTrigger,\n Portal,\n RadioGroup,\n RadioItem,\n Root3 as Root,\n Separator,\n Sub,\n SubContent,\n SubTrigger,\n createMenuScope\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["SELECTION_KEYS","LAST_KEYS","FIRST_LAST_KEYS","SUB_OPEN_KEYS","ltr","rtl","SUB_CLOSE_KEYS","MENU_NAME","Collection","useCollection","createCollectionScope","createCollection","createMenuContext","createMenuScope","createContextScope","createPopperScope","createRovingFocusGroupScope","usePopperScope","useRovingFocusGroupScope","MenuProvider","useMenuContext","MenuRootProvider","useMenuRootContext","Menu","props","__scopeMenu","open","children","dir","onOpenChange","modal","popperScope","content","setContent","React","useState","isUsingKeyboardRef","useRef","handleOpenChange","useCallbackRef","direction","useDirection","useEffect","handleKeyDown","current","document","addEventListener","handlePointer","capture","once","removeEventListener","jsx","PopperPrimitive.Root","scope","onContentChange","onClose","useCallback","displayName","MenuAnchor","forwardRef","forwardedRef","anchorProps","PopperPrimitive.Anchor","ref","PORTAL_NAME","PortalProvider","usePortalContext","forceMount","MenuPortal","container","context","Presence","present","PortalPrimitive","asChild","CONTENT_NAME","MenuContentProvider","useMenuContentContext","MenuContent","portalContext","contentProps","rootContext","Provider","Slot","MenuRootContentModal","MenuRootContentNonModal","composedRefs","useComposedRefs","hideOthers","MenuContentImpl","trapFocus","disableOutsidePointerEvents","disableOutsideScroll","onFocusOutside","composeEventHandlers","event","preventDefault","checkForDefaultPrevented","onDismiss","loop","onOpenAutoFocus","onCloseAutoFocus","onEntryFocus","onEscapeKeyDown","onPointerDownOutside","onInteractOutside","rovingFocusGroupScope","getItems","currentItemId","setCurrentItemId","contentRef","timerRef","searchRef","pointerGraceTimerRef","pointerGraceIntentRef","pointerDirRef","lastPointerXRef","ScrollLockWrapper","RemoveScroll","Fragment","scrollLockWrapperProps","as","allowPinchZoom","handleTypeaheadSearch","key","search","items","filter","item","disabled","currentItem","activeElement","currentMatch","find","textValue","nextMatch","values","isRepeated","length","Array","from","every","char","normalizedSearch","currentMatchIndex","indexOf","wrappedValues","array","startIndex","Math","max","map","_","index","v","value","toLowerCase","startsWith","getNextMatch","newItem","updateSearch","window","clearTimeout","setTimeout","focus","useFocusGuards","isPointerMovingToSubmenu","side","area","cursorPos","x","clientX","y","clientY","point","polygon","inside","i","j","xi","yi","xj","yj","isPointInPolygon","isPointerInGraceArea","onItemEnter","onItemLeave","onTriggerLeave","onPointerGraceIntentChange","intent","FocusScope","trapped","onMountAutoFocus","preventScroll","onUnmountAutoFocus","DismissableLayer","RovingFocusGroup.Root","orientation","currentTabStopId","onCurrentTabStopIdChange","preventScrollOnEntryFocus","PopperPrimitive.Content","role","getOpenState","style","outline","onKeyDown","isKeyDownInside","target","closest","currentTarget","isModifierKey","ctrlKey","altKey","metaKey","isCharacterKey","includes","candidateNodes","reverse","candidates","PREVIOUSLY_FOCUSED_ELEMENT","candidate","focusFirst","onBlur","contains","onPointerMove","whenMouse","pointerXHasChanged","newDir","MenuGroup","groupProps","Primitive","div","MenuLabel","labelProps","ITEM_NAME","ITEM_SELECT","MenuItem","onSelect","itemProps","contentContext","isPointerDownRef","MenuItemImpl","onClick","menuItem","itemSelectEvent","CustomEvent","bubbles","cancelable","dispatchDiscreteCustomEvent","defaultPrevented","onPointerDown","onPointerUp","click","isTypingAhead","isFocused","setIsFocused","textContent","setTextContent","trim","ItemSlot","RovingFocusGroup.Item","focusable","onPointerLeave","onFocus","MenuCheckboxItem","checked","onCheckedChange","checkboxItemProps","ItemIndicatorProvider","isIndeterminate","getCheckedState","RADIO_GROUP_NAME","RadioGroupProvider","useRadioGroupContext","onValueChange","MenuRadioGroup","handleValueChange","RADIO_ITEM_NAME","MenuRadioItem","radioItemProps","ITEM_INDICATOR_NAME","useItemIndicatorContext","MenuItemIndicator","itemIndicatorProps","indicatorContext","span","MenuSeparator","separatorProps","MenuArrow","arrowProps","PopperPrimitive.Arrow","SUB_NAME","MenuSubProvider","useMenuSubContext","MenuSub","parentMenuContext","trigger","setTrigger","contentId","useId","triggerId","onTriggerChange","SUB_TRIGGER_NAME","MenuSubTrigger","subContext","openTimerRef","clearOpenTimer","pointerGraceTimer","id","composeRefs","contentRect","getBoundingClientRect","dataset","rightSide","bleed","contentNearEdge","contentFarEdge","top","bottom","SUB_CONTENT_NAME","MenuSubContent","subContentProps","align","isCloseKey","handler","pointerType","Root3","Anchor2","Portal","Content2","Group","Label","Item2","CheckboxItem","RadioGroup","RadioItem","ItemIndicator","Separator","Arrow2","Sub","SubTrigger","SubContent"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../node_modules/@radix-ui/react-menu/dist/index.mjs"],"sourcesContent":["\"use client\";\n\n// packages/react/menu/src/Menu.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs, composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive, dispatchDiscreteCustomEvent } from \"@radix-ui/react-primitive\";\nimport * as RovingFocusGroup from \"@radix-ui/react-roving-focus\";\nimport { createRovingFocusGroupScope } from \"@radix-ui/react-roving-focus\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { jsx } from \"react/jsx-runtime\";\nvar SELECTION_KEYS = [\"Enter\", \" \"];\nvar FIRST_KEYS = [\"ArrowDown\", \"PageUp\", \"Home\"];\nvar LAST_KEYS = [\"ArrowUp\", \"PageDown\", \"End\"];\nvar FIRST_LAST_KEYS = [...FIRST_KEYS, ...LAST_KEYS];\nvar SUB_OPEN_KEYS = {\n ltr: [...SELECTION_KEYS, \"ArrowRight\"],\n rtl: [...SELECTION_KEYS, \"ArrowLeft\"]\n};\nvar SUB_CLOSE_KEYS = {\n ltr: [\"ArrowLeft\"],\n rtl: [\"ArrowRight\"]\n};\nvar MENU_NAME = \"Menu\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(MENU_NAME);\nvar [createMenuContext, createMenuScope] = createContextScope(MENU_NAME, [\n createCollectionScope,\n createPopperScope,\n createRovingFocusGroupScope\n]);\nvar usePopperScope = createPopperScope();\nvar useRovingFocusGroupScope = createRovingFocusGroupScope();\nvar [MenuProvider, useMenuContext] = createMenuContext(MENU_NAME);\nvar [MenuRootProvider, useMenuRootContext] = createMenuContext(MENU_NAME);\nvar Menu = (props) => {\n const { __scopeMenu, open = false, children, dir, onOpenChange, modal = true } = props;\n const popperScope = usePopperScope(__scopeMenu);\n const [content, setContent] = React.useState(null);\n const isUsingKeyboardRef = React.useRef(false);\n const handleOpenChange = useCallbackRef(onOpenChange);\n const direction = useDirection(dir);\n React.useEffect(() => {\n const handleKeyDown = () => {\n isUsingKeyboardRef.current = true;\n document.addEventListener(\"pointerdown\", handlePointer, { capture: true, once: true });\n document.addEventListener(\"pointermove\", handlePointer, { capture: true, once: true });\n };\n const handlePointer = () => isUsingKeyboardRef.current = false;\n document.addEventListener(\"keydown\", handleKeyDown, { capture: true });\n return () => {\n document.removeEventListener(\"keydown\", handleKeyDown, { capture: true });\n document.removeEventListener(\"pointerdown\", handlePointer, { capture: true });\n document.removeEventListener(\"pointermove\", handlePointer, { capture: true });\n };\n }, []);\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n MenuProvider,\n {\n scope: __scopeMenu,\n open,\n onOpenChange: handleOpenChange,\n content,\n onContentChange: setContent,\n children: /* @__PURE__ */ jsx(\n MenuRootProvider,\n {\n scope: __scopeMenu,\n onClose: React.useCallback(() => handleOpenChange(false), [handleOpenChange]),\n isUsingKeyboardRef,\n dir: direction,\n modal,\n children\n }\n )\n }\n ) });\n};\nMenu.displayName = MENU_NAME;\nvar ANCHOR_NAME = \"MenuAnchor\";\nvar MenuAnchor = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...anchorProps } = props;\n const popperScope = usePopperScope(__scopeMenu);\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });\n }\n);\nMenuAnchor.displayName = ANCHOR_NAME;\nvar PORTAL_NAME = \"MenuPortal\";\nvar [PortalProvider, usePortalContext] = createMenuContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar MenuPortal = (props) => {\n const { __scopeMenu, forceMount, children, container } = props;\n const context = useMenuContext(PORTAL_NAME, __scopeMenu);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeMenu, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nMenuPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"MenuContent\";\nvar [MenuContentProvider, useMenuContentContext] = createMenuContext(CONTENT_NAME);\nvar MenuContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeMenu);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu);\n return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeMenu, children: rootContext.modal ? /* @__PURE__ */ jsx(MenuRootContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(MenuRootContentNonModal, { ...contentProps, ref: forwardedRef }) }) }) });\n }\n);\nvar MenuRootContentModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n React.useEffect(() => {\n const content = ref.current;\n if (content) return hideOthers(content);\n }, []);\n return /* @__PURE__ */ jsx(\n MenuContentImpl,\n {\n ...props,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: context.open,\n disableOutsideScroll: true,\n onFocusOutside: composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault(),\n { checkForDefaultPrevented: false }\n ),\n onDismiss: () => context.onOpenChange(false)\n }\n );\n }\n);\nvar MenuRootContentNonModal = React.forwardRef((props, forwardedRef) => {\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n return /* @__PURE__ */ jsx(\n MenuContentImpl,\n {\n ...props,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n disableOutsideScroll: false,\n onDismiss: () => context.onOpenChange(false)\n }\n );\n});\nvar MenuContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeMenu,\n loop = false,\n trapFocus,\n onOpenAutoFocus,\n onCloseAutoFocus,\n disableOutsidePointerEvents,\n onEntryFocus,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n disableOutsideScroll,\n ...contentProps\n } = props;\n const context = useMenuContext(CONTENT_NAME, __scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME, __scopeMenu);\n const popperScope = usePopperScope(__scopeMenu);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);\n const getItems = useCollection(__scopeMenu);\n const [currentItemId, setCurrentItemId] = React.useState(null);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef, context.onContentChange);\n const timerRef = React.useRef(0);\n const searchRef = React.useRef(\"\");\n const pointerGraceTimerRef = React.useRef(0);\n const pointerGraceIntentRef = React.useRef(null);\n const pointerDirRef = React.useRef(\"right\");\n const lastPointerXRef = React.useRef(0);\n const ScrollLockWrapper = disableOutsideScroll ? RemoveScroll : React.Fragment;\n const scrollLockWrapperProps = disableOutsideScroll ? { as: Slot, allowPinchZoom: true } : void 0;\n const handleTypeaheadSearch = (key) => {\n const search = searchRef.current + key;\n const items = getItems().filter((item) => !item.disabled);\n const currentItem = document.activeElement;\n const currentMatch = items.find((item) => item.ref.current === currentItem)?.textValue;\n const values = items.map((item) => item.textValue);\n const nextMatch = getNextMatch(values, search, currentMatch);\n const newItem = items.find((item) => item.textValue === nextMatch)?.ref.current;\n (function updateSearch(value) {\n searchRef.current = value;\n window.clearTimeout(timerRef.current);\n if (value !== \"\") timerRef.current = window.setTimeout(() => updateSearch(\"\"), 1e3);\n })(search);\n if (newItem) {\n setTimeout(() => newItem.focus());\n }\n };\n React.useEffect(() => {\n return () => window.clearTimeout(timerRef.current);\n }, []);\n useFocusGuards();\n const isPointerMovingToSubmenu = React.useCallback((event) => {\n const isMovingTowards = pointerDirRef.current === pointerGraceIntentRef.current?.side;\n return isMovingTowards && isPointerInGraceArea(event, pointerGraceIntentRef.current?.area);\n }, []);\n return /* @__PURE__ */ jsx(\n MenuContentProvider,\n {\n scope: __scopeMenu,\n searchRef,\n onItemEnter: React.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) event.preventDefault();\n },\n [isPointerMovingToSubmenu]\n ),\n onItemLeave: React.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) return;\n contentRef.current?.focus();\n setCurrentItemId(null);\n },\n [isPointerMovingToSubmenu]\n ),\n onTriggerLeave: React.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) event.preventDefault();\n },\n [isPointerMovingToSubmenu]\n ),\n pointerGraceTimerRef,\n onPointerGraceIntentChange: React.useCallback((intent) => {\n pointerGraceIntentRef.current = intent;\n }, []),\n children: /* @__PURE__ */ jsx(ScrollLockWrapper, { ...scrollLockWrapperProps, children: /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n trapped: trapFocus,\n onMountAutoFocus: composeEventHandlers(onOpenAutoFocus, (event) => {\n event.preventDefault();\n contentRef.current?.focus({ preventScroll: true });\n }),\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n children: /* @__PURE__ */ jsx(\n RovingFocusGroup.Root,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n dir: rootContext.dir,\n orientation: \"vertical\",\n loop,\n currentTabStopId: currentItemId,\n onCurrentTabStopIdChange: setCurrentItemId,\n onEntryFocus: composeEventHandlers(onEntryFocus, (event) => {\n if (!rootContext.isUsingKeyboardRef.current) event.preventDefault();\n }),\n preventScrollOnEntryFocus: true,\n children: /* @__PURE__ */ jsx(\n PopperPrimitive.Content,\n {\n role: \"menu\",\n \"aria-orientation\": \"vertical\",\n \"data-state\": getOpenState(context.open),\n \"data-radix-menu-content\": \"\",\n dir: rootContext.dir,\n ...popperScope,\n ...contentProps,\n ref: composedRefs,\n style: { outline: \"none\", ...contentProps.style },\n onKeyDown: composeEventHandlers(contentProps.onKeyDown, (event) => {\n const target = event.target;\n const isKeyDownInside = target.closest(\"[data-radix-menu-content]\") === event.currentTarget;\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n const isCharacterKey = event.key.length === 1;\n if (isKeyDownInside) {\n if (event.key === \"Tab\") event.preventDefault();\n if (!isModifierKey && isCharacterKey) handleTypeaheadSearch(event.key);\n }\n const content = contentRef.current;\n if (event.target !== content) return;\n if (!FIRST_LAST_KEYS.includes(event.key)) return;\n event.preventDefault();\n const items = getItems().filter((item) => !item.disabled);\n const candidateNodes = items.map((item) => item.ref.current);\n if (LAST_KEYS.includes(event.key)) candidateNodes.reverse();\n focusFirst(candidateNodes);\n }),\n onBlur: composeEventHandlers(props.onBlur, (event) => {\n if (!event.currentTarget.contains(event.target)) {\n window.clearTimeout(timerRef.current);\n searchRef.current = \"\";\n }\n }),\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse((event) => {\n const target = event.target;\n const pointerXHasChanged = lastPointerXRef.current !== event.clientX;\n if (event.currentTarget.contains(target) && pointerXHasChanged) {\n const newDir = event.clientX > lastPointerXRef.current ? \"right\" : \"left\";\n pointerDirRef.current = newDir;\n lastPointerXRef.current = event.clientX;\n }\n })\n )\n }\n )\n }\n )\n }\n )\n }\n ) })\n }\n );\n }\n);\nMenuContent.displayName = CONTENT_NAME;\nvar GROUP_NAME = \"MenuGroup\";\nvar MenuGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...groupProps } = props;\n return /* @__PURE__ */ jsx(Primitive.div, { role: \"group\", ...groupProps, ref: forwardedRef });\n }\n);\nMenuGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"MenuLabel\";\nvar MenuLabel = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...labelProps } = props;\n return /* @__PURE__ */ jsx(Primitive.div, { ...labelProps, ref: forwardedRef });\n }\n);\nMenuLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"MenuItem\";\nvar ITEM_SELECT = \"menu.itemSelect\";\nvar MenuItem = React.forwardRef(\n (props, forwardedRef) => {\n const { disabled = false, onSelect, ...itemProps } = props;\n const ref = React.useRef(null);\n const rootContext = useMenuRootContext(ITEM_NAME, props.__scopeMenu);\n const contentContext = useMenuContentContext(ITEM_NAME, props.__scopeMenu);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const isPointerDownRef = React.useRef(false);\n const handleSelect = () => {\n const menuItem = ref.current;\n if (!disabled && menuItem) {\n const itemSelectEvent = new CustomEvent(ITEM_SELECT, { bubbles: true, cancelable: true });\n menuItem.addEventListener(ITEM_SELECT, (event) => onSelect?.(event), { once: true });\n dispatchDiscreteCustomEvent(menuItem, itemSelectEvent);\n if (itemSelectEvent.defaultPrevented) {\n isPointerDownRef.current = false;\n } else {\n rootContext.onClose();\n }\n }\n };\n return /* @__PURE__ */ jsx(\n MenuItemImpl,\n {\n ...itemProps,\n ref: composedRefs,\n disabled,\n onClick: composeEventHandlers(props.onClick, handleSelect),\n onPointerDown: (event) => {\n props.onPointerDown?.(event);\n isPointerDownRef.current = true;\n },\n onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n if (!isPointerDownRef.current) event.currentTarget?.click();\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef.current !== \"\";\n if (disabled || isTypingAhead && event.key === \" \") return;\n if (SELECTION_KEYS.includes(event.key)) {\n event.currentTarget.click();\n event.preventDefault();\n }\n })\n }\n );\n }\n);\nMenuItem.displayName = ITEM_NAME;\nvar MenuItemImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, disabled = false, textValue, ...itemProps } = props;\n const contentContext = useMenuContentContext(ITEM_NAME, __scopeMenu);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const [isFocused, setIsFocused] = React.useState(false);\n const [textContent, setTextContent] = React.useState(\"\");\n React.useEffect(() => {\n const menuItem = ref.current;\n if (menuItem) {\n setTextContent((menuItem.textContent ?? \"\").trim());\n }\n }, [itemProps.children]);\n return /* @__PURE__ */ jsx(\n Collection.ItemSlot,\n {\n scope: __scopeMenu,\n disabled,\n textValue: textValue ?? textContent,\n children: /* @__PURE__ */ jsx(RovingFocusGroup.Item, { asChild: true, ...rovingFocusGroupScope, focusable: !disabled, children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"menuitem\",\n \"data-highlighted\": isFocused ? \"\" : void 0,\n \"aria-disabled\": disabled || void 0,\n \"data-disabled\": disabled ? \"\" : void 0,\n ...itemProps,\n ref: composedRefs,\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse((event) => {\n if (disabled) {\n contentContext.onItemLeave(event);\n } else {\n contentContext.onItemEnter(event);\n if (!event.defaultPrevented) {\n const item = event.currentTarget;\n item.focus({ preventScroll: true });\n }\n }\n })\n ),\n onPointerLeave: composeEventHandlers(\n props.onPointerLeave,\n whenMouse((event) => contentContext.onItemLeave(event))\n ),\n onFocus: composeEventHandlers(props.onFocus, () => setIsFocused(true)),\n onBlur: composeEventHandlers(props.onBlur, () => setIsFocused(false))\n }\n ) })\n }\n );\n }\n);\nvar CHECKBOX_ITEM_NAME = \"MenuCheckboxItem\";\nvar MenuCheckboxItem = React.forwardRef(\n (props, forwardedRef) => {\n const { checked = false, onCheckedChange, ...checkboxItemProps } = props;\n return /* @__PURE__ */ jsx(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ jsx(\n MenuItem,\n {\n role: \"menuitemcheckbox\",\n \"aria-checked\": isIndeterminate(checked) ? \"mixed\" : checked,\n ...checkboxItemProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(checked),\n onSelect: composeEventHandlers(\n checkboxItemProps.onSelect,\n () => onCheckedChange?.(isIndeterminate(checked) ? true : !checked),\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n);\nMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\nvar RADIO_GROUP_NAME = \"MenuRadioGroup\";\nvar [RadioGroupProvider, useRadioGroupContext] = createMenuContext(\n RADIO_GROUP_NAME,\n { value: void 0, onValueChange: () => {\n } }\n);\nvar MenuRadioGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { value, onValueChange, ...groupProps } = props;\n const handleValueChange = useCallbackRef(onValueChange);\n return /* @__PURE__ */ jsx(RadioGroupProvider, { scope: props.__scopeMenu, value, onValueChange: handleValueChange, children: /* @__PURE__ */ jsx(MenuGroup, { ...groupProps, ref: forwardedRef }) });\n }\n);\nMenuRadioGroup.displayName = RADIO_GROUP_NAME;\nvar RADIO_ITEM_NAME = \"MenuRadioItem\";\nvar MenuRadioItem = React.forwardRef(\n (props, forwardedRef) => {\n const { value, ...radioItemProps } = props;\n const context = useRadioGroupContext(RADIO_ITEM_NAME, props.__scopeMenu);\n const checked = value === context.value;\n return /* @__PURE__ */ jsx(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ jsx(\n MenuItem,\n {\n role: \"menuitemradio\",\n \"aria-checked\": checked,\n ...radioItemProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(checked),\n onSelect: composeEventHandlers(\n radioItemProps.onSelect,\n () => context.onValueChange?.(value),\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n);\nMenuRadioItem.displayName = RADIO_ITEM_NAME;\nvar ITEM_INDICATOR_NAME = \"MenuItemIndicator\";\nvar [ItemIndicatorProvider, useItemIndicatorContext] = createMenuContext(\n ITEM_INDICATOR_NAME,\n { checked: false }\n);\nvar MenuItemIndicator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, forceMount, ...itemIndicatorProps } = props;\n const indicatorContext = useItemIndicatorContext(ITEM_INDICATOR_NAME, __scopeMenu);\n return /* @__PURE__ */ jsx(\n Presence,\n {\n present: forceMount || isIndeterminate(indicatorContext.checked) || indicatorContext.checked === true,\n children: /* @__PURE__ */ jsx(\n Primitive.span,\n {\n ...itemIndicatorProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(indicatorContext.checked)\n }\n )\n }\n );\n }\n);\nMenuItemIndicator.displayName = ITEM_INDICATOR_NAME;\nvar SEPARATOR_NAME = \"MenuSeparator\";\nvar MenuSeparator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...separatorProps } = props;\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"separator\",\n \"aria-orientation\": \"horizontal\",\n ...separatorProps,\n ref: forwardedRef\n }\n );\n }\n);\nMenuSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"MenuArrow\";\nvar MenuArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopeMenu);\n return /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n }\n);\nMenuArrow.displayName = ARROW_NAME;\nvar SUB_NAME = \"MenuSub\";\nvar [MenuSubProvider, useMenuSubContext] = createMenuContext(SUB_NAME);\nvar MenuSub = (props) => {\n const { __scopeMenu, children, open = false, onOpenChange } = props;\n const parentMenuContext = useMenuContext(SUB_NAME, __scopeMenu);\n const popperScope = usePopperScope(__scopeMenu);\n const [trigger, setTrigger] = React.useState(null);\n const [content, setContent] = React.useState(null);\n const handleOpenChange = useCallbackRef(onOpenChange);\n React.useEffect(() => {\n if (parentMenuContext.open === false) handleOpenChange(false);\n return () => handleOpenChange(false);\n }, [parentMenuContext.open, handleOpenChange]);\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n MenuProvider,\n {\n scope: __scopeMenu,\n open,\n onOpenChange: handleOpenChange,\n content,\n onContentChange: setContent,\n children: /* @__PURE__ */ jsx(\n MenuSubProvider,\n {\n scope: __scopeMenu,\n contentId: useId(),\n triggerId: useId(),\n trigger,\n onTriggerChange: setTrigger,\n children\n }\n )\n }\n ) });\n};\nMenuSub.displayName = SUB_NAME;\nvar SUB_TRIGGER_NAME = \"MenuSubTrigger\";\nvar MenuSubTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const context = useMenuContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const rootContext = useMenuRootContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const subContext = useMenuSubContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const contentContext = useMenuContentContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const openTimerRef = React.useRef(null);\n const { pointerGraceTimerRef, onPointerGraceIntentChange } = contentContext;\n const scope = { __scopeMenu: props.__scopeMenu };\n const clearOpenTimer = React.useCallback(() => {\n if (openTimerRef.current) window.clearTimeout(openTimerRef.current);\n openTimerRef.current = null;\n }, []);\n React.useEffect(() => clearOpenTimer, [clearOpenTimer]);\n React.useEffect(() => {\n const pointerGraceTimer = pointerGraceTimerRef.current;\n return () => {\n window.clearTimeout(pointerGraceTimer);\n onPointerGraceIntentChange(null);\n };\n }, [pointerGraceTimerRef, onPointerGraceIntentChange]);\n return /* @__PURE__ */ jsx(MenuAnchor, { asChild: true, ...scope, children: /* @__PURE__ */ jsx(\n MenuItemImpl,\n {\n id: subContext.triggerId,\n \"aria-haspopup\": \"menu\",\n \"aria-expanded\": context.open,\n \"aria-controls\": subContext.contentId,\n \"data-state\": getOpenState(context.open),\n ...props,\n ref: composeRefs(forwardedRef, subContext.onTriggerChange),\n onClick: (event) => {\n props.onClick?.(event);\n if (props.disabled || event.defaultPrevented) return;\n event.currentTarget.focus();\n if (!context.open) context.onOpenChange(true);\n },\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse((event) => {\n contentContext.onItemEnter(event);\n if (event.defaultPrevented) return;\n if (!props.disabled && !context.open && !openTimerRef.current) {\n contentContext.onPointerGraceIntentChange(null);\n openTimerRef.current = window.setTimeout(() => {\n context.onOpenChange(true);\n clearOpenTimer();\n }, 100);\n }\n })\n ),\n onPointerLeave: composeEventHandlers(\n props.onPointerLeave,\n whenMouse((event) => {\n clearOpenTimer();\n const contentRect = context.content?.getBoundingClientRect();\n if (contentRect) {\n const side = context.content?.dataset.side;\n const rightSide = side === \"right\";\n const bleed = rightSide ? -5 : 5;\n const contentNearEdge = contentRect[rightSide ? \"left\" : \"right\"];\n const contentFarEdge = contentRect[rightSide ? \"right\" : \"left\"];\n contentContext.onPointerGraceIntentChange({\n area: [\n // Apply a bleed on clientX to ensure that our exit point is\n // consistently within polygon bounds\n { x: event.clientX + bleed, y: event.clientY },\n { x: contentNearEdge, y: contentRect.top },\n { x: contentFarEdge, y: contentRect.top },\n { x: contentFarEdge, y: contentRect.bottom },\n { x: contentNearEdge, y: contentRect.bottom }\n ],\n side\n });\n window.clearTimeout(pointerGraceTimerRef.current);\n pointerGraceTimerRef.current = window.setTimeout(\n () => contentContext.onPointerGraceIntentChange(null),\n 300\n );\n } else {\n contentContext.onTriggerLeave(event);\n if (event.defaultPrevented) return;\n contentContext.onPointerGraceIntentChange(null);\n }\n })\n ),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef.current !== \"\";\n if (props.disabled || isTypingAhead && event.key === \" \") return;\n if (SUB_OPEN_KEYS[rootContext.dir].includes(event.key)) {\n context.onOpenChange(true);\n context.content?.focus();\n event.preventDefault();\n }\n })\n }\n ) });\n }\n);\nMenuSubTrigger.displayName = SUB_TRIGGER_NAME;\nvar SUB_CONTENT_NAME = \"MenuSubContent\";\nvar MenuSubContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeMenu);\n const { forceMount = portalContext.forceMount, ...subContentProps } = props;\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu);\n const subContext = useMenuSubContext(SUB_CONTENT_NAME, props.__scopeMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(\n MenuContentImpl,\n {\n id: subContext.contentId,\n \"aria-labelledby\": subContext.triggerId,\n ...subContentProps,\n ref: composedRefs,\n align: \"start\",\n side: rootContext.dir === \"rtl\" ? \"left\" : \"right\",\n disableOutsidePointerEvents: false,\n disableOutsideScroll: false,\n trapFocus: false,\n onOpenAutoFocus: (event) => {\n if (rootContext.isUsingKeyboardRef.current) ref.current?.focus();\n event.preventDefault();\n },\n onCloseAutoFocus: (event) => event.preventDefault(),\n onFocusOutside: composeEventHandlers(props.onFocusOutside, (event) => {\n if (event.target !== subContext.trigger) context.onOpenChange(false);\n }),\n onEscapeKeyDown: composeEventHandlers(props.onEscapeKeyDown, (event) => {\n rootContext.onClose();\n event.preventDefault();\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isKeyDownInside = event.currentTarget.contains(event.target);\n const isCloseKey = SUB_CLOSE_KEYS[rootContext.dir].includes(event.key);\n if (isKeyDownInside && isCloseKey) {\n context.onOpenChange(false);\n subContext.trigger?.focus();\n event.preventDefault();\n }\n })\n }\n ) }) }) });\n }\n);\nMenuSubContent.displayName = SUB_CONTENT_NAME;\nfunction getOpenState(open) {\n return open ? \"open\" : \"closed\";\n}\nfunction isIndeterminate(checked) {\n return checked === \"indeterminate\";\n}\nfunction getCheckedState(checked) {\n return isIndeterminate(checked) ? \"indeterminate\" : checked ? \"checked\" : \"unchecked\";\n}\nfunction focusFirst(candidates) {\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate.focus();\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n}\nfunction wrapArray(array, startIndex) {\n return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nfunction getNextMatch(values, search, currentMatch) {\n const isRepeated = search.length > 1 && Array.from(search).every((char) => char === search[0]);\n const normalizedSearch = isRepeated ? search[0] : search;\n const currentMatchIndex = currentMatch ? values.indexOf(currentMatch) : -1;\n let wrappedValues = wrapArray(values, Math.max(currentMatchIndex, 0));\n const excludeCurrentMatch = normalizedSearch.length === 1;\n if (excludeCurrentMatch) wrappedValues = wrappedValues.filter((v) => v !== currentMatch);\n const nextMatch = wrappedValues.find(\n (value) => value.toLowerCase().startsWith(normalizedSearch.toLowerCase())\n );\n return nextMatch !== currentMatch ? nextMatch : void 0;\n}\nfunction isPointInPolygon(point, polygon) {\n const { x, y } = point;\n let inside = false;\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const xi = polygon[i].x;\n const yi = polygon[i].y;\n const xj = polygon[j].x;\n const yj = polygon[j].y;\n const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi;\n if (intersect) inside = !inside;\n }\n return inside;\n}\nfunction isPointerInGraceArea(event, area) {\n if (!area) return false;\n const cursorPos = { x: event.clientX, y: event.clientY };\n return isPointInPolygon(cursorPos, area);\n}\nfunction whenMouse(handler) {\n return (event) => event.pointerType === \"mouse\" ? handler(event) : void 0;\n}\nvar Root3 = Menu;\nvar Anchor2 = MenuAnchor;\nvar Portal = MenuPortal;\nvar Content2 = MenuContent;\nvar Group = MenuGroup;\nvar Label = MenuLabel;\nvar Item2 = MenuItem;\nvar CheckboxItem = MenuCheckboxItem;\nvar RadioGroup = MenuRadioGroup;\nvar RadioItem = MenuRadioItem;\nvar ItemIndicator = MenuItemIndicator;\nvar Separator = MenuSeparator;\nvar Arrow2 = MenuArrow;\nvar Sub = MenuSub;\nvar SubTrigger = MenuSubTrigger;\nvar SubContent = MenuSubContent;\nexport {\n Anchor2 as Anchor,\n Arrow2 as Arrow,\n CheckboxItem,\n Content2 as Content,\n Group,\n Item2 as Item,\n ItemIndicator,\n Label,\n Menu,\n MenuAnchor,\n MenuArrow,\n MenuCheckboxItem,\n MenuContent,\n MenuGroup,\n MenuItem,\n MenuItemIndicator,\n MenuLabel,\n MenuPortal,\n MenuRadioGroup,\n MenuRadioItem,\n MenuSeparator,\n MenuSub,\n MenuSubContent,\n MenuSubTrigger,\n Portal,\n RadioGroup,\n RadioItem,\n Root3 as Root,\n Separator,\n Sub,\n SubContent,\n SubTrigger,\n createMenuScope\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["SELECTION_KEYS","LAST_KEYS","FIRST_LAST_KEYS","SUB_OPEN_KEYS","ltr","rtl","SUB_CLOSE_KEYS","MENU_NAME","Collection","useCollection","createCollectionScope","createCollection","createMenuContext","createMenuScope","createContextScope","createPopperScope","createRovingFocusGroupScope","usePopperScope","useRovingFocusGroupScope","MenuProvider","useMenuContext","MenuRootProvider","useMenuRootContext","Menu","props","__scopeMenu","open","children","dir","onOpenChange","modal","popperScope","content","setContent","React","useState","isUsingKeyboardRef","useRef","handleOpenChange","useCallbackRef","direction","useDirection","useEffect","handleKeyDown","current","document","addEventListener","handlePointer","capture","once","removeEventListener","jsx","PopperPrimitive.Root","scope","onContentChange","onClose","useCallback","displayName","MenuAnchor","forwardRef","forwardedRef","anchorProps","PopperPrimitive.Anchor","ref","PORTAL_NAME","PortalProvider","usePortalContext","forceMount","MenuPortal","container","context","Presence","present","PortalPrimitive","asChild","CONTENT_NAME","MenuContentProvider","useMenuContentContext","MenuContent","portalContext","contentProps","rootContext","Provider","Slot","MenuRootContentModal","MenuRootContentNonModal","composedRefs","useComposedRefs","hideOthers","MenuContentImpl","trapFocus","disableOutsidePointerEvents","disableOutsideScroll","onFocusOutside","composeEventHandlers","event","preventDefault","checkForDefaultPrevented","onDismiss","loop","onOpenAutoFocus","onCloseAutoFocus","onEntryFocus","onEscapeKeyDown","onPointerDownOutside","onInteractOutside","rovingFocusGroupScope","getItems","currentItemId","setCurrentItemId","contentRef","timerRef","searchRef","pointerGraceTimerRef","pointerGraceIntentRef","pointerDirRef","lastPointerXRef","ScrollLockWrapper","RemoveScroll","Fragment","scrollLockWrapperProps","as","allowPinchZoom","handleTypeaheadSearch","key","search","items","filter","item","disabled","currentItem","activeElement","currentMatch","find","textValue","nextMatch","values","isRepeated","length","Array","from","every","char","normalizedSearch","currentMatchIndex","indexOf","wrappedValues","array","startIndex","Math","max","map","_","index","v","value","toLowerCase","startsWith","getNextMatch","newItem","updateSearch","window","clearTimeout","setTimeout","focus","useFocusGuards","isPointerMovingToSubmenu","side","area","cursorPos","x","clientX","y","clientY","point","polygon","inside","i","j","xi","yi","xj","yj","isPointInPolygon","isPointerInGraceArea","onItemEnter","onItemLeave","onTriggerLeave","onPointerGraceIntentChange","intent","FocusScope","trapped","onMountAutoFocus","preventScroll","onUnmountAutoFocus","DismissableLayer","RovingFocusGroup.Root","orientation","currentTabStopId","onCurrentTabStopIdChange","preventScrollOnEntryFocus","PopperPrimitive.Content","role","getOpenState","style","outline","onKeyDown","isKeyDownInside","target","closest","currentTarget","isModifierKey","ctrlKey","altKey","metaKey","isCharacterKey","includes","candidateNodes","reverse","candidates","PREVIOUSLY_FOCUSED_ELEMENT","candidate","focusFirst","onBlur","contains","onPointerMove","whenMouse","pointerXHasChanged","newDir","MenuGroup","groupProps","Primitive","div","MenuLabel","labelProps","ITEM_NAME","ITEM_SELECT","MenuItem","onSelect","itemProps","contentContext","isPointerDownRef","MenuItemImpl","onClick","menuItem","itemSelectEvent","CustomEvent","bubbles","cancelable","dispatchDiscreteCustomEvent","defaultPrevented","onPointerDown","onPointerUp","click","isTypingAhead","isFocused","setIsFocused","textContent","setTextContent","trim","ItemSlot","RovingFocusGroup.Item","focusable","onPointerLeave","onFocus","MenuCheckboxItem","checked","onCheckedChange","checkboxItemProps","ItemIndicatorProvider","isIndeterminate","getCheckedState","RADIO_GROUP_NAME","RadioGroupProvider","useRadioGroupContext","onValueChange","MenuRadioGroup","handleValueChange","RADIO_ITEM_NAME","MenuRadioItem","radioItemProps","ITEM_INDICATOR_NAME","useItemIndicatorContext","MenuItemIndicator","itemIndicatorProps","indicatorContext","span","MenuSeparator","separatorProps","MenuArrow","arrowProps","PopperPrimitive.Arrow","SUB_NAME","MenuSubProvider","useMenuSubContext","MenuSub","parentMenuContext","trigger","setTrigger","contentId","useId","triggerId","onTriggerChange","SUB_TRIGGER_NAME","MenuSubTrigger","subContext","openTimerRef","clearOpenTimer","pointerGraceTimer","id","composeRefs","contentRect","getBoundingClientRect","dataset","rightSide","bleed","contentNearEdge","contentFarEdge","top","bottom","SUB_CONTENT_NAME","MenuSubContent","subContentProps","align","isCloseKey","handler","pointerType","Root3","Anchor2","Portal","Content2","Group","Label","Item2","CheckboxItem","RadioGroup","RadioItem","ItemIndicator","Separator","Arrow2","Sub","SubTrigger","SubContent"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import*as e from"react";import*as t from"react-dom";import{clamp as o}from"../../number/dist/index.mjs";import{composeEventHandlers as n}from"../../primitive/dist/index.mjs";import{createCollection as r}from"../../react-collection/dist/index.mjs";import{useComposedRefs as i}from"../../react-compose-refs/dist/index.mjs";import{createContextScope as l}from"../../react-context/dist/index.mjs";import{useDirection as a}from"../../react-direction/dist/index.mjs";import{DismissableLayer as s}from"../../react-dismissable-layer/dist/index.mjs";import{useFocusGuards as c}from"../../react-focus-guards/dist/index.mjs";import{FocusScope as d}from"../../react-focus-scope/dist/index.mjs";import{useId as u}from"../../react-id/dist/index.mjs";import{createPopperScope as p,Anchor as f,Content as m,Arrow as h,Root as v}from"../../react-popper/dist/index.mjs";import{Portal as g}from"../../react-portal/dist/index.mjs";import{Primitive as x}from"../../react-primitive/dist/index.mjs";import{Slot as w}from"../../react-slot/dist/index.mjs";import{useCallbackRef as y}from"../../react-use-callback-ref/dist/index.mjs";import{useControllableState as S}from"../../react-use-controllable-state/dist/index.mjs";import{useLayoutEffect as b}from"../../react-use-layout-effect/dist/index.mjs";import{usePrevious as C}from"../../react-use-previous/dist/index.mjs";import{VisuallyHidden as j}from"../../react-visually-hidden/dist/index.mjs";import{hideOthers as _}from"../../../aria-hidden/dist/es2015/index.mjs";import P from"../../../react-remove-scroll/dist/es2015/Combination.mjs";import{j as R}from"../../../../_virtual/jsx-runtime.mjs";var I=[" ","Enter","ArrowUp","ArrowDown"],T=[" ","Enter"],k="Select",[E,D,N]=r(k),[L,M]=l(k,[N,p]),O=p(),[H,A]=L(k),[B,V]=L(k),K=t=>{const{__scopeSelect:o,children:n,open:r,defaultOpen:i,onOpenChange:l,value:s,defaultValue:c,onValueChange:d,dir:p,name:f,autoComplete:m,disabled:h,required:g}=t,x=O(o),[w,y]=e.useState(null),[b,C]=e.useState(null),[j,_]=e.useState(!1),P=a(p),[I=!1,T]=S({prop:r,defaultProp:i,onChange:l}),[k,D]=S({prop:s,defaultProp:c,onChange:d}),N=e.useRef(null),L=!w||Boolean(w.closest("form")),[M,A]=e.useState(new Set),V=Array.from(M).map((e=>e.props.value)).join(";");return R.jsx(v,{...x,children:R.jsxs(H,{required:g,scope:o,trigger:w,onTriggerChange:y,valueNode:b,onValueNodeChange:C,valueNodeHasChildren:j,onValueNodeHasChildrenChange:_,contentId:u(),value:k,onValueChange:D,open:I,onOpenChange:T,dir:P,triggerPointerDownPosRef:N,disabled:h,children:[R.jsx(E.Provider,{scope:o,children:R.jsx(B,{scope:t.__scopeSelect,onNativeOptionAdd:e.useCallback((e=>{A((t=>new Set(t).add(e)))}),[]),onNativeOptionRemove:e.useCallback((e=>{A((t=>{const o=new Set(t);return o.delete(e),o}))}),[]),children:n})}),L?R.jsxs(Te,{"aria-hidden":!0,required:g,tabIndex:-1,name:f,autoComplete:m,value:k,onChange:e=>D(e.target.value),disabled:h,children:[void 0===k?R.jsx("option",{value:""}):null,Array.from(M)]},V):null]})})};K.displayName=k;var F="SelectTrigger",W=e.forwardRef(((e,t)=>{const{__scopeSelect:o,disabled:r=!1,...l}=e,a=O(o),s=A(F,o),c=s.disabled||r,d=i(t,s.onTriggerChange),u=D(o),[p,m,h]=ke((e=>{const t=u().filter((e=>!e.disabled)),o=t.find((e=>e.value===s.value)),n=Ee(t,e,o);void 0!==n&&s.onValueChange(n.value)})),v=()=>{c||(s.onOpenChange(!0),h())};return R.jsx(f,{asChild:!0,...a,children:R.jsx(x.button,{type:"button",role:"combobox","aria-controls":s.contentId,"aria-expanded":s.open,"aria-required":s.required,"aria-autocomplete":"none",dir:s.dir,"data-state":s.open?"open":"closed",disabled:c,"data-disabled":c?"":void 0,"data-placeholder":Ie(s.value)?"":void 0,...l,ref:d,onClick:n(l.onClick,(e=>{e.currentTarget.focus()})),onPointerDown:n(l.onPointerDown,(e=>{const t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),0===e.button&&!1===e.ctrlKey&&(v(),s.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)},e.preventDefault())})),onKeyDown:n(l.onKeyDown,(e=>{const t=""!==p.current;e.ctrlKey||e.altKey||e.metaKey||1!==e.key.length||m(e.key),t&&" "===e.key||I.includes(e.key)&&(v(),e.preventDefault())}))})})}));W.displayName=F;var U="SelectValue",q=e.forwardRef(((e,t)=>{const{__scopeSelect:o,className:n,style:r,children:l,placeholder:a="",...s}=e,c=A(U,o),{onValueNodeHasChildrenChange:d}=c,u=void 0!==l,p=i(t,c.onValueNodeChange);return b((()=>{d(u)}),[d,u]),R.jsx(x.span,{...s,ref:p,style:{pointerEvents:"none"},children:Ie(c.value)?R.jsx(R.Fragment,{children:a}):l})}));q.displayName=U;var z=e.forwardRef(((e,t)=>{const{__scopeSelect:o,children:n,...r}=e;return R.jsx(x.span,{"aria-hidden":!0,...r,ref:t,children:n||"▼"})}));z.displayName="SelectIcon";var X=e=>R.jsx(g,{asChild:!0,...e});X.displayName="SelectPortal";var Y="SelectContent",G=e.forwardRef(((o,n)=>{const r=A(Y,o.__scopeSelect),[i,l]=e.useState();if(b((()=>{l(new DocumentFragment)}),[]),!r.open){const e=i;return e?t.createPortal(R.jsx($,{scope:o.__scopeSelect,children:R.jsx(E.Slot,{scope:o.__scopeSelect,children:R.jsx("div",{children:o.children})})}),e):null}return R.jsx(Q,{...o,ref:n})}));G.displayName=Y;var Z=10,[$,J]=L(Y),Q=e.forwardRef(((t,o)=>{const{__scopeSelect:r,position:l="item-aligned",onCloseAutoFocus:a,onEscapeKeyDown:u,onPointerDownOutside:p,side:f,sideOffset:m,align:h,alignOffset:v,arrowPadding:g,collisionBoundary:x,collisionPadding:y,sticky:S,hideWhenDetached:b,avoidCollisions:C,...j}=t,I=A(Y,r),[T,k]=e.useState(null),[E,N]=e.useState(null),L=i(o,(e=>k(e))),[M,O]=e.useState(null),[H,B]=e.useState(null),V=D(r),[K,F]=e.useState(!1),W=e.useRef(!1);e.useEffect((()=>{if(T)return _(T)}),[T]),c();const U=e.useCallback((e=>{const[t,...o]=V().map((e=>e.ref.current)),[n]=o.slice(-1),r=document.activeElement;for(const o of e){if(o===r)return;if(o?.scrollIntoView({block:"nearest"}),o===t&&E&&(E.scrollTop=0),o===n&&E&&(E.scrollTop=E.scrollHeight),o?.focus(),document.activeElement!==r)return}}),[V,E]),q=e.useCallback((()=>U([M,T])),[U,M,T]);e.useEffect((()=>{K&&q()}),[K,q]);const{onOpenChange:z,triggerPointerDownPosRef:X}=I;e.useEffect((()=>{if(T){let e={x:0,y:0};const t=t=>{e={x:Math.abs(Math.round(t.pageX)-(X.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(X.current?.y??0))}},o=o=>{e.x<=10&&e.y<=10?o.preventDefault():T.contains(o.target)||z(!1),document.removeEventListener("pointermove",t),X.current=null};return null!==X.current&&(document.addEventListener("pointermove",t),document.addEventListener("pointerup",o,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",t),document.removeEventListener("pointerup",o,{capture:!0})}}}),[T,z,X]),e.useEffect((()=>{const e=()=>z(!1);return window.addEventListener("blur",e),window.addEventListener("resize",e),()=>{window.removeEventListener("blur",e),window.removeEventListener("resize",e)}}),[z]);const[G,Z]=ke((e=>{const t=V().filter((e=>!e.disabled)),o=t.find((e=>e.ref.current===document.activeElement)),n=Ee(t,e,o);n&&setTimeout((()=>n.ref.current.focus()))})),J=e.useCallback(((e,t,o)=>{const n=!W.current&&!o;(void 0!==I.value&&I.value===t||n)&&(O(e),n&&(W.current=!0))}),[I.value]),Q=e.useCallback((()=>T?.focus()),[T]),oe=e.useCallback(((e,t,o)=>{const n=!W.current&&!o;(void 0!==I.value&&I.value===t||n)&&B(e)}),[I.value]),ne="popper"===l?te:ee,re=ne===te?{side:f,sideOffset:m,align:h,alignOffset:v,arrowPadding:g,collisionBoundary:x,collisionPadding:y,sticky:S,hideWhenDetached:b,avoidCollisions:C}:{};return R.jsx($,{scope:r,content:T,viewport:E,onViewportChange:N,itemRefCallback:J,selectedItem:M,onItemLeave:Q,itemTextRefCallback:oe,focusSelectedItem:q,selectedItemText:H,position:l,isPositioned:K,searchRef:G,children:R.jsx(P,{as:w,allowPinchZoom:!0,children:R.jsx(d,{asChild:!0,trapped:I.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:n(a,(e=>{I.trigger?.focus({preventScroll:!0}),e.preventDefault()})),children:R.jsx(s,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:u,onPointerDownOutside:p,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>I.onOpenChange(!1),children:R.jsx(ne,{role:"listbox",id:I.contentId,"data-state":I.open?"open":"closed",dir:I.dir,onContextMenu:e=>e.preventDefault(),...j,...re,onPlaced:()=>F(!0),ref:L,style:{display:"flex",flexDirection:"column",outline:"none",...j.style},onKeyDown:n(j.onKeyDown,(e=>{const t=e.ctrlKey||e.altKey||e.metaKey;if("Tab"===e.key&&e.preventDefault(),t||1!==e.key.length||Z(e.key),["ArrowUp","ArrowDown","Home","End"].includes(e.key)){let t=V().filter((e=>!e.disabled)).map((e=>e.ref.current));if(["ArrowUp","End"].includes(e.key)&&(t=t.slice().reverse()),["ArrowUp","ArrowDown"].includes(e.key)){const o=e.target,n=t.indexOf(o);t=t.slice(n+1)}setTimeout((()=>U(t))),e.preventDefault()}}))})})})})})}));Q.displayName="SelectContentImpl";var ee=e.forwardRef(((t,n)=>{const{__scopeSelect:r,onPlaced:l,...a}=t,s=A(Y,r),c=J(Y,r),[d,u]=e.useState(null),[p,f]=e.useState(null),m=i(n,(e=>f(e))),h=D(r),v=e.useRef(!1),g=e.useRef(!0),{viewport:w,selectedItem:y,selectedItemText:S,focusSelectedItem:C}=c,j=e.useCallback((()=>{if(s.trigger&&s.valueNode&&d&&p&&w&&y&&S){const e=s.trigger.getBoundingClientRect(),t=p.getBoundingClientRect(),n=s.valueNode.getBoundingClientRect(),r=S.getBoundingClientRect();if("rtl"!==s.dir){const i=r.left-t.left,l=n.left-i,a=e.left-l,s=e.width+a,c=Math.max(s,t.width),u=window.innerWidth-Z,p=o(l,[Z,u-c]);d.style.minWidth=s+"px",d.style.left=p+"px"}else{const i=t.right-r.right,l=window.innerWidth-n.right-i,a=window.innerWidth-e.right-l,s=e.width+a,c=Math.max(s,t.width),u=window.innerWidth-Z,p=o(l,[Z,u-c]);d.style.minWidth=s+"px",d.style.right=p+"px"}const i=h(),a=window.innerHeight-2*Z,c=w.scrollHeight,u=window.getComputedStyle(p),f=parseInt(u.borderTopWidth,10),m=parseInt(u.paddingTop,10),g=parseInt(u.borderBottomWidth,10),x=f+m+c+parseInt(u.paddingBottom,10)+g,b=Math.min(5*y.offsetHeight,x),C=window.getComputedStyle(w),j=parseInt(C.paddingTop,10),_=parseInt(C.paddingBottom,10),P=e.top+e.height/2-Z,R=a-P,I=y.offsetHeight/2,T=f+m+(y.offsetTop+I),k=x-T;if(T<=P){const e=y===i[i.length-1].ref.current;d.style.bottom="0px";const t=p.clientHeight-w.offsetTop-w.offsetHeight,o=T+Math.max(R,I+(e?_:0)+t+g);d.style.height=o+"px"}else{const e=y===i[0].ref.current;d.style.top="0px";const t=Math.max(P,f+w.offsetTop+(e?j:0)+I)+k;d.style.height=t+"px",w.scrollTop=T-P+w.offsetTop}d.style.margin=`${Z}px 0`,d.style.minHeight=b+"px",d.style.maxHeight=a+"px",l?.(),requestAnimationFrame((()=>v.current=!0))}}),[h,s.trigger,s.valueNode,d,p,w,y,S,s.dir,l]);b((()=>j()),[j]);const[_,P]=e.useState();b((()=>{p&&P(window.getComputedStyle(p).zIndex)}),[p]);const I=e.useCallback((e=>{e&&!0===g.current&&(j(),C?.(),g.current=!1)}),[j,C]);return R.jsx(oe,{scope:r,contentWrapper:d,shouldExpandOnScrollRef:v,onScrollButtonChange:I,children:R.jsx("div",{ref:u,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:_},children:R.jsx(x.div,{...a,ref:m,style:{boxSizing:"border-box",maxHeight:"100%",...a.style}})})})}));ee.displayName="SelectItemAlignedPosition";var te=e.forwardRef(((e,t)=>{const{__scopeSelect:o,align:n="start",collisionPadding:r=Z,...i}=e,l=O(o);return R.jsx(m,{...l,...i,ref:t,align:n,collisionPadding:r,style:{boxSizing:"border-box",...i.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})}));te.displayName="SelectPopperPosition";var[oe,ne]=L(Y,{}),re="SelectViewport",ie=e.forwardRef(((t,o)=>{const{__scopeSelect:r,nonce:l,...a}=t,s=J(re,r),c=ne(re,r),d=i(o,s.onViewportChange),u=e.useRef(0);return R.jsxs(R.Fragment,{children:[R.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:l}),R.jsx(E.Slot,{scope:r,children:R.jsx(x.div,{"data-radix-select-viewport":"",role:"presentation",...a,ref:d,style:{position:"relative",flex:1,overflow:"auto",...a.style},onScroll:n(a.onScroll,(e=>{const t=e.currentTarget,{contentWrapper:o,shouldExpandOnScrollRef:n}=c;if(n?.current&&o){const e=Math.abs(u.current-t.scrollTop);if(e>0){const n=window.innerHeight-2*Z,r=parseFloat(o.style.minHeight),i=parseFloat(o.style.height),l=Math.max(r,i);if(l<n){const r=l+e,i=Math.min(n,r),a=r-i;o.style.height=i+"px","0px"===o.style.bottom&&(t.scrollTop=a>0?a:0,o.style.justifyContent="flex-end")}}}u.current=t.scrollTop}))})})]})}));ie.displayName=re;var le="SelectGroup",[ae,se]=L(le),ce=e.forwardRef(((e,t)=>{const{__scopeSelect:o,...n}=e,r=u();return R.jsx(ae,{scope:o,id:r,children:R.jsx(x.div,{role:"group","aria-labelledby":r,...n,ref:t})})}));ce.displayName=le;var de="SelectLabel",ue=e.forwardRef(((e,t)=>{const{__scopeSelect:o,...n}=e,r=se(de,o);return R.jsx(x.div,{id:r.id,...n,ref:t})}));ue.displayName=de;var pe="SelectItem",[fe,me]=L(pe),he=e.forwardRef(((t,o)=>{const{__scopeSelect:r,value:l,disabled:a=!1,textValue:s,...c}=t,d=A(pe,r),p=J(pe,r),f=d.value===l,[m,h]=e.useState(s??""),[v,g]=e.useState(!1),w=i(o,(e=>p.itemRefCallback?.(e,l,a))),y=u(),S=()=>{a||(d.onValueChange(l),d.onOpenChange(!1))};if(""===l)throw new Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return R.jsx(fe,{scope:r,value:l,disabled:a,textId:y,isSelected:f,onItemTextChange:e.useCallback((e=>{h((t=>t||(e?.textContent??"").trim()))}),[]),children:R.jsx(E.ItemSlot,{scope:r,value:l,disabled:a,textValue:m,children:R.jsx(x.div,{role:"option","aria-labelledby":y,"data-highlighted":v?"":void 0,"aria-selected":f&&v,"data-state":f?"checked":"unchecked","aria-disabled":a||void 0,"data-disabled":a?"":void 0,tabIndex:a?void 0:-1,...c,ref:w,onFocus:n(c.onFocus,(()=>g(!0))),onBlur:n(c.onBlur,(()=>g(!1))),onPointerUp:n(c.onPointerUp,S),onPointerMove:n(c.onPointerMove,(e=>{a?p.onItemLeave?.():e.currentTarget.focus({preventScroll:!0})})),onPointerLeave:n(c.onPointerLeave,(e=>{e.currentTarget===document.activeElement&&p.onItemLeave?.()})),onKeyDown:n(c.onKeyDown,(e=>{""!==p.searchRef?.current&&" "===e.key||(T.includes(e.key)&&S()," "===e.key&&e.preventDefault())}))})})})}));he.displayName=pe;var ve="SelectItemText",ge=e.forwardRef(((o,n)=>{const{__scopeSelect:r,className:l,style:a,...s}=o,c=A(ve,r),d=J(ve,r),u=me(ve,r),p=V(ve,r),[f,m]=e.useState(null),h=i(n,(e=>m(e)),u.onItemTextChange,(e=>d.itemTextRefCallback?.(e,u.value,u.disabled))),v=f?.textContent,g=e.useMemo((()=>R.jsx("option",{value:u.value,disabled:u.disabled,children:v},u.value)),[u.disabled,u.value,v]),{onNativeOptionAdd:w,onNativeOptionRemove:y}=p;return b((()=>(w(g),()=>y(g))),[w,y,g]),R.jsxs(R.Fragment,{children:[R.jsx(x.span,{id:u.textId,...s,ref:h}),u.isSelected&&c.valueNode&&!c.valueNodeHasChildren?t.createPortal(s.children,c.valueNode):null]})}));ge.displayName=ve;var xe="SelectItemIndicator",we=e.forwardRef(((e,t)=>{const{__scopeSelect:o,...n}=e;return me(xe,o).isSelected?R.jsx(x.span,{"aria-hidden":!0,...n,ref:t}):null}));we.displayName=xe;var ye="SelectScrollUpButton",Se=e.forwardRef(((t,o)=>{const n=J(ye,t.__scopeSelect),r=ne(ye,t.__scopeSelect),[l,a]=e.useState(!1),s=i(o,r.onScrollButtonChange);return b((()=>{if(n.viewport&&n.isPositioned){let e=function(){const e=t.scrollTop>0;a(e)};const t=n.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}}),[n.viewport,n.isPositioned]),l?R.jsx(je,{...t,ref:s,onAutoScroll:()=>{const{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop=e.scrollTop-t.offsetHeight)}}):null}));Se.displayName=ye;var be="SelectScrollDownButton",Ce=e.forwardRef(((t,o)=>{const n=J(be,t.__scopeSelect),r=ne(be,t.__scopeSelect),[l,a]=e.useState(!1),s=i(o,r.onScrollButtonChange);return b((()=>{if(n.viewport&&n.isPositioned){let e=function(){const e=t.scrollHeight-t.clientHeight,o=Math.ceil(t.scrollTop)<e;a(o)};const t=n.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}}),[n.viewport,n.isPositioned]),l?R.jsx(je,{...t,ref:s,onAutoScroll:()=>{const{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop=e.scrollTop+t.offsetHeight)}}):null}));Ce.displayName=be;var je=e.forwardRef(((t,o)=>{const{__scopeSelect:r,onAutoScroll:i,...l}=t,a=J("SelectScrollButton",r),s=e.useRef(null),c=D(r),d=e.useCallback((()=>{null!==s.current&&(window.clearInterval(s.current),s.current=null)}),[]);return e.useEffect((()=>()=>d()),[d]),b((()=>{const e=c().find((e=>e.ref.current===document.activeElement));e?.ref.current?.scrollIntoView({block:"nearest"})}),[c]),R.jsx(x.div,{"aria-hidden":!0,...l,ref:o,style:{flexShrink:0,...l.style},onPointerDown:n(l.onPointerDown,(()=>{null===s.current&&(s.current=window.setInterval(i,50))})),onPointerMove:n(l.onPointerMove,(()=>{a.onItemLeave?.(),null===s.current&&(s.current=window.setInterval(i,50))})),onPointerLeave:n(l.onPointerLeave,(()=>{d()}))})})),_e=e.forwardRef(((e,t)=>{const{__scopeSelect:o,...n}=e;return R.jsx(x.div,{"aria-hidden":!0,...n,ref:t})}));_e.displayName="SelectSeparator";var Pe="SelectArrow",Re=e.forwardRef(((e,t)=>{const{__scopeSelect:o,...n}=e,r=O(o),i=A(Pe,o),l=J(Pe,o);return i.open&&"popper"===l.position?R.jsx(h,{...r,...n,ref:t}):null}));function Ie(e){return""===e||void 0===e}Re.displayName=Pe;var Te=e.forwardRef(((t,o)=>{const{value:n,...r}=t,l=e.useRef(null),a=i(o,l),s=C(n);return e.useEffect((()=>{const e=l.current,t=window.HTMLSelectElement.prototype,o=Object.getOwnPropertyDescriptor(t,"value").set;if(s!==n&&o){const t=new Event("change",{bubbles:!0});o.call(e,n),e.dispatchEvent(t)}}),[s,n]),R.jsx(j,{asChild:!0,children:R.jsx("select",{...r,ref:a,defaultValue:n})})}));function ke(t){const o=y(t),n=e.useRef(""),r=e.useRef(0),i=e.useCallback((e=>{const t=n.current+e;o(t),function e(t){n.current=t,window.clearTimeout(r.current),""!==t&&(r.current=window.setTimeout((()=>e("")),1e3))}(t)}),[o]),l=e.useCallback((()=>{n.current="",window.clearTimeout(r.current)}),[]);return e.useEffect((()=>()=>window.clearTimeout(r.current)),[]),[n,i,l]}function Ee(e,t,o){const n=t.length>1&&Array.from(t).every((e=>e===t[0]))?t[0]:t,r=o?e.indexOf(o):-1;let i=(l=e,a=Math.max(r,0),l.map(((e,t)=>l[(a+t)%l.length])));var l,a;1===n.length&&(i=i.filter((e=>e!==o)));const s=i.find((e=>e.textValue.toLowerCase().startsWith(n.toLowerCase())));return s!==o?s:void 0}Te.displayName="BubbleSelect";var De=K,Ne=W,Le=q,Me=z,Oe=X,He=G,Ae=ie,Be=ce,Ve=ue,Ke=he,Fe=ge,We=we,Ue=_e;export{He as Content,Be as Group,Me as Icon,Ke as Item,We as ItemIndicator,Fe as ItemText,Ve as Label,Oe as Portal,De as Root,K as Select,Re as SelectArrow,G as SelectContent,ce as SelectGroup,z as SelectIcon,he as SelectItem,we as SelectItemIndicator,ge as SelectItemText,ue as SelectLabel,X as SelectPortal,Ce as SelectScrollDownButton,Se as SelectScrollUpButton,_e as SelectSeparator,W as SelectTrigger,q as SelectValue,ie as SelectViewport,Ue as Separator,Ne as Trigger,Le as Value,Ae as Viewport,M as createSelectScope};
1
+ import*as e from"react";import*as t from"react-dom";import{clamp as o}from"../../number/dist/index.mjs";import{composeEventHandlers as n}from"../../primitive/dist/index.mjs";import{createCollection as r}from"../../react-collection/dist/index.mjs";import{useComposedRefs as l}from"../../react-compose-refs/dist/index.mjs";import{createContextScope as i}from"../../react-context/dist/index.mjs";import{useDirection as a}from"../../react-direction/dist/index.mjs";import{DismissableLayer as s}from"../../react-dismissable-layer/dist/index.mjs";import{useFocusGuards as c}from"../../react-focus-guards/dist/index.mjs";import{FocusScope as d}from"../../react-focus-scope/dist/index.mjs";import{useId as u}from"../../react-id/dist/index.mjs";import{createPopperScope as p,Anchor as f,Content as m,Arrow as h,Root as v}from"../../react-popper/dist/index.mjs";import{Portal as g}from"../../react-portal/dist/index.mjs";import{Primitive as x}from"../../react-primitive/dist/index.mjs";import{Slot as w}from"../../react-slot/dist/index.mjs";import{useCallbackRef as y}from"../../react-use-callback-ref/dist/index.mjs";import{useControllableState as S}from"../../react-use-controllable-state/dist/index.mjs";import{useLayoutEffect as b}from"../../react-use-layout-effect/dist/index.mjs";import{usePrevious as C}from"../../react-use-previous/dist/index.mjs";import{VisuallyHidden as j}from"../../react-visually-hidden/dist/index.mjs";import{hideOthers as _}from"aria-hidden";import{RemoveScroll as P}from"react-remove-scroll";import{j as R}from"../../../../_virtual/jsx-runtime.mjs";var I=[" ","Enter","ArrowUp","ArrowDown"],T=[" ","Enter"],k="Select",[E,D,N]=r(k),[L,M]=i(k,[N,p]),O=p(),[H,A]=L(k),[B,V]=L(k),K=t=>{const{__scopeSelect:o,children:n,open:r,defaultOpen:l,onOpenChange:i,value:s,defaultValue:c,onValueChange:d,dir:p,name:f,autoComplete:m,disabled:h,required:g}=t,x=O(o),[w,y]=e.useState(null),[b,C]=e.useState(null),[j,_]=e.useState(!1),P=a(p),[I=!1,T]=S({prop:r,defaultProp:l,onChange:i}),[k,D]=S({prop:s,defaultProp:c,onChange:d}),N=e.useRef(null),L=!w||Boolean(w.closest("form")),[M,A]=e.useState(new Set),V=Array.from(M).map((e=>e.props.value)).join(";");return R.jsx(v,{...x,children:R.jsxs(H,{required:g,scope:o,trigger:w,onTriggerChange:y,valueNode:b,onValueNodeChange:C,valueNodeHasChildren:j,onValueNodeHasChildrenChange:_,contentId:u(),value:k,onValueChange:D,open:I,onOpenChange:T,dir:P,triggerPointerDownPosRef:N,disabled:h,children:[R.jsx(E.Provider,{scope:o,children:R.jsx(B,{scope:t.__scopeSelect,onNativeOptionAdd:e.useCallback((e=>{A((t=>new Set(t).add(e)))}),[]),onNativeOptionRemove:e.useCallback((e=>{A((t=>{const o=new Set(t);return o.delete(e),o}))}),[]),children:n})}),L?R.jsxs(Te,{"aria-hidden":!0,required:g,tabIndex:-1,name:f,autoComplete:m,value:k,onChange:e=>D(e.target.value),disabled:h,children:[void 0===k?R.jsx("option",{value:""}):null,Array.from(M)]},V):null]})})};K.displayName=k;var F="SelectTrigger",W=e.forwardRef(((e,t)=>{const{__scopeSelect:o,disabled:r=!1,...i}=e,a=O(o),s=A(F,o),c=s.disabled||r,d=l(t,s.onTriggerChange),u=D(o),[p,m,h]=ke((e=>{const t=u().filter((e=>!e.disabled)),o=t.find((e=>e.value===s.value)),n=Ee(t,e,o);void 0!==n&&s.onValueChange(n.value)})),v=()=>{c||(s.onOpenChange(!0),h())};return R.jsx(f,{asChild:!0,...a,children:R.jsx(x.button,{type:"button",role:"combobox","aria-controls":s.contentId,"aria-expanded":s.open,"aria-required":s.required,"aria-autocomplete":"none",dir:s.dir,"data-state":s.open?"open":"closed",disabled:c,"data-disabled":c?"":void 0,"data-placeholder":Ie(s.value)?"":void 0,...i,ref:d,onClick:n(i.onClick,(e=>{e.currentTarget.focus()})),onPointerDown:n(i.onPointerDown,(e=>{const t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),0===e.button&&!1===e.ctrlKey&&(v(),s.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)},e.preventDefault())})),onKeyDown:n(i.onKeyDown,(e=>{const t=""!==p.current;e.ctrlKey||e.altKey||e.metaKey||1!==e.key.length||m(e.key),t&&" "===e.key||I.includes(e.key)&&(v(),e.preventDefault())}))})})}));W.displayName=F;var U="SelectValue",q=e.forwardRef(((e,t)=>{const{__scopeSelect:o,className:n,style:r,children:i,placeholder:a="",...s}=e,c=A(U,o),{onValueNodeHasChildrenChange:d}=c,u=void 0!==i,p=l(t,c.onValueNodeChange);return b((()=>{d(u)}),[d,u]),R.jsx(x.span,{...s,ref:p,style:{pointerEvents:"none"},children:Ie(c.value)?R.jsx(R.Fragment,{children:a}):i})}));q.displayName=U;var z=e.forwardRef(((e,t)=>{const{__scopeSelect:o,children:n,...r}=e;return R.jsx(x.span,{"aria-hidden":!0,...r,ref:t,children:n||"▼"})}));z.displayName="SelectIcon";var X=e=>R.jsx(g,{asChild:!0,...e});X.displayName="SelectPortal";var Y="SelectContent",G=e.forwardRef(((o,n)=>{const r=A(Y,o.__scopeSelect),[l,i]=e.useState();if(b((()=>{i(new DocumentFragment)}),[]),!r.open){const e=l;return e?t.createPortal(R.jsx($,{scope:o.__scopeSelect,children:R.jsx(E.Slot,{scope:o.__scopeSelect,children:R.jsx("div",{children:o.children})})}),e):null}return R.jsx(Q,{...o,ref:n})}));G.displayName=Y;var Z=10,[$,J]=L(Y),Q=e.forwardRef(((t,o)=>{const{__scopeSelect:r,position:i="item-aligned",onCloseAutoFocus:a,onEscapeKeyDown:u,onPointerDownOutside:p,side:f,sideOffset:m,align:h,alignOffset:v,arrowPadding:g,collisionBoundary:x,collisionPadding:y,sticky:S,hideWhenDetached:b,avoidCollisions:C,...j}=t,I=A(Y,r),[T,k]=e.useState(null),[E,N]=e.useState(null),L=l(o,(e=>k(e))),[M,O]=e.useState(null),[H,B]=e.useState(null),V=D(r),[K,F]=e.useState(!1),W=e.useRef(!1);e.useEffect((()=>{if(T)return _(T)}),[T]),c();const U=e.useCallback((e=>{const[t,...o]=V().map((e=>e.ref.current)),[n]=o.slice(-1),r=document.activeElement;for(const o of e){if(o===r)return;if(o?.scrollIntoView({block:"nearest"}),o===t&&E&&(E.scrollTop=0),o===n&&E&&(E.scrollTop=E.scrollHeight),o?.focus(),document.activeElement!==r)return}}),[V,E]),q=e.useCallback((()=>U([M,T])),[U,M,T]);e.useEffect((()=>{K&&q()}),[K,q]);const{onOpenChange:z,triggerPointerDownPosRef:X}=I;e.useEffect((()=>{if(T){let e={x:0,y:0};const t=t=>{e={x:Math.abs(Math.round(t.pageX)-(X.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(X.current?.y??0))}},o=o=>{e.x<=10&&e.y<=10?o.preventDefault():T.contains(o.target)||z(!1),document.removeEventListener("pointermove",t),X.current=null};return null!==X.current&&(document.addEventListener("pointermove",t),document.addEventListener("pointerup",o,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",t),document.removeEventListener("pointerup",o,{capture:!0})}}}),[T,z,X]),e.useEffect((()=>{const e=()=>z(!1);return window.addEventListener("blur",e),window.addEventListener("resize",e),()=>{window.removeEventListener("blur",e),window.removeEventListener("resize",e)}}),[z]);const[G,Z]=ke((e=>{const t=V().filter((e=>!e.disabled)),o=t.find((e=>e.ref.current===document.activeElement)),n=Ee(t,e,o);n&&setTimeout((()=>n.ref.current.focus()))})),J=e.useCallback(((e,t,o)=>{const n=!W.current&&!o;(void 0!==I.value&&I.value===t||n)&&(O(e),n&&(W.current=!0))}),[I.value]),Q=e.useCallback((()=>T?.focus()),[T]),oe=e.useCallback(((e,t,o)=>{const n=!W.current&&!o;(void 0!==I.value&&I.value===t||n)&&B(e)}),[I.value]),ne="popper"===i?te:ee,re=ne===te?{side:f,sideOffset:m,align:h,alignOffset:v,arrowPadding:g,collisionBoundary:x,collisionPadding:y,sticky:S,hideWhenDetached:b,avoidCollisions:C}:{};return R.jsx($,{scope:r,content:T,viewport:E,onViewportChange:N,itemRefCallback:J,selectedItem:M,onItemLeave:Q,itemTextRefCallback:oe,focusSelectedItem:q,selectedItemText:H,position:i,isPositioned:K,searchRef:G,children:R.jsx(P,{as:w,allowPinchZoom:!0,children:R.jsx(d,{asChild:!0,trapped:I.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:n(a,(e=>{I.trigger?.focus({preventScroll:!0}),e.preventDefault()})),children:R.jsx(s,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:u,onPointerDownOutside:p,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>I.onOpenChange(!1),children:R.jsx(ne,{role:"listbox",id:I.contentId,"data-state":I.open?"open":"closed",dir:I.dir,onContextMenu:e=>e.preventDefault(),...j,...re,onPlaced:()=>F(!0),ref:L,style:{display:"flex",flexDirection:"column",outline:"none",...j.style},onKeyDown:n(j.onKeyDown,(e=>{const t=e.ctrlKey||e.altKey||e.metaKey;if("Tab"===e.key&&e.preventDefault(),t||1!==e.key.length||Z(e.key),["ArrowUp","ArrowDown","Home","End"].includes(e.key)){let t=V().filter((e=>!e.disabled)).map((e=>e.ref.current));if(["ArrowUp","End"].includes(e.key)&&(t=t.slice().reverse()),["ArrowUp","ArrowDown"].includes(e.key)){const o=e.target,n=t.indexOf(o);t=t.slice(n+1)}setTimeout((()=>U(t))),e.preventDefault()}}))})})})})})}));Q.displayName="SelectContentImpl";var ee=e.forwardRef(((t,n)=>{const{__scopeSelect:r,onPlaced:i,...a}=t,s=A(Y,r),c=J(Y,r),[d,u]=e.useState(null),[p,f]=e.useState(null),m=l(n,(e=>f(e))),h=D(r),v=e.useRef(!1),g=e.useRef(!0),{viewport:w,selectedItem:y,selectedItemText:S,focusSelectedItem:C}=c,j=e.useCallback((()=>{if(s.trigger&&s.valueNode&&d&&p&&w&&y&&S){const e=s.trigger.getBoundingClientRect(),t=p.getBoundingClientRect(),n=s.valueNode.getBoundingClientRect(),r=S.getBoundingClientRect();if("rtl"!==s.dir){const l=r.left-t.left,i=n.left-l,a=e.left-i,s=e.width+a,c=Math.max(s,t.width),u=window.innerWidth-Z,p=o(i,[Z,u-c]);d.style.minWidth=s+"px",d.style.left=p+"px"}else{const l=t.right-r.right,i=window.innerWidth-n.right-l,a=window.innerWidth-e.right-i,s=e.width+a,c=Math.max(s,t.width),u=window.innerWidth-Z,p=o(i,[Z,u-c]);d.style.minWidth=s+"px",d.style.right=p+"px"}const l=h(),a=window.innerHeight-2*Z,c=w.scrollHeight,u=window.getComputedStyle(p),f=parseInt(u.borderTopWidth,10),m=parseInt(u.paddingTop,10),g=parseInt(u.borderBottomWidth,10),x=f+m+c+parseInt(u.paddingBottom,10)+g,b=Math.min(5*y.offsetHeight,x),C=window.getComputedStyle(w),j=parseInt(C.paddingTop,10),_=parseInt(C.paddingBottom,10),P=e.top+e.height/2-Z,R=a-P,I=y.offsetHeight/2,T=f+m+(y.offsetTop+I),k=x-T;if(T<=P){const e=y===l[l.length-1].ref.current;d.style.bottom="0px";const t=p.clientHeight-w.offsetTop-w.offsetHeight,o=T+Math.max(R,I+(e?_:0)+t+g);d.style.height=o+"px"}else{const e=y===l[0].ref.current;d.style.top="0px";const t=Math.max(P,f+w.offsetTop+(e?j:0)+I)+k;d.style.height=t+"px",w.scrollTop=T-P+w.offsetTop}d.style.margin=`${Z}px 0`,d.style.minHeight=b+"px",d.style.maxHeight=a+"px",i?.(),requestAnimationFrame((()=>v.current=!0))}}),[h,s.trigger,s.valueNode,d,p,w,y,S,s.dir,i]);b((()=>j()),[j]);const[_,P]=e.useState();b((()=>{p&&P(window.getComputedStyle(p).zIndex)}),[p]);const I=e.useCallback((e=>{e&&!0===g.current&&(j(),C?.(),g.current=!1)}),[j,C]);return R.jsx(oe,{scope:r,contentWrapper:d,shouldExpandOnScrollRef:v,onScrollButtonChange:I,children:R.jsx("div",{ref:u,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:_},children:R.jsx(x.div,{...a,ref:m,style:{boxSizing:"border-box",maxHeight:"100%",...a.style}})})})}));ee.displayName="SelectItemAlignedPosition";var te=e.forwardRef(((e,t)=>{const{__scopeSelect:o,align:n="start",collisionPadding:r=Z,...l}=e,i=O(o);return R.jsx(m,{...i,...l,ref:t,align:n,collisionPadding:r,style:{boxSizing:"border-box",...l.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})}));te.displayName="SelectPopperPosition";var[oe,ne]=L(Y,{}),re="SelectViewport",le=e.forwardRef(((t,o)=>{const{__scopeSelect:r,nonce:i,...a}=t,s=J(re,r),c=ne(re,r),d=l(o,s.onViewportChange),u=e.useRef(0);return R.jsxs(R.Fragment,{children:[R.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:i}),R.jsx(E.Slot,{scope:r,children:R.jsx(x.div,{"data-radix-select-viewport":"",role:"presentation",...a,ref:d,style:{position:"relative",flex:1,overflow:"auto",...a.style},onScroll:n(a.onScroll,(e=>{const t=e.currentTarget,{contentWrapper:o,shouldExpandOnScrollRef:n}=c;if(n?.current&&o){const e=Math.abs(u.current-t.scrollTop);if(e>0){const n=window.innerHeight-2*Z,r=parseFloat(o.style.minHeight),l=parseFloat(o.style.height),i=Math.max(r,l);if(i<n){const r=i+e,l=Math.min(n,r),a=r-l;o.style.height=l+"px","0px"===o.style.bottom&&(t.scrollTop=a>0?a:0,o.style.justifyContent="flex-end")}}}u.current=t.scrollTop}))})})]})}));le.displayName=re;var ie="SelectGroup",[ae,se]=L(ie),ce=e.forwardRef(((e,t)=>{const{__scopeSelect:o,...n}=e,r=u();return R.jsx(ae,{scope:o,id:r,children:R.jsx(x.div,{role:"group","aria-labelledby":r,...n,ref:t})})}));ce.displayName=ie;var de="SelectLabel",ue=e.forwardRef(((e,t)=>{const{__scopeSelect:o,...n}=e,r=se(de,o);return R.jsx(x.div,{id:r.id,...n,ref:t})}));ue.displayName=de;var pe="SelectItem",[fe,me]=L(pe),he=e.forwardRef(((t,o)=>{const{__scopeSelect:r,value:i,disabled:a=!1,textValue:s,...c}=t,d=A(pe,r),p=J(pe,r),f=d.value===i,[m,h]=e.useState(s??""),[v,g]=e.useState(!1),w=l(o,(e=>p.itemRefCallback?.(e,i,a))),y=u(),S=()=>{a||(d.onValueChange(i),d.onOpenChange(!1))};if(""===i)throw new Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return R.jsx(fe,{scope:r,value:i,disabled:a,textId:y,isSelected:f,onItemTextChange:e.useCallback((e=>{h((t=>t||(e?.textContent??"").trim()))}),[]),children:R.jsx(E.ItemSlot,{scope:r,value:i,disabled:a,textValue:m,children:R.jsx(x.div,{role:"option","aria-labelledby":y,"data-highlighted":v?"":void 0,"aria-selected":f&&v,"data-state":f?"checked":"unchecked","aria-disabled":a||void 0,"data-disabled":a?"":void 0,tabIndex:a?void 0:-1,...c,ref:w,onFocus:n(c.onFocus,(()=>g(!0))),onBlur:n(c.onBlur,(()=>g(!1))),onPointerUp:n(c.onPointerUp,S),onPointerMove:n(c.onPointerMove,(e=>{a?p.onItemLeave?.():e.currentTarget.focus({preventScroll:!0})})),onPointerLeave:n(c.onPointerLeave,(e=>{e.currentTarget===document.activeElement&&p.onItemLeave?.()})),onKeyDown:n(c.onKeyDown,(e=>{""!==p.searchRef?.current&&" "===e.key||(T.includes(e.key)&&S()," "===e.key&&e.preventDefault())}))})})})}));he.displayName=pe;var ve="SelectItemText",ge=e.forwardRef(((o,n)=>{const{__scopeSelect:r,className:i,style:a,...s}=o,c=A(ve,r),d=J(ve,r),u=me(ve,r),p=V(ve,r),[f,m]=e.useState(null),h=l(n,(e=>m(e)),u.onItemTextChange,(e=>d.itemTextRefCallback?.(e,u.value,u.disabled))),v=f?.textContent,g=e.useMemo((()=>R.jsx("option",{value:u.value,disabled:u.disabled,children:v},u.value)),[u.disabled,u.value,v]),{onNativeOptionAdd:w,onNativeOptionRemove:y}=p;return b((()=>(w(g),()=>y(g))),[w,y,g]),R.jsxs(R.Fragment,{children:[R.jsx(x.span,{id:u.textId,...s,ref:h}),u.isSelected&&c.valueNode&&!c.valueNodeHasChildren?t.createPortal(s.children,c.valueNode):null]})}));ge.displayName=ve;var xe="SelectItemIndicator",we=e.forwardRef(((e,t)=>{const{__scopeSelect:o,...n}=e;return me(xe,o).isSelected?R.jsx(x.span,{"aria-hidden":!0,...n,ref:t}):null}));we.displayName=xe;var ye="SelectScrollUpButton",Se=e.forwardRef(((t,o)=>{const n=J(ye,t.__scopeSelect),r=ne(ye,t.__scopeSelect),[i,a]=e.useState(!1),s=l(o,r.onScrollButtonChange);return b((()=>{if(n.viewport&&n.isPositioned){let e=function(){const e=t.scrollTop>0;a(e)};const t=n.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}}),[n.viewport,n.isPositioned]),i?R.jsx(je,{...t,ref:s,onAutoScroll:()=>{const{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop=e.scrollTop-t.offsetHeight)}}):null}));Se.displayName=ye;var be="SelectScrollDownButton",Ce=e.forwardRef(((t,o)=>{const n=J(be,t.__scopeSelect),r=ne(be,t.__scopeSelect),[i,a]=e.useState(!1),s=l(o,r.onScrollButtonChange);return b((()=>{if(n.viewport&&n.isPositioned){let e=function(){const e=t.scrollHeight-t.clientHeight,o=Math.ceil(t.scrollTop)<e;a(o)};const t=n.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}}),[n.viewport,n.isPositioned]),i?R.jsx(je,{...t,ref:s,onAutoScroll:()=>{const{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop=e.scrollTop+t.offsetHeight)}}):null}));Ce.displayName=be;var je=e.forwardRef(((t,o)=>{const{__scopeSelect:r,onAutoScroll:l,...i}=t,a=J("SelectScrollButton",r),s=e.useRef(null),c=D(r),d=e.useCallback((()=>{null!==s.current&&(window.clearInterval(s.current),s.current=null)}),[]);return e.useEffect((()=>()=>d()),[d]),b((()=>{const e=c().find((e=>e.ref.current===document.activeElement));e?.ref.current?.scrollIntoView({block:"nearest"})}),[c]),R.jsx(x.div,{"aria-hidden":!0,...i,ref:o,style:{flexShrink:0,...i.style},onPointerDown:n(i.onPointerDown,(()=>{null===s.current&&(s.current=window.setInterval(l,50))})),onPointerMove:n(i.onPointerMove,(()=>{a.onItemLeave?.(),null===s.current&&(s.current=window.setInterval(l,50))})),onPointerLeave:n(i.onPointerLeave,(()=>{d()}))})})),_e=e.forwardRef(((e,t)=>{const{__scopeSelect:o,...n}=e;return R.jsx(x.div,{"aria-hidden":!0,...n,ref:t})}));_e.displayName="SelectSeparator";var Pe="SelectArrow",Re=e.forwardRef(((e,t)=>{const{__scopeSelect:o,...n}=e,r=O(o),l=A(Pe,o),i=J(Pe,o);return l.open&&"popper"===i.position?R.jsx(h,{...r,...n,ref:t}):null}));function Ie(e){return""===e||void 0===e}Re.displayName=Pe;var Te=e.forwardRef(((t,o)=>{const{value:n,...r}=t,i=e.useRef(null),a=l(o,i),s=C(n);return e.useEffect((()=>{const e=i.current,t=window.HTMLSelectElement.prototype,o=Object.getOwnPropertyDescriptor(t,"value").set;if(s!==n&&o){const t=new Event("change",{bubbles:!0});o.call(e,n),e.dispatchEvent(t)}}),[s,n]),R.jsx(j,{asChild:!0,children:R.jsx("select",{...r,ref:a,defaultValue:n})})}));function ke(t){const o=y(t),n=e.useRef(""),r=e.useRef(0),l=e.useCallback((e=>{const t=n.current+e;o(t),function e(t){n.current=t,window.clearTimeout(r.current),""!==t&&(r.current=window.setTimeout((()=>e("")),1e3))}(t)}),[o]),i=e.useCallback((()=>{n.current="",window.clearTimeout(r.current)}),[]);return e.useEffect((()=>()=>window.clearTimeout(r.current)),[]),[n,l,i]}function Ee(e,t,o){const n=t.length>1&&Array.from(t).every((e=>e===t[0]))?t[0]:t,r=o?e.indexOf(o):-1;let l=(i=e,a=Math.max(r,0),i.map(((e,t)=>i[(a+t)%i.length])));var i,a;1===n.length&&(l=l.filter((e=>e!==o)));const s=l.find((e=>e.textValue.toLowerCase().startsWith(n.toLowerCase())));return s!==o?s:void 0}Te.displayName="BubbleSelect";var De=K,Ne=W,Le=q,Me=z,Oe=X,He=G,Ae=le,Be=ce,Ve=ue,Ke=he,Fe=ge,We=we,Ue=_e;export{He as Content,Be as Group,Me as Icon,Ke as Item,We as ItemIndicator,Fe as ItemText,Ve as Label,Oe as Portal,De as Root,K as Select,Re as SelectArrow,G as SelectContent,ce as SelectGroup,z as SelectIcon,he as SelectItem,we as SelectItemIndicator,ge as SelectItemText,ue as SelectLabel,X as SelectPortal,Ce as SelectScrollDownButton,Se as SelectScrollUpButton,_e as SelectSeparator,W as SelectTrigger,q as SelectValue,le as SelectViewport,Ue as Separator,Ne as Trigger,Le as Value,Ae as Viewport,M as createSelectScope};
2
2
  //# sourceMappingURL=index.mjs.map