Shader Buttons

ThreeUI · Buttons · 免费
Shader Buttons 预览

在云境TS 中打开并复制 →

内容预览

# Shader Buttons Six authored shader and canvas button treatments collected into one interactive family. > 来源:ThreeUI Community · https://threeui.com · MIT License(Meng To / Design+Code) > 组件页:https://threeui.com/component/star-portal · 预览动画:https://threeui.com/previews/star-portal.webm > 分类:Buttons > 包含变体(5):ignition-button、induction-button、plasma-button、tactile-button、thinking-button /* ===== src/shaders/shader-buttons/ShaderButtons.tsx (tsx) ===== */ import { lazy, Suspense, type ComponentType, type LazyExoticComponent } from "react"; import type { NeuformIsolatedEffectProps } from "../neuform-isolated/NeuformIsolatedEffects"; export type ShaderButtonVariant = | "star-portal" | "ignition-button" | "induction-button" | "plasma-button" | "tactile-button" | "thinking-button"; /** @deprecated Variant names that shipped before a rename. Use {@link ShaderButtonVariant}. */ export type LegacyShaderButtonVariant = "uploading-button"; export type ShaderButtonsProps = NeuformIsolatedEffectProps & { variant?: ShaderButtonVariant | LegacyShaderButtonVariant; }; const LEGACY_SHADER_BUTTON_VARIANTS = { "uploading-button": "thinking-button", } satisfies Record; const SHADER_BUTTON_VARIANTS = { "star-portal": lazy(() => import("../neuform-isolated/NeuformIsolatedEffects").then((module) => ({ default: module.StarPortal })), ), "ignition-button": lazy(() => import("../neuform-isolated/NeuformIsolatedEffects").then((module) => ({ default: module.IgnitionButton })), ), "induction-button": laz

……(完整源码请在站内查看)