286 Commits
Author SHA1 Message Date
Grug 6769c83c96 Minify CDN CSS with esbuild to stop dropped rules (#220)
Tailwind's --minify (Lightning CSS) randomly drops rules from the CDN .min.css files (parcel-bundler/lightningcss#1235). Minify with esbuild using Tailwind v4's browser targets instead, fail the build on esbuild warnings, and have npm run check fail if a .min.css file loses any selector from its unminified file.
1.1.0
2026-10-23 18:15:35 +08:00
Grug 275782b7e5 Stop nesting states under pseudo-elements (#219)
Tailwind emits variants used inside a pseudo-element rule (hover:, focus-visible:, active:, dark:, not-dark:, data-*, rtl:) as nested &:state rules. Native CSS nesting can't match those, so they never applied in the unminified CDN files. Move each state before the pseudo-element instead.
2026-10-23 18:09:41 +08:00
Grug 33d0eb9eb2 Use 16px text on mobile for the remaining text fields to stop iOS zoom (#218) 2026-10-23 16:02:47 +08:00
Grugandgrugbraindev 9de91ee607 Add upgrade note and contributors to 1.1.0 changelog (#217)
Co-authored-by: grugbraindev <178141691+grugbraindev@users.noreply.github.com>
2026-10-23 15:25:07 +08:00
Grugandgrugbraindev 15ba02296c Prepare 1.1.0 release (#216)
Co-authored-by: grugbraindev <178141691+grugbraindev@users.noreply.github.com>
2026-10-23 15:08:55 +08:00
Grugandgrugbraindev 5b11997e74 Stage npm releases from a release workflow, add CI, bump reallysimpledocs to 1.0.14 (#215)
* Stage npm releases from a release workflow, add CI checks, bump reallysimpledocs to 1.0.14

* Announce releases on Discord only after the site deploys

---------

Co-authored-by: grugbraindev <178141691+grugbraindev@users.noreply.github.com>
2026-10-23 15:03:23 +08:00
Grugandgrugbraindev 67d8c40543 Document the separator (#210)
* Document the separator

Basecoat has no Separator component: an <hr> already renders as a 1px line in the border color. Add a docs page with horizontal, vertical, menu, list and RTL examples that mirror shadcn/ui's Separator docs.

* Style vertical separators in base CSS

Add a low-specificity base rule so <hr aria-orientation="vertical"> renders
as a 1px inline-start line that stretches to its row, matching shadcn/ui's
vertical Separator. Rewrite the Separator docs to use it without utility
classes, note role="none" for decorative separators, and add a changelog
entry.

---------

Co-authored-by: grugbraindev <178141691+grugbraindev@users.noreply.github.com>
2026-10-23 14:52:24 +08:00
Grugandgrugbraindev 7bc046c7e7 Keep parent popovers open when a nested one opens (#213)
Opening a popover, dropdown menu, select or combobox closed every
other open one, including the popover it sits in. Only close the
ones that don't contain the source, like native popover=auto.

Co-authored-by: grugbraindev <178141691+grugbraindev@users.noreply.github.com>
2026-10-23 14:52:16 +08:00
Grugandgrugbraindev a834708080 Lock page scroll while a modal dialog is open (#214)
Pure CSS: html:has(<dialog>:modal) gets overflow: hidden. A scroll
timeline sets scrollbar-gutter: stable only when the page can scroll,
so the layout doesn't shift.

Co-authored-by: grugbraindev <178141691+grugbraindev@users.noreply.github.com>
2026-10-23 14:52:09 +08:00
Grugandgrugbraindev 33a255b499 Scope sidebar nav rules to the direct child nav (#211)
The sidebar rules matched every nav inside .sidebar, so a nested
tablist nav became fixed, column, sidebar-width. Use .sidebar > nav
in the component CSS, all style packs and sidebar.js.

Co-authored-by: grugbraindev <178141691+grugbraindev@users.noreply.github.com>
2026-10-23 14:52:02 +08:00
Grugandgrugbraindev 267ad687fa Use Geist as the default sans font family name (#208)
Google Fonts, Bunny Fonts and Fontsource all publish the font as "Geist". "Geist Sans" is only on Fontsource, so the default token fell back to system fonts with the other providers. "Geist Sans" stays as a fallback for existing Fontsource setups. Matches shadcn/ui, which loads "Geist".

Co-authored-by: grugbraindev <178141691+grugbraindev@users.noreply.github.com>
2026-10-23 14:51:55 +08:00
Grugandgrugbraindev b6625ee3ac Document Tailwind Play CDN setup for Basecoat theme colors (#212)
Co-authored-by: grugbraindev <178141691+grugbraindev@users.noreply.github.com>
2026-10-23 14:51:48 +08:00
Grugandgrugbraindev 705ff1b89c Replace the .form migration snippet that fails in Tailwind v4 (#209)
Tailwind v4 can't @apply Basecoat's component classes, so the 1.0.0 migration snippet failed with "Cannot apply unknown utility class". Show the .field wrapper and the per-element classes instead.

Co-authored-by: grugbraindev <178141691+grugbraindev@users.noreply.github.com>
2026-10-23 14:51:40 +08:00
Stefan Gründelandgrugbraindev 192f167c17 Fix tooltip ellipsis across style packs (#205)
Co-authored-by: grugbraindev <178141691+grugbraindev@users.noreply.github.com>
2026-10-23 09:52:36 +08:00
Stefan Gründel 64d219fdc6 Fix combobox Escape handling inside dialogs (#204) 2026-10-23 09:51:21 +08:00
Grug b7d33eee04 Add single-file .bundle.css outputs for Tailwind CLI without npm (#206)
Emit dist/basecoat-{style}.bundle.css for every style pack, plus
dist/basecoat.bundle.css (Vega alias) and dist/basecoat-base.bundle.css.
Each is the uncompiled source with relative @imports inlined, so it can
be downloaded as one file (e.g. from jsDelivr) and imported after
tailwindcss. Compiling a bundle produces byte-identical output to the
split entrypoint.

Document the bundles on the installation page and fix the description
of basecoat-css/all.css, which is an alias for the default stylesheet.

Refs #150
2026-10-23 09:23:51 +08:00
GrugandMaurits van Riezen 30e5bdcf3a Escape toast text by default, add html option (#203)
Toast title, description and action labels were inserted into the page
as HTML, so passing user input could inject markup or script. They are
now escaped by default, and `html: true` keeps the old raw-HTML
behaviour. The action href, onclick strings, category and duration are
escaped as attribute values. `icon` stays raw markup.

Documents the `html` and `icon` options, adds a warning about `html`
and `onclick`, and notes that the Jinja and Nunjucks macros rely on
template autoescaping.

Co-authored-by: Maurits van Riezen <12109031+mousetail@users.noreply.github.com>
2026-10-23 09:23:05 +08:00
GrugandPhilipdeRijk cafffa0597 Don't close dialogs when a drag ends on the backdrop (#202)
Only close a dialog or command dialog on backdrop click when the press
also started on the backdrop, so selecting text inside and releasing
outside no longer closes it.

Co-authored-by: PhilipdeRijk <derijk.pjtm@gmail.com>
2026-10-23 09:22:42 +08:00
Grugandboratatouille 2a2c64c651 Deploy the site from a release branch moved on each published release (#207)
Co-authored-by: boratatouille <178141691+boratatouille@users.noreply.github.com>
2026-10-23 09:09:26 +08:00
Alexander Posztosandboratatouille 0b28009e38 Fix iOS auto-zoom on combobox input (#185)
* Fix iOS auto-zoom on select and command search inputs

* Match shadcn/ui input sizing for combobox and keep command input as is

---------

Co-authored-by: boratatouille <178141691+boratatouille@users.noreply.github.com>
2026-10-22 23:32:56 +08:00
Радоје Јездић d942c8b31d fix(toast): prevent htmx from pushing toast fragment path (#187)
close #186
2026-10-22 23:27:46 +08:00
Ronan Berder d826637eb9 Merge pull request #201 from hunvreus/docs/contributing-target-main
Point contributors at main instead of development
2026-10-22 22:36:45 +08:00
boratatouille 2ad4f6a43b Point contributors at main instead of development 2026-10-22 21:09:07 +08:00
Ronan Berder 6953a4adbe Prepare 1.0.2 release 1.0.2 2026-07-06 15:21:53 +07:00
Ronan Berder f49eaa8513 Update ReallySimpleDocs dependency 2026-06-30 15:33:34 +08:00
Ronan Berder fcea07fc3d Update docs dependency 2026-06-29 22:39:24 +08:00
Ronan Berder aa09ddb271 Add manual release announcement dispatch 2026-06-28 10:46:28 +08:00
Ronan Berder 05ea49ccc5 Prepare 1.0.1 release 1.0.1 2026-06-28 10:06:30 +08:00
Ronan Berder 5f84c842f7 Harden Discord release workflow 2026-06-28 09:54:30 +08:00
Ronan Berder 7dc70daa83 Add force init lifecycle option 2026-06-28 09:54:05 +08:00
Ronan Berder b4424e9e8b Add Discord release announcement workflow 2026-06-28 09:51:48 +08:00
Ronan Berder d431873be7 Fix docs sidebar after history restore 2026-06-27 21:12:05 +08:00
Ronan Berder 537f77507e Install site dependencies during docs build 2026-06-27 19:45:17 +08:00
Ronan Berder 521bd93705 Regenerate lockfiles for deploy 2026-06-27 19:33:57 +08:00
Ronan Berder a9e1fe7b91 Prepare 1.0.0 release 1.0.0 2026-06-27 18:07:58 +08:00
Ronan Berder f254b92bd3 Checkpoint repo restructure 2026-06-27 09:01:35 +08:00
Ronan Berder c81900a58d Prepare 1.0.0 release 2026-06-27 08:55:48 +08:00
Ronan Berder 2be9606ce4 Align input group stacking with upstream 2026-06-26 18:13:18 +08:00
Ronan Berder be38645049 Fix input group dropdown stacking 2026-06-26 14:48:03 +08:00
Ronan Berder cc50da553f Use card surfaces for scroll area examples 2026-06-26 14:35:20 +08:00
Ronan Berder bf8f721662 Simplify select component selectors 2026-06-26 11:56:36 +08:00
Ronan Berder 7cd8a09de3 Narrow dark mode selectors 2026-06-25 18:15:35 +08:00
Ronan Berder 4942a79c95 Add border to command docs preview 2026-06-25 17:55:53 +08:00
Ronan Berder 3b49a0efc5 Fix rounded drawer side positioning 2026-06-25 17:22:57 +08:00
Ronan Berder 6c87a5cde8 Fix Sera command preview styling 2026-06-25 16:48:10 +08:00
Ronan Berder 77c5281f49 Fixing assets 2026-06-25 13:36:21 +08:00
Ronan Berder a0715d17ab Release beta 7 with Drawer component 2026-06-25 12:59:15 +08:00
Ronan Berder b3c5d16e28 Update ReallySimpleDocs to 1.0.1 1.0.0-beta.6 2026-06-24 20:17:41 +08:00
Ronan Berder a8c066306b Update RSD docs integration 2026-06-24 19:07:23 +08:00
Ronan Berder bbdfe1d272 Disable HTMX boost on docs home link 2026-06-23 18:22:45 +08:00