sheer-ui 0.0.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 (635) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +42 -0
  3. package/package.json +369 -0
  4. package/src/lib/VENDORED.md +109 -0
  5. package/src/lib/assets/ui.css +733 -0
  6. package/src/lib/blocks/Appearance.svelte +104 -0
  7. package/src/lib/blocks/BoundaryFailed.svelte +33 -0
  8. package/src/lib/blocks/ErrorPage.svelte +65 -0
  9. package/src/lib/blocks/Footer.svelte +71 -0
  10. package/src/lib/blocks/Header.svelte +67 -0
  11. package/src/lib/blocks/Heading.svelte +86 -0
  12. package/src/lib/blocks/MobileNav.svelte +169 -0
  13. package/src/lib/blocks/PhoneInput.svelte +68 -0
  14. package/src/lib/blocks/Section.svelte +34 -0
  15. package/src/lib/blocks/alert-modal/AlertModal.svelte +83 -0
  16. package/src/lib/blocks/alert-modal/alert-modal.svelte.ts +81 -0
  17. package/src/lib/blocks/alert-modal/index.ts +2 -0
  18. package/src/lib/blocks/calendar.svelte +155 -0
  19. package/src/lib/blocks/copy-button/copy-button.svelte +43 -0
  20. package/src/lib/blocks/copy-button/copy.svelte.ts +52 -0
  21. package/src/lib/blocks/copy-button/index.ts +2 -0
  22. package/src/lib/blocks/date-picker/date-picker-with-presets.svelte +109 -0
  23. package/src/lib/blocks/date-picker/date-picker.svelte +91 -0
  24. package/src/lib/blocks/date-picker/index.ts +13 -0
  25. package/src/lib/blocks/date-picker/range-date-picker.svelte +128 -0
  26. package/src/lib/blocks/index.ts +12 -0
  27. package/src/lib/blocks/mockups/Browser.svelte +22 -0
  28. package/src/lib/blocks/mockups/Phone.svelte +44 -0
  29. package/src/lib/blocks/mockups/index.ts +2 -0
  30. package/src/lib/blocks/tab-nav/index.ts +1 -0
  31. package/src/lib/blocks/tab-nav/tab-nav.svelte +46 -0
  32. package/src/lib/blocks/time-picker/index.ts +16 -0
  33. package/src/lib/blocks/time-picker/time-input.svelte +118 -0
  34. package/src/lib/blocks/time-picker/time-picker.svelte +93 -0
  35. package/src/lib/blocks/time-picker/time-range-input.svelte +34 -0
  36. package/src/lib/blocks/time-picker/time-range-picker.svelte +180 -0
  37. package/src/lib/blocks/time-picker/time-slots.ts +61 -0
  38. package/src/lib/blocks/user-avatar/UserAvatar.svelte +36 -0
  39. package/src/lib/blocks/user-avatar/index.ts +1 -0
  40. package/src/lib/blocks/verification-code-field/VerificationCodeField.svelte +57 -0
  41. package/src/lib/blocks/verification-code-field/index.ts +1 -0
  42. package/src/lib/components/accordion/accordion.svelte.ts +43 -0
  43. package/src/lib/components/accordion/components/accordion-content.svelte +17 -0
  44. package/src/lib/components/accordion/components/accordion-item.svelte +58 -0
  45. package/src/lib/components/accordion/components/accordion-trigger.svelte +38 -0
  46. package/src/lib/components/accordion/components/accordion.svelte +24 -0
  47. package/src/lib/components/accordion/index.ts +11 -0
  48. package/src/lib/components/accordion/types.ts +19 -0
  49. package/src/lib/components/alert/alert-action.svelte +11 -0
  50. package/src/lib/components/alert/alert-description.svelte +18 -0
  51. package/src/lib/components/alert/alert-title.svelte +18 -0
  52. package/src/lib/components/alert/alert.svelte +37 -0
  53. package/src/lib/components/alert/index.ts +17 -0
  54. package/src/lib/components/avatar/avatar.svelte.ts +154 -0
  55. package/src/lib/components/avatar/components/avatar-fallback.svelte +38 -0
  56. package/src/lib/components/avatar/components/avatar-image.svelte +47 -0
  57. package/src/lib/components/avatar/components/avatar.svelte +57 -0
  58. package/src/lib/components/avatar/index.ts +9 -0
  59. package/src/lib/components/avatar/types.ts +46 -0
  60. package/src/lib/components/badge/badge.svelte +49 -0
  61. package/src/lib/components/badge/index.ts +1 -0
  62. package/src/lib/components/breadcrumb/breadcrumb-ellipsis.svelte +23 -0
  63. package/src/lib/components/breadcrumb/breadcrumb-item.svelte +11 -0
  64. package/src/lib/components/breadcrumb/breadcrumb-link.svelte +32 -0
  65. package/src/lib/components/breadcrumb/breadcrumb-list.svelte +15 -0
  66. package/src/lib/components/breadcrumb/breadcrumb-page.svelte +18 -0
  67. package/src/lib/components/breadcrumb/breadcrumb-separator.svelte +22 -0
  68. package/src/lib/components/breadcrumb/breadcrumb.svelte +10 -0
  69. package/src/lib/components/breadcrumb/index.ts +25 -0
  70. package/src/lib/components/button/button.svelte +55 -0
  71. package/src/lib/components/button/index.ts +12 -0
  72. package/src/lib/components/button/variants.ts +51 -0
  73. package/src/lib/components/calendar/calendar.svelte.ts +1081 -0
  74. package/src/lib/components/calendar/components/calendar-cell.svelte +34 -0
  75. package/src/lib/components/calendar/components/calendar-day.svelte +36 -0
  76. package/src/lib/components/calendar/components/calendar-grid-body.svelte +29 -0
  77. package/src/lib/components/calendar/components/calendar-grid-head.svelte +29 -0
  78. package/src/lib/components/calendar/components/calendar-grid-row.svelte +29 -0
  79. package/src/lib/components/calendar/components/calendar-grid.svelte +29 -0
  80. package/src/lib/components/calendar/components/calendar-head-cell.svelte +29 -0
  81. package/src/lib/components/calendar/components/calendar-header.svelte +29 -0
  82. package/src/lib/components/calendar/components/calendar-heading.svelte +33 -0
  83. package/src/lib/components/calendar/components/calendar-month-select.svelte +50 -0
  84. package/src/lib/components/calendar/components/calendar-next-button.svelte +37 -0
  85. package/src/lib/components/calendar/components/calendar-prev-button.svelte +37 -0
  86. package/src/lib/components/calendar/components/calendar-year-select.svelte +50 -0
  87. package/src/lib/components/calendar/components/calendar.svelte +123 -0
  88. package/src/lib/components/calendar/exports.ts +31 -0
  89. package/src/lib/components/calendar/index.ts +2 -0
  90. package/src/lib/components/calendar/types.ts +417 -0
  91. package/src/lib/components/card/card-action.svelte +15 -0
  92. package/src/lib/components/card/card-content.svelte +11 -0
  93. package/src/lib/components/card/card-description.svelte +11 -0
  94. package/src/lib/components/card/card-footer.svelte +11 -0
  95. package/src/lib/components/card/card-header.svelte +18 -0
  96. package/src/lib/components/card/card-title.svelte +11 -0
  97. package/src/lib/components/card/card.svelte +15 -0
  98. package/src/lib/components/card/index.ts +25 -0
  99. package/src/lib/components/carousel/carousel-arrow.svelte +42 -0
  100. package/src/lib/components/carousel/carousel-content.svelte +25 -0
  101. package/src/lib/components/carousel/carousel-dots.svelte +21 -0
  102. package/src/lib/components/carousel/carousel-item.svelte +21 -0
  103. package/src/lib/components/carousel/carousel-next.svelte +9 -0
  104. package/src/lib/components/carousel/carousel-previous.svelte +9 -0
  105. package/src/lib/components/carousel/carousel.svelte +245 -0
  106. package/src/lib/components/carousel/carouselState.svelte.ts +30 -0
  107. package/src/lib/components/carousel/index.ts +24 -0
  108. package/src/lib/components/chart/chart-container.svelte +52 -0
  109. package/src/lib/components/chart/chart-style.svelte +29 -0
  110. package/src/lib/components/chart/chart-tooltip.svelte +163 -0
  111. package/src/lib/components/chart/chart-utils.ts +50 -0
  112. package/src/lib/components/chart/index.ts +6 -0
  113. package/src/lib/components/checkbox/checkbox.svelte.ts +199 -0
  114. package/src/lib/components/checkbox/components/checkbox-group-label.svelte +29 -0
  115. package/src/lib/components/checkbox/components/checkbox-group.svelte +48 -0
  116. package/src/lib/components/checkbox/components/checkbox.svelte +85 -0
  117. package/src/lib/components/checkbox/index.ts +9 -0
  118. package/src/lib/components/checkbox/types.ts +131 -0
  119. package/src/lib/components/checkbox-native/checkbox.svelte +96 -0
  120. package/src/lib/components/checkbox-native/index.ts +8 -0
  121. package/src/lib/components/collapsible/components/collapsible-content.svelte +16 -0
  122. package/src/lib/components/collapsible/components/collapsible-trigger.svelte +14 -0
  123. package/src/lib/components/collapsible/components/collapsible.svelte +68 -0
  124. package/src/lib/components/collapsible/index.ts +9 -0
  125. package/src/lib/components/collapsible/types.ts +25 -0
  126. package/src/lib/components/combobox/components/combobox-arrow.svelte +8 -0
  127. package/src/lib/components/combobox/components/combobox-input.svelte +46 -0
  128. package/src/lib/components/combobox/components/combobox-trigger.svelte +44 -0
  129. package/src/lib/components/combobox/components/combobox.svelte +83 -0
  130. package/src/lib/components/combobox/index.ts +30 -0
  131. package/src/lib/components/combobox/select/components/select-content-static.svelte +56 -0
  132. package/src/lib/components/combobox/select/components/select-content.svelte +95 -0
  133. package/src/lib/components/combobox/select/components/select-group-heading.svelte +51 -0
  134. package/src/lib/components/combobox/select/components/select-group.svelte +51 -0
  135. package/src/lib/components/combobox/select/components/select-hidden-input.svelte +16 -0
  136. package/src/lib/components/combobox/select/components/select-item.svelte +86 -0
  137. package/src/lib/components/combobox/select/components/select-scroll-down-button.svelte +41 -0
  138. package/src/lib/components/combobox/select/components/select-scroll-up-button.svelte +34 -0
  139. package/src/lib/components/combobox/select/components/select-trigger.svelte +32 -0
  140. package/src/lib/components/combobox/select/components/select-value.svelte +40 -0
  141. package/src/lib/components/combobox/select/components/select-viewport.svelte +29 -0
  142. package/src/lib/components/combobox/select/components/select.svelte +92 -0
  143. package/src/lib/components/combobox/select/select.svelte.ts +1596 -0
  144. package/src/lib/components/combobox/select/types.ts +291 -0
  145. package/src/lib/components/combobox/types.ts +77 -0
  146. package/src/lib/components/command/command-dialog.svelte +42 -0
  147. package/src/lib/components/command/command.svelte.ts +1506 -0
  148. package/src/lib/components/command/components/_command-label.svelte +31 -0
  149. package/src/lib/components/command/components/command-empty.svelte +34 -0
  150. package/src/lib/components/command/components/command-group-heading.svelte +29 -0
  151. package/src/lib/components/command/components/command-group-items.svelte +31 -0
  152. package/src/lib/components/command/components/command-group.svelte +76 -0
  153. package/src/lib/components/command/components/command-input.svelte +55 -0
  154. package/src/lib/components/command/components/command-item.svelte +61 -0
  155. package/src/lib/components/command/components/command-link-item.svelte +61 -0
  156. package/src/lib/components/command/components/command-list.svelte +41 -0
  157. package/src/lib/components/command/components/command-loading.svelte +30 -0
  158. package/src/lib/components/command/components/command-separator.svelte +34 -0
  159. package/src/lib/components/command/components/command-viewport.svelte +29 -0
  160. package/src/lib/components/command/components/command.svelte +143 -0
  161. package/src/lib/components/command/compute-command-score.ts +207 -0
  162. package/src/lib/components/command/index.ts +29 -0
  163. package/src/lib/components/command/types.ts +222 -0
  164. package/src/lib/components/command/utils.ts +30 -0
  165. package/src/lib/components/context-menu/components/context-menu-content-static.svelte +22 -0
  166. package/src/lib/components/context-menu/components/context-menu-content.svelte +22 -0
  167. package/src/lib/components/context-menu/components/context-menu-trigger.svelte +46 -0
  168. package/src/lib/components/context-menu/components/context-menu.svelte +8 -0
  169. package/src/lib/components/context-menu/index.ts +39 -0
  170. package/src/lib/components/context-menu/types.ts +56 -0
  171. package/src/lib/components/data-table/column-helpers.ts +97 -0
  172. package/src/lib/components/data-table/data-table-checkbox.svelte +25 -0
  173. package/src/lib/components/data-table/data-table-sort-button.svelte +16 -0
  174. package/src/lib/components/data-table/flex-render.svelte +42 -0
  175. package/src/lib/components/data-table/index.ts +29 -0
  176. package/src/lib/components/data-table/render-helpers.ts +105 -0
  177. package/src/lib/components/data-table/table-cell.svelte +9 -0
  178. package/src/lib/components/data-table/table-column-header.svelte +51 -0
  179. package/src/lib/components/data-table/table-faceted-filter.svelte +109 -0
  180. package/src/lib/components/data-table/table-pagination.svelte +54 -0
  181. package/src/lib/components/data-table/table-priority-cell.svelte +22 -0
  182. package/src/lib/components/data-table/table-row-actions.svelte +29 -0
  183. package/src/lib/components/data-table/table-status-cell.svelte +34 -0
  184. package/src/lib/components/data-table/table-title-cell.svelte +24 -0
  185. package/src/lib/components/data-table/table-toolbar.svelte +55 -0
  186. package/src/lib/components/data-table/table-view-options.svelte +25 -0
  187. package/src/lib/components/date-field/components/date-field-hidden-input.svelte +9 -0
  188. package/src/lib/components/date-field/components/date-field-input.svelte +33 -0
  189. package/src/lib/components/date-field/components/date-field-label.svelte +29 -0
  190. package/src/lib/components/date-field/components/date-field-segment.svelte +29 -0
  191. package/src/lib/components/date-field/components/date-field.svelte +106 -0
  192. package/src/lib/components/date-field/date-field.svelte.ts +1474 -0
  193. package/src/lib/components/date-field/index.ts +11 -0
  194. package/src/lib/components/date-field/types.ts +165 -0
  195. package/src/lib/components/date-range-field/components/date-range-field-input.svelte +36 -0
  196. package/src/lib/components/date-range-field/components/date-range-field-label.svelte +29 -0
  197. package/src/lib/components/date-range-field/components/date-range-field.svelte +106 -0
  198. package/src/lib/components/date-range-field/date-range-field.svelte.ts +212 -0
  199. package/src/lib/components/date-range-field/index.ts +11 -0
  200. package/src/lib/components/date-range-field/types.ts +171 -0
  201. package/src/lib/components/dialog/components/dialog-close.svelte +31 -0
  202. package/src/lib/components/dialog/components/dialog-content-headless.svelte +104 -0
  203. package/src/lib/components/dialog/components/dialog-content.svelte +69 -0
  204. package/src/lib/components/dialog/components/dialog-description.svelte +29 -0
  205. package/src/lib/components/dialog/components/dialog-overlay.svelte +31 -0
  206. package/src/lib/components/dialog/components/dialog-title.svelte +30 -0
  207. package/src/lib/components/dialog/components/dialog-trigger.svelte +30 -0
  208. package/src/lib/components/dialog/components/dialog.svelte +21 -0
  209. package/src/lib/components/dialog/components/modal-surface.svelte +131 -0
  210. package/src/lib/components/dialog/dialog.svelte.ts +371 -0
  211. package/src/lib/components/dialog/index.ts +19 -0
  212. package/src/lib/components/dialog/types.ts +105 -0
  213. package/src/lib/components/drawer/drawer-close.svelte +7 -0
  214. package/src/lib/components/drawer/drawer-content.svelte +91 -0
  215. package/src/lib/components/drawer/drawer-description.svelte +8 -0
  216. package/src/lib/components/drawer/drawer-footer.svelte +11 -0
  217. package/src/lib/components/drawer/drawer-header.svelte +11 -0
  218. package/src/lib/components/drawer/drawer-nested.svelte +44 -0
  219. package/src/lib/components/drawer/drawer-overlay.svelte +60 -0
  220. package/src/lib/components/drawer/drawer-portal.svelte +10 -0
  221. package/src/lib/components/drawer/drawer-title.svelte +8 -0
  222. package/src/lib/components/drawer/drawer-trigger.svelte +7 -0
  223. package/src/lib/components/drawer/drawer.svelte +290 -0
  224. package/src/lib/components/drawer/index.ts +37 -0
  225. package/src/lib/components/dropdown-menu/components/dropdown-menu-content-static.svelte +22 -0
  226. package/src/lib/components/dropdown-menu/components/dropdown-menu-content.svelte +22 -0
  227. package/src/lib/components/dropdown-menu/index.ts +39 -0
  228. package/src/lib/components/dropdown-menu/types.ts +41 -0
  229. package/src/lib/components/empty/empty-content.svelte +15 -0
  230. package/src/lib/components/empty/empty-description.svelte +15 -0
  231. package/src/lib/components/empty/empty-header.svelte +15 -0
  232. package/src/lib/components/empty/empty-media.svelte +21 -0
  233. package/src/lib/components/empty/empty-title.svelte +11 -0
  234. package/src/lib/components/empty/empty.svelte +18 -0
  235. package/src/lib/components/empty/index.ts +22 -0
  236. package/src/lib/components/empty/variants.ts +16 -0
  237. package/src/lib/components/field/field-content.svelte +14 -0
  238. package/src/lib/components/field/field-description.svelte +19 -0
  239. package/src/lib/components/field/field-error.svelte +47 -0
  240. package/src/lib/components/field/field-group.svelte +17 -0
  241. package/src/lib/components/field/field-label.svelte +18 -0
  242. package/src/lib/components/field/field-legend.svelte +23 -0
  243. package/src/lib/components/field/field-separator.svelte +32 -0
  244. package/src/lib/components/field/field-set.svelte +14 -0
  245. package/src/lib/components/field/field-title.svelte +14 -0
  246. package/src/lib/components/field/field.svelte +36 -0
  247. package/src/lib/components/field/index.ts +32 -0
  248. package/src/lib/components/field/variants.ts +19 -0
  249. package/src/lib/components/input/file-input.svelte +26 -0
  250. package/src/lib/components/input/index.ts +12 -0
  251. package/src/lib/components/input/input.svelte +24 -0
  252. package/src/lib/components/input/variants.ts +28 -0
  253. package/src/lib/components/item/index.ts +34 -0
  254. package/src/lib/components/item/item-actions.svelte +11 -0
  255. package/src/lib/components/item/item-content.svelte +15 -0
  256. package/src/lib/components/item/item-description.svelte +18 -0
  257. package/src/lib/components/item/item-footer.svelte +11 -0
  258. package/src/lib/components/item/item-group.svelte +16 -0
  259. package/src/lib/components/item/item-header.svelte +11 -0
  260. package/src/lib/components/item/item-media.svelte +37 -0
  261. package/src/lib/components/item/item-separator.svelte +9 -0
  262. package/src/lib/components/item/item-title.svelte +15 -0
  263. package/src/lib/components/item/item.svelte +61 -0
  264. package/src/lib/components/kbd/index.ts +10 -0
  265. package/src/lib/components/kbd/kbd-group.svelte +11 -0
  266. package/src/lib/components/kbd/kbd.svelte +18 -0
  267. package/src/lib/components/label/exports.ts +2 -0
  268. package/src/lib/components/label/index.ts +2 -0
  269. package/src/lib/components/label/label.svelte +39 -0
  270. package/src/lib/components/label/label.svelte.ts +39 -0
  271. package/src/lib/components/label/types.ts +7 -0
  272. package/src/lib/components/link-preview/components/link-preview-content.svelte +60 -0
  273. package/src/lib/components/link-preview/components/link-preview-trigger.svelte +29 -0
  274. package/src/lib/components/link-preview/components/link-preview.svelte +34 -0
  275. package/src/lib/components/link-preview/exports.ts +11 -0
  276. package/src/lib/components/link-preview/index.ts +2 -0
  277. package/src/lib/components/link-preview/link-preview.svelte.ts +270 -0
  278. package/src/lib/components/link-preview/types.ts +102 -0
  279. package/src/lib/components/menu/components/menu-arrow.svelte +14 -0
  280. package/src/lib/components/menu/components/menu-checkbox-group.svelte +42 -0
  281. package/src/lib/components/menu/components/menu-checkbox-item.svelte +85 -0
  282. package/src/lib/components/menu/components/menu-content.svelte +98 -0
  283. package/src/lib/components/menu/components/menu-group-heading.svelte +47 -0
  284. package/src/lib/components/menu/components/menu-group.svelte +36 -0
  285. package/src/lib/components/menu/components/menu-item.svelte +58 -0
  286. package/src/lib/components/menu/components/menu-radio-group.svelte +44 -0
  287. package/src/lib/components/menu/components/menu-radio-item.svelte +65 -0
  288. package/src/lib/components/menu/components/menu-separator.svelte +38 -0
  289. package/src/lib/components/menu/components/menu-sub-content-static.svelte +8 -0
  290. package/src/lib/components/menu/components/menu-sub-content.svelte +133 -0
  291. package/src/lib/components/menu/components/menu-sub-trigger.svelte +60 -0
  292. package/src/lib/components/menu/components/menu-sub.svelte +23 -0
  293. package/src/lib/components/menu/components/menu-trigger.svelte +50 -0
  294. package/src/lib/components/menu/components/menu.svelte +58 -0
  295. package/src/lib/components/menu/exports.ts +38 -0
  296. package/src/lib/components/menu/menu.svelte.ts +1599 -0
  297. package/src/lib/components/menu/types.ts +285 -0
  298. package/src/lib/components/menu/utils.ts +68 -0
  299. package/src/lib/components/menubar/components/menubar-content-static.svelte +50 -0
  300. package/src/lib/components/menubar/components/menubar-content.svelte +54 -0
  301. package/src/lib/components/menubar/components/menubar-menu.svelte +34 -0
  302. package/src/lib/components/menubar/components/menubar-trigger.svelte +50 -0
  303. package/src/lib/components/menubar/components/menubar.svelte +57 -0
  304. package/src/lib/components/menubar/exports.ts +44 -0
  305. package/src/lib/components/menubar/index.ts +2 -0
  306. package/src/lib/components/menubar/menubar.svelte.ts +394 -0
  307. package/src/lib/components/menubar/types.ts +97 -0
  308. package/src/lib/components/meter/components/meter.svelte +41 -0
  309. package/src/lib/components/meter/exports.ts +2 -0
  310. package/src/lib/components/meter/index.ts +2 -0
  311. package/src/lib/components/meter/meter.svelte.ts +47 -0
  312. package/src/lib/components/meter/types.ts +28 -0
  313. package/src/lib/components/navigation-menu/components/navigation-menu-content-impl.svelte +85 -0
  314. package/src/lib/components/navigation-menu/components/navigation-menu-content.svelte +58 -0
  315. package/src/lib/components/navigation-menu/components/navigation-menu-indicator-impl.svelte +29 -0
  316. package/src/lib/components/navigation-menu/components/navigation-menu-indicator.svelte +56 -0
  317. package/src/lib/components/navigation-menu/components/navigation-menu-item.svelte +56 -0
  318. package/src/lib/components/navigation-menu/components/navigation-menu-link.svelte +64 -0
  319. package/src/lib/components/navigation-menu/components/navigation-menu-list.svelte +59 -0
  320. package/src/lib/components/navigation-menu/components/navigation-menu-sub.svelte +46 -0
  321. package/src/lib/components/navigation-menu/components/navigation-menu-trigger.svelte +80 -0
  322. package/src/lib/components/navigation-menu/components/navigation-menu-viewport.svelte +63 -0
  323. package/src/lib/components/navigation-menu/components/navigation-menu.svelte +80 -0
  324. package/src/lib/components/navigation-menu/index.ts +28 -0
  325. package/src/lib/components/navigation-menu/navigation-menu.svelte.ts +1092 -0
  326. package/src/lib/components/navigation-menu/types.ts +189 -0
  327. package/src/lib/components/pagination/components/pagination-next-button.svelte +60 -0
  328. package/src/lib/components/pagination/components/pagination-page.svelte +65 -0
  329. package/src/lib/components/pagination/components/pagination-prev-button.svelte +60 -0
  330. package/src/lib/components/pagination/components/pagination.svelte +65 -0
  331. package/src/lib/components/pagination/index.ts +11 -0
  332. package/src/lib/components/pagination/pagination.svelte.ts +275 -0
  333. package/src/lib/components/pagination/types.ts +100 -0
  334. package/src/lib/components/pin-input/components/pin-input-cell.svelte +49 -0
  335. package/src/lib/components/pin-input/components/pin-input.svelte +76 -0
  336. package/src/lib/components/pin-input/exports.ts +4 -0
  337. package/src/lib/components/pin-input/index.ts +2 -0
  338. package/src/lib/components/pin-input/pin-input.svelte.ts +541 -0
  339. package/src/lib/components/pin-input/types.ts +118 -0
  340. package/src/lib/components/pin-input/usePasswordManager.svelte.ts +122 -0
  341. package/src/lib/components/popover/components/popover-close.svelte +38 -0
  342. package/src/lib/components/popover/components/popover-content.svelte +70 -0
  343. package/src/lib/components/popover/components/popover-header.svelte +11 -0
  344. package/src/lib/components/popover/components/popover-title.svelte +11 -0
  345. package/src/lib/components/popover/components/popover-trigger.svelte +44 -0
  346. package/src/lib/components/popover/components/popover.svelte +26 -0
  347. package/src/lib/components/popover/exports.ts +13 -0
  348. package/src/lib/components/popover/index.ts +2 -0
  349. package/src/lib/components/popover/popover.svelte.ts +392 -0
  350. package/src/lib/components/popover/types.ts +92 -0
  351. package/src/lib/components/progress/components/progress.svelte +56 -0
  352. package/src/lib/components/progress/exports.ts +3 -0
  353. package/src/lib/components/progress/index.ts +2 -0
  354. package/src/lib/components/progress/progress.svelte.ts +58 -0
  355. package/src/lib/components/progress/types.ts +28 -0
  356. package/src/lib/components/radio-group/context.ts +13 -0
  357. package/src/lib/components/radio-group/index.ts +10 -0
  358. package/src/lib/components/radio-group/radio-group-item.svelte +67 -0
  359. package/src/lib/components/radio-group/radio-group.svelte +87 -0
  360. package/src/lib/components/range-calendar/components/range-calendar-cell.svelte +31 -0
  361. package/src/lib/components/range-calendar/components/range-calendar-day.svelte +33 -0
  362. package/src/lib/components/range-calendar/components/range-calendar.svelte +120 -0
  363. package/src/lib/components/range-calendar/exports.ts +31 -0
  364. package/src/lib/components/range-calendar/index.ts +2 -0
  365. package/src/lib/components/range-calendar/range-calendar.svelte.ts +739 -0
  366. package/src/lib/components/range-calendar/types.ts +258 -0
  367. package/src/lib/components/resizable/index.ts +15 -0
  368. package/src/lib/components/resizable/resizable-handle.svelte +30 -0
  369. package/src/lib/components/resizable/resizable-pane-group.svelte +19 -0
  370. package/src/lib/components/scroll-area/components/scroll-area-corner-impl.svelte +34 -0
  371. package/src/lib/components/scroll-area/components/scroll-area-corner.svelte +18 -0
  372. package/src/lib/components/scroll-area/components/scroll-area-scrollbar-auto.svelte +15 -0
  373. package/src/lib/components/scroll-area/components/scroll-area-scrollbar-hover.svelte +22 -0
  374. package/src/lib/components/scroll-area/components/scroll-area-scrollbar-scroll.svelte +16 -0
  375. package/src/lib/components/scroll-area/components/scroll-area-scrollbar-shared.svelte +19 -0
  376. package/src/lib/components/scroll-area/components/scroll-area-scrollbar-visible.svelte +16 -0
  377. package/src/lib/components/scroll-area/components/scroll-area-scrollbar-x.svelte +23 -0
  378. package/src/lib/components/scroll-area/components/scroll-area-scrollbar-y.svelte +24 -0
  379. package/src/lib/components/scroll-area/components/scroll-area-scrollbar.svelte +56 -0
  380. package/src/lib/components/scroll-area/components/scroll-area-thumb-impl.svelte +49 -0
  381. package/src/lib/components/scroll-area/components/scroll-area-thumb.svelte +21 -0
  382. package/src/lib/components/scroll-area/components/scroll-area-viewport.svelte +39 -0
  383. package/src/lib/components/scroll-area/components/scroll-area.svelte +82 -0
  384. package/src/lib/components/scroll-area/exports.ts +13 -0
  385. package/src/lib/components/scroll-area/index.ts +2 -0
  386. package/src/lib/components/scroll-area/scroll-area.svelte.ts +946 -0
  387. package/src/lib/components/scroll-area/types.ts +67 -0
  388. package/src/lib/components/select/index.ts +5 -0
  389. package/src/lib/components/select/select-opt-group.svelte +10 -0
  390. package/src/lib/components/select/select-option.svelte +15 -0
  391. package/src/lib/components/select/select.svelte +281 -0
  392. package/src/lib/components/separator/components/separator.svelte +49 -0
  393. package/src/lib/components/separator/index.ts +3 -0
  394. package/src/lib/components/separator/separator.svelte.ts +43 -0
  395. package/src/lib/components/separator/types.ts +22 -0
  396. package/src/lib/components/sheet/components/sheet-close.svelte +8 -0
  397. package/src/lib/components/sheet/components/sheet-content.svelte +108 -0
  398. package/src/lib/components/sheet/components/sheet-description.svelte +9 -0
  399. package/src/lib/components/sheet/components/sheet-footer.svelte +11 -0
  400. package/src/lib/components/sheet/components/sheet-header.svelte +11 -0
  401. package/src/lib/components/sheet/components/sheet-overlay.svelte +13 -0
  402. package/src/lib/components/sheet/components/sheet-title.svelte +9 -0
  403. package/src/lib/components/sheet/components/sheet-trigger.svelte +8 -0
  404. package/src/lib/components/sheet/index.ts +47 -0
  405. package/src/lib/components/sheet/variants.ts +20 -0
  406. package/src/lib/components/sidebar/constants.ts +6 -0
  407. package/src/lib/components/sidebar/context.svelte.ts +54 -0
  408. package/src/lib/components/sidebar/index.ts +77 -0
  409. package/src/lib/components/sidebar/sidebar-content.svelte +16 -0
  410. package/src/lib/components/sidebar/sidebar-desktop-surface.svelte +60 -0
  411. package/src/lib/components/sidebar/sidebar-footer.svelte +11 -0
  412. package/src/lib/components/sidebar/sidebar-group-action.svelte +34 -0
  413. package/src/lib/components/sidebar/sidebar-group-content.svelte +16 -0
  414. package/src/lib/components/sidebar/sidebar-group-label.svelte +34 -0
  415. package/src/lib/components/sidebar/sidebar-group.svelte +16 -0
  416. package/src/lib/components/sidebar/sidebar-header.svelte +11 -0
  417. package/src/lib/components/sidebar/sidebar-input.svelte +14 -0
  418. package/src/lib/components/sidebar/sidebar-inset.svelte +18 -0
  419. package/src/lib/components/sidebar/sidebar-menu-action.svelte +38 -0
  420. package/src/lib/components/sidebar/sidebar-menu-badge.svelte +19 -0
  421. package/src/lib/components/sidebar/sidebar-menu-button.svelte +99 -0
  422. package/src/lib/components/sidebar/sidebar-menu-item.svelte +21 -0
  423. package/src/lib/components/sidebar/sidebar-menu-skeleton.svelte +34 -0
  424. package/src/lib/components/sidebar/sidebar-menu-sub-button.svelte +40 -0
  425. package/src/lib/components/sidebar/sidebar-menu-sub-item.svelte +16 -0
  426. package/src/lib/components/sidebar/sidebar-menu-sub.svelte +19 -0
  427. package/src/lib/components/sidebar/sidebar-menu.svelte +21 -0
  428. package/src/lib/components/sidebar/sidebar-mobile-surface.svelte +48 -0
  429. package/src/lib/components/sidebar/sidebar-provider.svelte +60 -0
  430. package/src/lib/components/sidebar/sidebar-rail.svelte +36 -0
  431. package/src/lib/components/sidebar/sidebar-separator.svelte +9 -0
  432. package/src/lib/components/sidebar/sidebar-trigger.svelte +35 -0
  433. package/src/lib/components/sidebar/sidebar.svelte +30 -0
  434. package/src/lib/components/sidebar/types.ts +14 -0
  435. package/src/lib/components/skeleton/index.ts +7 -0
  436. package/src/lib/components/skeleton/skeleton.svelte +9 -0
  437. package/src/lib/components/slider/components/slider-range.svelte +37 -0
  438. package/src/lib/components/slider/components/slider-thumb-label.svelte +42 -0
  439. package/src/lib/components/slider/components/slider-thumb.svelte +46 -0
  440. package/src/lib/components/slider/components/slider-tick-label.svelte +42 -0
  441. package/src/lib/components/slider/components/slider-tick.svelte +28 -0
  442. package/src/lib/components/slider/components/slider.svelte +136 -0
  443. package/src/lib/components/slider/helpers.ts +249 -0
  444. package/src/lib/components/slider/index.ts +15 -0
  445. package/src/lib/components/slider/slider.svelte.ts +979 -0
  446. package/src/lib/components/slider/types.ts +294 -0
  447. package/src/lib/components/sonner/Toast.svelte +558 -0
  448. package/src/lib/components/sonner/Toaster.svelte +603 -0
  449. package/src/lib/components/sonner/index.ts +15 -0
  450. package/src/lib/components/sonner/toast-state.svelte.ts +217 -0
  451. package/src/lib/components/sonner/types.ts +384 -0
  452. package/src/lib/components/switch/index.ts +8 -0
  453. package/src/lib/components/switch/switch.svelte +78 -0
  454. package/src/lib/components/table/index.ts +28 -0
  455. package/src/lib/components/table/table-body.svelte +15 -0
  456. package/src/lib/components/table/table-caption.svelte +10 -0
  457. package/src/lib/components/table/table-cell.svelte +14 -0
  458. package/src/lib/components/table/table-footer.svelte +19 -0
  459. package/src/lib/components/table/table-head.svelte +17 -0
  460. package/src/lib/components/table/table-header.svelte +15 -0
  461. package/src/lib/components/table/table-row.svelte +14 -0
  462. package/src/lib/components/table/table.svelte +12 -0
  463. package/src/lib/components/tabs/components/tabs-content.svelte +30 -0
  464. package/src/lib/components/tabs/components/tabs-list.svelte +38 -0
  465. package/src/lib/components/tabs/components/tabs-trigger.svelte +51 -0
  466. package/src/lib/components/tabs/components/tabs.svelte +52 -0
  467. package/src/lib/components/tabs/index.ts +11 -0
  468. package/src/lib/components/tabs/tabs.svelte.ts +253 -0
  469. package/src/lib/components/tabs/types.ts +86 -0
  470. package/src/lib/components/textarea/index.ts +7 -0
  471. package/src/lib/components/textarea/textarea.svelte +23 -0
  472. package/src/lib/components/theme-toggle/index.ts +5 -0
  473. package/src/lib/components/theme-toggle/theme-toggle.svelte +49 -0
  474. package/src/lib/components/theme-toggle/theme.svelte.ts +81 -0
  475. package/src/lib/components/time-field/components/time-field-hidden-input.svelte +9 -0
  476. package/src/lib/components/time-field/components/time-field-input.svelte +33 -0
  477. package/src/lib/components/time-field/components/time-field-label.svelte +29 -0
  478. package/src/lib/components/time-field/components/time-field-segment.svelte +29 -0
  479. package/src/lib/components/time-field/components/time-field.svelte +99 -0
  480. package/src/lib/components/time-field/index.ts +11 -0
  481. package/src/lib/components/time-field/time-field.svelte.ts +1198 -0
  482. package/src/lib/components/time-field/types.ts +174 -0
  483. package/src/lib/components/time-range-field/components/time-range-field-input.svelte +36 -0
  484. package/src/lib/components/time-range-field/components/time-range-field-label.svelte +29 -0
  485. package/src/lib/components/time-range-field/components/time-range-field.svelte +104 -0
  486. package/src/lib/components/time-range-field/index.ts +11 -0
  487. package/src/lib/components/time-range-field/time-range-field.svelte.ts +235 -0
  488. package/src/lib/components/time-range-field/types.ts +181 -0
  489. package/src/lib/components/toggle/components/toggle.svelte +55 -0
  490. package/src/lib/components/toggle/index.ts +3 -0
  491. package/src/lib/components/toggle/toggle.svelte.ts +57 -0
  492. package/src/lib/components/toggle/types.ts +33 -0
  493. package/src/lib/components/toggle/variants.ts +25 -0
  494. package/src/lib/components/toggle-group/components/toggle-group-item.svelte +67 -0
  495. package/src/lib/components/toggle-group/components/toggle-group.svelte +109 -0
  496. package/src/lib/components/toggle-group/index.ts +7 -0
  497. package/src/lib/components/toggle-group/toggle-group.svelte.ts +235 -0
  498. package/src/lib/components/toggle-group/types.ts +89 -0
  499. package/src/lib/components/toolbar/components/toolbar-button.svelte +46 -0
  500. package/src/lib/components/toolbar/components/toolbar-group-item.svelte +56 -0
  501. package/src/lib/components/toolbar/components/toolbar-group.svelte +69 -0
  502. package/src/lib/components/toolbar/components/toolbar-link.svelte +39 -0
  503. package/src/lib/components/toolbar/components/toolbar.svelte +39 -0
  504. package/src/lib/components/toolbar/index.ts +13 -0
  505. package/src/lib/components/toolbar/toolbar.svelte.ts +373 -0
  506. package/src/lib/components/toolbar/types.ts +60 -0
  507. package/src/lib/components/tooltip/components/tooltip-content.svelte +81 -0
  508. package/src/lib/components/tooltip/components/tooltip-provider.svelte +26 -0
  509. package/src/lib/components/tooltip/components/tooltip-trigger.svelte +48 -0
  510. package/src/lib/components/tooltip/components/tooltip.svelte +55 -0
  511. package/src/lib/components/tooltip/index.ts +17 -0
  512. package/src/lib/components/tooltip/tooltip.svelte.ts +796 -0
  513. package/src/lib/components/tooltip/types.ts +175 -0
  514. package/src/lib/components/tooltip/utils.ts +1 -0
  515. package/src/lib/icons/google-icon.svelte +10 -0
  516. package/src/lib/icons/google-workspace.svelte +18 -0
  517. package/src/lib/icons/icon.d.ts +19 -0
  518. package/src/lib/icons/instagram.svelte +9 -0
  519. package/src/lib/icons/instantly.svelte +10 -0
  520. package/src/lib/icons/linkedin.svelte +9 -0
  521. package/src/lib/icons/mailshake.svelte +10 -0
  522. package/src/lib/icons/microsoft-365.svelte +7 -0
  523. package/src/lib/icons/passcode.svelte +12 -0
  524. package/src/lib/icons/replyio.svelte +10 -0
  525. package/src/lib/icons/smartlead.svelte +19 -0
  526. package/src/lib/icons/smtp.svelte +10 -0
  527. package/src/lib/icons/x-logo.svelte +9 -0
  528. package/src/lib/internal/animations-settled.svelte.ts +119 -0
  529. package/src/lib/internal/arrays.ts +253 -0
  530. package/src/lib/internal/attribute-types.ts +53 -0
  531. package/src/lib/internal/attrs.ts +64 -0
  532. package/src/lib/internal/body-scroll-lock.svelte.ts +330 -0
  533. package/src/lib/internal/create-id.ts +12 -0
  534. package/src/lib/internal/date-time/announcer.ts +74 -0
  535. package/src/lib/internal/date-time/calendar-helpers.svelte.ts +399 -0
  536. package/src/lib/internal/date-time/field/helpers.ts +431 -0
  537. package/src/lib/internal/date-time/field/parts.ts +15 -0
  538. package/src/lib/internal/date-time/field/range-field.svelte.ts +45 -0
  539. package/src/lib/internal/date-time/field/segments.ts +89 -0
  540. package/src/lib/internal/date-time/field/time-helpers.ts +311 -0
  541. package/src/lib/internal/date-time/formatter.ts +86 -0
  542. package/src/lib/internal/date-time/placeholders.ts +131 -0
  543. package/src/lib/internal/date-time/types.ts +121 -0
  544. package/src/lib/internal/date-time/utils.ts +243 -0
  545. package/src/lib/internal/dismissible-layer/index.ts +3 -0
  546. package/src/lib/internal/dismissible-layer/scheduler.ts +48 -0
  547. package/src/lib/internal/dismissible-layer/types.ts +57 -0
  548. package/src/lib/internal/dismissible-layer/use-dismissable-layer.svelte.ts +291 -0
  549. package/src/lib/internal/escape-layer/index.ts +3 -0
  550. package/src/lib/internal/escape-layer/types.ts +34 -0
  551. package/src/lib/internal/escape-layer/use-escape-layer.svelte.ts +91 -0
  552. package/src/lib/internal/floating-layer/components/floating-layer-arrow.svelte +35 -0
  553. package/src/lib/internal/floating-layer/components/floating-layer-content-static.svelte +19 -0
  554. package/src/lib/internal/floating-layer/components/floating-layer-content.svelte +52 -0
  555. package/src/lib/internal/floating-layer/components/floating-layer.svelte +12 -0
  556. package/src/lib/internal/floating-layer/components/index.ts +6 -0
  557. package/src/lib/internal/floating-layer/index.ts +2 -0
  558. package/src/lib/internal/floating-layer/types.ts +126 -0
  559. package/src/lib/internal/floating-layer/use-floating-layer.svelte.ts +471 -0
  560. package/src/lib/internal/focus-scope/focus-scope.svelte.ts +310 -0
  561. package/src/lib/internal/focus-scope/index.ts +4 -0
  562. package/src/lib/internal/focus-scope/types.ts +45 -0
  563. package/src/lib/internal/focus.ts +14 -0
  564. package/src/lib/internal/global-singleton.ts +10 -0
  565. package/src/lib/internal/group-value.svelte.ts +36 -0
  566. package/src/lib/internal/hover-intent-geometry.ts +96 -0
  567. package/src/lib/internal/index.ts +44 -0
  568. package/src/lib/internal/kbd.ts +60 -0
  569. package/src/lib/internal/layer-stack.ts +37 -0
  570. package/src/lib/internal/math.ts +11 -0
  571. package/src/lib/internal/merge-props.ts +7 -0
  572. package/src/lib/internal/native-dialog-controller.svelte.ts +102 -0
  573. package/src/lib/internal/native-popover.svelte.ts +173 -0
  574. package/src/lib/internal/open-cell.svelte.ts +41 -0
  575. package/src/lib/internal/paneforge/index.ts +5 -0
  576. package/src/lib/internal/paneforge/internal/constants.ts +2 -0
  577. package/src/lib/internal/paneforge/internal/helpers.ts +354 -0
  578. package/src/lib/internal/paneforge/internal/types.ts +33 -0
  579. package/src/lib/internal/paneforge/internal/utils/adjust-layout.ts +122 -0
  580. package/src/lib/internal/paneforge/internal/utils/aria.ts +36 -0
  581. package/src/lib/internal/paneforge/internal/utils/compare.ts +15 -0
  582. package/src/lib/internal/paneforge/internal/utils/is.ts +13 -0
  583. package/src/lib/internal/paneforge/internal/utils/resize.ts +31 -0
  584. package/src/lib/internal/paneforge/internal/utils/storage.ts +116 -0
  585. package/src/lib/internal/paneforge/internal/utils/style.ts +104 -0
  586. package/src/lib/internal/paneforge/pane-group.svelte +48 -0
  587. package/src/lib/internal/paneforge/pane-resizer.svelte +40 -0
  588. package/src/lib/internal/paneforge/pane.svelte +60 -0
  589. package/src/lib/internal/paneforge/paneforge.svelte.ts +821 -0
  590. package/src/lib/internal/paneforge/types.ts +179 -0
  591. package/src/lib/internal/popper-layer/index.ts +2 -0
  592. package/src/lib/internal/popper-layer/popper-content.svelte +19 -0
  593. package/src/lib/internal/popper-layer/popper-layer-inner.svelte +122 -0
  594. package/src/lib/internal/popper-layer/popper-layer.svelte +71 -0
  595. package/src/lib/internal/popper-layer/types.ts +65 -0
  596. package/src/lib/internal/portal/index.ts +2 -0
  597. package/src/lib/internal/portal/portal.svelte +61 -0
  598. package/src/lib/internal/prop-resolvers.ts +14 -0
  599. package/src/lib/internal/roving-focus-group.ts +147 -0
  600. package/src/lib/internal/roving-focus-item.svelte.ts +51 -0
  601. package/src/lib/internal/safe-polygon.svelte.ts +239 -0
  602. package/src/lib/internal/shared-state.svelte.ts +39 -0
  603. package/src/lib/internal/state-machine.ts +32 -0
  604. package/src/lib/internal/svelte-resize-observer.svelte.ts +37 -0
  605. package/src/lib/internal/tabbable.ts +398 -0
  606. package/src/lib/internal/table/core.ts +53 -0
  607. package/src/lib/internal/table/filter-fns.ts +10 -0
  608. package/src/lib/internal/table/index.ts +2 -0
  609. package/src/lib/internal/table/sorting-fns.ts +84 -0
  610. package/src/lib/internal/table/table.svelte.ts +330 -0
  611. package/src/lib/internal/table/types.ts +33 -0
  612. package/src/lib/internal/timeout-fn.svelte.ts +36 -0
  613. package/src/lib/internal/tools/box.svelte.ts +153 -0
  614. package/src/lib/internal/tools/index.ts +22 -0
  615. package/src/lib/internal/tools/types.ts +44 -0
  616. package/src/lib/internal/tools/utils/attach-ref.ts +74 -0
  617. package/src/lib/internal/tools/utils/compose-handlers.ts +36 -0
  618. package/src/lib/internal/tools/utils/dom-context.svelte.ts +63 -0
  619. package/src/lib/internal/tools/utils/dom.ts +62 -0
  620. package/src/lib/internal/tools/utils/events.ts +1 -0
  621. package/src/lib/internal/tools/utils/index.ts +5 -0
  622. package/src/lib/internal/tools/utils/strings.ts +28 -0
  623. package/src/lib/internal/typeahead.svelte.ts +48 -0
  624. package/src/lib/internal/types.ts +119 -0
  625. package/src/lib/internal/utils.ts +10 -0
  626. package/src/lib/internal/vaul/browser.ts +8 -0
  627. package/src/lib/internal/vaul/constants.ts +19 -0
  628. package/src/lib/internal/vaul/helpers.ts +39 -0
  629. package/src/lib/internal/vaul/types.ts +142 -0
  630. package/src/lib/internal/vaul/use-drawer-content.svelte.ts +219 -0
  631. package/src/lib/internal/vaul/use-drawer-root.svelte.ts +682 -0
  632. package/src/lib/internal/vaul/use-position-fixed.svelte.ts +142 -0
  633. package/src/lib/internal/vaul/use-prevent-scroll.svelte.ts +267 -0
  634. package/src/lib/internal/vaul/use-snap-points.svelte.ts +246 -0
  635. package/src/lib/time.ts +73 -0
@@ -0,0 +1,285 @@
1
+ import type { Expand } from '../../internal/tools/index.js';
2
+ import type { PopperLayerProps, PopperLayerStaticProps } from '../../internal/popper-layer/types.js';
3
+ import type { FloatingLayerArrowProps, FloatingLayerArrowPropsWithoutHTML } from '../../internal/floating-layer/types.js';
4
+ import type { OnChangeFn, WithChild, WithChildNoChildrenSnippetProps, WithChildren, Without } from '../../internal/types.js';
5
+ import type { BitsPrimitiveButtonAttributes, BitsPrimitiveDivAttributes } from '../../internal/attribute-types.js';
6
+ import type { Direction } from '../../internal/index.js';
7
+ import type { Snippet } from 'svelte';
8
+ import type { OpenCell } from '../../internal/open-cell.svelte.js';
9
+ import type { PortalProps } from '../../internal/portal/index.js';
10
+ import type { FloatingContentSnippetProps, StaticContentSnippetProps } from '../../internal/types.js';
11
+
12
+ export type MenuRootPropsWithoutHTML = {
13
+ /**
14
+ * The derivation source for the menu's open state: the internal cell
15
+ * re-derives whenever this prop changes, and interactions (trigger, Escape,
16
+ * a snippet-cell write) override it until the next change. Reconcile
17
+ * dismissals via onOpenChangeComplete. Plain value — not bindable.
18
+ */
19
+ open?: boolean;
20
+
21
+ // /**
22
+ // * When `true`, renders safe-area debug overlays for submenu pointer intent.
23
+ // *
24
+ // * @defaultValue false
25
+ // */
26
+ // debugMode?: boolean;
27
+
28
+ /**
29
+ * A callback that is called when the menu finishes opening/closing animations.
30
+ * This is an occurrence (animation settled), not a state mirror — depend on the cell instead.
31
+ */
32
+ onOpenChangeComplete?: OnChangeFn<boolean>;
33
+
34
+ /**
35
+ * A caller-constructed cell (own source and, optionally, a delegate writer)
36
+ * used instead of building one from `open`. When given, `open` is ignored.
37
+ */
38
+ state?: OpenCell;
39
+
40
+ /**
41
+ * The direction of the site.
42
+ *
43
+ * @defaultValue "ltr"
44
+ */
45
+ dir?: Direction;
46
+
47
+ /** Children receive the state cell, typed and guaranteed within the tree. */
48
+ children?: Snippet<[OpenCell]>;
49
+ };
50
+
51
+ export type MenuRootProps = MenuRootPropsWithoutHTML;
52
+
53
+ export type _SharedMenuContentProps = {
54
+ /**
55
+ * When `true`, the menu will loop through items when navigating with the keyboard.
56
+ *
57
+ * @defaultValue false
58
+ */
59
+ loop?: boolean;
60
+ };
61
+
62
+ export type MenuContentPropsWithoutHTML = Expand<
63
+ WithChildNoChildrenSnippetProps<Omit<PopperLayerProps, 'content'> & _SharedMenuContentProps, FloatingContentSnippetProps>
64
+ >;
65
+
66
+ export type MenuContentProps = MenuContentPropsWithoutHTML & Without<BitsPrimitiveDivAttributes, MenuContentPropsWithoutHTML>;
67
+
68
+ export type MenuContentStaticPropsWithoutHTML = Expand<
69
+ WithChildNoChildrenSnippetProps<Omit<PopperLayerStaticProps, 'content'> & _SharedMenuContentProps, StaticContentSnippetProps>
70
+ >;
71
+
72
+ export type MenuContentStaticProps = MenuContentStaticPropsWithoutHTML &
73
+ Without<BitsPrimitiveDivAttributes, MenuContentStaticPropsWithoutHTML>;
74
+
75
+ export type MenuItemPropsWithoutHTML<U extends Record<PropertyKey, unknown> = { _default: never }> = WithChild<
76
+ {
77
+ /**
78
+ * When `true`, the user will not be able to interact with the menu item.
79
+ *
80
+ * @defaultValue false
81
+ */
82
+ disabled?: boolean;
83
+
84
+ /**
85
+ * Optional text to use for typeahead filtering. By default, typeahead will use
86
+ * the `.textContent` of the menu item. When the content is more complex, you
87
+ * can provide a string here instead.
88
+ *
89
+ * @defaultValue undefined
90
+ */
91
+ textValue?: string;
92
+
93
+ /**
94
+ * A callback fired when the menu item is selected.
95
+ *
96
+ * Prevent default behavior of selection with `event.preventDefault()`.
97
+ */
98
+ onSelect?: (event: Event) => void;
99
+
100
+ /**
101
+ * Whether or not the menu item should close when selected.
102
+ * @defaultValue true
103
+ */
104
+ closeOnSelect?: boolean;
105
+ },
106
+ U
107
+ >;
108
+
109
+ export type MenuItemProps = MenuItemPropsWithoutHTML & Without<BitsPrimitiveDivAttributes, MenuItemPropsWithoutHTML>;
110
+
111
+ export type MenuCheckboxItemSnippetProps = { checked: boolean; indeterminate: boolean };
112
+
113
+ export type MenuCheckboxItemPropsWithoutHTML = MenuItemPropsWithoutHTML<MenuCheckboxItemSnippetProps> & {
114
+ /**
115
+ * The checked state of the checkbox. It can be one of:
116
+ * - `true` for checked
117
+ * - `false` for unchecked
118
+ *
119
+ * @defaultValue false
120
+ */
121
+ checked?: boolean;
122
+
123
+ /**
124
+ * A callback that is fired when the checked state changes.
125
+ */
126
+ onCheckedChange?: OnChangeFn<boolean>;
127
+
128
+ /**
129
+ * Whether the checkbox is in an indeterminate state or not.
130
+ *
131
+ * @defaultValue false
132
+ */
133
+ indeterminate?: boolean;
134
+
135
+ /**
136
+ * A callback function called when the indeterminate state changes.
137
+ */
138
+ onIndeterminateChange?: OnChangeFn<boolean>;
139
+
140
+ /**
141
+ * Whether or not the menu item should close when selected.
142
+ *
143
+ * @defaultValue true
144
+ */
145
+ closeOnSelect?: boolean;
146
+
147
+ /**
148
+ * The value of the checkbox item when used in a checkbox group.
149
+ */
150
+ value?: string;
151
+ };
152
+
153
+ export type MenuCheckboxItemProps = MenuCheckboxItemPropsWithoutHTML &
154
+ Without<BitsPrimitiveDivAttributes, MenuCheckboxItemPropsWithoutHTML>;
155
+
156
+ export type MenuCheckboxGroupPropsWithoutHTML = WithChild<{
157
+ /**
158
+ * The values of the selected checkbox items.
159
+ *
160
+ * Supports two-way binding with `bind:value`.
161
+ */
162
+ value?: string[];
163
+
164
+ /**
165
+ * A callback that is fired when the selected checkbox items change.
166
+ */
167
+ onValueChange?: OnChangeFn<string[]>;
168
+ }>;
169
+
170
+ export type MenuCheckboxGroupProps = MenuCheckboxGroupPropsWithoutHTML &
171
+ Without<BitsPrimitiveDivAttributes, MenuCheckboxGroupPropsWithoutHTML>;
172
+
173
+ export type MenuTriggerPropsWithoutHTML = WithChild<{
174
+ /**
175
+ * Whether the trigger is disabled.
176
+ *
177
+ * @defaultValue false
178
+ */
179
+ disabled?: boolean | null | undefined;
180
+ }>;
181
+
182
+ export type MenuTriggerProps = MenuTriggerPropsWithoutHTML & Without<BitsPrimitiveButtonAttributes, MenuTriggerPropsWithoutHTML>;
183
+
184
+ export type MenuSubPropsWithoutHTML = WithChildren<{
185
+ /**
186
+ * The open state of the menu.
187
+ */
188
+ open?: boolean;
189
+
190
+ /**
191
+ * A callback that is called when the menu is opened or closed.
192
+ */
193
+ onOpenChange?: OnChangeFn<boolean>;
194
+
195
+ /**
196
+ * A callback that is called when the menu finishes opening/closing animations.
197
+ */
198
+ onOpenChangeComplete?: OnChangeFn<boolean>;
199
+ }>;
200
+
201
+ export type MenuSubProps = MenuSubPropsWithoutHTML;
202
+
203
+ export type MenuSubContentPropsWithoutHTML = Expand<
204
+ WithChildNoChildrenSnippetProps<
205
+ Omit<PopperLayerProps, 'content' | 'preventScroll'> & _SharedMenuContentProps,
206
+ FloatingContentSnippetProps
207
+ >
208
+ >;
209
+
210
+ export type MenuSubContentProps = MenuSubContentPropsWithoutHTML & Without<BitsPrimitiveDivAttributes, MenuSubContentPropsWithoutHTML>;
211
+
212
+ export type MenuSubContentStaticPropsWithoutHTML = Expand<
213
+ WithChildNoChildrenSnippetProps<
214
+ Omit<PopperLayerStaticProps, 'content' | 'preventScroll'> & _SharedMenuContentProps,
215
+ StaticContentSnippetProps
216
+ >
217
+ >;
218
+
219
+ export type MenuSubContentStaticProps = MenuSubContentStaticPropsWithoutHTML &
220
+ Without<BitsPrimitiveDivAttributes, MenuSubContentStaticPropsWithoutHTML>;
221
+
222
+ export type MenuSubTriggerPropsWithoutHTML = Omit<MenuItemPropsWithoutHTML, 'closeOnSelect'> & {
223
+ /**
224
+ * The amount of time in ms from when the mouse enters the subtrigger until
225
+ * the submenu opens. This is useful for preventing the submenu from opening
226
+ * as a user is moving their mouse through the menu without a true intention to open that
227
+ * submenu.
228
+ *
229
+ * To disable the behavior, set it to `0`.
230
+ *
231
+ * @default 100
232
+ */
233
+ openDelay?: number;
234
+ };
235
+
236
+ export type MenuSubTriggerProps = MenuSubTriggerPropsWithoutHTML & Without<BitsPrimitiveDivAttributes, MenuSubTriggerPropsWithoutHTML>;
237
+
238
+ export type MenuSeparatorPropsWithoutHTML = WithChild;
239
+ export type MenuSeparatorProps = MenuSeparatorPropsWithoutHTML & Without<BitsPrimitiveDivAttributes, MenuSeparatorPropsWithoutHTML>;
240
+
241
+ export type MenuArrowPropsWithoutHTML = FloatingLayerArrowPropsWithoutHTML;
242
+ export type MenuArrowProps = FloatingLayerArrowProps;
243
+
244
+ export type MenuGroupPropsWithoutHTML = WithChild;
245
+ export type MenuGroupProps = MenuGroupPropsWithoutHTML & Without<BitsPrimitiveDivAttributes, MenuGroupPropsWithoutHTML>;
246
+
247
+ export type MenuGroupHeadingPropsWithoutHTML = WithChild;
248
+ export type MenuGroupHeadingProps = MenuGroupHeadingPropsWithoutHTML &
249
+ Without<BitsPrimitiveDivAttributes, MenuGroupHeadingPropsWithoutHTML>;
250
+
251
+ export type MenuRadioGroupPropsWithoutHTML = WithChild<{
252
+ /**
253
+ * The value of the selected radio item.
254
+ *
255
+ * Supports two-way binding with `bind:value`.
256
+ */
257
+ value?: string;
258
+
259
+ /**
260
+ * A callback that is fired when the selected radio item changes.
261
+ */
262
+ onValueChange?: OnChangeFn<string>;
263
+ }>;
264
+
265
+ export type MenuRadioGroupProps = MenuRadioGroupPropsWithoutHTML & Without<BitsPrimitiveDivAttributes, MenuRadioGroupPropsWithoutHTML>;
266
+
267
+ export type MenuRadioItemSnippetProps = { checked: boolean };
268
+
269
+ export type MenuRadioItemPropsWithoutHTML = MenuItemPropsWithoutHTML<MenuRadioItemSnippetProps> & {
270
+ /**
271
+ * The value of the radio item.
272
+ */
273
+ value: string;
274
+
275
+ /**
276
+ * Whether or not the menu item should close when selected.
277
+ * @defaultValue true
278
+ */
279
+ closeOnSelect?: boolean;
280
+ };
281
+
282
+ export type MenuRadioItemProps = MenuRadioItemPropsWithoutHTML & Without<BitsPrimitiveDivAttributes, MenuRadioItemPropsWithoutHTML>;
283
+
284
+ export type MenuPortalPropsWithoutHTML = PortalProps;
285
+ export type MenuPortalProps = MenuPortalPropsWithoutHTML;
@@ -0,0 +1,68 @@
1
+ import { kbd, SELECTION_KEYS } from "../../internal/kbd.js";
2
+ import type { Direction } from "../../internal/index.js";
3
+ import { isHTMLElement } from '../../internal/tools/utils/dom.js';
4
+ import type { MenuContentState } from './menu.svelte.js';
5
+
6
+ export type CheckedState = boolean | "indeterminate";
7
+
8
+ export const SUB_OPEN_KEYS: Record<Direction, string[]> = {
9
+ ltr: [...SELECTION_KEYS, kbd.ARROW_RIGHT],
10
+ rtl: [...SELECTION_KEYS, kbd.ARROW_LEFT],
11
+ };
12
+ export const SUB_CLOSE_KEYS: Record<Direction, string[]> = {
13
+ ltr: [kbd.ARROW_LEFT],
14
+ rtl: [kbd.ARROW_RIGHT],
15
+ };
16
+
17
+ export const isIndeterminate = (checked?: CheckedState): checked is "indeterminate" => checked === "indeterminate";
18
+
19
+ export const getCheckedState = (checked: CheckedState) => isIndeterminate(checked) ? "indeterminate" : checked ? "checked" : "unchecked";
20
+
21
+ export const isMouseEvent = (event: PointerEvent) => event.pointerType === "mouse";
22
+
23
+ type SubmenuHandlerOptions = {
24
+ onInteractOutside: () => (event: PointerEvent) => void;
25
+ onEscapeKeydown: () => (event: KeyboardEvent) => void;
26
+ onFocusOutside: () => (event: FocusEvent) => void;
27
+ };
28
+
29
+ export function createSubmenuHandlers(state: MenuContentState, options: SubmenuHandlerOptions) {
30
+ const onkeydown = (event: KeyboardEvent) => {
31
+ const inside = (event.currentTarget as HTMLElement).contains(event.target as HTMLElement);
32
+ const closeKey = SUB_CLOSE_KEYS[state.parentMenu.root.opts.dir.current].includes(event.key);
33
+ if (!inside || !closeKey) return;
34
+ state.parentMenu.onClose();
35
+ state.parentMenu.triggerNode?.focus();
36
+ event.preventDefault();
37
+ };
38
+
39
+ const handleInteractOutside = (event: PointerEvent) => {
40
+ options.onInteractOutside()(event);
41
+ if (!event.defaultPrevented) state.parentMenu.onClose();
42
+ };
43
+
44
+ const handleEscapeKeydown = (event: KeyboardEvent) => {
45
+ options.onEscapeKeydown()(event);
46
+ if (!event.defaultPrevented) state.parentMenu.onClose();
47
+ };
48
+
49
+ const handleOnFocusOutside = (event: FocusEvent) => {
50
+ options.onFocusOutside()(event);
51
+ if (event.defaultPrevented || !isHTMLElement(event.target)) return;
52
+ if (event.target.id === state.parentMenu.triggerNode?.id) return;
53
+ const parentContent = state.parentMenu.parentMenu?.contentNode;
54
+ if (parentContent?.contains(event.target)) {
55
+ state.parentMenu.onClose();
56
+ event.preventDefault();
57
+ return;
58
+ }
59
+ const subContentSelector = `[${state.parentMenu.root.getBitsAttr('sub-content')}]`;
60
+ if (event.target.closest(subContentSelector)) {
61
+ event.preventDefault();
62
+ return;
63
+ }
64
+ state.parentMenu.onClose();
65
+ };
66
+
67
+ return { onkeydown, handleInteractOutside, handleEscapeKeydown, handleOnFocusOutside };
68
+ }
@@ -0,0 +1,50 @@
1
+ <script lang="ts">
2
+ import { boxWith } from '../../../internal/tools/index.js';
3
+ import { mergeProps } from '../../../internal/merge-props.js';
4
+ import type { MenubarContentStaticProps } from '../types.js';
5
+ import { MenubarContentState } from '../menubar.svelte.js';
6
+ import { createId } from '../../../internal/create-id.js';
7
+ import { getFloatingContentCSSVars } from '../../../internal/floating-layer/index.js';
8
+ import MenuContent from '../../menu/components/menu-content.svelte';
9
+
10
+ const uid = $props.id();
11
+
12
+ let {
13
+ ref = $bindable(null),
14
+ interactOutsideBehavior = 'close',
15
+ id = createId(uid),
16
+ onInteractOutside = () => {},
17
+ onCloseAutoFocus = () => {},
18
+ onFocusOutside = () => {},
19
+ onOpenAutoFocus = () => {},
20
+ ...restProps
21
+ }: MenubarContentStaticProps = $props();
22
+
23
+ const contentState = MenubarContentState.create({
24
+ id: boxWith(() => id),
25
+ interactOutsideBehavior: boxWith(() => interactOutsideBehavior),
26
+ ref: boxWith(
27
+ () => ref,
28
+ (v) => (ref = v),
29
+ ),
30
+ onInteractOutside: boxWith(() => onInteractOutside),
31
+ onFocusOutside: boxWith(() => onFocusOutside),
32
+ onCloseAutoFocus: boxWith(() => onCloseAutoFocus),
33
+ onOpenAutoFocus: boxWith(() => onOpenAutoFocus),
34
+ });
35
+
36
+ const mergedProps = $derived(
37
+ mergeProps(
38
+ {
39
+ 'data-slot': 'menubar-content',
40
+ class:
41
+ 'bg-popover text-popover-foreground popup-surface popup-surface-static z-50 min-w-48 origin-(--bits-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-md outline-none',
42
+ style: getFloatingContentCSSVars('menu'),
43
+ },
44
+ restProps,
45
+ contentState.props,
46
+ ),
47
+ );
48
+ </script>
49
+
50
+ <MenuContent bind:ref {...mergedProps} {...contentState.popperProps} preventScroll={false} isStatic />
@@ -0,0 +1,54 @@
1
+ <script lang="ts">
2
+ import { boxWith } from '../../../internal/tools/index.js';
3
+ import { mergeProps } from '../../../internal/merge-props.js';
4
+ import type { MenubarContentProps } from '../types.js';
5
+ import { MenubarContentState } from '../menubar.svelte.js';
6
+ import MenuContent from '../../menu/components/menu-content.svelte';
7
+ import { createId } from '../../../internal/create-id.js';
8
+ import { getFloatingContentCSSVars } from '../../../internal/floating-layer/index.js';
9
+
10
+ const uid = $props.id();
11
+
12
+ let {
13
+ ref = $bindable(null),
14
+ interactOutsideBehavior = 'close',
15
+ id = createId(uid),
16
+ sideOffset = 8,
17
+ alignOffset = -4,
18
+ align = 'start',
19
+ side = 'bottom',
20
+ onInteractOutside = () => {},
21
+ onFocusOutside = () => {},
22
+ onCloseAutoFocus = () => {},
23
+ onOpenAutoFocus = () => {},
24
+ ...restProps
25
+ }: MenubarContentProps = $props();
26
+
27
+ const contentState = MenubarContentState.create({
28
+ id: boxWith(() => id),
29
+ interactOutsideBehavior: boxWith(() => interactOutsideBehavior),
30
+ ref: boxWith(
31
+ () => ref,
32
+ (v) => (ref = v),
33
+ ),
34
+ onInteractOutside: boxWith(() => onInteractOutside),
35
+ onFocusOutside: boxWith(() => onFocusOutside),
36
+ onCloseAutoFocus: boxWith(() => onCloseAutoFocus),
37
+ onOpenAutoFocus: boxWith(() => onOpenAutoFocus),
38
+ });
39
+
40
+ const mergedProps = $derived(
41
+ mergeProps(
42
+ {
43
+ 'data-slot': 'menubar-content',
44
+ class:
45
+ 'bg-popover text-popover-foreground popup-surface z-50 min-w-48 origin-(--bits-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-md outline-none',
46
+ style: getFloatingContentCSSVars('menu'),
47
+ },
48
+ restProps,
49
+ contentState.props,
50
+ ),
51
+ );
52
+ </script>
53
+
54
+ <MenuContent bind:ref {...mergedProps} {...contentState.popperProps} {sideOffset} {alignOffset} {align} {side} preventScroll={false} />
@@ -0,0 +1,34 @@
1
+ <script lang="ts">
2
+ import { boxWith } from '../../../internal/tools/index.js';
3
+ import { OpenCell } from '../../../internal/open-cell.svelte.js';
4
+ import type { MenubarMenuProps } from '../types.js';
5
+ import { MenubarMenuState } from '../menubar.svelte.js';
6
+ import Menu from '../../menu/components/menu.svelte';
7
+ import { createId } from '../../../internal/create-id.js';
8
+
9
+ const uid = $props.id();
10
+
11
+ let { value = createId(uid), onOpenChange = () => {}, ...restProps }: MenubarMenuProps = $props();
12
+
13
+ const menuState = MenubarMenuState.create({
14
+ value: boxWith(() => value),
15
+ onOpenChange: boxWith(() => onOpenChange),
16
+ });
17
+
18
+ // Delegate cell: the menubar root is the source of which menu is open; a
19
+ // self-close (Escape / dismiss) inside the menu reports back so the root
20
+ // leaves open-mode. Opens only ever come from the menubar's own triggers.
21
+ const cell = new OpenCell(
22
+ () => menuState.open,
23
+ (open) => {
24
+ if (!open) menuState.root.onMenuClose();
25
+ },
26
+ );
27
+ </script>
28
+
29
+ <Menu
30
+ state={cell}
31
+ dir={menuState.root.opts.dir.current}
32
+ _internal_variant="menubar"
33
+ {...restProps}
34
+ _internal_should_skip_exit_animation={() => menuState.root.skipExitAnimationForMenuValue === menuState.opts.value.current} />
@@ -0,0 +1,50 @@
1
+ <script lang="ts">
2
+ import { attachRef, boxWith } from '../../../internal/tools/index.js';
3
+ import { mergeProps } from '../../../internal/merge-props.js';
4
+ import type { MenubarTriggerProps } from '../types.js';
5
+ import { MenubarTriggerState } from '../menubar.svelte.js';
6
+ import { createId } from '../../../internal/create-id.js';
7
+ import { floatingAnchor } from '../../../internal/floating-layer/index.js';
8
+ import { DropdownMenuTriggerState } from '../../menu/menu.svelte.js';
9
+
10
+ const uid = $props.id();
11
+
12
+ let { id = createId(uid), disabled = false, children, child, ref = $bindable(null), ...restProps }: MenubarTriggerProps = $props();
13
+
14
+ const triggerState = MenubarTriggerState.create({
15
+ id: boxWith(() => id),
16
+ disabled: boxWith(() => disabled ?? false),
17
+ ref: boxWith(
18
+ () => ref,
19
+ (v) => (ref = v),
20
+ ),
21
+ });
22
+
23
+ const dropdownTriggerState = DropdownMenuTriggerState.create(triggerState.opts);
24
+ const triggerAttachment = attachRef((v: HTMLElement | null) => (dropdownTriggerState.parentMenu.triggerNode = v));
25
+
26
+ const mergedProps = $derived(
27
+ mergeProps(
28
+ {
29
+ 'data-slot': 'menubar-trigger',
30
+ class:
31
+ 'focus:bg-accent focus:text-accent-foreground data-open:bg-accent data-open:text-accent-foreground flex items-center rounded-md px-2 py-1 text-sm font-medium outline-hidden select-none',
32
+ },
33
+ restProps,
34
+ triggerState.props,
35
+ {
36
+ ...triggerAttachment,
37
+ },
38
+ ),
39
+ );
40
+
41
+ const anchor = floatingAnchor();
42
+ </script>
43
+
44
+ {#if child}
45
+ {@render child({ props: mergeProps(mergedProps, anchor) })}
46
+ {:else}
47
+ <button {...mergeProps(mergedProps, anchor)}>
48
+ {@render children?.()}
49
+ </button>
50
+ {/if}
@@ -0,0 +1,57 @@
1
+ <script lang="ts">
2
+ import { boxWith } from '../../../internal/tools/index.js';
3
+ import { mergeProps } from '../../../internal/merge-props.js';
4
+ import type { MenubarRootProps } from '../types.js';
5
+ import { MenubarRootState } from '../menubar.svelte.js';
6
+ import { createId } from '../../../internal/create-id.js';
7
+
8
+ const uid = $props.id();
9
+
10
+ let {
11
+ id = createId(uid),
12
+ children,
13
+ child,
14
+ ref = $bindable(null),
15
+ value = $bindable(''),
16
+ dir = 'ltr',
17
+ loop = true,
18
+ onValueChange = () => {},
19
+ ...restProps
20
+ }: MenubarRootProps = $props();
21
+
22
+ const rootState = MenubarRootState.create({
23
+ id: boxWith(() => id),
24
+ value: boxWith(
25
+ () => value,
26
+ (v) => {
27
+ value = v;
28
+ onValueChange?.(v);
29
+ },
30
+ ),
31
+ dir: boxWith(() => dir),
32
+ loop: boxWith(() => loop),
33
+ ref: boxWith(
34
+ () => ref,
35
+ (v) => (ref = v),
36
+ ),
37
+ });
38
+
39
+ const mergedProps = $derived(
40
+ mergeProps(
41
+ {
42
+ 'data-slot': 'menubar',
43
+ class: 'bg-background flex h-9 items-center gap-1 rounded-md border p-1 shadow-xs',
44
+ },
45
+ restProps,
46
+ rootState.props,
47
+ ),
48
+ );
49
+ </script>
50
+
51
+ {#if child}
52
+ {@render child({ props: mergedProps })}
53
+ {:else}
54
+ <div {...mergedProps}>
55
+ {@render children?.()}
56
+ </div>
57
+ {/if}
@@ -0,0 +1,44 @@
1
+ export { default as Root } from "./components/menubar.svelte";
2
+ export { default as Menu } from "./components/menubar-menu.svelte";
3
+ export { default as Content } from "./components/menubar-content.svelte";
4
+ export { default as ContentStatic } from "./components/menubar-content-static.svelte";
5
+ export { default as Trigger } from "./components/menubar-trigger.svelte";
6
+ export { default as Sub } from "../menu/components/menu-sub.svelte";
7
+ export { default as Item } from "../menu/components/menu-item.svelte";
8
+ export { default as Group } from "../menu/components/menu-group.svelte";
9
+ export { default as GroupHeading } from "../menu/components/menu-group-heading.svelte";
10
+ export { default as Arrow } from "../menu/components/menu-arrow.svelte";
11
+ export { default as RadioItem } from "../menu/components/menu-radio-item.svelte";
12
+ export { default as Separator } from "../menu/components/menu-separator.svelte";
13
+ export { default as SubContent } from "../menu/components/menu-sub-content.svelte";
14
+ export { default as SubContentStatic } from "../menu/components/menu-sub-content-static.svelte";
15
+ export { default as SubTrigger } from "../menu/components/menu-sub-trigger.svelte";
16
+ export { default as RadioGroup } from "../menu/components/menu-radio-group.svelte";
17
+ export { default as CheckboxItem } from "../menu/components/menu-checkbox-item.svelte";
18
+ export { default as Portal } from "../../internal/portal/portal.svelte";
19
+ export { default as CheckboxGroup } from "../menu/components/menu-checkbox-group.svelte";
20
+
21
+ export type {
22
+ MenubarRootProps as RootProps,
23
+ MenubarMenuProps as MenuProps,
24
+ MenubarTriggerProps as TriggerProps,
25
+ MenubarContentProps as ContentProps,
26
+ MenubarContentStaticProps as ContentStaticProps,
27
+ MenubarPortalProps as PortalProps,
28
+ } from "./types.js";
29
+
30
+ export type {
31
+ MenuSubPropsWithoutHTML as SubProps,
32
+ MenuItemProps as ItemProps,
33
+ MenuGroupProps as GroupProps,
34
+ MenuGroupHeadingProps as GroupHeadingProps,
35
+ MenuArrowProps as ArrowProps,
36
+ MenuRadioItemProps as RadioItemProps,
37
+ MenuSeparatorProps as SeparatorProps,
38
+ MenuSubContentProps as SubContentProps,
39
+ MenuSubTriggerProps as SubTriggerProps,
40
+ MenuRadioGroupProps as RadioGroupProps,
41
+ MenuCheckboxItemProps as CheckboxItemProps,
42
+ MenuSubContentStaticProps as SubContentStaticProps,
43
+ MenuCheckboxGroupProps as CheckboxGroupProps,
44
+ } from "../menu/types.js";
@@ -0,0 +1,2 @@
1
+ export * as Menubar from './exports.js';
2
+ export * from './exports.js';