@umbraco-cms/backoffice 16.1.0 → 16.2.0-rc

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 (1359) hide show
  1. package/dist-cms/apps/backoffice/components/backoffice-header-logo.element.js +6 -1
  2. package/dist-cms/apps/installer/error/installer-error.element.d.ts +1 -2
  3. package/dist-cms/apps/preview/apps/preview-segment.element.js +1 -1
  4. package/dist-cms/apps/upgrader/upgrader-view.element.d.ts +1 -1
  5. package/dist-cms/apps/upgrader/upgrader-view.element.js +3 -2
  6. package/dist-cms/apps/upgrader/upgrader.element.d.ts +5 -5
  7. package/dist-cms/apps/upgrader/upgrader.element.js +22 -21
  8. package/dist-cms/assets/lang/da.js +167 -2
  9. package/dist-cms/assets/lang/de.js +7 -1
  10. package/dist-cms/assets/lang/en.js +11 -2
  11. package/dist-cms/assets/lang/es.js +1 -0
  12. package/dist-cms/assets/lang/pt.js +1 -1
  13. package/dist-cms/custom-elements.json +135 -30
  14. package/dist-cms/external/dompurify/index.js +2 -2
  15. package/dist-cms/external/dompurify/package.json +11 -0
  16. package/dist-cms/external/dompurify/vite.config.d.ts +2 -0
  17. package/dist-cms/external/dompurify/vite.config.js +15 -0
  18. package/dist-cms/external/heximal-expressions/index.d.ts +1 -0
  19. package/dist-cms/external/heximal-expressions/index.js +1 -0
  20. package/dist-cms/external/heximal-expressions/package.json +11 -0
  21. package/dist-cms/external/heximal-expressions/vite.config.d.ts +2 -0
  22. package/dist-cms/external/heximal-expressions/vite.config.js +15 -0
  23. package/dist-cms/external/lit/index.js +12 -115
  24. package/dist-cms/external/lit/package.json +11 -0
  25. package/dist-cms/external/lit/vite.config.d.ts +2 -0
  26. package/dist-cms/external/lit/vite.config.js +15 -0
  27. package/dist-cms/external/marked/index.js +1 -56
  28. package/dist-cms/external/marked/package.json +11 -0
  29. package/dist-cms/external/marked/vite.config.d.ts +2 -0
  30. package/dist-cms/external/marked/vite.config.js +15 -0
  31. package/dist-cms/external/monaco-editor/index.js +28 -1
  32. package/dist-cms/external/monaco-editor/package.json +11 -0
  33. package/dist-cms/external/monaco-editor/vite.config.d.ts +2 -0
  34. package/dist-cms/external/monaco-editor/vite.config.js +20 -0
  35. package/dist-cms/external/openid/index.d.ts +1 -17
  36. package/dist-cms/external/openid/index.js +1 -2
  37. package/dist-cms/external/openid/package.json +8 -0
  38. package/dist-cms/external/openid/src/authorization_request.js +89 -0
  39. package/dist-cms/external/openid/src/authorization_request_handler.js +107 -0
  40. package/dist-cms/external/openid/src/authorization_response.js +49 -0
  41. package/dist-cms/external/openid/src/authorization_service_configuration.js +55 -0
  42. package/dist-cms/external/openid/src/base64-js/index.js +124 -0
  43. package/dist-cms/external/openid/src/crypto_utils.js +74 -0
  44. package/dist-cms/external/openid/src/errors.js +23 -0
  45. package/dist-cms/external/openid/src/flags.js +18 -0
  46. package/dist-cms/external/openid/src/index.d.ts +17 -0
  47. package/dist-cms/external/openid/src/index.js +16 -0
  48. package/dist-cms/external/openid/src/logger.js +69 -0
  49. package/dist-cms/external/openid/src/query_string_utils.js +51 -0
  50. package/dist-cms/external/openid/src/redirect_based_handler.js +131 -0
  51. package/dist-cms/external/openid/src/revoke_token_request.js +34 -0
  52. package/dist-cms/external/openid/src/storage.js +59 -0
  53. package/dist-cms/external/openid/src/token_request.js +69 -0
  54. package/dist-cms/external/openid/src/token_request_handler.js +58 -0
  55. package/dist-cms/external/openid/src/token_response.js +77 -0
  56. package/dist-cms/external/openid/src/types.js +14 -0
  57. package/dist-cms/external/openid/src/xhr.js +71 -0
  58. package/dist-cms/external/openid/vite.config.d.ts +2 -0
  59. package/dist-cms/external/openid/vite.config.js +15 -0
  60. package/dist-cms/external/rxjs/index.js +1 -3
  61. package/dist-cms/external/rxjs/package.json +11 -0
  62. package/dist-cms/external/rxjs/vite.config.d.ts +2 -0
  63. package/dist-cms/external/rxjs/vite.config.js +15 -0
  64. package/dist-cms/external/tiptap/extensions/tiptap-anchor.extension.js +37 -0
  65. package/dist-cms/external/tiptap/extensions/tiptap-div.extension.js +16 -0
  66. package/dist-cms/external/tiptap/extensions/tiptap-figcaption.extension.js +19 -0
  67. package/dist-cms/external/tiptap/extensions/tiptap-figure.extension.js +38 -0
  68. package/dist-cms/external/tiptap/extensions/tiptap-html-global-attributes.extension.js +99 -0
  69. package/dist-cms/external/tiptap/extensions/tiptap-span.extension.js +86 -0
  70. package/dist-cms/external/tiptap/extensions/tiptap-text-direction-extension.js +35 -0
  71. package/dist-cms/external/tiptap/extensions/tiptap-text-indent-extension.js +85 -0
  72. package/dist-cms/external/tiptap/extensions/tiptap-trailing-node.extension.js +55 -0
  73. package/dist-cms/external/tiptap/extensions/tiptap-umb-bubble-menu.extension.d.ts +2 -0
  74. package/dist-cms/external/tiptap/extensions/tiptap-umb-bubble-menu.extension.js +75 -0
  75. package/dist-cms/external/tiptap/extensions/tiptap-umb-embedded-media.extension.d.ts +4 -1
  76. package/dist-cms/external/tiptap/extensions/tiptap-umb-embedded-media.extension.js +45 -0
  77. package/dist-cms/external/tiptap/extensions/tiptap-umb-image.extension.js +25 -0
  78. package/dist-cms/external/tiptap/extensions/tiptap-umb-link.extension.js +35 -0
  79. package/dist-cms/external/tiptap/extensions/tiptap-umb-table.extension.js +395 -0
  80. package/dist-cms/external/tiptap/index.js +43 -99
  81. package/dist-cms/external/tiptap/package.json +25 -0
  82. package/dist-cms/external/tiptap/vite.config.d.ts +2 -0
  83. package/dist-cms/external/tiptap/vite.config.js +15 -0
  84. package/dist-cms/external/uui/index.js +1 -7214
  85. package/dist-cms/external/uui/package.json +12 -0
  86. package/dist-cms/external/uui/vite.config.d.ts +2 -0
  87. package/dist-cms/external/uui/vite.config.js +24 -0
  88. package/dist-cms/json-schema/umbraco-package-schema.js +1 -0
  89. package/dist-cms/libs/context-proxy/context-proxy.controller.d.ts +1 -3
  90. package/dist-cms/libs/context-proxy/context-proxy.controller.js +1 -3
  91. package/dist-cms/libs/localization-api/localization.controller.d.ts +0 -1
  92. package/dist-cms/libs/localization-api/localization.controller.js +2 -2
  93. package/dist-cms/libs/observable-api/utils/index.d.ts +1 -0
  94. package/dist-cms/libs/observable-api/utils/index.js +1 -0
  95. package/dist-cms/libs/observable-api/utils/observation-as-promise.function.d.ts +9 -0
  96. package/dist-cms/libs/observable-api/utils/observation-as-promise.function.js +37 -0
  97. package/dist-cms/packages/block/block/context/block-entries.context.d.ts +2 -2
  98. package/dist-cms/packages/block/block/context/block-entry.context.d.ts +12 -8
  99. package/dist-cms/packages/block/block/context/block-entry.context.js +8 -3
  100. package/dist-cms/packages/block/block/modals/block-catalogue/block-catalogue-modal.element.d.ts +2 -3
  101. package/dist-cms/packages/block/block/modals/block-catalogue/block-catalogue-modal.element.js +83 -34
  102. package/dist-cms/packages/block/block/property-value-cloner/flat-layout-block-property-value-cloner.api.d.ts +1 -1
  103. package/dist-cms/packages/block/block/property-value-resolver/block-value-resolver.api.js +2 -2
  104. package/dist-cms/packages/block/block/workspace/block-workspace-editor.element.d.ts +1 -1
  105. package/dist-cms/packages/block/block/workspace/block-workspace.context.js +5 -1
  106. package/dist-cms/packages/block/block/workspace/manifests.js +1 -0
  107. package/dist-cms/packages/block/block/workspace/views/edit/block-workspace-view-edit-content-no-router.element.d.ts +1 -2
  108. package/dist-cms/packages/block/block/workspace/views/edit/block-workspace-view-edit-properties.element.d.ts +3 -6
  109. package/dist-cms/packages/block/block/workspace/views/edit/block-workspace-view-edit-property.element.d.ts +2 -2
  110. package/dist-cms/packages/block/block/workspace/views/edit/block-workspace-view-edit-tab.element.d.ts +2 -2
  111. package/dist-cms/packages/block/block/workspace/views/edit/block-workspace-view-edit.element.d.ts +1 -2
  112. package/dist-cms/packages/block/block-grid/components/block-grid-area-config-entry/block-grid-area-config-entry.element.d.ts +4 -3
  113. package/dist-cms/packages/block/block-grid/components/block-grid-area-config-entry/block-grid-area-config-entry.element.js +2 -1
  114. package/dist-cms/packages/block/block-grid/components/block-grid-area-config-entry/workspace/block-grid-area-type-workspace-editor.element.d.ts +1 -1
  115. package/dist-cms/packages/block/block-grid/components/block-grid-area-config-entry/workspace/views/settings.element.d.ts +2 -2
  116. package/dist-cms/packages/block/block-grid/components/block-grid-areas-container/block-grid-areas-container.element.d.ts +3 -4
  117. package/dist-cms/packages/block/block-grid/components/block-grid-block/block-grid-block.element.d.ts +1 -0
  118. package/dist-cms/packages/block/block-grid/components/block-grid-block/block-grid-block.element.js +17 -13
  119. package/dist-cms/packages/block/block-grid/components/block-grid-block-inline/block-grid-block-inline.element.d.ts +4 -4
  120. package/dist-cms/packages/block/block-grid/components/block-grid-block-inline/block-grid-block-inline.element.js +12 -10
  121. package/dist-cms/packages/block/block-grid/components/block-grid-entry/block-grid-entry.context.d.ts +3 -3
  122. package/dist-cms/packages/block/block-grid/components/block-grid-entry/block-grid-entry.element.d.ts +21 -23
  123. package/dist-cms/packages/block/block-grid/components/block-grid-entry/block-grid-entry.element.js +3 -0
  124. package/dist-cms/packages/block/block-grid/context/block-grid-scale-manager/block-grid-scale-manager.controller.d.ts +1 -1
  125. package/dist-cms/packages/block/block-grid/property-editors/block-grid-areas-config/property-editor-ui-block-grid-areas-config.element.d.ts +1 -0
  126. package/dist-cms/packages/block/block-grid/property-editors/block-grid-areas-config/property-editor-ui-block-grid-areas-config.element.js +31 -3
  127. package/dist-cms/packages/block/block-grid/property-editors/block-grid-editor/property-editor-ui-block-grid.element.d.ts +1 -1
  128. package/dist-cms/packages/block/block-grid/property-editors/block-grid-type-configuration/property-editor-ui-block-grid-type-configuration.element.d.ts +2 -1
  129. package/dist-cms/packages/block/block-grid/property-editors/block-grid-type-configuration/property-editor-ui-block-grid-type-configuration.element.js +2 -0
  130. package/dist-cms/packages/block/block-grid/property-value-cloner/property-value-cloner-block-grid.cloner.d.ts +1 -1
  131. package/dist-cms/packages/block/block-grid/workspace/views/block-grid-type-workspace-view-areas.element.d.ts +2 -3
  132. package/dist-cms/packages/block/block-list/components/block-list-entry/block-list-entry.element.d.ts +15 -17
  133. package/dist-cms/packages/block/block-list/components/inline-list-block/inline-list-block.element.d.ts +3 -2
  134. package/dist-cms/packages/block/block-list/components/inline-list-block/inline-list-block.element.js +11 -9
  135. package/dist-cms/packages/block/block-list/components/ref-list-block/ref-list-block.element.d.ts +1 -0
  136. package/dist-cms/packages/block/block-list/components/ref-list-block/ref-list-block.element.js +8 -6
  137. package/dist-cms/packages/block/block-list/context/block-list-entry.context.d.ts +3 -3
  138. package/dist-cms/packages/block/block-list/property-editors/block-list-editor/property-editor-ui-block-list.element.d.ts +1 -1
  139. 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
  140. package/dist-cms/packages/block/block-list/property-editors/block-list-type-configuration/property-editor-ui-block-list-type-configuration.element.js +2 -1
  141. package/dist-cms/packages/block/block-rte/components/block-rte-entry/block-rte-entry.element.d.ts +11 -13
  142. package/dist-cms/packages/block/block-rte/components/block-rte-entry/block-rte-entry.element.js +7 -3
  143. package/dist-cms/packages/block/block-rte/components/ref-rte-block/ref-rte-block.element.d.ts +5 -2
  144. package/dist-cms/packages/block/block-rte/components/ref-rte-block/ref-rte-block.element.js +32 -3
  145. package/dist-cms/packages/block/block-rte/context/block-rte-entries.context.js +1 -1
  146. package/dist-cms/packages/block/block-rte/context/block-rte-entry.context.d.ts +3 -3
  147. package/dist-cms/packages/block/block-rte/workspace/views/block-rte-type-workspace-view.element.js +7 -0
  148. package/dist-cms/packages/block/block-type/components/block-type-card/block-type-card.element.d.ts +3 -3
  149. package/dist-cms/packages/block/block-type/workspace/block-type-workspace-editor.element.d.ts +1 -1
  150. package/dist-cms/packages/code-editor/code-editor-modal/code-editor-modal.element.d.ts +1 -2
  151. package/dist-cms/packages/code-editor/components/code-editor.element.d.ts +0 -1
  152. package/dist-cms/packages/code-editor/components/code-editor.element.js +5 -4
  153. package/dist-cms/packages/code-editor/models/code-editor.model.js +1 -0
  154. package/dist-cms/packages/code-editor/property-editor/property-editor-ui-code-editor.element.js +2 -1
  155. package/dist-cms/packages/content/content/global-components/content-workspace-property.element.d.ts +7 -9
  156. package/dist-cms/packages/content/content/global-components/content-workspace-property.element.js +12 -0
  157. package/dist-cms/packages/content/content/workspace/views/edit/content-editor-properties.element.d.ts +2 -3
  158. package/dist-cms/packages/content/content/workspace/views/edit/content-editor-tab.element.d.ts +2 -3
  159. package/dist-cms/packages/content/content/workspace/views/edit/content-editor.element.js +4 -4
  160. package/dist-cms/packages/content/content-type/structure/content-type-structure-manager.class.d.ts +1 -0
  161. package/dist-cms/packages/content/content-type/structure/content-type-structure-manager.class.js +22 -3
  162. package/dist-cms/packages/content/content-type/workspace/content-type-workspace-context-base.d.ts +7 -6
  163. package/dist-cms/packages/content/content-type/workspace/content-type-workspace-context-base.js +16 -8
  164. package/dist-cms/packages/content/content-type/workspace/views/design/content-type-design-editor-group.element.d.ts +4 -5
  165. package/dist-cms/packages/content/content-type/workspace/views/design/content-type-design-editor-group.element.js +4 -4
  166. package/dist-cms/packages/content/content-type/workspace/views/design/content-type-design-editor-property.element.js +3 -0
  167. package/dist-cms/packages/content/content-type/workspace/views/design/content-type-design-editor-tab.element.d.ts +4 -5
  168. package/dist-cms/packages/content/property-type/workspace/property-type-workspace-editor.element.d.ts +2 -2
  169. package/dist-cms/packages/core/auth/auth-flow.d.ts +2 -0
  170. package/dist-cms/packages/core/auth/auth-flow.js +22 -15
  171. package/dist-cms/packages/core/auth/auth.context.js +6 -0
  172. package/dist-cms/packages/core/auth/controllers/auth-session-timeout.controller.d.ts +8 -0
  173. package/dist-cms/packages/core/auth/controllers/auth-session-timeout.controller.js +91 -0
  174. package/dist-cms/packages/core/auth/modals/index.d.ts +1 -0
  175. package/dist-cms/packages/core/auth/modals/index.js +1 -0
  176. package/dist-cms/packages/core/auth/modals/manifests.js +6 -0
  177. package/dist-cms/packages/core/auth/modals/umb-app-auth-modal.element.d.ts +0 -1
  178. package/dist-cms/packages/core/auth/modals/umb-app-auth-modal.element.js +3 -2
  179. package/dist-cms/packages/core/auth/modals/umb-auth-timeout-modal.element.d.ts +16 -0
  180. package/dist-cms/packages/core/auth/modals/umb-auth-timeout-modal.element.js +88 -0
  181. package/dist-cms/packages/core/auth/modals/umb-auth-timeout-modal.token.d.ts +7 -0
  182. package/dist-cms/packages/core/auth/modals/umb-auth-timeout-modal.token.js +6 -0
  183. package/dist-cms/packages/core/auth/workers/token-check.worker.js +104 -0
  184. package/dist-cms/packages/core/backend-api/sdk.gen.d.ts +8 -1
  185. package/dist-cms/packages/core/backend-api/sdk.gen.js +84 -0
  186. package/dist-cms/packages/core/backend-api/types.gen.d.ts +199 -4
  187. package/dist-cms/packages/core/cache/index.d.ts +1 -0
  188. package/dist-cms/packages/core/cache/index.js +1 -0
  189. package/dist-cms/packages/core/cache/lru-cache.d.ts +13 -0
  190. package/dist-cms/packages/core/cache/lru-cache.js +36 -0
  191. package/dist-cms/packages/core/collection/action/create/collection-create-action.element.d.ts +1 -1
  192. package/dist-cms/packages/core/collection/components/collection-view-bundle.element.d.ts +2 -9
  193. package/dist-cms/packages/core/collection/components/pagination/collection-pagination.element.d.ts +2 -2
  194. package/dist-cms/packages/core/collection/components/pagination/collection-pagination.element.js +3 -3
  195. package/dist-cms/packages/core/collection/extensions/collection-view.extension.d.ts +6 -1
  196. package/dist-cms/packages/core/components/backoffice-modal-container/backoffice-modal-container.element.d.ts +1 -2
  197. package/dist-cms/packages/core/components/icon/icon.element.d.ts +3 -2
  198. package/dist-cms/packages/core/components/icon/icon.element.js +3 -2
  199. package/dist-cms/packages/core/components/input-number-range/input-number-range.element.d.ts +0 -1
  200. package/dist-cms/packages/core/components/input-number-range/input-number-range.element.js +3 -3
  201. package/dist-cms/packages/core/components/input-toggle/input-toggle.element.d.ts +1 -1
  202. package/dist-cms/packages/core/components/split-panel/split-panel.element.d.ts +2 -2
  203. package/dist-cms/packages/core/culture/manifests.d.ts +1 -1
  204. package/dist-cms/packages/core/entity-action/common/create/modal/entity-create-option-action-list-modal.element.d.ts +1 -1
  205. package/dist-cms/packages/core/entity-action/common/delete/delete.action.d.ts +1 -1
  206. package/dist-cms/packages/core/entity-action/default/entity-action.element.d.ts +1 -1
  207. package/dist-cms/packages/core/entity-action/entity-action-list.element.d.ts +3 -8
  208. package/dist-cms/packages/core/entity-action/global-components/entity-actions-dropdown/entity-actions-dropdown.element.js +1 -1
  209. package/dist-cms/packages/core/entity-bulk-action/common/bulk-delete/bulk-delete.action.d.ts +8 -1
  210. package/dist-cms/packages/core/entity-bulk-action/common/bulk-delete/bulk-delete.action.js +16 -8
  211. package/dist-cms/packages/core/entity-item/entity-item-ref/entity-item-ref.element.d.ts +1 -1
  212. package/dist-cms/packages/core/entry-point.js +3 -0
  213. package/dist-cms/packages/core/extension-registry/conditions/types.d.ts +1 -1
  214. package/dist-cms/packages/core/extension-registry/extension-element-and-api-slot-element-base.d.ts +2 -3
  215. package/dist-cms/packages/core/extension-registry/extension-element-and-api-slot-element-base.js +6 -5
  216. package/dist-cms/packages/core/extension-registry/extensions/store.extension.d.ts +4 -0
  217. package/dist-cms/packages/core/menu/components/menu-item/action/action-menu-item.api.d.ts +9 -0
  218. package/dist-cms/packages/core/menu/components/menu-item/action/action-menu-item.api.js +10 -0
  219. package/dist-cms/packages/core/menu/components/menu-item/action/action-menu-item.element.d.ts +13 -0
  220. package/dist-cms/packages/core/menu/components/menu-item/action/action-menu-item.element.js +42 -0
  221. package/dist-cms/packages/core/menu/components/menu-item/action/manifests.d.ts +2 -0
  222. package/dist-cms/packages/core/menu/components/menu-item/action/manifests.js +14 -0
  223. package/dist-cms/packages/core/menu/components/menu-item/action/types.d.ts +24 -0
  224. package/dist-cms/packages/core/menu/components/menu-item/index.d.ts +1 -0
  225. package/dist-cms/packages/core/menu/components/menu-item/index.js +1 -0
  226. package/dist-cms/packages/core/menu/components/menu-item/manifests.js +2 -1
  227. package/dist-cms/packages/core/menu/components/menu-item/types.d.ts +1 -0
  228. package/dist-cms/packages/core/menu/section-sidebar-menu-with-entity-actions/section-sidebar-menu-with-entity-actions.element.d.ts +2 -2
  229. package/dist-cms/packages/core/modal/common/error-viewer/error-viewer-modal.element.d.ts +2 -2
  230. package/dist-cms/packages/core/modal/context/modal.context.js +2 -0
  231. package/dist-cms/packages/core/models/index.d.ts +1 -1
  232. package/dist-cms/packages/core/object-type/input-object-type.element.d.ts +1 -1
  233. package/dist-cms/packages/core/object-type/input-object-type.element.js +3 -3
  234. package/dist-cms/packages/core/picker/picker.context.d.ts +3 -0
  235. package/dist-cms/packages/core/picker/picker.context.js +6 -0
  236. package/dist-cms/packages/core/picker/search/manager/picker-search.manager.js +1 -0
  237. package/dist-cms/packages/core/picker/search/manager/types.d.ts +1 -0
  238. package/dist-cms/packages/core/picker/search/picker-search-field.element.d.ts +3 -3
  239. package/dist-cms/packages/core/picker/search/picker-search-result.element.d.ts +4 -5
  240. package/dist-cms/packages/core/picker/search/result-item/picker-search-result-item-element-base.d.ts +1 -1
  241. package/dist-cms/packages/core/picker-input/picker-input.context.js +2 -2
  242. package/dist-cms/packages/core/property/manifests.d.ts +1 -1
  243. package/dist-cms/packages/core/property-action/kinds/default/property-action.element.d.ts +1 -1
  244. package/dist-cms/packages/core/recycle-bin/entity-action/restore-from-recycle-bin/modal/restore-from-recycle-bin-modal.element.d.ts +3 -3
  245. package/dist-cms/packages/core/recycle-bin/entity-bulk-action/bulk-trash/bulk-trash.action.d.ts +8 -1
  246. package/dist-cms/packages/core/recycle-bin/entity-bulk-action/bulk-trash/bulk-trash.action.js +16 -8
  247. package/dist-cms/packages/core/repository/item/item-server-data-source-base.d.ts +1 -1
  248. package/dist-cms/packages/core/repository/repository-details.manager.js +7 -6
  249. package/dist-cms/packages/core/resources/api-interceptor.controller.js +4 -0
  250. package/dist-cms/packages/core/resources/cancelable-promise.d.ts +2 -2
  251. package/dist-cms/packages/core/router/generate-route-path-builder.function.d.ts +2 -2
  252. package/dist-cms/packages/core/router/modal-registration/modal-route-registration.controller.js +1 -0
  253. package/dist-cms/packages/core/router/router-slot/config.js +0 -1
  254. package/dist-cms/packages/core/router/router-slot/router-slot.js +2 -1
  255. package/dist-cms/packages/core/section/section-default.element.d.ts +1 -1
  256. package/dist-cms/packages/core/server-file-system/rename/modal/rename-server-file-modal.element.d.ts +1 -1
  257. package/dist-cms/packages/core/sorter/sorter.controller.d.ts +3 -4
  258. package/dist-cms/packages/core/sorter/sorter.controller.js +10 -10
  259. package/dist-cms/packages/core/temporary-file/manifests.d.ts +1 -1
  260. package/dist-cms/packages/core/temporary-file/types.js +2 -0
  261. package/dist-cms/packages/core/themes/manifests.d.ts +1 -1
  262. package/dist-cms/packages/core/tree/data/tree-repository-base.d.ts +5 -11
  263. package/dist-cms/packages/core/tree/data/tree-repository-base.js +30 -8
  264. package/dist-cms/packages/core/tree/data/tree-repository.interface.d.ts +2 -0
  265. package/dist-cms/packages/core/tree/entity-actions/duplicate-to/modal/duplicate-to-modal.element.d.ts +1 -1
  266. package/dist-cms/packages/core/tree/entity-actions/sort-children-of/modal/sort-children-of-modal.element.d.ts +2 -2
  267. package/dist-cms/packages/core/tree/folder/modal/folder-create-modal.element.d.ts +1 -2
  268. package/dist-cms/packages/core/tree/folder/modal/folder-modal-element-base.d.ts +1 -1
  269. package/dist-cms/packages/core/tree/tree-item/tree-item-base/tree-item-element-base.d.ts +1 -1
  270. package/dist-cms/packages/core/tree/tree-item/tree-item.element.d.ts +0 -1
  271. package/dist-cms/packages/core/tree/tree-item/tree-item.element.js +6 -5
  272. package/dist-cms/packages/core/tree/tree-picker-modal/tree-picker-modal.element.d.ts +6 -6
  273. package/dist-cms/packages/core/tree/tree-picker-modal/tree-picker-modal.element.js +1 -0
  274. package/dist-cms/packages/core/utils/bytes/bytes.function.js +1 -0
  275. package/dist-cms/packages/core/utils/index.d.ts +1 -0
  276. package/dist-cms/packages/core/utils/index.js +1 -0
  277. package/dist-cms/packages/core/utils/is-test-environment.function.d.ts +6 -0
  278. package/dist-cms/packages/core/utils/is-test-environment.function.js +11 -0
  279. package/dist-cms/packages/core/utils/pagination-manager/pagination.manager.d.ts +12 -0
  280. package/dist-cms/packages/core/utils/pagination-manager/pagination.manager.js +16 -0
  281. package/dist-cms/packages/core/utils/path/url-pattern-to-string.function.d.ts +6 -2
  282. package/dist-cms/packages/core/validation/mixins/form-control.mixin.js +1 -6
  283. package/dist-cms/packages/core/variant/variant-id.class.js +4 -3
  284. package/dist-cms/packages/core/vite.config.js +2 -0
  285. package/dist-cms/packages/core/workspace/components/workspace-action/default/workspace-action-default-kind.element.d.ts +1 -1
  286. package/dist-cms/packages/core/workspace/components/workspace-action-menu/workspace-action-menu.element.d.ts +1 -1
  287. package/dist-cms/packages/core/workspace/components/workspace-action-menu/workspace-action-menu.element.js +2 -3
  288. package/dist-cms/packages/core/workspace/components/workspace-action-menu-item/default/workspace-action-menu-item.element.d.ts +1 -1
  289. package/dist-cms/packages/core/workspace/components/workspace-breadcrumb/workspace-menu-breadcrumb/workspace-menu-breadcrumb.element.d.ts +2 -3
  290. package/dist-cms/packages/core/workspace/components/workspace-breadcrumb/workspace-variant-menu-breadcrumb/workspace-variant-menu-breadcrumb.element.d.ts +4 -6
  291. package/dist-cms/packages/core/workspace/components/workspace-footer/workspace-footer.element.d.ts +3 -4
  292. package/dist-cms/packages/core/workspace/components/workspace-split-view/workspace-split-view-variant-selector.element.d.ts +1 -2
  293. package/dist-cms/packages/core/workspace/conditions/constants.d.ts +3 -0
  294. package/dist-cms/packages/core/workspace/conditions/constants.js +3 -0
  295. package/dist-cms/packages/core/workspace/conditions/manifests.js +6 -6
  296. package/dist-cms/packages/core/workspace/conditions/types.d.ts +3 -43
  297. package/dist-cms/packages/core/workspace/conditions/workspace-alias/constants.d.ts +4 -0
  298. package/dist-cms/packages/core/workspace/conditions/workspace-alias/constants.js +4 -0
  299. package/dist-cms/packages/core/workspace/conditions/workspace-alias/manifests.d.ts +1 -0
  300. package/dist-cms/packages/core/workspace/conditions/workspace-alias/manifests.js +10 -0
  301. package/dist-cms/packages/core/workspace/conditions/workspace-alias/types.d.ts +21 -0
  302. package/dist-cms/packages/core/workspace/conditions/{workspace-alias.condition.d.ts → workspace-alias/workspace-alias.condition.d.ts} +1 -2
  303. package/dist-cms/packages/core/workspace/conditions/{workspace-alias.condition.js → workspace-alias/workspace-alias.condition.js} +2 -8
  304. package/dist-cms/packages/core/workspace/conditions/{const.d.ts → workspace-entity-is-new/constants.d.ts} +0 -4
  305. package/dist-cms/packages/core/workspace/conditions/{const.js → workspace-entity-is-new/constants.js} +0 -4
  306. package/dist-cms/packages/core/workspace/conditions/workspace-entity-is-new/manifests.d.ts +1 -0
  307. package/dist-cms/packages/core/workspace/conditions/workspace-entity-is-new/manifests.js +10 -0
  308. package/dist-cms/packages/core/workspace/conditions/workspace-entity-is-new/types.d.ts +15 -0
  309. package/dist-cms/packages/core/workspace/conditions/{workspace-entity-is-new.condition.d.ts → workspace-entity-is-new/workspace-entity-is-new.condition.d.ts} +1 -2
  310. package/dist-cms/packages/core/workspace/conditions/{workspace-entity-is-new.condition.js → workspace-entity-is-new/workspace-entity-is-new.condition.js} +1 -8
  311. package/dist-cms/packages/core/workspace/conditions/workspace-entity-type/constants.d.ts +1 -0
  312. package/dist-cms/packages/core/workspace/conditions/workspace-entity-type/constants.js +1 -0
  313. package/dist-cms/packages/core/workspace/conditions/workspace-entity-type/manifests.d.ts +1 -0
  314. package/dist-cms/packages/core/workspace/conditions/workspace-entity-type/manifests.js +10 -0
  315. package/dist-cms/packages/core/workspace/conditions/workspace-entity-type/types.d.ts +19 -0
  316. package/dist-cms/packages/core/workspace/conditions/{workspace-entity-type.condition.d.ts → workspace-entity-type/workspace-entity-type.condition.d.ts} +1 -2
  317. package/dist-cms/packages/core/workspace/conditions/{workspace-entity-type.condition.js → workspace-entity-type/workspace-entity-type.condition.js} +1 -7
  318. package/dist-cms/packages/core/workspace/constants.d.ts +2 -1
  319. package/dist-cms/packages/core/workspace/constants.js +2 -1
  320. package/dist-cms/packages/core/workspace/controllers/workspace-split-view-manager.controller.d.ts +10 -4
  321. package/dist-cms/packages/core/workspace/controllers/workspace-split-view-manager.controller.js +16 -3
  322. package/dist-cms/packages/core/workspace/entity-detail/entity-detail-workspace-base.d.ts +1 -1
  323. package/dist-cms/packages/core/workspace/entity-detail/entity-detail-workspace-base.js +5 -0
  324. package/dist-cms/packages/core/workspace/index.d.ts +0 -1
  325. package/dist-cms/packages/core/workspace/index.js +0 -1
  326. package/dist-cms/packages/core/workspace/kinds/routable/routable-workspace.element.d.ts +1 -2
  327. package/dist-cms/packages/core/workspace/workspace.element.d.ts +1 -1
  328. package/dist-cms/packages/data-type/tree/constants.d.ts +3 -0
  329. package/dist-cms/packages/data-type/tree/constants.js +3 -0
  330. package/dist-cms/packages/data-type/tree/data-type-tree.store.context-token.d.ts +3 -0
  331. package/dist-cms/packages/data-type/tree/data-type-tree.store.context-token.js +3 -0
  332. package/dist-cms/packages/data-type/tree/data-type-tree.store.d.ts +1 -0
  333. package/dist-cms/packages/data-type/tree/data-type-tree.store.js +1 -0
  334. package/dist-cms/packages/data-type/tree/folder/manifests.js +2 -1
  335. package/dist-cms/packages/data-type/tree/tree-item-children/collection/repository/data-type-tree-item-children-collection.repository.d.ts +0 -4
  336. package/dist-cms/packages/data-type/workspace/views/info/workspace-view-data-type-info.element.d.ts +3 -3
  337. package/dist-cms/packages/dictionary/tree/constants.d.ts +3 -0
  338. package/dist-cms/packages/dictionary/tree/constants.js +3 -0
  339. package/dist-cms/packages/dictionary/tree/dictionary-tree.store.d.ts +4 -0
  340. package/dist-cms/packages/dictionary/tree/dictionary-tree.store.js +4 -0
  341. package/dist-cms/packages/documents/document-blueprints/entity.d.ts +2 -0
  342. package/dist-cms/packages/documents/document-blueprints/entity.js +1 -0
  343. package/dist-cms/packages/documents/document-blueprints/repository/detail/document-blueprint-detail.server.data-source.js +5 -4
  344. package/dist-cms/packages/documents/document-blueprints/tree/constants.d.ts +3 -0
  345. package/dist-cms/packages/documents/document-blueprints/tree/constants.js +3 -0
  346. package/dist-cms/packages/documents/document-blueprints/tree/document-blueprint-tree.store.context-token.d.ts +3 -0
  347. package/dist-cms/packages/documents/document-blueprints/tree/document-blueprint-tree.store.context-token.js +3 -0
  348. package/dist-cms/packages/documents/document-blueprints/tree/document-blueprint-tree.store.d.ts +1 -0
  349. package/dist-cms/packages/documents/document-blueprints/tree/document-blueprint-tree.store.js +1 -0
  350. package/dist-cms/packages/documents/document-blueprints/workspace/document-blueprint-workspace-editor.element.d.ts +2 -4
  351. package/dist-cms/packages/documents/document-blueprints/workspace/document-blueprint-workspace-editor.element.js +10 -14
  352. package/dist-cms/packages/documents/document-blueprints/workspace/document-blueprint-workspace-split-view.element.d.ts +1 -2
  353. package/dist-cms/packages/documents/document-blueprints/workspace/document-blueprint-workspace.context.js +1 -0
  354. package/dist-cms/packages/documents/document-redirect-management/dashboard-redirect-management.element.js +7 -7
  355. package/dist-cms/packages/documents/document-types/property-type/document-type-property-type-item-ref.element.d.ts +1 -1
  356. package/dist-cms/packages/documents/document-types/tree/constants.d.ts +3 -0
  357. package/dist-cms/packages/documents/document-types/tree/constants.js +3 -0
  358. package/dist-cms/packages/documents/document-types/tree/document-type.tree.store.context-token.d.ts +3 -0
  359. package/dist-cms/packages/documents/document-types/tree/document-type.tree.store.context-token.js +3 -0
  360. package/dist-cms/packages/documents/document-types/tree/document-type.tree.store.d.ts +1 -0
  361. package/dist-cms/packages/documents/document-types/tree/document-type.tree.store.js +1 -0
  362. package/dist-cms/packages/documents/document-types/tree/manifests.js +2 -1
  363. package/dist-cms/packages/documents/document-types/tree/tree-item-children/collection/repository/document-type-tree-item-children-collection.repository.d.ts +0 -4
  364. package/dist-cms/packages/documents/document-types/workspace/document-type/document-type-workspace.context.d.ts +2 -2
  365. package/dist-cms/packages/documents/document-types/workspace/document-type/document-type-workspace.context.js +14 -3
  366. package/dist-cms/packages/documents/documents/audit-log/info-app/document-history-workspace-info-app.element.js +3 -3
  367. package/dist-cms/packages/documents/documents/collection/views/table/column-layouts/document-table-column-name.element.d.ts +1 -1
  368. package/dist-cms/packages/documents/documents/collection/views/table/column-layouts/document-table-column-state.element.d.ts +1 -1
  369. package/dist-cms/packages/documents/documents/components/input-document/input-document.element.js +1 -0
  370. package/dist-cms/packages/documents/documents/entity-actions/create/document-create-options-modal.element.js +1 -1
  371. package/dist-cms/packages/documents/documents/entity-actions/duplicate/modal/duplicate-document-modal.element.d.ts +1 -1
  372. package/dist-cms/packages/documents/documents/global-contexts/document-configuration.context.js +2 -2
  373. package/dist-cms/packages/documents/documents/modals/save-modal/document-save-modal.element.d.ts +1 -2
  374. package/dist-cms/packages/documents/documents/modals/shared/document-variant-language-picker.element.d.ts +2 -2
  375. package/dist-cms/packages/documents/documents/publishing/publish/modal/document-publish-modal.element.d.ts +4 -5
  376. package/dist-cms/packages/documents/documents/publishing/publish-with-descendants/modal/document-publish-with-descendants-modal.element.d.ts +2 -3
  377. package/dist-cms/packages/documents/documents/publishing/unpublish/modal/document-unpublish-modal.element.d.ts +6 -7
  378. package/dist-cms/packages/documents/documents/recycle-bin/tree/constants.d.ts +3 -0
  379. package/dist-cms/packages/documents/documents/recycle-bin/tree/constants.js +3 -0
  380. package/dist-cms/packages/documents/documents/recycle-bin/tree/data/document-recycle-bin-tree.store.context-token.d.ts +3 -0
  381. package/dist-cms/packages/documents/documents/recycle-bin/tree/data/document-recycle-bin-tree.store.context-token.js +3 -0
  382. package/dist-cms/packages/documents/documents/recycle-bin/tree/data/document-recycle-bin-tree.store.d.ts +1 -0
  383. package/dist-cms/packages/documents/documents/recycle-bin/tree/data/document-recycle-bin-tree.store.js +1 -0
  384. package/dist-cms/packages/documents/documents/reference/components/document-reference-table.element.d.ts +3 -4
  385. package/dist-cms/packages/documents/documents/rollback/modal/rollback-modal.element.d.ts +6 -26
  386. package/dist-cms/packages/documents/documents/search/document-search-result-item.element.d.ts +4 -4
  387. package/dist-cms/packages/documents/documents/search/document-search.server.data-source.js +1 -0
  388. package/dist-cms/packages/documents/documents/search/types.d.ts +1 -0
  389. package/dist-cms/packages/documents/documents/tree/document-tree.store.context-token.d.ts +3 -0
  390. package/dist-cms/packages/documents/documents/tree/document-tree.store.context-token.js +3 -0
  391. package/dist-cms/packages/documents/documents/tree/document-tree.store.d.ts +1 -0
  392. package/dist-cms/packages/documents/documents/tree/document-tree.store.js +1 -0
  393. package/dist-cms/packages/documents/documents/tree/manifests.d.ts +3 -0
  394. package/dist-cms/packages/documents/documents/tree/manifests.js +3 -0
  395. package/dist-cms/packages/documents/documents/user-permissions/document/input-document-granular-user-permission/input-document-granular-user-permission.element.d.ts +0 -1
  396. package/dist-cms/packages/documents/documents/user-permissions/document/input-document-granular-user-permission/input-document-granular-user-permission.element.js +8 -7
  397. package/dist-cms/packages/documents/documents/user-permissions/document-property-value/document-property-value-permission-flow-modal/document-property-value-permission-flow-modal.element.d.ts +1 -1
  398. package/dist-cms/packages/documents/documents/user-permissions/document-property-value/document-property-value-permission-flow-modal/property-type-modal/property-type-modal.element.d.ts +2 -3
  399. package/dist-cms/packages/documents/documents/user-permissions/document-property-value/input-document-property-value-user-permission/input-document-property-value-user-permission.element.d.ts +0 -1
  400. package/dist-cms/packages/documents/documents/user-permissions/document-property-value/input-document-property-value-user-permission/input-document-property-value-user-permission.element.js +8 -7
  401. package/dist-cms/packages/documents/documents/workspace/actions/save.action.d.ts +1 -1
  402. package/dist-cms/packages/documents/documents/workspace/document-workspace-editor.element.d.ts +2 -3
  403. package/dist-cms/packages/documents/documents/workspace/document-workspace-editor.element.js +5 -14
  404. package/dist-cms/packages/documents/documents/workspace/document-workspace-split-view-variant-selector.element.d.ts +1 -1
  405. package/dist-cms/packages/documents/documents/workspace/document-workspace-split-view.element.d.ts +2 -3
  406. package/dist-cms/packages/documents/documents/workspace/manifests.js +5 -1
  407. package/dist-cms/packages/extension-types/index.d.ts +2 -0
  408. package/dist-cms/packages/health-check/health-check.extension.d.ts +9 -1
  409. package/dist-cms/packages/health-check/views/health-check-group-box-overview.element.d.ts +1 -2
  410. package/dist-cms/packages/health-check/views/health-check-group-box-overview.element.js +4 -4
  411. package/dist-cms/packages/health-check/views/health-check-group.element.d.ts +0 -2
  412. package/dist-cms/packages/health-check/views/health-check-group.element.js +4 -4
  413. package/dist-cms/packages/language/app-language-select/app-language-select.element.d.ts +1 -2
  414. package/dist-cms/packages/language/app-language-select/app-language-select.element.js +14 -15
  415. package/dist-cms/packages/language/item/langauge-item-ref.element.d.ts +1 -1
  416. package/dist-cms/packages/language/workspace/language/language-workspace-editor.element.d.ts +1 -1
  417. package/dist-cms/packages/language/workspace/language/views/language-details-workspace-view.element.d.ts +3 -4
  418. package/dist-cms/packages/log-viewer/components/donut-chart/donut-chart.element.d.ts +2 -9
  419. package/dist-cms/packages/log-viewer/components/donut-chart/donut-chart.element.js +10 -10
  420. package/dist-cms/packages/log-viewer/repository/sources/index.d.ts +2 -2
  421. package/dist-cms/packages/log-viewer/repository/sources/log-viewer.server.data.d.ts +4 -4
  422. package/dist-cms/packages/log-viewer/repository/sources/log-viewer.server.data.js +1 -1
  423. package/dist-cms/packages/log-viewer/workspace/logviewer-workspace.context.d.ts +10 -10
  424. package/dist-cms/packages/log-viewer/workspace/views/overview/components/log-viewer-log-types-chart.element.d.ts +1 -1
  425. package/dist-cms/packages/log-viewer/workspace/views/overview/components/log-viewer-log-types-chart.element.js +11 -11
  426. package/dist-cms/packages/log-viewer/workspace/views/overview/components/log-viewer-message-templates-overview.element.js +3 -3
  427. package/dist-cms/packages/log-viewer/workspace/views/overview/components/log-viewer-saved-searches-overview.element.js +3 -3
  428. package/dist-cms/packages/log-viewer/workspace/views/search/components/log-viewer-messages-list.element.d.ts +0 -1
  429. package/dist-cms/packages/log-viewer/workspace/views/search/components/log-viewer-messages-list.element.js +8 -8
  430. package/dist-cms/packages/log-viewer/workspace/views/search/components/log-viewer-polling-button.element.d.ts +1 -1
  431. package/dist-cms/packages/log-viewer/workspace/views/search/components/log-viewer-polling-button.element.js +3 -3
  432. package/dist-cms/packages/log-viewer/workspace/views/search/components/log-viewer-search-input.element.d.ts +0 -1
  433. package/dist-cms/packages/log-viewer/workspace/views/search/components/log-viewer-search-input.element.js +11 -8
  434. package/dist-cms/packages/media/dropzone/components/input-dropzone/input-dropzone.element.d.ts +1 -1
  435. package/dist-cms/packages/media/dropzone/components/input-dropzone/input-dropzone.element.js +2 -1
  436. package/dist-cms/packages/media/imaging/imaging.repository.js +1 -1
  437. package/dist-cms/packages/media/media/audit-log/info-app/media-history-workspace-info-app.element.d.ts +2 -2
  438. package/dist-cms/packages/media/media/audit-log/info-app/media-history-workspace-info-app.element.js +6 -4
  439. package/dist-cms/packages/media/media/collection/views/table/media-table-collection-view.element.js +1 -0
  440. package/dist-cms/packages/media/media/components/input-image-cropper/image-cropper-focus-setter.element.d.ts +1 -1
  441. package/dist-cms/packages/media/media/components/input-image-cropper/image-cropper-focus-setter.element.js +14 -14
  442. package/dist-cms/packages/media/media/components/input-image-cropper/image-cropper.element.d.ts +0 -1
  443. package/dist-cms/packages/media/media/components/input-image-cropper/image-cropper.element.js +9 -11
  444. package/dist-cms/packages/media/media/components/input-image-cropper/input-image-cropper.element.js +1 -1
  445. package/dist-cms/packages/media/media/components/input-media/input-media.element.js +1 -0
  446. package/dist-cms/packages/media/media/components/input-rich-media/input-rich-media.element.d.ts +1 -1
  447. package/dist-cms/packages/media/media/components/input-rich-media/input-rich-media.element.js +71 -68
  448. package/dist-cms/packages/media/media/components/input-upload-field/input-upload-field.element.d.ts +3 -4
  449. package/dist-cms/packages/media/media/components/input-upload-field/input-upload-field.element.js +16 -19
  450. package/dist-cms/packages/media/media/dropzone/dropzone-media.element.js +1 -1
  451. package/dist-cms/packages/media/media/item/media-item-ref.element.d.ts +2 -2
  452. package/dist-cms/packages/media/media/modals/media-caption-alt-text/media-caption-alt-text-modal.element.js +2 -2
  453. package/dist-cms/packages/media/media/modals/media-picker/media-picker-modal.element.d.ts +1 -1
  454. package/dist-cms/packages/media/media/modals/media-picker/media-picker-modal.element.js +5 -3
  455. package/dist-cms/packages/media/media/property-editors/media-entity-picker/property-editor-ui-media-entity-picker.element.d.ts +2 -2
  456. package/dist-cms/packages/media/media/property-editors/upload-field/Umbraco.UploadField.js +1 -0
  457. package/dist-cms/packages/media/media/property-editors/upload-field/property-editor-ui-upload-field.element.d.ts +2 -2
  458. package/dist-cms/packages/media/media/property-editors/upload-field/property-editor-ui-upload-field.element.js +3 -0
  459. package/dist-cms/packages/media/media/property-editors/upload-field/types.d.ts +9 -1
  460. package/dist-cms/packages/media/media/recycle-bin/tree/constants.d.ts +3 -0
  461. package/dist-cms/packages/media/media/recycle-bin/tree/constants.js +3 -0
  462. package/dist-cms/packages/media/media/recycle-bin/tree/media-recycle-bin-tree.store.context-token.d.ts +3 -0
  463. package/dist-cms/packages/media/media/recycle-bin/tree/media-recycle-bin-tree.store.context-token.js +3 -0
  464. package/dist-cms/packages/media/media/recycle-bin/tree/media-recycle-bin-tree.store.d.ts +1 -0
  465. package/dist-cms/packages/media/media/recycle-bin/tree/media-recycle-bin-tree.store.js +1 -0
  466. package/dist-cms/packages/media/media/search/media-search.server.data-source.js +1 -0
  467. package/dist-cms/packages/media/media/search/types.d.ts +1 -0
  468. package/dist-cms/packages/media/media/tree/constants.d.ts +3 -0
  469. package/dist-cms/packages/media/media/tree/constants.js +3 -0
  470. package/dist-cms/packages/media/media/tree/media-tree.store.context-token.d.ts +3 -0
  471. package/dist-cms/packages/media/media/tree/media-tree.store.context-token.js +3 -0
  472. package/dist-cms/packages/media/media/tree/media-tree.store.d.ts +1 -0
  473. package/dist-cms/packages/media/media/tree/media-tree.store.js +1 -0
  474. package/dist-cms/packages/media/media/workspace/manifests.js +5 -1
  475. package/dist-cms/packages/media/media/workspace/media-workspace-editor.element.d.ts +2 -4
  476. package/dist-cms/packages/media/media/workspace/media-workspace-editor.element.js +5 -14
  477. package/dist-cms/packages/media/media/workspace/media-workspace-split-view.element.d.ts +2 -3
  478. package/dist-cms/packages/media/media/workspace/media-workspace.context.js +1 -1
  479. package/dist-cms/packages/media/media-types/entity-actions/import/modal/media-type-import-modal.element.js +3 -3
  480. package/dist-cms/packages/media/media-types/property-editors/media-type-picker/property-editor-ui-media-type-picker.element.d.ts +2 -2
  481. package/dist-cms/packages/media/media-types/property-type/media-type-property-type-item-ref.element.d.ts +1 -1
  482. package/dist-cms/packages/media/media-types/tree/constants.d.ts +3 -0
  483. package/dist-cms/packages/media/media-types/tree/constants.js +3 -0
  484. package/dist-cms/packages/media/media-types/tree/media-type-tree.store.context-token.d.ts +3 -0
  485. package/dist-cms/packages/media/media-types/tree/media-type-tree.store.context-token.js +3 -0
  486. package/dist-cms/packages/media/media-types/tree/media-type-tree.store.d.ts +1 -0
  487. package/dist-cms/packages/media/media-types/tree/media-type-tree.store.js +1 -0
  488. package/dist-cms/packages/media/media-types/tree/tree-item-children/collection/repository/media-type-tree-item-children-collection.repository.d.ts +0 -4
  489. package/dist-cms/packages/media/media-types/tree/tree-item-children/manifests.js +2 -1
  490. package/dist-cms/packages/members/member/components/input-member/input-member.element.js +1 -0
  491. package/dist-cms/packages/members/member/item/member-item-ref.element.d.ts +2 -2
  492. package/dist-cms/packages/members/member/workspace/member/member-workspace-editor.element.d.ts +1 -2
  493. package/dist-cms/packages/members/member/workspace/member/member-workspace-editor.element.js +5 -14
  494. package/dist-cms/packages/members/member/workspace/member/member-workspace-split-view.element.d.ts +2 -3
  495. package/dist-cms/packages/members/member-group/property-editor/member-group-picker/property-editor-ui-member-group-picker.element.d.ts +2 -2
  496. package/dist-cms/packages/members/member-type/property-type/member-type-property-type-item-ref.element.d.ts +1 -1
  497. package/dist-cms/packages/members/member-type/tree/constants.d.ts +3 -0
  498. package/dist-cms/packages/members/member-type/tree/constants.js +3 -0
  499. package/dist-cms/packages/members/member-type/tree/manifests.js +2 -1
  500. package/dist-cms/packages/members/member-type/tree/member-type-tree.store.context-token.d.ts +3 -0
  501. package/dist-cms/packages/members/member-type/tree/member-type-tree.store.context-token.js +3 -0
  502. package/dist-cms/packages/members/member-type/tree/member-type-tree.store.d.ts +1 -0
  503. package/dist-cms/packages/members/member-type/tree/member-type-tree.store.js +1 -0
  504. package/dist-cms/packages/members/member-type/tree/tree-item-children/collection/repository/member-type-tree-item-children-collection.repository.d.ts +0 -4
  505. package/dist-cms/packages/models-builder/models-builder-dashboard.element.d.ts +1 -1
  506. package/dist-cms/packages/models-builder/models-builder-dashboard.element.js +2 -2
  507. package/dist-cms/packages/multi-url-picker/components/input-multi-url/input-multi-url.element.d.ts +4 -7
  508. package/dist-cms/packages/multi-url-picker/components/input-multi-url/input-multi-url.element.js +64 -26
  509. package/dist-cms/packages/packages/package/repository/package.repository.d.ts +1 -1
  510. package/dist-cms/packages/packages/package/repository/package.repository.js +1 -1
  511. package/dist-cms/packages/packages/package/repository/sources/package.server.data.d.ts +2 -2
  512. package/dist-cms/packages/packages/package/repository/sources/package.server.data.js +11 -11
  513. package/dist-cms/packages/packages/package-repo/workspace/workspace-package.element.d.ts +1 -1
  514. package/dist-cms/packages/packages/package-section/views/created/packages-created-overview.element.js +7 -7
  515. package/dist-cms/packages/packages/types.d.ts +10 -1
  516. package/dist-cms/packages/performance-profiling/dashboard-performance-profiling.element.d.ts +0 -1
  517. package/dist-cms/packages/performance-profiling/dashboard-performance-profiling.element.js +4 -2
  518. package/dist-cms/packages/property-editors/checkbox-list/property-editor-ui-checkbox-list.element.d.ts +1 -1
  519. package/dist-cms/packages/property-editors/checkbox-list/property-editor-ui-checkbox-list.element.js +19 -2
  520. package/dist-cms/packages/property-editors/content-picker/components/input-content/input-content.element.js +1 -0
  521. package/dist-cms/packages/property-editors/content-picker/config/source-content/input-content-picker-source.element.d.ts +1 -1
  522. package/dist-cms/packages/property-editors/content-picker/config/source-type/property-editor-ui-content-picker-source-type.element.d.ts +1 -1
  523. package/dist-cms/packages/property-editors/content-picker/config/source-type/property-editor-ui-content-picker-source-type.element.js +6 -6
  524. package/dist-cms/packages/property-editors/content-picker/property-editor-ui-content-picker.element.d.ts +1 -5
  525. package/dist-cms/packages/property-editors/content-picker/property-editor-ui-content-picker.element.js +3 -13
  526. package/dist-cms/packages/property-editors/dropdown/property-editor-ui-dropdown.element.js +19 -5
  527. package/dist-cms/packages/property-editors/number-range/property-editor-ui-number-range.element.d.ts +3 -3
  528. package/dist-cms/packages/property-editors/select/property-editor-ui-select.element.d.ts +3 -1
  529. package/dist-cms/packages/property-editors/select/property-editor-ui-select.element.js +27 -4
  530. package/dist-cms/packages/property-editors/toggle/property-editor-ui-toggle.element.d.ts +4 -4
  531. package/dist-cms/packages/property-editors/utils/property-editor-test-utils.d.ts +109 -0
  532. package/dist-cms/packages/property-editors/utils/property-editor-test-utils.js +147 -0
  533. package/dist-cms/packages/property-editors/utils/property-editor-ui-state-manager.d.ts +30 -0
  534. package/dist-cms/packages/property-editors/utils/property-editor-ui-state-manager.js +46 -0
  535. package/dist-cms/packages/relations/relation-types/workspace/relation-type/views/relation-type-detail-workspace-view.element.d.ts +8 -10
  536. package/dist-cms/packages/relations/relation-types/workspace/relation-type/views/relation-type-detail-workspace-view.element.js +3 -3
  537. package/dist-cms/packages/relations/relations/entity-actions/bulk-delete/bulk-delete-with-relation.action.d.ts +1 -1
  538. package/dist-cms/packages/relations/relations/entity-actions/bulk-delete/modal/bulk-delete-with-relation-modal.element.d.ts +1 -2
  539. package/dist-cms/packages/relations/relations/entity-actions/bulk-trash/bulk-trash-with-relation.action.d.ts +1 -1
  540. package/dist-cms/packages/relations/relations/entity-actions/bulk-trash/modal/bulk-trash-with-relation-modal.element.d.ts +1 -2
  541. package/dist-cms/packages/relations/relations/entity-actions/delete/delete-with-relation.action.d.ts +1 -1
  542. package/dist-cms/packages/relations/relations/entity-actions/delete/modal/delete-with-relation-modal.element.d.ts +2 -3
  543. package/dist-cms/packages/relations/relations/entity-actions/trash/modal/trash-with-relation-modal.element.d.ts +2 -3
  544. package/dist-cms/packages/relations/relations/entity-actions/trash/trash-with-relation.action.d.ts +1 -1
  545. package/dist-cms/packages/relations/relations/global-components/confirm-action-modal-entity-references.element.d.ts +4 -5
  546. package/dist-cms/packages/relations/relations/global-components/confirm-bulk-action-modal-entity-references.element.d.ts +2 -2
  547. package/dist-cms/packages/relations/relations/reference/workspace-info-app/entity-references-workspace-view-info.element.js +7 -7
  548. package/dist-cms/packages/rte/components/rte-base.element.d.ts +4 -0
  549. package/dist-cms/packages/rte/components/rte-base.element.js +81 -4
  550. package/dist-cms/packages/search/examine-management-dashboard/views/section-view-examine-indexers.d.ts +0 -3
  551. package/dist-cms/packages/search/examine-management-dashboard/views/section-view-examine-indexers.js +4 -4
  552. package/dist-cms/packages/search/examine-management-dashboard/views/section-view-examine-overview.d.ts +0 -2
  553. package/dist-cms/packages/search/examine-management-dashboard/views/section-view-examine-overview.js +4 -4
  554. package/dist-cms/packages/search/examine-management-dashboard/views/section-view-examine-searchers.d.ts +3 -2
  555. package/dist-cms/packages/search/examine-management-dashboard/views/section-view-examine-searchers.js +86 -49
  556. package/dist-cms/packages/search/search-modal/search-modal.element.d.ts +2 -8
  557. package/dist-cms/packages/segment/collection/index.d.ts +1 -1
  558. package/dist-cms/packages/segment/collection/index.js +1 -1
  559. package/dist-cms/packages/segment/collection/repository/index.d.ts +0 -1
  560. package/dist-cms/packages/segment/collection/repository/index.js +0 -1
  561. package/dist-cms/packages/static-file/tree/constants.d.ts +3 -0
  562. package/dist-cms/packages/static-file/tree/constants.js +3 -0
  563. package/dist-cms/packages/static-file/tree/static-file-tree.store.context-token.d.ts +3 -0
  564. package/dist-cms/packages/static-file/tree/static-file-tree.store.context-token.js +3 -0
  565. package/dist-cms/packages/static-file/tree/static-file-tree.store.d.ts +1 -0
  566. package/dist-cms/packages/static-file/tree/static-file-tree.store.js +1 -0
  567. package/dist-cms/packages/tags/components/tags-input/tags-input.element.d.ts +0 -1
  568. package/dist-cms/packages/tags/components/tags-input/tags-input.element.js +8 -7
  569. package/dist-cms/packages/templating/partial-views/entity-actions/create/snippet-modal/create-from-snippet-modal.d.ts +1 -5
  570. package/dist-cms/packages/templating/partial-views/tree/manifests.d.ts +3 -0
  571. package/dist-cms/packages/templating/partial-views/tree/manifests.js +3 -0
  572. package/dist-cms/packages/templating/partial-views/tree/partial-view-tree.store.context-token.d.ts +3 -0
  573. package/dist-cms/packages/templating/partial-views/tree/partial-view-tree.store.context-token.js +3 -0
  574. package/dist-cms/packages/templating/partial-views/tree/partial-view-tree.store.d.ts +1 -0
  575. package/dist-cms/packages/templating/partial-views/tree/partial-view-tree.store.js +1 -0
  576. package/dist-cms/packages/templating/scripts/tree/manifests.d.ts +3 -0
  577. package/dist-cms/packages/templating/scripts/tree/manifests.js +3 -0
  578. package/dist-cms/packages/templating/scripts/tree/script-tree.store.context-token.d.ts +3 -0
  579. package/dist-cms/packages/templating/scripts/tree/script-tree.store.context-token.js +3 -0
  580. package/dist-cms/packages/templating/scripts/tree/script-tree.store.d.ts +1 -0
  581. package/dist-cms/packages/templating/scripts/tree/script-tree.store.js +1 -0
  582. package/dist-cms/packages/templating/stylesheets/tree/manifests.d.ts +3 -0
  583. package/dist-cms/packages/templating/stylesheets/tree/manifests.js +3 -0
  584. package/dist-cms/packages/templating/stylesheets/tree/stylesheet-tree.store.context-token.d.ts +3 -0
  585. package/dist-cms/packages/templating/stylesheets/tree/stylesheet-tree.store.context-token.js +3 -0
  586. package/dist-cms/packages/templating/stylesheets/tree/stylesheet-tree.store.d.ts +1 -0
  587. package/dist-cms/packages/templating/stylesheets/tree/stylesheet-tree.store.js +1 -0
  588. package/dist-cms/packages/templating/templates/global-components/input-template/input-template.element.d.ts +1 -5
  589. package/dist-cms/packages/templating/templates/global-components/input-template/input-template.element.js +13 -10
  590. package/dist-cms/packages/templating/templates/global-components/template-card/template-card.element.d.ts +0 -1
  591. package/dist-cms/packages/templating/templates/global-components/template-card/template-card.element.js +4 -3
  592. package/dist-cms/packages/templating/templates/tree/manifests.d.ts +3 -0
  593. package/dist-cms/packages/templating/templates/tree/manifests.js +3 -0
  594. package/dist-cms/packages/templating/templates/tree/template-tree.store.context-token.d.ts +3 -0
  595. package/dist-cms/packages/templating/templates/tree/template-tree.store.context-token.js +3 -0
  596. package/dist-cms/packages/templating/templates/tree/template-tree.store.d.ts +1 -0
  597. package/dist-cms/packages/templating/templates/tree/template-tree.store.js +1 -0
  598. package/dist-cms/packages/templating/types.js +2 -0
  599. package/dist-cms/packages/tiptap/components/cascading-menu-popover/cascading-menu-popover.element.d.ts +1 -0
  600. package/dist-cms/packages/tiptap/components/cascading-menu-popover/cascading-menu-popover.element.js +13 -4
  601. package/dist-cms/packages/tiptap/components/index.d.ts +1 -0
  602. package/dist-cms/packages/tiptap/components/index.js +1 -0
  603. package/dist-cms/packages/tiptap/components/input-tiptap/input-tiptap.element.js +20 -10
  604. package/dist-cms/packages/tiptap/components/input-tiptap/tiptap-statusbar.element.d.ts +6 -3
  605. package/dist-cms/packages/tiptap/components/input-tiptap/tiptap-statusbar.element.js +27 -10
  606. package/dist-cms/packages/tiptap/components/input-tiptap/tiptap-toolbar.element.d.ts +6 -8
  607. package/dist-cms/packages/tiptap/components/input-tiptap/tiptap-toolbar.element.js +45 -20
  608. package/dist-cms/packages/tiptap/components/menu/index.d.ts +2 -0
  609. package/dist-cms/packages/tiptap/components/menu/index.js +2 -0
  610. package/dist-cms/packages/tiptap/components/menu/tiptap-menu-item-api-base.d.ts +3 -0
  611. package/dist-cms/packages/tiptap/components/menu/tiptap-menu-item-api-base.js +3 -0
  612. package/dist-cms/packages/tiptap/components/menu/tiptap-menu.element.d.ts +12 -0
  613. package/dist-cms/packages/tiptap/components/menu/tiptap-menu.element.js +42 -0
  614. package/dist-cms/packages/tiptap/components/toolbar/tiptap-toolbar-menu.element.d.ts +1 -1
  615. package/dist-cms/packages/tiptap/components/toolbar/tiptap-toolbar-menu.element.js +10 -6
  616. package/dist-cms/packages/tiptap/constants.d.ts +1 -0
  617. package/dist-cms/packages/tiptap/constants.js +1 -0
  618. package/dist-cms/packages/tiptap/contexts/constants.d.ts +1 -0
  619. package/dist-cms/packages/tiptap/contexts/constants.js +1 -0
  620. package/dist-cms/packages/tiptap/contexts/index.d.ts +1 -0
  621. package/dist-cms/packages/tiptap/contexts/index.js +1 -0
  622. package/dist-cms/packages/tiptap/contexts/tiptap-rte.context-token.d.ts +3 -0
  623. package/dist-cms/packages/tiptap/contexts/tiptap-rte.context-token.js +2 -0
  624. package/dist-cms/packages/tiptap/contexts/tiptap-rte.context.d.ts +9 -0
  625. package/dist-cms/packages/tiptap/contexts/tiptap-rte.context.js +14 -0
  626. package/dist-cms/packages/tiptap/extensions/core/embedded-media.tiptap-api.d.ts +1 -1
  627. package/dist-cms/packages/tiptap/extensions/core/embedded-media.tiptap-api.js +17 -17
  628. package/dist-cms/packages/tiptap/extensions/core/word-count.tiptap-api.js +1 -1
  629. package/dist-cms/packages/tiptap/extensions/statusbar/word-count.tiptap-statusbar-element.js +2 -2
  630. package/dist-cms/packages/tiptap/extensions/table/actions/table-cell-merge-split.action.d.ts +4 -0
  631. package/dist-cms/packages/tiptap/extensions/table/actions/table-cell-merge-split.action.js +8 -0
  632. package/dist-cms/packages/tiptap/extensions/table/actions/table-cell-merge.action.d.ts +4 -0
  633. package/dist-cms/packages/tiptap/extensions/table/actions/table-cell-merge.action.js +8 -0
  634. package/dist-cms/packages/tiptap/extensions/table/actions/table-cell-split.action.d.ts +4 -0
  635. package/dist-cms/packages/tiptap/extensions/table/actions/table-cell-split.action.js +8 -0
  636. package/dist-cms/packages/tiptap/extensions/table/actions/table-cell-toggle-header.action.d.ts +4 -0
  637. package/dist-cms/packages/tiptap/extensions/table/actions/table-cell-toggle-header.action.js +8 -0
  638. package/dist-cms/packages/tiptap/extensions/table/actions/table-column-add-after.action.d.ts +4 -0
  639. package/dist-cms/packages/tiptap/extensions/table/actions/table-column-add-after.action.js +8 -0
  640. package/dist-cms/packages/tiptap/extensions/table/actions/table-column-add-before.action.d.ts +4 -0
  641. package/dist-cms/packages/tiptap/extensions/table/actions/table-column-add-before.action.js +8 -0
  642. package/dist-cms/packages/tiptap/extensions/table/actions/table-column-delete.action.d.ts +4 -0
  643. package/dist-cms/packages/tiptap/extensions/table/actions/table-column-delete.action.js +8 -0
  644. package/dist-cms/packages/tiptap/extensions/table/actions/table-column-toggle-header.action.d.ts +4 -0
  645. package/dist-cms/packages/tiptap/extensions/table/actions/table-column-toggle-header.action.js +8 -0
  646. package/dist-cms/packages/tiptap/extensions/table/actions/table-delete.action.d.ts +4 -0
  647. package/dist-cms/packages/tiptap/extensions/table/actions/table-delete.action.js +8 -0
  648. package/dist-cms/packages/tiptap/extensions/table/actions/table-properties.action.d.ts +5 -0
  649. package/dist-cms/packages/tiptap/extensions/table/actions/table-properties.action.js +111 -0
  650. package/dist-cms/packages/tiptap/extensions/table/actions/table-row-add-after.action.d.ts +4 -0
  651. package/dist-cms/packages/tiptap/extensions/table/actions/table-row-add-after.action.js +8 -0
  652. package/dist-cms/packages/tiptap/extensions/table/actions/table-row-add-before.action.d.ts +4 -0
  653. package/dist-cms/packages/tiptap/extensions/table/actions/table-row-add-before.action.js +8 -0
  654. package/dist-cms/packages/tiptap/extensions/table/actions/table-row-delete.action.d.ts +4 -0
  655. package/dist-cms/packages/tiptap/extensions/table/actions/table-row-delete.action.js +8 -0
  656. package/dist-cms/packages/tiptap/extensions/table/actions/table-row-toggle-header.action.d.ts +4 -0
  657. package/dist-cms/packages/tiptap/extensions/table/actions/table-row-toggle-header.action.js +8 -0
  658. package/dist-cms/packages/tiptap/extensions/table/components/table-column-menu.element.d.ts +1 -0
  659. package/dist-cms/packages/tiptap/extensions/table/components/table-column-menu.element.js +1 -0
  660. package/dist-cms/packages/tiptap/extensions/table/components/table-row-menu.element.d.ts +1 -0
  661. package/dist-cms/packages/tiptap/extensions/table/components/table-row-menu.element.js +1 -0
  662. package/dist-cms/packages/tiptap/extensions/table/components/table-toolbar-menu.element.d.ts +1 -1
  663. package/dist-cms/packages/tiptap/extensions/table/components/table-toolbar-menu.element.js +1 -1
  664. package/dist-cms/packages/tiptap/extensions/table/manifests.js +225 -33
  665. package/dist-cms/packages/tiptap/extensions/table/table.tiptap-api.d.ts +1 -2
  666. package/dist-cms/packages/tiptap/extensions/table/table.tiptap-api.js +1 -2
  667. package/dist-cms/packages/tiptap/extensions/table/table.tiptap-toolbar-api.d.ts +1 -3
  668. package/dist-cms/packages/tiptap/extensions/table/table.tiptap-toolbar-api.js +1 -129
  669. package/dist-cms/packages/tiptap/extensions/tiptap-toolbar.extension.d.ts +2 -0
  670. package/dist-cms/packages/tiptap/extensions/toolbar/clear-formatting.tiptap-toolbar-api.js +1 -1
  671. package/dist-cms/packages/tiptap/extensions/toolbar/font-size.tiptap-toolbar-api.d.ts +1 -1
  672. package/dist-cms/packages/tiptap/extensions/toolbar/font-size.tiptap-toolbar-api.js +1 -1
  673. package/dist-cms/packages/tiptap/index.d.ts +1 -0
  674. package/dist-cms/packages/tiptap/index.js +1 -0
  675. package/dist-cms/packages/tiptap/property-editors/tiptap/property-editor-ui-tiptap.element.d.ts +1 -1
  676. package/dist-cms/packages/tiptap/property-editors/tiptap/property-editor-ui-tiptap.element.js +2 -1
  677. package/dist-cms/packages/translation/menu/manifests.js +1 -1
  678. package/dist-cms/packages/ufm/components/content-name/content-name.component.d.ts +1 -1
  679. package/dist-cms/packages/ufm/components/content-name/content-name.element.d.ts +1 -2
  680. package/dist-cms/packages/ufm/components/content-name/content-name.element.js +1 -2
  681. package/dist-cms/packages/ufm/components/index.d.ts +1 -0
  682. package/dist-cms/packages/ufm/components/index.js +1 -0
  683. package/dist-cms/packages/ufm/components/label-value/label-value.component.d.ts +1 -1
  684. package/dist-cms/packages/ufm/components/label-value/label-value.element.d.ts +1 -2
  685. package/dist-cms/packages/ufm/components/label-value/label-value.element.js +1 -2
  686. package/dist-cms/packages/ufm/components/link/link.component.d.ts +1 -1
  687. package/dist-cms/packages/ufm/components/link/link.element.d.ts +1 -2
  688. package/dist-cms/packages/ufm/components/link/link.element.js +1 -2
  689. package/dist-cms/packages/ufm/components/localize/localize.component.d.ts +1 -1
  690. package/dist-cms/packages/ufm/components/localize/localize.element.d.ts +1 -2
  691. package/dist-cms/packages/ufm/components/localize/localize.element.js +1 -2
  692. package/dist-cms/packages/ufm/components/manifests.d.ts +1 -1
  693. package/dist-cms/packages/ufm/components/ufm-component-base.d.ts +2 -2
  694. package/dist-cms/packages/ufm/components/ufm-element-base.d.ts +1 -2
  695. package/dist-cms/packages/ufm/components/ufm-element-base.js +10 -5
  696. package/dist-cms/packages/ufm/components/ufm-js-expression.element.d.ts +13 -0
  697. package/dist-cms/packages/ufm/components/ufm-js-expression.element.js +55 -0
  698. package/dist-cms/packages/ufm/components/ufm-render/ufm-render.element.d.ts +1 -2
  699. package/dist-cms/packages/ufm/components/ufm-render/ufm-render.element.js +15 -3
  700. package/dist-cms/packages/ufm/contexts/ufm.context.d.ts +20 -3
  701. package/dist-cms/packages/ufm/contexts/ufm.context.js +20 -18
  702. package/dist-cms/packages/ufm/extensions/manifests.d.ts +2 -0
  703. package/dist-cms/packages/ufm/extensions/manifests.js +20 -0
  704. package/dist-cms/packages/ufm/extensions/marked-extension.extension.d.ts +21 -0
  705. package/dist-cms/packages/ufm/extensions/marked-extension.extension.js +1 -0
  706. package/dist-cms/packages/ufm/extensions/types.d.ts +5 -0
  707. package/dist-cms/packages/ufm/extensions/types.js +1 -0
  708. package/dist-cms/packages/ufm/{ufm-component.extension.d.ts → extensions/ufm-component.extension.d.ts} +1 -1
  709. package/dist-cms/packages/ufm/extensions/ufm-component.extension.js +1 -0
  710. package/dist-cms/packages/ufm/extensions/ufm-filter.extension.js +1 -0
  711. package/dist-cms/packages/ufm/extensions/ufm-marked-extension.api.d.ts +8 -0
  712. package/dist-cms/packages/ufm/extensions/ufm-marked-extension.api.js +23 -0
  713. package/dist-cms/packages/ufm/extensions/ufmjs-marked-extension.api.d.ts +8 -0
  714. package/dist-cms/packages/ufm/extensions/ufmjs-marked-extension.api.js +8 -0
  715. package/dist-cms/packages/ufm/filters/base.filter.d.ts +1 -1
  716. package/dist-cms/packages/ufm/filters/manifests.d.ts +1 -1
  717. package/dist-cms/packages/ufm/manifests.js +7 -1
  718. package/dist-cms/packages/ufm/plugins/index.d.ts +1 -1
  719. package/dist-cms/packages/ufm/plugins/index.js +1 -0
  720. package/dist-cms/packages/ufm/plugins/marked-ufm.plugin.d.ts +2 -11
  721. package/dist-cms/packages/ufm/plugins/marked-ufm.plugin.js +0 -1
  722. package/dist-cms/packages/ufm/plugins/marked-ufmjs.plugin.d.ts +5 -0
  723. package/dist-cms/packages/ufm/plugins/marked-ufmjs.plugin.js +32 -0
  724. package/dist-cms/packages/ufm/plugins/types.d.ts +10 -0
  725. package/dist-cms/packages/ufm/plugins/types.js +1 -0
  726. package/dist-cms/packages/ufm/types.d.ts +2 -2
  727. package/dist-cms/packages/user/current-user/conditions/group-id/group-id.condition.d.ts +1 -1
  728. package/dist-cms/packages/user/current-user/conditions/group-id/group-id.condition.js +25 -25
  729. package/dist-cms/packages/user/current-user/external-login/modals/external-login-modal.element.d.ts +1 -7
  730. package/dist-cms/packages/user/current-user/modals/current-user-mfa/current-user-mfa-modal.element.d.ts +1 -6
  731. package/dist-cms/packages/user/current-user/modals/current-user-mfa-disable/current-user-mfa-disable-modal.element.d.ts +2 -3
  732. package/dist-cms/packages/user/user/client-credential/create/modal/create-user-client-credential-modal.element.d.ts +1 -3
  733. package/dist-cms/packages/user/user/client-credential/create/modal/create-user-client-credential-modal.element.js +0 -3
  734. package/dist-cms/packages/user/user/collection/user-collection-header.element.d.ts +1 -2
  735. package/dist-cms/packages/user/user/components/user-avatar/user-avatar.element.d.ts +1 -1
  736. package/dist-cms/packages/user/user/components/user-avatar/user-avatar.element.js +5 -5
  737. package/dist-cms/packages/user/user/components/user-document-start-node/user-document-start-node.element.d.ts +1 -1
  738. package/dist-cms/packages/user/user/components/user-media-start-node/user-media-start-node.element.d.ts +1 -1
  739. package/dist-cms/packages/user/user/conditions/allow-delete/user-allow-delete-action.condition.d.ts +1 -1
  740. package/dist-cms/packages/user/user/conditions/allow-disable/user-allow-disable-action.condition.d.ts +1 -1
  741. package/dist-cms/packages/user/user/conditions/allow-enable/user-allow-enable-action.condition.d.ts +1 -1
  742. package/dist-cms/packages/user/user/conditions/allow-unlock/user-allow-unlock-action.condition.d.ts +1 -1
  743. package/dist-cms/packages/user/user/conditions/is-default-kind/user-is-default-kind.condition.d.ts +1 -1
  744. package/dist-cms/packages/user/user/entity-actions/create/modal/create-user-modal.element.d.ts +1 -1
  745. package/dist-cms/packages/user/user/entity-actions/create/modal/create-user-success-modal.element.d.ts +2 -3
  746. package/dist-cms/packages/user/user/invite/entity-action/resend-invite/resend-invite.action.condition.d.ts +1 -1
  747. package/dist-cms/packages/user/user/item/user-item-ref.element.d.ts +2 -2
  748. package/dist-cms/packages/user/user/modals/user-mfa/user-mfa-modal.element.d.ts +1 -6
  749. package/dist-cms/packages/user/user/utils/is-user.function.d.ts +4 -4
  750. package/dist-cms/packages/user/user/utils/is-user.function.js +5 -5
  751. package/dist-cms/packages/user/user/workspace/user/components/user-workspace-avatar/user-workspace-avatar.element.d.ts +1 -1
  752. package/dist-cms/packages/user/user-group/collection/components/user-group-table-sections-column-layout.element.d.ts +1 -1
  753. package/dist-cms/packages/user/user-group/collection/components/user-group-table-sections-column-layout.element.js +2 -2
  754. package/dist-cms/packages/user/user-group/workspace/user-group/components/user-group-granular-permission-list.element.d.ts +2 -2
  755. package/dist-cms/packages/user/user-permission/modals/settings/entity-user-permission-settings-modal.element.d.ts +3 -3
  756. package/dist-cms/packages/webhook/webhook/workspace/webhook-workspace-editor.element.d.ts +3 -3
  757. package/dist-cms/packages/webhook/webhook-event/modal/webhook-events-modal.element.d.ts +1 -2
  758. package/dist-cms/tsconfig.build.tsbuildinfo +1 -1
  759. package/dist-cms/umbraco-package-schema.json +234 -3
  760. package/dist-cms/umbraco-package.json +1 -1
  761. package/dist-cms/vite-config-base.d.ts +2 -0
  762. package/dist-cms/vite-config-base.js +2 -1
  763. package/dist-cms/vscode-html-custom-data.json +99 -62
  764. package/examples/block-custom-view/block-custom-view.ts +0 -3
  765. package/examples/custom-validation-workspace-context/README.md +1 -1
  766. package/examples/dashboard-with-property-dataset/dataset-dashboard.ts +1 -1
  767. package/examples/icons/icons-dashboard.ts +0 -2
  768. package/examples/manifest-picker/manifest-picker-dashboard.ts +3 -5
  769. package/examples/sorter-with-nested-containers/sorter-dashboard.ts +2 -1
  770. package/examples/sorter-with-nested-containers/sorter-group.ts +1 -1
  771. package/examples/sorter-with-two-containers/sorter-dashboard.ts +2 -1
  772. package/examples/sorter-with-two-containers/sorter-group.ts +1 -1
  773. package/examples/tree/README.md +10 -0
  774. package/examples/tree/dashboard-with-tree/dashboard-with-tree.element.ts +27 -0
  775. package/examples/tree/dashboard-with-tree/manifests.ts +14 -0
  776. package/examples/tree/entity.ts +5 -0
  777. package/examples/tree/index.ts +5 -0
  778. package/examples/tree/menu-item-with-tree/manifests.ts +17 -0
  779. package/examples/tree/tree/constants.ts +1 -0
  780. package/examples/tree/tree/data/constants.ts +1 -0
  781. package/examples/tree/tree/data/local-data-source/index.ts +1 -0
  782. package/examples/tree/tree/data/local-data-source/tree.local.data-source.ts +108 -0
  783. package/examples/tree/tree/data/manifests.ts +3 -0
  784. package/examples/tree/tree/data/repository/constants.ts +1 -0
  785. package/examples/tree/tree/data/repository/manifests.ts +10 -0
  786. package/examples/tree/tree/data/repository/tree.repository.ts +29 -0
  787. package/examples/tree/tree/manifests.ts +24 -0
  788. package/examples/tree/tree/types.ts +10 -0
  789. package/examples/ufm-custom-component/custom-ufm-component.ts +0 -1
  790. package/examples/workspace-context-counter/README.md +16 -5
  791. package/examples/workspace-context-counter/counter-status-footer-app.element.ts +35 -0
  792. package/examples/workspace-context-counter/counter-workspace-context.test.ts +318 -0
  793. package/examples/workspace-context-counter/counter-workspace-context.ts +4 -0
  794. package/examples/workspace-context-counter/index.ts +26 -0
  795. package/examples/workspace-context-counter/reset-counter-menu-item.action.ts +23 -0
  796. package/package.json +27 -20
  797. package/dist-cms/assets/favicon.svg +0 -1
  798. package/dist-cms/assets/fonts/codicon/codicon.ttf +0 -0
  799. package/dist-cms/assets/fonts/lato/LatoLatin-Black.woff2 +0 -0
  800. package/dist-cms/assets/fonts/lato/LatoLatin-BlackItalic.woff2 +0 -0
  801. package/dist-cms/assets/fonts/lato/LatoLatin-Bold.woff2 +0 -0
  802. package/dist-cms/assets/fonts/lato/LatoLatin-BoldItalic.woff2 +0 -0
  803. package/dist-cms/assets/fonts/lato/LatoLatin-Italic.woff2 +0 -0
  804. package/dist-cms/assets/fonts/lato/LatoLatin-Light.woff2 +0 -0
  805. package/dist-cms/assets/fonts/lato/LatoLatin-LightItalic.woff2 +0 -0
  806. package/dist-cms/assets/fonts/lato/LatoLatin-Regular.woff2 +0 -0
  807. package/dist-cms/assets/installer-illustration.svg +0 -1
  808. package/dist-cms/assets/lang/ar.ts +0 -2483
  809. package/dist-cms/assets/lang/bs.ts +0 -2328
  810. package/dist-cms/assets/lang/cs.ts +0 -1938
  811. package/dist-cms/assets/lang/cy.ts +0 -2523
  812. package/dist-cms/assets/lang/da.ts +0 -2666
  813. package/dist-cms/assets/lang/de.ts +0 -2036
  814. package/dist-cms/assets/lang/en-us.ts +0 -63
  815. package/dist-cms/assets/lang/en.ts +0 -2848
  816. package/dist-cms/assets/lang/es.ts +0 -1444
  817. package/dist-cms/assets/lang/fr.ts +0 -1973
  818. package/dist-cms/assets/lang/he.ts +0 -797
  819. package/dist-cms/assets/lang/hr.ts +0 -2398
  820. package/dist-cms/assets/lang/it.ts +0 -2315
  821. package/dist-cms/assets/lang/ja.ts +0 -1019
  822. package/dist-cms/assets/lang/ko.ts +0 -796
  823. package/dist-cms/assets/lang/nb.ts +0 -1290
  824. package/dist-cms/assets/lang/nl.ts +0 -2205
  825. package/dist-cms/assets/lang/pl.ts +0 -1308
  826. package/dist-cms/assets/lang/pt-br.ts +0 -555
  827. package/dist-cms/assets/lang/pt.ts +0 -2833
  828. package/dist-cms/assets/lang/ro.ts +0 -63
  829. package/dist-cms/assets/lang/ru.ts +0 -1457
  830. package/dist-cms/assets/lang/sv.ts +0 -1163
  831. package/dist-cms/assets/lang/tr.ts +0 -2009
  832. package/dist-cms/assets/lang/uk.ts +0 -1455
  833. package/dist-cms/assets/lang/zh-tw.ts +0 -1063
  834. package/dist-cms/assets/lang/zh.ts +0 -1074
  835. package/dist-cms/css/dark.theme.css +0 -48
  836. package/dist-cms/css/high-contrast.theme.css +0 -53
  837. package/dist-cms/css/rte-content.css +0 -21
  838. package/dist-cms/css/umb-css.css +0 -12
  839. package/dist-cms/css/umbraco-blockgridlayout-flexbox_css.txt +0 -35
  840. package/dist-cms/css/umbraco-blockgridlayout.css +0 -50
  841. package/dist-cms/css/uui-css.css +0 -981
  842. package/dist-cms/external/monaco-editor/abap-BrgZPUOV.js +0 -6
  843. package/dist-cms/external/monaco-editor/apex-BhRMM8yO.js +0 -6
  844. package/dist-cms/external/monaco-editor/assets/bundle-CuBbGbXz.css +0 -95
  845. package/dist-cms/external/monaco-editor/azcli-BaLxmfj-.js +0 -6
  846. package/dist-cms/external/monaco-editor/bat-CFOPXBzS.js +0 -6
  847. package/dist-cms/external/monaco-editor/bicep-BfEKNvv3.js +0 -7
  848. package/dist-cms/external/monaco-editor/cameligo-BFG1Mk7z.js +0 -6
  849. package/dist-cms/external/monaco-editor/clojure-DTECt2xU.js +0 -6
  850. package/dist-cms/external/monaco-editor/coffee-CDGzqUPQ.js +0 -6
  851. package/dist-cms/external/monaco-editor/cpp-CLLBncYj.js +0 -6
  852. package/dist-cms/external/monaco-editor/csharp-dUCx_-0o.js +0 -6
  853. package/dist-cms/external/monaco-editor/csp-5Rap-vPy.js +0 -6
  854. package/dist-cms/external/monaco-editor/css-D3h14YRZ.js +0 -8
  855. package/dist-cms/external/monaco-editor/cssMode-DjRnuiTr.js +0 -9
  856. package/dist-cms/external/monaco-editor/cypher-DrQuvNYM.js +0 -6
  857. package/dist-cms/external/monaco-editor/dart-CFKIUWau.js +0 -6
  858. package/dist-cms/external/monaco-editor/dockerfile-Zznr-cwX.js +0 -6
  859. package/dist-cms/external/monaco-editor/ecl-Ce3n6wWz.js +0 -6
  860. package/dist-cms/external/monaco-editor/elixir-deUWdS0T.js +0 -6
  861. package/dist-cms/external/monaco-editor/flow9-i9-g7ZhI.js +0 -6
  862. package/dist-cms/external/monaco-editor/freemarker2-Dp4p3Na1.js +0 -8
  863. package/dist-cms/external/monaco-editor/fsharp-CzKuDChf.js +0 -6
  864. package/dist-cms/external/monaco-editor/go-Cphgjts3.js +0 -6
  865. package/dist-cms/external/monaco-editor/graphql-Cg7bfA9N.js +0 -6
  866. package/dist-cms/external/monaco-editor/handlebars-DdY5RWZd.js +0 -6
  867. package/dist-cms/external/monaco-editor/hcl-0cvrggvQ.js +0 -6
  868. package/dist-cms/external/monaco-editor/html-B73s0s80.js +0 -6
  869. package/dist-cms/external/monaco-editor/htmlMode-BquRbSmq.js +0 -9
  870. package/dist-cms/external/monaco-editor/index-Bitfnghs.js +0 -1155
  871. package/dist-cms/external/monaco-editor/ini-Drc7WvVn.js +0 -6
  872. package/dist-cms/external/monaco-editor/java-B_fMsGYe.js +0 -6
  873. package/dist-cms/external/monaco-editor/javascript-0jCgtH1R.js +0 -6
  874. package/dist-cms/external/monaco-editor/jsonMode-BUd-a1bE.js +0 -15
  875. package/dist-cms/external/monaco-editor/julia-cwhjEFif.js +0 -6
  876. package/dist-cms/external/monaco-editor/kotlin-BSkB5QuD.js +0 -6
  877. package/dist-cms/external/monaco-editor/less-BsTHnhdd.js +0 -7
  878. package/dist-cms/external/monaco-editor/lexon-YWi4-JPR.js +0 -6
  879. package/dist-cms/external/monaco-editor/liquid-DmXgvR3v.js +0 -6
  880. package/dist-cms/external/monaco-editor/lua-nf6ki56Z.js +0 -6
  881. package/dist-cms/external/monaco-editor/m3-Cpb6xl2v.js +0 -6
  882. package/dist-cms/external/monaco-editor/markdown-DSZPf7rp.js +0 -6
  883. package/dist-cms/external/monaco-editor/mdx-CKY_Nyrz.js +0 -6
  884. package/dist-cms/external/monaco-editor/mips-B_c3zf-v.js +0 -6
  885. package/dist-cms/external/monaco-editor/msdax-rUNN04Wq.js +0 -6
  886. package/dist-cms/external/monaco-editor/mysql-DDwshQtU.js +0 -6
  887. package/dist-cms/external/monaco-editor/objective-c-B5zXfXm9.js +0 -6
  888. package/dist-cms/external/monaco-editor/pascal-CXOwvkN_.js +0 -6
  889. package/dist-cms/external/monaco-editor/pascaligo-Bc-ZgV77.js +0 -6
  890. package/dist-cms/external/monaco-editor/perl-CwNk8-XU.js +0 -6
  891. package/dist-cms/external/monaco-editor/pgsql-tGk8EFnU.js +0 -6
  892. package/dist-cms/external/monaco-editor/php-CpIb_Oan.js +0 -6
  893. package/dist-cms/external/monaco-editor/pla-B03wrqEc.js +0 -6
  894. package/dist-cms/external/monaco-editor/postiats-BKlk5iyT.js +0 -6
  895. package/dist-cms/external/monaco-editor/powerquery-Bhzvs7bI.js +0 -6
  896. package/dist-cms/external/monaco-editor/powershell-Dd3NCNK9.js +0 -6
  897. package/dist-cms/external/monaco-editor/protobuf-COyEY5Pt.js +0 -7
  898. package/dist-cms/external/monaco-editor/pug-BaJupSGV.js +0 -6
  899. package/dist-cms/external/monaco-editor/python-D96lqhAh.js +0 -6
  900. package/dist-cms/external/monaco-editor/qsharp-DXyYeYxl.js +0 -6
  901. package/dist-cms/external/monaco-editor/r-CdQndTaG.js +0 -6
  902. package/dist-cms/external/monaco-editor/razor-CRpUW7sE.js +0 -6
  903. package/dist-cms/external/monaco-editor/redis-CVwtpugi.js +0 -6
  904. package/dist-cms/external/monaco-editor/redshift-25W9uPmb.js +0 -6
  905. package/dist-cms/external/monaco-editor/restructuredtext-DfzH4Xui.js +0 -6
  906. package/dist-cms/external/monaco-editor/ruby-Cp1zYvxS.js +0 -6
  907. package/dist-cms/external/monaco-editor/rust-D5C2fndG.js +0 -6
  908. package/dist-cms/external/monaco-editor/sb-CDntyWJ8.js +0 -6
  909. package/dist-cms/external/monaco-editor/scala-BoFRg7Ot.js +0 -6
  910. package/dist-cms/external/monaco-editor/scheme-Bio4gycK.js +0 -6
  911. package/dist-cms/external/monaco-editor/scss-4Ik7cdeQ.js +0 -8
  912. package/dist-cms/external/monaco-editor/shell-CX-rkNHf.js +0 -6
  913. package/dist-cms/external/monaco-editor/solidity-Tw7wswEv.js +0 -6
  914. package/dist-cms/external/monaco-editor/sophia-C5WLch3f.js +0 -6
  915. package/dist-cms/external/monaco-editor/sparql-DHaeiCBh.js +0 -6
  916. package/dist-cms/external/monaco-editor/sql-CCSDG5nI.js +0 -6
  917. package/dist-cms/external/monaco-editor/st-S-st3gyc.js +0 -6
  918. package/dist-cms/external/monaco-editor/swift-DwJ7jVG9.js +0 -8
  919. package/dist-cms/external/monaco-editor/systemverilog-B9Xyijhd.js +0 -6
  920. package/dist-cms/external/monaco-editor/tcl-DnHyzjbg.js +0 -6
  921. package/dist-cms/external/monaco-editor/tsMode-DlQAxy2q.js +0 -16
  922. package/dist-cms/external/monaco-editor/twig-CPajHgWi.js +0 -6
  923. package/dist-cms/external/monaco-editor/typescript-DdXNNvCJ.js +0 -6
  924. package/dist-cms/external/monaco-editor/typespec-AYpOdVew.js +0 -6
  925. package/dist-cms/external/monaco-editor/vb-DgyLZaXg.js +0 -6
  926. package/dist-cms/external/monaco-editor/wgsl-BKeqJymL.js +0 -303
  927. package/dist-cms/external/monaco-editor/xml-4KavmXJO.js +0 -6
  928. package/dist-cms/external/monaco-editor/yaml-mC045hap.js +0 -6
  929. package/dist-cms/monaco-editor/vs/base/browser/browser.js +0 -54
  930. package/dist-cms/monaco-editor/vs/base/browser/canIUse.js +0 -32
  931. package/dist-cms/monaco-editor/vs/base/browser/contextmenu.js +0 -5
  932. package/dist-cms/monaco-editor/vs/base/browser/defaultWorkerFactory.js +0 -195
  933. package/dist-cms/monaco-editor/vs/base/browser/dnd.js +0 -26
  934. package/dist-cms/monaco-editor/vs/base/browser/dom.js +0 -1525
  935. package/dist-cms/monaco-editor/vs/base/browser/domObservable.js +0 -15
  936. package/dist-cms/monaco-editor/vs/base/browser/dompurify/dompurify.js +0 -1569
  937. package/dist-cms/monaco-editor/vs/base/browser/event.js +0 -20
  938. package/dist-cms/monaco-editor/vs/base/browser/fastDomNode.js +0 -250
  939. package/dist-cms/monaco-editor/vs/base/browser/fonts.js +0 -14
  940. package/dist-cms/monaco-editor/vs/base/browser/formattedTextRenderer.js +0 -167
  941. package/dist-cms/monaco-editor/vs/base/browser/globalPointerMoveMonitor.js +0 -80
  942. package/dist-cms/monaco-editor/vs/base/browser/history.js +0 -5
  943. package/dist-cms/monaco-editor/vs/base/browser/iframe.js +0 -85
  944. package/dist-cms/monaco-editor/vs/base/browser/keyboardEvent.js +0 -122
  945. package/dist-cms/monaco-editor/vs/base/browser/markdownRenderer.js +0 -814
  946. package/dist-cms/monaco-editor/vs/base/browser/mouseEvent.js +0 -146
  947. package/dist-cms/monaco-editor/vs/base/browser/performance.js +0 -220
  948. package/dist-cms/monaco-editor/vs/base/browser/pixelRatio.js +0 -85
  949. package/dist-cms/monaco-editor/vs/base/browser/touch.js +0 -268
  950. package/dist-cms/monaco-editor/vs/base/browser/trustedTypes.js +0 -24
  951. package/dist-cms/monaco-editor/vs/base/browser/ui/actionbar/actionViewItems.js +0 -373
  952. package/dist-cms/monaco-editor/vs/base/browser/ui/actionbar/actionbar.css +0 -117
  953. package/dist-cms/monaco-editor/vs/base/browser/ui/actionbar/actionbar.js +0 -417
  954. package/dist-cms/monaco-editor/vs/base/browser/ui/aria/aria.css +0 -9
  955. package/dist-cms/monaco-editor/vs/base/browser/ui/aria/aria.js +0 -81
  956. package/dist-cms/monaco-editor/vs/base/browser/ui/breadcrumbs/breadcrumbsWidget.css +0 -36
  957. package/dist-cms/monaco-editor/vs/base/browser/ui/breadcrumbs/breadcrumbsWidget.js +0 -1
  958. package/dist-cms/monaco-editor/vs/base/browser/ui/button/button.css +0 -174
  959. package/dist-cms/monaco-editor/vs/base/browser/ui/button/button.js +0 -215
  960. package/dist-cms/monaco-editor/vs/base/browser/ui/codicons/codicon/codicon-modifiers.css +0 -33
  961. package/dist-cms/monaco-editor/vs/base/browser/ui/codicons/codicon/codicon.css +0 -25
  962. package/dist-cms/monaco-editor/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
  963. package/dist-cms/monaco-editor/vs/base/browser/ui/codicons/codiconStyles.js +0 -6
  964. package/dist-cms/monaco-editor/vs/base/browser/ui/contextview/contextview.css +0 -16
  965. package/dist-cms/monaco-editor/vs/base/browser/ui/contextview/contextview.js +0 -292
  966. package/dist-cms/monaco-editor/vs/base/browser/ui/countBadge/countBadge.css +0 -24
  967. package/dist-cms/monaco-editor/vs/base/browser/ui/countBadge/countBadge.js +0 -35
  968. package/dist-cms/monaco-editor/vs/base/browser/ui/dialog/dialog.css +0 -155
  969. package/dist-cms/monaco-editor/vs/base/browser/ui/dialog/dialog.js +0 -1
  970. package/dist-cms/monaco-editor/vs/base/browser/ui/dropdown/dropdown.css +0 -46
  971. package/dist-cms/monaco-editor/vs/base/browser/ui/dropdown/dropdown.js +0 -139
  972. package/dist-cms/monaco-editor/vs/base/browser/ui/dropdown/dropdownActionViewItem.js +0 -107
  973. package/dist-cms/monaco-editor/vs/base/browser/ui/findinput/findInput.css +0 -70
  974. package/dist-cms/monaco-editor/vs/base/browser/ui/findinput/findInput.js +0 -293
  975. package/dist-cms/monaco-editor/vs/base/browser/ui/findinput/findInputToggles.js +0 -50
  976. package/dist-cms/monaco-editor/vs/base/browser/ui/findinput/replaceInput.js +0 -173
  977. package/dist-cms/monaco-editor/vs/base/browser/ui/highlightedlabel/highlightedLabel.js +0 -133
  978. package/dist-cms/monaco-editor/vs/base/browser/ui/hover/hover.js +0 -6
  979. package/dist-cms/monaco-editor/vs/base/browser/ui/hover/hoverDelegate.js +0 -5
  980. package/dist-cms/monaco-editor/vs/base/browser/ui/hover/hoverDelegate2.js +0 -27
  981. package/dist-cms/monaco-editor/vs/base/browser/ui/hover/hoverDelegateFactory.js +0 -31
  982. package/dist-cms/monaco-editor/vs/base/browser/ui/hover/hoverWidget.css +0 -192
  983. package/dist-cms/monaco-editor/vs/base/browser/ui/hover/hoverWidget.js +0 -87
  984. package/dist-cms/monaco-editor/vs/base/browser/ui/iconLabel/iconLabel.js +0 -281
  985. package/dist-cms/monaco-editor/vs/base/browser/ui/iconLabel/iconLabels.js +0 -30
  986. package/dist-cms/monaco-editor/vs/base/browser/ui/iconLabel/iconlabel.css +0 -120
  987. package/dist-cms/monaco-editor/vs/base/browser/ui/inputbox/inputBox.css +0 -107
  988. package/dist-cms/monaco-editor/vs/base/browser/ui/inputbox/inputBox.js +0 -517
  989. package/dist-cms/monaco-editor/vs/base/browser/ui/keybindingLabel/keybindingLabel.css +0 -37
  990. package/dist-cms/monaco-editor/vs/base/browser/ui/keybindingLabel/keybindingLabel.js +0 -122
  991. package/dist-cms/monaco-editor/vs/base/browser/ui/list/list.css +0 -91
  992. package/dist-cms/monaco-editor/vs/base/browser/ui/list/list.js +0 -9
  993. package/dist-cms/monaco-editor/vs/base/browser/ui/list/listPaging.js +0 -121
  994. package/dist-cms/monaco-editor/vs/base/browser/ui/list/listView.js +0 -1073
  995. package/dist-cms/monaco-editor/vs/base/browser/ui/list/listWidget.js +0 -1528
  996. package/dist-cms/monaco-editor/vs/base/browser/ui/list/rangeMap.js +0 -158
  997. package/dist-cms/monaco-editor/vs/base/browser/ui/list/rowCache.js +0 -107
  998. package/dist-cms/monaco-editor/vs/base/browser/ui/list/splice.js +0 -12
  999. package/dist-cms/monaco-editor/vs/base/browser/ui/menu/menu.js +0 -1139
  1000. package/dist-cms/monaco-editor/vs/base/browser/ui/mouseCursor/mouseCursor.css +0 -8
  1001. package/dist-cms/monaco-editor/vs/base/browser/ui/mouseCursor/mouseCursor.js +0 -6
  1002. package/dist-cms/monaco-editor/vs/base/browser/ui/progressbar/progressbar.css +0 -61
  1003. package/dist-cms/monaco-editor/vs/base/browser/ui/progressbar/progressbar.js +0 -102
  1004. package/dist-cms/monaco-editor/vs/base/browser/ui/radio/radio.css +0 -69
  1005. package/dist-cms/monaco-editor/vs/base/browser/ui/radio/radio.js +0 -1
  1006. package/dist-cms/monaco-editor/vs/base/browser/ui/resizable/resizable.js +0 -147
  1007. package/dist-cms/monaco-editor/vs/base/browser/ui/sash/sash.css +0 -149
  1008. package/dist-cms/monaco-editor/vs/base/browser/ui/sash/sash.js +0 -448
  1009. package/dist-cms/monaco-editor/vs/base/browser/ui/scrollbar/abstractScrollbar.js +0 -207
  1010. package/dist-cms/monaco-editor/vs/base/browser/ui/scrollbar/horizontalScrollbar.js +0 -88
  1011. package/dist-cms/monaco-editor/vs/base/browser/ui/scrollbar/media/scrollbars.css +0 -72
  1012. package/dist-cms/monaco-editor/vs/base/browser/ui/scrollbar/scrollableElement.js +0 -554
  1013. package/dist-cms/monaco-editor/vs/base/browser/ui/scrollbar/scrollableElementOptions.js +0 -5
  1014. package/dist-cms/monaco-editor/vs/base/browser/ui/scrollbar/scrollbarArrow.js +0 -75
  1015. package/dist-cms/monaco-editor/vs/base/browser/ui/scrollbar/scrollbarState.js +0 -161
  1016. package/dist-cms/monaco-editor/vs/base/browser/ui/scrollbar/scrollbarVisibilityController.js +0 -90
  1017. package/dist-cms/monaco-editor/vs/base/browser/ui/scrollbar/verticalScrollbar.js +0 -91
  1018. package/dist-cms/monaco-editor/vs/base/browser/ui/selectBox/selectBox.css +0 -34
  1019. package/dist-cms/monaco-editor/vs/base/browser/ui/selectBox/selectBox.js +0 -44
  1020. package/dist-cms/monaco-editor/vs/base/browser/ui/selectBox/selectBoxCustom.css +0 -126
  1021. package/dist-cms/monaco-editor/vs/base/browser/ui/selectBox/selectBoxCustom.js +0 -849
  1022. package/dist-cms/monaco-editor/vs/base/browser/ui/selectBox/selectBoxNative.js +0 -139
  1023. package/dist-cms/monaco-editor/vs/base/browser/ui/splitview/splitview.css +0 -70
  1024. package/dist-cms/monaco-editor/vs/base/browser/ui/splitview/splitview.js +0 -826
  1025. package/dist-cms/monaco-editor/vs/base/browser/ui/table/table.css +0 -57
  1026. package/dist-cms/monaco-editor/vs/base/browser/ui/table/table.js +0 -5
  1027. package/dist-cms/monaco-editor/vs/base/browser/ui/table/tableWidget.js +0 -177
  1028. package/dist-cms/monaco-editor/vs/base/browser/ui/toggle/toggle.css +0 -74
  1029. package/dist-cms/monaco-editor/vs/base/browser/ui/toggle/toggle.js +0 -96
  1030. package/dist-cms/monaco-editor/vs/base/browser/ui/toolbar/toolbar.css +0 -13
  1031. package/dist-cms/monaco-editor/vs/base/browser/ui/toolbar/toolbar.js +0 -139
  1032. package/dist-cms/monaco-editor/vs/base/browser/ui/tree/abstractTree.js +0 -2094
  1033. package/dist-cms/monaco-editor/vs/base/browser/ui/tree/asyncDataTree.js +0 -845
  1034. package/dist-cms/monaco-editor/vs/base/browser/ui/tree/compressedObjectTreeModel.js +0 -371
  1035. package/dist-cms/monaco-editor/vs/base/browser/ui/tree/dataTree.js +0 -17
  1036. package/dist-cms/monaco-editor/vs/base/browser/ui/tree/indexTreeModel.js +0 -534
  1037. package/dist-cms/monaco-editor/vs/base/browser/ui/tree/media/tree.css +0 -174
  1038. package/dist-cms/monaco-editor/vs/base/browser/ui/tree/objectTree.js +0 -201
  1039. package/dist-cms/monaco-editor/vs/base/browser/ui/tree/objectTreeModel.js +0 -196
  1040. package/dist-cms/monaco-editor/vs/base/browser/ui/tree/tree.js +0 -43
  1041. package/dist-cms/monaco-editor/vs/base/browser/ui/widget.js +0 -41
  1042. package/dist-cms/monaco-editor/vs/base/browser/window.js +0 -14
  1043. package/dist-cms/monaco-editor/vs/base/common/actions.js +0 -174
  1044. package/dist-cms/monaco-editor/vs/base/common/arrays.js +0 -501
  1045. package/dist-cms/monaco-editor/vs/base/common/arraysFind.js +0 -175
  1046. package/dist-cms/monaco-editor/vs/base/common/assert.js +0 -59
  1047. package/dist-cms/monaco-editor/vs/base/common/async.js +0 -843
  1048. package/dist-cms/monaco-editor/vs/base/common/buffer.js +0 -68
  1049. package/dist-cms/monaco-editor/vs/base/common/cache.js +0 -59
  1050. package/dist-cms/monaco-editor/vs/base/common/cancellation.js +0 -113
  1051. package/dist-cms/monaco-editor/vs/base/common/charCode.js +0 -5
  1052. package/dist-cms/monaco-editor/vs/base/common/codicons.js +0 -47
  1053. package/dist-cms/monaco-editor/vs/base/common/codiconsLibrary.js +0 -580
  1054. package/dist-cms/monaco-editor/vs/base/common/codiconsUtil.js +0 -19
  1055. package/dist-cms/monaco-editor/vs/base/common/collections.js +0 -35
  1056. package/dist-cms/monaco-editor/vs/base/common/color.js +0 -462
  1057. package/dist-cms/monaco-editor/vs/base/common/comparers.js +0 -83
  1058. package/dist-cms/monaco-editor/vs/base/common/dataTransfer.js +0 -128
  1059. package/dist-cms/monaco-editor/vs/base/common/decorators.js +0 -30
  1060. package/dist-cms/monaco-editor/vs/base/common/diff/diff.js +0 -899
  1061. package/dist-cms/monaco-editor/vs/base/common/diff/diffChange.js +0 -32
  1062. package/dist-cms/monaco-editor/vs/base/common/equals.js +0 -82
  1063. package/dist-cms/monaco-editor/vs/base/common/errorMessage.js +0 -68
  1064. package/dist-cms/monaco-editor/vs/base/common/errors.js +0 -150
  1065. package/dist-cms/monaco-editor/vs/base/common/event.js +0 -1280
  1066. package/dist-cms/monaco-editor/vs/base/common/extpath.js +0 -144
  1067. package/dist-cms/monaco-editor/vs/base/common/filters.js +0 -769
  1068. package/dist-cms/monaco-editor/vs/base/common/functional.js +0 -30
  1069. package/dist-cms/monaco-editor/vs/base/common/fuzzyScorer.js +0 -138
  1070. package/dist-cms/monaco-editor/vs/base/common/glob.js +0 -568
  1071. package/dist-cms/monaco-editor/vs/base/common/hash.js +0 -258
  1072. package/dist-cms/monaco-editor/vs/base/common/hierarchicalKind.js +0 -24
  1073. package/dist-cms/monaco-editor/vs/base/common/history.js +0 -73
  1074. package/dist-cms/monaco-editor/vs/base/common/hotReload.js +0 -81
  1075. package/dist-cms/monaco-editor/vs/base/common/hotReloadHelpers.js +0 -24
  1076. package/dist-cms/monaco-editor/vs/base/common/htmlContent.js +0 -149
  1077. package/dist-cms/monaco-editor/vs/base/common/iconLabels.js +0 -85
  1078. package/dist-cms/monaco-editor/vs/base/common/idGenerator.js +0 -14
  1079. package/dist-cms/monaco-editor/vs/base/common/ime.js +0 -30
  1080. package/dist-cms/monaco-editor/vs/base/common/iterator.js +0 -148
  1081. package/dist-cms/monaco-editor/vs/base/common/jsonSchema.js +0 -5
  1082. package/dist-cms/monaco-editor/vs/base/common/keyCodes.js +0 -372
  1083. package/dist-cms/monaco-editor/vs/base/common/keybindingLabels.js +0 -136
  1084. package/dist-cms/monaco-editor/vs/base/common/keybindings.js +0 -123
  1085. package/dist-cms/monaco-editor/vs/base/common/labels.js +0 -9
  1086. package/dist-cms/monaco-editor/vs/base/common/lazy.js +0 -37
  1087. package/dist-cms/monaco-editor/vs/base/common/lifecycle.js +0 -355
  1088. package/dist-cms/monaco-editor/vs/base/common/linkedList.js +0 -124
  1089. package/dist-cms/monaco-editor/vs/base/common/linkedText.js +0 -45
  1090. package/dist-cms/monaco-editor/vs/base/common/map.js +0 -573
  1091. package/dist-cms/monaco-editor/vs/base/common/marked/marked.js +0 -2538
  1092. package/dist-cms/monaco-editor/vs/base/common/marshalling.js +0 -55
  1093. package/dist-cms/monaco-editor/vs/base/common/marshallingIds.js +0 -5
  1094. package/dist-cms/monaco-editor/vs/base/common/mime.js +0 -8
  1095. package/dist-cms/monaco-editor/vs/base/common/naturalLanguage/korean.js +0 -319
  1096. package/dist-cms/monaco-editor/vs/base/common/navigator.js +0 -34
  1097. package/dist-cms/monaco-editor/vs/base/common/network.js +0 -277
  1098. package/dist-cms/monaco-editor/vs/base/common/numbers.js +0 -47
  1099. package/dist-cms/monaco-editor/vs/base/common/objects.js +0 -179
  1100. package/dist-cms/monaco-editor/vs/base/common/observable.js +0 -16
  1101. package/dist-cms/monaco-editor/vs/base/common/observableInternal/api.js +0 -14
  1102. package/dist-cms/monaco-editor/vs/base/common/observableInternal/autorun.js +0 -192
  1103. package/dist-cms/monaco-editor/vs/base/common/observableInternal/base.js +0 -268
  1104. package/dist-cms/monaco-editor/vs/base/common/observableInternal/debugName.js +0 -104
  1105. package/dist-cms/monaco-editor/vs/base/common/observableInternal/derived.js +0 -286
  1106. package/dist-cms/monaco-editor/vs/base/common/observableInternal/lazyObservableValue.js +0 -118
  1107. package/dist-cms/monaco-editor/vs/base/common/observableInternal/logging.js +0 -258
  1108. package/dist-cms/monaco-editor/vs/base/common/observableInternal/promise.js +0 -105
  1109. package/dist-cms/monaco-editor/vs/base/common/observableInternal/utils.js +0 -366
  1110. package/dist-cms/monaco-editor/vs/base/common/path.js +0 -1399
  1111. package/dist-cms/monaco-editor/vs/base/common/platform.js +0 -153
  1112. package/dist-cms/monaco-editor/vs/base/common/process.js +0 -58
  1113. package/dist-cms/monaco-editor/vs/base/common/range.js +0 -44
  1114. package/dist-cms/monaco-editor/vs/base/common/resources.js +0 -256
  1115. package/dist-cms/monaco-editor/vs/base/common/scrollable.js +0 -320
  1116. package/dist-cms/monaco-editor/vs/base/common/search.js +0 -49
  1117. package/dist-cms/monaco-editor/vs/base/common/severity.js +0 -49
  1118. package/dist-cms/monaco-editor/vs/base/common/stopwatch.js +0 -28
  1119. package/dist-cms/monaco-editor/vs/base/common/strings.js +0 -840
  1120. package/dist-cms/monaco-editor/vs/base/common/symbols.js +0 -8
  1121. package/dist-cms/monaco-editor/vs/base/common/ternarySearchTree.js +0 -618
  1122. package/dist-cms/monaco-editor/vs/base/common/tfIdf.js +0 -177
  1123. package/dist-cms/monaco-editor/vs/base/common/themables.js +0 -83
  1124. package/dist-cms/monaco-editor/vs/base/common/types.js +0 -119
  1125. package/dist-cms/monaco-editor/vs/base/common/uint.js +0 -22
  1126. package/dist-cms/monaco-editor/vs/base/common/uri.js +0 -602
  1127. package/dist-cms/monaco-editor/vs/base/common/uuid.js +0 -56
  1128. package/dist-cms/monaco-editor/vs/base/common/worker/simpleWorker.js +0 -461
  1129. package/dist-cms/monaco-editor/vs/base/parts/storage/common/storage.js +0 -182
  1130. package/dist-cms/monaco-editor/vs/editor/common/commands/replaceCommand.js +0 -82
  1131. package/dist-cms/monaco-editor/vs/editor/common/commands/shiftCommand.js +0 -239
  1132. package/dist-cms/monaco-editor/vs/editor/common/commands/surroundSelectionCommand.js +0 -41
  1133. package/dist-cms/monaco-editor/vs/editor/common/commands/trimTrailingWhitespaceCommand.js +0 -95
  1134. package/dist-cms/monaco-editor/vs/editor/common/config/diffEditor.js +0 -37
  1135. package/dist-cms/monaco-editor/vs/editor/common/config/editorConfiguration.js +0 -5
  1136. package/dist-cms/monaco-editor/vs/editor/common/config/editorConfigurationSchema.js +0 -300
  1137. package/dist-cms/monaco-editor/vs/editor/common/config/editorOptions.js +0 -3146
  1138. package/dist-cms/monaco-editor/vs/editor/common/config/editorZoom.js +0 -23
  1139. package/dist-cms/monaco-editor/vs/editor/common/config/fontInfo.js +0 -153
  1140. package/dist-cms/monaco-editor/vs/editor/common/core/characterClassifier.js +0 -56
  1141. package/dist-cms/monaco-editor/vs/editor/common/core/cursorColumns.js +0 -109
  1142. package/dist-cms/monaco-editor/vs/editor/common/core/dimension.js +0 -5
  1143. package/dist-cms/monaco-editor/vs/editor/common/core/editOperation.js +0 -33
  1144. package/dist-cms/monaco-editor/vs/editor/common/core/editorColorRegistry.js +0 -89
  1145. package/dist-cms/monaco-editor/vs/editor/common/core/eolCounter.js +0 -42
  1146. package/dist-cms/monaco-editor/vs/editor/common/core/indentation.js +0 -36
  1147. package/dist-cms/monaco-editor/vs/editor/common/core/lineRange.js +0 -304
  1148. package/dist-cms/monaco-editor/vs/editor/common/core/offsetRange.js +0 -193
  1149. package/dist-cms/monaco-editor/vs/editor/common/core/position.js +0 -140
  1150. package/dist-cms/monaco-editor/vs/editor/common/core/positionToOffset.js +0 -24
  1151. package/dist-cms/monaco-editor/vs/editor/common/core/range.js +0 -400
  1152. package/dist-cms/monaco-editor/vs/editor/common/core/rgba.js +0 -33
  1153. package/dist-cms/monaco-editor/vs/editor/common/core/selection.js +0 -142
  1154. package/dist-cms/monaco-editor/vs/editor/common/core/stringBuilder.js +0 -119
  1155. package/dist-cms/monaco-editor/vs/editor/common/core/textChange.js +0 -245
  1156. package/dist-cms/monaco-editor/vs/editor/common/core/textEdit.js +0 -98
  1157. package/dist-cms/monaco-editor/vs/editor/common/core/textLength.js +0 -66
  1158. package/dist-cms/monaco-editor/vs/editor/common/core/textModelDefaults.js +0 -16
  1159. package/dist-cms/monaco-editor/vs/editor/common/core/wordCharacterClassifier.js +0 -83
  1160. package/dist-cms/monaco-editor/vs/editor/common/core/wordHelper.js +0 -124
  1161. package/dist-cms/monaco-editor/vs/editor/common/cursor/cursor.js +0 -883
  1162. package/dist-cms/monaco-editor/vs/editor/common/cursor/cursorAtomicMoveOperations.js +0 -142
  1163. package/dist-cms/monaco-editor/vs/editor/common/cursor/cursorCollection.js +0 -191
  1164. package/dist-cms/monaco-editor/vs/editor/common/cursor/cursorColumnSelection.js +0 -90
  1165. package/dist-cms/monaco-editor/vs/editor/common/cursor/cursorContext.js +0 -13
  1166. package/dist-cms/monaco-editor/vs/editor/common/cursor/cursorDeleteOperations.js +0 -215
  1167. package/dist-cms/monaco-editor/vs/editor/common/cursor/cursorMoveCommands.js +0 -651
  1168. package/dist-cms/monaco-editor/vs/editor/common/cursor/cursorMoveOperations.js +0 -287
  1169. package/dist-cms/monaco-editor/vs/editor/common/cursor/cursorTypeEditOperations.js +0 -952
  1170. package/dist-cms/monaco-editor/vs/editor/common/cursor/cursorTypeOperations.js +0 -169
  1171. package/dist-cms/monaco-editor/vs/editor/common/cursor/cursorWordOperations.js +0 -707
  1172. package/dist-cms/monaco-editor/vs/editor/common/cursor/oneCursor.js +0 -114
  1173. package/dist-cms/monaco-editor/vs/editor/common/cursorCommon.js +0 -239
  1174. package/dist-cms/monaco-editor/vs/editor/common/cursorEvents.js +0 -5
  1175. package/dist-cms/monaco-editor/vs/editor/common/diff/defaultLinesDiffComputer/algorithms/diffAlgorithm.js +0 -138
  1176. package/dist-cms/monaco-editor/vs/editor/common/diff/defaultLinesDiffComputer/algorithms/dynamicProgrammingDiffing.js +0 -98
  1177. package/dist-cms/monaco-editor/vs/editor/common/diff/defaultLinesDiffComputer/algorithms/myersDiffAlgorithm.js +0 -159
  1178. package/dist-cms/monaco-editor/vs/editor/common/diff/defaultLinesDiffComputer/computeMovedLines.js +0 -246
  1179. package/dist-cms/monaco-editor/vs/editor/common/diff/defaultLinesDiffComputer/defaultLinesDiffComputer.js +0 -247
  1180. package/dist-cms/monaco-editor/vs/editor/common/diff/defaultLinesDiffComputer/heuristicSequenceOptimizations.js +0 -371
  1181. package/dist-cms/monaco-editor/vs/editor/common/diff/defaultLinesDiffComputer/lineSequence.js +0 -34
  1182. package/dist-cms/monaco-editor/vs/editor/common/diff/defaultLinesDiffComputer/linesSliceCharSequence.js +0 -179
  1183. package/dist-cms/monaco-editor/vs/editor/common/diff/defaultLinesDiffComputer/utils.js +0 -60
  1184. package/dist-cms/monaco-editor/vs/editor/common/diff/documentDiffProvider.js +0 -5
  1185. package/dist-cms/monaco-editor/vs/editor/common/diff/legacyLinesDiffComputer.js +0 -465
  1186. package/dist-cms/monaco-editor/vs/editor/common/diff/linesDiffComputer.js +0 -27
  1187. package/dist-cms/monaco-editor/vs/editor/common/diff/linesDiffComputers.js +0 -10
  1188. package/dist-cms/monaco-editor/vs/editor/common/diff/rangeMapping.js +0 -170
  1189. package/dist-cms/monaco-editor/vs/editor/common/editorAction.js +0 -24
  1190. package/dist-cms/monaco-editor/vs/editor/common/editorCommon.js +0 -11
  1191. package/dist-cms/monaco-editor/vs/editor/common/editorContextKeys.js +0 -81
  1192. package/dist-cms/monaco-editor/vs/editor/common/editorFeatures.js +0 -15
  1193. package/dist-cms/monaco-editor/vs/editor/common/editorTheme.js +0 -21
  1194. package/dist-cms/monaco-editor/vs/editor/common/encodedTokenAttributes.js +0 -77
  1195. package/dist-cms/monaco-editor/vs/editor/common/languageFeatureRegistry.js +0 -177
  1196. package/dist-cms/monaco-editor/vs/editor/common/languageSelector.js +0 -109
  1197. package/dist-cms/monaco-editor/vs/editor/common/languages/autoIndent.js +0 -387
  1198. package/dist-cms/monaco-editor/vs/editor/common/languages/defaultDocumentColorsComputer.js +0 -135
  1199. package/dist-cms/monaco-editor/vs/editor/common/languages/enterAction.js +0 -50
  1200. package/dist-cms/monaco-editor/vs/editor/common/languages/language.js +0 -6
  1201. package/dist-cms/monaco-editor/vs/editor/common/languages/languageConfiguration.js +0 -136
  1202. package/dist-cms/monaco-editor/vs/editor/common/languages/languageConfigurationRegistry.js +0 -353
  1203. package/dist-cms/monaco-editor/vs/editor/common/languages/linkComputer.js +0 -270
  1204. package/dist-cms/monaco-editor/vs/editor/common/languages/modesRegistry.js +0 -56
  1205. package/dist-cms/monaco-editor/vs/editor/common/languages/nullTokenize.js +0 -26
  1206. package/dist-cms/monaco-editor/vs/editor/common/languages/supports/characterPair.js +0 -37
  1207. package/dist-cms/monaco-editor/vs/editor/common/languages/supports/electricCharacter.js +0 -52
  1208. package/dist-cms/monaco-editor/vs/editor/common/languages/supports/indentRules.js +0 -61
  1209. package/dist-cms/monaco-editor/vs/editor/common/languages/supports/indentationLineProcessor.js +0 -190
  1210. package/dist-cms/monaco-editor/vs/editor/common/languages/supports/inplaceReplaceSupport.js +0 -85
  1211. package/dist-cms/monaco-editor/vs/editor/common/languages/supports/languageBracketsConfiguration.js +0 -130
  1212. package/dist-cms/monaco-editor/vs/editor/common/languages/supports/onEnter.js +0 -106
  1213. package/dist-cms/monaco-editor/vs/editor/common/languages/supports/richEditBrackets.js +0 -353
  1214. package/dist-cms/monaco-editor/vs/editor/common/languages/supports/tokenization.js +0 -284
  1215. package/dist-cms/monaco-editor/vs/editor/common/languages/supports.js +0 -56
  1216. package/dist-cms/monaco-editor/vs/editor/common/languages/textToHtmlTokenizer.js +0 -125
  1217. package/dist-cms/monaco-editor/vs/editor/common/languages.js +0 -404
  1218. package/dist-cms/monaco-editor/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsImpl.js +0 -714
  1219. package/dist-cms/monaco-editor/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/ast.js +0 -482
  1220. package/dist-cms/monaco-editor/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/beforeEditPositionMapper.js +0 -107
  1221. package/dist-cms/monaco-editor/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/bracketPairsTree.js +0 -342
  1222. package/dist-cms/monaco-editor/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/brackets.js +0 -105
  1223. package/dist-cms/monaco-editor/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/combineTextEditInfos.js +0 -121
  1224. package/dist-cms/monaco-editor/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/concat23Trees.js +0 -189
  1225. package/dist-cms/monaco-editor/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/length.js +0 -112
  1226. package/dist-cms/monaco-editor/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/nodeReader.js +0 -124
  1227. package/dist-cms/monaco-editor/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/parser.js +0 -118
  1228. package/dist-cms/monaco-editor/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/smallImmutableSet.js +0 -104
  1229. package/dist-cms/monaco-editor/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/tokenizer.js +0 -298
  1230. package/dist-cms/monaco-editor/vs/editor/common/model/bracketPairsTextModelPart/colorizedBracketPairsDecorationProvider.js +0 -94
  1231. package/dist-cms/monaco-editor/vs/editor/common/model/bracketPairsTextModelPart/fixBrackets.js +0 -66
  1232. package/dist-cms/monaco-editor/vs/editor/common/model/editStack.js +0 -359
  1233. package/dist-cms/monaco-editor/vs/editor/common/model/fixedArray.js +0 -67
  1234. package/dist-cms/monaco-editor/vs/editor/common/model/guidesTextModelPart.js +0 -402
  1235. package/dist-cms/monaco-editor/vs/editor/common/model/indentationGuesser.js +0 -176
  1236. package/dist-cms/monaco-editor/vs/editor/common/model/intervalTree.js +0 -986
  1237. package/dist-cms/monaco-editor/vs/editor/common/model/mirrorTextModel.js +0 -114
  1238. package/dist-cms/monaco-editor/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeBase.js +0 -1452
  1239. package/dist-cms/monaco-editor/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeTextBuffer.js +0 -455
  1240. package/dist-cms/monaco-editor/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeTextBufferBuilder.js +0 -137
  1241. package/dist-cms/monaco-editor/vs/editor/common/model/pieceTreeTextBuffer/rbTreeBase.js +0 -360
  1242. package/dist-cms/monaco-editor/vs/editor/common/model/prefixSumComputer.js +0 -223
  1243. package/dist-cms/monaco-editor/vs/editor/common/model/textModel.js +0 -1899
  1244. package/dist-cms/monaco-editor/vs/editor/common/model/textModelPart.js +0 -20
  1245. package/dist-cms/monaco-editor/vs/editor/common/model/textModelSearch.js +0 -452
  1246. package/dist-cms/monaco-editor/vs/editor/common/model/textModelText.js +0 -20
  1247. package/dist-cms/monaco-editor/vs/editor/common/model/textModelTokens.js +0 -429
  1248. package/dist-cms/monaco-editor/vs/editor/common/model/tokenizationTextModelPart.js +0 -530
  1249. package/dist-cms/monaco-editor/vs/editor/common/model/tokens.js +0 -89
  1250. package/dist-cms/monaco-editor/vs/editor/common/model/treeSitterTokens.js +0 -79
  1251. package/dist-cms/monaco-editor/vs/editor/common/model/utils.js +0 -31
  1252. package/dist-cms/monaco-editor/vs/editor/common/model.js +0 -133
  1253. package/dist-cms/monaco-editor/vs/editor/common/modelLineProjectionData.js +0 -299
  1254. package/dist-cms/monaco-editor/vs/editor/common/services/editorBaseApi.js +0 -40
  1255. package/dist-cms/monaco-editor/vs/editor/common/services/editorSimpleWorker.js +0 -351
  1256. package/dist-cms/monaco-editor/vs/editor/common/services/editorWorker.js +0 -6
  1257. package/dist-cms/monaco-editor/vs/editor/common/services/editorWorkerHost.js +0 -13
  1258. package/dist-cms/monaco-editor/vs/editor/common/services/findSectionHeaders.js +0 -81
  1259. package/dist-cms/monaco-editor/vs/editor/common/services/getIconClasses.js +0 -103
  1260. package/dist-cms/monaco-editor/vs/editor/common/services/languageFeatureDebounce.js +0 -135
  1261. package/dist-cms/monaco-editor/vs/editor/common/services/languageFeatures.js +0 -6
  1262. package/dist-cms/monaco-editor/vs/editor/common/services/languageFeaturesService.js +0 -45
  1263. package/dist-cms/monaco-editor/vs/editor/common/services/languageService.js +0 -89
  1264. package/dist-cms/monaco-editor/vs/editor/common/services/languagesAssociations.js +0 -190
  1265. package/dist-cms/monaco-editor/vs/editor/common/services/languagesRegistry.js +0 -236
  1266. package/dist-cms/monaco-editor/vs/editor/common/services/markerDecorations.js +0 -6
  1267. package/dist-cms/monaco-editor/vs/editor/common/services/markerDecorationsService.js +0 -227
  1268. package/dist-cms/monaco-editor/vs/editor/common/services/model.js +0 -6
  1269. package/dist-cms/monaco-editor/vs/editor/common/services/modelService.js +0 -418
  1270. package/dist-cms/monaco-editor/vs/editor/common/services/resolverService.js +0 -2
  1271. package/dist-cms/monaco-editor/vs/editor/common/services/semanticTokensDto.js +0 -79
  1272. package/dist-cms/monaco-editor/vs/editor/common/services/semanticTokensProviderStyling.js +0 -276
  1273. package/dist-cms/monaco-editor/vs/editor/common/services/semanticTokensStyling.js +0 -6
  1274. package/dist-cms/monaco-editor/vs/editor/common/services/semanticTokensStylingService.js +0 -45
  1275. package/dist-cms/monaco-editor/vs/editor/common/services/textModelSync/textModelSync.impl.js +0 -304
  1276. package/dist-cms/monaco-editor/vs/editor/common/services/textModelSync/textModelSync.protocol.js +0 -5
  1277. package/dist-cms/monaco-editor/vs/editor/common/services/textResourceConfiguration.js +0 -3
  1278. package/dist-cms/monaco-editor/vs/editor/common/services/treeSitterParserService.js +0 -2
  1279. package/dist-cms/monaco-editor/vs/editor/common/services/treeViewsDnd.js +0 -22
  1280. package/dist-cms/monaco-editor/vs/editor/common/services/treeViewsDndService.js +0 -9
  1281. package/dist-cms/monaco-editor/vs/editor/common/services/unicodeTextModelHighlighter.js +0 -185
  1282. package/dist-cms/monaco-editor/vs/editor/common/standalone/standaloneEnums.js +0 -978
  1283. package/dist-cms/monaco-editor/vs/editor/common/standaloneStrings.js +0 -39
  1284. package/dist-cms/monaco-editor/vs/editor/common/textModelBracketPairs.js +0 -43
  1285. package/dist-cms/monaco-editor/vs/editor/common/textModelEvents.js +0 -176
  1286. package/dist-cms/monaco-editor/vs/editor/common/textModelGuides.js +0 -38
  1287. package/dist-cms/monaco-editor/vs/editor/common/tokenizationRegistry.js +0 -120
  1288. package/dist-cms/monaco-editor/vs/editor/common/tokenizationTextModelPart.js +0 -5
  1289. package/dist-cms/monaco-editor/vs/editor/common/tokens/contiguousMultilineTokens.js +0 -30
  1290. package/dist-cms/monaco-editor/vs/editor/common/tokens/contiguousMultilineTokensBuilder.js +0 -20
  1291. package/dist-cms/monaco-editor/vs/editor/common/tokens/contiguousTokensEditing.js +0 -125
  1292. package/dist-cms/monaco-editor/vs/editor/common/tokens/contiguousTokensStore.js +0 -204
  1293. package/dist-cms/monaco-editor/vs/editor/common/tokens/lineTokens.js +0 -288
  1294. package/dist-cms/monaco-editor/vs/editor/common/tokens/sparseMultilineTokens.js +0 -516
  1295. package/dist-cms/monaco-editor/vs/editor/common/tokens/sparseTokensStore.js +0 -194
  1296. package/dist-cms/monaco-editor/vs/editor/common/viewEventHandler.js +0 -183
  1297. package/dist-cms/monaco-editor/vs/editor/common/viewEvents.js +0 -178
  1298. package/dist-cms/monaco-editor/vs/editor/common/viewLayout/lineDecorations.js +0 -205
  1299. package/dist-cms/monaco-editor/vs/editor/common/viewLayout/linePart.js +0 -23
  1300. package/dist-cms/monaco-editor/vs/editor/common/viewLayout/linesLayout.js +0 -768
  1301. package/dist-cms/monaco-editor/vs/editor/common/viewLayout/viewLayout.js +0 -355
  1302. package/dist-cms/monaco-editor/vs/editor/common/viewLayout/viewLineRenderer.js +0 -910
  1303. package/dist-cms/monaco-editor/vs/editor/common/viewLayout/viewLinesViewportData.js +0 -27
  1304. package/dist-cms/monaco-editor/vs/editor/common/viewModel/glyphLanesModel.js +0 -58
  1305. package/dist-cms/monaco-editor/vs/editor/common/viewModel/minimapTokensColorTracker.js +0 -55
  1306. package/dist-cms/monaco-editor/vs/editor/common/viewModel/modelLineProjection.js +0 -329
  1307. package/dist-cms/monaco-editor/vs/editor/common/viewModel/monospaceLineBreaksComputer.js +0 -442
  1308. package/dist-cms/monaco-editor/vs/editor/common/viewModel/overviewZoneManager.js +0 -174
  1309. package/dist-cms/monaco-editor/vs/editor/common/viewModel/viewContext.js +0 -19
  1310. package/dist-cms/monaco-editor/vs/editor/common/viewModel/viewModelDecorations.js +0 -165
  1311. package/dist-cms/monaco-editor/vs/editor/common/viewModel/viewModelImpl.js +0 -1063
  1312. package/dist-cms/monaco-editor/vs/editor/common/viewModel/viewModelLines.js +0 -978
  1313. package/dist-cms/monaco-editor/vs/editor/common/viewModel.js +0 -119
  1314. package/dist-cms/monaco-editor/vs/editor/common/viewModelEventDispatcher.js +0 -355
  1315. package/dist-cms/monaco-editor/vs/editor/editor.worker.js +0 -26
  1316. package/dist-cms/monaco-editor/vs/language/css/css.worker.js +0 -40031
  1317. package/dist-cms/monaco-editor/vs/language/css/cssMode.js +0 -2053
  1318. package/dist-cms/monaco-editor/vs/language/css/monaco.contribution.d.ts +0 -1
  1319. package/dist-cms/monaco-editor/vs/language/css/monaco.contribution.js +0 -148
  1320. package/dist-cms/monaco-editor/vs/language/html/html.worker.js +0 -16207
  1321. package/dist-cms/monaco-editor/vs/language/html/htmlMode.js +0 -2069
  1322. package/dist-cms/monaco-editor/vs/language/html/monaco.contribution.d.ts +0 -1
  1323. package/dist-cms/monaco-editor/vs/language/html/monaco.contribution.js +0 -157
  1324. package/dist-cms/monaco-editor/vs/language/json/json.worker.js +0 -7861
  1325. package/dist-cms/monaco-editor/vs/language/json/jsonMode.js +0 -2770
  1326. package/dist-cms/monaco-editor/vs/language/json/monaco.contribution.d.ts +0 -1
  1327. package/dist-cms/monaco-editor/vs/language/json/monaco.contribution.js +0 -107
  1328. package/dist-cms/monaco-editor/vs/language/typescript/monaco.contribution.d.ts +0 -1
  1329. package/dist-cms/monaco-editor/vs/language/typescript/monaco.contribution.js +0 -286
  1330. package/dist-cms/monaco-editor/vs/language/typescript/ts.worker.js +0 -242845
  1331. package/dist-cms/monaco-editor/vs/language/typescript/tsMode.js +0 -1346
  1332. package/dist-cms/monaco-editor/vs/nls.js +0 -75
  1333. package/dist-cms/monaco-editor/vs/nls.messages.js +0 -14
  1334. package/dist-cms/packages/core/notification/stories/story-notification-default-example.element.d.ts +0 -12
  1335. package/dist-cms/packages/core/notification/stories/story-notification-default-example.element.js +0 -55
  1336. /package/dist-cms/external/openid/{authorization_request.d.ts → src/authorization_request.d.ts} +0 -0
  1337. /package/dist-cms/external/openid/{authorization_request_handler.d.ts → src/authorization_request_handler.d.ts} +0 -0
  1338. /package/dist-cms/external/openid/{authorization_response.d.ts → src/authorization_response.d.ts} +0 -0
  1339. /package/dist-cms/external/openid/{authorization_service_configuration.d.ts → src/authorization_service_configuration.d.ts} +0 -0
  1340. /package/dist-cms/external/openid/{base64-js → src/base64-js}/index.d.ts +0 -0
  1341. /package/dist-cms/external/openid/{crypto_utils.d.ts → src/crypto_utils.d.ts} +0 -0
  1342. /package/dist-cms/external/openid/{errors.d.ts → src/errors.d.ts} +0 -0
  1343. /package/dist-cms/external/openid/{flags.d.ts → src/flags.d.ts} +0 -0
  1344. /package/dist-cms/external/openid/{logger.d.ts → src/logger.d.ts} +0 -0
  1345. /package/dist-cms/external/openid/{query_string_utils.d.ts → src/query_string_utils.d.ts} +0 -0
  1346. /package/dist-cms/external/openid/{redirect_based_handler.d.ts → src/redirect_based_handler.d.ts} +0 -0
  1347. /package/dist-cms/external/openid/{revoke_token_request.d.ts → src/revoke_token_request.d.ts} +0 -0
  1348. /package/dist-cms/external/openid/{storage.d.ts → src/storage.d.ts} +0 -0
  1349. /package/dist-cms/external/openid/{token_request.d.ts → src/token_request.d.ts} +0 -0
  1350. /package/dist-cms/external/openid/{token_request_handler.d.ts → src/token_request_handler.d.ts} +0 -0
  1351. /package/dist-cms/external/openid/{token_response.d.ts → src/token_response.d.ts} +0 -0
  1352. /package/dist-cms/external/openid/{types.d.ts → src/types.d.ts} +0 -0
  1353. /package/dist-cms/external/openid/{xhr.d.ts → src/xhr.d.ts} +0 -0
  1354. /package/dist-cms/{monaco-editor/vs/base/common/paging.js → packages/core/auth/workers/token-check.worker.d.ts} +0 -0
  1355. /package/dist-cms/{monaco-editor/vs/base/common/sequence.js → packages/core/menu/components/menu-item/action/types.js} +0 -0
  1356. /package/dist-cms/{monaco-editor/vs/editor/common/model/decorationProvider.js → packages/core/workspace/conditions/workspace-alias/types.js} +0 -0
  1357. /package/dist-cms/packages/{ufm/ufm-component.extension.js → core/workspace/conditions/workspace-entity-is-new/types.js} +0 -0
  1358. /package/dist-cms/packages/{ufm/ufm-filter.extension.js → core/workspace/conditions/workspace-entity-type/types.js} +0 -0
  1359. /package/dist-cms/packages/ufm/{ufm-filter.extension.d.ts → extensions/ufm-filter.extension.d.ts} +0 -0
@@ -1,2094 +0,0 @@
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
- import { $, append, clearNode, createStyleSheet, getWindow, h, hasParentWithClass, asCssValueWithDefault, isKeyboardEvent, addDisposableListener } from '../../dom.js';
6
- import { DomEmitter } from '../../event.js';
7
- import { StandardKeyboardEvent } from '../../keyboardEvent.js';
8
- import { ActionBar } from '../actionbar/actionbar.js';
9
- import { FindInput } from '../findinput/findInput.js';
10
- import { unthemedInboxStyles } from '../inputbox/inputBox.js';
11
- import { ElementsDragAndDropData } from '../list/listView.js';
12
- import { isActionItem, isButton, isInputElement, isMonacoCustomToggle, isMonacoEditor, isStickyScrollContainer, isStickyScrollElement, List, MouseController } from '../list/listWidget.js';
13
- import { Toggle, unthemedToggleStyles } from '../toggle/toggle.js';
14
- import { getVisibleState, isFilterResult } from './indexTreeModel.js';
15
- import { TreeMouseEventTarget } from './tree.js';
16
- import { Action } from '../../../common/actions.js';
17
- import { distinct, equals, range } from '../../../common/arrays.js';
18
- import { Delayer, disposableTimeout, timeout } from '../../../common/async.js';
19
- import { Codicon } from '../../../common/codicons.js';
20
- import { ThemeIcon } from '../../../common/themables.js';
21
- import { SetMap } from '../../../common/map.js';
22
- import { Emitter, Event, EventBufferer, Relay } from '../../../common/event.js';
23
- import { fuzzyScore, FuzzyScore } from '../../../common/filters.js';
24
- import { Disposable, DisposableStore, dispose, toDisposable } from '../../../common/lifecycle.js';
25
- import { clamp } from '../../../common/numbers.js';
26
- import { isNumber } from '../../../common/types.js';
27
- import './media/tree.css';
28
- import { localize } from '../../../../nls.js';
29
- import { createInstantHoverDelegate, getDefaultHoverDelegate } from '../hover/hoverDelegateFactory.js';
30
- import { autorun, constObservable } from '../../../common/observable.js';
31
- import { alert } from '../aria/aria.js';
32
- class TreeElementsDragAndDropData extends ElementsDragAndDropData {
33
- constructor(data) {
34
- super(data.elements.map(node => node.element));
35
- this.data = data;
36
- }
37
- }
38
- function asTreeDragAndDropData(data) {
39
- if (data instanceof ElementsDragAndDropData) {
40
- return new TreeElementsDragAndDropData(data);
41
- }
42
- return data;
43
- }
44
- class TreeNodeListDragAndDrop {
45
- constructor(modelProvider, dnd) {
46
- this.modelProvider = modelProvider;
47
- this.dnd = dnd;
48
- this.autoExpandDisposable = Disposable.None;
49
- this.disposables = new DisposableStore();
50
- }
51
- getDragURI(node) {
52
- return this.dnd.getDragURI(node.element);
53
- }
54
- getDragLabel(nodes, originalEvent) {
55
- if (this.dnd.getDragLabel) {
56
- return this.dnd.getDragLabel(nodes.map(node => node.element), originalEvent);
57
- }
58
- return undefined;
59
- }
60
- onDragStart(data, originalEvent) {
61
- this.dnd.onDragStart?.(asTreeDragAndDropData(data), originalEvent);
62
- }
63
- onDragOver(data, targetNode, targetIndex, targetSector, originalEvent, raw = true) {
64
- const result = this.dnd.onDragOver(asTreeDragAndDropData(data), targetNode && targetNode.element, targetIndex, targetSector, originalEvent);
65
- const didChangeAutoExpandNode = this.autoExpandNode !== targetNode;
66
- if (didChangeAutoExpandNode) {
67
- this.autoExpandDisposable.dispose();
68
- this.autoExpandNode = targetNode;
69
- }
70
- if (typeof targetNode === 'undefined') {
71
- return result;
72
- }
73
- if (didChangeAutoExpandNode && typeof result !== 'boolean' && result.autoExpand) {
74
- this.autoExpandDisposable = disposableTimeout(() => {
75
- const model = this.modelProvider();
76
- const ref = model.getNodeLocation(targetNode);
77
- if (model.isCollapsed(ref)) {
78
- model.setCollapsed(ref, false);
79
- }
80
- this.autoExpandNode = undefined;
81
- }, 500, this.disposables);
82
- }
83
- if (typeof result === 'boolean' || !result.accept || typeof result.bubble === 'undefined' || result.feedback) {
84
- if (!raw) {
85
- const accept = typeof result === 'boolean' ? result : result.accept;
86
- const effect = typeof result === 'boolean' ? undefined : result.effect;
87
- return { accept, effect, feedback: [targetIndex] };
88
- }
89
- return result;
90
- }
91
- if (result.bubble === 1 /* TreeDragOverBubble.Up */) {
92
- const model = this.modelProvider();
93
- const ref = model.getNodeLocation(targetNode);
94
- const parentRef = model.getParentNodeLocation(ref);
95
- const parentNode = model.getNode(parentRef);
96
- const parentIndex = parentRef && model.getListIndex(parentRef);
97
- return this.onDragOver(data, parentNode, parentIndex, targetSector, originalEvent, false);
98
- }
99
- const model = this.modelProvider();
100
- const ref = model.getNodeLocation(targetNode);
101
- const start = model.getListIndex(ref);
102
- const length = model.getListRenderCount(ref);
103
- return { ...result, feedback: range(start, start + length) };
104
- }
105
- drop(data, targetNode, targetIndex, targetSector, originalEvent) {
106
- this.autoExpandDisposable.dispose();
107
- this.autoExpandNode = undefined;
108
- this.dnd.drop(asTreeDragAndDropData(data), targetNode && targetNode.element, targetIndex, targetSector, originalEvent);
109
- }
110
- onDragEnd(originalEvent) {
111
- this.dnd.onDragEnd?.(originalEvent);
112
- }
113
- dispose() {
114
- this.disposables.dispose();
115
- this.dnd.dispose();
116
- }
117
- }
118
- function asListOptions(modelProvider, options) {
119
- return options && {
120
- ...options,
121
- identityProvider: options.identityProvider && {
122
- getId(el) {
123
- return options.identityProvider.getId(el.element);
124
- }
125
- },
126
- dnd: options.dnd && new TreeNodeListDragAndDrop(modelProvider, options.dnd),
127
- multipleSelectionController: options.multipleSelectionController && {
128
- isSelectionSingleChangeEvent(e) {
129
- return options.multipleSelectionController.isSelectionSingleChangeEvent({ ...e, element: e.element });
130
- },
131
- isSelectionRangeChangeEvent(e) {
132
- return options.multipleSelectionController.isSelectionRangeChangeEvent({ ...e, element: e.element });
133
- }
134
- },
135
- accessibilityProvider: options.accessibilityProvider && {
136
- ...options.accessibilityProvider,
137
- getSetSize(node) {
138
- const model = modelProvider();
139
- const ref = model.getNodeLocation(node);
140
- const parentRef = model.getParentNodeLocation(ref);
141
- const parentNode = model.getNode(parentRef);
142
- return parentNode.visibleChildrenCount;
143
- },
144
- getPosInSet(node) {
145
- return node.visibleChildIndex + 1;
146
- },
147
- isChecked: options.accessibilityProvider && options.accessibilityProvider.isChecked ? (node) => {
148
- return options.accessibilityProvider.isChecked(node.element);
149
- } : undefined,
150
- getRole: options.accessibilityProvider && options.accessibilityProvider.getRole ? (node) => {
151
- return options.accessibilityProvider.getRole(node.element);
152
- } : () => 'treeitem',
153
- getAriaLabel(e) {
154
- return options.accessibilityProvider.getAriaLabel(e.element);
155
- },
156
- getWidgetAriaLabel() {
157
- return options.accessibilityProvider.getWidgetAriaLabel();
158
- },
159
- getWidgetRole: options.accessibilityProvider && options.accessibilityProvider.getWidgetRole ? () => options.accessibilityProvider.getWidgetRole() : () => 'tree',
160
- getAriaLevel: options.accessibilityProvider && options.accessibilityProvider.getAriaLevel ? (node) => options.accessibilityProvider.getAriaLevel(node.element) : (node) => {
161
- return node.depth;
162
- },
163
- getActiveDescendantId: options.accessibilityProvider.getActiveDescendantId && (node => {
164
- return options.accessibilityProvider.getActiveDescendantId(node.element);
165
- })
166
- },
167
- keyboardNavigationLabelProvider: options.keyboardNavigationLabelProvider && {
168
- ...options.keyboardNavigationLabelProvider,
169
- getKeyboardNavigationLabel(node) {
170
- return options.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(node.element);
171
- }
172
- }
173
- };
174
- }
175
- export class ComposedTreeDelegate {
176
- constructor(delegate) {
177
- this.delegate = delegate;
178
- }
179
- getHeight(element) {
180
- return this.delegate.getHeight(element.element);
181
- }
182
- getTemplateId(element) {
183
- return this.delegate.getTemplateId(element.element);
184
- }
185
- hasDynamicHeight(element) {
186
- return !!this.delegate.hasDynamicHeight && this.delegate.hasDynamicHeight(element.element);
187
- }
188
- setDynamicHeight(element, height) {
189
- this.delegate.setDynamicHeight?.(element.element, height);
190
- }
191
- }
192
- export var RenderIndentGuides;
193
- (function (RenderIndentGuides) {
194
- RenderIndentGuides["None"] = "none";
195
- RenderIndentGuides["OnHover"] = "onHover";
196
- RenderIndentGuides["Always"] = "always";
197
- })(RenderIndentGuides || (RenderIndentGuides = {}));
198
- class EventCollection {
199
- get elements() {
200
- return this._elements;
201
- }
202
- constructor(onDidChange, _elements = []) {
203
- this._elements = _elements;
204
- this.disposables = new DisposableStore();
205
- this.onDidChange = Event.forEach(onDidChange, elements => this._elements = elements, this.disposables);
206
- }
207
- dispose() {
208
- this.disposables.dispose();
209
- }
210
- }
211
- export class TreeRenderer {
212
- static { this.DefaultIndent = 8; }
213
- constructor(renderer, modelProvider, onDidChangeCollapseState, activeNodes, renderedIndentGuides, options = {}) {
214
- this.renderer = renderer;
215
- this.modelProvider = modelProvider;
216
- this.activeNodes = activeNodes;
217
- this.renderedIndentGuides = renderedIndentGuides;
218
- this.renderedElements = new Map();
219
- this.renderedNodes = new Map();
220
- this.indent = TreeRenderer.DefaultIndent;
221
- this.hideTwistiesOfChildlessElements = false;
222
- this.shouldRenderIndentGuides = false;
223
- this.activeIndentNodes = new Set();
224
- this.indentGuidesDisposable = Disposable.None;
225
- this.disposables = new DisposableStore();
226
- this.templateId = renderer.templateId;
227
- this.updateOptions(options);
228
- Event.map(onDidChangeCollapseState, e => e.node)(this.onDidChangeNodeTwistieState, this, this.disposables);
229
- renderer.onDidChangeTwistieState?.(this.onDidChangeTwistieState, this, this.disposables);
230
- }
231
- updateOptions(options = {}) {
232
- if (typeof options.indent !== 'undefined') {
233
- const indent = clamp(options.indent, 0, 40);
234
- if (indent !== this.indent) {
235
- this.indent = indent;
236
- for (const [node, templateData] of this.renderedNodes) {
237
- this.renderTreeElement(node, templateData);
238
- }
239
- }
240
- }
241
- if (typeof options.renderIndentGuides !== 'undefined') {
242
- const shouldRenderIndentGuides = options.renderIndentGuides !== RenderIndentGuides.None;
243
- if (shouldRenderIndentGuides !== this.shouldRenderIndentGuides) {
244
- this.shouldRenderIndentGuides = shouldRenderIndentGuides;
245
- for (const [node, templateData] of this.renderedNodes) {
246
- this._renderIndentGuides(node, templateData);
247
- }
248
- this.indentGuidesDisposable.dispose();
249
- if (shouldRenderIndentGuides) {
250
- const disposables = new DisposableStore();
251
- this.activeNodes.onDidChange(this._onDidChangeActiveNodes, this, disposables);
252
- this.indentGuidesDisposable = disposables;
253
- this._onDidChangeActiveNodes(this.activeNodes.elements);
254
- }
255
- }
256
- }
257
- if (typeof options.hideTwistiesOfChildlessElements !== 'undefined') {
258
- this.hideTwistiesOfChildlessElements = options.hideTwistiesOfChildlessElements;
259
- }
260
- }
261
- renderTemplate(container) {
262
- const el = append(container, $('.monaco-tl-row'));
263
- const indent = append(el, $('.monaco-tl-indent'));
264
- const twistie = append(el, $('.monaco-tl-twistie'));
265
- const contents = append(el, $('.monaco-tl-contents'));
266
- const templateData = this.renderer.renderTemplate(contents);
267
- return { container, indent, twistie, indentGuidesDisposable: Disposable.None, templateData };
268
- }
269
- renderElement(node, index, templateData, height) {
270
- this.renderedNodes.set(node, templateData);
271
- this.renderedElements.set(node.element, node);
272
- this.renderTreeElement(node, templateData);
273
- this.renderer.renderElement(node, index, templateData.templateData, height);
274
- }
275
- disposeElement(node, index, templateData, height) {
276
- templateData.indentGuidesDisposable.dispose();
277
- this.renderer.disposeElement?.(node, index, templateData.templateData, height);
278
- if (typeof height === 'number') {
279
- this.renderedNodes.delete(node);
280
- this.renderedElements.delete(node.element);
281
- }
282
- }
283
- disposeTemplate(templateData) {
284
- this.renderer.disposeTemplate(templateData.templateData);
285
- }
286
- onDidChangeTwistieState(element) {
287
- const node = this.renderedElements.get(element);
288
- if (!node) {
289
- return;
290
- }
291
- this.onDidChangeNodeTwistieState(node);
292
- }
293
- onDidChangeNodeTwistieState(node) {
294
- const templateData = this.renderedNodes.get(node);
295
- if (!templateData) {
296
- return;
297
- }
298
- this._onDidChangeActiveNodes(this.activeNodes.elements);
299
- this.renderTreeElement(node, templateData);
300
- }
301
- renderTreeElement(node, templateData) {
302
- const indent = TreeRenderer.DefaultIndent + (node.depth - 1) * this.indent;
303
- templateData.twistie.style.paddingLeft = `${indent}px`;
304
- templateData.indent.style.width = `${indent + this.indent - 16}px`;
305
- if (node.collapsible) {
306
- templateData.container.setAttribute('aria-expanded', String(!node.collapsed));
307
- }
308
- else {
309
- templateData.container.removeAttribute('aria-expanded');
310
- }
311
- templateData.twistie.classList.remove(...ThemeIcon.asClassNameArray(Codicon.treeItemExpanded));
312
- let twistieRendered = false;
313
- if (this.renderer.renderTwistie) {
314
- twistieRendered = this.renderer.renderTwistie(node.element, templateData.twistie);
315
- }
316
- if (node.collapsible && (!this.hideTwistiesOfChildlessElements || node.visibleChildrenCount > 0)) {
317
- if (!twistieRendered) {
318
- templateData.twistie.classList.add(...ThemeIcon.asClassNameArray(Codicon.treeItemExpanded));
319
- }
320
- templateData.twistie.classList.add('collapsible');
321
- templateData.twistie.classList.toggle('collapsed', node.collapsed);
322
- }
323
- else {
324
- templateData.twistie.classList.remove('collapsible', 'collapsed');
325
- }
326
- this._renderIndentGuides(node, templateData);
327
- }
328
- _renderIndentGuides(node, templateData) {
329
- clearNode(templateData.indent);
330
- templateData.indentGuidesDisposable.dispose();
331
- if (!this.shouldRenderIndentGuides) {
332
- return;
333
- }
334
- const disposableStore = new DisposableStore();
335
- const model = this.modelProvider();
336
- while (true) {
337
- const ref = model.getNodeLocation(node);
338
- const parentRef = model.getParentNodeLocation(ref);
339
- if (!parentRef) {
340
- break;
341
- }
342
- const parent = model.getNode(parentRef);
343
- const guide = $('.indent-guide', { style: `width: ${this.indent}px` });
344
- if (this.activeIndentNodes.has(parent)) {
345
- guide.classList.add('active');
346
- }
347
- if (templateData.indent.childElementCount === 0) {
348
- templateData.indent.appendChild(guide);
349
- }
350
- else {
351
- templateData.indent.insertBefore(guide, templateData.indent.firstElementChild);
352
- }
353
- this.renderedIndentGuides.add(parent, guide);
354
- disposableStore.add(toDisposable(() => this.renderedIndentGuides.delete(parent, guide)));
355
- node = parent;
356
- }
357
- templateData.indentGuidesDisposable = disposableStore;
358
- }
359
- _onDidChangeActiveNodes(nodes) {
360
- if (!this.shouldRenderIndentGuides) {
361
- return;
362
- }
363
- const set = new Set();
364
- const model = this.modelProvider();
365
- nodes.forEach(node => {
366
- const ref = model.getNodeLocation(node);
367
- try {
368
- const parentRef = model.getParentNodeLocation(ref);
369
- if (node.collapsible && node.children.length > 0 && !node.collapsed) {
370
- set.add(node);
371
- }
372
- else if (parentRef) {
373
- set.add(model.getNode(parentRef));
374
- }
375
- }
376
- catch {
377
- // noop
378
- }
379
- });
380
- this.activeIndentNodes.forEach(node => {
381
- if (!set.has(node)) {
382
- this.renderedIndentGuides.forEach(node, line => line.classList.remove('active'));
383
- }
384
- });
385
- set.forEach(node => {
386
- if (!this.activeIndentNodes.has(node)) {
387
- this.renderedIndentGuides.forEach(node, line => line.classList.add('active'));
388
- }
389
- });
390
- this.activeIndentNodes = set;
391
- }
392
- dispose() {
393
- this.renderedNodes.clear();
394
- this.renderedElements.clear();
395
- this.indentGuidesDisposable.dispose();
396
- dispose(this.disposables);
397
- }
398
- }
399
- class FindFilter {
400
- get totalCount() { return this._totalCount; }
401
- get matchCount() { return this._matchCount; }
402
- constructor(tree, keyboardNavigationLabelProvider, _filter) {
403
- this.tree = tree;
404
- this.keyboardNavigationLabelProvider = keyboardNavigationLabelProvider;
405
- this._filter = _filter;
406
- this._totalCount = 0;
407
- this._matchCount = 0;
408
- this._pattern = '';
409
- this._lowercasePattern = '';
410
- this.disposables = new DisposableStore();
411
- tree.onWillRefilter(this.reset, this, this.disposables);
412
- }
413
- filter(element, parentVisibility) {
414
- let visibility = 1 /* TreeVisibility.Visible */;
415
- if (this._filter) {
416
- const result = this._filter.filter(element, parentVisibility);
417
- if (typeof result === 'boolean') {
418
- visibility = result ? 1 /* TreeVisibility.Visible */ : 0 /* TreeVisibility.Hidden */;
419
- }
420
- else if (isFilterResult(result)) {
421
- visibility = getVisibleState(result.visibility);
422
- }
423
- else {
424
- visibility = result;
425
- }
426
- if (visibility === 0 /* TreeVisibility.Hidden */) {
427
- return false;
428
- }
429
- }
430
- this._totalCount++;
431
- if (!this._pattern) {
432
- this._matchCount++;
433
- return { data: FuzzyScore.Default, visibility };
434
- }
435
- const label = this.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(element);
436
- const labels = Array.isArray(label) ? label : [label];
437
- for (const l of labels) {
438
- const labelStr = l && l.toString();
439
- if (typeof labelStr === 'undefined') {
440
- return { data: FuzzyScore.Default, visibility };
441
- }
442
- let score;
443
- if (this.tree.findMatchType === TreeFindMatchType.Contiguous) {
444
- const index = labelStr.toLowerCase().indexOf(this._lowercasePattern);
445
- if (index > -1) {
446
- score = [Number.MAX_SAFE_INTEGER, 0];
447
- for (let i = this._lowercasePattern.length; i > 0; i--) {
448
- score.push(index + i - 1);
449
- }
450
- }
451
- }
452
- else {
453
- score = fuzzyScore(this._pattern, this._lowercasePattern, 0, labelStr, labelStr.toLowerCase(), 0, { firstMatchCanBeWeak: true, boostFullMatch: true });
454
- }
455
- if (score) {
456
- this._matchCount++;
457
- return labels.length === 1 ?
458
- { data: score, visibility } :
459
- { data: { label: labelStr, score: score }, visibility };
460
- }
461
- }
462
- if (this.tree.findMode === TreeFindMode.Filter) {
463
- if (typeof this.tree.options.defaultFindVisibility === 'number') {
464
- return this.tree.options.defaultFindVisibility;
465
- }
466
- else if (this.tree.options.defaultFindVisibility) {
467
- return this.tree.options.defaultFindVisibility(element);
468
- }
469
- else {
470
- return 2 /* TreeVisibility.Recurse */;
471
- }
472
- }
473
- else {
474
- return { data: FuzzyScore.Default, visibility };
475
- }
476
- }
477
- reset() {
478
- this._totalCount = 0;
479
- this._matchCount = 0;
480
- }
481
- dispose() {
482
- dispose(this.disposables);
483
- }
484
- }
485
- export class ModeToggle extends Toggle {
486
- constructor(opts) {
487
- super({
488
- icon: Codicon.listFilter,
489
- title: localize('filter', "Filter"),
490
- isChecked: opts.isChecked ?? false,
491
- hoverDelegate: opts.hoverDelegate ?? getDefaultHoverDelegate('element'),
492
- inputActiveOptionBorder: opts.inputActiveOptionBorder,
493
- inputActiveOptionForeground: opts.inputActiveOptionForeground,
494
- inputActiveOptionBackground: opts.inputActiveOptionBackground
495
- });
496
- }
497
- }
498
- export class FuzzyToggle extends Toggle {
499
- constructor(opts) {
500
- super({
501
- icon: Codicon.searchFuzzy,
502
- title: localize('fuzzySearch', "Fuzzy Match"),
503
- isChecked: opts.isChecked ?? false,
504
- hoverDelegate: opts.hoverDelegate ?? getDefaultHoverDelegate('element'),
505
- inputActiveOptionBorder: opts.inputActiveOptionBorder,
506
- inputActiveOptionForeground: opts.inputActiveOptionForeground,
507
- inputActiveOptionBackground: opts.inputActiveOptionBackground
508
- });
509
- }
510
- }
511
- const unthemedFindWidgetStyles = {
512
- inputBoxStyles: unthemedInboxStyles,
513
- toggleStyles: unthemedToggleStyles,
514
- listFilterWidgetBackground: undefined,
515
- listFilterWidgetNoMatchesOutline: undefined,
516
- listFilterWidgetOutline: undefined,
517
- listFilterWidgetShadow: undefined
518
- };
519
- export var TreeFindMode;
520
- (function (TreeFindMode) {
521
- TreeFindMode[TreeFindMode["Highlight"] = 0] = "Highlight";
522
- TreeFindMode[TreeFindMode["Filter"] = 1] = "Filter";
523
- })(TreeFindMode || (TreeFindMode = {}));
524
- export var TreeFindMatchType;
525
- (function (TreeFindMatchType) {
526
- TreeFindMatchType[TreeFindMatchType["Fuzzy"] = 0] = "Fuzzy";
527
- TreeFindMatchType[TreeFindMatchType["Contiguous"] = 1] = "Contiguous";
528
- })(TreeFindMatchType || (TreeFindMatchType = {}));
529
- class FindWidget extends Disposable {
530
- set mode(mode) {
531
- this.modeToggle.checked = mode === TreeFindMode.Filter;
532
- this.findInput.inputBox.setPlaceHolder(mode === TreeFindMode.Filter ? localize('type to filter', "Type to filter") : localize('type to search', "Type to search"));
533
- }
534
- set matchType(matchType) {
535
- this.matchTypeToggle.checked = matchType === TreeFindMatchType.Fuzzy;
536
- }
537
- constructor(container, tree, contextViewProvider, mode, matchType, options) {
538
- super();
539
- this.tree = tree;
540
- this.elements = h('.monaco-tree-type-filter', [
541
- h('.monaco-tree-type-filter-grab.codicon.codicon-debug-gripper@grab', { tabIndex: 0 }),
542
- h('.monaco-tree-type-filter-input@findInput'),
543
- h('.monaco-tree-type-filter-actionbar@actionbar'),
544
- ]);
545
- this.width = 0;
546
- this.right = 0;
547
- this.top = 0;
548
- this._onDidDisable = new Emitter();
549
- container.appendChild(this.elements.root);
550
- this._register(toDisposable(() => this.elements.root.remove()));
551
- const styles = options?.styles ?? unthemedFindWidgetStyles;
552
- if (styles.listFilterWidgetBackground) {
553
- this.elements.root.style.backgroundColor = styles.listFilterWidgetBackground;
554
- }
555
- if (styles.listFilterWidgetShadow) {
556
- this.elements.root.style.boxShadow = `0 0 8px 2px ${styles.listFilterWidgetShadow}`;
557
- }
558
- const toggleHoverDelegate = this._register(createInstantHoverDelegate());
559
- this.modeToggle = this._register(new ModeToggle({ ...styles.toggleStyles, isChecked: mode === TreeFindMode.Filter, hoverDelegate: toggleHoverDelegate }));
560
- this.matchTypeToggle = this._register(new FuzzyToggle({ ...styles.toggleStyles, isChecked: matchType === TreeFindMatchType.Fuzzy, hoverDelegate: toggleHoverDelegate }));
561
- this.onDidChangeMode = Event.map(this.modeToggle.onChange, () => this.modeToggle.checked ? TreeFindMode.Filter : TreeFindMode.Highlight, this._store);
562
- this.onDidChangeMatchType = Event.map(this.matchTypeToggle.onChange, () => this.matchTypeToggle.checked ? TreeFindMatchType.Fuzzy : TreeFindMatchType.Contiguous, this._store);
563
- this.findInput = this._register(new FindInput(this.elements.findInput, contextViewProvider, {
564
- label: localize('type to search', "Type to search"),
565
- additionalToggles: [this.modeToggle, this.matchTypeToggle],
566
- showCommonFindToggles: false,
567
- inputBoxStyles: styles.inputBoxStyles,
568
- toggleStyles: styles.toggleStyles,
569
- history: options?.history
570
- }));
571
- this.actionbar = this._register(new ActionBar(this.elements.actionbar));
572
- this.mode = mode;
573
- const emitter = this._register(new DomEmitter(this.findInput.inputBox.inputElement, 'keydown'));
574
- const onKeyDown = Event.chain(emitter.event, $ => $.map(e => new StandardKeyboardEvent(e)));
575
- this._register(onKeyDown((e) => {
576
- // Using equals() so we reserve modified keys for future use
577
- if (e.equals(3 /* KeyCode.Enter */)) {
578
- // This is the only keyboard way to return to the tree from a history item that isn't the last one
579
- e.preventDefault();
580
- e.stopPropagation();
581
- this.findInput.inputBox.addToHistory();
582
- this.tree.domFocus();
583
- return;
584
- }
585
- if (e.equals(18 /* KeyCode.DownArrow */)) {
586
- e.preventDefault();
587
- e.stopPropagation();
588
- if (this.findInput.inputBox.isAtLastInHistory() || this.findInput.inputBox.isNowhereInHistory()) {
589
- // Retain original pre-history DownArrow behavior
590
- this.findInput.inputBox.addToHistory();
591
- this.tree.domFocus();
592
- }
593
- else {
594
- // Downward through history
595
- this.findInput.inputBox.showNextValue();
596
- }
597
- return;
598
- }
599
- if (e.equals(16 /* KeyCode.UpArrow */)) {
600
- e.preventDefault();
601
- e.stopPropagation();
602
- // Upward through history
603
- this.findInput.inputBox.showPreviousValue();
604
- return;
605
- }
606
- }));
607
- const closeAction = this._register(new Action('close', localize('close', "Close"), 'codicon codicon-close', true, () => this.dispose()));
608
- this.actionbar.push(closeAction, { icon: true, label: false });
609
- const onGrabMouseDown = this._register(new DomEmitter(this.elements.grab, 'mousedown'));
610
- this._register(onGrabMouseDown.event(e => {
611
- const disposables = new DisposableStore();
612
- const onWindowMouseMove = disposables.add(new DomEmitter(getWindow(e), 'mousemove'));
613
- const onWindowMouseUp = disposables.add(new DomEmitter(getWindow(e), 'mouseup'));
614
- const startRight = this.right;
615
- const startX = e.pageX;
616
- const startTop = this.top;
617
- const startY = e.pageY;
618
- this.elements.grab.classList.add('grabbing');
619
- const transition = this.elements.root.style.transition;
620
- this.elements.root.style.transition = 'unset';
621
- const update = (e) => {
622
- const deltaX = e.pageX - startX;
623
- this.right = startRight - deltaX;
624
- const deltaY = e.pageY - startY;
625
- this.top = startTop + deltaY;
626
- this.layout();
627
- };
628
- disposables.add(onWindowMouseMove.event(update));
629
- disposables.add(onWindowMouseUp.event(e => {
630
- update(e);
631
- this.elements.grab.classList.remove('grabbing');
632
- this.elements.root.style.transition = transition;
633
- disposables.dispose();
634
- }));
635
- }));
636
- const onGrabKeyDown = Event.chain(this._register(new DomEmitter(this.elements.grab, 'keydown')).event, $ => $.map(e => new StandardKeyboardEvent(e)));
637
- this._register(onGrabKeyDown((e) => {
638
- let right;
639
- let top;
640
- if (e.keyCode === 15 /* KeyCode.LeftArrow */) {
641
- right = Number.POSITIVE_INFINITY;
642
- }
643
- else if (e.keyCode === 17 /* KeyCode.RightArrow */) {
644
- right = 0;
645
- }
646
- else if (e.keyCode === 10 /* KeyCode.Space */) {
647
- right = this.right === 0 ? Number.POSITIVE_INFINITY : 0;
648
- }
649
- if (e.keyCode === 16 /* KeyCode.UpArrow */) {
650
- top = 0;
651
- }
652
- else if (e.keyCode === 18 /* KeyCode.DownArrow */) {
653
- top = Number.POSITIVE_INFINITY;
654
- }
655
- if (right !== undefined) {
656
- e.preventDefault();
657
- e.stopPropagation();
658
- this.right = right;
659
- this.layout();
660
- }
661
- if (top !== undefined) {
662
- e.preventDefault();
663
- e.stopPropagation();
664
- this.top = top;
665
- const transition = this.elements.root.style.transition;
666
- this.elements.root.style.transition = 'unset';
667
- this.layout();
668
- setTimeout(() => {
669
- this.elements.root.style.transition = transition;
670
- }, 0);
671
- }
672
- }));
673
- this.onDidChangeValue = this.findInput.onDidChange;
674
- }
675
- layout(width = this.width) {
676
- this.width = width;
677
- this.right = clamp(this.right, 0, Math.max(0, width - 212));
678
- this.elements.root.style.right = `${this.right}px`;
679
- this.top = clamp(this.top, 0, 24);
680
- this.elements.root.style.top = `${this.top}px`;
681
- }
682
- showMessage(message) {
683
- this.findInput.showMessage(message);
684
- }
685
- clearMessage() {
686
- this.findInput.clearMessage();
687
- }
688
- async dispose() {
689
- this._onDidDisable.fire();
690
- this.elements.root.classList.add('disabled');
691
- await timeout(300);
692
- super.dispose();
693
- }
694
- }
695
- class FindController {
696
- get pattern() { return this._pattern; }
697
- get mode() { return this._mode; }
698
- set mode(mode) {
699
- if (mode === this._mode) {
700
- return;
701
- }
702
- this._mode = mode;
703
- if (this.widget) {
704
- this.widget.mode = this._mode;
705
- }
706
- this.tree.refilter();
707
- this.render();
708
- this._onDidChangeMode.fire(mode);
709
- }
710
- get matchType() { return this._matchType; }
711
- set matchType(matchType) {
712
- if (matchType === this._matchType) {
713
- return;
714
- }
715
- this._matchType = matchType;
716
- if (this.widget) {
717
- this.widget.matchType = this._matchType;
718
- }
719
- this.tree.refilter();
720
- this.render();
721
- this._onDidChangeMatchType.fire(matchType);
722
- }
723
- constructor(tree, model, view, filter, contextViewProvider, options = {}) {
724
- this.tree = tree;
725
- this.view = view;
726
- this.filter = filter;
727
- this.contextViewProvider = contextViewProvider;
728
- this.options = options;
729
- this._pattern = '';
730
- this.width = 0;
731
- this._onDidChangeMode = new Emitter();
732
- this.onDidChangeMode = this._onDidChangeMode.event;
733
- this._onDidChangeMatchType = new Emitter();
734
- this.onDidChangeMatchType = this._onDidChangeMatchType.event;
735
- this._onDidChangePattern = new Emitter();
736
- this._onDidChangeOpenState = new Emitter();
737
- this.onDidChangeOpenState = this._onDidChangeOpenState.event;
738
- this.enabledDisposables = new DisposableStore();
739
- this.disposables = new DisposableStore();
740
- this._mode = tree.options.defaultFindMode ?? TreeFindMode.Highlight;
741
- this._matchType = tree.options.defaultFindMatchType ?? TreeFindMatchType.Fuzzy;
742
- model.onDidSplice(this.onDidSpliceModel, this, this.disposables);
743
- }
744
- updateOptions(optionsUpdate = {}) {
745
- if (optionsUpdate.defaultFindMode !== undefined) {
746
- this.mode = optionsUpdate.defaultFindMode;
747
- }
748
- if (optionsUpdate.defaultFindMatchType !== undefined) {
749
- this.matchType = optionsUpdate.defaultFindMatchType;
750
- }
751
- }
752
- onDidSpliceModel() {
753
- if (!this.widget || this.pattern.length === 0) {
754
- return;
755
- }
756
- this.tree.refilter();
757
- this.render();
758
- }
759
- render() {
760
- const noMatches = this.filter.totalCount > 0 && this.filter.matchCount === 0;
761
- if (this.pattern && noMatches) {
762
- alert(localize('replFindNoResults', "No results"));
763
- if (this.tree.options.showNotFoundMessage ?? true) {
764
- this.widget?.showMessage({ type: 2 /* MessageType.WARNING */, content: localize('not found', "No elements found.") });
765
- }
766
- else {
767
- this.widget?.showMessage({ type: 2 /* MessageType.WARNING */ });
768
- }
769
- }
770
- else {
771
- this.widget?.clearMessage();
772
- if (this.pattern) {
773
- alert(localize('replFindResults', "{0} results", this.filter.matchCount));
774
- }
775
- }
776
- }
777
- shouldAllowFocus(node) {
778
- if (!this.widget || !this.pattern) {
779
- return true;
780
- }
781
- if (this.filter.totalCount > 0 && this.filter.matchCount <= 1) {
782
- return true;
783
- }
784
- return !FuzzyScore.isDefault(node.filterData);
785
- }
786
- layout(width) {
787
- this.width = width;
788
- this.widget?.layout(width);
789
- }
790
- dispose() {
791
- this._history = undefined;
792
- this._onDidChangePattern.dispose();
793
- this.enabledDisposables.dispose();
794
- this.disposables.dispose();
795
- }
796
- }
797
- function stickyScrollNodeStateEquals(node1, node2) {
798
- return node1.position === node2.position && stickyScrollNodeEquals(node1, node2);
799
- }
800
- function stickyScrollNodeEquals(node1, node2) {
801
- return node1.node.element === node2.node.element &&
802
- node1.startIndex === node2.startIndex &&
803
- node1.height === node2.height &&
804
- node1.endIndex === node2.endIndex;
805
- }
806
- class StickyScrollState {
807
- constructor(stickyNodes = []) {
808
- this.stickyNodes = stickyNodes;
809
- }
810
- get count() { return this.stickyNodes.length; }
811
- equal(state) {
812
- return equals(this.stickyNodes, state.stickyNodes, stickyScrollNodeStateEquals);
813
- }
814
- lastNodePartiallyVisible() {
815
- if (this.count === 0) {
816
- return false;
817
- }
818
- const lastStickyNode = this.stickyNodes[this.count - 1];
819
- if (this.count === 1) {
820
- return lastStickyNode.position !== 0;
821
- }
822
- const secondLastStickyNode = this.stickyNodes[this.count - 2];
823
- return secondLastStickyNode.position + secondLastStickyNode.height !== lastStickyNode.position;
824
- }
825
- animationStateChanged(previousState) {
826
- if (!equals(this.stickyNodes, previousState.stickyNodes, stickyScrollNodeEquals)) {
827
- return false;
828
- }
829
- if (this.count === 0) {
830
- return false;
831
- }
832
- const lastStickyNode = this.stickyNodes[this.count - 1];
833
- const previousLastStickyNode = previousState.stickyNodes[previousState.count - 1];
834
- return lastStickyNode.position !== previousLastStickyNode.position;
835
- }
836
- }
837
- class DefaultStickyScrollDelegate {
838
- constrainStickyScrollNodes(stickyNodes, stickyScrollMaxItemCount, maxWidgetHeight) {
839
- for (let i = 0; i < stickyNodes.length; i++) {
840
- const stickyNode = stickyNodes[i];
841
- const stickyNodeBottom = stickyNode.position + stickyNode.height;
842
- if (stickyNodeBottom > maxWidgetHeight || i >= stickyScrollMaxItemCount) {
843
- return stickyNodes.slice(0, i);
844
- }
845
- }
846
- return stickyNodes;
847
- }
848
- }
849
- class StickyScrollController extends Disposable {
850
- constructor(tree, model, view, renderers, treeDelegate, options = {}) {
851
- super();
852
- this.tree = tree;
853
- this.model = model;
854
- this.view = view;
855
- this.treeDelegate = treeDelegate;
856
- this.maxWidgetViewRatio = 0.4;
857
- const stickyScrollOptions = this.validateStickySettings(options);
858
- this.stickyScrollMaxItemCount = stickyScrollOptions.stickyScrollMaxItemCount;
859
- this.stickyScrollDelegate = options.stickyScrollDelegate ?? new DefaultStickyScrollDelegate();
860
- this._widget = this._register(new StickyScrollWidget(view.getScrollableElement(), view, tree, renderers, treeDelegate, options.accessibilityProvider));
861
- this.onDidChangeHasFocus = this._widget.onDidChangeHasFocus;
862
- this.onContextMenu = this._widget.onContextMenu;
863
- this._register(view.onDidScroll(() => this.update()));
864
- this._register(view.onDidChangeContentHeight(() => this.update()));
865
- this._register(tree.onDidChangeCollapseState(() => this.update()));
866
- this.update();
867
- }
868
- get height() {
869
- return this._widget.height;
870
- }
871
- getNodeAtHeight(height) {
872
- let index;
873
- if (height === 0) {
874
- index = this.view.firstVisibleIndex;
875
- }
876
- else {
877
- index = this.view.indexAt(height + this.view.scrollTop);
878
- }
879
- if (index < 0 || index >= this.view.length) {
880
- return undefined;
881
- }
882
- return this.view.element(index);
883
- }
884
- update() {
885
- const firstVisibleNode = this.getNodeAtHeight(0);
886
- // Don't render anything if there are no elements
887
- if (!firstVisibleNode || this.tree.scrollTop === 0) {
888
- this._widget.setState(undefined);
889
- return;
890
- }
891
- const stickyState = this.findStickyState(firstVisibleNode);
892
- this._widget.setState(stickyState);
893
- }
894
- findStickyState(firstVisibleNode) {
895
- const stickyNodes = [];
896
- let firstVisibleNodeUnderWidget = firstVisibleNode;
897
- let stickyNodesHeight = 0;
898
- let nextStickyNode = this.getNextStickyNode(firstVisibleNodeUnderWidget, undefined, stickyNodesHeight);
899
- while (nextStickyNode) {
900
- stickyNodes.push(nextStickyNode);
901
- stickyNodesHeight += nextStickyNode.height;
902
- if (stickyNodes.length <= this.stickyScrollMaxItemCount) {
903
- firstVisibleNodeUnderWidget = this.getNextVisibleNode(nextStickyNode);
904
- if (!firstVisibleNodeUnderWidget) {
905
- break;
906
- }
907
- }
908
- nextStickyNode = this.getNextStickyNode(firstVisibleNodeUnderWidget, nextStickyNode.node, stickyNodesHeight);
909
- }
910
- const contrainedStickyNodes = this.constrainStickyNodes(stickyNodes);
911
- return contrainedStickyNodes.length ? new StickyScrollState(contrainedStickyNodes) : undefined;
912
- }
913
- getNextVisibleNode(previousStickyNode) {
914
- return this.getNodeAtHeight(previousStickyNode.position + previousStickyNode.height);
915
- }
916
- getNextStickyNode(firstVisibleNodeUnderWidget, previousStickyNode, stickyNodesHeight) {
917
- const nextStickyNode = this.getAncestorUnderPrevious(firstVisibleNodeUnderWidget, previousStickyNode);
918
- if (!nextStickyNode) {
919
- return undefined;
920
- }
921
- if (nextStickyNode === firstVisibleNodeUnderWidget) {
922
- if (!this.nodeIsUncollapsedParent(firstVisibleNodeUnderWidget)) {
923
- return undefined;
924
- }
925
- if (this.nodeTopAlignsWithStickyNodesBottom(firstVisibleNodeUnderWidget, stickyNodesHeight)) {
926
- return undefined;
927
- }
928
- }
929
- return this.createStickyScrollNode(nextStickyNode, stickyNodesHeight);
930
- }
931
- nodeTopAlignsWithStickyNodesBottom(node, stickyNodesHeight) {
932
- const nodeIndex = this.getNodeIndex(node);
933
- const elementTop = this.view.getElementTop(nodeIndex);
934
- const stickyPosition = stickyNodesHeight;
935
- return this.view.scrollTop === elementTop - stickyPosition;
936
- }
937
- createStickyScrollNode(node, currentStickyNodesHeight) {
938
- const height = this.treeDelegate.getHeight(node);
939
- const { startIndex, endIndex } = this.getNodeRange(node);
940
- const position = this.calculateStickyNodePosition(endIndex, currentStickyNodesHeight, height);
941
- return { node, position, height, startIndex, endIndex };
942
- }
943
- getAncestorUnderPrevious(node, previousAncestor = undefined) {
944
- let currentAncestor = node;
945
- let parentOfcurrentAncestor = this.getParentNode(currentAncestor);
946
- while (parentOfcurrentAncestor) {
947
- if (parentOfcurrentAncestor === previousAncestor) {
948
- return currentAncestor;
949
- }
950
- currentAncestor = parentOfcurrentAncestor;
951
- parentOfcurrentAncestor = this.getParentNode(currentAncestor);
952
- }
953
- if (previousAncestor === undefined) {
954
- return currentAncestor;
955
- }
956
- return undefined;
957
- }
958
- calculateStickyNodePosition(lastDescendantIndex, stickyRowPositionTop, stickyNodeHeight) {
959
- let lastChildRelativeTop = this.view.getRelativeTop(lastDescendantIndex);
960
- // If the last descendant is only partially visible at the top of the view, getRelativeTop() returns null
961
- // In that case, utilize the next node's relative top to calculate the sticky node's position
962
- if (lastChildRelativeTop === null && this.view.firstVisibleIndex === lastDescendantIndex && lastDescendantIndex + 1 < this.view.length) {
963
- const nodeHeight = this.treeDelegate.getHeight(this.view.element(lastDescendantIndex));
964
- const nextNodeRelativeTop = this.view.getRelativeTop(lastDescendantIndex + 1);
965
- lastChildRelativeTop = nextNodeRelativeTop ? nextNodeRelativeTop - nodeHeight / this.view.renderHeight : null;
966
- }
967
- if (lastChildRelativeTop === null) {
968
- return stickyRowPositionTop;
969
- }
970
- const lastChildNode = this.view.element(lastDescendantIndex);
971
- const lastChildHeight = this.treeDelegate.getHeight(lastChildNode);
972
- const topOfLastChild = lastChildRelativeTop * this.view.renderHeight;
973
- const bottomOfLastChild = topOfLastChild + lastChildHeight;
974
- if (stickyRowPositionTop + stickyNodeHeight > bottomOfLastChild && stickyRowPositionTop <= bottomOfLastChild) {
975
- return bottomOfLastChild - stickyNodeHeight;
976
- }
977
- return stickyRowPositionTop;
978
- }
979
- constrainStickyNodes(stickyNodes) {
980
- if (stickyNodes.length === 0) {
981
- return [];
982
- }
983
- // Check if sticky nodes need to be constrained
984
- const maximumStickyWidgetHeight = this.view.renderHeight * this.maxWidgetViewRatio;
985
- const lastStickyNode = stickyNodes[stickyNodes.length - 1];
986
- if (stickyNodes.length <= this.stickyScrollMaxItemCount && lastStickyNode.position + lastStickyNode.height <= maximumStickyWidgetHeight) {
987
- return stickyNodes;
988
- }
989
- // constrain sticky nodes
990
- const constrainedStickyNodes = this.stickyScrollDelegate.constrainStickyScrollNodes(stickyNodes, this.stickyScrollMaxItemCount, maximumStickyWidgetHeight);
991
- if (!constrainedStickyNodes.length) {
992
- return [];
993
- }
994
- // Validate constraints
995
- const lastConstrainedStickyNode = constrainedStickyNodes[constrainedStickyNodes.length - 1];
996
- if (constrainedStickyNodes.length > this.stickyScrollMaxItemCount || lastConstrainedStickyNode.position + lastConstrainedStickyNode.height > maximumStickyWidgetHeight) {
997
- throw new Error('stickyScrollDelegate violates constraints');
998
- }
999
- return constrainedStickyNodes;
1000
- }
1001
- getParentNode(node) {
1002
- const nodeLocation = this.model.getNodeLocation(node);
1003
- const parentLocation = this.model.getParentNodeLocation(nodeLocation);
1004
- return parentLocation ? this.model.getNode(parentLocation) : undefined;
1005
- }
1006
- nodeIsUncollapsedParent(node) {
1007
- const nodeLocation = this.model.getNodeLocation(node);
1008
- return this.model.getListRenderCount(nodeLocation) > 1;
1009
- }
1010
- getNodeIndex(node) {
1011
- const nodeLocation = this.model.getNodeLocation(node);
1012
- const nodeIndex = this.model.getListIndex(nodeLocation);
1013
- return nodeIndex;
1014
- }
1015
- getNodeRange(node) {
1016
- const nodeLocation = this.model.getNodeLocation(node);
1017
- const startIndex = this.model.getListIndex(nodeLocation);
1018
- if (startIndex < 0) {
1019
- throw new Error('Node not found in tree');
1020
- }
1021
- const renderCount = this.model.getListRenderCount(nodeLocation);
1022
- const endIndex = startIndex + renderCount - 1;
1023
- return { startIndex, endIndex };
1024
- }
1025
- nodePositionTopBelowWidget(node) {
1026
- const ancestors = [];
1027
- let currentAncestor = this.getParentNode(node);
1028
- while (currentAncestor) {
1029
- ancestors.push(currentAncestor);
1030
- currentAncestor = this.getParentNode(currentAncestor);
1031
- }
1032
- let widgetHeight = 0;
1033
- for (let i = 0; i < ancestors.length && i < this.stickyScrollMaxItemCount; i++) {
1034
- widgetHeight += this.treeDelegate.getHeight(ancestors[i]);
1035
- }
1036
- return widgetHeight;
1037
- }
1038
- domFocus() {
1039
- this._widget.domFocus();
1040
- }
1041
- // Whether sticky scroll was the last focused part in the tree or not
1042
- focusedLast() {
1043
- return this._widget.focusedLast();
1044
- }
1045
- updateOptions(optionsUpdate = {}) {
1046
- if (!optionsUpdate.stickyScrollMaxItemCount) {
1047
- return;
1048
- }
1049
- const validatedOptions = this.validateStickySettings(optionsUpdate);
1050
- if (this.stickyScrollMaxItemCount !== validatedOptions.stickyScrollMaxItemCount) {
1051
- this.stickyScrollMaxItemCount = validatedOptions.stickyScrollMaxItemCount;
1052
- this.update();
1053
- }
1054
- }
1055
- validateStickySettings(options) {
1056
- let stickyScrollMaxItemCount = 7;
1057
- if (typeof options.stickyScrollMaxItemCount === 'number') {
1058
- stickyScrollMaxItemCount = Math.max(options.stickyScrollMaxItemCount, 1);
1059
- }
1060
- return { stickyScrollMaxItemCount };
1061
- }
1062
- }
1063
- class StickyScrollWidget {
1064
- constructor(container, view, tree, treeRenderers, treeDelegate, accessibilityProvider) {
1065
- this.view = view;
1066
- this.tree = tree;
1067
- this.treeRenderers = treeRenderers;
1068
- this.treeDelegate = treeDelegate;
1069
- this.accessibilityProvider = accessibilityProvider;
1070
- this._previousElements = [];
1071
- this._previousStateDisposables = new DisposableStore();
1072
- this._rootDomNode = $('.monaco-tree-sticky-container.empty');
1073
- container.appendChild(this._rootDomNode);
1074
- const shadow = $('.monaco-tree-sticky-container-shadow');
1075
- this._rootDomNode.appendChild(shadow);
1076
- this.stickyScrollFocus = new StickyScrollFocus(this._rootDomNode, view);
1077
- this.onDidChangeHasFocus = this.stickyScrollFocus.onDidChangeHasFocus;
1078
- this.onContextMenu = this.stickyScrollFocus.onContextMenu;
1079
- }
1080
- get height() {
1081
- if (!this._previousState) {
1082
- return 0;
1083
- }
1084
- const lastElement = this._previousState.stickyNodes[this._previousState.count - 1];
1085
- return lastElement.position + lastElement.height;
1086
- }
1087
- setState(state) {
1088
- const wasVisible = !!this._previousState && this._previousState.count > 0;
1089
- const isVisible = !!state && state.count > 0;
1090
- // If state has not changed, do nothing
1091
- if ((!wasVisible && !isVisible) || (wasVisible && isVisible && this._previousState.equal(state))) {
1092
- return;
1093
- }
1094
- // Update visibility of the widget if changed
1095
- if (wasVisible !== isVisible) {
1096
- this.setVisible(isVisible);
1097
- }
1098
- if (!isVisible) {
1099
- this._previousState = undefined;
1100
- this._previousElements = [];
1101
- this._previousStateDisposables.clear();
1102
- return;
1103
- }
1104
- const lastStickyNode = state.stickyNodes[state.count - 1];
1105
- // If the new state is only a change in the last node's position, update the position of the last element
1106
- if (this._previousState && state.animationStateChanged(this._previousState)) {
1107
- this._previousElements[this._previousState.count - 1].style.top = `${lastStickyNode.position}px`;
1108
- }
1109
- // create new dom elements
1110
- else {
1111
- this._previousStateDisposables.clear();
1112
- const elements = Array(state.count);
1113
- for (let stickyIndex = state.count - 1; stickyIndex >= 0; stickyIndex--) {
1114
- const stickyNode = state.stickyNodes[stickyIndex];
1115
- const { element, disposable } = this.createElement(stickyNode, stickyIndex, state.count);
1116
- elements[stickyIndex] = element;
1117
- this._rootDomNode.appendChild(element);
1118
- this._previousStateDisposables.add(disposable);
1119
- }
1120
- this.stickyScrollFocus.updateElements(elements, state);
1121
- this._previousElements = elements;
1122
- }
1123
- this._previousState = state;
1124
- // Set the height of the widget to the bottom of the last sticky node
1125
- this._rootDomNode.style.height = `${lastStickyNode.position + lastStickyNode.height}px`;
1126
- }
1127
- createElement(stickyNode, stickyIndex, stickyNodesTotal) {
1128
- const nodeIndex = stickyNode.startIndex;
1129
- // Sticky element container
1130
- const stickyElement = document.createElement('div');
1131
- stickyElement.style.top = `${stickyNode.position}px`;
1132
- if (this.tree.options.setRowHeight !== false) {
1133
- stickyElement.style.height = `${stickyNode.height}px`;
1134
- }
1135
- if (this.tree.options.setRowLineHeight !== false) {
1136
- stickyElement.style.lineHeight = `${stickyNode.height}px`;
1137
- }
1138
- stickyElement.classList.add('monaco-tree-sticky-row');
1139
- stickyElement.classList.add('monaco-list-row');
1140
- stickyElement.setAttribute('data-index', `${nodeIndex}`);
1141
- stickyElement.setAttribute('data-parity', nodeIndex % 2 === 0 ? 'even' : 'odd');
1142
- stickyElement.setAttribute('id', this.view.getElementID(nodeIndex));
1143
- const accessibilityDisposable = this.setAccessibilityAttributes(stickyElement, stickyNode.node.element, stickyIndex, stickyNodesTotal);
1144
- // Get the renderer for the node
1145
- const nodeTemplateId = this.treeDelegate.getTemplateId(stickyNode.node);
1146
- const renderer = this.treeRenderers.find((renderer) => renderer.templateId === nodeTemplateId);
1147
- if (!renderer) {
1148
- throw new Error(`No renderer found for template id ${nodeTemplateId}`);
1149
- }
1150
- // To make sure we do not influence the original node, we create a copy of the node
1151
- // We need to check if it is already a unique instance of the node by the delegate
1152
- let nodeCopy = stickyNode.node;
1153
- if (nodeCopy === this.tree.getNode(this.tree.getNodeLocation(stickyNode.node))) {
1154
- nodeCopy = new Proxy(stickyNode.node, {});
1155
- }
1156
- // Render the element
1157
- const templateData = renderer.renderTemplate(stickyElement);
1158
- renderer.renderElement(nodeCopy, stickyNode.startIndex, templateData, stickyNode.height);
1159
- // Remove the element from the DOM when state is disposed
1160
- const disposable = toDisposable(() => {
1161
- accessibilityDisposable.dispose();
1162
- renderer.disposeElement(nodeCopy, stickyNode.startIndex, templateData, stickyNode.height);
1163
- renderer.disposeTemplate(templateData);
1164
- stickyElement.remove();
1165
- });
1166
- return { element: stickyElement, disposable };
1167
- }
1168
- setAccessibilityAttributes(container, element, stickyIndex, stickyNodesTotal) {
1169
- if (!this.accessibilityProvider) {
1170
- return Disposable.None;
1171
- }
1172
- if (this.accessibilityProvider.getSetSize) {
1173
- container.setAttribute('aria-setsize', String(this.accessibilityProvider.getSetSize(element, stickyIndex, stickyNodesTotal)));
1174
- }
1175
- if (this.accessibilityProvider.getPosInSet) {
1176
- container.setAttribute('aria-posinset', String(this.accessibilityProvider.getPosInSet(element, stickyIndex)));
1177
- }
1178
- if (this.accessibilityProvider.getRole) {
1179
- container.setAttribute('role', this.accessibilityProvider.getRole(element) ?? 'treeitem');
1180
- }
1181
- const ariaLabel = this.accessibilityProvider.getAriaLabel(element);
1182
- const observable = (ariaLabel && typeof ariaLabel !== 'string') ? ariaLabel : constObservable(ariaLabel);
1183
- const result = autorun(reader => {
1184
- const value = reader.readObservable(observable);
1185
- if (value) {
1186
- container.setAttribute('aria-label', value);
1187
- }
1188
- else {
1189
- container.removeAttribute('aria-label');
1190
- }
1191
- });
1192
- if (typeof ariaLabel === 'string') {
1193
- }
1194
- else if (ariaLabel) {
1195
- container.setAttribute('aria-label', ariaLabel.get());
1196
- }
1197
- const ariaLevel = this.accessibilityProvider.getAriaLevel && this.accessibilityProvider.getAriaLevel(element);
1198
- if (typeof ariaLevel === 'number') {
1199
- container.setAttribute('aria-level', `${ariaLevel}`);
1200
- }
1201
- // Sticky Scroll elements can not be selected
1202
- container.setAttribute('aria-selected', String(false));
1203
- return result;
1204
- }
1205
- setVisible(visible) {
1206
- this._rootDomNode.classList.toggle('empty', !visible);
1207
- if (!visible) {
1208
- this.stickyScrollFocus.updateElements([], undefined);
1209
- }
1210
- }
1211
- domFocus() {
1212
- this.stickyScrollFocus.domFocus();
1213
- }
1214
- focusedLast() {
1215
- return this.stickyScrollFocus.focusedLast();
1216
- }
1217
- dispose() {
1218
- this.stickyScrollFocus.dispose();
1219
- this._previousStateDisposables.dispose();
1220
- this._rootDomNode.remove();
1221
- }
1222
- }
1223
- class StickyScrollFocus extends Disposable {
1224
- get domHasFocus() { return this._domHasFocus; }
1225
- set domHasFocus(hasFocus) {
1226
- if (hasFocus !== this._domHasFocus) {
1227
- this._onDidChangeHasFocus.fire(hasFocus);
1228
- this._domHasFocus = hasFocus;
1229
- }
1230
- }
1231
- constructor(container, view) {
1232
- super();
1233
- this.container = container;
1234
- this.view = view;
1235
- this.focusedIndex = -1;
1236
- this.elements = [];
1237
- this._onDidChangeHasFocus = new Emitter();
1238
- this.onDidChangeHasFocus = this._onDidChangeHasFocus.event;
1239
- this._onContextMenu = new Emitter();
1240
- this.onContextMenu = this._onContextMenu.event;
1241
- this._domHasFocus = false;
1242
- this._register(addDisposableListener(this.container, 'focus', () => this.onFocus()));
1243
- this._register(addDisposableListener(this.container, 'blur', () => this.onBlur()));
1244
- this._register(this.view.onDidFocus(() => this.toggleStickyScrollFocused(false)));
1245
- this._register(this.view.onKeyDown((e) => this.onKeyDown(e)));
1246
- this._register(this.view.onMouseDown((e) => this.onMouseDown(e)));
1247
- this._register(this.view.onContextMenu((e) => this.handleContextMenu(e)));
1248
- }
1249
- handleContextMenu(e) {
1250
- const target = e.browserEvent.target;
1251
- if (!isStickyScrollContainer(target) && !isStickyScrollElement(target)) {
1252
- if (this.focusedLast()) {
1253
- this.view.domFocus();
1254
- }
1255
- return;
1256
- }
1257
- // The list handles the context menu triggered by a mouse event
1258
- // In that case only set the focus of the element clicked and leave the rest to the list to handle
1259
- if (!isKeyboardEvent(e.browserEvent)) {
1260
- if (!this.state) {
1261
- throw new Error('Context menu should not be triggered when state is undefined');
1262
- }
1263
- const stickyIndex = this.state.stickyNodes.findIndex(stickyNode => stickyNode.node.element === e.element?.element);
1264
- if (stickyIndex === -1) {
1265
- throw new Error('Context menu should not be triggered when element is not in sticky scroll widget');
1266
- }
1267
- this.container.focus();
1268
- this.setFocus(stickyIndex);
1269
- return;
1270
- }
1271
- if (!this.state || this.focusedIndex < 0) {
1272
- throw new Error('Context menu key should not be triggered when focus is not in sticky scroll widget');
1273
- }
1274
- const stickyNode = this.state.stickyNodes[this.focusedIndex];
1275
- const element = stickyNode.node.element;
1276
- const anchor = this.elements[this.focusedIndex];
1277
- this._onContextMenu.fire({ element, anchor, browserEvent: e.browserEvent, isStickyScroll: true });
1278
- }
1279
- onKeyDown(e) {
1280
- // Sticky Scroll Navigation
1281
- if (this.domHasFocus && this.state) {
1282
- // Move up
1283
- if (e.key === 'ArrowUp') {
1284
- this.setFocusedElement(Math.max(0, this.focusedIndex - 1));
1285
- e.preventDefault();
1286
- e.stopPropagation();
1287
- }
1288
- // Move down, if last sticky node is focused, move focus into first child of last sticky node
1289
- else if (e.key === 'ArrowDown' || e.key === 'ArrowRight') {
1290
- if (this.focusedIndex >= this.state.count - 1) {
1291
- const nodeIndexToFocus = this.state.stickyNodes[this.state.count - 1].startIndex + 1;
1292
- this.view.domFocus();
1293
- this.view.setFocus([nodeIndexToFocus]);
1294
- this.scrollNodeUnderWidget(nodeIndexToFocus, this.state);
1295
- }
1296
- else {
1297
- this.setFocusedElement(this.focusedIndex + 1);
1298
- }
1299
- e.preventDefault();
1300
- e.stopPropagation();
1301
- }
1302
- }
1303
- }
1304
- onMouseDown(e) {
1305
- const target = e.browserEvent.target;
1306
- if (!isStickyScrollContainer(target) && !isStickyScrollElement(target)) {
1307
- return;
1308
- }
1309
- e.browserEvent.preventDefault();
1310
- e.browserEvent.stopPropagation();
1311
- }
1312
- updateElements(elements, state) {
1313
- if (state && state.count === 0) {
1314
- throw new Error('Sticky scroll state must be undefined when there are no sticky nodes');
1315
- }
1316
- if (state && state.count !== elements.length) {
1317
- throw new Error('Sticky scroll focus received illigel state');
1318
- }
1319
- const previousIndex = this.focusedIndex;
1320
- this.removeFocus();
1321
- this.elements = elements;
1322
- this.state = state;
1323
- if (state) {
1324
- const newFocusedIndex = clamp(previousIndex, 0, state.count - 1);
1325
- this.setFocus(newFocusedIndex);
1326
- }
1327
- else {
1328
- if (this.domHasFocus) {
1329
- this.view.domFocus();
1330
- }
1331
- }
1332
- // must come last as it calls blur()
1333
- this.container.tabIndex = state ? 0 : -1;
1334
- }
1335
- setFocusedElement(stickyIndex) {
1336
- // doesn't imply that the widget has (or will have) focus
1337
- const state = this.state;
1338
- if (!state) {
1339
- throw new Error('Cannot set focus when state is undefined');
1340
- }
1341
- this.setFocus(stickyIndex);
1342
- if (stickyIndex < state.count - 1) {
1343
- return;
1344
- }
1345
- // If the last sticky node is not fully visible, scroll it into view
1346
- if (state.lastNodePartiallyVisible()) {
1347
- const lastStickyNode = state.stickyNodes[stickyIndex];
1348
- this.scrollNodeUnderWidget(lastStickyNode.endIndex + 1, state);
1349
- }
1350
- }
1351
- scrollNodeUnderWidget(nodeIndex, state) {
1352
- const lastStickyNode = state.stickyNodes[state.count - 1];
1353
- const secondLastStickyNode = state.count > 1 ? state.stickyNodes[state.count - 2] : undefined;
1354
- const elementScrollTop = this.view.getElementTop(nodeIndex);
1355
- const elementTargetViewTop = secondLastStickyNode ? secondLastStickyNode.position + secondLastStickyNode.height + lastStickyNode.height : lastStickyNode.height;
1356
- this.view.scrollTop = elementScrollTop - elementTargetViewTop;
1357
- }
1358
- domFocus() {
1359
- if (!this.state) {
1360
- throw new Error('Cannot focus when state is undefined');
1361
- }
1362
- this.container.focus();
1363
- }
1364
- focusedLast() {
1365
- if (!this.state) {
1366
- return false;
1367
- }
1368
- return this.view.getHTMLElement().classList.contains('sticky-scroll-focused');
1369
- }
1370
- removeFocus() {
1371
- if (this.focusedIndex === -1) {
1372
- return;
1373
- }
1374
- this.toggleElementFocus(this.elements[this.focusedIndex], false);
1375
- this.focusedIndex = -1;
1376
- }
1377
- setFocus(newFocusIndex) {
1378
- if (0 > newFocusIndex) {
1379
- throw new Error('addFocus() can not remove focus');
1380
- }
1381
- if (!this.state && newFocusIndex >= 0) {
1382
- throw new Error('Cannot set focus index when state is undefined');
1383
- }
1384
- if (this.state && newFocusIndex >= this.state.count) {
1385
- throw new Error('Cannot set focus index to an index that does not exist');
1386
- }
1387
- const oldIndex = this.focusedIndex;
1388
- if (oldIndex >= 0) {
1389
- this.toggleElementFocus(this.elements[oldIndex], false);
1390
- }
1391
- if (newFocusIndex >= 0) {
1392
- this.toggleElementFocus(this.elements[newFocusIndex], true);
1393
- }
1394
- this.focusedIndex = newFocusIndex;
1395
- }
1396
- toggleElementFocus(element, focused) {
1397
- this.toggleElementActiveFocus(element, focused && this.domHasFocus);
1398
- this.toggleElementPassiveFocus(element, focused);
1399
- }
1400
- toggleCurrentElementActiveFocus(focused) {
1401
- if (this.focusedIndex === -1) {
1402
- return;
1403
- }
1404
- this.toggleElementActiveFocus(this.elements[this.focusedIndex], focused);
1405
- }
1406
- toggleElementActiveFocus(element, focused) {
1407
- // active focus is set when sticky scroll has focus
1408
- element.classList.toggle('focused', focused);
1409
- }
1410
- toggleElementPassiveFocus(element, focused) {
1411
- // passive focus allows to show focus when sticky scroll does not have focus
1412
- // for example when the context menu has focus
1413
- element.classList.toggle('passive-focused', focused);
1414
- }
1415
- toggleStickyScrollFocused(focused) {
1416
- // Weather the last focus in the view was sticky scroll and not the list
1417
- // Is only removed when the focus is back in the tree an no longer in sticky scroll
1418
- this.view.getHTMLElement().classList.toggle('sticky-scroll-focused', focused);
1419
- }
1420
- onFocus() {
1421
- if (!this.state || this.elements.length === 0) {
1422
- throw new Error('Cannot focus when state is undefined or elements are empty');
1423
- }
1424
- this.domHasFocus = true;
1425
- this.toggleStickyScrollFocused(true);
1426
- this.toggleCurrentElementActiveFocus(true);
1427
- if (this.focusedIndex === -1) {
1428
- this.setFocus(0);
1429
- }
1430
- }
1431
- onBlur() {
1432
- this.domHasFocus = false;
1433
- this.toggleCurrentElementActiveFocus(false);
1434
- }
1435
- dispose() {
1436
- this.toggleStickyScrollFocused(false);
1437
- this._onDidChangeHasFocus.fire(false);
1438
- super.dispose();
1439
- }
1440
- }
1441
- function asTreeMouseEvent(event) {
1442
- let target = TreeMouseEventTarget.Unknown;
1443
- if (hasParentWithClass(event.browserEvent.target, 'monaco-tl-twistie', 'monaco-tl-row')) {
1444
- target = TreeMouseEventTarget.Twistie;
1445
- }
1446
- else if (hasParentWithClass(event.browserEvent.target, 'monaco-tl-contents', 'monaco-tl-row')) {
1447
- target = TreeMouseEventTarget.Element;
1448
- }
1449
- else if (hasParentWithClass(event.browserEvent.target, 'monaco-tree-type-filter', 'monaco-list')) {
1450
- target = TreeMouseEventTarget.Filter;
1451
- }
1452
- return {
1453
- browserEvent: event.browserEvent,
1454
- element: event.element ? event.element.element : null,
1455
- target
1456
- };
1457
- }
1458
- function asTreeContextMenuEvent(event) {
1459
- const isStickyScroll = isStickyScrollContainer(event.browserEvent.target);
1460
- return {
1461
- element: event.element ? event.element.element : null,
1462
- browserEvent: event.browserEvent,
1463
- anchor: event.anchor,
1464
- isStickyScroll
1465
- };
1466
- }
1467
- function dfs(node, fn) {
1468
- fn(node);
1469
- node.children.forEach(child => dfs(child, fn));
1470
- }
1471
- /**
1472
- * The trait concept needs to exist at the tree level, because collapsed
1473
- * tree nodes will not be known by the list.
1474
- */
1475
- class Trait {
1476
- get nodeSet() {
1477
- if (!this._nodeSet) {
1478
- this._nodeSet = this.createNodeSet();
1479
- }
1480
- return this._nodeSet;
1481
- }
1482
- constructor(getFirstViewElementWithTrait, identityProvider) {
1483
- this.getFirstViewElementWithTrait = getFirstViewElementWithTrait;
1484
- this.identityProvider = identityProvider;
1485
- this.nodes = [];
1486
- this._onDidChange = new Emitter();
1487
- this.onDidChange = this._onDidChange.event;
1488
- }
1489
- set(nodes, browserEvent) {
1490
- if (!browserEvent?.__forceEvent && equals(this.nodes, nodes)) {
1491
- return;
1492
- }
1493
- this._set(nodes, false, browserEvent);
1494
- }
1495
- _set(nodes, silent, browserEvent) {
1496
- this.nodes = [...nodes];
1497
- this.elements = undefined;
1498
- this._nodeSet = undefined;
1499
- if (!silent) {
1500
- const that = this;
1501
- this._onDidChange.fire({ get elements() { return that.get(); }, browserEvent });
1502
- }
1503
- }
1504
- get() {
1505
- if (!this.elements) {
1506
- this.elements = this.nodes.map(node => node.element);
1507
- }
1508
- return [...this.elements];
1509
- }
1510
- getNodes() {
1511
- return this.nodes;
1512
- }
1513
- has(node) {
1514
- return this.nodeSet.has(node);
1515
- }
1516
- onDidModelSplice({ insertedNodes, deletedNodes }) {
1517
- if (!this.identityProvider) {
1518
- const set = this.createNodeSet();
1519
- const visit = (node) => set.delete(node);
1520
- deletedNodes.forEach(node => dfs(node, visit));
1521
- this.set([...set.values()]);
1522
- return;
1523
- }
1524
- const deletedNodesIdSet = new Set();
1525
- const deletedNodesVisitor = (node) => deletedNodesIdSet.add(this.identityProvider.getId(node.element).toString());
1526
- deletedNodes.forEach(node => dfs(node, deletedNodesVisitor));
1527
- const insertedNodesMap = new Map();
1528
- const insertedNodesVisitor = (node) => insertedNodesMap.set(this.identityProvider.getId(node.element).toString(), node);
1529
- insertedNodes.forEach(node => dfs(node, insertedNodesVisitor));
1530
- const nodes = [];
1531
- for (const node of this.nodes) {
1532
- const id = this.identityProvider.getId(node.element).toString();
1533
- const wasDeleted = deletedNodesIdSet.has(id);
1534
- if (!wasDeleted) {
1535
- nodes.push(node);
1536
- }
1537
- else {
1538
- const insertedNode = insertedNodesMap.get(id);
1539
- if (insertedNode && insertedNode.visible) {
1540
- nodes.push(insertedNode);
1541
- }
1542
- }
1543
- }
1544
- if (this.nodes.length > 0 && nodes.length === 0) {
1545
- const node = this.getFirstViewElementWithTrait();
1546
- if (node) {
1547
- nodes.push(node);
1548
- }
1549
- }
1550
- this._set(nodes, true);
1551
- }
1552
- createNodeSet() {
1553
- const set = new Set();
1554
- for (const node of this.nodes) {
1555
- set.add(node);
1556
- }
1557
- return set;
1558
- }
1559
- }
1560
- class TreeNodeListMouseController extends MouseController {
1561
- constructor(list, tree, stickyScrollProvider) {
1562
- super(list);
1563
- this.tree = tree;
1564
- this.stickyScrollProvider = stickyScrollProvider;
1565
- }
1566
- onViewPointer(e) {
1567
- if (isButton(e.browserEvent.target) ||
1568
- isInputElement(e.browserEvent.target) ||
1569
- isMonacoEditor(e.browserEvent.target)) {
1570
- return;
1571
- }
1572
- if (e.browserEvent.isHandledByList) {
1573
- return;
1574
- }
1575
- const node = e.element;
1576
- if (!node) {
1577
- return super.onViewPointer(e);
1578
- }
1579
- if (this.isSelectionRangeChangeEvent(e) || this.isSelectionSingleChangeEvent(e)) {
1580
- return super.onViewPointer(e);
1581
- }
1582
- const target = e.browserEvent.target;
1583
- const onTwistie = target.classList.contains('monaco-tl-twistie')
1584
- || (target.classList.contains('monaco-icon-label') && target.classList.contains('folder-icon') && e.browserEvent.offsetX < 16);
1585
- const isStickyElement = isStickyScrollElement(e.browserEvent.target);
1586
- let expandOnlyOnTwistieClick = false;
1587
- if (isStickyElement) {
1588
- expandOnlyOnTwistieClick = true;
1589
- }
1590
- else if (typeof this.tree.expandOnlyOnTwistieClick === 'function') {
1591
- expandOnlyOnTwistieClick = this.tree.expandOnlyOnTwistieClick(node.element);
1592
- }
1593
- else {
1594
- expandOnlyOnTwistieClick = !!this.tree.expandOnlyOnTwistieClick;
1595
- }
1596
- if (!isStickyElement) {
1597
- if (expandOnlyOnTwistieClick && !onTwistie && e.browserEvent.detail !== 2) {
1598
- return super.onViewPointer(e);
1599
- }
1600
- if (!this.tree.expandOnDoubleClick && e.browserEvent.detail === 2) {
1601
- return super.onViewPointer(e);
1602
- }
1603
- }
1604
- else {
1605
- this.handleStickyScrollMouseEvent(e, node);
1606
- }
1607
- if (node.collapsible && (!isStickyElement || onTwistie)) {
1608
- const location = this.tree.getNodeLocation(node);
1609
- const recursive = e.browserEvent.altKey;
1610
- this.tree.setFocus([location]);
1611
- this.tree.toggleCollapsed(location, recursive);
1612
- if (onTwistie) {
1613
- // Do not set this before calling a handler on the super class, because it will reject it as handled
1614
- e.browserEvent.isHandledByList = true;
1615
- return;
1616
- }
1617
- }
1618
- if (!isStickyElement) {
1619
- super.onViewPointer(e);
1620
- }
1621
- }
1622
- handleStickyScrollMouseEvent(e, node) {
1623
- if (isMonacoCustomToggle(e.browserEvent.target) || isActionItem(e.browserEvent.target)) {
1624
- return;
1625
- }
1626
- const stickyScrollController = this.stickyScrollProvider();
1627
- if (!stickyScrollController) {
1628
- throw new Error('Sticky scroll controller not found');
1629
- }
1630
- const nodeIndex = this.list.indexOf(node);
1631
- const elementScrollTop = this.list.getElementTop(nodeIndex);
1632
- const elementTargetViewTop = stickyScrollController.nodePositionTopBelowWidget(node);
1633
- this.tree.scrollTop = elementScrollTop - elementTargetViewTop;
1634
- this.list.domFocus();
1635
- this.list.setFocus([nodeIndex]);
1636
- this.list.setSelection([nodeIndex]);
1637
- }
1638
- onDoubleClick(e) {
1639
- const onTwistie = e.browserEvent.target.classList.contains('monaco-tl-twistie');
1640
- if (onTwistie || !this.tree.expandOnDoubleClick) {
1641
- return;
1642
- }
1643
- if (e.browserEvent.isHandledByList) {
1644
- return;
1645
- }
1646
- super.onDoubleClick(e);
1647
- }
1648
- // to make sure dom focus is not stolen (for example with context menu)
1649
- onMouseDown(e) {
1650
- const target = e.browserEvent.target;
1651
- if (!isStickyScrollContainer(target) && !isStickyScrollElement(target)) {
1652
- super.onMouseDown(e);
1653
- return;
1654
- }
1655
- }
1656
- onContextMenu(e) {
1657
- const target = e.browserEvent.target;
1658
- if (!isStickyScrollContainer(target) && !isStickyScrollElement(target)) {
1659
- super.onContextMenu(e);
1660
- return;
1661
- }
1662
- }
1663
- }
1664
- /**
1665
- * We use this List subclass to restore selection and focus as nodes
1666
- * get rendered in the list, possibly due to a node expand() call.
1667
- */
1668
- class TreeNodeList extends List {
1669
- constructor(user, container, virtualDelegate, renderers, focusTrait, selectionTrait, anchorTrait, options) {
1670
- super(user, container, virtualDelegate, renderers, options);
1671
- this.focusTrait = focusTrait;
1672
- this.selectionTrait = selectionTrait;
1673
- this.anchorTrait = anchorTrait;
1674
- }
1675
- createMouseController(options) {
1676
- return new TreeNodeListMouseController(this, options.tree, options.stickyScrollProvider);
1677
- }
1678
- splice(start, deleteCount, elements = []) {
1679
- super.splice(start, deleteCount, elements);
1680
- if (elements.length === 0) {
1681
- return;
1682
- }
1683
- const additionalFocus = [];
1684
- const additionalSelection = [];
1685
- let anchor;
1686
- elements.forEach((node, index) => {
1687
- if (this.focusTrait.has(node)) {
1688
- additionalFocus.push(start + index);
1689
- }
1690
- if (this.selectionTrait.has(node)) {
1691
- additionalSelection.push(start + index);
1692
- }
1693
- if (this.anchorTrait.has(node)) {
1694
- anchor = start + index;
1695
- }
1696
- });
1697
- if (additionalFocus.length > 0) {
1698
- super.setFocus(distinct([...super.getFocus(), ...additionalFocus]));
1699
- }
1700
- if (additionalSelection.length > 0) {
1701
- super.setSelection(distinct([...super.getSelection(), ...additionalSelection]));
1702
- }
1703
- if (typeof anchor === 'number') {
1704
- super.setAnchor(anchor);
1705
- }
1706
- }
1707
- setFocus(indexes, browserEvent, fromAPI = false) {
1708
- super.setFocus(indexes, browserEvent);
1709
- if (!fromAPI) {
1710
- this.focusTrait.set(indexes.map(i => this.element(i)), browserEvent);
1711
- }
1712
- }
1713
- setSelection(indexes, browserEvent, fromAPI = false) {
1714
- super.setSelection(indexes, browserEvent);
1715
- if (!fromAPI) {
1716
- this.selectionTrait.set(indexes.map(i => this.element(i)), browserEvent);
1717
- }
1718
- }
1719
- setAnchor(index, fromAPI = false) {
1720
- super.setAnchor(index);
1721
- if (!fromAPI) {
1722
- if (typeof index === 'undefined') {
1723
- this.anchorTrait.set([]);
1724
- }
1725
- else {
1726
- this.anchorTrait.set([this.element(index)]);
1727
- }
1728
- }
1729
- }
1730
- }
1731
- export class AbstractTree {
1732
- get onDidScroll() { return this.view.onDidScroll; }
1733
- get onDidChangeFocus() { return this.eventBufferer.wrapEvent(this.focus.onDidChange); }
1734
- get onDidChangeSelection() { return this.eventBufferer.wrapEvent(this.selection.onDidChange); }
1735
- get onMouseDblClick() { return Event.filter(Event.map(this.view.onMouseDblClick, asTreeMouseEvent), e => e.target !== TreeMouseEventTarget.Filter); }
1736
- get onMouseOver() { return Event.map(this.view.onMouseOver, asTreeMouseEvent); }
1737
- get onMouseOut() { return Event.map(this.view.onMouseOut, asTreeMouseEvent); }
1738
- get onContextMenu() { return Event.any(Event.filter(Event.map(this.view.onContextMenu, asTreeContextMenuEvent), e => !e.isStickyScroll), this.stickyScrollController?.onContextMenu ?? Event.None); }
1739
- get onPointer() { return Event.map(this.view.onPointer, asTreeMouseEvent); }
1740
- get onKeyDown() { return this.view.onKeyDown; }
1741
- get onDidFocus() { return this.view.onDidFocus; }
1742
- get onDidChangeModel() { return Event.signal(this.model.onDidSplice); }
1743
- get onDidChangeCollapseState() { return this.model.onDidChangeCollapseState; }
1744
- get findMode() { return this.findController?.mode ?? TreeFindMode.Highlight; }
1745
- set findMode(findMode) { if (this.findController) {
1746
- this.findController.mode = findMode;
1747
- } }
1748
- get findMatchType() { return this.findController?.matchType ?? TreeFindMatchType.Fuzzy; }
1749
- set findMatchType(findFuzzy) { if (this.findController) {
1750
- this.findController.matchType = findFuzzy;
1751
- } }
1752
- get expandOnDoubleClick() { return typeof this._options.expandOnDoubleClick === 'undefined' ? true : this._options.expandOnDoubleClick; }
1753
- get expandOnlyOnTwistieClick() { return typeof this._options.expandOnlyOnTwistieClick === 'undefined' ? true : this._options.expandOnlyOnTwistieClick; }
1754
- get onDidDispose() { return this.view.onDidDispose; }
1755
- constructor(_user, container, delegate, renderers, _options = {}) {
1756
- this._user = _user;
1757
- this._options = _options;
1758
- this.eventBufferer = new EventBufferer();
1759
- this.onDidChangeFindOpenState = Event.None;
1760
- this.onDidChangeStickyScrollFocused = Event.None;
1761
- this.disposables = new DisposableStore();
1762
- this._onWillRefilter = new Emitter();
1763
- this.onWillRefilter = this._onWillRefilter.event;
1764
- this._onDidUpdateOptions = new Emitter();
1765
- this.treeDelegate = new ComposedTreeDelegate(delegate);
1766
- const onDidChangeCollapseStateRelay = new Relay();
1767
- const onDidChangeActiveNodes = new Relay();
1768
- const activeNodes = this.disposables.add(new EventCollection(onDidChangeActiveNodes.event));
1769
- const renderedIndentGuides = new SetMap();
1770
- this.renderers = renderers.map(r => new TreeRenderer(r, () => this.model, onDidChangeCollapseStateRelay.event, activeNodes, renderedIndentGuides, _options));
1771
- for (const r of this.renderers) {
1772
- this.disposables.add(r);
1773
- }
1774
- let filter;
1775
- if (_options.keyboardNavigationLabelProvider) {
1776
- filter = new FindFilter(this, _options.keyboardNavigationLabelProvider, _options.filter);
1777
- _options = { ..._options, filter: filter }; // TODO need typescript help here
1778
- this.disposables.add(filter);
1779
- }
1780
- this.focus = new Trait(() => this.view.getFocusedElements()[0], _options.identityProvider);
1781
- this.selection = new Trait(() => this.view.getSelectedElements()[0], _options.identityProvider);
1782
- this.anchor = new Trait(() => this.view.getAnchorElement(), _options.identityProvider);
1783
- this.view = new TreeNodeList(_user, container, this.treeDelegate, this.renderers, this.focus, this.selection, this.anchor, { ...asListOptions(() => this.model, _options), tree: this, stickyScrollProvider: () => this.stickyScrollController });
1784
- this.model = this.createModel(_user, this.view, _options);
1785
- onDidChangeCollapseStateRelay.input = this.model.onDidChangeCollapseState;
1786
- const onDidModelSplice = Event.forEach(this.model.onDidSplice, e => {
1787
- this.eventBufferer.bufferEvents(() => {
1788
- this.focus.onDidModelSplice(e);
1789
- this.selection.onDidModelSplice(e);
1790
- });
1791
- }, this.disposables);
1792
- // Make sure the `forEach` always runs
1793
- onDidModelSplice(() => null, null, this.disposables);
1794
- // Active nodes can change when the model changes or when focus or selection change.
1795
- // We debounce it with 0 delay since these events may fire in the same stack and we only
1796
- // want to run this once. It also doesn't matter if it runs on the next tick since it's only
1797
- // a nice to have UI feature.
1798
- const activeNodesEmitter = this.disposables.add(new Emitter());
1799
- const activeNodesDebounce = this.disposables.add(new Delayer(0));
1800
- this.disposables.add(Event.any(onDidModelSplice, this.focus.onDidChange, this.selection.onDidChange)(() => {
1801
- activeNodesDebounce.trigger(() => {
1802
- const set = new Set();
1803
- for (const node of this.focus.getNodes()) {
1804
- set.add(node);
1805
- }
1806
- for (const node of this.selection.getNodes()) {
1807
- set.add(node);
1808
- }
1809
- activeNodesEmitter.fire([...set.values()]);
1810
- });
1811
- }));
1812
- onDidChangeActiveNodes.input = activeNodesEmitter.event;
1813
- if (_options.keyboardSupport !== false) {
1814
- const onKeyDown = Event.chain(this.view.onKeyDown, $ => $.filter(e => !isInputElement(e.target))
1815
- .map(e => new StandardKeyboardEvent(e)));
1816
- Event.chain(onKeyDown, $ => $.filter(e => e.keyCode === 15 /* KeyCode.LeftArrow */))(this.onLeftArrow, this, this.disposables);
1817
- Event.chain(onKeyDown, $ => $.filter(e => e.keyCode === 17 /* KeyCode.RightArrow */))(this.onRightArrow, this, this.disposables);
1818
- Event.chain(onKeyDown, $ => $.filter(e => e.keyCode === 10 /* KeyCode.Space */))(this.onSpace, this, this.disposables);
1819
- }
1820
- if ((_options.findWidgetEnabled ?? true) && _options.keyboardNavigationLabelProvider && _options.contextViewProvider) {
1821
- const opts = this.options.findWidgetStyles ? { styles: this.options.findWidgetStyles } : undefined;
1822
- this.findController = new FindController(this, this.model, this.view, filter, _options.contextViewProvider, opts);
1823
- this.focusNavigationFilter = node => this.findController.shouldAllowFocus(node);
1824
- this.onDidChangeFindOpenState = this.findController.onDidChangeOpenState;
1825
- this.disposables.add(this.findController);
1826
- this.onDidChangeFindMode = this.findController.onDidChangeMode;
1827
- this.onDidChangeFindMatchType = this.findController.onDidChangeMatchType;
1828
- }
1829
- else {
1830
- this.onDidChangeFindMode = Event.None;
1831
- this.onDidChangeFindMatchType = Event.None;
1832
- }
1833
- if (_options.enableStickyScroll) {
1834
- this.stickyScrollController = new StickyScrollController(this, this.model, this.view, this.renderers, this.treeDelegate, _options);
1835
- this.onDidChangeStickyScrollFocused = this.stickyScrollController.onDidChangeHasFocus;
1836
- }
1837
- this.styleElement = createStyleSheet(this.view.getHTMLElement());
1838
- this.getHTMLElement().classList.toggle('always', this._options.renderIndentGuides === RenderIndentGuides.Always);
1839
- }
1840
- updateOptions(optionsUpdate = {}) {
1841
- this._options = { ...this._options, ...optionsUpdate };
1842
- for (const renderer of this.renderers) {
1843
- renderer.updateOptions(optionsUpdate);
1844
- }
1845
- this.view.updateOptions(this._options);
1846
- this.findController?.updateOptions(optionsUpdate);
1847
- this.updateStickyScroll(optionsUpdate);
1848
- this._onDidUpdateOptions.fire(this._options);
1849
- this.getHTMLElement().classList.toggle('always', this._options.renderIndentGuides === RenderIndentGuides.Always);
1850
- }
1851
- get options() {
1852
- return this._options;
1853
- }
1854
- updateStickyScroll(optionsUpdate) {
1855
- if (!this.stickyScrollController && this._options.enableStickyScroll) {
1856
- this.stickyScrollController = new StickyScrollController(this, this.model, this.view, this.renderers, this.treeDelegate, this._options);
1857
- this.onDidChangeStickyScrollFocused = this.stickyScrollController.onDidChangeHasFocus;
1858
- }
1859
- else if (this.stickyScrollController && !this._options.enableStickyScroll) {
1860
- this.onDidChangeStickyScrollFocused = Event.None;
1861
- this.stickyScrollController.dispose();
1862
- this.stickyScrollController = undefined;
1863
- }
1864
- this.stickyScrollController?.updateOptions(optionsUpdate);
1865
- }
1866
- // Widget
1867
- getHTMLElement() {
1868
- return this.view.getHTMLElement();
1869
- }
1870
- get scrollTop() {
1871
- return this.view.scrollTop;
1872
- }
1873
- set scrollTop(scrollTop) {
1874
- this.view.scrollTop = scrollTop;
1875
- }
1876
- get scrollHeight() {
1877
- return this.view.scrollHeight;
1878
- }
1879
- get renderHeight() {
1880
- return this.view.renderHeight;
1881
- }
1882
- get ariaLabel() {
1883
- return this.view.ariaLabel;
1884
- }
1885
- set ariaLabel(value) {
1886
- this.view.ariaLabel = value;
1887
- }
1888
- domFocus() {
1889
- if (this.stickyScrollController?.focusedLast()) {
1890
- this.stickyScrollController.domFocus();
1891
- }
1892
- else {
1893
- this.view.domFocus();
1894
- }
1895
- }
1896
- layout(height, width) {
1897
- this.view.layout(height, width);
1898
- if (isNumber(width)) {
1899
- this.findController?.layout(width);
1900
- }
1901
- }
1902
- style(styles) {
1903
- const suffix = `.${this.view.domId}`;
1904
- const content = [];
1905
- if (styles.treeIndentGuidesStroke) {
1906
- content.push(`.monaco-list${suffix}:hover .monaco-tl-indent > .indent-guide, .monaco-list${suffix}.always .monaco-tl-indent > .indent-guide { border-color: ${styles.treeInactiveIndentGuidesStroke}; }`);
1907
- content.push(`.monaco-list${suffix} .monaco-tl-indent > .indent-guide.active { border-color: ${styles.treeIndentGuidesStroke}; }`);
1908
- }
1909
- // Sticky Scroll Background
1910
- const stickyScrollBackground = styles.treeStickyScrollBackground ?? styles.listBackground;
1911
- if (stickyScrollBackground) {
1912
- content.push(`.monaco-list${suffix} .monaco-scrollable-element .monaco-tree-sticky-container { background-color: ${stickyScrollBackground}; }`);
1913
- content.push(`.monaco-list${suffix} .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row { background-color: ${stickyScrollBackground}; }`);
1914
- }
1915
- // Sticky Scroll Border
1916
- if (styles.treeStickyScrollBorder) {
1917
- content.push(`.monaco-list${suffix} .monaco-scrollable-element .monaco-tree-sticky-container { border-bottom: 1px solid ${styles.treeStickyScrollBorder}; }`);
1918
- }
1919
- // Sticky Scroll Shadow
1920
- if (styles.treeStickyScrollShadow) {
1921
- content.push(`.monaco-list${suffix} .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-container-shadow { box-shadow: ${styles.treeStickyScrollShadow} 0 6px 6px -6px inset; height: 3px; }`);
1922
- }
1923
- // Sticky Scroll Focus
1924
- if (styles.listFocusForeground) {
1925
- content.push(`.monaco-list${suffix}.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container:focus .monaco-list-row.focused { color: ${styles.listFocusForeground}; }`);
1926
- content.push(`.monaco-list${suffix}:not(.sticky-scroll-focused) .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.focused { color: inherit; }`);
1927
- }
1928
- // Sticky Scroll Focus Outlines
1929
- const focusAndSelectionOutline = asCssValueWithDefault(styles.listFocusAndSelectionOutline, asCssValueWithDefault(styles.listSelectionOutline, styles.listFocusOutline ?? ''));
1930
- if (focusAndSelectionOutline) { // default: listFocusOutline
1931
- content.push(`.monaco-list${suffix}.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container:focus .monaco-list-row.focused.selected { outline: 1px solid ${focusAndSelectionOutline}; outline-offset: -1px;}`);
1932
- content.push(`.monaco-list${suffix}:not(.sticky-scroll-focused) .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.focused.selected { outline: inherit;}`);
1933
- }
1934
- if (styles.listFocusOutline) { // default: set
1935
- content.push(`.monaco-list${suffix}.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container:focus .monaco-list-row.focused { outline: 1px solid ${styles.listFocusOutline}; outline-offset: -1px; }`);
1936
- content.push(`.monaco-list${suffix}:not(.sticky-scroll-focused) .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.focused { outline: inherit; }`);
1937
- content.push(`.monaco-workbench.context-menu-visible .monaco-list${suffix}.last-focused.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.passive-focused { outline: 1px solid ${styles.listFocusOutline}; outline-offset: -1px; }`);
1938
- content.push(`.monaco-workbench.context-menu-visible .monaco-list${suffix}.last-focused.sticky-scroll-focused .monaco-list-rows .monaco-list-row.focused { outline: inherit; }`);
1939
- content.push(`.monaco-workbench.context-menu-visible .monaco-list${suffix}.last-focused:not(.sticky-scroll-focused) .monaco-tree-sticky-container .monaco-list-rows .monaco-list-row.focused { outline: inherit; }`);
1940
- }
1941
- this.styleElement.textContent = content.join('\n');
1942
- this.view.style(styles);
1943
- }
1944
- // Tree navigation
1945
- getParentElement(location) {
1946
- const parentRef = this.model.getParentNodeLocation(location);
1947
- const parentNode = this.model.getNode(parentRef);
1948
- return parentNode.element;
1949
- }
1950
- getFirstElementChild(location) {
1951
- return this.model.getFirstElementChild(location);
1952
- }
1953
- // Tree
1954
- getNode(location) {
1955
- return this.model.getNode(location);
1956
- }
1957
- getNodeLocation(node) {
1958
- return this.model.getNodeLocation(node);
1959
- }
1960
- collapse(location, recursive = false) {
1961
- return this.model.setCollapsed(location, true, recursive);
1962
- }
1963
- expand(location, recursive = false) {
1964
- return this.model.setCollapsed(location, false, recursive);
1965
- }
1966
- toggleCollapsed(location, recursive = false) {
1967
- return this.model.setCollapsed(location, undefined, recursive);
1968
- }
1969
- isCollapsible(location) {
1970
- return this.model.isCollapsible(location);
1971
- }
1972
- setCollapsible(location, collapsible) {
1973
- return this.model.setCollapsible(location, collapsible);
1974
- }
1975
- isCollapsed(location) {
1976
- return this.model.isCollapsed(location);
1977
- }
1978
- refilter() {
1979
- this._onWillRefilter.fire(undefined);
1980
- this.model.refilter();
1981
- }
1982
- setSelection(elements, browserEvent) {
1983
- this.eventBufferer.bufferEvents(() => {
1984
- const nodes = elements.map(e => this.model.getNode(e));
1985
- this.selection.set(nodes, browserEvent);
1986
- const indexes = elements.map(e => this.model.getListIndex(e)).filter(i => i > -1);
1987
- this.view.setSelection(indexes, browserEvent, true);
1988
- });
1989
- }
1990
- getSelection() {
1991
- return this.selection.get();
1992
- }
1993
- setFocus(elements, browserEvent) {
1994
- this.eventBufferer.bufferEvents(() => {
1995
- const nodes = elements.map(e => this.model.getNode(e));
1996
- this.focus.set(nodes, browserEvent);
1997
- const indexes = elements.map(e => this.model.getListIndex(e)).filter(i => i > -1);
1998
- this.view.setFocus(indexes, browserEvent, true);
1999
- });
2000
- }
2001
- focusNext(n = 1, loop = false, browserEvent, filter = (isKeyboardEvent(browserEvent) && browserEvent.altKey) ? undefined : this.focusNavigationFilter) {
2002
- this.view.focusNext(n, loop, browserEvent, filter);
2003
- }
2004
- focusPrevious(n = 1, loop = false, browserEvent, filter = (isKeyboardEvent(browserEvent) && browserEvent.altKey) ? undefined : this.focusNavigationFilter) {
2005
- this.view.focusPrevious(n, loop, browserEvent, filter);
2006
- }
2007
- focusNextPage(browserEvent, filter = (isKeyboardEvent(browserEvent) && browserEvent.altKey) ? undefined : this.focusNavigationFilter) {
2008
- return this.view.focusNextPage(browserEvent, filter);
2009
- }
2010
- focusPreviousPage(browserEvent, filter = (isKeyboardEvent(browserEvent) && browserEvent.altKey) ? undefined : this.focusNavigationFilter) {
2011
- return this.view.focusPreviousPage(browserEvent, filter, () => this.stickyScrollController?.height ?? 0);
2012
- }
2013
- focusLast(browserEvent, filter = (isKeyboardEvent(browserEvent) && browserEvent.altKey) ? undefined : this.focusNavigationFilter) {
2014
- this.view.focusLast(browserEvent, filter);
2015
- }
2016
- focusFirst(browserEvent, filter = (isKeyboardEvent(browserEvent) && browserEvent.altKey) ? undefined : this.focusNavigationFilter) {
2017
- this.view.focusFirst(browserEvent, filter);
2018
- }
2019
- getFocus() {
2020
- return this.focus.get();
2021
- }
2022
- reveal(location, relativeTop) {
2023
- this.model.expandTo(location);
2024
- const index = this.model.getListIndex(location);
2025
- if (index === -1) {
2026
- return;
2027
- }
2028
- if (!this.stickyScrollController) {
2029
- this.view.reveal(index, relativeTop);
2030
- }
2031
- else {
2032
- const paddingTop = this.stickyScrollController.nodePositionTopBelowWidget(this.getNode(location));
2033
- this.view.reveal(index, relativeTop, paddingTop);
2034
- }
2035
- }
2036
- // List
2037
- onLeftArrow(e) {
2038
- e.preventDefault();
2039
- e.stopPropagation();
2040
- const nodes = this.view.getFocusedElements();
2041
- if (nodes.length === 0) {
2042
- return;
2043
- }
2044
- const node = nodes[0];
2045
- const location = this.model.getNodeLocation(node);
2046
- const didChange = this.model.setCollapsed(location, true);
2047
- if (!didChange) {
2048
- const parentLocation = this.model.getParentNodeLocation(location);
2049
- if (!parentLocation) {
2050
- return;
2051
- }
2052
- const parentListIndex = this.model.getListIndex(parentLocation);
2053
- this.view.reveal(parentListIndex);
2054
- this.view.setFocus([parentListIndex]);
2055
- }
2056
- }
2057
- onRightArrow(e) {
2058
- e.preventDefault();
2059
- e.stopPropagation();
2060
- const nodes = this.view.getFocusedElements();
2061
- if (nodes.length === 0) {
2062
- return;
2063
- }
2064
- const node = nodes[0];
2065
- const location = this.model.getNodeLocation(node);
2066
- const didChange = this.model.setCollapsed(location, false);
2067
- if (!didChange) {
2068
- if (!node.children.some(child => child.visible)) {
2069
- return;
2070
- }
2071
- const [focusedIndex] = this.view.getFocus();
2072
- const firstChildIndex = focusedIndex + 1;
2073
- this.view.reveal(firstChildIndex);
2074
- this.view.setFocus([firstChildIndex]);
2075
- }
2076
- }
2077
- onSpace(e) {
2078
- e.preventDefault();
2079
- e.stopPropagation();
2080
- const nodes = this.view.getFocusedElements();
2081
- if (nodes.length === 0) {
2082
- return;
2083
- }
2084
- const node = nodes[0];
2085
- const location = this.model.getNodeLocation(node);
2086
- const recursive = e.browserEvent.altKey;
2087
- this.model.setCollapsed(location, undefined, recursive);
2088
- }
2089
- dispose() {
2090
- dispose(this.disposables);
2091
- this.stickyScrollController?.dispose();
2092
- this.view.dispose();
2093
- }
2094
- }