@resee-movies/nuxt-ux 0.4.0 → 0.5.0
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/dist/module.json +1 -1
- package/dist/module.mjs +20 -3
- package/dist/runtime/components/Button.vue +15 -9
- package/dist/runtime/components/Button.vue.d.ts +2 -12
- package/dist/runtime/components/Card.vue.d.ts +1 -4
- package/dist/runtime/components/Dialog.vue.d.ts +1 -13
- package/dist/runtime/components/Drawer.vue.d.ts +1 -4
- package/dist/runtime/components/Heading.vue.d.ts +1 -4
- package/dist/runtime/components/Icon.vue +27 -15
- package/dist/runtime/components/Icon.vue.d.ts +4 -6
- package/dist/runtime/components/IconTextPair.vue +22 -19
- package/dist/runtime/components/IconTextPair.vue.d.ts +5 -12
- package/dist/runtime/components/Image.vue +1 -1
- package/dist/runtime/components/Image.vue.d.ts +1 -17
- package/dist/runtime/components/LayoutPageColumn.vue.d.ts +1 -4
- package/dist/runtime/components/LayoutPageContainer.vue +12 -2
- package/dist/runtime/components/LayoutPageContainer.vue.d.ts +4 -5
- package/dist/runtime/components/Lorem.vue.d.ts +1 -11
- package/dist/runtime/components/Menu.vue +28 -20
- package/dist/runtime/components/Menu.vue.d.ts +4 -7
- package/dist/runtime/components/Message.vue.d.ts +2 -2
- package/dist/runtime/components/NotificationContainer.vue +10 -3
- package/dist/runtime/components/ProgressBar.vue.d.ts +1 -5
- package/dist/runtime/components/ProgressSpinner.vue.d.ts +1 -3
- package/dist/runtime/components/Tag.vue.d.ts +1 -7
- package/dist/runtime/components/form/Form.vue +52 -0
- package/dist/runtime/components/form/Form.vue.d.ts +27 -0
- package/dist/runtime/components/form/FormField.vue +91 -0
- package/dist/runtime/components/form/FormField.vue.d.ts +37 -0
- package/dist/runtime/components/form/FormFieldCheckbox.vue +51 -0
- package/dist/runtime/components/form/FormFieldCheckbox.vue.d.ts +17 -0
- package/dist/runtime/components/form/FormFieldSelect.vue +76 -0
- package/dist/runtime/components/form/FormFieldSelect.vue.d.ts +26 -0
- package/dist/runtime/components/form/FormFieldText.vue +56 -0
- package/dist/runtime/components/form/FormFieldText.vue.d.ts +16 -0
- package/dist/runtime/components/form/FormFieldToggleSwitch.vue +47 -0
- package/dist/runtime/components/form/FormFieldToggleSwitch.vue.d.ts +15 -0
- package/dist/runtime/components/form/FormLabelInputPair.vue +42 -0
- package/dist/runtime/components/form/FormLabelInputPair.vue.d.ts +22 -0
- package/dist/runtime/components/form/FormSubmitButton.vue +39 -0
- package/dist/runtime/components/form/FormSubmitButton.vue.d.ts +6 -0
- package/dist/runtime/components/form/FormValidationMessage.vue +24 -0
- package/dist/runtime/components/form/FormValidationMessage.vue.d.ts +15 -0
- package/dist/runtime/components/form/element/FormElementSelectOptions.vue +250 -0
- package/dist/runtime/components/form/element/FormElementSelectOptions.vue.d.ts +13 -0
- package/dist/runtime/composables/use-load-image.js +1 -0
- package/dist/runtime/composables/use-notification.d.ts +18 -11
- package/dist/runtime/composables/use-notification.js +27 -27
- package/dist/runtime/composables/use-resee-ux.d.ts +24 -0
- package/dist/runtime/composables/use-resee-ux.js +22 -0
- package/dist/runtime/constants.d.ts +3 -0
- package/dist/runtime/constants.js +3 -0
- package/dist/runtime/server/plugins/teleport-targets.d.ts +3 -0
- package/dist/runtime/server/plugins/teleport-targets.js +6 -0
- package/dist/runtime/theme/css/brand/form.css +1 -0
- package/dist/runtime/theme/css/brand/menu.css +1 -0
- package/dist/runtime/theme/css/brand/mobile.css +1 -0
- package/dist/runtime/theme/css/brand/transition.css +1 -1
- package/dist/runtime/theme/css/brand/utilities.css +1 -1
- package/dist/runtime/theme/css/styles.css +1 -1
- package/dist/runtime/types/form.d.ts +23 -0
- package/dist/runtime/types/form.js +0 -0
- package/dist/runtime/utils/dom.d.ts +9 -0
- package/dist/runtime/utils/dom.js +25 -0
- package/dist/runtime/utils/form.d.ts +34 -0
- package/dist/runtime/utils/form.js +34 -0
- package/dist/runtime/utils/string.d.ts +6 -0
- package/dist/runtime/utils/string.js +3 -0
- package/dist/runtime/utils/validation.d.ts +21 -0
- package/dist/runtime/utils/validation.js +56 -0
- package/package.json +26 -24
package/dist/module.json
CHANGED
package/dist/module.mjs
CHANGED
|
@@ -122,17 +122,31 @@ function importModules(nuxt) {
|
|
|
122
122
|
const componentPrefix = primeOptions?.componentPrefix ?? "Prime";
|
|
123
123
|
const primeComponents = Array.from(
|
|
124
124
|
/* @__PURE__ */ new Set([
|
|
125
|
+
"Checkbox",
|
|
125
126
|
"Dialog",
|
|
126
127
|
"Drawer",
|
|
128
|
+
"Form",
|
|
129
|
+
"FormField",
|
|
130
|
+
"InputText",
|
|
127
131
|
"Message",
|
|
128
132
|
"Menu",
|
|
133
|
+
"MultiSelect",
|
|
129
134
|
"ProgressBar",
|
|
130
135
|
"ProgressSpinner",
|
|
136
|
+
"Select",
|
|
131
137
|
"Tag",
|
|
132
138
|
"Toast",
|
|
139
|
+
"ToggleSwitch",
|
|
133
140
|
...primeOptions?.includeComponents ?? []
|
|
134
141
|
])
|
|
135
142
|
);
|
|
143
|
+
nuxt.options.vite.optimizeDeps ??= {};
|
|
144
|
+
nuxt.options.vite.optimizeDeps.include ??= [];
|
|
145
|
+
nuxt.options.vite.optimizeDeps.include.push(
|
|
146
|
+
"primevue/usetoast",
|
|
147
|
+
"primevue/toasteventbus",
|
|
148
|
+
"primevue/toastservice"
|
|
149
|
+
);
|
|
136
150
|
const Primevue = {
|
|
137
151
|
defaults: {
|
|
138
152
|
autoImport: false,
|
|
@@ -195,7 +209,7 @@ async function importTailwind(nuxt = useNuxt()) {
|
|
|
195
209
|
}
|
|
196
210
|
}
|
|
197
211
|
|
|
198
|
-
const module = defineNuxtModule({
|
|
212
|
+
const module$1 = defineNuxtModule({
|
|
199
213
|
defaults: {
|
|
200
214
|
componentPrefix: "Ui"
|
|
201
215
|
},
|
|
@@ -214,7 +228,10 @@ const module = defineNuxtModule({
|
|
|
214
228
|
const sources = options.tailwind?.sources?.slice() ?? [];
|
|
215
229
|
const plugins = options.tailwind?.plugins?.slice() ?? [];
|
|
216
230
|
const imports = options.tailwind?.plugins?.slice() ?? [];
|
|
217
|
-
|
|
231
|
+
const constants = await resolver.resolvePath("./runtime/constants", {
|
|
232
|
+
extensions: ["ts", "js"]
|
|
233
|
+
});
|
|
234
|
+
sources.push(components, constants);
|
|
218
235
|
plugins.push(await resolvePath("@egoist/tailwindcss-icons"));
|
|
219
236
|
imports.push(stylesheet);
|
|
220
237
|
addComponentsDir({ path: components, prefix: options.componentPrefix });
|
|
@@ -245,4 +262,4 @@ const module = defineNuxtModule({
|
|
|
245
262
|
}
|
|
246
263
|
});
|
|
247
264
|
|
|
248
|
-
export { module as default };
|
|
265
|
+
export { module$1 as default };
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
:is = "props.is"
|
|
4
4
|
:aria-label = "shrink ? props.text : void 0"
|
|
5
5
|
:disabled = "props.disabled"
|
|
6
|
+
:type = "props.type"
|
|
6
7
|
:class = "[
|
|
7
8
|
props.severity === 'unset' ? void 0 : props.variant,
|
|
8
9
|
{
|
|
@@ -20,13 +21,15 @@
|
|
|
20
21
|
@click = "handleButtonClick"
|
|
21
22
|
>
|
|
22
23
|
<IconTextPair
|
|
23
|
-
:text
|
|
24
|
-
:icon
|
|
25
|
-
:icon-size
|
|
26
|
-
:trailing-icon
|
|
27
|
-
:
|
|
28
|
-
:
|
|
29
|
-
:
|
|
24
|
+
:text = "props.text"
|
|
25
|
+
:icon = "props.icon"
|
|
26
|
+
:icon-size = "props.iconSize ?? props.size"
|
|
27
|
+
:trailing-icon = "props.trailingIcon"
|
|
28
|
+
:spacing = "props.spacing ?? (iconOnly ? 'none' : 'wide')"
|
|
29
|
+
:loading = "showLoading"
|
|
30
|
+
:icon-transition-name = "props.iconTransitionName"
|
|
31
|
+
:icon-transition-mode = "props.iconTransitionMode"
|
|
32
|
+
:icon-transition-on-appear = "props.iconTransitionOnAppear"
|
|
30
33
|
>
|
|
31
34
|
<slot />
|
|
32
35
|
</IconTextPair>
|
|
@@ -55,13 +58,16 @@ const props = defineProps({
|
|
|
55
58
|
tooltip: { type: String, required: false, default: void 0 },
|
|
56
59
|
disabledTooltip: { type: String, required: false, default: void 0 },
|
|
57
60
|
onClick: { type: [Function, Array], required: false },
|
|
61
|
+
type: { type: String, required: false, default: "button" },
|
|
58
62
|
text: { type: String, required: false },
|
|
59
63
|
icon: { type: String, required: false },
|
|
60
64
|
trailingIcon: { type: String, required: false },
|
|
61
65
|
iconSize: { type: String, required: false },
|
|
62
66
|
trailingIconSize: { type: String, required: false },
|
|
63
|
-
|
|
64
|
-
|
|
67
|
+
spacing: { type: String, required: false },
|
|
68
|
+
iconTransitionName: { type: String, required: false },
|
|
69
|
+
iconTransitionMode: { type: String, required: false },
|
|
70
|
+
iconTransitionOnAppear: { type: Boolean, required: false }
|
|
65
71
|
});
|
|
66
72
|
const slots = useSlots();
|
|
67
73
|
const shrink = computed(
|
|
@@ -25,23 +25,13 @@ export interface ButtonProps extends IconTextPairProps {
|
|
|
25
25
|
tooltip?: string;
|
|
26
26
|
disabledTooltip?: string;
|
|
27
27
|
onClick?: ((evt: Event) => void | Promise<void>) | ((evt: Event) => void | Promise<void>)[];
|
|
28
|
+
type?: 'button' | 'submit' | 'reset';
|
|
28
29
|
}
|
|
29
30
|
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<ButtonProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
30
31
|
click: (evt: Event) => any;
|
|
31
32
|
}, string, import("vue").PublicProps, Readonly<ButtonProps> & Readonly<{
|
|
32
33
|
onClick?: ((evt: Event) => any) | undefined;
|
|
33
|
-
}>, {
|
|
34
|
-
size: "sm" | "lg";
|
|
35
|
-
loading: boolean;
|
|
36
|
-
is: string | Component;
|
|
37
|
-
severity: StyleStatusLevel | "unset";
|
|
38
|
-
bordered: boolean;
|
|
39
|
-
responsive: boolean | "grow" | "shrink";
|
|
40
|
-
variant: "btn" | "a";
|
|
41
|
-
disabled: boolean;
|
|
42
|
-
tooltip: string;
|
|
43
|
-
disabledTooltip: string;
|
|
44
|
-
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
|
|
34
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
|
|
45
35
|
default?: (props: {}) => any;
|
|
46
36
|
}>;
|
|
47
37
|
declare const _default: typeof __VLS_export;
|
|
@@ -2,10 +2,7 @@ export interface CardProps {
|
|
|
2
2
|
is?: string;
|
|
3
3
|
interactive?: boolean;
|
|
4
4
|
}
|
|
5
|
-
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<CardProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<CardProps> & Readonly<{}>, {
|
|
6
|
-
is: string;
|
|
7
|
-
interactive: boolean;
|
|
8
|
-
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
|
|
5
|
+
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<CardProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<CardProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
|
|
9
6
|
default?: (props: {}) => any;
|
|
10
7
|
} & {
|
|
11
8
|
image?: (props: {}) => any;
|
|
@@ -9,19 +9,7 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<Dialog
|
|
|
9
9
|
"update:visible": (visible: boolean) => any;
|
|
10
10
|
}, string, import("vue").PublicProps, Readonly<DialogProps> & Readonly<{
|
|
11
11
|
"onUpdate:visible"?: ((visible: boolean) => any) | undefined;
|
|
12
|
-
}>, {
|
|
13
|
-
size: "xxs" | "xs" | "sm" | "md" | "lg";
|
|
14
|
-
showHeaderText: boolean;
|
|
15
|
-
showHeaderStyle: boolean;
|
|
16
|
-
showModalStyle: boolean;
|
|
17
|
-
modal: boolean;
|
|
18
|
-
contentClass: any;
|
|
19
|
-
closable: boolean;
|
|
20
|
-
dismissableMask: boolean;
|
|
21
|
-
showHeader: boolean;
|
|
22
|
-
position: import("@primevue/core").HintedString<"top" | "center" | "bottom" | "left" | "right" | "topleft" | "topright" | "bottomleft" | "bottomright">;
|
|
23
|
-
draggable: boolean;
|
|
24
|
-
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
|
|
12
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
|
|
25
13
|
title?: (props: {}) => any;
|
|
26
14
|
} & {
|
|
27
15
|
default?: (props: {}) => any;
|
|
@@ -6,10 +6,7 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<Drawer
|
|
|
6
6
|
"update:visible": (visible: boolean) => any;
|
|
7
7
|
}, string, import("vue").PublicProps, Readonly<DrawerProps> & Readonly<{
|
|
8
8
|
"onUpdate:visible"?: ((visible: boolean) => any) | undefined;
|
|
9
|
-
}>, {
|
|
10
|
-
showHeaderText: boolean;
|
|
11
|
-
blockScroll: boolean;
|
|
12
|
-
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
|
|
9
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
|
|
13
10
|
title?: (props: {}) => any;
|
|
14
11
|
} & {
|
|
15
12
|
default?: (props: {}) => any;
|
|
@@ -2,10 +2,7 @@ export interface HeadingProps {
|
|
|
2
2
|
text?: string | null;
|
|
3
3
|
level?: '1' | '2' | '3' | '4' | '5' | '6' | 1 | 2 | 3 | 4 | 5 | 6;
|
|
4
4
|
}
|
|
5
|
-
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<HeadingProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<HeadingProps> & Readonly<{}>, {
|
|
6
|
-
text: string | null;
|
|
7
|
-
level: "1" | "2" | "3" | "4" | "5" | "6" | 1 | 2 | 3 | 4 | 5 | 6;
|
|
8
|
-
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
|
|
5
|
+
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<HeadingProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<HeadingProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
|
|
9
6
|
default?: (props: {}) => any;
|
|
10
7
|
}>;
|
|
11
8
|
declare const _default: typeof __VLS_export;
|
|
@@ -1,17 +1,25 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<Transition
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
<Transition
|
|
3
|
+
:name = "props.transitionName"
|
|
4
|
+
:mode = "props.transitionMode"
|
|
5
|
+
:appear = "props.transitionOnAppear"
|
|
6
|
+
>
|
|
7
|
+
<span
|
|
8
|
+
v-if = "props.loading"
|
|
9
|
+
v-bind = "$attrs"
|
|
10
|
+
class = "icon"
|
|
11
|
+
>
|
|
12
|
+
<ProgressSpinner :size="props.size" />
|
|
13
|
+
</span>
|
|
8
14
|
|
|
9
15
|
<span
|
|
10
|
-
v-else
|
|
11
|
-
v-bind
|
|
12
|
-
role
|
|
13
|
-
:class
|
|
14
|
-
|
|
16
|
+
v-else-if = "props.name"
|
|
17
|
+
v-bind = "$attrs"
|
|
18
|
+
role = "presentation"
|
|
19
|
+
:class = "['icon', props.size]"
|
|
20
|
+
>
|
|
21
|
+
<span :class="[props.name, { 'color-cycle': props.colorCycle }]" />
|
|
22
|
+
</span>
|
|
15
23
|
</Transition>
|
|
16
24
|
</template>
|
|
17
25
|
|
|
@@ -20,14 +28,18 @@
|
|
|
20
28
|
</script>
|
|
21
29
|
|
|
22
30
|
<script setup>
|
|
23
|
-
import { useAttrs } from "vue";
|
|
24
31
|
import ProgressSpinner from "./ProgressSpinner.vue";
|
|
25
|
-
|
|
32
|
+
defineOptions({
|
|
33
|
+
inheritAttrs: false
|
|
34
|
+
});
|
|
26
35
|
const props = defineProps({
|
|
27
36
|
name: { type: String, required: false, default: void 0 },
|
|
28
37
|
loading: { type: Boolean, required: false, default: false },
|
|
29
|
-
size: { type: String, required: false, default:
|
|
30
|
-
colorCycle: { type: Boolean, required: false, default: false }
|
|
38
|
+
size: { type: String, required: false, default: void 0 },
|
|
39
|
+
colorCycle: { type: Boolean, required: false, default: false },
|
|
40
|
+
transitionName: { type: String, required: false, default: "fade" },
|
|
41
|
+
transitionMode: { type: String, required: false, default: "out-in" },
|
|
42
|
+
transitionOnAppear: { type: Boolean, required: false, default: false }
|
|
31
43
|
});
|
|
32
44
|
</script>
|
|
33
45
|
|
|
@@ -3,12 +3,10 @@ export interface IconProps {
|
|
|
3
3
|
loading?: boolean;
|
|
4
4
|
size?: 'sm' | 'md' | 'lg' | 'xl';
|
|
5
5
|
colorCycle?: boolean;
|
|
6
|
+
transitionName?: string;
|
|
7
|
+
transitionMode?: 'out-in' | 'in-out';
|
|
8
|
+
transitionOnAppear?: boolean;
|
|
6
9
|
}
|
|
7
|
-
declare const __VLS_export: import("vue").DefineComponent<IconProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<IconProps> & Readonly<{}>, {
|
|
8
|
-
size: "sm" | "md" | "lg" | "xl";
|
|
9
|
-
name: string;
|
|
10
|
-
loading: boolean;
|
|
11
|
-
colorCycle: boolean;
|
|
12
|
-
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
10
|
+
declare const __VLS_export: import("vue").DefineComponent<IconProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<IconProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
13
11
|
declare const _default: typeof __VLS_export;
|
|
14
12
|
export default _default;
|
|
@@ -1,16 +1,13 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<span
|
|
3
|
-
:class="[
|
|
4
|
-
'pair',
|
|
5
|
-
props.layout ? `layout-${props.layout}` : void 0,
|
|
6
|
-
props.spacing ? `spacing-${props.spacing}` : void 0
|
|
7
|
-
]"
|
|
8
|
-
>
|
|
2
|
+
<span :class="['pair', props.spacing ? `spacing-${props.spacing}` : void 0]">
|
|
9
3
|
<Icon
|
|
10
|
-
|
|
11
|
-
:name
|
|
12
|
-
:size
|
|
13
|
-
:loading
|
|
4
|
+
class = "leading-icon"
|
|
5
|
+
:name = "props.icon"
|
|
6
|
+
:size = "props.iconSize"
|
|
7
|
+
:loading = "props.loading"
|
|
8
|
+
:transition-name = "props.iconTransitionName"
|
|
9
|
+
:transition-mode = "props.iconTransitionMode"
|
|
10
|
+
:transition-on-appear = "props.iconTransitionOnAppear"
|
|
14
11
|
/>
|
|
15
12
|
|
|
16
13
|
<span v-if="props.text || slots.default" class="label">
|
|
@@ -20,9 +17,13 @@
|
|
|
20
17
|
</span>
|
|
21
18
|
|
|
22
19
|
<Icon
|
|
23
|
-
v-if
|
|
24
|
-
|
|
25
|
-
:
|
|
20
|
+
v-if = "props.trailingIcon"
|
|
21
|
+
class = "trailing-icon"
|
|
22
|
+
:name = "props.trailingIcon"
|
|
23
|
+
:size = "props.iconSize"
|
|
24
|
+
:transition-name = "props.iconTransitionName"
|
|
25
|
+
:transition-mode = "props.iconTransitionMode"
|
|
26
|
+
:transition-on-appear = "props.iconTransitionOnAppear"
|
|
26
27
|
/>
|
|
27
28
|
</span>
|
|
28
29
|
</template>
|
|
@@ -37,15 +38,17 @@ const props = defineProps({
|
|
|
37
38
|
text: { type: String, required: false, default: void 0 },
|
|
38
39
|
icon: { type: String, required: false, default: void 0 },
|
|
39
40
|
trailingIcon: { type: String, required: false, default: void 0 },
|
|
40
|
-
iconSize: { type: String, required: false, default:
|
|
41
|
-
trailingIconSize: { type: String, required: false, default:
|
|
42
|
-
layout: { type: String, required: false, default: void 0 },
|
|
41
|
+
iconSize: { type: String, required: false, default: void 0 },
|
|
42
|
+
trailingIconSize: { type: String, required: false, default: void 0 },
|
|
43
43
|
spacing: { type: String, required: false, default: void 0 },
|
|
44
|
-
loading: { type: Boolean, required: false, default: false }
|
|
44
|
+
loading: { type: Boolean, required: false, default: false },
|
|
45
|
+
iconTransitionName: { type: String, required: false, default: void 0 },
|
|
46
|
+
iconTransitionMode: { type: String, required: false, default: void 0 },
|
|
47
|
+
iconTransitionOnAppear: { type: Boolean, required: false, default: false }
|
|
45
48
|
});
|
|
46
49
|
const slots = useSlots();
|
|
47
50
|
</script>
|
|
48
51
|
|
|
49
52
|
<style scoped>
|
|
50
|
-
@reference "tailwindcss";.pair{align-items:baseline;display:inline-
|
|
53
|
+
@reference "tailwindcss";.pair{--element-spacing:--spacing(1);align-items:baseline;display:inline}.pair.spacing-none{--element-spacing:0}.pair.spacing-wide{--element-spacing:--spacing(2)}.pair :deep(.leading-icon)>*{margin-inline-end:var(--element-spacing)}.pair :deep(.trailing-icon)>*{margin-inline-start:var(--element-spacing)}@variant max-md{.pair:is(.responsive-shrink .pair) :deep(.leading-icon)>*{margin-inline-end:0}.pair:is(.responsive-shrink .pair) :deep(.trailing-icon)>*{margin-inline-start:0}}
|
|
51
54
|
</style>
|
|
@@ -5,20 +5,13 @@ export interface IconTextPairProps {
|
|
|
5
5
|
trailingIcon?: string;
|
|
6
6
|
iconSize?: IconProps['size'];
|
|
7
7
|
trailingIconSize?: IconProps['size'];
|
|
8
|
-
|
|
9
|
-
spacing?: 'wide' | 'normal';
|
|
8
|
+
spacing?: 'wide' | 'normal' | 'none';
|
|
10
9
|
loading?: boolean;
|
|
10
|
+
iconTransitionName?: IconProps['transitionName'];
|
|
11
|
+
iconTransitionMode?: IconProps['transitionMode'];
|
|
12
|
+
iconTransitionOnAppear?: IconProps['transitionOnAppear'];
|
|
11
13
|
}
|
|
12
|
-
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<IconTextPairProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<IconTextPairProps> & Readonly<{}>, {
|
|
13
|
-
loading: boolean;
|
|
14
|
-
icon: string;
|
|
15
|
-
text: string;
|
|
16
|
-
trailingIcon: string;
|
|
17
|
-
iconSize: "sm" | "md" | "lg" | "xl";
|
|
18
|
-
trailingIconSize: "sm" | "md" | "lg" | "xl";
|
|
19
|
-
layout: "column" | "row";
|
|
20
|
-
spacing: "wide" | "normal";
|
|
21
|
-
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
|
|
14
|
+
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<IconTextPairProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<IconTextPairProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
|
|
22
15
|
default?: (props: {}) => any;
|
|
23
16
|
}>;
|
|
24
17
|
declare const _default: typeof __VLS_export;
|
|
@@ -145,5 +145,5 @@ const altText = computed(() => {
|
|
|
145
145
|
</script>
|
|
146
146
|
|
|
147
147
|
<style scoped>
|
|
148
|
-
@reference "tailwindcss";.image{background-color:#fff;
|
|
148
|
+
@reference "tailwindcss";.image{background-color:#fff;max-width:-moz-fit-content;max-width:fit-content;overflow:clip;position:relative;width:100%;@variant dark{background-color:#000}}.image.bordered{border:2px solid var(--color-global-background-accent)}.image.beveled{border-bottom-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl)}.image.raised{box-shadow:var(--shadow-heavy)}.image.glass:after{background-image:linear-gradient(110deg,transparent 25%,hsla(0,0%,100%,.15) 80%,transparent);content:var(--zero-width-space);inset:0;position:absolute}.image .icon{color:var(--color-global-background-accent);left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%)}
|
|
149
149
|
</style>
|
|
@@ -38,22 +38,6 @@ export declare const ObjectFitClassNames: {
|
|
|
38
38
|
readonly contain: "object-contain";
|
|
39
39
|
readonly inside: "object-contain";
|
|
40
40
|
};
|
|
41
|
-
declare const __VLS_export: import("vue").DefineComponent<ImageProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ImageProps> & Readonly<{}>, {
|
|
42
|
-
type: LoadImageType;
|
|
43
|
-
loading: "lazy" | "eager";
|
|
44
|
-
iconSize: "sm" | "md" | "lg" | "xl";
|
|
45
|
-
bordered: boolean;
|
|
46
|
-
showLoading: boolean;
|
|
47
|
-
fit: "cover" | "contain" | "inside" | "outside";
|
|
48
|
-
width: TmdbImageSize | string | number;
|
|
49
|
-
height: string | number;
|
|
50
|
-
alt: string | null | ((error: unknown) => string);
|
|
51
|
-
aspect: AspectRatio | "auto";
|
|
52
|
-
defaultIcon: string;
|
|
53
|
-
glassy: boolean;
|
|
54
|
-
beveled: boolean;
|
|
55
|
-
raised: boolean;
|
|
56
|
-
overlayClasses: string | HTMLElementClassNames[] | Record<string, boolean> | null;
|
|
57
|
-
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
41
|
+
declare const __VLS_export: import("vue").DefineComponent<ImageProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ImageProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
58
42
|
declare const _default: typeof __VLS_export;
|
|
59
43
|
export default _default;
|
|
@@ -2,10 +2,7 @@ export interface LayoutPageColumn {
|
|
|
2
2
|
is?: string;
|
|
3
3
|
layout?: 'main' | 'vista';
|
|
4
4
|
}
|
|
5
|
-
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<LayoutPageColumn, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<LayoutPageColumn> & Readonly<{}>, {
|
|
6
|
-
layout: "main" | "vista";
|
|
7
|
-
is: string;
|
|
8
|
-
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
|
|
5
|
+
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<LayoutPageColumn, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<LayoutPageColumn> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
|
|
9
6
|
default?: (props: {}) => any;
|
|
10
7
|
}>;
|
|
11
8
|
declare const _default: typeof __VLS_export;
|
|
@@ -3,7 +3,13 @@
|
|
|
3
3
|
:is = "props.is"
|
|
4
4
|
:class = "['page-container', props.glassEffect ? 'glass-effect' : void 0]"
|
|
5
5
|
>
|
|
6
|
-
<
|
|
6
|
+
<div v-if="props.headingText || slots.heading" class="mb-6">
|
|
7
|
+
<slot name="heading">
|
|
8
|
+
<Heading :text="props.headingText" />
|
|
9
|
+
</slot>
|
|
10
|
+
</div>
|
|
11
|
+
|
|
12
|
+
<slot name="default" />
|
|
7
13
|
</Component>
|
|
8
14
|
</template>
|
|
9
15
|
|
|
@@ -12,10 +18,14 @@
|
|
|
12
18
|
</script>
|
|
13
19
|
|
|
14
20
|
<script setup>
|
|
21
|
+
import { useSlots } from "vue";
|
|
22
|
+
import Heading from "./Heading.vue";
|
|
23
|
+
const slots = useSlots();
|
|
15
24
|
const props = defineProps({
|
|
16
25
|
is: { type: String, required: false, default: "div" },
|
|
17
26
|
glassEffect: { type: Boolean, required: false, default: false },
|
|
18
|
-
accentColor: { type: String, required: false, default: void 0 }
|
|
27
|
+
accentColor: { type: String, required: false, default: void 0 },
|
|
28
|
+
headingText: { type: String, required: false, default: void 0 }
|
|
19
29
|
});
|
|
20
30
|
</script>
|
|
21
31
|
|
|
@@ -3,12 +3,11 @@ export interface LayoutPageContainerProps {
|
|
|
3
3
|
is?: HintedString<'div' | 'main' | 'section' | 'article' | 'nav'>;
|
|
4
4
|
glassEffect?: boolean;
|
|
5
5
|
accentColor?: string;
|
|
6
|
+
headingText?: string;
|
|
6
7
|
}
|
|
7
|
-
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<LayoutPageContainerProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<LayoutPageContainerProps> & Readonly<{}>, {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
accentColor: string;
|
|
11
|
-
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
|
|
8
|
+
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<LayoutPageContainerProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<LayoutPageContainerProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
|
|
9
|
+
heading?: (props: {}) => any;
|
|
10
|
+
} & {
|
|
12
11
|
default?: (props: {}) => any;
|
|
13
12
|
}>;
|
|
14
13
|
declare const _default: typeof __VLS_export;
|
|
@@ -9,16 +9,6 @@ export interface LoremProps {
|
|
|
9
9
|
minWordCount?: string | number;
|
|
10
10
|
maxWordCount?: string | number;
|
|
11
11
|
}
|
|
12
|
-
declare const __VLS_export: import("vue").DefineComponent<LoremProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<LoremProps> & Readonly<{}>, {
|
|
13
|
-
type: "words" | "sentences" | "paragraphs";
|
|
14
|
-
min: string | number;
|
|
15
|
-
max: string | number;
|
|
16
|
-
minParagraphCount: string | number;
|
|
17
|
-
maxParagraphCount: string | number;
|
|
18
|
-
minSentenceCount: string | number;
|
|
19
|
-
maxSentenceCount: string | number;
|
|
20
|
-
minWordCount: string | number;
|
|
21
|
-
maxWordCount: string | number;
|
|
22
|
-
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
12
|
+
declare const __VLS_export: import("vue").DefineComponent<LoremProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<LoremProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
23
13
|
declare const _default: typeof __VLS_export;
|
|
24
14
|
export default _default;
|
|
@@ -7,15 +7,14 @@
|
|
|
7
7
|
/>
|
|
8
8
|
|
|
9
9
|
<PrimeMenu
|
|
10
|
-
ref
|
|
11
|
-
v-bind
|
|
12
|
-
:model
|
|
13
|
-
:popup
|
|
14
|
-
:id
|
|
15
|
-
class
|
|
16
|
-
:pt
|
|
17
|
-
|
|
18
|
-
@hide = "visible = false"
|
|
10
|
+
ref = "menu"
|
|
11
|
+
v-bind = "attrs"
|
|
12
|
+
:model = "props.model"
|
|
13
|
+
:popup = "true"
|
|
14
|
+
:id = "menuId"
|
|
15
|
+
class = "menu"
|
|
16
|
+
:pt = "passthroughProps"
|
|
17
|
+
:append-to = "TeleportId"
|
|
19
18
|
>
|
|
20
19
|
<template v-if="slots.prefix || props.prefixText" #start>
|
|
21
20
|
<slot name="prefix">
|
|
@@ -54,9 +53,12 @@
|
|
|
54
53
|
|
|
55
54
|
<script setup>
|
|
56
55
|
import { isString } from "@resee-movies/utilities/strings/is-string";
|
|
56
|
+
import { useBreakpoints, breakpointsTailwind } from "@vueuse/core";
|
|
57
57
|
import PrimeMenu, {} from "primevue/menu";
|
|
58
58
|
import { computed, ref, useAttrs, useId, useSlots } from "vue";
|
|
59
|
+
import { blockBodyScroll } from "../utils/dom";
|
|
59
60
|
import IconTextPair from "./IconTextPair.vue";
|
|
61
|
+
import { TeleportId } from "../constants";
|
|
60
62
|
defineOptions({
|
|
61
63
|
inheritAttrs: false
|
|
62
64
|
});
|
|
@@ -65,6 +67,7 @@ const slots = useSlots();
|
|
|
65
67
|
const menuId = useId();
|
|
66
68
|
const menu = ref();
|
|
67
69
|
const visible = ref(false);
|
|
70
|
+
const isSmall = useBreakpoints(breakpointsTailwind).smallerOrEqual("sm");
|
|
68
71
|
const props = defineProps({
|
|
69
72
|
model: { type: Array, required: true },
|
|
70
73
|
prefixText: { type: String, required: false, default: void 0 },
|
|
@@ -75,21 +78,26 @@ defineExpose({
|
|
|
75
78
|
expanded: () => visible.value,
|
|
76
79
|
menuId
|
|
77
80
|
});
|
|
81
|
+
let unblockScroll = void 0;
|
|
78
82
|
const passthroughProps = computed(() => {
|
|
79
83
|
return {
|
|
80
|
-
start: {
|
|
81
|
-
|
|
82
|
-
},
|
|
83
|
-
end: {
|
|
84
|
-
class: "menu-suffix"
|
|
85
|
-
},
|
|
84
|
+
start: { class: "menu-prefix" },
|
|
85
|
+
end: { class: "menu-suffix" },
|
|
86
|
+
list: { class: "menu-list" },
|
|
86
87
|
transition: {
|
|
87
|
-
name: "fade"
|
|
88
|
+
name: isSmall.value ? "slide-in-bottom" : "fade",
|
|
89
|
+
onBeforeEnter() {
|
|
90
|
+
visible.value = true;
|
|
91
|
+
if (isSmall.value) {
|
|
92
|
+
unblockScroll = blockBodyScroll();
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
onAfterLeave() {
|
|
96
|
+
visible.value = false;
|
|
97
|
+
unblockScroll?.();
|
|
98
|
+
unblockScroll = void 0;
|
|
99
|
+
}
|
|
88
100
|
}
|
|
89
101
|
};
|
|
90
102
|
});
|
|
91
103
|
</script>
|
|
92
|
-
|
|
93
|
-
<style>
|
|
94
|
-
@reference "tailwindcss";.menu{background-color:var(--color-global-background);border:1px solid var(--color-global-background-accent);border-radius:var(--radius-md);box-shadow:var(--shadow-heavy);margin-block:--spacing(1);max-width:--spacing(80);padding:--spacing(1)}.menu li[role=separator]{border-bottom:1px solid var(--color-global-background-accent);margin-block:--spacing(1)}.menu li[role=none]{font-weight:var(--font-weight-semibold);padding:--spacing(1) --spacing(2)}.menu li[role=menuitem],.menu li[role=none]{-webkit-user-select:none;-moz-user-select:none;user-select:none}.menu li[role=menuitem]{border-radius:var(--radius-md);cursor:pointer;transition:background-color;transition-duration:var(--default-transition-duration)}.menu li[role=menuitem]>:only-child:not(:has(>a:only-child)){padding:--spacing(1) --spacing(2)}.menu li[role=menuitem]>:only-child:has(>a:only-child)>a{display:block;padding:--spacing(1) --spacing(2)}.menu li[role=menuitem][aria-disabled=true]{color:var(--color-global-foreground-accent);cursor:not-allowed}.menu li[role=menuitem][data-p-focused=true]:not([aria-disabled=true]),.menu ul:not(:focus) li[role=menuitem]:not([aria-disabled=true]):hover{background-color:var(--color-background-scale-c)}.menu .menu-prefix{border-bottom:1px solid var(--color-global-background-accent);margin-bottom:--spacing(1);padding:0 --spacing(2) --spacing(1)}.menu .menu-suffix{border-top:1px solid var(--color-global-background-accent);margin-top:--spacing(1);padding:--spacing(1) --spacing(2) 0}
|
|
95
|
-
</style>
|
|
@@ -20,14 +20,11 @@ export interface MenuExposes {
|
|
|
20
20
|
menuId: string;
|
|
21
21
|
expanded: ComputedGetter<boolean>;
|
|
22
22
|
}
|
|
23
|
-
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<MenuProps, MenuExposes, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MenuProps> & Readonly<{}>, {
|
|
24
|
-
prefixText: string;
|
|
25
|
-
suffixText: string;
|
|
26
|
-
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
|
|
23
|
+
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<MenuProps, MenuExposes, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<MenuProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
|
|
27
24
|
control?: (props: {
|
|
28
|
-
toggle: (event: Event) =>
|
|
29
|
-
menuId:
|
|
30
|
-
expanded:
|
|
25
|
+
toggle: (event: Event) => any;
|
|
26
|
+
menuId: any;
|
|
27
|
+
expanded: any;
|
|
31
28
|
}) => any;
|
|
32
29
|
} & {
|
|
33
30
|
prefix?: (props: {}) => any;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { StyleStatusLevel } from '../types/index.js';
|
|
2
2
|
import type { IconProps } from './Icon.vue.js';
|
|
3
3
|
export interface MessageProps {
|
|
4
|
-
severity?:
|
|
4
|
+
severity?: StyleStatusLevel;
|
|
5
5
|
text?: string;
|
|
6
6
|
class?: string;
|
|
7
7
|
style?: string;
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
</template>
|
|
8
8
|
|
|
9
9
|
<script setup>
|
|
10
|
+
import { isString } from "@resee-movies/utilities/strings/is-string";
|
|
10
11
|
import PrimeToast, {} from "primevue/toast";
|
|
11
12
|
import { StatusLevelIcons } from "../constants";
|
|
12
13
|
const passthroughProps = {
|
|
@@ -19,9 +20,15 @@ const passthroughProps = {
|
|
|
19
20
|
props.message?.summary?.trim() ? "has-summary" : void 0
|
|
20
21
|
]
|
|
21
22
|
}),
|
|
22
|
-
messageIcon: ({ props }) =>
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
messageIcon: ({ props }) => {
|
|
24
|
+
let iconClassName = StatusLevelIcons[props.message?.severity ?? "default"];
|
|
25
|
+
if (props.message && "icon" in props.message && isString(props.message.icon)) {
|
|
26
|
+
iconClassName = props.message.icon;
|
|
27
|
+
}
|
|
28
|
+
return {
|
|
29
|
+
class: ["icon", iconClassName]
|
|
30
|
+
};
|
|
31
|
+
},
|
|
25
32
|
root: { class: "notification-container" },
|
|
26
33
|
messageContent: { class: "content" },
|
|
27
34
|
messageText: { class: "text" },
|