@flogeez/angular-tiptap-editor 3.1.2 → 3.1.4
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.
- package/CHANGELOG.md +25 -0
- package/README.md +2 -2
- package/esm2022/flogeez-angular-tiptap-editor.mjs +5 -0
- package/esm2022/lib/ate-editor.provider.mjs +38 -0
- package/esm2022/lib/components/bubble-menus/base/ate-base-bubble-menu.mjs +207 -0
- package/esm2022/lib/components/bubble-menus/base/ate-base-sub-bubble-menu.mjs +137 -0
- package/esm2022/lib/components/bubble-menus/color/ate-color-bubble-menu.component.mjs +365 -0
- package/esm2022/lib/components/bubble-menus/image/ate-image-bubble-menu.component.mjs +309 -0
- package/esm2022/lib/components/bubble-menus/link/ate-link-bubble-menu.component.mjs +247 -0
- package/esm2022/lib/components/bubble-menus/table/ate-cell-bubble-menu.component.mjs +126 -0
- package/esm2022/lib/components/bubble-menus/table/ate-table-bubble-menu.component.mjs +271 -0
- package/esm2022/lib/components/bubble-menus/text/ate-bubble-menu.component.mjs +272 -0
- package/esm2022/lib/components/color-picker/ate-color-picker.component.mjs +123 -0
- package/esm2022/lib/components/edit-toggle/ate-edit-toggle.component.mjs +42 -0
- package/esm2022/lib/components/editor/angular-tiptap-editor.component.mjs +1031 -0
- package/esm2022/lib/components/editor/ate-block-controls.component.mjs +256 -0
- package/esm2022/lib/components/slash-commands/ate-slash-commands.component.mjs +328 -0
- package/esm2022/lib/components/toolbar/ate-toolbar.component.mjs +531 -0
- package/esm2022/lib/components/ui/ate-button.component.mjs +91 -0
- package/esm2022/lib/components/ui/ate-separator.component.mjs +11 -0
- package/esm2022/lib/config/ate-editor.config.mjs +133 -0
- package/esm2022/lib/config/ate-global-config.token.mjs +6 -0
- package/esm2022/lib/config/ate-slash-commands.config.mjs +130 -0
- package/esm2022/lib/directives/ate-noop-value-accessor.directive.mjs +40 -0
- package/esm2022/lib/directives/ate-tooltip.directive.mjs +138 -0
- package/esm2022/lib/extensions/ate-block-controls.extension.mjs +156 -0
- package/esm2022/lib/extensions/ate-link-click-behavior.extension.mjs +32 -0
- package/esm2022/lib/extensions/ate-resizable-image.extension.mjs +277 -0
- package/esm2022/lib/extensions/ate-table.extension.mjs +27 -0
- package/esm2022/lib/extensions/ate-tiptap-state.extension.mjs +85 -0
- package/esm2022/lib/extensions/ate-upload-progress.extension.mjs +195 -0
- package/esm2022/lib/extensions/calculators/ate-discovery.calculator.mjs +62 -0
- package/esm2022/lib/extensions/calculators/ate-image.calculator.mjs +8 -0
- package/esm2022/lib/extensions/calculators/ate-marks.calculator.mjs +75 -0
- package/esm2022/lib/extensions/calculators/ate-selection.calculator.mjs +35 -0
- package/esm2022/lib/extensions/calculators/ate-structure.calculator.mjs +34 -0
- package/esm2022/lib/extensions/calculators/ate-table.calculator.mjs +38 -0
- package/esm2022/lib/models/ate-bubble-menu.model.mjs +53 -0
- package/esm2022/lib/models/ate-editor-config.model.mjs +2 -0
- package/esm2022/lib/models/ate-editor-state.model.mjs +90 -0
- package/esm2022/lib/models/ate-image.model.mjs +2 -0
- package/esm2022/lib/models/ate-slash-command.model.mjs +2 -0
- package/esm2022/lib/models/ate-toolbar.model.mjs +35 -0
- package/esm2022/lib/node-view/ate-angular-node-view.mjs +97 -0
- package/esm2022/lib/node-view/ate-injector.registry.mjs +16 -0
- package/esm2022/lib/node-view/ate-node-view.factory.mjs +125 -0
- package/esm2022/lib/node-view/ate-node-view.models.mjs +2 -0
- package/esm2022/lib/node-view/ate-node-view.renderer.mjs +154 -0
- package/esm2022/lib/node-view/ate-register-angular-component.mjs +49 -0
- package/esm2022/lib/services/ate-color-picker.service.mjs +194 -0
- package/esm2022/lib/services/ate-editor-commands.service.mjs +474 -0
- package/esm2022/lib/services/ate-i18n.service.mjs +422 -0
- package/esm2022/lib/services/ate-image.service.mjs +459 -0
- package/esm2022/lib/services/ate-link.service.mjs +99 -0
- package/esm2022/lib/utils/ate-color.utils.mjs +60 -0
- package/esm2022/public-api.mjs +40 -0
- package/fesm2022/flogeez-angular-tiptap-editor.mjs +321 -354
- package/fesm2022/flogeez-angular-tiptap-editor.mjs.map +1 -1
- package/index.d.ts +3 -1734
- package/lib/ate-editor.provider.d.ts +21 -0
- package/lib/components/bubble-menus/base/ate-base-bubble-menu.d.ts +71 -0
- package/lib/components/bubble-menus/base/ate-base-sub-bubble-menu.d.ts +60 -0
- package/lib/components/bubble-menus/color/ate-color-bubble-menu.component.d.ts +77 -0
- package/lib/components/bubble-menus/image/ate-image-bubble-menu.component.d.ts +49 -0
- package/lib/components/bubble-menus/link/ate-link-bubble-menu.component.d.ts +55 -0
- package/lib/components/bubble-menus/table/ate-cell-bubble-menu.component.d.ts +16 -0
- package/lib/components/bubble-menus/table/ate-table-bubble-menu.component.d.ts +25 -0
- package/lib/components/bubble-menus/text/ate-bubble-menu.component.d.ts +53 -0
- package/lib/components/color-picker/ate-color-picker.component.d.ts +54 -0
- package/lib/components/edit-toggle/ate-edit-toggle.component.d.ts +13 -0
- package/lib/components/editor/angular-tiptap-editor.component.d.ts +242 -0
- package/lib/components/editor/ate-block-controls.component.d.ts +44 -0
- package/lib/components/slash-commands/ate-slash-commands.component.d.ts +34 -0
- package/lib/components/toolbar/ate-toolbar.component.d.ts +47 -0
- package/lib/components/ui/ate-button.component.d.ts +25 -0
- package/lib/components/ui/ate-separator.component.d.ts +5 -0
- package/lib/config/ate-editor.config.d.ts +19 -0
- package/lib/config/ate-global-config.token.d.ts +6 -0
- package/lib/config/ate-slash-commands.config.d.ts +41 -0
- package/lib/directives/ate-noop-value-accessor.directive.d.ts +13 -0
- package/lib/directives/ate-tooltip.directive.d.ts +30 -0
- package/lib/extensions/ate-block-controls.extension.d.ts +10 -0
- package/lib/extensions/ate-link-click-behavior.extension.d.ts +2 -0
- package/lib/extensions/ate-resizable-image.extension.d.ts +27 -0
- package/lib/extensions/ate-table.extension.d.ts +2 -0
- package/lib/extensions/ate-tiptap-state.extension.d.ts +7 -0
- package/lib/extensions/ate-upload-progress.extension.d.ts +7 -0
- package/lib/extensions/calculators/ate-discovery.calculator.d.ts +7 -0
- package/lib/extensions/calculators/ate-image.calculator.d.ts +2 -0
- package/lib/extensions/calculators/ate-marks.calculator.d.ts +2 -0
- package/lib/extensions/calculators/ate-selection.calculator.d.ts +2 -0
- package/lib/extensions/calculators/ate-structure.calculator.d.ts +2 -0
- package/lib/extensions/calculators/ate-table.calculator.d.ts +2 -0
- package/lib/models/ate-bubble-menu.model.d.ts +33 -0
- package/lib/models/ate-editor-config.model.d.ts +113 -0
- package/lib/models/ate-editor-state.model.d.ts +109 -0
- package/lib/models/ate-image.model.d.ts +104 -0
- package/lib/models/ate-slash-command.model.d.ts +17 -0
- package/lib/models/ate-toolbar.model.d.ts +18 -0
- package/lib/node-view/ate-angular-node-view.d.ts +115 -0
- package/lib/node-view/ate-injector.registry.d.ts +3 -0
- package/lib/node-view/ate-node-view.factory.d.ts +10 -0
- package/lib/node-view/ate-node-view.models.d.ts +138 -0
- package/lib/node-view/ate-node-view.renderer.d.ts +23 -0
- package/lib/node-view/ate-register-angular-component.d.ts +35 -0
- package/lib/services/ate-color-picker.service.d.ts +65 -0
- package/lib/services/ate-editor-commands.service.d.ts +75 -0
- package/lib/services/ate-i18n.service.d.ts +406 -0
- package/lib/services/ate-image.service.d.ts +82 -0
- package/lib/services/ate-link.service.d.ts +42 -0
- package/lib/utils/ate-color.utils.d.ts +12 -0
- package/package.json +3 -1
- package/public-api.d.ts +31 -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRlLW1hcmtzLmNhbGN1bGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRpcHRhcC1lZGl0b3Ivc3JjL2xpYi9leHRlbnNpb25zL2NhbGN1bGF0b3JzL2F0ZS1tYXJrcy5jYWxjdWxhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUU3RCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBdUIsTUFBTSxDQUFDLEVBQUU7SUFDN0QsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNqRCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsbUJBQW1CO0lBQzNELE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBRTlFLHdEQUF3RDtJQUN4RCxNQUFNLFlBQVksR0FBRyxDQUFDLFdBQVcsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUM5Qyw4RUFBOEU7SUFDOUUsNERBQTREO0lBQzVELE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxDQUFDO0lBRWxDLHNEQUFzRDtJQUN0RCxNQUFNLGdCQUFnQixHQUFHLEdBQW1CLEVBQUU7UUFDNUMsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDO1lBQ3ZELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUNELElBQUksQ0FBQztZQUNILE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQztZQUN4QyxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsTUFBTSxD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QztBQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF0ZVN0YXRlQ2FsY3VsYXRvciB9IGZyb20gXCIuLi8uLi9tb2RlbHMvYXRlLWVkaXRvci1zdGF0ZS5tb2RlbFwiO1xuaW1wb3J0IHsgbm9ybWFsaXplQ29sb3IgfSBmcm9tIFwiLi4vLi4vdXRpbHMvYXRlLWNvbG9yLnV0aWxzXCI7XG5cbmV4cG9ydCBjb25zdCBBdGVNYXJrc0NhbGN1bGF0b3I6IEF0ZVN0YXRlQ2FsY3VsYXRvciA9IGVkaXRvciA9PiB7XG4gIGNvbnN0IGlzQ29kZUJsb2NrID0gZWRpdG9yLmlzQWN0aXZlKFwiY29kZUJsb2NrXCIpO1xuICBjb25zdCBpc0NvZGUgPSBlZGl0b3IuaXNBY3RpdmUoXCJjb2RlXCIpOyAvLyBJbmxpbmUgY29kZSBtYXJrXG4gIGNvbnN0IGlzSW1hZ2UgPSBlZGl0b3IuaXNBY3RpdmUoXCJpbWFnZVwiKSB8fCBlZGl0b3IuaXNBY3RpdmUoXCJyZXNpemFibGVJbWFnZVwiKTtcblxuICAvLyBDaGVjayBpZiBtYXJrcyBhcmUgZ2VuZXJhbGx5IGFsbG93ZWQgYmFzZWQgb24gY29udGV4dFxuICBjb25zdCBtYXJrc0FsbG93ZWQgPSAhaXNDb2RlQmxvY2sgJiYgIWlzSW1hZ2U7XG4gIC8vIEZvciBpbmxpbmUgY29kZSBzcGVjaWZpY2FsbHksIHdlIGRvbid0IGFsbG93IG5lc3RpbmcgT1RIRVIgbWFya3MgaW5zaWRlIGl0LFxuICAvLyBidXQgdGhlIGNvZGUgbWFyayBJVFNFTEYgbXVzdCBiZSB0b2dnbGFibGUgdG8gYmUgcmVtb3ZlZC5cbiAgY29uc3QgaXNJbnNpZGVJbmxpbmVDb2RlID0gaXNDb2RlO1xuXG4gIC8vIDEuIFJlc29sdmUgdGFyZ2V0IGVsZW1lbnQgb25jZSBmb3IgdGhpcyBjYWxjdWxhdGlvblxuICBjb25zdCBnZXRUYXJnZXRFbGVtZW50ID0gKCk6IEVsZW1lbnQgfCBudWxsID0+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,53 @@
|
|
|
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
|
+
"downloadImage",
|
|
24
|
+
"resizeSmall",
|
|
25
|
+
"resizeMedium",
|
|
26
|
+
"resizeLarge",
|
|
27
|
+
"resizeOriginal",
|
|
28
|
+
"alignLeft",
|
|
29
|
+
"alignCenter",
|
|
30
|
+
"alignRight",
|
|
31
|
+
"deleteImage",
|
|
32
|
+
"separator",
|
|
33
|
+
];
|
|
34
|
+
/**
|
|
35
|
+
* Clés des options du menu de table
|
|
36
|
+
*/
|
|
37
|
+
export const ATE_TABLE_BUBBLE_MENU_KEYS = [
|
|
38
|
+
"addRowBefore",
|
|
39
|
+
"addRowAfter",
|
|
40
|
+
"deleteRow",
|
|
41
|
+
"addColumnBefore",
|
|
42
|
+
"addColumnAfter",
|
|
43
|
+
"deleteColumn",
|
|
44
|
+
"deleteTable",
|
|
45
|
+
"toggleHeaderRow",
|
|
46
|
+
"toggleHeaderColumn",
|
|
47
|
+
"separator",
|
|
48
|
+
];
|
|
49
|
+
/**
|
|
50
|
+
* Clés des options du menu de cellule
|
|
51
|
+
*/
|
|
52
|
+
export const ATE_CELL_BUBBLE_MENU_KEYS = ["mergeCells", "splitCell"];
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRlLWJ1YmJsZS1tZW51Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci10aXB0YXAtZWRpdG9yL3NyYy9saWIvbW9kZWxzL2F0ZS1idWJibGUtbWVudS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHO0lBQ2xDLE1BQU07SUFDTixRQUFRO0lBQ1IsV0FBVztJQUNYLFFBQVE7SUFDUixNQUFNO0lBQ04sYUFBYTtJQUNiLFdBQVc7SUFDWCxXQUFXO0lBQ1gsaUJBQWlCO0lBQ2pCLFdBQVc7SUFDWCxNQUFNO0lBQ04sV0FBVztDQUNILENBQUM7QUFlWDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHO0lBQ3hDLGFBQWE7SUFDYixlQUFlO0lBQ2YsYUFBYTtJQUNiLGNBQWM7SUFDZCxhQUFhO0lBQ2IsZ0JBQWdCO0lBQ2hCLFdBQVc7SUFDWCxhQUFhO0lBQ2IsWUFBWTtJQUNaLGFBQWE7SUFDYixXQUFXO0NBQ0gsQ0FBQztBQU1YOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUc7SUFDeEMsY0FBYztJQUNkLGFBQWE7SUFDYixXQUFXO0lBQ1gsaUJBQWlCO0lBQ2pCLGdCQUFnQjtJQUNoQixjQUFjO0lBQ2QsYUFBYTtJQUNiLGlCQUFpQjtJQUNqQixvQkFBb0I7SUFDcEIsV0FBVztDQUNILENBQUM7QUFNWDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yIH0gZnJvbSBcIkB0aXB0YXAvY29yZVwiO1xuXG4vKipcbiAqIENsw6lzIGRlcyBvcHRpb25zIGR1IG1lbnUgYnVsbGUgZGUgdGV4dGVcbiAqL1xuZXhwb3J0IGNvbnN0IEFURV9CVUJCTEVfTUVOVV9LRVlTID0gW1xuICBcImJvbGRcIixcbiAgXCJpdGFsaWNcIixcbiAgXCJ1bmRlcmxpbmVcIixcbiAgXCJzdHJpa2VcIixcbiAgXCJjb2RlXCIsXG4gIFwic3VwZXJzY3JpcHRcIixcbiAgXCJzdWJzY3JpcHRcIixcbiAgXCJoaWdobGlnaHRcIixcbiAgXCJoaWdobGlnaHRQaWNrZXJcIixcbiAgXCJ0ZXh0Q29sb3JcIixcbiAgXCJsaW5rXCIsXG4gIFwic2VwYXJhdG9yXCIsXG5dIGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBBdGVCdWJibGVNZW51S2V5ID0gKHR5cGVvZiBBVEVfQlVCQkxFX01FTlVfS0VZUylbbnVtYmVyXTtcblxuZXhwb3J0IGludGVyZmFjZSBBdGVCdWJibGVNZW51Q29uZmlnIGV4dGVuZHMgUGFydGlhbDxSZWNvcmQ8QXRlQnViYmxlTWVudUtleSwgYm9vbGVhbj4+IHtcbiAgY3VzdG9tPzogQXRlQ3VzdG9tQnViYmxlTWVudUl0ZW1bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBdGVDdXN0b21CdWJibGVNZW51SXRlbSB7XG4gIGtleTogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xuICBpY29uOiBzdHJpbmc7XG4gIGNvbW1hbmQ6IChlZGl0b3I6IEVkaXRvcikgPT4gdm9pZCB8IFByb21pc2U8dm9pZD47XG59XG5cbi8qKlxuICogQ2zDqXMgZGVzIG9wdGlvbnMgZHUgbWVudSBidWxsZSBkJ2ltYWdlXG4gKi9cbmV4cG9ydCBjb25zdCBBVEVfSU1BR0VfQlVCQkxFX01FTlVfS0VZUyA9IFtcbiAgXCJjaGFuZ2VJbWFnZVwiLFxuICBcImRvd25sb2FkSW1hZ2VcIixcbiAgXCJyZXNpemVTbWFsbFwiLFxuICBcInJlc2l6ZU1lZGl1bVwiLFxuICBcInJlc2l6ZUxhcmdlXCIsXG4gIFwicmVzaXplT3JpZ2luYWxcIixcbiAgXCJhbGlnbkxlZnRcIixcbiAgXCJhbGlnbkNlbnRlclwiLFxuICBcImFsaWduUmlnaHRcIixcbiAgXCJkZWxldGVJbWFnZVwiLFxuICBcInNlcGFyYXRvclwiLFxuXSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgQXRlSW1hZ2VCdWJibGVNZW51S2V5ID0gKHR5cGVvZiBBVEVfSU1BR0VfQlVCQkxFX01FTlVfS0VZUylbbnVtYmVyXTtcblxuZXhwb3J0IHR5cGUgQXRlSW1hZ2VCdWJibGVNZW51Q29uZmlnID0gUGFydGlhbDxSZWNvcmQ8QXRlSW1hZ2VCdWJibGVNZW51S2V5LCBib29sZWFuPj47XG5cbi8qKlxuICogQ2zDqXMgZGVzIG9wdGlvbnMgZHUgbWVudSBkZSB0YWJsZVxuICovXG5leHBvcnQgY29uc3QgQVRFX1RBQkxFX0JVQkJMRV9NRU5VX0tFWVMgPSBbXG4gIFwiYWRkUm93QmVmb3JlXCIsXG4gIFwiYWRkUm93QWZ0ZXJcIixcbiAgXCJkZWxldGVSb3dcIixcbiAgXCJhZGRDb2x1bW5CZWZvcmVcIixcbiAgXCJhZGRDb2x1bW5BZnRlclwiLFxuICBcImRlbGV0ZUNvbHVtblwiLFxuICBcImRlbGV0ZVRhYmxlXCIsXG4gIFwidG9nZ2xlSGVhZGVyUm93XCIsXG4gIFwidG9nZ2xlSGVhZGVyQ29sdW1uXCIsXG4gIFwic2VwYXJhdG9yXCIsXG5dIGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBBdGVUYWJsZUJ1YmJsZU1lbnVLZXkgPSAodHlwZW9mIEFURV9UQUJMRV9CVUJCTEVfTUVOVV9LRVlTKVtudW1iZXJdO1xuXG5leHBvcnQgdHlwZSBBdGVUYWJsZUJ1YmJsZU1lbnVDb25maWcgPSBQYXJ0aWFsPFJlY29yZDxBdGVUYWJsZUJ1YmJsZU1lbnVLZXksIGJvb2xlYW4+PjtcblxuLyoqXG4gKiBDbMOpcyBkZXMgb3B0aW9ucyBkdSBtZW51IGRlIGNlbGx1bGVcbiAqL1xuZXhwb3J0IGNvbnN0IEFURV9DRUxMX0JVQkJMRV9NRU5VX0tFWVMgPSBbXCJtZXJnZUNlbGxzXCIsIFwic3BsaXRDZWxsXCJdIGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBBdGVDZWxsQnViYmxlTWVudUtleSA9ICh0eXBlb2YgQVRFX0NFTExfQlVCQkxFX01FTlVfS0VZUylbbnVtYmVyXTtcblxuZXhwb3J0IHR5cGUgQXRlQ2VsbEJ1YmJsZU1lbnVDb25maWcgPSBQYXJ0aWFsPFJlY29yZDxBdGVDZWxsQnViYmxlTWVudUtleSwgYm9vbGVhbj4+O1xuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRlLWVkaXRvci1jb25maWcubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRpcHRhcC1lZGl0b3Ivc3JjL2xpYi9tb2RlbHMvYXRlLWVkaXRvci1jb25maWcubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFR5cGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQXRlVG9vbGJhckNvbmZpZyB9IGZyb20gXCIuL2F0ZS10b29sYmFyLm1vZGVsXCI7XG5pbXBvcnQgeyBSZWdpc3RlckFuZ3VsYXJDb21wb25lbnRPcHRpb25zIH0gZnJvbSBcIi4uL25vZGUtdmlldy9hdGUtbm9kZS12aWV3Lm1vZGVsc1wiO1xuaW1wb3J0IHtcbiAgQXRlQnViYmxlTWVudUNvbmZpZyxcbiAgQXRlSW1hZ2VCdWJibGVNZW51Q29uZmlnLFxuICBBdGVUYWJsZUJ1YmJsZU1lbnVDb25maWcsXG4gIEF0ZUNlbGxCdWJibGVNZW51Q29uZmlnLFxufSBmcm9tIFwiLi9hdGUtYnViYmxlLW1lbnUubW9kZWxcIjtcbmltcG9ydCB7IEF0ZVNsYXNoQ29tbWFuZHNDb25maWcgfSBmcm9tIFwiLi4vY29uZmlnL2F0ZS1zbGFzaC1jb21tYW5kcy5jb25maWdcIjtcbmltcG9ydCB7IEF0ZUltYWdlVXBsb2FkQ29uZmlnIH0gZnJvbSBcIi4vYXRlLWltYWdlLm1vZGVsXCI7XG5pbXBvcnQgeyBFeHRlbnNpb24sIE5vZGUsIE1hcmssIEVkaXRvck9wdGlvbnMgfSBmcm9tIFwiQHRpcHRhcC9jb3JlXCI7XG5pbXBvcnQgeyBBdGVTdGF0ZUNhbGN1bGF0b3IgfSBmcm9tIFwiLi9hdGUtZWRpdG9yLXN0YXRlLm1vZGVsXCI7XG5pbXBvcnQgeyBBdGVDdXN0b21TbGFzaENvbW1hbmRzIH0gZnJvbSBcIi4vYXRlLXNsYXNoLWNvbW1hbmQubW9kZWxcIjtcblxuLyoqXG4gKiBUeXBlIHJlcHJlc2VudGluZyBhbiBBbmd1bGFyIGNvbXBvbmVudCB0aGF0IGNhbiBiZSByZWdpc3RlcmVkIGFzIGFuIGVkaXRvciBub2RlLlxuICogQ2FuIGJlIGEgZGlyZWN0IENvbXBvbmVudCBjbGFzcyBvciBhIGZ1bGwgcmVnaXN0cmF0aW9uIG9wdGlvbnMgb2JqZWN0LlxuICovXG5leHBvcnQgdHlwZSBBdGVBbmd1bGFyTm9kZSA9IFR5cGU8dW5rbm93bj4gfCBSZWdpc3RlckFuZ3VsYXJDb21wb25lbnRPcHRpb25zPHVua25vd24+O1xuXG4vKiogUG9zc2libGUgZGlzcGxheSBtb2RlcyBmb3IgYmxvY2sgbGV2ZWwgY29udHJvbHMgKi9cbmV4cG9ydCB0eXBlIEF0ZUJsb2NrQ29udHJvbHNNb2RlID0gXCJpbnNpZGVcIiB8IFwib3V0c2lkZVwiIHwgXCJub25lXCI7XG5cbi8qKiBQb3NzaWJsZSB2YWx1ZXMgZm9yIGVkaXRvciBhdXRvZm9jdXMgKi9cbmV4cG9ydCB0eXBlIEF0ZUF1dG9mb2N1c01vZGUgPSBcInN0YXJ0XCIgfCBcImVuZFwiIHwgXCJhbGxcIiB8IGJvb2xlYW4gfCBudW1iZXI7XG5cbi8qKlxuICogR2xvYmFsIGNvbmZpZ3VyYXRpb24gaW50ZXJmYWNlIGZvciBBbmd1bGFyIFRpcHRhcCBFZGl0b3IuXG4gKiBVc2VzIGEgZmxhdCBzdHJ1Y3R1cmUgZm9yIGNvbW1vbiBzZXR0aW5ncyBhbmQgb2JqZWN0cyBmb3IgY29tcGxleCBjb25maWd1cmF0aW9ucy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBdGVFZGl0b3JDb25maWcge1xuICAvLyAtLS0gMS4gQ29yZSBTZXR0aW5ncyAoRmlyc3QtY2xhc3MgY2l0aXplbnMpIC0tLVxuXG4gIC8qKiBFZGl0b3IgdGhlbWU6IGxpZ2h0LCBkYXJrLCBvciBzeXN0ZW0gYXV0by1kZXRlY3Rpb24gKi9cbiAgdGhlbWU/OiBcImxpZ2h0XCIgfCBcImRhcmtcIiB8IFwiYXV0b1wiO1xuICAvKiogRGlzcGxheSBtb2RlOiBjbGFzc2ljIG9yIHNlYW1sZXNzIChubyBib3JkZXJzL2JhY2tncm91bmQpICovXG4gIG1vZGU/OiBcImNsYXNzaWNcIiB8IFwic2VhbWxlc3NcIjtcbiAgLyoqIEVkaXRvciBoZWlnaHQgKGUuZy4sICczMDBweCcsIDMwMCwgJ2F1dG8nKSAqL1xuICBoZWlnaHQ/OiBzdHJpbmcgfCBudW1iZXI7XG4gIC8qKiBGb2N1cyBwb3NpdGlvbiBvbiBpbml0aWFsaXphdGlvbiAqL1xuICBhdXRvZm9jdXM/OiBBdGVBdXRvZm9jdXNNb2RlO1xuICAvKiogUGxhY2Vob2xkZXIgdGV4dCBkaXNwbGF5ZWQgd2hlbiB0aGUgZWRpdG9yIGlzIGVtcHR5ICovXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAvKiogSW5pdGlhbCBlZGl0aW5nIHN0YXRlIChpZiBmYWxzZSwgdGhlIGVkaXRvciBpcyByZWFkLW9ubHkpICovXG4gIGVkaXRhYmxlPzogYm9vbGVhbjtcbiAgLyoqIE1pbmltdW0gZWRpdG9yIGhlaWdodCAoZS5nLiwgJzIwMHB4JywgMjAwKSAqL1xuICBtaW5IZWlnaHQ/OiBzdHJpbmcgfCBudW1iZXI7XG4gIC8qKiBNYXhpbXVtIGVkaXRvciBoZWlnaHQgKGUuZy4sICc1MDBweCcsIDUwMCkgKi9cbiAgbWF4SGVpZ2h0Pzogc3RyaW5nIHwgbnVtYmVyO1xuICAvKiogSWYgdHJ1ZSwgdGhlIGVkaXRvciB0YWtlcyAxMDAlIG9mIHRoZSBwYXJlbnQgY29udGFpbmVyJ3MgaGVpZ2h0ICovXG4gIGZpbGxDb250YWluZXI/OiBib29sZWFuO1xuICAvKiogRGlzYWJsZWQgc3RhdGUgKG9mdGVuIHVzZWQgd2l0aCBmb3JtcykgKi9cbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICAvKiogRWRpdG9yIGxvY2FsZSAob3ZlcnJpZGVzIHRoZSBnbG9iYWwgaTE4biBzZXJ2aWNlKSAqL1xuICBsb2NhbGU/OiBzdHJpbmc7XG4gIC8qKiBFbmFibGUgYnJvd3NlciBzcGVsbGNoZWNrICovXG4gIHNwZWxsY2hlY2s/OiBib29sZWFuO1xuICAvKiogRW5hYmxlIHNtYXJ0IGNsZWFudXAgd2hlbiBwYXN0aW5nIGZyb20gT2ZmaWNlL1dvcmQgKi9cbiAgZW5hYmxlT2ZmaWNlUGFzdGU/OiBib29sZWFuO1xuXG4gIC8vIC0tLSAyLiBEaXNwbGF5IE9wdGlvbnMgKFNpbXBsZSBib29sZWFucykgLS0tXG5cbiAgLyoqIFNob3cgb3IgaGlkZSB0aGUgdG9vbGJhciAqL1xuICBzaG93VG9vbGJhcj86IGJvb2xlYW47XG4gIC8qKiBTaG93IG9yIGhpZGUgdGhlIGZvb3RlciAoY291bnRlcnMgYXJlYSkgKi9cbiAgc2hvd0Zvb3Rlcj86IGJvb2xlYW47XG4gIC8qKiBTaG93IG9yIGhpZGUgdGhlIGNoYXJhY3RlciBjb3VudCAqL1xuICBzaG93Q2hhcmFjdGVyQ291bnQ/OiBib29sZWFuO1xuICAvKiogU2hvdyBvciBoaWRlIHRoZSB3b3JkIGNvdW50ICovXG4gIHNob3dXb3JkQ291bnQ/OiBib29sZWFuO1xuICAvKiogU2hvdyBvciBoaWRlIHRoZSByZWFkLW9ubHkvZWRpdCB0b2dnbGUgYnV0dG9uICovXG4gIHNob3dFZGl0VG9nZ2xlPzogYm9vbGVhbjtcbiAgLyoqIFNob3cgb3IgaGlkZSB0aGUgdGV4dCBjb250ZXh0IG1lbnUgKi9cbiAgc2hvd0J1YmJsZU1lbnU/OiBib29sZWFuO1xuICAvKiogU2hvdyBvciBoaWRlIHRoZSBpbWFnZSBjb250ZXh0IG1lbnUgKi9cbiAgc2hvd0ltYWdlQnViYmxlTWVudT86IGJvb2xlYW47XG4gIC8qKiBTaG93IG9yIGhpZGUgdGhlIHRhYmxlIG1lbnUgKi9cbiAgc2hvd1RhYmxlTWVudT86IGJvb2xlYW47XG4gIC8qKiBTaG93IG9yIGhpZGUgdGhlIGNlbGwgbWVudSAqL1xuICBzaG93Q2VsbE1lbnU/OiBib29sZWFuO1xuICAvKiogV2hldGhlciB0byBhbGxvdyBpbWFnZSBkb3dubG9hZGluZyBmcm9tIGJ1YmJsZSBtZW51ICovXG4gIGRvd25sb2FkSW1hZ2U/OiBib29sZWFuO1xuICAvKiogRW5hYmxlIG9yIGRpc2FibGUgc2xhc2ggY29tbWFuZHMgKC8pICovXG4gIGVuYWJsZVNsYXNoQ29tbWFuZHM/OiBib29sZWFuO1xuICAvKiogTWF4aW11bSBudW1iZXIgb2YgY2hhcmFjdGVycyBhbGxvd2VkICovXG4gIG1heENoYXJhY3RlcnM/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBCbG9jayBsZXZlbCBjb250cm9scyAocGx1cyBidXR0b24gYW5kIGRyYWcgaGFuZGxlKSBkaXNwbGF5IG1vZGUuXG4gICAqIC0gJ2luc2lkZSc6IEVsZW1lbnRzIGFyZSBwbGFjZWQgaW5zaWRlIHRoZSBlZGl0b3IgKHJlc2VydmVzIHNwYWNlIHZpYSBwYWRkaW5nKS5cbiAgICogLSAnb3V0c2lkZSc6IEVsZW1lbnRzIGZsb2F0IG91dHNpZGUgdGhlIGVkaXRvciBib3VuZGFyeSAobm8gbGF5b3V0IHNoaWZ0KS5cbiAgICogLSAnbm9uZSc6IERpc2FibGVkIChub3QgZGlzcGxheWVkKS5cbiAgICovXG4gIGJsb2NrQ29udHJvbHM/OiBBdGVCbG9ja0NvbnRyb2xzTW9kZTtcblxuICAvLyAtLS0gMy4gQ29tcGxleCBDb25maWd1cmF0aW9ucyAoQ29uZmlnIE9iamVjdHMpIC0tLVxuXG4gIC8qKiBEZXRhaWxlZCB0b29sYmFyIGNvbmZpZ3VyYXRpb24gKGl0ZW1zLCBncm91cHMpICovXG4gIHRvb2xiYXI/OiBBdGVUb29sYmFyQ29uZmlnO1xuICAvKiogVGV4dCBjb250ZXh0IG1lbnUgY29uZmlndXJhdGlvbiAqL1xuICBidWJibGVNZW51PzogQXRlQnViYmxlTWVudUNvbmZpZztcbiAgLyoqIEltYWdlIGNvbnRleHQgbWVudSBjb25maWd1cmF0aW9uICovXG4gIGltYWdlQnViYmxlTWVudT86IEF0ZUltYWdlQnViYmxlTWVudUNvbmZpZztcbiAgLyoqIFRhYmxlIGNvbnRleHQgbWVudSBjb25maWd1cmF0aW9uICovXG4gIHRhYmxlQnViYmxlTWVudT86IEF0ZVRhYmxlQnViYmxlTWVudUNvbmZpZztcbiAgLyoqIENlbGwgY29udGV4dCBtZW51IGNvbmZpZ3VyYXRpb24gKi9cbiAgY2VsbEJ1YmJsZU1lbnU/OiBBdGVDZWxsQnViYmxlTWVudUNvbmZpZztcbiAgLyoqIFNsYXNoIGNvbW1hbmRzIGNvbmZpZ3VyYXRpb24gKC8pICovXG4gIHNsYXNoQ29tbWFuZHM/OiBBdGVTbGFzaENvbW1hbmRzQ29uZmlnO1xuICAvKiogSWYgdHJ1ZSwgc2hvd3MgdGhlIGZsb2F0aW5nIHRvb2xiYXIgb24gZm9jdXMgKi9cbiAgZmxvYXRpbmdUb29sYmFyPzogYm9vbGVhbjtcblxuICAvLyAtLS0gNC4gRXh0ZXJuYWwgTW9kdWxlcyAtLS1cblxuICAvKiogVGVjaG5pY2FsIGNvbmZpZ3VyYXRpb24gZm9yIGltYWdlIHVwbG9hZHMgKi9cbiAgaW1hZ2VVcGxvYWQ/OiBBdGVJbWFnZVVwbG9hZENvbmZpZztcblxuICAvKipcbiAgICogTGlzdCBvZiBBbmd1bGFyIGNvbXBvbmVudHMgdG8gYXV0b21hdGljYWxseSByZWdpc3RlciBhcyBpbnRlcmFjdGl2ZSBlZGl0b3Igbm9kZXMuXG4gICAqIFRoaXMgaXMgdGhlIHByZWZlcnJlZCB3YXkgdG8gZXh0ZW5kIHRoZSBlZGl0b3Igd2l0aCBjdXN0b20gQW5ndWxhciBsb2dpYy5cbiAgICovXG4gIGFuZ3VsYXJOb2Rlcz86IEF0ZUFuZ3VsYXJOb2RlW107XG5cbiAgLy8gLS0tIDUuIExvdy1sZXZlbCAmIFJlYWN0aXZlIEV4dGVuc2lvbnMgLS0tXG5cbiAgLyoqIFN0YW5kYXJkIFRpcFRhcCBleHRlbnNpb25zIChOb2RlcywgTWFya3MsIG9yIFBsdWdpbnMpICovXG4gIHRpcHRhcEV4dGVuc2lvbnM/OiAoRXh0ZW5zaW9uIHwgTm9kZSB8IE1hcmspW107XG4gIC8qKiBSYXcgVGlwVGFwIGVkaXRvciBvcHRpb25zIChlLmcuLCBlbmFibGVJbnB1dFJ1bGVzLCBpbmplY3RDU1MsIGV0Yy4pICovXG4gIHRpcHRhcE9wdGlvbnM/OiBQYXJ0aWFsPEVkaXRvck9wdGlvbnM+O1xuICAvKiogUmVhY3RpdmUgc3RhdGUgY2FsY3VsYXRvcnMgdG8gZXh0ZW5kIHRoZSBlZGl0b3IncyBsaXZlIHN0YXRlICovXG4gIHN0YXRlQ2FsY3VsYXRvcnM/OiBBdGVTdGF0ZUNhbGN1bGF0b3JbXTtcbiAgLyoqXG4gICAqIEZ1bGx5IGN1c3RvbSBzbGFzaCBjb21tYW5kcyBjb25maWd1cmF0aW9uLlxuICAgKiBXaGVuIHByb3ZpZGVkLCBpdCByZXBsYWNlcyB0aGUgZGVmYXVsdCBncm91cHMgYmFzZWQgb24gdG9vbGJhciB0b2dnbGVzLlxuICAgKi9cbiAgY3VzdG9tU2xhc2hDb21tYW5kcz86IEF0ZUN1c3RvbVNsYXNoQ29tbWFuZHM7XG59XG4iXX0=
|