@umbraco-cms/backoffice 15.3.1 → 15.4.0-rc2

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 (1506) hide show
  1. package/dist-cms/apps/app/app-logo.element.d.ts +25 -2
  2. package/dist-cms/apps/app/app-logo.element.js +44 -5
  3. package/dist-cms/apps/backoffice/backoffice.context.js +10 -12
  4. package/dist-cms/apps/backoffice/components/backoffice-header-logo.element.d.ts +10 -1
  5. package/dist-cms/apps/backoffice/components/backoffice-header-logo.element.js +28 -24
  6. package/dist-cms/apps/backoffice/components/backoffice-main.element.d.ts +0 -1
  7. package/dist-cms/apps/backoffice/components/backoffice-main.element.js +21 -41
  8. package/dist-cms/apps/installer/installer.context.d.ts +4 -2
  9. package/dist-cms/apps/installer/installer.context.js +4 -2
  10. package/dist-cms/apps/installer/installer.element.d.ts +0 -1
  11. package/dist-cms/apps/installer/installer.element.js +3 -4
  12. package/dist-cms/apps/installer/shared/layout/installer-layout.element.js +2 -1
  13. package/dist-cms/apps/installer/shared/utils.story-helpers.d.ts +2 -1
  14. package/dist-cms/apps/installer/shared/utils.story-helpers.js +6 -5
  15. package/dist-cms/apps/preview/apps/preview-culture.element.d.ts +1 -2
  16. package/dist-cms/apps/preview/apps/preview-culture.element.js +1 -2
  17. package/dist-cms/apps/preview/apps/preview-device.element.d.ts +1 -2
  18. package/dist-cms/apps/preview/apps/preview-device.element.js +1 -2
  19. package/dist-cms/apps/preview/apps/preview-exit.element.d.ts +1 -2
  20. package/dist-cms/apps/preview/apps/preview-exit.element.js +1 -2
  21. package/dist-cms/apps/preview/apps/preview-open-website.element.d.ts +1 -2
  22. package/dist-cms/apps/preview/apps/preview-open-website.element.js +1 -2
  23. package/dist-cms/apps/preview/preview.element.d.ts +1 -2
  24. package/dist-cms/apps/preview/preview.element.js +2 -3
  25. package/dist-cms/assets/lang/da-dk.js +4 -2
  26. package/dist-cms/assets/lang/da-dk.ts +6 -3
  27. package/dist-cms/assets/lang/en-us.js +14 -22
  28. package/dist-cms/assets/lang/en-us.ts +16 -23
  29. package/dist-cms/assets/lang/en.js +38 -15
  30. package/dist-cms/assets/lang/en.ts +41 -15
  31. package/dist-cms/css/dark.theme.css +4 -3
  32. package/dist-cms/css/rte-content.css +35 -30
  33. package/dist-cms/css/umb-css.css +5 -4
  34. package/dist-cms/css/uui-css.css +16 -11
  35. package/dist-cms/custom-elements.json +850 -232
  36. package/dist-cms/external/backend-api/index.js +1 -1
  37. package/dist-cms/external/backend-api/src/sdk.gen.d.ts +80 -2
  38. package/dist-cms/external/backend-api/src/types.gen.d.ts +96 -2
  39. package/dist-cms/external/monaco-editor/{cssMode-CUXEefSS.js → cssMode-DjRnuiTr.js} +1 -1
  40. package/dist-cms/external/monaco-editor/{freemarker2-DzwWvbKB.js → freemarker2-Dp4p3Na1.js} +1 -1
  41. package/dist-cms/external/monaco-editor/{handlebars-CemuYN_Z.js → handlebars-DdY5RWZd.js} +1 -1
  42. package/dist-cms/external/monaco-editor/{html-D4e50Vly.js → html-B73s0s80.js} +1 -1
  43. package/dist-cms/external/monaco-editor/{htmlMode-CgKTZMjM.js → htmlMode-BquRbSmq.js} +1 -1
  44. package/dist-cms/external/monaco-editor/{index-Def4N_V2.js → index-Bitfnghs.js} +18 -18
  45. package/dist-cms/external/monaco-editor/index.js +1 -1
  46. package/dist-cms/external/monaco-editor/{javascript-yQGGFsNP.js → javascript-0jCgtH1R.js} +1 -1
  47. package/dist-cms/external/monaco-editor/{jsonMode-8iHkAe7E.js → jsonMode-BUd-a1bE.js} +1 -1
  48. package/dist-cms/external/monaco-editor/{liquid-DGgcY_1I.js → liquid-DmXgvR3v.js} +1 -1
  49. package/dist-cms/external/monaco-editor/{mdx-DqMkUct3.js → mdx-CKY_Nyrz.js} +1 -1
  50. package/dist-cms/external/monaco-editor/{python-CCzWdJbb.js → python-D96lqhAh.js} +1 -1
  51. package/dist-cms/external/monaco-editor/{razor-CI9Hqcx_.js → razor-CRpUW7sE.js} +1 -1
  52. package/dist-cms/external/monaco-editor/{tsMode-BtpWVR7g.js → tsMode-DlQAxy2q.js} +1 -1
  53. package/dist-cms/external/monaco-editor/{typescript-M3dWBSCy.js → typescript-DdXNNvCJ.js} +1 -1
  54. package/dist-cms/external/monaco-editor/{xml-DQw1AQuz.js → xml-4KavmXJO.js} +1 -1
  55. package/dist-cms/external/monaco-editor/{yaml-Ds0726bJ.js → yaml-mC045hap.js} +1 -1
  56. package/dist-cms/external/router-slot/index.js +1 -1
  57. package/dist-cms/external/router-slot/model.d.ts +1 -0
  58. package/dist-cms/external/tinymce/index.d.ts +3 -0
  59. package/dist-cms/external/tiptap/extensions/tiptap-anchor.extension.d.ts +2 -0
  60. package/dist-cms/external/tiptap/extensions/tiptap-html-global-attributes.extension.d.ts +10 -0
  61. package/dist-cms/external/tiptap/extensions/tiptap-text-indent-extension.d.ts +15 -0
  62. package/dist-cms/external/tiptap/extensions/tiptap-umb-bubble-menu.extension.d.ts +23 -0
  63. package/dist-cms/external/tiptap/extensions/tiptap-umb-table.extension.d.ts +11 -13
  64. package/dist-cms/external/tiptap/index.d.ts +4 -0
  65. package/dist-cms/external/tiptap/index.js +19 -19
  66. package/dist-cms/external/uui/index.js +548 -431
  67. package/dist-cms/json-schema/umbraco-package-schema.d.ts +7 -1
  68. package/dist-cms/json-schema/umbraco-package-schema.js +1 -1
  69. package/dist-cms/libs/context-api/provide/context-provider.js +1 -1
  70. package/dist-cms/libs/extension-api/registry/extension.registry.d.ts +47 -20
  71. package/dist-cms/libs/extension-api/registry/extension.registry.js +97 -49
  72. package/dist-cms/libs/localization-api/localization.controller.js +3 -7
  73. package/dist-cms/libs/observable-api/utils/json-string-comparison.function.js +1 -1
  74. package/dist-cms/mocks/data/data-type/data-type.data.js +33 -13
  75. package/dist-cms/mocks/data/document/data/permissions-test.data.d.ts +2 -0
  76. package/dist-cms/mocks/data/document/data/permissions-test.data.js +126 -0
  77. package/dist-cms/mocks/data/document/document.data.js +11 -1
  78. package/dist-cms/mocks/data/document/document.db.js +14 -0
  79. package/dist-cms/mocks/data/document-blueprint/document-blueprint.data.d.ts +2 -3
  80. package/dist-cms/mocks/data/document-blueprint/document-blueprint.data.js +3 -13
  81. package/dist-cms/mocks/data/document-blueprint/document-blueprint.db.d.ts +0 -1
  82. package/dist-cms/mocks/data/document-blueprint/document-blueprint.db.js +7 -20
  83. package/dist-cms/mocks/data/stylesheet/stylesheet.data.js +43 -47
  84. package/dist-cms/mocks/data/tracked-reference.data.d.ts +2 -2
  85. package/dist-cms/mocks/data/tracked-reference.data.js +5 -0
  86. package/dist-cms/mocks/data/user-group/user-group.data.js +23 -1
  87. package/dist-cms/mocks/handlers/backoffice/backoffice.handlers.js +5 -0
  88. package/dist-cms/monaco-editor/vs/base/browser/browser.js +54 -0
  89. package/dist-cms/monaco-editor/vs/base/browser/canIUse.js +32 -0
  90. package/dist-cms/monaco-editor/vs/base/browser/contextmenu.js +5 -0
  91. package/dist-cms/monaco-editor/vs/base/browser/defaultWorkerFactory.js +195 -0
  92. package/dist-cms/monaco-editor/vs/base/browser/dnd.js +26 -0
  93. package/dist-cms/monaco-editor/vs/base/browser/dom.js +1525 -0
  94. package/dist-cms/monaco-editor/vs/base/browser/domObservable.js +15 -0
  95. package/dist-cms/monaco-editor/vs/base/browser/dompurify/dompurify.js +1569 -0
  96. package/dist-cms/monaco-editor/vs/base/browser/event.js +20 -0
  97. package/dist-cms/monaco-editor/vs/base/browser/fastDomNode.js +250 -0
  98. package/dist-cms/monaco-editor/vs/base/browser/fonts.js +14 -0
  99. package/dist-cms/monaco-editor/vs/base/browser/formattedTextRenderer.js +167 -0
  100. package/dist-cms/monaco-editor/vs/base/browser/globalPointerMoveMonitor.js +80 -0
  101. package/dist-cms/monaco-editor/vs/base/browser/history.js +5 -0
  102. package/dist-cms/monaco-editor/vs/base/browser/iframe.js +85 -0
  103. package/dist-cms/monaco-editor/vs/base/browser/keyboardEvent.js +122 -0
  104. package/dist-cms/monaco-editor/vs/base/browser/markdownRenderer.js +814 -0
  105. package/dist-cms/monaco-editor/vs/base/browser/mouseEvent.js +146 -0
  106. package/dist-cms/monaco-editor/vs/base/browser/performance.js +220 -0
  107. package/dist-cms/monaco-editor/vs/base/browser/pixelRatio.js +85 -0
  108. package/dist-cms/monaco-editor/vs/base/browser/touch.js +268 -0
  109. package/dist-cms/monaco-editor/vs/base/browser/trustedTypes.js +24 -0
  110. package/dist-cms/monaco-editor/vs/base/browser/ui/actionbar/actionViewItems.js +373 -0
  111. package/dist-cms/monaco-editor/vs/base/browser/ui/actionbar/actionbar.css +117 -0
  112. package/dist-cms/monaco-editor/vs/base/browser/ui/actionbar/actionbar.js +417 -0
  113. package/dist-cms/monaco-editor/vs/base/browser/ui/aria/aria.css +9 -0
  114. package/dist-cms/monaco-editor/vs/base/browser/ui/aria/aria.js +81 -0
  115. package/dist-cms/monaco-editor/vs/base/browser/ui/breadcrumbs/breadcrumbsWidget.css +36 -0
  116. package/dist-cms/monaco-editor/vs/base/browser/ui/breadcrumbs/breadcrumbsWidget.js +1 -0
  117. package/dist-cms/monaco-editor/vs/base/browser/ui/button/button.css +174 -0
  118. package/dist-cms/monaco-editor/vs/base/browser/ui/button/button.js +215 -0
  119. package/dist-cms/monaco-editor/vs/base/browser/ui/codicons/codicon/codicon-modifiers.css +33 -0
  120. package/dist-cms/monaco-editor/vs/base/browser/ui/codicons/codicon/codicon.css +25 -0
  121. package/dist-cms/monaco-editor/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
  122. package/dist-cms/monaco-editor/vs/base/browser/ui/codicons/codiconStyles.js +6 -0
  123. package/dist-cms/monaco-editor/vs/base/browser/ui/contextview/contextview.css +16 -0
  124. package/dist-cms/monaco-editor/vs/base/browser/ui/contextview/contextview.js +292 -0
  125. package/dist-cms/monaco-editor/vs/base/browser/ui/countBadge/countBadge.css +24 -0
  126. package/dist-cms/monaco-editor/vs/base/browser/ui/countBadge/countBadge.js +35 -0
  127. package/dist-cms/monaco-editor/vs/base/browser/ui/dialog/dialog.css +155 -0
  128. package/dist-cms/monaco-editor/vs/base/browser/ui/dialog/dialog.js +1 -0
  129. package/dist-cms/monaco-editor/vs/base/browser/ui/dropdown/dropdown.css +46 -0
  130. package/dist-cms/monaco-editor/vs/base/browser/ui/dropdown/dropdown.js +139 -0
  131. package/dist-cms/monaco-editor/vs/base/browser/ui/dropdown/dropdownActionViewItem.js +107 -0
  132. package/dist-cms/monaco-editor/vs/base/browser/ui/findinput/findInput.css +70 -0
  133. package/dist-cms/monaco-editor/vs/base/browser/ui/findinput/findInput.js +293 -0
  134. package/dist-cms/monaco-editor/vs/base/browser/ui/findinput/findInputToggles.js +50 -0
  135. package/dist-cms/monaco-editor/vs/base/browser/ui/findinput/replaceInput.js +173 -0
  136. package/dist-cms/monaco-editor/vs/base/browser/ui/highlightedlabel/highlightedLabel.js +133 -0
  137. package/dist-cms/monaco-editor/vs/base/browser/ui/hover/hover.js +6 -0
  138. package/dist-cms/monaco-editor/vs/base/browser/ui/hover/hoverDelegate.js +5 -0
  139. package/dist-cms/monaco-editor/vs/base/browser/ui/hover/hoverDelegate2.js +27 -0
  140. package/dist-cms/monaco-editor/vs/base/browser/ui/hover/hoverDelegateFactory.js +31 -0
  141. package/dist-cms/monaco-editor/vs/base/browser/ui/hover/hoverWidget.css +192 -0
  142. package/dist-cms/monaco-editor/vs/base/browser/ui/hover/hoverWidget.js +87 -0
  143. package/dist-cms/monaco-editor/vs/base/browser/ui/iconLabel/iconLabel.js +281 -0
  144. package/dist-cms/monaco-editor/vs/base/browser/ui/iconLabel/iconLabels.js +30 -0
  145. package/dist-cms/monaco-editor/vs/base/browser/ui/iconLabel/iconlabel.css +120 -0
  146. package/dist-cms/monaco-editor/vs/base/browser/ui/inputbox/inputBox.css +107 -0
  147. package/dist-cms/monaco-editor/vs/base/browser/ui/inputbox/inputBox.js +517 -0
  148. package/dist-cms/monaco-editor/vs/base/browser/ui/keybindingLabel/keybindingLabel.css +37 -0
  149. package/dist-cms/monaco-editor/vs/base/browser/ui/keybindingLabel/keybindingLabel.js +122 -0
  150. package/dist-cms/monaco-editor/vs/base/browser/ui/list/list.css +91 -0
  151. package/dist-cms/monaco-editor/vs/base/browser/ui/list/list.js +9 -0
  152. package/dist-cms/monaco-editor/vs/base/browser/ui/list/listPaging.js +121 -0
  153. package/dist-cms/monaco-editor/vs/base/browser/ui/list/listView.js +1073 -0
  154. package/dist-cms/monaco-editor/vs/base/browser/ui/list/listWidget.js +1528 -0
  155. package/dist-cms/monaco-editor/vs/base/browser/ui/list/rangeMap.js +158 -0
  156. package/dist-cms/monaco-editor/vs/base/browser/ui/list/rowCache.js +107 -0
  157. package/dist-cms/monaco-editor/vs/base/browser/ui/list/splice.js +12 -0
  158. package/dist-cms/monaco-editor/vs/base/browser/ui/menu/menu.js +1139 -0
  159. package/dist-cms/monaco-editor/vs/base/browser/ui/mouseCursor/mouseCursor.css +8 -0
  160. package/dist-cms/monaco-editor/vs/base/browser/ui/mouseCursor/mouseCursor.js +6 -0
  161. package/dist-cms/monaco-editor/vs/base/browser/ui/progressbar/progressbar.css +61 -0
  162. package/dist-cms/monaco-editor/vs/base/browser/ui/progressbar/progressbar.js +102 -0
  163. package/dist-cms/monaco-editor/vs/base/browser/ui/radio/radio.css +69 -0
  164. package/dist-cms/monaco-editor/vs/base/browser/ui/radio/radio.js +1 -0
  165. package/dist-cms/monaco-editor/vs/base/browser/ui/resizable/resizable.js +147 -0
  166. package/dist-cms/monaco-editor/vs/base/browser/ui/sash/sash.css +149 -0
  167. package/dist-cms/monaco-editor/vs/base/browser/ui/sash/sash.js +448 -0
  168. package/dist-cms/monaco-editor/vs/base/browser/ui/scrollbar/abstractScrollbar.js +207 -0
  169. package/dist-cms/monaco-editor/vs/base/browser/ui/scrollbar/horizontalScrollbar.js +88 -0
  170. package/dist-cms/monaco-editor/vs/base/browser/ui/scrollbar/media/scrollbars.css +72 -0
  171. package/dist-cms/monaco-editor/vs/base/browser/ui/scrollbar/scrollableElement.js +554 -0
  172. package/dist-cms/monaco-editor/vs/base/browser/ui/scrollbar/scrollableElementOptions.js +5 -0
  173. package/dist-cms/monaco-editor/vs/base/browser/ui/scrollbar/scrollbarArrow.js +75 -0
  174. package/dist-cms/monaco-editor/vs/base/browser/ui/scrollbar/scrollbarState.js +161 -0
  175. package/dist-cms/monaco-editor/vs/base/browser/ui/scrollbar/scrollbarVisibilityController.js +90 -0
  176. package/dist-cms/monaco-editor/vs/base/browser/ui/scrollbar/verticalScrollbar.js +91 -0
  177. package/dist-cms/monaco-editor/vs/base/browser/ui/selectBox/selectBox.css +34 -0
  178. package/dist-cms/monaco-editor/vs/base/browser/ui/selectBox/selectBox.js +44 -0
  179. package/dist-cms/monaco-editor/vs/base/browser/ui/selectBox/selectBoxCustom.css +126 -0
  180. package/dist-cms/monaco-editor/vs/base/browser/ui/selectBox/selectBoxCustom.js +849 -0
  181. package/dist-cms/monaco-editor/vs/base/browser/ui/selectBox/selectBoxNative.js +139 -0
  182. package/dist-cms/monaco-editor/vs/base/browser/ui/splitview/splitview.css +70 -0
  183. package/dist-cms/monaco-editor/vs/base/browser/ui/splitview/splitview.js +826 -0
  184. package/dist-cms/monaco-editor/vs/base/browser/ui/table/table.css +57 -0
  185. package/dist-cms/monaco-editor/vs/base/browser/ui/table/table.js +5 -0
  186. package/dist-cms/monaco-editor/vs/base/browser/ui/table/tableWidget.js +177 -0
  187. package/dist-cms/monaco-editor/vs/base/browser/ui/toggle/toggle.css +74 -0
  188. package/dist-cms/monaco-editor/vs/base/browser/ui/toggle/toggle.js +96 -0
  189. package/dist-cms/monaco-editor/vs/base/browser/ui/toolbar/toolbar.css +13 -0
  190. package/dist-cms/monaco-editor/vs/base/browser/ui/toolbar/toolbar.js +139 -0
  191. package/dist-cms/monaco-editor/vs/base/browser/ui/tree/abstractTree.js +2094 -0
  192. package/dist-cms/monaco-editor/vs/base/browser/ui/tree/asyncDataTree.js +845 -0
  193. package/dist-cms/monaco-editor/vs/base/browser/ui/tree/compressedObjectTreeModel.js +371 -0
  194. package/dist-cms/monaco-editor/vs/base/browser/ui/tree/dataTree.js +17 -0
  195. package/dist-cms/monaco-editor/vs/base/browser/ui/tree/indexTreeModel.js +534 -0
  196. package/dist-cms/monaco-editor/vs/base/browser/ui/tree/media/tree.css +174 -0
  197. package/dist-cms/monaco-editor/vs/base/browser/ui/tree/objectTree.js +201 -0
  198. package/dist-cms/monaco-editor/vs/base/browser/ui/tree/objectTreeModel.js +196 -0
  199. package/dist-cms/monaco-editor/vs/base/browser/ui/tree/tree.js +43 -0
  200. package/dist-cms/monaco-editor/vs/base/browser/ui/widget.js +41 -0
  201. package/dist-cms/monaco-editor/vs/base/browser/window.js +14 -0
  202. package/dist-cms/monaco-editor/vs/base/common/actions.js +174 -0
  203. package/dist-cms/monaco-editor/vs/base/common/arrays.js +501 -0
  204. package/dist-cms/monaco-editor/vs/base/common/arraysFind.js +175 -0
  205. package/dist-cms/monaco-editor/vs/base/common/assert.js +59 -0
  206. package/dist-cms/monaco-editor/vs/base/common/async.js +843 -0
  207. package/dist-cms/monaco-editor/vs/base/common/buffer.js +68 -0
  208. package/dist-cms/monaco-editor/vs/base/common/cache.js +59 -0
  209. package/dist-cms/monaco-editor/vs/base/common/cancellation.js +113 -0
  210. package/dist-cms/monaco-editor/vs/base/common/charCode.js +5 -0
  211. package/dist-cms/monaco-editor/vs/base/common/codicons.js +47 -0
  212. package/dist-cms/monaco-editor/vs/base/common/codiconsLibrary.js +580 -0
  213. package/dist-cms/monaco-editor/vs/base/common/codiconsUtil.js +19 -0
  214. package/dist-cms/monaco-editor/vs/base/common/collections.js +35 -0
  215. package/dist-cms/monaco-editor/vs/base/common/color.js +462 -0
  216. package/dist-cms/monaco-editor/vs/base/common/comparers.js +83 -0
  217. package/dist-cms/monaco-editor/vs/base/common/dataTransfer.js +128 -0
  218. package/dist-cms/monaco-editor/vs/base/common/decorators.js +30 -0
  219. package/dist-cms/monaco-editor/vs/base/common/diff/diff.js +899 -0
  220. package/dist-cms/monaco-editor/vs/base/common/diff/diffChange.js +32 -0
  221. package/dist-cms/monaco-editor/vs/base/common/equals.js +82 -0
  222. package/dist-cms/monaco-editor/vs/base/common/errorMessage.js +68 -0
  223. package/dist-cms/monaco-editor/vs/base/common/errors.js +150 -0
  224. package/dist-cms/monaco-editor/vs/base/common/event.js +1280 -0
  225. package/dist-cms/monaco-editor/vs/base/common/extpath.js +144 -0
  226. package/dist-cms/monaco-editor/vs/base/common/filters.js +769 -0
  227. package/dist-cms/monaco-editor/vs/base/common/functional.js +30 -0
  228. package/dist-cms/monaco-editor/vs/base/common/fuzzyScorer.js +138 -0
  229. package/dist-cms/monaco-editor/vs/base/common/glob.js +568 -0
  230. package/dist-cms/monaco-editor/vs/base/common/hash.js +258 -0
  231. package/dist-cms/monaco-editor/vs/base/common/hierarchicalKind.js +24 -0
  232. package/dist-cms/monaco-editor/vs/base/common/history.js +73 -0
  233. package/dist-cms/monaco-editor/vs/base/common/hotReload.js +81 -0
  234. package/dist-cms/monaco-editor/vs/base/common/hotReloadHelpers.js +24 -0
  235. package/dist-cms/monaco-editor/vs/base/common/htmlContent.js +149 -0
  236. package/dist-cms/monaco-editor/vs/base/common/iconLabels.js +85 -0
  237. package/dist-cms/monaco-editor/vs/base/common/idGenerator.js +14 -0
  238. package/dist-cms/monaco-editor/vs/base/common/ime.js +30 -0
  239. package/dist-cms/monaco-editor/vs/base/common/iterator.js +148 -0
  240. package/dist-cms/monaco-editor/vs/base/common/jsonSchema.js +5 -0
  241. package/dist-cms/monaco-editor/vs/base/common/keyCodes.js +372 -0
  242. package/dist-cms/monaco-editor/vs/base/common/keybindingLabels.js +136 -0
  243. package/dist-cms/monaco-editor/vs/base/common/keybindings.js +123 -0
  244. package/dist-cms/monaco-editor/vs/base/common/labels.js +9 -0
  245. package/dist-cms/monaco-editor/vs/base/common/lazy.js +37 -0
  246. package/dist-cms/monaco-editor/vs/base/common/lifecycle.js +355 -0
  247. package/dist-cms/monaco-editor/vs/base/common/linkedList.js +124 -0
  248. package/dist-cms/monaco-editor/vs/base/common/linkedText.js +45 -0
  249. package/dist-cms/monaco-editor/vs/base/common/map.js +573 -0
  250. package/dist-cms/monaco-editor/vs/base/common/marked/marked.js +2538 -0
  251. package/dist-cms/monaco-editor/vs/base/common/marshalling.js +55 -0
  252. package/dist-cms/monaco-editor/vs/base/common/marshallingIds.js +5 -0
  253. package/dist-cms/monaco-editor/vs/base/common/mime.js +8 -0
  254. package/dist-cms/monaco-editor/vs/base/common/naturalLanguage/korean.js +319 -0
  255. package/dist-cms/monaco-editor/vs/base/common/navigator.js +34 -0
  256. package/dist-cms/monaco-editor/vs/base/common/network.js +277 -0
  257. package/dist-cms/monaco-editor/vs/base/common/numbers.js +47 -0
  258. package/dist-cms/monaco-editor/vs/base/common/objects.js +179 -0
  259. package/dist-cms/monaco-editor/vs/base/common/observable.js +16 -0
  260. package/dist-cms/monaco-editor/vs/base/common/observableInternal/api.js +14 -0
  261. package/dist-cms/monaco-editor/vs/base/common/observableInternal/autorun.js +192 -0
  262. package/dist-cms/monaco-editor/vs/base/common/observableInternal/base.js +268 -0
  263. package/dist-cms/monaco-editor/vs/base/common/observableInternal/debugName.js +104 -0
  264. package/dist-cms/monaco-editor/vs/base/common/observableInternal/derived.js +286 -0
  265. package/dist-cms/monaco-editor/vs/base/common/observableInternal/lazyObservableValue.js +118 -0
  266. package/dist-cms/monaco-editor/vs/base/common/observableInternal/logging.js +258 -0
  267. package/dist-cms/monaco-editor/vs/base/common/observableInternal/promise.js +105 -0
  268. package/dist-cms/monaco-editor/vs/base/common/observableInternal/utils.js +366 -0
  269. package/dist-cms/monaco-editor/vs/base/common/path.js +1399 -0
  270. package/dist-cms/monaco-editor/vs/base/common/platform.js +153 -0
  271. package/dist-cms/monaco-editor/vs/base/common/process.js +58 -0
  272. package/dist-cms/monaco-editor/vs/base/common/range.js +44 -0
  273. package/dist-cms/monaco-editor/vs/base/common/resources.js +256 -0
  274. package/dist-cms/monaco-editor/vs/base/common/scrollable.js +320 -0
  275. package/dist-cms/monaco-editor/vs/base/common/search.js +49 -0
  276. package/dist-cms/monaco-editor/vs/base/common/sequence.js +1 -0
  277. package/dist-cms/monaco-editor/vs/base/common/severity.js +49 -0
  278. package/dist-cms/monaco-editor/vs/base/common/stopwatch.js +28 -0
  279. package/dist-cms/monaco-editor/vs/base/common/strings.js +840 -0
  280. package/dist-cms/monaco-editor/vs/base/common/symbols.js +8 -0
  281. package/dist-cms/monaco-editor/vs/base/common/ternarySearchTree.js +618 -0
  282. package/dist-cms/monaco-editor/vs/base/common/tfIdf.js +177 -0
  283. package/dist-cms/monaco-editor/vs/base/common/themables.js +83 -0
  284. package/dist-cms/monaco-editor/vs/base/common/types.js +119 -0
  285. package/dist-cms/monaco-editor/vs/base/common/uint.js +22 -0
  286. package/dist-cms/monaco-editor/vs/base/common/uri.js +602 -0
  287. package/dist-cms/monaco-editor/vs/base/common/uuid.js +56 -0
  288. package/dist-cms/monaco-editor/vs/base/common/worker/simpleWorker.js +461 -0
  289. package/dist-cms/monaco-editor/vs/base/parts/storage/common/storage.js +182 -0
  290. package/dist-cms/monaco-editor/vs/editor/common/commands/replaceCommand.js +82 -0
  291. package/dist-cms/monaco-editor/vs/editor/common/commands/shiftCommand.js +239 -0
  292. package/dist-cms/monaco-editor/vs/editor/common/commands/surroundSelectionCommand.js +41 -0
  293. package/dist-cms/monaco-editor/vs/editor/common/commands/trimTrailingWhitespaceCommand.js +95 -0
  294. package/dist-cms/monaco-editor/vs/editor/common/config/diffEditor.js +37 -0
  295. package/dist-cms/monaco-editor/vs/editor/common/config/editorConfiguration.js +5 -0
  296. package/dist-cms/monaco-editor/vs/editor/common/config/editorConfigurationSchema.js +300 -0
  297. package/dist-cms/monaco-editor/vs/editor/common/config/editorOptions.js +3146 -0
  298. package/dist-cms/monaco-editor/vs/editor/common/config/editorZoom.js +23 -0
  299. package/dist-cms/monaco-editor/vs/editor/common/config/fontInfo.js +153 -0
  300. package/dist-cms/monaco-editor/vs/editor/common/core/characterClassifier.js +56 -0
  301. package/dist-cms/monaco-editor/vs/editor/common/core/cursorColumns.js +109 -0
  302. package/dist-cms/monaco-editor/vs/editor/common/core/dimension.js +5 -0
  303. package/dist-cms/monaco-editor/vs/editor/common/core/editOperation.js +33 -0
  304. package/dist-cms/monaco-editor/vs/editor/common/core/editorColorRegistry.js +89 -0
  305. package/dist-cms/monaco-editor/vs/editor/common/core/eolCounter.js +42 -0
  306. package/dist-cms/monaco-editor/vs/editor/common/core/indentation.js +36 -0
  307. package/dist-cms/monaco-editor/vs/editor/common/core/lineRange.js +304 -0
  308. package/dist-cms/monaco-editor/vs/editor/common/core/offsetRange.js +193 -0
  309. package/dist-cms/monaco-editor/vs/editor/common/core/position.js +140 -0
  310. package/dist-cms/monaco-editor/vs/editor/common/core/positionToOffset.js +24 -0
  311. package/dist-cms/monaco-editor/vs/editor/common/core/range.js +400 -0
  312. package/dist-cms/monaco-editor/vs/editor/common/core/rgba.js +33 -0
  313. package/dist-cms/monaco-editor/vs/editor/common/core/selection.js +142 -0
  314. package/dist-cms/monaco-editor/vs/editor/common/core/stringBuilder.js +119 -0
  315. package/dist-cms/monaco-editor/vs/editor/common/core/textChange.js +245 -0
  316. package/dist-cms/monaco-editor/vs/editor/common/core/textEdit.js +98 -0
  317. package/dist-cms/monaco-editor/vs/editor/common/core/textLength.js +66 -0
  318. package/dist-cms/monaco-editor/vs/editor/common/core/textModelDefaults.js +16 -0
  319. package/dist-cms/monaco-editor/vs/editor/common/core/wordCharacterClassifier.js +83 -0
  320. package/dist-cms/monaco-editor/vs/editor/common/core/wordHelper.js +124 -0
  321. package/dist-cms/monaco-editor/vs/editor/common/cursor/cursor.js +883 -0
  322. package/dist-cms/monaco-editor/vs/editor/common/cursor/cursorAtomicMoveOperations.js +142 -0
  323. package/dist-cms/monaco-editor/vs/editor/common/cursor/cursorCollection.js +191 -0
  324. package/dist-cms/monaco-editor/vs/editor/common/cursor/cursorColumnSelection.js +90 -0
  325. package/dist-cms/monaco-editor/vs/editor/common/cursor/cursorContext.js +13 -0
  326. package/dist-cms/monaco-editor/vs/editor/common/cursor/cursorDeleteOperations.js +215 -0
  327. package/dist-cms/monaco-editor/vs/editor/common/cursor/cursorMoveCommands.js +651 -0
  328. package/dist-cms/monaco-editor/vs/editor/common/cursor/cursorMoveOperations.js +287 -0
  329. package/dist-cms/monaco-editor/vs/editor/common/cursor/cursorTypeEditOperations.js +952 -0
  330. package/dist-cms/monaco-editor/vs/editor/common/cursor/cursorTypeOperations.js +169 -0
  331. package/dist-cms/monaco-editor/vs/editor/common/cursor/cursorWordOperations.js +707 -0
  332. package/dist-cms/monaco-editor/vs/editor/common/cursor/oneCursor.js +114 -0
  333. package/dist-cms/monaco-editor/vs/editor/common/cursorCommon.js +239 -0
  334. package/dist-cms/monaco-editor/vs/editor/common/cursorEvents.js +5 -0
  335. package/dist-cms/monaco-editor/vs/editor/common/diff/defaultLinesDiffComputer/algorithms/diffAlgorithm.js +138 -0
  336. package/dist-cms/monaco-editor/vs/editor/common/diff/defaultLinesDiffComputer/algorithms/dynamicProgrammingDiffing.js +98 -0
  337. package/dist-cms/monaco-editor/vs/editor/common/diff/defaultLinesDiffComputer/algorithms/myersDiffAlgorithm.js +159 -0
  338. package/dist-cms/monaco-editor/vs/editor/common/diff/defaultLinesDiffComputer/computeMovedLines.js +246 -0
  339. package/dist-cms/monaco-editor/vs/editor/common/diff/defaultLinesDiffComputer/defaultLinesDiffComputer.js +247 -0
  340. package/dist-cms/monaco-editor/vs/editor/common/diff/defaultLinesDiffComputer/heuristicSequenceOptimizations.js +371 -0
  341. package/dist-cms/monaco-editor/vs/editor/common/diff/defaultLinesDiffComputer/lineSequence.js +34 -0
  342. package/dist-cms/monaco-editor/vs/editor/common/diff/defaultLinesDiffComputer/linesSliceCharSequence.js +179 -0
  343. package/dist-cms/monaco-editor/vs/editor/common/diff/defaultLinesDiffComputer/utils.js +60 -0
  344. package/dist-cms/monaco-editor/vs/editor/common/diff/documentDiffProvider.js +5 -0
  345. package/dist-cms/monaco-editor/vs/editor/common/diff/legacyLinesDiffComputer.js +465 -0
  346. package/dist-cms/monaco-editor/vs/editor/common/diff/linesDiffComputer.js +27 -0
  347. package/dist-cms/monaco-editor/vs/editor/common/diff/linesDiffComputers.js +10 -0
  348. package/dist-cms/monaco-editor/vs/editor/common/diff/rangeMapping.js +170 -0
  349. package/dist-cms/monaco-editor/vs/editor/common/editorAction.js +24 -0
  350. package/dist-cms/monaco-editor/vs/editor/common/editorCommon.js +11 -0
  351. package/dist-cms/monaco-editor/vs/editor/common/editorContextKeys.js +81 -0
  352. package/dist-cms/monaco-editor/vs/editor/common/editorFeatures.js +15 -0
  353. package/dist-cms/monaco-editor/vs/editor/common/editorTheme.js +21 -0
  354. package/dist-cms/monaco-editor/vs/editor/common/encodedTokenAttributes.js +77 -0
  355. package/dist-cms/monaco-editor/vs/editor/common/languageFeatureRegistry.js +177 -0
  356. package/dist-cms/monaco-editor/vs/editor/common/languageSelector.js +109 -0
  357. package/dist-cms/monaco-editor/vs/editor/common/languages/autoIndent.js +387 -0
  358. package/dist-cms/monaco-editor/vs/editor/common/languages/defaultDocumentColorsComputer.js +135 -0
  359. package/dist-cms/monaco-editor/vs/editor/common/languages/enterAction.js +50 -0
  360. package/dist-cms/monaco-editor/vs/editor/common/languages/language.js +6 -0
  361. package/dist-cms/monaco-editor/vs/editor/common/languages/languageConfiguration.js +136 -0
  362. package/dist-cms/monaco-editor/vs/editor/common/languages/languageConfigurationRegistry.js +353 -0
  363. package/dist-cms/monaco-editor/vs/editor/common/languages/linkComputer.js +270 -0
  364. package/dist-cms/monaco-editor/vs/editor/common/languages/modesRegistry.js +56 -0
  365. package/dist-cms/monaco-editor/vs/editor/common/languages/nullTokenize.js +26 -0
  366. package/dist-cms/monaco-editor/vs/editor/common/languages/supports/characterPair.js +37 -0
  367. package/dist-cms/monaco-editor/vs/editor/common/languages/supports/electricCharacter.js +52 -0
  368. package/dist-cms/monaco-editor/vs/editor/common/languages/supports/indentRules.js +61 -0
  369. package/dist-cms/monaco-editor/vs/editor/common/languages/supports/indentationLineProcessor.js +190 -0
  370. package/dist-cms/monaco-editor/vs/editor/common/languages/supports/inplaceReplaceSupport.js +85 -0
  371. package/dist-cms/monaco-editor/vs/editor/common/languages/supports/languageBracketsConfiguration.js +130 -0
  372. package/dist-cms/monaco-editor/vs/editor/common/languages/supports/onEnter.js +106 -0
  373. package/dist-cms/monaco-editor/vs/editor/common/languages/supports/richEditBrackets.js +353 -0
  374. package/dist-cms/monaco-editor/vs/editor/common/languages/supports/tokenization.js +284 -0
  375. package/dist-cms/monaco-editor/vs/editor/common/languages/supports.js +56 -0
  376. package/dist-cms/monaco-editor/vs/editor/common/languages/textToHtmlTokenizer.js +125 -0
  377. package/dist-cms/monaco-editor/vs/editor/common/languages.js +404 -0
  378. package/dist-cms/monaco-editor/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsImpl.js +714 -0
  379. package/dist-cms/monaco-editor/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/ast.js +482 -0
  380. package/dist-cms/monaco-editor/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/beforeEditPositionMapper.js +107 -0
  381. package/dist-cms/monaco-editor/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/bracketPairsTree.js +342 -0
  382. package/dist-cms/monaco-editor/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/brackets.js +105 -0
  383. package/dist-cms/monaco-editor/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/combineTextEditInfos.js +121 -0
  384. package/dist-cms/monaco-editor/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/concat23Trees.js +189 -0
  385. package/dist-cms/monaco-editor/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/length.js +112 -0
  386. package/dist-cms/monaco-editor/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/nodeReader.js +124 -0
  387. package/dist-cms/monaco-editor/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/parser.js +118 -0
  388. package/dist-cms/monaco-editor/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/smallImmutableSet.js +104 -0
  389. package/dist-cms/monaco-editor/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/tokenizer.js +298 -0
  390. package/dist-cms/monaco-editor/vs/editor/common/model/bracketPairsTextModelPart/colorizedBracketPairsDecorationProvider.js +94 -0
  391. package/dist-cms/monaco-editor/vs/editor/common/model/bracketPairsTextModelPart/fixBrackets.js +66 -0
  392. package/dist-cms/monaco-editor/vs/editor/common/model/decorationProvider.js +1 -0
  393. package/dist-cms/monaco-editor/vs/editor/common/model/editStack.js +359 -0
  394. package/dist-cms/monaco-editor/vs/editor/common/model/fixedArray.js +67 -0
  395. package/dist-cms/monaco-editor/vs/editor/common/model/guidesTextModelPart.js +402 -0
  396. package/dist-cms/monaco-editor/vs/editor/common/model/indentationGuesser.js +176 -0
  397. package/dist-cms/monaco-editor/vs/editor/common/model/intervalTree.js +986 -0
  398. package/dist-cms/monaco-editor/vs/editor/common/model/mirrorTextModel.js +114 -0
  399. package/dist-cms/monaco-editor/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeBase.js +1452 -0
  400. package/dist-cms/monaco-editor/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeTextBuffer.js +455 -0
  401. package/dist-cms/monaco-editor/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeTextBufferBuilder.js +137 -0
  402. package/dist-cms/monaco-editor/vs/editor/common/model/pieceTreeTextBuffer/rbTreeBase.js +360 -0
  403. package/dist-cms/monaco-editor/vs/editor/common/model/prefixSumComputer.js +223 -0
  404. package/dist-cms/monaco-editor/vs/editor/common/model/textModel.js +1899 -0
  405. package/dist-cms/monaco-editor/vs/editor/common/model/textModelPart.js +20 -0
  406. package/dist-cms/monaco-editor/vs/editor/common/model/textModelSearch.js +452 -0
  407. package/dist-cms/monaco-editor/vs/editor/common/model/textModelText.js +20 -0
  408. package/dist-cms/monaco-editor/vs/editor/common/model/textModelTokens.js +429 -0
  409. package/dist-cms/monaco-editor/vs/editor/common/model/tokenizationTextModelPart.js +530 -0
  410. package/dist-cms/monaco-editor/vs/editor/common/model/tokens.js +89 -0
  411. package/dist-cms/monaco-editor/vs/editor/common/model/treeSitterTokens.js +79 -0
  412. package/dist-cms/monaco-editor/vs/editor/common/model/utils.js +31 -0
  413. package/dist-cms/monaco-editor/vs/editor/common/model.js +133 -0
  414. package/dist-cms/monaco-editor/vs/editor/common/modelLineProjectionData.js +299 -0
  415. package/dist-cms/monaco-editor/vs/editor/common/services/editorBaseApi.js +40 -0
  416. package/dist-cms/monaco-editor/vs/editor/common/services/editorSimpleWorker.js +351 -0
  417. package/dist-cms/monaco-editor/vs/editor/common/services/editorWorker.js +6 -0
  418. package/dist-cms/monaco-editor/vs/editor/common/services/editorWorkerHost.js +13 -0
  419. package/dist-cms/monaco-editor/vs/editor/common/services/findSectionHeaders.js +81 -0
  420. package/dist-cms/monaco-editor/vs/editor/common/services/getIconClasses.js +103 -0
  421. package/dist-cms/monaco-editor/vs/editor/common/services/languageFeatureDebounce.js +135 -0
  422. package/dist-cms/monaco-editor/vs/editor/common/services/languageFeatures.js +6 -0
  423. package/dist-cms/monaco-editor/vs/editor/common/services/languageFeaturesService.js +45 -0
  424. package/dist-cms/monaco-editor/vs/editor/common/services/languageService.js +89 -0
  425. package/dist-cms/monaco-editor/vs/editor/common/services/languagesAssociations.js +190 -0
  426. package/dist-cms/monaco-editor/vs/editor/common/services/languagesRegistry.js +236 -0
  427. package/dist-cms/monaco-editor/vs/editor/common/services/markerDecorations.js +6 -0
  428. package/dist-cms/monaco-editor/vs/editor/common/services/markerDecorationsService.js +227 -0
  429. package/dist-cms/monaco-editor/vs/editor/common/services/model.js +6 -0
  430. package/dist-cms/monaco-editor/vs/editor/common/services/modelService.js +418 -0
  431. package/dist-cms/monaco-editor/vs/editor/common/services/resolverService.js +2 -0
  432. package/dist-cms/monaco-editor/vs/editor/common/services/semanticTokensDto.js +79 -0
  433. package/dist-cms/monaco-editor/vs/editor/common/services/semanticTokensProviderStyling.js +276 -0
  434. package/dist-cms/monaco-editor/vs/editor/common/services/semanticTokensStyling.js +6 -0
  435. package/dist-cms/monaco-editor/vs/editor/common/services/semanticTokensStylingService.js +45 -0
  436. package/dist-cms/monaco-editor/vs/editor/common/services/textModelSync/textModelSync.impl.js +304 -0
  437. package/dist-cms/monaco-editor/vs/editor/common/services/textModelSync/textModelSync.protocol.js +5 -0
  438. package/dist-cms/monaco-editor/vs/editor/common/services/textResourceConfiguration.js +3 -0
  439. package/dist-cms/monaco-editor/vs/editor/common/services/treeSitterParserService.js +2 -0
  440. package/dist-cms/monaco-editor/vs/editor/common/services/treeViewsDnd.js +22 -0
  441. package/dist-cms/monaco-editor/vs/editor/common/services/treeViewsDndService.js +9 -0
  442. package/dist-cms/monaco-editor/vs/editor/common/services/unicodeTextModelHighlighter.js +185 -0
  443. package/dist-cms/monaco-editor/vs/editor/common/standalone/standaloneEnums.js +978 -0
  444. package/dist-cms/monaco-editor/vs/editor/common/standaloneStrings.js +39 -0
  445. package/dist-cms/monaco-editor/vs/editor/common/textModelBracketPairs.js +43 -0
  446. package/dist-cms/monaco-editor/vs/editor/common/textModelEvents.js +176 -0
  447. package/dist-cms/monaco-editor/vs/editor/common/textModelGuides.js +38 -0
  448. package/dist-cms/monaco-editor/vs/editor/common/tokenizationRegistry.js +120 -0
  449. package/dist-cms/monaco-editor/vs/editor/common/tokenizationTextModelPart.js +5 -0
  450. package/dist-cms/monaco-editor/vs/editor/common/tokens/contiguousMultilineTokens.js +30 -0
  451. package/dist-cms/monaco-editor/vs/editor/common/tokens/contiguousMultilineTokensBuilder.js +20 -0
  452. package/dist-cms/monaco-editor/vs/editor/common/tokens/contiguousTokensEditing.js +125 -0
  453. package/dist-cms/monaco-editor/vs/editor/common/tokens/contiguousTokensStore.js +204 -0
  454. package/dist-cms/monaco-editor/vs/editor/common/tokens/lineTokens.js +288 -0
  455. package/dist-cms/monaco-editor/vs/editor/common/tokens/sparseMultilineTokens.js +516 -0
  456. package/dist-cms/monaco-editor/vs/editor/common/tokens/sparseTokensStore.js +194 -0
  457. package/dist-cms/monaco-editor/vs/editor/common/viewEventHandler.js +183 -0
  458. package/dist-cms/monaco-editor/vs/editor/common/viewEvents.js +178 -0
  459. package/dist-cms/monaco-editor/vs/editor/common/viewLayout/lineDecorations.js +205 -0
  460. package/dist-cms/monaco-editor/vs/editor/common/viewLayout/linePart.js +23 -0
  461. package/dist-cms/monaco-editor/vs/editor/common/viewLayout/linesLayout.js +768 -0
  462. package/dist-cms/monaco-editor/vs/editor/common/viewLayout/viewLayout.js +355 -0
  463. package/dist-cms/monaco-editor/vs/editor/common/viewLayout/viewLineRenderer.js +910 -0
  464. package/dist-cms/monaco-editor/vs/editor/common/viewLayout/viewLinesViewportData.js +27 -0
  465. package/dist-cms/monaco-editor/vs/editor/common/viewModel/glyphLanesModel.js +58 -0
  466. package/dist-cms/monaco-editor/vs/editor/common/viewModel/minimapTokensColorTracker.js +55 -0
  467. package/dist-cms/monaco-editor/vs/editor/common/viewModel/modelLineProjection.js +329 -0
  468. package/dist-cms/monaco-editor/vs/editor/common/viewModel/monospaceLineBreaksComputer.js +442 -0
  469. package/dist-cms/monaco-editor/vs/editor/common/viewModel/overviewZoneManager.js +174 -0
  470. package/dist-cms/monaco-editor/vs/editor/common/viewModel/viewContext.js +19 -0
  471. package/dist-cms/monaco-editor/vs/editor/common/viewModel/viewModelDecorations.js +165 -0
  472. package/dist-cms/monaco-editor/vs/editor/common/viewModel/viewModelImpl.js +1063 -0
  473. package/dist-cms/monaco-editor/vs/editor/common/viewModel/viewModelLines.js +978 -0
  474. package/dist-cms/monaco-editor/vs/editor/common/viewModel.js +119 -0
  475. package/dist-cms/monaco-editor/vs/editor/common/viewModelEventDispatcher.js +355 -0
  476. package/dist-cms/monaco-editor/vs/nls.js +75 -0
  477. package/dist-cms/monaco-editor/vs/nls.messages.js +14 -0
  478. package/dist-cms/packages/block/block/context/block-manager.context.d.ts +1 -1
  479. package/dist-cms/packages/block/block/modals/block-catalogue/block-catalogue-modal.element.d.ts +2 -1
  480. package/dist-cms/packages/block/block/modals/block-catalogue/block-catalogue-modal.element.js +2 -2
  481. package/dist-cms/packages/block/block/validation/block-editor-validation-property-path-translator-base.api.d.ts +8 -0
  482. package/dist-cms/packages/block/block/validation/block-editor-validation-property-path-translator-base.api.js +26 -0
  483. package/dist-cms/packages/block/block/validation/block-element-data-validation-path-translator.controller.js +6 -0
  484. package/dist-cms/packages/block/block/validation/block-element-values-validation-path-translator.controller.js +6 -0
  485. package/dist-cms/packages/block/block/validation/index.d.ts +1 -0
  486. package/dist-cms/packages/block/block/validation/index.js +1 -0
  487. package/dist-cms/packages/block/block/workspace/block-element-manager.d.ts +6 -0
  488. package/dist-cms/packages/block/block/workspace/block-element-manager.js +10 -3
  489. package/dist-cms/packages/block/block/workspace/block-element-property-dataset.context.js +7 -0
  490. package/dist-cms/packages/block/block/workspace/block-workspace.context.d.ts +13 -0
  491. package/dist-cms/packages/block/block/workspace/block-workspace.context.js +64 -1
  492. package/dist-cms/packages/block/block/workspace/views/edit/block-workspace-view-edit-tab.element.js +6 -4
  493. package/dist-cms/packages/block/block-grid/{context → block-grid-manager}/block-grid-manager.context.d.ts +5 -2
  494. package/dist-cms/packages/block/block-grid/{context → block-grid-manager}/block-grid-manager.context.js +4 -2
  495. package/dist-cms/packages/block/block-grid/block-grid-manager/constants.d.ts +1 -0
  496. package/dist-cms/packages/block/block-grid/block-grid-manager/constants.js +1 -0
  497. package/dist-cms/packages/block/block-grid/block-grid-manager/index.d.ts +1 -0
  498. package/dist-cms/packages/block/block-grid/block-grid-manager/index.js +1 -0
  499. package/dist-cms/packages/block/block-grid/clipboard/block/paste/block-to-block-grid-paste-translator.d.ts +4 -8
  500. package/dist-cms/packages/block/block-grid/clipboard/block/paste/block-to-block-grid-paste-translator.js +4 -6
  501. package/dist-cms/packages/block/block-grid/clipboard/grid-block/paste/grid-block-to-block-grid-paste-translator.d.ts +4 -7
  502. package/dist-cms/packages/block/block-grid/clipboard/grid-block/paste/grid-block-to-block-grid-paste-translator.js +8 -7
  503. package/dist-cms/packages/block/block-grid/clipboard/manifests.d.ts +2 -1
  504. package/dist-cms/packages/block/block-grid/clipboard/manifests.js +1 -16
  505. package/dist-cms/packages/block/block-grid/components/block-grid-area/block-grid-area.element.d.ts +1 -1
  506. package/dist-cms/packages/block/block-grid/components/block-grid-area/block-grid-area.element.js +2 -2
  507. package/dist-cms/packages/block/block-grid/components/block-grid-area-config-entry/block-grid-area-config-entry.element.d.ts +0 -2
  508. package/dist-cms/packages/block/block-grid/components/block-grid-area-config-entry/block-grid-area-config-entry.element.js +0 -2
  509. package/dist-cms/packages/block/block-grid/components/block-grid-areas-container/block-grid-areas-container.element.d.ts +0 -1
  510. package/dist-cms/packages/block/block-grid/components/block-grid-areas-container/block-grid-areas-container.element.js +2 -3
  511. package/dist-cms/packages/block/block-grid/components/block-grid-block/block-grid-block.element.d.ts +0 -2
  512. package/dist-cms/packages/block/block-grid/components/block-grid-block/block-grid-block.element.js +0 -2
  513. package/dist-cms/packages/block/block-grid/components/block-grid-block-inline/block-grid-block-inline.element.d.ts +0 -2
  514. package/dist-cms/packages/block/block-grid/components/block-grid-block-inline/block-grid-block-inline.element.js +2 -4
  515. package/dist-cms/packages/block/block-grid/components/block-grid-block-unsupported/block-grid-block-unsupported.element.d.ts +0 -2
  516. package/dist-cms/packages/block/block-grid/components/block-grid-block-unsupported/block-grid-block-unsupported.element.js +0 -2
  517. package/dist-cms/packages/block/block-grid/{context → components/block-grid-entries}/block-grid-entries.context-token.d.ts +1 -1
  518. package/dist-cms/packages/block/block-grid/{context → components/block-grid-entries}/block-grid-entries.context-token.js +1 -1
  519. package/dist-cms/packages/block/block-grid/{context → components/block-grid-entries}/block-grid-entries.context.d.ts +8 -9
  520. package/dist-cms/packages/block/block-grid/{context → components/block-grid-entries}/block-grid-entries.context.js +20 -9
  521. package/dist-cms/packages/block/block-grid/components/block-grid-entries/block-grid-entries.element.d.ts +1 -2
  522. package/dist-cms/packages/block/block-grid/components/block-grid-entries/block-grid-entries.element.js +2 -9
  523. package/dist-cms/packages/block/block-grid/components/block-grid-entries/constants.d.ts +1 -0
  524. package/dist-cms/packages/block/block-grid/components/block-grid-entries/constants.js +1 -0
  525. package/dist-cms/packages/block/block-grid/{context → components/block-grid-entry}/block-grid-entry.context-token.d.ts +1 -1
  526. package/dist-cms/packages/block/block-grid/{context → components/block-grid-entry}/block-grid-entry.context-token.js +1 -1
  527. package/dist-cms/packages/block/block-grid/{context → components/block-grid-entry}/block-grid-entry.context.d.ts +10 -10
  528. package/dist-cms/packages/block/block-grid/{context → components/block-grid-entry}/block-grid-entry.context.js +9 -9
  529. package/dist-cms/packages/block/block-grid/components/block-grid-entry/block-grid-entry.element.d.ts +0 -4
  530. package/dist-cms/packages/block/block-grid/components/block-grid-entry/block-grid-entry.element.js +6 -10
  531. package/dist-cms/packages/block/block-grid/components/block-grid-entry/constants.d.ts +1 -0
  532. package/dist-cms/packages/block/block-grid/components/block-grid-entry/constants.js +1 -0
  533. package/dist-cms/packages/block/block-grid/components/constants.d.ts +2 -0
  534. package/dist-cms/packages/block/block-grid/components/constants.js +2 -0
  535. package/dist-cms/packages/block/block-grid/constants.d.ts +2 -1
  536. package/dist-cms/packages/block/block-grid/constants.js +2 -1
  537. package/dist-cms/packages/block/block-grid/context/constants.d.ts +0 -3
  538. package/dist-cms/packages/block/block-grid/context/constants.js +0 -3
  539. package/dist-cms/packages/block/block-grid/index.d.ts +0 -1
  540. package/dist-cms/packages/block/block-grid/index.js +0 -1
  541. package/dist-cms/packages/block/block-grid/local-components.d.ts +8 -0
  542. package/dist-cms/packages/block/block-grid/local-components.js +8 -0
  543. package/dist-cms/packages/block/block-grid/manifests.d.ts +2 -1
  544. package/dist-cms/packages/block/block-grid/manifests.js +2 -0
  545. package/dist-cms/packages/block/block-grid/property-editors/block-grid-area-type-permission/block-grid-area-type-permission.element.js +6 -6
  546. package/dist-cms/packages/block/block-grid/property-editors/block-grid-areas-config/property-editor-ui-block-grid-areas-config.element.d.ts +1 -1
  547. package/dist-cms/packages/block/block-grid/property-editors/block-grid-areas-config/property-editor-ui-block-grid-areas-config.element.js +1 -1
  548. package/dist-cms/packages/block/block-grid/property-editors/block-grid-column-span/property-editor-ui-block-grid-column-span.element.d.ts +1 -1
  549. package/dist-cms/packages/block/block-grid/property-editors/block-grid-column-span/property-editor-ui-block-grid-column-span.element.js +2 -2
  550. package/dist-cms/packages/block/block-grid/property-editors/block-grid-editor/manifests.d.ts +2 -1
  551. package/dist-cms/packages/block/block-grid/property-editors/block-grid-editor/manifests.js +3 -1
  552. package/dist-cms/packages/block/block-grid/property-editors/block-grid-editor/property-actions/block-grid-paste-from-clipboard.d.ts +21 -0
  553. package/dist-cms/packages/block/block-grid/property-editors/block-grid-editor/property-actions/block-grid-paste-from-clipboard.js +40 -0
  554. package/dist-cms/packages/block/block-grid/property-editors/block-grid-editor/property-actions/manifests.d.ts +2 -0
  555. package/dist-cms/packages/block/block-grid/property-editors/block-grid-editor/property-actions/manifests.js +18 -0
  556. package/dist-cms/packages/block/block-grid/property-editors/block-grid-editor/property-editor-ui-block-grid.element.d.ts +4 -3
  557. package/dist-cms/packages/block/block-grid/property-editors/block-grid-editor/property-editor-ui-block-grid.element.js +41 -11
  558. package/dist-cms/packages/block/block-grid/property-editors/block-grid-editor/types.d.ts +8 -0
  559. package/dist-cms/packages/block/block-grid/property-editors/block-grid-editor/types.js +1 -0
  560. package/dist-cms/packages/block/block-grid/property-editors/block-grid-group-configuration/property-editor-ui-block-grid-group-configuration.element.d.ts +1 -1
  561. package/dist-cms/packages/block/block-grid/property-editors/block-grid-group-configuration/property-editor-ui-block-grid-group-configuration.element.js +2 -2
  562. package/dist-cms/packages/block/block-grid/property-editors/block-grid-layout-stylesheet/property-editor-ui-block-grid-layout-stylesheet.element.d.ts +1 -1
  563. package/dist-cms/packages/block/block-grid/property-editors/block-grid-layout-stylesheet/property-editor-ui-block-grid-layout-stylesheet.element.js +2 -2
  564. package/dist-cms/packages/block/block-grid/property-editors/manifests.d.ts +2 -1
  565. package/dist-cms/packages/block/block-grid/validation/block-grid-validation-property-path-translator.api.d.ts +7 -0
  566. package/dist-cms/packages/block/block-grid/validation/block-grid-validation-property-path-translator.api.js +14 -0
  567. package/dist-cms/packages/block/block-grid/validation/manifests.js +10 -0
  568. package/dist-cms/packages/block/block-list/clipboard/block/paste/block-to-block-list-paste-translator.d.ts +2 -2
  569. package/dist-cms/packages/block/block-list/clipboard/block/paste/block-to-block-list-paste-translator.js +3 -3
  570. package/dist-cms/packages/block/block-list/clipboard/manifests.js +0 -3
  571. package/dist-cms/packages/block/block-list/components/block-list-entry/block-list-entry.element.js +7 -7
  572. package/dist-cms/packages/block/block-list/context/block-list-manager.context.d.ts +5 -2
  573. package/dist-cms/packages/block/block-list/context/block-list-manager.context.js +3 -1
  574. package/dist-cms/packages/block/block-list/manifests.js +3 -1
  575. package/dist-cms/packages/block/block-list/property-editors/block-list-editor/property-editor-ui-block-list.element.d.ts +3 -1
  576. package/dist-cms/packages/block/block-list/property-editors/block-list-editor/property-editor-ui-block-list.element.js +39 -9
  577. package/dist-cms/packages/block/block-list/property-editors/block-list-type-configuration/property-editor-ui-block-list-type-configuration.element.d.ts +1 -1
  578. package/dist-cms/packages/block/block-list/property-editors/block-list-type-configuration/property-editor-ui-block-list-type-configuration.element.js +2 -2
  579. package/dist-cms/packages/block/block-list/validation/block-list-validation-property-path-translator.api.d.ts +7 -0
  580. package/dist-cms/packages/block/block-list/validation/block-list-validation-property-path-translator.api.js +14 -0
  581. package/dist-cms/packages/block/block-list/validation/manifests.d.ts +1 -0
  582. package/dist-cms/packages/block/block-list/validation/manifests.js +10 -0
  583. package/dist-cms/packages/block/block-list/workspace/views/block-list-type-workspace-view.element.js +1 -0
  584. package/dist-cms/packages/block/block-rte/components/block-rte-entry/block-rte-entry.element.js +5 -5
  585. package/dist-cms/packages/block/block-rte/context/block-rte-entries.context.d.ts +2 -2
  586. package/dist-cms/packages/block/block-rte/context/block-rte-entries.context.js +6 -2
  587. package/dist-cms/packages/block/block-rte/context/block-rte-manager.context.d.ts +5 -2
  588. package/dist-cms/packages/block/block-rte/context/block-rte-manager.context.js +3 -1
  589. package/dist-cms/packages/block/block-type/components/input-block-type/input-block-type.element.js +2 -2
  590. package/dist-cms/packages/clipboard/constants.d.ts +1 -1
  591. package/dist-cms/packages/clipboard/constants.js +1 -1
  592. package/dist-cms/packages/clipboard/property/actions/constants.d.ts +1 -0
  593. package/dist-cms/packages/clipboard/property/actions/constants.js +1 -0
  594. package/dist-cms/packages/clipboard/property/actions/index.d.ts +1 -0
  595. package/dist-cms/packages/clipboard/property/actions/index.js +1 -0
  596. package/dist-cms/packages/clipboard/property/actions/paste/constants.d.ts +1 -0
  597. package/dist-cms/packages/clipboard/property/actions/paste/constants.js +1 -0
  598. package/dist-cms/packages/clipboard/property/actions/paste/index.d.ts +1 -0
  599. package/dist-cms/packages/clipboard/property/actions/paste/index.js +1 -0
  600. package/dist-cms/packages/clipboard/property/actions/paste/manifests.d.ts +1 -0
  601. package/dist-cms/packages/clipboard/property/actions/paste/manifests.js +17 -16
  602. package/dist-cms/packages/clipboard/property/actions/paste/paste-from-clipboard.property-action.d.ts +1 -0
  603. package/dist-cms/packages/clipboard/property/actions/paste/paste-from-clipboard.property-action.js +5 -0
  604. package/dist-cms/packages/clipboard/property/constants.d.ts +2 -0
  605. package/dist-cms/packages/clipboard/property/constants.js +2 -0
  606. package/dist-cms/packages/clipboard/property/context/clipboard.property-context.d.ts +2 -0
  607. package/dist-cms/packages/clipboard/property/context/clipboard.property-context.js +3 -2
  608. package/dist-cms/packages/clipboard/property/index.d.ts +1 -0
  609. package/dist-cms/packages/clipboard/property/index.js +1 -0
  610. package/dist-cms/packages/clipboard/property/value-translator/paste/types.d.ts +3 -3
  611. package/dist-cms/packages/code-editor/property-editor/property-editor-ui-code-editor.element.js +2 -3
  612. package/dist-cms/packages/core/collection/collection-view.manager.js +1 -0
  613. package/dist-cms/packages/core/components/backoffice-modal-container/backoffice-modal-container.element.js +4 -1
  614. package/dist-cms/packages/core/components/input-color/input-color.element.d.ts +1 -1
  615. package/dist-cms/packages/core/components/input-date/input-date.element.d.ts +1 -0
  616. package/dist-cms/packages/core/components/input-date/input-date.element.js +10 -1
  617. package/dist-cms/packages/core/components/input-dropdown/input-dropdown-list.element.d.ts +12 -4
  618. package/dist-cms/packages/core/components/input-dropdown/input-dropdown-list.element.js +40 -18
  619. package/dist-cms/packages/core/components/input-eye-dropper/input-eye-dropper.element.d.ts +1 -1
  620. package/dist-cms/packages/core/components/input-number-range/input-number-range.element.d.ts +1 -1
  621. package/dist-cms/packages/core/components/input-number-range/input-number-range.element.js +2 -2
  622. package/dist-cms/packages/core/components/input-radio-button-list/input-radio-button-list.element.d.ts +8 -2
  623. package/dist-cms/packages/core/components/input-radio-button-list/input-radio-button-list.element.js +25 -18
  624. package/dist-cms/packages/core/components/input-slider/input-slider.element.d.ts +1 -1
  625. package/dist-cms/packages/core/components/input-toggle/input-toggle.element.d.ts +1 -1
  626. package/dist-cms/packages/core/components/input-with-alias/input-with-alias.element.js +2 -2
  627. package/dist-cms/packages/core/components/multiple-color-picker-input/multiple-color-picker-input.element.d.ts +1 -1
  628. package/dist-cms/packages/core/components/multiple-color-picker-input/multiple-color-picker-item-input.element.d.ts +1 -1
  629. package/dist-cms/packages/core/components/multiple-color-picker-input/multiple-color-picker-item-input.element.js +1 -2
  630. package/dist-cms/packages/core/components/multiple-text-string-input/input-multiple-text-string-item.element.d.ts +1 -1
  631. package/dist-cms/packages/core/components/multiple-text-string-input/input-multiple-text-string-item.element.js +6 -3
  632. package/dist-cms/packages/core/content/manager/element-data-manager.js +5 -0
  633. package/dist-cms/packages/core/content/property-dataset-context/element-property-dataset.context.d.ts +2 -0
  634. package/dist-cms/packages/core/content/property-dataset-context/element-property-dataset.context.js +4 -5
  635. package/dist-cms/packages/core/content/workspace/content-detail-validation-path-translator.d.ts +6 -0
  636. package/dist-cms/packages/core/content/workspace/content-detail-validation-path-translator.js +20 -0
  637. package/dist-cms/packages/core/content/workspace/content-detail-workspace-base.d.ts +3 -0
  638. package/dist-cms/packages/core/content/workspace/content-detail-workspace-base.js +52 -8
  639. package/dist-cms/packages/core/content-type/global-components/content-type-workspace-editor-header.element.d.ts +18 -0
  640. package/dist-cms/packages/core/content-type/global-components/content-type-workspace-editor-header.element.js +145 -0
  641. package/dist-cms/packages/core/content-type/global-components/index.d.ts +2 -0
  642. package/dist-cms/packages/core/content-type/global-components/index.js +2 -0
  643. package/dist-cms/packages/core/content-type/index.d.ts +1 -0
  644. package/dist-cms/packages/core/content-type/index.js +1 -0
  645. package/dist-cms/packages/core/content-type/repository/structure/content-type-structure-data-source.interface.d.ts +1 -1
  646. package/dist-cms/packages/core/content-type/repository/structure/content-type-structure-repository-base.d.ts +2 -1
  647. package/dist-cms/packages/core/content-type/repository/structure/content-type-structure-repository-base.js +3 -2
  648. package/dist-cms/packages/core/content-type/repository/structure/content-type-structure-repository.interface.d.ts +1 -1
  649. package/dist-cms/packages/core/content-type/repository/structure/content-type-structure-server-data-source-base.d.ts +3 -2
  650. package/dist-cms/packages/core/content-type/repository/structure/content-type-structure-server-data-source-base.js +3 -2
  651. package/dist-cms/packages/core/content-type/workspace/content-type-workspace-context-base.d.ts +5 -0
  652. package/dist-cms/packages/core/content-type/workspace/content-type-workspace-context-base.js +7 -0
  653. package/dist-cms/packages/core/content-type/workspace/content-type-workspace-context.interface.d.ts +8 -1
  654. package/dist-cms/packages/core/content-type/workspace/views/design/content-type-design-editor-group.element.js +2 -9
  655. package/dist-cms/packages/core/content-type/workspace/views/design/content-type-design-editor-properties.element.d.ts +1 -0
  656. package/dist-cms/packages/core/content-type/workspace/views/design/content-type-design-editor-properties.element.js +9 -1
  657. package/dist-cms/packages/core/content-type/workspace/views/design/content-type-design-editor-property.element.d.ts +1 -0
  658. package/dist-cms/packages/core/content-type/workspace/views/design/content-type-design-editor-property.element.js +22 -4
  659. package/dist-cms/packages/core/content-type/workspace/views/design/content-type-design-editor-tab.element.js +5 -2
  660. package/dist-cms/packages/core/content-type/workspace/views/design/content-type-design-editor.element.d.ts +2 -5
  661. package/dist-cms/packages/core/content-type/workspace/views/design/content-type-design-editor.element.js +48 -27
  662. package/dist-cms/packages/core/culture/components/input-culture-select/input-culture-select.element.d.ts +1 -1
  663. package/dist-cms/packages/core/culture/manifests.d.ts +1 -1
  664. package/dist-cms/packages/core/entity/constants.d.ts +1 -0
  665. package/dist-cms/packages/core/entity/constants.js +1 -0
  666. package/dist-cms/packages/core/entity/contexts/ancestors/ancestors.entity-context-token.d.ts +3 -0
  667. package/dist-cms/packages/core/entity/contexts/ancestors/ancestors.entity-context-token.js +2 -0
  668. package/dist-cms/packages/core/entity/contexts/ancestors/ancestors.entity-context.d.ts +26 -0
  669. package/dist-cms/packages/core/entity/contexts/ancestors/ancestors.entity-context.js +33 -0
  670. package/dist-cms/packages/core/entity/contexts/ancestors/constants.d.ts +1 -0
  671. package/dist-cms/packages/core/entity/contexts/ancestors/constants.js +1 -0
  672. package/dist-cms/packages/core/entity/contexts/ancestors/index.d.ts +1 -0
  673. package/dist-cms/packages/core/entity/contexts/ancestors/index.js +1 -0
  674. package/dist-cms/packages/core/entity/index.d.ts +2 -0
  675. package/dist-cms/packages/core/entity/index.js +2 -0
  676. package/dist-cms/packages/core/entity-action/constants.d.ts +1 -0
  677. package/dist-cms/packages/core/entity-action/constants.js +1 -0
  678. package/dist-cms/packages/core/entity-action/global-components/entity-actions-table-column-view/entity-actions-table-column-view.element.d.ts +1 -4
  679. package/dist-cms/packages/core/entity-action/global-components/entity-actions-table-column-view/entity-actions-table-column-view.element.js +2 -10
  680. package/dist-cms/packages/core/entity-action/has-children/condition/constants.d.ts +1 -0
  681. package/dist-cms/packages/core/entity-action/has-children/condition/constants.js +1 -0
  682. package/dist-cms/packages/core/entity-action/has-children/condition/entity-has-children.condition-config.d.ts +9 -0
  683. package/dist-cms/packages/core/entity-action/has-children/condition/entity-has-children.condition-config.js +1 -0
  684. package/dist-cms/packages/core/entity-action/has-children/condition/entity-has-children.condition.d.ts +7 -0
  685. package/dist-cms/packages/core/entity-action/has-children/condition/entity-has-children.condition.js +13 -0
  686. package/dist-cms/packages/core/entity-action/has-children/condition/entity-has-children.condition.manifest.d.ts +2 -0
  687. package/dist-cms/packages/core/entity-action/has-children/condition/entity-has-children.condition.manifest.js +7 -0
  688. package/dist-cms/packages/core/entity-action/has-children/constants.d.ts +2 -0
  689. package/dist-cms/packages/core/entity-action/has-children/constants.js +2 -0
  690. package/dist-cms/packages/core/entity-action/has-children/context/constants.d.ts +1 -0
  691. package/dist-cms/packages/core/entity-action/has-children/context/constants.js +1 -0
  692. package/dist-cms/packages/core/entity-action/has-children/context/has-children.context-token.d.ts +3 -0
  693. package/dist-cms/packages/core/entity-action/has-children/context/has-children.context-token.js +2 -0
  694. package/dist-cms/packages/core/entity-action/has-children/context/has-children.entity-context.d.ts +19 -0
  695. package/dist-cms/packages/core/entity-action/has-children/context/has-children.entity-context.js +27 -0
  696. package/dist-cms/packages/core/entity-action/has-children/context/index.d.ts +1 -0
  697. package/dist-cms/packages/core/entity-action/has-children/context/index.js +1 -0
  698. package/dist-cms/packages/core/entity-action/has-children/index.d.ts +1 -0
  699. package/dist-cms/packages/core/entity-action/has-children/index.js +1 -0
  700. package/dist-cms/packages/core/entity-action/has-children/manifests.d.ts +2 -0
  701. package/dist-cms/packages/core/entity-action/has-children/manifests.js +2 -0
  702. package/dist-cms/packages/core/entity-action/index.d.ts +1 -0
  703. package/dist-cms/packages/core/entity-action/index.js +1 -0
  704. package/dist-cms/packages/core/entity-action/manifests.js +2 -0
  705. package/dist-cms/packages/core/icon-registry/icon-dictionary.json +125 -0
  706. package/dist-cms/packages/core/icon-registry/icon-picker-modal/icon-picker-modal.element.js +1 -1
  707. package/dist-cms/packages/core/icon-registry/icons/icon-blend.d.ts +2 -0
  708. package/dist-cms/packages/core/icon-registry/icons/icon-blend.js +1 -0
  709. package/dist-cms/packages/core/icon-registry/icons/icon-columns-2.d.ts +2 -0
  710. package/dist-cms/packages/core/icon-registry/icons/icon-columns-2.js +1 -0
  711. package/dist-cms/packages/core/icon-registry/icons/icon-columns-3.d.ts +2 -0
  712. package/dist-cms/packages/core/icon-registry/icons/icon-columns-3.js +1 -0
  713. package/dist-cms/packages/core/icon-registry/icons/icon-columns-4.d.ts +2 -0
  714. package/dist-cms/packages/core/icon-registry/icons/icon-columns-4.js +1 -0
  715. package/dist-cms/packages/core/icon-registry/icons/icon-grid-2.d.ts +2 -0
  716. package/dist-cms/packages/core/icon-registry/icons/icon-grid-2.js +1 -0
  717. package/dist-cms/packages/core/icon-registry/icons/icon-grid-3.d.ts +2 -0
  718. package/dist-cms/packages/core/icon-registry/icons/icon-grid-3.js +1 -0
  719. package/dist-cms/packages/core/icon-registry/icons/icon-grip.d.ts +2 -0
  720. package/dist-cms/packages/core/icon-registry/icons/icon-grip.js +1 -0
  721. package/dist-cms/packages/core/icon-registry/icons/icon-heading-4.d.ts +2 -0
  722. package/dist-cms/packages/core/icon-registry/icons/icon-heading-4.js +1 -0
  723. package/dist-cms/packages/core/icon-registry/icons/icon-land-plot.d.ts +2 -0
  724. package/dist-cms/packages/core/icon-registry/icons/icon-land-plot.js +1 -0
  725. package/dist-cms/packages/core/icon-registry/icons/icon-layout-dislocated.d.ts +2 -0
  726. package/dist-cms/packages/core/icon-registry/icons/icon-layout-dislocated.js +1 -0
  727. package/dist-cms/packages/core/icon-registry/icons/icon-layout-grid.d.ts +2 -0
  728. package/dist-cms/packages/core/icon-registry/icons/icon-layout-grid.js +1 -0
  729. package/dist-cms/packages/core/icon-registry/icons/icon-layout-list.d.ts +2 -0
  730. package/dist-cms/packages/core/icon-registry/icons/icon-layout-list.js +1 -0
  731. package/dist-cms/packages/core/icon-registry/icons/icon-layout-masonry.d.ts +2 -0
  732. package/dist-cms/packages/core/icon-registry/icons/icon-layout-masonry.js +1 -0
  733. package/dist-cms/packages/core/icon-registry/icons/icon-layout-panel-left.d.ts +2 -0
  734. package/dist-cms/packages/core/icon-registry/icons/icon-layout-panel-left.js +1 -0
  735. package/dist-cms/packages/core/icon-registry/icons/icon-omega.d.ts +2 -0
  736. package/dist-cms/packages/core/icon-registry/icons/icon-omega.js +1 -0
  737. package/dist-cms/packages/core/icon-registry/icons/icon-paragraph.d.ts +2 -0
  738. package/dist-cms/packages/core/icon-registry/icons/icon-paragraph.js +1 -0
  739. package/dist-cms/packages/core/icon-registry/icons/icon-rows-2.d.ts +2 -0
  740. package/dist-cms/packages/core/icon-registry/icons/icon-rows-2.js +1 -0
  741. package/dist-cms/packages/core/icon-registry/icons/icon-rows-3.d.ts +2 -0
  742. package/dist-cms/packages/core/icon-registry/icons/icon-rows-3.js +1 -0
  743. package/dist-cms/packages/core/icon-registry/icons/icon-rows-4.d.ts +2 -0
  744. package/dist-cms/packages/core/icon-registry/icons/icon-rows-4.js +1 -0
  745. package/dist-cms/packages/core/icon-registry/icons/icon-shape-circle.d.ts +2 -0
  746. package/dist-cms/packages/core/icon-registry/icons/icon-shape-circle.js +1 -0
  747. package/dist-cms/packages/core/icon-registry/icons/icon-shape-cylinder.d.ts +2 -0
  748. package/dist-cms/packages/core/icon-registry/icons/icon-shape-cylinder.js +1 -0
  749. package/dist-cms/packages/core/icon-registry/icons/icon-shape-hexagon.d.ts +2 -0
  750. package/dist-cms/packages/core/icon-registry/icons/icon-shape-hexagon.js +1 -0
  751. package/dist-cms/packages/core/icon-registry/icons/icon-shape-rectangle-horizontal.d.ts +2 -0
  752. package/dist-cms/packages/core/icon-registry/icons/icon-shape-rectangle-horizontal.js +1 -0
  753. package/dist-cms/packages/core/icon-registry/icons/icon-shape-rectangle-vertical.d.ts +2 -0
  754. package/dist-cms/packages/core/icon-registry/icons/icon-shape-rectangle-vertical.js +1 -0
  755. package/dist-cms/packages/core/icon-registry/icons/icon-shape-square.d.ts +2 -0
  756. package/dist-cms/packages/core/icon-registry/icons/icon-shape-square.js +1 -0
  757. package/dist-cms/packages/core/icon-registry/icons/icon-shape-triangle-right.d.ts +2 -0
  758. package/dist-cms/packages/core/icon-registry/icons/icon-shape-triangle-right.js +1 -0
  759. package/dist-cms/packages/core/icon-registry/icons/icon-shape-triangle.d.ts +2 -0
  760. package/dist-cms/packages/core/icon-registry/icons/icon-shape-triangle.js +1 -0
  761. package/dist-cms/packages/core/icon-registry/icons/icon-shapes.d.ts +2 -0
  762. package/dist-cms/packages/core/icon-registry/icons/icon-shapes.js +1 -0
  763. package/dist-cms/packages/core/icon-registry/icons/icon-shared-value.d.ts +2 -0
  764. package/dist-cms/packages/core/icon-registry/icons/icon-shared-value.js +1 -0
  765. package/dist-cms/packages/core/icon-registry/icons/icon-spray-can.d.ts +2 -0
  766. package/dist-cms/packages/core/icon-registry/icons/icon-spray-can.js +1 -0
  767. package/dist-cms/packages/core/icon-registry/icons/icon-swatch-book.d.ts +2 -0
  768. package/dist-cms/packages/core/icon-registry/icons/icon-swatch-book.js +1 -0
  769. package/dist-cms/packages/core/icon-registry/icons.d.ts +186 -56
  770. package/dist-cms/packages/core/icon-registry/icons.js +148 -0
  771. package/dist-cms/packages/core/localization/components/ui-culture-input/ui-culture-input.element.d.ts +1 -1
  772. package/dist-cms/packages/core/localization/localize.element.d.ts +1 -1
  773. package/dist-cms/packages/core/localization/localize.element.js +9 -4
  774. package/dist-cms/packages/core/menu/components/menu/index.d.ts +0 -1
  775. package/dist-cms/packages/core/menu/components/menu/index.js +0 -1
  776. package/dist-cms/packages/core/menu/components/menu/menu.element.d.ts +0 -1
  777. package/dist-cms/packages/core/menu/components/menu/menu.element.js +0 -4
  778. package/dist-cms/packages/core/menu/conditions/menu-alias.condition.js +10 -4
  779. package/dist-cms/packages/core/menu/menu-variant-tree-structure-workspace-context-base.js +10 -0
  780. package/dist-cms/packages/core/menu/section-sidebar-menu/section-sidebar-menu.element.js +1 -1
  781. package/dist-cms/packages/core/modal/common/error-viewer/error-viewer-modal.token.d.ts +1 -1
  782. package/dist-cms/packages/core/modal/common/error-viewer/error-viewer-modal.token.js +1 -1
  783. package/dist-cms/packages/core/modal/component/modal.element.js +1 -0
  784. package/dist-cms/packages/core/notification/controllers/peek-error/peek-error.controller.d.ts +1 -1
  785. package/dist-cms/packages/core/notification/extractUmbNotificationColor.function.d.ts +1 -1
  786. package/dist-cms/packages/core/object-type/input-object-type.element.d.ts +1 -1
  787. package/dist-cms/packages/core/picker/search/picker-search-field.element.d.ts +1 -3
  788. package/dist-cms/packages/core/picker/search/picker-search-field.element.js +6 -2
  789. package/dist-cms/packages/core/picker/search/picker-search-result.element.d.ts +1 -3
  790. package/dist-cms/packages/core/picker/search/picker-search-result.element.js +1 -2
  791. package/dist-cms/packages/core/picker-input/picker-input.context.js +1 -1
  792. package/dist-cms/packages/core/property/components/property-layout/property-layout.element.js +17 -4
  793. package/dist-cms/packages/core/property/manifests.d.ts +1 -1
  794. package/dist-cms/packages/core/property-type/index.d.ts +1 -0
  795. package/dist-cms/packages/core/property-type/index.js +1 -0
  796. package/dist-cms/packages/core/property-type/utils/index.d.ts +8 -0
  797. package/dist-cms/packages/core/property-type/utils/index.js +9 -0
  798. package/dist-cms/packages/core/property-type/workspace/property-type-workspace.context.d.ts +2 -0
  799. package/dist-cms/packages/core/property-type/workspace/property-type-workspace.context.js +10 -0
  800. package/dist-cms/packages/core/property-type/workspace/views/settings/property-workspace-view-settings.element.js +33 -19
  801. package/dist-cms/packages/core/recycle-bin/tree/tree-item/recycle-bin-tree-item.context.js +1 -1
  802. package/dist-cms/packages/core/resources/resource.controller.d.ts +1 -0
  803. package/dist-cms/packages/core/resources/resource.controller.js +2 -2
  804. package/dist-cms/packages/core/router/index.d.ts +1 -2
  805. package/dist-cms/packages/core/router/index.js +1 -2
  806. package/dist-cms/packages/core/router/modal-registration/modal-route-registration.controller.js +2 -1
  807. package/dist-cms/packages/core/router/{components/router-slot → route}/index.d.ts +1 -0
  808. package/dist-cms/packages/core/router/{components/router-slot → route}/index.js +1 -0
  809. package/dist-cms/packages/core/router/{components → route}/not-found/route-not-found.element.js +1 -2
  810. package/dist-cms/packages/core/router/{components/router-slot → route}/route.context.d.ts +5 -5
  811. package/dist-cms/packages/core/router/{components/router-slot → route}/route.context.js +7 -5
  812. package/dist-cms/packages/core/router/route/route.interface.d.ts +1 -0
  813. package/dist-cms/packages/core/router/route/route.interface.js +1 -0
  814. package/dist-cms/packages/core/router/{components/router-slot → route}/router-slot-change.event.d.ts +1 -1
  815. package/dist-cms/packages/core/router/{components/router-slot → route}/router-slot-change.event.js +1 -1
  816. package/dist-cms/packages/core/router/{components/router-slot → route}/router-slot-init.event.d.ts +1 -1
  817. package/dist-cms/packages/core/router/{components/router-slot → route}/router-slot-init.event.js +1 -1
  818. package/dist-cms/packages/core/router/{components/router-slot → route}/router-slot.element.d.ts +4 -4
  819. package/dist-cms/packages/core/router/{components/router-slot → route}/router-slot.element.js +4 -4
  820. package/dist-cms/packages/core/section/section.context.d.ts +4 -2
  821. package/dist-cms/packages/core/section/section.context.js +4 -3
  822. package/dist-cms/packages/core/sorter/sorter.controller.d.ts +1 -1
  823. package/dist-cms/packages/core/sorter/sorter.controller.js +1 -1
  824. package/dist-cms/packages/core/temporary-file/manifests.d.ts +1 -1
  825. package/dist-cms/packages/core/temporary-file/temporary-file-manager.class.d.ts +7 -0
  826. package/dist-cms/packages/core/temporary-file/temporary-file-manager.class.js +22 -3
  827. package/dist-cms/packages/core/temporary-file/temporary-file.repository.d.ts +1 -0
  828. package/dist-cms/packages/core/temporary-file/temporary-file.repository.js +1 -0
  829. package/dist-cms/packages/core/temporary-file/types.d.ts +10 -1
  830. package/dist-cms/packages/core/temporary-file/types.js +1 -0
  831. package/dist-cms/packages/core/themes/manifests.d.ts +1 -1
  832. package/dist-cms/packages/core/tree/default/default-tree.context.d.ts +29 -0
  833. package/dist-cms/packages/core/tree/default/default-tree.context.js +54 -0
  834. package/dist-cms/packages/core/tree/default/default-tree.element.d.ts +5 -0
  835. package/dist-cms/packages/core/tree/default/default-tree.element.js +24 -2
  836. package/dist-cms/packages/core/tree/entity-actions/duplicate-to/modal/duplicate-to-modal.element.js +1 -0
  837. package/dist-cms/packages/core/tree/entity-actions/move/move-to.action.js +2 -0
  838. package/dist-cms/packages/core/tree/entity-actions/sort-children-of/modal/sort-children-of-modal.element.js +3 -3
  839. package/dist-cms/packages/core/tree/expansion-manager/index.d.ts +1 -0
  840. package/dist-cms/packages/core/tree/expansion-manager/index.js +1 -0
  841. package/dist-cms/packages/core/tree/expansion-manager/tree-expansion-manager.d.ts +60 -0
  842. package/dist-cms/packages/core/tree/expansion-manager/tree-expansion-manager.js +74 -0
  843. package/dist-cms/packages/core/tree/expansion-manager/types.d.ts +2 -0
  844. package/dist-cms/packages/core/tree/expansion-manager/types.js +1 -0
  845. package/dist-cms/packages/core/tree/folder/entity-action/delete-folder/delete-folder.action.js +1 -1
  846. package/dist-cms/packages/core/tree/tree-item/tree-item-base/tree-item-context-base.d.ts +15 -1
  847. package/dist-cms/packages/core/tree/tree-item/tree-item-base/tree-item-context-base.js +61 -3
  848. package/dist-cms/packages/core/tree/tree-item/tree-item-base/tree-item-element-base.d.ts +2 -0
  849. package/dist-cms/packages/core/tree/tree-item/tree-item-base/tree-item-element-base.js +14 -3
  850. package/dist-cms/packages/core/tree/tree-item/tree-item-context.interface.d.ts +4 -0
  851. package/dist-cms/packages/core/tree/tree-picker-modal/tree-picker-modal.element.js +1 -0
  852. package/dist-cms/packages/core/tree/tree-picker-modal/tree-picker-modal.token.d.ts +4 -3
  853. package/dist-cms/packages/core/utils/sanitize/escape-html.function.d.ts +1 -1
  854. package/dist-cms/packages/core/utils/sanitize/escape-html.function.js +1 -1
  855. package/dist-cms/packages/core/validation/components/form-validation-message.element.js +1 -1
  856. package/dist-cms/packages/core/validation/context/index.d.ts +1 -0
  857. package/dist-cms/packages/core/validation/context/index.js +1 -0
  858. package/dist-cms/packages/core/validation/context/server-model-validator.context.d.ts +3 -0
  859. package/dist-cms/packages/core/validation/context/server-model-validator.context.js +40 -6
  860. package/dist-cms/packages/core/validation/context/validation-messages.manager.d.ts +8 -2
  861. package/dist-cms/packages/core/validation/context/validation-messages.manager.js +33 -11
  862. package/dist-cms/packages/core/validation/controllers/bind-server-validation-to-form-control.controller.js +3 -3
  863. package/dist-cms/packages/core/validation/controllers/index.d.ts +1 -0
  864. package/dist-cms/packages/core/validation/controllers/index.js +1 -0
  865. package/dist-cms/packages/core/validation/controllers/types.d.ts +1 -0
  866. package/dist-cms/packages/core/validation/controllers/types.js +1 -0
  867. package/dist-cms/packages/core/validation/controllers/validation-path-translation/index.d.ts +2 -0
  868. package/dist-cms/packages/core/validation/controllers/validation-path-translation/index.js +2 -0
  869. package/dist-cms/packages/core/validation/controllers/validation-path-translation/property-validation-path-translator.extension.d.ts +11 -0
  870. package/dist-cms/packages/core/validation/controllers/validation-path-translation/property-validation-path-translator.extension.js +1 -0
  871. package/dist-cms/packages/core/validation/controllers/validation-path-translation/types.d.ts +31 -0
  872. package/dist-cms/packages/core/validation/controllers/validation-path-translation/types.js +1 -0
  873. package/dist-cms/packages/core/validation/controllers/validation-path-translation/validation-path-translation.controller.d.ts +14 -0
  874. package/dist-cms/packages/core/validation/controllers/validation-path-translation/validation-path-translation.controller.js +30 -0
  875. package/dist-cms/packages/core/validation/controllers/validation-path-translation/validation-property-path-translation.controller.d.ts +20 -0
  876. package/dist-cms/packages/core/validation/controllers/validation-path-translation/validation-property-path-translation.controller.js +44 -0
  877. package/dist-cms/packages/core/validation/controllers/validation.controller.d.ts +32 -2
  878. package/dist-cms/packages/core/validation/controllers/validation.controller.js +193 -68
  879. package/dist-cms/packages/core/validation/directives/bind-to-validation.lit-directive.js +1 -1
  880. package/dist-cms/packages/core/validation/index.d.ts +1 -1
  881. package/dist-cms/packages/core/validation/translators/validation-path-translator-base.controller.d.ts +1 -1
  882. package/dist-cms/packages/core/validation/translators/validation-path-translator-base.controller.js +1 -1
  883. package/dist-cms/packages/core/validation/translators/variant-values-validation-path-translator.controller.js +6 -0
  884. package/dist-cms/packages/core/validation/translators/variants-validation-path-translator.controller.js +6 -0
  885. package/dist-cms/packages/core/validation/types.d.ts +2 -0
  886. package/dist-cms/packages/core/validation/types.js +1 -0
  887. package/dist-cms/packages/core/validation/utils/index.d.ts +2 -0
  888. package/dist-cms/packages/core/validation/utils/index.js +2 -0
  889. package/dist-cms/packages/core/validation/utils/query-mapper-json-paths.function.d.ts +12 -0
  890. package/dist-cms/packages/core/validation/utils/query-mapper-json-paths.function.js +47 -0
  891. package/dist-cms/packages/core/validation/utils/scope-mapper-json-paths.function.d.ts +8 -0
  892. package/dist-cms/packages/core/validation/utils/scope-mapper-json-paths.function.js +25 -0
  893. package/dist-cms/packages/core/variant/variant-object-compare.function.d.ts +5 -0
  894. package/dist-cms/packages/core/variant/variant-object-compare.function.js +5 -0
  895. package/dist-cms/packages/core/workspace/components/workspace-action/default/workspace-action-default-kind.element.js +10 -8
  896. package/dist-cms/packages/core/workspace/components/workspace-action-menu/workspace-action-menu.element.js +22 -24
  897. package/dist-cms/packages/core/workspace/components/workspace-editor/workspace-editor.element.js +2 -2
  898. package/dist-cms/packages/core/workspace/components/workspace-split-view/workspace-split-view-variant-selector.element.js +1 -1
  899. package/dist-cms/packages/core/workspace/components/workspace-split-view/workspace-split-view.context.js +10 -0
  900. package/dist-cms/packages/core/workspace/contexts/tokens/variant-dataset-workspace-context.interface.d.ts +2 -0
  901. package/dist-cms/packages/core/workspace/entity-detail/entity-detail-workspace-base.d.ts +1 -0
  902. package/dist-cms/packages/core/workspace/entity-detail/entity-detail-workspace-base.js +15 -12
  903. package/dist-cms/packages/core/workspace/info-app/global-components/workspace-info-app-layout.element.js +7 -1
  904. package/dist-cms/packages/core/workspace/info-app/workspace-info-app.extension.d.ts +2 -2
  905. package/dist-cms/packages/core/workspace/modals/workspace-modal.element.d.ts +3 -1
  906. package/dist-cms/packages/core/workspace/modals/workspace-modal.element.js +17 -1
  907. package/dist-cms/packages/core/workspace/modals/workspace-modal.token.d.ts +1 -0
  908. package/dist-cms/packages/core/workspace/submittable/submittable-workspace-context-base.d.ts +2 -2
  909. package/dist-cms/packages/core/workspace/submittable/submittable-workspace-context-base.js +9 -15
  910. package/dist-cms/packages/data-type/components/data-type-flow-input/data-type-flow-input.element.d.ts +1 -1
  911. package/dist-cms/packages/data-type/components/data-type-flow-input/data-type-flow-input.element.js +2 -2
  912. package/dist-cms/packages/data-type/components/data-type-input/data-type-input.element.d.ts +1 -1
  913. package/dist-cms/packages/data-type/entity-actions/manifests.js +3 -2
  914. package/dist-cms/packages/data-type/manifests.js +2 -0
  915. package/dist-cms/packages/data-type/reference/info-app/manifests.d.ts +1 -0
  916. package/dist-cms/packages/data-type/reference/info-app/manifests.js +20 -0
  917. package/dist-cms/packages/data-type/reference/manifests.js +2 -1
  918. package/dist-cms/packages/data-type/reference/repository/data-type-reference.repository.d.ts +5 -13
  919. package/dist-cms/packages/data-type/reference/repository/data-type-reference.repository.js +7 -14
  920. package/dist-cms/packages/data-type/reference/repository/data-type-reference.server.data.d.ts +18 -10
  921. package/dist-cms/packages/data-type/reference/repository/data-type-reference.server.data.js +43 -13
  922. package/dist-cms/packages/data-type/workspace/data-type-workspace.context.js +21 -3
  923. package/dist-cms/packages/data-type/workspace/views/details/data-type-details-workspace-view.element.js +4 -2
  924. package/dist-cms/packages/data-type/workspace/views/info/workspace-view-data-type-info.element.d.ts +0 -1
  925. package/dist-cms/packages/data-type/workspace/views/info/workspace-view-data-type-info.element.js +1 -3
  926. package/dist-cms/packages/dictionary/entity-action/import/import-dictionary-modal.element.js +2 -2
  927. package/dist-cms/packages/documents/document-blueprints/repository/detail/document-blueprint-detail.repository.d.ts +9 -1
  928. package/dist-cms/packages/documents/document-blueprints/repository/detail/document-blueprint-detail.repository.js +9 -0
  929. package/dist-cms/packages/documents/document-blueprints/repository/detail/document-blueprint-detail.server.data-source.d.ts +6 -23
  930. package/dist-cms/packages/documents/document-blueprints/repository/detail/document-blueprint-detail.server.data-source.js +41 -29
  931. package/dist-cms/packages/documents/document-redirect-management/dashboard-redirect-management.element.js +1 -3
  932. package/dist-cms/packages/documents/document-types/constants.d.ts +3 -2
  933. package/dist-cms/packages/documents/document-types/constants.js +3 -2
  934. package/dist-cms/packages/documents/document-types/entity-actions/import/modal/document-type-import-modal.element.d.ts +1 -2
  935. package/dist-cms/packages/documents/document-types/entity-actions/import/modal/document-type-import-modal.element.js +21 -22
  936. package/dist-cms/packages/documents/document-types/manifests.js +2 -0
  937. package/dist-cms/packages/documents/document-types/property-editors/document-type-picker/manifests.js +0 -6
  938. package/dist-cms/packages/documents/document-types/property-editors/document-type-picker/property-editor-ui-document-type-picker.element.d.ts +0 -1
  939. package/dist-cms/packages/documents/document-types/property-editors/document-type-picker/property-editor-ui-document-type-picker.element.js +2 -7
  940. package/dist-cms/packages/documents/document-types/property-type/constants.d.ts +1 -0
  941. package/dist-cms/packages/documents/document-types/property-type/constants.js +1 -0
  942. package/dist-cms/packages/documents/document-types/property-type/document-type-property-type-item-ref.element.d.ts +18 -0
  943. package/dist-cms/packages/documents/document-types/property-type/document-type-property-type-item-ref.element.js +79 -0
  944. package/dist-cms/packages/documents/document-types/property-type/document-type-property-type-reference-response.management-api.mapping.d.ts +8 -0
  945. package/dist-cms/packages/documents/document-types/property-type/document-type-property-type-reference-response.management-api.mapping.js +19 -0
  946. package/dist-cms/packages/documents/document-types/property-type/entity.d.ts +2 -0
  947. package/dist-cms/packages/documents/document-types/property-type/entity.js +1 -0
  948. package/dist-cms/packages/documents/document-types/property-type/manifests.d.ts +1 -0
  949. package/dist-cms/packages/documents/document-types/property-type/manifests.js +19 -0
  950. package/dist-cms/packages/documents/document-types/property-type/types.d.ts +11 -0
  951. package/dist-cms/packages/documents/document-types/property-type/types.js +1 -0
  952. package/dist-cms/packages/documents/document-types/repository/structure/document-type-structure.server.data-source.js +5 -2
  953. package/dist-cms/packages/documents/document-types/workspace/document-type/document-type-workspace-editor.element.d.ts +0 -8
  954. package/dist-cms/packages/documents/document-types/workspace/document-type/document-type-workspace-editor.element.js +3 -122
  955. package/dist-cms/packages/documents/document-types/workspace/document-type/views/settings/document-type-workspace-view-settings.element.js +24 -18
  956. package/dist-cms/packages/documents/documents/audit-log/info-app/document-history-workspace-info-app.element.js +1 -0
  957. package/dist-cms/packages/documents/documents/collection/action/create-document-collection-action.element.js +4 -4
  958. package/dist-cms/packages/documents/documents/collection/repository/document-collection.server.data-source.js +6 -0
  959. package/dist-cms/packages/documents/documents/collection/types.d.ts +2 -0
  960. package/dist-cms/packages/documents/documents/collection/views/table/column-layouts/document-entity-actions-table-column-view.element.d.ts +15 -0
  961. package/dist-cms/packages/documents/documents/collection/views/table/column-layouts/document-entity-actions-table-column-view.element.js +35 -0
  962. package/dist-cms/packages/documents/documents/collection/views/table/column-layouts/document-table-column-state.element.js +4 -4
  963. package/dist-cms/packages/documents/documents/collection/views/table/document-table-collection-view.element.d.ts +1 -0
  964. package/dist-cms/packages/documents/documents/collection/views/table/document-table-collection-view.element.js +3 -5
  965. package/dist-cms/packages/documents/documents/components/input-document/input-document.element.d.ts +0 -1
  966. package/dist-cms/packages/documents/documents/components/input-document/input-document.element.js +0 -3
  967. package/dist-cms/packages/documents/documents/entity-actions/create/document-create-options-modal.element.js +3 -3
  968. package/dist-cms/packages/documents/documents/entity-actions/duplicate/modal/duplicate-document-modal.element.js +7 -1
  969. package/dist-cms/packages/documents/documents/global-contexts/document-configuration.context.d.ts +2 -2
  970. package/dist-cms/packages/documents/documents/global-contexts/document-configuration.context.js +3 -4
  971. package/dist-cms/packages/documents/documents/modals/save-modal/document-save-modal.element.js +2 -2
  972. package/dist-cms/packages/documents/documents/property-editors/document-picker/manifests.js +0 -6
  973. package/dist-cms/packages/documents/documents/property-editors/document-picker/property-editor-ui-document-picker.element.d.ts +0 -1
  974. package/dist-cms/packages/documents/documents/property-editors/document-picker/property-editor-ui-document-picker.element.js +2 -7
  975. package/dist-cms/packages/documents/documents/publishing/publish/modal/document-publish-modal.element.js +2 -2
  976. package/dist-cms/packages/documents/documents/publishing/publish/workspace-action/save-and-publish.action.js +3 -3
  977. package/dist-cms/packages/documents/documents/publishing/publish-with-descendants/modal/document-publish-with-descendants-modal.element.js +2 -2
  978. package/dist-cms/packages/documents/documents/publishing/repository/document-publishing.repository.d.ts +1 -1
  979. package/dist-cms/packages/documents/documents/publishing/repository/document-publishing.repository.js +3 -0
  980. package/dist-cms/packages/documents/documents/publishing/repository/document-publishing.server.data-source.d.ts +5 -1
  981. package/dist-cms/packages/documents/documents/publishing/repository/document-publishing.server.data-source.js +19 -1
  982. package/dist-cms/packages/documents/documents/publishing/schedule-publish/modal/document-schedule-modal.element.js +3 -2
  983. package/dist-cms/packages/documents/documents/publishing/schedule-publish/workspace-action/manifests.js +1 -1
  984. package/dist-cms/packages/documents/documents/publishing/unpublish/modal/document-unpublish-modal.element.d.ts +3 -2
  985. package/dist-cms/packages/documents/documents/publishing/unpublish/modal/document-unpublish-modal.element.js +35 -46
  986. package/dist-cms/packages/documents/documents/publishing/workspace-context/document-publishing.workspace-context.js +10 -4
  987. package/dist-cms/packages/documents/documents/recycle-bin/entity-action/manifests.js +4 -0
  988. package/dist-cms/packages/documents/documents/recycle-bin/tree/types.d.ts +1 -1
  989. package/dist-cms/packages/documents/documents/reference/components/document-reference-table.element.d.ts +4 -0
  990. package/dist-cms/packages/documents/documents/reference/components/document-reference-table.element.js +14 -1
  991. package/dist-cms/packages/documents/documents/reference/info-app/manifests.js +5 -2
  992. package/dist-cms/packages/documents/documents/reference/repository/document-reference-response.management-api.mapping.js +1 -0
  993. package/dist-cms/packages/documents/documents/reference/types.d.ts +6 -2
  994. package/dist-cms/packages/documents/documents/rollback/entity-action/manifests.js +1 -0
  995. package/dist-cms/packages/documents/documents/rollback/entity-action/rollback.action.js +3 -1
  996. package/dist-cms/packages/documents/documents/rollback/modal/rollback-modal.element.js +2 -1
  997. package/dist-cms/packages/documents/documents/tree/document-tree.element.d.ts +1 -2
  998. package/dist-cms/packages/documents/documents/tree/document-tree.element.js +1 -2
  999. package/dist-cms/packages/documents/documents/tree/document-tree.server.data-source.js +6 -0
  1000. package/dist-cms/packages/documents/documents/tree/tree-item/document-tree-item.context.d.ts +1 -0
  1001. package/dist-cms/packages/documents/documents/tree/tree-item/document-tree-item.context.js +7 -0
  1002. package/dist-cms/packages/documents/documents/tree/types.d.ts +2 -0
  1003. package/dist-cms/packages/documents/documents/user-permissions/conditions/document-user-permission.condition.js +23 -7
  1004. package/dist-cms/packages/documents/documents/user-permissions/input-document-granular-user-permission/input-document-granular-user-permission.element.d.ts +2 -1
  1005. package/dist-cms/packages/documents/documents/user-permissions/input-document-granular-user-permission/input-document-granular-user-permission.element.js +25 -8
  1006. package/dist-cms/packages/documents/documents/workspace/document-workspace.context.d.ts +0 -1
  1007. package/dist-cms/packages/documents/documents/workspace/document-workspace.context.js +26 -13
  1008. package/dist-cms/packages/extension-types/index.d.ts +1 -0
  1009. package/dist-cms/packages/health-check/dashboard-health-check.element.d.ts +2 -1
  1010. package/dist-cms/packages/health-check/dashboard-health-check.element.js +3 -3
  1011. package/dist-cms/packages/health-check/health-check-dashboard.context.d.ts +4 -3
  1012. package/dist-cms/packages/health-check/health-check-dashboard.context.js +4 -3
  1013. package/dist-cms/packages/language/components/input-language/input-language.element.d.ts +9 -1
  1014. package/dist-cms/packages/language/components/input-language/input-language.element.js +39 -16
  1015. package/dist-cms/packages/language/item/langauge-item-ref.element.d.ts +18 -0
  1016. package/dist-cms/packages/language/item/langauge-item-ref.element.js +65 -0
  1017. package/dist-cms/packages/language/item/manifests.d.ts +1 -0
  1018. package/dist-cms/packages/language/item/manifests.js +10 -0
  1019. package/dist-cms/packages/language/manifests.js +13 -11
  1020. package/dist-cms/packages/language/repository/item/language-item.server.data-source.js +2 -0
  1021. package/dist-cms/packages/language/repository/item/types.d.ts +2 -0
  1022. package/dist-cms/packages/log-viewer/components/log-viewer-date-range-selector.element.js +6 -22
  1023. package/dist-cms/packages/log-viewer/workspace/logviewer-workspace.context.d.ts +3 -2
  1024. package/dist-cms/packages/log-viewer/workspace/logviewer-workspace.context.js +4 -5
  1025. package/dist-cms/packages/log-viewer/workspace/views/overview/components/log-viewer-log-types-chart.element.js +2 -1
  1026. package/dist-cms/packages/log-viewer/workspace/views/search/components/log-viewer-level-tag.element.js +3 -3
  1027. package/dist-cms/packages/log-viewer/workspace/views/search/components/log-viewer-message.element.js +0 -1
  1028. package/dist-cms/packages/markdown-editor/property-editors/markdown-editor/markdown-editor-property-value-preset.d.ts +1 -1
  1029. package/dist-cms/packages/markdown-editor/property-editors/markdown-editor/property-editor-ui-markdown-editor.element.js +2 -2
  1030. package/dist-cms/packages/media/dropzone/components/index.d.ts +1 -0
  1031. package/dist-cms/packages/media/dropzone/components/index.js +1 -0
  1032. package/dist-cms/packages/media/dropzone/components/input-dropzone/input-dropzone.element.d.ts +61 -0
  1033. package/dist-cms/packages/media/dropzone/components/input-dropzone/input-dropzone.element.js +268 -0
  1034. package/dist-cms/packages/media/dropzone/constants.d.ts +8 -0
  1035. package/dist-cms/packages/media/{media/dropzone/types.js → dropzone/constants.js} +1 -0
  1036. package/dist-cms/packages/media/dropzone/dropzone-change.event.d.ts +9 -0
  1037. package/dist-cms/packages/media/dropzone/dropzone-change.event.js +7 -0
  1038. package/dist-cms/packages/media/{media/dropzone → dropzone}/dropzone-manager.class.d.ts +11 -2
  1039. package/dist-cms/packages/media/{media/dropzone → dropzone}/dropzone-manager.class.js +73 -29
  1040. package/dist-cms/packages/media/dropzone/index.d.ts +7 -0
  1041. package/dist-cms/packages/media/dropzone/index.js +6 -0
  1042. package/dist-cms/packages/media/dropzone/manifests.d.ts +1 -0
  1043. package/dist-cms/packages/media/dropzone/manifests.js +2 -0
  1044. package/dist-cms/packages/media/{media/dropzone → dropzone}/modals/dropzone-media-type-picker/dropzone-media-type-picker-modal.element.d.ts +1 -1
  1045. package/dist-cms/packages/media/{media/dropzone → dropzone}/modals/dropzone-media-type-picker/dropzone-media-type-picker-modal.element.js +3 -3
  1046. package/dist-cms/packages/media/{media/dropzone → dropzone}/modals/dropzone-media-type-picker/dropzone-media-type-picker-modal.token.d.ts +2 -2
  1047. package/dist-cms/packages/media/{media/dropzone → dropzone}/modals/dropzone-media-type-picker/dropzone-media-type-picker-modal.token.js +1 -1
  1048. package/dist-cms/packages/media/dropzone/modals/manifests.d.ts +1 -0
  1049. package/dist-cms/packages/media/{media/dropzone → dropzone}/types.d.ts +4 -10
  1050. package/dist-cms/packages/media/dropzone/types.js +1 -0
  1051. package/dist-cms/packages/media/manifests.js +2 -0
  1052. package/dist-cms/packages/media/media/collection/action/create-media-collection-action.element.js +3 -3
  1053. package/dist-cms/packages/media/media/collection/media-collection.context.d.ts +1 -1
  1054. package/dist-cms/packages/media/media/collection/media-collection.element.js +2 -2
  1055. package/dist-cms/packages/media/media/collection/types.d.ts +1 -1
  1056. package/dist-cms/packages/media/media/collection/views/grid/media-grid-collection-view.element.js +1 -1
  1057. package/dist-cms/packages/media/media/components/input-image-cropper/image-cropper-field.element.d.ts +6 -3
  1058. package/dist-cms/packages/media/media/components/input-image-cropper/image-cropper-field.element.js +61 -43
  1059. package/dist-cms/packages/media/media/components/input-image-cropper/image-cropper-focus-setter.element.js +30 -1
  1060. package/dist-cms/packages/media/media/components/input-image-cropper/image-cropper-preview.element.d.ts +1 -1
  1061. package/dist-cms/packages/media/media/components/input-image-cropper/image-cropper-preview.element.js +3 -3
  1062. package/dist-cms/packages/media/media/components/input-image-cropper/input-image-cropper.element.d.ts +6 -6
  1063. package/dist-cms/packages/media/media/components/input-image-cropper/input-image-cropper.element.js +52 -47
  1064. package/dist-cms/packages/media/media/components/input-media/input-media.element.d.ts +0 -1
  1065. package/dist-cms/packages/media/media/components/input-media/input-media.element.js +3 -6
  1066. package/dist-cms/packages/media/media/components/input-rich-media/input-rich-media.element.js +6 -4
  1067. package/dist-cms/packages/media/media/components/input-upload-field/input-upload-field.element.d.ts +6 -7
  1068. package/dist-cms/packages/media/media/components/input-upload-field/input-upload-field.element.js +68 -175
  1069. package/dist-cms/packages/media/media/components/input-upload-field/preview/input-upload-field-audio.element.d.ts +1 -0
  1070. package/dist-cms/packages/media/media/components/input-upload-field/preview/input-upload-field-audio.element.js +4 -1
  1071. package/dist-cms/packages/media/media/components/input-upload-field/preview/input-upload-field-file.element.d.ts +0 -7
  1072. package/dist-cms/packages/media/media/components/input-upload-field/preview/input-upload-field-file.element.js +15 -67
  1073. package/dist-cms/packages/media/media/components/input-upload-field/preview/input-upload-field-image.element.d.ts +1 -0
  1074. package/dist-cms/packages/media/media/components/input-upload-field/preview/input-upload-field-image.element.js +21 -8
  1075. package/dist-cms/packages/media/media/components/input-upload-field/preview/input-upload-field-svg.element.d.ts +1 -0
  1076. package/dist-cms/packages/media/media/components/input-upload-field/preview/input-upload-field-svg.element.js +21 -13
  1077. package/dist-cms/packages/media/media/components/input-upload-field/preview/input-upload-field-video.element.d.ts +1 -0
  1078. package/dist-cms/packages/media/media/components/input-upload-field/preview/input-upload-field-video.element.js +4 -1
  1079. package/dist-cms/packages/media/media/components/input-upload-field/utils.js +4 -0
  1080. package/dist-cms/packages/media/media/constants.d.ts +0 -1
  1081. package/dist-cms/packages/media/media/constants.js +0 -1
  1082. package/dist-cms/packages/media/media/dropzone/dropzone-media.element.d.ts +42 -0
  1083. package/dist-cms/packages/media/media/dropzone/dropzone-media.element.js +127 -0
  1084. package/dist-cms/packages/media/media/dropzone/dropzone.element.d.ts +7 -32
  1085. package/dist-cms/packages/media/media/dropzone/dropzone.element.js +16 -158
  1086. package/dist-cms/packages/media/media/dropzone/index.d.ts +1 -2
  1087. package/dist-cms/packages/media/media/dropzone/index.js +1 -2
  1088. package/dist-cms/packages/media/media/entity-actions/create/media-create-options-modal.element.js +3 -3
  1089. package/dist-cms/packages/media/media/entity-actions/manifests.js +1 -1
  1090. package/dist-cms/packages/media/media/index.d.ts +4 -0
  1091. package/dist-cms/packages/media/media/index.js +4 -0
  1092. package/dist-cms/packages/media/media/manifests.js +0 -2
  1093. package/dist-cms/packages/media/media/modals/media-picker/components/media-picker-create-item.element.js +1 -1
  1094. package/dist-cms/packages/media/media/modals/media-picker/media-picker-modal.element.js +20 -6
  1095. package/dist-cms/packages/media/media/property-editors/image-cropper/property-editor-ui-image-cropper.element.d.ts +1 -1
  1096. package/dist-cms/packages/media/media/property-editors/image-cropper/property-editor-ui-image-cropper.element.js +2 -2
  1097. package/dist-cms/packages/media/media/property-editors/image-crops/property-editor-ui-image-crops.element.js +14 -6
  1098. package/dist-cms/packages/media/media/property-editors/media-entity-picker/property-editor-ui-media-entity-picker.element.js +2 -2
  1099. package/dist-cms/packages/media/media/property-editors/media-picker/property-editor-ui-media-picker.element.js +2 -2
  1100. package/dist-cms/packages/media/media/property-editors/upload-field/property-editor-ui-upload-field.element.d.ts +1 -1
  1101. package/dist-cms/packages/media/media/property-editors/upload-field/property-editor-ui-upload-field.element.js +2 -2
  1102. package/dist-cms/packages/media/media/recycle-bin/entity-action/manifests.js +6 -0
  1103. package/dist-cms/packages/media/media/reference/info-app/manifests.js +5 -2
  1104. package/dist-cms/packages/media/media/reference/repository/media-reference-response.management-api.mapping.js +1 -0
  1105. package/dist-cms/packages/media/media/reference/repository/types.d.ts +6 -2
  1106. package/dist-cms/packages/media/media/types.d.ts +0 -1
  1107. package/dist-cms/packages/media/media-types/constants.d.ts +1 -0
  1108. package/dist-cms/packages/media/media-types/constants.js +1 -0
  1109. package/dist-cms/packages/media/media-types/entity-actions/import/modal/media-type-import-modal.element.d.ts +0 -1
  1110. package/dist-cms/packages/media/media-types/entity-actions/import/modal/media-type-import-modal.element.js +21 -22
  1111. package/dist-cms/packages/media/media-types/manifests.js +6 -4
  1112. package/dist-cms/packages/media/media-types/property-editors/media-type-picker/manifests.js +0 -10
  1113. package/dist-cms/packages/media/media-types/property-editors/media-type-picker/property-editor-ui-media-type-picker.element.js +2 -2
  1114. package/dist-cms/packages/media/media-types/property-type/constants.d.ts +1 -0
  1115. package/dist-cms/packages/media/media-types/property-type/constants.js +1 -0
  1116. package/dist-cms/packages/media/media-types/property-type/entity.d.ts +2 -0
  1117. package/dist-cms/packages/media/media-types/property-type/entity.js +1 -0
  1118. package/dist-cms/packages/media/media-types/property-type/manifests.d.ts +1 -0
  1119. package/dist-cms/packages/media/media-types/property-type/manifests.js +19 -0
  1120. package/dist-cms/packages/media/media-types/property-type/media-type-property-type-item-ref.element.d.ts +18 -0
  1121. package/dist-cms/packages/media/media-types/property-type/media-type-property-type-item-ref.element.js +79 -0
  1122. package/dist-cms/packages/media/media-types/property-type/media-type-property-type-reference-response.management-api.mapping.d.ts +8 -0
  1123. package/dist-cms/packages/media/media-types/property-type/media-type-property-type-reference-response.management-api.mapping.js +19 -0
  1124. package/dist-cms/packages/media/media-types/property-type/types.d.ts +11 -0
  1125. package/dist-cms/packages/media/media-types/property-type/types.js +1 -0
  1126. package/dist-cms/packages/media/media-types/repository/structure/media-type-structure.server.data-source.js +5 -2
  1127. package/dist-cms/packages/media/media-types/workspace/media-type-workspace-editor.element.d.ts +0 -9
  1128. package/dist-cms/packages/media/media-types/workspace/media-type-workspace-editor.element.js +3 -123
  1129. package/dist-cms/packages/media/vite.config.js +1 -0
  1130. package/dist-cms/packages/members/member/constants.d.ts +1 -0
  1131. package/dist-cms/packages/members/member/constants.js +1 -0
  1132. package/dist-cms/packages/members/member/entity-actions/manifests.js +4 -2
  1133. package/dist-cms/packages/members/member/item/repository/types.d.ts +9 -1
  1134. package/dist-cms/packages/members/member/manifests.js +2 -0
  1135. package/dist-cms/packages/members/member/property-editor/member-picker/property-editor-ui-member-picker.element.js +2 -2
  1136. package/dist-cms/packages/members/member/reference/constants.d.ts +1 -0
  1137. package/dist-cms/packages/members/member/reference/constants.js +1 -0
  1138. package/dist-cms/packages/members/member/reference/index.d.ts +1 -0
  1139. package/dist-cms/packages/members/member/reference/index.js +1 -0
  1140. package/dist-cms/packages/members/member/reference/info-app/manifests.d.ts +1 -0
  1141. package/dist-cms/packages/members/member/reference/info-app/manifests.js +20 -0
  1142. package/dist-cms/packages/members/member/reference/manifests.d.ts +1 -0
  1143. package/dist-cms/packages/members/member/reference/manifests.js +3 -0
  1144. package/dist-cms/packages/members/member/reference/repository/constants.d.ts +1 -0
  1145. package/dist-cms/packages/members/member/reference/repository/constants.js +1 -0
  1146. package/dist-cms/packages/members/member/reference/repository/index.d.ts +1 -0
  1147. package/dist-cms/packages/members/member/reference/repository/index.js +1 -0
  1148. package/dist-cms/packages/members/member/reference/repository/manifests.d.ts +1 -0
  1149. package/dist-cms/packages/members/member/reference/repository/manifests.js +18 -0
  1150. package/dist-cms/packages/members/member/reference/repository/member-reference-response.management-api.mapping.d.ts +8 -0
  1151. package/dist-cms/packages/members/member/reference/repository/member-reference-response.management-api.mapping.js +25 -0
  1152. package/dist-cms/packages/members/member/reference/repository/member-reference.repository.d.ts +13 -0
  1153. package/dist-cms/packages/members/member/reference/repository/member-reference.repository.js +25 -0
  1154. package/dist-cms/packages/members/member/reference/repository/member-reference.server.data.d.ts +38 -0
  1155. package/dist-cms/packages/members/member/reference/repository/member-reference.server.data.js +83 -0
  1156. package/dist-cms/packages/members/member/reference/repository/types.d.ts +17 -0
  1157. package/dist-cms/packages/members/member/reference/repository/types.js +1 -0
  1158. package/dist-cms/packages/members/member/repository/member-repository-base.d.ts +1 -1
  1159. package/dist-cms/packages/members/member/repository/member-repository-base.js +1 -1
  1160. package/dist-cms/packages/members/member/workspace/member/views/member/member-workspace-view-member-info.element.js +2 -2
  1161. package/dist-cms/packages/members/member/workspace/member/views/member/member-workspace-view-member.element.d.ts +1 -0
  1162. package/dist-cms/packages/members/member/workspace/member/views/member/member-workspace-view-member.element.js +34 -16
  1163. package/dist-cms/packages/members/member-group/components/input-member-group/input-member-group.element.d.ts +0 -1
  1164. package/dist-cms/packages/members/member-group/components/input-member-group/input-member-group.element.js +0 -3
  1165. package/dist-cms/packages/members/member-group/property-editor/member-group-picker/property-editor-ui-member-group-picker.element.js +2 -3
  1166. package/dist-cms/packages/members/member-type/constants.d.ts +2 -1
  1167. package/dist-cms/packages/members/member-type/constants.js +2 -1
  1168. package/dist-cms/packages/members/member-type/manifests.js +2 -0
  1169. package/dist-cms/packages/members/member-type/property-type/constants.d.ts +1 -0
  1170. package/dist-cms/packages/members/member-type/property-type/constants.js +1 -0
  1171. package/dist-cms/packages/members/member-type/property-type/entity.d.ts +2 -0
  1172. package/dist-cms/packages/members/member-type/property-type/entity.js +1 -0
  1173. package/dist-cms/packages/members/member-type/property-type/manifests.d.ts +1 -0
  1174. package/dist-cms/packages/members/member-type/property-type/manifests.js +19 -0
  1175. package/dist-cms/packages/members/member-type/property-type/member-type-property-type-item-ref.element.d.ts +18 -0
  1176. package/dist-cms/packages/members/member-type/property-type/member-type-property-type-item-ref.element.js +79 -0
  1177. package/dist-cms/packages/members/member-type/property-type/member-type-property-type-reference-response.management-api.mapping.d.ts +8 -0
  1178. package/dist-cms/packages/members/member-type/property-type/member-type-property-type-reference-response.management-api.mapping.js +19 -0
  1179. package/dist-cms/packages/members/member-type/property-type/types.d.ts +11 -0
  1180. package/dist-cms/packages/members/member-type/property-type/types.js +1 -0
  1181. package/dist-cms/packages/members/member-type/workspace/member-type-workspace-editor.element.d.ts +0 -8
  1182. package/dist-cms/packages/members/member-type/workspace/member-type-workspace-editor.element.js +3 -131
  1183. package/dist-cms/packages/models-builder/models-builder-dashboard.element.js +9 -17
  1184. package/dist-cms/packages/multi-url-picker/components/input-multi-url/input-multi-url.element.d.ts +1 -1
  1185. package/dist-cms/packages/multi-url-picker/link-picker-modal/link-picker-modal.element.js +1 -2
  1186. package/dist-cms/packages/multi-url-picker/property-editor/property-editor-ui-multi-url-picker.element.js +2 -2
  1187. package/dist-cms/packages/property-editors/accepted-types/property-editor-ui-accepted-upload-types.element.d.ts +0 -5
  1188. package/dist-cms/packages/property-editors/accepted-types/property-editor-ui-accepted-upload-types.element.js +4 -44
  1189. package/dist-cms/packages/property-editors/checkbox-list/components/input-checkbox-list/input-checkbox-list.element.d.ts +8 -2
  1190. package/dist-cms/packages/property-editors/checkbox-list/components/input-checkbox-list/input-checkbox-list.element.js +30 -24
  1191. package/dist-cms/packages/property-editors/checkbox-list/property-editor-ui-checkbox-list.element.d.ts +9 -1
  1192. package/dist-cms/packages/property-editors/checkbox-list/property-editor-ui-checkbox-list.element.js +19 -5
  1193. package/dist-cms/packages/property-editors/collection/config/bulk-action-permissions/permissions.element.js +2 -2
  1194. package/dist-cms/packages/property-editors/collection/config/column/column-configuration.element.js +15 -7
  1195. package/dist-cms/packages/property-editors/collection/config/column/components/input-collection-content-type-property.element.d.ts +1 -1
  1196. package/dist-cms/packages/property-editors/collection/config/layout/layout-configuration.element.js +15 -7
  1197. package/dist-cms/packages/property-editors/collection/config/order-by/order-by.element.js +2 -2
  1198. package/dist-cms/packages/property-editors/color-picker/property-editor-ui-color-picker.element.js +2 -2
  1199. package/dist-cms/packages/property-editors/color-swatches-editor/property-editor-ui-color-swatches-editor.element.js +2 -2
  1200. package/dist-cms/packages/property-editors/content-picker/components/input-content/input-content.element.d.ts +1 -3
  1201. package/dist-cms/packages/property-editors/content-picker/components/input-content/input-content.element.js +3 -10
  1202. package/dist-cms/packages/property-editors/content-picker/config/source-content/input-content-picker-source.element.d.ts +1 -1
  1203. package/dist-cms/packages/property-editors/content-picker/config/source-content/property-editor-ui-content-picker-source.element.d.ts +1 -1
  1204. package/dist-cms/packages/property-editors/content-picker/config/source-content/property-editor-ui-content-picker-source.element.js +2 -2
  1205. package/dist-cms/packages/property-editors/content-picker/config/source-type/property-editor-ui-content-picker-source-type.element.js +2 -2
  1206. package/dist-cms/packages/property-editors/content-picker/manifests.js +0 -6
  1207. package/dist-cms/packages/property-editors/content-picker/property-editor-ui-content-picker.element.d.ts +11 -12
  1208. package/dist-cms/packages/property-editors/content-picker/property-editor-ui-content-picker.element.js +70 -11
  1209. package/dist-cms/packages/property-editors/date-picker/property-editor-ui-date-picker.element.js +2 -2
  1210. package/dist-cms/packages/property-editors/dropdown/property-editor-ui-dropdown.element.d.ts +12 -3
  1211. package/dist-cms/packages/property-editors/dropdown/property-editor-ui-dropdown.element.js +47 -18
  1212. package/dist-cms/packages/property-editors/eye-dropper/property-editor-ui-eye-dropper.element.js +2 -2
  1213. package/dist-cms/packages/property-editors/icon-picker/property-editor-ui-icon-picker.element.js +4 -5
  1214. package/dist-cms/packages/property-editors/multiple-text-string/property-editor-ui-multiple-text-string.element.js +2 -2
  1215. package/dist-cms/packages/property-editors/number/property-editor-ui-number.element.js +2 -2
  1216. package/dist-cms/packages/property-editors/number-range/property-editor-ui-number-range.element.js +2 -2
  1217. package/dist-cms/packages/property-editors/order-direction/property-editor-ui-order-direction.element.js +2 -2
  1218. package/dist-cms/packages/property-editors/overlay-size/property-editor-ui-overlay-size.element.d.ts +1 -1
  1219. package/dist-cms/packages/property-editors/overlay-size/property-editor-ui-overlay-size.element.js +2 -2
  1220. package/dist-cms/packages/property-editors/radio-button-list/property-editor-ui-radio-button-list.element.d.ts +10 -3
  1221. package/dist-cms/packages/property-editors/radio-button-list/property-editor-ui-radio-button-list.element.js +21 -11
  1222. package/dist-cms/packages/property-editors/select/property-editor-ui-select.element.js +2 -2
  1223. package/dist-cms/packages/property-editors/slider/property-editor-ui-slider.element.js +2 -2
  1224. package/dist-cms/packages/property-editors/text-box/property-editor-ui-text-box.element.d.ts +1 -1
  1225. package/dist-cms/packages/property-editors/text-box/property-editor-ui-text-box.element.js +2 -2
  1226. package/dist-cms/packages/property-editors/textarea/manifests.js +0 -14
  1227. package/dist-cms/packages/property-editors/textarea/property-editor-ui-textarea.element.d.ts +0 -2
  1228. package/dist-cms/packages/property-editors/textarea/property-editor-ui-textarea.element.js +8 -15
  1229. package/dist-cms/packages/property-editors/toggle/property-editor-ui-toggle.element.js +2 -2
  1230. package/dist-cms/packages/property-editors/value-type/property-editor-ui-value-type.element.d.ts +1 -1
  1231. package/dist-cms/packages/property-editors/value-type/property-editor-ui-value-type.element.js +2 -2
  1232. package/dist-cms/packages/publish-cache/dashboard-published-status.element.d.ts +2 -0
  1233. package/dist-cms/packages/publish-cache/dashboard-published-status.element.js +19 -1
  1234. package/dist-cms/packages/relations/relations/entity-actions/bulk-delete/modal/bulk-delete-with-relation-modal.element.d.ts +2 -2
  1235. package/dist-cms/packages/relations/relations/entity-actions/bulk-delete/modal/bulk-delete-with-relation-modal.element.js +0 -2
  1236. package/dist-cms/packages/relations/relations/entity-actions/bulk-trash/modal/bulk-trash-with-relation-modal.element.d.ts +2 -2
  1237. package/dist-cms/packages/relations/relations/entity-actions/bulk-trash/modal/bulk-trash-with-relation-modal.element.js +0 -2
  1238. package/dist-cms/packages/relations/relations/entity-actions/delete/modal/delete-with-relation-modal.element.d.ts +2 -2
  1239. package/dist-cms/packages/relations/relations/entity-actions/delete/modal/delete-with-relation-modal.element.js +0 -1
  1240. package/dist-cms/packages/relations/relations/entity-actions/trash/modal/trash-with-relation-modal.element.d.ts +2 -2
  1241. package/dist-cms/packages/relations/relations/entity-actions/trash/modal/trash-with-relation-modal.element.js +0 -2
  1242. package/dist-cms/packages/relations/relations/{entity-actions/local-components/confirm-action-entity-references.element.d.ts → global-components/confirm-action-modal-entity-references.element.d.ts} +11 -10
  1243. package/dist-cms/packages/relations/relations/{entity-actions/local-components/confirm-action-entity-references.element.js → global-components/confirm-action-modal-entity-references.element.js} +13 -5
  1244. package/dist-cms/packages/relations/relations/{entity-actions/local-components/confirm-bulk-action-entity-references.element.d.ts → global-components/confirm-bulk-action-modal-entity-references.element.d.ts} +7 -3
  1245. package/dist-cms/packages/relations/relations/{entity-actions/local-components/confirm-bulk-action-entity-references.element.js → global-components/confirm-bulk-action-modal-entity-references.element.js} +4 -5
  1246. package/dist-cms/packages/relations/relations/global-components/index.d.ts +4 -0
  1247. package/dist-cms/packages/relations/relations/global-components/index.js +4 -0
  1248. package/dist-cms/packages/relations/relations/global-components/types.d.ts +2 -0
  1249. package/dist-cms/packages/relations/relations/global-components/types.js +1 -0
  1250. package/dist-cms/packages/relations/relations/index.d.ts +2 -1
  1251. package/dist-cms/packages/relations/relations/index.js +2 -1
  1252. package/dist-cms/packages/relations/relations/manifests.js +2 -0
  1253. package/dist-cms/packages/relations/relations/reference/types.d.ts +2 -2
  1254. package/dist-cms/packages/relations/relations/reference/workspace-info-app/entity-references-workspace-view-info.element.d.ts +21 -0
  1255. package/dist-cms/packages/{documents/documents/reference/info-app/document-references-workspace-view-info.element.js → relations/relations/reference/workspace-info-app/entity-references-workspace-view-info.element.js} +50 -34
  1256. package/dist-cms/packages/relations/relations/reference/workspace-info-app/entity-references-workspace-view-info.kind.d.ts +2 -0
  1257. package/dist-cms/packages/relations/relations/reference/workspace-info-app/entity-references-workspace-view-info.kind.js +12 -0
  1258. package/dist-cms/packages/relations/relations/reference/workspace-info-app/manifests.d.ts +2 -0
  1259. package/dist-cms/packages/relations/relations/reference/workspace-info-app/manifests.js +2 -0
  1260. package/dist-cms/packages/relations/relations/reference/workspace-info-app/types.d.ts +13 -0
  1261. package/dist-cms/packages/relations/relations/reference/workspace-info-app/types.js +1 -0
  1262. package/dist-cms/packages/relations/relations/types.d.ts +1 -0
  1263. package/dist-cms/packages/relations/relations/utils.d.ts +6 -1
  1264. package/dist-cms/packages/relations/relations/utils.js +7 -0
  1265. package/dist-cms/packages/rte/components/rte-base.element.js +34 -10
  1266. package/dist-cms/packages/rte/manifests.js +4 -2
  1267. package/dist-cms/packages/rte/validation/manifests.d.ts +1 -0
  1268. package/dist-cms/packages/rte/validation/manifests.js +10 -0
  1269. package/dist-cms/packages/rte/validation/rte-validation-property-path-translator.api.d.ts +7 -0
  1270. package/dist-cms/packages/rte/validation/rte-validation-property-path-translator.api.js +14 -0
  1271. package/dist-cms/packages/settings/welcome/settings-welcome-dashboard.element.js +6 -6
  1272. package/dist-cms/packages/static-file/property-editors/static-file-picker/property-editor-ui-static-file-picker.element.d.ts +1 -1
  1273. package/dist-cms/packages/static-file/property-editors/static-file-picker/property-editor-ui-static-file-picker.element.js +2 -2
  1274. package/dist-cms/packages/tags/components/tags-input/tags-input.element.d.ts +1 -1
  1275. package/dist-cms/packages/tags/property-editors/tags/Umbraco.Tags.js +2 -2
  1276. package/dist-cms/packages/tags/property-editors/tags/property-editor-ui-tags.element.d.ts +1 -1
  1277. package/dist-cms/packages/tags/property-editors/tags/property-editor-ui-tags.element.js +2 -2
  1278. package/dist-cms/packages/telemetry/dashboard-telemetry.element.js +4 -6
  1279. package/dist-cms/packages/templating/stylesheets/global-components/stylesheet-input/stylesheet-input.element.d.ts +1 -1
  1280. package/dist-cms/packages/templating/stylesheets/global-components/stylesheet-input/stylesheet-input.element.js +4 -3
  1281. package/dist-cms/packages/templating/stylesheets/global-components/stylesheet-rule-input/stylesheet-rule-input.element.d.ts +1 -1
  1282. package/dist-cms/packages/templating/stylesheets/global-components/stylesheet-rule-input/stylesheet-rule-input.element.js +5 -4
  1283. package/dist-cms/packages/templating/stylesheets/global-components/stylesheet-rule-input/stylesheet-rule-settings-modal.element.js +1 -1
  1284. package/dist-cms/packages/templating/stylesheets/manifests.js +2 -0
  1285. package/dist-cms/packages/templating/stylesheets/property-editors/manifests.d.ts +1 -0
  1286. package/dist-cms/packages/templating/stylesheets/property-editors/manifests.js +2 -0
  1287. package/dist-cms/packages/templating/stylesheets/property-editors/stylesheet-picker/manifests.d.ts +2 -0
  1288. package/dist-cms/packages/templating/stylesheets/property-editors/stylesheet-picker/manifests.js +11 -0
  1289. package/dist-cms/packages/templating/stylesheets/property-editors/stylesheet-picker/property-editor-ui-stylesheet-picker.element.d.ts +15 -0
  1290. package/dist-cms/packages/templating/stylesheets/property-editors/stylesheet-picker/property-editor-ui-stylesheet-picker.element.js +43 -0
  1291. package/dist-cms/packages/templating/templates/global-components/input-template/input-template.element.d.ts +1 -1
  1292. package/dist-cms/packages/templating/templates/global-components/input-template/input-template.element.js +2 -2
  1293. package/dist-cms/packages/templating/templates/global-components/template-card/template-card.element.d.ts +1 -1
  1294. package/dist-cms/packages/templating/templates/modals/query-builder/query-builder-modal.element.js +12 -18
  1295. package/dist-cms/packages/tiny-mce/components/input-tiny-mce/input-tiny-mce.element.d.ts +1 -1
  1296. package/dist-cms/packages/tiny-mce/plugins/tinymce-plugin.extension.d.ts +3 -2
  1297. package/dist-cms/packages/tiny-mce/property-editors/block/property-editor-ui-block-rte-type-configuration.element.js +2 -2
  1298. package/dist-cms/packages/tiny-mce/property-editors/dimensions/property-editor-ui-tiny-mce-dimensions-configuration.element.js +3 -3
  1299. package/dist-cms/packages/tiny-mce/property-editors/max-image-size/property-editor-ui-tiny-mce-maximagesize.element.js +2 -2
  1300. package/dist-cms/packages/tiny-mce/property-editors/stylesheets/property-editor-ui-tiny-mce-stylesheets-configuration.element.d.ts +1 -0
  1301. package/dist-cms/packages/tiny-mce/property-editors/stylesheets/property-editor-ui-tiny-mce-stylesheets-configuration.element.js +11 -2
  1302. package/dist-cms/packages/tiny-mce/property-editors/tiny-mce/manifests.js +1 -1
  1303. package/dist-cms/packages/tiny-mce/property-editors/toolbar/property-editor-ui-tiny-mce-toolbar-configuration.element.js +2 -2
  1304. package/dist-cms/packages/tiptap/components/anchor-modal/anchor-modal.element.d.ts +13 -0
  1305. package/dist-cms/packages/tiptap/components/anchor-modal/anchor-modal.element.js +77 -0
  1306. package/dist-cms/packages/tiptap/components/anchor-modal/anchor-modal.token.d.ts +6 -0
  1307. package/dist-cms/packages/tiptap/components/anchor-modal/anchor-modal.token.js +5 -0
  1308. package/dist-cms/packages/tiptap/components/anchor-modal/constants.d.ts +1 -0
  1309. package/dist-cms/packages/tiptap/components/anchor-modal/constants.js +1 -0
  1310. package/dist-cms/packages/tiptap/components/anchor-modal/index.d.ts +1 -0
  1311. package/dist-cms/packages/tiptap/components/anchor-modal/index.js +1 -0
  1312. package/dist-cms/packages/tiptap/components/anchor-modal/manifests.d.ts +2 -0
  1313. package/dist-cms/packages/tiptap/components/anchor-modal/manifests.js +9 -0
  1314. package/dist-cms/packages/tiptap/components/cascading-menu-popover/cascading-menu-popover.element.d.ts +3 -3
  1315. package/dist-cms/packages/tiptap/components/cascading-menu-popover/cascading-menu-popover.element.js +23 -20
  1316. package/dist-cms/packages/tiptap/components/character-map/character-map-modal.element.d.ts +16 -0
  1317. package/dist-cms/packages/tiptap/components/character-map/character-map-modal.element.js +466 -0
  1318. package/dist-cms/packages/tiptap/components/character-map/character-map-modal.token.d.ts +4 -0
  1319. package/dist-cms/packages/tiptap/components/character-map/character-map-modal.token.js +5 -0
  1320. package/dist-cms/packages/tiptap/components/character-map/constants.d.ts +1 -0
  1321. package/dist-cms/packages/tiptap/components/character-map/constants.js +1 -0
  1322. package/dist-cms/packages/tiptap/components/character-map/index.d.ts +1 -0
  1323. package/dist-cms/packages/tiptap/components/character-map/index.js +1 -0
  1324. package/dist-cms/packages/tiptap/components/character-map/manifests.d.ts +2 -0
  1325. package/dist-cms/packages/tiptap/components/character-map/manifests.js +9 -0
  1326. package/dist-cms/packages/tiptap/components/index.d.ts +2 -0
  1327. package/dist-cms/packages/tiptap/components/index.js +2 -0
  1328. package/dist-cms/packages/tiptap/components/input-tiptap/input-tiptap.element.d.ts +3 -2
  1329. package/dist-cms/packages/tiptap/components/input-tiptap/input-tiptap.element.js +61 -56
  1330. package/dist-cms/packages/tiptap/components/input-tiptap/tiptap-statusbar.element.d.ts +23 -0
  1331. package/dist-cms/packages/tiptap/components/input-tiptap/tiptap-statusbar.element.js +115 -0
  1332. package/dist-cms/packages/tiptap/components/input-tiptap/tiptap-toolbar.element.d.ts +2 -1
  1333. package/dist-cms/packages/tiptap/components/input-tiptap/tiptap-toolbar.element.js +12 -9
  1334. package/dist-cms/packages/tiptap/components/manifests.d.ts +1 -0
  1335. package/dist-cms/packages/tiptap/components/manifests.js +3 -0
  1336. package/dist-cms/packages/tiptap/components/toolbar/style-menu.tiptap-toolbar-api.d.ts +7 -0
  1337. package/dist-cms/packages/tiptap/components/toolbar/style-menu.tiptap-toolbar-api.js +31 -0
  1338. package/dist-cms/packages/tiptap/components/toolbar/tiptap-toolbar-button-disabled.element.js +6 -5
  1339. package/dist-cms/packages/tiptap/components/toolbar/tiptap-toolbar-button.element.js +4 -3
  1340. package/dist-cms/packages/tiptap/{extensions/toolbar/font-family-tiptap-toolbar.element.d.ts → components/toolbar/tiptap-toolbar-color-picker-button.element.d.ts} +4 -4
  1341. package/dist-cms/packages/tiptap/components/toolbar/tiptap-toolbar-color-picker-button.element.js +74 -0
  1342. package/dist-cms/packages/tiptap/components/toolbar/tiptap-toolbar-menu.element.d.ts +23 -0
  1343. package/dist-cms/packages/tiptap/components/toolbar/tiptap-toolbar-menu.element.js +142 -0
  1344. package/dist-cms/packages/tiptap/components/types.d.ts +1 -0
  1345. package/dist-cms/packages/tiptap/constants.d.ts +3 -0
  1346. package/dist-cms/packages/tiptap/constants.js +3 -0
  1347. package/dist-cms/packages/tiptap/extensions/core/rich-text-essentials.tiptap-api.d.ts +2 -2
  1348. package/dist-cms/packages/tiptap/extensions/core/rich-text-essentials.tiptap-api.js +55 -5
  1349. package/dist-cms/packages/tiptap/extensions/core/text-indent.tiptap-api.d.ts +4 -0
  1350. package/dist-cms/packages/tiptap/extensions/core/text-indent.tiptap-api.js +12 -0
  1351. package/dist-cms/packages/tiptap/extensions/core/word-count.tiptap-api.d.ts +5 -0
  1352. package/dist-cms/packages/tiptap/extensions/core/word-count.tiptap-api.js +10 -0
  1353. package/dist-cms/packages/tiptap/extensions/index.d.ts +1 -0
  1354. package/dist-cms/packages/tiptap/extensions/index.js +1 -0
  1355. package/dist-cms/packages/tiptap/extensions/manifests.d.ts +1 -3
  1356. package/dist-cms/packages/tiptap/extensions/manifests.js +152 -6
  1357. package/dist-cms/packages/tiptap/extensions/statusbar/element-path.tiptap-statusbar-element.d.ts +18 -0
  1358. package/dist-cms/packages/tiptap/extensions/statusbar/element-path.tiptap-statusbar-element.js +74 -0
  1359. package/dist-cms/packages/tiptap/extensions/statusbar/manifests.d.ts +1 -0
  1360. package/dist-cms/packages/tiptap/extensions/statusbar/manifests.js +25 -0
  1361. package/dist-cms/packages/tiptap/extensions/statusbar/word-count.tiptap-statusbar-element.d.ts +18 -0
  1362. package/dist-cms/packages/tiptap/extensions/statusbar/word-count.tiptap-statusbar-element.js +56 -0
  1363. package/dist-cms/packages/tiptap/extensions/style-select/manifests.d.ts +1 -2
  1364. package/dist-cms/packages/tiptap/extensions/style-select/manifests.js +42 -1
  1365. package/dist-cms/packages/tiptap/extensions/style-select/style-select.tiptap-toolbar-api.d.ts +4 -0
  1366. package/dist-cms/packages/tiptap/extensions/style-select/style-select.tiptap-toolbar-api.js +4 -0
  1367. package/dist-cms/packages/tiptap/extensions/table/components/constants.d.ts +1 -0
  1368. package/dist-cms/packages/tiptap/extensions/table/components/constants.js +1 -0
  1369. package/dist-cms/packages/tiptap/extensions/table/components/table-column-menu.element.d.ts +14 -0
  1370. package/dist-cms/packages/tiptap/extensions/table/components/table-column-menu.element.js +48 -0
  1371. package/dist-cms/packages/tiptap/extensions/table/components/table-insert.element.js +1 -1
  1372. package/dist-cms/packages/tiptap/extensions/table/components/table-properties-modal.element.d.ts +14 -0
  1373. package/dist-cms/packages/tiptap/extensions/table/components/table-properties-modal.element.js +123 -0
  1374. package/dist-cms/packages/tiptap/extensions/table/components/table-properties-modal.token.d.ts +5 -0
  1375. package/dist-cms/packages/tiptap/extensions/table/components/table-properties-modal.token.js +5 -0
  1376. package/dist-cms/packages/tiptap/extensions/table/components/table-row-menu.element.d.ts +14 -0
  1377. package/dist-cms/packages/tiptap/extensions/table/components/table-row-menu.element.js +48 -0
  1378. package/dist-cms/packages/tiptap/extensions/table/components/table-toolbar-menu.element.d.ts +11 -0
  1379. package/dist-cms/packages/tiptap/extensions/table/components/table-toolbar-menu.element.js +36 -0
  1380. package/dist-cms/packages/tiptap/extensions/table/index.d.ts +1 -0
  1381. package/dist-cms/packages/tiptap/extensions/table/index.js +1 -0
  1382. package/dist-cms/packages/tiptap/extensions/table/manifests.d.ts +1 -2
  1383. package/dist-cms/packages/tiptap/extensions/table/manifests.js +45 -2
  1384. package/dist-cms/packages/tiptap/extensions/table/table.tiptap-api.d.ts +2 -0
  1385. package/dist-cms/packages/tiptap/extensions/table/table.tiptap-api.js +3 -3
  1386. package/dist-cms/packages/tiptap/extensions/table/table.tiptap-toolbar-api.d.ts +3 -3
  1387. package/dist-cms/packages/tiptap/extensions/table/table.tiptap-toolbar-api.js +128 -107
  1388. package/dist-cms/packages/tiptap/extensions/tiptap-statusbar.extension.d.ts +17 -0
  1389. package/dist-cms/packages/tiptap/extensions/tiptap-statusbar.extension.js +1 -0
  1390. package/dist-cms/packages/tiptap/extensions/tiptap-toolbar.extension.d.ts +42 -2
  1391. package/dist-cms/packages/tiptap/extensions/toolbar/anchor.tiptap-toolbar-api.d.ts +5 -0
  1392. package/dist-cms/packages/tiptap/extensions/toolbar/anchor.tiptap-toolbar-api.js +22 -0
  1393. package/dist-cms/packages/tiptap/extensions/toolbar/character-map.tiptap-toolbar-api.d.ts +5 -0
  1394. package/dist-cms/packages/tiptap/extensions/toolbar/character-map.tiptap-toolbar-api.js +17 -0
  1395. package/dist-cms/packages/tiptap/extensions/toolbar/embedded-media.tiptap-toolbar-api.d.ts +0 -1
  1396. package/dist-cms/packages/tiptap/extensions/toolbar/embedded-media.tiptap-toolbar-api.js +0 -4
  1397. package/dist-cms/packages/tiptap/extensions/toolbar/font-family.tiptap-toolbar-api.d.ts +6 -0
  1398. package/dist-cms/packages/tiptap/extensions/toolbar/font-family.tiptap-toolbar-api.js +8 -0
  1399. package/dist-cms/packages/tiptap/extensions/toolbar/font-size.tiptap-toolbar-api.d.ts +6 -0
  1400. package/dist-cms/packages/tiptap/extensions/toolbar/font-size.tiptap-toolbar-api.js +8 -0
  1401. package/dist-cms/packages/tiptap/extensions/toolbar/text-align-center.tiptap-toolbar-api.js +6 -1
  1402. package/dist-cms/packages/tiptap/extensions/toolbar/text-align-justify.tiptap-toolbar-api.js +6 -1
  1403. package/dist-cms/packages/tiptap/extensions/toolbar/text-align-left.tiptap-toolbar-api.js +6 -1
  1404. package/dist-cms/packages/tiptap/extensions/toolbar/text-align-right.tiptap-toolbar-api.js +6 -1
  1405. package/dist-cms/packages/tiptap/extensions/toolbar/text-color-background.tiptap-toolbar-api.d.ts +5 -0
  1406. package/dist-cms/packages/tiptap/extensions/toolbar/text-color-background.tiptap-toolbar-api.js +6 -0
  1407. package/dist-cms/packages/tiptap/extensions/toolbar/text-color-foreground.tiptap-toolbar-api.d.ts +5 -0
  1408. package/dist-cms/packages/tiptap/extensions/toolbar/text-color-foreground.tiptap-toolbar-api.js +6 -0
  1409. package/dist-cms/packages/tiptap/extensions/toolbar/text-indent.tiptap-toolbar-api.d.ts +5 -0
  1410. package/dist-cms/packages/tiptap/extensions/toolbar/text-indent.tiptap-toolbar-api.js +6 -0
  1411. package/dist-cms/packages/tiptap/extensions/toolbar/text-outdent.tiptap-toolbar-api.d.ts +5 -0
  1412. package/dist-cms/packages/tiptap/extensions/toolbar/text-outdent.tiptap-toolbar-api.js +6 -0
  1413. package/dist-cms/packages/tiptap/extensions/types.d.ts +2 -1
  1414. package/dist-cms/packages/tiptap/manifests.js +6 -1
  1415. package/dist-cms/packages/tiptap/property-editors/tiptap/components/property-editor-ui-tiptap-extensions-configuration.element.js +3 -2
  1416. package/dist-cms/packages/tiptap/property-editors/tiptap/components/property-editor-ui-tiptap-statusbar-configuration.element.d.ts +20 -0
  1417. package/dist-cms/packages/tiptap/property-editors/tiptap/components/property-editor-ui-tiptap-statusbar-configuration.element.js +363 -0
  1418. package/dist-cms/packages/tiptap/property-editors/tiptap/components/property-editor-ui-tiptap-toolbar-configuration.element.js +78 -46
  1419. package/dist-cms/packages/tiptap/property-editors/tiptap/contexts/tiptap-statusbar-configuration.context.d.ts +21 -0
  1420. package/dist-cms/packages/tiptap/property-editors/tiptap/contexts/tiptap-statusbar-configuration.context.js +128 -0
  1421. package/dist-cms/packages/tiptap/property-editors/tiptap/contexts/tiptap-toolbar-configuration.context.js +12 -9
  1422. package/dist-cms/packages/tiptap/property-editors/tiptap/manifests.js +36 -9
  1423. package/dist-cms/packages/tiptap/property-editors/tiptap/property-editor-ui-tiptap.element.js +1 -1
  1424. package/dist-cms/packages/tiptap/property-editors/tiptap/types.d.ts +12 -6
  1425. package/dist-cms/packages/umbraco-news/umbraco-news-dashboard.element.js +1 -1
  1426. package/dist-cms/packages/user/user/collection/views/grid/user-grid-collection-view.element.d.ts +1 -0
  1427. package/dist-cms/packages/user/user/collection/views/grid/user-grid-collection-view.element.js +29 -29
  1428. package/dist-cms/packages/user/user/components/user-input/user-input.element.d.ts +1 -1
  1429. package/dist-cms/packages/user/user/property-editor/user-picker/property-editor-ui-user-picker.element.js +2 -2
  1430. package/dist-cms/packages/user/user/repository/detail/user-detail.server.data-source.js +1 -1
  1431. package/dist-cms/packages/user/user/utils/index.d.ts +1 -5
  1432. package/dist-cms/packages/user/user/utils/index.js +1 -4
  1433. package/dist-cms/packages/user/user/utils/user-kind.d.ts +5 -0
  1434. package/dist-cms/packages/user/user/utils/user-kind.js +4 -0
  1435. package/dist-cms/packages/user/user-group/components/input-user-group/user-group-input.element.d.ts +1 -1
  1436. package/dist-cms/packages/user/user-group/workspace/user-group/components/user-group-granular-permission-list.element.d.ts +1 -0
  1437. package/dist-cms/packages/user/user-group/workspace/user-group/components/user-group-granular-permission-list.element.js +5 -0
  1438. package/dist-cms/packages/user/user-permission/components/input-entity-user-permission/input-entity-user-permission.element.d.ts +1 -1
  1439. package/dist-cms/packages/user/user-permission/modals/settings/entity-user-permission-settings-modal.element.d.ts +2 -0
  1440. package/dist-cms/packages/user/user-permission/modals/settings/entity-user-permission-settings-modal.element.js +10 -0
  1441. package/dist-cms/packages/user/user-permission/modals/settings/entity-user-permission-settings-modal.token.d.ts +1 -0
  1442. package/dist-cms/tsconfig.build.tsbuildinfo +1 -1
  1443. package/dist-cms/umbraco-package-schema.json +14078 -73088
  1444. package/dist-cms/umbraco-package.json +1 -1
  1445. package/dist-cms/vite-config-base.js +1 -0
  1446. package/dist-cms/vscode-html-custom-data.json +434 -151
  1447. package/examples/validation-context/validation-context-dashboard.ts +120 -109
  1448. package/examples/workspace-context-counter/counter-workspace-context.ts +8 -6
  1449. package/package.json +7 -5
  1450. package/dist-cms/json-schema/all-packages.d.ts +0 -117
  1451. package/dist-cms/json-schema/all-packages.js +0 -117
  1452. package/dist-cms/packages/block/block-grid/components/block-grid-area/index.d.ts +0 -1
  1453. package/dist-cms/packages/block/block-grid/components/block-grid-area/index.js +0 -1
  1454. package/dist-cms/packages/block/block-grid/components/block-grid-area-config-entry/index.d.ts +0 -1
  1455. package/dist-cms/packages/block/block-grid/components/block-grid-area-config-entry/index.js +0 -1
  1456. package/dist-cms/packages/block/block-grid/components/block-grid-areas-container/index.d.ts +0 -1
  1457. package/dist-cms/packages/block/block-grid/components/block-grid-areas-container/index.js +0 -1
  1458. package/dist-cms/packages/block/block-grid/components/block-grid-block/index.d.ts +0 -1
  1459. package/dist-cms/packages/block/block-grid/components/block-grid-block/index.js +0 -1
  1460. package/dist-cms/packages/block/block-grid/components/block-grid-block-inline/index.d.ts +0 -1
  1461. package/dist-cms/packages/block/block-grid/components/block-grid-block-inline/index.js +0 -1
  1462. package/dist-cms/packages/block/block-grid/components/block-grid-block-unsupported/index.d.ts +0 -1
  1463. package/dist-cms/packages/block/block-grid/components/block-grid-block-unsupported/index.js +0 -1
  1464. package/dist-cms/packages/block/block-grid/components/block-grid-entries/index.d.ts +0 -1
  1465. package/dist-cms/packages/block/block-grid/components/block-grid-entries/index.js +0 -1
  1466. package/dist-cms/packages/block/block-grid/components/block-grid-entry/index.d.ts +0 -1
  1467. package/dist-cms/packages/block/block-grid/components/block-grid-entry/index.js +0 -1
  1468. package/dist-cms/packages/block/block-grid/components/block-scale-handler/index.d.ts +0 -1
  1469. package/dist-cms/packages/block/block-grid/components/block-scale-handler/index.js +0 -1
  1470. package/dist-cms/packages/block/block-grid/components/ref-grid-block/index.d.ts +0 -1
  1471. package/dist-cms/packages/block/block-grid/components/ref-grid-block/index.js +0 -1
  1472. package/dist-cms/packages/block/block-grid/context/index.d.ts +0 -2
  1473. package/dist-cms/packages/block/block-grid/context/index.js +0 -2
  1474. package/dist-cms/packages/core/menu/components/menu/menu.context.d.ts +0 -9
  1475. package/dist-cms/packages/core/menu/components/menu/menu.context.js +0 -14
  1476. package/dist-cms/packages/core/router/components/router-slot/route.interface.d.ts +0 -1
  1477. package/dist-cms/packages/data-type/workspace/views/info/data-type-workspace-view-info-reference.element.d.ts +0 -18
  1478. package/dist-cms/packages/data-type/workspace/views/info/data-type-workspace-view-info-reference.element.js +0 -109
  1479. package/dist-cms/packages/documents/documents/reference/info-app/document-references-workspace-view-info.element.d.ts +0 -17
  1480. package/dist-cms/packages/media/media/dropzone/constants.d.ts +0 -1
  1481. package/dist-cms/packages/media/media/dropzone/constants.js +0 -1
  1482. package/dist-cms/packages/media/media/dropzone/manifests.d.ts +0 -1
  1483. package/dist-cms/packages/media/media/dropzone/manifests.js +0 -1
  1484. package/dist-cms/packages/media/media/reference/info-app/media-references-workspace-info-app.element.d.ts +0 -19
  1485. package/dist-cms/packages/media/media/reference/info-app/media-references-workspace-info-app.element.js +0 -135
  1486. package/dist-cms/packages/tiptap/extensions/style-select/style-select-tiptap-toolbar.element.d.ts +0 -17
  1487. package/dist-cms/packages/tiptap/extensions/style-select/style-select-tiptap-toolbar.element.js +0 -86
  1488. package/dist-cms/packages/tiptap/extensions/table/table-tiptap-toolbar-button.element.d.ts +0 -14
  1489. package/dist-cms/packages/tiptap/extensions/table/table-tiptap-toolbar-button.element.js +0 -44
  1490. package/dist-cms/packages/tiptap/extensions/toolbar/font-family-tiptap-toolbar.element.js +0 -81
  1491. package/dist-cms/packages/tiptap/extensions/toolbar/font-size-tiptap-toolbar.element.d.ts +0 -13
  1492. package/dist-cms/packages/tiptap/extensions/toolbar/font-size-tiptap-toolbar.element.js +0 -48
  1493. /package/dist-cms/{packages/core/router/components/router-slot/route.interface.js → monaco-editor/vs/base/common/paging.js} +0 -0
  1494. /package/dist-cms/packages/block/block-grid/{context → block-grid-manager}/block-grid-manager.context-token.d.ts +0 -0
  1495. /package/dist-cms/packages/block/block-grid/{context → block-grid-manager}/block-grid-manager.context-token.js +0 -0
  1496. /package/dist-cms/packages/{media/media/dropzone/modals → block/block-grid/validation}/manifests.d.ts +0 -0
  1497. /package/dist-cms/packages/core/router/{components → route}/not-found/route-not-found.element.d.ts +0 -0
  1498. /package/dist-cms/packages/media/{media/dropzone → dropzone}/dropzone-submitted.event.d.ts +0 -0
  1499. /package/dist-cms/packages/media/{media/dropzone → dropzone}/dropzone-submitted.event.js +0 -0
  1500. /package/dist-cms/packages/media/{media/dropzone → dropzone}/modals/dropzone-media-type-picker/index.d.ts +0 -0
  1501. /package/dist-cms/packages/media/{media/dropzone → dropzone}/modals/dropzone-media-type-picker/index.js +0 -0
  1502. /package/dist-cms/packages/media/{media/dropzone → dropzone}/modals/index.d.ts +0 -0
  1503. /package/dist-cms/packages/media/{media/dropzone → dropzone}/modals/index.js +0 -0
  1504. /package/dist-cms/packages/media/{media/dropzone → dropzone}/modals/manifests.js +0 -0
  1505. /package/dist-cms/packages/tiptap/components/toolbar/{default-tiptap-toolbar-element.api.d.ts → default-tiptap-toolbar-api.d.ts} +0 -0
  1506. /package/dist-cms/packages/tiptap/components/toolbar/{default-tiptap-toolbar-element.api.js → default-tiptap-toolbar-api.js} +0 -0
@@ -0,0 +1,1899 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License. See License.txt in the project root for license information.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
6
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
7
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
8
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
9
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ var TextModel_1;
15
+ import { ArrayQueue, pushMany } from '../../../base/common/arrays.js';
16
+ import { Color } from '../../../base/common/color.js';
17
+ import { BugIndicatingError, illegalArgument, onUnexpectedError } from '../../../base/common/errors.js';
18
+ import { Emitter } from '../../../base/common/event.js';
19
+ import { Disposable, MutableDisposable, combinedDisposable } from '../../../base/common/lifecycle.js';
20
+ import * as strings from '../../../base/common/strings.js';
21
+ import { URI } from '../../../base/common/uri.js';
22
+ import { countEOL } from '../core/eolCounter.js';
23
+ import { normalizeIndentation } from '../core/indentation.js';
24
+ import { Position } from '../core/position.js';
25
+ import { Range } from '../core/range.js';
26
+ import { Selection } from '../core/selection.js';
27
+ import { EDITOR_MODEL_DEFAULTS } from '../core/textModelDefaults.js';
28
+ import { ILanguageService } from '../languages/language.js';
29
+ import { ILanguageConfigurationService } from '../languages/languageConfigurationRegistry.js';
30
+ import * as model from '../model.js';
31
+ import { BracketPairsTextModelPart } from './bracketPairsTextModelPart/bracketPairsImpl.js';
32
+ import { ColorizedBracketPairsDecorationProvider } from './bracketPairsTextModelPart/colorizedBracketPairsDecorationProvider.js';
33
+ import { EditStack } from './editStack.js';
34
+ import { GuidesTextModelPart } from './guidesTextModelPart.js';
35
+ import { guessIndentation } from './indentationGuesser.js';
36
+ import { IntervalNode, IntervalTree, recomputeMaxEnd } from './intervalTree.js';
37
+ import { PieceTreeTextBuffer } from './pieceTreeTextBuffer/pieceTreeTextBuffer.js';
38
+ import { PieceTreeTextBufferBuilder } from './pieceTreeTextBuffer/pieceTreeTextBufferBuilder.js';
39
+ import { SearchParams, TextModelSearch } from './textModelSearch.js';
40
+ import { TokenizationTextModelPart } from './tokenizationTextModelPart.js';
41
+ import { AttachedViews } from './tokens.js';
42
+ import { InternalModelContentChangeEvent, LineInjectedText, ModelInjectedTextChangedEvent, ModelRawContentChangedEvent, ModelRawEOLChanged, ModelRawFlush, ModelRawLineChanged, ModelRawLinesDeleted, ModelRawLinesInserted } from '../textModelEvents.js';
43
+ import { IInstantiationService } from '../../../platform/instantiation/common/instantiation.js';
44
+ import { IUndoRedoService } from '../../../platform/undoRedo/common/undoRedo.js';
45
+ export function createTextBufferFactory(text) {
46
+ const builder = new PieceTreeTextBufferBuilder();
47
+ builder.acceptChunk(text);
48
+ return builder.finish();
49
+ }
50
+ export function createTextBufferFactoryFromSnapshot(snapshot) {
51
+ const builder = new PieceTreeTextBufferBuilder();
52
+ let chunk;
53
+ while (typeof (chunk = snapshot.read()) === 'string') {
54
+ builder.acceptChunk(chunk);
55
+ }
56
+ return builder.finish();
57
+ }
58
+ export function createTextBuffer(value, defaultEOL) {
59
+ let factory;
60
+ if (typeof value === 'string') {
61
+ factory = createTextBufferFactory(value);
62
+ }
63
+ else if (model.isITextSnapshot(value)) {
64
+ factory = createTextBufferFactoryFromSnapshot(value);
65
+ }
66
+ else {
67
+ factory = value;
68
+ }
69
+ return factory.create(defaultEOL);
70
+ }
71
+ let MODEL_ID = 0;
72
+ const LIMIT_FIND_COUNT = 999;
73
+ const LONG_LINE_BOUNDARY = 10000;
74
+ class TextModelSnapshot {
75
+ constructor(source) {
76
+ this._source = source;
77
+ this._eos = false;
78
+ }
79
+ read() {
80
+ if (this._eos) {
81
+ return null;
82
+ }
83
+ const result = [];
84
+ let resultCnt = 0;
85
+ let resultLength = 0;
86
+ do {
87
+ const tmp = this._source.read();
88
+ if (tmp === null) {
89
+ // end-of-stream
90
+ this._eos = true;
91
+ if (resultCnt === 0) {
92
+ return null;
93
+ }
94
+ else {
95
+ return result.join('');
96
+ }
97
+ }
98
+ if (tmp.length > 0) {
99
+ result[resultCnt++] = tmp;
100
+ resultLength += tmp.length;
101
+ }
102
+ if (resultLength >= 64 * 1024) {
103
+ return result.join('');
104
+ }
105
+ } while (true);
106
+ }
107
+ }
108
+ const invalidFunc = () => { throw new Error(`Invalid change accessor`); };
109
+ let TextModel = class TextModel extends Disposable {
110
+ static { TextModel_1 = this; }
111
+ static { this._MODEL_SYNC_LIMIT = 50 * 1024 * 1024; } // 50 MB, // used in tests
112
+ static { this.LARGE_FILE_SIZE_THRESHOLD = 20 * 1024 * 1024; } // 20 MB;
113
+ static { this.LARGE_FILE_LINE_COUNT_THRESHOLD = 300 * 1000; } // 300K lines
114
+ static { this.LARGE_FILE_HEAP_OPERATION_THRESHOLD = 256 * 1024 * 1024; } // 256M characters, usually ~> 512MB memory usage
115
+ static { this.DEFAULT_CREATION_OPTIONS = {
116
+ isForSimpleWidget: false,
117
+ tabSize: EDITOR_MODEL_DEFAULTS.tabSize,
118
+ indentSize: EDITOR_MODEL_DEFAULTS.indentSize,
119
+ insertSpaces: EDITOR_MODEL_DEFAULTS.insertSpaces,
120
+ detectIndentation: false,
121
+ defaultEOL: 1 /* model.DefaultEndOfLine.LF */,
122
+ trimAutoWhitespace: EDITOR_MODEL_DEFAULTS.trimAutoWhitespace,
123
+ largeFileOptimizations: EDITOR_MODEL_DEFAULTS.largeFileOptimizations,
124
+ bracketPairColorizationOptions: EDITOR_MODEL_DEFAULTS.bracketPairColorizationOptions,
125
+ }; }
126
+ static resolveOptions(textBuffer, options) {
127
+ if (options.detectIndentation) {
128
+ const guessedIndentation = guessIndentation(textBuffer, options.tabSize, options.insertSpaces);
129
+ return new model.TextModelResolvedOptions({
130
+ tabSize: guessedIndentation.tabSize,
131
+ indentSize: 'tabSize', // TODO@Alex: guess indentSize independent of tabSize
132
+ insertSpaces: guessedIndentation.insertSpaces,
133
+ trimAutoWhitespace: options.trimAutoWhitespace,
134
+ defaultEOL: options.defaultEOL,
135
+ bracketPairColorizationOptions: options.bracketPairColorizationOptions,
136
+ });
137
+ }
138
+ return new model.TextModelResolvedOptions(options);
139
+ }
140
+ get onDidChangeLanguage() { return this._tokenizationTextModelPart.onDidChangeLanguage; }
141
+ get onDidChangeLanguageConfiguration() { return this._tokenizationTextModelPart.onDidChangeLanguageConfiguration; }
142
+ get onDidChangeTokens() { return this._tokenizationTextModelPart.onDidChangeTokens; }
143
+ onDidChangeContent(listener) {
144
+ return this._eventEmitter.slowEvent((e) => listener(e.contentChangedEvent));
145
+ }
146
+ onDidChangeContentOrInjectedText(listener) {
147
+ return combinedDisposable(this._eventEmitter.fastEvent(e => listener(e)), this._onDidChangeInjectedText.event(e => listener(e)));
148
+ }
149
+ _isDisposing() { return this.__isDisposing; }
150
+ get tokenization() { return this._tokenizationTextModelPart; }
151
+ get bracketPairs() { return this._bracketPairs; }
152
+ get guides() { return this._guidesTextModelPart; }
153
+ constructor(source, languageIdOrSelection, creationOptions, associatedResource = null, _undoRedoService, _languageService, _languageConfigurationService, instantiationService) {
154
+ super();
155
+ this._undoRedoService = _undoRedoService;
156
+ this._languageService = _languageService;
157
+ this._languageConfigurationService = _languageConfigurationService;
158
+ this.instantiationService = instantiationService;
159
+ //#region Events
160
+ this._onWillDispose = this._register(new Emitter());
161
+ this.onWillDispose = this._onWillDispose.event;
162
+ this._onDidChangeDecorations = this._register(new DidChangeDecorationsEmitter(affectedInjectedTextLines => this.handleBeforeFireDecorationsChangedEvent(affectedInjectedTextLines)));
163
+ this.onDidChangeDecorations = this._onDidChangeDecorations.event;
164
+ this._onDidChangeOptions = this._register(new Emitter());
165
+ this.onDidChangeOptions = this._onDidChangeOptions.event;
166
+ this._onDidChangeAttached = this._register(new Emitter());
167
+ this.onDidChangeAttached = this._onDidChangeAttached.event;
168
+ this._onDidChangeInjectedText = this._register(new Emitter());
169
+ this._eventEmitter = this._register(new DidChangeContentEmitter());
170
+ this._languageSelectionListener = this._register(new MutableDisposable());
171
+ this._deltaDecorationCallCnt = 0;
172
+ this._attachedViews = new AttachedViews();
173
+ // Generate a new unique model id
174
+ MODEL_ID++;
175
+ this.id = '$model' + MODEL_ID;
176
+ this.isForSimpleWidget = creationOptions.isForSimpleWidget;
177
+ if (typeof associatedResource === 'undefined' || associatedResource === null) {
178
+ this._associatedResource = URI.parse('inmemory://model/' + MODEL_ID);
179
+ }
180
+ else {
181
+ this._associatedResource = associatedResource;
182
+ }
183
+ this._attachedEditorCount = 0;
184
+ const { textBuffer, disposable } = createTextBuffer(source, creationOptions.defaultEOL);
185
+ this._buffer = textBuffer;
186
+ this._bufferDisposable = disposable;
187
+ this._options = TextModel_1.resolveOptions(this._buffer, creationOptions);
188
+ const languageId = (typeof languageIdOrSelection === 'string' ? languageIdOrSelection : languageIdOrSelection.languageId);
189
+ if (typeof languageIdOrSelection !== 'string') {
190
+ this._languageSelectionListener.value = languageIdOrSelection.onDidChange(() => this._setLanguage(languageIdOrSelection.languageId));
191
+ }
192
+ this._bracketPairs = this._register(new BracketPairsTextModelPart(this, this._languageConfigurationService));
193
+ this._guidesTextModelPart = this._register(new GuidesTextModelPart(this, this._languageConfigurationService));
194
+ this._decorationProvider = this._register(new ColorizedBracketPairsDecorationProvider(this));
195
+ this._tokenizationTextModelPart = this.instantiationService.createInstance(TokenizationTextModelPart, this, this._bracketPairs, languageId, this._attachedViews);
196
+ const bufferLineCount = this._buffer.getLineCount();
197
+ const bufferTextLength = this._buffer.getValueLengthInRange(new Range(1, 1, bufferLineCount, this._buffer.getLineLength(bufferLineCount) + 1), 0 /* model.EndOfLinePreference.TextDefined */);
198
+ // !!! Make a decision in the ctor and permanently respect this decision !!!
199
+ // If a model is too large at construction time, it will never get tokenized,
200
+ // under no circumstances.
201
+ if (creationOptions.largeFileOptimizations) {
202
+ this._isTooLargeForTokenization = ((bufferTextLength > TextModel_1.LARGE_FILE_SIZE_THRESHOLD)
203
+ || (bufferLineCount > TextModel_1.LARGE_FILE_LINE_COUNT_THRESHOLD));
204
+ this._isTooLargeForHeapOperation = bufferTextLength > TextModel_1.LARGE_FILE_HEAP_OPERATION_THRESHOLD;
205
+ }
206
+ else {
207
+ this._isTooLargeForTokenization = false;
208
+ this._isTooLargeForHeapOperation = false;
209
+ }
210
+ this._isTooLargeForSyncing = (bufferTextLength > TextModel_1._MODEL_SYNC_LIMIT);
211
+ this._versionId = 1;
212
+ this._alternativeVersionId = 1;
213
+ this._initialUndoRedoSnapshot = null;
214
+ this._isDisposed = false;
215
+ this.__isDisposing = false;
216
+ this._instanceId = strings.singleLetterHash(MODEL_ID);
217
+ this._lastDecorationId = 0;
218
+ this._decorations = Object.create(null);
219
+ this._decorationsTree = new DecorationsTrees();
220
+ this._commandManager = new EditStack(this, this._undoRedoService);
221
+ this._isUndoing = false;
222
+ this._isRedoing = false;
223
+ this._trimAutoWhitespaceLines = null;
224
+ this._register(this._decorationProvider.onDidChange(() => {
225
+ this._onDidChangeDecorations.beginDeferredEmit();
226
+ this._onDidChangeDecorations.fire();
227
+ this._onDidChangeDecorations.endDeferredEmit();
228
+ }));
229
+ this._languageService.requestRichLanguageFeatures(languageId);
230
+ this._register(this._languageConfigurationService.onDidChange(e => {
231
+ this._bracketPairs.handleLanguageConfigurationServiceChange(e);
232
+ this._tokenizationTextModelPart.handleLanguageConfigurationServiceChange(e);
233
+ }));
234
+ }
235
+ dispose() {
236
+ this.__isDisposing = true;
237
+ this._onWillDispose.fire();
238
+ this._tokenizationTextModelPart.dispose();
239
+ this._isDisposed = true;
240
+ super.dispose();
241
+ this._bufferDisposable.dispose();
242
+ this.__isDisposing = false;
243
+ // Manually release reference to previous text buffer to avoid large leaks
244
+ // in case someone leaks a TextModel reference
245
+ const emptyDisposedTextBuffer = new PieceTreeTextBuffer([], '', '\n', false, false, true, true);
246
+ emptyDisposedTextBuffer.dispose();
247
+ this._buffer = emptyDisposedTextBuffer;
248
+ this._bufferDisposable = Disposable.None;
249
+ }
250
+ _assertNotDisposed() {
251
+ if (this._isDisposed) {
252
+ throw new BugIndicatingError('Model is disposed!');
253
+ }
254
+ }
255
+ _emitContentChangedEvent(rawChange, change) {
256
+ if (this.__isDisposing) {
257
+ // Do not confuse listeners by emitting any event after disposing
258
+ return;
259
+ }
260
+ this._tokenizationTextModelPart.handleDidChangeContent(change);
261
+ this._bracketPairs.handleDidChangeContent(change);
262
+ this._eventEmitter.fire(new InternalModelContentChangeEvent(rawChange, change));
263
+ }
264
+ setValue(value) {
265
+ this._assertNotDisposed();
266
+ if (value === null || value === undefined) {
267
+ throw illegalArgument();
268
+ }
269
+ const { textBuffer, disposable } = createTextBuffer(value, this._options.defaultEOL);
270
+ this._setValueFromTextBuffer(textBuffer, disposable);
271
+ }
272
+ _createContentChanged2(range, rangeOffset, rangeLength, text, isUndoing, isRedoing, isFlush, isEolChange) {
273
+ return {
274
+ changes: [{
275
+ range: range,
276
+ rangeOffset: rangeOffset,
277
+ rangeLength: rangeLength,
278
+ text: text,
279
+ }],
280
+ eol: this._buffer.getEOL(),
281
+ isEolChange: isEolChange,
282
+ versionId: this.getVersionId(),
283
+ isUndoing: isUndoing,
284
+ isRedoing: isRedoing,
285
+ isFlush: isFlush
286
+ };
287
+ }
288
+ _setValueFromTextBuffer(textBuffer, textBufferDisposable) {
289
+ this._assertNotDisposed();
290
+ const oldFullModelRange = this.getFullModelRange();
291
+ const oldModelValueLength = this.getValueLengthInRange(oldFullModelRange);
292
+ const endLineNumber = this.getLineCount();
293
+ const endColumn = this.getLineMaxColumn(endLineNumber);
294
+ this._buffer = textBuffer;
295
+ this._bufferDisposable.dispose();
296
+ this._bufferDisposable = textBufferDisposable;
297
+ this._increaseVersionId();
298
+ // Destroy all my decorations
299
+ this._decorations = Object.create(null);
300
+ this._decorationsTree = new DecorationsTrees();
301
+ // Destroy my edit history and settings
302
+ this._commandManager.clear();
303
+ this._trimAutoWhitespaceLines = null;
304
+ this._emitContentChangedEvent(new ModelRawContentChangedEvent([
305
+ new ModelRawFlush()
306
+ ], this._versionId, false, false), this._createContentChanged2(new Range(1, 1, endLineNumber, endColumn), 0, oldModelValueLength, this.getValue(), false, false, true, false));
307
+ }
308
+ setEOL(eol) {
309
+ this._assertNotDisposed();
310
+ const newEOL = (eol === 1 /* model.EndOfLineSequence.CRLF */ ? '\r\n' : '\n');
311
+ if (this._buffer.getEOL() === newEOL) {
312
+ // Nothing to do
313
+ return;
314
+ }
315
+ const oldFullModelRange = this.getFullModelRange();
316
+ const oldModelValueLength = this.getValueLengthInRange(oldFullModelRange);
317
+ const endLineNumber = this.getLineCount();
318
+ const endColumn = this.getLineMaxColumn(endLineNumber);
319
+ this._onBeforeEOLChange();
320
+ this._buffer.setEOL(newEOL);
321
+ this._increaseVersionId();
322
+ this._onAfterEOLChange();
323
+ this._emitContentChangedEvent(new ModelRawContentChangedEvent([
324
+ new ModelRawEOLChanged()
325
+ ], this._versionId, false, false), this._createContentChanged2(new Range(1, 1, endLineNumber, endColumn), 0, oldModelValueLength, this.getValue(), false, false, false, true));
326
+ }
327
+ _onBeforeEOLChange() {
328
+ // Ensure all decorations get their `range` set.
329
+ this._decorationsTree.ensureAllNodesHaveRanges(this);
330
+ }
331
+ _onAfterEOLChange() {
332
+ // Transform back `range` to offsets
333
+ const versionId = this.getVersionId();
334
+ const allDecorations = this._decorationsTree.collectNodesPostOrder();
335
+ for (let i = 0, len = allDecorations.length; i < len; i++) {
336
+ const node = allDecorations[i];
337
+ const range = node.range; // the range is defined due to `_onBeforeEOLChange`
338
+ const delta = node.cachedAbsoluteStart - node.start;
339
+ const startOffset = this._buffer.getOffsetAt(range.startLineNumber, range.startColumn);
340
+ const endOffset = this._buffer.getOffsetAt(range.endLineNumber, range.endColumn);
341
+ node.cachedAbsoluteStart = startOffset;
342
+ node.cachedAbsoluteEnd = endOffset;
343
+ node.cachedVersionId = versionId;
344
+ node.start = startOffset - delta;
345
+ node.end = endOffset - delta;
346
+ recomputeMaxEnd(node);
347
+ }
348
+ }
349
+ onBeforeAttached() {
350
+ this._attachedEditorCount++;
351
+ if (this._attachedEditorCount === 1) {
352
+ this._tokenizationTextModelPart.handleDidChangeAttached();
353
+ this._onDidChangeAttached.fire(undefined);
354
+ }
355
+ return this._attachedViews.attachView();
356
+ }
357
+ onBeforeDetached(view) {
358
+ this._attachedEditorCount--;
359
+ if (this._attachedEditorCount === 0) {
360
+ this._tokenizationTextModelPart.handleDidChangeAttached();
361
+ this._onDidChangeAttached.fire(undefined);
362
+ }
363
+ this._attachedViews.detachView(view);
364
+ }
365
+ isAttachedToEditor() {
366
+ return this._attachedEditorCount > 0;
367
+ }
368
+ getAttachedEditorCount() {
369
+ return this._attachedEditorCount;
370
+ }
371
+ isTooLargeForSyncing() {
372
+ return this._isTooLargeForSyncing;
373
+ }
374
+ isTooLargeForTokenization() {
375
+ return this._isTooLargeForTokenization;
376
+ }
377
+ isTooLargeForHeapOperation() {
378
+ return this._isTooLargeForHeapOperation;
379
+ }
380
+ isDisposed() {
381
+ return this._isDisposed;
382
+ }
383
+ isDominatedByLongLines() {
384
+ this._assertNotDisposed();
385
+ if (this.isTooLargeForTokenization()) {
386
+ // Cannot word wrap huge files anyways, so it doesn't really matter
387
+ return false;
388
+ }
389
+ let smallLineCharCount = 0;
390
+ let longLineCharCount = 0;
391
+ const lineCount = this._buffer.getLineCount();
392
+ for (let lineNumber = 1; lineNumber <= lineCount; lineNumber++) {
393
+ const lineLength = this._buffer.getLineLength(lineNumber);
394
+ if (lineLength >= LONG_LINE_BOUNDARY) {
395
+ longLineCharCount += lineLength;
396
+ }
397
+ else {
398
+ smallLineCharCount += lineLength;
399
+ }
400
+ }
401
+ return (longLineCharCount > smallLineCharCount);
402
+ }
403
+ get uri() {
404
+ return this._associatedResource;
405
+ }
406
+ //#region Options
407
+ getOptions() {
408
+ this._assertNotDisposed();
409
+ return this._options;
410
+ }
411
+ getFormattingOptions() {
412
+ return {
413
+ tabSize: this._options.indentSize,
414
+ insertSpaces: this._options.insertSpaces
415
+ };
416
+ }
417
+ updateOptions(_newOpts) {
418
+ this._assertNotDisposed();
419
+ const tabSize = (typeof _newOpts.tabSize !== 'undefined') ? _newOpts.tabSize : this._options.tabSize;
420
+ const indentSize = (typeof _newOpts.indentSize !== 'undefined') ? _newOpts.indentSize : this._options.originalIndentSize;
421
+ const insertSpaces = (typeof _newOpts.insertSpaces !== 'undefined') ? _newOpts.insertSpaces : this._options.insertSpaces;
422
+ const trimAutoWhitespace = (typeof _newOpts.trimAutoWhitespace !== 'undefined') ? _newOpts.trimAutoWhitespace : this._options.trimAutoWhitespace;
423
+ const bracketPairColorizationOptions = (typeof _newOpts.bracketColorizationOptions !== 'undefined') ? _newOpts.bracketColorizationOptions : this._options.bracketPairColorizationOptions;
424
+ const newOpts = new model.TextModelResolvedOptions({
425
+ tabSize: tabSize,
426
+ indentSize: indentSize,
427
+ insertSpaces: insertSpaces,
428
+ defaultEOL: this._options.defaultEOL,
429
+ trimAutoWhitespace: trimAutoWhitespace,
430
+ bracketPairColorizationOptions,
431
+ });
432
+ if (this._options.equals(newOpts)) {
433
+ return;
434
+ }
435
+ const e = this._options.createChangeEvent(newOpts);
436
+ this._options = newOpts;
437
+ this._bracketPairs.handleDidChangeOptions(e);
438
+ this._decorationProvider.handleDidChangeOptions(e);
439
+ this._onDidChangeOptions.fire(e);
440
+ }
441
+ detectIndentation(defaultInsertSpaces, defaultTabSize) {
442
+ this._assertNotDisposed();
443
+ const guessedIndentation = guessIndentation(this._buffer, defaultTabSize, defaultInsertSpaces);
444
+ this.updateOptions({
445
+ insertSpaces: guessedIndentation.insertSpaces,
446
+ tabSize: guessedIndentation.tabSize,
447
+ indentSize: guessedIndentation.tabSize, // TODO@Alex: guess indentSize independent of tabSize
448
+ });
449
+ }
450
+ normalizeIndentation(str) {
451
+ this._assertNotDisposed();
452
+ return normalizeIndentation(str, this._options.indentSize, this._options.insertSpaces);
453
+ }
454
+ //#endregion
455
+ //#region Reading
456
+ getVersionId() {
457
+ this._assertNotDisposed();
458
+ return this._versionId;
459
+ }
460
+ mightContainRTL() {
461
+ return this._buffer.mightContainRTL();
462
+ }
463
+ mightContainUnusualLineTerminators() {
464
+ return this._buffer.mightContainUnusualLineTerminators();
465
+ }
466
+ removeUnusualLineTerminators(selections = null) {
467
+ const matches = this.findMatches(strings.UNUSUAL_LINE_TERMINATORS.source, false, true, false, null, false, 1073741824 /* Constants.MAX_SAFE_SMALL_INTEGER */);
468
+ this._buffer.resetMightContainUnusualLineTerminators();
469
+ this.pushEditOperations(selections, matches.map(m => ({ range: m.range, text: null })), () => null);
470
+ }
471
+ mightContainNonBasicASCII() {
472
+ return this._buffer.mightContainNonBasicASCII();
473
+ }
474
+ getAlternativeVersionId() {
475
+ this._assertNotDisposed();
476
+ return this._alternativeVersionId;
477
+ }
478
+ getInitialUndoRedoSnapshot() {
479
+ this._assertNotDisposed();
480
+ return this._initialUndoRedoSnapshot;
481
+ }
482
+ getOffsetAt(rawPosition) {
483
+ this._assertNotDisposed();
484
+ const position = this._validatePosition(rawPosition.lineNumber, rawPosition.column, 0 /* StringOffsetValidationType.Relaxed */);
485
+ return this._buffer.getOffsetAt(position.lineNumber, position.column);
486
+ }
487
+ getPositionAt(rawOffset) {
488
+ this._assertNotDisposed();
489
+ const offset = (Math.min(this._buffer.getLength(), Math.max(0, rawOffset)));
490
+ return this._buffer.getPositionAt(offset);
491
+ }
492
+ _increaseVersionId() {
493
+ this._versionId = this._versionId + 1;
494
+ this._alternativeVersionId = this._versionId;
495
+ }
496
+ _overwriteVersionId(versionId) {
497
+ this._versionId = versionId;
498
+ }
499
+ _overwriteAlternativeVersionId(newAlternativeVersionId) {
500
+ this._alternativeVersionId = newAlternativeVersionId;
501
+ }
502
+ _overwriteInitialUndoRedoSnapshot(newInitialUndoRedoSnapshot) {
503
+ this._initialUndoRedoSnapshot = newInitialUndoRedoSnapshot;
504
+ }
505
+ getValue(eol, preserveBOM = false) {
506
+ this._assertNotDisposed();
507
+ if (this.isTooLargeForHeapOperation()) {
508
+ throw new BugIndicatingError('Operation would exceed heap memory limits');
509
+ }
510
+ const fullModelRange = this.getFullModelRange();
511
+ const fullModelValue = this.getValueInRange(fullModelRange, eol);
512
+ if (preserveBOM) {
513
+ return this._buffer.getBOM() + fullModelValue;
514
+ }
515
+ return fullModelValue;
516
+ }
517
+ createSnapshot(preserveBOM = false) {
518
+ return new TextModelSnapshot(this._buffer.createSnapshot(preserveBOM));
519
+ }
520
+ getValueLength(eol, preserveBOM = false) {
521
+ this._assertNotDisposed();
522
+ const fullModelRange = this.getFullModelRange();
523
+ const fullModelValue = this.getValueLengthInRange(fullModelRange, eol);
524
+ if (preserveBOM) {
525
+ return this._buffer.getBOM().length + fullModelValue;
526
+ }
527
+ return fullModelValue;
528
+ }
529
+ getValueInRange(rawRange, eol = 0 /* model.EndOfLinePreference.TextDefined */) {
530
+ this._assertNotDisposed();
531
+ return this._buffer.getValueInRange(this.validateRange(rawRange), eol);
532
+ }
533
+ getValueLengthInRange(rawRange, eol = 0 /* model.EndOfLinePreference.TextDefined */) {
534
+ this._assertNotDisposed();
535
+ return this._buffer.getValueLengthInRange(this.validateRange(rawRange), eol);
536
+ }
537
+ getCharacterCountInRange(rawRange, eol = 0 /* model.EndOfLinePreference.TextDefined */) {
538
+ this._assertNotDisposed();
539
+ return this._buffer.getCharacterCountInRange(this.validateRange(rawRange), eol);
540
+ }
541
+ getLineCount() {
542
+ this._assertNotDisposed();
543
+ return this._buffer.getLineCount();
544
+ }
545
+ getLineContent(lineNumber) {
546
+ this._assertNotDisposed();
547
+ if (lineNumber < 1 || lineNumber > this.getLineCount()) {
548
+ throw new BugIndicatingError('Illegal value for lineNumber');
549
+ }
550
+ return this._buffer.getLineContent(lineNumber);
551
+ }
552
+ getLineLength(lineNumber) {
553
+ this._assertNotDisposed();
554
+ if (lineNumber < 1 || lineNumber > this.getLineCount()) {
555
+ throw new BugIndicatingError('Illegal value for lineNumber');
556
+ }
557
+ return this._buffer.getLineLength(lineNumber);
558
+ }
559
+ getLinesContent() {
560
+ this._assertNotDisposed();
561
+ if (this.isTooLargeForHeapOperation()) {
562
+ throw new BugIndicatingError('Operation would exceed heap memory limits');
563
+ }
564
+ return this._buffer.getLinesContent();
565
+ }
566
+ getEOL() {
567
+ this._assertNotDisposed();
568
+ return this._buffer.getEOL();
569
+ }
570
+ getEndOfLineSequence() {
571
+ this._assertNotDisposed();
572
+ return (this._buffer.getEOL() === '\n'
573
+ ? 0 /* model.EndOfLineSequence.LF */
574
+ : 1 /* model.EndOfLineSequence.CRLF */);
575
+ }
576
+ getLineMinColumn(lineNumber) {
577
+ this._assertNotDisposed();
578
+ return 1;
579
+ }
580
+ getLineMaxColumn(lineNumber) {
581
+ this._assertNotDisposed();
582
+ if (lineNumber < 1 || lineNumber > this.getLineCount()) {
583
+ throw new BugIndicatingError('Illegal value for lineNumber');
584
+ }
585
+ return this._buffer.getLineLength(lineNumber) + 1;
586
+ }
587
+ getLineFirstNonWhitespaceColumn(lineNumber) {
588
+ this._assertNotDisposed();
589
+ if (lineNumber < 1 || lineNumber > this.getLineCount()) {
590
+ throw new BugIndicatingError('Illegal value for lineNumber');
591
+ }
592
+ return this._buffer.getLineFirstNonWhitespaceColumn(lineNumber);
593
+ }
594
+ getLineLastNonWhitespaceColumn(lineNumber) {
595
+ this._assertNotDisposed();
596
+ if (lineNumber < 1 || lineNumber > this.getLineCount()) {
597
+ throw new BugIndicatingError('Illegal value for lineNumber');
598
+ }
599
+ return this._buffer.getLineLastNonWhitespaceColumn(lineNumber);
600
+ }
601
+ /**
602
+ * Validates `range` is within buffer bounds, but allows it to sit in between surrogate pairs, etc.
603
+ * Will try to not allocate if possible.
604
+ */
605
+ _validateRangeRelaxedNoAllocations(range) {
606
+ const linesCount = this._buffer.getLineCount();
607
+ const initialStartLineNumber = range.startLineNumber;
608
+ const initialStartColumn = range.startColumn;
609
+ let startLineNumber = Math.floor((typeof initialStartLineNumber === 'number' && !isNaN(initialStartLineNumber)) ? initialStartLineNumber : 1);
610
+ let startColumn = Math.floor((typeof initialStartColumn === 'number' && !isNaN(initialStartColumn)) ? initialStartColumn : 1);
611
+ if (startLineNumber < 1) {
612
+ startLineNumber = 1;
613
+ startColumn = 1;
614
+ }
615
+ else if (startLineNumber > linesCount) {
616
+ startLineNumber = linesCount;
617
+ startColumn = this.getLineMaxColumn(startLineNumber);
618
+ }
619
+ else {
620
+ if (startColumn <= 1) {
621
+ startColumn = 1;
622
+ }
623
+ else {
624
+ const maxColumn = this.getLineMaxColumn(startLineNumber);
625
+ if (startColumn >= maxColumn) {
626
+ startColumn = maxColumn;
627
+ }
628
+ }
629
+ }
630
+ const initialEndLineNumber = range.endLineNumber;
631
+ const initialEndColumn = range.endColumn;
632
+ let endLineNumber = Math.floor((typeof initialEndLineNumber === 'number' && !isNaN(initialEndLineNumber)) ? initialEndLineNumber : 1);
633
+ let endColumn = Math.floor((typeof initialEndColumn === 'number' && !isNaN(initialEndColumn)) ? initialEndColumn : 1);
634
+ if (endLineNumber < 1) {
635
+ endLineNumber = 1;
636
+ endColumn = 1;
637
+ }
638
+ else if (endLineNumber > linesCount) {
639
+ endLineNumber = linesCount;
640
+ endColumn = this.getLineMaxColumn(endLineNumber);
641
+ }
642
+ else {
643
+ if (endColumn <= 1) {
644
+ endColumn = 1;
645
+ }
646
+ else {
647
+ const maxColumn = this.getLineMaxColumn(endLineNumber);
648
+ if (endColumn >= maxColumn) {
649
+ endColumn = maxColumn;
650
+ }
651
+ }
652
+ }
653
+ if (initialStartLineNumber === startLineNumber
654
+ && initialStartColumn === startColumn
655
+ && initialEndLineNumber === endLineNumber
656
+ && initialEndColumn === endColumn
657
+ && range instanceof Range
658
+ && !(range instanceof Selection)) {
659
+ return range;
660
+ }
661
+ return new Range(startLineNumber, startColumn, endLineNumber, endColumn);
662
+ }
663
+ _isValidPosition(lineNumber, column, validationType) {
664
+ if (typeof lineNumber !== 'number' || typeof column !== 'number') {
665
+ return false;
666
+ }
667
+ if (isNaN(lineNumber) || isNaN(column)) {
668
+ return false;
669
+ }
670
+ if (lineNumber < 1 || column < 1) {
671
+ return false;
672
+ }
673
+ if ((lineNumber | 0) !== lineNumber || (column | 0) !== column) {
674
+ return false;
675
+ }
676
+ const lineCount = this._buffer.getLineCount();
677
+ if (lineNumber > lineCount) {
678
+ return false;
679
+ }
680
+ if (column === 1) {
681
+ return true;
682
+ }
683
+ const maxColumn = this.getLineMaxColumn(lineNumber);
684
+ if (column > maxColumn) {
685
+ return false;
686
+ }
687
+ if (validationType === 1 /* StringOffsetValidationType.SurrogatePairs */) {
688
+ // !!At this point, column > 1
689
+ const charCodeBefore = this._buffer.getLineCharCode(lineNumber, column - 2);
690
+ if (strings.isHighSurrogate(charCodeBefore)) {
691
+ return false;
692
+ }
693
+ }
694
+ return true;
695
+ }
696
+ _validatePosition(_lineNumber, _column, validationType) {
697
+ const lineNumber = Math.floor((typeof _lineNumber === 'number' && !isNaN(_lineNumber)) ? _lineNumber : 1);
698
+ const column = Math.floor((typeof _column === 'number' && !isNaN(_column)) ? _column : 1);
699
+ const lineCount = this._buffer.getLineCount();
700
+ if (lineNumber < 1) {
701
+ return new Position(1, 1);
702
+ }
703
+ if (lineNumber > lineCount) {
704
+ return new Position(lineCount, this.getLineMaxColumn(lineCount));
705
+ }
706
+ if (column <= 1) {
707
+ return new Position(lineNumber, 1);
708
+ }
709
+ const maxColumn = this.getLineMaxColumn(lineNumber);
710
+ if (column >= maxColumn) {
711
+ return new Position(lineNumber, maxColumn);
712
+ }
713
+ if (validationType === 1 /* StringOffsetValidationType.SurrogatePairs */) {
714
+ // If the position would end up in the middle of a high-low surrogate pair,
715
+ // we move it to before the pair
716
+ // !!At this point, column > 1
717
+ const charCodeBefore = this._buffer.getLineCharCode(lineNumber, column - 2);
718
+ if (strings.isHighSurrogate(charCodeBefore)) {
719
+ return new Position(lineNumber, column - 1);
720
+ }
721
+ }
722
+ return new Position(lineNumber, column);
723
+ }
724
+ validatePosition(position) {
725
+ const validationType = 1 /* StringOffsetValidationType.SurrogatePairs */;
726
+ this._assertNotDisposed();
727
+ // Avoid object allocation and cover most likely case
728
+ if (position instanceof Position) {
729
+ if (this._isValidPosition(position.lineNumber, position.column, validationType)) {
730
+ return position;
731
+ }
732
+ }
733
+ return this._validatePosition(position.lineNumber, position.column, validationType);
734
+ }
735
+ _isValidRange(range, validationType) {
736
+ const startLineNumber = range.startLineNumber;
737
+ const startColumn = range.startColumn;
738
+ const endLineNumber = range.endLineNumber;
739
+ const endColumn = range.endColumn;
740
+ if (!this._isValidPosition(startLineNumber, startColumn, 0 /* StringOffsetValidationType.Relaxed */)) {
741
+ return false;
742
+ }
743
+ if (!this._isValidPosition(endLineNumber, endColumn, 0 /* StringOffsetValidationType.Relaxed */)) {
744
+ return false;
745
+ }
746
+ if (validationType === 1 /* StringOffsetValidationType.SurrogatePairs */) {
747
+ const charCodeBeforeStart = (startColumn > 1 ? this._buffer.getLineCharCode(startLineNumber, startColumn - 2) : 0);
748
+ const charCodeBeforeEnd = (endColumn > 1 && endColumn <= this._buffer.getLineLength(endLineNumber) ? this._buffer.getLineCharCode(endLineNumber, endColumn - 2) : 0);
749
+ const startInsideSurrogatePair = strings.isHighSurrogate(charCodeBeforeStart);
750
+ const endInsideSurrogatePair = strings.isHighSurrogate(charCodeBeforeEnd);
751
+ if (!startInsideSurrogatePair && !endInsideSurrogatePair) {
752
+ return true;
753
+ }
754
+ return false;
755
+ }
756
+ return true;
757
+ }
758
+ validateRange(_range) {
759
+ const validationType = 1 /* StringOffsetValidationType.SurrogatePairs */;
760
+ this._assertNotDisposed();
761
+ // Avoid object allocation and cover most likely case
762
+ if ((_range instanceof Range) && !(_range instanceof Selection)) {
763
+ if (this._isValidRange(_range, validationType)) {
764
+ return _range;
765
+ }
766
+ }
767
+ const start = this._validatePosition(_range.startLineNumber, _range.startColumn, 0 /* StringOffsetValidationType.Relaxed */);
768
+ const end = this._validatePosition(_range.endLineNumber, _range.endColumn, 0 /* StringOffsetValidationType.Relaxed */);
769
+ const startLineNumber = start.lineNumber;
770
+ const startColumn = start.column;
771
+ const endLineNumber = end.lineNumber;
772
+ const endColumn = end.column;
773
+ if (validationType === 1 /* StringOffsetValidationType.SurrogatePairs */) {
774
+ const charCodeBeforeStart = (startColumn > 1 ? this._buffer.getLineCharCode(startLineNumber, startColumn - 2) : 0);
775
+ const charCodeBeforeEnd = (endColumn > 1 && endColumn <= this._buffer.getLineLength(endLineNumber) ? this._buffer.getLineCharCode(endLineNumber, endColumn - 2) : 0);
776
+ const startInsideSurrogatePair = strings.isHighSurrogate(charCodeBeforeStart);
777
+ const endInsideSurrogatePair = strings.isHighSurrogate(charCodeBeforeEnd);
778
+ if (!startInsideSurrogatePair && !endInsideSurrogatePair) {
779
+ return new Range(startLineNumber, startColumn, endLineNumber, endColumn);
780
+ }
781
+ if (startLineNumber === endLineNumber && startColumn === endColumn) {
782
+ // do not expand a collapsed range, simply move it to a valid location
783
+ return new Range(startLineNumber, startColumn - 1, endLineNumber, endColumn - 1);
784
+ }
785
+ if (startInsideSurrogatePair && endInsideSurrogatePair) {
786
+ // expand range at both ends
787
+ return new Range(startLineNumber, startColumn - 1, endLineNumber, endColumn + 1);
788
+ }
789
+ if (startInsideSurrogatePair) {
790
+ // only expand range at the start
791
+ return new Range(startLineNumber, startColumn - 1, endLineNumber, endColumn);
792
+ }
793
+ // only expand range at the end
794
+ return new Range(startLineNumber, startColumn, endLineNumber, endColumn + 1);
795
+ }
796
+ return new Range(startLineNumber, startColumn, endLineNumber, endColumn);
797
+ }
798
+ modifyPosition(rawPosition, offset) {
799
+ this._assertNotDisposed();
800
+ const candidate = this.getOffsetAt(rawPosition) + offset;
801
+ return this.getPositionAt(Math.min(this._buffer.getLength(), Math.max(0, candidate)));
802
+ }
803
+ getFullModelRange() {
804
+ this._assertNotDisposed();
805
+ const lineCount = this.getLineCount();
806
+ return new Range(1, 1, lineCount, this.getLineMaxColumn(lineCount));
807
+ }
808
+ findMatchesLineByLine(searchRange, searchData, captureMatches, limitResultCount) {
809
+ return this._buffer.findMatchesLineByLine(searchRange, searchData, captureMatches, limitResultCount);
810
+ }
811
+ findMatches(searchString, rawSearchScope, isRegex, matchCase, wordSeparators, captureMatches, limitResultCount = LIMIT_FIND_COUNT) {
812
+ this._assertNotDisposed();
813
+ let searchRanges = null;
814
+ if (rawSearchScope !== null) {
815
+ if (!Array.isArray(rawSearchScope)) {
816
+ rawSearchScope = [rawSearchScope];
817
+ }
818
+ if (rawSearchScope.every((searchScope) => Range.isIRange(searchScope))) {
819
+ searchRanges = rawSearchScope.map((searchScope) => this.validateRange(searchScope));
820
+ }
821
+ }
822
+ if (searchRanges === null) {
823
+ searchRanges = [this.getFullModelRange()];
824
+ }
825
+ searchRanges = searchRanges.sort((d1, d2) => d1.startLineNumber - d2.startLineNumber || d1.startColumn - d2.startColumn);
826
+ const uniqueSearchRanges = [];
827
+ uniqueSearchRanges.push(searchRanges.reduce((prev, curr) => {
828
+ if (Range.areIntersecting(prev, curr)) {
829
+ return prev.plusRange(curr);
830
+ }
831
+ uniqueSearchRanges.push(prev);
832
+ return curr;
833
+ }));
834
+ let matchMapper;
835
+ if (!isRegex && searchString.indexOf('\n') < 0) {
836
+ // not regex, not multi line
837
+ const searchParams = new SearchParams(searchString, isRegex, matchCase, wordSeparators);
838
+ const searchData = searchParams.parseSearchRequest();
839
+ if (!searchData) {
840
+ return [];
841
+ }
842
+ matchMapper = (searchRange) => this.findMatchesLineByLine(searchRange, searchData, captureMatches, limitResultCount);
843
+ }
844
+ else {
845
+ matchMapper = (searchRange) => TextModelSearch.findMatches(this, new SearchParams(searchString, isRegex, matchCase, wordSeparators), searchRange, captureMatches, limitResultCount);
846
+ }
847
+ return uniqueSearchRanges.map(matchMapper).reduce((arr, matches) => arr.concat(matches), []);
848
+ }
849
+ findNextMatch(searchString, rawSearchStart, isRegex, matchCase, wordSeparators, captureMatches) {
850
+ this._assertNotDisposed();
851
+ const searchStart = this.validatePosition(rawSearchStart);
852
+ if (!isRegex && searchString.indexOf('\n') < 0) {
853
+ const searchParams = new SearchParams(searchString, isRegex, matchCase, wordSeparators);
854
+ const searchData = searchParams.parseSearchRequest();
855
+ if (!searchData) {
856
+ return null;
857
+ }
858
+ const lineCount = this.getLineCount();
859
+ let searchRange = new Range(searchStart.lineNumber, searchStart.column, lineCount, this.getLineMaxColumn(lineCount));
860
+ let ret = this.findMatchesLineByLine(searchRange, searchData, captureMatches, 1);
861
+ TextModelSearch.findNextMatch(this, new SearchParams(searchString, isRegex, matchCase, wordSeparators), searchStart, captureMatches);
862
+ if (ret.length > 0) {
863
+ return ret[0];
864
+ }
865
+ searchRange = new Range(1, 1, searchStart.lineNumber, this.getLineMaxColumn(searchStart.lineNumber));
866
+ ret = this.findMatchesLineByLine(searchRange, searchData, captureMatches, 1);
867
+ if (ret.length > 0) {
868
+ return ret[0];
869
+ }
870
+ return null;
871
+ }
872
+ return TextModelSearch.findNextMatch(this, new SearchParams(searchString, isRegex, matchCase, wordSeparators), searchStart, captureMatches);
873
+ }
874
+ findPreviousMatch(searchString, rawSearchStart, isRegex, matchCase, wordSeparators, captureMatches) {
875
+ this._assertNotDisposed();
876
+ const searchStart = this.validatePosition(rawSearchStart);
877
+ return TextModelSearch.findPreviousMatch(this, new SearchParams(searchString, isRegex, matchCase, wordSeparators), searchStart, captureMatches);
878
+ }
879
+ //#endregion
880
+ //#region Editing
881
+ pushStackElement() {
882
+ this._commandManager.pushStackElement();
883
+ }
884
+ popStackElement() {
885
+ this._commandManager.popStackElement();
886
+ }
887
+ pushEOL(eol) {
888
+ const currentEOL = (this.getEOL() === '\n' ? 0 /* model.EndOfLineSequence.LF */ : 1 /* model.EndOfLineSequence.CRLF */);
889
+ if (currentEOL === eol) {
890
+ return;
891
+ }
892
+ try {
893
+ this._onDidChangeDecorations.beginDeferredEmit();
894
+ this._eventEmitter.beginDeferredEmit();
895
+ if (this._initialUndoRedoSnapshot === null) {
896
+ this._initialUndoRedoSnapshot = this._undoRedoService.createSnapshot(this.uri);
897
+ }
898
+ this._commandManager.pushEOL(eol);
899
+ }
900
+ finally {
901
+ this._eventEmitter.endDeferredEmit();
902
+ this._onDidChangeDecorations.endDeferredEmit();
903
+ }
904
+ }
905
+ _validateEditOperation(rawOperation) {
906
+ if (rawOperation instanceof model.ValidAnnotatedEditOperation) {
907
+ return rawOperation;
908
+ }
909
+ return new model.ValidAnnotatedEditOperation(rawOperation.identifier || null, this.validateRange(rawOperation.range), rawOperation.text, rawOperation.forceMoveMarkers || false, rawOperation.isAutoWhitespaceEdit || false, rawOperation._isTracked || false);
910
+ }
911
+ _validateEditOperations(rawOperations) {
912
+ const result = [];
913
+ for (let i = 0, len = rawOperations.length; i < len; i++) {
914
+ result[i] = this._validateEditOperation(rawOperations[i]);
915
+ }
916
+ return result;
917
+ }
918
+ pushEditOperations(beforeCursorState, editOperations, cursorStateComputer, group) {
919
+ try {
920
+ this._onDidChangeDecorations.beginDeferredEmit();
921
+ this._eventEmitter.beginDeferredEmit();
922
+ return this._pushEditOperations(beforeCursorState, this._validateEditOperations(editOperations), cursorStateComputer, group);
923
+ }
924
+ finally {
925
+ this._eventEmitter.endDeferredEmit();
926
+ this._onDidChangeDecorations.endDeferredEmit();
927
+ }
928
+ }
929
+ _pushEditOperations(beforeCursorState, editOperations, cursorStateComputer, group) {
930
+ if (this._options.trimAutoWhitespace && this._trimAutoWhitespaceLines) {
931
+ // Go through each saved line number and insert a trim whitespace edit
932
+ // if it is safe to do so (no conflicts with other edits).
933
+ const incomingEdits = editOperations.map((op) => {
934
+ return {
935
+ range: this.validateRange(op.range),
936
+ text: op.text
937
+ };
938
+ });
939
+ // Sometimes, auto-formatters change ranges automatically which can cause undesired auto whitespace trimming near the cursor
940
+ // We'll use the following heuristic: if the edits occur near the cursor, then it's ok to trim auto whitespace
941
+ let editsAreNearCursors = true;
942
+ if (beforeCursorState) {
943
+ for (let i = 0, len = beforeCursorState.length; i < len; i++) {
944
+ const sel = beforeCursorState[i];
945
+ let foundEditNearSel = false;
946
+ for (let j = 0, lenJ = incomingEdits.length; j < lenJ; j++) {
947
+ const editRange = incomingEdits[j].range;
948
+ const selIsAbove = editRange.startLineNumber > sel.endLineNumber;
949
+ const selIsBelow = sel.startLineNumber > editRange.endLineNumber;
950
+ if (!selIsAbove && !selIsBelow) {
951
+ foundEditNearSel = true;
952
+ break;
953
+ }
954
+ }
955
+ if (!foundEditNearSel) {
956
+ editsAreNearCursors = false;
957
+ break;
958
+ }
959
+ }
960
+ }
961
+ if (editsAreNearCursors) {
962
+ for (let i = 0, len = this._trimAutoWhitespaceLines.length; i < len; i++) {
963
+ const trimLineNumber = this._trimAutoWhitespaceLines[i];
964
+ const maxLineColumn = this.getLineMaxColumn(trimLineNumber);
965
+ let allowTrimLine = true;
966
+ for (let j = 0, lenJ = incomingEdits.length; j < lenJ; j++) {
967
+ const editRange = incomingEdits[j].range;
968
+ const editText = incomingEdits[j].text;
969
+ if (trimLineNumber < editRange.startLineNumber || trimLineNumber > editRange.endLineNumber) {
970
+ // `trimLine` is completely outside this edit
971
+ continue;
972
+ }
973
+ // At this point:
974
+ // editRange.startLineNumber <= trimLine <= editRange.endLineNumber
975
+ if (trimLineNumber === editRange.startLineNumber && editRange.startColumn === maxLineColumn
976
+ && editRange.isEmpty() && editText && editText.length > 0 && editText.charAt(0) === '\n') {
977
+ // This edit inserts a new line (and maybe other text) after `trimLine`
978
+ continue;
979
+ }
980
+ if (trimLineNumber === editRange.startLineNumber && editRange.startColumn === 1
981
+ && editRange.isEmpty() && editText && editText.length > 0 && editText.charAt(editText.length - 1) === '\n') {
982
+ // This edit inserts a new line (and maybe other text) before `trimLine`
983
+ continue;
984
+ }
985
+ // Looks like we can't trim this line as it would interfere with an incoming edit
986
+ allowTrimLine = false;
987
+ break;
988
+ }
989
+ if (allowTrimLine) {
990
+ const trimRange = new Range(trimLineNumber, 1, trimLineNumber, maxLineColumn);
991
+ editOperations.push(new model.ValidAnnotatedEditOperation(null, trimRange, null, false, false, false));
992
+ }
993
+ }
994
+ }
995
+ this._trimAutoWhitespaceLines = null;
996
+ }
997
+ if (this._initialUndoRedoSnapshot === null) {
998
+ this._initialUndoRedoSnapshot = this._undoRedoService.createSnapshot(this.uri);
999
+ }
1000
+ return this._commandManager.pushEditOperation(beforeCursorState, editOperations, cursorStateComputer, group);
1001
+ }
1002
+ _applyUndo(changes, eol, resultingAlternativeVersionId, resultingSelection) {
1003
+ const edits = changes.map((change) => {
1004
+ const rangeStart = this.getPositionAt(change.newPosition);
1005
+ const rangeEnd = this.getPositionAt(change.newEnd);
1006
+ return {
1007
+ range: new Range(rangeStart.lineNumber, rangeStart.column, rangeEnd.lineNumber, rangeEnd.column),
1008
+ text: change.oldText
1009
+ };
1010
+ });
1011
+ this._applyUndoRedoEdits(edits, eol, true, false, resultingAlternativeVersionId, resultingSelection);
1012
+ }
1013
+ _applyRedo(changes, eol, resultingAlternativeVersionId, resultingSelection) {
1014
+ const edits = changes.map((change) => {
1015
+ const rangeStart = this.getPositionAt(change.oldPosition);
1016
+ const rangeEnd = this.getPositionAt(change.oldEnd);
1017
+ return {
1018
+ range: new Range(rangeStart.lineNumber, rangeStart.column, rangeEnd.lineNumber, rangeEnd.column),
1019
+ text: change.newText
1020
+ };
1021
+ });
1022
+ this._applyUndoRedoEdits(edits, eol, false, true, resultingAlternativeVersionId, resultingSelection);
1023
+ }
1024
+ _applyUndoRedoEdits(edits, eol, isUndoing, isRedoing, resultingAlternativeVersionId, resultingSelection) {
1025
+ try {
1026
+ this._onDidChangeDecorations.beginDeferredEmit();
1027
+ this._eventEmitter.beginDeferredEmit();
1028
+ this._isUndoing = isUndoing;
1029
+ this._isRedoing = isRedoing;
1030
+ this.applyEdits(edits, false);
1031
+ this.setEOL(eol);
1032
+ this._overwriteAlternativeVersionId(resultingAlternativeVersionId);
1033
+ }
1034
+ finally {
1035
+ this._isUndoing = false;
1036
+ this._isRedoing = false;
1037
+ this._eventEmitter.endDeferredEmit(resultingSelection);
1038
+ this._onDidChangeDecorations.endDeferredEmit();
1039
+ }
1040
+ }
1041
+ applyEdits(rawOperations, computeUndoEdits = false) {
1042
+ try {
1043
+ this._onDidChangeDecorations.beginDeferredEmit();
1044
+ this._eventEmitter.beginDeferredEmit();
1045
+ const operations = this._validateEditOperations(rawOperations);
1046
+ return this._doApplyEdits(operations, computeUndoEdits);
1047
+ }
1048
+ finally {
1049
+ this._eventEmitter.endDeferredEmit();
1050
+ this._onDidChangeDecorations.endDeferredEmit();
1051
+ }
1052
+ }
1053
+ _doApplyEdits(rawOperations, computeUndoEdits) {
1054
+ const oldLineCount = this._buffer.getLineCount();
1055
+ const result = this._buffer.applyEdits(rawOperations, this._options.trimAutoWhitespace, computeUndoEdits);
1056
+ const newLineCount = this._buffer.getLineCount();
1057
+ const contentChanges = result.changes;
1058
+ this._trimAutoWhitespaceLines = result.trimAutoWhitespaceLineNumbers;
1059
+ if (contentChanges.length !== 0) {
1060
+ // We do a first pass to update decorations
1061
+ // because we want to read decorations in the second pass
1062
+ // where we will emit content change events
1063
+ // and we want to read the final decorations
1064
+ for (let i = 0, len = contentChanges.length; i < len; i++) {
1065
+ const change = contentChanges[i];
1066
+ this._decorationsTree.acceptReplace(change.rangeOffset, change.rangeLength, change.text.length, change.forceMoveMarkers);
1067
+ }
1068
+ const rawContentChanges = [];
1069
+ this._increaseVersionId();
1070
+ let lineCount = oldLineCount;
1071
+ for (let i = 0, len = contentChanges.length; i < len; i++) {
1072
+ const change = contentChanges[i];
1073
+ const [eolCount] = countEOL(change.text);
1074
+ this._onDidChangeDecorations.fire();
1075
+ const startLineNumber = change.range.startLineNumber;
1076
+ const endLineNumber = change.range.endLineNumber;
1077
+ const deletingLinesCnt = endLineNumber - startLineNumber;
1078
+ const insertingLinesCnt = eolCount;
1079
+ const editingLinesCnt = Math.min(deletingLinesCnt, insertingLinesCnt);
1080
+ const changeLineCountDelta = (insertingLinesCnt - deletingLinesCnt);
1081
+ const currentEditStartLineNumber = newLineCount - lineCount - changeLineCountDelta + startLineNumber;
1082
+ const firstEditLineNumber = currentEditStartLineNumber;
1083
+ const lastInsertedLineNumber = currentEditStartLineNumber + insertingLinesCnt;
1084
+ const decorationsWithInjectedTextInEditedRange = this._decorationsTree.getInjectedTextInInterval(this, this.getOffsetAt(new Position(firstEditLineNumber, 1)), this.getOffsetAt(new Position(lastInsertedLineNumber, this.getLineMaxColumn(lastInsertedLineNumber))), 0);
1085
+ const injectedTextInEditedRange = LineInjectedText.fromDecorations(decorationsWithInjectedTextInEditedRange);
1086
+ const injectedTextInEditedRangeQueue = new ArrayQueue(injectedTextInEditedRange);
1087
+ for (let j = editingLinesCnt; j >= 0; j--) {
1088
+ const editLineNumber = startLineNumber + j;
1089
+ const currentEditLineNumber = currentEditStartLineNumber + j;
1090
+ injectedTextInEditedRangeQueue.takeFromEndWhile(r => r.lineNumber > currentEditLineNumber);
1091
+ const decorationsInCurrentLine = injectedTextInEditedRangeQueue.takeFromEndWhile(r => r.lineNumber === currentEditLineNumber);
1092
+ rawContentChanges.push(new ModelRawLineChanged(editLineNumber, this.getLineContent(currentEditLineNumber), decorationsInCurrentLine));
1093
+ }
1094
+ if (editingLinesCnt < deletingLinesCnt) {
1095
+ // Must delete some lines
1096
+ const spliceStartLineNumber = startLineNumber + editingLinesCnt;
1097
+ rawContentChanges.push(new ModelRawLinesDeleted(spliceStartLineNumber + 1, endLineNumber));
1098
+ }
1099
+ if (editingLinesCnt < insertingLinesCnt) {
1100
+ const injectedTextInEditedRangeQueue = new ArrayQueue(injectedTextInEditedRange);
1101
+ // Must insert some lines
1102
+ const spliceLineNumber = startLineNumber + editingLinesCnt;
1103
+ const cnt = insertingLinesCnt - editingLinesCnt;
1104
+ const fromLineNumber = newLineCount - lineCount - cnt + spliceLineNumber + 1;
1105
+ const injectedTexts = [];
1106
+ const newLines = [];
1107
+ for (let i = 0; i < cnt; i++) {
1108
+ const lineNumber = fromLineNumber + i;
1109
+ newLines[i] = this.getLineContent(lineNumber);
1110
+ injectedTextInEditedRangeQueue.takeWhile(r => r.lineNumber < lineNumber);
1111
+ injectedTexts[i] = injectedTextInEditedRangeQueue.takeWhile(r => r.lineNumber === lineNumber);
1112
+ }
1113
+ rawContentChanges.push(new ModelRawLinesInserted(spliceLineNumber + 1, startLineNumber + insertingLinesCnt, newLines, injectedTexts));
1114
+ }
1115
+ lineCount += changeLineCountDelta;
1116
+ }
1117
+ this._emitContentChangedEvent(new ModelRawContentChangedEvent(rawContentChanges, this.getVersionId(), this._isUndoing, this._isRedoing), {
1118
+ changes: contentChanges,
1119
+ eol: this._buffer.getEOL(),
1120
+ isEolChange: false,
1121
+ versionId: this.getVersionId(),
1122
+ isUndoing: this._isUndoing,
1123
+ isRedoing: this._isRedoing,
1124
+ isFlush: false
1125
+ });
1126
+ }
1127
+ return (result.reverseEdits === null ? undefined : result.reverseEdits);
1128
+ }
1129
+ undo() {
1130
+ return this._undoRedoService.undo(this.uri);
1131
+ }
1132
+ canUndo() {
1133
+ return this._undoRedoService.canUndo(this.uri);
1134
+ }
1135
+ redo() {
1136
+ return this._undoRedoService.redo(this.uri);
1137
+ }
1138
+ canRedo() {
1139
+ return this._undoRedoService.canRedo(this.uri);
1140
+ }
1141
+ //#endregion
1142
+ //#region Decorations
1143
+ handleBeforeFireDecorationsChangedEvent(affectedInjectedTextLines) {
1144
+ // This is called before the decoration changed event is fired.
1145
+ if (affectedInjectedTextLines === null || affectedInjectedTextLines.size === 0) {
1146
+ return;
1147
+ }
1148
+ const affectedLines = Array.from(affectedInjectedTextLines);
1149
+ const lineChangeEvents = affectedLines.map(lineNumber => new ModelRawLineChanged(lineNumber, this.getLineContent(lineNumber), this._getInjectedTextInLine(lineNumber)));
1150
+ this._onDidChangeInjectedText.fire(new ModelInjectedTextChangedEvent(lineChangeEvents));
1151
+ }
1152
+ changeDecorations(callback, ownerId = 0) {
1153
+ this._assertNotDisposed();
1154
+ try {
1155
+ this._onDidChangeDecorations.beginDeferredEmit();
1156
+ return this._changeDecorations(ownerId, callback);
1157
+ }
1158
+ finally {
1159
+ this._onDidChangeDecorations.endDeferredEmit();
1160
+ }
1161
+ }
1162
+ _changeDecorations(ownerId, callback) {
1163
+ const changeAccessor = {
1164
+ addDecoration: (range, options) => {
1165
+ return this._deltaDecorationsImpl(ownerId, [], [{ range: range, options: options }])[0];
1166
+ },
1167
+ changeDecoration: (id, newRange) => {
1168
+ this._changeDecorationImpl(id, newRange);
1169
+ },
1170
+ changeDecorationOptions: (id, options) => {
1171
+ this._changeDecorationOptionsImpl(id, _normalizeOptions(options));
1172
+ },
1173
+ removeDecoration: (id) => {
1174
+ this._deltaDecorationsImpl(ownerId, [id], []);
1175
+ },
1176
+ deltaDecorations: (oldDecorations, newDecorations) => {
1177
+ if (oldDecorations.length === 0 && newDecorations.length === 0) {
1178
+ // nothing to do
1179
+ return [];
1180
+ }
1181
+ return this._deltaDecorationsImpl(ownerId, oldDecorations, newDecorations);
1182
+ }
1183
+ };
1184
+ let result = null;
1185
+ try {
1186
+ result = callback(changeAccessor);
1187
+ }
1188
+ catch (e) {
1189
+ onUnexpectedError(e);
1190
+ }
1191
+ // Invalidate change accessor
1192
+ changeAccessor.addDecoration = invalidFunc;
1193
+ changeAccessor.changeDecoration = invalidFunc;
1194
+ changeAccessor.changeDecorationOptions = invalidFunc;
1195
+ changeAccessor.removeDecoration = invalidFunc;
1196
+ changeAccessor.deltaDecorations = invalidFunc;
1197
+ return result;
1198
+ }
1199
+ deltaDecorations(oldDecorations, newDecorations, ownerId = 0) {
1200
+ this._assertNotDisposed();
1201
+ if (!oldDecorations) {
1202
+ oldDecorations = [];
1203
+ }
1204
+ if (oldDecorations.length === 0 && newDecorations.length === 0) {
1205
+ // nothing to do
1206
+ return [];
1207
+ }
1208
+ try {
1209
+ this._deltaDecorationCallCnt++;
1210
+ if (this._deltaDecorationCallCnt > 1) {
1211
+ console.warn(`Invoking deltaDecorations recursively could lead to leaking decorations.`);
1212
+ onUnexpectedError(new Error(`Invoking deltaDecorations recursively could lead to leaking decorations.`));
1213
+ }
1214
+ this._onDidChangeDecorations.beginDeferredEmit();
1215
+ return this._deltaDecorationsImpl(ownerId, oldDecorations, newDecorations);
1216
+ }
1217
+ finally {
1218
+ this._onDidChangeDecorations.endDeferredEmit();
1219
+ this._deltaDecorationCallCnt--;
1220
+ }
1221
+ }
1222
+ _getTrackedRange(id) {
1223
+ return this.getDecorationRange(id);
1224
+ }
1225
+ _setTrackedRange(id, newRange, newStickiness) {
1226
+ const node = (id ? this._decorations[id] : null);
1227
+ if (!node) {
1228
+ if (!newRange) {
1229
+ // node doesn't exist, the request is to delete => nothing to do
1230
+ return null;
1231
+ }
1232
+ // node doesn't exist, the request is to set => add the tracked range
1233
+ return this._deltaDecorationsImpl(0, [], [{ range: newRange, options: TRACKED_RANGE_OPTIONS[newStickiness] }], true)[0];
1234
+ }
1235
+ if (!newRange) {
1236
+ // node exists, the request is to delete => delete node
1237
+ this._decorationsTree.delete(node);
1238
+ delete this._decorations[node.id];
1239
+ return null;
1240
+ }
1241
+ // node exists, the request is to set => change the tracked range and its options
1242
+ const range = this._validateRangeRelaxedNoAllocations(newRange);
1243
+ const startOffset = this._buffer.getOffsetAt(range.startLineNumber, range.startColumn);
1244
+ const endOffset = this._buffer.getOffsetAt(range.endLineNumber, range.endColumn);
1245
+ this._decorationsTree.delete(node);
1246
+ node.reset(this.getVersionId(), startOffset, endOffset, range);
1247
+ node.setOptions(TRACKED_RANGE_OPTIONS[newStickiness]);
1248
+ this._decorationsTree.insert(node);
1249
+ return node.id;
1250
+ }
1251
+ removeAllDecorationsWithOwnerId(ownerId) {
1252
+ if (this._isDisposed) {
1253
+ return;
1254
+ }
1255
+ const nodes = this._decorationsTree.collectNodesFromOwner(ownerId);
1256
+ for (let i = 0, len = nodes.length; i < len; i++) {
1257
+ const node = nodes[i];
1258
+ this._decorationsTree.delete(node);
1259
+ delete this._decorations[node.id];
1260
+ }
1261
+ }
1262
+ getDecorationOptions(decorationId) {
1263
+ const node = this._decorations[decorationId];
1264
+ if (!node) {
1265
+ return null;
1266
+ }
1267
+ return node.options;
1268
+ }
1269
+ getDecorationRange(decorationId) {
1270
+ const node = this._decorations[decorationId];
1271
+ if (!node) {
1272
+ return null;
1273
+ }
1274
+ return this._decorationsTree.getNodeRange(this, node);
1275
+ }
1276
+ getLineDecorations(lineNumber, ownerId = 0, filterOutValidation = false) {
1277
+ if (lineNumber < 1 || lineNumber > this.getLineCount()) {
1278
+ return [];
1279
+ }
1280
+ return this.getLinesDecorations(lineNumber, lineNumber, ownerId, filterOutValidation);
1281
+ }
1282
+ getLinesDecorations(_startLineNumber, _endLineNumber, ownerId = 0, filterOutValidation = false, onlyMarginDecorations = false) {
1283
+ const lineCount = this.getLineCount();
1284
+ const startLineNumber = Math.min(lineCount, Math.max(1, _startLineNumber));
1285
+ const endLineNumber = Math.min(lineCount, Math.max(1, _endLineNumber));
1286
+ const endColumn = this.getLineMaxColumn(endLineNumber);
1287
+ const range = new Range(startLineNumber, 1, endLineNumber, endColumn);
1288
+ const decorations = this._getDecorationsInRange(range, ownerId, filterOutValidation, onlyMarginDecorations);
1289
+ pushMany(decorations, this._decorationProvider.getDecorationsInRange(range, ownerId, filterOutValidation));
1290
+ return decorations;
1291
+ }
1292
+ getDecorationsInRange(range, ownerId = 0, filterOutValidation = false, onlyMinimapDecorations = false, onlyMarginDecorations = false) {
1293
+ const validatedRange = this.validateRange(range);
1294
+ const decorations = this._getDecorationsInRange(validatedRange, ownerId, filterOutValidation, onlyMarginDecorations);
1295
+ pushMany(decorations, this._decorationProvider.getDecorationsInRange(validatedRange, ownerId, filterOutValidation, onlyMinimapDecorations));
1296
+ return decorations;
1297
+ }
1298
+ getOverviewRulerDecorations(ownerId = 0, filterOutValidation = false) {
1299
+ return this._decorationsTree.getAll(this, ownerId, filterOutValidation, true, false);
1300
+ }
1301
+ getInjectedTextDecorations(ownerId = 0) {
1302
+ return this._decorationsTree.getAllInjectedText(this, ownerId);
1303
+ }
1304
+ _getInjectedTextInLine(lineNumber) {
1305
+ const startOffset = this._buffer.getOffsetAt(lineNumber, 1);
1306
+ const endOffset = startOffset + this._buffer.getLineLength(lineNumber);
1307
+ const result = this._decorationsTree.getInjectedTextInInterval(this, startOffset, endOffset, 0);
1308
+ return LineInjectedText.fromDecorations(result).filter(t => t.lineNumber === lineNumber);
1309
+ }
1310
+ getAllDecorations(ownerId = 0, filterOutValidation = false) {
1311
+ let result = this._decorationsTree.getAll(this, ownerId, filterOutValidation, false, false);
1312
+ result = result.concat(this._decorationProvider.getAllDecorations(ownerId, filterOutValidation));
1313
+ return result;
1314
+ }
1315
+ getAllMarginDecorations(ownerId = 0) {
1316
+ return this._decorationsTree.getAll(this, ownerId, false, false, true);
1317
+ }
1318
+ _getDecorationsInRange(filterRange, filterOwnerId, filterOutValidation, onlyMarginDecorations) {
1319
+ const startOffset = this._buffer.getOffsetAt(filterRange.startLineNumber, filterRange.startColumn);
1320
+ const endOffset = this._buffer.getOffsetAt(filterRange.endLineNumber, filterRange.endColumn);
1321
+ return this._decorationsTree.getAllInInterval(this, startOffset, endOffset, filterOwnerId, filterOutValidation, onlyMarginDecorations);
1322
+ }
1323
+ getRangeAt(start, end) {
1324
+ return this._buffer.getRangeAt(start, end - start);
1325
+ }
1326
+ _changeDecorationImpl(decorationId, _range) {
1327
+ const node = this._decorations[decorationId];
1328
+ if (!node) {
1329
+ return;
1330
+ }
1331
+ if (node.options.after) {
1332
+ const oldRange = this.getDecorationRange(decorationId);
1333
+ this._onDidChangeDecorations.recordLineAffectedByInjectedText(oldRange.endLineNumber);
1334
+ }
1335
+ if (node.options.before) {
1336
+ const oldRange = this.getDecorationRange(decorationId);
1337
+ this._onDidChangeDecorations.recordLineAffectedByInjectedText(oldRange.startLineNumber);
1338
+ }
1339
+ const range = this._validateRangeRelaxedNoAllocations(_range);
1340
+ const startOffset = this._buffer.getOffsetAt(range.startLineNumber, range.startColumn);
1341
+ const endOffset = this._buffer.getOffsetAt(range.endLineNumber, range.endColumn);
1342
+ this._decorationsTree.delete(node);
1343
+ node.reset(this.getVersionId(), startOffset, endOffset, range);
1344
+ this._decorationsTree.insert(node);
1345
+ this._onDidChangeDecorations.checkAffectedAndFire(node.options);
1346
+ if (node.options.after) {
1347
+ this._onDidChangeDecorations.recordLineAffectedByInjectedText(range.endLineNumber);
1348
+ }
1349
+ if (node.options.before) {
1350
+ this._onDidChangeDecorations.recordLineAffectedByInjectedText(range.startLineNumber);
1351
+ }
1352
+ }
1353
+ _changeDecorationOptionsImpl(decorationId, options) {
1354
+ const node = this._decorations[decorationId];
1355
+ if (!node) {
1356
+ return;
1357
+ }
1358
+ const nodeWasInOverviewRuler = (node.options.overviewRuler && node.options.overviewRuler.color ? true : false);
1359
+ const nodeIsInOverviewRuler = (options.overviewRuler && options.overviewRuler.color ? true : false);
1360
+ this._onDidChangeDecorations.checkAffectedAndFire(node.options);
1361
+ this._onDidChangeDecorations.checkAffectedAndFire(options);
1362
+ if (node.options.after || options.after) {
1363
+ const nodeRange = this._decorationsTree.getNodeRange(this, node);
1364
+ this._onDidChangeDecorations.recordLineAffectedByInjectedText(nodeRange.endLineNumber);
1365
+ }
1366
+ if (node.options.before || options.before) {
1367
+ const nodeRange = this._decorationsTree.getNodeRange(this, node);
1368
+ this._onDidChangeDecorations.recordLineAffectedByInjectedText(nodeRange.startLineNumber);
1369
+ }
1370
+ const movedInOverviewRuler = nodeWasInOverviewRuler !== nodeIsInOverviewRuler;
1371
+ const changedWhetherInjectedText = isOptionsInjectedText(options) !== isNodeInjectedText(node);
1372
+ if (movedInOverviewRuler || changedWhetherInjectedText) {
1373
+ this._decorationsTree.delete(node);
1374
+ node.setOptions(options);
1375
+ this._decorationsTree.insert(node);
1376
+ }
1377
+ else {
1378
+ node.setOptions(options);
1379
+ }
1380
+ }
1381
+ _deltaDecorationsImpl(ownerId, oldDecorationsIds, newDecorations, suppressEvents = false) {
1382
+ const versionId = this.getVersionId();
1383
+ const oldDecorationsLen = oldDecorationsIds.length;
1384
+ let oldDecorationIndex = 0;
1385
+ const newDecorationsLen = newDecorations.length;
1386
+ let newDecorationIndex = 0;
1387
+ this._onDidChangeDecorations.beginDeferredEmit();
1388
+ try {
1389
+ const result = new Array(newDecorationsLen);
1390
+ while (oldDecorationIndex < oldDecorationsLen || newDecorationIndex < newDecorationsLen) {
1391
+ let node = null;
1392
+ if (oldDecorationIndex < oldDecorationsLen) {
1393
+ // (1) get ourselves an old node
1394
+ do {
1395
+ node = this._decorations[oldDecorationsIds[oldDecorationIndex++]];
1396
+ } while (!node && oldDecorationIndex < oldDecorationsLen);
1397
+ // (2) remove the node from the tree (if it exists)
1398
+ if (node) {
1399
+ if (node.options.after) {
1400
+ const nodeRange = this._decorationsTree.getNodeRange(this, node);
1401
+ this._onDidChangeDecorations.recordLineAffectedByInjectedText(nodeRange.endLineNumber);
1402
+ }
1403
+ if (node.options.before) {
1404
+ const nodeRange = this._decorationsTree.getNodeRange(this, node);
1405
+ this._onDidChangeDecorations.recordLineAffectedByInjectedText(nodeRange.startLineNumber);
1406
+ }
1407
+ this._decorationsTree.delete(node);
1408
+ if (!suppressEvents) {
1409
+ this._onDidChangeDecorations.checkAffectedAndFire(node.options);
1410
+ }
1411
+ }
1412
+ }
1413
+ if (newDecorationIndex < newDecorationsLen) {
1414
+ // (3) create a new node if necessary
1415
+ if (!node) {
1416
+ const internalDecorationId = (++this._lastDecorationId);
1417
+ const decorationId = `${this._instanceId};${internalDecorationId}`;
1418
+ node = new IntervalNode(decorationId, 0, 0);
1419
+ this._decorations[decorationId] = node;
1420
+ }
1421
+ // (4) initialize node
1422
+ const newDecoration = newDecorations[newDecorationIndex];
1423
+ const range = this._validateRangeRelaxedNoAllocations(newDecoration.range);
1424
+ const options = _normalizeOptions(newDecoration.options);
1425
+ const startOffset = this._buffer.getOffsetAt(range.startLineNumber, range.startColumn);
1426
+ const endOffset = this._buffer.getOffsetAt(range.endLineNumber, range.endColumn);
1427
+ node.ownerId = ownerId;
1428
+ node.reset(versionId, startOffset, endOffset, range);
1429
+ node.setOptions(options);
1430
+ if (node.options.after) {
1431
+ this._onDidChangeDecorations.recordLineAffectedByInjectedText(range.endLineNumber);
1432
+ }
1433
+ if (node.options.before) {
1434
+ this._onDidChangeDecorations.recordLineAffectedByInjectedText(range.startLineNumber);
1435
+ }
1436
+ if (!suppressEvents) {
1437
+ this._onDidChangeDecorations.checkAffectedAndFire(options);
1438
+ }
1439
+ this._decorationsTree.insert(node);
1440
+ result[newDecorationIndex] = node.id;
1441
+ newDecorationIndex++;
1442
+ }
1443
+ else {
1444
+ if (node) {
1445
+ delete this._decorations[node.id];
1446
+ }
1447
+ }
1448
+ }
1449
+ return result;
1450
+ }
1451
+ finally {
1452
+ this._onDidChangeDecorations.endDeferredEmit();
1453
+ }
1454
+ }
1455
+ //#endregion
1456
+ //#region Tokenization
1457
+ // TODO move them to the tokenization part.
1458
+ getLanguageId() {
1459
+ return this.tokenization.getLanguageId();
1460
+ }
1461
+ setLanguage(languageIdOrSelection, source) {
1462
+ if (typeof languageIdOrSelection === 'string') {
1463
+ this._languageSelectionListener.clear();
1464
+ this._setLanguage(languageIdOrSelection, source);
1465
+ }
1466
+ else {
1467
+ this._languageSelectionListener.value = languageIdOrSelection.onDidChange(() => this._setLanguage(languageIdOrSelection.languageId, source));
1468
+ this._setLanguage(languageIdOrSelection.languageId, source);
1469
+ }
1470
+ }
1471
+ _setLanguage(languageId, source) {
1472
+ this.tokenization.setLanguageId(languageId, source);
1473
+ this._languageService.requestRichLanguageFeatures(languageId);
1474
+ }
1475
+ getLanguageIdAtPosition(lineNumber, column) {
1476
+ return this.tokenization.getLanguageIdAtPosition(lineNumber, column);
1477
+ }
1478
+ getWordAtPosition(position) {
1479
+ return this._tokenizationTextModelPart.getWordAtPosition(position);
1480
+ }
1481
+ getWordUntilPosition(position) {
1482
+ return this._tokenizationTextModelPart.getWordUntilPosition(position);
1483
+ }
1484
+ //#endregion
1485
+ normalizePosition(position, affinity) {
1486
+ return position;
1487
+ }
1488
+ /**
1489
+ * Gets the column at which indentation stops at a given line.
1490
+ * @internal
1491
+ */
1492
+ getLineIndentColumn(lineNumber) {
1493
+ // Columns start with 1.
1494
+ return indentOfLine(this.getLineContent(lineNumber)) + 1;
1495
+ }
1496
+ };
1497
+ TextModel = TextModel_1 = __decorate([
1498
+ __param(4, IUndoRedoService),
1499
+ __param(5, ILanguageService),
1500
+ __param(6, ILanguageConfigurationService),
1501
+ __param(7, IInstantiationService)
1502
+ ], TextModel);
1503
+ export { TextModel };
1504
+ export function indentOfLine(line) {
1505
+ let indent = 0;
1506
+ for (const c of line) {
1507
+ if (c === ' ' || c === '\t') {
1508
+ indent++;
1509
+ }
1510
+ else {
1511
+ break;
1512
+ }
1513
+ }
1514
+ return indent;
1515
+ }
1516
+ //#region Decorations
1517
+ function isNodeInOverviewRuler(node) {
1518
+ return (node.options.overviewRuler && node.options.overviewRuler.color ? true : false);
1519
+ }
1520
+ function isOptionsInjectedText(options) {
1521
+ return !!options.after || !!options.before;
1522
+ }
1523
+ function isNodeInjectedText(node) {
1524
+ return !!node.options.after || !!node.options.before;
1525
+ }
1526
+ class DecorationsTrees {
1527
+ constructor() {
1528
+ this._decorationsTree0 = new IntervalTree();
1529
+ this._decorationsTree1 = new IntervalTree();
1530
+ this._injectedTextDecorationsTree = new IntervalTree();
1531
+ }
1532
+ ensureAllNodesHaveRanges(host) {
1533
+ this.getAll(host, 0, false, false, false);
1534
+ }
1535
+ _ensureNodesHaveRanges(host, nodes) {
1536
+ for (const node of nodes) {
1537
+ if (node.range === null) {
1538
+ node.range = host.getRangeAt(node.cachedAbsoluteStart, node.cachedAbsoluteEnd);
1539
+ }
1540
+ }
1541
+ return nodes;
1542
+ }
1543
+ getAllInInterval(host, start, end, filterOwnerId, filterOutValidation, onlyMarginDecorations) {
1544
+ const versionId = host.getVersionId();
1545
+ const result = this._intervalSearch(start, end, filterOwnerId, filterOutValidation, versionId, onlyMarginDecorations);
1546
+ return this._ensureNodesHaveRanges(host, result);
1547
+ }
1548
+ _intervalSearch(start, end, filterOwnerId, filterOutValidation, cachedVersionId, onlyMarginDecorations) {
1549
+ const r0 = this._decorationsTree0.intervalSearch(start, end, filterOwnerId, filterOutValidation, cachedVersionId, onlyMarginDecorations);
1550
+ const r1 = this._decorationsTree1.intervalSearch(start, end, filterOwnerId, filterOutValidation, cachedVersionId, onlyMarginDecorations);
1551
+ const r2 = this._injectedTextDecorationsTree.intervalSearch(start, end, filterOwnerId, filterOutValidation, cachedVersionId, onlyMarginDecorations);
1552
+ return r0.concat(r1).concat(r2);
1553
+ }
1554
+ getInjectedTextInInterval(host, start, end, filterOwnerId) {
1555
+ const versionId = host.getVersionId();
1556
+ const result = this._injectedTextDecorationsTree.intervalSearch(start, end, filterOwnerId, false, versionId, false);
1557
+ return this._ensureNodesHaveRanges(host, result).filter((i) => i.options.showIfCollapsed || !i.range.isEmpty());
1558
+ }
1559
+ getAllInjectedText(host, filterOwnerId) {
1560
+ const versionId = host.getVersionId();
1561
+ const result = this._injectedTextDecorationsTree.search(filterOwnerId, false, versionId, false);
1562
+ return this._ensureNodesHaveRanges(host, result).filter((i) => i.options.showIfCollapsed || !i.range.isEmpty());
1563
+ }
1564
+ getAll(host, filterOwnerId, filterOutValidation, overviewRulerOnly, onlyMarginDecorations) {
1565
+ const versionId = host.getVersionId();
1566
+ const result = this._search(filterOwnerId, filterOutValidation, overviewRulerOnly, versionId, onlyMarginDecorations);
1567
+ return this._ensureNodesHaveRanges(host, result);
1568
+ }
1569
+ _search(filterOwnerId, filterOutValidation, overviewRulerOnly, cachedVersionId, onlyMarginDecorations) {
1570
+ if (overviewRulerOnly) {
1571
+ return this._decorationsTree1.search(filterOwnerId, filterOutValidation, cachedVersionId, onlyMarginDecorations);
1572
+ }
1573
+ else {
1574
+ const r0 = this._decorationsTree0.search(filterOwnerId, filterOutValidation, cachedVersionId, onlyMarginDecorations);
1575
+ const r1 = this._decorationsTree1.search(filterOwnerId, filterOutValidation, cachedVersionId, onlyMarginDecorations);
1576
+ const r2 = this._injectedTextDecorationsTree.search(filterOwnerId, filterOutValidation, cachedVersionId, onlyMarginDecorations);
1577
+ return r0.concat(r1).concat(r2);
1578
+ }
1579
+ }
1580
+ collectNodesFromOwner(ownerId) {
1581
+ const r0 = this._decorationsTree0.collectNodesFromOwner(ownerId);
1582
+ const r1 = this._decorationsTree1.collectNodesFromOwner(ownerId);
1583
+ const r2 = this._injectedTextDecorationsTree.collectNodesFromOwner(ownerId);
1584
+ return r0.concat(r1).concat(r2);
1585
+ }
1586
+ collectNodesPostOrder() {
1587
+ const r0 = this._decorationsTree0.collectNodesPostOrder();
1588
+ const r1 = this._decorationsTree1.collectNodesPostOrder();
1589
+ const r2 = this._injectedTextDecorationsTree.collectNodesPostOrder();
1590
+ return r0.concat(r1).concat(r2);
1591
+ }
1592
+ insert(node) {
1593
+ if (isNodeInjectedText(node)) {
1594
+ this._injectedTextDecorationsTree.insert(node);
1595
+ }
1596
+ else if (isNodeInOverviewRuler(node)) {
1597
+ this._decorationsTree1.insert(node);
1598
+ }
1599
+ else {
1600
+ this._decorationsTree0.insert(node);
1601
+ }
1602
+ }
1603
+ delete(node) {
1604
+ if (isNodeInjectedText(node)) {
1605
+ this._injectedTextDecorationsTree.delete(node);
1606
+ }
1607
+ else if (isNodeInOverviewRuler(node)) {
1608
+ this._decorationsTree1.delete(node);
1609
+ }
1610
+ else {
1611
+ this._decorationsTree0.delete(node);
1612
+ }
1613
+ }
1614
+ getNodeRange(host, node) {
1615
+ const versionId = host.getVersionId();
1616
+ if (node.cachedVersionId !== versionId) {
1617
+ this._resolveNode(node, versionId);
1618
+ }
1619
+ if (node.range === null) {
1620
+ node.range = host.getRangeAt(node.cachedAbsoluteStart, node.cachedAbsoluteEnd);
1621
+ }
1622
+ return node.range;
1623
+ }
1624
+ _resolveNode(node, cachedVersionId) {
1625
+ if (isNodeInjectedText(node)) {
1626
+ this._injectedTextDecorationsTree.resolveNode(node, cachedVersionId);
1627
+ }
1628
+ else if (isNodeInOverviewRuler(node)) {
1629
+ this._decorationsTree1.resolveNode(node, cachedVersionId);
1630
+ }
1631
+ else {
1632
+ this._decorationsTree0.resolveNode(node, cachedVersionId);
1633
+ }
1634
+ }
1635
+ acceptReplace(offset, length, textLength, forceMoveMarkers) {
1636
+ this._decorationsTree0.acceptReplace(offset, length, textLength, forceMoveMarkers);
1637
+ this._decorationsTree1.acceptReplace(offset, length, textLength, forceMoveMarkers);
1638
+ this._injectedTextDecorationsTree.acceptReplace(offset, length, textLength, forceMoveMarkers);
1639
+ }
1640
+ }
1641
+ function cleanClassName(className) {
1642
+ return className.replace(/[^a-z0-9\-_]/gi, ' ');
1643
+ }
1644
+ class DecorationOptions {
1645
+ constructor(options) {
1646
+ this.color = options.color || '';
1647
+ this.darkColor = options.darkColor || '';
1648
+ }
1649
+ }
1650
+ export class ModelDecorationOverviewRulerOptions extends DecorationOptions {
1651
+ constructor(options) {
1652
+ super(options);
1653
+ this._resolvedColor = null;
1654
+ this.position = (typeof options.position === 'number' ? options.position : model.OverviewRulerLane.Center);
1655
+ }
1656
+ getColor(theme) {
1657
+ if (!this._resolvedColor) {
1658
+ if (theme.type !== 'light' && this.darkColor) {
1659
+ this._resolvedColor = this._resolveColor(this.darkColor, theme);
1660
+ }
1661
+ else {
1662
+ this._resolvedColor = this._resolveColor(this.color, theme);
1663
+ }
1664
+ }
1665
+ return this._resolvedColor;
1666
+ }
1667
+ invalidateCachedColor() {
1668
+ this._resolvedColor = null;
1669
+ }
1670
+ _resolveColor(color, theme) {
1671
+ if (typeof color === 'string') {
1672
+ return color;
1673
+ }
1674
+ const c = color ? theme.getColor(color.id) : null;
1675
+ if (!c) {
1676
+ return '';
1677
+ }
1678
+ return c.toString();
1679
+ }
1680
+ }
1681
+ export class ModelDecorationGlyphMarginOptions {
1682
+ constructor(options) {
1683
+ this.position = options?.position ?? model.GlyphMarginLane.Center;
1684
+ this.persistLane = options?.persistLane;
1685
+ }
1686
+ }
1687
+ export class ModelDecorationMinimapOptions extends DecorationOptions {
1688
+ constructor(options) {
1689
+ super(options);
1690
+ this.position = options.position;
1691
+ this.sectionHeaderStyle = options.sectionHeaderStyle ?? null;
1692
+ this.sectionHeaderText = options.sectionHeaderText ?? null;
1693
+ }
1694
+ getColor(theme) {
1695
+ if (!this._resolvedColor) {
1696
+ if (theme.type !== 'light' && this.darkColor) {
1697
+ this._resolvedColor = this._resolveColor(this.darkColor, theme);
1698
+ }
1699
+ else {
1700
+ this._resolvedColor = this._resolveColor(this.color, theme);
1701
+ }
1702
+ }
1703
+ return this._resolvedColor;
1704
+ }
1705
+ invalidateCachedColor() {
1706
+ this._resolvedColor = undefined;
1707
+ }
1708
+ _resolveColor(color, theme) {
1709
+ if (typeof color === 'string') {
1710
+ return Color.fromHex(color);
1711
+ }
1712
+ return theme.getColor(color.id);
1713
+ }
1714
+ }
1715
+ export class ModelDecorationInjectedTextOptions {
1716
+ static from(options) {
1717
+ if (options instanceof ModelDecorationInjectedTextOptions) {
1718
+ return options;
1719
+ }
1720
+ return new ModelDecorationInjectedTextOptions(options);
1721
+ }
1722
+ constructor(options) {
1723
+ this.content = options.content || '';
1724
+ this.inlineClassName = options.inlineClassName || null;
1725
+ this.inlineClassNameAffectsLetterSpacing = options.inlineClassNameAffectsLetterSpacing || false;
1726
+ this.attachedData = options.attachedData || null;
1727
+ this.cursorStops = options.cursorStops || null;
1728
+ }
1729
+ }
1730
+ export class ModelDecorationOptions {
1731
+ static register(options) {
1732
+ return new ModelDecorationOptions(options);
1733
+ }
1734
+ static createDynamic(options) {
1735
+ return new ModelDecorationOptions(options);
1736
+ }
1737
+ constructor(options) {
1738
+ this.description = options.description;
1739
+ this.blockClassName = options.blockClassName ? cleanClassName(options.blockClassName) : null;
1740
+ this.blockDoesNotCollapse = options.blockDoesNotCollapse ?? null;
1741
+ this.blockIsAfterEnd = options.blockIsAfterEnd ?? null;
1742
+ this.blockPadding = options.blockPadding ?? null;
1743
+ this.stickiness = options.stickiness || 0 /* model.TrackedRangeStickiness.AlwaysGrowsWhenTypingAtEdges */;
1744
+ this.zIndex = options.zIndex || 0;
1745
+ this.className = options.className ? cleanClassName(options.className) : null;
1746
+ this.shouldFillLineOnLineBreak = options.shouldFillLineOnLineBreak ?? null;
1747
+ this.hoverMessage = options.hoverMessage || null;
1748
+ this.glyphMarginHoverMessage = options.glyphMarginHoverMessage || null;
1749
+ this.lineNumberHoverMessage = options.lineNumberHoverMessage || null;
1750
+ this.isWholeLine = options.isWholeLine || false;
1751
+ this.showIfCollapsed = options.showIfCollapsed || false;
1752
+ this.collapseOnReplaceEdit = options.collapseOnReplaceEdit || false;
1753
+ this.overviewRuler = options.overviewRuler ? new ModelDecorationOverviewRulerOptions(options.overviewRuler) : null;
1754
+ this.minimap = options.minimap ? new ModelDecorationMinimapOptions(options.minimap) : null;
1755
+ this.glyphMargin = options.glyphMarginClassName ? new ModelDecorationGlyphMarginOptions(options.glyphMargin) : null;
1756
+ this.glyphMarginClassName = options.glyphMarginClassName ? cleanClassName(options.glyphMarginClassName) : null;
1757
+ this.linesDecorationsClassName = options.linesDecorationsClassName ? cleanClassName(options.linesDecorationsClassName) : null;
1758
+ this.lineNumberClassName = options.lineNumberClassName ? cleanClassName(options.lineNumberClassName) : null;
1759
+ this.linesDecorationsTooltip = options.linesDecorationsTooltip ? strings.htmlAttributeEncodeValue(options.linesDecorationsTooltip) : null;
1760
+ this.firstLineDecorationClassName = options.firstLineDecorationClassName ? cleanClassName(options.firstLineDecorationClassName) : null;
1761
+ this.marginClassName = options.marginClassName ? cleanClassName(options.marginClassName) : null;
1762
+ this.inlineClassName = options.inlineClassName ? cleanClassName(options.inlineClassName) : null;
1763
+ this.inlineClassNameAffectsLetterSpacing = options.inlineClassNameAffectsLetterSpacing || false;
1764
+ this.beforeContentClassName = options.beforeContentClassName ? cleanClassName(options.beforeContentClassName) : null;
1765
+ this.afterContentClassName = options.afterContentClassName ? cleanClassName(options.afterContentClassName) : null;
1766
+ this.after = options.after ? ModelDecorationInjectedTextOptions.from(options.after) : null;
1767
+ this.before = options.before ? ModelDecorationInjectedTextOptions.from(options.before) : null;
1768
+ this.hideInCommentTokens = options.hideInCommentTokens ?? false;
1769
+ this.hideInStringTokens = options.hideInStringTokens ?? false;
1770
+ }
1771
+ }
1772
+ ModelDecorationOptions.EMPTY = ModelDecorationOptions.register({ description: 'empty' });
1773
+ /**
1774
+ * The order carefully matches the values of the enum.
1775
+ */
1776
+ const TRACKED_RANGE_OPTIONS = [
1777
+ ModelDecorationOptions.register({ description: 'tracked-range-always-grows-when-typing-at-edges', stickiness: 0 /* model.TrackedRangeStickiness.AlwaysGrowsWhenTypingAtEdges */ }),
1778
+ ModelDecorationOptions.register({ description: 'tracked-range-never-grows-when-typing-at-edges', stickiness: 1 /* model.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges */ }),
1779
+ ModelDecorationOptions.register({ description: 'tracked-range-grows-only-when-typing-before', stickiness: 2 /* model.TrackedRangeStickiness.GrowsOnlyWhenTypingBefore */ }),
1780
+ ModelDecorationOptions.register({ description: 'tracked-range-grows-only-when-typing-after', stickiness: 3 /* model.TrackedRangeStickiness.GrowsOnlyWhenTypingAfter */ }),
1781
+ ];
1782
+ function _normalizeOptions(options) {
1783
+ if (options instanceof ModelDecorationOptions) {
1784
+ return options;
1785
+ }
1786
+ return ModelDecorationOptions.createDynamic(options);
1787
+ }
1788
+ class DidChangeDecorationsEmitter extends Disposable {
1789
+ constructor(handleBeforeFire) {
1790
+ super();
1791
+ this.handleBeforeFire = handleBeforeFire;
1792
+ this._actual = this._register(new Emitter());
1793
+ this.event = this._actual.event;
1794
+ this._affectedInjectedTextLines = null;
1795
+ this._deferredCnt = 0;
1796
+ this._shouldFireDeferred = false;
1797
+ this._affectsMinimap = false;
1798
+ this._affectsOverviewRuler = false;
1799
+ this._affectsGlyphMargin = false;
1800
+ this._affectsLineNumber = false;
1801
+ }
1802
+ beginDeferredEmit() {
1803
+ this._deferredCnt++;
1804
+ }
1805
+ endDeferredEmit() {
1806
+ this._deferredCnt--;
1807
+ if (this._deferredCnt === 0) {
1808
+ if (this._shouldFireDeferred) {
1809
+ this.doFire();
1810
+ }
1811
+ this._affectedInjectedTextLines?.clear();
1812
+ this._affectedInjectedTextLines = null;
1813
+ }
1814
+ }
1815
+ recordLineAffectedByInjectedText(lineNumber) {
1816
+ if (!this._affectedInjectedTextLines) {
1817
+ this._affectedInjectedTextLines = new Set();
1818
+ }
1819
+ this._affectedInjectedTextLines.add(lineNumber);
1820
+ }
1821
+ checkAffectedAndFire(options) {
1822
+ this._affectsMinimap ||= !!options.minimap?.position;
1823
+ this._affectsOverviewRuler ||= !!options.overviewRuler?.color;
1824
+ this._affectsGlyphMargin ||= !!options.glyphMarginClassName;
1825
+ this._affectsLineNumber ||= !!options.lineNumberClassName;
1826
+ this.tryFire();
1827
+ }
1828
+ fire() {
1829
+ this._affectsMinimap = true;
1830
+ this._affectsOverviewRuler = true;
1831
+ this._affectsGlyphMargin = true;
1832
+ this.tryFire();
1833
+ }
1834
+ tryFire() {
1835
+ if (this._deferredCnt === 0) {
1836
+ this.doFire();
1837
+ }
1838
+ else {
1839
+ this._shouldFireDeferred = true;
1840
+ }
1841
+ }
1842
+ doFire() {
1843
+ this.handleBeforeFire(this._affectedInjectedTextLines);
1844
+ const event = {
1845
+ affectsMinimap: this._affectsMinimap,
1846
+ affectsOverviewRuler: this._affectsOverviewRuler,
1847
+ affectsGlyphMargin: this._affectsGlyphMargin,
1848
+ affectsLineNumber: this._affectsLineNumber,
1849
+ };
1850
+ this._shouldFireDeferred = false;
1851
+ this._affectsMinimap = false;
1852
+ this._affectsOverviewRuler = false;
1853
+ this._affectsGlyphMargin = false;
1854
+ this._actual.fire(event);
1855
+ }
1856
+ }
1857
+ //#endregion
1858
+ class DidChangeContentEmitter extends Disposable {
1859
+ constructor() {
1860
+ super();
1861
+ /**
1862
+ * Both `fastEvent` and `slowEvent` work the same way and contain the same events, but first we invoke `fastEvent` and then `slowEvent`.
1863
+ */
1864
+ this._fastEmitter = this._register(new Emitter());
1865
+ this.fastEvent = this._fastEmitter.event;
1866
+ this._slowEmitter = this._register(new Emitter());
1867
+ this.slowEvent = this._slowEmitter.event;
1868
+ this._deferredCnt = 0;
1869
+ this._deferredEvent = null;
1870
+ }
1871
+ beginDeferredEmit() {
1872
+ this._deferredCnt++;
1873
+ }
1874
+ endDeferredEmit(resultingSelection = null) {
1875
+ this._deferredCnt--;
1876
+ if (this._deferredCnt === 0) {
1877
+ if (this._deferredEvent !== null) {
1878
+ this._deferredEvent.rawContentChangedEvent.resultingSelection = resultingSelection;
1879
+ const e = this._deferredEvent;
1880
+ this._deferredEvent = null;
1881
+ this._fastEmitter.fire(e);
1882
+ this._slowEmitter.fire(e);
1883
+ }
1884
+ }
1885
+ }
1886
+ fire(e) {
1887
+ if (this._deferredCnt > 0) {
1888
+ if (this._deferredEvent) {
1889
+ this._deferredEvent = this._deferredEvent.merge(e);
1890
+ }
1891
+ else {
1892
+ this._deferredEvent = e;
1893
+ }
1894
+ return;
1895
+ }
1896
+ this._fastEmitter.fire(e);
1897
+ this._slowEmitter.fire(e);
1898
+ }
1899
+ }