bits-ui 2.10.0 → 2.11.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 (277) hide show
  1. package/dist/bits/accordion/accordion.svelte.d.ts +9 -7
  2. package/dist/bits/accordion/accordion.svelte.js +36 -13
  3. package/dist/bits/accordion/components/accordion-content.svelte +15 -7
  4. package/dist/bits/accordion/components/accordion-header.svelte +4 -4
  5. package/dist/bits/accordion/components/accordion-item.svelte +5 -5
  6. package/dist/bits/accordion/components/accordion-trigger.svelte +4 -4
  7. package/dist/bits/accordion/components/accordion.svelte +7 -7
  8. package/dist/bits/accordion/components/accordion.svelte.d.ts +1 -1
  9. package/dist/bits/accordion/types.d.ts +17 -8
  10. package/dist/bits/alert-dialog/components/alert-dialog-action.svelte +3 -3
  11. package/dist/bits/alert-dialog/components/alert-dialog-cancel.svelte +4 -4
  12. package/dist/bits/alert-dialog/components/alert-dialog-content.svelte +3 -3
  13. package/dist/bits/alert-dialog/components/alert-dialog.svelte +4 -4
  14. package/dist/bits/aspect-ratio/components/aspect-ratio.svelte +4 -4
  15. package/dist/bits/avatar/components/avatar-fallback.svelte +3 -3
  16. package/dist/bits/avatar/components/avatar-image.svelte +6 -6
  17. package/dist/bits/avatar/components/avatar.svelte +5 -5
  18. package/dist/bits/calendar/calendar.svelte.js +30 -30
  19. package/dist/bits/calendar/components/calendar-cell.svelte +5 -5
  20. package/dist/bits/calendar/components/calendar-day.svelte +3 -3
  21. package/dist/bits/calendar/components/calendar-grid-body.svelte +3 -3
  22. package/dist/bits/calendar/components/calendar-grid-head.svelte +3 -3
  23. package/dist/bits/calendar/components/calendar-grid-row.svelte +3 -3
  24. package/dist/bits/calendar/components/calendar-grid.svelte +3 -3
  25. package/dist/bits/calendar/components/calendar-head-cell.svelte +3 -3
  26. package/dist/bits/calendar/components/calendar-header.svelte +3 -3
  27. package/dist/bits/calendar/components/calendar-heading.svelte +3 -3
  28. package/dist/bits/calendar/components/calendar-month-select.svelte +6 -6
  29. package/dist/bits/calendar/components/calendar-next-button.svelte +3 -3
  30. package/dist/bits/calendar/components/calendar-prev-button.svelte +3 -3
  31. package/dist/bits/calendar/components/calendar-year-select.svelte +6 -6
  32. package/dist/bits/calendar/components/calendar.svelte +24 -24
  33. package/dist/bits/calendar/components/calendar.svelte.d.ts +1 -1
  34. package/dist/bits/checkbox/checkbox.svelte.d.ts +1 -1
  35. package/dist/bits/checkbox/checkbox.svelte.js +7 -7
  36. package/dist/bits/checkbox/components/checkbox-group-label.svelte +3 -3
  37. package/dist/bits/checkbox/components/checkbox-group.svelte +9 -9
  38. package/dist/bits/checkbox/components/checkbox-group.svelte.d.ts +1 -1
  39. package/dist/bits/checkbox/components/checkbox.svelte +11 -11
  40. package/dist/bits/checkbox/components/checkbox.svelte.d.ts +1 -1
  41. package/dist/bits/collapsible/collapsible.svelte.d.ts +2 -0
  42. package/dist/bits/collapsible/collapsible.svelte.js +31 -8
  43. package/dist/bits/collapsible/components/collapsible-content.svelte +15 -7
  44. package/dist/bits/collapsible/components/collapsible-trigger.svelte +4 -4
  45. package/dist/bits/collapsible/components/collapsible.svelte +6 -6
  46. package/dist/bits/collapsible/types.d.ts +12 -3
  47. package/dist/bits/combobox/components/combobox-input.svelte +4 -4
  48. package/dist/bits/combobox/components/combobox-trigger.svelte +3 -3
  49. package/dist/bits/combobox/components/combobox.svelte +12 -12
  50. package/dist/bits/command/command.svelte.js +6 -6
  51. package/dist/bits/command/components/_command-label.svelte +3 -3
  52. package/dist/bits/command/components/command-empty.svelte +4 -4
  53. package/dist/bits/command/components/command-group-heading.svelte +3 -3
  54. package/dist/bits/command/components/command-group-items.svelte +3 -3
  55. package/dist/bits/command/components/command-group.svelte +5 -5
  56. package/dist/bits/command/components/command-input.svelte +5 -5
  57. package/dist/bits/command/components/command-input.svelte.d.ts +1 -1
  58. package/dist/bits/command/components/command-item.svelte +8 -8
  59. package/dist/bits/command/components/command-link-item.svelte +8 -8
  60. package/dist/bits/command/components/command-list.svelte +4 -4
  61. package/dist/bits/command/components/command-loading.svelte +4 -4
  62. package/dist/bits/command/components/command-separator.svelte +4 -4
  63. package/dist/bits/command/components/command-viewport.svelte +3 -3
  64. package/dist/bits/command/components/command.svelte +12 -12
  65. package/dist/bits/command/components/command.svelte.d.ts +1 -1
  66. package/dist/bits/context-menu/components/context-menu-content-static.svelte +5 -5
  67. package/dist/bits/context-menu/components/context-menu-content.svelte +5 -5
  68. package/dist/bits/context-menu/components/context-menu-trigger.svelte +4 -4
  69. package/dist/bits/context-menu/components/context-menu.svelte +5 -5
  70. package/dist/bits/date-field/components/date-field-input.svelte +4 -4
  71. package/dist/bits/date-field/components/date-field-label.svelte +3 -3
  72. package/dist/bits/date-field/components/date-field-segment.svelte +3 -3
  73. package/dist/bits/date-field/components/date-field.svelte +16 -16
  74. package/dist/bits/date-field/date-field.svelte.js +17 -17
  75. package/dist/bits/date-picker/components/date-picker-calendar.svelte +5 -5
  76. package/dist/bits/date-picker/components/date-picker.svelte +32 -32
  77. package/dist/bits/date-range-field/components/date-range-field-input.svelte +4 -4
  78. package/dist/bits/date-range-field/components/date-range-field-label.svelte +3 -3
  79. package/dist/bits/date-range-field/components/date-range-field.svelte +19 -19
  80. package/dist/bits/date-range-field/components/date-range-field.svelte.d.ts +1 -1
  81. package/dist/bits/date-range-field/date-range-field.svelte.js +9 -9
  82. package/dist/bits/date-range-picker/components/date-range-picker-calendar.svelte +3 -3
  83. package/dist/bits/date-range-picker/components/date-range-picker.svelte +37 -37
  84. package/dist/bits/date-range-picker/components/date-range-picker.svelte.d.ts +1 -1
  85. package/dist/bits/dialog/components/dialog-close.svelte +5 -5
  86. package/dist/bits/dialog/components/dialog-content.svelte +3 -3
  87. package/dist/bits/dialog/components/dialog-description.svelte +3 -3
  88. package/dist/bits/dialog/components/dialog-overlay.svelte +3 -3
  89. package/dist/bits/dialog/components/dialog-title.svelte +4 -4
  90. package/dist/bits/dialog/components/dialog-trigger.svelte +4 -4
  91. package/dist/bits/dialog/components/dialog.svelte +4 -4
  92. package/dist/bits/dialog/dialog.svelte.d.ts +1 -1
  93. package/dist/bits/dialog/dialog.svelte.js +4 -4
  94. package/dist/bits/dropdown-menu/components/dropdown-menu-content-static.svelte +5 -5
  95. package/dist/bits/dropdown-menu/components/dropdown-menu-content.svelte +5 -5
  96. package/dist/bits/label/components/label.svelte +3 -3
  97. package/dist/bits/link-preview/components/link-preview-content-static.svelte +5 -5
  98. package/dist/bits/link-preview/components/link-preview-content.svelte +5 -5
  99. package/dist/bits/link-preview/components/link-preview-trigger.svelte +3 -3
  100. package/dist/bits/link-preview/components/link-preview.svelte +6 -6
  101. package/dist/bits/link-preview/link-preview.svelte.js +4 -4
  102. package/dist/bits/menu/components/menu-checkbox-group.svelte +5 -5
  103. package/dist/bits/menu/components/menu-checkbox-group.svelte.d.ts +1 -1
  104. package/dist/bits/menu/components/menu-checkbox-item.svelte +9 -9
  105. package/dist/bits/menu/components/menu-checkbox-item.svelte.d.ts +1 -1
  106. package/dist/bits/menu/components/menu-content-static.svelte +5 -5
  107. package/dist/bits/menu/components/menu-content.svelte +5 -5
  108. package/dist/bits/menu/components/menu-group-heading.svelte +3 -3
  109. package/dist/bits/menu/components/menu-group.svelte +3 -3
  110. package/dist/bits/menu/components/menu-item.svelte +6 -6
  111. package/dist/bits/menu/components/menu-radio-group.svelte +4 -4
  112. package/dist/bits/menu/components/menu-radio-group.svelte.d.ts +1 -1
  113. package/dist/bits/menu/components/menu-radio-item.svelte +7 -7
  114. package/dist/bits/menu/components/menu-separator.svelte +3 -3
  115. package/dist/bits/menu/components/menu-sub-content-static.svelte +5 -5
  116. package/dist/bits/menu/components/menu-sub-content.svelte +5 -5
  117. package/dist/bits/menu/components/menu-sub-trigger.svelte +5 -5
  118. package/dist/bits/menu/components/menu-sub.svelte +3 -3
  119. package/dist/bits/menu/components/menu-trigger.svelte +4 -4
  120. package/dist/bits/menu/components/menu.svelte +5 -5
  121. package/dist/bits/menu/menu.svelte.d.ts +1 -1
  122. package/dist/bits/menu/menu.svelte.js +14 -14
  123. package/dist/bits/menubar/components/menubar-content-static.svelte +8 -8
  124. package/dist/bits/menubar/components/menubar-content.svelte +8 -8
  125. package/dist/bits/menubar/components/menubar-menu.svelte +3 -3
  126. package/dist/bits/menubar/components/menubar-trigger.svelte +4 -4
  127. package/dist/bits/menubar/components/menubar.svelte +6 -6
  128. package/dist/bits/menubar/menubar.svelte.js +5 -5
  129. package/dist/bits/meter/components/meter.svelte +6 -6
  130. package/dist/bits/navigation-menu/components/navigation-menu-content-impl.svelte +3 -3
  131. package/dist/bits/navigation-menu/components/navigation-menu-content.svelte +3 -3
  132. package/dist/bits/navigation-menu/components/navigation-menu-indicator-impl.svelte +3 -3
  133. package/dist/bits/navigation-menu/components/navigation-menu-indicator.svelte +2 -2
  134. package/dist/bits/navigation-menu/components/navigation-menu-item.svelte +5 -5
  135. package/dist/bits/navigation-menu/components/navigation-menu-link.svelte +5 -5
  136. package/dist/bits/navigation-menu/components/navigation-menu-list.svelte +3 -3
  137. package/dist/bits/navigation-menu/components/navigation-menu-sub.svelte +5 -5
  138. package/dist/bits/navigation-menu/components/navigation-menu-sub.svelte.d.ts +1 -1
  139. package/dist/bits/navigation-menu/components/navigation-menu-trigger.svelte +4 -4
  140. package/dist/bits/navigation-menu/components/navigation-menu-viewport.svelte +3 -3
  141. package/dist/bits/navigation-menu/components/navigation-menu.svelte +8 -8
  142. package/dist/bits/navigation-menu/components/navigation-menu.svelte.d.ts +1 -1
  143. package/dist/bits/navigation-menu/navigation-menu.svelte.d.ts +6 -6
  144. package/dist/bits/navigation-menu/navigation-menu.svelte.js +23 -23
  145. package/dist/bits/pagination/components/pagination-next-button.svelte +4 -4
  146. package/dist/bits/pagination/components/pagination-page.svelte +5 -5
  147. package/dist/bits/pagination/components/pagination-prev-button.svelte +4 -4
  148. package/dist/bits/pagination/components/pagination.svelte +9 -9
  149. package/dist/bits/pagination/pagination.svelte.d.ts +1 -1
  150. package/dist/bits/pagination/pagination.svelte.js +2 -2
  151. package/dist/bits/pin-input/components/pin-input-cell.svelte +4 -4
  152. package/dist/bits/pin-input/components/pin-input.svelte +14 -14
  153. package/dist/bits/pin-input/components/pin-input.svelte.d.ts +1 -1
  154. package/dist/bits/pin-input/pin-input.svelte.d.ts +2 -2
  155. package/dist/bits/pin-input/pin-input.svelte.js +5 -5
  156. package/dist/bits/popover/components/popover-close.svelte +3 -3
  157. package/dist/bits/popover/components/popover-content-static.svelte +6 -6
  158. package/dist/bits/popover/components/popover-content.svelte +6 -6
  159. package/dist/bits/popover/components/popover-trigger.svelte +4 -4
  160. package/dist/bits/popover/components/popover.svelte +3 -3
  161. package/dist/bits/popover/popover.svelte.js +4 -4
  162. package/dist/bits/progress/components/progress.svelte +6 -6
  163. package/dist/bits/radio-group/components/radio-group-item.svelte +5 -5
  164. package/dist/bits/radio-group/components/radio-group.svelte +10 -10
  165. package/dist/bits/radio-group/components/radio-group.svelte.d.ts +1 -1
  166. package/dist/bits/radio-group/radio-group.svelte.js +7 -7
  167. package/dist/bits/range-calendar/components/range-calendar-cell.svelte +5 -5
  168. package/dist/bits/range-calendar/components/range-calendar-day.svelte +3 -3
  169. package/dist/bits/range-calendar/components/range-calendar.svelte +26 -26
  170. package/dist/bits/range-calendar/components/range-calendar.svelte.d.ts +1 -1
  171. package/dist/bits/range-calendar/range-calendar.svelte.js +7 -7
  172. package/dist/bits/rating-group/components/rating-group-item.svelte +5 -5
  173. package/dist/bits/rating-group/components/rating-group.svelte +14 -14
  174. package/dist/bits/rating-group/components/rating-group.svelte.d.ts +1 -1
  175. package/dist/bits/rating-group/rating-group.svelte.js +4 -4
  176. package/dist/bits/scroll-area/components/scroll-area-corner-impl.svelte +3 -3
  177. package/dist/bits/scroll-area/components/scroll-area-scrollbar-x.svelte +2 -2
  178. package/dist/bits/scroll-area/components/scroll-area-scrollbar-y.svelte +2 -2
  179. package/dist/bits/scroll-area/components/scroll-area-scrollbar.svelte +4 -4
  180. package/dist/bits/scroll-area/components/scroll-area-thumb-impl.svelte +4 -4
  181. package/dist/bits/scroll-area/components/scroll-area-viewport.svelte +3 -3
  182. package/dist/bits/scroll-area/components/scroll-area.svelte +6 -6
  183. package/dist/bits/scroll-area/scroll-area.svelte.d.ts +2 -2
  184. package/dist/bits/scroll-area/scroll-area.svelte.js +6 -7
  185. package/dist/bits/select/components/select-content-static.svelte +5 -5
  186. package/dist/bits/select/components/select-content.svelte +5 -5
  187. package/dist/bits/select/components/select-group-heading.svelte +3 -3
  188. package/dist/bits/select/components/select-group.svelte +3 -3
  189. package/dist/bits/select/components/select-hidden-input.svelte +2 -2
  190. package/dist/bits/select/components/select-item.svelte +8 -8
  191. package/dist/bits/select/components/select-scroll-down-button.svelte +4 -4
  192. package/dist/bits/select/components/select-scroll-up-button.svelte +4 -4
  193. package/dist/bits/select/components/select-trigger.svelte +3 -3
  194. package/dist/bits/select/components/select-viewport.svelte +3 -3
  195. package/dist/bits/select/components/select.svelte +12 -12
  196. package/dist/bits/select/select.svelte.js +12 -12
  197. package/dist/bits/separator/components/separator.svelte +5 -5
  198. package/dist/bits/separator/separator.svelte.d.ts +2 -2
  199. package/dist/bits/separator/separator.svelte.js +4 -4
  200. package/dist/bits/slider/components/slider-range.svelte +3 -3
  201. package/dist/bits/slider/components/slider-thumb-label.svelte +5 -5
  202. package/dist/bits/slider/components/slider-thumb.svelte +5 -5
  203. package/dist/bits/slider/components/slider-tick-label.svelte +5 -5
  204. package/dist/bits/slider/components/slider-tick.svelte +4 -4
  205. package/dist/bits/slider/components/slider.svelte +14 -14
  206. package/dist/bits/slider/components/slider.svelte.d.ts +1 -1
  207. package/dist/bits/slider/slider.svelte.d.ts +16 -16
  208. package/dist/bits/slider/slider.svelte.js +20 -20
  209. package/dist/bits/switch/components/switch-thumb.svelte +3 -3
  210. package/dist/bits/switch/components/switch.svelte +8 -8
  211. package/dist/bits/switch/components/switch.svelte.d.ts +1 -1
  212. package/dist/bits/switch/switch.svelte.js +5 -5
  213. package/dist/bits/tabs/components/tabs-content.svelte +4 -4
  214. package/dist/bits/tabs/components/tabs-list.svelte +3 -3
  215. package/dist/bits/tabs/components/tabs-trigger.svelte +5 -5
  216. package/dist/bits/tabs/components/tabs.svelte +8 -8
  217. package/dist/bits/tabs/components/tabs.svelte.d.ts +1 -1
  218. package/dist/bits/tabs/tabs.svelte.d.ts +5 -5
  219. package/dist/bits/tabs/tabs.svelte.js +11 -11
  220. package/dist/bits/time-field/components/time-field-input.svelte +4 -4
  221. package/dist/bits/time-field/components/time-field-label.svelte +3 -3
  222. package/dist/bits/time-field/components/time-field-segment.svelte +3 -3
  223. package/dist/bits/time-field/components/time-field.svelte +16 -16
  224. package/dist/bits/time-field/time-field.svelte.js +15 -15
  225. package/dist/bits/time-range-field/components/time-range-field-input.svelte +4 -4
  226. package/dist/bits/time-range-field/components/time-range-field-label.svelte +3 -3
  227. package/dist/bits/time-range-field/components/time-range-field.svelte +19 -19
  228. package/dist/bits/time-range-field/components/time-range-field.svelte.d.ts +1 -1
  229. package/dist/bits/time-range-field/time-range-field.svelte.js +7 -7
  230. package/dist/bits/toggle/components/toggle.svelte +5 -5
  231. package/dist/bits/toggle/toggle.svelte.d.ts +0 -1
  232. package/dist/bits/toggle/toggle.svelte.js +5 -10
  233. package/dist/bits/toggle-group/components/toggle-group-item.svelte +5 -5
  234. package/dist/bits/toggle-group/components/toggle-group.svelte +8 -8
  235. package/dist/bits/toggle-group/components/toggle-group.svelte.d.ts +1 -1
  236. package/dist/bits/toggle-group/toggle-group.svelte.d.ts +2 -2
  237. package/dist/bits/toggle-group/toggle-group.svelte.js +7 -7
  238. package/dist/bits/toolbar/components/toolbar-button.svelte +4 -4
  239. package/dist/bits/toolbar/components/toolbar-group-item.svelte +5 -5
  240. package/dist/bits/toolbar/components/toolbar-group.svelte +5 -5
  241. package/dist/bits/toolbar/components/toolbar-group.svelte.d.ts +1 -1
  242. package/dist/bits/toolbar/components/toolbar-link.svelte +3 -3
  243. package/dist/bits/toolbar/components/toolbar.svelte +5 -5
  244. package/dist/bits/toolbar/toolbar.svelte.d.ts +4 -4
  245. package/dist/bits/toolbar/toolbar.svelte.js +11 -11
  246. package/dist/bits/tooltip/components/tooltip-content-static.svelte +5 -5
  247. package/dist/bits/tooltip/components/tooltip-content.svelte +7 -5
  248. package/dist/bits/tooltip/components/tooltip-provider.svelte +7 -7
  249. package/dist/bits/tooltip/components/tooltip-trigger.svelte +4 -4
  250. package/dist/bits/tooltip/components/tooltip.svelte +8 -8
  251. package/dist/bits/tooltip/tooltip.svelte.js +7 -7
  252. package/dist/bits/tooltip/types.d.ts +1 -1
  253. package/dist/bits/utilities/config/bits-config.js +2 -2
  254. package/dist/bits/utilities/config/components/bits-config.svelte +3 -3
  255. package/dist/bits/utilities/config/prop-resolvers.js +2 -2
  256. package/dist/bits/utilities/dismissible-layer/dismissible-layer.svelte +7 -7
  257. package/dist/bits/utilities/dismissible-layer/use-dismissable-layer.svelte.js +4 -3
  258. package/dist/bits/utilities/escape-layer/escape-layer.svelte +4 -4
  259. package/dist/bits/utilities/floating-layer/components/floating-layer-anchor.svelte +3 -3
  260. package/dist/bits/utilities/floating-layer/components/floating-layer-arrow.svelte +3 -3
  261. package/dist/bits/utilities/floating-layer/components/floating-layer-content.svelte +20 -20
  262. package/dist/bits/utilities/floating-layer/use-floating-layer.svelte.d.ts +3 -3
  263. package/dist/bits/utilities/floating-layer/use-floating-layer.svelte.js +9 -9
  264. package/dist/bits/utilities/focus-scope/focus-scope-manager.js +2 -2
  265. package/dist/bits/utilities/focus-scope/focus-scope.svelte +5 -5
  266. package/dist/bits/utilities/presence-layer/presence-layer.svelte +2 -2
  267. package/dist/bits/utilities/text-selection-layer/text-selection-layer.svelte +5 -5
  268. package/dist/internal/attrs.d.ts +4 -19
  269. package/dist/internal/attrs.js +11 -56
  270. package/dist/internal/body-scroll-lock.svelte.js +5 -5
  271. package/dist/internal/box-auto-reset.svelte.js +2 -2
  272. package/dist/internal/date-time/calendar-helpers.svelte.js +4 -4
  273. package/dist/internal/events.d.ts +0 -6
  274. package/dist/internal/events.js +0 -17
  275. package/dist/internal/floating-svelte/use-floating.svelte.js +2 -2
  276. package/dist/internal/state-machine.js +2 -2
  277. package/package.json +2 -2
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import { box } from "svelte-toolbelt";
2
+ import { boxWith } from "svelte-toolbelt";
3
3
  import type { LinkPreviewRootProps } from "../types.js";
4
4
  import { LinkPreviewRootState } from "../link-preview.svelte.js";
5
5
  import { noop } from "../../../internal/noop.js";
@@ -16,17 +16,17 @@
16
16
  }: LinkPreviewRootProps = $props();
17
17
 
18
18
  LinkPreviewRootState.create({
19
- disabled: box.with(() => disabled),
20
- open: box.with(
19
+ disabled: boxWith(() => disabled),
20
+ open: boxWith(
21
21
  () => open,
22
22
  (v) => {
23
23
  open = v;
24
24
  onOpenChange(v);
25
25
  }
26
26
  ),
27
- openDelay: box.with(() => openDelay),
28
- closeDelay: box.with(() => closeDelay),
29
- onOpenChangeComplete: box.with(() => onOpenChangeComplete),
27
+ openDelay: boxWith(() => openDelay),
28
+ closeDelay: boxWith(() => closeDelay),
29
+ onOpenChangeComplete: boxWith(() => onOpenChangeComplete),
30
30
  });
31
31
  </script>
32
32
 
@@ -1,7 +1,7 @@
1
- import { afterSleep, onDestroyEffect, attachRef, DOMContext, box, } from "svelte-toolbelt";
1
+ import { afterSleep, onDestroyEffect, attachRef, DOMContext, boxWith, } from "svelte-toolbelt";
2
2
  import { Context, watch } from "runed";
3
3
  import { on } from "svelte/events";
4
- import { createBitsAttrs, getAriaExpanded, getDataOpenClosed } from "../../internal/attrs.js";
4
+ import { createBitsAttrs, boolToStr, getDataOpenClosed } from "../../internal/attrs.js";
5
5
  import { isElement, isFocusVisible, isTouch } from "../../internal/is.js";
6
6
  import { getTabbableCandidates } from "../../internal/focus.js";
7
7
  import { GraceArea } from "../../internal/grace-area.svelte.js";
@@ -28,7 +28,7 @@ export class LinkPreviewRootState {
28
28
  constructor(opts) {
29
29
  this.opts = opts;
30
30
  new OpenChangeComplete({
31
- ref: box.with(() => this.contentNode),
31
+ ref: boxWith(() => this.contentNode),
32
32
  open: this.opts.open,
33
33
  onComplete: () => {
34
34
  this.opts.onOpenChangeComplete.current(this.opts.open.current);
@@ -141,7 +141,7 @@ export class LinkPreviewTriggerState {
141
141
  props = $derived.by(() => ({
142
142
  id: this.opts.id.current,
143
143
  "aria-haspopup": "dialog",
144
- "aria-expanded": getAriaExpanded(this.root.opts.open.current),
144
+ "aria-expanded": boolToStr(this.root.opts.open.current),
145
145
  "data-state": getDataOpenClosed(this.root.opts.open.current),
146
146
  "aria-controls": this.root.contentNode?.id,
147
147
  role: "button",
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import { box, mergeProps } from "svelte-toolbelt";
2
+ import { boxWith, mergeProps } from "svelte-toolbelt";
3
3
  import type { MenuCheckboxGroupProps } from "../types.js";
4
4
  import { MenuCheckboxGroupState } from "../menu.svelte.js";
5
5
  import { noop } from "../../../internal/noop.js";
@@ -18,19 +18,19 @@
18
18
  }: MenuCheckboxGroupProps = $props();
19
19
 
20
20
  const checkboxGroupState = MenuCheckboxGroupState.create({
21
- value: box.with(
21
+ value: boxWith(
22
22
  () => $state.snapshot(value),
23
23
  (v) => {
24
24
  value = $state.snapshot(v);
25
25
  onValueChange(v);
26
26
  }
27
27
  ),
28
- onValueChange: box.with(() => onValueChange),
29
- ref: box.with(
28
+ onValueChange: boxWith(() => onValueChange),
29
+ ref: boxWith(
30
30
  () => ref,
31
31
  (v) => (ref = v)
32
32
  ),
33
- id: box.with(() => id),
33
+ id: boxWith(() => id),
34
34
  });
35
35
 
36
36
  const mergedProps = $derived(mergeProps(restProps, checkboxGroupState.props));
@@ -1,4 +1,4 @@
1
1
  import type { MenuCheckboxGroupProps } from "../types.js";
2
- declare const MenuCheckboxGroup: import("svelte").Component<MenuCheckboxGroupProps, {}, "value" | "ref">;
2
+ declare const MenuCheckboxGroup: import("svelte").Component<MenuCheckboxGroupProps, {}, "ref" | "value">;
3
3
  type MenuCheckboxGroup = ReturnType<typeof MenuCheckboxGroup>;
4
4
  export default MenuCheckboxGroup;
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import { box, mergeProps } from "svelte-toolbelt";
2
+ import { boxWith, mergeProps } from "svelte-toolbelt";
3
3
  import type { MenuCheckboxItemProps } from "../types.js";
4
4
  import { MenuCheckboxGroupContext, MenuCheckboxItemState } from "../menu.svelte.js";
5
5
  import { createId } from "../../../internal/create-id.js";
@@ -49,7 +49,7 @@
49
49
 
50
50
  const checkboxItemState = MenuCheckboxItemState.create(
51
51
  {
52
- checked: box.with(
52
+ checked: boxWith(
53
53
  () => checked,
54
54
  (v) => {
55
55
  if (v !== checked) {
@@ -58,15 +58,15 @@
58
58
  }
59
59
  }
60
60
  ),
61
- id: box.with(() => id),
62
- disabled: box.with(() => disabled),
63
- onSelect: box.with(() => handleSelect),
64
- ref: box.with(
61
+ id: boxWith(() => id),
62
+ disabled: boxWith(() => disabled),
63
+ onSelect: boxWith(() => handleSelect),
64
+ ref: boxWith(
65
65
  () => ref,
66
66
  (v) => (ref = v)
67
67
  ),
68
- closeOnSelect: box.with(() => closeOnSelect),
69
- indeterminate: box.with(
68
+ closeOnSelect: boxWith(() => closeOnSelect),
69
+ indeterminate: boxWith(
70
70
  () => indeterminate,
71
71
  (v) => {
72
72
  if (v !== indeterminate) {
@@ -75,7 +75,7 @@
75
75
  }
76
76
  }
77
77
  ),
78
- value: box.with(() => value),
78
+ value: boxWith(() => value),
79
79
  },
80
80
  group
81
81
  );
@@ -1,4 +1,4 @@
1
1
  import type { MenuCheckboxItemProps } from "../types.js";
2
- declare const MenuCheckboxItem: import("svelte").Component<MenuCheckboxItemProps, {}, "checked" | "indeterminate" | "ref">;
2
+ declare const MenuCheckboxItem: import("svelte").Component<MenuCheckboxItemProps, {}, "ref" | "checked" | "indeterminate">;
3
3
  type MenuCheckboxItem = ReturnType<typeof MenuCheckboxItem>;
4
4
  export default MenuCheckboxItem;
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import { box, mergeProps } from "svelte-toolbelt";
2
+ import { boxWith, mergeProps } from "svelte-toolbelt";
3
3
  import type { MenuContentStaticProps } from "../types.js";
4
4
  import { MenuContentState } from "../menu.svelte.js";
5
5
  import { createId } from "../../../internal/create-id.js";
@@ -24,13 +24,13 @@
24
24
  }: MenuContentStaticProps = $props();
25
25
 
26
26
  const contentState = MenuContentState.create({
27
- id: box.with(() => id),
28
- loop: box.with(() => loop),
29
- ref: box.with(
27
+ id: boxWith(() => id),
28
+ loop: boxWith(() => loop),
29
+ ref: boxWith(
30
30
  () => ref,
31
31
  (v) => (ref = v)
32
32
  ),
33
- onCloseAutoFocus: box.with(() => onCloseAutoFocusProp),
33
+ onCloseAutoFocus: boxWith(() => onCloseAutoFocusProp),
34
34
  });
35
35
 
36
36
  const mergedProps = $derived(
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import { box, mergeProps } from "svelte-toolbelt";
2
+ import { boxWith, mergeProps } from "svelte-toolbelt";
3
3
  import type { MenuContentProps } from "../types.js";
4
4
  import { MenuContentState } from "../menu.svelte.js";
5
5
  import { createId } from "../../../internal/create-id.js";
@@ -24,13 +24,13 @@
24
24
  }: MenuContentProps = $props();
25
25
 
26
26
  const contentState = MenuContentState.create({
27
- id: box.with(() => id),
28
- loop: box.with(() => loop),
29
- ref: box.with(
27
+ id: boxWith(() => id),
28
+ loop: boxWith(() => loop),
29
+ ref: boxWith(
30
30
  () => ref,
31
31
  (v) => (ref = v)
32
32
  ),
33
- onCloseAutoFocus: box.with(() => onCloseAutoFocusProp),
33
+ onCloseAutoFocus: boxWith(() => onCloseAutoFocusProp),
34
34
  });
35
35
 
36
36
  const mergedProps = $derived(
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import { box, mergeProps } from "svelte-toolbelt";
2
+ import { boxWith, mergeProps } from "svelte-toolbelt";
3
3
  import type { MenuGroupHeadingProps } from "../types.js";
4
4
  import { MenuGroupHeadingState } from "../menu.svelte.js";
5
5
  import { createId } from "../../../internal/create-id.js";
@@ -15,8 +15,8 @@
15
15
  }: MenuGroupHeadingProps = $props();
16
16
 
17
17
  const groupHeadingState = MenuGroupHeadingState.create({
18
- id: box.with(() => id),
19
- ref: box.with(
18
+ id: boxWith(() => id),
19
+ ref: boxWith(
20
20
  () => ref,
21
21
  (v) => (ref = v)
22
22
  ),
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import { box, mergeProps } from "svelte-toolbelt";
2
+ import { boxWith, mergeProps } from "svelte-toolbelt";
3
3
  import type { MenuGroupProps } from "../types.js";
4
4
  import { MenuGroupState } from "../menu.svelte.js";
5
5
  import { createId } from "../../../internal/create-id.js";
@@ -15,8 +15,8 @@
15
15
  }: MenuGroupProps = $props();
16
16
 
17
17
  const groupState = MenuGroupState.create({
18
- id: box.with(() => id),
19
- ref: box.with(
18
+ id: boxWith(() => id),
19
+ ref: boxWith(
20
20
  () => ref,
21
21
  (v) => (ref = v)
22
22
  ),
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import { box, mergeProps } from "svelte-toolbelt";
2
+ import { boxWith, mergeProps } from "svelte-toolbelt";
3
3
  import type { MenuItemProps } from "../types.js";
4
4
  import { MenuItemState } from "../menu.svelte.js";
5
5
  import { createId } from "../../../internal/create-id.js";
@@ -19,14 +19,14 @@
19
19
  }: MenuItemProps = $props();
20
20
 
21
21
  const itemState = MenuItemState.create({
22
- id: box.with(() => id),
23
- disabled: box.with(() => disabled),
24
- onSelect: box.with(() => onSelect),
25
- ref: box.with(
22
+ id: boxWith(() => id),
23
+ disabled: boxWith(() => disabled),
24
+ onSelect: boxWith(() => onSelect),
25
+ ref: boxWith(
26
26
  () => ref,
27
27
  (v) => (ref = v)
28
28
  ),
29
- closeOnSelect: box.with(() => closeOnSelect),
29
+ closeOnSelect: boxWith(() => closeOnSelect),
30
30
  });
31
31
 
32
32
  const mergedProps = $derived(mergeProps(restProps, itemState.props));
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import { box, mergeProps } from "svelte-toolbelt";
2
+ import { boxWith, mergeProps } from "svelte-toolbelt";
3
3
  import type { MenuRadioGroupProps } from "../types.js";
4
4
  import { MenuRadioGroupState } from "../menu.svelte.js";
5
5
  import { noop } from "../../../internal/noop.js";
@@ -18,18 +18,18 @@
18
18
  }: MenuRadioGroupProps = $props();
19
19
 
20
20
  const radioGroupState = MenuRadioGroupState.create({
21
- value: box.with(
21
+ value: boxWith(
22
22
  () => value,
23
23
  (v) => {
24
24
  value = v;
25
25
  onValueChange(v);
26
26
  }
27
27
  ),
28
- ref: box.with(
28
+ ref: boxWith(
29
29
  () => ref,
30
30
  (v) => (ref = v)
31
31
  ),
32
- id: box.with(() => id),
32
+ id: boxWith(() => id),
33
33
  });
34
34
 
35
35
  const mergedProps = $derived(mergeProps(restProps, radioGroupState.props));
@@ -1,4 +1,4 @@
1
1
  import type { MenuRadioGroupProps } from "../types.js";
2
- declare const MenuRadioGroup: import("svelte").Component<MenuRadioGroupProps, {}, "value" | "ref">;
2
+ declare const MenuRadioGroup: import("svelte").Component<MenuRadioGroupProps, {}, "ref" | "value">;
3
3
  type MenuRadioGroup = ReturnType<typeof MenuRadioGroup>;
4
4
  export default MenuRadioGroup;
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import { box, mergeProps } from "svelte-toolbelt";
2
+ import { boxWith, mergeProps } from "svelte-toolbelt";
3
3
  import type { MenuRadioItemProps } from "../types.js";
4
4
  import { MenuRadioItemState } from "../menu.svelte.js";
5
5
  import { createId } from "../../../internal/create-id.js";
@@ -20,15 +20,15 @@
20
20
  }: MenuRadioItemProps = $props();
21
21
 
22
22
  const radioItemState = MenuRadioItemState.create({
23
- value: box.with(() => value),
24
- id: box.with(() => id),
25
- disabled: box.with(() => disabled),
26
- onSelect: box.with(() => handleSelect),
27
- ref: box.with(
23
+ value: boxWith(() => value),
24
+ id: boxWith(() => id),
25
+ disabled: boxWith(() => disabled),
26
+ onSelect: boxWith(() => handleSelect),
27
+ ref: boxWith(
28
28
  () => ref,
29
29
  (v) => (ref = v)
30
30
  ),
31
- closeOnSelect: box.with(() => closeOnSelect),
31
+ closeOnSelect: boxWith(() => closeOnSelect),
32
32
  });
33
33
 
34
34
  function handleSelect(e: Event) {
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import { box, mergeProps } from "svelte-toolbelt";
2
+ import { boxWith, mergeProps } from "svelte-toolbelt";
3
3
  import type { MenuSeparatorProps } from "../types.js";
4
4
  import { MenuSeparatorState } from "../menu.svelte.js";
5
5
  import { createId } from "../../../internal/create-id.js";
@@ -15,8 +15,8 @@
15
15
  }: MenuSeparatorProps = $props();
16
16
 
17
17
  const separatorState = MenuSeparatorState.create({
18
- id: box.with(() => id),
19
- ref: box.with(
18
+ id: boxWith(() => id),
19
+ ref: boxWith(
20
20
  () => ref,
21
21
  (v) => (ref = v)
22
22
  ),
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import { afterTick, box, mergeProps } from "svelte-toolbelt";
2
+ import { afterTick, boxWith, mergeProps } from "svelte-toolbelt";
3
3
  import type { MenuSubContentStaticProps } from "../types.js";
4
4
  import { MenuContentState } from "../menu.svelte.js";
5
5
  import { SUB_CLOSE_KEYS } from "../utils.js";
@@ -31,13 +31,13 @@
31
31
  }: MenuSubContentStaticProps = $props();
32
32
 
33
33
  const subContentState = MenuContentState.create({
34
- id: box.with(() => id),
35
- loop: box.with(() => loop),
36
- ref: box.with(
34
+ id: boxWith(() => id),
35
+ loop: boxWith(() => loop),
36
+ ref: boxWith(
37
37
  () => ref,
38
38
  (v) => (ref = v)
39
39
  ),
40
- onCloseAutoFocus: box.with(() => handleCloseAutoFocus),
40
+ onCloseAutoFocus: boxWith(() => handleCloseAutoFocus),
41
41
  isSub: true,
42
42
  });
43
43
 
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import { box, mergeProps } from "svelte-toolbelt";
2
+ import { boxWith, mergeProps } from "svelte-toolbelt";
3
3
  import type { MenuSubContentProps } from "../types.js";
4
4
  import { MenuOpenEvent, MenuContentState } from "../menu.svelte.js";
5
5
  import { SUB_CLOSE_KEYS } from "../utils.js";
@@ -32,14 +32,14 @@
32
32
  }: MenuSubContentProps = $props();
33
33
 
34
34
  const subContentState = MenuContentState.create({
35
- id: box.with(() => id),
36
- loop: box.with(() => loop),
37
- ref: box.with(
35
+ id: boxWith(() => id),
36
+ loop: boxWith(() => loop),
37
+ ref: boxWith(
38
38
  () => ref,
39
39
  (v) => (ref = v)
40
40
  ),
41
41
  isSub: true,
42
- onCloseAutoFocus: box.with(() => handleCloseAutoFocus),
42
+ onCloseAutoFocus: boxWith(() => handleCloseAutoFocus),
43
43
  });
44
44
 
45
45
  function onkeydown(e: KeyboardEvent) {
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import { box, mergeProps } from "svelte-toolbelt";
2
+ import { boxWith, mergeProps } from "svelte-toolbelt";
3
3
  import type { MenuSubTriggerProps } from "../types.js";
4
4
  import { MenuSubTriggerState } from "../menu.svelte.js";
5
5
  import FloatingLayerAnchor from "../../utilities/floating-layer/components/floating-layer-anchor.svelte";
@@ -19,10 +19,10 @@
19
19
  }: MenuSubTriggerProps = $props();
20
20
 
21
21
  const subTriggerState = MenuSubTriggerState.create({
22
- disabled: box.with(() => disabled),
23
- onSelect: box.with(() => onSelect),
24
- id: box.with(() => id),
25
- ref: box.with(
22
+ disabled: boxWith(() => disabled),
23
+ onSelect: boxWith(() => onSelect),
24
+ id: boxWith(() => id),
25
+ ref: boxWith(
26
26
  () => ref,
27
27
  (v) => (ref = v)
28
28
  ),
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import { box } from "svelte-toolbelt";
2
+ import { boxWith } from "svelte-toolbelt";
3
3
  import type { MenuSubProps } from "../types.js";
4
4
  import { MenuSubmenuState } from "../menu.svelte.js";
5
5
  import FloatingLayer from "../../utilities/floating-layer/components/floating-layer.svelte";
@@ -13,14 +13,14 @@
13
13
  }: MenuSubProps = $props();
14
14
 
15
15
  MenuSubmenuState.create({
16
- open: box.with(
16
+ open: boxWith(
17
17
  () => open,
18
18
  (v) => {
19
19
  open = v;
20
20
  onOpenChange?.(v);
21
21
  }
22
22
  ),
23
- onOpenChangeComplete: box.with(() => onOpenChangeComplete),
23
+ onOpenChangeComplete: boxWith(() => onOpenChangeComplete),
24
24
  });
25
25
  </script>
26
26
 
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import { box, mergeProps } from "svelte-toolbelt";
2
+ import { boxWith, mergeProps } from "svelte-toolbelt";
3
3
  import type { MenuTriggerProps } from "../types.js";
4
4
  import { DropdownMenuTriggerState } from "../menu.svelte.js";
5
5
  import { createId } from "../../../internal/create-id.js";
@@ -18,9 +18,9 @@
18
18
  }: MenuTriggerProps = $props();
19
19
 
20
20
  const triggerState = DropdownMenuTriggerState.create({
21
- id: box.with(() => id),
22
- disabled: box.with(() => disabled ?? false),
23
- ref: box.with(
21
+ id: boxWith(() => id),
22
+ disabled: boxWith(() => disabled ?? false),
23
+ ref: boxWith(
24
24
  () => ref,
25
25
  (v) => (ref = v)
26
26
  ),
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import { box } from "svelte-toolbelt";
2
+ import { boxWith } from "svelte-toolbelt";
3
3
  import type { MenuRootProps } from "../types.js";
4
4
  import { MenuMenuState, MenuRootState } from "../menu.svelte.js";
5
5
  import { noop } from "../../../internal/noop.js";
@@ -17,8 +17,8 @@
17
17
  } = $props();
18
18
 
19
19
  const root = MenuRootState.create({
20
- variant: box.with(() => variant),
21
- dir: box.with(() => dir),
20
+ variant: boxWith(() => variant),
21
+ dir: boxWith(() => dir),
22
22
  onClose: () => {
23
23
  open = false;
24
24
  onOpenChange(false);
@@ -27,14 +27,14 @@
27
27
 
28
28
  MenuMenuState.create(
29
29
  {
30
- open: box.with(
30
+ open: boxWith(
31
31
  () => open,
32
32
  (v) => {
33
33
  open = v;
34
34
  onOpenChange(v);
35
35
  }
36
36
  ),
37
- onOpenChangeComplete: box.with(() => onOpenChangeComplete),
37
+ onOpenChangeComplete: boxWith(() => onOpenChangeComplete),
38
38
  },
39
39
  root
40
40
  );
@@ -78,7 +78,7 @@ export declare class MenuContentState {
78
78
  readonly props: {
79
79
  readonly id: string;
80
80
  readonly role: "menu";
81
- readonly "aria-orientation": "horizontal" | "vertical";
81
+ readonly "aria-orientation": "vertical";
82
82
  readonly "data-state": "open" | "closed";
83
83
  readonly onkeydown: (e: BitsKeyboardEvent) => void;
84
84
  readonly onblur: (e: BitsFocusEvent) => void;
@@ -1,11 +1,11 @@
1
- import { afterTick, box, mergeProps, onDestroyEffect, attachRef, DOMContext, getWindow, } from "svelte-toolbelt";
1
+ import { afterTick, mergeProps, onDestroyEffect, attachRef, DOMContext, getWindow, simpleBox, boxWith, } from "svelte-toolbelt";
2
2
  import { Context, watch } from "runed";
3
3
  import { FIRST_LAST_KEYS, LAST_KEYS, SELECTION_KEYS, SUB_OPEN_KEYS, getCheckedState, isMouseEvent, } from "./utils.js";
4
4
  import { focusFirst } from "../../internal/focus.js";
5
5
  import { CustomEventDispatcher } from "../../internal/events.js";
6
6
  import { isElement, isElementOrSVGElement, isHTMLElement } from "../../internal/is.js";
7
7
  import { kbd } from "../../internal/kbd.js";
8
- import { createBitsAttrs, getAriaChecked, getAriaDisabled, getAriaExpanded, getAriaOrientation, getDataDisabled, getDataOpenClosed, } from "../../internal/attrs.js";
8
+ import { createBitsAttrs, getAriaChecked, boolToStr, getDataOpenClosed, boolToEmptyStrOrUndef, } from "../../internal/attrs.js";
9
9
  import { IsUsingKeyboard } from "../../index.js";
10
10
  import { getTabbableFrom } from "../../internal/tabbable.js";
11
11
  import { isTabbable } from "tabbable";
@@ -65,7 +65,7 @@ export class MenuMenuState {
65
65
  opts;
66
66
  root;
67
67
  parentMenu;
68
- contentId = box.with(() => "");
68
+ contentId = boxWith(() => "");
69
69
  contentNode = $state(null);
70
70
  triggerNode = $state(null);
71
71
  constructor(opts, root, parentMenu) {
@@ -73,7 +73,7 @@ export class MenuMenuState {
73
73
  this.root = root;
74
74
  this.parentMenu = parentMenu;
75
75
  new OpenChangeComplete({
76
- ref: box.with(() => this.contentNode),
76
+ ref: boxWith(() => this.contentNode),
77
77
  open: this.opts.open,
78
78
  onComplete: () => {
79
79
  this.opts.onOpenChangeComplete.current(this.opts.open.current);
@@ -143,10 +143,10 @@ export class MenuContentState {
143
143
  getWindow: () => this.domContext.getWindow(),
144
144
  }).handleTypeaheadSearch;
145
145
  this.rovingFocusGroup = new RovingFocusGroup({
146
- rootNode: box.with(() => this.parentMenu.contentNode),
146
+ rootNode: boxWith(() => this.parentMenu.contentNode),
147
147
  candidateAttr: this.parentMenu.root.getBitsAttr("item"),
148
148
  loop: this.opts.loop,
149
- orientation: box.with(() => "vertical"),
149
+ orientation: boxWith(() => "vertical"),
150
150
  });
151
151
  watch(() => this.parentMenu.contentNode, (contentNode) => {
152
152
  if (!contentNode)
@@ -315,7 +315,7 @@ export class MenuContentState {
315
315
  props = $derived.by(() => ({
316
316
  id: this.opts.id.current,
317
317
  role: "menu",
318
- "aria-orientation": getAriaOrientation("vertical"),
318
+ "aria-orientation": "vertical",
319
319
  [this.parentMenu.root.getBitsAttr("content")]: "",
320
320
  "data-state": getDataOpenClosed(this.parentMenu.opts.open.current),
321
321
  onkeydown: this.onkeydown,
@@ -388,8 +388,8 @@ class MenuItemSharedState {
388
388
  id: this.opts.id.current,
389
389
  tabindex: -1,
390
390
  role: "menuitem",
391
- "aria-disabled": getAriaDisabled(this.opts.disabled.current),
392
- "data-disabled": getDataDisabled(this.opts.disabled.current),
391
+ "aria-disabled": boolToStr(this.opts.disabled.current),
392
+ "data-disabled": boolToEmptyStrOrUndef(this.opts.disabled.current),
393
393
  "data-highlighted": this.#isFocused ? "" : undefined,
394
394
  [this.content.parentMenu.root.getBitsAttr("item")]: "",
395
395
  //
@@ -560,7 +560,7 @@ export class MenuSubTriggerState {
560
560
  }
561
561
  props = $derived.by(() => mergeProps({
562
562
  "aria-haspopup": "menu",
563
- "aria-expanded": getAriaExpanded(this.submenu.opts.open.current),
563
+ "aria-expanded": boolToStr(this.submenu.opts.open.current),
564
564
  "data-state": getDataOpenClosed(this.submenu.opts.open.current),
565
565
  "aria-controls": this.submenu.opts.open.current
566
566
  ? this.submenu.contentId.current
@@ -822,9 +822,9 @@ export class DropdownMenuTriggerState {
822
822
  id: this.opts.id.current,
823
823
  disabled: this.opts.disabled.current,
824
824
  "aria-haspopup": "menu",
825
- "aria-expanded": getAriaExpanded(this.parentMenu.opts.open.current),
825
+ "aria-expanded": boolToStr(this.parentMenu.opts.open.current),
826
826
  "aria-controls": this.#ariaControls,
827
- "data-disabled": getDataDisabled(this.opts.disabled.current),
827
+ "data-disabled": boolToEmptyStrOrUndef(this.opts.disabled.current),
828
828
  "data-state": getDataOpenClosed(this.parentMenu.opts.open.current),
829
829
  [this.parentMenu.root.getBitsAttr("trigger")]: "",
830
830
  //
@@ -843,7 +843,7 @@ export class ContextMenuTriggerState {
843
843
  parentMenu;
844
844
  attachment;
845
845
  #point = $state({ x: 0, y: 0 });
846
- virtualElement = box({
846
+ virtualElement = simpleBox({
847
847
  getBoundingClientRect: () => DOMRect.fromRect({ width: 0, height: 0, ...this.#point }),
848
848
  });
849
849
  #longPressTimer = null;
@@ -909,7 +909,7 @@ export class ContextMenuTriggerState {
909
909
  props = $derived.by(() => ({
910
910
  id: this.opts.id.current,
911
911
  disabled: this.opts.disabled.current,
912
- "data-disabled": getDataDisabled(this.opts.disabled.current),
912
+ "data-disabled": boolToEmptyStrOrUndef(this.opts.disabled.current),
913
913
  "data-state": getDataOpenClosed(this.parentMenu.opts.open.current),
914
914
  [CONTEXT_MENU_TRIGGER_ATTR]: "",
915
915
  tabindex: -1,
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import { box, mergeProps } from "svelte-toolbelt";
2
+ import { boxWith, mergeProps } from "svelte-toolbelt";
3
3
  import type { MenubarContentStaticProps } from "../types.js";
4
4
  import { MenubarContentState } from "../menubar.svelte.js";
5
5
  import { createId } from "../../../internal/create-id.js";
@@ -20,16 +20,16 @@
20
20
  }: MenubarContentStaticProps = $props();
21
21
 
22
22
  const contentState = MenubarContentState.create({
23
- id: box.with(() => id),
24
- interactOutsideBehavior: box.with(() => interactOutsideBehavior),
25
- ref: box.with(
23
+ id: boxWith(() => id),
24
+ interactOutsideBehavior: boxWith(() => interactOutsideBehavior),
25
+ ref: boxWith(
26
26
  () => ref,
27
27
  (v) => (ref = v)
28
28
  ),
29
- onInteractOutside: box.with(() => onInteractOutside),
30
- onFocusOutside: box.with(() => onFocusOutside),
31
- onCloseAutoFocus: box.with(() => onCloseAutoFocus),
32
- onOpenAutoFocus: box.with(() => onOpenAutoFocus),
29
+ onInteractOutside: boxWith(() => onInteractOutside),
30
+ onFocusOutside: boxWith(() => onFocusOutside),
31
+ onCloseAutoFocus: boxWith(() => onCloseAutoFocus),
32
+ onOpenAutoFocus: boxWith(() => onOpenAutoFocus),
33
33
  });
34
34
 
35
35
  const mergedProps = $derived(mergeProps(restProps, contentState.props));