From e259e5f5cd523c60e4677e136cddb8e6e9391944 Mon Sep 17 00:00:00 2001 From: Evan Gress <106449014+evangress@users.noreply.github.com> Date: Tue, 10 Nov 2026 18:48:12 -0500 Subject: [PATCH 1/3] Snippets: a red destructive confirm, and repeatable removable rows - confirm-dialog: the Delete button is data-tone="error" (solid red) and the opener an outlined red button. Tested: the confirm button's fill is the error tone, Cancel's isn't. - New repeatable-rows snippet: an expense form whose rows are added with --clone and removed with --remove; Add and Remove are written hidden, so the first row works without JavaScript. Tested: add two, remove the middle one, focus moves to the row before. The no-JS test allows hidden --remove buttons. Needs TagBrush.css's and TagAction's next releases (data-tone on buttons, --remove) and TagCheck's vocabulary: verified against the sibling checkouts (63 tests: 60 passed, 3 skipped). Against the installed packages, these four tests fail until those releases. Co-Authored-By: Claude Fable 5.2 --- CHANGELOG.md | 2 ++ README.md | 2 +- ai/AGENTS.md | 3 ++- ai/claude/tagkit/SKILL.md | 3 ++- ai/cursor/tagkit.mdc | 3 ++- index.html | 35 +++++++++++++++++++++++++--- llms.txt | 3 ++- preview/confirm-dialog.html | 6 ++--- preview/repeatable-rows.html | 43 +++++++++++++++++++++++++++++++++++ snippets.json | 10 +++++++- snippets/confirm-dialog.html | 6 ++--- snippets/repeatable-rows.html | 28 +++++++++++++++++++++++ tests/kit.spec.mjs | 24 ++++++++++++++++++- 13 files changed, 152 insertions(+), 16 deletions(-) create mode 100644 preview/repeatable-rows.html create mode 100644 snippets/repeatable-rows.html diff --git a/CHANGELOG.md b/CHANGELOG.md index 7a05326..3fcca9b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +- New snippet: repeatable rows, a form where people add rows with TagAction's `--clone` and remove any of them with `--remove` (TagAction's next release). The Add and Remove buttons are written `hidden`, so without JavaScript the first row still works. +- The confirm dialog's destructive button is red: `data-tone="error"` on the Delete button, and an outlined red opener (TagBrush.css's next release). - MkDocs theme: search. `search: titles` (the default) finds pages and sections by title from a box above the sidebar, filtered by TagAction 0.3's search-results list; `search: pagefind` uses Pagefind for full text; `search: false` leaves it out. The README no longer lists callouts as missing: TagBrush.css 1.2 styles `!!! note` once the `admonition` extension is on. - Tested with TagBrush.css 1.2.0. - The blog post template's lead photo opens in TagAction's viewer: its link now ends in `.jpg`, since TagAction only treats links to image files as photos. A test checks every linked photo. Found by the family agent evaluation. diff --git a/README.md b/README.md index b30d2ac..3db504d 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ TagKit is part of the Tag family. Its HTML is styled by [TagBrush.css](https://g **Page templates** (`templates/`): landing page, dashboard, docs page, blog post, sign-up page, admin table. Each is a complete page; open it and copy the source. -**Snippets** (`snippets/`): hero, feature grid, pricing table, testimonials, FAQ, card grid, stat tiles, page header, data table, search bar, confirm dialog, user menu, contact form, callouts, sidebar layout, docs layout, footer columns. Each file starts with a comment that says what it is and where it goes. Most go inside `
`; ones marked `(body)` are page-level. +**Snippets** (`snippets/`): hero, feature grid, pricing table, testimonials, FAQ, card grid, stat tiles, page header, data table, search bar, confirm dialog (with a red destructive button), user menu, contact form, repeatable rows (add and remove), callouts, sidebar layout, docs layout, footer columns. Each file starts with a comment that says what it is and where it goes. Most go inside `
`; ones marked `(body)` are page-level. **Themes**: a [Pandoc template](themes/pandoc/) that turns Markdown, Word, or AI-written documents into a styled page with one command, a [Jekyll theme for GitHub Pages](https://github.com/kovirlabs/tagkit-jekyll) used with one config line (`remote_theme: kovirlabs/tagkit-jekyll`), an [MkDocs theme](themes/mkdocs/) for documentation sites, a [Hugo theme](themes/hugo/) for blogs and sites, and a [WordPress block theme](https://github.com/kovirlabs/tagkit-wordpress). diff --git a/ai/AGENTS.md b/ai/AGENTS.md index a1683ad..7bc4e21 100644 --- a/ai/AGENTS.md +++ b/ai/AGENTS.md @@ -50,7 +50,7 @@ Then build: `npx @kovirlabs/tagkit build site/ public/` (`--check` also runs Tag - [Callouts](https://raw.githubusercontent.com/kovirlabs/tagkit/main/snippets/callout.html): highlighted notes inside an article. A bold first word labels them; data-tone colors them. - [Card grid](https://raw.githubusercontent.com/kovirlabs/tagkit/main/snippets/card-grid.html): a section of linked cards, such as blog posts, projects, or products. Each card is an
. -- [Confirm dialog](https://raw.githubusercontent.com/kovirlabs/tagkit/main/snippets/confirm-dialog.html): a button opens a modal with no page script (commandfor/command); clicking the backdrop, Escape, or Cancel closes it. +- [Confirm dialog](https://raw.githubusercontent.com/kovirlabs/tagkit/main/snippets/confirm-dialog.html): a button opens a modal with no page script (commandfor/command); clicking the backdrop, Escape, or Cancel closes it. The destructive action is a red button (data-tone="error"). - [Contact form](https://raw.githubusercontent.com/kovirlabs/tagkit/main/snippets/contact-form.html): labeled fields with help text, validation messages shown under each field, a character counter, and a busy submit button. - [Data table](https://raw.githubusercontent.com/kovirlabs/tagkit/main/snippets/data-table.html): sortable columns (click a header), a filter box that hides rows as you type, and status badges. Sort values go in and