@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
@@ -1,33 +1,23 @@
1
1
  ---
2
- import { scv } from "css-variants"
3
- import { useUi } from "../../utils/useUi"
4
- import { resolveClasses } from "../../utils/resolveClasses"
5
2
  import type { SidebarProps, SidebarItem } from "./sidebar"
6
- import sidebarThemeDefault from "./sidebar.theme"
3
+ import { sidebarTheme } from "./sidebar.theme"
7
4
  import RLABadge from "../badge/RLABadge.astro"
8
5
  import RLAIcon from "../icon/RLAIcon.astro"
9
6
 
10
- const sidebarTheme = sidebarThemeDefault
11
- const sidebar = scv(sidebarTheme)
12
7
 
13
8
  const {
14
9
  items = [],
15
- side = "left",
16
10
  collapsible = "none",
17
11
  variant = "sidebar",
18
12
  logo,
19
- ui: uiProp,
20
- class: className,
21
13
  t = (key: string) => key,
22
14
  _depth = 0,
23
15
  ...rest
24
- } = Astro.props as SidebarProps & { t?: (key: string) => string; _depth?: number }
16
+ } = Astro.props as SidebarProps
25
17
 
26
- const classes = resolveClasses(sidebar, {
27
- side,
28
- collapsible,
29
- variant
30
- }, useUi("sidebar", uiProp), className)
18
+
19
+
20
+ const classes = sidebarTheme(Astro.props)
31
21
 
32
22
  const hasActiveChild = (item: SidebarItem): boolean => {
33
23
  if (item.active) return true
@@ -65,7 +55,7 @@ const textSizeClass = _depth === 0 ? "" : "text-xs"
65
55
  <slot name="header">
66
56
  {logo && (
67
57
  <span data-slot="sidebar-logo" class="flex items-center gap-2">
68
- <RLAIcon name="layers" class="size-5 text-primary" />
58
+ <RLAIcon name="i-rl-layers" class="size-5 text-primary" />
69
59
  <span class="truncate">{logo}</span>
70
60
  </span>
71
61
  )}
@@ -75,7 +65,7 @@ const textSizeClass = _depth === 0 ? "" : "text-xs"
75
65
  <!-- Body -->
76
66
  <div class={classes.content} data-slot="content">
77
67
  <slot>
78
- <Astro.self items={items} t={t} _depth={1} ui={uiProp} />
68
+ <Astro.self items={items} t={t} _depth={1} ui={Astro.props.ui} />
79
69
  </slot>
80
70
  </div>
81
71
 
@@ -89,10 +79,10 @@ const textSizeClass = _depth === 0 ? "" : "text-xs"
89
79
  <button
90
80
  type="button"
91
81
  data-sidebar-toggle
92
- class="fixed top-4 left-4 z-50 flex size-9 items-center justify-center rounded-md bg-background border border-border shadow-sm hover:bg-muted transition-colors"
82
+ class="fixed top-4 left-4 z-50 flex size-9 items-center justify-center rounded-md bg-default border border-default shadow-sm hover:bg-muted transition-colors"
93
83
  aria-label="Toggle sidebar"
94
84
  >
95
- <RLAIcon name="panelLeft" class="size-4" />
85
+ <RLAIcon name="i-rl-panelLeft" class="size-4" />
96
86
  </button>
97
87
  )}
98
88
 
@@ -118,8 +108,8 @@ const textSizeClass = _depth === 0 ? "" : "text-xs"
118
108
  <details open={isActive} class="group/details">
119
109
  <summary
120
110
  class={
121
- (_depth === 1 ? classes.itemLink : `flex items-center gap-1.5 w-full px-2 py-1 rounded-md text-muted-foreground hover:text-foreground hover:bg-muted transition-colors ${textSizeClass}`) +
122
- (isActive ? " text-foreground bg-muted" : "") +
111
+ (_depth === 1 ? classes.itemLink : `flex items-center gap-1.5 w-full px-2 py-1 rounded-md text-muted hover:text-highlighted hover:bg-muted transition-colors ${textSizeClass}`) +
112
+ (isActive ? " text-highlighted bg-muted" : "") +
123
113
  " list-none cursor-pointer"
124
114
  }
125
115
  data-slot="item-summary"
@@ -131,7 +121,7 @@ const textSizeClass = _depth === 0 ? "" : "text-xs"
131
121
  {t(b.text)}
132
122
  </RLABadge>
133
123
  )}
134
- <RLAIcon name="chevronRight" class="size-3 ml-auto transition-transform group-open/details:rotate-90" />
124
+ <RLAIcon name="i-rl-chevronRight" class="size-3 ml-auto transition-transform group-open/details:rotate-90" />
135
125
  </summary>
136
126
  <div class={`mt-0.5 ${indentClass} flex flex-col gap-0.5`}>
137
127
  <Astro.self items={item.children} t={t} _depth={_depth + 1} />
@@ -141,8 +131,8 @@ const textSizeClass = _depth === 0 ? "" : "text-xs"
141
131
  <a
142
132
  href={item.href ?? "#"}
143
133
  class={
144
- (_depth === 1 ? classes.itemLink : `flex items-center gap-1.5 w-full px-2 py-1 rounded-md text-muted-foreground hover:text-foreground hover:bg-muted transition-colors ${textSizeClass}`) +
145
- (isActive ? " text-foreground bg-muted" : "")
134
+ (_depth === 1 ? classes.itemLink : `flex items-center gap-1.5 w-full px-2 py-1 rounded-md text-muted hover:text-highlighted hover:bg-muted transition-colors ${textSizeClass}`) +
135
+ (isActive ? " text-highlighted bg-muted" : "")
146
136
  }
147
137
  aria-current={isActive ? "page" : undefined}
148
138
  >
@@ -1,48 +1,45 @@
1
- import { defineTheme } from "../../utils/defineTheme"
1
+ import { defineTheme } from "../../resolver"
2
2
 
3
- export const createSidebarTheme = () =>
4
- defineTheme({
5
- slots: ["root", "header", "content", "footer", "item", "itemLink", "itemIcon", "itemBadge"],
6
- base: {
7
- root: "flex flex-col h-full w-64 bg-background border-r border-border shadow-sm transition-all duration-300",
8
- header:
9
- "flex h-16 items-center px-6 border-b border-border gap-2 font-semibold text-lg text-foreground",
10
- content: "flex-1 overflow-y-auto p-4 flex flex-col gap-1.5",
11
- footer: "p-4 border-t border-border flex items-center justify-between",
12
- item: "relative",
13
- itemLink:
14
- "flex items-center gap-3 rounded-md px-3 py-2 text-sm font-medium text-muted-foreground hover:bg-muted hover:text-foreground transition-colors cursor-pointer",
15
- itemIcon: "size-4 text-current",
16
- itemBadge:
17
- "ml-auto flex size-5 items-center justify-center rounded-full bg-primary/10 text-primary text-[10px] font-bold"
3
+ export const sidebarTheme = defineTheme("sidebar", {
4
+ slots: ["root", "header", "content", "footer", "item", "itemLink", "itemIcon", "itemBadge"],
5
+ base: {
6
+ root: "flex flex-col h-full w-64 bg-default border-r border-default shadow-sm transition-all duration-300",
7
+ header:
8
+ "flex h-16 items-center px-6 border-b border-default gap-2 font-semibold text-lg text-highlighted",
9
+ content: "flex-1 overflow-y-auto p-4 flex flex-col gap-1.5",
10
+ footer: "p-4 border-t border-default flex items-center justify-between",
11
+ item: "relative",
12
+ itemLink:
13
+ "flex items-center gap-3 rounded-md px-3 py-2 text-sm font-medium text-muted hover:bg-muted hover:text-highlighted transition-colors cursor-pointer",
14
+ itemIcon: "size-4 text-current",
15
+ itemBadge:
16
+ "ml-auto flex size-5 items-center justify-center rounded-full bg-primary/10 text-primary text-[10px] font-bold"
17
+ },
18
+ variants: {
19
+ side: {
20
+ left: { root: "left-0 border-r" },
21
+ right: { root: "right-0 border-l" }
18
22
  },
19
- variants: {
20
- side: {
21
- left: { root: "left-0 border-r" },
22
- right: { root: "right-0 border-l" }
23
+ collapsible: {
24
+ icon: {
25
+ root: "w-16 [&_[data-slot=item-text]]:hidden [&_[data-slot=item-badge]]:hidden [&_[data-slot=sidebar-logo]]:hidden"
23
26
  },
24
- collapsible: {
25
- icon: {
26
- root: "w-16 [&_[data-slot=item-text]]:hidden [&_[data-slot=item-badge]]:hidden [&_[data-slot=sidebar-logo]]:hidden"
27
- },
28
- offcanvas: { root: "-translate-x-full" },
29
- none: {}
27
+ offcanvas: { root: "-translate-x-full" },
28
+ none: {}
29
+ },
30
+ variant: {
31
+ sidebar: {},
32
+ floating: {
33
+ root: "m-4 rounded-xl border border-default shadow-md h-[calc(100vh-2rem)] bg-default/95 backdrop-blur"
30
34
  },
31
- variant: {
32
- sidebar: {},
33
- floating: {
34
- root: "m-4 rounded-xl border border-border shadow-md h-[calc(100vh-2rem)] bg-background/95 backdrop-blur"
35
- },
36
- inset: {
37
- root: "bg-muted/40 border-none p-2"
38
- }
35
+ inset: {
36
+ root: "bg-muted/40 border-none p-2"
39
37
  }
40
- },
41
- defaultVariants: {
42
- side: "left",
43
- collapsible: "none",
44
- variant: "sidebar"
45
38
  }
46
- })
47
-
48
- export default createSidebarTheme()
39
+ },
40
+ defaultVariants: {
41
+ side: "left",
42
+ collapsible: "none",
43
+ variant: "sidebar"
44
+ }
45
+ })
@@ -21,6 +21,8 @@ export interface SidebarScope {
21
21
  }
22
22
 
23
23
  export interface SidebarProps {
24
+ t?: (key: string) => string
25
+ _depth?: number
24
26
  /**
25
27
  * The navigation links array.
26
28
  */
@@ -1,22 +1,13 @@
1
- ---
2
- import { scv } from "css-variants"
3
- import { useUi } from "../../utils/useUi"
4
- import { resolveClasses } from "../../utils/resolveClasses"
5
- import type { SkeletonProps } from "./skeleton"
6
- import skeletonTheme from "./skeleton.theme"
7
-
8
-
9
- const skeleton = scv(skeletonTheme)
10
-
11
- const {
12
- shape = "rounded",
13
- ui: uiProp,
14
- class: className,
15
- ...rest
16
- } = Astro.props as SkeletonProps
17
-
18
- const classes = resolveClasses(skeleton, {
19
- shape
20
- }, useUi("skeleton", uiProp), className)
21
- ---
22
- <div class={classes.root} data-slot="root" {...rest} />
1
+ ---
2
+ import type { SkeletonProps } from "./skeleton"
3
+ import { skeletonTheme } from "./skeleton.theme"
4
+
5
+
6
+
7
+ const {
8
+ ...rest
9
+ } = Astro.props as SkeletonProps
10
+
11
+ const classes = skeletonTheme(Astro.props)
12
+ ---
13
+ <div class={classes.root} data-slot="root" {...rest} />
@@ -1,21 +1,18 @@
1
- import { defineTheme } from "../../utils/defineTheme"
1
+ import { defineTheme } from "../../resolver"
2
2
 
3
- export const createSkeletonTheme = () =>
4
- defineTheme({
5
- slots: ["root"],
6
- base: {
7
- root: "animate-pulse bg-elevated shrink-0"
8
- },
9
- variants: {
10
- shape: {
11
- circle: { root: "rounded-full" },
12
- rectangle: { root: "rounded-none" },
13
- rounded: { root: "rounded-md" }
14
- }
15
- },
16
- defaultVariants: {
17
- shape: "rounded"
3
+ export const skeletonTheme = defineTheme("skeleton", {
4
+ slots: ["root"],
5
+ base: {
6
+ root: "animate-pulse bg-elevated shrink-0"
7
+ },
8
+ variants: {
9
+ shape: {
10
+ circle: { root: "rounded-full" },
11
+ rectangle: { root: "rounded-none" },
12
+ rounded: { root: "rounded-md" }
18
13
  }
19
- })
20
-
21
- export default createSkeletonTheme()
14
+ },
15
+ defaultVariants: {
16
+ shape: "rounded"
17
+ }
18
+ })
@@ -1,30 +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 { SlideoverProps } from "./slideover"
6
- import { resolveTheme } from "../../utils/resolveTheme"
7
- import slideoverThemeDefault, { createSlideoverTheme } from "./slideover.theme"
8
- const slideoverTheme = resolveTheme(slideoverThemeDefault, createSlideoverTheme)
3
+ import { slideoverTheme } from "./slideover.theme"
9
4
  import RLAIcon from "../icon/RLAIcon.astro"
10
5
 
11
6
 
12
- const slideover = scv(slideoverTheme)
13
7
 
14
8
  const {
15
9
  side = "left",
16
10
  title,
17
11
  description,
18
12
  triggerLabel,
19
- ui: uiProp,
20
- class: className,
21
13
  unmountOnHide = true,
22
14
  ...rest
23
15
  } = Astro.props as SlideoverProps
24
16
 
25
- const classes = resolveClasses(slideover, {
26
- side
27
- }, useUi("slideover", uiProp), className)
17
+ const classes = slideoverTheme(Astro.props)
28
18
 
29
19
  const dialogId = `rla-slideover-${Math.random().toString(36).substring(2, 9)}`
30
20
  ---
@@ -59,7 +49,7 @@ const dialogId = `rla-slideover-${Math.random().toString(36).substring(2, 9)}`
59
49
  data-dialog-close={dialogId}
60
50
  aria-label="Close slideover"
61
51
  >
62
- <RLAIcon name="close" class="size-4" aria-hidden="true" />
52
+ <RLAIcon name="i-rl-close" class="size-4" aria-hidden="true" />
63
53
  </button>
64
54
 
65
55
  <div class={classes.header} data-slot="header">
@@ -1,59 +1,55 @@
1
- import { colorConfig } from "../../config/color.config"
2
- import { defineTheme } from "../../utils/defineTheme"
1
+ import { defineTheme } from "../../resolver"
3
2
 
4
- export const createSlideoverTheme = (_colors: readonly string[] = colorConfig.colors) =>
5
- defineTheme({
6
- slots: [
7
- "root",
8
- "trigger",
9
- "backdrop",
10
- "content",
11
- "header",
12
- "title",
13
- "description",
14
- "footer",
15
- "closeButton"
3
+ export const slideoverTheme = defineTheme("slideover", {
4
+ slots: [
5
+ "root",
6
+ "trigger",
7
+ "backdrop",
8
+ "content",
9
+ "header",
10
+ "title",
11
+ "description",
12
+ "footer",
13
+ "closeButton"
14
+ ],
15
+ base: {
16
+ root: "relative inline-block",
17
+ trigger: "",
18
+ backdrop: "fixed inset-0 z-50 bg-black/60 backdrop-blur-sm transition-all duration-300",
19
+ content: [
20
+ "fixed z-50 bg-default p-6 shadow-xl border-default transition-all duration-300 outline-none",
21
+ "data-[state=open]:animate-in data-[state=closed]:animate-out"
16
22
  ],
17
- base: {
18
- root: "relative inline-block",
19
- trigger: "",
20
- backdrop: "fixed inset-0 z-50 bg-black/60 backdrop-blur-sm transition-all duration-300",
21
- content: [
22
- "fixed z-50 bg-background p-6 shadow-xl border-border transition-all duration-300 outline-none",
23
- "data-[state=open]:animate-in data-[state=closed]:animate-out"
24
- ],
25
- header: "flex flex-col gap-1.5 mb-4",
26
- title: "text-lg font-semibold leading-none tracking-tight text-foreground",
27
- description: "text-sm text-muted-foreground leading-relaxed",
28
- footer: "flex flex-col sm:flex-row sm:justify-end gap-2 mt-6",
29
- closeButton: [
30
- "absolute right-4 top-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 text-foreground",
31
- "focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none"
32
- ]
33
- },
34
- variants: {
35
- side: {
36
- top: {
37
- content:
38
- "inset-x-0 top-0 border-b data-[state=open]:slide-in-from-top data-[state=closed]:slide-out-to-top"
39
- },
40
- bottom: {
41
- content:
42
- "inset-x-0 bottom-0 border-t data-[state=open]:slide-in-from-bottom data-[state=closed]:slide-out-to-bottom"
43
- },
44
- left: {
45
- content:
46
- "inset-y-0 left-0 right-auto h-full w-2/3 max-w-sm border-r m-0 max-h-none data-[state=open]:slide-in-from-left data-[state=closed]:slide-out-to-left"
47
- },
48
- right: {
49
- content:
50
- "inset-y-0 right-0 left-auto h-full w-2/3 max-w-sm border-l m-0 max-h-none data-[state=open]:slide-in-from-right data-[state=closed]:slide-out-to-right"
51
- }
23
+ header: "flex flex-col gap-1.5 mb-4",
24
+ title: "text-lg font-semibold leading-none tracking-tight text-highlighted",
25
+ description: "text-sm text-muted leading-relaxed",
26
+ footer: "flex flex-col sm:flex-row sm:justify-end gap-2 mt-6",
27
+ closeButton: [
28
+ "absolute right-4 top-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 text-highlighted",
29
+ "focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none"
30
+ ]
31
+ },
32
+ variants: {
33
+ side: {
34
+ top: {
35
+ content:
36
+ "inset-x-0 top-0 border-b data-[state=open]:slide-in-from-top data-[state=closed]:slide-out-to-top"
37
+ },
38
+ bottom: {
39
+ content:
40
+ "inset-x-0 bottom-0 border-t data-[state=open]:slide-in-from-bottom data-[state=closed]:slide-out-to-bottom"
41
+ },
42
+ left: {
43
+ content:
44
+ "inset-y-0 left-0 right-auto h-full w-2/3 max-w-sm border-r m-0 max-h-none data-[state=open]:slide-in-from-left data-[state=closed]:slide-out-to-left"
45
+ },
46
+ right: {
47
+ content:
48
+ "inset-y-0 right-0 left-auto h-full w-2/3 max-w-sm border-l m-0 max-h-none data-[state=open]:slide-in-from-right data-[state=closed]:slide-out-to-right"
52
49
  }
53
- },
54
- defaultVariants: {
55
- side: "left"
56
50
  }
57
- })
58
-
59
- export default createSlideoverTheme()
51
+ },
52
+ defaultVariants: {
53
+ side: "left"
54
+ }
55
+ })
@@ -1,13 +1,7 @@
1
1
  ---
2
- import { scv } from "css-variants"
3
- import { useUi } from "../../utils/useUi"
4
- import { resolveClasses } from "../../utils/resolveClasses"
5
2
  import type { SliderProps } from "./slider"
6
- import { resolveTheme } from "../../utils/resolveTheme"
7
- import sliderThemeDefault, { createSliderTheme } from "./slider.theme"
8
- const sliderTheme = resolveTheme(sliderThemeDefault, createSliderTheme)
3
+ import { sliderTheme } from "./slider.theme"
9
4
 
10
- const slider = scv(sliderTheme)
11
5
 
12
6
  const {
13
7
  value = 0,
@@ -15,21 +9,15 @@ const {
15
9
  max = 100,
16
10
  step = 1,
17
11
  name,
18
- color = "primary",
19
12
  theme,
20
- ui: uiProp,
21
- class: className,
22
13
  ...rest
23
14
  } = Astro.props as SliderProps
24
15
 
25
- const classes = resolveClasses(slider, {
26
- color,
27
- theme
28
- }, useUi("slider", uiProp), className)
16
+ const classes = sliderTheme(Astro.props)
29
17
 
30
18
  const percentage = Math.min(100, Math.max(0, ((value - min) / (max - min)) * 100))
31
19
  ---
32
- <div class={classes.root} data-slot="slider-root" {...rest}>
20
+ <div class={classes.root} data-slot="slider-root" data-theme={theme} {...rest}>
33
21
  <div class={classes.track} data-slot="track">
34
22
  <svg class="h-full w-full overflow-visible pointer-events-none">
35
23
  <rect class:list={[classes.range, "h-full"]} width={`${percentage}%`} fill="currentColor" rx="2" />
@@ -1,35 +1,18 @@
1
- import { colorConfig } from "../../config/color.config"
2
- import { defineTheme } from "../../utils/defineTheme"
1
+ import { defineTheme } from "../../resolver"
3
2
 
4
- export const createSliderTheme = (colors: readonly string[] = colorConfig.colors) =>
5
- defineTheme({
6
- slots: ["root", "track", "range", "thumb"],
7
- base: {
8
- root: "relative flex w-full touch-none select-none items-center",
9
- track: "relative h-1.5 w-full grow overflow-hidden rounded-full bg-muted",
10
- range: "absolute h-full",
11
- thumb:
12
- "block size-4.5 rounded-full border border-border bg-background shadow transition-all focus-visible:outline-none focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 cursor-pointer"
13
- },
14
- variants: {
15
- color: Object.fromEntries(
16
- colors.map((color) => [
17
- color,
18
- {
19
- root: "rl-color-" + color,
20
- range: `bg-[var(--rl-bg)]`,
21
- thumb: `focus-visible:ring-[var(--rl-ring)]/50 hover:border-[var(--rl-border)]`
22
- }
23
- ])
24
- ),
25
- theme: {
26
- light: { root: "rl-light" },
27
- dark: { root: "rl-dark" }
28
- }
29
- },
30
- defaultVariants: {
31
- color: "primary"
32
- }
33
- })
34
-
35
- export default createSliderTheme()
3
+ export const sliderTheme = defineTheme("slider", {
4
+ slots: ["root", "track", "range", "thumb"],
5
+ base: {
6
+ root: "relative flex w-full touch-none select-none items-center",
7
+ track: "relative h-1.5 w-full grow overflow-hidden rounded-full bg-muted",
8
+ range: "absolute h-full bg-[var(--rl-bg)]",
9
+ thumb:
10
+ "block size-4.5 rounded-full border border-default bg-default shadow transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--rl-ring)]/50 hover:border-[var(--rl-border)] disabled:pointer-events-none disabled:opacity-50 cursor-pointer"
11
+ },
12
+ variants: {
13
+ color: "auto"
14
+ },
15
+ defaultVariants: {
16
+ color: "primary"
17
+ }
18
+ })
@@ -1,4 +1,4 @@
1
- import type { Theme, ThemeColor } from "../../types/component"
1
+ import type { Theme, ThemeColor } from "../../types"
2
2
 
3
3
  export interface SliderProps {
4
4
  /**
@@ -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 { SpeedDialProps } from "./speed-dial"
6
- import speedDialTheme from "./speed-dial.theme"
7
-
8
-
9
- const speedDial = scv(speedDialTheme)
10
-
11
- const {
12
- ui: uiProp,
13
- class: className,
14
- ...rest
15
- } = Astro.props as SpeedDialProps
16
-
17
- const classes = resolveClasses(speedDial, {}, useUi("speedDial", uiProp), className);
18
- ---
19
- <div class={classes.root} data-slot="root" {...rest}>
20
- <slot />
1
+ ---
2
+ import { speedDialTheme } from "./speed-dial.theme"
3
+
4
+
5
+
6
+ const classes = speedDialTheme(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 createSpeedDialTheme = () =>
4
- defineTheme({
5
- slots: ["root"],
6
- base: {
7
- root: ""
8
- },
9
- variants: {},
10
- defaultVariants: {}
11
- })
12
-
13
- export default createSpeedDialTheme()
3
+ export const speedDialTheme = defineTheme("speed-dial", {
4
+ slots: ["root"],
5
+ base: {
6
+ root: ""
7
+ },
8
+ variants: {},
9
+ defaultVariants: {}
10
+ })
@@ -1,27 +1,13 @@
1
1
  ---
2
- import { scv } from "css-variants"
3
- import { useUi } from "../../utils/useUi"
4
- import { resolveClasses } from "../../utils/resolveClasses"
5
2
  import type { SpinnerProps } from "./spinner"
6
- import { resolveTheme } from "../../utils/resolveTheme"
7
- import spinnerThemeDefault, { createSpinnerTheme } from "./spinner.theme"
8
- const spinnerTheme = resolveTheme(spinnerThemeDefault, createSpinnerTheme)
3
+ import { spinnerTheme } from "./spinner.theme"
9
4
 
10
- const spinner = scv(spinnerTheme)
11
5
 
12
6
  const {
13
- size = "md",
14
- color = "current",
15
7
  theme,
16
- ui: uiProp,
17
- class: className,
18
8
  ...rest
19
9
  } = Astro.props as SpinnerProps
20
10
 
21
- const classes = resolveClasses(spinner, {
22
- size,
23
- color,
24
- theme
25
- }, useUi("spinner", uiProp), className)
11
+ const classes = spinnerTheme(Astro.props)
26
12
  ---
27
- <div class={classes.root} data-slot="root" {...rest} />
13
+ <div class={classes.root} data-slot="root" data-theme={theme} {...rest} />