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,18 +1,17 @@
1
1
  import { type DateValue } from "@internationalized/date";
2
- import { DOMContext } from "svelte-toolbelt";
2
+ import { DOMContext, type ReadableBoxedValues, type WritableBoxedValues } from "svelte-toolbelt";
3
3
  import { Context } from "runed";
4
4
  import type { RangeCalendarRootState } from "../range-calendar/range-calendar.svelte.js";
5
- import type { ReadableBoxedValues, WritableBoxedValues } from "../../internal/box.svelte.js";
6
- import type { BitsKeyboardEvent, BitsMouseEvent, WithRefProps } from "../../internal/types.js";
5
+ import type { BitsKeyboardEvent, BitsMouseEvent, WithRefOpts } from "../../internal/types.js";
7
6
  import type { DateMatcher, Month } from "../../shared/index.js";
8
7
  import { type Announcer } from "../../internal/date-time/announcer.js";
9
8
  import { type Formatter } from "../../internal/date-time/formatter.js";
10
9
  import { calendarAttrs } from "../../internal/date-time/calendar-helpers.svelte.js";
11
10
  import type { WeekStartsOn } from "../../shared/date/types.js";
12
- type CalendarRootStateProps = WithRefProps<WritableBoxedValues<{
11
+ interface CalendarRootStateOpts extends WithRefOpts, WritableBoxedValues<{
13
12
  value: DateValue | undefined | DateValue[];
14
13
  placeholder: DateValue;
15
- }> & ReadableBoxedValues<{
14
+ }>, ReadableBoxedValues<{
16
15
  preventDeselect: boolean;
17
16
  minValue: DateValue | undefined;
18
17
  maxValue: DateValue | undefined;
@@ -38,19 +37,21 @@ type CalendarRootStateProps = WithRefProps<WritableBoxedValues<{
38
37
  onDateSelect?: () => void;
39
38
  monthFormat: Intl.DateTimeFormatOptions["month"] | ((month: number) => string);
40
39
  yearFormat: Intl.DateTimeFormatOptions["year"] | ((year: number) => string);
41
- }> & {
40
+ }> {
42
41
  defaultPlaceholder: DateValue;
43
- }>;
42
+ }
43
+ export declare const CalendarRootContext: Context<RangeCalendarRootState | CalendarRootState>;
44
44
  export declare class CalendarRootState {
45
45
  #private;
46
- readonly opts: CalendarRootStateProps;
46
+ static create(opts: CalendarRootStateOpts): RangeCalendarRootState | CalendarRootState;
47
+ readonly opts: CalendarRootStateOpts;
48
+ readonly visibleMonths: DateValue[];
49
+ readonly formatter: Formatter;
50
+ readonly accessibleHeadingId: string;
51
+ readonly domContext: DOMContext;
47
52
  months: Month<DateValue>[];
48
- visibleMonths: DateValue[];
49
53
  announcer: Announcer;
50
- formatter: Formatter;
51
- accessibleHeadingId: string;
52
- domContext: DOMContext;
53
- constructor(opts: CalendarRootStateProps);
54
+ constructor(opts: CalendarRootStateOpts);
54
55
  setMonths(months: Month<DateValue>[]): void;
55
56
  /**
56
57
  * This derived state holds an array of localized day names for the current
@@ -77,8 +78,8 @@ export declare class CalendarRootState {
77
78
  isNextButtonDisabled: boolean;
78
79
  isPrevButtonDisabled: boolean;
79
80
  isInvalid: boolean;
80
- headingValue: string;
81
- fullCalendarLabel: string;
81
+ readonly headingValue: string;
82
+ readonly fullCalendarLabel: string;
82
83
  isOutsideVisibleMonths(date: DateValue): boolean;
83
84
  isDateDisabled(date: DateValue): boolean;
84
85
  isDateSelected(date: DateValue): boolean;
@@ -87,12 +88,12 @@ export declare class CalendarRootState {
87
88
  handleMultipleUpdate(prev: DateValue[] | undefined, date: DateValue): DateValue[] | undefined;
88
89
  handleSingleUpdate(prev: DateValue | undefined, date: DateValue): DateValue | undefined;
89
90
  onkeydown(event: BitsKeyboardEvent): void;
90
- snippetProps: {
91
+ readonly snippetProps: {
91
92
  months: Month<DateValue>[];
92
93
  weekdays: string[];
93
94
  };
94
95
  getBitsAttr: (typeof calendarAttrs)["getAttr"];
95
- props: {
96
+ readonly props: {
96
97
  readonly onkeydown: (event: BitsKeyboardEvent) => void;
97
98
  readonly id: string;
98
99
  readonly role: "application";
@@ -102,43 +103,46 @@ export declare class CalendarRootState {
102
103
  readonly "data-readonly": "" | undefined;
103
104
  };
104
105
  }
105
- export type CalendarHeadingStateProps = WithRefProps;
106
+ interface CalendarHeadingStateOpts extends WithRefOpts {
107
+ }
106
108
  export declare class CalendarHeadingState {
107
- readonly opts: CalendarHeadingStateProps;
109
+ static create(opts: CalendarHeadingStateOpts): CalendarHeadingState;
110
+ readonly opts: CalendarHeadingStateOpts;
108
111
  readonly root: CalendarRootState | RangeCalendarRootState;
109
- headingValue: string;
110
- constructor(opts: CalendarHeadingStateProps, root: CalendarRootState | RangeCalendarRootState);
111
- props: {
112
+ constructor(opts: CalendarHeadingStateOpts, root: CalendarRootState | RangeCalendarRootState);
113
+ readonly props: {
112
114
  readonly id: string;
113
115
  readonly "aria-hidden": "true" | undefined;
114
116
  readonly "data-disabled": "" | undefined;
115
117
  readonly "data-readonly": "" | undefined;
116
118
  };
117
119
  }
118
- type CalendarCellStateProps = WithRefProps<ReadableBoxedValues<{
120
+ interface CalendarCellStateOpts extends WithRefOpts, ReadableBoxedValues<{
119
121
  date: DateValue;
120
122
  month: DateValue;
121
- }>>;
122
- declare class CalendarCellState {
123
- readonly opts: CalendarCellStateProps;
123
+ }> {
124
+ }
125
+ export declare class CalendarCellState {
126
+ static create(opts: CalendarCellStateOpts): CalendarCellState;
127
+ readonly opts: CalendarCellStateOpts;
124
128
  readonly root: CalendarRootState;
125
- cellDate: Date;
126
- isDisabled: boolean;
127
- isUnavailable: boolean;
128
- isDateToday: boolean;
129
- isOutsideMonth: boolean;
130
- isOutsideVisibleMonths: boolean;
131
- isFocusedDate: boolean;
132
- isSelectedDate: boolean;
133
- labelText: string;
134
- constructor(opts: CalendarCellStateProps, root: CalendarRootState);
135
- snippetProps: {
129
+ readonly cellDate: Date;
130
+ readonly isDisabled: boolean;
131
+ readonly isUnavailable: boolean;
132
+ readonly isDateToday: boolean;
133
+ readonly isOutsideMonth: boolean;
134
+ readonly isOutsideVisibleMonths: boolean;
135
+ readonly isFocusedDate: boolean;
136
+ readonly isSelectedDate: boolean;
137
+ readonly labelText: string;
138
+ constructor(opts: CalendarCellStateOpts, root: CalendarRootState);
139
+ readonly snippetProps: {
136
140
  disabled: boolean;
137
141
  unavailable: boolean;
138
142
  selected: boolean;
139
143
  };
140
- ariaDisabled: boolean;
141
- sharedDataAttrs: {
144
+ readonly ariaDisabled: boolean;
145
+ readonly sharedDataAttrs: {
142
146
  readonly "data-unavailable": "" | undefined;
143
147
  readonly "data-today": "" | undefined;
144
148
  readonly "data-outside-month": "" | undefined;
@@ -149,7 +153,7 @@ declare class CalendarCellState {
149
153
  readonly "data-type": string;
150
154
  readonly "data-disabled": "" | undefined;
151
155
  };
152
- props: {
156
+ readonly props: {
153
157
  readonly "data-unavailable": "" | undefined;
154
158
  readonly "data-today": "" | undefined;
155
159
  readonly "data-outside-month": "" | undefined;
@@ -165,21 +169,23 @@ declare class CalendarCellState {
165
169
  readonly "aria-disabled": "true" | "false";
166
170
  };
167
171
  }
168
- type CalendarDayStateProps = WithRefProps;
169
- declare class CalendarDayState {
172
+ interface CalendarDayStateOpts extends WithRefOpts {
173
+ }
174
+ export declare class CalendarDayState {
170
175
  #private;
171
- readonly opts: CalendarDayStateProps;
176
+ static create(opts: CalendarDayStateOpts): CalendarDayState;
177
+ readonly opts: CalendarDayStateOpts;
172
178
  readonly cell: CalendarCellState;
173
- constructor(opts: CalendarDayStateProps, cell: CalendarCellState);
179
+ constructor(opts: CalendarDayStateOpts, cell: CalendarCellState);
174
180
  onclick(e: BitsMouseEvent): void;
175
- snippetProps: {
181
+ readonly snippetProps: {
176
182
  disabled: boolean;
177
183
  unavailable: boolean;
178
184
  selected: boolean;
179
185
  day: string;
180
186
  };
181
- props: {
182
- readonly tabindex: number | undefined;
187
+ readonly props: {
188
+ readonly tabindex: 0 | -1 | undefined;
183
189
  readonly "data-bits-day": "";
184
190
  readonly onclick: (e: BitsMouseEvent) => void;
185
191
  readonly "data-unavailable": "" | undefined;
@@ -197,14 +203,16 @@ declare class CalendarDayState {
197
203
  readonly "aria-disabled": "true" | "false";
198
204
  };
199
205
  }
200
- export type CalendarNextButtonStateProps = WithRefProps;
206
+ interface CalendarNextButtonStateOpts extends WithRefOpts {
207
+ }
201
208
  export declare class CalendarNextButtonState {
202
- readonly opts: CalendarNextButtonStateProps;
209
+ static create(opts: CalendarNextButtonStateOpts): CalendarNextButtonState;
210
+ readonly opts: CalendarNextButtonStateOpts;
203
211
  readonly root: CalendarRootState | RangeCalendarRootState;
204
- isDisabled: boolean;
205
- constructor(opts: CalendarNextButtonStateProps, root: CalendarRootState | RangeCalendarRootState);
212
+ readonly isDisabled: boolean;
213
+ constructor(opts: CalendarNextButtonStateOpts, root: CalendarRootState | RangeCalendarRootState);
206
214
  onclick(_: BitsMouseEvent): void;
207
- props: {
215
+ readonly props: {
208
216
  readonly id: string;
209
217
  readonly role: "button";
210
218
  readonly type: "button";
@@ -215,14 +223,16 @@ export declare class CalendarNextButtonState {
215
223
  readonly onclick: (_: BitsMouseEvent) => void;
216
224
  };
217
225
  }
218
- export type CalendarPrevButtonStateProps = WithRefProps;
226
+ interface CalendarPrevButtonStateOpts extends WithRefOpts {
227
+ }
219
228
  export declare class CalendarPrevButtonState {
220
- readonly opts: CalendarPrevButtonStateProps;
229
+ static create(opts: CalendarPrevButtonStateOpts): CalendarPrevButtonState;
230
+ readonly opts: CalendarPrevButtonStateOpts;
221
231
  readonly root: CalendarRootState | RangeCalendarRootState;
222
- isDisabled: boolean;
223
- constructor(opts: CalendarPrevButtonStateProps, root: CalendarRootState | RangeCalendarRootState);
232
+ readonly isDisabled: boolean;
233
+ constructor(opts: CalendarPrevButtonStateOpts, root: CalendarRootState | RangeCalendarRootState);
224
234
  onclick(_: BitsMouseEvent): void;
225
- props: {
235
+ readonly props: {
226
236
  readonly id: string;
227
237
  readonly role: "button";
228
238
  readonly type: "button";
@@ -233,12 +243,14 @@ export declare class CalendarPrevButtonState {
233
243
  readonly onclick: (_: BitsMouseEvent) => void;
234
244
  };
235
245
  }
236
- export type CalendarGridStateProps = WithRefProps;
246
+ interface CalendarGridStateOpts extends WithRefOpts {
247
+ }
237
248
  export declare class CalendarGridState {
238
- readonly opts: CalendarGridStateProps;
249
+ static create(opts: CalendarGridStateOpts): CalendarGridState;
250
+ readonly opts: CalendarGridStateOpts;
239
251
  readonly root: CalendarRootState | RangeCalendarRootState;
240
- constructor(opts: CalendarGridStateProps, root: CalendarRootState | RangeCalendarRootState);
241
- props: {
252
+ constructor(opts: CalendarGridStateOpts, root: CalendarRootState | RangeCalendarRootState);
253
+ readonly props: {
242
254
  readonly id: string;
243
255
  readonly tabindex: -1;
244
256
  readonly role: "grid";
@@ -248,70 +260,82 @@ export declare class CalendarGridState {
248
260
  readonly "data-disabled": "" | undefined;
249
261
  };
250
262
  }
251
- export type CalendarGridBodyStateProps = WithRefProps;
263
+ interface CalendarGridBodyStateOpts extends WithRefOpts {
264
+ }
252
265
  export declare class CalendarGridBodyState {
253
- readonly opts: CalendarGridBodyStateProps;
266
+ static create(opts: CalendarGridBodyStateOpts): CalendarGridBodyState;
267
+ readonly opts: CalendarGridBodyStateOpts;
254
268
  readonly root: CalendarRootState | RangeCalendarRootState;
255
- constructor(opts: CalendarGridBodyStateProps, root: CalendarRootState | RangeCalendarRootState);
256
- props: {
269
+ constructor(opts: CalendarGridBodyStateOpts, root: CalendarRootState | RangeCalendarRootState);
270
+ readonly props: {
257
271
  readonly id: string;
258
272
  readonly "data-disabled": "" | undefined;
259
273
  readonly "data-readonly": "" | undefined;
260
274
  };
261
275
  }
262
- export type CalendarGridHeadStateProps = WithRefProps;
276
+ interface CalendarGridHeadStateOpts extends WithRefOpts {
277
+ }
263
278
  export declare class CalendarGridHeadState {
264
- readonly opts: CalendarGridHeadStateProps;
279
+ static create(opts: CalendarGridHeadStateOpts): CalendarGridHeadState;
280
+ readonly opts: CalendarGridHeadStateOpts;
265
281
  readonly root: CalendarRootState | RangeCalendarRootState;
266
- constructor(opts: CalendarGridHeadStateProps, root: CalendarRootState | RangeCalendarRootState);
267
- props: {
282
+ constructor(opts: CalendarGridHeadStateOpts, root: CalendarRootState | RangeCalendarRootState);
283
+ readonly props: {
268
284
  readonly id: string;
269
285
  readonly "data-disabled": "" | undefined;
270
286
  readonly "data-readonly": "" | undefined;
271
287
  };
272
288
  }
273
- export type CalendarGridRowStateProps = WithRefProps;
289
+ interface CalendarGridRowStateOpts extends WithRefOpts {
290
+ }
274
291
  export declare class CalendarGridRowState {
275
- readonly opts: CalendarGridRowStateProps;
292
+ static create(opts: CalendarGridRowStateOpts): CalendarGridRowState;
293
+ readonly opts: CalendarGridRowStateOpts;
276
294
  readonly root: CalendarRootState | RangeCalendarRootState;
277
- constructor(opts: CalendarGridRowStateProps, root: CalendarRootState | RangeCalendarRootState);
278
- props: {
295
+ constructor(opts: CalendarGridRowStateOpts, root: CalendarRootState | RangeCalendarRootState);
296
+ readonly props: {
279
297
  readonly id: string;
280
298
  readonly "data-disabled": "" | undefined;
281
299
  readonly "data-readonly": "" | undefined;
282
300
  };
283
301
  }
284
- export type CalendarHeadCellStateProps = WithRefProps;
302
+ interface CalendarHeadCellStateOpts extends WithRefOpts {
303
+ }
285
304
  export declare class CalendarHeadCellState {
286
- readonly opts: CalendarHeadCellStateProps;
305
+ static create(opts: CalendarHeadCellStateOpts): CalendarHeadCellState;
306
+ readonly opts: CalendarHeadCellStateOpts;
287
307
  readonly root: CalendarRootState | RangeCalendarRootState;
288
- constructor(opts: CalendarHeadCellStateProps, root: CalendarRootState | RangeCalendarRootState);
289
- props: {
308
+ constructor(opts: CalendarHeadCellStateOpts, root: CalendarRootState | RangeCalendarRootState);
309
+ readonly props: {
290
310
  readonly id: string;
291
311
  readonly "data-disabled": "" | undefined;
292
312
  readonly "data-readonly": "" | undefined;
293
313
  };
294
314
  }
295
- export type CalendarHeaderStateProps = WithRefProps;
315
+ interface CalendarHeaderStateOpts extends WithRefOpts {
316
+ }
296
317
  export declare class CalendarHeaderState {
297
- readonly opts: CalendarHeaderStateProps;
318
+ static create(opts: CalendarHeaderStateOpts): CalendarHeaderState;
319
+ readonly opts: CalendarHeaderStateOpts;
298
320
  readonly root: CalendarRootState | RangeCalendarRootState;
299
- constructor(opts: CalendarHeaderStateProps, root: CalendarRootState | RangeCalendarRootState);
300
- props: {
321
+ constructor(opts: CalendarHeaderStateOpts, root: CalendarRootState | RangeCalendarRootState);
322
+ readonly props: {
301
323
  readonly id: string;
302
324
  readonly "data-disabled": "" | undefined;
303
325
  readonly "data-readonly": "" | undefined;
304
326
  };
305
327
  }
306
- export type CalendarMonthSelectStateProps = WithRefProps<ReadableBoxedValues<{
328
+ interface CalendarMonthSelectStateOpts extends WithRefOpts, ReadableBoxedValues<{
307
329
  months: number[];
308
330
  monthFormat: Intl.DateTimeFormatOptions["month"] | ((month: number) => string);
309
331
  disabled: boolean;
310
- }>>;
332
+ }> {
333
+ }
311
334
  export declare class CalendarMonthSelectState {
312
- readonly opts: CalendarMonthSelectStateProps;
335
+ static create(opts: CalendarMonthSelectStateOpts): CalendarMonthSelectState;
336
+ readonly opts: CalendarMonthSelectStateOpts;
313
337
  readonly root: CalendarRootState | RangeCalendarRootState;
314
- constructor(opts: CalendarMonthSelectStateProps, root: CalendarRootState | RangeCalendarRootState);
338
+ constructor(opts: CalendarMonthSelectStateOpts, root: CalendarRootState | RangeCalendarRootState);
315
339
  readonly monthItems: {
316
340
  value: number;
317
341
  label: string;
@@ -329,7 +353,7 @@ export declare class CalendarMonthSelectState {
329
353
  };
330
354
  };
331
355
  onchange(event: Event): void;
332
- props: {
356
+ readonly props: {
333
357
  readonly id: string;
334
358
  readonly value: number;
335
359
  readonly disabled: boolean;
@@ -337,15 +361,17 @@ export declare class CalendarMonthSelectState {
337
361
  readonly onchange: (event: Event) => void;
338
362
  };
339
363
  }
340
- export type CalendarYearSelectStateProps = WithRefProps<ReadableBoxedValues<{
364
+ interface CalendarYearSelectStateOpts extends WithRefOpts, ReadableBoxedValues<{
341
365
  years: number[] | undefined;
342
366
  yearFormat: Intl.DateTimeFormatOptions["year"] | ((year: number) => string);
343
367
  disabled: boolean;
344
- }>>;
368
+ }> {
369
+ }
345
370
  export declare class CalendarYearSelectState {
346
- readonly opts: CalendarYearSelectStateProps;
371
+ static create(opts: CalendarYearSelectStateOpts): CalendarYearSelectState;
372
+ readonly opts: CalendarYearSelectStateOpts;
347
373
  readonly root: CalendarRootState | RangeCalendarRootState;
348
- constructor(opts: CalendarYearSelectStateProps, root: CalendarRootState | RangeCalendarRootState);
374
+ constructor(opts: CalendarYearSelectStateOpts, root: CalendarRootState | RangeCalendarRootState);
349
375
  readonly years: number[];
350
376
  readonly yearItems: {
351
377
  value: number;
@@ -364,7 +390,7 @@ export declare class CalendarYearSelectState {
364
390
  };
365
391
  };
366
392
  onchange(event: Event): void;
367
- props: {
393
+ readonly props: {
368
394
  readonly id: string;
369
395
  readonly value: number;
370
396
  readonly disabled: boolean;
@@ -372,19 +398,4 @@ export declare class CalendarYearSelectState {
372
398
  readonly onchange: (event: Event) => void;
373
399
  };
374
400
  }
375
- export declare const CalendarRootContext: Context<RangeCalendarRootState | CalendarRootState>;
376
- export declare function useCalendarRoot(props: CalendarRootStateProps): RangeCalendarRootState | CalendarRootState;
377
- export declare function useCalendarGrid(props: CalendarGridStateProps): CalendarGridState;
378
- export declare function useCalendarCell(props: CalendarCellStateProps): CalendarCellState;
379
- export declare function useCalendarNextButton(props: CalendarNextButtonStateProps): CalendarNextButtonState;
380
- export declare function useCalendarPrevButton(props: CalendarPrevButtonStateProps): CalendarPrevButtonState;
381
- export declare function useCalendarDay(props: CalendarDayStateProps): CalendarDayState;
382
- export declare function useCalendarGridBody(props: CalendarGridBodyStateProps): CalendarGridBodyState;
383
- export declare function useCalendarGridHead(props: CalendarGridHeadStateProps): CalendarGridHeadState;
384
- export declare function useCalendarGridRow(props: CalendarGridRowStateProps): CalendarGridRowState;
385
- export declare function useCalendarHeadCell(props: CalendarHeadCellStateProps): CalendarHeadCellState;
386
- export declare function useCalendarHeader(props: CalendarHeaderStateProps): CalendarHeaderState;
387
- export declare function useCalendarHeading(props: CalendarHeadingStateProps): CalendarHeadingState;
388
- export declare function useCalendarMonthSelect(props: CalendarMonthSelectStateProps): CalendarMonthSelectState;
389
- export declare function useCalendarYearSelect(props: CalendarYearSelectStateProps): CalendarYearSelectState;
390
401
  export {};
@@ -1,7 +1,7 @@
1
1
  import { getLocalTimeZone, isSameDay, isSameMonth, isToday, } from "@internationalized/date";
2
2
  import { DEV } from "esm-env";
3
3
  import { onMount, untrack } from "svelte";
4
- import { attachRef, DOMContext } from "svelte-toolbelt";
4
+ import { attachRef, DOMContext, } from "svelte-toolbelt";
5
5
  import { Context, watch } from "runed";
6
6
  import { getAriaDisabled, getAriaHidden, getAriaReadonly, getAriaSelected, getDataDisabled, getDataReadonly, getDataSelected, getDataUnavailable, } from "../../internal/attrs.js";
7
7
  import { useId } from "../../internal/use-id.js";
@@ -9,14 +9,18 @@ import { getAnnouncer } from "../../internal/date-time/announcer.js";
9
9
  import { createFormatter } from "../../internal/date-time/formatter.js";
10
10
  import { calendarAttrs, createAccessibleHeading, createMonths, getCalendarElementProps, getCalendarHeadingValue, getDateWithPreviousTime, getDefaultYears, getIsNextButtonDisabled, getIsPrevButtonDisabled, getWeekdays, handleCalendarKeydown, handleCalendarNextPage, handleCalendarPrevPage, shiftCalendarFocus, useEnsureNonDisabledPlaceholder, useMonthViewOptionsSync, useMonthViewPlaceholderSync, } from "../../internal/date-time/calendar-helpers.svelte.js";
11
11
  import { getDateValueType, isBefore, toDate } from "../../internal/date-time/utils.js";
12
+ export const CalendarRootContext = new Context("Calendar.Root | RangeCalender.Root");
12
13
  export class CalendarRootState {
14
+ static create(opts) {
15
+ return CalendarRootContext.set(new CalendarRootState(opts));
16
+ }
13
17
  opts;
14
- months = $state([]);
15
18
  visibleMonths = $derived.by(() => this.months.map((month) => month.value));
16
- announcer;
17
19
  formatter;
18
20
  accessibleHeadingId = useId();
19
21
  domContext;
22
+ months = $state([]);
23
+ announcer;
20
24
  constructor(opts) {
21
25
  this.opts = opts;
22
26
  this.domContext = new DOMContext(opts.ref);
@@ -83,11 +87,11 @@ export class CalendarRootState {
83
87
  * Update the accessible heading's text content when the `fullCalendarLabel`
84
88
  * changes.
85
89
  */
86
- $effect(() => {
90
+ watch(() => this.fullCalendarLabel, (label) => {
87
91
  const node = this.domContext.getElementById(this.accessibleHeadingId);
88
92
  if (!node)
89
93
  return;
90
- node.textContent = this.fullCalendarLabel;
94
+ node.textContent = label;
91
95
  });
92
96
  /**
93
97
  * Synchronize the placeholder value with the current value.
@@ -416,9 +420,11 @@ export class CalendarRootState {
416
420
  }));
417
421
  }
418
422
  export class CalendarHeadingState {
423
+ static create(opts) {
424
+ return new CalendarHeadingState(opts, CalendarRootContext.get());
425
+ }
419
426
  opts;
420
427
  root;
421
- headingValue = $derived.by(() => this.root.headingValue);
422
428
  constructor(opts, root) {
423
429
  this.opts = opts;
424
430
  this.root = root;
@@ -432,7 +438,11 @@ export class CalendarHeadingState {
432
438
  ...attachRef(this.opts.ref),
433
439
  }));
434
440
  }
435
- class CalendarCellState {
441
+ const CalendarCellContext = new Context("Calendar.Cell | RangeCalendar.Cell");
442
+ export class CalendarCellState {
443
+ static create(opts) {
444
+ return CalendarCellContext.set(new CalendarCellState(opts, CalendarRootContext.get()));
445
+ }
436
446
  opts;
437
447
  root;
438
448
  cellDate = $derived.by(() => toDate(this.opts.date.current));
@@ -485,7 +495,10 @@ class CalendarCellState {
485
495
  ...attachRef(this.opts.ref),
486
496
  }));
487
497
  }
488
- class CalendarDayState {
498
+ export class CalendarDayState {
499
+ static create(opts) {
500
+ return new CalendarDayState(opts, CalendarCellContext.get());
501
+ }
489
502
  opts;
490
503
  cell;
491
504
  constructor(opts, cell) {
@@ -526,6 +539,9 @@ class CalendarDayState {
526
539
  }));
527
540
  }
528
541
  export class CalendarNextButtonState {
542
+ static create(opts) {
543
+ return new CalendarNextButtonState(opts, CalendarRootContext.get());
544
+ }
529
545
  opts;
530
546
  root;
531
547
  isDisabled = $derived.by(() => this.root.isNextButtonDisabled);
@@ -554,6 +570,9 @@ export class CalendarNextButtonState {
554
570
  }));
555
571
  }
556
572
  export class CalendarPrevButtonState {
573
+ static create(opts) {
574
+ return new CalendarPrevButtonState(opts, CalendarRootContext.get());
575
+ }
557
576
  opts;
558
577
  root;
559
578
  isDisabled = $derived.by(() => this.root.isPrevButtonDisabled);
@@ -582,6 +601,9 @@ export class CalendarPrevButtonState {
582
601
  }));
583
602
  }
584
603
  export class CalendarGridState {
604
+ static create(opts) {
605
+ return new CalendarGridState(opts, CalendarRootContext.get());
606
+ }
585
607
  opts;
586
608
  root;
587
609
  constructor(opts, root) {
@@ -601,6 +623,9 @@ export class CalendarGridState {
601
623
  }));
602
624
  }
603
625
  export class CalendarGridBodyState {
626
+ static create(opts) {
627
+ return new CalendarGridBodyState(opts, CalendarRootContext.get());
628
+ }
604
629
  opts;
605
630
  root;
606
631
  constructor(opts, root) {
@@ -616,6 +641,9 @@ export class CalendarGridBodyState {
616
641
  }));
617
642
  }
618
643
  export class CalendarGridHeadState {
644
+ static create(opts) {
645
+ return new CalendarGridHeadState(opts, CalendarRootContext.get());
646
+ }
619
647
  opts;
620
648
  root;
621
649
  constructor(opts, root) {
@@ -631,6 +659,9 @@ export class CalendarGridHeadState {
631
659
  }));
632
660
  }
633
661
  export class CalendarGridRowState {
662
+ static create(opts) {
663
+ return new CalendarGridRowState(opts, CalendarRootContext.get());
664
+ }
634
665
  opts;
635
666
  root;
636
667
  constructor(opts, root) {
@@ -646,6 +677,9 @@ export class CalendarGridRowState {
646
677
  }));
647
678
  }
648
679
  export class CalendarHeadCellState {
680
+ static create(opts) {
681
+ return new CalendarHeadCellState(opts, CalendarRootContext.get());
682
+ }
649
683
  opts;
650
684
  root;
651
685
  constructor(opts, root) {
@@ -661,6 +695,9 @@ export class CalendarHeadCellState {
661
695
  }));
662
696
  }
663
697
  export class CalendarHeaderState {
698
+ static create(opts) {
699
+ return new CalendarHeaderState(opts, CalendarRootContext.get());
700
+ }
664
701
  opts;
665
702
  root;
666
703
  constructor(opts, root) {
@@ -676,6 +713,9 @@ export class CalendarHeaderState {
676
713
  }));
677
714
  }
678
715
  export class CalendarMonthSelectState {
716
+ static create(opts) {
717
+ return new CalendarMonthSelectState(opts, CalendarRootContext.get());
718
+ }
679
719
  opts;
680
720
  root;
681
721
  constructor(opts, root) {
@@ -734,6 +774,9 @@ export class CalendarMonthSelectState {
734
774
  }));
735
775
  }
736
776
  export class CalendarYearSelectState {
777
+ static create(opts) {
778
+ return new CalendarYearSelectState(opts, CalendarRootContext.get());
779
+ }
737
780
  opts;
738
781
  root;
739
782
  constructor(opts, root) {
@@ -795,47 +838,3 @@ export class CalendarYearSelectState {
795
838
  ...attachRef(this.opts.ref),
796
839
  }));
797
840
  }
798
- export const CalendarRootContext = new Context("Calendar.Root | RangeCalender.Root");
799
- const CalendarCellContext = new Context("Calendar.Cell | RangeCalendar.Cell");
800
- export function useCalendarRoot(props) {
801
- return CalendarRootContext.set(new CalendarRootState(props));
802
- }
803
- export function useCalendarGrid(props) {
804
- return new CalendarGridState(props, CalendarRootContext.get());
805
- }
806
- export function useCalendarCell(props) {
807
- return CalendarCellContext.set(new CalendarCellState(props, CalendarRootContext.get()));
808
- }
809
- export function useCalendarNextButton(props) {
810
- return new CalendarNextButtonState(props, CalendarRootContext.get());
811
- }
812
- export function useCalendarPrevButton(props) {
813
- return new CalendarPrevButtonState(props, CalendarRootContext.get());
814
- }
815
- export function useCalendarDay(props) {
816
- return new CalendarDayState(props, CalendarCellContext.get());
817
- }
818
- export function useCalendarGridBody(props) {
819
- return new CalendarGridBodyState(props, CalendarRootContext.get());
820
- }
821
- export function useCalendarGridHead(props) {
822
- return new CalendarGridHeadState(props, CalendarRootContext.get());
823
- }
824
- export function useCalendarGridRow(props) {
825
- return new CalendarGridRowState(props, CalendarRootContext.get());
826
- }
827
- export function useCalendarHeadCell(props) {
828
- return new CalendarHeadCellState(props, CalendarRootContext.get());
829
- }
830
- export function useCalendarHeader(props) {
831
- return new CalendarHeaderState(props, CalendarRootContext.get());
832
- }
833
- export function useCalendarHeading(props) {
834
- return new CalendarHeadingState(props, CalendarRootContext.get());
835
- }
836
- export function useCalendarMonthSelect(props) {
837
- return new CalendarMonthSelectState(props, CalendarRootContext.get());
838
- }
839
- export function useCalendarYearSelect(props) {
840
- return new CalendarYearSelectState(props, CalendarRootContext.get());
841
- }
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { box, mergeProps } from "svelte-toolbelt";
3
- import { useCalendarCell } from "../calendar.svelte.js";
3
+ import { CalendarCellState } from "../calendar.svelte.js";
4
4
  import type { CalendarCellProps } from "../types.js";
5
5
  import { createId } from "../../../internal/create-id.js";
6
6
 
@@ -16,7 +16,7 @@
16
16
  ...restProps
17
17
  }: CalendarCellProps = $props();
18
18
 
19
- const cellState = useCalendarCell({
19
+ const cellState = CalendarCellState.create({
20
20
  id: box.with(() => id),
21
21
  ref: box.with(
22
22
  () => ref,
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { box, mergeProps } from "svelte-toolbelt";
3
- import { useCalendarDay } from "../calendar.svelte.js";
3
+ import { CalendarDayState } from "../calendar.svelte.js";
4
4
  import type { CalendarDayProps } from "../types.js";
5
5
  import { createId } from "../../../internal/create-id.js";
6
6
 
@@ -14,7 +14,7 @@
14
14
  ...restProps
15
15
  }: CalendarDayProps = $props();
16
16
 
17
- const dayState = useCalendarDay({
17
+ const dayState = CalendarDayState.create({
18
18
  id: box.with(() => id),
19
19
  ref: box.with(
20
20
  () => ref,