@thebase/ui 0.0.11 → 1.0.0
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/CHANGELOG.md +21 -0
- package/README.md +21 -2
- package/dist/baseui.esm.js +12 -12
- package/dist/baseui.icons.esm.js +1 -1
- package/dist/baseui.min.css +1 -1
- package/dist/baseui.min.js +12 -12
- package/dist/baseui.registry.json +8 -7
- package/dist/baseui.templates.xml +204 -222
- package/docs/blocks.md +1 -1
- package/docs/components/button.md +4 -1
- package/docs/components/sidebar.md +2 -0
- package/docs/components/tabs.md +34 -1
- package/docs/components/toast.md +23 -7
- package/docs/icons.md +1 -1
- package/docs/installation.md +2 -2
- package/docs/owl-components.md +26 -3
- package/docs/runtime-api.md +1 -1
- package/docs/theming.md +1 -1
- package/docs/usage-guide.md +4 -4
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,27 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project are documented in this file.
|
|
4
4
|
|
|
5
|
+
## [v1.0.0] - 2026-10-03
|
|
6
|
+
|
|
7
|
+
First stable release. From here on the package follows [Semantic Versioning](https://semver.org/) — see the [Versioning policy](README.md#versioning-policy) for what counts as the public API and what each version bump means. No API changes versus v0.0.12 beyond the fixes below; upgrading from 0.0.12 needs no code changes.
|
|
8
|
+
|
|
9
|
+
### Changed
|
|
10
|
+
- Docs: production pin examples now use `@1.0.0`, or the `@1` major range to receive non-breaking updates. `docs/owl-components.md` documents the global component fallback below, and `docs/components/button.md` now lists `Button`'s `unstyled`, `attrs`, and `getRef` props.
|
|
11
|
+
- Internal: shared prop and overlay helpers replace per-component copies (`optional()`/`slotProps` prop declarations, controlled-open and Bootstrap Collapse hooks, one binder for the static dialog/sheet/drawer overlays, one checkbox/radio enhancer). Every pure Owl component keeps exactly the same props, and every static adapter keeps the same attributes, events, and `element.BaseUI*` handles.
|
|
12
|
+
|
|
13
|
+
### Fixed
|
|
14
|
+
- Pure Owl: nested consumer components no longer crash with `Cannot find the definition of component "Icon"` (or `Button`, etc.) when their template uses a BaseUI component missing from their own `static components`. `Component` from `@base/owl` now falls back to the globally registered BaseUI components for every component, not just the root passed to `mount()`. A component's own `static components` entries still take precedence.
|
|
15
|
+
- `Sidebar`: `SidebarMenu` now fills the remaining panel height and scrolls on its own when its items overflow, so a long nav list no longer pushes `SidebarFooter` off-screen.
|
|
16
|
+
|
|
17
|
+
## [v0.0.12] - 2026-09-13
|
|
18
|
+
|
|
19
|
+
### Changed
|
|
20
|
+
- **Breaking**: `Tabs` restyled to match [shadcn/base's Tabs](https://ui.shadcn.com/docs/components/base/tabs) — `TabsList` is now a segmented pill control on a muted background by default (new `variant="'line'"`/`b-att-variant="line"` opts into a transparent underline list instead), and `TabContent`/`b-panel` render as bare panels with no default `Card` border/background (that chrome is now opt-in via `className` on `TabsContainer` or the consumer's own wrapper). New `orientation` prop (`"horizontal"`/`"vertical"`) on the pure Owl `Tabs` puts `TabsList` beside `TabsContainer` instead of above it.
|
|
21
|
+
- Internal: every pure-Owl component's raw `<button>` (dialog, sheet, pwa, attachment, carousel, collapsible, calendar, dropdown-menu, popover, data-table, accordion, tabs, alert, input-group, sidebar, clipboard-button, theme-button, shell, questionnaire, alert-dialog, drawer, select, toggle, toggle-group) now renders through the shared `Button` component instead of hand-written markup. `Button` gained `unstyled` (opt out of forced `btn`/variant classes for components with their own bespoke styling), `attrs` (pass-through object for one-off attributes with no first-class prop), and `getRef` (reports the mounted root element for callers that need direct DOM access) to support this. No public prop-level API changes for any consuming component.
|
|
22
|
+
|
|
23
|
+
### Added
|
|
24
|
+
- `Toast`: new optional `action` slot (`<t t-set-slot="action">...</t>`, e.g. an "Undo" `<Button/>`) renders grouped tight against the close button on the trailing edge, matching the shadcn/ui toast layout. The toast root and static `[b-ui="toast"]` markup are now a flex row: wrap message content in `.bu-toast-content` (grows to fill available width) and the action/close controls in `.bu-toast-actions` (grouped on the trailing edge) — see `docs/components/toast.md` for the updated static markup. `Shell`'s `toast.actionLabel` now renders through the new `action` slot instead of inline in the default slot.
|
|
25
|
+
|
|
5
26
|
## [v0.0.11] - 2026-09-03
|
|
6
27
|
|
|
7
28
|
### Added
|
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@ The Base UI is a CDN-installable UI kit built with Bootstrap 5 styling and Owl-e
|
|
|
4
4
|
|
|
5
5
|
Its strong points: **no build step** — every component runs straight from a CDN `<script>`/import map, nothing to compile; **modular component design** — each component is a self-contained unit you import or mark up individually, not a monolith; **vanilla JavaScript/TypeScript** — no framework lock-in, no JSX, no compiler-specific syntax to learn; and this combination makes it well suited to building **WYSIWYG website builders**, where components must mount, unmount, and re-render dynamically from user-driven markup or drag-and-drop edits rather than a fixed build-time component tree.
|
|
6
6
|
|
|
7
|
-
Both APIs load straight from a CDN — jsDelivr or unpkg — no build step, no self-hosting required. The snippets below use the `@latest` tag for readability; pin an exact version instead (e.g. `@0.0
|
|
7
|
+
Both APIs load straight from a CDN — jsDelivr or unpkg — no build step, no self-hosting required. The snippets below use the `@latest` tag for readability; pin an exact version instead (e.g. `@1.0.0`, or `@1` to take only non-breaking updates) for any production page, since `@latest` can change what your page loads the moment a new version ships. Pure Owl usage:
|
|
8
8
|
|
|
9
9
|
```html
|
|
10
10
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@thebase/ui@latest/dist/baseui.min.css">
|
|
@@ -58,7 +58,26 @@ Every component ships both APIs from `src/components/<name>/`: the static `b-ui`
|
|
|
58
58
|
|
|
59
59
|
## Release notes
|
|
60
60
|
|
|
61
|
-
See [CHANGELOG.md](CHANGELOG.md) for the full version history. Current
|
|
61
|
+
See [CHANGELOG.md](CHANGELOG.md) for the full version history. Current version: **1.0.0**.
|
|
62
|
+
|
|
63
|
+
## Versioning policy
|
|
64
|
+
|
|
65
|
+
From 1.0.0 on, BaseUI follows [Semantic Versioning](https://semver.org/). The public API covered by this promise is:
|
|
66
|
+
|
|
67
|
+
- Pure Owl component classes, their names, props, slots, and callback props exported from `@thebase/ui`.
|
|
68
|
+
- Static markup: `b-ui`/`b-icon` names, `b-att-*` attributes, and `baseui:*` events.
|
|
69
|
+
- CSS: `bu-*` class names and `--b-*` design tokens.
|
|
70
|
+
- Runtime exports (`BaseUI`, `Component`, `mount`, `xml`, `cn`, `mergeStyle`, theme helpers), including `Component`'s fallback to globally registered BaseUI components, and the published `dist/` file names and package `exports` paths.
|
|
71
|
+
|
|
72
|
+
What each release type means:
|
|
73
|
+
|
|
74
|
+
- **Major** (`2.0.0`): removes or renames any of the above, or changes its behavior or default look in a way existing pages must adapt to. Every breaking change is listed under a **Breaking** heading in the CHANGELOG with a migration note.
|
|
75
|
+
- **Minor** (`1.1.0`): new components, props, variants, tokens, or icons — existing code keeps working unchanged.
|
|
76
|
+
- **Patch** (`1.0.1`): bug fixes and visual fixes that don't change the API.
|
|
77
|
+
|
|
78
|
+
Anything prefixed `_`, undocumented internals, and the `docs/`/`examples/` sources are not part of the public API. Neither are the source-level authoring helpers described in [Component Authoring](docs/component-authoring.md) (`optional()`, `slotProps`, the `open-state.js` hooks, `bindBootstrapOverlay()`): they aren't exported from the package and may change in any release. Deprecated APIs keep working until the next major and are flagged in the CHANGELOG first.
|
|
79
|
+
|
|
80
|
+
Pinning: use an exact version (`@1.0.0`) when you need byte-identical output, or the major range (`@1` on jsDelivr/unpkg, `^1.0.0` in npm) to receive fixes and features without breaking changes. Avoid `@latest` in production — it will move to the next major.
|
|
62
81
|
|
|
63
82
|
## Project Documents
|
|
64
83
|
|