Background
As part of #3017, another sub-area is numeric and range-like input.
Current dependency points include:
src/components/ui/UINumberInput.vue
src/components/ui/UISlider.vue
Problem
These controls still depend on naive-ui primitives and styling assumptions:
UINumberInput wraps NInputNumber
UINumberInput relies on deep selectors against naive-ui input DOM/class names
UINumberInput also works around autofocus behavior manually
UISlider is built on NSlider
- downstream call sites also style against
naive-ui slider DOM/class names in some places
These controls should be migrated as a pair because they both represent scalar value editing and may benefit from aligned UX behavior.
Goal
Replace the remaining naive-ui dependency in numeric and range-like inputs with internal implementations.
Scope
- replace
NInputNumber in UINumberInput
- replace
NSlider in UISlider
- preserve current features such as min/max, prefix/suffix slots, autofocus, custom thumb rendering, color variants, and
dragend vs input update behavior
- reduce styling and DOM coupling to
naive-ui
- align behavior with existing XBuilder expectations in places that consume numeric controls heavily
Notes
This issue is intentionally grouped around scalar value controls. Text input and boolean/choice controls are tracked separately.
Background
As part of #3017, another sub-area is numeric and range-like input.
Current dependency points include:
src/components/ui/UINumberInput.vuesrc/components/ui/UISlider.vueProblem
These controls still depend on
naive-uiprimitives and styling assumptions:UINumberInputwrapsNInputNumberUINumberInputrelies on deep selectors againstnaive-uiinput DOM/class namesUINumberInputalso works around autofocus behavior manuallyUISlideris built onNSlidernaive-uislider DOM/class names in some placesThese controls should be migrated as a pair because they both represent scalar value editing and may benefit from aligned UX behavior.
Goal
Replace the remaining
naive-uidependency in numeric and range-like inputs with internal implementations.Scope
NInputNumberinUINumberInputNSliderinUISliderdragendvsinputupdate behaviornaive-uiNotes
This issue is intentionally grouped around scalar value controls. Text input and boolean/choice controls are tracked separately.