SuperAPI AI 工具集

duskmoon-art-components

前端与建站

查看项目

更新于 10-16 09:56

技能介绍

用途:在 React 或 Next.js 应用中通过 @duskmoon-dev/art-components 添加 CSS 艺术插画,该包为外部 @duskmoon-dev/css-art 提供 React 包装组件。

安装:bun add @duskmoon-dev/art-components @duskmoon-dev/css-art react react-dom。需在应用根位置导入一次样式:import "@duskmoon-dev/art-components/styles.css";。Next.js App Router 中把样式导入放在 app/layout.tsx 或根客户端入口,不要直接从 dist/ 导入文件。

导入与组件:所有包装组件从包根导出,例如 import { ArtMoon, ArtPlasmaBall } from "@duskmoon-dev/art-components";,同时导出 styles.css。可用包装组件包括 ArtMoon、ArtSun、ArtAtom、ArtEclipse、ArtMountain、ArtSnowflake、ArtPlasmaBall、ArtCircularGallery、ArtCatStargazer、ArtFlowerAnimation、ArtColorSpin、ArtSynthwaveStarfield、ArtCsswitch / ArtCSSwitch、ArtSnowballPreloader、ArtGeminiInput;ArtCircularGalleryItem 作为 TypeScript 条目类型导出。

用法示例要点:装饰性插画可用 <ArtMoon crescent glow size="lg" /> 与 <ArtSun rays pulse size="sm" />;需要语义时用 <ArtAtom decorative={false} aria-label="Orbiting atom logo" />;环形画廊用 ArtCircularGallery 并传 title 与 items 数组(含 title、src、alt);交互式等离子球用 ArtPlasmaBall,支持 defaultChecked 与 onCheckedChange。

变体与属性:多数组件接受 size="sm" | "default" | "lg";ArtMoon 和 ArtSun 还接受 size="xl"。ArtMoon 支持 crescent 和 glow;ArtSun 支持 rays、sunset、pulse;ArtSnowflake 支持 unicode 和 fall;ArtPlasmaBall 支持 checked、defaultChecked、hideBase、hideElectrode、inputProps、onCheckedChange;ArtSynthwaveStarfield 支持 paused;ArtGeminiInput 类似带样式 textarea,可带前置或后置按钮。所有组件接受 className、style 以及通过 style 传入的 CSS 自定义属性。

无障碍:装饰性组件默认对辅助技术隐藏;当插画有含义时传 decorative={false} 并提供 aria-label、aria-labelledby、role 或 title。ArtPlasmaBall 与 ArtGeminiInput 等交互组件应传原生 input 或 textarea 属性,以支持标签、名称、禁用状态和表单集成。

代理注意事项:首次设置示例必须包含样式表导入;保持包装组件名称准确,尤其 ArtCsswitch 及其别名 ArtCSSwitch;不要声称本包拥有底层 CSS 艺术源码,它只是包装 @duskmoon-dev/css-art;优先使用包根导入。若在修改该仓库源码而非使用包,先查看 packages/art-components/src/index.tsx、packages/art-components/package.json 和 packages/art-components/tests/art-components.test.tsx。

限制:资料未提供收费、价格、浏览器兼容范围与性能数据。