@piveau/dpi 0.1.0-twinby.0 → 0.2.0-alpha.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/assets/dpi.css +1 -1
- package/dist/data-provider-interface/HappyFlowComponents/ui/BasicInfosStep/ProjectDescriptionStep.vue.js +70 -0
- package/dist/data-provider-interface/HappyFlowComponents/ui/BasicInfosStep/ProjectNameStep.vue.js +44 -15
- package/dist/data-provider-interface/HappyFlowComponents/ui/BasicInfosStep/ProjectOrganisationStep.vue.js +2 -2
- package/dist/data-provider-interface/HappyFlowComponents/ui/BasicInfosStep/ProjectOrganisationStep.vue2.js +30 -28
- package/dist/data-provider-interface/HappyFlowComponents/ui/Card.vue.js +7 -0
- package/dist/data-provider-interface/HappyFlowComponents/ui/Card.vue2.js +36 -0
- package/dist/data-provider-interface/HappyFlowComponents/ui/TextArea/TextAreaDefinition.js +20 -0
- package/dist/data-provider-interface/HappyFlowComponents/ui/TextArea/TextAreaFormKit.vue.js +78 -0
- package/dist/data-provider-interface/HappyFlowComponents/ui/TextArea/TextAreaFormKit.vue2.js +4 -0
- package/dist/data-provider-interface/HappyFlowComponents/ui/TextAreaV3.vue.js +74 -55
- package/dist/data-provider-interface/components/HappyFlowLandingPage.vue.js +50 -43
- package/dist/data-provider-interface/components/InputPageStep.vue.js +3 -3
- package/dist/data-provider-interface/components/StepActionsSection.vue.js +7 -0
- package/dist/data-provider-interface/components/StepActionsSection.vue2.js +54 -0
- package/dist/data-provider-interface/composables/useDpiStepper.js +78 -68
- package/dist/data-provider-interface/utils/injectionKeys.js +0 -1
- package/dist/data-provider-interface/views/InputPageProject.vue.js +230 -218
- package/dist/stories/components/DemoStep.vue.js +36 -32
- package/dist/stories/components/DemoStepper.vue.js +1 -1
- package/dist/stories/components/DemoStepper.vue2.js +61 -54
- package/package.json +3 -1
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { ref as p, computed as d, createElementBlock as m, openBlock as h, createElementVNode as e, createVNode as s, unref as r, withCtx as i, createTextVNode as g } from "vue";
|
|
2
|
+
import { FormKit as f } from "@formkit/vue";
|
|
3
|
+
import { PhLightbulb as v } from "@phosphor-icons/vue";
|
|
4
|
+
import _ from "../../../components/StepActionsSection.vue.js";
|
|
5
|
+
import b from "../Card.vue.js";
|
|
6
|
+
import z from "../TextArea/TextAreaDefinition.js";
|
|
7
|
+
/* empty css */
|
|
8
|
+
import k from "../../../../_virtual/_plugin-vue_export-helper.js";
|
|
9
|
+
const y = { class: "dpiV3_page V3-typography" }, w = { class: "funny-section" }, x = { class: "funny-flex" }, P = { class: "funny-section" }, j = { class: "funny-section" }, l = 500, S = {
|
|
10
|
+
__name: "ProjectDescriptionStep",
|
|
11
|
+
setup(V) {
|
|
12
|
+
const n = p(""), a = d(() => n.value.length);
|
|
13
|
+
function u(o) {
|
|
14
|
+
n.value = o.slice(0, l);
|
|
15
|
+
}
|
|
16
|
+
return (o, t) => (h(), m("div", y, [
|
|
17
|
+
e("section", w, [
|
|
18
|
+
e("div", x, [
|
|
19
|
+
t[1] || (t[1] = e("h4", null, "Beschreiben Sie Ihr Projekt", -1)),
|
|
20
|
+
t[2] || (t[2] = e("span", { class: "copy-large-regular" }, " Beschreiben Sie die wichtigsten Inhalte Ihres Projekts in wenigen, klaren Sätzen, damit interessierte Personen schnell einschätzen können, ob das Projekt für sie relevant ist. ", -1)),
|
|
21
|
+
s(r(f), {
|
|
22
|
+
id: "projectDescription",
|
|
23
|
+
modelValue: n.value,
|
|
24
|
+
"onUpdate:modelValue": t[0] || (t[0] = (c) => n.value = c),
|
|
25
|
+
label: "Beschreibung",
|
|
26
|
+
type: r(z),
|
|
27
|
+
name: "project_description",
|
|
28
|
+
"text-label": "Name",
|
|
29
|
+
placeholder: "Geben Sie Ihrem Projekt einen Namen.",
|
|
30
|
+
validation: "required|length:0,500",
|
|
31
|
+
"validation-visibility": "live",
|
|
32
|
+
hint: "true",
|
|
33
|
+
help: `${a.value} von ${l} Zeichen`,
|
|
34
|
+
"count-hint": !0,
|
|
35
|
+
onInput: u
|
|
36
|
+
}, null, 8, ["modelValue", "type", "help"])
|
|
37
|
+
])
|
|
38
|
+
]),
|
|
39
|
+
e("section", P, [
|
|
40
|
+
s(_)
|
|
41
|
+
]),
|
|
42
|
+
e("section", j, [
|
|
43
|
+
s(b, { variant: "default" }, {
|
|
44
|
+
icon: i(() => [
|
|
45
|
+
s(r(v), {
|
|
46
|
+
size: 32,
|
|
47
|
+
color: "#009fe3"
|
|
48
|
+
})
|
|
49
|
+
]),
|
|
50
|
+
title: i(() => t[3] || (t[3] = [
|
|
51
|
+
g(" Beispiel ", -1)
|
|
52
|
+
])),
|
|
53
|
+
default: i(() => [
|
|
54
|
+
t[4] || (t[4] = e("div", { class: "copy-large-regular" }, [
|
|
55
|
+
e("p", { class: "copy-large-semi-bold" }, " Name "),
|
|
56
|
+
e("p", null, "Hochwasserschutzprogramm mit Prognosen"),
|
|
57
|
+
e("p", { class: "copy-large-semi-bold" }, " Beschreibung "),
|
|
58
|
+
e("p", null, "Im Rahmen dieses Projekts wurde ein digitaler Zwilling zur Unterstützung des Hochwasserschutzes in Musterstadt aufgebaut. Das System nutzt aktuelle Wetterdaten und Flusspegelmessungen, um Überschwemmungsrisiken frühzeitig zu erkennen. Durch die Echtzeit-Auswertung verschiedener Datensätze können Einsatzkräfte und Verwaltung rechtzeitig Maßnahmen planen und umsetzen.")
|
|
59
|
+
], -1))
|
|
60
|
+
]),
|
|
61
|
+
_: 1,
|
|
62
|
+
__: [4]
|
|
63
|
+
})
|
|
64
|
+
])
|
|
65
|
+
]));
|
|
66
|
+
}
|
|
67
|
+
}, H = /* @__PURE__ */ k(S, [["__scopeId", "data-v-cca9e655"]]);
|
|
68
|
+
export {
|
|
69
|
+
H as default
|
|
70
|
+
};
|
package/dist/data-provider-interface/HappyFlowComponents/ui/BasicInfosStep/ProjectNameStep.vue.js
CHANGED
|
@@ -1,18 +1,21 @@
|
|
|
1
|
-
import { createElementBlock as
|
|
2
|
-
import { FormKit as
|
|
3
|
-
import
|
|
1
|
+
import { createElementBlock as i, openBlock as o, createElementVNode as e, createVNode as n, unref as s, withCtx as r, createTextVNode as a } from "vue";
|
|
2
|
+
import { FormKit as l } from "@formkit/vue";
|
|
3
|
+
import { PhLightbulb as u } from "@phosphor-icons/vue";
|
|
4
|
+
import m from "../../../components/StepActionsSection.vue.js";
|
|
5
|
+
import c from "../Card.vue.js";
|
|
6
|
+
import d from "../InputField/InputFieldDefinition.js";
|
|
4
7
|
/* empty css */
|
|
5
|
-
import
|
|
6
|
-
const
|
|
8
|
+
import p from "../../../../_virtual/_plugin-vue_export-helper.js";
|
|
9
|
+
const f = { class: "dpiV3_page V3-typography" }, g = { class: "funny-section" }, h = { class: "funny-flex" }, _ = { class: "funny-section" }, k = { class: "funny-section" }, b = {
|
|
7
10
|
__name: "ProjectNameStep",
|
|
8
|
-
setup(
|
|
9
|
-
return (
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
type:
|
|
11
|
+
setup(y) {
|
|
12
|
+
return (z, t) => (o(), i("div", f, [
|
|
13
|
+
e("section", g, [
|
|
14
|
+
e("div", h, [
|
|
15
|
+
t[0] || (t[0] = e("h4", null, " Geben Sie Ihrem Projekt einen Namen ", -1)),
|
|
16
|
+
t[1] || (t[1] = e("span", { class: "copy-large-regular" }, "Ein aussagekräftiger Projektname bildet den ersten Grundstein für eine gute Auffindbarkeit Ihres Projekts.", -1)),
|
|
17
|
+
n(s(l), {
|
|
18
|
+
type: s(d),
|
|
16
19
|
name: "projectName",
|
|
17
20
|
"text-label": "Name",
|
|
18
21
|
placeholder: "Geben Sie Ihrem Projekt einen Namen.",
|
|
@@ -20,10 +23,36 @@ const m = { class: "dpiV3_page V3-typography" }, p = { class: "funny-section" },
|
|
|
20
23
|
"validation-label": "Name"
|
|
21
24
|
}, null, 8, ["type"])
|
|
22
25
|
])
|
|
26
|
+
]),
|
|
27
|
+
e("section", _, [
|
|
28
|
+
n(m)
|
|
29
|
+
]),
|
|
30
|
+
e("section", k, [
|
|
31
|
+
n(c, { variant: "default" }, {
|
|
32
|
+
icon: r(() => [
|
|
33
|
+
n(s(u), {
|
|
34
|
+
size: 32,
|
|
35
|
+
color: "#009fe3"
|
|
36
|
+
})
|
|
37
|
+
]),
|
|
38
|
+
title: r(() => t[2] || (t[2] = [
|
|
39
|
+
a(" Beispiel ", -1)
|
|
40
|
+
])),
|
|
41
|
+
default: r(() => [
|
|
42
|
+
t[3] || (t[3] = e("div", { class: "copy-large-regular" }, [
|
|
43
|
+
e("p", { class: "copy-large-semi-bold" }, " Name "),
|
|
44
|
+
e("p", null, "Hochwasserschutzprogramm mit Prognosen"),
|
|
45
|
+
e("p", { class: "copy-large-semi-bold" }, " Beschreibung "),
|
|
46
|
+
e("p", null, "Im Rahmen dieses Projekts wurde ein digitaler Zwilling zur Unterstützung des Hochwasserschutzes in Musterstadt aufgebaut. Das System nutzt aktuelle Wetterdaten und Flusspegelmessungen, um Überschwemmungsrisiken frühzeitig zu erkennen. Durch die Echtzeit-Auswertung verschiedener Datensätze können Einsatzkräfte und Verwaltung rechtzeitig Maßnahmen planen und umsetzen.")
|
|
47
|
+
], -1))
|
|
48
|
+
]),
|
|
49
|
+
_: 1,
|
|
50
|
+
__: [3]
|
|
51
|
+
})
|
|
23
52
|
])
|
|
24
53
|
]));
|
|
25
54
|
}
|
|
26
|
-
},
|
|
55
|
+
}, E = /* @__PURE__ */ p(b, [["__scopeId", "data-v-c8a3aa03"]]);
|
|
27
56
|
export {
|
|
28
|
-
|
|
57
|
+
E as default
|
|
29
58
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import o from "./ProjectOrganisationStep.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import t from "../../../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
-
const
|
|
4
|
+
const e = /* @__PURE__ */ t(o, [["__scopeId", "data-v-a327036a"]]);
|
|
5
5
|
export {
|
|
6
|
-
|
|
6
|
+
e as default
|
|
7
7
|
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { defineComponent as l, createElementBlock as
|
|
2
|
-
import { FormKit as
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
const
|
|
1
|
+
import { defineComponent as l, createElementBlock as d, openBlock as m, createElementVNode as n, renderSlot as u, createVNode as i, withCtx as r, unref as t } from "vue";
|
|
2
|
+
import { FormKit as a } from "@formkit/vue";
|
|
3
|
+
import p from "../../../../stories/components/PartnerCard.vue.js";
|
|
4
|
+
import o from "../InputField/InputFieldDefinition.js";
|
|
5
|
+
const g = { class: "dpiV3_page V3-typography" }, f = { class: "funny-section" }, c = { class: "funny-flex" }, h = { class: "funny-section" }, b = { class: "funny-flex" }, P = /* @__PURE__ */ l({
|
|
6
6
|
__name: "ProjectOrganisationStep",
|
|
7
7
|
props: {
|
|
8
8
|
icon: {},
|
|
@@ -10,44 +10,46 @@ const u = { class: "dpiV3_page V3-typography" }, p = { class: "funny-section" },
|
|
|
10
10
|
phone: {},
|
|
11
11
|
mail: {}
|
|
12
12
|
},
|
|
13
|
-
setup(
|
|
14
|
-
return (
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
e("h4", null, " Informationen zu Ihrer Organisation "),
|
|
18
|
-
e("span", { class: "copy-large-regular" }, "Die Angaben zur durchführenden Organisation werden nicht hier bei der Projektdokumentation erfasst. Diese Daten werden automatisch aus den Kontoinformationen übernommen, die bei uns hinterlegt sind. So wird sichergestellt, dass die Angaben zu Ihrer Organisation stets konsistent und aktuell bleiben, ohne dass sie mehrfach eingegeben werden müssen."),
|
|
19
|
-
|
|
13
|
+
setup(k) {
|
|
14
|
+
return (s, e) => (m(), d("div", g, [
|
|
15
|
+
n("section", f, [
|
|
16
|
+
n("div", c, [
|
|
17
|
+
e[1] || (e[1] = n("h4", null, " Informationen zu Ihrer Organisation ", -1)),
|
|
18
|
+
e[2] || (e[2] = n("span", { class: "copy-large-regular" }, "Die Angaben zur durchführenden Organisation werden nicht hier bei der Projektdokumentation erfasst. Diese Daten werden automatisch aus den Kontoinformationen übernommen, die bei uns hinterlegt sind. So wird sichergestellt, dass die Angaben zu Ihrer Organisation stets konsistent und aktuell bleiben, ohne dass sie mehrfach eingegeben werden müssen.", -1)),
|
|
19
|
+
u(s.$slots, "organization", {}, () => [
|
|
20
|
+
e[0] || (e[0] = n("div", { class: "organisation-container" }, " Organization ", -1))
|
|
21
|
+
], !0)
|
|
20
22
|
])
|
|
21
|
-
]
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
default:
|
|
28
|
-
|
|
23
|
+
]),
|
|
24
|
+
n("section", h, [
|
|
25
|
+
n("div", b, [
|
|
26
|
+
e[3] || (e[3] = n("h5", null, " Projektkontakt (optional) ", -1)),
|
|
27
|
+
e[4] || (e[4] = n("span", { class: "copy-large-regular" }, "Bitte nennen Sie eine allgemeine E-Mail-Adresse oder Funktionsadresse, unter der interessierte Personen Rückfragen zum Projekt stellen können. Bitte geben Sie keine personenbezogenen Daten an.", -1)),
|
|
28
|
+
i(p, null, {
|
|
29
|
+
default: r(() => [
|
|
30
|
+
i(t(a), {
|
|
29
31
|
type: "group",
|
|
30
32
|
name: "contact"
|
|
31
33
|
}, {
|
|
32
|
-
default:
|
|
33
|
-
|
|
34
|
-
type:
|
|
34
|
+
default: r(() => [
|
|
35
|
+
i(t(a), {
|
|
36
|
+
type: t(o),
|
|
35
37
|
name: "name",
|
|
36
38
|
"text-label": "Name",
|
|
37
39
|
placeholder: "Geben Sie Ihrem Projekt einen Namen.",
|
|
38
40
|
validation: "required",
|
|
39
41
|
"validation-label": "Name"
|
|
40
42
|
}, null, 8, ["type"]),
|
|
41
|
-
|
|
42
|
-
type:
|
|
43
|
+
i(t(a), {
|
|
44
|
+
type: t(o),
|
|
43
45
|
name: "mail",
|
|
44
46
|
"text-label": "Name",
|
|
45
47
|
placeholder: "Geben Sie Ihrem Projekt einen Namen.",
|
|
46
48
|
validation: "required",
|
|
47
49
|
"validation-label": "Name"
|
|
48
50
|
}, null, 8, ["type"]),
|
|
49
|
-
|
|
50
|
-
type:
|
|
51
|
+
i(t(a), {
|
|
52
|
+
type: t(o),
|
|
51
53
|
name: "phone",
|
|
52
54
|
"text-label": "Name",
|
|
53
55
|
placeholder: "Geben Sie Ihrem Projekt einen Namen.",
|
|
@@ -66,5 +68,5 @@ const u = { class: "dpiV3_page V3-typography" }, p = { class: "funny-section" },
|
|
|
66
68
|
}
|
|
67
69
|
});
|
|
68
70
|
export {
|
|
69
|
-
|
|
71
|
+
P as default
|
|
70
72
|
};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { defineComponent as l, computed as n, createElementBlock as t, openBlock as o, normalizeClass as c, createCommentVNode as a, createElementVNode as _, renderSlot as r } from "vue";
|
|
2
|
+
const p = {
|
|
3
|
+
key: 0,
|
|
4
|
+
class: "dpiV3_Card_Icon_Title"
|
|
5
|
+
}, u = {
|
|
6
|
+
key: 0,
|
|
7
|
+
class: "dpiV3_Card_Info_Text copy-large-semi-bold"
|
|
8
|
+
}, m = { class: "dpiV3_Card_Content" }, f = /* @__PURE__ */ l({
|
|
9
|
+
__name: "Card",
|
|
10
|
+
props: {
|
|
11
|
+
variant: { default: "default" }
|
|
12
|
+
},
|
|
13
|
+
setup(d) {
|
|
14
|
+
const s = d, i = n(() => ({
|
|
15
|
+
dpiV3_Card: !0,
|
|
16
|
+
"dpiV3_Card--default": s.variant === "default",
|
|
17
|
+
"dpiV3_Card--error": s.variant === "error"
|
|
18
|
+
}));
|
|
19
|
+
return (e, C) => (o(), t("div", {
|
|
20
|
+
class: c(i.value)
|
|
21
|
+
}, [
|
|
22
|
+
e.$slots.icon ? (o(), t("div", p, [
|
|
23
|
+
r(e.$slots, "icon", {}, void 0, !0),
|
|
24
|
+
e.$slots.title ? (o(), t("div", u, [
|
|
25
|
+
r(e.$slots, "title", {}, void 0, !0)
|
|
26
|
+
])) : a("", !0)
|
|
27
|
+
])) : a("", !0),
|
|
28
|
+
_("div", m, [
|
|
29
|
+
r(e.$slots, "default", {}, void 0, !0)
|
|
30
|
+
])
|
|
31
|
+
], 2));
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
export {
|
|
35
|
+
f as default
|
|
36
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import t from "./TextAreaFormKit.vue.js";
|
|
2
|
+
const o = {
|
|
3
|
+
type: "text",
|
|
4
|
+
schema: [],
|
|
5
|
+
component: t,
|
|
6
|
+
props: [
|
|
7
|
+
"label",
|
|
8
|
+
"placeholder",
|
|
9
|
+
"disabled",
|
|
10
|
+
"showDeleteButton",
|
|
11
|
+
"hint",
|
|
12
|
+
"maxlength",
|
|
13
|
+
"help",
|
|
14
|
+
"countHint"
|
|
15
|
+
],
|
|
16
|
+
inheritAttrs: !0
|
|
17
|
+
};
|
|
18
|
+
export {
|
|
19
|
+
o as default
|
|
20
|
+
};
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { defineComponent as k, computed as o, createBlock as B, openBlock as y } from "vue";
|
|
2
|
+
import E from "../TextAreaV3.vue.js";
|
|
3
|
+
const _ = /* @__PURE__ */ k({
|
|
4
|
+
__name: "TextAreaFormKit",
|
|
5
|
+
props: {
|
|
6
|
+
context: {},
|
|
7
|
+
maxlength: {}
|
|
8
|
+
},
|
|
9
|
+
setup(d) {
|
|
10
|
+
const t = d, a = t.maxlength || 500, s = o({
|
|
11
|
+
get: () => {
|
|
12
|
+
var e;
|
|
13
|
+
return ((e = t.context) == null ? void 0 : e._value) || "";
|
|
14
|
+
},
|
|
15
|
+
// set: (newValue: string) => {
|
|
16
|
+
// props.context?.node.input(newValue)
|
|
17
|
+
// },
|
|
18
|
+
set: (e) => {
|
|
19
|
+
var n;
|
|
20
|
+
const l = e.slice(0, a);
|
|
21
|
+
(n = t.context) == null || n.node.input(l);
|
|
22
|
+
}
|
|
23
|
+
}), p = o(() => {
|
|
24
|
+
var e;
|
|
25
|
+
return ((e = t.context) == null ? void 0 : e.label) || "";
|
|
26
|
+
}), x = o(() => {
|
|
27
|
+
var e;
|
|
28
|
+
return ((e = t.context) == null ? void 0 : e.placeholder) || "Enter text here...";
|
|
29
|
+
}), r = o(() => {
|
|
30
|
+
var e;
|
|
31
|
+
return ((e = t.context) == null ? void 0 : e.help) || "";
|
|
32
|
+
}), m = o(() => {
|
|
33
|
+
var e;
|
|
34
|
+
return ((e = t.context) == null ? void 0 : e.countHint) || "";
|
|
35
|
+
}), c = o(() => {
|
|
36
|
+
var e;
|
|
37
|
+
return Object.keys(((e = t.context) == null ? void 0 : e.messages) || {}).length > 0;
|
|
38
|
+
}), v = o(() => {
|
|
39
|
+
var l, n, u, i, h;
|
|
40
|
+
if (!c.value)
|
|
41
|
+
return "";
|
|
42
|
+
const e = (n = Object.keys(((l = t.context) == null ? void 0 : l.messages) || {})) == null ? void 0 : n[0];
|
|
43
|
+
return ((h = (i = (u = t.context) == null ? void 0 : u.messages) == null ? void 0 : i[e]) == null ? void 0 : h.value) || "";
|
|
44
|
+
}), g = o(() => {
|
|
45
|
+
var e;
|
|
46
|
+
return ((e = t.context) == null ? void 0 : e.disabled) || !1;
|
|
47
|
+
}), f = o(() => {
|
|
48
|
+
var e;
|
|
49
|
+
return ((e = t.context) == null ? void 0 : e.showDeleteButton) || !1;
|
|
50
|
+
}), b = o(() => {
|
|
51
|
+
var e;
|
|
52
|
+
return ((e = t.context) == null ? void 0 : e.hint) || !1;
|
|
53
|
+
}), w = () => {
|
|
54
|
+
s.value = "";
|
|
55
|
+
}, D = (e) => {
|
|
56
|
+
!["Backspace", "Delete", "ArrowLeft", "ArrowRight", "Tab"].includes(e.key) && s.value.length >= a && e.preventDefault();
|
|
57
|
+
};
|
|
58
|
+
return (e, l) => (y(), B(E, {
|
|
59
|
+
modelValue: s.value,
|
|
60
|
+
"onUpdate:modelValue": l[0] || (l[0] = (n) => s.value = n),
|
|
61
|
+
label: p.value,
|
|
62
|
+
placeholder: x.value,
|
|
63
|
+
help: r.value,
|
|
64
|
+
isDisabled: g.value,
|
|
65
|
+
showError: c.value,
|
|
66
|
+
errorMessage: v.value,
|
|
67
|
+
showDeleteButton: f.value,
|
|
68
|
+
hint: b.value,
|
|
69
|
+
hintMessage: r.value,
|
|
70
|
+
countHint: m.value,
|
|
71
|
+
onDeleteClicked: w,
|
|
72
|
+
onKeydown: D
|
|
73
|
+
}, null, 8, ["modelValue", "label", "placeholder", "help", "isDisabled", "showError", "errorMessage", "showDeleteButton", "hint", "hintMessage", "countHint"]));
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
export {
|
|
77
|
+
_ as default
|
|
78
|
+
};
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import { ref as
|
|
1
|
+
import { ref as a, watch as y, createElementBlock as c, openBlock as d, createElementVNode as l, createCommentVNode as p, createBlock as T, toDisplayString as v, normalizeStyle as C, normalizeClass as f, unref as n, withDirectives as S, vModelText as A } from "vue";
|
|
2
2
|
/* empty css */
|
|
3
3
|
/* empty css */
|
|
4
|
-
import
|
|
4
|
+
import H from "./TextButtonSmall.vue.js";
|
|
5
|
+
import { boolean as L } from "zod";
|
|
5
6
|
/* empty css */
|
|
6
|
-
import
|
|
7
|
-
const
|
|
8
|
-
key:
|
|
9
|
-
class: "
|
|
10
|
-
},
|
|
7
|
+
import j from "../../../_virtual/_plugin-vue_export-helper.js";
|
|
8
|
+
const z = { class: "dpiV3_input-field V3-typography" }, N = { class: "dpiV3_InputFieldBase" }, R = { class: "dpiV3_InputWithLabel" }, O = { class: "dpiV3_Top" }, U = { class: "dpiV3_Label" }, W = { class: "dpiV3_label copy-small-regular" }, q = ["disabled", "placeholder"], G = {
|
|
9
|
+
key: 1,
|
|
10
|
+
class: "dpiV3_errorText copy-small-regular"
|
|
11
|
+
}, J = {
|
|
11
12
|
__name: "TextAreaV3",
|
|
12
13
|
props: {
|
|
13
14
|
text: {
|
|
@@ -27,89 +28,107 @@ const N = { class: "dpiV3_input-field V3-typography" }, R = { class: "dpiV3_Inpu
|
|
|
27
28
|
placeholder: {},
|
|
28
29
|
hint: {},
|
|
29
30
|
modelValue: { type: String, default: "" },
|
|
30
|
-
showDeleteButton: { type: Boolean, default: !1 }
|
|
31
|
+
showDeleteButton: { type: Boolean, default: !1 },
|
|
32
|
+
errorMessage: {
|
|
33
|
+
type: String,
|
|
34
|
+
default: ""
|
|
35
|
+
},
|
|
36
|
+
hintMessage: {
|
|
37
|
+
type: String,
|
|
38
|
+
default: ""
|
|
39
|
+
},
|
|
40
|
+
countHint: {
|
|
41
|
+
type: L,
|
|
42
|
+
default: !1
|
|
43
|
+
}
|
|
31
44
|
},
|
|
32
45
|
emits: ["update:modelValue", "deleteClicked"],
|
|
33
46
|
setup(e, { emit: V }) {
|
|
34
|
-
let o =
|
|
35
|
-
const _ =
|
|
36
|
-
let
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
() =>
|
|
47
|
+
let o = a(!1), h = a(!1);
|
|
48
|
+
const _ = a(null);
|
|
49
|
+
let w = a(!1), t = a("inset 0 0 0 1px var(--neutral-30, #687178)"), u = a(!1), m = a(!1);
|
|
50
|
+
const s = e, r = a(s.modelValue), x = V;
|
|
51
|
+
y(
|
|
52
|
+
() => s.modelValue,
|
|
40
53
|
(i) => {
|
|
41
|
-
|
|
54
|
+
r.value = i;
|
|
42
55
|
}
|
|
43
|
-
),
|
|
44
|
-
|
|
56
|
+
), y(r, (i) => {
|
|
57
|
+
x("update:modelValue", i);
|
|
45
58
|
});
|
|
46
|
-
const
|
|
47
|
-
|
|
48
|
-
}, B = () => {
|
|
49
|
-
y.value = !1, n.value = !0, o.value = !0, t.value = "0 0 0 2px var(--blue-70, #009FE3)";
|
|
59
|
+
const g = () => {
|
|
60
|
+
x("deleteClicked");
|
|
50
61
|
}, E = () => {
|
|
51
|
-
|
|
62
|
+
w.value = !1, u.value = !0, o.value = !0, t.value = "0 0 0 2px var(--blue-70, #009FE3)";
|
|
63
|
+
}, B = () => {
|
|
64
|
+
u.value = !1, o.value = !1, t.value = "inset 0 0 0 1px var(--neutral-30, #687178)";
|
|
52
65
|
}, I = () => {
|
|
53
|
-
|
|
66
|
+
m.value = !0, t.value = "inset 0 0 0 1px var(--neutral-60, #687178)", u.value && (t.value = "0 0 0 2px var(--blue-70, #009FE3)");
|
|
67
|
+
}, M = () => {
|
|
68
|
+
m.value = !1, t.value = "inset 0 0 0 1px var(--neutral-30, #687178)", u.value && (t.value = "0 0 0 2px var(--blue-70, #009FE3)");
|
|
54
69
|
}, F = () => {
|
|
55
|
-
v.value = !1, t.value = "inset 0 0 0 1px var(--neutral-30, #687178)", n.value && (t.value = "0 0 0 2px var(--blue-70, #009FE3)");
|
|
56
|
-
}, D = () => {
|
|
57
70
|
o.value && (t.value = "0 0 0 2px var(--blue-70, #009FE3)");
|
|
58
|
-
},
|
|
71
|
+
}, k = () => {
|
|
59
72
|
t.value = "inset 0 0 0 2px var(--Focused)";
|
|
60
73
|
};
|
|
61
|
-
return (i,
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
e.showDeleteButton ? (
|
|
74
|
+
return (i, b) => (d(), c("div", z, [
|
|
75
|
+
l("div", N, [
|
|
76
|
+
l("div", R, [
|
|
77
|
+
l("div", O, [
|
|
78
|
+
l("div", U, [
|
|
79
|
+
l("label", W, v(s.label), 1),
|
|
80
|
+
e.showDeleteButton ? (d(), T(H, {
|
|
68
81
|
key: 0,
|
|
69
82
|
buttonText: "löschen",
|
|
70
|
-
onClick:
|
|
83
|
+
onClick: g,
|
|
71
84
|
tabindex: "0"
|
|
72
|
-
})) :
|
|
85
|
+
})) : p("", !0)
|
|
73
86
|
])
|
|
74
87
|
]),
|
|
75
|
-
|
|
76
|
-
class:
|
|
88
|
+
l("div", {
|
|
89
|
+
class: f(["dpiV3_Input", {
|
|
77
90
|
dpiV3_disabled: e.isDisabled,
|
|
78
|
-
"error-state": e.showError && !
|
|
79
|
-
"focused-error-state": e.showError &&
|
|
80
|
-
"filled-error-state": e.showError &&
|
|
91
|
+
"error-state": e.showError && !n(o) && !n(h),
|
|
92
|
+
"focused-error-state": e.showError && n(o),
|
|
93
|
+
"filled-error-state": e.showError && n(h)
|
|
81
94
|
}]),
|
|
82
95
|
onMouseenter: I,
|
|
83
|
-
onMouseleave:
|
|
84
|
-
onMousedown:
|
|
85
|
-
style: C({ "box-shadow":
|
|
96
|
+
onMouseleave: M,
|
|
97
|
+
onMousedown: F,
|
|
98
|
+
style: C({ "box-shadow": n(t) })
|
|
86
99
|
}, [
|
|
87
|
-
S(
|
|
100
|
+
S(l("textarea", {
|
|
88
101
|
ref_key: "inputRef",
|
|
89
102
|
ref: _,
|
|
90
|
-
"onUpdate:modelValue":
|
|
103
|
+
"onUpdate:modelValue": b[0] || (b[0] = (D) => r.value = D),
|
|
91
104
|
type: "text",
|
|
92
|
-
class:
|
|
105
|
+
class: f(["dpiV3_textArea copy-large-regular", {
|
|
93
106
|
"error-state": e.showError,
|
|
94
107
|
dpiV3_input_disabled: e.isDisabled
|
|
95
108
|
}]),
|
|
96
109
|
disabled: e.isDisabled,
|
|
97
110
|
placeholder: e.placeholder,
|
|
98
|
-
onFocus:
|
|
99
|
-
onBlur:
|
|
100
|
-
onMousedown:
|
|
111
|
+
onFocus: E,
|
|
112
|
+
onBlur: B,
|
|
113
|
+
onMousedown: k
|
|
101
114
|
}, null, 42, q), [
|
|
102
|
-
[A,
|
|
115
|
+
[A, r.value]
|
|
103
116
|
])
|
|
104
117
|
], 38)
|
|
105
118
|
]),
|
|
106
|
-
e.hint && !e.showError ? (
|
|
107
|
-
|
|
108
|
-
|
|
119
|
+
e.hint && !e.showError ? (d(), c("div", {
|
|
120
|
+
key: 0,
|
|
121
|
+
class: f(["dpiV3_hintText", { "copy-large-semi-bold justify-content-end": s.countHint, "copy-small-regular": !s.countHint }])
|
|
122
|
+
}, [
|
|
123
|
+
l("span", null, v(e.hintMessage), 1)
|
|
124
|
+
], 2)) : p("", !0),
|
|
125
|
+
e.showError ? (d(), c("div", G, [
|
|
126
|
+
l("span", null, v(e.errorMessage), 1)
|
|
127
|
+
])) : p("", !0)
|
|
109
128
|
])
|
|
110
129
|
]));
|
|
111
130
|
}
|
|
112
|
-
},
|
|
131
|
+
}, ee = /* @__PURE__ */ j(J, [["__scopeId", "data-v-8222d1e6"]]);
|
|
113
132
|
export {
|
|
114
|
-
|
|
133
|
+
ee as default
|
|
115
134
|
};
|