bits-ui 1.8.0 → 2.2.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 (317) hide show
  1. package/dist/bits/accordion/accordion.svelte.d.ts +56 -53
  2. package/dist/bits/accordion/accordion.svelte.js +78 -89
  3. package/dist/bits/accordion/components/accordion-content.svelte +5 -3
  4. package/dist/bits/accordion/components/accordion-header.svelte +4 -2
  5. package/dist/bits/accordion/components/accordion-item.svelte +6 -3
  6. package/dist/bits/accordion/components/accordion-trigger.svelte +4 -2
  7. package/dist/bits/accordion/components/accordion.svelte +4 -2
  8. package/dist/bits/alert-dialog/components/alert-dialog-action.svelte +4 -2
  9. package/dist/bits/alert-dialog/components/alert-dialog-cancel.svelte +4 -2
  10. package/dist/bits/alert-dialog/components/alert-dialog-content.svelte +8 -3
  11. package/dist/bits/aspect-ratio/aspect-ratio.svelte.js +2 -2
  12. package/dist/bits/aspect-ratio/components/aspect-ratio.svelte +4 -2
  13. package/dist/bits/avatar/avatar.svelte.d.ts +2 -1
  14. package/dist/bits/avatar/avatar.svelte.js +8 -6
  15. package/dist/bits/avatar/components/avatar-fallback.svelte +4 -2
  16. package/dist/bits/avatar/components/avatar-image.svelte +4 -2
  17. package/dist/bits/avatar/components/avatar.svelte +4 -2
  18. package/dist/bits/button/components/button.svelte +1 -1
  19. package/dist/bits/calendar/calendar.svelte.d.ts +3 -9
  20. package/dist/bits/calendar/calendar.svelte.js +55 -41
  21. package/dist/bits/calendar/components/calendar-cell.svelte +4 -2
  22. package/dist/bits/calendar/components/calendar-day.svelte +4 -2
  23. package/dist/bits/calendar/components/calendar-grid-body.svelte +4 -2
  24. package/dist/bits/calendar/components/calendar-grid-head.svelte +4 -2
  25. package/dist/bits/calendar/components/calendar-grid-row.svelte +4 -2
  26. package/dist/bits/calendar/components/calendar-grid.svelte +4 -2
  27. package/dist/bits/calendar/components/calendar-head-cell.svelte +4 -2
  28. package/dist/bits/calendar/components/calendar-header.svelte +4 -2
  29. package/dist/bits/calendar/components/calendar-heading.svelte +4 -2
  30. package/dist/bits/calendar/components/calendar-next-button.svelte +4 -2
  31. package/dist/bits/calendar/components/calendar-prev-button.svelte +4 -2
  32. package/dist/bits/checkbox/checkbox.svelte.js +4 -14
  33. package/dist/bits/checkbox/components/checkbox-group-label.svelte +4 -2
  34. package/dist/bits/checkbox/components/checkbox-group.svelte +4 -2
  35. package/dist/bits/checkbox/components/checkbox.svelte +4 -2
  36. package/dist/bits/collapsible/collapsible.svelte.js +4 -10
  37. package/dist/bits/collapsible/components/collapsible-content.svelte +5 -3
  38. package/dist/bits/collapsible/components/collapsible-trigger.svelte +4 -2
  39. package/dist/bits/collapsible/components/collapsible.svelte +4 -2
  40. package/dist/bits/combobox/components/combobox-input.svelte +3 -3
  41. package/dist/bits/combobox/components/combobox.svelte +6 -1
  42. package/dist/bits/combobox/types.d.ts +18 -1
  43. package/dist/bits/command/command.svelte.js +13 -45
  44. package/dist/bits/command/components/_command-label.svelte +6 -7
  45. package/dist/bits/command/components/_command-label.svelte.d.ts +1 -1
  46. package/dist/bits/command/components/command-empty.svelte +4 -2
  47. package/dist/bits/command/components/command-group-heading.svelte +4 -2
  48. package/dist/bits/command/components/command-group-items.svelte +4 -2
  49. package/dist/bits/command/components/command-group.svelte +4 -2
  50. package/dist/bits/command/components/command-input.svelte +4 -2
  51. package/dist/bits/command/components/command-item.svelte +4 -2
  52. package/dist/bits/command/components/command-link-item.svelte +4 -2
  53. package/dist/bits/command/components/command-list.svelte +4 -2
  54. package/dist/bits/command/components/command-loading.svelte +4 -2
  55. package/dist/bits/command/components/command-separator.svelte +4 -2
  56. package/dist/bits/command/components/command-viewport.svelte +4 -2
  57. package/dist/bits/command/components/command.svelte +4 -2
  58. package/dist/bits/context-menu/components/context-menu-content-static.svelte +2 -3
  59. package/dist/bits/context-menu/components/context-menu-content.svelte +2 -3
  60. package/dist/bits/context-menu/components/context-menu-trigger.svelte +1 -1
  61. package/dist/bits/date-field/components/date-field-input.svelte +4 -2
  62. package/dist/bits/date-field/components/date-field-label.svelte +4 -2
  63. package/dist/bits/date-field/components/date-field-segment.svelte +4 -2
  64. package/dist/bits/date-field/date-field.svelte.d.ts +7 -5
  65. package/dist/bits/date-field/date-field.svelte.js +29 -38
  66. package/dist/bits/date-picker/components/date-picker-calendar.svelte +4 -2
  67. package/dist/bits/date-range-field/components/date-range-field-input.svelte +4 -2
  68. package/dist/bits/date-range-field/components/date-range-field-label.svelte +4 -2
  69. package/dist/bits/date-range-field/components/date-range-field.svelte +4 -2
  70. package/dist/bits/date-range-field/date-range-field.svelte.d.ts +2 -0
  71. package/dist/bits/date-range-field/date-range-field.svelte.js +6 -14
  72. package/dist/bits/date-range-picker/components/date-range-picker-calendar.svelte +4 -2
  73. package/dist/bits/dialog/components/dialog-close.svelte +4 -2
  74. package/dist/bits/dialog/components/dialog-content.svelte +8 -2
  75. package/dist/bits/dialog/components/dialog-description.svelte +4 -2
  76. package/dist/bits/dialog/components/dialog-overlay.svelte +8 -3
  77. package/dist/bits/dialog/components/dialog-title.svelte +4 -2
  78. package/dist/bits/dialog/components/dialog-trigger.svelte +4 -2
  79. package/dist/bits/dialog/dialog.svelte.d.ts +1 -1
  80. package/dist/bits/dialog/dialog.svelte.js +19 -47
  81. package/dist/bits/dropdown-menu/components/dropdown-menu-content-static.svelte +6 -5
  82. package/dist/bits/dropdown-menu/components/dropdown-menu-content.svelte +6 -5
  83. package/dist/bits/index.d.ts +2 -0
  84. package/dist/bits/index.js +2 -0
  85. package/dist/bits/label/components/label.svelte +4 -2
  86. package/dist/bits/label/label.svelte.js +2 -2
  87. package/dist/bits/link-preview/components/link-preview-content-static.svelte +6 -2
  88. package/dist/bits/link-preview/components/link-preview-content.svelte +6 -2
  89. package/dist/bits/link-preview/components/link-preview-trigger.svelte +5 -3
  90. package/dist/bits/link-preview/link-preview.svelte.d.ts +2 -0
  91. package/dist/bits/link-preview/link-preview.svelte.js +13 -19
  92. package/dist/bits/menu/components/menu-checkbox-group.svelte +4 -2
  93. package/dist/bits/menu/components/menu-checkbox-item.svelte +6 -4
  94. package/dist/bits/menu/components/menu-content-static.svelte +6 -5
  95. package/dist/bits/menu/components/menu-content.svelte +6 -5
  96. package/dist/bits/menu/components/menu-group-heading.svelte +4 -2
  97. package/dist/bits/menu/components/menu-group.svelte +4 -2
  98. package/dist/bits/menu/components/menu-item.svelte +4 -2
  99. package/dist/bits/menu/components/menu-radio-group.svelte +4 -2
  100. package/dist/bits/menu/components/menu-radio-item.svelte +4 -2
  101. package/dist/bits/menu/components/menu-separator.svelte +4 -2
  102. package/dist/bits/menu/components/menu-sub-content-static.svelte +6 -5
  103. package/dist/bits/menu/components/menu-sub-content.svelte +6 -5
  104. package/dist/bits/menu/components/menu-sub-trigger.svelte +6 -3
  105. package/dist/bits/menu/components/menu-trigger.svelte +5 -3
  106. package/dist/bits/menu/menu.svelte.d.ts +9 -20
  107. package/dist/bits/menu/menu.svelte.js +40 -63
  108. package/dist/bits/menubar/components/menubar-content-static.svelte +4 -2
  109. package/dist/bits/menubar/components/menubar-content.svelte +4 -2
  110. package/dist/bits/menubar/components/menubar-menu.svelte +4 -2
  111. package/dist/bits/menubar/components/menubar-trigger.svelte +14 -6
  112. package/dist/bits/menubar/components/menubar.svelte +4 -2
  113. package/dist/bits/menubar/menubar.svelte.d.ts +24 -20
  114. package/dist/bits/menubar/menubar.svelte.js +40 -56
  115. package/dist/bits/meter/components/meter.svelte +4 -2
  116. package/dist/bits/meter/meter.svelte.js +2 -2
  117. package/dist/bits/navigation-menu/components/navigation-menu-content-impl.svelte +5 -2
  118. package/dist/bits/navigation-menu/components/navigation-menu-content.svelte +8 -3
  119. package/dist/bits/navigation-menu/components/navigation-menu-indicator-impl.svelte +4 -2
  120. package/dist/bits/navigation-menu/components/navigation-menu-indicator.svelte +6 -4
  121. package/dist/bits/navigation-menu/components/navigation-menu-item.svelte +6 -3
  122. package/dist/bits/navigation-menu/components/navigation-menu-link.svelte +4 -2
  123. package/dist/bits/navigation-menu/components/navigation-menu-list.svelte +4 -2
  124. package/dist/bits/navigation-menu/components/navigation-menu-sub.svelte +4 -2
  125. package/dist/bits/navigation-menu/components/navigation-menu-trigger.svelte +4 -2
  126. package/dist/bits/navigation-menu/components/navigation-menu-viewport.svelte +5 -3
  127. package/dist/bits/navigation-menu/components/navigation-menu.svelte +4 -2
  128. package/dist/bits/navigation-menu/navigation-menu.svelte.d.ts +3 -1
  129. package/dist/bits/navigation-menu/navigation-menu.svelte.js +33 -60
  130. package/dist/bits/pagination/components/pagination-next-button.svelte +4 -2
  131. package/dist/bits/pagination/components/pagination-page.svelte +4 -2
  132. package/dist/bits/pagination/components/pagination-prev-button.svelte +4 -2
  133. package/dist/bits/pagination/components/pagination.svelte +4 -2
  134. package/dist/bits/pagination/pagination.svelte.js +4 -4
  135. package/dist/bits/pin-input/components/pin-input-cell.svelte +4 -2
  136. package/dist/bits/pin-input/components/pin-input.svelte +5 -3
  137. package/dist/bits/pin-input/pin-input.svelte.d.ts +4 -2
  138. package/dist/bits/pin-input/pin-input.svelte.js +20 -22
  139. package/dist/bits/pin-input/usePasswordManager.svelte.d.ts +3 -2
  140. package/dist/bits/pin-input/usePasswordManager.svelte.js +6 -5
  141. package/dist/bits/popover/components/popover-close.svelte +4 -2
  142. package/dist/bits/popover/components/popover-content-static.svelte +6 -2
  143. package/dist/bits/popover/components/popover-content.svelte +6 -2
  144. package/dist/bits/popover/components/popover-trigger.svelte +5 -3
  145. package/dist/bits/popover/popover.svelte.js +4 -18
  146. package/dist/bits/progress/components/progress.svelte +4 -2
  147. package/dist/bits/progress/progress.svelte.js +2 -2
  148. package/dist/bits/radio-group/components/radio-group-item.svelte +4 -2
  149. package/dist/bits/radio-group/components/radio-group.svelte +4 -2
  150. package/dist/bits/radio-group/radio-group.svelte.js +4 -7
  151. package/dist/bits/range-calendar/components/range-calendar-cell.svelte +4 -2
  152. package/dist/bits/range-calendar/components/range-calendar-day.svelte +4 -2
  153. package/dist/bits/range-calendar/components/range-calendar.svelte +4 -2
  154. package/dist/bits/range-calendar/range-calendar.svelte.d.ts +2 -0
  155. package/dist/bits/range-calendar/range-calendar.svelte.js +12 -6
  156. package/dist/bits/scroll-area/components/scroll-area-corner.svelte +8 -2
  157. package/dist/bits/scroll-area/components/scroll-area-scrollbar-auto.svelte +4 -1
  158. package/dist/bits/scroll-area/components/scroll-area-scrollbar-hover.svelte +1 -1
  159. package/dist/bits/scroll-area/components/scroll-area-scrollbar-scroll.svelte +5 -1
  160. package/dist/bits/scroll-area/components/scroll-area-scrollbar.svelte +4 -2
  161. package/dist/bits/scroll-area/components/scroll-area-thumb.svelte +8 -3
  162. package/dist/bits/scroll-area/components/scroll-area-viewport.svelte +4 -2
  163. package/dist/bits/scroll-area/components/scroll-area.svelte +4 -2
  164. package/dist/bits/scroll-area/scroll-area.svelte.d.ts +2 -0
  165. package/dist/bits/scroll-area/scroll-area.svelte.js +27 -58
  166. package/dist/bits/select/components/select-content-static.svelte +6 -2
  167. package/dist/bits/select/components/select-content.svelte +6 -2
  168. package/dist/bits/select/components/select-group-heading.svelte +3 -2
  169. package/dist/bits/select/components/select-group.svelte +4 -2
  170. package/dist/bits/select/components/select-item.svelte +4 -2
  171. package/dist/bits/select/components/select-scroll-down-button.svelte +4 -2
  172. package/dist/bits/select/components/select-scroll-up-button.svelte +4 -2
  173. package/dist/bits/select/components/select-trigger.svelte +5 -3
  174. package/dist/bits/select/components/select-viewport.svelte +4 -2
  175. package/dist/bits/select/components/select.svelte +7 -1
  176. package/dist/bits/select/select.svelte.d.ts +5 -19
  177. package/dist/bits/select/select.svelte.js +43 -60
  178. package/dist/bits/separator/components/separator.svelte +4 -2
  179. package/dist/bits/separator/separator.svelte.js +2 -2
  180. package/dist/bits/slider/components/slider-range.svelte +4 -2
  181. package/dist/bits/slider/components/slider-thumb-label.svelte +50 -0
  182. package/dist/bits/slider/components/slider-thumb-label.svelte.d.ts +4 -0
  183. package/dist/bits/slider/components/slider-thumb.svelte +4 -2
  184. package/dist/bits/slider/components/slider-tick-label.svelte +50 -0
  185. package/dist/bits/slider/components/slider-tick-label.svelte.d.ts +4 -0
  186. package/dist/bits/slider/components/slider-tick.svelte +4 -2
  187. package/dist/bits/slider/components/slider.svelte +24 -5
  188. package/dist/bits/slider/exports.d.ts +3 -1
  189. package/dist/bits/slider/exports.js +2 -0
  190. package/dist/bits/slider/helpers.d.ts +14 -0
  191. package/dist/bits/slider/helpers.js +122 -0
  192. package/dist/bits/slider/slider.svelte.d.ts +91 -5
  193. package/dist/bits/slider/slider.svelte.js +194 -101
  194. package/dist/bits/slider/types.d.ts +105 -11
  195. package/dist/bits/switch/components/switch-thumb.svelte +4 -2
  196. package/dist/bits/switch/components/switch.svelte +4 -2
  197. package/dist/bits/switch/switch.svelte.js +3 -3
  198. package/dist/bits/tabs/components/tabs-content.svelte +4 -2
  199. package/dist/bits/tabs/components/tabs-list.svelte +4 -2
  200. package/dist/bits/tabs/components/tabs-trigger.svelte +4 -2
  201. package/dist/bits/tabs/components/tabs.svelte +4 -2
  202. package/dist/bits/tabs/tabs.svelte.js +6 -6
  203. package/dist/bits/time-field/components/time-field-hidden-input.svelte +10 -0
  204. package/dist/bits/{date-field/components/date-field-error.svelte.d.ts → time-field/components/time-field-hidden-input.svelte.d.ts} +6 -14
  205. package/dist/bits/time-field/components/time-field-input.svelte +39 -0
  206. package/dist/bits/time-field/components/time-field-input.svelte.d.ts +4 -0
  207. package/dist/bits/time-field/components/time-field-label.svelte +34 -0
  208. package/dist/bits/time-field/components/time-field-label.svelte.d.ts +4 -0
  209. package/dist/bits/time-field/components/time-field-segment.svelte +37 -0
  210. package/dist/bits/time-field/components/time-field-segment.svelte.d.ts +4 -0
  211. package/dist/bits/time-field/components/time-field.svelte +94 -0
  212. package/dist/bits/time-field/components/time-field.svelte.d.ts +20 -0
  213. package/dist/bits/time-field/exports.d.ts +5 -0
  214. package/dist/bits/time-field/exports.js +4 -0
  215. package/dist/bits/time-field/index.d.ts +1 -0
  216. package/dist/bits/time-field/index.js +1 -0
  217. package/dist/bits/time-field/time-field.svelte.d.ts +417 -0
  218. package/dist/bits/time-field/time-field.svelte.js +980 -0
  219. package/dist/bits/time-field/types.d.ts +137 -0
  220. package/dist/bits/time-field/types.js +1 -0
  221. package/dist/bits/time-range-field/components/time-range-field-input.svelte +43 -0
  222. package/dist/bits/time-range-field/components/time-range-field-input.svelte.d.ts +4 -0
  223. package/dist/bits/time-range-field/components/time-range-field-label.svelte +34 -0
  224. package/dist/bits/time-range-field/components/time-range-field-label.svelte.d.ts +4 -0
  225. package/dist/bits/time-range-field/components/time-range-field.svelte +144 -0
  226. package/dist/bits/time-range-field/components/time-range-field.svelte.d.ts +20 -0
  227. package/dist/bits/time-range-field/exports.d.ts +5 -0
  228. package/dist/bits/time-range-field/exports.js +4 -0
  229. package/dist/bits/time-range-field/index.d.ts +1 -0
  230. package/dist/bits/time-range-field/index.js +1 -0
  231. package/dist/bits/time-range-field/time-range-field.svelte.d.ts +92 -0
  232. package/dist/bits/time-range-field/time-range-field.svelte.js +212 -0
  233. package/dist/bits/time-range-field/types.d.ts +150 -0
  234. package/dist/bits/time-range-field/types.js +1 -0
  235. package/dist/bits/toggle/components/toggle.svelte +4 -2
  236. package/dist/bits/toggle/toggle.svelte.js +2 -2
  237. package/dist/bits/toggle-group/components/toggle-group-item.svelte +4 -2
  238. package/dist/bits/toggle-group/components/toggle-group.svelte +4 -2
  239. package/dist/bits/toggle-group/toggle-group.svelte.js +4 -4
  240. package/dist/bits/toolbar/components/toolbar-button.svelte +4 -2
  241. package/dist/bits/toolbar/components/toolbar-group-item.svelte +4 -2
  242. package/dist/bits/toolbar/components/toolbar-group.svelte +4 -2
  243. package/dist/bits/toolbar/components/toolbar-link.svelte +4 -2
  244. package/dist/bits/toolbar/components/toolbar.svelte +4 -2
  245. package/dist/bits/toolbar/toolbar.svelte.js +7 -7
  246. package/dist/bits/tooltip/components/tooltip-content-static.svelte +6 -2
  247. package/dist/bits/tooltip/components/tooltip-content.svelte +6 -2
  248. package/dist/bits/tooltip/components/tooltip-trigger.svelte +5 -3
  249. package/dist/bits/tooltip/tooltip.svelte.d.ts +2 -0
  250. package/dist/bits/tooltip/tooltip.svelte.js +6 -15
  251. package/dist/bits/utilities/dismissible-layer/dismissible-layer.svelte +2 -0
  252. package/dist/bits/utilities/dismissible-layer/types.d.ts +2 -0
  253. package/dist/bits/utilities/dismissible-layer/use-dismissable-layer.svelte.d.ts +3 -3
  254. package/dist/bits/utilities/dismissible-layer/use-dismissable-layer.svelte.js +16 -25
  255. package/dist/bits/utilities/floating-layer/components/floating-layer-anchor.svelte +2 -1
  256. package/dist/bits/utilities/floating-layer/types.d.ts +1 -0
  257. package/dist/bits/utilities/floating-layer/use-floating-layer.svelte.d.ts +3 -2
  258. package/dist/bits/utilities/floating-layer/use-floating-layer.svelte.js +7 -27
  259. package/dist/bits/utilities/focus-scope/focus-scope.svelte +2 -0
  260. package/dist/bits/utilities/focus-scope/types.d.ts +2 -0
  261. package/dist/bits/utilities/focus-scope/use-focus-scope.svelte.d.ts +2 -1
  262. package/dist/bits/utilities/focus-scope/use-focus-scope.svelte.js +15 -16
  263. package/dist/bits/utilities/popper-layer/popper-layer-inner.svelte +4 -0
  264. package/dist/bits/utilities/popper-layer/popper-layer.svelte +3 -1
  265. package/dist/bits/utilities/portal/types.d.ts +1 -1
  266. package/dist/bits/utilities/presence-layer/presence-layer.svelte +2 -2
  267. package/dist/bits/utilities/presence-layer/types.d.ts +2 -1
  268. package/dist/bits/utilities/presence-layer/use-presence.svelte.d.ts +1 -1
  269. package/dist/bits/utilities/presence-layer/use-presence.svelte.js +19 -36
  270. package/dist/bits/utilities/text-selection-layer/text-selection-layer.svelte +2 -0
  271. package/dist/bits/utilities/text-selection-layer/types.d.ts +2 -0
  272. package/dist/bits/utilities/text-selection-layer/use-text-selection-layer.svelte.d.ts +5 -1
  273. package/dist/bits/utilities/text-selection-layer/use-text-selection-layer.svelte.js +8 -14
  274. package/dist/index.d.ts +1 -1
  275. package/dist/index.js +1 -1
  276. package/dist/internal/box-auto-reset.svelte.d.ts +7 -1
  277. package/dist/internal/box-auto-reset.svelte.js +11 -6
  278. package/dist/internal/create-id.d.ts +8 -0
  279. package/dist/internal/create-id.js +5 -0
  280. package/dist/internal/date-time/announcer.d.ts +1 -1
  281. package/dist/internal/date-time/announcer.js +20 -20
  282. package/dist/internal/date-time/calendar-helpers.svelte.js +7 -5
  283. package/dist/internal/date-time/field/helpers.d.ts +9 -2
  284. package/dist/internal/date-time/field/helpers.js +16 -9
  285. package/dist/internal/date-time/field/parts.d.ts +3 -1
  286. package/dist/internal/date-time/field/parts.js +10 -2
  287. package/dist/internal/date-time/field/segments.d.ts +9 -0
  288. package/dist/internal/date-time/field/segments.js +65 -0
  289. package/dist/internal/date-time/field/time-helpers.d.ts +83 -0
  290. package/dist/internal/date-time/field/time-helpers.js +301 -0
  291. package/dist/internal/date-time/field/types.d.ts +2 -2
  292. package/dist/internal/date-time/formatter.d.ts +11 -1
  293. package/dist/internal/date-time/formatter.js +56 -0
  294. package/dist/internal/date-time/utils.d.ts +7 -2
  295. package/dist/internal/date-time/utils.js +15 -1
  296. package/dist/internal/dom.d.ts +0 -1
  297. package/dist/internal/dom.js +0 -3
  298. package/dist/internal/focus.d.ts +2 -2
  299. package/dist/internal/focus.js +14 -9
  300. package/dist/internal/math.d.ts +0 -4
  301. package/dist/internal/math.js +0 -28
  302. package/dist/internal/tabbable.d.ts +0 -2
  303. package/dist/internal/tabbable.js +10 -14
  304. package/dist/internal/use-data-typeahead.svelte.d.ts +1 -0
  305. package/dist/internal/use-data-typeahead.svelte.js +4 -1
  306. package/dist/internal/use-dom-typeahead.svelte.d.ts +3 -1
  307. package/dist/internal/use-dom-typeahead.svelte.js +5 -2
  308. package/dist/internal/use-grace-area.svelte.js +9 -5
  309. package/dist/internal/use-roving-focus.svelte.d.ts +3 -3
  310. package/dist/internal/use-roving-focus.svelte.js +10 -11
  311. package/dist/shared/date/types.d.ts +27 -4
  312. package/dist/shared/index.d.ts +2 -2
  313. package/dist/types.d.ts +2 -0
  314. package/package.json +18 -16
  315. package/dist/bits/date-field/components/date-field-error.svelte +0 -0
  316. package/dist/internal/use-size.svelte.d.ts +0 -7
  317. package/dist/internal/use-size.svelte.js +0 -54
@@ -1,4 +1,4 @@
1
- import { afterSleep, onDestroyEffect, useRefById } from "svelte-toolbelt";
1
+ import { afterSleep, onDestroyEffect, attachRef, DOMContext } from "svelte-toolbelt";
2
2
  import { Context, watch } from "runed";
3
3
  import { on } from "svelte/events";
4
4
  import { getAriaExpanded, getDataOpenClosed } from "../../internal/attrs.js";
@@ -17,6 +17,7 @@ class LinkPreviewRootState {
17
17
  contentMounted = $state(false);
18
18
  triggerNode = $state(null);
19
19
  isOpening = false;
20
+ domContext = new DOMContext(() => null);
20
21
  constructor(opts) {
21
22
  this.opts = opts;
22
23
  watch(() => this.opts.open.current, (isOpen) => {
@@ -24,11 +25,13 @@ class LinkPreviewRootState {
24
25
  this.hasSelection = false;
25
26
  return;
26
27
  }
28
+ if (!this.domContext)
29
+ return;
27
30
  const handlePointerUp = () => {
28
31
  this.containsSelection = false;
29
32
  this.isPointerDownOnContent = false;
30
33
  afterSleep(1, () => {
31
- const isSelection = document.getSelection()?.toString() !== "";
34
+ const isSelection = this.domContext.getDocument().getSelection()?.toString() !== "";
32
35
  if (isSelection) {
33
36
  this.hasSelection = true;
34
37
  }
@@ -37,7 +40,7 @@ class LinkPreviewRootState {
37
40
  }
38
41
  });
39
42
  };
40
- const unsubListener = on(document, "pointerup", handlePointerUp);
43
+ const unsubListener = on(this.domContext.getDocument(), "pointerup", handlePointerUp);
41
44
  if (!this.contentNode)
42
45
  return;
43
46
  const tabCandidates = getTabbableCandidates(this.contentNode);
@@ -53,7 +56,7 @@ class LinkPreviewRootState {
53
56
  }
54
57
  clearTimeout() {
55
58
  if (this.timeout) {
56
- window.clearTimeout(this.timeout);
59
+ this.domContext.clearTimeout(this.timeout);
57
60
  this.timeout = null;
58
61
  }
59
62
  }
@@ -62,7 +65,7 @@ class LinkPreviewRootState {
62
65
  if (this.opts.open.current)
63
66
  return;
64
67
  this.isOpening = true;
65
- this.timeout = window.setTimeout(() => {
68
+ this.timeout = this.domContext.setTimeout(() => {
66
69
  if (this.isOpening) {
67
70
  this.opts.open.current = true;
68
71
  this.isOpening = false;
@@ -78,7 +81,7 @@ class LinkPreviewRootState {
78
81
  this.isOpening = false;
79
82
  this.clearTimeout();
80
83
  if (!this.isPointerDownOnContent && !this.hasSelection) {
81
- this.timeout = window.setTimeout(() => {
84
+ this.timeout = this.domContext.setTimeout(() => {
82
85
  this.opts.open.current = false;
83
86
  }, this.opts.closeDelay.current);
84
87
  }
@@ -90,16 +93,11 @@ class LinkPreviewTriggerState {
90
93
  constructor(opts, root) {
91
94
  this.opts = opts;
92
95
  this.root = root;
96
+ this.root.domContext = new DOMContext(opts.ref);
93
97
  this.onpointerenter = this.onpointerenter.bind(this);
94
98
  this.onpointerleave = this.onpointerleave.bind(this);
95
99
  this.onfocus = this.onfocus.bind(this);
96
100
  this.onblur = this.onblur.bind(this);
97
- useRefById({
98
- ...opts,
99
- onRefChange: (node) => {
100
- this.root.triggerNode = node;
101
- },
102
- });
103
101
  }
104
102
  onpointerenter(e) {
105
103
  if (isTouch(e))
@@ -133,6 +131,7 @@ class LinkPreviewTriggerState {
133
131
  onfocus: this.onfocus,
134
132
  onblur: this.onblur,
135
133
  onpointerleave: this.onpointerleave,
134
+ ...attachRef(this.opts.ref, (v) => (this.root.triggerNode = v)),
136
135
  }));
137
136
  }
138
137
  class LinkPreviewContentState {
@@ -141,16 +140,10 @@ class LinkPreviewContentState {
141
140
  constructor(opts, root) {
142
141
  this.opts = opts;
143
142
  this.root = root;
143
+ this.root.domContext = new DOMContext(opts.ref);
144
144
  this.onpointerdown = this.onpointerdown.bind(this);
145
145
  this.onpointerenter = this.onpointerenter.bind(this);
146
146
  this.onfocusout = this.onfocusout.bind(this);
147
- useRefById({
148
- ...opts,
149
- onRefChange: (node) => {
150
- this.root.contentNode = node;
151
- },
152
- deps: () => this.root.opts.open.current,
153
- });
154
147
  useGraceArea({
155
148
  triggerNode: () => this.root.triggerNode,
156
149
  contentNode: () => this.opts.ref.current,
@@ -208,6 +201,7 @@ class LinkPreviewContentState {
208
201
  onpointerdown: this.onpointerdown,
209
202
  onpointerenter: this.onpointerenter,
210
203
  onfocusout: this.onfocusout,
204
+ ...attachRef(this.opts.ref, (v) => (this.root.contentNode = v)),
211
205
  }));
212
206
  popperProps = {
213
207
  onInteractOutside: this.onInteractOutside,
@@ -3,10 +3,12 @@
3
3
  import type { MenuCheckboxGroupProps } from "../types.js";
4
4
  import { useMenuCheckboxGroup } from "../menu.svelte.js";
5
5
  import { noop } from "../../../internal/noop.js";
6
- import { useId } from "../../../internal/use-id.js";
6
+ import { createId } from "../../../internal/create-id.js";
7
+
8
+ const uid = $props.id();
7
9
 
8
10
  let {
9
- id = useId(),
11
+ id = createId(uid),
10
12
  children,
11
13
  child,
12
14
  ref = $bindable(null),
@@ -2,16 +2,18 @@
2
2
  import { box, mergeProps } from "svelte-toolbelt";
3
3
  import type { MenuCheckboxItemProps } from "../types.js";
4
4
  import { MenuCheckboxGroupContext, useMenuCheckboxItem } from "../menu.svelte.js";
5
- import { useId } from "../../../internal/use-id.js";
5
+ import { createId } from "../../../internal/create-id.js";
6
6
  import { noop } from "../../../internal/noop.js";
7
7
  import { watch } from "runed";
8
8
 
9
+ const uid = $props.id();
10
+
9
11
  let {
10
12
  child,
11
13
  children,
12
14
  ref = $bindable(null),
13
15
  checked = $bindable(false),
14
- id = useId(),
16
+ id = createId(uid),
15
17
  onCheckedChange = noop,
16
18
  disabled = false,
17
19
  onSelect = noop,
@@ -84,9 +86,9 @@
84
86
  </script>
85
87
 
86
88
  {#if child}
87
- {@render child({ props: mergedProps, ...checkboxItemState.snippetProps })}
89
+ {@render child({ checked, indeterminate, props: mergedProps })}
88
90
  {:else}
89
91
  <div {...mergedProps}>
90
- {@render children?.(checkboxItemState.snippetProps)}
92
+ {@render children?.({ checked, indeterminate })}
91
93
  </div>
92
94
  {/if}
@@ -2,15 +2,16 @@
2
2
  import { box, mergeProps } from "svelte-toolbelt";
3
3
  import type { MenuContentStaticProps } from "../types.js";
4
4
  import { useMenuContent } from "../menu.svelte.js";
5
- import { useId } from "../../../internal/use-id.js";
5
+ import { createId } from "../../../internal/create-id.js";
6
6
  import { noop } from "../../../internal/noop.js";
7
7
  import PopperLayer from "../../utilities/popper-layer/popper-layer.svelte";
8
- import Mounted from "../../utilities/mounted.svelte";
9
8
  import { getFloatingContentCSSVars } from "../../../internal/floating-svelte/floating-utils.svelte.js";
10
9
  import PopperLayerForceMount from "../../utilities/popper-layer/popper-layer-force-mount.svelte";
11
10
 
11
+ const uid = $props.id();
12
+
12
13
  let {
13
- id = useId(),
14
+ id = createId(uid),
14
15
  child,
15
16
  children,
16
17
  ref = $bindable(null),
@@ -55,6 +56,7 @@
55
56
  <PopperLayerForceMount
56
57
  {...mergedProps}
57
58
  {...contentState.popperProps}
59
+ ref={contentState.opts.ref}
58
60
  enabled={contentState.parentMenu.opts.open.current}
59
61
  onInteractOutside={handleInteractOutside}
60
62
  onEscapeKeydown={handleEscapeKeydown}
@@ -78,13 +80,13 @@
78
80
  {@render children?.()}
79
81
  </div>
80
82
  {/if}
81
- <Mounted bind:mounted={contentState.mounted} />
82
83
  {/snippet}
83
84
  </PopperLayerForceMount>
84
85
  {:else if !forceMount}
85
86
  <PopperLayer
86
87
  {...mergedProps}
87
88
  {...contentState.popperProps}
89
+ ref={contentState.opts.ref}
88
90
  present={contentState.parentMenu.opts.open.current}
89
91
  onInteractOutside={handleInteractOutside}
90
92
  onEscapeKeydown={handleEscapeKeydown}
@@ -108,7 +110,6 @@
108
110
  {@render children?.()}
109
111
  </div>
110
112
  {/if}
111
- <Mounted bind:mounted={contentState.mounted} />
112
113
  {/snippet}
113
114
  </PopperLayer>
114
115
  {/if}
@@ -2,15 +2,16 @@
2
2
  import { box, mergeProps } from "svelte-toolbelt";
3
3
  import type { MenuContentProps } from "../types.js";
4
4
  import { useMenuContent } from "../menu.svelte.js";
5
- import { useId } from "../../../internal/use-id.js";
5
+ import { createId } from "../../../internal/create-id.js";
6
6
  import { noop } from "../../../internal/noop.js";
7
7
  import PopperLayer from "../../utilities/popper-layer/popper-layer.svelte";
8
- import Mounted from "../../utilities/mounted.svelte";
9
8
  import { getFloatingContentCSSVars } from "../../../internal/floating-svelte/floating-utils.svelte.js";
10
9
  import PopperLayerForceMount from "../../utilities/popper-layer/popper-layer-force-mount.svelte";
11
10
 
11
+ const uid = $props.id();
12
+
12
13
  let {
13
- id = useId(),
14
+ id = createId(uid),
14
15
  child,
15
16
  children,
16
17
  ref = $bindable(null),
@@ -55,6 +56,7 @@
55
56
  <PopperLayerForceMount
56
57
  {...mergedProps}
57
58
  {...contentState.popperProps}
59
+ ref={contentState.opts.ref}
58
60
  enabled={contentState.parentMenu.opts.open.current}
59
61
  onInteractOutside={handleInteractOutside}
60
62
  onEscapeKeydown={handleEscapeKeydown}
@@ -79,13 +81,13 @@
79
81
  </div>
80
82
  </div>
81
83
  {/if}
82
- <Mounted bind:mounted={contentState.mounted} />
83
84
  {/snippet}
84
85
  </PopperLayerForceMount>
85
86
  {:else if !forceMount}
86
87
  <PopperLayer
87
88
  {...mergedProps}
88
89
  {...contentState.popperProps}
90
+ ref={contentState.opts.ref}
89
91
  present={contentState.parentMenu.opts.open.current}
90
92
  onInteractOutside={handleInteractOutside}
91
93
  onEscapeKeydown={handleEscapeKeydown}
@@ -110,7 +112,6 @@
110
112
  </div>
111
113
  </div>
112
114
  {/if}
113
- <Mounted bind:mounted={contentState.mounted} />
114
115
  {/snippet}
115
116
  </PopperLayer>
116
117
  {/if}
@@ -2,13 +2,15 @@
2
2
  import { box, mergeProps } from "svelte-toolbelt";
3
3
  import type { MenuGroupHeadingProps } from "../types.js";
4
4
  import { useMenuGroupHeading } from "../menu.svelte.js";
5
- import { useId } from "../../../internal/use-id.js";
5
+ import { createId } from "../../../internal/create-id.js";
6
+
7
+ const uid = $props.id();
6
8
 
7
9
  let {
8
10
  children,
9
11
  child,
10
12
  ref = $bindable(null),
11
- id = useId(),
13
+ id = createId(uid),
12
14
  ...restProps
13
15
  }: MenuGroupHeadingProps = $props();
14
16
 
@@ -2,13 +2,15 @@
2
2
  import { box, mergeProps } from "svelte-toolbelt";
3
3
  import type { MenuGroupProps } from "../types.js";
4
4
  import { useMenuGroup } from "../menu.svelte.js";
5
- import { useId } from "../../../internal/use-id.js";
5
+ import { createId } from "../../../internal/create-id.js";
6
+
7
+ const uid = $props.id();
6
8
 
7
9
  let {
8
10
  children,
9
11
  child,
10
12
  ref = $bindable(null),
11
- id = useId(),
13
+ id = createId(uid),
12
14
  ...restProps
13
15
  }: MenuGroupProps = $props();
14
16
 
@@ -2,14 +2,16 @@
2
2
  import { box, mergeProps } from "svelte-toolbelt";
3
3
  import type { MenuItemProps } from "../types.js";
4
4
  import { useMenuItem } from "../menu.svelte.js";
5
- import { useId } from "../../../internal/use-id.js";
5
+ import { createId } from "../../../internal/create-id.js";
6
6
  import { noop } from "../../../internal/noop.js";
7
7
 
8
+ const uid = $props.id();
9
+
8
10
  let {
9
11
  child,
10
12
  children,
11
13
  ref = $bindable(null),
12
- id = useId(),
14
+ id = createId(uid),
13
15
  disabled = false,
14
16
  onSelect = noop,
15
17
  closeOnSelect = true,
@@ -3,10 +3,12 @@
3
3
  import type { MenuRadioGroupProps } from "../types.js";
4
4
  import { useMenuRadioGroup } from "../menu.svelte.js";
5
5
  import { noop } from "../../../internal/noop.js";
6
- import { useId } from "../../../internal/use-id.js";
6
+ import { createId } from "../../../internal/create-id.js";
7
+
8
+ const uid = $props.id();
7
9
 
8
10
  let {
9
- id = useId(),
11
+ id = createId(uid),
10
12
  children,
11
13
  child,
12
14
  ref = $bindable(null),
@@ -2,16 +2,18 @@
2
2
  import { box, mergeProps } from "svelte-toolbelt";
3
3
  import type { MenuRadioItemProps } from "../types.js";
4
4
  import { useMenuRadioItem } from "../menu.svelte.js";
5
- import { useId } from "../../../internal/use-id.js";
5
+ import { createId } from "../../../internal/create-id.js";
6
6
  import { noop } from "../../../internal/noop.js";
7
7
 
8
+ const uid = $props.id();
9
+
8
10
  let {
9
11
  children,
10
12
  child,
11
13
  ref = $bindable(null),
12
14
  value,
13
15
  onSelect = noop,
14
- id = useId(),
16
+ id = createId(uid),
15
17
  disabled = false,
16
18
  closeOnSelect = true,
17
19
  ...restProps
@@ -2,11 +2,13 @@
2
2
  import { box, mergeProps } from "svelte-toolbelt";
3
3
  import type { MenuSeparatorProps } from "../types.js";
4
4
  import { useMenuSeparator } from "../menu.svelte.js";
5
- import { useId } from "../../../internal/use-id.js";
5
+ import { createId } from "../../../internal/create-id.js";
6
+
7
+ const uid = $props.id();
6
8
 
7
9
  let {
8
10
  ref = $bindable(null),
9
- id = useId(),
11
+ id = createId(uid),
10
12
  child,
11
13
  children,
12
14
  ...restProps
@@ -3,16 +3,17 @@
3
3
  import type { MenuSubContentStaticProps } from "../types.js";
4
4
  import { useMenuContent } from "../menu.svelte.js";
5
5
  import { SUB_CLOSE_KEYS } from "../utils.js";
6
- import { useId } from "../../../internal/use-id.js";
6
+ import { createId } from "../../../internal/create-id.js";
7
7
  import PopperLayer from "../../utilities/popper-layer/popper-layer.svelte";
8
8
  import { noop } from "../../../internal/noop.js";
9
9
  import { isHTMLElement } from "../../../internal/is.js";
10
- import Mounted from "../../utilities/mounted.svelte";
11
10
  import { getFloatingContentCSSVars } from "../../../internal/floating-svelte/floating-utils.svelte.js";
12
11
  import PopperLayerForceMount from "../../utilities/popper-layer/popper-layer-force-mount.svelte";
13
12
 
13
+ const uid = $props.id();
14
+
14
15
  let {
15
- id = useId(),
16
+ id = createId(uid),
16
17
  ref = $bindable(null),
17
18
  children,
18
19
  child,
@@ -107,6 +108,7 @@
107
108
  {#if forceMount}
108
109
  <PopperLayerForceMount
109
110
  {...mergedProps}
111
+ ref={subContentState.opts.ref}
110
112
  {interactOutsideBehavior}
111
113
  {escapeKeydownBehavior}
112
114
  onOpenAutoFocus={handleOpenAutoFocus}
@@ -130,12 +132,12 @@
130
132
  {@render children?.()}
131
133
  </div>
132
134
  {/if}
133
- <Mounted bind:mounted={subContentState.mounted} />
134
135
  {/snippet}
135
136
  </PopperLayerForceMount>
136
137
  {:else if !forceMount}
137
138
  <PopperLayer
138
139
  {...mergedProps}
140
+ ref={subContentState.opts.ref}
139
141
  {interactOutsideBehavior}
140
142
  {escapeKeydownBehavior}
141
143
  onCloseAutoFocus={handleCloseAutoFocus}
@@ -160,7 +162,6 @@
160
162
  {@render children?.()}
161
163
  </div>
162
164
  {/if}
163
- <Mounted bind:mounted={subContentState.mounted} />
164
165
  {/snippet}
165
166
  </PopperLayer>
166
167
  {/if}
@@ -3,16 +3,17 @@
3
3
  import type { MenuSubContentProps } from "../types.js";
4
4
  import { MenuOpenEvent, useMenuContent } from "../menu.svelte.js";
5
5
  import { SUB_CLOSE_KEYS } from "../utils.js";
6
- import { useId } from "../../../internal/use-id.js";
6
+ import { createId } from "../../../internal/create-id.js";
7
7
  import PopperLayer from "../../utilities/popper-layer/popper-layer.svelte";
8
8
  import { noop } from "../../../internal/noop.js";
9
9
  import { isHTMLElement } from "../../../internal/is.js";
10
- import Mounted from "../../utilities/mounted.svelte";
11
10
  import { getFloatingContentCSSVars } from "../../../internal/floating-svelte/floating-utils.svelte.js";
12
11
  import PopperLayerForceMount from "../../utilities/popper-layer/popper-layer-force-mount.svelte";
13
12
 
13
+ const uid = $props.id();
14
+
14
15
  let {
15
- id = useId(),
16
+ id = createId(uid),
16
17
  ref = $bindable(null),
17
18
  children,
18
19
  child,
@@ -109,6 +110,7 @@
109
110
  {#if forceMount}
110
111
  <PopperLayerForceMount
111
112
  {...mergedProps}
113
+ ref={subContentState.opts.ref}
112
114
  {interactOutsideBehavior}
113
115
  {escapeKeydownBehavior}
114
116
  onOpenAutoFocus={handleOpenAutoFocus}
@@ -137,12 +139,12 @@
137
139
  </div>
138
140
  </div>
139
141
  {/if}
140
- <Mounted bind:mounted={subContentState.mounted} />
141
142
  {/snippet}
142
143
  </PopperLayerForceMount>
143
144
  {:else if !forceMount}
144
145
  <PopperLayer
145
146
  {...mergedProps}
147
+ ref={subContentState.opts.ref}
146
148
  {interactOutsideBehavior}
147
149
  {escapeKeydownBehavior}
148
150
  onCloseAutoFocus={handleCloseAutoFocus}
@@ -172,7 +174,6 @@
172
174
  </div>
173
175
  </div>
174
176
  {/if}
175
- <Mounted bind:mounted={subContentState.mounted} />
176
177
  {/snippet}
177
178
  </PopperLayer>
178
179
  {/if}
@@ -2,11 +2,14 @@
2
2
  import { box, mergeProps } from "svelte-toolbelt";
3
3
  import type { MenuSubTriggerProps } from "../types.js";
4
4
  import { useMenuSubTrigger } from "../menu.svelte.js";
5
- import { useId } from "../../../internal/use-id.js";
6
5
  import FloatingLayerAnchor from "../../utilities/floating-layer/components/floating-layer-anchor.svelte";
7
6
  import { noop } from "../../../internal/noop.js";
7
+ import { createId } from "../../../internal/create-id.js";
8
+
9
+ const uid = $props.id();
10
+
8
11
  let {
9
- id = useId(),
12
+ id = createId(uid),
10
13
  disabled = false,
11
14
  ref = $bindable(null),
12
15
  children,
@@ -28,7 +31,7 @@
28
31
  const mergedProps = $derived(mergeProps(restProps, subTriggerState.props));
29
32
  </script>
30
33
 
31
- <FloatingLayerAnchor {id}>
34
+ <FloatingLayerAnchor {id} ref={subTriggerState.opts.ref}>
32
35
  {#if child}
33
36
  {@render child({ props: mergedProps })}
34
37
  {:else}
@@ -2,11 +2,13 @@
2
2
  import { box, mergeProps } from "svelte-toolbelt";
3
3
  import type { MenuTriggerProps } from "../types.js";
4
4
  import { useMenuDropdownTrigger } from "../menu.svelte.js";
5
- import { useId } from "../../../internal/use-id.js";
5
+ import { createId } from "../../../internal/create-id.js";
6
6
  import FloatingLayerAnchor from "../../utilities/floating-layer/components/floating-layer-anchor.svelte";
7
7
 
8
+ const uid = $props.id();
9
+
8
10
  let {
9
- id = useId(),
11
+ id = createId(uid),
10
12
  ref = $bindable(null),
11
13
  child,
12
14
  children,
@@ -27,7 +29,7 @@
27
29
  const mergedProps = $derived(mergeProps(restProps, triggerState.props, { type }));
28
30
  </script>
29
31
 
30
- <FloatingLayerAnchor {id}>
32
+ <FloatingLayerAnchor {id} ref={triggerState.opts.ref}>
31
33
  {#if child}
32
34
  {@render child({ props: mergedProps })}
33
35
  {:else}
@@ -1,3 +1,4 @@
1
+ import { DOMContext } from "svelte-toolbelt";
1
2
  import { Context } from "runed";
2
3
  import type { ReadableBoxedValues, WritableBoxedValues } from "../../internal/box.svelte.js";
3
4
  import { CustomEventDispatcher } from "../../internal/events.js";
@@ -5,6 +6,7 @@ import type { AnyFn, BitsFocusEvent, BitsKeyboardEvent, BitsMouseEvent, BitsPoin
5
6
  import { useRovingFocus } from "../../internal/use-roving-focus.svelte.js";
6
7
  import type { Direction } from "../../shared/index.js";
7
8
  import { IsUsingKeyboard } from "../../index.js";
9
+ import type { KeyboardEventHandler, PointerEventHandler } from "svelte/elements";
8
10
  export declare const CONTEXT_MENU_TRIGGER_ATTR = "data-context-menu-trigger";
9
11
  export declare const MenuCheckboxGroupContext: Context<MenuCheckboxGroupState>;
10
12
  type MenuVariant = "context-menu" | "dropdown-menu" | "menubar";
@@ -51,6 +53,7 @@ declare class MenuContentState {
51
53
  search: string;
52
54
  rovingFocusGroup: ReturnType<typeof useRovingFocus>;
53
55
  mounted: boolean;
56
+ domContext: DOMContext;
54
57
  constructor(opts: MenuContentStateProps, parentMenu: MenuMenuState);
55
58
  onCloseAutoFocus: (e: Event) => void;
56
59
  handleTabKeyDown(e: BitsKeyboardEvent): void;
@@ -66,9 +69,6 @@ declare class MenuContentState {
66
69
  open: boolean;
67
70
  };
68
71
  props: {
69
- readonly [x: string]: string | ((e: BitsKeyboardEvent) => void) | ((e: BitsFocusEvent) => void) | {
70
- readonly pointerEvents: "auto";
71
- };
72
72
  readonly id: string;
73
73
  readonly role: "menu";
74
74
  readonly "aria-orientation": "horizontal" | "vertical";
@@ -98,7 +98,6 @@ declare class MenuItemSharedState {
98
98
  onfocus(e: BitsFocusEvent): void;
99
99
  onblur(e: BitsFocusEvent): void;
100
100
  props: {
101
- readonly [x: string]: string | -1 | ((e: BitsPointerEvent) => void) | undefined;
102
101
  readonly id: string;
103
102
  readonly tabindex: -1;
104
103
  readonly role: "menuitem";
@@ -126,7 +125,6 @@ declare class MenuItemState {
126
125
  onpointerup(e: BitsPointerEvent): void;
127
126
  onpointerdown(_: BitsPointerEvent): void;
128
127
  props: {
129
- readonly [x: string]: string | -1 | ((e: BitsPointerEvent) => void) | undefined;
130
128
  readonly id: string;
131
129
  readonly tabindex: -1;
132
130
  readonly role: "menuitem";
@@ -158,7 +156,6 @@ declare class MenuSubTriggerState {
158
156
  onkeydown(e: BitsKeyboardEvent): void;
159
157
  onclick(e: BitsMouseEvent): void;
160
158
  props: {
161
- readonly [x: string]: string | -1 | ((e: BitsPointerEvent) => void) | undefined;
162
159
  readonly id: string;
163
160
  readonly tabindex: -1;
164
161
  readonly role: "menuitem";
@@ -170,7 +167,6 @@ declare class MenuSubTriggerState {
170
167
  readonly onfocus: (e: BitsFocusEvent) => void;
171
168
  readonly onblur: (e: BitsFocusEvent) => void;
172
169
  } & {
173
- [x: string]: string | ((e: BitsPointerEvent) => void) | ((e: BitsKeyboardEvent) => void) | undefined;
174
170
  "aria-haspopup": string;
175
171
  "aria-expanded": "true" | "false";
176
172
  "data-state": "open" | "closed";
@@ -200,7 +196,6 @@ declare class MenuCheckboxItemState {
200
196
  indeterminate: boolean;
201
197
  };
202
198
  props: {
203
- readonly [x: string]: string | -1 | ((e: BitsPointerEvent) => void) | undefined;
204
199
  readonly role: "menuitemcheckbox";
205
200
  readonly "aria-checked": "true" | "false" | "mixed";
206
201
  readonly "data-state": "checked" | "indeterminate" | "unchecked";
@@ -227,7 +222,6 @@ declare class MenuGroupState {
227
222
  groupHeadingId: string | undefined;
228
223
  constructor(opts: MenuGroupStateProps, root: MenuRootState);
229
224
  props: {
230
- readonly [x: string]: string | undefined;
231
225
  readonly id: string;
232
226
  readonly role: "group";
233
227
  readonly "aria-labelledby": string | undefined;
@@ -239,7 +233,6 @@ declare class MenuGroupHeadingState {
239
233
  readonly group: MenuGroupState | MenuRadioGroupState | MenuCheckboxGroupState;
240
234
  constructor(opts: MenuGroupHeadingStateProps, group: MenuGroupState | MenuRadioGroupState | MenuCheckboxGroupState);
241
235
  props: {
242
- readonly [x: string]: string;
243
236
  readonly id: string;
244
237
  readonly role: "group";
245
238
  };
@@ -250,7 +243,6 @@ declare class MenuSeparatorState {
250
243
  readonly root: MenuRootState;
251
244
  constructor(opts: MenuSeparatorStateProps, root: MenuRootState);
252
245
  props: {
253
- readonly [x: string]: string;
254
246
  readonly id: string;
255
247
  readonly role: "group";
256
248
  };
@@ -273,7 +265,6 @@ declare class MenuRadioGroupState {
273
265
  constructor(opts: MenuRadioGroupStateProps, content: MenuContentState);
274
266
  setValue(v: string): void;
275
267
  props: {
276
- readonly [x: string]: string | null;
277
268
  readonly id: string;
278
269
  readonly role: "group";
279
270
  readonly "aria-labelledby": string | null;
@@ -318,11 +309,10 @@ declare class DropdownMenuTriggerState {
318
309
  readonly opts: DropdownMenuTriggerStateProps;
319
310
  readonly parentMenu: MenuMenuState;
320
311
  constructor(opts: DropdownMenuTriggerStateProps, parentMenu: MenuMenuState);
321
- onpointerdown(e: BitsPointerEvent): void;
322
- onpointerup(e: BitsPointerEvent): void;
323
- onkeydown(e: BitsKeyboardEvent): void;
312
+ onpointerdown: PointerEventHandler<HTMLElement>;
313
+ onpointerup: PointerEventHandler<HTMLElement>;
314
+ onkeydown: KeyboardEventHandler<HTMLElement>;
324
315
  props: {
325
- readonly [x: string]: string | boolean | ((e: BitsPointerEvent) => void) | ((e: BitsKeyboardEvent) => void) | undefined;
326
316
  readonly id: string;
327
317
  readonly disabled: boolean;
328
318
  readonly "aria-haspopup": "menu";
@@ -330,9 +320,9 @@ declare class DropdownMenuTriggerState {
330
320
  readonly "aria-controls": string | undefined;
331
321
  readonly "data-disabled": "" | undefined;
332
322
  readonly "data-state": "open" | "closed";
333
- readonly onpointerdown: (e: BitsPointerEvent) => void;
334
- readonly onpointerup: (e: BitsPointerEvent) => void;
335
- readonly onkeydown: (e: BitsKeyboardEvent) => void;
323
+ readonly onpointerdown: PointerEventHandler<HTMLElement>;
324
+ readonly onpointerup: PointerEventHandler<HTMLElement>;
325
+ readonly onkeydown: KeyboardEventHandler<HTMLElement>;
336
326
  };
337
327
  }
338
328
  type ContextMenuTriggerStateProps = WithRefProps & ReadableBoxedValues<{
@@ -379,7 +369,6 @@ declare class MenuCheckboxGroupState {
379
369
  addValue(checkboxValue: string | undefined): void;
380
370
  removeValue(checkboxValue: string | undefined): void;
381
371
  props: {
382
- readonly [x: string]: string | null;
383
372
  readonly id: string;
384
373
  readonly role: "group";
385
374
  readonly "aria-labelledby": string | null;