Skip to content

feat: Support Astro v6#158

Merged
Adammatthiesen merged 22 commits intomainfrom
feat/astro-v6
Mar 20, 2026
Merged

feat: Support Astro v6#158
Adammatthiesen merged 22 commits intomainfrom
feat/astro-v6

Conversation

@louisescher
Copy link
Member

@louisescher louisescher commented Mar 7, 2026

Description

  • This PR adds support for Astro v6.
  • Right now, we are working with beta versions. These should be swapped out before the release.

Summary by CodeRabbit

Release Notes

  • New Features

    • Added support for Astro v6
    • Introduced noInjectResetCSS configuration option to disable automatic CSS reset injection with manual import capability
  • Documentation

    • New upgrade guide for v1.1 to v1.2 migration
    • Enhanced customization documentation with CSS reset configuration instructions

@louisescher louisescher requested a review from a team as a code owner March 7, 2026 13:19
@changeset-bot
Copy link

changeset-bot bot commented Mar 7, 2026

🦋 Changeset detected

Latest commit: 47b0472

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@studiocms/ui Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@louisescher louisescher marked this pull request as draft March 7, 2026 13:19
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 7, 2026

📝 Walkthrough

Walkthrough

Updates StudioCMS UI to support Astro v6, introduces a noInjectResetCSS configuration option for disabling automatic CSS reset injection, removes the Docker CI workflow, updates documentation structure and component references, and bumps dependency versions across the workspace.

Changes

Cohort / File(s) Summary
Changeset Entries
.changeset/dry-carpets-drive.md, .changeset/lemon-countries-repeat.md
Added two new changesets documenting the addition of noInjectResetCSS option (patch) and Astro v6 support (minor).
Removed CI/CD
.github/workflows/ci-docker-main.yml
Deleted entire Docker image build and push workflow for GHCR and Dokploy deployment.
Dependency Updates
package.json, packages/studiocms_ui/package.json, docs/package.json, pnpm-workspace.yaml
Updated versions for build tools (Biome, Knip, Playwright), Starlight, Astro (to v6), TypeScript, and UI dependencies; removed deprecated catalog entries; broadened Astro and Vite peer ranges.
UI Integration Feature
packages/studiocms_ui/src/index.ts
Added noInjectResetCSS integration option; exposed studiocms:ui/reset-css virtual module for manual CSS reset imports; updated SSR injection control flow.
CSS Reset Handling
packages/studiocms_ui/src/css/global.css
Removed automatic import of resets.css from global.css.
Header Utilities
packages/studiocms_ui/src/utils/headers.ts
Updated Astro type from AstroGlobalPartial to AstroGlobal; tightened schema validation; added favicon entry; reformatted object literals.
Starlight Overrides
docs/src/starlightOverrides/Header.astro, docs/src/starlightOverrides/PageTitle.astro, docs/src/starlightOverrides/SiteTitle.astro
Updated data sourcing from Astro.props.entry to Astro.locals.starlightRoute.entry; refactored conditional rendering; relocated CSS and adjusted component structure.
Removed Rehype Plugin
docs/src/plugins/rehypeAutolink.ts, docs/src/plugins/rehypePluginKit.ts
Deleted rehype autolink headings plugin and removed it from plugin registry.
Documentation Configuration
docs/astro.config.mts
Updated UI integration with noInjectResetCSS: true; reformatted Starlight social links from object map to array structure; updated THUM_SECRET_KEY formatting.
Documentation Page Removal
docs/src/styles/starlight.css
Added !important flag to menu button background color in light theme.
Component Documentation
docs/src/content/docs/docs/components/progress.mdx, docs/src/content/docs/docs/components/skeleton.mdx, docs/src/content/docs/docs/components/tabs.mdx, docs/src/content/docs/docs/components/tooltip.mdx, docs/src/content/docs/docs/utilities/prose.mdx
Removed sidebar badges; standardized import quotes to double; added spacing/blank lines; adjusted typography styling in Tooltip.
Upgrade & Customization Guides
docs/src/content/docs/docs/guides/customization.mdx, docs/src/content/docs/docs/upgrade-guides/0.4-to-1.0.mdx, docs/src/content/docs/docs/upgrade-guides/1.1-to-1.2.mdx
Added new "Disabling CSS resets" section with noInjectResetCSS example; created v1.1-to-1.2 migration guide; adjusted indentation and whitespace in existing guides; removed badges.
Test Refactoring
packages/studiocms_ui/test/components/Modal.test.ts, packages/studiocms_ui/test/components/Row.test.ts
Reformatted test.for control flow from parameter-style to chained call style without changing test logic.
Vitest Configuration
packages/studiocms_ui/vitest.config.ts
Added image.domains configuration for external image host seccdn.libravatar.org.
Knip Configuration
knip.config.ts
Removed binary and config-file ignore patterns; removed vite.config and ec.config.mjs from entry lists.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Poem

🐰✨ The reset styles now dance with choice,
Astro six greets with joyful voice!
CSS resets can hide away,
While docs and configs find new display.
A rabbit's work—refactor and care,
Cleaner imports float through the air! 🌈

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The pull request title 'feat: Support Astro v6' accurately summarizes the main objective of adding Astro v6 support across the codebase.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/astro-v6
📝 Coding Plan
  • Generate coding plan for human review comments

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@louisescher louisescher changed the title feat: Support Astro v6 [WIP] feat: Support Astro v6 Mar 7, 2026
@codecov
Copy link

codecov bot commented Mar 7, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ All tests successful. No failed tests found.

📢 Thoughts on this report? Let us know!

@pkg-pr-new
Copy link

pkg-pr-new bot commented Mar 7, 2026

npm i https://pkg.pr.new/@studiocms/ui@158

commit: 47b0472

@github-actions
Copy link
Contributor

github-actions bot commented Mar 7, 2026

Test Results

passed 300 passed

Details

tests 300 tests
clock 772ms
tool playwright
build Run Tests arrow-right playwright-test-report link #281
pull-request [WIP] feat: Support Astro v6 link #158

Suites

300 passed, 0 failed, and 0 other

Suite Passed Failed Other Duration
✅ packages/studiocms_ui/test/components/Accordion.e2e.ts
        ✅ Test Functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
        ✅ Test Accessibility - Variant Styling (Dark Mode)
        ✅ Test Accessibility - Variant Styling (Light Mode)
        ✅ Test Functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
        ✅ Test Accessibility - Variant Styling (Dark Mode)
        ✅ Test Accessibility - Variant Styling (Light Mode)
✅ 10 ❌ 0 ⏭️ 0 16.2s
✅ packages/studiocms_ui/test/components/Alert.e2e.ts
        ✅ Basic functionality
        ✅ Renders all variant alerts
        ✅ Renders alert content correctly
        ✅ Renders with correct variant icons
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
        ✅ Test Accessibility - Variant Styling (Dark Mode)
        ✅ Test Accessibility - Variant Styling (Light Mode)
        ✅ Basic functionality
        ✅ Renders all variant alerts
        ✅ Renders alert content correctly
        ✅ Renders with correct variant icons
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
        ✅ Test Accessibility - Variant Styling (Dark Mode)
        ✅ Test Accessibility - Variant Styling (Light Mode)
✅ 16 ❌ 0 ⏭️ 0 15.4s
✅ packages/studiocms_ui/test/components/Badge.e2e.ts
        ✅ Basic functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
        ✅ Test Accessibility - Variant Styling (Dark Mode)
        ✅ Test Accessibility - Variant Styling (Light Mode)
        ✅ Test Accessibility - Colors Styling (Dark Mode)
        ✅ Test Accessibility - Colors Styling (Light Mode)
        ✅ Basic functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
        ✅ Test Accessibility - Variant Styling (Dark Mode)
        ✅ Test Accessibility - Variant Styling (Light Mode)
        ✅ Test Accessibility - Colors Styling (Dark Mode)
        ✅ Test Accessibility - Colors Styling (Light Mode)
✅ 14 ❌ 0 ⏭️ 0 20.7s
✅ packages/studiocms_ui/test/components/Breadcrumbs.e2e.ts
        ✅ Basic functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
        ✅ Basic functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
✅ 6 ❌ 0 ⏭️ 0 7.7s
✅ packages/studiocms_ui/test/components/Button.e2e.ts
        ✅ Basic functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
        ✅ Test Accessibility - Variant Styling (Dark Mode)
        ✅ Test Accessibility - Variant Styling (Light Mode)
        ✅ Test Accessibility - Polymorphic Styling (Dark Mode)
        ✅ Test Accessibility - Polymorphic Styling (Light Mode)
        ✅ Test Accessibility - Colors Styling (Dark Mode)
        ✅ Test Accessibility - Colors Styling (Light Mode)
        ✅ Basic functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
        ✅ Test Accessibility - Variant Styling (Dark Mode)
        ✅ Test Accessibility - Variant Styling (Light Mode)
        ✅ Test Accessibility - Polymorphic Styling (Dark Mode)
        ✅ Test Accessibility - Polymorphic Styling (Light Mode)
        ✅ Test Accessibility - Colors Styling (Dark Mode)
        ✅ Test Accessibility - Colors Styling (Light Mode)
✅ 18 ❌ 0 ⏭️ 0 29.0s
✅ packages/studiocms_ui/test/components/Card.e2e.ts
        ✅ Basic functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
        ✅ Test Accessibility - Variant Styling (Dark Mode)
        ✅ Test Accessibility - Variant Styling (Light Mode)
        ✅ Test Accessibility - Slot Styling (Dark Mode)
        ✅ Test Accessibility - Slot Styling (Light Mode)
        ✅ Test Accessibility - Polymorphic Styling (Dark Mode)
        ✅ Test Accessibility - Polymorphic Styling (Light Mode)
        ✅ Basic functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
        ✅ Test Accessibility - Variant Styling (Dark Mode)
        ✅ Test Accessibility - Variant Styling (Light Mode)
        ✅ Test Accessibility - Slot Styling (Dark Mode)
        ✅ Test Accessibility - Slot Styling (Light Mode)
        ✅ Test Accessibility - Polymorphic Styling (Dark Mode)
        ✅ Test Accessibility - Polymorphic Styling (Light Mode)
✅ 18 ❌ 0 ⏭️ 0 27.6s
✅ packages/studiocms_ui/test/components/Center.e2e.ts
        ✅ Basic functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
        ✅ Basic functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
✅ 6 ❌ 0 ⏭️ 0 7.0s
✅ packages/studiocms_ui/test/components/Checkbox.e2e.ts
        ✅ Basic functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
        ✅ Test Accessibility - Color Styling (Dark Mode)
        ✅ Test Accessibility - Color Styling (Light Mode)
        ✅ Basic functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
        ✅ Test Accessibility - Color Styling (Dark Mode)
        ✅ Test Accessibility - Color Styling (Light Mode)
✅ 10 ❌ 0 ⏭️ 0 16.3s
✅ packages/studiocms_ui/test/components/Divider.e2e.ts
        ✅ Basic functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
        ✅ Basic functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
✅ 6 ❌ 0 ⏭️ 0 7.1s
✅ packages/studiocms_ui/test/components/Dropdown.e2e.ts
        ✅ Basic functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
        ✅ Basic functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
✅ 6 ❌ 0 ⏭️ 0 7.5s
✅ packages/studiocms_ui/test/components/Footer.e2e.ts
        ✅ Basic functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
        ✅ Basic functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
✅ 6 ❌ 0 ⏭️ 0 7.5s
✅ packages/studiocms_ui/test/components/Group.e2e.ts
        ✅ Basic functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
        ✅ Test Accessibility - Button Group Styling (Dark Mode)
        ✅ Test Accessibility - Button Group Styling (Light Mode)
        ✅ Basic functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
        ✅ Test Accessibility - Button Group Styling (Dark Mode)
        ✅ Test Accessibility - Button Group Styling (Light Mode)
✅ 10 ❌ 0 ⏭️ 0 15.2s
✅ packages/studiocms_ui/test/components/Icon.e2e.ts
        ✅ Basic functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
        ✅ Basic functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
✅ 6 ❌ 0 ⏭️ 0 7.0s
✅ packages/studiocms_ui/test/components/Input.e2e.ts
        ✅ Basic functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
        ✅ Test Accessibility - With Icon Styling (Dark Mode)
        ✅ Test Accessibility - With Icon Styling (Light Mode)
        ✅ Basic functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
        ✅ Test Accessibility - With Icon Styling (Dark Mode)
        ✅ Test Accessibility - With Icon Styling (Light Mode)
✅ 10 ❌ 0 ⏭️ 0 14.1s
✅ packages/studiocms_ui/test/components/Modal.e2e.ts
        ✅ Basic functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
        ✅ Basic functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
✅ 6 ❌ 0 ⏭️ 0 8.9s
✅ packages/studiocms_ui/test/components/Progress.e2e.ts
        ✅ Basic functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
        ✅ Test Accessibility - Color Styling (Dark Mode)
        ✅ Test Accessibility - Color Styling (Light Mode)
        ✅ Basic functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
        ✅ Test Accessibility - Color Styling (Dark Mode)
        ✅ Test Accessibility - Color Styling (Light Mode)
✅ 10 ❌ 0 ⏭️ 0 15.8s
✅ packages/studiocms_ui/test/components/RadioGroup.e2e.ts
        ✅ Basic functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
        ✅ Test Accessibility - Color Styling (Dark Mode)
        ✅ Test Accessibility - Color Styling (Light Mode)
        ✅ Basic functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
        ✅ Test Accessibility - Color Styling (Dark Mode)
        ✅ Test Accessibility - Color Styling (Light Mode)
✅ 10 ❌ 0 ⏭️ 0 15.1s
✅ packages/studiocms_ui/test/components/Row.e2e.ts
        ✅ Basic functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
        ✅ Basic functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
✅ 6 ❌ 0 ⏭️ 0 7.1s
✅ packages/studiocms_ui/test/components/SearchSelect.e2e.ts
        ✅ Basic functionality
        ✅ Multi-Select functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
        ✅ Test Accessibility - Multi-Select Styling (Dark Mode)
        ✅ Test Accessibility - Multi-Select Styling (Light Mode)
        ✅ Basic functionality
        ✅ Multi-Select functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
        ✅ Test Accessibility - Multi-Select Styling (Dark Mode)
        ✅ Test Accessibility - Multi-Select Styling (Light Mode)
✅ 12 ❌ 0 ⏭️ 0 16.8s
✅ packages/studiocms_ui/test/components/Select.e2e.ts
        ✅ Basic functionality
        ✅ Multiple functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
        ✅ Test Accessibility - Multiple Styling (Dark Mode)
        ✅ Test Accessibility - Multiple Styling (Light Mode)
        ✅ Basic functionality
        ✅ Multiple functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
        ✅ Test Accessibility - Multiple Styling (Dark Mode)
        ✅ Test Accessibility - Multiple Styling (Light Mode)
✅ 12 ❌ 0 ⏭️ 0 16.9s
✅ packages/studiocms_ui/test/components/Sidebar-double.e2e.ts
        ✅ Basic functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
        ✅ Basic functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
✅ 6 ❌ 0 ⏭️ 0 7.5s
✅ packages/studiocms_ui/test/components/Sidebar-single.e2e.ts
        ✅ Basic functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
        ✅ Basic functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
✅ 6 ❌ 0 ⏭️ 0 7.2s
✅ packages/studiocms_ui/test/components/Skeleton.e2e.ts
        ✅ Basic functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
        ✅ Test Accessibility - Variant Styling (Dark Mode)
        ✅ Test Accessibility - Variant Styling (Light Mode)
        ✅ Test Accessibility - Width/Height Styling (Dark Mode)
        ✅ Test Accessibility - Width/Height Styling (Light Mode)
        ✅ Test Accessibility - Radius Styling (Dark Mode)
        ✅ Test Accessibility - Radius Styling (Light Mode)
        ✅ Test Accessibility - Direction Styling (Dark Mode)
        ✅ Test Accessibility - Direction Styling (Light Mode)
        ✅ Test Accessibility - Horizontal Alignment Styling (Dark Mode)
        ✅ Test Accessibility - Horizontal Alignment Styling (Light Mode)
        ✅ Test Accessibility - Vertical Alignment Styling (Dark Mode)
        ✅ Test Accessibility - Vertical Alignment Styling (Light Mode)
        ✅ Test Accessibility - Gap Styling (Dark Mode)
        ✅ Test Accessibility - Gap Styling (Light Mode)
        ✅ Basic functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
        ✅ Test Accessibility - Variant Styling (Dark Mode)
        ✅ Test Accessibility - Variant Styling (Light Mode)
        ✅ Test Accessibility - Width/Height Styling (Dark Mode)
        ✅ Test Accessibility - Width/Height Styling (Light Mode)
        ✅ Test Accessibility - Radius Styling (Dark Mode)
        ✅ Test Accessibility - Radius Styling (Light Mode)
        ✅ Test Accessibility - Direction Styling (Dark Mode)
        ✅ Test Accessibility - Direction Styling (Light Mode)
        ✅ Test Accessibility - Horizontal Alignment Styling (Dark Mode)
        ✅ Test Accessibility - Horizontal Alignment Styling (Light Mode)
        ✅ Test Accessibility - Vertical Alignment Styling (Dark Mode)
        ✅ Test Accessibility - Vertical Alignment Styling (Light Mode)
        ✅ Test Accessibility - Gap Styling (Dark Mode)
        ✅ Test Accessibility - Gap Styling (Light Mode)
✅ 34 ❌ 0 ⏭️ 0 59.4s
✅ packages/studiocms_ui/test/components/Tabs.e2e.ts
        ✅ Basic functionality
        ✅ Sync functionality
        ✅ Nested functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
        ✅ Test Accessibility - Sync Styling (Dark Mode)
        ✅ Test Accessibility - Sync Styling (Light Mode)
        ✅ Test Accessibility - Nested Styling (Dark Mode)
        ✅ Test Accessibility - Nested Styling (Light Mode)
        ✅ Test Accessibility - Variant Styling (Dark Mode)
        ✅ Test Accessibility - Variant Styling (Light Mode)
        ✅ Basic functionality
        ✅ Sync functionality
        ✅ Nested functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
        ✅ Test Accessibility - Sync Styling (Dark Mode)
        ✅ Test Accessibility - Sync Styling (Light Mode)
        ✅ Test Accessibility - Nested Styling (Dark Mode)
        ✅ Test Accessibility - Nested Styling (Light Mode)
        ✅ Test Accessibility - Variant Styling (Dark Mode)
        ✅ Test Accessibility - Variant Styling (Light Mode)
✅ 22 ❌ 0 ⏭️ 0 31.9s
✅ packages/studiocms_ui/test/components/Textarea.e2e.ts
        ✅ Basic functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
        ✅ Basic functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
✅ 6 ❌ 0 ⏭️ 0 8.6s
✅ packages/studiocms_ui/test/components/Toast.e2e.ts
        ✅ Basic functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
        ✅ Basic functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
✅ 6 ❌ 0 ⏭️ 0 8.2s
✅ packages/studiocms_ui/test/components/Toggle.e2e.ts
        ✅ Basic functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
        ✅ Test Accessibility - Color Styling (Dark Mode)
        ✅ Test Accessibility - Color Styling (Light Mode)
        ✅ Basic functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
        ✅ Test Accessibility - Color Styling (Dark Mode)
        ✅ Test Accessibility - Color Styling (Light Mode)
✅ 10 ❌ 0 ⏭️ 0 14.9s
✅ packages/studiocms_ui/test/components/Tooltip.e2e.ts
        ✅ Basic functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
        ✅ Basic functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
✅ 6 ❌ 0 ⏭️ 0 7.5s
✅ packages/studiocms_ui/test/components/User.e2e.ts
        ✅ Basic functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
        ✅ Basic functionality
        ✅ Test Accessibility - Basic Styling (Dark Mode)
        ✅ Test Accessibility - Basic Styling (Light Mode)
✅ 6 ❌ 0 ⏭️ 0 8.2s

Github Test Reporter by CTRF 💚

🔄 This comment has been updated

@htg-1-studiocms-cloud
Copy link

htg-1-studiocms-cloud bot commented Mar 15, 2026

Dokploy Preview Deployment

Name Status Preview Updated (UTC)
StudioCMS UI ✅ Done Preview URL 2026-03-20T08:34:53.897Z

@louisescher
Copy link
Member Author

@Adammatthiesen Two things here:

  1. The styles in the docs for headings and the search bar are off
  2. The knip CI keeps failing and I am not quite sure why

The package itself works though! Feel free to use the preview release

@Adammatthiesen
Copy link
Member

Adammatthiesen commented Mar 15, 2026

@Adammatthiesen Two things here:

  1. The styles in the docs for headings and the search bar are off
  2. The knip CI keeps failing and I am not quite sure why

The package itself works though! Feel free to use the preview release

Also need to purge the ci-docker-main.yml file as that will no longer be used in this repo Edit: This is now done

Co-authored-by: Adam Matthiesen <amatthiesen@outlook.com>
@Adammatthiesen
Copy link
Member

@Adammatthiesen Two things here:

  1. The styles in the docs for headings and the search bar are off
  2. The knip CI keeps failing and I am not quite sure why

The package itself works though! Feel free to use the preview release

Followup, Knip is now working correctly just needed some cleanup in the repo from unused deps

@louisescher louisescher marked this pull request as ready for review March 20, 2026 08:22
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (4)
docs/src/starlightOverrides/SiteTitle.astro (2)

61-61: Clarify the purpose of the empty div.

This empty <div></div> appears intentional, likely to satisfy the div:not(:last-child) border selector at line 157-159. Consider adding a comment to clarify its purpose for future maintainers.

📝 Add clarifying comment
-		<div></div>
+		{/* Empty div to prevent border on last .main-links child */}
+		<div></div>
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/src/starlightOverrides/SiteTitle.astro` at line 61, The empty
<div></div> is used intentionally to satisfy the CSS rule targeting
div:not(:last-child) (so the previous elements get the border), so update the
SiteTitle component to keep the empty div but add a clarifying inline comment
immediately adjacent to it explaining its purpose (e.g., "placeholder to ensure
div:not(:last-child) applies to previous items"); reference the empty element
and the selector div:not(:last-child) in that comment so future maintainers
understand why it must remain.

63-80: Duplicate align-items: center declaration and unusual style placement.

  1. Lines 68 and 71 both declare align-items: center - the second one is redundant.

  2. The <style> block is nested inside the .site-title-quicklinks div (lines 63-223). While this works in Astro, placing styles at the component root level is more conventional and easier to maintain.

♻️ Remove duplicate property
 .site-title {
   justify-self: flex-start;
   display: flex;
   flex-direction: row;
   align-items: center;
   max-width: 100%;
   overflow: hidden;
-  align-items: center;
   color: var(--sl-color-accent-high);
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/src/starlightOverrides/SiteTitle.astro` around lines 63 - 80, Remove the
duplicate CSS property and move the style block out of the nested
.site-title-quicklinks container: edit SiteTitle.astro to remove the redundant
second "align-items: center" in the .site-title rule and relocate the entire
<style> block to the component root (outside the .site-title-quicklinks div) so
styles apply cleanly and are easier to maintain.
docs/src/content/docs/docs/guides/customization.mdx (1)

73-96: Documentation for noInjectResetCSS looks good.

The new section clearly explains the option and provides a useful example for manual inclusion via the virtual module.

Minor style suggestion: Line 90 starts with "If you want to" which repeats the phrasing from line 75. Consider varying the wording, e.g., "To include it on select pages manually...".

,

✏️ Optional phrasing improvement
-If you want to include it on select pages manually, you can use the `studiocms:ui/reset-css` virtual module.
+To include the reset CSS on select pages manually, use the `studiocms:ui/reset-css` virtual module.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/src/content/docs/docs/guides/customization.mdx` around lines 73 - 96,
Minor wording repetition: replace the repeated "If you want to" phrasing to
improve flow; update the sentence that currently begins "If you want to include
it on select pages manually, you can use the `studiocms:ui/reset-css` virtual
module." to a varied phrasing such as "To include it on select pages manually,
use the `studiocms:ui/reset-css` virtual module." Keep the examples and code
blocks for the `noInjectResetCSS` option and the import of
"studiocms:ui/reset-css" unchanged—only alter the sentence text to the new
wording to remove the duplicate phrasing.
docs/astro.config.mts (1)

47-49: Document why reset CSS injection is disabled.

Please add a brief inline comment here to capture the rationale (noInjectResetCSS: true), since this is a non-default integration behavior and easy to accidentally revert later.

Suggested small clarification
 		ui({
+			// Keep Starlight/docs baseline styles untouched; avoid global reset conflicts.
 			noInjectResetCSS: true,
 		}),
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/astro.config.mts` around lines 47 - 49, Add a short inline comment next
to the ui({ noInjectResetCSS: true }) option explaining why reset CSS injection
is disabled (e.g., to avoid conflicting global resets from our design
system/other global stylesheet or because we inject a tailored reset elsewhere),
so future maintainers won't accidentally revert the non-default noInjectResetCSS
behavior; place the comment adjacent to the noInjectResetCSS property in the
ui(...) configuration.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/src/content/docs/docs/upgrade-guides/1.1-to-1.2.mdx`:
- Line 9: Fix the duplicate word in the sentence beginning "Version 1.2 of
StudioCMS UI brings support for Astro v6..." by removing the extra "with" so it
reads "...make the components with v6." Locate the string in the 1.1-to-1.2
upgrade guide (the line containing "No changes are required to make the
components with with v6.") and change "with with" to a single "with".

In `@packages/studiocms_ui/src/index.ts`:
- Around line 262-267: The current logic injects 'reset-css' whenever
options.noInjectResetCSS is false, even if options.noInjectCSS is true, which
breaks backward compatibility; update the injection condition so reset-css is
only injected when neither options.noInjectResetCSS nor options.noInjectCSS is
true (i.e., check both flags before calling injectScript for 'page-ssr'
`'studiocms:ui/reset-css'`), leaving the existing injectScript call for
`'studiocms:ui/global-css'` guarded by options.noInjectCSS as-is.

---

Nitpick comments:
In `@docs/astro.config.mts`:
- Around line 47-49: Add a short inline comment next to the ui({
noInjectResetCSS: true }) option explaining why reset CSS injection is disabled
(e.g., to avoid conflicting global resets from our design system/other global
stylesheet or because we inject a tailored reset elsewhere), so future
maintainers won't accidentally revert the non-default noInjectResetCSS behavior;
place the comment adjacent to the noInjectResetCSS property in the ui(...)
configuration.

In `@docs/src/content/docs/docs/guides/customization.mdx`:
- Around line 73-96: Minor wording repetition: replace the repeated "If you want
to" phrasing to improve flow; update the sentence that currently begins "If you
want to include it on select pages manually, you can use the
`studiocms:ui/reset-css` virtual module." to a varied phrasing such as "To
include it on select pages manually, use the `studiocms:ui/reset-css` virtual
module." Keep the examples and code blocks for the `noInjectResetCSS` option and
the import of "studiocms:ui/reset-css" unchanged—only alter the sentence text to
the new wording to remove the duplicate phrasing.

In `@docs/src/starlightOverrides/SiteTitle.astro`:
- Line 61: The empty <div></div> is used intentionally to satisfy the CSS rule
targeting div:not(:last-child) (so the previous elements get the border), so
update the SiteTitle component to keep the empty div but add a clarifying inline
comment immediately adjacent to it explaining its purpose (e.g., "placeholder to
ensure div:not(:last-child) applies to previous items"); reference the empty
element and the selector div:not(:last-child) in that comment so future
maintainers understand why it must remain.
- Around line 63-80: Remove the duplicate CSS property and move the style block
out of the nested .site-title-quicklinks container: edit SiteTitle.astro to
remove the redundant second "align-items: center" in the .site-title rule and
relocate the entire <style> block to the component root (outside the
.site-title-quicklinks div) so styles apply cleanly and are easier to maintain.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: c949aa9a-2570-4d21-8049-c3d9d8d00031

📥 Commits

Reviewing files that changed from the base of the PR and between 21694a6 and 32671f2.

⛔ Files ignored due to path filters (4)
  • packages/studiocms_ui/test/components/__snapshots__/Sidebar.test.ts.snap is excluded by !**/*.snap
  • packages/studiocms_ui/test/components/__snapshots__/Tabs.test.ts.snap is excluded by !**/*.snap
  • packages/studiocms_ui/test/components/__snapshots__/User.test.ts.snap is excluded by !**/*.snap
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (29)
  • .changeset/dry-carpets-drive.md
  • .changeset/lemon-countries-repeat.md
  • .github/workflows/ci-docker-main.yml
  • docs/astro.config.mts
  • docs/package.json
  • docs/src/content/docs/docs/components/progress.mdx
  • docs/src/content/docs/docs/components/skeleton.mdx
  • docs/src/content/docs/docs/components/tabs.mdx
  • docs/src/content/docs/docs/components/tooltip.mdx
  • docs/src/content/docs/docs/guides/customization.mdx
  • docs/src/content/docs/docs/upgrade-guides/0.4-to-1.0.mdx
  • docs/src/content/docs/docs/upgrade-guides/1.1-to-1.2.mdx
  • docs/src/content/docs/docs/utilities/prose.mdx
  • docs/src/plugins/rehypeAutolink.ts
  • docs/src/plugins/rehypePluginKit.ts
  • docs/src/starlightOverrides/Header.astro
  • docs/src/starlightOverrides/PageTitle.astro
  • docs/src/starlightOverrides/SiteTitle.astro
  • docs/src/styles/starlight.css
  • knip.config.ts
  • package.json
  • packages/studiocms_ui/package.json
  • packages/studiocms_ui/src/css/global.css
  • packages/studiocms_ui/src/index.ts
  • packages/studiocms_ui/src/utils/headers.ts
  • packages/studiocms_ui/test/components/Modal.test.ts
  • packages/studiocms_ui/test/components/Row.test.ts
  • packages/studiocms_ui/vitest.config.ts
  • pnpm-workspace.yaml
💤 Files with no reviewable changes (4)
  • packages/studiocms_ui/src/css/global.css
  • knip.config.ts
  • docs/src/plugins/rehypeAutolink.ts
  • .github/workflows/ci-docker-main.yml

louisescher and others added 4 commits March 20, 2026 09:30
@louisescher louisescher changed the title [WIP] feat: Support Astro v6 feat: Support Astro v6 Mar 20, 2026
@Adammatthiesen Adammatthiesen merged commit b62de6c into main Mar 20, 2026
13 checks passed
@Adammatthiesen Adammatthiesen deleted the feat/astro-v6 branch March 20, 2026 10:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants