@rimelight/ui 0.0.42 → 0.0.43

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 (400) hide show
  1. package/README.md +4 -14
  2. package/package.json +20 -30
  3. package/src/components/3d-hover/3d-hover.theme.ts +9 -12
  4. package/src/components/3d-hover/RLA3dHover.astro +9 -20
  5. package/src/components/accordion/RLAAccordion.astro +5 -14
  6. package/src/components/accordion/accordion.theme.ts +34 -37
  7. package/src/components/app/RLAApp.astro +9 -20
  8. package/src/components/app/app.theme.ts +9 -12
  9. package/src/components/aspect-ratio/RLAAspectRatio.astro +19 -27
  10. package/src/components/aspect-ratio/aspect-ratio.theme.ts +8 -12
  11. package/src/components/audio/RLAAudio.astro +3 -14
  12. package/src/components/audio/audio.theme.ts +9 -12
  13. package/src/components/avatar/RLAAvatar.astro +9 -29
  14. package/src/components/avatar/avatar.theme.ts +66 -77
  15. package/src/components/avatar/avatar.ts +6 -11
  16. package/src/components/avatar-group/RLAAvatarGroup.astro +188 -23
  17. package/src/components/avatar-group/avatar-group.theme.ts +12 -11
  18. package/src/components/avatar-group/avatar-group.ts +41 -0
  19. package/src/components/badge/RLABadge.astro +23 -36
  20. package/src/components/badge/RLSBadge.tsx +41 -0
  21. package/src/components/badge/RLVBadge.vue +8 -16
  22. package/src/components/badge/badge.theme.ts +118 -160
  23. package/src/components/badge/badge.ts +2 -1
  24. package/src/components/banner/RLABanner.astro +88 -103
  25. package/src/components/banner/banner.theme.ts +40 -43
  26. package/src/components/breadcrumb/RLABreadcrumb.astro +241 -62
  27. package/src/components/breadcrumb/breadcrumb.theme.ts +12 -16
  28. package/src/components/breadcrumb/breadcrumb.ts +19 -0
  29. package/src/components/browser-mockup/RLABrowserMockup.astro +9 -20
  30. package/src/components/browser-mockup/browser-mockup.theme.ts +9 -12
  31. package/src/components/button/RLAButton.astro +10 -30
  32. package/src/components/button/RLSButton.tsx +169 -0
  33. package/src/components/button/RLVButton.vue +13 -26
  34. package/src/components/button/button.theme.ts +163 -220
  35. package/src/components/button/button.ts +1 -1
  36. package/src/components/calendar/RLACalendar.astro +9 -20
  37. package/src/components/calendar/calendar.theme.ts +9 -12
  38. package/src/components/callout/RLACallout.astro +5 -14
  39. package/src/components/callout/callout.theme.ts +59 -101
  40. package/src/components/callout/callout.ts +1 -1
  41. package/src/components/card/RLACard.astro +71 -77
  42. package/src/components/card/RLSCard.tsx +116 -0
  43. package/src/components/card/RLVCard.vue +6 -14
  44. package/src/components/card/card.theme.ts +41 -44
  45. package/src/components/carousel/RLACarousel.astro +43 -11
  46. package/src/components/carousel/carousel.theme.ts +28 -32
  47. package/src/components/chart/RLAChart.astro +5 -11
  48. package/src/components/chart/chart.theme.ts +18 -21
  49. package/src/components/chart/chart.ts +1 -1
  50. package/src/components/chat/RLAChat.astro +9 -20
  51. package/src/components/chat/chat.theme.ts +9 -12
  52. package/src/components/chat-message/RLAChatMessage.astro +9 -20
  53. package/src/components/chat-message/chat-message.theme.ts +9 -12
  54. package/src/components/chat-messages/RLAChatMessages.astro +9 -20
  55. package/src/components/chat-messages/chat-messages.theme.ts +9 -12
  56. package/src/components/chat-palette/RLAChatPalette.astro +9 -20
  57. package/src/components/chat-palette/chat-palette.theme.ts +9 -12
  58. package/src/components/chat-prompt/RLAChatPrompt.astro +9 -20
  59. package/src/components/chat-prompt/chat-prompt.theme.ts +9 -12
  60. package/src/components/chat-prompt-submit/RLAChatPromptSubmit.astro +9 -20
  61. package/src/components/chat-prompt-submit/chat-prompt-submit.theme.ts +9 -12
  62. package/src/components/chat-reasoning/RLAChatReasoning.astro +9 -20
  63. package/src/components/chat-reasoning/chat-reasoning.theme.ts +9 -12
  64. package/src/components/chat-shimmer/RLAChatShimmer.astro +9 -20
  65. package/src/components/chat-shimmer/chat-shimmer.theme.ts +9 -12
  66. package/src/components/chat-tool/RLAChatTool.astro +9 -20
  67. package/src/components/chat-tool/chat-tool.theme.ts +9 -12
  68. package/src/components/checkbox/RLACheckbox.astro +2 -17
  69. package/src/components/checkbox/RLSCheckbox.tsx +65 -0
  70. package/src/components/checkbox/checkbox.theme.ts +34 -45
  71. package/src/components/checkbox/checkbox.ts +1 -1
  72. package/src/components/chip/RLAChip.astro +32 -56
  73. package/src/components/chip/chip.theme.ts +66 -72
  74. package/src/components/chip/chip.ts +3 -1
  75. package/src/components/collapsible/RLACollapsible.astro +2 -12
  76. package/src/components/collapsible/collapsible.theme.ts +17 -20
  77. package/src/components/collapsible/collapsible.ts +1 -1
  78. package/src/components/color-area/RLAColorArea.astro +2 -13
  79. package/src/components/color-area/color-area.theme.ts +19 -31
  80. package/src/components/color-area/color-area.ts +1 -1
  81. package/src/components/color-field/RLAColorField.astro +3 -14
  82. package/src/components/color-field/color-field.theme.ts +18 -30
  83. package/src/components/color-field/color-field.ts +1 -1
  84. package/src/components/color-picker/RLAColorPicker.astro +9 -20
  85. package/src/components/color-picker/color-picker.theme.ts +9 -12
  86. package/src/components/color-slider/RLAColorSlider.astro +2 -13
  87. package/src/components/color-slider/color-slider.theme.ts +20 -32
  88. package/src/components/color-slider/color-slider.ts +1 -1
  89. package/src/components/command-palette/RLACommandPalette.astro +9 -20
  90. package/src/components/command-palette/command-palette.theme.ts +9 -12
  91. package/src/components/compare/RLACompare.astro +9 -20
  92. package/src/components/compare/compare.theme.ts +9 -12
  93. package/src/components/confirm/RLAConfirm.astro +114 -122
  94. package/src/components/confirm/confirm.theme.ts +40 -44
  95. package/src/components/confirm/confirm.ts +1 -0
  96. package/src/components/container/RLAContainer.astro +9 -20
  97. package/src/components/container/container.theme.ts +9 -12
  98. package/src/components/context-menu/RLAContextMenu.astro +9 -20
  99. package/src/components/context-menu/context-menu.theme.ts +9 -12
  100. package/src/components/dashboard-group/RLADashboardGroup.astro +17 -21
  101. package/src/components/dashboard-group/dashboard-group.theme.ts +9 -12
  102. package/src/components/dashboard-group/dashboard-group.ts +1 -6
  103. package/src/components/dashboard-navbar/RLADashboardNavbar.astro +61 -21
  104. package/src/components/dashboard-navbar/dashboard-navbar.theme.ts +26 -12
  105. package/src/components/dashboard-navbar/dashboard-navbar.ts +5 -6
  106. package/src/components/dashboard-panel/RLADashboardPanel.astro +25 -13
  107. package/src/components/dashboard-panel/dashboard-panel.theme.ts +22 -12
  108. package/src/components/dashboard-panel/dashboard-panel.ts +4 -6
  109. package/src/components/dashboard-resize-handle/RLADashboardResizeHandle.astro +21 -21
  110. package/src/components/dashboard-resize-handle/dashboard-resize-handle.theme.ts +9 -12
  111. package/src/components/dashboard-resize-handle/dashboard-resize-handle.ts +1 -6
  112. package/src/components/dashboard-search/RLADashboardSearch.astro +100 -21
  113. package/src/components/dashboard-search/dashboard-search.theme.ts +24 -11
  114. package/src/components/dashboard-search/dashboard-search.ts +2 -6
  115. package/src/components/dashboard-search-button/RLADashboardSearchButton.astro +45 -21
  116. package/src/components/dashboard-search-button/dashboard-search-button.theme.ts +20 -12
  117. package/src/components/dashboard-search-button/dashboard-search-button.ts +4 -6
  118. package/src/components/dashboard-sidebar/RLADashboardSidebar.astro +119 -21
  119. package/src/components/dashboard-sidebar/dashboard-sidebar.theme.ts +40 -11
  120. package/src/components/dashboard-sidebar/dashboard-sidebar.ts +8 -6
  121. package/src/components/dashboard-sidebar-collapse/RLADashboardSidebarCollapse.astro +24 -21
  122. package/src/components/dashboard-sidebar-collapse/dashboard-sidebar-collapse.theme.ts +16 -12
  123. package/src/components/dashboard-sidebar-collapse/dashboard-sidebar-collapse.ts +2 -6
  124. package/src/components/dashboard-sidebar-toggle/RLADashboardSidebarToggle.astro +23 -21
  125. package/src/components/dashboard-sidebar-toggle/dashboard-sidebar-toggle.theme.ts +16 -12
  126. package/src/components/dashboard-sidebar-toggle/dashboard-sidebar-toggle.ts +2 -6
  127. package/src/components/dashboard-toolbar/RLADashboardToolbar.astro +25 -21
  128. package/src/components/dashboard-toolbar/dashboard-toolbar.theme.ts +11 -12
  129. package/src/components/dashboard-toolbar/dashboard-toolbar.ts +1 -6
  130. package/src/components/dock/RLADock.astro +9 -20
  131. package/src/components/dock/dock.theme.ts +9 -12
  132. package/src/components/drawer/RLADrawer.astro +115 -126
  133. package/src/components/drawer/drawer.theme.ts +53 -57
  134. package/src/components/dropdown-menu/RLADropdownMenu.astro +180 -47
  135. package/src/components/dropdown-menu/RLSDropdownMenu.tsx +196 -0
  136. package/src/components/dropdown-menu/dropdown-menu.theme.ts +51 -27
  137. package/src/components/dropdown-menu/dropdown-menu.ts +47 -9
  138. package/src/components/editor/RLAEditor.astro +9 -20
  139. package/src/components/editor/blocks/AddBlockModal.vue +3 -3
  140. package/src/components/editor/blocks/Block.vue +4 -3
  141. package/src/components/editor/blocks/BlockEditor.vue +3 -3
  142. package/src/components/editor/blocks/BlockViewRenderer.vue +8 -2
  143. package/src/components/editor/blocks/editor/CalloutBlockEditor.vue +2 -2
  144. package/src/components/editor/blocks/editor/ParagraphBlockEditor.vue +1 -1
  145. package/src/components/editor/blocks/editor/SectionBlockEditor.vue +3 -3
  146. package/src/components/editor/blocks/renderer/CalloutBlockRenderer.vue +2 -3
  147. package/src/components/editor/blocks/renderer/SectionBlockRenderer.vue +2 -2
  148. package/src/components/editor/editor.theme.ts +9 -12
  149. package/src/components/empty/RLAEmpty.astro +86 -20
  150. package/src/components/empty/empty.theme.ts +79 -11
  151. package/src/components/empty/empty.ts +59 -2
  152. package/src/components/error/RLAError.astro +9 -20
  153. package/src/components/error/error.theme.ts +9 -12
  154. package/src/components/field-group/RLAFieldGroup.astro +2 -11
  155. package/src/components/field-group/field-group.theme.ts +18 -22
  156. package/src/components/fieldset/RLAFieldset.astro +9 -20
  157. package/src/components/fieldset/fieldset.theme.ts +9 -12
  158. package/src/components/file-upload/RLAFileUpload.astro +4 -13
  159. package/src/components/file-upload/file-upload.theme.ts +19 -22
  160. package/src/components/file-upload/file-upload.ts +1 -1
  161. package/src/components/floating-action/RLAFloatingAction.astro +9 -20
  162. package/src/components/floating-action/floating-action.theme.ts +9 -12
  163. package/src/components/footer/RLAFooter.astro +32 -38
  164. package/src/components/footer/footer.theme.ts +31 -26
  165. package/src/components/footer/footer.ts +4 -0
  166. package/src/components/form/RLAForm.astro +9 -20
  167. package/src/components/form/form.theme.ts +9 -12
  168. package/src/components/form-field/RLAFormField.astro +5 -12
  169. package/src/components/form-field/RLSFormField.tsx +71 -0
  170. package/src/components/form-field/RLVFormField.vue +5 -14
  171. package/src/components/form-field/form-field.theme.ts +19 -22
  172. package/src/components/form-field/form-field.ts +1 -0
  173. package/src/components/gallery/RLAGallery.astro +9 -20
  174. package/src/components/gallery/gallery.theme.ts +9 -12
  175. package/src/components/grid/RLAGrid.astro +2 -15
  176. package/src/components/grid/grid.theme.ts +31 -34
  177. package/src/components/head/UIHead.astro +298 -0
  178. package/src/components/head/head.theme.ts +9 -12
  179. package/src/components/header/HeaderLayer.astro +63 -0
  180. package/src/components/header/RLAHeader.astro +29 -48
  181. package/src/components/header/header.theme.ts +37 -40
  182. package/src/components/header/header.ts +4 -0
  183. package/src/{utils → components/header}/headerStack.ts +30 -22
  184. package/src/components/hover-card/RLAHoverCard.astro +24 -35
  185. package/src/components/hover-card/hover-card.theme.ts +23 -27
  186. package/src/components/icon/RLAIcon.astro +29 -36
  187. package/src/components/icon/RLSIcon.tsx +6 -7
  188. package/src/components/icon/RLVIcon.vue +5 -6
  189. package/src/components/icon/icon.theme.ts +18 -28
  190. package/src/components/icon/resolver.ts +15 -29
  191. package/src/components/image/RLAImage.astro +20 -23
  192. package/src/components/image/image.theme.ts +29 -32
  193. package/src/components/input/RLAInput.astro +6 -21
  194. package/src/components/input/RLSInput.tsx +101 -0
  195. package/src/components/input/RLVInput.vue +11 -20
  196. package/src/components/input/input.theme.ts +41 -44
  197. package/src/components/input/input.ts +1 -1
  198. package/src/components/input-date/RLAInputDate.astro +9 -20
  199. package/src/components/input-date/input-date.theme.ts +9 -12
  200. package/src/components/input-menu/RLAInputMenu.astro +2 -12
  201. package/src/components/input-menu/input-menu.theme.ts +29 -32
  202. package/src/components/input-menu/input-menu.ts +1 -1
  203. package/src/components/input-number/RLAInputNumber.astro +9 -20
  204. package/src/components/input-number/input-number.theme.ts +9 -12
  205. package/src/components/input-pin/RLAInputPin.astro +9 -22
  206. package/src/components/input-pin/input-pin.theme.ts +9 -13
  207. package/src/components/input-rating/RLAInputRating.astro +2 -23
  208. package/src/components/input-rating/input-rating.theme.ts +64 -76
  209. package/src/components/input-rating/input-rating.ts +1 -1
  210. package/src/components/input-tags/RLAInputTags.astro +174 -21
  211. package/src/components/input-tags/input-tags.theme.ts +37 -12
  212. package/src/components/input-tags/input-tags.ts +50 -0
  213. package/src/components/input-time/RLAInputTime.astro +9 -20
  214. package/src/components/input-time/input-time.theme.ts +9 -12
  215. package/src/components/kbd/RLAKbd.astro +17 -32
  216. package/src/components/kbd/kbd.theme.ts +49 -91
  217. package/src/components/kbd/kbd.ts +3 -0
  218. package/src/components/knob/RLAKnob.astro +9 -20
  219. package/src/components/knob/knob.theme.ts +9 -12
  220. package/src/components/label/RLALabel.astro +16 -27
  221. package/src/components/label/label.theme.ts +16 -20
  222. package/src/components/layout-grid/RLALayoutGrid.astro +5 -11
  223. package/src/components/layout-grid/layout-grid.theme.ts +12 -15
  224. package/src/components/link/RLALink.astro +6 -20
  225. package/src/components/link/RLSLink.tsx +8 -16
  226. package/src/components/link/RLVLink.vue +7 -16
  227. package/src/components/link/link.theme.ts +37 -37
  228. package/src/components/link/link.ts +5 -5
  229. package/src/components/link-group/RLALinkGroup.astro +7 -44
  230. package/src/components/link-group/link-group.theme.ts +21 -26
  231. package/src/components/link-group/link-group.ts +5 -16
  232. package/src/components/listbox/RLAListbox.astro +9 -20
  233. package/src/components/listbox/listbox.theme.ts +9 -12
  234. package/src/components/locale-selector/RLALocaleSelector.astro +13 -21
  235. package/src/components/locale-selector/locale-selector.theme.ts +49 -44
  236. package/src/components/locale-selector/locale-selector.ts +4 -0
  237. package/src/components/logo/RLALogo.astro +13 -26
  238. package/src/components/logo/logo.theme.ts +9 -12
  239. package/src/components/main/RLAMain.astro +31 -36
  240. package/src/components/main/main.theme.ts +9 -12
  241. package/src/components/marquee/RLAMarquee.astro +62 -43
  242. package/src/components/marquee/marquee.theme.ts +22 -26
  243. package/src/components/meter/RLAMeter.astro +9 -20
  244. package/src/components/meter/meter.theme.ts +9 -12
  245. package/src/components/modal/RLAModal.astro +70 -72
  246. package/src/components/modal/RLSModal.tsx +156 -0
  247. package/src/components/modal/RLVModal.vue +5 -6
  248. package/src/components/modal/modal.theme.ts +42 -46
  249. package/src/components/modal/modal.ts +1 -0
  250. package/src/components/navigation-menu/RLANavigationMenu.astro +7 -12
  251. package/src/components/navigation-menu/navigation-menu.theme.ts +36 -39
  252. package/src/components/navigation-menu/navigation-menu.ts +19 -18
  253. package/src/components/page/RLAPage.astro +9 -20
  254. package/src/components/page/page.theme.ts +9 -12
  255. package/src/components/page-aside/RLAPageAside.astro +9 -20
  256. package/src/components/page-aside/page-aside.theme.ts +9 -12
  257. package/src/components/page-body/RLAPageBody.astro +9 -20
  258. package/src/components/page-body/page-body.theme.ts +9 -12
  259. package/src/components/page-header/RLAPageHeader.astro +9 -20
  260. package/src/components/page-header/page-header.theme.ts +9 -12
  261. package/src/components/page-section/RLAPageSection.astro +11 -15
  262. package/src/components/page-section/page-section.theme.ts +193 -176
  263. package/src/components/pagination/RLAPagination.astro +91 -97
  264. package/src/components/pagination/pagination.theme.ts +22 -26
  265. package/src/components/password/RLAPassword.astro +9 -20
  266. package/src/components/password/password.theme.ts +9 -12
  267. package/src/components/phone-mockup/RLAPhoneMockup.astro +9 -20
  268. package/src/components/phone-mockup/phone-mockup.theme.ts +9 -12
  269. package/src/components/placeholder/RLAPlaceholder.astro +32 -43
  270. package/src/components/placeholder/placeholder.theme.ts +11 -14
  271. package/src/components/popover/RLAPopover.astro +205 -132
  272. package/src/components/popover/popover.theme.ts +23 -27
  273. package/src/components/post/RLAPost.astro +2 -10
  274. package/src/components/post/post.theme.ts +45 -48
  275. package/src/components/pricing-plan/RLAPricingPlan.astro +9 -20
  276. package/src/components/pricing-plan/pricing-plan.theme.ts +9 -12
  277. package/src/components/pricing-table/RLAPricingTable.astro +9 -20
  278. package/src/components/pricing-table/pricing-table.theme.ts +9 -12
  279. package/src/components/progress/RLAProgress.astro +2 -17
  280. package/src/components/progress/progress.theme.ts +22 -34
  281. package/src/components/progress/progress.ts +1 -1
  282. package/src/components/prose/RLAProse.astro +9 -20
  283. package/src/components/prose/prose.theme.ts +9 -12
  284. package/src/components/qr-code/RLAQrCode.astro +9 -20
  285. package/src/components/qr-code/qr-code.theme.ts +9 -12
  286. package/src/components/quote/quote.theme.ts +9 -12
  287. package/src/components/radio-group/RLARadioGroup.astro +9 -20
  288. package/src/components/radio-group/radio-group.theme.ts +9 -12
  289. package/src/components/rating/RLARating.astro +9 -20
  290. package/src/components/rating/rating.theme.ts +9 -12
  291. package/src/components/scroll-area/RLAScrollArea.astro +2 -10
  292. package/src/components/scroll-area/scroll-area.theme.ts +21 -24
  293. package/src/components/scroll-to-top/RLAScrollToTop.astro +67 -43
  294. package/src/components/scroll-to-top/RLVScrollToTop.vue +6 -10
  295. package/src/components/scroll-to-top/scroll-to-top.theme.ts +32 -46
  296. package/src/components/scroll-to-top/scroll-to-top.ts +1 -1
  297. package/src/{utils → components/scroll-to-top}/scroll.ts +19 -6
  298. package/src/components/search/RLASearch.astro +3 -9
  299. package/src/components/search/search.theme.ts +60 -63
  300. package/src/components/select/RLASelect.astro +514 -113
  301. package/src/components/select/RLSSelect.tsx +126 -0
  302. package/src/components/select/RLVSelect.vue +7 -15
  303. package/src/components/select/select.theme.ts +104 -25
  304. package/src/components/select/select.ts +58 -36
  305. package/src/components/separator/RLASeparator.astro +62 -83
  306. package/src/components/separator/separator.theme.ts +135 -138
  307. package/src/components/separator/separator.ts +4 -0
  308. package/src/components/shortcuts/RLAShortcuts.astro +3 -4
  309. package/src/components/sidebar/RLASidebar.astro +11 -21
  310. package/src/components/sidebar/sidebar.theme.ts +39 -42
  311. package/src/components/sidebar/sidebar.ts +2 -0
  312. package/src/components/skeleton/RLASkeleton.astro +13 -22
  313. package/src/components/skeleton/skeleton.theme.ts +16 -19
  314. package/src/components/slideover/RLASlideover.astro +2 -12
  315. package/src/components/slideover/slideover.theme.ts +51 -55
  316. package/src/components/slider/RLASlider.astro +2 -15
  317. package/src/components/slider/slider.theme.ts +20 -33
  318. package/src/components/slider/slider.ts +1 -1
  319. package/src/components/speed-dial/RLASpeedDial.astro +9 -20
  320. package/src/components/speed-dial/speed-dial.theme.ts +9 -12
  321. package/src/components/spinner/RLASpinner.astro +2 -17
  322. package/src/components/spinner/spinner.theme.ts +29 -30
  323. package/src/components/spinner/spinner.ts +1 -1
  324. package/src/components/splitter/RLASplitter.astro +3 -11
  325. package/src/components/splitter/splitter.theme.ts +18 -21
  326. package/src/components/spoiler/RLASpoiler.astro +9 -20
  327. package/src/components/spoiler/spoiler.theme.ts +9 -12
  328. package/src/components/stepper/RLAStepper.astro +300 -21
  329. package/src/components/stepper/stepper.theme.ts +214 -12
  330. package/src/components/stepper/stepper.ts +23 -6
  331. package/src/components/steps/RLASteps.astro +2 -8
  332. package/src/components/steps/steps.theme.ts +9 -12
  333. package/src/components/sticky-surface/RLAStickySurface.astro +67 -38
  334. package/src/components/sticky-surface/sticky-surface.theme.ts +7 -11
  335. package/src/components/sticky-surface/sticky-surface.ts +1 -0
  336. package/src/components/surround/RLASurround.astro +5 -5
  337. package/src/components/switch/RLASwitch.astro +2 -18
  338. package/src/components/switch/switch.theme.ts +50 -61
  339. package/src/components/switch/switch.ts +1 -1
  340. package/src/components/table/RLATable.astro +566 -50
  341. package/src/components/table/table.theme.ts +112 -31
  342. package/src/components/table/table.ts +207 -6
  343. package/src/components/table-of-contents/RLATableOfContents.astro +8 -13
  344. package/src/components/table-of-contents/table-of-contents.theme.ts +60 -63
  345. package/src/components/tabs/RLATabs.astro +195 -51
  346. package/src/components/tabs/tabs.theme.ts +81 -84
  347. package/src/components/tabs/tabs.ts +18 -1
  348. package/src/components/textarea/RLATextarea.astro +16 -13
  349. package/src/components/textarea/RLSTextarea.tsx +69 -0
  350. package/src/components/textarea/RLVTextarea.vue +8 -16
  351. package/src/components/textarea/textarea.theme.ts +21 -24
  352. package/src/components/textarea/textarea.ts +2 -1
  353. package/src/components/theme-selector/RLAThemeSelector.astro +5 -13
  354. package/src/components/theme-selector/theme-selector.theme.ts +11 -14
  355. package/src/components/timeline/RLATimeline.astro +24 -44
  356. package/src/components/timeline/timeline.theme.ts +302 -307
  357. package/src/components/toast/RLAToast.astro +44 -18
  358. package/src/components/toast/store.ts +97 -0
  359. package/src/components/toast/toast.theme.ts +31 -34
  360. package/src/components/toast/toast.ts +1 -1
  361. package/src/components/toaster/RLAToaster.astro +76 -6
  362. package/src/components/tooltip/RLATooltip.astro +136 -33
  363. package/src/components/tooltip/tooltip.theme.ts +23 -26
  364. package/src/components/tour/RLATour.astro +9 -20
  365. package/src/components/tour/tour.theme.ts +9 -12
  366. package/src/components/tree/RLATree.astro +9 -20
  367. package/src/components/tree/tree.theme.ts +9 -12
  368. package/src/components/user/RLAUser.astro +9 -20
  369. package/src/components/user/user.theme.ts +9 -12
  370. package/src/components/video/RLAVideo.astro +5 -10
  371. package/src/components/video/video.theme.ts +13 -16
  372. package/src/components/watermark/RLAWatermark.astro +9 -20
  373. package/src/components/watermark/watermark.theme.ts +9 -12
  374. package/src/components/window-mockup/RLAWindowMockup.astro +9 -20
  375. package/src/components/window-mockup/window-mockup.theme.ts +9 -12
  376. package/src/icons.ts +68 -0
  377. package/src/index.ts +31 -0
  378. package/src/preset.ts +146 -0
  379. package/src/resolver.ts +20 -0
  380. package/src/shortcuts.ts +172 -0
  381. package/src/types.ts +57 -0
  382. package/LICENSE +0 -21
  383. package/src/components/head/RLAHead.astro +0 -528
  384. package/src/config/color.config.ts +0 -300
  385. package/src/config/site.config.ts +0 -28
  386. package/src/config/ui.config.ts +0 -89
  387. package/src/env.d.ts +0 -23
  388. package/src/icons/defaults.ts +0 -44
  389. package/src/presets/index.ts +0 -577
  390. package/src/stores/toast.ts +0 -24
  391. package/src/themes.ts +0 -26
  392. package/src/types/component.ts +0 -28
  393. package/src/ui.ts +0 -159
  394. package/src/utils/defineTheme.ts +0 -5
  395. package/src/utils/merge.ts +0 -62
  396. package/src/utils/resolveClasses.ts +0 -39
  397. package/src/utils/resolveTheme.ts +0 -13
  398. package/src/utils/shortcuts.ts +0 -322
  399. package/src/utils/toast.ts +0 -36
  400. package/src/utils/useUi.ts +0 -33
@@ -1,9 +1,6 @@
1
1
  ---
2
- import { scv } from "css-variants"
3
- import { useUi } from "../../utils/useUi"
4
- import { resolveClasses } from "../../utils/resolveClasses"
5
2
  import type { LinkGroupProps } from "./link-group"
6
- import linkGroupTheme from "./link-group.theme"
3
+ import { linkGroupTheme } from "./link-group.theme"
7
4
 
8
5
  import RLALink from "../link/RLALink.astro"
9
6
 
@@ -11,54 +8,20 @@ import RLALink from "../link/RLALink.astro"
11
8
  import RLAIcon from "../icon/RLAIcon.astro"
12
9
 
13
10
 
14
- const linkGroup = scv(linkGroupTheme)
15
11
 
16
12
  const {
17
- title,
18
- label,
19
- leadingIcon,
20
- trailingIcon,
21
- href,
13
+ label: headingLabel,
14
+ leadingIcon: headingLeadingIcon,
15
+ trailingIcon: headingTrailingIcon,
16
+ href: headingHref,
22
17
  links = [],
23
18
  theme,
24
- ui: uiProp,
25
- class: className,
26
19
  ...rest
27
20
  } = Astro.props as LinkGroupProps
28
21
 
29
- const classes = resolveClasses(linkGroup, { theme }, useUi("linkGroup", uiProp), className);
30
-
31
- const headingLabel = label || (typeof title === "object" ? title.label : (typeof title === "string" ? title : undefined));
32
- const headingLeadingIcon = leadingIcon || (typeof title === "object" ? title.leadingIcon : undefined);
33
- const headingTrailingIcon = trailingIcon || (typeof title === "object" ? title.trailingIcon : undefined);
34
- const headingHref = href || (typeof title === "object" ? title.href : undefined);
35
-
36
- if (label && typeof title === "string") {
37
- rest.title = title;
38
- }
22
+ const classes = linkGroupTheme(Astro.props);
39
23
 
40
24
  const normalizedLinks = Array.isArray(links) ? links : [links];
41
-
42
- const isPinnedDark = theme === "dark";
43
- const overrideLinkClass = classes.link
44
- ? classes.link
45
- .split(" ")
46
- .map(cls => {
47
- if (!cls) return "";
48
- if (cls.includes(":")) {
49
- const parts = cls.split(":");
50
- const state = parts.slice(0, -1).join(":");
51
- const baseCls = parts[parts.length - 1];
52
- return `${state}:!${baseCls}`;
53
- }
54
- if (cls.startsWith("text-") && !isPinnedDark) {
55
- return cls;
56
- }
57
- return `!${cls}`;
58
- })
59
- .filter(Boolean)
60
- .join(" ")
61
- : "";
62
25
  ---
63
26
  <div class={classes.root} data-slot="root" {...rest}>
64
27
  {headingLabel && (
@@ -85,7 +48,7 @@ const overrideLinkClass = classes.link
85
48
  <li class={classes.item} data-slot="item">
86
49
  <RLALink
87
50
  theme={link.theme ?? theme}
88
- class:list={[overrideLinkClass, "w-full !justify-start"]}
51
+ class:list={[classes.link, "w-full !justify-start"]}
89
52
  data-slot="link"
90
53
  {...link}
91
54
  />
@@ -1,28 +1,23 @@
1
- import { defineTheme } from "../../utils/defineTheme"
1
+ import { defineTheme } from "../../resolver"
2
2
 
3
- export const createLinkGroupTheme = () =>
4
- defineTheme({
5
- slots: ["root", "title", "list", "item", "link"],
6
- base: {
7
- root: "flex flex-col gap-4",
8
- title: "font-bold text-sm uppercase tracking-wider text-neutral-500",
9
- list: "flex flex-col gap-2",
10
- item: "",
11
- link: "text-sm text-muted-foreground hover:text-accent-foreground transition-colors"
12
- },
13
- variants: {
14
- theme: {
15
- dark: {
16
- link: "text-white hover:text-accent-foreground",
17
- title: "text-white"
18
- },
19
- light: {
20
- link: "text-foreground hover:text-accent-foreground",
21
- title: "text-foreground"
22
- }
3
+ export const linkGroupTheme = defineTheme("link-group", {
4
+ slots: ["root", "title", "list", "item", "link"],
5
+ base: {
6
+ root: "flex flex-col gap-4",
7
+ title: "font-bold text-sm uppercase tracking-wider text-dimmed",
8
+ list: "flex flex-col gap-2",
9
+ item: "",
10
+ link: "text-sm text-muted hover:text-highlighted transition-colors"
11
+ },
12
+ variants: {
13
+ theme: {
14
+ dark: {
15
+ root: "rl-dark"
16
+ },
17
+ light: {
18
+ root: "rl-light"
23
19
  }
24
- },
25
- defaultVariants: {}
26
- })
27
-
28
- export default createLinkGroupTheme()
20
+ }
21
+ },
22
+ defaultVariants: {}
23
+ })
@@ -4,34 +4,23 @@ export interface LinkGroupProps {
4
4
  /**
5
5
  * The direct text label of the group heading.
6
6
  */
7
- label?: string
8
- /**
9
- * @deprecated Use `label` instead to avoid conflicts with native HTML tooltip attribute.
10
- */
11
- title?:
12
- | string
13
- | {
14
- label: string
15
- leadingIcon?: string
16
- trailingIcon?: string
17
- href?: string
18
- }
7
+ label?: string | undefined
19
8
  /**
20
9
  * Leading icon of the group heading.
21
10
  */
22
- leadingIcon?: string
11
+ leadingIcon?: string | undefined
23
12
  /**
24
13
  * Trailing icon of the group heading.
25
14
  */
26
- trailingIcon?: string
15
+ trailingIcon?: string | undefined
27
16
  /**
28
17
  * Hyperlink target URL for the group heading.
29
18
  */
30
- href?: string
19
+ href?: string | undefined
31
20
  /**
32
21
  * The links in the group. Supports full button/link properties.
33
22
  */
34
- links?: LinkProps | LinkProps[]
23
+ links?: LinkProps | LinkProps[] | undefined
35
24
  /**
36
25
  * Slot-specific CSS class overrides.
37
26
  */
@@ -1,21 +1,10 @@
1
- ---
2
- import { scv } from "css-variants"
3
- import { useUi } from "../../utils/useUi"
4
- import { resolveClasses } from "../../utils/resolveClasses"
5
- import type { ListboxProps } from "./listbox"
6
- import listboxTheme from "./listbox.theme"
7
-
8
-
9
- const listbox = scv(listboxTheme)
10
-
11
- const {
12
- ui: uiProp,
13
- class: className,
14
- ...rest
15
- } = Astro.props as ListboxProps
16
-
17
- const classes = resolveClasses(listbox, {}, useUi("listbox", uiProp), className);
18
- ---
19
- <div class={classes.root} data-slot="root" {...rest}>
20
- <slot />
1
+ ---
2
+ import { listboxTheme } from "./listbox.theme"
3
+
4
+
5
+
6
+ const classes = listboxTheme(Astro.props)
7
+ ---
8
+ <div class={classes.root} data-slot="root" {...Astro.props}>
9
+ <slot />
21
10
  </div>
@@ -1,13 +1,10 @@
1
- import { defineTheme } from "../../utils/defineTheme"
1
+ import { defineTheme } from "../../resolver"
2
2
 
3
- export const createListboxTheme = () =>
4
- defineTheme({
5
- slots: ["root"],
6
- base: {
7
- root: ""
8
- },
9
- variants: {},
10
- defaultVariants: {}
11
- })
12
-
13
- export default createListboxTheme()
3
+ export const listboxTheme = defineTheme("listbox", {
4
+ slots: ["root"],
5
+ base: {
6
+ root: ""
7
+ },
8
+ variants: {},
9
+ defaultVariants: {}
10
+ })
@@ -1,29 +1,20 @@
1
1
  ---
2
- import { scv } from "css-variants"
3
- import { useUi } from "../../utils/useUi"
4
- import { resolveClasses } from "../../utils/resolveClasses"
5
2
  import type { LocaleSelectorProps } from "./locale-selector"
6
- import localeSelectorTheme from "./locale-selector.theme"
3
+ import { localeSelectorTheme } from "./locale-selector.theme"
7
4
  import { getRelativeLocaleUrlList, getRelativeLocaleUrl } from "astro:i18n"
8
5
  import RLASelect from "../select/RLASelect.astro"
9
6
 
10
7
 
11
- const localeSelector = scv(localeSelectorTheme)
12
8
 
13
9
  const {
14
- locales,
15
- currentLocale: currentLocaleProp,
16
- variant = "default",
17
- size = "md",
18
- ui: uiProp,
19
- class: className,
20
- ...rest
10
+ locales,
11
+ currentLocale: currentLocaleProp,
12
+ size = "md",
13
+ theme,
14
+ ...rest
21
15
  } = Astro.props as LocaleSelectorProps;
22
16
 
23
- const classes = resolveClasses(localeSelector, {
24
- variant,
25
- size
26
- }, useUi("localeSelector", uiProp), className);
17
+ const classes = localeSelectorTheme(Astro.props);
27
18
 
28
19
  // Resolve the active locale: explicit prop → Astro.currentLocale → 'en'
29
20
  const currentLocale = currentLocaleProp ?? Astro.currentLocale ?? 'en';
@@ -94,11 +85,11 @@ const overrideTriggerClass = classes.select
94
85
  const gapClass = size === "sm" ? "gap-1.5" : size === "lg" ? "gap-3" : "gap-2";
95
86
 
96
87
  const selectUi = {
97
- root: "!w-fit !inline-flex",
98
- trigger: `flex items-center justify-between !w-fit ${gapClass} ${overrideTriggerClass}`,
99
- content: "!min-w-0 !w-full !bg-[var(--popover)] !border-[var(--border)] !text-[var(--popover-foreground)]",
100
- item: "!text-[var(--foreground)] hover:!bg-[var(--accent)] hover:!text-[var(--accent-foreground)]"
101
- };
88
+ root: "!w-fit !inline-flex",
89
+ trigger: `flex items-center justify-between !w-fit ${gapClass} ${overrideTriggerClass}`,
90
+ content: "!min-w-0 !w-full !bg-default !border-default !text-default",
91
+ item: "!text-default hover:!bg-muted hover:!text-highlighted"
92
+ }
102
93
  ---
103
94
 
104
95
  <rla-locale-selector {...rest}>
@@ -114,6 +105,7 @@ const selectUi = {
114
105
  items={items}
115
106
  value={currentLocaleUrl}
116
107
  size={size}
108
+ theme={theme}
117
109
  ui={selectUi}
118
110
  />
119
111
  </div>
@@ -1,49 +1,54 @@
1
- import { defineTheme } from "../../utils/defineTheme"
2
- export const createLocaleSelectorTheme = () =>
3
- defineTheme({
4
- slots: ["root", "label", "wrapper", "select", "option", "iconWrapper"],
5
- base: {
6
- root: "inline-flex flex-col gap-1.5",
7
- label: "text-xs font-semibold text-muted select-none",
8
- wrapper: "relative inline-block",
9
- select:
10
- "w-full appearance-none font-medium rounded-lg transition-all focus:outline-none focus:ring-2 focus:ring-emerald-500/40 cursor-pointer pr-10",
11
- option: "bg-neutral-900 text-white selection:bg-neutral-800",
12
- iconWrapper:
13
- "pointer-events-none absolute inset-y-0 right-0 flex items-center pr-3 text-current group-hover:text-default"
1
+ import { defineTheme } from "../../resolver"
2
+
3
+ export const localeSelectorTheme = defineTheme("locale-selector", {
4
+ slots: ["root", "label", "wrapper", "select", "option", "iconWrapper"],
5
+ base: {
6
+ root: "inline-flex flex-col gap-1.5",
7
+ label: "text-xs font-semibold text-muted select-none",
8
+ wrapper: "relative inline-block",
9
+ select:
10
+ "w-full appearance-none font-medium rounded-lg transition-all focus:outline-none focus:ring-2 focus:ring-emerald-500/40 cursor-pointer pr-10",
11
+ option: "bg-default text-default",
12
+ iconWrapper:
13
+ "pointer-events-none absolute inset-y-0 right-0 flex items-center pr-3 text-current group-hover:text-default"
14
+ },
15
+ variants: {
16
+ theme: {
17
+ dark: {
18
+ root: "rl-dark"
19
+ },
20
+ light: {
21
+ root: "rl-light"
22
+ }
14
23
  },
15
- variants: {
16
- variant: {
17
- default: {
18
- select: "bg-gray-100 text-gray-800 hover:bg-gray-200 border border-transparent"
19
- },
20
- outline: {
21
- select:
22
- "bg-transparent border border-neutral-800 text-white hover:bg-neutral-900 hover:border-neutral-700"
23
- },
24
- ghost: {
25
- select: "bg-transparent border border-transparent text-white hover:bg-neutral-900"
26
- }
24
+ variant: {
25
+ default: {
26
+ select: "bg-default text-default hover:bg-accent/50 border border-default"
27
+ },
28
+ outline: {
29
+ select: "bg-transparent border border-default text-default hover:bg-accent/50"
27
30
  },
28
- size: {
29
- sm: {
30
- label: "text-xxs",
31
- select: "text-xs px-3 py-1.5 pr-8"
32
- },
33
- md: {
34
- label: "text-xs",
35
- select: "text-sm px-4 py-2 pr-9"
36
- },
37
- lg: {
38
- label: "text-sm",
39
- select: "text-base px-5 py-2.5 pr-10"
40
- }
31
+ ghost: {
32
+ select: "bg-transparent border border-transparent text-default hover:bg-accent/50"
41
33
  }
42
34
  },
43
- defaultVariants: {
44
- variant: "default",
45
- size: "md"
35
+ size: {
36
+ sm: {
37
+ label: "text-xxs",
38
+ select: "text-xs px-3 py-1.5 pr-8"
39
+ },
40
+ md: {
41
+ label: "text-xs",
42
+ select: "text-sm px-4 py-2 pr-9"
43
+ },
44
+ lg: {
45
+ label: "text-sm",
46
+ select: "text-base px-5 py-2.5 pr-10"
47
+ }
46
48
  }
47
- })
48
-
49
- export default createLocaleSelectorTheme()
49
+ },
50
+ defaultVariants: {
51
+ variant: "default",
52
+ size: "md"
53
+ }
54
+ })
@@ -47,6 +47,10 @@ export interface LocaleSelectorProps {
47
47
  * @default "md"
48
48
  */
49
49
  size?: "sm" | "md" | "lg"
50
+ /**
51
+ * The color theme mode override for this component.
52
+ */
53
+ theme?: "light" | "dark"
50
54
  /**
51
55
  * Slot-specific CSS class overrides.
52
56
  */
@@ -1,22 +1,14 @@
1
1
  ---
2
- import { scv } from "css-variants"
3
- import { useUi } from "../../utils/useUi"
4
- import { resolveClasses } from "../../utils/resolveClasses"
5
2
  import type { LogoProps } from "./logo"
6
- import logoTheme from "./logo.theme"
7
- import { getUIConfig } from "virtual:rimelight-ui"
3
+ import { logoTheme } from "./logo.theme"
4
+ import { uiConfig } from "../../resolver"
8
5
 
9
6
 
10
- const logo = scv(logoTheme)
11
-
12
7
  const {
13
8
  variant = "logomark",
14
9
  mode,
15
- theme,
16
10
  href = "/",
17
11
  alt,
18
- ui: uiProp,
19
- class: className,
20
12
  ...rest
21
13
  } = Astro.props as LogoProps;
22
14
 
@@ -34,10 +26,7 @@ if (href === "/") {
34
26
  }
35
27
  }
36
28
 
37
- const classes = resolveClasses(logo, {}, useUi("logo", uiProp), className);
38
-
39
- const globalConfig = getUIConfig();
40
- const rcLogos = globalConfig.logos as Record<string, any>;
29
+ const classes = logoTheme(Astro.props);
41
30
 
42
31
  let logoSrc: string | null = null;
43
32
  let darkSrc: string | null = null;
@@ -60,19 +49,17 @@ function resolveLogo(pathStr: string | null | undefined): any {
60
49
  return pathStr;
61
50
  }
62
51
 
63
- if (rcLogos && typeof rcLogos === "object") {
64
- let src = rcLogos[variant];
65
- if (src && typeof src === "object") {
66
- if (mode) {
67
- logoSrc = resolveLogo(src[mode] || src.color);
68
- } else {
69
- logoSrc = resolveLogo(src.color || src.black || src.white);
70
- darkSrc = resolveLogo(src.white || src.color);
71
- lightSrc = resolveLogo(src.black || src.color);
72
- }
73
- } else if (typeof src === "string") {
74
- logoSrc = resolveLogo(src);
52
+ const logoVariant = uiConfig.logos?.[variant];
53
+ if (logoVariant && typeof logoVariant === "object") {
54
+ if (mode) {
55
+ logoSrc = resolveLogo(logoVariant[mode] || logoVariant.color);
56
+ } else {
57
+ logoSrc = resolveLogo(logoVariant.color || logoVariant.black || logoVariant.white);
58
+ darkSrc = resolveLogo(logoVariant.white || logoVariant.color);
59
+ lightSrc = resolveLogo(logoVariant.black || logoVariant.color);
75
60
  }
61
+ } else if (typeof logoVariant === "string") {
62
+ logoSrc = resolveLogo(logoVariant);
76
63
  }
77
64
 
78
65
  const startsWithUrlPrefix = logoSrc && (logoSrc.startsWith("http") || logoSrc.startsWith("/") || logoSrc.startsWith("."));
@@ -1,13 +1,10 @@
1
- import { defineTheme } from "../../utils/defineTheme"
1
+ import { defineTheme } from "../../resolver"
2
2
 
3
- export const createLogoTheme = () =>
4
- defineTheme({
5
- slots: ["root"],
6
- base: {
7
- root: "flex items-center justify-center transition-opacity hover:opacity-80 shrink-0 select-none overflow-hidden"
8
- },
9
- variants: {},
10
- defaultVariants: {}
11
- })
12
-
13
- export default createLogoTheme()
3
+ export const logoTheme = defineTheme("logo", {
4
+ slots: ["root"],
5
+ base: {
6
+ root: "flex items-center justify-center transition-opacity hover:opacity-80 shrink-0 select-none overflow-hidden"
7
+ },
8
+ variants: {},
9
+ defaultVariants: {}
10
+ })
@@ -1,37 +1,32 @@
1
- ---
2
- import { scv } from "css-variants"
3
- import { useUi } from "../../utils/useUi"
4
- import { resolveClasses } from "../../utils/resolveClasses"
5
- import type { MainProps } from "./main"
6
- import mainTheme from "./main.theme"
7
-
8
-
9
- const main = scv(mainTheme)
10
-
11
- const {
12
- as = "main",
13
- ui: uiProp,
14
- class: className,
15
- ...rest
16
- } = Astro.props as MainProps;
17
-
18
- const classes = resolveClasses(main, {
19
- hasContent: Astro.slots.has("default")
20
- }, useUi("main", uiProp), className);
21
-
22
- const Tag = as;
23
- ---
24
-
25
- <Tag
26
- class:list={[classes.root, "rla-main-container"]}
27
- data-slot="main"
28
- {...rest}
29
- >
30
- <slot />
31
- </Tag>
32
-
33
- <style>
34
- .rla-main-container {
35
- padding-top: var(--rl-total-header-height, 4rem);
36
- }
1
+ ---
2
+ import type { MainProps } from "./main"
3
+ import { mainTheme } from "./main.theme"
4
+
5
+
6
+
7
+ const {
8
+ as = "main",
9
+ ...rest
10
+ } = Astro.props as MainProps;
11
+
12
+ const classes = mainTheme({
13
+ ...Astro.props,
14
+ hasContent: Astro.slots.has("default")
15
+ });
16
+
17
+ const Tag = as;
18
+ ---
19
+
20
+ <Tag
21
+ class:list={[classes.root, "rla-main-container"]}
22
+ data-slot="main"
23
+ {...rest}
24
+ >
25
+ <slot />
26
+ </Tag>
27
+
28
+ <style>
29
+ .rla-main-container {
30
+ padding-top: var(--rl-total-header-height, 4rem);
31
+ }
37
32
  </style>
@@ -1,13 +1,10 @@
1
- import { defineTheme } from "../../utils/defineTheme"
1
+ import { defineTheme } from "../../resolver"
2
2
 
3
- export const createMainTheme = () =>
4
- defineTheme({
5
- slots: ["root"],
6
- base: {
7
- root: "min-h-[calc(100vh-var(--ui-header-height))]"
8
- },
9
- variants: {},
10
- defaultVariants: {}
11
- })
12
-
13
- export default createMainTheme()
3
+ export const mainTheme = defineTheme("main", {
4
+ slots: ["root"],
5
+ base: {
6
+ root: "min-h-[calc(100vh-var(--rl-header-height))]"
7
+ },
8
+ variants: {},
9
+ defaultVariants: {}
10
+ })