Skip to content

fix: bring the Stepper, Input, Textarea, Sheet and Drawer templates up to the package - #68

Merged
Shewart merged 4 commits into
mainfrom
fix/template-drift-4
Oct 18, 2026
Merged

Shewart merged 4 commits into
mainfrom
fix/template-drift-4

Conversation

@Shewart

@Shewart Shewart commented Oct 18, 2026

Copy link
Copy Markdown
Contributor

Part of #52. The last batch where the package copy wins. After this, 210 of 217 components match their CLI template, and the rest are recorded as allowed drift (CopyButton, CommandPalette, InputOTP, SidebarProvider, AppSidebar, and Resizable, which is #67).

  • Stepper, StepperStep, StepperContent: the CLI Stepper gains the data-driven StepItems mode. The parts read ActiveStep instead of the CurrentStep parameter, so the stepper stops overwriting a parameter it doesn't own. StepItem ships in a new hidden stepper-models template that stepper depends on.
  • Input, Textarea: the Input template nested InputVariant inside the component, so you had to write Input.InputVariant.Error. Textarea had no variants. Both now use new input-variants / textarea-variants templates in Components/UI/Variants, like button-variants. Textarea also gains ReadOnly, OnFocus and OnBlur. If someone wrote Input.InputVariant.Error, that becomes InputVariant.Error when they re-add input.
  • Sheet, Drawer: the templates switch to compositional mode on their own when Title and Description are empty, like the package does. Compositional="true" still works but isn't needed.

Tests: 426 passing, 0 warnings. All five are now in both sync theories, the three new templates are in the parse test, and there's a behaviour test for the compositional Stepper.

Checked in a real app (a fresh dotnet new blazor in %TEMP%, local CLI init --yes + add stepper input textarea sheet drawer): builds with 0 warnings. Sheet and Drawer open from their parts with no flag. Both Stepper modes advance and show Confirm on the last step. InputVariant.Error resolves without the nesting.

Known issue, not new: the Error variant's red border loses to border-input, because Shell.Cn keeps both border colours. The old template had the same issue, and #51 fixes it.

The CLI Stepper gains the data-driven StepItems mode, and the parts
read ActiveStep instead of the CurrentStep parameter, so the stepper
no longer overwrites a parameter it doesn't own. StepItem ships as a
new stepper-models template that stepper depends on.

Part of #52
The Input template nested InputVariant inside the component, so callers
had to write Input.InputVariant.Error, and Textarea had no variant at
all. Both now match the package: input-variants and textarea-variants
templates in Components/UI/Variants, like button-variants, and Textarea
gains Variant, ReadOnly, OnFocus and OnBlur.

Part of #52
…hemselves

Like the package, they now use the compositional parts when Title and
Description are both empty, so Compositional="true" is no longer
needed. The flag still works.

Part of #52
Adds them to both sync theories, parses the new stepper-models,
input-variants and textarea-variants templates, and checks that the
compositional Stepper shows the active step after Next.

Part of #52
Copilot AI balanced review requested due to automatic review settings October 18, 2026 16:05

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

@Shewart
Shewart merged commit 3cee3d3 into main Oct 18, 2026
1 check passed
@Shewart
Shewart deleted the fix/template-drift-4 branch October 18, 2026 17:10
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