Compare commits
No commits in common. "main" and "v1.0.10" have entirely different histories.
@ -1,10 +1,5 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
## 1.0.11 (2026-08-17)
|
|
||||||
|
|
||||||
### Fixes
|
|
||||||
- **Outline Theme Colors**: `btn-outline-*` now follows every runtime semantic color configured through `Bootstrap.config`, including default, hover, active, and disabled states.
|
|
||||||
|
|
||||||
## 1.0.9 (2026-06-27)
|
## 1.0.9 (2026-06-27)
|
||||||
|
|
||||||
### Fixes
|
### Fixes
|
||||||
|
|||||||
@ -5,7 +5,7 @@ Bootstrap 5.3 自包含集成引擎。
|
|||||||
## 0. 快速开始 (Quick Start)
|
## 0. 快速开始 (Quick Start)
|
||||||
直接在 HTML 中引入(无需打包,完全非 ESM 注入):
|
直接在 HTML 中引入(无需打包,完全非 ESM 注入):
|
||||||
```html
|
```html
|
||||||
<script src="https://cdn.jsdelivr.net/npm/@apigo.cc/bootstrap@1.0.11/dist/bootstrap.min.js"></script>
|
<script src="https://cdn.jsdelivr.net/npm/@apigo.cc/bootstrap@1.0.10/dist/bootstrap.min.js"></script>
|
||||||
```
|
```
|
||||||
|
|
||||||
## 1. 运行时接口
|
## 1. 运行时接口
|
||||||
@ -21,7 +21,7 @@ Bootstrap 5.3 自包含集成引擎。
|
|||||||
|
|
||||||
#### 参数 `options`:
|
#### 参数 `options`:
|
||||||
- **主题色**: `primary`, `secondary`, `success`, `info`, `warning`, `danger`, `light`, `dark` (Hex 字符串)。
|
- **主题色**: `primary`, `secondary`, `success`, `info`, `warning`, `danger`, `light`, `dark` (Hex 字符串)。
|
||||||
- *行为*: 自动更新 CSS 变量并注入深度样式补丁(覆盖实心与 outline 按钮、表单控件、开关、进度条等硬编码样式)。按钮保留明确的 hover / active 状态。
|
- *行为*: 自动更新 CSS 变量并注入深度样式补丁(覆盖按钮、表单控件、开关、进度条等硬编码样式)。实心按钮保留较深的 hover / active 状态。
|
||||||
- *链接按钮*: 支持 `btn-link-primary`、`btn-link-info` 等全部语义色类;hover / active 会随配置色变深。也兼容组合写法 `btn btn-link btn-link-info`。
|
- *链接按钮*: 支持 `btn-link-primary`、`btn-link-info` 等全部语义色类;hover / active 会随配置色变深。也兼容组合写法 `btn btn-link btn-link-info`。
|
||||||
- **暗黑模式**:
|
- **暗黑模式**:
|
||||||
- `darkMode`: (Boolean) 直接设置主题。`true` 为 dark,`false` 为 light。
|
- `darkMode`: (Boolean) 直接设置主题。`true` 为 dark,`false` 为 light。
|
||||||
|
|||||||
6
TEST.md
6
TEST.md
@ -1,6 +0,0 @@
|
|||||||
# Test Report
|
|
||||||
|
|
||||||
## v1.0.11 - 2026-08-17
|
|
||||||
|
|
||||||
- `npm test`: Playwright verifies configured primary colors for solid, link, and outline button variables, including outline hover and active states.
|
|
||||||
- `npm run build`: Vite produces the self-contained browser bundle and minified bundle.
|
|
||||||
10
dist/bootstrap.js
vendored
10
dist/bootstrap.js
vendored
@ -7270,16 +7270,6 @@ url("data:font/woff;base64,d09GRgABAAAAAsBAAAsAAAAHavgAAQAAAAAAAAAAAAAAAAAAAAAAA
|
|||||||
--bs-btn-disabled-bg: var(--bs-${name}) !important;
|
--bs-btn-disabled-bg: var(--bs-${name}) !important;
|
||||||
--bs-btn-disabled-border-color: var(--bs-${name}) !important;
|
--bs-btn-disabled-border-color: var(--bs-${name}) !important;
|
||||||
}
|
}
|
||||||
.btn-outline-${name} {
|
|
||||||
--bs-btn-color: var(--bs-${name}) !important;
|
|
||||||
--bs-btn-border-color: var(--bs-${name}) !important;
|
|
||||||
--bs-btn-hover-bg: var(--bs-${name}) !important;
|
|
||||||
--bs-btn-hover-border-color: var(--bs-${name}) !important;
|
|
||||||
--bs-btn-active-bg: ${activeColor} !important;
|
|
||||||
--bs-btn-active-border-color: ${activeColor} !important;
|
|
||||||
--bs-btn-disabled-color: var(--bs-${name}) !important;
|
|
||||||
--bs-btn-disabled-border-color: var(--bs-${name}) !important;
|
|
||||||
}
|
|
||||||
.bg-${name} { background-color: var(--bs-${name}) !important; }
|
.bg-${name} { background-color: var(--bs-${name}) !important; }
|
||||||
.text-${name} { color: var(--bs-${name}) !important; }
|
.text-${name} { color: var(--bs-${name}) !important; }
|
||||||
.border-${name} { border-color: var(--bs-${name}) !important; }
|
.border-${name} { border-color: var(--bs-${name}) !important; }
|
||||||
|
|||||||
2
dist/bootstrap.min.js
vendored
2
dist/bootstrap.min.js
vendored
File diff suppressed because one or more lines are too long
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@apigo.cc/bootstrap",
|
"name": "@apigo.cc/bootstrap",
|
||||||
"version": "1.0.11",
|
"version": "1.0.9",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "dist/bootstrap.js",
|
"main": "dist/bootstrap.js",
|
||||||
"files": [
|
"files": [
|
||||||
|
|||||||
10
src/index.js
10
src/index.js
@ -44,16 +44,6 @@ export const Bootstrap = {
|
|||||||
--bs-btn-disabled-bg: var(--bs-${name}) !important;
|
--bs-btn-disabled-bg: var(--bs-${name}) !important;
|
||||||
--bs-btn-disabled-border-color: var(--bs-${name}) !important;
|
--bs-btn-disabled-border-color: var(--bs-${name}) !important;
|
||||||
}
|
}
|
||||||
.btn-outline-${name} {
|
|
||||||
--bs-btn-color: var(--bs-${name}) !important;
|
|
||||||
--bs-btn-border-color: var(--bs-${name}) !important;
|
|
||||||
--bs-btn-hover-bg: var(--bs-${name}) !important;
|
|
||||||
--bs-btn-hover-border-color: var(--bs-${name}) !important;
|
|
||||||
--bs-btn-active-bg: ${activeColor} !important;
|
|
||||||
--bs-btn-active-border-color: ${activeColor} !important;
|
|
||||||
--bs-btn-disabled-color: var(--bs-${name}) !important;
|
|
||||||
--bs-btn-disabled-border-color: var(--bs-${name}) !important;
|
|
||||||
}
|
|
||||||
.bg-${name} { background-color: var(--bs-${name}) !important; }
|
.bg-${name} { background-color: var(--bs-${name}) !important; }
|
||||||
.text-${name} { color: var(--bs-${name}) !important; }
|
.text-${name} { color: var(--bs-${name}) !important; }
|
||||||
.border-${name} { border-color: var(--bs-${name}) !important; }
|
.border-${name} { border-color: var(--bs-${name}) !important; }
|
||||||
|
|||||||
16
test/bootstrap.spec.js
vendored
16
test/bootstrap.spec.js
vendored
@ -39,26 +39,16 @@ test('bootstrap self-contained integration', async ({ page }) => {
|
|||||||
link.className = 'btn btn-link-primary'
|
link.className = 'btn btn-link-primary'
|
||||||
document.body.appendChild(link)
|
document.body.appendChild(link)
|
||||||
|
|
||||||
const outline = document.createElement('button')
|
|
||||||
outline.className = 'btn btn-outline-primary'
|
|
||||||
document.body.appendChild(outline)
|
|
||||||
|
|
||||||
const primaryStyle = getComputedStyle(primary)
|
const primaryStyle = getComputedStyle(primary)
|
||||||
const linkStyle = getComputedStyle(link)
|
const linkStyle = getComputedStyle(link)
|
||||||
const outlineStyle = getComputedStyle(outline)
|
|
||||||
const result = {
|
const result = {
|
||||||
base: primaryStyle.getPropertyValue('--bs-btn-bg').trim(),
|
base: primaryStyle.getPropertyValue('--bs-btn-bg').trim(),
|
||||||
hover: primaryStyle.getPropertyValue('--bs-btn-hover-bg').trim(),
|
hover: primaryStyle.getPropertyValue('--bs-btn-hover-bg').trim(),
|
||||||
link: linkStyle.getPropertyValue('--bs-btn-color').trim(),
|
link: linkStyle.getPropertyValue('--bs-btn-color').trim(),
|
||||||
linkHover: linkStyle.getPropertyValue('--bs-btn-hover-color').trim(),
|
linkHover: linkStyle.getPropertyValue('--bs-btn-hover-color').trim()
|
||||||
outline: outlineStyle.getPropertyValue('--bs-btn-color').trim(),
|
|
||||||
outlineBorder: outlineStyle.getPropertyValue('--bs-btn-border-color').trim(),
|
|
||||||
outlineHover: outlineStyle.getPropertyValue('--bs-btn-hover-bg').trim(),
|
|
||||||
outlineActive: outlineStyle.getPropertyValue('--bs-btn-active-bg').trim()
|
|
||||||
}
|
}
|
||||||
primary.remove()
|
primary.remove()
|
||||||
link.remove()
|
link.remove()
|
||||||
outline.remove()
|
|
||||||
return result
|
return result
|
||||||
})
|
})
|
||||||
expect(buttonColors.base).toBe('#ff0000')
|
expect(buttonColors.base).toBe('#ff0000')
|
||||||
@ -66,8 +56,4 @@ test('bootstrap self-contained integration', async ({ page }) => {
|
|||||||
expect(buttonColors.hover).not.toBe(buttonColors.base)
|
expect(buttonColors.hover).not.toBe(buttonColors.base)
|
||||||
expect(buttonColors.link).toBe('#ff0000')
|
expect(buttonColors.link).toBe('#ff0000')
|
||||||
expect(buttonColors.linkHover).toBe('#d90000')
|
expect(buttonColors.linkHover).toBe('#d90000')
|
||||||
expect(buttonColors.outline).toBe('#ff0000')
|
|
||||||
expect(buttonColors.outlineBorder).toBe('#ff0000')
|
|
||||||
expect(buttonColors.outlineHover).toBe('#ff0000')
|
|
||||||
expect(buttonColors.outlineActive).toBe('#cc0000')
|
|
||||||
});
|
});
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user