@ckeditor/ckeditor5-select-all 0.0.0-internal-20241017.0

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 (230) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/LICENSE.md +17 -0
  3. package/README.md +27 -0
  4. package/ckeditor5-metadata.json +18 -0
  5. package/dist/augmentation.d.ts +19 -0
  6. package/dist/index-content.css +4 -0
  7. package/dist/index-editor.css +4 -0
  8. package/dist/index.css +4 -0
  9. package/dist/index.d.ts +16 -0
  10. package/dist/index.js +191 -0
  11. package/dist/index.js.map +1 -0
  12. package/dist/selectall.d.ts +36 -0
  13. package/dist/selectallcommand.d.ts +36 -0
  14. package/dist/selectallediting.d.ts +32 -0
  15. package/dist/selectallui.d.ts +37 -0
  16. package/dist/translations/ar.d.ts +8 -0
  17. package/dist/translations/ar.js +5 -0
  18. package/dist/translations/ar.umd.js +11 -0
  19. package/dist/translations/bg.d.ts +8 -0
  20. package/dist/translations/bg.js +5 -0
  21. package/dist/translations/bg.umd.js +11 -0
  22. package/dist/translations/bn.d.ts +8 -0
  23. package/dist/translations/bn.js +5 -0
  24. package/dist/translations/bn.umd.js +11 -0
  25. package/dist/translations/ca.d.ts +8 -0
  26. package/dist/translations/ca.js +5 -0
  27. package/dist/translations/ca.umd.js +11 -0
  28. package/dist/translations/cs.d.ts +8 -0
  29. package/dist/translations/cs.js +5 -0
  30. package/dist/translations/cs.umd.js +11 -0
  31. package/dist/translations/da.d.ts +8 -0
  32. package/dist/translations/da.js +5 -0
  33. package/dist/translations/da.umd.js +11 -0
  34. package/dist/translations/de-ch.d.ts +8 -0
  35. package/dist/translations/de-ch.js +5 -0
  36. package/dist/translations/de-ch.umd.js +11 -0
  37. package/dist/translations/de.d.ts +8 -0
  38. package/dist/translations/de.js +5 -0
  39. package/dist/translations/de.umd.js +11 -0
  40. package/dist/translations/el.d.ts +8 -0
  41. package/dist/translations/el.js +5 -0
  42. package/dist/translations/el.umd.js +11 -0
  43. package/dist/translations/en-au.d.ts +8 -0
  44. package/dist/translations/en-au.js +5 -0
  45. package/dist/translations/en-au.umd.js +11 -0
  46. package/dist/translations/en.d.ts +8 -0
  47. package/dist/translations/en.js +5 -0
  48. package/dist/translations/en.umd.js +11 -0
  49. package/dist/translations/es.d.ts +8 -0
  50. package/dist/translations/es.js +5 -0
  51. package/dist/translations/es.umd.js +11 -0
  52. package/dist/translations/et.d.ts +8 -0
  53. package/dist/translations/et.js +5 -0
  54. package/dist/translations/et.umd.js +11 -0
  55. package/dist/translations/fa.d.ts +8 -0
  56. package/dist/translations/fa.js +5 -0
  57. package/dist/translations/fa.umd.js +11 -0
  58. package/dist/translations/fi.d.ts +8 -0
  59. package/dist/translations/fi.js +5 -0
  60. package/dist/translations/fi.umd.js +11 -0
  61. package/dist/translations/fr.d.ts +8 -0
  62. package/dist/translations/fr.js +5 -0
  63. package/dist/translations/fr.umd.js +11 -0
  64. package/dist/translations/gl.d.ts +8 -0
  65. package/dist/translations/gl.js +5 -0
  66. package/dist/translations/gl.umd.js +11 -0
  67. package/dist/translations/he.d.ts +8 -0
  68. package/dist/translations/he.js +5 -0
  69. package/dist/translations/he.umd.js +11 -0
  70. package/dist/translations/hi.d.ts +8 -0
  71. package/dist/translations/hi.js +5 -0
  72. package/dist/translations/hi.umd.js +11 -0
  73. package/dist/translations/hr.d.ts +8 -0
  74. package/dist/translations/hr.js +5 -0
  75. package/dist/translations/hr.umd.js +11 -0
  76. package/dist/translations/hu.d.ts +8 -0
  77. package/dist/translations/hu.js +5 -0
  78. package/dist/translations/hu.umd.js +11 -0
  79. package/dist/translations/id.d.ts +8 -0
  80. package/dist/translations/id.js +5 -0
  81. package/dist/translations/id.umd.js +11 -0
  82. package/dist/translations/it.d.ts +8 -0
  83. package/dist/translations/it.js +5 -0
  84. package/dist/translations/it.umd.js +11 -0
  85. package/dist/translations/ja.d.ts +8 -0
  86. package/dist/translations/ja.js +5 -0
  87. package/dist/translations/ja.umd.js +11 -0
  88. package/dist/translations/ko.d.ts +8 -0
  89. package/dist/translations/ko.js +5 -0
  90. package/dist/translations/ko.umd.js +11 -0
  91. package/dist/translations/lt.d.ts +8 -0
  92. package/dist/translations/lt.js +5 -0
  93. package/dist/translations/lt.umd.js +11 -0
  94. package/dist/translations/lv.d.ts +8 -0
  95. package/dist/translations/lv.js +5 -0
  96. package/dist/translations/lv.umd.js +11 -0
  97. package/dist/translations/ms.d.ts +8 -0
  98. package/dist/translations/ms.js +5 -0
  99. package/dist/translations/ms.umd.js +11 -0
  100. package/dist/translations/nl.d.ts +8 -0
  101. package/dist/translations/nl.js +5 -0
  102. package/dist/translations/nl.umd.js +11 -0
  103. package/dist/translations/no.d.ts +8 -0
  104. package/dist/translations/no.js +5 -0
  105. package/dist/translations/no.umd.js +11 -0
  106. package/dist/translations/pl.d.ts +8 -0
  107. package/dist/translations/pl.js +5 -0
  108. package/dist/translations/pl.umd.js +11 -0
  109. package/dist/translations/pt-br.d.ts +8 -0
  110. package/dist/translations/pt-br.js +5 -0
  111. package/dist/translations/pt-br.umd.js +11 -0
  112. package/dist/translations/pt.d.ts +8 -0
  113. package/dist/translations/pt.js +5 -0
  114. package/dist/translations/pt.umd.js +11 -0
  115. package/dist/translations/ro.d.ts +8 -0
  116. package/dist/translations/ro.js +5 -0
  117. package/dist/translations/ro.umd.js +11 -0
  118. package/dist/translations/ru.d.ts +8 -0
  119. package/dist/translations/ru.js +5 -0
  120. package/dist/translations/ru.umd.js +11 -0
  121. package/dist/translations/sk.d.ts +8 -0
  122. package/dist/translations/sk.js +5 -0
  123. package/dist/translations/sk.umd.js +11 -0
  124. package/dist/translations/sq.d.ts +8 -0
  125. package/dist/translations/sq.js +5 -0
  126. package/dist/translations/sq.umd.js +11 -0
  127. package/dist/translations/sr-latn.d.ts +8 -0
  128. package/dist/translations/sr-latn.js +5 -0
  129. package/dist/translations/sr-latn.umd.js +11 -0
  130. package/dist/translations/sr.d.ts +8 -0
  131. package/dist/translations/sr.js +5 -0
  132. package/dist/translations/sr.umd.js +11 -0
  133. package/dist/translations/sv.d.ts +8 -0
  134. package/dist/translations/sv.js +5 -0
  135. package/dist/translations/sv.umd.js +11 -0
  136. package/dist/translations/th.d.ts +8 -0
  137. package/dist/translations/th.js +5 -0
  138. package/dist/translations/th.umd.js +11 -0
  139. package/dist/translations/tk.d.ts +8 -0
  140. package/dist/translations/tk.js +5 -0
  141. package/dist/translations/tk.umd.js +11 -0
  142. package/dist/translations/tr.d.ts +8 -0
  143. package/dist/translations/tr.js +5 -0
  144. package/dist/translations/tr.umd.js +11 -0
  145. package/dist/translations/ug.d.ts +8 -0
  146. package/dist/translations/ug.js +5 -0
  147. package/dist/translations/ug.umd.js +11 -0
  148. package/dist/translations/uk.d.ts +8 -0
  149. package/dist/translations/uk.js +5 -0
  150. package/dist/translations/uk.umd.js +11 -0
  151. package/dist/translations/ur.d.ts +8 -0
  152. package/dist/translations/ur.js +5 -0
  153. package/dist/translations/ur.umd.js +11 -0
  154. package/dist/translations/uz.d.ts +8 -0
  155. package/dist/translations/uz.js +5 -0
  156. package/dist/translations/uz.umd.js +11 -0
  157. package/dist/translations/vi.d.ts +8 -0
  158. package/dist/translations/vi.js +5 -0
  159. package/dist/translations/vi.umd.js +11 -0
  160. package/dist/translations/zh-cn.d.ts +8 -0
  161. package/dist/translations/zh-cn.js +5 -0
  162. package/dist/translations/zh-cn.umd.js +11 -0
  163. package/dist/translations/zh.d.ts +8 -0
  164. package/dist/translations/zh.js +5 -0
  165. package/dist/translations/zh.umd.js +11 -0
  166. package/lang/contexts.json +3 -0
  167. package/lang/translations/ar.po +22 -0
  168. package/lang/translations/bg.po +22 -0
  169. package/lang/translations/bn.po +22 -0
  170. package/lang/translations/ca.po +22 -0
  171. package/lang/translations/cs.po +22 -0
  172. package/lang/translations/da.po +22 -0
  173. package/lang/translations/de-ch.po +22 -0
  174. package/lang/translations/de.po +22 -0
  175. package/lang/translations/el.po +22 -0
  176. package/lang/translations/en-au.po +22 -0
  177. package/lang/translations/en.po +22 -0
  178. package/lang/translations/es.po +22 -0
  179. package/lang/translations/et.po +22 -0
  180. package/lang/translations/fa.po +22 -0
  181. package/lang/translations/fi.po +22 -0
  182. package/lang/translations/fr.po +22 -0
  183. package/lang/translations/gl.po +22 -0
  184. package/lang/translations/he.po +22 -0
  185. package/lang/translations/hi.po +22 -0
  186. package/lang/translations/hr.po +22 -0
  187. package/lang/translations/hu.po +22 -0
  188. package/lang/translations/id.po +22 -0
  189. package/lang/translations/it.po +22 -0
  190. package/lang/translations/ja.po +22 -0
  191. package/lang/translations/ko.po +22 -0
  192. package/lang/translations/lt.po +22 -0
  193. package/lang/translations/lv.po +22 -0
  194. package/lang/translations/ms.po +22 -0
  195. package/lang/translations/nl.po +22 -0
  196. package/lang/translations/no.po +22 -0
  197. package/lang/translations/pl.po +22 -0
  198. package/lang/translations/pt-br.po +22 -0
  199. package/lang/translations/pt.po +22 -0
  200. package/lang/translations/ro.po +22 -0
  201. package/lang/translations/ru.po +22 -0
  202. package/lang/translations/sk.po +22 -0
  203. package/lang/translations/sq.po +22 -0
  204. package/lang/translations/sr-latn.po +22 -0
  205. package/lang/translations/sr.po +22 -0
  206. package/lang/translations/sv.po +22 -0
  207. package/lang/translations/th.po +22 -0
  208. package/lang/translations/tk.po +22 -0
  209. package/lang/translations/tr.po +22 -0
  210. package/lang/translations/ug.po +22 -0
  211. package/lang/translations/uk.po +22 -0
  212. package/lang/translations/ur.po +22 -0
  213. package/lang/translations/uz.po +22 -0
  214. package/lang/translations/vi.po +22 -0
  215. package/lang/translations/zh-cn.po +22 -0
  216. package/lang/translations/zh.po +22 -0
  217. package/package.json +39 -0
  218. package/src/augmentation.d.ts +15 -0
  219. package/src/augmentation.js +5 -0
  220. package/src/index.d.ts +12 -0
  221. package/src/index.js +11 -0
  222. package/src/selectall.d.ts +32 -0
  223. package/src/selectall.js +38 -0
  224. package/src/selectallcommand.d.ts +32 -0
  225. package/src/selectallcommand.js +64 -0
  226. package/src/selectallediting.d.ts +28 -0
  227. package/src/selectallediting.js +56 -0
  228. package/src/selectallui.d.ts +33 -0
  229. package/src/selectallui.js +69 -0
  230. package/theme/icons/select-all.svg +1 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,4 @@
1
+ Changelog
2
+ =========
3
+
4
+ All changes in the package are documented in https://github.com/ckeditor/ckeditor5/blob/master/CHANGELOG.md.
package/LICENSE.md ADDED
@@ -0,0 +1,17 @@
1
+ Software License Agreement
2
+ ==========================
3
+
4
+ **CKEditor&nbsp;5 select all feature** – https://github.com/ckeditor/ckeditor5-select-all <br>
5
+ Copyright (c) 2003–2024, [CKSource Holding sp. z o.o.](https://cksource.com) All rights reserved.
6
+
7
+ Licensed under the terms of [GNU General Public License Version 2 or later](http://www.gnu.org/licenses/gpl.html).
8
+
9
+ Sources of Intellectual Property Included in CKEditor
10
+ -----------------------------------------------------
11
+
12
+ Where not otherwise indicated, all CKEditor content is authored by CKSource engineers and consists of CKSource-owned intellectual property. In some specific instances, CKEditor will incorporate work done by developers outside of CKSource with their express permission.
13
+
14
+ Trademarks
15
+ ----------
16
+
17
+ **CKEditor** is a trademark of [CKSource Holding sp. z o.o.](https://cksource.com) All other brand and product names are trademarks, registered trademarks, or service marks of their respective holders.
package/README.md ADDED
@@ -0,0 +1,27 @@
1
+ CKEditor&nbsp;5 select all feature
2
+ ===========================
3
+
4
+ [![npm version](https://badge.fury.io/js/%40ckeditor%2Fckeditor5-select-all.svg)](https://www.npmjs.com/package/@ckeditor/ckeditor5-select-all)
5
+ [![Coverage Status](https://coveralls.io/repos/github/ckeditor/ckeditor5/badge.svg?branch=master)](https://coveralls.io/github/ckeditor/ckeditor5?branch=master)
6
+ [![Build Status](https://travis-ci.com/ckeditor/ckeditor5.svg?branch=master)](https://app.travis-ci.com/github/ckeditor/ckeditor5)
7
+
8
+ This package implements the select all feature for CKEditor&nbsp;5.
9
+
10
+ ## Demo
11
+
12
+ Check out the demo in the [select all feature guide](https://ckeditor.com/docs/ckeditor5/latest/features/select-all.html#demo).
13
+
14
+ ## Documentation
15
+
16
+ See the [`@ckeditor/ckeditor5-select-all` package](https://ckeditor.com/docs/ckeditor5/latest/api/select-all.html) as well as the [select all feature](https://ckeditor.com/docs/ckeditor5/latest/features/select-all.html) guide in [CKEditor&nbsp;5 documentation](https://ckeditor.com/docs/ckeditor5/latest/).
17
+
18
+ ## Installation
19
+
20
+ ```bash
21
+ npm install ckeditor5
22
+ ```
23
+
24
+ ## License
25
+
26
+ Licensed under the terms of [GNU General Public License Version 2 or later](http://www.gnu.org/licenses/gpl.html). For full details about the license, please check the `LICENSE.md` file or [https://ckeditor.com/legal/ckeditor-oss-license](https://ckeditor.com/legal/ckeditor-oss-license).
27
+
@@ -0,0 +1,18 @@
1
+ {
2
+ "plugins": [
3
+ {
4
+ "name": "Select all",
5
+ "className": "SelectAll",
6
+ "description": "The select all feature lets you select the entire content using the Ctrl/Cmd+A keystroke or a toolbar button. This way you can clear or copy all the content in one move.",
7
+ "docs": "features/select-all.html",
8
+ "path": "src/selectall.js",
9
+ "uiComponents": [
10
+ {
11
+ "type": "Button",
12
+ "name": "selectAll",
13
+ "iconPath": "theme/icons/select-all.svg"
14
+ }
15
+ ]
16
+ }
17
+ ]
18
+ }
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+ /**
6
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
8
+ */
9
+ import type { SelectAll, SelectAllEditing, SelectAllUI, SelectAllCommand } from './index.js';
10
+ declare module '@ckeditor/ckeditor5-core' {
11
+ interface PluginsMap {
12
+ [SelectAll.pluginName]: SelectAll;
13
+ [SelectAllEditing.pluginName]: SelectAllEditing;
14
+ [SelectAllUI.pluginName]: SelectAllUI;
15
+ }
16
+ interface CommandsMap {
17
+ selectAll: SelectAllCommand;
18
+ }
19
+ }
@@ -0,0 +1,4 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
@@ -0,0 +1,4 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
package/dist/index.css ADDED
@@ -0,0 +1,4 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+ /**
6
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
8
+ */
9
+ /**
10
+ * @module select-all
11
+ */
12
+ export { default as SelectAll } from './selectall.js';
13
+ export { default as SelectAllEditing } from './selectallediting.js';
14
+ export { default as SelectAllUI } from './selectallui.js';
15
+ export type { default as SelectAllCommand } from './selectallcommand.js';
16
+ import './augmentation.js';
package/dist/index.js ADDED
@@ -0,0 +1,191 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+ import { Command, Plugin } from '@ckeditor/ckeditor5-core/dist/index.js';
6
+ import { getCode, parseKeystroke } from '@ckeditor/ckeditor5-utils/dist/index.js';
7
+ import { ButtonView, MenuBarMenuListItemButtonView } from '@ckeditor/ckeditor5-ui/dist/index.js';
8
+
9
+ /**
10
+ * The select all command.
11
+ *
12
+ * It is used by the {@link module:select-all/selectallediting~SelectAllEditing select all editing feature} to handle
13
+ * the <kbd>Ctrl/⌘</kbd>+<kbd>A</kbd> keystroke.
14
+ *
15
+ * Executing this command changes the {@glink framework/architecture/editing-engine#model model}
16
+ * selection so it contains the entire content of the editable root of the editor the selection is
17
+ * {@link module:engine/model/selection~Selection#anchor anchored} in.
18
+ *
19
+ * If the selection was anchored in a {@glink framework/tutorials/widgets/implementing-a-block-widget nested editable}
20
+ * (e.g. a caption of an image), the new selection will contain its entire content. Successive executions of this command
21
+ * will expand the selection to encompass more and more content up to the entire editable root of the editor.
22
+ */ class SelectAllCommand extends Command {
23
+ /**
24
+ * @inheritDoc
25
+ */ constructor(editor){
26
+ super(editor);
27
+ // It does not affect data so should be enabled in read-only mode.
28
+ this.affectsData = false;
29
+ }
30
+ /**
31
+ * @inheritDoc
32
+ */ execute() {
33
+ const model = this.editor.model;
34
+ const selection = model.document.selection;
35
+ let scopeElement = model.schema.getLimitElement(selection);
36
+ // If an entire scope is selected, or the selection's ancestor is not a scope yet,
37
+ // browse through ancestors to find the enclosing parent scope.
38
+ if (selection.containsEntireContent(scopeElement) || !isSelectAllScope(model.schema, scopeElement)) {
39
+ do {
40
+ scopeElement = scopeElement.parent;
41
+ // Do nothing, if the entire `root` is already selected.
42
+ if (!scopeElement) {
43
+ return;
44
+ }
45
+ }while (!isSelectAllScope(model.schema, scopeElement))
46
+ }
47
+ model.change((writer)=>{
48
+ writer.setSelection(scopeElement, 'in');
49
+ });
50
+ }
51
+ }
52
+ /**
53
+ * Checks whether the element is a valid select-all scope. Returns true, if the element is a
54
+ * {@link module:engine/model/schema~Schema#isLimit limit}, and can contain any text or paragraph.
55
+ *
56
+ * @param schema Schema to check against.
57
+ * @param element Model element.
58
+ */ function isSelectAllScope(schema, element) {
59
+ return schema.isLimit(element) && (schema.checkChild(element, '$text') || schema.checkChild(element, 'paragraph'));
60
+ }
61
+
62
+ const SELECT_ALL_KEYSTROKE = /* #__PURE__ */ parseKeystroke('Ctrl+A');
63
+ /**
64
+ * The select all editing feature.
65
+ *
66
+ * It registers the `'selectAll'` {@link module:select-all/selectallcommand~SelectAllCommand command}
67
+ * and the <kbd>Ctrl/⌘</kbd>+<kbd>A</kbd> keystroke listener which executes it.
68
+ */ class SelectAllEditing extends Plugin {
69
+ /**
70
+ * @inheritDoc
71
+ */ static get pluginName() {
72
+ return 'SelectAllEditing';
73
+ }
74
+ /**
75
+ * @inheritDoc
76
+ */ static get isOfficialPlugin() {
77
+ return true;
78
+ }
79
+ /**
80
+ * @inheritDoc
81
+ */ init() {
82
+ const editor = this.editor;
83
+ const t = editor.t;
84
+ const view = editor.editing.view;
85
+ const viewDocument = view.document;
86
+ editor.commands.add('selectAll', new SelectAllCommand(editor));
87
+ this.listenTo(viewDocument, 'keydown', (eventInfo, domEventData)=>{
88
+ if (getCode(domEventData) === SELECT_ALL_KEYSTROKE) {
89
+ editor.execute('selectAll');
90
+ domEventData.preventDefault();
91
+ }
92
+ });
93
+ // Add the information about the keystroke to the accessibility database.
94
+ editor.accessibility.addKeystrokeInfos({
95
+ keystrokes: [
96
+ {
97
+ label: t('Select all'),
98
+ keystroke: 'CTRL+A'
99
+ }
100
+ ]
101
+ });
102
+ }
103
+ }
104
+
105
+ var selectAllIcon = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\"><path d=\"M.75 15.5a.75.75 0 0 1 .75.75V18l.008.09A.5.5 0 0 0 2 18.5h1.75a.75.75 0 1 1 0 1.5H1.5l-.144-.007a1.5 1.5 0 0 1-1.35-1.349L0 18.5v-2.25a.75.75 0 0 1 .75-.75zm18.5 0a.75.75 0 0 1 .75.75v2.25l-.007.144a1.5 1.5 0 0 1-1.349 1.35L18.5 20h-2.25a.75.75 0 1 1 0-1.5H18a.5.5 0 0 0 .492-.41L18.5 18v-1.75a.75.75 0 0 1 .75-.75zm-10.45 3c.11 0 .2.09.2.2v1.1a.2.2 0 0 1-.2.2H7.2a.2.2 0 0 1-.2-.2v-1.1c0-.11.09-.2.2-.2h1.6zm4 0c.11 0 .2.09.2.2v1.1a.2.2 0 0 1-.2.2h-1.6a.2.2 0 0 1-.2-.2v-1.1c0-.11.09-.2.2-.2h1.6zm.45-5.5a.75.75 0 1 1 0 1.5h-8.5a.75.75 0 1 1 0-1.5h8.5zM1.3 11c.11 0 .2.09.2.2v1.6a.2.2 0 0 1-.2.2H.2a.2.2 0 0 1-.2-.2v-1.6c0-.11.09-.2.2-.2h1.1zm18.5 0c.11 0 .2.09.2.2v1.6a.2.2 0 0 1-.2.2h-1.1a.2.2 0 0 1-.2-.2v-1.6c0-.11.09-.2.2-.2h1.1zm-4.55-2a.75.75 0 1 1 0 1.5H4.75a.75.75 0 1 1 0-1.5h10.5zM1.3 7c.11 0 .2.09.2.2v1.6a.2.2 0 0 1-.2.2H.2a.2.2 0 0 1-.2-.2V7.2c0-.11.09-.2.2-.2h1.1zm18.5 0c.11 0 .2.09.2.2v1.6a.2.2 0 0 1-.2.2h-1.1a.2.2 0 0 1-.2-.2V7.2c0-.11.09-.2.2-.2h1.1zm-4.55-2a.75.75 0 1 1 0 1.5h-2.5a.75.75 0 1 1 0-1.5h2.5zm-5 0a.75.75 0 1 1 0 1.5h-5.5a.75.75 0 0 1 0-1.5h5.5zm-6.5-5a.75.75 0 0 1 0 1.5H2a.5.5 0 0 0-.492.41L1.5 2v1.75a.75.75 0 0 1-1.5 0V1.5l.007-.144A1.5 1.5 0 0 1 1.356.006L1.5 0h2.25zM18.5 0l.144.007a1.5 1.5 0 0 1 1.35 1.349L20 1.5v2.25a.75.75 0 1 1-1.5 0V2l-.008-.09A.5.5 0 0 0 18 1.5h-1.75a.75.75 0 1 1 0-1.5h2.25zM8.8 0c.11 0 .2.09.2.2v1.1a.2.2 0 0 1-.2.2H7.2a.2.2 0 0 1-.2-.2V.2c0-.11.09-.2.2-.2h1.6zm4 0c.11 0 .2.09.2.2v1.1a.2.2 0 0 1-.2.2h-1.6a.2.2 0 0 1-.2-.2V.2c0-.11.09-.2.2-.2h1.6z\"/></svg>";
106
+
107
+ /**
108
+ * The select all UI feature.
109
+ *
110
+ * It registers the `'selectAll'` UI button in the editor's
111
+ * {@link module:ui/componentfactory~ComponentFactory component factory}. When clicked, the button
112
+ * executes the {@link module:select-all/selectallcommand~SelectAllCommand select all command}.
113
+ */ class SelectAllUI extends Plugin {
114
+ /**
115
+ * @inheritDoc
116
+ */ static get pluginName() {
117
+ return 'SelectAllUI';
118
+ }
119
+ /**
120
+ * @inheritDoc
121
+ */ static get isOfficialPlugin() {
122
+ return true;
123
+ }
124
+ /**
125
+ * @inheritDoc
126
+ */ init() {
127
+ const editor = this.editor;
128
+ editor.ui.componentFactory.add('selectAll', ()=>{
129
+ const buttonView = this._createButton(ButtonView);
130
+ buttonView.set({
131
+ tooltip: true
132
+ });
133
+ return buttonView;
134
+ });
135
+ editor.ui.componentFactory.add('menuBar:selectAll', ()=>{
136
+ return this._createButton(MenuBarMenuListItemButtonView);
137
+ });
138
+ }
139
+ /**
140
+ * Creates a button for select all command to use either in toolbar or in menu bar.
141
+ */ _createButton(ButtonClass) {
142
+ const editor = this.editor;
143
+ const locale = editor.locale;
144
+ const command = editor.commands.get('selectAll');
145
+ const view = new ButtonClass(editor.locale);
146
+ const t = locale.t;
147
+ view.set({
148
+ label: t('Select all'),
149
+ icon: selectAllIcon,
150
+ keystroke: 'Ctrl+A'
151
+ });
152
+ view.bind('isEnabled').to(command, 'isEnabled');
153
+ // Execute the command.
154
+ this.listenTo(view, 'execute', ()=>{
155
+ editor.execute('selectAll');
156
+ editor.editing.view.focus();
157
+ });
158
+ return view;
159
+ }
160
+ }
161
+
162
+ /**
163
+ * The select all feature.
164
+ *
165
+ * This is a "glue" plugin which loads the {@link module:select-all/selectallediting~SelectAllEditing select all editing feature}
166
+ * and the {@link module:select-all/selectallui~SelectAllUI select all UI feature}.
167
+ *
168
+ * Please refer to the documentation of individual features to learn more.
169
+ */ class SelectAll extends Plugin {
170
+ /**
171
+ * @inheritDoc
172
+ */ static get requires() {
173
+ return [
174
+ SelectAllEditing,
175
+ SelectAllUI
176
+ ];
177
+ }
178
+ /**
179
+ * @inheritDoc
180
+ */ static get pluginName() {
181
+ return 'SelectAll';
182
+ }
183
+ /**
184
+ * @inheritDoc
185
+ */ static get isOfficialPlugin() {
186
+ return true;
187
+ }
188
+ }
189
+
190
+ export { SelectAll, SelectAllEditing, SelectAllUI };
191
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.js","../src/selectallcommand.ts","../src/selectallediting.ts","../src/selectallui.ts","../src/selectall.ts"],"names":["SelectAllCommand","Command","constructor","editor","affectsData","model","selection","document","scopeElement","schema","getLimitElement","containsEntireContent","isSelectAllScope","parent","change","writer","setSelection","element","isLimit","checkChild","SELECT_ALL_KEYSTROKE","parseKeystroke","SelectAllEditing","Plugin","pluginName","isOfficialPlugin","t","view","editing","viewDocument","commands","add","listenTo","eventInfo","domEventData","getCode","execute","preventDefault","accessibility","addKeystrokeInfos","keystrokes","label","keystroke","SelectAllUI","ui","componentFactory","buttonView","_createButton","ButtonView","set","tooltip","MenuBarMenuListItemButtonView","ButtonClass","locale","command","get","icon","selectAllIcon","bind","to","focus","SelectAll","requires"],"mappings":"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AAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,E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","file":"index.js.map","sourcesContent":["import { Command, Plugin } from '@ckeditor/ckeditor5-core/dist/index.js';\nimport { getCode, parseKeystroke } from '@ckeditor/ckeditor5-utils/dist/index.js';\nimport { ButtonView, MenuBarMenuListItemButtonView } from '@ckeditor/ckeditor5-ui/dist/index.js';\n\n/**\n * The select all command.\n *\n * It is used by the {@link module:select-all/selectallediting~SelectAllEditing select all editing feature} to handle\n * the <kbd>Ctrl/⌘</kbd>+<kbd>A</kbd> keystroke.\n *\n * Executing this command changes the {@glink framework/architecture/editing-engine#model model}\n * selection so it contains the entire content of the editable root of the editor the selection is\n * {@link module:engine/model/selection~Selection#anchor anchored} in.\n *\n * If the selection was anchored in a {@glink framework/tutorials/widgets/implementing-a-block-widget nested editable}\n * (e.g. a caption of an image), the new selection will contain its entire content. Successive executions of this command\n * will expand the selection to encompass more and more content up to the entire editable root of the editor.\n */ class SelectAllCommand extends Command {\n /**\n\t * @inheritDoc\n\t */ constructor(editor){\n super(editor);\n // It does not affect data so should be enabled in read-only mode.\n this.affectsData = false;\n }\n /**\n\t * @inheritDoc\n\t */ execute() {\n const model = this.editor.model;\n const selection = model.document.selection;\n let scopeElement = model.schema.getLimitElement(selection);\n // If an entire scope is selected, or the selection's ancestor is not a scope yet,\n // browse through ancestors to find the enclosing parent scope.\n if (selection.containsEntireContent(scopeElement) || !isSelectAllScope(model.schema, scopeElement)) {\n do {\n scopeElement = scopeElement.parent;\n // Do nothing, if the entire `root` is already selected.\n if (!scopeElement) {\n return;\n }\n }while (!isSelectAllScope(model.schema, scopeElement))\n }\n model.change((writer)=>{\n writer.setSelection(scopeElement, 'in');\n });\n }\n}\n/**\n * Checks whether the element is a valid select-all scope. Returns true, if the element is a\n * {@link module:engine/model/schema~Schema#isLimit limit}, and can contain any text or paragraph.\n *\n * @param schema Schema to check against.\n * @param element Model element.\n */ function isSelectAllScope(schema, element) {\n return schema.isLimit(element) && (schema.checkChild(element, '$text') || schema.checkChild(element, 'paragraph'));\n}\n\nconst SELECT_ALL_KEYSTROKE = /* #__PURE__ */ parseKeystroke('Ctrl+A');\n/**\n * The select all editing feature.\n *\n * It registers the `'selectAll'` {@link module:select-all/selectallcommand~SelectAllCommand command}\n * and the <kbd>Ctrl/⌘</kbd>+<kbd>A</kbd> keystroke listener which executes it.\n */ class SelectAllEditing extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'SelectAllEditing';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n /**\n\t * @inheritDoc\n\t */ init() {\n const editor = this.editor;\n const t = editor.t;\n const view = editor.editing.view;\n const viewDocument = view.document;\n editor.commands.add('selectAll', new SelectAllCommand(editor));\n this.listenTo(viewDocument, 'keydown', (eventInfo, domEventData)=>{\n if (getCode(domEventData) === SELECT_ALL_KEYSTROKE) {\n editor.execute('selectAll');\n domEventData.preventDefault();\n }\n });\n // Add the information about the keystroke to the accessibility database.\n editor.accessibility.addKeystrokeInfos({\n keystrokes: [\n {\n label: t('Select all'),\n keystroke: 'CTRL+A'\n }\n ]\n });\n }\n}\n\nvar selectAllIcon = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 20 20\\\"><path d=\\\"M.75 15.5a.75.75 0 0 1 .75.75V18l.008.09A.5.5 0 0 0 2 18.5h1.75a.75.75 0 1 1 0 1.5H1.5l-.144-.007a1.5 1.5 0 0 1-1.35-1.349L0 18.5v-2.25a.75.75 0 0 1 .75-.75zm18.5 0a.75.75 0 0 1 .75.75v2.25l-.007.144a1.5 1.5 0 0 1-1.349 1.35L18.5 20h-2.25a.75.75 0 1 1 0-1.5H18a.5.5 0 0 0 .492-.41L18.5 18v-1.75a.75.75 0 0 1 .75-.75zm-10.45 3c.11 0 .2.09.2.2v1.1a.2.2 0 0 1-.2.2H7.2a.2.2 0 0 1-.2-.2v-1.1c0-.11.09-.2.2-.2h1.6zm4 0c.11 0 .2.09.2.2v1.1a.2.2 0 0 1-.2.2h-1.6a.2.2 0 0 1-.2-.2v-1.1c0-.11.09-.2.2-.2h1.6zm.45-5.5a.75.75 0 1 1 0 1.5h-8.5a.75.75 0 1 1 0-1.5h8.5zM1.3 11c.11 0 .2.09.2.2v1.6a.2.2 0 0 1-.2.2H.2a.2.2 0 0 1-.2-.2v-1.6c0-.11.09-.2.2-.2h1.1zm18.5 0c.11 0 .2.09.2.2v1.6a.2.2 0 0 1-.2.2h-1.1a.2.2 0 0 1-.2-.2v-1.6c0-.11.09-.2.2-.2h1.1zm-4.55-2a.75.75 0 1 1 0 1.5H4.75a.75.75 0 1 1 0-1.5h10.5zM1.3 7c.11 0 .2.09.2.2v1.6a.2.2 0 0 1-.2.2H.2a.2.2 0 0 1-.2-.2V7.2c0-.11.09-.2.2-.2h1.1zm18.5 0c.11 0 .2.09.2.2v1.6a.2.2 0 0 1-.2.2h-1.1a.2.2 0 0 1-.2-.2V7.2c0-.11.09-.2.2-.2h1.1zm-4.55-2a.75.75 0 1 1 0 1.5h-2.5a.75.75 0 1 1 0-1.5h2.5zm-5 0a.75.75 0 1 1 0 1.5h-5.5a.75.75 0 0 1 0-1.5h5.5zm-6.5-5a.75.75 0 0 1 0 1.5H2a.5.5 0 0 0-.492.41L1.5 2v1.75a.75.75 0 0 1-1.5 0V1.5l.007-.144A1.5 1.5 0 0 1 1.356.006L1.5 0h2.25zM18.5 0l.144.007a1.5 1.5 0 0 1 1.35 1.349L20 1.5v2.25a.75.75 0 1 1-1.5 0V2l-.008-.09A.5.5 0 0 0 18 1.5h-1.75a.75.75 0 1 1 0-1.5h2.25zM8.8 0c.11 0 .2.09.2.2v1.1a.2.2 0 0 1-.2.2H7.2a.2.2 0 0 1-.2-.2V.2c0-.11.09-.2.2-.2h1.6zm4 0c.11 0 .2.09.2.2v1.1a.2.2 0 0 1-.2.2h-1.6a.2.2 0 0 1-.2-.2V.2c0-.11.09-.2.2-.2h1.6z\\\"/></svg>\";\n\n/**\n * The select all UI feature.\n *\n * It registers the `'selectAll'` UI button in the editor's\n * {@link module:ui/componentfactory~ComponentFactory component factory}. When clicked, the button\n * executes the {@link module:select-all/selectallcommand~SelectAllCommand select all command}.\n */ class SelectAllUI extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'SelectAllUI';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n /**\n\t * @inheritDoc\n\t */ init() {\n const editor = this.editor;\n editor.ui.componentFactory.add('selectAll', ()=>{\n const buttonView = this._createButton(ButtonView);\n buttonView.set({\n tooltip: true\n });\n return buttonView;\n });\n editor.ui.componentFactory.add('menuBar:selectAll', ()=>{\n return this._createButton(MenuBarMenuListItemButtonView);\n });\n }\n /**\n\t * Creates a button for select all command to use either in toolbar or in menu bar.\n\t */ _createButton(ButtonClass) {\n const editor = this.editor;\n const locale = editor.locale;\n const command = editor.commands.get('selectAll');\n const view = new ButtonClass(editor.locale);\n const t = locale.t;\n view.set({\n label: t('Select all'),\n icon: selectAllIcon,\n keystroke: 'Ctrl+A'\n });\n view.bind('isEnabled').to(command, 'isEnabled');\n // Execute the command.\n this.listenTo(view, 'execute', ()=>{\n editor.execute('selectAll');\n editor.editing.view.focus();\n });\n return view;\n }\n}\n\n/**\n * The select all feature.\n *\n * This is a \"glue\" plugin which loads the {@link module:select-all/selectallediting~SelectAllEditing select all editing feature}\n * and the {@link module:select-all/selectallui~SelectAllUI select all UI feature}.\n *\n * Please refer to the documentation of individual features to learn more.\n */ class SelectAll extends Plugin {\n /**\n\t * @inheritDoc\n\t */ static get requires() {\n return [\n SelectAllEditing,\n SelectAllUI\n ];\n }\n /**\n\t * @inheritDoc\n\t */ static get pluginName() {\n return 'SelectAll';\n }\n /**\n\t * @inheritDoc\n\t */ static get isOfficialPlugin() {\n return true;\n }\n}\n\nexport { SelectAll, SelectAllEditing, SelectAllUI };\n//# sourceMappingURL=index.js.map\n","/**\n * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module select-all/selectallcommand\n */\n\nimport { Command, type Editor } from '@ckeditor/ckeditor5-core';\nimport type { Element, Schema } from '@ckeditor/ckeditor5-engine';\n\n/**\n * The select all command.\n *\n * It is used by the {@link module:select-all/selectallediting~SelectAllEditing select all editing feature} to handle\n * the <kbd>Ctrl/⌘</kbd>+<kbd>A</kbd> keystroke.\n *\n * Executing this command changes the {@glink framework/architecture/editing-engine#model model}\n * selection so it contains the entire content of the editable root of the editor the selection is\n * {@link module:engine/model/selection~Selection#anchor anchored} in.\n *\n * If the selection was anchored in a {@glink framework/tutorials/widgets/implementing-a-block-widget nested editable}\n * (e.g. a caption of an image), the new selection will contain its entire content. Successive executions of this command\n * will expand the selection to encompass more and more content up to the entire editable root of the editor.\n */\nexport default class SelectAllCommand extends Command {\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor( editor: Editor ) {\n\t\tsuper( editor );\n\n\t\t// It does not affect data so should be enabled in read-only mode.\n\t\tthis.affectsData = false;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic override execute(): void {\n\t\tconst model = this.editor.model;\n\t\tconst selection = model.document.selection;\n\t\tlet scopeElement: Element | null = model.schema.getLimitElement( selection );\n\n\t\t// If an entire scope is selected, or the selection's ancestor is not a scope yet,\n\t\t// browse through ancestors to find the enclosing parent scope.\n\t\tif ( selection.containsEntireContent( scopeElement ) || !isSelectAllScope( model.schema, scopeElement ) ) {\n\t\t\tdo {\n\t\t\t\tscopeElement = scopeElement.parent as Element | null;\n\n\t\t\t\t// Do nothing, if the entire `root` is already selected.\n\t\t\t\tif ( !scopeElement ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} while ( !isSelectAllScope( model.schema, scopeElement ) );\n\t\t}\n\n\t\tmodel.change( writer => {\n\t\t\twriter.setSelection( scopeElement!, 'in' );\n\t\t} );\n\t}\n}\n\n/**\n * Checks whether the element is a valid select-all scope. Returns true, if the element is a\n * {@link module:engine/model/schema~Schema#isLimit limit}, and can contain any text or paragraph.\n *\n * @param schema Schema to check against.\n * @param element Model element.\n */\nfunction isSelectAllScope( schema: Schema, element: Element ): boolean {\n\treturn schema.isLimit( element ) && ( schema.checkChild( element, '$text' ) || schema.checkChild( element, 'paragraph' ) );\n}\n","/**\n * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module select-all/selectallediting\n */\n\nimport { Plugin } from '@ckeditor/ckeditor5-core';\nimport { getCode, parseKeystroke } from '@ckeditor/ckeditor5-utils';\nimport SelectAllCommand from './selectallcommand.js';\nimport type { ViewDocumentKeyDownEvent } from '@ckeditor/ckeditor5-engine';\n\nconst SELECT_ALL_KEYSTROKE = /* #__PURE__ */ parseKeystroke( 'Ctrl+A' );\n\n/**\n * The select all editing feature.\n *\n * It registers the `'selectAll'` {@link module:select-all/selectallcommand~SelectAllCommand command}\n * and the <kbd>Ctrl/⌘</kbd>+<kbd>A</kbd> keystroke listener which executes it.\n */\nexport default class SelectAllEditing extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'SelectAllEditing' as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static override get isOfficialPlugin(): true {\n\t\treturn true;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic init(): void {\n\t\tconst editor = this.editor;\n\t\tconst t = editor.t;\n\t\tconst view = editor.editing.view;\n\t\tconst viewDocument = view.document;\n\n\t\teditor.commands.add( 'selectAll', new SelectAllCommand( editor ) );\n\n\t\tthis.listenTo<ViewDocumentKeyDownEvent>( viewDocument, 'keydown', ( eventInfo, domEventData ) => {\n\t\t\tif ( getCode( domEventData ) === SELECT_ALL_KEYSTROKE ) {\n\t\t\t\teditor.execute( 'selectAll' );\n\t\t\t\tdomEventData.preventDefault();\n\t\t\t}\n\t\t} );\n\n\t\t// Add the information about the keystroke to the accessibility database.\n\t\teditor.accessibility.addKeystrokeInfos( {\n\t\t\tkeystrokes: [\n\t\t\t\t{\n\t\t\t\t\tlabel: t( 'Select all' ),\n\t\t\t\t\tkeystroke: 'CTRL+A'\n\t\t\t\t}\n\t\t\t]\n\t\t} );\n\t}\n}\n","/**\n * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module select-all/selectallui\n */\n\nimport { Plugin } from '@ckeditor/ckeditor5-core';\nimport { ButtonView, MenuBarMenuListItemButtonView } from '@ckeditor/ckeditor5-ui';\n\nimport selectAllIcon from '../theme/icons/select-all.svg';\n\n/**\n * The select all UI feature.\n *\n * It registers the `'selectAll'` UI button in the editor's\n * {@link module:ui/componentfactory~ComponentFactory component factory}. When clicked, the button\n * executes the {@link module:select-all/selectallcommand~SelectAllCommand select all command}.\n */\nexport default class SelectAllUI extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'SelectAllUI' as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static override get isOfficialPlugin(): true {\n\t\treturn true;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic init(): void {\n\t\tconst editor = this.editor;\n\n\t\teditor.ui.componentFactory.add( 'selectAll', () => {\n\t\t\tconst buttonView = this._createButton( ButtonView );\n\n\t\t\tbuttonView.set( {\n\t\t\t\ttooltip: true\n\t\t\t} );\n\n\t\t\treturn buttonView;\n\t\t} );\n\n\t\teditor.ui.componentFactory.add( 'menuBar:selectAll', () => {\n\t\t\treturn this._createButton( MenuBarMenuListItemButtonView );\n\t\t} );\n\t}\n\n\t/**\n\t * Creates a button for select all command to use either in toolbar or in menu bar.\n\t */\n\tprivate _createButton<T extends typeof ButtonView | typeof MenuBarMenuListItemButtonView>( ButtonClass: T ): InstanceType<T> {\n\t\tconst editor = this.editor;\n\t\tconst locale = editor.locale;\n\t\tconst command = editor.commands.get( 'selectAll' )!;\n\t\tconst view = new ButtonClass( editor.locale ) as InstanceType<T>;\n\t\tconst t = locale.t;\n\n\t\tview.set( {\n\t\t\tlabel: t( 'Select all' ),\n\t\t\ticon: selectAllIcon,\n\t\t\tkeystroke: 'Ctrl+A'\n\t\t} );\n\n\t\tview.bind( 'isEnabled' ).to( command, 'isEnabled' );\n\n\t\t// Execute the command.\n\t\tthis.listenTo( view, 'execute', () => {\n\t\t\teditor.execute( 'selectAll' );\n\t\t\teditor.editing.view.focus();\n\t\t} );\n\n\t\treturn view;\n\t}\n}\n","/**\n * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * @module select-all/selectall\n */\n\nimport { Plugin } from '@ckeditor/ckeditor5-core';\nimport SelectAllEditing from './selectallediting.js';\nimport SelectAllUI from './selectallui.js';\n\n/**\n * The select all feature.\n *\n * This is a \"glue\" plugin which loads the {@link module:select-all/selectallediting~SelectAllEditing select all editing feature}\n * and the {@link module:select-all/selectallui~SelectAllUI select all UI feature}.\n *\n * Please refer to the documentation of individual features to learn more.\n */\nexport default class SelectAll extends Plugin {\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get requires() {\n\t\treturn [ SelectAllEditing, SelectAllUI ] as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static get pluginName() {\n\t\treturn 'SelectAll' as const;\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tpublic static override get isOfficialPlugin(): true {\n\t\treturn true;\n\t}\n}\n"]}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+ /**
6
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
8
+ */
9
+ /**
10
+ * @module select-all/selectall
11
+ */
12
+ import { Plugin } from '@ckeditor/ckeditor5-core';
13
+ import SelectAllEditing from './selectallediting.js';
14
+ import SelectAllUI from './selectallui.js';
15
+ /**
16
+ * The select all feature.
17
+ *
18
+ * This is a "glue" plugin which loads the {@link module:select-all/selectallediting~SelectAllEditing select all editing feature}
19
+ * and the {@link module:select-all/selectallui~SelectAllUI select all UI feature}.
20
+ *
21
+ * Please refer to the documentation of individual features to learn more.
22
+ */
23
+ export default class SelectAll extends Plugin {
24
+ /**
25
+ * @inheritDoc
26
+ */
27
+ static get requires(): readonly [typeof SelectAllEditing, typeof SelectAllUI];
28
+ /**
29
+ * @inheritDoc
30
+ */
31
+ static get pluginName(): "SelectAll";
32
+ /**
33
+ * @inheritDoc
34
+ */
35
+ static get isOfficialPlugin(): true;
36
+ }
@@ -0,0 +1,36 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+ /**
6
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
8
+ */
9
+ /**
10
+ * @module select-all/selectallcommand
11
+ */
12
+ import { Command, type Editor } from '@ckeditor/ckeditor5-core';
13
+ /**
14
+ * The select all command.
15
+ *
16
+ * It is used by the {@link module:select-all/selectallediting~SelectAllEditing select all editing feature} to handle
17
+ * the <kbd>Ctrl/⌘</kbd>+<kbd>A</kbd> keystroke.
18
+ *
19
+ * Executing this command changes the {@glink framework/architecture/editing-engine#model model}
20
+ * selection so it contains the entire content of the editable root of the editor the selection is
21
+ * {@link module:engine/model/selection~Selection#anchor anchored} in.
22
+ *
23
+ * If the selection was anchored in a {@glink framework/tutorials/widgets/implementing-a-block-widget nested editable}
24
+ * (e.g. a caption of an image), the new selection will contain its entire content. Successive executions of this command
25
+ * will expand the selection to encompass more and more content up to the entire editable root of the editor.
26
+ */
27
+ export default class SelectAllCommand extends Command {
28
+ /**
29
+ * @inheritDoc
30
+ */
31
+ constructor(editor: Editor);
32
+ /**
33
+ * @inheritDoc
34
+ */
35
+ execute(): void;
36
+ }
@@ -0,0 +1,32 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+ /**
6
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
8
+ */
9
+ /**
10
+ * @module select-all/selectallediting
11
+ */
12
+ import { Plugin } from '@ckeditor/ckeditor5-core';
13
+ /**
14
+ * The select all editing feature.
15
+ *
16
+ * It registers the `'selectAll'` {@link module:select-all/selectallcommand~SelectAllCommand command}
17
+ * and the <kbd>Ctrl/⌘</kbd>+<kbd>A</kbd> keystroke listener which executes it.
18
+ */
19
+ export default class SelectAllEditing extends Plugin {
20
+ /**
21
+ * @inheritDoc
22
+ */
23
+ static get pluginName(): "SelectAllEditing";
24
+ /**
25
+ * @inheritDoc
26
+ */
27
+ static get isOfficialPlugin(): true;
28
+ /**
29
+ * @inheritDoc
30
+ */
31
+ init(): void;
32
+ }
@@ -0,0 +1,37 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+ /**
6
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
7
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
8
+ */
9
+ /**
10
+ * @module select-all/selectallui
11
+ */
12
+ import { Plugin } from '@ckeditor/ckeditor5-core';
13
+ /**
14
+ * The select all UI feature.
15
+ *
16
+ * It registers the `'selectAll'` UI button in the editor's
17
+ * {@link module:ui/componentfactory~ComponentFactory component factory}. When clicked, the button
18
+ * executes the {@link module:select-all/selectallcommand~SelectAllCommand select all command}.
19
+ */
20
+ export default class SelectAllUI extends Plugin {
21
+ /**
22
+ * @inheritDoc
23
+ */
24
+ static get pluginName(): "SelectAllUI";
25
+ /**
26
+ * @inheritDoc
27
+ */
28
+ static get isOfficialPlugin(): true;
29
+ /**
30
+ * @inheritDoc
31
+ */
32
+ init(): void;
33
+ /**
34
+ * Creates a button for select all command to use either in toolbar or in menu bar.
35
+ */
36
+ private _createButton;
37
+ }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+
6
+ import type { Translations } from '@ckeditor/ckeditor5-utils';
7
+ declare const translations: Translations;
8
+ export default translations;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+ export default {"ar":{"dictionary":{"Select all":"تحديد الكل"},getPluralForm(n){return n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;}}}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+
6
+ ( e => {
7
+ const { [ 'ar' ]: { dictionary, getPluralForm } } = {"ar":{"dictionary":{"Select all":"تحديد الكل"},getPluralForm(n){return n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;}}};
8
+ e[ 'ar' ] ||= { dictionary: {}, getPluralForm: null };
9
+ e[ 'ar' ].dictionary = Object.assign( e[ 'ar' ].dictionary, dictionary );
10
+ e[ 'ar' ].getPluralForm = getPluralForm;
11
+ } )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+
6
+ import type { Translations } from '@ckeditor/ckeditor5-utils';
7
+ declare const translations: Translations;
8
+ export default translations;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+ export default {"bg":{"dictionary":{"Select all":"Избери всички"},getPluralForm(n){return (n != 1);}}}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+
6
+ ( e => {
7
+ const { [ 'bg' ]: { dictionary, getPluralForm } } = {"bg":{"dictionary":{"Select all":"Избери всички"},getPluralForm(n){return (n != 1);}}};
8
+ e[ 'bg' ] ||= { dictionary: {}, getPluralForm: null };
9
+ e[ 'bg' ].dictionary = Object.assign( e[ 'bg' ].dictionary, dictionary );
10
+ e[ 'bg' ].getPluralForm = getPluralForm;
11
+ } )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+
6
+ import type { Translations } from '@ckeditor/ckeditor5-utils';
7
+ declare const translations: Translations;
8
+ export default translations;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+ export default {"bn":{"dictionary":{"Select all":"সব নির্বাচন করুন"},getPluralForm(n){return (n != 1);}}}