@rimelight/ui 0.0.42 → 0.0.44

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 (434) hide show
  1. package/README.md +18 -26
  2. package/package.json +24 -37
  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 +11 -39
  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 +24 -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 +114 -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 +13 -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 +159 -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 +11 -18
  39. package/src/components/callout/callout.theme.ts +55 -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 +45 -13
  46. package/src/components/carousel/carousel.theme.ts +28 -32
  47. package/src/components/chart/RLAChart.astro +6 -12
  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 +3 -17
  69. package/src/components/checkbox/RLSCheckbox.tsx +65 -0
  70. package/src/components/checkbox/checkbox.theme.ts +31 -46
  71. package/src/components/checkbox/checkbox.ts +1 -1
  72. package/src/components/chip/RLAChip.astro +33 -56
  73. package/src/components/chip/chip.theme.ts +62 -72
  74. package/src/components/chip/chip.ts +3 -1
  75. package/src/components/collapsible/RLACollapsible.astro +3 -13
  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 +3 -13
  79. package/src/components/color-area/color-area.theme.ts +16 -32
  80. package/src/components/color-area/color-area.ts +1 -1
  81. package/src/components/color-field/RLAColorField.astro +4 -14
  82. package/src/components/color-field/color-field.theme.ts +15 -31
  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 +3 -13
  87. package/src/components/color-slider/color-slider.theme.ts +17 -33
  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 +15 -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 -12
  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 +122 -21
  119. package/src/components/dashboard-sidebar/dashboard-sidebar.theme.ts +41 -11
  120. package/src/components/dashboard-sidebar/dashboard-sidebar.ts +8 -6
  121. package/src/components/dashboard-sidebar-collapse/RLADashboardSidebarCollapse.astro +25 -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/editor.theme.ts +9 -12
  140. package/src/components/empty/RLAEmpty.astro +86 -20
  141. package/src/components/empty/empty.theme.ts +79 -11
  142. package/src/components/empty/empty.ts +59 -2
  143. package/src/components/error/RLAError.astro +9 -20
  144. package/src/components/error/error.theme.ts +9 -12
  145. package/src/components/field-group/RLAFieldGroup.astro +2 -11
  146. package/src/components/field-group/field-group.theme.ts +18 -22
  147. package/src/components/fieldset/RLAFieldset.astro +9 -20
  148. package/src/components/fieldset/fieldset.theme.ts +9 -12
  149. package/src/components/file-upload/RLAFileUpload.astro +4 -13
  150. package/src/components/file-upload/file-upload.theme.ts +19 -22
  151. package/src/components/file-upload/file-upload.ts +1 -1
  152. package/src/components/floating-action/RLAFloatingAction.astro +9 -20
  153. package/src/components/floating-action/floating-action.theme.ts +9 -12
  154. package/src/components/footer/RLAFooter.astro +34 -38
  155. package/src/components/footer/footer.theme.ts +24 -27
  156. package/src/components/footer/footer.ts +4 -0
  157. package/src/components/form/RLAForm.astro +9 -20
  158. package/src/components/form/form.theme.ts +9 -12
  159. package/src/components/form-field/RLAFormField.astro +5 -12
  160. package/src/components/form-field/RLSFormField.tsx +71 -0
  161. package/src/components/form-field/RLVFormField.vue +5 -14
  162. package/src/components/form-field/form-field.theme.ts +19 -22
  163. package/src/components/form-field/form-field.ts +1 -0
  164. package/src/components/gallery/RLAGallery.astro +9 -20
  165. package/src/components/gallery/gallery.theme.ts +9 -12
  166. package/src/components/gamepad/RLAGamepad.astro +1 -1
  167. package/src/components/grid/RLAGrid.astro +2 -15
  168. package/src/components/grid/grid.theme.ts +31 -34
  169. package/src/components/head/UIHead.astro +297 -0
  170. package/src/components/head/head.theme.ts +9 -12
  171. package/src/components/header/HeaderLayer.astro +63 -0
  172. package/src/components/header/RLAHeader.astro +29 -48
  173. package/src/components/header/header.theme.ts +37 -40
  174. package/src/components/header/header.ts +4 -0
  175. package/src/{utils → components/header}/headerStack.ts +30 -22
  176. package/src/components/hover-card/RLAHoverCard.astro +24 -35
  177. package/src/components/hover-card/hover-card.theme.ts +23 -27
  178. package/src/components/icon/RLAIcon.astro +26 -36
  179. package/src/components/icon/RLSIcon.tsx +8 -9
  180. package/src/components/icon/RLVIcon.vue +23 -12
  181. package/src/components/icon/icon.theme.ts +18 -28
  182. package/src/components/image/RLAImage.astro +20 -23
  183. package/src/components/image/image.theme.ts +29 -32
  184. package/src/components/input/RLAInput.astro +7 -21
  185. package/src/components/input/RLSInput.tsx +101 -0
  186. package/src/components/input/RLVInput.vue +11 -20
  187. package/src/components/input/input.theme.ts +37 -44
  188. package/src/components/input/input.ts +1 -1
  189. package/src/components/input-date/RLAInputDate.astro +9 -20
  190. package/src/components/input-date/input-date.theme.ts +9 -12
  191. package/src/components/input-menu/RLAInputMenu.astro +4 -14
  192. package/src/components/input-menu/input-menu.theme.ts +29 -32
  193. package/src/components/input-menu/input-menu.ts +1 -1
  194. package/src/components/input-number/RLAInputNumber.astro +9 -20
  195. package/src/components/input-number/input-number.theme.ts +9 -12
  196. package/src/components/input-pin/RLAInputPin.astro +9 -22
  197. package/src/components/input-pin/input-pin.theme.ts +9 -13
  198. package/src/components/input-rating/RLAInputRating.astro +2 -23
  199. package/src/components/input-rating/input-rating.theme.ts +64 -76
  200. package/src/components/input-rating/input-rating.ts +1 -1
  201. package/src/components/input-tags/RLAInputTags.astro +174 -21
  202. package/src/components/input-tags/input-tags.theme.ts +37 -12
  203. package/src/components/input-tags/input-tags.ts +50 -0
  204. package/src/components/input-time/RLAInputTime.astro +9 -20
  205. package/src/components/input-time/input-time.theme.ts +9 -12
  206. package/src/components/kbd/RLAKbd.astro +18 -32
  207. package/src/components/kbd/kbd.theme.ts +45 -91
  208. package/src/components/kbd/kbd.ts +3 -0
  209. package/src/components/keyboard/RLAKeyboard.astro +1 -1
  210. package/src/components/knob/RLAKnob.astro +9 -20
  211. package/src/components/knob/knob.theme.ts +9 -12
  212. package/src/components/label/RLALabel.astro +16 -27
  213. package/src/components/label/label.theme.ts +16 -20
  214. package/src/components/layout-grid/RLALayoutGrid.astro +5 -11
  215. package/src/components/layout-grid/layout-grid.theme.ts +12 -15
  216. package/src/components/link/RLALink.astro +7 -20
  217. package/src/components/link/RLSLink.tsx +8 -16
  218. package/src/components/link/RLVLink.vue +7 -16
  219. package/src/components/link/link.theme.ts +33 -37
  220. package/src/components/link/link.ts +5 -5
  221. package/src/components/link-group/RLALinkGroup.astro +8 -45
  222. package/src/components/link-group/link-group.theme.ts +13 -27
  223. package/src/components/link-group/link-group.ts +5 -16
  224. package/src/components/listbox/RLAListbox.astro +9 -20
  225. package/src/components/listbox/listbox.theme.ts +9 -12
  226. package/src/components/locale-selector/RLALocaleSelector.astro +12 -52
  227. package/src/components/locale-selector/locale-selector.theme.ts +42 -45
  228. package/src/components/locale-selector/locale-selector.ts +4 -0
  229. package/src/components/logo/RLALogo.astro +13 -27
  230. package/src/components/logo/logo.theme.ts +9 -12
  231. package/src/components/main/RLAMain.astro +31 -36
  232. package/src/components/main/main.theme.ts +9 -12
  233. package/src/components/marquee/RLAMarquee.astro +62 -43
  234. package/src/components/marquee/marquee.theme.ts +22 -26
  235. package/src/components/meter/RLAMeter.astro +9 -20
  236. package/src/components/meter/meter.theme.ts +9 -12
  237. package/src/components/modal/RLAModal.astro +71 -73
  238. package/src/components/modal/RLSModal.tsx +156 -0
  239. package/src/components/modal/RLVModal.vue +5 -6
  240. package/src/components/modal/modal.theme.ts +42 -46
  241. package/src/components/modal/modal.ts +1 -0
  242. package/src/components/navigation-menu/RLANavigationMenu.astro +22 -31
  243. package/src/components/navigation-menu/navigation-menu.theme.ts +33 -40
  244. package/src/components/navigation-menu/navigation-menu.ts +19 -18
  245. package/src/components/page/RLAPage.astro +9 -20
  246. package/src/components/page/page.theme.ts +9 -12
  247. package/src/components/page-aside/RLAPageAside.astro +9 -20
  248. package/src/components/page-aside/page-aside.theme.ts +9 -12
  249. package/src/components/page-body/RLAPageBody.astro +9 -20
  250. package/src/components/page-body/page-body.theme.ts +9 -12
  251. package/src/components/page-header/RLAPageHeader.astro +9 -20
  252. package/src/components/page-header/page-header.theme.ts +9 -12
  253. package/src/components/page-section/RLAPageSection.astro +11 -15
  254. package/src/components/page-section/page-section.theme.ts +193 -176
  255. package/src/components/pagination/RLAPagination.astro +91 -97
  256. package/src/components/pagination/pagination.theme.ts +22 -26
  257. package/src/components/password/RLAPassword.astro +9 -20
  258. package/src/components/password/password.theme.ts +9 -12
  259. package/src/components/phone-mockup/RLAPhoneMockup.astro +9 -20
  260. package/src/components/phone-mockup/phone-mockup.theme.ts +9 -12
  261. package/src/components/placeholder/RLAPlaceholder.astro +32 -43
  262. package/src/components/placeholder/placeholder.theme.ts +11 -14
  263. package/src/components/popover/RLAPopover.astro +241 -129
  264. package/src/components/popover/popover.theme.ts +23 -27
  265. package/src/components/post/RLAPost.astro +2 -10
  266. package/src/components/post/post.theme.ts +45 -48
  267. package/src/components/pricing-plan/RLAPricingPlan.astro +9 -20
  268. package/src/components/pricing-plan/pricing-plan.theme.ts +9 -12
  269. package/src/components/pricing-table/RLAPricingTable.astro +9 -20
  270. package/src/components/pricing-table/pricing-table.theme.ts +9 -12
  271. package/src/components/progress/RLAProgress.astro +3 -16
  272. package/src/components/progress/progress.theme.ts +19 -35
  273. package/src/components/progress/progress.ts +1 -1
  274. package/src/components/prose/RLAProse.astro +9 -20
  275. package/src/components/prose/prose.theme.ts +9 -12
  276. package/src/components/qr-code/RLAQrCode.astro +9 -20
  277. package/src/components/qr-code/qr-code.theme.ts +9 -12
  278. package/src/components/quote/quote.theme.ts +9 -12
  279. package/src/components/radio-group/RLARadioGroup.astro +9 -20
  280. package/src/components/radio-group/radio-group.theme.ts +9 -12
  281. package/src/components/rating/RLARating.astro +9 -20
  282. package/src/components/rating/rating.theme.ts +9 -12
  283. package/src/components/scroll-area/RLAScrollArea.astro +2 -10
  284. package/src/components/scroll-area/scroll-area.theme.ts +21 -24
  285. package/src/components/scroll-to-top/RLAScrollToTop.astro +70 -45
  286. package/src/components/scroll-to-top/RLVScrollToTop.vue +13 -17
  287. package/src/components/scroll-to-top/scroll-to-top.theme.ts +28 -46
  288. package/src/components/scroll-to-top/scroll-to-top.ts +1 -1
  289. package/src/{utils → components/scroll-to-top}/scroll.ts +19 -6
  290. package/src/components/search/RLASearch.astro +6 -12
  291. package/src/components/search/search.theme.ts +60 -63
  292. package/src/components/select/RLASelect.astro +101 -132
  293. package/src/components/select/RLSSelect.tsx +180 -0
  294. package/src/components/select/RLVSelect.vue +64 -15
  295. package/src/components/select/select.theme.ts +21 -27
  296. package/src/components/select/select.ts +58 -36
  297. package/src/components/separator/RLASeparator.astro +62 -83
  298. package/src/components/separator/separator.theme.ts +135 -138
  299. package/src/components/separator/separator.ts +4 -0
  300. package/src/components/shortcuts/RLAShortcuts.astro +11 -12
  301. package/src/components/sidebar/RLASidebar.astro +14 -24
  302. package/src/components/sidebar/sidebar.theme.ts +39 -42
  303. package/src/components/sidebar/sidebar.ts +2 -0
  304. package/src/components/skeleton/RLASkeleton.astro +13 -22
  305. package/src/components/skeleton/skeleton.theme.ts +16 -19
  306. package/src/components/slideover/RLASlideover.astro +3 -13
  307. package/src/components/slideover/slideover.theme.ts +51 -55
  308. package/src/components/slider/RLASlider.astro +3 -15
  309. package/src/components/slider/slider.theme.ts +17 -34
  310. package/src/components/slider/slider.ts +1 -1
  311. package/src/components/speed-dial/RLASpeedDial.astro +9 -20
  312. package/src/components/speed-dial/speed-dial.theme.ts +9 -12
  313. package/src/components/spinner/RLASpinner.astro +3 -17
  314. package/src/components/spinner/spinner.theme.ts +25 -30
  315. package/src/components/spinner/spinner.ts +1 -1
  316. package/src/components/splitter/RLASplitter.astro +3 -11
  317. package/src/components/splitter/splitter.theme.ts +18 -21
  318. package/src/components/spoiler/RLASpoiler.astro +9 -20
  319. package/src/components/spoiler/spoiler.theme.ts +9 -12
  320. package/src/components/stepper/RLAStepper.astro +300 -21
  321. package/src/components/stepper/stepper.theme.ts +213 -12
  322. package/src/components/stepper/stepper.ts +23 -6
  323. package/src/components/steps/RLASteps.astro +5 -11
  324. package/src/components/steps/steps.theme.ts +9 -12
  325. package/src/components/sticky-surface/RLAStickySurface.astro +67 -38
  326. package/src/components/sticky-surface/sticky-surface.theme.ts +7 -11
  327. package/src/components/sticky-surface/sticky-surface.ts +1 -0
  328. package/src/components/surround/RLASurround.astro +5 -5
  329. package/src/components/switch/RLASwitch.astro +3 -18
  330. package/src/components/switch/switch.theme.ts +46 -61
  331. package/src/components/switch/switch.ts +1 -1
  332. package/src/components/table/RLATable.astro +566 -50
  333. package/src/components/table/table.theme.ts +112 -31
  334. package/src/components/table/table.ts +207 -6
  335. package/src/components/table-of-contents/RLATableOfContents.astro +12 -17
  336. package/src/components/table-of-contents/table-of-contents.theme.ts +60 -63
  337. package/src/components/tabs/RLATabs.astro +195 -51
  338. package/src/components/tabs/tabs.theme.ts +81 -84
  339. package/src/components/tabs/tabs.ts +18 -1
  340. package/src/components/textarea/RLATextarea.astro +16 -13
  341. package/src/components/textarea/RLSTextarea.tsx +69 -0
  342. package/src/components/textarea/RLVTextarea.vue +8 -16
  343. package/src/components/textarea/textarea.theme.ts +21 -24
  344. package/src/components/textarea/textarea.ts +2 -1
  345. package/src/components/theme-selector/RLAThemeSelector.astro +21 -27
  346. package/src/components/theme-selector/theme-selector.theme.ts +11 -14
  347. package/src/components/timeline/RLATimeline.astro +24 -44
  348. package/src/components/timeline/timeline.theme.ts +302 -307
  349. package/src/components/toast/RLAToast.astro +50 -24
  350. package/src/components/toast/store.ts +97 -0
  351. package/src/components/toast/toast.theme.ts +31 -34
  352. package/src/components/toast/toast.ts +1 -1
  353. package/src/components/toaster/RLAToaster.astro +76 -6
  354. package/src/components/tooltip/RLATooltip.astro +136 -33
  355. package/src/components/tooltip/tooltip.theme.ts +23 -26
  356. package/src/components/tour/RLATour.astro +9 -20
  357. package/src/components/tour/tour.theme.ts +9 -12
  358. package/src/components/tree/RLATree.astro +9 -20
  359. package/src/components/tree/tree.theme.ts +9 -12
  360. package/src/components/user/RLAUser.astro +9 -20
  361. package/src/components/user/user.theme.ts +9 -12
  362. package/src/components/video/RLAVideo.astro +5 -10
  363. package/src/components/video/video.theme.ts +13 -16
  364. package/src/components/watermark/RLAWatermark.astro +9 -20
  365. package/src/components/watermark/watermark.theme.ts +9 -12
  366. package/src/components/window-mockup/RLAWindowMockup.astro +9 -20
  367. package/src/components/window-mockup/window-mockup.theme.ts +9 -12
  368. package/src/icons.raw.ts +67 -0
  369. package/src/icons.ts +35 -0
  370. package/src/index.ts +32 -0
  371. package/src/preset.ts +148 -0
  372. package/src/resolver.ts +132 -0
  373. package/src/shortcuts.ts +191 -0
  374. package/src/stores.ts +22 -0
  375. package/src/types.ts +75 -0
  376. package/src/virtual.d.ts +4 -0
  377. package/src/components/editor/PageEditor.vue +0 -459
  378. package/src/components/editor/PageMention.vue +0 -87
  379. package/src/components/editor/PagePropertiesEditor.vue +0 -358
  380. package/src/components/editor/PagePropertiesRenderer.vue +0 -285
  381. package/src/components/editor/PageRenderer.vue +0 -155
  382. package/src/components/editor/PageSurround.vue +0 -130
  383. package/src/components/editor/PageVersionSelector.vue +0 -371
  384. package/src/components/editor/blocks/AddBlockModal.vue +0 -196
  385. package/src/components/editor/blocks/Block.vue +0 -141
  386. package/src/components/editor/blocks/BlockEditRenderer.vue +0 -26
  387. package/src/components/editor/blocks/BlockEditor.vue +0 -141
  388. package/src/components/editor/blocks/BlockViewRenderer.vue +0 -65
  389. package/src/components/editor/blocks/TextRenderer.vue +0 -31
  390. package/src/components/editor/blocks/editor/CalloutBlockEditor.vue +0 -53
  391. package/src/components/editor/blocks/editor/ImageBlockEditor.vue +0 -55
  392. package/src/components/editor/blocks/editor/ParagraphBlockEditor.vue +0 -31
  393. package/src/components/editor/blocks/editor/SectionBlockEditor.vue +0 -65
  394. package/src/components/editor/blocks/nodes/LinkNode.vue +0 -28
  395. package/src/components/editor/blocks/nodes/TextNode.vue +0 -22
  396. package/src/components/editor/blocks/renderer/CalloutBlockRenderer.vue +0 -66
  397. package/src/components/editor/blocks/renderer/ImageBlockRenderer.vue +0 -20
  398. package/src/components/editor/blocks/renderer/ParagraphBlockRenderer.vue +0 -21
  399. package/src/components/editor/blocks/renderer/SectionBlockRenderer.vue +0 -55
  400. package/src/components/editor/composables/injectionKeys.ts +0 -3
  401. package/src/components/editor/composables/useBlockEditor.ts +0 -261
  402. package/src/components/editor/composables/usePageEditor.ts +0 -97
  403. package/src/components/editor/modals/CreatePageModal.vue +0 -160
  404. package/src/components/editor/modals/DeletePageModal.vue +0 -116
  405. package/src/components/editor/modals/PageTreeModal.vue +0 -275
  406. package/src/components/editor/types/blocks.ts +0 -100
  407. package/src/components/editor/types/pages.ts +0 -89
  408. package/src/components/editor/types/schemas.ts +0 -36
  409. package/src/components/editor/utils/blocks.ts +0 -42
  410. package/src/components/editor/utils/editorHelpers.ts +0 -24
  411. package/src/components/editor/utils/page.ts +0 -219
  412. package/src/components/editor/utils/richTextHelpers.ts +0 -35
  413. package/src/components/editor/views/PageEditView.vue +0 -195
  414. package/src/components/editor/views/PageLiveView.vue +0 -90
  415. package/src/components/editor/views/PageReviewView.vue +0 -308
  416. package/src/components/head/RLAHead.astro +0 -528
  417. package/src/components/icon/resolver.ts +0 -37
  418. package/src/config/color.config.ts +0 -300
  419. package/src/config/site.config.ts +0 -28
  420. package/src/config/ui.config.ts +0 -89
  421. package/src/env.d.ts +0 -23
  422. package/src/icons/defaults.ts +0 -44
  423. package/src/presets/index.ts +0 -577
  424. package/src/stores/toast.ts +0 -24
  425. package/src/themes.ts +0 -26
  426. package/src/types/component.ts +0 -28
  427. package/src/ui.ts +0 -159
  428. package/src/utils/defineTheme.ts +0 -5
  429. package/src/utils/merge.ts +0 -62
  430. package/src/utils/resolveClasses.ts +0 -39
  431. package/src/utils/resolveTheme.ts +0 -13
  432. package/src/utils/shortcuts.ts +0 -322
  433. package/src/utils/toast.ts +0 -36
  434. package/src/utils/useUi.ts +0 -33
package/README.md CHANGED
@@ -50,7 +50,7 @@ deno add npm:@rimelight/ui
50
50
  bun add @rimelight/ui
51
51
  ```
52
52
 
53
- 2. Add the Rimelight UI Astro integration to your Astro configuration:
53
+ 2. Add the Rimelight UI Vite plugin to your configuration:
54
54
 
55
55
  ```typescript
56
56
  // astro.config.ts
@@ -58,18 +58,20 @@ import { ui } from "@rimelight/ui"
58
58
  import { defineConfig } from "astro/config"
59
59
 
60
60
  export default defineConfig({
61
- integrations: [
62
- ui({
63
- // Optional: Provide global UI overrides
64
- components: {
65
- themes: {
66
- button: {
67
- defaultVariants: { variant: "primary" }
61
+ vite: {
62
+ plugins: [
63
+ ui({
64
+ // Optional: Provide global UI overrides
65
+ components: {
66
+ themes: {
67
+ button: {
68
+ defaultVariants: { variant: "primary" }
69
+ }
68
70
  }
69
71
  }
70
- }
71
- })
72
- ]
72
+ })
73
+ ]
74
+ }
73
75
  })
74
76
  ```
75
77
 
@@ -78,10 +80,9 @@ export default defineConfig({
78
80
  ### Astro Components
79
81
 
80
82
  ```astro
81
- // component.astro
82
-
83
83
  ---
84
- import { RLAButton } from '@rimelight/ui/components/astro/RLAButton.astro';
84
+ // component.astro
85
+ import RLAButton from "@rimelight/ui/components/button/RLAButton.astro";
85
86
  ---
86
87
 
87
88
  <RLAButton label="Click Me" />
@@ -90,10 +91,9 @@ import { RLAButton } from '@rimelight/ui/components/astro/RLAButton.astro';
90
91
  ### Vue Components
91
92
 
92
93
  ```vue
93
- // component.vue
94
-
94
+ <!-- component.vue -->
95
95
  <script setup lang="ts">
96
- import { RLVButton } from "@rimelight/ui/components/vue/RLVButton.vue"
96
+ import RLVButton from "@rimelight/ui/components/button/RLVButton.vue"
97
97
  </script>
98
98
 
99
99
  <template>
@@ -103,14 +103,6 @@ import { RLVButton } from "@rimelight/ui/components/vue/RLVButton.vue"
103
103
 
104
104
  For mixed usage please refer to the [Astro documentation on using front-end frameworks](https://docs.astro.build/en/guides/framework-components/).
105
105
 
106
- You can add the FAQ section right toward the bottom of your README, typically just before the Contributing or Support sections.
107
-
108
- Since GitHub and most Markdown viewers natively support the <details> and <summary> HTML tags, they will render as interactive accordion dropdowns, keeping your README clean and compact.
109
-
110
- Here is the exact code block to drop into your Repository README:
111
-
112
- Markdown
113
-
114
106
  ## Frequently Asked Questions
115
107
 
116
108
  <details>
@@ -120,7 +112,7 @@ Markdown
120
112
 
121
113
  <details>
122
114
  <summary><b>Can I use Rimelight UI without Astro?</b></summary>
123
- For the time being, no. The library is strictly distributed as an Astro integration. However, in theory, it could be modularized enough to be usable as a Vite plugin, and we are open to contributions on this topic.
115
+ For the time being, no. The component library itself is Astro-based (the <code>.astro</code> components require Astro's compiler), but its configuration and styling pipeline are distributed as a plain Vite plugin, so any Vite-powered project can consume the Vue/Solid components, themes, and design tokens.
124
116
  </details>
125
117
 
126
118
  <details>
package/package.json CHANGED
@@ -1,69 +1,50 @@
1
1
  {
2
2
  "name": "@rimelight/ui",
3
- "version": "0.0.42",
3
+ "version": "0.0.44",
4
4
  "private": false,
5
- "description": "Rimelight Entertainment UI Library.",
6
- "keywords": [
7
- "astro",
8
- "typescript"
9
- ],
5
+ "description": "Rimelight Entertainment's UI Package",
10
6
  "homepage": "https://rimelight.com/docs",
11
7
  "bugs": {
12
8
  "url": "https://github.com/Rimelight-Entertainment/rimelight/issues"
13
9
  },
14
10
  "license": "MIT",
15
11
  "author": {
16
- "name": "Daniel Marchi"
12
+ "name": "Rimelight Entertainment"
17
13
  },
18
14
  "repository": {
19
15
  "type": "git",
20
16
  "url": "git+https://github.com/Rimelight-Entertainment/rimelight.git"
21
17
  },
22
18
  "files": [
23
- "src",
24
- "worker-configuration.d.ts",
25
- "README.md",
26
- "LICENSE"
19
+ "src"
27
20
  ],
28
21
  "type": "module",
29
22
  "exports": {
30
- ".": "./src/ui.ts",
31
- "./components/*": "./src/components/*",
32
- "./themes": "./src/themes.ts",
33
- "./config/*": "./src/config/*",
34
- "./utils/*": "./src/utils/*",
35
- "./types/*": "./src/types/*",
36
- "./icons/*": "./src/icons/*",
37
- "./presets": "./src/presets/index.ts",
38
- "./presets/*": "./src/presets/*",
23
+ ".": "./src/index.ts",
39
24
  "./*": "./src/*"
40
25
  },
41
26
  "publishConfig": {
42
27
  "access": "public"
43
28
  },
44
- "scripts": {
45
- "astro": "astro"
46
- },
47
29
  "dependencies": {
48
- "@unocss/astro": "66.7.5",
49
- "css-variants": "2.3.5",
50
- "nanostores": "1.4.0"
30
+ "@unocss/vite": "66.8.1",
31
+ "unocss": "66.8.1"
51
32
  },
52
33
  "devDependencies": {
53
- "@astrojs/check": "0.9.9",
54
- "@astrojs/solid-js": "7.0.1",
55
- "@astrojs/ts-plugin": "1.10.10",
56
- "@astrojs/vue": "7.0.1",
57
- "astro": "7.1.3",
58
- "solid-js": "1.9.14",
34
+ "@astrojs/check": "0.9.10",
35
+ "@astrojs/solid-js": "7.0.2",
36
+ "@astrojs/ts-plugin": "1.10.11",
37
+ "@astrojs/vue": "7.0.2",
38
+ "@rimelight/config": "0.0.3",
39
+ "astro": "7.2.7",
40
+ "solid-js": "1.9.15",
59
41
  "typescript": "6.0.3",
60
- "unocss": "66.7.5",
61
- "vue": "3.5.40"
42
+ "vue": "3.5.41"
62
43
  },
63
44
  "peerDependencies": {
64
45
  "@astrojs/solid-js": ">=7.0.1",
65
46
  "@astrojs/vue": ">=7.0.1",
66
- "astro": ">=7.0.1",
47
+ "astro": ">=7.0.0",
67
48
  "solid-js": ">=1.9.13",
68
49
  "vue": ">=3.0.0"
69
50
  },
@@ -81,5 +62,11 @@
81
62
  "optional": true
82
63
  }
83
64
  },
84
- "packageManager": "pnpm@11.9.0"
85
- }
65
+ "engines": {
66
+ "node": ">=26.7.0"
67
+ },
68
+ "scripts": {
69
+ "astro": "astro",
70
+ "check": "vp check --fix && astro check"
71
+ }
72
+ }
@@ -1,13 +1,10 @@
1
- import { defineTheme } from "../../utils/defineTheme"
1
+ import { defineTheme } from "../../resolver"
2
2
 
3
- export const create3dHoverTheme = () =>
4
- defineTheme({
5
- slots: ["root"],
6
- base: {
7
- root: ""
8
- },
9
- variants: {},
10
- defaultVariants: {}
11
- })
12
-
13
- export default create3dHoverTheme()
3
+ export const hover3dTheme = defineTheme("3d-hover", {
4
+ slots: ["root"],
5
+ base: {
6
+ root: ""
7
+ },
8
+ variants: {},
9
+ defaultVariants: {}
10
+ })
@@ -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 { ThreeDHoverProps } from "./3d-hover"
6
- import hover3dTheme from "./3d-hover.theme"
7
-
8
-
9
- const hover3d = scv(hover3dTheme)
10
-
11
- const {
12
- ui: uiProp,
13
- class: className,
14
- ...rest
15
- } = Astro.props as ThreeDHoverProps
16
-
17
- const classes = resolveClasses(hover3d, {}, useUi("3dHover", uiProp), className);
18
- ---
19
- <div class={classes.root} data-slot="root" {...rest}>
20
- <slot />
1
+ ---
2
+ import { hover3dTheme } from "./3d-hover.theme"
3
+
4
+
5
+
6
+ const classes = hover3dTheme(Astro.props)
7
+ ---
8
+ <div class={classes.root} data-slot="root" {...Astro.props}>
9
+ <slot />
21
10
  </div>
@@ -1,13 +1,8 @@
1
1
  ---
2
- import { scv, cx } from "css-variants"
3
- import { useUi } from "../../utils/useUi"
4
- import { resolveClasses } from "../../utils/resolveClasses"
5
2
  import type { AccordionProps } from "./accordion"
6
- import accordionTheme from "./accordion.theme"
3
+ import { accordionTheme } from "./accordion.theme"
7
4
  import RLAIcon from "../icon/RLAIcon.astro"
8
5
 
9
- const accordion = scv(accordionTheme)
10
-
11
6
  const {
12
7
  items,
13
8
  summary,
@@ -15,14 +10,10 @@ const {
15
10
  trailingIcon = "chevronDown",
16
11
  disabled = false,
17
12
  name,
18
- ui: uiProp,
19
- class: className,
20
13
  ...rest
21
14
  } = Astro.props as AccordionProps
22
15
 
23
- const classes = resolveClasses(accordion, {
24
- disabled
25
- }, useUi("accordion", uiProp), className)
16
+ const classes = accordionTheme(Astro.props)
26
17
 
27
18
  // Generate a unique name for HTML details grouping if single-open mode (multiple=false) is active
28
19
  const groupName = name || (!multiple ? `accordion-${Math.random().toString(36).substring(2, 9)}` : undefined)
@@ -41,12 +32,12 @@ const groupName = name || (!multiple ? `accordion-${Math.random().toString(36).s
41
32
  name={groupName}
42
33
  >
43
34
  <summary
44
- class={cx(classes.trigger, itemDisabled && "pointer-events-none opacity-50 select-none")}
35
+ class:list={[classes.trigger, itemDisabled && "pointer-events-none opacity-50 select-none"]}
45
36
  data-slot="trigger"
46
37
  >
47
38
  {item.icon && (
48
39
  <span class={classes.leadingIcon} data-slot="leading-icon">
49
- <span class={cx(item.icon)} aria-hidden="true" />
40
+ <span class={item.icon} aria-hidden="true" />
50
41
  </span>
51
42
  )}
52
43
 
@@ -75,7 +66,7 @@ const groupName = name || (!multiple ? `accordion-${Math.random().toString(36).s
75
66
  ) : (
76
67
  <details class:list={[classes.root, classes.item]} data-slot="root" name={name} {...rest}>
77
68
  <summary
78
- class={cx(classes.trigger, disabled && "pointer-events-none opacity-50 select-none")}
69
+ class:list={[classes.trigger, disabled && "pointer-events-none opacity-50 select-none"]}
79
70
  data-slot="trigger"
80
71
  >
81
72
  <span class={classes.label} data-slot="label">{summary}</span>
@@ -1,39 +1,36 @@
1
- import { defineTheme } from "../../utils/defineTheme"
1
+ import { defineTheme } from "../../resolver"
2
2
 
3
- export const createAccordionTheme = () =>
4
- defineTheme({
5
- slots: [
6
- "root",
7
- "item",
8
- "header",
9
- "trigger",
10
- "content",
11
- "body",
12
- "leadingIcon",
13
- "trailingIcon",
14
- "label"
15
- ],
16
- base: {
17
- root: "w-full",
18
- item: "border-b border-default last:border-b-0",
19
- header: "flex",
20
- trigger:
21
- "group flex w-full flex-1 items-center gap-1.5 font-medium text-sm py-3.5 px-4 focus-visible:outline-primary min-w-0 cursor-pointer list-none [&::-webkit-details-marker]:hidden",
22
- content: "overflow-hidden focus:outline-none pt-1 px-4",
23
- body: "text-sm pb-3.5 text-astro-gray-200",
24
- leadingIcon: "shrink-0 size-5 text-astro-gray-300",
25
- trailingIcon:
26
- "shrink-0 size-5 ms-auto rotate-0 transition-transform duration-200 group-open:rotate-180 text-astro-gray-300",
27
- label: "text-start break-words text-astro-gray-100"
28
- },
29
- variants: {
30
- disabled: {
31
- true: {
32
- trigger: "cursor-not-allowed opacity-50 select-none"
33
- }
3
+ export const accordionTheme = defineTheme("accordion", {
4
+ slots: [
5
+ "root",
6
+ "item",
7
+ "header",
8
+ "trigger",
9
+ "content",
10
+ "body",
11
+ "leadingIcon",
12
+ "trailingIcon",
13
+ "label"
14
+ ],
15
+ base: {
16
+ root: "w-full",
17
+ item: "border-b border-default last:border-b-0",
18
+ header: "flex",
19
+ trigger:
20
+ "group flex w-full flex-1 items-center gap-1.5 font-medium text-sm py-3.5 px-4 focus-visible:outline-primary min-w-0 cursor-pointer list-none [&::-webkit-details-marker]:hidden",
21
+ content: "overflow-hidden focus:outline-none pt-1 px-4",
22
+ body: "text-sm pb-3.5 text-astro-gray-200",
23
+ leadingIcon: "shrink-0 size-5 text-astro-gray-300",
24
+ trailingIcon:
25
+ "shrink-0 size-5 ms-auto rotate-0 transition-transform duration-200 group-open:rotate-180 text-astro-gray-300",
26
+ label: "text-start break-words text-astro-gray-100"
27
+ },
28
+ variants: {
29
+ disabled: {
30
+ true: {
31
+ trigger: "cursor-not-allowed opacity-50 select-none"
34
32
  }
35
- },
36
- defaultVariants: {}
37
- })
38
-
39
- export default createAccordionTheme()
33
+ }
34
+ },
35
+ defaultVariants: {}
36
+ })
@@ -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 { AppProps } from "./app"
6
- import appTheme from "./app.theme"
7
-
8
-
9
- const app = scv(appTheme)
10
-
11
- const {
12
- ui: uiProp,
13
- class: className,
14
- ...rest
15
- } = Astro.props as AppProps
16
-
17
- const classes = resolveClasses(app, {}, useUi("app", uiProp), className);
18
- ---
19
- <div class={classes.root} data-slot="root" {...rest}>
20
- <slot />
1
+ ---
2
+ import { appTheme } from "./app.theme"
3
+
4
+
5
+
6
+ const classes = appTheme(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 createAppTheme = () =>
4
- defineTheme({
5
- slots: ["root"],
6
- base: {
7
- root: ""
8
- },
9
- variants: {},
10
- defaultVariants: {}
11
- })
12
-
13
- export default createAppTheme()
3
+ export const appTheme = defineTheme("app", {
4
+ slots: ["root"],
5
+ base: {
6
+ root: ""
7
+ },
8
+ variants: {},
9
+ defaultVariants: {}
10
+ })
@@ -1,27 +1,19 @@
1
- ---
2
- import { scv } from "css-variants"
3
- import { useUi } from "../../utils/useUi"
4
- import { resolveClasses } from "../../utils/resolveClasses"
5
- import type { AspectRatioProps } from "./aspect-ratio"
6
- import { resolveTheme } from "../../utils/resolveTheme"
7
- import aspectRatioThemeDefault, { createAspectRatioTheme } from "./aspect-ratio.theme"
8
- const aspectRatioTheme = resolveTheme(aspectRatioThemeDefault, createAspectRatioTheme)
9
-
10
-
11
- const aspectRatio = scv(aspectRatioTheme)
12
-
13
- const {
14
- ratio = 1,
15
- ui: uiProp,
16
- class: className,
17
- ...rest
18
- } = Astro.props as AspectRatioProps
19
-
20
- const classes = resolveClasses(aspectRatio, {}, useUi("aspectRatio", uiProp), className)
21
- ---
22
- <div class:list={[classes.root]} data-slot="root" {...rest}>
23
- <svg viewBox={`0 0 100 ${(1 / ratio) * 100}`} class="w-full h-auto pointer-events-none block" aria-hidden="true"></svg>
24
- <div class={classes.content} data-slot="content">
25
- <slot />
26
- </div>
27
- </div>
1
+ ---
2
+ import type { AspectRatioProps } from "./aspect-ratio"
3
+ import { aspectRatioTheme } from "./aspect-ratio.theme"
4
+
5
+
6
+
7
+ const {
8
+ ratio = 1,
9
+ ...rest
10
+ } = Astro.props as AspectRatioProps
11
+
12
+ const classes = aspectRatioTheme(Astro.props)
13
+ ---
14
+ <div class:list={[classes.root]} data-slot="root" {...rest}>
15
+ <svg viewBox={`0 0 100 ${(1 / ratio) * 100}`} class="w-full h-auto pointer-events-none block" aria-hidden="true"></svg>
16
+ <div class={classes.content} data-slot="content">
17
+ <slot />
18
+ </div>
19
+ </div>
@@ -1,13 +1,9 @@
1
- import { colorConfig } from "../../config/color.config"
2
- import { defineTheme } from "../../utils/defineTheme"
1
+ import { defineTheme } from "../../resolver"
3
2
 
4
- export const createAspectRatioTheme = (_colors: readonly string[] = colorConfig.colors) =>
5
- defineTheme({
6
- slots: ["root", "content"],
7
- base: {
8
- root: "relative w-full overflow-hidden",
9
- content: "absolute inset-0 h-full w-full object-cover"
10
- }
11
- })
12
-
13
- export default createAspectRatioTheme()
3
+ export const aspectRatioTheme = defineTheme("aspect-ratio", {
4
+ slots: ["root", "content"],
5
+ base: {
6
+ root: "relative w-full overflow-hidden",
7
+ content: "absolute inset-0 h-full w-full object-cover"
8
+ }
9
+ })
@@ -1,22 +1,11 @@
1
1
  ---
2
- import { scv } from "css-variants"
3
- import { useUi } from "../../utils/useUi"
4
- import { resolveClasses } from "../../utils/resolveClasses"
5
- import type { AudioProps } from "./audio"
6
- import audioTheme from "./audio.theme"
2
+ import { audioTheme } from "./audio.theme"
7
3
 
8
4
 
9
- const audio = scv(audioTheme)
10
5
 
11
- const {
12
- ui: uiProp,
13
- class: className,
14
- ...rest
15
- } = Astro.props as AudioProps
16
-
17
- const classes = resolveClasses(audio, {}, useUi("audio", uiProp), className);
6
+ const classes = audioTheme(Astro.props)
18
7
  ---
19
- <div class={classes.root} data-slot="root" {...rest}>
8
+ <div class={classes.root} data-slot="root" {...Astro.props}>
20
9
  <slot />
21
10
  {Astro.slots.has("transcript") && (
22
11
  <div class="mt-2 text-sm text-zinc-400" data-slot="transcript">
@@ -1,13 +1,10 @@
1
- import { defineTheme } from "../../utils/defineTheme"
1
+ import { defineTheme } from "../../resolver"
2
2
 
3
- export const createAudioTheme = () =>
4
- defineTheme({
5
- slots: ["root"],
6
- base: {
7
- root: ""
8
- },
9
- variants: {},
10
- defaultVariants: {}
11
- })
12
-
13
- export default createAudioTheme()
3
+ export const audioTheme = defineTheme("audio", {
4
+ slots: ["root"],
5
+ base: {
6
+ root: ""
7
+ },
8
+ variants: {},
9
+ defaultVariants: {}
10
+ })
@@ -1,16 +1,8 @@
1
1
  ---
2
- import { scv, cx } from "css-variants"
3
- import { useUi } from "../../utils/useUi"
4
- import { resolveClasses } from "../../utils/resolveClasses"
5
2
  import type { AvatarProps } from "./avatar"
6
- import { resolveTheme } from "../../utils/resolveTheme"
7
- import avatarThemeDefault, { createAvatarTheme } from "./avatar.theme"
8
- const avatarTheme = resolveTheme(avatarThemeDefault, createAvatarTheme)
3
+ import { avatarTheme } from "./avatar.theme"
9
4
  import RLAIcon from "../icon/RLAIcon.astro"
10
5
 
11
-
12
- const avatar = scv(avatarTheme)
13
-
14
6
  const {
15
7
  src,
16
8
  alt = "",
@@ -19,26 +11,15 @@ const {
19
11
  title,
20
12
  subtitle,
21
13
  label,
22
- size = "md",
23
14
  badge = false,
24
15
  badgeColor = "success",
25
- badgePosition = "bottom-right",
26
- ui: uiProp,
27
- class: className,
28
16
  ...rest
29
- } = Astro.props as AvatarProps & {
30
- badgePosition?: "top-right" | "bottom-right" | "top-left" | "bottom-left"
31
- badgeColor?: string
32
- }
33
-
34
- const classes = resolveClasses(avatar, {
35
- size,
36
- color: (Astro.props.color || "neutral") as "neutral",
37
- badgePosition: badgePosition as "bottom-right"
38
- }, useUi("avatar", uiProp), className)
17
+ } = Astro.props as AvatarProps
39
18
 
19
+ const classes = avatarTheme(Astro.props)
40
20
  const avatarFallback = fallback || initials
41
- const hasTextLayout = !!(title || subtitle)
21
+ const hasTextLayout = Boolean(title || subtitle)
22
+ const badgeClass = badgeColor?.startsWith("bg-") ? badgeColor : `bg-${badgeColor}-500`
42
23
  ---
43
24
  {hasTextLayout ? (
44
25
  <div class="flex items-center gap-3" data-slot="profile-wrapper">
@@ -63,7 +44,7 @@ const hasTextLayout = !!(title || subtitle)
63
44
  {avatarFallback}
64
45
  </slot>
65
46
  {!avatarFallback && !Astro.slots.has("fallback") && (
66
- <RLAIcon name="user" class={classes.icon} aria-hidden="true" />
47
+ <RLAIcon name="i-rl-user" class={classes.icon} aria-hidden="true" />
67
48
  )}
68
49
  </span>
69
50
  )}
@@ -72,7 +53,7 @@ const hasTextLayout = !!(title || subtitle)
72
53
  <slot name="badge">
73
54
  {badge && (
74
55
  <span
75
- class={cx(classes.badge, badgeColor && (typeof badgeColor === 'string' && badgeColor.startsWith('bg-') ? badgeColor : `bg-${badgeColor}-500`))}
56
+ class:list={[classes.badge, badgeClass]}
76
57
  data-slot="badge"
77
58
  >
78
59
  {typeof badge === 'string' || typeof badge === 'number' ? badge : null}
@@ -81,16 +62,8 @@ const hasTextLayout = !!(title || subtitle)
81
62
  </slot>
82
63
  </span>
83
64
  <div class="flex flex-col leading-tight">
84
- {title && (
85
- <span class="font-medium text-sm text-[var(--foreground)]" data-slot="title">
86
- {title}
87
- </span>
88
- )}
89
- {subtitle && (
90
- <span class="text-xs text-[var(--muted-foreground)]" data-slot="subtitle">
91
- {subtitle}
92
- </span>
93
- )}
65
+ {title && <span class="font-medium text-sm text-default" data-slot="title">{title}</span>}
66
+ {subtitle && <span class="text-xs text-muted" data-slot="subtitle">{subtitle}</span>}
94
67
  </div>
95
68
  </div>
96
69
  ) : (
@@ -115,7 +88,7 @@ const hasTextLayout = !!(title || subtitle)
115
88
  {avatarFallback}
116
89
  </slot>
117
90
  {!avatarFallback && !Astro.slots.has("fallback") && (
118
- <RLAIcon name="user" class={classes.icon} aria-hidden="true" />
91
+ <RLAIcon name="i-rl-user" class={classes.icon} aria-hidden="true" />
119
92
  )}
120
93
  </span>
121
94
  )}
@@ -124,7 +97,7 @@ const hasTextLayout = !!(title || subtitle)
124
97
  <slot name="badge">
125
98
  {badge && (
126
99
  <span
127
- class={cx(classes.badge, badgeColor && (typeof badgeColor === 'string' && badgeColor.startsWith('bg-') ? badgeColor : `bg-${badgeColor}-500`))}
100
+ class:list={[classes.badge, badgeClass]}
128
101
  data-slot="badge"
129
102
  >
130
103
  {typeof badge === 'string' || typeof badge === 'number' ? badge : null}
@@ -133,4 +106,3 @@ const hasTextLayout = !!(title || subtitle)
133
106
  </slot>
134
107
  </span>
135
108
  )}
136
-