個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證@bquery/ui is a production-grade component library built with native Web Components, Shadow DOM, and TypeScript for the bQuery ecosystem.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗@bquery/ui is a production-grade component library built with native Web Components, Shadow DOM, and TypeScript on top of @bquery/bquery for the bQuery ecosystem.
It is designed to give teams the kind of component coverage, polish, accessibility, and framework interoperability that developers expect from established libraries such as Material UI, Vuetify, Angular Material, and modern Vue/Svelte UI kits—while staying framework-agnostic and standards-based.
The current library covers the core component categories developers expect from modern UI libraries:
| Category | Components |
|---|---|
| Actions | Button, Icon Button, Button Group, Copy Button |
| Forms | Input, Number Input, Textarea, Select, Combobox, Tag Input, Pin Input, Date Picker, Segmented Control, Checkbox, Radio, Switch, Slider, Chip, Rating, File Upload |
| Navigation | Tabs, Accordion, Breadcrumbs, Pagination, Stepper, Tree |
| Data Display | Card, Badge, Avatar, Avatar Group, Table, Divider, Empty State, Stat Card, Timeline, Kbd, Icon, Meter |
| Feedback | Alert, Banner, Progress, Spinner, Skeleton, Tooltip, Toast |
| Overlays | Dialog, Drawer, Dropdown Menu, Popover |
For the full catalog and feature coverage, see docs/components/index.md.
npm install @bquery/ui
If your package manager does not automatically resolve peer dependencies, install @bquery/bquery alongside @bquery/ui.
import '@bquery/ui';
<bq-button variant="primary">Save changes</bq-button>
<bq-input label="Email" type="email" placeholder="[email protected]"></bq-input>
<bq-alert variant="success" title="Profile updated">
Your changes have been saved successfully.
</bq-alert>
<!-- UMD -->
<script src="https://cdn.jsdelivr.net/npm/@bquery/[email protected]/dist/index.umd.js"></script>
<!-- IIFE -->
<script src="https://cdn.jsdelivr.net/npm/@bquery/[email protected]/dist/index.iife.js"></script>
The UMD and IIFE bundles register all components on load and expose the library on window.BQueryUI.
For ESM-based app builds, prefer importing @bquery/ui from your bundler or other module-aware build tool.
The current release (1.15.0) emphasizes:
currentColor, scale with font-size, and look the same on every platform. Available as <bq-icon> and to your own components through iconCss().:host-context(), which exists only in Chromium — and which, sitting in a selector list, previously took the whole dark theme down with it in Firefox and Safari. data-theme also works on any subtree, not just the root.--bq-surface-raised, --bq-surface-overlay), translucent interaction states, per-intent focus rings, a shared control-height scale, and dark-mode elevation.bq-date-picker, bq-tree, bq-pin-input, bq-meter, bq-copy-button, and bq-icon.1.15.0.Import only the component entry points you need for the smallest bundle:
import '@bquery/ui/components/button';
import '@bquery/ui/components/input';
import '@bquery/ui/components/dialog';
This import-based registration update changes how consumers integrate @bquery/ui.
@bquery/ui now registers all custom elements as a side effect.@bquery/ui/components/<name> registers only that component through its wrapper entrypoint.registerBqButton are no longer re-exported from @bquery/ui.registerAll() named export still exists for backwards compatibility and can be imported from @bquery/ui or explicitly from @bquery/ui/register.registerAll() and rely on import side effects instead.registerAll() without arguments is still accepted for temporary backward compatibility, but it does not perform any additional registration work.registerAll() continues to emit a warning.For example, older calls such as registerAll({ prefix: 'ACME' }) now warn because components self-register on import as bq-*.
The supported replacement is importing @bquery/ui once, or only the specific @bquery/ui/components/<name> entrypoints you need.
If you previously imported component registration helpers from the package root, migrate those imports to either:
import '@bquery/ui';
or the specific component entrypoints you need:
import '@bquery/ui/components/button';
import '@bquery/ui/components/input';
Because the library is built on Web standards, the same components can be used across major frontend frameworks.
| Framework | Integration note |
|---|---|
| React | Import the library once and subscribe to custom events through refs or wrapper components |
| Vue | Use components directly in templates and listen to bq-* custom events |
| Angular | Enable CUSTOM_ELEMENTS_SCHEMA and use bq-* elements like native controls |
| Svelte | Register once during onMount and bind to custom events with on:bq-* |
| Plain HTML / bQuery | Works out of the box after a single import |
See docs/guide/framework-integration.md for examples.
For migration guidance from older registration patterns, see docs/guide/migration-from-1-1-0.md.
aria-live support for alerts and toastsdata-theme::part() support for targeted customization<bq-icon name="…">currentColor and scales with font-sizeiconCss() lets your own components pull in only the glyphs they drawbq-* custom eventsbun install --frozen-lockfile
npm run dev
If Bun is not installed globally in your environment, use npx bun install --frozen-lockfile for setup and npx bun test for tests. See AGENT.md for the full non-global Bun workflow.
npm run build # build library + type declarations
npm run build:docs # build VitePress documentation
npm run storybook # run Storybook locally
npm run build:storybook
npm run lint:types # TypeScript type-check
npm run test # Bun test suite
src/
components/ # Web components
tokens/ # design tokens
theme/ # theme helpers and CSS variables
i18n/ # localization utilities
utils/ # shared helpers
docs/ # VitePress documentation
stories/ # Storybook stories
tests/ # component and utility tests
Contributions that improve component quality, accessibility, theming, documentation, and cross-framework ergonomics are welcome.
When contributing:
AGENT.md, including the canonical Bun workflow.