bits-ui 1.0.0-next.6 → 1.0.0-next.61

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 (760) hide show
  1. package/dist/app.d.ts +15 -0
  2. package/dist/bits/accordion/accordion.svelte.d.ts +7 -9
  3. package/dist/bits/accordion/accordion.svelte.js +25 -19
  4. package/dist/bits/accordion/components/accordion-content.svelte +3 -4
  5. package/dist/bits/accordion/components/accordion-header.svelte +2 -3
  6. package/dist/bits/accordion/components/accordion-item.svelte +2 -3
  7. package/dist/bits/accordion/components/accordion-trigger.svelte +2 -3
  8. package/dist/bits/accordion/components/accordion.svelte +5 -6
  9. package/dist/bits/accordion/components/accordion.svelte.d.ts +2 -2
  10. package/dist/bits/accordion/exports.d.ts +6 -0
  11. package/dist/bits/accordion/exports.js +5 -0
  12. package/dist/bits/accordion/index.d.ts +1 -6
  13. package/dist/bits/accordion/index.js +1 -5
  14. package/dist/bits/accordion/types.d.ts +9 -9
  15. package/dist/bits/alert-dialog/components/alert-dialog-action.svelte +7 -9
  16. package/dist/bits/alert-dialog/components/alert-dialog-action.svelte.d.ts +1 -1
  17. package/dist/bits/alert-dialog/components/alert-dialog-cancel.svelte +6 -5
  18. package/dist/bits/alert-dialog/components/alert-dialog-cancel.svelte.d.ts +1 -1
  19. package/dist/bits/alert-dialog/components/alert-dialog-content.svelte +20 -17
  20. package/dist/bits/alert-dialog/components/alert-dialog.svelte +3 -3
  21. package/dist/bits/alert-dialog/exports.d.ts +10 -0
  22. package/dist/bits/alert-dialog/exports.js +9 -0
  23. package/dist/bits/alert-dialog/index.d.ts +1 -10
  24. package/dist/bits/alert-dialog/index.js +1 -9
  25. package/dist/bits/alert-dialog/types.d.ts +1 -1
  26. package/dist/bits/aspect-ratio/aspect-ratio.svelte.js +1 -1
  27. package/dist/bits/aspect-ratio/components/aspect-ratio.svelte +4 -5
  28. package/dist/bits/aspect-ratio/components/aspect-ratio.svelte.d.ts +2 -2
  29. package/dist/bits/aspect-ratio/exports.d.ts +2 -0
  30. package/dist/bits/aspect-ratio/exports.js +1 -0
  31. package/dist/bits/aspect-ratio/index.d.ts +1 -2
  32. package/dist/bits/aspect-ratio/index.js +1 -1
  33. package/dist/bits/aspect-ratio/types.d.ts +3 -3
  34. package/dist/bits/avatar/avatar.svelte.d.ts +9 -7
  35. package/dist/bits/avatar/avatar.svelte.js +37 -27
  36. package/dist/bits/avatar/components/avatar-fallback.svelte +4 -5
  37. package/dist/bits/avatar/components/avatar-fallback.svelte.d.ts +2 -2
  38. package/dist/bits/avatar/components/avatar-image.svelte +14 -5
  39. package/dist/bits/avatar/components/avatar-image.svelte.d.ts +2 -2
  40. package/dist/bits/avatar/components/avatar.svelte +4 -5
  41. package/dist/bits/avatar/components/avatar.svelte.d.ts +2 -2
  42. package/dist/bits/avatar/exports.d.ts +4 -0
  43. package/dist/bits/avatar/exports.js +3 -0
  44. package/dist/bits/avatar/index.d.ts +1 -4
  45. package/dist/bits/avatar/index.js +1 -3
  46. package/dist/bits/avatar/types.d.ts +4 -4
  47. package/dist/bits/button/components/button.svelte +2 -2
  48. package/dist/bits/button/components/button.svelte.d.ts +3 -3
  49. package/dist/bits/button/exports.d.ts +2 -0
  50. package/dist/bits/button/exports.js +1 -0
  51. package/dist/bits/button/index.d.ts +1 -2
  52. package/dist/bits/button/index.js +1 -1
  53. package/dist/bits/button/types.d.ts +4 -4
  54. package/dist/bits/calendar/calendar.svelte.d.ts +24 -71
  55. package/dist/bits/calendar/calendar.svelte.js +55 -77
  56. package/dist/bits/calendar/components/calendar-cell.svelte +4 -5
  57. package/dist/bits/calendar/components/calendar-cell.svelte.d.ts +2 -2
  58. package/dist/bits/calendar/components/calendar-day.svelte +10 -5
  59. package/dist/bits/calendar/components/calendar-day.svelte.d.ts +2 -2
  60. package/dist/bits/calendar/components/calendar-grid-body.svelte +4 -5
  61. package/dist/bits/calendar/components/calendar-grid-body.svelte.d.ts +2 -2
  62. package/dist/bits/calendar/components/calendar-grid-head.svelte +4 -5
  63. package/dist/bits/calendar/components/calendar-grid-head.svelte.d.ts +2 -2
  64. package/dist/bits/calendar/components/calendar-grid-row.svelte +4 -5
  65. package/dist/bits/calendar/components/calendar-grid-row.svelte.d.ts +2 -2
  66. package/dist/bits/calendar/components/calendar-grid.svelte +4 -5
  67. package/dist/bits/calendar/components/calendar-grid.svelte.d.ts +2 -2
  68. package/dist/bits/calendar/components/calendar-head-cell.svelte +4 -5
  69. package/dist/bits/calendar/components/calendar-head-cell.svelte.d.ts +2 -2
  70. package/dist/bits/calendar/components/calendar-header.svelte +4 -5
  71. package/dist/bits/calendar/components/calendar-header.svelte.d.ts +2 -2
  72. package/dist/bits/calendar/components/calendar-heading.svelte +4 -5
  73. package/dist/bits/calendar/components/calendar-heading.svelte.d.ts +2 -2
  74. package/dist/bits/calendar/components/calendar-next-button.svelte +4 -5
  75. package/dist/bits/calendar/components/calendar-next-button.svelte.d.ts +2 -2
  76. package/dist/bits/calendar/components/calendar-prev-button.svelte +4 -5
  77. package/dist/bits/calendar/components/calendar-prev-button.svelte.d.ts +2 -2
  78. package/dist/bits/calendar/components/calendar.svelte +22 -8
  79. package/dist/bits/calendar/components/calendar.svelte.d.ts +2 -2
  80. package/dist/bits/calendar/exports.d.ts +13 -0
  81. package/dist/bits/calendar/exports.js +12 -0
  82. package/dist/bits/calendar/index.d.ts +1 -13
  83. package/dist/bits/calendar/index.js +1 -12
  84. package/dist/bits/calendar/types.d.ts +15 -15
  85. package/dist/bits/checkbox/checkbox.svelte.d.ts +8 -5
  86. package/dist/bits/checkbox/checkbox.svelte.js +29 -17
  87. package/dist/bits/checkbox/components/checkbox.svelte +26 -6
  88. package/dist/bits/checkbox/components/checkbox.svelte.d.ts +3 -3
  89. package/dist/bits/checkbox/exports.d.ts +2 -0
  90. package/dist/bits/checkbox/exports.js +1 -0
  91. package/dist/bits/checkbox/index.d.ts +1 -2
  92. package/dist/bits/checkbox/index.js +1 -1
  93. package/dist/bits/checkbox/types.d.ts +25 -6
  94. package/dist/bits/collapsible/collapsible.svelte.d.ts +4 -4
  95. package/dist/bits/collapsible/collapsible.svelte.js +31 -14
  96. package/dist/bits/collapsible/components/collapsible-content.svelte +3 -4
  97. package/dist/bits/collapsible/components/collapsible-content.svelte.d.ts +3 -3
  98. package/dist/bits/collapsible/components/collapsible-trigger.svelte +4 -5
  99. package/dist/bits/collapsible/components/collapsible-trigger.svelte.d.ts +2 -2
  100. package/dist/bits/collapsible/components/collapsible.svelte +5 -6
  101. package/dist/bits/collapsible/components/collapsible.svelte.d.ts +3 -3
  102. package/dist/bits/collapsible/exports.d.ts +4 -0
  103. package/dist/bits/collapsible/exports.js +3 -0
  104. package/dist/bits/collapsible/index.d.ts +1 -4
  105. package/dist/bits/collapsible/index.js +1 -3
  106. package/dist/bits/collapsible/types.d.ts +6 -6
  107. package/dist/bits/combobox/components/combobox-input.svelte +6 -7
  108. package/dist/bits/combobox/components/combobox-input.svelte.d.ts +2 -2
  109. package/dist/bits/combobox/components/combobox-trigger.svelte +8 -8
  110. package/dist/bits/combobox/components/combobox-trigger.svelte.d.ts +2 -2
  111. package/dist/bits/combobox/components/combobox.svelte +17 -13
  112. package/dist/bits/combobox/components/combobox.svelte.d.ts +1 -1
  113. package/dist/bits/combobox/exports.d.ts +15 -0
  114. package/dist/bits/combobox/exports.js +14 -0
  115. package/dist/bits/combobox/index.d.ts +1 -8
  116. package/dist/bits/combobox/index.js +1 -7
  117. package/dist/bits/combobox/types.d.ts +3 -3
  118. package/dist/bits/command/command.svelte.d.ts +5 -13
  119. package/dist/bits/command/command.svelte.js +30 -47
  120. package/dist/bits/command/components/_command-label.svelte +2 -2
  121. package/dist/bits/command/components/_command-label.svelte.d.ts +2 -2
  122. package/dist/bits/command/components/command-empty.svelte +4 -5
  123. package/dist/bits/command/components/command-empty.svelte.d.ts +2 -2
  124. package/dist/bits/command/components/command-group-heading.svelte +4 -5
  125. package/dist/bits/command/components/command-group-heading.svelte.d.ts +2 -2
  126. package/dist/bits/command/components/command-group-items.svelte +4 -5
  127. package/dist/bits/command/components/command-group-items.svelte.d.ts +2 -2
  128. package/dist/bits/command/components/command-group.svelte +2 -3
  129. package/dist/bits/command/components/command-input.svelte +4 -5
  130. package/dist/bits/command/components/command-input.svelte.d.ts +2 -2
  131. package/dist/bits/command/components/command-item.svelte +5 -6
  132. package/dist/bits/command/components/command-item.svelte.d.ts +2 -2
  133. package/dist/bits/command/components/command-link-item.svelte +5 -6
  134. package/dist/bits/command/components/command-link-item.svelte.d.ts +2 -2
  135. package/dist/bits/command/components/command-list.svelte +4 -5
  136. package/dist/bits/command/components/command-list.svelte.d.ts +2 -2
  137. package/dist/bits/command/components/command-loading.svelte +4 -5
  138. package/dist/bits/command/components/command-loading.svelte.d.ts +2 -2
  139. package/dist/bits/command/components/command-separator.svelte +4 -5
  140. package/dist/bits/command/components/command-separator.svelte.d.ts +2 -2
  141. package/dist/bits/command/components/command-viewport.svelte +3 -3
  142. package/dist/bits/command/components/command-viewport.svelte.d.ts +2 -2
  143. package/dist/bits/command/components/command.svelte +5 -6
  144. package/dist/bits/command/components/command.svelte.d.ts +2 -2
  145. package/dist/bits/command/exports.d.ts +13 -0
  146. package/dist/bits/command/exports.js +12 -0
  147. package/dist/bits/command/index.d.ts +1 -13
  148. package/dist/bits/command/index.js +1 -12
  149. package/dist/bits/command/types.d.ts +13 -13
  150. package/dist/bits/context-menu/components/context-menu-content-static.svelte +80 -45
  151. package/dist/bits/context-menu/components/context-menu-content-static.svelte.d.ts +2 -2
  152. package/dist/bits/context-menu/components/context-menu-content.svelte +75 -51
  153. package/dist/bits/context-menu/components/context-menu-content.svelte.d.ts +2 -2
  154. package/dist/bits/context-menu/components/context-menu-trigger.svelte +4 -5
  155. package/dist/bits/context-menu/components/context-menu-trigger.svelte.d.ts +2 -2
  156. package/dist/bits/context-menu/components/context-menu.svelte +6 -6
  157. package/dist/bits/context-menu/components/context-menu.svelte.d.ts +1 -2
  158. package/dist/bits/context-menu/exports.d.ts +18 -0
  159. package/dist/bits/context-menu/exports.js +17 -0
  160. package/dist/bits/context-menu/index.d.ts +1 -18
  161. package/dist/bits/context-menu/index.js +1 -17
  162. package/dist/bits/context-menu/types.d.ts +3 -3
  163. package/dist/bits/date-field/components/date-field-input.svelte +4 -5
  164. package/dist/bits/date-field/components/date-field-input.svelte.d.ts +2 -2
  165. package/dist/bits/date-field/components/date-field-label.svelte +4 -5
  166. package/dist/bits/date-field/components/date-field-label.svelte.d.ts +2 -2
  167. package/dist/bits/date-field/components/date-field-segment.svelte +4 -5
  168. package/dist/bits/date-field/components/date-field-segment.svelte.d.ts +2 -2
  169. package/dist/bits/date-field/components/date-field.svelte +4 -4
  170. package/dist/bits/date-field/date-field.svelte.d.ts +43 -49
  171. package/dist/bits/date-field/date-field.svelte.js +94 -97
  172. package/dist/bits/date-field/exports.d.ts +5 -0
  173. package/dist/bits/date-field/exports.js +4 -0
  174. package/dist/bits/date-field/index.d.ts +1 -5
  175. package/dist/bits/date-field/index.js +1 -4
  176. package/dist/bits/date-field/types.d.ts +6 -7
  177. package/dist/bits/date-picker/components/date-picker-calendar.svelte +4 -5
  178. package/dist/bits/date-picker/components/date-picker-calendar.svelte.d.ts +2 -2
  179. package/dist/bits/date-picker/components/date-picker-content-static.svelte +8 -4
  180. package/dist/bits/date-picker/components/date-picker-content-static.svelte.d.ts +2 -2
  181. package/dist/bits/date-picker/components/date-picker-content.svelte +4 -4
  182. package/dist/bits/date-picker/components/date-picker-content.svelte.d.ts +2 -2
  183. package/dist/bits/date-picker/components/date-picker-trigger.svelte +7 -4
  184. package/dist/bits/date-picker/components/date-picker-trigger.svelte.d.ts +2 -2
  185. package/dist/bits/date-picker/components/date-picker.svelte +4 -4
  186. package/dist/bits/date-picker/date-picker.svelte.d.ts +2 -2
  187. package/dist/bits/date-picker/date-picker.svelte.js +1 -1
  188. package/dist/bits/date-picker/exports.d.ts +22 -0
  189. package/dist/bits/date-picker/exports.js +21 -0
  190. package/dist/bits/date-picker/index.d.ts +1 -22
  191. package/dist/bits/date-picker/index.js +1 -21
  192. package/dist/bits/date-picker/types.d.ts +4 -4
  193. package/dist/bits/date-range-field/components/date-range-field-input.svelte +4 -5
  194. package/dist/bits/date-range-field/components/date-range-field-input.svelte.d.ts +2 -2
  195. package/dist/bits/date-range-field/components/date-range-field-label.svelte +4 -5
  196. package/dist/bits/date-range-field/components/date-range-field-label.svelte.d.ts +2 -2
  197. package/dist/bits/date-range-field/components/date-range-field.svelte +6 -7
  198. package/dist/bits/date-range-field/components/date-range-field.svelte.d.ts +2 -2
  199. package/dist/bits/date-range-field/date-range-field.svelte.d.ts +5 -25
  200. package/dist/bits/date-range-field/date-range-field.svelte.js +30 -51
  201. package/dist/bits/date-range-field/exports.d.ts +5 -0
  202. package/dist/bits/date-range-field/exports.js +4 -0
  203. package/dist/bits/date-range-field/index.d.ts +1 -5
  204. package/dist/bits/date-range-field/index.js +1 -4
  205. package/dist/bits/date-range-field/types.d.ts +6 -6
  206. package/dist/bits/date-range-picker/components/date-range-picker-calendar.svelte +4 -5
  207. package/dist/bits/date-range-picker/components/date-range-picker-calendar.svelte.d.ts +2 -2
  208. package/dist/bits/date-range-picker/components/date-range-picker-trigger.svelte +7 -4
  209. package/dist/bits/date-range-picker/components/date-range-picker-trigger.svelte.d.ts +2 -2
  210. package/dist/bits/date-range-picker/components/date-range-picker.svelte +9 -10
  211. package/dist/bits/date-range-picker/components/date-range-picker.svelte.d.ts +2 -2
  212. package/dist/bits/date-range-picker/date-range-picker.svelte.d.ts +2 -2
  213. package/dist/bits/date-range-picker/date-range-picker.svelte.js +1 -1
  214. package/dist/bits/date-range-picker/exports.d.ts +21 -0
  215. package/dist/bits/date-range-picker/exports.js +20 -0
  216. package/dist/bits/date-range-picker/index.d.ts +1 -21
  217. package/dist/bits/date-range-picker/index.js +1 -20
  218. package/dist/bits/date-range-picker/types.d.ts +5 -6
  219. package/dist/bits/dialog/components/dialog-close.svelte +6 -5
  220. package/dist/bits/dialog/components/dialog-content.svelte +20 -17
  221. package/dist/bits/dialog/components/dialog-content.svelte.d.ts +2 -2
  222. package/dist/bits/dialog/components/dialog-description.svelte +4 -5
  223. package/dist/bits/dialog/components/dialog-description.svelte.d.ts +2 -2
  224. package/dist/bits/dialog/components/dialog-overlay.svelte +4 -5
  225. package/dist/bits/dialog/components/dialog-overlay.svelte.d.ts +2 -2
  226. package/dist/bits/dialog/components/dialog-title.svelte +4 -5
  227. package/dist/bits/dialog/components/dialog-title.svelte.d.ts +2 -2
  228. package/dist/bits/dialog/components/dialog-trigger.svelte +6 -5
  229. package/dist/bits/dialog/components/dialog-trigger.svelte.d.ts +2 -2
  230. package/dist/bits/dialog/components/dialog.svelte +3 -3
  231. package/dist/bits/dialog/dialog.svelte.d.ts +35 -14
  232. package/dist/bits/dialog/dialog.svelte.js +133 -39
  233. package/dist/bits/dialog/exports.d.ts +9 -0
  234. package/dist/bits/dialog/exports.js +8 -0
  235. package/dist/bits/dialog/index.d.ts +1 -9
  236. package/dist/bits/dialog/index.js +1 -8
  237. package/dist/bits/dialog/types.d.ts +9 -10
  238. package/dist/bits/dropdown-menu/components/dropdown-menu-content-static.svelte +67 -33
  239. package/dist/bits/dropdown-menu/components/dropdown-menu-content-static.svelte.d.ts +2 -2
  240. package/dist/bits/dropdown-menu/components/dropdown-menu-content.svelte +64 -34
  241. package/dist/bits/dropdown-menu/components/dropdown-menu-content.svelte.d.ts +2 -2
  242. package/dist/bits/dropdown-menu/exports.d.ts +18 -0
  243. package/dist/bits/dropdown-menu/exports.js +17 -0
  244. package/dist/bits/dropdown-menu/index.d.ts +1 -18
  245. package/dist/bits/dropdown-menu/index.js +1 -17
  246. package/dist/bits/dropdown-menu/types.d.ts +1 -1
  247. package/dist/bits/index.d.ts +37 -38
  248. package/dist/bits/index.js +37 -38
  249. package/dist/bits/label/components/label.svelte +4 -5
  250. package/dist/bits/label/components/label.svelte.d.ts +2 -2
  251. package/dist/bits/label/exports.d.ts +2 -0
  252. package/dist/bits/label/exports.js +1 -0
  253. package/dist/bits/label/index.d.ts +1 -2
  254. package/dist/bits/label/index.js +1 -1
  255. package/dist/bits/label/label.svelte.js +1 -1
  256. package/dist/bits/label/types.d.ts +2 -2
  257. package/dist/bits/link-preview/components/link-preview-content-static.svelte +92 -34
  258. package/dist/bits/link-preview/components/link-preview-content-static.svelte.d.ts +2 -2
  259. package/dist/bits/link-preview/components/link-preview-content.svelte +71 -35
  260. package/dist/bits/link-preview/components/link-preview-content.svelte.d.ts +2 -2
  261. package/dist/bits/link-preview/components/link-preview-trigger.svelte +4 -5
  262. package/dist/bits/link-preview/components/link-preview-trigger.svelte.d.ts +2 -2
  263. package/dist/bits/link-preview/components/link-preview.svelte +3 -3
  264. package/dist/bits/link-preview/exports.d.ts +7 -0
  265. package/dist/bits/link-preview/exports.js +6 -0
  266. package/dist/bits/link-preview/index.d.ts +1 -7
  267. package/dist/bits/link-preview/index.js +1 -6
  268. package/dist/bits/link-preview/link-preview.svelte.d.ts +4 -3
  269. package/dist/bits/link-preview/link-preview.svelte.js +23 -16
  270. package/dist/bits/link-preview/types.d.ts +6 -6
  271. package/dist/bits/menu/components/menu-arrow.svelte +5 -5
  272. package/dist/bits/menu/components/menu-checkbox-item.svelte +23 -8
  273. package/dist/bits/menu/components/menu-checkbox-item.svelte.d.ts +3 -3
  274. package/dist/bits/menu/components/menu-content-static.svelte +73 -48
  275. package/dist/bits/menu/components/menu-content-static.svelte.d.ts +2 -2
  276. package/dist/bits/menu/components/menu-content.svelte +70 -48
  277. package/dist/bits/menu/components/menu-content.svelte.d.ts +2 -2
  278. package/dist/bits/menu/components/menu-group-heading.svelte +4 -5
  279. package/dist/bits/menu/components/menu-group-heading.svelte.d.ts +2 -2
  280. package/dist/bits/menu/components/menu-group.svelte +4 -5
  281. package/dist/bits/menu/components/menu-group.svelte.d.ts +2 -2
  282. package/dist/bits/menu/components/menu-item.svelte +7 -6
  283. package/dist/bits/menu/components/menu-item.svelte.d.ts +2 -2
  284. package/dist/bits/menu/components/menu-radio-group.svelte +5 -6
  285. package/dist/bits/menu/components/menu-radio-group.svelte.d.ts +2 -2
  286. package/dist/bits/menu/components/menu-radio-item.svelte +7 -6
  287. package/dist/bits/menu/components/menu-radio-item.svelte.d.ts +2 -2
  288. package/dist/bits/menu/components/menu-separator.svelte +4 -5
  289. package/dist/bits/menu/components/menu-separator.svelte.d.ts +2 -2
  290. package/dist/bits/menu/components/menu-sub-content-static.svelte +88 -53
  291. package/dist/bits/menu/components/menu-sub-content-static.svelte.d.ts +2 -2
  292. package/dist/bits/menu/components/menu-sub-content.svelte +82 -51
  293. package/dist/bits/menu/components/menu-sub-content.svelte.d.ts +2 -2
  294. package/dist/bits/menu/components/menu-sub-trigger.svelte +7 -8
  295. package/dist/bits/menu/components/menu-sub-trigger.svelte.d.ts +2 -2
  296. package/dist/bits/menu/components/menu-sub.svelte +6 -6
  297. package/dist/bits/menu/components/menu-sub.svelte.d.ts +1 -2
  298. package/dist/bits/menu/components/menu-trigger.svelte +7 -8
  299. package/dist/bits/menu/components/menu-trigger.svelte.d.ts +2 -2
  300. package/dist/bits/menu/components/menu.svelte +6 -6
  301. package/dist/bits/menu/menu.svelte.d.ts +22 -43
  302. package/dist/bits/menu/menu.svelte.js +94 -134
  303. package/dist/bits/menu/types.d.ts +62 -23
  304. package/dist/bits/menubar/components/menubar-content-static.svelte +4 -5
  305. package/dist/bits/menubar/components/menubar-content-static.svelte.d.ts +2 -2
  306. package/dist/bits/menubar/components/menubar-content.svelte +4 -5
  307. package/dist/bits/menubar/components/menubar-content.svelte.d.ts +2 -2
  308. package/dist/bits/menubar/components/menubar-menu.svelte +3 -3
  309. package/dist/bits/menubar/components/menubar-trigger.svelte +4 -5
  310. package/dist/bits/menubar/components/menubar-trigger.svelte.d.ts +2 -2
  311. package/dist/bits/menubar/components/menubar.svelte +5 -6
  312. package/dist/bits/menubar/components/menubar.svelte.d.ts +2 -2
  313. package/dist/bits/menubar/exports.d.ts +19 -0
  314. package/dist/bits/menubar/exports.js +17 -0
  315. package/dist/bits/menubar/index.d.ts +1 -19
  316. package/dist/bits/menubar/index.js +1 -17
  317. package/dist/bits/menubar/menubar.svelte.d.ts +2 -5
  318. package/dist/bits/menubar/menubar.svelte.js +8 -19
  319. package/dist/bits/menubar/types.d.ts +5 -5
  320. package/dist/bits/navigation-menu/components/navigation-menu-content.svelte +5 -6
  321. package/dist/bits/navigation-menu/components/navigation-menu-content.svelte.d.ts +2 -2
  322. package/dist/bits/navigation-menu/components/navigation-menu-indicator.svelte +4 -5
  323. package/dist/bits/navigation-menu/components/navigation-menu-indicator.svelte.d.ts +2 -2
  324. package/dist/bits/navigation-menu/components/navigation-menu-item.svelte +4 -5
  325. package/dist/bits/navigation-menu/components/navigation-menu-item.svelte.d.ts +2 -2
  326. package/dist/bits/navigation-menu/components/navigation-menu-link.svelte +5 -6
  327. package/dist/bits/navigation-menu/components/navigation-menu-link.svelte.d.ts +2 -2
  328. package/dist/bits/navigation-menu/components/navigation-menu-list.svelte +4 -5
  329. package/dist/bits/navigation-menu/components/navigation-menu-list.svelte.d.ts +2 -2
  330. package/dist/bits/navigation-menu/components/navigation-menu-trigger.svelte +4 -5
  331. package/dist/bits/navigation-menu/components/navigation-menu-trigger.svelte.d.ts +2 -2
  332. package/dist/bits/navigation-menu/components/navigation-menu-viewport.svelte +4 -5
  333. package/dist/bits/navigation-menu/components/navigation-menu-viewport.svelte.d.ts +2 -2
  334. package/dist/bits/navigation-menu/components/navigation-menu.svelte +5 -6
  335. package/dist/bits/navigation-menu/components/navigation-menu.svelte.d.ts +2 -2
  336. package/dist/bits/navigation-menu/exports.d.ts +9 -0
  337. package/dist/bits/navigation-menu/exports.js +8 -0
  338. package/dist/bits/navigation-menu/index.d.ts +1 -9
  339. package/dist/bits/navigation-menu/index.js +1 -8
  340. package/dist/bits/navigation-menu/navigation-menu.svelte.d.ts +4 -14
  341. package/dist/bits/navigation-menu/navigation-menu.svelte.js +21 -57
  342. package/dist/bits/navigation-menu/types.d.ts +11 -12
  343. package/dist/bits/pagination/components/pagination-next-button.svelte +6 -5
  344. package/dist/bits/pagination/components/pagination-next-button.svelte.d.ts +2 -2
  345. package/dist/bits/pagination/components/pagination-page.svelte +6 -5
  346. package/dist/bits/pagination/components/pagination-page.svelte.d.ts +2 -2
  347. package/dist/bits/pagination/components/pagination-prev-button.svelte +6 -5
  348. package/dist/bits/pagination/components/pagination-prev-button.svelte.d.ts +2 -2
  349. package/dist/bits/pagination/components/pagination.svelte +5 -6
  350. package/dist/bits/pagination/components/pagination.svelte.d.ts +3 -3
  351. package/dist/bits/pagination/exports.d.ts +5 -0
  352. package/dist/bits/pagination/exports.js +4 -0
  353. package/dist/bits/pagination/index.d.ts +1 -5
  354. package/dist/bits/pagination/index.js +1 -4
  355. package/dist/bits/pagination/pagination.svelte.d.ts +14 -7
  356. package/dist/bits/pagination/pagination.svelte.js +76 -20
  357. package/dist/bits/pagination/types.d.ts +6 -5
  358. package/dist/bits/pin-input/components/pin-input-cell.svelte +4 -5
  359. package/dist/bits/pin-input/components/pin-input-cell.svelte.d.ts +2 -2
  360. package/dist/bits/pin-input/components/pin-input.svelte +7 -8
  361. package/dist/bits/pin-input/components/pin-input.svelte.d.ts +2 -2
  362. package/dist/bits/pin-input/exports.d.ts +3 -0
  363. package/dist/bits/pin-input/exports.js +2 -0
  364. package/dist/bits/pin-input/index.d.ts +1 -3
  365. package/dist/bits/pin-input/index.js +1 -2
  366. package/dist/bits/pin-input/pin-input.svelte.d.ts +5 -3
  367. package/dist/bits/pin-input/pin-input.svelte.js +58 -10
  368. package/dist/bits/pin-input/types.d.ts +3 -3
  369. package/dist/bits/pin-input/usePasswordManager.svelte.js +6 -6
  370. package/dist/bits/popover/components/popover-arrow.svelte +4 -4
  371. package/dist/bits/popover/components/popover-close.svelte +4 -5
  372. package/dist/bits/popover/components/popover-close.svelte.d.ts +2 -2
  373. package/dist/bits/popover/components/popover-content-static.svelte +73 -35
  374. package/dist/bits/popover/components/popover-content-static.svelte.d.ts +2 -2
  375. package/dist/bits/popover/components/popover-content.svelte +69 -35
  376. package/dist/bits/popover/components/popover-content.svelte.d.ts +2 -2
  377. package/dist/bits/popover/components/popover-trigger.svelte +9 -8
  378. package/dist/bits/popover/components/popover-trigger.svelte.d.ts +2 -2
  379. package/dist/bits/popover/components/popover.svelte +6 -6
  380. package/dist/bits/popover/exports.d.ts +9 -0
  381. package/dist/bits/popover/exports.js +7 -0
  382. package/dist/bits/popover/index.d.ts +1 -9
  383. package/dist/bits/popover/index.js +1 -7
  384. package/dist/bits/popover/popover.svelte.d.ts +12 -7
  385. package/dist/bits/popover/popover.svelte.js +40 -20
  386. package/dist/bits/popover/types.d.ts +8 -8
  387. package/dist/bits/progress/components/progress.svelte +4 -5
  388. package/dist/bits/progress/components/progress.svelte.d.ts +2 -2
  389. package/dist/bits/progress/exports.d.ts +2 -0
  390. package/dist/bits/progress/exports.js +1 -0
  391. package/dist/bits/progress/index.d.ts +1 -2
  392. package/dist/bits/progress/index.js +1 -1
  393. package/dist/bits/progress/progress.svelte.js +1 -1
  394. package/dist/bits/progress/types.d.ts +2 -2
  395. package/dist/bits/radio-group/components/radio-group-item.svelte +4 -5
  396. package/dist/bits/radio-group/components/radio-group-item.svelte.d.ts +2 -2
  397. package/dist/bits/radio-group/components/radio-group.svelte +6 -6
  398. package/dist/bits/radio-group/components/radio-group.svelte.d.ts +2 -2
  399. package/dist/bits/radio-group/exports.d.ts +3 -0
  400. package/dist/bits/radio-group/exports.js +2 -0
  401. package/dist/bits/radio-group/index.d.ts +1 -3
  402. package/dist/bits/radio-group/index.js +1 -2
  403. package/dist/bits/radio-group/radio-group.svelte.d.ts +8 -8
  404. package/dist/bits/radio-group/radio-group.svelte.js +26 -17
  405. package/dist/bits/radio-group/types.d.ts +3 -3
  406. package/dist/bits/range-calendar/components/range-calendar-cell.svelte +4 -5
  407. package/dist/bits/range-calendar/components/range-calendar-cell.svelte.d.ts +2 -2
  408. package/dist/bits/range-calendar/components/range-calendar-day.svelte +10 -5
  409. package/dist/bits/range-calendar/components/range-calendar-day.svelte.d.ts +2 -2
  410. package/dist/bits/range-calendar/components/range-calendar.svelte +6 -9
  411. package/dist/bits/range-calendar/components/range-calendar.svelte.d.ts +2 -2
  412. package/dist/bits/range-calendar/exports.d.ts +13 -0
  413. package/dist/bits/range-calendar/exports.js +12 -0
  414. package/dist/bits/range-calendar/index.d.ts +1 -13
  415. package/dist/bits/range-calendar/index.js +1 -12
  416. package/dist/bits/range-calendar/range-calendar.svelte.d.ts +7 -19
  417. package/dist/bits/range-calendar/range-calendar.svelte.js +32 -49
  418. package/dist/bits/range-calendar/types.d.ts +3 -4
  419. package/dist/bits/scroll-area/components/scroll-area-corner-impl.svelte +3 -4
  420. package/dist/bits/scroll-area/components/scroll-area-corner-impl.svelte.d.ts +2 -2
  421. package/dist/bits/scroll-area/components/scroll-area-corner.svelte +3 -3
  422. package/dist/bits/scroll-area/components/scroll-area-corner.svelte.d.ts +2 -2
  423. package/dist/bits/scroll-area/components/scroll-area-scrollbar-auto.svelte +2 -2
  424. package/dist/bits/scroll-area/components/scroll-area-scrollbar-hover.svelte +2 -2
  425. package/dist/bits/scroll-area/components/scroll-area-scrollbar-scroll.svelte +2 -2
  426. package/dist/bits/scroll-area/components/scroll-area-scrollbar-shared.svelte +1 -1
  427. package/dist/bits/scroll-area/components/scroll-area-scrollbar-x.svelte +2 -3
  428. package/dist/bits/scroll-area/components/scroll-area-scrollbar-y.svelte +2 -3
  429. package/dist/bits/scroll-area/components/scroll-area-scrollbar.svelte +3 -3
  430. package/dist/bits/scroll-area/components/scroll-area-scrollbar.svelte.d.ts +2 -2
  431. package/dist/bits/scroll-area/components/scroll-area-thumb-impl.svelte +3 -4
  432. package/dist/bits/scroll-area/components/scroll-area-thumb-impl.svelte.d.ts +2 -2
  433. package/dist/bits/scroll-area/components/scroll-area-thumb.svelte +4 -4
  434. package/dist/bits/scroll-area/components/scroll-area-thumb.svelte.d.ts +2 -2
  435. package/dist/bits/scroll-area/components/scroll-area-viewport.svelte +18 -5
  436. package/dist/bits/scroll-area/components/scroll-area-viewport.svelte.d.ts +2 -2
  437. package/dist/bits/scroll-area/components/scroll-area.svelte +4 -5
  438. package/dist/bits/scroll-area/components/scroll-area.svelte.d.ts +2 -2
  439. package/dist/bits/scroll-area/exports.d.ts +6 -0
  440. package/dist/bits/scroll-area/exports.js +5 -0
  441. package/dist/bits/scroll-area/index.d.ts +1 -6
  442. package/dist/bits/scroll-area/index.js +1 -5
  443. package/dist/bits/scroll-area/scroll-area.svelte.d.ts +15 -21
  444. package/dist/bits/scroll-area/scroll-area.svelte.js +40 -68
  445. package/dist/bits/scroll-area/types.d.ts +6 -6
  446. package/dist/bits/select/components/select-content-static.svelte +103 -0
  447. package/dist/bits/{listbox/components/listbox-group-label.svelte.d.ts → select/components/select-content-static.svelte.d.ts} +4 -4
  448. package/dist/bits/select/components/select-content.svelte +83 -36
  449. package/dist/bits/select/components/select-content.svelte.d.ts +2 -2
  450. package/dist/bits/select/components/select-group-heading.svelte +7 -8
  451. package/dist/bits/select/components/select-group-heading.svelte.d.ts +2 -2
  452. package/dist/bits/select/components/select-group.svelte +7 -7
  453. package/dist/bits/select/components/select-group.svelte.d.ts +2 -2
  454. package/dist/bits/{listbox/components/listbox-hidden-input.svelte → select/components/select-hidden-input.svelte} +4 -4
  455. package/dist/bits/{listbox/components/listbox-hidden-input.svelte.d.ts → select/components/select-hidden-input.svelte.d.ts} +4 -4
  456. package/dist/bits/select/components/select-item.svelte +24 -13
  457. package/dist/bits/select/components/select-item.svelte.d.ts +2 -2
  458. package/dist/bits/select/components/select-scroll-down-button.svelte +22 -12
  459. package/dist/bits/select/components/select-scroll-down-button.svelte.d.ts +2 -2
  460. package/dist/bits/select/components/select-scroll-up-button.svelte +24 -14
  461. package/dist/bits/select/components/select-scroll-up-button.svelte.d.ts +2 -2
  462. package/dist/bits/select/components/select-trigger.svelte +7 -9
  463. package/dist/bits/select/components/select-trigger.svelte.d.ts +2 -2
  464. package/dist/bits/select/components/select-viewport.svelte +14 -5
  465. package/dist/bits/select/components/select-viewport.svelte.d.ts +2 -2
  466. package/dist/bits/select/components/select.svelte +59 -59
  467. package/dist/bits/select/components/select.svelte.d.ts +1 -1
  468. package/dist/bits/select/exports.d.ts +12 -0
  469. package/dist/bits/select/exports.js +11 -0
  470. package/dist/bits/select/index.d.ts +1 -15
  471. package/dist/bits/select/index.js +1 -14
  472. package/dist/bits/select/select.svelte.d.ts +282 -271
  473. package/dist/bits/select/select.svelte.js +796 -872
  474. package/dist/bits/select/types.d.ts +137 -83
  475. package/dist/bits/separator/components/separator.svelte +4 -5
  476. package/dist/bits/separator/components/separator.svelte.d.ts +2 -2
  477. package/dist/bits/separator/exports.d.ts +2 -0
  478. package/dist/bits/separator/exports.js +1 -0
  479. package/dist/bits/separator/index.d.ts +1 -2
  480. package/dist/bits/separator/index.js +1 -1
  481. package/dist/bits/separator/separator.svelte.js +1 -1
  482. package/dist/bits/separator/types.d.ts +2 -2
  483. package/dist/bits/slider/components/slider-range.svelte +4 -5
  484. package/dist/bits/slider/components/slider-range.svelte.d.ts +2 -2
  485. package/dist/bits/slider/components/slider-thumb.svelte +4 -5
  486. package/dist/bits/slider/components/slider-thumb.svelte.d.ts +2 -2
  487. package/dist/bits/slider/components/slider-tick.svelte +4 -5
  488. package/dist/bits/slider/components/slider-tick.svelte.d.ts +2 -2
  489. package/dist/bits/slider/components/slider.svelte +7 -8
  490. package/dist/bits/slider/components/slider.svelte.d.ts +2 -2
  491. package/dist/bits/slider/exports.d.ts +5 -0
  492. package/dist/bits/slider/exports.js +4 -0
  493. package/dist/bits/slider/index.d.ts +1 -5
  494. package/dist/bits/slider/index.js +1 -4
  495. package/dist/bits/slider/slider.svelte.d.ts +6 -8
  496. package/dist/bits/slider/slider.svelte.js +19 -22
  497. package/dist/bits/slider/types.d.ts +8 -7
  498. package/dist/bits/switch/components/switch-thumb.svelte +4 -5
  499. package/dist/bits/switch/components/switch-thumb.svelte.d.ts +2 -2
  500. package/dist/bits/switch/components/switch.svelte +5 -6
  501. package/dist/bits/switch/components/switch.svelte.d.ts +2 -2
  502. package/dist/bits/switch/exports.d.ts +3 -0
  503. package/dist/bits/switch/exports.js +2 -0
  504. package/dist/bits/switch/index.d.ts +1 -3
  505. package/dist/bits/switch/index.js +1 -2
  506. package/dist/bits/switch/switch.svelte.d.ts +3 -5
  507. package/dist/bits/switch/switch.svelte.js +6 -13
  508. package/dist/bits/switch/types.d.ts +3 -3
  509. package/dist/bits/tabs/components/tabs-content.svelte +4 -5
  510. package/dist/bits/tabs/components/tabs-content.svelte.d.ts +2 -2
  511. package/dist/bits/tabs/components/tabs-list.svelte +4 -5
  512. package/dist/bits/tabs/components/tabs-list.svelte.d.ts +2 -2
  513. package/dist/bits/tabs/components/tabs-trigger.svelte +4 -5
  514. package/dist/bits/tabs/components/tabs-trigger.svelte.d.ts +2 -2
  515. package/dist/bits/tabs/components/tabs.svelte +5 -6
  516. package/dist/bits/tabs/components/tabs.svelte.d.ts +2 -2
  517. package/dist/bits/tabs/exports.d.ts +5 -0
  518. package/dist/bits/tabs/exports.js +4 -0
  519. package/dist/bits/tabs/index.d.ts +1 -5
  520. package/dist/bits/tabs/index.js +1 -4
  521. package/dist/bits/tabs/tabs.svelte.d.ts +6 -8
  522. package/dist/bits/tabs/tabs.svelte.js +17 -24
  523. package/dist/bits/tabs/types.d.ts +5 -5
  524. package/dist/bits/toggle/components/toggle.svelte +5 -6
  525. package/dist/bits/toggle/components/toggle.svelte.d.ts +2 -2
  526. package/dist/bits/toggle/exports.d.ts +2 -0
  527. package/dist/bits/toggle/exports.js +1 -0
  528. package/dist/bits/toggle/index.d.ts +1 -2
  529. package/dist/bits/toggle/index.js +1 -1
  530. package/dist/bits/toggle/toggle.svelte.d.ts +3 -3
  531. package/dist/bits/toggle/toggle.svelte.js +3 -7
  532. package/dist/bits/toggle/types.d.ts +2 -2
  533. package/dist/bits/toggle-group/components/toggle-group-item.svelte +4 -5
  534. package/dist/bits/toggle-group/components/toggle-group-item.svelte.d.ts +2 -2
  535. package/dist/bits/toggle-group/components/toggle-group.svelte +5 -5
  536. package/dist/bits/toggle-group/components/toggle-group.svelte.d.ts +2 -2
  537. package/dist/bits/toggle-group/exports.d.ts +3 -0
  538. package/dist/bits/toggle-group/exports.js +2 -0
  539. package/dist/bits/toggle-group/index.d.ts +1 -3
  540. package/dist/bits/toggle-group/index.js +1 -2
  541. package/dist/bits/toggle-group/toggle-group.svelte.d.ts +5 -5
  542. package/dist/bits/toggle-group/toggle-group.svelte.js +16 -8
  543. package/dist/bits/toggle-group/types.d.ts +5 -5
  544. package/dist/bits/toolbar/components/toolbar-button.svelte +4 -5
  545. package/dist/bits/toolbar/components/toolbar-button.svelte.d.ts +2 -2
  546. package/dist/bits/toolbar/components/toolbar-group-item.svelte +4 -5
  547. package/dist/bits/toolbar/components/toolbar-group.svelte +5 -5
  548. package/dist/bits/toolbar/components/toolbar-group.svelte.d.ts +2 -2
  549. package/dist/bits/toolbar/components/toolbar-link.svelte +4 -5
  550. package/dist/bits/toolbar/components/toolbar-link.svelte.d.ts +2 -2
  551. package/dist/bits/toolbar/components/toolbar.svelte +4 -5
  552. package/dist/bits/toolbar/components/toolbar.svelte.d.ts +2 -2
  553. package/dist/bits/toolbar/exports.d.ts +6 -0
  554. package/dist/bits/toolbar/exports.js +5 -0
  555. package/dist/bits/toolbar/index.d.ts +1 -6
  556. package/dist/bits/toolbar/index.js +1 -5
  557. package/dist/bits/toolbar/toolbar.svelte.d.ts +4 -8
  558. package/dist/bits/toolbar/toolbar.svelte.js +28 -28
  559. package/dist/bits/toolbar/types.d.ts +5 -5
  560. package/dist/bits/tooltip/components/tooltip-arrow.svelte +4 -4
  561. package/dist/bits/tooltip/components/tooltip-content-static.svelte +90 -33
  562. package/dist/bits/tooltip/components/tooltip-content-static.svelte.d.ts +2 -2
  563. package/dist/bits/tooltip/components/tooltip-content.svelte +67 -33
  564. package/dist/bits/tooltip/components/tooltip-content.svelte.d.ts +2 -2
  565. package/dist/bits/tooltip/components/tooltip-provider.svelte +2 -2
  566. package/dist/bits/tooltip/components/tooltip-provider.svelte.d.ts +1 -2
  567. package/dist/bits/tooltip/components/tooltip-trigger.svelte +7 -8
  568. package/dist/bits/tooltip/components/tooltip-trigger.svelte.d.ts +2 -2
  569. package/dist/bits/tooltip/components/tooltip.svelte +9 -9
  570. package/dist/bits/tooltip/components/tooltip.svelte.d.ts +1 -2
  571. package/dist/bits/tooltip/exports.d.ts +9 -0
  572. package/dist/bits/tooltip/exports.js +7 -0
  573. package/dist/bits/tooltip/index.d.ts +1 -9
  574. package/dist/bits/tooltip/index.js +1 -7
  575. package/dist/bits/tooltip/tooltip.svelte.d.ts +12 -10
  576. package/dist/bits/tooltip/tooltip.svelte.js +13 -18
  577. package/dist/bits/tooltip/types.d.ts +7 -7
  578. package/dist/bits/utilities/arrow/arrow.svelte +3 -3
  579. package/dist/bits/utilities/arrow/types.d.ts +2 -2
  580. package/dist/bits/utilities/dismissible-layer/dismissible-layer.svelte +0 -2
  581. package/dist/bits/utilities/dismissible-layer/types.d.ts +3 -14
  582. package/dist/bits/utilities/dismissible-layer/useDismissibleLayer.svelte.js +86 -69
  583. package/dist/bits/utilities/escape-layer/useEscapeLayer.svelte.js +5 -5
  584. package/dist/bits/utilities/floating-layer/components/floating-layer-arrow.svelte +2 -3
  585. package/dist/bits/utilities/floating-layer/components/floating-layer-content.svelte +2 -3
  586. package/dist/bits/utilities/floating-layer/useFloatingLayer.svelte.d.ts +10 -13
  587. package/dist/bits/utilities/floating-layer/useFloatingLayer.svelte.js +10 -22
  588. package/dist/bits/utilities/focus-scope/focus-scope-stack.svelte.js +2 -2
  589. package/dist/bits/utilities/focus-scope/focus-scope.svelte +3 -1
  590. package/dist/bits/utilities/focus-scope/types.d.ts +4 -0
  591. package/dist/bits/utilities/focus-scope/useFocusScope.svelte.d.ts +5 -1
  592. package/dist/bits/utilities/focus-scope/useFocusScope.svelte.js +63 -48
  593. package/dist/bits/utilities/mounted.svelte +1 -1
  594. package/dist/bits/utilities/popper-layer/popper-layer-force-mount.svelte +85 -0
  595. package/dist/bits/{select/components/select-provider.svelte.d.ts → utilities/popper-layer/popper-layer-force-mount.svelte.d.ts} +5 -7
  596. package/dist/bits/utilities/popper-layer/popper-layer-inner.svelte +126 -0
  597. package/dist/bits/{listbox/components/listbox-group.svelte.d.ts → utilities/popper-layer/popper-layer-inner.svelte.d.ts} +7 -5
  598. package/dist/bits/utilities/popper-layer/popper-layer.svelte +23 -67
  599. package/dist/bits/utilities/popper-layer/types.d.ts +2 -2
  600. package/dist/bits/utilities/presence-layer/usePresence.svelte.d.ts +1 -1
  601. package/dist/bits/utilities/presence-layer/usePresence.svelte.js +50 -42
  602. package/dist/bits/utilities/scroll-lock/index.d.ts +10 -0
  603. package/dist/bits/utilities/scroll-lock/scroll-lock.svelte +3 -3
  604. package/dist/bits/utilities/text-selection-layer/useTextSelectionLayer.svelte.js +7 -10
  605. package/dist/bits/utilities/visually-hidden/types.d.ts +2 -2
  606. package/dist/bits/utilities/visually-hidden/visually-hidden.svelte +1 -1
  607. package/dist/internal/arrays.d.ts +23 -0
  608. package/dist/internal/arrays.js +35 -0
  609. package/dist/internal/attrs.d.ts +1 -1
  610. package/dist/internal/attrs.js +3 -3
  611. package/dist/internal/{createEventHook.svelte.js → create-event-hook.svelte.js} +1 -1
  612. package/dist/{shared/date → internal/date-time}/announcer.js +3 -14
  613. package/dist/{shared/date → internal/date-time}/calendar-helpers.svelte.d.ts +3 -6
  614. package/dist/{shared/date → internal/date-time}/calendar-helpers.svelte.js +15 -15
  615. package/dist/{shared/date → internal/date-time}/field/helpers.d.ts +2 -1
  616. package/dist/{shared/date → internal/date-time}/field/helpers.js +15 -15
  617. package/dist/{shared/date/field.js → internal/date-time/field/segments.js} +4 -5
  618. package/dist/{shared/date → internal/date-time}/formatter.d.ts +2 -1
  619. package/dist/{shared/date → internal/date-time}/formatter.js +3 -2
  620. package/dist/{shared/date → internal/date-time}/utils.d.ts +1 -1
  621. package/dist/internal/kbd-constants.d.ts +40 -0
  622. package/dist/internal/kbd-constants.js +40 -0
  623. package/dist/internal/kbd.d.ts +1 -77
  624. package/dist/internal/kbd.js +1 -79
  625. package/dist/internal/should-trap-focus.d.ts +6 -0
  626. package/dist/internal/should-trap-focus.js +6 -0
  627. package/dist/internal/types.d.ts +28 -0
  628. package/dist/internal/{useBodyScrollLock.svelte.d.ts → use-body-scroll-lock.svelte.d.ts} +2 -1
  629. package/dist/internal/use-body-scroll-lock.svelte.js +110 -0
  630. package/dist/internal/use-data-typeahead.svelte.d.ts +12 -0
  631. package/dist/internal/use-data-typeahead.svelte.js +30 -0
  632. package/dist/internal/use-dom-typeahead.svelte.d.ts +11 -0
  633. package/dist/internal/use-dom-typeahead.svelte.js +30 -0
  634. package/dist/internal/use-grace-area.svelte.d.ts +5 -0
  635. package/dist/internal/{useGraceArea.svelte.js → use-grace-area.svelte.js} +11 -13
  636. package/dist/internal/{useRovingFocus.svelte.d.ts → use-roving-focus.svelte.d.ts} +1 -1
  637. package/dist/internal/{useRovingFocus.svelte.js → use-roving-focus.svelte.js} +8 -2
  638. package/dist/internal/{useSize.svelte.d.ts → use-size.svelte.d.ts} +1 -1
  639. package/dist/internal/{useSize.svelte.js → use-size.svelte.js} +1 -1
  640. package/dist/internal/{useTimeoutFn.svelte.js → use-timeout-fn.svelte.js} +1 -2
  641. package/dist/shared/attributes.d.ts +28 -28
  642. package/dist/shared/date/types.d.ts +25 -0
  643. package/dist/shared/index.d.ts +5 -9
  644. package/dist/shared/index.js +3 -2
  645. package/dist/types.d.ts +1 -1
  646. package/package.json +16 -25
  647. package/dist/bits/listbox/components/listbox-content-static.svelte +0 -69
  648. package/dist/bits/listbox/components/listbox-content-static.svelte.d.ts +0 -19
  649. package/dist/bits/listbox/components/listbox-content.svelte +0 -77
  650. package/dist/bits/listbox/components/listbox-content.svelte.d.ts +0 -19
  651. package/dist/bits/listbox/components/listbox-group-label.svelte +0 -33
  652. package/dist/bits/listbox/components/listbox-group.svelte +0 -33
  653. package/dist/bits/listbox/components/listbox-item.svelte +0 -44
  654. package/dist/bits/listbox/components/listbox-item.svelte.d.ts +0 -19
  655. package/dist/bits/listbox/components/listbox-label.svelte +0 -33
  656. package/dist/bits/listbox/components/listbox-label.svelte.d.ts +0 -18
  657. package/dist/bits/listbox/components/listbox-scroll-down-button.svelte +0 -40
  658. package/dist/bits/listbox/components/listbox-scroll-down-button.svelte.d.ts +0 -19
  659. package/dist/bits/listbox/components/listbox-scroll-up-button.svelte +0 -40
  660. package/dist/bits/listbox/components/listbox-scroll-up-button.svelte.d.ts +0 -19
  661. package/dist/bits/listbox/components/listbox-trigger.svelte +0 -36
  662. package/dist/bits/listbox/components/listbox-trigger.svelte.d.ts +0 -19
  663. package/dist/bits/listbox/components/listbox-viewport.svelte +0 -55
  664. package/dist/bits/listbox/components/listbox-viewport.svelte.d.ts +0 -19
  665. package/dist/bits/listbox/components/listbox.svelte +0 -81
  666. package/dist/bits/listbox/components/listbox.svelte.d.ts +0 -18
  667. package/dist/bits/listbox/index.d.ts +0 -13
  668. package/dist/bits/listbox/index.js +0 -12
  669. package/dist/bits/listbox/listbox.svelte.d.ts +0 -414
  670. package/dist/bits/listbox/listbox.svelte.js +0 -1023
  671. package/dist/bits/listbox/types.d.ts +0 -177
  672. package/dist/bits/navigation-menu/components/navigation-menu-sub.svelte +0 -48
  673. package/dist/bits/navigation-menu/components/navigation-menu-sub.svelte.d.ts +0 -18
  674. package/dist/bits/select/components/select-arrow.svelte +0 -22
  675. package/dist/bits/select/components/select-arrow.svelte.d.ts +0 -18
  676. package/dist/bits/select/components/select-content-floating.svelte +0 -73
  677. package/dist/bits/select/components/select-content-floating.svelte.d.ts +0 -34
  678. package/dist/bits/select/components/select-content-impl.svelte +0 -90
  679. package/dist/bits/select/components/select-content-impl.svelte.d.ts +0 -90
  680. package/dist/bits/select/components/select-content-item-aligned.svelte +0 -38
  681. package/dist/bits/select/components/select-content-item-aligned.svelte.d.ts +0 -29
  682. package/dist/bits/select/components/select-icon.svelte +0 -37
  683. package/dist/bits/select/components/select-icon.svelte.d.ts +0 -19
  684. package/dist/bits/select/components/select-item-text.svelte +0 -40
  685. package/dist/bits/select/components/select-item-text.svelte.d.ts +0 -19
  686. package/dist/bits/select/components/select-native.svelte +0 -36
  687. package/dist/bits/select/components/select-native.svelte.d.ts +0 -30
  688. package/dist/bits/select/components/select-provider.svelte +0 -10
  689. package/dist/bits/select/components/select-scroll-down-button-mounted.svelte +0 -33
  690. package/dist/bits/select/components/select-scroll-down-button-mounted.svelte.d.ts +0 -29
  691. package/dist/bits/select/components/select-scroll-up-button-mounted.svelte +0 -33
  692. package/dist/bits/select/components/select-scroll-up-button-mounted.svelte.d.ts +0 -29
  693. package/dist/bits/select/components/select-separator.svelte +0 -33
  694. package/dist/bits/select/components/select-separator.svelte.d.ts +0 -19
  695. package/dist/bits/select/components/select-value.svelte +0 -35
  696. package/dist/bits/select/components/select-value.svelte.d.ts +0 -19
  697. package/dist/internal/afterSleep.d.ts +0 -4
  698. package/dist/internal/afterSleep.js +0 -6
  699. package/dist/internal/afterTick.d.ts +0 -5
  700. package/dist/internal/afterTick.js +0 -7
  701. package/dist/internal/callbacks.d.ts +0 -11
  702. package/dist/internal/callbacks.js +0 -21
  703. package/dist/internal/composeHandlers.d.ts +0 -8
  704. package/dist/internal/composeHandlers.js +0 -21
  705. package/dist/internal/cssToStyleObj.d.ts +0 -2
  706. package/dist/internal/cssToStyleObj.js +0 -23
  707. package/dist/internal/executeCallbacks.d.ts +0 -7
  708. package/dist/internal/executeCallbacks.js +0 -15
  709. package/dist/internal/mergeProps.d.ts +0 -22
  710. package/dist/internal/mergeProps.js +0 -98
  711. package/dist/internal/onDestroyEffect.svelte.d.ts +0 -1
  712. package/dist/internal/onDestroyEffect.svelte.js +0 -7
  713. package/dist/internal/strings.d.ts +0 -3
  714. package/dist/internal/strings.js +0 -70
  715. package/dist/internal/style.d.ts +0 -3
  716. package/dist/internal/style.js +0 -16
  717. package/dist/internal/styleToCSS.d.ts +0 -1
  718. package/dist/internal/styleToCSS.js +0 -23
  719. package/dist/internal/useBodyScrollLock.svelte.js +0 -88
  720. package/dist/internal/useGraceArea.svelte.d.ts +0 -5
  721. package/dist/internal/useRefById.svelte.d.ts +0 -28
  722. package/dist/internal/useRefById.svelte.js +0 -27
  723. package/dist/internal/useTypeahead.svelte.d.ts +0 -34
  724. package/dist/internal/useTypeahead.svelte.js +0 -64
  725. package/dist/shared/date/field/types.js +0 -1
  726. package/dist/shared/date/index.d.ts +0 -7
  727. package/dist/shared/date/index.js +0 -7
  728. /package/dist/bits/menu/{index.d.ts → exports.d.ts} +0 -0
  729. /package/dist/bits/menu/{index.js → exports.js} +0 -0
  730. /package/dist/internal/{boxAutoReset.svelte.d.ts → box-auto-reset.svelte.d.ts} +0 -0
  731. /package/dist/internal/{boxAutoReset.svelte.js → box-auto-reset.svelte.js} +0 -0
  732. /package/dist/internal/{createContext.d.ts → create-context.d.ts} +0 -0
  733. /package/dist/internal/{createContext.js → create-context.js} +0 -0
  734. /package/dist/internal/{createEventHook.svelte.d.ts → create-event-hook.svelte.d.ts} +0 -0
  735. /package/dist/internal/{createSharedHook.svelte.d.ts → create-shared-hook.svelte.d.ts} +0 -0
  736. /package/dist/internal/{createSharedHook.svelte.js → create-shared-hook.svelte.js} +0 -0
  737. /package/dist/{shared/date → internal/date-time}/announcer.d.ts +0 -0
  738. /package/dist/{shared/date → internal/date-time}/field/parts.d.ts +0 -0
  739. /package/dist/{shared/date → internal/date-time}/field/parts.js +0 -0
  740. /package/dist/{shared/date/field.d.ts → internal/date-time/field/segments.d.ts} +0 -0
  741. /package/dist/{shared/date → internal/date-time}/field/types.d.ts +0 -0
  742. /package/dist/{bits/listbox → internal/date-time/field}/types.js +0 -0
  743. /package/dist/{shared/date → internal/date-time}/placeholders.d.ts +0 -0
  744. /package/dist/{shared/date → internal/date-time}/placeholders.js +0 -0
  745. /package/dist/{shared/date → internal/date-time}/utils.js +0 -0
  746. /package/dist/internal/floating-svelte/{useFloating.svelte.d.ts → use-floating.svelte.d.ts} +0 -0
  747. /package/dist/internal/floating-svelte/{useFloating.svelte.js → use-floating.svelte.js} +0 -0
  748. /package/dist/internal/{getDirectionalKeys.d.ts → get-directional-keys.d.ts} +0 -0
  749. /package/dist/internal/{getDirectionalKeys.js → get-directional-keys.js} +0 -0
  750. /package/dist/internal/{useArrowNavigation.d.ts → use-arrow-navigation.d.ts} +0 -0
  751. /package/dist/internal/{useArrowNavigation.js → use-arrow-navigation.js} +0 -0
  752. /package/dist/internal/{useFormControl.svelte.d.ts → use-form-control.svelte.d.ts} +0 -0
  753. /package/dist/internal/{useFormControl.svelte.js → use-form-control.svelte.js} +0 -0
  754. /package/dist/internal/{useId.d.ts → use-id.d.ts} +0 -0
  755. /package/dist/internal/{useId.js → use-id.js} +0 -0
  756. /package/dist/internal/{useResizeObserver.svelte.d.ts → use-resize-observer.svelte.d.ts} +0 -0
  757. /package/dist/internal/{useResizeObserver.svelte.js → use-resize-observer.svelte.js} +0 -0
  758. /package/dist/internal/{useStateMachine.svelte.d.ts → use-state-machine.svelte.d.ts} +0 -0
  759. /package/dist/internal/{useStateMachine.svelte.js → use-state-machine.svelte.js} +0 -0
  760. /package/dist/internal/{useTimeoutFn.svelte.d.ts → use-timeout-fn.svelte.d.ts} +0 -0
@@ -0,0 +1,126 @@
1
+ <script lang="ts">
2
+ import { mergeProps } from "svelte-toolbelt";
3
+ import ScrollLock from "../scroll-lock/scroll-lock.svelte";
4
+ import type { PopperLayerImplProps } from "./types.js";
5
+ import PopperContent from "./popper-content.svelte";
6
+ import EscapeLayer from "../escape-layer/escape-layer.svelte";
7
+ import DismissibleLayer from "../dismissible-layer/dismissible-layer.svelte";
8
+ import TextSelectionLayer from "../text-selection-layer/text-selection-layer.svelte";
9
+ import FocusScope from "../focus-scope/focus-scope.svelte";
10
+
11
+ let {
12
+ popper,
13
+ onEscapeKeydown,
14
+ escapeKeydownBehavior,
15
+ preventOverflowTextSelection,
16
+ id,
17
+ onPointerDown,
18
+ onPointerUp,
19
+ side,
20
+ sideOffset,
21
+ align,
22
+ alignOffset,
23
+ arrowPadding,
24
+ avoidCollisions,
25
+ collisionBoundary,
26
+ collisionPadding,
27
+ sticky,
28
+ hideWhenDetached,
29
+ updatePositionStrategy,
30
+ strategy,
31
+ dir,
32
+ preventScroll,
33
+ wrapperId,
34
+ style,
35
+ onPlaced,
36
+ onInteractOutside,
37
+ onCloseAutoFocus,
38
+ onOpenAutoFocus,
39
+ onFocusOutside,
40
+ interactOutsideBehavior = "close",
41
+ loop,
42
+ trapFocus = true,
43
+ isValidEvent = () => false,
44
+ customAnchor = null,
45
+ isStatic = false,
46
+ enabled,
47
+ ...restProps
48
+ }: Omit<PopperLayerImplProps, "present" | "children"> & {
49
+ enabled: boolean;
50
+ } = $props();
51
+ </script>
52
+
53
+ <PopperContent
54
+ {isStatic}
55
+ {id}
56
+ {side}
57
+ {sideOffset}
58
+ {align}
59
+ {alignOffset}
60
+ {arrowPadding}
61
+ {avoidCollisions}
62
+ {collisionBoundary}
63
+ {collisionPadding}
64
+ {sticky}
65
+ {hideWhenDetached}
66
+ {updatePositionStrategy}
67
+ {strategy}
68
+ {dir}
69
+ {wrapperId}
70
+ {style}
71
+ {onPlaced}
72
+ {customAnchor}
73
+ >
74
+ {#snippet content({ props: floatingProps })}
75
+ {#if restProps.forceMount && enabled}
76
+ <ScrollLock {preventScroll} />
77
+ {:else if !restProps.forceMount}
78
+ <ScrollLock {preventScroll} />
79
+ {/if}
80
+ <FocusScope
81
+ {id}
82
+ {onOpenAutoFocus}
83
+ {onCloseAutoFocus}
84
+ {loop}
85
+ trapFocus={enabled && trapFocus}
86
+ forceMount={restProps.forceMount}
87
+ >
88
+ {#snippet focusScope({ props: focusScopeProps })}
89
+ <EscapeLayer {onEscapeKeydown} {escapeKeydownBehavior} {enabled}>
90
+ <DismissibleLayer
91
+ {id}
92
+ {onInteractOutside}
93
+ {onFocusOutside}
94
+ {interactOutsideBehavior}
95
+ {isValidEvent}
96
+ {enabled}
97
+ >
98
+ {#snippet children({ props: dismissibleProps })}
99
+ <TextSelectionLayer
100
+ {id}
101
+ {preventOverflowTextSelection}
102
+ {onPointerDown}
103
+ {onPointerUp}
104
+ {enabled}
105
+ >
106
+ {@render popper?.({
107
+ props: mergeProps(
108
+ restProps,
109
+ floatingProps,
110
+ dismissibleProps,
111
+ focusScopeProps,
112
+ {
113
+ style: {
114
+ pointerEvents: "auto",
115
+ },
116
+ }
117
+ ),
118
+ })}
119
+ </TextSelectionLayer>
120
+ {/snippet}
121
+ </DismissibleLayer>
122
+ </EscapeLayer>
123
+ {/snippet}
124
+ </FocusScope>
125
+ {/snippet}
126
+ </PopperContent>
@@ -1,4 +1,4 @@
1
- import type { GroupProps } from "../index.js";
1
+ import type { PopperLayerImplProps } from "./types.js";
2
2
  interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
3
3
  new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
4
4
  $$bindings?: Bindings;
@@ -12,8 +12,10 @@ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> =
12
12
  };
13
13
  z_$$bindings?: Bindings;
14
14
  }
15
- declare const ListboxGroup: $$__sveltets_2_IsomorphicComponent<GroupProps, {
15
+ declare const PopperLayerInner: $$__sveltets_2_IsomorphicComponent<Omit<PopperLayerImplProps, "children" | "present"> & {
16
+ enabled: boolean;
17
+ }, {
16
18
  [evt: string]: CustomEvent<any>;
17
- }, {}, {}, "ref">;
18
- type ListboxGroup = InstanceType<typeof ListboxGroup>;
19
- export default ListboxGroup;
19
+ }, {}, {}, "">;
20
+ type PopperLayerInner = InstanceType<typeof PopperLayerInner>;
21
+ export default PopperLayerInner;
@@ -1,13 +1,7 @@
1
1
  <script lang="ts">
2
- import ScrollLock from "../scroll-lock/scroll-lock.svelte";
3
2
  import type { PopperLayerImplProps } from "./types.js";
4
- import PopperContent from "./popper-content.svelte";
5
- import { EscapeLayer } from "../escape-layer/index.js";
6
- import { DismissibleLayer } from "../dismissible-layer/index.js";
7
- import { TextSelectionLayer } from "../text-selection-layer/index.js";
8
- import { PresenceLayer } from "../presence-layer/index.js";
9
- import { FocusScope } from "../focus-scope/index.js";
10
- import { mergeProps } from "../../../internal/mergeProps.js";
3
+ import PopperLayerInner from "./popper-layer-inner.svelte";
4
+ import PresenceLayer from "../presence-layer/presence-layer.svelte";
11
5
 
12
6
  let {
13
7
  popper,
@@ -36,7 +30,6 @@
36
30
  style,
37
31
  onPlaced,
38
32
  onInteractOutside,
39
- onInteractOutsideStart,
40
33
  onCloseAutoFocus,
41
34
  onOpenAutoFocus,
42
35
  onFocusOutside,
@@ -52,9 +45,14 @@
52
45
 
53
46
  <PresenceLayer {id} {present} {...restProps}>
54
47
  {#snippet presence({ present })}
55
- <PopperContent
56
- {isStatic}
48
+ <PopperLayerInner
49
+ {popper}
50
+ {onEscapeKeydown}
51
+ {escapeKeydownBehavior}
52
+ {preventOverflowTextSelection}
57
53
  {id}
54
+ {onPointerDown}
55
+ {onPointerUp}
58
56
  {side}
59
57
  {sideOffset}
60
58
  {align}
@@ -68,65 +66,23 @@
68
66
  {updatePositionStrategy}
69
67
  {strategy}
70
68
  {dir}
69
+ {preventScroll}
71
70
  {wrapperId}
72
71
  {style}
73
72
  {onPlaced}
74
73
  {customAnchor}
75
- >
76
- {#snippet content({ props: floatingProps })}
77
- {#if preventScroll}
78
- <ScrollLock {preventScroll} />
79
- {/if}
80
- <FocusScope
81
- {id}
82
- {onOpenAutoFocus}
83
- {onCloseAutoFocus}
84
- {loop}
85
- trapFocus={present.current && trapFocus}
86
- >
87
- {#snippet focusScope({ props: focusScopeProps })}
88
- <EscapeLayer
89
- {onEscapeKeydown}
90
- {escapeKeydownBehavior}
91
- enabled={present.current}
92
- >
93
- <DismissibleLayer
94
- {id}
95
- {onInteractOutside}
96
- {onInteractOutsideStart}
97
- {onFocusOutside}
98
- {interactOutsideBehavior}
99
- {isValidEvent}
100
- enabled={present.current}
101
- >
102
- {#snippet children({ props: dismissibleProps })}
103
- <TextSelectionLayer
104
- {id}
105
- {preventOverflowTextSelection}
106
- {onPointerDown}
107
- {onPointerUp}
108
- enabled={present.current}
109
- >
110
- {@render popper?.({
111
- props: mergeProps(
112
- restProps,
113
- floatingProps,
114
- dismissibleProps,
115
- focusScopeProps,
116
- {
117
- style: {
118
- pointerEvents: "auto",
119
- },
120
- }
121
- ),
122
- })}
123
- </TextSelectionLayer>
124
- {/snippet}
125
- </DismissibleLayer>
126
- </EscapeLayer>
127
- {/snippet}
128
- </FocusScope>
129
- {/snippet}
130
- </PopperContent>
74
+ {isStatic}
75
+ enabled={present.current}
76
+ {onInteractOutside}
77
+ {onCloseAutoFocus}
78
+ {onOpenAutoFocus}
79
+ {interactOutsideBehavior}
80
+ {loop}
81
+ {trapFocus}
82
+ {isValidEvent}
83
+ {onFocusOutside}
84
+ forceMount={false}
85
+ {...restProps}
86
+ />
131
87
  {/snippet}
132
88
  </PresenceLayer>
@@ -7,8 +7,8 @@ import type { PresenceLayerImplProps, PresenceLayerProps } from "../presence-lay
7
7
  import type { FocusScopeImplProps, FocusScopeProps } from "../focus-scope/types.js";
8
8
  import type { ScrollLockProps } from "../scroll-lock/index.js";
9
9
  import type { Direction } from "../../../shared/index.js";
10
- export type PopperLayerProps = EscapeLayerProps & Omit<DismissibleLayerProps, "onInteractOutsideStart"> & FloatingLayerContentProps & PresenceLayerProps & TextSelectionLayerProps & FocusScopeProps & ScrollLockProps;
11
- export type PopperLayerStaticProps = EscapeLayerProps & Omit<DismissibleLayerProps, "onInteractOutsideStart"> & PresenceLayerProps & TextSelectionLayerProps & FocusScopeProps & ScrollLockProps & {
10
+ export type PopperLayerProps = EscapeLayerProps & Omit<DismissibleLayerProps, "onInteractOutsideStart"> & FloatingLayerContentProps & PresenceLayerProps & TextSelectionLayerProps & FocusScopeProps & Omit<ScrollLockProps, "restoreScrollDelay">;
11
+ export type PopperLayerStaticProps = EscapeLayerProps & Omit<DismissibleLayerProps, "onInteractOutsideStart"> & PresenceLayerProps & TextSelectionLayerProps & FocusScopeProps & Omit<ScrollLockProps, "restoreScrollDelay"> & {
12
12
  content?: Snippet<[{
13
13
  props: Record<string, unknown>;
14
14
  }]>;
@@ -1,4 +1,4 @@
1
- import type { ReadableBox } from "svelte-toolbelt";
1
+ import { type ReadableBox } from "svelte-toolbelt";
2
2
  export declare function usePresence(present: ReadableBox<boolean>, id: ReadableBox<string>): {
3
3
  readonly current: boolean;
4
4
  };
@@ -1,11 +1,13 @@
1
- import { afterTick } from "../../../internal/afterTick.js";
2
- import { useStateMachine } from "../../../internal/useStateMachine.svelte.js";
3
- import { watch } from "../../../internal/box.svelte.js";
1
+ import { afterTick } from "svelte-toolbelt";
2
+ import { Previous } from "runed";
3
+ import { untrack } from "svelte";
4
+ import { useStateMachine } from "../../../internal/use-state-machine.svelte.js";
4
5
  export function usePresence(present, id) {
5
6
  let styles = $state({});
6
7
  let prevAnimationNameState = $state("none");
7
8
  const initialState = present.current ? "mounted" : "unmounted";
8
9
  let node = $state(null);
10
+ const prevPresent = new Previous(() => present.current);
9
11
  $effect(() => {
10
12
  if (!id.current)
11
13
  return;
@@ -28,40 +30,43 @@ export function usePresence(present, id) {
28
30
  MOUNT: "mounted",
29
31
  },
30
32
  });
31
- watch(present, (currPresent, prevPresent) => {
32
- if (!node) {
33
- node = document.getElementById(id.current);
34
- }
35
- if (!node)
36
- return;
37
- const hasPresentChanged = currPresent !== prevPresent;
38
- if (!hasPresentChanged)
39
- return;
40
- const prevAnimationName = prevAnimationNameState;
41
- const currAnimationName = getAnimationName(node);
42
- if (currPresent) {
43
- dispatch("MOUNT");
44
- }
45
- else if (currAnimationName === "none" || styles.display === "none") {
46
- // If there is no exit animation or the element is hidden, animations won't run
47
- // so we unmount instantly
48
- dispatch("UNMOUNT");
49
- }
50
- else {
51
- /**
52
- * When `present` changes to `false`, we check changes to animation-name to
53
- * determine whether an animation has started. We chose this approach (reading
54
- * computed styles) because there is no `animationrun` event and `animationstart`
55
- * fires after `animation-delay` has expired which would be too late.
56
- */
57
- const isAnimating = prevAnimationName !== currAnimationName;
58
- if (prevPresent && isAnimating) {
59
- dispatch("ANIMATION_OUT");
33
+ $effect(() => {
34
+ const currPresent = present.current;
35
+ untrack(() => {
36
+ if (!node) {
37
+ node = document.getElementById(id.current);
60
38
  }
61
- else {
39
+ if (!node)
40
+ return;
41
+ const hasPresentChanged = currPresent !== prevPresent.current;
42
+ if (!hasPresentChanged)
43
+ return;
44
+ const prevAnimationName = prevAnimationNameState;
45
+ const currAnimationName = getAnimationName(node);
46
+ if (currPresent) {
47
+ dispatch("MOUNT");
48
+ }
49
+ else if (currAnimationName === "none" || styles.display === "none") {
50
+ // If there is no exit animation or the element is hidden, animations won't run
51
+ // so we unmount instantly
62
52
  dispatch("UNMOUNT");
63
53
  }
64
- }
54
+ else {
55
+ /**
56
+ * When `present` changes to `false`, we check changes to animation-name to
57
+ * determine whether an animation has started. We chose this approach (reading
58
+ * computed styles) because there is no `animationrun` event and `animationstart`
59
+ * fires after `animation-delay` has expired which would be too late.
60
+ */
61
+ const isAnimating = prevAnimationName !== currAnimationName;
62
+ if (prevPresent && isAnimating) {
63
+ dispatch("ANIMATION_OUT");
64
+ }
65
+ else {
66
+ dispatch("UNMOUNT");
67
+ }
68
+ }
69
+ });
65
70
  });
66
71
  /**
67
72
  * Triggering an ANIMATION_OUT during an ANIMATION_IN will fire an `animationcancel`
@@ -90,14 +95,17 @@ export function usePresence(present, id) {
90
95
  prevAnimationNameState = getAnimationName(node);
91
96
  }
92
97
  }
93
- watch(state, () => {
94
- if (!node) {
95
- node = document.getElementById(id.current);
96
- }
97
- if (!node)
98
- return;
99
- const currAnimationName = getAnimationName(node);
100
- prevAnimationNameState = state.current === "mounted" ? currAnimationName : "none";
98
+ $effect(() => {
99
+ state.current;
100
+ untrack(() => {
101
+ if (!node) {
102
+ node = document.getElementById(id.current);
103
+ }
104
+ if (!node)
105
+ return;
106
+ const currAnimationName = getAnimationName(node);
107
+ prevAnimationNameState = state.current === "mounted" ? currAnimationName : "none";
108
+ });
101
109
  });
102
110
  $effect(() => {
103
111
  if (!node)
@@ -5,4 +5,14 @@ export type ScrollLockProps = {
5
5
  * @defaultValue true
6
6
  */
7
7
  preventScroll?: boolean;
8
+ /**
9
+ * The delay in milliseconds before the scrollbar is restored after closing the
10
+ * dialog. This is only applicable when using the `child` snippet for custom
11
+ * transitions and `preventScroll` is `true`. You should set this to a value
12
+ * greater than the transition duration to prevent content from shifting during
13
+ * the transition.
14
+ *
15
+ * @defaultValue null
16
+ */
17
+ restoreScrollDelay?: number | null;
8
18
  };
@@ -1,8 +1,8 @@
1
1
  <script lang="ts">
2
2
  import type { ScrollLockProps } from "./index.js";
3
- import { useBodyScrollLock } from "../../../internal/useBodyScrollLock.svelte.js";
3
+ import { useBodyScrollLock } from "../../../internal/use-body-scroll-lock.svelte.js";
4
4
 
5
- let { preventScroll = true }: ScrollLockProps = $props();
5
+ let { preventScroll = true, restoreScrollDelay = null }: ScrollLockProps = $props();
6
6
 
7
- useBodyScrollLock(preventScroll);
7
+ useBodyScrollLock(preventScroll, () => restoreScrollDelay);
8
8
  </script>
@@ -1,13 +1,10 @@
1
1
  import { untrack } from "svelte";
2
- import { box } from "svelte-toolbelt";
3
- import { composeHandlers } from "../../../internal/composeHandlers.js";
2
+ import { box, composeHandlers, executeCallbacks, useRefById, } from "svelte-toolbelt";
4
3
  import { addEventListener } from "../../../internal/events.js";
5
4
  import { noop } from "../../../internal/noop.js";
6
- import { useRefById } from "../../../internal/useRefById.svelte.js";
7
5
  import { isHTMLElement } from "../../../internal/is.js";
8
6
  import { isOrContainsTarget } from "../../../internal/elements.js";
9
- import { executeCallbacks } from "../../../internal/executeCallbacks.js";
10
- const layers = new Map();
7
+ globalThis.bitsTextSelectionLayers ??= new Map();
11
8
  export class TextSelectionLayerState {
12
9
  #id;
13
10
  #onPointerDownProp;
@@ -23,18 +20,18 @@ export class TextSelectionLayerState {
23
20
  useRefById({
24
21
  id: this.#id,
25
22
  ref: this.#ref,
26
- condition: () => this.#enabled.current,
23
+ deps: () => this.#enabled.current,
27
24
  });
28
25
  let unsubEvents = noop;
29
26
  $effect(() => {
30
27
  if (this.#enabled.current) {
31
- layers.set(this, untrack(() => this.#enabled));
28
+ globalThis.bitsTextSelectionLayers.set(this, untrack(() => this.#enabled));
32
29
  unsubEvents = this.#addEventListeners();
33
30
  }
34
31
  return () => {
35
32
  unsubEvents();
36
33
  this.#resetSelectionLock();
37
- layers.delete(this);
34
+ globalThis.bitsTextSelectionLayers.delete(this);
38
35
  };
39
36
  });
40
37
  }
@@ -48,7 +45,7 @@ export class TextSelectionLayerState {
48
45
  return;
49
46
  /**
50
47
  * We only lock user-selection overflow if layer is the top most layer and
51
- * pointerdown occured inside the node. You are still allowed to select text
48
+ * pointerdown occurred inside the node. You are still allowed to select text
52
49
  * outside the node provided pointerdown occurs outside the node.
53
50
  */
54
51
  if (!isHighestLayer(this) || !isOrContainsTarget(node, target))
@@ -83,7 +80,7 @@ function setUserSelect(node, value) {
83
80
  node.style.webkitUserSelect = value;
84
81
  }
85
82
  function isHighestLayer(instance) {
86
- const layersArr = [...layers];
83
+ const layersArr = [...globalThis.bitsTextSelectionLayers];
87
84
  if (!layersArr.length)
88
85
  return false;
89
86
  const highestLayer = layersArr.at(-1);
@@ -1,3 +1,3 @@
1
1
  import type { WithChild } from "../../../internal/types.js";
2
- import type { PrimitiveSpanAttributes } from "../../../shared/attributes.js";
3
- export type VisuallyHiddenProps = WithChild<PrimitiveSpanAttributes>;
2
+ import type { BitsPrimitiveSpanAttributes } from "../../../shared/attributes.js";
3
+ export type VisuallyHiddenProps = WithChild<BitsPrimitiveSpanAttributes>;
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
+ import { mergeProps } from "svelte-toolbelt";
2
3
  import type { VisuallyHiddenProps } from "./types.js";
3
4
  import type { StyleProperties } from "../../../shared/index.js";
4
- import { mergeProps } from "../../../internal/mergeProps.js";
5
5
 
6
6
  let { children, child, ...restProps }: VisuallyHiddenProps = $props();
7
7
 
@@ -65,3 +65,26 @@ export declare function forward<T>(array: T[], index: number, increment: number,
65
65
  * @param loop loop around the array if the target index is out of bounds?
66
66
  */
67
67
  export declare function backward<T>(array: T[], index: number, decrement: number, loop?: boolean): T | undefined;
68
+ /**
69
+ * This is the "meat" of the typeahead matching logic. It takes in all the values,
70
+ * the search and the current match, and returns the next match (or `undefined`).
71
+ *
72
+ * We normalize the search because if a user has repeatedly pressed a character,
73
+ * we want the exact same behavior as if we only had that one character
74
+ * (ie. cycle through options starting with that character)
75
+ *
76
+ * We also reorder the values by wrapping the array around the current match.
77
+ * This is so we always look forward from the current match, and picking the first
78
+ * match will always be the correct one.
79
+ *
80
+ * Finally, if the normalized search is exactly one character, we exclude the
81
+ * current match from the values because otherwise it would be the first to match always
82
+ * and focus would never move. This is as opposed to the regular case, where we
83
+ * don't want focus to move if the current match still matches.
84
+ */
85
+ export declare function getNextMatch(values: string[], search: string, currentMatch?: string): string | undefined;
86
+ /**
87
+ * Wraps an array around itself at a given start index
88
+ * Example: `wrapArray(['a', 'b', 'c', 'd'], 2) === ['c', 'd', 'a', 'b']`
89
+ */
90
+ export declare function wrapArray<T>(array: T[], startIndex: number): T[];
@@ -168,3 +168,38 @@ export function backward(array, index, decrement, loop = true) {
168
168
  }
169
169
  return array[targetIndex];
170
170
  }
171
+ /**
172
+ * This is the "meat" of the typeahead matching logic. It takes in all the values,
173
+ * the search and the current match, and returns the next match (or `undefined`).
174
+ *
175
+ * We normalize the search because if a user has repeatedly pressed a character,
176
+ * we want the exact same behavior as if we only had that one character
177
+ * (ie. cycle through options starting with that character)
178
+ *
179
+ * We also reorder the values by wrapping the array around the current match.
180
+ * This is so we always look forward from the current match, and picking the first
181
+ * match will always be the correct one.
182
+ *
183
+ * Finally, if the normalized search is exactly one character, we exclude the
184
+ * current match from the values because otherwise it would be the first to match always
185
+ * and focus would never move. This is as opposed to the regular case, where we
186
+ * don't want focus to move if the current match still matches.
187
+ */
188
+ export function getNextMatch(values, search, currentMatch) {
189
+ const isRepeated = search.length > 1 && Array.from(search).every((char) => char === search[0]);
190
+ const normalizedSearch = isRepeated ? search[0] : search;
191
+ const currentMatchIndex = currentMatch ? values.indexOf(currentMatch) : -1;
192
+ let wrappedValues = wrapArray(values, Math.max(currentMatchIndex, 0));
193
+ const excludeCurrentMatch = normalizedSearch.length === 1;
194
+ if (excludeCurrentMatch)
195
+ wrappedValues = wrappedValues.filter((v) => v !== currentMatch);
196
+ const nextMatch = wrappedValues.find((value) => value?.toLowerCase().startsWith(normalizedSearch.toLowerCase()));
197
+ return nextMatch !== currentMatch ? nextMatch : undefined;
198
+ }
199
+ /**
200
+ * Wraps an array around itself at a given start index
201
+ * Example: `wrapArray(['a', 'b', 'c', 'd'], 2) === ['c', 'd', 'a', 'b']`
202
+ */
203
+ export function wrapArray(array, startIndex) {
204
+ return array.map((_, index) => array[(startIndex + index) % array.length]);
205
+ }
@@ -6,7 +6,7 @@ export declare function getAriaExpanded(condition: boolean): "true" | "false";
6
6
  export declare function getDataDisabled(condition: boolean): "" | undefined;
7
7
  export declare function getAriaRequired(condition: boolean): "true" | "false";
8
8
  export declare function getAriaSelected(condition: boolean): "true" | "false";
9
- export declare function getAriaChecked(condition: boolean | "indeterminate"): "true" | "false" | "mixed";
9
+ export declare function getAriaChecked(checked: boolean, indeterminate: boolean): "true" | "false" | "mixed";
10
10
  export declare function getAriaOrientation(orientation: "horizontal" | "vertical"): "horizontal" | "vertical";
11
11
  export declare function getAriaHidden(condition: boolean): "true" | undefined;
12
12
  export declare function getAriaInvalid(condition: boolean): "true" | undefined;
@@ -22,11 +22,11 @@ export function getAriaRequired(condition) {
22
22
  export function getAriaSelected(condition) {
23
23
  return condition ? "true" : "false";
24
24
  }
25
- export function getAriaChecked(condition) {
26
- if (condition === "indeterminate") {
25
+ export function getAriaChecked(checked, indeterminate) {
26
+ if (indeterminate) {
27
27
  return "mixed";
28
28
  }
29
- return condition ? "true" : "false";
29
+ return checked ? "true" : "false";
30
30
  }
31
31
  export function getAriaOrientation(orientation) {
32
32
  return orientation;
@@ -1,4 +1,4 @@
1
- import { executeCallbacks } from "./callbacks.js";
1
+ import { executeCallbacks } from "svelte-toolbelt";
2
2
  export function createEventHook() {
3
3
  const callbacks = new Set();
4
4
  const callbacksToDispose = [];
@@ -1,5 +1,5 @@
1
- import { isBrowser, isHTMLElement } from "../../internal/is.js";
2
- import { styleToString } from "../../internal/style.js";
1
+ import { srOnlyStylesString } from "svelte-toolbelt";
2
+ import { isBrowser, isHTMLElement } from "../is.js";
3
3
  /**
4
4
  * Creates or gets an announcer element which is used to announce messages to screen readers.
5
5
  * Within the date components, we use this to announce when the values of the individual segments
@@ -11,18 +11,7 @@ function initAnnouncer() {
11
11
  let el = document.querySelector("[data-bits-announcer]");
12
12
  if (!isHTMLElement(el)) {
13
13
  const div = document.createElement("div");
14
- div.style.cssText = styleToString({
15
- border: "0px",
16
- clip: "rect(0px, 0px, 0px, 0px)",
17
- clipPath: "inset(50%)",
18
- height: "1px",
19
- margin: "-1px",
20
- overflow: "hidden",
21
- padding: "0px",
22
- position: "absolute",
23
- whiteSpace: "nowrap",
24
- width: "1px",
25
- });
14
+ div.style.cssText = srOnlyStylesString;
26
15
  div.setAttribute("data-bits-announcer", "");
27
16
  div.appendChild(createLog("assertive"));
28
17
  div.appendChild(createLog("polite"));
@@ -1,9 +1,7 @@
1
1
  import { type DateValue } from "@internationalized/date";
2
- import type { ReadableBox, WritableBox } from "svelte-toolbelt";
3
- import type { Month } from "./types.js";
4
- import { type Formatter } from "./index.js";
5
- import type { CalendarRootState } from "../../bits/calendar/calendar.svelte.js";
6
- import { RangeCalendarRootState } from "../../bits/range-calendar/range-calendar.svelte.js";
2
+ import { type ReadableBox, type WritableBox } from "svelte-toolbelt";
3
+ import type { Formatter } from "./formatter.js";
4
+ import type { Month } from "../../shared/index.js";
7
5
  /**
8
6
  * Checks if a given node is a calendar cell element.
9
7
  *
@@ -184,6 +182,5 @@ export declare function getCalendarElementProps({ fullCalendarLabel, id, isInval
184
182
  readonly "data-readonly": "" | undefined;
185
183
  };
186
184
  export type CalendarParts = "root" | "grid" | "cell" | "next-button" | "prev-button" | "day" | "grid-body" | "grid-head" | "grid-row" | "head-cell" | "header" | "heading";
187
- export declare function getCalendarBitsAttr(root: CalendarRootState | RangeCalendarRootState, part: CalendarParts): string;
188
185
  export declare function pickerOpenFocus(e: Event): void;
189
186
  export {};