@rimelight/ui 0.0.32 → 0.0.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (383) hide show
  1. package/README.md +157 -30
  2. package/package.json +105 -108
  3. package/src/components/TableOfContents.astro +44 -43
  4. package/src/components/astro/RLA3dHover.astro +22 -18
  5. package/src/components/astro/RLAAlert.astro +93 -62
  6. package/src/components/astro/RLAApp.astro +22 -18
  7. package/src/components/astro/RLAAspectRatio.astro +27 -23
  8. package/src/components/astro/RLAAudio.astro +22 -18
  9. package/src/components/astro/RLAAvatar.astro +68 -56
  10. package/src/components/astro/RLAAvatarGroup.astro +23 -19
  11. package/src/components/astro/RLABadge.astro +34 -33
  12. package/src/components/astro/RLABanner.astro +22 -18
  13. package/src/components/astro/RLABlogPost.astro +7 -0
  14. package/src/components/astro/RLABlogPosts.astro +9 -0
  15. package/src/components/astro/RLABreadcrumb.astro +48 -44
  16. package/src/components/astro/RLABrowserMockup.astro +22 -18
  17. package/src/components/astro/RLAButton.astro +51 -2
  18. package/src/components/astro/RLACalendar.astro +22 -18
  19. package/src/components/astro/RLACard.astro +78 -74
  20. package/src/components/astro/RLACarousel.astro +75 -71
  21. package/src/components/astro/RLAChangelog.astro +22 -18
  22. package/src/components/astro/RLAChat.astro +22 -18
  23. package/src/components/astro/RLAChatMessage.astro +22 -18
  24. package/src/components/astro/RLAChatMessages.astro +22 -18
  25. package/src/components/astro/RLAChatPalette.astro +22 -18
  26. package/src/components/astro/RLAChatPrompt.astro +22 -18
  27. package/src/components/astro/RLAChatPromptSubmit.astro +22 -18
  28. package/src/components/astro/RLAChatReasoning.astro +22 -18
  29. package/src/components/astro/RLAChatShimmer.astro +22 -18
  30. package/src/components/astro/RLAChatTool.astro +22 -18
  31. package/src/components/astro/RLAChip.astro +51 -20
  32. package/src/components/astro/RLAColorPicker.astro +22 -18
  33. package/src/components/astro/RLACommandPalette.astro +22 -18
  34. package/src/components/astro/RLACompare.astro +22 -18
  35. package/src/components/astro/RLAConfirm.astro +117 -86
  36. package/src/components/astro/RLAContainer.astro +22 -18
  37. package/src/components/astro/RLAContextMenu.astro +22 -18
  38. package/src/components/astro/RLADashboardGroup.astro +22 -18
  39. package/src/components/astro/RLADashboardNavbar.astro +22 -18
  40. package/src/components/astro/RLADashboardPanel.astro +22 -18
  41. package/src/components/astro/RLADashboardResizeHandle.astro +22 -18
  42. package/src/components/astro/RLADashboardSearch.astro +22 -18
  43. package/src/components/astro/RLADashboardSearchButton.astro +22 -18
  44. package/src/components/astro/RLADashboardSidebar.astro +22 -18
  45. package/src/components/astro/RLADashboardSidebarCollapse.astro +22 -18
  46. package/src/components/astro/RLADashboardSidebarToggle.astro +22 -18
  47. package/src/components/astro/RLADashboardToolbar.astro +22 -18
  48. package/src/components/astro/RLADock.astro +22 -18
  49. package/src/{plugins/starlightAddons/components/Gamepad.astro → components/astro/RLADocsGamepad.astro} +178 -180
  50. package/src/{plugins/starlightAddons/components/Keyboard.astro → components/astro/RLADocsKeyboard.astro} +1 -3
  51. package/src/{plugins/starlightAddons/PackageManagers.astro → components/astro/RLADocsPackageManagers.astro} +28 -14
  52. package/src/components/astro/RLADrawer.astro +78 -74
  53. package/src/components/astro/RLAEditor.astro +22 -18
  54. package/src/components/astro/RLAEmpty.astro +22 -18
  55. package/src/components/astro/RLAError.astro +22 -18
  56. package/src/components/astro/RLAFieldset.astro +22 -18
  57. package/src/components/astro/RLAFloatingAction.astro +22 -18
  58. package/src/components/astro/RLAFooter.astro +39 -35
  59. package/src/components/astro/RLAForm.astro +23 -19
  60. package/src/components/astro/RLAGallery.astro +22 -18
  61. package/src/components/astro/RLAGrid.astro +39 -0
  62. package/src/components/astro/RLAHead.astro +25 -9
  63. package/src/components/astro/RLAHeader.astro +59 -107
  64. package/src/components/astro/RLAHoverCard.astro +35 -31
  65. package/src/components/astro/RLAIcon.astro +31 -27
  66. package/src/components/astro/RLAImage.astro +209 -19
  67. package/src/components/astro/RLAInputDate.astro +22 -18
  68. package/src/components/astro/RLAInputNumber.astro +22 -18
  69. package/src/components/astro/RLAInputTags.astro +22 -18
  70. package/src/components/astro/RLAInputTime.astro +22 -18
  71. package/src/components/astro/RLAKbd.astro +32 -22
  72. package/src/components/astro/RLAKnob.astro +22 -18
  73. package/src/components/astro/RLALabel.astro +27 -23
  74. package/src/components/astro/RLALink.astro +22 -18
  75. package/src/components/astro/RLALinkGroup.astro +37 -18
  76. package/src/components/astro/RLAListbox.astro +22 -18
  77. package/src/components/astro/RLALocaleSelector.astro +5 -1
  78. package/src/components/astro/RLALogo.astro +90 -56
  79. package/src/components/astro/RLAMain.astro +8 -2
  80. package/src/components/astro/RLAMarquee.astro +36 -32
  81. package/src/components/astro/RLAMegamenu.astro +22 -18
  82. package/src/components/astro/RLAMeter.astro +22 -18
  83. package/src/components/astro/RLAModal.astro +99 -95
  84. package/src/components/astro/RLANavigationMenu.astro +137 -136
  85. package/src/components/astro/RLAPage.astro +22 -18
  86. package/src/components/astro/RLAPageAside.astro +22 -18
  87. package/src/components/astro/RLAPageBody.astro +22 -18
  88. package/src/components/astro/RLAPageHeader.astro +22 -18
  89. package/src/components/astro/RLAPageSection.astro +5 -1
  90. package/src/components/astro/RLAPagination.astro +98 -94
  91. package/src/components/astro/RLAPassword.astro +22 -18
  92. package/src/components/astro/RLAPhoneMockup.astro +22 -18
  93. package/src/components/astro/RLAPinInput.astro +23 -0
  94. package/src/components/astro/RLAPlaceholder.astro +45 -41
  95. package/src/components/astro/RLAPopover.astro +35 -31
  96. package/src/components/astro/RLAPost.astro +65 -19
  97. package/src/components/astro/RLAPosts.astro +23 -0
  98. package/src/components/astro/RLAPricingPlan.astro +22 -18
  99. package/src/components/astro/RLAPricingTable.astro +22 -18
  100. package/src/components/astro/RLAProse.astro +22 -18
  101. package/src/components/astro/RLAQrCode.astro +22 -18
  102. package/src/components/astro/RLARadioGroup.astro +22 -18
  103. package/src/components/astro/RLARating.astro +22 -18
  104. package/src/components/astro/RLASeparator.astro +78 -27
  105. package/src/components/astro/RLASidebar.astro +212 -135
  106. package/src/components/astro/RLASkeleton.astro +24 -20
  107. package/src/components/astro/RLASlideover.astro +76 -72
  108. package/src/components/astro/RLASpeedDial.astro +22 -18
  109. package/src/components/astro/RLASpoiler.astro +22 -18
  110. package/src/components/astro/RLAStepper.astro +22 -18
  111. package/src/components/astro/RLASteps.astro +71 -0
  112. package/src/components/astro/RLAStickySurface.astro +31 -27
  113. package/src/components/astro/RLATableOfContents.astro +22 -18
  114. package/src/components/astro/RLATabs.astro +133 -92
  115. package/src/components/astro/RLAThemeSelector.astro +5 -1
  116. package/src/components/astro/RLATimeline.astro +22 -18
  117. package/src/components/astro/RLATooltip.astro +35 -31
  118. package/src/components/astro/RLATour.astro +22 -18
  119. package/src/components/astro/RLATree.astro +22 -18
  120. package/src/components/astro/RLAUser.astro +22 -18
  121. package/src/components/astro/RLAVideo.astro +200 -196
  122. package/src/components/astro/RLAWatermark.astro +22 -18
  123. package/src/components/astro/RLAWindowMockup.astro +22 -18
  124. package/src/components/vue/RLVCheckbox.vue +68 -0
  125. package/src/components/vue/RLVForm.vue +44 -0
  126. package/src/components/vue/RLVFormField.vue +58 -0
  127. package/src/components/vue/RLVInput.vue +93 -0
  128. package/src/components/vue/RLVPost.vue +63 -0
  129. package/src/components/vue/RLVPosts.vue +21 -0
  130. package/src/components/vue/RLVSection.vue +5 -4
  131. package/src/components/vue/RLVToast.vue +68 -0
  132. package/src/components/vue/RLVToaster.vue +29 -0
  133. package/src/composables/index.ts +3 -1
  134. package/src/composables/useHeaderStore.ts +14 -0
  135. package/src/composables/useScrollToTop.ts +62 -62
  136. package/src/composables/useToast.ts +42 -0
  137. package/src/env.d.ts +0 -13
  138. package/src/integrations/ui.ts +40 -49
  139. package/src/plugins/index.ts +2 -5
  140. package/src/plugins/starlightDocsApi/index.ts +272 -265
  141. package/src/presets/defaults.ts +297 -285
  142. package/src/presets/index.ts +208 -108
  143. package/src/styles/index.css +160 -162
  144. package/src/themes/3d-hover.theme.ts +13 -10
  145. package/src/themes/accordion.theme.ts +13 -10
  146. package/src/themes/alert.theme.ts +125 -56
  147. package/src/themes/app.theme.ts +13 -10
  148. package/src/themes/aspect-ratio.theme.ts +10 -8
  149. package/src/themes/audio.theme.ts +13 -10
  150. package/src/themes/avatar-group.theme.ts +9 -7
  151. package/src/themes/avatar.theme.ts +84 -28
  152. package/src/themes/badge.theme.ts +163 -66
  153. package/src/themes/banner.theme.ts +13 -10
  154. package/src/themes/breadcrumb.theme.ts +14 -12
  155. package/src/themes/browser-mockup.theme.ts +13 -10
  156. package/src/themes/button.theme.ts +73 -66
  157. package/src/themes/calendar.theme.ts +13 -10
  158. package/src/themes/card.theme.ts +42 -34
  159. package/src/themes/carousel.theme.ts +30 -28
  160. package/src/themes/changelog.theme.ts +13 -10
  161. package/src/themes/chart.theme.ts +22 -21
  162. package/src/themes/chat-message.theme.ts +13 -10
  163. package/src/themes/chat-messages.theme.ts +13 -10
  164. package/src/themes/chat-palette.theme.ts +13 -10
  165. package/src/themes/chat-prompt-submit.theme.ts +13 -10
  166. package/src/themes/chat-prompt.theme.ts +13 -10
  167. package/src/themes/chat-reasoning.theme.ts +13 -10
  168. package/src/themes/chat-shimmer.theme.ts +13 -10
  169. package/src/themes/chat-tool.theme.ts +13 -10
  170. package/src/themes/chat.theme.ts +13 -10
  171. package/src/themes/checkbox.theme.ts +50 -48
  172. package/src/themes/chip.theme.ts +74 -16
  173. package/src/themes/color-picker.theme.ts +13 -10
  174. package/src/themes/command-palette.theme.ts +13 -10
  175. package/src/themes/compare.theme.ts +13 -10
  176. package/src/themes/confirm.theme.ts +48 -33
  177. package/src/themes/container.theme.ts +13 -10
  178. package/src/themes/context-menu.theme.ts +13 -10
  179. package/src/themes/dashboard-group.theme.ts +13 -10
  180. package/src/themes/dashboard-navbar.theme.ts +13 -10
  181. package/src/themes/dashboard-panel.theme.ts +13 -10
  182. package/src/themes/dashboard-resize-handle.theme.ts +13 -10
  183. package/src/themes/dashboard-search-button.theme.ts +13 -10
  184. package/src/themes/dashboard-search.theme.ts +13 -10
  185. package/src/themes/dashboard-sidebar-collapse.theme.ts +13 -10
  186. package/src/themes/dashboard-sidebar-toggle.theme.ts +13 -10
  187. package/src/themes/dashboard-sidebar.theme.ts +13 -10
  188. package/src/themes/dashboard-toolbar.theme.ts +13 -10
  189. package/src/themes/dock.theme.ts +13 -10
  190. package/src/themes/drawer.theme.ts +61 -44
  191. package/src/themes/dropdown-menu.theme.ts +29 -27
  192. package/src/themes/editor.theme.ts +13 -10
  193. package/src/themes/empty.theme.ts +13 -10
  194. package/src/themes/error.theme.ts +13 -10
  195. package/src/themes/field-group.theme.ts +24 -23
  196. package/src/themes/fieldset.theme.ts +13 -10
  197. package/src/themes/floating-action.theme.ts +13 -10
  198. package/src/themes/footer.theme.ts +30 -27
  199. package/src/themes/form.theme.ts +13 -10
  200. package/src/themes/gallery.theme.ts +13 -10
  201. package/src/themes/head.theme.ts +13 -10
  202. package/src/themes/header.theme.ts +46 -43
  203. package/src/themes/hover-card.theme.ts +25 -23
  204. package/src/themes/icon.theme.ts +23 -20
  205. package/src/themes/image.theme.ts +19 -10
  206. package/src/themes/input-date.theme.ts +13 -10
  207. package/src/themes/input-menu.theme.ts +35 -28
  208. package/src/themes/input-number.theme.ts +13 -10
  209. package/src/themes/input-tags.theme.ts +13 -10
  210. package/src/themes/input-time.theme.ts +13 -10
  211. package/src/themes/input.theme.ts +42 -41
  212. package/src/themes/kbd.theme.ts +89 -24
  213. package/src/themes/knob.theme.ts +13 -10
  214. package/src/themes/label.theme.ts +18 -16
  215. package/src/themes/link-group.theme.ts +32 -10
  216. package/src/themes/link.theme.ts +13 -10
  217. package/src/themes/listbox.theme.ts +13 -10
  218. package/src/themes/locale-selector.theme.ts +40 -41
  219. package/src/themes/logo.theme.ts +13 -10
  220. package/src/themes/main.theme.ts +7 -6
  221. package/src/themes/marquee.theme.ts +24 -22
  222. package/src/themes/megamenu.theme.ts +13 -10
  223. package/src/themes/meter.theme.ts +13 -10
  224. package/src/themes/modal.theme.ts +44 -32
  225. package/src/themes/navigation-menu.theme.ts +27 -19
  226. package/src/themes/page-aside.theme.ts +13 -10
  227. package/src/themes/page-body.theme.ts +13 -10
  228. package/src/themes/page-header.theme.ts +13 -10
  229. package/src/themes/page-section.theme.ts +187 -186
  230. package/src/themes/page.theme.ts +13 -10
  231. package/src/themes/pagination.theme.ts +24 -22
  232. package/src/themes/password.theme.ts +13 -10
  233. package/src/themes/phone-mockup.theme.ts +13 -10
  234. package/src/themes/pin-input.theme.ts +14 -0
  235. package/src/themes/placeholder.theme.ts +15 -12
  236. package/src/themes/popover.theme.ts +26 -24
  237. package/src/themes/post.theme.ts +33 -10
  238. package/src/themes/posts.theme.ts +13 -0
  239. package/src/themes/pricing-plan.theme.ts +13 -10
  240. package/src/themes/pricing-table.theme.ts +13 -10
  241. package/src/themes/progress.theme.ts +38 -37
  242. package/src/themes/prose.theme.ts +13 -10
  243. package/src/themes/qr-code.theme.ts +13 -10
  244. package/src/themes/quote.theme.ts +13 -10
  245. package/src/themes/radio-group.theme.ts +13 -10
  246. package/src/themes/rating.theme.ts +13 -10
  247. package/src/themes/scroll-area.theme.ts +26 -24
  248. package/src/themes/scroll-to-top.theme.ts +52 -50
  249. package/src/themes/select.theme.ts +29 -27
  250. package/src/themes/separator.theme.ts +147 -19
  251. package/src/themes/sidebar.theme.ts +38 -33
  252. package/src/themes/skeleton.theme.ts +21 -20
  253. package/src/themes/slideover.theme.ts +53 -37
  254. package/src/themes/slider.theme.ts +36 -34
  255. package/src/themes/speed-dial.theme.ts +13 -10
  256. package/src/themes/spinner.theme.ts +34 -35
  257. package/src/themes/splitter.theme.ts +23 -22
  258. package/src/themes/spoiler.theme.ts +13 -10
  259. package/src/themes/stepper.theme.ts +13 -10
  260. package/src/themes/sticky-surface.theme.ts +9 -7
  261. package/src/themes/switch.theme.ts +67 -65
  262. package/src/themes/table-of-contents.theme.ts +48 -10
  263. package/src/themes/tabs.theme.ts +52 -44
  264. package/src/themes/textarea.theme.ts +27 -26
  265. package/src/themes/theme-selector.theme.ts +9 -10
  266. package/src/themes/timeline.theme.ts +13 -10
  267. package/src/themes/toast.theme.ts +31 -25
  268. package/src/themes/tooltip.theme.ts +28 -27
  269. package/src/themes/tour.theme.ts +13 -10
  270. package/src/themes/tree.theme.ts +13 -10
  271. package/src/themes/user.theme.ts +13 -10
  272. package/src/themes/video.theme.ts +17 -14
  273. package/src/themes/watermark.theme.ts +13 -10
  274. package/src/themes/window-mockup.theme.ts +13 -10
  275. package/src/types/components/3d-hover.ts +11 -11
  276. package/src/types/components/app.ts +11 -11
  277. package/src/types/components/audio.ts +11 -11
  278. package/src/types/components/avatar-group.ts +9 -10
  279. package/src/types/components/avatar.ts +60 -35
  280. package/src/types/components/banner.ts +11 -11
  281. package/src/types/components/browser-mockup.ts +11 -11
  282. package/src/types/components/button.ts +81 -77
  283. package/src/types/components/calendar.ts +11 -11
  284. package/src/types/components/changelog.ts +11 -11
  285. package/src/types/components/chat-message.ts +11 -11
  286. package/src/types/components/chat-messages.ts +11 -11
  287. package/src/types/components/chat-palette.ts +11 -11
  288. package/src/types/components/chat-prompt-submit.ts +11 -11
  289. package/src/types/components/chat-prompt.ts +11 -11
  290. package/src/types/components/chat-reasoning.ts +11 -11
  291. package/src/types/components/chat-shimmer.ts +11 -11
  292. package/src/types/components/chat-tool.ts +11 -11
  293. package/src/types/components/chat.ts +11 -11
  294. package/src/types/components/chip.ts +17 -17
  295. package/src/types/components/color-picker.ts +11 -11
  296. package/src/types/components/command-palette.ts +11 -11
  297. package/src/types/components/compare.ts +11 -11
  298. package/src/types/components/container.ts +17 -11
  299. package/src/types/components/context-menu.ts +11 -11
  300. package/src/types/components/dashboard-group.ts +11 -11
  301. package/src/types/components/dashboard-navbar.ts +11 -11
  302. package/src/types/components/dashboard-panel.ts +11 -11
  303. package/src/types/components/dashboard-resize-handle.ts +11 -11
  304. package/src/types/components/dashboard-search-button.ts +11 -11
  305. package/src/types/components/dashboard-search.ts +11 -11
  306. package/src/types/components/dashboard-sidebar-collapse.ts +11 -11
  307. package/src/types/components/dashboard-sidebar-toggle.ts +11 -11
  308. package/src/types/components/dashboard-sidebar.ts +11 -11
  309. package/src/types/components/dashboard-toolbar.ts +11 -11
  310. package/src/types/components/dock.ts +11 -11
  311. package/src/types/components/editor.ts +11 -11
  312. package/src/types/components/empty.ts +11 -11
  313. package/src/types/components/error.ts +11 -11
  314. package/src/types/components/fieldset.ts +11 -11
  315. package/src/types/components/floating-action.ts +11 -11
  316. package/src/types/components/form.ts +19 -11
  317. package/src/types/components/gallery.ts +11 -11
  318. package/src/types/components/icon.ts +19 -20
  319. package/src/types/components/image.ts +27 -10
  320. package/src/types/components/index.ts +2 -1
  321. package/src/types/components/input-date.ts +11 -11
  322. package/src/types/components/input-menu.ts +43 -44
  323. package/src/types/components/input-number.ts +11 -11
  324. package/src/types/components/input-pin.ts +35 -11
  325. package/src/types/components/input-tags.ts +11 -11
  326. package/src/types/components/input-time.ts +11 -11
  327. package/src/types/components/knob.ts +11 -11
  328. package/src/types/components/link-group.ts +23 -11
  329. package/src/types/components/listbox.ts +11 -11
  330. package/src/types/components/locale-selector.ts +28 -28
  331. package/src/types/components/logo.ts +31 -27
  332. package/src/types/components/main.ts +15 -15
  333. package/src/types/components/megamenu.ts +11 -11
  334. package/src/types/components/meter.ts +11 -11
  335. package/src/types/components/modal.ts +39 -40
  336. package/src/types/components/navigation-menu.ts +54 -54
  337. package/src/types/components/page-aside.ts +11 -11
  338. package/src/types/components/page-body.ts +11 -11
  339. package/src/types/components/page-header.ts +11 -11
  340. package/src/types/components/page.ts +11 -11
  341. package/src/types/components/password.ts +11 -11
  342. package/src/types/components/phone-mockup.ts +5 -5
  343. package/src/types/components/pin-input.ts +11 -0
  344. package/src/types/components/popover.ts +23 -24
  345. package/src/types/components/post.ts +35 -11
  346. package/src/types/components/posts.ts +11 -0
  347. package/src/types/components/pricing-plan.ts +11 -11
  348. package/src/types/components/pricing-table.ts +11 -11
  349. package/src/types/components/progress.ts +33 -34
  350. package/src/types/components/prose.ts +11 -11
  351. package/src/types/components/qr-code.ts +11 -11
  352. package/src/types/components/radio-group.ts +11 -11
  353. package/src/types/components/rating.ts +11 -11
  354. package/src/types/components/scroll-area.ts +23 -24
  355. package/src/types/components/separator.ts +19 -20
  356. package/src/types/components/sidebar.ts +72 -37
  357. package/src/types/components/slideover.ts +31 -32
  358. package/src/types/components/speed-dial.ts +11 -11
  359. package/src/types/components/spinner.ts +25 -26
  360. package/src/types/components/splitter.ts +19 -20
  361. package/src/types/components/spoiler.ts +11 -11
  362. package/src/types/components/stepper.ts +11 -11
  363. package/src/types/components/sticky-surface.ts +19 -20
  364. package/src/types/components/switch.ts +41 -42
  365. package/src/types/components/table-of-contents.ts +17 -11
  366. package/src/types/components/theme-selector.ts +13 -13
  367. package/src/types/components/timeline.ts +11 -11
  368. package/src/types/components/tooltip.ts +23 -24
  369. package/src/types/components/tour.ts +11 -11
  370. package/src/types/components/tree.ts +11 -11
  371. package/src/types/components/user.ts +11 -11
  372. package/src/types/components/watermark.ts +11 -11
  373. package/src/types/components/window-mockup.ts +11 -11
  374. package/src/utils/docs.ts +189 -0
  375. package/src/utils/headerStack.ts +95 -88
  376. package/src/utils/index.ts +5 -4
  377. package/src/components/astro/RLAInputPin.astro +0 -19
  378. package/src/integrations/vue-entrypoint.ts +0 -6
  379. package/src/nuxt.ts +0 -125
  380. package/src/plugins/starlightAddons/PageTitle.astro +0 -113
  381. package/src/plugins/starlightAddons/index.ts +0 -58
  382. package/src/plugins/starlightAddons/starlight.d.ts +0 -6
  383. package/src/themes/input-pin.theme.ts +0 -10
@@ -1,33 +1,38 @@
1
- import { defineTheme } from "../utils/defineTheme"
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: "flex h-16 items-center px-6 border-b border-border gap-2 font-semibold text-lg text-foreground",
9
- content: "flex-1 overflow-y-auto p-4 flex flex-col gap-1.5",
10
- footer: "p-4 border-t border-border flex items-center justify-between",
11
- item: "relative",
12
- itemLink: "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",
13
- itemIcon: "size-4 text-current",
14
- itemBadge: "ml-auto flex size-5 items-center justify-center rounded-full bg-primary/10 text-primary text-[10px] font-bold"
15
- },
16
- variants: {
17
- side: {
18
- left: { root: "left-0 border-r" },
19
- right: { root: "right-0 border-l" }
20
- },
21
- collapsible: {
22
- icon: { root: "w-16 [&_[data-slot=item-text]]:hidden [&_[data-slot=item-badge]]:hidden [&_[data-slot=sidebar-logo]]:hidden" },
23
- offcanvas: { root: "-translate-x-full" },
24
- none: {}
25
- }
26
- },
27
- defaultVariants: {
28
- side: "left",
29
- collapsible: "none"
30
- }
31
- })
32
-
33
- export default createSidebarTheme()
1
+ import { defineTheme } from "../utils/defineTheme"
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"
18
+ },
19
+ variants: {
20
+ side: {
21
+ left: { root: "left-0 border-r" },
22
+ right: { root: "right-0 border-l" }
23
+ },
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: {}
30
+ }
31
+ },
32
+ defaultVariants: {
33
+ side: "left",
34
+ collapsible: "none"
35
+ }
36
+ })
37
+
38
+ export default createSidebarTheme()
@@ -1,20 +1,21 @@
1
- import { defineTheme } from "../utils/defineTheme"
2
-
3
- export const skeletonTheme = defineTheme({
4
- slots: ["root"],
5
- base: {
6
- root: "animate-pulse bg-muted shrink-0"
7
- },
8
- variants: {
9
- shape: {
10
- circle: { root: "rounded-full" },
11
- rectangle: { root: "rounded-none" },
12
- rounded: { root: "rounded-md" }
13
- }
14
- },
15
- defaultVariants: {
16
- shape: "rounded"
17
- }
18
- })
19
-
20
- export default skeletonTheme
1
+ import { defineTheme } from "../utils/defineTheme"
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"
18
+ }
19
+ })
20
+
21
+ export default createSkeletonTheme()
@@ -1,43 +1,59 @@
1
+ import { defaultColors } from "../presets/defaults"
1
2
  import { defineTheme } from "../utils/defineTheme"
2
3
 
3
- export const slideoverTheme = defineTheme({
4
- slots: ["root", "trigger", "backdrop", "content", "header", "title", "description", "footer", "closeButton"],
5
- base: {
6
- root: "relative inline-block",
7
- trigger: "",
8
- backdrop: "fixed inset-0 z-50 bg-black/60 backdrop-blur-sm transition-all duration-300",
9
- content: [
10
- "fixed z-50 bg-background p-6 shadow-xl border-border transition-all duration-300 outline-none",
11
- "data-[state=open]:animate-in data-[state=closed]:animate-out"
4
+ export const createSlideoverTheme = (colors: string[] = defaultColors) =>
5
+ defineTheme({
6
+ slots: [
7
+ "root",
8
+ "trigger",
9
+ "backdrop",
10
+ "content",
11
+ "header",
12
+ "title",
13
+ "description",
14
+ "footer",
15
+ "closeButton"
12
16
  ],
13
- header: "flex flex-col gap-1.5 mb-4",
14
- title: "text-lg font-semibold leading-none tracking-tight text-foreground",
15
- description: "text-sm text-muted-foreground leading-relaxed",
16
- footer: "flex flex-col sm:flex-row sm:justify-end gap-2 mt-6",
17
- closeButton: [
18
- "absolute right-4 top-4 rounded-sm opacity-70 transition-opacity hover:opacity-100",
19
- "focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none"
20
- ]
21
- },
22
- variants: {
23
- side: {
24
- top: {
25
- content: "inset-x-0 top-0 border-b data-[state=open]:slide-in-from-top data-[state=closed]:slide-out-to-top"
26
- },
27
- bottom: {
28
- content: "inset-x-0 bottom-0 border-t data-[state=open]:slide-in-from-bottom data-[state=closed]:slide-out-to-bottom"
29
- },
30
- left: {
31
- content: "inset-y-0 left-0 h-full w-3/4 max-w-sm border-r data-[state=open]:slide-in-from-left data-[state=closed]:slide-out-to-left"
32
- },
33
- right: {
34
- content: "inset-y-0 right-0 h-full w-3/4 max-w-sm border-l data-[state=open]:slide-in-from-right data-[state=closed]:slide-out-to-right"
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",
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 h-full w-3/4 max-w-sm border-r 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 h-full w-3/4 max-w-sm border-l data-[state=open]:slide-in-from-right data-[state=closed]:slide-out-to-right"
51
+ }
35
52
  }
53
+ },
54
+ defaultVariants: {
55
+ side: "right"
36
56
  }
37
- },
38
- defaultVariants: {
39
- side: "right"
40
- }
41
- })
57
+ })
42
58
 
43
- export default slideoverTheme
59
+ export default createSlideoverTheme()
@@ -1,34 +1,36 @@
1
- import { defineTheme } from "../utils/defineTheme"
2
-
3
- const defaultColors = ["primary", "secondary", "info", "success", "warning", "error"]
4
-
5
- export const createSliderTheme = (colors: string[] = defaultColors) =>
6
- defineTheme({
7
- slots: ["root", "track", "range", "thumb"],
8
- base: {
9
- root: "relative flex w-full touch-none select-none items-center",
10
- track: "relative h-1.5 w-full grow overflow-hidden rounded-full bg-muted",
11
- range: "absolute h-full",
12
- thumb: "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(colors.map((color) => [
16
- color,
17
- {
18
- root: `rl-color-${color}`,
19
- range: `bg-[var(--rl-bg)]`,
20
- thumb: `focus-visible:ring-[var(--rl-ring)]/50 hover:border-[var(--rl-border)]`
21
- }
22
- ])),
23
- theme: {
24
- flat: { root: "rl-flat" },
25
- light: { root: "rl-light" },
26
- dark: { root: "rl-dark" }
27
- }
28
- },
29
- defaultVariants: {
30
- color: "primary"
31
- }
32
- })
33
-
34
- export default createSliderTheme()
1
+ import { defaultColors } from "../presets/defaults"
2
+ import { defineTheme } from "../utils/defineTheme"
3
+
4
+ export const createSliderTheme = (colors: string[] = defaultColors) =>
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
+ flat: { root: "rl-flat" },
27
+ light: { root: "rl-light" },
28
+ dark: { root: "rl-dark" }
29
+ }
30
+ },
31
+ defaultVariants: {
32
+ color: "primary"
33
+ }
34
+ })
35
+
36
+ export default createSliderTheme()
@@ -1,10 +1,13 @@
1
- import { defineTheme } from "../utils/defineTheme"
2
-
3
- export default defineTheme({
4
- slots: ["root"],
5
- base: {
6
- root: ""
7
- },
8
- variants: {},
9
- defaultVariants: {}
10
- })
1
+ import { defineTheme } from "../utils/defineTheme"
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()
@@ -1,35 +1,34 @@
1
- import { defineTheme } from "../utils/defineTheme"
2
-
3
- const defaultColors = ["primary", "secondary", "info", "success", "warning", "error"]
4
-
5
- export const createSpinnerTheme = (colors: string[] = defaultColors) =>
6
- defineTheme({
7
- slots: ["root"],
8
- base: {
9
- root: "animate-spin shrink-0 rounded-full border-2 border-t-transparent border-current"
10
- },
11
- variants: {
12
- size: {
13
- xs: { root: "size-3" },
14
- sm: { root: "size-4" },
15
- md: { root: "size-6" },
16
- lg: { root: "size-8" },
17
- xl: { root: "size-10" }
18
- },
19
- color: Object.fromEntries([
20
- ["current", { root: "text-current" }],
21
- ...colors.map((color) => [color, { root: `rl-color-${color} text-[var(--rl-text)]` }])
22
- ]),
23
- theme: {
24
- flat: { root: "rl-flat" },
25
- light: { root: "rl-light" },
26
- dark: { root: "rl-dark" }
27
- }
28
- },
29
- defaultVariants: {
30
- size: "md",
31
- color: "current"
32
- }
33
- })
34
-
35
- export default createSpinnerTheme()
1
+ import { defaultColors } from "../presets/defaults"
2
+ import { defineTheme } from "../utils/defineTheme"
3
+
4
+ export const createSpinnerTheme = (colors: string[] = defaultColors) =>
5
+ defineTheme({
6
+ slots: ["root"],
7
+ base: {
8
+ root: "animate-spin shrink-0 rounded-full border-2 border-t-transparent border-current"
9
+ },
10
+ variants: {
11
+ size: {
12
+ xs: { root: "size-3" },
13
+ sm: { root: "size-4" },
14
+ md: { root: "size-6" },
15
+ lg: { root: "size-8" },
16
+ xl: { root: "size-10" }
17
+ },
18
+ color: Object.fromEntries([
19
+ ["current", { root: "text-current" }],
20
+ ...colors.map((color) => [color, { root: "rl-color-" + color + " text-[var(--rl-text)]" }])
21
+ ]),
22
+ theme: {
23
+ flat: { root: "rl-flat" },
24
+ light: { root: "rl-light" },
25
+ dark: { root: "rl-dark" }
26
+ }
27
+ },
28
+ defaultVariants: {
29
+ size: "md",
30
+ color: "current"
31
+ }
32
+ })
33
+
34
+ export default createSpinnerTheme()
@@ -1,22 +1,23 @@
1
- import { defineTheme } from "../utils/defineTheme"
2
-
3
- export const createSplitterTheme = () =>
4
- defineTheme({
5
- slots: ["root", "panel", "handle"],
6
- base: {
7
- root: "flex w-full h-full",
8
- panel: "overflow-auto transition-all",
9
- handle: "flex items-center justify-center bg-border hover:bg-primary/50 transition-colors cursor-col-resize select-none"
10
- },
11
- variants: {
12
- direction: {
13
- horizontal: { root: "flex-row", handle: "w-1.5 h-full cursor-col-resize" },
14
- vertical: { root: "flex-col", handle: "h-1.5 w-full cursor-row-resize" }
15
- }
16
- },
17
- defaultVariants: {
18
- direction: "horizontal"
19
- }
20
- })
21
-
22
- export default createSplitterTheme()
1
+ import { defineTheme } from "../utils/defineTheme"
2
+
3
+ export const createSplitterTheme = () =>
4
+ defineTheme({
5
+ slots: ["root", "panel", "handle"],
6
+ base: {
7
+ root: "flex w-full h-full",
8
+ panel: "overflow-auto transition-all",
9
+ handle:
10
+ "flex items-center justify-center bg-border hover:bg-primary/50 transition-colors cursor-col-resize select-none"
11
+ },
12
+ variants: {
13
+ direction: {
14
+ horizontal: { root: "flex-row", handle: "w-1.5 h-full cursor-col-resize" },
15
+ vertical: { root: "flex-col", handle: "h-1.5 w-full cursor-row-resize" }
16
+ }
17
+ },
18
+ defaultVariants: {
19
+ direction: "horizontal"
20
+ }
21
+ })
22
+
23
+ export default createSplitterTheme()
@@ -1,10 +1,13 @@
1
- import { defineTheme } from "../utils/defineTheme"
2
-
3
- export default defineTheme({
4
- slots: ["root"],
5
- base: {
6
- root: ""
7
- },
8
- variants: {},
9
- defaultVariants: {}
10
- })
1
+ import { defineTheme } from "../utils/defineTheme"
2
+
3
+ export const createSpoilerTheme = () =>
4
+ defineTheme({
5
+ slots: ["root"],
6
+ base: {
7
+ root: ""
8
+ },
9
+ variants: {},
10
+ defaultVariants: {}
11
+ })
12
+
13
+ export default createSpoilerTheme()
@@ -1,10 +1,13 @@
1
- import { defineTheme } from "../utils/defineTheme"
2
-
3
- export default defineTheme({
4
- slots: ["root"],
5
- base: {
6
- root: ""
7
- },
8
- variants: {},
9
- defaultVariants: {}
10
- })
1
+ import { defineTheme } from "../utils/defineTheme"
2
+
3
+ export const createStepperTheme = () =>
4
+ defineTheme({
5
+ slots: ["root"],
6
+ base: {
7
+ root: ""
8
+ },
9
+ variants: {},
10
+ defaultVariants: {}
11
+ })
12
+
13
+ export default createStepperTheme()
@@ -1,10 +1,12 @@
1
+ import { defaultColors } from "../presets/defaults"
1
2
  import { defineTheme } from "../utils/defineTheme"
2
3
 
3
- export const stickySurfaceTheme = defineTheme({
4
- slots: ["root"],
5
- base: {
6
- root: "sticky top-0 self-start transition-all duration-300"
7
- }
8
- })
4
+ export const createStickySurfaceTheme = (colors: string[] = defaultColors) =>
5
+ defineTheme({
6
+ slots: ["root"],
7
+ base: {
8
+ root: "sticky top-0 self-start transition-all duration-300"
9
+ }
10
+ })
9
11
 
10
- export default stickySurfaceTheme
12
+ export default createStickySurfaceTheme()
@@ -1,65 +1,67 @@
1
- import { defineTheme } from "../utils/defineTheme"
2
-
3
- const defaultColors = ["primary", "secondary", "info", "success", "warning", "error"]
4
-
5
- export const createSwitchTheme = (colors: string[] = defaultColors) =>
6
- defineTheme({
7
- slots: ["root", "input", "track", "thumb", "label"],
8
- base: {
9
- root: "inline-flex items-center gap-2 cursor-pointer select-none",
10
- input: "absolute opacity-0 size-0 pointer-events-none peer",
11
- track: [
12
- "inline-flex h-5 w-9 shrink-0 items-center rounded-full border-2 border-transparent bg-muted transition-all focus-within:ring-2 focus-within:ring-ring focus-within:ring-offset-2",
13
- "peer-disabled:cursor-not-allowed peer-disabled:opacity-50"
14
- ],
15
- thumb: "pointer-events-none block size-4 rounded-full bg-background shadow-lg ring-0 transition-transform duration-200 translate-x-0",
16
- label: "text-sm text-foreground leading-none"
17
- },
18
- variants: {
19
- color: Object.fromEntries(colors.map((color) => [
20
- color,
21
- {
22
- root: `rl-color-${color}`,
23
- track: `peer-checked:bg-[var(--rl-bg)] focus-within:ring-[var(--rl-ring)]/50`
24
- }
25
- ])),
26
- size: {
27
- sm: { track: "h-4 w-7", thumb: "size-3", label: "text-xs" },
28
- md: { track: "h-5 w-9", thumb: "size-4", label: "text-sm" },
29
- lg: { track: "h-6 w-11", thumb: "size-5", label: "text-base" }
30
- },
31
- checked: {
32
- true: { thumb: "translate-x-full" },
33
- false: { thumb: "translate-x-0" }
34
- },
35
- theme: {
36
- flat: { root: "rl-flat" },
37
- light: { root: "rl-light" },
38
- dark: { root: "rl-dark" }
39
- }
40
- },
41
- compoundVariants: [
42
- {
43
- size: "sm",
44
- checked: true,
45
- classNames: { thumb: "translate-x-3" }
46
- },
47
- {
48
- size: "md",
49
- checked: true,
50
- classNames: { thumb: "translate-x-4" }
51
- },
52
- {
53
- size: "lg",
54
- checked: true,
55
- classNames: { thumb: "translate-x-5" }
56
- }
57
- ],
58
- defaultVariants: {
59
- color: "primary",
60
- size: "md",
61
- checked: false
62
- }
63
- })
64
-
65
- export default createSwitchTheme()
1
+ import { defaultColors } from "../presets/defaults"
2
+ import { defineTheme } from "../utils/defineTheme"
3
+
4
+ export const createSwitchTheme = (colors: string[] = defaultColors) =>
5
+ defineTheme({
6
+ slots: ["root", "input", "track", "thumb", "label"],
7
+ base: {
8
+ root: "inline-flex items-center gap-2 cursor-pointer select-none",
9
+ input: "absolute opacity-0 size-0 pointer-events-none peer",
10
+ track: [
11
+ "inline-flex h-5 w-9 shrink-0 items-center rounded-full border-2 border-transparent bg-muted transition-all focus-within:ring-2 focus-within:ring-ring focus-within:ring-offset-2",
12
+ "peer-disabled:cursor-not-allowed peer-disabled:opacity-50"
13
+ ],
14
+ thumb:
15
+ "pointer-events-none block size-4 rounded-full bg-background shadow-lg ring-0 transition-transform duration-200 translate-x-0",
16
+ label: "text-sm text-foreground leading-none"
17
+ },
18
+ variants: {
19
+ color: Object.fromEntries(
20
+ colors.map((color) => [
21
+ color,
22
+ {
23
+ root: "rl-color-" + color,
24
+ track: `peer-checked:bg-[var(--rl-bg)] focus-within:ring-[var(--rl-ring)]/50`
25
+ }
26
+ ])
27
+ ),
28
+ size: {
29
+ sm: { track: "h-4 w-7", thumb: "size-3", label: "text-xs" },
30
+ md: { track: "h-5 w-9", thumb: "size-4", label: "text-sm" },
31
+ lg: { track: "h-6 w-11", thumb: "size-5", label: "text-base" }
32
+ },
33
+ checked: {
34
+ true: { thumb: "translate-x-full" },
35
+ false: { thumb: "translate-x-0" }
36
+ },
37
+ theme: {
38
+ flat: { root: "rl-flat" },
39
+ light: { root: "rl-light" },
40
+ dark: { root: "rl-dark" }
41
+ }
42
+ },
43
+ compoundVariants: [
44
+ {
45
+ size: "sm",
46
+ checked: true,
47
+ classNames: { thumb: "translate-x-3" }
48
+ },
49
+ {
50
+ size: "md",
51
+ checked: true,
52
+ classNames: { thumb: "translate-x-4" }
53
+ },
54
+ {
55
+ size: "lg",
56
+ checked: true,
57
+ classNames: { thumb: "translate-x-5" }
58
+ }
59
+ ],
60
+ defaultVariants: {
61
+ color: "primary",
62
+ size: "md",
63
+ checked: false
64
+ }
65
+ })
66
+
67
+ export default createSwitchTheme()