Skip to content

refactor(frontend): own Checkbox natively, detach from gix#13169

Draft
AntonioVentilii wants to merge 1 commit into
av/gix-vendor-shared-mixinsfrom
av/gix-own-checkbox
Draft

refactor(frontend): own Checkbox natively, detach from gix#13169
AntonioVentilii wants to merge 1 commit into
av/gix-vendor-shared-mixinsfrom
av/gix-own-checkbox

Conversation

@AntonioVentilii

Copy link
Copy Markdown
Collaborator

Motivation

Part of detaching OISY from @dfinity/gix-components (gix is now maintenance-mode). Brings the Checkbox primitive in-house as a native, fully-owned OISY component. Same pattern as the Toggle pilot (#13165). Stacked on #13163.

Changes

  • New $lib/components/ui/Checkbox.svelte: native Svelte 5 (runes), one-way checked + an onChange callback — matching gix's data flow exactly, so consumers keep owning checked (no double-toggle).
  • Fold the former gix.scss overrides (div.radio, --checkbox-padding) and the gix form-input styling into the component, using OISY design tokens (no theme() in scoped styles).
  • Rewire all 6 consumers off @dfinity/gix-components.
  • No new npm deps, no behavioral change.

Tests

  • lint --max-warnings 0 clean; check clean (only the pre-existing unrelated sol-instructions-system error on main)
  • Affected consumer specs pass (TransactionsFilter ×3, SwapReview, HarvestStakeAgreement — 71 tests)

Bring the gix Checkbox in-house as a native Svelte 5 OISY component.
- New $lib/components/ui/Checkbox.svelte: runes, one-way checked + onChange
  callback (matches gix's data flow; consumers keep owning checked), keyboard
  handling via the shared handleKeyPress
- Fold the former gix.scss overrides (div.radio, --checkbox-padding) and the
  gix form-input styling into the component, using OISY design tokens
- Rewire all 6 consumers off @dfinity/gix-components
No new deps, no behavior change.
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.

1 participant