@vellira-ui/react 2.126.9 → 2.126.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (322) hide show
  1. package/dist/components/Accordion/Accordion.d.ts +12 -0
  2. package/dist/components/Accordion/Content/AccordionContent.d.ts +7 -0
  3. package/dist/components/Accordion/Content/index.d.ts +2 -0
  4. package/dist/components/Accordion/Content/types.d.ts +5 -0
  5. package/dist/components/Accordion/Item/AccordionItem.d.ts +6 -0
  6. package/dist/components/Accordion/Item/index.d.ts +2 -0
  7. package/dist/components/Accordion/Item/types.d.ts +5 -0
  8. package/dist/components/Accordion/Root/AccordionRoot.d.ts +2 -0
  9. package/dist/components/Accordion/Root/index.d.ts +2 -0
  10. package/dist/components/Accordion/Root/types.d.ts +1 -0
  11. package/dist/components/Accordion/Trigger/AccordionTrigger.d.ts +8 -0
  12. package/dist/components/Accordion/Trigger/index.d.ts +2 -0
  13. package/dist/components/Accordion/Trigger/types.d.ts +5 -0
  14. package/dist/components/Accordion/index.d.ts +9 -0
  15. package/dist/components/Accordion/types.d.ts +9 -0
  16. package/dist/components/Dropdown/Arrow/DropdownArrow.d.ts +3 -0
  17. package/dist/components/Dropdown/Arrow/index.d.ts +2 -0
  18. package/dist/components/Dropdown/CheckboxItem/DropdownCheckboxItem.d.ts +2 -0
  19. package/dist/components/Dropdown/CheckboxItem/index.d.ts +2 -0
  20. package/dist/components/Dropdown/Content/DropdownContent.d.ts +3 -0
  21. package/dist/components/Dropdown/Content/index.d.ts +2 -0
  22. package/dist/components/Dropdown/Content/types.d.ts +1 -0
  23. package/dist/components/Dropdown/Dropdown.d.ts +25 -0
  24. package/dist/components/Dropdown/Empty/DropdownEmpty.d.ts +6 -0
  25. package/dist/components/Dropdown/Empty/index.d.ts +2 -0
  26. package/dist/components/Dropdown/Empty/types.d.ts +5 -0
  27. package/dist/components/Dropdown/Group/DropdownGroup.d.ts +6 -0
  28. package/dist/components/Dropdown/Group/index.d.ts +2 -0
  29. package/dist/components/Dropdown/Group/types.d.ts +1 -0
  30. package/dist/components/Dropdown/Item/DropdownItem.d.ts +7 -0
  31. package/dist/components/Dropdown/Item/index.d.ts +2 -0
  32. package/dist/components/Dropdown/Item/types.d.ts +5 -0
  33. package/dist/components/Dropdown/ItemBadge/DropdownItemBadge.d.ts +2 -0
  34. package/dist/components/Dropdown/ItemBadge/index.d.ts +2 -0
  35. package/dist/components/Dropdown/ItemDescription/DropdownItemDescription.d.ts +2 -0
  36. package/dist/components/Dropdown/ItemDescription/index.d.ts +2 -0
  37. package/dist/components/Dropdown/ItemIcon/DropdownItemIcon.d.ts +2 -0
  38. package/dist/components/Dropdown/ItemIcon/index.d.ts +2 -0
  39. package/dist/components/Dropdown/ItemShortcut/DropdownItemShortcut.d.ts +2 -0
  40. package/dist/components/Dropdown/ItemShortcut/index.d.ts +2 -0
  41. package/dist/components/Dropdown/Label/DropdownLabel.d.ts +6 -0
  42. package/dist/components/Dropdown/Label/index.d.ts +2 -0
  43. package/dist/components/Dropdown/Loading/DropdownLoading.d.ts +6 -0
  44. package/dist/components/Dropdown/Loading/index.d.ts +2 -0
  45. package/dist/components/Dropdown/Loading/types.d.ts +5 -0
  46. package/dist/components/Dropdown/RadioGroup/DropdownRadioGroup.d.ts +2 -0
  47. package/dist/components/Dropdown/RadioGroup/index.d.ts +2 -0
  48. package/dist/components/Dropdown/RadioItem/DropdownRadioItem.d.ts +2 -0
  49. package/dist/components/Dropdown/RadioItem/index.d.ts +2 -0
  50. package/dist/components/Dropdown/Root/DropdownRoot.d.ts +5 -0
  51. package/dist/components/Dropdown/Root/index.d.ts +2 -0
  52. package/dist/components/Dropdown/Search/DropdownSearch.d.ts +2 -0
  53. package/dist/components/Dropdown/Search/index.d.ts +2 -0
  54. package/dist/components/Dropdown/Separator/DropdownSeparator.d.ts +6 -0
  55. package/dist/components/Dropdown/Separator/index.d.ts +2 -0
  56. package/dist/components/Dropdown/Sub/DropdownSub.d.ts +2 -0
  57. package/dist/components/Dropdown/Sub/index.d.ts +4 -0
  58. package/dist/components/Dropdown/SubContent/DropdownSubContent.d.ts +2 -0
  59. package/dist/components/Dropdown/SubContent/index.d.ts +2 -0
  60. package/dist/components/Dropdown/SubTrigger/DropdownSubTrigger.d.ts +2 -0
  61. package/dist/components/Dropdown/SubTrigger/index.d.ts +2 -0
  62. package/dist/components/Dropdown/Trigger/DropdownTrigger.d.ts +7 -0
  63. package/dist/components/Dropdown/Trigger/index.d.ts +2 -0
  64. package/dist/components/Dropdown/Trigger/types.d.ts +1 -0
  65. package/dist/components/Dropdown/index.d.ts +4 -0
  66. package/dist/components/Dropdown/internal/DropdownCollection.d.ts +11 -0
  67. package/dist/components/Dropdown/internal/DropdownContext.d.ts +58 -0
  68. package/dist/components/Dropdown/internal/composeEventHandlers.d.ts +2 -0
  69. package/dist/components/Dropdown/internal/types.d.ts +82 -0
  70. package/dist/components/Dropdown/types.d.ts +186 -0
  71. package/dist/components/Modal/Body/ModalBody.d.ts +5 -0
  72. package/dist/components/Modal/Body/index.d.ts +2 -0
  73. package/dist/components/Modal/Body/types.d.ts +7 -0
  74. package/dist/components/Modal/Close/ModalClose.d.ts +5 -0
  75. package/dist/components/Modal/Close/index.d.ts +2 -0
  76. package/dist/components/Modal/Close/types.d.ts +11 -0
  77. package/dist/components/Modal/Content/ModalContent.d.ts +5 -0
  78. package/dist/components/Modal/Content/index.d.ts +2 -0
  79. package/dist/components/Modal/Content/types.d.ts +28 -0
  80. package/dist/components/Modal/Footer/ModalFooter.d.ts +5 -0
  81. package/dist/components/Modal/Footer/index.d.ts +2 -0
  82. package/dist/components/Modal/Footer/types.d.ts +7 -0
  83. package/dist/components/Modal/Header/ModalDescription.d.ts +7 -0
  84. package/dist/components/Modal/Header/ModalHeader.d.ts +5 -0
  85. package/dist/components/Modal/Header/ModalTitle.d.ts +7 -0
  86. package/dist/components/Modal/Header/index.d.ts +4 -0
  87. package/dist/components/Modal/Header/types.d.ts +7 -0
  88. package/dist/components/Modal/Modal.d.ts +45 -0
  89. package/dist/components/Modal/Overlay/ModalOverlay.d.ts +5 -0
  90. package/dist/components/Modal/Overlay/index.d.ts +2 -0
  91. package/dist/components/Modal/Overlay/types.d.ts +8 -0
  92. package/dist/components/Modal/Root/ModalRoot.d.ts +5 -0
  93. package/dist/components/Modal/Root/index.d.ts +2 -0
  94. package/dist/components/Modal/Root/types.d.ts +1 -0
  95. package/dist/components/Modal/Root/useModalRootState.d.ts +37 -0
  96. package/dist/components/Modal/Trigger/ModalTrigger.d.ts +5 -0
  97. package/dist/components/Modal/Trigger/index.d.ts +2 -0
  98. package/dist/components/Modal/Trigger/types.d.ts +11 -0
  99. package/dist/components/Modal/index.d.ts +17 -0
  100. package/dist/components/Modal/internal/ModalContext.d.ts +5 -0
  101. package/dist/components/Modal/internal/composeEventHandlers.d.ts +1 -0
  102. package/dist/components/Modal/internal/constants.d.ts +2 -0
  103. package/dist/components/Modal/internal/types.d.ts +37 -0
  104. package/dist/components/Modal/internal/useModalAccessibility.d.ts +1 -0
  105. package/dist/components/Modal/internal/useModalDismiss.d.ts +19 -0
  106. package/dist/components/Modal/internal/useModalFocusTrap.d.ts +1 -0
  107. package/dist/components/Modal/types.d.ts +45 -0
  108. package/dist/components/Popover/Anchor/PopoverAnchor.d.ts +5 -0
  109. package/dist/components/Popover/Anchor/index.d.ts +2 -0
  110. package/dist/components/Popover/Anchor/types.d.ts +7 -0
  111. package/dist/components/Popover/Arrow/PopoverArrow.d.ts +5 -0
  112. package/dist/components/Popover/Arrow/index.d.ts +2 -0
  113. package/dist/components/Popover/Arrow/types.d.ts +9 -0
  114. package/dist/components/Popover/Close/PopoverClose.d.ts +5 -0
  115. package/dist/components/Popover/Close/index.d.ts +2 -0
  116. package/dist/components/Popover/Close/types.d.ts +7 -0
  117. package/dist/components/Popover/Content/PopoverContent.d.ts +5 -0
  118. package/dist/components/Popover/Content/index.d.ts +2 -0
  119. package/dist/components/Popover/Content/types.d.ts +24 -0
  120. package/dist/components/Popover/Context/PopoverContext.d.ts +6 -0
  121. package/dist/components/Popover/Context/index.d.ts +2 -0
  122. package/dist/components/Popover/Context/types.d.ts +24 -0
  123. package/dist/components/Popover/Description/PopoverDescription.d.ts +5 -0
  124. package/dist/components/Popover/Description/index.d.ts +2 -0
  125. package/dist/components/Popover/Description/types.d.ts +7 -0
  126. package/dist/components/Popover/Popover.d.ts +17 -0
  127. package/dist/components/Popover/Root/PopoverRoot.d.ts +2 -0
  128. package/dist/components/Popover/Root/index.d.ts +2 -0
  129. package/dist/components/Popover/Root/types.d.ts +2 -0
  130. package/dist/components/Popover/Title/PopoverTitle.d.ts +5 -0
  131. package/dist/components/Popover/Title/index.d.ts +2 -0
  132. package/dist/components/Popover/Title/types.d.ts +7 -0
  133. package/dist/components/Popover/Trigger/PopoverTrigger.d.ts +5 -0
  134. package/dist/components/Popover/Trigger/index.d.ts +2 -0
  135. package/dist/components/Popover/Trigger/types.d.ts +14 -0
  136. package/dist/components/Popover/index.d.ts +9 -0
  137. package/dist/components/Popover/types.d.ts +10 -0
  138. package/dist/components/RadioGroup/Item/RadioGroupItem.d.ts +1 -0
  139. package/dist/components/RadioGroup/Item/index.d.ts +2 -0
  140. package/dist/components/RadioGroup/Item/types.d.ts +2 -0
  141. package/dist/components/RadioGroup/RadioGroup.d.ts +3 -0
  142. package/dist/components/RadioGroup/Root/RadioGroupRoot.d.ts +2 -0
  143. package/dist/components/RadioGroup/Root/index.d.ts +2 -0
  144. package/dist/components/RadioGroup/Root/types.d.ts +16 -0
  145. package/dist/components/RadioGroup/index.d.ts +4 -0
  146. package/dist/components/RadioGroup/internal/RadioGroupContext.d.ts +3 -0
  147. package/dist/components/RadioGroup/internal/types.d.ts +13 -0
  148. package/dist/components/RadioGroup/internal/useRadioGroupCollection.d.ts +3 -0
  149. package/dist/components/RadioGroup/internal/useRadioGroupKeyboard.d.ts +7 -0
  150. package/dist/components/RadioGroup/types.d.ts +4 -0
  151. package/dist/components/Select/Content/SelectContent.d.ts +7 -0
  152. package/dist/components/Select/Content/index.d.ts +2 -0
  153. package/dist/components/Select/Content/types.d.ts +41 -0
  154. package/dist/components/Select/Empty/SelectEmpty.d.ts +3 -0
  155. package/dist/components/Select/Empty/index.d.ts +2 -0
  156. package/dist/components/Select/Empty/types.d.ts +5 -0
  157. package/dist/components/Select/Group/SelectGroup.d.ts +3 -0
  158. package/dist/components/Select/Group/index.d.ts +2 -0
  159. package/dist/components/Select/Group/types.d.ts +19 -0
  160. package/dist/components/Select/Icon/SelectIcon.d.ts +3 -0
  161. package/dist/components/Select/Icon/index.d.ts +2 -0
  162. package/dist/components/Select/Icon/types.d.ts +7 -0
  163. package/dist/components/Select/Item/SelectItem.d.ts +7 -0
  164. package/dist/components/Select/Item/index.d.ts +2 -0
  165. package/dist/components/Select/Item/types.d.ts +35 -0
  166. package/dist/components/Select/ItemBadge/SelectItemBadge.d.ts +3 -0
  167. package/dist/components/Select/ItemBadge/index.d.ts +2 -0
  168. package/dist/components/Select/ItemBadge/types.d.ts +5 -0
  169. package/dist/components/Select/ItemDescription/SelectItemDescription.d.ts +3 -0
  170. package/dist/components/Select/ItemDescription/index.d.ts +2 -0
  171. package/dist/components/Select/ItemDescription/types.d.ts +5 -0
  172. package/dist/components/Select/ItemIcon/SelectItemIcon.d.ts +3 -0
  173. package/dist/components/Select/ItemIcon/index.d.ts +2 -0
  174. package/dist/components/Select/ItemIcon/types.d.ts +5 -0
  175. package/dist/components/Select/Label/SelectLabel.d.ts +3 -0
  176. package/dist/components/Select/Label/index.d.ts +2 -0
  177. package/dist/components/Select/Loading/SelectLoading.d.ts +3 -0
  178. package/dist/components/Select/Loading/index.d.ts +2 -0
  179. package/dist/components/Select/Loading/types.d.ts +5 -0
  180. package/dist/components/Select/Root/SelectRoot.d.ts +5 -0
  181. package/dist/components/Select/Root/index.d.ts +2 -0
  182. package/dist/components/Select/Root/types.d.ts +1 -0
  183. package/dist/components/Select/Root/useSelectRootState.d.ts +21 -0
  184. package/dist/components/Select/Search/SelectSearch.d.ts +3 -0
  185. package/dist/components/Select/Search/index.d.ts +2 -0
  186. package/dist/components/Select/Search/types.d.ts +6 -0
  187. package/dist/components/Select/Select.d.ts +19 -0
  188. package/dist/components/Select/Separator/SelectSeparator.d.ts +3 -0
  189. package/dist/components/Select/Separator/index.d.ts +2 -0
  190. package/dist/components/Select/Trigger/SelectTrigger.d.ts +7 -0
  191. package/dist/components/Select/Trigger/index.d.ts +2 -0
  192. package/dist/components/Select/Trigger/types.d.ts +36 -0
  193. package/dist/components/Select/Value/SelectValue.d.ts +3 -0
  194. package/dist/components/Select/Value/index.d.ts +2 -0
  195. package/dist/components/Select/Value/types.d.ts +7 -0
  196. package/dist/components/Select/index.d.ts +31 -0
  197. package/dist/components/Select/internal/SelectCollection.d.ts +8 -0
  198. package/dist/components/Select/internal/SelectContext.d.ts +8 -0
  199. package/dist/components/Select/internal/SelectSearch.d.ts +11 -0
  200. package/dist/components/Select/internal/SelectVirtualization.d.ts +25 -0
  201. package/dist/components/Select/internal/types.d.ts +27 -0
  202. package/dist/components/Select/internal/useSelectCollection.d.ts +5 -0
  203. package/dist/components/Select/types.d.ts +111 -0
  204. package/dist/components/Tabs/Content/TabsContent.d.ts +5 -0
  205. package/dist/components/Tabs/Content/index.d.ts +2 -0
  206. package/dist/components/Tabs/Content/types.d.ts +6 -0
  207. package/dist/components/Tabs/List/TabsIndicator.d.ts +5 -0
  208. package/dist/components/Tabs/List/TabsList.d.ts +5 -0
  209. package/dist/components/Tabs/List/index.d.ts +3 -0
  210. package/dist/components/Tabs/List/types.d.ts +10 -0
  211. package/dist/components/Tabs/Root/TabsRoot.d.ts +5 -0
  212. package/dist/components/Tabs/Root/index.d.ts +2 -0
  213. package/dist/components/Tabs/Root/types.d.ts +8 -0
  214. package/dist/components/Tabs/Tabs.d.ts +26 -0
  215. package/dist/components/Tabs/Trigger/TabsBadge.d.ts +5 -0
  216. package/dist/components/Tabs/Trigger/TabsIcon.d.ts +5 -0
  217. package/dist/components/Tabs/Trigger/TabsTrigger.d.ts +2 -0
  218. package/dist/components/Tabs/Trigger/index.d.ts +4 -0
  219. package/dist/components/Tabs/Trigger/types.d.ts +32 -0
  220. package/dist/components/Tabs/index.d.ts +2 -0
  221. package/dist/components/Tabs/internal/TabsContext.d.ts +3 -0
  222. package/dist/components/Tabs/internal/types.d.ts +33 -0
  223. package/dist/components/Tabs/internal/useTabsCollection.d.ts +9 -0
  224. package/dist/components/Tabs/internal/useTabsIndicator.d.ts +6 -0
  225. package/dist/components/Tabs/internal/useTabsKeyboard.d.ts +16 -0
  226. package/dist/components/Tabs/types.d.ts +4 -0
  227. package/dist/components/Tooltip/Content/TooltipContent.d.ts +2 -0
  228. package/dist/components/Tooltip/Content/index.d.ts +2 -0
  229. package/dist/components/Tooltip/Content/types.d.ts +13 -0
  230. package/dist/components/Tooltip/Root/TooltipRoot.d.ts +5 -0
  231. package/dist/components/Tooltip/Root/index.d.ts +2 -0
  232. package/dist/components/Tooltip/Root/types.d.ts +26 -0
  233. package/dist/components/Tooltip/Tooltip.d.ts +15 -0
  234. package/dist/components/Tooltip/Trigger/TooltipTrigger.d.ts +5 -0
  235. package/dist/components/Tooltip/Trigger/index.d.ts +2 -0
  236. package/dist/components/Tooltip/Trigger/types.d.ts +15 -0
  237. package/dist/components/Tooltip/index.d.ts +8 -0
  238. package/dist/components/Tooltip/internal/TooltipContext.d.ts +12 -0
  239. package/dist/components/Tooltip/internal/composeEventHandlers.d.ts +5 -0
  240. package/dist/components/Tooltip/internal/types.d.ts +23 -0
  241. package/dist/components/Tooltip/internal/useTooltipDelay.d.ts +3 -0
  242. package/dist/components/Tooltip/internal/useTooltipInteractions.d.ts +8 -0
  243. package/dist/components/Tooltip/internal/useTooltipPosition.d.ts +20 -0
  244. package/dist/components/Tooltip/types.d.ts +5 -0
  245. package/dist/components/index.d.ts +8 -0
  246. package/dist/docs-examples.typecheck.d.ts +8 -0
  247. package/dist/hooks/behavior/focus/index.d.ts +3 -0
  248. package/dist/hooks/behavior/focus/useAriaIsolation.d.ts +2 -0
  249. package/dist/hooks/behavior/focus/useFocusScope.d.ts +2 -0
  250. package/dist/hooks/behavior/index.d.ts +6 -0
  251. package/dist/hooks/behavior/overlay/index.d.ts +10 -0
  252. package/dist/hooks/behavior/overlay/useOverlayDismiss.d.ts +7 -0
  253. package/dist/hooks/behavior/overlay/useOverlayFocusRestore.d.ts +13 -0
  254. package/dist/hooks/behavior/overlay/useOverlayPresentation.d.ts +36 -0
  255. package/dist/hooks/behavior/overlay/useOverlayRegistration.d.ts +13 -0
  256. package/dist/hooks/behavior/overlay/useScrollLock.d.ts +5 -0
  257. package/dist/hooks/behavior/portal/index.d.ts +2 -0
  258. package/dist/hooks/behavior/portal/usePortal.d.ts +5 -0
  259. package/dist/hooks/behavior/select/index.d.ts +1 -0
  260. package/dist/hooks/behavior/select/useSelectPosition.d.ts +22 -0
  261. package/dist/hooks/behavior/types.d.ts +43 -0
  262. package/dist/hooks/behavior/utils/events.d.ts +1 -0
  263. package/dist/hooks/behavior/utils/focusUtils.d.ts +1 -0
  264. package/dist/hooks/behavior/utils/index.d.ts +2 -0
  265. package/dist/hooks/index.d.ts +8 -0
  266. package/dist/hooks/useControllableState.d.ts +7 -0
  267. package/dist/hooks/useDropdown.d.ts +28 -0
  268. package/dist/hooks/useKeyboardNavigation.d.ts +24 -0
  269. package/dist/hooks/useModal.d.ts +18 -0
  270. package/dist/hooks/useSelect.d.ts +43 -0
  271. package/dist/hooks/useTabs.d.ts +9 -0
  272. package/dist/managers/FloatingManager/index.d.ts +2 -0
  273. package/dist/managers/FloatingManager/useFloatingPosition.d.ts +27 -0
  274. package/dist/managers/OverlayManager/OverlayManagerProvider.d.ts +3 -0
  275. package/dist/managers/OverlayManager/WebOverlayManager.d.ts +3 -0
  276. package/dist/managers/OverlayManager/index.d.ts +3 -0
  277. package/dist/managers/OverlayManager/types.d.ts +42 -0
  278. package/dist/managers/index.d.ts +2 -0
  279. package/dist/patterns/FormField/FormField.d.ts +15 -0
  280. package/dist/patterns/FormField/FormFieldContext.d.ts +16 -0
  281. package/dist/patterns/FormField/index.d.ts +3 -0
  282. package/dist/patterns/FormField/types.d.ts +64 -0
  283. package/dist/patterns/index.d.ts +1 -0
  284. package/dist/primitives/Button/Button.d.ts +2 -0
  285. package/dist/primitives/Button/index.d.ts +2 -0
  286. package/dist/primitives/Button/types.d.ts +22 -0
  287. package/dist/primitives/Checkbox/Checkbox.d.ts +2 -0
  288. package/dist/primitives/Checkbox/index.d.ts +2 -0
  289. package/dist/primitives/Checkbox/types.d.ts +18 -0
  290. package/dist/primitives/Input/Input.d.ts +2 -0
  291. package/dist/primitives/Input/index.d.ts +2 -0
  292. package/dist/primitives/Input/types.d.ts +50 -0
  293. package/dist/primitives/Portal/Portal.d.ts +12 -0
  294. package/dist/primitives/Portal/index.d.ts +2 -0
  295. package/dist/primitives/Portal/types.d.ts +13 -0
  296. package/dist/primitives/Radio/Radio.d.ts +2 -0
  297. package/dist/primitives/Radio/index.d.ts +2 -0
  298. package/dist/primitives/Radio/types.d.ts +14 -0
  299. package/dist/primitives/Switch/Switch.d.ts +2 -0
  300. package/dist/primitives/Switch/index.d.ts +2 -0
  301. package/dist/primitives/Switch/types.d.ts +2 -0
  302. package/dist/primitives/Textarea/Textarea.d.ts +2 -0
  303. package/dist/primitives/Textarea/index.d.ts +2 -0
  304. package/dist/primitives/Textarea/types.d.ts +6 -0
  305. package/dist/primitives/index.d.ts +7 -0
  306. package/dist/styles.cjs +0 -0
  307. package/dist/styles.d.ts +1 -0
  308. package/dist/styles.js +0 -0
  309. package/dist/test-utils/a11y.d.ts +2 -0
  310. package/dist/test-utils/render.d.ts +6 -0
  311. package/dist/theme/ThemeContext.d.ts +2 -0
  312. package/dist/theme/ThemeProvider.d.ts +5 -0
  313. package/dist/theme/index.d.ts +3 -0
  314. package/dist/theme/types.d.ts +20 -0
  315. package/dist/theme/useTheme.d.ts +1 -0
  316. package/dist/utils/VisuallyHidden.d.ts +3 -0
  317. package/dist/utils/cn.d.ts +2 -0
  318. package/dist/utils/compose.d.ts +5 -0
  319. package/dist/utils/devWarning.d.ts +1 -0
  320. package/dist/utils/index.d.ts +3 -0
  321. package/package.json +12 -11
  322. package/styles.d.ts +2 -0
@@ -0,0 +1,186 @@
1
+ import { Placement, Strategy } from '@floating-ui/react';
2
+ import { BaseDropdownContentProps, BaseDropdownItemProps, BaseDropdownProps, BaseDropdownSearchProps, BaseDropdownSelectableItemProps, BaseDropdownTriggerProps } from '@vellira-ui/types';
3
+ import { AnchorHTMLAttributes, CSSProperties, KeyboardEvent as ReactKeyboardEvent, MouseEvent, ReactNode } from 'react';
4
+ export type DropdownSelectEvent = {
5
+ /** Original pointer or keyboard event that selected the item. */
6
+ originalEvent: MouseEvent<HTMLElement> | KeyboardEvent | ReactKeyboardEvent<HTMLElement>;
7
+ /** Prevents the dropdown from performing its default select behavior. */
8
+ preventDefault: () => void;
9
+ /** Whether default select behavior has been prevented. */
10
+ defaultPrevented: boolean;
11
+ };
12
+ export type DropdownProps = BaseDropdownProps & {
13
+ /** Trigger, content, and optional compound dropdown children. */
14
+ children: ReactNode;
15
+ /** Floating content placement relative to the trigger. */
16
+ placement?: Placement;
17
+ /** CSS positioning strategy used by the floating content. */
18
+ strategy?: Strategy;
19
+ /** Distance between the trigger and dropdown content. */
20
+ offset?: number;
21
+ /** Padding used when avoiding viewport collisions. */
22
+ collisionPadding?: number;
23
+ /** Matches dropdown content width to the trigger width. */
24
+ matchTriggerWidth?: boolean;
25
+ /** Minimum dropdown content width. */
26
+ minWidth?: number | string;
27
+ /** Maximum dropdown content width. */
28
+ maxWidth?: number | string;
29
+ /** Renders dropdown content through a portal. */
30
+ portal?: boolean;
31
+ /** Allows the dropdown to flip or shift to stay visible. */
32
+ avoidCollisions?: boolean;
33
+ /** Uses modal interaction semantics while the dropdown is open. */
34
+ modal?: boolean;
35
+ /** Allows keyboard navigation to wrap between first and last items. */
36
+ loop?: boolean;
37
+ /** Class name applied to the root element. */
38
+ className?: string;
39
+ /** Content shown while dropdown items are loading. */
40
+ loadingText?: ReactNode;
41
+ /** Content shown when no items match the current query. */
42
+ empty?: ReactNode;
43
+ };
44
+ export type DropdownTriggerProps = BaseDropdownTriggerProps & {
45
+ /** Trigger content. */
46
+ children: ReactNode;
47
+ /** Composes trigger behavior onto a single child element. */
48
+ asChild?: boolean;
49
+ /** Class name applied to the trigger element. */
50
+ className?: string;
51
+ };
52
+ export type DropdownContentProps = BaseDropdownContentProps & {
53
+ /** Dropdown item and slot content. */
54
+ children?: ReactNode;
55
+ /** Class name applied to the content element. */
56
+ className?: string;
57
+ /** Inline style applied to the content element. */
58
+ style?: CSSProperties;
59
+ };
60
+ export type DropdownSearchProps = BaseDropdownSearchProps & {
61
+ /** Accessible name for the search input. */
62
+ 'aria-label'?: string;
63
+ /** Class name applied to the search input. */
64
+ className?: string;
65
+ };
66
+ export type DropdownArrowProps = {
67
+ /** Class name applied to the floating arrow element. */
68
+ className?: string;
69
+ };
70
+ export type DropdownItemProps = BaseDropdownItemProps & {
71
+ /** Item label or custom item content. */
72
+ children: ReactNode;
73
+ /** Composes item behavior onto a single child element. */
74
+ asChild?: boolean;
75
+ /** Icon rendered before the item label. */
76
+ icon?: ReactNode;
77
+ /** Supporting text rendered below the item label. */
78
+ description?: ReactNode;
79
+ /** Badge content rendered after the item label. */
80
+ badge?: ReactNode;
81
+ /** Keyboard shortcut hint rendered after the item label. */
82
+ shortcut?: ReactNode;
83
+ /** Called when this item is selected. */
84
+ onSelect?: (event: DropdownSelectEvent) => void;
85
+ /** Link target rendered when the item acts as an anchor. */
86
+ href?: string;
87
+ /** Anchor target used when href is provided. */
88
+ target?: AnchorHTMLAttributes<HTMLAnchorElement>['target'];
89
+ /** Anchor rel attribute used when href is provided. */
90
+ rel?: string;
91
+ /** Anchor download attribute used when href is provided. */
92
+ download?: boolean | string;
93
+ /** Class name applied to the item element. */
94
+ className?: string;
95
+ };
96
+ export type DropdownCheckboxItemProps = BaseDropdownSelectableItemProps & {
97
+ /** Composes checkbox item behavior onto a single child element. */
98
+ asChild?: boolean;
99
+ /** Controlled checked state. */
100
+ checked?: boolean;
101
+ /** Initial checked state for uncontrolled usage. */
102
+ defaultChecked?: boolean;
103
+ /** Called when the checked state changes. */
104
+ onCheckedChange?: (checked: boolean) => void;
105
+ /** Indicator icon shown when the item is checked. */
106
+ icon?: ReactNode;
107
+ /** Keyboard shortcut hint rendered after the item label. */
108
+ shortcut?: ReactNode;
109
+ /** Checkbox item label or custom content. */
110
+ children: ReactNode;
111
+ /** Class name applied to the checkbox item element. */
112
+ className?: string;
113
+ };
114
+ export type DropdownRadioGroupProps = {
115
+ /** Radio item children. */
116
+ children?: ReactNode;
117
+ /** Controlled selected radio value. */
118
+ value?: string;
119
+ /** Initial selected radio value for uncontrolled usage. */
120
+ defaultValue?: string;
121
+ /** Called when the selected radio value changes. */
122
+ onValueChange?: (value: string) => void;
123
+ };
124
+ export type DropdownRadioItemProps = BaseDropdownSelectableItemProps & {
125
+ /** Radio item label or custom content. */
126
+ children: ReactNode;
127
+ /** Composes radio item behavior onto a single child element. */
128
+ asChild?: boolean;
129
+ /** Value represented by this radio item. */
130
+ value: string;
131
+ /** Indicator icon shown when the item is selected. */
132
+ icon?: ReactNode;
133
+ /** Keyboard shortcut hint rendered after the item label. */
134
+ shortcut?: ReactNode;
135
+ /** Class name applied to the radio item element. */
136
+ className?: string;
137
+ };
138
+ export type DropdownSeparatorProps = {
139
+ /** Class name applied to the separator element. */
140
+ className?: string;
141
+ };
142
+ export type DropdownSubProps = {
143
+ /** Submenu trigger and content. */
144
+ children?: ReactNode;
145
+ };
146
+ export type DropdownSubTriggerProps = Omit<DropdownItemProps, 'onSelect'>;
147
+ export type DropdownSubContentProps = {
148
+ /** Submenu item and slot content. */
149
+ children?: ReactNode;
150
+ /** Class name applied to the submenu content element. */
151
+ className?: string;
152
+ };
153
+ export type DropdownItemIconProps = {
154
+ /** Icon slot content. */
155
+ children?: ReactNode;
156
+ };
157
+ export type DropdownItemDescriptionProps = {
158
+ /** Description slot content. */
159
+ children?: ReactNode;
160
+ };
161
+ export type DropdownItemBadgeProps = {
162
+ /** Badge slot content. */
163
+ children?: ReactNode;
164
+ };
165
+ export type DropdownItemShortcutProps = {
166
+ /** Shortcut slot content. */
167
+ children?: ReactNode;
168
+ };
169
+ export type DropdownGroupProps = {
170
+ /** Grouped dropdown items. */
171
+ children?: ReactNode;
172
+ };
173
+ export type DropdownLabelProps = {
174
+ /** Label content for a dropdown group. */
175
+ children?: ReactNode;
176
+ /** Class name applied to the label element. */
177
+ className?: string;
178
+ };
179
+ export type DropdownEmptyProps = {
180
+ /** Empty state content. */
181
+ children?: ReactNode;
182
+ };
183
+ export type DropdownLoadingProps = {
184
+ /** Loading state content. */
185
+ children?: ReactNode;
186
+ };
@@ -0,0 +1,5 @@
1
+ import { ModalBodyProps } from './types';
2
+ export declare const ModalBody: {
3
+ ({ children, className }: ModalBodyProps): import('react').JSX.Element;
4
+ displayName: string;
5
+ };
@@ -0,0 +1,2 @@
1
+ export { ModalBody } from './ModalBody';
2
+ export type { ModalBodyProps } from './types';
@@ -0,0 +1,7 @@
1
+ import { ReactNode } from 'react';
2
+ export interface ModalBodyProps {
3
+ /** Main modal body content. */
4
+ children: ReactNode;
5
+ /** Class name applied to the body element. */
6
+ className?: string;
7
+ }
@@ -0,0 +1,5 @@
1
+ import { ModalCloseProps } from './types';
2
+ export declare const ModalClose: {
3
+ ({ asChild, children, className, "aria-label": ariaLabel, }: ModalCloseProps): import('react').JSX.Element;
4
+ displayName: string;
5
+ };
@@ -0,0 +1,2 @@
1
+ export { ModalClose } from './ModalClose';
2
+ export type { ModalCloseProps } from './types';
@@ -0,0 +1,11 @@
1
+ import { ReactElement } from 'react';
2
+ export type ModalCloseProps = {
3
+ /** Composes close behavior onto a single child element. */
4
+ asChild?: boolean;
5
+ /** Custom close button element. */
6
+ children?: ReactElement;
7
+ /** Accessible name for the close button. */
8
+ 'aria-label'?: string;
9
+ /** Class name applied to the close button. */
10
+ className?: string;
11
+ };
@@ -0,0 +1,5 @@
1
+ import { ModalContentProps } from './types';
2
+ export declare const ModalContent: {
3
+ ({ children, size, placement, scrollBehavior, animated, forceMount, ariaLabel, ariaLabelledBy, ariaDescribedBy, className, style, }: ModalContentProps): import('react').JSX.Element | null;
4
+ displayName: string;
5
+ };
@@ -0,0 +1,2 @@
1
+ export { ModalContent } from './ModalContent';
2
+ export type { ModalContentPlacement, ModalContentProps, ModalContentSize, ModalScrollBehavior, } from './types';
@@ -0,0 +1,28 @@
1
+ import { CSSProperties, ReactNode } from 'react';
2
+ export type ModalContentSize = 'sm' | 'md' | 'lg' | 'xl' | 'full';
3
+ export type ModalContentPlacement = 'center' | 'top';
4
+ export type ModalScrollBehavior = 'inside' | 'outside';
5
+ export interface ModalContentProps {
6
+ /** Modal panel content. */
7
+ children: ReactNode;
8
+ /** Preset modal panel width. */
9
+ size?: ModalContentSize;
10
+ /** Vertical placement for the modal panel. */
11
+ placement?: ModalContentPlacement;
12
+ /** Controls whether scrolling happens inside the panel or outside it. */
13
+ scrollBehavior?: ModalScrollBehavior;
14
+ /** Enables enter and exit animation for the panel. */
15
+ animated?: boolean;
16
+ /** Keeps content mounted even when the modal is closed. */
17
+ forceMount?: boolean;
18
+ /** Accessible label applied directly to the modal panel. */
19
+ ariaLabel?: string;
20
+ /** Id of the element that labels the modal panel. */
21
+ ariaLabelledBy?: string;
22
+ /** Id of the element that describes the modal panel. */
23
+ ariaDescribedBy?: string;
24
+ /** Class name applied to the modal panel. */
25
+ className?: string;
26
+ /** Inline style applied to the modal panel. */
27
+ style?: CSSProperties;
28
+ }
@@ -0,0 +1,5 @@
1
+ import { ModalFooterProps } from './types';
2
+ export declare const ModalFooter: {
3
+ ({ children, className }: ModalFooterProps): import('react').JSX.Element;
4
+ displayName: string;
5
+ };
@@ -0,0 +1,2 @@
1
+ export { ModalFooter } from './ModalFooter';
2
+ export type { ModalFooterProps } from './types';
@@ -0,0 +1,7 @@
1
+ import { ReactNode } from 'react';
2
+ export interface ModalFooterProps {
3
+ /** Footer actions or custom footer content. */
4
+ children: ReactNode;
5
+ /** Class name applied to the footer element. */
6
+ className?: string;
7
+ }
@@ -0,0 +1,7 @@
1
+ import { ReactNode } from 'react';
2
+ export declare const ModalDescription: {
3
+ ({ children }: {
4
+ children: ReactNode;
5
+ }): import('react').JSX.Element;
6
+ displayName: string;
7
+ };
@@ -0,0 +1,5 @@
1
+ import { ModalHeaderProps } from './types';
2
+ export declare const ModalHeader: {
3
+ ({ children, className }: ModalHeaderProps): import('react').JSX.Element;
4
+ displayName: string;
5
+ };
@@ -0,0 +1,7 @@
1
+ import { ReactNode } from 'react';
2
+ export declare const ModalTitle: {
3
+ ({ children }: {
4
+ children: ReactNode;
5
+ }): import('react').JSX.Element;
6
+ displayName: string;
7
+ };
@@ -0,0 +1,4 @@
1
+ export { ModalDescription } from './ModalDescription';
2
+ export { ModalHeader } from './ModalHeader';
3
+ export { ModalTitle } from './ModalTitle';
4
+ export type { ModalHeaderProps } from './types';
@@ -0,0 +1,7 @@
1
+ import { ReactNode } from 'react';
2
+ export interface ModalHeaderProps {
3
+ /** Header content, typically title and description. */
4
+ children: ReactNode;
5
+ /** Class name applied to the header element. */
6
+ className?: string;
7
+ }
@@ -0,0 +1,45 @@
1
+ export declare const Modal: {
2
+ ({ children, className, ...props }: import('./types').ModalProps): import('react').JSX.Element;
3
+ displayName: string;
4
+ } & {
5
+ Trigger: {
6
+ ({ children, asChild, disabled, className, }: import('./Trigger').ModalTriggerProps): import('react').JSX.Element;
7
+ displayName: string;
8
+ };
9
+ Overlay: {
10
+ ({ className, animated, forceMount, }: import('./Overlay').ModalOverlayProps): import('react').JSX.Element | null;
11
+ displayName: string;
12
+ };
13
+ Content: {
14
+ ({ children, size, placement, scrollBehavior, animated, forceMount, ariaLabel, ariaLabelledBy, ariaDescribedBy, className, style, }: import('./Content').ModalContentProps): import('react').JSX.Element | null;
15
+ displayName: string;
16
+ };
17
+ Header: {
18
+ ({ children, className }: import('./Header').ModalHeaderProps): import('react').JSX.Element;
19
+ displayName: string;
20
+ };
21
+ Title: {
22
+ ({ children }: {
23
+ children: import('react').ReactNode;
24
+ }): import('react').JSX.Element;
25
+ displayName: string;
26
+ };
27
+ Description: {
28
+ ({ children }: {
29
+ children: import('react').ReactNode;
30
+ }): import('react').JSX.Element;
31
+ displayName: string;
32
+ };
33
+ Body: {
34
+ ({ children, className }: import('./Body').ModalBodyProps): import('react').JSX.Element;
35
+ displayName: string;
36
+ };
37
+ Footer: {
38
+ ({ children, className }: import('./Footer').ModalFooterProps): import('react').JSX.Element;
39
+ displayName: string;
40
+ };
41
+ Close: {
42
+ ({ asChild, children, className, "aria-label": ariaLabel, }: import('./Close').ModalCloseProps): import('react').JSX.Element;
43
+ displayName: string;
44
+ };
45
+ };
@@ -0,0 +1,5 @@
1
+ import { ModalOverlayProps } from './types';
2
+ export declare const ModalOverlay: {
3
+ ({ className, animated, forceMount, }: ModalOverlayProps): import('react').JSX.Element | null;
4
+ displayName: string;
5
+ };
@@ -0,0 +1,2 @@
1
+ export { ModalOverlay } from './ModalOverlay';
2
+ export type { ModalOverlayProps } from './types';
@@ -0,0 +1,8 @@
1
+ export type ModalOverlayProps = {
2
+ /** Enables enter and exit animation for the overlay. */
3
+ animated?: boolean;
4
+ /** Class name applied to the overlay element. */
5
+ className?: string;
6
+ /** Keeps the overlay mounted even when the modal is closed. */
7
+ forceMount?: boolean;
8
+ };
@@ -0,0 +1,5 @@
1
+ import { ModalProps } from '../types';
2
+ export declare const ModalRoot: {
3
+ ({ children, className, ...props }: ModalProps): import('react').JSX.Element;
4
+ displayName: string;
5
+ };
@@ -0,0 +1,2 @@
1
+ export { ModalRoot } from './ModalRoot';
2
+ export type { ModalProps } from './types';
@@ -0,0 +1 @@
1
+ export type { ModalProps } from '../types';
@@ -0,0 +1,37 @@
1
+ import { CSSProperties } from 'react';
2
+ import { ModalProps } from '../types';
3
+ export type UseModalRootStateOptions = Omit<ModalProps, 'children' | 'className'>;
4
+ export declare const useModalRootState: ({ open, defaultOpen, onOpenChange, animation, duration, easing, modal, closeOnEscape, closeOnOutsidePress, preventScroll, restoreFocus, trapFocus, initialFocus, finalFocus, onOpenAutoFocus, onCloseAutoFocus, onEscapeKeyDown, onPointerDownOutside, onInteractOutside, role, }: UseModalRootStateOptions) => {
5
+ context: {
6
+ animation: import('@vellira-ui/types').ModalAnimation;
7
+ animationStyle: CSSProperties;
8
+ closeOnEscape: boolean;
9
+ closeOnOutsidePress: boolean;
10
+ contentId: string;
11
+ contentRef: import('react').RefObject<HTMLElement | null>;
12
+ descriptionId: string;
13
+ finalFocus: import('react').RefObject<HTMLElement> | undefined;
14
+ initialFocus: import('react').RefObject<HTMLElement> | undefined;
15
+ zIndex: number | undefined;
16
+ modal: boolean;
17
+ onCloseAutoFocus: ((event: import('..').ModalAutoFocusEvent) => void) | undefined;
18
+ onEscapeKeyDown: ((event: import('react').KeyboardEvent) => void) | undefined;
19
+ onInteractOutside: ((event: import('..').ModalOutsideEvent) => void) | undefined;
20
+ onOpenAutoFocus: ((event: import('..').ModalAutoFocusEvent) => void) | undefined;
21
+ onPointerDownOutside: ((event: import('..').ModalOutsideEvent) => void) | undefined;
22
+ open: boolean;
23
+ preventScroll: boolean;
24
+ requestClose: () => void;
25
+ restoreFocus: boolean;
26
+ role: "dialog" | "alertdialog";
27
+ setContentRef: (node: HTMLElement | null) => void;
28
+ setDescriptionPresent: import('react').Dispatch<import('react').SetStateAction<boolean>>;
29
+ setOpen: (next: boolean) => void;
30
+ setTitlePresent: import('react').Dispatch<import('react').SetStateAction<boolean>>;
31
+ shouldRender: boolean;
32
+ titleId: string;
33
+ trapFocus: boolean;
34
+ triggerRef: import('react').RefObject<HTMLElement | null>;
35
+ };
36
+ open: boolean;
37
+ };
@@ -0,0 +1,5 @@
1
+ import { ModalTriggerProps } from './types';
2
+ export declare const ModalTrigger: {
3
+ ({ children, asChild, disabled, className, }: ModalTriggerProps): import('react').JSX.Element;
4
+ displayName: string;
5
+ };
@@ -0,0 +1,2 @@
1
+ export { ModalTrigger } from './ModalTrigger';
2
+ export type { ModalTriggerProps } from './types';
@@ -0,0 +1,11 @@
1
+ import { ReactNode } from 'react';
2
+ export type ModalTriggerProps = {
3
+ /** Trigger content. */
4
+ children: ReactNode;
5
+ /** Composes trigger behavior onto a single child element. */
6
+ asChild?: boolean;
7
+ /** Disables trigger interaction. */
8
+ disabled?: boolean;
9
+ /** Class name applied to the trigger element. */
10
+ className?: string;
11
+ };
@@ -0,0 +1,17 @@
1
+ export type { ModalBodyProps } from './Body';
2
+ export { ModalBody } from './Body';
3
+ export type { ModalCloseProps } from './Close';
4
+ export { ModalClose } from './Close';
5
+ export type { ModalContentPlacement, ModalContentProps, ModalContentSize, ModalScrollBehavior, } from './Content';
6
+ export { ModalContent } from './Content';
7
+ export type { ModalFooterProps } from './Footer';
8
+ export { ModalFooter } from './Footer';
9
+ export type { ModalHeaderProps } from './Header';
10
+ export { ModalDescription, ModalHeader, ModalTitle } from './Header';
11
+ export { Modal } from './Modal';
12
+ export type { ModalOverlayProps } from './Overlay';
13
+ export { ModalOverlay } from './Overlay';
14
+ export { ModalRoot } from './Root';
15
+ export type { ModalTriggerProps } from './Trigger';
16
+ export { ModalTrigger } from './Trigger';
17
+ export type { ModalAutoFocusEvent, ModalOutsideEvent, ModalProps, } from './types';
@@ -0,0 +1,5 @@
1
+ import { ModalContentContextValue, ModalContextValue } from './types';
2
+ export declare const useModalContext: () => ModalContextValue;
3
+ export declare const useModalContentContext: () => ModalContentContextValue | undefined;
4
+ export declare const ModalProvider: import('react').Provider<ModalContextValue | undefined>;
5
+ export declare const ModalContentProvider: import('react').Provider<ModalContentContextValue | undefined>;
@@ -0,0 +1 @@
1
+ export { composeEventHandlers, composeRefs } from '../../../utils/compose';
@@ -0,0 +1,2 @@
1
+ export declare const MODAL_CLOSE_LABEL = "Close dialog";
2
+ export declare const MODAL_Z_INDEX = 1000;
@@ -0,0 +1,37 @@
1
+ import { CSSProperties, KeyboardEvent, MutableRefObject, RefObject } from 'react';
2
+ import { ModalAnimation, ModalAutoFocusEvent, ModalOutsideEvent } from '../types';
3
+ export type ModalContextValue = {
4
+ animation: ModalAnimation;
5
+ animationStyle: CSSProperties;
6
+ closeOnEscape: boolean;
7
+ closeOnOutsidePress: boolean;
8
+ contentId: string;
9
+ contentRef: MutableRefObject<HTMLElement | null>;
10
+ descriptionId: string;
11
+ finalFocus?: RefObject<HTMLElement>;
12
+ initialFocus?: RefObject<HTMLElement>;
13
+ zIndex?: number;
14
+ modal: boolean;
15
+ onCloseAutoFocus?: (event: ModalAutoFocusEvent) => void;
16
+ onEscapeKeyDown?: (event: KeyboardEvent) => void;
17
+ onInteractOutside?: (event: ModalOutsideEvent) => void;
18
+ onOpenAutoFocus?: (event: ModalAutoFocusEvent) => void;
19
+ onPointerDownOutside?: (event: ModalOutsideEvent) => void;
20
+ open: boolean;
21
+ preventScroll: boolean;
22
+ requestClose: () => void;
23
+ restoreFocus: boolean;
24
+ role: 'dialog' | 'alertdialog';
25
+ setContentRef: (node: HTMLElement | null) => void;
26
+ setDescriptionPresent: (present: boolean) => void;
27
+ setOpen: (open: boolean) => void;
28
+ setTitlePresent: (present: boolean) => void;
29
+ shouldRender: boolean;
30
+ titleId: string;
31
+ trapFocus: boolean;
32
+ triggerRef: MutableRefObject<HTMLElement | null>;
33
+ };
34
+ export type ModalContentContextValue = {
35
+ scrollBehavior: 'inside' | 'outside';
36
+ surfaceStyle?: CSSProperties;
37
+ };
@@ -0,0 +1 @@
1
+ export { useAriaIsolation as useModalAccessibility } from '../../../hooks/index';
@@ -0,0 +1,19 @@
1
+ import { KeyboardEvent, RefObject } from 'react';
2
+ import { ModalOutsideEvent } from '../types';
3
+ export declare const useModalDismiss: ({ active, registrationActive, id, contentRef, closeOnEscape, closeOnOutsidePress, onEscapeKeyDown, onPointerDownOutside, onInteractOutside, requestClose, }: {
4
+ active: boolean;
5
+ registrationActive?: boolean;
6
+ id: string;
7
+ contentRef: RefObject<HTMLElement | null>;
8
+ closeOnEscape: boolean;
9
+ closeOnOutsidePress: boolean;
10
+ onEscapeKeyDown?: (event: KeyboardEvent) => void;
11
+ onPointerDownOutside?: (event: ModalOutsideEvent) => void;
12
+ onInteractOutside?: (event: ModalOutsideEvent) => void;
13
+ requestClose: () => void;
14
+ }) => {
15
+ isTopOverlay: () => boolean;
16
+ isTopmost: boolean;
17
+ order: number | undefined;
18
+ zIndex: number | undefined;
19
+ };
@@ -0,0 +1 @@
1
+ export { useFocusScope as useModalFocusTrap } from '../../../hooks/index';
@@ -0,0 +1,45 @@
1
+ import { BaseModalProps, ModalAnimation, ModalAnimationDuration, ModalAnimationEasing } from '@vellira-ui/types';
2
+ import { KeyboardEvent, ReactNode, RefObject } from 'react';
3
+ export type ModalAutoFocusEvent = {
4
+ /** Prevents the default focus movement for this lifecycle event. */
5
+ preventDefault: () => void;
6
+ /** Whether default focus movement has been prevented. */
7
+ defaultPrevented: boolean;
8
+ };
9
+ export type ModalOutsideEvent = {
10
+ /** Original pointer event that occurred outside the modal content. */
11
+ originalEvent: PointerEvent | React.PointerEvent<HTMLElement>;
12
+ /** Prevents the default outside-interaction behavior. */
13
+ preventDefault: () => void;
14
+ /** Whether default outside-interaction behavior has been prevented. */
15
+ defaultPrevented: boolean;
16
+ };
17
+ export interface ModalProps extends BaseModalProps {
18
+ /** Modal trigger, overlay, content, and compound children. */
19
+ children: ReactNode;
20
+ /** Uses modal interaction semantics while open. */
21
+ modal?: boolean;
22
+ /** Prevents document scrolling while the modal is open. */
23
+ preventScroll?: boolean;
24
+ /** Keeps keyboard focus inside the modal while open. */
25
+ trapFocus?: boolean;
26
+ /** Element that should receive focus when the modal opens. */
27
+ initialFocus?: RefObject<HTMLElement>;
28
+ /** Element that should receive focus when the modal closes. */
29
+ finalFocus?: RefObject<HTMLElement>;
30
+ /** Called before focus moves into the modal after opening. */
31
+ onOpenAutoFocus?: (event: ModalAutoFocusEvent) => void;
32
+ /** Called before focus is restored after closing. */
33
+ onCloseAutoFocus?: (event: ModalAutoFocusEvent) => void;
34
+ /** Called when Escape is pressed while the modal is open. */
35
+ onEscapeKeyDown?: (event: KeyboardEvent) => void;
36
+ /** Called when a pointer down occurs outside modal content. */
37
+ onPointerDownOutside?: (event: ModalOutsideEvent) => void;
38
+ /** Called when an interaction occurs outside modal content. */
39
+ onInteractOutside?: (event: ModalOutsideEvent) => void;
40
+ /** ARIA role applied to the modal content. */
41
+ role?: 'dialog' | 'alertdialog';
42
+ /** Class name applied to the modal root. */
43
+ className?: string;
44
+ }
45
+ export type { ModalAnimation, ModalAnimationDuration, ModalAnimationEasing };
@@ -0,0 +1,5 @@
1
+ import { PopoverAnchorProps } from './types';
2
+ export declare function PopoverAnchor({ children, asChild, className, ...anchorProps }: PopoverAnchorProps): import('react').JSX.Element;
3
+ export declare namespace PopoverAnchor {
4
+ var displayName: string;
5
+ }
@@ -0,0 +1,2 @@
1
+ export { PopoverAnchor } from './PopoverAnchor';
2
+ export type { PopoverAnchorProps } from './types';
@@ -0,0 +1,7 @@
1
+ import { HTMLAttributes, ReactNode } from 'react';
2
+ export interface PopoverAnchorProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
3
+ /** Element used as the positioning anchor. */
4
+ children: ReactNode;
5
+ /** Composes anchor behavior onto a single child element. */
6
+ asChild?: boolean;
7
+ }
@@ -0,0 +1,5 @@
1
+ import { PopoverArrowProps } from './types';
2
+ export declare function PopoverArrow({ width, height, tipRadius, align, offset, className, ...arrowProps }: PopoverArrowProps): import('react').JSX.Element;
3
+ export declare namespace PopoverArrow {
4
+ var displayName: string;
5
+ }