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,8 +1,9 @@
1
1
  /// <reference types="svelte" />
2
2
  import { type CreateRangeCalendarProps } from "@melt-ui/svelte";
3
- export declare const getAttrs: (part: "day" | "header" | "root" | "cell" | "grid" | "heading" | "prev-button" | "next-button" | "grid-head" | "head-cell" | "grid-body" | "grid-row") => Record<string, string>;
3
+ type GetReturn = Omit<ReturnType<typeof setCtx>, "updateOption">;
4
4
  export declare function setCtx(props: CreateRangeCalendarProps): {
5
5
  updateOption: <K extends string, V extends unknown>(key: K, value: V | undefined) => void;
6
+ getAttrs: (part: "day" | "header" | "root" | "cell" | "grid" | "heading" | "prev-button" | "next-button" | "grid-head" | "head-cell" | "grid-body" | "grid-row") => Record<string, string>;
6
7
  elements: {
7
8
  calendar: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<[import("svelte/store").Readable<string>, import("svelte/store").Readable<boolean>, import("svelte/store").Writable<string>, import("svelte/store").Writable<boolean>, import("svelte/store").Writable<boolean>], (node: HTMLElement) => import("@melt-ui/svelte/internal/types").MeltActionReturn<"keydown">, ([$fullCalendarLabel, $isInvalid, $calendarId, $disabled, $readonly]: [string, boolean, string, boolean, boolean]) => {
8
9
  id: string;
@@ -19,8 +20,8 @@ export declare function setCtx(props: CreateRangeCalendarProps): {
19
20
  grid: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<[import("svelte/store").Writable<boolean>, import("svelte/store").Writable<boolean>], import("svelte/action").Action<any, any, Record<never, any>>, ([$readonly, $disabled]: [boolean, boolean]) => {
20
21
  tabindex: number;
21
22
  role: string;
22
- 'aria-readonly': string | undefined;
23
- 'aria-disabled': string | undefined;
23
+ 'aria-readonly': "true" | undefined;
24
+ 'aria-disabled': "true" | undefined;
24
25
  'data-readonly': string | undefined;
25
26
  'data-disabled': string | undefined;
26
27
  }, string>;
@@ -66,146 +67,14 @@ export declare function setCtx(props: CreateRangeCalendarProps): {
66
67
  nextButton: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<[import("svelte/store").Readable<boolean>], (node: HTMLElement) => import("@melt-ui/svelte/internal/types").MeltActionReturn<"click">, ([$isNextButtonDisabled]: [boolean]) => {
67
68
  role: string;
68
69
  'aria-label': string;
69
- 'aria-disabled': string | undefined;
70
+ 'aria-disabled': "true" | undefined;
70
71
  disabled: boolean | undefined;
71
72
  'data-disabled': string | undefined;
72
73
  }, string>;
73
74
  prevButton: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<[import("svelte/store").Readable<boolean>], (node: HTMLElement) => import("@melt-ui/svelte/internal/types").MeltActionReturn<"click">, ([$isPrevButtonDisabled]: [boolean]) => {
74
75
  role: string;
75
76
  'aria-label': string;
76
- 'aria-disabled': string | undefined;
77
- disabled: boolean | undefined;
78
- 'data-disabled': string | undefined;
79
- }, string>;
80
- };
81
- states: {
82
- placeholder: {
83
- set: (this: void, value: import("@internationalized/date").DateValue) => void;
84
- subscribe: (this: void, run: import("svelte/store").Subscriber<import("@internationalized/date").DateValue>, invalidate?: import("svelte/store").Invalidator<import("@internationalized/date").DateValue> | undefined) => import("svelte/store").Unsubscriber;
85
- update: (this: void, updater: import("svelte/store").Updater<import("@internationalized/date").DateValue>) => void;
86
- };
87
- months: import("svelte/store").Writable<import("@melt-ui/svelte").Month<import("@internationalized/date").DateValue>[]>;
88
- weekdays: import("svelte/store").Readable<string[]>;
89
- headingValue: import("svelte/store").Readable<string>;
90
- value: {
91
- update: (updater: import("svelte/store").Updater<import("@melt-ui/svelte").DateRange>, sideEffect?: ((newValue: import("@melt-ui/svelte").DateRange) => void) | undefined) => void;
92
- set: (this: void, value: import("@melt-ui/svelte").DateRange) => void;
93
- subscribe(this: void, run: import("svelte/store").Subscriber<import("@melt-ui/svelte").DateRange>, invalidate?: import("svelte/store").Invalidator<import("@melt-ui/svelte").DateRange> | undefined): import("svelte/store").Unsubscriber;
94
- };
95
- startValue: import("svelte/store").Writable<import("@internationalized/date").DateValue | undefined>;
96
- endValue: import("svelte/store").Writable<import("@internationalized/date").DateValue | undefined>;
97
- };
98
- helpers: {
99
- nextPage: () => void;
100
- prevPage: () => void;
101
- nextYear: () => void;
102
- prevYear: () => void;
103
- setYear: (year: number) => void;
104
- setMonth: (month: number) => void;
105
- isDateDisabled: import("svelte/store").Readable<(date: import("@internationalized/date").DateValue) => boolean>;
106
- isDateUnavailable: import("svelte/store").Readable<(date: import("@internationalized/date").DateValue) => boolean>;
107
- };
108
- options: import("@melt-ui/svelte/internal/helpers").ToWritableStores<{
109
- disabled: boolean;
110
- onValueChange?: import("@melt-ui/svelte/internal/helpers").ChangeFn<import("@melt-ui/svelte").DateRange> | undefined;
111
- defaultValue: import("@melt-ui/svelte").DateRange;
112
- ids?: Partial<{
113
- calendar: string;
114
- accessibleHeading: string;
115
- }> | undefined;
116
- numberOfMonths: number;
117
- preventDeselect: boolean;
118
- minValue: import("@internationalized/date").DateValue | undefined;
119
- maxValue: import("@internationalized/date").DateValue | undefined;
120
- defaultPlaceholder?: import("@internationalized/date").DateValue | undefined;
121
- onPlaceholderChange?: import("@melt-ui/svelte/internal/helpers").ChangeFn<import("@internationalized/date").DateValue> | undefined;
122
- pagedNavigation: boolean;
123
- weekStartsOn: 0 | 1 | 2 | 3 | 4 | 5 | 6;
124
- weekdayFormat: "narrow" | "short" | "long";
125
- isDateDisabled: import("@melt-ui/svelte").Matcher | undefined;
126
- isDateUnavailable: import("@melt-ui/svelte").Matcher | undefined;
127
- fixedWeeks: boolean;
128
- calendarLabel: string;
129
- locale: string;
130
- readonly: boolean;
131
- }>;
132
- ids: import("@melt-ui/svelte/internal/helpers").ToWritableStores<{
133
- calendar: string;
134
- accessibleHeading: string;
135
- }>;
136
- };
137
- export declare function getCtx(): {
138
- elements: {
139
- calendar: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<[import("svelte/store").Readable<string>, import("svelte/store").Readable<boolean>, import("svelte/store").Writable<string>, import("svelte/store").Writable<boolean>, import("svelte/store").Writable<boolean>], (node: HTMLElement) => import("@melt-ui/svelte/internal/types").MeltActionReturn<"keydown">, ([$fullCalendarLabel, $isInvalid, $calendarId, $disabled, $readonly]: [string, boolean, string, boolean, boolean]) => {
140
- id: string;
141
- role: string;
142
- 'aria-label': string;
143
- 'data-invalid': string | undefined;
144
- 'data-disabled': string | undefined;
145
- 'data-readonly': string | undefined;
146
- }, string>;
147
- heading: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<[import("svelte/store").Writable<boolean>], import("svelte/action").Action<any, any, Record<never, any>>, ([$disabled]: [boolean]) => {
148
- 'aria-hidden': boolean;
149
- 'data-disabled': string | undefined;
150
- }, string>;
151
- grid: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<[import("svelte/store").Writable<boolean>, import("svelte/store").Writable<boolean>], import("svelte/action").Action<any, any, Record<never, any>>, ([$readonly, $disabled]: [boolean, boolean]) => {
152
- tabindex: number;
153
- role: string;
154
- 'aria-readonly': string | undefined;
155
- 'aria-disabled': string | undefined;
156
- 'data-readonly': string | undefined;
157
- 'data-disabled': string | undefined;
158
- }, string>;
159
- cell: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<[import("svelte/store").Readable<(date: import("@internationalized/date").DateValue) => boolean>, import("svelte/store").Readable<(date: import("@internationalized/date").DateValue) => boolean>, import("svelte/store").Readable<(date: import("@internationalized/date").DateValue) => boolean>, import("svelte/store").Readable<{
160
- start: import("@internationalized/date").DateValue;
161
- end: import("@internationalized/date").DateValue;
162
- } | null>, import("svelte/store").Readable<(date: import("@internationalized/date").DateValue) => boolean>, import("svelte/store").Readable<(date: import("@internationalized/date").DateValue) => boolean>, {
163
- set: (this: void, value: import("@internationalized/date").DateValue) => void;
164
- update: (this: void, updater: import("svelte/store").Updater<import("@internationalized/date").DateValue>) => void;
165
- subscribe: (this: void, run: import("svelte/store").Subscriber<import("@internationalized/date").DateValue>, invalidate?: import("svelte/store").Invalidator<import("@internationalized/date").DateValue> | undefined) => import("svelte/store").Unsubscriber;
166
- add: (duration: import("@internationalized/date").DateTimeDuration | import("@internationalized/date").DateDuration) => void;
167
- subtract: (duration: import("@internationalized/date").DateTimeDuration | import("@internationalized/date").DateDuration) => void;
168
- setDate: (fields: import("@internationalized/date").DateFields | (import("@internationalized/date").DateFields & import("@internationalized/date").TimeFields), disambiguation?: import("@internationalized/date").Disambiguation | undefined) => void;
169
- reset: () => void;
170
- toWritable: () => {
171
- set: (this: void, value: import("@internationalized/date").DateValue) => void;
172
- subscribe: (this: void, run: import("svelte/store").Subscriber<import("@internationalized/date").DateValue>, invalidate?: import("svelte/store").Invalidator<import("@internationalized/date").DateValue> | undefined) => import("svelte/store").Unsubscriber;
173
- update: (this: void, updater: import("svelte/store").Updater<import("@internationalized/date").DateValue>) => void;
174
- };
175
- nextPage: (amount: number) => void;
176
- prevPage: (amount: number) => void;
177
- }, import("svelte/store").Readable<(date: import("@internationalized/date").DateValue) => boolean>], (node: HTMLElement) => import("@melt-ui/svelte/internal/types").MeltActionReturn<"click" | "focusin" | "mouseenter">, ([$isSelected, $isSelectionEnd, $isSelectionStart, $highlightedRange, $isDateDisabled, $isDateUnavailable, $placeholder, $isOutsideVisibleMonths,]: [(date: import("@internationalized/date").DateValue) => boolean, (date: import("@internationalized/date").DateValue) => boolean, (date: import("@internationalized/date").DateValue) => boolean, {
178
- start: import("@internationalized/date").DateValue;
179
- end: import("@internationalized/date").DateValue;
180
- } | null, (date: import("@internationalized/date").DateValue) => boolean, (date: import("@internationalized/date").DateValue) => boolean, import("@internationalized/date").DateValue, (date: import("@internationalized/date").DateValue) => boolean]) => (cellValue: import("@internationalized/date").DateValue, monthValue: import("@internationalized/date").DateValue) => {
181
- readonly role: "button";
182
- readonly 'aria-label': string;
183
- readonly 'aria-selected': true | undefined;
184
- readonly 'aria-disabled': true | undefined;
185
- readonly 'data-selected': true | undefined;
186
- readonly 'data-selection-start': true | undefined;
187
- readonly 'data-selection-end': true | undefined;
188
- readonly 'data-value': string;
189
- readonly 'data-disabled': "" | undefined;
190
- readonly 'data-unavailable': "" | undefined;
191
- readonly 'data-today': "" | undefined;
192
- readonly 'data-outside-month': "" | undefined;
193
- readonly 'data-outside-visible-months': "" | undefined;
194
- readonly 'data-focused': "" | undefined;
195
- readonly 'data-highlighted': "" | undefined;
196
- readonly tabindex: 0 | -1 | undefined;
197
- }, string>;
198
- nextButton: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<[import("svelte/store").Readable<boolean>], (node: HTMLElement) => import("@melt-ui/svelte/internal/types").MeltActionReturn<"click">, ([$isNextButtonDisabled]: [boolean]) => {
199
- role: string;
200
- 'aria-label': string;
201
- 'aria-disabled': string | undefined;
202
- disabled: boolean | undefined;
203
- 'data-disabled': string | undefined;
204
- }, string>;
205
- prevButton: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<[import("svelte/store").Readable<boolean>], (node: HTMLElement) => import("@melt-ui/svelte/internal/types").MeltActionReturn<"click">, ([$isPrevButtonDisabled]: [boolean]) => {
206
- role: string;
207
- 'aria-label': string;
208
- 'aria-disabled': string | undefined;
77
+ 'aria-disabled': "true" | undefined;
209
78
  disabled: boolean | undefined;
210
79
  'data-disabled': string | undefined;
211
80
  }, string>;
@@ -266,3 +135,5 @@ export declare function getCtx(): {
266
135
  accessibleHeading: string;
267
136
  }>;
268
137
  };
138
+ export declare function getCtx(): GetReturn;
139
+ export {};
@@ -1,24 +1,28 @@
1
1
  import { createRangeCalendar } from "@melt-ui/svelte";
2
2
  import { getContext, setContext } from "svelte";
3
3
  import { removeUndefined, getOptionUpdater, createBitAttrs } from "../../internal/index.js";
4
- const NAME = "calendar";
5
- const PARTS = [
6
- "root",
7
- "prev-button",
8
- "next-button",
9
- "heading",
10
- "grid",
11
- "day",
12
- "header",
13
- "grid-head",
14
- "head-cell",
15
- "grid-body",
16
- "cell",
17
- "grid-row"
18
- ];
19
- export const getAttrs = createBitAttrs(NAME, PARTS);
4
+ function getRangeCalendarData() {
5
+ const NAME = "calendar";
6
+ const PARTS = [
7
+ "root",
8
+ "prev-button",
9
+ "next-button",
10
+ "heading",
11
+ "grid",
12
+ "day",
13
+ "header",
14
+ "grid-head",
15
+ "head-cell",
16
+ "grid-body",
17
+ "cell",
18
+ "grid-row"
19
+ ];
20
+ return { NAME, PARTS };
21
+ }
20
22
  export function setCtx(props) {
21
- const rangeCalendar = createRangeCalendar(removeUndefined(props));
23
+ const { NAME, PARTS } = getRangeCalendarData();
24
+ const getAttrs = createBitAttrs(NAME, PARTS);
25
+ const rangeCalendar = { ...createRangeCalendar(removeUndefined(props)), getAttrs };
22
26
  setContext(NAME, rangeCalendar);
23
27
  return {
24
28
  ...rangeCalendar,
@@ -26,5 +30,6 @@ export function setCtx(props) {
26
30
  };
27
31
  }
28
32
  export function getCtx() {
33
+ const { NAME } = getRangeCalendarData();
29
34
  return getContext(NAME);
30
35
  }
@@ -1,10 +1,11 @@
1
1
  <script>import { melt } from "@melt-ui/svelte";
2
- import { setArrow, getAttrs } from "../ctx.js";
2
+ import { setArrow } from "../ctx.js";
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,6 +1,6 @@
1
1
  <script>import { createDispatcher } from "../../../internal/events.js";
2
2
  import { melt } from "@melt-ui/svelte";
3
- import { getCtx, getAttrs, updatePositioning } from "../ctx.js";
3
+ import { getCtx, updatePositioning } from "../ctx.js";
4
4
  export let transition = void 0;
5
5
  export let transitionConfig = void 0;
6
6
  export let inTransition = void 0;
@@ -22,7 +22,8 @@ export let el = void 0;
22
22
  const {
23
23
  elements: { menu },
24
24
  states: { open },
25
- ids
25
+ ids,
26
+ getAttrs
26
27
  } = getCtx();
27
28
  const dispatch = createDispatcher();
28
29
  const attrs = getAttrs("content");
@@ -1,8 +1,8 @@
1
1
  <script>import { melt } from "@melt-ui/svelte";
2
- import { setGroupCtx, getAttrs } from "../ctx.js";
2
+ import { setGroupCtx } from "../ctx.js";
3
3
  export let asChild = false;
4
4
  export let el = void 0;
5
- const { group, id } = setGroupCtx();
5
+ const { group, id, getAttrs } = setGroupCtx();
6
6
  const attrs = getAttrs("group");
7
7
  $:
8
8
  builder = $group(id);
@@ -7,10 +7,10 @@ declare const __propDef: {
7
7
  };
8
8
  slots: {
9
9
  default: {
10
- builder: ((groupId: string) => {
10
+ builder: {
11
11
  role: string;
12
12
  'aria-labelledby': string;
13
- }) & {
13
+ } & {
14
14
  [x: `data-melt-${string}`]: "";
15
15
  } & {
16
16
  action: import("svelte/action").Action<any, any, Record<never, any>>;
@@ -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,7 +1,7 @@
1
- <script>import { getAttrs, getItemIndicator } from "../ctx.js";
1
+ <script>import { getItemIndicator } from "../ctx.js";
2
2
  export let asChild = false;
3
3
  export let el = void 0;
4
- const { isSelected, value } = getItemIndicator();
4
+ const { isSelected, value, getAttrs } = getItemIndicator();
5
5
  const attrs = getAttrs("indicator");
6
6
  </script>
7
7
 
@@ -1,5 +1,5 @@
1
1
  <script>import { melt } from "@melt-ui/svelte";
2
- import { setItemCtx, getAttrs } from "../ctx.js";
2
+ import { setItemCtx } from "../ctx.js";
3
3
  import { createDispatcher } from "../../../internal/events.js";
4
4
  export let value;
5
5
  export let disabled = void 0;
@@ -7,7 +7,8 @@ export let label = void 0;
7
7
  export let asChild = false;
8
8
  export let el = void 0;
9
9
  const {
10
- elements: { option: item }
10
+ elements: { option: item },
11
+ getAttrs
11
12
  } = setItemCtx(value);
12
13
  const dispatch = createDispatcher();
13
14
  const attrs = getAttrs("item");
@@ -4,7 +4,7 @@ declare const __propDef: {
4
4
  props: ItemProps;
5
5
  slots: {
6
6
  default: {
7
- builder: ((props: import("@melt-ui/svelte/index.js").ComboboxOptionProps<unknown>) => {
7
+ builder: {
8
8
  readonly 'data-value': string;
9
9
  readonly 'data-label': string | undefined;
10
10
  readonly 'data-disabled': true | undefined;
@@ -13,7 +13,7 @@ declare const __propDef: {
13
13
  readonly 'data-selected': "" | undefined;
14
14
  readonly id: string;
15
15
  readonly role: "option";
16
- }) & {
16
+ } & {
17
17
  [x: `data-melt-${string}`]: "";
18
18
  } & {
19
19
  action: (node: HTMLElement) => import("@melt-ui/svelte/internal/types").MeltActionReturn<"click" | "pointermove">;
@@ -1,9 +1,9 @@
1
1
  <script>import { melt } from "@melt-ui/svelte";
2
- import { getGroupLabel, getAttrs, getCtx } from "../ctx.js";
2
+ import { getGroupLabel, getCtx } from "../ctx.js";
3
3
  export let asChild = false;
4
4
  export let id = void 0;
5
5
  export let el = void 0;
6
- const { ids } = getCtx();
6
+ const { ids, getAttrs } = getCtx();
7
7
  const { groupLabel, id: groupId } = getGroupLabel();
8
8
  const attrs = getAttrs("label");
9
9
  $:
@@ -4,9 +4,9 @@ declare const __propDef: {
4
4
  props: LabelProps;
5
5
  slots: {
6
6
  default: {
7
- builder: ((groupId: string) => {
7
+ builder: {
8
8
  id: string;
9
- }) & {
9
+ } & {
10
10
  [x: `data-melt-${string}`]: "";
11
11
  } & {
12
12
  action: import("svelte/action").Action<any, any, Record<never, any>>;
@@ -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");
@@ -1,9 +1,10 @@
1
- <script>import { getCtx, getAttrs } from "../ctx.js";
1
+ <script>import { getCtx } from "../ctx.js";
2
2
  export let placeholder = "";
3
3
  export let asChild = false;
4
4
  export let el = void 0;
5
5
  const {
6
- states: { selectedLabel }
6
+ states: { selectedLabel },
7
+ getAttrs
7
8
  } = getCtx();
8
9
  const attrs = getAttrs("value");
9
10
  $:
@@ -16,6 +16,7 @@ export let onSelectedChange = void 0;
16
16
  export let open = void 0;
17
17
  export let onOpenChange = void 0;
18
18
  export let items = [];
19
+ export let onOutsideClick = void 0;
19
20
  const {
20
21
  states: { open: localOpen, selected: localSelected },
21
22
  updateOption,
@@ -29,6 +30,7 @@ const {
29
30
  closeOnOutsideClick,
30
31
  portal,
31
32
  name,
33
+ onOutsideClick,
32
34
  multiple,
33
35
  forceVisible: true,
34
36
  defaultSelected: Array.isArray(selected) ? [...selected] : (
@@ -94,6 +96,8 @@ $:
94
96
  updateOption("name", name);
95
97
  $:
96
98
  updateOption("multiple", multiple);
99
+ $:
100
+ updateOption("onOutsideClick", onOutsideClick);
97
101
  </script>
98
102
 
99
103
  <slot ids={$idValues} />
@@ -5,6 +5,7 @@ declare class __sveltets_Render<T, Multiple extends boolean = false> {
5
5
  preventScroll?: boolean | undefined;
6
6
  closeOnEscape?: boolean | undefined;
7
7
  closeOnOutsideClick?: boolean | undefined;
8
+ onOutsideClick?: ((event: PointerEvent) => void) | undefined;
8
9
  portal?: string | HTMLElement | null | undefined;
9
10
  required?: boolean | undefined;
10
11
  name?: string | undefined;
@@ -1,9 +1,8 @@
1
1
  /// <reference types="svelte" />
2
- import { type CreateSelectProps, type Select as SelectReturn } from "@melt-ui/svelte";
2
+ import { type CreateSelectProps } 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" | "value" | "arrow" | "label" | "group" | "input" | "item" | "trigger" | "indicator") => Record<string, string>;
6
- type GetReturn = SelectReturn;
5
+ type GetReturn = Omit<ReturnType<typeof setCtx>, "updateOption">;
7
6
  export declare function getCtx(): GetReturn;
8
7
  type Items<T> = {
9
8
  value: T;
@@ -14,6 +13,7 @@ type Props<T = unknown, M extends boolean = false> = CreateSelectProps<T, M> & {
14
13
  };
15
14
  export declare function setCtx<T = unknown, M extends boolean = false>(props: Props<T, M>): {
16
15
  updateOption: <K extends string, V extends unknown>(key: K, value: V | undefined) => void;
16
+ getAttrs: (part: "content" | "value" | "arrow" | "label" | "group" | "input" | "item" | "trigger" | "indicator") => Record<string, string>;
17
17
  elements: {
18
18
  group: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<import("svelte/store").Stores | undefined, import("svelte/action").Action<any, any, Record<never, any>>, () => (groupId: string) => {
19
19
  role: string;
@@ -121,6 +121,7 @@ export declare function setCtx<T = unknown, M extends boolean = false>(props: Pr
121
121
  onSelectedChange?: import("@melt-ui/svelte/internal/helpers").ChangeFn<import("@melt-ui/svelte/internal/types").WhenTrue<M, import("@melt-ui/svelte/index.js").ComboboxOption<T>[], import("@melt-ui/svelte/index.js").ComboboxOption<T>, import("@melt-ui/svelte/index.js").ComboboxOption<T>[] | import("@melt-ui/svelte/index.js").ComboboxOption<T>> | undefined> | undefined;
122
122
  closeOnOutsideClick: boolean;
123
123
  closeOnEscape: boolean;
124
+ onOutsideClick: ((event: PointerEvent) => void) | undefined;
124
125
  typeahead: boolean;
125
126
  highlightOnHover: boolean;
126
127
  }>;
@@ -131,6 +132,7 @@ export declare function setGroupCtx(): {
131
132
  'aria-labelledby': string;
132
133
  }, string>;
133
134
  id: string;
135
+ getAttrs: (part: "content" | "value" | "arrow" | "label" | "group" | "input" | "item" | "trigger" | "indicator") => Record<string, string>;
134
136
  };
135
137
  export declare function setItemCtx(value: unknown): GetReturn;
136
138
  export declare function getGroupLabel(): {
@@ -138,10 +140,12 @@ export declare function getGroupLabel(): {
138
140
  id: string;
139
141
  }, string>;
140
142
  id: string;
143
+ getAttrs: (part: "content" | "value" | "arrow" | "label" | "group" | "input" | "item" | "trigger" | "indicator") => Record<string, string>;
141
144
  };
142
145
  export declare function getItemIndicator(): {
143
146
  value: unknown;
144
147
  isSelected: import("svelte/store").Readable<(value: unknown) => boolean>;
148
+ getAttrs: (part: "content" | "value" | "arrow" | "label" | "group" | "input" | "item" | "trigger" | "indicator") => Record<string, string>;
145
149
  };
146
150
  export declare function setArrow(size?: number): GetReturn;
147
151
  export declare function updatePositioning(props: FloatingProps): void;
@@ -2,28 +2,38 @@ import { createSelect } from "@melt-ui/svelte";
2
2
  import { getContext, setContext } from "svelte";
3
3
  import { createBitAttrs, generateId, getOptionUpdater, removeUndefined } from "../../internal/index.js";
4
4
  import { getPositioningUpdater } from "../floating/helpers.js";
5
- const NAME = "select";
6
- const GROUP_NAME = "select-group";
7
- const ITEM_NAME = "select-item";
8
- const PARTS = [
9
- "arrow",
10
- "content",
11
- "group",
12
- "item",
13
- "indicator",
14
- "input",
15
- "label",
16
- "trigger",
17
- "value"
18
- ];
19
- export const getAttrs = createBitAttrs(NAME, PARTS);
5
+ function getSelectData() {
6
+ const NAME = "select";
7
+ const GROUP_NAME = "select-group";
8
+ const ITEM_NAME = "select-item";
9
+ const PARTS = [
10
+ "arrow",
11
+ "content",
12
+ "group",
13
+ "item",
14
+ "indicator",
15
+ "input",
16
+ "label",
17
+ "trigger",
18
+ "value"
19
+ ];
20
+ return {
21
+ NAME,
22
+ GROUP_NAME,
23
+ ITEM_NAME,
24
+ PARTS
25
+ };
26
+ }
20
27
  export function getCtx() {
28
+ const { NAME } = getSelectData();
21
29
  return getContext(NAME);
22
30
  }
23
31
  export function setCtx(
24
32
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
25
33
  props) {
26
- const select = createSelect(removeUndefined(props));
34
+ const { NAME, PARTS } = getSelectData();
35
+ const getAttrs = createBitAttrs(NAME, PARTS);
36
+ const select = { ...createSelect(removeUndefined(props)), getAttrs };
27
37
  setContext(NAME, select);
28
38
  return {
29
39
  ...select,
@@ -31,27 +41,32 @@ props) {
31
41
  };
32
42
  }
33
43
  export function setGroupCtx() {
44
+ const { GROUP_NAME } = getSelectData();
34
45
  const id = generateId();
35
46
  setContext(GROUP_NAME, id);
36
- const { elements: { group } } = getCtx();
37
- return { group, id };
47
+ const { elements: { group }, getAttrs } = getCtx();
48
+ return { group, id, getAttrs };
38
49
  }
39
50
  export function setItemCtx(value) {
51
+ const { ITEM_NAME } = getSelectData();
40
52
  const select = getCtx();
41
53
  setContext(ITEM_NAME, value);
42
54
  return select;
43
55
  }
44
56
  export function getGroupLabel() {
57
+ const { GROUP_NAME } = getSelectData();
45
58
  const id = getContext(GROUP_NAME);
46
- const { elements: { groupLabel } } = getCtx();
47
- return { groupLabel, id };
59
+ const { elements: { groupLabel }, getAttrs } = getCtx();
60
+ return { groupLabel, id, getAttrs };
48
61
  }
49
62
  export function getItemIndicator() {
50
- const { helpers: { isSelected } } = getCtx();
63
+ const { ITEM_NAME } = getSelectData();
64
+ const { helpers: { isSelected }, getAttrs } = getCtx();
51
65
  const value = getContext(ITEM_NAME);
52
66
  return {
53
67
  value,
54
- isSelected
68
+ isSelected,
69
+ getAttrs
55
70
  };
56
71
  }
57
72
  export function setArrow(size = 8) {
@@ -59,12 +74,12 @@ export function setArrow(size = 8) {
59
74
  select.options.arrowSize?.set(size);
60
75
  return select;
61
76
  }
62
- const defaultPlacement = {
63
- side: "bottom",
64
- align: "center",
65
- sameWidth: true
66
- };
67
77
  export function updatePositioning(props) {
78
+ const defaultPlacement = {
79
+ side: "bottom",
80
+ align: "center",
81
+ sameWidth: true
82
+ };
68
83
  const withDefaults = { ...defaultPlacement, ...props };
69
84
  const { options: { positioning } } = getCtx();
70
85
  const updater = getPositioningUpdater(positioning);
@@ -1,12 +1,13 @@
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 orientation = "horizontal";
4
4
  export let decorative = true;
5
5
  export let asChild = false;
6
6
  export let el = void 0;
7
7
  const {
8
8
  elements: { root },
9
- updateOption
9
+ updateOption,
10
+ getAttrs
10
11
  } = setCtx({ orientation, decorative });
11
12
  const attrs = getAttrs("root");
12
13
  $:
@@ -1,8 +1,8 @@
1
1
  /// <reference types="svelte" />
2
2
  import { type CreateSeparatorProps } from "@melt-ui/svelte";
3
- export declare const getAttrs: (part: "root") => Record<string, string>;
4
3
  export declare function setCtx(props: CreateSeparatorProps): {
5
4
  updateOption: <K extends string, V extends unknown>(key: K, value: V | undefined) => void;
5
+ getAttrs: (part: "root") => Record<string, string>;
6
6
  elements: {
7
7
  root: import("@melt-ui/svelte/internal/helpers").ExplicitBuilderReturn<[import("svelte/store").Writable<import("@melt-ui/svelte/internal/types").Orientation>, import("svelte/store").Writable<boolean>], import("svelte/action").Action<any, any, Record<never, any>>, ([$orientation, $decorative]: [import("@melt-ui/svelte/internal/types").Orientation, boolean]) => {
8
8
  role: string;