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
@@ -1,60 +1,27 @@
1
- import { box } from "svelte-toolbelt";
1
+ import { afterTick, box, executeCallbacks, mergeProps, onDestroyEffect, useRefById, } from "svelte-toolbelt";
2
2
  import { tick, untrack } from "svelte";
3
3
  import { IsFocusWithin } from "runed";
4
4
  import { FIRST_LAST_KEYS, LAST_KEYS, SELECTION_KEYS, SUB_OPEN_KEYS, getCheckedState, isMouseEvent, } from "./utils.js";
5
5
  import { focusFirst } from "../../internal/focus.js";
6
6
  import { addEventListener } from "../../internal/events.js";
7
- import { executeCallbacks } from "../../internal/executeCallbacks.js";
8
- import { useTypeahead } from "../../internal/useTypeahead.svelte.js";
7
+ import { useDOMTypeahead } from "../../internal/use-dom-typeahead.svelte.js";
9
8
  import { isElement, isElementOrSVGElement, isHTMLElement } from "../../internal/is.js";
10
- import { useRovingFocus } from "../../internal/useRovingFocus.svelte.js";
9
+ import { useRovingFocus } from "../../internal/use-roving-focus.svelte.js";
11
10
  import { kbd } from "../../internal/kbd.js";
12
11
  import { getAriaChecked, getAriaDisabled, getAriaExpanded, getAriaOrientation, getDataDisabled, getDataOpenClosed, } from "../../internal/attrs.js";
13
- import { mergeProps } from "../../internal/mergeProps.js";
14
- import { createContext } from "../../internal/createContext.js";
15
- import { afterTick } from "../../internal/afterTick.js";
16
- import { useRefById } from "../../internal/useRefById.svelte.js";
12
+ import { createContext } from "../../internal/create-context.js";
17
13
  import { isPointerInGraceArea, makeHullFromElements } from "../../internal/polygon.js";
18
- import { onDestroyEffect } from "../../internal/onDestroyEffect.svelte.js";
19
- // const TRIGGER_ATTR = "data-menu-trigger";
20
- // const CONTENT_ATTR = "data-menu-content";
21
- // const ITEM_ATTR = "data-menu-item";
22
- // const SEPARATOR_ATTR = "data-menu-separator";
23
- // const SUB_TRIGGER_ATTR = "data-menu-sub-trigger";
24
- // const CHECKBOX_ITEM_ATTR = "data-menu-checkbox-item";
25
- // const GROUP_ATTR = "data-menu-group";
26
- // const LABEL_ATTR = "data-menu-group-heading";
27
- // const RADIO_GROUP_ATTR = "data-menu-radio-group";
28
- // const RADIO_ITEM_ATTR = "data-menu-radio-item";
29
- // const ARROW_ATTR = "data-menu-arrow";
30
14
  export const CONTEXT_MENU_TRIGGER_ATTR = "data-context-menu-trigger";
31
15
  const [setMenuRootContext, getMenuRootContext] = createContext("Menu.Root");
32
16
  const [setMenuMenuContext, getMenuMenuContext] = createContext(["Menu.Root", "Menu.Sub"], "MenuContext");
33
17
  const [setMenuContentContext, getMenuContentContext] = createContext("Menu.Content");
34
18
  const [setMenuGroupContext, getMenuGroupContext] = createContext("Menu.Group");
35
19
  const [setMenuRadioGroupContext, getMenuRadioGroupContext] = createContext("Menu.RadioGroup");
36
- function createAttrs(variant) {
37
- return {
38
- trigger: `data-${variant}-trigger`,
39
- content: `data-${variant}-content`,
40
- item: `data-${variant}-item`,
41
- separator: `data-${variant}-separator`,
42
- subTrigger: `data-${variant}-sub-trigger`,
43
- checkboxItem: `data-${variant}-checkbox-item`,
44
- group: `data-${variant}-group`,
45
- groupHeading: `data-${variant}-group-heading`,
46
- radioGroup: `data-${variant}-radio-group`,
47
- radioItem: `data-${variant}-radio-item`,
48
- arrow: `data-${variant}-arrow`,
49
- subContent: `data-${variant}-sub-content`,
50
- };
51
- }
52
20
  class MenuRootState {
53
21
  onClose;
54
22
  variant;
55
23
  isUsingKeyboard = box(false);
56
24
  dir;
57
- attrs = $derived.by(() => createAttrs(this.variant.current));
58
25
  constructor(props) {
59
26
  this.onClose = props.onClose;
60
27
  this.dir = props.dir;
@@ -79,18 +46,9 @@ class MenuRootState {
79
46
  };
80
47
  });
81
48
  }
82
- createMenu(props) {
83
- return new MenuMenuState(props, this);
84
- }
85
- createGroup(props) {
86
- return new MenuGroupState(props, this);
87
- }
88
- createSeparator(props) {
89
- return new MenuSeparatorState(props, this);
90
- }
91
- createArrow() {
92
- return new MenuArrowState(this);
93
- }
49
+ getAttr = (name) => {
50
+ return `data-${this.variant.current}-${name}`;
51
+ };
94
52
  }
95
53
  class MenuMenuState {
96
54
  root;
@@ -122,18 +80,6 @@ class MenuMenuState {
122
80
  onClose = () => {
123
81
  this.open.current = false;
124
82
  };
125
- createContent(props) {
126
- return new MenuContentState(props, this);
127
- }
128
- createSubmenu(props) {
129
- return new MenuMenuState(props, this.root, this);
130
- }
131
- createDropdownTrigger(props) {
132
- return new DropdownMenuTriggerState(props, this);
133
- }
134
- createContextTrigger(props) {
135
- return new ContextMenuTriggerState(props, this);
136
- }
137
83
  }
138
84
  class MenuContentState {
139
85
  #id;
@@ -160,7 +106,7 @@ class MenuContentState {
160
106
  useRefById({
161
107
  id: this.#id,
162
108
  ref: this.contentRef,
163
- condition: () => this.parentMenu.open.current,
109
+ deps: () => this.parentMenu.open.current,
164
110
  onRefChange: (node) => {
165
111
  if (this.parentMenu.contentNode !== node) {
166
112
  this.parentMenu.contentNode = node;
@@ -170,10 +116,10 @@ class MenuContentState {
170
116
  onDestroyEffect(() => {
171
117
  window.clearTimeout(this.#timer);
172
118
  });
173
- this.#handleTypeaheadSearch = useTypeahead().handleTypeaheadSearch;
119
+ this.#handleTypeaheadSearch = useDOMTypeahead().handleTypeaheadSearch;
174
120
  this.rovingFocusGroup = useRovingFocus({
175
121
  rootNodeId: this.parentMenu.contentId,
176
- candidateAttr: this.parentMenu.root.attrs.item,
122
+ candidateAttr: this.parentMenu.root.getAttr("item"),
177
123
  loop: this.#loop,
178
124
  orientation: box.with(() => "vertical"),
179
125
  });
@@ -182,7 +128,7 @@ class MenuContentState {
182
128
  const node = this.parentMenu.contentNode;
183
129
  if (!node)
184
130
  return [];
185
- const candidates = Array.from(node.querySelectorAll(`[${this.parentMenu.root.attrs.item}]:not([data-disabled])`));
131
+ const candidates = Array.from(node.querySelectorAll(`[${this.parentMenu.root.getAttr("item")}]:not([data-disabled])`));
186
132
  return candidates;
187
133
  };
188
134
  isPointerMovingToSubmenu = (e) => {
@@ -199,7 +145,7 @@ class MenuContentState {
199
145
  const currentTarget = e.currentTarget;
200
146
  if (!isHTMLElement(target) || !isHTMLElement(currentTarget))
201
147
  return;
202
- const isKeydownInside = target.closest(`[${this.parentMenu.root.attrs.content}]`)?.id ===
148
+ const isKeydownInside = target.closest(`[${this.parentMenu.root.getAttr("content")}]`)?.id ===
203
149
  this.parentMenu.contentId.current;
204
150
  const isModifierKey = e.ctrlKey || e.altKey || e.metaKey;
205
151
  const isCharacterKey = e.key.length === 1;
@@ -304,7 +250,7 @@ class MenuContentState {
304
250
  id: this.#id.current,
305
251
  role: "menu",
306
252
  "aria-orientation": getAriaOrientation("vertical"),
307
- [this.parentMenu.root.attrs.content]: "",
253
+ [this.parentMenu.root.getAttr("content")]: "",
308
254
  "data-state": getDataOpenClosed(this.parentMenu.open.current),
309
255
  onkeydown: this.#onkeydown,
310
256
  onblur: this.#onblur,
@@ -315,22 +261,6 @@ class MenuContentState {
315
261
  pointerEvents: "auto",
316
262
  },
317
263
  }));
318
- createItem(props) {
319
- const item = new MenuItemSharedState(props, this);
320
- return new MenuItemState(props, item);
321
- }
322
- createCheckboxItem(props) {
323
- const item = new MenuItemState(props, new MenuItemSharedState(props, this));
324
- return new MenuCheckboxItemState(props, item);
325
- }
326
- createRadioGroup(props) {
327
- return new MenuRadioGroupState(props, this);
328
- }
329
- createSubTrigger(props) {
330
- const item = new MenuItemSharedState(props, this);
331
- const submenu = getMenuMenuContext();
332
- return new MenuSubTriggerState(item, this, submenu);
333
- }
334
264
  }
335
265
  class MenuItemSharedState {
336
266
  content;
@@ -346,7 +276,7 @@ class MenuItemSharedState {
346
276
  useRefById({
347
277
  id: this.id,
348
278
  ref: this.ref,
349
- condition: () => this.content.isMounted.current,
279
+ deps: () => this.content.isMounted.current,
350
280
  });
351
281
  }
352
282
  #onpointermove = (e) => {
@@ -397,7 +327,7 @@ class MenuItemSharedState {
397
327
  "aria-disabled": getAriaDisabled(this.disabled.current),
398
328
  "data-disabled": getDataDisabled(this.disabled.current),
399
329
  "data-highlighted": this.#isFocused ? "" : undefined,
400
- [this.content.parentMenu.root.attrs.item]: "",
330
+ [this.content.parentMenu.root.getAttr("item")]: "",
401
331
  //
402
332
  onpointermove: this.#onpointermove,
403
333
  onpointerleave: this.#onpointerleave,
@@ -408,12 +338,14 @@ class MenuItemSharedState {
408
338
  class MenuItemState {
409
339
  #item;
410
340
  #onSelect;
341
+ #closeOnSelect;
411
342
  #isPointerDown = $state(false);
412
343
  root;
413
344
  constructor(props, item) {
414
345
  this.#item = item;
415
346
  this.root = item.content.parentMenu.root;
416
347
  this.#onSelect = props.onSelect;
348
+ this.#closeOnSelect = props.closeOnSelect;
417
349
  }
418
350
  #onkeydown = (e) => {
419
351
  const isTypingAhead = this.#item.content.search !== "";
@@ -440,8 +372,9 @@ class MenuItemState {
440
372
  await tick();
441
373
  if (selectEvent.defaultPrevented) {
442
374
  this.#item.content.parentMenu.root.isUsingKeyboard.current = false;
375
+ return;
443
376
  }
444
- else {
377
+ if (this.#closeOnSelect.current) {
445
378
  this.#item.content.parentMenu.root.onClose();
446
379
  }
447
380
  };
@@ -568,7 +501,7 @@ class MenuSubTriggerState {
568
501
  "aria-controls": this.#submenu.open.current
569
502
  ? this.#submenu.contentId.current
570
503
  : undefined,
571
- [this.#submenu.root.attrs.subTrigger]: "",
504
+ [this.#submenu.root.getAttr("sub-trigger")]: "",
572
505
  onclick: this.#onclick,
573
506
  onpointermove: this.#onpointermove,
574
507
  onpointerleave: this.#onpointerleave,
@@ -578,27 +511,31 @@ class MenuSubTriggerState {
578
511
  class MenuCheckboxItemState {
579
512
  #item;
580
513
  #checked;
514
+ #indeterminate;
581
515
  constructor(props, item) {
582
516
  this.#item = item;
583
517
  this.#checked = props.checked;
518
+ this.#indeterminate = props.indeterminate;
584
519
  }
585
520
  toggleChecked = () => {
586
- if (this.#checked.current === true) {
587
- this.#checked.current = false;
588
- }
589
- else if (this.#checked.current === false) {
521
+ if (this.#indeterminate.current) {
522
+ this.#indeterminate.current = false;
590
523
  this.#checked.current = true;
591
524
  }
592
- else if (this.#checked.current === "indeterminate") {
593
- this.#checked.current = true;
525
+ else {
526
+ this.#checked.current = !this.#checked.current;
594
527
  }
595
528
  };
529
+ snippetProps = $derived.by(() => ({
530
+ checked: this.#checked.current,
531
+ indeterminate: this.#indeterminate.current,
532
+ }));
596
533
  props = $derived.by(() => ({
597
534
  ...this.#item.props,
598
535
  role: "menuitemcheckbox",
599
- "aria-checked": getAriaChecked(this.#checked.current),
536
+ "aria-checked": getAriaChecked(this.#checked.current, this.#indeterminate.current),
600
537
  "data-state": getCheckedState(this.#checked.current),
601
- [this.#item.root.attrs.checkboxItem]: "",
538
+ [this.#item.root.getAttr("checkbox-item")]: "",
602
539
  }));
603
540
  }
604
541
  class MenuGroupState {
@@ -619,11 +556,8 @@ class MenuGroupState {
619
556
  id: this.#id.current,
620
557
  role: "group",
621
558
  "aria-labelledby": this.groupHeadingId,
622
- [this.root.attrs.group]: "",
559
+ [this.root.getAttr("group")]: "",
623
560
  }));
624
- createGroupHeading(props) {
625
- return new MenuGroupHeadingState(props, this);
626
- }
627
561
  }
628
562
  class MenuGroupHeadingState {
629
563
  #id;
@@ -644,7 +578,7 @@ class MenuGroupHeadingState {
644
578
  props = $derived.by(() => ({
645
579
  id: this.#id.current,
646
580
  role: "group",
647
- [this.#group.root.attrs.groupHeading]: "",
581
+ [this.#group.root.getAttr("group-heading")]: "",
648
582
  }));
649
583
  }
650
584
  class MenuSeparatorState {
@@ -663,7 +597,7 @@ class MenuSeparatorState {
663
597
  props = $derived.by(() => ({
664
598
  id: this.#id.current,
665
599
  role: "group",
666
- [this.#root.attrs.separator]: "",
600
+ [this.#root.getAttr("separator")]: "",
667
601
  }));
668
602
  }
669
603
  class MenuArrowState {
@@ -672,21 +606,21 @@ class MenuArrowState {
672
606
  this.#root = root;
673
607
  }
674
608
  props = $derived.by(() => ({
675
- [this.#root.attrs.arrow]: "",
609
+ [this.#root.getAttr("arrow")]: "",
676
610
  }));
677
611
  }
678
612
  class MenuRadioGroupState {
679
613
  #id;
680
614
  value;
681
615
  #ref;
682
- #content;
616
+ content;
683
617
  groupHeadingId = $state(null);
684
618
  root;
685
619
  constructor(props, content) {
686
620
  this.value = props.value;
687
621
  this.#id = props.id;
688
622
  this.#ref = props.ref;
689
- this.#content = content;
623
+ this.content = content;
690
624
  this.root = content.parentMenu.root;
691
625
  useRefById({
692
626
  id: this.#id,
@@ -696,16 +630,9 @@ class MenuRadioGroupState {
696
630
  setValue = (v) => {
697
631
  this.value.current = v;
698
632
  };
699
- createRadioItem(props) {
700
- const item = this.#content.createItem(props);
701
- return new MenuRadioItemState(props, item, this);
702
- }
703
- createGroupHeading(props) {
704
- return new MenuGroupHeadingState(props, this);
705
- }
706
633
  props = $derived.by(() => ({
707
634
  id: this.#id.current,
708
- [this.root.attrs.radioGroup]: "",
635
+ [this.root.getAttr("radio-group")]: "",
709
636
  role: "group",
710
637
  "aria-labelledby": this.groupHeadingId,
711
638
  }));
@@ -713,6 +640,7 @@ class MenuRadioGroupState {
713
640
  class MenuRadioItemState {
714
641
  #id;
715
642
  #ref;
643
+ #closeOnSelect;
716
644
  #item;
717
645
  #value;
718
646
  #group;
@@ -723,6 +651,7 @@ class MenuRadioItemState {
723
651
  this.#ref = props.ref;
724
652
  this.#group = group;
725
653
  this.#value = props.value;
654
+ this.#closeOnSelect = props.closeOnSelect;
726
655
  useRefById({
727
656
  id: this.#id,
728
657
  ref: this.#ref,
@@ -732,10 +661,10 @@ class MenuRadioItemState {
732
661
  this.#group.setValue(this.#value.current);
733
662
  };
734
663
  props = $derived.by(() => ({
735
- [this.#group.root.attrs.radioItem]: "",
664
+ [this.#group.root.getAttr("radio-item")]: "",
736
665
  ...this.#item.props,
737
666
  role: "menuitemradio",
738
- "aria-checked": getAriaChecked(this.isChecked),
667
+ "aria-checked": getAriaChecked(this.isChecked, false),
739
668
  "data-state": getCheckedState(this.isChecked),
740
669
  }));
741
670
  }
@@ -758,7 +687,11 @@ class DropdownMenuTriggerState {
758
687
  });
759
688
  }
760
689
  #onpointerdown = (e) => {
761
- if (!this.#disabled.current && e.button === 0 && e.ctrlKey === false) {
690
+ if (this.#disabled.current)
691
+ return;
692
+ if (e.pointerType === "touch")
693
+ return e.preventDefault();
694
+ if (e.button === 0 && e.ctrlKey === false) {
762
695
  this.#parentMenu.toggleOpen();
763
696
  // prevent trigger focusing when opening to allow
764
697
  // the content to be given focus without competition
@@ -766,6 +699,14 @@ class DropdownMenuTriggerState {
766
699
  e.preventDefault();
767
700
  }
768
701
  };
702
+ #onpointerup = (e) => {
703
+ if (this.#disabled.current)
704
+ return;
705
+ if (e.pointerType === "touch") {
706
+ e.preventDefault();
707
+ this.#parentMenu.toggleOpen();
708
+ }
709
+ };
769
710
  #onkeydown = (e) => {
770
711
  if (this.#disabled.current)
771
712
  return;
@@ -792,9 +733,10 @@ class DropdownMenuTriggerState {
792
733
  "aria-controls": this.#ariaControls,
793
734
  "data-disabled": getDataDisabled(this.#disabled.current),
794
735
  "data-state": getDataOpenClosed(this.#parentMenu.open.current),
795
- [this.#parentMenu.root.attrs.trigger]: "",
736
+ [this.#parentMenu.root.getAttr("trigger")]: "",
796
737
  //
797
738
  onpointerdown: this.#onpointerdown,
739
+ onpointerup: this.#onpointerup,
798
740
  onkeydown: this.#onkeydown,
799
741
  }));
800
742
  }
@@ -819,7 +761,7 @@ class ContextMenuTriggerState {
819
761
  onRefChange: (node) => {
820
762
  this.#parentMenu.triggerNode = node;
821
763
  },
822
- condition: () => this.#parentMenu.open.current,
764
+ deps: () => this.#parentMenu.open.current,
823
765
  });
824
766
  $effect(() => {
825
767
  this.#point;
@@ -897,47 +839,65 @@ export function useMenuRoot(props) {
897
839
  return setMenuRootContext(new MenuRootState(props));
898
840
  }
899
841
  export function useMenuMenu(root, props) {
900
- return setMenuMenuContext(root.createMenu(props));
842
+ const menu = new MenuMenuState(props, root);
843
+ return setMenuMenuContext(menu);
901
844
  }
902
845
  export function useMenuSubmenu(props) {
903
- return setMenuMenuContext(getMenuMenuContext().createSubmenu(props));
846
+ const menu = getMenuMenuContext();
847
+ return setMenuMenuContext(new MenuMenuState(props, menu.root, menu));
904
848
  }
905
849
  export function useMenuSubTrigger(props) {
906
- return getMenuContentContext().createSubTrigger(props);
850
+ const content = getMenuContentContext();
851
+ const item = new MenuItemSharedState(props, content);
852
+ const submenu = getMenuMenuContext();
853
+ return new MenuSubTriggerState(item, content, submenu);
907
854
  }
908
855
  export function useMenuDropdownTrigger(props) {
909
- return getMenuMenuContext().createDropdownTrigger(props);
910
- }
911
- export function useMenuPortal() {
912
- return getMenuMenuContext();
856
+ const menu = getMenuMenuContext();
857
+ return new DropdownMenuTriggerState(props, menu);
913
858
  }
914
859
  export function useMenuContextTrigger(props) {
915
- return getMenuMenuContext().createContextTrigger(props);
860
+ const menu = getMenuMenuContext();
861
+ return new ContextMenuTriggerState(props, menu);
916
862
  }
917
863
  export function useMenuContent(props) {
918
- return setMenuContentContext(getMenuMenuContext().createContent(props));
864
+ const menu = getMenuMenuContext();
865
+ return setMenuContentContext(new MenuContentState(props, menu));
919
866
  }
920
867
  export function useMenuItem(props) {
921
- return getMenuContentContext().createItem(props);
868
+ const content = getMenuContentContext();
869
+ const item = new MenuItemSharedState(props, content);
870
+ return new MenuItemState(props, item);
922
871
  }
923
872
  export function useMenuCheckboxItem(props) {
924
- return getMenuContentContext().createCheckboxItem(props);
873
+ const content = getMenuContentContext();
874
+ const item = new MenuItemState(props, new MenuItemSharedState(props, content));
875
+ return new MenuCheckboxItemState(props, item);
925
876
  }
926
877
  export function useMenuRadioGroup(props) {
927
- return setMenuGroupContext(setMenuRadioGroupContext(getMenuContentContext().createRadioGroup(props)));
878
+ const content = getMenuContentContext();
879
+ const radioGroup = new MenuRadioGroupState(props, content);
880
+ return setMenuGroupContext(setMenuRadioGroupContext(radioGroup));
928
881
  }
929
882
  export function useMenuRadioItem(props) {
930
- return getMenuRadioGroupContext().createRadioItem(props);
883
+ const radioGroup = getMenuRadioGroupContext();
884
+ const sharedItem = new MenuItemSharedState(props, radioGroup.content);
885
+ const item = new MenuItemState(props, sharedItem);
886
+ return new MenuRadioItemState(props, item, radioGroup);
931
887
  }
932
888
  export function useMenuGroup(props) {
933
- return setMenuGroupContext(getMenuRootContext().createGroup(props));
889
+ const root = getMenuRootContext();
890
+ return setMenuGroupContext(new MenuGroupState(props, root));
934
891
  }
935
892
  export function useMenuGroupHeading(props) {
936
- return getMenuGroupContext().createGroupHeading(props);
893
+ const group = getMenuGroupContext();
894
+ return new MenuGroupHeadingState(props, group);
937
895
  }
938
896
  export function useMenuSeparator(props) {
939
- return getMenuRootContext().createSeparator(props);
897
+ const root = getMenuRootContext();
898
+ return new MenuSeparatorState(props, root);
940
899
  }
941
900
  export function useMenuArrow() {
942
- return getMenuRootContext().createArrow();
901
+ const root = getMenuRootContext();
902
+ return new MenuArrowState(root);
943
903
  }
@@ -1,8 +1,8 @@
1
1
  import type { Expand } from "svelte-toolbelt";
2
2
  import type { PopperLayerProps, PopperLayerStaticProps } from "../utilities/popper-layer/types.js";
3
3
  import type { ArrowProps, ArrowPropsWithoutHTML } from "../utilities/arrow/types.js";
4
- import type { OnChangeFn, WithChild, WithChildren, Without } from "../../internal/types.js";
5
- import type { PrimitiveButtonAttributes, PrimitiveDivAttributes } from "../../shared/attributes.js";
4
+ import type { OnChangeFn, WithChild, WithChildNoChildrenSnippetProps, WithChildren, Without } from "../../internal/types.js";
5
+ import type { BitsPrimitiveButtonAttributes, BitsPrimitiveDivAttributes } from "../../shared/attributes.js";
6
6
  import type { Direction } from "../../shared/index.js";
7
7
  import type { PortalProps } from "../utilities/portal/types.js";
8
8
  export type MenuRootPropsWithoutHTML = WithChildren<{
@@ -45,10 +45,10 @@ export type MenuContentSnippetProps = {
45
45
  */
46
46
  open: boolean;
47
47
  };
48
- export type MenuContentPropsWithoutHTML = Expand<WithChild<Omit<PopperLayerProps, "content"> & _SharedMenuContentProps, MenuContentSnippetProps>>;
49
- export type MenuContentProps = MenuContentPropsWithoutHTML & Without<PrimitiveDivAttributes, MenuContentPropsWithoutHTML>;
50
- export type MenuContentStaticPropsWithoutHTML = Expand<WithChild<Omit<PopperLayerStaticProps, "content"> & _SharedMenuContentProps, MenuContentSnippetProps>>;
51
- export type MenuContentStaticProps = MenuContentStaticPropsWithoutHTML & Without<PrimitiveDivAttributes, MenuContentStaticPropsWithoutHTML>;
48
+ export type MenuContentPropsWithoutHTML = Expand<WithChildNoChildrenSnippetProps<Omit<PopperLayerProps, "content"> & _SharedMenuContentProps, MenuContentSnippetProps>>;
49
+ export type MenuContentProps = MenuContentPropsWithoutHTML & Without<BitsPrimitiveDivAttributes, MenuContentPropsWithoutHTML>;
50
+ export type MenuContentStaticPropsWithoutHTML = Expand<WithChildNoChildrenSnippetProps<Omit<PopperLayerStaticProps, "content"> & _SharedMenuContentProps, MenuContentSnippetProps>>;
51
+ export type MenuContentStaticProps = MenuContentStaticPropsWithoutHTML & Without<BitsPrimitiveDivAttributes, MenuContentStaticPropsWithoutHTML>;
52
52
  export type MenuItemPropsWithoutHTML<U extends Record<PropertyKey, unknown> = {
53
53
  _default: never;
54
54
  }> = WithChild<{
@@ -72,22 +72,30 @@ export type MenuItemPropsWithoutHTML<U extends Record<PropertyKey, unknown> = {
72
72
  * Prevent default behavior of selection with `event.preventDefault()`.
73
73
  */
74
74
  onSelect?: (event: Event) => void;
75
+ /**
76
+ * Whether or not the menu item should close when selected.
77
+ * @defaultValue true
78
+ */
79
+ closeOnSelect?: boolean;
75
80
  }, U>;
76
- export type MenuItemProps = MenuItemPropsWithoutHTML & Without<PrimitiveDivAttributes, MenuItemPropsWithoutHTML>;
81
+ export type MenuItemProps = MenuItemPropsWithoutHTML & Without<BitsPrimitiveDivAttributes, MenuItemPropsWithoutHTML>;
77
82
  export type MenuCheckboxItemSnippetProps = {
78
- checked: boolean | "indeterminate";
83
+ checked: boolean;
84
+ indeterminate: boolean;
79
85
  };
80
86
  export type MenuCheckboxItemPropsWithoutHTML = MenuItemPropsWithoutHTML<MenuCheckboxItemSnippetProps> & {
81
87
  /**
82
- * The checked state of the checkbox item.
88
+ * The checked state of the checkbox. It can be one of:
89
+ * - `true` for checked
90
+ * - `false` for unchecked
83
91
  *
84
- * Supports two-way binding with `bind:checked`.
92
+ * @defaultValue false
85
93
  */
86
- checked?: boolean | "indeterminate";
94
+ checked?: boolean;
87
95
  /**
88
96
  * A callback that is fired when the checked state changes.
89
97
  */
90
- onCheckedChange?: OnChangeFn<boolean | "indeterminate">;
98
+ onCheckedChange?: OnChangeFn<boolean>;
91
99
  /**
92
100
  * Whether or not the checked state is controlled or not. If `true`, the component will not
93
101
  * update the checked state internally, instead it will call `onCheckedChange` when it
@@ -97,8 +105,33 @@ export type MenuCheckboxItemPropsWithoutHTML = MenuItemPropsWithoutHTML<MenuChec
97
105
  * @defaultValue false
98
106
  */
99
107
  controlledChecked?: boolean;
108
+ /**
109
+ * Whether the checkbox is in an indeterminate state or not.
110
+ *
111
+ * @defaultValue false
112
+ */
113
+ indeterminate?: boolean;
114
+ /**
115
+ * A callback function called when the indeterminate state changes.
116
+ */
117
+ onIndeterminateChange?: OnChangeFn<boolean>;
118
+ /**
119
+ * Whether the indeterminate state is controlled or not. If `true`, the checkbox will
120
+ * not update the indeterminate state internally, instead it will call
121
+ * `onIndeterminateChange` when it would have otherwise, and it is up to you to update
122
+ * the `indeterminate` prop that is passed to the component.
123
+ *
124
+ * @defaultValue false
125
+ */
126
+ controlledIndeterminate?: boolean;
127
+ /**
128
+ * Whether or not the menu item should close when selected.
129
+ *
130
+ * @defaultValue true
131
+ */
132
+ closeOnSelect?: boolean;
100
133
  };
101
- export type MenuCheckboxItemProps = MenuCheckboxItemPropsWithoutHTML & Without<PrimitiveDivAttributes, MenuCheckboxItemPropsWithoutHTML>;
134
+ export type MenuCheckboxItemProps = MenuCheckboxItemPropsWithoutHTML & Without<BitsPrimitiveDivAttributes, MenuCheckboxItemPropsWithoutHTML>;
102
135
  export type MenuTriggerPropsWithoutHTML = WithChild<{
103
136
  /**
104
137
  * Whether the trigger is disabled.
@@ -107,7 +140,7 @@ export type MenuTriggerPropsWithoutHTML = WithChild<{
107
140
  */
108
141
  disabled?: boolean | null | undefined;
109
142
  }>;
110
- export type MenuTriggerProps = MenuTriggerPropsWithoutHTML & Without<PrimitiveButtonAttributes, MenuTriggerPropsWithoutHTML>;
143
+ export type MenuTriggerProps = MenuTriggerPropsWithoutHTML & Without<BitsPrimitiveButtonAttributes, MenuTriggerPropsWithoutHTML>;
111
144
  export type MenuSubPropsWithoutHTML = WithChildren<{
112
145
  /**
113
146
  * The open state of the menu.
@@ -126,20 +159,21 @@ export type MenuSubPropsWithoutHTML = WithChildren<{
126
159
  */
127
160
  controlledOpen?: boolean;
128
161
  }>;
129
- export type MenuSubContentPropsWithoutHTML = Expand<WithChild<Omit<PopperLayerProps, "content" | "preventScroll"> & _SharedMenuContentProps, MenuContentSnippetProps>>;
130
- export type MenuSubContentProps = MenuSubContentPropsWithoutHTML & Without<PrimitiveDivAttributes, MenuSubContentPropsWithoutHTML>;
131
- export type MenuSubContentStaticPropsWithoutHTML = Expand<WithChild<Omit<PopperLayerStaticProps, "content" | "preventScroll"> & _SharedMenuContentProps, MenuContentSnippetProps>>;
132
- export type MenuSubContentStaticProps = MenuSubContentStaticPropsWithoutHTML & Without<PrimitiveDivAttributes, MenuSubContentStaticPropsWithoutHTML>;
162
+ export type MenuSubProps = MenuSubPropsWithoutHTML;
163
+ export type MenuSubContentPropsWithoutHTML = Expand<WithChildNoChildrenSnippetProps<Omit<PopperLayerProps, "content" | "preventScroll"> & _SharedMenuContentProps, MenuContentSnippetProps>>;
164
+ export type MenuSubContentProps = MenuSubContentPropsWithoutHTML & Without<BitsPrimitiveDivAttributes, MenuSubContentPropsWithoutHTML>;
165
+ export type MenuSubContentStaticPropsWithoutHTML = Expand<WithChildNoChildrenSnippetProps<Omit<PopperLayerStaticProps, "content" | "preventScroll"> & _SharedMenuContentProps, MenuContentSnippetProps>>;
166
+ export type MenuSubContentStaticProps = MenuSubContentStaticPropsWithoutHTML & Without<BitsPrimitiveDivAttributes, MenuSubContentStaticPropsWithoutHTML>;
133
167
  export type MenuSubTriggerPropsWithoutHTML = MenuItemPropsWithoutHTML;
134
168
  export type MenuSubTriggerProps = MenuItemProps;
135
169
  export type MenuSeparatorPropsWithoutHTML = WithChild;
136
- export type MenuSeparatorProps = MenuSeparatorPropsWithoutHTML & Without<PrimitiveDivAttributes, MenuSeparatorPropsWithoutHTML>;
170
+ export type MenuSeparatorProps = MenuSeparatorPropsWithoutHTML & Without<BitsPrimitiveDivAttributes, MenuSeparatorPropsWithoutHTML>;
137
171
  export type MenuArrowPropsWithoutHTML = ArrowPropsWithoutHTML;
138
172
  export type MenuArrowProps = ArrowProps;
139
173
  export type MenuGroupPropsWithoutHTML = WithChild;
140
- export type MenuGroupProps = MenuGroupPropsWithoutHTML & Without<PrimitiveDivAttributes, MenuGroupPropsWithoutHTML>;
174
+ export type MenuGroupProps = MenuGroupPropsWithoutHTML & Without<BitsPrimitiveDivAttributes, MenuGroupPropsWithoutHTML>;
141
175
  export type MenuGroupHeadingPropsWithoutHTML = WithChild;
142
- export type MenuGroupHeadingProps = MenuGroupHeadingPropsWithoutHTML & Without<PrimitiveDivAttributes, MenuGroupHeadingPropsWithoutHTML>;
176
+ export type MenuGroupHeadingProps = MenuGroupHeadingPropsWithoutHTML & Without<BitsPrimitiveDivAttributes, MenuGroupHeadingPropsWithoutHTML>;
143
177
  export type MenuRadioGroupPropsWithoutHTML = WithChild<{
144
178
  /**
145
179
  * The value of the selected radio item.
@@ -160,7 +194,7 @@ export type MenuRadioGroupPropsWithoutHTML = WithChild<{
160
194
  */
161
195
  controlledValue?: boolean;
162
196
  }>;
163
- export type MenuRadioGroupProps = MenuRadioGroupPropsWithoutHTML & Without<PrimitiveDivAttributes, MenuRadioGroupPropsWithoutHTML>;
197
+ export type MenuRadioGroupProps = MenuRadioGroupPropsWithoutHTML & Without<BitsPrimitiveDivAttributes, MenuRadioGroupPropsWithoutHTML>;
164
198
  export type MenuRadioItemSnippetProps = {
165
199
  checked: boolean;
166
200
  };
@@ -169,7 +203,12 @@ export type MenuRadioItemPropsWithoutHTML = MenuItemPropsWithoutHTML<MenuRadioIt
169
203
  * The value of the radio item.
170
204
  */
171
205
  value: string;
206
+ /**
207
+ * Whether or not the menu item should close when selected.
208
+ * @defaultValue true
209
+ */
210
+ closeOnSelect?: boolean;
172
211
  };
173
- export type MenuRadioItemProps = MenuRadioItemPropsWithoutHTML & Without<PrimitiveDivAttributes, MenuRadioItemPropsWithoutHTML>;
212
+ export type MenuRadioItemProps = MenuRadioItemPropsWithoutHTML & Without<BitsPrimitiveDivAttributes, MenuRadioItemPropsWithoutHTML>;
174
213
  export type MenuPortalPropsWithoutHTML = PortalProps;
175
214
  export type MenuPortalProps = MenuPortalPropsWithoutHTML;
@@ -1,9 +1,8 @@
1
1
  <script lang="ts">
2
- import { box } from "svelte-toolbelt";
3
- import type { ContentStaticProps } from "../index.js";
2
+ import { box, mergeProps } from "svelte-toolbelt";
3
+ import type { MenubarContentStaticProps } from "../types.js";
4
4
  import { useMenubarContent } from "../menubar.svelte.js";
5
- import { useId } from "../../../internal/useId.js";
6
- import { mergeProps } from "../../../internal/mergeProps.js";
5
+ import { useId } from "../../../internal/use-id.js";
7
6
  import MenuContentStatic from "../../menu/components/menu-content-static.svelte";
8
7
 
9
8
  let {
@@ -11,7 +10,7 @@
11
10
  interactOutsideBehavior = "close",
12
11
  id = useId(),
13
12
  ...restProps
14
- }: ContentStaticProps = $props();
13
+ }: MenubarContentStaticProps = $props();
15
14
 
16
15
  const contentState = useMenubarContent({
17
16
  id: box.with(() => id),