@johly/bits-ui 2.18.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1064) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +59 -0
  3. package/dist/app.d.ts +19 -0
  4. package/dist/bits/accordion/accordion.svelte.d.ts +161 -0
  5. package/dist/bits/accordion/accordion.svelte.js +285 -0
  6. package/dist/bits/accordion/components/accordion-content.svelte +41 -0
  7. package/dist/bits/accordion/components/accordion-content.svelte.d.ts +4 -0
  8. package/dist/bits/accordion/components/accordion-header.svelte +36 -0
  9. package/dist/bits/accordion/components/accordion-header.svelte.d.ts +4 -0
  10. package/dist/bits/accordion/components/accordion-item.svelte +39 -0
  11. package/dist/bits/accordion/components/accordion-item.svelte.d.ts +4 -0
  12. package/dist/bits/accordion/components/accordion-trigger.svelte +38 -0
  13. package/dist/bits/accordion/components/accordion-trigger.svelte.d.ts +4 -0
  14. package/dist/bits/accordion/components/accordion.svelte +69 -0
  15. package/dist/bits/accordion/components/accordion.svelte.d.ts +4 -0
  16. package/dist/bits/accordion/exports.d.ts +6 -0
  17. package/dist/bits/accordion/exports.js +5 -0
  18. package/dist/bits/accordion/index.d.ts +1 -0
  19. package/dist/bits/accordion/index.js +1 -0
  20. package/dist/bits/accordion/types.d.ts +121 -0
  21. package/dist/bits/accordion/types.js +1 -0
  22. package/dist/bits/alert-dialog/components/alert-dialog-action.svelte +34 -0
  23. package/dist/bits/alert-dialog/components/alert-dialog-action.svelte.d.ts +3 -0
  24. package/dist/bits/alert-dialog/components/alert-dialog-cancel.svelte +36 -0
  25. package/dist/bits/alert-dialog/components/alert-dialog-cancel.svelte.d.ts +3 -0
  26. package/dist/bits/alert-dialog/components/alert-dialog-content.svelte +103 -0
  27. package/dist/bits/alert-dialog/components/alert-dialog-content.svelte.d.ts +3 -0
  28. package/dist/bits/alert-dialog/components/alert-dialog.svelte +27 -0
  29. package/dist/bits/alert-dialog/components/alert-dialog.svelte.d.ts +3 -0
  30. package/dist/bits/alert-dialog/exports.d.ts +10 -0
  31. package/dist/bits/alert-dialog/exports.js +9 -0
  32. package/dist/bits/alert-dialog/index.d.ts +1 -0
  33. package/dist/bits/alert-dialog/index.js +1 -0
  34. package/dist/bits/alert-dialog/types.d.ts +4 -0
  35. package/dist/bits/alert-dialog/types.js +1 -0
  36. package/dist/bits/aspect-ratio/aspect-ratio.svelte.d.ts +23 -0
  37. package/dist/bits/aspect-ratio/aspect-ratio.svelte.js +29 -0
  38. package/dist/bits/aspect-ratio/components/aspect-ratio.svelte +38 -0
  39. package/dist/bits/aspect-ratio/components/aspect-ratio.svelte.d.ts +4 -0
  40. package/dist/bits/aspect-ratio/exports.d.ts +2 -0
  41. package/dist/bits/aspect-ratio/exports.js +1 -0
  42. package/dist/bits/aspect-ratio/index.d.ts +1 -0
  43. package/dist/bits/aspect-ratio/index.js +1 -0
  44. package/dist/bits/aspect-ratio/types.d.ts +11 -0
  45. package/dist/bits/aspect-ratio/types.js +1 -0
  46. package/dist/bits/avatar/avatar.svelte.d.ts +65 -0
  47. package/dist/bits/avatar/avatar.svelte.js +105 -0
  48. package/dist/bits/avatar/components/avatar-fallback.svelte +34 -0
  49. package/dist/bits/avatar/components/avatar-fallback.svelte.d.ts +4 -0
  50. package/dist/bits/avatar/components/avatar-image.svelte +37 -0
  51. package/dist/bits/avatar/components/avatar-image.svelte.d.ts +4 -0
  52. package/dist/bits/avatar/components/avatar.svelte +47 -0
  53. package/dist/bits/avatar/components/avatar.svelte.d.ts +4 -0
  54. package/dist/bits/avatar/exports.d.ts +4 -0
  55. package/dist/bits/avatar/exports.js +3 -0
  56. package/dist/bits/avatar/index.d.ts +1 -0
  57. package/dist/bits/avatar/index.js +1 -0
  58. package/dist/bits/avatar/types.d.ts +32 -0
  59. package/dist/bits/avatar/types.js +1 -0
  60. package/dist/bits/button/components/button.svelte +27 -0
  61. package/dist/bits/button/components/button.svelte.d.ts +4 -0
  62. package/dist/bits/button/exports.d.ts +2 -0
  63. package/dist/bits/button/exports.js +1 -0
  64. package/dist/bits/button/index.d.ts +1 -0
  65. package/dist/bits/button/index.js +1 -0
  66. package/dist/bits/button/types.d.ts +18 -0
  67. package/dist/bits/button/types.js +1 -0
  68. package/dist/bits/calendar/calendar.svelte.d.ts +416 -0
  69. package/dist/bits/calendar/calendar.svelte.js +870 -0
  70. package/dist/bits/calendar/components/calendar-cell.svelte +41 -0
  71. package/dist/bits/calendar/components/calendar-cell.svelte.d.ts +4 -0
  72. package/dist/bits/calendar/components/calendar-day.svelte +41 -0
  73. package/dist/bits/calendar/components/calendar-day.svelte.d.ts +4 -0
  74. package/dist/bits/calendar/components/calendar-grid-body.svelte +34 -0
  75. package/dist/bits/calendar/components/calendar-grid-body.svelte.d.ts +4 -0
  76. package/dist/bits/calendar/components/calendar-grid-head.svelte +34 -0
  77. package/dist/bits/calendar/components/calendar-grid-head.svelte.d.ts +4 -0
  78. package/dist/bits/calendar/components/calendar-grid-row.svelte +34 -0
  79. package/dist/bits/calendar/components/calendar-grid-row.svelte.d.ts +4 -0
  80. package/dist/bits/calendar/components/calendar-grid.svelte +34 -0
  81. package/dist/bits/calendar/components/calendar-grid.svelte.d.ts +4 -0
  82. package/dist/bits/calendar/components/calendar-head-cell.svelte +34 -0
  83. package/dist/bits/calendar/components/calendar-head-cell.svelte.d.ts +4 -0
  84. package/dist/bits/calendar/components/calendar-header.svelte +34 -0
  85. package/dist/bits/calendar/components/calendar-header.svelte.d.ts +4 -0
  86. package/dist/bits/calendar/components/calendar-heading.svelte +38 -0
  87. package/dist/bits/calendar/components/calendar-heading.svelte.d.ts +4 -0
  88. package/dist/bits/calendar/components/calendar-month-select.svelte +54 -0
  89. package/dist/bits/calendar/components/calendar-month-select.svelte.d.ts +4 -0
  90. package/dist/bits/calendar/components/calendar-next-button.svelte +36 -0
  91. package/dist/bits/calendar/components/calendar-next-button.svelte.d.ts +4 -0
  92. package/dist/bits/calendar/components/calendar-prev-button.svelte +36 -0
  93. package/dist/bits/calendar/components/calendar-prev-button.svelte.d.ts +4 -0
  94. package/dist/bits/calendar/components/calendar-year-select.svelte +51 -0
  95. package/dist/bits/calendar/components/calendar-year-select.svelte.d.ts +4 -0
  96. package/dist/bits/calendar/components/calendar.svelte +133 -0
  97. package/dist/bits/calendar/components/calendar.svelte.d.ts +4 -0
  98. package/dist/bits/calendar/exports.d.ts +15 -0
  99. package/dist/bits/calendar/exports.js +14 -0
  100. package/dist/bits/calendar/index.d.ts +1 -0
  101. package/dist/bits/calendar/index.js +1 -0
  102. package/dist/bits/calendar/types.d.ts +330 -0
  103. package/dist/bits/calendar/types.js +1 -0
  104. package/dist/bits/checkbox/checkbox.svelte.d.ts +106 -0
  105. package/dist/bits/checkbox/checkbox.svelte.js +224 -0
  106. package/dist/bits/checkbox/components/checkbox-group-label.svelte +34 -0
  107. package/dist/bits/checkbox/components/checkbox-group-label.svelte.d.ts +4 -0
  108. package/dist/bits/checkbox/components/checkbox-group.svelte +55 -0
  109. package/dist/bits/checkbox/components/checkbox-group.svelte.d.ts +4 -0
  110. package/dist/bits/checkbox/components/checkbox-input.svelte +10 -0
  111. package/dist/bits/checkbox/components/checkbox-input.svelte.d.ts +18 -0
  112. package/dist/bits/checkbox/components/checkbox.svelte +97 -0
  113. package/dist/bits/checkbox/components/checkbox.svelte.d.ts +4 -0
  114. package/dist/bits/checkbox/exports.d.ts +4 -0
  115. package/dist/bits/checkbox/exports.js +3 -0
  116. package/dist/bits/checkbox/index.d.ts +1 -0
  117. package/dist/bits/checkbox/index.js +1 -0
  118. package/dist/bits/checkbox/types.d.ts +115 -0
  119. package/dist/bits/checkbox/types.js +1 -0
  120. package/dist/bits/collapsible/collapsible.svelte.d.ts +81 -0
  121. package/dist/bits/collapsible/collapsible.svelte.js +197 -0
  122. package/dist/bits/collapsible/components/collapsible-content.svelte +41 -0
  123. package/dist/bits/collapsible/components/collapsible-content.svelte.d.ts +4 -0
  124. package/dist/bits/collapsible/components/collapsible-trigger.svelte +36 -0
  125. package/dist/bits/collapsible/components/collapsible-trigger.svelte.d.ts +4 -0
  126. package/dist/bits/collapsible/components/collapsible.svelte +48 -0
  127. package/dist/bits/collapsible/components/collapsible.svelte.d.ts +4 -0
  128. package/dist/bits/collapsible/exports.d.ts +4 -0
  129. package/dist/bits/collapsible/exports.js +3 -0
  130. package/dist/bits/collapsible/index.d.ts +1 -0
  131. package/dist/bits/collapsible/index.js +1 -0
  132. package/dist/bits/collapsible/types.d.ts +48 -0
  133. package/dist/bits/collapsible/types.js +1 -0
  134. package/dist/bits/combobox/components/combobox-input.svelte +41 -0
  135. package/dist/bits/combobox/components/combobox-input.svelte.d.ts +4 -0
  136. package/dist/bits/combobox/components/combobox-trigger.svelte +33 -0
  137. package/dist/bits/combobox/components/combobox-trigger.svelte.d.ts +4 -0
  138. package/dist/bits/combobox/components/combobox.svelte +86 -0
  139. package/dist/bits/combobox/components/combobox.svelte.d.ts +3 -0
  140. package/dist/bits/combobox/exports.d.ts +15 -0
  141. package/dist/bits/combobox/exports.js +14 -0
  142. package/dist/bits/combobox/index.d.ts +1 -0
  143. package/dist/bits/combobox/index.js +1 -0
  144. package/dist/bits/combobox/types.d.ts +34 -0
  145. package/dist/bits/combobox/types.js +1 -0
  146. package/dist/bits/command/command.svelte.d.ts +360 -0
  147. package/dist/bits/command/command.svelte.js +1325 -0
  148. package/dist/bits/command/components/_command-label.svelte +31 -0
  149. package/dist/bits/command/components/_command-label.svelte.d.ts +5 -0
  150. package/dist/bits/command/components/command-empty.svelte +38 -0
  151. package/dist/bits/command/components/command-empty.svelte.d.ts +4 -0
  152. package/dist/bits/command/components/command-group-heading.svelte +34 -0
  153. package/dist/bits/command/components/command-group-heading.svelte.d.ts +4 -0
  154. package/dist/bits/command/components/command-group-items.svelte +36 -0
  155. package/dist/bits/command/components/command-group-items.svelte.d.ts +4 -0
  156. package/dist/bits/command/components/command-group.svelte +38 -0
  157. package/dist/bits/command/components/command-group.svelte.d.ts +4 -0
  158. package/dist/bits/command/components/command-input.svelte +40 -0
  159. package/dist/bits/command/components/command-input.svelte.d.ts +4 -0
  160. package/dist/bits/command/components/command-item.svelte +51 -0
  161. package/dist/bits/command/components/command-item.svelte.d.ts +4 -0
  162. package/dist/bits/command/components/command-link-item.svelte +51 -0
  163. package/dist/bits/command/components/command-link-item.svelte.d.ts +4 -0
  164. package/dist/bits/command/components/command-list.svelte +38 -0
  165. package/dist/bits/command/components/command-list.svelte.d.ts +4 -0
  166. package/dist/bits/command/components/command-loading.svelte +36 -0
  167. package/dist/bits/command/components/command-loading.svelte.d.ts +4 -0
  168. package/dist/bits/command/components/command-separator.svelte +38 -0
  169. package/dist/bits/command/components/command-separator.svelte.d.ts +4 -0
  170. package/dist/bits/command/components/command-viewport.svelte +34 -0
  171. package/dist/bits/command/components/command-viewport.svelte.d.ts +4 -0
  172. package/dist/bits/command/components/command.svelte +137 -0
  173. package/dist/bits/command/components/command.svelte.d.ts +59 -0
  174. package/dist/bits/command/compute-command-score.d.ts +26 -0
  175. package/dist/bits/command/compute-command-score.js +160 -0
  176. package/dist/bits/command/exports.d.ts +13 -0
  177. package/dist/bits/command/exports.js +12 -0
  178. package/dist/bits/command/index.d.ts +2 -0
  179. package/dist/bits/command/index.js +2 -0
  180. package/dist/bits/command/types.d.ts +164 -0
  181. package/dist/bits/command/types.js +1 -0
  182. package/dist/bits/command/utils.d.ts +3 -0
  183. package/dist/bits/command/utils.js +26 -0
  184. package/dist/bits/context-menu/components/context-menu-content-static.svelte +135 -0
  185. package/dist/bits/context-menu/components/context-menu-content-static.svelte.d.ts +4 -0
  186. package/dist/bits/context-menu/components/context-menu-content.svelte +138 -0
  187. package/dist/bits/context-menu/components/context-menu-content.svelte.d.ts +3 -0
  188. package/dist/bits/context-menu/components/context-menu-trigger.svelte +47 -0
  189. package/dist/bits/context-menu/components/context-menu-trigger.svelte.d.ts +4 -0
  190. package/dist/bits/context-menu/components/context-menu.svelte +42 -0
  191. package/dist/bits/context-menu/components/context-menu.svelte.d.ts +3 -0
  192. package/dist/bits/context-menu/exports.d.ts +19 -0
  193. package/dist/bits/context-menu/exports.js +18 -0
  194. package/dist/bits/context-menu/index.d.ts +1 -0
  195. package/dist/bits/context-menu/index.js +1 -0
  196. package/dist/bits/context-menu/types.d.ts +15 -0
  197. package/dist/bits/context-menu/types.js +1 -0
  198. package/dist/bits/date-field/components/date-field-hidden-input.svelte +10 -0
  199. package/dist/bits/date-field/components/date-field-hidden-input.svelte.d.ts +18 -0
  200. package/dist/bits/date-field/components/date-field-input.svelte +39 -0
  201. package/dist/bits/date-field/components/date-field-input.svelte.d.ts +4 -0
  202. package/dist/bits/date-field/components/date-field-label.svelte +34 -0
  203. package/dist/bits/date-field/components/date-field-label.svelte.d.ts +4 -0
  204. package/dist/bits/date-field/components/date-field-segment.svelte +37 -0
  205. package/dist/bits/date-field/components/date-field-segment.svelte.d.ts +4 -0
  206. package/dist/bits/date-field/components/date-field.svelte +99 -0
  207. package/dist/bits/date-field/components/date-field.svelte.d.ts +3 -0
  208. package/dist/bits/date-field/date-field.svelte.d.ts +465 -0
  209. package/dist/bits/date-field/date-field.svelte.js +1278 -0
  210. package/dist/bits/date-field/exports.d.ts +5 -0
  211. package/dist/bits/date-field/exports.js +4 -0
  212. package/dist/bits/date-field/index.d.ts +1 -0
  213. package/dist/bits/date-field/index.js +1 -0
  214. package/dist/bits/date-field/types.d.ts +141 -0
  215. package/dist/bits/date-field/types.js +1 -0
  216. package/dist/bits/date-picker/components/date-picker-calendar.svelte +61 -0
  217. package/dist/bits/date-picker/components/date-picker-calendar.svelte.d.ts +4 -0
  218. package/dist/bits/date-picker/components/date-picker-content-static.svelte +18 -0
  219. package/dist/bits/date-picker/components/date-picker-content-static.svelte.d.ts +4 -0
  220. package/dist/bits/date-picker/components/date-picker-content.svelte +14 -0
  221. package/dist/bits/date-picker/components/date-picker-content.svelte.d.ts +4 -0
  222. package/dist/bits/date-picker/components/date-picker-trigger.svelte +27 -0
  223. package/dist/bits/date-picker/components/date-picker-trigger.svelte.d.ts +4 -0
  224. package/dist/bits/date-picker/components/date-picker.svelte +162 -0
  225. package/dist/bits/date-picker/components/date-picker.svelte.d.ts +3 -0
  226. package/dist/bits/date-picker/date-picker.svelte.d.ts +44 -0
  227. package/dist/bits/date-picker/date-picker.svelte.js +12 -0
  228. package/dist/bits/date-picker/exports.d.ts +25 -0
  229. package/dist/bits/date-picker/exports.js +24 -0
  230. package/dist/bits/date-picker/index.d.ts +1 -0
  231. package/dist/bits/date-picker/index.js +1 -0
  232. package/dist/bits/date-picker/types.d.ts +253 -0
  233. package/dist/bits/date-picker/types.js +1 -0
  234. package/dist/bits/date-range-field/components/date-range-field-input.svelte +43 -0
  235. package/dist/bits/date-range-field/components/date-range-field-input.svelte.d.ts +4 -0
  236. package/dist/bits/date-range-field/components/date-range-field-label.svelte +34 -0
  237. package/dist/bits/date-range-field/components/date-range-field-label.svelte.d.ts +4 -0
  238. package/dist/bits/date-range-field/components/date-range-field.svelte +145 -0
  239. package/dist/bits/date-range-field/components/date-range-field.svelte.d.ts +4 -0
  240. package/dist/bits/date-range-field/date-range-field.svelte.d.ts +91 -0
  241. package/dist/bits/date-range-field/date-range-field.svelte.js +202 -0
  242. package/dist/bits/date-range-field/exports.d.ts +5 -0
  243. package/dist/bits/date-range-field/exports.js +4 -0
  244. package/dist/bits/date-range-field/index.d.ts +1 -0
  245. package/dist/bits/date-range-field/index.js +1 -0
  246. package/dist/bits/date-range-field/types.d.ts +154 -0
  247. package/dist/bits/date-range-field/types.js +1 -0
  248. package/dist/bits/date-range-picker/components/date-range-picker-calendar.svelte +63 -0
  249. package/dist/bits/date-range-picker/components/date-range-picker-calendar.svelte.d.ts +4 -0
  250. package/dist/bits/date-range-picker/components/date-range-picker-trigger.svelte +27 -0
  251. package/dist/bits/date-range-picker/components/date-range-picker-trigger.svelte.d.ts +4 -0
  252. package/dist/bits/date-range-picker/components/date-range-picker.svelte +224 -0
  253. package/dist/bits/date-range-picker/components/date-range-picker.svelte.d.ts +4 -0
  254. package/dist/bits/date-range-picker/date-range-picker.svelte.d.ts +48 -0
  255. package/dist/bits/date-range-picker/date-range-picker.svelte.js +12 -0
  256. package/dist/bits/date-range-picker/exports.d.ts +23 -0
  257. package/dist/bits/date-range-picker/exports.js +22 -0
  258. package/dist/bits/date-range-picker/index.d.ts +1 -0
  259. package/dist/bits/date-range-picker/index.js +1 -0
  260. package/dist/bits/date-range-picker/types.d.ts +278 -0
  261. package/dist/bits/date-range-picker/types.js +1 -0
  262. package/dist/bits/dialog/components/dialog-close.svelte +37 -0
  263. package/dist/bits/dialog/components/dialog-close.svelte.d.ts +3 -0
  264. package/dist/bits/dialog/components/dialog-content.svelte +95 -0
  265. package/dist/bits/dialog/components/dialog-content.svelte.d.ts +4 -0
  266. package/dist/bits/dialog/components/dialog-description.svelte +34 -0
  267. package/dist/bits/dialog/components/dialog-description.svelte.d.ts +4 -0
  268. package/dist/bits/dialog/components/dialog-overlay.svelte +37 -0
  269. package/dist/bits/dialog/components/dialog-overlay.svelte.d.ts +4 -0
  270. package/dist/bits/dialog/components/dialog-title.svelte +36 -0
  271. package/dist/bits/dialog/components/dialog-title.svelte.d.ts +4 -0
  272. package/dist/bits/dialog/components/dialog-trigger.svelte +36 -0
  273. package/dist/bits/dialog/components/dialog-trigger.svelte.d.ts +4 -0
  274. package/dist/bits/dialog/components/dialog.svelte +27 -0
  275. package/dist/bits/dialog/components/dialog.svelte.d.ts +3 -0
  276. package/dist/bits/dialog/dialog.svelte.d.ts +208 -0
  277. package/dist/bits/dialog/dialog.svelte.js +361 -0
  278. package/dist/bits/dialog/exports.d.ts +9 -0
  279. package/dist/bits/dialog/exports.js +8 -0
  280. package/dist/bits/dialog/index.d.ts +1 -0
  281. package/dist/bits/dialog/index.js +1 -0
  282. package/dist/bits/dialog/types.d.ts +49 -0
  283. package/dist/bits/dialog/types.js +1 -0
  284. package/dist/bits/dropdown-menu/components/dropdown-menu-content-static.svelte +113 -0
  285. package/dist/bits/dropdown-menu/components/dropdown-menu-content-static.svelte.d.ts +4 -0
  286. package/dist/bits/dropdown-menu/components/dropdown-menu-content.svelte +122 -0
  287. package/dist/bits/dropdown-menu/components/dropdown-menu-content.svelte.d.ts +4 -0
  288. package/dist/bits/dropdown-menu/exports.d.ts +21 -0
  289. package/dist/bits/dropdown-menu/exports.js +19 -0
  290. package/dist/bits/dropdown-menu/index.d.ts +1 -0
  291. package/dist/bits/dropdown-menu/index.js +1 -0
  292. package/dist/bits/dropdown-menu/types.d.ts +2 -0
  293. package/dist/bits/dropdown-menu/types.js +1 -0
  294. package/dist/bits/filter/array.d.ts +13 -0
  295. package/dist/bits/filter/array.js +233 -0
  296. package/dist/bits/filter/columns.d.ts +37 -0
  297. package/dist/bits/filter/columns.js +329 -0
  298. package/dist/bits/filter/components/filter-actions.svelte +43 -0
  299. package/dist/bits/filter/components/filter-actions.svelte.d.ts +18 -0
  300. package/dist/bits/filter/components/filter-date-editor.svelte +382 -0
  301. package/dist/bits/filter/components/filter-date-editor.svelte.d.ts +23 -0
  302. package/dist/bits/filter/components/filter-icon.svelte +49 -0
  303. package/dist/bits/filter/components/filter-icon.svelte.d.ts +11 -0
  304. package/dist/bits/filter/components/filter-item.svelte +59 -0
  305. package/dist/bits/filter/components/filter-item.svelte.d.ts +4 -0
  306. package/dist/bits/filter/components/filter-label-with-breadcrumbs.svelte +16 -0
  307. package/dist/bits/filter/components/filter-label-with-breadcrumbs.svelte.d.ts +7 -0
  308. package/dist/bits/filter/components/filter-list-mobile-container.svelte +24 -0
  309. package/dist/bits/filter/components/filter-list-mobile-container.svelte.d.ts +4 -0
  310. package/dist/bits/filter/components/filter-list.svelte +27 -0
  311. package/dist/bits/filter/components/filter-list.svelte.d.ts +4 -0
  312. package/dist/bits/filter/components/filter-menu-node.svelte +276 -0
  313. package/dist/bits/filter/components/filter-menu-node.svelte.d.ts +26 -0
  314. package/dist/bits/filter/components/filter-menu.svelte +87 -0
  315. package/dist/bits/filter/components/filter-menu.svelte.d.ts +18 -0
  316. package/dist/bits/filter/components/filter-number-editor.svelte +45 -0
  317. package/dist/bits/filter/components/filter-number-editor.svelte.d.ts +22 -0
  318. package/dist/bits/filter/components/filter-operator.svelte +107 -0
  319. package/dist/bits/filter/components/filter-operator.svelte.d.ts +18 -0
  320. package/dist/bits/filter/components/filter-option-editor.svelte +85 -0
  321. package/dist/bits/filter/components/filter-option-editor.svelte.d.ts +26 -0
  322. package/dist/bits/filter/components/filter-provider.svelte +41 -0
  323. package/dist/bits/filter/components/filter-provider.svelte.d.ts +4 -0
  324. package/dist/bits/filter/components/filter-remove.svelte +52 -0
  325. package/dist/bits/filter/components/filter-remove.svelte.d.ts +4 -0
  326. package/dist/bits/filter/components/filter-root.svelte +22 -0
  327. package/dist/bits/filter/components/filter-root.svelte.d.ts +4 -0
  328. package/dist/bits/filter/components/filter-subject.svelte +51 -0
  329. package/dist/bits/filter/components/filter-subject.svelte.d.ts +4 -0
  330. package/dist/bits/filter/components/filter-text-editor.svelte +38 -0
  331. package/dist/bits/filter/components/filter-text-editor.svelte.d.ts +21 -0
  332. package/dist/bits/filter/components/filter-trigger.svelte +41 -0
  333. package/dist/bits/filter/components/filter-trigger.svelte.d.ts +4 -0
  334. package/dist/bits/filter/components/filter-value-display.svelte +119 -0
  335. package/dist/bits/filter/components/filter-value-display.svelte.d.ts +23 -0
  336. package/dist/bits/filter/components/filter-value.svelte +146 -0
  337. package/dist/bits/filter/components/filter-value.svelte.d.ts +18 -0
  338. package/dist/bits/filter/exports.d.ts +25 -0
  339. package/dist/bits/filter/exports.js +23 -0
  340. package/dist/bits/filter/filter-fns.d.ts +21 -0
  341. package/dist/bits/filter/filter-fns.js +279 -0
  342. package/dist/bits/filter/filter.svelte.d.ts +14 -0
  343. package/dist/bits/filter/filter.svelte.js +206 -0
  344. package/dist/bits/filter/helpers.d.ts +16 -0
  345. package/dist/bits/filter/helpers.js +132 -0
  346. package/dist/bits/filter/i18n.d.ts +2 -0
  347. package/dist/bits/filter/i18n.js +110 -0
  348. package/dist/bits/filter/index.d.ts +11 -0
  349. package/dist/bits/filter/index.js +10 -0
  350. package/dist/bits/filter/memo.d.ts +12 -0
  351. package/dist/bits/filter/memo.js +23 -0
  352. package/dist/bits/filter/menu-nodes.d.ts +73 -0
  353. package/dist/bits/filter/menu-nodes.js +265 -0
  354. package/dist/bits/filter/operations.d.ts +2 -0
  355. package/dist/bits/filter/operations.js +106 -0
  356. package/dist/bits/filter/operators.d.ts +358 -0
  357. package/dist/bits/filter/operators.js +356 -0
  358. package/dist/bits/filter/order-fns.d.ts +14 -0
  359. package/dist/bits/filter/order-fns.js +42 -0
  360. package/dist/bits/filter/type-guards.d.ts +21 -0
  361. package/dist/bits/filter/type-guards.js +60 -0
  362. package/dist/bits/filter/types.d.ts +367 -0
  363. package/dist/bits/filter/types.js +1 -0
  364. package/dist/bits/filter/units.d.ts +4 -0
  365. package/dist/bits/filter/units.js +102 -0
  366. package/dist/bits/index.d.ts +45 -0
  367. package/dist/bits/index.js +45 -0
  368. package/dist/bits/label/components/label.svelte +34 -0
  369. package/dist/bits/label/components/label.svelte.d.ts +4 -0
  370. package/dist/bits/label/exports.d.ts +2 -0
  371. package/dist/bits/label/exports.js +1 -0
  372. package/dist/bits/label/index.d.ts +1 -0
  373. package/dist/bits/label/index.js +1 -0
  374. package/dist/bits/label/label.svelte.d.ts +15 -0
  375. package/dist/bits/label/label.svelte.js +28 -0
  376. package/dist/bits/label/types.d.ts +4 -0
  377. package/dist/bits/label/types.js +1 -0
  378. package/dist/bits/link-preview/components/link-preview-content-static.svelte +98 -0
  379. package/dist/bits/link-preview/components/link-preview-content-static.svelte.d.ts +4 -0
  380. package/dist/bits/link-preview/components/link-preview-content.svelte +120 -0
  381. package/dist/bits/link-preview/components/link-preview-content.svelte.d.ts +4 -0
  382. package/dist/bits/link-preview/components/link-preview-trigger.svelte +37 -0
  383. package/dist/bits/link-preview/components/link-preview-trigger.svelte.d.ts +4 -0
  384. package/dist/bits/link-preview/components/link-preview.svelte +35 -0
  385. package/dist/bits/link-preview/components/link-preview.svelte.d.ts +3 -0
  386. package/dist/bits/link-preview/exports.d.ts +7 -0
  387. package/dist/bits/link-preview/exports.js +6 -0
  388. package/dist/bits/link-preview/index.d.ts +1 -0
  389. package/dist/bits/link-preview/index.js +1 -0
  390. package/dist/bits/link-preview/link-preview.svelte.d.ts +96 -0
  391. package/dist/bits/link-preview/link-preview.svelte.js +241 -0
  392. package/dist/bits/link-preview/types.d.ts +74 -0
  393. package/dist/bits/link-preview/types.js +1 -0
  394. package/dist/bits/menu/components/menu-arrow.svelte +14 -0
  395. package/dist/bits/menu/components/menu-arrow.svelte.d.ts +3 -0
  396. package/dist/bits/menu/components/menu-checkbox-group.svelte +45 -0
  397. package/dist/bits/menu/components/menu-checkbox-group.svelte.d.ts +4 -0
  398. package/dist/bits/menu/components/menu-checkbox-item.svelte +98 -0
  399. package/dist/bits/menu/components/menu-checkbox-item.svelte.d.ts +4 -0
  400. package/dist/bits/menu/components/menu-content-static.svelte +116 -0
  401. package/dist/bits/menu/components/menu-content-static.svelte.d.ts +4 -0
  402. package/dist/bits/menu/components/menu-content.svelte +123 -0
  403. package/dist/bits/menu/components/menu-content.svelte.d.ts +4 -0
  404. package/dist/bits/menu/components/menu-group-heading.svelte +33 -0
  405. package/dist/bits/menu/components/menu-group-heading.svelte.d.ts +4 -0
  406. package/dist/bits/menu/components/menu-group.svelte +33 -0
  407. package/dist/bits/menu/components/menu-group.svelte.d.ts +4 -0
  408. package/dist/bits/menu/components/menu-item.svelte +41 -0
  409. package/dist/bits/menu/components/menu-item.svelte.d.ts +4 -0
  410. package/dist/bits/menu/components/menu-radio-group.svelte +44 -0
  411. package/dist/bits/menu/components/menu-radio-group.svelte.d.ts +4 -0
  412. package/dist/bits/menu/components/menu-radio-item.svelte +49 -0
  413. package/dist/bits/menu/components/menu-radio-item.svelte.d.ts +4 -0
  414. package/dist/bits/menu/components/menu-separator.svelte +34 -0
  415. package/dist/bits/menu/components/menu-separator.svelte.d.ts +4 -0
  416. package/dist/bits/menu/components/menu-sub-content-static.svelte +185 -0
  417. package/dist/bits/menu/components/menu-sub-content-static.svelte.d.ts +4 -0
  418. package/dist/bits/menu/components/menu-sub-content.svelte +302 -0
  419. package/dist/bits/menu/components/menu-sub-content.svelte.d.ts +4 -0
  420. package/dist/bits/menu/components/menu-sub-trigger.svelte +44 -0
  421. package/dist/bits/menu/components/menu-sub-trigger.svelte.d.ts +4 -0
  422. package/dist/bits/menu/components/menu-sub.svelte +29 -0
  423. package/dist/bits/menu/components/menu-sub.svelte.d.ts +3 -0
  424. package/dist/bits/menu/components/menu-trigger.svelte +40 -0
  425. package/dist/bits/menu/components/menu-trigger.svelte.d.ts +4 -0
  426. package/dist/bits/menu/components/menu.svelte +48 -0
  427. package/dist/bits/menu/components/menu.svelte.d.ts +8 -0
  428. package/dist/bits/menu/exports.d.ts +19 -0
  429. package/dist/bits/menu/exports.js +18 -0
  430. package/dist/bits/menu/menu.svelte.d.ts +481 -0
  431. package/dist/bits/menu/menu.svelte.js +1720 -0
  432. package/dist/bits/menu/types.d.ts +215 -0
  433. package/dist/bits/menu/types.js +1 -0
  434. package/dist/bits/menu/utils.d.ts +11 -0
  435. package/dist/bits/menu/utils.js +22 -0
  436. package/dist/bits/menu-data/components/data-empty.svelte +25 -0
  437. package/dist/bits/menu-data/components/data-empty.svelte.d.ts +4 -0
  438. package/dist/bits/menu-data/components/data-input.svelte +139 -0
  439. package/dist/bits/menu-data/components/data-input.svelte.d.ts +4 -0
  440. package/dist/bits/menu-data/components/data-list.svelte +184 -0
  441. package/dist/bits/menu-data/components/data-list.svelte.d.ts +18 -0
  442. package/dist/bits/menu-data/components/data-surface.svelte +68 -0
  443. package/dist/bits/menu-data/components/data-surface.svelte.d.ts +18 -0
  444. package/dist/bits/menu-data/exports.d.ts +5 -0
  445. package/dist/bits/menu-data/exports.js +4 -0
  446. package/dist/bits/menu-data/menu-data.svelte.d.ts +62 -0
  447. package/dist/bits/menu-data/menu-data.svelte.js +378 -0
  448. package/dist/bits/menu-data/types.d.ts +176 -0
  449. package/dist/bits/menu-data/types.js +12 -0
  450. package/dist/bits/menu-data/utils.d.ts +61 -0
  451. package/dist/bits/menu-data/utils.js +456 -0
  452. package/dist/bits/menubar/components/menubar-content-static.svelte +38 -0
  453. package/dist/bits/menubar/components/menubar-content-static.svelte.d.ts +4 -0
  454. package/dist/bits/menubar/components/menubar-content.svelte +38 -0
  455. package/dist/bits/menubar/components/menubar-content.svelte.d.ts +4 -0
  456. package/dist/bits/menubar/components/menubar-menu.svelte +29 -0
  457. package/dist/bits/menubar/components/menubar-menu.svelte.d.ts +3 -0
  458. package/dist/bits/menubar/components/menubar-trigger.svelte +49 -0
  459. package/dist/bits/menubar/components/menubar-trigger.svelte.d.ts +4 -0
  460. package/dist/bits/menubar/components/menubar.svelte +48 -0
  461. package/dist/bits/menubar/components/menubar.svelte.d.ts +4 -0
  462. package/dist/bits/menubar/exports.d.ts +21 -0
  463. package/dist/bits/menubar/exports.js +19 -0
  464. package/dist/bits/menubar/index.d.ts +1 -0
  465. package/dist/bits/menubar/index.js +1 -0
  466. package/dist/bits/menubar/menubar.svelte.d.ts +140 -0
  467. package/dist/bits/menubar/menubar.svelte.js +317 -0
  468. package/dist/bits/menubar/types.d.ts +49 -0
  469. package/dist/bits/menubar/types.js +1 -0
  470. package/dist/bits/meter/components/meter.svelte +40 -0
  471. package/dist/bits/meter/components/meter.svelte.d.ts +4 -0
  472. package/dist/bits/meter/exports.d.ts +2 -0
  473. package/dist/bits/meter/exports.js +1 -0
  474. package/dist/bits/meter/index.d.ts +1 -0
  475. package/dist/bits/meter/index.js +1 -0
  476. package/dist/bits/meter/meter.svelte.d.ts +25 -0
  477. package/dist/bits/meter/meter.svelte.js +29 -0
  478. package/dist/bits/meter/types.d.ts +23 -0
  479. package/dist/bits/meter/types.js +1 -0
  480. package/dist/bits/navigation-menu/components/navigation-menu-content-impl.svelte +94 -0
  481. package/dist/bits/navigation-menu/components/navigation-menu-content-impl.svelte.d.ts +13 -0
  482. package/dist/bits/navigation-menu/components/navigation-menu-content.svelte +51 -0
  483. package/dist/bits/navigation-menu/components/navigation-menu-content.svelte.d.ts +4 -0
  484. package/dist/bits/navigation-menu/components/navigation-menu-indicator-impl.svelte +34 -0
  485. package/dist/bits/navigation-menu/components/navigation-menu-indicator-impl.svelte.d.ts +4 -0
  486. package/dist/bits/navigation-menu/components/navigation-menu-indicator.svelte +40 -0
  487. package/dist/bits/navigation-menu/components/navigation-menu-indicator.svelte.d.ts +4 -0
  488. package/dist/bits/navigation-menu/components/navigation-menu-item.svelte +39 -0
  489. package/dist/bits/navigation-menu/components/navigation-menu-item.svelte.d.ts +4 -0
  490. package/dist/bits/navigation-menu/components/navigation-menu-link.svelte +40 -0
  491. package/dist/bits/navigation-menu/components/navigation-menu-link.svelte.d.ts +4 -0
  492. package/dist/bits/navigation-menu/components/navigation-menu-list.svelte +40 -0
  493. package/dist/bits/navigation-menu/components/navigation-menu-list.svelte.d.ts +4 -0
  494. package/dist/bits/navigation-menu/components/navigation-menu-sub.svelte +46 -0
  495. package/dist/bits/navigation-menu/components/navigation-menu-sub.svelte.d.ts +4 -0
  496. package/dist/bits/navigation-menu/components/navigation-menu-trigger.svelte +47 -0
  497. package/dist/bits/navigation-menu/components/navigation-menu-trigger.svelte.d.ts +4 -0
  498. package/dist/bits/navigation-menu/components/navigation-menu-viewport.svelte +44 -0
  499. package/dist/bits/navigation-menu/components/navigation-menu-viewport.svelte.d.ts +4 -0
  500. package/dist/bits/navigation-menu/components/navigation-menu.svelte +52 -0
  501. package/dist/bits/navigation-menu/components/navigation-menu.svelte.d.ts +4 -0
  502. package/dist/bits/navigation-menu/exports.d.ts +10 -0
  503. package/dist/bits/navigation-menu/exports.js +9 -0
  504. package/dist/bits/navigation-menu/index.d.ts +1 -0
  505. package/dist/bits/navigation-menu/index.js +1 -0
  506. package/dist/bits/navigation-menu/navigation-menu.svelte.d.ts +364 -0
  507. package/dist/bits/navigation-menu/navigation-menu.svelte.js +888 -0
  508. package/dist/bits/navigation-menu/types.d.ts +156 -0
  509. package/dist/bits/navigation-menu/types.js +1 -0
  510. package/dist/bits/pagination/components/pagination-next-button.svelte +38 -0
  511. package/dist/bits/pagination/components/pagination-next-button.svelte.d.ts +4 -0
  512. package/dist/bits/pagination/components/pagination-page.svelte +43 -0
  513. package/dist/bits/pagination/components/pagination-page.svelte.d.ts +4 -0
  514. package/dist/bits/pagination/components/pagination-prev-button.svelte +38 -0
  515. package/dist/bits/pagination/components/pagination-prev-button.svelte.d.ts +4 -0
  516. package/dist/bits/pagination/components/pagination.svelte +54 -0
  517. package/dist/bits/pagination/components/pagination.svelte.d.ts +4 -0
  518. package/dist/bits/pagination/exports.d.ts +5 -0
  519. package/dist/bits/pagination/exports.js +4 -0
  520. package/dist/bits/pagination/index.d.ts +1 -0
  521. package/dist/bits/pagination/index.js +1 -0
  522. package/dist/bits/pagination/pagination.svelte.d.ts +90 -0
  523. package/dist/bits/pagination/pagination.svelte.js +264 -0
  524. package/dist/bits/pagination/types.d.ts +76 -0
  525. package/dist/bits/pagination/types.js +1 -0
  526. package/dist/bits/pin-input/components/pin-input-cell.svelte +36 -0
  527. package/dist/bits/pin-input/components/pin-input-cell.svelte.d.ts +4 -0
  528. package/dist/bits/pin-input/components/pin-input.svelte +71 -0
  529. package/dist/bits/pin-input/components/pin-input.svelte.d.ts +4 -0
  530. package/dist/bits/pin-input/exports.d.ts +3 -0
  531. package/dist/bits/pin-input/exports.js +2 -0
  532. package/dist/bits/pin-input/index.d.ts +1 -0
  533. package/dist/bits/pin-input/index.js +1 -0
  534. package/dist/bits/pin-input/pin-input.svelte.d.ts +122 -0
  535. package/dist/bits/pin-input/pin-input.svelte.js +431 -0
  536. package/dist/bits/pin-input/types.d.ts +88 -0
  537. package/dist/bits/pin-input/types.js +1 -0
  538. package/dist/bits/pin-input/usePasswordManager.svelte.d.ts +15 -0
  539. package/dist/bits/pin-input/usePasswordManager.svelte.js +90 -0
  540. package/dist/bits/popover/components/popover-arrow.svelte +8 -0
  541. package/dist/bits/popover/components/popover-arrow.svelte.d.ts +3 -0
  542. package/dist/bits/popover/components/popover-close.svelte +33 -0
  543. package/dist/bits/popover/components/popover-close.svelte.d.ts +4 -0
  544. package/dist/bits/popover/components/popover-content-static.svelte +104 -0
  545. package/dist/bits/popover/components/popover-content-static.svelte.d.ts +4 -0
  546. package/dist/bits/popover/components/popover-content.svelte +121 -0
  547. package/dist/bits/popover/components/popover-content.svelte.d.ts +4 -0
  548. package/dist/bits/popover/components/popover-overlay.svelte +37 -0
  549. package/dist/bits/popover/components/popover-overlay.svelte.d.ts +4 -0
  550. package/dist/bits/popover/components/popover-trigger.svelte +46 -0
  551. package/dist/bits/popover/components/popover-trigger.svelte.d.ts +4 -0
  552. package/dist/bits/popover/components/popover.svelte +29 -0
  553. package/dist/bits/popover/components/popover.svelte.d.ts +3 -0
  554. package/dist/bits/popover/exports.d.ts +9 -0
  555. package/dist/bits/popover/exports.js +8 -0
  556. package/dist/bits/popover/index.d.ts +1 -0
  557. package/dist/bits/popover/index.js +1 -0
  558. package/dist/bits/popover/popover.svelte.d.ts +148 -0
  559. package/dist/bits/popover/popover.svelte.js +404 -0
  560. package/dist/bits/popover/types.d.ts +57 -0
  561. package/dist/bits/popover/types.js +1 -0
  562. package/dist/bits/progress/components/progress.svelte +40 -0
  563. package/dist/bits/progress/components/progress.svelte.d.ts +4 -0
  564. package/dist/bits/progress/exports.d.ts +2 -0
  565. package/dist/bits/progress/exports.js +1 -0
  566. package/dist/bits/progress/index.d.ts +1 -0
  567. package/dist/bits/progress/index.js +1 -0
  568. package/dist/bits/progress/progress.svelte.d.ts +27 -0
  569. package/dist/bits/progress/progress.svelte.js +36 -0
  570. package/dist/bits/progress/types.d.ts +24 -0
  571. package/dist/bits/progress/types.js +1 -0
  572. package/dist/bits/radio-group/components/radio-group-input.svelte +10 -0
  573. package/dist/bits/radio-group/components/radio-group-input.svelte.d.ts +18 -0
  574. package/dist/bits/radio-group/components/radio-group-item.svelte +38 -0
  575. package/dist/bits/radio-group/components/radio-group-item.svelte.d.ts +4 -0
  576. package/dist/bits/radio-group/components/radio-group.svelte +60 -0
  577. package/dist/bits/radio-group/components/radio-group.svelte.d.ts +4 -0
  578. package/dist/bits/radio-group/exports.d.ts +3 -0
  579. package/dist/bits/radio-group/exports.js +2 -0
  580. package/dist/bits/radio-group/index.d.ts +1 -0
  581. package/dist/bits/radio-group/index.js +1 -0
  582. package/dist/bits/radio-group/radio-group.svelte.d.ts +86 -0
  583. package/dist/bits/radio-group/radio-group.svelte.js +147 -0
  584. package/dist/bits/radio-group/types.d.ts +73 -0
  585. package/dist/bits/radio-group/types.js +1 -0
  586. package/dist/bits/range-calendar/components/range-calendar-cell.svelte +38 -0
  587. package/dist/bits/range-calendar/components/range-calendar-cell.svelte.d.ts +4 -0
  588. package/dist/bits/range-calendar/components/range-calendar-day.svelte +38 -0
  589. package/dist/bits/range-calendar/components/range-calendar-day.svelte.d.ts +4 -0
  590. package/dist/bits/range-calendar/components/range-calendar.svelte +153 -0
  591. package/dist/bits/range-calendar/components/range-calendar.svelte.d.ts +4 -0
  592. package/dist/bits/range-calendar/exports.d.ts +15 -0
  593. package/dist/bits/range-calendar/exports.js +14 -0
  594. package/dist/bits/range-calendar/index.d.ts +1 -0
  595. package/dist/bits/range-calendar/index.js +1 -0
  596. package/dist/bits/range-calendar/range-calendar.svelte.d.ts +248 -0
  597. package/dist/bits/range-calendar/range-calendar.svelte.js +688 -0
  598. package/dist/bits/range-calendar/types.d.ts +212 -0
  599. package/dist/bits/range-calendar/types.js +1 -0
  600. package/dist/bits/rating-group/components/rating-group-input.svelte +10 -0
  601. package/dist/bits/rating-group/components/rating-group-input.svelte.d.ts +18 -0
  602. package/dist/bits/rating-group/components/rating-group-item.svelte +38 -0
  603. package/dist/bits/rating-group/components/rating-group-item.svelte.d.ts +4 -0
  604. package/dist/bits/rating-group/components/rating-group.svelte +80 -0
  605. package/dist/bits/rating-group/components/rating-group.svelte.d.ts +4 -0
  606. package/dist/bits/rating-group/exports.d.ts +3 -0
  607. package/dist/bits/rating-group/exports.js +2 -0
  608. package/dist/bits/rating-group/index.d.ts +1 -0
  609. package/dist/bits/rating-group/index.js +1 -0
  610. package/dist/bits/rating-group/rating-group.svelte.d.ts +115 -0
  611. package/dist/bits/rating-group/rating-group.svelte.js +320 -0
  612. package/dist/bits/rating-group/types.d.ts +111 -0
  613. package/dist/bits/rating-group/types.js +1 -0
  614. package/dist/bits/scroll-area/components/scroll-area-corner-impl.svelte +33 -0
  615. package/dist/bits/scroll-area/components/scroll-area-corner-impl.svelte.d.ts +7 -0
  616. package/dist/bits/scroll-area/components/scroll-area-corner.svelte +27 -0
  617. package/dist/bits/scroll-area/components/scroll-area-corner.svelte.d.ts +4 -0
  618. package/dist/bits/scroll-area/components/scroll-area-scrollbar-auto.svelte +21 -0
  619. package/dist/bits/scroll-area/components/scroll-area-scrollbar-auto.svelte.d.ts +4 -0
  620. package/dist/bits/scroll-area/components/scroll-area-scrollbar-hover.svelte +30 -0
  621. package/dist/bits/scroll-area/components/scroll-area-scrollbar-hover.svelte.d.ts +4 -0
  622. package/dist/bits/scroll-area/components/scroll-area-scrollbar-scroll.svelte +23 -0
  623. package/dist/bits/scroll-area/components/scroll-area-scrollbar-scroll.svelte.d.ts +4 -0
  624. package/dist/bits/scroll-area/components/scroll-area-scrollbar-shared.svelte +19 -0
  625. package/dist/bits/scroll-area/components/scroll-area-scrollbar-shared.svelte.d.ts +4 -0
  626. package/dist/bits/scroll-area/components/scroll-area-scrollbar-visible.svelte +16 -0
  627. package/dist/bits/scroll-area/components/scroll-area-scrollbar-visible.svelte.d.ts +4 -0
  628. package/dist/bits/scroll-area/components/scroll-area-scrollbar-x.svelte +19 -0
  629. package/dist/bits/scroll-area/components/scroll-area-scrollbar-x.svelte.d.ts +4 -0
  630. package/dist/bits/scroll-area/components/scroll-area-scrollbar-y.svelte +20 -0
  631. package/dist/bits/scroll-area/components/scroll-area-scrollbar-y.svelte.d.ts +4 -0
  632. package/dist/bits/scroll-area/components/scroll-area-scrollbar.svelte +40 -0
  633. package/dist/bits/scroll-area/components/scroll-area-scrollbar.svelte.d.ts +4 -0
  634. package/dist/bits/scroll-area/components/scroll-area-thumb-impl.svelte +45 -0
  635. package/dist/bits/scroll-area/components/scroll-area-thumb-impl.svelte.d.ts +8 -0
  636. package/dist/bits/scroll-area/components/scroll-area-thumb.svelte +24 -0
  637. package/dist/bits/scroll-area/components/scroll-area-thumb.svelte.d.ts +4 -0
  638. package/dist/bits/scroll-area/components/scroll-area-viewport.svelte +53 -0
  639. package/dist/bits/scroll-area/components/scroll-area-viewport.svelte.d.ts +4 -0
  640. package/dist/bits/scroll-area/components/scroll-area.svelte +40 -0
  641. package/dist/bits/scroll-area/components/scroll-area.svelte.d.ts +4 -0
  642. package/dist/bits/scroll-area/exports.d.ts +6 -0
  643. package/dist/bits/scroll-area/exports.js +5 -0
  644. package/dist/bits/scroll-area/index.d.ts +1 -0
  645. package/dist/bits/scroll-area/index.js +1 -0
  646. package/dist/bits/scroll-area/scroll-area.svelte.d.ts +340 -0
  647. package/dist/bits/scroll-area/scroll-area.svelte.js +797 -0
  648. package/dist/bits/scroll-area/types.d.ts +47 -0
  649. package/dist/bits/scroll-area/types.js +1 -0
  650. package/dist/bits/select/components/select-content-static.svelte +84 -0
  651. package/dist/bits/select/components/select-content-static.svelte.d.ts +4 -0
  652. package/dist/bits/select/components/select-content.svelte +89 -0
  653. package/dist/bits/select/components/select-content.svelte.d.ts +4 -0
  654. package/dist/bits/select/components/select-group-heading.svelte +33 -0
  655. package/dist/bits/select/components/select-group-heading.svelte.d.ts +4 -0
  656. package/dist/bits/select/components/select-group.svelte +34 -0
  657. package/dist/bits/select/components/select-group.svelte.d.ts +4 -0
  658. package/dist/bits/select/components/select-hidden-input.svelte +19 -0
  659. package/dist/bits/select/components/select-hidden-input.svelte.d.ts +7 -0
  660. package/dist/bits/select/components/select-item.svelte +48 -0
  661. package/dist/bits/select/components/select-item.svelte.d.ts +4 -0
  662. package/dist/bits/select/components/select-scroll-down-button.svelte +40 -0
  663. package/dist/bits/select/components/select-scroll-down-button.svelte.d.ts +4 -0
  664. package/dist/bits/select/components/select-scroll-up-button.svelte +40 -0
  665. package/dist/bits/select/components/select-scroll-up-button.svelte.d.ts +4 -0
  666. package/dist/bits/select/components/select-trigger.svelte +38 -0
  667. package/dist/bits/select/components/select-trigger.svelte.d.ts +4 -0
  668. package/dist/bits/select/components/select-value.svelte +48 -0
  669. package/dist/bits/select/components/select-value.svelte.d.ts +4 -0
  670. package/dist/bits/select/components/select-viewport.svelte +56 -0
  671. package/dist/bits/select/components/select-viewport.svelte.d.ts +4 -0
  672. package/dist/bits/select/components/select.svelte +92 -0
  673. package/dist/bits/select/components/select.svelte.d.ts +3 -0
  674. package/dist/bits/select/exports.d.ts +13 -0
  675. package/dist/bits/select/exports.js +12 -0
  676. package/dist/bits/select/index.d.ts +1 -0
  677. package/dist/bits/select/index.js +1 -0
  678. package/dist/bits/select/select.svelte.d.ts +456 -0
  679. package/dist/bits/select/select.svelte.js +1298 -0
  680. package/dist/bits/select/types.d.ts +222 -0
  681. package/dist/bits/select/types.js +1 -0
  682. package/dist/bits/separator/components/separator.svelte +38 -0
  683. package/dist/bits/separator/components/separator.svelte.d.ts +4 -0
  684. package/dist/bits/separator/exports.d.ts +2 -0
  685. package/dist/bits/separator/exports.js +1 -0
  686. package/dist/bits/separator/index.d.ts +1 -0
  687. package/dist/bits/separator/index.js +1 -0
  688. package/dist/bits/separator/separator.svelte.d.ts +22 -0
  689. package/dist/bits/separator/separator.svelte.js +26 -0
  690. package/dist/bits/separator/types.d.ts +18 -0
  691. package/dist/bits/separator/types.js +1 -0
  692. package/dist/bits/slider/components/slider-range.svelte +33 -0
  693. package/dist/bits/slider/components/slider-range.svelte.d.ts +4 -0
  694. package/dist/bits/slider/components/slider-thumb-label.svelte +50 -0
  695. package/dist/bits/slider/components/slider-thumb-label.svelte.d.ts +4 -0
  696. package/dist/bits/slider/components/slider-thumb.svelte +43 -0
  697. package/dist/bits/slider/components/slider-thumb.svelte.d.ts +4 -0
  698. package/dist/bits/slider/components/slider-tick-label.svelte +50 -0
  699. package/dist/bits/slider/components/slider-tick-label.svelte.d.ts +4 -0
  700. package/dist/bits/slider/components/slider-tick.svelte +34 -0
  701. package/dist/bits/slider/components/slider-tick.svelte.d.ts +4 -0
  702. package/dist/bits/slider/components/slider.svelte +99 -0
  703. package/dist/bits/slider/components/slider.svelte.d.ts +4 -0
  704. package/dist/bits/slider/exports.d.ts +7 -0
  705. package/dist/bits/slider/exports.js +6 -0
  706. package/dist/bits/slider/helpers.d.ts +18 -0
  707. package/dist/bits/slider/helpers.js +219 -0
  708. package/dist/bits/slider/index.d.ts +1 -0
  709. package/dist/bits/slider/index.js +1 -0
  710. package/dist/bits/slider/slider.svelte.d.ts +1970 -0
  711. package/dist/bits/slider/slider.svelte.js +817 -0
  712. package/dist/bits/slider/types.d.ts +233 -0
  713. package/dist/bits/slider/types.js +1 -0
  714. package/dist/bits/switch/components/switch-input.svelte +10 -0
  715. package/dist/bits/switch/components/switch-input.svelte.d.ts +18 -0
  716. package/dist/bits/switch/components/switch-thumb.svelte +34 -0
  717. package/dist/bits/switch/components/switch-thumb.svelte.d.ts +4 -0
  718. package/dist/bits/switch/components/switch.svelte +56 -0
  719. package/dist/bits/switch/components/switch.svelte.d.ts +4 -0
  720. package/dist/bits/switch/exports.d.ts +3 -0
  721. package/dist/bits/switch/exports.js +2 -0
  722. package/dist/bits/switch/index.d.ts +1 -0
  723. package/dist/bits/switch/index.js +1 -0
  724. package/dist/bits/switch/switch.svelte.d.ts +73 -0
  725. package/dist/bits/switch/switch.svelte.js +97 -0
  726. package/dist/bits/switch/types.d.ts +47 -0
  727. package/dist/bits/switch/types.js +1 -0
  728. package/dist/bits/tabs/components/tabs-content.svelte +36 -0
  729. package/dist/bits/tabs/components/tabs-content.svelte.d.ts +4 -0
  730. package/dist/bits/tabs/components/tabs-list.svelte +34 -0
  731. package/dist/bits/tabs/components/tabs-list.svelte.d.ts +4 -0
  732. package/dist/bits/tabs/components/tabs-trigger.svelte +39 -0
  733. package/dist/bits/tabs/components/tabs-trigger.svelte.d.ts +4 -0
  734. package/dist/bits/tabs/components/tabs.svelte +52 -0
  735. package/dist/bits/tabs/components/tabs.svelte.d.ts +4 -0
  736. package/dist/bits/tabs/exports.d.ts +5 -0
  737. package/dist/bits/tabs/exports.js +4 -0
  738. package/dist/bits/tabs/index.d.ts +1 -0
  739. package/dist/bits/tabs/index.js +1 -0
  740. package/dist/bits/tabs/tabs.svelte.d.ts +103 -0
  741. package/dist/bits/tabs/tabs.svelte.js +190 -0
  742. package/dist/bits/tabs/types.d.ts +64 -0
  743. package/dist/bits/tabs/types.js +1 -0
  744. package/dist/bits/time-field/components/time-field-hidden-input.svelte +10 -0
  745. package/dist/bits/time-field/components/time-field-hidden-input.svelte.d.ts +18 -0
  746. package/dist/bits/time-field/components/time-field-input.svelte +39 -0
  747. package/dist/bits/time-field/components/time-field-input.svelte.d.ts +4 -0
  748. package/dist/bits/time-field/components/time-field-label.svelte +34 -0
  749. package/dist/bits/time-field/components/time-field-label.svelte.d.ts +4 -0
  750. package/dist/bits/time-field/components/time-field-segment.svelte +37 -0
  751. package/dist/bits/time-field/components/time-field-segment.svelte.d.ts +4 -0
  752. package/dist/bits/time-field/components/time-field.svelte +95 -0
  753. package/dist/bits/time-field/components/time-field.svelte.d.ts +20 -0
  754. package/dist/bits/time-field/exports.d.ts +5 -0
  755. package/dist/bits/time-field/exports.js +4 -0
  756. package/dist/bits/time-field/index.d.ts +1 -0
  757. package/dist/bits/time-field/index.js +1 -0
  758. package/dist/bits/time-field/time-field.svelte.d.ts +431 -0
  759. package/dist/bits/time-field/time-field.svelte.js +1027 -0
  760. package/dist/bits/time-field/types.d.ts +137 -0
  761. package/dist/bits/time-field/types.js +1 -0
  762. package/dist/bits/time-range-field/components/time-range-field-input.svelte +43 -0
  763. package/dist/bits/time-range-field/components/time-range-field-input.svelte.d.ts +4 -0
  764. package/dist/bits/time-range-field/components/time-range-field-label.svelte +34 -0
  765. package/dist/bits/time-range-field/components/time-range-field-label.svelte.d.ts +4 -0
  766. package/dist/bits/time-range-field/components/time-range-field.svelte +145 -0
  767. package/dist/bits/time-range-field/components/time-range-field.svelte.d.ts +20 -0
  768. package/dist/bits/time-range-field/exports.d.ts +5 -0
  769. package/dist/bits/time-range-field/exports.js +4 -0
  770. package/dist/bits/time-range-field/index.d.ts +1 -0
  771. package/dist/bits/time-range-field/index.js +1 -0
  772. package/dist/bits/time-range-field/time-range-field.svelte.d.ts +96 -0
  773. package/dist/bits/time-range-field/time-range-field.svelte.js +220 -0
  774. package/dist/bits/time-range-field/types.d.ts +150 -0
  775. package/dist/bits/time-range-field/types.js +1 -0
  776. package/dist/bits/toggle/components/toggle.svelte +47 -0
  777. package/dist/bits/toggle/components/toggle.svelte.d.ts +4 -0
  778. package/dist/bits/toggle/exports.d.ts +2 -0
  779. package/dist/bits/toggle/exports.js +1 -0
  780. package/dist/bits/toggle/index.d.ts +1 -0
  781. package/dist/bits/toggle/index.js +1 -0
  782. package/dist/bits/toggle/toggle.svelte.d.ts +29 -0
  783. package/dist/bits/toggle/toggle.svelte.js +39 -0
  784. package/dist/bits/toggle/types.d.ts +24 -0
  785. package/dist/bits/toggle/types.js +1 -0
  786. package/dist/bits/toggle-group/components/toggle-group-item.svelte +39 -0
  787. package/dist/bits/toggle-group/components/toggle-group-item.svelte.d.ts +4 -0
  788. package/dist/bits/toggle-group/components/toggle-group.svelte +72 -0
  789. package/dist/bits/toggle-group/components/toggle-group.svelte.d.ts +4 -0
  790. package/dist/bits/toggle-group/exports.d.ts +3 -0
  791. package/dist/bits/toggle-group/exports.js +2 -0
  792. package/dist/bits/toggle-group/index.d.ts +1 -0
  793. package/dist/bits/toggle-group/index.js +1 -0
  794. package/dist/bits/toggle-group/toggle-group.svelte.d.ts +95 -0
  795. package/dist/bits/toggle-group/toggle-group.svelte.js +161 -0
  796. package/dist/bits/toggle-group/types.d.ts +61 -0
  797. package/dist/bits/toggle-group/types.js +1 -0
  798. package/dist/bits/toolbar/components/toolbar-button.svelte +37 -0
  799. package/dist/bits/toolbar/components/toolbar-button.svelte.d.ts +4 -0
  800. package/dist/bits/toolbar/components/toolbar-group-item.svelte +39 -0
  801. package/dist/bits/toolbar/components/toolbar-group-item.svelte.d.ts +3 -0
  802. package/dist/bits/toolbar/components/toolbar-group.svelte +66 -0
  803. package/dist/bits/toolbar/components/toolbar-group.svelte.d.ts +4 -0
  804. package/dist/bits/toolbar/components/toolbar-link.svelte +35 -0
  805. package/dist/bits/toolbar/components/toolbar-link.svelte.d.ts +4 -0
  806. package/dist/bits/toolbar/components/toolbar.svelte +38 -0
  807. package/dist/bits/toolbar/components/toolbar.svelte.d.ts +4 -0
  808. package/dist/bits/toolbar/exports.d.ts +6 -0
  809. package/dist/bits/toolbar/exports.js +5 -0
  810. package/dist/bits/toolbar/index.d.ts +1 -0
  811. package/dist/bits/toolbar/index.js +1 -0
  812. package/dist/bits/toolbar/toolbar.svelte.d.ts +146 -0
  813. package/dist/bits/toolbar/toolbar.svelte.js +264 -0
  814. package/dist/bits/toolbar/types.d.ts +34 -0
  815. package/dist/bits/toolbar/types.js +1 -0
  816. package/dist/bits/tooltip/components/tooltip-arrow.svelte +8 -0
  817. package/dist/bits/tooltip/components/tooltip-arrow.svelte.d.ts +3 -0
  818. package/dist/bits/tooltip/components/tooltip-content-static.svelte +98 -0
  819. package/dist/bits/tooltip/components/tooltip-content-static.svelte.d.ts +4 -0
  820. package/dist/bits/tooltip/components/tooltip-content.svelte +135 -0
  821. package/dist/bits/tooltip/components/tooltip-content.svelte.d.ts +4 -0
  822. package/dist/bits/tooltip/components/tooltip-provider.svelte +26 -0
  823. package/dist/bits/tooltip/components/tooltip-provider.svelte.d.ts +3 -0
  824. package/dist/bits/tooltip/components/tooltip-trigger.svelte +47 -0
  825. package/dist/bits/tooltip/components/tooltip-trigger.svelte.d.ts +18 -0
  826. package/dist/bits/tooltip/components/tooltip.svelte +56 -0
  827. package/dist/bits/tooltip/components/tooltip.svelte.d.ts +18 -0
  828. package/dist/bits/tooltip/exports.d.ts +10 -0
  829. package/dist/bits/tooltip/exports.js +8 -0
  830. package/dist/bits/tooltip/index.d.ts +1 -0
  831. package/dist/bits/tooltip/index.js +1 -0
  832. package/dist/bits/tooltip/tooltip.svelte.d.ts +172 -0
  833. package/dist/bits/tooltip/tooltip.svelte.js +681 -0
  834. package/dist/bits/tooltip/types.d.ts +153 -0
  835. package/dist/bits/tooltip/types.js +1 -0
  836. package/dist/bits/tooltip/utils.d.ts +1 -0
  837. package/dist/bits/tooltip/utils.js +1 -0
  838. package/dist/bits/utilities/arrow/arrow.svelte +30 -0
  839. package/dist/bits/utilities/arrow/arrow.svelte.d.ts +4 -0
  840. package/dist/bits/utilities/arrow/index.d.ts +2 -0
  841. package/dist/bits/utilities/arrow/index.js +1 -0
  842. package/dist/bits/utilities/arrow/types.d.ts +17 -0
  843. package/dist/bits/utilities/arrow/types.js +1 -0
  844. package/dist/bits/utilities/config/bits-config.d.ts +44 -0
  845. package/dist/bits/utilities/config/bits-config.js +92 -0
  846. package/dist/bits/utilities/config/components/bits-config.svelte +14 -0
  847. package/dist/bits/utilities/config/components/bits-config.svelte.d.ts +4 -0
  848. package/dist/bits/utilities/config/exports.d.ts +2 -0
  849. package/dist/bits/utilities/config/exports.js +2 -0
  850. package/dist/bits/utilities/config/index.d.ts +1 -0
  851. package/dist/bits/utilities/config/index.js +1 -0
  852. package/dist/bits/utilities/config/prop-resolvers.d.ts +13 -0
  853. package/dist/bits/utilities/config/prop-resolvers.js +37 -0
  854. package/dist/bits/utilities/config/types.d.ts +13 -0
  855. package/dist/bits/utilities/config/types.js +1 -0
  856. package/dist/bits/utilities/dismissible-layer/dismissible-layer.svelte +29 -0
  857. package/dist/bits/utilities/dismissible-layer/dismissible-layer.svelte.d.ts +4 -0
  858. package/dist/bits/utilities/dismissible-layer/index.d.ts +2 -0
  859. package/dist/bits/utilities/dismissible-layer/index.js +1 -0
  860. package/dist/bits/utilities/dismissible-layer/types.d.ts +49 -0
  861. package/dist/bits/utilities/dismissible-layer/types.js +1 -0
  862. package/dist/bits/utilities/dismissible-layer/use-dismissable-layer.svelte.d.ts +20 -0
  863. package/dist/bits/utilities/dismissible-layer/use-dismissable-layer.svelte.js +249 -0
  864. package/dist/bits/utilities/escape-layer/escape-layer.svelte +23 -0
  865. package/dist/bits/utilities/escape-layer/escape-layer.svelte.d.ts +4 -0
  866. package/dist/bits/utilities/escape-layer/index.d.ts +2 -0
  867. package/dist/bits/utilities/escape-layer/index.js +1 -0
  868. package/dist/bits/utilities/escape-layer/types.d.ts +29 -0
  869. package/dist/bits/utilities/escape-layer/types.js +1 -0
  870. package/dist/bits/utilities/escape-layer/use-escape-layer.svelte.d.ts +13 -0
  871. package/dist/bits/utilities/escape-layer/use-escape-layer.svelte.js +55 -0
  872. package/dist/bits/utilities/floating-layer/components/floating-layer-anchor.svelte +19 -0
  873. package/dist/bits/utilities/floating-layer/components/floating-layer-anchor.svelte.d.ts +4 -0
  874. package/dist/bits/utilities/floating-layer/components/floating-layer-arrow.svelte +20 -0
  875. package/dist/bits/utilities/floating-layer/components/floating-layer-arrow.svelte.d.ts +4 -0
  876. package/dist/bits/utilities/floating-layer/components/floating-layer-content-static.svelte +19 -0
  877. package/dist/bits/utilities/floating-layer/components/floating-layer-content-static.svelte.d.ts +13 -0
  878. package/dist/bits/utilities/floating-layer/components/floating-layer-content.svelte +65 -0
  879. package/dist/bits/utilities/floating-layer/components/floating-layer-content.svelte.d.ts +4 -0
  880. package/dist/bits/utilities/floating-layer/components/floating-layer.svelte +10 -0
  881. package/dist/bits/utilities/floating-layer/components/floating-layer.svelte.d.ts +8 -0
  882. package/dist/bits/utilities/floating-layer/components/index.d.ts +6 -0
  883. package/dist/bits/utilities/floating-layer/components/index.js +5 -0
  884. package/dist/bits/utilities/floating-layer/index.d.ts +1 -0
  885. package/dist/bits/utilities/floating-layer/index.js +1 -0
  886. package/dist/bits/utilities/floating-layer/types.d.ts +134 -0
  887. package/dist/bits/utilities/floating-layer/types.js +1 -0
  888. package/dist/bits/utilities/floating-layer/use-floating-layer.svelte.d.ts +962 -0
  889. package/dist/bits/utilities/floating-layer/use-floating-layer.svelte.js +317 -0
  890. package/dist/bits/utilities/focus-scope/focus-scope-manager.d.ts +15 -0
  891. package/dist/bits/utilities/focus-scope/focus-scope-manager.js +55 -0
  892. package/dist/bits/utilities/focus-scope/focus-scope.svelte +27 -0
  893. package/dist/bits/utilities/focus-scope/focus-scope.svelte.d.ts +5 -0
  894. package/dist/bits/utilities/focus-scope/focus-scope.svelte.js +212 -0
  895. package/dist/bits/utilities/focus-scope/index.d.ts +2 -0
  896. package/dist/bits/utilities/focus-scope/index.js +1 -0
  897. package/dist/bits/utilities/focus-scope/types.d.ts +39 -0
  898. package/dist/bits/utilities/focus-scope/types.js +1 -0
  899. package/dist/bits/utilities/hidden-input.svelte +25 -0
  900. package/dist/bits/utilities/hidden-input.svelte.d.ts +4 -0
  901. package/dist/bits/utilities/index.d.ts +1 -0
  902. package/dist/bits/utilities/index.js +1 -0
  903. package/dist/bits/utilities/is-using-keyboard/is-using-keyboard.svelte.d.ts +13 -0
  904. package/dist/bits/utilities/is-using-keyboard/is-using-keyboard.svelte.js +51 -0
  905. package/dist/bits/utilities/mounted.svelte +18 -0
  906. package/dist/bits/utilities/mounted.svelte.d.ts +7 -0
  907. package/dist/bits/utilities/popper-layer/index.d.ts +2 -0
  908. package/dist/bits/utilities/popper-layer/index.js +1 -0
  909. package/dist/bits/utilities/popper-layer/popper-content.svelte +18 -0
  910. package/dist/bits/utilities/popper-layer/popper-content.svelte.d.ts +7 -0
  911. package/dist/bits/utilities/popper-layer/popper-layer-force-mount.svelte +85 -0
  912. package/dist/bits/utilities/popper-layer/popper-layer-force-mount.svelte.d.ts +7 -0
  913. package/dist/bits/utilities/popper-layer/popper-layer-inner.svelte +139 -0
  914. package/dist/bits/utilities/popper-layer/popper-layer-inner.svelte.d.ts +8 -0
  915. package/dist/bits/utilities/popper-layer/popper-layer.svelte +88 -0
  916. package/dist/bits/utilities/popper-layer/popper-layer.svelte.d.ts +4 -0
  917. package/dist/bits/utilities/popper-layer/types.d.ts +43 -0
  918. package/dist/bits/utilities/popper-layer/types.js +1 -0
  919. package/dist/bits/utilities/portal/index.d.ts +2 -0
  920. package/dist/bits/utilities/portal/index.js +1 -0
  921. package/dist/bits/utilities/portal/portal-consumer.svelte +9 -0
  922. package/dist/bits/utilities/portal/portal-consumer.svelte.d.ts +7 -0
  923. package/dist/bits/utilities/portal/portal.svelte +70 -0
  924. package/dist/bits/utilities/portal/portal.svelte.d.ts +4 -0
  925. package/dist/bits/utilities/portal/types.d.ts +20 -0
  926. package/dist/bits/utilities/portal/types.js +1 -0
  927. package/dist/bits/utilities/presence-layer/index.d.ts +2 -0
  928. package/dist/bits/utilities/presence-layer/index.js +1 -0
  929. package/dist/bits/utilities/presence-layer/presence-layer.svelte +19 -0
  930. package/dist/bits/utilities/presence-layer/presence-layer.svelte.d.ts +4 -0
  931. package/dist/bits/utilities/presence-layer/presence.svelte.d.ts +15 -0
  932. package/dist/bits/utilities/presence-layer/presence.svelte.js +61 -0
  933. package/dist/bits/utilities/presence-layer/types.d.ts +22 -0
  934. package/dist/bits/utilities/presence-layer/types.js +1 -0
  935. package/dist/bits/utilities/scroll-lock/index.d.ts +18 -0
  936. package/dist/bits/utilities/scroll-lock/index.js +1 -0
  937. package/dist/bits/utilities/scroll-lock/scroll-lock.svelte +10 -0
  938. package/dist/bits/utilities/scroll-lock/scroll-lock.svelte.d.ts +4 -0
  939. package/dist/bits/utilities/text-selection-layer/index.d.ts +2 -0
  940. package/dist/bits/utilities/text-selection-layer/index.js +1 -0
  941. package/dist/bits/utilities/text-selection-layer/text-selection-layer.svelte +26 -0
  942. package/dist/bits/utilities/text-selection-layer/text-selection-layer.svelte.d.ts +4 -0
  943. package/dist/bits/utilities/text-selection-layer/types.d.ts +33 -0
  944. package/dist/bits/utilities/text-selection-layer/types.js +1 -0
  945. package/dist/bits/utilities/text-selection-layer/use-text-selection-layer.svelte.d.ts +14 -0
  946. package/dist/bits/utilities/text-selection-layer/use-text-selection-layer.svelte.js +94 -0
  947. package/dist/bits/utilities/visually-hidden/index.d.ts +2 -0
  948. package/dist/bits/utilities/visually-hidden/index.js +1 -0
  949. package/dist/bits/utilities/visually-hidden/types.d.ts +3 -0
  950. package/dist/bits/utilities/visually-hidden/types.js +1 -0
  951. package/dist/bits/utilities/visually-hidden/visually-hidden.svelte +31 -0
  952. package/dist/bits/utilities/visually-hidden/visually-hidden.svelte.d.ts +4 -0
  953. package/dist/index.d.ts +4 -0
  954. package/dist/index.js +3 -0
  955. package/dist/internal/animations-complete.d.ts +12 -0
  956. package/dist/internal/animations-complete.js +102 -0
  957. package/dist/internal/arrays.d.ts +95 -0
  958. package/dist/internal/arrays.js +234 -0
  959. package/dist/internal/attrs.d.ts +33 -0
  960. package/dist/internal/attrs.js +58 -0
  961. package/dist/internal/body-scroll-lock.svelte.d.ts +10 -0
  962. package/dist/internal/body-scroll-lock.svelte.js +196 -0
  963. package/dist/internal/box-auto-reset.svelte.d.ts +14 -0
  964. package/dist/internal/box-auto-reset.svelte.js +36 -0
  965. package/dist/internal/clamp.d.ts +4 -0
  966. package/dist/internal/clamp.js +6 -0
  967. package/dist/internal/create-id.d.ts +8 -0
  968. package/dist/internal/create-id.js +5 -0
  969. package/dist/internal/css-escape.d.ts +7 -0
  970. package/dist/internal/css-escape.js +59 -0
  971. package/dist/internal/data-typeahead.svelte.d.ts +15 -0
  972. package/dist/internal/data-typeahead.svelte.js +33 -0
  973. package/dist/internal/date-time/announcer.d.ts +7 -0
  974. package/dist/internal/date-time/announcer.js +82 -0
  975. package/dist/internal/date-time/calendar-helpers.svelte.d.ts +208 -0
  976. package/dist/internal/date-time/calendar-helpers.svelte.js +567 -0
  977. package/dist/internal/date-time/field/helpers.d.ts +86 -0
  978. package/dist/internal/date-time/field/helpers.js +387 -0
  979. package/dist/internal/date-time/field/parts.d.ts +8 -0
  980. package/dist/internal/date-time/field/parts.js +17 -0
  981. package/dist/internal/date-time/field/segments.d.ts +60 -0
  982. package/dist/internal/date-time/field/segments.js +193 -0
  983. package/dist/internal/date-time/field/time-helpers.d.ts +83 -0
  984. package/dist/internal/date-time/field/time-helpers.js +301 -0
  985. package/dist/internal/date-time/field/types.d.ts +25 -0
  986. package/dist/internal/date-time/field/types.js +1 -0
  987. package/dist/internal/date-time/formatter.d.ts +41 -0
  988. package/dist/internal/date-time/formatter.js +166 -0
  989. package/dist/internal/date-time/placeholders.d.ts +8 -0
  990. package/dist/internal/date-time/placeholders.js +129 -0
  991. package/dist/internal/date-time/utils.d.ts +76 -0
  992. package/dist/internal/date-time/utils.js +232 -0
  993. package/dist/internal/debounce.d.ts +4 -0
  994. package/dist/internal/debounce.js +19 -0
  995. package/dist/internal/dom-typeahead.svelte.d.ts +14 -0
  996. package/dist/internal/dom-typeahead.svelte.js +44 -0
  997. package/dist/internal/dom.d.ts +7 -0
  998. package/dist/internal/dom.js +20 -0
  999. package/dist/internal/elements.d.ts +2 -0
  1000. package/dist/internal/elements.js +6 -0
  1001. package/dist/internal/events.d.ts +15 -0
  1002. package/dist/internal/events.js +32 -0
  1003. package/dist/internal/floating-svelte/floating-utils.svelte.d.ts +7 -0
  1004. package/dist/internal/floating-svelte/floating-utils.svelte.js +24 -0
  1005. package/dist/internal/floating-svelte/types.d.ts +97 -0
  1006. package/dist/internal/floating-svelte/types.js +1 -0
  1007. package/dist/internal/floating-svelte/use-floating.svelte.d.ts +2 -0
  1008. package/dist/internal/floating-svelte/use-floating.svelte.js +192 -0
  1009. package/dist/internal/focus.d.ts +46 -0
  1010. package/dist/internal/focus.js +113 -0
  1011. package/dist/internal/get-directional-keys.d.ts +21 -0
  1012. package/dist/internal/get-directional-keys.js +37 -0
  1013. package/dist/internal/grace-area.svelte.d.ts +14 -0
  1014. package/dist/internal/grace-area.svelte.js +208 -0
  1015. package/dist/internal/is.d.ts +25 -0
  1016. package/dist/internal/is.js +62 -0
  1017. package/dist/internal/kbd-constants.d.ts +42 -0
  1018. package/dist/internal/kbd-constants.js +42 -0
  1019. package/dist/internal/kbd.d.ts +1 -0
  1020. package/dist/internal/kbd.js +1 -0
  1021. package/dist/internal/locale.d.ts +6 -0
  1022. package/dist/internal/locale.js +9 -0
  1023. package/dist/internal/math.d.ts +1 -0
  1024. package/dist/internal/math.js +15 -0
  1025. package/dist/internal/noop.d.ts +4 -0
  1026. package/dist/internal/noop.js +4 -0
  1027. package/dist/internal/presence-manager.svelte.d.ts +17 -0
  1028. package/dist/internal/presence-manager.svelte.js +75 -0
  1029. package/dist/internal/roving-focus-group.d.ts +44 -0
  1030. package/dist/internal/roving-focus-group.js +97 -0
  1031. package/dist/internal/safe-polygon.svelte.d.ts +19 -0
  1032. package/dist/internal/safe-polygon.svelte.js +315 -0
  1033. package/dist/internal/shared-state.svelte.d.ts +6 -0
  1034. package/dist/internal/shared-state.svelte.js +31 -0
  1035. package/dist/internal/should-enable-focus-trap.d.ts +4 -0
  1036. package/dist/internal/should-enable-focus-trap.js +5 -0
  1037. package/dist/internal/state-machine.d.ts +16 -0
  1038. package/dist/internal/state-machine.js +18 -0
  1039. package/dist/internal/svelte-resize-observer.svelte.d.ts +6 -0
  1040. package/dist/internal/svelte-resize-observer.svelte.js +25 -0
  1041. package/dist/internal/tabbable.d.ts +7 -0
  1042. package/dist/internal/tabbable.js +51 -0
  1043. package/dist/internal/timeout-fn.d.ts +7 -0
  1044. package/dist/internal/timeout-fn.js +29 -0
  1045. package/dist/internal/types.d.ts +94 -0
  1046. package/dist/internal/types.js +1 -0
  1047. package/dist/internal/use-arrow-navigation.d.ts +62 -0
  1048. package/dist/internal/use-arrow-navigation.js +76 -0
  1049. package/dist/internal/use-id.d.ts +4 -0
  1050. package/dist/internal/use-id.js +8 -0
  1051. package/dist/internal/warn.d.ts +1 -0
  1052. package/dist/internal/warn.js +15 -0
  1053. package/dist/shared/attributes.d.ts +40 -0
  1054. package/dist/shared/attributes.js +1 -0
  1055. package/dist/shared/css.d.ts +9 -0
  1056. package/dist/shared/date/types.d.ts +100 -0
  1057. package/dist/shared/date/types.js +1 -0
  1058. package/dist/shared/index.d.ts +38 -0
  1059. package/dist/shared/index.js +5 -0
  1060. package/dist/shared/types.d.ts +13 -0
  1061. package/dist/shared/types.js +1 -0
  1062. package/dist/types.d.ts +45 -0
  1063. package/dist/types.js +1 -0
  1064. package/package.json +68 -0
@@ -0,0 +1,888 @@
1
+ /**
2
+ * Based on Radix UI's Navigation Menu
3
+ * https://www.radix-ui.com/docs/primitives/components/navigation-menu
4
+ */
5
+ import { afterSleep, afterTick, attachRef, DOMContext, getWindow, simpleBox, boxWith, } from "svelte-toolbelt";
6
+ import { Context, useDebounce, watch } from "runed";
7
+ import { untrack } from "svelte";
8
+ import { SvelteMap } from "svelte/reactivity";
9
+ import { useId } from "../../shared/index.js";
10
+ import { createBitsAttrs, boolToStr, boolToEmptyStrOrUndef, getDataOpenClosed, } from "../../internal/attrs.js";
11
+ import { noop } from "../../internal/noop.js";
12
+ import { getTabbableCandidates } from "../../internal/focus.js";
13
+ import { kbd } from "../../internal/kbd.js";
14
+ import { CustomEventDispatcher } from "../../internal/events.js";
15
+ import { useArrowNavigation } from "../../internal/use-arrow-navigation.js";
16
+ import { boxAutoReset } from "../../internal/box-auto-reset.svelte.js";
17
+ import { isElement } from "../../internal/is.js";
18
+ import { RovingFocusGroup } from "../../internal/roving-focus-group.js";
19
+ import { SvelteResizeObserver } from "../../internal/svelte-resize-observer.svelte.js";
20
+ const navigationMenuAttrs = createBitsAttrs({
21
+ component: "navigation-menu",
22
+ parts: [
23
+ "root",
24
+ "sub",
25
+ "item",
26
+ "list",
27
+ "trigger",
28
+ "content",
29
+ "link",
30
+ "viewport",
31
+ "menu",
32
+ "indicator",
33
+ ],
34
+ });
35
+ const NavigationMenuProviderContext = new Context("NavigationMenu.Root");
36
+ export const NavigationMenuItemContext = new Context("NavigationMenu.Item");
37
+ const NavigationMenuListContext = new Context("NavigationMenu.List");
38
+ const NavigationMenuContentContext = new Context("NavigationMenu.Content");
39
+ const NavigationMenuSubContext = new Context("NavigationMenu.Sub");
40
+ class NavigationMenuProviderState {
41
+ static create(opts) {
42
+ return NavigationMenuProviderContext.set(new NavigationMenuProviderState(opts));
43
+ }
44
+ opts;
45
+ indicatorTrackRef = simpleBox(null);
46
+ viewportRef = simpleBox(null);
47
+ viewportContent = new SvelteMap();
48
+ onTriggerEnter;
49
+ onTriggerLeave = noop;
50
+ onContentEnter = noop;
51
+ onContentLeave = noop;
52
+ onItemSelect;
53
+ onItemDismiss;
54
+ activeItem = null;
55
+ prevActiveItem = null;
56
+ constructor(opts) {
57
+ this.opts = opts;
58
+ this.onTriggerEnter = opts.onTriggerEnter;
59
+ this.onTriggerLeave = opts.onTriggerLeave ?? noop;
60
+ this.onContentEnter = opts.onContentEnter ?? noop;
61
+ this.onContentLeave = opts.onContentLeave ?? noop;
62
+ this.onItemDismiss = opts.onItemDismiss;
63
+ this.onItemSelect = opts.onItemSelect;
64
+ }
65
+ setActiveItem = (item) => {
66
+ this.prevActiveItem = this.activeItem;
67
+ this.activeItem = item;
68
+ };
69
+ }
70
+ export class NavigationMenuRootState {
71
+ static create(opts) {
72
+ return new NavigationMenuRootState(opts);
73
+ }
74
+ opts;
75
+ attachment;
76
+ provider;
77
+ previousValue = simpleBox("");
78
+ isDelaySkipped;
79
+ #derivedDelay = $derived.by(() => {
80
+ const isOpen = this.opts?.value?.current !== "";
81
+ if (isOpen || this.isDelaySkipped.current) {
82
+ // 150 for user to switch trigger or move into content view
83
+ return 150;
84
+ }
85
+ else {
86
+ return this.opts.delayDuration.current;
87
+ }
88
+ });
89
+ constructor(opts) {
90
+ this.opts = opts;
91
+ this.attachment = attachRef(this.opts.ref);
92
+ this.isDelaySkipped = boxAutoReset(false, {
93
+ afterMs: this.opts.skipDelayDuration.current,
94
+ getWindow: () => getWindow(opts.ref.current),
95
+ });
96
+ this.provider = NavigationMenuProviderState.create({
97
+ value: this.opts.value,
98
+ previousValue: this.previousValue,
99
+ dir: this.opts.dir,
100
+ orientation: this.opts.orientation,
101
+ rootNavigationMenuRef: this.opts.ref,
102
+ isRootMenu: true,
103
+ onTriggerEnter: (itemValue, itemState) => {
104
+ this.#onTriggerEnter(itemValue, itemState);
105
+ },
106
+ onTriggerLeave: this.#onTriggerLeave,
107
+ onContentEnter: this.#onContentEnter,
108
+ onContentLeave: this.#onContentLeave,
109
+ onItemSelect: this.#onItemSelect,
110
+ onItemDismiss: this.#onItemDismiss,
111
+ });
112
+ }
113
+ #debouncedFn = useDebounce((val, itemState) => {
114
+ // passing `undefined` meant to reset the debounce timer
115
+ if (typeof val === "string") {
116
+ this.setValue(val, itemState);
117
+ }
118
+ }, () => this.#derivedDelay);
119
+ #onTriggerEnter = (itemValue, itemState) => {
120
+ this.#debouncedFn(itemValue, itemState);
121
+ };
122
+ #onTriggerLeave = () => {
123
+ this.isDelaySkipped.current = false;
124
+ this.#debouncedFn("", null);
125
+ };
126
+ #onContentEnter = () => {
127
+ this.#debouncedFn(undefined, null);
128
+ };
129
+ #onContentLeave = () => {
130
+ if (this.provider.activeItem &&
131
+ this.provider.activeItem.opts.openOnHover.current === false) {
132
+ return;
133
+ }
134
+ this.#debouncedFn("", null);
135
+ };
136
+ #onItemSelect = (itemValue, itemState) => {
137
+ this.setValue(itemValue, itemState);
138
+ };
139
+ #onItemDismiss = () => {
140
+ this.setValue("", null);
141
+ };
142
+ setValue = (newValue, itemState) => {
143
+ this.previousValue.current = this.opts.value.current;
144
+ this.opts.value.current = newValue;
145
+ this.provider.setActiveItem(itemState);
146
+ // When all menus are closed, we want to reset previousValue to prevent
147
+ // weird transitions from old positions when opening fresh
148
+ if (newValue === "") {
149
+ this.previousValue.current = "";
150
+ }
151
+ };
152
+ props = $derived.by(() => ({
153
+ id: this.opts.id.current,
154
+ "data-orientation": this.opts.orientation.current,
155
+ dir: this.opts.dir.current,
156
+ [navigationMenuAttrs.root]: "",
157
+ [navigationMenuAttrs.menu]: "",
158
+ ...this.attachment,
159
+ }));
160
+ }
161
+ export class NavigationMenuSubState {
162
+ static create(opts) {
163
+ return new NavigationMenuSubState(opts, NavigationMenuProviderContext.get());
164
+ }
165
+ opts;
166
+ context;
167
+ previousValue = simpleBox("");
168
+ subProvider;
169
+ attachment;
170
+ constructor(opts, context) {
171
+ this.opts = opts;
172
+ this.context = context;
173
+ this.attachment = attachRef(this.opts.ref);
174
+ this.subProvider = NavigationMenuProviderState.create({
175
+ isRootMenu: false,
176
+ value: this.opts.value,
177
+ dir: this.context.opts.dir,
178
+ orientation: this.opts.orientation,
179
+ rootNavigationMenuRef: this.opts.ref,
180
+ onTriggerEnter: this.setValue,
181
+ onItemSelect: this.setValue,
182
+ onItemDismiss: () => this.setValue("", null),
183
+ previousValue: this.previousValue,
184
+ });
185
+ }
186
+ setValue = (newValue, itemState) => {
187
+ this.previousValue.current = this.opts.value.current;
188
+ this.opts.value.current = newValue;
189
+ this.subProvider.setActiveItem(itemState);
190
+ // When all menus are closed, we want to reset previousValue to prevent
191
+ // weird transitions from old positions when opening fresh
192
+ if (newValue === "") {
193
+ this.previousValue.current = "";
194
+ }
195
+ };
196
+ props = $derived.by(() => ({
197
+ id: this.opts.id.current,
198
+ "data-orientation": this.opts.orientation.current,
199
+ [navigationMenuAttrs.sub]: "",
200
+ [navigationMenuAttrs.menu]: "",
201
+ ...this.attachment,
202
+ }));
203
+ }
204
+ export class NavigationMenuListState {
205
+ static create(opts) {
206
+ return NavigationMenuListContext.set(new NavigationMenuListState(opts, NavigationMenuProviderContext.get()));
207
+ }
208
+ wrapperId = simpleBox(useId());
209
+ wrapperRef = simpleBox(null);
210
+ opts;
211
+ context;
212
+ attachment;
213
+ wrapperAttachment = attachRef(this.wrapperRef, (v) => (this.context.indicatorTrackRef.current = v));
214
+ listTriggers = $state.raw([]);
215
+ rovingFocusGroup;
216
+ wrapperMounted = $state(false);
217
+ constructor(opts, context) {
218
+ this.opts = opts;
219
+ this.context = context;
220
+ this.attachment = attachRef(this.opts.ref);
221
+ this.rovingFocusGroup = new RovingFocusGroup({
222
+ rootNode: opts.ref,
223
+ candidateSelector: `${navigationMenuAttrs.selector("trigger")}:not([data-disabled]), ${navigationMenuAttrs.selector("link")}:not([data-disabled])`,
224
+ loop: boxWith(() => false),
225
+ orientation: this.context.opts.orientation,
226
+ });
227
+ }
228
+ registerTrigger(trigger) {
229
+ if (trigger)
230
+ this.listTriggers.push(trigger);
231
+ return () => {
232
+ this.listTriggers = this.listTriggers.filter((t) => t.id !== trigger.id);
233
+ };
234
+ }
235
+ wrapperProps = $derived.by(() => ({
236
+ id: this.wrapperId.current,
237
+ ...this.wrapperAttachment,
238
+ }));
239
+ props = $derived.by(() => ({
240
+ id: this.opts.id.current,
241
+ "data-orientation": this.context.opts.orientation.current,
242
+ [navigationMenuAttrs.list]: "",
243
+ ...this.attachment,
244
+ }));
245
+ }
246
+ export class NavigationMenuItemState {
247
+ static create(opts) {
248
+ return NavigationMenuItemContext.set(new NavigationMenuItemState(opts, NavigationMenuListContext.get()));
249
+ }
250
+ opts;
251
+ attachment;
252
+ listContext;
253
+ contentNode = $state(null);
254
+ triggerNode = $state(null);
255
+ focusProxyNode = $state(null);
256
+ restoreContentTabOrder = noop;
257
+ wasEscapeClose = false;
258
+ contentId = $derived.by(() => this.contentNode?.id);
259
+ triggerId = $derived.by(() => this.triggerNode?.id);
260
+ contentChildren = simpleBox(undefined);
261
+ contentChild = simpleBox(undefined);
262
+ contentProps = simpleBox({});
263
+ domContext;
264
+ constructor(opts, listContext) {
265
+ this.opts = opts;
266
+ this.listContext = listContext;
267
+ this.domContext = new DOMContext(opts.ref);
268
+ this.attachment = attachRef(this.opts.ref);
269
+ }
270
+ #handleContentEntry = (side = "start") => {
271
+ if (!this.contentNode)
272
+ return;
273
+ this.restoreContentTabOrder();
274
+ const candidates = getTabbableCandidates(this.contentNode);
275
+ if (candidates.length)
276
+ focusFirst(side === "start" ? candidates : candidates.reverse(), () => this.domContext.getActiveElement());
277
+ };
278
+ #handleContentExit = () => {
279
+ if (!this.contentNode)
280
+ return;
281
+ const candidates = getTabbableCandidates(this.contentNode);
282
+ if (candidates.length)
283
+ this.restoreContentTabOrder = removeFromTabOrder(candidates);
284
+ };
285
+ onEntryKeydown = this.#handleContentEntry;
286
+ onFocusProxyEnter = this.#handleContentEntry;
287
+ onRootContentClose = this.#handleContentExit;
288
+ onContentFocusOutside = this.#handleContentExit;
289
+ props = $derived.by(() => ({
290
+ id: this.opts.id.current,
291
+ [navigationMenuAttrs.item]: "",
292
+ ...this.attachment,
293
+ }));
294
+ }
295
+ export class NavigationMenuTriggerState {
296
+ static create(opts) {
297
+ return new NavigationMenuTriggerState(opts, {
298
+ provider: NavigationMenuProviderContext.get(),
299
+ item: NavigationMenuItemContext.get(),
300
+ list: NavigationMenuListContext.get(),
301
+ sub: NavigationMenuSubContext.getOr(null),
302
+ });
303
+ }
304
+ opts;
305
+ attachment;
306
+ focusProxyId = simpleBox(useId());
307
+ focusProxyRef = simpleBox(null);
308
+ focusProxyAttachment = attachRef(this.focusProxyRef, (v) => (this.itemContext.focusProxyNode = v));
309
+ context;
310
+ itemContext;
311
+ listContext;
312
+ hasPointerMoveOpened = simpleBox(false);
313
+ wasClickClose = false;
314
+ focusProxyMounted = $state(false);
315
+ open = $derived.by(() => this.itemContext.opts.value.current === this.context.opts.value.current);
316
+ constructor(opts, context) {
317
+ this.opts = opts;
318
+ this.attachment = attachRef(this.opts.ref, (v) => (this.itemContext.triggerNode = v));
319
+ this.hasPointerMoveOpened = boxAutoReset(false, {
320
+ afterMs: 300,
321
+ getWindow: () => getWindow(opts.ref.current),
322
+ });
323
+ this.context = context.provider;
324
+ this.itemContext = context.item;
325
+ this.listContext = context.list;
326
+ watch(() => this.opts.ref.current, () => {
327
+ const node = this.opts.ref.current;
328
+ if (!node)
329
+ return;
330
+ return this.listContext.registerTrigger(node);
331
+ });
332
+ }
333
+ onpointerenter = (_) => {
334
+ this.wasClickClose = false;
335
+ this.itemContext.wasEscapeClose = false;
336
+ };
337
+ onpointermove = whenMouse(() => {
338
+ if (this.opts.disabled.current ||
339
+ this.wasClickClose ||
340
+ this.itemContext.wasEscapeClose ||
341
+ this.hasPointerMoveOpened.current ||
342
+ !this.itemContext.opts.openOnHover.current) {
343
+ return;
344
+ }
345
+ this.context.onTriggerEnter(this.itemContext.opts.value.current, this.itemContext);
346
+ this.hasPointerMoveOpened.current = true;
347
+ });
348
+ onpointerleave = whenMouse(() => {
349
+ if (this.opts.disabled.current || !this.itemContext.opts.openOnHover.current)
350
+ return;
351
+ this.context.onTriggerLeave();
352
+ this.hasPointerMoveOpened.current = false;
353
+ });
354
+ onclick = () => {
355
+ // if opened via pointer move, we prevent the click event
356
+ if (this.hasPointerMoveOpened.current)
357
+ return;
358
+ const shouldClose = this.open &&
359
+ (!this.itemContext.opts.openOnHover.current || this.context.opts.isRootMenu);
360
+ if (shouldClose) {
361
+ this.context.onItemSelect("", null);
362
+ }
363
+ else if (!this.open) {
364
+ this.context.onItemSelect(this.itemContext.opts.value.current, this.itemContext);
365
+ }
366
+ this.wasClickClose = shouldClose;
367
+ };
368
+ onkeydown = (e) => {
369
+ const verticalEntryKey = this.context.opts.dir.current === "rtl" ? kbd.ARROW_LEFT : kbd.ARROW_RIGHT;
370
+ const entryKey = { horizontal: kbd.ARROW_DOWN, vertical: verticalEntryKey }[this.context.opts.orientation.current];
371
+ if (this.open && e.key === entryKey) {
372
+ this.itemContext.onEntryKeydown();
373
+ // prevent focus group from handling the event
374
+ e.preventDefault();
375
+ return;
376
+ }
377
+ this.itemContext.listContext.rovingFocusGroup.handleKeydown(this.opts.ref.current, e);
378
+ };
379
+ focusProxyOnFocus = (e) => {
380
+ const content = this.itemContext.contentNode;
381
+ const prevFocusedElement = e.relatedTarget;
382
+ const wasTriggerFocused = this.opts.ref.current && prevFocusedElement === this.opts.ref.current;
383
+ const wasFocusFromContent = content?.contains(prevFocusedElement);
384
+ if (wasTriggerFocused || !wasFocusFromContent) {
385
+ this.itemContext.onFocusProxyEnter(wasTriggerFocused ? "start" : "end");
386
+ }
387
+ };
388
+ props = $derived.by(() => ({
389
+ id: this.opts.id.current,
390
+ disabled: this.opts.disabled.current,
391
+ "data-disabled": boolToEmptyStrOrUndef(Boolean(this.opts.disabled.current)),
392
+ "data-state": getDataOpenClosed(this.open),
393
+ "data-value": this.itemContext.opts.value.current,
394
+ "aria-expanded": boolToStr(this.open),
395
+ "aria-controls": this.itemContext.contentId,
396
+ [navigationMenuAttrs.trigger]: "",
397
+ onpointermove: this.onpointermove,
398
+ onpointerleave: this.onpointerleave,
399
+ onpointerenter: this.onpointerenter,
400
+ onclick: this.onclick,
401
+ onkeydown: this.onkeydown,
402
+ ...this.attachment,
403
+ }));
404
+ focusProxyProps = $derived.by(() => ({
405
+ id: this.focusProxyId.current,
406
+ tabindex: 0,
407
+ onfocus: this.focusProxyOnFocus,
408
+ ...this.focusProxyAttachment,
409
+ }));
410
+ }
411
+ const LINK_SELECT_EVENT = new CustomEventDispatcher("bitsLinkSelect", {
412
+ bubbles: true,
413
+ cancelable: true,
414
+ });
415
+ const ROOT_CONTENT_DISMISS_EVENT = new CustomEventDispatcher("bitsRootContentDismiss", {
416
+ cancelable: true,
417
+ bubbles: true,
418
+ });
419
+ export class NavigationMenuLinkState {
420
+ static create(opts) {
421
+ return new NavigationMenuLinkState(opts, {
422
+ provider: NavigationMenuProviderContext.get(),
423
+ item: NavigationMenuItemContext.get(),
424
+ });
425
+ }
426
+ opts;
427
+ context;
428
+ attachment;
429
+ isFocused = $state(false);
430
+ constructor(opts, context) {
431
+ this.opts = opts;
432
+ this.context = context;
433
+ this.attachment = attachRef(this.opts.ref);
434
+ }
435
+ onclick = (e) => {
436
+ const currTarget = e.currentTarget;
437
+ LINK_SELECT_EVENT.listen(currTarget, (e) => this.opts.onSelect.current(e), { once: true });
438
+ const linkSelectEvent = LINK_SELECT_EVENT.dispatch(currTarget);
439
+ if (!linkSelectEvent.defaultPrevented && !e.metaKey) {
440
+ ROOT_CONTENT_DISMISS_EVENT.dispatch(currTarget);
441
+ }
442
+ };
443
+ onkeydown = (e) => {
444
+ if (this.context.item.contentNode)
445
+ return;
446
+ this.context.item.listContext.rovingFocusGroup.handleKeydown(this.opts.ref.current, e);
447
+ };
448
+ onfocus = (_) => {
449
+ this.isFocused = true;
450
+ };
451
+ onblur = (_) => {
452
+ this.isFocused = false;
453
+ };
454
+ #handlePointerDismiss = () => {
455
+ // only close submenu if this link is not inside the currently open submenu content
456
+ const currentlyOpenValue = this.context.provider.opts.value.current;
457
+ const isInsideOpenSubmenu = this.context.item.opts.value.current === currentlyOpenValue;
458
+ const activeItem = this.context.item.listContext.context.activeItem;
459
+ if (activeItem && !activeItem.opts.openOnHover.current)
460
+ return;
461
+ if (currentlyOpenValue && !isInsideOpenSubmenu) {
462
+ this.context.provider.onItemDismiss();
463
+ }
464
+ };
465
+ onpointerenter = () => {
466
+ this.#handlePointerDismiss();
467
+ };
468
+ onpointermove = whenMouse(() => {
469
+ this.#handlePointerDismiss();
470
+ });
471
+ props = $derived.by(() => ({
472
+ id: this.opts.id.current,
473
+ "data-active": this.opts.active.current ? "" : undefined,
474
+ "aria-current": this.opts.active.current ? "page" : undefined,
475
+ "data-focused": this.isFocused ? "" : undefined,
476
+ onclick: this.onclick,
477
+ onkeydown: this.onkeydown,
478
+ onfocus: this.onfocus,
479
+ onblur: this.onblur,
480
+ onpointerenter: this.onpointerenter,
481
+ onpointermove: this.onpointermove,
482
+ [navigationMenuAttrs.link]: "",
483
+ ...this.attachment,
484
+ }));
485
+ }
486
+ export class NavigationMenuIndicatorState {
487
+ static create() {
488
+ return new NavigationMenuIndicatorState(NavigationMenuProviderContext.get());
489
+ }
490
+ context;
491
+ isVisible = $derived.by(() => Boolean(this.context.opts.value.current));
492
+ constructor(context) {
493
+ this.context = context;
494
+ }
495
+ }
496
+ export class NavigationMenuIndicatorImplState {
497
+ static create(opts) {
498
+ return new NavigationMenuIndicatorImplState(opts, {
499
+ provider: NavigationMenuProviderContext.get(),
500
+ list: NavigationMenuListContext.get(),
501
+ });
502
+ }
503
+ opts;
504
+ attachment;
505
+ context;
506
+ listContext;
507
+ position = $state.raw(null);
508
+ isHorizontal = $derived.by(() => this.context.opts.orientation.current === "horizontal");
509
+ isVisible = $derived.by(() => !!this.context.opts.value.current);
510
+ activeTrigger = $derived.by(() => {
511
+ const items = this.listContext.listTriggers;
512
+ const triggerNode = items.find((item) => item.getAttribute("data-value") === this.context.opts.value.current);
513
+ return triggerNode ?? null;
514
+ });
515
+ shouldRender = $derived.by(() => this.position !== null);
516
+ constructor(opts, context) {
517
+ this.opts = opts;
518
+ this.context = context.provider;
519
+ this.listContext = context.list;
520
+ this.attachment = attachRef(this.opts.ref);
521
+ new SvelteResizeObserver(() => this.activeTrigger, this.handlePositionChange);
522
+ new SvelteResizeObserver(() => this.context.indicatorTrackRef.current, this.handlePositionChange);
523
+ }
524
+ handlePositionChange = () => {
525
+ if (!this.activeTrigger)
526
+ return;
527
+ this.position = {
528
+ size: this.isHorizontal
529
+ ? this.activeTrigger.offsetWidth
530
+ : this.activeTrigger.offsetHeight,
531
+ offset: this.isHorizontal
532
+ ? this.activeTrigger.offsetLeft
533
+ : this.activeTrigger.offsetTop,
534
+ };
535
+ };
536
+ props = $derived.by(() => ({
537
+ id: this.opts.id.current,
538
+ "data-state": this.isVisible ? "visible" : "hidden",
539
+ "data-orientation": this.context.opts.orientation.current,
540
+ style: {
541
+ position: "absolute",
542
+ ...(this.isHorizontal
543
+ ? {
544
+ left: 0,
545
+ width: `${this.position?.size}px`,
546
+ transform: `translateX(${this.position?.offset}px)`,
547
+ }
548
+ : {
549
+ top: 0,
550
+ height: `${this.position?.size}px`,
551
+ transform: `translateY(${this.position?.offset}px)`,
552
+ }),
553
+ },
554
+ [navigationMenuAttrs.indicator]: "",
555
+ ...this.attachment,
556
+ }));
557
+ }
558
+ export class NavigationMenuContentState {
559
+ static create(opts) {
560
+ return NavigationMenuContentContext.set(new NavigationMenuContentState(opts, {
561
+ provider: NavigationMenuProviderContext.get(),
562
+ item: NavigationMenuItemContext.get(),
563
+ list: NavigationMenuListContext.get(),
564
+ }));
565
+ }
566
+ opts;
567
+ context;
568
+ itemContext;
569
+ listContext;
570
+ attachment;
571
+ mounted = $state(false);
572
+ open = $derived.by(() => this.itemContext.opts.value.current === this.context.opts.value.current);
573
+ value = $derived.by(() => this.itemContext.opts.value.current);
574
+ // We persist the last active content value as the viewport may be animating out
575
+ // and we want the content to remain mounted for the lifecycle of the viewport.
576
+ isLastActiveValue = $derived.by(() => {
577
+ if (this.context.viewportRef.current) {
578
+ if (!this.context.opts.value.current && this.context.opts.previousValue.current) {
579
+ return (this.context.opts.previousValue.current === this.itemContext.opts.value.current);
580
+ }
581
+ }
582
+ return false;
583
+ });
584
+ constructor(opts, context) {
585
+ this.opts = opts;
586
+ this.context = context.provider;
587
+ this.itemContext = context.item;
588
+ this.listContext = context.list;
589
+ this.attachment = attachRef(this.opts.ref, (v) => (this.itemContext.contentNode = v));
590
+ }
591
+ onpointerenter = (_) => {
592
+ this.context.onContentEnter();
593
+ };
594
+ onpointerleave = whenMouse(() => {
595
+ if (!this.itemContext.opts.openOnHover.current)
596
+ return;
597
+ this.context.onContentLeave();
598
+ });
599
+ props = $derived.by(() => ({
600
+ id: this.opts.id.current,
601
+ onpointerenter: this.onpointerenter,
602
+ onpointerleave: this.onpointerleave,
603
+ ...this.attachment,
604
+ }));
605
+ }
606
+ export class NavigationMenuContentImplState {
607
+ static create(opts, itemState) {
608
+ return new NavigationMenuContentImplState(opts, itemState ?? NavigationMenuItemContext.get());
609
+ }
610
+ opts;
611
+ itemContext;
612
+ context;
613
+ listContext;
614
+ attachment;
615
+ prevMotionAttribute = $state(null);
616
+ motionAttribute = $derived.by(() => {
617
+ const items = this.listContext.listTriggers;
618
+ const values = items.map((item) => item.getAttribute("data-value")).filter(Boolean);
619
+ if (this.context.opts.dir.current === "rtl")
620
+ values.reverse();
621
+ const index = values.indexOf(this.context.opts.value.current);
622
+ const prevIndex = values.indexOf(this.context.opts.previousValue.current);
623
+ const isSelected = this.itemContext.opts.value.current === this.context.opts.value.current;
624
+ const wasSelected = prevIndex === values.indexOf(this.itemContext.opts.value.current);
625
+ // When all menus are closed, we want to reset motion state to prevent residual animations
626
+ if (!this.context.opts.value.current && !this.context.opts.previousValue.current) {
627
+ untrack(() => (this.prevMotionAttribute = null));
628
+ return null;
629
+ }
630
+ // We only want to update selected and the last selected content
631
+ // this avoids animations being interrupted outside of that range
632
+ if (!isSelected && !wasSelected)
633
+ return untrack(() => this.prevMotionAttribute);
634
+ const attribute = (() => {
635
+ // Don't provide a direction on the initial open
636
+ if (index !== prevIndex) {
637
+ // If we're moving to this item from another
638
+ if (isSelected && prevIndex !== -1)
639
+ return index > prevIndex ? "from-end" : "from-start";
640
+ // If we're leaving this item for another
641
+ if (wasSelected && index !== -1)
642
+ return index > prevIndex ? "to-start" : "to-end";
643
+ }
644
+ // Otherwise we're entering from closed or leaving the list
645
+ // entirely and should not animate in any direction
646
+ return null;
647
+ })();
648
+ untrack(() => (this.prevMotionAttribute = attribute));
649
+ return attribute;
650
+ });
651
+ domContext;
652
+ constructor(opts, itemContext) {
653
+ this.opts = opts;
654
+ this.attachment = attachRef(this.opts.ref);
655
+ this.itemContext = itemContext;
656
+ this.listContext = itemContext.listContext;
657
+ this.context = itemContext.listContext.context;
658
+ this.domContext = new DOMContext(opts.ref);
659
+ watch([
660
+ () => this.itemContext.opts.value.current,
661
+ () => this.itemContext.triggerNode,
662
+ () => this.opts.ref.current,
663
+ ], () => {
664
+ const content = this.opts.ref.current;
665
+ if (!(content && this.context.opts.isRootMenu))
666
+ return;
667
+ const handleClose = () => {
668
+ this.context.onItemDismiss();
669
+ this.itemContext.onRootContentClose();
670
+ if (content.contains(this.domContext.getActiveElement())) {
671
+ this.itemContext.triggerNode?.focus();
672
+ }
673
+ };
674
+ const removeListener = ROOT_CONTENT_DISMISS_EVENT.listen(content, handleClose);
675
+ return () => {
676
+ removeListener();
677
+ };
678
+ });
679
+ }
680
+ onFocusOutside = (e) => {
681
+ this.itemContext.onContentFocusOutside();
682
+ const target = e.target;
683
+ // only dismiss content when focus moves outside of the menu
684
+ if (this.context.opts.rootNavigationMenuRef.current?.contains(target)) {
685
+ e.preventDefault();
686
+ return;
687
+ }
688
+ this.context.onItemDismiss();
689
+ };
690
+ onInteractOutside = (e) => {
691
+ const target = e.target;
692
+ const isTrigger = this.listContext.listTriggers.some((trigger) => trigger.contains(target));
693
+ const isRootViewport = this.context.opts.isRootMenu && this.context.viewportRef.current?.contains(target);
694
+ if (!this.context.opts.isRootMenu && !isTrigger) {
695
+ this.context.onItemDismiss();
696
+ return;
697
+ }
698
+ if (isTrigger || isRootViewport) {
699
+ e.preventDefault();
700
+ return;
701
+ }
702
+ if (!this.itemContext.opts.openOnHover.current) {
703
+ this.context.onItemSelect("", null);
704
+ }
705
+ };
706
+ onkeydown = (e) => {
707
+ // prevent parent menus handling sub-menu keydown events
708
+ const target = e.target;
709
+ if (!isElement(target))
710
+ return;
711
+ if (target.closest(navigationMenuAttrs.selector("menu")) !==
712
+ this.context.opts.rootNavigationMenuRef.current)
713
+ return;
714
+ const isMetaKey = e.altKey || e.ctrlKey || e.metaKey;
715
+ const isTabKey = e.key === kbd.TAB && !isMetaKey;
716
+ const candidates = getTabbableCandidates(e.currentTarget);
717
+ if (isTabKey) {
718
+ const focusedElement = this.domContext.getActiveElement();
719
+ const index = candidates.findIndex((candidate) => candidate === focusedElement);
720
+ const isMovingBackwards = e.shiftKey;
721
+ const nextCandidates = isMovingBackwards
722
+ ? candidates.slice(0, index).reverse()
723
+ : candidates.slice(index + 1, candidates.length);
724
+ if (focusFirst(nextCandidates, () => this.domContext.getActiveElement())) {
725
+ // prevent browser tab keydown because we've handled focus
726
+ e.preventDefault();
727
+ return;
728
+ }
729
+ else {
730
+ // If we can't focus that means we're at the edges
731
+ // so focus the proxy and let browser handle
732
+ // tab/shift+tab keypress on the proxy instead
733
+ handleProxyFocus(this.itemContext.focusProxyNode);
734
+ return;
735
+ }
736
+ }
737
+ let activeEl = this.domContext.getActiveElement();
738
+ if (this.itemContext.contentNode) {
739
+ const focusedNode = this.itemContext.contentNode.querySelector("[data-focused]");
740
+ if (focusedNode) {
741
+ activeEl = focusedNode;
742
+ }
743
+ }
744
+ if (activeEl === this.itemContext.triggerNode)
745
+ return;
746
+ const newSelectedElement = useArrowNavigation(e, activeEl, undefined, {
747
+ itemsArray: candidates,
748
+ candidateSelector: navigationMenuAttrs.selector("link"),
749
+ loop: false,
750
+ enableIgnoredElement: true,
751
+ });
752
+ newSelectedElement?.focus();
753
+ };
754
+ onEscapeKeydown = (_) => {
755
+ this.context.onItemDismiss();
756
+ this.itemContext.triggerNode?.focus();
757
+ // prevent the dropdown from reopening after the escape key has been pressed
758
+ this.itemContext.wasEscapeClose = true;
759
+ };
760
+ props = $derived.by(() => ({
761
+ id: this.opts.id.current,
762
+ "aria-labelledby": this.itemContext.triggerId,
763
+ "data-motion": this.motionAttribute ?? undefined,
764
+ "data-orientation": this.context.opts.orientation.current,
765
+ "data-state": getDataOpenClosed(this.context.opts.value.current === this.itemContext.opts.value.current),
766
+ onkeydown: this.onkeydown,
767
+ [navigationMenuAttrs.content]: "",
768
+ ...this.attachment,
769
+ }));
770
+ }
771
+ export class NavigationMenuViewportState {
772
+ static create(opts) {
773
+ return new NavigationMenuViewportState(opts, NavigationMenuProviderContext.get());
774
+ }
775
+ opts;
776
+ context;
777
+ attachment;
778
+ open = $derived.by(() => !!this.context.opts.value.current);
779
+ viewportWidth = $derived.by(() => (this.size ? `${this.size.width}px` : undefined));
780
+ viewportHeight = $derived.by(() => (this.size ? `${this.size.height}px` : undefined));
781
+ activeContentValue = $derived.by(() => this.context.opts.value.current);
782
+ size = $state(null);
783
+ contentNode = $state(null);
784
+ mounted = $state(false);
785
+ constructor(opts, context) {
786
+ this.opts = opts;
787
+ this.context = context;
788
+ this.attachment = attachRef(this.opts.ref, (v) => (this.context.viewportRef.current = v));
789
+ watch([() => this.activeContentValue, () => this.open], () => {
790
+ afterTick(() => {
791
+ const currNode = this.context.viewportRef.current;
792
+ if (!currNode)
793
+ return;
794
+ const el = currNode.querySelector("[data-state=open]")
795
+ ?.children?.[0] ?? null;
796
+ this.contentNode = el;
797
+ });
798
+ });
799
+ /**
800
+ * Update viewport size to match the active content node.
801
+ * We prefer offset dimensions over `getBoundingClientRect` as the latter respects CSS transform.
802
+ * For example, if content animates in from `scale(0.5)` the dimensions would be anything
803
+ * from `0.5` to `1` of the intended size.
804
+ */
805
+ new SvelteResizeObserver(() => this.contentNode, () => {
806
+ if (this.contentNode) {
807
+ this.size = {
808
+ width: this.contentNode.offsetWidth,
809
+ height: this.contentNode.offsetHeight,
810
+ };
811
+ }
812
+ });
813
+ // reset size when viewport closes to prevent residual size animations
814
+ watch(() => this.mounted, () => {
815
+ if (!this.mounted && this.size) {
816
+ this.size = null;
817
+ }
818
+ });
819
+ }
820
+ props = $derived.by(() => ({
821
+ id: this.opts.id.current,
822
+ "data-state": getDataOpenClosed(this.open),
823
+ "data-orientation": this.context.opts.orientation.current,
824
+ style: {
825
+ pointerEvents: !this.open && this.context.opts.isRootMenu ? "none" : undefined,
826
+ "--bits-navigation-menu-viewport-width": this.viewportWidth,
827
+ "--bits-navigation-menu-viewport-height": this.viewportHeight,
828
+ },
829
+ [navigationMenuAttrs.viewport]: "",
830
+ onpointerenter: this.context.onContentEnter,
831
+ onpointerleave: this.context.onContentLeave,
832
+ ...this.attachment,
833
+ }));
834
+ }
835
+ //
836
+ function focusFirst(candidates, getActiveElement) {
837
+ const previouslyFocusedElement = getActiveElement();
838
+ return candidates.some((candidate) => {
839
+ // if focus is already where we want to go, we don't want to keep going through the candidates
840
+ if (candidate === previouslyFocusedElement)
841
+ return true;
842
+ candidate.focus();
843
+ return getActiveElement() !== previouslyFocusedElement;
844
+ });
845
+ }
846
+ function removeFromTabOrder(candidates) {
847
+ candidates.forEach((candidate) => {
848
+ candidate.dataset.tabindex = candidate.getAttribute("tabindex") || "";
849
+ candidate.setAttribute("tabindex", "-1");
850
+ });
851
+ return () => {
852
+ candidates.forEach((candidate) => {
853
+ const prevTabIndex = candidate.dataset.tabindex;
854
+ candidate.setAttribute("tabindex", prevTabIndex);
855
+ });
856
+ };
857
+ }
858
+ function whenMouse(handler) {
859
+ return (e) => (e.pointerType === "mouse" ? handler(e) : undefined);
860
+ }
861
+ /**
862
+ *
863
+ * We apply the `aria-hidden` attribute to elements that should not be visible to screen readers
864
+ * under specific circumstances, mostly when in a "modal" context or when they are strictly for
865
+ * utility purposes, like the focus guards.
866
+ *
867
+ * When these elements receive focus before we can remove the aria-hidden attribute, we need to
868
+ * handle the focus in a way that does not cause an error to be logged.
869
+ *
870
+ * This function handles the focus of the guard element first by momentary removing the
871
+ * `aria-hidden` attribute, focusing the guard (which will cause something else to focus), and then
872
+ * restoring the attribute.
873
+ */
874
+ function handleProxyFocus(guard, focusOptions) {
875
+ if (!guard)
876
+ return;
877
+ const ariaHidden = guard.getAttribute("aria-hidden");
878
+ guard.removeAttribute("aria-hidden");
879
+ guard.focus(focusOptions);
880
+ afterSleep(0, () => {
881
+ if (ariaHidden === null) {
882
+ guard.setAttribute("aria-hidden", "");
883
+ }
884
+ else {
885
+ guard.setAttribute("aria-hidden", ariaHidden);
886
+ }
887
+ });
888
+ }