@piveau/dpi 0.2.0-alpha.40 → 0.2.0-alpha.42

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 (42) hide show
  1. package/dist/assets/dpi.css +1 -1
  2. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/BasicInfosStep/ProjectOrganisationStep.vue.js +2 -2
  3. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/BasicInfosStep/ProjectOrganisationStep.vue2.js +84 -65
  4. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ButtonV3.vue.js +2 -2
  5. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Card.vue.js +3 -3
  6. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Card.vue2.js +30 -27
  7. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DataCollection/BasicInformationStep.vue.js +1 -1
  8. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DataCollection/BasicInformationStep.vue2.js +97 -80
  9. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DataProcessing/BasicInformationStep.vue.js +2 -2
  10. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DataProcessing/BasicInformationStep.vue2.js +107 -90
  11. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DataSimulation/BasicInformationStep.vue.js +1 -1
  12. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DataSimulation/BasicInformationStep.vue2.js +96 -80
  13. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DataVisualisation/BasicInformationStep.vue.js +2 -2
  14. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DataVisualisation/BasicInformationStep.vue2.js +96 -77
  15. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Findability/ApplicationsStep.vue.js +2 -2
  16. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Findability/ApplicationsStep.vue2.js +120 -109
  17. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Findability/CategoriesStep.vue.js +2 -2
  18. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Findability/CategoriesStep.vue2.js +60 -38
  19. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/InputField/InputFieldVeeValidate.vue.js +20 -14
  20. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ListBox/ListboxVeeValidate.vue.js +16 -11
  21. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/OptionalDataStep/OptionalDataStep.vue.js +2 -2
  22. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/OptionalDataStep/OptionalDataStep.vue2.js +140 -121
  23. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/FunctionalityForm.vue.js +2 -2
  24. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/FunctionalityForm.vue2.js +45 -49
  25. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/HardwareForm.vue.js +1 -1
  26. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/HardwareForm.vue2.js +179 -184
  27. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/UrlField.vue.js +30 -0
  28. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/UrlField.vue2.js +4 -0
  29. package/dist/packages/dpi/src/data-provider-interface/components/StepActionsSection.vue.js +2 -2
  30. package/dist/packages/dpi/src/data-provider-interface/components/StepActionsSection.vue2.js +104 -92
  31. package/dist/packages/dpi/src/data-provider-interface/composables/useFormKitMessages.js +14 -0
  32. package/dist/packages/dpi/src/data-provider-interface/composables/useFormKitSummary.js +46 -0
  33. package/dist/packages/dpi/src/data-provider-interface/utils/useSteps.js +35 -29
  34. package/dist/packages/dpi/src/stories/components/LinkCard.vue.js +2 -2
  35. package/dist/packages/dpi/src/stories/components/LinkCard.vue2.js +24 -26
  36. package/dist/packages/dpi/src/stories/components/PartnerCard.vue.js +2 -2
  37. package/dist/packages/dpi/src/stories/components/PartnerCard.vue2.js +15 -19
  38. package/dist/packages/dpi/src/stories/components/ScreenshotCard.vue.js +2 -2
  39. package/dist/packages/dpi/src/stories/components/ScreenshotCard.vue2.js +13 -18
  40. package/dist/packages/dpi/src/utils/twinbyUtils.js +29 -4
  41. package/dist/styles/_dpi.scss +16 -0
  42. package/package.json +1 -1
@@ -1,75 +1,84 @@
1
- import { defineComponent as B, ref as h, computed as j, createElementBlock as f, openBlock as o, createElementVNode as t, createVNode as i, unref as l, withCtx as a, Fragment as k, renderList as y, createBlock as V, createTextVNode as D, createCommentVNode as L, withDirectives as U, vModelCheckbox as E } from "vue";
2
- import { FormKit as r } from "@formkit/vue";
3
- import { PhLightbulb as $ } from "@phosphor-icons/vue";
4
- import A from "../../../../stories/components/LinkCard.vue.js";
5
- import N from "../../../../stories/components/PartnerCard.vue.js";
6
- import G from "../../../../stories/components/ScreenshotCard.vue.js";
7
- import K from "../../../components/StepActionsSection.vue.js";
8
- import g from "../ButtonV3.vue.js";
9
- import T from "../Card.vue.js";
10
- import W from "../Chip.vue.js";
11
- import M from "../InputField.vue.js";
12
- import S from "../InputField/InputFieldDefinition.js";
13
- import R from "../TextArea/TextAreaDefinition.js";
14
- const Z = { class: "dpiV3_page V3-typography" }, q = {
1
+ import { defineComponent as j, ref as f, computed as L, createElementBlock as h, openBlock as u, createElementVNode as t, createVNode as i, unref as l, withCtx as s, Fragment as y, renderList as k, createBlock as S, createTextVNode as U, createCommentVNode as $, withDirectives as A, vModelCheckbox as q } from "vue";
2
+ import { FormKit as o } from "@formkit/vue";
3
+ import { PhLightbulb as N } from "@phosphor-icons/vue";
4
+ import G from "../../../../stories/components/LinkCard.vue.js";
5
+ import K from "../../../../stories/components/PartnerCard.vue.js";
6
+ import M from "../../../../stories/components/ScreenshotCard.vue.js";
7
+ import { generateIsRequiredMsg as T, empty as D } from "../../../../utils/twinbyUtils.js";
8
+ import W from "../../../components/StepActionsSection.vue.js";
9
+ import v from "../ButtonV3.vue.js";
10
+ import R from "../Card.vue.js";
11
+ import Z from "../Chip.vue.js";
12
+ import O from "../InputField.vue.js";
13
+ import V from "../InputField/InputFieldDefinition.js";
14
+ import H from "../TextArea/TextAreaDefinition.js";
15
+ const J = { class: "dpiV3_page V3-typography" }, Q = {
15
16
  id: "partners-section",
16
17
  class: "funny-section"
17
- }, O = { class: "partner-cards-container" }, H = { class: "action-container" }, J = { class: "funny-section" }, Q = { class: "start-and-end" }, X = { class: "funny-section" }, Y = { class: "budget-field" }, ee = { class: "funny-section required-skills" }, te = {
18
+ }, X = { class: "partner-cards-container" }, Y = { class: "action-container" }, ee = { class: "funny-section" }, te = { class: "start-and-end" }, ne = { class: "funny-section" }, ie = { class: "budget-field" }, le = { class: "funny-section required-skills" }, ae = {
18
19
  key: 0,
19
20
  style: { display: "flex", "flex-wrap": "wrap" }
20
- }, ne = ["id", "value"], ie = ["for"], le = { class: "action-container" }, ae = {
21
+ }, re = ["id", "value"], se = ["for"], oe = { class: "action-container" }, ue = {
21
22
  id: "partners-section",
22
23
  class: "funny-section"
23
- }, re = { class: "partner-cards-container" }, se = { class: "action-container" }, oe = {
24
+ }, de = { class: "partner-cards-container" }, me = { class: "action-container" }, pe = {
24
25
  id: "partners-section",
25
26
  class: "funny-section"
26
- }, ue = { class: "partner-cards-container" }, de = { class: "action-container" }, me = 500, we = /* @__PURE__ */ B({
27
+ }, ce = { class: "partner-cards-container" }, fe = { class: "action-container" }, he = 500, Pe = /* @__PURE__ */ j({
27
28
  __name: "OptionalDataStep",
28
- setup(pe) {
29
- const x = h(""), C = h([]), w = h([]), _ = h([]), P = j(() => {
30
- var c;
31
- return ((c = x.value) == null ? void 0 : c.length) || 0;
32
- }), v = h(""), u = h([]);
33
- function I(c) {
34
- if (c && c.trim()) {
35
- const e = c.trim();
36
- u.value.includes(e) || u.value.push(e), v.value = "";
29
+ setup(ve) {
30
+ const x = f(""), C = f([]), w = f([]), _ = f([]), P = L(() => {
31
+ var a;
32
+ return ((a = x.value) == null ? void 0 : a.length) || 0;
33
+ }), b = f(""), d = f([]);
34
+ function B(a) {
35
+ if (a && a.trim()) {
36
+ const e = a.trim();
37
+ d.value.includes(e) || d.value.push(e), b.value = "";
37
38
  }
38
39
  }
39
- const z = h("");
40
- return (c, e) => (o(), f("div", Z, [
40
+ const z = f("");
41
+ function E(a) {
42
+ return a._value === null || a._value === void 0 ? !0 : typeof a._value != "string" ? !1 : /^\d*$/.test(a._value);
43
+ }
44
+ function I(a) {
45
+ var r;
46
+ const e = a.at("$parent"), n = (r = e == null ? void 0 : e.value) == null ? void 0 : r.endDate;
47
+ return n ? D(n) ? !0 : !D(a.value) : !0;
48
+ }
49
+ return I.skipEmpty = !1, (a, e) => (u(), h("div", J, [
41
50
  e[24] || (e[24] = t("section", { class: "funny-section" }, [
42
51
  t("div", { class: "funny-flex" }, [
43
52
  t("h4", null, "Fügen Sie optionale Daten hinzu"),
44
53
  t("span", { class: "copy-large-regular" }, " Zusätzliche Informationen, wie etwa zur Laufzeit oder zum Budgetrahmen Ihres Projekts, können für andere Kommunen hilfreich sein. ")
45
54
  ])
46
55
  ], -1)),
47
- t("section", q, [
56
+ t("section", Q, [
48
57
  e[9] || (e[9] = t("h5", null, " Partner ", -1)),
49
58
  e[10] || (e[10] = t("span", { class: "copy-large-regular" }, "Wenn Sie mit einem oder mehreren Partnern zusammengearbeitet haben, können Sie diese hier angeben.", -1)),
50
- t("div", O, [
51
- i(l(r), {
59
+ t("div", X, [
60
+ i(l(o), {
52
61
  modelValue: C.value,
53
62
  "onUpdate:modelValue": e[0] || (e[0] = (n) => C.value = n),
54
63
  type: "list",
55
64
  name: "partners",
56
65
  dynamic: ""
57
66
  }, {
58
- default: a(({ items: n, node: s, value: d }) => [
59
- (o(!0), f(k, null, y(n, (m, p) => (o(), V(l(r), {
60
- key: m,
67
+ default: s(({ items: n, node: r, value: m }) => [
68
+ (u(!0), h(y, null, k(n, (p, c) => (u(), S(l(o), {
69
+ key: p,
61
70
  type: "group",
62
- index: p
71
+ index: c
63
72
  }, {
64
- default: a(() => [
65
- i(N, null, {
66
- action: a(() => [
67
- i(g, {
73
+ default: s(() => [
74
+ i(K, null, {
75
+ action: s(() => [
76
+ i(v, {
68
77
  "button-text": "Löschen",
69
78
  size: "small",
70
79
  variant: "tertiary",
71
80
  "icon-start": "trash",
72
- onClick: () => s.input(d.filter((F, b) => b !== p))
81
+ onClick: () => r.input(m.filter((F, g) => g !== c))
73
82
  }, null, 8, ["onClick"])
74
83
  ]),
75
84
  _: 2
@@ -77,13 +86,13 @@ const Z = { class: "dpiV3_page V3-typography" }, q = {
77
86
  ]),
78
87
  _: 2
79
88
  }, 1032, ["index"]))), 128)),
80
- t("div", H, [
81
- i(g, {
89
+ t("div", Y, [
90
+ i(v, {
82
91
  "button-text": "Partner hinzufügen",
83
92
  size: "medium",
84
93
  variant: "tertiary",
85
94
  "icon-start": "plus",
86
- onClick: (m) => s.input(d.concat({}))
95
+ onClick: (p) => r.input(m.concat({}))
87
96
  }, null, 8, ["onClick"])
88
97
  ])
89
98
  ]),
@@ -91,12 +100,12 @@ const Z = { class: "dpiV3_page V3-typography" }, q = {
91
100
  }, 8, ["modelValue"])
92
101
  ])
93
102
  ]),
94
- t("section", J, [
103
+ t("section", ee, [
95
104
  e[11] || (e[11] = t("h5", null, " Projektzeitraum ", -1)),
96
105
  e[12] || (e[12] = t("span", { class: "copy-large-regular" }, "Für Projekte, die noch nicht abgeschlossen sind, können Sie das Enddatum frei lassen.", -1)),
97
- t("div", Q, [
98
- i(l(r), {
99
- type: l(S),
106
+ t("div", te, [
107
+ i(l(o), {
108
+ type: l(V),
100
109
  name: "startDate",
101
110
  "text-label": "Startdatum",
102
111
  "input-type": "date",
@@ -106,10 +115,15 @@ const Z = { class: "dpiV3_page V3-typography" }, q = {
106
115
  "info-icon": !1,
107
116
  "pre-icon": !1,
108
117
  "show-end-icon": !1,
109
- "initial-hint-text": !1
110
- }, null, 8, ["type"]),
111
- i(l(r), {
112
- type: l(S),
118
+ "initial-hint-text": !1,
119
+ "validation-rules": { requireIfEndDate: I },
120
+ validation: "+requireIfEndDate",
121
+ "validation-visibility": "submit",
122
+ "validation-label": "Startdatum",
123
+ "validation-messages": { requireIfEndDate: l(T)("Startdatum") }
124
+ }, null, 8, ["type", "validation-rules", "validation-messages"]),
125
+ i(l(o), {
126
+ type: l(V),
113
127
  name: "endDate",
114
128
  "text-label": "Enddatum",
115
129
  "input-type": "date",
@@ -123,37 +137,42 @@ const Z = { class: "dpiV3_page V3-typography" }, q = {
123
137
  }, null, 8, ["type"])
124
138
  ])
125
139
  ]),
126
- t("section", X, [
140
+ t("section", ne, [
127
141
  e[16] || (e[16] = t("h5", null, "Budget", -1)),
128
142
  e[17] || (e[17] = t("div", { class: "budget" }, [
129
143
  t("span", { class: "copy-large-regular" }, " Bitte geben Sie hier das Gesamtbudget für Ihr Projekt an. ")
130
144
  ], -1)),
131
- t("div", Y, [
132
- i(l(r), {
145
+ t("div", ie, [
146
+ i(l(o), {
133
147
  modelValue: z.value,
134
148
  "onUpdate:modelValue": e[1] || (e[1] = (n) => z.value = n),
135
- type: l(S),
136
149
  name: "budget",
150
+ number: "",
137
151
  "trailing-text": !0,
138
152
  trailing_text: "€",
139
- classList: "budget-field-input",
153
+ "class-list": "budget-field-input",
140
154
  "text-label": "Budget",
141
155
  placeholder: "....",
142
- inputStyle: { paddingRight: "50px" },
143
- validation: "number",
156
+ "input-style": { paddingRight: "50px" },
157
+ "validation-rules": { numeric: E },
158
+ validation: "numeric",
144
159
  "validation-visibility": "submit",
145
160
  inputmode: "numeric",
146
- pattern: "[0-9]*"
147
- }, null, 8, ["modelValue", "type"]),
161
+ type: l(V),
162
+ pattern: "[0-9]*",
163
+ "validation-messages": {
164
+ numeric: "Budget muss eine Zahl sein, ohne Sonderzeichen."
165
+ }
166
+ }, null, 8, ["modelValue", "validation-rules", "type"]),
148
167
  e[13] || (e[13] = t("div", { class: "euro-icon" }, " € ", -1))
149
168
  ]),
150
- i(l(r), {
169
+ i(l(o), {
151
170
  id: "Förderung",
152
171
  modelValue: x.value,
153
172
  "onUpdate:modelValue": e[2] || (e[2] = (n) => x.value = n),
154
173
  class: "budgetArea",
155
174
  label: "Förderung (optional)",
156
- type: l(R),
175
+ type: l(H),
157
176
  name: "budgetDescription",
158
177
  "text-label": "Förderung (optional)",
159
178
  placeholder: "Beschreiben Sie welche Förderung Sie erhalten haben.",
@@ -161,20 +180,20 @@ const Z = { class: "dpiV3_page V3-typography" }, q = {
161
180
  validation: "length:0,500",
162
181
  "validation-visibility": "live",
163
182
  hint: "true",
164
- help: `${P.value} von ${me} Zeichen`,
183
+ help: `${P.value} von ${he} Zeichen`,
165
184
  "count-hint": !0
166
185
  }, null, 8, ["modelValue", "type", "disabled", "help"]),
167
- i(T, { variant: "default" }, {
168
- icon: a(() => [
169
- i(l($), {
186
+ i(R, { variant: "default" }, {
187
+ icon: s(() => [
188
+ i(l(N), {
170
189
  size: 32,
171
190
  color: "#009fe3"
172
191
  })
173
192
  ]),
174
- title: a(() => e[14] || (e[14] = [
175
- D(" Information ", -1)
193
+ title: s(() => e[14] || (e[14] = [
194
+ U(" Information ", -1)
176
195
  ])),
177
- default: a(() => [
196
+ default: s(() => [
178
197
  e[15] || (e[15] = t("div", { class: "copy-large-regular" }, [
179
198
  t("p", null, "Ihre Angabe zum Gesamtbudget hilft anderen Kommunen, den Umfang Ihres Projekts besser einzuschätzen. Sie können hier auch einen Schätzwert eingeben, falls das Projekt z.B. noch nicht abgeschlossen ist. Wenn Sie eine Förderung erhalten und das Projekt ausschließlich damit finanziert haben, geben Sie die Fördersumme als Ihr Gesamtbudget an.")
180
199
  ], -1))
@@ -183,34 +202,34 @@ const Z = { class: "dpiV3_page V3-typography" }, q = {
183
202
  __: [15]
184
203
  })
185
204
  ]),
186
- t("section", ee, [
205
+ t("section", le, [
187
206
  e[18] || (e[18] = t("h5", null, "Erforderliche Fachkompetenzen", -1)),
188
207
  e[19] || (e[19] = t("p", null, "Damit andere Kommunen besser einschätzen können, welche Fachkenntnisse das Projektteam mitbringen sollte, bitten wir Sie, hier die Kompetenzfelder anzugeben, die für Ihr Projekt am Wichtigsten waren (z.B. Datenmanagement oder Projektmanagement).", -1)),
189
- i(l(r), {
190
- modelValue: u.value,
191
- "onUpdate:modelValue": e[3] || (e[3] = (n) => u.value = n),
208
+ i(l(o), {
209
+ modelValue: d.value,
210
+ "onUpdate:modelValue": e[3] || (e[3] = (n) => d.value = n),
192
211
  type: "hidden",
193
212
  name: "requiredExpertise"
194
213
  }, null, 8, ["modelValue"]),
195
- u.value.length > 0 ? (o(), f("div", te, [
196
- (o(!0), f(k, null, y(u.value, (n) => (o(), f("div", {
214
+ d.value.length > 0 ? (u(), h("div", ae, [
215
+ (u(!0), h(y, null, k(d.value, (n) => (u(), h("div", {
197
216
  key: n,
198
217
  class: "label-chip"
199
218
  }, [
200
- U(t("input", {
219
+ A(t("input", {
201
220
  id: `hardware-${n}`,
202
- "onUpdate:modelValue": e[4] || (e[4] = (s) => u.value = s),
221
+ "onUpdate:modelValue": e[4] || (e[4] = (r) => d.value = r),
203
222
  class: "label-chip__input",
204
223
  type: "checkbox",
205
224
  value: n
206
- }, null, 8, ne), [
207
- [E, u.value]
225
+ }, null, 8, re), [
226
+ [q, d.value]
208
227
  ]),
209
228
  t("label", {
210
229
  class: "label-chip__label",
211
230
  for: `hardware-${n}`
212
231
  }, [
213
- i(W, {
232
+ i(Z, {
214
233
  class: "label-chip__inner",
215
234
  text: n,
216
235
  data: {
@@ -223,12 +242,12 @@ const Z = { class: "dpiV3_page V3-typography" }, q = {
223
242
  "@inTable": !1
224
243
  }
225
244
  }, null, 8, ["text", "data"])
226
- ], 8, ie)
245
+ ], 8, se)
227
246
  ]))), 128))
228
- ])) : L("", !0),
229
- i(M, {
230
- modelValue: v.value,
231
- "onUpdate:modelValue": e[5] || (e[5] = (n) => v.value = n),
247
+ ])) : $("", !0),
248
+ i(O, {
249
+ modelValue: b.value,
250
+ "onUpdate:modelValue": e[5] || (e[5] = (n) => b.value = n),
232
251
  label: "Erforderliche Fachkompetenz",
233
252
  "input-type": "text",
234
253
  placeholder: "Nennen Sie eine Fachkompetenz.",
@@ -239,42 +258,42 @@ const Z = { class: "dpiV3_page V3-typography" }, q = {
239
258
  "show-end-icon": !1,
240
259
  "initial-hint-text": !1
241
260
  }, null, 8, ["modelValue"]),
242
- t("div", le, [
243
- i(g, {
261
+ t("div", oe, [
262
+ i(v, {
244
263
  "button-text": "Fachkompetenz hinzufügen",
245
264
  size: "medium",
246
265
  variant: "tertiary",
247
266
  "icon-start": "plus",
248
- onClick: e[6] || (e[6] = (n) => I(v.value))
267
+ onClick: e[6] || (e[6] = (n) => B(b.value))
249
268
  })
250
269
  ])
251
270
  ]),
252
- t("section", ae, [
271
+ t("section", ue, [
253
272
  e[20] || (e[20] = t("h5", null, " Screenshots ", -1)),
254
273
  e[21] || (e[21] = t("span", { class: "copy-large-regular" }, "Bilder oder Screenshots helfen einen besseren Eindruck von Ihrem Projekt zu bekommen. Aus rechtlichen und technischen Gründen können Sie keine Dateien hochladen. Geben Sie daher bitte die URL an, unter der das Bild oder der Screenshot dauerhaft zu erreichen sein wird.", -1)),
255
- t("div", re, [
256
- i(l(r), {
274
+ t("div", de, [
275
+ i(l(o), {
257
276
  modelValue: w.value,
258
277
  "onUpdate:modelValue": e[7] || (e[7] = (n) => w.value = n),
259
278
  type: "list",
260
279
  name: "references",
261
280
  dynamic: ""
262
281
  }, {
263
- default: a(({ items: n, node: s, value: d }) => [
264
- (o(!0), f(k, null, y(n, (m, p) => (o(), V(l(r), {
265
- key: m,
282
+ default: s(({ items: n, node: r, value: m }) => [
283
+ (u(!0), h(y, null, k(n, (p, c) => (u(), S(l(o), {
284
+ key: p,
266
285
  type: "group",
267
- index: p
286
+ index: c
268
287
  }, {
269
- default: a(() => [
270
- i(G, null, {
271
- action: a(() => [
272
- i(g, {
288
+ default: s(() => [
289
+ i(M, null, {
290
+ action: s(() => [
291
+ i(v, {
273
292
  "button-text": "Löschen",
274
293
  size: "small",
275
294
  variant: "tertiary",
276
295
  "icon-start": "trash",
277
- onClick: () => s.input(d.filter((F, b) => b !== p))
296
+ onClick: () => r.input(m.filter((F, g) => g !== c))
278
297
  }, null, 8, ["onClick"])
279
298
  ]),
280
299
  _: 2
@@ -282,13 +301,13 @@ const Z = { class: "dpiV3_page V3-typography" }, q = {
282
301
  ]),
283
302
  _: 2
284
303
  }, 1032, ["index"]))), 128)),
285
- t("div", se, [
286
- i(g, {
304
+ t("div", me, [
305
+ i(v, {
287
306
  "button-text": "Screenshot hinzufügen",
288
307
  size: "medium",
289
308
  variant: "tertiary",
290
309
  "icon-start": "plus",
291
- onClick: (m) => s.input(d.concat({}))
310
+ onClick: (p) => r.input(m.concat({}))
292
311
  }, null, 8, ["onClick"])
293
312
  ])
294
313
  ]),
@@ -296,32 +315,32 @@ const Z = { class: "dpiV3_page V3-typography" }, q = {
296
315
  }, 8, ["modelValue"])
297
316
  ])
298
317
  ]),
299
- t("section", oe, [
318
+ t("section", pe, [
300
319
  e[22] || (e[22] = t("h5", null, " Weiterführende Links ", -1)),
301
320
  e[23] || (e[23] = t("span", { class: "copy-large-regular" }, "Fügen Sie hier Links zu Dokumenten hinzu, die weitere Informationen zu Ihrer Vorgehensweise beim Aufbau eines Digitalen Zwillings enthalten, wie etwa Status- oder Abschlussberichte.", -1)),
302
- t("div", ue, [
303
- i(l(r), {
321
+ t("div", ce, [
322
+ i(l(o), {
304
323
  modelValue: _.value,
305
324
  "onUpdate:modelValue": e[8] || (e[8] = (n) => _.value = n),
306
325
  type: "list",
307
326
  name: "links",
308
327
  dynamic: ""
309
328
  }, {
310
- default: a(({ items: n, node: s, value: d }) => [
311
- (o(!0), f(k, null, y(n, (m, p) => (o(), V(l(r), {
312
- key: m,
329
+ default: s(({ items: n, node: r, value: m }) => [
330
+ (u(!0), h(y, null, k(n, (p, c) => (u(), S(l(o), {
331
+ key: p,
313
332
  type: "group",
314
- index: p
333
+ index: c
315
334
  }, {
316
- default: a(() => [
317
- i(A, null, {
318
- action: a(() => [
319
- i(g, {
335
+ default: s(() => [
336
+ i(G, null, {
337
+ action: s(() => [
338
+ i(v, {
320
339
  "button-text": "Löschen",
321
340
  size: "small",
322
341
  variant: "tertiary",
323
342
  "icon-start": "trash",
324
- onClick: () => s.input(d.filter((F, b) => b !== p))
343
+ onClick: () => r.input(m.filter((F, g) => g !== c))
325
344
  }, null, 8, ["onClick"])
326
345
  ]),
327
346
  _: 2
@@ -329,13 +348,13 @@ const Z = { class: "dpiV3_page V3-typography" }, q = {
329
348
  ]),
330
349
  _: 2
331
350
  }, 1032, ["index"]))), 128)),
332
- t("div", de, [
333
- i(g, {
351
+ t("div", fe, [
352
+ i(v, {
334
353
  "button-text": "Link hinzufügen",
335
354
  size: "medium",
336
355
  variant: "tertiary",
337
356
  "icon-start": "plus",
338
- onClick: (m) => s.input(d.concat({}))
357
+ onClick: (p) => r.input(m.concat({}))
339
358
  }, null, 8, ["onClick"])
340
359
  ])
341
360
  ]),
@@ -343,10 +362,10 @@ const Z = { class: "dpiV3_page V3-typography" }, q = {
343
362
  }, 8, ["modelValue"])
344
363
  ])
345
364
  ]),
346
- i(K, { "next-text": "Weiter zu den Projektphasen" })
365
+ i(W, { "next-text": "Weiter zu den Projektphasen" })
347
366
  ]));
348
367
  }
349
368
  });
350
369
  export {
351
- we as default
370
+ Pe as default
352
371
  };
@@ -1,7 +1,7 @@
1
1
  import o from "./FunctionalityForm.vue2.js";
2
2
  /* empty css */
3
3
  import t from "../../../../../../../_virtual/_plugin-vue_export-helper.js";
4
- const c = /* @__PURE__ */ t(o, [["__scopeId", "data-v-7c4d7197"]]);
4
+ const i = /* @__PURE__ */ t(o, [["__scopeId", "data-v-9d393151"]]);
5
5
  export {
6
- c as default
6
+ i as default
7
7
  };
@@ -1,17 +1,17 @@
1
- import { defineComponent as _, mergeModels as N, useModel as A, computed as y, ref as v, watch as B, createElementBlock as s, openBlock as u, createCommentVNode as E, createVNode as c, createElementVNode as h, Fragment as M, renderList as R, unref as U } from "vue";
2
- import { toTypedSchema as x } from "../../../../../../../node_modules/.pnpm/@vee-validate_zod@4.15.1_vue@3.5.18_typescript@5.8.3__zod@3.25.76/node_modules/@vee-validate/zod/dist/vee-validate-zod.js";
3
- import { useForm as z } from "vee-validate";
4
- import * as o from "zod";
5
- import O from "../ButtonV3.vue.js";
6
- import T from "../Chip.vue.js";
7
- import $ from "../InputField/InputFieldVeeValidate.vue.js";
8
- import j from "../ListBox/ListboxVeeValidate.vue.js";
9
- const w = { class: "functionality-form" }, D = {
1
+ import { defineComponent as C, mergeModels as _, useModel as N, computed as y, ref as v, watch as x, createElementBlock as a, openBlock as u, createCommentVNode as A, createVNode as s, createElementVNode as h, Fragment as B, renderList as E, unref as M } from "vue";
2
+ import { toTypedSchema as R } from "../../../../../../../node_modules/.pnpm/@vee-validate_zod@4.15.1_vue@3.5.18_typescript@5.8.3__zod@3.25.76/node_modules/@vee-validate/zod/dist/vee-validate-zod.js";
3
+ import { useForm as U } from "vee-validate";
4
+ import * as c from "zod";
5
+ import z from "../ButtonV3.vue.js";
6
+ import O from "../Chip.vue.js";
7
+ import T from "../InputField/InputFieldVeeValidate.vue.js";
8
+ import $ from "../ListBox/ListboxVeeValidate.vue.js";
9
+ const j = { class: "functionality-form" }, w = {
10
10
  key: 0,
11
11
  class: "functionalities-container"
12
- }, L = { class: "step-section-actions" }, b = "Funktionalität ist erforderlich.", K = /* @__PURE__ */ _({
12
+ }, D = { class: "step-section-actions" }, L = "Funktionalität ist erforderlich.", K = /* @__PURE__ */ C({
13
13
  __name: "FunctionalityForm",
14
- props: /* @__PURE__ */ N({
14
+ props: /* @__PURE__ */ _({
15
15
  options: {},
16
16
  disabled: { type: Boolean, default: !1 }
17
17
  }, {
@@ -22,28 +22,24 @@ const w = { class: "functionality-form" }, D = {
22
22
  }),
23
23
  emits: ["update:modelValue"],
24
24
  setup(m) {
25
- const I = m, i = A(m, "modelValue"), d = y(
25
+ const b = m, i = N(m, "modelValue"), r = y(
26
26
  () => Array.from(i.value || [])
27
- ), S = y(() => {
27
+ ), F = y(() => {
28
28
  var e, n;
29
- const t = d.value.join(" ");
30
- return (n = (e = I.options) == null ? void 0 : e.filter((l) => !t.includes(l))) == null ? void 0 : n.sort((l, p) => l.localeCompare(p));
31
- }), F = o.object({
32
- functionalitySelect: o.string().optional(),
33
- functionalityInput: o.string().optional()
29
+ const t = r.value.join(" ");
30
+ return (n = (e = b.options) == null ? void 0 : e.filter((l) => !t.includes(l))) == null ? void 0 : n.sort((l, p) => l.localeCompare(p));
31
+ }), S = c.object({
32
+ functionalitySelect: c.string().optional(),
33
+ functionalityInput: c.string().optional()
34
34
  }).superRefine((t, e) => {
35
35
  const n = t.functionalitySelect && t.functionalitySelect.trim().length > 0, l = t.functionalityInput && t.functionalityInput.trim().length > 0;
36
- !n && !l && (e.addIssue({
37
- code: o.ZodIssueCode.custom,
38
- message: b,
39
- path: ["functionalitySelect"]
40
- }), e.addIssue({
41
- code: o.ZodIssueCode.custom,
42
- message: b,
36
+ !n && !l && e.addIssue({
37
+ code: c.ZodIssueCode.custom,
38
+ message: L,
43
39
  path: ["functionalityInput"]
44
- }));
45
- }), V = z({
46
- validationSchema: x(F),
40
+ });
41
+ }), V = U({
42
+ validationSchema: R(S),
47
43
  initialValues: {
48
44
  functionalitySelect: "",
49
45
  functionalityInput: ""
@@ -51,26 +47,26 @@ const w = { class: "functionality-form" }, D = {
51
47
  name: "functionalityForm"
52
48
  }), {
53
49
  handleSubmit: k,
54
- resetForm: g
55
- } = V, a = v(""), r = v(""), f = k((t) => {
50
+ resetForm: I
51
+ } = V, o = v(""), d = v(""), f = k((t) => {
56
52
  var n;
57
53
  const e = t.functionalitySelect || t.functionalityInput;
58
- e && e.trim().length > 0 && !((n = i.value) != null && n.includes(e)) && (i.value = [...i.value || [], e]), g(), a.value = "", r.value = "";
54
+ e && e.trim().length > 0 && !((n = i.value) != null && n.includes(e)) && (i.value = [...i.value || [], e]), I(), o.value = "", d.value = "";
59
55
  });
60
- B(a, (t) => {
56
+ x(o, (t) => {
61
57
  t && t.trim().length > 0 && f();
62
58
  });
63
- function C(t) {
59
+ function g(t) {
64
60
  var e;
65
61
  i.value = ((e = i.value) == null ? void 0 : e.filter((n) => n !== t)) || [];
66
62
  }
67
- return (t, e) => (u(), s("div", w, [
68
- d.value.length > 0 ? (u(), s("div", D, [
69
- (u(!0), s(M, null, R(d.value, (n, l) => (u(), s("div", {
63
+ return (t, e) => (u(), a("div", j, [
64
+ r.value.length > 0 ? (u(), a("div", w, [
65
+ (u(!0), a(B, null, E(r.value, (n, l) => (u(), a("div", {
70
66
  key: l,
71
67
  class: "functionalities"
72
68
  }, [
73
- c(T, {
69
+ s(O, {
74
70
  text: n,
75
71
  setup: {
76
72
  "@type": "select",
@@ -81,23 +77,23 @@ const w = { class: "functionality-form" }, D = {
81
77
  },
82
78
  data: { "@value": n, URI: n },
83
79
  "select-value": !0,
84
- onClick: (p) => C(n)
80
+ onClick: (p) => g(n)
85
81
  }, null, 8, ["text", "data", "onClick"])
86
82
  ]))), 128))
87
- ])) : E("", !0),
88
- c(j, {
89
- modelValue: a.value,
90
- "onUpdate:modelValue": e[0] || (e[0] = (n) => a.value = n),
83
+ ])) : A("", !0),
84
+ s($, {
85
+ modelValue: o.value,
86
+ "onUpdate:modelValue": e[0] || (e[0] = (n) => o.value = n),
91
87
  name: "functionalitySelect",
92
- options: S.value,
88
+ options: F.value,
93
89
  label: "Funktionalitäten auswählen",
94
90
  placeholder: "Wählen Sie eine Funktionalität.",
95
91
  disabled: t.disabled
96
92
  }, null, 8, ["modelValue", "options", "disabled"]),
97
93
  e[2] || (e[2] = h("h5", null, " oder ", -1)),
98
- c($, {
99
- modelValue: r.value,
100
- "onUpdate:modelValue": e[1] || (e[1] = (n) => r.value = n),
94
+ s(T, {
95
+ modelValue: d.value,
96
+ "onUpdate:modelValue": e[1] || (e[1] = (n) => d.value = n),
101
97
  name: "functionalityInput",
102
98
  "add-on-text": !1,
103
99
  "date-picker": !1,
@@ -108,14 +104,14 @@ const w = { class: "functionality-form" }, D = {
108
104
  label: "Funktionalitäten nennen",
109
105
  placeholder: "Nennen Sie eine Funktionalität."
110
106
  }, null, 8, ["modelValue", "is-disabled"]),
111
- h("div", L, [
112
- c(O, {
107
+ h("div", D, [
108
+ s(z, {
113
109
  "button-text": "Funktionalität hinzufügen",
114
110
  size: "medium",
115
111
  variant: "tertiary",
116
112
  "icon-start": "plus",
117
113
  disabled: t.disabled,
118
- onClick: U(f)
114
+ onClick: M(f)
119
115
  }, null, 8, ["disabled", "onClick"])
120
116
  ])
121
117
  ]));