@piveau/dpi 0.2.0-alpha.41 → 0.2.0-alpha.43

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 (31) 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 +1 -1
  3. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/BasicInfosStep/ProjectOrganisationStep.vue2.js +3 -3
  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/DataCollection/BasicInformationStep.vue.js +1 -1
  6. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DataCollection/BasicInformationStep.vue2.js +97 -80
  7. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DataProcessing/BasicInformationStep.vue.js +2 -2
  8. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DataProcessing/BasicInformationStep.vue2.js +107 -90
  9. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DataSimulation/BasicInformationStep.vue.js +1 -1
  10. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DataSimulation/BasicInformationStep.vue2.js +96 -80
  11. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DataVisualisation/BasicInformationStep.vue.js +4 -4
  12. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DataVisualisation/BasicInformationStep.vue2.js +115 -93
  13. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Findability/ApplicationsStep.vue.js +2 -2
  14. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Findability/ApplicationsStep.vue2.js +120 -109
  15. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Findability/CategoriesStep.vue.js +2 -2
  16. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Findability/CategoriesStep.vue2.js +60 -38
  17. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/InputField/InputFieldVeeValidate.vue.js +9 -8
  18. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/OptionalDataStep/OptionalDataStep.vue.js +2 -2
  19. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/OptionalDataStep/OptionalDataStep.vue2.js +114 -103
  20. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/HardwareForm.vue.js +2 -2
  21. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/HardwareForm.vue2.js +180 -185
  22. package/dist/packages/dpi/src/data-provider-interface/components/StepActionsSection.vue.js +2 -2
  23. package/dist/packages/dpi/src/data-provider-interface/components/StepActionsSection.vue2.js +101 -90
  24. package/dist/packages/dpi/src/data-provider-interface/composables/project-transformer/decodeProject.js +74 -74
  25. package/dist/packages/dpi/src/data-provider-interface/composables/useFormKitMessages.js +14 -0
  26. package/dist/packages/dpi/src/data-provider-interface/composables/useFormKitSummary.js +46 -0
  27. package/dist/packages/dpi/src/data-provider-interface/utils/useSteps.js +35 -29
  28. package/dist/packages/dpi/src/data-provider-interface/views/InputPageProject.vue.js +22 -21
  29. package/dist/packages/dpi/src/utils/twinbyUtils.js +1 -0
  30. package/dist/styles/_dpi.scss +16 -0
  31. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  import o from "./StepActionsSection.vue2.js";
2
2
  /* empty css */
3
3
  import t from "../../../../../_virtual/_plugin-vue_export-helper.js";
4
- const r = /* @__PURE__ */ t(o, [["__scopeId", "data-v-b1ca11ef"]]);
4
+ const e = /* @__PURE__ */ t(o, [["__scopeId", "data-v-80612429"]]);
5
5
  export {
6
- r as default
6
+ e as default
7
7
  };
@@ -1,16 +1,17 @@
1
- import { defineComponent as U, inject as Z, ref as p, watch as q, computed as h, createElementBlock as r, openBlock as o, normalizeClass as G, createElementVNode as g, createBlock as y, createCommentVNode as N, createVNode as s, renderSlot as B, unref as E, normalizeStyle as H, withDirectives as x, vShow as C, Fragment as P, withCtx as S, renderList as J, toDisplayString as z, nextTick as Q } from "vue";
2
- import { getNode as X, isNode as Y } from "@formkit/core";
3
- import { getValidationMessages as _ } from "@formkit/validation";
4
- import { PhExclamationMark as ee } from "@phosphor-icons/vue";
5
- import u from "../HappyFlowComponents/ui/ButtonV3.vue.js";
6
- import te from "../HappyFlowComponents/ui/Card.vue.js";
7
- import { dpiStepperKey as ne } from "../utils/injectionKeys.js";
8
- import ae from "./TheCancelConfirmationDialog.vue.js";
9
- import { useEditModeInfo as oe } from "../composables/useDpiEditMode.js";
10
- const ie = { class: "step-actions" }, le = { class: "step-actions__prev-and-next" }, re = { style: { margin: "0" } }, se = {
1
+ import { defineComponent as G, inject as H, ref as h, watch as J, computed as y, createElementBlock as u, openBlock as n, normalizeClass as Q, createElementVNode as x, createBlock as C, createCommentVNode as E, createVNode as c, renderSlot as P, unref as z, normalizeStyle as X, withDirectives as S, vShow as b, Fragment as D, withCtx as k, renderList as Y, toDisplayString as L, nextTick as A } from "vue";
2
+ import { getNode as _, isNode as ee } from "@formkit/core";
3
+ import { getValidationMessages as te } from "@formkit/validation";
4
+ import { PhExclamationMark as oe } from "@phosphor-icons/vue";
5
+ import { useFormKitSummary as ae } from "../composables/useFormKitSummary.js";
6
+ import d from "../HappyFlowComponents/ui/ButtonV3.vue.js";
7
+ import ne from "../HappyFlowComponents/ui/Card.vue.js";
8
+ import { dpiStepperKey as ie } from "../utils/injectionKeys.js";
9
+ import se from "./TheCancelConfirmationDialog.vue.js";
10
+ import { useEditModeInfo as re } from "../composables/useDpiEditMode.js";
11
+ const le = { class: "step-actions" }, ue = { class: "step-actions__prev-and-next" }, ce = { style: { margin: "0" } }, de = {
11
12
  key: 0,
12
13
  class: "validation-errors"
13
- }, Ce = /* @__PURE__ */ U({
14
+ }, be = /* @__PURE__ */ G({
14
15
  __name: "StepActionsSection",
15
16
  props: {
16
17
  hideCancel: { type: Boolean, default: !1 },
@@ -27,62 +28,72 @@ const ie = { class: "step-actions" }, le = { class: "step-actions__prev-and-next
27
28
  showDetailedErrorSummary: { type: Boolean, default: !1 }
28
29
  },
29
30
  emits: ["submit", "closeWithSaving"],
30
- setup(D, { emit: L }) {
31
- const l = D, b = L, t = Z(ne);
31
+ setup(F, { emit: M }) {
32
+ const s = F, T = M, t = H(ie);
32
33
  t || console.warn("dpiStepper is not provided. Please use StepActionsSection inside InputPage");
33
- function T(e) {
34
+ const { summaries: W, submit: j } = ae();
35
+ function N(e) {
34
36
  return e !== void 0;
35
37
  }
36
- const f = p(!1), d = p(!1), i = p([]);
37
- t && q(t.activeStep, () => {
38
- i.value.splice(0, i.value.length), d.value = !1;
39
- });
40
- function k() {
41
- f.value = !0;
38
+ const v = h(!1), f = h(!1), r = h([]);
39
+ function B() {
40
+ v.value = !0;
42
41
  }
43
- function m() {
42
+ function p() {
44
43
  t == null || t.goToPreviousStep();
45
44
  }
46
- async function v() {
47
- var V, w;
48
- if (!T(t))
45
+ function I(e) {
46
+ const o = (a) => {
47
+ for (const l in a.store) {
48
+ const i = a.store[l];
49
+ i.type === "error" || i.type === "ui" && l === "incomplete" ? a.store.remove(l) : i.type === "state" && a.store.set({ ...i, value: !1 });
50
+ }
51
+ };
52
+ o(e), e.walk(o);
53
+ }
54
+ async function g() {
55
+ var w, V;
56
+ if (!N(t))
49
57
  return !1;
50
- t.triggerValidationCurrentStep(), await Q();
58
+ t.triggerValidationCurrentStep(), await A();
51
59
  const e = t.activeStep.value;
52
60
  if (!e)
53
61
  return !1;
54
- const n = X(e);
55
- if (!Y(n))
56
- return console.error("Current step node is not a FormKitNode", n), !1;
57
- n.clearErrors(!0);
58
- const a = _(n), K = !!((w = (V = t.steps) == null ? void 0 : V[e]) != null && w.valid);
59
- return a && a.size > 0 || !K ? (i.value = [...a.entries()].flatMap(([de, R]) => R.map((O) => String(O.value))), d.value = !0, !1) : (i.value.splice(0, i.value.length), d.value = !1, !0);
62
+ const o = _(e);
63
+ if (!ee(o))
64
+ return console.error("Current step node is not a FormKitNode", o), !1;
65
+ await j();
66
+ const a = te(o), l = !!((V = (w = t.steps) == null ? void 0 : w[e]) != null && V.valid), i = a && a.size > 0 || !l;
67
+ return i || (I(o), o.clearErrors(!0), f.value = !1, await A()), !i;
60
68
  }
61
- function M(e, n) {
62
- v().then((a) => {
63
- a ? e() : n && typeof n == "function" && n();
69
+ J(W, (e) => {
70
+ e && e.length > 0 ? (f.value = !0, r.value = (e == null ? void 0 : e.map((o) => o.message)) || []) : (f.value = !1, r.value.splice(0, r.value.length));
71
+ });
72
+ function K(e, o) {
73
+ g().then((a) => {
74
+ a ? e() : o && typeof o == "function" && o();
64
75
  });
65
76
  }
66
- function A() {
77
+ function $() {
67
78
  t == null || t.goToNextStep();
68
79
  }
69
- async function c() {
70
- !T(t) || !await v() || (t != null && t.isLast.value ? b("submit") : t == null || t.goToNextStep());
80
+ async function m() {
81
+ !N(t) || !await g() || (t != null && t.isLast.value ? T("submit") : t == null || t.goToNextStep());
71
82
  }
72
- const { isEditMode: F } = oe();
73
- async function W() {
74
- !t || !await v() || t == null || t.goToStep(Object.keys(t.steps).pop() || "");
83
+ const { isEditMode: R } = re();
84
+ async function O() {
85
+ !t || !await g() || t == null || t.goToStep(Object.keys(t.steps).pop() || "");
75
86
  }
76
- const j = h(() => t ? t == null ? void 0 : t.isLast.value : !0), I = h(() => [
77
- { "step-actions-container--compact": l.compact },
78
- l.classList
79
- ]), $ = h(() => l.showDetailedErrorSummary ? "Fehler" : "Bitte füllen Sie alle Pflichtfelder aus und geben Sie gültige Formate an, bevor Sie fortfahren.");
80
- return (e, n) => (o(), r("div", {
81
- class: G([I.value, "step-actions-container"])
87
+ const U = y(() => t ? t == null ? void 0 : t.isLast.value : !0), Z = y(() => [
88
+ { "step-actions-container--compact": s.compact },
89
+ s.classList
90
+ ]), q = y(() => s.showDetailedErrorSummary ? "Fehler" : "Bitte füllen Sie alle Pflichtfelder aus und geben Sie gültige Formate an, bevor Sie fortfahren.");
91
+ return (e, o) => (n(), u("div", {
92
+ class: Q([Z.value, "step-actions-container"])
82
93
  }, [
83
- g("div", ie, [
84
- E(F) ? (o(), r(P, { key: 1 }, [
85
- j.value ? x((o(), y(u, {
94
+ x("div", le, [
95
+ z(R) ? (n(), u(D, { key: 1 }, [
96
+ U.value ? S((n(), C(d, {
86
97
  key: 1,
87
98
  class: "edit-save-button",
88
99
  size: "large",
@@ -90,99 +101,99 @@ const ie = { class: "step-actions" }, le = { class: "step-actions__prev-and-next
90
101
  type: "button",
91
102
  "button-text": e.nextText,
92
103
  "icon-end": e.nextText === "Als Entwurf Speichern" ? null : "CaretRight",
93
- loading: l.loading,
94
- onClick: c
104
+ loading: s.loading,
105
+ onClick: m
95
106
  }, null, 8, ["variant", "button-text", "icon-end", "loading"])), [
96
- [C, !e.hideNext]
97
- ]) : (o(), y(u, {
107
+ [b, !e.hideNext]
108
+ ]) : (n(), C(d, {
98
109
  key: 0,
99
110
  class: "edit-save-button",
100
111
  size: "large",
101
112
  variant: "primary",
102
113
  type: "button",
103
114
  "button-text": "Speichern",
104
- onClick: W
115
+ onClick: O
105
116
  }))
106
- ], 64)) : B(e.$slots, "default", {
117
+ ], 64)) : P(e.$slots, "default", {
107
118
  key: 0,
108
- handleCancel: k,
109
- handlePrevious: m,
110
- handleSubmit: c
119
+ handleCancel: B,
120
+ handlePrevious: p,
121
+ handleSubmit: m
111
122
  }, () => [
112
- s(u, {
113
- style: H({ opacity: e.hideCancel ? 0 : 1 }),
123
+ c(d, {
124
+ style: X({ opacity: e.hideCancel ? 0 : 1 }),
114
125
  variant: "tertiary",
115
126
  size: "large",
116
127
  type: "button",
117
128
  "button-text": e.cancelText,
118
- onClick: k
129
+ onClick: B
119
130
  }, null, 8, ["style", "button-text"]),
120
- g("div", le, [
121
- B(e.$slots, "prev-and-next", {
131
+ x("div", ue, [
132
+ P(e.$slots, "prev-and-next", {
122
133
  hidePrevious: e.hidePrevious,
123
134
  hideNext: e.hideNext,
124
135
  previousText: e.previousText,
125
136
  nextText: e.nextText,
126
- handleNext: A,
127
- handlePrevious: m,
128
- handleSubmit: c,
129
- loading: l.loading,
130
- validate: M
137
+ handleNext: $,
138
+ handlePrevious: p,
139
+ handleSubmit: m,
140
+ loading: s.loading,
141
+ validate: K
131
142
  }, () => [
132
- x(s(u, {
143
+ S(c(d, {
133
144
  variant: "secondary",
134
145
  size: "large",
135
146
  type: "button",
136
147
  "button-text": e.previousText,
137
148
  "icon-start": "CaretLeft",
138
- onClick: m
149
+ onClick: p
139
150
  }, null, 8, ["button-text"]), [
140
- [C, !e.hidePrevious]
151
+ [b, !e.hidePrevious]
141
152
  ]),
142
- x(s(u, {
153
+ S(c(d, {
143
154
  size: "large",
144
155
  variant: e.nextVariant,
145
156
  type: "button",
146
157
  "button-text": e.nextText,
147
158
  "icon-end": e.nextText === "Als Entwurf Speichern" || e.nextText === "Projektanlage starten" ? null : "CaretRight",
148
- loading: l.loading,
149
- onClick: c
159
+ loading: s.loading,
160
+ onClick: m
150
161
  }, null, 8, ["variant", "button-text", "icon-end", "loading"]), [
151
- [C, !e.hideNext]
162
+ [b, !e.hideNext]
152
163
  ])
153
164
  ], !0)
154
165
  ])
155
166
  ], !0)
156
167
  ]),
157
- d.value && i.value.length ? (o(), y(te, {
168
+ f.value && r.value.length ? (n(), C(ne, {
158
169
  key: 0,
159
170
  variant: "error",
160
171
  "icon-top": ""
161
172
  }, {
162
- icon: S(() => [
163
- s(E(ee), {
173
+ icon: k(() => [
174
+ c(z(oe), {
164
175
  size: 32,
165
176
  color: "currentColor"
166
177
  })
167
178
  ]),
168
- title: S(() => [
169
- g("p", re, z($.value), 1)
179
+ title: k(() => [
180
+ x("p", ce, L(q.value), 1)
170
181
  ]),
171
- default: S(() => [
172
- e.showDetailedErrorSummary ? (o(), r("ul", se, [
173
- (o(!0), r(P, null, J(i.value, (a) => (o(), r("li", { key: a }, z(a), 1))), 128))
174
- ])) : N("", !0)
182
+ default: k(() => [
183
+ e.showDetailedErrorSummary ? (n(), u("ul", de, [
184
+ (n(!0), u(D, null, Y(r.value, (a) => (n(), u("li", { key: a }, L(a), 1))), 128))
185
+ ])) : E("", !0)
175
186
  ]),
176
187
  _: 1
177
- })) : N("", !0),
178
- s(ae, {
179
- modelValue: f.value,
180
- "onUpdate:modelValue": n[0] || (n[0] = (a) => f.value = a),
181
- onCloseWithSaving: n[1] || (n[1] = (a) => b("closeWithSaving"))
188
+ })) : E("", !0),
189
+ c(se, {
190
+ modelValue: v.value,
191
+ "onUpdate:modelValue": o[0] || (o[0] = (a) => v.value = a),
192
+ onCloseWithSaving: o[1] || (o[1] = (a) => T("closeWithSaving"))
182
193
  }, null, 8, ["modelValue"])
183
194
  ], 2));
184
195
  }
185
196
  });
186
197
  export {
187
- Ce as default
198
+ be as default
188
199
  };
@@ -1,10 +1,10 @@
1
1
  import { pipe as A } from "effect";
2
- import * as g from "effect/Option";
2
+ import * as f from "effect/Option";
3
3
  import * as H from "jsonld";
4
- import { schemaProject as q } from "../../schema/projectLdSchema.js";
4
+ import { schemaProject as C } from "../../schema/projectLdSchema.js";
5
5
  import { getFirstItem as G, extractStringValue as t, extractLocalizedString as N } from "../useDpiSimpleLoader.js";
6
6
  import { isNonNullable as h } from "./encodeProject.js";
7
- import { PREFIXES as F, nonEmpty as j } from "./shared.js";
7
+ import { PREFIXES as F, nonEmpty as I } from "./shared.js";
8
8
  function W(n) {
9
9
  const a = (n || "").trim();
10
10
  if (!a)
@@ -16,7 +16,7 @@ function W(n) {
16
16
  return a;
17
17
  }
18
18
  }
19
- async function C(n) {
19
+ async function K(n) {
20
20
  const a = {
21
21
  "@context": F,
22
22
  "@type": "schema:Project"
@@ -26,18 +26,18 @@ async function C(n) {
26
26
  }), r = await H.compact(s, F, {
27
27
  compactArrays: !1,
28
28
  graph: !1
29
- }), d = q.safeParse(G(r == null ? void 0 : r["@graph"]));
30
- if (!d.success)
29
+ }), l = C.safeParse(G(r == null ? void 0 : r["@graph"]));
30
+ if (!l.success)
31
31
  throw new Error(`Failed to parse project
32
32
 
33
- ${d.error.message}`);
34
- return d.data;
33
+ ${l.error.message}`);
34
+ return l.data;
35
35
  }
36
36
  function U(n) {
37
- return j(G(n["@id"]));
37
+ return I(G(n["@id"]));
38
38
  }
39
- function K(n, a) {
40
- var r, d;
39
+ function V(n, a) {
40
+ var r, l;
41
41
  const { visibility: s } = a;
42
42
  return {
43
43
  "Auffindbarkeit/Sichtbarkeit": {
@@ -47,39 +47,39 @@ function K(n, a) {
47
47
  categories: ((r = n["dcat:theme"]) == null ? void 0 : r.map(U).filter(h)) || []
48
48
  },
49
49
  "Auffindbarkeit/Anwendungsbereiche": {
50
- applications: ((d = n["schema:application"]) == null ? void 0 : d.filter(h)) || []
50
+ applications: ((l = n["schema:application"]) == null ? void 0 : l.filter(h)) || []
51
51
  }
52
52
  };
53
53
  }
54
- function V(n) {
54
+ function R(n) {
55
55
  var s;
56
56
  const a = (s = n["dcat:contactPoint"]) == null ? void 0 : s.map((r) => ({
57
- name: j(t(r["vcard:fn"])),
58
- mail: j(t(r["vcard:hasEmail"])),
59
- phone: j(t(r["vcard:hasTelephone"]))
57
+ name: I(t(r["vcard:fn"])),
58
+ mail: I(t(r["vcard:hasEmail"])),
59
+ phone: I(t(r["vcard:hasTelephone"]))
60
60
  })).filter(h);
61
61
  return {
62
62
  "Grundlegende Informationen/Name": {
63
63
  projectName: A(
64
- g.fromNullable(N(n["dct:title"], "de")),
65
- g.flatMap((r) => j(r) ? g.some(r) : g.none()),
66
- g.getOrThrowWith(() => new Error("Project name is missing"))
64
+ f.fromNullable(N(n["dct:title"], "de")),
65
+ f.flatMap((r) => I(r) ? f.some(r) : f.none()),
66
+ f.getOrThrowWith(() => new Error("Project name is missing"))
67
67
  )
68
68
  },
69
69
  "Grundlegende Informationen/Beschreibung": {
70
70
  projectDescription: A(
71
- g.fromNullable(N(n["dct:description"], "de")),
71
+ f.fromNullable(N(n["dct:description"], "de")),
72
72
  // O.flatMap(s => nonEmpty(s) ? O.some(s) : O.none()),
73
73
  // O.getOrThrowWith(() => new Error('Project description is missing')),
74
- g.getOrElse(() => "")
74
+ f.getOrElse(() => "")
75
75
  )
76
76
  },
77
77
  "Grundlegende Informationen/Projektstatus": {
78
78
  projectName: A(
79
- g.fromNullable(n["schema:status"]),
79
+ f.fromNullable(n["schema:status"]),
80
80
  // O.flatMap(s => nonEmpty(s) ? O.some(s) : O.none()),
81
81
  // O.getOrThrowWith(() => new Error('Project status is missing')),
82
- g.getOrElse(() => "")
82
+ f.getOrElse(() => "")
83
83
  )
84
84
  },
85
85
  "Grundlegende Informationen/Organisation": {
@@ -91,8 +91,8 @@ function V(n) {
91
91
  }
92
92
  };
93
93
  }
94
- function R(n) {
95
- var a, s, r, d, b, k, D, i;
94
+ function _(n) {
95
+ var a, s, r, l, p, k, D, i;
96
96
  return {
97
97
  "Optionale Daten": {
98
98
  partners: ((a = n["dct:contributor"]) == null ? void 0 : a.map((c) => ({
@@ -100,12 +100,12 @@ function R(n) {
100
100
  url: t(c["foaf:homepage"])
101
101
  })).filter(h)) || [],
102
102
  requiredExpertise: ((s = n["schema:skills"]) == null ? void 0 : s.map(t).filter(h)) || [],
103
- references: ((d = (r = n["dct:references"]) == null ? void 0 : r.filter((c) => c["dct:type"] === "image")) == null ? void 0 : d.map((c) => ({
103
+ references: ((l = (r = n["dct:references"]) == null ? void 0 : r.filter((c) => c["dct:type"] === "image")) == null ? void 0 : l.map((c) => ({
104
104
  homepage: t(c["schema:url"])
105
105
  })).filter(h)) || [],
106
106
  startDate: t(n["schema:startDate"] || ""),
107
107
  endDate: t(n["schema:endDate"] || ""),
108
- budget: t(((b = n["schema:amount"]) == null ? void 0 : b["schema:value"]) || ""),
108
+ budget: t(((p = n["schema:amount"]) == null ? void 0 : p["schema:value"]) || ""),
109
109
  budgetDescription: t(((k = n["schema:amount"]) == null ? void 0 : k["schema:description"]) || ""),
110
110
  // todo:
111
111
  links: ((i = (D = n["dct:references"]) == null ? void 0 : D.filter((c) => c["dct:type"] === "documentation")) == null ? void 0 : i.map((c) => ({
@@ -118,22 +118,22 @@ function R(n) {
118
118
  }
119
119
  function $(n) {
120
120
  const a = n["schema:hasPart"] ?? [], s = (u) => a.find((m) => m["dct:type"] === u), r = (u) => {
121
- var p, e;
122
- const m = /* @__PURE__ */ new Map(), v = [...(u == null ? void 0 : u["schema:question"]) ?? []].sort((l, f) => {
123
- const y = Number.parseInt(t(l["schema:position"])), z = Number.parseInt(t(f["schema:position"]));
121
+ var g, w;
122
+ const m = /* @__PURE__ */ new Map(), S = [...(u == null ? void 0 : u["schema:question"]) ?? []].sort((e, d) => {
123
+ const y = Number.parseInt(t(e["schema:position"])), z = Number.parseInt(t(d["schema:position"]));
124
124
  return (Number.isNaN(y) ? 0 : y) - (Number.isNaN(z) ? 0 : z);
125
125
  });
126
- for (const l of v) {
127
- const f = (p = l["schema:text"]) == null ? void 0 : p.trim(), y = (e = l["schema:acceptedAnswer"]) == null ? void 0 : e.trim();
128
- f && y && m.set(f, y);
126
+ for (const e of S) {
127
+ const d = (g = e["schema:text"]) == null ? void 0 : g.trim(), y = (w = e["schema:acceptedAnswer"]) == null ? void 0 : w.trim();
128
+ d && y && m.set(d, y);
129
129
  }
130
130
  return m;
131
- }, d = {
131
+ }, l = {
132
132
  projectTriggers: "Was waren Ausloeser fuer das Projekt (z. B. rechtliche oder politische Vorgaben, intrinsische Motivation oder inspirierende Projekte aus anderen Kommunen)?",
133
133
  involvedStakeholders: "Welche relevanten Akteure innerhalb oder ausserhalb Ihrer Organisation haben Sie fruehzeitig involviert (z. B. um politische Rueckendeckung sicherzustellen)?",
134
134
  dataCollectionMethod: "Wie haben Sie den Bestand vorhandener Daten erhoben?",
135
135
  budgetPlanning: "Wie haben Sie das erste Budget berechnet und nachhaltig gesichert?"
136
- }, b = {
136
+ }, p = {
137
137
  requirementsGatherings: "Wie haben Sie die Anforderungen erhoben und dokumentiert (z. B. durch Markterkundung, externe Berater oder Workshops)?",
138
138
  tenderFormat: "Welche Ausschreibungsform haben Sie gewaehlt und warum? Gab es eine Vorlage oder Muster-Leistungsbeschreibung, die hilfreich war?",
139
139
  tenderTips: "Welche Tipps haben Sie fuer eine erfolgreiche Ausschreibung?",
@@ -149,18 +149,18 @@ function $(n) {
149
149
  dataCollectionMethod: "Gibt es Plaene fuer eine Skalierung oder Weiterentwicklung? Wenn ja, wie sichern Sie die Finanzierung dafuer?",
150
150
  budgetPlanning: "Welche externen Unterstuetzungsangebote haben Ihnen geholfen oder auch gefehlt?"
151
151
  }, i = (u, m) => {
152
- const I = s(u), v = r(I), p = {};
153
- for (const [e, l] of Object.entries(m)) {
154
- const f = v.get(l);
155
- f && (p[e] = f);
152
+ const v = s(u), S = r(v), g = {};
153
+ for (const [w, e] of Object.entries(m)) {
154
+ const d = S.get(e);
155
+ d && (g[w] = d);
156
156
  }
157
- return p;
158
- }, c = i("Initiieren", d), w = i("Planen", b), S = i("Umsetzen", k), P = i("Weiterdenken", D);
157
+ return g;
158
+ }, c = i("Initiieren", l), b = i("Planen", p), j = i("Umsetzen", k), P = i("Weiterdenken", D);
159
159
  return {
160
160
  "Projektphasen (optional)": {},
161
161
  "Projektphasen (optional)/Initiieren": c,
162
- "Projektphasen (optional)/Planen": w,
163
- "Projektphasen (optional)/Umsetzen": S,
162
+ "Projektphasen (optional)/Planen": b,
163
+ "Projektphasen (optional)/Umsetzen": j,
164
164
  "Projektphasen (optional)/Weiterdenken": P
165
165
  };
166
166
  }
@@ -188,76 +188,76 @@ function L(n) {
188
188
  "4. Datenvisualisierung/Software": {},
189
189
  "4. Datenvisualisierung/Datensätze": {},
190
190
  "4. Datenvisualisierung/Hardware": {}
191
- }, d = (i) => `${i}/Grundlegende Informationen`, b = (i) => `${i}/Software`, k = (i) => `${i}/Datensätze`, D = (i) => `${i}/Hardware`;
191
+ }, l = (i) => `${i}/Grundlegende Informationen`, p = (i) => `${i}/Software`, k = (i) => `${i}/Datensätze`, D = (i) => `${i}/Hardware`;
192
192
  for (const i of a) {
193
- const c = (t(i["p-plan:Activity"] || "") || "").trim().toLowerCase(), w = s[c];
194
- if (!w)
193
+ const c = (t(i["p-plan:Activity"] || "") || "").trim().toLowerCase(), b = s[c];
194
+ if (!b)
195
195
  continue;
196
- const S = N(i["dct:description"], "de") || "", P = (i["prov:used"] || []).map((e) => ({
196
+ const j = N(i["dct:description"], "de") || "", P = j === "__EMPTY__" ? "" : j, u = (i["prov:used"] || []).map((e) => ({
197
197
  name: t(e["dct:title"]) || ""
198
198
  // description: extractStringValue(m['dct:description']) || undefined,
199
- })).filter((e) => (e.name ?? "").length > 0), u = (i["dct:references"] || []).filter((e) => t(e["dct:type"]) === "documentation").map((e) => ({
199
+ })).filter((e) => (e.name ?? "").length > 0), m = (i["dct:references"] || []).filter((e) => t(e["dct:type"]) === "documentation").map((e) => ({
200
200
  name: t(e["dct:title"]) || "",
201
201
  url: t(e["schema:url"]) || "",
202
202
  description: t(e["dct:description"]) || void 0
203
203
  })).filter((e) => e.url.length > 0 && e.name.length > 0);
204
- (S || P.length > 0 || u.length > 0) && (r[d(w)] = {
205
- ...S ? { description: S } : {},
206
- ...P.length > 0 ? { methods: P } : {},
207
- ...u.length > 0 ? { links: u } : {}
204
+ (P || u.length > 0 || m.length > 0) && (r[l(b)] = {
205
+ ...P ? { description: P } : {},
206
+ ...u.length > 0 ? { methods: u } : {},
207
+ ...m.length > 0 ? { links: m } : {}
208
208
  });
209
- const m = i["p-plan:hasInputVar"] || [], I = m.filter((e) => t(e["@type"]) === "schema:SoftwareApplication").map((e) => ({
209
+ const v = i["p-plan:hasInputVar"] || [], S = v.filter((e) => t(e["@type"]) === "schema:SoftwareApplication").map((e) => ({
210
210
  id: W(t(e["dct:identifier"]) || ""),
211
- functionalities: (e["schema:featureList"] || []).map((l) => t(l)).filter(h)
211
+ functionalities: (e["schema:featureList"] || []).map((d) => t(d)).filter(h)
212
212
  })).filter((e) => e.id.length > 0);
213
- I.length > 0 && (r[b(w)] = {
214
- selected: I
213
+ S.length > 0 && (r[p(b)] = {
214
+ selected: S
215
215
  });
216
- const v = m.filter((e) => t(e["@type"]) === "dcat:Dataset").map((e) => ({ id: W(t(e["dct:identifier"]) || "") })).filter((e) => e.id.length > 0);
217
- v.length > 0 && (r[k(w)] = {
218
- selected: v
216
+ const g = v.filter((e) => t(e["@type"]) === "dcat:Dataset").map((e) => ({ id: W(t(e["dct:identifier"]) || "") })).filter((e) => e.id.length > 0);
217
+ g.length > 0 && (r[k(b)] = {
218
+ selected: g
219
219
  });
220
- const p = m.filter((e) => t(e["@type"]) === "ssn:System").map((e) => {
221
- const l = e["ssn:deployedSystem"], f = W(t(e["dct:identifier"]) || ""), y = l && typeof l == "object" ? W(t(l["@id"]) || l["@id"]) : "", z = f || y, x = N(e["dct:description"], "de") || void 0, E = (e["ssn:forProperty"] || []).map((o) => t(o)).filter(h), B = (e["sosa:hasLocation"] || []).map((o) => ({ lat: t(o["geo:lat"]) || "", lng: t(o["geo:long"]) || "" })).filter((o) => o.lat.length > 0 && o.lng.length > 0), M = (e["foaf:depiction"] || []).map((o) => U(o)).filter(h), T = (e["dct:references"] || []).filter((o) => t(o["dct:type"]) === "documentation").map((o) => ({
220
+ const w = v.filter((e) => t(e["@type"]) === "ssn:System").map((e) => {
221
+ const d = e["ssn:deployedSystem"], y = W(t(e["dct:identifier"]) || ""), z = d && typeof d == "object" ? W(t(d["@id"]) || d["@id"]) : "", q = y || z, x = N(e["dct:description"], "de") || void 0, E = (e["ssn:forProperty"] || []).map((o) => t(o)).filter(h), M = (e["sosa:hasLocation"] || []).map((o) => ({ lat: t(o["geo:lat"]) || "", lng: t(o["geo:long"]) || "" })).filter((o) => o.lat.length > 0 && o.lng.length > 0), B = (e["foaf:depiction"] || []).map((o) => U(o)).filter(h), T = (e["dct:references"] || []).filter((o) => t(o["dct:type"]) === "documentation").map((o) => ({
222
222
  name: t(o["dct:title"]) || "",
223
223
  url: t(o["schema:url"]) || "",
224
224
  description: t(o["dct:description"]) || void 0
225
225
  })).filter((o) => o.url.length > 0), O = (e["ssn-system:hasSystemCapability"] || []).map((o) => t(o)).filter(h);
226
226
  return {
227
- id: z,
227
+ id: q,
228
228
  ...x ? { description: x } : {},
229
229
  ...E.length > 0 ? { forProperty: E } : {},
230
- ...B.length > 0 ? { locations: B } : {},
231
- ...M.length > 0 ? { depictions: M } : {},
230
+ ...M.length > 0 ? { locations: M } : {},
231
+ ...B.length > 0 ? { depictions: B } : {},
232
232
  ...T.length > 0 ? { references: T } : {},
233
233
  ...O.length > 0 ? { functionalities: O } : {},
234
234
  isHostedBy: e["sosa:isHostedBy"] || [],
235
235
  hosts: []
236
236
  };
237
237
  }).filter((e) => (e.id ?? "").length > 0);
238
- p.length > 0 && (r[D(w)] = {
239
- selected: p
238
+ w.length > 0 && (r[D(b)] = {
239
+ selected: w
240
240
  });
241
241
  }
242
242
  return r;
243
243
  }
244
- async function _(n, a) {
245
- const s = await C(n);
244
+ async function ee(n, a) {
245
+ const s = await K(n);
246
246
  return {
247
247
  Landing: {},
248
- ...K(s, { visibility: (a == null ? void 0 : a.visibility) || "public" }),
249
- ...V(s),
248
+ ...V(s, { visibility: (a == null ? void 0 : a.visibility) || "public" }),
250
249
  ...R(s),
250
+ ..._(s),
251
251
  ...$(s),
252
252
  ...L(s),
253
253
  Vorschau: {}
254
254
  };
255
255
  }
256
256
  export {
257
- _ as decodeProject,
258
- K as toAuffindbarkeit,
259
- V as toGrundlegendeInformationen,
260
- R as toOptionaleDaten,
257
+ ee as decodeProject,
258
+ V as toAuffindbarkeit,
259
+ R as toGrundlegendeInformationen,
260
+ _ as toOptionaleDaten,
261
261
  $ as toProjektphasen,
262
262
  L as toTechnicalProcessSteps
263
263
  };
@@ -0,0 +1,14 @@
1
+ import { toRef as c, computed as o } from "vue";
2
+ function g(n) {
3
+ const r = c(n), e = o(() => {
4
+ var s, t;
5
+ return ((t = (s = r.value) == null ? void 0 : s.context) == null ? void 0 : t.messages) || {};
6
+ }), a = o(() => Object.keys(e.value).length > 0);
7
+ return {
8
+ validationMessages: e,
9
+ hasError: a
10
+ };
11
+ }
12
+ export {
13
+ g as useFormKitMessages
14
+ };