@muenchen/muc-patternlab-vue 1.12.1 → 1.13.0-beta.1
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/components/Link/MucLink.stories.d.ts +139 -0
- package/dist/components/Link/MucLink.vue.d.ts +92 -0
- package/dist/components/Link/index.d.ts +3 -0
- package/dist/components/index.d.ts +2 -1
- package/dist/muc-patternlab-vue.es.js +178 -148
- package/package.json +1 -1
- package/src/components/Link/MucLink.stories.ts +36 -0
- package/src/components/Link/MucLink.vue +74 -0
- package/src/components/Link/index.ts +3 -0
- package/src/components/index.ts +2 -0
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
component: {
|
|
3
|
+
new (...args: any[]): import('vue').CreateComponentPublicInstance<Readonly<import('vue').ExtractPropTypes<{
|
|
4
|
+
icon: {
|
|
5
|
+
type: import('vue').PropType<string>;
|
|
6
|
+
};
|
|
7
|
+
label: {
|
|
8
|
+
type: import('vue').PropType<string>;
|
|
9
|
+
required: true;
|
|
10
|
+
};
|
|
11
|
+
href: {
|
|
12
|
+
type: import('vue').PropType<string>;
|
|
13
|
+
default: string;
|
|
14
|
+
};
|
|
15
|
+
target: {
|
|
16
|
+
type: import('vue').PropType<string>;
|
|
17
|
+
default: string;
|
|
18
|
+
};
|
|
19
|
+
noUnderline: {
|
|
20
|
+
type: import('vue').PropType<boolean>;
|
|
21
|
+
default: boolean;
|
|
22
|
+
};
|
|
23
|
+
}>>, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & Readonly<import('vue').ExtractPropTypes<{
|
|
24
|
+
icon: {
|
|
25
|
+
type: import('vue').PropType<string>;
|
|
26
|
+
};
|
|
27
|
+
label: {
|
|
28
|
+
type: import('vue').PropType<string>;
|
|
29
|
+
required: true;
|
|
30
|
+
};
|
|
31
|
+
href: {
|
|
32
|
+
type: import('vue').PropType<string>;
|
|
33
|
+
default: string;
|
|
34
|
+
};
|
|
35
|
+
target: {
|
|
36
|
+
type: import('vue').PropType<string>;
|
|
37
|
+
default: string;
|
|
38
|
+
};
|
|
39
|
+
noUnderline: {
|
|
40
|
+
type: import('vue').PropType<boolean>;
|
|
41
|
+
default: boolean;
|
|
42
|
+
};
|
|
43
|
+
}>>, {
|
|
44
|
+
href: string;
|
|
45
|
+
target: string;
|
|
46
|
+
noUnderline: boolean;
|
|
47
|
+
}, true, {}, {}, {
|
|
48
|
+
P: {};
|
|
49
|
+
B: {};
|
|
50
|
+
D: {};
|
|
51
|
+
C: {};
|
|
52
|
+
M: {};
|
|
53
|
+
Defaults: {};
|
|
54
|
+
}, Readonly<import('vue').ExtractPropTypes<{
|
|
55
|
+
icon: {
|
|
56
|
+
type: import('vue').PropType<string>;
|
|
57
|
+
};
|
|
58
|
+
label: {
|
|
59
|
+
type: import('vue').PropType<string>;
|
|
60
|
+
required: true;
|
|
61
|
+
};
|
|
62
|
+
href: {
|
|
63
|
+
type: import('vue').PropType<string>;
|
|
64
|
+
default: string;
|
|
65
|
+
};
|
|
66
|
+
target: {
|
|
67
|
+
type: import('vue').PropType<string>;
|
|
68
|
+
default: string;
|
|
69
|
+
};
|
|
70
|
+
noUnderline: {
|
|
71
|
+
type: import('vue').PropType<boolean>;
|
|
72
|
+
default: boolean;
|
|
73
|
+
};
|
|
74
|
+
}>>, {}, {}, {}, {}, {
|
|
75
|
+
href: string;
|
|
76
|
+
target: string;
|
|
77
|
+
noUnderline: boolean;
|
|
78
|
+
}>;
|
|
79
|
+
__isFragment?: never;
|
|
80
|
+
__isTeleport?: never;
|
|
81
|
+
__isSuspense?: never;
|
|
82
|
+
} & import('vue').ComponentOptionsBase<Readonly<import('vue').ExtractPropTypes<{
|
|
83
|
+
icon: {
|
|
84
|
+
type: import('vue').PropType<string>;
|
|
85
|
+
};
|
|
86
|
+
label: {
|
|
87
|
+
type: import('vue').PropType<string>;
|
|
88
|
+
required: true;
|
|
89
|
+
};
|
|
90
|
+
href: {
|
|
91
|
+
type: import('vue').PropType<string>;
|
|
92
|
+
default: string;
|
|
93
|
+
};
|
|
94
|
+
target: {
|
|
95
|
+
type: import('vue').PropType<string>;
|
|
96
|
+
default: string;
|
|
97
|
+
};
|
|
98
|
+
noUnderline: {
|
|
99
|
+
type: import('vue').PropType<boolean>;
|
|
100
|
+
default: boolean;
|
|
101
|
+
};
|
|
102
|
+
}>>, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {
|
|
103
|
+
href: string;
|
|
104
|
+
target: string;
|
|
105
|
+
noUnderline: boolean;
|
|
106
|
+
}, {}, string, {}> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
|
|
107
|
+
$slots: Readonly<{
|
|
108
|
+
icon(): void;
|
|
109
|
+
}> & {
|
|
110
|
+
icon(): void;
|
|
111
|
+
};
|
|
112
|
+
});
|
|
113
|
+
title: string;
|
|
114
|
+
tags: string[];
|
|
115
|
+
args: {
|
|
116
|
+
onClick: import('@vitest/spy').Mock<any, any>;
|
|
117
|
+
};
|
|
118
|
+
parameters: {
|
|
119
|
+
docs: {
|
|
120
|
+
description: {
|
|
121
|
+
component: string;
|
|
122
|
+
};
|
|
123
|
+
};
|
|
124
|
+
};
|
|
125
|
+
};
|
|
126
|
+
export default _default;
|
|
127
|
+
export declare const Weather: {
|
|
128
|
+
args: {
|
|
129
|
+
label: string;
|
|
130
|
+
};
|
|
131
|
+
};
|
|
132
|
+
export declare const LinkWithIcon: {
|
|
133
|
+
args: {
|
|
134
|
+
icon: string;
|
|
135
|
+
label: string;
|
|
136
|
+
href: string;
|
|
137
|
+
noUnderline: boolean;
|
|
138
|
+
};
|
|
139
|
+
};
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
declare function __VLS_template(): Readonly<{
|
|
2
|
+
/**
|
|
3
|
+
* Icon slots overrides chosen prop icon.
|
|
4
|
+
* The icon can be displayed infront or behind the label with these classes: icon--after | icon--before
|
|
5
|
+
*/
|
|
6
|
+
icon(): void;
|
|
7
|
+
}> & {
|
|
8
|
+
/**
|
|
9
|
+
* Icon slots overrides chosen prop icon.
|
|
10
|
+
* The icon can be displayed infront or behind the label with these classes: icon--after | icon--before
|
|
11
|
+
*/
|
|
12
|
+
icon(): void;
|
|
13
|
+
};
|
|
14
|
+
declare const __VLS_component: import('vue').DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
|
|
15
|
+
/**
|
|
16
|
+
* Text shown as the link
|
|
17
|
+
*/
|
|
18
|
+
label: string;
|
|
19
|
+
/**
|
|
20
|
+
* href to link to
|
|
21
|
+
*/
|
|
22
|
+
href?: string;
|
|
23
|
+
/**
|
|
24
|
+
* Optional icon displayed behind the text
|
|
25
|
+
*/
|
|
26
|
+
icon?: string;
|
|
27
|
+
/**
|
|
28
|
+
* Target on the link
|
|
29
|
+
*/
|
|
30
|
+
target?: string;
|
|
31
|
+
/**
|
|
32
|
+
* Removes the underline from the label text
|
|
33
|
+
*/
|
|
34
|
+
noUnderline?: boolean;
|
|
35
|
+
}>, {
|
|
36
|
+
noUnderline: boolean;
|
|
37
|
+
href: string;
|
|
38
|
+
target: string;
|
|
39
|
+
}>, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
|
|
40
|
+
/**
|
|
41
|
+
* Text shown as the link
|
|
42
|
+
*/
|
|
43
|
+
label: string;
|
|
44
|
+
/**
|
|
45
|
+
* href to link to
|
|
46
|
+
*/
|
|
47
|
+
href?: string;
|
|
48
|
+
/**
|
|
49
|
+
* Optional icon displayed behind the text
|
|
50
|
+
*/
|
|
51
|
+
icon?: string;
|
|
52
|
+
/**
|
|
53
|
+
* Target on the link
|
|
54
|
+
*/
|
|
55
|
+
target?: string;
|
|
56
|
+
/**
|
|
57
|
+
* Removes the underline from the label text
|
|
58
|
+
*/
|
|
59
|
+
noUnderline?: boolean;
|
|
60
|
+
}>, {
|
|
61
|
+
noUnderline: boolean;
|
|
62
|
+
href: string;
|
|
63
|
+
target: string;
|
|
64
|
+
}>>>, {
|
|
65
|
+
href: string;
|
|
66
|
+
target: string;
|
|
67
|
+
noUnderline: boolean;
|
|
68
|
+
}, {}>;
|
|
69
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
|
|
70
|
+
export default _default;
|
|
71
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
72
|
+
type __VLS_TypePropsToRuntimeProps<T> = {
|
|
73
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
74
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
75
|
+
} : {
|
|
76
|
+
type: import('vue').PropType<T[K]>;
|
|
77
|
+
required: true;
|
|
78
|
+
};
|
|
79
|
+
};
|
|
80
|
+
type __VLS_WithDefaults<P, D> = {
|
|
81
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
|
|
82
|
+
default: D[K];
|
|
83
|
+
}> : P[K];
|
|
84
|
+
};
|
|
85
|
+
type __VLS_Prettify<T> = {
|
|
86
|
+
[K in keyof T]: T[K];
|
|
87
|
+
} & {};
|
|
88
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
89
|
+
new (): {
|
|
90
|
+
$slots: S;
|
|
91
|
+
};
|
|
92
|
+
};
|
|
@@ -6,5 +6,6 @@ import { MucComment, MucCommentText } from './Comment/';
|
|
|
6
6
|
import { MucCheckbox, MucCheckboxGroup, MucErrorList, MucInput, MucRadioButton, MucRadioButtonGroup, MucSelect, MucTextArea } from './Form';
|
|
7
7
|
import { MucIcon } from './Icon';
|
|
8
8
|
import { MucIntro } from './Intro';
|
|
9
|
+
import { MucLink } from './Link';
|
|
9
10
|
|
|
10
|
-
export { MucButton, MucBanner, MucIntro, MucCallout, MucCard, MucCardContainer, MucComment, MucCommentText, MucRadioButton, MucRadioButtonGroup, MucInput, MucTextArea, MucCheckboxGroup, MucCheckbox, MucSelect, MucErrorList, MucIcon, };
|
|
11
|
+
export { MucButton, MucBanner, MucIntro, MucCallout, MucCard, MucCardContainer, MucComment, MucCommentText, MucRadioButton, MucRadioButtonGroup, MucInput, MucTextArea, MucCheckboxGroup, MucCheckbox, MucSelect, MucErrorList, MucIcon, MucLink, };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
const ie = ["href"],
|
|
1
|
+
import { defineComponent as h, useAttrs as Z, computed as r, openBlock as n, createElementBlock as c, normalizeClass as b, normalizeStyle as ee, createElementVNode as e, createVNode as R, unref as k, renderSlot as _, createBlock as j, createCommentVNode as g, toDisplayString as u, pushScopeId as H, popScopeId as U, useSlots as N, createTextVNode as $, Fragment as E, renderList as L, createSlots as te, withCtx as B, mergeModels as C, useModel as T, withModifiers as W, ref as O, withDirectives as z, vModelDynamic as se, inject as oe, provide as ae, readonly as ne, toRef as le, vModelText as ce } from "vue";
|
|
2
|
+
const ie = ["href"], M = /* @__PURE__ */ h({
|
|
3
3
|
__name: "MucIcon",
|
|
4
4
|
props: {
|
|
5
5
|
icon: {},
|
|
@@ -9,7 +9,7 @@ const ie = ["href"], B = /* @__PURE__ */ v({
|
|
|
9
9
|
const t = Z(), s = r(() => t.class ?? "icon");
|
|
10
10
|
return (o, i) => (n(), c("svg", {
|
|
11
11
|
"aria-hidden": "true",
|
|
12
|
-
class:
|
|
12
|
+
class: b(s.value),
|
|
13
13
|
style: ee({ color: o.color })
|
|
14
14
|
}, [
|
|
15
15
|
e("use", {
|
|
@@ -17,7 +17,7 @@ const ie = ["href"], B = /* @__PURE__ */ v({
|
|
|
17
17
|
}, null, 8, ie)
|
|
18
18
|
], 6));
|
|
19
19
|
}
|
|
20
|
-
}), re = ["role", "aria-label"], ue = { class: "container-fluid" }, de = /* @__PURE__ */
|
|
20
|
+
}), re = ["role", "aria-label"], ue = { class: "container-fluid" }, de = /* @__PURE__ */ h({
|
|
21
21
|
__name: "MucBanner",
|
|
22
22
|
props: {
|
|
23
23
|
type: { default: "info" }
|
|
@@ -77,24 +77,24 @@ const ie = ["href"], B = /* @__PURE__ */ v({
|
|
|
77
77
|
return (m, f) => (n(), c("div", null, [
|
|
78
78
|
e("div", null, [
|
|
79
79
|
e("div", {
|
|
80
|
-
class:
|
|
80
|
+
class: b(["m-banner", s.value]),
|
|
81
81
|
role: o.value,
|
|
82
82
|
"aria-label": i.value
|
|
83
83
|
}, [
|
|
84
84
|
e("div", ue, [
|
|
85
|
-
R(k(
|
|
85
|
+
R(k(M), { icon: l.value }, null, 8, ["icon"]),
|
|
86
86
|
_(m.$slots, "default", {}, void 0, !0)
|
|
87
87
|
])
|
|
88
88
|
], 10, re)
|
|
89
89
|
])
|
|
90
90
|
]));
|
|
91
91
|
}
|
|
92
|
-
}),
|
|
92
|
+
}), V = (a, t) => {
|
|
93
93
|
const s = a.__vccOpts || a;
|
|
94
94
|
for (const [o, i] of t)
|
|
95
95
|
s[o] = i;
|
|
96
96
|
return s;
|
|
97
|
-
}, _e = /* @__PURE__ */
|
|
97
|
+
}, _e = /* @__PURE__ */ V(de, [["__scopeId", "data-v-53bc7eca"]]), me = ["disabled"], D = /* @__PURE__ */ h({
|
|
98
98
|
__name: "MucButton",
|
|
99
99
|
props: {
|
|
100
100
|
variant: { default: "primary" },
|
|
@@ -118,22 +118,22 @@ const ie = ["href"], B = /* @__PURE__ */ v({
|
|
|
118
118
|
), m = () => {
|
|
119
119
|
o("click");
|
|
120
120
|
};
|
|
121
|
-
return (f,
|
|
121
|
+
return (f, v) => (n(), c("button", {
|
|
122
122
|
onClick: m,
|
|
123
123
|
disabled: f.disabled,
|
|
124
|
-
class:
|
|
124
|
+
class: b(["m-button", [i.value, l.value]])
|
|
125
125
|
}, [
|
|
126
126
|
e("span", null, [
|
|
127
127
|
_(f.$slots, "default"),
|
|
128
|
-
f.icon ? (n(), j(k(
|
|
128
|
+
f.icon ? (n(), j(k(M), {
|
|
129
129
|
key: 0,
|
|
130
130
|
icon: f.icon,
|
|
131
131
|
class: "m-button__icon"
|
|
132
|
-
}, null, 8, ["icon"])) :
|
|
132
|
+
}, null, 8, ["icon"])) : g("", !0)
|
|
133
133
|
])
|
|
134
134
|
], 10, me));
|
|
135
135
|
}
|
|
136
|
-
}), pe = ["aria-label"], he = { class: "m-callout__inner" }, ve = { class: "m-callout__icon" }, fe = { class: "m-callout__body" },
|
|
136
|
+
}), pe = ["aria-label"], he = { class: "m-callout__inner" }, ve = { class: "m-callout__icon" }, fe = { class: "m-callout__body" }, ge = { class: "m-callout__body__inner" }, $e = { class: "m-callout__headline" }, be = { class: "m-callout__content" }, ye = /* @__PURE__ */ h({
|
|
137
137
|
__name: "MucCallout",
|
|
138
138
|
props: {
|
|
139
139
|
type: { default: "info" }
|
|
@@ -172,18 +172,18 @@ const ie = ["href"], B = /* @__PURE__ */ v({
|
|
|
172
172
|
}
|
|
173
173
|
});
|
|
174
174
|
return (l, m) => (n(), c("div", {
|
|
175
|
-
class:
|
|
175
|
+
class: b(["m-callout", o.value]),
|
|
176
176
|
"aria-label": i.value
|
|
177
177
|
}, [
|
|
178
178
|
e("div", he, [
|
|
179
179
|
e("div", ve, [
|
|
180
180
|
_(l.$slots, "icon", {}, () => [
|
|
181
|
-
R(k(
|
|
181
|
+
R(k(M), { icon: s.value }, null, 8, ["icon"])
|
|
182
182
|
], !0)
|
|
183
183
|
]),
|
|
184
184
|
e("div", fe, [
|
|
185
|
-
e("div",
|
|
186
|
-
e("div",
|
|
185
|
+
e("div", ge, [
|
|
186
|
+
e("div", $e, [
|
|
187
187
|
_(l.$slots, "header", {}, void 0, !0)
|
|
188
188
|
]),
|
|
189
189
|
e("div", be, [
|
|
@@ -196,10 +196,10 @@ const ie = ["href"], B = /* @__PURE__ */ v({
|
|
|
196
196
|
])
|
|
197
197
|
], 10, pe));
|
|
198
198
|
}
|
|
199
|
-
}), ke = /* @__PURE__ */
|
|
199
|
+
}), ke = /* @__PURE__ */ V(ye, [["__scopeId", "data-v-e6cf4104"]]), Me = (a) => (H("data-v-acf0a1dd"), a = a(), U(), a), Ce = { class: "card-content" }, we = { class: "card-header" }, Se = {
|
|
200
200
|
key: 0,
|
|
201
201
|
class: "card-tagline"
|
|
202
|
-
}, Ie = /* @__PURE__ */ Me(() => /* @__PURE__ */ e("div", { class: "muc-divider" }, null, -1)), Be = /* @__PURE__ */
|
|
202
|
+
}, Ie = /* @__PURE__ */ Me(() => /* @__PURE__ */ e("div", { class: "muc-divider" }, null, -1)), Be = /* @__PURE__ */ h({
|
|
203
203
|
__name: "MucCard",
|
|
204
204
|
props: {
|
|
205
205
|
title: {},
|
|
@@ -216,7 +216,7 @@ const ie = ["href"], B = /* @__PURE__ */ v({
|
|
|
216
216
|
e("div", we, [
|
|
217
217
|
_(o.$slots, "headerPrefix", {}, void 0, !0),
|
|
218
218
|
e("div", null, [
|
|
219
|
-
o.tagline ? (n(), c("div", Se, u(o.tagline), 1)) :
|
|
219
|
+
o.tagline ? (n(), c("div", Se, u(o.tagline), 1)) : g("", !0),
|
|
220
220
|
e("div", null, [
|
|
221
221
|
e("h3", null, u(o.title), 1)
|
|
222
222
|
])
|
|
@@ -227,92 +227,92 @@ const ie = ["href"], B = /* @__PURE__ */ v({
|
|
|
227
227
|
])
|
|
228
228
|
]));
|
|
229
229
|
}
|
|
230
|
-
}),
|
|
230
|
+
}), Ve = /* @__PURE__ */ V(Be, [["__scopeId", "data-v-acf0a1dd"]]), xe = { class: "container card-container" }, Ae = /* @__PURE__ */ h({
|
|
231
231
|
__name: "MucCardContainer",
|
|
232
232
|
setup(a) {
|
|
233
|
-
return (t, s) => (n(), c("div",
|
|
233
|
+
return (t, s) => (n(), c("div", xe, [
|
|
234
234
|
_(t.$slots, "default", {}, void 0, !0)
|
|
235
235
|
]));
|
|
236
236
|
}
|
|
237
|
-
}), Re = /* @__PURE__ */
|
|
237
|
+
}), Re = /* @__PURE__ */ V(Ae, [["__scopeId", "data-v-6740df8f"]]), Ee = { class: "m-comment__head" }, Le = { class: "m-comment__initials" }, Te = { class: "m-comment__info" }, Oe = { class: "m-comment__author" }, je = { key: 0 }, Ge = { class: "m-comment__author" }, Pe = { class: "m-comment__date" }, qe = ["aria-label"], He = {
|
|
238
238
|
key: 0,
|
|
239
239
|
class: "m-star-rating__item m-star-rating__item--half"
|
|
240
|
-
},
|
|
240
|
+
}, Ue = { class: "m-star-rating__numeric" }, Ne = { class: "m-comment__body" }, We = { class: "m-comment__headline" }, ze = { class: "m-comment__text" }, De = "de-DE", Fe = 0.2, Ke = 0.8, A = 5, F = /* @__PURE__ */ h({
|
|
241
241
|
__name: "MucComment",
|
|
242
242
|
props: {
|
|
243
243
|
rating: {},
|
|
244
244
|
variant: { default: "listing" }
|
|
245
245
|
},
|
|
246
246
|
setup(a) {
|
|
247
|
-
const t =
|
|
247
|
+
const t = N(), s = a, o = r(() => !!t.date), i = r(() => s.variant === "slider" ? "m-comment--slider" : "m-comment--listing"), l = r(
|
|
248
248
|
() => Math.min(Math.max(s.rating, 0), A)
|
|
249
249
|
), m = r(() => l.value.toLocaleString(De.valueOf(), {
|
|
250
250
|
minimumFractionDigits: 1
|
|
251
251
|
})), f = r(() => {
|
|
252
|
-
const
|
|
253
|
-
let
|
|
254
|
-
return l.value !== 0 && l.value !== A && (
|
|
255
|
-
fullStars:
|
|
256
|
-
emptyStars:
|
|
252
|
+
const v = +(l.value % 1).toFixed(1);
|
|
253
|
+
let w = Math.min(Math.floor(l.value), A), y = Math.floor(A - l.value), d = !1;
|
|
254
|
+
return l.value !== 0 && l.value !== A && (v <= Fe ? y++ : v >= Ke ? w++ : d = !0), {
|
|
255
|
+
fullStars: w,
|
|
256
|
+
emptyStars: y,
|
|
257
257
|
isHalfStar: d
|
|
258
258
|
};
|
|
259
259
|
});
|
|
260
|
-
return (
|
|
261
|
-
class:
|
|
260
|
+
return (v, w) => (n(), c("div", {
|
|
261
|
+
class: b(["m-comment", i.value])
|
|
262
262
|
}, [
|
|
263
263
|
e("div", Ee, [
|
|
264
264
|
e("div", Le, [
|
|
265
|
-
_(
|
|
265
|
+
_(v.$slots, "initials")
|
|
266
266
|
]),
|
|
267
267
|
e("div", Te, [
|
|
268
268
|
e("span", Oe, [
|
|
269
|
-
_(
|
|
269
|
+
_(v.$slots, "author")
|
|
270
270
|
]),
|
|
271
271
|
o.value ? (n(), c("span", je, [
|
|
272
272
|
e("span", Ge, [
|
|
273
|
-
|
|
274
|
-
_(
|
|
273
|
+
$(" "),
|
|
274
|
+
_(v.$slots, "datePrefix")
|
|
275
275
|
]),
|
|
276
276
|
e("span", Pe, [
|
|
277
|
-
|
|
278
|
-
_(
|
|
277
|
+
$(" "),
|
|
278
|
+
_(v.$slots, "date")
|
|
279
279
|
])
|
|
280
|
-
])) :
|
|
280
|
+
])) : g("", !0),
|
|
281
281
|
e("div", {
|
|
282
282
|
class: "m-star-rating",
|
|
283
283
|
role: "img",
|
|
284
|
-
"aria-label": `Bewertung: ${
|
|
284
|
+
"aria-label": `Bewertung: ${v.rating} von ${A} Sternen`
|
|
285
285
|
}, [
|
|
286
|
-
(n(!0), c(E, null, L(f.value.fullStars, (
|
|
287
|
-
key:
|
|
286
|
+
(n(!0), c(E, null, L(f.value.fullStars, (y) => (n(), c("div", {
|
|
287
|
+
key: y,
|
|
288
288
|
class: "m-star-rating__item m-star-rating__item--full"
|
|
289
289
|
}, [
|
|
290
|
-
R(k(
|
|
290
|
+
R(k(M), { icon: "solid-star" })
|
|
291
291
|
]))), 128)),
|
|
292
292
|
f.value.isHalfStar ? (n(), c("div", He, [
|
|
293
|
-
R(k(
|
|
294
|
-
])) :
|
|
295
|
-
(n(!0), c(E, null, L(f.value.emptyStars, (
|
|
296
|
-
key:
|
|
293
|
+
R(k(M), { icon: "half-star" })
|
|
294
|
+
])) : g("", !0),
|
|
295
|
+
(n(!0), c(E, null, L(f.value.emptyStars, (y) => (n(), c("div", {
|
|
296
|
+
key: y,
|
|
297
297
|
class: "m-star-rating__item"
|
|
298
298
|
}, [
|
|
299
|
-
R(k(
|
|
299
|
+
R(k(M), { icon: "solid-star" })
|
|
300
300
|
]))), 128)),
|
|
301
|
-
e("div",
|
|
301
|
+
e("div", Ue, u(m.value), 1)
|
|
302
302
|
], 8, qe)
|
|
303
303
|
])
|
|
304
304
|
]),
|
|
305
|
-
e("div",
|
|
306
|
-
e("div",
|
|
307
|
-
_(
|
|
305
|
+
e("div", Ne, [
|
|
306
|
+
e("div", We, [
|
|
307
|
+
_(v.$slots, "headline")
|
|
308
308
|
]),
|
|
309
309
|
e("div", ze, [
|
|
310
|
-
_(
|
|
310
|
+
_(v.$slots, "text")
|
|
311
311
|
])
|
|
312
312
|
])
|
|
313
313
|
], 2));
|
|
314
314
|
}
|
|
315
|
-
}), Xe = " ", Je = /* @__PURE__ */
|
|
315
|
+
}), Xe = " ", Je = /* @__PURE__ */ h({
|
|
316
316
|
__name: "MucCommentText",
|
|
317
317
|
props: {
|
|
318
318
|
datePrefix: { default: "am" },
|
|
@@ -330,41 +330,41 @@ const ie = ["href"], B = /* @__PURE__ */ v({
|
|
|
330
330
|
rating: o.rating,
|
|
331
331
|
variant: o.variant
|
|
332
332
|
}, te({
|
|
333
|
-
initials:
|
|
334
|
-
|
|
333
|
+
initials: B(() => [
|
|
334
|
+
$(u(s.value), 1)
|
|
335
335
|
]),
|
|
336
|
-
datePrefix:
|
|
337
|
-
|
|
336
|
+
datePrefix: B(() => [
|
|
337
|
+
$("am")
|
|
338
338
|
]),
|
|
339
|
-
author:
|
|
340
|
-
|
|
339
|
+
author: B(() => [
|
|
340
|
+
$(u(o.author), 1)
|
|
341
341
|
]),
|
|
342
|
-
headline:
|
|
343
|
-
|
|
342
|
+
headline: B(() => [
|
|
343
|
+
$(u(o.headline), 1)
|
|
344
344
|
]),
|
|
345
|
-
text:
|
|
346
|
-
|
|
345
|
+
text: B(() => [
|
|
346
|
+
$(u(o.text), 1)
|
|
347
347
|
]),
|
|
348
348
|
_: 2
|
|
349
349
|
}, [
|
|
350
350
|
o.date ? {
|
|
351
351
|
name: "date",
|
|
352
|
-
fn:
|
|
353
|
-
|
|
352
|
+
fn: B(() => [
|
|
353
|
+
$(u(o.date), 1)
|
|
354
354
|
]),
|
|
355
355
|
key: "0"
|
|
356
356
|
} : void 0
|
|
357
357
|
]), 1032, ["rating", "variant"]));
|
|
358
358
|
}
|
|
359
|
-
}), Qe = ["checked"], Ye = { class: "m-label m-checkboxes__label" }, Ze = /* @__PURE__ */
|
|
359
|
+
}), Qe = ["checked"], Ye = { class: "m-label m-checkboxes__label" }, Ze = /* @__PURE__ */ h({
|
|
360
360
|
__name: "MucCheckbox",
|
|
361
|
-
props: /* @__PURE__ */
|
|
361
|
+
props: /* @__PURE__ */ C({
|
|
362
362
|
label: {}
|
|
363
363
|
}, {
|
|
364
364
|
modelValue: { type: Boolean, default: !1 },
|
|
365
365
|
modelModifiers: {}
|
|
366
366
|
}),
|
|
367
|
-
emits: /* @__PURE__ */
|
|
367
|
+
emits: /* @__PURE__ */ C(["click"], ["update:modelValue"]),
|
|
368
368
|
setup(a, { emit: t }) {
|
|
369
369
|
const s = T(a, "modelValue"), o = t, i = () => {
|
|
370
370
|
s.value = !s.value, o("click");
|
|
@@ -378,7 +378,7 @@ const ie = ["href"], B = /* @__PURE__ */ v({
|
|
|
378
378
|
name: "checkbox",
|
|
379
379
|
type: "checkbox",
|
|
380
380
|
checked: s.value,
|
|
381
|
-
onClick:
|
|
381
|
+
onClick: W(i, ["stop"])
|
|
382
382
|
}, null, 8, Qe),
|
|
383
383
|
e("label", Ye, u(l.label), 1)
|
|
384
384
|
]));
|
|
@@ -386,7 +386,7 @@ const ie = ["href"], B = /* @__PURE__ */ v({
|
|
|
386
386
|
}), et = { class: "m-form-group" }, tt = { class: "m-checkbox-group" }, st = { class: "m-checkbox-group__legend" }, ot = { class: "m-checkbox-group__heading" }, at = { class: "m-checkboxes m-checkboxes--collapse" }, nt = /* @__PURE__ */ e("span", null, "Mehr ", -1), lt = {
|
|
387
387
|
"aria-hidden": "true",
|
|
388
388
|
class: "icon icon--after"
|
|
389
|
-
}, ct = ["href"], it = /* @__PURE__ */
|
|
389
|
+
}, ct = ["href"], it = /* @__PURE__ */ h({
|
|
390
390
|
__name: "MucCheckboxGroup",
|
|
391
391
|
props: {
|
|
392
392
|
heading: {}
|
|
@@ -402,17 +402,17 @@ const ie = ["href"], B = /* @__PURE__ */ v({
|
|
|
402
402
|
_(l.$slots, "checkboxes"),
|
|
403
403
|
l.$slots.collapsableCheckboxes ? (n(), c("div", {
|
|
404
404
|
key: 0,
|
|
405
|
-
class:
|
|
405
|
+
class: b(["m-checkboxes__collapse__container", s.value])
|
|
406
406
|
}, [
|
|
407
407
|
_(l.$slots, "collapsableCheckboxes")
|
|
408
|
-
], 2)) :
|
|
408
|
+
], 2)) : g("", !0),
|
|
409
409
|
l.$slots.collapsableCheckboxes ? (n(), j(k(D), {
|
|
410
410
|
key: 1,
|
|
411
411
|
variant: "ghost",
|
|
412
412
|
onClick: i,
|
|
413
413
|
"aria-expanded": !t.value
|
|
414
414
|
}, {
|
|
415
|
-
default:
|
|
415
|
+
default: B(() => [
|
|
416
416
|
nt,
|
|
417
417
|
(n(), c("svg", lt, [
|
|
418
418
|
e("use", {
|
|
@@ -421,7 +421,7 @@ const ie = ["href"], B = /* @__PURE__ */ v({
|
|
|
421
421
|
]))
|
|
422
422
|
]),
|
|
423
423
|
_: 1
|
|
424
|
-
}, 8, ["aria-expanded"])) :
|
|
424
|
+
}, 8, ["aria-expanded"])) : g("", !0)
|
|
425
425
|
])
|
|
426
426
|
])
|
|
427
427
|
]));
|
|
@@ -430,7 +430,7 @@ const ie = ["href"], B = /* @__PURE__ */ v({
|
|
|
430
430
|
class: "m-error-list",
|
|
431
431
|
role: "alert",
|
|
432
432
|
tabindex: "-1"
|
|
433
|
-
}, ut = { class: "m-error-list__title" }, dt = { class: "m-error-list__body" }, _t = { class: "m-list m-error-list__list" }, mt = /* @__PURE__ */
|
|
433
|
+
}, ut = { class: "m-error-list__title" }, dt = { class: "m-error-list__body" }, _t = { class: "m-list m-error-list__list" }, mt = /* @__PURE__ */ h({
|
|
434
434
|
__name: "MucErrorList",
|
|
435
435
|
props: {
|
|
436
436
|
title: {},
|
|
@@ -461,7 +461,7 @@ const ie = ["href"], B = /* @__PURE__ */ v({
|
|
|
461
461
|
}, vt = /* @__PURE__ */ e("span", { class: "visually-hidden" }, "(erforderlich)", -1), ft = {
|
|
462
462
|
id: "text-input-error",
|
|
463
463
|
class: "m-error-message"
|
|
464
|
-
},
|
|
464
|
+
}, gt = { class: "m-input-wrapper m-autocomplete" }, $t = {
|
|
465
465
|
key: 0,
|
|
466
466
|
class: "m-input__prefix"
|
|
467
467
|
}, bt = ["type", "aria-describedby", "placeholder", "required"], yt = {
|
|
@@ -473,9 +473,9 @@ const ie = ["href"], B = /* @__PURE__ */ v({
|
|
|
473
473
|
}, Ct = ["xlink:href"], wt = /* @__PURE__ */ e("span", { class: "visually-hidden" }, "Suchen", -1), St = {
|
|
474
474
|
class: "m-hint",
|
|
475
475
|
id: "text-input-hint"
|
|
476
|
-
}, It = /* @__PURE__ */
|
|
476
|
+
}, It = /* @__PURE__ */ h({
|
|
477
477
|
__name: "MucInput",
|
|
478
|
-
props: /* @__PURE__ */
|
|
478
|
+
props: /* @__PURE__ */ C({
|
|
479
479
|
errorMsg: {},
|
|
480
480
|
placeholder: {},
|
|
481
481
|
required: { type: Boolean, default: !1 },
|
|
@@ -488,53 +488,53 @@ const ie = ["href"], B = /* @__PURE__ */ v({
|
|
|
488
488
|
modelValue: { default: "" },
|
|
489
489
|
modelModifiers: {}
|
|
490
490
|
}),
|
|
491
|
-
emits: /* @__PURE__ */
|
|
491
|
+
emits: /* @__PURE__ */ C(["suffixClick"], ["update:modelValue"]),
|
|
492
492
|
setup(a, { emit: t }) {
|
|
493
|
-
const s = T(a, "modelValue"), o = a, i =
|
|
493
|
+
const s = T(a, "modelValue"), o = a, i = N(), l = t, m = r(() => o.errorMsg ? "has-error" : ""), f = r(() => o.type === "search"), v = r(() => {
|
|
494
494
|
if (s.value === "") return [];
|
|
495
495
|
const d = s.value.toLowerCase();
|
|
496
496
|
return o.datalist.filter(
|
|
497
|
-
(
|
|
497
|
+
(S) => S.toLowerCase().startsWith(d) && S.toLowerCase() !== d
|
|
498
498
|
);
|
|
499
|
-
}),
|
|
500
|
-
return (d,
|
|
501
|
-
class:
|
|
499
|
+
}), w = (d) => s.value = d, y = () => l("suffixClick");
|
|
500
|
+
return (d, S) => (n(), c("div", {
|
|
501
|
+
class: b(["m-form-group", m.value])
|
|
502
502
|
}, [
|
|
503
503
|
e("label", pt, [
|
|
504
|
-
|
|
504
|
+
$(u(d.label) + " ", 1),
|
|
505
505
|
d.required ? (n(), c("span", ht, [
|
|
506
|
-
|
|
506
|
+
$(" * "),
|
|
507
507
|
vt
|
|
508
|
-
])) :
|
|
508
|
+
])) : g("", !0)
|
|
509
509
|
]),
|
|
510
510
|
e("p", ft, u(d.errorMsg), 1),
|
|
511
|
-
e("div",
|
|
512
|
-
i.prefix ? (n(), c("div",
|
|
511
|
+
e("div", gt, [
|
|
512
|
+
i.prefix ? (n(), c("div", $t, [
|
|
513
513
|
e("span", null, [
|
|
514
514
|
_(d.$slots, "prefix")
|
|
515
515
|
])
|
|
516
|
-
])) :
|
|
516
|
+
])) : g("", !0),
|
|
517
517
|
z(e("input", {
|
|
518
518
|
class: "m-input autocomplete-input",
|
|
519
519
|
type: d.type,
|
|
520
|
-
"onUpdate:modelValue":
|
|
520
|
+
"onUpdate:modelValue": S[0] || (S[0] = (I) => s.value = I),
|
|
521
521
|
"aria-describedby": d.type + "-input",
|
|
522
522
|
placeholder: d.placeholder,
|
|
523
523
|
required: d.required
|
|
524
524
|
}, null, 8, bt), [
|
|
525
525
|
[se, s.value]
|
|
526
526
|
]),
|
|
527
|
-
f.value &&
|
|
528
|
-
(n(!0), c(E, null, L(
|
|
527
|
+
f.value && v.value.length !== 0 ? (n(), c("ul", yt, [
|
|
528
|
+
(n(!0), c(E, null, L(v.value, (I) => (n(), c("li", {
|
|
529
529
|
class: "autocomplete-result",
|
|
530
|
-
key:
|
|
531
|
-
onClick: (G) =>
|
|
532
|
-
}, u(
|
|
533
|
-
])) :
|
|
530
|
+
key: I,
|
|
531
|
+
onClick: (G) => w(I)
|
|
532
|
+
}, u(I), 9, kt))), 128))
|
|
533
|
+
])) : g("", !0),
|
|
534
534
|
d.suffixIcon ? (n(), c("button", {
|
|
535
535
|
key: 2,
|
|
536
536
|
class: "m-input__suffix",
|
|
537
|
-
onClick:
|
|
537
|
+
onClick: y
|
|
538
538
|
}, [
|
|
539
539
|
(n(), c("svg", Mt, [
|
|
540
540
|
e("use", {
|
|
@@ -542,7 +542,7 @@ const ie = ["href"], B = /* @__PURE__ */ v({
|
|
|
542
542
|
}, null, 8, Ct)
|
|
543
543
|
])),
|
|
544
544
|
wt
|
|
545
|
-
])) :
|
|
545
|
+
])) : g("", !0)
|
|
546
546
|
]),
|
|
547
547
|
e("p", St, u(d.hint), 1)
|
|
548
548
|
], 2));
|
|
@@ -550,7 +550,7 @@ const ie = ["href"], B = /* @__PURE__ */ v({
|
|
|
550
550
|
}), K = Symbol("mucRadioGroup"), Bt = {
|
|
551
551
|
key: 0,
|
|
552
552
|
class: "m-radios__item"
|
|
553
|
-
},
|
|
553
|
+
}, Vt = ["checked", "disabled"], xt = { class: "m-hint" }, At = /* @__PURE__ */ h({
|
|
554
554
|
__name: "MucRadioButton",
|
|
555
555
|
props: {
|
|
556
556
|
value: {},
|
|
@@ -560,33 +560,33 @@ const ie = ["href"], B = /* @__PURE__ */ v({
|
|
|
560
560
|
},
|
|
561
561
|
setup(a) {
|
|
562
562
|
const t = a, s = oe(K), o = () => s == null ? void 0 : s.set(t.value), i = r(() => (s == null ? void 0 : s.modelValue.value) === t.value), l = r(() => t.disabled || (s == null ? void 0 : s.disabled.value)), m = r(() => !!(s != null && s.disabled));
|
|
563
|
-
return (f,
|
|
563
|
+
return (f, v) => m.value ? (n(), c("div", Bt, [
|
|
564
564
|
e("input", {
|
|
565
565
|
class: "m-radios__input",
|
|
566
566
|
type: "radio",
|
|
567
567
|
checked: i.value,
|
|
568
568
|
disabled: l.value,
|
|
569
|
-
onClick:
|
|
570
|
-
}, null, 8,
|
|
569
|
+
onClick: W(o, ["stop"])
|
|
570
|
+
}, null, 8, Vt),
|
|
571
571
|
e("label", {
|
|
572
572
|
class: "m-label m-radios__label",
|
|
573
573
|
onClick: o
|
|
574
574
|
}, [
|
|
575
|
-
|
|
576
|
-
e("span",
|
|
575
|
+
$(u(f.label) + " ", 1),
|
|
576
|
+
e("span", xt, u(f.hint), 1)
|
|
577
577
|
])
|
|
578
|
-
])) :
|
|
578
|
+
])) : g("", !0);
|
|
579
579
|
}
|
|
580
|
-
}), Rt = { class: "m-form-group" }, Et = { class: "m-radio-group" }, Lt = { class: "m-radio-group__legend" }, Tt = { class: "m-radio-group__heading" }, Ot = { class: "m-radios" }, jt = /* @__PURE__ */
|
|
580
|
+
}), Rt = { class: "m-form-group" }, Et = { class: "m-radio-group" }, Lt = { class: "m-radio-group__legend" }, Tt = { class: "m-radio-group__heading" }, Ot = { class: "m-radios" }, jt = /* @__PURE__ */ h({
|
|
581
581
|
__name: "MucRadioButtonGroup",
|
|
582
|
-
props: /* @__PURE__ */
|
|
582
|
+
props: /* @__PURE__ */ C({
|
|
583
583
|
heading: {},
|
|
584
584
|
disabled: { type: Boolean, default: !1 }
|
|
585
585
|
}, {
|
|
586
586
|
modelValue: { type: [Boolean, String, Array, Object, Number, null] },
|
|
587
587
|
modelModifiers: {}
|
|
588
588
|
}),
|
|
589
|
-
emits: /* @__PURE__ */
|
|
589
|
+
emits: /* @__PURE__ */ C(["change"], ["update:modelValue"]),
|
|
590
590
|
setup(a, { emit: t }) {
|
|
591
591
|
const s = T(a, "modelValue"), o = a, i = t;
|
|
592
592
|
return ae(K, {
|
|
@@ -606,20 +606,20 @@ const ie = ["href"], B = /* @__PURE__ */ v({
|
|
|
606
606
|
])
|
|
607
607
|
]));
|
|
608
608
|
}
|
|
609
|
-
}), X = (a) => (H("data-v-d28d341e"), a = a(),
|
|
609
|
+
}), X = (a) => (H("data-v-d28d341e"), a = a(), U(), a), Gt = { class: "m-form-group" }, Pt = { class: "m-label" }, qt = ["value"], Ht = /* @__PURE__ */ X(() => /* @__PURE__ */ e("svg", {
|
|
610
610
|
"aria-hidden": "true",
|
|
611
611
|
class: "icon"
|
|
612
612
|
}, [
|
|
613
613
|
/* @__PURE__ */ e("use", { "xlink:href": "#icon-chevron-down" })
|
|
614
|
-
], -1)),
|
|
614
|
+
], -1)), Ut = /* @__PURE__ */ X(() => /* @__PURE__ */ e("span", { class: "visually-hidden" }, "Auswahlliste öffnen", -1)), Nt = [
|
|
615
615
|
Ht,
|
|
616
|
-
|
|
617
|
-
],
|
|
616
|
+
Ut
|
|
617
|
+
], Wt = ["onMouseenter", "onClick"], zt = {
|
|
618
618
|
key: 0,
|
|
619
619
|
class: "m-hint"
|
|
620
|
-
}, Dt = /* @__PURE__ */
|
|
620
|
+
}, Dt = /* @__PURE__ */ h({
|
|
621
621
|
__name: "MucSelect",
|
|
622
|
-
props: /* @__PURE__ */
|
|
622
|
+
props: /* @__PURE__ */ C({
|
|
623
623
|
items: {},
|
|
624
624
|
label: {},
|
|
625
625
|
hint: {},
|
|
@@ -635,12 +635,12 @@ const ie = ["href"], B = /* @__PURE__ */ v({
|
|
|
635
635
|
const t = T(a, "modelValue"), s = O(!1), o = O(), i = O(), l = a, m = () => {
|
|
636
636
|
s.value = !s.value, i.value = o.value;
|
|
637
637
|
}, f = (p) => {
|
|
638
|
-
o.value = p, l.multiple ?
|
|
639
|
-
},
|
|
638
|
+
o.value = p, l.multiple ? w(p) : v(p), l.multiple || (s.value = !1);
|
|
639
|
+
}, v = (p) => {
|
|
640
640
|
typeof t.value == "object" && (t.value = t.value.join(" ")), t.value = t.value === p ? "" : p;
|
|
641
|
-
},
|
|
641
|
+
}, w = (p) => {
|
|
642
642
|
typeof t.value == "string" && (t.value = [t.value]), t.value = t.value.includes(p) ? t.value.filter((P) => P !== p) : [...t.value, p];
|
|
643
|
-
},
|
|
643
|
+
}, y = r(() => typeof t.value == "string" ? t.value : t.value.join(l.multiple ? ", " : " ")), d = (p) => p === i.value ? "active" : "", S = (p) => t.value.includes(p) ? "selected" : "", I = () => i.value = "", G = r(
|
|
644
644
|
() => s.value ? "display-listbox" : ""
|
|
645
645
|
), J = r(
|
|
646
646
|
() => l.multiple ? "m-input-wrapper--multiselect multiselect" : "m-input-wrapper--select"
|
|
@@ -648,44 +648,44 @@ const ie = ["href"], B = /* @__PURE__ */ v({
|
|
|
648
648
|
return (p, P) => (n(), c("div", Gt, [
|
|
649
649
|
e("label", Pt, u(p.label), 1),
|
|
650
650
|
e("div", {
|
|
651
|
-
class:
|
|
651
|
+
class: b(["m-input-wrapper", J.value])
|
|
652
652
|
}, [
|
|
653
653
|
e("input", {
|
|
654
654
|
type: "text",
|
|
655
655
|
class: "m-input m-combobox m-combobox--single",
|
|
656
|
-
value:
|
|
656
|
+
value: y.value,
|
|
657
657
|
onClick: m,
|
|
658
658
|
readonly: ""
|
|
659
659
|
}, null, 8, qt),
|
|
660
660
|
e("span", {
|
|
661
661
|
class: "m-input__trigger",
|
|
662
662
|
onClick: m
|
|
663
|
-
},
|
|
663
|
+
}, Nt),
|
|
664
664
|
e("ul", {
|
|
665
|
-
class:
|
|
666
|
-
onMouseleave:
|
|
665
|
+
class: b(["listbox", G.value]),
|
|
666
|
+
onMouseleave: I
|
|
667
667
|
}, [
|
|
668
|
-
(n(!0), c(E, null, L(l.items, (
|
|
668
|
+
(n(!0), c(E, null, L(l.items, (x, Q) => (n(), c("li", {
|
|
669
669
|
key: Q,
|
|
670
|
-
class:
|
|
671
|
-
onMouseenter: (Y) => i.value =
|
|
672
|
-
onClick: (Y) => f(
|
|
673
|
-
}, u(
|
|
670
|
+
class: b(["option", [d(x), S(x)]]),
|
|
671
|
+
onMouseenter: (Y) => i.value = x,
|
|
672
|
+
onClick: (Y) => f(x)
|
|
673
|
+
}, u(x), 43, Wt))), 128))
|
|
674
674
|
], 34)
|
|
675
675
|
], 2),
|
|
676
|
-
p.hint ? (n(), c("p", zt, u(p.hint), 1)) :
|
|
676
|
+
p.hint ? (n(), c("p", zt, u(p.hint), 1)) : g("", !0)
|
|
677
677
|
]));
|
|
678
678
|
}
|
|
679
|
-
}), Ft = /* @__PURE__ */
|
|
679
|
+
}), Ft = /* @__PURE__ */ V(Dt, [["__scopeId", "data-v-d28d341e"]]), Kt = { class: "m-form-group has-error" }, Xt = {
|
|
680
680
|
for: "textarea",
|
|
681
681
|
class: "m-label"
|
|
682
682
|
}, Jt = {
|
|
683
683
|
key: 0,
|
|
684
684
|
"aria-hidden": "true",
|
|
685
685
|
class: "mandatory"
|
|
686
|
-
}, Qt = /* @__PURE__ */ e("span", { class: "visually-hidden" }, "(erforderlich)", -1), Yt = { class: "m-error-message" }, Zt = { class: "m-input-wrapper" }, es = ["rows", "placeholder"], ts = { class: "m-hint" }, ss = /* @__PURE__ */
|
|
686
|
+
}, Qt = /* @__PURE__ */ e("span", { class: "visually-hidden" }, "(erforderlich)", -1), Yt = { class: "m-error-message" }, Zt = { class: "m-input-wrapper" }, es = ["rows", "placeholder"], ts = { class: "m-hint" }, ss = /* @__PURE__ */ h({
|
|
687
687
|
__name: "MucTextArea",
|
|
688
|
-
props: /* @__PURE__ */
|
|
688
|
+
props: /* @__PURE__ */ C({
|
|
689
689
|
errorMsg: {},
|
|
690
690
|
rows: { default: 3 },
|
|
691
691
|
placeholder: {},
|
|
@@ -701,11 +701,11 @@ const ie = ["href"], B = /* @__PURE__ */ v({
|
|
|
701
701
|
const t = T(a, "modelValue");
|
|
702
702
|
return (s, o) => (n(), c("div", Kt, [
|
|
703
703
|
e("label", Xt, [
|
|
704
|
-
|
|
704
|
+
$(u(s.label) + " ", 1),
|
|
705
705
|
s.required ? (n(), c("span", Jt, [
|
|
706
|
-
|
|
706
|
+
$(" * "),
|
|
707
707
|
Qt
|
|
708
|
-
])) :
|
|
708
|
+
])) : g("", !0)
|
|
709
709
|
]),
|
|
710
710
|
e("p", Yt, u(s.errorMsg), 1),
|
|
711
711
|
e("div", Zt, [
|
|
@@ -731,7 +731,7 @@ const ie = ["href"], B = /* @__PURE__ */ v({
|
|
|
731
731
|
}, cs = { class: "m-intro-vertical__title" }, is = {
|
|
732
732
|
key: 0,
|
|
733
733
|
class: "muc-divider"
|
|
734
|
-
}, rs = { class: "m-intro-vertical__content" }, us = { style: { "padding-bottom": "32px" } }, ds = /* @__PURE__ */
|
|
734
|
+
}, rs = { class: "m-intro-vertical__content" }, us = { style: { "padding-bottom": "32px" } }, ds = /* @__PURE__ */ h({
|
|
735
735
|
__name: "MucIntro",
|
|
736
736
|
props: {
|
|
737
737
|
title: {},
|
|
@@ -743,10 +743,10 @@ const ie = ["href"], B = /* @__PURE__ */ v({
|
|
|
743
743
|
e("div", as, [
|
|
744
744
|
e("div", ns, [
|
|
745
745
|
e("div", null, [
|
|
746
|
-
t.tagline ? (n(), c("p", ls, u(t.tagline), 1)) :
|
|
746
|
+
t.tagline ? (n(), c("p", ls, u(t.tagline), 1)) : g("", !0),
|
|
747
747
|
e("h1", cs, u(t.title), 1)
|
|
748
748
|
]),
|
|
749
|
-
t.divider ? (n(), c("div", is)) :
|
|
749
|
+
t.divider ? (n(), c("div", is)) : g("", !0),
|
|
750
750
|
e("div", rs, [
|
|
751
751
|
e("p", us, [
|
|
752
752
|
_(t.$slots, "default", {}, void 0, !0)
|
|
@@ -756,48 +756,78 @@ const ie = ["href"], B = /* @__PURE__ */ v({
|
|
|
756
756
|
])
|
|
757
757
|
]));
|
|
758
758
|
}
|
|
759
|
-
}), _s = /* @__PURE__ */
|
|
759
|
+
}), _s = /* @__PURE__ */ V(ds, [["__scopeId", "data-v-9ad3adc7"]]), ms = ["href", "target"], ps = /* @__PURE__ */ h({
|
|
760
|
+
__name: "MucLink",
|
|
761
|
+
props: {
|
|
762
|
+
label: {},
|
|
763
|
+
href: { default: "#" },
|
|
764
|
+
icon: {},
|
|
765
|
+
target: { default: "_blank" },
|
|
766
|
+
noUnderline: { type: Boolean, default: !1 }
|
|
767
|
+
},
|
|
768
|
+
setup(a) {
|
|
769
|
+
const t = a, s = r(
|
|
770
|
+
() => t.noUnderline ? "m-link--reversed-underline" : ""
|
|
771
|
+
);
|
|
772
|
+
return (o, i) => (n(), c("a", {
|
|
773
|
+
href: o.href,
|
|
774
|
+
target: o.target,
|
|
775
|
+
class: b(["m-link", s.value])
|
|
776
|
+
}, [
|
|
777
|
+
$(u(o.label) + " ", 1),
|
|
778
|
+
_(o.$slots, "icon", {}, () => [
|
|
779
|
+
o.icon ? (n(), j(k(M), {
|
|
780
|
+
key: 0,
|
|
781
|
+
icon: o.icon,
|
|
782
|
+
class: "icon icon--after"
|
|
783
|
+
}, null, 8, ["icon"])) : g("", !0)
|
|
784
|
+
])
|
|
785
|
+
], 10, ms));
|
|
786
|
+
}
|
|
787
|
+
}), q = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
760
788
|
__proto__: null,
|
|
761
789
|
MucBanner: _e,
|
|
762
790
|
MucButton: D,
|
|
763
791
|
MucCallout: ke,
|
|
764
|
-
MucCard:
|
|
792
|
+
MucCard: Ve,
|
|
765
793
|
MucCardContainer: Re,
|
|
766
794
|
MucCheckbox: Ze,
|
|
767
795
|
MucCheckboxGroup: it,
|
|
768
796
|
MucComment: F,
|
|
769
797
|
MucCommentText: Je,
|
|
770
798
|
MucErrorList: mt,
|
|
771
|
-
MucIcon:
|
|
799
|
+
MucIcon: M,
|
|
772
800
|
MucInput: It,
|
|
773
801
|
MucIntro: _s,
|
|
802
|
+
MucLink: ps,
|
|
774
803
|
MucRadioButton: At,
|
|
775
804
|
MucRadioButtonGroup: jt,
|
|
776
805
|
MucSelect: Ft,
|
|
777
806
|
MucTextArea: ss
|
|
778
807
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
779
|
-
function
|
|
808
|
+
function hs(a) {
|
|
780
809
|
for (const t in q)
|
|
781
810
|
a.component(t, q[t]);
|
|
782
811
|
}
|
|
783
|
-
const
|
|
812
|
+
const fs = { install: hs };
|
|
784
813
|
export {
|
|
785
814
|
_e as MucBanner,
|
|
786
815
|
D as MucButton,
|
|
787
816
|
ke as MucCallout,
|
|
788
|
-
|
|
817
|
+
Ve as MucCard,
|
|
789
818
|
Re as MucCardContainer,
|
|
790
819
|
Ze as MucCheckbox,
|
|
791
820
|
it as MucCheckboxGroup,
|
|
792
821
|
F as MucComment,
|
|
793
822
|
Je as MucCommentText,
|
|
794
823
|
mt as MucErrorList,
|
|
795
|
-
|
|
824
|
+
M as MucIcon,
|
|
796
825
|
It as MucInput,
|
|
797
826
|
_s as MucIntro,
|
|
827
|
+
ps as MucLink,
|
|
798
828
|
At as MucRadioButton,
|
|
799
829
|
jt as MucRadioButtonGroup,
|
|
800
830
|
Ft as MucSelect,
|
|
801
831
|
ss as MucTextArea,
|
|
802
|
-
|
|
832
|
+
fs as default
|
|
803
833
|
};
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"author": "FabianWilms",
|
|
4
4
|
"description": "A vue component library of some of the components available from https://patternlab.muenchen.space",
|
|
5
5
|
"license": "MIT",
|
|
6
|
-
"version": "1.
|
|
6
|
+
"version": "1.13.0-beta.1",
|
|
7
7
|
"private": false,
|
|
8
8
|
"module": "./dist/muc-patternlab-vue.es.js",
|
|
9
9
|
"types": "./dist/types/index.d.ts",
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { fn } from "@storybook/test";
|
|
2
|
+
|
|
3
|
+
import MucLink from "./MucLink.vue";
|
|
4
|
+
|
|
5
|
+
export default {
|
|
6
|
+
component: MucLink,
|
|
7
|
+
title: "MucLink",
|
|
8
|
+
tags: ["autodocs"],
|
|
9
|
+
// 👇 Use `fn` to spy on the onClick arg, which will appear in the actions panel once invoked
|
|
10
|
+
args: { onClick: fn() },
|
|
11
|
+
parameters: {
|
|
12
|
+
docs: {
|
|
13
|
+
description: {
|
|
14
|
+
component: `The \`muc-link\` component is a wrapper commponent for a standard html-a tag.
|
|
15
|
+
|
|
16
|
+
[🔗 Patternlab-Docs](https://patternlab.muenchen.space/?p=viewall-elements-links)
|
|
17
|
+
`,
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export const Weather = {
|
|
24
|
+
args: {
|
|
25
|
+
label: "Generic link label",
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
export const LinkWithIcon = {
|
|
30
|
+
args: {
|
|
31
|
+
icon: "youtube",
|
|
32
|
+
label: "youtube",
|
|
33
|
+
href: "https://www.youtube.com",
|
|
34
|
+
noUnderline: true,
|
|
35
|
+
},
|
|
36
|
+
};
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<a
|
|
3
|
+
:href="href"
|
|
4
|
+
:target="target"
|
|
5
|
+
class="m-link"
|
|
6
|
+
:class="reversedUnderlineClass"
|
|
7
|
+
>
|
|
8
|
+
{{ label }}
|
|
9
|
+
<slot name="icon">
|
|
10
|
+
<muc-icon
|
|
11
|
+
v-if="icon"
|
|
12
|
+
:icon="icon"
|
|
13
|
+
class="icon icon--after"
|
|
14
|
+
/>
|
|
15
|
+
</slot>
|
|
16
|
+
</a>
|
|
17
|
+
</template>
|
|
18
|
+
|
|
19
|
+
<script setup lang="ts">
|
|
20
|
+
import { computed } from "vue";
|
|
21
|
+
|
|
22
|
+
import { MucIcon } from "../Icon";
|
|
23
|
+
|
|
24
|
+
const props = withDefaults(
|
|
25
|
+
defineProps<{
|
|
26
|
+
/**
|
|
27
|
+
* Text shown as the link
|
|
28
|
+
*/
|
|
29
|
+
label: string;
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* href to link to
|
|
33
|
+
*/
|
|
34
|
+
href?: string;
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Optional icon displayed behind the text
|
|
38
|
+
*/
|
|
39
|
+
icon?: string;
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Target on the link
|
|
43
|
+
*/
|
|
44
|
+
target?: string;
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Removes the underline from the label text
|
|
48
|
+
*/
|
|
49
|
+
noUnderline?: boolean;
|
|
50
|
+
}>(),
|
|
51
|
+
{
|
|
52
|
+
noUnderline: false,
|
|
53
|
+
href: "#",
|
|
54
|
+
target: "_blank",
|
|
55
|
+
}
|
|
56
|
+
);
|
|
57
|
+
|
|
58
|
+
defineSlots<{
|
|
59
|
+
/**
|
|
60
|
+
* Icon slots overrides chosen prop icon.
|
|
61
|
+
* The icon can be displayed infront or behind the label with these classes: icon--after | icon--before
|
|
62
|
+
*/
|
|
63
|
+
icon(): void;
|
|
64
|
+
}>();
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Computed class to remove the underline if chosen.
|
|
68
|
+
*/
|
|
69
|
+
const reversedUnderlineClass = computed(() =>
|
|
70
|
+
props.noUnderline ? "m-link--reversed-underline" : ""
|
|
71
|
+
);
|
|
72
|
+
</script>
|
|
73
|
+
|
|
74
|
+
<style scoped></style>
|
package/src/components/index.ts
CHANGED
|
@@ -15,6 +15,7 @@ import {
|
|
|
15
15
|
} from "./Form";
|
|
16
16
|
import { MucIcon } from "./Icon";
|
|
17
17
|
import { MucIntro } from "./Intro";
|
|
18
|
+
import { MucLink } from "./Link";
|
|
18
19
|
|
|
19
20
|
export {
|
|
20
21
|
MucButton,
|
|
@@ -34,4 +35,5 @@ export {
|
|
|
34
35
|
MucSelect,
|
|
35
36
|
MucErrorList,
|
|
36
37
|
MucIcon,
|
|
38
|
+
MucLink,
|
|
37
39
|
};
|