@piveau/dpi 0.2.0-alpha.2 → 0.2.0-alpha.4

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 (51) hide show
  1. package/dist/assets/dpi.css +1 -1
  2. package/dist/assets/stadt.png +0 -0
  3. package/dist/data-provider-interface/HappyFlowComponents/AboutProject.vue.js +99 -0
  4. package/dist/data-provider-interface/HappyFlowComponents/DPIHome.vue.js +38 -11
  5. package/dist/data-provider-interface/HappyFlowComponents/HomeTable.vue.js +17 -17
  6. package/dist/data-provider-interface/HappyFlowComponents/ProjectTable.vue.js +94 -0
  7. package/dist/data-provider-interface/HappyFlowComponents/img/DataProcessingSteps.svg.js +4 -0
  8. package/dist/data-provider-interface/HappyFlowComponents/ui/Autocomplete/Autocomplete.vue.js +2 -2
  9. package/dist/data-provider-interface/HappyFlowComponents/ui/Autocomplete/Autocomplete.vue2.js +1 -1
  10. package/dist/data-provider-interface/HappyFlowComponents/ui/Autocomplete/AutocompleteVocabFormKit.vue.js +18 -18
  11. package/dist/data-provider-interface/HappyFlowComponents/ui/BasicInfosStep/ProjectOrganisationStep.vue.js +2 -2
  12. package/dist/data-provider-interface/HappyFlowComponents/ui/BasicInfosStep/ProjectOrganisationStep.vue2.js +89 -67
  13. package/dist/data-provider-interface/HappyFlowComponents/ui/BasicInfosStep/ProjectStatusStep.vue.js +38 -0
  14. package/dist/data-provider-interface/HappyFlowComponents/ui/Card.vue.js +2 -2
  15. package/dist/data-provider-interface/HappyFlowComponents/ui/Card.vue2.js +34 -20
  16. package/dist/data-provider-interface/HappyFlowComponents/ui/ChipToggleList/ChipToggleList.vue.js +7 -0
  17. package/dist/data-provider-interface/HappyFlowComponents/ui/ChipToggleList/ChipToggleList.vue2.js +62 -0
  18. package/dist/data-provider-interface/HappyFlowComponents/ui/Findability/CategoriesStep.vue.js +7 -0
  19. package/dist/data-provider-interface/HappyFlowComponents/ui/Findability/CategoriesStep.vue2.js +60 -0
  20. package/dist/data-provider-interface/HappyFlowComponents/ui/Findability/DiscoverabilityStep.vue.js +45 -28
  21. package/dist/data-provider-interface/HappyFlowComponents/ui/InputField/InputFieldDefinition.js +5 -3
  22. package/dist/data-provider-interface/HappyFlowComponents/ui/InputField/InputFieldFormKit.vue.js +45 -37
  23. package/dist/data-provider-interface/HappyFlowComponents/ui/LandingProjectStep/LandingProjectStep.vue.js +7 -0
  24. package/dist/data-provider-interface/HappyFlowComponents/ui/LandingProjectStep/LandingProjectStep.vue2.js +40 -0
  25. package/dist/data-provider-interface/HappyFlowComponents/ui/ListBox/ListBoxDefinition.js +2 -1
  26. package/dist/data-provider-interface/HappyFlowComponents/ui/ListBox/ListBoxFormKit.vue.js +20 -16
  27. package/dist/data-provider-interface/HappyFlowComponents/ui/ListBox/Listbox.vue.js +2 -2
  28. package/dist/data-provider-interface/HappyFlowComponents/ui/ListBox/Listbox.vue2.js +41 -37
  29. package/dist/data-provider-interface/HappyFlowComponents/ui/OptionalDataStep/OptionalDataStep.vue.js +7 -0
  30. package/dist/data-provider-interface/HappyFlowComponents/ui/OptionalDataStep/OptionalDataStep.vue2.js +341 -0
  31. package/dist/data-provider-interface/HappyFlowComponents/ui/Projektphasen/PlanenStep.vue.js +64 -0
  32. package/dist/data-provider-interface/HappyFlowComponents/ui/Projektphasen/ProjektPhasenOverviewStep.vue.js +48 -0
  33. package/dist/data-provider-interface/HappyFlowComponents/ui/Projektphasen/UmstezenStep.vue.js +64 -0
  34. package/dist/data-provider-interface/HappyFlowComponents/ui/Projektphasen/WeiterdenkenStep.vue.js +64 -0
  35. package/dist/data-provider-interface/HappyFlowComponents/ui/WipStep.vue.js +2 -2
  36. package/dist/data-provider-interface/HappyFlowComponents/ui/WipStep.vue2.js +7 -7
  37. package/dist/data-provider-interface/components/ProgressSteps.vue.js +1 -1
  38. package/dist/data-provider-interface/components/ProgressSteps.vue2.js +45 -44
  39. package/dist/data-provider-interface/components/StepActionsSection.vue.js +2 -2
  40. package/dist/data-provider-interface/components/StepActionsSection.vue2.js +119 -42
  41. package/dist/data-provider-interface/composables/useDpiStepper.js +7 -7
  42. package/dist/data-provider-interface/views/InputPageProject.vue.js +354 -316
  43. package/dist/stories/components/DemoStepper.vue.js +2 -2
  44. package/dist/stories/components/DemoStepper.vue2.js +134 -102
  45. package/dist/stories/components/LinkCard.vue.js +7 -0
  46. package/dist/stories/components/LinkCard.vue2.js +52 -0
  47. package/dist/stories/components/PartnerCard.vue.js +2 -2
  48. package/dist/stories/components/PartnerCard.vue2.js +20 -19
  49. package/dist/stories/components/ScreenshotCard.vue.js +7 -0
  50. package/dist/stories/components/ScreenshotCard.vue2.js +25 -0
  51. package/package.json +1 -1
@@ -0,0 +1,341 @@
1
+ import { defineComponent as I, ref as g, computed as B, createElementBlock as h, openBlock as o, createElementVNode as n, createVNode as i, unref as l, withCtx as a, Fragment as v, renderList as y, createBlock as x, normalizeClass as j, createTextVNode as D, createCommentVNode as L, withDirectives as E, vModelCheckbox as U } 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 f from "../ButtonV3.vue.js";
9
+ import T from "../Card.vue.js";
10
+ import M from "../Chip.vue.js";
11
+ import W from "../InputField.vue.js";
12
+ import C from "../InputField/InputFieldDefinition.js";
13
+ import Z from "../TextArea/TextAreaDefinition.js";
14
+ const O = { class: "dpiV3_page V3-typography" }, R = {
15
+ id: "partners-section",
16
+ class: "funny-section"
17
+ }, q = { class: "partner-cards-container" }, H = { class: "action-container" }, J = { class: "funny-section" }, Q = { class: "start-and-end" }, X = { class: "funny-section" }, Y = { class: "funny-section" }, ee = { class: "funny-section" }, ne = {
18
+ key: 0,
19
+ class: "d-flex"
20
+ }, te = ["id", "value"], ie = ["for"], le = { class: "action-container" }, ae = {
21
+ id: "partners-section",
22
+ class: "funny-section"
23
+ }, re = { class: "partner-cards-container" }, se = { class: "action-container" }, oe = {
24
+ id: "partners-section",
25
+ class: "funny-section"
26
+ }, ue = { class: "partner-cards-container" }, de = { class: "action-container" }, ce = { class: "funny-section" }, me = 500, we = /* @__PURE__ */ I({
27
+ __name: "OptionalDataStep",
28
+ setup(pe) {
29
+ const z = g(""), S = g([]), V = g([]), _ = g([]), F = B(() => {
30
+ var d;
31
+ return ((d = z.value) == null ? void 0 : d.length) || 0;
32
+ }), k = g(""), u = g([]);
33
+ function P(d) {
34
+ if (d && d.trim()) {
35
+ const e = d.trim();
36
+ u.value.includes(e) || u.value.push(e), k.value = "";
37
+ }
38
+ }
39
+ return (d, e) => (o(), h("div", O, [
40
+ e[22] || (e[22] = n("section", { class: "funny-section" }, [
41
+ n("div", { class: "funny-flex" }, [
42
+ n("h4", null, "Fügen Sie optionale Daten hinzu"),
43
+ n("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. ")
44
+ ])
45
+ ], -1)),
46
+ n("section", R, [
47
+ e[8] || (e[8] = n("h5", null, " Partner ", -1)),
48
+ e[9] || (e[9] = n("span", { class: "copy-large-regular" }, "Wenn Sie mit einem oder mehreren Partnern zusammengearbeitet haben, können Sie diese hier angeben.", -1)),
49
+ n("div", q, [
50
+ i(l(r), {
51
+ modelValue: S.value,
52
+ "onUpdate:modelValue": e[0] || (e[0] = (t) => S.value = t),
53
+ type: "list",
54
+ name: "partners",
55
+ dynamic: ""
56
+ }, {
57
+ default: a(({ items: t, node: s, value: c }) => [
58
+ (o(!0), h(v, null, y(t, (m, p) => (o(), x(l(r), {
59
+ key: m,
60
+ type: "group",
61
+ index: p
62
+ }, {
63
+ default: a(() => [
64
+ i(N, null, {
65
+ action: a(() => [
66
+ i(f, {
67
+ "button-text": "Löschen",
68
+ size: "small",
69
+ variant: "secondary",
70
+ "icon-start": "trash",
71
+ onClick: () => s.input(c.filter((w, b) => b !== p))
72
+ }, null, 8, ["onClick"])
73
+ ]),
74
+ _: 2
75
+ }, 1024)
76
+ ]),
77
+ _: 2
78
+ }, 1032, ["index"]))), 128)),
79
+ n("div", H, [
80
+ i(f, {
81
+ "button-text": "Partner hinzufügen",
82
+ size: "medium",
83
+ variant: "tertiary",
84
+ "icon-start": "plus",
85
+ onClick: (m) => s.input(c.concat({}))
86
+ }, null, 8, ["onClick"])
87
+ ])
88
+ ]),
89
+ _: 1
90
+ }, 8, ["modelValue"])
91
+ ])
92
+ ]),
93
+ n("section", J, [
94
+ e[10] || (e[10] = n("h5", null, " Projektzeitraum ", -1)),
95
+ e[11] || (e[11] = n("span", { class: "copy-large-regular" }, "Für Projekte, die noch nicht abgeschlossen sind, können Sie das Enddatum frei lassen.", -1)),
96
+ n("div", Q, [
97
+ i(l(r), {
98
+ type: l(C),
99
+ name: "startDate",
100
+ "text-label": "Startdatum",
101
+ "input-type": "date",
102
+ placeholder: "Enter text here",
103
+ "tooltip-text": "This is helpful information",
104
+ "add-on-text": !1,
105
+ "info-icon": !1,
106
+ "pre-icon": !1,
107
+ "show-end-icon": !1,
108
+ "initial-hint-text": !1
109
+ }, null, 8, ["type"]),
110
+ i(l(r), {
111
+ type: l(C),
112
+ name: "endDate",
113
+ "text-label": "Enddatum",
114
+ "input-type": "date",
115
+ placeholder: "Enter text here",
116
+ "tooltip-text": "This is helpful information",
117
+ "add-on-text": !1,
118
+ "info-icon": !1,
119
+ "pre-icon": !1,
120
+ "show-end-icon": !1,
121
+ "initial-hint-text": !1
122
+ }, null, 8, ["type"])
123
+ ])
124
+ ]),
125
+ n("section", X, [
126
+ e[12] || (e[12] = n("h5", null, "Budget", -1)),
127
+ e[13] || (e[13] = n("div", { class: "budget" }, [
128
+ n("span", { class: "copy-large-regular" }, " Bitte geben Sie hier das Gesamtbudget für Ihr Projekt an. ")
129
+ ], -1)),
130
+ i(l(r), {
131
+ type: l(C),
132
+ name: "budget",
133
+ "text-label": "Budget",
134
+ placeholder: "...."
135
+ }, null, 8, ["type"]),
136
+ i(l(r), {
137
+ id: "Förderung",
138
+ modelValue: z.value,
139
+ "onUpdate:modelValue": e[1] || (e[1] = (t) => z.value = t),
140
+ class: j(d.budgetArea),
141
+ label: "Förderung (optional)",
142
+ type: l(Z),
143
+ name: "budget",
144
+ "text-label": "Förderung (optional)",
145
+ placeholder: "Beschreiben Sie welche Förderung Sie erhalten haben.",
146
+ validation: "length:0,500",
147
+ "validation-visibility": "live",
148
+ hint: "true",
149
+ help: `${F.value} von ${me} Zeichen`,
150
+ "count-hint": !0
151
+ }, null, 8, ["modelValue", "class", "type", "help"])
152
+ ]),
153
+ n("section", Y, [
154
+ i(T, { variant: "default" }, {
155
+ icon: a(() => [
156
+ i(l($), {
157
+ size: 32,
158
+ color: "#009fe3"
159
+ })
160
+ ]),
161
+ title: a(() => e[14] || (e[14] = [
162
+ D(" Information ", -1)
163
+ ])),
164
+ default: a(() => [
165
+ e[15] || (e[15] = n("div", { class: "copy-large-regular" }, [
166
+ n("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.")
167
+ ], -1))
168
+ ]),
169
+ _: 1,
170
+ __: [15]
171
+ })
172
+ ]),
173
+ n("section", ee, [
174
+ e[16] || (e[16] = n("h5", null, "Erforderliche Fachkompetenzen", -1)),
175
+ e[17] || (e[17] = n("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)),
176
+ i(l(r), {
177
+ modelValue: u.value,
178
+ "onUpdate:modelValue": e[2] || (e[2] = (t) => u.value = t),
179
+ type: "hidden",
180
+ name: "requiredExpertise"
181
+ }, null, 8, ["modelValue"]),
182
+ u.value.length > 0 ? (o(), h("div", ne, [
183
+ (o(!0), h(v, null, y(u.value, (t) => (o(), h("div", {
184
+ key: t,
185
+ class: "label-chip"
186
+ }, [
187
+ E(n("input", {
188
+ id: `hardware-${t}`,
189
+ "onUpdate:modelValue": e[3] || (e[3] = (s) => u.value = s),
190
+ class: "label-chip__input",
191
+ type: "checkbox",
192
+ value: t
193
+ }, null, 8, te), [
194
+ [U, u.value]
195
+ ]),
196
+ n("label", {
197
+ class: "label-chip__label",
198
+ for: `hardware-${t}`
199
+ }, [
200
+ i(M, {
201
+ class: "label-chip__inner",
202
+ text: t,
203
+ data: {
204
+ "@value": t,
205
+ URI: "https://example.com/default"
206
+ },
207
+ setup: {
208
+ "@type": "selected",
209
+ "@icon": "suffix",
210
+ "@inTable": !1
211
+ }
212
+ }, null, 8, ["text", "data"])
213
+ ], 8, ie)
214
+ ]))), 128))
215
+ ])) : L("", !0),
216
+ i(W, {
217
+ modelValue: k.value,
218
+ "onUpdate:modelValue": e[4] || (e[4] = (t) => k.value = t),
219
+ label: "Erforderliche Fachkompetenz",
220
+ "input-type": "text",
221
+ placeholder: "Nennen Sie eine Fachkompetenz.",
222
+ "tooltip-text": "This is helpful information",
223
+ "add-on-text": !1,
224
+ "info-icon": !1,
225
+ "pre-icon": !1,
226
+ "show-end-icon": !1,
227
+ "initial-hint-text": !1
228
+ }, null, 8, ["modelValue"]),
229
+ n("div", le, [
230
+ i(f, {
231
+ "button-text": "Fachkompetenz hinzufügen",
232
+ size: "medium",
233
+ variant: "tertiary",
234
+ "icon-start": "plus",
235
+ onClick: e[5] || (e[5] = (t) => P(k.value))
236
+ })
237
+ ])
238
+ ]),
239
+ n("section", ae, [
240
+ e[18] || (e[18] = n("h5", null, " Screenshots ", -1)),
241
+ e[19] || (e[19] = n("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)),
242
+ n("div", re, [
243
+ i(l(r), {
244
+ modelValue: V.value,
245
+ "onUpdate:modelValue": e[6] || (e[6] = (t) => V.value = t),
246
+ type: "list",
247
+ name: "references",
248
+ dynamic: ""
249
+ }, {
250
+ default: a(({ items: t, node: s, value: c }) => [
251
+ (o(!0), h(v, null, y(t, (m, p) => (o(), x(l(r), {
252
+ key: m,
253
+ type: "group",
254
+ index: p
255
+ }, {
256
+ default: a(() => [
257
+ i(G, null, {
258
+ action: a(() => [
259
+ i(f, {
260
+ "button-text": "Löschen",
261
+ size: "small",
262
+ variant: "secondary",
263
+ "icon-start": "trash",
264
+ onClick: () => s.input(c.filter((w, b) => b !== p))
265
+ }, null, 8, ["onClick"])
266
+ ]),
267
+ _: 2
268
+ }, 1024)
269
+ ]),
270
+ _: 2
271
+ }, 1032, ["index"]))), 128)),
272
+ n("div", se, [
273
+ i(f, {
274
+ "button-text": "Screenshot hinzufügen",
275
+ size: "medium",
276
+ variant: "tertiary",
277
+ "icon-start": "plus",
278
+ onClick: (m) => s.input(c.concat({}))
279
+ }, null, 8, ["onClick"])
280
+ ])
281
+ ]),
282
+ _: 1
283
+ }, 8, ["modelValue"])
284
+ ])
285
+ ]),
286
+ n("section", oe, [
287
+ e[20] || (e[20] = n("h5", null, " Weiterführende Links ", -1)),
288
+ e[21] || (e[21] = n("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)),
289
+ n("div", ue, [
290
+ i(l(r), {
291
+ modelValue: _.value,
292
+ "onUpdate:modelValue": e[7] || (e[7] = (t) => _.value = t),
293
+ type: "list",
294
+ name: "links",
295
+ dynamic: ""
296
+ }, {
297
+ default: a(({ items: t, node: s, value: c }) => [
298
+ (o(!0), h(v, null, y(t, (m, p) => (o(), x(l(r), {
299
+ key: m,
300
+ type: "group",
301
+ index: p
302
+ }, {
303
+ default: a(() => [
304
+ i(A, null, {
305
+ action: a(() => [
306
+ i(f, {
307
+ "button-text": "Löschen",
308
+ size: "small",
309
+ variant: "secondary",
310
+ "icon-start": "trash",
311
+ onClick: () => s.input(c.filter((w, b) => b !== p))
312
+ }, null, 8, ["onClick"])
313
+ ]),
314
+ _: 2
315
+ }, 1024)
316
+ ]),
317
+ _: 2
318
+ }, 1032, ["index"]))), 128)),
319
+ n("div", de, [
320
+ i(f, {
321
+ "button-text": "Link hinzufügen",
322
+ size: "medium",
323
+ variant: "tertiary",
324
+ "icon-start": "plus",
325
+ onClick: (m) => s.input(c.concat({}))
326
+ }, null, 8, ["onClick"])
327
+ ])
328
+ ]),
329
+ _: 1
330
+ }, 8, ["modelValue"])
331
+ ])
332
+ ]),
333
+ n("section", ce, [
334
+ i(K)
335
+ ])
336
+ ]));
337
+ }
338
+ });
339
+ export {
340
+ we as default
341
+ };
@@ -0,0 +1,64 @@
1
+ import { reactive as d, createElementBlock as u, openBlock as o, createElementVNode as s, createVNode as m, Fragment as h, renderList as g, unref as i, createBlock as f } from "vue";
2
+ import { FormKit as b } from "@formkit/vue";
3
+ import _ from "../../../components/StepActionsSection.vue.js";
4
+ import w from "../TextArea/TextAreaDefinition.js";
5
+ /* empty css */
6
+ import k from "../../../../_virtual/_plugin-vue_export-helper.js";
7
+ const V = { class: "project-phasen-planen" }, x = { class: "project-phasen-planen-content" }, l = 1e3, S = {
8
+ __name: "PlanenStep",
9
+ setup(q) {
10
+ const n = d({
11
+ questions: {
12
+ requirements_gatherings: {
13
+ question: "Wie haben Sie die Anforderungen erhoben und dokumentiert (z.B. durch Markterkundung, externe Berater oder Workshops)?",
14
+ answer: ""
15
+ },
16
+ tender_format: {
17
+ question: "Welche Ausschreibungsform haben Sie gewählt und warum? Gab es eine Vorlage oder Muster-Leistungsbeschreibung, die hilfreich war und die Sie teilen können?",
18
+ answer: ""
19
+ },
20
+ tender_tips: {
21
+ question: "Welche Tipps haben Sie für eine erfolgreiche Ausschreibung?",
22
+ answer: ""
23
+ },
24
+ resource_planning: {
25
+ question: "Wie haben Sie die Ressourcenplanung für die Entwicklung und den Betrieb Ihres Digitalen Zwillings gestaltet und gesichert?",
26
+ answer: ""
27
+ }
28
+ }
29
+ }), p = Object.keys(n.questions).map((r) => ({
30
+ name: r,
31
+ text: n.questions[r].question
32
+ }));
33
+ function c(r, t) {
34
+ n.questions[r].answer = t.slice(0, l);
35
+ }
36
+ return (r, t) => (o(), u("div", V, [
37
+ t[1] || (t[1] = s("div", { class: "project-phasen-planen-header" }, [
38
+ s("h4", null, "Planen")
39
+ ], -1)),
40
+ s("div", x, [
41
+ t[0] || (t[0] = s("p", { class: "project-phasen-planen-description" }, " Von der Ausschreibung bis zur Vergabe. ", -1)),
42
+ (o(!0), u(h, null, g(i(p), (e) => (o(), f(i(b), {
43
+ key: e.name,
44
+ id: e.name,
45
+ modelValue: n.questions[e.name].answer,
46
+ "onUpdate:modelValue": (a) => n.questions[e.name].answer = a,
47
+ label: e.text,
48
+ type: i(w),
49
+ name: e.name,
50
+ validation: "length:0,1000",
51
+ hint: "true",
52
+ help: `${n.questions[e.name].answer.length || 0} von ${l} Zeichen`,
53
+ "count-hint": !0,
54
+ onInput: (a) => c(e.name, a),
55
+ maxlength: l
56
+ }, null, 8, ["id", "modelValue", "onUpdate:modelValue", "label", "type", "name", "help", "onInput"]))), 128)),
57
+ m(_)
58
+ ])
59
+ ]));
60
+ }
61
+ }, y = /* @__PURE__ */ k(S, [["__scopeId", "data-v-7497c24a"]]);
62
+ export {
63
+ y as default
64
+ };
@@ -0,0 +1,48 @@
1
+ import { createElementBlock as t, openBlock as i, createElementVNode as e, createVNode as p, Fragment as c, renderList as d, createTextVNode as l, toDisplayString as s } from "vue";
2
+ import u from "../../../components/StepActionsSection.vue.js";
3
+ /* empty css */
4
+ import h from "../../../../_virtual/_plugin-vue_export-helper.js";
5
+ const v = { class: "project-phasen-overview" }, m = { class: "project-phasen-overview-content" }, g = { class: "project-phasen-overview-content" }, j = {
6
+ __name: "ProjektPhasenOverviewStep",
7
+ setup(k) {
8
+ const o = [
9
+ {
10
+ title: "Initiieren",
11
+ description: "Von der Projektidee bis zum Projektplan."
12
+ },
13
+ {
14
+ title: "Planen",
15
+ description: "Von der Ausschreibung bis zur Vergabe."
16
+ },
17
+ {
18
+ title: "Umsetzen",
19
+ description: "Von der Dienstleistersteuerung bis zur Meilensteinerreichung."
20
+ },
21
+ {
22
+ title: "Weiterdenken",
23
+ description: "Von den Learnings bis zur Skalierung der Projektergebnisse."
24
+ }
25
+ ];
26
+ return (_, n) => (i(), t("div", v, [
27
+ n[1] || (n[1] = e("div", { class: "project-phasen-overview-header" }, [
28
+ e("h4", null, "Geben Sie die Projektphasen Ihres Projekts an (optional)")
29
+ ], -1)),
30
+ e("div", m, [
31
+ n[0] || (n[0] = e("p", { class: "project-phasen-overview-description" }, "Helfen Sie anderen Kommunen Ihr Projekt noch besser zu verstehen, indem Sie Ihre organisatorischen Herausforderungen und Lösungswege beschreiben. Um Sie bei der Dokumentation zu unterstützen, leiten wir Sie anhand von Interviewfragen durch die folgenden vier Phasen:", -1)),
32
+ e("ul", g, [
33
+ (i(), t(c, null, d(o, (r, a) => e("li", {
34
+ key: a,
35
+ class: "project-phasen-phase"
36
+ }, [
37
+ l(s(r.title) + ": ", 1),
38
+ e("span", null, s(r.description), 1)
39
+ ])), 64))
40
+ ]),
41
+ p(u)
42
+ ])
43
+ ]));
44
+ }
45
+ }, w = /* @__PURE__ */ h(j, [["__scopeId", "data-v-3bfd4517"]]);
46
+ export {
47
+ w as default
48
+ };
@@ -0,0 +1,64 @@
1
+ import { reactive as c, createElementBlock as l, openBlock as o, createElementVNode as r, createVNode as p, Fragment as h, renderList as g, unref as i, createBlock as _ } from "vue";
2
+ import { FormKit as f } from "@formkit/vue";
3
+ import w from "../../../components/StepActionsSection.vue.js";
4
+ import b from "../TextArea/TextAreaDefinition.js";
5
+ /* empty css */
6
+ import z from "../../../../_virtual/_plugin-vue_export-helper.js";
7
+ const v = { class: "project-phasen-umstezen" }, S = { class: "project-phasen-umstezen-content" }, u = 1e3, V = {
8
+ __name: "UmstezenStep",
9
+ setup(k) {
10
+ const n = c({
11
+ questions: {
12
+ project_triggers: {
13
+ question: "Wie haben Sie die Zusammenarbeit mit den Dienstleistern organisiert und wie wurden relevante Stakeholder in Entscheidungsprozesse eingebunden (z.B. Meetingstruktur oder Frameworks)?",
14
+ answer: ""
15
+ },
16
+ involved_stakeholders: {
17
+ question: "Gab es Verzögerungen und wenn ja, was waren die Gründe?",
18
+ answer: ""
19
+ },
20
+ data_collection_method: {
21
+ question: "Welche Schnittstellen wurden genutzt und traten technische Herausforderungen auf?",
22
+ answer: ""
23
+ },
24
+ budget_planning: {
25
+ question: "Welche Überlegungen sind in Ihre Entscheidung für eine Open-Source-Lösung geflossen und welche Erfahrungen haben Sie bisher damit gemacht?",
26
+ answer: ""
27
+ }
28
+ }
29
+ }), m = Object.keys(n.questions).map((s) => ({
30
+ name: s,
31
+ text: n.questions[s].question
32
+ }));
33
+ function d(s, t) {
34
+ n.questions[s].answer = t.slice(0, u);
35
+ }
36
+ return (s, t) => (o(), l("div", v, [
37
+ t[1] || (t[1] = r("div", { class: "project-phasen-umstezen-header" }, [
38
+ r("h4", null, "Umstezen")
39
+ ], -1)),
40
+ r("div", S, [
41
+ t[0] || (t[0] = r("p", { class: "project-phasen-umstezen-description" }, " Von der Dienstleistersteuerung bis zur Meilensteinerreichung. ", -1)),
42
+ (o(!0), l(h, null, g(i(m), (e) => (o(), _(i(f), {
43
+ key: e.name,
44
+ id: e.name,
45
+ modelValue: n.questions[e.name].answer,
46
+ "onUpdate:modelValue": (a) => n.questions[e.name].answer = a,
47
+ label: e.text,
48
+ type: i(b),
49
+ name: e.name,
50
+ validation: "length:0,1000",
51
+ hint: "true",
52
+ help: `${n.questions[e.name].answer.length || 0} von ${u} Zeichen`,
53
+ "count-hint": !0,
54
+ onInput: (a) => d(e.name, a),
55
+ maxlength: u
56
+ }, null, 8, ["id", "modelValue", "onUpdate:modelValue", "label", "type", "name", "help", "onInput"]))), 128)),
57
+ p(w)
58
+ ])
59
+ ]));
60
+ }
61
+ }, B = /* @__PURE__ */ z(V, [["__scopeId", "data-v-b35066b7"]]);
62
+ export {
63
+ B as default
64
+ };
@@ -0,0 +1,64 @@
1
+ import { reactive as c, createElementBlock as l, openBlock as a, createElementVNode as s, createVNode as p, Fragment as h, renderList as g, unref as o, createBlock as k } from "vue";
2
+ import { FormKit as w } from "@formkit/vue";
3
+ import f from "../../../components/StepActionsSection.vue.js";
4
+ import _ from "../TextArea/TextAreaDefinition.js";
5
+ /* empty css */
6
+ import b from "../../../../_virtual/_plugin-vue_export-helper.js";
7
+ const j = { class: "project-phasen-weiterdenken" }, v = { class: "project-phasen-weiterdenken-content" }, d = 1e3, z = {
8
+ __name: "WeiterdenkenStep",
9
+ setup(S) {
10
+ const n = c({
11
+ questions: {
12
+ project_triggers: {
13
+ question: "Was sind Ihre wichtigsten Learnings aus dem Projekt? Was würden Sie beim nächsten Use Case anders machen?",
14
+ answer: ""
15
+ },
16
+ involved_stakeholders: {
17
+ question: "Wird die Wirksamkeit Ihres Projekts überwacht und wenn ja, wie? Ist der erwartete Nutzen eingetreten (z.B. ökologisch, sozial oder monetär)?",
18
+ answer: ""
19
+ },
20
+ data_collection_method: {
21
+ question: "Gibt es Pläne für eine Skalierung oder Weiterentwicklung? Wenn ja, wie sichern Sie die Finanzierung dafür?",
22
+ answer: ""
23
+ },
24
+ budget_planning: {
25
+ question: "Besonders wichtig für uns waren Förderprogramme, wie das Landesprogramm zur Digitalisierung im Bevölkerungsschutz. Dadurch konnten wir einen Großteil der Kosten für Software, Sensorik und externe Beratung abdecken. Gefehlt haben uns regelmäßige, themenspezifische Austauschformate oder Workshops mit anderen Kommunen, um voneinander zu lernen und Synergien besser nutzen zu können.",
26
+ answer: ""
27
+ }
28
+ }
29
+ }), u = Object.keys(n.questions).map((r) => ({
30
+ name: r,
31
+ text: n.questions[r].question
32
+ }));
33
+ function m(r, t) {
34
+ n.questions[r].answer = t.slice(0, d);
35
+ }
36
+ return (r, t) => (a(), l("div", j, [
37
+ t[1] || (t[1] = s("div", { class: "project-phasen-weiterdenken-header" }, [
38
+ s("h4", null, "Weiterdenken")
39
+ ], -1)),
40
+ s("div", v, [
41
+ t[0] || (t[0] = s("p", { class: "project-phasen-weiterdenken-description" }, " Von den Learnings bis zur Skalierung der Projektergebnisse. ", -1)),
42
+ (a(!0), l(h, null, g(o(u), (e) => (a(), k(o(w), {
43
+ key: e.name,
44
+ id: e.name,
45
+ modelValue: n.questions[e.name].answer,
46
+ "onUpdate:modelValue": (i) => n.questions[e.name].answer = i,
47
+ label: e.text,
48
+ type: o(_),
49
+ name: e.name,
50
+ validation: "length:0,1000",
51
+ hint: "true",
52
+ help: `${n.questions[e.name].answer.length || 0} von ${d} Zeichen`,
53
+ "count-hint": !0,
54
+ onInput: (i) => m(e.name, i),
55
+ maxlength: d
56
+ }, null, 8, ["id", "modelValue", "onUpdate:modelValue", "label", "type", "name", "help", "onInput"]))), 128)),
57
+ p(f)
58
+ ])
59
+ ]));
60
+ }
61
+ }, y = /* @__PURE__ */ b(z, [["__scopeId", "data-v-407407f4"]]);
62
+ export {
63
+ y as default
64
+ };
@@ -1,7 +1,7 @@
1
1
  import o from "./WipStep.vue2.js";
2
2
  /* empty css */
3
3
  import t from "../../../_virtual/_plugin-vue_export-helper.js";
4
- const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-3de21dc5"]]);
4
+ const a = /* @__PURE__ */ t(o, [["__scopeId", "data-v-47cf5f4a"]]);
5
5
  export {
6
- m as default
6
+ a as default
7
7
  };
@@ -1,7 +1,7 @@
1
- import { defineComponent as s, createElementBlock as c, openBlock as i, createElementVNode as e, createVNode as t, withCtx as r, toDisplayString as a } from "vue";
2
- import p from "../../components/StepActionsSection.vue.js";
1
+ import { defineComponent as s, createElementBlock as c, openBlock as i, createElementVNode as e, createVNode as t, withCtx as p, toDisplayString as a } from "vue";
2
+ import r from "../../components/StepActionsSection.vue.js";
3
3
  import l from "./Card.vue.js";
4
- const _ = { class: "wip-step" }, d = { class: "funny-section" }, m = { class: "wip-container copy-large-regular" }, f = { class: "funny-section" }, w = /* @__PURE__ */ s({
4
+ const _ = { class: "wip-step dpiV3_page V3-typography" }, d = { class: "funny-section" }, m = { class: "wip-container copy-large-semi-bold" }, f = { class: "funny-section" }, V = /* @__PURE__ */ s({
5
5
  __name: "WipStep",
6
6
  props: {
7
7
  name: {
@@ -14,18 +14,18 @@ const _ = { class: "wip-step" }, d = { class: "funny-section" }, m = { class: "w
14
14
  return (u, h) => (i(), c("div", _, [
15
15
  e("section", d, [
16
16
  t(l, null, {
17
- default: r(() => [
18
- e("div", m, " WIP " + a(n.name), 1)
17
+ default: p(() => [
18
+ e("div", m, " WIP: " + a(n.name), 1)
19
19
  ]),
20
20
  _: 1
21
21
  })
22
22
  ]),
23
23
  e("section", f, [
24
- t(p)
24
+ t(r)
25
25
  ])
26
26
  ]));
27
27
  }
28
28
  });
29
29
  export {
30
- w as default
30
+ V as default
31
31
  };
@@ -1,7 +1,7 @@
1
1
  import o from "./ProgressSteps.vue2.js";
2
2
  /* empty css */
3
3
  import r from "../../_virtual/_plugin-vue_export-helper.js";
4
- const p = /* @__PURE__ */ r(o, [["__scopeId", "data-v-103ff804"]]);
4
+ const p = /* @__PURE__ */ r(o, [["__scopeId", "data-v-cfe04ddd"]]);
5
5
  export {
6
6
  p as default
7
7
  };