@orochibraru/ui 0.0.0-stage → 1.0.0-canary.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (771) hide show
  1. package/README.md +222 -2
  2. package/dist/appearance.d.ts +11 -0
  3. package/dist/appearance.js +16 -0
  4. package/dist/components/blocks/accent-toggle.svelte +85 -0
  5. package/dist/components/blocks/accent-toggle.svelte.d.ts +18 -0
  6. package/dist/components/blocks/auth-shell.svelte +35 -0
  7. package/dist/components/blocks/auth-shell.svelte.d.ts +11 -0
  8. package/dist/components/blocks/bottom-nav.svelte +67 -0
  9. package/dist/components/blocks/bottom-nav.svelte.d.ts +18 -0
  10. package/dist/components/blocks/copy-field.svelte +44 -0
  11. package/dist/components/blocks/copy-field.svelte.d.ts +11 -0
  12. package/dist/components/blocks/document-title.svelte +18 -0
  13. package/dist/components/blocks/document-title.svelte.d.ts +6 -0
  14. package/dist/components/blocks/empty-state.svelte +45 -0
  15. package/dist/components/blocks/empty-state.svelte.d.ts +13 -0
  16. package/dist/components/blocks/error-page.svelte +47 -0
  17. package/dist/components/blocks/error-page.svelte.d.ts +12 -0
  18. package/dist/components/blocks/fab.svelte +26 -0
  19. package/dist/components/blocks/fab.svelte.d.ts +11 -0
  20. package/dist/components/blocks/icon-button.svelte +38 -0
  21. package/dist/components/blocks/icon-button.svelte.d.ts +11 -0
  22. package/dist/components/blocks/install-prompt.svelte +156 -0
  23. package/dist/components/blocks/install-prompt.svelte.d.ts +19 -0
  24. package/dist/components/blocks/music-player/format-time.d.ts +2 -0
  25. package/dist/components/blocks/music-player/format-time.js +13 -0
  26. package/dist/components/blocks/music-player/labelled-slider.svelte +36 -0
  27. package/dist/components/blocks/music-player/labelled-slider.svelte.d.ts +15 -0
  28. package/dist/components/blocks/music-player/volume-control.svelte +48 -0
  29. package/dist/components/blocks/music-player/volume-control.svelte.d.ts +7 -0
  30. package/dist/components/blocks/music-player.svelte +263 -0
  31. package/dist/components/blocks/music-player.svelte.d.ts +26 -0
  32. package/dist/components/blocks/nav-cards.svelte +42 -0
  33. package/dist/components/blocks/nav-cards.svelte.d.ts +15 -0
  34. package/dist/components/blocks/new-password-fields.svelte +127 -0
  35. package/dist/components/blocks/new-password-fields.svelte.d.ts +19 -0
  36. package/dist/components/blocks/option-group.svelte +71 -0
  37. package/dist/components/blocks/option-group.svelte.d.ts +20 -0
  38. package/dist/components/blocks/otp-field.svelte +59 -0
  39. package/dist/components/blocks/otp-field.svelte.d.ts +12 -0
  40. package/dist/components/blocks/password-input.svelte +51 -0
  41. package/dist/components/blocks/password-input.svelte.d.ts +11 -0
  42. package/dist/components/blocks/responsive-sheet.svelte +59 -0
  43. package/dist/components/blocks/responsive-sheet.svelte.d.ts +11 -0
  44. package/dist/components/blocks/setting-switch.svelte +30 -0
  45. package/dist/components/blocks/setting-switch.svelte.d.ts +10 -0
  46. package/dist/components/blocks/stat-card.svelte +52 -0
  47. package/dist/components/blocks/stat-card.svelte.d.ts +14 -0
  48. package/dist/components/blocks/tab-nav.svelte +38 -0
  49. package/dist/components/blocks/tab-nav.svelte.d.ts +14 -0
  50. package/dist/components/blocks/tab-section.svelte +48 -0
  51. package/dist/components/blocks/tab-section.svelte.d.ts +12 -0
  52. package/dist/components/blocks/theme-picker.svelte +69 -0
  53. package/dist/components/blocks/theme-picker.svelte.d.ts +16 -0
  54. package/dist/components/blocks/theme-toggle.svelte +68 -0
  55. package/dist/components/blocks/theme-toggle.svelte.d.ts +12 -0
  56. package/dist/components/blocks/top-loading-bar.svelte +54 -0
  57. package/dist/components/blocks/top-loading-bar.svelte.d.ts +6 -0
  58. package/dist/components/blocks/video-player/center-controls.svelte +54 -0
  59. package/dist/components/blocks/video-player/center-controls.svelte.d.ts +10 -0
  60. package/dist/components/blocks/video-player/control-bar.svelte +184 -0
  61. package/dist/components/blocks/video-player/control-bar.svelte.d.ts +18 -0
  62. package/dist/components/blocks/video-player/control-button.svelte +54 -0
  63. package/dist/components/blocks/video-player/control-button.svelte.d.ts +13 -0
  64. package/dist/components/blocks/video-player/format.d.ts +9 -0
  65. package/dist/components/blocks/video-player/format.js +24 -0
  66. package/dist/components/blocks/video-player/gesture-feedback.svelte +32 -0
  67. package/dist/components/blocks/video-player/gesture-feedback.svelte.d.ts +7 -0
  68. package/dist/components/blocks/video-player/gestures.d.ts +13 -0
  69. package/dist/components/blocks/video-player/gestures.js +25 -0
  70. package/dist/components/blocks/video-player/keymap.d.ts +14 -0
  71. package/dist/components/blocks/video-player/keymap.js +55 -0
  72. package/dist/components/blocks/video-player/messages.d.ts +22 -0
  73. package/dist/components/blocks/video-player/messages.js +21 -0
  74. package/dist/components/blocks/video-player/option-menu.svelte +85 -0
  75. package/dist/components/blocks/video-player/option-menu.svelte.d.ts +18 -0
  76. package/dist/components/blocks/video-player/player.svelte.d.ts +37 -0
  77. package/dist/components/blocks/video-player/player.svelte.js +115 -0
  78. package/dist/components/blocks/video-player/scrub-bar.svelte +95 -0
  79. package/dist/components/blocks/video-player/scrub-bar.svelte.d.ts +12 -0
  80. package/dist/components/blocks/video-player/tap-gestures.svelte.d.ts +19 -0
  81. package/dist/components/blocks/video-player/tap-gestures.svelte.js +56 -0
  82. package/dist/components/blocks/video-player.svelte +288 -0
  83. package/dist/components/blocks/video-player.svelte.d.ts +29 -0
  84. package/dist/components/ui/accordion/accordion-content.svelte +28 -0
  85. package/dist/components/ui/accordion/accordion-content.svelte.d.ts +4 -0
  86. package/dist/components/ui/accordion/accordion-item.svelte +18 -0
  87. package/dist/components/ui/accordion/accordion-item.svelte.d.ts +4 -0
  88. package/dist/components/ui/accordion/accordion-trigger.svelte +39 -0
  89. package/dist/components/ui/accordion/accordion-trigger.svelte.d.ts +8 -0
  90. package/dist/components/ui/accordion/accordion.svelte +20 -0
  91. package/dist/components/ui/accordion/accordion.svelte.d.ts +4 -0
  92. package/dist/components/ui/accordion/index.d.ts +5 -0
  93. package/dist/components/ui/accordion/index.js +7 -0
  94. package/dist/components/ui/alert/alert-action.svelte +21 -0
  95. package/dist/components/ui/alert/alert-action.svelte.d.ts +5 -0
  96. package/dist/components/ui/alert/alert-description.svelte +24 -0
  97. package/dist/components/ui/alert/alert-description.svelte.d.ts +5 -0
  98. package/dist/components/ui/alert/alert-title.svelte +24 -0
  99. package/dist/components/ui/alert/alert-title.svelte.d.ts +5 -0
  100. package/dist/components/ui/alert/alert.svelte +45 -0
  101. package/dist/components/ui/alert/alert.svelte.d.ts +26 -0
  102. package/dist/components/ui/alert/index.d.ts +6 -0
  103. package/dist/components/ui/alert/index.js +8 -0
  104. package/dist/components/ui/alert-dialog/alert-dialog-action.svelte +28 -0
  105. package/dist/components/ui/alert-dialog/alert-dialog-action.svelte.d.ts +9 -0
  106. package/dist/components/ui/alert-dialog/alert-dialog-cancel.svelte +28 -0
  107. package/dist/components/ui/alert-dialog/alert-dialog-cancel.svelte.d.ts +9 -0
  108. package/dist/components/ui/alert-dialog/alert-dialog-content.svelte +40 -0
  109. package/dist/components/ui/alert-dialog/alert-dialog-content.svelte.d.ts +11 -0
  110. package/dist/components/ui/alert-dialog/alert-dialog-description.svelte +21 -0
  111. package/dist/components/ui/alert-dialog/alert-dialog-description.svelte.d.ts +4 -0
  112. package/dist/components/ui/alert-dialog/alert-dialog-footer.svelte +24 -0
  113. package/dist/components/ui/alert-dialog/alert-dialog-footer.svelte.d.ts +5 -0
  114. package/dist/components/ui/alert-dialog/alert-dialog-header.svelte +24 -0
  115. package/dist/components/ui/alert-dialog/alert-dialog-header.svelte.d.ts +5 -0
  116. package/dist/components/ui/alert-dialog/alert-dialog-media.svelte +24 -0
  117. package/dist/components/ui/alert-dialog/alert-dialog-media.svelte.d.ts +5 -0
  118. package/dist/components/ui/alert-dialog/alert-dialog-overlay.svelte +21 -0
  119. package/dist/components/ui/alert-dialog/alert-dialog-overlay.svelte.d.ts +4 -0
  120. package/dist/components/ui/alert-dialog/alert-dialog-portal.svelte +7 -0
  121. package/dist/components/ui/alert-dialog/alert-dialog-portal.svelte.d.ts +3 -0
  122. package/dist/components/ui/alert-dialog/alert-dialog-title.svelte +21 -0
  123. package/dist/components/ui/alert-dialog/alert-dialog-title.svelte.d.ts +4 -0
  124. package/dist/components/ui/alert-dialog/alert-dialog-trigger.svelte +14 -0
  125. package/dist/components/ui/alert-dialog/alert-dialog-trigger.svelte.d.ts +4 -0
  126. package/dist/components/ui/alert-dialog/alert-dialog.svelte +10 -0
  127. package/dist/components/ui/alert-dialog/alert-dialog.svelte.d.ts +3 -0
  128. package/dist/components/ui/alert-dialog/index.d.ts +13 -0
  129. package/dist/components/ui/alert-dialog/index.js +15 -0
  130. package/dist/components/ui/avatar/avatar-badge.svelte +27 -0
  131. package/dist/components/ui/avatar/avatar-badge.svelte.d.ts +5 -0
  132. package/dist/components/ui/avatar/avatar-fallback.svelte +21 -0
  133. package/dist/components/ui/avatar/avatar-fallback.svelte.d.ts +4 -0
  134. package/dist/components/ui/avatar/avatar-group-count.svelte +24 -0
  135. package/dist/components/ui/avatar/avatar-group-count.svelte.d.ts +5 -0
  136. package/dist/components/ui/avatar/avatar-group.svelte +24 -0
  137. package/dist/components/ui/avatar/avatar-group.svelte.d.ts +5 -0
  138. package/dist/components/ui/avatar/avatar-image.svelte +18 -0
  139. package/dist/components/ui/avatar/avatar-image.svelte.d.ts +4 -0
  140. package/dist/components/ui/avatar/avatar.svelte +27 -0
  141. package/dist/components/ui/avatar/avatar.svelte.d.ts +7 -0
  142. package/dist/components/ui/avatar/index.d.ts +7 -0
  143. package/dist/components/ui/avatar/index.js +9 -0
  144. package/dist/components/ui/badge/badge.svelte +54 -0
  145. package/dist/components/ui/badge/badge.svelte.d.ts +38 -0
  146. package/dist/components/ui/badge/index.d.ts +2 -0
  147. package/dist/components/ui/badge/index.js +2 -0
  148. package/dist/components/ui/breadcrumb/breadcrumb-ellipsis.svelte +29 -0
  149. package/dist/components/ui/breadcrumb/breadcrumb-ellipsis.svelte.d.ts +5 -0
  150. package/dist/components/ui/breadcrumb/breadcrumb-item.svelte +21 -0
  151. package/dist/components/ui/breadcrumb/breadcrumb-item.svelte.d.ts +5 -0
  152. package/dist/components/ui/breadcrumb/breadcrumb-link.svelte +32 -0
  153. package/dist/components/ui/breadcrumb/breadcrumb-link.svelte.d.ts +11 -0
  154. package/dist/components/ui/breadcrumb/breadcrumb-list.svelte +24 -0
  155. package/dist/components/ui/breadcrumb/breadcrumb-list.svelte.d.ts +5 -0
  156. package/dist/components/ui/breadcrumb/breadcrumb-page.svelte +24 -0
  157. package/dist/components/ui/breadcrumb/breadcrumb-page.svelte.d.ts +5 -0
  158. package/dist/components/ui/breadcrumb/breadcrumb-separator.svelte +28 -0
  159. package/dist/components/ui/breadcrumb/breadcrumb-separator.svelte.d.ts +5 -0
  160. package/dist/components/ui/breadcrumb/breadcrumb.svelte +23 -0
  161. package/dist/components/ui/breadcrumb/breadcrumb.svelte.d.ts +5 -0
  162. package/dist/components/ui/breadcrumb/index.d.ts +8 -0
  163. package/dist/components/ui/breadcrumb/index.js +10 -0
  164. package/dist/components/ui/button/button.svelte +93 -0
  165. package/dist/components/ui/button/button.svelte.d.ts +70 -0
  166. package/dist/components/ui/button/index.d.ts +2 -0
  167. package/dist/components/ui/button/index.js +4 -0
  168. package/dist/components/ui/button-group/button-group-separator.svelte +24 -0
  169. package/dist/components/ui/button-group/button-group-separator.svelte.d.ts +13 -0
  170. package/dist/components/ui/button-group/button-group-text.svelte +32 -0
  171. package/dist/components/ui/button-group/button-group-text.svelte.d.ts +11 -0
  172. package/dist/components/ui/button-group/button-group.svelte +49 -0
  173. package/dist/components/ui/button-group/button-group.svelte.d.ts +26 -0
  174. package/dist/components/ui/button-group/index.d.ts +4 -0
  175. package/dist/components/ui/button-group/index.js +6 -0
  176. package/dist/components/ui/calendar/calendar-caption.svelte +83 -0
  177. package/dist/components/ui/calendar/calendar-caption.svelte.d.ts +19 -0
  178. package/dist/components/ui/calendar/calendar-cell.svelte +20 -0
  179. package/dist/components/ui/calendar/calendar-cell.svelte.d.ts +4 -0
  180. package/dist/components/ui/calendar/calendar-day.svelte +34 -0
  181. package/dist/components/ui/calendar/calendar-day.svelte.d.ts +4 -0
  182. package/dist/components/ui/calendar/calendar-grid-body.svelte +13 -0
  183. package/dist/components/ui/calendar/calendar-grid-body.svelte.d.ts +4 -0
  184. package/dist/components/ui/calendar/calendar-grid-head.svelte +13 -0
  185. package/dist/components/ui/calendar/calendar-grid-head.svelte.d.ts +4 -0
  186. package/dist/components/ui/calendar/calendar-grid-row.svelte +17 -0
  187. package/dist/components/ui/calendar/calendar-grid-row.svelte.d.ts +4 -0
  188. package/dist/components/ui/calendar/calendar-grid.svelte +17 -0
  189. package/dist/components/ui/calendar/calendar-grid.svelte.d.ts +4 -0
  190. package/dist/components/ui/calendar/calendar-head-cell.svelte +20 -0
  191. package/dist/components/ui/calendar/calendar-head-cell.svelte.d.ts +4 -0
  192. package/dist/components/ui/calendar/calendar-header.svelte +20 -0
  193. package/dist/components/ui/calendar/calendar-header.svelte.d.ts +4 -0
  194. package/dist/components/ui/calendar/calendar-heading.svelte +17 -0
  195. package/dist/components/ui/calendar/calendar-heading.svelte.d.ts +4 -0
  196. package/dist/components/ui/calendar/calendar-month-select.svelte +50 -0
  197. package/dist/components/ui/calendar/calendar-month-select.svelte.d.ts +4 -0
  198. package/dist/components/ui/calendar/calendar-month.svelte +20 -0
  199. package/dist/components/ui/calendar/calendar-month.svelte.d.ts +5 -0
  200. package/dist/components/ui/calendar/calendar-months.svelte +20 -0
  201. package/dist/components/ui/calendar/calendar-months.svelte.d.ts +5 -0
  202. package/dist/components/ui/calendar/calendar-nav.svelte +23 -0
  203. package/dist/components/ui/calendar/calendar-nav.svelte.d.ts +5 -0
  204. package/dist/components/ui/calendar/calendar-next-button.svelte +41 -0
  205. package/dist/components/ui/calendar/calendar-next-button.svelte.d.ts +8 -0
  206. package/dist/components/ui/calendar/calendar-prev-button.svelte +41 -0
  207. package/dist/components/ui/calendar/calendar-prev-button.svelte.d.ts +8 -0
  208. package/dist/components/ui/calendar/calendar-year-select.svelte +49 -0
  209. package/dist/components/ui/calendar/calendar-year-select.svelte.d.ts +4 -0
  210. package/dist/components/ui/calendar/calendar.svelte +117 -0
  211. package/dist/components/ui/calendar/calendar.svelte.d.ts +21 -0
  212. package/dist/components/ui/calendar/index.d.ts +19 -0
  213. package/dist/components/ui/calendar/index.js +21 -0
  214. package/dist/components/ui/card/card-action.svelte +24 -0
  215. package/dist/components/ui/card/card-action.svelte.d.ts +5 -0
  216. package/dist/components/ui/card/card-content.svelte +21 -0
  217. package/dist/components/ui/card/card-content.svelte.d.ts +5 -0
  218. package/dist/components/ui/card/card-description.svelte +21 -0
  219. package/dist/components/ui/card/card-description.svelte.d.ts +5 -0
  220. package/dist/components/ui/card/card-footer.svelte +24 -0
  221. package/dist/components/ui/card/card-footer.svelte.d.ts +5 -0
  222. package/dist/components/ui/card/card-header.svelte +24 -0
  223. package/dist/components/ui/card/card-header.svelte.d.ts +5 -0
  224. package/dist/components/ui/card/card-title.svelte +24 -0
  225. package/dist/components/ui/card/card-title.svelte.d.ts +5 -0
  226. package/dist/components/ui/card/card.svelte +28 -0
  227. package/dist/components/ui/card/card.svelte.d.ts +8 -0
  228. package/dist/components/ui/card/index.d.ts +8 -0
  229. package/dist/components/ui/card/index.js +10 -0
  230. package/dist/components/ui/checkbox/checkbox.svelte +40 -0
  231. package/dist/components/ui/checkbox/checkbox.svelte.d.ts +4 -0
  232. package/dist/components/ui/checkbox/index.d.ts +2 -0
  233. package/dist/components/ui/checkbox/index.js +4 -0
  234. package/dist/components/ui/command/command-dialog.svelte +50 -0
  235. package/dist/components/ui/command/command-dialog.svelte.d.ts +14 -0
  236. package/dist/components/ui/command/command-empty.svelte +18 -0
  237. package/dist/components/ui/command/command-empty.svelte.d.ts +4 -0
  238. package/dist/components/ui/command/command-group.svelte +36 -0
  239. package/dist/components/ui/command/command-group.svelte.d.ts +7 -0
  240. package/dist/components/ui/command/command-input.svelte +45 -0
  241. package/dist/components/ui/command/command-input.svelte.d.ts +8 -0
  242. package/dist/components/ui/command/command-item.svelte +29 -0
  243. package/dist/components/ui/command/command-item.svelte.d.ts +4 -0
  244. package/dist/components/ui/command/command-link-item.svelte +22 -0
  245. package/dist/components/ui/command/command-link-item.svelte.d.ts +4 -0
  246. package/dist/components/ui/command/command-list.svelte +21 -0
  247. package/dist/components/ui/command/command-list.svelte.d.ts +4 -0
  248. package/dist/components/ui/command/command-loading.svelte +8 -0
  249. package/dist/components/ui/command/command-loading.svelte.d.ts +4 -0
  250. package/dist/components/ui/command/command-separator.svelte +18 -0
  251. package/dist/components/ui/command/command-separator.svelte.d.ts +4 -0
  252. package/dist/components/ui/command/command-shortcut.svelte +24 -0
  253. package/dist/components/ui/command/command-shortcut.svelte.d.ts +5 -0
  254. package/dist/components/ui/command/command.svelte +29 -0
  255. package/dist/components/ui/command/command.svelte.d.ts +8 -0
  256. package/dist/components/ui/command/index.d.ts +12 -0
  257. package/dist/components/ui/command/index.js +14 -0
  258. package/dist/components/ui/context-menu/context-menu-checkbox-item.svelte +44 -0
  259. package/dist/components/ui/context-menu/context-menu-checkbox-item.svelte.d.ts +10 -0
  260. package/dist/components/ui/context-menu/context-menu-content.svelte +32 -0
  261. package/dist/components/ui/context-menu/context-menu-content.svelte.d.ts +10 -0
  262. package/dist/components/ui/context-menu/context-menu-group-heading.svelte +25 -0
  263. package/dist/components/ui/context-menu/context-menu-group-heading.svelte.d.ts +7 -0
  264. package/dist/components/ui/context-menu/context-menu-group.svelte +12 -0
  265. package/dist/components/ui/context-menu/context-menu-group.svelte.d.ts +4 -0
  266. package/dist/components/ui/context-menu/context-menu-item.svelte +28 -0
  267. package/dist/components/ui/context-menu/context-menu-item.svelte.d.ts +8 -0
  268. package/dist/components/ui/context-menu/context-menu-label.svelte +28 -0
  269. package/dist/components/ui/context-menu/context-menu-label.svelte.d.ts +8 -0
  270. package/dist/components/ui/context-menu/context-menu-portal.svelte +7 -0
  271. package/dist/components/ui/context-menu/context-menu-portal.svelte.d.ts +3 -0
  272. package/dist/components/ui/context-menu/context-menu-radio-group.svelte +16 -0
  273. package/dist/components/ui/context-menu/context-menu-radio-group.svelte.d.ts +4 -0
  274. package/dist/components/ui/context-menu/context-menu-radio-item.svelte +38 -0
  275. package/dist/components/ui/context-menu/context-menu-radio-item.svelte.d.ts +8 -0
  276. package/dist/components/ui/context-menu/context-menu-separator.svelte +18 -0
  277. package/dist/components/ui/context-menu/context-menu-separator.svelte.d.ts +4 -0
  278. package/dist/components/ui/context-menu/context-menu-shortcut.svelte +24 -0
  279. package/dist/components/ui/context-menu/context-menu-shortcut.svelte.d.ts +5 -0
  280. package/dist/components/ui/context-menu/context-menu-sub-content.svelte +35 -0
  281. package/dist/components/ui/context-menu/context-menu-sub-content.svelte.d.ts +10 -0
  282. package/dist/components/ui/context-menu/context-menu-sub-trigger.svelte +30 -0
  283. package/dist/components/ui/context-menu/context-menu-sub-trigger.svelte.d.ts +8 -0
  284. package/dist/components/ui/context-menu/context-menu-sub.svelte +8 -0
  285. package/dist/components/ui/context-menu/context-menu-sub.svelte.d.ts +3 -0
  286. package/dist/components/ui/context-menu/context-menu-trigger.svelte +18 -0
  287. package/dist/components/ui/context-menu/context-menu-trigger.svelte.d.ts +4 -0
  288. package/dist/components/ui/context-menu/context-menu.svelte +10 -0
  289. package/dist/components/ui/context-menu/context-menu.svelte.d.ts +3 -0
  290. package/dist/components/ui/context-menu/index.d.ts +17 -0
  291. package/dist/components/ui/context-menu/index.js +19 -0
  292. package/dist/components/ui/dialog/dialog-close.svelte +16 -0
  293. package/dist/components/ui/dialog/dialog-close.svelte.d.ts +4 -0
  294. package/dist/components/ui/dialog/dialog-content.svelte +54 -0
  295. package/dist/components/ui/dialog/dialog-content.svelte.d.ts +12 -0
  296. package/dist/components/ui/dialog/dialog-description.svelte +21 -0
  297. package/dist/components/ui/dialog/dialog-description.svelte.d.ts +4 -0
  298. package/dist/components/ui/dialog/dialog-footer.svelte +36 -0
  299. package/dist/components/ui/dialog/dialog-footer.svelte.d.ts +8 -0
  300. package/dist/components/ui/dialog/dialog-header.svelte +21 -0
  301. package/dist/components/ui/dialog/dialog-header.svelte.d.ts +5 -0
  302. package/dist/components/ui/dialog/dialog-overlay.svelte +21 -0
  303. package/dist/components/ui/dialog/dialog-overlay.svelte.d.ts +4 -0
  304. package/dist/components/ui/dialog/dialog-portal.svelte +7 -0
  305. package/dist/components/ui/dialog/dialog-portal.svelte.d.ts +3 -0
  306. package/dist/components/ui/dialog/dialog-title.svelte +18 -0
  307. package/dist/components/ui/dialog/dialog-title.svelte.d.ts +4 -0
  308. package/dist/components/ui/dialog/dialog-trigger.svelte +16 -0
  309. package/dist/components/ui/dialog/dialog-trigger.svelte.d.ts +4 -0
  310. package/dist/components/ui/dialog/dialog.svelte +8 -0
  311. package/dist/components/ui/dialog/dialog.svelte.d.ts +3 -0
  312. package/dist/components/ui/dialog/index.d.ts +11 -0
  313. package/dist/components/ui/dialog/index.js +13 -0
  314. package/dist/components/ui/drawer/drawer-close.svelte +8 -0
  315. package/dist/components/ui/drawer/drawer-close.svelte.d.ts +4 -0
  316. package/dist/components/ui/drawer/drawer-content.svelte +41 -0
  317. package/dist/components/ui/drawer/drawer-content.svelte.d.ts +10 -0
  318. package/dist/components/ui/drawer/drawer-description.svelte +18 -0
  319. package/dist/components/ui/drawer/drawer-description.svelte.d.ts +4 -0
  320. package/dist/components/ui/drawer/drawer-footer.svelte +21 -0
  321. package/dist/components/ui/drawer/drawer-footer.svelte.d.ts +5 -0
  322. package/dist/components/ui/drawer/drawer-header.svelte +24 -0
  323. package/dist/components/ui/drawer/drawer-header.svelte.d.ts +5 -0
  324. package/dist/components/ui/drawer/drawer-nested.svelte +21 -0
  325. package/dist/components/ui/drawer/drawer-nested.svelte.d.ts +3 -0
  326. package/dist/components/ui/drawer/drawer-overlay.svelte +21 -0
  327. package/dist/components/ui/drawer/drawer-overlay.svelte.d.ts +4 -0
  328. package/dist/components/ui/drawer/drawer-portal.svelte +7 -0
  329. package/dist/components/ui/drawer/drawer-portal.svelte.d.ts +3 -0
  330. package/dist/components/ui/drawer/drawer-title.svelte +18 -0
  331. package/dist/components/ui/drawer/drawer-title.svelte.d.ts +4 -0
  332. package/dist/components/ui/drawer/drawer-trigger.svelte +8 -0
  333. package/dist/components/ui/drawer/drawer-trigger.svelte.d.ts +4 -0
  334. package/dist/components/ui/drawer/drawer.svelte +21 -0
  335. package/dist/components/ui/drawer/drawer.svelte.d.ts +3 -0
  336. package/dist/components/ui/drawer/index.d.ts +13 -0
  337. package/dist/components/ui/drawer/index.js +15 -0
  338. package/dist/components/ui/drawer/inside.d.ts +4 -0
  339. package/dist/components/ui/drawer/inside.js +10 -0
  340. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-group.svelte +16 -0
  341. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-group.svelte.d.ts +4 -0
  342. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte +47 -0
  343. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte.d.ts +9 -0
  344. package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte +35 -0
  345. package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte.d.ts +10 -0
  346. package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte +26 -0
  347. package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte.d.ts +8 -0
  348. package/dist/components/ui/dropdown-menu/dropdown-menu-group.svelte +14 -0
  349. package/dist/components/ui/dropdown-menu/dropdown-menu-group.svelte.d.ts +4 -0
  350. package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte +28 -0
  351. package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte.d.ts +8 -0
  352. package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte +28 -0
  353. package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte.d.ts +8 -0
  354. package/dist/components/ui/dropdown-menu/dropdown-menu-portal.svelte +7 -0
  355. package/dist/components/ui/dropdown-menu/dropdown-menu-portal.svelte.d.ts +3 -0
  356. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte +16 -0
  357. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte.d.ts +4 -0
  358. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte +37 -0
  359. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte.d.ts +4 -0
  360. package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte +18 -0
  361. package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte.d.ts +4 -0
  362. package/dist/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte +24 -0
  363. package/dist/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte.d.ts +5 -0
  364. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte +35 -0
  365. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte.d.ts +10 -0
  366. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte +30 -0
  367. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte.d.ts +7 -0
  368. package/dist/components/ui/dropdown-menu/dropdown-menu-sub.svelte +10 -0
  369. package/dist/components/ui/dropdown-menu/dropdown-menu-sub.svelte.d.ts +3 -0
  370. package/dist/components/ui/dropdown-menu/dropdown-menu-trigger.svelte +14 -0
  371. package/dist/components/ui/dropdown-menu/dropdown-menu-trigger.svelte.d.ts +4 -0
  372. package/dist/components/ui/dropdown-menu/dropdown-menu.svelte +10 -0
  373. package/dist/components/ui/dropdown-menu/dropdown-menu.svelte.d.ts +3 -0
  374. package/dist/components/ui/dropdown-menu/index.d.ts +18 -0
  375. package/dist/components/ui/dropdown-menu/index.js +18 -0
  376. package/dist/components/ui/empty/empty-content.svelte +24 -0
  377. package/dist/components/ui/empty/empty-content.svelte.d.ts +5 -0
  378. package/dist/components/ui/empty/empty-description.svelte +24 -0
  379. package/dist/components/ui/empty/empty-description.svelte.d.ts +5 -0
  380. package/dist/components/ui/empty/empty-header.svelte +21 -0
  381. package/dist/components/ui/empty/empty-header.svelte.d.ts +5 -0
  382. package/dist/components/ui/empty/empty-media.svelte +46 -0
  383. package/dist/components/ui/empty/empty-media.svelte.d.ts +26 -0
  384. package/dist/components/ui/empty/empty-title.svelte +21 -0
  385. package/dist/components/ui/empty/empty-title.svelte.d.ts +5 -0
  386. package/dist/components/ui/empty/empty.svelte +24 -0
  387. package/dist/components/ui/empty/empty.svelte.d.ts +5 -0
  388. package/dist/components/ui/empty/index.d.ts +7 -0
  389. package/dist/components/ui/empty/index.js +9 -0
  390. package/dist/components/ui/field/field-content.svelte +24 -0
  391. package/dist/components/ui/field/field-content.svelte.d.ts +5 -0
  392. package/dist/components/ui/field/field-description.svelte +26 -0
  393. package/dist/components/ui/field/field-description.svelte.d.ts +5 -0
  394. package/dist/components/ui/field/field-error.svelte +61 -0
  395. package/dist/components/ui/field/field-error.svelte.d.ts +12 -0
  396. package/dist/components/ui/field/field-group.svelte +24 -0
  397. package/dist/components/ui/field/field-group.svelte.d.ts +5 -0
  398. package/dist/components/ui/field/field-label.svelte +26 -0
  399. package/dist/components/ui/field/field-label.svelte.d.ts +10 -0
  400. package/dist/components/ui/field/field-legend.svelte +28 -0
  401. package/dist/components/ui/field/field-legend.svelte.d.ts +8 -0
  402. package/dist/components/ui/field/field-separator.svelte +39 -0
  403. package/dist/components/ui/field/field-separator.svelte.d.ts +9 -0
  404. package/dist/components/ui/field/field-set.svelte +24 -0
  405. package/dist/components/ui/field/field-set.svelte.d.ts +5 -0
  406. package/dist/components/ui/field/field-title.svelte +24 -0
  407. package/dist/components/ui/field/field-title.svelte.d.ts +5 -0
  408. package/dist/components/ui/field/field.svelte +50 -0
  409. package/dist/components/ui/field/field.svelte.d.ts +29 -0
  410. package/dist/components/ui/field/index.d.ts +11 -0
  411. package/dist/components/ui/field/index.js +13 -0
  412. package/dist/components/ui/input/index.d.ts +2 -0
  413. package/dist/components/ui/input/index.js +4 -0
  414. package/dist/components/ui/input/input.svelte +69 -0
  415. package/dist/components/ui/input/input.svelte.d.ts +13 -0
  416. package/dist/components/ui/input-group/index.d.ts +7 -0
  417. package/dist/components/ui/input-group/index.js +9 -0
  418. package/dist/components/ui/input-group/input-group-addon.svelte +58 -0
  419. package/dist/components/ui/input-group/input-group-addon.svelte.d.ts +32 -0
  420. package/dist/components/ui/input-group/input-group-button.svelte +53 -0
  421. package/dist/components/ui/input-group/input-group-button.svelte.d.ts +32 -0
  422. package/dist/components/ui/input-group/input-group-input.svelte +24 -0
  423. package/dist/components/ui/input-group/input-group-input.svelte.d.ts +11 -0
  424. package/dist/components/ui/input-group/input-group-text.svelte +23 -0
  425. package/dist/components/ui/input-group/input-group-text.svelte.d.ts +5 -0
  426. package/dist/components/ui/input-group/input-group-textarea.svelte +24 -0
  427. package/dist/components/ui/input-group/input-group-textarea.svelte.d.ts +3 -0
  428. package/dist/components/ui/input-group/input-group.svelte +25 -0
  429. package/dist/components/ui/input-group/input-group.svelte.d.ts +5 -0
  430. package/dist/components/ui/input-otp/index.d.ts +5 -0
  431. package/dist/components/ui/input-otp/index.js +5 -0
  432. package/dist/components/ui/input-otp/input-otp-group.svelte +24 -0
  433. package/dist/components/ui/input-otp/input-otp-group.svelte.d.ts +5 -0
  434. package/dist/components/ui/input-otp/input-otp-separator.svelte +31 -0
  435. package/dist/components/ui/input-otp/input-otp-separator.svelte.d.ts +5 -0
  436. package/dist/components/ui/input-otp/input-otp-slot.svelte +38 -0
  437. package/dist/components/ui/input-otp/input-otp-slot.svelte.d.ts +4 -0
  438. package/dist/components/ui/input-otp/input-otp.svelte +25 -0
  439. package/dist/components/ui/input-otp/input-otp.svelte.d.ts +4 -0
  440. package/dist/components/ui/label/index.d.ts +2 -0
  441. package/dist/components/ui/label/index.js +4 -0
  442. package/dist/components/ui/label/label.svelte +21 -0
  443. package/dist/components/ui/label/label.svelte.d.ts +4 -0
  444. package/dist/components/ui/menubar/index.d.ts +18 -0
  445. package/dist/components/ui/menubar/index.js +20 -0
  446. package/dist/components/ui/menubar/menubar-checkbox-item.svelte +49 -0
  447. package/dist/components/ui/menubar/menubar-checkbox-item.svelte.d.ts +10 -0
  448. package/dist/components/ui/menubar/menubar-content.svelte +37 -0
  449. package/dist/components/ui/menubar/menubar-content.svelte.d.ts +10 -0
  450. package/dist/components/ui/menubar/menubar-group-heading.svelte +23 -0
  451. package/dist/components/ui/menubar/menubar-group-heading.svelte.d.ts +8 -0
  452. package/dist/components/ui/menubar/menubar-group.svelte +12 -0
  453. package/dist/components/ui/menubar/menubar-group.svelte.d.ts +7 -0
  454. package/dist/components/ui/menubar/menubar-item.svelte +28 -0
  455. package/dist/components/ui/menubar/menubar-item.svelte.d.ts +8 -0
  456. package/dist/components/ui/menubar/menubar-label.svelte +26 -0
  457. package/dist/components/ui/menubar/menubar-label.svelte.d.ts +8 -0
  458. package/dist/components/ui/menubar/menubar-menu.svelte +7 -0
  459. package/dist/components/ui/menubar/menubar-menu.svelte.d.ts +3 -0
  460. package/dist/components/ui/menubar/menubar-portal.svelte +7 -0
  461. package/dist/components/ui/menubar/menubar-portal.svelte.d.ts +3 -0
  462. package/dist/components/ui/menubar/menubar-radio-group.svelte +16 -0
  463. package/dist/components/ui/menubar/menubar-radio-group.svelte.d.ts +4 -0
  464. package/dist/components/ui/menubar/menubar-radio-item.svelte +40 -0
  465. package/dist/components/ui/menubar/menubar-radio-item.svelte.d.ts +8 -0
  466. package/dist/components/ui/menubar/menubar-separator.svelte +18 -0
  467. package/dist/components/ui/menubar/menubar-separator.svelte.d.ts +4 -0
  468. package/dist/components/ui/menubar/menubar-shortcut.svelte +24 -0
  469. package/dist/components/ui/menubar/menubar-shortcut.svelte.d.ts +5 -0
  470. package/dist/components/ui/menubar/menubar-sub-content.svelte +33 -0
  471. package/dist/components/ui/menubar/menubar-sub-content.svelte.d.ts +10 -0
  472. package/dist/components/ui/menubar/menubar-sub-trigger.svelte +30 -0
  473. package/dist/components/ui/menubar/menubar-sub-trigger.svelte.d.ts +8 -0
  474. package/dist/components/ui/menubar/menubar-sub.svelte +8 -0
  475. package/dist/components/ui/menubar/menubar-sub.svelte.d.ts +4 -0
  476. package/dist/components/ui/menubar/menubar-trigger.svelte +21 -0
  477. package/dist/components/ui/menubar/menubar-trigger.svelte.d.ts +4 -0
  478. package/dist/components/ui/menubar/menubar.svelte +21 -0
  479. package/dist/components/ui/menubar/menubar.svelte.d.ts +4 -0
  480. package/dist/components/ui/pagination/index.d.ts +14 -0
  481. package/dist/components/ui/pagination/index.js +16 -0
  482. package/dist/components/ui/pagination/pagination-content.svelte +21 -0
  483. package/dist/components/ui/pagination/pagination-content.svelte.d.ts +5 -0
  484. package/dist/components/ui/pagination/pagination-ellipsis.svelte +28 -0
  485. package/dist/components/ui/pagination/pagination-ellipsis.svelte.d.ts +5 -0
  486. package/dist/components/ui/pagination/pagination-item.svelte +15 -0
  487. package/dist/components/ui/pagination/pagination-item.svelte.d.ts +5 -0
  488. package/dist/components/ui/pagination/pagination-link.svelte +46 -0
  489. package/dist/components/ui/pagination/pagination-link.svelte.d.ts +9 -0
  490. package/dist/components/ui/pagination/pagination-next-button.svelte +33 -0
  491. package/dist/components/ui/pagination/pagination-next-button.svelte.d.ts +4 -0
  492. package/dist/components/ui/pagination/pagination-next.svelte +27 -0
  493. package/dist/components/ui/pagination/pagination-next.svelte.d.ts +4 -0
  494. package/dist/components/ui/pagination/pagination-prev-button.svelte +33 -0
  495. package/dist/components/ui/pagination/pagination-prev-button.svelte.d.ts +4 -0
  496. package/dist/components/ui/pagination/pagination-previous.svelte +27 -0
  497. package/dist/components/ui/pagination/pagination-previous.svelte.d.ts +4 -0
  498. package/dist/components/ui/pagination/pagination.svelte +28 -0
  499. package/dist/components/ui/pagination/pagination.svelte.d.ts +4 -0
  500. package/dist/components/ui/popover/index.d.ts +9 -0
  501. package/dist/components/ui/popover/index.js +11 -0
  502. package/dist/components/ui/popover/popover-close.svelte +8 -0
  503. package/dist/components/ui/popover/popover-close.svelte.d.ts +4 -0
  504. package/dist/components/ui/popover/popover-content.svelte +33 -0
  505. package/dist/components/ui/popover/popover-content.svelte.d.ts +10 -0
  506. package/dist/components/ui/popover/popover-description.svelte +21 -0
  507. package/dist/components/ui/popover/popover-description.svelte.d.ts +5 -0
  508. package/dist/components/ui/popover/popover-header.svelte +21 -0
  509. package/dist/components/ui/popover/popover-header.svelte.d.ts +5 -0
  510. package/dist/components/ui/popover/popover-portal.svelte +7 -0
  511. package/dist/components/ui/popover/popover-portal.svelte.d.ts +3 -0
  512. package/dist/components/ui/popover/popover-title.svelte +21 -0
  513. package/dist/components/ui/popover/popover-title.svelte.d.ts +5 -0
  514. package/dist/components/ui/popover/popover-trigger.svelte +18 -0
  515. package/dist/components/ui/popover/popover-trigger.svelte.d.ts +4 -0
  516. package/dist/components/ui/popover/popover.svelte +8 -0
  517. package/dist/components/ui/popover/popover.svelte.d.ts +3 -0
  518. package/dist/components/ui/progress/index.d.ts +2 -0
  519. package/dist/components/ui/progress/index.js +4 -0
  520. package/dist/components/ui/progress/progress.svelte +31 -0
  521. package/dist/components/ui/progress/progress.svelte.d.ts +4 -0
  522. package/dist/components/ui/radio-group/index.d.ts +3 -0
  523. package/dist/components/ui/radio-group/index.js +5 -0
  524. package/dist/components/ui/radio-group/radio-group-item.svelte +35 -0
  525. package/dist/components/ui/radio-group/radio-group-item.svelte.d.ts +4 -0
  526. package/dist/components/ui/radio-group/radio-group.svelte +20 -0
  527. package/dist/components/ui/radio-group/radio-group.svelte.d.ts +4 -0
  528. package/dist/components/ui/range-calendar/index.d.ts +19 -0
  529. package/dist/components/ui/range-calendar/index.js +21 -0
  530. package/dist/components/ui/range-calendar/range-calendar-caption.svelte +83 -0
  531. package/dist/components/ui/range-calendar/range-calendar-caption.svelte.d.ts +19 -0
  532. package/dist/components/ui/range-calendar/range-calendar-cell.svelte +20 -0
  533. package/dist/components/ui/range-calendar/range-calendar-cell.svelte.d.ts +4 -0
  534. package/dist/components/ui/range-calendar/range-calendar-day.svelte +37 -0
  535. package/dist/components/ui/range-calendar/range-calendar-day.svelte.d.ts +4 -0
  536. package/dist/components/ui/range-calendar/range-calendar-grid-body.svelte +10 -0
  537. package/dist/components/ui/range-calendar/range-calendar-grid-body.svelte.d.ts +4 -0
  538. package/dist/components/ui/range-calendar/range-calendar-grid-head.svelte +10 -0
  539. package/dist/components/ui/range-calendar/range-calendar-grid-head.svelte.d.ts +4 -0
  540. package/dist/components/ui/range-calendar/range-calendar-grid-row.svelte +17 -0
  541. package/dist/components/ui/range-calendar/range-calendar-grid-row.svelte.d.ts +4 -0
  542. package/dist/components/ui/range-calendar/range-calendar-grid.svelte +17 -0
  543. package/dist/components/ui/range-calendar/range-calendar-grid.svelte.d.ts +4 -0
  544. package/dist/components/ui/range-calendar/range-calendar-head-cell.svelte +20 -0
  545. package/dist/components/ui/range-calendar/range-calendar-head-cell.svelte.d.ts +4 -0
  546. package/dist/components/ui/range-calendar/range-calendar-header.svelte +20 -0
  547. package/dist/components/ui/range-calendar/range-calendar-header.svelte.d.ts +4 -0
  548. package/dist/components/ui/range-calendar/range-calendar-heading.svelte +17 -0
  549. package/dist/components/ui/range-calendar/range-calendar-heading.svelte.d.ts +4 -0
  550. package/dist/components/ui/range-calendar/range-calendar-month-select.svelte +50 -0
  551. package/dist/components/ui/range-calendar/range-calendar-month-select.svelte.d.ts +4 -0
  552. package/dist/components/ui/range-calendar/range-calendar-month.svelte +16 -0
  553. package/dist/components/ui/range-calendar/range-calendar-month.svelte.d.ts +5 -0
  554. package/dist/components/ui/range-calendar/range-calendar-months.svelte +20 -0
  555. package/dist/components/ui/range-calendar/range-calendar-months.svelte.d.ts +5 -0
  556. package/dist/components/ui/range-calendar/range-calendar-nav.svelte +23 -0
  557. package/dist/components/ui/range-calendar/range-calendar-nav.svelte.d.ts +5 -0
  558. package/dist/components/ui/range-calendar/range-calendar-next-button.svelte +41 -0
  559. package/dist/components/ui/range-calendar/range-calendar-next-button.svelte.d.ts +8 -0
  560. package/dist/components/ui/range-calendar/range-calendar-prev-button.svelte +41 -0
  561. package/dist/components/ui/range-calendar/range-calendar-prev-button.svelte.d.ts +8 -0
  562. package/dist/components/ui/range-calendar/range-calendar-year-select.svelte +50 -0
  563. package/dist/components/ui/range-calendar/range-calendar-year-select.svelte.d.ts +4 -0
  564. package/dist/components/ui/range-calendar/range-calendar.svelte +127 -0
  565. package/dist/components/ui/range-calendar/range-calendar.svelte.d.ts +20 -0
  566. package/dist/components/ui/resizable/index.d.ts +4 -0
  567. package/dist/components/ui/resizable/index.js +6 -0
  568. package/dist/components/ui/resizable/resizable-handle.svelte +28 -0
  569. package/dist/components/ui/resizable/resizable-handle.svelte.d.ts +8 -0
  570. package/dist/components/ui/resizable/resizable-pane-group.svelte +22 -0
  571. package/dist/components/ui/resizable/resizable-pane-group.svelte.d.ts +7 -0
  572. package/dist/components/ui/scroll-area/index.d.ts +3 -0
  573. package/dist/components/ui/scroll-area/index.js +5 -0
  574. package/dist/components/ui/scroll-area/scroll-area-scrollbar.svelte +31 -0
  575. package/dist/components/ui/scroll-area/scroll-area-scrollbar.svelte.d.ts +4 -0
  576. package/dist/components/ui/scroll-area/scroll-area.svelte +45 -0
  577. package/dist/components/ui/scroll-area/scroll-area.svelte.d.ts +11 -0
  578. package/dist/components/ui/select/index.d.ts +13 -0
  579. package/dist/components/ui/select/index.js +15 -0
  580. package/dist/components/ui/select/select-content.svelte +47 -0
  581. package/dist/components/ui/select/select-content.svelte.d.ts +11 -0
  582. package/dist/components/ui/select/select-group-heading.svelte +22 -0
  583. package/dist/components/ui/select/select-group-heading.svelte.d.ts +10 -0
  584. package/dist/components/ui/select/select-group.svelte +18 -0
  585. package/dist/components/ui/select/select-group.svelte.d.ts +4 -0
  586. package/dist/components/ui/select/select-item.svelte +45 -0
  587. package/dist/components/ui/select/select-item.svelte.d.ts +4 -0
  588. package/dist/components/ui/select/select-label.svelte +21 -0
  589. package/dist/components/ui/select/select-label.svelte.d.ts +6 -0
  590. package/dist/components/ui/select/select-portal.svelte +7 -0
  591. package/dist/components/ui/select/select-portal.svelte.d.ts +3 -0
  592. package/dist/components/ui/select/select-scroll-down-button.svelte +24 -0
  593. package/dist/components/ui/select/select-scroll-down-button.svelte.d.ts +4 -0
  594. package/dist/components/ui/select/select-scroll-up-button.svelte +24 -0
  595. package/dist/components/ui/select/select-scroll-up-button.svelte.d.ts +4 -0
  596. package/dist/components/ui/select/select-separator.svelte +19 -0
  597. package/dist/components/ui/select/select-separator.svelte.d.ts +4 -0
  598. package/dist/components/ui/select/select-trigger.svelte +30 -0
  599. package/dist/components/ui/select/select-trigger.svelte.d.ts +8 -0
  600. package/dist/components/ui/select/select-value.svelte +8 -0
  601. package/dist/components/ui/select/select-value.svelte.d.ts +4 -0
  602. package/dist/components/ui/select/select.svelte +11 -0
  603. package/dist/components/ui/select/select.svelte.d.ts +3 -0
  604. package/dist/components/ui/separator/index.d.ts +2 -0
  605. package/dist/components/ui/separator/index.js +4 -0
  606. package/dist/components/ui/separator/separator.svelte +22 -0
  607. package/dist/components/ui/separator/separator.svelte.d.ts +4 -0
  608. package/dist/components/ui/sheet/index.d.ts +11 -0
  609. package/dist/components/ui/sheet/index.js +13 -0
  610. package/dist/components/ui/sheet/sheet-close.svelte +8 -0
  611. package/dist/components/ui/sheet/sheet-close.svelte.d.ts +4 -0
  612. package/dist/components/ui/sheet/sheet-content.svelte +61 -0
  613. package/dist/components/ui/sheet/sheet-content.svelte.d.ts +14 -0
  614. package/dist/components/ui/sheet/sheet-description.svelte +18 -0
  615. package/dist/components/ui/sheet/sheet-description.svelte.d.ts +4 -0
  616. package/dist/components/ui/sheet/sheet-footer.svelte +21 -0
  617. package/dist/components/ui/sheet/sheet-footer.svelte.d.ts +5 -0
  618. package/dist/components/ui/sheet/sheet-header.svelte +21 -0
  619. package/dist/components/ui/sheet/sheet-header.svelte.d.ts +5 -0
  620. package/dist/components/ui/sheet/sheet-overlay.svelte +21 -0
  621. package/dist/components/ui/sheet/sheet-overlay.svelte.d.ts +4 -0
  622. package/dist/components/ui/sheet/sheet-portal.svelte +7 -0
  623. package/dist/components/ui/sheet/sheet-portal.svelte.d.ts +3 -0
  624. package/dist/components/ui/sheet/sheet-title.svelte +18 -0
  625. package/dist/components/ui/sheet/sheet-title.svelte.d.ts +4 -0
  626. package/dist/components/ui/sheet/sheet-trigger.svelte +8 -0
  627. package/dist/components/ui/sheet/sheet-trigger.svelte.d.ts +4 -0
  628. package/dist/components/ui/sheet/sheet.svelte +8 -0
  629. package/dist/components/ui/sheet/sheet.svelte.d.ts +3 -0
  630. package/dist/components/ui/sidebar/constants.d.ts +6 -0
  631. package/dist/components/ui/sidebar/constants.js +6 -0
  632. package/dist/components/ui/sidebar/context.svelte.d.ts +42 -0
  633. package/dist/components/ui/sidebar/context.svelte.js +54 -0
  634. package/dist/components/ui/sidebar/index.d.ts +25 -0
  635. package/dist/components/ui/sidebar/index.js +27 -0
  636. package/dist/components/ui/sidebar/sidebar-content.svelte +25 -0
  637. package/dist/components/ui/sidebar/sidebar-content.svelte.d.ts +5 -0
  638. package/dist/components/ui/sidebar/sidebar-footer.svelte +22 -0
  639. package/dist/components/ui/sidebar/sidebar-footer.svelte.d.ts +5 -0
  640. package/dist/components/ui/sidebar/sidebar-group-action.svelte +34 -0
  641. package/dist/components/ui/sidebar/sidebar-group-action.svelte.d.ts +11 -0
  642. package/dist/components/ui/sidebar/sidebar-group-content.svelte +22 -0
  643. package/dist/components/ui/sidebar/sidebar-group-content.svelte.d.ts +5 -0
  644. package/dist/components/ui/sidebar/sidebar-group-label.svelte +34 -0
  645. package/dist/components/ui/sidebar/sidebar-group-label.svelte.d.ts +11 -0
  646. package/dist/components/ui/sidebar/sidebar-group.svelte +22 -0
  647. package/dist/components/ui/sidebar/sidebar-group.svelte.d.ts +5 -0
  648. package/dist/components/ui/sidebar/sidebar-header.svelte +22 -0
  649. package/dist/components/ui/sidebar/sidebar-header.svelte.d.ts +5 -0
  650. package/dist/components/ui/sidebar/sidebar-input.svelte +22 -0
  651. package/dist/components/ui/sidebar/sidebar-input.svelte.d.ts +11 -0
  652. package/dist/components/ui/sidebar/sidebar-inset.svelte +24 -0
  653. package/dist/components/ui/sidebar/sidebar-inset.svelte.d.ts +5 -0
  654. package/dist/components/ui/sidebar/sidebar-menu-action.svelte +38 -0
  655. package/dist/components/ui/sidebar/sidebar-menu-action.svelte.d.ts +12 -0
  656. package/dist/components/ui/sidebar/sidebar-menu-badge.svelte +25 -0
  657. package/dist/components/ui/sidebar/sidebar-menu-badge.svelte.d.ts +5 -0
  658. package/dist/components/ui/sidebar/sidebar-menu-button.svelte +113 -0
  659. package/dist/components/ui/sidebar/sidebar-menu-button.svelte.d.ts +51 -0
  660. package/dist/components/ui/sidebar/sidebar-menu-item.svelte +22 -0
  661. package/dist/components/ui/sidebar/sidebar-menu-item.svelte.d.ts +5 -0
  662. package/dist/components/ui/sidebar/sidebar-menu-skeleton.svelte +37 -0
  663. package/dist/components/ui/sidebar/sidebar-menu-skeleton.svelte.d.ts +8 -0
  664. package/dist/components/ui/sidebar/sidebar-menu-sub-button.svelte +40 -0
  665. package/dist/components/ui/sidebar/sidebar-menu-sub-button.svelte.d.ts +13 -0
  666. package/dist/components/ui/sidebar/sidebar-menu-sub-item.svelte +22 -0
  667. package/dist/components/ui/sidebar/sidebar-menu-sub-item.svelte.d.ts +5 -0
  668. package/dist/components/ui/sidebar/sidebar-menu-sub.svelte +26 -0
  669. package/dist/components/ui/sidebar/sidebar-menu-sub.svelte.d.ts +5 -0
  670. package/dist/components/ui/sidebar/sidebar-menu.svelte +25 -0
  671. package/dist/components/ui/sidebar/sidebar-menu.svelte.d.ts +5 -0
  672. package/dist/components/ui/sidebar/sidebar-provider.svelte +55 -0
  673. package/dist/components/ui/sidebar/sidebar-provider.svelte.d.ts +9 -0
  674. package/dist/components/ui/sidebar/sidebar-rail.svelte +41 -0
  675. package/dist/components/ui/sidebar/sidebar-rail.svelte.d.ts +5 -0
  676. package/dist/components/ui/sidebar/sidebar-separator.svelte +20 -0
  677. package/dist/components/ui/sidebar/sidebar-separator.svelte.d.ts +13 -0
  678. package/dist/components/ui/sidebar/sidebar-trigger.svelte +38 -0
  679. package/dist/components/ui/sidebar/sidebar-trigger.svelte.d.ts +8 -0
  680. package/dist/components/ui/sidebar/sidebar.svelte +108 -0
  681. package/dist/components/ui/sidebar/sidebar.svelte.d.ts +10 -0
  682. package/dist/components/ui/skeleton/index.d.ts +2 -0
  683. package/dist/components/ui/skeleton/index.js +4 -0
  684. package/dist/components/ui/skeleton/skeleton.svelte +18 -0
  685. package/dist/components/ui/skeleton/skeleton.svelte.d.ts +5 -0
  686. package/dist/components/ui/slider/index.d.ts +2 -0
  687. package/dist/components/ui/slider/index.js +4 -0
  688. package/dist/components/ui/slider/slider.svelte +53 -0
  689. package/dist/components/ui/slider/slider.svelte.d.ts +5 -0
  690. package/dist/components/ui/sonner/index.d.ts +1 -0
  691. package/dist/components/ui/sonner/index.js +1 -0
  692. package/dist/components/ui/sonner/sonner.svelte +66 -0
  693. package/dist/components/ui/sonner/sonner.svelte.d.ts +4 -0
  694. package/dist/components/ui/spinner/index.d.ts +1 -0
  695. package/dist/components/ui/spinner/index.js +1 -0
  696. package/dist/components/ui/spinner/spinner.svelte +30 -0
  697. package/dist/components/ui/spinner/spinner.svelte.d.ts +4 -0
  698. package/dist/components/ui/switch/index.d.ts +2 -0
  699. package/dist/components/ui/switch/index.js +4 -0
  700. package/dist/components/ui/switch/switch.svelte +35 -0
  701. package/dist/components/ui/switch/switch.svelte.d.ts +8 -0
  702. package/dist/components/ui/table/index.d.ts +9 -0
  703. package/dist/components/ui/table/index.js +11 -0
  704. package/dist/components/ui/table/table-body.svelte +21 -0
  705. package/dist/components/ui/table/table-body.svelte.d.ts +5 -0
  706. package/dist/components/ui/table/table-caption.svelte +21 -0
  707. package/dist/components/ui/table/table-caption.svelte.d.ts +5 -0
  708. package/dist/components/ui/table/table-cell.svelte +24 -0
  709. package/dist/components/ui/table/table-cell.svelte.d.ts +5 -0
  710. package/dist/components/ui/table/table-footer.svelte +24 -0
  711. package/dist/components/ui/table/table-footer.svelte.d.ts +5 -0
  712. package/dist/components/ui/table/table-head.svelte +24 -0
  713. package/dist/components/ui/table/table-head.svelte.d.ts +5 -0
  714. package/dist/components/ui/table/table-header.svelte +21 -0
  715. package/dist/components/ui/table/table-header.svelte.d.ts +5 -0
  716. package/dist/components/ui/table/table-row.svelte +24 -0
  717. package/dist/components/ui/table/table-row.svelte.d.ts +5 -0
  718. package/dist/components/ui/table/table.svelte +23 -0
  719. package/dist/components/ui/table/table.svelte.d.ts +5 -0
  720. package/dist/components/ui/tabs/index.d.ts +5 -0
  721. package/dist/components/ui/tabs/index.js +7 -0
  722. package/dist/components/ui/tabs/tabs-content.svelte +18 -0
  723. package/dist/components/ui/tabs/tabs-content.svelte.d.ts +4 -0
  724. package/dist/components/ui/tabs/tabs-list.svelte +43 -0
  725. package/dist/components/ui/tabs/tabs-list.svelte.d.ts +25 -0
  726. package/dist/components/ui/tabs/tabs-trigger.svelte +24 -0
  727. package/dist/components/ui/tabs/tabs-trigger.svelte.d.ts +4 -0
  728. package/dist/components/ui/tabs/tabs.svelte +20 -0
  729. package/dist/components/ui/tabs/tabs.svelte.d.ts +4 -0
  730. package/dist/components/ui/textarea/index.d.ts +2 -0
  731. package/dist/components/ui/textarea/index.js +4 -0
  732. package/dist/components/ui/textarea/textarea.svelte +23 -0
  733. package/dist/components/ui/textarea/textarea.svelte.d.ts +5 -0
  734. package/dist/components/ui/toggle/index.d.ts +3 -0
  735. package/dist/components/ui/toggle/index.js +5 -0
  736. package/dist/components/ui/toggle/toggle.svelte +53 -0
  737. package/dist/components/ui/toggle/toggle.svelte.d.ts +43 -0
  738. package/dist/components/ui/toggle-group/index.d.ts +3 -0
  739. package/dist/components/ui/toggle-group/index.js +5 -0
  740. package/dist/components/ui/toggle-group/toggle-group-item.svelte +40 -0
  741. package/dist/components/ui/toggle-group/toggle-group-item.svelte.d.ts +6 -0
  742. package/dist/components/ui/toggle-group/toggle-group.svelte +77 -0
  743. package/dist/components/ui/toggle-group/toggle-group.svelte.d.ts +17 -0
  744. package/dist/components/ui/tooltip/index.d.ts +6 -0
  745. package/dist/components/ui/tooltip/index.js +8 -0
  746. package/dist/components/ui/tooltip/tooltip-content.svelte +50 -0
  747. package/dist/components/ui/tooltip/tooltip-content.svelte.d.ts +11 -0
  748. package/dist/components/ui/tooltip/tooltip-portal.svelte +7 -0
  749. package/dist/components/ui/tooltip/tooltip-portal.svelte.d.ts +4 -0
  750. package/dist/components/ui/tooltip/tooltip-provider.svelte +8 -0
  751. package/dist/components/ui/tooltip/tooltip-provider.svelte.d.ts +4 -0
  752. package/dist/components/ui/tooltip/tooltip-trigger.svelte +10 -0
  753. package/dist/components/ui/tooltip/tooltip-trigger.svelte.d.ts +25 -0
  754. package/dist/components/ui/tooltip/tooltip.svelte +8 -0
  755. package/dist/components/ui/tooltip/tooltip.svelte.d.ts +25 -0
  756. package/dist/haptics.d.ts +8 -0
  757. package/dist/haptics.js +11 -0
  758. package/dist/hooks/is-mobile.svelte.d.ts +4 -0
  759. package/dist/hooks/is-mobile.svelte.js +7 -0
  760. package/dist/mcp-content.json +1 -0
  761. package/dist/mcp.js +83 -0
  762. package/dist/page-title.svelte.d.ts +31 -0
  763. package/dist/page-title.svelte.js +33 -0
  764. package/dist/password.d.ts +11 -0
  765. package/dist/password.js +38 -0
  766. package/dist/theme.css +440 -0
  767. package/dist/toast.d.ts +43 -0
  768. package/dist/toast.js +85 -0
  769. package/dist/utils.d.ts +11 -0
  770. package/dist/utils.js +1 -0
  771. package/package.json +121 -5
package/README.md CHANGED
@@ -1,3 +1,223 @@
1
- # Temporary Holding Version
1
+ # @orochibraru/ui
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ Svelte 5 components and the theme shared by OpenCount, LocalAssistant, Homerun,
4
+ Sergio's, Nuvio Web and Penombre: the shadcn-svelte primitives (vega style) as
5
+ these apps customised them, a handful of app-level blocks, and the oklch theme
6
+ they all draw from. One package instead of six drifting copies.
7
+
8
+ Built for SvelteKit 3, Svelte 5 runes and Tailwind CSS v4.
9
+
10
+ ## Install
11
+
12
+ ```bash
13
+ bun add -d @orochibraru/ui
14
+ ```
15
+
16
+ It goes in `devDependencies`: the app bundles it, so nothing from it is needed
17
+ at runtime next to the compiled server.
18
+
19
+ ## Set up the stylesheet
20
+
21
+ Import the theme right after Tailwind in the app's root stylesheet:
22
+
23
+ ```css
24
+ @import "tailwindcss";
25
+ @import "@orochibraru/ui/theme.css";
26
+ ```
27
+
28
+ The theme brings the design tokens, the `data-*` state variants the primitives
29
+ style with, `tw-animate-css`, and an `@source` that makes Tailwind scan the
30
+ package, so no other configuration is needed.
31
+
32
+ ## Use
33
+
34
+ Every primitive is a subpath, with the same exports shadcn-svelte generates:
35
+
36
+ ```svelte
37
+ <script lang="ts">
38
+ import EmptyState from "@orochibraru/ui/blocks/empty-state";
39
+ import { Button } from "@orochibraru/ui/button";
40
+ import * as Dialog from "@orochibraru/ui/dialog";
41
+ import { cn } from "@orochibraru/ui/utils";
42
+ </script>
43
+ ```
44
+
45
+ Moving an app over is a rewrite of its imports:
46
+ `#lib/components/ui/button/index.js` becomes `@orochibraru/ui/button`.
47
+
48
+ Primitives: accordion, alert, alert-dialog, avatar, badge, breadcrumb, button,
49
+ button-group, calendar, card, checkbox, command, context-menu, dialog, drawer,
50
+ dropdown-menu, empty, field, input, input-group, input-otp, label, menubar,
51
+ pagination, popover, progress, radio-group, range-calendar, resizable,
52
+ scroll-area, select, separator, sheet, sidebar, skeleton, slider, sonner,
53
+ spinner, switch, table, tabs, textarea, toggle, toggle-group, tooltip.
54
+
55
+ `input` turns password managers off on fields that don't set `autocomplete`, so
56
+ a search box never gets a login suggestion.
57
+
58
+ ## Blocks
59
+
60
+ Under `@orochibraru/ui/blocks/<name>`:
61
+
62
+ | Block | What it does |
63
+ | --------------------- | ----------------------------------------------------------------------------- |
64
+ | `accent-toggle` | The accent presets: swatch strip on desktop, labelled rows on phones. |
65
+ | `auth-shell` | Centered sign-in layout: heading, optional `brand` and `footer` snippets. |
66
+ | `bottom-nav` | Phone tab bar of top-level destinations, the current one lit. |
67
+ | `copy-field` | Monospace value with a copy button and a promise toast. |
68
+ | `document-title` | `<title>` from the page title, suffixed with `appName`. |
69
+ | `empty-state` | Icon, title, subtitle and an action slot for an empty list. |
70
+ | `error-page` | Status, message and error id from `page`, with a link to `homeHref`. |
71
+ | `fab` | Floating action button above the phone tab bar, with a haptic tap. |
72
+ | `icon-button` | Round icon button with a tooltip that doubles as its accessible name. |
73
+ | `install-prompt` | One-time PWA install sheet: native prompt, iOS steps or browser menu steps. |
74
+ | `music-player` | Audio bar with a queue: play, skip, seek, volume; positioning is the app's. |
75
+ | `nav-cards` | Phone-only list of a section's tabs as cards: icon, label, description. |
76
+ | `new-password-fields` | New password and its confirmation: reveal, strength meter, rules. |
77
+ | `option-group` | Radio cards for a settings choice, with an icon or a `swatch` snippet each. |
78
+ | `otp-field` | One-time code: digits only, SMS autofill, posted as one `code` field. |
79
+ | `password-input` | Password field with a button to reveal it. |
80
+ | `responsive-sheet` | A dialog on desktop, a bottom drawer under 768px. |
81
+ | `setting-switch` | Labelled switch row for settings forms, posting `name=true` when on. |
82
+ | `stat-card` | Glass card with an icon, a value and a hint, optionally a link. |
83
+ | `tab-nav` | Pill tab bar of links, the current page's tab highlighted. |
84
+ | `tab-section` | Layout for a tabbed section: tabs on desktop, nav cards on phones. |
85
+ | `theme-picker` | System, light and dark as radio cards, for an appearance page. |
86
+ | `theme-toggle` | System, light and dark: icon strip on desktop, three rows on phones. |
87
+ | `top-loading-bar` | Progress bar during SvelteKit navigations, safe-area aware. |
88
+ | `video-player` | Video with scrubbing, chapters, subtitles, speed, fullscreen, gestures, keys. |
89
+
90
+ Blocks with built-in copy (`accent-toggle`, `copy-field`, `error-page`,
91
+ `install-prompt`, `new-password-fields`, `password-input`, `theme-picker`,
92
+ `theme-toggle`) take a `messages` prop. Its keys override the English defaults
93
+ one by one, which is how a French or translated app uses them. Blocks never set
94
+ the page title, except `tab-section`, which owns its section's title: the app
95
+ calls `setPageTitle` itself.
96
+
97
+ ### Tabbed sections
98
+
99
+ A tabbed page is one real route per tab, each tab with a description, under a
100
+ `tab-section` layout. On phones the index route renders `nav-cards` and each tab
101
+ is a page titled by its label, its back button returning to the cards. On
102
+ desktop the index replaces itself with the first tab and `tab-nav` shows them
103
+ all. The tabs live in one list (`SectionTab[]`, exported by `nav-cards`) that
104
+ the layout and the index page share.
105
+
106
+ ### Theme
107
+
108
+ `theme-picker` and `theme-toggle` call `mode-watcher`'s `setMode`, so the app
109
+ mounts `<ModeWatcher />` in its root layout. Both take the saved theme as
110
+ `value`, so the server-rendered page checks the right one, and call `onchange`
111
+ with the new theme for the app to persist. `theme-picker` also posts as a
112
+ `theme` radio field (`name` changes it) inside a form.
113
+
114
+ `icon-button`, and `copy-field` through it, need a `Tooltip.Provider` above
115
+ them, which apps put in their root layout.
116
+
117
+ ## Modules
118
+
119
+ - `@orochibraru/ui/utils`: `cn` and the shadcn-svelte prop helper types.
120
+ - `@orochibraru/ui/toast`: `enhanceToast` and `saveToast` narrate a form action
121
+ through one promise toast, `toastError` turns anything thrown into a message.
122
+ Form updates keep `reset: false` by default so `bind:value` fields survive a
123
+ submit.
124
+ - `@orochibraru/ui/page-title`: `providePageTitle` once in the root layout,
125
+ `setPageTitle` in pages, `usePageTitle` in app bars.
126
+ - `@orochibraru/ui/appearance`: `applyAppearance` and `appearanceBootScript`
127
+ apply a saved accent, theme, dark variant, font and corner style to `<html>`,
128
+ the boot script before first paint.
129
+ - `@orochibraru/ui/password`: `passwordRules` and `passwordScore`, the rules a
130
+ new password must pass and a 0 to 4 strength, the same on the form and the
131
+ server. `new-password-fields` renders them; `ruleLabels` translates them.
132
+ - `@orochibraru/ui/haptics`: `haptic("tap" | "success" | "error")`, a no-op
133
+ where vibration isn't supported.
134
+
135
+ ## Theming
136
+
137
+ Colours derive from two variables, so an app usually overrides only these after
138
+ importing the theme:
139
+
140
+ ```css
141
+ :root {
142
+ --hue: 8;
143
+ --primary-chroma: 0.15;
144
+ }
145
+ ```
146
+
147
+ On `<html>`:
148
+
149
+ - `class="dark"` switches to the dark palette, `data-dark-variant="amoled"`
150
+ makes it pure black.
151
+ - `data-accent` picks a preset: `bordeaux`, `green`, `blue`, `violet`, `rose`,
152
+ `orange`, `amber`, `cyan` or `neutral`.
153
+ - `data-font` (`system`, `serif`, `mono`) and `data-corners="square"` change the
154
+ type and the radius.
155
+
156
+ `class="aurora"` on `<body>` adds the drifting gradient background. It is opt-in
157
+ so apps with a flat look don't get it.
158
+
159
+ The theme also defines the `glass`, `glow`, `no-scrollbar` and `tabular`
160
+ utilities, the `standalone` variant for installed PWAs, `safe-*` spacing for
161
+ notches, the toast styling and the page transitions on phones. Fonts are left to
162
+ each app: set `--app-font` and `--display-font`.
163
+
164
+ ## Develop
165
+
166
+ ```bash
167
+ bun install
168
+ bun run dev
169
+ ```
170
+
171
+ The dev server is the docs site: a page per block, primitive and module, with
172
+ the component live and the code that renders it. That code is the example file
173
+ itself, its `#lib` imports rewritten to the package subpaths, so the two can't
174
+ drift apart. A file named `<slug>.<name>` next to an example is a companion,
175
+ shown after it: the layout, action or page an app needs for what the preview
176
+ can't hold. An example without a script is a note for the preview only.
177
+
178
+ Every component page can be copied as Markdown, viewed as Markdown, exported as
179
+ a PDF (through the browser's print dialog, in the light theme), or opened in
180
+ Claude or ChatGPT. The list pages filter by category.
181
+
182
+ The `Dockerfile` deploys the docs site: `bun run build:docs` compiles it to one
183
+ Bun binary that serves on port 3000 and reads `x-forwarded-proto` and
184
+ `x-forwarded-host`, so llms.txt links point at the public URL behind a proxy.
185
+
186
+ `bun run check`, `bun run test` and `bun run build` are the gates; `build`
187
+ packages `dist/` and runs publint.
188
+
189
+ New upstream components come from the shadcn-svelte CLI (`components.json` is
190
+ set up), followed by `node_modules/.bin/tailwint --fix` on the new files. The
191
+ CLI overwrites any customised primitive a new one depends on (drawer, input and
192
+ sonner carry the apps' changes): copy those aside before `add --overwrite` and
193
+ put them back after.
194
+
195
+ Dependencies use caret ranges, unlike the apps' exact pins, so a consuming app
196
+ dedupes `bits-ui` and friends with its own copy instead of bundling two.
197
+
198
+ ## MCP server
199
+
200
+ The package ships an MCP server with the docs and every example's code bundled
201
+ in, so an editor's assistant can list, search and read the components without
202
+ the docs site. It runs over stdio from the package's `bin`:
203
+
204
+ ```bash
205
+ claude mcp add orochibraru-ui -- npx -y @orochibraru/ui
206
+ ```
207
+
208
+ Cursor, VS Code and other clients take the same command:
209
+
210
+ ```json
211
+ {
212
+ "mcpServers": {
213
+ "orochibraru-ui": { "command": "npx", "args": ["-y", "@orochibraru/ui"] }
214
+ }
215
+ }
216
+ ```
217
+
218
+ Its tools are `get_setup` (this README), `list_components` (by group or
219
+ category), `search_components` and `get_component` (the description, import path
220
+ and usage code). `bun run build` bundles it with its content, so it needs no
221
+ dependency at runtime. The docs site serves the same server over streamable HTTP
222
+ at `/mcp`, plus `/llms.txt`, `/llms-full.txt` and a Markdown page per component
223
+ at `/<group>/<slug>.md`.
@@ -0,0 +1,11 @@
1
+ export interface AppearanceAttributes {
2
+ accent: string;
3
+ theme: string;
4
+ darkVariant: string;
5
+ font: string;
6
+ corners: string;
7
+ }
8
+ /** Applies an appearance to `<html>`: data attributes for accent, dark variant, font and corners, the `dark` class for the theme. */
9
+ export declare function applyAppearance(root: HTMLElement, appearance: AppearanceAttributes, prefersDark: boolean): void;
10
+ /** An inline script applying `appearance` before first paint, so a reload never flashes the default theme. */
11
+ export declare function appearanceBootScript(appearance: AppearanceAttributes): string;
@@ -0,0 +1,16 @@
1
+ /** Applies an appearance to `<html>`: data attributes for accent, dark variant, font and corners, the `dark` class for the theme. */
2
+ export function applyAppearance(root, appearance, prefersDark) {
3
+ root.dataset.accent = appearance.accent;
4
+ root.dataset.darkVariant = appearance.darkVariant;
5
+ root.dataset.font = appearance.font;
6
+ root.dataset.corners = appearance.corners;
7
+ const dark = appearance.theme === "dark" ||
8
+ (appearance.theme === "system" && prefersDark);
9
+ root.classList.toggle("dark", dark);
10
+ root.style.colorScheme = dark ? "dark" : "light";
11
+ }
12
+ /** An inline script applying `appearance` before first paint, so a reload never flashes the default theme. */
13
+ export function appearanceBootScript(appearance) {
14
+ const values = JSON.stringify(appearance).replaceAll("<", "\\u003c");
15
+ return `<script>(function(){var a=${values};var r=document.documentElement;r.dataset.accent=a.accent;r.dataset.darkVariant=a.darkVariant;r.dataset.font=a.font;r.dataset.corners=a.corners;try{localStorage.setItem("mode-watcher-mode",a.theme)}catch(e){}var d=a.theme==="dark"||(a.theme==="system"&&matchMedia("(prefers-color-scheme: dark)").matches);r.classList.toggle("dark",d);r.style.colorScheme=d?"dark":"light"})()</script>`;
16
+ }
@@ -0,0 +1,85 @@
1
+ <script lang="ts">
2
+ import { MediaQuery } from "svelte/reactivity";
3
+
4
+ import * as ToggleGroup from "../ui/toggle-group/index.js";
5
+
6
+ type Accent =
7
+ | "blue"
8
+ | "bordeaux"
9
+ | "green"
10
+ | "violet"
11
+ | "rose"
12
+ | "orange"
13
+ | "amber"
14
+ | "cyan"
15
+ | "neutral";
16
+
17
+ const defaultMessages = {
18
+ label: "Accent",
19
+ blue: "Blue",
20
+ bordeaux: "Bordeaux",
21
+ green: "Green",
22
+ violet: "Violet",
23
+ rose: "Rose",
24
+ orange: "Orange",
25
+ amber: "Amber",
26
+ cyan: "Cyan",
27
+ neutral: "Neutral",
28
+ };
29
+
30
+ interface Props {
31
+ value?: Accent;
32
+ onchange?: (accent: Accent) => void;
33
+ messages?: Partial<typeof defaultMessages>;
34
+ }
35
+
36
+ let { value = $bindable("blue"), onchange, messages = {} }: Props = $props();
37
+
38
+ const accents: Accent[] = [
39
+ "blue",
40
+ "bordeaux",
41
+ "green",
42
+ "violet",
43
+ "rose",
44
+ "orange",
45
+ "amber",
46
+ "cyan",
47
+ "neutral",
48
+ ];
49
+
50
+ const desktop = new MediaQuery("(min-width: 768px)");
51
+ const text = $derived({ ...defaultMessages, ...messages });
52
+
53
+ function pick(next: string) {
54
+ if (!next) {
55
+ return;
56
+ }
57
+ value = next as Accent;
58
+ document.documentElement.dataset.accent = value;
59
+ onchange?.(value);
60
+ }
61
+ </script>
62
+
63
+ <ToggleGroup.Root
64
+ type="single"
65
+ variant="outline"
66
+ orientation={desktop.current ? "horizontal" : "vertical"}
67
+ aria-label={text.label}
68
+ class="max-md:w-full"
69
+ bind:value={() => value, pick}
70
+ >
71
+ {#each accents as accent (accent)}
72
+ <ToggleGroup.Item
73
+ value={accent}
74
+ aria-label={text[accent]}
75
+ title={text[accent]}
76
+ data-accent={accent}
77
+ class="max-md:h-12 max-md:w-full max-md:justify-start max-md:gap-3 max-md:px-4 md:size-9"
78
+ >
79
+ <span
80
+ class="size-3 rounded-full bg-[oklch(0.6_var(--primary-chroma)_var(--hue))]"
81
+ ></span>
82
+ <span class="md:hidden">{text[accent]}</span>
83
+ </ToggleGroup.Item>
84
+ {/each}
85
+ </ToggleGroup.Root>
@@ -0,0 +1,18 @@
1
+ declare const AccentToggle: import("svelte").Component<{
2
+ value?: "blue" | "bordeaux" | "green" | "violet" | "rose" | "orange" | "amber" | "cyan" | "neutral";
3
+ onchange?: (accent: "blue" | "bordeaux" | "green" | "violet" | "rose" | "orange" | "amber" | "cyan" | "neutral") => void;
4
+ messages?: Partial<{
5
+ label: string;
6
+ blue: string;
7
+ bordeaux: string;
8
+ green: string;
9
+ violet: string;
10
+ rose: string;
11
+ orange: string;
12
+ amber: string;
13
+ cyan: string;
14
+ neutral: string;
15
+ }>;
16
+ }, {}, "value">;
17
+ type AccentToggle = ReturnType<typeof AccentToggle>;
18
+ export default AccentToggle;
@@ -0,0 +1,35 @@
1
+ <script lang="ts">
2
+ import type { Snippet } from "svelte";
3
+
4
+ interface Props {
5
+ heading: string;
6
+ subheading?: string;
7
+ brand?: Snippet;
8
+ children: Snippet;
9
+ footer?: Snippet;
10
+ }
11
+
12
+ const { heading, subheading, brand, children, footer }: Props = $props();
13
+ </script>
14
+
15
+ <div class="pt-safe-top flex min-h-[85dvh] flex-col justify-center px-6 py-12">
16
+ <div class="mx-auto w-full max-w-sm">
17
+ {#if brand}
18
+ <div class="mb-8">
19
+ {@render brand()}
20
+ </div>
21
+ {/if}
22
+ <h1 class="text-3xl font-bold tracking-tight">{heading}</h1>
23
+ {#if subheading}
24
+ <p class="text-muted-foreground mt-2">{subheading}</p>
25
+ {/if}
26
+ <div class="mt-8">
27
+ {@render children()}
28
+ </div>
29
+ {#if footer}
30
+ <p class="text-muted-foreground mt-8 text-center text-sm">
31
+ {@render footer()}
32
+ </p>
33
+ {/if}
34
+ </div>
35
+ </div>
@@ -0,0 +1,11 @@
1
+ import type { Snippet } from "svelte";
2
+ interface Props {
3
+ heading: string;
4
+ subheading?: string;
5
+ brand?: Snippet;
6
+ children: Snippet;
7
+ footer?: Snippet;
8
+ }
9
+ declare const AuthShell: import("svelte").Component<Props, {}, "">;
10
+ type AuthShell = ReturnType<typeof AuthShell>;
11
+ export default AuthShell;
@@ -0,0 +1,67 @@
1
+ <script lang="ts" module>
2
+ import type { Component } from "svelte";
3
+
4
+ export interface NavItem {
5
+ href: string;
6
+ label: string;
7
+ icon: Component<{ class?: string }>;
8
+ }
9
+
10
+ /** Whether `pathname` sits under the destination at `href`; the root only matches itself. */
11
+ export function isUnder(pathname: string, href: string): boolean {
12
+ return href === "/"
13
+ ? pathname === "/"
14
+ : pathname === href || pathname.startsWith(`${href}/`);
15
+ }
16
+ </script>
17
+
18
+ <script lang="ts">
19
+ import { page } from "$app/state";
20
+
21
+ interface Props {
22
+ items: NavItem[];
23
+ isActive?: (pathname: string, href: string) => boolean;
24
+ label?: string;
25
+ }
26
+
27
+ const { items, isActive = isUnder, label = "Main" }: Props = $props();
28
+
29
+ let compact = $state(false);
30
+ let lastY = 0;
31
+
32
+ function onscroll() {
33
+ const y = window.scrollY;
34
+ if (Math.abs(y - lastY) < 8) {
35
+ return;
36
+ }
37
+ compact = y > lastY && y > 64;
38
+ lastY = y;
39
+ }
40
+ </script>
41
+
42
+ <svelte:window {onscroll} />
43
+
44
+ <nav
45
+ class="group/nav fixed inset-x-0 bottom-0 z-40 px-4 pb-[max(0.75rem,env(safe-area-inset-bottom))] md:hidden print:hidden"
46
+ style="view-transition-name: tab-bar"
47
+ aria-label={label}
48
+ data-compact={compact || undefined}
49
+ >
50
+ <ul
51
+ class="bg-popover border-border mx-auto flex max-w-sm items-center gap-1 rounded-full border p-1.5 shadow-lg"
52
+ >
53
+ {#each items as item (item.href)}
54
+ {@const active = isActive(page.url.pathname, item.href)}
55
+ <li class="flex-1">
56
+ <a
57
+ href={item.href}
58
+ aria-current={active ? "page" : undefined}
59
+ class="text-muted-foreground aria-[current=page]:bg-primary aria-[current=page]:text-primary-foreground aria-[current=page]:glow flex h-12 flex-col items-center justify-center gap-0.5 rounded-full px-0.5 text-[0.6875rem] font-medium tracking-tight transition-all group-data-compact/nav:h-10 active:scale-95"
60
+ >
61
+ <item.icon class="size-5" />
62
+ <span class="group-data-compact/nav:sr-only">{item.label}</span>
63
+ </a>
64
+ </li>
65
+ {/each}
66
+ </ul>
67
+ </nav>
@@ -0,0 +1,18 @@
1
+ import type { Component } from "svelte";
2
+ export interface NavItem {
3
+ href: string;
4
+ label: string;
5
+ icon: Component<{
6
+ class?: string;
7
+ }>;
8
+ }
9
+ /** Whether `pathname` sits under the destination at `href`; the root only matches itself. */
10
+ export declare function isUnder(pathname: string, href: string): boolean;
11
+ interface Props {
12
+ items: NavItem[];
13
+ isActive?: (pathname: string, href: string) => boolean;
14
+ label?: string;
15
+ }
16
+ declare const BottomNav: Component<Props, {}, "">;
17
+ type BottomNav = ReturnType<typeof BottomNav>;
18
+ export default BottomNav;
@@ -0,0 +1,44 @@
1
+ <script lang="ts">
2
+ import CheckIcon from "@lucide/svelte/icons/check";
3
+ import CopyIcon from "@lucide/svelte/icons/copy";
4
+ import { toast } from "svelte-sonner";
5
+
6
+ import IconButton from "./icon-button.svelte";
7
+
8
+ const defaultMessages = {
9
+ loading: "Copying",
10
+ success: "Copied.",
11
+ error: "Couldn't copy. Select the text instead.",
12
+ };
13
+
14
+ interface Props {
15
+ value: string;
16
+ label: string;
17
+ messages?: Partial<typeof defaultMessages>;
18
+ }
19
+
20
+ const { value, label, messages = {} }: Props = $props();
21
+
22
+ let copied = $state(false);
23
+
24
+ async function copyCallback() {
25
+ await navigator.clipboard.writeText(value);
26
+ copied = true;
27
+ setTimeout(() => (copied = false), 2000);
28
+ }
29
+
30
+ function handleCopy() {
31
+ toast.promise(copyCallback(), { ...defaultMessages, ...messages });
32
+ }
33
+ </script>
34
+
35
+ <div class="bg-muted flex min-w-0 items-center gap-2 rounded-xl py-1 pr-1 pl-3">
36
+ <span class="min-w-0 flex-1 truncate font-mono text-xs select-all"
37
+ >{value}</span
38
+ >
39
+ <IconButton
40
+ {label}
41
+ icon={copied ? CheckIcon : CopyIcon}
42
+ onclick={handleCopy}
43
+ />
44
+ </div>
@@ -0,0 +1,11 @@
1
+ declare const CopyField: import("svelte").Component<{
2
+ value: string;
3
+ label: string;
4
+ messages?: Partial<{
5
+ loading: string;
6
+ success: string;
7
+ error: string;
8
+ }>;
9
+ }, {}, "">;
10
+ type CopyField = ReturnType<typeof CopyField>;
11
+ export default CopyField;
@@ -0,0 +1,18 @@
1
+ <script lang="ts">
2
+ import { usePageTitle } from "../../page-title.svelte.js";
3
+
4
+ const { appName }: { appName: string } = $props();
5
+
6
+ const title = usePageTitle();
7
+ const text = $derived(
8
+ !title.current
9
+ ? appName
10
+ : title.current.includes(appName)
11
+ ? title.current
12
+ : `${title.current} · ${appName}`,
13
+ );
14
+ </script>
15
+
16
+ <svelte:head>
17
+ <title>{text}</title>
18
+ </svelte:head>
@@ -0,0 +1,6 @@
1
+ type $$ComponentProps = {
2
+ appName: string;
3
+ };
4
+ declare const DocumentTitle: import("svelte").Component<$$ComponentProps, {}, "">;
5
+ type DocumentTitle = ReturnType<typeof DocumentTitle>;
6
+ export default DocumentTitle;
@@ -0,0 +1,45 @@
1
+ <script lang="ts">
2
+ import type { Component, Snippet } from "svelte";
3
+
4
+ import { cn } from "../../utils.js";
5
+
6
+ interface Props {
7
+ icon: Component<{ class?: string }>;
8
+ title: string;
9
+ subtitle?: string;
10
+ children?: Snippet;
11
+ class?: string;
12
+ }
13
+
14
+ const {
15
+ icon: Icon,
16
+ title,
17
+ subtitle,
18
+ children,
19
+ class: className,
20
+ }: Props = $props();
21
+ </script>
22
+
23
+ <div
24
+ class={cn(
25
+ "flex flex-col items-center justify-center px-6 py-16 text-center",
26
+ className,
27
+ )}
28
+ >
29
+ <div
30
+ class="bg-accent text-accent-foreground mb-5 flex size-16 items-center justify-center rounded-2xl"
31
+ >
32
+ <Icon class="size-7" />
33
+ </div>
34
+ <p class="text-lg font-semibold tracking-tight">{title}</p>
35
+ {#if subtitle}
36
+ <p class="text-muted-foreground mt-1.5 max-w-xs text-sm text-pretty">
37
+ {subtitle}
38
+ </p>
39
+ {/if}
40
+ {#if children}
41
+ <div class="mt-6">
42
+ {@render children()}
43
+ </div>
44
+ {/if}
45
+ </div>
@@ -0,0 +1,13 @@
1
+ import type { Component, Snippet } from "svelte";
2
+ interface Props {
3
+ icon: Component<{
4
+ class?: string;
5
+ }>;
6
+ title: string;
7
+ subtitle?: string;
8
+ children?: Snippet;
9
+ class?: string;
10
+ }
11
+ declare const EmptyState: Component<Props, {}, "">;
12
+ type EmptyState = ReturnType<typeof EmptyState>;
13
+ export default EmptyState;