Background
As part of #3017, another sub-area is boolean / choice controls.
Current dependency points include:
src/components/ui/UISwitch.vue
src/components/ui/checkbox/UICheckbox.vue
src/components/ui/checkbox/UICheckboxGroup.vue
src/components/ui/radio/UIRadio.vue
src/components/ui/radio/UIRadioGroup.vue
Problem
These controls are currently still thin wrappers over naive-ui:
UISwitch wraps NSwitch
UICheckbox / UICheckboxGroup wrap NCheckbox / NCheckboxGroup
UIRadio / UIRadioGroup wrap NRadio / NRadioGroup
Individually these wrappers are small, but together they keep naive-ui in the dependency graph and make our control layer incomplete.
Goal
Replace the remaining naive-ui choice controls with internal implementations that match the current UI* APIs used across the app.
Scope
- replace
NSwitch
- replace
NCheckbox / NCheckboxGroup
- replace
NRadio / NRadioGroup
- preserve checked/value update behavior, disabled states, grouping semantics, and current slot/content usage
- ensure these controls continue to work correctly within the XBuilder form layer after the form infrastructure migration
Notes
This issue is about boolean / discrete choice controls only. Form infrastructure and text/numeric inputs are tracked separately.
Background
As part of #3017, another sub-area is boolean / choice controls.
Current dependency points include:
src/components/ui/UISwitch.vuesrc/components/ui/checkbox/UICheckbox.vuesrc/components/ui/checkbox/UICheckboxGroup.vuesrc/components/ui/radio/UIRadio.vuesrc/components/ui/radio/UIRadioGroup.vueProblem
These controls are currently still thin wrappers over
naive-ui:UISwitchwrapsNSwitchUICheckbox/UICheckboxGroupwrapNCheckbox/NCheckboxGroupUIRadio/UIRadioGroupwrapNRadio/NRadioGroupIndividually these wrappers are small, but together they keep
naive-uiin the dependency graph and make our control layer incomplete.Goal
Replace the remaining
naive-uichoice controls with internal implementations that match the currentUI*APIs used across the app.Scope
NSwitchNCheckbox/NCheckboxGroupNRadio/NRadioGroupNotes
This issue is about boolean / discrete choice controls only. Form infrastructure and text/numeric inputs are tracked separately.