@umbraco-cms/backoffice 14.0.0--preview005-d06b80f2 → 14.0.0--preview005-6531679d

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 +38 -21
  7. package/dist-cms/external/marked/index.js +1 -1
  8. package/dist-cms/external/uui/index.js +455 -913
  9. package/dist-cms/mocks/browser-handlers.js +2 -0
  10. package/dist-cms/mocks/data/data-type/data-type.data.js +9 -0
  11. package/dist-cms/mocks/handlers/dynamic-root.handlers.d.ts +1 -0
  12. package/dist-cms/mocks/handlers/dynamic-root.handlers.js +12 -0
  13. package/dist-cms/packages/core/components/dropdown/dropdown.element.d.ts +3 -3
  14. package/dist-cms/packages/core/components/dropdown/dropdown.element.js +1 -1
  15. package/dist-cms/packages/core/components/input-tree-picker-source/input-tree-picker-source.element.d.ts +12 -10
  16. package/dist-cms/packages/core/components/input-tree-picker-source/input-tree-picker-source.element.js +46 -19
  17. package/dist-cms/packages/core/extension-registry/models/dynamic-root.model.d.ts +21 -0
  18. package/dist-cms/packages/core/extension-registry/models/dynamic-root.model.js +1 -0
  19. package/dist-cms/packages/core/extension-registry/models/index.d.ts +3 -1
  20. package/dist-cms/packages/core/extension-registry/models/workspace-action.model.d.ts +3 -3
  21. package/dist-cms/packages/core/property-editor/uis/tree-picker/config/source-picker/property-editor-ui-tree-picker-source-picker.element.js +3 -2
  22. 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
  23. package/dist-cms/packages/core/property-editor/uis/tree-picker/property-editor-ui-tree-picker.element.d.ts +4 -2
  24. package/dist-cms/packages/core/property-editor/uis/tree-picker/property-editor-ui-tree-picker.element.js +44 -8
  25. package/dist-cms/packages/core/tree/components/input-tree/input-tree.element.js +1 -1
  26. package/dist-cms/packages/documents/documents/components/input-document/input-document.element.d.ts +1 -0
  27. package/dist-cms/packages/documents/documents/components/input-document/input-document.element.js +6 -3
  28. package/dist-cms/packages/documents/documents/components/input-document-picker-root/input-document-picker-root.element.d.ts +7 -6
  29. package/dist-cms/packages/documents/documents/components/input-document-picker-root/input-document-picker-root.element.js +201 -63
  30. package/dist-cms/packages/dynamic-root/index.d.ts +2 -0
  31. package/dist-cms/packages/dynamic-root/index.js +2 -0
  32. package/dist-cms/packages/dynamic-root/manifests.d.ts +1 -0
  33. package/dist-cms/packages/dynamic-root/manifests.js +6 -0
  34. package/dist-cms/packages/dynamic-root/modals/dynamic-root-origin-picker-modal.element.d.ts +14 -0
  35. package/dist-cms/packages/dynamic-root/modals/dynamic-root-origin-picker-modal.element.js +105 -0
  36. package/dist-cms/packages/dynamic-root/modals/dynamic-root-query-step-picker-modal.element.d.ts +14 -0
  37. package/dist-cms/packages/dynamic-root/modals/dynamic-root-query-step-picker-modal.element.js +98 -0
  38. package/dist-cms/packages/dynamic-root/modals/index.d.ts +3 -0
  39. package/dist-cms/packages/dynamic-root/modals/index.js +14 -0
  40. package/dist-cms/packages/dynamic-root/modals/manifests.d.ts +4 -0
  41. package/dist-cms/packages/dynamic-root/modals/manifests.js +129 -0
  42. package/dist-cms/packages/dynamic-root/repository/dynamic-root.repository.d.ts +8 -0
  43. package/dist-cms/packages/dynamic-root/repository/dynamic-root.repository.js +45 -0
  44. package/dist-cms/packages/dynamic-root/repository/dynamic-root.server.data.d.ts +7 -0
  45. package/dist-cms/packages/dynamic-root/repository/dynamic-root.server.data.js +33 -0
  46. package/dist-cms/packages/dynamic-root/repository/index.d.ts +2 -0
  47. package/dist-cms/packages/dynamic-root/repository/index.js +2 -0
  48. package/dist-cms/packages/dynamic-root/repository/manifests.d.ts +2 -0
  49. package/dist-cms/packages/dynamic-root/repository/manifests.js +2 -0
  50. package/dist-cms/packages/dynamic-root/umbraco-package.d.ts +7 -0
  51. package/dist-cms/packages/dynamic-root/umbraco-package.js +9 -0
  52. package/dist-cms/packages/log-viewer/workspace/views/search/components/log-viewer-level-tag.element.d.ts +3 -3
  53. package/dist-cms/packages/user/utils.d.ts +3 -3
  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 +15 -10
  57. package/package.json +4 -3
@@ -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',
@@ -1267,12 +1267,12 @@
1267
1267
  },
1268
1268
  {
1269
1269
  "name": "look",
1270
- "type": "InterfaceLook",
1270
+ "type": "UUIInterfaceLook",
1271
1271
  "default": "\"default\""
1272
1272
  },
1273
1273
  {
1274
1274
  "name": "color",
1275
- "type": "InterfaceColor",
1275
+ "type": "UUIInterfaceColor",
1276
1276
  "default": "\"default\""
1277
1277
  },
1278
1278
  {
@@ -1310,13 +1310,13 @@
1310
1310
  {
1311
1311
  "name": "look",
1312
1312
  "attribute": "look",
1313
- "type": "InterfaceLook",
1313
+ "type": "UUIInterfaceLook",
1314
1314
  "default": "\"default\""
1315
1315
  },
1316
1316
  {
1317
1317
  "name": "color",
1318
1318
  "attribute": "color",
1319
- "type": "InterfaceColor",
1319
+ "type": "UUIInterfaceColor",
1320
1320
  "default": "\"default\""
1321
1321
  },
1322
1322
  {
@@ -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"
@@ -41,5 +41,5 @@ ${n}</blockquote>
41
41
  ${n}</tr>
42
42
  `}tablecell(n,e){const t=e.header?"th":"td";return(e.align?`<${t} align="${e.align}">`:`<${t}>`)+n+`</${t}>
43
43
  `}strong(n){return`<strong>${n}</strong>`}em(n){return`<em>${n}</em>`}codespan(n){return`<code>${n}</code>`}br(){return"<br>"}del(n){return`<del>${n}</del>`}link(n,e,t){const r=V(n);if(r===null)return t;n=r;let i='<a href="'+n+'"';return e&&(i+=' title="'+e+'"'),i+=">"+t+"</a>",i}image(n,e,t){const r=V(n);if(r===null)return t;n=r;let i=`<img src="${n}" alt="${t}"`;return e&&(i+=` title="${e}"`),i+=">",i}text(n){return n}}class q{strong(n){return n}em(n){return n}codespan(n){return n}del(n){return n}html(n){return n}text(n){return n}link(n,e,t){return""+t}image(n,e,t){return""+t}br(){return""}}class m{options;renderer;textRenderer;constructor(n){this.options=n||y,this.options.renderer=this.options.renderer||new A,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new q}static parse(n,e){return new m(e).parse(n)}static parseInline(n,e){return new m(e).parseInline(n)}parse(n,e=!0){let t="";for(let r=0;r<n.length;r++){const i=n[r];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[i.type]){const s=i,l=this.options.extensions.renderers[s.type].call({parser:this},s);if(l!==!1||!["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(s.type)){t+=l||"";continue}}switch(i.type){case"space":continue;case"hr":{t+=this.renderer.hr();continue}case"heading":{const s=i;t+=this.renderer.heading(this.parseInline(s.tokens),s.depth,ge(this.parseInline(s.tokens,this.textRenderer)));continue}case"code":{const s=i;t+=this.renderer.code(s.text,s.lang,!!s.escaped);continue}case"table":{const s=i;let l="",o="";for(let a=0;a<s.header.length;a++)o+=this.renderer.tablecell(this.parseInline(s.header[a].tokens),{header:!0,align:s.align[a]});l+=this.renderer.tablerow(o);let p="";for(let a=0;a<s.rows.length;a++){const u=s.rows[a];o="";for(let h=0;h<u.length;h++)o+=this.renderer.tablecell(this.parseInline(u[h].tokens),{header:!1,align:s.align[h]});p+=this.renderer.tablerow(o)}t+=this.renderer.table(l,p);continue}case"blockquote":{const s=i,l=this.parse(s.tokens);t+=this.renderer.blockquote(l);continue}case"list":{const s=i,l=s.ordered,o=s.start,p=s.loose;let a="";for(let u=0;u<s.items.length;u++){const h=s.items[u],g=h.checked,w=h.task;let x="";if(h.task){const $=this.renderer.checkbox(!!g);p?h.tokens.length>0&&h.tokens[0].type==="paragraph"?(h.tokens[0].text=$+" "+h.tokens[0].text,h.tokens[0].tokens&&h.tokens[0].tokens.length>0&&h.tokens[0].tokens[0].type==="text"&&(h.tokens[0].tokens[0].text=$+" "+h.tokens[0].tokens[0].text)):h.tokens.unshift({type:"text",text:$+" "}):x+=$+" "}x+=this.parse(h.tokens,p),a+=this.renderer.listitem(x,w,!!g)}t+=this.renderer.list(a,l,o);continue}case"html":{const s=i;t+=this.renderer.html(s.text,s.block);continue}case"paragraph":{const s=i;t+=this.renderer.paragraph(this.parseInline(s.tokens));continue}case"text":{let s=i,l=s.tokens?this.parseInline(s.tokens):s.text;for(;r+1<n.length&&n[r+1].type==="text";)s=n[++r],l+=`
44
- `+(s.tokens?this.parseInline(s.tokens):s.text);t+=e?this.renderer.paragraph(l):l;continue}default:{const s='Token with "'+i.type+'" type was not found.';if(this.options.silent)return console.error(s),"";throw new Error(s)}}}return t}parseInline(n,e){e=e||this.renderer;let t="";for(let r=0;r<n.length;r++){const i=n[r];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[i.type]){const s=this.options.extensions.renderers[i.type].call({parser:this},i);if(s!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(i.type)){t+=s||"";continue}}switch(i.type){case"escape":{const s=i;t+=e.text(s.text);break}case"html":{const s=i;t+=e.html(s.text);break}case"link":{const s=i;t+=e.link(s.href,s.title,this.parseInline(s.tokens,e));break}case"image":{const s=i;t+=e.image(s.href,s.title,s.text);break}case"strong":{const s=i;t+=e.strong(this.parseInline(s.tokens,e));break}case"em":{const s=i;t+=e.em(this.parseInline(s.tokens,e));break}case"codespan":{const s=i;t+=e.codespan(s.text);break}case"br":{t+=e.br();break}case"del":{const s=i;t+=e.del(this.parseInline(s.tokens,e));break}case"text":{const s=i;t+=e.text(s.text);break}default:{const s='Token with "'+i.type+'" type was not found.';if(this.options.silent)return console.error(s),"";throw new Error(s)}}}return t}}class E{options;constructor(n){this.options=n||y}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(n){return n}postprocess(n){return n}processAllTokens(n){return n}}class ce{defaults=L();options=this.setOptions;parse=this.#e(b.lex,m.parse);parseInline=this.#e(b.lexInline,m.parseInline);Parser=m;Renderer=A;TextRenderer=q;Lexer=b;Tokenizer=R;Hooks=E;constructor(...n){this.use(...n)}walkTokens(n,e){let t=[];for(const r of n)switch(t=t.concat(e.call(this,r)),r.type){case"table":{const i=r;for(const s of i.header)t=t.concat(this.walkTokens(s.tokens,e));for(const s of i.rows)for(const l of s)t=t.concat(this.walkTokens(l.tokens,e));break}case"list":{const i=r;t=t.concat(this.walkTokens(i.items,e));break}default:{const i=r;this.defaults.extensions?.childTokens?.[i.type]?this.defaults.extensions.childTokens[i.type].forEach(s=>{t=t.concat(this.walkTokens(i[s],e))}):i.tokens&&(t=t.concat(this.walkTokens(i.tokens,e)))}}return t}use(...n){const e=this.defaults.extensions||{renderers:{},childTokens:{}};return n.forEach(t=>{const r={...t};if(r.async=this.defaults.async||r.async||!1,t.extensions&&(t.extensions.forEach(i=>{if(!i.name)throw new Error("extension name required");if("renderer"in i){const s=e.renderers[i.name];s?e.renderers[i.name]=function(...l){let o=i.renderer.apply(this,l);return o===!1&&(o=s.apply(this,l)),o}:e.renderers[i.name]=i.renderer}if("tokenizer"in i){if(!i.level||i.level!=="block"&&i.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");const s=e[i.level];s?s.unshift(i.tokenizer):e[i.level]=[i.tokenizer],i.start&&(i.level==="block"?e.startBlock?e.startBlock.push(i.start):e.startBlock=[i.start]:i.level==="inline"&&(e.startInline?e.startInline.push(i.start):e.startInline=[i.start]))}"childTokens"in i&&i.childTokens&&(e.childTokens[i.name]=i.childTokens)}),r.extensions=e),t.renderer){const i=this.defaults.renderer||new A(this.defaults);for(const s in t.renderer){if(!(s in i))throw new Error(`renderer '${s}' does not exist`);if(s==="options")continue;const l=s,o=t.renderer[l],p=i[l];i[l]=(...a)=>{let u=o.apply(i,a);return u===!1&&(u=p.apply(i,a)),u||""}}r.renderer=i}if(t.tokenizer){const i=this.defaults.tokenizer||new R(this.defaults);for(const s in t.tokenizer){if(!(s in i))throw new Error(`tokenizer '${s}' does not exist`);if(["options","rules","lexer"].includes(s))continue;const l=s,o=t.tokenizer[l],p=i[l];i[l]=(...a)=>{let u=o.apply(i,a);return u===!1&&(u=p.apply(i,a)),u}}r.tokenizer=i}if(t.hooks){const i=this.defaults.hooks||new E;for(const s in t.hooks){if(!(s in i))throw new Error(`hook '${s}' does not exist`);if(s==="options")continue;const l=s,o=t.hooks[l],p=i[l];E.passThroughHooks.has(s)?i[l]=a=>{if(this.defaults.async)return Promise.resolve(o.call(i,a)).then(h=>p.call(i,h));const u=o.call(i,a);return p.call(i,u)}:i[l]=(...a)=>{let u=o.apply(i,a);return u===!1&&(u=p.apply(i,a)),u}}r.hooks=i}if(t.walkTokens){const i=this.defaults.walkTokens,s=t.walkTokens;r.walkTokens=function(l){let o=[];return o.push(s.call(this,l)),i&&(o=o.concat(i.call(this,l))),o}}this.defaults={...this.defaults,...r}}),this}setOptions(n){return this.defaults={...this.defaults,...n},this}lexer(n,e){return b.lex(n,e??this.defaults)}parser(n,e){return m.parse(n,e??this.defaults)}#e(n,e){return(t,r)=>{const i={...r},s={...this.defaults,...i};this.defaults.async===!0&&i.async===!1&&(s.silent||console.warn("marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored."),s.async=!0);const l=this.#t(!!s.silent,!!s.async);if(typeof t>"u"||t===null)return l(new Error("marked(): input parameter is undefined or null"));if(typeof t!="string")return l(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(t)+", string expected"));if(s.hooks&&(s.hooks.options=s),s.async)return Promise.resolve(s.hooks?s.hooks.preprocess(t):t).then(o=>n(o,s)).then(o=>s.hooks?s.hooks.processAllTokens(o):o).then(o=>s.walkTokens?Promise.all(this.walkTokens(o,s.walkTokens)).then(()=>o):o).then(o=>e(o,s)).then(o=>s.hooks?s.hooks.postprocess(o):o).catch(l);try{s.hooks&&(t=s.hooks.preprocess(t));let o=n(t,s);s.hooks&&(o=s.hooks.processAllTokens(o)),s.walkTokens&&this.walkTokens(o,s.walkTokens);let p=e(o,s);return s.hooks&&(p=s.hooks.postprocess(p)),p}catch(o){return l(o)}}}#t(n,e){return t=>{if(t.message+=`
44
+ `+(s.tokens?this.parseInline(s.tokens):s.text);t+=e?this.renderer.paragraph(l):l;continue}default:{const s='Token with "'+i.type+'" type was not found.';if(this.options.silent)return console.error(s),"";throw new Error(s)}}}return t}parseInline(n,e){e=e||this.renderer;let t="";for(let r=0;r<n.length;r++){const i=n[r];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[i.type]){const s=this.options.extensions.renderers[i.type].call({parser:this},i);if(s!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(i.type)){t+=s||"";continue}}switch(i.type){case"escape":{const s=i;t+=e.text(s.text);break}case"html":{const s=i;t+=e.html(s.text);break}case"link":{const s=i;t+=e.link(s.href,s.title,this.parseInline(s.tokens,e));break}case"image":{const s=i;t+=e.image(s.href,s.title,s.text);break}case"strong":{const s=i;t+=e.strong(this.parseInline(s.tokens,e));break}case"em":{const s=i;t+=e.em(this.parseInline(s.tokens,e));break}case"codespan":{const s=i;t+=e.codespan(s.text);break}case"br":{t+=e.br();break}case"del":{const s=i;t+=e.del(this.parseInline(s.tokens,e));break}case"text":{const s=i;t+=e.text(s.text);break}default:{const s='Token with "'+i.type+'" type was not found.';if(this.options.silent)return console.error(s),"";throw new Error(s)}}}return t}}class E{options;constructor(n){this.options=n||y}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(n){return n}postprocess(n){return n}processAllTokens(n){return n}}class ce{defaults=L();options=this.setOptions;parse=this.#e(b.lex,m.parse);parseInline=this.#e(b.lexInline,m.parseInline);Parser=m;Renderer=A;TextRenderer=q;Lexer=b;Tokenizer=R;Hooks=E;constructor(...n){this.use(...n)}walkTokens(n,e){let t=[];for(const r of n)switch(t=t.concat(e.call(this,r)),r.type){case"table":{const i=r;for(const s of i.header)t=t.concat(this.walkTokens(s.tokens,e));for(const s of i.rows)for(const l of s)t=t.concat(this.walkTokens(l.tokens,e));break}case"list":{const i=r;t=t.concat(this.walkTokens(i.items,e));break}default:{const i=r;this.defaults.extensions?.childTokens?.[i.type]?this.defaults.extensions.childTokens[i.type].forEach(s=>{const l=i[s].flat(1/0);t=t.concat(this.walkTokens(l,e))}):i.tokens&&(t=t.concat(this.walkTokens(i.tokens,e)))}}return t}use(...n){const e=this.defaults.extensions||{renderers:{},childTokens:{}};return n.forEach(t=>{const r={...t};if(r.async=this.defaults.async||r.async||!1,t.extensions&&(t.extensions.forEach(i=>{if(!i.name)throw new Error("extension name required");if("renderer"in i){const s=e.renderers[i.name];s?e.renderers[i.name]=function(...l){let o=i.renderer.apply(this,l);return o===!1&&(o=s.apply(this,l)),o}:e.renderers[i.name]=i.renderer}if("tokenizer"in i){if(!i.level||i.level!=="block"&&i.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");const s=e[i.level];s?s.unshift(i.tokenizer):e[i.level]=[i.tokenizer],i.start&&(i.level==="block"?e.startBlock?e.startBlock.push(i.start):e.startBlock=[i.start]:i.level==="inline"&&(e.startInline?e.startInline.push(i.start):e.startInline=[i.start]))}"childTokens"in i&&i.childTokens&&(e.childTokens[i.name]=i.childTokens)}),r.extensions=e),t.renderer){const i=this.defaults.renderer||new A(this.defaults);for(const s in t.renderer){if(!(s in i))throw new Error(`renderer '${s}' does not exist`);if(s==="options")continue;const l=s,o=t.renderer[l],p=i[l];i[l]=(...a)=>{let u=o.apply(i,a);return u===!1&&(u=p.apply(i,a)),u||""}}r.renderer=i}if(t.tokenizer){const i=this.defaults.tokenizer||new R(this.defaults);for(const s in t.tokenizer){if(!(s in i))throw new Error(`tokenizer '${s}' does not exist`);if(["options","rules","lexer"].includes(s))continue;const l=s,o=t.tokenizer[l],p=i[l];i[l]=(...a)=>{let u=o.apply(i,a);return u===!1&&(u=p.apply(i,a)),u}}r.tokenizer=i}if(t.hooks){const i=this.defaults.hooks||new E;for(const s in t.hooks){if(!(s in i))throw new Error(`hook '${s}' does not exist`);if(s==="options")continue;const l=s,o=t.hooks[l],p=i[l];E.passThroughHooks.has(s)?i[l]=a=>{if(this.defaults.async)return Promise.resolve(o.call(i,a)).then(h=>p.call(i,h));const u=o.call(i,a);return p.call(i,u)}:i[l]=(...a)=>{let u=o.apply(i,a);return u===!1&&(u=p.apply(i,a)),u}}r.hooks=i}if(t.walkTokens){const i=this.defaults.walkTokens,s=t.walkTokens;r.walkTokens=function(l){let o=[];return o.push(s.call(this,l)),i&&(o=o.concat(i.call(this,l))),o}}this.defaults={...this.defaults,...r}}),this}setOptions(n){return this.defaults={...this.defaults,...n},this}lexer(n,e){return b.lex(n,e??this.defaults)}parser(n,e){return m.parse(n,e??this.defaults)}#e(n,e){return(t,r)=>{const i={...r},s={...this.defaults,...i};this.defaults.async===!0&&i.async===!1&&(s.silent||console.warn("marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored."),s.async=!0);const l=this.#t(!!s.silent,!!s.async);if(typeof t>"u"||t===null)return l(new Error("marked(): input parameter is undefined or null"));if(typeof t!="string")return l(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(t)+", string expected"));if(s.hooks&&(s.hooks.options=s),s.async)return Promise.resolve(s.hooks?s.hooks.preprocess(t):t).then(o=>n(o,s)).then(o=>s.hooks?s.hooks.processAllTokens(o):o).then(o=>s.walkTokens?Promise.all(this.walkTokens(o,s.walkTokens)).then(()=>o):o).then(o=>e(o,s)).then(o=>s.hooks?s.hooks.postprocess(o):o).catch(l);try{s.hooks&&(t=s.hooks.preprocess(t));let o=n(t,s);s.hooks&&(o=s.hooks.processAllTokens(o)),s.walkTokens&&this.walkTokens(o,s.walkTokens);let p=e(o,s);return s.hooks&&(p=s.hooks.postprocess(p)),p}catch(o){return l(o)}}}#t(n,e){return t=>{if(t.message+=`
45
45
  Please report this to https://github.com/markedjs/marked.`,n){const r="<p>An error occurred:</p><pre>"+d(t.message+"",!0)+"</pre>";return e?Promise.resolve(r):r}if(e)return Promise.reject(t);throw t}}}const T=new ce;function f(c,n){return T.parse(c,n)}f.options=f.setOptions=function(c){return T.setOptions(c),f.defaults=T.defaults,G(f.defaults),f},f.getDefaults=L,f.defaults=y,f.use=function(...c){return T.use(...c),f.defaults=T.defaults,G(f.defaults),f},f.walkTokens=function(c,n){return T.walkTokens(c,n)},f.parseInline=T.parseInline,f.Parser=m,f.parser=m.parse,f.Renderer=A,f.TextRenderer=q,f.Lexer=b,f.lexer=b.lex,f.Tokenizer=R,f.Hooks=E,f.parse=f;const Ne=f.options,Fe=f.setOptions,Ue=f.use,Xe=f.walkTokens,Ge=f.parseInline,We=f,Je=m.parse,Ke=b.lex;export{E as Hooks,b as Lexer,ce as Marked,m as Parser,A as Renderer,q as TextRenderer,R as Tokenizer,y as defaults,L as getDefaults,Ke as lexer,f as marked,Ne as options,We as parse,Ge as parseInline,Je as parser,Fe as setOptions,Ue as use,Xe as walkTokens};