Skip to content

Commit 8d05217

Browse files
authored
refactor: rename callbacks in css input container (#5014)
Css input container is simplified version of css value input. setValue and deleteProperty callbacks do not follow callback style and have inconsistent implementation. deleteProperty requires property to be specified. Here renamed setValue to onUpdate, deleteProperty to onDelete and removed property parameter. ``` onUpdate: (style: StyleValue, options?: StyleUpdateOptions) => void; onDelete: (options?: StyleUpdateOptions) => void; ```
1 parent e3eaf5b commit 8d05217

File tree

13 files changed

+79
-85
lines changed

13 files changed

+79
-85
lines changed

apps/builder/app/builder/features/style-panel/controls/position/position-control.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -112,8 +112,8 @@ export const PositionControl = ({
112112
styleSource={styleDecl.source.name}
113113
getOptions={() => keywords}
114114
value={value.value[0]}
115-
setValue={setValueX}
116-
deleteProperty={deleteProperty}
115+
onUpdate={setValueX}
116+
onDelete={(options) => deleteProperty(property, options)}
117117
/>
118118
<PropertyInlineLabel
119119
label="Top"
@@ -125,8 +125,8 @@ export const PositionControl = ({
125125
styleSource={styleDecl.source.name}
126126
getOptions={() => keywords}
127127
value={value.value[1]}
128-
setValue={setValueY}
129-
deleteProperty={deleteProperty}
128+
onUpdate={setValueY}
129+
onDelete={(options) => deleteProperty(property, options)}
130130
/>
131131
</Grid>
132132
</Flex>

apps/builder/app/builder/features/style-panel/sections/backgrounds/background-position.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,10 +79,10 @@ export const BackgroundPosition = ({ index }: { index: number }) => {
7979
{ type: "keyword", value: "right" },
8080
]}
8181
value={xValue}
82-
setValue={(value, options) => {
82+
onUpdate={(value, options) => {
8383
setRepeatedStyleItem(backgroundPositionX, index, value, options);
8484
}}
85-
deleteProperty={() => {
85+
onDelete={() => {
8686
if (xValue) {
8787
setRepeatedStyleItem(backgroundPositionX, index, xValue);
8888
}
@@ -102,10 +102,10 @@ export const BackgroundPosition = ({ index }: { index: number }) => {
102102
{ type: "keyword", value: "bottom" },
103103
]}
104104
value={yValue}
105-
setValue={(value, options) => {
105+
onUpdate={(value, options) => {
106106
setRepeatedStyleItem(backgroundPositionY, index, value, options);
107107
}}
108-
deleteProperty={() => {
108+
onDelete={() => {
109109
if (yValue) {
110110
setRepeatedStyleItem(backgroundPositionY, index, yValue);
111111
}

apps/builder/app/builder/features/style-panel/sections/backgrounds/background-size.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -142,8 +142,8 @@ export const BackgroundSize = ({ index }: { index: number }) => {
142142
styleSource="default"
143143
getOptions={() => customSizeOptions}
144144
value={customSizeValue.value[0]}
145-
setValue={setValueX}
146-
deleteProperty={() => {}}
145+
onUpdate={setValueX}
146+
onDelete={() => {}}
147147
/>
148148

149149
<CssValueInputContainer
@@ -152,8 +152,8 @@ export const BackgroundSize = ({ index }: { index: number }) => {
152152
styleSource="default"
153153
getOptions={() => customSizeOptions}
154154
value={customSizeValue.value[1]}
155-
setValue={setValueY}
156-
deleteProperty={() => {}}
155+
onUpdate={setValueY}
156+
onDelete={() => {}}
157157
/>
158158
</Grid>
159159
</>

apps/builder/app/builder/features/style-panel/sections/borders/border-property.tsx

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -86,14 +86,14 @@ export const BorderProperty = ({
8686
...$availableUnitVariables.get(),
8787
]}
8888
value={value}
89-
setValue={(newValue, options) => {
89+
onUpdate={(newValue, options) => {
9090
const batch = createBatchUpdate();
9191
for (const property of borderProperties) {
9292
batch.setProperty(property)(newValue);
9393
}
9494
batch.publish(options);
9595
}}
96-
deleteProperty={(_property, options) => {
96+
onDelete={(options) => {
9797
const batch = createBatchUpdate();
9898
for (const property of borderProperties) {
9999
batch.deleteProperty(property);
@@ -127,8 +127,10 @@ export const BorderProperty = ({
127127
}))
128128
}
129129
value={styleDecl.cascadedValue}
130-
setValue={setProperty(styleDecl.property)}
131-
deleteProperty={deleteProperty}
130+
onUpdate={setProperty(styleDecl.property)}
131+
onDelete={(options) =>
132+
deleteProperty(styleDecl.property, options)
133+
}
132134
/>
133135
))}
134136
</Grid>

apps/builder/app/builder/features/style-panel/sections/transforms/transform-and-perspective-origin.tsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -187,8 +187,8 @@ export const TransformAndPerspectiveOrigin = ({
187187
getOptions={() => xOriginKeywords}
188188
styleSource="local"
189189
property={fakePropertyX}
190-
deleteProperty={() => {}}
191-
setValue={(value, options) =>
190+
onDelete={() => {}}
191+
onUpdate={(value, options) =>
192192
handleValueChange(0, value, options)
193193
}
194194
/>
@@ -214,8 +214,8 @@ export const TransformAndPerspectiveOrigin = ({
214214
getOptions={() => yOriginKeywords}
215215
styleSource="local"
216216
property={fakePropertyY}
217-
deleteProperty={() => {}}
218-
setValue={(value, options) =>
217+
onDelete={() => {}}
218+
onUpdate={(value, options) =>
219219
handleValueChange(1, value, options)
220220
}
221221
/>
@@ -235,8 +235,8 @@ export const TransformAndPerspectiveOrigin = ({
235235
value={origin.z}
236236
styleSource="local"
237237
property={fakePropertyZ}
238-
deleteProperty={() => {}}
239-
setValue={(value, options) =>
238+
onDelete={() => {}}
239+
onUpdate={(value, options) =>
240240
handleValueChange(2, value, options)
241241
}
242242
/>

apps/builder/app/builder/features/style-panel/sections/transforms/transform-rotate.tsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -53,10 +53,10 @@ export const RotatePanelContent = () => {
5353
property="rotate"
5454
getOptions={() => $availableUnitVariables.get()}
5555
value={rotateX}
56-
setValue={(value, options) =>
56+
onUpdate={(value, options) =>
5757
updateTransformFunction(styleDecl, "rotateX", value, options)
5858
}
59-
deleteProperty={() => {}}
59+
onDelete={() => {}}
6060
/>
6161
</Grid>
6262
<Grid
@@ -73,10 +73,10 @@ export const RotatePanelContent = () => {
7373
property="rotate"
7474
getOptions={() => $availableUnitVariables.get()}
7575
value={rotateY}
76-
setValue={(value, options) =>
76+
onUpdate={(value, options) =>
7777
updateTransformFunction(styleDecl, "rotateY", value, options)
7878
}
79-
deleteProperty={() => {}}
79+
onDelete={() => {}}
8080
/>
8181
</Grid>
8282
<Grid
@@ -93,10 +93,10 @@ export const RotatePanelContent = () => {
9393
property="rotate"
9494
getOptions={() => $availableUnitVariables.get()}
9595
value={rotateZ}
96-
setValue={(value, options) =>
96+
onUpdate={(value, options) =>
9797
updateTransformFunction(styleDecl, "rotateZ", value, options)
9898
}
99-
deleteProperty={() => {}}
99+
onDelete={() => {}}
100100
/>
101101
</Grid>
102102
</Flex>

apps/builder/app/builder/features/style-panel/sections/transforms/transform-skew.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,10 @@ export const SkewPanelContent = () => {
5050
styleSource="local"
5151
property={fakeProperty}
5252
value={skewX}
53-
setValue={(value, options) =>
53+
onUpdate={(value, options) =>
5454
updateTransformFunction(styleDecl, "skewX", value, options)
5555
}
56-
deleteProperty={() => {}}
56+
onDelete={() => {}}
5757
/>
5858
</Grid>
5959
<Grid
@@ -69,10 +69,10 @@ export const SkewPanelContent = () => {
6969
styleSource="local"
7070
property={fakeProperty}
7171
value={skewY}
72-
setValue={(value, options) =>
72+
onUpdate={(value, options) =>
7373
updateTransformFunction(styleDecl, "skewY", value, options)
7474
}
75-
deleteProperty={() => {}}
75+
onDelete={() => {}}
7676
/>
7777
</Grid>
7878
</Flex>

apps/builder/app/builder/features/style-panel/sections/transforms/transform-translate.tsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,8 @@ export const TranslatePanelContent = () => {
6363
property={property}
6464
getOptions={() => $availableUnitVariables.get()}
6565
value={translateX}
66-
setValue={(newValue, options) => setAxis(0, newValue, options)}
67-
deleteProperty={(property, options) =>
66+
onUpdate={(newValue, options) => setAxis(0, newValue, options)}
67+
onDelete={(options) =>
6868
setProperty(property)(styleDecl.cascadedValue, options)
6969
}
7070
/>
@@ -83,8 +83,8 @@ export const TranslatePanelContent = () => {
8383
property={property}
8484
getOptions={() => $availableUnitVariables.get()}
8585
value={translateY}
86-
setValue={(newValue, options) => setAxis(1, newValue, options)}
87-
deleteProperty={(property, options) =>
86+
onUpdate={(newValue, options) => setAxis(1, newValue, options)}
87+
onDelete={(options) =>
8888
setProperty(property)(styleDecl.cascadedValue, options)
8989
}
9090
/>
@@ -103,8 +103,8 @@ export const TranslatePanelContent = () => {
103103
property={property}
104104
getOptions={() => $availableUnitVariables.get()}
105105
value={translateZ}
106-
setValue={(newValue, options) => setAxis(2, newValue, options)}
107-
deleteProperty={(property, options) =>
106+
onUpdate={(newValue, options) => setAxis(2, newValue, options)}
107+
onDelete={(options) =>
108108
setProperty(property)(styleDecl.cascadedValue, options)
109109
}
110110
/>

apps/builder/app/builder/features/style-panel/sections/transitions/transition-content.tsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -145,8 +145,8 @@ export const TransitionContent = ({ index }: { index: number }) => {
145145
styleSource="local"
146146
getOptions={() => $availableUnitVariables.get()}
147147
value={duration ?? propertiesData["transition-duration"].initial}
148-
deleteProperty={() => {}}
149-
setValue={(value, options) => {
148+
onDelete={() => {}}
149+
onUpdate={(value, options) => {
150150
if (value === undefined) {
151151
return;
152152
}
@@ -170,8 +170,8 @@ export const TransitionContent = ({ index }: { index: number }) => {
170170
styleSource="local"
171171
getOptions={() => $availableUnitVariables.get()}
172172
value={delay ?? propertiesData["transition-delay"].initial}
173-
deleteProperty={() => {}}
174-
setValue={(value, options) => {
173+
onDelete={() => {}}
174+
onUpdate={(value, options) => {
175175
if (value === undefined) {
176176
return;
177177
}
@@ -207,8 +207,8 @@ export const TransitionContent = ({ index }: { index: number }) => {
207207
timingFunction ??
208208
propertiesData["transition-timing-function"].initial
209209
}
210-
deleteProperty={() => {}}
211-
setValue={(value, options) => {
210+
onDelete={() => {}}
211+
onUpdate={(value, options) => {
212212
if (value === undefined) {
213213
return;
214214
}

apps/builder/app/builder/features/style-panel/shared/css-value-input/css-value-input-container.tsx

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,28 @@
11
import { type ComponentProps, useState } from "react";
22
import type { StyleValue } from "@webstudio-is/css-engine";
33
import { CssValueInput, type IntermediateStyleValue } from "./css-value-input";
4-
import type { DeleteProperty, SetValue } from "../use-style-data";
4+
import type { StyleUpdateOptions } from "../use-style-data";
55

6-
type CssValueInputContainerProps = {
7-
setValue: SetValue;
8-
deleteProperty: DeleteProperty;
9-
} & Omit<
6+
type CssValueInputContainerProps = Omit<
107
ComponentProps<typeof CssValueInput>,
118
| "onChange"
129
| "onHighlight"
1310
| "onReset"
1411
| "onAbort"
1512
| "intermediateValue"
1613
| "onChangeComplete"
14+
| "setProperty"
1715
> & {
18-
onChangeComplete?: ComponentProps<typeof CssValueInput>["onChangeComplete"];
19-
onReset?: ComponentProps<typeof CssValueInput>["onReset"];
20-
};
16+
onUpdate: (style: StyleValue, options?: StyleUpdateOptions) => void;
17+
onDelete: (options?: StyleUpdateOptions) => void;
18+
onChangeComplete?: ComponentProps<typeof CssValueInput>["onChangeComplete"];
19+
onReset?: ComponentProps<typeof CssValueInput>["onReset"];
20+
};
2121

2222
export const CssValueInputContainer = ({
2323
property,
24-
setValue,
25-
deleteProperty,
24+
onUpdate,
25+
onDelete,
2626
onChangeComplete,
2727
onReset,
2828
...props
@@ -40,32 +40,32 @@ export const CssValueInputContainer = ({
4040
setIntermediateValue(styleValue);
4141

4242
if (styleValue === undefined) {
43-
deleteProperty(property, { isEphemeral: true });
43+
onDelete({ isEphemeral: true });
4444
return;
4545
}
4646

4747
if (styleValue.type !== "intermediate") {
48-
setValue(styleValue, { isEphemeral: true });
48+
onUpdate(styleValue, { isEphemeral: true });
4949
}
5050
}}
5151
onHighlight={(styleValue) => {
5252
if (styleValue !== undefined) {
53-
setValue(styleValue, { isEphemeral: true });
53+
onUpdate(styleValue, { isEphemeral: true });
5454
} else {
55-
deleteProperty(property, { isEphemeral: true });
55+
onDelete({ isEphemeral: true });
5656
}
5757
}}
5858
onChangeComplete={(event) => {
59-
setValue(event.value);
59+
onUpdate(event.value);
6060
setIntermediateValue(undefined);
6161
onChangeComplete?.(event);
6262
}}
6363
onAbort={() => {
64-
deleteProperty(property, { isEphemeral: true });
64+
onDelete({ isEphemeral: true });
6565
}}
6666
onReset={() => {
6767
setIntermediateValue(undefined);
68-
deleteProperty(property);
68+
onDelete();
6969
onReset?.();
7070
}}
7171
/>

0 commit comments

Comments
 (0)