Align selects ranges and modal catalog

This commit is contained in:
DCCONSTRUCTIONS
2026-07-10 22:02:32 +03:00
parent 41e491191c
commit 1fc39dfebc
8 changed files with 138 additions and 60 deletions
+3 -6
View File
@@ -4,8 +4,6 @@ import { Dropdown } from "./Dropdown.js";
export interface RangeControlProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "type" | "value" | "onChange"> {
label: string;
/** Keeps the accessible name while letting a parent ControlRow render the visible label. */
showLabel?: boolean;
value: number;
min: number;
max: number;
@@ -15,7 +13,6 @@ export interface RangeControlProps extends Omit<InputHTMLAttributes<HTMLInputEle
export function RangeControl({
label,
showLabel = true,
value,
min,
max,
@@ -29,7 +26,7 @@ export function RangeControl({
const progress = Math.max(0, Math.min(100, ((value - min) / (safeMax - min)) * 100));
const style = { "--nodedc-range-progress": `${progress}%` } as CSSProperties;
return (
<label className={cn("nodedc-range", className)} data-label-hidden={showLabel ? undefined : "true"} style={style}>
<label className={cn("nodedc-range", className)} style={style}>
<input
type="range"
value={value}
@@ -40,10 +37,10 @@ export function RangeControl({
onChange={(event) => onChange(Number(event.target.value))}
{...props}
/>
{showLabel ? <span className="nodedc-range__label">{label}</span> : null}
<span className="nodedc-range__label">{label}</span>
<span className="nodedc-range__value">{formatValue(value)}</span>
<span className="nodedc-range__fill-text" aria-hidden="true">
{showLabel ? <span className="nodedc-range__label">{label}</span> : null}
<span className="nodedc-range__label">{label}</span>
<span className="nodedc-range__value">{formatValue(value)}</span>
</span>
</label>
+3 -3
View File
@@ -75,8 +75,8 @@ export function Select<T extends string>({
if (variant === "split") {
return (
<div className={cn("nodedc-select", triggerClassName)}>
<div className="nodedc-select__control">
<div ref={setTriggerRef} className="nodedc-select__value">
<div ref={setTriggerRef} className="nodedc-select__control">
<div className="nodedc-select__value">
{selected?.icon ? <span className="nodedc-select__value-icon">{selected.icon}</span> : null}
<span>{selected?.label ?? "—"}</span>
</div>
@@ -111,7 +111,7 @@ export function Select<T extends string>({
onClick={toggle}
onKeyDown={handleKeyDown}
>
{selected?.icon ?? null}
{selected?.icon ? <span className="nodedc-select-trigger__icon">{selected.icon}</span> : <span className="nodedc-select-trigger__icon" aria-hidden="true" />}
<span className="nodedc-select-trigger__label">{selected?.label ?? "—"}</span>
<span className="nodedc-select-trigger__chevron" aria-hidden="true" />
</button>