bits-ui 0.12.0 → 0.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (296) hide show
  1. package/dist/bits/accordion/components/accordion-content.svelte +7 -2
  2. package/dist/bits/accordion/components/accordion-content.svelte.d.ts +2 -2
  3. package/dist/bits/accordion/components/accordion-header.svelte +3 -2
  4. package/dist/bits/accordion/components/accordion-header.svelte.d.ts +2 -2
  5. package/dist/bits/accordion/components/accordion-item.svelte +6 -2
  6. package/dist/bits/accordion/components/accordion-item.svelte.d.ts +2 -2
  7. package/dist/bits/accordion/components/accordion-trigger.svelte +6 -2
  8. package/dist/bits/accordion/components/accordion-trigger.svelte.d.ts +2 -2
  9. package/dist/bits/accordion/components/accordion.svelte +3 -2
  10. package/dist/bits/accordion/ctx.d.ts +244 -38
  11. package/dist/bits/accordion/ctx.js +31 -17
  12. package/dist/bits/alert-dialog/_export.types.d.ts +1 -1
  13. package/dist/bits/alert-dialog/components/alert-dialog-action.svelte +3 -2
  14. package/dist/bits/alert-dialog/components/alert-dialog-cancel.svelte +3 -2
  15. package/dist/bits/alert-dialog/components/alert-dialog-content.svelte +23 -3
  16. package/dist/bits/alert-dialog/components/alert-dialog-content.svelte.d.ts +5 -1
  17. package/dist/bits/alert-dialog/components/alert-dialog-description.svelte +3 -2
  18. package/dist/bits/alert-dialog/components/alert-dialog-overlay.svelte +3 -2
  19. package/dist/bits/alert-dialog/components/alert-dialog-portal.svelte +3 -2
  20. package/dist/bits/alert-dialog/components/alert-dialog-title.svelte +3 -2
  21. package/dist/bits/alert-dialog/components/alert-dialog-trigger.svelte +3 -2
  22. package/dist/bits/alert-dialog/components/alert-dialog.svelte +4 -0
  23. package/dist/bits/alert-dialog/components/alert-dialog.svelte.d.ts +1 -0
  24. package/dist/bits/alert-dialog/ctx.d.ts +85 -3
  25. package/dist/bits/alert-dialog/ctx.js +25 -14
  26. package/dist/bits/alert-dialog/types.d.ts +7 -2
  27. package/dist/bits/aspect-ratio/_types.d.ts +1 -1
  28. package/dist/bits/aspect-ratio/components/aspect-ratio.svelte +1 -1
  29. package/dist/bits/avatar/components/avatar-fallback.svelte +3 -2
  30. package/dist/bits/avatar/components/avatar-image.svelte +4 -2
  31. package/dist/bits/avatar/components/avatar.svelte +3 -2
  32. package/dist/bits/avatar/ctx.d.ts +8 -2
  33. package/dist/bits/avatar/ctx.js +13 -4
  34. package/dist/bits/calendar/components/calendar-cell.svelte +3 -2
  35. package/dist/bits/calendar/components/calendar-day.svelte +3 -2
  36. package/dist/bits/calendar/components/calendar-day.svelte.d.ts +2 -2
  37. package/dist/bits/calendar/components/calendar-grid-body.svelte +2 -1
  38. package/dist/bits/calendar/components/calendar-grid-head.svelte +6 -2
  39. package/dist/bits/calendar/components/calendar-grid-row.svelte +2 -1
  40. package/dist/bits/calendar/components/calendar-grid.svelte +3 -2
  41. package/dist/bits/calendar/components/calendar-grid.svelte.d.ts +2 -2
  42. package/dist/bits/calendar/components/calendar-head-cell.svelte +2 -1
  43. package/dist/bits/calendar/components/calendar-header.svelte +2 -1
  44. package/dist/bits/calendar/components/calendar-heading.svelte +3 -2
  45. package/dist/bits/calendar/components/calendar-next-button.svelte +3 -2
  46. package/dist/bits/calendar/components/calendar-next-button.svelte.d.ts +1 -1
  47. package/dist/bits/calendar/components/calendar-prev-button.svelte +3 -2
  48. package/dist/bits/calendar/components/calendar-prev-button.svelte.d.ts +1 -1
  49. package/dist/bits/calendar/components/calendar.svelte +3 -2
  50. package/dist/bits/calendar/ctx.d.ts +12 -124
  51. package/dist/bits/calendar/ctx.js +22 -17
  52. package/dist/bits/checkbox/components/checkbox-indicator.svelte +3 -2
  53. package/dist/bits/checkbox/components/checkbox.svelte +3 -2
  54. package/dist/bits/checkbox/components/checkbox.svelte.d.ts +1 -0
  55. package/dist/bits/checkbox/ctx.d.ts +10 -3
  56. package/dist/bits/checkbox/ctx.js +13 -5
  57. package/dist/bits/collapsible/components/collapsible-content.svelte +3 -2
  58. package/dist/bits/collapsible/components/collapsible-trigger.svelte +3 -2
  59. package/dist/bits/collapsible/components/collapsible.svelte +3 -2
  60. package/dist/bits/collapsible/ctx.d.ts +9 -3
  61. package/dist/bits/collapsible/ctx.js +12 -4
  62. package/dist/bits/context-menu/components/context-menu-content.svelte +3 -2
  63. package/dist/bits/context-menu/components/context-menu-trigger.svelte +3 -2
  64. package/dist/bits/context-menu/components/context-menu.svelte +4 -0
  65. package/dist/bits/context-menu/components/context-menu.svelte.d.ts +1 -0
  66. package/dist/bits/context-menu/ctx.d.ts +11 -3
  67. package/dist/bits/context-menu/ctx.js +30 -22
  68. package/dist/bits/date-field/components/date-field-input.svelte +3 -2
  69. package/dist/bits/date-field/components/date-field-input.svelte.d.ts +3 -3
  70. package/dist/bits/date-field/components/date-field-label.svelte +3 -2
  71. package/dist/bits/date-field/components/date-field-segment.svelte +3 -2
  72. package/dist/bits/date-field/components/date-field-segment.svelte.d.ts +7 -7
  73. package/dist/bits/date-field/ctx.d.ts +18 -201
  74. package/dist/bits/date-field/ctx.js +12 -4
  75. package/dist/bits/date-picker/components/date-picker-arrow.svelte +3 -2
  76. package/dist/bits/date-picker/components/date-picker-calendar.svelte +3 -2
  77. package/dist/bits/date-picker/components/date-picker-cell.svelte +3 -2
  78. package/dist/bits/date-picker/components/date-picker-close.svelte +3 -2
  79. package/dist/bits/date-picker/components/date-picker-content.svelte +3 -2
  80. package/dist/bits/date-picker/components/date-picker-day.svelte +3 -2
  81. package/dist/bits/date-picker/components/date-picker-day.svelte.d.ts +2 -2
  82. package/dist/bits/date-picker/components/date-picker-field.svelte.d.ts +1 -0
  83. package/dist/bits/date-picker/components/date-picker-grid.svelte +3 -2
  84. package/dist/bits/date-picker/components/date-picker-grid.svelte.d.ts +2 -2
  85. package/dist/bits/date-picker/components/date-picker-heading.svelte +3 -2
  86. package/dist/bits/date-picker/components/date-picker-input.svelte +3 -2
  87. package/dist/bits/date-picker/components/date-picker-label.svelte +3 -2
  88. package/dist/bits/date-picker/components/date-picker-next-button.svelte +3 -2
  89. package/dist/bits/date-picker/components/date-picker-next-button.svelte.d.ts +1 -1
  90. package/dist/bits/date-picker/components/date-picker-prev-button.svelte +3 -2
  91. package/dist/bits/date-picker/components/date-picker-prev-button.svelte.d.ts +1 -1
  92. package/dist/bits/date-picker/components/date-picker-segment.svelte +3 -2
  93. package/dist/bits/date-picker/components/date-picker-segment.svelte.d.ts +7 -7
  94. package/dist/bits/date-picker/components/date-picker-trigger.svelte +3 -2
  95. package/dist/bits/date-picker/components/date-picker.svelte +4 -0
  96. package/dist/bits/date-picker/components/date-picker.svelte.d.ts +1 -0
  97. package/dist/bits/date-picker/ctx.d.ts +36 -32
  98. package/dist/bits/date-picker/ctx.js +29 -12
  99. package/dist/bits/date-range-field/components/date-range-field-input.svelte +3 -2
  100. package/dist/bits/date-range-field/components/date-range-field-label.svelte +3 -2
  101. package/dist/bits/date-range-field/components/date-range-field-segment.svelte +3 -2
  102. package/dist/bits/date-range-field/components/date-range-field-segment.svelte.d.ts +5 -17
  103. package/dist/bits/date-range-field/ctx.d.ts +18 -321
  104. package/dist/bits/date-range-field/ctx.js +8 -7
  105. package/dist/bits/date-range-picker/components/date-range-picker-arrow.svelte +3 -2
  106. package/dist/bits/date-range-picker/components/date-range-picker-calendar.svelte +3 -2
  107. package/dist/bits/date-range-picker/components/date-range-picker-cell.svelte +3 -2
  108. package/dist/bits/date-range-picker/components/date-range-picker-close.svelte +3 -2
  109. package/dist/bits/date-range-picker/components/date-range-picker-content.svelte +3 -2
  110. package/dist/bits/date-range-picker/components/date-range-picker-day.svelte +3 -2
  111. package/dist/bits/date-range-picker/components/date-range-picker-day.svelte.d.ts +2 -2
  112. package/dist/bits/date-range-picker/components/date-range-picker-field.svelte.d.ts +1 -0
  113. package/dist/bits/date-range-picker/components/date-range-picker-grid.svelte +3 -2
  114. package/dist/bits/date-range-picker/components/date-range-picker-grid.svelte.d.ts +2 -2
  115. package/dist/bits/date-range-picker/components/date-range-picker-heading.svelte +3 -2
  116. package/dist/bits/date-range-picker/components/date-range-picker-input.svelte +3 -2
  117. package/dist/bits/date-range-picker/components/date-range-picker-label.svelte +3 -2
  118. package/dist/bits/date-range-picker/components/date-range-picker-next-button.svelte +3 -2
  119. package/dist/bits/date-range-picker/components/date-range-picker-next-button.svelte.d.ts +1 -1
  120. package/dist/bits/date-range-picker/components/date-range-picker-prev-button.svelte +3 -2
  121. package/dist/bits/date-range-picker/components/date-range-picker-prev-button.svelte.d.ts +1 -1
  122. package/dist/bits/date-range-picker/components/date-range-picker-segment.svelte +3 -2
  123. package/dist/bits/date-range-picker/components/date-range-picker-segment.svelte.d.ts +5 -17
  124. package/dist/bits/date-range-picker/components/date-range-picker-trigger.svelte +3 -2
  125. package/dist/bits/date-range-picker/components/date-range-picker.svelte +4 -0
  126. package/dist/bits/date-range-picker/components/date-range-picker.svelte.d.ts +1 -0
  127. package/dist/bits/date-range-picker/ctx.d.ts +44 -40
  128. package/dist/bits/date-range-picker/ctx.js +29 -12
  129. package/dist/bits/dialog/_export.types.d.ts +1 -1
  130. package/dist/bits/dialog/_types.d.ts +10 -1
  131. package/dist/bits/dialog/components/dialog-close.svelte +3 -2
  132. package/dist/bits/dialog/components/dialog-content.svelte +23 -3
  133. package/dist/bits/dialog/components/dialog-content.svelte.d.ts +2 -4
  134. package/dist/bits/dialog/components/dialog-description.svelte +3 -2
  135. package/dist/bits/dialog/components/dialog-overlay.svelte +13 -3
  136. package/dist/bits/dialog/components/dialog-overlay.svelte.d.ts +2 -4
  137. package/dist/bits/dialog/components/dialog-portal.svelte +3 -2
  138. package/dist/bits/dialog/components/dialog-title.svelte +3 -2
  139. package/dist/bits/dialog/components/dialog-trigger.svelte +3 -2
  140. package/dist/bits/dialog/components/dialog.svelte +4 -0
  141. package/dist/bits/dialog/components/dialog.svelte.d.ts +3 -2
  142. package/dist/bits/dialog/ctx.d.ts +9 -3
  143. package/dist/bits/dialog/ctx.js +20 -4
  144. package/dist/bits/dialog/types.d.ts +10 -2
  145. package/dist/bits/floating/helpers.js +10 -10
  146. package/dist/bits/label/components/label.svelte +2 -1
  147. package/dist/bits/label/ctx.d.ts +4 -1
  148. package/dist/bits/label/ctx.js +9 -3
  149. package/dist/bits/link-preview/components/link-preview-arrow.svelte +3 -2
  150. package/dist/bits/link-preview/components/link-preview-content.svelte +3 -2
  151. package/dist/bits/link-preview/components/link-preview-trigger.svelte +3 -2
  152. package/dist/bits/link-preview/components/link-preview.svelte +4 -0
  153. package/dist/bits/link-preview/components/link-preview.svelte.d.ts +1 -0
  154. package/dist/bits/link-preview/ctx.d.ts +11 -4
  155. package/dist/bits/link-preview/ctx.js +24 -13
  156. package/dist/bits/menu/components/menu-arrow.svelte +3 -2
  157. package/dist/bits/menu/components/menu-checkbox-indicator.svelte +2 -1
  158. package/dist/bits/menu/components/menu-checkbox-item.svelte +3 -2
  159. package/dist/bits/menu/components/menu-content.svelte +3 -2
  160. package/dist/bits/menu/components/menu-group.svelte +2 -2
  161. package/dist/bits/menu/components/menu-group.svelte.d.ts +2 -2
  162. package/dist/bits/menu/components/menu-item.svelte +3 -2
  163. package/dist/bits/menu/components/menu-label.svelte +2 -2
  164. package/dist/bits/menu/components/menu-label.svelte.d.ts +2 -2
  165. package/dist/bits/menu/components/menu-radio-group.svelte +3 -2
  166. package/dist/bits/menu/components/menu-radio-indicator.svelte +6 -2
  167. package/dist/bits/menu/components/menu-radio-item.svelte +3 -2
  168. package/dist/bits/menu/components/menu-radio-item.svelte.d.ts +2 -2
  169. package/dist/bits/menu/components/menu-separator.svelte +3 -2
  170. package/dist/bits/menu/components/menu-sub-content.svelte +3 -2
  171. package/dist/bits/menu/components/menu-sub-trigger.svelte +3 -2
  172. package/dist/bits/menu/components/menu-trigger.svelte +3 -2
  173. package/dist/bits/menu/components/menu.svelte +4 -0
  174. package/dist/bits/menu/components/menu.svelte.d.ts +1 -0
  175. package/dist/bits/menu/ctx.d.ts +99 -18
  176. package/dist/bits/menu/ctx.js +82 -46
  177. package/dist/bits/menubar/components/menubar-menu.svelte +4 -0
  178. package/dist/bits/menubar/components/menubar-menu.svelte.d.ts +1 -0
  179. package/dist/bits/menubar/components/menubar-trigger.svelte +3 -2
  180. package/dist/bits/menubar/components/menubar.svelte +3 -2
  181. package/dist/bits/menubar/ctx.d.ts +17 -6
  182. package/dist/bits/menubar/ctx.js +39 -25
  183. package/dist/bits/pagination/components/pagination-next-button.svelte +3 -2
  184. package/dist/bits/pagination/components/pagination-page.svelte +3 -2
  185. package/dist/bits/pagination/components/pagination-page.svelte.d.ts +2 -2
  186. package/dist/bits/pagination/components/pagination-prev-button.svelte +3 -2
  187. package/dist/bits/pagination/components/pagination.svelte +3 -2
  188. package/dist/bits/pagination/ctx.d.ts +9 -3
  189. package/dist/bits/pagination/ctx.js +12 -4
  190. package/dist/bits/pin-input/components/pin-input-hidden-input.svelte +3 -2
  191. package/dist/bits/pin-input/components/pin-input-input.svelte +3 -2
  192. package/dist/bits/pin-input/components/pin-input-input.svelte.d.ts +2 -2
  193. package/dist/bits/pin-input/components/pin-input.svelte +3 -2
  194. package/dist/bits/pin-input/ctx.d.ts +9 -3
  195. package/dist/bits/pin-input/ctx.js +12 -4
  196. package/dist/bits/popover/components/popover-arrow.svelte +3 -2
  197. package/dist/bits/popover/components/popover-close.svelte +3 -2
  198. package/dist/bits/popover/components/popover-content.svelte +3 -2
  199. package/dist/bits/popover/components/popover-trigger.svelte +3 -2
  200. package/dist/bits/popover/components/popover.svelte +4 -0
  201. package/dist/bits/popover/components/popover.svelte.d.ts +1 -0
  202. package/dist/bits/popover/ctx.d.ts +11 -4
  203. package/dist/bits/popover/ctx.js +22 -11
  204. package/dist/bits/progress/components/progress.svelte +3 -2
  205. package/dist/bits/progress/ctx.d.ts +1 -1
  206. package/dist/bits/progress/ctx.js +11 -4
  207. package/dist/bits/radio-group/components/radio-group-input.svelte +3 -2
  208. package/dist/bits/radio-group/components/radio-group-item-indicator.svelte +6 -2
  209. package/dist/bits/radio-group/components/radio-group-item.svelte +3 -2
  210. package/dist/bits/radio-group/components/radio-group-item.svelte.d.ts +2 -2
  211. package/dist/bits/radio-group/components/radio-group.svelte +3 -2
  212. package/dist/bits/radio-group/ctx.d.ts +65 -8
  213. package/dist/bits/radio-group/ctx.js +18 -7
  214. package/dist/bits/range-calendar/components/range-calendar-cell.svelte +3 -2
  215. package/dist/bits/range-calendar/components/range-calendar-day.svelte +3 -2
  216. package/dist/bits/range-calendar/components/range-calendar-day.svelte.d.ts +2 -2
  217. package/dist/bits/range-calendar/components/range-calendar-grid-body.svelte +2 -1
  218. package/dist/bits/range-calendar/components/range-calendar-grid-head.svelte +2 -1
  219. package/dist/bits/range-calendar/components/range-calendar-grid-row.svelte +2 -1
  220. package/dist/bits/range-calendar/components/range-calendar-grid.svelte +3 -2
  221. package/dist/bits/range-calendar/components/range-calendar-grid.svelte.d.ts +2 -2
  222. package/dist/bits/range-calendar/components/range-calendar-head-cell.svelte +2 -1
  223. package/dist/bits/range-calendar/components/range-calendar-header.svelte +2 -1
  224. package/dist/bits/range-calendar/components/range-calendar-heading.svelte +3 -2
  225. package/dist/bits/range-calendar/components/range-calendar-next-button.svelte +3 -2
  226. package/dist/bits/range-calendar/components/range-calendar-next-button.svelte.d.ts +1 -1
  227. package/dist/bits/range-calendar/components/range-calendar-prev-button.svelte +3 -2
  228. package/dist/bits/range-calendar/components/range-calendar-prev-button.svelte.d.ts +1 -1
  229. package/dist/bits/range-calendar/components/range-calendar.svelte +3 -2
  230. package/dist/bits/range-calendar/ctx.d.ts +8 -137
  231. package/dist/bits/range-calendar/ctx.js +22 -17
  232. package/dist/bits/select/components/select-arrow.svelte +3 -2
  233. package/dist/bits/select/components/select-content.svelte +3 -2
  234. package/dist/bits/select/components/select-group.svelte +2 -2
  235. package/dist/bits/select/components/select-group.svelte.d.ts +2 -2
  236. package/dist/bits/select/components/select-input.svelte +3 -2
  237. package/dist/bits/select/components/select-item-indicator.svelte +2 -2
  238. package/dist/bits/select/components/select-item.svelte +3 -2
  239. package/dist/bits/select/components/select-item.svelte.d.ts +2 -2
  240. package/dist/bits/select/components/select-label.svelte +2 -2
  241. package/dist/bits/select/components/select-label.svelte.d.ts +2 -2
  242. package/dist/bits/select/components/select-trigger.svelte +3 -2
  243. package/dist/bits/select/components/select-value.svelte +3 -2
  244. package/dist/bits/select/components/select.svelte +4 -0
  245. package/dist/bits/select/components/select.svelte.d.ts +1 -0
  246. package/dist/bits/select/ctx.d.ts +7 -3
  247. package/dist/bits/select/ctx.js +42 -27
  248. package/dist/bits/separator/components/separator.svelte +3 -2
  249. package/dist/bits/separator/ctx.d.ts +1 -1
  250. package/dist/bits/separator/ctx.js +11 -4
  251. package/dist/bits/slider/components/slider-input.svelte +3 -2
  252. package/dist/bits/slider/components/slider-range.svelte +3 -2
  253. package/dist/bits/slider/components/slider-thumb.svelte +3 -2
  254. package/dist/bits/slider/components/slider-thumb.svelte.d.ts +4 -2
  255. package/dist/bits/slider/components/slider-tick.svelte +3 -2
  256. package/dist/bits/slider/components/slider-tick.svelte.d.ts +2 -2
  257. package/dist/bits/slider/components/slider.svelte +3 -2
  258. package/dist/bits/slider/components/slider.svelte.d.ts +2 -1
  259. package/dist/bits/slider/ctx.d.ts +14 -8
  260. package/dist/bits/slider/ctx.js +12 -4
  261. package/dist/bits/switch/components/switch-thumb.svelte +3 -2
  262. package/dist/bits/switch/components/switch.svelte +3 -2
  263. package/dist/bits/switch/ctx.d.ts +5 -3
  264. package/dist/bits/switch/ctx.js +12 -4
  265. package/dist/bits/tabs/components/tabs-content.svelte +3 -2
  266. package/dist/bits/tabs/components/tabs-content.svelte.d.ts +2 -2
  267. package/dist/bits/tabs/components/tabs-list.svelte +3 -2
  268. package/dist/bits/tabs/components/tabs-trigger.svelte +3 -2
  269. package/dist/bits/tabs/components/tabs-trigger.svelte.d.ts +2 -2
  270. package/dist/bits/tabs/components/tabs.svelte +3 -2
  271. package/dist/bits/tabs/ctx.d.ts +5 -3
  272. package/dist/bits/tabs/ctx.js +12 -4
  273. package/dist/bits/toggle/components/toggle.svelte +3 -2
  274. package/dist/bits/toggle/ctx.d.ts +5 -3
  275. package/dist/bits/toggle/ctx.js +12 -4
  276. package/dist/bits/toggle-group/components/toggle-group-item.svelte +3 -2
  277. package/dist/bits/toggle-group/components/toggle-group-item.svelte.d.ts +2 -2
  278. package/dist/bits/toggle-group/components/toggle-group.svelte +3 -2
  279. package/dist/bits/toggle-group/ctx.d.ts +3 -3
  280. package/dist/bits/toggle-group/ctx.js +12 -4
  281. package/dist/bits/toolbar/components/toolbar-button.svelte +3 -2
  282. package/dist/bits/toolbar/components/toolbar-group-item.svelte +3 -2
  283. package/dist/bits/toolbar/components/toolbar-group-item.svelte.d.ts +2 -2
  284. package/dist/bits/toolbar/components/toolbar-group.svelte +3 -2
  285. package/dist/bits/toolbar/components/toolbar-link.svelte +3 -2
  286. package/dist/bits/toolbar/components/toolbar.svelte +3 -2
  287. package/dist/bits/toolbar/ctx.d.ts +8 -4
  288. package/dist/bits/toolbar/ctx.js +18 -7
  289. package/dist/bits/tooltip/components/tooltip-arrow.svelte +3 -2
  290. package/dist/bits/tooltip/components/tooltip-content.svelte +3 -2
  291. package/dist/bits/tooltip/components/tooltip-trigger.svelte +3 -2
  292. package/dist/bits/tooltip/ctx.d.ts +6 -4
  293. package/dist/bits/tooltip/ctx.js +25 -14
  294. package/dist/internal/events.d.ts +3 -0
  295. package/dist/shared/index.d.ts +2 -0
  296. package/package.json +3 -3
@@ -1,11 +1,14 @@
1
1
  /// <reference types="svelte" />
2
- import { type Menubar as MenubarReturn, type CreateMenubarProps as MenubarProps, type MenubarMenu as MenubarMenuReturn, type CreateMenubarSubmenuProps, type CreateMenubarMenuProps, type MenubarMenuSubmenu as MenubarSubReturn } from "@melt-ui/svelte";
2
+ import { type CreateMenubarProps as MenubarProps, type CreateMenubarSubmenuProps, type CreateMenubarMenuProps } from "@melt-ui/svelte";
3
3
  import type { Writable } from "svelte/store";
4
4
  import type { FloatingProps } from "../floating/_types.js";
5
- export declare const getMenubarAttrs: (part: string) => Record<string, string>;
6
- export declare const getAttrs: (part: "content" | "checkbox-indicator" | "arrow" | "label" | "group" | "radio-group" | "separator" | "item" | "trigger" | "checkbox-item" | "radio-item" | "sub-content" | "sub-trigger") => Record<string, string>;
5
+ type GetReturn = Omit<ReturnType<typeof setCtx>, "updateOption">;
6
+ type GetMenuReturn = Omit<ReturnType<typeof setMenuCtx>, "updateOption">;
7
+ type GetSubmenuReturn = Omit<ReturnType<typeof setSubMenuCtx>, "updateOption">;
7
8
  export declare function setCtx(props: MenubarProps): {
8
9
  updateOption: <K extends string, V extends unknown>(key: K, value: V | undefined) => void;
10
+ getAttrs: (part: "content" | "checkbox-indicator" | "arrow" | "label" | "group" | "radio-group" | "separator" | "item" | "trigger" | "checkbox-item" | "radio-item" | "sub-content" | "sub-trigger") => Record<string, string>;
11
+ getMenubarAttrs: (part: string) => Record<string, string>;
9
12
  ids: import("@melt-ui/svelte/internal/helpers").ToWritableStores<{
10
13
  menubar: string;
11
14
  }>;
@@ -166,6 +169,7 @@ export declare function setCtx(props: MenubarProps): {
166
169
  defaultOpen: false;
167
170
  typeahead: true;
168
171
  closeOnItemClick: true;
172
+ onOutsideClick: undefined;
169
173
  }, "ids">>;
170
174
  };
171
175
  createMenuRadioGroup: (args?: import("@melt-ui/svelte/dist/builders/menu/types.js")._CreateRadioGroupProps | undefined) => {
@@ -214,6 +218,7 @@ export declare function setCtx(props: MenubarProps): {
214
218
  closeOnItemClick: boolean;
215
219
  portal: string | HTMLElement | null | undefined;
216
220
  closeOnOutsideClick: boolean;
221
+ onOutsideClick: ((event: PointerEvent) => void) | undefined;
217
222
  loop: boolean;
218
223
  defaultOpen: boolean;
219
224
  open?: Writable<boolean> | undefined;
@@ -237,9 +242,10 @@ export declare function setCtx(props: MenubarProps): {
237
242
  }> | undefined;
238
243
  }, "ids">>;
239
244
  };
240
- export declare function getCtx(): MenubarReturn;
245
+ export declare function getCtx(): GetReturn;
241
246
  export declare function setMenuCtx(props: CreateMenubarMenuProps): {
242
247
  updateOption: <K extends string, V extends unknown>(key: K, value: V | undefined) => void;
248
+ getAttrs: (part: "content" | "checkbox-indicator" | "arrow" | "label" | "group" | "radio-group" | "separator" | "item" | "trigger" | "checkbox-item" | "radio-item" | "sub-content" | "sub-trigger") => Record<string, string>;
243
249
  ids: import("@melt-ui/svelte/internal/helpers").ToWritableStores<{
244
250
  menu: string;
245
251
  trigger: string;
@@ -383,6 +389,7 @@ export declare function setMenuCtx(props: CreateMenubarMenuProps): {
383
389
  defaultOpen: false;
384
390
  typeahead: true;
385
391
  closeOnItemClick: true;
392
+ onOutsideClick: undefined;
386
393
  }, "ids">>;
387
394
  };
388
395
  createMenuRadioGroup: (args?: import("@melt-ui/svelte/dist/builders/menu/types.js")._CreateRadioGroupProps | undefined) => {
@@ -431,6 +438,7 @@ export declare function setMenuCtx(props: CreateMenubarMenuProps): {
431
438
  closeOnItemClick: boolean;
432
439
  portal: string | HTMLElement | null | undefined;
433
440
  closeOnOutsideClick: boolean;
441
+ onOutsideClick: ((event: PointerEvent) => void) | undefined;
434
442
  loop: boolean;
435
443
  defaultOpen: boolean;
436
444
  open?: Writable<boolean> | undefined;
@@ -445,9 +453,10 @@ export declare function setMenuCtx(props: CreateMenubarMenuProps): {
445
453
  }> | undefined;
446
454
  }>;
447
455
  };
448
- export declare function getMenuCtx(): MenubarMenuReturn;
456
+ export declare function getMenuCtx(): GetMenuReturn;
449
457
  export declare function setSubMenuCtx(props: CreateMenubarSubmenuProps): {
450
458
  updateOption: <K extends string, V extends unknown>(key: K, value: V | undefined) => void;
459
+ getAttrs: (part: "content" | "checkbox-indicator" | "arrow" | "label" | "group" | "radio-group" | "separator" | "item" | "trigger" | "checkbox-item" | "radio-item" | "sub-content" | "sub-trigger") => Record<string, string>;
451
460
  ids: import("@melt-ui/svelte/internal/helpers").ToWritableStores<{
452
461
  menu: string;
453
462
  trigger: string;
@@ -511,8 +520,10 @@ export declare function setSubMenuCtx(props: CreateMenubarSubmenuProps): {
511
520
  defaultOpen: false;
512
521
  typeahead: true;
513
522
  closeOnItemClick: true;
523
+ onOutsideClick: undefined;
514
524
  }, "ids">>;
515
525
  };
516
- export declare function getSubMenuCtx(): MenubarSubReturn;
526
+ export declare function getSubMenuCtx(): GetSubmenuReturn;
517
527
  export declare function updatePositioning(props: FloatingProps): void;
518
528
  export declare function updateSubPositioning(props: FloatingProps): void;
529
+ export {};
@@ -3,28 +3,37 @@ import { getContext, setContext } from "svelte";
3
3
  import { createBitAttrs, getOptionUpdater, removeUndefined } from "../../internal/index.js";
4
4
  import { getPositioningUpdater } from "../floating/helpers.js";
5
5
  import { getSubmenuCtx } from "../menu/ctx";
6
- const NAME = "menubar";
7
- const MENU_NAME = "menu";
8
- const SUB_NAME = "menu-submenu";
9
- const PARTS = [
10
- "arrow",
11
- "checkbox-indicator",
12
- "checkbox-item",
13
- "content",
14
- "group",
15
- "item",
16
- "label",
17
- "radio-group",
18
- "radio-item",
19
- "separator",
20
- "sub-content",
21
- "sub-trigger",
22
- "trigger"
23
- ];
24
- export const getMenubarAttrs = createBitAttrs(NAME, ["root"]);
25
- export const getAttrs = createBitAttrs("menu", PARTS);
6
+ function getMenubarData() {
7
+ const NAME = "menubar";
8
+ const MENU_NAME = "menu";
9
+ const SUB_NAME = "menu-submenu";
10
+ const PARTS = [
11
+ "arrow",
12
+ "checkbox-indicator",
13
+ "checkbox-item",
14
+ "content",
15
+ "group",
16
+ "item",
17
+ "label",
18
+ "radio-group",
19
+ "radio-item",
20
+ "separator",
21
+ "sub-content",
22
+ "sub-trigger",
23
+ "trigger"
24
+ ];
25
+ return {
26
+ NAME,
27
+ MENU_NAME,
28
+ SUB_NAME,
29
+ PARTS
30
+ };
31
+ }
26
32
  export function setCtx(props) {
27
- const menubar = createMenubar(removeUndefined(props));
33
+ const { NAME, PARTS, MENU_NAME } = getMenubarData();
34
+ const getMenubarAttrs = createBitAttrs(NAME, ["root"]);
35
+ const getAttrs = createBitAttrs(MENU_NAME, PARTS);
36
+ const menubar = { ...createMenubar(removeUndefined(props)), getAttrs, getMenubarAttrs };
28
37
  setContext(NAME, menubar);
29
38
  return {
30
39
  ...menubar,
@@ -32,11 +41,13 @@ export function setCtx(props) {
32
41
  };
33
42
  }
34
43
  export function getCtx() {
44
+ const { NAME } = getMenubarData();
35
45
  return getContext(NAME);
36
46
  }
37
47
  export function setMenuCtx(props) {
38
- const { builders: { createMenu } } = getCtx();
39
- const menu = createMenu({ ...removeUndefined(props), forceVisible: false });
48
+ const { MENU_NAME } = getMenubarData();
49
+ const { builders: { createMenu }, getAttrs } = getCtx();
50
+ const menu = { ...createMenu({ ...removeUndefined(props), forceVisible: false }), getAttrs };
40
51
  setContext(MENU_NAME, menu);
41
52
  return {
42
53
  ...menu,
@@ -44,11 +55,13 @@ export function setMenuCtx(props) {
44
55
  };
45
56
  }
46
57
  export function getMenuCtx() {
58
+ const { MENU_NAME } = getMenubarData();
47
59
  return getContext(MENU_NAME);
48
60
  }
49
61
  export function setSubMenuCtx(props) {
50
- const { builders: { createSubmenu } } = getMenuCtx();
51
- const sub = createSubmenu(removeUndefined(props));
62
+ const { SUB_NAME } = getMenubarData();
63
+ const { builders: { createSubmenu }, getAttrs } = getMenuCtx();
64
+ const sub = { ...createSubmenu(removeUndefined(props)), getAttrs };
52
65
  setContext(SUB_NAME, sub);
53
66
  return {
54
67
  ...sub,
@@ -56,6 +69,7 @@ export function setSubMenuCtx(props) {
56
69
  };
57
70
  }
58
71
  export function getSubMenuCtx() {
72
+ const { SUB_NAME } = getMenubarData();
59
73
  return getContext(SUB_NAME);
60
74
  }
61
75
  const defaultPlacement = {
@@ -1,10 +1,11 @@
1
1
  <script>import { createDispatcher } from "../../../internal/events.js";
2
- import { getAttrs, getCtx } from "../ctx.js";
2
+ import { getCtx } from "../ctx.js";
3
3
  import { melt } from "@melt-ui/svelte";
4
4
  export let asChild = void 0;
5
5
  export let el = void 0;
6
6
  const {
7
- elements: { nextButton }
7
+ elements: { nextButton },
8
+ getAttrs
8
9
  } = getCtx();
9
10
  const attrs = getAttrs("next-button");
10
11
  $:
@@ -1,11 +1,12 @@
1
1
  <script>import { createDispatcher } from "../../../internal/events.js";
2
- import { getAttrs, getCtx } from "../ctx.js";
2
+ import { getCtx } from "../ctx.js";
3
3
  import { melt } from "@melt-ui/svelte";
4
4
  export let asChild = void 0;
5
5
  export let page;
6
6
  export let el = void 0;
7
7
  const {
8
- elements: { pageTrigger }
8
+ elements: { pageTrigger },
9
+ getAttrs
9
10
  } = getCtx();
10
11
  const attrs = getAttrs("page");
11
12
  $:
@@ -4,11 +4,11 @@ declare const __propDef: {
4
4
  props: PageProps;
5
5
  slots: {
6
6
  default: {
7
- builder: ((pageItem: import("@melt-ui/svelte/index.js").Page) => {
7
+ builder: {
8
8
  'aria-label': string;
9
9
  'data-value': number;
10
10
  'data-selected': string | undefined;
11
- }) & {
11
+ } & {
12
12
  [x: `data-melt-${string}`]: "";
13
13
  } & {
14
14
  action: (node: HTMLElement) => import("@melt-ui/svelte/internal/types").MeltActionReturn<"keydown" | "click">;
@@ -1,10 +1,11 @@
1
1
  <script>import { createDispatcher } from "../../../internal/events.js";
2
- import { getAttrs, getCtx } from "../ctx.js";
2
+ import { getCtx } from "../ctx.js";
3
3
  import { melt } from "@melt-ui/svelte";
4
4
  export let asChild = void 0;
5
5
  export let el = void 0;
6
6
  const {
7
- elements: { prevButton }
7
+ elements: { prevButton },
8
+ getAttrs
8
9
  } = getCtx();
9
10
  const attrs = getAttrs("prev-button");
10
11
  $:
@@ -1,5 +1,5 @@
1
1
  <script>import { melt } from "@melt-ui/svelte";
2
- import { getAttrs, setCtx } from "../ctx.js";
2
+ import { setCtx } from "../ctx.js";
3
3
  export let count;
4
4
  export let page = void 0;
5
5
  export let onPageChange = void 0;
@@ -9,7 +9,8 @@ export let asChild = false;
9
9
  export let el = void 0;
10
10
  const {
11
11
  elements: { root },
12
- states: { pages, range }
12
+ states: { pages, range },
13
+ getAttrs
13
14
  } = setCtx({
14
15
  count,
15
16
  perPage,
@@ -1,8 +1,13 @@
1
1
  /// <reference types="svelte" />
2
- import { type CreatePaginationProps, type Pagination as PaginationReturn } from "@melt-ui/svelte";
3
- export declare const getAttrs: (part: "page" | "root" | "prev-button" | "next-button") => Record<string, string>;
2
+ import { type CreatePaginationProps } from "@melt-ui/svelte";
3
+ export declare function getPaginationData(): {
4
+ NAME: "pagination";
5
+ PARTS: readonly ["root", "prev-button", "next-button", "page"];
6
+ };
7
+ type GetReturn = Omit<ReturnType<typeof setCtx>, "updateOption">;
4
8
  export declare function setCtx(props: CreatePaginationProps): {
5
9
  updateOption: <K extends string, V extends unknown>(key: K, value: V | undefined) => void;
10
+ getAttrs: (part: "page" | "root" | "prev-button" | "next-button") => Record<string, string>;
6
11
  elements: {
7
12
  root: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<import("svelte/store").Stores | undefined, import("svelte/action").Action<any, any, Record<never, any>>, () => {
8
13
  'data-scope': string;
@@ -55,4 +60,5 @@ export declare function setCtx(props: CreatePaginationProps): {
55
60
  onPageChange?: import("@melt-ui/svelte/internal/helpers").ChangeFn<number> | undefined;
56
61
  }, "page" | "defaultPage" | "onPageChange">>;
57
62
  };
58
- export declare function getCtx(): PaginationReturn;
63
+ export declare function getCtx(): GetReturn;
64
+ export {};
@@ -1,11 +1,18 @@
1
1
  import { createPagination } from "@melt-ui/svelte";
2
2
  import { getContext, setContext } from "svelte";
3
3
  import { createBitAttrs, getOptionUpdater, removeUndefined } from "../../internal";
4
- const NAME = "pagination";
5
- const PARTS = ["root", "prev-button", "next-button", "page"];
6
- export const getAttrs = createBitAttrs(NAME, PARTS);
4
+ export function getPaginationData() {
5
+ const NAME = "pagination";
6
+ const PARTS = ["root", "prev-button", "next-button", "page"];
7
+ return {
8
+ NAME,
9
+ PARTS
10
+ };
11
+ }
7
12
  export function setCtx(props) {
8
- const pagination = createPagination(removeUndefined(props));
13
+ const { NAME, PARTS } = getPaginationData();
14
+ const getAttrs = createBitAttrs(NAME, PARTS);
15
+ const pagination = { ...createPagination(removeUndefined(props)), getAttrs };
9
16
  setContext(NAME, pagination);
10
17
  return {
11
18
  ...pagination,
@@ -13,5 +20,6 @@ export function setCtx(props) {
13
20
  };
14
21
  }
15
22
  export function getCtx() {
23
+ const { NAME } = getPaginationData();
16
24
  return getContext(NAME);
17
25
  }
@@ -1,10 +1,11 @@
1
1
  <script>import { melt } from "@melt-ui/svelte";
2
- import { getCtx, getAttrs } from "../ctx.js";
2
+ import { getCtx } from "../ctx.js";
3
3
  export let asChild = false;
4
4
  export let el = void 0;
5
5
  const {
6
6
  elements: { hiddenInput },
7
- options: { disabled }
7
+ options: { disabled },
8
+ getAttrs
8
9
  } = getCtx();
9
10
  $:
10
11
  attrs = {
@@ -1,10 +1,11 @@
1
1
  <script>import { melt } from "@melt-ui/svelte";
2
- import { getCtx, getAttrs } from "../ctx.js";
2
+ import { getCtx } from "../ctx.js";
3
3
  import { createDispatcher } from "../../../internal/events.js";
4
4
  export let asChild = false;
5
5
  export let el = void 0;
6
6
  const {
7
- elements: { input }
7
+ elements: { input },
8
+ getAttrs
8
9
  } = getCtx();
9
10
  const dispatch = createDispatcher();
10
11
  const attrs = getAttrs("input");
@@ -4,13 +4,13 @@ declare const __propDef: {
4
4
  props: InputProps;
5
5
  slots: {
6
6
  default: {
7
- builder: (() => {
7
+ builder: {
8
8
  'data-complete': string | undefined;
9
9
  placeholder: string;
10
10
  disabled: boolean | undefined;
11
11
  type: "text" | "password";
12
12
  value: string;
13
- }) & {
13
+ } & {
14
14
  [x: `data-melt-${string}`]: "";
15
15
  } & {
16
16
  action: (node: HTMLInputElement) => import("@melt-ui/svelte/internal/types").MeltActionReturn<"input" | "keydown" | "blur" | "change" | "focus" | "paste">;
@@ -1,5 +1,5 @@
1
1
  <script>import { melt } from "@melt-ui/svelte";
2
- import { setCtx, getAttrs } from "../ctx.js";
2
+ import { setCtx } from "../ctx.js";
3
3
  import { derived } from "svelte/store";
4
4
  export let placeholder = void 0;
5
5
  export let value = void 0;
@@ -14,7 +14,8 @@ const {
14
14
  elements: { root },
15
15
  states: { value: localValue },
16
16
  updateOption,
17
- ids
17
+ ids,
18
+ getAttrs
18
19
  } = setCtx({
19
20
  placeholder,
20
21
  defaultValue: value,
@@ -1,8 +1,13 @@
1
1
  /// <reference types="svelte" />
2
- import { type PinInput as PinInputReturn, type CreatePinInputProps as PinInputProps } from "@melt-ui/svelte";
3
- export declare const getAttrs: (part: "input" | "root" | "hidden-input") => Record<string, string>;
2
+ import { type CreatePinInputProps as PinInputProps } from "@melt-ui/svelte";
3
+ export declare function getPinInputData(): {
4
+ NAME: "pin-input";
5
+ PARTS: readonly ["root", "input", "hidden-input"];
6
+ };
7
+ type GetReturn = Omit<ReturnType<typeof setCtx>, "updateOption">;
4
8
  export declare function setCtx(props: PinInputProps): {
5
9
  updateOption: <K extends string, V extends unknown>(key: K, value: V | undefined) => void;
10
+ getAttrs: (part: "input" | "root" | "hidden-input") => Record<string, string>;
6
11
  ids: import("@melt-ui/svelte/internal/helpers").ToWritableStores<{
7
12
  root: string;
8
13
  }>;
@@ -60,4 +65,5 @@ export declare function setCtx(props: PinInputProps): {
60
65
  }> | undefined;
61
66
  }, "value" | "ids">>;
62
67
  };
63
- export declare function getCtx(): PinInputReturn;
68
+ export declare function getCtx(): GetReturn;
69
+ export {};
@@ -1,11 +1,18 @@
1
1
  import { createBitAttrs, getOptionUpdater, removeUndefined } from "../../internal/index.js";
2
2
  import { createPinInput } from "@melt-ui/svelte";
3
3
  import { getContext, setContext } from "svelte";
4
- const NAME = "pin-input";
5
- const PARTS = ["root", "input", "hidden-input"];
6
- export const getAttrs = createBitAttrs(NAME, PARTS);
4
+ export function getPinInputData() {
5
+ const NAME = "pin-input";
6
+ const PARTS = ["root", "input", "hidden-input"];
7
+ return {
8
+ NAME,
9
+ PARTS
10
+ };
11
+ }
7
12
  export function setCtx(props) {
8
- const pinInput = createPinInput(removeUndefined(props));
13
+ const { NAME, PARTS } = getPinInputData();
14
+ const getAttrs = createBitAttrs(NAME, PARTS);
15
+ const pinInput = { ...createPinInput(removeUndefined(props)), getAttrs };
9
16
  setContext(NAME, pinInput);
10
17
  return {
11
18
  ...pinInput,
@@ -13,5 +20,6 @@ export function setCtx(props) {
13
20
  };
14
21
  }
15
22
  export function getCtx() {
23
+ const { NAME } = getPinInputData();
16
24
  return getContext(NAME);
17
25
  }
@@ -1,10 +1,11 @@
1
- <script>import { setArrow, getAttrs } from "../ctx.js";
1
+ <script>import { setArrow } from "../ctx.js";
2
2
  import { melt } from "@melt-ui/svelte";
3
3
  export let asChild = false;
4
4
  export let el = void 0;
5
5
  export let size = 8;
6
6
  const {
7
- elements: { arrow }
7
+ elements: { arrow },
8
+ getAttrs
8
9
  } = setArrow(size);
9
10
  const attrs = getAttrs("arrow");
10
11
  $:
@@ -1,10 +1,11 @@
1
1
  <script>import { melt } from "@melt-ui/svelte";
2
- import { getCtx, getAttrs } from "../ctx.js";
2
+ import { getCtx } from "../ctx.js";
3
3
  import { createDispatcher } from "../../../internal/events.js";
4
4
  export let asChild = false;
5
5
  export let el = void 0;
6
6
  const {
7
- elements: { close }
7
+ elements: { close },
8
+ getAttrs
8
9
  } = getCtx();
9
10
  const dispatch = createDispatcher();
10
11
  const attrs = getAttrs("close");
@@ -1,5 +1,5 @@
1
1
  <script>import { melt } from "@melt-ui/svelte";
2
- import { getCtx, getAttrs, updatePositioning } from "../ctx.js";
2
+ import { getCtx, updatePositioning } from "../ctx.js";
3
3
  export let transition = void 0;
4
4
  export let transitionConfig = void 0;
5
5
  export let inTransition = void 0;
@@ -21,7 +21,8 @@ export let el = void 0;
21
21
  const {
22
22
  elements: { content },
23
23
  states: { open },
24
- ids
24
+ ids,
25
+ getAttrs
25
26
  } = getCtx();
26
27
  const attrs = getAttrs("content");
27
28
  $:
@@ -1,12 +1,13 @@
1
1
  <script>import { melt } from "@melt-ui/svelte";
2
- import { getCtx, getAttrs } from "../ctx.js";
2
+ import { getCtx } from "../ctx.js";
3
3
  import { createDispatcher } from "../../../internal/events.js";
4
4
  export let asChild = false;
5
5
  export let id = void 0;
6
6
  export let el = void 0;
7
7
  const {
8
8
  elements: { trigger },
9
- ids
9
+ ids,
10
+ getAttrs
10
11
  } = getCtx();
11
12
  const dispatch = createDispatcher();
12
13
  const attrs = getAttrs("trigger");
@@ -9,6 +9,7 @@ export let open = void 0;
9
9
  export let onOpenChange = void 0;
10
10
  export let openFocus = void 0;
11
11
  export let closeFocus = void 0;
12
+ export let onOutsideClick = void 0;
12
13
  const {
13
14
  updateOption,
14
15
  states: { open: localOpen },
@@ -22,6 +23,7 @@ const {
22
23
  defaultOpen: open,
23
24
  openFocus,
24
25
  closeFocus,
26
+ onOutsideClick,
25
27
  onOpenChange: ({ next }) => {
26
28
  if (open !== next) {
27
29
  onOpenChange?.(next);
@@ -53,6 +55,8 @@ $:
53
55
  updateOption("openFocus", openFocus);
54
56
  $:
55
57
  updateOption("closeFocus", closeFocus);
58
+ $:
59
+ updateOption("onOutsideClick", onOutsideClick);
56
60
  </script>
57
61
 
58
62
  <slot ids={$idValues} />
@@ -4,6 +4,7 @@ declare const __propDef: {
4
4
  preventScroll?: boolean | undefined;
5
5
  closeOnEscape?: boolean | undefined;
6
6
  closeOnOutsideClick?: boolean | undefined;
7
+ onOutsideClick?: ((event: PointerEvent) => void) | undefined;
7
8
  portal?: string | HTMLElement | null | undefined;
8
9
  openFocus?: import("@melt-ui/svelte/index.js").FocusProp | undefined;
9
10
  closeFocus?: import("@melt-ui/svelte/index.js").FocusProp | undefined;
@@ -1,10 +1,15 @@
1
1
  /// <reference types="svelte" />
2
- import { type CreatePopoverProps, type Popover as PopoverReturn } from "@melt-ui/svelte";
2
+ import { type CreatePopoverProps } from "@melt-ui/svelte";
3
3
  import type { Writable } from "svelte/store";
4
4
  import type { FloatingProps } from "../floating/_types.js";
5
- export declare const getAttrs: (part: "content" | "arrow" | "trigger" | "close") => Record<string, string>;
5
+ export declare function getPopoverData(): {
6
+ NAME: "popover";
7
+ PARTS: readonly ["arrow", "close", "content", "trigger"];
8
+ };
9
+ type GetReturn = Omit<ReturnType<typeof setCtx>, "updateOption">;
6
10
  export declare function setCtx(props: CreatePopoverProps): {
7
11
  updateOption: <K extends string, V extends unknown>(key: K, value: V | undefined) => void;
12
+ getAttrs: (part: "content" | "arrow" | "trigger" | "close") => Record<string, string>;
8
13
  ids: import("@melt-ui/svelte/internal/helpers").ToWritableStores<{
9
14
  content: string;
10
15
  trigger: string;
@@ -58,6 +63,7 @@ export declare function setCtx(props: CreatePopoverProps): {
58
63
  disableFocusTrap: boolean;
59
64
  closeOnEscape: boolean;
60
65
  closeOnOutsideClick: boolean;
66
+ onOutsideClick: ((event: PointerEvent) => void) | undefined;
61
67
  preventScroll: boolean;
62
68
  portal: string | HTMLElement | null | undefined;
63
69
  forceVisible: boolean;
@@ -69,6 +75,7 @@ export declare function setCtx(props: CreatePopoverProps): {
69
75
  }> | undefined;
70
76
  }, "open" | "ids">>;
71
77
  };
72
- export declare function getCtx(): PopoverReturn;
73
- export declare function setArrow(size?: number): PopoverReturn;
78
+ export declare function getCtx(): GetReturn;
79
+ export declare function setArrow(size?: number): GetReturn;
74
80
  export declare function updatePositioning(props: FloatingProps): void;
81
+ export {};
@@ -2,14 +2,24 @@ import { createPopover } from "@melt-ui/svelte";
2
2
  import { getContext, setContext } from "svelte";
3
3
  import { createBitAttrs, getOptionUpdater, removeUndefined } from "../../internal/index.js";
4
4
  import { getPositioningUpdater } from "../floating/helpers.js";
5
- const NAME = "popover";
6
- const PARTS = ["arrow", "close", "content", "trigger"];
7
- export const getAttrs = createBitAttrs(NAME, PARTS);
5
+ export function getPopoverData() {
6
+ const NAME = "popover";
7
+ const PARTS = ["arrow", "close", "content", "trigger"];
8
+ return {
9
+ NAME,
10
+ PARTS
11
+ };
12
+ }
8
13
  export function setCtx(props) {
9
- const popover = createPopover({
10
- ...removeUndefined(props),
11
- forceVisible: true
12
- });
14
+ const { NAME, PARTS } = getPopoverData();
15
+ const getAttrs = createBitAttrs(NAME, PARTS);
16
+ const popover = {
17
+ ...createPopover({
18
+ ...removeUndefined(props),
19
+ forceVisible: true
20
+ }),
21
+ getAttrs
22
+ };
13
23
  setContext(NAME, popover);
14
24
  return {
15
25
  ...popover,
@@ -17,6 +27,7 @@ export function setCtx(props) {
17
27
  };
18
28
  }
19
29
  export function getCtx() {
30
+ const { NAME } = getPopoverData();
20
31
  return getContext(NAME);
21
32
  }
22
33
  export function setArrow(size = 8) {
@@ -24,11 +35,11 @@ export function setArrow(size = 8) {
24
35
  popover.options.arrowSize.set(size);
25
36
  return popover;
26
37
  }
27
- const defaultPlacement = {
28
- side: "bottom",
29
- align: "center"
30
- };
31
38
  export function updatePositioning(props) {
39
+ const defaultPlacement = {
40
+ side: "bottom",
41
+ align: "center"
42
+ };
32
43
  const withDefaults = { ...defaultPlacement, ...props };
33
44
  const { options: { positioning } } = getCtx();
34
45
  const updater = getPositioningUpdater(positioning);
@@ -1,5 +1,5 @@
1
1
  <script>import { melt } from "@melt-ui/svelte";
2
- import { setCtx, getAttrs } from "../ctx.js";
2
+ import { setCtx } from "../ctx.js";
3
3
  export let max = void 0;
4
4
  export let value = void 0;
5
5
  export let onValueChange = void 0;
@@ -8,7 +8,8 @@ export let el = void 0;
8
8
  const {
9
9
  elements: { root },
10
10
  states: { value: localValue },
11
- updateOption
11
+ updateOption,
12
+ getAttrs
12
13
  } = setCtx({
13
14
  max,
14
15
  defaultValue: value,