@piveau/dpi 0.2.0-alpha.13 → 0.2.0-alpha.15

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 (90) hide show
  1. package/dist/assets/dpi.css +1 -1
  2. package/dist/packages/dpi/src/data-provider-interface/DataProviderInterface.vue2.js +48 -47
  3. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/AboutProject.vue.js +46 -48
  4. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/DPIHome.vue.js +48 -31
  5. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/HomeTable.vue.js +101 -79
  6. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ProjectTable.vue.js +4 -94
  7. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ProjectTable.vue2.js +128 -0
  8. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/services/dpiV3_apis.js +36 -68
  9. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Autocomplete/AutocompleteVocab.vue.js +2 -2
  10. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Autocomplete/AutocompleteVocab.vue2.js +64 -52
  11. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/BasicInfosStep/ProjectDescriptionStep.vue.js +14 -14
  12. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/BasicInfosStep/ProjectNameStep.vue.js +9 -6
  13. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/BasicInfosStep/ProjectOrganisationStep.vue.js +2 -2
  14. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/BasicInfosStep/ProjectOrganisationStep.vue2.js +26 -27
  15. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/BasicInfosStep/ProjectStatusStep.vue.js +8 -8
  16. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DataCollection/BasicInformationStep.vue.js +2 -2
  17. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DataCollection/BasicInformationStep.vue2.js +19 -19
  18. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DataProcessing/BasicInformationStep.vue.js +2 -2
  19. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DataProcessing/BasicInformationStep.vue2.js +38 -39
  20. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DataSimulation/BasicInformationStep.vue.js +2 -2
  21. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DataSimulation/BasicInformationStep.vue2.js +72 -67
  22. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DataVisualisation/BasicInformationStep.vue.js +1 -1
  23. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DataVisualisation/BasicInformationStep.vue2.js +84 -97
  24. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DpiModalBase.vue.js +2 -2
  25. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/DpiModalBase.vue2.js +1 -1
  26. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Dropdown.vue.js +103 -88
  27. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Findability/ApplicationsStep.vue.js +1 -1
  28. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Findability/ApplicationsStep.vue2.js +18 -17
  29. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Findability/CategoriesStep.vue.js +1 -1
  30. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Findability/CategoriesStep.vue2.js +35 -28
  31. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/Findability/DiscoverabilityStep.vue.js +11 -10
  32. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/InputField/InputFieldDefinition.js +4 -3
  33. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/InputField/InputFieldFormKit.vue.js +46 -40
  34. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/InputField.vue.js +144 -134
  35. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/OptionalDataStep/OptionalDataStep.vue.js +2 -2
  36. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/OptionalDataStep/OptionalDataStep.vue2.js +190 -156
  37. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/DatasetForm.vue.js +2 -2
  38. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/DatasetForm.vue2.js +44 -38
  39. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/DatasetStep.vue.js +2 -2
  40. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/DatasetStep.vue2.js +73 -71
  41. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/GetResource.vue.js +4 -4
  42. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/HardwareForm.vue.js +2 -2
  43. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/HardwareForm.vue2.js +128 -123
  44. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/HardwareStep.vue.js +2 -2
  45. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/HardwareStep.vue2.js +133 -131
  46. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/SoftwareForm.vue.js +2 -2
  47. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/SoftwareForm.vue2.js +50 -45
  48. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/SoftwareStep.vue.js +2 -2
  49. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/SoftwareStep.vue2.js +85 -83
  50. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ProcessSteps/utils.js +17 -17
  51. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ReviewStep/ReviewStep.vue.js +2 -2
  52. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/ReviewStep/ReviewStep.vue2.js +341 -341
  53. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/SectionItems/CoverageModal.vue.js +38 -71
  54. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/SectionItems/CoverageModal.vue2.js +4 -0
  55. package/dist/packages/dpi/src/data-provider-interface/HappyFlowComponents/ui/TableRowV3.vue.js +205 -143
  56. package/dist/packages/dpi/src/data-provider-interface/components/Spatial.vue.js +7 -0
  57. package/dist/packages/dpi/src/data-provider-interface/components/Spatial.vue2.js +172 -0
  58. package/dist/packages/dpi/src/data-provider-interface/components/SpatialPage.vue.js +7 -0
  59. package/dist/packages/dpi/src/data-provider-interface/components/SpatialPage.vue2.js +44 -0
  60. package/dist/packages/dpi/src/data-provider-interface/components/StepActionsSection.vue.js +2 -2
  61. package/dist/packages/dpi/src/data-provider-interface/components/StepActionsSection.vue2.js +111 -91
  62. package/dist/packages/dpi/src/data-provider-interface/components/TheCancelConfirmationDialog.vue.js +3 -3
  63. package/dist/packages/dpi/src/data-provider-interface/components/TheCancelConfirmationDialog.vue2.js +24 -19
  64. package/dist/packages/dpi/src/data-provider-interface/components/TheErrorDialog.vue.js +57 -46
  65. package/dist/packages/dpi/src/data-provider-interface/components/dev-tools/ProjectDpiDevTools.vue.js +2 -2
  66. package/dist/packages/dpi/src/data-provider-interface/components/dev-tools/ProjectDpiDevTools.vue2.js +137 -94
  67. package/dist/packages/dpi/src/data-provider-interface/composables/project-transformer/decodeProject.js +152 -135
  68. package/dist/packages/dpi/src/data-provider-interface/composables/project-transformer/encodeProject.js +202 -167
  69. package/dist/packages/dpi/src/data-provider-interface/composables/useDpiContext.js +9 -10
  70. package/dist/packages/dpi/src/data-provider-interface/composables/useDpiEditMode.js +89 -65
  71. package/dist/packages/dpi/src/data-provider-interface/composables/useDpiSimpleLoader.js +287 -281
  72. package/dist/packages/dpi/src/data-provider-interface/composables/useDpiStepper.js +82 -82
  73. package/dist/packages/dpi/src/data-provider-interface/composables/useDpiUtils.js +18 -9
  74. package/dist/packages/dpi/src/data-provider-interface/composables/useProjectActions.js +95 -0
  75. package/dist/packages/dpi/src/data-provider-interface/composables/useTwinbyHome.js +83 -0
  76. package/dist/packages/dpi/src/data-provider-interface/composables/useTwinbyUser.js +85 -0
  77. package/dist/packages/dpi/src/data-provider-interface/config/dcatapdeHappyFlow/converter.js +19 -19
  78. package/dist/packages/dpi/src/data-provider-interface/schema/projectLdSchema.js +48 -45
  79. package/dist/packages/dpi/src/data-provider-interface/views/InputPage.vue.js +333 -308
  80. package/dist/packages/dpi/src/data-provider-interface/views/InputPageProject.vue.js +405 -409
  81. package/dist/packages/dpi/src/form/inputDefinitions.js +52 -53
  82. package/dist/packages/dpi/src/stories/components/PartnerCard.vue.js +2 -2
  83. package/dist/packages/dpi/src/stories/components/PartnerCard.vue2.js +14 -14
  84. package/dist/packages/dpi/src/stories/components/ScreenshotCard.vue.js +2 -2
  85. package/dist/packages/dpi/src/stories/components/ScreenshotCard.vue2.js +9 -8
  86. package/dist/packages/dpi/src/utils/schema/schemaProject.js +210 -0
  87. package/dist/packages/dpi/src/utils/schema/shared.js +23 -0
  88. package/package.json +5 -5
  89. package/dist/packages/dpi/src/data-provider-interface/components/PolGeoUriPage.vue.js +0 -124
  90. package/dist/packages/dpi/src/data-provider-interface/composables/project-transformer/__tests__/fixtures/theProjectForm.js +0 -281
@@ -1,70 +1,69 @@
1
- import o from "./Repeatable.vue.js";
2
- import t from "./FormKitGroup.vue.js";
3
- import "@formkit/core";
4
- import p from "../data-provider-interface/components/AutocompleteInput.vue.js";
5
- import e from "../data-provider-interface/components/FileUpload.vue.js";
6
- import i from "../data-provider-interface/components/UniqueIdentifierInput.vue.js";
7
- import n from "../data-provider-interface/components/SpatialInput.vue.js";
8
- import m from "../data-provider-interface/components/ConditionalInput.vue.js";
9
- import r from "../data-provider-interface/components/SimpleSelect.vue.js";
10
- import c from "../data-provider-interface/components/SimpleInput.vue.js";
11
- import a from "../data-provider-interface/components/SimpleAccessURLInput.vue.js";
1
+ import o from "../data-provider-interface/components/AutocompleteInput.vue.js";
2
+ import t from "../data-provider-interface/components/BasicInfosPage.vue.js";
3
+ import p from "../data-provider-interface/components/ConditionalInput.vue.js";
4
+ import e from "../data-provider-interface/components/ContactPage.vue.js";
5
+ import i from "../data-provider-interface/components/CoveringPage.vue.js";
6
+ import n from "../data-provider-interface/components/DiscoverabilityPage.vue.js";
7
+ import m from "../data-provider-interface/components/DistLicense.vue.js";
8
+ import r from "../data-provider-interface/components/DistributionSimplePage.vue.js";
9
+ import a from "../data-provider-interface/components/dpiV3Description.vue.js";
10
+ import c from "../data-provider-interface/components/FileUpload.vue.js";
12
11
  import g from "../data-provider-interface/components/HappyFlowLandingPage.vue.js";
13
- import u from "../data-provider-interface/components/DiscoverabilityPage.vue.js";
14
- import f from "../data-provider-interface/components/HVDPage.vue.js";
15
- import s from "../data-provider-interface/components/BasicInfosPage.vue.js";
16
- import l from "../data-provider-interface/components/CoveringPage.vue.js";
17
- import y from "../data-provider-interface/components/DistributionSimplePage.vue.js";
18
- import d from "../data-provider-interface/components/ReviewAndPublishPage.vue.js";
19
- import P from "../data-provider-interface/components/dpiV3Description.vue.js";
20
- import b from "../data-provider-interface/components/TitelPage.vue.js";
21
- import _ from "../data-provider-interface/components/UpdateDate.vue.js";
22
- import v from "../data-provider-interface/components/PublisherPage.vue.js";
23
- import D from "../data-provider-interface/components/ContactPage.vue.js";
24
- import h from "../data-provider-interface/components/TempResPage.vue.js";
25
- import I from "../data-provider-interface/components/PolGeoUriPage.vue.js";
26
- import R from "../data-provider-interface/components/DistLicense.vue.js";
27
- import U from "../data-provider-interface/components/VisibilityPage.vue.js";
28
- const Z = {
12
+ import u from "../data-provider-interface/components/HVDPage.vue.js";
13
+ import f from "../data-provider-interface/components/PublisherPage.vue.js";
14
+ import s from "../data-provider-interface/components/ReviewAndPublishPage.vue.js";
15
+ import l from "../data-provider-interface/components/SimpleAccessURLInput.vue.js";
16
+ import y from "../data-provider-interface/components/SimpleInput.vue.js";
17
+ import d from "../data-provider-interface/components/SimpleSelect.vue.js";
18
+ import P from "../data-provider-interface/components/SpatialInput.vue.js";
19
+ import b from "../data-provider-interface/components/SpatialPage.vue.js";
20
+ import _ from "../data-provider-interface/components/TempResPage.vue.js";
21
+ import v from "../data-provider-interface/components/TitelPage.vue.js";
22
+ import D from "../data-provider-interface/components/UniqueIdentifierInput.vue.js";
23
+ import h from "../data-provider-interface/components/UpdateDate.vue.js";
24
+ import I from "../data-provider-interface/components/VisibilityPage.vue.js";
25
+ import R from "./FormKitGroup.vue.js";
26
+ import $ from "./Repeatable.vue.js";
27
+ const Y = {
29
28
  repeatable: {
30
29
  type: "list",
31
- component: o
30
+ component: $
32
31
  },
33
32
  id: {
34
33
  type: "input",
35
- component: i
34
+ component: D
36
35
  },
37
36
  auto: {
38
37
  type: "group",
39
- component: p
38
+ component: o
40
39
  },
41
40
  fileupload: {
42
41
  type: "group",
43
- component: e
42
+ component: c
44
43
  },
45
44
  spatialinput: {
46
45
  type: "group",
47
- component: n
46
+ component: P
48
47
  },
49
48
  formkitGroup: {
50
49
  type: "group",
51
- component: t
50
+ component: R
52
51
  },
53
52
  simpleConditional: {
54
53
  type: "group",
55
- component: m
54
+ component: p
56
55
  },
57
56
  simpleSelect: {
58
57
  type: "input",
59
- component: r
58
+ component: d
60
59
  },
61
60
  simpleInput: {
62
61
  type: "input",
63
- component: c
62
+ component: y
64
63
  },
65
64
  simpleAccessURLInput: {
66
65
  type: "group",
67
- component: a
66
+ component: l
68
67
  },
69
68
  happyFlowLandingPage: {
70
69
  type: "group",
@@ -72,65 +71,65 @@ const Z = {
72
71
  },
73
72
  discoverabilityPage: {
74
73
  type: "group",
75
- component: u
74
+ component: n
76
75
  },
77
76
  hvdPage: {
78
77
  type: "group",
79
- component: f
78
+ component: u
80
79
  },
81
80
  visibilityPage: {
82
81
  type: "group",
83
- component: U
82
+ component: I
84
83
  },
85
84
  basicInfosPage: {
86
85
  type: "group",
87
- component: s
86
+ component: t
88
87
  },
89
88
  "dct:title": {
90
89
  type: "input",
91
- component: b
90
+ component: v
92
91
  },
93
92
  "dct:modified": {
94
93
  type: "input",
95
- component: _
94
+ component: h
96
95
  },
97
96
  "dct:publisher": {
98
97
  type: "group",
99
- component: v
98
+ component: f
100
99
  },
101
100
  "dcat:contactPoint": {
102
101
  type: "group",
103
- component: D
102
+ component: e
104
103
  },
105
104
  coveringPage: {
106
105
  type: "group",
107
- component: l
106
+ component: i
108
107
  },
109
108
  "dct:description": {
110
109
  type: "input",
111
- component: P
110
+ component: a
112
111
  },
113
112
  "dcat:distribution": {
114
113
  type: "group",
115
- component: y
114
+ component: r
116
115
  },
117
116
  reviewAndPublishPage: {
118
117
  type: "group",
119
- component: d
118
+ component: s
120
119
  },
121
120
  "dcat:temporalResolution": {
122
121
  type: "input",
123
- component: h
122
+ component: _
124
123
  },
125
124
  "dcatde:politicalGeocodingURI": {
126
125
  type: "input",
127
- component: I
126
+ component: b
128
127
  },
129
128
  "dct:license": {
130
129
  type: "group",
131
- component: R
130
+ component: m
132
131
  }
133
132
  };
134
133
  export {
135
- Z as default
134
+ Y as default
136
135
  };
@@ -1,7 +1,7 @@
1
1
  import r from "./PartnerCard.vue2.js";
2
2
  /* empty css */
3
3
  import o from "../../../../../_virtual/_plugin-vue_export-helper.js";
4
- const p = /* @__PURE__ */ o(r, [["__scopeId", "data-v-39b38a13"]]);
4
+ const m = /* @__PURE__ */ o(r, [["__scopeId", "data-v-7d616d23"]]);
5
5
  export {
6
- p as default
6
+ m as default
7
7
  };
@@ -1,30 +1,30 @@
1
- import { defineComponent as a, createElementBlock as o, openBlock as d, renderSlot as i, createVNode as n, createElementVNode as s, unref as e } from "vue";
2
- import { FormKit as l } from "@formkit/vue";
3
- import r from "../../data-provider-interface/HappyFlowComponents/ui/InputField/InputFieldDefinition.js";
4
- const c = { class: "dpiV3_Card_Tips" }, p = { class: "action-container" }, y = /* @__PURE__ */ a({
1
+ import { defineComponent as l, createElementBlock as o, openBlock as s, renderSlot as i, createVNode as n, createElementVNode as d, unref as e } from "vue";
2
+ import { FormKit as r } from "@formkit/vue";
3
+ import a from "../../data-provider-interface/HappyFlowComponents/ui/InputField/InputFieldDefinition.js";
4
+ const m = { class: "dpiV3_Card_Tips" }, c = { class: "action-container" }, b = /* @__PURE__ */ l({
5
5
  __name: "PartnerCard",
6
- setup(m) {
7
- return (t, u) => (d(), o("div", c, [
6
+ setup(p) {
7
+ return (t, u) => (s(), o("div", m, [
8
8
  i(t.$slots, "default", {}, () => [
9
- n(e(l), {
10
- type: e(r),
9
+ n(e(r), {
10
+ type: e(a),
11
11
  name: "name",
12
12
  "text-label": "Name",
13
13
  placeholder: "Nennen Sie einen Partner.",
14
14
  validation: "required",
15
- "validation-visibility": "live",
15
+ "validation-visibility": "submit",
16
16
  "trailing-text": !1
17
17
  }, null, 8, ["type"]),
18
- n(e(l), {
19
- type: e(r),
18
+ n(e(r), {
19
+ type: e(a),
20
20
  name: "url",
21
21
  "text-label": "Website",
22
22
  placeholder: "www.url.com",
23
23
  validation: "required|url",
24
- "validation-visibility": "live",
24
+ "validation-visibility": "submit",
25
25
  "trailing-text": !1
26
26
  }, null, 8, ["type"]),
27
- s("div", p, [
27
+ d("div", c, [
28
28
  i(t.$slots, "action", {}, void 0, !0)
29
29
  ])
30
30
  ], !0)
@@ -32,5 +32,5 @@ const c = { class: "dpiV3_Card_Tips" }, p = { class: "action-container" }, y = /
32
32
  }
33
33
  });
34
34
  export {
35
- y as default
35
+ b as default
36
36
  };
@@ -1,7 +1,7 @@
1
1
  import o from "./ScreenshotCard.vue2.js";
2
2
  /* empty css */
3
3
  import r from "../../../../../_virtual/_plugin-vue_export-helper.js";
4
- const f = /* @__PURE__ */ r(o, [["__scopeId", "data-v-fa7a352e"]]);
4
+ const m = /* @__PURE__ */ r(o, [["__scopeId", "data-v-34e0b2a0"]]);
5
5
  export {
6
- f as default
6
+ m as default
7
7
  };
@@ -1,20 +1,21 @@
1
- import { defineComponent as r, createElementBlock as n, openBlock as i, renderSlot as t, createVNode as a, createElementVNode as l, unref as o } from "vue";
1
+ import { defineComponent as i, createElementBlock as r, openBlock as n, renderSlot as t, createVNode as a, createElementVNode as l, unref as o } from "vue";
2
2
  import { FormKit as s } from "@formkit/vue";
3
- import c from "../../data-provider-interface/HappyFlowComponents/ui/InputField/InputFieldDefinition.js";
4
- const d = { class: "dpiV3_Card_Tips" }, p = { class: "action-container" }, v = /* @__PURE__ */ r({
3
+ import d from "../../data-provider-interface/HappyFlowComponents/ui/InputField/InputFieldDefinition.js";
4
+ const c = { class: "dpiV3_Card_Tips" }, m = { class: "action-container" }, v = /* @__PURE__ */ i({
5
5
  __name: "ScreenshotCard",
6
- setup(m) {
7
- return (e, u) => (i(), n("div", d, [
6
+ setup(p) {
7
+ return (e, u) => (n(), r("div", c, [
8
8
  t(e.$slots, "default", {}, () => [
9
9
  a(o(s), {
10
- type: o(c),
10
+ type: o(d),
11
11
  name: "homepage",
12
12
  "text-label": "URL",
13
13
  "trailing-text": !1,
14
+ placeholder: "www.url.com",
14
15
  validation: "required|url",
15
- placeholder: "www.url.com"
16
+ "validation-visibility": "submit"
16
17
  }, null, 8, ["type"]),
17
- l("div", p, [
18
+ l("div", m, [
18
19
  t(e.$slots, "action", {}, void 0, !0)
19
20
  ])
20
21
  ], !0)
@@ -0,0 +1,210 @@
1
+ import * as r from "zod";
2
+ import { schemaBaseWithDescription as t } from "./shared.js";
3
+ const i = t.extend({
4
+ /**
5
+ * The financial resources allocated or required for the project.
6
+ *
7
+ * @example
8
+ * {
9
+ * "amount": "5000000",
10
+ * "currency": "EUR"
11
+ * }
12
+ */
13
+ budget: r.object({
14
+ amount: r.string(),
15
+ currency: r.string()
16
+ }).nullable().optional(),
17
+ /**
18
+ * The skill sets or expertise needed (e.g., data science, IoT, urban planning).
19
+ *
20
+ * @example
21
+ * ["IoT", "Data Science", "Urban Planning"]
22
+ */
23
+ required_skills: r.array(r.string()).nullable().optional(),
24
+ /**
25
+ * Start/end dates or milestones for the project.
26
+ *
27
+ * @example
28
+ * "start_date": "2025-01-01",
29
+ * "end_date": "2027-12-31"
30
+ */
31
+ start_date: r.string(),
32
+ end_date: r.string(),
33
+ /**
34
+ * Indicates whether the project is in planning, active, or completed.
35
+ */
36
+ status: r.string().nullable().optional(),
37
+ /**
38
+ * The steps or phases required to execute the project (e.g., data processing, visualization).
39
+ *
40
+ * @example
41
+ * ["PS-2025-001", "PS-2025-002", "PS-2025-003", "PS-2025-004"]
42
+ */
43
+ linked_process_steps: r.array(r.string()).nullable().optional(),
44
+ /**
45
+ * The entity (local government) carrying out or sponsoring the project.
46
+ *
47
+ * @example
48
+ * {
49
+ * "id": "ORG-HAAR-001"
50
+ * }
51
+ */
52
+ linked_organisation: r.object({ id: r.string() }).nullable().optional(),
53
+ /**
54
+ * Links to project proposals, status reports, or final summaries.
55
+ *
56
+ * @example
57
+ * ["https://example.org/documents/SC-2025-001-proposal.pdf", "https://example.org/documents/SC-2025-001-final-report.pdf"]
58
+ */
59
+ documentation: r.array(r.string()).nullable().optional(),
60
+ // Array of category objects describing dataset classification
61
+ categories: r.array(
62
+ r.object({
63
+ // Unique category ID
64
+ id: r.string(),
65
+ // Localized labels keyed by language code, e.g. { en: "Health", de: "Gesundheit" }
66
+ label: r.record(r.string()),
67
+ // Resource or namespace the category belongs to
68
+ resource: r.string()
69
+ })
70
+ ),
71
+ // List of use case identifiers or names relevant to this dataset
72
+ use_cases: r.array(r.string()),
73
+ // ISO 8601 timestamp string representing last modification date of dataset
74
+ modified: r.string(),
75
+ /**
76
+ * Describes a set of organizational steps including questions and reference materials.
77
+ */
78
+ organizational_process_steps: r.array(
79
+ r.object({
80
+ /**
81
+ * Unique identifier of the question block.
82
+ */
83
+ identifier: r.string(),
84
+ order: r.number(),
85
+ /**
86
+ * Identifier of a preceding question block, if any.
87
+ */
88
+ preceded_by: r.string().optional(),
89
+ /**
90
+ * Phase or step name within the organizational process.
91
+ */
92
+ phase: r.string(),
93
+ /**
94
+ * List of questions with corresponding answers.
95
+ */
96
+ questions: r.array(
97
+ r.object({
98
+ answer: r.string(),
99
+ question: r.string(),
100
+ order: r.number()
101
+ })
102
+ ),
103
+ /**
104
+ * Optional references related to this process step.
105
+ */
106
+ references: r.array(
107
+ r.object({
108
+ description: r.string(),
109
+ title: r.string(),
110
+ type: r.string(),
111
+ url: r.string()
112
+ })
113
+ ).nullable().optional()
114
+ })
115
+ ),
116
+ /**
117
+ * Optional list of reference documents like descriptions, links, or attachments.
118
+ *
119
+ * @example
120
+ * [
121
+ * {
122
+ * "description": "Project Proposal",
123
+ * "title": "SC-2025-001 Proposal",
124
+ * "type": "PDF",
125
+ * "url": "https://example.org/documents/SC-2025-001-proposal.pdf"
126
+ * }
127
+ * ]
128
+ */
129
+ references: r.array(
130
+ r.object({
131
+ /**
132
+ * Short description of the reference.
133
+ *
134
+ * @example "Project Proposal"
135
+ */
136
+ description: r.string(),
137
+ /**
138
+ * Title of the document or resource.
139
+ *
140
+ * @example "SC-2025-001 Proposal"
141
+ */
142
+ title: r.string(),
143
+ /**
144
+ * Type or format of the document.
145
+ *
146
+ * @example "PDF"
147
+ */
148
+ type: r.string(),
149
+ /**
150
+ * Direct link to the referenced document.
151
+ *
152
+ * @example "https://example.org/documents/SC-2025-001-proposal.pdf"
153
+ */
154
+ url: r.string()
155
+ })
156
+ ).nullable().optional(),
157
+ technical_process_steps: r.array(
158
+ r.object({
159
+ activity: r.string(),
160
+ description: r.record(r.string()),
161
+ identifier: r.string(),
162
+ methods_used: r.array(
163
+ r.object({
164
+ name: r.string(),
165
+ description: r.string()
166
+ })
167
+ ),
168
+ references: r.array(
169
+ r.object({
170
+ description: r.string(),
171
+ title: r.string(),
172
+ type: r.string(),
173
+ url: r.string()
174
+ })
175
+ ).optional(),
176
+ use_case: r.string()
177
+ })
178
+ ),
179
+ catalog: r.object({
180
+ id: r.string(),
181
+ is_part_of: r.string(),
182
+ publisher: r.object({
183
+ name: r.string(),
184
+ type: r.string(),
185
+ homepage: r.string(),
186
+ email: r.string()
187
+ })
188
+ }).optional(),
189
+ partners: r.array(
190
+ r.object({
191
+ name: r.string(),
192
+ homepage: r.string()
193
+ })
194
+ ),
195
+ contact: r.array(
196
+ r.object({
197
+ type: r.string(),
198
+ telephone: r.string(),
199
+ name: r.string(),
200
+ email: r.string()
201
+ })
202
+ ),
203
+ cost: r.object({
204
+ value: r.number(),
205
+ currency: r.string()
206
+ })
207
+ });
208
+ export {
209
+ i as schemaProject
210
+ };
@@ -0,0 +1,23 @@
1
+ import { schemaTranslatedContent as o } from "@piveau/sdk-core";
2
+ import * as t from "zod";
3
+ const e = t.object({
4
+ id: t.string(),
5
+ /**
6
+ * A short label for the device or hardware component. org:identifier, foaf:name
7
+ *
8
+ * @remark String or multilingual?
9
+ *
10
+ */
11
+ name: t.string().or(o).nullable().optional()
12
+ }), s = e.extend({
13
+ /**
14
+ * A brief summary of what the device does, including relevant specifications. dct:description, rdfs:comment
15
+ *
16
+ * @remark String or multilingual?
17
+ */
18
+ description: t.string().or(o).nullable().optional()
19
+ });
20
+ export {
21
+ e as schemaBase,
22
+ s as schemaBaseWithDescription
23
+ };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@piveau/dpi",
3
3
  "type": "module",
4
- "version": "0.2.0-alpha.13",
4
+ "version": "0.2.0-alpha.15",
5
5
  "private": false,
6
6
  "sideEffects": [
7
7
  "*.css",
@@ -53,11 +53,11 @@
53
53
  "@formkit/validation": "^1.6.9",
54
54
  "@formkit/vue": "^1.6.9",
55
55
  "@headlessui/vue": "^1.7.23",
56
- "@histoire/plugin-vue": "1.0.0-alpha.2",
56
+ "@histoire/plugin-vue": "1.0.0-alpha.4",
57
57
  "@phosphor-icons/vue": "^2.2.1",
58
58
  "@piveau/jsonld": "file:../../bin/piveau-jsonld-1.0.0-beta.20.tgz",
59
- "@piveau/sdk-core": "0.0.0-beta.2",
60
- "@piveau/sdk-vue": "1.0.0-beta.10",
59
+ "@piveau/sdk-core": "0.0.0-beta.6",
60
+ "@piveau/sdk-vue": "1.0.0-beta.13",
61
61
  "@popperjs/core": "^2.11.8",
62
62
  "@types/jsonld": "^1.5.15",
63
63
  "@types/node": "^24.1.0",
@@ -70,7 +70,7 @@
70
70
  "dayjs": "^1.11.13",
71
71
  "effect": "^3.17.14",
72
72
  "eslint": "^9.31.0",
73
- "histoire": "1.0.0-alpha.2",
73
+ "histoire": "1.0.0-alpha.4",
74
74
  "jiti": "^2.5.1",
75
75
  "jquery": "^3.7.1",
76
76
  "jsonld": "^8.3.3",