@progressive-development/pd-forms 0.0.13 → 0.0.14
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/package.json +1 -1
- package/pd-button-goup.js +3 -0
- package/pd-button.js +3 -0
- package/pd-checkbox.js +3 -0
- package/pd-form-container.js +3 -0
- package/pd-form-row.js +3 -0
- package/pd-input-area.js +3 -0
- package/pd-input.js +3 -0
- package/pd-label-value.js +3 -0
- package/pd-radio-group.js +3 -0
- package/pd-select.js +3 -0
- package/src/{squi-base-ui.js → PdBaseUi.js} +1 -1
- package/src/{squi-base-ui-input.js → PdBaseUiInput.js} +2 -2
- package/src/{squi-button.js → PdButton.js} +1 -1
- package/src/{squi-button-group.js → PdButtonGroup.js} +3 -3
- package/src/{squi-checkbox.js → PdCheckbox.js} +2 -2
- package/src/{squi-form-container.js → PdFormContainer.js} +1 -1
- package/src/{squi-form-row.js → PdFormRow.js} +1 -1
- package/src/{squi-input.js → PdInput.js} +13 -13
- package/src/{squi-input-area.js → PdInputArea.js} +11 -11
- package/src/PdLabelValue.js +75 -0
- package/src/{squi-radio-group.js → PdRadioGroup.js} +4 -4
- package/src/{squi-select.js → PdSelect.js} +7 -7
- package/stories/button.stories.js +15 -0
- package/stories/checkbox.stories.js +50 -0
- package/stories/form-container.stories.js +50 -0
- package/stories/index.stories.js +297 -29
- package/stories/input-area.stories.js +129 -0
- package/stories/input.stories.js +130 -0
- package/stories/label-value.stories.js +32 -0
- package/stories/radio-group.stories.js +45 -0
- package/stories/select.stories.js +104 -0
- package/PdButton.js +0 -3
- package/PdButtonGroup.js +0 -3
- package/PdCheckbox.js +0 -3
- package/PdFormContainer.js +0 -3
- package/PdFormRow.js +0 -3
- package/PdInput.js +0 -3
- package/PdInputArea.js +0 -3
- package/PdRadioGroup.js +0 -3
- package/PdSelect.js +0 -3
package/stories/index.stories.js
CHANGED
|
@@ -1,44 +1,312 @@
|
|
|
1
1
|
import { html } from 'lit';
|
|
2
|
-
|
|
2
|
+
|
|
3
|
+
import '../pd-button.js';
|
|
4
|
+
import '../pd-button-goup.js';
|
|
5
|
+
import '../pd-checkbox.js';
|
|
6
|
+
import '../pd-input.js';
|
|
7
|
+
import '../pd-input-area.js';
|
|
8
|
+
import '../pd-radio-group.js';
|
|
9
|
+
import '../pd-select.js';
|
|
3
10
|
|
|
4
11
|
export default {
|
|
5
|
-
title: '
|
|
12
|
+
title: 'Form Examples',
|
|
6
13
|
component: 'pd-forms',
|
|
7
14
|
argTypes: {
|
|
8
|
-
|
|
9
|
-
|
|
15
|
+
gradient: { control: 'boolean' },
|
|
16
|
+
primaryColor: { control: 'color' },
|
|
17
|
+
secondaryColor: { control: 'color' },
|
|
18
|
+
thirdColor: { control: 'color' },
|
|
10
19
|
textColor: { control: 'color' },
|
|
20
|
+
highlightColor: { control: 'color' },
|
|
21
|
+
errorColor: { control: 'color' },
|
|
22
|
+
errorBackgroundColor: { control: 'color' },
|
|
23
|
+
borderRadius: { control: 'text' },
|
|
24
|
+
displayFont: { control: 'text' },
|
|
25
|
+
fontSize: { control: 'text' },
|
|
26
|
+
inputHeigth: { control: 'text' },
|
|
11
27
|
},
|
|
12
28
|
};
|
|
13
29
|
|
|
14
|
-
function Template({
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
30
|
+
function Template({
|
|
31
|
+
selectVals,
|
|
32
|
+
gradient,
|
|
33
|
+
primaryColor,
|
|
34
|
+
secondaryColor,
|
|
35
|
+
thirdColor,
|
|
36
|
+
textColor,
|
|
37
|
+
highlightColor,
|
|
38
|
+
errorColor,
|
|
39
|
+
errorBackgroundColor,
|
|
40
|
+
borderRadius,
|
|
41
|
+
displayFont,
|
|
42
|
+
fontSize,
|
|
43
|
+
inputHeigth,
|
|
44
|
+
}) {
|
|
45
|
+
|
|
46
|
+
let style = '';
|
|
47
|
+
if (primaryColor) {
|
|
48
|
+
style += `--squi-primary-color:${primaryColor};`;
|
|
49
|
+
}
|
|
50
|
+
if (secondaryColor) {
|
|
51
|
+
style += `--squi-secondary-color:${secondaryColor};`;
|
|
52
|
+
}
|
|
53
|
+
if (thirdColor) {
|
|
54
|
+
style += `--squi-third-color:${thirdColor};`;
|
|
55
|
+
}
|
|
56
|
+
if (textColor) {
|
|
57
|
+
style += `--squi-text-color:${textColor};`;
|
|
58
|
+
}
|
|
59
|
+
if (highlightColor) {
|
|
60
|
+
style += `--squi-highlight-color:${highlightColor};`;
|
|
61
|
+
}
|
|
62
|
+
if (errorColor) {
|
|
63
|
+
style += `--squi-error-color:${errorColor};`;
|
|
64
|
+
}
|
|
65
|
+
if (errorBackgroundColor) {
|
|
66
|
+
style += `--squi-error-background-color:${errorBackgroundColor};`;
|
|
67
|
+
}
|
|
68
|
+
if (borderRadius) {
|
|
69
|
+
style += `--squi-border-radius:${borderRadius};`;
|
|
70
|
+
}
|
|
71
|
+
if (displayFont) {
|
|
72
|
+
style += `--squi-display-font:${displayFont};`;
|
|
73
|
+
}
|
|
74
|
+
if (fontSize) {
|
|
75
|
+
style += `--squi-font-size:${fontSize};`;
|
|
76
|
+
}
|
|
77
|
+
if (inputHeigth) {
|
|
78
|
+
style += `--squi-input-height:${inputHeigth};`;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
return html`
|
|
82
|
+
<h3>Defaults Inputs with labels</h3>
|
|
83
|
+
<div
|
|
84
|
+
style="display: flex; justify-content: space-between; max-width: 800px"
|
|
20
85
|
>
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}
|
|
86
|
+
<pd-select
|
|
87
|
+
id="testId1"
|
|
88
|
+
?gradient="${gradient}"
|
|
89
|
+
style="${style}"
|
|
90
|
+
label="Select Label"
|
|
91
|
+
></pd-select>
|
|
92
|
+
<pd-input
|
|
93
|
+
id="testId1"
|
|
94
|
+
?gradient="${gradient}"
|
|
95
|
+
style="${style}"
|
|
96
|
+
label="Input Label"
|
|
97
|
+
></pd-input>
|
|
98
|
+
<pd-input-area
|
|
99
|
+
id="testId2"
|
|
100
|
+
?gradient="${gradient}"
|
|
101
|
+
style="${style}"
|
|
102
|
+
label="Input Area Label"
|
|
103
|
+
></pd-input-area>
|
|
104
|
+
</div>
|
|
25
105
|
|
|
26
|
-
|
|
106
|
+
<div
|
|
107
|
+
style="display: flex; justify-content: space-between; max-width: 800px"
|
|
108
|
+
>
|
|
109
|
+
<pd-select
|
|
110
|
+
id="testId1"
|
|
111
|
+
?gradient="${gradient}"
|
|
112
|
+
.values="${selectVals}"
|
|
113
|
+
style="${style}"
|
|
114
|
+
label="Select Label"
|
|
115
|
+
></pd-select>
|
|
116
|
+
<pd-input
|
|
117
|
+
id="testId1"
|
|
118
|
+
?gradient="${gradient}"
|
|
119
|
+
style="${style}"
|
|
120
|
+
label="Input Label"
|
|
121
|
+
value="My Value"
|
|
122
|
+
></pd-input>
|
|
123
|
+
<pd-input-area
|
|
124
|
+
id="testId2"
|
|
125
|
+
?gradient="${gradient}"
|
|
126
|
+
style="${style}"
|
|
127
|
+
label="Input Area Label"
|
|
128
|
+
value="My Value Area Text and ..."
|
|
129
|
+
></pd-input-area>
|
|
130
|
+
</div>
|
|
27
131
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
132
|
+
<div
|
|
133
|
+
style="display: flex; justify-content: space-between; max-width: 800px"
|
|
134
|
+
>
|
|
135
|
+
<pd-select
|
|
136
|
+
id="testId1"
|
|
137
|
+
.values="${selectVals}"
|
|
138
|
+
?gradient="${gradient}"
|
|
139
|
+
style="${style}"
|
|
140
|
+
label="Select Label"
|
|
141
|
+
errorMsg="Fehler 1"
|
|
142
|
+
></pd-select>
|
|
143
|
+
<pd-input
|
|
144
|
+
id="testId1"
|
|
145
|
+
style="${style}"
|
|
146
|
+
?gradient="${gradient}"
|
|
147
|
+
label="Input Label"
|
|
148
|
+
value="My Value"
|
|
149
|
+
errorMsg="Fehler 2"
|
|
150
|
+
></pd-input>
|
|
151
|
+
<pd-input-area
|
|
152
|
+
id="testId2"
|
|
153
|
+
style="${style}"
|
|
154
|
+
?gradient="${gradient}"
|
|
155
|
+
label="Input Area Label"
|
|
156
|
+
errorMsg="Fehler 3"
|
|
157
|
+
value="My Value Area Text and ..."
|
|
158
|
+
></pd-input-area>
|
|
159
|
+
</div>
|
|
32
160
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
161
|
+
<div
|
|
162
|
+
style="display: flex; justify-content: space-between; max-width: 800px"
|
|
163
|
+
>
|
|
164
|
+
<pd-select
|
|
165
|
+
id="testId1"
|
|
166
|
+
.values="${selectVals}"
|
|
167
|
+
?gradient="${gradient}"
|
|
168
|
+
style="${style}"
|
|
169
|
+
?disabled="${true}"
|
|
170
|
+
label="Select Label"
|
|
171
|
+
></pd-select>
|
|
172
|
+
<pd-input
|
|
173
|
+
id="testId1"
|
|
174
|
+
style="${style}"
|
|
175
|
+
?gradient="${gradient}"
|
|
176
|
+
label="Input Label"
|
|
177
|
+
?disabled="${true}"
|
|
178
|
+
value="My Value"
|
|
179
|
+
></pd-input>
|
|
180
|
+
<pd-input-area
|
|
181
|
+
id="testId2"
|
|
182
|
+
style="${style}"
|
|
183
|
+
?gradient="${gradient}"
|
|
184
|
+
label="Input Area Label"
|
|
185
|
+
?disabled="${true}"
|
|
186
|
+
value="My Value Area Text and ..."
|
|
187
|
+
></pd-input-area>
|
|
188
|
+
</div>
|
|
37
189
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
190
|
+
<div
|
|
191
|
+
style="display: flex; justify-content: space-between; max-width: 800px"
|
|
192
|
+
>
|
|
193
|
+
<pd-select
|
|
194
|
+
id="testId1"
|
|
195
|
+
.values="${selectVals}"
|
|
196
|
+
?gradient="${gradient}"
|
|
197
|
+
style="${style}"
|
|
198
|
+
?disabled="${true}"
|
|
199
|
+
label="Select ohne Placeholder"
|
|
200
|
+
></pd-select>
|
|
201
|
+
<pd-input
|
|
202
|
+
id="testId1"
|
|
203
|
+
style="${style}"
|
|
204
|
+
?gradient="${gradient}"
|
|
205
|
+
label="Input Label"
|
|
206
|
+
placeHolder="Placeholder Text"
|
|
207
|
+
></pd-input>
|
|
208
|
+
<pd-input-area
|
|
209
|
+
id="testId2"
|
|
210
|
+
style="${style}"
|
|
211
|
+
?gradient="${gradient}"
|
|
212
|
+
label="Input Area Label"
|
|
213
|
+
placeHolder="Placeholder Text"
|
|
214
|
+
></pd-input-area>
|
|
215
|
+
</div>
|
|
216
|
+
|
|
217
|
+
<h3>Radio & Switch</h3>
|
|
218
|
+
<div
|
|
219
|
+
style="display: flex; justify-content: space-between; max-width: 1000px"
|
|
220
|
+
>
|
|
221
|
+
<pd-checkbox name="Test1" value="true"
|
|
222
|
+
>Label zur Checkbox</pd-checkbox
|
|
223
|
+
>
|
|
224
|
+
<pd-checkbox name="Test2" value="false"
|
|
225
|
+
>Label zur Checkbox</pd-checkbox
|
|
226
|
+
>
|
|
227
|
+
<pd-checkbox name="Test1" isSwitch value="true"
|
|
228
|
+
>Label zur Checkbox</pd-checkbox
|
|
229
|
+
>
|
|
230
|
+
<pd-checkbox name="Test2" isSwitch value="false"
|
|
231
|
+
>Label zur Checkbox</pd-checkbox
|
|
232
|
+
>
|
|
233
|
+
</div>
|
|
234
|
+
|
|
235
|
+
<h3>Radio Group</h3>
|
|
236
|
+
<pd-radio-group>
|
|
237
|
+
<pd-checkbox name="Test1" value="true"
|
|
238
|
+
>Label zur Checkbox</pd-checkbox
|
|
239
|
+
>
|
|
240
|
+
<pd-checkbox name="Test2" value="false"
|
|
241
|
+
>Label zur Checkbox</pd-checkbox
|
|
242
|
+
>
|
|
243
|
+
</pd-radio-group>
|
|
244
|
+
<pd-radio-group style="--group-direction: column;">
|
|
245
|
+
<pd-checkbox name="Test3" value="true"
|
|
246
|
+
>Label zur Checkbox</pd-checkbox
|
|
247
|
+
>
|
|
248
|
+
<pd-checkbox name="Test4" value="false"
|
|
249
|
+
>Label zur Checkbox</pd-checkbox
|
|
250
|
+
>
|
|
251
|
+
</pd-radio-group>
|
|
252
|
+
|
|
253
|
+
<h3>Buttons</h3>
|
|
254
|
+
<pd-button
|
|
255
|
+
?gradient="${gradient}"
|
|
256
|
+
style="${style}"
|
|
257
|
+
text="Primary"
|
|
258
|
+
?primary="${true}"
|
|
259
|
+
></pd-button>
|
|
260
|
+
<pd-button
|
|
261
|
+
?gradient="${gradient}"
|
|
262
|
+
style="${style}"
|
|
263
|
+
text="Normal"
|
|
264
|
+
></pd-button>
|
|
265
|
+
<pd-button
|
|
266
|
+
?gradient="${gradient}"
|
|
267
|
+
style="${style}"
|
|
268
|
+
?disabled="${true}"
|
|
269
|
+
text="Disabled"
|
|
270
|
+
></pd-button>
|
|
271
|
+
<pd-button
|
|
272
|
+
?gradient="${gradient}"
|
|
273
|
+
style="${style}"
|
|
274
|
+
text="Primary Disabled"
|
|
275
|
+
?disabled="${true}"
|
|
276
|
+
?primary="${true}"
|
|
277
|
+
></pd-button>
|
|
278
|
+
|
|
279
|
+
<h3>Button Group</h3>
|
|
280
|
+
<pd-button-group
|
|
281
|
+
@button-click="${e => alert('Button click:', e)}"
|
|
282
|
+
.buttons="${[
|
|
283
|
+
{ text: 'Button 1' },
|
|
284
|
+
{ text: 'Button 2' },
|
|
285
|
+
{ text: 'Button 3' },
|
|
286
|
+
{ text: 'Button 4' },
|
|
287
|
+
]}"
|
|
288
|
+
>
|
|
289
|
+
</pd-button-group>
|
|
290
|
+
|
|
291
|
+
<pd-button-group
|
|
292
|
+
.buttons="${[
|
|
293
|
+
{ text: 'Button 1' },
|
|
294
|
+
{ text: 'Button 2', visibility: 'hidden' },
|
|
295
|
+
{ text: 'Button 3' },
|
|
296
|
+
{ text: 'Button 4' },
|
|
297
|
+
]}"
|
|
298
|
+
>
|
|
299
|
+
</pd-button-group>
|
|
300
|
+
`;
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
export const FormExamples = Template.bind({});
|
|
304
|
+
FormExamples.args = {
|
|
305
|
+
selectVals: [
|
|
306
|
+
{ name: 'Option 1', value: 1 },
|
|
307
|
+
{ name: 'Option 2', value: 2 },
|
|
308
|
+
{ name: 'Option 3', value: 3 },
|
|
309
|
+
],
|
|
310
|
+
gradient: false,
|
|
44
311
|
};
|
|
312
|
+
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { html } from 'lit';
|
|
2
|
+
import '../pd-input-area.js';
|
|
3
|
+
|
|
4
|
+
export default {
|
|
5
|
+
title: 'PdForms/Input Area',
|
|
6
|
+
component: 'pd-input-area',
|
|
7
|
+
argTypes: {
|
|
8
|
+
primaryColor: { control: 'color' },
|
|
9
|
+
secondaryColor: { control: 'color' },
|
|
10
|
+
textColor: { control: 'color' },
|
|
11
|
+
highlightColor: { control: 'color' },
|
|
12
|
+
errorColor: { control: 'color' },
|
|
13
|
+
errorBackgroundColor: { control: 'color' },
|
|
14
|
+
borderRadius: { control: 'text' },
|
|
15
|
+
displayFont: { control: 'text' },
|
|
16
|
+
fontSize: { control: 'text' },
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
function Template({
|
|
21
|
+
primaryColor,
|
|
22
|
+
secondaryColor,
|
|
23
|
+
textColor,
|
|
24
|
+
highlightColor,
|
|
25
|
+
errorColor,
|
|
26
|
+
errorBackgroundColor,
|
|
27
|
+
borderRadius,
|
|
28
|
+
displayFont,
|
|
29
|
+
fontSize,
|
|
30
|
+
}) {
|
|
31
|
+
let style = '';
|
|
32
|
+
if (primaryColor) {
|
|
33
|
+
style += `--squi-primary-color:${primaryColor};`;
|
|
34
|
+
}
|
|
35
|
+
if (secondaryColor) {
|
|
36
|
+
style += `--squi-secondary-color:${secondaryColor};`;
|
|
37
|
+
}
|
|
38
|
+
if (textColor) {
|
|
39
|
+
style += `--squi-text-color:${textColor};`;
|
|
40
|
+
}
|
|
41
|
+
if (highlightColor) {
|
|
42
|
+
style += `--squi-highlight-color:${highlightColor};`;
|
|
43
|
+
}
|
|
44
|
+
if (errorColor) {
|
|
45
|
+
style += `--squi-error-color:${errorColor};`;
|
|
46
|
+
}
|
|
47
|
+
if (errorBackgroundColor) {
|
|
48
|
+
style += `--squi-error-background-color:${errorBackgroundColor};`;
|
|
49
|
+
}
|
|
50
|
+
if (borderRadius) {
|
|
51
|
+
style += `--squi-border-radius:${borderRadius};`;
|
|
52
|
+
}
|
|
53
|
+
if (displayFont) {
|
|
54
|
+
style += `--squi-display-font:${displayFont};`;
|
|
55
|
+
}
|
|
56
|
+
if (fontSize) {
|
|
57
|
+
style += `--squi-font-size:${fontSize};`;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
return html`
|
|
61
|
+
<h3>Input Area default</h3>
|
|
62
|
+
<pd-input-area id="testId1" style="${style}"></pd-input-area>
|
|
63
|
+
|
|
64
|
+
<h3>Input Area default with value</h3>
|
|
65
|
+
<pd-input-area
|
|
66
|
+
id="testId2"
|
|
67
|
+
style="${style}"
|
|
68
|
+
value="Das ist mein Text-Area Input value"
|
|
69
|
+
></pd-input-area>
|
|
70
|
+
|
|
71
|
+
<h3>Input Area with value - custom size</h3>
|
|
72
|
+
<pd-input-area
|
|
73
|
+
id="testId3"
|
|
74
|
+
style="${style}"
|
|
75
|
+
value="Das ist mein Text-Area Input value. Der kann auch ein bißchen länger sein. Weitere Zeilen stehen hier...."
|
|
76
|
+
></pd-input-area>
|
|
77
|
+
|
|
78
|
+
<h3>Input Area with placeholder - custom size</h3>
|
|
79
|
+
<pd-input-area
|
|
80
|
+
id="testId4"
|
|
81
|
+
style="${style}"
|
|
82
|
+
placeHolder="Hier steht ein placeholder Text"
|
|
83
|
+
></pd-input-area>
|
|
84
|
+
|
|
85
|
+
<h3>
|
|
86
|
+
Input Area with value - custom size - label => ToDo: Derzeit ohne
|
|
87
|
+
cols/rows nur mit css props
|
|
88
|
+
</h3>
|
|
89
|
+
<pd-input-area
|
|
90
|
+
id="testId5"
|
|
91
|
+
style="${style}"
|
|
92
|
+
label="Area Label 1"
|
|
93
|
+
rows="10"
|
|
94
|
+
value="Mein Text..."
|
|
95
|
+
></pd-input-area>
|
|
96
|
+
|
|
97
|
+
<h3>Input Area with error - custom size - label</h3>
|
|
98
|
+
<pd-input-area
|
|
99
|
+
id="testId6"
|
|
100
|
+
style="${style}"
|
|
101
|
+
label="Area Label 2"
|
|
102
|
+
value="Mein Text..."
|
|
103
|
+
errorMsg="Fehler augetreten"
|
|
104
|
+
></pd-input-area>
|
|
105
|
+
|
|
106
|
+
<h3>Input Area disabled - custom size - label</h3>
|
|
107
|
+
<pd-input-area
|
|
108
|
+
id="testId7"
|
|
109
|
+
style="${style}"
|
|
110
|
+
label="Area Label 3"
|
|
111
|
+
value="Mein Text..."
|
|
112
|
+
?disabled="${true}"
|
|
113
|
+
></pd-input-area>
|
|
114
|
+
|
|
115
|
+
<h3>Input Area readonly - custom size - label</h3>
|
|
116
|
+
<pd-input-area
|
|
117
|
+
id="testId8"
|
|
118
|
+
style="${style}"
|
|
119
|
+
cols="60"
|
|
120
|
+
rows="3"
|
|
121
|
+
label="Area Label 4"
|
|
122
|
+
value="Mein Text..."
|
|
123
|
+
?readonly="${true}"
|
|
124
|
+
></pd-input-area>
|
|
125
|
+
`;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
export const InputArea = Template.bind({});
|
|
129
|
+
InputArea.args = {};
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { html } from 'lit';
|
|
2
|
+
import '../pd-input.js';
|
|
3
|
+
|
|
4
|
+
export default {
|
|
5
|
+
title: 'PdForms/Input',
|
|
6
|
+
component: 'pd-input',
|
|
7
|
+
argTypes: {
|
|
8
|
+
primaryColor: { control: 'color' },
|
|
9
|
+
secondaryColor: { control: 'color' },
|
|
10
|
+
textColor: { control: 'color' },
|
|
11
|
+
highlightColor: { control: 'color' },
|
|
12
|
+
errorColor: { control: 'color' },
|
|
13
|
+
errorBackgroundColor: { control: 'color' },
|
|
14
|
+
borderRadius: { control: 'text' },
|
|
15
|
+
displayFont: { control: 'text' },
|
|
16
|
+
fontSize: { control: 'text' },
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
function Template({
|
|
21
|
+
primaryColor,
|
|
22
|
+
secondaryColor,
|
|
23
|
+
textColor,
|
|
24
|
+
highlightColor,
|
|
25
|
+
errorColor,
|
|
26
|
+
errorBackgroundColor,
|
|
27
|
+
borderRadius,
|
|
28
|
+
displayFont,
|
|
29
|
+
fontSize,
|
|
30
|
+
}) {
|
|
31
|
+
let style = '';
|
|
32
|
+
if (primaryColor) {
|
|
33
|
+
style += `--squi-primary-color:${primaryColor};`;
|
|
34
|
+
}
|
|
35
|
+
if (secondaryColor) {
|
|
36
|
+
style += `--squi-secondary-color:${secondaryColor};`;
|
|
37
|
+
}
|
|
38
|
+
if (textColor) {
|
|
39
|
+
style += `--squi-text-color:${textColor};`;
|
|
40
|
+
}
|
|
41
|
+
if (highlightColor) {
|
|
42
|
+
style += `--squi-highlight-color:${highlightColor};`;
|
|
43
|
+
}
|
|
44
|
+
if (errorColor) {
|
|
45
|
+
style += `--squi-error-color:${errorColor};`;
|
|
46
|
+
}
|
|
47
|
+
if (errorBackgroundColor) {
|
|
48
|
+
style += `--squi-error-background-color:${errorBackgroundColor};`;
|
|
49
|
+
}
|
|
50
|
+
if (borderRadius) {
|
|
51
|
+
style += `--squi-border-radius:${borderRadius};`;
|
|
52
|
+
}
|
|
53
|
+
if (displayFont) {
|
|
54
|
+
style += `--squi-display-font:${displayFont};`;
|
|
55
|
+
}
|
|
56
|
+
if (fontSize) {
|
|
57
|
+
style += `--squi-font-size:${fontSize};`;
|
|
58
|
+
}
|
|
59
|
+
return html`
|
|
60
|
+
<h3>Default Input</h3>
|
|
61
|
+
<pd-input id="test1Id" style="${style}"></pd-input>
|
|
62
|
+
|
|
63
|
+
<h3>Default Input with place holder</h3>
|
|
64
|
+
<pd-input
|
|
65
|
+
id="test2Id"
|
|
66
|
+
placeHolder="Placeholder Text"
|
|
67
|
+
style="${style}"
|
|
68
|
+
></pd-input>
|
|
69
|
+
|
|
70
|
+
<h3>Default Input with value</h3>
|
|
71
|
+
<pd-input
|
|
72
|
+
id="test3Id"
|
|
73
|
+
value="My input value"
|
|
74
|
+
style="${style}"
|
|
75
|
+
></pd-input>
|
|
76
|
+
|
|
77
|
+
<h3>Input with value - Error</h3>
|
|
78
|
+
<pd-input
|
|
79
|
+
id="test4Id"
|
|
80
|
+
value="My input value"
|
|
81
|
+
errorMsg="Fehler aufgetreten"
|
|
82
|
+
style="${style}"
|
|
83
|
+
></pd-input>
|
|
84
|
+
|
|
85
|
+
<h3>Input with max lenth and size</h3>
|
|
86
|
+
<pd-input
|
|
87
|
+
id="test5Id"
|
|
88
|
+
maxlength="4"
|
|
89
|
+
style="${`${style}--squi-input-width: 80px;`}"
|
|
90
|
+
></pd-input>
|
|
91
|
+
|
|
92
|
+
<h3>Input with place holder and label</h3>
|
|
93
|
+
<pd-input
|
|
94
|
+
id="test6Id"
|
|
95
|
+
label="Input Label 1"
|
|
96
|
+
placeHolder="Placeholder Text"
|
|
97
|
+
style="${style}"
|
|
98
|
+
></pd-input>
|
|
99
|
+
|
|
100
|
+
<h3>Input with place holder and label - disabled</h3>
|
|
101
|
+
<pd-input
|
|
102
|
+
id="test7Id"
|
|
103
|
+
label="Input Label 1"
|
|
104
|
+
placeHolder="Placeholder Text"
|
|
105
|
+
?disabled="${true}"
|
|
106
|
+
style="${style}"
|
|
107
|
+
></pd-input>
|
|
108
|
+
|
|
109
|
+
<h3>Input with value and label - disabled</h3>
|
|
110
|
+
<pd-input
|
|
111
|
+
id="test8Id"
|
|
112
|
+
label="Input Label 1"
|
|
113
|
+
value="My Value"
|
|
114
|
+
?disabled="${true}"
|
|
115
|
+
style="${style}"
|
|
116
|
+
></pd-input>
|
|
117
|
+
|
|
118
|
+
<h3>Input with value and label - error</h3>
|
|
119
|
+
<pd-input
|
|
120
|
+
id="test4Id"
|
|
121
|
+
label="Test Label"
|
|
122
|
+
value="My input value"
|
|
123
|
+
errorMsg="Fehler aufgetreten"
|
|
124
|
+
style="${style}"
|
|
125
|
+
></pd-input>
|
|
126
|
+
`;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
export const Input = Template.bind({});
|
|
130
|
+
Input.args = {};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { html } from 'lit';
|
|
2
|
+
import '../pd-label-value.js';
|
|
3
|
+
|
|
4
|
+
export default {
|
|
5
|
+
title: 'PdForms/Label Value',
|
|
6
|
+
component: 'pd-label-value',
|
|
7
|
+
argTypes: {
|
|
8
|
+
|
|
9
|
+
},
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
function Template() {
|
|
13
|
+
return html`
|
|
14
|
+
<h1>Label Value Story</h1>
|
|
15
|
+
<p>Component not used at the moment.</p>
|
|
16
|
+
<pd-label-value label="Test" value="Mein Wert"></pd-label-value>
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
<p>DL Test</p>
|
|
20
|
+
<dl>
|
|
21
|
+
<dt>Coffee</dt>
|
|
22
|
+
<dd>Black hot drink</dd>
|
|
23
|
+
<dt>Milk</dt>
|
|
24
|
+
<dd>White cold drink</dd>
|
|
25
|
+
</dl>
|
|
26
|
+
`;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export const LabelValue = Template.bind({});
|
|
30
|
+
LabelValue.args = {
|
|
31
|
+
};
|
|
32
|
+
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { html } from 'lit';
|
|
2
|
+
import '../pd-checkbox.js';
|
|
3
|
+
import '../pd-radio-group.js';
|
|
4
|
+
|
|
5
|
+
export default {
|
|
6
|
+
title: 'PdForms/Radio Group',
|
|
7
|
+
component: 'pd-radio-group',
|
|
8
|
+
argTypes: {},
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
function Template({ errorMsg }) {
|
|
12
|
+
return html`
|
|
13
|
+
<h1>Radio Group</h1>
|
|
14
|
+
<p style="color: red;">
|
|
15
|
+
Working progress, checkbox style not suitable here
|
|
16
|
+
</p>
|
|
17
|
+
|
|
18
|
+
<p>Enter error message in custom properties to show error style</p>
|
|
19
|
+
|
|
20
|
+
<h3>Radio Group Horiz.</h3>
|
|
21
|
+
<pd-radio-group errorMsg="${errorMsg}">
|
|
22
|
+
<pd-checkbox name="Test1" value="true"
|
|
23
|
+
>Label zur Checkbox</pd-checkbox
|
|
24
|
+
>
|
|
25
|
+
<pd-checkbox name="Test2" value="false"
|
|
26
|
+
>Label zur Checkbox</pd-checkbox
|
|
27
|
+
>
|
|
28
|
+
</pd-radio-group>
|
|
29
|
+
|
|
30
|
+
<h3>Radio Group Vert.</h3>
|
|
31
|
+
<pd-radio-group style="--group-direction: column;" errorMsg="${errorMsg}">
|
|
32
|
+
<pd-checkbox name="Test3" value="true"
|
|
33
|
+
>Label zur Checkbox</pd-checkbox
|
|
34
|
+
>
|
|
35
|
+
<pd-checkbox name="Test4" value="false"
|
|
36
|
+
>Label zur Checkbox</pd-checkbox
|
|
37
|
+
>
|
|
38
|
+
</pd-radio-group>
|
|
39
|
+
`;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export const RadioGroup = Template.bind({});
|
|
43
|
+
RadioGroup.args = {
|
|
44
|
+
errorMsg: '',
|
|
45
|
+
};
|