@rimelight/ui 0.0.31 → 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.
- package/README.md +157 -30
- package/package.json +105 -108
- package/src/components/TableOfContents.astro +44 -43
- package/src/components/astro/RLA3dHover.astro +23 -0
- package/src/components/astro/RLAAlert.astro +93 -60
- package/src/components/astro/RLAApp.astro +23 -0
- package/src/components/astro/RLAAspectRatio.astro +27 -23
- package/src/components/astro/RLAAudio.astro +23 -0
- package/src/components/astro/RLAAvatar.astro +68 -56
- package/src/components/astro/RLAAvatarGroup.astro +23 -19
- package/src/components/astro/RLABadge.astro +34 -31
- package/src/components/astro/RLABanner.astro +23 -0
- package/src/components/astro/RLABlogPost.astro +7 -0
- package/src/components/astro/RLABlogPosts.astro +9 -0
- package/src/components/astro/RLABreadcrumb.astro +48 -44
- package/src/components/astro/RLABrowserMockup.astro +23 -0
- package/src/components/astro/RLAButton.astro +54 -3
- package/src/components/astro/RLACalendar.astro +23 -0
- package/src/components/astro/RLACard.astro +78 -74
- package/src/components/astro/RLACarousel.astro +75 -71
- package/src/components/astro/RLAChangelog.astro +23 -0
- package/src/components/astro/RLAChart.astro +33 -9
- package/src/components/astro/RLAChat.astro +23 -0
- package/src/components/astro/RLAChatMessage.astro +23 -0
- package/src/components/astro/RLAChatMessages.astro +23 -0
- package/src/components/astro/RLAChatPalette.astro +23 -0
- package/src/components/astro/RLAChatPrompt.astro +23 -0
- package/src/components/astro/RLAChatPromptSubmit.astro +23 -0
- package/src/components/astro/RLAChatReasoning.astro +23 -0
- package/src/components/astro/RLAChatShimmer.astro +23 -0
- package/src/components/astro/RLAChatTool.astro +23 -0
- package/src/components/astro/RLACheckbox.astro +3 -1
- package/src/components/astro/RLAChip.astro +51 -0
- package/src/components/astro/RLAColorPicker.astro +23 -0
- package/src/components/astro/RLACommandPalette.astro +23 -0
- package/src/components/astro/RLACompare.astro +23 -0
- package/src/components/astro/{RLAAlertDialog.astro → RLAConfirm.astro} +117 -86
- package/src/components/astro/RLAContainer.astro +23 -0
- package/src/components/astro/RLAContextMenu.astro +23 -0
- package/src/components/astro/RLADashboardGroup.astro +23 -0
- package/src/components/astro/RLADashboardNavbar.astro +23 -0
- package/src/components/astro/RLADashboardPanel.astro +23 -0
- package/src/components/astro/RLADashboardResizeHandle.astro +23 -0
- package/src/components/astro/RLADashboardSearch.astro +23 -0
- package/src/components/astro/RLADashboardSearchButton.astro +23 -0
- package/src/components/astro/RLADashboardSidebar.astro +23 -0
- package/src/components/astro/RLADashboardSidebarCollapse.astro +23 -0
- package/src/components/astro/RLADashboardSidebarToggle.astro +23 -0
- package/src/components/astro/RLADashboardToolbar.astro +23 -0
- package/src/components/astro/RLADock.astro +23 -0
- package/src/{plugins/starlightAddons/components/Gamepad.astro → components/astro/RLADocsGamepad.astro} +178 -180
- package/src/{plugins/starlightAddons/components/Keyboard.astro → components/astro/RLADocsKeyboard.astro} +1 -3
- package/src/{plugins/starlightAddons/PackageManagers.astro → components/astro/RLADocsPackageManagers.astro} +28 -14
- package/src/components/astro/RLADrawer.astro +78 -74
- package/src/components/astro/RLADropdownMenu.astro +1 -1
- package/src/components/astro/RLAEditor.astro +23 -0
- package/src/components/astro/RLAEmpty.astro +23 -0
- package/src/components/astro/RLAError.astro +23 -0
- package/src/components/astro/{RLAInputGroup.astro → RLAFieldGroup.astro} +7 -7
- package/src/components/astro/RLAFieldset.astro +23 -0
- package/src/components/astro/{RLADropzone.astro → RLAFileUpload.astro} +14 -14
- package/src/components/astro/RLAFloatingAction.astro +23 -0
- package/src/components/astro/RLAFooter.astro +39 -35
- package/src/components/astro/RLAForm.astro +23 -0
- package/src/components/astro/{RLAField.astro → RLAFormField.astro} +7 -7
- package/src/components/astro/RLAGallery.astro +23 -0
- package/src/components/astro/RLAGrid.astro +39 -0
- package/src/components/astro/RLAHead.astro +25 -9
- package/src/components/astro/RLAHeader.astro +59 -107
- package/src/components/astro/RLAHoverCard.astro +35 -31
- package/src/components/astro/RLAIcon.astro +31 -27
- package/src/components/astro/RLAImage.astro +209 -0
- package/src/components/astro/RLAInput.astro +3 -1
- package/src/components/astro/RLAInputDate.astro +23 -0
- package/src/components/astro/{RLACombobox.astro → RLAInputMenu.astro} +22 -22
- package/src/components/astro/RLAInputNumber.astro +23 -0
- package/src/components/astro/RLAInputTags.astro +23 -0
- package/src/components/astro/RLAInputTime.astro +23 -0
- package/src/components/astro/RLAKbd.astro +32 -22
- package/src/components/astro/RLAKnob.astro +23 -0
- package/src/components/astro/RLALabel.astro +27 -23
- package/src/components/astro/RLALink.astro +23 -0
- package/src/components/astro/RLALinkGroup.astro +38 -0
- package/src/components/astro/RLAListbox.astro +23 -0
- package/src/components/astro/RLALocaleSelector.astro +5 -1
- package/src/components/astro/RLALogo.astro +90 -56
- package/src/components/astro/RLAMain.astro +8 -2
- package/src/components/astro/RLAMarquee.astro +36 -32
- package/src/components/astro/RLAMegamenu.astro +23 -0
- package/src/components/astro/RLAMeter.astro +23 -0
- package/src/components/astro/{RLADialog.astro → RLAModal.astro} +99 -95
- package/src/components/astro/RLANavigationMenu.astro +137 -136
- package/src/components/astro/RLAPage.astro +23 -0
- package/src/components/astro/RLAPageAside.astro +23 -0
- package/src/components/astro/RLAPageBody.astro +23 -0
- package/src/components/astro/RLAPageHeader.astro +23 -0
- package/src/components/astro/{RLASection.astro → RLAPageSection.astro} +10 -6
- package/src/components/astro/RLAPagination.astro +98 -94
- package/src/components/astro/RLAPassword.astro +23 -0
- package/src/components/astro/RLAPhoneMockup.astro +23 -0
- package/src/components/astro/RLAPinInput.astro +23 -0
- package/src/components/astro/RLAPlaceholder.astro +45 -41
- package/src/components/astro/RLAPopover.astro +35 -31
- package/src/components/astro/RLAPost.astro +65 -0
- package/src/components/astro/RLAPosts.astro +23 -0
- package/src/components/astro/RLAPricingPlan.astro +23 -0
- package/src/components/astro/RLAPricingTable.astro +23 -0
- package/src/components/astro/RLAProgress.astro +3 -1
- package/src/components/astro/RLAProse.astro +23 -0
- package/src/components/astro/RLAQrCode.astro +23 -0
- package/src/components/astro/RLARadioGroup.astro +23 -0
- package/src/components/astro/RLARating.astro +23 -0
- package/src/components/astro/RLAScrollArea.astro +1 -1
- package/src/components/astro/RLAScrollToTop.astro +172 -159
- package/src/components/astro/RLASeparator.astro +78 -27
- package/src/components/astro/RLASidebar.astro +212 -135
- package/src/components/astro/RLASkeleton.astro +24 -20
- package/src/components/astro/{RLASheet.astro → RLASlideover.astro} +76 -72
- package/src/components/astro/RLASlider.astro +8 -3
- package/src/components/astro/RLASpeedDial.astro +23 -0
- package/src/components/astro/RLASpinner.astro +3 -1
- package/src/components/astro/{RLAResizable.astro → RLASplitter.astro} +7 -7
- package/src/components/astro/RLASpoiler.astro +23 -0
- package/src/components/astro/RLAStepper.astro +23 -0
- package/src/components/astro/RLASteps.astro +71 -0
- package/src/components/astro/RLAStickySurface.astro +31 -27
- package/src/components/astro/RLASwitch.astro +3 -1
- package/src/components/astro/RLATableOfContents.astro +23 -0
- package/src/components/astro/RLATabs.astro +133 -92
- package/src/components/astro/RLAThemeSelector.astro +5 -1
- package/src/components/astro/RLATimeline.astro +23 -0
- package/src/components/astro/RLATooltip.astro +35 -31
- package/src/components/astro/RLATour.astro +23 -0
- package/src/components/astro/RLATree.astro +23 -0
- package/src/components/astro/RLAUser.astro +23 -0
- package/src/components/astro/{RLAEmbedYoutube.astro → RLAVideo.astro} +200 -196
- package/src/components/astro/RLAWatermark.astro +23 -0
- package/src/components/astro/RLAWindowMockup.astro +23 -0
- package/src/components/vue/RLVCheckbox.vue +68 -0
- package/src/components/vue/RLVForm.vue +44 -0
- package/src/components/vue/RLVFormField.vue +58 -0
- package/src/components/vue/RLVInput.vue +93 -0
- package/src/components/vue/RLVPost.vue +63 -0
- package/src/components/vue/RLVPosts.vue +21 -0
- package/src/components/vue/RLVSection.vue +5 -4
- package/src/components/vue/RLVToast.vue +68 -0
- package/src/components/vue/RLVToaster.vue +29 -0
- package/src/composables/index.ts +3 -1
- package/src/composables/useHeaderStore.ts +14 -0
- package/src/composables/useScrollToTop.ts +62 -62
- package/src/composables/useToast.ts +42 -0
- package/src/env.d.ts +0 -13
- package/src/integrations/ui.ts +199 -143
- package/src/plugins/index.ts +2 -5
- package/src/plugins/starlightDocsApi/index.ts +272 -265
- package/src/presets/defaults.ts +297 -0
- package/src/presets/index.ts +637 -256
- package/src/styles/index.css +160 -156
- package/src/themes/3d-hover.theme.ts +13 -0
- package/src/themes/accordion.theme.ts +13 -0
- package/src/themes/alert.theme.ts +125 -51
- package/src/themes/app.theme.ts +13 -0
- package/src/themes/aspect-ratio.theme.ts +13 -0
- package/src/themes/audio.theme.ts +13 -0
- package/src/themes/avatar-group.theme.ts +12 -0
- package/src/themes/avatar.theme.ts +84 -28
- package/src/themes/badge.theme.ts +163 -61
- package/src/themes/banner.theme.ts +13 -0
- package/src/themes/breadcrumb.theme.ts +14 -12
- package/src/themes/browser-mockup.theme.ts +13 -0
- package/src/themes/button.theme.ts +202 -190
- package/src/themes/calendar.theme.ts +13 -0
- package/src/themes/card.theme.ts +42 -34
- package/src/themes/carousel.theme.ts +30 -28
- package/src/themes/changelog.theme.ts +13 -0
- package/src/themes/chart.theme.ts +22 -21
- package/src/themes/chat-message.theme.ts +13 -0
- package/src/themes/chat-messages.theme.ts +13 -0
- package/src/themes/chat-palette.theme.ts +13 -0
- package/src/themes/chat-prompt-submit.theme.ts +13 -0
- package/src/themes/chat-prompt.theme.ts +13 -0
- package/src/themes/chat-reasoning.theme.ts +13 -0
- package/src/themes/chat-shimmer.theme.ts +13 -0
- package/src/themes/chat-tool.theme.ts +13 -0
- package/src/themes/chat.theme.ts +13 -0
- package/src/themes/checkbox.theme.ts +50 -42
- package/src/themes/chip.theme.ts +74 -0
- package/src/themes/color-picker.theme.ts +13 -0
- package/src/themes/command-palette.theme.ts +13 -0
- package/src/themes/compare.theme.ts +13 -0
- package/src/themes/confirm.theme.ts +48 -0
- package/src/themes/container.theme.ts +13 -0
- package/src/themes/context-menu.theme.ts +13 -0
- package/src/themes/dashboard-group.theme.ts +13 -0
- package/src/themes/dashboard-navbar.theme.ts +13 -0
- package/src/themes/dashboard-panel.theme.ts +13 -0
- package/src/themes/dashboard-resize-handle.theme.ts +13 -0
- package/src/themes/dashboard-search-button.theme.ts +13 -0
- package/src/themes/dashboard-search.theme.ts +13 -0
- package/src/themes/dashboard-sidebar-collapse.theme.ts +13 -0
- package/src/themes/dashboard-sidebar-toggle.theme.ts +13 -0
- package/src/themes/dashboard-sidebar.theme.ts +13 -0
- package/src/themes/dashboard-toolbar.theme.ts +13 -0
- package/src/themes/dock.theme.ts +13 -0
- package/src/themes/drawer.theme.ts +61 -44
- package/src/themes/{dropdownMenu.theme.ts → dropdown-menu.theme.ts} +29 -27
- package/src/themes/editor.theme.ts +13 -0
- package/src/themes/empty.theme.ts +13 -0
- package/src/themes/error.theme.ts +13 -0
- package/src/themes/{inputGroup.theme.ts → field-group.theme.ts} +24 -23
- package/src/themes/fieldset.theme.ts +13 -0
- package/src/themes/{dropzone.theme.ts → file-upload.theme.ts} +2 -2
- package/src/themes/floating-action.theme.ts +13 -0
- package/src/themes/footer.theme.ts +30 -27
- package/src/themes/{field.theme.ts → form-field.theme.ts} +2 -2
- package/src/themes/form.theme.ts +13 -0
- package/src/themes/gallery.theme.ts +13 -0
- package/src/themes/head.theme.ts +13 -0
- package/src/themes/header.theme.ts +46 -43
- package/src/themes/hover-card.theme.ts +29 -0
- package/src/themes/icon.theme.ts +23 -20
- package/src/themes/image.theme.ts +19 -0
- package/src/themes/input-date.theme.ts +13 -0
- package/src/themes/input-menu.theme.ts +35 -0
- package/src/themes/input-number.theme.ts +13 -0
- package/src/themes/input-tags.theme.ts +13 -0
- package/src/themes/input-time.theme.ts +13 -0
- package/src/themes/input.theme.ts +42 -36
- package/src/themes/kbd.theme.ts +89 -24
- package/src/themes/knob.theme.ts +13 -0
- package/src/themes/label.theme.ts +18 -16
- package/src/themes/link-group.theme.ts +32 -0
- package/src/themes/link.theme.ts +13 -0
- package/src/themes/listbox.theme.ts +13 -0
- package/src/themes/locale-selector.theme.ts +49 -0
- package/src/themes/logo.theme.ts +13 -10
- package/src/themes/main.theme.ts +7 -6
- package/src/themes/marquee.theme.ts +24 -22
- package/src/themes/megamenu.theme.ts +13 -0
- package/src/themes/meter.theme.ts +13 -0
- package/src/themes/modal.theme.ts +49 -0
- package/src/themes/navigation-menu.theme.ts +27 -0
- package/src/themes/page-aside.theme.ts +13 -0
- package/src/themes/page-body.theme.ts +13 -0
- package/src/themes/page-header.theme.ts +13 -0
- package/src/themes/page-section.theme.ts +187 -0
- package/src/themes/page.theme.ts +13 -0
- package/src/themes/pagination.theme.ts +24 -22
- package/src/themes/password.theme.ts +13 -0
- package/src/themes/phone-mockup.theme.ts +13 -0
- package/src/themes/pin-input.theme.ts +14 -0
- package/src/themes/placeholder.theme.ts +15 -12
- package/src/themes/popover.theme.ts +26 -24
- package/src/themes/post.theme.ts +33 -0
- package/src/themes/posts.theme.ts +13 -0
- package/src/themes/pricing-plan.theme.ts +13 -0
- package/src/themes/pricing-table.theme.ts +13 -0
- package/src/themes/progress.theme.ts +38 -26
- package/src/themes/prose.theme.ts +13 -0
- package/src/themes/qr-code.theme.ts +13 -0
- package/src/themes/quote.theme.ts +13 -0
- package/src/themes/radio-group.theme.ts +13 -0
- package/src/themes/rating.theme.ts +13 -0
- package/src/themes/{scrollArea.theme.ts → scroll-area.theme.ts} +26 -24
- package/src/themes/scroll-to-top.theme.ts +52 -46
- package/src/themes/select.theme.ts +29 -27
- package/src/themes/separator.theme.ts +147 -19
- package/src/themes/sidebar.theme.ts +38 -33
- package/src/themes/skeleton.theme.ts +21 -20
- package/src/themes/slideover.theme.ts +59 -0
- package/src/themes/slider.theme.ts +36 -28
- package/src/themes/speed-dial.theme.ts +13 -0
- package/src/themes/spinner.theme.ts +34 -30
- package/src/themes/{resizable.theme.ts → splitter.theme.ts} +23 -22
- package/src/themes/spoiler.theme.ts +13 -0
- package/src/themes/stepper.theme.ts +13 -0
- package/src/themes/sticky-surface.theme.ts +12 -0
- package/src/themes/switch.theme.ts +67 -59
- package/src/themes/table-of-contents.theme.ts +48 -0
- package/src/themes/tabs.theme.ts +52 -44
- package/src/themes/textarea.theme.ts +27 -26
- package/src/themes/theme-selector.theme.ts +15 -0
- package/src/themes/timeline.theme.ts +13 -0
- package/src/themes/toast.theme.ts +31 -25
- package/src/themes/tooltip.theme.ts +28 -27
- package/src/themes/tour.theme.ts +13 -0
- package/src/themes/tree.theme.ts +13 -0
- package/src/themes/user.theme.ts +13 -0
- package/src/themes/video.theme.ts +17 -0
- package/src/themes/watermark.theme.ts +13 -0
- package/src/themes/window-mockup.theme.ts +13 -0
- package/src/types/components/3d-hover.ts +11 -0
- package/src/types/components/accordion.ts +1 -1
- package/src/types/components/alert.ts +7 -1
- package/src/types/components/app.ts +11 -0
- package/src/types/components/aspect-ratio.ts +2 -2
- package/src/types/components/audio.ts +11 -0
- package/src/types/components/avatar-group.ts +11 -0
- package/src/types/components/avatar.ts +60 -47
- package/src/types/components/badge.ts +8 -2
- package/src/types/components/banner.ts +11 -0
- package/src/types/components/breadcrumb.ts +2 -2
- package/src/types/components/browser-mockup.ts +11 -0
- package/src/types/components/button.ts +81 -71
- package/src/types/components/calendar.ts +11 -0
- package/src/types/components/card.ts +2 -2
- package/src/types/components/carousel.ts +2 -2
- package/src/types/components/changelog.ts +11 -0
- package/src/types/components/chart.ts +2 -2
- package/src/types/components/chat-message.ts +11 -0
- package/src/types/components/chat-messages.ts +11 -0
- package/src/types/components/chat-palette.ts +11 -0
- package/src/types/components/chat-prompt-submit.ts +11 -0
- package/src/types/components/chat-prompt.ts +11 -0
- package/src/types/components/chat-reasoning.ts +11 -0
- package/src/types/components/chat-shimmer.ts +11 -0
- package/src/types/components/chat-tool.ts +11 -0
- package/src/types/components/chat.ts +11 -0
- package/src/types/components/checkbox.ts +8 -2
- package/src/types/components/chip.ts +17 -0
- package/src/types/components/collapsible.ts +2 -2
- package/src/types/components/color-picker.ts +11 -0
- package/src/types/components/command-palette.ts +11 -0
- package/src/types/components/compare.ts +11 -0
- package/src/types/components/{alert-dialog.ts → confirm.ts} +2 -2
- package/src/types/components/container.ts +17 -0
- package/src/types/components/context-menu.ts +11 -0
- package/src/types/components/dashboard-group.ts +11 -0
- package/src/types/components/dashboard-navbar.ts +11 -0
- package/src/types/components/dashboard-panel.ts +11 -0
- package/src/types/components/dashboard-resize-handle.ts +11 -0
- package/src/types/components/dashboard-search-button.ts +11 -0
- package/src/types/components/dashboard-search.ts +11 -0
- package/src/types/components/dashboard-sidebar-collapse.ts +11 -0
- package/src/types/components/dashboard-sidebar-toggle.ts +11 -0
- package/src/types/components/dashboard-sidebar.ts +11 -0
- package/src/types/components/dashboard-toolbar.ts +11 -0
- package/src/types/components/dock.ts +11 -0
- package/src/types/components/drawer.ts +2 -2
- package/src/types/components/dropdown-menu.ts +2 -2
- package/src/types/components/editor.ts +11 -0
- package/src/types/components/empty.ts +11 -0
- package/src/types/components/error.ts +11 -0
- package/src/types/components/{input-group.ts → field-group.ts} +3 -3
- package/src/types/components/fieldset.ts +11 -0
- package/src/types/components/{dropzone.ts → file-upload.ts} +4 -4
- package/src/types/components/floating-action.ts +11 -0
- package/src/types/components/footer.ts +1 -1
- package/src/types/components/{field.ts → form-field.ts} +3 -3
- package/src/types/components/form.ts +19 -0
- package/src/types/components/gallery.ts +11 -0
- package/src/types/components/header.ts +1 -1
- package/src/types/components/hover-card.ts +2 -2
- package/src/types/components/icon.ts +19 -19
- package/src/types/components/image.ts +28 -0
- package/src/types/components/index.ts +135 -60
- package/src/types/components/input-date.ts +11 -0
- package/src/types/components/{combobox.ts → input-menu.ts} +43 -43
- package/src/types/components/input-number.ts +11 -0
- package/src/types/components/{native-select.ts → input-pin.ts} +35 -39
- package/src/types/components/input-tags.ts +11 -0
- package/src/types/components/input-time.ts +11 -0
- package/src/types/components/input.ts +8 -2
- package/src/types/components/kbd.ts +2 -2
- package/src/types/components/knob.ts +11 -0
- package/src/types/components/label.ts +2 -2
- package/src/types/components/link-group.ts +23 -0
- package/src/types/components/link.ts +1 -1
- package/src/types/components/listbox.ts +11 -0
- package/src/types/components/locale-selector.ts +33 -0
- package/src/types/components/logo.ts +31 -27
- package/src/types/components/main.ts +15 -15
- package/src/types/components/marquee.ts +2 -2
- package/src/types/components/megamenu.ts +11 -0
- package/src/types/components/meter.ts +11 -0
- package/src/types/components/{dialog.ts → modal.ts} +39 -39
- package/src/types/components/navigation-menu.ts +54 -27
- package/src/types/components/page-aside.ts +11 -0
- package/src/types/components/page-body.ts +11 -0
- package/src/types/components/page-header.ts +11 -0
- package/src/types/components/{section.ts → page-section.ts} +2 -2
- package/src/types/components/page.ts +11 -0
- package/src/types/components/pagination.ts +2 -2
- package/src/types/components/password.ts +11 -0
- package/src/types/components/phone-mockup.ts +5 -0
- package/src/types/components/pin-input.ts +11 -0
- package/src/types/components/placeholder.ts +1 -1
- package/src/types/components/popover.ts +23 -23
- package/src/types/components/post.ts +35 -0
- package/src/types/components/posts.ts +11 -0
- package/src/types/components/pricing-plan.ts +11 -0
- package/src/types/components/pricing-table.ts +11 -0
- package/src/types/components/progress.ts +33 -27
- package/src/types/components/prose.ts +11 -0
- package/src/types/components/qr-code.ts +11 -0
- package/src/types/components/quote.ts +11 -0
- package/src/types/components/radio-group.ts +11 -0
- package/src/types/components/rating.ts +11 -0
- package/src/types/components/scroll-area.ts +23 -23
- package/src/types/components/scroll-to-top.ts +7 -1
- package/src/types/components/select.ts +2 -2
- package/src/types/components/separator.ts +19 -19
- package/src/types/components/sidebar.ts +72 -36
- package/src/types/components/skeleton.ts +2 -2
- package/src/types/components/{sheet.ts → slideover.ts} +31 -31
- package/src/types/components/slider.ts +8 -2
- package/src/types/components/speed-dial.ts +11 -0
- package/src/types/components/spinner.ts +25 -19
- package/src/types/components/{resizable.ts → splitter.ts} +19 -19
- package/src/types/components/spoiler.ts +11 -0
- package/src/types/components/stepper.ts +11 -0
- package/src/types/components/sticky-surface.ts +19 -19
- package/src/types/components/switch.ts +41 -35
- package/src/types/components/table-of-contents.ts +17 -0
- package/src/types/components/table.ts +2 -2
- package/src/types/components/tabs.ts +2 -2
- package/src/types/components/textarea.ts +2 -2
- package/src/types/components/theme-selector.ts +15 -0
- package/src/types/components/timeline.ts +11 -0
- package/src/types/components/toast.ts +2 -2
- package/src/types/components/tooltip.ts +23 -23
- package/src/types/components/tour.ts +11 -0
- package/src/types/components/tree.ts +11 -0
- package/src/types/components/user.ts +11 -0
- package/src/types/components/{embed-youtube.ts → video.ts} +2 -2
- package/src/types/components/watermark.ts +11 -0
- package/src/types/components/window-mockup.ts +11 -0
- package/src/types/index.ts +2 -1
- package/src/types/theme.ts +1 -0
- package/src/utils/docs.ts +189 -0
- package/src/utils/headerStack.ts +95 -88
- package/src/utils/index.ts +5 -4
- package/src/components/astro/RLANativeSelect.astro +0 -51
- package/src/components/astro/RLAToggle.astro +0 -38
- package/src/components/astro/RLAToggleGroup.astro +0 -30
- package/src/integrations/vue-entrypoint.ts +0 -6
- package/src/nuxt.ts +0 -125
- package/src/plugins/starlightAddons/PageTitle.astro +0 -113
- package/src/plugins/starlightAddons/index.ts +0 -58
- package/src/plugins/starlightAddons/starlight.d.ts +0 -6
- package/src/preset.ts +0 -393
- package/src/themes/alertDialog.theme.ts +0 -33
- package/src/themes/aspectRatio.theme.ts +0 -11
- package/src/themes/avatarGroup.theme.ts +0 -10
- package/src/themes/combobox.theme.ts +0 -28
- package/src/themes/dialog.theme.ts +0 -37
- package/src/themes/embedYoutube.theme.ts +0 -14
- package/src/themes/hoverCard.theme.ts +0 -27
- package/src/themes/localeSelector.theme.ts +0 -50
- package/src/themes/nativeSelect.theme.ts +0 -24
- package/src/themes/navigationMenu.theme.ts +0 -19
- package/src/themes/section.theme.ts +0 -186
- package/src/themes/sheet.theme.ts +0 -43
- package/src/themes/stickySurface.theme.ts +0 -10
- package/src/themes/themeSelector.theme.ts +0 -16
- package/src/themes/toggle.theme.ts +0 -42
- package/src/themes/toggleGroup.theme.ts +0 -21
- package/src/types/components/localeSelector.ts +0 -33
- package/src/types/components/navigation.ts +0 -34
- package/src/types/components/themeSelector.ts +0 -15
- package/src/types/components/toggle-group.ts +0 -23
- package/src/types/components/toggle.ts +0 -27
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
import { scv } from "css-variants"
|
|
3
|
+
import { useUi, resolveClasses } from "../../utils"
|
|
4
|
+
import type { DashboardSidebarProps } from "../../types"
|
|
5
|
+
import dashboardSidebarThemeDefault, { createDashboardSidebarTheme } from "../../themes/dashboard-sidebar.theme"
|
|
6
|
+
import { getUIConfig } from "virtual:rimelight-ui"
|
|
7
|
+
|
|
8
|
+
const uiConfig = getUIConfig()
|
|
9
|
+
const dashboardSidebarTheme = uiConfig.colors ? createDashboardSidebarTheme() : dashboardSidebarThemeDefault
|
|
10
|
+
|
|
11
|
+
const dashboardSidebar = scv(dashboardSidebarTheme)
|
|
12
|
+
|
|
13
|
+
const {
|
|
14
|
+
ui: uiProp,
|
|
15
|
+
class: className,
|
|
16
|
+
...rest
|
|
17
|
+
} = Astro.props as DashboardSidebarProps
|
|
18
|
+
|
|
19
|
+
const classes = resolveClasses(dashboardSidebar, {}, useUi("dashboardSidebar", uiProp), className);
|
|
20
|
+
---
|
|
21
|
+
<div class={classes.root} data-slot="root" {...rest}>
|
|
22
|
+
<slot />
|
|
23
|
+
</div>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
import { scv } from "css-variants"
|
|
3
|
+
import { useUi, resolveClasses } from "../../utils"
|
|
4
|
+
import type { DashboardSidebarCollapseProps } from "../../types"
|
|
5
|
+
import dashboardSidebarCollapseThemeDefault, { createDashboardSidebarCollapseTheme } from "../../themes/dashboard-sidebar-collapse.theme"
|
|
6
|
+
import { getUIConfig } from "virtual:rimelight-ui"
|
|
7
|
+
|
|
8
|
+
const uiConfig = getUIConfig()
|
|
9
|
+
const dashboardSidebarCollapseTheme = uiConfig.colors ? createDashboardSidebarCollapseTheme() : dashboardSidebarCollapseThemeDefault
|
|
10
|
+
|
|
11
|
+
const dashboardSidebarCollapse = scv(dashboardSidebarCollapseTheme)
|
|
12
|
+
|
|
13
|
+
const {
|
|
14
|
+
ui: uiProp,
|
|
15
|
+
class: className,
|
|
16
|
+
...rest
|
|
17
|
+
} = Astro.props as DashboardSidebarCollapseProps
|
|
18
|
+
|
|
19
|
+
const classes = resolveClasses(dashboardSidebarCollapse, {}, useUi("dashboardSidebarCollapse", uiProp), className);
|
|
20
|
+
---
|
|
21
|
+
<div class={classes.root} data-slot="root" {...rest}>
|
|
22
|
+
<slot />
|
|
23
|
+
</div>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
import { scv } from "css-variants"
|
|
3
|
+
import { useUi, resolveClasses } from "../../utils"
|
|
4
|
+
import type { DashboardSidebarToggleProps } from "../../types"
|
|
5
|
+
import dashboardSidebarToggleThemeDefault, { createDashboardSidebarToggleTheme } from "../../themes/dashboard-sidebar-toggle.theme"
|
|
6
|
+
import { getUIConfig } from "virtual:rimelight-ui"
|
|
7
|
+
|
|
8
|
+
const uiConfig = getUIConfig()
|
|
9
|
+
const dashboardSidebarToggleTheme = uiConfig.colors ? createDashboardSidebarToggleTheme() : dashboardSidebarToggleThemeDefault
|
|
10
|
+
|
|
11
|
+
const dashboardSidebarToggle = scv(dashboardSidebarToggleTheme)
|
|
12
|
+
|
|
13
|
+
const {
|
|
14
|
+
ui: uiProp,
|
|
15
|
+
class: className,
|
|
16
|
+
...rest
|
|
17
|
+
} = Astro.props as DashboardSidebarToggleProps
|
|
18
|
+
|
|
19
|
+
const classes = resolveClasses(dashboardSidebarToggle, {}, useUi("dashboardSidebarToggle", uiProp), className);
|
|
20
|
+
---
|
|
21
|
+
<div class={classes.root} data-slot="root" {...rest}>
|
|
22
|
+
<slot />
|
|
23
|
+
</div>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
import { scv } from "css-variants"
|
|
3
|
+
import { useUi, resolveClasses } from "../../utils"
|
|
4
|
+
import type { DashboardToolbarProps } from "../../types"
|
|
5
|
+
import dashboardToolbarThemeDefault, { createDashboardToolbarTheme } from "../../themes/dashboard-toolbar.theme"
|
|
6
|
+
import { getUIConfig } from "virtual:rimelight-ui"
|
|
7
|
+
|
|
8
|
+
const uiConfig = getUIConfig()
|
|
9
|
+
const dashboardToolbarTheme = uiConfig.colors ? createDashboardToolbarTheme() : dashboardToolbarThemeDefault
|
|
10
|
+
|
|
11
|
+
const dashboardToolbar = scv(dashboardToolbarTheme)
|
|
12
|
+
|
|
13
|
+
const {
|
|
14
|
+
ui: uiProp,
|
|
15
|
+
class: className,
|
|
16
|
+
...rest
|
|
17
|
+
} = Astro.props as DashboardToolbarProps
|
|
18
|
+
|
|
19
|
+
const classes = resolveClasses(dashboardToolbar, {}, useUi("dashboardToolbar", uiProp), className);
|
|
20
|
+
---
|
|
21
|
+
<div class={classes.root} data-slot="root" {...rest}>
|
|
22
|
+
<slot />
|
|
23
|
+
</div>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
import { scv } from "css-variants"
|
|
3
|
+
import { useUi, resolveClasses } from "../../utils"
|
|
4
|
+
import type { DockProps } from "../../types"
|
|
5
|
+
import dockThemeDefault, { createDockTheme } from "../../themes/dock.theme"
|
|
6
|
+
import { getUIConfig } from "virtual:rimelight-ui"
|
|
7
|
+
|
|
8
|
+
const uiConfig = getUIConfig()
|
|
9
|
+
const dockTheme = uiConfig.colors ? createDockTheme() : dockThemeDefault
|
|
10
|
+
|
|
11
|
+
const dock = scv(dockTheme)
|
|
12
|
+
|
|
13
|
+
const {
|
|
14
|
+
ui: uiProp,
|
|
15
|
+
class: className,
|
|
16
|
+
...rest
|
|
17
|
+
} = Astro.props as DockProps
|
|
18
|
+
|
|
19
|
+
const classes = resolveClasses(dock, {}, useUi("dock", uiProp), className);
|
|
20
|
+
---
|
|
21
|
+
<div class={classes.root} data-slot="root" {...rest}>
|
|
22
|
+
<slot />
|
|
23
|
+
</div>
|
|
@@ -1,180 +1,178 @@
|
|
|
1
|
-
---
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
{ id: '
|
|
48
|
-
{ id: '
|
|
49
|
-
{ id: '
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
{ id: '
|
|
56
|
-
{ id: '
|
|
57
|
-
{ id: '
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
{ id: '
|
|
62
|
-
{ id: '
|
|
63
|
-
{ id: '
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
{ id: '
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
{ id: '
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
<div class="gamepad-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
<stop offset="
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
const
|
|
93
|
-
const
|
|
94
|
-
const
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
stroke={highlight.active ? "
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
stroke="
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
const
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
stroke={highlight.active ? "
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
const
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
stroke={highlight.active ? "
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
</
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
</div>
|
|
180
|
-
|
|
1
|
+
---
|
|
2
|
+
interface HighlightGroup {
|
|
3
|
+
label: string
|
|
4
|
+
buttons: string[]
|
|
5
|
+
color: string
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
interface Props {
|
|
9
|
+
highlightedButtons?: string[]
|
|
10
|
+
groups?: HighlightGroup[]
|
|
11
|
+
highlightColor?: string
|
|
12
|
+
backgroundColor?: string
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const {
|
|
16
|
+
highlightedButtons = [],
|
|
17
|
+
groups = [],
|
|
18
|
+
highlightColor = 'var(--color-primary-500, #00c16a)',
|
|
19
|
+
backgroundColor = 'transparent'
|
|
20
|
+
} = Astro.props
|
|
21
|
+
|
|
22
|
+
function getButtonHighlight(buttonId: string) {
|
|
23
|
+
if (highlightedButtons.includes(buttonId)) {
|
|
24
|
+
return { active: true, color: highlightColor }
|
|
25
|
+
}
|
|
26
|
+
for (const group of groups) {
|
|
27
|
+
if (group.buttons.includes(buttonId)) {
|
|
28
|
+
return { active: true, color: group.color }
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return { active: false, color: undefined }
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
interface Button {
|
|
35
|
+
id: string
|
|
36
|
+
label?: string
|
|
37
|
+
x: number
|
|
38
|
+
y: number
|
|
39
|
+
r?: number
|
|
40
|
+
w?: number
|
|
41
|
+
h?: number
|
|
42
|
+
type?: string
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
const shoulderButtons: Button[] = [
|
|
46
|
+
{ id: 'L2', label: 'LT', x: 65, y: 10, w: 80, h: 22 },
|
|
47
|
+
{ id: 'L1', label: 'LB', x: 65, y: 42, w: 80, h: 22 },
|
|
48
|
+
{ id: 'R2', label: 'RT', x: 255, y: 10, w: 80, h: 22 },
|
|
49
|
+
{ id: 'R1', label: 'RB', x: 255, y: 42, w: 80, h: 22 },
|
|
50
|
+
]
|
|
51
|
+
|
|
52
|
+
const mainButtons: Button[] = [
|
|
53
|
+
// Face Buttons
|
|
54
|
+
{ id: 'Y', label: 'Y', x: 315, y: 125, r: 12 },
|
|
55
|
+
{ id: 'X', label: 'X', x: 288, y: 152, r: 12 },
|
|
56
|
+
{ id: 'B', label: 'B', x: 342, y: 152, r: 12 },
|
|
57
|
+
{ id: 'A', label: 'A', x: 315, y: 179, r: 12 },
|
|
58
|
+
|
|
59
|
+
// D-Pad
|
|
60
|
+
{ id: 'DPadUp', x: 85, y: 130, w: 20, h: 20, type: 'dpad' },
|
|
61
|
+
{ id: 'DPadDown', x: 85, y: 174, w: 20, h: 20, type: 'dpad' },
|
|
62
|
+
{ id: 'DPadLeft', x: 63, y: 152, w: 20, h: 20, type: 'dpad' },
|
|
63
|
+
{ id: 'DPadRight', x: 107, y: 152, w: 20, h: 20, type: 'dpad' },
|
|
64
|
+
|
|
65
|
+
// Sticks
|
|
66
|
+
{ id: 'LS', x: 155, y: 215, r: 24 },
|
|
67
|
+
{ id: 'RS', x: 245, y: 215, r: 24 },
|
|
68
|
+
|
|
69
|
+
// Menu Buttons
|
|
70
|
+
{ id: 'View', label: '⧉', x: 145, y: 105, w: 16, h: 10 },
|
|
71
|
+
{ id: 'Menu', label: '≡', x: 239, y: 105, w: 16, h: 10 },
|
|
72
|
+
]
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
<div class="gamepad-wrapper">
|
|
76
|
+
<div class="gamepad-container">
|
|
77
|
+
<svg viewBox="-20 -20 440 380" class="gamepad-svg">
|
|
78
|
+
<defs>
|
|
79
|
+
<linearGradient id="bodyGrad" x1="0%" y1="0%" x2="0%" y2="100%">
|
|
80
|
+
<stop offset="0%" stop-color="#2a2a40" stop-opacity="1" />
|
|
81
|
+
<stop offset="100%" stop-color="#1a1a2e" stop-opacity="1" />
|
|
82
|
+
</linearGradient>
|
|
83
|
+
</defs>
|
|
84
|
+
|
|
85
|
+
{backgroundColor && backgroundColor !== 'transparent' && (
|
|
86
|
+
<rect x="-20" y="-20" width="440" height="360" fill={backgroundColor} rx="24" />
|
|
87
|
+
)}
|
|
88
|
+
|
|
89
|
+
<!-- Shoulder Buttons -->
|
|
90
|
+
{shoulderButtons.map(btn => {
|
|
91
|
+
const highlight = getButtonHighlight(btn.id);
|
|
92
|
+
const w = btn.w || 0;
|
|
93
|
+
const h = btn.h || 0;
|
|
94
|
+
const color = highlight.active ? (highlight.color || highlightColor) : '#1e1e30';
|
|
95
|
+
|
|
96
|
+
return (
|
|
97
|
+
<g class={`gp-btn shoulder ${highlight.active ? 'active' : ''}`}>
|
|
98
|
+
<rect
|
|
99
|
+
x={btn.x}
|
|
100
|
+
y={btn.y}
|
|
101
|
+
width={w}
|
|
102
|
+
height={h}
|
|
103
|
+
rx="5"
|
|
104
|
+
fill={color}
|
|
105
|
+
stroke={highlight.active ? "#ffffff33" : "#33334d"}
|
|
106
|
+
stroke-width={highlight.active ? "1.5" : "1"}
|
|
107
|
+
/>
|
|
108
|
+
<text x={btn.x + w/2} y={btn.y + h/2} text-anchor="middle" dominant-baseline="central" class="btn-label" fill={highlight.active ? "#fff" : "#555570"}>{btn.label}</text>
|
|
109
|
+
</g>
|
|
110
|
+
)
|
|
111
|
+
})}
|
|
112
|
+
|
|
113
|
+
<!-- Controller Body -->
|
|
114
|
+
<path
|
|
115
|
+
d="M120,85 L280,85 C320,85 340,95 350,115 C370,145 390,215 390,245 C390,285 360,315 320,315 C290,315 260,285 240,255 C220,245 180,245 160,255 C140,285 110,315 80,315 C40,315 10,285 10,245 C10,215 30,145 50,115 C60,95 80,85 120,85 Z"
|
|
116
|
+
fill="url(#bodyGrad)"
|
|
117
|
+
stroke="#33334d"
|
|
118
|
+
stroke-width="1"
|
|
119
|
+
/>
|
|
120
|
+
|
|
121
|
+
<!-- Touchpad -->
|
|
122
|
+
<path d="M145,90 L255,90 L262,150 L138,150 Z" fill="#151525" stroke="#33334d" stroke-width="0.5" />
|
|
123
|
+
|
|
124
|
+
{mainButtons.map(btn => {
|
|
125
|
+
const highlight = getButtonHighlight(btn.id);
|
|
126
|
+
const color = highlight.active ? (highlight.color || highlightColor) : '#1e1e30';
|
|
127
|
+
|
|
128
|
+
if (btn.r) {
|
|
129
|
+
return (
|
|
130
|
+
<g class={`gp-btn ${highlight.active ? 'active' : ''}`}>
|
|
131
|
+
<circle
|
|
132
|
+
cx={btn.x}
|
|
133
|
+
cy={btn.y}
|
|
134
|
+
r={btn.r}
|
|
135
|
+
fill={color}
|
|
136
|
+
stroke={highlight.active ? "#ffffff33" : "#33334d"}
|
|
137
|
+
stroke-width={highlight.active ? "1.5" : "1"}
|
|
138
|
+
/>
|
|
139
|
+
{btn.label && <text x={btn.x} y={btn.y} text-anchor="middle" dominant-baseline="central" class="btn-label" fill={highlight.active ? "#fff" : "#555570"}>{btn.label}</text>}
|
|
140
|
+
</g>
|
|
141
|
+
)
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
const w = btn.w || 0;
|
|
145
|
+
const h = btn.h || 0;
|
|
146
|
+
return (
|
|
147
|
+
<g class={`gp-btn ${highlight.active ? 'active' : ''}`}>
|
|
148
|
+
<rect
|
|
149
|
+
x={btn.x}
|
|
150
|
+
y={btn.y}
|
|
151
|
+
width={w}
|
|
152
|
+
height={h}
|
|
153
|
+
rx="3"
|
|
154
|
+
fill={color}
|
|
155
|
+
stroke={highlight.active ? "#ffffff33" : "#33334d"}
|
|
156
|
+
stroke-width={highlight.active ? "1.5" : "1"}
|
|
157
|
+
/>
|
|
158
|
+
{btn.label && <text x={btn.x + w/2} y={btn.y + h/2} text-anchor="middle" dominant-baseline="central" class="btn-label" fill={highlight.active ? "#fff" : "#555570"}>{btn.label}</text>}
|
|
159
|
+
</g>
|
|
160
|
+
)
|
|
161
|
+
})}
|
|
162
|
+
|
|
163
|
+
</svg>
|
|
164
|
+
</div>
|
|
165
|
+
|
|
166
|
+
{groups.some(g => g.label) && (
|
|
167
|
+
<div class="flex flex-wrap justify-center gap-x-6 gap-y-3 mt-10 w-full">
|
|
168
|
+
{groups.filter(g => g.label).map(group => (
|
|
169
|
+
<div class="flex items-center gap-2 m-0 p-0 h-[10px] text-[10px] text-[#777790] uppercase tracking-[0.1em] font-bold leading-[10px]">
|
|
170
|
+
<svg width="8" height="8" class="flex-shrink-0 block">
|
|
171
|
+
<rect width="8" height="8" rx="2" fill={group.color} />
|
|
172
|
+
</svg>
|
|
173
|
+
<span class="inline-block h-[10px] leading-[10px] m-0 p-0">{group.label}</span>
|
|
174
|
+
</div>
|
|
175
|
+
))}
|
|
176
|
+
</div>
|
|
177
|
+
)}
|
|
178
|
+
</div>
|
|
@@ -25,7 +25,7 @@ const {
|
|
|
25
25
|
keySize = 40,
|
|
26
26
|
variant = 'full',
|
|
27
27
|
os = 'windows',
|
|
28
|
-
highlightColor = 'var(--
|
|
28
|
+
highlightColor = 'var(--color-primary-500, #00c16a)',
|
|
29
29
|
backgroundColor = 'transparent'
|
|
30
30
|
} = Astro.props
|
|
31
31
|
|
|
@@ -159,7 +159,6 @@ const displayMainRows = variant === '60'
|
|
|
159
159
|
]
|
|
160
160
|
: mainRows;
|
|
161
161
|
|
|
162
|
-
|
|
163
162
|
interface RenderKey extends Key {
|
|
164
163
|
x: number;
|
|
165
164
|
y: number;
|
|
@@ -318,4 +317,3 @@ if (variant === 'full') {
|
|
|
318
317
|
</div>
|
|
319
318
|
)}
|
|
320
319
|
</div>
|
|
321
|
-
|
|
@@ -1,14 +1,19 @@
|
|
|
1
1
|
---
|
|
2
|
-
import
|
|
3
|
-
import
|
|
2
|
+
import RLATabs from "./RLATabs.astro";
|
|
3
|
+
import Prism from "prismjs";
|
|
4
|
+
import "prismjs/components/prism-bash.js";
|
|
5
|
+
|
|
6
|
+
type Manager = "npm" | "pnpm" | "yarn" | "deno" | "bun" | "vp"
|
|
7
|
+
type CommandType = "add" | "create" | "dlx" | "exec" | "install" | "remove" | "run"
|
|
4
8
|
|
|
5
9
|
interface Props {
|
|
6
10
|
pkg?: string
|
|
7
|
-
type?:
|
|
11
|
+
type?: CommandType
|
|
8
12
|
dev?: boolean
|
|
9
13
|
args?: string
|
|
10
14
|
comment?: string
|
|
11
15
|
prefix?: string
|
|
16
|
+
managers?: Manager[]
|
|
12
17
|
}
|
|
13
18
|
|
|
14
19
|
const {
|
|
@@ -18,20 +23,18 @@ const {
|
|
|
18
23
|
args,
|
|
19
24
|
comment,
|
|
20
25
|
prefix,
|
|
26
|
+
managers = ["npm", "pnpm", "yarn", "deno", "bun", "vp"]
|
|
21
27
|
} = Astro.props
|
|
22
28
|
|
|
23
|
-
type Manager = "npm" | "yarn" | "pnpm" | "bun"
|
|
24
|
-
type CommandType = NonNullable<Props["type"]>
|
|
25
|
-
|
|
26
29
|
const commands: Record<Manager, Partial<Record<CommandType, string>> & { dev: string }> = {
|
|
27
30
|
npm: { add: "npm i", create: "npm create", dlx: "npx", exec: "npx", install: "npm install", run: "npm run", remove: "npm uninstall", dev: "-D" },
|
|
28
31
|
yarn: { add: "yarn add", create: "yarn create", dlx: "yarn dlx", exec: "yarn", install: "yarn install", run: "yarn run", remove: "yarn remove", dev: "-D" },
|
|
29
32
|
pnpm: { add: "pnpm add", create: "pnpm create", dlx: "pnpx", exec: "pnpm", install: "pnpm install", run: "pnpm run", remove: "pnpm remove", dev: "-D" },
|
|
33
|
+
deno: { add: "deno add", create: "deno run -A", dlx: "deno run", exec: "deno run", install: "deno install", run: "deno task", remove: "deno remove", dev: "--dev" },
|
|
30
34
|
bun: { add: "bun add", create: "bun create", install: "bun install", run: "bun run", remove: "bun remove", dev: "-d" },
|
|
35
|
+
vp: { add: "vp add", create: "vp create", dlx: "vp dlx", exec: "vp exec", install: "vp install", run: "vp run", remove: "vp remove", dev: "-D" },
|
|
31
36
|
}
|
|
32
37
|
|
|
33
|
-
const managers: Manager[] = ["npm", "pnpm", "yarn", "bun"]
|
|
34
|
-
|
|
35
38
|
function getCommand(mgr: Manager, cmdType: CommandType): string | undefined {
|
|
36
39
|
let cmd = commands[mgr][cmdType]
|
|
37
40
|
if (cmd === undefined) return undefined
|
|
@@ -62,12 +65,23 @@ const tabs = managers
|
|
|
62
65
|
cmd: getCommand(mgr, type),
|
|
63
66
|
}))
|
|
64
67
|
.filter((tab) => tab.cmd !== undefined)
|
|
68
|
+
|
|
69
|
+
const tabItems = tabs.map((tab) => ({
|
|
70
|
+
value: tab.mgr,
|
|
71
|
+
label: tab.mgr,
|
|
72
|
+
}))
|
|
73
|
+
|
|
74
|
+
// Pre-render the highlighted bash command via pure static prismjs
|
|
75
|
+
const highlightedTabs = tabs.map((tab) => ({
|
|
76
|
+
mgr: tab.mgr,
|
|
77
|
+
html: Prism.highlight(tab.cmd!, Prism.languages.bash || Prism.languages.shell, "bash")
|
|
78
|
+
}))
|
|
65
79
|
---
|
|
66
80
|
|
|
67
|
-
<
|
|
68
|
-
{
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
81
|
+
<RLATabs items={tabItems} color="primary" size="md" variant="solid">
|
|
82
|
+
{highlightedTabs.map((tab, idx) => (
|
|
83
|
+
<div role="tabpanel" data-value={tab.mgr} class:list={[{ "hidden": idx !== 0 }]}>
|
|
84
|
+
<pre class="language-sh"><code class="language-sh" set:html={tab.html}></code></pre>
|
|
85
|
+
</div>
|
|
72
86
|
))}
|
|
73
|
-
</
|
|
87
|
+
</RLATabs>
|