@lblod/ember-rdfa-editor-lblod-plugins 31.1.1 → 32.1.0-dev.2e9fd650499765c0030b9262f90aa975fdfd7a2f

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 (45) hide show
  1. package/.changeset/empty-donkeys-change.md +5 -0
  2. package/.changeset/tidy-dancers-grow.md +5 -0
  3. package/.changeset/wicked-tools-serve.md +5 -0
  4. package/CHANGELOG.md +21 -0
  5. package/addon/components/citation-plugin/citations/search-modal.hbs +2 -2
  6. package/addon/components/document-validation-plugin/card.gts +131 -0
  7. package/addon/components/roadsign-regulation-plugin/roadsigns-table.gts +10 -3
  8. package/addon/components/snippet-plugin/nodes/snippet.gts +1 -1
  9. package/addon/components/structure-plugin/_private/structure.gts +1 -3
  10. package/addon/components/template-comments-plugin/template-comment.hbs +1 -3
  11. package/addon/components/worship-plugin/administrative-unit-picker.hbs +3 -3
  12. package/addon/components/worship-plugin/search-modal.hbs +4 -4
  13. package/addon/plugins/document-validation-plugin/index.ts +150 -0
  14. package/addon/plugins/roadsign-regulation-plugin/actions/insert-measure.ts +22 -2
  15. package/addon/plugins/roadsign-regulation-plugin/constants.ts +22 -6
  16. package/addon/plugins/roadsign-regulation-plugin/queries/mobility-measure-concept.ts +1 -1
  17. package/addon/plugins/roadsign-regulation-plugin/queries/mobility-template.ts +1 -1
  18. package/addon/plugins/roadsign-regulation-plugin/queries/road-sign-category.ts +6 -1
  19. package/addon/plugins/roadsign-regulation-plugin/queries/sign-concept.ts +19 -13
  20. package/addon/plugins/roadsign-regulation-plugin/schemas/sign-concept.ts +22 -8
  21. package/addon/plugins/snippet-plugin/nodes/snippet.ts +1 -0
  22. package/addon/plugins/structure-plugin/node.ts +1 -0
  23. package/addon/plugins/template-comments-plugin/node.ts +1 -0
  24. package/addon/plugins/variable-plugin/variables/date.ts +1 -0
  25. package/addon/utils/remove-quotes.ts +7 -0
  26. package/app/components/document-validation-plugin/card.js +1 -0
  27. package/app/styles/document-validation.scss +24 -0
  28. package/app/styles/snippet-plugin.scss +7 -1
  29. package/app/styles/structure-plugin.scss +2 -1
  30. package/app/styles/template-comments-plugin.scss +1 -1
  31. package/declarations/addon/components/document-validation-plugin/card.d.ts +18 -0
  32. package/declarations/addon/components/roadsign-regulation-plugin/roadsigns-modal.d.ts +20 -8
  33. package/declarations/addon/plugins/document-validation-plugin/index.d.ts +14 -0
  34. package/declarations/addon/plugins/roadsign-regulation-plugin/constants.d.ts +11 -5
  35. package/declarations/addon/plugins/roadsign-regulation-plugin/queries/mobility-measure-concept.d.ts +10 -4
  36. package/declarations/addon/plugins/roadsign-regulation-plugin/queries/road-sign-category.d.ts +1 -0
  37. package/declarations/addon/plugins/roadsign-regulation-plugin/queries/sign-concept.d.ts +14 -4
  38. package/declarations/addon/plugins/roadsign-regulation-plugin/schemas/mobility-measure-concept.d.ts +52 -21
  39. package/declarations/addon/plugins/roadsign-regulation-plugin/schemas/sign-concept.d.ts +32 -13
  40. package/declarations/addon/utils/remove-quotes.d.ts +1 -0
  41. package/package.json +8 -4
  42. package/pnpm-lock.yaml +1530 -1166
  43. package/translations/en-US.yaml +15 -7
  44. package/translations/nl-BE.yaml +17 -9
  45. package/types/global.d.ts +4 -0
@@ -1,13 +1,27 @@
1
1
  import { z } from 'zod';
2
2
  import { SIGN_CONCEPT_TYPES, ZONALITY_OPTIONS } from '../constants';
3
+ import { RoadSignCategorySchema } from './road-sign-category';
3
4
 
4
- export const SignConceptSchema = z.object({
5
- uri: z.string(),
6
- code: z.string(),
7
- type: z.nativeEnum(SIGN_CONCEPT_TYPES),
8
- image: z.string(),
9
- classifications: z.array(z.string()).default([]),
10
- zonality: z.nativeEnum(ZONALITY_OPTIONS).optional(),
11
- });
5
+ export const SignConceptSchema = z
6
+ .object({
7
+ uri: z.string(),
8
+ code: z.string(),
9
+ image: z.string(),
10
+ zonality: z.nativeEnum(ZONALITY_OPTIONS).optional(),
11
+ })
12
+ .and(
13
+ z.discriminatedUnion('type', [
14
+ z.object({
15
+ type: z.literal(SIGN_CONCEPT_TYPES.ROAD_SIGN),
16
+ categories: z.array(RoadSignCategorySchema).default([]),
17
+ }),
18
+ z.object({
19
+ type: z.enum([
20
+ SIGN_CONCEPT_TYPES.ROAD_MARKING,
21
+ SIGN_CONCEPT_TYPES.TRAFFIC_LIGHT,
22
+ ]),
23
+ }),
24
+ ]),
25
+ );
12
26
 
13
27
  export type SignConcept = z.infer<typeof SignConceptSchema>;
@@ -175,6 +175,7 @@ const emberNodeConfig = (options: SnippetPluginConfig): EmberNodeConfig => ({
175
175
  allowMultipleSnippets: { default: false },
176
176
  },
177
177
  component: SnippetComponent,
178
+ contentDomClassNames: ['say-snippet-content'],
178
179
  content: options.allowedContent || DEFAULT_CONTENT_STRING,
179
180
  serialize(node) {
180
181
  const listNames = node.attrs.snippetListNames as string[];
@@ -118,6 +118,7 @@ export const emberNodeConfig: (
118
118
  return {
119
119
  name: 'structure',
120
120
  component: Structure as unknown as ComponentLike,
121
+ contentDomClassNames: ['say-structure__content'],
121
122
  inline: false,
122
123
  group: 'block structure',
123
124
  content: 'block+',
@@ -22,6 +22,7 @@ export const emberNodeConfig: () => EmberNodeConfig = () => {
22
22
  return {
23
23
  name: 'template-comment',
24
24
  component: TemplateCommentsComponent as unknown as ComponentLike,
25
+ contentDomClassNames: ['say-template-comment-content'],
25
26
  inline: false,
26
27
  group: 'block',
27
28
  content: 'block+',
@@ -282,6 +282,7 @@ const emberNodeConfig = (options: DateOptions): EmberNodeConfig => ({
282
282
  draggable: false,
283
283
  atom: true,
284
284
  recreateUriFunction: recreateVariableUris,
285
+ needsFFKludge: true,
285
286
  defining: false,
286
287
  options,
287
288
  attrs: {
@@ -0,0 +1,7 @@
1
+ export default function removeQuotes(string: string) {
2
+ let finalString = string;
3
+ if (string.charAt(0) === '"' && string.charAt(string.length - 1) === '"') {
4
+ finalString = string.substring(1, string.length - 1);
5
+ }
6
+ return finalString;
7
+ }
@@ -0,0 +1 @@
1
+ export { default } from '@lblod/ember-rdfa-editor-lblod-plugins/components/document-validation-plugin/card';
@@ -0,0 +1,24 @@
1
+ .say-document-validation__icon-error {
2
+ color: var(--au-red-600);
3
+ }
4
+
5
+ .say-document-validation__icon-success {
6
+ color: var(--au-green-700);
7
+ }
8
+
9
+ .say-document-validation__error-container {
10
+ display: flex;
11
+ align-items: center;
12
+ }
13
+
14
+ .say-document-validation__card-invalid {
15
+ background-color: var(--au-orange-200);
16
+ }
17
+
18
+ .say-document-validation__card-valid {
19
+ background-color: var(--au-green-200);
20
+ }
21
+
22
+ .say-document-validation__description {
23
+ font-weight: 500;
24
+ }
@@ -102,13 +102,19 @@
102
102
  color: black;
103
103
  }
104
104
  }
105
- .say-snippet-content {
105
+
106
+ .say-snippet-body {
106
107
  position: relative;
108
+ margin-top: 0;
109
+ }
110
+
111
+ .say-snippet-content {
107
112
  padding: 20px;
108
113
  min-height: 100px;
109
114
  padding-right: 50px;
110
115
  margin-top: 0;
111
116
  }
117
+
112
118
  .say-snippet-icons {
113
119
  display: flex;
114
120
  width: fit-content;
@@ -71,10 +71,11 @@
71
71
  }
72
72
  }
73
73
 
74
- .say-structure > .say-structure__content {
74
+ .say-structure > [data-slot] {
75
75
  margin-top: 0;
76
76
  }
77
77
  .say-structure__content {
78
+ margin-top: 0;
78
79
  padding: 0.7rem;
79
80
  padding-right: 3rem;
80
81
 
@@ -36,6 +36,6 @@
36
36
  cursor: default;
37
37
  }
38
38
 
39
- .say-text-cursor {
39
+ .say-template-comment-content {
40
40
  cursor: text;
41
41
  }
@@ -0,0 +1,18 @@
1
+ import Component from '@glimmer/component';
2
+ import { SayController } from '@lblod/ember-rdfa-editor';
3
+ interface Sig {
4
+ Args: {
5
+ controller: SayController;
6
+ };
7
+ }
8
+ export default class DocumentValidationPluginCard extends Component<Sig> {
9
+ get documentValidationErrors(): {
10
+ message: string;
11
+ subject: string | undefined;
12
+ }[] | undefined;
13
+ get propertiesWithoutErrors(): any;
14
+ get controller(): SayController;
15
+ goToSubject: (subject: string) => void;
16
+ get isValidDocument(): boolean;
17
+ }
18
+ export {};
@@ -84,14 +84,20 @@ export default class RoadsignsModal extends Component<Signature> {
84
84
  zonality: "http://lblod.data.gift/concepts/8f9367b2-c717-4be7-8833-4c75bbb4ae1f" | "http://lblod.data.gift/concepts/c81c6b96-736a-48cf-b003-6f5cc3dbc55d" | "http://lblod.data.gift/concepts/b651931b-923c-477c-8da9-fc7dd841fdcc";
85
85
  preview: string;
86
86
  variableSignage: boolean;
87
- signConcepts: {
88
- type: "https://data.vlaanderen.be/ns/mobiliteit#Verkeerstekenconcept" | "https://data.vlaanderen.be/ns/mobiliteit#Verkeersbordconcept" | "https://data.vlaanderen.be/ns/mobiliteit#Verkeerslichtconcept" | "https://data.vlaanderen.be/ns/mobiliteit#Wegmarkeringconcept";
87
+ signConcepts: ({
89
88
  code: string;
90
89
  image: string;
91
90
  uri: string;
92
- classifications: string[];
93
91
  zonality?: "http://lblod.data.gift/concepts/8f9367b2-c717-4be7-8833-4c75bbb4ae1f" | "http://lblod.data.gift/concepts/c81c6b96-736a-48cf-b003-6f5cc3dbc55d" | "http://lblod.data.gift/concepts/b651931b-923c-477c-8da9-fc7dd841fdcc" | undefined;
94
- }[];
92
+ } & ({
93
+ type: "https://data.vlaanderen.be/ns/mobiliteit#Verkeersbordconcept";
94
+ categories: {
95
+ label: string;
96
+ uri: string;
97
+ }[];
98
+ } | {
99
+ type: "https://data.vlaanderen.be/ns/mobiliteit#Verkeerslichtconcept" | "https://data.vlaanderen.be/ns/mobiliteit#Wegmarkeringconcept";
100
+ }))[];
95
101
  }[];
96
102
  count: number;
97
103
  }>>;
@@ -105,14 +111,20 @@ export default class RoadsignsModal extends Component<Signature> {
105
111
  zonality: "http://lblod.data.gift/concepts/8f9367b2-c717-4be7-8833-4c75bbb4ae1f" | "http://lblod.data.gift/concepts/c81c6b96-736a-48cf-b003-6f5cc3dbc55d" | "http://lblod.data.gift/concepts/b651931b-923c-477c-8da9-fc7dd841fdcc";
106
112
  preview: string;
107
113
  variableSignage: boolean;
108
- signConcepts: {
109
- type: "https://data.vlaanderen.be/ns/mobiliteit#Verkeerstekenconcept" | "https://data.vlaanderen.be/ns/mobiliteit#Verkeersbordconcept" | "https://data.vlaanderen.be/ns/mobiliteit#Verkeerslichtconcept" | "https://data.vlaanderen.be/ns/mobiliteit#Wegmarkeringconcept";
114
+ signConcepts: ({
110
115
  code: string;
111
116
  image: string;
112
117
  uri: string;
113
- classifications: string[];
114
118
  zonality?: "http://lblod.data.gift/concepts/8f9367b2-c717-4be7-8833-4c75bbb4ae1f" | "http://lblod.data.gift/concepts/c81c6b96-736a-48cf-b003-6f5cc3dbc55d" | "http://lblod.data.gift/concepts/b651931b-923c-477c-8da9-fc7dd841fdcc" | undefined;
115
- }[];
119
+ } & ({
120
+ type: "https://data.vlaanderen.be/ns/mobiliteit#Verkeersbordconcept";
121
+ categories: {
122
+ label: string;
123
+ uri: string;
124
+ }[];
125
+ } | {
126
+ type: "https://data.vlaanderen.be/ns/mobiliteit#Verkeerslichtconcept" | "https://data.vlaanderen.be/ns/mobiliteit#Wegmarkeringconcept";
127
+ }))[];
116
128
  }[] | undefined;
117
129
  get measureConceptCount(): number | undefined;
118
130
  insertMeasure: import("ember-concurrency").TaskForAsyncTaskFunction<unknown, (concept: MobilityMeasureConcept, zonality: typeof ZONALITY_OPTIONS.ZONAL | typeof ZONALITY_OPTIONS.NON_ZONAL, temporal: boolean) => Promise<void>>;
@@ -0,0 +1,14 @@
1
+ import { ProsePlugin, PluginKey, EditorView } from '@lblod/ember-rdfa-editor';
2
+ import { DataFactory, DatasetCore, DatasetCoreFactory, Quad } from '@rdfjs/types';
3
+ import ValidationReport from 'rdf-validate-shacl/src/validation-report';
4
+ export declare const documentValidationPluginKey: PluginKey<any>;
5
+ interface DocumentValidationPluginArgs {
6
+ documentShape: string;
7
+ }
8
+ export type ShaclValidationReport = ValidationReport.ValidationReport<DataFactory<Quad, Quad> & DatasetCoreFactory<Quad, Quad, DatasetCore<Quad, Quad>>>;
9
+ export declare const documentValidationPlugin: (options: DocumentValidationPluginArgs) => ProsePlugin<{
10
+ validationCallback: typeof validationCallback;
11
+ documentShape: string;
12
+ }>;
13
+ declare function validationCallback(view: EditorView, documentHtml: string): Promise<void>;
14
+ export {};
@@ -21,9 +21,15 @@ export declare const SIGN_TYPE_MAPPING: {
21
21
  readonly "https://data.vlaanderen.be/ns/mobiliteit#Verkeerslichtconcept": "https://data.vlaanderen.be/ns/mobiliteit#Verkeerslicht";
22
22
  readonly "https://data.vlaanderen.be/ns/mobiliteit#Wegmarkeringconcept": "https://data.vlaanderen.be/ns/mobiliteit#Wegmarkering";
23
23
  };
24
- export declare const SIGN_CONCEPT_TYPE_LABELS: {
25
- readonly "https://data.vlaanderen.be/ns/mobiliteit#Verkeerstekenconcept": "Verkeersteken";
26
- readonly "https://data.vlaanderen.be/ns/mobiliteit#Verkeersbordconcept": "Verkeersbord";
27
- readonly "https://data.vlaanderen.be/ns/mobiliteit#Verkeerslichtconcept": "Verkeerslicht";
28
- readonly "https://data.vlaanderen.be/ns/mobiliteit#Wegmarkeringconcept": "Wegmarkering";
24
+ export declare const ROAD_SIGN_CATEGORIES: {
25
+ XXBORD: string;
26
+ 'XX-AWVBORD': string;
27
+ GEVAARSBORD: string;
28
+ STILSTAANPARKEERBORD: string;
29
+ VOORRANGSBORD: string;
30
+ ZONEBORD: string;
31
+ VERBODSBORD: string;
32
+ ONDERBORD: string;
33
+ GEBODSBORD: string;
34
+ AANWIJSBORD: string;
29
35
  };
@@ -16,14 +16,20 @@ export declare function queryMobilityMeasures(endpoint: string, options?: Omit<Q
16
16
  zonality: "http://lblod.data.gift/concepts/8f9367b2-c717-4be7-8833-4c75bbb4ae1f" | "http://lblod.data.gift/concepts/c81c6b96-736a-48cf-b003-6f5cc3dbc55d" | "http://lblod.data.gift/concepts/b651931b-923c-477c-8da9-fc7dd841fdcc";
17
17
  preview: string;
18
18
  variableSignage: boolean;
19
- signConcepts: {
20
- type: "https://data.vlaanderen.be/ns/mobiliteit#Verkeerstekenconcept" | "https://data.vlaanderen.be/ns/mobiliteit#Verkeersbordconcept" | "https://data.vlaanderen.be/ns/mobiliteit#Verkeerslichtconcept" | "https://data.vlaanderen.be/ns/mobiliteit#Wegmarkeringconcept";
19
+ signConcepts: ({
21
20
  code: string;
22
21
  image: string;
23
22
  uri: string;
24
- classifications: string[];
25
23
  zonality?: "http://lblod.data.gift/concepts/8f9367b2-c717-4be7-8833-4c75bbb4ae1f" | "http://lblod.data.gift/concepts/c81c6b96-736a-48cf-b003-6f5cc3dbc55d" | "http://lblod.data.gift/concepts/b651931b-923c-477c-8da9-fc7dd841fdcc" | undefined;
26
- }[];
24
+ } & ({
25
+ type: "https://data.vlaanderen.be/ns/mobiliteit#Verkeersbordconcept";
26
+ categories: {
27
+ label: string;
28
+ uri: string;
29
+ }[];
30
+ } | {
31
+ type: "https://data.vlaanderen.be/ns/mobiliteit#Verkeerslichtconcept" | "https://data.vlaanderen.be/ns/mobiliteit#Wegmarkeringconcept";
32
+ }))[];
27
33
  }[]>;
28
34
  export declare function countMobilityMeasures(endpoint: string, options?: Omit<QueryOptions, 'count' | 'page' | 'pageSize'>): Promise<number>;
29
35
  export {};
@@ -1,5 +1,6 @@
1
1
  type QueryOptions = {
2
2
  abortSignal?: AbortSignal;
3
+ roadSignConceptUri?: string;
3
4
  };
4
5
  export default function queryRoadSignCategories(endpoint: string, options?: QueryOptions): Promise<{
5
6
  label: string;
@@ -3,12 +3,22 @@ type QueryOptions = {
3
3
  measureConceptUri?: string;
4
4
  abortSignal?: AbortSignal;
5
5
  };
6
- export declare function querySignConcepts(endpoint: string, options?: QueryOptions): Promise<{
7
- type: "https://data.vlaanderen.be/ns/mobiliteit#Verkeerstekenconcept" | "https://data.vlaanderen.be/ns/mobiliteit#Verkeersbordconcept" | "https://data.vlaanderen.be/ns/mobiliteit#Verkeerslichtconcept" | "https://data.vlaanderen.be/ns/mobiliteit#Wegmarkeringconcept";
6
+ export declare function querySignConcepts(endpoint: string, options?: QueryOptions): Promise<(({
8
7
  code: string;
9
8
  image: string;
10
9
  uri: string;
11
- classifications: string[];
12
10
  zonality?: "http://lblod.data.gift/concepts/8f9367b2-c717-4be7-8833-4c75bbb4ae1f" | "http://lblod.data.gift/concepts/c81c6b96-736a-48cf-b003-6f5cc3dbc55d" | "http://lblod.data.gift/concepts/b651931b-923c-477c-8da9-fc7dd841fdcc" | undefined;
13
- }[]>;
11
+ } & {
12
+ type: "https://data.vlaanderen.be/ns/mobiliteit#Verkeerslichtconcept" | "https://data.vlaanderen.be/ns/mobiliteit#Wegmarkeringconcept";
13
+ }) | {
14
+ categories: {
15
+ label: string;
16
+ uri: string;
17
+ }[];
18
+ code: string;
19
+ image: string;
20
+ uri: string;
21
+ zonality?: "http://lblod.data.gift/concepts/8f9367b2-c717-4be7-8833-4c75bbb4ae1f" | "http://lblod.data.gift/concepts/c81c6b96-736a-48cf-b003-6f5cc3dbc55d" | "http://lblod.data.gift/concepts/b651931b-923c-477c-8da9-fc7dd841fdcc" | undefined;
22
+ type: "https://data.vlaanderen.be/ns/mobiliteit#Verkeersbordconcept";
23
+ })[]>;
14
24
  export {};
@@ -9,64 +9,95 @@ export declare const MobilityMeasureConceptSchema: z.ZodObject<{
9
9
  readonly NON_ZONAL: "http://lblod.data.gift/concepts/b651931b-923c-477c-8da9-fc7dd841fdcc";
10
10
  }>;
11
11
  variableSignage: z.ZodDefault<z.ZodBoolean>;
12
- signConcepts: z.ZodDefault<z.ZodArray<z.ZodObject<{
12
+ signConcepts: z.ZodDefault<z.ZodArray<z.ZodIntersection<z.ZodObject<{
13
13
  uri: z.ZodString;
14
14
  code: z.ZodString;
15
- type: z.ZodNativeEnum<{
16
- readonly TRAFFIC_SIGN: "https://data.vlaanderen.be/ns/mobiliteit#Verkeerstekenconcept";
17
- readonly ROAD_SIGN: "https://data.vlaanderen.be/ns/mobiliteit#Verkeersbordconcept";
18
- readonly TRAFFIC_LIGHT: "https://data.vlaanderen.be/ns/mobiliteit#Verkeerslichtconcept";
19
- readonly ROAD_MARKING: "https://data.vlaanderen.be/ns/mobiliteit#Wegmarkeringconcept";
20
- }>;
21
15
  image: z.ZodString;
22
- classifications: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
23
16
  zonality: z.ZodOptional<z.ZodNativeEnum<{
24
17
  readonly POTENTIALLY_ZONAL: "http://lblod.data.gift/concepts/8f9367b2-c717-4be7-8833-4c75bbb4ae1f";
25
18
  readonly ZONAL: "http://lblod.data.gift/concepts/c81c6b96-736a-48cf-b003-6f5cc3dbc55d";
26
19
  readonly NON_ZONAL: "http://lblod.data.gift/concepts/b651931b-923c-477c-8da9-fc7dd841fdcc";
27
20
  }>>;
28
21
  }, "strip", z.ZodTypeAny, {
29
- type: "https://data.vlaanderen.be/ns/mobiliteit#Verkeerstekenconcept" | "https://data.vlaanderen.be/ns/mobiliteit#Verkeersbordconcept" | "https://data.vlaanderen.be/ns/mobiliteit#Verkeerslichtconcept" | "https://data.vlaanderen.be/ns/mobiliteit#Wegmarkeringconcept";
30
22
  code: string;
31
23
  image: string;
32
24
  uri: string;
33
- classifications: string[];
34
25
  zonality?: "http://lblod.data.gift/concepts/8f9367b2-c717-4be7-8833-4c75bbb4ae1f" | "http://lblod.data.gift/concepts/c81c6b96-736a-48cf-b003-6f5cc3dbc55d" | "http://lblod.data.gift/concepts/b651931b-923c-477c-8da9-fc7dd841fdcc" | undefined;
35
26
  }, {
36
- type: "https://data.vlaanderen.be/ns/mobiliteit#Verkeerstekenconcept" | "https://data.vlaanderen.be/ns/mobiliteit#Verkeersbordconcept" | "https://data.vlaanderen.be/ns/mobiliteit#Verkeerslichtconcept" | "https://data.vlaanderen.be/ns/mobiliteit#Wegmarkeringconcept";
37
27
  code: string;
38
28
  image: string;
39
29
  uri: string;
40
- classifications?: string[] | undefined;
41
30
  zonality?: "http://lblod.data.gift/concepts/8f9367b2-c717-4be7-8833-4c75bbb4ae1f" | "http://lblod.data.gift/concepts/c81c6b96-736a-48cf-b003-6f5cc3dbc55d" | "http://lblod.data.gift/concepts/b651931b-923c-477c-8da9-fc7dd841fdcc" | undefined;
42
- }>, "many">>;
31
+ }>, z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
32
+ type: z.ZodLiteral<"https://data.vlaanderen.be/ns/mobiliteit#Verkeersbordconcept">;
33
+ categories: z.ZodDefault<z.ZodArray<z.ZodObject<{
34
+ uri: z.ZodString;
35
+ label: z.ZodString;
36
+ }, "strip", z.ZodTypeAny, {
37
+ label: string;
38
+ uri: string;
39
+ }, {
40
+ label: string;
41
+ uri: string;
42
+ }>, "many">>;
43
+ }, "strip", z.ZodTypeAny, {
44
+ type: "https://data.vlaanderen.be/ns/mobiliteit#Verkeersbordconcept";
45
+ categories: {
46
+ label: string;
47
+ uri: string;
48
+ }[];
49
+ }, {
50
+ type: "https://data.vlaanderen.be/ns/mobiliteit#Verkeersbordconcept";
51
+ categories?: {
52
+ label: string;
53
+ uri: string;
54
+ }[] | undefined;
55
+ }>, z.ZodObject<{
56
+ type: z.ZodEnum<["https://data.vlaanderen.be/ns/mobiliteit#Wegmarkeringconcept", "https://data.vlaanderen.be/ns/mobiliteit#Verkeerslichtconcept"]>;
57
+ }, "strip", z.ZodTypeAny, {
58
+ type: "https://data.vlaanderen.be/ns/mobiliteit#Verkeerslichtconcept" | "https://data.vlaanderen.be/ns/mobiliteit#Wegmarkeringconcept";
59
+ }, {
60
+ type: "https://data.vlaanderen.be/ns/mobiliteit#Verkeerslichtconcept" | "https://data.vlaanderen.be/ns/mobiliteit#Wegmarkeringconcept";
61
+ }>]>>, "many">>;
43
62
  }, "strip", z.ZodTypeAny, {
44
63
  label: string;
45
64
  uri: string;
46
65
  zonality: "http://lblod.data.gift/concepts/8f9367b2-c717-4be7-8833-4c75bbb4ae1f" | "http://lblod.data.gift/concepts/c81c6b96-736a-48cf-b003-6f5cc3dbc55d" | "http://lblod.data.gift/concepts/b651931b-923c-477c-8da9-fc7dd841fdcc";
47
66
  preview: string;
48
67
  variableSignage: boolean;
49
- signConcepts: {
50
- type: "https://data.vlaanderen.be/ns/mobiliteit#Verkeerstekenconcept" | "https://data.vlaanderen.be/ns/mobiliteit#Verkeersbordconcept" | "https://data.vlaanderen.be/ns/mobiliteit#Verkeerslichtconcept" | "https://data.vlaanderen.be/ns/mobiliteit#Wegmarkeringconcept";
68
+ signConcepts: ({
51
69
  code: string;
52
70
  image: string;
53
71
  uri: string;
54
- classifications: string[];
55
72
  zonality?: "http://lblod.data.gift/concepts/8f9367b2-c717-4be7-8833-4c75bbb4ae1f" | "http://lblod.data.gift/concepts/c81c6b96-736a-48cf-b003-6f5cc3dbc55d" | "http://lblod.data.gift/concepts/b651931b-923c-477c-8da9-fc7dd841fdcc" | undefined;
56
- }[];
73
+ } & ({
74
+ type: "https://data.vlaanderen.be/ns/mobiliteit#Verkeersbordconcept";
75
+ categories: {
76
+ label: string;
77
+ uri: string;
78
+ }[];
79
+ } | {
80
+ type: "https://data.vlaanderen.be/ns/mobiliteit#Verkeerslichtconcept" | "https://data.vlaanderen.be/ns/mobiliteit#Wegmarkeringconcept";
81
+ }))[];
57
82
  }, {
58
83
  label: string;
59
84
  uri: string;
60
85
  zonality: "http://lblod.data.gift/concepts/8f9367b2-c717-4be7-8833-4c75bbb4ae1f" | "http://lblod.data.gift/concepts/c81c6b96-736a-48cf-b003-6f5cc3dbc55d" | "http://lblod.data.gift/concepts/b651931b-923c-477c-8da9-fc7dd841fdcc";
61
86
  preview: string;
62
87
  variableSignage?: boolean | undefined;
63
- signConcepts?: {
64
- type: "https://data.vlaanderen.be/ns/mobiliteit#Verkeerstekenconcept" | "https://data.vlaanderen.be/ns/mobiliteit#Verkeersbordconcept" | "https://data.vlaanderen.be/ns/mobiliteit#Verkeerslichtconcept" | "https://data.vlaanderen.be/ns/mobiliteit#Wegmarkeringconcept";
88
+ signConcepts?: ({
65
89
  code: string;
66
90
  image: string;
67
91
  uri: string;
68
- classifications?: string[] | undefined;
69
92
  zonality?: "http://lblod.data.gift/concepts/8f9367b2-c717-4be7-8833-4c75bbb4ae1f" | "http://lblod.data.gift/concepts/c81c6b96-736a-48cf-b003-6f5cc3dbc55d" | "http://lblod.data.gift/concepts/b651931b-923c-477c-8da9-fc7dd841fdcc" | undefined;
70
- }[] | undefined;
93
+ } & ({
94
+ type: "https://data.vlaanderen.be/ns/mobiliteit#Verkeersbordconcept";
95
+ categories?: {
96
+ label: string;
97
+ uri: string;
98
+ }[] | undefined;
99
+ } | {
100
+ type: "https://data.vlaanderen.be/ns/mobiliteit#Verkeerslichtconcept" | "https://data.vlaanderen.be/ns/mobiliteit#Wegmarkeringconcept";
101
+ }))[] | undefined;
71
102
  }>;
72
103
  export type MobilityMeasureConcept = z.infer<typeof MobilityMeasureConceptSchema>;
@@ -1,33 +1,52 @@
1
1
  import { z } from 'zod';
2
- export declare const SignConceptSchema: z.ZodObject<{
2
+ export declare const SignConceptSchema: z.ZodIntersection<z.ZodObject<{
3
3
  uri: z.ZodString;
4
4
  code: z.ZodString;
5
- type: z.ZodNativeEnum<{
6
- readonly TRAFFIC_SIGN: "https://data.vlaanderen.be/ns/mobiliteit#Verkeerstekenconcept";
7
- readonly ROAD_SIGN: "https://data.vlaanderen.be/ns/mobiliteit#Verkeersbordconcept";
8
- readonly TRAFFIC_LIGHT: "https://data.vlaanderen.be/ns/mobiliteit#Verkeerslichtconcept";
9
- readonly ROAD_MARKING: "https://data.vlaanderen.be/ns/mobiliteit#Wegmarkeringconcept";
10
- }>;
11
5
  image: z.ZodString;
12
- classifications: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
13
6
  zonality: z.ZodOptional<z.ZodNativeEnum<{
14
7
  readonly POTENTIALLY_ZONAL: "http://lblod.data.gift/concepts/8f9367b2-c717-4be7-8833-4c75bbb4ae1f";
15
8
  readonly ZONAL: "http://lblod.data.gift/concepts/c81c6b96-736a-48cf-b003-6f5cc3dbc55d";
16
9
  readonly NON_ZONAL: "http://lblod.data.gift/concepts/b651931b-923c-477c-8da9-fc7dd841fdcc";
17
10
  }>>;
18
11
  }, "strip", z.ZodTypeAny, {
19
- type: "https://data.vlaanderen.be/ns/mobiliteit#Verkeerstekenconcept" | "https://data.vlaanderen.be/ns/mobiliteit#Verkeersbordconcept" | "https://data.vlaanderen.be/ns/mobiliteit#Verkeerslichtconcept" | "https://data.vlaanderen.be/ns/mobiliteit#Wegmarkeringconcept";
20
12
  code: string;
21
13
  image: string;
22
14
  uri: string;
23
- classifications: string[];
24
15
  zonality?: "http://lblod.data.gift/concepts/8f9367b2-c717-4be7-8833-4c75bbb4ae1f" | "http://lblod.data.gift/concepts/c81c6b96-736a-48cf-b003-6f5cc3dbc55d" | "http://lblod.data.gift/concepts/b651931b-923c-477c-8da9-fc7dd841fdcc" | undefined;
25
16
  }, {
26
- type: "https://data.vlaanderen.be/ns/mobiliteit#Verkeerstekenconcept" | "https://data.vlaanderen.be/ns/mobiliteit#Verkeersbordconcept" | "https://data.vlaanderen.be/ns/mobiliteit#Verkeerslichtconcept" | "https://data.vlaanderen.be/ns/mobiliteit#Wegmarkeringconcept";
27
17
  code: string;
28
18
  image: string;
29
19
  uri: string;
30
- classifications?: string[] | undefined;
31
20
  zonality?: "http://lblod.data.gift/concepts/8f9367b2-c717-4be7-8833-4c75bbb4ae1f" | "http://lblod.data.gift/concepts/c81c6b96-736a-48cf-b003-6f5cc3dbc55d" | "http://lblod.data.gift/concepts/b651931b-923c-477c-8da9-fc7dd841fdcc" | undefined;
32
- }>;
21
+ }>, z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
22
+ type: z.ZodLiteral<"https://data.vlaanderen.be/ns/mobiliteit#Verkeersbordconcept">;
23
+ categories: z.ZodDefault<z.ZodArray<z.ZodObject<{
24
+ uri: z.ZodString;
25
+ label: z.ZodString;
26
+ }, "strip", z.ZodTypeAny, {
27
+ label: string;
28
+ uri: string;
29
+ }, {
30
+ label: string;
31
+ uri: string;
32
+ }>, "many">>;
33
+ }, "strip", z.ZodTypeAny, {
34
+ type: "https://data.vlaanderen.be/ns/mobiliteit#Verkeersbordconcept";
35
+ categories: {
36
+ label: string;
37
+ uri: string;
38
+ }[];
39
+ }, {
40
+ type: "https://data.vlaanderen.be/ns/mobiliteit#Verkeersbordconcept";
41
+ categories?: {
42
+ label: string;
43
+ uri: string;
44
+ }[] | undefined;
45
+ }>, z.ZodObject<{
46
+ type: z.ZodEnum<["https://data.vlaanderen.be/ns/mobiliteit#Wegmarkeringconcept", "https://data.vlaanderen.be/ns/mobiliteit#Verkeerslichtconcept"]>;
47
+ }, "strip", z.ZodTypeAny, {
48
+ type: "https://data.vlaanderen.be/ns/mobiliteit#Verkeerslichtconcept" | "https://data.vlaanderen.be/ns/mobiliteit#Wegmarkeringconcept";
49
+ }, {
50
+ type: "https://data.vlaanderen.be/ns/mobiliteit#Verkeerslichtconcept" | "https://data.vlaanderen.be/ns/mobiliteit#Wegmarkeringconcept";
51
+ }>]>>;
33
52
  export type SignConcept = z.infer<typeof SignConceptSchema>;
@@ -0,0 +1 @@
1
+ export default function removeQuotes(string: string): string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lblod/ember-rdfa-editor-lblod-plugins",
3
- "version": "31.1.1",
3
+ "version": "32.1.0-dev.2e9fd650499765c0030b9262f90aa975fdfd7a2f",
4
4
  "description": "Ember addon providing lblod specific plugins for the ember-rdfa-editor",
5
5
  "keywords": [
6
6
  "ember-addon",
@@ -75,11 +75,14 @@
75
75
  "ember-resources": "^7.0.2",
76
76
  "ember-template-imports": "^4.3.0",
77
77
  "ember-velcro": "^2.2.0",
78
+ "@lblod/lib-decision-shapes": "^0.0.22",
78
79
  "n2words": "^1.21.0",
80
+ "n3": "^1.26.0",
79
81
  "process": "0.11.10",
80
82
  "proj4": "^2.11.0",
81
83
  "rdf-ext": "^2.5.2",
82
84
  "rdf-validate-shacl": "^0.4.5",
85
+ "rdfa-streaming-parser": "^3.0.2",
83
86
  "reactiveweb": "^1.3.0",
84
87
  "stream-browserify": "^3.0.0",
85
88
  "tracked-built-ins": "^3.3.0",
@@ -88,7 +91,7 @@
88
91
  "zod": "^3.24.1"
89
92
  },
90
93
  "devDependencies": {
91
- "@appuniversum/ember-appuniversum": "~3.5.0",
94
+ "@appuniversum/ember-appuniversum": "~3.12.0",
92
95
  "@changesets/changelog-github": "^0.5.0",
93
96
  "@changesets/cli": "^2.27.7",
94
97
  "@ember/optional-features": "^2.1.0",
@@ -109,12 +112,13 @@
109
112
  "@glint/template": "^1.5.0",
110
113
  "@graphy/content.ttl.write": "^4.3.7",
111
114
  "@graphy/memory.dataset.fast": "4.3.3",
112
- "@lblod/ember-rdfa-editor": "12.6.0",
115
+ "@lblod/ember-rdfa-editor": "12.8.0",
113
116
  "@rdfjs/types": "^1.1.0",
114
117
  "@release-it/keep-a-changelog": "^4.0.0",
115
118
  "@tsconfig/ember": "^3.0.8",
116
119
  "@types/debug": "^4.1.12",
117
120
  "@types/leaflet": "^1.9.12",
121
+ "@types/n3": "^1.26.0",
118
122
  "@types/proj4": "^2.5.5",
119
123
  "@types/prosemirror-dev-tools": "^3.0.6",
120
124
  "@types/qunit": "^2.19.10",
@@ -176,7 +180,7 @@
176
180
  "webpack": "^5.95.0"
177
181
  },
178
182
  "peerDependencies": {
179
- "@appuniversum/ember-appuniversum": "^3.5.0",
183
+ "@appuniversum/ember-appuniversum": "^3.12.0",
180
184
  "@ember/string": "3.x",
181
185
  "@glint/template": "^1.4.0",
182
186
  "@lblod/ember-rdfa-editor": "^12.1.0",