# Changelog ## [Unreleased] ## [1.1.0] - 2026-10-23 ### Upgrading - Toast `title`, `description`, `action.label` and `cancel.label` are now escaped as text by default. If you pass HTML in any of them, add `html: true` to your `toaster.toast()` call. ### Added - Added vertical separators: `
` renders as a 1px line that fills its row. - Added single-file `.bundle.css` builds (`dist/basecoat.bundle.css` and `dist/basecoat-{style}.bundle.css`) with every Basecoat import inlined, so the standalone Tailwind CLI can use Basecoat without npm. Based on the standalone CLI setup proposed by [@ytsruh](https://github.com/ytsruh) in [#150](https://github.com/hunvreus/basecoat/pull/150). - Added an `html: true` option to `toaster.toast()` for callers that need to pass raw HTML in the title, description or action labels. ### Changed - Toast `title`, `description`, `action.label` and `cancel.label` are now escaped as text by default, matching Sonner. Pass `html: true` to keep the previous raw-HTML behavior. - Changed the default `--font-sans` to start with `"Geist"`, the family name used by Google Fonts, Bunny Fonts and Fontsource, with `"Geist Sans"` kept as a fallback. The customization docs now install `@fontsource/geist`. - Updated the docs dependency to `reallysimpledocs@^1.0.14`, so `llms.txt` links to the Markdown version of each page. - Documented how to use Tailwind utilities with Basecoat's theme colors alongside the CDN build and the Tailwind Play CDN. ### Fixed - Prevented Escape from dismissing an enclosing dialog while closing an open Combobox popup. - Fixed long Tooltip text clipping instead of showing an ellipsis across all style packs. - Locked page scroll while a modal Dialog, Alert Dialog, Command Dialog or Drawer is open. - Kept a parent Popover, Dropdown Menu, Select or Combobox open when a nested one opens inside it. Sibling components still close each other. - Scoped Sidebar navigation styles to the sidebar's direct child `nav` (`.sidebar > nav`), so other `nav` elements inside a sidebar, such as a Tabs list, are no longer fixed and stacked. - Stopped Dialogs and Command Dialogs from closing when a press starts inside the dialog and the drag ends on the backdrop. Updated the Nunjucks and Jinja templates and the docs examples. Based on [#104](https://github.com/hunvreus/basecoat/pull/104) by [@PhilipdeRijk](https://github.com/PhilipdeRijk). - Fixed iOS auto-zoom when tapping the Combobox input, the Combobox chips input, the Command search input, native Selects, and Input Group inputs and textareas by using `text-base` below the `md` breakpoint, like regular inputs. The compact Lyra and Mira styles keep their smaller sizes. - Fixed Slider thumb hover and focus rings, the RTL Sidebar submenu chevron, and some dark mode and tooltip arrow styles not applying in the unminified CDN files, because the rules were nested under pseudo-elements. - Fixed CDN `.min.css` builds occasionally dropping rules (such as hidden Combobox, Command and Select options) by minifying with esbuild instead of Tailwind's minifier. - Stopped the Toast docs example from pushing its fragment URL into the browser history with HTMX. - Replaced the `.form` migration snippet in the 1.0.0 notes, which fails in Tailwind v4, with markup that works. ### Contributors - Thanks to [@ytsruh](https://github.com/ytsruh), [@PhilipdeRijk](https://github.com/PhilipdeRijk), [@sgruendel](https://github.com/sgruendel), [@alexander-posztos](https://github.com/alexander-posztos) and [@Jezda1337](https://github.com/Jezda1337) for their contributions to this release. ## [1.0.2] - 2026-07-06 ### Added - Added `data-size="sm"` support to Alert Dialog for the compact upstream size. ### Changed - Removed global font smoothing from Basecoat's package CSS so `antialiased` remains an application-level choice. ## [1.0.1] - 2026-06-28 ### Added - Added explicit `force: true` support to `window.basecoat.init()` and `window.basecoat.initAll()` for rehydrating restored DOM after framework or navigation cache restores. ### Fixed - Reinitialized Basecoat components after HTMX history restores in the docs site. ## [1.0.0] - 2026-06-27 ### Breaking Changes - Removed the CLI workspace from the repo. Template files now ship with `basecoat-css` under `templates/nunjucks` and `templates/jinja`; copy them from `node_modules/basecoat-css/templates/*` instead of installing `basecoat-cli`. ### Added - Added Nunjucks and Jinja template files to the `basecoat-css` package. - Added a custom docs 404 page for Cloudflare static asset fallback. ### Changed - Narrowed dark-mode generated selectors to `html.dark` to reduce broad style recalculation work. - Switched the docs site to Astro's sitemap integration and updated `robots.txt` to point at the generated sitemap index. ### Fixed - Updated Scroll Area examples to use Card surfaces so framed examples inherit style-pack radius and border treatment. ## [1.0.0-beta.7] - 2026-06-25 ### Added - Added a beta Drawer component with native `` markup, side placement, animated close behavior, backdrop and Escape handling, style-pack visuals, JavaScript entrypoints, and docs. ### Changed - Updated the docs dependency to `reallysimpledocs@^1.0.2`. - Marked Chart and Drawer as beta components in the docs navigation. - Promoted the Chart docs warning from alpha to beta. - Updated installation CDN examples for `basecoat-css@1.0.0-beta.7`. ### Fixed - Aligned Drawer examples more closely with upstream shadcn/ui while avoiding Chart API coupling in Drawer docs. ## [1.0.0-beta.6] - 2026-06-23 ### Changed - Updated docs dependency to the published `reallysimpledocs@1.0.0-beta.5` package. - Refined component documentation examples across the docs site, including Select, Table, Tabs, Switch, and Theme Switcher. - Clarified CDN and npm installation guidance for default and named style bundles. - Updated Table examples to avoid inline overlay menus inside scrollable table containers and documented the overflow limitation. ### Fixed - Fixed dark-mode unchecked Switch thumb colors across all style packs to match upstream shadcn/ui behavior. ## [1.0.0-beta.5] - 2026-06-22 ### Added - Added a dedicated Accordion component with native `
` markup, single-item JavaScript behavior, `data-multiple`, disabled item handling, style-pack spacing, and docs. - Added a dedicated Breadcrumb component with semantic `nav`/`ol` markup, style-pack visuals, collapsed and dropdown examples, and docs. - Added documented Card action support with `.card-action`. - Added Combobox clear button, popup trigger, and input-group support, with docs aligned to upstream examples. ### Fixed - Fixed Combobox single selection reopening immediately after selection and filtering the reopened list to the selected value. - Improved Combobox multiple chips and remove buttons to match style-pack button sizing more closely. ## [1.0.0-beta.4] - 2026-06-20 ### Changed - Renamed the compact scrollbar utility from `scrollbar-thin` to `scrollbar-sm`; `scrollbar-thin` remains available through the compatibility stylesheet. ## [1.0.0-beta.3] - 2026-06-20 ### Breaking Changes - Changed Button, Badge, Card, Avatar, and Alert visual APIs to use a canonical root class plus data attributes instead of composed visual classes. For example, use `class="btn" data-variant="outline"`, `class="badge" data-variant="secondary"`, `class="card" data-size="sm"`, `class="avatar" data-size="lg"`, and `class="alert" data-variant="destructive"`. Legacy aliases are available only through the optional compatibility stylesheet. - Changed icon-only Button sizing from `data-icon="only"` plus optional `data-size` to upstream-aligned `data-size="icon|icon-xs|icon-sm|icon-lg"`. ### Added - Added an opt-in `basecoat-css/compat` stylesheet for pre-1.0 default Basecoat class aliases. - Added an optional Chart.js helper with `window.basecoat.chart()`, chart CSS, generated tooltips, generated legends, and docs. - Added shared Alert action layout support for direct child `