@lanrenbang/basecoat-ultra 0.1.2 → 0.1.4
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-cn.md +118 -102
- package/README.md +77 -47
- package/package.json +35 -17
package/README-cn.md
CHANGED
|
@@ -1,122 +1,148 @@
|
|
|
1
1
|
# Basecoat Ultra
|
|
2
2
|
|
|
3
|
-
[English](./README.md)
|
|
3
|
+
**中文** | [English](./README.md)
|
|
4
4
|
|
|
5
|
-
Basecoat
|
|
6
|
-
Basecoat
|
|
5
|
+
Basecoat 是一套基于 Tailwind CSS 构建的组件库。它旨在用于任何传统的 Web 技术栈。
|
|
6
|
+
Basecoat 将 shadcn/ui 的设计魔法带到了传统 Web 开发中:无需 React。
|
|
7
7
|
|
|
8
|
-
**Basecoat Ultra** 是基于 [Basecoat](https://basecoatui.com)
|
|
8
|
+
**Basecoat Ultra** 是基于 [Basecoat](https://basecoatui.com) 的增强版 UI 库。它保留了“Tailwind 优先、框架无关”的核心理念,同时提供了针对现代审美和轻量级需求的深度定制。我们移除了对 Nunjucks/Jinja 的原生支持,转而专注于提供更丰富的交互组件、开箱即用的主题系统以及精细的视觉增强。
|
|
9
9
|
|
|
10
|
-
## ✨ 特性
|
|
10
|
+
## ✨ 特性
|
|
11
11
|
|
|
12
|
-
### 🛠️
|
|
13
|
-
我们对 Basecoat
|
|
14
|
-
- **CSS
|
|
15
|
-
-
|
|
16
|
-
-
|
|
17
|
-
- `Button
|
|
18
|
-
- `Dialog
|
|
19
|
-
- `Dropdown Menu
|
|
20
|
-
- `Sidebar
|
|
12
|
+
### 🛠️ 核心改进
|
|
13
|
+
我们对 Basecoat 核心进行了大量细节打磨和错误修复(详见 CHANGELOG),包括但不限于:
|
|
14
|
+
- **CSS 模块化**:将单体 CSS 重构为模块化结构,支持按需加载。
|
|
15
|
+
- **构建修复**:解决了 Tailwind v4 中复杂选择器的转义问题。
|
|
16
|
+
- **组件优化**:
|
|
17
|
+
- `Button`:修复了特定背景下 Ghost/Link 变体的显示问题。
|
|
18
|
+
- `Dialog`:引入了更自然的缩放和回弹动画。
|
|
19
|
+
- `Dropdown Menu`:修复了初始化时的闪烁问题。
|
|
20
|
+
- `Sidebar`:智能识别并高亮当前页面的逻辑。
|
|
21
21
|
|
|
22
|
-
### 🧩 新增组件
|
|
23
|
-
|
|
24
|
-
- **Accordion (手风琴)
|
|
25
|
-
- **Sheet (
|
|
26
|
-
- **Carousel (
|
|
27
|
-
- **Input OTP (验证码输入)
|
|
28
|
-
- **Toggle Group (
|
|
29
|
-
- **Toggle (
|
|
22
|
+
### 🧩 新增组件
|
|
23
|
+
引入了一系列受 shadcn/ui 启发的高频组件,完全独立于 React/Vue:
|
|
24
|
+
- **Accordion (手风琴)**:原版仅存在于演示中,现已标准化并内置。基于原生 `<details>`,零 JS 动画。
|
|
25
|
+
- **Sheet (侧边栏/抽屉)**:优雅的侧滑面板。
|
|
26
|
+
- **Carousel (轮播)**:轻量级轮播组件。
|
|
27
|
+
- **Input OTP (验证码输入)**:专用的单次密码输入框。
|
|
28
|
+
- **Toggle Group (切换组)**:类似 Radio Group 的按钮式交互。
|
|
29
|
+
- **Toggle (切换按钮)**:独立的切换按钮样式。
|
|
30
30
|
|
|
31
|
-
### 🔌 外部集成
|
|
32
|
-
|
|
33
|
-
- **Date Picker
|
|
34
|
-
- **Resizable
|
|
31
|
+
### 🔌 外部集成
|
|
32
|
+
集成了优秀的第三方库以填补纯 CSS/Vanilla JS 的空白(需单独引入):
|
|
33
|
+
- **Date Picker (日期选择器)**:基于 [Flatpickr](https://flatpickr.js.org/) 的深度定制版,完美适配主题。
|
|
34
|
+
- **Resizable (拖拽分割)**:基于 [Split.js](https://split.js.org/) 的可拖拽分割面板。
|
|
35
35
|
|
|
36
|
-
### 🎨 视觉增强
|
|
37
|
-
- **Catppuccin
|
|
38
|
-
-
|
|
39
|
-
-
|
|
40
|
-
- **3D
|
|
36
|
+
### 🎨 视觉增强
|
|
37
|
+
- **Catppuccin 主题**:内置支持完整的 [Catppuccin](https://github.com/catppuccin/catppuccin) 配色方案 (Latte, Frappé, Macchiato, Mocha)。
|
|
38
|
+
- **拟态设计 (Neumorphism) 扩展**:
|
|
39
|
+
- **全局光照系统**:独特的小鼠跟随光照效果 (`lighting.js`),赋予 `.neu-panel`、`.neu-btn` 元素拟态质感。
|
|
40
|
+
- **3D 翻转**:支持基于 CSS 3D Transform 的卡片翻转效果。
|
|
41
41
|
|
|
42
|
-
## 📦 安装
|
|
42
|
+
## 📦 安装
|
|
43
43
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
### 1. 安装依赖
|
|
44
|
+
推荐使用 `bun`,当然也支持 `npm` 或 `pnpm`:
|
|
47
45
|
|
|
48
46
|
```bash
|
|
49
|
-
|
|
50
|
-
|
|
47
|
+
bun add @lanrenbang/basecoat-ultra
|
|
48
|
+
# 或
|
|
49
|
+
npm install @lanrenbang/basecoat-ultra
|
|
50
|
+
```
|
|
51
51
|
|
|
52
|
-
|
|
53
|
-
bunx jsr add @lanrenbang/basecoat-ultra
|
|
52
|
+
## 🚀 配置 (构建工具)
|
|
54
53
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
54
|
+
如果您使用 Vite、Webpack 等构建工具,并已配置 Tailwind CSS v4,请按照以下步骤操作。
|
|
55
|
+
|
|
56
|
+
### 1. 引入 CSS
|
|
58
57
|
|
|
59
|
-
|
|
58
|
+
在您的 CSS 入口文件(例如 `style.css`)中引入。
|
|
60
59
|
|
|
61
|
-
|
|
60
|
+
**注意**:请引入不带编译的源码版本(`/css`),让您的 Tailwind 配置来处理样式。切勿引入 `.cdn.css` 版本。
|
|
62
61
|
|
|
63
62
|
```css
|
|
64
63
|
@import "tailwindcss";
|
|
65
|
-
/* 引入核心样式 */
|
|
66
|
-
@import "@lanrenbang/basecoat-ultra/css/basecoat.css";
|
|
67
|
-
/* 或者使用 CDN 版本(包含 Tailwind 工具类) */
|
|
68
|
-
/* @import "@lanrenbang/basecoat-ultra/css/basecoat.cdn.css"; */
|
|
69
64
|
|
|
70
|
-
/*
|
|
71
|
-
@import "@lanrenbang/basecoat-ultra/
|
|
65
|
+
/* 1. Basecoat 核心样式 (必须) */
|
|
66
|
+
@import "@lanrenbang/basecoat-ultra/css";
|
|
67
|
+
|
|
68
|
+
/* 2. 外部扩展组件样式 (可选,仅当您使用这些组件时需要) */
|
|
69
|
+
@import "@lanrenbang/basecoat-ultra/css/datepicker.css";
|
|
70
|
+
@import "@lanrenbang/basecoat-ultra/css/resizable.css";
|
|
71
|
+
|
|
72
|
+
/* 3. 主题样式 (可选,必须显式引入) */
|
|
73
|
+
/* 我们提供了一套 Catppuccin 主题,您也可以参考源码实现自己的主题 */
|
|
74
|
+
@import "@lanrenbang/basecoat-ultra/theme/catppuccin/index.css";
|
|
72
75
|
```
|
|
73
76
|
|
|
74
|
-
###
|
|
77
|
+
### 2. 引入 JavaScript
|
|
78
|
+
|
|
79
|
+
在您的应用入口文件(例如 `main.js` 或 `app.ts`)中引入。
|
|
75
80
|
|
|
76
|
-
|
|
81
|
+
**方式一:全量引入 (推荐)**
|
|
82
|
+
包含核心逻辑及大部分常用组件(不含 Datepicker/Resizable)。
|
|
77
83
|
|
|
78
84
|
```javascript
|
|
79
|
-
// 全量引入 (包含所有组件逻辑)
|
|
80
85
|
import '@lanrenbang/basecoat-ultra';
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
**方式二:按需引入**
|
|
89
|
+
如果您想减少体积,可以只引入需要的组件。
|
|
90
|
+
**重要**:必须首先引入 `basecoat` 核心模块,因为其他组件依赖它来注册初始化逻辑。
|
|
91
|
+
|
|
92
|
+
```javascript
|
|
93
|
+
// 1. 先引入核心
|
|
94
|
+
import '@lanrenbang/basecoat-ultra/basecoat';
|
|
81
95
|
|
|
82
|
-
//
|
|
83
|
-
import '@lanrenbang/basecoat-ultra/basecoat'; // 核心
|
|
96
|
+
// 2. 再引入具体组件
|
|
84
97
|
import '@lanrenbang/basecoat-ultra/tabs';
|
|
85
|
-
import '@lanrenbang/basecoat-ultra/
|
|
86
|
-
|
|
98
|
+
import '@lanrenbang/basecoat-ultra/select';
|
|
99
|
+
import '@lanrenbang/basecoat-ultra/popover';
|
|
87
100
|
```
|
|
88
101
|
|
|
89
|
-
|
|
102
|
+
**外部扩展组件 (必须单独引入)**
|
|
103
|
+
无论使用哪种方式,以下组件因为体积较大或依赖外部库,**不会**包含在默认入口中,必须显式引入:
|
|
90
104
|
|
|
91
105
|
```javascript
|
|
92
|
-
//
|
|
93
|
-
import '
|
|
94
|
-
import '@lanrenbang/basecoat-ultra/css/datepicker.css';
|
|
95
|
-
import '@lanrenbang/basecoat-ultra/datepicker';
|
|
96
|
-
|
|
97
|
-
// Resizable
|
|
98
|
-
import '@lanrenbang/basecoat-ultra/css/resizable.css';
|
|
99
|
-
import '@lanrenbang/basecoat-ultra/resizable';
|
|
106
|
+
import '@lanrenbang/basecoat-ultra/datepicker'; // 基于 flatpickr
|
|
107
|
+
import '@lanrenbang/basecoat-ultra/resizable'; // 基于 split.js
|
|
100
108
|
```
|
|
101
109
|
|
|
102
|
-
|
|
110
|
+
---
|
|
103
111
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
112
|
+
## 🌐 CDN 用法 (无构建工具)
|
|
113
|
+
|
|
114
|
+
如果您不使用打包工具,可以直接通过 CDN (jsDelivr) 引入。这里我们使用编译好的 `.cdn.css` 版本(已包含 Tailwind 样式)。
|
|
115
|
+
|
|
116
|
+
### CSS
|
|
117
|
+
|
|
118
|
+
```html
|
|
119
|
+
<!-- Basecoat 核心 (包含 Tailwind 样式) -->
|
|
120
|
+
<link href="https://cdn.jsdelivr.net/npm/@lanrenbang/basecoat-ultra@latest/dist/css/basecoat.cdn.min.css" rel="stylesheet">
|
|
121
|
+
|
|
122
|
+
<!-- 外部扩展 (可选) -->
|
|
123
|
+
<link href="https://cdn.jsdelivr.net/npm/@lanrenbang/basecoat-ultra@latest/dist/css/datepicker.min.css" rel="stylesheet">
|
|
124
|
+
<link href="https://cdn.jsdelivr.net/npm/@lanrenbang/basecoat-ultra@latest/dist/css/resizable.min.css" rel="stylesheet">
|
|
125
|
+
|
|
126
|
+
<!-- 主题 (可选) -->
|
|
127
|
+
<link href="https://cdn.jsdelivr.net/npm/@lanrenbang/basecoat-ultra@latest/dist/theme/catppuccin/index.min.css" rel="stylesheet">
|
|
113
128
|
```
|
|
114
129
|
|
|
115
|
-
|
|
130
|
+
### JavaScript
|
|
131
|
+
|
|
132
|
+
```html
|
|
133
|
+
<!-- 核心与常用组件 -->
|
|
134
|
+
<script src="https://cdn.jsdelivr.net/npm/@lanrenbang/basecoat-ultra@latest/dist/js/all.min.js" defer></script>
|
|
135
|
+
|
|
136
|
+
<!-- 外部扩展 (可选) -->
|
|
137
|
+
<script src="https://cdn.jsdelivr.net/npm/@lanrenbang/basecoat-ultra@latest/dist/js/datepicker.min.js" defer></script>
|
|
138
|
+
<script src="https://cdn.jsdelivr.net/npm/@lanrenbang/basecoat-ultra@latest/dist/js/resizable.min.js" defer></script>
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
## 🛠️ 开发指南
|
|
116
142
|
|
|
117
143
|
本项目使用 [Bun](https://bun.sh) 作为包管理器和运行时,使用 [Vite](https://vitejs.dev) 进行构建。
|
|
118
144
|
|
|
119
|
-
###
|
|
145
|
+
### 启动项目
|
|
120
146
|
|
|
121
147
|
```bash
|
|
122
148
|
# 1. 克隆项目
|
|
@@ -130,9 +156,9 @@ bun install
|
|
|
130
156
|
bun run dev
|
|
131
157
|
```
|
|
132
158
|
|
|
133
|
-
###
|
|
159
|
+
### 防闪烁脚本 (Anti-flash)
|
|
134
160
|
|
|
135
|
-
|
|
161
|
+
为了防止在使用 Catppuccin 主题切换器时刷新页面出现闪烁 (FOUC),请将以下脚本放在 HTML `<head>` 标签的顶部:
|
|
136
162
|
|
|
137
163
|
```html
|
|
138
164
|
<script>
|
|
@@ -142,12 +168,12 @@ bun run dev
|
|
|
142
168
|
const a = localStorage.getItem('catppuccin-accent');
|
|
143
169
|
const m = localStorage.getItem('basecoat-mode');
|
|
144
170
|
const r = document.documentElement;
|
|
145
|
-
//
|
|
171
|
+
// 优先使用主题配置
|
|
146
172
|
if (t && a) {
|
|
147
173
|
r.classList.add(`theme-${t}`, `accent-${a}`);
|
|
148
174
|
if(['frappe','macchiato','mocha'].includes(t)) r.classList.add('dark');
|
|
149
175
|
} else if (m) {
|
|
150
|
-
//
|
|
176
|
+
// 仅夜间/日间模式偏好
|
|
151
177
|
r.classList.toggle('dark', m === 'dark');
|
|
152
178
|
} else {
|
|
153
179
|
// 跟随系统
|
|
@@ -158,29 +184,19 @@ bun run dev
|
|
|
158
184
|
</script>
|
|
159
185
|
```
|
|
160
186
|
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
如果你是维护者,按照以下步骤发布新版本:
|
|
164
|
-
|
|
165
|
-
1. 登录 JSR (仅需一次):
|
|
166
|
-
```bash
|
|
167
|
-
bunx jsr login
|
|
168
|
-
```
|
|
169
|
-
2. 发布:
|
|
170
|
-
```bash
|
|
171
|
-
bunx jsr publish
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
## ❤️ 鸣谢 (Credits)
|
|
187
|
+
## ❤️ 致谢
|
|
175
188
|
|
|
176
189
|
本项目站在巨人的肩膀上:
|
|
177
190
|
|
|
178
|
-
* **[Basecoat](https://basecoatui.com)**:
|
|
179
|
-
* **[Catppuccin](https://github.com/catppuccin/palette)**:
|
|
180
|
-
* **[puikinsh/login-forms](https://github.com/puikinsh/login-forms/tree/main/forms/neumorphism)**:
|
|
191
|
+
* **[Basecoat](https://basecoatui.com)**: 原作者 [hunvreus](https://github.com/hunvreus)。大部分基础代码归原作者所有。
|
|
192
|
+
* **[Catppuccin](https://github.com/catppuccin/palette)**: 提供了精美的配色方案。
|
|
193
|
+
* **[puikinsh/login-forms](https://github.com/puikinsh/login-forms/tree/main/forms/neumorphism)**: 拟态光照和 3D 效果的灵感来源。
|
|
181
194
|
* **[Flatpickr](https://flatpickr.js.org/)** & **[Split.js](https://split.js.org/)**: 优秀的第三方库支持。
|
|
182
195
|
|
|
183
|
-
##
|
|
196
|
+
## 通过捐赠支持我
|
|
197
|
+
[](https://buymeacoffee.com/bobbynona) [](https://ko-fi.com/bobbynona) [](https://github.com/Lanrenbang/.github/blob/5b06b0b2d0b8e4ce532c1c37c72115dd98d7d849/custom/USDT-TRC20.md) [](https://github.com/Lanrenbang/.github/blob/5b06b0b2d0b8e4ce532c1c37c72115dd98d7d849/custom/Litecoin.md)
|
|
198
|
+
|
|
199
|
+
## 📄 许可证
|
|
184
200
|
|
|
185
|
-
|
|
186
|
-
Basecoat
|
|
201
|
+
本项目基于 [MIT License](LICENSE.md) 开源。
|
|
202
|
+
原 Basecoat 内容版权归 hunvreus 所有。
|
package/README.md
CHANGED
|
@@ -41,62 +41,102 @@ Integrated excellent third-party libraries to bridge gaps in pure CSS/Vanilla JS
|
|
|
41
41
|
|
|
42
42
|
## 📦 Installation
|
|
43
43
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
### 1. Install Dependencies
|
|
44
|
+
Recommended using `bun`, but `npm` or `pnpm` are also supported:
|
|
47
45
|
|
|
48
46
|
```bash
|
|
49
|
-
|
|
50
|
-
|
|
47
|
+
bun add @lanrenbang/basecoat-ultra
|
|
48
|
+
# or
|
|
49
|
+
npm install @lanrenbang/basecoat-ultra
|
|
50
|
+
```
|
|
51
51
|
|
|
52
|
-
|
|
53
|
-
bunx jsr add @lanrenbang/basecoat-ultra
|
|
52
|
+
## 🚀 Setup (Bundlers)
|
|
54
53
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
54
|
+
For projects using Vite, Webpack, or other bundlers with Tailwind CSS v4 configured.
|
|
55
|
+
|
|
56
|
+
### 1. Import CSS
|
|
58
57
|
|
|
59
|
-
|
|
58
|
+
In your CSS entry file (e.g., `style.css`).
|
|
60
59
|
|
|
61
|
-
|
|
60
|
+
**Note**: Import the raw CSS (`/css`), letting your Tailwind config handle the styles. Do NOT use the `.cdn.css` version here.
|
|
62
61
|
|
|
63
62
|
```css
|
|
64
63
|
@import "tailwindcss";
|
|
65
|
-
/* Import core styles */
|
|
66
|
-
@import "@lanrenbang/basecoat-ultra/css/basecoat.css";
|
|
67
|
-
/* Or use the CDN version (includes Tailwind utilities) */
|
|
68
|
-
/* @import "@lanrenbang/basecoat-ultra/css/basecoat.cdn.css"; */
|
|
69
64
|
|
|
70
|
-
/*
|
|
71
|
-
@import "@lanrenbang/basecoat-ultra/
|
|
65
|
+
/* 1. Basecoat Core (Required) */
|
|
66
|
+
@import "@lanrenbang/basecoat-ultra/css";
|
|
67
|
+
|
|
68
|
+
/* 2. External Components (Optional) */
|
|
69
|
+
/* Only import if you use these specific components */
|
|
70
|
+
@import "@lanrenbang/basecoat-ultra/css/datepicker.css";
|
|
71
|
+
@import "@lanrenbang/basecoat-ultra/css/resizable.css";
|
|
72
|
+
|
|
73
|
+
/* 3. Theme (Optional, must be explicit) */
|
|
74
|
+
/* We provide a Catppuccin theme suite, or you can build your own */
|
|
75
|
+
@import "@lanrenbang/basecoat-ultra/theme/catppuccin/index.css";
|
|
72
76
|
```
|
|
73
77
|
|
|
74
|
-
###
|
|
78
|
+
### 2. Import JavaScript
|
|
75
79
|
|
|
76
|
-
|
|
80
|
+
In your application entry point (e.g., `main.js` or `app.ts`).
|
|
81
|
+
|
|
82
|
+
**Option A: Import All (Recommended)**
|
|
83
|
+
Includes core logic and most standard components (excludes Datepicker/Resizable).
|
|
77
84
|
|
|
78
85
|
```javascript
|
|
79
|
-
// Import all component logic
|
|
80
86
|
import '@lanrenbang/basecoat-ultra';
|
|
87
|
+
```
|
|
81
88
|
|
|
82
|
-
|
|
83
|
-
import
|
|
89
|
+
**Option B: Cherry-pick**
|
|
90
|
+
To reduce bundle size, import only what you need.
|
|
91
|
+
**Important**: You MUST import the `basecoat` core module first, as other components rely on it for registration.
|
|
92
|
+
|
|
93
|
+
```javascript
|
|
94
|
+
// 1. Core first
|
|
95
|
+
import '@lanrenbang/basecoat-ultra/basecoat';
|
|
96
|
+
|
|
97
|
+
// 2. Then components
|
|
84
98
|
import '@lanrenbang/basecoat-ultra/tabs';
|
|
85
|
-
import '@lanrenbang/basecoat-ultra/
|
|
86
|
-
|
|
99
|
+
import '@lanrenbang/basecoat-ultra/select';
|
|
100
|
+
import '@lanrenbang/basecoat-ultra/popover';
|
|
87
101
|
```
|
|
88
102
|
|
|
89
|
-
|
|
103
|
+
**External Components (Must be imported separately)**
|
|
104
|
+
Regardless of the option above, these components are not included in the main bundle due to size or dependencies:
|
|
90
105
|
|
|
91
106
|
```javascript
|
|
92
|
-
//
|
|
93
|
-
import '
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
107
|
+
import '@lanrenbang/basecoat-ultra/datepicker'; // Uses flatpickr
|
|
108
|
+
import '@lanrenbang/basecoat-ultra/resizable'; // Uses split.js
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## 🌐 CDN Usage (No Build Tool)
|
|
114
|
+
|
|
115
|
+
If you are not using a bundler, you can use the pre-compiled versions via CDN (jsDelivr). These include the compiled Tailwind styles.
|
|
116
|
+
|
|
117
|
+
### CSS
|
|
118
|
+
|
|
119
|
+
```html
|
|
120
|
+
<!-- Basecoat Core (includes Tailwind styles) -->
|
|
121
|
+
<link href="https://cdn.jsdelivr.net/npm/@lanrenbang/basecoat-ultra@latest/dist/css/basecoat.cdn.min.css" rel="stylesheet">
|
|
122
|
+
|
|
123
|
+
<!-- External Components (Optional) -->
|
|
124
|
+
<link href="https://cdn.jsdelivr.net/npm/@lanrenbang/basecoat-ultra@latest/dist/css/datepicker.min.css" rel="stylesheet">
|
|
125
|
+
<link href="https://cdn.jsdelivr.net/npm/@lanrenbang/basecoat-ultra@latest/dist/css/resizable.min.css" rel="stylesheet">
|
|
126
|
+
|
|
127
|
+
<!-- Theme (Optional) -->
|
|
128
|
+
<link href="https://cdn.jsdelivr.net/npm/@lanrenbang/basecoat-ultra@latest/dist/theme/catppuccin/index.min.css" rel="stylesheet">
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### JavaScript
|
|
132
|
+
|
|
133
|
+
```html
|
|
134
|
+
<!-- Core & Standard Components -->
|
|
135
|
+
<script src="https://cdn.jsdelivr.net/npm/@lanrenbang/basecoat-ultra@latest/dist/js/all.min.js" defer></script>
|
|
136
|
+
|
|
137
|
+
<!-- External Components (Optional) -->
|
|
138
|
+
<script src="https://cdn.jsdelivr.net/npm/@lanrenbang/basecoat-ultra@latest/dist/js/datepicker.min.js" defer></script>
|
|
139
|
+
<script src="https://cdn.jsdelivr.net/npm/@lanrenbang/basecoat-ultra@latest/dist/js/resizable.min.js" defer></script>
|
|
100
140
|
```
|
|
101
141
|
|
|
102
142
|
## 🛠️ Development
|
|
@@ -145,19 +185,6 @@ To prevent page flicker (FOUC) when using the Catppuccin Theme Switcher on refre
|
|
|
145
185
|
</script>
|
|
146
186
|
```
|
|
147
187
|
|
|
148
|
-
### Publishing to JSR
|
|
149
|
-
|
|
150
|
-
If you are a maintainer, follow these steps to publish a new version:
|
|
151
|
-
|
|
152
|
-
1. Login to JSR (Once):
|
|
153
|
-
```bash
|
|
154
|
-
bunx jsr login
|
|
155
|
-
```
|
|
156
|
-
2. Publish:
|
|
157
|
-
```bash
|
|
158
|
-
bunx jsr publish
|
|
159
|
-
```
|
|
160
|
-
|
|
161
188
|
## ❤️ Credits
|
|
162
189
|
|
|
163
190
|
This project stands on the shoulders of giants:
|
|
@@ -167,6 +194,9 @@ This project stands on the shoulders of giants:
|
|
|
167
194
|
* **[puikinsh/login-forms](https://github.com/puikinsh/login-forms/tree/main/forms/neumorphism)**: Inspiration for Neumorphism lighting and 3D effects.
|
|
168
195
|
* **[Flatpickr](https://flatpickr.js.org/)** & **[Split.js](https://split.js.org/)**: Excellent third-party library support.
|
|
169
196
|
|
|
197
|
+
## Support Me
|
|
198
|
+
[](https://buymeacoffee.com/bobbynona) [](https://ko-fi.com/bobbynona) [](https://github.com/Lanrenbang/.github/blob/5b06b0b2d0b8e4ce532c1c37c72115dd98d7d849/custom/USDT-TRC20.md) [](https://github.com/Lanrenbang/.github/blob/5b06b0b2d0b8e4ce532c1c37c72115dd98d7d849/custom/Litecoin.md)
|
|
199
|
+
|
|
170
200
|
## 📄 License
|
|
171
201
|
|
|
172
202
|
This project is licensed under the [MIT License](LICENSE.md).
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lanrenbang/basecoat-ultra",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "Basecoat UI - Ultra edition. A Tailwind-first component library.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/js/all.js",
|
|
@@ -15,21 +15,31 @@
|
|
|
15
15
|
],
|
|
16
16
|
"exports": {
|
|
17
17
|
".": "./dist/js/all.js",
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
18
|
+
"./basecoat": "./dist/js/basecoat.js",
|
|
19
|
+
"./css": "./dist/css/basecoat.css",
|
|
20
|
+
"./accordion": "./dist/js/accordion.js",
|
|
21
|
+
"./carousel": "./dist/js/carousel.js",
|
|
22
|
+
"./catppuccin-theme-switcher": "./dist/js/catppuccin-theme-switcher.js",
|
|
23
|
+
"./command": "./dist/js/command.js",
|
|
24
|
+
"./datepicker": "./dist/js/datepicker.js",
|
|
25
|
+
"./dialog": "./dist/js/dialog.js",
|
|
26
|
+
"./dropdown-menu": "./dist/js/dropdown-menu.js",
|
|
27
|
+
"./input-otp": "./dist/js/input-otp.js",
|
|
28
|
+
"./lighting": "./dist/js/lighting.js",
|
|
29
|
+
"./popover": "./dist/js/popover.js",
|
|
30
|
+
"./resizable": "./dist/js/resizable.js",
|
|
31
|
+
"./select": "./dist/js/select.js",
|
|
32
|
+
"./sheet": "./dist/js/sheet.js",
|
|
33
|
+
"./sidebar": "./dist/js/sidebar.js",
|
|
34
|
+
"./slider": "./dist/js/slider.js",
|
|
35
|
+
"./tabs": "./dist/js/tabs.js",
|
|
36
|
+
"./toast": "./dist/js/toast.js",
|
|
37
|
+
"./toggle": "./dist/js/toggle.js",
|
|
38
|
+
"./css/basecoat.css": "./dist/css/basecoat.css",
|
|
39
|
+
"./css/basecoat.cdn.css": "./dist/css/basecoat.cdn.css",
|
|
40
|
+
"./css/datepicker.css": "./dist/css/datepicker.css",
|
|
41
|
+
"./css/resizable.css": "./dist/css/resizable.css",
|
|
42
|
+
"./theme/catppuccin/index.css": "./dist/theme/catppuccin/index.css"
|
|
33
43
|
},
|
|
34
44
|
"scripts": {
|
|
35
45
|
"dev": "vite",
|
|
@@ -42,5 +52,13 @@
|
|
|
42
52
|
"dependencies": {
|
|
43
53
|
"flatpickr": "^4.6.13",
|
|
44
54
|
"split.js": "^1.6.5"
|
|
55
|
+
},
|
|
56
|
+
"devDependencies": {
|
|
57
|
+
"@lanrenbang/basecoat-ultra": "^0.1.4",
|
|
58
|
+
"@tailwindcss/cli": "^4.1.18",
|
|
59
|
+
"@tailwindcss/vite": "^4.1.18",
|
|
60
|
+
"@types/bun": "latest",
|
|
61
|
+
"tailwindcss": "^4.1.18",
|
|
62
|
+
"vite": "^7.3.0"
|
|
45
63
|
}
|
|
46
|
-
}
|
|
64
|
+
}
|