bits-ui 2.10.0 → 2.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (278) 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 +12 -5
  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 +24 -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.d.ts +3 -2
  258. package/dist/bits/utilities/dismissible-layer/use-dismissable-layer.svelte.js +8 -5
  259. package/dist/bits/utilities/escape-layer/escape-layer.svelte +4 -4
  260. package/dist/bits/utilities/floating-layer/components/floating-layer-anchor.svelte +3 -3
  261. package/dist/bits/utilities/floating-layer/components/floating-layer-arrow.svelte +3 -3
  262. package/dist/bits/utilities/floating-layer/components/floating-layer-content.svelte +20 -20
  263. package/dist/bits/utilities/floating-layer/use-floating-layer.svelte.d.ts +3 -3
  264. package/dist/bits/utilities/floating-layer/use-floating-layer.svelte.js +9 -9
  265. package/dist/bits/utilities/focus-scope/focus-scope-manager.js +2 -2
  266. package/dist/bits/utilities/focus-scope/focus-scope.svelte +5 -5
  267. package/dist/bits/utilities/presence-layer/presence-layer.svelte +2 -2
  268. package/dist/bits/utilities/text-selection-layer/text-selection-layer.svelte +5 -5
  269. package/dist/internal/attrs.d.ts +4 -19
  270. package/dist/internal/attrs.js +11 -56
  271. package/dist/internal/body-scroll-lock.svelte.js +5 -5
  272. package/dist/internal/box-auto-reset.svelte.js +2 -2
  273. package/dist/internal/date-time/calendar-helpers.svelte.js +4 -4
  274. package/dist/internal/events.d.ts +0 -6
  275. package/dist/internal/events.js +0 -17
  276. package/dist/internal/floating-svelte/use-floating.svelte.js +2 -2
  277. package/dist/internal/state-machine.js +2 -2
  278. package/package.json +2 -2
@@ -1,12 +1,12 @@
1
1
  <script lang="ts">
2
- import { box } from "svelte-toolbelt";
2
+ import { boxWith } from "svelte-toolbelt";
3
3
  import type { PresenceLayerImplProps } from "./types.js";
4
4
  import { Presence } from "./presence.svelte.js";
5
5
 
6
6
  let { open, forceMount, presence, ref }: PresenceLayerImplProps = $props();
7
7
 
8
8
  const presenceState = new Presence({
9
- open: box.with(() => open),
9
+ open: boxWith(() => open),
10
10
  ref,
11
11
  });
12
12
  </script>
@@ -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 { TextSelectionLayerImplProps } from "./types.js";
4
4
  import { TextSelectionLayerState } from "./use-text-selection-layer.svelte.js";
5
5
  import { noop } from "../../../internal/noop.js";
@@ -15,10 +15,10 @@
15
15
  }: TextSelectionLayerImplProps = $props();
16
16
 
17
17
  TextSelectionLayerState.create({
18
- id: box.with(() => id),
19
- onPointerDown: box.with(() => onPointerDown),
20
- onPointerUp: box.with(() => onPointerUp),
21
- enabled: box.with(() => enabled && preventOverflowTextSelection),
18
+ id: boxWith(() => id),
19
+ onPointerDown: boxWith(() => onPointerDown),
20
+ onPointerUp: boxWith(() => onPointerUp),
21
+ enabled: boxWith(() => enabled && preventOverflowTextSelection),
22
22
  ref,
23
23
  });
24
24
  </script>
@@ -1,25 +1,10 @@
1
+ export declare function boolToStr(condition: boolean): "true" | "false";
2
+ export declare function boolToStrTrueOrUndef(condition: boolean): "true" | undefined;
3
+ export declare function boolToEmptyStrOrUndef(condition: boolean): "" | undefined;
4
+ export declare function boolToTrueOrUndef(condition: boolean): true | undefined;
1
5
  export declare function getDataOpenClosed(condition: boolean): "open" | "closed";
2
6
  export declare function getDataChecked(condition: boolean): "checked" | "unchecked";
3
- export declare function getAriaDisabled(condition: boolean): "true" | "false";
4
- export declare function getAriaReadonly(condition: boolean): "true" | "false";
5
- export declare function getAriaExpanded(condition: boolean): "true" | "false";
6
- export declare function getDataDisabled(condition: boolean): "" | undefined;
7
- export declare function getAriaRequired(condition: boolean): "true" | "false";
8
- export declare function getAriaSelected(condition: boolean): "true" | "false";
9
7
  export declare function getAriaChecked(checked: boolean, indeterminate: boolean): "true" | "false" | "mixed";
10
- export declare function getAriaOrientation(orientation: "horizontal" | "vertical"): "horizontal" | "vertical";
11
- export declare function getAriaHidden(condition: boolean): "true" | undefined;
12
- export declare function getAriaInvalid(condition: boolean): "true" | undefined;
13
- export declare function getDataOrientation(orientation: "horizontal" | "vertical"): "horizontal" | "vertical";
14
- export declare function getDataInvalid(condition: boolean): "" | undefined;
15
- export declare function getDataRequired(condition: boolean): "" | undefined;
16
- export declare function getDataReadonly(condition: boolean): "" | undefined;
17
- export declare function getDataSelected(condition: boolean): "" | undefined;
18
- export declare function getDataUnavailable(condition: boolean): "" | undefined;
19
- export declare function getHidden(condition: boolean): true | undefined;
20
- export declare function getDisabled(condition: boolean): true | undefined;
21
- export declare function getAriaPressed(condition: boolean): "true" | "false";
22
- export declare function getRequired(condition: boolean): true | undefined;
23
8
  export type BitsAttrsConfig<T extends readonly string[]> = {
24
9
  component: string;
25
10
  parts: T;
@@ -1,26 +1,20 @@
1
- export function getDataOpenClosed(condition) {
2
- return condition ? "open" : "closed";
3
- }
4
- export function getDataChecked(condition) {
5
- return condition ? "checked" : "unchecked";
6
- }
7
- export function getAriaDisabled(condition) {
1
+ export function boolToStr(condition) {
8
2
  return condition ? "true" : "false";
9
3
  }
10
- export function getAriaReadonly(condition) {
11
- return condition ? "true" : "false";
12
- }
13
- export function getAriaExpanded(condition) {
14
- return condition ? "true" : "false";
4
+ export function boolToStrTrueOrUndef(condition) {
5
+ return condition ? "true" : undefined;
15
6
  }
16
- export function getDataDisabled(condition) {
7
+ export function boolToEmptyStrOrUndef(condition) {
17
8
  return condition ? "" : undefined;
18
9
  }
19
- export function getAriaRequired(condition) {
20
- return condition ? "true" : "false";
10
+ export function boolToTrueOrUndef(condition) {
11
+ return condition ? true : undefined;
21
12
  }
22
- export function getAriaSelected(condition) {
23
- return condition ? "true" : "false";
13
+ export function getDataOpenClosed(condition) {
14
+ return condition ? "open" : "closed";
15
+ }
16
+ export function getDataChecked(condition) {
17
+ return condition ? "checked" : "unchecked";
24
18
  }
25
19
  export function getAriaChecked(checked, indeterminate) {
26
20
  if (indeterminate) {
@@ -28,45 +22,6 @@ export function getAriaChecked(checked, indeterminate) {
28
22
  }
29
23
  return checked ? "true" : "false";
30
24
  }
31
- export function getAriaOrientation(orientation) {
32
- return orientation;
33
- }
34
- export function getAriaHidden(condition) {
35
- return condition ? "true" : undefined;
36
- }
37
- export function getAriaInvalid(condition) {
38
- return condition ? "true" : undefined;
39
- }
40
- export function getDataOrientation(orientation) {
41
- return orientation;
42
- }
43
- export function getDataInvalid(condition) {
44
- return condition ? "" : undefined;
45
- }
46
- export function getDataRequired(condition) {
47
- return condition ? "" : undefined;
48
- }
49
- export function getDataReadonly(condition) {
50
- return condition ? "" : undefined;
51
- }
52
- export function getDataSelected(condition) {
53
- return condition ? "" : undefined;
54
- }
55
- export function getDataUnavailable(condition) {
56
- return condition ? "" : undefined;
57
- }
58
- export function getHidden(condition) {
59
- return condition ? true : undefined;
60
- }
61
- export function getDisabled(condition) {
62
- return condition ? true : undefined;
63
- }
64
- export function getAriaPressed(condition) {
65
- return condition ? "true" : "false";
66
- }
67
- export function getRequired(condition) {
68
- return condition ? true : undefined;
69
- }
70
25
  export class BitsAttrs {
71
26
  #variant;
72
27
  #prefix;
@@ -1,18 +1,18 @@
1
1
  import { SvelteMap } from "svelte/reactivity";
2
- import { afterTick, box, onDestroyEffect } from "svelte-toolbelt";
2
+ import { afterTick, boxWith, onDestroyEffect, } from "svelte-toolbelt";
3
3
  import { isIOS } from "./is.js";
4
- import { addEventListener } from "./events.js";
5
4
  import { useId } from "./use-id.js";
6
5
  import { watch } from "runed";
7
6
  import { SharedState } from "./shared-state.svelte.js";
8
7
  import { BROWSER } from "esm-env";
8
+ import { on } from "svelte/events";
9
9
  /** A map of lock ids to their `locked` state. */
10
10
  const lockMap = new SvelteMap();
11
11
  let initialBodyStyle = $state(null);
12
12
  let stopTouchMoveListener = null;
13
13
  let cleanupTimeoutId = null;
14
14
  let isInCleanupTransition = false;
15
- const anyLocked = box.with(() => {
15
+ const anyLocked = boxWith(() => {
16
16
  for (const value of lockMap.values()) {
17
17
  if (value)
18
18
  return true;
@@ -104,7 +104,7 @@ const bodyLockStackCount = new SharedState(() => {
104
104
  }
105
105
  if (isIOS) {
106
106
  // IOS devices are special and require a touchmove listener to prevent scrolling
107
- stopTouchMoveListener = addEventListener(document, "touchmove", (e) => {
107
+ stopTouchMoveListener = on(document, "touchmove", (e) => {
108
108
  if (e.target !== document.documentElement)
109
109
  return;
110
110
  if (e.touches.length > 1)
@@ -163,7 +163,7 @@ export class BodyScrollLock {
163
163
  // capture initial style before this lock is registered
164
164
  this.#countState.ensureInitialStyleCaptured();
165
165
  this.#countState.lockMap.set(this.#id, this.#initialState ?? false);
166
- this.locked = box.with(() => this.#countState.lockMap.get(this.#id) ?? false, (v) => this.#countState.lockMap.set(this.#id, v));
166
+ this.locked = boxWith(() => this.#countState.lockMap.get(this.#id) ?? false, (v) => this.#countState.lockMap.set(this.#id, v));
167
167
  onDestroyEffect(() => {
168
168
  this.#countState.lockMap.delete(this.#id);
169
169
  // if not the last lock, we don't need to do anything
@@ -1,4 +1,4 @@
1
- import { box } from "svelte-toolbelt";
1
+ import { boxWith } from "svelte-toolbelt";
2
2
  import { noop } from "./noop.js";
3
3
  const defaultOptions = {
4
4
  afterMs: 10000,
@@ -26,7 +26,7 @@ export function boxAutoReset(defaultValue, options) {
26
26
  getWindow().clearTimeout(timeout);
27
27
  };
28
28
  });
29
- return box.with(() => value, (v) => {
29
+ return boxWith(() => value, (v) => {
30
30
  value = v;
31
31
  onChange?.(v);
32
32
  if (timeout)
@@ -2,7 +2,7 @@ import { endOfMonth, isSameDay, isSameMonth, startOfMonth, } from "@internationa
2
2
  import { afterTick, getDocument, styleToString, } from "svelte-toolbelt";
3
3
  import { untrack } from "svelte";
4
4
  import { getDaysInMonth, getLastFirstDayOfWeek, getNextLastDayOfWeek, hasTime, isAfter, isBefore, parseAnyDateValue, parseStringToDateValue, toDate, } from "./utils.js";
5
- import { createBitsAttrs, getDataDisabled, getDataInvalid, getDataReadonly, } from "../attrs.js";
5
+ import { createBitsAttrs, boolToEmptyStrOrUndef } from "../attrs.js";
6
6
  import { chunk, isValidIndex } from "../arrays.js";
7
7
  import { isBrowser, isHTMLElement } from "../is.js";
8
8
  import { kbd } from "../kbd.js";
@@ -441,9 +441,9 @@ export function getCalendarElementProps({ fullCalendarLabel, id, isInvalid, disa
441
441
  id,
442
442
  role: "application",
443
443
  "aria-label": fullCalendarLabel,
444
- "data-invalid": getDataInvalid(isInvalid),
445
- "data-disabled": getDataDisabled(disabled),
446
- "data-readonly": getDataReadonly(readonly),
444
+ "data-invalid": boolToEmptyStrOrUndef(isInvalid),
445
+ "data-disabled": boolToEmptyStrOrUndef(disabled),
446
+ "data-readonly": boolToEmptyStrOrUndef(readonly),
447
447
  };
448
448
  }
449
449
  export function pickerOpenFocus(e) {
@@ -1,9 +1,4 @@
1
- import type { Arrayable } from "./types.js";
2
1
  export type EventCallback<E extends Event = Event> = (event: E) => void;
3
- type GeneralEventListener<E = Event> = (evt: E) => unknown;
4
- export declare function addEventListener<E extends keyof WindowEventMap>(target: Window, event: Arrayable<E>, handler: (this: Window, ev: WindowEventMap[E]) => unknown, options?: boolean | AddEventListenerOptions): VoidFunction;
5
- export declare function addEventListener<E extends keyof DocumentEventMap>(target: Document, event: Arrayable<E>, handler: (this: Document, ev: DocumentEventMap[E]) => unknown, options?: boolean | AddEventListenerOptions): VoidFunction;
6
- export declare function addEventListener<E extends keyof HTMLElementEventMap>(target: EventTarget, event: Arrayable<E>, handler: GeneralEventListener<HTMLElementEventMap[E]>, options?: boolean | AddEventListenerOptions): VoidFunction;
7
2
  /**
8
3
  * Creates a typed event dispatcher and listener pair for custom events
9
4
  * @template T - The type of data that will be passed in the event detail
@@ -18,4 +13,3 @@ export declare class CustomEventDispatcher<T = unknown> {
18
13
  dispatch(element: EventTarget, detail?: T): CustomEvent<T>;
19
14
  listen(element: EventTarget, callback: (event: CustomEvent<T>) => void, options?: AddEventListenerOptions): () => void;
20
15
  }
21
- export {};
@@ -1,21 +1,4 @@
1
1
  import { on } from "svelte/events";
2
- /**
3
- * Adds an event listener to the specified target element(s) for the given event(s), and returns a function to remove it.
4
- * @param target The target element(s) to add the event listener to.
5
- * @param event The event(s) to listen for.
6
- * @param handler The function to be called when the event is triggered.
7
- * @param options An optional object that specifies characteristics about the event listener.
8
- * @returns A function that removes the event listener from the target element(s).
9
- */
10
- export function addEventListener(target, event, handler, options) {
11
- const events = Array.isArray(event) ? event : [event];
12
- // Add the event listener to each specified event for the target element(s).
13
- events.forEach((_event) => target.addEventListener(_event, handler, options));
14
- // Return a function that removes the event listener from the target element(s).
15
- return () => {
16
- events.forEach((_event) => target.removeEventListener(_event, handler, options));
17
- };
18
- }
19
2
  /**
20
3
  * Creates a typed event dispatcher and listener pair for custom events
21
4
  * @template T - The type of data that will be passed in the event detail
@@ -1,5 +1,5 @@
1
1
  import { computePosition } from "@floating-ui/dom";
2
- import { box } from "svelte-toolbelt";
2
+ import { simpleBox } from "svelte-toolbelt";
3
3
  import { get, getDPR, roundByDPR } from "./floating-utils.svelte.js";
4
4
  export function useFloating(options) {
5
5
  /** Options */
@@ -15,7 +15,7 @@ export function useFloating(options) {
15
15
  /** State */
16
16
  let x = $state(0);
17
17
  let y = $state(0);
18
- const floating = box(null);
18
+ const floating = simpleBox(null);
19
19
  // svelte-ignore state_referenced_locally
20
20
  let strategy = $state(strategyOption);
21
21
  // svelte-ignore state_referenced_locally
@@ -1,9 +1,9 @@
1
- import { box } from "svelte-toolbelt";
1
+ import { simpleBox } from "svelte-toolbelt";
2
2
  export class StateMachine {
3
3
  state;
4
4
  #machine;
5
5
  constructor(initialState, machine) {
6
- this.state = box(initialState);
6
+ this.state = simpleBox(initialState);
7
7
  this.#machine = machine;
8
8
  this.dispatch = this.dispatch.bind(this);
9
9
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bits-ui",
3
- "version": "2.10.0",
3
+ "version": "2.11.1",
4
4
  "license": "MIT",
5
5
  "repository": "github:huntabyte/bits-ui",
6
6
  "funding": "https://github.com/sponsors/huntabyte",
@@ -42,7 +42,7 @@
42
42
  "@floating-ui/dom": "^1.7.1",
43
43
  "esm-env": "^1.1.2",
44
44
  "runed": "^0.31.1",
45
- "svelte-toolbelt": "^0.9.3",
45
+ "svelte-toolbelt": "^0.10.4",
46
46
  "tabbable": "^6.2.0"
47
47
  },
48
48
  "peerDependencies": {