@umbraco-cms/backoffice 14.0.0-40e04294 → 14.0.0-43239cee

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 (270) hide show
  1. package/dist-cms/apps/app/app.element.js +0 -3
  2. package/dist-cms/assets/lang/da-dk.js +3 -0
  3. package/dist-cms/assets/lang/da-dk.ts +3 -0
  4. package/dist-cms/assets/lang/en-us.js +21 -18
  5. package/dist-cms/assets/lang/en-us.ts +21 -18
  6. package/dist-cms/custom-elements.json +288 -19
  7. package/dist-cms/external/tinymce/index.js +36 -36
  8. package/dist-cms/mocks/browser-handlers.js +1 -1
  9. package/dist-cms/mocks/data/entity.data.d.ts +1 -1
  10. package/dist-cms/mocks/data/entity.data.js +1 -9
  11. package/dist-cms/mocks/data/media.data.d.ts +2 -1
  12. package/dist-cms/mocks/data/media.data.js +11 -0
  13. package/dist-cms/mocks/data/user-group.data.d.ts +17 -0
  14. package/dist-cms/mocks/data/user-group.data.js +61 -0
  15. package/dist-cms/mocks/data/user.data.d.ts +15 -0
  16. package/dist-cms/mocks/data/{users.data.js → user.data.js} +27 -41
  17. package/dist-cms/mocks/handlers/dictionary.handlers.js +2 -2
  18. package/dist-cms/mocks/handlers/media.handlers.js +8 -0
  19. package/dist-cms/mocks/handlers/partial-views.handlers.js +3 -3
  20. package/dist-cms/mocks/handlers/user-group/collection.handlers.d.ts +1 -0
  21. package/dist-cms/mocks/handlers/user-group/collection.handlers.js +10 -0
  22. package/dist-cms/mocks/handlers/user-group/detail.handlers.d.ts +1 -0
  23. package/dist-cms/mocks/handlers/user-group/detail.handlers.js +37 -0
  24. package/dist-cms/mocks/handlers/user-group/index.js +4 -0
  25. package/dist-cms/mocks/handlers/user-group/item.handlers.d.ts +1 -0
  26. package/dist-cms/mocks/handlers/user-group/item.handlers.js +13 -0
  27. package/dist-cms/mocks/handlers/user-group/slug.d.ts +1 -0
  28. package/dist-cms/mocks/handlers/user-group/slug.js +1 -0
  29. package/dist-cms/mocks/handlers/user.handlers.js +15 -1
  30. package/dist-cms/packages/core/components/input-list-base/input-list-base.js +1 -1
  31. package/dist-cms/packages/core/components/input-section/input-section.element.d.ts +2 -2
  32. package/dist-cms/packages/core/components/input-section/input-section.element.js +5 -5
  33. package/dist-cms/packages/core/extension-registry/conditions/types.d.ts +3 -2
  34. package/dist-cms/packages/core/extension-registry/models/index.d.ts +5 -1
  35. package/dist-cms/packages/core/extension-registry/models/index.js +2 -0
  36. package/dist-cms/packages/core/extension-registry/models/user-granular-permission.model.d.ts +8 -0
  37. package/dist-cms/packages/core/extension-registry/models/user-granular-permission.model.js +1 -0
  38. package/dist-cms/packages/core/extension-registry/models/user-permission.model.d.ts +11 -0
  39. package/dist-cms/packages/core/extension-registry/models/user-permission.model.js +1 -0
  40. package/dist-cms/packages/core/localization/index.d.ts +3 -0
  41. package/dist-cms/packages/core/localization/index.js +3 -0
  42. package/dist-cms/packages/core/localization/localize-date.element.d.ts +28 -0
  43. package/dist-cms/packages/core/localization/localize-date.element.js +42 -0
  44. package/dist-cms/packages/core/localization/localize-number.element.d.ts +28 -0
  45. package/dist-cms/packages/core/localization/localize-number.element.js +42 -0
  46. package/dist-cms/packages/core/localization/localize-relative-time.element.d.ts +34 -0
  47. package/dist-cms/packages/core/localization/localize-relative-time.element.js +54 -0
  48. package/dist-cms/packages/core/localization/localize.element.js +1 -1
  49. package/dist-cms/packages/core/modal/common/entity-user-permission-settings/entity-user-permission-settings-modal.element.d.ts +19 -0
  50. package/dist-cms/packages/core/modal/common/entity-user-permission-settings/entity-user-permission-settings-modal.element.js +97 -0
  51. package/dist-cms/packages/core/modal/common/manifests.js +6 -0
  52. package/dist-cms/packages/core/modal/common/tree-picker/tree-picker-modal.element.js +5 -3
  53. package/dist-cms/packages/core/modal/token/entity-user-permission-settings-modal.token.d.ts +7 -0
  54. package/dist-cms/packages/core/modal/token/entity-user-permission-settings-modal.token.js +4 -0
  55. package/dist-cms/packages/core/modal/token/index.d.ts +1 -0
  56. package/dist-cms/packages/core/modal/token/index.js +1 -0
  57. package/dist-cms/packages/core/picker-input/picker-input.context.js +1 -3
  58. package/dist-cms/packages/core/tree/tree.context.js +3 -2
  59. package/dist-cms/packages/documents/documents/components/index.d.ts +1 -0
  60. package/dist-cms/packages/documents/documents/components/index.js +1 -0
  61. package/dist-cms/packages/documents/documents/components/input-document/input-document.context.d.ts +6 -0
  62. package/dist-cms/packages/documents/documents/components/input-document/input-document.context.js +7 -0
  63. package/dist-cms/packages/documents/documents/components/input-document/input-document.element.d.ts +7 -12
  64. package/dist-cms/packages/documents/documents/components/input-document/input-document.element.js +51 -64
  65. package/dist-cms/packages/documents/documents/components/input-document-granular-permission/input-document-granular-permission.element.d.ts +23 -0
  66. package/dist-cms/packages/documents/documents/components/input-document-granular-permission/input-document-granular-permission.element.js +102 -0
  67. package/dist-cms/packages/documents/documents/entity-actions/create/manifests.js +9 -0
  68. package/dist-cms/packages/documents/documents/entity-actions/manifests.js +1 -1
  69. package/dist-cms/packages/documents/documents/entity-actions/permissions.action.d.ts +2 -1
  70. package/dist-cms/packages/documents/documents/entity-actions/permissions.action.js +22 -2
  71. package/dist-cms/packages/documents/documents/index.d.ts +2 -0
  72. package/dist-cms/packages/documents/documents/index.js +2 -0
  73. package/dist-cms/packages/documents/documents/manifests.d.ts +4 -0
  74. package/dist-cms/packages/documents/documents/manifests.js +2 -0
  75. package/dist-cms/packages/documents/documents/recycle-bin/entity-action/manifests.d.ts +4 -0
  76. package/dist-cms/packages/documents/documents/recycle-bin/entity-action/manifests.js +6 -0
  77. package/dist-cms/packages/documents/documents/recycle-bin/manifests.d.ts +4 -0
  78. package/dist-cms/packages/documents/documents/repository/document.repository.js +4 -4
  79. package/dist-cms/packages/documents/documents/repository/manifests.d.ts +3 -2
  80. package/dist-cms/packages/documents/documents/repository/manifests.js +9 -1
  81. package/dist-cms/packages/documents/documents/user-permissions/index.d.ts +1 -0
  82. package/dist-cms/packages/documents/documents/user-permissions/index.js +1 -0
  83. package/dist-cms/packages/documents/documents/user-permissions/manifests.d.ts +19 -0
  84. package/dist-cms/packages/documents/documents/user-permissions/manifests.js +196 -0
  85. package/dist-cms/packages/documents/documents/workspace/views/info/document-info-workspace-view.element.js +29 -28
  86. package/dist-cms/packages/documents/manifests.d.ts +4 -0
  87. package/dist-cms/packages/log-viewer/workspace/views/overview/components/log-viewer-saved-searches-overview.element.js +1 -1
  88. package/dist-cms/packages/media/manifests.d.ts +2 -1
  89. package/dist-cms/packages/media/manifests.js +1 -0
  90. package/dist-cms/packages/media/media/components/index.d.ts +1 -0
  91. package/dist-cms/packages/media/media/components/index.js +1 -0
  92. package/dist-cms/packages/media/media/components/input-media/input-media.context.d.ts +6 -0
  93. package/dist-cms/packages/media/media/components/input-media/input-media.context.js +7 -0
  94. package/dist-cms/packages/media/media/components/input-media/input-media.element.d.ts +7 -15
  95. package/dist-cms/packages/media/media/components/input-media/input-media.element.js +50 -72
  96. package/dist-cms/packages/media/media/index.d.ts +2 -0
  97. package/dist-cms/packages/media/media/index.js +1 -1
  98. package/dist-cms/packages/media/media/manifests.d.ts +1 -1
  99. package/dist-cms/packages/media/media/manifests.js +2 -0
  100. package/dist-cms/packages/media/media/repository/manifests.d.ts +3 -2
  101. package/dist-cms/packages/media/media/repository/manifests.js +9 -1
  102. package/dist-cms/packages/media/media/repository/media-item.store.d.ts +20 -0
  103. package/dist-cms/packages/media/media/repository/media-item.store.js +23 -0
  104. package/dist-cms/packages/media/media/repository/media.repository.d.ts +6 -0
  105. package/dist-cms/packages/media/media/repository/media.repository.js +22 -0
  106. package/dist-cms/packages/media/media/repository/sources/media-item.server.data.d.ts +24 -0
  107. package/dist-cms/packages/media/media/repository/sources/media-item.server.data.js +31 -0
  108. package/dist-cms/packages/media/media/user-permissions/index.d.ts +1 -0
  109. package/dist-cms/packages/media/media/user-permissions/index.js +1 -0
  110. package/dist-cms/packages/media/media/user-permissions/manifests.d.ts +4 -0
  111. package/dist-cms/packages/media/media/user-permissions/manifests.js +27 -0
  112. package/dist-cms/packages/users/current-user/conditions/index.d.ts +1 -0
  113. package/dist-cms/packages/users/current-user/conditions/index.js +1 -0
  114. package/dist-cms/packages/users/current-user/conditions/user-permission.condition.d.ts +18 -0
  115. package/dist-cms/packages/users/current-user/conditions/user-permission.condition.js +23 -0
  116. package/dist-cms/packages/users/current-user/index.d.ts +1 -0
  117. package/dist-cms/packages/users/current-user/index.js +1 -0
  118. package/dist-cms/packages/users/current-user/manifests.js +7 -1
  119. package/dist-cms/packages/users/current-user/modals/current-user/current-user-modal.element.js +7 -7
  120. package/dist-cms/packages/users/index.d.ts +4 -2
  121. package/dist-cms/packages/users/index.js +4 -2
  122. package/dist-cms/packages/users/manifests.d.ts +2 -0
  123. package/dist-cms/packages/users/manifests.js +3 -0
  124. package/dist-cms/packages/users/user-groups/collection/user-group-collection-header.element.js +2 -2
  125. package/dist-cms/packages/users/user-groups/collection/user-group-collection-view.element.js +6 -6
  126. package/dist-cms/packages/users/user-groups/components/index.d.ts +1 -0
  127. package/dist-cms/packages/users/user-groups/components/index.js +1 -0
  128. package/dist-cms/packages/users/user-groups/entity-actions/manifests.d.ts +2 -0
  129. package/dist-cms/packages/users/user-groups/entity-actions/manifests.js +19 -0
  130. package/dist-cms/packages/users/user-groups/index.d.ts +2 -0
  131. package/dist-cms/packages/users/user-groups/index.js +2 -0
  132. package/dist-cms/packages/users/user-groups/manifests.d.ts +1 -1
  133. package/dist-cms/packages/users/user-groups/manifests.js +2 -0
  134. package/dist-cms/packages/users/user-groups/workspace/components/user-group-default-permission-list.element.d.ts +16 -0
  135. package/dist-cms/packages/users/user-groups/workspace/components/user-group-default-permission-list.element.js +69 -0
  136. package/dist-cms/packages/users/user-groups/workspace/components/user-group-granular-permission-list.element.d.ts +14 -0
  137. package/dist-cms/packages/users/user-groups/workspace/components/user-group-granular-permission-list.element.js +31 -0
  138. package/dist-cms/packages/users/user-groups/workspace/user-group-workspace-editor.element.d.ts +2 -0
  139. package/dist-cms/packages/users/user-groups/workspace/user-group-workspace-editor.element.js +57 -56
  140. package/dist-cms/packages/users/user-groups/workspace/user-group-workspace.context.d.ts +12 -0
  141. package/dist-cms/packages/users/user-groups/workspace/user-group-workspace.context.js +20 -0
  142. package/dist-cms/packages/users/user-groups/workspace/user-group-workspace.element.js +1 -1
  143. package/dist-cms/packages/users/users/collection/user-collection-header.element.js +18 -11
  144. package/dist-cms/packages/users/users/collection/views/grid/user-collection-grid-view.element.js +6 -6
  145. package/dist-cms/packages/users/users/collection/views/table/column-layouts/status/user-table-status-column-layout.element.js +3 -3
  146. package/dist-cms/packages/users/users/components/index.d.ts +3 -0
  147. package/dist-cms/packages/users/users/components/index.js +3 -0
  148. package/dist-cms/packages/users/users/components/user-input/user-input.element.js +2 -2
  149. package/dist-cms/packages/users/users/components/user-permission-setting/user-permission-setting.element.d.ts +15 -0
  150. package/dist-cms/packages/users/users/components/user-permission-setting/user-permission-setting.element.js +66 -0
  151. package/dist-cms/packages/users/users/index.d.ts +2 -0
  152. package/dist-cms/packages/users/users/index.js +2 -0
  153. package/dist-cms/packages/users/users/modals/user-picker/user-picker-modal.element.d.ts +3 -1
  154. package/dist-cms/packages/users/users/modals/user-picker/user-picker-modal.element.js +20 -25
  155. package/dist-cms/packages/users/users/repository/index.d.ts +1 -0
  156. package/dist-cms/packages/users/users/repository/index.js +1 -0
  157. package/dist-cms/packages/users/users/repository/user.repository.js +1 -1
  158. package/dist-cms/packages/users/users/workspace/user-workspace-editor.element.js +73 -56
  159. package/dist-cms/packages/users/utils.d.ts +5 -2
  160. package/dist-cms/packages/users/utils.js +14 -14
  161. package/dist-cms/shared/auth/auth-flow.d.ts +0 -4
  162. package/dist-cms/shared/auth/auth-flow.js +6 -25
  163. package/dist-cms/shared/repository/repository-items.manager.js +5 -0
  164. package/dist-cms/shared/umb-events/index.d.ts +1 -0
  165. package/dist-cms/shared/umb-events/index.js +1 -0
  166. package/dist-cms/shared/umb-events/selected.event.d.ts +3 -0
  167. package/dist-cms/shared/umb-events/selected.event.js +6 -0
  168. package/dist-cms/tinymce/CHANGELOG.md +48 -0
  169. package/dist-cms/tinymce/composer.json +1 -1
  170. package/dist-cms/tinymce/models/dom/model.js +1 -1
  171. package/dist-cms/tinymce/models/dom/model.min.js +1 -1
  172. package/dist-cms/tinymce/package.json +1 -1
  173. package/dist-cms/tinymce/plugins/accordion/plugin.js +1 -1
  174. package/dist-cms/tinymce/plugins/accordion/plugin.min.js +1 -1
  175. package/dist-cms/tinymce/plugins/advlist/plugin.js +1 -1
  176. package/dist-cms/tinymce/plugins/advlist/plugin.min.js +1 -1
  177. package/dist-cms/tinymce/plugins/anchor/plugin.js +1 -1
  178. package/dist-cms/tinymce/plugins/anchor/plugin.min.js +1 -1
  179. package/dist-cms/tinymce/plugins/autolink/plugin.js +1 -1
  180. package/dist-cms/tinymce/plugins/autolink/plugin.min.js +1 -1
  181. package/dist-cms/tinymce/plugins/autoresize/plugin.js +1 -1
  182. package/dist-cms/tinymce/plugins/autoresize/plugin.min.js +1 -1
  183. package/dist-cms/tinymce/plugins/autosave/plugin.js +1 -1
  184. package/dist-cms/tinymce/plugins/autosave/plugin.min.js +1 -1
  185. package/dist-cms/tinymce/plugins/charmap/plugin.js +1 -1
  186. package/dist-cms/tinymce/plugins/charmap/plugin.min.js +1 -1
  187. package/dist-cms/tinymce/plugins/code/plugin.js +1 -1
  188. package/dist-cms/tinymce/plugins/code/plugin.min.js +1 -1
  189. package/dist-cms/tinymce/plugins/codesample/plugin.js +1 -1
  190. package/dist-cms/tinymce/plugins/codesample/plugin.min.js +1 -1
  191. package/dist-cms/tinymce/plugins/directionality/plugin.js +1 -1
  192. package/dist-cms/tinymce/plugins/directionality/plugin.min.js +1 -1
  193. package/dist-cms/tinymce/plugins/emoticons/plugin.js +1 -1
  194. package/dist-cms/tinymce/plugins/emoticons/plugin.min.js +1 -1
  195. package/dist-cms/tinymce/plugins/fullscreen/plugin.js +1 -1
  196. package/dist-cms/tinymce/plugins/fullscreen/plugin.min.js +1 -1
  197. package/dist-cms/tinymce/plugins/help/plugin.js +5 -5
  198. package/dist-cms/tinymce/plugins/help/plugin.min.js +2 -2
  199. package/dist-cms/tinymce/plugins/image/plugin.js +1 -1
  200. package/dist-cms/tinymce/plugins/image/plugin.min.js +1 -1
  201. package/dist-cms/tinymce/plugins/importcss/plugin.js +1 -1
  202. package/dist-cms/tinymce/plugins/importcss/plugin.min.js +1 -1
  203. package/dist-cms/tinymce/plugins/insertdatetime/plugin.js +1 -1
  204. package/dist-cms/tinymce/plugins/insertdatetime/plugin.min.js +1 -1
  205. package/dist-cms/tinymce/plugins/link/plugin.js +1 -1
  206. package/dist-cms/tinymce/plugins/link/plugin.min.js +1 -1
  207. package/dist-cms/tinymce/plugins/lists/plugin.js +63 -8
  208. package/dist-cms/tinymce/plugins/lists/plugin.min.js +2 -2
  209. package/dist-cms/tinymce/plugins/media/plugin.js +3 -23
  210. package/dist-cms/tinymce/plugins/media/plugin.min.js +2 -2
  211. package/dist-cms/tinymce/plugins/nonbreaking/plugin.js +1 -1
  212. package/dist-cms/tinymce/plugins/nonbreaking/plugin.min.js +1 -1
  213. package/dist-cms/tinymce/plugins/pagebreak/plugin.js +1 -1
  214. package/dist-cms/tinymce/plugins/pagebreak/plugin.min.js +1 -1
  215. package/dist-cms/tinymce/plugins/preview/plugin.js +1 -1
  216. package/dist-cms/tinymce/plugins/preview/plugin.min.js +1 -1
  217. package/dist-cms/tinymce/plugins/quickbars/plugin.js +13 -4
  218. package/dist-cms/tinymce/plugins/quickbars/plugin.min.js +2 -2
  219. package/dist-cms/tinymce/plugins/save/plugin.js +1 -1
  220. package/dist-cms/tinymce/plugins/save/plugin.min.js +1 -1
  221. package/dist-cms/tinymce/plugins/searchreplace/plugin.js +1 -1
  222. package/dist-cms/tinymce/plugins/searchreplace/plugin.min.js +1 -1
  223. package/dist-cms/tinymce/plugins/table/plugin.js +2 -2
  224. package/dist-cms/tinymce/plugins/table/plugin.min.js +2 -2
  225. package/dist-cms/tinymce/plugins/template/plugin.js +1 -1
  226. package/dist-cms/tinymce/plugins/template/plugin.min.js +1 -1
  227. package/dist-cms/tinymce/plugins/visualblocks/plugin.js +1 -1
  228. package/dist-cms/tinymce/plugins/visualblocks/plugin.min.js +1 -1
  229. package/dist-cms/tinymce/plugins/visualchars/plugin.js +1 -1
  230. package/dist-cms/tinymce/plugins/visualchars/plugin.min.js +1 -1
  231. package/dist-cms/tinymce/plugins/wordcount/plugin.js +1 -1
  232. package/dist-cms/tinymce/plugins/wordcount/plugin.min.js +1 -1
  233. package/dist-cms/tinymce/skins/ui/oxide/content.css +1 -1
  234. package/dist-cms/tinymce/skins/ui/oxide/content.inline.css +1 -1
  235. package/dist-cms/tinymce/skins/ui/oxide/content.inline.min.css +1 -1
  236. package/dist-cms/tinymce/skins/ui/oxide/content.min.css +1 -1
  237. package/dist-cms/tinymce/skins/ui/oxide/skin.css +51 -11
  238. package/dist-cms/tinymce/skins/ui/oxide/skin.min.css +1 -1
  239. package/dist-cms/tinymce/skins/ui/oxide-dark/content.css +1 -1
  240. package/dist-cms/tinymce/skins/ui/oxide-dark/content.inline.css +1 -1
  241. package/dist-cms/tinymce/skins/ui/oxide-dark/content.inline.min.css +1 -1
  242. package/dist-cms/tinymce/skins/ui/oxide-dark/content.min.css +1 -1
  243. package/dist-cms/tinymce/skins/ui/oxide-dark/skin.css +54 -14
  244. package/dist-cms/tinymce/skins/ui/oxide-dark/skin.min.css +1 -1
  245. package/dist-cms/tinymce/skins/ui/tinymce-5/content.css +1 -1
  246. package/dist-cms/tinymce/skins/ui/tinymce-5/content.inline.css +1 -1
  247. package/dist-cms/tinymce/skins/ui/tinymce-5/content.inline.min.css +1 -1
  248. package/dist-cms/tinymce/skins/ui/tinymce-5/content.min.css +1 -1
  249. package/dist-cms/tinymce/skins/ui/tinymce-5/skin.css +51 -11
  250. package/dist-cms/tinymce/skins/ui/tinymce-5/skin.min.css +1 -1
  251. package/dist-cms/tinymce/skins/ui/tinymce-5-dark/content.css +1 -1
  252. package/dist-cms/tinymce/skins/ui/tinymce-5-dark/content.inline.css +1 -1
  253. package/dist-cms/tinymce/skins/ui/tinymce-5-dark/content.inline.min.css +1 -1
  254. package/dist-cms/tinymce/skins/ui/tinymce-5-dark/content.min.css +1 -1
  255. package/dist-cms/tinymce/skins/ui/tinymce-5-dark/skin.css +51 -11
  256. package/dist-cms/tinymce/skins/ui/tinymce-5-dark/skin.min.css +1 -1
  257. package/dist-cms/tinymce/themes/silver/theme.js +158 -55
  258. package/dist-cms/tinymce/themes/silver/theme.min.js +2 -2
  259. package/dist-cms/tinymce/tinymce.d.ts +4 -6
  260. package/dist-cms/tinymce/tinymce.js +911 -691
  261. package/dist-cms/tinymce/tinymce.min.js +2 -2
  262. package/dist-cms/tsconfig.build.tsbuildinfo +1 -1
  263. package/dist-cms/umbraco-package-schema.json +154 -0
  264. package/dist-cms/vscode-html-custom-data.json +167 -18
  265. package/package.json +2 -2
  266. package/dist-cms/mocks/data/user-groups.data.d.ts +0 -9
  267. package/dist-cms/mocks/data/user-groups.data.js +0 -21
  268. package/dist-cms/mocks/data/users.data.d.ts +0 -16
  269. package/dist-cms/mocks/handlers/user-group.handlers.js +0 -17
  270. /package/dist-cms/mocks/handlers/{user-group.handlers.d.ts → user-group/index.d.ts} +0 -0
@@ -1,5 +1,5 @@
1
1
  /**
2
- * TinyMCE version 6.6.1 (2023-08-02)
2
+ * TinyMCE version 6.7.0 (2023-08-30)
3
3
  */
4
4
 
5
5
  (function () {
@@ -616,6 +616,7 @@
616
616
  const documentElement = element => SugarElement.fromDom(documentOrOwner(element).dom.documentElement);
617
617
  const defaultView = element => SugarElement.fromDom(documentOrOwner(element).dom.defaultView);
618
618
  const parent = element => Optional.from(element.dom.parentNode).map(SugarElement.fromDom);
619
+ const parentNode = element => parent(element);
619
620
  const parentElement = element => Optional.from(element.dom.parentElement).map(SugarElement.fromDom);
620
621
  const parents = (element, isRoot) => {
621
622
  const stop = isFunction(isRoot) ? isRoot : never;
@@ -6203,6 +6204,8 @@
6203
6204
  const navigate = tabbingConfig.cyclic ? cycleNext : tryNext;
6204
6205
  return go(component, simulatedEvent, tabbingConfig, navigate);
6205
6206
  };
6207
+ const isFirstChild = elem => parentNode(elem).bind(firstChild).exists(child => eq(child, elem));
6208
+ const goFromPseudoTabstop = (component, simulatedEvent, tabbingConfig) => findCurrent(component, tabbingConfig).filter(elem => !tabbingConfig.useTabstopAt(elem)).bind(elem => (isFirstChild(elem) ? goBackwards : goForwards)(component, simulatedEvent, tabbingConfig));
6206
6209
  const execute = (component, simulatedEvent, tabbingConfig) => tabbingConfig.onEnter.bind(f => f(component, simulatedEvent));
6207
6210
  const exit = (component, simulatedEvent, tabbingConfig) => tabbingConfig.onEscape.bind(f => f(component, simulatedEvent));
6208
6211
  const getKeydownRules = constant$1([
@@ -6216,7 +6219,10 @@
6216
6219
  inSet(ENTER)
6217
6220
  ]), execute)
6218
6221
  ]);
6219
- const getKeyupRules = constant$1([rule(inSet(ESCAPE), exit)]);
6222
+ const getKeyupRules = constant$1([
6223
+ rule(inSet(ESCAPE), exit),
6224
+ rule(inSet(TAB), goFromPseudoTabstop)
6225
+ ]);
6220
6226
  return typical(schema, NoState.init, getKeydownRules, getKeyupRules, () => Optional.some(focusIn));
6221
6227
  };
6222
6228
 
@@ -8558,6 +8564,10 @@
8558
8564
  default: !global$5.deviceType.isTouch()
8559
8565
  });
8560
8566
  registerOption('sidebar_show', { processor: 'string' });
8567
+ registerOption('help_accessibility', {
8568
+ processor: 'boolean',
8569
+ default: editor.hasPlugin('help')
8570
+ });
8561
8571
  };
8562
8572
  const isReadOnly = option$2('readonly');
8563
8573
  const getHeightOption = option$2('height');
@@ -8595,6 +8605,7 @@
8595
8605
  const getPasteAsText = option$2('paste_as_text');
8596
8606
  const getSidebarShow = option$2('sidebar_show');
8597
8607
  const promotionEnabled = option$2('promotion');
8608
+ const useHelpAccessibility = option$2('help_accessibility');
8598
8609
  const isSkinDisabled = editor => editor.options.get('skin') === false;
8599
8610
  const isMenubarEnabled = editor => editor.options.get('menubar') !== false;
8600
8611
  const getSkinUrl = editor => {
@@ -8713,7 +8724,8 @@
8713
8724
  useBranding: useBranding,
8714
8725
  getResize: getResize,
8715
8726
  getPasteAsText: getPasteAsText,
8716
- getSidebarShow: getSidebarShow
8727
+ getSidebarShow: getSidebarShow,
8728
+ useHelpAccessibility: useHelpAccessibility
8717
8729
  });
8718
8730
 
8719
8731
  const autocompleteSelector = '[data-mce-autocompleter]';
@@ -10432,13 +10444,7 @@
10432
10444
 
10433
10445
  const foregroundId = 'forecolor';
10434
10446
  const backgroundId = 'hilitecolor';
10435
- const DEFAULT_COLS = 5;
10436
- const calcCols = colors => Math.max(DEFAULT_COLS, Math.ceil(Math.sqrt(colors)));
10437
- const calcColsOption = (editor, numColors) => {
10438
- const calculatedCols = calcCols(numColors);
10439
- const fallbackCols = option$1('color_cols')(editor);
10440
- return fallbackCols !== DEFAULT_COLS ? fallbackCols : calculatedCols;
10441
- };
10447
+ const fallbackCols = 5;
10442
10448
  const mapColors = colorMap => {
10443
10449
  const colors = [];
10444
10450
  for (let i = 0; i < colorMap.length; i += 2) {
@@ -10468,6 +10474,19 @@
10468
10474
  };
10469
10475
  }
10470
10476
  };
10477
+ const colorColsProcessor = value => {
10478
+ if (isNumber(value) && value > 0) {
10479
+ return {
10480
+ value,
10481
+ valid: true
10482
+ };
10483
+ } else {
10484
+ return {
10485
+ valid: false,
10486
+ message: 'Must be a positive number.'
10487
+ };
10488
+ }
10489
+ };
10471
10490
  registerOption('color_map', {
10472
10491
  processor: colorProcessor,
10473
10492
  default: [
@@ -10520,16 +10539,16 @@
10520
10539
  registerOption('color_map_background', { processor: colorProcessor });
10521
10540
  registerOption('color_map_foreground', { processor: colorProcessor });
10522
10541
  registerOption('color_cols', {
10523
- processor: 'number',
10524
- default: calcCols(getColors$2(editor, 'default').length)
10542
+ processor: colorColsProcessor,
10543
+ default: calcCols(editor)
10525
10544
  });
10526
10545
  registerOption('color_cols_foreground', {
10527
- processor: 'number',
10528
- default: calcColsOption(editor, getColors$2(editor, foregroundId).length)
10546
+ processor: colorColsProcessor,
10547
+ default: defaultCols(editor, foregroundId)
10529
10548
  });
10530
10549
  registerOption('color_cols_background', {
10531
- processor: 'number',
10532
- default: calcColsOption(editor, getColors$2(editor, backgroundId).length)
10550
+ processor: colorColsProcessor,
10551
+ default: defaultCols(editor, backgroundId)
10533
10552
  });
10534
10553
  registerOption('custom_colors', {
10535
10554
  processor: 'boolean',
@@ -10544,20 +10563,6 @@
10544
10563
  default: fallbackColor
10545
10564
  });
10546
10565
  };
10547
- const colorColsOption = (editor, id) => {
10548
- if (id === foregroundId) {
10549
- return option$1('color_cols_foreground')(editor);
10550
- } else if (id === backgroundId) {
10551
- return option$1('color_cols_background')(editor);
10552
- } else {
10553
- return option$1('color_cols')(editor);
10554
- }
10555
- };
10556
- const getColorCols$1 = (editor, id) => {
10557
- const colorCols = Math.round(colorColsOption(editor, id));
10558
- return colorCols > 0 ? colorCols : DEFAULT_COLS;
10559
- };
10560
- const hasCustomColors$1 = option$1('custom_colors');
10561
10566
  const getColors$2 = (editor, id) => {
10562
10567
  if (id === foregroundId && editor.options.isSet('color_map_foreground')) {
10563
10568
  return option$1('color_map_foreground')(editor);
@@ -10567,6 +10572,29 @@
10567
10572
  return option$1('color_map')(editor);
10568
10573
  }
10569
10574
  };
10575
+ const calcCols = (editor, id = 'default') => Math.max(fallbackCols, Math.ceil(Math.sqrt(getColors$2(editor, id).length)));
10576
+ const defaultCols = (editor, id) => {
10577
+ const defaultCols = option$1('color_cols')(editor);
10578
+ const calculatedCols = calcCols(editor, id);
10579
+ if (defaultCols === calcCols(editor)) {
10580
+ return calculatedCols;
10581
+ } else {
10582
+ return defaultCols;
10583
+ }
10584
+ };
10585
+ const getColorCols$1 = (editor, id = 'default') => {
10586
+ const getCols = () => {
10587
+ if (id === foregroundId) {
10588
+ return option$1('color_cols_foreground')(editor);
10589
+ } else if (id === backgroundId) {
10590
+ return option$1('color_cols_background')(editor);
10591
+ } else {
10592
+ return option$1('color_cols')(editor);
10593
+ }
10594
+ };
10595
+ return Math.round(getCols());
10596
+ };
10597
+ const hasCustomColors$1 = option$1('custom_colors');
10570
10598
  const getDefaultForegroundColor = option$1('color_default_foreground');
10571
10599
  const getDefaultBackgroundColor = option$1('color_default_background');
10572
10600
 
@@ -10882,7 +10910,8 @@
10882
10910
 
10883
10911
  const cellOverEvent = generate$6('cell-over');
10884
10912
  const cellExecuteEvent = generate$6('cell-execute');
10885
- const makeCell = (row, col, labelId) => {
10913
+ const makeAnnouncementText = backstage => (row, col) => backstage.shared.providers.translate(`${ col } columns, ${ row } rows`);
10914
+ const makeCell = (row, col, label) => {
10886
10915
  const emitCellOver = c => emitWith(c, cellOverEvent, {
10887
10916
  row,
10888
10917
  col
@@ -10900,7 +10929,7 @@
10900
10929
  tag: 'div',
10901
10930
  attributes: {
10902
10931
  role: 'button',
10903
- ['aria-labelledby']: labelId
10932
+ ['aria-label']: label
10904
10933
  }
10905
10934
  },
10906
10935
  behaviours: derive$1([
@@ -10918,12 +10947,13 @@
10918
10947
  ])
10919
10948
  });
10920
10949
  };
10921
- const makeCells = (labelId, numRows, numCols) => {
10950
+ const makeCells = (getCellLabel, numRows, numCols) => {
10922
10951
  const cells = [];
10923
10952
  for (let i = 0; i < numRows; i++) {
10924
10953
  const row = [];
10925
10954
  for (let j = 0; j < numCols; j++) {
10926
- row.push(makeCell(i, j, labelId));
10955
+ const label = getCellLabel(i + 1, j + 1);
10956
+ row.push(makeCell(i, j, label));
10927
10957
  }
10928
10958
  cells.push(row);
10929
10959
  }
@@ -10938,17 +10968,16 @@
10938
10968
  };
10939
10969
  const makeComponents = cells => bind$3(cells, cellRow => map$2(cellRow, premade));
10940
10970
  const makeLabelText = (row, col) => text$2(`${ col }x${ row }`);
10941
- const renderInsertTableMenuItem = spec => {
10971
+ const renderInsertTableMenuItem = (spec, backstage) => {
10942
10972
  const numRows = 10;
10943
10973
  const numColumns = 10;
10944
- const sizeLabelId = generate$6('size-label');
10945
- const cells = makeCells(sizeLabelId, numRows, numColumns);
10974
+ const getCellLabel = makeAnnouncementText(backstage);
10975
+ const cells = makeCells(getCellLabel, numRows, numColumns);
10946
10976
  const emptyLabelText = makeLabelText(0, 0);
10947
10977
  const memLabel = record({
10948
10978
  dom: {
10949
10979
  tag: 'span',
10950
- classes: ['tox-insert-table-picker__label'],
10951
- attributes: { id: sizeLabelId }
10980
+ classes: ['tox-insert-table-picker__label']
10952
10981
  },
10953
10982
  components: [emptyLabelText],
10954
10983
  behaviours: derive$1([Replacing.config({})])
@@ -11873,12 +11902,15 @@
11873
11902
 
11874
11903
  const nonScrollingOverflows = [
11875
11904
  'visible',
11876
- 'hidden'
11905
+ 'hidden',
11906
+ 'clip'
11877
11907
  ];
11908
+ const isScrollingOverflowValue = value => trim$1(value).length > 0 && !contains$2(nonScrollingOverflows, value);
11878
11909
  const isScroller = elem => {
11879
11910
  if (isHTMLElement(elem)) {
11880
- const overflow = get$e(elem, 'overflow');
11881
- return trim$1(overflow).length > 0 && !contains$2(nonScrollingOverflows, overflow);
11911
+ const overflowX = get$e(elem, 'overflow-x');
11912
+ const overflowY = get$e(elem, 'overflow-y');
11913
+ return isScrollingOverflowValue(overflowX) || isScrollingOverflowValue(overflowY);
11882
11914
  } else {
11883
11915
  return false;
11884
11916
  }
@@ -14702,7 +14734,7 @@
14702
14734
  const isSafariOrFirefox = isSafari || isFirefox;
14703
14735
  const isChromium = browser.isChromium();
14704
14736
  const isElementScrollAtBottom = ({scrollTop, scrollHeight, clientHeight}) => Math.ceil(scrollTop) + clientHeight >= scrollHeight;
14705
- const scrollToY = (win, y) => win.scrollTo(0, y === 'bottom' ? win.document.body.scrollHeight : y);
14737
+ const scrollToY = (win, y) => win.scrollTo(0, y === 'bottom' ? 99999999 : y);
14706
14738
  const getScrollingElement = (doc, html) => {
14707
14739
  const body = doc.body;
14708
14740
  return Optional.from(!/^<!DOCTYPE (html|HTML)/.test(html) && (!isChromium && !isSafari || isNonNullable(body) && (body.scrollTop !== 0 || Math.abs(body.scrollHeight - body.clientHeight) > 1)) ? body : doc.documentElement);
@@ -14736,7 +14768,7 @@
14736
14768
  }
14737
14769
  });
14738
14770
  };
14739
- const throttleInterval = isSafariOrFirefox ? Optional.some(isSafari ? 500 : 200) : Optional.none();
14771
+ const throttleInterval = someIf(isSafariOrFirefox, isSafari ? 500 : 200);
14740
14772
  const writeValueThrottler = throttleInterval.map(interval => adaptable(writeValue, interval));
14741
14773
  const getDynamicSource = (initialData, stream) => {
14742
14774
  const cachedValue = Cell(initialData.getOr(''));
@@ -15111,6 +15143,13 @@
15111
15143
  onDehighlightItem: updateAriaOnDehighlight
15112
15144
  }
15113
15145
  },
15146
+ getAnchorOverrides: () => {
15147
+ return {
15148
+ maxHeightFunction: (element, available) => {
15149
+ anchored()(element, available - 10);
15150
+ }
15151
+ };
15152
+ },
15114
15153
  fetch: comp => Future.nu(curry(spec.fetch, comp))
15115
15154
  }));
15116
15155
  return memDropdown.asSpec();
@@ -18616,7 +18655,10 @@
18616
18655
  dom: detail.dom,
18617
18656
  components: extra.components,
18618
18657
  behaviours: augment(detail.toolbarBehaviours, extra.behaviours),
18619
- apis: { setGroups },
18658
+ apis: {
18659
+ setGroups,
18660
+ refresh: noop
18661
+ },
18620
18662
  domModification: { attributes: { role: 'group' } }
18621
18663
  };
18622
18664
  };
@@ -20561,7 +20603,7 @@
20561
20603
  name: 'more',
20562
20604
  icon: Optional.some('more-drawer'),
20563
20605
  enabled: true,
20564
- tooltip: Optional.some('More...'),
20606
+ tooltip: Optional.some('Reveal or hide additional toolbar items'),
20565
20607
  primary: false,
20566
20608
  buttonType: Optional.none(),
20567
20609
  borderless: false
@@ -21843,7 +21885,7 @@
21843
21885
  const createBespokeNumberInput = (editor, backstage, spec) => {
21844
21886
  let currentComp = Optional.none();
21845
21887
  const getValueFromCurrentComp = comp => comp.map(alloyComp => Representing.getValue(alloyComp)).getOr('');
21846
- const onSetup = onSetupEvent(editor, 'NodeChange', api => {
21888
+ const onSetup = onSetupEvent(editor, 'NodeChange SwitchMode', api => {
21847
21889
  const comp = api.getComponent();
21848
21890
  currentComp = Optional.some(comp);
21849
21891
  spec.updateInputValue(comp);
@@ -21884,7 +21926,7 @@
21884
21926
  const makeStepperButton = (action, title, tooltip, classes) => {
21885
21927
  const translatedTooltip = backstage.shared.providers.translate(tooltip);
21886
21928
  const altExecuting = generate$6('altExecuting');
21887
- const onSetup = onSetupEvent(editor, 'NodeChange', api => {
21929
+ const onSetup = onSetupEvent(editor, 'NodeChange SwitchMode', api => {
21888
21930
  Disabling.set(api.getComponent(), !editor.selection.isEditable());
21889
21931
  });
21890
21932
  const onClick = comp => {
@@ -24924,9 +24966,9 @@
24924
24966
  const sections = foldl(menuConfig, (acc, name) => {
24925
24967
  return get$g(contextMenus, name.toLowerCase()).map(menu => {
24926
24968
  const items = menu.update(selectedElement);
24927
- if (isString(items)) {
24969
+ if (isString(items) && isNotEmpty(trim$1(items))) {
24928
24970
  return addContextMenuGroup(acc, items.split(' '));
24929
- } else if (items.length > 0) {
24971
+ } else if (isArray(items) && items.length > 0) {
24930
24972
  const allItems = map$2(items, makeContextItem);
24931
24973
  return addContextMenuGroup(acc, allItems);
24932
24974
  } else {
@@ -25903,22 +25945,83 @@
25903
25945
  }]
25904
25946
  };
25905
25947
  };
25906
- const getTextComponents = () => {
25948
+ const renderHelpAccessibility = () => {
25949
+ const shortcutText = convertText('Alt+0');
25950
+ const text = `Press {0} for help`;
25951
+ return {
25952
+ dom: {
25953
+ tag: 'div',
25954
+ classes: ['tox-statusbar__help-text']
25955
+ },
25956
+ components: [text$2(global$8.translate([
25957
+ text,
25958
+ shortcutText
25959
+ ]))]
25960
+ };
25961
+ };
25962
+ const renderRightContainer = () => {
25907
25963
  const components = [];
25908
- if (useElementPath(editor)) {
25909
- components.push(renderElementPath(editor, {}, providersBackstage));
25910
- }
25911
25964
  if (editor.hasPlugin('wordcount')) {
25912
25965
  components.push(renderWordCount(editor, providersBackstage));
25913
25966
  }
25914
25967
  if (useBranding(editor)) {
25915
25968
  components.push(renderBranding());
25916
25969
  }
25970
+ return {
25971
+ dom: {
25972
+ tag: 'div',
25973
+ classes: ['tox-statusbar__right-container']
25974
+ },
25975
+ components
25976
+ };
25977
+ };
25978
+ const getTextComponents = () => {
25979
+ const components = [];
25980
+ const shouldRenderHelp = useHelpAccessibility(editor);
25981
+ const shouldRenderElementPath = useElementPath(editor);
25982
+ const shouldRenderRightContainer = useBranding(editor) || editor.hasPlugin('wordcount');
25983
+ const getTextComponentClasses = () => {
25984
+ const flexStart = 'tox-statusbar__text-container--flex-start';
25985
+ const flexEnd = 'tox-statusbar__text-container--flex-end';
25986
+ const spaceAround = 'tox-statusbar__text-container--space-around';
25987
+ if (shouldRenderHelp) {
25988
+ const container3Columns = 'tox-statusbar__text-container-3-cols';
25989
+ if (!shouldRenderRightContainer && !shouldRenderElementPath) {
25990
+ return [
25991
+ container3Columns,
25992
+ spaceAround
25993
+ ];
25994
+ }
25995
+ if (shouldRenderRightContainer && !shouldRenderElementPath) {
25996
+ return [
25997
+ container3Columns,
25998
+ flexEnd
25999
+ ];
26000
+ }
26001
+ return [
26002
+ container3Columns,
26003
+ flexStart
26004
+ ];
26005
+ }
26006
+ return [shouldRenderRightContainer && !shouldRenderElementPath ? flexEnd : flexStart];
26007
+ };
26008
+ if (shouldRenderElementPath) {
26009
+ components.push(renderElementPath(editor, {}, providersBackstage));
26010
+ }
26011
+ if (shouldRenderHelp) {
26012
+ components.push(renderHelpAccessibility());
26013
+ }
26014
+ if (shouldRenderRightContainer) {
26015
+ components.push(renderRightContainer());
26016
+ }
25917
26017
  if (components.length > 0) {
25918
26018
  return [{
25919
26019
  dom: {
25920
26020
  tag: 'div',
25921
- classes: ['tox-statusbar__text-container']
26021
+ classes: [
26022
+ 'tox-statusbar__text-container',
26023
+ ...getTextComponentClasses()
26024
+ ]
25922
26025
  },
25923
26026
  components
25924
26027
  }];