diff --git a/packages/frontend/component/src/ui/slider/index.css.ts b/packages/frontend/component/src/ui/slider/index.css.ts index 32c995b129..41730c3d82 100644 --- a/packages/frontend/component/src/ui/slider/index.css.ts +++ b/packages/frontend/component/src/ui/slider/index.css.ts @@ -3,7 +3,13 @@ import { createVar, style } from '@vanilla-extract/css'; export const thumbSize = createVar(); -export const root = style({}); +export const root = style({ + selectors: { + '&[data-disabled]': { + opacity: 0.5, + }, + }, +}); export const trackStyle = style({ width: '100%', @@ -13,6 +19,11 @@ export const trackStyle = style({ alignItems: 'center', padding: '12px 0', cursor: 'pointer', + selectors: { + '&[data-disabled]': { + cursor: 'not-allowed', + }, + }, }); export const fakeTrackStyle = style({ width: `calc(100% - ${thumbSize})`, @@ -42,6 +53,11 @@ export const thumbStyle = style({ top: '50%', transform: 'translate(-50%, -50%)', cursor: 'pointer', + selectors: { + '&[data-disabled]': { + cursor: 'not-allowed', + }, + }, }); export const nodeStyle = style({ @@ -58,5 +74,8 @@ export const nodeStyle = style({ '&[data-active="true"]': { backgroundColor: cssVarV2('icon/primary'), }, + '&[data-disabled="true"]': { + cursor: 'not-allowed', + }, }, }); diff --git a/packages/frontend/component/src/ui/slider/slider.tsx b/packages/frontend/component/src/ui/slider/slider.tsx index 4f53dcf9d0..f2b8bbf9d4 100644 --- a/packages/frontend/component/src/ui/slider/slider.tsx +++ b/packages/frontend/component/src/ui/slider/slider.tsx @@ -71,6 +71,7 @@ export const Slider = ({ thumbStyle, noteStyle, thumbSize = 14, + disabled, ...props }: SliderProps) => { const sliderRef = useRef(null); @@ -93,6 +94,7 @@ export const Slider = ({ style={rootStyle} className={styles.root} {...props} + disabled={disabled} >
@@ -108,6 +110,7 @@ export const Slider = ({ key={index} className={styles.nodeStyle} data-active={value && value[0] >= nodeValue} + data-disabled={disabled} style={{ left: calcStepMarkOffset( index, diff --git a/packages/frontend/core/src/components/affine/setting-modal/general-setting/editor/edgeless/note.tsx b/packages/frontend/core/src/components/affine/setting-modal/general-setting/editor/edgeless/note.tsx index 6f1864bf54..41f39f2bcf 100644 --- a/packages/frontend/core/src/components/affine/setting-modal/general-setting/editor/edgeless/note.tsx +++ b/packages/frontend/core/src/components/affine/setting-modal/general-setting/editor/edgeless/note.tsx @@ -256,6 +256,7 @@ export const NoteSettings = () => { max={12} step={2} nodes={[2, 4, 6, 8, 10, 12]} + disabled={borderStyle === StrokeStyle.None} /> diff --git a/packages/frontend/core/src/components/affine/setting-modal/general-setting/editor/edgeless/shape.tsx b/packages/frontend/core/src/components/affine/setting-modal/general-setting/editor/edgeless/shape.tsx index f961968fbc..e21995fabd 100644 --- a/packages/frontend/core/src/components/affine/setting-modal/general-setting/editor/edgeless/shape.tsx +++ b/packages/frontend/core/src/components/affine/setting-modal/general-setting/editor/edgeless/shape.tsx @@ -494,6 +494,7 @@ export const ShapeSettings = () => { max={12} step={2} nodes={[2, 4, 6, 8, 10, 12]} + disabled={borderStyle === StrokeStyle.None} />