@lblod/ember-rdfa-editor-lblod-plugins 32.0.0 → 32.1.0

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 (26) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/addon/components/roadsign-regulation-plugin/roadsigns-table.gts +5 -2
  3. package/addon/components/snippet-plugin/nodes/snippet.gts +1 -1
  4. package/addon/components/structure-plugin/_private/structure.gts +1 -3
  5. package/addon/components/template-comments-plugin/template-comment.hbs +1 -3
  6. package/addon/plugins/roadsign-regulation-plugin/actions/insert-measure.ts +22 -2
  7. package/addon/plugins/roadsign-regulation-plugin/constants.ts +22 -6
  8. package/addon/plugins/roadsign-regulation-plugin/queries/road-sign-category.ts +6 -1
  9. package/addon/plugins/roadsign-regulation-plugin/queries/sign-concept.ts +19 -13
  10. package/addon/plugins/roadsign-regulation-plugin/schemas/sign-concept.ts +22 -8
  11. package/addon/plugins/snippet-plugin/nodes/snippet.ts +1 -0
  12. package/addon/plugins/structure-plugin/node.ts +1 -0
  13. package/addon/plugins/template-comments-plugin/node.ts +1 -0
  14. package/addon/plugins/variable-plugin/variables/date.ts +1 -0
  15. package/app/styles/snippet-plugin.scss +7 -1
  16. package/app/styles/structure-plugin.scss +2 -1
  17. package/app/styles/template-comments-plugin.scss +1 -1
  18. package/declarations/addon/components/roadsign-regulation-plugin/roadsigns-modal.d.ts +20 -8
  19. package/declarations/addon/plugins/roadsign-regulation-plugin/constants.d.ts +11 -5
  20. package/declarations/addon/plugins/roadsign-regulation-plugin/queries/mobility-measure-concept.d.ts +10 -4
  21. package/declarations/addon/plugins/roadsign-regulation-plugin/queries/road-sign-category.d.ts +1 -0
  22. package/declarations/addon/plugins/roadsign-regulation-plugin/queries/sign-concept.d.ts +14 -4
  23. package/declarations/addon/plugins/roadsign-regulation-plugin/schemas/mobility-measure-concept.d.ts +52 -21
  24. package/declarations/addon/plugins/roadsign-regulation-plugin/schemas/sign-concept.d.ts +32 -13
  25. package/package.json +2 -2
  26. package/pnpm-lock.yaml +6 -37
package/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # @lblod/ember-rdfa-editor-lblod-plugins
2
2
 
3
+ ## 32.1.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#573](https://github.com/lblod/ember-rdfa-editor-lblod-plugins/pull/573) [`be9e2f4`](https://github.com/lblod/ember-rdfa-editor-lblod-plugins/commit/be9e2f476266037926f43f2729aae7e969c55652) Thanks [@elpoelma](https://github.com/elpoelma)! - Roadsign-regulation-plugin: differentiate between 'Verkeersbord' and 'Onderbord' signs
8
+
9
+ ### Patch Changes
10
+
11
+ - [#576](https://github.com/lblod/ember-rdfa-editor-lblod-plugins/pull/576) [`c68bef3`](https://github.com/lblod/ember-rdfa-editor-lblod-plugins/commit/c68bef3a3e215e0d721894b72f8e0754b9988ca9) Thanks [@elpoelma](https://github.com/elpoelma)! - Slightly readjust styling of `snippet` and `structure` nodes, to ensure better cursor behaviour in firefox.
12
+ Note: for the better cursor behaviour in firefox to work as expected, `@lblod/ember-rdfa-editor` version [12.8.0](https://github.com/lblod/ember-rdfa-editor/releases/tag/%40lblod%2Fember-rdfa-editor%4012.8.0) or higher needs to be installed.
13
+
3
14
  ## 32.0.0
4
15
 
5
16
  ### Major Changes
@@ -19,6 +19,7 @@ import { eq } from 'ember-truth-helpers';
19
19
  import t from 'ember-intl/helpers/t';
20
20
  import { on } from '@ember/modifier';
21
21
  import { fn } from '@ember/helper';
22
+ import { SIGN_CONCEPT_TYPES } from '@lblod/ember-rdfa-editor-lblod-plugins/plugins/roadsign-regulation-plugin/constants';
22
23
 
23
24
  type Signature = {
24
25
  Args: {
@@ -44,8 +45,10 @@ export default class RoadSignsTable extends Component<Signature> {
44
45
  categories = (measureConcept: MobilityMeasureConcept) => {
45
46
  const categorySet: Set<string> = new Set();
46
47
  for (const signConcept of measureConcept.signConcepts) {
47
- const categories = signConcept.classifications;
48
- addAll(categorySet, ...categories);
48
+ if (signConcept.type === SIGN_CONCEPT_TYPES.ROAD_SIGN) {
49
+ const categoryLabels = signConcept.categories.map((cat) => cat.label);
50
+ addAll(categorySet, ...categoryLabels);
51
+ }
49
52
  }
50
53
  return [...categorySet].sort();
51
54
  };
@@ -226,7 +226,7 @@ export default class SnippetNode extends Component<Signature> {
226
226
  </span>
227
227
  {{this.node.attrs.title}}
228
228
  </div>
229
- <div class='say-snippet-content'>
229
+ <div class='say-snippet-body'>
230
230
  {{yield}}
231
231
  <div class='say-snippet-icons' contenteditable='false'>
232
232
  <SnippetButton
@@ -226,9 +226,7 @@ export default class Structure extends Component<Sig> {
226
226
  </Tag>
227
227
  {{/let}}
228
228
  </div>
229
- <div class='say-structure__content'>
230
- {{yield}}
231
- </div>
229
+ {{yield}}
232
230
  </div>
233
231
  </template>
234
232
  }
@@ -8,7 +8,5 @@
8
8
  {{if this.selectionInside "ProseMirror-selectednode"}}
9
9
  say-default-cursor'
10
10
  >
11
- <div class='say-text-cursor'>
12
- {{yield}}
13
- </div>
11
+ {{yield}}
14
12
  </AuAlert>
@@ -25,7 +25,8 @@ import { buildArticleStructure } from '../../decision-plugin/utils/build-article
25
25
  import { insertArticle } from '../../decision-plugin/actions/insert-article';
26
26
  import { SignConcept } from '../schemas/sign-concept';
27
27
  import {
28
- SIGN_CONCEPT_TYPE_LABELS,
28
+ ROAD_SIGN_CATEGORIES,
29
+ SIGN_CONCEPT_TYPES,
29
30
  SIGN_TYPE_MAPPING,
30
31
  SIGN_TYPES,
31
32
  ZONALITY_OPTIONS,
@@ -190,9 +191,28 @@ function constructMeasureBody(
190
191
  return schema.nodes.paragraph.create({}, nodes);
191
192
  }
192
193
 
194
+ function determineSignLabel(signConcept: SignConcept) {
195
+ switch (signConcept.type) {
196
+ case SIGN_CONCEPT_TYPES.TRAFFIC_LIGHT:
197
+ return 'Verkeerslicht';
198
+ case SIGN_CONCEPT_TYPES.ROAD_MARKING:
199
+ return 'Wegmarkering';
200
+ case SIGN_CONCEPT_TYPES.ROAD_SIGN:
201
+ if (
202
+ signConcept.categories
203
+ .map((cat) => cat.uri)
204
+ .includes(ROAD_SIGN_CATEGORIES.ONDERBORD)
205
+ ) {
206
+ return 'Onderbord';
207
+ } else {
208
+ return 'Verkeersbord';
209
+ }
210
+ }
211
+ }
212
+
193
213
  function constructSignNode(signConcept: SignConcept, schema: Schema) {
194
214
  const signUri = `http://data.lblod.info/verkeerstekens/${uuid()}`;
195
- const prefix = SIGN_CONCEPT_TYPE_LABELS[signConcept.type];
215
+ const prefix = determineSignLabel(signConcept);
196
216
  const node = schema.nodes.inline_rdfa.create(
197
217
  {
198
218
  rdfaNodeType: 'resource',
@@ -29,9 +29,25 @@ export const SIGN_TYPE_MAPPING = {
29
29
  [SIGN_CONCEPT_TYPES.ROAD_MARKING]: SIGN_TYPES.ROAD_MARKING,
30
30
  } as const;
31
31
 
32
- export const SIGN_CONCEPT_TYPE_LABELS = {
33
- [SIGN_CONCEPT_TYPES.TRAFFIC_SIGN]: 'Verkeersteken',
34
- [SIGN_CONCEPT_TYPES.ROAD_SIGN]: 'Verkeersbord',
35
- [SIGN_CONCEPT_TYPES.TRAFFIC_LIGHT]: 'Verkeerslicht',
36
- [SIGN_CONCEPT_TYPES.ROAD_MARKING]: 'Wegmarkering',
37
- } as const;
32
+ export const ROAD_SIGN_CATEGORIES = {
33
+ XXBORD:
34
+ 'https://data.vlaanderen.be/id/concept/Verkeersbordcategorie/ae1b7231-1f31-492d-947a-25fc5d114492',
35
+ 'XX-AWVBORD':
36
+ 'https://data.vlaanderen.be/id/concept/Verkeersbordcategorie/8e302648-0eca-478b-8b48-67c3b0e39c0a',
37
+ GEVAARSBORD:
38
+ 'http://data.vlaanderen.be/id/concept/Verkeersbordcategorie/2982567006d9e19f04063df73123f56f40e3a28941031a7ba6e6667f64740fa9',
39
+ STILSTAANPARKEERBORD:
40
+ 'http://data.vlaanderen.be/id/concept/Verkeersbordcategorie/29ea3335e357e414d07229242607b352941c0c21e78760600cc0f5270f18c38b',
41
+ VOORRANGSBORD:
42
+ 'http://data.vlaanderen.be/id/concept/Verkeersbordcategorie/737da5751bc7f311398a834f34df310dd95255a0b62afa2db2882c72d54b47d2',
43
+ ZONEBORD:
44
+ 'http://data.vlaanderen.be/id/concept/Verkeersbordcategorie/86a67f3cba6512ae10c4b9b09ba35d8c80109189b44d37e848858af9efb37019',
45
+ VERBODSBORD:
46
+ 'http://data.vlaanderen.be/id/concept/Verkeersbordcategorie/955a9adc73d076a2a424754cd540b73da8d15fb002ab6c9f115d080edddb57e8',
47
+ ONDERBORD:
48
+ 'http://data.vlaanderen.be/id/concept/Verkeersbordcategorie/991b04b477b77bc7cf1414fb5d255cc4435dd9c1681e8de66f770710c1c83ad0',
49
+ GEBODSBORD:
50
+ 'http://data.vlaanderen.be/id/concept/Verkeersbordcategorie/9d84069e70f192b7a474d02f07687bc3343ee324207ad9e093c0b2f5def647f8',
51
+ AANWIJSBORD:
52
+ 'http://data.vlaanderen.be/id/concept/Verkeersbordcategorie/9ea8f8b421343370d20a8bd45d6226aadc48125bda8ddbbeeb53d99f181ee05a',
53
+ };
@@ -2,6 +2,7 @@ import {
2
2
  BindingObject,
3
3
  executeQuery,
4
4
  objectify,
5
+ sparqlEscapeUri,
5
6
  } from '@lblod/ember-rdfa-editor-lblod-plugins/utils/sparql-helpers';
6
7
  import {
7
8
  RoadSignCategory,
@@ -10,16 +11,18 @@ import {
10
11
 
11
12
  type QueryOptions = {
12
13
  abortSignal?: AbortSignal;
14
+ roadSignConceptUri?: string;
13
15
  };
14
16
 
15
17
  export default async function queryRoadSignCategories(
16
18
  endpoint: string,
17
19
  options: QueryOptions = {},
18
20
  ) {
19
- const { abortSignal } = options;
21
+ const { abortSignal, roadSignConceptUri } = options;
20
22
  const query = /* sparql */ `
21
23
  PREFIX mobiliteit: <https://data.vlaanderen.be/ns/mobiliteit#>
22
24
  PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
25
+ PREFIX dct: <http://purl.org/dc/terms/>
23
26
 
24
27
  SELECT DISTINCT
25
28
  ?uri
@@ -27,6 +30,8 @@ export default async function queryRoadSignCategories(
27
30
  WHERE {
28
31
  ?uri a mobiliteit:Verkeersbordcategorie;
29
32
  skos:prefLabel ?label.
33
+
34
+ ${roadSignConceptUri ? `${sparqlEscapeUri(roadSignConceptUri)} dct:type ?uri` : ''}
30
35
  }
31
36
  `;
32
37
  const queryResult = await executeQuery<BindingObject<RoadSignCategory>>({
@@ -6,6 +6,8 @@ import {
6
6
  sparqlEscapeUri,
7
7
  } from '@lblod/ember-rdfa-editor-lblod-plugins/utils/sparql-helpers';
8
8
  import { SignConcept, SignConceptSchema } from '../schemas/sign-concept';
9
+ import queryRoadSignCategories from './road-sign-category';
10
+ import { SIGN_CONCEPT_TYPES } from '../constants';
9
11
 
10
12
  type QueryOptions = {
11
13
  imageBaseUrl?: string;
@@ -31,7 +33,6 @@ export async function querySignConcepts(
31
33
  ?code
32
34
  ?zonality
33
35
  (CONCAT(${sparqlEscapeString(imageBaseUrl ?? '')}, "/files/", ?imageId, "/download") AS ?image)
34
- (GROUP_CONCAT(?classification; SEPARATOR="|") AS ?classifications)
35
36
  WHERE {
36
37
  ?uri
37
38
  a mobiliteit:Verkeerstekenconcept;
@@ -44,9 +45,6 @@ export async function querySignConcepts(
44
45
  OPTIONAL {
45
46
  ?uri ext:zonality ?zonality.
46
47
  }
47
- OPTIONAL {
48
- ?uri dct:type/skos:prefLabel ?classification.
49
- }
50
48
 
51
49
  VALUES ?type {
52
50
  <https://data.vlaanderen.be/ns/mobiliteit#Verkeersbordconcept>
@@ -63,13 +61,21 @@ export async function querySignConcepts(
63
61
  abortSignal,
64
62
  });
65
63
  const bindings = queryResult.results.bindings;
66
- const processed = bindings.map(objectify).map((binding) => {
67
- return {
68
- ...binding,
69
- classifications: binding.classifications
70
- ? binding.classifications.split('|')
71
- : [],
72
- };
73
- });
74
- return SignConceptSchema.array().parse(processed);
64
+ const concepts = SignConceptSchema.array().parse(bindings.map(objectify));
65
+ const conceptsWithCategories = await Promise.all(
66
+ concepts.map(async (concept) => {
67
+ if (concept.type === SIGN_CONCEPT_TYPES.ROAD_SIGN) {
68
+ const categories = await queryRoadSignCategories(endpoint, {
69
+ roadSignConceptUri: concept.uri,
70
+ });
71
+ return {
72
+ ...concept,
73
+ categories,
74
+ };
75
+ } else {
76
+ return concept;
77
+ }
78
+ }),
79
+ );
80
+ return conceptsWithCategories;
75
81
  }
@@ -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: {
@@ -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
  }
@@ -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>>;
@@ -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>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lblod/ember-rdfa-editor-lblod-plugins",
3
- "version": "32.0.0",
3
+ "version": "32.1.0",
4
4
  "description": "Ember addon providing lblod specific plugins for the ember-rdfa-editor",
5
5
  "keywords": [
6
6
  "ember-addon",
@@ -109,7 +109,7 @@
109
109
  "@glint/template": "^1.5.0",
110
110
  "@graphy/content.ttl.write": "^4.3.7",
111
111
  "@graphy/memory.dataset.fast": "4.3.3",
112
- "@lblod/ember-rdfa-editor": "12.6.0",
112
+ "@lblod/ember-rdfa-editor": "12.8.0",
113
113
  "@rdfjs/types": "^1.1.0",
114
114
  "@release-it/keep-a-changelog": "^4.0.0",
115
115
  "@tsconfig/ember": "^3.0.8",
package/pnpm-lock.yaml CHANGED
@@ -181,8 +181,8 @@ importers:
181
181
  specifier: 4.3.3
182
182
  version: 4.3.3
183
183
  '@lblod/ember-rdfa-editor':
184
- specifier: 12.6.0
185
- version: 12.6.0(uyopq47zhjkpyroiqgd3grmn6i)
184
+ specifier: 12.8.0
185
+ version: 12.8.0(uyopq47zhjkpyroiqgd3grmn6i)
186
186
  '@rdfjs/types':
187
187
  specifier: ^1.1.0
188
188
  version: 1.1.0
@@ -1708,8 +1708,8 @@ packages:
1708
1708
  '@jridgewell/trace-mapping@0.3.25':
1709
1709
  resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
1710
1710
 
1711
- '@lblod/ember-rdfa-editor@12.6.0':
1712
- resolution: {integrity: sha512-LrdXe7lk++zYin5IzP+Bele0d2gkA6ZpgoG9HlPb2fcuiei1pxnWOcWwbN2WxAGgd3igNlUPTihDFTE6w68/NQ==}
1711
+ '@lblod/ember-rdfa-editor@12.8.0':
1712
+ resolution: {integrity: sha512-ertVM7p2QOSg0SbwoVCv1o6c/ZlfuSP750URzco8hzrTLd+zuZWWK+94nEpXQRuHgc8mDUU0MQcRYTrewt2h6g==}
1713
1713
  peerDependencies:
1714
1714
  '@appuniversum/ember-appuniversum': ^3.5.0
1715
1715
  '@ember/test-helpers': ^2.9.4 || ^3.2.1 || ^4.0.2 || ^5.0.0
@@ -11928,7 +11928,7 @@ snapshots:
11928
11928
  '@jridgewell/resolve-uri': 3.1.2
11929
11929
  '@jridgewell/sourcemap-codec': 1.4.15
11930
11930
 
11931
- '@lblod/ember-rdfa-editor@12.6.0(uyopq47zhjkpyroiqgd3grmn6i)':
11931
+ '@lblod/ember-rdfa-editor@12.8.0(uyopq47zhjkpyroiqgd3grmn6i)':
11932
11932
  dependencies:
11933
11933
  '@appuniversum/ember-appuniversum': 3.5.0(@ember/test-helpers@3.3.1(@babel/core@7.26.0)(@glint/template@1.5.1)(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1))(webpack@5.97.1))(@glint/environment-ember-loose@1.5.1(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(@types/ember__array@4.0.10(@babel/core@7.26.0))(@types/ember__component@4.0.22(@babel/core@7.26.0))(@types/ember__controller@4.0.12(@babel/core@7.26.0))(@types/ember__object@4.0.12(@babel/core@7.26.0))(@types/ember__routing@4.0.22(@babel/core@7.26.0))(ember-cli-htmlbars@6.3.0)(ember-modifier@4.1.0(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1))))(@glint/template@1.5.1)(ember-source@5.12.0(@glimmer/component@1.1.2(@babel/core@7.26.0))(@glint/template@1.5.1)(rsvp@4.8.5)(webpack@5.97.1))(tracked-built-ins@3.3.0)(webpack@5.97.1)
11934
11934
  '@codemirror/commands': 6.6.0
@@ -12480,27 +12480,6 @@ snapshots:
12480
12480
  dependencies:
12481
12481
  '@types/ms': 0.7.34
12482
12482
 
12483
- '@types/ember@4.0.11':
12484
- dependencies:
12485
- '@types/ember__application': 4.0.11(@babel/core@7.26.0)
12486
- '@types/ember__array': 4.0.10(@babel/core@7.26.0)
12487
- '@types/ember__component': 4.0.22(@babel/core@7.26.0)
12488
- '@types/ember__controller': 4.0.12(@babel/core@7.26.0)
12489
- '@types/ember__debug': 4.0.8(@babel/core@7.26.0)
12490
- '@types/ember__engine': 4.0.11(@babel/core@7.26.0)
12491
- '@types/ember__error': 4.0.6
12492
- '@types/ember__object': 4.0.12(@babel/core@7.26.0)
12493
- '@types/ember__polyfills': 4.0.6
12494
- '@types/ember__routing': 4.0.22(@babel/core@7.26.0)
12495
- '@types/ember__runloop': 4.0.10
12496
- '@types/ember__service': 4.0.9(@babel/core@7.26.0)
12497
- '@types/ember__string': 3.16.3
12498
- '@types/ember__template': 4.0.7
12499
- '@types/ember__test': 4.0.6(@babel/core@7.26.0)
12500
- '@types/ember__utils': 4.0.7
12501
- '@types/rsvp': 4.0.9
12502
- optional: true
12503
-
12504
12483
  '@types/ember@4.0.11(@babel/core@7.26.0)':
12505
12484
  dependencies:
12506
12485
  '@types/ember__application': 4.0.11(@babel/core@7.26.0)
@@ -12528,7 +12507,7 @@ snapshots:
12528
12507
  '@types/ember__application@4.0.11(@babel/core@7.26.0)':
12529
12508
  dependencies:
12530
12509
  '@glimmer/component': 1.1.2(@babel/core@7.26.0)
12531
- '@types/ember': 4.0.11
12510
+ '@types/ember': 4.0.11(@babel/core@7.26.0)
12532
12511
  '@types/ember__engine': 4.0.11(@babel/core@7.26.0)
12533
12512
  '@types/ember__object': 4.0.12(@babel/core@7.26.0)
12534
12513
  '@types/ember__owner': 4.0.9
@@ -12630,11 +12609,6 @@ snapshots:
12630
12609
  - supports-color
12631
12610
  optional: true
12632
12611
 
12633
- '@types/ember__runloop@4.0.10':
12634
- dependencies:
12635
- '@types/ember': 4.0.11
12636
- optional: true
12637
-
12638
12612
  '@types/ember__runloop@4.0.10(@babel/core@7.26.0)':
12639
12613
  dependencies:
12640
12614
  '@types/ember': 4.0.11(@babel/core@7.26.0)
@@ -12667,11 +12641,6 @@ snapshots:
12667
12641
  - supports-color
12668
12642
  optional: true
12669
12643
 
12670
- '@types/ember__utils@4.0.7':
12671
- dependencies:
12672
- '@types/ember': 4.0.11
12673
- optional: true
12674
-
12675
12644
  '@types/ember__utils@4.0.7(@babel/core@7.26.0)':
12676
12645
  dependencies:
12677
12646
  '@types/ember': 4.0.11(@babel/core@7.26.0)