vueless 0.0.250 → 0.0.252
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/ui.data-table/index.vue +2 -0
- package/ui.form-input/index.stories.js +20 -75
- package/ui.form-input-file/index.stories.js +17 -59
- package/ui.form-input-money/index.stories.js +15 -40
- package/ui.form-input-number/index.stories.js +13 -8
- package/ui.form-input-rating/index.stories.js +10 -25
- package/ui.form-input-search/index.stories.js +12 -29
- package/ui.form-textarea/index.stories.js +16 -54
- package/web-types.json +1 -1
package/package.json
CHANGED
package/ui.data-table/index.vue
CHANGED
|
@@ -192,6 +192,7 @@
|
|
|
192
192
|
bodyCellNestedExpandIconAttrs,
|
|
193
193
|
bodyCellNestedAttrs,
|
|
194
194
|
bodyCellPrimaryAttrs,
|
|
195
|
+
bodyCheckboxAttrs,
|
|
195
196
|
}"
|
|
196
197
|
@click="onClickRow"
|
|
197
198
|
@toggle-row-visibility="onToggleRowVisibility"
|
|
@@ -511,6 +512,7 @@ const {
|
|
|
511
512
|
hasSlotContent,
|
|
512
513
|
headerAttrs,
|
|
513
514
|
bodyCellPrimaryAttrs,
|
|
515
|
+
bodyCheckboxAttrs,
|
|
514
516
|
} = useAttrs(props, {
|
|
515
517
|
tableRows,
|
|
516
518
|
isShownActionsHeader,
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { getArgTypes, getSlotNames,
|
|
1
|
+
import { getArgTypes, getSlotNames, getSlotsFragment } from "../service.storybook";
|
|
2
2
|
|
|
3
3
|
import UInput from "../ui.form-input";
|
|
4
4
|
import UIcon from "../ui.image-icon";
|
|
5
5
|
import UButton from "../ui.button";
|
|
6
6
|
import UCol from "../ui.container-col";
|
|
7
|
-
import URow from "../ui.container-row";
|
|
8
7
|
|
|
9
8
|
/**
|
|
10
9
|
* The `UInput` component. | [View on GitHub](https://github.com/vuelessjs/vueless/tree/main/src/ui.form-input)
|
|
@@ -23,7 +22,7 @@ export default {
|
|
|
23
22
|
};
|
|
24
23
|
|
|
25
24
|
const DefaultTemplate = (args) => ({
|
|
26
|
-
components: { UInput },
|
|
25
|
+
components: { UInput, UIcon, UButton },
|
|
27
26
|
setup() {
|
|
28
27
|
const slots = getSlotNames(UInput.name);
|
|
29
28
|
|
|
@@ -31,81 +30,27 @@ const DefaultTemplate = (args) => ({
|
|
|
31
30
|
},
|
|
32
31
|
template: `
|
|
33
32
|
<UInput v-bind="args" v-model="args.modelValue">
|
|
34
|
-
${
|
|
35
|
-
</UInput>
|
|
36
|
-
`,
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
const SlotTemplate = (args) => ({
|
|
40
|
-
components: { UInput, UIcon, UButton },
|
|
41
|
-
setup() {
|
|
42
|
-
return { args };
|
|
43
|
-
},
|
|
44
|
-
template: `
|
|
45
|
-
<UInput v-bind="args">
|
|
46
|
-
${args.slotTemplate}
|
|
33
|
+
${args.slotTemplate || getSlotsFragment()}
|
|
47
34
|
</UInput>
|
|
48
35
|
`,
|
|
49
36
|
});
|
|
50
37
|
|
|
51
|
-
const
|
|
52
|
-
components: { UInput, URow },
|
|
53
|
-
setup() {
|
|
54
|
-
return {
|
|
55
|
-
args,
|
|
56
|
-
sizes: argTypes.size.options,
|
|
57
|
-
};
|
|
58
|
-
},
|
|
59
|
-
template: `
|
|
60
|
-
<URow>
|
|
61
|
-
<UInput
|
|
62
|
-
v-for="(size, index) in sizes"
|
|
63
|
-
v-bind="args"
|
|
64
|
-
:size="size"
|
|
65
|
-
:key="index"
|
|
66
|
-
/>
|
|
67
|
-
</URow>
|
|
68
|
-
`,
|
|
69
|
-
});
|
|
70
|
-
|
|
71
|
-
const ValidationRuleTemplate = (args, { argTypes } = {}) => ({
|
|
72
|
-
components: { UInput, URow },
|
|
73
|
-
setup() {
|
|
74
|
-
return {
|
|
75
|
-
args,
|
|
76
|
-
rules: argTypes.validationRule.options,
|
|
77
|
-
};
|
|
78
|
-
},
|
|
79
|
-
template: `
|
|
80
|
-
<URow>
|
|
81
|
-
<UInput
|
|
82
|
-
v-for="(rule, index) in rules"
|
|
83
|
-
v-bind="args"
|
|
84
|
-
:validationRule="rule"
|
|
85
|
-
:key="index"
|
|
86
|
-
:description="rule"
|
|
87
|
-
/>
|
|
88
|
-
</URow>
|
|
89
|
-
`,
|
|
90
|
-
});
|
|
91
|
-
|
|
92
|
-
const LabelPlacementTemplate = (args) => ({
|
|
38
|
+
const EnumVariantTemplate = (args, { argTypes } = {}) => ({
|
|
93
39
|
components: { UInput, UCol },
|
|
94
40
|
setup() {
|
|
95
41
|
return {
|
|
96
42
|
args,
|
|
43
|
+
options: argTypes[args.enum].options,
|
|
97
44
|
};
|
|
98
45
|
},
|
|
99
46
|
template: `
|
|
100
|
-
<UCol
|
|
47
|
+
<UCol>
|
|
101
48
|
<UInput
|
|
49
|
+
v-for="(option, index) in options"
|
|
102
50
|
v-bind="args"
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
<UInput
|
|
107
|
-
v-bind="args"
|
|
108
|
-
label-align="topInside"
|
|
51
|
+
:[args.enum]="option"
|
|
52
|
+
:label="option"
|
|
53
|
+
:key="index"
|
|
109
54
|
/>
|
|
110
55
|
</UCol>
|
|
111
56
|
`,
|
|
@@ -135,14 +80,14 @@ noAutocomplete.args = { noAutocomplete: true };
|
|
|
135
80
|
export const typePassword = DefaultTemplate.bind({});
|
|
136
81
|
typePassword.args = { type: "password" };
|
|
137
82
|
|
|
138
|
-
export const labelPlacement =
|
|
139
|
-
labelPlacement.args = {};
|
|
83
|
+
export const labelPlacement = EnumVariantTemplate.bind({});
|
|
84
|
+
labelPlacement.args = { enum: "labelAlign" };
|
|
140
85
|
|
|
141
|
-
export const sizes =
|
|
142
|
-
sizes.args = {};
|
|
86
|
+
export const sizes = EnumVariantTemplate.bind({});
|
|
87
|
+
sizes.args = { enum: "size" };
|
|
143
88
|
|
|
144
|
-
export const validationRules =
|
|
145
|
-
validationRules.args = {};
|
|
89
|
+
export const validationRules = EnumVariantTemplate.bind({});
|
|
90
|
+
validationRules.args = { enum: "validationRule" };
|
|
146
91
|
|
|
147
92
|
export const iconLeft = DefaultTemplate.bind({});
|
|
148
93
|
iconLeft.args = {
|
|
@@ -154,7 +99,7 @@ iconRight.args = {
|
|
|
154
99
|
iconRight: "star",
|
|
155
100
|
};
|
|
156
101
|
|
|
157
|
-
export const iconLeftSlot =
|
|
102
|
+
export const iconLeftSlot = DefaultTemplate.bind({});
|
|
158
103
|
iconLeftSlot.args = {
|
|
159
104
|
slotTemplate: `
|
|
160
105
|
<template #icon-left>
|
|
@@ -166,7 +111,7 @@ iconLeftSlot.args = {
|
|
|
166
111
|
`,
|
|
167
112
|
};
|
|
168
113
|
|
|
169
|
-
export const iconRightSlot =
|
|
114
|
+
export const iconRightSlot = DefaultTemplate.bind({});
|
|
170
115
|
iconRightSlot.args = {
|
|
171
116
|
slotTemplate: `
|
|
172
117
|
<template #icon-right>
|
|
@@ -178,7 +123,7 @@ iconRightSlot.args = {
|
|
|
178
123
|
`,
|
|
179
124
|
};
|
|
180
125
|
|
|
181
|
-
export const leftSlot =
|
|
126
|
+
export const leftSlot = DefaultTemplate.bind({});
|
|
182
127
|
leftSlot.args = {
|
|
183
128
|
slotTemplate: `
|
|
184
129
|
<template #left>
|
|
@@ -187,7 +132,7 @@ leftSlot.args = {
|
|
|
187
132
|
`,
|
|
188
133
|
};
|
|
189
134
|
|
|
190
|
-
export const rightSlot =
|
|
135
|
+
export const rightSlot = DefaultTemplate.bind({});
|
|
191
136
|
rightSlot.args = {
|
|
192
137
|
slotTemplate: `
|
|
193
138
|
<template #right>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { getArgTypes,
|
|
1
|
+
import { getArgTypes, getSlotNames, getSlotsFragment } from "../service.storybook";
|
|
2
2
|
|
|
3
3
|
import UInputFile from "../ui.form-input-file";
|
|
4
|
-
import
|
|
4
|
+
import UCol from "../ui.container-col";
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* The `UInputFile` component. | [View on GitHub](https://github.com/vuelessjs/vueless/tree/main/src/ui.form-input-file)
|
|
@@ -37,71 +37,29 @@ const DefaultTemplate = (args) => ({
|
|
|
37
37
|
v-model="files"
|
|
38
38
|
v-model:error="error"
|
|
39
39
|
>
|
|
40
|
-
${
|
|
40
|
+
${args.slotTemplate || getSlotsFragment()}
|
|
41
41
|
</UInputFile>
|
|
42
42
|
`,
|
|
43
43
|
});
|
|
44
44
|
|
|
45
|
-
const
|
|
46
|
-
components: { UInputFile },
|
|
47
|
-
setup() {
|
|
48
|
-
return { args };
|
|
49
|
-
},
|
|
50
|
-
data() {
|
|
51
|
-
return {
|
|
52
|
-
files: [],
|
|
53
|
-
error: args.error || "",
|
|
54
|
-
};
|
|
55
|
-
},
|
|
56
|
-
template: `
|
|
57
|
-
<UInputFile
|
|
58
|
-
v-bind="args"
|
|
59
|
-
v-model="files"
|
|
60
|
-
v-model:error="error"
|
|
61
|
-
>
|
|
62
|
-
${args.slotTemplate}
|
|
63
|
-
</UInputFile>
|
|
64
|
-
`,
|
|
65
|
-
});
|
|
66
|
-
|
|
67
|
-
const LabelAlignTemplate = (args, { argTypes } = {}) => ({
|
|
68
|
-
components: { UInputFile, URow },
|
|
69
|
-
setup() {
|
|
70
|
-
return {
|
|
71
|
-
args,
|
|
72
|
-
alignOptions: argTypes.labelAlign.options,
|
|
73
|
-
};
|
|
74
|
-
},
|
|
75
|
-
template: `
|
|
76
|
-
<URow class="!flex-col" gap="xl">
|
|
77
|
-
<div v-for="(align, index) in alignOptions" :key="index">
|
|
78
|
-
<UInputFile
|
|
79
|
-
:label-align="align"
|
|
80
|
-
v-bind="args"
|
|
81
|
-
:label="align"
|
|
82
|
-
/>
|
|
83
|
-
</div>
|
|
84
|
-
</URow>
|
|
85
|
-
`,
|
|
86
|
-
});
|
|
87
|
-
|
|
88
|
-
const SizesTemplate = (args, { argTypes } = {}) => ({
|
|
89
|
-
components: { UInputFile, URow },
|
|
45
|
+
const EnumVariantTemplate = (args, { argTypes } = {}) => ({
|
|
46
|
+
components: { UInputFile, UCol },
|
|
90
47
|
setup() {
|
|
91
48
|
return {
|
|
92
49
|
args,
|
|
93
|
-
|
|
50
|
+
options: argTypes[args.enum].options,
|
|
94
51
|
};
|
|
95
52
|
},
|
|
96
53
|
template: `
|
|
97
|
-
<
|
|
98
|
-
<div v-for="(
|
|
54
|
+
<UCol gap="xl">
|
|
55
|
+
<div v-for="(option, index) in options" :key="index">
|
|
99
56
|
<UInputFile
|
|
100
|
-
:
|
|
57
|
+
:[args.enum]="option"
|
|
101
58
|
v-bind="args"
|
|
59
|
+
:label="option"
|
|
102
60
|
/>
|
|
103
61
|
</div>
|
|
104
|
-
</
|
|
62
|
+
</UCol>
|
|
105
63
|
`,
|
|
106
64
|
});
|
|
107
65
|
|
|
@@ -117,17 +75,17 @@ allowedFileTypes.args = { allowedFileTypes: ["png", "jpeg"], label: "Allow only
|
|
|
117
75
|
export const error = DefaultTemplate.bind({});
|
|
118
76
|
error.args = { error: "some error" };
|
|
119
77
|
|
|
120
|
-
export const sizes =
|
|
121
|
-
sizes.args = {};
|
|
78
|
+
export const sizes = EnumVariantTemplate.bind({});
|
|
79
|
+
sizes.args = { enum: "size" };
|
|
122
80
|
|
|
123
|
-
export const labelAlign =
|
|
124
|
-
labelAlign.args = {};
|
|
81
|
+
export const labelAlign = EnumVariantTemplate.bind({});
|
|
82
|
+
labelAlign.args = { enum: "labelAlign" };
|
|
125
83
|
|
|
126
|
-
export const slotLeft =
|
|
84
|
+
export const slotLeft = DefaultTemplate.bind({});
|
|
127
85
|
slotLeft.args = {
|
|
128
86
|
slotTemplate: `
|
|
129
87
|
<template #left>
|
|
130
|
-
|
|
88
|
+
🤘
|
|
131
89
|
</template>
|
|
132
90
|
`,
|
|
133
91
|
};
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { getArgTypes, getSlotNames,
|
|
1
|
+
import { getArgTypes, getSlotNames, getSlotsFragment } from "../service.storybook";
|
|
2
2
|
|
|
3
3
|
import UInputMoney from "../ui.form-input-money";
|
|
4
|
-
import
|
|
5
|
-
// import UCol from "../ui.container-col";
|
|
4
|
+
import UCol from "../ui.container-col";
|
|
6
5
|
|
|
7
6
|
/**
|
|
8
7
|
* The `UInputMoney` component. | [View on GitHub](https://github.com/vuelessjs/vueless/tree/main/src/ui.form-input-money)
|
|
@@ -32,67 +31,43 @@ const DefaultTemplate = (args) => ({
|
|
|
32
31
|
v-bind="args"
|
|
33
32
|
v-model="args.inputValue"
|
|
34
33
|
>
|
|
35
|
-
${
|
|
34
|
+
${args.slotTemplate || getSlotsFragment()}
|
|
36
35
|
</UInputMoney>
|
|
37
36
|
`,
|
|
38
37
|
});
|
|
39
38
|
|
|
40
|
-
const
|
|
41
|
-
components: { UInputMoney,
|
|
39
|
+
const EnumVariantTemplate = (args, { argTypes } = {}) => ({
|
|
40
|
+
components: { UInputMoney, UCol },
|
|
42
41
|
setup() {
|
|
43
42
|
return {
|
|
44
43
|
args,
|
|
45
|
-
|
|
44
|
+
options: argTypes[args.enum].options,
|
|
46
45
|
};
|
|
47
46
|
},
|
|
48
47
|
template: `
|
|
49
|
-
<
|
|
48
|
+
<UCol>
|
|
50
49
|
<UInputMoney
|
|
51
|
-
v-for="(
|
|
50
|
+
v-for="(option, index) in options"
|
|
52
51
|
v-bind="args"
|
|
53
|
-
:
|
|
52
|
+
:[args.enum]="option"
|
|
53
|
+
:label="option"
|
|
54
54
|
:key="index"
|
|
55
55
|
/>
|
|
56
|
-
</
|
|
56
|
+
</UCol>
|
|
57
57
|
`,
|
|
58
58
|
});
|
|
59
59
|
|
|
60
|
-
// TODO: Rewrite to labelAlign
|
|
61
|
-
// const LabelPlacementTemplate = (args) => ({
|
|
62
|
-
// components: { UInputMoney, UCol },
|
|
63
|
-
// setup() {
|
|
64
|
-
// return {
|
|
65
|
-
// args,
|
|
66
|
-
// };
|
|
67
|
-
// },
|
|
68
|
-
// template: `
|
|
69
|
-
// <UCol gap="xl">
|
|
70
|
-
// <UInputMoney
|
|
71
|
-
// v-bind="args"
|
|
72
|
-
// :label-outside="true"
|
|
73
|
-
// label="top"
|
|
74
|
-
// />
|
|
75
|
-
//
|
|
76
|
-
// <UInputMoney
|
|
77
|
-
// v-bind="args"
|
|
78
|
-
// :label-outside="false"
|
|
79
|
-
// label="topInside"
|
|
80
|
-
// />
|
|
81
|
-
// </UCol>
|
|
82
|
-
// `,
|
|
83
|
-
// });
|
|
84
|
-
|
|
85
60
|
export const Default = DefaultTemplate.bind({});
|
|
86
61
|
Default.args = {};
|
|
87
62
|
|
|
88
|
-
export const sizes =
|
|
89
|
-
sizes.args = {};
|
|
63
|
+
export const sizes = EnumVariantTemplate.bind({});
|
|
64
|
+
sizes.args = { enum: "size" };
|
|
90
65
|
|
|
91
66
|
export const symbol = DefaultTemplate.bind({});
|
|
92
67
|
symbol.args = { symbol: "€" };
|
|
93
68
|
|
|
94
|
-
|
|
95
|
-
|
|
69
|
+
export const labelAlign = EnumVariantTemplate.bind({});
|
|
70
|
+
labelAlign.args = { enum: "labelAlign" };
|
|
96
71
|
|
|
97
72
|
export const placeholder = DefaultTemplate.bind({});
|
|
98
73
|
placeholder.args = { placeholder: "Placeholder" };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getArgTypes } from "../service.storybook";
|
|
1
|
+
import { getArgTypes, getSlotNames, getSlotsFragment } from "../service.storybook";
|
|
2
2
|
|
|
3
3
|
import UInputNumber from "../ui.form-input-number";
|
|
4
4
|
import UCol from "../ui.container-col";
|
|
@@ -19,7 +19,9 @@ export default {
|
|
|
19
19
|
const DefaultTemplate = (args) => ({
|
|
20
20
|
components: { UInputNumber },
|
|
21
21
|
setup() {
|
|
22
|
-
|
|
22
|
+
const slots = getSlotNames(UInputNumber.name);
|
|
23
|
+
|
|
24
|
+
return { args, slots };
|
|
23
25
|
},
|
|
24
26
|
data() {
|
|
25
27
|
return {
|
|
@@ -27,16 +29,18 @@ const DefaultTemplate = (args) => ({
|
|
|
27
29
|
};
|
|
28
30
|
},
|
|
29
31
|
template: `
|
|
30
|
-
<UInputNumber v-model="count" v-bind="args"
|
|
32
|
+
<UInputNumber v-model="count" v-bind="args">
|
|
33
|
+
${args.slotTemplate || getSlotsFragment()}
|
|
34
|
+
</UInputNumber>
|
|
31
35
|
`,
|
|
32
36
|
});
|
|
33
37
|
|
|
34
|
-
const
|
|
38
|
+
const EnumVariantTemplate = (args, { argTypes } = {}) => ({
|
|
35
39
|
components: { UInputNumber, UCol },
|
|
36
40
|
setup() {
|
|
37
41
|
return {
|
|
38
42
|
args,
|
|
39
|
-
|
|
43
|
+
options: argTypes[args.enum].options,
|
|
40
44
|
};
|
|
41
45
|
},
|
|
42
46
|
data() {
|
|
@@ -51,9 +55,9 @@ const SizesTemplate = (args, { argTypes } = {}) => ({
|
|
|
51
55
|
template: `
|
|
52
56
|
<UCol gap="xl">
|
|
53
57
|
<UInputNumber
|
|
54
|
-
v-for="(
|
|
58
|
+
v-for="(option, index) in options"
|
|
55
59
|
v-bind="args"
|
|
56
|
-
:
|
|
60
|
+
:[args.enum]="option"
|
|
57
61
|
:key="index"
|
|
58
62
|
:label="sizeValues[index].label"
|
|
59
63
|
v-model="sizeValues[index].count"
|
|
@@ -79,8 +83,9 @@ label.args = {
|
|
|
79
83
|
label: "Year",
|
|
80
84
|
};
|
|
81
85
|
|
|
82
|
-
export const sizes =
|
|
86
|
+
export const sizes = EnumVariantTemplate.bind({});
|
|
83
87
|
sizes.args = {
|
|
88
|
+
enum: "size",
|
|
84
89
|
value: 1,
|
|
85
90
|
step: 1,
|
|
86
91
|
min: 1,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getArgTypes, getSlotNames,
|
|
1
|
+
import { getArgTypes, getSlotNames, getSlotsFragment } from "../service.storybook";
|
|
2
2
|
|
|
3
3
|
import UInputRating from "../ui.form-input-rating";
|
|
4
4
|
import URow from "../ui.container-row";
|
|
@@ -31,42 +31,27 @@ const DefaultTemplate = (args) => ({
|
|
|
31
31
|
v-bind="args"
|
|
32
32
|
v-model="args.modelValue"
|
|
33
33
|
>
|
|
34
|
-
${
|
|
34
|
+
${args.slotTemplate || getSlotsFragment()}
|
|
35
35
|
</UInputRating>
|
|
36
36
|
`,
|
|
37
37
|
});
|
|
38
38
|
|
|
39
|
-
const
|
|
40
|
-
components: { UInputRating },
|
|
41
|
-
setup() {
|
|
42
|
-
return { args };
|
|
43
|
-
},
|
|
44
|
-
template: `
|
|
45
|
-
<UInputRating
|
|
46
|
-
v-bind="args"
|
|
47
|
-
v-model="args.modelValue"
|
|
48
|
-
>
|
|
49
|
-
${args.slotTemplate}
|
|
50
|
-
</UInputRating>
|
|
51
|
-
`,
|
|
52
|
-
});
|
|
53
|
-
|
|
54
|
-
const SizesTemplate = (args, { argTypes } = {}) => ({
|
|
39
|
+
const EnumVariantTemplate = (args, { argTypes } = {}) => ({
|
|
55
40
|
components: { UInputRating, URow },
|
|
56
41
|
setup() {
|
|
57
42
|
return {
|
|
58
43
|
args,
|
|
59
|
-
|
|
44
|
+
options: argTypes[args.enum].options,
|
|
60
45
|
};
|
|
61
46
|
},
|
|
62
47
|
template: `
|
|
63
48
|
<URow gap="2xl">
|
|
64
49
|
<UInputRating
|
|
65
|
-
v-for="(
|
|
50
|
+
v-for="(option, index) in options"
|
|
66
51
|
:key="index"
|
|
67
52
|
v-bind="args"
|
|
68
53
|
v-model="args.modelValue"
|
|
69
|
-
:
|
|
54
|
+
:[args.enum]="option"
|
|
70
55
|
/>
|
|
71
56
|
</URow>
|
|
72
57
|
`,
|
|
@@ -75,8 +60,8 @@ const SizesTemplate = (args, { argTypes } = {}) => ({
|
|
|
75
60
|
export const Default = DefaultTemplate.bind({});
|
|
76
61
|
Default.args = {};
|
|
77
62
|
|
|
78
|
-
export const sizes =
|
|
79
|
-
sizes.args = {};
|
|
63
|
+
export const sizes = EnumVariantTemplate.bind({});
|
|
64
|
+
sizes.args = { enum: "size" };
|
|
80
65
|
|
|
81
66
|
export const starAmount = DefaultTemplate.bind({});
|
|
82
67
|
starAmount.args = { value: 4, stars: 7 };
|
|
@@ -96,7 +81,7 @@ withCounter.args = { counter: true };
|
|
|
96
81
|
export const withTotal = DefaultTemplate.bind({});
|
|
97
82
|
withTotal.args = { total: 250 };
|
|
98
83
|
|
|
99
|
-
export const slotCounter =
|
|
84
|
+
export const slotCounter = DefaultTemplate.bind({});
|
|
100
85
|
slotCounter.args = {
|
|
101
86
|
slotTemplate: `
|
|
102
87
|
<template #counter="{counter}">
|
|
@@ -105,7 +90,7 @@ slotCounter.args = {
|
|
|
105
90
|
`,
|
|
106
91
|
};
|
|
107
92
|
|
|
108
|
-
export const slotTotal =
|
|
93
|
+
export const slotTotal = DefaultTemplate.bind({});
|
|
109
94
|
slotTotal.args = {
|
|
110
95
|
total: 250,
|
|
111
96
|
slotTemplate: `
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getArgTypes, getSlotNames,
|
|
1
|
+
import { getArgTypes, getSlotNames, getSlotsFragment } from "../service.storybook";
|
|
2
2
|
|
|
3
3
|
import UInputSearch from "../ui.form-input-search";
|
|
4
4
|
import UButton from "../ui.button";
|
|
@@ -17,51 +17,34 @@ export default {
|
|
|
17
17
|
};
|
|
18
18
|
|
|
19
19
|
const DefaultTemplate = (args) => ({
|
|
20
|
-
components: { UInputSearch },
|
|
20
|
+
components: { UInputSearch, UButton },
|
|
21
21
|
setup() {
|
|
22
22
|
const slots = getSlotNames(UInputSearch.name);
|
|
23
23
|
|
|
24
|
-
return {
|
|
25
|
-
args,
|
|
26
|
-
slots,
|
|
27
|
-
};
|
|
28
|
-
},
|
|
29
|
-
template: `
|
|
30
|
-
<UInputSearch v-bind="args" v-model="args.modelValue">
|
|
31
|
-
${allSlotsFragment}
|
|
32
|
-
</UInputSearch>
|
|
33
|
-
`,
|
|
34
|
-
});
|
|
35
|
-
|
|
36
|
-
const SlotTemplate = (args) => ({
|
|
37
|
-
components: { UInputSearch, UButton },
|
|
38
|
-
setup() {
|
|
39
|
-
return {
|
|
40
|
-
args,
|
|
41
|
-
};
|
|
24
|
+
return { args, slots };
|
|
42
25
|
},
|
|
43
26
|
template: `
|
|
44
27
|
<UInputSearch v-bind="args" v-model="args.modelValue">
|
|
45
|
-
${args.slotTemplate ||
|
|
28
|
+
${args.slotTemplate || getSlotsFragment()}
|
|
46
29
|
</UInputSearch>
|
|
47
30
|
`,
|
|
48
31
|
});
|
|
49
32
|
|
|
50
|
-
const
|
|
33
|
+
const EnumVariantTemplate = (args, { argTypes } = {}) => ({
|
|
51
34
|
components: { UInputSearch, URow },
|
|
52
35
|
setup() {
|
|
53
36
|
return {
|
|
54
37
|
args,
|
|
55
|
-
|
|
38
|
+
options: argTypes[args.enum].options,
|
|
56
39
|
};
|
|
57
40
|
},
|
|
58
41
|
template: `
|
|
59
42
|
<URow>
|
|
60
43
|
<UInputSearch
|
|
61
|
-
v-for="(
|
|
44
|
+
v-for="(option, index) in options"
|
|
62
45
|
v-bind="args"
|
|
63
46
|
v-model="args.modelValue"
|
|
64
|
-
:
|
|
47
|
+
:[args.enum]="option"
|
|
65
48
|
:key="index"
|
|
66
49
|
>
|
|
67
50
|
</UInputSearch>
|
|
@@ -75,15 +58,15 @@ Default.args = {};
|
|
|
75
58
|
export const searchButton = DefaultTemplate.bind({});
|
|
76
59
|
searchButton.args = { searchButtonLabel: "Search" };
|
|
77
60
|
|
|
78
|
-
export const sizes =
|
|
79
|
-
sizes.args = {};
|
|
61
|
+
export const sizes = EnumVariantTemplate.bind({});
|
|
62
|
+
sizes.args = { enum: "size" };
|
|
80
63
|
|
|
81
|
-
export const slotLeft =
|
|
64
|
+
export const slotLeft = DefaultTemplate.bind({});
|
|
82
65
|
slotLeft.args = {
|
|
83
66
|
slotTemplate: `
|
|
84
67
|
<template #left>
|
|
85
68
|
<UButton
|
|
86
|
-
label="
|
|
69
|
+
label="Filter"
|
|
87
70
|
variant="thirdary"
|
|
88
71
|
filled
|
|
89
72
|
no-ring
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { getArgTypes, getSlotNames,
|
|
1
|
+
import { getArgTypes, getSlotNames, getSlotsFragment } from "../service.storybook";
|
|
2
2
|
|
|
3
3
|
import UTextarea from "../ui.form-textarea";
|
|
4
4
|
import UIcon from "../ui.image-icon";
|
|
5
|
-
import URow from "../ui.container-row";
|
|
6
5
|
import UCol from "../ui.container-col";
|
|
7
6
|
|
|
8
7
|
/**
|
|
@@ -22,7 +21,7 @@ export default {
|
|
|
22
21
|
};
|
|
23
22
|
|
|
24
23
|
const DefaultTemplate = (args) => ({
|
|
25
|
-
components: { UTextarea },
|
|
24
|
+
components: { UTextarea, UIcon },
|
|
26
25
|
setup() {
|
|
27
26
|
const slots = getSlotNames(UTextarea.name);
|
|
28
27
|
|
|
@@ -32,65 +31,28 @@ const DefaultTemplate = (args) => ({
|
|
|
32
31
|
<UTextarea
|
|
33
32
|
v-bind="args"
|
|
34
33
|
>
|
|
35
|
-
${
|
|
34
|
+
${args.slotTemplate || getSlotsFragment()}
|
|
36
35
|
</UTextarea>
|
|
37
36
|
`,
|
|
38
37
|
});
|
|
39
38
|
|
|
40
|
-
const
|
|
41
|
-
components: { UTextarea,
|
|
42
|
-
setup() {
|
|
43
|
-
return { args };
|
|
44
|
-
},
|
|
45
|
-
template: `
|
|
46
|
-
<UTextarea
|
|
47
|
-
v-bind="args"
|
|
48
|
-
>
|
|
49
|
-
${args.slotTemplate}
|
|
50
|
-
</UTextarea>
|
|
51
|
-
`,
|
|
52
|
-
});
|
|
53
|
-
|
|
54
|
-
const SizesTemplate = (args, { argTypes } = {}) => ({
|
|
55
|
-
components: { UTextarea, URow },
|
|
39
|
+
const EnumVariantTemplate = (args, { argTypes } = {}) => ({
|
|
40
|
+
components: { UTextarea, UCol },
|
|
56
41
|
setup() {
|
|
57
42
|
return {
|
|
58
43
|
args,
|
|
59
|
-
|
|
44
|
+
options: argTypes[args.enum].options,
|
|
60
45
|
};
|
|
61
46
|
},
|
|
62
47
|
template: `
|
|
63
|
-
<
|
|
64
|
-
<div class="w-1/3" v-for="(
|
|
48
|
+
<UCol>
|
|
49
|
+
<div class="w-1/3" v-for="(option, index) in options" :key="index">
|
|
65
50
|
<UTextarea
|
|
66
51
|
v-bind="args"
|
|
67
|
-
:
|
|
52
|
+
:[args.enum]="option"
|
|
53
|
+
:label="option"
|
|
68
54
|
/>
|
|
69
55
|
</div>
|
|
70
|
-
</URow>
|
|
71
|
-
`,
|
|
72
|
-
});
|
|
73
|
-
|
|
74
|
-
const LabelPlacementTemplate = (args) => ({
|
|
75
|
-
components: { UTextarea, UCol },
|
|
76
|
-
setup() {
|
|
77
|
-
return {
|
|
78
|
-
args,
|
|
79
|
-
};
|
|
80
|
-
},
|
|
81
|
-
template: `
|
|
82
|
-
<UCol gap="xl">
|
|
83
|
-
<UTextarea
|
|
84
|
-
v-bind="args"
|
|
85
|
-
label-align="top"
|
|
86
|
-
label="top"
|
|
87
|
-
/>
|
|
88
|
-
|
|
89
|
-
<UTextarea
|
|
90
|
-
v-bind="args"
|
|
91
|
-
label-align="topInside"
|
|
92
|
-
label="topInside"
|
|
93
|
-
/>
|
|
94
56
|
</UCol>
|
|
95
57
|
`,
|
|
96
58
|
});
|
|
@@ -98,8 +60,8 @@ const LabelPlacementTemplate = (args) => ({
|
|
|
98
60
|
export const Default = DefaultTemplate.bind({});
|
|
99
61
|
Default.args = {};
|
|
100
62
|
|
|
101
|
-
export const labelPlacement =
|
|
102
|
-
labelPlacement.args = {};
|
|
63
|
+
export const labelPlacement = EnumVariantTemplate.bind({});
|
|
64
|
+
labelPlacement.args = { enum: "labelAlign" };
|
|
103
65
|
|
|
104
66
|
export const placeholder = DefaultTemplate.bind({});
|
|
105
67
|
placeholder.args = { placeholder: "some placeholder text" };
|
|
@@ -122,10 +84,10 @@ readonly.args = { readonly: true, value: "some value for read" };
|
|
|
122
84
|
export const noAutocomplete = DefaultTemplate.bind({});
|
|
123
85
|
noAutocomplete.args = { noAutocomplete: true };
|
|
124
86
|
|
|
125
|
-
export const sizes =
|
|
126
|
-
sizes.args = {};
|
|
87
|
+
export const sizes = EnumVariantTemplate.bind({});
|
|
88
|
+
sizes.args = { enum: "size" };
|
|
127
89
|
|
|
128
|
-
export const slotLeft =
|
|
90
|
+
export const slotLeft = DefaultTemplate.bind({});
|
|
129
91
|
slotLeft.args = {
|
|
130
92
|
slotTemplate: `
|
|
131
93
|
<template #left>
|
|
@@ -137,7 +99,7 @@ slotLeft.args = {
|
|
|
137
99
|
`,
|
|
138
100
|
};
|
|
139
101
|
|
|
140
|
-
export const slotRight =
|
|
102
|
+
export const slotRight = DefaultTemplate.bind({});
|
|
141
103
|
slotRight.args = {
|
|
142
104
|
slotTemplate: `
|
|
143
105
|
<template #right>
|