Skip to content

Commit eeb4a11

Browse files
committed
feat(stepper-motor): add "arrow" attribute
1 parent 1376efa commit eeb4a11

File tree

2 files changed

+20
-2
lines changed

2 files changed

+20
-2
lines changed

src/stepper-motor-element.stories.ts

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,23 @@ export default {
66
component: 'wokwi-stepper-motor',
77
argTypes: {
88
angle: { control: { type: 'range', min: 0, max: 360 } },
9+
arrow: { control: { type: 'color' } },
910
},
1011
args: {
1112
angle: 0,
13+
arrow: '',
1214
units: '',
1315
value: '',
1416
},
1517
};
1618

17-
const Template = ({ angle, units, value }) =>
18-
html`<wokwi-stepper-motor .angle=${angle} .units=${units} .value=${value}></wokwi-stepper-motor>`;
19+
const Template = ({ angle, arrow, units, value }) =>
20+
html`<wokwi-stepper-motor
21+
.angle=${angle}
22+
.arrow=${arrow}
23+
.units=${units}
24+
.value=${value}
25+
></wokwi-stepper-motor>`;
1926

2027
export const Default = Template.bind({});
2128
Default.args = {};
@@ -25,3 +32,6 @@ Rotated90.args = { angle: 90, units: 'degrees', value: '90' };
2532

2633
export const Steps = Template.bind({});
2734
Steps.args = { angle: 180, value: '52,500', units: 'steps' };
35+
36+
export const PurpleArrow = Template.bind({});
37+
PurpleArrow.args = { angle: 70, arrow: '#4a36ba' };

src/stepper-motor-element.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { ElementPin } from '.';
55
@customElement('wokwi-stepper-motor')
66
export class StepperMotorElement extends LitElement {
77
@property() angle = 0;
8+
@property() arrow = '';
89
@property() value = '';
910
@property() units = '';
1011

@@ -16,6 +17,8 @@ export class StepperMotorElement extends LitElement {
1617
];
1718

1819
render() {
20+
const { arrow } = this;
21+
1922
return html`
2023
<svg
2124
width="57mm"
@@ -122,6 +125,11 @@ export class StepperMotorElement extends LitElement {
122125
stroke="url(#linearGradient29501)"
123126
stroke-width=".41429"
124127
/>
128+
<path
129+
transform="rotate(${this.angle}, 43.82, 111.2)"
130+
fill="${arrow || 'transparent'}"
131+
d="M48.706051,111.66821H38.189949L43.448,83.34119Z"
132+
/>
125133
<path
126134
transform="rotate(${this.angle}, 43.82, 111.2)"
127135
d="m40.056 106.86a5.3616 5.3616 0 0 0-1.9696 4.1497 5.3616 5.3616 0 0 0 5.3616 5.3616 5.3616 5.3616 0 0 0 5.3616-5.3616 5.3616 5.3616 0 0 0-1.9672-4.1497z"

0 commit comments

Comments
 (0)