@flogeez/angular-tiptap-editor 2.3.0 → 2.4.1

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 (105) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +132 -93
  3. package/esm2022/flogeez-angular-tiptap-editor.mjs +5 -0
  4. package/esm2022/lib/ate-editor.provider.mjs +38 -0
  5. package/esm2022/lib/components/bubble-menus/base/ate-base-bubble-menu.mjs +207 -0
  6. package/esm2022/lib/components/bubble-menus/base/ate-base-sub-bubble-menu.mjs +133 -0
  7. package/esm2022/lib/components/bubble-menus/color/ate-color-bubble-menu.component.mjs +365 -0
  8. package/esm2022/lib/components/bubble-menus/image/ate-image-bubble-menu.component.mjs +226 -0
  9. package/esm2022/lib/components/bubble-menus/link/ate-link-bubble-menu.component.mjs +247 -0
  10. package/esm2022/lib/components/bubble-menus/table/ate-cell-bubble-menu.component.mjs +121 -0
  11. package/esm2022/lib/components/bubble-menus/table/ate-table-bubble-menu.component.mjs +266 -0
  12. package/esm2022/lib/components/bubble-menus/text/ate-bubble-menu.component.mjs +294 -0
  13. package/esm2022/lib/components/color-picker/ate-color-picker.component.mjs +122 -0
  14. package/esm2022/lib/components/edit-toggle/ate-edit-toggle.component.mjs +42 -0
  15. package/esm2022/lib/components/editor/angular-tiptap-editor.component.mjs +953 -0
  16. package/esm2022/lib/components/slash-commands/ate-slash-commands.component.mjs +329 -0
  17. package/esm2022/lib/components/toolbar/ate-toolbar.component.mjs +531 -0
  18. package/esm2022/lib/components/ui/ate-button.component.mjs +90 -0
  19. package/esm2022/lib/components/ui/ate-separator.component.mjs +31 -0
  20. package/esm2022/lib/config/ate-editor.config.mjs +76 -0
  21. package/esm2022/lib/config/ate-global-config.token.mjs +6 -0
  22. package/esm2022/lib/config/ate-slash-commands.config.mjs +130 -0
  23. package/esm2022/lib/directives/ate-noop-value-accessor.directive.mjs +40 -0
  24. package/esm2022/lib/extensions/ate-link-click-behavior.extension.mjs +32 -0
  25. package/esm2022/lib/extensions/ate-resizable-image.extension.mjs +270 -0
  26. package/esm2022/lib/extensions/ate-table.extension.mjs +29 -0
  27. package/esm2022/lib/extensions/ate-tiptap-state.extension.mjs +85 -0
  28. package/esm2022/lib/extensions/ate-upload-progress.extension.mjs +195 -0
  29. package/esm2022/lib/extensions/calculators/ate-discovery.calculator.mjs +62 -0
  30. package/esm2022/lib/extensions/calculators/ate-image.calculator.mjs +8 -0
  31. package/esm2022/lib/extensions/calculators/ate-marks.calculator.mjs +75 -0
  32. package/esm2022/lib/extensions/calculators/ate-selection.calculator.mjs +35 -0
  33. package/esm2022/lib/extensions/calculators/ate-structure.calculator.mjs +34 -0
  34. package/esm2022/lib/extensions/calculators/ate-table.calculator.mjs +38 -0
  35. package/esm2022/lib/models/ate-bubble-menu.model.mjs +49 -0
  36. package/esm2022/lib/models/ate-editor-config.model.mjs +2 -0
  37. package/esm2022/lib/models/ate-editor-state.model.mjs +90 -0
  38. package/esm2022/lib/models/ate-image.model.mjs +2 -0
  39. package/esm2022/lib/models/ate-toolbar.model.mjs +35 -0
  40. package/esm2022/lib/node-view/ate-angular-node-view.mjs +97 -0
  41. package/esm2022/lib/node-view/ate-injector.registry.mjs +16 -0
  42. package/esm2022/lib/node-view/ate-node-view.factory.mjs +125 -0
  43. package/esm2022/lib/node-view/ate-node-view.models.mjs +2 -0
  44. package/esm2022/lib/node-view/ate-node-view.renderer.mjs +154 -0
  45. package/esm2022/lib/node-view/ate-register-angular-component.mjs +49 -0
  46. package/esm2022/lib/services/ate-color-picker.service.mjs +193 -0
  47. package/esm2022/lib/services/ate-editor-commands.service.mjs +465 -0
  48. package/esm2022/lib/services/ate-i18n.service.mjs +410 -0
  49. package/esm2022/lib/services/ate-image.service.mjs +368 -0
  50. package/esm2022/lib/services/ate-link.service.mjs +97 -0
  51. package/esm2022/lib/utils/ate-color.utils.mjs +60 -0
  52. package/esm2022/public-api.mjs +93 -0
  53. package/fesm2022/flogeez-angular-tiptap-editor.mjs +1178 -1100
  54. package/fesm2022/flogeez-angular-tiptap-editor.mjs.map +1 -1
  55. package/index.d.ts +3 -1562
  56. package/lib/ate-editor.provider.d.ts +21 -0
  57. package/lib/components/bubble-menus/base/ate-base-bubble-menu.d.ts +71 -0
  58. package/lib/components/bubble-menus/base/ate-base-sub-bubble-menu.d.ts +60 -0
  59. package/lib/components/bubble-menus/color/ate-color-bubble-menu.component.d.ts +77 -0
  60. package/lib/components/bubble-menus/image/ate-image-bubble-menu.component.d.ts +52 -0
  61. package/lib/components/bubble-menus/link/ate-link-bubble-menu.component.d.ts +55 -0
  62. package/lib/components/bubble-menus/table/ate-cell-bubble-menu.component.d.ts +12 -0
  63. package/lib/components/bubble-menus/table/ate-table-bubble-menu.component.d.ts +24 -0
  64. package/lib/components/bubble-menus/text/ate-bubble-menu.component.d.ts +53 -0
  65. package/lib/components/color-picker/ate-color-picker.component.d.ts +54 -0
  66. package/lib/components/edit-toggle/ate-edit-toggle.component.d.ts +13 -0
  67. package/lib/components/editor/angular-tiptap-editor.component.d.ts +235 -0
  68. package/lib/components/slash-commands/ate-slash-commands.component.d.ts +43 -0
  69. package/lib/components/toolbar/ate-toolbar.component.d.ts +47 -0
  70. package/lib/components/ui/ate-button.component.d.ts +25 -0
  71. package/lib/components/ui/ate-separator.component.d.ts +7 -0
  72. package/lib/config/ate-editor.config.d.ts +7 -0
  73. package/lib/config/ate-global-config.token.d.ts +6 -0
  74. package/lib/config/ate-slash-commands.config.d.ts +41 -0
  75. package/lib/directives/ate-noop-value-accessor.directive.d.ts +13 -0
  76. package/lib/extensions/ate-link-click-behavior.extension.d.ts +2 -0
  77. package/lib/extensions/ate-resizable-image.extension.d.ts +27 -0
  78. package/lib/extensions/ate-table.extension.d.ts +2 -0
  79. package/lib/extensions/ate-tiptap-state.extension.d.ts +7 -0
  80. package/lib/extensions/ate-upload-progress.extension.d.ts +7 -0
  81. package/lib/extensions/calculators/ate-discovery.calculator.d.ts +7 -0
  82. package/lib/extensions/calculators/ate-image.calculator.d.ts +2 -0
  83. package/lib/extensions/calculators/ate-marks.calculator.d.ts +2 -0
  84. package/lib/extensions/calculators/ate-selection.calculator.d.ts +2 -0
  85. package/lib/extensions/calculators/ate-structure.calculator.d.ts +2 -0
  86. package/lib/extensions/calculators/ate-table.calculator.d.ts +2 -0
  87. package/lib/models/ate-bubble-menu.model.d.ts +33 -0
  88. package/lib/models/ate-editor-config.model.d.ts +100 -0
  89. package/lib/models/ate-editor-state.model.d.ts +109 -0
  90. package/lib/models/ate-image.model.d.ts +104 -0
  91. package/lib/models/ate-toolbar.model.d.ts +18 -0
  92. package/lib/node-view/ate-angular-node-view.d.ts +115 -0
  93. package/lib/node-view/ate-injector.registry.d.ts +3 -0
  94. package/lib/node-view/ate-node-view.factory.d.ts +10 -0
  95. package/lib/node-view/ate-node-view.models.d.ts +138 -0
  96. package/lib/node-view/ate-node-view.renderer.d.ts +23 -0
  97. package/lib/node-view/ate-register-angular-component.d.ts +35 -0
  98. package/lib/services/ate-color-picker.service.d.ts +65 -0
  99. package/lib/services/ate-editor-commands.service.d.ts +72 -0
  100. package/lib/services/ate-i18n.service.d.ts +394 -0
  101. package/lib/services/ate-image.service.d.ts +71 -0
  102. package/lib/services/ate-link.service.d.ts +42 -0
  103. package/lib/utils/ate-color.utils.d.ts +12 -0
  104. package/package.json +3 -1
  105. package/public-api.d.ts +112 -0
@@ -0,0 +1,195 @@
1
+ import { Extension } from "@tiptap/core";
2
+ import { Plugin, PluginKey } from "@tiptap/pm/state";
3
+ import { Decoration, DecorationSet } from "@tiptap/pm/view";
4
+ export const AteUploadProgress = Extension.create({
5
+ name: "uploadProgress",
6
+ addOptions() {
7
+ return {
8
+ isUploading: () => false,
9
+ uploadProgress: () => 0,
10
+ uploadMessage: () => "",
11
+ };
12
+ },
13
+ addProseMirrorPlugins() {
14
+ const options = this.options;
15
+ return [
16
+ new Plugin({
17
+ key: new PluginKey("uploadProgress"),
18
+ state: {
19
+ init() {
20
+ return {
21
+ decorations: DecorationSet.empty,
22
+ isUploading: false,
23
+ uploadPosition: null,
24
+ };
25
+ },
26
+ apply: (tr, state) => {
27
+ const isUploading = options.isUploading();
28
+ // Si l'upload commence, sauvegarder la position
29
+ if (isUploading && !state.isUploading) {
30
+ const uploadPosition = tr.selection.from;
31
+ const uploadProgress = options.uploadProgress();
32
+ const uploadMessage = options.uploadMessage();
33
+ // Créer un élément de progression
34
+ const uploadElement = document.createElement("div");
35
+ uploadElement.className = "upload-progress-widget";
36
+ uploadElement.innerHTML = `
37
+ <div class="upload-skeleton">
38
+ <div class="upload-content">
39
+ <div class="upload-icon">
40
+ <span class="material-symbols-outlined spinning">image</span>
41
+ </div>
42
+ <div class="upload-info">
43
+ <div class="upload-message">${uploadMessage}</div>
44
+ <div class="progress-bar">
45
+ <div class="progress-fill" style="width: ${uploadProgress}%"></div>
46
+ </div>
47
+ <div class="progress-text">${uploadProgress}%</div>
48
+ </div>
49
+ </div>
50
+ </div>
51
+ `;
52
+ // Ajouter les styles si pas déjà fait
53
+ if (!document.querySelector("#upload-progress-styles")) {
54
+ const style = document.createElement("style");
55
+ style.id = "upload-progress-styles";
56
+ style.textContent = `
57
+ .upload-progress-widget {
58
+ display: block;
59
+ margin: 8px 0;
60
+ max-width: 400px;
61
+ }
62
+ .upload-skeleton {
63
+ background: var(--ate-surface-secondary);
64
+ border: 2px dashed var(--ate-border-color);
65
+ border-radius: var(--ate-border-radius);
66
+ padding: 16px;
67
+ display: flex;
68
+ align-items: center;
69
+ justify-content: center;
70
+ min-height: 120px;
71
+ animation: pulse 2s infinite;
72
+ }
73
+ @keyframes pulse {
74
+ 0%, 100% { background-color: var(--ate-surface-secondary); }
75
+ 50% { background-color: var(--ate-surface-tertiary); }
76
+ }
77
+ .upload-content {
78
+ display: flex;
79
+ flex-direction: column;
80
+ align-items: center;
81
+ gap: 12px;
82
+ text-align: center;
83
+ }
84
+ .upload-icon {
85
+ display: flex;
86
+ align-items: center;
87
+ justify-content: center;
88
+ width: 48px;
89
+ height: 48px;
90
+ background: var(--ate-primary-light);
91
+ border-radius: 50%;
92
+ color: var(--ate-primary);
93
+ }
94
+ .upload-icon .material-symbols-outlined {
95
+ font-size: 24px;
96
+ }
97
+ .spinning {
98
+ animation: spin 1s linear infinite;
99
+ }
100
+ @keyframes spin {
101
+ from { transform: rotate(0deg); }
102
+ to { transform: rotate(360deg); }
103
+ }
104
+ .upload-info {
105
+ display: flex;
106
+ flex-direction: column;
107
+ gap: 8px;
108
+ width: 100%;
109
+ max-width: 200px;
110
+ }
111
+ .upload-message {
112
+ font-size: 14px;
113
+ color: var(--ate-text);
114
+ font-weight: 500;
115
+ }
116
+ .progress-bar {
117
+ width: 100%;
118
+ height: 6px;
119
+ background: var(--ate-border-color);
120
+ border-radius: 3px;
121
+ overflow: hidden;
122
+ }
123
+ .progress-fill {
124
+ height: 100%;
125
+ background: var(--ate-primary);
126
+ border-radius: 3px;
127
+ transition: width 0.3s ease;
128
+ }
129
+ .progress-text {
130
+ font-size: 12px;
131
+ color: var(--ate-text-secondary);
132
+ font-weight: 500;
133
+ }
134
+ `;
135
+ document.head.appendChild(style);
136
+ }
137
+ // Créer une décoration widget à la position sauvegardée
138
+ const decoration = Decoration.widget(uploadPosition, uploadElement, {
139
+ side: 1,
140
+ key: "upload-progress",
141
+ });
142
+ return {
143
+ decorations: DecorationSet.create(tr.doc, [decoration]),
144
+ isUploading: true,
145
+ uploadPosition,
146
+ };
147
+ }
148
+ // Si l'upload continue, mettre à jour le contenu
149
+ if (isUploading && state.isUploading && state.uploadPosition !== null) {
150
+ const uploadProgress = options.uploadProgress();
151
+ const uploadMessage = options.uploadMessage();
152
+ // Mettre à jour le contenu de l'élément existant
153
+ const existingElement = document.querySelector(".upload-progress-widget");
154
+ if (existingElement) {
155
+ existingElement.innerHTML = `
156
+ <div class="upload-skeleton">
157
+ <div class="upload-content">
158
+ <div class="upload-icon">
159
+ <span class="material-symbols-outlined spinning">image</span>
160
+ </div>
161
+ <div class="upload-info">
162
+ <div class="upload-message">${uploadMessage}</div>
163
+ <div class="progress-bar">
164
+ <div class="progress-fill" style="width: ${uploadProgress}%"></div>
165
+ </div>
166
+ <div class="progress-text">${uploadProgress}%</div>
167
+ </div>
168
+ </div>
169
+ </div>
170
+ `;
171
+ }
172
+ return state; // Garder les décorations existantes
173
+ }
174
+ // Si l'upload se termine, supprimer les décorations
175
+ if (!isUploading && state.isUploading) {
176
+ return {
177
+ decorations: DecorationSet.empty,
178
+ isUploading: false,
179
+ uploadPosition: null,
180
+ };
181
+ }
182
+ return state;
183
+ },
184
+ },
185
+ props: {
186
+ decorations(state) {
187
+ const pluginState = this.getState(state);
188
+ return pluginState ? pluginState.decorations : DecorationSet.empty;
189
+ },
190
+ },
191
+ }),
192
+ ];
193
+ },
194
+ });
195
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRlLXVwbG9hZC1wcm9ncmVzcy5leHRlbnNpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRpcHRhcC1lZGl0b3Ivc3JjL2xpYi9leHRlbnNpb25zL2F0ZS11cGxvYWQtcHJvZ3Jlc3MuZXh0ZW5zaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBUTVELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQTJCO0lBQzFFLElBQUksRUFBRSxnQkFBZ0I7SUFFdEIsVUFBVTtRQUNSLE9BQU87WUFDTCxXQUFXLEVBQUUsR0FBRyxFQUFFLENBQUMsS0FBSztZQUN4QixjQUFjLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUN2QixhQUFhLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRTtTQUN4QixDQUFDO0lBQ0osQ0FBQztJQUVELHFCQUFxQjtRQUNuQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBRTdCLE9BQU87WUFDTCxJQUFJLE1BQU0sQ0FBQztnQkFDVCxHQUFHLEVBQUUsSUFBSSxTQUFTLENBQUMsZ0JBQWdCLENBQUM7Z0JBQ3BDLEtBQUssRUFBRTtvQkFDTCxJQUFJO3dCQUNGLE9BQU87NEJBQ0wsV0FBVyxFQUFFLGFBQWEsQ0FBQyxLQUFLOzRCQUNoQyxXQUFXLEVBQUUsS0FBSzs0QkFDbEIsY0FBYyxFQUFFLElBQXFCO3lCQUN0QyxDQUFDO29CQUNKLENBQUM7b0JBQ0QsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFO3dCQUNuQixNQUFN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QkFDekMsT0FBTyxXQUFXLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7b0JBQ3JFLENBQUM7aUJBQ0Y7YUFDRixDQUFDO1NBQ0gsQ0FBQztJQUNKLENBQUM7Q0FDRixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFeHRlbnNpb24gfSBmcm9tIFwiQHRpcHRhcC9jb3JlXCI7XG5pbXBvcnQgeyBQbHVnaW4sIFBsdWdpbktleSB9IGZyb20gXCJAdGlwdGFwL3BtL3N0YXRlXCI7XG5pbXBvcnQgeyBEZWNvcmF0aW9uLCBEZWNvcmF0aW9uU2V0IH0gZnJvbSBcIkB0aXB0YXAvcG0vdmlld1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEF0ZVVwbG9hZFByb2dyZXNzT3B0aW9ucyB7XG4gIGlzVXBsb2FkaW5nOiAoKSA9PiBib29sZWFuO1xuICB1cGxvYWRQcm9ncmVzczogKCkgPT4gbnVtYmVyO1xuICB1cGxvYWRNZXNzYWdlOiAoKSA9PiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBBdGVVcGxvYWRQcm9ncmVzcyA9IEV4dGVuc2lvbi5jcmVhdGU8QXRlVXBsb2FkUHJvZ3Jlc3NPcHRpb25zPih7XG4gIG5hbWU6IFwidXBsb2FkUHJvZ3Jlc3NcIixcblxuICBhZGRPcHRpb25zKCkge1xuICAgIHJldHVybiB7XG4gICAgICBpc1VwbG9hZGluZzogKCkgPT4gZmFsc2UsXG4gICAgICB1cGxvYWRQcm9ncmVzczogKCkgPT4gMCxcbiAgICAgIHVwbG9hZE1lc3NhZ2U6ICgpID0+IFwiXCIsXG4gICAgfTtcbiAgfSxcblxuICBhZGRQcm9zZU1pcnJvclBsdWdpbnMoKSB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMub3B0aW9ucztcblxuICAgIHJldHVybiBbXG4gICAgICBuZXcgUGx1Z2luKHtcbiAgICAgICAga2V5OiBuZXcgUGx1Z2luS2V5KFwidXBsb2FkUHJvZ3Jlc3NcIiksXG4gICAgICAgIHN0YXRlOiB7XG4gICAgICAgICAgaW5pdCgpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIGRlY29yYXRpb25zOiBEZWNvcmF0aW9uU2V0LmVtcHR5LFxuICAgICAgICAgICAgICBpc1VwbG9hZGluZzogZmFsc2UsXG4gICAgICAgICAgICAgIHVwbG9hZFBvc2l0aW9uOiBudWxsIGFzIG51bWJlciB8IG51bGwsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH0sXG4gICAgICAgICAgYXBwbHk6ICh0ciwgc3RhdGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGlzVXBsb2FkaW5nID0gb3B0aW9ucy5pc1VwbG9hZGluZygpO1xuXG4gICAgICAgICAgICAvLyBTaSBsJ3VwbG9hZCBjb21tZW5jZSwgc2F1dmVnYXJkZXIgbGEgcG9zaXRpb25cbiAgICAgICAgICAgIGlmIChpc1VwbG9hZGluZyAmJiAhc3RhdGUuaXNVcGxvYWRpbmcpIHtcbiAgICAgICAgICAgICAgY29uc3QgdXBsb2FkUG9zaXRpb24gPSB0ci5zZWxlY3Rpb24uZnJvbTtcbiAgICAgICAgICAgICAgY29uc3QgdXBsb2FkUHJvZ3Jlc3MgPSBvcHRpb25zLnVwbG9hZFByb2dyZXNzKCk7XG4gICAgICAgICAgICAgIGNvbnN0IHVwbG9hZE1lc3NhZ2UgPSBvcHRpb25zLnVwbG9hZE1lc3NhZ2UoKTtcblxuICAgICAgICAgICAgICAvLyBDcsOpZXIgdW4gw6lsw6ltZW50IGRlIHByb2dyZXNzaW9uXG4gICAgICAgICAgICAgIGNvbnN0IHVwbG9hZEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xuICAgICAgICAgICAgICB1cGxvYWRFbGVtZW50LmNsYXNzTmFtZSA9IFwidXBsb2FkLXByb2dyZXNzLXdpZGdldFwiO1xuICAgICAgICAgICAgICB1cGxvYWRFbGVtZW50LmlubmVySFRNTCA9IGBcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidXBsb2FkLXNrZWxldG9uXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidXBsb2FkLWNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVwbG9hZC1pY29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHNwaW5uaW5nXCI+aW1hZ2U8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidXBsb2FkLWluZm9cIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidXBsb2FkLW1lc3NhZ2VcIj4ke3VwbG9hZE1lc3NhZ2V9PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByb2dyZXNzLWJhclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByb2dyZXNzLWZpbGxcIiBzdHlsZT1cIndpZHRoOiAke3VwbG9hZFByb2dyZXNzfSVcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3MtdGV4dFwiPiR7dXBsb2FkUHJvZ3Jlc3N9JTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICBgO1xuXG4gICAgICAgICAgICAgIC8vIEFqb3V0ZXIgbGVzIHN0eWxlcyBzaSBwYXMgZMOpasOgIGZhaXRcbiAgICAgICAgICAgICAgaWYgKCFkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiI3VwbG9hZC1wcm9ncmVzcy1zdHlsZXNcIikpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiKTtcbiAgICAgICAgICAgICAgICBzdHlsZS5pZCA9IFwidXBsb2FkLXByb2dyZXNzLXN0eWxlc1wiO1xuICAgICAgICAgICAgICAgIHN0eWxlLnRleHRDb250ZW50ID0gYFxuICAgICAgICAgICAgICAgICAgLnVwbG9hZC1wcm9ncmVzcy13aWRnZXQge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiA4cHggMDtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIC51cGxvYWQtc2tlbGV0b24ge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1hdGUtc3VyZmFjZS1zZWNvbmRhcnkpO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBkYXNoZWQgdmFyKC0tYXRlLWJvcmRlci1jb2xvcik7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWF0ZS1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEyMHB4O1xuICAgICAgICAgICAgICAgICAgICBhbmltYXRpb246IHB1bHNlIDJzIGluZmluaXRlO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgQGtleWZyYW1lcyBwdWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIDAlLCAxMDAlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYXRlLXN1cmZhY2Utc2Vjb25kYXJ5KTsgfVxuICAgICAgICAgICAgICAgICAgICA1MCUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hdGUtc3VyZmFjZS10ZXJ0aWFyeSk7IH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIC51cGxvYWQtY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGdhcDogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgLnVwbG9hZC1pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0OHB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWF0ZS1wcmltYXJ5LWxpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYXRlLXByaW1hcnkpO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgLnVwbG9hZC1pY29uIC5tYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgLnNwaW5uaW5nIHtcbiAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uOiBzcGluIDFzIGxpbmVhciBpbmZpbml0ZTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIEBrZXlmcmFtZXMgc3BpbiB7XG4gICAgICAgICAgICAgICAgICAgIGZyb20geyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAgICAgICAgICAgICAgICAgICB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIC51cGxvYWQtaW5mbyB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgIGdhcDogOHB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIC51cGxvYWQtbWVzc2FnZSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWF0ZS10ZXh0KTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIC5wcm9ncmVzcy1iYXIge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWF0ZS1ib3JkZXItY29sb3IpO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAucHJvZ3Jlc3MtZmlsbCB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYXRlLXByaW1hcnkpO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuM3MgZWFzZTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIC5wcm9ncmVzcy10ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYXRlLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBgO1xuICAgICAgICAgICAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGUpO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgLy8gQ3LDqWVyIHVuZSBkw6ljb3JhdGlvbiB3aWRnZXQgw6AgbGEgcG9zaXRpb24gc2F1dmVnYXJkw6llXG4gICAgICAgICAgICAgIGNvbnN0IGRlY29yYXRpb24gPSBEZWNvcmF0aW9uLndpZGdldCh1cGxvYWRQb3NpdGlvbiwgdXBsb2FkRWxlbWVudCwge1xuICAgICAgICAgICAgICAgIHNpZGU6IDEsXG4gICAgICAgICAgICAgICAga2V5OiBcInVwbG9hZC1wcm9ncmVzc1wiLFxuICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGRlY29yYXRpb25zOiBEZWNvcmF0aW9uU2V0LmNyZWF0ZSh0ci5kb2MsIFtkZWNvcmF0aW9uXSksXG4gICAgICAgICAgICAgICAgaXNVcGxvYWRpbmc6IHRydWUsXG4gICAgICAgICAgICAgICAgdXBsb2FkUG9zaXRpb24sXG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFNpIGwndXBsb2FkIGNvbnRpbnVlLCBtZXR0cmUgw6Agam91ciBsZSBjb250ZW51XG4gICAgICAgICAgICBpZiAoaXNVcGxvYWRpbmcgJiYgc3RhdGUuaXNVcGxvYWRpbmcgJiYgc3RhdGUudXBsb2FkUG9zaXRpb24gIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgY29uc3QgdXBsb2FkUHJvZ3Jlc3MgPSBvcHRpb25zLnVwbG9hZFByb2dyZXNzKCk7XG4gICAgICAgICAgICAgIGNvbnN0IHVwbG9hZE1lc3NhZ2UgPSBvcHRpb25zLnVwbG9hZE1lc3NhZ2UoKTtcblxuICAgICAgICAgICAgICAvLyBNZXR0cmUgw6Agam91ciBsZSBjb250ZW51IGRlIGwnw6lsw6ltZW50IGV4aXN0YW50XG4gICAgICAgICAgICAgIGNvbnN0IGV4aXN0aW5nRWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIudXBsb2FkLXByb2dyZXNzLXdpZGdldFwiKTtcbiAgICAgICAgICAgICAgaWYgKGV4aXN0aW5nRWxlbWVudCkge1xuICAgICAgICAgICAgICAgIGV4aXN0aW5nRWxlbWVudC5pbm5lckhUTUwgPSBgXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidXBsb2FkLXNrZWxldG9uXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1cGxvYWQtY29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1cGxvYWQtaWNvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHNwaW5uaW5nXCI+aW1hZ2U8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVwbG9hZC1pbmZvXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidXBsb2FkLW1lc3NhZ2VcIj4ke3VwbG9hZE1lc3NhZ2V9PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3MtYmFyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9ncmVzcy1maWxsXCIgc3R5bGU9XCJ3aWR0aDogJHt1cGxvYWRQcm9ncmVzc30lXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9ncmVzcy10ZXh0XCI+JHt1cGxvYWRQcm9ncmVzc30lPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgYDtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHJldHVybiBzdGF0ZTsgLy8gR2FyZGVyIGxlcyBkw6ljb3JhdGlvbnMgZXhpc3RhbnRlc1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBTaSBsJ3VwbG9hZCBzZSB0ZXJtaW5lLCBzdXBwcmltZXIgbGVzIGTDqWNvcmF0aW9uc1xuICAgICAgICAgICAgaWYgKCFpc1VwbG9hZGluZyAmJiBzdGF0ZS5pc1VwbG9hZGluZykge1xuICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGRlY29yYXRpb25zOiBEZWNvcmF0aW9uU2V0LmVtcHR5LFxuICAgICAgICAgICAgICAgIGlzVXBsb2FkaW5nOiBmYWxzZSxcbiAgICAgICAgICAgICAgICB1cGxvYWRQb3NpdGlvbjogbnVsbCxcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHN0YXRlO1xuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgZGVjb3JhdGlvbnMoc3RhdGUpIHtcbiAgICAgICAgICAgIGNvbnN0IHBsdWdpblN0YXRlID0gdGhpcy5nZXRTdGF0ZShzdGF0ZSk7XG4gICAgICAgICAgICByZXR1cm4gcGx1Z2luU3RhdGUgPyBwbHVnaW5TdGF0ZS5kZWNvcmF0aW9ucyA6IERlY29yYXRpb25TZXQuZW1wdHk7XG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgIF07XG4gIH0sXG59KTtcbiJdfQ==
@@ -0,0 +1,62 @@
1
+ /**
2
+ * DiscoveryCalculator automatically detects and tracks the state of any TipTap extension.
3
+ * It provides a "fallback" reactive state for any mark or node not explicitly handled
4
+ * by specialized calculators.
5
+ */
6
+ export const AteDiscoveryCalculator = (editor) => {
7
+ const state = {
8
+ marks: {},
9
+ nodes: {},
10
+ };
11
+ // We skip core extensions that are already handled by specialized calculators
12
+ // to avoid redundant calculations and maintain precise attribute tracking.
13
+ const handled = [
14
+ "bold",
15
+ "italic",
16
+ "underline",
17
+ "strike",
18
+ "code",
19
+ "link",
20
+ "highlight",
21
+ "superscript",
22
+ "subscript",
23
+ "table",
24
+ "image",
25
+ "resizableImage",
26
+ "heading",
27
+ "bulletList",
28
+ "orderedList",
29
+ "blockquote",
30
+ "textAlign",
31
+ "textStyle",
32
+ "color",
33
+ ];
34
+ editor.extensionManager.extensions.forEach(extension => {
35
+ const name = extension.name;
36
+ const type = extension.type;
37
+ // Skip internal/core extensions or already handled ones
38
+ if ([
39
+ "selection",
40
+ "editable",
41
+ "focus",
42
+ "undo",
43
+ "redo",
44
+ "history",
45
+ "placeholder",
46
+ "characterCount",
47
+ ].includes(name)) {
48
+ return;
49
+ }
50
+ if (handled.includes(name)) {
51
+ return;
52
+ }
53
+ if (type === "mark") {
54
+ state.marks[name] = editor.isActive(name);
55
+ }
56
+ else if (type === "node") {
57
+ state.nodes[name] = editor.isActive(name);
58
+ }
59
+ });
60
+ return state;
61
+ };
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRlLWRpc2NvdmVyeS5jYWxjdWxhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci10aXB0YXAtZWRpdG9yL3NyYy9saWIvZXh0ZW5zaW9ucy9jYWxjdWxhdG9ycy9hdGUtZGlzY292ZXJ5LmNhbGN1bGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0E7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUF1QixDQUFDLE1BQWMsRUFBRSxFQUFFO0lBQzNFLE1BQU0sS0FBSyxHQUF1RTtRQUNoRixLQUFLLEVBQUUsRUFBRTtRQUNULEtBQUssRUFBRSxFQUFFO0tBQ1YsQ0FBQztJQUVGLDhFQUE4RTtJQUM5RSwyRUFBMkU7SUFDM0UsTUFBTSxPQUFPLEdBQUc7UUFDZCxNQUFNO1FBQ04sUUFBUTtRQUNSLFdBQVc7UUFDWCxRQUFRO1FBQ1IsTUFBTTtRQUNOLE1BQU07UUFDTixXQUFXO1FBQ1gsYUFBYTtRQUNiLFdBQVc7UUFDWCxPQUFPO1FBQ1AsT0FBTztRQUNQLGdCQUFnQjtRQUNoQixTQUFTO1FBQ1QsWUFBWTtRQUNaLGFBQWE7UUFDYixZQUFZO1FBQ1osV0FBVztRQUNYLFdBQVc7UUFDWCxPQUFPO0tBQ1IsQ0FBQztJQUVGLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1FBQ3JELE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUM7UUFDNUIsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQztRQUU1Qix3REFBd0Q7UUFDeEQsSUFDRTtZQUNFLFdBQVc7WUFDWCxVQUFVO1lBQ1YsT0FBTztZQUNQLE1BQU07WUFDTixNQUFNO1lBQ04sU0FBUztZQUNULGFBQWE7WUFDYixnQkFBZ0I7U0FDakIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQ2hCLENBQUM7WUFDRCxPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQzNCLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxJQUFJLEtBQUssTUFBTSxFQUFFLENBQUM7WUFDcEIsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVDLENBQUM7YUFBTSxJQUFJLElBQUksS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUMzQixLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUMsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IgfSBmcm9tIFwiQHRpcHRhcC9jb3JlXCI7XG5pbXBvcnQgeyBBdGVTdGF0ZUNhbGN1bGF0b3IgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2F0ZS1lZGl0b3Itc3RhdGUubW9kZWxcIjtcblxuLyoqXG4gKiBEaXNjb3ZlcnlDYWxjdWxhdG9yIGF1dG9tYXRpY2FsbHkgZGV0ZWN0cyBhbmQgdHJhY2tzIHRoZSBzdGF0ZSBvZiBhbnkgVGlwVGFwIGV4dGVuc2lvbi5cbiAqIEl0IHByb3ZpZGVzIGEgXCJmYWxsYmFja1wiIHJlYWN0aXZlIHN0YXRlIGZvciBhbnkgbWFyayBvciBub2RlIG5vdCBleHBsaWNpdGx5IGhhbmRsZWRcbiAqIGJ5IHNwZWNpYWxpemVkIGNhbGN1bGF0b3JzLlxuICovXG5leHBvcnQgY29uc3QgQXRlRGlzY292ZXJ5Q2FsY3VsYXRvcjogQXRlU3RhdGVDYWxjdWxhdG9yID0gKGVkaXRvcjogRWRpdG9yKSA9PiB7XG4gIGNvbnN0IHN0YXRlOiB7IG1hcmtzOiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPjsgbm9kZXM6IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+IH0gPSB7XG4gICAgbWFya3M6IHt9LFxuICAgIG5vZGVzOiB7fSxcbiAgfTtcblxuICAvLyBXZSBza2lwIGNvcmUgZXh0ZW5zaW9ucyB0aGF0IGFyZSBhbHJlYWR5IGhhbmRsZWQgYnkgc3BlY2lhbGl6ZWQgY2FsY3VsYXRvcnNcbiAgLy8gdG8gYXZvaWQgcmVkdW5kYW50IGNhbGN1bGF0aW9ucyBhbmQgbWFpbnRhaW4gcHJlY2lzZSBhdHRyaWJ1dGUgdHJhY2tpbmcuXG4gIGNvbnN0IGhhbmRsZWQgPSBbXG4gICAgXCJib2xkXCIsXG4gICAgXCJpdGFsaWNcIixcbiAgICBcInVuZGVybGluZVwiLFxuICAgIFwic3RyaWtlXCIsXG4gICAgXCJjb2RlXCIsXG4gICAgXCJsaW5rXCIsXG4gICAgXCJoaWdobGlnaHRcIixcbiAgICBcInN1cGVyc2NyaXB0XCIsXG4gICAgXCJzdWJzY3JpcHRcIixcbiAgICBcInRhYmxlXCIsXG4gICAgXCJpbWFnZVwiLFxuICAgIFwicmVzaXphYmxlSW1hZ2VcIixcbiAgICBcImhlYWRpbmdcIixcbiAgICBcImJ1bGxldExpc3RcIixcbiAgICBcIm9yZGVyZWRMaXN0XCIsXG4gICAgXCJibG9ja3F1b3RlXCIsXG4gICAgXCJ0ZXh0QWxpZ25cIixcbiAgICBcInRleHRTdHlsZVwiLFxuICAgIFwiY29sb3JcIixcbiAgXTtcblxuICBlZGl0b3IuZXh0ZW5zaW9uTWFuYWdlci5leHRlbnNpb25zLmZvckVhY2goZXh0ZW5zaW9uID0+IHtcbiAgICBjb25zdCBuYW1lID0gZXh0ZW5zaW9uLm5hbWU7XG4gICAgY29uc3QgdHlwZSA9IGV4dGVuc2lvbi50eXBlO1xuXG4gICAgLy8gU2tpcCBpbnRlcm5hbC9jb3JlIGV4dGVuc2lvbnMgb3IgYWxyZWFkeSBoYW5kbGVkIG9uZXNcbiAgICBpZiAoXG4gICAgICBbXG4gICAgICAgIFwic2VsZWN0aW9uXCIsXG4gICAgICAgIFwiZWRpdGFibGVcIixcbiAgICAgICAgXCJmb2N1c1wiLFxuICAgICAgICBcInVuZG9cIixcbiAgICAgICAgXCJyZWRvXCIsXG4gICAgICAgIFwiaGlzdG9yeVwiLFxuICAgICAgICBcInBsYWNlaG9sZGVyXCIsXG4gICAgICAgIFwiY2hhcmFjdGVyQ291bnRcIixcbiAgICAgIF0uaW5jbHVkZXMobmFtZSlcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaGFuZGxlZC5pbmNsdWRlcyhuYW1lKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0eXBlID09PSBcIm1hcmtcIikge1xuICAgICAgc3RhdGUubWFya3NbbmFtZV0gPSBlZGl0b3IuaXNBY3RpdmUobmFtZSk7XG4gICAgfSBlbHNlIGlmICh0eXBlID09PSBcIm5vZGVcIikge1xuICAgICAgc3RhdGUubm9kZXNbbmFtZV0gPSBlZGl0b3IuaXNBY3RpdmUobmFtZSk7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gc3RhdGU7XG59O1xuIl19
@@ -0,0 +1,8 @@
1
+ export const AteImageCalculator = editor => {
2
+ return {
3
+ nodes: {
4
+ isImage: editor.isActive("image") || editor.isActive("resizableImage"),
5
+ },
6
+ };
7
+ };
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRlLWltYWdlLmNhbGN1bGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRpcHRhcC1lZGl0b3Ivc3JjL2xpYi9leHRlbnNpb25zL2NhbGN1bGF0b3JzL2F0ZS1pbWFnZS5jYWxjdWxhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUF1QixNQUFNLENBQUMsRUFBRTtJQUM3RCxPQUFPO1FBQ0wsS0FBSyxFQUFFO1lBQ0wsT0FBTyxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQztTQUN2RTtLQUNGLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdGVTdGF0ZUNhbGN1bGF0b3IgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2F0ZS1lZGl0b3Itc3RhdGUubW9kZWxcIjtcblxuZXhwb3J0IGNvbnN0IEF0ZUltYWdlQ2FsY3VsYXRvcjogQXRlU3RhdGVDYWxjdWxhdG9yID0gZWRpdG9yID0+IHtcbiAgcmV0dXJuIHtcbiAgICBub2Rlczoge1xuICAgICAgaXNJbWFnZTogZWRpdG9yLmlzQWN0aXZlKFwiaW1hZ2VcIikgfHwgZWRpdG9yLmlzQWN0aXZlKFwicmVzaXphYmxlSW1hZ2VcIiksXG4gICAgfSxcbiAgfTtcbn07XG4iXX0=
@@ -0,0 +1,75 @@
1
+ import { normalizeColor } from "../../utils/ate-color.utils";
2
+ export const AteMarksCalculator = editor => {
3
+ const isCodeBlock = editor.isActive("codeBlock");
4
+ const isCode = editor.isActive("code"); // Inline code mark
5
+ const isImage = editor.isActive("image") || editor.isActive("resizableImage");
6
+ // Check if marks are generally allowed based on context
7
+ const marksAllowed = !isCodeBlock && !isImage;
8
+ // For inline code specifically, we don't allow nesting OTHER marks inside it,
9
+ // but the code mark ITSELF must be togglable to be removed.
10
+ const isInsideInlineCode = isCode;
11
+ // 1. Resolve target element once for this calculation
12
+ const getTargetElement = () => {
13
+ if (typeof window === "undefined" || !editor.view?.dom) {
14
+ return null;
15
+ }
16
+ try {
17
+ const { from } = editor.state.selection;
18
+ const { node } = editor.view.domAtPos(from);
19
+ return node.nodeType === Node.TEXT_NODE ? node.parentElement : node;
20
+ }
21
+ catch (_e) {
22
+ return null;
23
+ }
24
+ };
25
+ const targetEl = getTargetElement() || (typeof window !== "undefined" ? editor.view?.dom : null);
26
+ const computedStyle = targetEl && typeof window !== "undefined" ? window.getComputedStyle(targetEl) : null;
27
+ // 2. Lightweight helper to extract properties from the pre-calculated style object
28
+ const getStyle = (prop) => {
29
+ if (!computedStyle) {
30
+ return null;
31
+ }
32
+ const val = computedStyle.getPropertyValue(prop);
33
+ return normalizeColor(val);
34
+ };
35
+ const colorMark = editor.getAttributes("textStyle")["color"] || null;
36
+ const backgroundMark = editor.getAttributes("highlight")["color"] || null;
37
+ return {
38
+ marks: {
39
+ bold: editor.isActive("bold"),
40
+ italic: editor.isActive("italic"),
41
+ underline: editor.isActive("underline"),
42
+ strike: editor.isActive("strike"),
43
+ code: isCode,
44
+ superscript: editor.isActive("superscript"),
45
+ subscript: editor.isActive("subscript"),
46
+ highlight: editor.isActive("highlight"),
47
+ link: editor.isActive("link"),
48
+ linkHref: editor.getAttributes("link")["href"] || null,
49
+ color: colorMark,
50
+ computedColor: colorMark || getStyle("color"),
51
+ background: backgroundMark,
52
+ computedBackground: backgroundMark || getStyle("background-color"),
53
+ linkOpenOnClick: editor.extensionManager.extensions.find(ext => ext.name === "link")?.options?.openOnClick ??
54
+ false,
55
+ },
56
+ can: {
57
+ toggleBold: marksAllowed && !isInsideInlineCode && editor.can().toggleBold(),
58
+ toggleItalic: marksAllowed && !isInsideInlineCode && editor.can().toggleItalic(),
59
+ toggleUnderline: marksAllowed && !isInsideInlineCode && editor.can().toggleUnderline(),
60
+ toggleStrike: marksAllowed && !isInsideInlineCode && editor.can().toggleStrike(),
61
+ toggleCode: marksAllowed && editor.can().toggleCode(),
62
+ toggleHighlight: marksAllowed && !isInsideInlineCode && editor.can().toggleHighlight(),
63
+ toggleLink: marksAllowed &&
64
+ !isInsideInlineCode &&
65
+ (editor.can().setLink({ href: "" }) || editor.can().unsetLink()),
66
+ toggleSuperscript: marksAllowed && !isInsideInlineCode && editor.can().toggleSuperscript(),
67
+ toggleSubscript: marksAllowed && !isInsideInlineCode && editor.can().toggleSubscript(),
68
+ setColor: marksAllowed && !isInsideInlineCode && editor.can().setColor(""),
69
+ setHighlight: marksAllowed && !isInsideInlineCode && editor.can().setHighlight(),
70
+ undo: editor.can().undo(),
71
+ redo: editor.can().redo(),
72
+ },
73
+ };
74
+ };
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRlLW1hcmtzLmNhbGN1bGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRpcHRhcC1lZGl0b3Ivc3JjL2xpYi9leHRlbnNpb25zL2NhbGN1bGF0b3JzL2F0ZS1tYXJrcy5jYWxjdWxhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUU3RCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBdUIsTUFBTSxDQUFDLEVBQUU7SUFDN0QsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNqRCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsbUJBQW1CO0lBQzNELE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBRTlFLHdEQUF3RDtJQUN4RCxNQUFNLFlBQVksR0FBRyxDQUFDLFdBQVcsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUM5Qyw4RUFBOEU7SUFDOUUsNERBQTREO0lBQzVELE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxDQUFDO0lBRWxDLHNEQUFzRDtJQUN0RCxNQUFNLGdCQUFnQixHQUFHLEdBQW1CLEVBQUU7UUFDNUMsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDO1lBQ3ZELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUNELElBQUksQ0FBQztZQUNILE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQztZQUN4QyxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDNUMsT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFFLElBQWdCLENBQUM7UUFDbkYsQ0FBQztRQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7WUFDWixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDLENBQUM7SUFFRixNQUFNLFFBQVEsR0FBRyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsT0FBTyxNQUFNLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakcsTUFBTSxhQUFhLEdBQ2pCLFFBQVEsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBRXZGLG1GQUFtRjtJQUNuRixNQUFNLFFBQVEsR0FBRyxDQUFDLElBQVksRUFBaUIsRUFBRTtRQUMvQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDbkIsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBQ0QsTUFBTSxHQUFHLEdBQUcsYUFBYSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pELE9BQU8sY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzdCLENBQUMsQ0FBQztJQUVGLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDO0lBQ3JFLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDO0lBRTFFLE9BQU87UUFDTCxLQUFLLEVBQUU7WUFDTCxJQUFJLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7WUFDN0IsTUFBTSxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO1lBQ2pDLFNBQVMsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQztZQUN2QyxNQUFNLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7WUFDakMsSUFBSSxFQUFFLE1BQU07WUFDWixXQUFXLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7WUFDM0MsU0FBUyxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDO1lBQ3ZDLFNBQVMsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQztZQUN2QyxJQUFJLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7WUFDN0IsUUFBUSxFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSTtZQUN0RCxLQUFLLEVBQUUsU0FBUztZQUNoQixhQUFhLEVBQUUsU0FBUyxJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUM7WUFDN0MsVUFBVSxFQUFFLGNBQWM7WUFDMUIsa0JBQWtCLEVBQUUsY0FBYyxJQUFJLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQztZQUNsRSxlQUFlLEVBQ2IsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxFQUFFLE9BQU8sRUFBRSxXQUFXO2dCQUN6RixLQUFLO1NBQ1I7UUFDRCxHQUFHLEVBQUU7WUFDSCxVQUFVLEVBQUUsWUFBWSxJQUFJLENBQUMsa0JBQWtCLElBQUksTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLFVBQVUsRUFBRTtZQUM1RSxZQUFZLEVBQUUsWUFBWSxJQUFJLENBQUMsa0JBQWtCLElBQUksTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLFlBQVksRUFBRTtZQUNoRixlQUFlLEVBQUUsWUFBWSxJQUFJLENBQUMsa0JBQWtCLElBQUksTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLGVBQWUsRUFBRTtZQUN0RixZQUFZLEVBQUUsWUFBWSxJQUFJLENBQUMsa0JBQWtCLElBQUksTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLFlBQVksRUFBRTtZQUNoRixVQUFVLEVBQUUsWUFBWSxJQUFJLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLEVBQUU7WUFDckQsZUFBZSxFQUFFLFlBQVksSUFBSSxDQUFDLGtCQUFrQixJQUFJLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxlQUFlLEVBQUU7WUFDdEYsVUFBVSxFQUNSLFlBQVk7Z0JBQ1osQ0FBQyxrQkFBa0I7Z0JBQ25CLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNsRSxpQkFBaUIsRUFBRSxZQUFZLElBQUksQ0FBQyxrQkFBa0IsSUFBSSxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLEVBQUU7WUFDMUYsZUFBZSxFQUFFLFlBQVksSUFBSSxDQUFDLGtCQUFrQixJQUFJLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxlQUFlLEVBQUU7WUFDdEYsUUFBUSxFQUFFLFlBQVksSUFBSSxDQUFDLGtCQUFrQixJQUFJLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQzFFLFlBQVksRUFBRSxZQUFZLElBQUksQ0FBQyxrQkFBa0IsSUFBSSxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxFQUFFO1lBQ2hGLElBQUksRUFBRSxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxFQUFFO1lBQ3pCLElBQUksRUFBRSxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxFQUFFO1NBQzFCO0tBQ0YsQ0FBQztBQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF0ZVN0YXRlQ2FsY3VsYXRvciB9IGZyb20gXCIuLi8uLi9tb2RlbHMvYXRlLWVkaXRvci1zdGF0ZS5tb2RlbFwiO1xuaW1wb3J0IHsgbm9ybWFsaXplQ29sb3IgfSBmcm9tIFwiLi4vLi4vdXRpbHMvYXRlLWNvbG9yLnV0aWxzXCI7XG5cbmV4cG9ydCBjb25zdCBBdGVNYXJrc0NhbGN1bGF0b3I6IEF0ZVN0YXRlQ2FsY3VsYXRvciA9IGVkaXRvciA9PiB7XG4gIGNvbnN0IGlzQ29kZUJsb2NrID0gZWRpdG9yLmlzQWN0aXZlKFwiY29kZUJsb2NrXCIpO1xuICBjb25zdCBpc0NvZGUgPSBlZGl0b3IuaXNBY3RpdmUoXCJjb2RlXCIpOyAvLyBJbmxpbmUgY29kZSBtYXJrXG4gIGNvbnN0IGlzSW1hZ2UgPSBlZGl0b3IuaXNBY3RpdmUoXCJpbWFnZVwiKSB8fCBlZGl0b3IuaXNBY3RpdmUoXCJyZXNpemFibGVJbWFnZVwiKTtcblxuICAvLyBDaGVjayBpZiBtYXJrcyBhcmUgZ2VuZXJhbGx5IGFsbG93ZWQgYmFzZWQgb24gY29udGV4dFxuICBjb25zdCBtYXJrc0FsbG93ZWQgPSAhaXNDb2RlQmxvY2sgJiYgIWlzSW1hZ2U7XG4gIC8vIEZvciBpbmxpbmUgY29kZSBzcGVjaWZpY2FsbHksIHdlIGRvbid0IGFsbG93IG5lc3RpbmcgT1RIRVIgbWFya3MgaW5zaWRlIGl0LFxuICAvLyBidXQgdGhlIGNvZGUgbWFyayBJVFNFTEYgbXVzdCBiZSB0b2dnbGFibGUgdG8gYmUgcmVtb3ZlZC5cbiAgY29uc3QgaXNJbnNpZGVJbmxpbmVDb2RlID0gaXNDb2RlO1xuXG4gIC8vIDEuIFJlc29sdmUgdGFyZ2V0IGVsZW1lbnQgb25jZSBmb3IgdGhpcyBjYWxjdWxhdGlvblxuICBjb25zdCBnZXRUYXJnZXRFbGVtZW50ID0gKCk6IEVsZW1lbnQgfCBudWxsID0+IHtcbiAgICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gXCJ1bmRlZmluZWRcIiB8fCAhZWRpdG9yLnZpZXc/LmRvbSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBjb25zdCB7IGZyb20gfSA9IGVkaXRvci5zdGF0ZS5zZWxlY3Rpb247XG4gICAgICBjb25zdCB7IG5vZGUgfSA9IGVkaXRvci52aWV3LmRvbUF0UG9zKGZyb20pO1xuICAgICAgcmV0dXJuIG5vZGUubm9kZVR5cGUgPT09IE5vZGUuVEVYVF9OT0RFID8gbm9kZS5wYXJlbnRFbGVtZW50IDogKG5vZGUgYXMgRWxlbWVudCk7XG4gICAgfSBjYXRjaCAoX2UpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCB0YXJnZXRFbCA9IGdldFRhcmdldEVsZW1lbnQoKSB8fCAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIiA/IGVkaXRvci52aWV3Py5kb20gOiBudWxsKTtcbiAgY29uc3QgY29tcHV0ZWRTdHlsZSA9XG4gICAgdGFyZ2V0RWwgJiYgdHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIiA/IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRhcmdldEVsKSA6IG51bGw7XG5cbiAgLy8gMi4gTGlnaHR3ZWlnaHQgaGVscGVyIHRvIGV4dHJhY3QgcHJvcGVydGllcyBmcm9tIHRoZSBwcmUtY2FsY3VsYXRlZCBzdHlsZSBvYmplY3RcbiAgY29uc3QgZ2V0U3R5bGUgPSAocHJvcDogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCA9PiB7XG4gICAgaWYgKCFjb21wdXRlZFN0eWxlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgY29uc3QgdmFsID0gY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKHByb3ApO1xuICAgIHJldHVybiBub3JtYWxpemVDb2xvcih2YWwpO1xuICB9O1xuXG4gIGNvbnN0IGNvbG9yTWFyayA9IGVkaXRvci5nZXRBdHRyaWJ1dGVzKFwidGV4dFN0eWxlXCIpW1wiY29sb3JcIl0gfHwgbnVsbDtcbiAgY29uc3QgYmFja2dyb3VuZE1hcmsgPSBlZGl0b3IuZ2V0QXR0cmlidXRlcyhcImhpZ2hsaWdodFwiKVtcImNvbG9yXCJdIHx8IG51bGw7XG5cbiAgcmV0dXJuIHtcbiAgICBtYXJrczoge1xuICAgICAgYm9sZDogZWRpdG9yLmlzQWN0aXZlKFwiYm9sZFwiKSxcbiAgICAgIGl0YWxpYzogZWRpdG9yLmlzQWN0aXZlKFwiaXRhbGljXCIpLFxuICAgICAgdW5kZXJsaW5lOiBlZGl0b3IuaXNBY3RpdmUoXCJ1bmRlcmxpbmVcIiksXG4gICAgICBzdHJpa2U6IGVkaXRvci5pc0FjdGl2ZShcInN0cmlrZVwiKSxcbiAgICAgIGNvZGU6IGlzQ29kZSxcbiAgICAgIHN1cGVyc2NyaXB0OiBlZGl0b3IuaXNBY3RpdmUoXCJzdXBlcnNjcmlwdFwiKSxcbiAgICAgIHN1YnNjcmlwdDogZWRpdG9yLmlzQWN0aXZlKFwic3Vic2NyaXB0XCIpLFxuICAgICAgaGlnaGxpZ2h0OiBlZGl0b3IuaXNBY3RpdmUoXCJoaWdobGlnaHRcIiksXG4gICAgICBsaW5rOiBlZGl0b3IuaXNBY3RpdmUoXCJsaW5rXCIpLFxuICAgICAgbGlua0hyZWY6IGVkaXRvci5nZXRBdHRyaWJ1dGVzKFwibGlua1wiKVtcImhyZWZcIl0gfHwgbnVsbCxcbiAgICAgIGNvbG9yOiBjb2xvck1hcmssXG4gICAgICBjb21wdXRlZENvbG9yOiBjb2xvck1hcmsgfHwgZ2V0U3R5bGUoXCJjb2xvclwiKSxcbiAgICAgIGJhY2tncm91bmQ6IGJhY2tncm91bmRNYXJrLFxuICAgICAgY29tcHV0ZWRCYWNrZ3JvdW5kOiBiYWNrZ3JvdW5kTWFyayB8fCBnZXRTdHlsZShcImJhY2tncm91bmQtY29sb3JcIiksXG4gICAgICBsaW5rT3Blbk9uQ2xpY2s6XG4gICAgICAgIGVkaXRvci5leHRlbnNpb25NYW5hZ2VyLmV4dGVuc2lvbnMuZmluZChleHQgPT4gZXh0Lm5hbWUgPT09IFwibGlua1wiKT8ub3B0aW9ucz8ub3Blbk9uQ2xpY2sgPz9cbiAgICAgICAgZmFsc2UsXG4gICAgfSxcbiAgICBjYW46IHtcbiAgICAgIHRvZ2dsZUJvbGQ6IG1hcmtzQWxsb3dlZCAmJiAhaXNJbnNpZGVJbmxpbmVDb2RlICYmIGVkaXRvci5jYW4oKS50b2dnbGVCb2xkKCksXG4gICAgICB0b2dnbGVJdGFsaWM6IG1hcmtzQWxsb3dlZCAmJiAhaXNJbnNpZGVJbmxpbmVDb2RlICYmIGVkaXRvci5jYW4oKS50b2dnbGVJdGFsaWMoKSxcbiAgICAgIHRvZ2dsZVVuZGVybGluZTogbWFya3NBbGxvd2VkICYmICFpc0luc2lkZUlubGluZUNvZGUgJiYgZWRpdG9yLmNhbigpLnRvZ2dsZVVuZGVybGluZSgpLFxuICAgICAgdG9nZ2xlU3RyaWtlOiBtYXJrc0FsbG93ZWQgJiYgIWlzSW5zaWRlSW5saW5lQ29kZSAmJiBlZGl0b3IuY2FuKCkudG9nZ2xlU3RyaWtlKCksXG4gICAgICB0b2dnbGVDb2RlOiBtYXJrc0FsbG93ZWQgJiYgZWRpdG9yLmNhbigpLnRvZ2dsZUNvZGUoKSxcbiAgICAgIHRvZ2dsZUhpZ2hsaWdodDogbWFya3NBbGxvd2VkICYmICFpc0luc2lkZUlubGluZUNvZGUgJiYgZWRpdG9yLmNhbigpLnRvZ2dsZUhpZ2hsaWdodCgpLFxuICAgICAgdG9nZ2xlTGluazpcbiAgICAgICAgbWFya3NBbGxvd2VkICYmXG4gICAgICAgICFpc0luc2lkZUlubGluZUNvZGUgJiZcbiAgICAgICAgKGVkaXRvci5jYW4oKS5zZXRMaW5rKHsgaHJlZjogXCJcIiB9KSB8fCBlZGl0b3IuY2FuKCkudW5zZXRMaW5rKCkpLFxuICAgICAgdG9nZ2xlU3VwZXJzY3JpcHQ6IG1hcmtzQWxsb3dlZCAmJiAhaXNJbnNpZGVJbmxpbmVDb2RlICYmIGVkaXRvci5jYW4oKS50b2dnbGVTdXBlcnNjcmlwdCgpLFxuICAgICAgdG9nZ2xlU3Vic2NyaXB0OiBtYXJrc0FsbG93ZWQgJiYgIWlzSW5zaWRlSW5saW5lQ29kZSAmJiBlZGl0b3IuY2FuKCkudG9nZ2xlU3Vic2NyaXB0KCksXG4gICAgICBzZXRDb2xvcjogbWFya3NBbGxvd2VkICYmICFpc0luc2lkZUlubGluZUNvZGUgJiYgZWRpdG9yLmNhbigpLnNldENvbG9yKFwiXCIpLFxuICAgICAgc2V0SGlnaGxpZ2h0OiBtYXJrc0FsbG93ZWQgJiYgIWlzSW5zaWRlSW5saW5lQ29kZSAmJiBlZGl0b3IuY2FuKCkuc2V0SGlnaGxpZ2h0KCksXG4gICAgICB1bmRvOiBlZGl0b3IuY2FuKCkudW5kbygpLFxuICAgICAgcmVkbzogZWRpdG9yLmNhbigpLnJlZG8oKSxcbiAgICB9LFxuICB9O1xufTtcbiJdfQ==
@@ -0,0 +1,35 @@
1
+ import { TextSelection, NodeSelection } from "@tiptap/pm/state";
2
+ import { CellSelection } from "@tiptap/pm/tables";
3
+ export const AteSelectionCalculator = editor => {
4
+ const { selection } = editor.state;
5
+ const { from, to } = selection;
6
+ let selectionType = "none";
7
+ if (selection instanceof TextSelection) {
8
+ selectionType = "text";
9
+ }
10
+ else if (selection instanceof NodeSelection) {
11
+ selectionType = "node";
12
+ }
13
+ else if (selection instanceof CellSelection) {
14
+ selectionType = "cell";
15
+ }
16
+ let isSingleCell = false;
17
+ if (selection instanceof CellSelection) {
18
+ isSingleCell = selection.$anchorCell.pos === selection.$headCell.pos;
19
+ }
20
+ return {
21
+ isFocused: editor.view.hasFocus(),
22
+ isEditable: editor.isEditable,
23
+ selection: {
24
+ type: selectionType,
25
+ from,
26
+ to,
27
+ empty: selection.empty || (selectionType === "text" && from === to),
28
+ isSingleCell: isSingleCell,
29
+ },
30
+ nodes: {
31
+ activeNodeName: editor.state.doc.nodeAt(editor.state.selection.$head.pos)?.type.name || null,
32
+ },
33
+ };
34
+ };
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRlLXNlbGVjdGlvbi5jYWxjdWxhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci10aXB0YXAtZWRpdG9yL3NyYy9saWIvZXh0ZW5zaW9ucy9jYWxjdWxhdG9ycy9hdGUtc2VsZWN0aW9uLmNhbGN1bGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHbEQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQXVCLE1BQU0sQ0FBQyxFQUFFO0lBQ2pFLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO0lBQ25DLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEdBQUcsU0FBUyxDQUFDO0lBRS9CLElBQUksYUFBYSxHQUFzQyxNQUFNLENBQUM7SUFDOUQsSUFBSSxTQUFTLFlBQVksYUFBYSxFQUFFLENBQUM7UUFDdkMsYUFBYSxHQUFHLE1BQU0sQ0FBQztJQUN6QixDQUFDO1NBQU0sSUFBSSxTQUFTLFlBQVksYUFBYSxFQUFFLENBQUM7UUFDOUMsYUFBYSxHQUFHLE1BQU0sQ0FBQztJQUN6QixDQUFDO1NBQU0sSUFBSSxTQUFTLFlBQVksYUFBYSxFQUFFLENBQUM7UUFDOUMsYUFBYSxHQUFHLE1BQU0sQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLElBQUksU0FBUyxZQUFZLGFBQWEsRUFBRSxDQUFDO1FBQ3ZDLFlBQVksR0FBRyxTQUFTLENBQUMsV0FBVyxDQUFDLEdBQUcsS0FBSyxTQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQztJQUN2RSxDQUFDO0lBRUQsT0FBTztRQUNMLFNBQVMsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtRQUNqQyxVQUFVLEVBQUUsTUFBTSxDQUFDLFVBQVU7UUFDN0IsU0FBUyxFQUFFO1lBQ1QsSUFBSSxFQUFFLGFBQWE7WUFDbkIsSUFBSTtZQUNKLEVBQUU7WUFDRixLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLGFBQWEsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNuRSxZQUFZLEVBQUUsWUFBWTtTQUMzQjtRQUNELEtBQUssRUFBRTtZQUNMLGNBQWMsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSTtTQUM3RjtLQUNGLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZXh0U2VsZWN0aW9uLCBOb2RlU2VsZWN0aW9uIH0gZnJvbSBcIkB0aXB0YXAvcG0vc3RhdGVcIjtcbmltcG9ydCB7IENlbGxTZWxlY3Rpb24gfSBmcm9tIFwiQHRpcHRhcC9wbS90YWJsZXNcIjtcbmltcG9ydCB7IEF0ZVN0YXRlQ2FsY3VsYXRvciB9IGZyb20gXCIuLi8uLi9tb2RlbHMvYXRlLWVkaXRvci1zdGF0ZS5tb2RlbFwiO1xuXG5leHBvcnQgY29uc3QgQXRlU2VsZWN0aW9uQ2FsY3VsYXRvcjogQXRlU3RhdGVDYWxjdWxhdG9yID0gZWRpdG9yID0+IHtcbiAgY29uc3QgeyBzZWxlY3Rpb24gfSA9IGVkaXRvci5zdGF0ZTtcbiAgY29uc3QgeyBmcm9tLCB0byB9ID0gc2VsZWN0aW9uO1xuXG4gIGxldCBzZWxlY3Rpb25UeXBlOiBcInRleHRcIiB8IFwibm9kZVwiIHwgXCJjZWxsXCIgfCBcIm5vbmVcIiA9IFwibm9uZVwiO1xuICBpZiAoc2VsZWN0aW9uIGluc3RhbmNlb2YgVGV4dFNlbGVjdGlvbikge1xuICAgIHNlbGVjdGlvblR5cGUgPSBcInRleHRcIjtcbiAgfSBlbHNlIGlmIChzZWxlY3Rpb24gaW5zdGFuY2VvZiBOb2RlU2VsZWN0aW9uKSB7XG4gICAgc2VsZWN0aW9uVHlwZSA9IFwibm9kZVwiO1xuICB9IGVsc2UgaWYgKHNlbGVjdGlvbiBpbnN0YW5jZW9mIENlbGxTZWxlY3Rpb24pIHtcbiAgICBzZWxlY3Rpb25UeXBlID0gXCJjZWxsXCI7XG4gIH1cblxuICBsZXQgaXNTaW5nbGVDZWxsID0gZmFsc2U7XG4gIGlmIChzZWxlY3Rpb24gaW5zdGFuY2VvZiBDZWxsU2VsZWN0aW9uKSB7XG4gICAgaXNTaW5nbGVDZWxsID0gc2VsZWN0aW9uLiRhbmNob3JDZWxsLnBvcyA9PT0gc2VsZWN0aW9uLiRoZWFkQ2VsbC5wb3M7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGlzRm9jdXNlZDogZWRpdG9yLnZpZXcuaGFzRm9jdXMoKSxcbiAgICBpc0VkaXRhYmxlOiBlZGl0b3IuaXNFZGl0YWJsZSxcbiAgICBzZWxlY3Rpb246IHtcbiAgICAgIHR5cGU6IHNlbGVjdGlvblR5cGUsXG4gICAgICBmcm9tLFxuICAgICAgdG8sXG4gICAgICBlbXB0eTogc2VsZWN0aW9uLmVtcHR5IHx8IChzZWxlY3Rpb25UeXBlID09PSBcInRleHRcIiAmJiBmcm9tID09PSB0byksXG4gICAgICBpc1NpbmdsZUNlbGw6IGlzU2luZ2xlQ2VsbCxcbiAgICB9LFxuICAgIG5vZGVzOiB7XG4gICAgICBhY3RpdmVOb2RlTmFtZTogZWRpdG9yLnN0YXRlLmRvYy5ub2RlQXQoZWRpdG9yLnN0YXRlLnNlbGVjdGlvbi4kaGVhZC5wb3MpPy50eXBlLm5hbWUgfHwgbnVsbCxcbiAgICB9LFxuICB9O1xufTtcbiJdfQ==
@@ -0,0 +1,34 @@
1
+ export const AteStructureCalculator = editor => {
2
+ return {
3
+ nodes: {
4
+ isBlockquote: editor.isActive("blockquote"),
5
+ isCodeBlock: editor.isActive("codeBlock"),
6
+ isBulletList: editor.isActive("bulletList"),
7
+ isOrderedList: editor.isActive("orderedList"),
8
+ h1: editor.isActive("heading", { level: 1 }),
9
+ h2: editor.isActive("heading", { level: 2 }),
10
+ h3: editor.isActive("heading", { level: 3 }),
11
+ alignLeft: editor.isActive({ textAlign: "left" }),
12
+ alignCenter: editor.isActive({ textAlign: "center" }),
13
+ alignRight: editor.isActive({ textAlign: "right" }),
14
+ alignJustify: editor.isActive({ textAlign: "justify" }),
15
+ },
16
+ can: {
17
+ toggleHeading1: editor.can().toggleHeading({ level: 1 }),
18
+ toggleHeading2: editor.can().toggleHeading({ level: 2 }),
19
+ toggleHeading3: editor.can().toggleHeading({ level: 3 }),
20
+ toggleBulletList: editor.can().toggleBulletList(),
21
+ toggleOrderedList: editor.can().toggleOrderedList(),
22
+ toggleBlockquote: editor.can().toggleBlockquote(),
23
+ toggleCodeBlock: editor.can().toggleCodeBlock(),
24
+ setTextAlignLeft: editor.can().setTextAlign("left"),
25
+ setTextAlignCenter: editor.can().setTextAlign("center"),
26
+ setTextAlignRight: editor.can().setTextAlign("right"),
27
+ setTextAlignJustify: editor.can().setTextAlign("justify"),
28
+ insertHorizontalRule: editor.can().setHorizontalRule(),
29
+ insertTable: editor.can().insertTable(),
30
+ insertImage: editor.can().setResizableImage({ src: "" }),
31
+ },
32
+ };
33
+ };
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRlLXN0cnVjdHVyZS5jYWxjdWxhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci10aXB0YXAtZWRpdG9yL3NyYy9saWIvZXh0ZW5zaW9ucy9jYWxjdWxhdG9ycy9hdGUtc3RydWN0dXJlLmNhbGN1bGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQXVCLE1BQU0sQ0FBQyxFQUFFO0lBQ2pFLE9BQU87UUFDTCxLQUFLLEVBQUU7WUFDTCxZQUFZLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUM7WUFDM0MsV0FBVyxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDO1lBQ3pDLFlBQVksRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQztZQUMzQyxhQUFhLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7WUFDN0MsRUFBRSxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQzVDLEVBQUUsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUM1QyxFQUFFLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDNUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDakQsV0FBVyxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLENBQUM7WUFDckQsVUFBVSxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLENBQUM7WUFDbkQsWUFBWSxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLENBQUM7U0FDeEQ7UUFDRCxHQUFHLEVBQUU7WUFDSCxjQUFjLEVBQUUsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUN4RCxjQUFjLEVBQUUsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUN4RCxjQUFjLEVBQUUsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUN4RCxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLEVBQUU7WUFDakQsaUJBQWlCLEVBQUUsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixFQUFFO1lBQ25ELGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRTtZQUNqRCxlQUFlLEVBQUUsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLGVBQWUsRUFBRTtZQUMvQyxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztZQUNuRCxrQkFBa0IsRUFBRSxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQztZQUN2RCxpQkFBaUIsRUFBRSxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQztZQUNyRCxtQkFBbUIsRUFBRSxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQztZQUN6RCxvQkFBb0IsRUFBRSxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLEVBQUU7WUFDdEQsV0FBVyxFQUFFLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLEVBQUU7WUFDdkMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQztTQUN6RDtLQUNGLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdGVTdGF0ZUNhbGN1bGF0b3IgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2F0ZS1lZGl0b3Itc3RhdGUubW9kZWxcIjtcblxuZXhwb3J0IGNvbnN0IEF0ZVN0cnVjdHVyZUNhbGN1bGF0b3I6IEF0ZVN0YXRlQ2FsY3VsYXRvciA9IGVkaXRvciA9PiB7XG4gIHJldHVybiB7XG4gICAgbm9kZXM6IHtcbiAgICAgIGlzQmxvY2txdW90ZTogZWRpdG9yLmlzQWN0aXZlKFwiYmxvY2txdW90ZVwiKSxcbiAgICAgIGlzQ29kZUJsb2NrOiBlZGl0b3IuaXNBY3RpdmUoXCJjb2RlQmxvY2tcIiksXG4gICAgICBpc0J1bGxldExpc3Q6IGVkaXRvci5pc0FjdGl2ZShcImJ1bGxldExpc3RcIiksXG4gICAgICBpc09yZGVyZWRMaXN0OiBlZGl0b3IuaXNBY3RpdmUoXCJvcmRlcmVkTGlzdFwiKSxcbiAgICAgIGgxOiBlZGl0b3IuaXNBY3RpdmUoXCJoZWFkaW5nXCIsIHsgbGV2ZWw6IDEgfSksXG4gICAgICBoMjogZWRpdG9yLmlzQWN0aXZlKFwiaGVhZGluZ1wiLCB7IGxldmVsOiAyIH0pLFxuICAgICAgaDM6IGVkaXRvci5pc0FjdGl2ZShcImhlYWRpbmdcIiwgeyBsZXZlbDogMyB9KSxcbiAgICAgIGFsaWduTGVmdDogZWRpdG9yLmlzQWN0aXZlKHsgdGV4dEFsaWduOiBcImxlZnRcIiB9KSxcbiAgICAgIGFsaWduQ2VudGVyOiBlZGl0b3IuaXNBY3RpdmUoeyB0ZXh0QWxpZ246IFwiY2VudGVyXCIgfSksXG4gICAgICBhbGlnblJpZ2h0OiBlZGl0b3IuaXNBY3RpdmUoeyB0ZXh0QWxpZ246IFwicmlnaHRcIiB9KSxcbiAgICAgIGFsaWduSnVzdGlmeTogZWRpdG9yLmlzQWN0aXZlKHsgdGV4dEFsaWduOiBcImp1c3RpZnlcIiB9KSxcbiAgICB9LFxuICAgIGNhbjoge1xuICAgICAgdG9nZ2xlSGVhZGluZzE6IGVkaXRvci5jYW4oKS50b2dnbGVIZWFkaW5nKHsgbGV2ZWw6IDEgfSksXG4gICAgICB0b2dnbGVIZWFkaW5nMjogZWRpdG9yLmNhbigpLnRvZ2dsZUhlYWRpbmcoeyBsZXZlbDogMiB9KSxcbiAgICAgIHRvZ2dsZUhlYWRpbmczOiBlZGl0b3IuY2FuKCkudG9nZ2xlSGVhZGluZyh7IGxldmVsOiAzIH0pLFxuICAgICAgdG9nZ2xlQnVsbGV0TGlzdDogZWRpdG9yLmNhbigpLnRvZ2dsZUJ1bGxldExpc3QoKSxcbiAgICAgIHRvZ2dsZU9yZGVyZWRMaXN0OiBlZGl0b3IuY2FuKCkudG9nZ2xlT3JkZXJlZExpc3QoKSxcbiAgICAgIHRvZ2dsZUJsb2NrcXVvdGU6IGVkaXRvci5jYW4oKS50b2dnbGVCbG9ja3F1b3RlKCksXG4gICAgICB0b2dnbGVDb2RlQmxvY2s6IGVkaXRvci5jYW4oKS50b2dnbGVDb2RlQmxvY2soKSxcbiAgICAgIHNldFRleHRBbGlnbkxlZnQ6IGVkaXRvci5jYW4oKS5zZXRUZXh0QWxpZ24oXCJsZWZ0XCIpLFxuICAgICAgc2V0VGV4dEFsaWduQ2VudGVyOiBlZGl0b3IuY2FuKCkuc2V0VGV4dEFsaWduKFwiY2VudGVyXCIpLFxuICAgICAgc2V0VGV4dEFsaWduUmlnaHQ6IGVkaXRvci5jYW4oKS5zZXRUZXh0QWxpZ24oXCJyaWdodFwiKSxcbiAgICAgIHNldFRleHRBbGlnbkp1c3RpZnk6IGVkaXRvci5jYW4oKS5zZXRUZXh0QWxpZ24oXCJqdXN0aWZ5XCIpLFxuICAgICAgaW5zZXJ0SG9yaXpvbnRhbFJ1bGU6IGVkaXRvci5jYW4oKS5zZXRIb3Jpem9udGFsUnVsZSgpLFxuICAgICAgaW5zZXJ0VGFibGU6IGVkaXRvci5jYW4oKS5pbnNlcnRUYWJsZSgpLFxuICAgICAgaW5zZXJ0SW1hZ2U6IGVkaXRvci5jYW4oKS5zZXRSZXNpemFibGVJbWFnZSh7IHNyYzogXCJcIiB9KSxcbiAgICB9LFxuICB9O1xufTtcbiJdfQ==
@@ -0,0 +1,38 @@
1
+ import { NodeSelection } from "@tiptap/pm/state";
2
+ export const AteTableCalculator = editor => {
3
+ const isTable = editor.isActive("table");
4
+ if (!isTable) {
5
+ return {
6
+ nodes: {
7
+ isTable: false,
8
+ isTableCell: false,
9
+ isTableHeaderRow: false,
10
+ isTableHeaderColumn: false,
11
+ },
12
+ };
13
+ }
14
+ const { selection } = editor.state;
15
+ return {
16
+ nodes: {
17
+ isTable: true,
18
+ isTableNodeSelected: selection instanceof NodeSelection && selection.node.type.name === "table",
19
+ isTableCell: editor.isActive("tableCell") || editor.isActive("tableHeader"),
20
+ isTableHeaderRow: editor.isActive("tableHeader", { row: true }),
21
+ isTableHeaderColumn: editor.isActive("tableHeader", { column: true }),
22
+ },
23
+ can: {
24
+ addRowBefore: editor.can().addRowBefore(),
25
+ addRowAfter: editor.can().addRowAfter(),
26
+ deleteRow: editor.can().deleteRow(),
27
+ addColumnBefore: editor.can().addColumnBefore(),
28
+ addColumnAfter: editor.can().addColumnAfter(),
29
+ deleteColumn: editor.can().deleteColumn(),
30
+ deleteTable: editor.can().deleteTable(),
31
+ mergeCells: editor.can().mergeCells(),
32
+ splitCell: editor.can().splitCell(),
33
+ toggleHeaderRow: editor.can().toggleHeaderRow(),
34
+ toggleHeaderColumn: editor.can().toggleHeaderColumn(),
35
+ },
36
+ };
37
+ };
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRlLXRhYmxlLmNhbGN1bGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRpcHRhcC1lZGl0b3Ivc3JjL2xpYi9leHRlbnNpb25zL2NhbGN1bGF0b3JzL2F0ZS10YWJsZS5jYWxjdWxhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUdqRCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBdUIsTUFBTSxDQUFDLEVBQUU7SUFDN0QsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUV6QyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDYixPQUFPO1lBQ0wsS0FBSyxFQUFFO2dCQUNMLE9BQU8sRUFBRSxLQUFLO2dCQUNkLFdBQVcsRUFBRSxLQUFLO2dCQUNsQixnQkFBZ0IsRUFBRSxLQUFLO2dCQUN2QixtQkFBbUIsRUFBRSxLQUFLO2FBQzNCO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUVuQyxPQUFPO1FBQ0wsS0FBSyxFQUFFO1lBQ0wsT0FBTyxFQUFFLElBQUk7WUFDYixtQkFBbUIsRUFDakIsU0FBUyxZQUFZLGFBQWEsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssT0FBTztZQUM1RSxXQUFXLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQztZQUMzRSxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUMvRCxtQkFBbUIsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQztTQUN0RTtRQUNELEdBQUcsRUFBRTtZQUNILFlBQVksRUFBRSxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxFQUFFO1lBQ3pDLFdBQVcsRUFBRSxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxFQUFFO1lBQ3ZDLFNBQVMsRUFBRSxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxFQUFFO1lBQ25DLGVBQWUsRUFBRSxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBZSxFQUFFO1lBQy9DLGNBQWMsRUFBRSxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxFQUFFO1lBQzdDLFlBQVksRUFBRSxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxFQUFFO1lBQ3pDLFdBQVcsRUFBRSxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxFQUFFO1lBQ3ZDLFVBQVUsRUFBRSxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsVUFBVSxFQUFFO1lBQ3JDLFNBQVMsRUFBRSxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxFQUFFO1lBQ25DLGVBQWUsRUFBRSxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBZSxFQUFFO1lBQy9DLGtCQUFrQixFQUFFLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRTtTQUN0RDtLQUNGLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOb2RlU2VsZWN0aW9uIH0gZnJvbSBcIkB0aXB0YXAvcG0vc3RhdGVcIjtcbmltcG9ydCB7IEF0ZVN0YXRlQ2FsY3VsYXRvciB9IGZyb20gXCIuLi8uLi9tb2RlbHMvYXRlLWVkaXRvci1zdGF0ZS5tb2RlbFwiO1xuXG5leHBvcnQgY29uc3QgQXRlVGFibGVDYWxjdWxhdG9yOiBBdGVTdGF0ZUNhbGN1bGF0b3IgPSBlZGl0b3IgPT4ge1xuICBjb25zdCBpc1RhYmxlID0gZWRpdG9yLmlzQWN0aXZlKFwidGFibGVcIik7XG5cbiAgaWYgKCFpc1RhYmxlKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5vZGVzOiB7XG4gICAgICAgIGlzVGFibGU6IGZhbHNlLFxuICAgICAgICBpc1RhYmxlQ2VsbDogZmFsc2UsXG4gICAgICAgIGlzVGFibGVIZWFkZXJSb3c6IGZhbHNlLFxuICAgICAgICBpc1RhYmxlSGVhZGVyQ29sdW1uOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0IHsgc2VsZWN0aW9uIH0gPSBlZGl0b3Iuc3RhdGU7XG5cbiAgcmV0dXJuIHtcbiAgICBub2Rlczoge1xuICAgICAgaXNUYWJsZTogdHJ1ZSxcbiAgICAgIGlzVGFibGVOb2RlU2VsZWN0ZWQ6XG4gICAgICAgIHNlbGVjdGlvbiBpbnN0YW5jZW9mIE5vZGVTZWxlY3Rpb24gJiYgc2VsZWN0aW9uLm5vZGUudHlwZS5uYW1lID09PSBcInRhYmxlXCIsXG4gICAgICBpc1RhYmxlQ2VsbDogZWRpdG9yLmlzQWN0aXZlKFwidGFibGVDZWxsXCIpIHx8IGVkaXRvci5pc0FjdGl2ZShcInRhYmxlSGVhZGVyXCIpLFxuICAgICAgaXNUYWJsZUhlYWRlclJvdzogZWRpdG9yLmlzQWN0aXZlKFwidGFibGVIZWFkZXJcIiwgeyByb3c6IHRydWUgfSksXG4gICAgICBpc1RhYmxlSGVhZGVyQ29sdW1uOiBlZGl0b3IuaXNBY3RpdmUoXCJ0YWJsZUhlYWRlclwiLCB7IGNvbHVtbjogdHJ1ZSB9KSxcbiAgICB9LFxuICAgIGNhbjoge1xuICAgICAgYWRkUm93QmVmb3JlOiBlZGl0b3IuY2FuKCkuYWRkUm93QmVmb3JlKCksXG4gICAgICBhZGRSb3dBZnRlcjogZWRpdG9yLmNhbigpLmFkZFJvd0FmdGVyKCksXG4gICAgICBkZWxldGVSb3c6IGVkaXRvci5jYW4oKS5kZWxldGVSb3coKSxcbiAgICAgIGFkZENvbHVtbkJlZm9yZTogZWRpdG9yLmNhbigpLmFkZENvbHVtbkJlZm9yZSgpLFxuICAgICAgYWRkQ29sdW1uQWZ0ZXI6IGVkaXRvci5jYW4oKS5hZGRDb2x1bW5BZnRlcigpLFxuICAgICAgZGVsZXRlQ29sdW1uOiBlZGl0b3IuY2FuKCkuZGVsZXRlQ29sdW1uKCksXG4gICAgICBkZWxldGVUYWJsZTogZWRpdG9yLmNhbigpLmRlbGV0ZVRhYmxlKCksXG4gICAgICBtZXJnZUNlbGxzOiBlZGl0b3IuY2FuKCkubWVyZ2VDZWxscygpLFxuICAgICAgc3BsaXRDZWxsOiBlZGl0b3IuY2FuKCkuc3BsaXRDZWxsKCksXG4gICAgICB0b2dnbGVIZWFkZXJSb3c6IGVkaXRvci5jYW4oKS50b2dnbGVIZWFkZXJSb3coKSxcbiAgICAgIHRvZ2dsZUhlYWRlckNvbHVtbjogZWRpdG9yLmNhbigpLnRvZ2dsZUhlYWRlckNvbHVtbigpLFxuICAgIH0sXG4gIH07XG59O1xuIl19
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Clés des options du menu bulle de texte
3
+ */
4
+ export const ATE_BUBBLE_MENU_KEYS = [
5
+ "bold",
6
+ "italic",
7
+ "underline",
8
+ "strike",
9
+ "code",
10
+ "superscript",
11
+ "subscript",
12
+ "highlight",
13
+ "highlightPicker",
14
+ "textColor",
15
+ "link",
16
+ "separator",
17
+ ];
18
+ /**
19
+ * Clés des options du menu bulle d'image
20
+ */
21
+ export const ATE_IMAGE_BUBBLE_MENU_KEYS = [
22
+ "changeImage",
23
+ "resizeSmall",
24
+ "resizeMedium",
25
+ "resizeLarge",
26
+ "resizeOriginal",
27
+ "deleteImage",
28
+ "separator",
29
+ ];
30
+ /**
31
+ * Clés des options du menu de table
32
+ */
33
+ export const ATE_TABLE_BUBBLE_MENU_KEYS = [
34
+ "addRowBefore",
35
+ "addRowAfter",
36
+ "deleteRow",
37
+ "addColumnBefore",
38
+ "addColumnAfter",
39
+ "deleteColumn",
40
+ "deleteTable",
41
+ "toggleHeaderRow",
42
+ "toggleHeaderColumn",
43
+ "separator",
44
+ ];
45
+ /**
46
+ * Clés des options du menu de cellule
47
+ */
48
+ export const ATE_CELL_BUBBLE_MENU_KEYS = ["mergeCells", "splitCell"];
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRlLWJ1YmJsZS1tZW51Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci10aXB0YXAtZWRpdG9yL3NyYy9saWIvbW9kZWxzL2F0ZS1idWJibGUtbWVudS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHO0lBQ2xDLE1BQU07SUFDTixRQUFRO0lBQ1IsV0FBVztJQUNYLFFBQVE7SUFDUixNQUFNO0lBQ04sYUFBYTtJQUNiLFdBQVc7SUFDWCxXQUFXO0lBQ1gsaUJBQWlCO0lBQ2pCLFdBQVc7SUFDWCxNQUFNO0lBQ04sV0FBVztDQUNILENBQUM7QUFlWDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHO0lBQ3hDLGFBQWE7SUFDYixhQUFhO0lBQ2IsY0FBYztJQUNkLGFBQWE7SUFDYixnQkFBZ0I7SUFDaEIsYUFBYTtJQUNiLFdBQVc7Q0FDSCxDQUFDO0FBTVg7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRztJQUN4QyxjQUFjO0lBQ2QsYUFBYTtJQUNiLFdBQVc7SUFDWCxpQkFBaUI7SUFDakIsZ0JBQWdCO0lBQ2hCLGNBQWM7SUFDZCxhQUFhO0lBQ2IsaUJBQWlCO0lBQ2pCLG9CQUFvQjtJQUNwQixXQUFXO0NBQ0gsQ0FBQztBQU1YOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IgfSBmcm9tIFwiQHRpcHRhcC9jb3JlXCI7XG5cbi8qKlxuICogQ2zDqXMgZGVzIG9wdGlvbnMgZHUgbWVudSBidWxsZSBkZSB0ZXh0ZVxuICovXG5leHBvcnQgY29uc3QgQVRFX0JVQkJMRV9NRU5VX0tFWVMgPSBbXG4gIFwiYm9sZFwiLFxuICBcIml0YWxpY1wiLFxuICBcInVuZGVybGluZVwiLFxuICBcInN0cmlrZVwiLFxuICBcImNvZGVcIixcbiAgXCJzdXBlcnNjcmlwdFwiLFxuICBcInN1YnNjcmlwdFwiLFxuICBcImhpZ2hsaWdodFwiLFxuICBcImhpZ2hsaWdodFBpY2tlclwiLFxuICBcInRleHRDb2xvclwiLFxuICBcImxpbmtcIixcbiAgXCJzZXBhcmF0b3JcIixcbl0gYXMgY29uc3Q7XG5cbmV4cG9ydCB0eXBlIEF0ZUJ1YmJsZU1lbnVLZXkgPSAodHlwZW9mIEFURV9CVUJCTEVfTUVOVV9LRVlTKVtudW1iZXJdO1xuXG5leHBvcnQgaW50ZXJmYWNlIEF0ZUJ1YmJsZU1lbnVDb25maWcgZXh0ZW5kcyBQYXJ0aWFsPFJlY29yZDxBdGVCdWJibGVNZW51S2V5LCBib29sZWFuPj4ge1xuICBjdXN0b20/OiBBdGVDdXN0b21CdWJibGVNZW51SXRlbVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF0ZUN1c3RvbUJ1YmJsZU1lbnVJdGVtIHtcbiAga2V5OiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGljb246IHN0cmluZztcbiAgY29tbWFuZDogKGVkaXRvcjogRWRpdG9yKSA9PiB2b2lkIHwgUHJvbWlzZTx2b2lkPjtcbn1cblxuLyoqXG4gKiBDbMOpcyBkZXMgb3B0aW9ucyBkdSBtZW51IGJ1bGxlIGQnaW1hZ2VcbiAqL1xuZXhwb3J0IGNvbnN0IEFURV9JTUFHRV9CVUJCTEVfTUVOVV9LRVlTID0gW1xuICBcImNoYW5nZUltYWdlXCIsXG4gIFwicmVzaXplU21hbGxcIixcbiAgXCJyZXNpemVNZWRpdW1cIixcbiAgXCJyZXNpemVMYXJnZVwiLFxuICBcInJlc2l6ZU9yaWdpbmFsXCIsXG4gIFwiZGVsZXRlSW1hZ2VcIixcbiAgXCJzZXBhcmF0b3JcIixcbl0gYXMgY29uc3Q7XG5cbmV4cG9ydCB0eXBlIEF0ZUltYWdlQnViYmxlTWVudUtleSA9ICh0eXBlb2YgQVRFX0lNQUdFX0JVQkJMRV9NRU5VX0tFWVMpW251bWJlcl07XG5cbmV4cG9ydCB0eXBlIEF0ZUltYWdlQnViYmxlTWVudUNvbmZpZyA9IFBhcnRpYWw8UmVjb3JkPEF0ZUltYWdlQnViYmxlTWVudUtleSwgYm9vbGVhbj4+O1xuXG4vKipcbiAqIENsw6lzIGRlcyBvcHRpb25zIGR1IG1lbnUgZGUgdGFibGVcbiAqL1xuZXhwb3J0IGNvbnN0IEFURV9UQUJMRV9CVUJCTEVfTUVOVV9LRVlTID0gW1xuICBcImFkZFJvd0JlZm9yZVwiLFxuICBcImFkZFJvd0FmdGVyXCIsXG4gIFwiZGVsZXRlUm93XCIsXG4gIFwiYWRkQ29sdW1uQmVmb3JlXCIsXG4gIFwiYWRkQ29sdW1uQWZ0ZXJcIixcbiAgXCJkZWxldGVDb2x1bW5cIixcbiAgXCJkZWxldGVUYWJsZVwiLFxuICBcInRvZ2dsZUhlYWRlclJvd1wiLFxuICBcInRvZ2dsZUhlYWRlckNvbHVtblwiLFxuICBcInNlcGFyYXRvclwiLFxuXSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgQXRlVGFibGVCdWJibGVNZW51S2V5ID0gKHR5cGVvZiBBVEVfVEFCTEVfQlVCQkxFX01FTlVfS0VZUylbbnVtYmVyXTtcblxuZXhwb3J0IHR5cGUgQXRlVGFibGVCdWJibGVNZW51Q29uZmlnID0gUGFydGlhbDxSZWNvcmQ8QXRlVGFibGVCdWJibGVNZW51S2V5LCBib29sZWFuPj47XG5cbi8qKlxuICogQ2zDqXMgZGVzIG9wdGlvbnMgZHUgbWVudSBkZSBjZWxsdWxlXG4gKi9cbmV4cG9ydCBjb25zdCBBVEVfQ0VMTF9CVUJCTEVfTUVOVV9LRVlTID0gW1wibWVyZ2VDZWxsc1wiLCBcInNwbGl0Q2VsbFwiXSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgQXRlQ2VsbEJ1YmJsZU1lbnVLZXkgPSAodHlwZW9mIEFURV9DRUxMX0JVQkJMRV9NRU5VX0tFWVMpW251bWJlcl07XG5cbmV4cG9ydCB0eXBlIEF0ZUNlbGxCdWJibGVNZW51Q29uZmlnID0gUGFydGlhbDxSZWNvcmQ8QXRlQ2VsbEJ1YmJsZU1lbnVLZXksIGJvb2xlYW4+PjtcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRlLWVkaXRvci1jb25maWcubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRpcHRhcC1lZGl0b3Ivc3JjL2xpYi9tb2RlbHMvYXRlLWVkaXRvci1jb25maWcubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFR5cGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQXRlVG9vbGJhckNvbmZpZyB9IGZyb20gXCIuL2F0ZS10b29sYmFyLm1vZGVsXCI7XG5pbXBvcnQgeyBSZWdpc3RlckFuZ3VsYXJDb21wb25lbnRPcHRpb25zIH0gZnJvbSBcIi4uL25vZGUtdmlldy9hdGUtbm9kZS12aWV3Lm1vZGVsc1wiO1xuaW1wb3J0IHtcbiAgQXRlQnViYmxlTWVudUNvbmZpZyxcbiAgQXRlSW1hZ2VCdWJibGVNZW51Q29uZmlnLFxuICBBdGVUYWJsZUJ1YmJsZU1lbnVDb25maWcsXG4gIEF0ZUNlbGxCdWJibGVNZW51Q29uZmlnLFxufSBmcm9tIFwiLi9hdGUtYnViYmxlLW1lbnUubW9kZWxcIjtcbmltcG9ydCB7IEF0ZVNsYXNoQ29tbWFuZHNDb25maWcgfSBmcm9tIFwiLi4vY29uZmlnL2F0ZS1zbGFzaC1jb21tYW5kcy5jb25maWdcIjtcbmltcG9ydCB7IEF0ZUltYWdlVXBsb2FkQ29uZmlnIH0gZnJvbSBcIi4vYXRlLWltYWdlLm1vZGVsXCI7XG5pbXBvcnQgeyBFeHRlbnNpb24sIE5vZGUsIE1hcmssIEVkaXRvck9wdGlvbnMgfSBmcm9tIFwiQHRpcHRhcC9jb3JlXCI7XG5pbXBvcnQgeyBBdGVTdGF0ZUNhbGN1bGF0b3IgfSBmcm9tIFwiLi9hdGUtZWRpdG9yLXN0YXRlLm1vZGVsXCI7XG5pbXBvcnQgeyBBdGVDdXN0b21TbGFzaENvbW1hbmRzIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvc2xhc2gtY29tbWFuZHMvYXRlLXNsYXNoLWNvbW1hbmRzLmNvbXBvbmVudFwiO1xuXG4vKipcbiAqIFR5cGUgcmVwcmVzZW50aW5nIGFuIEFuZ3VsYXIgY29tcG9uZW50IHRoYXQgY2FuIGJlIHJlZ2lzdGVyZWQgYXMgYW4gZWRpdG9yIG5vZGUuXG4gKiBDYW4gYmUgYSBkaXJlY3QgQ29tcG9uZW50IGNsYXNzIG9yIGEgZnVsbCByZWdpc3RyYXRpb24gb3B0aW9ucyBvYmplY3QuXG4gKi9cbmV4cG9ydCB0eXBlIEF0ZUFuZ3VsYXJOb2RlID0gVHlwZTx1bmtub3duPiB8IFJlZ2lzdGVyQW5ndWxhckNvbXBvbmVudE9wdGlvbnM8dW5rbm93bj47XG5cbi8qKlxuICogR2xvYmFsIGNvbmZpZ3VyYXRpb24gaW50ZXJmYWNlIGZvciBBbmd1bGFyIFRpcHRhcCBFZGl0b3IuXG4gKiBVc2VzIGEgZmxhdCBzdHJ1Y3R1cmUgZm9yIGNvbW1vbiBzZXR0aW5ncyBhbmQgb2JqZWN0cyBmb3IgY29tcGxleCBjb25maWd1cmF0aW9ucy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBdGVFZGl0b3JDb25maWcge1xuICAvLyAtLS0gMS4gQ29yZSBTZXR0aW5ncyAoRmlyc3QtY2xhc3MgY2l0aXplbnMpIC0tLVxuXG4gIC8qKiBFZGl0b3IgdGhlbWU6IGxpZ2h0LCBkYXJrLCBvciBzeXN0ZW0gYXV0by1kZXRlY3Rpb24gKi9cbiAgdGhlbWU/OiBcImxpZ2h0XCIgfCBcImRhcmtcIiB8IFwiYXV0b1wiO1xuICAvKiogRGlzcGxheSBtb2RlOiBjbGFzc2ljIG9yIHNlYW1sZXNzIChubyBib3JkZXJzL2JhY2tncm91bmQpICovXG4gIG1vZGU/OiBcImNsYXNzaWNcIiB8IFwic2VhbWxlc3NcIjtcbiAgLyoqIEVkaXRvciBoZWlnaHQgKGUuZy4sICczMDBweCcsICdhdXRvJykgKi9cbiAgaGVpZ2h0Pzogc3RyaW5nO1xuICAvKiogRm9jdXMgcG9zaXRpb24gb24gaW5pdGlhbGl6YXRpb24gKi9cbiAgYXV0b2ZvY3VzPzogXCJzdGFydFwiIHwgXCJlbmRcIiB8IFwiYWxsXCIgfCBib29sZWFuIHwgbnVtYmVyO1xuICAvKiogUGxhY2Vob2xkZXIgdGV4dCBkaXNwbGF5ZWQgd2hlbiB0aGUgZWRpdG9yIGlzIGVtcHR5ICovXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAvKiogSW5pdGlhbCBlZGl0aW5nIHN0YXRlIChpZiBmYWxzZSwgdGhlIGVkaXRvciBpcyByZWFkLW9ubHkpICovXG4gIGVkaXRhYmxlPzogYm9vbGVhbjtcbiAgLyoqIE1pbmltdW0gZWRpdG9yIGhlaWdodCAoZS5nLiwgJzIwMHB4JykgKi9cbiAgbWluSGVpZ2h0Pzogc3RyaW5nO1xuICAvKiogTWF4aW11bSBlZGl0b3IgaGVpZ2h0IChlLmcuLCAnNTAwcHgnKSAqL1xuICBtYXhIZWlnaHQ/OiBzdHJpbmc7XG4gIC8qKiBJZiB0cnVlLCB0aGUgZWRpdG9yIHRha2VzIDEwMCUgb2YgdGhlIHBhcmVudCBjb250YWluZXIncyBoZWlnaHQgKi9cbiAgZmlsbENvbnRhaW5lcj86IGJvb2xlYW47XG4gIC8qKiBEaXNhYmxlZCBzdGF0ZSAob2Z0ZW4gdXNlZCB3aXRoIGZvcm1zKSAqL1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIC8qKiBFZGl0b3IgbG9jYWxlIChvdmVycmlkZXMgdGhlIGdsb2JhbCBpMThuIHNlcnZpY2UpICovXG4gIGxvY2FsZT86IHN0cmluZztcbiAgLyoqIEVuYWJsZSBicm93c2VyIHNwZWxsY2hlY2sgKi9cbiAgc3BlbGxjaGVjaz86IGJvb2xlYW47XG4gIC8qKiBFbmFibGUgc21hcnQgY2xlYW51cCB3aGVuIHBhc3RpbmcgZnJvbSBPZmZpY2UvV29yZCAqL1xuICBlbmFibGVPZmZpY2VQYXN0ZT86IGJvb2xlYW47XG5cbiAgLy8gLS0tIDIuIERpc3BsYXkgT3B0aW9ucyAoU2ltcGxlIGJvb2xlYW5zKSAtLS1cblxuICAvKiogU2hvdyBvciBoaWRlIHRoZSB0b29sYmFyICovXG4gIHNob3dUb29sYmFyPzogYm9vbGVhbjtcbiAgLyoqIFNob3cgb3IgaGlkZSB0aGUgZm9vdGVyIChjb3VudGVycyBhcmVhKSAqL1xuICBzaG93Rm9vdGVyPzogYm9vbGVhbjtcbiAgLyoqIFNob3cgb3IgaGlkZSB0aGUgY2hhcmFjdGVyIGNvdW50ICovXG4gIHNob3dDaGFyYWN0ZXJDb3VudD86IGJvb2xlYW47XG4gIC8qKiBTaG93IG9yIGhpZGUgdGhlIHdvcmQgY291bnQgKi9cbiAgc2hvd1dvcmRDb3VudD86IGJvb2xlYW47XG4gIC8qKiBTaG93IG9yIGhpZGUgdGhlIHJlYWQtb25seS9lZGl0IHRvZ2dsZSBidXR0b24gKi9cbiAgc2hvd0VkaXRUb2dnbGU/OiBib29sZWFuO1xuICAvKiogU2hvdyBvciBoaWRlIHRoZSB0ZXh0IGNvbnRleHQgbWVudSAqL1xuICBzaG93QnViYmxlTWVudT86IGJvb2xlYW47XG4gIC8qKiBTaG93IG9yIGhpZGUgdGhlIGltYWdlIGNvbnRleHQgbWVudSAqL1xuICBzaG93SW1hZ2VCdWJibGVNZW51PzogYm9vbGVhbjtcbiAgLyoqIFNob3cgb3IgaGlkZSB0aGUgdGFibGUgbWVudSAqL1xuICBzaG93VGFibGVNZW51PzogYm9vbGVhbjtcbiAgLyoqIFNob3cgb3IgaGlkZSB0aGUgY2VsbCBtZW51ICovXG4gIHNob3dDZWxsTWVudT86IGJvb2xlYW47XG4gIC8qKiBFbmFibGUgb3IgZGlzYWJsZSBzbGFzaCBjb21tYW5kcyAoLykgKi9cbiAgZW5hYmxlU2xhc2hDb21tYW5kcz86IGJvb2xlYW47XG4gIC8qKiBNYXhpbXVtIG51bWJlciBvZiBjaGFyYWN0ZXJzIGFsbG93ZWQgKi9cbiAgbWF4Q2hhcmFjdGVycz86IG51bWJlcjtcblxuICAvLyAtLS0gMy4gQ29tcGxleCBDb25maWd1cmF0aW9ucyAoQ29uZmlnIE9iamVjdHMpIC0tLVxuXG4gIC8qKiBEZXRhaWxlZCB0b29sYmFyIGNvbmZpZ3VyYXRpb24gKGl0ZW1zLCBncm91cHMpICovXG4gIHRvb2xiYXI/OiBBdGVUb29sYmFyQ29uZmlnO1xuICAvKiogVGV4dCBjb250ZXh0IG1lbnUgY29uZmlndXJhdGlvbiAqL1xuICBidWJibGVNZW51PzogQXRlQnViYmxlTWVudUNvbmZpZztcbiAgLyoqIEltYWdlIGNvbnRleHQgbWVudSBjb25maWd1cmF0aW9uICovXG4gIGltYWdlQnViYmxlTWVudT86IEF0ZUltYWdlQnViYmxlTWVudUNvbmZpZztcbiAgLyoqIFRhYmxlIGNvbnRleHQgbWVudSBjb25maWd1cmF0aW9uICovXG4gIHRhYmxlQnViYmxlTWVudT86IEF0ZVRhYmxlQnViYmxlTWVudUNvbmZpZztcbiAgLyoqIENlbGwgY29udGV4dCBtZW51IGNvbmZpZ3VyYXRpb24gKi9cbiAgY2VsbEJ1YmJsZU1lbnU/OiBBdGVDZWxsQnViYmxlTWVudUNvbmZpZztcbiAgLyoqIFNsYXNoIGNvbW1hbmRzIGNvbmZpZ3VyYXRpb24gKC8pICovXG4gIHNsYXNoQ29tbWFuZHM/OiBBdGVTbGFzaENvbW1hbmRzQ29uZmlnO1xuICAvKiogSWYgdHJ1ZSwgc2hvd3MgdGhlIGZsb2F0aW5nIHRvb2xiYXIgb24gZm9jdXMgKi9cbiAgZmxvYXRpbmdUb29sYmFyPzogYm9vbGVhbjtcblxuICAvLyAtLS0gNC4gRXh0ZXJuYWwgTW9kdWxlcyAtLS1cblxuICAvKiogVGVjaG5pY2FsIGNvbmZpZ3VyYXRpb24gZm9yIGltYWdlIHVwbG9hZHMgKi9cbiAgaW1hZ2VVcGxvYWQ/OiBBdGVJbWFnZVVwbG9hZENvbmZpZztcblxuICAvKipcbiAgICogTGlzdCBvZiBBbmd1bGFyIGNvbXBvbmVudHMgdG8gYXV0b21hdGljYWxseSByZWdpc3RlciBhcyBpbnRlcmFjdGl2ZSBlZGl0b3Igbm9kZXMuXG4gICAqIFRoaXMgaXMgdGhlIHByZWZlcnJlZCB3YXkgdG8gZXh0ZW5kIHRoZSBlZGl0b3Igd2l0aCBjdXN0b20gQW5ndWxhciBsb2dpYy5cbiAgICovXG4gIGFuZ3VsYXJOb2Rlcz86IEF0ZUFuZ3VsYXJOb2RlW107XG5cbiAgLy8gLS0tIDUuIExvdy1sZXZlbCAmIFJlYWN0aXZlIEV4dGVuc2lvbnMgLS0tXG5cbiAgLyoqIFN0YW5kYXJkIFRpcFRhcCBleHRlbnNpb25zIChOb2RlcywgTWFya3MsIG9yIFBsdWdpbnMpICovXG4gIHRpcHRhcEV4dGVuc2lvbnM/OiAoRXh0ZW5zaW9uIHwgTm9kZSB8IE1hcmspW107XG4gIC8qKiBSYXcgVGlwVGFwIGVkaXRvciBvcHRpb25zIChlLmcuLCBlbmFibGVJbnB1dFJ1bGVzLCBpbmplY3RDU1MsIGV0Yy4pICovXG4gIHRpcHRhcE9wdGlvbnM/OiBQYXJ0aWFsPEVkaXRvck9wdGlvbnM+O1xuICAvKiogUmVhY3RpdmUgc3RhdGUgY2FsY3VsYXRvcnMgdG8gZXh0ZW5kIHRoZSBlZGl0b3IncyBsaXZlIHN0YXRlICovXG4gIHN0YXRlQ2FsY3VsYXRvcnM/OiBBdGVTdGF0ZUNhbGN1bGF0b3JbXTtcbiAgLyoqXG4gICAqIEZ1bGx5IGN1c3RvbSBzbGFzaCBjb21tYW5kcyBjb25maWd1cmF0aW9uLlxuICAgKiBXaGVuIHByb3ZpZGVkLCBpdCByZXBsYWNlcyB0aGUgZGVmYXVsdCBncm91cHMgYmFzZWQgb24gdG9vbGJhciB0b2dnbGVzLlxuICAgKi9cbiAgY3VzdG9tU2xhc2hDb21tYW5kcz86IEF0ZUN1c3RvbVNsYXNoQ29tbWFuZHM7XG59XG4iXX0=