@umbraco-cms/backoffice 14.0.0--preview005-2c00d16c → 14.0.0--preview005-a87dc391

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 (57) hide show
  1. package/dist-cms/apps/backoffice/backoffice.element.js +1 -0
  2. package/dist-cms/assets/lang/da-dk.js +31 -0
  3. package/dist-cms/assets/lang/da-dk.ts +32 -0
  4. package/dist-cms/assets/lang/en-us.js +32 -1
  5. package/dist-cms/assets/lang/en-us.ts +36 -1
  6. package/dist-cms/custom-elements.json +35 -18
  7. package/dist-cms/mocks/browser-handlers.js +2 -0
  8. package/dist-cms/mocks/data/data-type/data-type.data.js +9 -0
  9. package/dist-cms/mocks/handlers/dynamic-root.handlers.d.ts +1 -0
  10. package/dist-cms/mocks/handlers/dynamic-root.handlers.js +12 -0
  11. package/dist-cms/packages/block/block/modals/block-catalogue/block-catalogue-modal.element.d.ts +1 -2
  12. package/dist-cms/packages/block/block/modals/block-catalogue/block-catalogue-modal.element.js +22 -26
  13. package/dist-cms/packages/block/block/modals/block-catalogue/block-catalogue-modal.token.d.ts +2 -5
  14. package/dist-cms/packages/block/block-grid/property-editors/block-grid-editor/property-editor-ui-block-grid.element.d.ts +11 -7
  15. package/dist-cms/packages/block/block-grid/property-editors/block-grid-editor/property-editor-ui-block-grid.element.js +119 -71
  16. package/dist-cms/packages/block/block-list/property-editors/block-list-editor/property-editor-ui-block-list.element.d.ts +4 -3
  17. package/dist-cms/packages/block/block-list/property-editors/block-list-editor/property-editor-ui-block-list.element.js +39 -7
  18. package/dist-cms/packages/core/components/input-tree-picker-source/input-tree-picker-source.element.d.ts +12 -10
  19. package/dist-cms/packages/core/components/input-tree-picker-source/input-tree-picker-source.element.js +46 -19
  20. package/dist-cms/packages/core/extension-registry/models/dynamic-root.model.d.ts +21 -0
  21. package/dist-cms/packages/core/extension-registry/models/dynamic-root.model.js +1 -0
  22. package/dist-cms/packages/core/extension-registry/models/index.d.ts +3 -1
  23. package/dist-cms/packages/core/property-editor/uis/tree-picker/config/source-picker/property-editor-ui-tree-picker-source-picker.element.js +3 -2
  24. package/dist-cms/packages/core/property-editor/uis/tree-picker/config/source-type-picker/property-editor-ui-tree-picker-source-type-picker.element.js +3 -1
  25. package/dist-cms/packages/core/property-editor/uis/tree-picker/property-editor-ui-tree-picker.element.d.ts +4 -2
  26. package/dist-cms/packages/core/property-editor/uis/tree-picker/property-editor-ui-tree-picker.element.js +44 -8
  27. package/dist-cms/packages/core/tree/components/input-tree/input-tree.element.js +1 -1
  28. package/dist-cms/packages/documents/documents/components/input-document/input-document.element.d.ts +1 -0
  29. package/dist-cms/packages/documents/documents/components/input-document/input-document.element.js +6 -3
  30. package/dist-cms/packages/documents/documents/components/input-document-picker-root/input-document-picker-root.element.d.ts +7 -6
  31. package/dist-cms/packages/documents/documents/components/input-document-picker-root/input-document-picker-root.element.js +201 -63
  32. package/dist-cms/packages/dynamic-root/index.d.ts +2 -0
  33. package/dist-cms/packages/dynamic-root/index.js +2 -0
  34. package/dist-cms/packages/dynamic-root/manifests.d.ts +1 -0
  35. package/dist-cms/packages/dynamic-root/manifests.js +6 -0
  36. package/dist-cms/packages/dynamic-root/modals/dynamic-root-origin-picker-modal.element.d.ts +14 -0
  37. package/dist-cms/packages/dynamic-root/modals/dynamic-root-origin-picker-modal.element.js +105 -0
  38. package/dist-cms/packages/dynamic-root/modals/dynamic-root-query-step-picker-modal.element.d.ts +14 -0
  39. package/dist-cms/packages/dynamic-root/modals/dynamic-root-query-step-picker-modal.element.js +98 -0
  40. package/dist-cms/packages/dynamic-root/modals/index.d.ts +3 -0
  41. package/dist-cms/packages/dynamic-root/modals/index.js +14 -0
  42. package/dist-cms/packages/dynamic-root/modals/manifests.d.ts +4 -0
  43. package/dist-cms/packages/dynamic-root/modals/manifests.js +129 -0
  44. package/dist-cms/packages/dynamic-root/repository/dynamic-root.repository.d.ts +8 -0
  45. package/dist-cms/packages/dynamic-root/repository/dynamic-root.repository.js +45 -0
  46. package/dist-cms/packages/dynamic-root/repository/dynamic-root.server.data.d.ts +7 -0
  47. package/dist-cms/packages/dynamic-root/repository/dynamic-root.server.data.js +33 -0
  48. package/dist-cms/packages/dynamic-root/repository/index.d.ts +2 -0
  49. package/dist-cms/packages/dynamic-root/repository/index.js +2 -0
  50. package/dist-cms/packages/dynamic-root/repository/manifests.d.ts +2 -0
  51. package/dist-cms/packages/dynamic-root/repository/manifests.js +2 -0
  52. package/dist-cms/packages/dynamic-root/umbraco-package.d.ts +7 -0
  53. package/dist-cms/packages/dynamic-root/umbraco-package.js +9 -0
  54. package/dist-cms/tsconfig.build.tsbuildinfo +1 -1
  55. package/dist-cms/umbraco-package-schema.json +120 -0
  56. package/dist-cms/vscode-html-custom-data.json +18 -13
  57. package/package.json +2 -1
@@ -31,6 +31,7 @@ const CORE_PACKAGES = [
31
31
  import('../../packages/log-viewer/umbraco-package.js'),
32
32
  import('../../packages/health-check/umbraco-package.js'),
33
33
  import('../../packages/static-file/umbraco-package.js'),
34
+ import('../../packages/dynamic-root/umbraco-package.js'),
34
35
  ];
35
36
  let UmbBackofficeElement = class UmbBackofficeElement extends UmbLitElement {
36
37
  constructor() {
@@ -1069,6 +1069,37 @@ export default {
1069
1069
  pickedTrashedItem: 'Du har valgt et dokument som er slettet eller lagt i papirkurven',
1070
1070
  pickedTrashedItems: 'Du har valgt dokumenter som er slettede eller lagt i papirkurven',
1071
1071
  },
1072
+ dynamicRoot: {
1073
+ configurationTitle: 'Dynamisk udgangspunkts forespørgsel',
1074
+ pickDynamicRootOriginTitle: 'Vælg begyndelsen',
1075
+ pickDynamicRootOriginDesc: 'Beskriv begyndelsen for dynamisk udgangspunkts forespørgselen',
1076
+ originRootTitle: 'Roden',
1077
+ originRootDesc: 'Rod noden for denne kilde',
1078
+ originParentTitle: 'Overliggende',
1079
+ originParentDesc: 'Den overliggende node af kilden i denne redigerings session',
1080
+ originCurrentTitle: 'Nuværende',
1081
+ originCurrentDesc: 'Kilde noden for denne redigerings session',
1082
+ originSiteTitle: 'Siden',
1083
+ originSiteDesc: 'Nærmeste node med et domæne',
1084
+ originByKeyTitle: 'Specifik Node',
1085
+ originByKeyDesc: 'Vælg en specifik Node',
1086
+ pickDynamicRootQueryStepTitle: 'Tilføj skridt til forespørgsel',
1087
+ pickDynamicRootQueryStepDesc: 'Specificer næste skridt i din dynamisk udgangspunkts forespørgsel',
1088
+ queryStepNearestAncestorOrSelfTitle: 'Nærmeste forældre eller selv',
1089
+ queryStepNearestAncestorOrSelfDesc: 'Forespørg the nærmeste forældre eller selv der passer på en af de givne typer',
1090
+ queryStepFurthestAncestorOrSelfTitle: 'Fjerneste forældre eller selv',
1091
+ queryStepFurthestAncestorOrSelfDesc: 'Forespørg fjerneste forældre eller selv der passer på en af de givne typer',
1092
+ queryStepNearestDescendantOrSelfTitle: 'Nærmeste barn eller selv',
1093
+ queryStepNearestDescendantOrSelfDesc: 'Forespørg nærmeste barn eller selv der passer på en af de givne typer',
1094
+ queryStepFurthestDescendantOrSelfTitle: 'Fjerneste barn eller selv',
1095
+ queryStepFurthestDescendantOrSelfDesc: 'Forespørg fjerneste barn eller selv der passer på en af de givne typer',
1096
+ queryStepCustomTitle: 'Brugerdefineret',
1097
+ queryStepCustomDesc: 'Forespørg med et skræddersyet forespørgsels skridt',
1098
+ addQueryStep: 'Tilføj skridt',
1099
+ queryStepTypes: 'der passer med typerne: ',
1100
+ noValidStartNodeTitle: 'Intet passende indhold',
1101
+ noValidStartNodeDesc: 'Konfigurationen af dette felt passer ikke med noget indhold. Opret det manglende indhold eller kontakt din adminnistrator for at tilpasse Dynamisk Udgangspunkts Forespørgselen for dette felt.',
1102
+ },
1072
1103
  mediaPicker: {
1073
1104
  deletedItem: 'Slettet medie',
1074
1105
  pickedTrashedItem: 'Du har valgt et medie som er slettet eller lagt i papirkurven',
@@ -1156,6 +1156,38 @@ export default {
1156
1156
  pickedTrashedItem: 'Du har valgt et dokument som er slettet eller lagt i papirkurven',
1157
1157
  pickedTrashedItems: 'Du har valgt dokumenter som er slettede eller lagt i papirkurven',
1158
1158
  },
1159
+ dynamicRoot: {
1160
+ configurationTitle: 'Dynamisk udgangspunkts forespørgsel',
1161
+ pickDynamicRootOriginTitle: 'Vælg begyndelsen',
1162
+ pickDynamicRootOriginDesc: 'Beskriv begyndelsen for dynamisk udgangspunkts forespørgselen',
1163
+ originRootTitle: 'Roden',
1164
+ originRootDesc: 'Rod noden for denne kilde',
1165
+ originParentTitle: 'Overliggende',
1166
+ originParentDesc: 'Den overliggende node af kilden i denne redigerings session',
1167
+ originCurrentTitle: 'Nuværende',
1168
+ originCurrentDesc: 'Kilde noden for denne redigerings session',
1169
+ originSiteTitle: 'Siden',
1170
+ originSiteDesc: 'Nærmeste node med et domæne',
1171
+ originByKeyTitle: 'Specifik Node',
1172
+ originByKeyDesc: 'Vælg en specifik Node',
1173
+ pickDynamicRootQueryStepTitle: 'Tilføj skridt til forespørgsel',
1174
+ pickDynamicRootQueryStepDesc: 'Specificer næste skridt i din dynamisk udgangspunkts forespørgsel',
1175
+ queryStepNearestAncestorOrSelfTitle: 'Nærmeste forældre eller selv',
1176
+ queryStepNearestAncestorOrSelfDesc: 'Forespørg the nærmeste forældre eller selv der passer på en af de givne typer',
1177
+ queryStepFurthestAncestorOrSelfTitle: 'Fjerneste forældre eller selv',
1178
+ queryStepFurthestAncestorOrSelfDesc: 'Forespørg fjerneste forældre eller selv der passer på en af de givne typer',
1179
+ queryStepNearestDescendantOrSelfTitle: 'Nærmeste barn eller selv',
1180
+ queryStepNearestDescendantOrSelfDesc: 'Forespørg nærmeste barn eller selv der passer på en af de givne typer',
1181
+ queryStepFurthestDescendantOrSelfTitle: 'Fjerneste barn eller selv',
1182
+ queryStepFurthestDescendantOrSelfDesc: 'Forespørg fjerneste barn eller selv der passer på en af de givne typer',
1183
+ queryStepCustomTitle: 'Brugerdefineret',
1184
+ queryStepCustomDesc: 'Forespørg med et skræddersyet forespørgsels skridt',
1185
+ addQueryStep: 'Tilføj skridt',
1186
+ queryStepTypes: 'der passer med typerne: ',
1187
+ noValidStartNodeTitle: 'Intet passende indhold',
1188
+ noValidStartNodeDesc:
1189
+ 'Konfigurationen af dette felt passer ikke med noget indhold. Opret det manglende indhold eller kontakt din adminnistrator for at tilpasse Dynamisk Udgangspunkts Forespørgselen for dette felt.',
1190
+ },
1159
1191
  mediaPicker: {
1160
1192
  deletedItem: 'Slettet medie',
1161
1193
  pickedTrashedItem: 'Du har valgt et medie som er slettet eller lagt i papirkurven',
@@ -1059,11 +1059,42 @@ export default {
1059
1059
  },
1060
1060
  contentPicker: {
1061
1061
  allowedItemTypes: 'You can only select items of type(s): %0%',
1062
- defineDynamicRoot: 'Specify a Dynamic Root',
1062
+ defineDynamicRoot: 'Specify root node',
1063
1063
  defineRootNode: 'Pick root node',
1064
1064
  pickedTrashedItem: 'You have picked a content item currently deleted or in the recycle bin',
1065
1065
  pickedTrashedItems: 'You have picked content items currently deleted or in the recycle bin',
1066
1066
  },
1067
+ dynamicRoot: {
1068
+ configurationTitle: 'Dynamic Root Query',
1069
+ pickDynamicRootOriginTitle: 'Pick origin',
1070
+ pickDynamicRootOriginDesc: 'Define the origin for your Dynamic Root Query',
1071
+ originRootTitle: 'Root',
1072
+ originRootDesc: 'Root node of this editing session',
1073
+ originParentTitle: 'Parent',
1074
+ originParentDesc: 'The parent node of the source in this editing session',
1075
+ originCurrentTitle: 'Current',
1076
+ originCurrentDesc: 'The content node that is source for this editing session',
1077
+ originSiteTitle: 'Site',
1078
+ originSiteDesc: 'Find nearest node with a hostname',
1079
+ originByKeyTitle: 'Specific Node',
1080
+ originByKeyDesc: 'Pick a specific Node as the origin for this query',
1081
+ pickDynamicRootQueryStepTitle: 'Append step to query',
1082
+ pickDynamicRootQueryStepDesc: 'Define the next step of your Dynamic Root Query',
1083
+ queryStepNearestAncestorOrSelfTitle: 'Nearest Ancestor Or Self',
1084
+ queryStepNearestAncestorOrSelfDesc: 'Query the nearest ancestor or self that fits with one of the configured types',
1085
+ queryStepFurthestAncestorOrSelfTitle: 'Furthest Ancestor Or Self',
1086
+ queryStepFurthestAncestorOrSelfDesc: 'Query the Furthest ancestor or self that fits with one of the configured types',
1087
+ queryStepNearestDescendantOrSelfTitle: 'Nearest Descendant Or Self',
1088
+ queryStepNearestDescendantOrSelfDesc: 'Query the nearest descendant or self that fits with one of the configured types',
1089
+ queryStepFurthestDescendantOrSelfTitle: 'Furthest Descendant Or Self',
1090
+ queryStepFurthestDescendantOrSelfDesc: 'Query the Furthest descendant or self that fits with one of the configured types',
1091
+ queryStepCustomTitle: 'Custom',
1092
+ queryStepCustomDesc: 'Query the using a custom Query Step',
1093
+ addQueryStep: 'Add query step',
1094
+ queryStepTypes: 'That matches types: ',
1095
+ noValidStartNodeTitle: 'No matching content',
1096
+ noValidStartNodeDesc: 'The configuration of this property does not match any content. Create the missing content or contact your administrator to adjust the Dynamic Root settings for this property.',
1097
+ },
1067
1098
  mediaPicker: {
1068
1099
  deletedItem: 'Deleted item',
1069
1100
  pickedTrashedItem: 'You have picked a media item currently deleted or in the recycle bin',
@@ -1148,11 +1148,46 @@ export default {
1148
1148
  },
1149
1149
  contentPicker: {
1150
1150
  allowedItemTypes: 'You can only select items of type(s): %0%',
1151
- defineDynamicRoot: 'Specify a Dynamic Root',
1151
+ defineDynamicRoot: 'Specify root node',
1152
1152
  defineRootNode: 'Pick root node',
1153
1153
  pickedTrashedItem: 'You have picked a content item currently deleted or in the recycle bin',
1154
1154
  pickedTrashedItems: 'You have picked content items currently deleted or in the recycle bin',
1155
1155
  },
1156
+ dynamicRoot: {
1157
+ configurationTitle: 'Dynamic Root Query',
1158
+ pickDynamicRootOriginTitle: 'Pick origin',
1159
+ pickDynamicRootOriginDesc: 'Define the origin for your Dynamic Root Query',
1160
+ originRootTitle: 'Root',
1161
+ originRootDesc: 'Root node of this editing session',
1162
+ originParentTitle: 'Parent',
1163
+ originParentDesc: 'The parent node of the source in this editing session',
1164
+ originCurrentTitle: 'Current',
1165
+ originCurrentDesc: 'The content node that is source for this editing session',
1166
+ originSiteTitle: 'Site',
1167
+ originSiteDesc: 'Find nearest node with a hostname',
1168
+ originByKeyTitle: 'Specific Node',
1169
+ originByKeyDesc: 'Pick a specific Node as the origin for this query',
1170
+ pickDynamicRootQueryStepTitle: 'Append step to query',
1171
+ pickDynamicRootQueryStepDesc: 'Define the next step of your Dynamic Root Query',
1172
+ queryStepNearestAncestorOrSelfTitle: 'Nearest Ancestor Or Self',
1173
+ queryStepNearestAncestorOrSelfDesc: 'Query the nearest ancestor or self that fits with one of the configured types',
1174
+ queryStepFurthestAncestorOrSelfTitle: 'Furthest Ancestor Or Self',
1175
+ queryStepFurthestAncestorOrSelfDesc:
1176
+ 'Query the Furthest ancestor or self that fits with one of the configured types',
1177
+ queryStepNearestDescendantOrSelfTitle: 'Nearest Descendant Or Self',
1178
+ queryStepNearestDescendantOrSelfDesc:
1179
+ 'Query the nearest descendant or self that fits with one of the configured types',
1180
+ queryStepFurthestDescendantOrSelfTitle: 'Furthest Descendant Or Self',
1181
+ queryStepFurthestDescendantOrSelfDesc:
1182
+ 'Query the Furthest descendant or self that fits with one of the configured types',
1183
+ queryStepCustomTitle: 'Custom',
1184
+ queryStepCustomDesc: 'Query the using a custom Query Step',
1185
+ addQueryStep: 'Add query step',
1186
+ queryStepTypes: 'That matches types: ',
1187
+ noValidStartNodeTitle: 'No matching content',
1188
+ noValidStartNodeDesc:
1189
+ 'The configuration of this property does not match any content. Create the missing content or contact your administrator to adjust the Dynamic Root settings for this property.',
1190
+ },
1156
1191
  mediaPicker: {
1157
1192
  deletedItem: 'Deleted item',
1158
1193
  pickedTrashedItem: 'You have picked a media item currently deleted or in the recycle bin',
@@ -500,7 +500,7 @@
500
500
  {
501
501
  "name": "styles",
502
502
  "type": "array",
503
- "default": "[\"UmbTextStyles\"]"
503
+ "default": "[\"UmbTextStyles\",null]"
504
504
  }
505
505
  ]
506
506
  },
@@ -2258,27 +2258,27 @@
2258
2258
  "attributes": [
2259
2259
  {
2260
2260
  "name": "type",
2261
- "type": "UmbTreePickerSourceType | undefined"
2261
+ "type": "UmbTreePickerSourceType"
2262
2262
  },
2263
2263
  {
2264
2264
  "name": "node-id",
2265
- "type": "string | null | undefined"
2265
+ "type": "string | undefined"
2266
2266
  }
2267
2267
  ],
2268
2268
  "properties": [
2269
2269
  {
2270
2270
  "name": "type",
2271
2271
  "attribute": "type",
2272
- "type": "UmbTreePickerSourceType | undefined"
2272
+ "type": "UmbTreePickerSourceType"
2273
2273
  },
2274
2274
  {
2275
2275
  "name": "nodeId",
2276
2276
  "attribute": "node-id",
2277
- "type": "string | null | undefined"
2277
+ "type": "string | undefined"
2278
2278
  },
2279
2279
  {
2280
2280
  "name": "dynamicRoot",
2281
- "type": "UmbTreePickerDynamicRoot | null | undefined"
2281
+ "type": "UmbTreePickerDynamicRoot | undefined"
2282
2282
  },
2283
2283
  {
2284
2284
  "name": "styles",
@@ -4885,7 +4885,9 @@
4885
4885
  "default": "\"\""
4886
4886
  },
4887
4887
  {
4888
- "name": "type"
4888
+ "name": "type",
4889
+ "type": "UmbTreePickerSource",
4890
+ "default": "\"content\""
4889
4891
  },
4890
4892
  {
4891
4893
  "name": "startNodeId",
@@ -6380,21 +6382,14 @@
6380
6382
  {
6381
6383
  "name": "umb-input-document-picker-root",
6382
6384
  "path": "./../src/packages/documents/documents/components/input-document-picker-root/input-document-picker-root.element.ts",
6383
- "attributes": [
6384
- {
6385
- "name": "value",
6386
- "type": "string"
6387
- }
6388
- ],
6389
6385
  "properties": [
6390
6386
  {
6391
- "name": "unique",
6392
- "type": "string | null | undefined"
6387
+ "name": "data"
6393
6388
  },
6394
6389
  {
6395
- "name": "value",
6396
- "attribute": "value",
6397
- "type": "string"
6390
+ "name": "styles",
6391
+ "type": "array",
6392
+ "default": "[null]"
6398
6393
  }
6399
6394
  ]
6400
6395
  },
@@ -6776,6 +6771,28 @@
6776
6771
  }
6777
6772
  ]
6778
6773
  },
6774
+ {
6775
+ "name": "umb-dynamic-root-origin-picker-modal",
6776
+ "path": "./../src/packages/dynamic-root/modals/dynamic-root-origin-picker-modal.element.ts",
6777
+ "properties": [
6778
+ {
6779
+ "name": "styles",
6780
+ "type": "array",
6781
+ "default": "[null]"
6782
+ }
6783
+ ]
6784
+ },
6785
+ {
6786
+ "name": "umb-dynamic-root-query-step-picker-modal",
6787
+ "path": "./../src/packages/dynamic-root/modals/dynamic-root-query-step-picker-modal.element.ts",
6788
+ "properties": [
6789
+ {
6790
+ "name": "styles",
6791
+ "type": "array",
6792
+ "default": "[\"UmbTextStyles\",null]"
6793
+ }
6794
+ ]
6795
+ },
6779
6796
  {
6780
6797
  "name": "umb-dashboard-health-check",
6781
6798
  "path": "./../src/packages/health-check/dashboard-health-check.element.ts"
@@ -36,6 +36,7 @@ import { handlers as partialViewHandlers } from './handlers/partial-view/index.j
36
36
  import { handlers as tagHandlers } from './handlers/tag-handlers.js';
37
37
  import { handlers as configHandlers } from './handlers/config.handlers.js';
38
38
  import { handlers as scriptHandlers } from './handlers/script/index.js';
39
+ import { handlers as dynamicRootHandlers } from './handlers/dynamic-root.handlers.js';
39
40
  const handlers = [
40
41
  serverHandlers.serverInformationHandler,
41
42
  ...auditLogHandlers,
@@ -45,6 +46,7 @@ const handlers = [
45
46
  ...dictionaryHandlers,
46
47
  ...documentHandlers,
47
48
  ...documentTypeHandlers,
49
+ ...dynamicRootHandlers,
48
50
  ...examineManagementHandlers,
49
51
  ...healthCheckHandlers,
50
52
  ...installHandlers,
@@ -215,6 +215,15 @@ export const data = [
215
215
  value: {
216
216
  type: 'content',
217
217
  id: null,
218
+ dynamicRoot: {
219
+ originAlias: 'Root',
220
+ querySteps: [
221
+ {
222
+ alias: 'FurthestAncestorOrSelf',
223
+ anyOfDocTypeKeys: ['all-property-editors-document-type-id'],
224
+ },
225
+ ],
226
+ },
218
227
  },
219
228
  },
220
229
  {
@@ -0,0 +1 @@
1
+ export declare const handlers: import("msw").RestHandler<import("node_modules/msw/lib/glossary-de6278a9.js").M<import("node_modules/msw/lib/glossary-de6278a9.js").h>>[];
@@ -0,0 +1,12 @@
1
+ import { umbDocumentMockDb } from '../data/document/document.db.js';
2
+ import { umbracoPath } from '../../shared/utils/index.js';
3
+ const { rest } = window.MockServiceWorker;
4
+ export const handlers = [
5
+ rest.post(umbracoPath('/dynamic-root/query'), async (req, res, ctx) => {
6
+ const response = umbDocumentMockDb.tree
7
+ .getRoot()
8
+ .items.map((item) => item.id)
9
+ .slice(0, 1);
10
+ return res(ctx.status(200), ctx.json(response));
11
+ }),
12
+ ];
@@ -2,8 +2,7 @@ import type { UmbBlockCatalogueModalData, UmbBlockCatalogueModalValue } from '..
2
2
  import { UmbModalBaseElement } from '../../../../core/modal/index.js';
3
3
  export declare class UmbBlockCatalogueModalElement extends UmbModalBaseElement<UmbBlockCatalogueModalData, UmbBlockCatalogueModalValue> {
4
4
  #private;
5
- private _blocks;
6
- private _blockGroups;
5
+ private _groupedBlocks;
7
6
  _openClipboard?: boolean;
8
7
  _workspacePath?: string;
9
8
  constructor();
@@ -12,14 +12,12 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
12
12
  var _UmbBlockCatalogueModalElement_instances, _UmbBlockCatalogueModalElement_renderClipboard, _UmbBlockCatalogueModalElement_renderCreateEmpty, _UmbBlockCatalogueModalElement_renderViews;
13
13
  import { UMB_BLOCK_WORKSPACE_MODAL } from '../../workspace/index.js';
14
14
  import { css, html, customElement, state, repeat, ifDefined, nothing } from '../../../../../external/lit/index.js';
15
- import { groupBy } from '../../../../../external/lodash/index.js';
16
15
  import { UMB_MODAL_CONTEXT, UmbModalBaseElement, UmbModalRouteRegistrationController, } from '../../../../core/modal/index.js';
17
16
  let UmbBlockCatalogueModalElement = class UmbBlockCatalogueModalElement extends UmbModalBaseElement {
18
17
  constructor() {
19
18
  super();
20
19
  _UmbBlockCatalogueModalElement_instances.add(this);
21
- this._blocks = [];
22
- this._blockGroups = [];
20
+ this._groupedBlocks = [];
23
21
  this.consumeContext(UMB_MODAL_CONTEXT, (modalContext) => {
24
22
  new UmbModalRouteRegistrationController(this, UMB_BLOCK_WORKSPACE_MODAL)
25
23
  //.addAdditionalPath('block') // No need for additional path specification in this context as this is for sure the only workspace we want to open here.
@@ -42,15 +40,15 @@ let UmbBlockCatalogueModalElement = class UmbBlockCatalogueModalElement extends
42
40
  if (!this.data)
43
41
  return;
44
42
  this._openClipboard = this.data.openClipboard ?? false;
45
- this._blocks = this.data.blocks ?? [];
46
- this._blockGroups = this.data.blockGroups ?? [];
43
+ const blocks = this.data.blocks ?? [];
44
+ const blockGroups = this.data.blockGroups ?? [];
45
+ const noGroupBlocks = blocks.filter((block) => !blockGroups.find((group) => group.key === block.groupKey));
46
+ const grouped = blockGroups.map((group) => ({
47
+ name: group.name ?? '',
48
+ blocks: blocks.filter((block) => block.groupKey === group.key),
49
+ }));
50
+ this._groupedBlocks = [{ blocks: noGroupBlocks }, ...grouped];
47
51
  }
48
- /*
49
- #onClickBlock(contentElementTypeKey: string) {
50
- this.modalContext?.updateValue({ key: contentElementTypeKey });
51
- this.modalContext?.submit();
52
- }
53
- */
54
52
  render() {
55
53
  return html `
56
54
  <umb-body-layout headline="${this.localize.term('blockEditor_addBlock')}">
@@ -72,14 +70,9 @@ _UmbBlockCatalogueModalElement_renderClipboard = function _UmbBlockCatalogueModa
72
70
  return html `Clipboard`;
73
71
  };
74
72
  _UmbBlockCatalogueModalElement_renderCreateEmpty = function _UmbBlockCatalogueModalElement_renderCreateEmpty() {
75
- const blockArrays = groupBy(this._blocks, 'groupKey');
76
- const mappedGroupsAndBlocks = Object.entries(blockArrays).map(([key, value]) => {
77
- const group = this._blockGroups.find((group) => group.key === key);
78
- return { name: group?.name, blocks: value };
79
- });
80
73
  return html `
81
- ${mappedGroupsAndBlocks.map((group) => html `
82
- ${group.name ? html `<h2>${group.name}</h2>` : nothing}
74
+ ${this._groupedBlocks.map((group) => html `
75
+ ${group.name ? html `<h4>${group.name}</h4>` : nothing}
83
76
  <div class="blockGroup">
84
77
  ${repeat(group.blocks, (block) => block.contentElementTypeKey, (block) => html `
85
78
  <uui-card-block-type
@@ -97,12 +90,18 @@ _UmbBlockCatalogueModalElement_renderCreateEmpty = function _UmbBlockCatalogueMo
97
90
  _UmbBlockCatalogueModalElement_renderViews = function _UmbBlockCatalogueModalElement_renderViews() {
98
91
  return html `
99
92
  <uui-tab-group slot="navigation">
100
- <uui-tab label="Create Empty" ?active=${!this._openClipboard} @click=${() => (this._openClipboard = false)}>
101
- Create Empty
93
+ <uui-tab
94
+ label=${this.localize.term('blockEditor_tabCreateEmpty')}
95
+ ?active=${!this._openClipboard}
96
+ @click=${() => (this._openClipboard = false)}>
97
+ <umb-localize key=${this.localize.term('blockEditor_tabCreateEmpty')}>Create Empty</umb-localize>
102
98
  <uui-icon slot="icon" name="icon-add"></uui-icon>
103
99
  </uui-tab>
104
- <uui-tab label="Clipboard" ?active=${this._openClipboard} @click=${() => (this._openClipboard = true)}>
105
- Clipboard
100
+ <uui-tab
101
+ label=${this.localize.term('blockEditor_tabClipboard')}
102
+ ?active=${this._openClipboard}
103
+ @click=${() => (this._openClipboard = true)}>
104
+ <umb-localize key=${this.localize.term('blockEditor_tabClipboard')}>Clipboard</umb-localize>
106
105
  <uui-icon slot="icon" name="icon-paste-in"></uui-icon>
107
106
  </uui-tab>
108
107
  </uui-tab-group>
@@ -125,10 +124,7 @@ UmbBlockCatalogueModalElement.styles = [
125
124
  ];
126
125
  __decorate([
127
126
  state()
128
- ], UmbBlockCatalogueModalElement.prototype, "_blocks", void 0);
129
- __decorate([
130
- state()
131
- ], UmbBlockCatalogueModalElement.prototype, "_blockGroups", void 0);
127
+ ], UmbBlockCatalogueModalElement.prototype, "_groupedBlocks", void 0);
132
128
  __decorate([
133
129
  state()
134
130
  ], UmbBlockCatalogueModalElement.prototype, "_openClipboard", void 0);
@@ -1,11 +1,8 @@
1
- import type { UmbBlockTypeBaseModel, UmbBlockWorkspaceData } from '../../../index.js';
1
+ import type { UmbBlockTypeBaseModel, UmbBlockTypeGroup, UmbBlockWorkspaceData } from '../../../index.js';
2
2
  import { UmbModalToken } from '../../../../core/modal/index.js';
3
3
  export interface UmbBlockCatalogueModalData {
4
4
  blocks: Array<UmbBlockTypeBaseModel>;
5
- blockGroups?: Array<{
6
- name: string;
7
- key: string;
8
- }>;
5
+ blockGroups?: Array<UmbBlockTypeGroup>;
9
6
  openClipboard?: boolean;
10
7
  blockOriginData: UmbBlockWorkspaceData['originData'];
11
8
  }
@@ -5,15 +5,19 @@ import type { UmbPropertyEditorConfigCollection } from '../../../../core/propert
5
5
  * @element umb-property-editor-ui-block-grid
6
6
  */
7
7
  export declare class UmbPropertyEditorUIBlockGridElement extends UmbLitElement implements UmbPropertyEditorUiElement {
8
+ #private;
8
9
  value: string;
9
- config?: UmbPropertyEditorConfigCollection;
10
- private _routes;
11
- private _routerPath;
12
- private _activePath;
13
- private _variantId?;
10
+ private _limitMin?;
11
+ private _limitMax?;
12
+ private _blocks?;
13
+ private _blockGroups?;
14
+ private _layouts;
15
+ private _catalogueRouteBuilder?;
16
+ private _directRoute?;
17
+ private _createButtonLabel;
18
+ set config(config: UmbPropertyEditorConfigCollection | undefined);
14
19
  constructor();
15
- setupRoutes(): void;
16
- render(): import("lit-html").TemplateResult<1> | "loading...";
20
+ render(): import("lit-html").TemplateResult<1>;
17
21
  static styles: import("../../../../../external/lit/index.js").CSSResult[];
18
22
  }
19
23
  export default UmbPropertyEditorUIBlockGridElement;