Skip to content

Add settings-form components: checkbox, segmented, select, banner, collapsing, nav_item#1

Merged
kakarot-dev merged 1 commit into
masterfrom
feat/settings-components
May 21, 2026
Merged

Add settings-form components: checkbox, segmented, select, banner, collapsing, nav_item#1
kakarot-dev merged 1 commit into
masterfrom
feat/settings-components

Conversation

@kakarot-dev

Copy link
Copy Markdown
Contributor

What

Adds seven composable primitives to tokito_ui, needed to build the redesigned Tokito Settings dialog (Tokito UI migration — VtronTokito/tokito#26):

Component Purpose
nav_item Sidebar nav row — solid accent fill when selected
checkbox Square checkbox with label + optional description line
segmented Horizontal segmented control (mutually-exclusive options)
select / select_option Dropdown — trigger box + popup of options
banner Status callout — BannerKind::Success / Danger / Warning / Info
collapsing Collapsible "Advanced options" disclosure

All follow the library conventions: free function, &Tokens, animated hover, painter-based, doc comment.

Why

tokito_ui already had modal, toggle, text_input, text_button, etc. — but no checkbox, dropdown, segmented control, status banner, or disclosure. All are required by the new Settings screens. Per the tokito_ui-only component rule, they belong here, not hand-rolled in the app.

Verified

  • cargo clippy --lib --all-features — clean
  • cargo build --examples — passes
  • README component table updated

🤖 Generated with Claude Code

…llapsing, nav_item

Seven new primitives for composing settings / form dialogs, all following
the library conventions (free fn, &Tokens, animated hover, painter-based):

- nav_item      sidebar nav row, solid-accent selected pill
- checkbox      square checkbox with label + optional description
- segmented     horizontal segmented control (mutually-exclusive)
- select        dropdown trigger box + popup
- select_option one option row inside a select popup
- banner        status callout (BannerKind Success/Danger/Warning/Info)
- collapsing    "Advanced options" disclosure section

Needed for the redesigned Tokito Settings dialog. cargo clippy --lib clean;
examples build. README component table updated.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@kakarot-dev kakarot-dev merged commit e3ddbf5 into master May 21, 2026
1 check failed
@kakarot-dev kakarot-dev deleted the feat/settings-components branch May 21, 2026 19:06
kakarot-dev added a commit that referenced this pull request May 22, 2026
The CI 'cargo fmt --all -- --check' step was red: the components added
in #1-#3 were not rustfmt-formatted. cargo fmt --all over the crate.
kakarot-dev added a commit that referenced this pull request May 22, 2026
…llapsing, nav_item (#1)

Seven new primitives for composing settings / form dialogs, all following
the library conventions (free fn, &Tokens, animated hover, painter-based):

- nav_item      sidebar nav row, solid-accent selected pill
- checkbox      square checkbox with label + optional description
- segmented     horizontal segmented control (mutually-exclusive)
- select        dropdown trigger box + popup
- select_option one option row inside a select popup
- banner        status callout (BannerKind Success/Danger/Warning/Info)
- collapsing    "Advanced options" disclosure section

Needed for the redesigned Tokito Settings dialog. cargo clippy --lib clean;
examples build. README component table updated.
kakarot-dev added a commit that referenced this pull request May 22, 2026
The CI 'cargo fmt --all -- --check' step was red: the components added
in #1-#3 were not rustfmt-formatted. cargo fmt --all over the crate.
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