@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.
Files changed (22) hide show
  1. package/dist/assets/dpi.css +1 -1
  2. package/dist/data-provider-interface/HappyFlowComponents/ui/BasicInfosStep/ProjectDescriptionStep.vue.js +70 -0
  3. package/dist/data-provider-interface/HappyFlowComponents/ui/BasicInfosStep/ProjectNameStep.vue.js +44 -15
  4. package/dist/data-provider-interface/HappyFlowComponents/ui/BasicInfosStep/ProjectOrganisationStep.vue.js +2 -2
  5. package/dist/data-provider-interface/HappyFlowComponents/ui/BasicInfosStep/ProjectOrganisationStep.vue2.js +30 -28
  6. package/dist/data-provider-interface/HappyFlowComponents/ui/Card.vue.js +7 -0
  7. package/dist/data-provider-interface/HappyFlowComponents/ui/Card.vue2.js +36 -0
  8. package/dist/data-provider-interface/HappyFlowComponents/ui/TextArea/TextAreaDefinition.js +20 -0
  9. package/dist/data-provider-interface/HappyFlowComponents/ui/TextArea/TextAreaFormKit.vue.js +78 -0
  10. package/dist/data-provider-interface/HappyFlowComponents/ui/TextArea/TextAreaFormKit.vue2.js +4 -0
  11. package/dist/data-provider-interface/HappyFlowComponents/ui/TextAreaV3.vue.js +74 -55
  12. package/dist/data-provider-interface/components/HappyFlowLandingPage.vue.js +50 -43
  13. package/dist/data-provider-interface/components/InputPageStep.vue.js +3 -3
  14. package/dist/data-provider-interface/components/StepActionsSection.vue.js +7 -0
  15. package/dist/data-provider-interface/components/StepActionsSection.vue2.js +54 -0
  16. package/dist/data-provider-interface/composables/useDpiStepper.js +78 -68
  17. package/dist/data-provider-interface/utils/injectionKeys.js +0 -1
  18. package/dist/data-provider-interface/views/InputPageProject.vue.js +230 -218
  19. package/dist/stories/components/DemoStep.vue.js +36 -32
  20. package/dist/stories/components/DemoStepper.vue.js +1 -1
  21. package/dist/stories/components/DemoStepper.vue2.js +61 -54
  22. 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
+ };
@@ -1,18 +1,21 @@
1
- import { createElementBlock as r, openBlock as o, createElementVNode as t, createVNode as i, unref as n } from "vue";
2
- import { FormKit as a } from "@formkit/vue";
3
- import s from "../InputField/InputFieldDefinition.js";
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 l from "../../../../_virtual/_plugin-vue_export-helper.js";
6
- const m = { class: "dpiV3_page V3-typography" }, p = { class: "funny-section" }, d = { class: "funny-flex" }, c = {
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(f) {
9
- return (u, e) => (o(), r("div", m, [
10
- t("section", p, [
11
- t("div", d, [
12
- e[0] || (e[0] = t("h4", null, " Geben Sie Ihrem Projekt einen Namen ", -1)),
13
- e[1] || (e[1] = t("span", { class: "copy-large-regular" }, "Ein aussagekräftiger Projektname bildet den ersten Grundstein für eine gute Auffindbarkeit Ihres Projekts.", -1)),
14
- i(n(a), {
15
- type: n(s),
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
- }, y = /* @__PURE__ */ l(c, [["__scopeId", "data-v-7f91d514"]]);
55
+ }, E = /* @__PURE__ */ p(b, [["__scopeId", "data-v-c8a3aa03"]]);
27
56
  export {
28
- y as default
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 i = /* @__PURE__ */ t(o, [["__scopeId", "data-v-16f7d526"]]);
4
+ const e = /* @__PURE__ */ t(o, [["__scopeId", "data-v-a327036a"]]);
5
5
  export {
6
- i as default
6
+ e as default
7
7
  };
@@ -1,8 +1,8 @@
1
- import { defineComponent as l, createElementBlock as s, openBlock as d, createElementVNode as e, createVNode as a, withCtx as o, unref as n } from "vue";
2
- import { FormKit as i } from "@formkit/vue";
3
- import m from "../../../../stories/components/PartnerCard.vue.js";
4
- import r from "../InputField/InputFieldDefinition.js";
5
- const u = { class: "dpiV3_page V3-typography" }, p = { class: "funny-section" }, c = { class: "funny-flex" }, N = /* @__PURE__ */ l({
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(f) {
14
- return (g, t) => (d(), s("div", u, [
15
- t[2] || (t[2] = e("section", { class: "funny-section" }, [
16
- e("div", { class: "funny-flex" }, [
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
- e("div", { class: "organisation-badge-container" }, " layout ")
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
- ], -1)),
22
- e("section", p, [
23
- e("div", c, [
24
- t[0] || (t[0] = e("h5", null, " Projektkontakt (optional) ", -1)),
25
- t[1] || (t[1] = e("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)),
26
- a(m, null, {
27
- default: o(() => [
28
- a(n(i), {
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: o(() => [
33
- a(n(i), {
34
- type: n(r),
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
- a(n(i), {
42
- type: n(r),
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
- a(n(i), {
50
- type: n(r),
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
- N as default
71
+ P as default
70
72
  };
@@ -0,0 +1,7 @@
1
+ import o from "./Card.vue2.js";
2
+ /* empty css */
3
+ import a from "../../../_virtual/_plugin-vue_export-helper.js";
4
+ const m = /* @__PURE__ */ a(o, [["__scopeId", "data-v-8fa2a1de"]]);
5
+ export {
6
+ m as default
7
+ };
@@ -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
+ };
@@ -0,0 +1,4 @@
1
+ import f from "./TextAreaFormKit.vue.js";
2
+ export {
3
+ f as default
4
+ };
@@ -1,13 +1,14 @@
1
- import { ref as l, watch as h, createElementBlock as x, openBlock as c, createElementVNode as a, createCommentVNode as b, createBlock as M, toDisplayString as T, normalizeStyle as C, normalizeClass as m, unref as s, withDirectives as S, vModelText as A } from "vue";
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 L from "./TextButtonSmall.vue.js";
4
+ import H from "./TextButtonSmall.vue.js";
5
+ import { boolean as L } from "zod";
5
6
  /* empty css */
6
- import z from "../../../_virtual/_plugin-vue_export-helper.js";
7
- const N = { class: "dpiV3_input-field V3-typography" }, R = { class: "dpiV3_InputFieldBase" }, j = { class: "dpiV3_InputWithLabel" }, O = { class: "dpiV3_Top" }, U = { class: "dpiV3_Label" }, W = { class: "dpiV3_label copy-small-regular" }, q = ["disabled", "placeholder"], G = {
8
- key: 0,
9
- class: "dpiV3_hintText copy-small-regular"
10
- }, H = {
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 = l(!1), p = l(!1);
35
- const _ = l(null);
36
- let y = l(!1), t = l("inset 0 0 0 1px var(--neutral-30, #687178)"), n = l(!1), v = l(!1);
37
- const d = e, u = l(d.modelValue), f = V;
38
- h(
39
- () => d.modelValue,
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
- u.value = i;
54
+ r.value = i;
42
55
  }
43
- ), h(u, (i) => {
44
- f("update:modelValue", i);
56
+ ), y(r, (i) => {
57
+ x("update:modelValue", i);
45
58
  });
46
- const w = () => {
47
- f("deleteClicked");
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
- n.value = !1, o.value = !1, t.value = "inset 0 0 0 1px var(--neutral-30, #687178)";
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
- v.value = !0, t.value = "inset 0 0 0 1px var(--neutral-60, #687178)", n.value && (t.value = "0 0 0 2px var(--blue-70, #009FE3)");
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
- }, g = () => {
71
+ }, k = () => {
59
72
  t.value = "inset 0 0 0 2px var(--Focused)";
60
73
  };
61
- return (i, r) => (c(), x("div", N, [
62
- a("div", R, [
63
- a("div", j, [
64
- a("div", O, [
65
- a("div", U, [
66
- a("label", W, T(d.label), 1),
67
- e.showDeleteButton ? (c(), M(L, {
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: w,
83
+ onClick: g,
71
84
  tabindex: "0"
72
- })) : b("", !0)
85
+ })) : p("", !0)
73
86
  ])
74
87
  ]),
75
- a("div", {
76
- class: m(["dpiV3_Input", {
88
+ l("div", {
89
+ class: f(["dpiV3_Input", {
77
90
  dpiV3_disabled: e.isDisabled,
78
- "error-state": e.showError && !s(o) && !s(p),
79
- "focused-error-state": e.showError && s(o),
80
- "filled-error-state": e.showError && s(p)
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: F,
84
- onMousedown: D,
85
- style: C({ "box-shadow": s(t) })
96
+ onMouseleave: M,
97
+ onMousedown: F,
98
+ style: C({ "box-shadow": n(t) })
86
99
  }, [
87
- S(a("textarea", {
100
+ S(l("textarea", {
88
101
  ref_key: "inputRef",
89
102
  ref: _,
90
- "onUpdate:modelValue": r[0] || (r[0] = (k) => u.value = k),
103
+ "onUpdate:modelValue": b[0] || (b[0] = (D) => r.value = D),
91
104
  type: "text",
92
- class: m(["dpiV3_textArea copy-large-regular", {
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: B,
99
- onBlur: E,
100
- onMousedown: g
111
+ onFocus: E,
112
+ onBlur: B,
113
+ onMousedown: k
101
114
  }, null, 42, q), [
102
- [A, u.value]
115
+ [A, r.value]
103
116
  ])
104
117
  ], 38)
105
118
  ]),
106
- e.hint && !e.showError ? (c(), x("div", G, r[1] || (r[1] = [
107
- a("span", null, "This is a supporting message.", -1)
108
- ]))) : b("", !0)
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
- }, Z = /* @__PURE__ */ z(H, [["__scopeId", "data-v-7248be35"]]);
131
+ }, ee = /* @__PURE__ */ j(J, [["__scopeId", "data-v-8222d1e6"]]);
113
132
  export {
114
- Z as default
133
+ ee as default
115
134
  };