Skip to content

Version Packages - #438

Open
github-actions[bot] wants to merge 1 commit into
mainfrom
changeset-release/main
Open

Version Packages#438
github-actions[bot] wants to merge 1 commit into
mainfrom
changeset-release/main

Conversation

@github-actions

@github-actions github-actions Bot commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

@tailor-platform/app-shell@1.12.0

Minor Changes

  • b5289fc: Re-export react-router's Navigate, so apps no longer need react-router as a direct dependency for declarative redirects.

    import { Navigate } from "@tailor-platform/app-shell";
    
    if (!allowed) return <Navigate to="/dashboard" replace />;

    See Declarative Redirects for when to prefer the route-level redirectTo() guard instead.

  • fd2f4bc: Refactor DateField / DatePicker to follow the same composition model as Field, Select, Combobox, and Autocomplete.

    The date controls are now control-first: field chrome moved out of the control props and into Field.Root composition. They also interoperate correctly with Form / Field.Root label wiring, onFormSubmit value collection, and submit-time validation for required and out-of-range default values.

    Breaking changes:

    • label, description, and errorMessage were removed from DateField / DatePicker; compose them with Field.Root, Field.Label, Field.Description, and Field.Error instead.
    • hideTimeZone was removed; it was previously accepted by the prop types but had no effect.

    isInvalid still remains a top-level prop for externally-controlled invalid styling, and the semantic date props (isRequired, isDisabled, isReadOnly, minValue, maxValue, isDateUnavailable) remain top-level and aligned with Calendar.

    Before:

    <DatePicker
      label="Delivery date"
      description="When should we ship your order?"
      minValue={today(getLocalTimeZone())}
      errorMessage={error}
      isInvalid={!!error}
    />

    After:

    <Field.Root invalid={!!error}>
      <Field.Label>Delivery date</Field.Label>
      <DatePicker
        aria-label="Delivery date"
        minValue={today(getLocalTimeZone())}
      />
      <Field.Description>When should we ship your order?</Field.Description>
      <Field.Error match={!!error}>{error}</Field.Error>
    </Field.Root>

    Standalone usage still works with accessible naming:

    <DateField aria-label="Invoice date" />
  • fa587b2: Bridge --alert-* tokens into Tailwind's theme as --color-alert-*

    The --alert-* design tokens (neutral / success / warning / error / info × background / foreground / foreground-muted / border) are now exposed through @theme inline, matching how --status-* is already bridged.

    Application code can now use ordinary color utilities for callouts, banners, and status-highlighted rows:

    // Before — arbitrary values, no autocomplete, silent failure on a typo
    <div className="bg-[color:var(--alert-info-background)] text-[color:var(--alert-info-foreground)]" />
    
    // After
    <div className="bg-alert-info-background text-alert-info-foreground" />

    This is purely additive — existing arbitrary-value usage keeps working, and the generated CSS is unchanged.

Patch Changes

  • 8b72b55: Document how to remove the @theme bridge workaround, which silently breaks dark mode on 1.7+.

    Apps that pasted the @theme inline block, @custom-variant dark (&:is(.dark *)), and a copy of the palette into their entry CSS (the workaround while styles shipped without the bridge, 1.5.0–1.6.1) keep those definitions winning over AppShell's own palette, because the default palette is imported inside layer(theme.defaults) and consumer CSS is unlayered. The build succeeds with no warning, but surfaces added since the copy render light-mode colours in dark mode.

    Adds docs/migrations.md, a curated list of breaking changes and the steps each one requires, newest first — separate from the changelog so upgraders and AI agents have one narrow place to look. The first entry covers detecting and removing this workaround, including the requirement to be on 1.7.0 or later first, since the workaround is load-bearing before that.

    That page now ships with the package. The published tarball contains only dist/** and skills/** — no docs/, no CHANGELOG.md — so a consumer app previously had no migration record available locally at all. docs/migrations.md is generated into the bundled app-shell-patterns skill as references/migrations.md (with relative links rewritten to repo URLs), and the skill now names upgrades and post-version-bump styling breakage among its triggers, so coding agents reach it from node_modules. packages/core/README.md links it for the human path, since the README is the only human-readable file npm publishes.

    docs/concepts/styling-theming.md and the bundled app-shell-patterns skill now document :root / :root.dark as the override form to use. A bare .dark override silently loses against the branded palettes (cream, bloom), which are imported unlayered and define their dark values on :root.dark.

  • 2a3f5e6: Polish the built-in sidebar search entry so it looks more like a compact text field.

    The search affordance now shows the platform-specific keyboard shortcut (⌘K on Apple platforms, Ctrl+K elsewhere) and uses subtler spacing and typography.

  • 45218cc: Fix the bundled app-shell-patterns skill, whose design-system.md documented a token system that does not exist in the package. Agents read it as canonical and emitted classes like bg-surface-1, text-fg-default, and bg-danger, which produce no CSS at all — a silent failure with no error or warning.

    Tokens, dark mode (.dark on <html>), elevation, z-index, and the styles import now match the shipped CSS, and the fabricated spacing, typography, motion, and icon scales are gone in favour of stock Tailwind. Also drops references to Icon and Stat, which aren't exported, and to a Sheet contentClassName prop that doesn't exist.

    Documentation only — no runtime or CSS changes.

@github-actions
github-actions Bot requested a review from a team as a code owner August 13, 2026 02:11
@github-actions
github-actions Bot force-pushed the changeset-release/main branch 5 times, most recently from 6b5006e to 1e32aa7 Compare August 17, 2026 01:04
@github-actions
github-actions Bot force-pushed the changeset-release/main branch from 1e32aa7 to d9cbed8 Compare August 17, 2026 04: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.

0 participants