@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
@@ -0,0 +1,132 @@
1
+ import uiConfig from "virtual:rimelight/ui"
2
+ import type { ClassValue, ThemeConfig } from "./types"
3
+
4
+ export function cx(...args: ClassValue[]): string {
5
+ let str = ""
6
+ for (let i = 0; i < args.length; i++) {
7
+ const val = args[i]
8
+ if (!val) continue
9
+ if (typeof val === "string" || typeof val === "number") {
10
+ str += (str ? " " : "") + val
11
+ } else if (Array.isArray(val)) {
12
+ if (val.length) {
13
+ const inner = cx(...val)
14
+ if (inner) str += (str ? " " : "") + inner
15
+ }
16
+ } else if (typeof val === "object") {
17
+ for (const k in val) {
18
+ if (val[k]) str += (str ? " " : "") + k
19
+ }
20
+ }
21
+ }
22
+ return str
23
+ }
24
+
25
+ export function defineTheme<const S extends string>(name: string, themeConfig: ThemeConfig<S>) {
26
+ const custom = uiConfig?.components?.themes?.[name]
27
+ const slots = (custom?.slots ?? themeConfig.slots ?? ["root" as S]) as readonly S[]
28
+ const rootSlot = (slots.includes("root" as S) ? "root" : slots[0] || "root") as S
29
+
30
+ if (uiConfig?.unstyled) {
31
+ return (props: any = {}): Record<S, string> => {
32
+ const res = {} as Record<S, string>
33
+ const hasClass = props.class || props.className
34
+ for (let i = 0; i < slots.length; i++) {
35
+ const slot = slots[i]!
36
+ const base = slot === rootSlot && hasClass ? cx(props.class, props.className) : ""
37
+ const fn = props.ui?.[slot]
38
+ res[slot] = typeof fn === "function" ? fn(base) : cx(base, fn)
39
+ }
40
+ return res
41
+ }
42
+ }
43
+
44
+ const autoColor = (custom?.variants ?? themeConfig.variants)?.color === "auto"
45
+ const defaultVariants = { ...themeConfig.defaultVariants, ...custom?.defaultVariants }
46
+ const compoundVariants = [
47
+ ...(themeConfig.compoundVariants ?? []),
48
+ ...(custom?.compoundVariants ?? [])
49
+ ]
50
+
51
+ const compiledCV = compoundVariants.map((cv) => {
52
+ const { classNames, class: cls, ...rest } = cv
53
+ const matchers: Array<{ key: string; exp: any }> = []
54
+ for (const k in rest) {
55
+ matchers.push({ key: k, exp: rest[k] })
56
+ }
57
+ return { matchers, cls: classNames || cls }
58
+ })
59
+
60
+ const baseMap: Record<string, string> = {}
61
+ for (let i = 0; i < slots.length; i++) {
62
+ const s = slots[i]!
63
+ baseMap[s] = cx(themeConfig.base?.[s], custom?.base?.[s])
64
+ }
65
+
66
+ const variants: Record<string, Record<string, any>> = { ...themeConfig.variants }
67
+ if (custom?.variants) {
68
+ for (const k in custom.variants) variants[k] = { ...variants[k], ...custom.variants[k] }
69
+ }
70
+
71
+ const variantKeys = Object.keys(variants).filter((k) => !(k === "color" && autoColor))
72
+
73
+ return (props: any = {}): Record<S, string> => {
74
+ const res = {} as Record<S, string>
75
+ for (let i = 0; i < slots.length; i++) {
76
+ res[slots[i]!] = baseMap[slots[i]!] || ""
77
+ }
78
+
79
+ const values = { ...defaultVariants, ...props }
80
+ const color = autoColor ? (props.color ?? defaultVariants.color) : undefined
81
+
82
+ for (let k = 0; k < variantKeys.length; k++) {
83
+ const key = variantKeys[k]!
84
+ const selected = values[key]
85
+ if (selected != null && variants[key]?.[selected]) {
86
+ const layer = variants[key][selected]
87
+ for (let i = 0; i < slots.length; i++) {
88
+ const s = slots[i]!
89
+ const l = layer[s]
90
+ if (l) res[s] = res[s] ? `${res[s]} ${cx(l)}` : cx(l)
91
+ }
92
+ }
93
+ }
94
+
95
+ if (compiledCV.length) {
96
+ for (let c = 0; c < compiledCV.length; c++) {
97
+ const { matchers, cls } = compiledCV[c]!
98
+ if (!cls) continue
99
+ let match = true
100
+ for (let m = 0; m < matchers.length; m++) {
101
+ const { key, exp } = matchers[m]!
102
+ const actual = values[key]
103
+ if (Array.isArray(exp) ? !exp.includes(actual) : actual !== exp) {
104
+ match = false
105
+ break
106
+ }
107
+ }
108
+ if (match) {
109
+ for (let i = 0; i < slots.length; i++) {
110
+ const s = slots[i]!
111
+ const l = cls[s]
112
+ if (l) res[s] = res[s] ? `${res[s]} ${cx(l)}` : cx(l)
113
+ }
114
+ }
115
+ }
116
+ }
117
+
118
+ for (let i = 0; i < slots.length; i++) {
119
+ const slot = slots[i]!
120
+ let slotClass = res[slot]!
121
+ if (slot === rootSlot) {
122
+ if (color) slotClass = slotClass ? `${slotClass} rl-color-${color}` : `rl-color-${color}`
123
+ const extra = cx(props.class, props.className)
124
+ if (extra) slotClass = slotClass ? `${slotClass} ${extra}` : extra
125
+ }
126
+ const override = props.ui?.[slot]
127
+ res[slot] = typeof override === "function" ? override(slotClass) : cx(slotClass, override)
128
+ }
129
+
130
+ return res
131
+ }
132
+ }
@@ -0,0 +1,191 @@
1
+ import { atom } from "./stores"
2
+
3
+ export type Handler = (e: KeyboardEvent) => void
4
+ export interface ShortcutConfig {
5
+ handler: Handler
6
+ usingInput?: boolean | string | undefined
7
+ label?: string | undefined
8
+ description?: string | undefined
9
+ category?: string | undefined
10
+ order?: number | undefined
11
+ }
12
+ export type ShortcutsConfig = Record<string, ShortcutConfig | Handler | false | null | undefined>
13
+ export interface ShortcutsOptions {
14
+ chainDelay?: number | undefined
15
+ }
16
+ export interface RegisteredShortcut {
17
+ id: string
18
+ keys: string[]
19
+ label?: string | undefined
20
+ description?: string | undefined
21
+ category?: string | undefined
22
+ order?: number | undefined
23
+ }
24
+
25
+ interface Shortcut {
26
+ handler: Handler
27
+ usingInput?: boolean | string | undefined
28
+ }
29
+
30
+ const isMac = typeof navigator !== "undefined" && /Mac|iP/.test(navigator.userAgent),
31
+ KEYS: Record<string, string> = {
32
+ ctrl: "Ctrl",
33
+ meta: isMac ? "⌘" : "Ctrl",
34
+ alt: isMac ? "⌥" : "Alt",
35
+ shift: isMac ? "⇧" : "Shift",
36
+ enter: "↵",
37
+ delete: "⌦",
38
+ backspace: "⌫",
39
+ escape: "Esc",
40
+ tab: "⇥",
41
+ space: "Space",
42
+ arrowup: "↑",
43
+ arrowdown: "↓",
44
+ arrowleft: "←",
45
+ arrowright: "→"
46
+ }
47
+
48
+ const MODS: Record<string, string> = {
49
+ cmd: "meta",
50
+ command: "meta",
51
+ control: "ctrl",
52
+ opt: "alt",
53
+ option: "alt"
54
+ }
55
+
56
+ export const normalizeModifier = (m: string) => MODS[m.toLowerCase()] || m.toLowerCase()
57
+
58
+ export const formatShortcutKeys = (k: string): string[] =>
59
+ k.split(/[_-]/).map((p) => {
60
+ const norm = normalizeModifier(p)
61
+ return KEYS[norm] ?? (p ? p[0]!.toUpperCase() + p.slice(1) : "")
62
+ })
63
+
64
+ export const activeShortcutsStore = atom<RegisteredShortcut[]>([])
65
+
66
+ const isUsingInput = (el: Element | null): boolean | string => {
67
+ const target = (el?.shadowRoot?.activeElement || el) as HTMLElement | null
68
+ return target && (/INPUT|TEXTAREA|SELECT/.test(target.tagName) || target.isContentEditable)
69
+ ? target.getAttribute("name") || true
70
+ : false
71
+ }
72
+
73
+ const isEnabled = (s: Shortcut, input: boolean | string) =>
74
+ s.usingInput === true || (s.usingInput ? input === s.usingInput : !input)
75
+
76
+ const normalizeCombo = (combo: string) => {
77
+ const parts = combo.toLowerCase().split("_")
78
+ let meta = ""
79
+ let ctrl = ""
80
+ let alt = ""
81
+ let shift = ""
82
+ for (let i = 0; i < parts.length - 1; i++) {
83
+ const m = MODS[parts[i]!] || parts[i]!
84
+ if (m === "meta") meta = "meta_"
85
+ else if (m === "ctrl") ctrl = "ctrl_"
86
+ else if (m === "alt") alt = "alt_"
87
+ else if (m === "shift") shift = "shift_"
88
+ }
89
+ return `${meta}${ctrl}${alt}${shift}${parts[parts.length - 1] || ""}`
90
+ }
91
+
92
+ export function defineShortcuts(
93
+ config: ShortcutsConfig,
94
+ options: ShortcutsOptions = {}
95
+ ): () => void {
96
+ if (typeof window === "undefined") return () => {}
97
+
98
+ const map = new Map<string, Shortcut>()
99
+ const reg: RegisteredShortcut[] = []
100
+
101
+ for (const [k, cfg] of Object.entries(config)) {
102
+ if (!cfg) continue
103
+ const obj = typeof cfg === "object" ? cfg : null
104
+ const handler = obj ? obj.handler : cfg
105
+ if (typeof handler !== "function") continue
106
+
107
+ const key =
108
+ k.includes("-") && k !== "-" && !k.includes("_") ? k.toLowerCase() : normalizeCombo(k)
109
+ map.set(key, { handler, usingInput: obj?.usingInput })
110
+
111
+ if (obj?.label || obj?.description) {
112
+ reg.push({
113
+ id: `${obj.category || "system"}-${k}`,
114
+ keys: formatShortcutKeys(k),
115
+ category: obj.category || "system",
116
+ label: obj.label,
117
+ description: obj.description,
118
+ order: obj.order
119
+ })
120
+ }
121
+ }
122
+
123
+ const ids = new Set(reg.map((i) => i.id))
124
+ if (ids.size) {
125
+ activeShortcutsStore.set(
126
+ activeShortcutsStore
127
+ .get()
128
+ .filter((i) => !ids.has(i.id))
129
+ .concat(reg)
130
+ )
131
+ }
132
+
133
+ const buffer: string[] = []
134
+ let timer: ReturnType<typeof setTimeout> | undefined
135
+
136
+ const onKeyDown = (e: KeyboardEvent) => {
137
+ if (!e.key || e.isComposing) return
138
+ const key = e.key === " " ? "space" : e.key.toLowerCase()
139
+ const codeKey = e.code
140
+ ? e.code
141
+ .replace(/^Key/, "")
142
+ .replace(/^Digit/, "")
143
+ .toLowerCase()
144
+ : ""
145
+ const input = isUsingInput(typeof document !== "undefined" ? document.activeElement : null)
146
+
147
+ buffer.push(key)
148
+ if (buffer.length > 2) buffer.shift()
149
+ clearTimeout(timer)
150
+
151
+ // Chained sequence check (e.g. g-d)
152
+ if (buffer.length === 2) {
153
+ const chainedMatch = map.get(buffer.join("-"))
154
+ if (chainedMatch && isEnabled(chainedMatch, input)) {
155
+ e.preventDefault()
156
+ chainedMatch.handler(e)
157
+ buffer.length = 0
158
+ return
159
+ }
160
+ }
161
+
162
+ // Unified event normalization
163
+ const keysToCheck = Array.from(new Set([key, codeKey].filter(Boolean)))
164
+ for (const k of keysToCheck) {
165
+ const sig = `${e.metaKey ? "meta_" : ""}${e.ctrlKey ? "ctrl_" : ""}${e.altKey ? "alt_" : ""}${e.shiftKey ? "shift_" : ""}${k}`
166
+ const primarySig =
167
+ !isMac && e.ctrlKey && !e.metaKey
168
+ ? `meta_${e.altKey ? "alt_" : ""}${e.shiftKey ? "shift_" : ""}${k}`
169
+ : sig
170
+
171
+ const match = map.get(sig) || map.get(primarySig) || map.get(k)
172
+ if (match && isEnabled(match, input)) {
173
+ e.preventDefault()
174
+ match.handler(e)
175
+ buffer.length = 0
176
+ return
177
+ }
178
+ }
179
+
180
+ timer = setTimeout(() => void (buffer.length = 0), options.chainDelay ?? 800)
181
+ }
182
+
183
+ window.addEventListener("keydown", onKeyDown)
184
+ return () => {
185
+ window.removeEventListener("keydown", onKeyDown)
186
+ clearTimeout(timer)
187
+ if (ids.size) {
188
+ activeShortcutsStore.set(activeShortcutsStore.get().filter((i) => !ids.has(i.id)))
189
+ }
190
+ }
191
+ }
package/src/stores.ts ADDED
@@ -0,0 +1,22 @@
1
+ export interface Atom<T> {
2
+ get: () => T
3
+ set: (next: T) => void
4
+ subscribe: (fn: (val: T) => void) => () => void
5
+ }
6
+
7
+ export function atom<T>(initial: T): Atom<T> {
8
+ let val = initial
9
+ const subs = new Set<(v: T) => void>()
10
+ return {
11
+ get: () => val,
12
+ set: (next: T) => {
13
+ val = next
14
+ subs.forEach((fn) => fn(val))
15
+ },
16
+ subscribe: (fn: (v: T) => void) => {
17
+ subs.add(fn)
18
+ fn(val)
19
+ return () => subs.delete(fn)
20
+ }
21
+ }
22
+ }
package/src/types.ts ADDED
@@ -0,0 +1,75 @@
1
+ import type { UserConfig } from "unocss"
2
+ import type { RimelightIcons } from "./icons"
3
+ import type { PALETTES } from "./preset"
4
+
5
+ export type Theme = "light" | "dark"
6
+ export type BuiltinThemeColor = keyof typeof PALETTES
7
+ export type ThemeColor = BuiltinThemeColor | (string & {})
8
+
9
+ export type ClassValue =
10
+ | string
11
+ | number
12
+ | boolean
13
+ | undefined
14
+ | null
15
+ | { [key: string]: any }
16
+ | ClassValue[]
17
+
18
+ export interface ThemeConfig<S extends string = string> {
19
+ slots?: readonly S[] | S[]
20
+ base?: Partial<Record<S, ClassValue>>
21
+ variants?: Record<string, any>
22
+ compoundVariants?: Array<
23
+ Record<string, any> & {
24
+ classNames?: Partial<Record<S, ClassValue>>
25
+ class?: Partial<Record<S, ClassValue>>
26
+ }
27
+ >
28
+ defaultVariants?: Record<string, any>
29
+ }
30
+
31
+ export type ColorModeInput =
32
+ | [chroma: number, hue: number]
33
+ | readonly [chroma: number, hue: number]
34
+ | Record<string, string>
35
+ | { light?: Record<string, string>; dark?: Record<string, string> }
36
+
37
+ export interface PresetOptions {
38
+ /**
39
+ * Custom colors.
40
+ */
41
+ colors?: Record<string, ColorModeInput>
42
+ /**
43
+ * Global icon overrides mapping icon names to class names (e.g. `i-lucide-x`) or raw SVG strings.
44
+ */
45
+ icons?: RimelightIcons
46
+ /**
47
+ * Configure which built-in UnoCSS presets are enabled/disabled.
48
+ */
49
+ presets?: { wind?: boolean; typography?: boolean; icons?: boolean }
50
+ }
51
+
52
+ export interface UIConfig extends PresetOptions {
53
+ /**
54
+ * Whether to strip default theme classes from all components.
55
+ */
56
+ unstyled?: boolean
57
+ /**
58
+ * Configuration for keyboard shortcuts.
59
+ */
60
+ shortcuts?: { categories?: Record<string, { label: string }> }
61
+ /**
62
+ * Configuration for the Logo component variants.
63
+ */
64
+ logos?: Record<string, string | Record<string, string | undefined>>
65
+ /**
66
+ * Global component configuration overrides.
67
+ */
68
+ components?: {
69
+ themes?: Record<string, ThemeConfig<string>>
70
+ }
71
+ /**
72
+ * Custom UnoCSS configuration overrides.
73
+ */
74
+ unocss?: UserConfig
75
+ }
@@ -0,0 +1,4 @@
1
+ declare module "virtual:rimelight/ui" {
2
+ import type { UIConfig } from "./types"
3
+ export default {} as UIConfig
4
+ }