sheer-ui 0.4.2 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1531) hide show
  1. package/dist/blocks/Appearance.svelte.d.ts +6 -0
  2. package/dist/blocks/BoundaryFailed.svelte.d.ts +9 -0
  3. package/dist/blocks/ErrorPage.svelte.d.ts +15 -0
  4. package/dist/blocks/Footer.svelte.d.ts +22 -0
  5. package/dist/blocks/Header.svelte.d.ts +21 -0
  6. package/dist/blocks/Heading.svelte.d.ts +38 -0
  7. package/dist/blocks/MobileNav.svelte.d.ts +30 -0
  8. package/dist/blocks/PhoneInput.svelte.d.ts +11 -0
  9. package/dist/blocks/Section.svelte.d.ts +12 -0
  10. package/dist/blocks/alert-modal/AlertModal.svelte.d.ts +3 -0
  11. package/dist/blocks/alert-modal/alert-modal.svelte.d.ts +30 -0
  12. package/dist/blocks/alert-modal/alert-modal.svelte.js +57 -0
  13. package/dist/blocks/alert-modal/index.js +2 -0
  14. package/dist/blocks/calendar.svelte.d.ts +25 -0
  15. package/dist/blocks/copy-button/copy-button.svelte.d.ts +8 -0
  16. package/dist/blocks/copy-button/copy.svelte.d.ts +15 -0
  17. package/dist/blocks/copy-button/copy.svelte.js +46 -0
  18. package/dist/blocks/copy-button/index.js +2 -0
  19. package/dist/blocks/date-picker/date-picker-with-presets.svelte.d.ts +32 -0
  20. package/dist/blocks/date-picker/date-picker.svelte.d.ts +29 -0
  21. package/dist/blocks/date-picker/index.d.ts +5 -0
  22. package/dist/blocks/date-picker/index.js +6 -0
  23. package/dist/blocks/date-picker/range-date-picker.svelte.d.ts +23 -0
  24. package/dist/blocks/index.js +12 -0
  25. package/dist/blocks/mockups/Browser.svelte.d.ts +8 -0
  26. package/dist/blocks/mockups/Phone.svelte.d.ts +8 -0
  27. package/dist/blocks/mockups/index.js +2 -0
  28. package/dist/blocks/tab-nav/index.js +1 -0
  29. package/dist/blocks/tab-nav/tab-nav.svelte.d.ts +14 -0
  30. package/dist/blocks/time-picker/index.d.ts +5 -0
  31. package/dist/blocks/time-picker/index.js +7 -0
  32. package/dist/blocks/time-picker/time-input.svelte.d.ts +13 -0
  33. package/dist/blocks/time-picker/time-picker.svelte.d.ts +23 -0
  34. package/dist/blocks/time-picker/time-range-input.svelte.d.ts +15 -0
  35. package/dist/blocks/time-picker/time-range-picker.svelte.d.ts +27 -0
  36. package/dist/blocks/time-picker/time-slots.d.ts +27 -0
  37. package/dist/blocks/time-picker/time-slots.js +46 -0
  38. package/dist/blocks/user-avatar/UserAvatar.svelte.d.ts +14 -0
  39. package/dist/blocks/user-avatar/index.js +1 -0
  40. package/dist/blocks/verification-code-field/VerificationCodeField.svelte.d.ts +15 -0
  41. package/dist/blocks/verification-code-field/index.js +1 -0
  42. package/dist/components/accordion/components/accordion-content.svelte.d.ts +4 -0
  43. package/dist/components/accordion/components/accordion-item.svelte.d.ts +4 -0
  44. package/dist/components/accordion/components/accordion-trigger.svelte.d.ts +4 -0
  45. package/dist/components/accordion/components/accordion.svelte.d.ts +6 -0
  46. package/dist/components/accordion/index.d.ts +5 -0
  47. package/dist/components/accordion/index.js +4 -0
  48. package/dist/components/accordion/types.d.ts +15 -0
  49. package/dist/components/accordion/types.js +1 -0
  50. package/dist/components/alert/alert-action.svelte.d.ts +5 -0
  51. package/dist/components/alert/alert-description.svelte.d.ts +5 -0
  52. package/dist/components/alert/alert-title.svelte.d.ts +5 -0
  53. package/dist/components/alert/alert.svelte.d.ts +16 -0
  54. package/dist/components/alert/index.d.ts +6 -0
  55. package/dist/components/alert/index.js +8 -0
  56. package/dist/components/avatar/avatar.svelte.d.ts +64 -0
  57. package/dist/components/avatar/avatar.svelte.js +109 -0
  58. package/dist/components/avatar/components/avatar-fallback.svelte +41 -0
  59. package/dist/components/avatar/components/avatar-fallback.svelte.d.ts +4 -0
  60. package/dist/components/avatar/components/avatar-image.svelte +56 -0
  61. package/dist/components/avatar/components/avatar-image.svelte.d.ts +4 -0
  62. package/dist/components/avatar/components/avatar.svelte +61 -0
  63. package/dist/components/avatar/components/avatar.svelte.d.ts +4 -0
  64. package/dist/components/avatar/index.d.ts +4 -0
  65. package/dist/components/avatar/index.js +3 -0
  66. package/dist/components/avatar/types.d.ts +32 -0
  67. package/dist/components/avatar/types.js +1 -0
  68. package/dist/components/badge/badge.svelte.d.ts +20 -0
  69. package/dist/components/badge/index.js +1 -0
  70. package/dist/components/breadcrumb/breadcrumb-ellipsis.svelte.d.ts +5 -0
  71. package/dist/components/breadcrumb/breadcrumb-item.svelte.d.ts +5 -0
  72. package/dist/components/breadcrumb/breadcrumb-link.svelte.d.ts +11 -0
  73. package/dist/components/breadcrumb/breadcrumb-list.svelte.d.ts +5 -0
  74. package/dist/components/breadcrumb/breadcrumb-page.svelte.d.ts +5 -0
  75. package/dist/components/breadcrumb/breadcrumb-separator.svelte.d.ts +5 -0
  76. package/dist/components/breadcrumb/breadcrumb.svelte.d.ts +5 -0
  77. package/dist/components/breadcrumb/index.d.ts +8 -0
  78. package/dist/components/breadcrumb/index.js +10 -0
  79. package/dist/components/button/button.svelte.d.ts +13 -0
  80. package/dist/components/button/index.d.ts +2 -0
  81. package/dist/components/button/index.js +4 -0
  82. package/dist/components/button/variants.d.ts +34 -0
  83. package/dist/components/button/variants.js +39 -0
  84. package/dist/components/calendar/calendar.svelte.d.ts +414 -0
  85. package/dist/components/calendar/calendar.svelte.js +841 -0
  86. package/dist/components/calendar/components/calendar-cell.svelte.d.ts +4 -0
  87. package/dist/components/calendar/components/calendar-day.svelte.d.ts +4 -0
  88. package/dist/components/calendar/components/calendar-grid-body.svelte.d.ts +4 -0
  89. package/dist/components/calendar/components/calendar-grid-head.svelte.d.ts +4 -0
  90. package/dist/components/calendar/components/calendar-grid-row.svelte.d.ts +4 -0
  91. package/dist/components/calendar/components/calendar-grid.svelte.d.ts +4 -0
  92. package/dist/components/calendar/components/calendar-head-cell.svelte.d.ts +4 -0
  93. package/dist/components/calendar/components/calendar-header.svelte.d.ts +4 -0
  94. package/dist/components/calendar/components/calendar-heading.svelte.d.ts +4 -0
  95. package/dist/components/calendar/components/calendar-month-select.svelte.d.ts +4 -0
  96. package/dist/components/calendar/components/calendar-next-button.svelte.d.ts +4 -0
  97. package/dist/components/calendar/components/calendar-prev-button.svelte.d.ts +4 -0
  98. package/dist/components/calendar/components/calendar-year-select.svelte.d.ts +4 -0
  99. package/dist/components/calendar/components/calendar.svelte.d.ts +4 -0
  100. package/dist/components/calendar/exports.d.ts +15 -0
  101. package/dist/components/calendar/exports.js +14 -0
  102. package/dist/components/calendar/index.js +2 -0
  103. package/dist/components/calendar/types.d.ts +330 -0
  104. package/dist/components/calendar/types.js +1 -0
  105. package/dist/components/card/card-action.svelte.d.ts +5 -0
  106. package/dist/components/card/card-content.svelte.d.ts +5 -0
  107. package/dist/components/card/card-description.svelte.d.ts +5 -0
  108. package/dist/components/card/card-footer.svelte.d.ts +5 -0
  109. package/dist/components/card/card-header.svelte.d.ts +5 -0
  110. package/dist/components/card/card-title.svelte.d.ts +5 -0
  111. package/dist/components/card/card.svelte.d.ts +5 -0
  112. package/dist/components/card/index.d.ts +8 -0
  113. package/dist/components/card/index.js +10 -0
  114. package/dist/components/carousel/carousel-arrow.svelte.d.ts +8 -0
  115. package/dist/components/carousel/carousel-content.svelte.d.ts +5 -0
  116. package/dist/components/carousel/carousel-dots.svelte.d.ts +5 -0
  117. package/dist/components/carousel/carousel-item.svelte.d.ts +5 -0
  118. package/dist/components/carousel/carousel-next.svelte.d.ts +4 -0
  119. package/dist/components/carousel/carousel-previous.svelte.d.ts +4 -0
  120. package/dist/components/carousel/carousel.svelte.d.ts +13 -0
  121. package/dist/components/carousel/carouselState.svelte.d.ts +23 -0
  122. package/dist/components/carousel/carouselState.svelte.js +3 -0
  123. package/dist/components/carousel/index.d.ts +8 -0
  124. package/dist/components/carousel/index.js +9 -0
  125. package/dist/components/chart/chart-container.svelte.d.ts +9 -0
  126. package/dist/components/chart/chart-style.svelte.d.ts +8 -0
  127. package/dist/components/chart/chart-tooltip.svelte.d.ts +26 -0
  128. package/dist/components/chart/chart-utils.d.ts +34 -0
  129. package/dist/components/chart/chart-utils.js +30 -0
  130. package/dist/components/chart/index.d.ts +4 -0
  131. package/dist/components/chart/index.js +4 -0
  132. package/dist/components/checkbox/checkbox.svelte.d.ts +77 -0
  133. package/dist/components/checkbox/checkbox.svelte.js +146 -0
  134. package/dist/components/checkbox/components/checkbox-group-label.svelte +32 -0
  135. package/dist/components/checkbox/components/checkbox-group-label.svelte.d.ts +4 -0
  136. package/dist/components/checkbox/components/checkbox-group.svelte +59 -0
  137. package/dist/components/checkbox/components/checkbox-group.svelte.d.ts +4 -0
  138. package/dist/components/checkbox/components/checkbox.svelte +103 -0
  139. package/dist/components/checkbox/components/checkbox.svelte.d.ts +4 -0
  140. package/dist/components/checkbox/index.d.ts +4 -0
  141. package/dist/components/checkbox/index.js +3 -0
  142. package/dist/components/checkbox/types.d.ts +105 -0
  143. package/dist/components/checkbox/types.js +1 -0
  144. package/dist/components/checkbox-native/checkbox.svelte.d.ts +18 -0
  145. package/dist/components/checkbox-native/index.d.ts +3 -0
  146. package/dist/components/checkbox-native/index.js +4 -0
  147. package/dist/components/collapsible/components/collapsible-content.svelte.d.ts +4 -0
  148. package/dist/components/collapsible/components/collapsible-trigger.svelte.d.ts +4 -0
  149. package/dist/components/collapsible/components/collapsible.svelte.d.ts +4 -0
  150. package/dist/components/collapsible/index.d.ts +4 -0
  151. package/dist/components/collapsible/index.js +3 -0
  152. package/dist/components/collapsible/types.d.ts +22 -0
  153. package/dist/components/collapsible/types.js +1 -0
  154. package/dist/components/combobox/components/combobox-arrow.svelte.d.ts +3 -0
  155. package/dist/components/combobox/components/combobox-input.svelte.d.ts +4 -0
  156. package/dist/components/combobox/components/combobox-trigger.svelte.d.ts +4 -0
  157. package/dist/components/combobox/components/combobox.svelte.d.ts +3 -0
  158. package/dist/components/combobox/index.d.ts +15 -0
  159. package/dist/components/combobox/index.js +14 -0
  160. package/dist/components/combobox/select/components/select-content-static.svelte.d.ts +4 -0
  161. package/dist/components/combobox/select/components/select-content.svelte.d.ts +9 -0
  162. package/dist/components/combobox/select/components/select-group-heading.svelte.d.ts +8 -0
  163. package/dist/components/combobox/select/components/select-group.svelte.d.ts +8 -0
  164. package/dist/components/combobox/select/components/select-hidden-input.svelte.d.ts +7 -0
  165. package/dist/components/combobox/select/components/select-item.svelte.d.ts +8 -0
  166. package/dist/components/combobox/select/components/select-scroll-down-button.svelte.d.ts +4 -0
  167. package/dist/components/combobox/select/components/select-scroll-up-button.svelte.d.ts +4 -0
  168. package/dist/components/combobox/select/components/select-trigger.svelte.d.ts +4 -0
  169. package/dist/components/combobox/select/components/select-value.svelte.d.ts +4 -0
  170. package/dist/components/combobox/select/components/select-viewport.svelte.d.ts +4 -0
  171. package/dist/components/combobox/select/components/select.svelte.d.ts +3 -0
  172. package/dist/components/combobox/select/select.svelte.d.ts +467 -0
  173. package/dist/components/combobox/select/select.svelte.js +1323 -0
  174. package/dist/components/combobox/select/types.d.ts +226 -0
  175. package/dist/components/combobox/select/types.js +1 -0
  176. package/dist/components/combobox/types.d.ts +37 -0
  177. package/dist/components/combobox/types.js +1 -0
  178. package/dist/components/command/command-dialog.svelte.d.ts +13 -0
  179. package/dist/components/command/command.svelte.d.ts +360 -0
  180. package/dist/components/command/command.svelte.js +1231 -0
  181. package/dist/components/command/components/_command-label.svelte.d.ts +5 -0
  182. package/dist/components/command/components/command-empty.svelte.d.ts +4 -0
  183. package/dist/components/command/components/command-group-heading.svelte.d.ts +4 -0
  184. package/dist/components/command/components/command-group-items.svelte.d.ts +4 -0
  185. package/dist/components/command/components/command-group.svelte.d.ts +7 -0
  186. package/dist/components/command/components/command-input.svelte.d.ts +4 -0
  187. package/dist/components/command/components/command-item.svelte.d.ts +4 -0
  188. package/dist/components/command/components/command-link-item.svelte.d.ts +4 -0
  189. package/dist/components/command/components/command-list.svelte.d.ts +4 -0
  190. package/dist/components/command/components/command-loading.svelte.d.ts +4 -0
  191. package/dist/components/command/components/command-separator.svelte.d.ts +4 -0
  192. package/dist/components/command/components/command-viewport.svelte.d.ts +4 -0
  193. package/dist/components/command/components/command.svelte.d.ts +59 -0
  194. package/dist/components/command/compute-command-score.d.ts +26 -0
  195. package/dist/components/command/compute-command-score.js +160 -0
  196. package/dist/components/command/index.d.ts +14 -0
  197. package/dist/components/command/index.js +13 -0
  198. package/dist/components/command/types.d.ts +164 -0
  199. package/dist/components/command/types.js +1 -0
  200. package/dist/components/command/utils.d.ts +3 -0
  201. package/dist/components/command/utils.js +26 -0
  202. package/dist/components/context-menu/components/context-menu-content-static.svelte.d.ts +4 -0
  203. package/dist/components/context-menu/components/context-menu-content.svelte.d.ts +3 -0
  204. package/dist/components/context-menu/components/context-menu-trigger.svelte.d.ts +4 -0
  205. package/dist/components/context-menu/components/context-menu.svelte.d.ts +3 -0
  206. package/dist/components/context-menu/index.d.ts +19 -0
  207. package/dist/components/context-menu/index.js +18 -0
  208. package/dist/components/context-menu/types.d.ts +15 -0
  209. package/dist/components/context-menu/types.js +1 -0
  210. package/dist/components/data-table/column-helpers.d.ts +35 -0
  211. package/dist/components/data-table/column-helpers.js +57 -0
  212. package/dist/components/data-table/data-table-checkbox.svelte.d.ts +12 -0
  213. package/dist/components/data-table/data-table-sort-button.svelte.d.ts +8 -0
  214. package/dist/components/data-table/flex-render.svelte.d.ts +33 -0
  215. package/dist/components/data-table/index.d.ts +18 -0
  216. package/dist/components/data-table/index.js +17 -0
  217. package/dist/components/data-table/render-helpers.d.ts +90 -0
  218. package/dist/components/data-table/render-helpers.js +95 -0
  219. package/dist/components/data-table/table-cell.svelte.d.ts +4 -0
  220. package/dist/components/data-table/table-column-header.svelte.d.ts +29 -0
  221. package/dist/components/data-table/table-content.svelte +62 -0
  222. package/dist/components/data-table/table-content.svelte.d.ts +32 -0
  223. package/dist/components/data-table/table-faceted-filter.svelte.d.ts +35 -0
  224. package/dist/components/data-table/table-pagination.svelte.d.ts +28 -0
  225. package/dist/components/data-table/table-priority-cell.svelte.d.ts +12 -0
  226. package/dist/components/data-table/table-row-actions.svelte.d.ts +32 -0
  227. package/dist/components/data-table/table-status-cell.svelte.d.ts +16 -0
  228. package/dist/components/data-table/table-title-cell.svelte.d.ts +11 -0
  229. package/dist/components/data-table/table-toolbar.svelte.d.ts +40 -0
  230. package/dist/components/data-table/table-view-options.svelte.d.ts +27 -0
  231. package/dist/components/data-table/text.svelte +7 -0
  232. package/dist/components/data-table/text.svelte.d.ts +23 -0
  233. package/dist/components/date-field/components/date-field-hidden-input.svelte.d.ts +18 -0
  234. package/dist/components/date-field/components/date-field-input.svelte.d.ts +4 -0
  235. package/dist/components/date-field/components/date-field-label.svelte.d.ts +4 -0
  236. package/dist/components/date-field/components/date-field-segment.svelte.d.ts +4 -0
  237. package/dist/components/date-field/components/date-field.svelte.d.ts +3 -0
  238. package/dist/components/date-field/date-field.svelte.d.ts +464 -0
  239. package/dist/components/date-field/date-field.svelte.js +1221 -0
  240. package/dist/components/date-field/index.d.ts +5 -0
  241. package/dist/components/date-field/index.js +4 -0
  242. package/dist/components/date-field/types.d.ts +141 -0
  243. package/dist/components/date-field/types.js +1 -0
  244. package/dist/components/date-range-field/components/date-range-field-input.svelte.d.ts +4 -0
  245. package/dist/components/date-range-field/components/date-range-field-label.svelte.d.ts +4 -0
  246. package/dist/components/date-range-field/components/date-range-field.svelte.d.ts +4 -0
  247. package/dist/components/date-range-field/date-range-field.svelte.d.ts +93 -0
  248. package/dist/components/date-range-field/date-range-field.svelte.js +146 -0
  249. package/dist/components/date-range-field/index.d.ts +5 -0
  250. package/dist/components/date-range-field/index.js +4 -0
  251. package/dist/components/date-range-field/types.d.ts +142 -0
  252. package/dist/components/date-range-field/types.js +1 -0
  253. package/dist/components/dialog/components/dialog-close.svelte +36 -0
  254. package/dist/components/dialog/components/dialog-close.svelte.d.ts +3 -0
  255. package/dist/components/dialog/components/dialog-content-headless.svelte +107 -0
  256. package/dist/components/dialog/components/dialog-content-headless.svelte.d.ts +4 -0
  257. package/dist/components/dialog/components/dialog-content.svelte.d.ts +8 -0
  258. package/dist/components/dialog/components/dialog-description.svelte +32 -0
  259. package/dist/components/dialog/components/dialog-description.svelte.d.ts +4 -0
  260. package/dist/components/dialog/components/dialog-overlay.svelte +34 -0
  261. package/dist/components/dialog/components/dialog-overlay.svelte.d.ts +4 -0
  262. package/dist/components/dialog/components/dialog-title.svelte +35 -0
  263. package/dist/components/dialog/components/dialog-title.svelte.d.ts +4 -0
  264. package/dist/components/dialog/components/dialog-trigger.svelte +35 -0
  265. package/dist/components/dialog/components/dialog-trigger.svelte.d.ts +4 -0
  266. package/dist/components/dialog/components/dialog.svelte +27 -0
  267. package/dist/components/dialog/components/dialog.svelte.d.ts +3 -0
  268. package/dist/components/dialog/components/modal-surface.svelte +134 -0
  269. package/dist/components/dialog/components/modal-surface.svelte.d.ts +9 -0
  270. package/dist/components/dialog/dialog.svelte.d.ts +164 -0
  271. package/dist/components/dialog/dialog.svelte.js +286 -0
  272. package/dist/components/dialog/index.d.ts +9 -0
  273. package/dist/components/dialog/index.js +8 -0
  274. package/dist/components/dialog/types.d.ts +60 -0
  275. package/dist/components/dialog/types.js +1 -0
  276. package/dist/components/drawer/drawer-close.svelte.d.ts +3 -0
  277. package/dist/components/drawer/drawer-content.svelte.d.ts +11 -0
  278. package/dist/components/drawer/drawer-description.svelte.d.ts +4 -0
  279. package/dist/components/drawer/drawer-footer.svelte.d.ts +5 -0
  280. package/dist/components/drawer/drawer-header.svelte.d.ts +5 -0
  281. package/dist/components/drawer/drawer-nested.svelte.d.ts +11 -0
  282. package/dist/components/drawer/drawer-overlay.svelte.d.ts +5 -0
  283. package/dist/components/drawer/drawer-portal.svelte.d.ts +3 -0
  284. package/dist/components/drawer/drawer-title.svelte.d.ts +4 -0
  285. package/dist/components/drawer/drawer-trigger.svelte.d.ts +4 -0
  286. package/dist/components/drawer/drawer.svelte +295 -0
  287. package/dist/components/drawer/drawer.svelte.d.ts +20 -0
  288. package/dist/components/drawer/index.d.ts +12 -0
  289. package/dist/components/drawer/index.js +14 -0
  290. package/dist/components/dropdown-menu/components/dropdown-menu-content-static.svelte.d.ts +4 -0
  291. package/dist/components/dropdown-menu/components/dropdown-menu-content.svelte.d.ts +4 -0
  292. package/dist/components/dropdown-menu/index.d.ts +19 -0
  293. package/dist/components/dropdown-menu/index.js +18 -0
  294. package/dist/components/dropdown-menu/types.d.ts +2 -0
  295. package/dist/components/dropdown-menu/types.js +1 -0
  296. package/dist/components/empty/empty-content.svelte.d.ts +5 -0
  297. package/dist/components/empty/empty-description.svelte.d.ts +5 -0
  298. package/dist/components/empty/empty-header.svelte.d.ts +5 -0
  299. package/dist/components/empty/empty-media.svelte.d.ts +10 -0
  300. package/dist/components/empty/empty-title.svelte.d.ts +5 -0
  301. package/dist/components/empty/empty.svelte.d.ts +5 -0
  302. package/dist/components/empty/index.d.ts +7 -0
  303. package/dist/components/empty/index.js +9 -0
  304. package/dist/components/empty/variants.d.ts +8 -0
  305. package/dist/components/empty/variants.js +13 -0
  306. package/dist/components/field/field-content.svelte.d.ts +5 -0
  307. package/dist/components/field/field-description.svelte.d.ts +5 -0
  308. package/dist/components/field/field-error.svelte.d.ts +12 -0
  309. package/dist/components/field/field-group.svelte.d.ts +5 -0
  310. package/dist/components/field/field-label.svelte.d.ts +10 -0
  311. package/dist/components/field/field-legend.svelte.d.ts +8 -0
  312. package/dist/components/field/field-separator.svelte.d.ts +10 -0
  313. package/dist/components/field/field-set.svelte.d.ts +5 -0
  314. package/dist/components/field/field-title.svelte.d.ts +5 -0
  315. package/dist/components/field/field.svelte.d.ts +17 -0
  316. package/dist/components/field/index.d.ts +11 -0
  317. package/dist/components/field/index.js +13 -0
  318. package/dist/components/field/variants.d.ts +9 -0
  319. package/dist/components/field/variants.js +14 -0
  320. package/dist/components/input/file-input.svelte.d.ts +9 -0
  321. package/dist/components/input/index.d.ts +4 -0
  322. package/dist/components/input/index.js +6 -0
  323. package/dist/components/input/input.svelte.d.ts +9 -0
  324. package/dist/components/input/variants.d.ts +17 -0
  325. package/dist/components/input/variants.js +22 -0
  326. package/dist/components/item/index.d.ts +11 -0
  327. package/dist/components/item/index.js +13 -0
  328. package/dist/components/item/item-actions.svelte.d.ts +5 -0
  329. package/dist/components/item/item-content.svelte.d.ts +5 -0
  330. package/dist/components/item/item-description.svelte.d.ts +5 -0
  331. package/dist/components/item/item-footer.svelte.d.ts +5 -0
  332. package/dist/components/item/item-group.svelte.d.ts +5 -0
  333. package/dist/components/item/item-header.svelte.d.ts +5 -0
  334. package/dist/components/item/item-media.svelte.d.ts +17 -0
  335. package/dist/components/item/item-separator.svelte.d.ts +13 -0
  336. package/dist/components/item/item-title.svelte.d.ts +5 -0
  337. package/dist/components/item/item.svelte.d.ts +28 -0
  338. package/dist/components/kbd/index.d.ts +3 -0
  339. package/dist/components/kbd/index.js +5 -0
  340. package/dist/components/kbd/kbd-group.svelte.d.ts +5 -0
  341. package/dist/components/kbd/kbd.svelte.d.ts +5 -0
  342. package/dist/components/label/exports.js +1 -0
  343. package/dist/components/label/index.js +2 -0
  344. package/dist/components/label/label.svelte.d.ts +4 -0
  345. package/dist/components/label/label.svelte.js +28 -0
  346. package/dist/components/label/types.d.ts +4 -0
  347. package/dist/components/label/types.js +1 -0
  348. package/dist/components/link-preview/components/link-preview-content.svelte +67 -0
  349. package/dist/components/link-preview/components/link-preview-content.svelte.d.ts +4 -0
  350. package/dist/components/link-preview/components/link-preview-trigger.svelte +32 -0
  351. package/dist/components/link-preview/components/link-preview-trigger.svelte.d.ts +4 -0
  352. package/dist/components/link-preview/components/link-preview.svelte +42 -0
  353. package/dist/components/link-preview/components/link-preview.svelte.d.ts +3 -0
  354. package/dist/components/link-preview/exports.d.ts +5 -0
  355. package/dist/components/link-preview/exports.js +4 -0
  356. package/dist/components/link-preview/index.js +2 -0
  357. package/dist/components/link-preview/link-preview.svelte.d.ts +78 -0
  358. package/dist/components/link-preview/link-preview.svelte.js +212 -0
  359. package/dist/components/link-preview/types.d.ts +68 -0
  360. package/dist/components/link-preview/types.js +1 -0
  361. package/dist/components/menu/components/menu-arrow.svelte.d.ts +3 -0
  362. package/dist/components/menu/components/menu-checkbox-group.svelte.d.ts +4 -0
  363. package/dist/components/menu/components/menu-checkbox-item.svelte.d.ts +4 -0
  364. package/dist/components/menu/components/menu-content.svelte.d.ts +7 -0
  365. package/dist/components/menu/components/menu-group-heading.svelte.d.ts +7 -0
  366. package/dist/components/menu/components/menu-group.svelte.d.ts +4 -0
  367. package/dist/components/menu/components/menu-item.svelte.d.ts +8 -0
  368. package/dist/components/menu/components/menu-radio-group.svelte.d.ts +4 -0
  369. package/dist/components/menu/components/menu-radio-item.svelte.d.ts +4 -0
  370. package/dist/components/menu/components/menu-separator.svelte.d.ts +4 -0
  371. package/dist/components/menu/components/menu-sub-content-static.svelte.d.ts +4 -0
  372. package/dist/components/menu/components/menu-sub-content.svelte.d.ts +7 -0
  373. package/dist/components/menu/components/menu-sub-trigger.svelte.d.ts +7 -0
  374. package/dist/components/menu/components/menu-sub.svelte.d.ts +3 -0
  375. package/dist/components/menu/components/menu-trigger.svelte.d.ts +4 -0
  376. package/dist/components/menu/components/menu.svelte.d.ts +8 -0
  377. package/dist/components/menu/exports.d.ts +18 -0
  378. package/dist/components/menu/exports.js +17 -0
  379. package/dist/components/menu/menu.svelte.d.ts +450 -0
  380. package/dist/components/menu/menu.svelte.js +1281 -0
  381. package/dist/components/menu/types.d.ts +195 -0
  382. package/dist/components/menu/types.js +1 -0
  383. package/dist/components/menu/utils.d.ts +20 -0
  384. package/dist/components/menu/utils.js +54 -0
  385. package/dist/components/menubar/components/menubar-content-static.svelte.d.ts +4 -0
  386. package/dist/components/menubar/components/menubar-content.svelte.d.ts +4 -0
  387. package/dist/components/menubar/components/menubar-menu.svelte.d.ts +3 -0
  388. package/dist/components/menubar/components/menubar-trigger.svelte.d.ts +4 -0
  389. package/dist/components/menubar/components/menubar.svelte.d.ts +4 -0
  390. package/dist/components/menubar/exports.d.ts +21 -0
  391. package/dist/components/menubar/exports.js +19 -0
  392. package/dist/components/menubar/index.js +2 -0
  393. package/dist/components/menubar/menubar.svelte.d.ts +138 -0
  394. package/dist/components/menubar/menubar.svelte.js +312 -0
  395. package/dist/components/menubar/types.d.ts +49 -0
  396. package/dist/components/menubar/types.js +1 -0
  397. package/dist/components/meter/components/meter.svelte +50 -0
  398. package/dist/components/meter/components/meter.svelte.d.ts +4 -0
  399. package/dist/components/meter/exports.js +1 -0
  400. package/dist/components/meter/index.js +2 -0
  401. package/dist/components/meter/meter.svelte.d.ts +23 -0
  402. package/dist/components/meter/meter.svelte.js +29 -0
  403. package/dist/components/meter/types.d.ts +23 -0
  404. package/dist/components/meter/types.js +1 -0
  405. package/dist/components/navigation-menu/components/navigation-menu-content-impl.svelte.d.ts +14 -0
  406. package/dist/components/navigation-menu/components/navigation-menu-content.svelte.d.ts +8 -0
  407. package/dist/components/navigation-menu/components/navigation-menu-indicator-impl.svelte.d.ts +4 -0
  408. package/dist/components/navigation-menu/components/navigation-menu-indicator.svelte.d.ts +8 -0
  409. package/dist/components/navigation-menu/components/navigation-menu-item.svelte.d.ts +8 -0
  410. package/dist/components/navigation-menu/components/navigation-menu-link.svelte.d.ts +8 -0
  411. package/dist/components/navigation-menu/components/navigation-menu-list.svelte.d.ts +8 -0
  412. package/dist/components/navigation-menu/components/navigation-menu-sub.svelte.d.ts +4 -0
  413. package/dist/components/navigation-menu/components/navigation-menu-trigger.svelte.d.ts +9 -0
  414. package/dist/components/navigation-menu/components/navigation-menu-viewport.svelte.d.ts +8 -0
  415. package/dist/components/navigation-menu/components/navigation-menu.svelte.d.ts +9 -0
  416. package/dist/components/navigation-menu/index.d.ts +9 -0
  417. package/dist/components/navigation-menu/index.js +11 -0
  418. package/dist/components/navigation-menu/navigation-menu.svelte.d.ts +359 -0
  419. package/dist/components/navigation-menu/navigation-menu.svelte.js +859 -0
  420. package/dist/components/navigation-menu/types.d.ts +134 -0
  421. package/dist/components/navigation-menu/types.js +1 -0
  422. package/dist/components/pagination/components/pagination-next-button.svelte.d.ts +4 -0
  423. package/dist/components/pagination/components/pagination-page.svelte.d.ts +8 -0
  424. package/dist/components/pagination/components/pagination-prev-button.svelte.d.ts +4 -0
  425. package/dist/components/pagination/components/pagination.svelte.d.ts +4 -0
  426. package/dist/components/pagination/index.d.ts +5 -0
  427. package/dist/components/pagination/index.js +4 -0
  428. package/dist/components/pagination/pagination.svelte.d.ts +84 -0
  429. package/dist/components/pagination/pagination.svelte.js +201 -0
  430. package/dist/components/pagination/types.d.ts +76 -0
  431. package/dist/components/pagination/types.js +1 -0
  432. package/dist/components/pin-input/components/pin-input-cell.svelte.d.ts +4 -0
  433. package/dist/components/pin-input/components/pin-input.svelte.d.ts +4 -0
  434. package/dist/components/pin-input/exports.d.ts +3 -0
  435. package/dist/components/pin-input/exports.js +2 -0
  436. package/dist/components/pin-input/index.js +2 -0
  437. package/dist/components/pin-input/pin-input.svelte.d.ts +120 -0
  438. package/dist/components/pin-input/pin-input.svelte.js +417 -0
  439. package/dist/components/pin-input/types.d.ts +88 -0
  440. package/dist/components/pin-input/types.js +1 -0
  441. package/dist/components/pin-input/usePasswordManager.svelte.d.ts +15 -0
  442. package/dist/components/pin-input/usePasswordManager.svelte.js +90 -0
  443. package/dist/components/popover/components/popover-close.svelte +41 -0
  444. package/dist/components/popover/components/popover-close.svelte.d.ts +4 -0
  445. package/dist/components/popover/components/popover-content.svelte +75 -0
  446. package/dist/components/popover/components/popover-content.svelte.d.ts +4 -0
  447. package/dist/components/popover/components/popover-header.svelte.d.ts +5 -0
  448. package/dist/components/popover/components/popover-title.svelte.d.ts +5 -0
  449. package/dist/components/popover/components/popover-trigger.svelte +55 -0
  450. package/dist/components/popover/components/popover-trigger.svelte.d.ts +4 -0
  451. package/dist/components/popover/components/popover.svelte +27 -0
  452. package/dist/components/popover/components/popover.svelte.d.ts +3 -0
  453. package/dist/components/popover/exports.d.ts +6 -0
  454. package/dist/components/popover/exports.js +5 -0
  455. package/dist/components/popover/index.js +2 -0
  456. package/dist/components/popover/popover.svelte.d.ts +103 -0
  457. package/dist/components/popover/popover.svelte.js +301 -0
  458. package/dist/components/popover/types.d.ts +69 -0
  459. package/dist/components/popover/types.js +1 -0
  460. package/dist/components/progress/components/progress.svelte +65 -0
  461. package/dist/components/progress/components/progress.svelte.d.ts +4 -0
  462. package/dist/components/progress/exports.d.ts +2 -0
  463. package/dist/components/progress/exports.js +1 -0
  464. package/dist/components/progress/index.js +2 -0
  465. package/dist/components/progress/progress.svelte.d.ts +26 -0
  466. package/dist/components/progress/progress.svelte.js +44 -0
  467. package/dist/components/progress/types.d.ts +24 -0
  468. package/dist/components/progress/types.js +1 -0
  469. package/dist/components/radio-group/context.d.ts +10 -0
  470. package/dist/components/radio-group/context.js +2 -0
  471. package/dist/components/radio-group/index.d.ts +5 -0
  472. package/dist/components/radio-group/index.js +3 -0
  473. package/dist/components/radio-group/radio-group-item.svelte.d.ts +11 -0
  474. package/dist/components/radio-group/radio-group.svelte.d.ts +19 -0
  475. package/dist/components/range-calendar/components/range-calendar-cell.svelte.d.ts +4 -0
  476. package/dist/components/range-calendar/components/range-calendar-day.svelte.d.ts +4 -0
  477. package/dist/components/range-calendar/components/range-calendar.svelte.d.ts +4 -0
  478. package/dist/components/range-calendar/exports.d.ts +15 -0
  479. package/dist/components/range-calendar/exports.js +14 -0
  480. package/dist/components/range-calendar/index.js +2 -0
  481. package/dist/components/range-calendar/range-calendar.svelte.d.ts +232 -0
  482. package/dist/components/range-calendar/range-calendar.svelte.js +582 -0
  483. package/dist/components/range-calendar/types.d.ts +200 -0
  484. package/dist/components/range-calendar/types.js +1 -0
  485. package/dist/components/resizable/index.d.ts +5 -0
  486. package/dist/components/resizable/index.js +6 -0
  487. package/dist/components/resizable/resizable-handle.svelte.d.ts +8 -0
  488. package/dist/components/resizable/resizable-pane-group.svelte.d.ts +7 -0
  489. package/dist/components/scroll-area/components/scroll-area-corner-impl.svelte.d.ts +7 -0
  490. package/dist/components/scroll-area/components/scroll-area-corner.svelte.d.ts +4 -0
  491. package/dist/components/scroll-area/components/scroll-area-scrollbar-auto.svelte.d.ts +4 -0
  492. package/dist/components/scroll-area/components/scroll-area-scrollbar-hover.svelte.d.ts +4 -0
  493. package/dist/components/scroll-area/components/scroll-area-scrollbar-scroll.svelte.d.ts +4 -0
  494. package/dist/components/scroll-area/components/scroll-area-scrollbar-shared.svelte.d.ts +4 -0
  495. package/dist/components/scroll-area/components/scroll-area-scrollbar-visible.svelte.d.ts +4 -0
  496. package/dist/components/scroll-area/components/scroll-area-scrollbar-x.svelte.d.ts +4 -0
  497. package/dist/components/scroll-area/components/scroll-area-scrollbar-y.svelte.d.ts +4 -0
  498. package/dist/components/scroll-area/components/scroll-area-scrollbar.svelte.d.ts +4 -0
  499. package/dist/components/scroll-area/components/scroll-area-thumb-impl.svelte.d.ts +8 -0
  500. package/dist/components/scroll-area/components/scroll-area-thumb.svelte.d.ts +4 -0
  501. package/dist/components/scroll-area/components/scroll-area-viewport.svelte.d.ts +4 -0
  502. package/dist/components/scroll-area/components/scroll-area.svelte.d.ts +11 -0
  503. package/dist/components/scroll-area/exports.d.ts +6 -0
  504. package/dist/components/scroll-area/exports.js +5 -0
  505. package/dist/components/scroll-area/index.js +2 -0
  506. package/dist/components/scroll-area/scroll-area.svelte.d.ts +368 -0
  507. package/dist/components/scroll-area/scroll-area.svelte.js +750 -0
  508. package/dist/components/scroll-area/types.d.ts +47 -0
  509. package/dist/components/scroll-area/types.js +1 -0
  510. package/dist/components/select/index.d.ts +4 -0
  511. package/dist/components/select/index.js +4 -0
  512. package/dist/components/select/select-opt-group.svelte.d.ts +5 -0
  513. package/dist/components/select/select-option.svelte.d.ts +5 -0
  514. package/dist/components/select/select.svelte.d.ts +22 -0
  515. package/dist/components/separator/components/separator.svelte +56 -0
  516. package/dist/components/separator/components/separator.svelte.d.ts +4 -0
  517. package/dist/components/separator/index.d.ts +2 -0
  518. package/dist/components/separator/index.js +1 -0
  519. package/dist/components/separator/separator.svelte.d.ts +20 -0
  520. package/dist/components/separator/separator.svelte.js +26 -0
  521. package/dist/components/separator/types.d.ts +18 -0
  522. package/dist/components/separator/types.js +1 -0
  523. package/dist/components/sheet/components/sheet-close.svelte.d.ts +3 -0
  524. package/dist/components/sheet/components/sheet-content.svelte.d.ts +11 -0
  525. package/dist/components/sheet/components/sheet-description.svelte.d.ts +4 -0
  526. package/dist/components/sheet/components/sheet-footer.svelte.d.ts +5 -0
  527. package/dist/components/sheet/components/sheet-header.svelte.d.ts +5 -0
  528. package/dist/components/sheet/components/sheet-overlay.svelte.d.ts +4 -0
  529. package/dist/components/sheet/components/sheet-title.svelte.d.ts +4 -0
  530. package/dist/components/sheet/components/sheet-trigger.svelte.d.ts +4 -0
  531. package/dist/components/sheet/index.d.ts +13 -0
  532. package/dist/components/sheet/index.js +14 -0
  533. package/dist/components/sheet/variants.d.ts +10 -0
  534. package/dist/components/sheet/variants.js +17 -0
  535. package/dist/components/sidebar/constants.d.ts +6 -0
  536. package/dist/components/sidebar/context.svelte.d.ts +36 -0
  537. package/dist/components/sidebar/context.svelte.js +48 -0
  538. package/dist/components/sidebar/index.d.ts +26 -0
  539. package/dist/components/sidebar/index.js +27 -0
  540. package/dist/components/sidebar/sidebar-content.svelte.d.ts +5 -0
  541. package/dist/components/sidebar/sidebar-desktop-surface.svelte.d.ts +9 -0
  542. package/dist/components/sidebar/sidebar-footer.svelte.d.ts +5 -0
  543. package/dist/components/sidebar/sidebar-group-action.svelte.d.ts +11 -0
  544. package/dist/components/sidebar/sidebar-group-content.svelte.d.ts +5 -0
  545. package/dist/components/sidebar/sidebar-group-label.svelte.d.ts +11 -0
  546. package/dist/components/sidebar/sidebar-group.svelte.d.ts +5 -0
  547. package/dist/components/sidebar/sidebar-header.svelte.d.ts +5 -0
  548. package/dist/components/sidebar/sidebar-input.svelte.d.ts +8 -0
  549. package/dist/components/sidebar/sidebar-inset.svelte.d.ts +5 -0
  550. package/dist/components/sidebar/sidebar-menu-action.svelte.d.ts +12 -0
  551. package/dist/components/sidebar/sidebar-menu-badge.svelte.d.ts +5 -0
  552. package/dist/components/sidebar/sidebar-menu-button.svelte.d.ts +31 -0
  553. package/dist/components/sidebar/sidebar-menu-item.svelte.d.ts +5 -0
  554. package/dist/components/sidebar/sidebar-menu-skeleton.svelte.d.ts +8 -0
  555. package/dist/components/sidebar/sidebar-menu-sub-button.svelte.d.ts +13 -0
  556. package/dist/components/sidebar/sidebar-menu-sub-item.svelte.d.ts +5 -0
  557. package/dist/components/sidebar/sidebar-menu-sub.svelte.d.ts +5 -0
  558. package/dist/components/sidebar/sidebar-menu.svelte.d.ts +5 -0
  559. package/dist/components/sidebar/sidebar-mobile-surface.svelte +58 -0
  560. package/dist/components/sidebar/sidebar-mobile-surface.svelte.d.ts +8 -0
  561. package/dist/components/sidebar/sidebar-provider.svelte.d.ts +15 -0
  562. package/dist/components/sidebar/sidebar-rail.svelte.d.ts +5 -0
  563. package/dist/components/sidebar/sidebar-separator.svelte.d.ts +13 -0
  564. package/dist/components/sidebar/sidebar-trigger.svelte.d.ts +8 -0
  565. package/dist/components/sidebar/sidebar.svelte.d.ts +4 -0
  566. package/dist/components/sidebar/types.d.ts +12 -0
  567. package/dist/components/sidebar/types.js +1 -0
  568. package/dist/components/skeleton/index.d.ts +2 -0
  569. package/dist/components/skeleton/index.js +4 -0
  570. package/dist/components/skeleton/skeleton.svelte.d.ts +5 -0
  571. package/dist/components/slider/components/slider-range.svelte.d.ts +4 -0
  572. package/dist/components/slider/components/slider-thumb-label.svelte.d.ts +4 -0
  573. package/dist/components/slider/components/slider-thumb.svelte.d.ts +4 -0
  574. package/dist/components/slider/components/slider-tick-label.svelte.d.ts +4 -0
  575. package/dist/components/slider/components/slider-tick.svelte.d.ts +4 -0
  576. package/dist/components/slider/components/slider.svelte.d.ts +4 -0
  577. package/dist/components/slider/helpers.d.ts +22 -0
  578. package/dist/components/slider/helpers.js +225 -0
  579. package/dist/components/slider/index.d.ts +7 -0
  580. package/dist/components/slider/index.js +6 -0
  581. package/dist/components/slider/slider.svelte.d.ts +1370 -0
  582. package/dist/components/slider/slider.svelte.js +772 -0
  583. package/dist/components/slider/types.d.ts +233 -0
  584. package/dist/components/slider/types.js +1 -0
  585. package/dist/components/sonner/Toast.svelte.d.ts +4 -0
  586. package/dist/components/sonner/Toaster.svelte +603 -0
  587. package/dist/components/sonner/Toaster.svelte.d.ts +4 -0
  588. package/dist/components/sonner/index.d.ts +21 -0
  589. package/dist/components/sonner/index.js +12 -0
  590. package/dist/components/sonner/toast-state.svelte.d.ts +43 -0
  591. package/dist/components/sonner/toast-state.svelte.js +164 -0
  592. package/dist/components/sonner/types.d.ts +326 -0
  593. package/dist/components/sonner/types.js +1 -0
  594. package/dist/components/switch/index.d.ts +3 -0
  595. package/dist/components/switch/index.js +4 -0
  596. package/dist/components/switch/switch.svelte.d.ts +15 -0
  597. package/dist/components/table/index.d.ts +9 -0
  598. package/dist/components/table/index.js +11 -0
  599. package/dist/components/table/table-body.svelte.d.ts +5 -0
  600. package/dist/components/table/table-caption.svelte.d.ts +5 -0
  601. package/dist/components/table/table-cell.svelte.d.ts +5 -0
  602. package/dist/components/table/table-footer.svelte.d.ts +5 -0
  603. package/dist/components/table/table-head.svelte.d.ts +5 -0
  604. package/dist/components/table/table-header.svelte.d.ts +5 -0
  605. package/dist/components/table/table-row.svelte.d.ts +5 -0
  606. package/dist/components/table/table.svelte.d.ts +5 -0
  607. package/dist/components/tabs/components/tabs-content.svelte.d.ts +4 -0
  608. package/dist/components/tabs/components/tabs-list.svelte.d.ts +4 -0
  609. package/dist/components/tabs/components/tabs-trigger.svelte.d.ts +4 -0
  610. package/dist/components/tabs/components/tabs.svelte.d.ts +4 -0
  611. package/dist/components/tabs/index.d.ts +5 -0
  612. package/dist/components/tabs/index.js +4 -0
  613. package/dist/components/tabs/tabs.svelte.d.ts +96 -0
  614. package/dist/components/tabs/tabs.svelte.js +183 -0
  615. package/dist/components/tabs/types.d.ts +64 -0
  616. package/dist/components/tabs/types.js +1 -0
  617. package/dist/components/textarea/index.d.ts +2 -0
  618. package/dist/components/textarea/index.js +4 -0
  619. package/dist/components/textarea/textarea.svelte.d.ts +5 -0
  620. package/dist/components/theme-toggle/index.d.ts +4 -0
  621. package/dist/components/theme-toggle/index.js +3 -0
  622. package/dist/components/theme-toggle/theme-toggle.svelte.d.ts +7 -0
  623. package/dist/components/theme-toggle/theme.svelte.d.ts +18 -0
  624. package/dist/components/theme-toggle/theme.svelte.js +70 -0
  625. package/dist/components/time-field/components/time-field-hidden-input.svelte.d.ts +18 -0
  626. package/dist/components/time-field/components/time-field-input.svelte.d.ts +4 -0
  627. package/dist/components/time-field/components/time-field-label.svelte.d.ts +4 -0
  628. package/dist/components/time-field/components/time-field-segment.svelte.d.ts +4 -0
  629. package/dist/components/time-field/components/time-field.svelte.d.ts +27 -0
  630. package/dist/components/time-field/index.d.ts +5 -0
  631. package/dist/components/time-field/index.js +4 -0
  632. package/dist/components/time-field/time-field.svelte.d.ts +430 -0
  633. package/dist/components/time-field/time-field.svelte.js +975 -0
  634. package/dist/components/time-field/types.d.ts +137 -0
  635. package/dist/components/time-field/types.js +1 -0
  636. package/dist/components/time-range-field/components/time-range-field-input.svelte.d.ts +4 -0
  637. package/dist/components/time-range-field/components/time-range-field-label.svelte.d.ts +4 -0
  638. package/dist/components/time-range-field/components/time-range-field.svelte.d.ts +27 -0
  639. package/dist/components/time-range-field/index.d.ts +5 -0
  640. package/dist/components/time-range-field/index.js +4 -0
  641. package/dist/components/time-range-field/time-range-field.svelte.d.ts +98 -0
  642. package/dist/components/time-range-field/time-range-field.svelte.js +166 -0
  643. package/dist/components/time-range-field/types.d.ts +138 -0
  644. package/dist/components/time-range-field/types.js +1 -0
  645. package/dist/components/toggle/components/toggle.svelte +60 -0
  646. package/dist/components/toggle/components/toggle.svelte.d.ts +9 -0
  647. package/dist/components/toggle/index.js +2 -0
  648. package/dist/components/toggle/toggle.svelte.d.ts +26 -0
  649. package/dist/components/toggle/toggle.svelte.js +37 -0
  650. package/dist/components/toggle/types.d.ts +24 -0
  651. package/dist/components/toggle/types.js +1 -0
  652. package/dist/components/toggle/variants.d.ts +15 -0
  653. package/dist/components/toggle/variants.js +20 -0
  654. package/dist/components/toggle-group/components/toggle-group-item.svelte.d.ts +9 -0
  655. package/dist/components/toggle-group/components/toggle-group.svelte.d.ts +14 -0
  656. package/dist/components/toggle-group/index.d.ts +3 -0
  657. package/dist/components/toggle-group/index.js +2 -0
  658. package/dist/components/toggle-group/toggle-group.svelte.d.ts +35 -0
  659. package/dist/components/toggle-group/toggle-group.svelte.js +51 -0
  660. package/dist/components/toggle-group/types.d.ts +61 -0
  661. package/dist/components/toggle-group/types.js +1 -0
  662. package/dist/components/toolbar/components/toolbar-button.svelte.d.ts +9 -0
  663. package/dist/components/toolbar/components/toolbar-group-item.svelte.d.ts +9 -0
  664. package/dist/components/toolbar/components/toolbar-group.svelte.d.ts +4 -0
  665. package/dist/components/toolbar/components/toolbar-link.svelte.d.ts +4 -0
  666. package/dist/components/toolbar/components/toolbar.svelte.d.ts +4 -0
  667. package/dist/components/toolbar/index.d.ts +6 -0
  668. package/dist/components/toolbar/index.js +5 -0
  669. package/dist/components/toolbar/toolbar.svelte.d.ts +95 -0
  670. package/dist/components/toolbar/toolbar.svelte.js +154 -0
  671. package/dist/components/toolbar/types.d.ts +34 -0
  672. package/dist/components/toolbar/types.js +1 -0
  673. package/dist/components/tooltip/components/tooltip-content.svelte +88 -0
  674. package/dist/components/tooltip/components/tooltip-content.svelte.d.ts +9 -0
  675. package/dist/components/tooltip/components/tooltip-provider.svelte +37 -0
  676. package/dist/components/tooltip/components/tooltip-provider.svelte.d.ts +3 -0
  677. package/dist/components/tooltip/components/tooltip-trigger.svelte +59 -0
  678. package/dist/components/tooltip/components/tooltip-trigger.svelte.d.ts +25 -0
  679. package/dist/components/tooltip/components/tooltip.svelte +68 -0
  680. package/dist/components/tooltip/components/tooltip.svelte.d.ts +25 -0
  681. package/dist/components/tooltip/index.d.ts +8 -0
  682. package/dist/components/tooltip/index.js +6 -0
  683. package/dist/components/tooltip/tooltip.svelte.d.ts +161 -0
  684. package/dist/components/tooltip/tooltip.svelte.js +646 -0
  685. package/dist/components/tooltip/types.d.ts +143 -0
  686. package/dist/components/tooltip/types.js +1 -0
  687. package/dist/components/tooltip/utils.d.ts +1 -0
  688. package/dist/icons/google-icon.svelte.d.ts +3 -0
  689. package/dist/icons/google-workspace.svelte.d.ts +3 -0
  690. package/dist/icons/instagram.svelte.d.ts +3 -0
  691. package/dist/icons/instantly.svelte.d.ts +3 -0
  692. package/dist/icons/linkedin.svelte.d.ts +3 -0
  693. package/dist/icons/mailshake.svelte.d.ts +3 -0
  694. package/dist/icons/microsoft-365.svelte.d.ts +3 -0
  695. package/dist/icons/passcode.svelte.d.ts +3 -0
  696. package/dist/icons/replyio.svelte.d.ts +3 -0
  697. package/dist/icons/smartlead.svelte.d.ts +3 -0
  698. package/dist/icons/smtp.svelte.d.ts +3 -0
  699. package/dist/icons/x-logo.svelte.d.ts +3 -0
  700. package/dist/internal/animations-settled.svelte.d.ts +46 -0
  701. package/dist/internal/animations-settled.svelte.js +104 -0
  702. package/dist/internal/arrays.d.ts +96 -0
  703. package/dist/internal/arrays.js +229 -0
  704. package/dist/internal/attribute-types.d.ts +40 -0
  705. package/dist/internal/attribute-types.js +1 -0
  706. package/dist/internal/attrs.d.ts +28 -0
  707. package/dist/internal/attrs.js +34 -0
  708. package/dist/internal/body-scroll-lock.svelte.d.ts +51 -0
  709. package/dist/internal/body-scroll-lock.svelte.js +267 -0
  710. package/dist/internal/create-id.d.ts +8 -0
  711. package/dist/internal/create-id.js +5 -0
  712. package/dist/internal/date-time/announcer.d.ts +9 -0
  713. package/dist/internal/date-time/announcer.js +61 -0
  714. package/dist/internal/date-time/calendar-helpers.svelte.d.ts +124 -0
  715. package/dist/internal/date-time/calendar-helpers.svelte.js +263 -0
  716. package/dist/internal/date-time/field/helpers.d.ts +84 -0
  717. package/dist/internal/date-time/field/helpers.js +362 -0
  718. package/dist/internal/date-time/field/parts.d.ts +6 -0
  719. package/dist/internal/date-time/field/parts.js +15 -0
  720. package/dist/internal/date-time/field/range-field.svelte.d.ts +17 -0
  721. package/dist/internal/date-time/field/range-field.svelte.js +41 -0
  722. package/dist/internal/date-time/field/segments.d.ts +26 -0
  723. package/dist/internal/date-time/field/segments.js +81 -0
  724. package/dist/internal/date-time/field/time-helpers.d.ts +73 -0
  725. package/dist/internal/date-time/field/time-helpers.js +249 -0
  726. package/dist/internal/date-time/formatter.d.ts +32 -0
  727. package/dist/internal/date-time/formatter.js +53 -0
  728. package/dist/internal/date-time/placeholders.d.ts +8 -0
  729. package/dist/internal/date-time/placeholders.js +116 -0
  730. package/dist/internal/date-time/types.d.ts +100 -0
  731. package/dist/internal/date-time/types.js +1 -0
  732. package/dist/internal/date-time/utils.d.ts +76 -0
  733. package/dist/internal/date-time/utils.js +189 -0
  734. package/dist/internal/dismissible-layer/index.d.ts +2 -0
  735. package/dist/internal/dismissible-layer/index.js +1 -0
  736. package/dist/internal/dismissible-layer/scheduler.d.ts +27 -0
  737. package/dist/internal/dismissible-layer/scheduler.js +29 -0
  738. package/dist/internal/dismissible-layer/types.d.ts +49 -0
  739. package/dist/internal/dismissible-layer/types.js +1 -0
  740. package/dist/internal/dismissible-layer/use-dismissable-layer.svelte.d.ts +51 -0
  741. package/dist/internal/dismissible-layer/use-dismissable-layer.svelte.js +226 -0
  742. package/dist/internal/escape-layer/index.d.ts +2 -0
  743. package/dist/internal/escape-layer/index.js +1 -0
  744. package/dist/internal/escape-layer/types.d.ts +29 -0
  745. package/dist/internal/escape-layer/types.js +1 -0
  746. package/dist/internal/escape-layer/use-escape-layer.svelte.d.ts +29 -0
  747. package/dist/internal/escape-layer/use-escape-layer.svelte.js +56 -0
  748. package/dist/internal/floating-layer/components/floating-layer-arrow.svelte.d.ts +4 -0
  749. package/dist/internal/floating-layer/components/floating-layer-content-static.svelte.d.ts +10 -0
  750. package/dist/internal/floating-layer/components/floating-layer-content.svelte.d.ts +4 -0
  751. package/dist/internal/floating-layer/components/floating-layer.svelte.d.ts +8 -0
  752. package/dist/internal/floating-layer/components/index.d.ts +5 -0
  753. package/dist/internal/floating-layer/components/index.js +4 -0
  754. package/dist/internal/floating-layer/index.js +2 -0
  755. package/dist/internal/floating-layer/types.d.ts +110 -0
  756. package/dist/internal/floating-layer/types.js +1 -0
  757. package/dist/internal/floating-layer/use-floating-layer.svelte.d.ts +110 -0
  758. package/dist/internal/floating-layer/use-floating-layer.svelte.js +389 -0
  759. package/dist/internal/focus-scope/focus-scope.svelte.d.ts +16 -0
  760. package/dist/internal/focus-scope/focus-scope.svelte.js +261 -0
  761. package/dist/internal/focus-scope/index.d.ts +3 -0
  762. package/dist/internal/focus-scope/index.js +1 -0
  763. package/dist/internal/focus-scope/types.d.ts +39 -0
  764. package/dist/internal/focus-scope/types.js +1 -0
  765. package/dist/internal/focus.d.ts +1 -0
  766. package/dist/internal/focus.js +12 -0
  767. package/dist/internal/global-singleton.d.ts +7 -0
  768. package/dist/internal/global-singleton.js +10 -0
  769. package/dist/internal/group-value.svelte.d.ts +17 -0
  770. package/dist/internal/group-value.svelte.js +25 -0
  771. package/dist/internal/hover-intent-geometry.d.ts +34 -0
  772. package/dist/internal/hover-intent-geometry.js +76 -0
  773. package/dist/internal/index.d.ts +21 -0
  774. package/dist/internal/index.js +3 -0
  775. package/dist/internal/kbd.d.ts +57 -0
  776. package/dist/internal/kbd.js +56 -0
  777. package/dist/internal/layer-stack.d.ts +16 -0
  778. package/dist/internal/layer-stack.js +19 -0
  779. package/dist/internal/math.d.ts +1 -0
  780. package/dist/internal/math.js +9 -0
  781. package/dist/internal/merge-props.d.ts +5 -0
  782. package/dist/internal/merge-props.js +6 -0
  783. package/dist/internal/native-dialog-controller.svelte.d.ts +21 -0
  784. package/dist/internal/native-dialog-controller.svelte.js +82 -0
  785. package/dist/internal/native-popover.svelte.d.ts +50 -0
  786. package/dist/internal/native-popover.svelte.js +142 -0
  787. package/dist/internal/open-cell.svelte.d.ts +27 -0
  788. package/dist/internal/open-cell.svelte.js +41 -0
  789. package/dist/internal/paneforge/index.js +3 -0
  790. package/dist/internal/paneforge/internal/constants.d.ts +2 -0
  791. package/dist/internal/paneforge/internal/helpers.d.ts +64 -0
  792. package/dist/internal/paneforge/internal/helpers.js +251 -0
  793. package/dist/internal/paneforge/internal/types.d.ts +26 -0
  794. package/dist/internal/paneforge/internal/types.js +1 -0
  795. package/dist/internal/paneforge/internal/utils/adjust-layout.d.ts +14 -0
  796. package/dist/internal/paneforge/internal/utils/adjust-layout.js +101 -0
  797. package/dist/internal/paneforge/internal/utils/aria.d.ts +14 -0
  798. package/dist/internal/paneforge/internal/utils/aria.js +25 -0
  799. package/dist/internal/paneforge/internal/utils/compare.d.ts +11 -0
  800. package/dist/internal/paneforge/internal/utils/compare.js +12 -0
  801. package/dist/internal/paneforge/internal/utils/is.d.ts +4 -0
  802. package/dist/internal/paneforge/internal/utils/is.js +9 -0
  803. package/dist/internal/paneforge/internal/utils/resize.d.ts +7 -0
  804. package/dist/internal/paneforge/internal/utils/resize.js +18 -0
  805. package/dist/internal/paneforge/internal/utils/storage.d.ts +34 -0
  806. package/dist/internal/paneforge/internal/utils/storage.js +74 -0
  807. package/dist/internal/paneforge/internal/utils/style.d.ts +27 -0
  808. package/dist/internal/paneforge/internal/utils/style.js +76 -0
  809. package/dist/internal/paneforge/pane-group.svelte.d.ts +8 -0
  810. package/dist/internal/paneforge/pane-resizer.svelte.d.ts +4 -0
  811. package/dist/internal/paneforge/pane.svelte.d.ts +12 -0
  812. package/dist/internal/paneforge/paneforge.svelte.d.ts +147 -0
  813. package/dist/internal/paneforge/paneforge.svelte.js +650 -0
  814. package/dist/internal/paneforge/types.d.ts +152 -0
  815. package/dist/internal/paneforge/types.js +1 -0
  816. package/dist/internal/popper-layer/index.js +1 -0
  817. package/dist/internal/popper-layer/popper-content.svelte.d.ts +7 -0
  818. package/dist/internal/popper-layer/popper-layer-inner.svelte.d.ts +8 -0
  819. package/dist/internal/popper-layer/popper-layer.svelte.d.ts +4 -0
  820. package/dist/internal/popper-layer/types.d.ts +44 -0
  821. package/dist/internal/popper-layer/types.js +1 -0
  822. package/dist/internal/portal/index.js +1 -0
  823. package/dist/internal/portal/portal.svelte.d.ts +23 -0
  824. package/dist/internal/prop-resolvers.d.ts +4 -0
  825. package/dist/internal/prop-resolvers.js +7 -0
  826. package/dist/internal/roving-focus-group.svelte.d.ts +53 -0
  827. package/dist/internal/roving-focus-group.svelte.js +93 -0
  828. package/dist/internal/roving-focus-item.svelte.d.ts +21 -0
  829. package/dist/internal/roving-focus-item.svelte.js +27 -0
  830. package/dist/internal/safe-polygon.svelte.d.ts +19 -0
  831. package/dist/internal/safe-polygon.svelte.js +188 -0
  832. package/dist/internal/selection.svelte.d.ts +72 -0
  833. package/dist/internal/selection.svelte.js +98 -0
  834. package/dist/internal/shared-state.svelte.d.ts +6 -0
  835. package/dist/internal/shared-state.svelte.js +30 -0
  836. package/dist/internal/state-machine.svelte.d.ts +15 -0
  837. package/dist/internal/state-machine.svelte.js +17 -0
  838. package/dist/internal/svelte-resize-observer.svelte.d.ts +6 -0
  839. package/dist/internal/svelte-resize-observer.svelte.js +29 -0
  840. package/dist/internal/tabbable.d.ts +30 -0
  841. package/dist/internal/tabbable.js +315 -0
  842. package/dist/internal/table/core.d.ts +14 -0
  843. package/dist/internal/table/core.js +47 -0
  844. package/dist/internal/table/filter-fns.d.ts +3 -0
  845. package/dist/internal/table/filter-fns.js +7 -0
  846. package/dist/internal/table/index.js +1 -0
  847. package/dist/internal/table/sorting-fns.d.ts +15 -0
  848. package/dist/internal/table/sorting-fns.js +63 -0
  849. package/dist/internal/table/table.svelte.d.ts +90 -0
  850. package/dist/internal/table/table.svelte.js +249 -0
  851. package/dist/internal/table/types.d.ts +35 -0
  852. package/dist/internal/table/types.js +1 -0
  853. package/dist/internal/timeout-fn.svelte.d.ts +10 -0
  854. package/dist/internal/timeout-fn.svelte.js +31 -0
  855. package/dist/internal/tools/box.svelte.d.ts +14 -0
  856. package/dist/internal/tools/box.svelte.js +29 -0
  857. package/dist/internal/tools/index.d.ts +3 -0
  858. package/dist/internal/tools/index.js +2 -0
  859. package/dist/internal/tools/types.d.ts +39 -0
  860. package/dist/internal/tools/types.js +1 -0
  861. package/dist/internal/tools/utils/attach-ref.d.ts +31 -0
  862. package/dist/internal/tools/utils/attach-ref.js +58 -0
  863. package/dist/internal/tools/utils/compose-handlers.d.ts +16 -0
  864. package/dist/internal/tools/utils/compose-handlers.js +32 -0
  865. package/dist/internal/tools/utils/dom-context.svelte.d.ts +14 -0
  866. package/dist/internal/tools/utils/dom-context.svelte.js +56 -0
  867. package/dist/internal/tools/utils/dom.d.ts +13 -0
  868. package/dist/internal/tools/utils/dom.js +59 -0
  869. package/dist/internal/tools/utils/events.js +1 -0
  870. package/dist/internal/tools/utils/index.js +5 -0
  871. package/dist/internal/tools/utils/strings.d.ts +4 -0
  872. package/dist/internal/tools/utils/strings.js +25 -0
  873. package/dist/internal/typeahead.svelte.d.ts +15 -0
  874. package/dist/internal/typeahead.svelte.js +31 -0
  875. package/dist/internal/types.d.ts +122 -0
  876. package/dist/internal/types.js +1 -0
  877. package/dist/internal/utils.d.ts +10 -0
  878. package/dist/internal/utils.js +4 -0
  879. package/dist/internal/vaul/browser.d.ts +3 -0
  880. package/dist/internal/vaul/browser.js +5 -0
  881. package/dist/internal/vaul/constants.d.ts +11 -0
  882. package/dist/internal/vaul/constants.js +12 -0
  883. package/dist/internal/vaul/helpers.d.ts +9 -0
  884. package/dist/internal/vaul/helpers.js +27 -0
  885. package/dist/internal/vaul/types.d.ts +122 -0
  886. package/dist/internal/vaul/types.js +1 -0
  887. package/dist/internal/vaul/use-drawer-content.svelte.d.ts +65 -0
  888. package/dist/internal/vaul/use-drawer-content.svelte.js +178 -0
  889. package/dist/internal/vaul/use-drawer-root.svelte.d.ts +87 -0
  890. package/dist/internal/vaul/use-drawer-root.svelte.js +561 -0
  891. package/dist/internal/vaul/use-position-fixed.svelte.d.ts +20 -0
  892. package/dist/internal/vaul/use-position-fixed.svelte.js +111 -0
  893. package/dist/internal/vaul/use-prevent-scroll.svelte.d.ts +23 -0
  894. package/dist/internal/vaul/use-prevent-scroll.svelte.js +232 -0
  895. package/dist/internal/vaul/use-snap-points.svelte.d.ts +33 -0
  896. package/dist/internal/vaul/use-snap-points.svelte.js +180 -0
  897. package/dist/time.d.ts +34 -0
  898. package/dist/time.js +51 -0
  899. package/package.json +184 -179
  900. package/src/lib/blocks/alert-modal/alert-modal.svelte.ts +0 -81
  901. package/src/lib/blocks/copy-button/copy.svelte.ts +0 -52
  902. package/src/lib/blocks/date-picker/index.ts +0 -13
  903. package/src/lib/blocks/time-picker/index.ts +0 -16
  904. package/src/lib/blocks/time-picker/time-slots.ts +0 -61
  905. package/src/lib/components/accordion/index.ts +0 -11
  906. package/src/lib/components/accordion/types.ts +0 -19
  907. package/src/lib/components/alert/index.ts +0 -17
  908. package/src/lib/components/avatar/avatar.svelte.ts +0 -154
  909. package/src/lib/components/avatar/components/avatar-fallback.svelte +0 -38
  910. package/src/lib/components/avatar/components/avatar-image.svelte +0 -47
  911. package/src/lib/components/avatar/components/avatar.svelte +0 -57
  912. package/src/lib/components/avatar/index.ts +0 -9
  913. package/src/lib/components/avatar/types.ts +0 -46
  914. package/src/lib/components/breadcrumb/index.ts +0 -25
  915. package/src/lib/components/button/index.ts +0 -12
  916. package/src/lib/components/button/variants.ts +0 -51
  917. package/src/lib/components/calendar/calendar.svelte.ts +0 -1081
  918. package/src/lib/components/calendar/exports.ts +0 -31
  919. package/src/lib/components/calendar/types.ts +0 -417
  920. package/src/lib/components/card/index.ts +0 -25
  921. package/src/lib/components/carousel/carouselState.svelte.ts +0 -30
  922. package/src/lib/components/carousel/index.ts +0 -24
  923. package/src/lib/components/chart/chart-utils.ts +0 -50
  924. package/src/lib/components/chart/index.ts +0 -6
  925. package/src/lib/components/checkbox/checkbox.svelte.ts +0 -199
  926. package/src/lib/components/checkbox/components/checkbox-group-label.svelte +0 -29
  927. package/src/lib/components/checkbox/components/checkbox-group.svelte +0 -50
  928. package/src/lib/components/checkbox/components/checkbox.svelte +0 -89
  929. package/src/lib/components/checkbox/index.ts +0 -9
  930. package/src/lib/components/checkbox/types.ts +0 -131
  931. package/src/lib/components/checkbox-native/index.ts +0 -8
  932. package/src/lib/components/collapsible/index.ts +0 -9
  933. package/src/lib/components/collapsible/types.ts +0 -25
  934. package/src/lib/components/combobox/index.ts +0 -30
  935. package/src/lib/components/combobox/select/select.svelte.ts +0 -1596
  936. package/src/lib/components/combobox/select/types.ts +0 -291
  937. package/src/lib/components/combobox/types.ts +0 -77
  938. package/src/lib/components/command/command.svelte.ts +0 -1506
  939. package/src/lib/components/command/compute-command-score.ts +0 -207
  940. package/src/lib/components/command/index.ts +0 -29
  941. package/src/lib/components/command/types.ts +0 -222
  942. package/src/lib/components/command/utils.ts +0 -30
  943. package/src/lib/components/context-menu/index.ts +0 -39
  944. package/src/lib/components/context-menu/types.ts +0 -56
  945. package/src/lib/components/data-table/column-helpers.ts +0 -97
  946. package/src/lib/components/data-table/index.ts +0 -29
  947. package/src/lib/components/data-table/render-helpers.ts +0 -105
  948. package/src/lib/components/date-field/date-field.svelte.ts +0 -1473
  949. package/src/lib/components/date-field/index.ts +0 -11
  950. package/src/lib/components/date-field/types.ts +0 -165
  951. package/src/lib/components/date-range-field/date-range-field.svelte.ts +0 -212
  952. package/src/lib/components/date-range-field/index.ts +0 -11
  953. package/src/lib/components/date-range-field/types.ts +0 -171
  954. package/src/lib/components/dialog/components/dialog-close.svelte +0 -31
  955. package/src/lib/components/dialog/components/dialog-content-headless.svelte +0 -104
  956. package/src/lib/components/dialog/components/dialog-description.svelte +0 -29
  957. package/src/lib/components/dialog/components/dialog-overlay.svelte +0 -31
  958. package/src/lib/components/dialog/components/dialog-title.svelte +0 -30
  959. package/src/lib/components/dialog/components/dialog-trigger.svelte +0 -30
  960. package/src/lib/components/dialog/components/dialog.svelte +0 -21
  961. package/src/lib/components/dialog/components/modal-surface.svelte +0 -131
  962. package/src/lib/components/dialog/dialog.svelte.ts +0 -371
  963. package/src/lib/components/dialog/index.ts +0 -19
  964. package/src/lib/components/dialog/types.ts +0 -105
  965. package/src/lib/components/drawer/drawer.svelte +0 -290
  966. package/src/lib/components/drawer/index.ts +0 -37
  967. package/src/lib/components/dropdown-menu/index.ts +0 -39
  968. package/src/lib/components/dropdown-menu/types.ts +0 -41
  969. package/src/lib/components/empty/index.ts +0 -22
  970. package/src/lib/components/empty/variants.ts +0 -16
  971. package/src/lib/components/field/index.ts +0 -32
  972. package/src/lib/components/field/variants.ts +0 -19
  973. package/src/lib/components/input/index.ts +0 -12
  974. package/src/lib/components/input/variants.ts +0 -28
  975. package/src/lib/components/item/index.ts +0 -34
  976. package/src/lib/components/kbd/index.ts +0 -10
  977. package/src/lib/components/label/label.svelte.ts +0 -39
  978. package/src/lib/components/label/types.ts +0 -7
  979. package/src/lib/components/link-preview/components/link-preview-content.svelte +0 -60
  980. package/src/lib/components/link-preview/components/link-preview-trigger.svelte +0 -29
  981. package/src/lib/components/link-preview/components/link-preview.svelte +0 -34
  982. package/src/lib/components/link-preview/exports.ts +0 -11
  983. package/src/lib/components/link-preview/link-preview.svelte.ts +0 -270
  984. package/src/lib/components/link-preview/types.ts +0 -102
  985. package/src/lib/components/menu/exports.ts +0 -38
  986. package/src/lib/components/menu/menu.svelte.ts +0 -1587
  987. package/src/lib/components/menu/types.ts +0 -265
  988. package/src/lib/components/menu/utils.ts +0 -68
  989. package/src/lib/components/menubar/exports.ts +0 -44
  990. package/src/lib/components/menubar/menubar.svelte.ts +0 -395
  991. package/src/lib/components/menubar/types.ts +0 -97
  992. package/src/lib/components/meter/components/meter.svelte +0 -41
  993. package/src/lib/components/meter/meter.svelte.ts +0 -47
  994. package/src/lib/components/meter/types.ts +0 -28
  995. package/src/lib/components/navigation-menu/index.ts +0 -28
  996. package/src/lib/components/navigation-menu/navigation-menu.svelte.ts +0 -1089
  997. package/src/lib/components/navigation-menu/types.ts +0 -189
  998. package/src/lib/components/pagination/index.ts +0 -11
  999. package/src/lib/components/pagination/pagination.svelte.ts +0 -259
  1000. package/src/lib/components/pagination/types.ts +0 -100
  1001. package/src/lib/components/pin-input/exports.ts +0 -4
  1002. package/src/lib/components/pin-input/pin-input.svelte.ts +0 -540
  1003. package/src/lib/components/pin-input/types.ts +0 -118
  1004. package/src/lib/components/pin-input/usePasswordManager.svelte.ts +0 -122
  1005. package/src/lib/components/popover/components/popover-close.svelte +0 -38
  1006. package/src/lib/components/popover/components/popover-content.svelte +0 -70
  1007. package/src/lib/components/popover/components/popover-trigger.svelte +0 -44
  1008. package/src/lib/components/popover/components/popover.svelte +0 -26
  1009. package/src/lib/components/popover/exports.ts +0 -13
  1010. package/src/lib/components/popover/popover.svelte.ts +0 -392
  1011. package/src/lib/components/popover/types.ts +0 -92
  1012. package/src/lib/components/progress/components/progress.svelte +0 -56
  1013. package/src/lib/components/progress/exports.ts +0 -3
  1014. package/src/lib/components/progress/progress.svelte.ts +0 -58
  1015. package/src/lib/components/progress/types.ts +0 -28
  1016. package/src/lib/components/radio-group/context.ts +0 -13
  1017. package/src/lib/components/radio-group/index.ts +0 -10
  1018. package/src/lib/components/range-calendar/exports.ts +0 -31
  1019. package/src/lib/components/range-calendar/range-calendar.svelte.ts +0 -739
  1020. package/src/lib/components/range-calendar/types.ts +0 -258
  1021. package/src/lib/components/resizable/index.ts +0 -15
  1022. package/src/lib/components/scroll-area/exports.ts +0 -13
  1023. package/src/lib/components/scroll-area/scroll-area.svelte.ts +0 -945
  1024. package/src/lib/components/scroll-area/types.ts +0 -67
  1025. package/src/lib/components/select/index.ts +0 -5
  1026. package/src/lib/components/separator/components/separator.svelte +0 -49
  1027. package/src/lib/components/separator/index.ts +0 -3
  1028. package/src/lib/components/separator/separator.svelte.ts +0 -43
  1029. package/src/lib/components/separator/types.ts +0 -22
  1030. package/src/lib/components/sheet/index.ts +0 -47
  1031. package/src/lib/components/sheet/variants.ts +0 -20
  1032. package/src/lib/components/sidebar/context.svelte.ts +0 -71
  1033. package/src/lib/components/sidebar/index.ts +0 -77
  1034. package/src/lib/components/sidebar/sidebar-mobile-surface.svelte +0 -54
  1035. package/src/lib/components/sidebar/types.ts +0 -14
  1036. package/src/lib/components/skeleton/index.ts +0 -7
  1037. package/src/lib/components/slider/helpers.ts +0 -249
  1038. package/src/lib/components/slider/index.ts +0 -15
  1039. package/src/lib/components/slider/slider.svelte.ts +0 -979
  1040. package/src/lib/components/slider/types.ts +0 -294
  1041. package/src/lib/components/sonner/Toaster.svelte +0 -603
  1042. package/src/lib/components/sonner/index.ts +0 -15
  1043. package/src/lib/components/sonner/toast-state.svelte.ts +0 -217
  1044. package/src/lib/components/sonner/types.ts +0 -384
  1045. package/src/lib/components/switch/index.ts +0 -8
  1046. package/src/lib/components/table/index.ts +0 -28
  1047. package/src/lib/components/tabs/index.ts +0 -11
  1048. package/src/lib/components/tabs/tabs.svelte.ts +0 -237
  1049. package/src/lib/components/tabs/types.ts +0 -86
  1050. package/src/lib/components/textarea/index.ts +0 -7
  1051. package/src/lib/components/theme-toggle/index.ts +0 -5
  1052. package/src/lib/components/theme-toggle/theme.svelte.ts +0 -81
  1053. package/src/lib/components/time-field/index.ts +0 -11
  1054. package/src/lib/components/time-field/time-field.svelte.ts +0 -1198
  1055. package/src/lib/components/time-field/types.ts +0 -174
  1056. package/src/lib/components/time-range-field/index.ts +0 -11
  1057. package/src/lib/components/time-range-field/time-range-field.svelte.ts +0 -235
  1058. package/src/lib/components/time-range-field/types.ts +0 -181
  1059. package/src/lib/components/toggle/components/toggle.svelte +0 -55
  1060. package/src/lib/components/toggle/toggle.svelte.ts +0 -57
  1061. package/src/lib/components/toggle/types.ts +0 -33
  1062. package/src/lib/components/toggle/variants.ts +0 -25
  1063. package/src/lib/components/toggle-group/index.ts +0 -7
  1064. package/src/lib/components/toggle-group/toggle-group.svelte.ts +0 -76
  1065. package/src/lib/components/toggle-group/types.ts +0 -89
  1066. package/src/lib/components/toolbar/index.ts +0 -13
  1067. package/src/lib/components/toolbar/toolbar.svelte.ts +0 -212
  1068. package/src/lib/components/toolbar/types.ts +0 -60
  1069. package/src/lib/components/tooltip/components/tooltip-content.svelte +0 -81
  1070. package/src/lib/components/tooltip/components/tooltip-provider.svelte +0 -26
  1071. package/src/lib/components/tooltip/components/tooltip-trigger.svelte +0 -48
  1072. package/src/lib/components/tooltip/components/tooltip.svelte +0 -55
  1073. package/src/lib/components/tooltip/index.ts +0 -17
  1074. package/src/lib/components/tooltip/tooltip.svelte.ts +0 -775
  1075. package/src/lib/components/tooltip/types.ts +0 -175
  1076. package/src/lib/internal/animations-settled.svelte.ts +0 -119
  1077. package/src/lib/internal/arrays.ts +0 -253
  1078. package/src/lib/internal/attribute-types.ts +0 -53
  1079. package/src/lib/internal/attrs.ts +0 -64
  1080. package/src/lib/internal/body-scroll-lock.svelte.ts +0 -330
  1081. package/src/lib/internal/create-id.ts +0 -12
  1082. package/src/lib/internal/date-time/announcer.ts +0 -74
  1083. package/src/lib/internal/date-time/calendar-helpers.svelte.ts +0 -399
  1084. package/src/lib/internal/date-time/field/helpers.ts +0 -431
  1085. package/src/lib/internal/date-time/field/parts.ts +0 -15
  1086. package/src/lib/internal/date-time/field/range-field.svelte.ts +0 -45
  1087. package/src/lib/internal/date-time/field/segments.ts +0 -89
  1088. package/src/lib/internal/date-time/field/time-helpers.ts +0 -311
  1089. package/src/lib/internal/date-time/formatter.ts +0 -86
  1090. package/src/lib/internal/date-time/placeholders.ts +0 -131
  1091. package/src/lib/internal/date-time/types.ts +0 -121
  1092. package/src/lib/internal/date-time/utils.ts +0 -243
  1093. package/src/lib/internal/dismissible-layer/index.ts +0 -3
  1094. package/src/lib/internal/dismissible-layer/scheduler.ts +0 -48
  1095. package/src/lib/internal/dismissible-layer/types.ts +0 -57
  1096. package/src/lib/internal/dismissible-layer/use-dismissable-layer.svelte.ts +0 -290
  1097. package/src/lib/internal/escape-layer/index.ts +0 -3
  1098. package/src/lib/internal/escape-layer/types.ts +0 -34
  1099. package/src/lib/internal/escape-layer/use-escape-layer.svelte.ts +0 -91
  1100. package/src/lib/internal/floating-layer/components/index.ts +0 -6
  1101. package/src/lib/internal/floating-layer/types.ts +0 -126
  1102. package/src/lib/internal/floating-layer/use-floating-layer.svelte.ts +0 -467
  1103. package/src/lib/internal/focus-scope/focus-scope.svelte.ts +0 -310
  1104. package/src/lib/internal/focus-scope/index.ts +0 -4
  1105. package/src/lib/internal/focus-scope/types.ts +0 -45
  1106. package/src/lib/internal/focus.ts +0 -14
  1107. package/src/lib/internal/global-singleton.ts +0 -10
  1108. package/src/lib/internal/group-value.svelte.ts +0 -36
  1109. package/src/lib/internal/hover-intent-geometry.ts +0 -96
  1110. package/src/lib/internal/index.ts +0 -44
  1111. package/src/lib/internal/kbd.ts +0 -60
  1112. package/src/lib/internal/layer-stack.ts +0 -37
  1113. package/src/lib/internal/math.ts +0 -11
  1114. package/src/lib/internal/merge-props.ts +0 -7
  1115. package/src/lib/internal/native-dialog-controller.svelte.ts +0 -102
  1116. package/src/lib/internal/native-popover.svelte.ts +0 -173
  1117. package/src/lib/internal/open-cell.svelte.ts +0 -41
  1118. package/src/lib/internal/paneforge/internal/helpers.ts +0 -354
  1119. package/src/lib/internal/paneforge/internal/types.ts +0 -33
  1120. package/src/lib/internal/paneforge/internal/utils/adjust-layout.ts +0 -122
  1121. package/src/lib/internal/paneforge/internal/utils/aria.ts +0 -36
  1122. package/src/lib/internal/paneforge/internal/utils/compare.ts +0 -15
  1123. package/src/lib/internal/paneforge/internal/utils/is.ts +0 -13
  1124. package/src/lib/internal/paneforge/internal/utils/resize.ts +0 -31
  1125. package/src/lib/internal/paneforge/internal/utils/storage.ts +0 -116
  1126. package/src/lib/internal/paneforge/internal/utils/style.ts +0 -104
  1127. package/src/lib/internal/paneforge/paneforge.svelte.ts +0 -821
  1128. package/src/lib/internal/paneforge/types.ts +0 -179
  1129. package/src/lib/internal/popper-layer/types.ts +0 -65
  1130. package/src/lib/internal/prop-resolvers.ts +0 -14
  1131. package/src/lib/internal/roving-focus-group.svelte.ts +0 -148
  1132. package/src/lib/internal/roving-focus-item.svelte.ts +0 -46
  1133. package/src/lib/internal/safe-polygon.svelte.ts +0 -239
  1134. package/src/lib/internal/selection.svelte.ts +0 -143
  1135. package/src/lib/internal/shared-state.svelte.ts +0 -39
  1136. package/src/lib/internal/state-machine.svelte.ts +0 -30
  1137. package/src/lib/internal/svelte-resize-observer.svelte.ts +0 -37
  1138. package/src/lib/internal/tabbable.ts +0 -398
  1139. package/src/lib/internal/table/core.ts +0 -53
  1140. package/src/lib/internal/table/filter-fns.ts +0 -10
  1141. package/src/lib/internal/table/sorting-fns.ts +0 -84
  1142. package/src/lib/internal/table/table.svelte.ts +0 -310
  1143. package/src/lib/internal/table/types.ts +0 -33
  1144. package/src/lib/internal/timeout-fn.svelte.ts +0 -38
  1145. package/src/lib/internal/tools/box.svelte.ts +0 -44
  1146. package/src/lib/internal/tools/index.ts +0 -12
  1147. package/src/lib/internal/tools/types.ts +0 -41
  1148. package/src/lib/internal/tools/utils/attach-ref.ts +0 -74
  1149. package/src/lib/internal/tools/utils/compose-handlers.ts +0 -36
  1150. package/src/lib/internal/tools/utils/dom-context.svelte.ts +0 -63
  1151. package/src/lib/internal/tools/utils/dom.ts +0 -62
  1152. package/src/lib/internal/tools/utils/strings.ts +0 -28
  1153. package/src/lib/internal/typeahead.svelte.ts +0 -44
  1154. package/src/lib/internal/types.ts +0 -125
  1155. package/src/lib/internal/utils.ts +0 -10
  1156. package/src/lib/internal/vaul/browser.ts +0 -8
  1157. package/src/lib/internal/vaul/constants.ts +0 -19
  1158. package/src/lib/internal/vaul/helpers.ts +0 -39
  1159. package/src/lib/internal/vaul/types.ts +0 -142
  1160. package/src/lib/internal/vaul/use-drawer-content.svelte.ts +0 -219
  1161. package/src/lib/internal/vaul/use-drawer-root.svelte.ts +0 -687
  1162. package/src/lib/internal/vaul/use-position-fixed.svelte.ts +0 -142
  1163. package/src/lib/internal/vaul/use-prevent-scroll.svelte.ts +0 -267
  1164. package/src/lib/internal/vaul/use-snap-points.svelte.ts +0 -246
  1165. package/src/lib/time.ts +0 -73
  1166. /package/{src/lib → dist}/VENDORED.md +0 -0
  1167. /package/{src/lib → dist}/assets/ui.css +0 -0
  1168. /package/{src/lib → dist}/blocks/Appearance.svelte +0 -0
  1169. /package/{src/lib → dist}/blocks/BoundaryFailed.svelte +0 -0
  1170. /package/{src/lib → dist}/blocks/ErrorPage.svelte +0 -0
  1171. /package/{src/lib → dist}/blocks/Footer.svelte +0 -0
  1172. /package/{src/lib → dist}/blocks/Header.svelte +0 -0
  1173. /package/{src/lib → dist}/blocks/Heading.svelte +0 -0
  1174. /package/{src/lib → dist}/blocks/MobileNav.svelte +0 -0
  1175. /package/{src/lib → dist}/blocks/PhoneInput.svelte +0 -0
  1176. /package/{src/lib → dist}/blocks/Section.svelte +0 -0
  1177. /package/{src/lib → dist}/blocks/alert-modal/AlertModal.svelte +0 -0
  1178. /package/{src/lib/blocks/alert-modal/index.ts → dist/blocks/alert-modal/index.d.ts} +0 -0
  1179. /package/{src/lib → dist}/blocks/calendar.svelte +0 -0
  1180. /package/{src/lib → dist}/blocks/copy-button/copy-button.svelte +0 -0
  1181. /package/{src/lib/blocks/copy-button/index.ts → dist/blocks/copy-button/index.d.ts} +0 -0
  1182. /package/{src/lib → dist}/blocks/date-picker/date-picker-with-presets.svelte +0 -0
  1183. /package/{src/lib → dist}/blocks/date-picker/date-picker.svelte +0 -0
  1184. /package/{src/lib → dist}/blocks/date-picker/range-date-picker.svelte +0 -0
  1185. /package/{src/lib/blocks/index.ts → dist/blocks/index.d.ts} +0 -0
  1186. /package/{src/lib → dist}/blocks/mockups/Browser.svelte +0 -0
  1187. /package/{src/lib → dist}/blocks/mockups/Phone.svelte +0 -0
  1188. /package/{src/lib/blocks/mockups/index.ts → dist/blocks/mockups/index.d.ts} +0 -0
  1189. /package/{src/lib/blocks/tab-nav/index.ts → dist/blocks/tab-nav/index.d.ts} +0 -0
  1190. /package/{src/lib → dist}/blocks/tab-nav/tab-nav.svelte +0 -0
  1191. /package/{src/lib → dist}/blocks/time-picker/time-input.svelte +0 -0
  1192. /package/{src/lib → dist}/blocks/time-picker/time-picker.svelte +0 -0
  1193. /package/{src/lib → dist}/blocks/time-picker/time-range-input.svelte +0 -0
  1194. /package/{src/lib → dist}/blocks/time-picker/time-range-picker.svelte +0 -0
  1195. /package/{src/lib → dist}/blocks/user-avatar/UserAvatar.svelte +0 -0
  1196. /package/{src/lib/blocks/user-avatar/index.ts → dist/blocks/user-avatar/index.d.ts} +0 -0
  1197. /package/{src/lib → dist}/blocks/verification-code-field/VerificationCodeField.svelte +0 -0
  1198. /package/{src/lib/blocks/verification-code-field/index.ts → dist/blocks/verification-code-field/index.d.ts} +0 -0
  1199. /package/{src/lib → dist}/components/accordion/components/accordion-content.svelte +0 -0
  1200. /package/{src/lib → dist}/components/accordion/components/accordion-item.svelte +0 -0
  1201. /package/{src/lib → dist}/components/accordion/components/accordion-trigger.svelte +0 -0
  1202. /package/{src/lib → dist}/components/accordion/components/accordion.svelte +0 -0
  1203. /package/{src/lib → dist}/components/alert/alert-action.svelte +0 -0
  1204. /package/{src/lib → dist}/components/alert/alert-description.svelte +0 -0
  1205. /package/{src/lib → dist}/components/alert/alert-title.svelte +0 -0
  1206. /package/{src/lib → dist}/components/alert/alert.svelte +0 -0
  1207. /package/{src/lib → dist}/components/badge/badge.svelte +0 -0
  1208. /package/{src/lib/components/badge/index.ts → dist/components/badge/index.d.ts} +0 -0
  1209. /package/{src/lib → dist}/components/breadcrumb/breadcrumb-ellipsis.svelte +0 -0
  1210. /package/{src/lib → dist}/components/breadcrumb/breadcrumb-item.svelte +0 -0
  1211. /package/{src/lib → dist}/components/breadcrumb/breadcrumb-link.svelte +0 -0
  1212. /package/{src/lib → dist}/components/breadcrumb/breadcrumb-list.svelte +0 -0
  1213. /package/{src/lib → dist}/components/breadcrumb/breadcrumb-page.svelte +0 -0
  1214. /package/{src/lib → dist}/components/breadcrumb/breadcrumb-separator.svelte +0 -0
  1215. /package/{src/lib → dist}/components/breadcrumb/breadcrumb.svelte +0 -0
  1216. /package/{src/lib → dist}/components/button/button.svelte +0 -0
  1217. /package/{src/lib → dist}/components/calendar/components/calendar-cell.svelte +0 -0
  1218. /package/{src/lib → dist}/components/calendar/components/calendar-day.svelte +0 -0
  1219. /package/{src/lib → dist}/components/calendar/components/calendar-grid-body.svelte +0 -0
  1220. /package/{src/lib → dist}/components/calendar/components/calendar-grid-head.svelte +0 -0
  1221. /package/{src/lib → dist}/components/calendar/components/calendar-grid-row.svelte +0 -0
  1222. /package/{src/lib → dist}/components/calendar/components/calendar-grid.svelte +0 -0
  1223. /package/{src/lib → dist}/components/calendar/components/calendar-head-cell.svelte +0 -0
  1224. /package/{src/lib → dist}/components/calendar/components/calendar-header.svelte +0 -0
  1225. /package/{src/lib → dist}/components/calendar/components/calendar-heading.svelte +0 -0
  1226. /package/{src/lib → dist}/components/calendar/components/calendar-month-select.svelte +0 -0
  1227. /package/{src/lib → dist}/components/calendar/components/calendar-next-button.svelte +0 -0
  1228. /package/{src/lib → dist}/components/calendar/components/calendar-prev-button.svelte +0 -0
  1229. /package/{src/lib → dist}/components/calendar/components/calendar-year-select.svelte +0 -0
  1230. /package/{src/lib → dist}/components/calendar/components/calendar.svelte +0 -0
  1231. /package/{src/lib/components/calendar/index.ts → dist/components/calendar/index.d.ts} +0 -0
  1232. /package/{src/lib → dist}/components/card/card-action.svelte +0 -0
  1233. /package/{src/lib → dist}/components/card/card-content.svelte +0 -0
  1234. /package/{src/lib → dist}/components/card/card-description.svelte +0 -0
  1235. /package/{src/lib → dist}/components/card/card-footer.svelte +0 -0
  1236. /package/{src/lib → dist}/components/card/card-header.svelte +0 -0
  1237. /package/{src/lib → dist}/components/card/card-title.svelte +0 -0
  1238. /package/{src/lib → dist}/components/card/card.svelte +0 -0
  1239. /package/{src/lib → dist}/components/carousel/carousel-arrow.svelte +0 -0
  1240. /package/{src/lib → dist}/components/carousel/carousel-content.svelte +0 -0
  1241. /package/{src/lib → dist}/components/carousel/carousel-dots.svelte +0 -0
  1242. /package/{src/lib → dist}/components/carousel/carousel-item.svelte +0 -0
  1243. /package/{src/lib → dist}/components/carousel/carousel-next.svelte +0 -0
  1244. /package/{src/lib → dist}/components/carousel/carousel-previous.svelte +0 -0
  1245. /package/{src/lib → dist}/components/carousel/carousel.svelte +0 -0
  1246. /package/{src/lib → dist}/components/chart/chart-container.svelte +0 -0
  1247. /package/{src/lib → dist}/components/chart/chart-style.svelte +0 -0
  1248. /package/{src/lib → dist}/components/chart/chart-tooltip.svelte +0 -0
  1249. /package/{src/lib → dist}/components/checkbox-native/checkbox.svelte +0 -0
  1250. /package/{src/lib → dist}/components/collapsible/components/collapsible-content.svelte +0 -0
  1251. /package/{src/lib → dist}/components/collapsible/components/collapsible-trigger.svelte +0 -0
  1252. /package/{src/lib → dist}/components/collapsible/components/collapsible.svelte +0 -0
  1253. /package/{src/lib → dist}/components/combobox/components/combobox-arrow.svelte +0 -0
  1254. /package/{src/lib → dist}/components/combobox/components/combobox-input.svelte +0 -0
  1255. /package/{src/lib → dist}/components/combobox/components/combobox-trigger.svelte +0 -0
  1256. /package/{src/lib → dist}/components/combobox/components/combobox.svelte +0 -0
  1257. /package/{src/lib → dist}/components/combobox/select/components/select-content-static.svelte +0 -0
  1258. /package/{src/lib → dist}/components/combobox/select/components/select-content.svelte +0 -0
  1259. /package/{src/lib → dist}/components/combobox/select/components/select-group-heading.svelte +0 -0
  1260. /package/{src/lib → dist}/components/combobox/select/components/select-group.svelte +0 -0
  1261. /package/{src/lib → dist}/components/combobox/select/components/select-hidden-input.svelte +0 -0
  1262. /package/{src/lib → dist}/components/combobox/select/components/select-item.svelte +0 -0
  1263. /package/{src/lib → dist}/components/combobox/select/components/select-scroll-down-button.svelte +0 -0
  1264. /package/{src/lib → dist}/components/combobox/select/components/select-scroll-up-button.svelte +0 -0
  1265. /package/{src/lib → dist}/components/combobox/select/components/select-trigger.svelte +0 -0
  1266. /package/{src/lib → dist}/components/combobox/select/components/select-value.svelte +0 -0
  1267. /package/{src/lib → dist}/components/combobox/select/components/select-viewport.svelte +0 -0
  1268. /package/{src/lib → dist}/components/combobox/select/components/select.svelte +0 -0
  1269. /package/{src/lib → dist}/components/command/command-dialog.svelte +0 -0
  1270. /package/{src/lib → dist}/components/command/components/_command-label.svelte +0 -0
  1271. /package/{src/lib → dist}/components/command/components/command-empty.svelte +0 -0
  1272. /package/{src/lib → dist}/components/command/components/command-group-heading.svelte +0 -0
  1273. /package/{src/lib → dist}/components/command/components/command-group-items.svelte +0 -0
  1274. /package/{src/lib → dist}/components/command/components/command-group.svelte +0 -0
  1275. /package/{src/lib → dist}/components/command/components/command-input.svelte +0 -0
  1276. /package/{src/lib → dist}/components/command/components/command-item.svelte +0 -0
  1277. /package/{src/lib → dist}/components/command/components/command-link-item.svelte +0 -0
  1278. /package/{src/lib → dist}/components/command/components/command-list.svelte +0 -0
  1279. /package/{src/lib → dist}/components/command/components/command-loading.svelte +0 -0
  1280. /package/{src/lib → dist}/components/command/components/command-separator.svelte +0 -0
  1281. /package/{src/lib → dist}/components/command/components/command-viewport.svelte +0 -0
  1282. /package/{src/lib → dist}/components/command/components/command.svelte +0 -0
  1283. /package/{src/lib → dist}/components/context-menu/components/context-menu-content-static.svelte +0 -0
  1284. /package/{src/lib → dist}/components/context-menu/components/context-menu-content.svelte +0 -0
  1285. /package/{src/lib → dist}/components/context-menu/components/context-menu-trigger.svelte +0 -0
  1286. /package/{src/lib → dist}/components/context-menu/components/context-menu.svelte +0 -0
  1287. /package/{src/lib → dist}/components/data-table/data-table-checkbox.svelte +0 -0
  1288. /package/{src/lib → dist}/components/data-table/data-table-sort-button.svelte +0 -0
  1289. /package/{src/lib → dist}/components/data-table/flex-render.svelte +0 -0
  1290. /package/{src/lib → dist}/components/data-table/table-cell.svelte +0 -0
  1291. /package/{src/lib → dist}/components/data-table/table-column-header.svelte +0 -0
  1292. /package/{src/lib → dist}/components/data-table/table-faceted-filter.svelte +0 -0
  1293. /package/{src/lib → dist}/components/data-table/table-pagination.svelte +0 -0
  1294. /package/{src/lib → dist}/components/data-table/table-priority-cell.svelte +0 -0
  1295. /package/{src/lib → dist}/components/data-table/table-row-actions.svelte +0 -0
  1296. /package/{src/lib → dist}/components/data-table/table-status-cell.svelte +0 -0
  1297. /package/{src/lib → dist}/components/data-table/table-title-cell.svelte +0 -0
  1298. /package/{src/lib → dist}/components/data-table/table-toolbar.svelte +0 -0
  1299. /package/{src/lib → dist}/components/data-table/table-view-options.svelte +0 -0
  1300. /package/{src/lib → dist}/components/date-field/components/date-field-hidden-input.svelte +0 -0
  1301. /package/{src/lib → dist}/components/date-field/components/date-field-input.svelte +0 -0
  1302. /package/{src/lib → dist}/components/date-field/components/date-field-label.svelte +0 -0
  1303. /package/{src/lib → dist}/components/date-field/components/date-field-segment.svelte +0 -0
  1304. /package/{src/lib → dist}/components/date-field/components/date-field.svelte +0 -0
  1305. /package/{src/lib → dist}/components/date-range-field/components/date-range-field-input.svelte +0 -0
  1306. /package/{src/lib → dist}/components/date-range-field/components/date-range-field-label.svelte +0 -0
  1307. /package/{src/lib → dist}/components/date-range-field/components/date-range-field.svelte +0 -0
  1308. /package/{src/lib → dist}/components/dialog/components/dialog-content.svelte +0 -0
  1309. /package/{src/lib → dist}/components/drawer/drawer-close.svelte +0 -0
  1310. /package/{src/lib → dist}/components/drawer/drawer-content.svelte +0 -0
  1311. /package/{src/lib → dist}/components/drawer/drawer-description.svelte +0 -0
  1312. /package/{src/lib → dist}/components/drawer/drawer-footer.svelte +0 -0
  1313. /package/{src/lib → dist}/components/drawer/drawer-header.svelte +0 -0
  1314. /package/{src/lib → dist}/components/drawer/drawer-nested.svelte +0 -0
  1315. /package/{src/lib → dist}/components/drawer/drawer-overlay.svelte +0 -0
  1316. /package/{src/lib → dist}/components/drawer/drawer-portal.svelte +0 -0
  1317. /package/{src/lib → dist}/components/drawer/drawer-title.svelte +0 -0
  1318. /package/{src/lib → dist}/components/drawer/drawer-trigger.svelte +0 -0
  1319. /package/{src/lib → dist}/components/dropdown-menu/components/dropdown-menu-content-static.svelte +0 -0
  1320. /package/{src/lib → dist}/components/dropdown-menu/components/dropdown-menu-content.svelte +0 -0
  1321. /package/{src/lib → dist}/components/empty/empty-content.svelte +0 -0
  1322. /package/{src/lib → dist}/components/empty/empty-description.svelte +0 -0
  1323. /package/{src/lib → dist}/components/empty/empty-header.svelte +0 -0
  1324. /package/{src/lib → dist}/components/empty/empty-media.svelte +0 -0
  1325. /package/{src/lib → dist}/components/empty/empty-title.svelte +0 -0
  1326. /package/{src/lib → dist}/components/empty/empty.svelte +0 -0
  1327. /package/{src/lib → dist}/components/field/field-content.svelte +0 -0
  1328. /package/{src/lib → dist}/components/field/field-description.svelte +0 -0
  1329. /package/{src/lib → dist}/components/field/field-error.svelte +0 -0
  1330. /package/{src/lib → dist}/components/field/field-group.svelte +0 -0
  1331. /package/{src/lib → dist}/components/field/field-label.svelte +0 -0
  1332. /package/{src/lib → dist}/components/field/field-legend.svelte +0 -0
  1333. /package/{src/lib → dist}/components/field/field-separator.svelte +0 -0
  1334. /package/{src/lib → dist}/components/field/field-set.svelte +0 -0
  1335. /package/{src/lib → dist}/components/field/field-title.svelte +0 -0
  1336. /package/{src/lib → dist}/components/field/field.svelte +0 -0
  1337. /package/{src/lib → dist}/components/input/file-input.svelte +0 -0
  1338. /package/{src/lib → dist}/components/input/input.svelte +0 -0
  1339. /package/{src/lib → dist}/components/item/item-actions.svelte +0 -0
  1340. /package/{src/lib → dist}/components/item/item-content.svelte +0 -0
  1341. /package/{src/lib → dist}/components/item/item-description.svelte +0 -0
  1342. /package/{src/lib → dist}/components/item/item-footer.svelte +0 -0
  1343. /package/{src/lib → dist}/components/item/item-group.svelte +0 -0
  1344. /package/{src/lib → dist}/components/item/item-header.svelte +0 -0
  1345. /package/{src/lib → dist}/components/item/item-media.svelte +0 -0
  1346. /package/{src/lib → dist}/components/item/item-separator.svelte +0 -0
  1347. /package/{src/lib → dist}/components/item/item-title.svelte +0 -0
  1348. /package/{src/lib → dist}/components/item/item.svelte +0 -0
  1349. /package/{src/lib → dist}/components/kbd/kbd-group.svelte +0 -0
  1350. /package/{src/lib → dist}/components/kbd/kbd.svelte +0 -0
  1351. /package/{src/lib/components/label/exports.ts → dist/components/label/exports.d.ts} +0 -0
  1352. /package/{src/lib/components/label/index.ts → dist/components/label/index.d.ts} +0 -0
  1353. /package/{src/lib → dist}/components/label/label.svelte +0 -0
  1354. /package/{src/lib/components/link-preview/index.ts → dist/components/link-preview/index.d.ts} +0 -0
  1355. /package/{src/lib → dist}/components/menu/components/menu-arrow.svelte +0 -0
  1356. /package/{src/lib → dist}/components/menu/components/menu-checkbox-group.svelte +0 -0
  1357. /package/{src/lib → dist}/components/menu/components/menu-checkbox-item.svelte +0 -0
  1358. /package/{src/lib → dist}/components/menu/components/menu-content.svelte +0 -0
  1359. /package/{src/lib → dist}/components/menu/components/menu-group-heading.svelte +0 -0
  1360. /package/{src/lib → dist}/components/menu/components/menu-group.svelte +0 -0
  1361. /package/{src/lib → dist}/components/menu/components/menu-item.svelte +0 -0
  1362. /package/{src/lib → dist}/components/menu/components/menu-radio-group.svelte +0 -0
  1363. /package/{src/lib → dist}/components/menu/components/menu-radio-item.svelte +0 -0
  1364. /package/{src/lib → dist}/components/menu/components/menu-separator.svelte +0 -0
  1365. /package/{src/lib → dist}/components/menu/components/menu-sub-content-static.svelte +0 -0
  1366. /package/{src/lib → dist}/components/menu/components/menu-sub-content.svelte +0 -0
  1367. /package/{src/lib → dist}/components/menu/components/menu-sub-trigger.svelte +0 -0
  1368. /package/{src/lib → dist}/components/menu/components/menu-sub.svelte +0 -0
  1369. /package/{src/lib → dist}/components/menu/components/menu-trigger.svelte +0 -0
  1370. /package/{src/lib → dist}/components/menu/components/menu.svelte +0 -0
  1371. /package/{src/lib → dist}/components/menubar/components/menubar-content-static.svelte +0 -0
  1372. /package/{src/lib → dist}/components/menubar/components/menubar-content.svelte +0 -0
  1373. /package/{src/lib → dist}/components/menubar/components/menubar-menu.svelte +0 -0
  1374. /package/{src/lib → dist}/components/menubar/components/menubar-trigger.svelte +0 -0
  1375. /package/{src/lib → dist}/components/menubar/components/menubar.svelte +0 -0
  1376. /package/{src/lib/components/menubar/index.ts → dist/components/menubar/index.d.ts} +0 -0
  1377. /package/{src/lib/components/meter/exports.ts → dist/components/meter/exports.d.ts} +0 -0
  1378. /package/{src/lib/components/meter/index.ts → dist/components/meter/index.d.ts} +0 -0
  1379. /package/{src/lib → dist}/components/navigation-menu/components/navigation-menu-content-impl.svelte +0 -0
  1380. /package/{src/lib → dist}/components/navigation-menu/components/navigation-menu-content.svelte +0 -0
  1381. /package/{src/lib → dist}/components/navigation-menu/components/navigation-menu-indicator-impl.svelte +0 -0
  1382. /package/{src/lib → dist}/components/navigation-menu/components/navigation-menu-indicator.svelte +0 -0
  1383. /package/{src/lib → dist}/components/navigation-menu/components/navigation-menu-item.svelte +0 -0
  1384. /package/{src/lib → dist}/components/navigation-menu/components/navigation-menu-link.svelte +0 -0
  1385. /package/{src/lib → dist}/components/navigation-menu/components/navigation-menu-list.svelte +0 -0
  1386. /package/{src/lib → dist}/components/navigation-menu/components/navigation-menu-sub.svelte +0 -0
  1387. /package/{src/lib → dist}/components/navigation-menu/components/navigation-menu-trigger.svelte +0 -0
  1388. /package/{src/lib → dist}/components/navigation-menu/components/navigation-menu-viewport.svelte +0 -0
  1389. /package/{src/lib → dist}/components/navigation-menu/components/navigation-menu.svelte +0 -0
  1390. /package/{src/lib → dist}/components/pagination/components/pagination-next-button.svelte +0 -0
  1391. /package/{src/lib → dist}/components/pagination/components/pagination-page.svelte +0 -0
  1392. /package/{src/lib → dist}/components/pagination/components/pagination-prev-button.svelte +0 -0
  1393. /package/{src/lib → dist}/components/pagination/components/pagination.svelte +0 -0
  1394. /package/{src/lib → dist}/components/pin-input/components/pin-input-cell.svelte +0 -0
  1395. /package/{src/lib → dist}/components/pin-input/components/pin-input.svelte +0 -0
  1396. /package/{src/lib/components/pin-input/index.ts → dist/components/pin-input/index.d.ts} +0 -0
  1397. /package/{src/lib → dist}/components/popover/components/popover-header.svelte +0 -0
  1398. /package/{src/lib → dist}/components/popover/components/popover-title.svelte +0 -0
  1399. /package/{src/lib/components/popover/index.ts → dist/components/popover/index.d.ts} +0 -0
  1400. /package/{src/lib/components/progress/index.ts → dist/components/progress/index.d.ts} +0 -0
  1401. /package/{src/lib → dist}/components/radio-group/radio-group-item.svelte +0 -0
  1402. /package/{src/lib → dist}/components/radio-group/radio-group.svelte +0 -0
  1403. /package/{src/lib → dist}/components/range-calendar/components/range-calendar-cell.svelte +0 -0
  1404. /package/{src/lib → dist}/components/range-calendar/components/range-calendar-day.svelte +0 -0
  1405. /package/{src/lib → dist}/components/range-calendar/components/range-calendar.svelte +0 -0
  1406. /package/{src/lib/components/range-calendar/index.ts → dist/components/range-calendar/index.d.ts} +0 -0
  1407. /package/{src/lib → dist}/components/resizable/resizable-handle.svelte +0 -0
  1408. /package/{src/lib → dist}/components/resizable/resizable-pane-group.svelte +0 -0
  1409. /package/{src/lib → dist}/components/scroll-area/components/scroll-area-corner-impl.svelte +0 -0
  1410. /package/{src/lib → dist}/components/scroll-area/components/scroll-area-corner.svelte +0 -0
  1411. /package/{src/lib → dist}/components/scroll-area/components/scroll-area-scrollbar-auto.svelte +0 -0
  1412. /package/{src/lib → dist}/components/scroll-area/components/scroll-area-scrollbar-hover.svelte +0 -0
  1413. /package/{src/lib → dist}/components/scroll-area/components/scroll-area-scrollbar-scroll.svelte +0 -0
  1414. /package/{src/lib → dist}/components/scroll-area/components/scroll-area-scrollbar-shared.svelte +0 -0
  1415. /package/{src/lib → dist}/components/scroll-area/components/scroll-area-scrollbar-visible.svelte +0 -0
  1416. /package/{src/lib → dist}/components/scroll-area/components/scroll-area-scrollbar-x.svelte +0 -0
  1417. /package/{src/lib → dist}/components/scroll-area/components/scroll-area-scrollbar-y.svelte +0 -0
  1418. /package/{src/lib → dist}/components/scroll-area/components/scroll-area-scrollbar.svelte +0 -0
  1419. /package/{src/lib → dist}/components/scroll-area/components/scroll-area-thumb-impl.svelte +0 -0
  1420. /package/{src/lib → dist}/components/scroll-area/components/scroll-area-thumb.svelte +0 -0
  1421. /package/{src/lib → dist}/components/scroll-area/components/scroll-area-viewport.svelte +0 -0
  1422. /package/{src/lib → dist}/components/scroll-area/components/scroll-area.svelte +0 -0
  1423. /package/{src/lib/components/scroll-area/index.ts → dist/components/scroll-area/index.d.ts} +0 -0
  1424. /package/{src/lib → dist}/components/select/select-opt-group.svelte +0 -0
  1425. /package/{src/lib → dist}/components/select/select-option.svelte +0 -0
  1426. /package/{src/lib → dist}/components/select/select.svelte +0 -0
  1427. /package/{src/lib → dist}/components/sheet/components/sheet-close.svelte +0 -0
  1428. /package/{src/lib → dist}/components/sheet/components/sheet-content.svelte +0 -0
  1429. /package/{src/lib → dist}/components/sheet/components/sheet-description.svelte +0 -0
  1430. /package/{src/lib → dist}/components/sheet/components/sheet-footer.svelte +0 -0
  1431. /package/{src/lib → dist}/components/sheet/components/sheet-header.svelte +0 -0
  1432. /package/{src/lib → dist}/components/sheet/components/sheet-overlay.svelte +0 -0
  1433. /package/{src/lib → dist}/components/sheet/components/sheet-title.svelte +0 -0
  1434. /package/{src/lib → dist}/components/sheet/components/sheet-trigger.svelte +0 -0
  1435. /package/{src/lib/components/sidebar/constants.ts → dist/components/sidebar/constants.js} +0 -0
  1436. /package/{src/lib → dist}/components/sidebar/sidebar-content.svelte +0 -0
  1437. /package/{src/lib → dist}/components/sidebar/sidebar-desktop-surface.svelte +0 -0
  1438. /package/{src/lib → dist}/components/sidebar/sidebar-footer.svelte +0 -0
  1439. /package/{src/lib → dist}/components/sidebar/sidebar-group-action.svelte +0 -0
  1440. /package/{src/lib → dist}/components/sidebar/sidebar-group-content.svelte +0 -0
  1441. /package/{src/lib → dist}/components/sidebar/sidebar-group-label.svelte +0 -0
  1442. /package/{src/lib → dist}/components/sidebar/sidebar-group.svelte +0 -0
  1443. /package/{src/lib → dist}/components/sidebar/sidebar-header.svelte +0 -0
  1444. /package/{src/lib → dist}/components/sidebar/sidebar-input.svelte +0 -0
  1445. /package/{src/lib → dist}/components/sidebar/sidebar-inset.svelte +0 -0
  1446. /package/{src/lib → dist}/components/sidebar/sidebar-menu-action.svelte +0 -0
  1447. /package/{src/lib → dist}/components/sidebar/sidebar-menu-badge.svelte +0 -0
  1448. /package/{src/lib → dist}/components/sidebar/sidebar-menu-button.svelte +0 -0
  1449. /package/{src/lib → dist}/components/sidebar/sidebar-menu-item.svelte +0 -0
  1450. /package/{src/lib → dist}/components/sidebar/sidebar-menu-skeleton.svelte +0 -0
  1451. /package/{src/lib → dist}/components/sidebar/sidebar-menu-sub-button.svelte +0 -0
  1452. /package/{src/lib → dist}/components/sidebar/sidebar-menu-sub-item.svelte +0 -0
  1453. /package/{src/lib → dist}/components/sidebar/sidebar-menu-sub.svelte +0 -0
  1454. /package/{src/lib → dist}/components/sidebar/sidebar-menu.svelte +0 -0
  1455. /package/{src/lib → dist}/components/sidebar/sidebar-provider.svelte +0 -0
  1456. /package/{src/lib → dist}/components/sidebar/sidebar-rail.svelte +0 -0
  1457. /package/{src/lib → dist}/components/sidebar/sidebar-separator.svelte +0 -0
  1458. /package/{src/lib → dist}/components/sidebar/sidebar-trigger.svelte +0 -0
  1459. /package/{src/lib → dist}/components/sidebar/sidebar.svelte +0 -0
  1460. /package/{src/lib → dist}/components/skeleton/skeleton.svelte +0 -0
  1461. /package/{src/lib → dist}/components/slider/components/slider-range.svelte +0 -0
  1462. /package/{src/lib → dist}/components/slider/components/slider-thumb-label.svelte +0 -0
  1463. /package/{src/lib → dist}/components/slider/components/slider-thumb.svelte +0 -0
  1464. /package/{src/lib → dist}/components/slider/components/slider-tick-label.svelte +0 -0
  1465. /package/{src/lib → dist}/components/slider/components/slider-tick.svelte +0 -0
  1466. /package/{src/lib → dist}/components/slider/components/slider.svelte +0 -0
  1467. /package/{src/lib → dist}/components/sonner/Toast.svelte +0 -0
  1468. /package/{src/lib → dist}/components/switch/switch.svelte +0 -0
  1469. /package/{src/lib → dist}/components/table/table-body.svelte +0 -0
  1470. /package/{src/lib → dist}/components/table/table-caption.svelte +0 -0
  1471. /package/{src/lib → dist}/components/table/table-cell.svelte +0 -0
  1472. /package/{src/lib → dist}/components/table/table-footer.svelte +0 -0
  1473. /package/{src/lib → dist}/components/table/table-head.svelte +0 -0
  1474. /package/{src/lib → dist}/components/table/table-header.svelte +0 -0
  1475. /package/{src/lib → dist}/components/table/table-row.svelte +0 -0
  1476. /package/{src/lib → dist}/components/table/table.svelte +0 -0
  1477. /package/{src/lib → dist}/components/tabs/components/tabs-content.svelte +0 -0
  1478. /package/{src/lib → dist}/components/tabs/components/tabs-list.svelte +0 -0
  1479. /package/{src/lib → dist}/components/tabs/components/tabs-trigger.svelte +0 -0
  1480. /package/{src/lib → dist}/components/tabs/components/tabs.svelte +0 -0
  1481. /package/{src/lib → dist}/components/textarea/textarea.svelte +0 -0
  1482. /package/{src/lib → dist}/components/theme-toggle/theme-toggle.svelte +0 -0
  1483. /package/{src/lib → dist}/components/time-field/components/time-field-hidden-input.svelte +0 -0
  1484. /package/{src/lib → dist}/components/time-field/components/time-field-input.svelte +0 -0
  1485. /package/{src/lib → dist}/components/time-field/components/time-field-label.svelte +0 -0
  1486. /package/{src/lib → dist}/components/time-field/components/time-field-segment.svelte +0 -0
  1487. /package/{src/lib → dist}/components/time-field/components/time-field.svelte +0 -0
  1488. /package/{src/lib → dist}/components/time-range-field/components/time-range-field-input.svelte +0 -0
  1489. /package/{src/lib → dist}/components/time-range-field/components/time-range-field-label.svelte +0 -0
  1490. /package/{src/lib → dist}/components/time-range-field/components/time-range-field.svelte +0 -0
  1491. /package/{src/lib/components/toggle/index.ts → dist/components/toggle/index.d.ts} +0 -0
  1492. /package/{src/lib → dist}/components/toggle-group/components/toggle-group-item.svelte +0 -0
  1493. /package/{src/lib → dist}/components/toggle-group/components/toggle-group.svelte +0 -0
  1494. /package/{src/lib → dist}/components/toolbar/components/toolbar-button.svelte +0 -0
  1495. /package/{src/lib → dist}/components/toolbar/components/toolbar-group-item.svelte +0 -0
  1496. /package/{src/lib → dist}/components/toolbar/components/toolbar-group.svelte +0 -0
  1497. /package/{src/lib → dist}/components/toolbar/components/toolbar-link.svelte +0 -0
  1498. /package/{src/lib → dist}/components/toolbar/components/toolbar.svelte +0 -0
  1499. /package/{src/lib/components/tooltip/utils.ts → dist/components/tooltip/utils.js} +0 -0
  1500. /package/{src/lib → dist}/icons/google-icon.svelte +0 -0
  1501. /package/{src/lib → dist}/icons/google-workspace.svelte +0 -0
  1502. /package/{src/lib → dist}/icons/icon.d.ts +0 -0
  1503. /package/{src/lib → dist}/icons/instagram.svelte +0 -0
  1504. /package/{src/lib → dist}/icons/instantly.svelte +0 -0
  1505. /package/{src/lib → dist}/icons/linkedin.svelte +0 -0
  1506. /package/{src/lib → dist}/icons/mailshake.svelte +0 -0
  1507. /package/{src/lib → dist}/icons/microsoft-365.svelte +0 -0
  1508. /package/{src/lib → dist}/icons/passcode.svelte +0 -0
  1509. /package/{src/lib → dist}/icons/replyio.svelte +0 -0
  1510. /package/{src/lib → dist}/icons/smartlead.svelte +0 -0
  1511. /package/{src/lib → dist}/icons/smtp.svelte +0 -0
  1512. /package/{src/lib → dist}/icons/x-logo.svelte +0 -0
  1513. /package/{src/lib → dist}/internal/floating-layer/components/floating-layer-arrow.svelte +0 -0
  1514. /package/{src/lib → dist}/internal/floating-layer/components/floating-layer-content-static.svelte +0 -0
  1515. /package/{src/lib → dist}/internal/floating-layer/components/floating-layer-content.svelte +0 -0
  1516. /package/{src/lib → dist}/internal/floating-layer/components/floating-layer.svelte +0 -0
  1517. /package/{src/lib/internal/floating-layer/index.ts → dist/internal/floating-layer/index.d.ts} +0 -0
  1518. /package/{src/lib/internal/paneforge/index.ts → dist/internal/paneforge/index.d.ts} +0 -0
  1519. /package/{src/lib/internal/paneforge/internal/constants.ts → dist/internal/paneforge/internal/constants.js} +0 -0
  1520. /package/{src/lib → dist}/internal/paneforge/pane-group.svelte +0 -0
  1521. /package/{src/lib → dist}/internal/paneforge/pane-resizer.svelte +0 -0
  1522. /package/{src/lib → dist}/internal/paneforge/pane.svelte +0 -0
  1523. /package/{src/lib/internal/popper-layer/index.ts → dist/internal/popper-layer/index.d.ts} +0 -0
  1524. /package/{src/lib → dist}/internal/popper-layer/popper-content.svelte +0 -0
  1525. /package/{src/lib → dist}/internal/popper-layer/popper-layer-inner.svelte +0 -0
  1526. /package/{src/lib → dist}/internal/popper-layer/popper-layer.svelte +0 -0
  1527. /package/{src/lib/internal/portal/index.ts → dist/internal/portal/index.d.ts} +0 -0
  1528. /package/{src/lib → dist}/internal/portal/portal.svelte +0 -0
  1529. /package/{src/lib/internal/table/index.ts → dist/internal/table/index.d.ts} +0 -0
  1530. /package/{src/lib/internal/tools/utils/events.ts → dist/internal/tools/utils/events.d.ts} +0 -0
  1531. /package/{src/lib/internal/tools/utils/index.ts → dist/internal/tools/utils/index.d.ts} +0 -0
@@ -0,0 +1,1323 @@
1
+ import { attachRef, DOMContext, boxWith } from '../../../internal/tools/index.js';
2
+ import { on } from 'svelte/events';
3
+ import { createContext, onDestroy, tick, untrack } from 'svelte';
4
+ import { backward, forward, next, prev } from '../../../internal/arrays.js';
5
+ import { boolToStr, boolToStrTrueOrUndef, boolToEmptyStrOrUndef, getDataOpenClosed, boolToTrueOrUndef, } from '../../../internal/attrs.js';
6
+ import { kbd, FIRST_LAST_KEYS } from '../../../internal/kbd.js';
7
+ import { isIOS } from '../../../internal/tools/utils/dom.js';
8
+ import { createBitsAttrs } from '../../../internal/attrs.js';
9
+ import { getFloatingContentCSSVars } from '../../../internal/floating-layer/index.js';
10
+ import { Typeahead, textContentOf } from '../../../internal/typeahead.svelte.js';
11
+ import { useOpenChangeComplete } from '../../../internal/animations-settled.svelte.js';
12
+ import { DEV } from 'esm-env';
13
+ // prettier-ignore
14
+ export const INTERACTION_KEYS = [kbd.ARROW_LEFT, kbd.ESCAPE, kbd.ARROW_RIGHT, kbd.SHIFT, kbd.CAPS_LOCK, kbd.CONTROL, kbd.ALT, kbd.META, kbd.ENTER, kbd.F1, kbd.F2, kbd.F3, kbd.F4, kbd.F5, kbd.F6, kbd.F7, kbd.F8, kbd.F9, kbd.F10, kbd.F11, kbd.F12];
15
+ export const CONTENT_MARGIN = 10;
16
+ const selectAttrs = createBitsAttrs({
17
+ component: 'select',
18
+ parts: [
19
+ 'trigger',
20
+ 'content',
21
+ 'item',
22
+ 'viewport',
23
+ 'scroll-up-button',
24
+ 'scroll-down-button',
25
+ 'group',
26
+ 'group-label',
27
+ 'separator',
28
+ 'arrow',
29
+ 'input',
30
+ 'content-wrapper',
31
+ 'item-text',
32
+ 'value',
33
+ ],
34
+ });
35
+ const [getSelectRoot, setSelectRoot] = createContext();
36
+ const [getSelectGroup, setSelectGroup] = createContext();
37
+ const [getSelectContent, setSelectContent] = createContext();
38
+ class SelectBaseRootState {
39
+ opts;
40
+ touchedInput = $state(false);
41
+ inputNode = $state(null);
42
+ contentNode = $state(null);
43
+ #completion;
44
+ /** Rendered: open, or closing with the exit still settling — the window the popper layer's scroll lock covers. */
45
+ present = $derived.by(() => this.opts.open.current || this.#completion.pending);
46
+ viewportNode = $state(null);
47
+ triggerNode = $state(null);
48
+ valueNode = $state(null);
49
+ valueId = $state('');
50
+ highlightedNode = $state(null);
51
+ highlightedValue = $derived.by(() => {
52
+ if (!this.highlightedNode)
53
+ return null;
54
+ return this.highlightedNode.getAttribute('data-value');
55
+ });
56
+ highlightedId = $derived.by(() => {
57
+ if (!this.highlightedNode)
58
+ return undefined;
59
+ return this.highlightedNode.id;
60
+ });
61
+ highlightedLabel = $derived.by(() => {
62
+ if (!this.highlightedNode)
63
+ return null;
64
+ return this.highlightedNode.getAttribute('data-label');
65
+ });
66
+ contentIsPositioned = $state(false);
67
+ isKeyboard = $state(false);
68
+ isCombobox = false;
69
+ domContext = new DOMContext(() => null);
70
+ constructor(opts) {
71
+ this.opts = opts;
72
+ this.isCombobox = opts.isCombobox;
73
+ // Content stays mounted through its exit transition (CSS owns the motion; the closed state
74
+ // is the content's `contentStyle`); completion is settle-based on the content node.
75
+ this.#completion = useOpenChangeComplete(() => this.opts.open.current, () => this.contentNode, (open) => this.opts.onOpenChangeComplete.current(open));
76
+ $effect.pre(() => {
77
+ if (!this.opts.open.current) {
78
+ this.setHighlightedNode(null);
79
+ }
80
+ });
81
+ }
82
+ setHighlightedNode(node, initial = false) {
83
+ this.highlightedNode = node;
84
+ if (node && (this.isKeyboard || initial)) {
85
+ this.scrollHighlightedNodeIntoView(node);
86
+ }
87
+ }
88
+ scrollHighlightedNodeIntoView(node) {
89
+ if (!this.viewportNode || !this.contentIsPositioned)
90
+ return;
91
+ node.scrollIntoView({ block: this.opts.scrollAlignment.current });
92
+ }
93
+ getCandidateNodes() {
94
+ const node = this.contentNode;
95
+ if (!node)
96
+ return [];
97
+ return Array.from(node.querySelectorAll(`[${this.getBitsAttr('item')}]:not([data-disabled])`));
98
+ }
99
+ setHighlightedToFirstCandidate(initial = false) {
100
+ this.setHighlightedNode(null);
101
+ let nodes = this.getCandidateNodes();
102
+ if (!nodes.length)
103
+ return;
104
+ // don't consider nodes that aren't visible within the viewport
105
+ if (this.viewportNode) {
106
+ const viewportRect = this.viewportNode.getBoundingClientRect();
107
+ nodes = nodes.filter((node) => {
108
+ if (!this.viewportNode)
109
+ return false;
110
+ const nodeRect = node.getBoundingClientRect();
111
+ const isNodeFullyVisible = nodeRect.right <= viewportRect.right &&
112
+ nodeRect.left >= viewportRect.left &&
113
+ nodeRect.bottom <= viewportRect.bottom &&
114
+ nodeRect.top >= viewportRect.top;
115
+ return isNodeFullyVisible;
116
+ });
117
+ }
118
+ this.setHighlightedNode(nodes[0], initial);
119
+ }
120
+ getNodeByValue(value) {
121
+ const candidateNodes = this.getCandidateNodes();
122
+ return candidateNodes.find((node) => node.dataset.value === value) ?? null;
123
+ }
124
+ /**
125
+ * Resolves the display label for a value: `items` entry when present, otherwise the
126
+ * mounted item's `data-label` or its text content.
127
+ */
128
+ getLabelForValue(value) {
129
+ if (value === '')
130
+ return '';
131
+ const fromItems = this.opts.items.current.find((item) => item.value === value)?.label;
132
+ if (fromItems !== undefined)
133
+ return fromItems;
134
+ const node = this.getNodeByValue(value);
135
+ if (node) {
136
+ const dataLabel = node.getAttribute('data-label');
137
+ if (dataLabel !== null && dataLabel !== '')
138
+ return dataLabel;
139
+ return node.textContent?.trim() ?? value;
140
+ }
141
+ return value;
142
+ }
143
+ setOpen(open) {
144
+ this.opts.open.current = open;
145
+ }
146
+ toggleOpen() {
147
+ this.opts.open.current = !this.opts.open.current;
148
+ }
149
+ handleOpen() {
150
+ this.setOpen(true);
151
+ }
152
+ handleClose() {
153
+ this.setHighlightedNode(null);
154
+ this.setOpen(false);
155
+ }
156
+ toggleMenu() {
157
+ this.toggleOpen();
158
+ }
159
+ getBitsAttr = (part) => {
160
+ return selectAttrs.getAttr(part, this.isCombobox ? 'combobox' : undefined);
161
+ };
162
+ }
163
+ export class SelectSingleRootState extends SelectBaseRootState {
164
+ opts;
165
+ isMulti = false;
166
+ hasValue = $derived.by(() => this.opts.value.current !== '');
167
+ currentLabel = $derived.by(() => {
168
+ if (!this.opts.items.current.length)
169
+ return '';
170
+ return this.opts.items.current.find((item) => item.value === this.opts.value.current)?.label ?? '';
171
+ });
172
+ candidateLabels = $derived.by(() => {
173
+ if (!this.opts.items.current.length)
174
+ return [];
175
+ const filteredItems = this.opts.items.current.filter((item) => !item.disabled);
176
+ return filteredItems.map((item) => item.label);
177
+ });
178
+ dataTypeaheadEnabled = $derived.by(() => {
179
+ if (this.isMulti)
180
+ return false;
181
+ if (this.opts.items.current.length === 0)
182
+ return false;
183
+ return true;
184
+ });
185
+ constructor(opts) {
186
+ super(opts);
187
+ this.opts = opts;
188
+ $effect(() => {
189
+ if (!this.opts.open.current && this.highlightedNode) {
190
+ this.setHighlightedNode(null);
191
+ }
192
+ });
193
+ $effect(() => {
194
+ this.opts.open.current;
195
+ untrack(() => {
196
+ if (!this.opts.open.current)
197
+ return;
198
+ this.setInitialHighlightedNode();
199
+ });
200
+ });
201
+ }
202
+ includesItem(itemValue) {
203
+ return this.opts.value.current === itemValue;
204
+ }
205
+ toggleItem(itemValue, itemLabel = itemValue) {
206
+ const newValue = this.includesItem(itemValue) ? '' : itemValue;
207
+ this.opts.value.current = newValue;
208
+ if (newValue !== '') {
209
+ this.opts.inputValue.current = itemLabel;
210
+ }
211
+ }
212
+ setInitialHighlightedNode() {
213
+ tick().then(() => {
214
+ if (this.highlightedNode && this.domContext.getDocument().contains(this.highlightedNode))
215
+ return;
216
+ if (this.opts.value.current !== '') {
217
+ const node = this.getNodeByValue(this.opts.value.current);
218
+ if (node) {
219
+ this.setHighlightedNode(node, true);
220
+ return;
221
+ }
222
+ }
223
+ // if no value is set, we want to highlight the first item
224
+ this.setHighlightedToFirstCandidate(true);
225
+ });
226
+ }
227
+ }
228
+ class SelectMultipleRootState extends SelectBaseRootState {
229
+ opts;
230
+ isMulti = true;
231
+ hasValue = $derived.by(() => this.opts.value.current.length > 0);
232
+ constructor(opts) {
233
+ super(opts);
234
+ this.opts = opts;
235
+ $effect(() => {
236
+ if (!this.opts.open.current && this.highlightedNode) {
237
+ this.setHighlightedNode(null);
238
+ }
239
+ });
240
+ $effect(() => {
241
+ this.opts.open.current;
242
+ untrack(() => {
243
+ if (!this.opts.open.current)
244
+ return;
245
+ this.setInitialHighlightedNode();
246
+ });
247
+ });
248
+ }
249
+ includesItem(itemValue) {
250
+ return this.opts.value.current.includes(itemValue);
251
+ }
252
+ toggleItem(itemValue, itemLabel = itemValue) {
253
+ if (this.includesItem(itemValue)) {
254
+ this.opts.value.current = this.opts.value.current.filter((v) => v !== itemValue);
255
+ }
256
+ else {
257
+ this.opts.value.current = [...this.opts.value.current, itemValue];
258
+ }
259
+ this.opts.inputValue.current = itemLabel;
260
+ }
261
+ setInitialHighlightedNode() {
262
+ tick().then(() => {
263
+ if (!this.domContext)
264
+ return;
265
+ if (this.highlightedNode && this.domContext.getDocument().contains(this.highlightedNode))
266
+ return;
267
+ if (this.opts.value.current.length && this.opts.value.current[0] !== '') {
268
+ const node = this.getNodeByValue(this.opts.value.current[0]);
269
+ if (node) {
270
+ this.setHighlightedNode(node, true);
271
+ return;
272
+ }
273
+ }
274
+ // if no value is set, we want to highlight the first item
275
+ this.setHighlightedToFirstCandidate(true);
276
+ });
277
+ }
278
+ }
279
+ export class SelectRootState {
280
+ static create(props) {
281
+ const { type, ...rest } = props;
282
+ const rootState = type === 'single'
283
+ ? new SelectSingleRootState(rest)
284
+ : new SelectMultipleRootState(rest);
285
+ return setSelectRoot(rootState);
286
+ }
287
+ }
288
+ export class SelectValueState {
289
+ static create(opts) {
290
+ return new SelectValueState(opts, getSelectRoot());
291
+ }
292
+ root;
293
+ opts;
294
+ attachment;
295
+ constructor(opts, root) {
296
+ this.root = root;
297
+ this.opts = opts;
298
+ this.attachment = attachRef(opts.ref, (v) => (this.root.valueNode = v));
299
+ this.setValue = this.setValue.bind(this);
300
+ }
301
+ setValue(value) {
302
+ if (this.root.isMulti && !Array.isArray(value)) {
303
+ if (DEV)
304
+ throw new Error(`Expected an array of strings passed to \`setValue\` got ${typeof value}.`);
305
+ return;
306
+ }
307
+ if (!this.root.isMulti && typeof value !== 'string') {
308
+ if (DEV)
309
+ throw new Error(`Expected a string passed to \`setValue\` got ${typeof value}.`);
310
+ return;
311
+ }
312
+ this.root.opts.value.current = value;
313
+ }
314
+ // this way consumers get type narrowing for the value on `type`
315
+ snippetProps = $derived.by(() => {
316
+ if (this.root.isMulti) {
317
+ return {
318
+ selection: {
319
+ type: 'multiple',
320
+ selected: this.root.opts.value.current.length > 0
321
+ ? this.root.opts.value.current.map((value) => ({
322
+ value,
323
+ label: this.root.getLabelForValue(value),
324
+ }))
325
+ : [],
326
+ setValue: this.setValue,
327
+ },
328
+ placeholder: this.opts.placeholder.current ?? null,
329
+ disabled: this.root.opts.disabled.current,
330
+ };
331
+ }
332
+ const value = this.root.opts.value.current;
333
+ return {
334
+ selection: {
335
+ type: 'single',
336
+ selected: value !== '' ? { value, label: value === '' ? '' : this.root.getLabelForValue(value) } : undefined,
337
+ setValue: this.setValue,
338
+ },
339
+ placeholder: this.opts.placeholder.current ?? null,
340
+ disabled: this.root.opts.disabled.current,
341
+ };
342
+ });
343
+ props = $derived.by(() => ({
344
+ id: this.opts.id.current,
345
+ 'data-placeholder': this.root.hasValue ? undefined : '',
346
+ 'data-select-value': '',
347
+ ...this.attachment,
348
+ }));
349
+ }
350
+ export class SelectInputState {
351
+ static create(opts) {
352
+ return new SelectInputState(opts, getSelectRoot());
353
+ }
354
+ opts;
355
+ root;
356
+ attachment;
357
+ constructor(opts, root) {
358
+ this.opts = opts;
359
+ this.root = root;
360
+ this.attachment = attachRef(opts.ref, (v) => (this.root.inputNode = v));
361
+ this.root.domContext = new DOMContext(opts.ref);
362
+ this.onkeydown = this.onkeydown.bind(this);
363
+ this.oninput = this.oninput.bind(this);
364
+ let prevValue = undefined;
365
+ $effect(() => {
366
+ const value = this.root.opts.value.current;
367
+ const clearOnDeselect = this.opts.clearOnDeselect.current;
368
+ untrack(() => {
369
+ if (!clearOnDeselect)
370
+ return;
371
+ if (Array.isArray(value) && Array.isArray(prevValue)) {
372
+ if (value.length === 0 && prevValue.length !== 0) {
373
+ this.root.opts.inputValue.current = '';
374
+ }
375
+ }
376
+ else if (value === '' && prevValue !== '') {
377
+ this.root.opts.inputValue.current = '';
378
+ }
379
+ });
380
+ prevValue = value;
381
+ });
382
+ }
383
+ onkeydown(e) {
384
+ this.root.isKeyboard = true;
385
+ if (e.key === kbd.ESCAPE)
386
+ return;
387
+ // prevent arrow up/down from moving the position of the cursor in the input
388
+ if (e.key === kbd.ARROW_UP || e.key === kbd.ARROW_DOWN)
389
+ e.preventDefault();
390
+ if (!this.root.opts.open.current) {
391
+ if (INTERACTION_KEYS.includes(e.key))
392
+ return;
393
+ if (e.key === kbd.TAB)
394
+ return;
395
+ if (e.key === kbd.BACKSPACE && this.root.opts.inputValue.current === '')
396
+ return;
397
+ this.root.handleOpen();
398
+ // we need to wait for a tick after the menu opens to ensure the highlighted nodes are
399
+ // set correctly.
400
+ if (this.root.hasValue)
401
+ return;
402
+ const candidateNodes = this.root.getCandidateNodes();
403
+ if (!candidateNodes.length)
404
+ return;
405
+ if (e.key === kbd.ARROW_DOWN) {
406
+ const firstCandidate = candidateNodes[0];
407
+ this.root.setHighlightedNode(firstCandidate);
408
+ }
409
+ else if (e.key === kbd.ARROW_UP) {
410
+ const lastCandidate = candidateNodes[candidateNodes.length - 1];
411
+ this.root.setHighlightedNode(lastCandidate);
412
+ }
413
+ return;
414
+ }
415
+ if (e.key === kbd.TAB) {
416
+ this.root.handleClose();
417
+ return;
418
+ }
419
+ if (e.key === kbd.ENTER && !e.isComposing) {
420
+ e.preventDefault();
421
+ const isCurrentSelectedValue = this.root.highlightedValue === this.root.opts.value.current;
422
+ if (!this.root.opts.allowDeselect.current && isCurrentSelectedValue && !this.root.isMulti) {
423
+ this.root.handleClose();
424
+ return;
425
+ }
426
+ if (this.root.highlightedValue && this.root.highlightedNode && this.root.highlightedNode.isConnected) {
427
+ this.root.toggleItem(this.root.highlightedValue, this.root.highlightedLabel ?? undefined);
428
+ }
429
+ if (!this.root.isMulti && !isCurrentSelectedValue) {
430
+ this.root.handleClose();
431
+ }
432
+ }
433
+ if (e.key === kbd.ARROW_UP && e.altKey) {
434
+ this.root.handleClose();
435
+ }
436
+ if (FIRST_LAST_KEYS.includes(e.key)) {
437
+ e.preventDefault();
438
+ const candidateNodes = this.root.getCandidateNodes();
439
+ const currHighlightedNode = this.root.highlightedNode;
440
+ const currIndex = currHighlightedNode ? candidateNodes.indexOf(currHighlightedNode) : -1;
441
+ const loop = this.root.opts.loop.current;
442
+ let nextItem;
443
+ if (e.key === kbd.ARROW_DOWN) {
444
+ nextItem = next(candidateNodes, currIndex, loop);
445
+ }
446
+ else if (e.key === kbd.ARROW_UP) {
447
+ nextItem = prev(candidateNodes, currIndex, loop);
448
+ }
449
+ else if (e.key === kbd.PAGE_DOWN) {
450
+ nextItem = forward(candidateNodes, currIndex, 10, loop);
451
+ }
452
+ else if (e.key === kbd.PAGE_UP) {
453
+ nextItem = backward(candidateNodes, currIndex, 10, loop);
454
+ }
455
+ else if (e.key === kbd.HOME) {
456
+ nextItem = candidateNodes[0];
457
+ }
458
+ else if (e.key === kbd.END) {
459
+ nextItem = candidateNodes[candidateNodes.length - 1];
460
+ }
461
+ if (!nextItem)
462
+ return;
463
+ this.root.setHighlightedNode(nextItem);
464
+ return;
465
+ }
466
+ if (INTERACTION_KEYS.includes(e.key))
467
+ return;
468
+ if (!this.root.highlightedNode) {
469
+ this.root.setHighlightedToFirstCandidate();
470
+ }
471
+ }
472
+ oninput(e) {
473
+ this.root.opts.inputValue.current = e.currentTarget.value;
474
+ this.root.setHighlightedToFirstCandidate();
475
+ }
476
+ props = $derived.by(() => ({
477
+ id: this.opts.id.current,
478
+ role: 'combobox',
479
+ disabled: this.root.opts.disabled.current ? true : undefined,
480
+ 'aria-activedescendant': this.root.highlightedId,
481
+ 'aria-autocomplete': 'list',
482
+ 'aria-expanded': boolToStr(this.root.opts.open.current),
483
+ 'data-state': getDataOpenClosed(this.root.opts.open.current),
484
+ 'data-disabled': boolToEmptyStrOrUndef(this.root.opts.disabled.current),
485
+ onkeydown: this.onkeydown,
486
+ oninput: this.oninput,
487
+ [this.root.getBitsAttr('input')]: '',
488
+ ...this.attachment,
489
+ }));
490
+ }
491
+ export class SelectComboTriggerState {
492
+ static create(opts) {
493
+ return new SelectComboTriggerState(opts, getSelectRoot());
494
+ }
495
+ opts;
496
+ root;
497
+ attachment;
498
+ constructor(opts, root) {
499
+ this.opts = opts;
500
+ this.root = root;
501
+ this.attachment = attachRef(opts.ref);
502
+ this.onkeydown = this.onkeydown.bind(this);
503
+ this.onpointerdown = this.onpointerdown.bind(this);
504
+ }
505
+ onkeydown(e) {
506
+ if (!this.root.domContext)
507
+ return;
508
+ if (e.key === kbd.ENTER || e.key === kbd.SPACE) {
509
+ e.preventDefault();
510
+ if (this.root.domContext.getActiveElement() !== this.root.inputNode) {
511
+ this.root.inputNode?.focus();
512
+ }
513
+ this.root.toggleMenu();
514
+ }
515
+ }
516
+ /**
517
+ * `pointerdown` fires before the `focus` event, so we can prevent the default
518
+ * behavior of focusing the button and keep focus on the input.
519
+ */
520
+ onpointerdown(e) {
521
+ if (this.root.opts.disabled.current || !this.root.domContext)
522
+ return;
523
+ e.preventDefault();
524
+ if (this.root.domContext.getActiveElement() !== this.root.inputNode) {
525
+ this.root.inputNode?.focus();
526
+ }
527
+ this.root.toggleMenu();
528
+ }
529
+ props = $derived.by(() => ({
530
+ id: this.opts.id.current,
531
+ disabled: this.root.opts.disabled.current ? true : undefined,
532
+ 'aria-haspopup': 'listbox',
533
+ 'data-state': getDataOpenClosed(this.root.opts.open.current),
534
+ 'data-disabled': boolToEmptyStrOrUndef(this.root.opts.disabled.current),
535
+ [this.root.getBitsAttr('trigger')]: '',
536
+ onpointerdown: this.onpointerdown,
537
+ onkeydown: this.onkeydown,
538
+ ...this.attachment,
539
+ }));
540
+ }
541
+ export class SelectTriggerState {
542
+ static create(opts) {
543
+ return new SelectTriggerState(opts, getSelectRoot());
544
+ }
545
+ opts;
546
+ root;
547
+ attachment;
548
+ #typeahead;
549
+ #labelTypeahead;
550
+ constructor(opts, root) {
551
+ this.opts = opts;
552
+ this.root = root;
553
+ this.attachment = attachRef(opts.ref, (v) => (this.root.triggerNode = v));
554
+ this.root.domContext = new DOMContext(opts.ref);
555
+ this.#typeahead = new Typeahead({
556
+ getSearchText: textContentOf,
557
+ getCurrentCandidate: () => this.root.highlightedNode,
558
+ onMatch: (node) => {
559
+ this.root.setHighlightedNode(node);
560
+ },
561
+ getWindow: () => this.root.domContext.getWindow(),
562
+ });
563
+ this.#labelTypeahead = new Typeahead({
564
+ getSearchText: (label) => label,
565
+ getCurrentCandidate: () => {
566
+ if (this.root.isMulti)
567
+ return '';
568
+ return this.root.currentLabel;
569
+ },
570
+ onMatch: (label) => {
571
+ if (this.root.isMulti)
572
+ return;
573
+ if (!this.root.opts.items.current)
574
+ return;
575
+ const matchedItem = this.root.opts.items.current.find((item) => item.label === label);
576
+ if (!matchedItem)
577
+ return;
578
+ this.root.opts.value.current = matchedItem.value;
579
+ },
580
+ getWindow: () => this.root.domContext.getWindow(),
581
+ });
582
+ this.onkeydown = this.onkeydown.bind(this);
583
+ this.onpointerdown = this.onpointerdown.bind(this);
584
+ this.onpointerup = this.onpointerup.bind(this);
585
+ this.onclick = this.onclick.bind(this);
586
+ }
587
+ #handleOpen() {
588
+ this.root.opts.open.current = true;
589
+ this.#labelTypeahead.reset();
590
+ this.#typeahead.reset();
591
+ }
592
+ #handlePointerOpen(_) {
593
+ this.#handleOpen();
594
+ }
595
+ /**
596
+ * Logic used to handle keyboard selection/deselection.
597
+ *
598
+ * If it returns true, it means the item was selected and whatever is calling
599
+ * this function should return early
600
+ *
601
+ */
602
+ #handleKeyboardSelection() {
603
+ const isCurrentSelectedValue = this.root.highlightedValue === this.root.opts.value.current;
604
+ if (!this.root.opts.allowDeselect.current && isCurrentSelectedValue && !this.root.isMulti) {
605
+ this.root.handleClose();
606
+ return true;
607
+ }
608
+ // "" is a valid value for a select item so we need to check for that
609
+ if (this.root.highlightedValue !== null) {
610
+ this.root.toggleItem(this.root.highlightedValue, this.root.highlightedLabel ?? undefined);
611
+ }
612
+ if (!this.root.isMulti && !isCurrentSelectedValue) {
613
+ this.root.handleClose();
614
+ return true;
615
+ }
616
+ return false;
617
+ }
618
+ onkeydown(e) {
619
+ this.root.isKeyboard = true;
620
+ if (e.key === kbd.ARROW_UP || e.key === kbd.ARROW_DOWN)
621
+ e.preventDefault();
622
+ if (!this.root.opts.open.current) {
623
+ if (e.key === kbd.ENTER || e.key === kbd.SPACE || e.key === kbd.ARROW_DOWN || e.key === kbd.ARROW_UP) {
624
+ e.preventDefault();
625
+ this.root.handleOpen();
626
+ }
627
+ else if (!this.root.isMulti && this.root.dataTypeaheadEnabled) {
628
+ this.#labelTypeahead.handleKey(e.key, this.root.candidateLabels);
629
+ return;
630
+ }
631
+ // we need to wait for a tick after the menu opens to ensure
632
+ // the highlighted nodes are set correctly
633
+ if (this.root.hasValue)
634
+ return;
635
+ const candidateNodes = this.root.getCandidateNodes();
636
+ if (!candidateNodes.length)
637
+ return;
638
+ if (e.key === kbd.ARROW_DOWN) {
639
+ const firstCandidate = candidateNodes[0];
640
+ this.root.setHighlightedNode(firstCandidate);
641
+ }
642
+ else if (e.key === kbd.ARROW_UP) {
643
+ const lastCandidate = candidateNodes[candidateNodes.length - 1];
644
+ this.root.setHighlightedNode(lastCandidate);
645
+ }
646
+ return;
647
+ }
648
+ if (e.key === kbd.TAB) {
649
+ this.root.handleClose();
650
+ return;
651
+ }
652
+ if ((e.key === kbd.ENTER ||
653
+ // if we're currently "typing ahead", we don't want to select the item
654
+ // just yet as the item the user is trying to get to may have a space in it,
655
+ // so we defer handling the close for this case until further down
656
+ (e.key === kbd.SPACE && this.#typeahead.search === '')) &&
657
+ !e.isComposing) {
658
+ e.preventDefault();
659
+ const shouldReturn = this.#handleKeyboardSelection();
660
+ if (shouldReturn)
661
+ return;
662
+ }
663
+ if (e.key === kbd.ARROW_UP && e.altKey) {
664
+ this.root.handleClose();
665
+ }
666
+ if (FIRST_LAST_KEYS.includes(e.key)) {
667
+ e.preventDefault();
668
+ const candidateNodes = this.root.getCandidateNodes();
669
+ const currHighlightedNode = this.root.highlightedNode;
670
+ const currIndex = currHighlightedNode ? candidateNodes.indexOf(currHighlightedNode) : -1;
671
+ const loop = this.root.opts.loop.current;
672
+ let nextItem;
673
+ if (e.key === kbd.ARROW_DOWN) {
674
+ nextItem = next(candidateNodes, currIndex, loop);
675
+ }
676
+ else if (e.key === kbd.ARROW_UP) {
677
+ nextItem = prev(candidateNodes, currIndex, loop);
678
+ }
679
+ else if (e.key === kbd.PAGE_DOWN) {
680
+ nextItem = forward(candidateNodes, currIndex, 10, loop);
681
+ }
682
+ else if (e.key === kbd.PAGE_UP) {
683
+ nextItem = backward(candidateNodes, currIndex, 10, loop);
684
+ }
685
+ else if (e.key === kbd.HOME) {
686
+ nextItem = candidateNodes[0];
687
+ }
688
+ else if (e.key === kbd.END) {
689
+ nextItem = candidateNodes[candidateNodes.length - 1];
690
+ }
691
+ if (!nextItem)
692
+ return;
693
+ this.root.setHighlightedNode(nextItem);
694
+ return;
695
+ }
696
+ const isModifierKey = e.ctrlKey || e.altKey || e.metaKey;
697
+ const isCharacterKey = e.key.length === 1;
698
+ const isSpaceKey = e.key === kbd.SPACE;
699
+ const candidateNodes = this.root.getCandidateNodes();
700
+ if (e.key === kbd.TAB)
701
+ return;
702
+ if (!isModifierKey && (isCharacterKey || isSpaceKey)) {
703
+ const matchedNode = this.#typeahead.handleKey(e.key, candidateNodes);
704
+ if (!matchedNode && isSpaceKey) {
705
+ e.preventDefault();
706
+ this.#handleKeyboardSelection();
707
+ }
708
+ return;
709
+ }
710
+ if (!this.root.highlightedNode) {
711
+ this.root.setHighlightedToFirstCandidate();
712
+ }
713
+ }
714
+ onclick(e) {
715
+ // While browsers generally have no issue focusing the trigger when clicking
716
+ // on a label, Safari seems to struggle with the fact that there's no `onClick`.
717
+ // We force `focus` in this case. Note: this doesn't create any other side-effect
718
+ // because we are preventing default in `onpointerdown` so effectively
719
+ // this only runs for a label 'click'
720
+ const currTarget = e.currentTarget;
721
+ currTarget.focus();
722
+ }
723
+ onpointerdown(e) {
724
+ if (this.root.opts.disabled.current)
725
+ return;
726
+ // prevent opening on touch down which can be triggered when scrolling on touch devices
727
+ if (e.pointerType === 'touch')
728
+ return e.preventDefault();
729
+ // prevent implicit pointer capture
730
+ const target = e.target;
731
+ if (target?.hasPointerCapture(e.pointerId)) {
732
+ target?.releasePointerCapture(e.pointerId);
733
+ }
734
+ // only call the handle if it's a left click, since pointerdown is triggered
735
+ // by right clicks as well, but not when ctrl is pressed
736
+ if (e.button === 0 && e.ctrlKey === false) {
737
+ if (this.root.opts.open.current === false) {
738
+ this.#handlePointerOpen(e);
739
+ }
740
+ else {
741
+ this.root.handleClose();
742
+ }
743
+ }
744
+ }
745
+ onpointerup(e) {
746
+ if (this.root.opts.disabled.current)
747
+ return;
748
+ e.preventDefault();
749
+ if (e.pointerType === 'touch') {
750
+ if (this.root.opts.open.current === false) {
751
+ this.#handlePointerOpen(e);
752
+ }
753
+ else {
754
+ this.root.handleClose();
755
+ }
756
+ }
757
+ }
758
+ props = $derived.by(() => ({
759
+ id: this.opts.id.current,
760
+ disabled: this.root.opts.disabled.current ? true : undefined,
761
+ 'aria-haspopup': 'listbox',
762
+ 'aria-expanded': boolToStr(this.root.opts.open.current),
763
+ 'aria-activedescendant': this.root.highlightedId,
764
+ 'data-state': getDataOpenClosed(this.root.opts.open.current),
765
+ 'data-disabled': boolToEmptyStrOrUndef(this.root.opts.disabled.current),
766
+ 'data-placeholder': this.root.hasValue ? undefined : '',
767
+ [this.root.getBitsAttr('trigger')]: '',
768
+ onpointerdown: this.onpointerdown,
769
+ onkeydown: this.onkeydown,
770
+ onclick: this.onclick,
771
+ onpointerup: this.onpointerup,
772
+ ...this.attachment,
773
+ }));
774
+ }
775
+ export class SelectContentState {
776
+ static create(opts) {
777
+ return setSelectContent(new SelectContentState(opts, getSelectRoot()));
778
+ }
779
+ opts;
780
+ root;
781
+ attachment;
782
+ isPositioned = $state(false);
783
+ domContext;
784
+ #isStatic;
785
+ constructor(opts, root) {
786
+ this.opts = opts;
787
+ this.root = root;
788
+ this.#isStatic = opts.isStatic ?? false;
789
+ this.attachment = attachRef(opts.ref, (v) => (this.root.contentNode = v));
790
+ this.domContext = new DOMContext(this.opts.ref);
791
+ if (this.root.domContext === null) {
792
+ this.root.domContext = this.domContext;
793
+ }
794
+ onDestroy(() => {
795
+ this.root.contentNode = null;
796
+ this.root.contentIsPositioned = false;
797
+ this.isPositioned = false;
798
+ });
799
+ $effect(() => {
800
+ this.root.opts.open.current;
801
+ untrack(() => {
802
+ if (this.root.opts.open.current)
803
+ return;
804
+ this.root.contentIsPositioned = false;
805
+ this.isPositioned = false;
806
+ });
807
+ });
808
+ $effect(() => {
809
+ this.isPositioned;
810
+ this.root.highlightedNode;
811
+ untrack(() => {
812
+ if (!this.isPositioned || !this.root.highlightedNode)
813
+ return;
814
+ this.root.scrollHighlightedNodeIntoView(this.root.highlightedNode);
815
+ });
816
+ });
817
+ this.onpointermove = this.onpointermove.bind(this);
818
+ }
819
+ onpointermove(_) {
820
+ this.root.isKeyboard = false;
821
+ }
822
+ #styles = $derived.by(() => {
823
+ return getFloatingContentCSSVars(this.root.isCombobox ? 'combobox' : 'select');
824
+ });
825
+ onInteractOutside = (e) => {
826
+ if (e.target === this.root.triggerNode || e.target === this.root.inputNode) {
827
+ e.preventDefault();
828
+ return;
829
+ }
830
+ this.opts.onInteractOutside.current(e);
831
+ if (e.defaultPrevented)
832
+ return;
833
+ this.root.handleClose();
834
+ };
835
+ onEscapeKeydown = (e) => {
836
+ this.opts.onEscapeKeydown.current(e);
837
+ if (e.defaultPrevented)
838
+ return;
839
+ this.root.handleClose();
840
+ };
841
+ onOpenAutoFocus = (e) => {
842
+ e.preventDefault();
843
+ };
844
+ onCloseAutoFocus = (e) => {
845
+ e.preventDefault();
846
+ };
847
+ snippetProps = $derived.by(() => ({ open: this.root.opts.open.current }));
848
+ props = $derived.by(() => ({
849
+ id: this.opts.id.current,
850
+ role: 'listbox',
851
+ 'aria-multiselectable': this.root.isMulti ? 'true' : undefined,
852
+ 'data-state': getDataOpenClosed(this.root.opts.open.current),
853
+ [this.root.getBitsAttr('content')]: '',
854
+ style: {
855
+ display: 'flex',
856
+ flexDirection: 'column',
857
+ outline: 'none',
858
+ boxSizing: 'border-box',
859
+ pointerEvents: 'auto',
860
+ ...this.#styles,
861
+ },
862
+ onpointermove: this.onpointermove,
863
+ ...this.attachment,
864
+ }));
865
+ /**
866
+ * Inline style for the content element alone — `props.style` also reaches the floating wrapper
867
+ * through PopperLayer, and hiding the wrapper would cancel the content's exit transition.
868
+ * Always mounted: closed floating content is visibility:hidden, closed static content is
869
+ * display:none (it must leave the flow); `popup-surface` in ui.css adds the motion.
870
+ */
871
+ contentStyle = $derived.by(() => {
872
+ if (this.root.opts.open.current)
873
+ return {};
874
+ return this.#isStatic ? { display: 'none' } : { visibility: 'hidden' };
875
+ });
876
+ popperProps = {
877
+ onInteractOutside: this.onInteractOutside,
878
+ onEscapeKeydown: this.onEscapeKeydown,
879
+ onOpenAutoFocus: this.onOpenAutoFocus,
880
+ onCloseAutoFocus: this.onCloseAutoFocus,
881
+ trapFocus: false,
882
+ loop: false,
883
+ onPlaced: () => {
884
+ // onPlaced is also called when the menu is closed, so we need to check if the menu
885
+ // is actually open to avoid setting positioning to true when the menu is closed
886
+ if (this.root.opts.open.current) {
887
+ this.root.contentIsPositioned = true;
888
+ this.isPositioned = true;
889
+ }
890
+ },
891
+ };
892
+ }
893
+ export class SelectItemState {
894
+ static create(opts) {
895
+ return new SelectItemState(opts, getSelectRoot());
896
+ }
897
+ opts;
898
+ root;
899
+ attachment;
900
+ isSelected = $derived.by(() => this.root.includesItem(this.opts.value.current));
901
+ isHighlighted = $derived.by(() => this.root.highlightedValue === this.opts.value.current);
902
+ prevHighlighted = $state(undefined);
903
+ mounted = $state(false);
904
+ constructor(opts, root) {
905
+ this.opts = opts;
906
+ this.root = root;
907
+ this.attachment = attachRef(opts.ref);
908
+ let lastHighlighted = undefined;
909
+ $effect.pre(() => {
910
+ const current = this.isHighlighted;
911
+ this.prevHighlighted = lastHighlighted;
912
+ lastHighlighted = current;
913
+ });
914
+ $effect(() => {
915
+ this.isHighlighted;
916
+ this.prevHighlighted;
917
+ untrack(() => {
918
+ if (this.isHighlighted) {
919
+ this.opts.onHighlight.current();
920
+ }
921
+ else if (this.prevHighlighted) {
922
+ this.opts.onUnhighlight.current();
923
+ }
924
+ });
925
+ });
926
+ $effect(() => {
927
+ this.mounted;
928
+ untrack(() => {
929
+ if (!this.mounted)
930
+ return;
931
+ this.root.setInitialHighlightedNode();
932
+ });
933
+ });
934
+ this.onpointerdown = this.onpointerdown.bind(this);
935
+ this.onpointerup = this.onpointerup.bind(this);
936
+ this.onpointermove = this.onpointermove.bind(this);
937
+ }
938
+ handleSelect() {
939
+ if (this.opts.disabled.current)
940
+ return;
941
+ const isCurrentSelectedValue = this.opts.value.current === this.root.opts.value.current;
942
+ // if allowDeselect is false and the item is already selected and we're not in a
943
+ // multi select, do nothing and close the menu
944
+ if (!this.root.opts.allowDeselect.current && isCurrentSelectedValue && !this.root.isMulti) {
945
+ this.root.handleClose();
946
+ return;
947
+ }
948
+ // otherwise, toggle the item and if we're not in a multi select, close the menu
949
+ this.root.toggleItem(this.opts.value.current, this.opts.label.current);
950
+ if (!this.root.isMulti && !isCurrentSelectedValue) {
951
+ this.root.handleClose();
952
+ }
953
+ }
954
+ snippetProps = $derived.by(() => ({
955
+ selected: this.isSelected,
956
+ highlighted: this.isHighlighted,
957
+ }));
958
+ onpointerdown(e) {
959
+ // prevent focus from leaving the input/select trigger
960
+ e.preventDefault();
961
+ }
962
+ /**
963
+ * Using `pointerup` instead of `click` allows power users to pointerdown
964
+ * the trigger, then release pointerup on an item to select it vs having to do
965
+ * multiple clicks.
966
+ */
967
+ onpointerup(e) {
968
+ if (e.defaultPrevented || !this.opts.ref.current)
969
+ return;
970
+ /**
971
+ * For one reason or another, when it's a touch pointer and _not_ on IOS,
972
+ * we need to listen for the immediate click event to handle the selection,
973
+ * otherwise a click event will fire on the element _behind_ the item.
974
+ */
975
+ if (e.pointerType === 'touch' && !isIOS) {
976
+ on(this.opts.ref.current, 'click', () => {
977
+ this.handleSelect();
978
+ // set highlighted node since we don't do it on `pointermove` events
979
+ // for touch devices
980
+ this.root.setHighlightedNode(this.opts.ref.current);
981
+ }, { once: true });
982
+ return;
983
+ }
984
+ e.preventDefault();
985
+ this.handleSelect();
986
+ if (e.pointerType === 'touch') {
987
+ // set highlighted node since we don't do it on `pointermove` events
988
+ // for touch devices
989
+ this.root.setHighlightedNode(this.opts.ref.current);
990
+ }
991
+ }
992
+ onpointermove(e) {
993
+ /**
994
+ * We don't want to highlight items on touch devices when scrolling,
995
+ * as this is confusing behavior, so we return here and instead handle
996
+ * the highlighting on the `pointerup` (or following `click`) event for
997
+ * touch devices only.
998
+ */
999
+ if (e.pointerType === 'touch')
1000
+ return;
1001
+ if (this.root.highlightedNode !== this.opts.ref.current) {
1002
+ this.root.setHighlightedNode(this.opts.ref.current);
1003
+ }
1004
+ }
1005
+ props = $derived.by(() => ({
1006
+ id: this.opts.id.current,
1007
+ role: 'option',
1008
+ 'aria-selected': this.root.includesItem(this.opts.value.current) ? 'true' : undefined,
1009
+ 'data-value': this.opts.value.current,
1010
+ 'data-disabled': boolToEmptyStrOrUndef(this.opts.disabled.current),
1011
+ 'data-highlighted': this.root.highlightedValue === this.opts.value.current && !this.opts.disabled.current ? '' : undefined,
1012
+ 'data-selected': this.root.includesItem(this.opts.value.current) ? '' : undefined,
1013
+ 'data-label': this.opts.label.current,
1014
+ [this.root.getBitsAttr('item')]: '',
1015
+ onpointermove: this.onpointermove,
1016
+ onpointerdown: this.onpointerdown,
1017
+ onpointerup: this.onpointerup,
1018
+ ...this.attachment,
1019
+ }));
1020
+ }
1021
+ export class SelectGroupState {
1022
+ static create(opts) {
1023
+ return setSelectGroup(new SelectGroupState(opts, getSelectRoot()));
1024
+ }
1025
+ opts;
1026
+ root;
1027
+ labelNode = $state(null);
1028
+ attachment;
1029
+ constructor(opts, root) {
1030
+ this.opts = opts;
1031
+ this.root = root;
1032
+ this.attachment = attachRef(opts.ref);
1033
+ }
1034
+ props = $derived.by(() => ({
1035
+ id: this.opts.id.current,
1036
+ role: 'group',
1037
+ [this.root.getBitsAttr('group')]: '',
1038
+ 'aria-labelledby': this.labelNode?.id ?? undefined,
1039
+ ...this.attachment,
1040
+ }));
1041
+ }
1042
+ export class SelectGroupHeadingState {
1043
+ static create(opts) {
1044
+ return new SelectGroupHeadingState(opts, getSelectGroup());
1045
+ }
1046
+ opts;
1047
+ group;
1048
+ attachment;
1049
+ constructor(opts, group) {
1050
+ this.opts = opts;
1051
+ this.group = group;
1052
+ this.attachment = attachRef(opts.ref, (v) => (this.group.labelNode = v));
1053
+ }
1054
+ props = $derived.by(() => ({
1055
+ id: this.opts.id.current,
1056
+ [this.group.root.getBitsAttr('group-label')]: '',
1057
+ ...this.attachment,
1058
+ }));
1059
+ }
1060
+ export class SelectHiddenInputState {
1061
+ static create(opts) {
1062
+ return new SelectHiddenInputState(opts, getSelectRoot());
1063
+ }
1064
+ opts;
1065
+ root;
1066
+ shouldRender = $derived.by(() => this.root.opts.name.current !== '');
1067
+ constructor(opts, root) {
1068
+ this.opts = opts;
1069
+ this.root = root;
1070
+ this.onfocus = this.onfocus.bind(this);
1071
+ }
1072
+ onfocus(e) {
1073
+ e.preventDefault();
1074
+ if (!this.root.isCombobox) {
1075
+ this.root.triggerNode?.focus();
1076
+ }
1077
+ else {
1078
+ this.root.inputNode?.focus();
1079
+ }
1080
+ }
1081
+ props = $derived.by(() => ({
1082
+ disabled: boolToTrueOrUndef(this.root.opts.disabled.current),
1083
+ required: boolToTrueOrUndef(this.root.opts.required.current),
1084
+ name: this.root.opts.name.current,
1085
+ value: this.opts.value.current,
1086
+ onfocus: this.onfocus,
1087
+ }));
1088
+ }
1089
+ export class SelectViewportState {
1090
+ static create(opts) {
1091
+ return new SelectViewportState(opts, getSelectContent());
1092
+ }
1093
+ opts;
1094
+ content;
1095
+ root;
1096
+ attachment;
1097
+ prevScrollTop = $state(0);
1098
+ constructor(opts, content) {
1099
+ this.opts = opts;
1100
+ this.content = content;
1101
+ this.root = content.root;
1102
+ this.attachment = attachRef(opts.ref, (v) => {
1103
+ this.root.viewportNode = v;
1104
+ });
1105
+ }
1106
+ props = $derived.by(() => ({
1107
+ id: this.opts.id.current,
1108
+ role: 'presentation',
1109
+ [this.root.getBitsAttr('viewport')]: '',
1110
+ style: {
1111
+ // we use position: 'relative' here on the `viewport` so that when we call
1112
+ // `selectedItem.offsetTop` in calculations, the offset is relative to the viewport
1113
+ // (independent of the scrollUpButton).
1114
+ position: 'relative',
1115
+ flex: 1,
1116
+ overflow: 'auto',
1117
+ },
1118
+ ...this.attachment,
1119
+ }));
1120
+ }
1121
+ export class SelectScrollButtonImplState {
1122
+ opts;
1123
+ content;
1124
+ root;
1125
+ attachment;
1126
+ autoScrollTimer = null;
1127
+ userScrollTimer = -1;
1128
+ isUserScrolling = false;
1129
+ onAutoScroll = () => { };
1130
+ mounted = $state(false);
1131
+ constructor(opts, content) {
1132
+ this.opts = opts;
1133
+ this.content = content;
1134
+ this.root = content.root;
1135
+ this.attachment = attachRef(opts.ref);
1136
+ $effect(() => {
1137
+ this.mounted;
1138
+ untrack(() => {
1139
+ if (!this.mounted) {
1140
+ this.isUserScrolling = false;
1141
+ return;
1142
+ }
1143
+ if (this.isUserScrolling)
1144
+ return;
1145
+ });
1146
+ });
1147
+ $effect(() => {
1148
+ if (this.mounted)
1149
+ return;
1150
+ this.clearAutoScrollInterval();
1151
+ });
1152
+ this.onpointerdown = this.onpointerdown.bind(this);
1153
+ this.onpointermove = this.onpointermove.bind(this);
1154
+ this.onpointerleave = this.onpointerleave.bind(this);
1155
+ }
1156
+ handleUserScroll() {
1157
+ this.content.domContext.clearTimeout(this.userScrollTimer);
1158
+ this.isUserScrolling = true;
1159
+ this.userScrollTimer = this.content.domContext.setTimeout(() => {
1160
+ this.isUserScrolling = false;
1161
+ }, 200);
1162
+ }
1163
+ clearAutoScrollInterval() {
1164
+ if (this.autoScrollTimer === null)
1165
+ return;
1166
+ this.content.domContext.clearTimeout(this.autoScrollTimer);
1167
+ this.autoScrollTimer = null;
1168
+ }
1169
+ onpointerdown(_) {
1170
+ if (this.autoScrollTimer !== null)
1171
+ return;
1172
+ const autoScroll = (tick) => {
1173
+ this.onAutoScroll();
1174
+ this.autoScrollTimer = this.content.domContext.setTimeout(() => autoScroll(tick + 1), this.opts.delay.current(tick));
1175
+ };
1176
+ this.autoScrollTimer = this.content.domContext.setTimeout(() => autoScroll(1), this.opts.delay.current(0));
1177
+ }
1178
+ onpointermove(e) {
1179
+ this.onpointerdown(e);
1180
+ }
1181
+ onpointerleave(_) {
1182
+ this.clearAutoScrollInterval();
1183
+ }
1184
+ props = $derived.by(() => ({
1185
+ id: this.opts.id.current,
1186
+ 'aria-hidden': boolToStrTrueOrUndef(true),
1187
+ style: {
1188
+ flexShrink: 0,
1189
+ },
1190
+ onpointerdown: this.onpointerdown,
1191
+ onpointermove: this.onpointermove,
1192
+ onpointerleave: this.onpointerleave,
1193
+ ...this.attachment,
1194
+ }));
1195
+ }
1196
+ export class SelectScrollDownButtonState {
1197
+ static create(opts) {
1198
+ return new SelectScrollDownButtonState(new SelectScrollButtonImplState(opts, getSelectContent()));
1199
+ }
1200
+ scrollButtonState;
1201
+ content;
1202
+ root;
1203
+ canScrollDown = $state(false);
1204
+ scrollIntoViewTimer = null;
1205
+ constructor(scrollButtonState) {
1206
+ this.scrollButtonState = scrollButtonState;
1207
+ this.content = scrollButtonState.content;
1208
+ this.root = scrollButtonState.root;
1209
+ this.scrollButtonState.onAutoScroll = this.handleAutoScroll;
1210
+ $effect(() => {
1211
+ this.root.viewportNode;
1212
+ this.content.isPositioned;
1213
+ return untrack(() => {
1214
+ if (!this.root.viewportNode || !this.content.isPositioned)
1215
+ return;
1216
+ this.handleScroll(true);
1217
+ return on(this.root.viewportNode, 'scroll', () => this.handleScroll());
1218
+ });
1219
+ });
1220
+ /**
1221
+ * If the input value changes, this means that the filtered items may have changed,
1222
+ * so we need to re-evaluate the scroll-ability of the list.
1223
+ */
1224
+ $effect(() => {
1225
+ this.root.opts.inputValue.current;
1226
+ this.root.viewportNode;
1227
+ this.content.isPositioned;
1228
+ untrack(() => {
1229
+ if (!this.root.viewportNode || !this.content.isPositioned)
1230
+ return;
1231
+ this.handleScroll(true);
1232
+ });
1233
+ });
1234
+ $effect(() => {
1235
+ this.scrollButtonState.mounted;
1236
+ untrack(() => {
1237
+ if (!this.scrollButtonState.mounted)
1238
+ return;
1239
+ if (this.scrollIntoViewTimer) {
1240
+ clearTimeout(this.scrollIntoViewTimer);
1241
+ }
1242
+ this.scrollIntoViewTimer = setTimeout(() => {
1243
+ const activeItem = this.root.highlightedNode;
1244
+ if (!activeItem)
1245
+ return;
1246
+ this.root.scrollHighlightedNodeIntoView(activeItem);
1247
+ }, 5);
1248
+ });
1249
+ });
1250
+ }
1251
+ /**
1252
+ * @param manual - if true, it means the function was invoked manually outside of an event
1253
+ * listener, so we don't call `handleUserScroll` to prevent the auto scroll from kicking in.
1254
+ */
1255
+ handleScroll = (manual = false) => {
1256
+ if (!manual) {
1257
+ this.scrollButtonState.handleUserScroll();
1258
+ }
1259
+ if (!this.root.viewportNode)
1260
+ return;
1261
+ const maxScroll = this.root.viewportNode.scrollHeight - this.root.viewportNode.clientHeight;
1262
+ const paddingTop = Number.parseInt(getComputedStyle(this.root.viewportNode).paddingTop, 10);
1263
+ this.canScrollDown = Math.ceil(this.root.viewportNode.scrollTop) < maxScroll - paddingTop;
1264
+ };
1265
+ handleAutoScroll = () => {
1266
+ const viewport = this.root.viewportNode;
1267
+ const selectedItem = this.root.highlightedNode;
1268
+ if (!viewport || !selectedItem)
1269
+ return;
1270
+ viewport.scrollTop = viewport.scrollTop + selectedItem.offsetHeight;
1271
+ };
1272
+ props = $derived.by(() => ({
1273
+ ...this.scrollButtonState.props,
1274
+ [this.root.getBitsAttr('scroll-down-button')]: '',
1275
+ }));
1276
+ }
1277
+ export class SelectScrollUpButtonState {
1278
+ static create(opts) {
1279
+ return new SelectScrollUpButtonState(new SelectScrollButtonImplState(opts, getSelectContent()));
1280
+ }
1281
+ scrollButtonState;
1282
+ content;
1283
+ root;
1284
+ canScrollUp = $state(false);
1285
+ constructor(scrollButtonState) {
1286
+ this.scrollButtonState = scrollButtonState;
1287
+ this.content = scrollButtonState.content;
1288
+ this.root = scrollButtonState.root;
1289
+ this.scrollButtonState.onAutoScroll = this.handleAutoScroll;
1290
+ $effect(() => {
1291
+ this.root.viewportNode;
1292
+ this.content.isPositioned;
1293
+ return untrack(() => {
1294
+ if (!this.root.viewportNode || !this.content.isPositioned)
1295
+ return;
1296
+ this.handleScroll(true);
1297
+ return on(this.root.viewportNode, 'scroll', () => this.handleScroll());
1298
+ });
1299
+ });
1300
+ }
1301
+ /**
1302
+ * @param manual - if true, it means the function was invoked manually outside of an event
1303
+ * listener, so we don't call `handleUserScroll` to prevent the auto scroll from kicking in.
1304
+ */
1305
+ handleScroll = (manual = false) => {
1306
+ if (!manual) {
1307
+ this.scrollButtonState.handleUserScroll();
1308
+ }
1309
+ if (!this.root.viewportNode)
1310
+ return;
1311
+ const paddingTop = Number.parseInt(getComputedStyle(this.root.viewportNode).paddingTop, 10);
1312
+ this.canScrollUp = this.root.viewportNode.scrollTop - paddingTop > 0.1;
1313
+ };
1314
+ handleAutoScroll = () => {
1315
+ if (!this.root.viewportNode || !this.root.highlightedNode)
1316
+ return;
1317
+ this.root.viewportNode.scrollTop = this.root.viewportNode.scrollTop - this.root.highlightedNode.offsetHeight;
1318
+ };
1319
+ props = $derived.by(() => ({
1320
+ ...this.scrollButtonState.props,
1321
+ [this.root.getBitsAttr('scroll-up-button')]: '',
1322
+ }));
1323
+ }