@rimelight/ui 0.0.33 → 0.0.35

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 (389) hide show
  1. package/README.md +158 -157
  2. package/package.json +100 -105
  3. package/src/components/astro/RLAAccordion.astro +94 -18
  4. package/src/components/astro/RLAAspectRatio.astro +2 -2
  5. package/src/components/astro/RLAAvatar.astro +135 -68
  6. package/src/components/astro/RLABadge.astro +4 -2
  7. package/src/components/astro/RLABanner.astro +138 -23
  8. package/src/components/astro/RLABreadcrumb.astro +13 -0
  9. package/src/components/astro/RLAButton.astro +145 -139
  10. package/src/components/astro/RLACallout.astro +112 -0
  11. package/src/components/astro/RLACard.astro +6 -5
  12. package/src/components/astro/RLACarousel.astro +104 -75
  13. package/src/components/astro/RLAChart.astro +23 -35
  14. package/src/components/astro/RLAChip.astro +11 -5
  15. package/src/components/astro/RLACollapsible.astro +4 -1
  16. package/src/components/astro/RLAColorArea.astro +432 -0
  17. package/src/components/astro/RLAColorField.astro +300 -0
  18. package/src/components/astro/RLAColorSlider.astro +413 -0
  19. package/src/components/astro/RLAConfirm.astro +13 -11
  20. package/src/components/astro/RLACopyMarkdown.astro +78 -0
  21. package/src/components/astro/RLADate.astro +30 -0
  22. package/src/components/astro/RLADrawer.astro +50 -3
  23. package/src/components/astro/RLADropdownMenu.astro +78 -51
  24. package/src/components/astro/RLAFieldGroup.astro +4 -1
  25. package/src/components/astro/RLAFileUpload.astro +114 -100
  26. package/src/components/astro/RLAFooter.astro +2 -1
  27. package/src/components/astro/RLAFormField.astro +10 -6
  28. package/src/components/astro/RLAGrid.astro +31 -39
  29. package/src/components/astro/RLAHead.astro +528 -197
  30. package/src/components/astro/RLAHeader.astro +67 -59
  31. package/src/components/astro/RLAImage.astro +274 -209
  32. package/src/components/astro/RLAInput.astro +14 -9
  33. package/src/components/astro/RLAInputMenu.astro +119 -83
  34. package/src/components/astro/RLAKbd.astro +5 -5
  35. package/src/components/astro/RLALayoutGrid.astro +395 -0
  36. package/src/components/astro/RLALink.astro +44 -23
  37. package/src/components/astro/RLALinkGroup.astro +99 -37
  38. package/src/components/astro/RLALocaleSelector.astro +130 -113
  39. package/src/components/astro/RLALogo.astro +117 -90
  40. package/src/components/astro/RLAMain.astro +8 -3
  41. package/src/components/astro/RLAMarquee.astro +9 -2
  42. package/src/components/astro/RLAModal.astro +48 -18
  43. package/src/components/astro/RLANavigationMenu.astro +381 -137
  44. package/src/components/astro/{RLADocsPackageManagers.astro → RLAPackageManagers.astro} +81 -87
  45. package/src/components/astro/RLAPageSection.astro +4 -2
  46. package/src/components/astro/RLAPagination.astro +2 -4
  47. package/src/components/astro/RLAPopover.astro +4 -3
  48. package/src/components/astro/RLAPost.astro +11 -2
  49. package/src/components/astro/RLAProgress.astro +8 -2
  50. package/src/components/astro/RLAScrollArea.astro +4 -1
  51. package/src/components/astro/RLAScrollToTop.astro +200 -172
  52. package/src/components/astro/RLASearch.astro +282 -0
  53. package/src/components/astro/RLASelect.astro +101 -64
  54. package/src/components/astro/RLASeparator.astro +11 -6
  55. package/src/components/astro/RLAShare.astro +60 -0
  56. package/src/components/astro/RLAShortcuts.astro +429 -0
  57. package/src/components/astro/RLASidebar.astro +158 -212
  58. package/src/components/astro/RLASlideover.astro +99 -4
  59. package/src/components/astro/RLASlider.astro +14 -14
  60. package/src/components/astro/RLASplitter.astro +207 -142
  61. package/src/components/astro/RLASteps.astro +118 -71
  62. package/src/components/astro/RLAStickySurface.astro +9 -2
  63. package/src/components/astro/RLASurround.astro +39 -0
  64. package/src/components/astro/RLATable.astro +4 -1
  65. package/src/components/astro/RLATableOfContents.astro +109 -23
  66. package/src/components/astro/RLATabs.astro +147 -133
  67. package/src/components/astro/RLATextarea.astro +4 -1
  68. package/src/components/astro/RLAThemeSelector.astro +105 -76
  69. package/src/components/astro/RLAToast.astro +35 -21
  70. package/src/components/vue/RLVBanner.vue +230 -0
  71. package/src/components/vue/RLVButton.vue +3 -2
  72. package/src/components/vue/RLVCheckbox.vue +70 -68
  73. package/src/components/vue/RLVFooter.vue +3 -2
  74. package/src/components/vue/RLVForm.vue +44 -44
  75. package/src/components/vue/RLVFormField.vue +58 -58
  76. package/src/components/vue/RLVHeader.vue +3 -2
  77. package/src/components/vue/RLVIcon.vue +4 -2
  78. package/src/components/vue/RLVInput.vue +94 -93
  79. package/src/components/vue/RLVLogo.vue +25 -3
  80. package/src/components/vue/RLVPlaceholder.vue +3 -2
  81. package/src/components/vue/RLVPost.vue +69 -63
  82. package/src/components/vue/RLVPosts.vue +21 -21
  83. package/src/components/vue/RLVProgress.vue +60 -0
  84. package/src/components/vue/RLVScrollToTop.vue +65 -52
  85. package/src/components/vue/RLVSection.vue +14 -13
  86. package/src/components/vue/RLVToast.vue +81 -68
  87. package/src/components/vue/RLVToaster.vue +29 -29
  88. package/src/composables/index.ts +4 -3
  89. package/src/composables/useHeaderStore.ts +14 -14
  90. package/src/composables/useScrollToTop.ts +62 -62
  91. package/src/composables/useShortcuts.ts +11 -0
  92. package/src/composables/useToast.ts +43 -42
  93. package/src/config/index.ts +1 -0
  94. package/src/config/security.ts +227 -0
  95. package/src/config/site.config.ts +1 -0
  96. package/src/docs/components/ApiChangelog.astro +147 -0
  97. package/src/{plugins/starlightDocsApi → docs}/components/ApiEmits.astro +4 -4
  98. package/src/{plugins/starlightDocsApi → docs}/components/ApiProps.astro +4 -4
  99. package/src/{plugins/starlightDocsApi → docs}/components/ApiSlots.astro +4 -4
  100. package/src/docs/components/ApiTheme.astro +100 -0
  101. package/src/docs/extractAll.ts +94 -0
  102. package/src/docs/extractors/extractAstro.ts +69 -0
  103. package/src/docs/extractors/extractTheme.ts +56 -0
  104. package/src/{plugins/starlightDocsApi/extract-vue.ts → docs/extractors/extractVue.ts} +164 -15
  105. package/src/{plugins/starlightDocsApi → docs}/utils.ts +1 -2
  106. package/src/env.d.ts +0 -12
  107. package/src/integrations/ui.ts +215 -199
  108. package/src/middleware/security.ts +145 -29
  109. package/src/presets/defaults.ts +297 -297
  110. package/src/presets/index.ts +508 -637
  111. package/src/styles/index.css +158 -160
  112. package/src/themes/3d-hover.theme.ts +13 -13
  113. package/src/themes/accordion.theme.ts +39 -13
  114. package/src/themes/app.theme.ts +13 -13
  115. package/src/themes/aspect-ratio.theme.ts +1 -1
  116. package/src/themes/audio.theme.ts +13 -13
  117. package/src/themes/avatar-group.theme.ts +1 -1
  118. package/src/themes/avatar.theme.ts +84 -84
  119. package/src/themes/badge.theme.ts +168 -163
  120. package/src/themes/banner.theme.ts +49 -13
  121. package/src/themes/breadcrumb.theme.ts +1 -1
  122. package/src/themes/browser-mockup.theme.ts +13 -13
  123. package/src/themes/button.theme.ts +223 -202
  124. package/src/themes/calendar.theme.ts +13 -13
  125. package/src/themes/{alert.theme.ts → callout.theme.ts} +104 -125
  126. package/src/themes/card.theme.ts +50 -42
  127. package/src/themes/carousel.theme.ts +1 -1
  128. package/src/themes/chart.theme.ts +22 -22
  129. package/src/themes/chat-message.theme.ts +13 -13
  130. package/src/themes/chat-messages.theme.ts +13 -13
  131. package/src/themes/chat-palette.theme.ts +13 -13
  132. package/src/themes/chat-prompt-submit.theme.ts +13 -13
  133. package/src/themes/chat-prompt.theme.ts +13 -13
  134. package/src/themes/chat-reasoning.theme.ts +13 -13
  135. package/src/themes/chat-shimmer.theme.ts +13 -13
  136. package/src/themes/chat-tool.theme.ts +13 -13
  137. package/src/themes/chat.theme.ts +13 -13
  138. package/src/themes/checkbox.theme.ts +49 -50
  139. package/src/themes/chip.theme.ts +73 -74
  140. package/src/themes/color-area.theme.ts +33 -0
  141. package/src/themes/color-field.theme.ts +32 -0
  142. package/src/themes/color-picker.theme.ts +13 -13
  143. package/src/themes/color-slider.theme.ts +34 -0
  144. package/src/themes/command-palette.theme.ts +13 -13
  145. package/src/themes/compare.theme.ts +13 -13
  146. package/src/themes/confirm.theme.ts +48 -48
  147. package/src/themes/container.theme.ts +13 -13
  148. package/src/themes/context-menu.theme.ts +13 -13
  149. package/src/themes/dashboard-group.theme.ts +13 -13
  150. package/src/themes/dashboard-navbar.theme.ts +13 -13
  151. package/src/themes/dashboard-panel.theme.ts +13 -13
  152. package/src/themes/dashboard-resize-handle.theme.ts +13 -13
  153. package/src/themes/dashboard-search-button.theme.ts +13 -13
  154. package/src/themes/dashboard-search.theme.ts +13 -13
  155. package/src/themes/dashboard-sidebar-collapse.theme.ts +13 -13
  156. package/src/themes/dashboard-sidebar-toggle.theme.ts +13 -13
  157. package/src/themes/dashboard-sidebar.theme.ts +13 -13
  158. package/src/themes/dashboard-toolbar.theme.ts +13 -13
  159. package/src/themes/dock.theme.ts +13 -13
  160. package/src/themes/drawer.theme.ts +61 -61
  161. package/src/themes/dropdown-menu.theme.ts +29 -29
  162. package/src/themes/editor.theme.ts +13 -13
  163. package/src/themes/empty.theme.ts +13 -13
  164. package/src/themes/error.theme.ts +13 -13
  165. package/src/themes/field-group.theme.ts +24 -24
  166. package/src/themes/fieldset.theme.ts +13 -13
  167. package/src/themes/floating-action.theme.ts +13 -13
  168. package/src/themes/footer.theme.ts +30 -30
  169. package/src/themes/form.theme.ts +13 -13
  170. package/src/themes/gallery.theme.ts +13 -13
  171. package/src/themes/grid.theme.ts +38 -0
  172. package/src/themes/head.theme.ts +13 -13
  173. package/src/themes/header.theme.ts +46 -46
  174. package/src/themes/hover-card.theme.ts +1 -1
  175. package/src/themes/icon.theme.ts +23 -23
  176. package/src/themes/image.theme.ts +33 -19
  177. package/src/themes/input-date.theme.ts +13 -13
  178. package/src/themes/input-menu.theme.ts +35 -35
  179. package/src/themes/input-number.theme.ts +13 -13
  180. package/src/themes/input-tags.theme.ts +13 -13
  181. package/src/themes/input-time.theme.ts +13 -13
  182. package/src/themes/input.theme.ts +48 -42
  183. package/src/themes/kbd.theme.ts +94 -89
  184. package/src/themes/knob.theme.ts +13 -13
  185. package/src/themes/label.theme.ts +1 -1
  186. package/src/themes/layout-grid.theme.ts +16 -0
  187. package/src/themes/link-group.theme.ts +28 -32
  188. package/src/themes/link.theme.ts +13 -13
  189. package/src/themes/listbox.theme.ts +13 -13
  190. package/src/themes/locale-selector.theme.ts +49 -49
  191. package/src/themes/logo.theme.ts +13 -13
  192. package/src/themes/main.theme.ts +13 -13
  193. package/src/themes/marquee.theme.ts +1 -1
  194. package/src/themes/meter.theme.ts +13 -13
  195. package/src/themes/modal.theme.ts +1 -1
  196. package/src/themes/navigation-menu.theme.ts +44 -27
  197. package/src/themes/page-aside.theme.ts +13 -13
  198. package/src/themes/page-body.theme.ts +13 -13
  199. package/src/themes/page-header.theme.ts +13 -13
  200. package/src/themes/page-section.theme.ts +189 -187
  201. package/src/themes/page.theme.ts +13 -13
  202. package/src/themes/pagination.theme.ts +1 -1
  203. package/src/themes/password.theme.ts +13 -13
  204. package/src/themes/phone-mockup.theme.ts +13 -13
  205. package/src/themes/pin-input.theme.ts +1 -1
  206. package/src/themes/placeholder.theme.ts +15 -15
  207. package/src/themes/popover.theme.ts +1 -1
  208. package/src/themes/post.theme.ts +53 -33
  209. package/src/themes/pricing-plan.theme.ts +13 -13
  210. package/src/themes/pricing-table.theme.ts +13 -13
  211. package/src/themes/progress.theme.ts +37 -38
  212. package/src/themes/prose.theme.ts +13 -13
  213. package/src/themes/qr-code.theme.ts +13 -13
  214. package/src/themes/quote.theme.ts +13 -13
  215. package/src/themes/radio-group.theme.ts +13 -13
  216. package/src/themes/rating.theme.ts +13 -13
  217. package/src/themes/scroll-area.theme.ts +26 -26
  218. package/src/themes/scroll-to-top.theme.ts +51 -52
  219. package/src/themes/search.theme.ts +64 -0
  220. package/src/themes/select.theme.ts +29 -29
  221. package/src/themes/separator.theme.ts +147 -147
  222. package/src/themes/sidebar.theme.ts +38 -38
  223. package/src/themes/skeleton.theme.ts +21 -21
  224. package/src/themes/slideover.theme.ts +5 -5
  225. package/src/themes/slider.theme.ts +35 -36
  226. package/src/themes/speed-dial.theme.ts +13 -13
  227. package/src/themes/spinner.theme.ts +33 -34
  228. package/src/themes/splitter.theme.ts +23 -23
  229. package/src/themes/spoiler.theme.ts +13 -13
  230. package/src/themes/stepper.theme.ts +13 -13
  231. package/src/themes/{megamenu.theme.ts → steps.theme.ts} +13 -13
  232. package/src/themes/sticky-surface.theme.ts +1 -1
  233. package/src/themes/switch.theme.ts +66 -67
  234. package/src/themes/table-of-contents.theme.ts +67 -48
  235. package/src/themes/tabs.theme.ts +52 -52
  236. package/src/themes/textarea.theme.ts +27 -27
  237. package/src/themes/theme-selector.theme.ts +15 -15
  238. package/src/themes/timeline.theme.ts +18 -13
  239. package/src/themes/toast.theme.ts +31 -31
  240. package/src/themes/tooltip.theme.ts +28 -28
  241. package/src/themes/tour.theme.ts +13 -13
  242. package/src/themes/tree.theme.ts +13 -13
  243. package/src/themes/user.theme.ts +13 -13
  244. package/src/themes/video.theme.ts +17 -17
  245. package/src/themes/watermark.theme.ts +13 -13
  246. package/src/themes/window-mockup.theme.ts +13 -13
  247. package/src/types/components/3d-hover.ts +11 -11
  248. package/src/types/components/accordion.ts +35 -2
  249. package/src/types/components/app.ts +11 -11
  250. package/src/types/components/audio.ts +11 -11
  251. package/src/types/components/avatar-group.ts +11 -11
  252. package/src/types/components/avatar.ts +76 -60
  253. package/src/types/components/badge.ts +2 -2
  254. package/src/types/components/banner.ts +53 -11
  255. package/src/types/components/browser-mockup.ts +11 -11
  256. package/src/types/components/button.ts +73 -81
  257. package/src/types/components/calendar.ts +11 -11
  258. package/src/types/components/{alert.ts → callout.ts} +8 -8
  259. package/src/types/components/changelog.ts +11 -11
  260. package/src/types/components/chart.ts +2 -1
  261. package/src/types/components/chat-message.ts +11 -11
  262. package/src/types/components/chat-messages.ts +11 -11
  263. package/src/types/components/chat-palette.ts +11 -11
  264. package/src/types/components/chat-prompt-submit.ts +11 -11
  265. package/src/types/components/chat-prompt.ts +11 -11
  266. package/src/types/components/chat-reasoning.ts +11 -11
  267. package/src/types/components/chat-shimmer.ts +11 -11
  268. package/src/types/components/chat-tool.ts +11 -11
  269. package/src/types/components/chat.ts +11 -11
  270. package/src/types/components/checkbox.ts +2 -2
  271. package/src/types/components/chip.ts +17 -17
  272. package/src/types/components/collapsible.ts +2 -1
  273. package/src/types/components/color-area.ts +19 -0
  274. package/src/types/components/color-field.ts +21 -0
  275. package/src/types/components/color-picker.ts +11 -11
  276. package/src/types/components/color-slider.ts +20 -0
  277. package/src/types/components/command-palette.ts +11 -11
  278. package/src/types/components/compare.ts +11 -11
  279. package/src/types/components/container.ts +17 -17
  280. package/src/types/components/context-menu.ts +11 -11
  281. package/src/types/components/dashboard-group.ts +11 -11
  282. package/src/types/components/dashboard-navbar.ts +11 -11
  283. package/src/types/components/dashboard-panel.ts +11 -11
  284. package/src/types/components/dashboard-resize-handle.ts +11 -11
  285. package/src/types/components/dashboard-search-button.ts +11 -11
  286. package/src/types/components/dashboard-search.ts +11 -11
  287. package/src/types/components/dashboard-sidebar-collapse.ts +11 -11
  288. package/src/types/components/dashboard-sidebar-toggle.ts +11 -11
  289. package/src/types/components/dashboard-sidebar.ts +11 -11
  290. package/src/types/components/dashboard-toolbar.ts +11 -11
  291. package/src/types/components/dock.ts +11 -11
  292. package/src/types/components/dropdown-menu.ts +2 -1
  293. package/src/types/components/editor.ts +11 -11
  294. package/src/types/components/empty.ts +11 -11
  295. package/src/types/components/error.ts +11 -11
  296. package/src/types/components/fieldset.ts +11 -11
  297. package/src/types/components/file-upload.ts +2 -1
  298. package/src/types/components/floating-action.ts +11 -11
  299. package/src/types/components/form.ts +19 -19
  300. package/src/types/components/gallery.ts +11 -11
  301. package/src/types/components/grid.ts +23 -0
  302. package/src/types/components/icon.ts +19 -19
  303. package/src/types/components/image.ts +32 -28
  304. package/src/types/components/input-date.ts +11 -11
  305. package/src/types/components/input-menu.ts +44 -43
  306. package/src/types/components/input-number.ts +11 -11
  307. package/src/types/components/input-pin.ts +36 -35
  308. package/src/types/components/input-tags.ts +11 -11
  309. package/src/types/components/input-time.ts +11 -11
  310. package/src/types/components/input.ts +6 -2
  311. package/src/types/components/knob.ts +11 -11
  312. package/src/types/components/layout-grid.ts +145 -0
  313. package/src/types/components/link-group.ts +47 -23
  314. package/src/types/components/link.ts +19 -0
  315. package/src/types/components/listbox.ts +11 -11
  316. package/src/types/components/locale-selector.ts +33 -33
  317. package/src/types/components/logo.ts +32 -31
  318. package/src/types/components/main.ts +17 -17
  319. package/src/types/components/meter.ts +11 -11
  320. package/src/types/components/modal.ts +39 -39
  321. package/src/types/components/navigation-menu.ts +59 -54
  322. package/src/types/components/page-aside.ts +11 -11
  323. package/src/types/components/page-body.ts +11 -11
  324. package/src/types/components/page-header.ts +11 -11
  325. package/src/types/components/page.ts +11 -11
  326. package/src/types/components/password.ts +11 -11
  327. package/src/types/components/phone-mockup.ts +5 -5
  328. package/src/types/components/pin-input.ts +11 -11
  329. package/src/types/components/popover.ts +23 -23
  330. package/src/types/components/post.ts +47 -35
  331. package/src/types/components/pricing-plan.ts +11 -11
  332. package/src/types/components/pricing-table.ts +11 -11
  333. package/src/types/components/progress.ts +33 -33
  334. package/src/types/components/prose.ts +11 -11
  335. package/src/types/components/qr-code.ts +11 -11
  336. package/src/types/components/radio-group.ts +11 -11
  337. package/src/types/components/rating.ts +11 -11
  338. package/src/types/components/scroll-area.ts +23 -23
  339. package/src/types/components/scroll-to-top.ts +2 -2
  340. package/src/types/components/search.ts +29 -0
  341. package/src/types/components/select.ts +2 -1
  342. package/src/types/components/separator.ts +19 -19
  343. package/src/types/components/sidebar.ts +83 -72
  344. package/src/types/components/slideover.ts +31 -31
  345. package/src/types/components/slider.ts +2 -2
  346. package/src/types/components/speed-dial.ts +11 -11
  347. package/src/types/components/spinner.ts +25 -25
  348. package/src/types/components/splitter.ts +19 -19
  349. package/src/types/components/spoiler.ts +11 -11
  350. package/src/types/components/stepper.ts +11 -11
  351. package/src/types/components/{megamenu.ts → steps.ts} +17 -11
  352. package/src/types/components/sticky-surface.ts +19 -19
  353. package/src/types/components/switch.ts +41 -41
  354. package/src/types/components/table-of-contents.ts +39 -17
  355. package/src/types/components/tabs.ts +2 -1
  356. package/src/types/components/textarea.ts +2 -1
  357. package/src/types/components/theme-selector.ts +15 -15
  358. package/src/types/components/timeline.ts +11 -11
  359. package/src/types/components/toast.ts +6 -1
  360. package/src/types/components/tooltip.ts +23 -23
  361. package/src/types/components/tour.ts +11 -11
  362. package/src/types/components/tree.ts +11 -11
  363. package/src/types/components/user.ts +11 -11
  364. package/src/types/components/watermark.ts +11 -11
  365. package/src/types/components/window-mockup.ts +11 -11
  366. package/src/types/docs.ts +40 -0
  367. package/src/types/index.ts +151 -1
  368. package/src/types/theme.ts +11 -1
  369. package/src/utils/color.ts +165 -0
  370. package/src/utils/docs.ts +365 -189
  371. package/src/utils/headerStack.ts +115 -95
  372. package/src/utils/index.ts +7 -5
  373. package/src/utils/shortcuts.ts +322 -0
  374. package/src/components/TableOfContents.astro +0 -107
  375. package/src/components/astro/RLAAlert.astro +0 -93
  376. package/src/components/astro/RLABlogPost.astro +0 -7
  377. package/src/components/astro/RLABlogPosts.astro +0 -9
  378. package/src/components/astro/RLAChangelog.astro +0 -23
  379. package/src/components/astro/RLAMegamenu.astro +0 -23
  380. package/src/components/astro/RLAPosts.astro +0 -23
  381. package/src/plugins/index.ts +0 -2
  382. package/src/plugins/starlightDocsApi/components/ApiTheme.astro +0 -27
  383. package/src/plugins/starlightDocsApi/index.ts +0 -272
  384. package/src/styles/prism.css +0 -42
  385. package/src/themes/changelog.theme.ts +0 -13
  386. package/src/themes/posts.theme.ts +0 -13
  387. package/src/types/components/index.ts +0 -135
  388. package/src/types/components/posts.ts +0 -11
  389. /package/src/{plugins/starlightDocsApi → docs}/types.ts +0 -0
@@ -1,3 +1,153 @@
1
- export * from "./components"
2
1
  export * from "./componentVariant"
3
2
  export * from "./theme"
3
+ export * from "./docs"
4
+
5
+ export type { ThreeDHoverProps } from "./components/3d-hover"
6
+ export type { AccordionProps } from "./components/accordion"
7
+ export type { CalloutProps } from "./components/callout"
8
+ export type { AppProps } from "./components/app"
9
+ export type { AspectRatioProps } from "./components/aspect-ratio"
10
+ export type { AudioProps } from "./components/audio"
11
+ export type { AvatarGroupProps } from "./components/avatar-group"
12
+ export type { AvatarProps } from "./components/avatar"
13
+ export type { BadgeProps } from "./components/badge"
14
+ export type { BannerProps } from "./components/banner"
15
+ export type { BreadcrumbProps } from "./components/breadcrumb"
16
+ export type { BrowserMockupProps } from "./components/browser-mockup"
17
+ export type { ButtonProps } from "./components/button"
18
+ export type { CalendarProps } from "./components/calendar"
19
+ export type { CardProps } from "./components/card"
20
+ export type { CarouselProps } from "./components/carousel"
21
+ export type { ChangelogProps } from "./components/changelog"
22
+ export type { ChartProps, ChartDataPoint } from "./components/chart"
23
+ export type { ChatMessageProps } from "./components/chat-message"
24
+ export type { ChatMessagesProps } from "./components/chat-messages"
25
+ export type { ChatPaletteProps } from "./components/chat-palette"
26
+ export type { ChatPromptProps } from "./components/chat-prompt"
27
+ export type { ChatPromptSubmitProps } from "./components/chat-prompt-submit"
28
+ export type { ChatReasoningProps } from "./components/chat-reasoning"
29
+ export type { ChatShimmerProps } from "./components/chat-shimmer"
30
+ export type { ChatToolProps } from "./components/chat-tool"
31
+ export type { ChatProps } from "./components/chat"
32
+ export type { CheckboxProps } from "./components/checkbox"
33
+ export type { ChipProps } from "./components/chip"
34
+ export type { CollapsibleProps } from "./components/collapsible"
35
+ export type { ColorPickerProps } from "./components/color-picker"
36
+ export type { CommandPaletteProps } from "./components/command-palette"
37
+ export type { CompareProps } from "./components/compare"
38
+ export type { ConfirmProps } from "./components/confirm"
39
+ export type { ContainerProps } from "./components/container"
40
+ export type { ContextMenuProps } from "./components/context-menu"
41
+ export type { DashboardGroupProps } from "./components/dashboard-group"
42
+ export type { DashboardNavbarProps } from "./components/dashboard-navbar"
43
+ export type { DashboardPanelProps } from "./components/dashboard-panel"
44
+ export type { DashboardResizeHandleProps } from "./components/dashboard-resize-handle"
45
+ export type { DashboardSearchButtonProps } from "./components/dashboard-search-button"
46
+ export type { DashboardSearchProps } from "./components/dashboard-search"
47
+ export type { SearchProps } from "./components/search"
48
+ export type { DashboardSidebarCollapseProps } from "./components/dashboard-sidebar-collapse"
49
+ export type { DashboardSidebarToggleProps } from "./components/dashboard-sidebar-toggle"
50
+ export type { DashboardSidebarProps } from "./components/dashboard-sidebar"
51
+ export type { DashboardToolbarProps } from "./components/dashboard-toolbar"
52
+ export type { DockProps } from "./components/dock"
53
+ export type { DrawerProps } from "./components/drawer"
54
+ export type { DropdownMenuProps } from "./components/dropdown-menu"
55
+ export type { EditorProps } from "./components/editor"
56
+ export type { EmptyProps } from "./components/empty"
57
+ export type { ErrorProps } from "./components/error"
58
+ export type { FieldGroupProps } from "./components/field-group"
59
+ export type { FieldsetProps } from "./components/fieldset"
60
+ export type { FileUploadProps } from "./components/file-upload"
61
+ export type { FloatingActionProps } from "./components/floating-action"
62
+ export type { FooterProps } from "./components/footer"
63
+ export type { FormFieldProps } from "./components/form-field"
64
+ export type { FormProps } from "./components/form"
65
+ export type { GalleryProps } from "./components/gallery"
66
+ export type { GridProps } from "./components/grid"
67
+ export type { LayoutGridProps } from "./components/layout-grid"
68
+ export type { HeaderProps } from "./components/header"
69
+ export type { HoverCardProps } from "./components/hover-card"
70
+ export type { IconProps } from "./components/icon"
71
+ export type { ImageProps } from "./components/image"
72
+ export type { InputDateProps } from "./components/input-date"
73
+ export type { InputMenuProps } from "./components/input-menu"
74
+ export type { InputNumberProps } from "./components/input-number"
75
+ export type { InputProps } from "./components/input"
76
+ export type { InputTagsProps } from "./components/input-tags"
77
+ export type { InputTimeProps } from "./components/input-time"
78
+ export type { KbdProps } from "./components/kbd"
79
+ export type { KnobProps } from "./components/knob"
80
+ export type { LabelProps } from "./components/label"
81
+ export type { LinkGroupProps } from "./components/link-group"
82
+ export type { LinkProps } from "./components/link"
83
+ export type { ListboxProps } from "./components/listbox"
84
+ export type { LocaleSelectorProps } from "./components/locale-selector"
85
+ export type { LogoProps } from "./components/logo"
86
+ export type { MainProps } from "./components/main"
87
+ export type { MarqueeProps } from "./components/marquee"
88
+ export type { MeterProps } from "./components/meter"
89
+ export type { ModalProps } from "./components/modal"
90
+ export type { NavigationMenuItem, NavigationMenuProps } from "./components/navigation-menu"
91
+ export type { PageAsideProps } from "./components/page-aside"
92
+ export type { PageBodyProps } from "./components/page-body"
93
+ export type { PageHeaderProps } from "./components/page-header"
94
+ export type { PageSectionProps } from "./components/page-section"
95
+ export type { PageProps } from "./components/page"
96
+ export type { PaginationProps } from "./components/pagination"
97
+ export type { PasswordProps } from "./components/password"
98
+ export type { PhoneMockupProps } from "./components/phone-mockup"
99
+ export type { PinInputProps } from "./components/pin-input"
100
+ export type { PlaceholderProps } from "./components/placeholder"
101
+ export type { PopoverProps } from "./components/popover"
102
+ export type { PostProps } from "./components/post"
103
+ export type { PricingPlanProps } from "./components/pricing-plan"
104
+ export type { PricingTableProps } from "./components/pricing-table"
105
+ export type { ProgressProps } from "./components/progress"
106
+ export type { ProseProps } from "./components/prose"
107
+ export type { QrCodeProps } from "./components/qr-code"
108
+ export type { RadioGroupProps } from "./components/radio-group"
109
+ export type { RatingProps } from "./components/rating"
110
+ export type { ScrollAreaProps } from "./components/scroll-area"
111
+ export type { ScrollToTopProps } from "./components/scroll-to-top"
112
+ export type { SelectProps } from "./components/select"
113
+ export type { SeparatorProps } from "./components/separator"
114
+ export type {
115
+ SidebarProps,
116
+ DocsConfig,
117
+ BadgeConfig,
118
+ SidebarItem,
119
+ SidebarScope
120
+ } from "./components/sidebar"
121
+ export type { SkeletonProps } from "./components/skeleton"
122
+ export type { SlideoverProps } from "./components/slideover"
123
+ export type { SliderProps } from "./components/slider"
124
+ export type { SpeedDialProps } from "./components/speed-dial"
125
+ export type { SpinnerProps } from "./components/spinner"
126
+ export type { SplitterProps } from "./components/splitter"
127
+ export type { SpoilerProps } from "./components/spoiler"
128
+ export type { StepperProps } from "./components/stepper"
129
+ export type { StepsProps } from "./components/steps"
130
+ export type { StickySurfaceProps } from "./components/sticky-surface"
131
+ export type { SwitchProps } from "./components/switch"
132
+ export type {
133
+ TableOfContentsProps,
134
+ TableOfContentsHeading,
135
+ TableOfContentsConfig
136
+ } from "./components/table-of-contents"
137
+ export type { TableProps } from "./components/table"
138
+ export type { TabsProps } from "./components/tabs"
139
+ export type { TextareaProps } from "./components/textarea"
140
+ export type { ThemeSelectorProps } from "./components/theme-selector"
141
+ export type { TimelineProps } from "./components/timeline"
142
+ export type { ToastProps } from "./components/toast"
143
+ export type { TooltipProps } from "./components/tooltip"
144
+ export type { TourProps } from "./components/tour"
145
+ export type { TreeProps } from "./components/tree"
146
+ export type { UserProps } from "./components/user"
147
+ export type { VideoProps } from "./components/video"
148
+ export type { WatermarkProps } from "./components/watermark"
149
+ export type { WindowMockupProps } from "./components/window-mockup"
150
+
151
+ export type { ColorAreaProps } from "./components/color-area"
152
+ export type { ColorFieldProps } from "./components/color-field"
153
+ export type { ColorSliderProps } from "./components/color-slider"
@@ -1 +1,11 @@
1
- export type Theme = "flat" | "light" | "dark"
1
+ import type { defaultColors } from "../presets/defaults"
2
+
3
+ export type Theme = "light" | "dark"
4
+
5
+ export interface CustomColors {}
6
+
7
+ type AddCustomColors<T> = [keyof T] extends [never]
8
+ ? (typeof defaultColors)[number]
9
+ : (typeof defaultColors)[number] | keyof T
10
+
11
+ export type ThemeColor = AddCustomColors<CustomColors> | "neutral"
@@ -0,0 +1,165 @@
1
+ export function hexToRgb(hex: string): [number, number, number] {
2
+ const shorthandRegex = /^#?([a-f\d])([a-f\d])([a-f\d])$/i
3
+ const fullHex = hex.replace(shorthandRegex, (_, r, g, b) => r + r + g + g + b + b)
4
+ const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(fullHex)
5
+ return result
6
+ ? [parseInt(result[1]!, 16), parseInt(result[2]!, 16), parseInt(result[3]!, 16)]
7
+ : [0, 0, 0]
8
+ }
9
+
10
+ function toHex(c: number): string {
11
+ const hex = Math.max(0, Math.min(255, c)).toString(16)
12
+ return hex.length === 1 ? "0" + hex : hex
13
+ }
14
+
15
+ export function rgbToHex(r: number, g: number, b: number): string {
16
+ return "#" + toHex(r) + toHex(g) + toHex(b)
17
+ }
18
+
19
+ export function rgbToHsl(r: number, g: number, b: number): [number, number, number] {
20
+ r /= 255
21
+ g /= 255
22
+ b /= 255
23
+ const max = Math.max(r, g, b),
24
+ min = Math.min(r, g, b)
25
+ let h = 0,
26
+ s = 0,
27
+ l = (max + min) / 2
28
+ if (max !== min) {
29
+ const d = max - min
30
+ s = l > 0.5 ? d / (2 - max - min) : d / (max + min)
31
+ switch (max) {
32
+ case r:
33
+ h = (g - b) / d + (g < b ? 6 : 0)
34
+ break
35
+ case g:
36
+ h = (b - r) / d + 2
37
+ break
38
+ case b:
39
+ h = (r - g) / d + 4
40
+ break
41
+ }
42
+ h /= 6
43
+ }
44
+ return [Math.round(h * 360), Math.round(s * 100), Math.round(l * 100)]
45
+ }
46
+
47
+ function hue2rgb(p: number, q: number, t: number): number {
48
+ if (t < 0) t += 1
49
+ if (t > 1) t -= 1
50
+ if (t < 1 / 6) return p + (q - p) * 6 * t
51
+ if (t < 1 / 2) return q
52
+ if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6
53
+ return p
54
+ }
55
+
56
+ export function hslToRgb(h: number, s: number, l: number): [number, number, number] {
57
+ h /= 360
58
+ s /= 100
59
+ l /= 100
60
+ let r = l,
61
+ g = l,
62
+ b = l
63
+ if (s !== 0) {
64
+ const q = l < 0.5 ? l * (1 + s) : l + s - l * s
65
+ const p = 2 * l - q
66
+ r = hue2rgb(p, q, h + 1 / 3)
67
+ g = hue2rgb(p, q, h)
68
+ b = hue2rgb(p, q, h - 1 / 3)
69
+ }
70
+ return [Math.round(r * 255), Math.round(g * 255), Math.round(b * 255)]
71
+ }
72
+
73
+ export function rgbToHsb(r: number, g: number, b: number): [number, number, number] {
74
+ r /= 255
75
+ g /= 255
76
+ b /= 255
77
+ const max = Math.max(r, g, b),
78
+ min = Math.min(r, g, b)
79
+ let h = 0,
80
+ s = 0,
81
+ v = max
82
+ const d = max - min
83
+ s = max === 0 ? 0 : d / max
84
+ if (max !== min) {
85
+ switch (max) {
86
+ case r:
87
+ h = (g - b) / d + (g < b ? 6 : 0)
88
+ break
89
+ case g:
90
+ h = (b - r) / d + 2
91
+ break
92
+ case b:
93
+ h = (r - g) / d + 4
94
+ break
95
+ }
96
+ h /= 6
97
+ }
98
+ return [Math.round(h * 360), Math.round(s * 100), Math.round(v * 100)]
99
+ }
100
+
101
+ export function hsbToRgb(h: number, s: number, b: number): [number, number, number] {
102
+ h /= 360
103
+ s /= 100
104
+ b /= 100
105
+ let r = 0,
106
+ g = 0,
107
+ bl = 0
108
+ const i = Math.floor(h * 6)
109
+ const f = h * 6 - i
110
+ const p = b * (1 - s)
111
+ const q = b * (1 - f * s)
112
+ const t = b * (1 - (1 - f) * s)
113
+ switch (i % 6) {
114
+ case 0:
115
+ r = b
116
+ g = t
117
+ bl = p
118
+ break
119
+ case 1:
120
+ r = q
121
+ g = b
122
+ bl = p
123
+ break
124
+ case 2:
125
+ r = p
126
+ g = b
127
+ bl = t
128
+ break
129
+ case 3:
130
+ r = p
131
+ g = q
132
+ bl = b
133
+ break
134
+ case 4:
135
+ r = t
136
+ g = p
137
+ bl = b
138
+ break
139
+ case 5:
140
+ r = b
141
+ g = p
142
+ bl = q
143
+ break
144
+ }
145
+ return [Math.round(r * 255), Math.round(g * 255), Math.round(bl * 255)]
146
+ }
147
+
148
+ export function getChannelRange(channel: string): { min: number; max: number } {
149
+ switch (channel) {
150
+ case "hue":
151
+ return { min: 0, max: 360 }
152
+ case "alpha":
153
+ return { min: 0, max: 100 }
154
+ case "red":
155
+ case "green":
156
+ case "blue":
157
+ return { min: 0, max: 255 }
158
+ default:
159
+ return { min: 0, max: 100 }
160
+ }
161
+ }
162
+
163
+ export function clamp(val: number, min: number, max: number): number {
164
+ return Math.max(min, Math.min(max, val))
165
+ }