@fxshelf/button-kit
Version:
Animated button shelf for React and Vue — switch styles by variant string. Zero animation-lib deps. Copy-as-source friendly.
68 lines (61 loc) • 2.44 kB
HTML
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>@fxshelf/button-kit · script 直引示例</title>
<!--
@fxshelf/button-kit 浏览器直引示例:零构建工具,React UMD + button-kit 浏览器产物。
资源走 npm CDN(需联网,包已发布为 @fxshelf/button-kit):
CSS: https://unpkg.com/@fxshelf/button-kit/dist/index.css
JS : https://unpkg.com/@fxshelf/button-kit/dist/button-kit.iife.js
本地已 build 时也可改成相对路径:
../dist/index.css
../dist/button-kit.iife.js
注意:不要用 jsDelivr 的 gh/.../dist 直链 —— dist/ 不进 Git,会 404。
注意:React 需用 18.x 的 UMD 版本 —— React 19 起官方不再提供 UMD 构建。
-->
<link rel="stylesheet" href="https://unpkg.com/@fxshelf/button-kit/dist/index.css" />
<style>
* { box-sizing: border-box; }
body {
margin: 0;
min-height: 100vh;
display: grid;
place-items: center;
gap: 1rem;
padding: 2rem;
font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto,
"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
background: #0f0f12;
color: #fafafa;
}
h1 { margin: 0 0 0.5rem; font-size: 1.5rem; }
p { margin: 0 0 1.5rem; opacity: 0.7; font-size: 0.95rem; }
#app { display: flex; flex-wrap: wrap; gap: 0.75rem; justify-content: center; }
</style>
</head>
<body>
<div>
<h1>Button Kit</h1>
<p>零构建:React 18 UMD + <code>button-kit.iife.js</code>,全局 <code>ButtonKit</code>。</p>
<div id="app"></div>
</div>
<script crossorigin src="https://unpkg.com/react@18.3.1/umd/react.production.min.js"></script>
<script crossorigin src="https://unpkg.com/react-dom@18.3.1/umd/react-dom.production.min.js"></script>
<script src="https://unpkg.com/@fxshelf/button-kit/dist/button-kit.iife.js"></script>
<script>
var Button = ButtonKit.Button
var variants = ['solid', 'outline', 'soft', 'glow', 'neon', 'shimmer', 'chroma', 'liquid', 'wipe', 'glass']
ReactDOM.createRoot(document.getElementById('app')).render(
React.createElement(
React.Fragment,
null,
variants.map(function (v) {
return React.createElement(Button, { key: v, variant: v }, v)
}),
),
)
</script>
</body>
</html>