@cladd-ui/react 0.7.2 → 0.7.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/components/NumberScrubber.d.ts.map +1 -1
- package/components/NumberScrubber.js +13 -4
- package/components/NumberScrubber.js.map +1 -1
- package/components/Radio.d.ts.map +1 -1
- package/components/Radio.js +6 -3
- package/components/Radio.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NumberScrubber.d.ts","sourceRoot":"","sources":["../../../src/components/NumberScrubber.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EACT,GAAG,EACH,wBAAwB,
|
|
1
|
+
{"version":3,"file":"NumberScrubber.d.ts","sourceRoot":"","sources":["../../../src/components/NumberScrubber.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EACT,GAAG,EACH,wBAAwB,EAOzB,MAAM,OAAO,CAAC;AAIf,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAIjC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,MAAM,MAAM,kBAAkB,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;AAEnE,UAAU,sBAAsB;IAC9B,uFAAuF;IACvF,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,yDAAyD;IACzD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sHAAsH;IACtH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sGAAsG;IACtG,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,6GAA6G;IAC7G,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,kGAAkG;IAClG,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,8EAA8E;IAC9E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kIAAkI;IAClI,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,oFAAoF;IACpF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gJAAgJ;IAChJ,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,0CAA0C;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wFAAwF;IACxF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kGAAkG;IAClG,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sKAAsK;IACtK,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8FAA8F;IAC9F,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACzC,oLAAoL;IACpL,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,yHAAyH;IACzH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,4CAA4C;IAC5C,GAAG,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;CACxB;AAED,MAAM,MAAM,mBAAmB,GAAG,sBAAsB,GACtD,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,MAAM,sBAAsB,CAAC,CAAC;AAEzE,qGAAqG;AACrG,MAAM,MAAM,0BAA0B,GAAG,OAAO,CAC9C,IAAI,CACF,sBAAsB,EACtB,UAAU,GAAG,KAAK,GAAG,OAAO,GAAG,UAAU,GAAG,mBAAmB,CAChE,CACF,CAAC;AAIF,eAAO,MAAM,cAAc,GAAI,OAAO,mBAAmB,4CAoNxD,CAAC"}
|
|
@@ -7,7 +7,7 @@ import { DropdownIcon } from './icons/DropdownIcon.js';
|
|
|
7
7
|
import { Input } from './Input.js';
|
|
8
8
|
const CLICK_SUPPRESS_MS = 200;
|
|
9
9
|
export const NumberScrubber = (props) => {
|
|
10
|
-
const { children, className = '', contentClassName = '', inputClassName = '', disabled = false, readOnly = false, rounded = false, size = 'md', color = '', outline = true, variant = 'gradient', surfaceLevel, scrubberIcon = true, icon, displayValue = (v) => String(v), min = 0, max = 1000000, value = 0, step = 1, dragStep = step / 5, altDragStep = step, ref, onTemporaryChange, onChange, ...rest } = useComponentDefaults('NumberScrubber', props);
|
|
10
|
+
const { children, className = '', contentClassName = '', inputClassName = '', disabled = false, readOnly = false, rounded = false, size = 'md', color = '', outline = true, variant = 'gradient', surfaceLevel, scrubberIcon = true, icon, displayValue = (v) => String(v), min = 0, max = 1000000, value = 0, step = 1, dragStep = step / 5, altDragStep = step, ref, onTemporaryChange, onChange, onPointerDown: onPointerDownProp, onClick: onClickProp, onFocus: onFocusProp, ...rest } = useComponentDefaults('NumberScrubber', props);
|
|
11
11
|
const [isEditing, setIsEditing] = useState(false);
|
|
12
12
|
const [inputValue, setInputValue] = useState(String(value));
|
|
13
13
|
const displayValueElRef = useRef(null);
|
|
@@ -43,6 +43,9 @@ export const NumberScrubber = (props) => {
|
|
|
43
43
|
inputElRef.current?.select();
|
|
44
44
|
}, [isEditing]);
|
|
45
45
|
const onPointerDown = (e) => {
|
|
46
|
+
onPointerDownProp?.(e);
|
|
47
|
+
if (e.defaultPrevented)
|
|
48
|
+
return;
|
|
46
49
|
if (disabled || readOnly || isEditing)
|
|
47
50
|
return;
|
|
48
51
|
pointerDownAtRef.current = Date.now();
|
|
@@ -98,14 +101,20 @@ export const NumberScrubber = (props) => {
|
|
|
98
101
|
document.addEventListener('pointerup', onUp);
|
|
99
102
|
document.addEventListener('pointercancel', onCancel);
|
|
100
103
|
};
|
|
101
|
-
const onClick = () => {
|
|
104
|
+
const onClick = (e) => {
|
|
105
|
+
onClickProp?.(e);
|
|
106
|
+
if (e.defaultPrevented)
|
|
107
|
+
return;
|
|
102
108
|
if (disabled || readOnly)
|
|
103
109
|
return;
|
|
104
110
|
if (Date.now() - dragEndedAtRef.current < CLICK_SUPPRESS_MS)
|
|
105
111
|
return;
|
|
106
112
|
enableEditing();
|
|
107
113
|
};
|
|
108
|
-
const onFocus = () => {
|
|
114
|
+
const onFocus = (e) => {
|
|
115
|
+
onFocusProp?.(e);
|
|
116
|
+
if (e.defaultPrevented)
|
|
117
|
+
return;
|
|
109
118
|
if (disabled || readOnly)
|
|
110
119
|
return;
|
|
111
120
|
// Pointer-driven focus: let onClick handle it (so a drag doesn't open edit).
|
|
@@ -116,6 +125,6 @@ export const NumberScrubber = (props) => {
|
|
|
116
125
|
if (isEditing) {
|
|
117
126
|
return (_jsx(Input, { type: "number", size: size, value: inputValue, min: min, max: max, step: step, autoFocus: true, inputRef: inputElRef, onBlur: commitInput, onKeyDown: onInputKeyDown, onChange: setInputValue, disabled: disabled, rounded: rounded, icon: icon, className: cn('cladd-number-scrubber', className), contentClassName: contentClassName, inputClassName: cn('text-left', inputClassName) }));
|
|
118
127
|
}
|
|
119
|
-
return (_jsxs(Button, { className: cn('cladd-number-scrubber', !disabled && !readOnly && 'cursor-ew-resize touch-pan-y', className), contentClassName: cn(scrubberIcon && !icon && 'pl-1.5', 'justify-between', contentClassName), color: color, disabled: disabled, readOnly: readOnly, rounded: rounded, size: size, variant: variant, outline: outline, surfaceLevel: surfaceLevel, ref: ref, onPointerDown: onPointerDown, onClick: onClick, onFocus: onFocus,
|
|
128
|
+
return (_jsxs(Button, { className: cn('cladd-number-scrubber', !disabled && !readOnly && 'cursor-ew-resize touch-pan-y', className), contentClassName: cn(scrubberIcon && !icon && 'pl-1.5', 'justify-between', contentClassName), color: color, disabled: disabled, readOnly: readOnly, rounded: rounded, size: size, variant: variant, outline: outline, surfaceLevel: surfaceLevel, ref: ref, ...rest, onPointerDown: onPointerDown, onClick: onClick, onFocus: onFocus, children: [icon && (_jsx("div", { "data-part": "icon", className: cn('shrink-0', buttonIconSizes[size]), children: icon })), scrubberIcon && (_jsx(DropdownIcon, { className: "mr-auto shrink-0 rotate-90 text-cladd-fg-softer" })), _jsx("span", { ref: displayValueElRef, children: displayValue(value) }), children] }));
|
|
120
129
|
};
|
|
121
130
|
//# sourceMappingURL=NumberScrubber.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NumberScrubber.js","sourceRoot":"","sources":["../../../src/components/NumberScrubber.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,MAAM,EAIN,QAAQ,EACR,SAAS,
|
|
1
|
+
{"version":3,"file":"NumberScrubber.js","sourceRoot":"","sources":["../../../src/components/NumberScrubber.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Radio.d.ts","sourceRoot":"","sources":["../../../src/components/Radio.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,EACX,WAAW,EACX,UAAU,EACV,YAAY,
|
|
1
|
+
{"version":3,"file":"Radio.d.ts","sourceRoot":"","sources":["../../../src/components/Radio.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,EACX,WAAW,EACX,UAAU,EACV,YAAY,EAEZ,wBAAwB,EACzB,MAAM,OAAO,CAAC;AAKf,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAIjC,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC;AAEpC,UAAU,aAAa,CAAC,CAAC,SAAS,WAAW,GAAG,OAAO;IACrD,iDAAiD;IACjD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sDAAsD;IACtD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wCAAwC;IACxC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,iFAAiF;IACjF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0GAA0G;IAC1G,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IAC7E,mFAAmF;IACnF,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IAClC,gDAAgD;IAChD,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;IAC1C;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,+FAA+F;IAC/F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,KAAK,CAAC,EAAE,KAAK,CAAC;IACd;;OAEG;IACH,EAAE,CAAC,EAAE,CAAC,CAAC;IACP;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,WAAW,GAAG,OAAO,IAAI,aAAa,CAAC,CAAC,CAAC,GACxE,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,MAAM,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AAE5D,4FAA4F;AAC5F,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC;AAEnE,wBAAgB,KAAK,CAAC,CAAC,SAAS,WAAW,GAAG,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,2CAsJ1E"}
|
package/components/Radio.js
CHANGED
|
@@ -7,7 +7,7 @@ import { FocusableLayer } from './FocusableLayer.js';
|
|
|
7
7
|
import { Surface } from './Surface.js';
|
|
8
8
|
export function Radio(props) {
|
|
9
9
|
const accentColor = useAccentColor();
|
|
10
|
-
const { checked = false, disabled = false, readOnly, value, name, size = 'sm', required = false, onChange = () => { }, onClick = () => { }, onPointerDown = () => { }, input = true, inputId, className, color = accentColor, as: asProp = 'label', hoverable, focusable, ...rest } = useComponentDefaults('Radio', props);
|
|
10
|
+
const { checked = false, disabled = false, readOnly, value, name, size = 'sm', required = false, onChange = () => { }, onClick = () => { }, onPointerDown = () => { }, onKeyDown: onKeyDownProp, input = true, inputId, className, color = accentColor, as: asProp = 'label', hoverable, focusable, ...rest } = useComponentDefaults('Radio', props);
|
|
11
11
|
const elRef = useRef(null);
|
|
12
12
|
let hoverableComputed = hoverable;
|
|
13
13
|
let focusableComputed = focusable;
|
|
@@ -25,6 +25,9 @@ export function Radio(props) {
|
|
|
25
25
|
'aria-required': required || undefined,
|
|
26
26
|
tabIndex: disabled ? -1 : 0,
|
|
27
27
|
onKeyDown: (e) => {
|
|
28
|
+
onKeyDownProp?.(e);
|
|
29
|
+
if (e.defaultPrevented)
|
|
30
|
+
return;
|
|
28
31
|
if (disabled || readOnly)
|
|
29
32
|
return;
|
|
30
33
|
if (e.key === ' ' || e.key === 'Enter') {
|
|
@@ -33,14 +36,14 @@ export function Radio(props) {
|
|
|
33
36
|
}
|
|
34
37
|
},
|
|
35
38
|
}
|
|
36
|
-
: {};
|
|
39
|
+
: { onKeyDown: onKeyDownProp };
|
|
37
40
|
const handleClick = (e) => {
|
|
38
41
|
onClick(e);
|
|
39
42
|
if (!input && !disabled && !readOnly) {
|
|
40
43
|
onChange(!checked);
|
|
41
44
|
}
|
|
42
45
|
};
|
|
43
|
-
return (_jsxs(Component, { "data-checked": checked || undefined, "data-unchecked": !checked || undefined, "data-disabled": disabled || undefined, "data-readonly": readOnly || undefined, "data-required": required || undefined, className: cn('cladd-radio group/cladd-radio relative flex shrink-0 items-center justify-center rounded-full p-1 select-none', size === 'sm' && 'size-5', size === 'md' && 'size-6', disabled && 'opacity-50', className), onContextMenuCapture: (e) => e.preventDefault(),
|
|
46
|
+
return (_jsxs(Component, { "data-checked": checked || undefined, "data-unchecked": !checked || undefined, "data-disabled": disabled || undefined, "data-readonly": readOnly || undefined, "data-required": required || undefined, className: cn('cladd-radio group/cladd-radio relative flex shrink-0 items-center justify-center rounded-full p-1 select-none', size === 'sm' && 'size-5', size === 'md' && 'size-6', disabled && 'opacity-50', className), onContextMenuCapture: (e) => e.preventDefault(), ref: elRef, ...rest, ...ariaFallback, onClick: handleClick, onPointerDown: onPointerDown, children: [input && (_jsx("input", { "data-part": "input", id: inputId, disabled: disabled || readOnly, readOnly: readOnly, checked: checked, required: required, type: "checkbox", value: value, name: name, className: "pointer-events-none absolute inset-1 z-10 opacity-0", onChange: (e) => onChange(!checked, e) })), _jsx(Surface, { "data-part": "thumb", className: cn('absolute inset-0 size-full shrink-0 rounded-full duration-200'), outline: true, variant: 'gradient', hoverable: hoverableComputed && !disabled && !readOnly, clickable: hoverableComputed && !disabled && !readOnly }), _jsx(Surface, { "data-part": "thumb-checked", className: cn('absolute inset-0 size-full shrink-0 rounded-full duration-200', !checked && 'scale-0', checked ? 'opacity-100' : 'opacity-0'), color: color, outline: true, variant: 'gradient-fill', hoverable: hoverableComputed && !disabled && !readOnly, clickable: hoverableComputed && !disabled && !readOnly }), _jsx("span", { "data-part": "indicator", className: cn('pointer-events-none relative size-2 rounded-full duration-200', !checked &&
|
|
44
47
|
cn('scale-75 bg-cladd-fg-soft', !readOnly && !disabled && 'group-active/cladd-radio:scale-65'), checked &&
|
|
45
48
|
cn(`cladd-color-${color}`, 'bg-cladd-on-primary', !disabled && !readOnly && 'group-active/cladd-radio:scale-90')) }), focusableComputed && !disabled && !readOnly && (_jsx(FocusableLayer, { className: "rounded-full", group: "radio" }))] }));
|
|
46
49
|
}
|
package/components/Radio.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Radio.js","sourceRoot":"","sources":["../../../src/components/Radio.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,MAAM,
|
|
1
|
+
{"version":3,"file":"Radio.js","sourceRoot":"","sources":["../../../src/components/Radio.tsx"],"names":[],"mappings":"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"}
|