@rimelight/ui 0.0.32 → 0.0.33

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 (383) hide show
  1. package/README.md +157 -30
  2. package/package.json +105 -108
  3. package/src/components/TableOfContents.astro +44 -43
  4. package/src/components/astro/RLA3dHover.astro +22 -18
  5. package/src/components/astro/RLAAlert.astro +93 -62
  6. package/src/components/astro/RLAApp.astro +22 -18
  7. package/src/components/astro/RLAAspectRatio.astro +27 -23
  8. package/src/components/astro/RLAAudio.astro +22 -18
  9. package/src/components/astro/RLAAvatar.astro +68 -56
  10. package/src/components/astro/RLAAvatarGroup.astro +23 -19
  11. package/src/components/astro/RLABadge.astro +34 -33
  12. package/src/components/astro/RLABanner.astro +22 -18
  13. package/src/components/astro/RLABlogPost.astro +7 -0
  14. package/src/components/astro/RLABlogPosts.astro +9 -0
  15. package/src/components/astro/RLABreadcrumb.astro +48 -44
  16. package/src/components/astro/RLABrowserMockup.astro +22 -18
  17. package/src/components/astro/RLAButton.astro +51 -2
  18. package/src/components/astro/RLACalendar.astro +22 -18
  19. package/src/components/astro/RLACard.astro +78 -74
  20. package/src/components/astro/RLACarousel.astro +75 -71
  21. package/src/components/astro/RLAChangelog.astro +22 -18
  22. package/src/components/astro/RLAChat.astro +22 -18
  23. package/src/components/astro/RLAChatMessage.astro +22 -18
  24. package/src/components/astro/RLAChatMessages.astro +22 -18
  25. package/src/components/astro/RLAChatPalette.astro +22 -18
  26. package/src/components/astro/RLAChatPrompt.astro +22 -18
  27. package/src/components/astro/RLAChatPromptSubmit.astro +22 -18
  28. package/src/components/astro/RLAChatReasoning.astro +22 -18
  29. package/src/components/astro/RLAChatShimmer.astro +22 -18
  30. package/src/components/astro/RLAChatTool.astro +22 -18
  31. package/src/components/astro/RLAChip.astro +51 -20
  32. package/src/components/astro/RLAColorPicker.astro +22 -18
  33. package/src/components/astro/RLACommandPalette.astro +22 -18
  34. package/src/components/astro/RLACompare.astro +22 -18
  35. package/src/components/astro/RLAConfirm.astro +117 -86
  36. package/src/components/astro/RLAContainer.astro +22 -18
  37. package/src/components/astro/RLAContextMenu.astro +22 -18
  38. package/src/components/astro/RLADashboardGroup.astro +22 -18
  39. package/src/components/astro/RLADashboardNavbar.astro +22 -18
  40. package/src/components/astro/RLADashboardPanel.astro +22 -18
  41. package/src/components/astro/RLADashboardResizeHandle.astro +22 -18
  42. package/src/components/astro/RLADashboardSearch.astro +22 -18
  43. package/src/components/astro/RLADashboardSearchButton.astro +22 -18
  44. package/src/components/astro/RLADashboardSidebar.astro +22 -18
  45. package/src/components/astro/RLADashboardSidebarCollapse.astro +22 -18
  46. package/src/components/astro/RLADashboardSidebarToggle.astro +22 -18
  47. package/src/components/astro/RLADashboardToolbar.astro +22 -18
  48. package/src/components/astro/RLADock.astro +22 -18
  49. package/src/{plugins/starlightAddons/components/Gamepad.astro → components/astro/RLADocsGamepad.astro} +178 -180
  50. package/src/{plugins/starlightAddons/components/Keyboard.astro → components/astro/RLADocsKeyboard.astro} +1 -3
  51. package/src/{plugins/starlightAddons/PackageManagers.astro → components/astro/RLADocsPackageManagers.astro} +28 -14
  52. package/src/components/astro/RLADrawer.astro +78 -74
  53. package/src/components/astro/RLAEditor.astro +22 -18
  54. package/src/components/astro/RLAEmpty.astro +22 -18
  55. package/src/components/astro/RLAError.astro +22 -18
  56. package/src/components/astro/RLAFieldset.astro +22 -18
  57. package/src/components/astro/RLAFloatingAction.astro +22 -18
  58. package/src/components/astro/RLAFooter.astro +39 -35
  59. package/src/components/astro/RLAForm.astro +23 -19
  60. package/src/components/astro/RLAGallery.astro +22 -18
  61. package/src/components/astro/RLAGrid.astro +39 -0
  62. package/src/components/astro/RLAHead.astro +25 -9
  63. package/src/components/astro/RLAHeader.astro +59 -107
  64. package/src/components/astro/RLAHoverCard.astro +35 -31
  65. package/src/components/astro/RLAIcon.astro +31 -27
  66. package/src/components/astro/RLAImage.astro +209 -19
  67. package/src/components/astro/RLAInputDate.astro +22 -18
  68. package/src/components/astro/RLAInputNumber.astro +22 -18
  69. package/src/components/astro/RLAInputTags.astro +22 -18
  70. package/src/components/astro/RLAInputTime.astro +22 -18
  71. package/src/components/astro/RLAKbd.astro +32 -22
  72. package/src/components/astro/RLAKnob.astro +22 -18
  73. package/src/components/astro/RLALabel.astro +27 -23
  74. package/src/components/astro/RLALink.astro +22 -18
  75. package/src/components/astro/RLALinkGroup.astro +37 -18
  76. package/src/components/astro/RLAListbox.astro +22 -18
  77. package/src/components/astro/RLALocaleSelector.astro +5 -1
  78. package/src/components/astro/RLALogo.astro +90 -56
  79. package/src/components/astro/RLAMain.astro +8 -2
  80. package/src/components/astro/RLAMarquee.astro +36 -32
  81. package/src/components/astro/RLAMegamenu.astro +22 -18
  82. package/src/components/astro/RLAMeter.astro +22 -18
  83. package/src/components/astro/RLAModal.astro +99 -95
  84. package/src/components/astro/RLANavigationMenu.astro +137 -136
  85. package/src/components/astro/RLAPage.astro +22 -18
  86. package/src/components/astro/RLAPageAside.astro +22 -18
  87. package/src/components/astro/RLAPageBody.astro +22 -18
  88. package/src/components/astro/RLAPageHeader.astro +22 -18
  89. package/src/components/astro/RLAPageSection.astro +5 -1
  90. package/src/components/astro/RLAPagination.astro +98 -94
  91. package/src/components/astro/RLAPassword.astro +22 -18
  92. package/src/components/astro/RLAPhoneMockup.astro +22 -18
  93. package/src/components/astro/RLAPinInput.astro +23 -0
  94. package/src/components/astro/RLAPlaceholder.astro +45 -41
  95. package/src/components/astro/RLAPopover.astro +35 -31
  96. package/src/components/astro/RLAPost.astro +65 -19
  97. package/src/components/astro/RLAPosts.astro +23 -0
  98. package/src/components/astro/RLAPricingPlan.astro +22 -18
  99. package/src/components/astro/RLAPricingTable.astro +22 -18
  100. package/src/components/astro/RLAProse.astro +22 -18
  101. package/src/components/astro/RLAQrCode.astro +22 -18
  102. package/src/components/astro/RLARadioGroup.astro +22 -18
  103. package/src/components/astro/RLARating.astro +22 -18
  104. package/src/components/astro/RLASeparator.astro +78 -27
  105. package/src/components/astro/RLASidebar.astro +212 -135
  106. package/src/components/astro/RLASkeleton.astro +24 -20
  107. package/src/components/astro/RLASlideover.astro +76 -72
  108. package/src/components/astro/RLASpeedDial.astro +22 -18
  109. package/src/components/astro/RLASpoiler.astro +22 -18
  110. package/src/components/astro/RLAStepper.astro +22 -18
  111. package/src/components/astro/RLASteps.astro +71 -0
  112. package/src/components/astro/RLAStickySurface.astro +31 -27
  113. package/src/components/astro/RLATableOfContents.astro +22 -18
  114. package/src/components/astro/RLATabs.astro +133 -92
  115. package/src/components/astro/RLAThemeSelector.astro +5 -1
  116. package/src/components/astro/RLATimeline.astro +22 -18
  117. package/src/components/astro/RLATooltip.astro +35 -31
  118. package/src/components/astro/RLATour.astro +22 -18
  119. package/src/components/astro/RLATree.astro +22 -18
  120. package/src/components/astro/RLAUser.astro +22 -18
  121. package/src/components/astro/RLAVideo.astro +200 -196
  122. package/src/components/astro/RLAWatermark.astro +22 -18
  123. package/src/components/astro/RLAWindowMockup.astro +22 -18
  124. package/src/components/vue/RLVCheckbox.vue +68 -0
  125. package/src/components/vue/RLVForm.vue +44 -0
  126. package/src/components/vue/RLVFormField.vue +58 -0
  127. package/src/components/vue/RLVInput.vue +93 -0
  128. package/src/components/vue/RLVPost.vue +63 -0
  129. package/src/components/vue/RLVPosts.vue +21 -0
  130. package/src/components/vue/RLVSection.vue +5 -4
  131. package/src/components/vue/RLVToast.vue +68 -0
  132. package/src/components/vue/RLVToaster.vue +29 -0
  133. package/src/composables/index.ts +3 -1
  134. package/src/composables/useHeaderStore.ts +14 -0
  135. package/src/composables/useScrollToTop.ts +62 -62
  136. package/src/composables/useToast.ts +42 -0
  137. package/src/env.d.ts +0 -13
  138. package/src/integrations/ui.ts +40 -49
  139. package/src/plugins/index.ts +2 -5
  140. package/src/plugins/starlightDocsApi/index.ts +272 -265
  141. package/src/presets/defaults.ts +297 -285
  142. package/src/presets/index.ts +208 -108
  143. package/src/styles/index.css +160 -162
  144. package/src/themes/3d-hover.theme.ts +13 -10
  145. package/src/themes/accordion.theme.ts +13 -10
  146. package/src/themes/alert.theme.ts +125 -56
  147. package/src/themes/app.theme.ts +13 -10
  148. package/src/themes/aspect-ratio.theme.ts +10 -8
  149. package/src/themes/audio.theme.ts +13 -10
  150. package/src/themes/avatar-group.theme.ts +9 -7
  151. package/src/themes/avatar.theme.ts +84 -28
  152. package/src/themes/badge.theme.ts +163 -66
  153. package/src/themes/banner.theme.ts +13 -10
  154. package/src/themes/breadcrumb.theme.ts +14 -12
  155. package/src/themes/browser-mockup.theme.ts +13 -10
  156. package/src/themes/button.theme.ts +73 -66
  157. package/src/themes/calendar.theme.ts +13 -10
  158. package/src/themes/card.theme.ts +42 -34
  159. package/src/themes/carousel.theme.ts +30 -28
  160. package/src/themes/changelog.theme.ts +13 -10
  161. package/src/themes/chart.theme.ts +22 -21
  162. package/src/themes/chat-message.theme.ts +13 -10
  163. package/src/themes/chat-messages.theme.ts +13 -10
  164. package/src/themes/chat-palette.theme.ts +13 -10
  165. package/src/themes/chat-prompt-submit.theme.ts +13 -10
  166. package/src/themes/chat-prompt.theme.ts +13 -10
  167. package/src/themes/chat-reasoning.theme.ts +13 -10
  168. package/src/themes/chat-shimmer.theme.ts +13 -10
  169. package/src/themes/chat-tool.theme.ts +13 -10
  170. package/src/themes/chat.theme.ts +13 -10
  171. package/src/themes/checkbox.theme.ts +50 -48
  172. package/src/themes/chip.theme.ts +74 -16
  173. package/src/themes/color-picker.theme.ts +13 -10
  174. package/src/themes/command-palette.theme.ts +13 -10
  175. package/src/themes/compare.theme.ts +13 -10
  176. package/src/themes/confirm.theme.ts +48 -33
  177. package/src/themes/container.theme.ts +13 -10
  178. package/src/themes/context-menu.theme.ts +13 -10
  179. package/src/themes/dashboard-group.theme.ts +13 -10
  180. package/src/themes/dashboard-navbar.theme.ts +13 -10
  181. package/src/themes/dashboard-panel.theme.ts +13 -10
  182. package/src/themes/dashboard-resize-handle.theme.ts +13 -10
  183. package/src/themes/dashboard-search-button.theme.ts +13 -10
  184. package/src/themes/dashboard-search.theme.ts +13 -10
  185. package/src/themes/dashboard-sidebar-collapse.theme.ts +13 -10
  186. package/src/themes/dashboard-sidebar-toggle.theme.ts +13 -10
  187. package/src/themes/dashboard-sidebar.theme.ts +13 -10
  188. package/src/themes/dashboard-toolbar.theme.ts +13 -10
  189. package/src/themes/dock.theme.ts +13 -10
  190. package/src/themes/drawer.theme.ts +61 -44
  191. package/src/themes/dropdown-menu.theme.ts +29 -27
  192. package/src/themes/editor.theme.ts +13 -10
  193. package/src/themes/empty.theme.ts +13 -10
  194. package/src/themes/error.theme.ts +13 -10
  195. package/src/themes/field-group.theme.ts +24 -23
  196. package/src/themes/fieldset.theme.ts +13 -10
  197. package/src/themes/floating-action.theme.ts +13 -10
  198. package/src/themes/footer.theme.ts +30 -27
  199. package/src/themes/form.theme.ts +13 -10
  200. package/src/themes/gallery.theme.ts +13 -10
  201. package/src/themes/head.theme.ts +13 -10
  202. package/src/themes/header.theme.ts +46 -43
  203. package/src/themes/hover-card.theme.ts +25 -23
  204. package/src/themes/icon.theme.ts +23 -20
  205. package/src/themes/image.theme.ts +19 -10
  206. package/src/themes/input-date.theme.ts +13 -10
  207. package/src/themes/input-menu.theme.ts +35 -28
  208. package/src/themes/input-number.theme.ts +13 -10
  209. package/src/themes/input-tags.theme.ts +13 -10
  210. package/src/themes/input-time.theme.ts +13 -10
  211. package/src/themes/input.theme.ts +42 -41
  212. package/src/themes/kbd.theme.ts +89 -24
  213. package/src/themes/knob.theme.ts +13 -10
  214. package/src/themes/label.theme.ts +18 -16
  215. package/src/themes/link-group.theme.ts +32 -10
  216. package/src/themes/link.theme.ts +13 -10
  217. package/src/themes/listbox.theme.ts +13 -10
  218. package/src/themes/locale-selector.theme.ts +40 -41
  219. package/src/themes/logo.theme.ts +13 -10
  220. package/src/themes/main.theme.ts +7 -6
  221. package/src/themes/marquee.theme.ts +24 -22
  222. package/src/themes/megamenu.theme.ts +13 -10
  223. package/src/themes/meter.theme.ts +13 -10
  224. package/src/themes/modal.theme.ts +44 -32
  225. package/src/themes/navigation-menu.theme.ts +27 -19
  226. package/src/themes/page-aside.theme.ts +13 -10
  227. package/src/themes/page-body.theme.ts +13 -10
  228. package/src/themes/page-header.theme.ts +13 -10
  229. package/src/themes/page-section.theme.ts +187 -186
  230. package/src/themes/page.theme.ts +13 -10
  231. package/src/themes/pagination.theme.ts +24 -22
  232. package/src/themes/password.theme.ts +13 -10
  233. package/src/themes/phone-mockup.theme.ts +13 -10
  234. package/src/themes/pin-input.theme.ts +14 -0
  235. package/src/themes/placeholder.theme.ts +15 -12
  236. package/src/themes/popover.theme.ts +26 -24
  237. package/src/themes/post.theme.ts +33 -10
  238. package/src/themes/posts.theme.ts +13 -0
  239. package/src/themes/pricing-plan.theme.ts +13 -10
  240. package/src/themes/pricing-table.theme.ts +13 -10
  241. package/src/themes/progress.theme.ts +38 -37
  242. package/src/themes/prose.theme.ts +13 -10
  243. package/src/themes/qr-code.theme.ts +13 -10
  244. package/src/themes/quote.theme.ts +13 -10
  245. package/src/themes/radio-group.theme.ts +13 -10
  246. package/src/themes/rating.theme.ts +13 -10
  247. package/src/themes/scroll-area.theme.ts +26 -24
  248. package/src/themes/scroll-to-top.theme.ts +52 -50
  249. package/src/themes/select.theme.ts +29 -27
  250. package/src/themes/separator.theme.ts +147 -19
  251. package/src/themes/sidebar.theme.ts +38 -33
  252. package/src/themes/skeleton.theme.ts +21 -20
  253. package/src/themes/slideover.theme.ts +53 -37
  254. package/src/themes/slider.theme.ts +36 -34
  255. package/src/themes/speed-dial.theme.ts +13 -10
  256. package/src/themes/spinner.theme.ts +34 -35
  257. package/src/themes/splitter.theme.ts +23 -22
  258. package/src/themes/spoiler.theme.ts +13 -10
  259. package/src/themes/stepper.theme.ts +13 -10
  260. package/src/themes/sticky-surface.theme.ts +9 -7
  261. package/src/themes/switch.theme.ts +67 -65
  262. package/src/themes/table-of-contents.theme.ts +48 -10
  263. package/src/themes/tabs.theme.ts +52 -44
  264. package/src/themes/textarea.theme.ts +27 -26
  265. package/src/themes/theme-selector.theme.ts +9 -10
  266. package/src/themes/timeline.theme.ts +13 -10
  267. package/src/themes/toast.theme.ts +31 -25
  268. package/src/themes/tooltip.theme.ts +28 -27
  269. package/src/themes/tour.theme.ts +13 -10
  270. package/src/themes/tree.theme.ts +13 -10
  271. package/src/themes/user.theme.ts +13 -10
  272. package/src/themes/video.theme.ts +17 -14
  273. package/src/themes/watermark.theme.ts +13 -10
  274. package/src/themes/window-mockup.theme.ts +13 -10
  275. package/src/types/components/3d-hover.ts +11 -11
  276. package/src/types/components/app.ts +11 -11
  277. package/src/types/components/audio.ts +11 -11
  278. package/src/types/components/avatar-group.ts +9 -10
  279. package/src/types/components/avatar.ts +60 -35
  280. package/src/types/components/banner.ts +11 -11
  281. package/src/types/components/browser-mockup.ts +11 -11
  282. package/src/types/components/button.ts +81 -77
  283. package/src/types/components/calendar.ts +11 -11
  284. package/src/types/components/changelog.ts +11 -11
  285. package/src/types/components/chat-message.ts +11 -11
  286. package/src/types/components/chat-messages.ts +11 -11
  287. package/src/types/components/chat-palette.ts +11 -11
  288. package/src/types/components/chat-prompt-submit.ts +11 -11
  289. package/src/types/components/chat-prompt.ts +11 -11
  290. package/src/types/components/chat-reasoning.ts +11 -11
  291. package/src/types/components/chat-shimmer.ts +11 -11
  292. package/src/types/components/chat-tool.ts +11 -11
  293. package/src/types/components/chat.ts +11 -11
  294. package/src/types/components/chip.ts +17 -17
  295. package/src/types/components/color-picker.ts +11 -11
  296. package/src/types/components/command-palette.ts +11 -11
  297. package/src/types/components/compare.ts +11 -11
  298. package/src/types/components/container.ts +17 -11
  299. package/src/types/components/context-menu.ts +11 -11
  300. package/src/types/components/dashboard-group.ts +11 -11
  301. package/src/types/components/dashboard-navbar.ts +11 -11
  302. package/src/types/components/dashboard-panel.ts +11 -11
  303. package/src/types/components/dashboard-resize-handle.ts +11 -11
  304. package/src/types/components/dashboard-search-button.ts +11 -11
  305. package/src/types/components/dashboard-search.ts +11 -11
  306. package/src/types/components/dashboard-sidebar-collapse.ts +11 -11
  307. package/src/types/components/dashboard-sidebar-toggle.ts +11 -11
  308. package/src/types/components/dashboard-sidebar.ts +11 -11
  309. package/src/types/components/dashboard-toolbar.ts +11 -11
  310. package/src/types/components/dock.ts +11 -11
  311. package/src/types/components/editor.ts +11 -11
  312. package/src/types/components/empty.ts +11 -11
  313. package/src/types/components/error.ts +11 -11
  314. package/src/types/components/fieldset.ts +11 -11
  315. package/src/types/components/floating-action.ts +11 -11
  316. package/src/types/components/form.ts +19 -11
  317. package/src/types/components/gallery.ts +11 -11
  318. package/src/types/components/icon.ts +19 -20
  319. package/src/types/components/image.ts +27 -10
  320. package/src/types/components/index.ts +2 -1
  321. package/src/types/components/input-date.ts +11 -11
  322. package/src/types/components/input-menu.ts +43 -44
  323. package/src/types/components/input-number.ts +11 -11
  324. package/src/types/components/input-pin.ts +35 -11
  325. package/src/types/components/input-tags.ts +11 -11
  326. package/src/types/components/input-time.ts +11 -11
  327. package/src/types/components/knob.ts +11 -11
  328. package/src/types/components/link-group.ts +23 -11
  329. package/src/types/components/listbox.ts +11 -11
  330. package/src/types/components/locale-selector.ts +28 -28
  331. package/src/types/components/logo.ts +31 -27
  332. package/src/types/components/main.ts +15 -15
  333. package/src/types/components/megamenu.ts +11 -11
  334. package/src/types/components/meter.ts +11 -11
  335. package/src/types/components/modal.ts +39 -40
  336. package/src/types/components/navigation-menu.ts +54 -54
  337. package/src/types/components/page-aside.ts +11 -11
  338. package/src/types/components/page-body.ts +11 -11
  339. package/src/types/components/page-header.ts +11 -11
  340. package/src/types/components/page.ts +11 -11
  341. package/src/types/components/password.ts +11 -11
  342. package/src/types/components/phone-mockup.ts +5 -5
  343. package/src/types/components/pin-input.ts +11 -0
  344. package/src/types/components/popover.ts +23 -24
  345. package/src/types/components/post.ts +35 -11
  346. package/src/types/components/posts.ts +11 -0
  347. package/src/types/components/pricing-plan.ts +11 -11
  348. package/src/types/components/pricing-table.ts +11 -11
  349. package/src/types/components/progress.ts +33 -34
  350. package/src/types/components/prose.ts +11 -11
  351. package/src/types/components/qr-code.ts +11 -11
  352. package/src/types/components/radio-group.ts +11 -11
  353. package/src/types/components/rating.ts +11 -11
  354. package/src/types/components/scroll-area.ts +23 -24
  355. package/src/types/components/separator.ts +19 -20
  356. package/src/types/components/sidebar.ts +72 -37
  357. package/src/types/components/slideover.ts +31 -32
  358. package/src/types/components/speed-dial.ts +11 -11
  359. package/src/types/components/spinner.ts +25 -26
  360. package/src/types/components/splitter.ts +19 -20
  361. package/src/types/components/spoiler.ts +11 -11
  362. package/src/types/components/stepper.ts +11 -11
  363. package/src/types/components/sticky-surface.ts +19 -20
  364. package/src/types/components/switch.ts +41 -42
  365. package/src/types/components/table-of-contents.ts +17 -11
  366. package/src/types/components/theme-selector.ts +13 -13
  367. package/src/types/components/timeline.ts +11 -11
  368. package/src/types/components/tooltip.ts +23 -24
  369. package/src/types/components/tour.ts +11 -11
  370. package/src/types/components/tree.ts +11 -11
  371. package/src/types/components/user.ts +11 -11
  372. package/src/types/components/watermark.ts +11 -11
  373. package/src/types/components/window-mockup.ts +11 -11
  374. package/src/utils/docs.ts +189 -0
  375. package/src/utils/headerStack.ts +95 -88
  376. package/src/utils/index.ts +5 -4
  377. package/src/components/astro/RLAInputPin.astro +0 -19
  378. package/src/integrations/vue-entrypoint.ts +0 -6
  379. package/src/nuxt.ts +0 -125
  380. package/src/plugins/starlightAddons/PageTitle.astro +0 -113
  381. package/src/plugins/starlightAddons/index.ts +0 -58
  382. package/src/plugins/starlightAddons/starlight.d.ts +0 -6
  383. package/src/themes/input-pin.theme.ts +0 -10
@@ -1,19 +1,23 @@
1
- ---
2
- import { scv } from "css-variants"
3
- import { useUi, resolveClasses } from "../../utils"
4
- import type { InputTimeProps } from "../../types"
5
- import inputTimeThemeDefault from "../../themes/input-time.theme"
6
-
7
- const inputTime = scv(inputTimeThemeDefault)
8
-
9
- const {
10
- ui: uiProp,
11
- class: className,
12
- ...rest
13
- } = Astro.props as InputTimeProps
14
-
15
- const classes = resolveClasses(inputTime, {}, useUi("inputTime", uiProp), className);
16
- ---
17
- <div class={classes.root} data-slot="root" {...rest}>
18
- <slot />
1
+ ---
2
+ import { scv } from "css-variants"
3
+ import { useUi, resolveClasses } from "../../utils"
4
+ import type { InputTimeProps } from "../../types"
5
+ import inputTimeThemeDefault, { createInputTimeTheme } from "../../themes/input-time.theme"
6
+ import { getUIConfig } from "virtual:rimelight-ui"
7
+
8
+ const uiConfig = getUIConfig()
9
+ const inputTimeTheme = uiConfig.colors ? createInputTimeTheme() : inputTimeThemeDefault
10
+
11
+ const inputTime = scv(inputTimeTheme)
12
+
13
+ const {
14
+ ui: uiProp,
15
+ class: className,
16
+ ...rest
17
+ } = Astro.props as InputTimeProps
18
+
19
+ const classes = resolveClasses(inputTime, {}, useUi("inputTime", uiProp), className);
20
+ ---
21
+ <div class={classes.root} data-slot="root" {...rest}>
22
+ <slot />
19
23
  </div>
@@ -1,22 +1,32 @@
1
- ---
2
- import { scv } from "css-variants"
3
- import { useUi, resolveClasses } from "../../utils"
4
- import type { KbdProps } from "../../types"
5
- import kbdTheme from "../../themes/kbd.theme"
6
-
7
- const kbd = scv(kbdTheme)
8
-
9
- const {
10
- size = "md",
11
- ui: uiProp,
12
- class: className,
13
- ...rest
14
- } = Astro.props as KbdProps
15
-
16
- const classes = resolveClasses(kbd, {
17
- size
18
- }, useUi("kbd", uiProp), className)
19
- ---
20
- <kbd class={classes.root} data-slot="root" {...rest}>
21
- <slot />
22
- </kbd>
1
+ ---
2
+ import { scv } from "css-variants"
3
+ import { useUi, resolveClasses } from "../../utils"
4
+ import type { KbdProps } from "../../types"
5
+ import kbdThemeDefault, { createKbdTheme } from "../../themes/kbd.theme"
6
+ import { getUIConfig } from "virtual:rimelight-ui"
7
+
8
+ const uiConfig = getUIConfig()
9
+ const kbdTheme = uiConfig.colors ? createKbdTheme() : kbdThemeDefault
10
+
11
+ const kbd = scv(kbdTheme)
12
+
13
+ const {
14
+ size = "md",
15
+ color = "neutral",
16
+ variant = "outline",
17
+ theme,
18
+ ui: uiProp,
19
+ class: className,
20
+ ...rest
21
+ } = Astro.props as KbdProps
22
+
23
+ const classes = resolveClasses(kbd, {
24
+ size,
25
+ color,
26
+ variant,
27
+ theme
28
+ }, useUi("kbd", uiProp), className)
29
+ ---
30
+ <kbd class={classes.root} data-slot="root" {...rest}>
31
+ <slot />
32
+ </kbd>
@@ -1,19 +1,23 @@
1
- ---
2
- import { scv } from "css-variants"
3
- import { useUi, resolveClasses } from "../../utils"
4
- import type { KnobProps } from "../../types"
5
- import knobThemeDefault from "../../themes/knob.theme"
6
-
7
- const knob = scv(knobThemeDefault)
8
-
9
- const {
10
- ui: uiProp,
11
- class: className,
12
- ...rest
13
- } = Astro.props as KnobProps
14
-
15
- const classes = resolveClasses(knob, {}, useUi("knob", uiProp), className);
16
- ---
17
- <div class={classes.root} data-slot="root" {...rest}>
18
- <slot />
1
+ ---
2
+ import { scv } from "css-variants"
3
+ import { useUi, resolveClasses } from "../../utils"
4
+ import type { KnobProps } from "../../types"
5
+ import knobThemeDefault, { createKnobTheme } from "../../themes/knob.theme"
6
+ import { getUIConfig } from "virtual:rimelight-ui"
7
+
8
+ const uiConfig = getUIConfig()
9
+ const knobTheme = uiConfig.colors ? createKnobTheme() : knobThemeDefault
10
+
11
+ const knob = scv(knobTheme)
12
+
13
+ const {
14
+ ui: uiProp,
15
+ class: className,
16
+ ...rest
17
+ } = Astro.props as KnobProps
18
+
19
+ const classes = resolveClasses(knob, {}, useUi("knob", uiProp), className);
20
+ ---
21
+ <div class={classes.root} data-slot="root" {...rest}>
22
+ <slot />
19
23
  </div>
@@ -1,23 +1,27 @@
1
- ---
2
- import { scv } from "css-variants"
3
- import { useUi, resolveClasses } from "../../utils"
4
- import type { LabelProps } from "../../types"
5
- import labelTheme from "../../themes/label.theme"
6
-
7
- const label = scv(labelTheme)
8
-
9
- const {
10
- for: htmlFor,
11
- size = "md",
12
- ui: uiProp,
13
- class: className,
14
- ...rest
15
- } = Astro.props as LabelProps
16
-
17
- const classes = resolveClasses(label, {
18
- size
19
- }, useUi("label", uiProp), className)
20
- ---
21
- <label class={classes.root} data-slot="root" for={htmlFor} {...rest}>
22
- <slot />
23
- </label>
1
+ ---
2
+ import { scv } from "css-variants"
3
+ import { useUi, resolveClasses } from "../../utils"
4
+ import type { LabelProps } from "../../types"
5
+ import labelThemeDefault, { createLabelTheme } from "../../themes/label.theme"
6
+ import { getUIConfig } from "virtual:rimelight-ui"
7
+
8
+ const uiConfig = getUIConfig()
9
+ const labelTheme = uiConfig.colors ? createLabelTheme() : labelThemeDefault
10
+
11
+ const label = scv(labelTheme)
12
+
13
+ const {
14
+ for: htmlFor,
15
+ size = "md",
16
+ ui: uiProp,
17
+ class: className,
18
+ ...rest
19
+ } = Astro.props as LabelProps
20
+
21
+ const classes = resolveClasses(label, {
22
+ size
23
+ }, useUi("label", uiProp), className)
24
+ ---
25
+ <label class={classes.root} data-slot="root" for={htmlFor} {...rest}>
26
+ <slot />
27
+ </label>
@@ -1,19 +1,23 @@
1
- ---
2
- import { scv } from "css-variants"
3
- import { useUi, resolveClasses } from "../../utils"
4
- import type { LinkProps } from "../../types"
5
- import linkThemeDefault from "../../themes/link.theme"
6
-
7
- const link = scv(linkThemeDefault)
8
-
9
- const {
10
- ui: uiProp,
11
- class: className,
12
- ...rest
13
- } = Astro.props as LinkProps
14
-
15
- const classes = resolveClasses(link, {}, useUi("link", uiProp), className);
16
- ---
17
- <div class={classes.root} data-slot="root" {...rest}>
18
- <slot />
1
+ ---
2
+ import { scv } from "css-variants"
3
+ import { useUi, resolveClasses } from "../../utils"
4
+ import type { LinkProps } from "../../types"
5
+ import linkThemeDefault, { createLinkTheme } from "../../themes/link.theme"
6
+ import { getUIConfig } from "virtual:rimelight-ui"
7
+
8
+ const uiConfig = getUIConfig()
9
+ const linkTheme = uiConfig.colors ? createLinkTheme() : linkThemeDefault
10
+
11
+ const link = scv(linkTheme)
12
+
13
+ const {
14
+ ui: uiProp,
15
+ class: className,
16
+ ...rest
17
+ } = Astro.props as LinkProps
18
+
19
+ const classes = resolveClasses(link, {}, useUi("link", uiProp), className);
20
+ ---
21
+ <div class={classes.root} data-slot="root" {...rest}>
22
+ <slot />
19
23
  </div>
@@ -1,19 +1,38 @@
1
- ---
2
- import { scv } from "css-variants"
3
- import { useUi, resolveClasses } from "../../utils"
4
- import type { LinkGroupProps } from "../../types"
5
- import linkGroupThemeDefault from "../../themes/link-group.theme"
6
-
7
- const linkGroup = scv(linkGroupThemeDefault)
8
-
9
- const {
10
- ui: uiProp,
11
- class: className,
12
- ...rest
13
- } = Astro.props as LinkGroupProps
14
-
15
- const classes = resolveClasses(linkGroup, {}, useUi("linkGroup", uiProp), className);
16
- ---
17
- <div class={classes.root} data-slot="root" {...rest}>
18
- <slot />
1
+ ---
2
+ import { scv } from "css-variants"
3
+ import { useUi, resolveClasses } from "../../utils"
4
+ import type { LinkGroupProps } from "../../types"
5
+ import linkGroupThemeDefault, { createLinkGroupTheme } from "../../themes/link-group.theme"
6
+ import { getUIConfig } from "virtual:rimelight-ui"
7
+
8
+ const uiConfig = getUIConfig()
9
+ const linkGroupTheme = uiConfig.colors ? createLinkGroupTheme() : linkGroupThemeDefault
10
+
11
+ const linkGroup = scv(linkGroupTheme)
12
+
13
+ const {
14
+ title,
15
+ links = [],
16
+ theme,
17
+ ui: uiProp,
18
+ class: className,
19
+ ...rest
20
+ } = Astro.props as LinkGroupProps
21
+
22
+ const classes = resolveClasses(linkGroup, { theme }, useUi("linkGroup", uiProp), className);
23
+ ---
24
+ <div class={classes.root} data-slot="root" {...rest}>
25
+ {title && <h4 class={classes.title} data-slot="title">{title}</h4>}
26
+
27
+ <ul class={classes.list} data-slot="list">
28
+ <slot>
29
+ {links.map((link) => (
30
+ <li class={classes.item} data-slot="item">
31
+ <a href={link.href} class={classes.link} data-slot="link" {...link}>
32
+ {link.label}
33
+ </a>
34
+ </li>
35
+ ))}
36
+ </slot>
37
+ </ul>
19
38
  </div>
@@ -1,19 +1,23 @@
1
- ---
2
- import { scv } from "css-variants"
3
- import { useUi, resolveClasses } from "../../utils"
4
- import type { ListboxProps } from "../../types"
5
- import listboxThemeDefault from "../../themes/listbox.theme"
6
-
7
- const listbox = scv(listboxThemeDefault)
8
-
9
- const {
10
- ui: uiProp,
11
- class: className,
12
- ...rest
13
- } = Astro.props as ListboxProps
14
-
15
- const classes = resolveClasses(listbox, {}, useUi("listbox", uiProp), className);
16
- ---
17
- <div class={classes.root} data-slot="root" {...rest}>
18
- <slot />
1
+ ---
2
+ import { scv } from "css-variants"
3
+ import { useUi, resolveClasses } from "../../utils"
4
+ import type { ListboxProps } from "../../types"
5
+ import listboxThemeDefault, { createListboxTheme } from "../../themes/listbox.theme"
6
+ import { getUIConfig } from "virtual:rimelight-ui"
7
+
8
+ const uiConfig = getUIConfig()
9
+ const listboxTheme = uiConfig.colors ? createListboxTheme() : listboxThemeDefault
10
+
11
+ const listbox = scv(listboxTheme)
12
+
13
+ const {
14
+ ui: uiProp,
15
+ class: className,
16
+ ...rest
17
+ } = Astro.props as ListboxProps
18
+
19
+ const classes = resolveClasses(listbox, {}, useUi("listbox", uiProp), className);
20
+ ---
21
+ <div class={classes.root} data-slot="root" {...rest}>
22
+ <slot />
19
23
  </div>
@@ -2,9 +2,13 @@
2
2
  import { scv } from "css-variants"
3
3
  import { useUi, resolveClasses } from "../../utils"
4
4
  import type { LocaleSelectorProps } from "../../types"
5
- import localeSelectorTheme from "../../themes/locale-selector.theme"
5
+ import localeSelectorThemeDefault, { createLocaleSelectorTheme } from "../../themes/locale-selector.theme"
6
+ import { getUIConfig } from "virtual:rimelight-ui"
6
7
  import { getRelativeLocaleUrlList, getRelativeLocaleUrl } from "astro:i18n";
7
8
 
9
+ const uiConfig = getUIConfig()
10
+ const localeSelectorTheme = uiConfig.colors ? createLocaleSelectorTheme() : localeSelectorThemeDefault
11
+
8
12
  const localeSelector = scv(localeSelectorTheme)
9
13
 
10
14
  const {
@@ -1,56 +1,90 @@
1
- ---
2
- import { scv } from "css-variants"
3
- import { useUi, resolveClasses } from "../../utils"
4
- import type { LogoProps } from "../../types"
5
- import logoTheme from "../../themes/logo.theme"
6
- import { getUIConfig } from "virtual:rimelight-ui"
7
-
8
- const logo = scv(logoTheme)
9
-
10
- const {
11
- variant = "logomark",
12
- mode,
13
- href = "/",
14
- alt,
15
- ui: uiProp,
16
- class: className,
17
- ...rest
18
- } = Astro.props as LogoProps;
19
-
20
- const classes = resolveClasses(logo, {}, useUi("logo", uiProp), className);
21
-
22
- const globalConfig = getUIConfig();
23
- const rcLogos = globalConfig.logos as Record<string, any>;
24
-
25
- let logoSrc: string | null = null;
26
-
27
- if (rcLogos && typeof rcLogos === "object") {
28
- let src = rcLogos[variant];
29
- if (src && typeof src === "object") {
30
- logoSrc = src[mode || "color"] || src.black || src.color;
31
- } else if (typeof src === "string") {
32
- logoSrc = src;
33
- }
34
- }
35
-
36
- // Support for UnoCSS icons (e.g. `i-heroicons-home`)
37
- const isIcon = logoSrc && (logoSrc.includes(":") || logoSrc.startsWith("i-"));
38
- ---
39
-
40
- <a
41
- class={classes.root}
42
- href={href}
43
- aria-label={alt || variant}
44
- data-slot="root"
45
- {...rest}
46
- >
47
- {logoSrc ? (
48
- isIcon ? (
49
- <span class:list={[logoSrc, "size-full block shrink-0"]} aria-hidden="true" />
50
- ) : (
51
- <img src={logoSrc} alt={alt || ""} class="size-full block object-contain shrink-0" />
52
- )
53
- ) : (
54
- <slot />
55
- )}
56
- </a>
1
+ ---
2
+ import { scv } from "css-variants"
3
+ import { useUi, resolveClasses } from "../../utils"
4
+ import type { LogoProps } from "../../types"
5
+ import logoThemeDefault, { createLogoTheme } from "../../themes/logo.theme"
6
+ import { getUIConfig } from "virtual:rimelight-ui"
7
+
8
+ const uiConfig = getUIConfig()
9
+ const logoTheme = uiConfig.colors ? createLogoTheme() : logoThemeDefault
10
+
11
+ const logo = scv(logoTheme)
12
+
13
+ const {
14
+ variant = "logomark",
15
+ mode,
16
+ theme,
17
+ href = "/",
18
+ alt,
19
+ ui: uiProp,
20
+ class: className,
21
+ ...rest
22
+ } = Astro.props as LogoProps;
23
+
24
+ const classes = resolveClasses(logo, {}, useUi("logo", uiProp), className);
25
+
26
+ const globalConfig = getUIConfig();
27
+ const rcLogos = globalConfig.logos as Record<string, any>;
28
+
29
+ let logoSrc: string | null = null;
30
+ let darkSrc: string | null = null;
31
+ let lightSrc: string | null = null;
32
+
33
+ if (rcLogos && typeof rcLogos === "object") {
34
+ let src = rcLogos[variant];
35
+ if (src && typeof src === "object") {
36
+ if (theme === "flat" && src.flat) {
37
+ logoSrc = src.flat;
38
+ } else if (mode) {
39
+ logoSrc = src[mode] || src.color;
40
+ } else {
41
+ // No mode, no flat — auto-detect, use color as default
42
+ logoSrc = src.color || src.black || src.white;
43
+ darkSrc = src.white || src.color;
44
+ lightSrc = src.black || src.color;
45
+ }
46
+ } else if (typeof src === "string") {
47
+ logoSrc = src;
48
+ }
49
+ }
50
+
51
+ const startsWithUrlPrefix = logoSrc && (logoSrc.startsWith("http") || logoSrc.startsWith("/") || logoSrc.startsWith("."));
52
+ const isIcon = logoSrc && !startsWithUrlPrefix && (logoSrc.includes(":") || logoSrc.startsWith("i-"));
53
+ const hasAutoMode = darkSrc && lightSrc && darkSrc !== lightSrc && !mode && theme !== "flat";
54
+ const autoId = hasAutoMode ? `rla-logo-${Math.random().toString(36).slice(2, 8)}` : undefined;
55
+ ---
56
+
57
+ <a
58
+ class={classes.root}
59
+ href={href}
60
+ aria-label={alt || variant}
61
+ data-slot="root"
62
+ {...rest}
63
+ >
64
+ {logoSrc ? (
65
+ isIcon ? (
66
+ <span class:list={[logoSrc, "size-full block shrink-0"]} aria-hidden="true" />
67
+ ) : hasAutoMode ? (
68
+ <>
69
+ <img
70
+ src={lightSrc}
71
+ alt={alt || ""}
72
+ class="size-full block object-contain shrink-0 dark:hidden"
73
+ />
74
+ <img
75
+ src={darkSrc}
76
+ alt={alt || ""}
77
+ class="size-full hidden object-contain shrink-0 dark:block"
78
+ />
79
+ </>
80
+ ) : (
81
+ <img
82
+ src={logoSrc}
83
+ alt={alt || ""}
84
+ class="size-full block object-contain shrink-0"
85
+ />
86
+ )
87
+ ) : (
88
+ <slot />
89
+ )}
90
+ </a>
@@ -2,7 +2,11 @@
2
2
  import { scv } from "css-variants"
3
3
  import { useUi, resolveClasses } from "../../utils"
4
4
  import type { MainProps } from "../../types"
5
- import mainTheme from "../../themes/main.theme"
5
+ import mainThemeDefault, { createMainTheme } from "../../themes/main.theme"
6
+ import { getUIConfig } from "virtual:rimelight-ui"
7
+
8
+ const uiConfig = getUIConfig()
9
+ const mainTheme = uiConfig.colors ? createMainTheme() : mainThemeDefault
6
10
 
7
11
  const main = scv(mainTheme)
8
12
 
@@ -22,7 +26,9 @@ const Tag = as;
22
26
 
23
27
  <Tag
24
28
  class:list={[classes.root]}
29
+ data-slot="main"
30
+ style="padding-top: var(--rl-total-header-height, 4rem)"
25
31
  {...rest}
26
- >
32
+ >
27
33
  <slot />
28
34
  </Tag>
@@ -1,32 +1,36 @@
1
- ---
2
- import { scv } from "css-variants"
3
- import { useUi, resolveClasses } from "../../utils"
4
- import type { MarqueeProps } from "../../types"
5
- import marqueeTheme from "../../themes/marquee.theme"
6
-
7
- const marquee = scv(marqueeTheme)
8
-
9
- const {
10
- direction = "left",
11
- speed = 40,
12
- pauseOnHover = true,
13
- ui: uiProp,
14
- class: className,
15
- ...rest
16
- } = Astro.props as MarqueeProps
17
-
18
- const classes = resolveClasses(marquee, {
19
- direction,
20
- pauseOnHover
21
- }, useUi("marquee", uiProp), className)
22
-
23
- const duration = `${speed}s`
24
- ---
25
- <div class={classes.root} data-slot="marquee-root" {...rest}>
26
- <div class={classes.track} data-slot="track" style={{ animationDuration: duration }}>
27
- <slot />
28
- </div>
29
- <div class={classes.track} data-slot="track" aria-hidden="true" style={{ animationDuration: duration }}>
30
- <slot />
31
- </div>
32
- </div>
1
+ ---
2
+ import { scv } from "css-variants"
3
+ import { useUi, resolveClasses } from "../../utils"
4
+ import type { MarqueeProps } from "../../types"
5
+ import marqueeThemeDefault, { createMarqueeTheme } from "../../themes/marquee.theme"
6
+ import { getUIConfig } from "virtual:rimelight-ui"
7
+
8
+ const uiConfig = getUIConfig()
9
+ const marqueeTheme = uiConfig.colors ? createMarqueeTheme() : marqueeThemeDefault
10
+
11
+ const marquee = scv(marqueeTheme)
12
+
13
+ const {
14
+ direction = "left",
15
+ speed = 40,
16
+ pauseOnHover = true,
17
+ ui: uiProp,
18
+ class: className,
19
+ ...rest
20
+ } = Astro.props as MarqueeProps
21
+
22
+ const classes = resolveClasses(marquee, {
23
+ direction,
24
+ pauseOnHover
25
+ }, useUi("marquee", uiProp), className)
26
+
27
+ const duration = `${speed}s`
28
+ ---
29
+ <div class={classes.root} data-slot="marquee-root" {...rest}>
30
+ <div class={classes.track} data-slot="track" style={{ animationDuration: duration }}>
31
+ <slot />
32
+ </div>
33
+ <div class={classes.track} data-slot="track" aria-hidden="true" style={{ animationDuration: duration }}>
34
+ <slot />
35
+ </div>
36
+ </div>
@@ -1,19 +1,23 @@
1
- ---
2
- import { scv } from "css-variants"
3
- import { useUi, resolveClasses } from "../../utils"
4
- import type { MegamenuProps } from "../../types"
5
- import megamenuThemeDefault from "../../themes/megamenu.theme"
6
-
7
- const megamenu = scv(megamenuThemeDefault)
8
-
9
- const {
10
- ui: uiProp,
11
- class: className,
12
- ...rest
13
- } = Astro.props as MegamenuProps
14
-
15
- const classes = resolveClasses(megamenu, {}, useUi("megamenu", uiProp), className);
16
- ---
17
- <div class={classes.root} data-slot="root" {...rest}>
18
- <slot />
1
+ ---
2
+ import { scv } from "css-variants"
3
+ import { useUi, resolveClasses } from "../../utils"
4
+ import type { MegamenuProps } from "../../types"
5
+ import megamenuThemeDefault, { createMegamenuTheme } from "../../themes/megamenu.theme"
6
+ import { getUIConfig } from "virtual:rimelight-ui"
7
+
8
+ const uiConfig = getUIConfig()
9
+ const megamenuTheme = uiConfig.colors ? createMegamenuTheme() : megamenuThemeDefault
10
+
11
+ const megamenu = scv(megamenuTheme)
12
+
13
+ const {
14
+ ui: uiProp,
15
+ class: className,
16
+ ...rest
17
+ } = Astro.props as MegamenuProps
18
+
19
+ const classes = resolveClasses(megamenu, {}, useUi("megamenu", uiProp), className);
20
+ ---
21
+ <div class={classes.root} data-slot="root" {...rest}>
22
+ <slot />
19
23
  </div>