vueless 0.0.815 → 0.0.816
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
CHANGED
|
@@ -76,14 +76,14 @@ const LoadingTemplate: StoryFn<ULoaderArgs> = (args: ULoaderArgs) => ({
|
|
|
76
76
|
isLoading.value = !isLoading.value;
|
|
77
77
|
}
|
|
78
78
|
|
|
79
|
-
const isLoading = ref(
|
|
79
|
+
const isLoading = ref(true);
|
|
80
80
|
|
|
81
81
|
return { args, isLoading, toggleLoader };
|
|
82
82
|
},
|
|
83
83
|
template: `
|
|
84
84
|
<URow align="center">
|
|
85
|
+
<UButton @click="toggleLoader" size="sm">Toggle Loader</UButton>
|
|
85
86
|
<ULoader v-bind="args" :loading="isLoading" />
|
|
86
|
-
<UButton @click="toggleLoader" size="sm">ToggleLoader</UButton>
|
|
87
87
|
</URow>
|
|
88
88
|
`,
|
|
89
89
|
});
|
|
@@ -99,3 +99,13 @@ Colors.args = { enum: "color" };
|
|
|
99
99
|
|
|
100
100
|
export const Loading = LoadingTemplate.bind({});
|
|
101
101
|
Loading.args = {};
|
|
102
|
+
|
|
103
|
+
export const SlotDefault = DefaultTemplate.bind({});
|
|
104
|
+
SlotDefault.args = {
|
|
105
|
+
size: "lg",
|
|
106
|
+
slotTemplate: `
|
|
107
|
+
<template #default>
|
|
108
|
+
<img src="https://media.tenor.com/9zmtHZ0tIjkAAAAi/nyancat-rainbow-cat.gif" alt="Cat" />
|
|
109
|
+
</template>
|
|
110
|
+
`,
|
|
111
|
+
};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ref, computed } from "vue";
|
|
1
2
|
import {
|
|
2
3
|
getArgTypes,
|
|
3
4
|
getSlotNames,
|
|
@@ -7,7 +8,7 @@ import {
|
|
|
7
8
|
|
|
8
9
|
import ULoaderOverlay from "../ULoaderOverlay.vue";
|
|
9
10
|
import UButton from "../../ui.button/UButton.vue";
|
|
10
|
-
import
|
|
11
|
+
import USelect from "../../ui.form-select/USelect.vue";
|
|
11
12
|
|
|
12
13
|
import { useLoaderOverlay } from "../useLoaderOverlay.ts";
|
|
13
14
|
|
|
@@ -16,6 +17,7 @@ import type { Props } from "../types.ts";
|
|
|
16
17
|
|
|
17
18
|
interface ULoaderOverlayArgs extends Props {
|
|
18
19
|
slotTemplate?: string;
|
|
20
|
+
enum: "color";
|
|
19
21
|
}
|
|
20
22
|
|
|
21
23
|
export default {
|
|
@@ -43,42 +45,95 @@ const DefaultTemplate: StoryFn<ULoaderOverlayArgs> = (args: ULoaderOverlayArgs)
|
|
|
43
45
|
return { args, slots };
|
|
44
46
|
},
|
|
45
47
|
template: `
|
|
46
|
-
<ULoaderOverlay v-bind="args"
|
|
48
|
+
<ULoaderOverlay v-bind="args" :config="{ overlay: 'h-full w-full' }">
|
|
47
49
|
${args.slotTemplate || getSlotsFragment("")}
|
|
48
50
|
</ULoaderOverlay>
|
|
49
51
|
`,
|
|
50
52
|
});
|
|
51
53
|
|
|
54
|
+
const EnumVariantTemplate: StoryFn<ULoaderOverlayArgs> = (
|
|
55
|
+
args: ULoaderOverlayArgs,
|
|
56
|
+
{ argTypes },
|
|
57
|
+
) => ({
|
|
58
|
+
components: { ULoaderOverlay, USelect },
|
|
59
|
+
setup() {
|
|
60
|
+
const selectModel = ref(null);
|
|
61
|
+
const options = computed(() =>
|
|
62
|
+
argTypes?.[args.enum]?.options?.map((label, id) => ({ label, id })),
|
|
63
|
+
);
|
|
64
|
+
const selectedValue = computed(
|
|
65
|
+
() => options.value?.find((option) => option.id === selectModel.value)?.label,
|
|
66
|
+
);
|
|
67
|
+
|
|
68
|
+
return {
|
|
69
|
+
args,
|
|
70
|
+
selectModel,
|
|
71
|
+
selectedValue,
|
|
72
|
+
options,
|
|
73
|
+
};
|
|
74
|
+
},
|
|
75
|
+
template: `
|
|
76
|
+
<USelect
|
|
77
|
+
v-model="selectModel"
|
|
78
|
+
:options="options"
|
|
79
|
+
placeholder="Select loader color..."
|
|
80
|
+
open-direction="bottom"
|
|
81
|
+
class="max-w-60 absolute z-50"
|
|
82
|
+
/>
|
|
83
|
+
|
|
84
|
+
<ULoaderOverlay
|
|
85
|
+
v-bind="args"
|
|
86
|
+
:[args.enum]="selectedValue"
|
|
87
|
+
:config="{ overlay: 'h-full w-full z-10' }"
|
|
88
|
+
/>
|
|
89
|
+
`,
|
|
90
|
+
});
|
|
91
|
+
|
|
52
92
|
const LoadingTemplate: StoryFn<ULoaderOverlayArgs> = (args: ULoaderOverlayArgs) => ({
|
|
53
|
-
components: { ULoaderOverlay, UButton
|
|
93
|
+
components: { ULoaderOverlay, UButton },
|
|
54
94
|
setup() {
|
|
55
95
|
const loaderOverlay = useLoaderOverlay();
|
|
56
96
|
|
|
57
|
-
const loaderOverlayOn = loaderOverlay
|
|
58
|
-
const loaderOverlayOff = loaderOverlay
|
|
59
|
-
const isLoading = loaderOverlay
|
|
97
|
+
const loaderOverlayOn = loaderOverlay.loaderOverlayOn;
|
|
98
|
+
const loaderOverlayOff = loaderOverlay.loaderOverlayOff;
|
|
99
|
+
const isLoading = loaderOverlay.isLoading;
|
|
60
100
|
|
|
61
101
|
function toggleLoading() {
|
|
62
|
-
|
|
63
|
-
loaderOverlayOff();
|
|
64
|
-
} else {
|
|
65
|
-
loaderOverlayOn();
|
|
66
|
-
}
|
|
102
|
+
isLoading.value ? loaderOverlayOff() : loaderOverlayOn();
|
|
67
103
|
}
|
|
68
104
|
|
|
69
|
-
return { args,
|
|
105
|
+
return { args, isLoading, toggleLoading };
|
|
70
106
|
},
|
|
71
107
|
template: `
|
|
72
|
-
<
|
|
73
|
-
|
|
74
|
-
|
|
108
|
+
<UButton
|
|
109
|
+
label="Toggle loading"
|
|
110
|
+
size="sm"
|
|
111
|
+
class="absolute z-50"
|
|
112
|
+
@click="toggleLoading"
|
|
113
|
+
/>
|
|
75
114
|
|
|
76
|
-
<ULoaderOverlay
|
|
115
|
+
<ULoaderOverlay
|
|
116
|
+
v-bind="args"
|
|
117
|
+
:loading="isLoading"
|
|
118
|
+
:config="{ overlay: 'h-full w-full z-10' }"
|
|
119
|
+
/>
|
|
77
120
|
`,
|
|
78
121
|
});
|
|
79
122
|
|
|
80
123
|
export const Default = DefaultTemplate.bind({});
|
|
81
124
|
Default.args = {};
|
|
82
125
|
|
|
83
|
-
export const
|
|
84
|
-
|
|
126
|
+
export const Loading = LoadingTemplate.bind({});
|
|
127
|
+
Loading.args = {};
|
|
128
|
+
|
|
129
|
+
export const Color = EnumVariantTemplate.bind({});
|
|
130
|
+
Color.args = { enum: "color" };
|
|
131
|
+
|
|
132
|
+
export const SlotDefault = DefaultTemplate.bind({});
|
|
133
|
+
SlotDefault.args = {
|
|
134
|
+
slotTemplate: `
|
|
135
|
+
<template #default>
|
|
136
|
+
<img src="https://media.tenor.com/9zmtHZ0tIjkAAAAi/nyancat-rainbow-cat.gif" alt="Cat" />
|
|
137
|
+
</template>
|
|
138
|
+
`,
|
|
139
|
+
};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ref } from "vue";
|
|
1
2
|
import { getArgTypes, getSlotNames, getDocsDescription } from "../../utils/storybook.ts";
|
|
2
3
|
|
|
3
4
|
import ULoaderProgress from "../ULoaderProgress.vue";
|
|
@@ -14,7 +15,7 @@ import type { Props } from "../types.ts";
|
|
|
14
15
|
|
|
15
16
|
interface ULoaderProgressArgs extends Props {
|
|
16
17
|
slotTemplate?: string;
|
|
17
|
-
enum: "color";
|
|
18
|
+
enum: "color" | "size";
|
|
18
19
|
}
|
|
19
20
|
|
|
20
21
|
export default {
|
|
@@ -82,7 +83,7 @@ const EnumVariantTemplate: StoryFn<ULoaderProgressArgs> = (
|
|
|
82
83
|
>
|
|
83
84
|
<UBadge
|
|
84
85
|
:label="option"
|
|
85
|
-
:[args.enum]="option"
|
|
86
|
+
:[args.enum]="args.enum !== 'size' ? option : undefined"
|
|
86
87
|
/>
|
|
87
88
|
<ULoaderProgress
|
|
88
89
|
resources="https://api.publicapis.org/images"
|
|
@@ -96,8 +97,33 @@ const EnumVariantTemplate: StoryFn<ULoaderProgressArgs> = (
|
|
|
96
97
|
`,
|
|
97
98
|
});
|
|
98
99
|
|
|
100
|
+
const LoadingTemplate: StoryFn<ULoaderProgressArgs> = (args: ULoaderProgressArgs) => ({
|
|
101
|
+
components: { ULoaderProgress, UButton, URow },
|
|
102
|
+
setup() {
|
|
103
|
+
function toggleLoader() {
|
|
104
|
+
isLoading.value = !isLoading.value;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
const isLoading = ref(false);
|
|
108
|
+
|
|
109
|
+
return { args, isLoading, toggleLoader };
|
|
110
|
+
},
|
|
111
|
+
template: `
|
|
112
|
+
<URow align="center">
|
|
113
|
+
<UButton @click="toggleLoader" size="sm">Toggle Loader</UButton>
|
|
114
|
+
<ULoaderProgress v-bind="args" :loading="isLoading" />
|
|
115
|
+
</URow>
|
|
116
|
+
`,
|
|
117
|
+
});
|
|
118
|
+
|
|
99
119
|
export const Default = DefaultTemplate.bind({});
|
|
100
120
|
Default.args = {};
|
|
101
121
|
|
|
122
|
+
export const Size = EnumVariantTemplate.bind({});
|
|
123
|
+
Size.args = { enum: "size" };
|
|
124
|
+
|
|
102
125
|
export const Color = EnumVariantTemplate.bind({});
|
|
103
126
|
Color.args = { enum: "color" };
|
|
127
|
+
|
|
128
|
+
export const Loading = LoadingTemplate.bind({});
|
|
129
|
+
Loading.args = {};
|