bits-ui 2.6.2 → 2.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (367) hide show
  1. package/README.md +4 -4
  2. package/dist/bits/accordion/accordion.svelte.d.ts +66 -58
  3. package/dist/bits/accordion/accordion.svelte.js +56 -51
  4. package/dist/bits/accordion/components/accordion-content.svelte +4 -4
  5. package/dist/bits/accordion/components/accordion-header.svelte +2 -2
  6. package/dist/bits/accordion/components/accordion-item.svelte +2 -2
  7. package/dist/bits/accordion/components/accordion-trigger.svelte +2 -2
  8. package/dist/bits/accordion/components/accordion.svelte +2 -2
  9. package/dist/bits/alert-dialog/components/alert-dialog-action.svelte +2 -2
  10. package/dist/bits/alert-dialog/components/alert-dialog-cancel.svelte +2 -2
  11. package/dist/bits/alert-dialog/components/alert-dialog-content.svelte +3 -3
  12. package/dist/bits/alert-dialog/components/alert-dialog.svelte +9 -3
  13. package/dist/bits/aspect-ratio/aspect-ratio.svelte.d.ts +10 -16
  14. package/dist/bits/aspect-ratio/aspect-ratio.svelte.js +4 -11
  15. package/dist/bits/aspect-ratio/components/aspect-ratio.svelte +2 -2
  16. package/dist/bits/avatar/avatar.svelte.d.ts +25 -33
  17. package/dist/bits/avatar/avatar.svelte.js +20 -21
  18. package/dist/bits/avatar/components/avatar-fallback.svelte +2 -2
  19. package/dist/bits/avatar/components/avatar-image.svelte +2 -2
  20. package/dist/bits/avatar/components/avatar.svelte +2 -2
  21. package/dist/bits/calendar/calendar.svelte.d.ts +117 -106
  22. package/dist/bits/calendar/calendar.svelte.js +51 -52
  23. package/dist/bits/calendar/components/calendar-cell.svelte +2 -2
  24. package/dist/bits/calendar/components/calendar-day.svelte +2 -2
  25. package/dist/bits/calendar/components/calendar-grid-body.svelte +2 -2
  26. package/dist/bits/calendar/components/calendar-grid-head.svelte +2 -2
  27. package/dist/bits/calendar/components/calendar-grid-row.svelte +2 -2
  28. package/dist/bits/calendar/components/calendar-grid.svelte +2 -2
  29. package/dist/bits/calendar/components/calendar-head-cell.svelte +2 -2
  30. package/dist/bits/calendar/components/calendar-header.svelte +2 -2
  31. package/dist/bits/calendar/components/calendar-heading.svelte +5 -5
  32. package/dist/bits/calendar/components/calendar-month-select.svelte +2 -2
  33. package/dist/bits/calendar/components/calendar-next-button.svelte +2 -2
  34. package/dist/bits/calendar/components/calendar-prev-button.svelte +2 -2
  35. package/dist/bits/calendar/components/calendar-year-select.svelte +2 -2
  36. package/dist/bits/calendar/components/calendar.svelte +2 -2
  37. package/dist/bits/checkbox/checkbox.svelte.d.ts +37 -34
  38. package/dist/bits/checkbox/checkbox.svelte.js +19 -22
  39. package/dist/bits/checkbox/components/checkbox-group-label.svelte +2 -2
  40. package/dist/bits/checkbox/components/checkbox-group.svelte +2 -2
  41. package/dist/bits/checkbox/components/checkbox-input.svelte +2 -2
  42. package/dist/bits/checkbox/components/checkbox.svelte +2 -2
  43. package/dist/bits/collapsible/collapsible.svelte.d.ts +30 -27
  44. package/dist/bits/collapsible/collapsible.svelte.js +23 -15
  45. package/dist/bits/collapsible/components/collapsible-content.svelte +5 -5
  46. package/dist/bits/collapsible/components/collapsible-content.svelte.d.ts +1 -4
  47. package/dist/bits/collapsible/components/collapsible-trigger.svelte +2 -2
  48. package/dist/bits/collapsible/components/collapsible.svelte +4 -2
  49. package/dist/bits/collapsible/types.d.ts +4 -0
  50. package/dist/bits/combobox/components/combobox-input.svelte +2 -2
  51. package/dist/bits/combobox/components/combobox-trigger.svelte +2 -2
  52. package/dist/bits/combobox/components/combobox.svelte +4 -2
  53. package/dist/bits/command/command.svelte.d.ts +103 -92
  54. package/dist/bits/command/command.svelte.js +55 -57
  55. package/dist/bits/command/components/_command-label.svelte +2 -2
  56. package/dist/bits/command/components/command-empty.svelte +2 -2
  57. package/dist/bits/command/components/command-group-heading.svelte +2 -2
  58. package/dist/bits/command/components/command-group-items.svelte +2 -2
  59. package/dist/bits/command/components/command-group.svelte +2 -2
  60. package/dist/bits/command/components/command-input.svelte +2 -2
  61. package/dist/bits/command/components/command-item.svelte +2 -2
  62. package/dist/bits/command/components/command-link-item.svelte +2 -2
  63. package/dist/bits/command/components/command-list.svelte +2 -2
  64. package/dist/bits/command/components/command-loading.svelte +2 -2
  65. package/dist/bits/command/components/command-separator.svelte +2 -2
  66. package/dist/bits/command/components/command-viewport.svelte +2 -2
  67. package/dist/bits/command/components/command.svelte +2 -2
  68. package/dist/bits/context-menu/components/context-menu-content-static.svelte +3 -3
  69. package/dist/bits/context-menu/components/context-menu-content.svelte +3 -3
  70. package/dist/bits/context-menu/components/context-menu-trigger.svelte +2 -2
  71. package/dist/bits/context-menu/components/context-menu.svelte +16 -11
  72. package/dist/bits/date-field/components/date-field-hidden-input.svelte +2 -2
  73. package/dist/bits/date-field/components/date-field-input.svelte +2 -2
  74. package/dist/bits/date-field/components/date-field-label.svelte +2 -2
  75. package/dist/bits/date-field/components/date-field-segment.svelte +2 -2
  76. package/dist/bits/date-field/components/date-field.svelte +2 -2
  77. package/dist/bits/date-field/date-field.svelte.d.ts +85 -74
  78. package/dist/bits/date-field/date-field.svelte.js +55 -53
  79. package/dist/bits/date-picker/components/date-picker-calendar.svelte +2 -2
  80. package/dist/bits/date-picker/components/date-picker.svelte +8 -6
  81. package/dist/bits/date-picker/date-picker.svelte.d.ts +10 -10
  82. package/dist/bits/date-picker/date-picker.svelte.js +6 -5
  83. package/dist/bits/date-picker/types.d.ts +4 -0
  84. package/dist/bits/date-range-field/components/date-range-field-input.svelte +2 -2
  85. package/dist/bits/date-range-field/components/date-range-field-label.svelte +2 -2
  86. package/dist/bits/date-range-field/components/date-range-field.svelte +2 -2
  87. package/dist/bits/date-range-field/date-range-field.svelte.d.ts +32 -29
  88. package/dist/bits/date-range-field/date-range-field.svelte.js +33 -32
  89. package/dist/bits/date-range-picker/components/date-range-picker-calendar.svelte +2 -2
  90. package/dist/bits/date-range-picker/components/date-range-picker.svelte +8 -6
  91. package/dist/bits/date-range-picker/date-range-picker.svelte.d.ts +10 -10
  92. package/dist/bits/date-range-picker/date-range-picker.svelte.js +6 -5
  93. package/dist/bits/date-range-picker/types.d.ts +4 -0
  94. package/dist/bits/dialog/components/dialog-close.svelte +2 -2
  95. package/dist/bits/dialog/components/dialog-content.svelte +3 -3
  96. package/dist/bits/dialog/components/dialog-description.svelte +2 -2
  97. package/dist/bits/dialog/components/dialog-overlay.svelte +3 -6
  98. package/dist/bits/dialog/components/dialog-title.svelte +2 -2
  99. package/dist/bits/dialog/components/dialog-trigger.svelte +2 -2
  100. package/dist/bits/dialog/components/dialog.svelte +9 -3
  101. package/dist/bits/dialog/dialog.svelte.d.ts +75 -65
  102. package/dist/bits/dialog/dialog.svelte.js +47 -38
  103. package/dist/bits/dialog/types.d.ts +4 -0
  104. package/dist/bits/dropdown-menu/components/dropdown-menu-content-static.svelte +3 -3
  105. package/dist/bits/dropdown-menu/components/dropdown-menu-content.svelte +3 -3
  106. package/dist/bits/label/components/label.svelte +2 -2
  107. package/dist/bits/label/label.svelte.d.ts +8 -7
  108. package/dist/bits/label/label.svelte.js +4 -4
  109. package/dist/bits/link-preview/components/link-preview-content-static.svelte +3 -3
  110. package/dist/bits/link-preview/components/link-preview-content.svelte +3 -3
  111. package/dist/bits/link-preview/components/link-preview-trigger.svelte +2 -2
  112. package/dist/bits/link-preview/components/link-preview.svelte +4 -2
  113. package/dist/bits/link-preview/link-preview.svelte.d.ts +28 -25
  114. package/dist/bits/link-preview/link-preview.svelte.js +24 -16
  115. package/dist/bits/link-preview/types.d.ts +4 -0
  116. package/dist/bits/menu/components/menu-arrow.svelte +2 -2
  117. package/dist/bits/menu/components/menu-checkbox-group.svelte +2 -2
  118. package/dist/bits/menu/components/menu-checkbox-item.svelte +2 -2
  119. package/dist/bits/menu/components/menu-content-static.svelte +3 -3
  120. package/dist/bits/menu/components/menu-content.svelte +3 -3
  121. package/dist/bits/menu/components/menu-group-heading.svelte +2 -2
  122. package/dist/bits/menu/components/menu-group.svelte +2 -2
  123. package/dist/bits/menu/components/menu-item.svelte +2 -2
  124. package/dist/bits/menu/components/menu-radio-group.svelte +2 -2
  125. package/dist/bits/menu/components/menu-radio-item.svelte +2 -2
  126. package/dist/bits/menu/components/menu-separator.svelte +2 -2
  127. package/dist/bits/menu/components/menu-sub-content-static.svelte +3 -3
  128. package/dist/bits/menu/components/menu-sub-content.svelte +3 -3
  129. package/dist/bits/menu/components/menu-sub-trigger.svelte +2 -2
  130. package/dist/bits/menu/components/menu-sub.svelte +9 -3
  131. package/dist/bits/menu/components/menu-trigger.svelte +2 -2
  132. package/dist/bits/menu/components/menu.svelte +16 -11
  133. package/dist/bits/menu/menu.svelte.d.ts +136 -119
  134. package/dist/bits/menu/menu.svelte.js +106 -96
  135. package/dist/bits/menu/types.d.ts +8 -0
  136. package/dist/bits/menubar/components/menubar-content-static.svelte +2 -2
  137. package/dist/bits/menubar/components/menubar-content.svelte +2 -2
  138. package/dist/bits/menubar/components/menubar-menu.svelte +2 -2
  139. package/dist/bits/menubar/components/menubar-trigger.svelte +4 -4
  140. package/dist/bits/menubar/components/menubar.svelte +2 -2
  141. package/dist/bits/menubar/menubar.svelte.d.ts +37 -34
  142. package/dist/bits/menubar/menubar.svelte.js +21 -21
  143. package/dist/bits/meter/components/meter.svelte +2 -2
  144. package/dist/bits/meter/meter.svelte.d.ts +10 -9
  145. package/dist/bits/meter/meter.svelte.js +4 -4
  146. package/dist/bits/navigation-menu/components/navigation-menu-content-impl.svelte +2 -2
  147. package/dist/bits/navigation-menu/components/navigation-menu-content.svelte +3 -3
  148. package/dist/bits/navigation-menu/components/navigation-menu-indicator-impl.svelte +2 -2
  149. package/dist/bits/navigation-menu/components/navigation-menu-indicator.svelte +3 -3
  150. package/dist/bits/navigation-menu/components/navigation-menu-item.svelte +2 -2
  151. package/dist/bits/navigation-menu/components/navigation-menu-link.svelte +2 -2
  152. package/dist/bits/navigation-menu/components/navigation-menu-list.svelte +2 -2
  153. package/dist/bits/navigation-menu/components/navigation-menu-sub.svelte +2 -2
  154. package/dist/bits/navigation-menu/components/navigation-menu-trigger.svelte +2 -2
  155. package/dist/bits/navigation-menu/components/navigation-menu-viewport.svelte +3 -3
  156. package/dist/bits/navigation-menu/components/navigation-menu.svelte +2 -2
  157. package/dist/bits/navigation-menu/navigation-menu.svelte.d.ts +116 -109
  158. package/dist/bits/navigation-menu/navigation-menu.svelte.js +78 -81
  159. package/dist/bits/pagination/components/pagination-next-button.svelte +2 -2
  160. package/dist/bits/pagination/components/pagination-page.svelte +2 -2
  161. package/dist/bits/pagination/components/pagination-prev-button.svelte +2 -2
  162. package/dist/bits/pagination/components/pagination.svelte +2 -2
  163. package/dist/bits/pagination/pagination.svelte.d.ts +34 -32
  164. package/dist/bits/pagination/pagination.svelte.js +15 -15
  165. package/dist/bits/pin-input/components/pin-input-cell.svelte +2 -2
  166. package/dist/bits/pin-input/components/pin-input.svelte +2 -2
  167. package/dist/bits/pin-input/pin-input.svelte.d.ts +22 -21
  168. package/dist/bits/pin-input/pin-input.svelte.js +9 -9
  169. package/dist/bits/popover/components/popover-close.svelte +2 -2
  170. package/dist/bits/popover/components/popover-content-static.svelte +3 -3
  171. package/dist/bits/popover/components/popover-content.svelte +3 -3
  172. package/dist/bits/popover/components/popover-trigger.svelte +2 -2
  173. package/dist/bits/popover/components/popover.svelte +9 -3
  174. package/dist/bits/popover/popover.svelte.d.ts +36 -31
  175. package/dist/bits/popover/popover.svelte.js +26 -21
  176. package/dist/bits/popover/types.d.ts +4 -0
  177. package/dist/bits/progress/components/progress.svelte +2 -2
  178. package/dist/bits/progress/progress.svelte.d.ts +10 -9
  179. package/dist/bits/progress/progress.svelte.js +4 -4
  180. package/dist/bits/radio-group/components/radio-group-input.svelte +2 -2
  181. package/dist/bits/radio-group/components/radio-group-item.svelte +2 -2
  182. package/dist/bits/radio-group/components/radio-group.svelte +4 -2
  183. package/dist/bits/radio-group/radio-group.svelte.d.ts +26 -19
  184. package/dist/bits/radio-group/radio-group.svelte.js +26 -19
  185. package/dist/bits/radio-group/types.d.ts +13 -6
  186. package/dist/bits/range-calendar/components/range-calendar-cell.svelte +2 -2
  187. package/dist/bits/range-calendar/components/range-calendar-day.svelte +2 -2
  188. package/dist/bits/range-calendar/components/range-calendar.svelte +2 -2
  189. package/dist/bits/range-calendar/range-calendar.svelte.d.ts +21 -20
  190. package/dist/bits/range-calendar/range-calendar.svelte.js +12 -12
  191. package/dist/bits/rating-group/components/rating-group-input.svelte +2 -2
  192. package/dist/bits/rating-group/components/rating-group-item.svelte +2 -2
  193. package/dist/bits/rating-group/components/rating-group.svelte +2 -2
  194. package/dist/bits/rating-group/rating-group.svelte.d.ts +19 -18
  195. package/dist/bits/rating-group/rating-group.svelte.js +16 -17
  196. package/dist/bits/scroll-area/components/scroll-area-corner-impl.svelte +2 -2
  197. package/dist/bits/scroll-area/components/scroll-area-scrollbar-auto.svelte +3 -3
  198. package/dist/bits/scroll-area/components/scroll-area-scrollbar-hover.svelte +6 -6
  199. package/dist/bits/scroll-area/components/scroll-area-scrollbar-scroll.svelte +3 -3
  200. package/dist/bits/scroll-area/components/scroll-area-scrollbar-shared.svelte +2 -2
  201. package/dist/bits/scroll-area/components/scroll-area-scrollbar-visible.svelte +2 -2
  202. package/dist/bits/scroll-area/components/scroll-area-scrollbar-x.svelte +2 -2
  203. package/dist/bits/scroll-area/components/scroll-area-scrollbar-y.svelte +2 -2
  204. package/dist/bits/scroll-area/components/scroll-area-scrollbar.svelte +2 -2
  205. package/dist/bits/scroll-area/components/scroll-area-thumb-impl.svelte +2 -2
  206. package/dist/bits/scroll-area/components/scroll-area-thumb.svelte +2 -5
  207. package/dist/bits/scroll-area/components/scroll-area-viewport.svelte +2 -2
  208. package/dist/bits/scroll-area/components/scroll-area.svelte +2 -2
  209. package/dist/bits/scroll-area/scroll-area.svelte.d.ts +98 -78
  210. package/dist/bits/scroll-area/scroll-area.svelte.js +78 -74
  211. package/dist/bits/select/components/select-content-static.svelte +3 -3
  212. package/dist/bits/select/components/select-content.svelte +3 -3
  213. package/dist/bits/select/components/select-group-heading.svelte +2 -2
  214. package/dist/bits/select/components/select-group.svelte +2 -2
  215. package/dist/bits/select/components/select-hidden-input.svelte +2 -2
  216. package/dist/bits/select/components/select-item.svelte +2 -2
  217. package/dist/bits/select/components/select-scroll-down-button.svelte +2 -2
  218. package/dist/bits/select/components/select-scroll-up-button.svelte +2 -2
  219. package/dist/bits/select/components/select-trigger.svelte +2 -2
  220. package/dist/bits/select/components/select-viewport.svelte +2 -2
  221. package/dist/bits/select/components/select.svelte +4 -2
  222. package/dist/bits/select/select.svelte.d.ts +127 -113
  223. package/dist/bits/select/select.svelte.js +74 -62
  224. package/dist/bits/select/types.d.ts +4 -0
  225. package/dist/bits/separator/components/separator.svelte +2 -2
  226. package/dist/bits/separator/separator.svelte.d.ts +9 -8
  227. package/dist/bits/separator/separator.svelte.js +4 -4
  228. package/dist/bits/slider/components/slider-range.svelte +2 -2
  229. package/dist/bits/slider/components/slider-thumb-label.svelte +2 -2
  230. package/dist/bits/slider/components/slider-thumb.svelte +2 -2
  231. package/dist/bits/slider/components/slider-tick-label.svelte +2 -2
  232. package/dist/bits/slider/components/slider-tick.svelte +2 -2
  233. package/dist/bits/slider/components/slider.svelte +2 -2
  234. package/dist/bits/slider/slider.svelte.d.ts +82 -73
  235. package/dist/bits/slider/slider.svelte.js +30 -28
  236. package/dist/bits/switch/components/switch-input.svelte +2 -2
  237. package/dist/bits/switch/components/switch-thumb.svelte +2 -2
  238. package/dist/bits/switch/components/switch.svelte +2 -2
  239. package/dist/bits/switch/switch.svelte.d.ts +19 -17
  240. package/dist/bits/switch/switch.svelte.js +13 -13
  241. package/dist/bits/tabs/components/tabs-content.svelte +2 -2
  242. package/dist/bits/tabs/components/tabs-list.svelte +2 -2
  243. package/dist/bits/tabs/components/tabs-trigger.svelte +2 -2
  244. package/dist/bits/tabs/components/tabs.svelte +2 -2
  245. package/dist/bits/tabs/tabs.svelte.d.ts +33 -29
  246. package/dist/bits/tabs/tabs.svelte.js +19 -19
  247. package/dist/bits/time-field/components/time-field-hidden-input.svelte +2 -2
  248. package/dist/bits/time-field/components/time-field-input.svelte +2 -2
  249. package/dist/bits/time-field/components/time-field-label.svelte +2 -2
  250. package/dist/bits/time-field/components/time-field-segment.svelte +2 -2
  251. package/dist/bits/time-field/components/time-field.svelte +2 -2
  252. package/dist/bits/time-field/time-field.svelte.d.ts +72 -66
  253. package/dist/bits/time-field/time-field.svelte.js +37 -42
  254. package/dist/bits/time-range-field/components/time-range-field-input.svelte +2 -2
  255. package/dist/bits/time-range-field/components/time-range-field-label.svelte +2 -2
  256. package/dist/bits/time-range-field/components/time-range-field.svelte +2 -2
  257. package/dist/bits/time-range-field/time-range-field.svelte.d.ts +35 -31
  258. package/dist/bits/time-range-field/time-range-field.svelte.js +34 -32
  259. package/dist/bits/toggle/components/toggle.svelte +2 -2
  260. package/dist/bits/toggle/toggle.svelte.d.ts +11 -10
  261. package/dist/bits/toggle/toggle.svelte.js +4 -4
  262. package/dist/bits/toggle-group/components/toggle-group-item.svelte +2 -2
  263. package/dist/bits/toggle-group/components/toggle-group.svelte +2 -2
  264. package/dist/bits/toggle-group/toggle-group.svelte.d.ts +48 -43
  265. package/dist/bits/toggle-group/toggle-group.svelte.js +24 -25
  266. package/dist/bits/toolbar/components/toolbar-button.svelte +2 -2
  267. package/dist/bits/toolbar/components/toolbar-group-item.svelte +2 -2
  268. package/dist/bits/toolbar/components/toolbar-group.svelte +2 -2
  269. package/dist/bits/toolbar/components/toolbar-link.svelte +2 -2
  270. package/dist/bits/toolbar/components/toolbar.svelte +2 -2
  271. package/dist/bits/toolbar/toolbar.svelte.d.ts +59 -51
  272. package/dist/bits/toolbar/toolbar.svelte.js +32 -30
  273. package/dist/bits/tooltip/components/tooltip-content-static.svelte +3 -3
  274. package/dist/bits/tooltip/components/tooltip-content.svelte +3 -3
  275. package/dist/bits/tooltip/components/tooltip-provider.svelte +2 -2
  276. package/dist/bits/tooltip/components/tooltip-trigger.svelte +2 -2
  277. package/dist/bits/tooltip/components/tooltip.svelte +4 -2
  278. package/dist/bits/tooltip/tooltip.svelte.d.ts +33 -29
  279. package/dist/bits/tooltip/tooltip.svelte.js +33 -28
  280. package/dist/bits/tooltip/types.d.ts +4 -0
  281. package/dist/bits/utilities/config/bits-config.d.ts +1 -1
  282. package/dist/bits/utilities/dismissible-layer/dismissible-layer.svelte +2 -2
  283. package/dist/bits/utilities/dismissible-layer/use-dismissable-layer.svelte.d.ts +6 -7
  284. package/dist/bits/utilities/dismissible-layer/use-dismissable-layer.svelte.js +3 -3
  285. package/dist/bits/utilities/escape-layer/escape-layer.svelte +2 -2
  286. package/dist/bits/utilities/escape-layer/use-escape-layer.svelte.d.ts +6 -7
  287. package/dist/bits/utilities/escape-layer/use-escape-layer.svelte.js +3 -3
  288. package/dist/bits/utilities/floating-layer/components/floating-layer-anchor.svelte +2 -2
  289. package/dist/bits/utilities/floating-layer/components/floating-layer-arrow.svelte +2 -2
  290. package/dist/bits/utilities/floating-layer/components/floating-layer-content.svelte +2 -2
  291. package/dist/bits/utilities/floating-layer/components/floating-layer.svelte +2 -2
  292. package/dist/bits/utilities/floating-layer/use-floating-layer.svelte.d.ts +25 -23
  293. package/dist/bits/utilities/floating-layer/use-floating-layer.svelte.js +25 -25
  294. package/dist/bits/utilities/focus-scope/use-focus-scope.svelte.d.ts +1 -1
  295. package/dist/bits/utilities/focus-scope/use-focus-scope.svelte.js +1 -1
  296. package/dist/bits/utilities/popper-layer/popper-layer-force-mount.svelte +1 -1
  297. package/dist/bits/utilities/popper-layer/popper-layer-force-mount.svelte.d.ts +1 -1
  298. package/dist/bits/utilities/popper-layer/popper-layer-inner.svelte +1 -1
  299. package/dist/bits/utilities/popper-layer/popper-layer-inner.svelte.d.ts +1 -1
  300. package/dist/bits/utilities/popper-layer/popper-layer.svelte +3 -3
  301. package/dist/bits/utilities/presence-layer/presence-layer.svelte +8 -8
  302. package/dist/bits/utilities/presence-layer/presence.svelte.d.ts +42 -0
  303. package/dist/bits/utilities/presence-layer/presence.svelte.js +116 -0
  304. package/dist/bits/utilities/presence-layer/types.d.ts +3 -5
  305. package/dist/bits/utilities/scroll-lock/scroll-lock.svelte +2 -2
  306. package/dist/bits/utilities/text-selection-layer/text-selection-layer.svelte +2 -2
  307. package/dist/bits/utilities/text-selection-layer/use-text-selection-layer.svelte.d.ts +7 -7
  308. package/dist/bits/utilities/text-selection-layer/use-text-selection-layer.svelte.js +3 -3
  309. package/dist/internal/animations-complete.d.ts +12 -0
  310. package/dist/internal/animations-complete.js +55 -0
  311. package/dist/internal/arrays.js +20 -36
  312. package/dist/internal/attrs.d.ts +9 -2
  313. package/dist/internal/attrs.js +21 -11
  314. package/dist/internal/body-scroll-lock.svelte.d.ts +10 -0
  315. package/dist/internal/body-scroll-lock.svelte.js +106 -0
  316. package/dist/internal/data-typeahead.svelte.d.ts +15 -0
  317. package/dist/internal/data-typeahead.svelte.js +33 -0
  318. package/dist/internal/date-time/calendar-helpers.svelte.d.ts +1 -1
  319. package/dist/internal/dom-typeahead.svelte.d.ts +14 -0
  320. package/dist/internal/dom-typeahead.svelte.js +44 -0
  321. package/dist/internal/dom.d.ts +0 -2
  322. package/dist/internal/dom.js +0 -15
  323. package/dist/internal/{use-grace-area.svelte.d.ts → grace-area.svelte.d.ts} +5 -4
  324. package/dist/internal/{use-grace-area.svelte.js → grace-area.svelte.js} +60 -56
  325. package/dist/internal/open-change-complete.d.ts +13 -0
  326. package/dist/internal/open-change-complete.js +24 -0
  327. package/dist/internal/{use-roving-focus.svelte.d.ts → roving-focus-group.d.ts} +9 -8
  328. package/dist/internal/{use-roving-focus.svelte.js → roving-focus-group.js} +30 -34
  329. package/dist/internal/shared-state.svelte.d.ts +6 -0
  330. package/dist/internal/shared-state.svelte.js +31 -0
  331. package/dist/internal/should-trap-focus.js +1 -2
  332. package/dist/internal/state-machine.d.ts +16 -0
  333. package/dist/internal/state-machine.js +18 -0
  334. package/dist/internal/svelte-resize-observer.svelte.d.ts +6 -0
  335. package/dist/internal/svelte-resize-observer.svelte.js +25 -0
  336. package/dist/internal/tabbable.d.ts +0 -1
  337. package/dist/internal/tabbable.js +0 -11
  338. package/dist/internal/timeout-fn.d.ts +16 -0
  339. package/dist/internal/timeout-fn.js +38 -0
  340. package/dist/internal/types.d.ts +2 -2
  341. package/package.json +1 -1
  342. package/dist/bits/utilities/presence-layer/use-presence.svelte.d.ts +0 -4
  343. package/dist/bits/utilities/presence-layer/use-presence.svelte.js +0 -97
  344. package/dist/internal/box.svelte.d.ts +0 -21
  345. package/dist/internal/box.svelte.js +0 -26
  346. package/dist/internal/create-event-hook.svelte.d.ts +0 -18
  347. package/dist/internal/create-event-hook.svelte.js +0 -29
  348. package/dist/internal/create-shared-hook.svelte.d.ts +0 -2
  349. package/dist/internal/create-shared-hook.svelte.js +0 -27
  350. package/dist/internal/sleep.d.ts +0 -1
  351. package/dist/internal/sleep.js +0 -3
  352. package/dist/internal/use-after-animations.svelte.d.ts +0 -5
  353. package/dist/internal/use-after-animations.svelte.js +0 -27
  354. package/dist/internal/use-body-scroll-lock.svelte.d.ts +0 -6
  355. package/dist/internal/use-body-scroll-lock.svelte.js +0 -106
  356. package/dist/internal/use-data-typeahead.svelte.d.ts +0 -15
  357. package/dist/internal/use-data-typeahead.svelte.js +0 -34
  358. package/dist/internal/use-dom-typeahead.svelte.d.ts +0 -13
  359. package/dist/internal/use-dom-typeahead.svelte.js +0 -32
  360. package/dist/internal/use-form-control.svelte.d.ts +0 -4
  361. package/dist/internal/use-form-control.svelte.js +0 -16
  362. package/dist/internal/use-resize-observer.svelte.d.ts +0 -2
  363. package/dist/internal/use-resize-observer.svelte.js +0 -17
  364. package/dist/internal/use-state-machine.svelte.d.ts +0 -24
  365. package/dist/internal/use-state-machine.svelte.js +0 -28
  366. package/dist/internal/use-timeout-fn.svelte.d.ts +0 -25
  367. package/dist/internal/use-timeout-fn.svelte.js +0 -39
@@ -1,17 +1,22 @@
1
- import { afterTick, box, attachRef } from "svelte-toolbelt";
1
+ import { afterTick, box, attachRef, } from "svelte-toolbelt";
2
2
  import { Context, watch } from "runed";
3
- import { useRovingFocus, } from "../../internal/use-roving-focus.svelte.js";
4
3
  import { createBitsAttrs, getAriaExpanded, getDataDisabled, getDataOpenClosed, } from "../../internal/attrs.js";
5
4
  import { kbd } from "../../internal/kbd.js";
6
5
  import { wrapArray } from "../../internal/arrays.js";
7
6
  import { FocusScopeContext, } from "../utilities/focus-scope/use-focus-scope.svelte.js";
8
7
  import { onMount } from "svelte";
9
8
  import { getFloatingContentCSSVars } from "../../internal/floating-svelte/floating-utils.svelte";
9
+ import { RovingFocusGroup } from "../../internal/roving-focus-group.js";
10
10
  const menubarAttrs = createBitsAttrs({
11
11
  component: "menubar",
12
12
  parts: ["root", "trigger", "content"],
13
13
  });
14
- class MenubarRootState {
14
+ const MenubarRootContext = new Context("Menubar.Root");
15
+ const MenubarMenuContext = new Context("Menubar.Menu");
16
+ export class MenubarRootState {
17
+ static create(opts) {
18
+ return MenubarRootContext.set(new MenubarRootState(opts));
19
+ }
15
20
  opts;
16
21
  rovingFocusGroup;
17
22
  wasOpenedByKeyboard = $state(false);
@@ -19,7 +24,7 @@ class MenubarRootState {
19
24
  valueToChangeHandler = new Map();
20
25
  constructor(opts) {
21
26
  this.opts = opts;
22
- this.rovingFocusGroup = useRovingFocus({
27
+ this.rovingFocusGroup = new RovingFocusGroup({
23
28
  rootNode: this.opts.ref,
24
29
  candidateAttr: menubarAttrs.trigger,
25
30
  loop: this.opts.loop,
@@ -82,7 +87,10 @@ class MenubarRootState {
82
87
  ...attachRef(this.opts.ref),
83
88
  }));
84
89
  }
85
- class MenubarMenuState {
90
+ export class MenubarMenuState {
91
+ static create(opts) {
92
+ return MenubarMenuContext.set(new MenubarMenuState(opts, MenubarRootContext.get()));
93
+ }
86
94
  opts;
87
95
  root;
88
96
  open = $derived.by(() => this.root.opts.value.current === this.opts.value.current);
@@ -113,7 +121,10 @@ class MenubarMenuState {
113
121
  this.root.onMenuOpen(this.opts.value.current, this.triggerNode?.id ?? "");
114
122
  }
115
123
  }
116
- class MenubarTriggerState {
124
+ export class MenubarTriggerState {
125
+ static create(opts) {
126
+ return new MenubarTriggerState(opts, MenubarMenuContext.get());
127
+ }
117
128
  opts;
118
129
  menu;
119
130
  root;
@@ -197,7 +208,10 @@ class MenubarTriggerState {
197
208
  ...attachRef(this.opts.ref, (v) => (this.menu.triggerNode = v)),
198
209
  }));
199
210
  }
200
- class MenubarContentState {
211
+ export class MenubarContentState {
212
+ static create(opts) {
213
+ return new MenubarContentState(opts, MenubarMenuContext.get());
214
+ }
201
215
  opts;
202
216
  menu;
203
217
  root;
@@ -278,17 +292,3 @@ class MenubarContentState {
278
292
  onOpenAutoFocus: this.onOpenAutoFocus,
279
293
  };
280
294
  }
281
- const MenubarRootContext = new Context("Menubar.Root");
282
- const MenubarMenuContext = new Context("Menubar.Menu");
283
- export function useMenubarRoot(props) {
284
- return MenubarRootContext.set(new MenubarRootState(props));
285
- }
286
- export function useMenubarMenu(props) {
287
- return MenubarMenuContext.set(new MenubarMenuState(props, MenubarRootContext.get()));
288
- }
289
- export function useMenubarTrigger(props) {
290
- return new MenubarTriggerState(props, MenubarMenuContext.get());
291
- }
292
- export function useMenubarContent(props) {
293
- return new MenubarContentState(props, MenubarMenuContext.get());
294
- }
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import { box, mergeProps } from "svelte-toolbelt";
3
3
  import type { MeterRootProps } from "../types.js";
4
- import { useMeterRootState } from "../meter.svelte.js";
4
+ import { MeterRootState } from "../meter.svelte.js";
5
5
  import { createId } from "../../../internal/create-id.js";
6
6
 
7
7
  const uid = $props.id();
@@ -17,7 +17,7 @@
17
17
  ...restProps
18
18
  }: MeterRootProps = $props();
19
19
 
20
- const rootState = useMeterRootState({
20
+ const rootState = MeterRootState.create({
21
21
  value: box.with(() => value),
22
22
  max: box.with(() => max),
23
23
  min: box.with(() => min),
@@ -1,14 +1,16 @@
1
- import type { ReadableBoxedValues } from "../../internal/box.svelte.js";
2
- import type { WithRefProps } from "../../internal/types.js";
3
- type MeterRootStateProps = WithRefProps<ReadableBoxedValues<{
1
+ import { type ReadableBoxedValues } from "svelte-toolbelt";
2
+ import type { WithRefOpts } from "../../internal/types.js";
3
+ interface MeterRootStateOpts extends WithRefOpts, ReadableBoxedValues<{
4
4
  value: number;
5
5
  max: number;
6
6
  min: number;
7
- }>>;
8
- declare class MeterRootState {
9
- readonly opts: MeterRootStateProps;
10
- constructor(opts: MeterRootStateProps);
11
- props: {
7
+ }> {
8
+ }
9
+ export declare class MeterRootState {
10
+ static create(opts: MeterRootStateOpts): MeterRootState;
11
+ readonly opts: MeterRootStateOpts;
12
+ constructor(opts: MeterRootStateOpts);
13
+ readonly props: {
12
14
  readonly role: "meter";
13
15
  readonly value: number;
14
16
  readonly "aria-valuemin": number;
@@ -19,5 +21,4 @@ declare class MeterRootState {
19
21
  readonly "data-min": number;
20
22
  };
21
23
  }
22
- export declare function useMeterRootState(props: MeterRootStateProps): MeterRootState;
23
24
  export {};
@@ -4,7 +4,10 @@ const meterAttrs = createBitsAttrs({
4
4
  component: "meter",
5
5
  parts: ["root"],
6
6
  });
7
- class MeterRootState {
7
+ export class MeterRootState {
8
+ static create(opts) {
9
+ return new MeterRootState(opts);
10
+ }
8
11
  opts;
9
12
  constructor(opts) {
10
13
  this.opts = opts;
@@ -22,6 +25,3 @@ class MeterRootState {
22
25
  ...attachRef(this.opts.ref),
23
26
  }));
24
27
  }
25
- export function useMeterRootState(props) {
26
- return new MeterRootState(props);
27
- }
@@ -5,7 +5,7 @@
5
5
  import {
6
6
  NavigationMenuItemContext,
7
7
  NavigationMenuItemState,
8
- useNavigationMenuContentImpl,
8
+ NavigationMenuContentImplState,
9
9
  } from "../navigation-menu.svelte.js";
10
10
  import { noop } from "../../../internal/noop.js";
11
11
  import { createId } from "../../../internal/create-id.js";
@@ -33,7 +33,7 @@
33
33
  child?: Snippet<[{ props: Record<string, unknown> }]>;
34
34
  } = $props();
35
35
 
36
- const contentImplState = useNavigationMenuContentImpl(
36
+ const contentImplState = NavigationMenuContentImplState.create(
37
37
  {
38
38
  id: box.with(() => id),
39
39
  ref: box.with(
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { box, mergeProps } from "svelte-toolbelt";
3
- import { useNavigationMenuContent } from "../navigation-menu.svelte.js";
3
+ import { NavigationMenuContentState } from "../navigation-menu.svelte.js";
4
4
  import NavigationMenuContentImpl from "./navigation-menu-content-impl.svelte";
5
5
  import { createId } from "../../../internal/create-id.js";
6
6
  import type { NavigationMenuContentProps } from "../../../types.js";
@@ -19,7 +19,7 @@
19
19
  ...restProps
20
20
  }: NavigationMenuContentProps = $props();
21
21
 
22
- const contentState = useNavigationMenuContent({
22
+ const contentState = NavigationMenuContentState.create({
23
23
  id: box.with(() => id),
24
24
  ref: box.with(
25
25
  () => ref,
@@ -35,7 +35,7 @@
35
35
  disabled={!contentState.context.viewportRef.current}
36
36
  >
37
37
  <PresenceLayer
38
- present={forceMount || contentState.open || contentState.isLastActiveValue}
38
+ open={forceMount || contentState.open || contentState.isLastActiveValue}
39
39
  ref={contentState.opts.ref}
40
40
  >
41
41
  {#snippet presence()}
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import { box, mergeProps } from "svelte-toolbelt";
3
3
  import type { NavigationMenuIndicatorProps } from "../types.js";
4
- import { useNavigationMenuIndicatorImpl } from "../navigation-menu.svelte.js";
4
+ import { NavigationMenuIndicatorImplState } from "../navigation-menu.svelte.js";
5
5
  import { createId } from "../../../internal/create-id.js";
6
6
 
7
7
  const uid = $props.id();
@@ -14,7 +14,7 @@
14
14
  ...restProps
15
15
  }: NavigationMenuIndicatorProps = $props();
16
16
 
17
- const indicatorState = useNavigationMenuIndicatorImpl({
17
+ const indicatorState = NavigationMenuIndicatorImplState.create({
18
18
  id: box.with(() => id),
19
19
  ref: box.with(
20
20
  () => ref,
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import { box, mergeProps } from "svelte-toolbelt";
3
3
  import type { NavigationMenuIndicatorProps } from "../types.js";
4
- import { useNavigationMenuIndicator } from "../navigation-menu.svelte.js";
4
+ import { NavigationMenuIndicatorState } from "../navigation-menu.svelte.js";
5
5
  import NavigationMenuIndicatorImpl from "./navigation-menu-indicator-impl.svelte";
6
6
  import { createId } from "../../../internal/create-id.js";
7
7
  import PresenceLayer from "../../utilities/presence-layer/presence-layer.svelte";
@@ -18,13 +18,13 @@
18
18
  ...restProps
19
19
  }: NavigationMenuIndicatorProps = $props();
20
20
 
21
- const indicatorState = useNavigationMenuIndicator();
21
+ const indicatorState = NavigationMenuIndicatorState.create();
22
22
  const mergedProps = $derived(mergeProps(restProps));
23
23
  </script>
24
24
 
25
25
  {#if indicatorState.context.indicatorTrackRef.current}
26
26
  <Portal to={indicatorState.context.indicatorTrackRef.current}>
27
- <PresenceLayer present={forceMount || indicatorState.isVisible} ref={box.with(() => ref)}>
27
+ <PresenceLayer open={forceMount || indicatorState.isVisible} ref={box.with(() => ref)}>
28
28
  {#snippet presence()}
29
29
  <NavigationMenuIndicatorImpl {...mergedProps} {children} {child} {id} bind:ref />
30
30
  {/snippet}
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import { box, mergeProps } from "svelte-toolbelt";
3
3
  import type { NavigationMenuItemProps } from "../types.js";
4
- import { useNavigationMenuItem } from "../navigation-menu.svelte.js";
4
+ import { NavigationMenuItemState } from "../navigation-menu.svelte.js";
5
5
  import { createId } from "../../../internal/create-id.js";
6
6
 
7
7
  const uid = $props.id();
@@ -17,7 +17,7 @@
17
17
  ...restProps
18
18
  }: NavigationMenuItemProps = $props();
19
19
 
20
- const itemState = useNavigationMenuItem({
20
+ const itemState = NavigationMenuItemState.create({
21
21
  id: box.with(() => id),
22
22
  ref: box.with(
23
23
  () => ref,
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import { box, mergeProps } from "svelte-toolbelt";
3
3
  import type { NavigationMenuLinkProps } from "../types.js";
4
- import { useNavigationMenuLink } from "../navigation-menu.svelte.js";
4
+ import { NavigationMenuLinkState } from "../navigation-menu.svelte.js";
5
5
  import { createId } from "../../../internal/create-id.js";
6
6
  import { noop } from "../../../internal/noop.js";
7
7
 
@@ -17,7 +17,7 @@
17
17
  ...restProps
18
18
  }: NavigationMenuLinkProps = $props();
19
19
 
20
- const linkState = useNavigationMenuLink({
20
+ const linkState = NavigationMenuLinkState.create({
21
21
  id: box.with(() => id),
22
22
  ref: box.with(
23
23
  () => ref,
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import { box, mergeProps } from "svelte-toolbelt";
3
3
  import type { NavigationMenuListProps } from "../types.js";
4
- import { useNavigationMenuList } from "../navigation-menu.svelte.js";
4
+ import { NavigationMenuListState } from "../navigation-menu.svelte.js";
5
5
  import { createId } from "../../../internal/create-id.js";
6
6
  import Mounted from "../../utilities/mounted.svelte";
7
7
 
@@ -15,7 +15,7 @@
15
15
  ...restProps
16
16
  }: NavigationMenuListProps = $props();
17
17
 
18
- const listState = useNavigationMenuList({
18
+ const listState = NavigationMenuListState.create({
19
19
  id: box.with(() => id),
20
20
  ref: box.with(
21
21
  () => ref,
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import { box, mergeProps } from "svelte-toolbelt";
3
3
  import type { NavigationMenuSubProps } from "../types.js";
4
- import { useNavigationMenuSub } from "../navigation-menu.svelte.js";
4
+ import { NavigationMenuSubState } from "../navigation-menu.svelte.js";
5
5
  import { createId } from "../../../internal/create-id.js";
6
6
  import { noop } from "../../../internal/noop.js";
7
7
 
@@ -18,7 +18,7 @@
18
18
  ...restProps
19
19
  }: NavigationMenuSubProps = $props();
20
20
 
21
- const rootState = useNavigationMenuSub({
21
+ const rootState = NavigationMenuSubState.create({
22
22
  id: box.with(() => id),
23
23
  value: box.with(
24
24
  () => value,
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import { box, mergeProps } from "svelte-toolbelt";
3
3
  import type { NavigationMenuTriggerProps } from "../types.js";
4
- import { useNavigationMenuTrigger } from "../navigation-menu.svelte.js";
4
+ import { NavigationMenuTriggerState } from "../navigation-menu.svelte.js";
5
5
  import { createId } from "../../../internal/create-id.js";
6
6
  import VisuallyHidden from "../../utilities/visually-hidden/visually-hidden.svelte";
7
7
  import Mounted from "../../utilities/mounted.svelte";
@@ -17,7 +17,7 @@
17
17
  ...restProps
18
18
  }: NavigationMenuTriggerProps = $props();
19
19
 
20
- const triggerState = useNavigationMenuTrigger({
20
+ const triggerState = NavigationMenuTriggerState.create({
21
21
  id: box.with(() => id),
22
22
  disabled: box.with(() => disabled ?? false),
23
23
  ref: box.with(
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import type { NavigationMenuViewportProps } from "../types.js";
3
- import { useNavigationMenuViewport } from "../navigation-menu.svelte.js";
3
+ import { NavigationMenuViewportState } from "../navigation-menu.svelte.js";
4
4
  import { createId } from "../../../internal/create-id.js";
5
5
  import PresenceLayer from "../../utilities/presence-layer/presence-layer.svelte";
6
6
  import { box, mergeProps } from "svelte-toolbelt";
@@ -17,7 +17,7 @@
17
17
  ...restProps
18
18
  }: NavigationMenuViewportProps = $props();
19
19
 
20
- const viewportState = useNavigationMenuViewport({
20
+ const viewportState = NavigationMenuViewportState.create({
21
21
  id: box.with(() => id),
22
22
  ref: box.with(
23
23
  () => ref,
@@ -28,7 +28,7 @@
28
28
  const mergedProps = $derived(mergeProps(restProps, viewportState.props));
29
29
  </script>
30
30
 
31
- <PresenceLayer present={forceMount || viewportState.open} ref={viewportState.opts.ref}>
31
+ <PresenceLayer open={forceMount || viewportState.open} ref={viewportState.opts.ref}>
32
32
  {#snippet presence()}
33
33
  {#if child}
34
34
  {@render child({ props: mergedProps })}
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import { box, mergeProps } from "svelte-toolbelt";
3
3
  import type { NavigationMenuRootProps } from "../types.js";
4
- import { useNavigationMenuRoot } from "../navigation-menu.svelte.js";
4
+ import { NavigationMenuRootState } from "../navigation-menu.svelte.js";
5
5
  import { createId } from "../../../internal/create-id.js";
6
6
  import { noop } from "../../../internal/noop.js";
7
7
 
@@ -21,7 +21,7 @@
21
21
  ...restProps
22
22
  }: NavigationMenuRootProps = $props();
23
23
 
24
- const rootState = useNavigationMenuRoot({
24
+ const rootState = NavigationMenuRootState.create({
25
25
  id: box.with(() => id),
26
26
  value: box.with(
27
27
  () => value,